[go: up one dir, main page]

TW201013400A - Memory control system, data recovery method and date reading method thereof - Google Patents

Memory control system, data recovery method and date reading method thereof Download PDF

Info

Publication number
TW201013400A
TW201013400A TW97136381A TW97136381A TW201013400A TW 201013400 A TW201013400 A TW 201013400A TW 97136381 A TW97136381 A TW 97136381A TW 97136381 A TW97136381 A TW 97136381A TW 201013400 A TW201013400 A TW 201013400A
Authority
TW
Taiwan
Prior art keywords
data
memory
virtual
address
disk
Prior art date
Application number
TW97136381A
Other languages
Chinese (zh)
Inventor
Wu-Yuan Lin
Original Assignee
Promise Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Promise Technology Inc filed Critical Promise Technology Inc
Priority to TW97136381A priority Critical patent/TW201013400A/en
Publication of TW201013400A publication Critical patent/TW201013400A/en

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

The present invention discloses a memory control system, data recovery method and date reading method thereof, whose feature is to define a memory as a plurality of virtual disks, use the said virtual disks to form a disk array, and to store data into these virtual disks in array form. When an error correction procedure is proceeded to the data stored in the memory by error correction code (ECC) but fails, data saved in those virtual disks can be used to recover and correct the failed data. Thereby, the correctness of memory data saving is increased by the combined complementary properties between the ECC correction procedure and disk array.

Description

201013400 九、發明說明: 【發明所屬之技術領域】 本發明是有關於一種記憶體控制器,特別是有關於一種結合 錯誤更正碼以及磁碟陣列的記憶體控制系統、其資料回復方法及 其資料讀取方法 【先前技術】 目前’快閃記憶、體(Flash memory)已是十分普遍的隨身資料儲 存裝置。然而,由於快閃記憶體中的細胞(cdl)在進行存取時,可 能產生祕而影響侧同—控繼上的隔壁細胞,導致隔壁細 所儲的資料錯誤,使錯誤位元發生。 -— ^ 了確保儲存於快閃記賴料的正確性,在習知技藝 中’每-貧料頁(page)係分成資料錯存區以及備用㊣: 造杆貔m ί 碼(_ G。⑽峋code) &‘產生一谷錯貧料,容錯資料便儲存在備用區中。杏讀 參 =^里!^成長,但是受制於物理極限所產生的負面影響也 誤位元發生之致使電子間之干擾加劇,使得上述錯 能賴W機ί场&,而需要更多位驗的錯誤更正碼才 是會以制區裡的容錯資料來確認資料儲存_的資料 =導體製程的進步,快閃記憶體之晶片尺寸不斷縮小且 能確保資料的正確性。 〔二八/丨一以粗砍尺止碼才 务生的錯誤位元數目 料的資料量越大日* ·“、更碼的位讀越多,產生的容錯資 改π.. 且亦需要較大的運算量。此外,若是資料頁中 超過所使用的錯誤更正碼能更正的最大數 201013400 -目’航資料頁料便無法回復 。因此,如何更有效地確保 . 齡資料的正確性是—向亟待解決的問題。 >此外’磁碟陣列是目前常見的資料備份技術,但是磁碟陣列 热法主動偵測錯誤位元,而且對於均句分散(uniform)錯誤位元, 磁碟陣列的資料回復效果不佳。 【發明内容】201013400 IX. Description of the Invention: [Technical Field] The present invention relates to a memory controller, and more particularly to a memory control system incorporating a error correction code and a disk array, a data recovery method thereof, and the like Reading method [Prior technology] At present, 'flash memory, flash memory is a very popular portable data storage device. However, since the cells (cdl) in the flash memory are accessed, it may cause a secret cell that affects the side-by-side control, resulting in incorrect data stored in the next wall, causing the wrong bit to occur. -— ^ To ensure the correctness of the information stored in the Flash, in the traditional technique, the 'every-poor page is divided into data error areas and alternate positive: 造m ί code (_ G. (10)峋code) & 'Generate a poor material, fault-tolerant data is stored in the spare area. Apricot reading ginseng = ^ 里! ^Growth, but the negative impact caused by the physical limit is also caused by the misplacement of the element, causing the interference between the electrons to be intensified, making the above-mentioned faults depend on the W machine & The error correction code of the test will confirm the data storage with the fault-tolerant data in the system. _ The data = the progress of the conductor process, the wafer size of the flash memory is continuously reduced and the data is correct. [28/丨1 The number of errors in the number of errors in the rough-cutting code is greater. *·", the more bits read, the more fault-tolerant resources are changed π.. and also need In addition, if the data page exceeds the maximum number of error correction codes used, the number of corrections can not be recovered. Therefore, how to ensure the validity of the age data is more effective. - The problem to be solved. > In addition, the disk array is a common data backup technology, but the disk array thermal method actively detects the error bit, and for the uniform sentence error bit, the disk array The data recovery effect is not good. [Summary of the Invention]

有鑑於上述習知技藝之問題,本發明之—目的就是在提供一 /隐體控m其資料贿方法及其資_取方法,以解決 =意體内因錯綠元過於財導致錯誤更正碼也無法回復資料的 於上述4知技藝之問題,本發明之—目的就是在提供一 體控㈣統、其f料_方法及其資_取方法,以結合 ^»。、正碼以及磁碟陣列的互補性,提高記憶體儲存資料的正確 制一!=日,目的,提出一種記憶體控制系統,供-主機控 # °⑽,子取’該記憶體控制系統包含-主機介面單元、一 弟成=轉澤單凡、-第二位址轉譯單元、-記憶體介面單元、 單元及—錯誤更正編解碼單心主機介面單元係 電性連接戎主機作為資料傳輸 〇 '、 的-邏?位址映射成-虛擬磁區== 位碟的該虛擬磁區位址。第二 奸雜入止映射成該記憶體之該實體位址。 5己隐體”面早元餘據從該第二位址轉譯單元接收的 址 201013400 ^亥記憶體存取資料。猶_控制單元根據從該第—位 單元接收的該虛擬祕紐’㈣觀健介面單如陣° 儲存資料至該些虛擬磁碟。錯誤更正編解碼單補骑該姉^ 儲存的資料進行錯誤更正。當資料錯誤更正失敗,磁碟陣列^ 早7L使用該些虛擬磁碟儲存之資料以回復: 敗的資料。 研文止夭 ΟIn view of the above-mentioned problems of the prior art, the object of the present invention is to provide a/hidden body control method for its bribe and its resource acquisition method, so as to solve the problem that the error correction error code is also caused by the error in the green body. The problem of the above 4 knowledge techniques cannot be replied to, and the object of the present invention is to provide an integrated control system, a method, and a method for taking the same. , positive code and the complementarity of the disk array, improve the correct memory storage data! = day, purpose, propose a memory control system, for the host control # ° (10), sub-take 'the memory control system contains - Host interface unit, one brother into = 泽泽单凡, - second address translation unit, - memory interface unit, unit and - error correction codec single-core host interface unit is electrically connected to the host as data transmission The '--logical address is mapped to - virtual magnetic area == the virtual magnetic area address of the bit dish. The second trait is mapped to the physical address of the memory. 5 隐 隐 ” ” ” ” 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 The interface is stored as a virtual disk. Error correction is performed on the codec. The stored data is corrected for errors. When the data error is corrected, the disk array ^ is used 7L early. Save the information in response to: Lost information.

根據本發日月之目的’再提出—種倾回復方法,用於 體’該資料回復方法包含下列步驟。首先,將該記憶較義成^ 數個虛擬磁碟’並·該些虛擬磁碟構成—磁碟_,並以陣列 方式儲存資料至該些虛擬猶。接著,對該記舰儲存的資 行二錯誤更正碼(ECC)更正辩,當該ECC更正程序失敗, 用該些虛擬磁碟齡之資料卿復該錯誤更正失敗的資料。 根據本發明之目的,又提出一種龍讀取方法,祕—記憶 體丄此記憶體係被定義減數個虛擬磁碟,且該些虛擬磁碟係^ 成一磁碟_ ’且此記憶體_資料係以陣列方式分別儲存至該 些虛擬磁碟’該資料讀取方法包含下列步驟。# —主機向該記^ 體讀取-目標㈣時,判斷儲存該目標f_該虛擬磁碟是否^ 法回應。若鱗該目歸料職虛擬猶無法回應,使用儲存ς f他虛擬磁碟巾肋重建該目標資料所需之-冗餘資料及其相關 ^幾斗來產生重建的目標資料,並傳送該重建的目標資料至該主 【實施方式】 3月芩閱第1圖,其係為本發明之記憶體控制系統之方塊圖。 201013400 - 圖中,§己憶體控制糸統1用以供一主機19控制一記憶體π之存 . 取,包含一主機介面單元11、一第一位址轉譯單元12、一第二位 址轉譯單元13、一記憶體介面單元Η、一磁碟陣列控制單元15 及一錯誤更正編解碼單元16。其中,記憶體18之複數個實體位址 181被定義成複數個虛擬磁碟171〜173的虛擬磁區位址174。記憶 體18可為一非揮發性記憶體,例如快閃記憶體。 主機介面單兀11係電性連接主機19作為資料傳輸之介面, ,收,自主機丨9的一指令190,例如讀取指令或寫入指令。主機 介面單元π可為一並列進階技術附加(ΡΑΤΑ)介 一 術附加峰)介面、SAS介面、咖介面德C介面 等等。 當主機介面單元11接收到指令19G後,便將指令19()欲存取 的資料的邏輯位址191傳送至第—位址轉譯單元12,由第一位址 轉"睪單元12將邏輯位址191映射成-虛擬磁區位址174。若指令 為寫入私$,則主機介面單元11將指令19〇中欲寫入記憶 的負料192分別傳送至錯誤更正編解碼單元16及磁碟陣列 _ 控制單元15。 次、'、錯誤更正編解碼單元16對資料192進行編碼,以產生一對應 貝料192的錯誤更正碼161,並傳送至記憶體介面單元。而磁 ,陣歹J控制單元15接收到資料192及虛擬磁區位址174後,根據 m產生一對應資料192的冗餘資料151,傳送至記 二ji面單το 14。在此’產生錯誤更正碼以及產生冗餘資料的相 奇技術係為此領域之工作者所熟知,故在此不再贅述。 第位址轉澤單元13將虛擬磁區位址174映射成記憶體 201013400 ^體著,__控鮮元15㈣纖體介面單 /•MM車,式將貪料192、錯誤更正碼161及冗餘資料151儲 二二tf 171〜173 ’而記憶體介面單元14係根據實體位址181 -磁:_丨nl寫人動作。其中’磁碟陣顺制單元15係設定為According to the purpose of the present day and the month, the method of returning to the body, the method for responding to the data includes the following steps. First, the memory is compared to a plurality of virtual disks ’ and the virtual disks are formed into a disk _, and the data is stored in an array to the virtual disks. Next, the asset error correction code (ECC) stored in the ship is corrected. When the ECC correction procedure fails, the virtual disk age information is used to correct the error and correct the failed data. According to the purpose of the present invention, a dragon reading method is further proposed. The memory-memory system is defined as a plurality of virtual disks, and the virtual disks are formed into a disk_' and the memory_data The data is stored in the array to the virtual disks separately. The data reading method includes the following steps. #—When the host reads the target (4) to the record, it determines whether the target f_ is stored in the virtual disk. If the scale is returned to the virtual reality, it is still unable to respond, using the storage ς f his virtual disk towel rib to reconstruct the target data - redundant data and related information to generate the reconstructed target data, and transmit the reconstruction Target data to the main embodiment [Embodiment] FIG. 1 is a block diagram of the memory control system of the present invention. 201013400 - In the figure, the memory control system 1 is used for a host 19 to control the storage of a memory π. The acquisition includes a host interface unit 11, a first address translation unit 12, and a second address. The translation unit 13, a memory interface unit, a disk array control unit 15, and an error correction codec unit 16. The plurality of physical addresses 181 of the memory 18 are defined as virtual domain addresses 174 of the plurality of virtual disks 171 173 173. Memory 18 can be a non-volatile memory such as a flash memory. The host interface unit 11 is electrically connected to the host 19 as a data transmission interface, and receives an instruction 190 from the host unit 9, such as a read command or a write command. The host interface unit π can be a parallel advanced technology addition (ΡΑΤΑ), an additional peak) interface, a SAS interface, a coffee interface, a C interface, and the like. After the host interface unit 11 receives the instruction 19G, the logical address 191 of the data to be accessed by the instruction 19() is transmitted to the first address translation unit 12, and the logic is transferred from the first address to the unit 12 Address 191 is mapped to a virtual sector address 174. If the instruction is to write private $, the host interface unit 11 transmits the negative material 192 of the instruction 19 to be written to the memory to the error correction codec unit 16 and the disk array_control unit 15, respectively. The error correction codec unit 16 encodes the data 192 to generate an error correction code 161 corresponding to the material 192 and transmits it to the memory interface unit. After receiving the data 192 and the virtual magnetic zone address 174, the magnetic control unit 15 generates a redundant data 151 corresponding to the data 192 according to the m, and transmits it to the memorandum τ. The techniques for generating error correction codes and generating redundant data are well known to those skilled in the art and will not be described here. The first address transfer unit 13 maps the virtual magnetic domain address 174 into a memory 201013400 ^ body, __ control fresh element 15 (four) slimming interface single / MM car, the style will be 192, error correction code 161 and redundancy The data 151 stores two or two tf 171~173' and the memory interface unit 14 is based on the physical address 181 - magnetic: _丨nl writes the action. Where the 'disk array unit 15 is set to

(t!〇 ^ 〇)^" ' 1 (RAID (RAID 4㈣ 磁碟陣列3 (RAID 3)模式、一磁碟陣列4 IS Γ: _陣列5 _ 5)模式或-磁物 參 i磁^使用不同模式則記憶體18會被定義成不同數目的虛 =碟^冗餘資料⑸也會有所獨,f在本發日_護範圍 ^例如,若磁碟陣列控制單元15設定為一 RAID !模式,則記 至少需定義^ 2個虛擬磁碟,而冗餘資料為資料192的備 =貝料;若磁碟陣列控制單元15設定為-RAID 5模式,則嫌 门18至少需定義出3個虛擬磁碟,而冗餘資 ^ 同位資料(parity)。 貝丁叶W的 若才曰令190為-讀取指令,則指令19〇中欲讀 f!分別由第-位址轉譯料12及第二位址轉譯單元ι^ =虛擬祕紐174及實黯址181。記㈣介面單元Μ係根 實體位址181從記憶體18讀取資料m及其對應的錯誤更正碼 ^,並傳送至錯誤更正編解碼單元16。由於有些記憶體,例如快 八心隐體’在存取時可能發生資料錯誤,因此,將資料敗傳送 2機19之刖,錯誤更正編解碼單元16會根據錯誤更正碼161 子貝料—m進行資料錯誤更正。若錯誤位元的數目在錯誤更正碼 的谷許範圍内,則錯誤更正編解碼單元16可更正資料脱, 再將正確的f料192透過主機介面單元u傳送至主機19。 若錯誤位元的數目超出錯誤更正碼161的容許範圍,表示錯 201013400 職Γ更正編解碼單元16輸出觸發訊號,以啟動磁 / 早70 15使用虛擬猶171〜173儲存之資料以回復 誤=敗賴192,_爾_192透 k主機;丨面早7〇 11傳送至主機19。(t!〇^ 〇)^" ' 1 (RAID (RAID 4) disk array 3 (RAID 3) mode, a disk array 4 IS Γ: _ array 5 _ 5) mode or - magnetic object i magnetic ^ When using different modes, the memory 18 will be defined as a different number of virtual = discs ^ redundant data (5) will also be unique, f in the current day _ protection range ^ for example, if the disk array control unit 15 is set to a RAID ! mode, then at least ^ 2 virtual disks need to be defined, and the redundant data is the data of the data 192; if the disk array control unit 15 is set to the -RAID 5 mode, the gate 18 needs to be defined at least 3 virtual disks, and redundant resources. (Parity). If the 190 is a read command, then the command 19〇 wants to read f! 12 and the second address translation unit ι^ = virtual secret 174 and real address 181. The (four) interface unit 根 root entity address 181 reads the data m from the memory 18 and its corresponding error correction code ^, and The error is sent to the error correction codec unit 16. Since some memory, such as the fast eight-hearted hidden body, may have a data error during access, the data is transmitted to the second machine 19刖, the error correction codec unit 16 corrects the data error according to the error correction code 161. If the number of error bits is within the range of the error correction code, the error correction codec unit 16 may correct the data. Then, the correct material 192 is transmitted to the host computer 19 through the host interface unit u. If the number of error bits exceeds the allowable range of the error correction code 161, the error 201013400 indicates that the codec unit 16 outputs a trigger signal to start. Magnetic / early 70 15 use virtual 191 ~ 173 stored information to reply to the error = 192, _ _ _ _ through k host; 早 face 7 〇 11 transmitted to the host 19.

Φ 恤/1嘀一位址轉譯單元12係根據—第一映射表來進行位址 射而』=址轉譯單元13係根據—第二映射表來進行位址映 笛。1=制系統1更包含—儲存單S以儲存第—映射表及 或者’第—映射表及第二映射表係儲存於記憶體18 ,w己憶體控制系、统1啟動’第一位址轉譯單元12及第二位址 轉譯單元13才分別從記憶體18讀取第一映射表及該第二映射表。 第二位址轉譯單元13可有多種實施方式來實現虛擬磁區位址 174與„己隐體18之實體位址⑻之間的映射。以快閃記憶體為例, 相同或不同的快閃記憶體晶片的f料頁咖的可映射到相同或不 同的虛擬磁碟。例如’將—快閃記憶體映射至L個虛擬磁碟 VDon ’ SX,Y表示第X個虛擬磁碟的第γ個區段(sect〇r),χ為〇 到L-1的整數;此快閃記憶體有Μ個區塊(bl〇ck),每一區塊有ν 個資料頁,Pl,J ’表示第1個區塊的第J個資料頁,I為〇到M_;1 的整數,而J為〇到Ν4的整數,則映射方式可如下所示:The Φ shirt/1 嘀 address translation unit 12 performs address mapping according to the first mapping table, and the address translation unit 13 performs address mapping according to the second mapping table. 1 = system 1 further includes - storage list S to store the first mapping table and or 'the first mapping table and the second mapping table are stored in the memory 18, w remembrance control system, system 1 start 'first place The address translation unit 12 and the second address translation unit 13 respectively read the first mapping table and the second mapping table from the memory 18. The second address translation unit 13 can have various implementations to implement mapping between the virtual magnetic domain address 174 and the physical address (8) of the hidden body 18. In the case of flash memory, for example, the same or different flash memories. The f-pages of the body wafer can be mapped to the same or different virtual disks. For example, 'map-flash memory is mapped to L virtual disks VDon 'SX, Y represents the γth of the Xth virtual disk Section (sect〇r), χ is an integer to L-1; this flash memory has one block (bl〇ck), each block has ν data pages, Pl, J ' indicates the first The Jth data page of a block, where I is an integer from M_;1, and J is an integer from 〇4 to 4, the mapping method can be as follows:

S χ,γS χ, γ

PrPr

Y + Y- 表一係表示快閃記憶體有3個區塊(即M=3),每一區塊有9 個貧料頁(即n=:9),此快閃記憶體係定義成3個虛擬磁碟 VD0〜VD2 ’即l=3。N/L係計算每一區塊可分配至每一虛擬磁碟 的資料頁數目。而[G]係取G的整數值。例如,若〇^Yg2,而 201013400 -,M==3 ’ 則[Y/[N/L]H),若 ,貝你陳]]=1,若 • y ~8則[丫/[^/1]]-2,表示在每一虛擬磁碟中,第〇〜2個區段 ^映射第G區塊的資料頁’而第3〜5個區段係映射第丨區塊的資 料頁,第6〜8個區段係映射第2區塊的資料頁。Y + Y- Table 1 indicates that the flash memory has 3 blocks (ie, M=3), and each block has 9 poor pages (ie, n=:9). This flash memory system is defined as 3 One virtual disk VD0~VD2' is l=3. N/L calculates the number of data pages that each block can allocate to each virtual disk. And [G] takes the integer value of G. For example, if 〇^Yg2, and 201013400 -, M==3 ' then [Y/[N/L]H), if, you are Chen]]=1, if • y ~8 then [丫/[^/ 1]]-2, indicating that in each virtual disk, the second to the second extents ^ map the data page of the Gth block' and the third to fifth extents map the data pages of the third block. The 6th to 8th sections map the data pages of the 2nd block.

Xx[N/L]係表示虛擬磁碟χ從哪一個資料頁開始映射,例如, 對虛擬磁碟〇而言,Xx[N/L]=〇,從每一區塊的第〇個資料頁開始 映射,對虛擬磁碟1而言,Xx[N/L]=3 ’從每一區塊的第3個資料 ❹頁=始映射;對虛擬磁碟2而言,Χχ[Ν/^=6,從每—區塊的第6 個資料頁開始映射。確認映射開始值後,再以Υ—[Υ/_]]χ[Ν/£] 係計算每—Υ值對應的映射偏移量(offset),因此γ==0、3、6時, 其映射偏移#為0 ; Y=1、4、7時,其映射偏移量為1 ;m、 8時’其映射偏移量為2。 以S0,2為例’ X=0 ’ Y=2,其映射第〇區塊的資料頁,映射開 始值為0 ’映射偏移量為2 ’故得出SG,2映射pQ,2。再以S24為例, Χ=2 ’ γ=4,其映射第1區塊的資料頁,映射開始值為6,映射偏 鲁 移量為1,故得出S2,4映射Ρι,7。再以為例,χ=ι,γ=8,其映 射第2區塊的資料頁’映射開始值為3,映射偏移量為2,故得出 映射 Ρ2,5。 γ〜表一 S〇,〇 --- S〇,l S〇,2 S〇,3 So, 4 S〇,5 S〇,6 S〇,7 S〇(8 VD0~~~~| Si,! Si,2 Sl,3 Si,4 _Sl^ Sl.7 s18 VD1 S2.1 S2.2 S2l3 S2.4 S2,5 ^2,6 S2.7 s2.8 VD2~~~~~ —- 映射 1'----- Ρ〇·1 Ρ〇‘2 Ρΐ,Ο Pu _ϋ〇_ P.1 P2.2 快ifs 記憶體 Ρ〇·4 Ρ〇.5 Pl,3 Ρΐ,4 _PlsJ 1*2.3 P2.4 P.S Ρ〇·7 Ρ〇·8 Ρΐ,6 Ρΐ,7 P2.7 P2.8Xx[N/L] indicates which data page the virtual disk is mapped from. For example, for a virtual disk, Xx[N/L]=〇, from the first data page of each block. Start mapping. For virtual disk 1, Xx[N/L]=3 'from the third data page of each block = start mapping; for virtual disk 2, Χχ[Ν/^= 6. Start mapping from the 6th data page of each block. After confirming the map start value, calculate the map offset (offset) corresponding to each Υ value by Υ—[Υ/_]]χ[Ν/£], so when γ==0, 3, 6, The mapping offset # is 0; when Y=1, 4, and 7, the mapping offset is 1; when m and 8 are, the mapping offset is 2. Taking S0, 2 as an example 'X=0' Y=2, which maps the data page of the third block, the mapping start value is 0' and the mapping offset is 2', so SG, 2 map pQ, 2 is obtained. Taking S24 as an example, Χ=2 ′ γ=4, which maps the data page of the first block, the mapping start value is 6, and the mapping partial shift amount is 1, so that S2,4 maps Ρι,7. As an example, χ=ι, γ=8, which maps the data page of the second block, the mapping start value is 3, and the mapping offset is 2, so the mapping Ρ2, 5 is obtained. γ~表一S〇,〇--- S〇,l S〇,2 S〇,3 So, 4 S〇,5 S〇,6 S〇,7 S〇(8 VD0~~~~| Si, ! Si,2 Sl,3 Si,4 _Sl^ Sl.7 s18 VD1 S2.1 S2.2 S2l3 S2.4 S2,5 ^2,6 S2.7 s2.8 VD2~~~~~ —- Map 1 '----- Ρ〇·1 Ρ〇'2 Ρΐ,Ο Pu _ϋ〇_ P.1 P2.2 fast ifs memory Ρ〇·4 Ρ〇.5 Pl,3 Ρΐ,4 _PlsJ 1*2.3 P2 .4 PS Ρ〇·7 Ρ〇·8 Ρΐ,6 Ρΐ,7 P2.7 P2.8

U 201013400 » . 依照同樣的原理’可將相同或不同的快閃記憶體晶片的資料 - 區塊映射到相同或不同的虛擬磁碟。表二係表示三個快閃記憶體 定義成3個虛擬磁碟,第一個快閃記憶體有6個區塊,另兩個快 閃記憶體有3個區塊,而每一區塊可映射成1〇〇個虛擬磁碟 VD0〜VD2的區段。其中’ Βχ,γ表示第X個快閃記憶體的第γ個 區塊。 表二 sector-0〜99 sector-100 〜199 sector-200〜299 sector-300〜399 VDO sector-Ο〜99 sector-100-199 Sector-200〜299 sector-300〜399 VDl sector-Ο 〜99 sector-100—199 Sector-200〜299 sector-300~399 VD2 映射 Β〇·〇 B〇3 — Bl Λ r> , Β〇ι -B〇.,_ B〇.4 •^1.0 Bl 1 -B2_i B2.2 快閃記 憶體 B〇.5 Bl,2 子外,其他魏方式尚包含以@ 鲁體晶片映射-虛擬磁碟,或是將上述三個映射實施方式混合:吏己用隐 元,體控㈣統1視需要更可包含—動態映射生成單 =自此些虛擬磁碟之其—出縣量超過 ,早 些虛擬磁碟。舉塊至此 P27、h 貝针頁(Pl,6、Pl,7、P, S、Pi 、 ’ ,8)么生知展,造成此些磁碟所禮出, ,6 磁碟陣觸容量降低了 ,碟陣列可有效執行 射以產生新的第二映射表,將損=動態映射生成單元重新映 如表四所示,重新映射後,損壞區、n散1其他虛擬磁碟, 又〜及〜重新映射到^及 12 201013400 , Sq,8 ’損壞區段Pl,7及卩2,7重新映射到Si,?及su,損壞區段p - P2,8重新映射到及心,8,如此可降低記憶體損壞部分^可=及 執行磁碟陣列的容量的影響。 77 ’。有效U 201013400 » . According to the same principle, the data blocks of the same or different flash memory chips can be mapped to the same or different virtual disks. Table 2 shows that three flash memories are defined as three virtual disks, the first flash memory has six blocks, and the other two flash memories have three blocks, and each block can be A section mapped into one virtual disk VD0 to VD2. Where ' Βχ, γ denotes the γth block of the Xth flash memory. Table 2 sector-0~99 sector-100 ~199 sector-200~299 sector-300~399 VDO sector-Ο~99 sector-100-199 Sector-200~299 sector-300~399 VDl sector-Ο ~99 sector -100—199 Sector-200~299 sector-300~399 VD2 mapping Β〇·〇B〇3 — Bl Λ r> , Β〇ι -B〇.,_ B〇.4 •^1.0 Bl 1 -B2_i B2 .2 flash memory B〇.5 Bl,2 sub-, other Wei methods still include @鲁体芯片 mapping-virtual disk, or mix the above three mapping implementations: 隐Use hidden elements, body Control (4) system 1 can be included as needed - dynamic mapping generation list = from this virtual disk - the amount of out of the county exceeds, earlier virtual disk. Lift the block to the P27, h shell page (Pl, 6, Pl, 7, P, S, Pi, ', 8), so that the disk is lit out, and the 6-disk touch capacity is reduced. The disc array can be effectively executed to generate a new second mapping table, and the loss=dynamic mapping generating unit is remapped as shown in Table 4. After remapping, the damaged area, n is scattered with other virtual disks, and ~ Remap to ^ and 12 201013400, Sq, 8 'damaged sections Pl, 7 and 卩 2, 7 remapped to Si, ? and su, damaged section p - P2, 8 remapped to and heart, 8, so The memory damage can be reduced and the effect of the capacity of the disk array can be performed. 77 ’. effective

201013400 ❹ 意,上述重新映射方式僅為舉例,並不 體損壞部分f付有效執行磁俩觸 ^ ’凡可降低記憶 . 里的_的重新映射方式 皆在本發明之保護範圍内 表五201013400 , , , , 上述 上述 上述 上述 上述 上述 上述 上述 上述 上述 上述 上述 上述 上述 上述 上述 上述 上述 上述 上述 上述 上述 上述 上述 上述 上述 上述 上述 上述 重新 重新 重新 上述 重新 重新 重新 重新 重新 重新 重新 重新 重新 重新 重新 重新 重新 重新

S〇,〇 S〇,l Si,〇 Su ^2,0 ---w__ ^2,1 S ,〇,2 2,2 S〇,3 S〇>4 S,,3 Si,4 S2,3 S2,4S〇,〇S〇, l Si,〇Su ^2,0 ---w__ ^2,1 S ,〇,2 2,2 S〇,3 S〇>4 S,,3 Si,4 S2, 3 S2,4

Pi,〇 Pu Pu」 Pl,3 Pm ΡιΓ p2;1 ^2,2 ρ2,ΓPi,〇 Pu Pu” Pl,3 Pm ΡιΓ p2;1 ^2,2 ρ2,Γ

其中,上述第一位址轉譯單元12、一一 一記憶體介科元14、—爾_部 ^解單元13、 碼單元映射生成單元較佳岐編解 單元執行相關程式的軟體方式 處理态或—微控制器。 馬 方塊圖"參Γ第2 ®,其係為本發明之記憶難㈣統之實施例之 鬼圖。在此實施例中,第丨圖所示的第—位 :位,元13、一磁碟陣列控制單元15或一錯=編解 面^細軟體=來實現。記憶體控儀統2包含—主機介 、—兄憶體介面單元14、—處理單元221及-儲存單元 。儲存單元222儲存一第一映射表23卜一 制程式25、—錯誤更正編解碼程式26、一:= 取柱式271及一位址轉譯程式272。 14 201013400 — 帛一映射表231係記錄主機19所提供資料的邏輯位址與虛擬 磁碟171〜173的虛擬磁區位址之間的映射關係,而第二映射表232 係記錄虛擬磁區位址與記憶體18的實體位址之間的映射關係,因 此,處理單το 221從儲存單元222讀取位址轉譯程式272、第一映 射表231及第二映射表232並執行,當處理單元功根據第一映 射表231執行位址轉譯程式272,可產生第一位址轉譯單元12的 功能,當處理單元221根據第二映射表232執行位址轉譯程式 2=2一’則可產生第一位址轉譯單元13的功能。第一映射表卻及 ❹第二映射表232亦可存於記憶體18,待記憶體控制系統2啟動, 處理單元22!再從記憶體18讀取第一映射表231及第二映射表 同樣地’處理單it 221分別從儲存單元222讀取磁碟陣列控 制程式25、錯誤更正編解碼程式%、_映射生絲式π,可 產生磁碟_控解元15、錯誤更正編解碼單元16及動態映射生 成單兀的魏。此些魏已在細段落刻過,在此不再贊述。The first address translation unit 12, the one-to-one memory media unit 14, the _ _ partial solution unit 13, the code unit mapping generation unit, and the arranging unit perform a software mode processing state of the related program or Microcontroller. The horse block diagram " reference to the second ®, which is the ghost diagram of the embodiment of the memory of the invention. In this embodiment, the first bit: bit, the element 13, the disk array control unit 15 or a wrong = editing surface software = is shown in the figure. The memory controller 2 includes a host device, a brother memory interface unit 14, a processing unit 221, and a storage unit. The storage unit 222 stores a first mapping table 23, a program 25, an error correction codec 26, a: = column 271 and an address translation program 272. 14 201013400 - The first mapping table 231 records the mapping relationship between the logical address of the data provided by the host 19 and the virtual magnetic domain address of the virtual disks 171 to 173, and the second mapping table 232 records the virtual magnetic domain address and The mapping relationship between the physical addresses of the memory 18, therefore, the processing unit τ 221 reads the address translation program 272, the first mapping table 231, and the second mapping table 232 from the storage unit 222 and executes, when the processing unit works according to The first mapping table 231 performs the address translation program 272 to generate the function of the first address translation unit 12. When the processing unit 221 performs the address translation program 2=2' in accordance with the second mapping table 232, the first bit can be generated. The function of the address translation unit 13. The first mapping table and the second mapping table 232 may also be stored in the memory 18, and after the memory control system 2 is activated, the processing unit 22! reads the first mapping table 231 and the second mapping table from the memory 18 again. The processing unit 221 reads the disk array control program 25, the error correction codec program %, the _ mapping raw silk type π, and the disk_control solution element 15 and the error correction codec unit 16 are respectively read from the storage unit 222. Dynamic mapping generates a single Wei. These Weis have been engraved in the paragraphs and are not mentioned here.

圖Φ請3圖,錄示本發明之資料回復方法之步驟流程圖。 圖中,此_貝料回復方法用於—記憶體,包含下列步驟。在步驟31, 定義成複數魅擬剌,修,將城_實體位址 刀成後數個群、、且’則每—群組可視為一虛擬磁碟。在步驟幻,使 =此些虛獅碟構成-,並_财式儲存資料至該些 虛擬磁碟。其中,磁碟陣列係設定為—磁碟 : ',陣列2_職、= 碟 _D H式、—磁碟陣列4 (RAiD 4)模式、一磁碟陣列5 (RAID 5)拉式或一磁碟陣列6 (RAID句模式。 15 201013400 例如,若磁碟陣列係設定為一 RAID丨模式,則記憶體至少需 定義出2個虛擬磁碟,而以陣列方式將倾與其備份資料分別儲 存於此些虛擬磁碟;若磁碟陣列設定為一 5模式,則記憶體 至少需出3健擬磁碟’而轉财式將魏及其對應的同 位資料分別儲存於此些虛擬磁碟。 〜 ❹ Ο 在步驟33,對5己憶體儲存的資料進行一錯誤更正碼(EC。)更 正程序。此ECC更正程序係使用一錯誤更正碼來解碼,若資料内 的錯誤位摘數目在錯誤更正碼的容許範_,則ecc更正程序 2 —貝=*步驟34’當ECC更正程序失敗’表示資料内的錯誤 數目超過錯誤更正碼的容許範圍,則使用此些虛擬磁碟儲 存之貝料以回復(recoveiy)此錯誤更正失敗的資料。 =閲第4,,其繪示本發明之資料回復方法之實施例之步 ’此資料回復方法係在域數個虛擬磁碟構成的 著爾單元之-_料。接 格本山L 一此目‘料疋否錯誤。若無,則結束流程。若 正程轉復此目«料,二則在步驟492错由咖更 執行-磁碟陣無^更正此目標資料中的錯誤,則在步驟44 其他虛擬磁碟讀取^建此°在步驟45從 料,並在步驟4_==料所^之冗歸料及其相關資 誤。若檢杳出此重建戶p 吊之冗餘貧料及此相關資料是否錯 步驟彳7執^-H 餘㈣料㈣請財錯誤,則在 正程序,並判斷是否可修復。若ECC更正 16 201013400 -程序無法修復’則判斷資料無法修復,接著結束_。苴中,若 .此^虛=磁碟的磁碟陣列係設定為- RAm !才莫式,.則此重建所需 之几餘>料及相m料係為此目標資料的備份資料,若此些虛擬 磁碟的磁碟陣列係設定為—謹05模式,則此重建所需之錄資 2及相關資料為此目標㈣的同位f料及儲存其他虛擬磁碟的資 料0 、 若判斷此重建所需之冗餘資料或其相關資料内的錯誤可修 ❿復丄狀步驟48藉由ECC更正程序修復,接著於步驟491使用 此冗餘資料及其相關資料來回復資料。 請參閱第5圖,其繪示本發明之資料讀取方法之步驟流程圖。 ,中,此資料讀取方法翻於。記賴,.此記賴係被定義成複 數個虛擬磁碟,且此些虛擬磁碟係構成—磁碟陣列,而記憶體内 的身料係以陣列方式分別儲存至此些虛擬磁碟,此資料讀取方法 土含下列步驟。在步驟51接收來自主機的讀取—目標資料的指 7,接著在步驟52躺儲存此目標資料的虛擬磁碟是否無法回 % j,若是,表示此虛擬磁碟執行一損耗平均程序(wear leveling)、 —區塊管理(blockmanagement)程序、一區塊抹除(bl〇ckerase)程序 ,-垃圾收集(garbage c〇Uection)程序等等,以致於無法回應存取 指令’則在步驟53使用儲存於其他虛擬刺中用以重建此目標資 枓所需之-冗餘資料及其相關資料來產生一重建的目標資料,並 在步驟54傳送此重建的目標資料至主機。 以上所賴為舉繼’而非為_性者。任何未脫離本發明 之精神與範4,㈣其進行之等效修改錢更,均應包含於後附 t申請專利範圍中。 201013400 【圖式簡單說明】 第1圖係為本發明之記憶體控制系统之方塊圖; 第2圖係為本發明之記憶體控㈣統之實施例之方塊圖; 第3圖係為本發明之資料回復方法之步驟流程圖; 第4圖係為本發明之資料回復方法之實施例之步驟流程圖,·以及 第5圖係為本發明之資料讀取方法之步驟流程 ❿ 【主要元件符號說明】 I :記憶體控制系統; II :主機介面單元; 12 :第一位址轉譯單元; 13 :第二位址轉譯單元,· 14 :記憶體介面單元; 15 :磁碟陣列控制單元; 151 :冗餘資料; φ 16 :錯誤更正編解碼單元; 161 :錯誤更正碼; 171〜173 :虛擬磁碟; 174 .虛擬區位址; 18 :記憶體; 181 :實體位址; 19 :主機; 190 ·‘指令; £9$ :邏輯位址; 192 :資料; 2 ··記憶體控制系統; 221 :處理單元; 222 :儲存單元; 231 :第一映射表; 232 :第二映射表; 25 :磁碟陣列控制程式; 26 :錯誤更正編解碼程式; 271 :動態映射生成程式; 272 :位址轉譯程式;以及 31 〜34、41 〜48、491、492、 51〜54 :步驟流程。 18FIG. 3 is a flow chart showing the steps of the data recovery method of the present invention. In the figure, this _ bait recovery method is used for the memory, and includes the following steps. In step 31, it is defined as a complex number, and the city_physical address is divided into a plurality of groups, and the 'each group' can be regarded as a virtual disk. In the step magic, make = these virtual lions constitute - and _ financial storage data to the virtual disk. Among them, the disk array is set to - disk: ', array 2_ job, = disk_DH type, - disk array 4 (RAiD 4) mode, a disk array 5 (RAID 5) pull or a magnetic Disk array 6 (RAID sentence mode. 15 201013400 For example, if the disk array is set to a RAID mode, at least 2 virtual disks must be defined in the memory, and the backup data and the backup data are stored in the array separately. Some virtual disks; if the disk array is set to a 5 mode, the memory needs at least 3 smart disks, and the transfer type stores Wei and its corresponding parity data on these virtual disks respectively. Ο In step 33, an error correction code (EC.) correction procedure is performed on the data stored in the 5 memory. The ECC correction program uses an error correction code to decode, if the number of error bits in the data is in the error correction code. Allowance _, then ecc correction procedure 2 - Bay = * Step 34 'When the ECC correction program fails ' indicates that the number of errors in the data exceeds the allowable range of the error correction code, then use the virtual disk storage material to reply (recoveiy) This error corrects the failed data. = read 4, which shows the step of the embodiment of the data recovery method of the present invention 'This data recovery method is based on the number of virtual disks formed by a virtual disk in the domain - _ material. 'Material 疋 No error. If not, the process ends. If the forward process repeats this item, the second is executed in step 492 by the coffee - the disk array does not correct the error in the target data, then in the step 44 other virtual disk read ^ build this ° in step 45 from the material, and in step 4_== the material of the material and its related errors. If the recovery of the rebuilt household p hanging redundant lean and this Whether the relevant information is wrong step 彳7 execution ^-H Yu (four) material (four) please correct the error, then in the positive process, and judge whether it can be repaired. If the ECC correction 16 201013400 - the program can not be repaired 'then the data can not be repaired, and then end _. In the middle, if the disk array of the virtual disk is set to - RAm !, then the number of pieces required for this reconstruction is the backup data of the target data. The disk array of these virtual disks is set to -05 mode, then the capital record 2 and related materials required for this reconstruction are The target (4) of the same material and the data of other virtual disks are stored. 0. If the error in the redundant data or related data required for the reconstruction is judged, the error can be repaired. Step 48 is repaired by the ECC correction procedure, followed by steps. 491 uses the redundant data and related materials to reply to the data. Please refer to FIG. 5, which is a flow chart showing the steps of the data reading method of the present invention, wherein the data reading method is turned over. The memory is defined as a plurality of virtual disks, and the virtual disks are formed into a disk array, and the body in the memory is separately stored in the array to the virtual disks. The soil contains the following steps. At step 51, the finger 7 of the read-target data from the host is received, and then the virtual disk storing the target data in step 52 is unable to return to % j. If so, it indicates that the virtual disk performs a wear leveling process (wear leveling). ), - blockmanagement program, bl〇ckerase program, garbage collection (garbage c〇Uection) program, etc., so that the access command cannot be responded to 'use the storage in step 53 The redundant data and related data required for reconstructing the target resource in the other virtual thorns are used to generate a reconstructed target data, and the reconstructed target data is transmitted to the host in step 54. The above is based on the ‘those’. Any and all equivalent modifications made by the spirit and scope of the present invention, and (4) shall be included in the scope of the appended patent application. 201013400 [Simplified description of the drawings] Fig. 1 is a block diagram of a memory control system of the present invention; Fig. 2 is a block diagram of an embodiment of a memory control (four) system of the present invention; FIG. 4 is a flow chart of steps of an embodiment of the data recovery method of the present invention, and FIG. 5 is a flow chart of the data reading method of the present invention. Description] I: memory control system; II: host interface unit; 12: first address translation unit; 13: second address translation unit, · 14: memory interface unit; 15: disk array control unit; : redundant data; φ 16 : error correction codec unit; 161: error correction code; 171~173: virtual disk; 174. virtual area address; 18: memory; 181: physical address; 19: host; ''Command; £9$: Logical Address; 192: Data; 2 · Memory Control System; 221: Processing Unit; 222: Storage Unit; 231: First Mapping Table; 232: Second Mapping Table; Disk array control program; 26: error N codec programs; 271: dynamically map generation programs; 272: Address Translator; ~34,41 ~48,491,492 and 31, 51~54: step process. 18

Claims (1)

201013400 申請專利範圍: -種記憶體控制系統,供—主機控制—記題之存取,該記 憶體控制系統包含: 面; 主機介面單疋,係電性連接該主機作為資料傳輸之介 Ο 2. 3. 第位址轉澤單凡,係將從該主機接收的一邏輯位址 映射成-虛擬磁區位址,其中該記憶體之複數個實體位址係 被定義成複數個虛擬磁碟的該虛擬磁區位址; -第二位崎科元,雜職_祕 憶體之該實體位址; Χ 戏體;I面單70 ’係根據從該第二位址轉譯單元接收 的該實體位址向該記憶體存取資料; 一磁碟_控制單元,係根據從該第-位址轉譯單元接 收的該虛擬位址,控_記憶體介面單元 存資料至該些虛擬磁碟;以及 J乃式储 錯更正編解碼單S,係對該記憶體儲存的資料進行 兮’當讀錯誤更正失敗,該鄉_控解元使用 =^崎恢她鳴_備錯誤更正失 圍第1 記憶體㈣系統’其中該記憶 體係為一快閃記憶體。 〜 如申請專利範圍第1項所述之記憶體控制系統,其中當該主 19 201013400 2面^接收—寫人f料時’該錯誤更正碼編解碼單元對 «“、入貝料進行編碼,以產生—對應該寫人資料的錯正 碼’而該磁碟陣列控制單元根據從該第一位址轉譯^元 f該虛擬磁區位址以產生—對應該輸人資料的冗餘資才 摘碟陣顺料元係控繼記㈣介面單元以陣列 ==、該錯雕碼峨騎_儲存^ ❹ 參 4. ^申請專利範圍第3項所述之記憶體控制系統,其中兮磁碟 早疋係至少使用該冗_料以回復該錯誤更正失 5_如申請專利範圍第3項所述之記憶體控制系統,其”主播 ,該記憶體讀取-目標資料時,當該記憶體介判= f亥目該虛_碟無法_時,__陣列= 送該重建的目標資料至該主機。 心貝科,並傳 .t申請專利範圍第!項所述之記億體控 ,軍元係設定為一磁碟陣列 模式中::: ,卿m式、—磁碟陣列卿4模:、—: 陣列5(麵5)模式或一磁碟陣列6_D6)模磁碟 如申明專㈣圍第1項所述之記憶體控 位址轉料域根據-第—映射絲進躲射中;: 位址轉譯單元餘據—第二映射表來進行位址^弟— 20 7. 201013400 8·二!請專利删f 7項所述之記憶體控制系統,更包含一儲 子早7G以儲存該第一映射表及該第二映射表。 9 i專利範圍第7項所述之記憶體控制祕,針該第-、射表及該第二映射表_存於該記鋪巾,當該纪憶 制系統啟動’該第-健轉譯單元及該第二位址轉譯 7刀別從該記憶體讀取該第一映射表及該第二映射表。’、 10 ίΐ請專利範圍第7項所述之記憶體控制系統,更包含-動 生成單元,當·虛擬磁碟之其—出現容量超過 ^值的損壞區塊時’該動態映射生成單元係更新該第二 ,以分散该損壞區塊至該些虛擬磁碟。 、 11. 4資料回和法;用於-記憶體,該f料回復方法私: 將該記億體定義成複數個虛擬磁碟; 資料顿成-辦_,並鱗财式健存 鲁 對叙憶體館存的資料進行一錯誤更正碼(ECC)更正程 序;以及 壬 當該ECC更正料失敗,舰用虛擬磁 資料以回復(recoveiy)該錯誤更正失敗的資料。 △如申請專利範圍第u項所述之資料回復方法 體係為一快閃記憶體。 亥&己匕 R如申請專利範圍第n項所述之資料回復方法,其中該磁 陣列係設定為一磁碟陣列〇 (RAID _式、 (RAID 1)模式、一磁碟陣列2 (RAiD2)模式、—磁碟陣列3 21 201013400 ( 5)模式或一磁碟陣列6 (RAID 6)模式。 14.如申請專利範㈣u項所述之資料回復方法,更包含: 錄-表及—第"崎表,鄉—映射表係記 节機^的-邏輯位址與該些虛擬磁碟之 :=,’而該第二映射表係記錄該虛擬磁區位址:該 5己,丨思體之—實體位址的映射關係;以及 ❹ Φ 虛擬射表及該第二映射表以陣列方式向該些 15: 利範圍第14項所述之資料回復方法,當該些虛擬 ,心、-出現容量超過—門播值的損壞區塊時,重新產生 人映射表以5月丈6亥損壞區塊至該些虛擬 。 16.;種;料讀取方法,用於一記憶體,該記憶艘二定義成複 數個虛擬磁碟,且該些虛擬磁碟係構成一磁碟陣列,且妨 憶體内的資料係以陣列方式分別儲存至該些虛擬磁碟,該資 料讀取方法包含: 厂主機向该記憶體讀取一目標資料時,觸儲存該目 才示資料的該虛擬磁碟是否無法回應; 若儲存該目標資料的該虛擬磁碟無法回應 ,使用儲存於 其他虛擬磁碟中用以重建該目標資料所需之一冗餘資料及 其相關資料來產生一重建的目標資料;以及 傳送該重建的目標資料至該主機。 17.如申請專利範圍冑16項所述之資料讀取方法,其中該記憶 22 201013400 體係為-快閃記憶體。 18. 如申請專利範圍第 、,、 項所述之資料讀取方法,其中儲存該 目不貧料的ί亥虛擬磁碟係執行一損耗平均(蕭levding)程 序、一區塊官理(blockmanagement)程序、一區塊抹除(block erase)程序或一垃圾收集collecti〇n)程序,以致於無 法回應。201013400 Patent application scope: - Memory control system, for - host control - access to the title, the memory control system includes: face; host interface unit, electrically connected to the host as a means of data transmission 2 3. The first address is transferred to a logical address received from the host into a virtual domain address, wherein the plurality of physical addresses of the memory are defined as a plurality of virtual disks. The virtual magnetic zone address; - the second position of the sub-scientific element, the miscellaneous _ secret memory of the physical address; the 戏 theater; the I-side single 70' is based on the entity bit received from the second address translation unit Addressing the data to the memory; a disk_control unit, based on the virtual address received from the first address translation unit, the control-memory interface unit storing data to the virtual disks; and J The correct type of codec is stored in the memory, and the data stored in the memory is 兮'when the error is corrected, the township _ control solution uses =^ 崎 她 鸣 鸣 备 备 备 备 备 备 第 第 第 第 第 第 第 第(4) System 'where the memory system is one Flash memory. ~ The memory control system according to claim 1, wherein when the main 19 201013400 2 receives and writes the material, the error correction codec unit encodes the ««, the input material. To generate a erroneous positive code corresponding to the data to be written, and the disk array control unit generates the virtual magnetic domain address from the first address to generate a redundant resource corresponding to the input data. The disk array is controlled by the element (4) interface unit to array ==, the wrong code is 峨 _ _ ^ 4 4 ^ 4. ^ The memory control system described in claim 3, wherein the disk is early The system uses at least the redundant material to reply to the error correction 5_ as in the memory control system described in claim 3, the "host", the memory reads - the target data, when the memory is introduced Judgment = f Haimu The virtual _ disc can not _, __ array = send the reconstructed target data to the host. Heart Beike, and pass .t apply for the scope of patents! According to the item, the military system is set to a disk array mode: ::, , m type, disk array, 4 mode:, —: array 5 (face 5) mode or a disk Array 6_D6) mode disk, such as the memory control address transfer field described in item 1 of the claim (4), according to the -first mapping silk into the hiding;: address translation unit residual data - the second mapping table Address ^ brother - 20 7. 201013400 8 · 2! Please delete the memory control system described in item f, and further include a storage 7G to store the first mapping table and the second mapping table. 9 i is the memory control secret described in item 7 of the patent scope, wherein the first, the ejaculation table and the second mapping table are stored in the draping towel, and when the commemorative system activates the first-to-the-key translation unit And the second address translation 7 reads the first mapping table and the second mapping table from the memory. ', 10 ΐ ΐ 记忆 记忆 之 之 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆 记忆The second is updated to spread the damaged block to the virtual disks. , 11. 4 data back and method; for - memory, the f material recovery method private: the definition of the billion body into a plurality of virtual disks; data into a - do _, and the scale of the financial health The data stored in the narration library is subjected to an error correction code (ECC) correction procedure; and when the ECC is corrected, the ship uses virtual magnetic data to reply (recoveiy) the error to correct the failed data. △ The data recovery method system described in item u of the patent application scope is a flash memory. Hai & R has the data recovery method described in claim n, wherein the magnetic array is set to a disk array (RAID _, (RAID 1) mode, a disk array 2 (RAiD2) Mode, - Disk array 3 21 201013400 (5) mode or a disk array 6 (RAID 6) mode. 14. The data recovery method described in the application of the patent (4) u, further includes: Record-table and - "Saki, township-mapping table system - the logical address and the virtual disk: =, ' and the second mapping table records the virtual disk address: the 5 own, think The physical-physical address mapping relationship; and the Φ Φ virtual shot table and the second mapping table are arrayed to the 15: the range of information described in item 14 of the method, when the virtual, heart, - When a damaged block with a capacity exceeding the gated value occurs, the person mapping table is regenerated to damage the block to the virtual ones in May. 16.; the seed reading method is used for a memory, the memory The second virtual disk is defined as a plurality of virtual disks, and the virtual disks constitute a disk array, and the memory is The data is stored in the array to the virtual disks. The data reading method includes: when the factory host reads a target data into the memory, the virtual disk that stores the data is unable to respond. If the virtual disk storing the target data cannot respond, use one of the redundant data and related data stored in the other virtual disk to reconstruct the target data to generate a reconstructed target data; and transmit the target data; Reconstruction of the target data to the host. 17. The method of reading data as described in claim 16 wherein the memory 22 201013400 system is a flash memory. 18. If the patent application scope, the The data reading method, wherein storing the undesired ίhai virtual disk system performs a wear averaging process, a blockmanagement program, and a block erase process. The program or a garbage collection collecti〇n) program, so that it can not respond. ❹ 23❹ 23
TW97136381A 2008-09-22 2008-09-22 Memory control system, data recovery method and date reading method thereof TW201013400A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW97136381A TW201013400A (en) 2008-09-22 2008-09-22 Memory control system, data recovery method and date reading method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW97136381A TW201013400A (en) 2008-09-22 2008-09-22 Memory control system, data recovery method and date reading method thereof

Publications (1)

Publication Number Publication Date
TW201013400A true TW201013400A (en) 2010-04-01

Family

ID=44829322

Family Applications (1)

Application Number Title Priority Date Filing Date
TW97136381A TW201013400A (en) 2008-09-22 2008-09-22 Memory control system, data recovery method and date reading method thereof

Country Status (1)

Country Link
TW (1) TW201013400A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI661307B (en) * 2017-12-06 2019-06-01 慧榮科技股份有限公司 Data storage device, host system connected with data storage device, and method for writing data storage device
US10534540B2 (en) 2016-06-06 2020-01-14 Micron Technology, Inc. Memory protocol
US10678441B2 (en) 2016-05-05 2020-06-09 Micron Technology, Inc. Non-deterministic memory protocol
TWI711929B (en) * 2017-04-11 2020-12-01 美商美光科技公司 Transaction identification apparatus and method for transaction identification
TWI749685B (en) * 2020-08-05 2021-12-11 宇瞻科技股份有限公司 Memory storage device

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11422705B2 (en) 2016-05-05 2022-08-23 Micron Technology, Inc. Non-deterministic memory protocol
US12153796B2 (en) 2016-05-05 2024-11-26 Lodestar Licensing Group Llc Non-deterministic memory protocol
US10678441B2 (en) 2016-05-05 2020-06-09 Micron Technology, Inc. Non-deterministic memory protocol
US10963164B2 (en) 2016-05-05 2021-03-30 Micron Technology, Inc. Non-deterministic memory protocol
US11740797B2 (en) 2016-05-05 2023-08-29 Micron Technology, Inc. Non-deterministic memory protocol
US10534540B2 (en) 2016-06-06 2020-01-14 Micron Technology, Inc. Memory protocol
US11947796B2 (en) 2016-06-06 2024-04-02 Micron Technology, Inc. Memory protocol
US11340787B2 (en) 2016-06-06 2022-05-24 Micron Technology, Inc. Memory protocol
TWI711929B (en) * 2017-04-11 2020-12-01 美商美光科技公司 Transaction identification apparatus and method for transaction identification
US11755514B2 (en) 2017-04-11 2023-09-12 Micron Technology, Inc. Transaction identification
US11237995B2 (en) 2017-04-11 2022-02-01 Micron Technology, Inc. Transaction identification
US10783037B2 (en) 2017-12-06 2020-09-22 Silicon Motion, Inc. Data storage device, host device for data storage device operations, and data writing method
CN109885506B (en) * 2017-12-06 2022-11-11 慧荣科技股份有限公司 Data storage device, host device and data writing method
TWI661307B (en) * 2017-12-06 2019-06-01 慧榮科技股份有限公司 Data storage device, host system connected with data storage device, and method for writing data storage device
CN109885506A (en) * 2017-12-06 2019-06-14 慧荣科技股份有限公司 Data storage device, host device, and data writing method
US11294779B2 (en) 2020-08-05 2022-04-05 Apacer Technology Inc. Memory device providing fast data recovery
TWI749685B (en) * 2020-08-05 2021-12-11 宇瞻科技股份有限公司 Memory storage device

Similar Documents

Publication Publication Date Title
US11941257B2 (en) Method and apparatus for flexible RAID in SSD
CN103164345B (en) Data storage method after solid-state storage device encounters power failure
CN1965298B (en) Method, system, and equipment for managing parity RAID data reconstruction
JP5968562B2 (en) Method and system for mirrored multidimensional RAID
US9842024B1 (en) Flash electronic disk with RAID controller
CN101984400B (en) RAID control method, device and system
US20120198123A1 (en) Systems and methods for redundantly storing metadata for non-volatile memory
CN104407813A (en) RAID (Redundant Array of Independent Disk) system and method based on solid-state storage medium
JP6696280B2 (en) Information processing apparatus, RAID control method, and RAID control program
TW200945037A (en) Data writing method, and flash storage system and controller using the same
CN101546249A (en) On-line capacity expansion method for disk arrays
JP2013536959A (en) Non-volatile multilevel memory operation based on stripes
TW200527433A (en) Memory card and semiconductor device
CN101840360A (en) Rapid reconstruction method and device of RAID (Redundant Array of Independent Disk) system
TW201135462A (en) Method of dynamically switching partitions, memory card controller and memory card storage system
CN107885620B (en) Method and system for improving performance and reliability of solid-state disk array
JP4253272B2 (en) Memory card, semiconductor device, and control method of semiconductor memory
TW201013400A (en) Memory control system, data recovery method and date reading method thereof
TW201239623A (en) Data merging method for non-volatile memory and controller and stoarge apparatus using the same
TWI883763B (en) Method of handling host write commands requesting to write dummy pattern on flash memory and related memory controller and storage system
US8239625B2 (en) Parity generator for redundant array of independent discs type memory
JP4751037B2 (en) Memory card
CN112711377A (en) Storage node of distributed storage system and operation method thereof
TW201227294A (en) Dada writing method, memory controller and memory storage apparatus
CN116774922A (en) Memory device and method of operating the same