TW201019108A - Flash memory data access system, data reading method and data management method thereof - Google Patents

Flash memory data access system, data reading method and data management method thereof Download PDF

Info

Publication number
TW201019108A
TW201019108A TW97142939A TW97142939A TW201019108A TW 201019108 A TW201019108 A TW 201019108A TW 97142939 A TW97142939 A TW 97142939A TW 97142939 A TW97142939 A TW 97142939A TW 201019108 A TW201019108 A TW 201019108A
Authority
TW
Taiwan
Prior art keywords
data
flash memory
block
flash
data block
Prior art date
Application number
TW97142939A
Other languages
Chinese (zh)
Inventor
Wu-Yuan Lin
Ching-Hao Hsu
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 TW97142939A priority Critical patent/TW201019108A/en
Publication of TW201019108A publication Critical patent/TW201019108A/en

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

The present invention discloses a flash memory data access system, a data reading method and a data management method thereof. The system includes a plurality of flash memories, characterized in using one of the flash memories to store redundant data. Therefore, when data is to be read from a specific flash memory, the data is divided into two parts for reading. The first part of data is read from the specific flash memory. The second part of data is rebuilt from the data of other flash memories and the redundant data. Because a controller is able to perform data access to multiple flash memories at the same time, the time for reading the first part of data can be partially overlapped with the time for rebuilding the second part of data, so that the flash memory data access system of the present invention is able to reduce the time required for reading data.

Description

201019108 六、發明說明:· 【發明所屬之枝術領域】 本發明是有關於一種快閃記憶體資料存取系統,特別a 於-種_重建資料來有效縮短資料存取時間的快閃記憶=次料 存取系統、其資料讀取方法及其資料管理方法。貝, 【先前技術】 ❿ m 快閃記憶體(Flash memory)已是十分普遍的隨身儲 置。快閃記紐的缺點在於有寫Λ7抹除次數的限制, = 延長快閃記憶體使用壽命,快閃記憶體執行一耗 (wear-leveling)機制’將快閃記憶體中較常寫入除胃' «入獅籠咖_。邮姆調, 行抹除時,此快閃記憶體便無法作讀取資料之操作執 抹除操作完成方能從㈣記憶體讀取資料。此縣增加了 從快閃^_物彻_,嘛了 _毫的^ 置,包含複祕_憶_記憶體館存裝 此讀體裝置⑽控制器可同賴複數 取/寫入/抹除之操作。·,u ▲ ·.、 」匕嶋進仃璜 » 3? 可在此複數個快閃記憶體的架構下 ~進6己憶體儲存裝置的效能是目前迫切需要的。 卞構下 【發明内容】 有鐘於上述習知技藝之問題,本發明之其 供一種快閃記憶體資料 、 的就疋在提 神m其#料讀取方法及其資料管理 201019108 方法’以增進資料存取效能。 其包含_::目的:種快閃記憶體資料存取系統, 塊。控制單元電性連接主機介面單^^有,個資料區 ❿ 閃記憶體之第M個資料區塊所儲::计异母-第-快 將冗餘資料_於第二快閃記憶體n生—冗餘資料’並 從複數個第-快閃記憶體之一特 2資科區塊。當主機欲 塊及第j資料區塊讀取資料時’ =己憶體之第1資料區 憶體之第!資料區塊讀取係從此特定第一快閃記 憶體之第:資料區塊之資料、第二及對其他第—快閃記 餘資料進行此數學運算以重建出_、第,體之第J資料區塊之冗 資料及第二部分資料料至^二部^料,並將第-部分 Φ 根據本發明之-目的,二整數。 法,適用於一具有複數個第—_=;^體的資料讀取方 冗餘資料,此冗餘資料心: 區塊之資料經-數學運算所計笪 、體之第Μ個貝料 複數個第-快閃記憶體之一特定望—:此資料讀取方法用以讀取 及第J資料區塊之資料,其中M小、閃記憶體之第1資料區塊 法包含: 、J為正整數’此資料讀取方 201019108 (a)讀取特定第 第一部分資料; ..快閃記憶體之第I資料區塊之資 料〃作為— (b)執行一數學運算, 塊之資料、第二快閃記體第第—快閃記憶體之第了資料區 -第二部份資料;以及體之幻資料區塊之冗餘資料以重建出 (C)輸出第—部分資料及第二部份資料。 ❹ 鲁 快閃記憶體之第U /貝料區塊之資料的時間與讀取第 (overlap) 艸區塊之冗餘資料的時間係部分重疊 法,適用於-具有複數個第=一種快閃記憶體的資料管理方 快閃記憶_,Γ_及—第二_憶體的 冗餘資料,__^複 塊之資舰-轉體之第咖資料區 個笛-而此賊管理方法用以將複數 ^=__)此特定第—快閃記憶體之第;資料區塊,其中m、 、:為正整數,此㈣纖_f料管财法包含: ⑻對特定第-快閃記憶體之第料區塊進行—抹除() 禪作, 讀取其他第—關記鐘之第I :#簡塊之·與第二快 閃§己憶體之第I資料區塊之冗餘資料; (c)執仃數學運算’計算其他第—快閃記憶體之第〗資料區塊 之資料與第二_記㈣之第〗資料區狀冗餘轉以得到第一 201019108 重建資料;以及· 記憶體之已抹除的第 (d)將第-重建資料寫入特定第_快閃 資料區塊; 、 其中,進行抹除操作的時間、讀取其 卿 麵綱讀㈣1資料區塊之 【實施方式】 ❹ 請參閱第1圖’其係為本發明之快閃記憶體資料存取系統之 實施例之方塊圖。圖中’快閃記憶體簡存取_丨包含一主機 介面單元η、複數個第-快閃記憶體121〜12N、一快閃記愧 體π及一控制單元η。主機介面單元n電性連接一$主機'15作^ 資料傳輸之介面。控制單S 14電性連接主機介面單元u並控制 複數個第-關記紐121〜12N及第二快閃記紐13之資料存 取。第一快閃記憶體121〜聰及第:快閃記憶體13係具有複數個 資料區塊’在第1圖中,第一快閃記憶體12ι具有p個資料區塊, ❹以第一資料區塊161、第二資料區塊162、第m資料區塊16m及 第p資料區塊16p表示;第一快閃記憶體122具有p個資料區塊, 以第一資料區塊171、第一資料區塊172、第m資料區塊17m及 第p資料區塊17p表示;第一快閃記憶體12N具有p個資料區塊, 以第一資料區塊181、第二資料區塊182、第m資料區塊18m及 第p資料區塊18p表示;第二快閃記憶體π具有p個資料區塊, 以第一資料區塊191、第二資料區塊192、第m資料區塊19m及 第p資料區塊19p表示。在此,此些快閃記憶體係繪示具有相同 •201019108 • 數量的資料方塊以方便說明解釋,但不以此為限。其中,N.及p 為大於1的正整數而m為介於丨至卩之間的正整數。· 田主機15寫入資料至第一快閃記憶體121〜12N之其一時,控 制ί元14之數學運算單元141係執行一數學運算’例如互斥(x〇R) 運异,以計算第一快閃記憶體121〜12Ν中同一特定位置的資料區 ,所儲存之資料喊生—冗餘㈣I42,並將冗餘資料M2儲存於 第二快閃記憶體13中特定位置的資料區塊。舉例而言,當有資料 ,^第一快閃記憶體121〜12Ν中第m資料區塊之其一時,則控制 早το U對資料區塊16m、資料區塊版、…及資料區塊伽所儲 存的資料進行互斥(X〇R)運算,而計算結果係視為對應資料區塊 m資料區塊i7m、…及資料區塊igm所儲存的資料的冗餘資 料142 ’並將此冗餘資料142儲存於資料區塊19m。、 、 在此,同一位置的資料區塊係定義為在一區塊帶(strip)139 内,而互斥(XOR)運算係為上述數學運算之一舉例,在實施上,任 何符合下列條件的數學運算皆可應用於本發明:區塊帶139内的 任一資料區塊内的資料可由區塊帶139内其他資料區塊内的資料 ❾經此數學運算得出。亦即’龍區塊16m _資料可由諸區塊 17m…資料區塊18m及資料區塊19m内的資料經此數學運算重建 出;資料區塊17m内的資料可由資料區塊16m…資料區塊18m及 資料區塊19m内的資料經此數學運算重建出。 當主機15欲從此第一快閃記憶體121〜12N之一特定第一快閃 記憶體的複數個資料區塊讀取資料時,則控制單元14同時操作從 此特定第一快閃記憶體讀取資料以及執行數學運算從其他第一快 閃記憶體及第二快閃記憶體來重建資料,藉此以加速快閃記憶體 201019108 資料存取系統1的資料讀取速度。以下以第1圖及第2圖作舉例· 說明。例如’當主機15欲讀取第一快閃記憶體121的資料區塊161 .' e201019108 VI. Description of the invention: · The field of the invention belongs to the invention. The present invention relates to a flash memory data access system, in particular to a flash memory that effectively shortens the data access time. Secondary material access system, its data reading method and its data management method. Shell, [Prior Art] ❿ m Flash memory is a very common portable storage. The shortcoming of flash flash is that there is a limit of the number of erases written by Λ7, = prolong the life of the flash memory, and the flash-memory performs a wear-leveling mechanism to write the flash memory more often than the stomach. ' «Into the Lion Cage _. The tamper tone, when the line is erased, the flash memory cannot be used to read the data. The erase operation can complete the reading from the (4) memory. This county has increased from the flash ^ _ _ _ _, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Operation. ·, u ▲ ·., 匕嶋 仃璜 » 3? Under the structure of multiple flash memory, the performance of the memory device is urgently needed.卞下下 [Summary of the Invention] There is a problem in the above-mentioned conventional techniques, the present invention for a flash memory data, the squatting in the refreshing method and its data management 201019108 method 'to enhance Data access performance. It contains _:: purpose: a kind of flash memory data access system, block. The control unit is electrically connected to the host interface, and the data area is stored in the Mth data block of the flash memory: the meter is different - the first is fast redundant data _ in the second flash memory n Health-redundant data' and from one of the plurality of first-flash memory special 2 resources section. When the host wants the block and the jth data block to read the data, the first data area of the memory area is the first! The data block reading is performed from the data of the specific first flash memory: the data block, the second data, and the other first-flash data, to reconstruct the _, the first, the body J data The redundant information of the block and the second part of the data are prepared to the second part, and the first part is Φ according to the present invention, the second integer. The method is applicable to a redundant data of a data reader having a plurality of -_=;^ bodies, and the redundant data heart: the data of the block is calculated by the mathematical operation, and the first plurality of materials of the body One of the first-flash memory specific: - This data reading method is used to read and the data of the J data block, wherein the first data block method of the M small and flash memory contains: Positive integer 'This data is read by 201019108 (a) Read the first part of the data; .. The data of the first data block of the flash memory as - (b) Perform a mathematical operation, block data, The second flash memory is the first data area of the flash memory - the second part of the data; and the redundant data of the body magic data block to reconstruct the (C) output part - part data and the second part data. ❹ Lu flash memory of the U / shell material block time and the overlap of the overlap block 之 block of redundant data time system partial overlap method, apply to - have a plurality of = a flash The data management side of the memory flash memory _, Γ _ and - the second _ memory of the redundant data, __ ^ complex block of the ship - the first coffee data area of the flute - and this thief management method is used The plural ^=__) the first part of the specific - flash memory; the data block, where m, , : is a positive integer, this (four) fiber_f tube management method contains: (8) for a specific first-flash memory The first block is - erase () Zen, read the other - the second note of the clock - I block # and the second flash § the memory of the first data block of the redundant data (c) Obtaining the mathematical operation 'calculation of the other - the first part of the flash memory data block' and the second _ note (four) of the data area redundancy to obtain the first 201019108 reconstruction data; The erased (d) of the memory writes the first-reconstructed data into the specific _ flash data block; wherein, the time of the erase operation is performed, and the clear surface is read. The data block read ㈣1 [Embodiment ❹ See Figure 1 'of a block diagram of an embodiment of a flash memory data access system which system the present invention. In the figure, the flash memory simple access_丨 includes a host interface unit η, a plurality of first-flash memories 121 to 12N, a flash memory π, and a control unit η. The host interface unit n is electrically connected to a host '15' to make a data transmission interface. The control unit S 14 is electrically connected to the host interface unit u and controls the data access of the plurality of first-second contacts 121 to 12N and the second flash button 13. The first flash memory 121~Cong and the first: the flash memory 13 has a plurality of data blocks. In the first figure, the first flash memory 12i has p data blocks, and the first data is used. The block 161, the second data block 162, the mth data block 16m, and the pth data block 16p are represented; the first flash memory 122 has p data blocks, and the first data block 171, the first The data block 172, the mth data block 17m, and the pth data block 17p are represented; the first flash memory 12N has p data blocks, and the first data block 181, the second data block 182, and the first data block The m data block 18m and the pth data block 18p are represented; the second flash memory π has p data blocks, and the first data block 191, the second data block 192, the mth data block 19m and The p-th data block 19p represents. Here, these flash memory systems show the same data block with the same number of 201019108 • for illustrative explanation, but not limited to this. Where N. and p are positive integers greater than 1 and m is a positive integer between 丨 and 卩. · When the field host 15 writes data to one of the first flash memories 121 to 12N, the mathematical operation unit 141 of the control unit 14 performs a mathematical operation 'for example, mutual exclusion (x〇R), to calculate A data area of the same specific location in the flash memory 121~12Ν, the stored data is shouted-redundant (four) I42, and the redundant data M2 is stored in the data block of the specific location in the second flash memory 13. For example, when there is data, ^1 of the first mth data block in the first flash memory 121~12Ν, then control the data block 16m, the data block version, ... and the data block gamma The stored data is subjected to mutual exclusion (X〇R) operation, and the calculation result is regarded as redundant data 142 ' corresponding to the data stored in the data block m data block i7m, ... and the data block igm and will be redundant. The remaining data 142 is stored in the data block 19m. Here, the data block of the same location is defined as being in a block strip 139, and the mutual exclusion (XOR) operation is an example of the above mathematical operation. In practice, any of the following conditions are met. Mathematical operations can be applied to the present invention: the data in any of the data blocks within the block 139 can be derived from the data in other data blocks in the block 139. That is to say, the 'Long Block 16m _ data can be reconstructed from the data in the 17m...data block 18m and the data block 19m in the block; the data in the data block 17m can be from the data block 16m...data block The data within 18m and the data block within 19m is reconstructed by this mathematical operation. When the host 15 wants to read data from a plurality of data blocks of the first flash memory of one of the first flash memories 121 to 12N, the control unit 14 simultaneously operates to read from the specific first flash memory. The data and the execution of the mathematical operation reconstruct data from the other first flash memory and the second flash memory, thereby accelerating the data reading speed of the flash memory 201019108 data access system 1. The following is an example of the first and second figures. For example, 'when the host 15 wants to read the data block 161 of the first flash memory 121.'

及資料區塊16m内的資料時,在習知技藝中,控制單元14會依序 讀取資料區塊161及資料區塊16m内的資料,因此讀取時間是單 一資料區塊讀取時間的兩倍,習知技藝之資料讀取時序圖如第2 圖之圖示(A)。由於第一快閃記憶體121〜12N及第二快閃記憶體 13内的資料係經過數學運算處理,因此,控制單元14可同時對資 料區塊161進行資料讀取,以及對資料區塊i7m、…資料區塊i8m 及資料區塊19m内進行資料讀取,再由數學運算單元141執行數 學運算來計算資料區塊17m、…資料區塊18m及資料區塊I9m内 的資料以重建出資料區塊16m的資料。藉此,主機15得到資料區 塊161及資料區塊i6m内資料所需的時間T2比習知技藝所需的 時間Τ1更為縮短’本發明之資料讀取時序圖如第2圖之圖示(β)。 請注意,在此係以讀取兩個資料區塊内資料作為舉例,資料區塊 161内的資料係以直接讀取資料區塊161之方式來獲得,而資料區 塊16m内的資料係以使用其他資料區塊内的資料來重建之方式來 獲,’但*以此為限’當欲讀取兩個以上資料區塊内f料時,控 制單元14可根據其數學運算所需的_來調整讀取原始資料的^ 料區塊群κι以及$建麵㈣料區塊群K2軸例,使重建料 的資料區塊群Κ2所需的時間近似讀取資_塊群&1資料時 間,以進一步縮短資料讀取所需時間Τ3 ,如第3圖所示。、 數學運算單元⑷雛的是以硬體方絲實現,例如 料區塊内儲存的資料有γ個位元,則數學運算單元ΐ4ι可以= 具有Ν」目輸人端的互斥(XqR)元絲實現;亦絲處理 數學運算程式的軟财絲實現。㈣二树記,隨Η與第一快 201019108 .·=Γ:Γ比’其寫入次錄多,對其使用壽命影響較And when the data in the data block is 16m, in the prior art, the control unit 14 reads the data in the data block 161 and the data block 16m in sequence, so the reading time is the reading time of the single data block. Twice, the data reading timing diagram of the prior art is shown in the figure (A) of Figure 2. Since the data in the first flash memory 121 to 12N and the second flash memory 13 are subjected to mathematical operations, the control unit 14 can simultaneously read the data block 161 and the data block i7m. Data reading is performed in the data block i8m and the data block 19m, and the mathematical operation unit 141 performs mathematical operations to calculate data in the data block 17m, ... the data block 18m and the data block I9m to reconstruct the data. Block 16m data. Thereby, the time T2 required by the host 15 to obtain the data in the data block 161 and the data block i6m is shorter than the time Τ1 required by the prior art. The data reading timing chart of the present invention is as shown in FIG. (β). Please note that in this case, the data in the two data blocks are read as an example, and the data in the data block 161 is obtained by directly reading the data block 161, and the data in the data block is within 16 m. Use the data in other data blocks to reconstruct, 'but* is limited to'. When you want to read more than two data blocks, control unit 14 can use _ according to its mathematical operation. To adjust the K2 axis of the material block group κι and the construction face (four) material block group of the original data, so that the time required for the data block group 重建2 of the reconstructed material is approximated to read the resource_block group&1 data. Time to further shorten the time required for data reading Τ3, as shown in Figure 3. The mathematical operation unit (4) is realized by a hardware square wire. For example, if the data stored in the material block has γ bits, the mathematical operation unit ΐ4ι can be a mutually exclusive (XqR) element wire having a 输" Realization; also implements the soft wealth realization of mathematical operation programs. (4) The second tree, followed by the first fast 201019108 .·=Γ:Γ ratio’

CdUviLQ快閃記憶體’而第二快閃記憶體較 的單層單元陶eLevelCell,SLC)快閃記憶體。洲 單記憶體#料存取純1視需要可包含—快取緩衝 140 1 3 7讀取第二快閃記憶體13之資料並儲存於 __單7°144,當進行上述資料讀取/寫人程序時,控制單元 14係於快取緩衝單元144存取冗餘資料142。即表示,合資料 入第-快閃記憶體⑵〜12Ν時,則控制單元14所計算出:冗餘資 會ΐΓΐίΓ緩衝單元144中;當欲從第一快閃記憶體 ==:=:=:取_元144内的 之資料並儲存於第二 ❹ 把進步減少第二快閃記憶體13的寫入次 數H緩衝早疋⑷較佳的是配置於控制單元Μ的快取記憶體 或動態記憶體、或是配置於主機15的動態記憶體内。 此外’若主機15欲讀取資料的第一快閃記憶體⑵益法回 應’例,料記憶體m正在執行—損耗平均程序(職 6¥6 Γ,! ^ ^ ^4,r^(bl〇ck ^nagement)^^ — ^^^(block :存取^垃圾收軸她嗯⑶細丨。1雜料等’以致於無法 則控制單元14可執行上述資料重建的程序,除了 二連資料區塊161内的資料都是用其他第-快 便不需花費時門等ίί"*快閃記憶體13的資料來重建得到,如此 便不而化f 待第-快閃記憶體121的賴。 201019108 請參閱第4圖,其係為本發明之快閃記憶.體的資料讀取方法 之貫施例之流程圖。圖中’此資料讀取方法係適用於第丨圖所示 之快閃記憶體資料存取系統1,在此實施例中,係以主機15欲讀 取第一快閃記憶體121中K個資料區塊内的資料作為實施說明’ 包含下列步驟。步驟41判斷第一快閃記憶體121是否無法回應, 若是’則執行步驟42,若否,則執行步驟43。 在步驟42 ’讀取其他第一快閃記憶體122〜12N與第二快閃記 憶體I3中與此K個資料區塊在同一區塊帶的資料區塊内的資料, 馨接著在步驟44,執行數學運算以計算從其他第一快閃記憶體 122〜12N與第二快閃記憶體13讀取的資料,以重建出第一快閃記 憶體121 t K個資料區塊内的資料,接著在步驟%將所重建的資 料傳送至主機15 〇 &在步驟43將K個㈣區塊分成兩部分,—資樞麟K1及 、貝料區塊群K2,接著同時讀取第―_記紐121之資料區塊 群κι内的資料,以及讀取其他第一快閃記憶體122〜i2n與第二 快閃s己麵I3中與此資料區塊群K2在同一區塊帶的資料區塊内 鬌的資料。接著,在步驟45執行數學運算以計算從其他第一快閃記 憶體122〜12N與第二快閃記憶體13中讀取的資料以重建出第一快 閃記憶體⑵中資料區塊群灯内的資料,接行步驟47將從 第-快閃記麵m讀取的資料以及所重建的資料傳送至主機 15 ° >請參閱第5目’其係為本發明之㈣記顏的倾管理方法 之第-實補之流朗。财,此方法係刺於第」圖所示的 閃記憶體資料存取系統卜對第一快閃記憶體⑵進行平均抹寫 201019108 (wear leveling)操作’將資料區塊162與資料區塊16m對調,此方 法包含下列步驟。在步驟51 ’對第一目標資料區塊及第二目標資 料區塊進行抹除(erase)操作’如對資料區塊162與資料區塊i6m 進行抹除。在步驟52讀取其他第一快閃記憶體與第二快閃記憶體 之資料區塊之資料,如讀取資料區塊172、…182及192,以及資 料區塊17m、…18m及19m的資料。其中,步驟51及步驟52的 執行時間係部分重疊。 在步驟53執行數學運算來計算從其他第一快閃記憶體之與第 二快閃記憶體讀取的資料,以重建出第一目標資料區塊及第二目 ®標資料區塊之資料,例如分別計算資料區塊172、...182及192, 以及資料區塊17m、...18m及19m的資料,以重建出資料區塊162 =資料區塊16m的資料。在步驟54將所重建的第―目標資料區塊 責料寫入已抹除的第二目標資料區塊,及將所重建的第二目標資 料區塊資料寫人已抹除的第—目標資料區塊,如將所重建的資料 區塊162的資料寫入已抹除的資料區塊16m,再將所重建的資料 區塊16m的資料寫入已抹除的資料區塊162,如此便完成資料區 塊162與資料區塊16m的資料對調。 ® f知技藝之平均抹寫操作時序圖如第6圖之圖示⑻,盘直相 比,本發明之快閃記憶體的資料管理方法可藉由讓抹除操似資 料讀取同時崎’有效減少平均抹寫levding)操作所需時 間,使T5小於T4,本發明之平均抹寫操作時序圖如帛6圖之圖 不⑼。此外,第6圖之圖示⑻中所纟會示的是對調的寫人#料皆使 用重建資料的情況,若欲對調的資料區塊有複數個,則可從部分 目標資料區塊讀取原始資料。藉由調整讀取原始資料的目標資料 區塊與重建資料的目標資料區塊之間的比例,以進—步減少平均 . - -…_— ------------ . 201019108 抹寫操作所需的時間。· . • . ❹ 月參閱第7圓’其係為本發明之快閃記憶體的資料管理方法 之第一實施例之流程圖。圖中,此方法係適用於第1圖所示的快 閃》己隐體貝料存取系統i,並對第一快閃記憶體121之資料區塊 162進行一讀出修改寫入操作此方法包含下列 步驟。在步驟71對第一目標資料區塊進行抹除操作,如對資料區 塊162進订抹除。在步驟72讀取其他第-快閃記憶體與第二快閃 t己憶體中對應第—目標資料區塊之資寵塊的賴,如讀取資料 ^塊Π2、...182及192的資料。其中’步驟71及步驟72的 時間係部分重疊。 在步驟73執行數學運算來計算從其他第―㈣記憶體之與第 二快閃記憶體讀取的資料,以重建出第—目標資料區塊之資料, 以:料區塊Π2、..·182及192的資料重建出資料區塊162的資 ^在步驟74修改難_資料,例如由控鮮元修改所重建的 二料’以、達到資料更新的目的。在步驟75將修改後的資料寫入 (p ogram)已抹除的第—目標資料區塊,如資料區塊⑹。 =知技藝之讀出修改寫人操作時序圖如第8圖之圖示⑷,鱼 進相比,本發明之資料管理方法藉由讓抹賴作及龍讀取同時 $仃你可有效減少讀出修改寫wify_ 以上所述僅為舉例性,而非為限制性者 明 之申請專利範圍中。等效修改或變更,均應包含於後附 201019108 【圖式簡單說明】 第1圖係為本發明之快閃記憶體資料存取系統之·實施例之方 塊圖; 第2圖係為本發明與習知技藝之資料讀取時序示意圖; 第3圖係為本發明之另一資料讀取時序示意圖. 第4圖 方法之實施例之 係為本發明之快閃記憶體的資料讀取 流程圖;CdUviLQ flash memory 'and the second flash memory is a single layer unit ceramic eLevelCell, SLC) flash memory.洲单记忆#material access pure 1 as needed can be included - cache buffer 140 1 3 7 read the second flash memory 13 data and stored in __ single 7 ° 144, when the above data read / When the program is written, the control unit 14 accesses the redundant data 142 by the cache buffer unit 144. That is to say, when the data is entered into the first-flash memory (2) to 12Ν, the control unit 14 calculates: the redundancy resource ΐΓΐ Γ buffer unit 144; when the first flash memory is to be ==:=:= : taking the data in the _ 144 and storing it in the second ❹ reducing the progress of the second flash memory 13 by the number of writes H buffering early (4) is preferably configured in the control unit Μ cache memory or dynamic The memory or the dynamic memory in the host 15 is disposed. In addition, 'If the host 15 wants to read the first flash memory of the data (2) the benefit method responds to the example, the memory memory m is being executed - the loss average program (job 6¥6 Γ, ! ^ ^ ^4,r^(bl 〇ck ^nagement)^^ — ^^^(block: access ^ garbage rewinding her (3) fine. 1 miscellaneous materials, etc.' so that the control unit 14 can perform the above data reconstruction program, except for the two data The data in block 161 is reconstructed by using other data that does not need to be spent on the ίί"* flash memory 13 so that it does not wait for the first-flash memory 121. 201019108 Please refer to FIG. 4, which is a flow chart of a method for reading data of a flash memory body of the present invention. In the figure, the method for reading data is applied to the figure shown in the figure. In the embodiment, the flash memory data access system 1 is configured to read the data in the K data blocks in the first flash memory 121 as an implementation description. The following steps are included. Whether a flash memory 121 cannot respond, if yes, then step 42 is performed, and if not, step 43 is performed. 'Reading the other first flash memory 122~12N and the data in the data block of the second block of the second flash memory I3 and the K data blocks, and then performing the mathematics in step 44 Computing to calculate data read from the other first flash memories 122 to 12N and the second flash memory 13 to reconstruct the data in the 121 t K data blocks of the first flash memory, and then in the step % Transfer the reconstructed data to the host 15 〇& In step 43, divide the K (four) blocks into two parts, namely, the Yushulin K1 and the bedding block K2, and then read the __ note 121 at the same time. The data in the data block group κι, and the other first flash memory 122~i2n and the second flash memory surface I3 are in the same block data block as the data block group K2. Next, at step 45, a mathematical operation is performed to calculate data read from the other first flash memories 122 to 12N and the second flash memory 13 to reconstruct the data in the first flash memory (2). The data in the block group light, the access step 47 will read the data from the first flash face m and the reconstructed The data is transmitted to the host 15 ° > Please refer to the 5th item, which is the first of the invention (4) of the face management method of the face-to-face compensation method. This method is based on the flash shown in the figure The memory data access system performs an average smear 201019108 (wear leveling) operation on the first flash memory (2) to swap the data block 162 with the data block 16m. The method includes the following steps. A target data block and a second target data block are subjected to an erase operation as the data block 162 and the data block i6m are erased. In step 52, the data of the data blocks of the other first flash memory and the second flash memory are read, such as the read data blocks 172, ... 182 and 192, and the data blocks 17m, ... 18m and 19m. data. The execution time of step 51 and step 52 is partially overlapped. Performing a mathematical operation at step 53 to calculate data read from the other first flash memory and the second flash memory to reconstruct the data of the first target data block and the second target data block. For example, the data blocks 172, ... 182, and 192, and the data blocks 17m, ... 18m, and 19m are separately calculated to reconstruct the data block 162 = the data block 16m. In step 54, the reconstructed first target data block blame is written into the erased second target data block, and the reconstructed second target data block data is written to the erased first target data. The block, if the data of the reconstructed data block 162 is written into the erased data block 16m, and then the reconstructed data block 16m data is written into the erased data block 162, thus completing The data block 162 is swapped with the data of the data block 16m. ® f knows the average transcript operation timing diagram as shown in Figure 6 (8). Compared with the disk, the data management method of the flash memory of the present invention can be read by making the erased data read simultaneously. The time required for the operation of the average erasing operation is effectively reduced, so that T5 is smaller than T4, and the average erasing operation timing chart of the present invention is not shown in Fig. 6 (9). In addition, in the illustration (8) of Fig. 6, what is shown is that the reconciliation of the data is used in the case of rewriting the data. If there are a plurality of data blocks to be adjusted, the partial data block can be read from the target data block. Source material. By adjusting the ratio between the target data block of the original data and the target data block of the reconstructed data, the average is further reduced. - -..._------------- . 201019108 The time required to erase the operation. Fig. 7 is a flowchart of the first embodiment of the data management method for the flash memory of the present invention. In the figure, the method is applied to the flash "copy" access system i shown in FIG. 1 and performs a read modification write operation on the data block 162 of the first flash memory 121. The method consists of the following steps. In step 71, the first target data block is erased, such as to erase the data block 162. In step 72, the other peta-flash memory and the second flash-tweet memory are read, and the corresponding data blocks of the first-target data block are read, such as reading data blocks Π2, ...182, and 192. data of. The time of step 71 and step 72 is partially overlapped. At step 73, a mathematical operation is performed to calculate data read from the other (fourth) memory and the second flash memory to reconstruct the data of the first target data block, to: the material block Π2, .. The data of 182 and 192 reconstructs the information of the data block 162. In step 74, the difficult data is modified, for example, the second material reconstructed by the control element is modified to achieve the purpose of updating the data. At step 75, the modified data is written (pogram) to the erased first-target data block, such as the data block (6). =Reading and modifying the man-made timing diagram as shown in Figure 8 (4). Compared with the fish, the data management method of the present invention can effectively reduce the reading by letting the eraser and the dragon read at the same time. The above description is given by way of example only, and is not intended to be limiting. Equivalent modification or modification shall be included in the attached 201019108. [Simplified description of the drawings] Fig. 1 is a block diagram of an embodiment of the flash memory data access system of the present invention; FIG. 3 is a schematic diagram of another data reading timing of the present invention. The fourth embodiment of the method is a data reading flowchart of the flash memory of the present invention. ;

圖係為本發明之快閃記憶體 例之流程圖; 的資料管財法之第一實施 第6圖係為本發明與習知技藝之抹除操作之時序土 · 第7圖係為本發明之快閃記憶體的資料管理方^'圖, 例之流程圖;以及 法之第二實施 意圖 第8圖係為本發明與習知技藝之讀出修驚入 一 又馬入知作之時序示 ^ 【主要元件符號說明】 I ·快閃s己憶體資料存取系統; II :主機介面單元; 121、122、12N :第—快閃記憶體; 13 :第二快閃記憶體; 139 :區塊帶; 14 :控制單元; 141:數學運算單元; 201019108 142 :冗餘資料; . '144 :快取緩衝單元; · 15 :主機; 161、162、16m、16p、17 卜 172、17m、17p、181、182、18m、 18p、191、192、19m、19p :資料區塊;以及 41〜47、51〜54、71〜75 :步驟流程。The figure is a flow chart of the flash memory example of the present invention; the first embodiment of the data management method is the timing of the erase operation of the present invention and the prior art. The data management method of the flash memory is shown in the figure, and the flow chart of the example; and the second embodiment of the method of the method is the timing of the reading and repairing of the invention and the conventional technique. The main component symbol description] I · flash s memory data access system; II: host interface unit; 121, 122, 12N: first - flash memory; 13: second flash memory; 139: block 14; control unit; 141: mathematical operation unit; 201019108 142: redundant data; . '144: cache unit; · 15: host; 161, 162, 16m, 16p, 17 172, 17m, 17p, 181, 182, 18m, 18p, 191, 192, 19m, 19p: data block; and 41 to 47, 51 to 54, 71 to 75: step flow.

1414

Claims (1)

201019108 七、申請專利範圍: 種决閃5己憶體資料存取系統,包含.: 面;I機介面單元’係電性連接一主機作為資料傳輸之介 / —快閃記憶體 料區塊; ’每一該複數個第一快閃記憶體 第一快閃記憶體,具有複數個資料區塊;以及 第’電性連接該主機介面單元並控制該複數個 、己憶體及該第二快閃記憶體之資料存取; 冗 Μ 時,:閃記憶趙 一快閃記鋪师•塊簡第 ==將該冗餘資料贿於該第二快閃記憶趙之第 第一 從贿數㈣-_記賴之一特定 Φ 時,—料ί塊讀取資料 讀取-第一部分資 、/體之第I資料區塊 進行該數學運算,以重』c區塊之冗餘資料 分資料及該第二部分二二=資料’並將該第-部 其尹,M'W為正整數。 2.如申清專利範園第】項 、斤、之决閃記憶體資料存取系統,更 15 201019108 3. 4. 參 5. 包=一電性連接該控制單元的快取緩衝單元, “體資料存取系統啟動時,該控制單元係續取^ 1閃 =資料並儲存於該快取緩衝單元,當該“資: 了 μ控制早讀、於該錄緩衝單元存取該冗餘資料。快__存取系統,其 取取輪》 ·賴時,該控鮮元係讀 ^取緩衝早疋之資料並儲存於該第二快閃記憶體。 行^關德難細麟,該 算來計算其他第-_記_之第 ,快閃記憶體之第1資料區塊之冗餘資料,以重 建该第一部份資料。 里 項所述之快閃記憶體資料存取系統,其 數學運异係為一互斥(XOR)運算。 6 ^申%專她圍第1項所述之快閃記.11體資料存取系統,1 $該第-'關記憶體縣—多層單元(MLC>_記憶體 ❿ 弟—快閃記憶體係為一單層單元(SLC)快閃記憶體。 7· -種快閃記憶體的資料讀取方法,適麟—具有複數個第一 丨蝴》e憶體及-帛二網城體的快閃記賊裝置,且該第 二,記的第μ個龍區塊係儲存—冗餘餅,該冗 2’係㈣複數個第—快閃記紐之第Μ個資料區塊之 資料經一數學運算所得出,而該快閃記憶體的資料讀取方法 t巧取該複數個第—快閃記憶體之—特定第—快閃記憶 體之第I資料區塊及第J資料區塊之資料^中“小了為 201019108 正整數’該快閃記憶體的資料讀取方法包含: . ⑻讀取該特定第一快閃記憶體之第I資料區塊之資 料,作為一第一部分資料; 鬼貪 -欠、,、⑼執行5玄數學運鼻,計算其他第一快閃記憶體之第J 資料、該第二快閃記憶體之第J資料區塊之冗餘 _ 貝料以重建出-第二部份資料;以及 (c)輪出該第—部分資料及該第二部份資料。 Φ 鲁 Ξ申:ίΓ範圍第7 ’所述之快閃記憶體的資料讀取方 法,在步驟⑻之前,更包含: 評 ⑻)判斷該特定第—快閃記麵是否無法回應; 、軍笪快閃記紐無法回應,職行該數學 第二快閃ΐί:第:快閃記憶體之第1資料區塊之資料、該 9.如:=:;::::二則執行_。 法,其中讀取該特定赏“ [、閃5己憶體的資料讀取方 的時間、讀取其他第一^=、體之第1資料區塊之資料 時間與讀取該第二快閃記^資料區塊之資料的 的時間係部分重疊(0_^'。 雜區塊之冗餘資料 二種快閃記憶體的資料管理方法,適用於一且亡 快閃記憶體及-第二块閃,麟用於一具有複數個第〆 二快閃記《的第顺顧打,且該第 固貝邮塊係錯存一冗餘 冗 10. 201019108 餘資料係由該複數個第一 之第1資料區塊之資料寫乂‘定之第飞定第一快閃記憶體 料區塊,射Μ、ΐ、τ *寺第—快閃記憶體之第J資 為正整數,該快閃記憶體的資料管 資料經一數學運算所得’,、閃記憶體之第Μ個資料區塊之 用以將該複數個第_快閃閃讀體的資料管理方法 理方法包含 資料區塊進行一抹 ⑻對該特定第—_記憶體之第j 除(erase)操作;201019108 VII. Patent application scope: A type of flash memory 5 memory data access system, including: face; I machine interface unit is electrically connected to a host as a medium for data transmission / - flash memory material block; 'each of the plurality of first flash memory first flash memories having a plurality of data blocks; and the first electrically connecting the host interface unit and controlling the plurality of memories, the second and the second fast Flash memory data access; verbose time: flash memory Zhao Yi flash flash shop shop block block ===This redundant information bribes the second flash memory Zhao Zhi first number of bribes (four)- _Record one of the specific Φ, the material ί block read data read - the first part of the capital, / body of the first data block to perform the mathematical operation, to re-c block the redundant data points and The second part of the second two = the data 'and the first part of its Yin, M'W is a positive integer. 2. For example, Shen Qing Patent Fanyuan], Jin, and the flash memory data access system, and 15 201019108 3. 4. Reference 5. The package is electrically connected to the cache unit of the control unit, “ When the volume data access system is started, the control unit continuously retrieves the data and stores it in the cache buffer unit. When the resource is: μ controls the early read, the redundant data is accessed in the buffer unit. . Fast __ access system, its take-up wheel · · 赖 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , It is difficult to calculate the redundant data of the first data block of the flash memory to rebuild the first part of the data. In the flash memory data access system described in the above, the mathematical operation is a mutual exclusion (XOR) operation. 6 ^申%Specially for her around the flashbook of the first item. 11 body data access system, 1 $ the first - 'memory county - multi-level unit (MLC> _ memory ❿ brother - flash memory system for A single-layer unit (SLC) flash memory. 7· - A method for reading data from flash memory, Shi Lin - has a number of first 丨 》 》 e e e 及 及 及 及 及 及 及 及The thief device, and the second, the first μ block of the memory is stored as a redundant cake, and the redundant 2' system (four) complex number - the data of the third data block of the flash flash is obtained by a mathematical operation And the data reading method t of the flash memory is used to take the data of the first data block and the J data block of the plurality of first-flash memory-specific flash memory "Small is 201019108 positive integer" The data reading method of the flash memory includes: (8) reading the data of the first data block of the specific first flash memory as a first part of the data; Owe,,, (9) Execute 5 Xuan mathematics nose, calculate the J data of the other first flash memory, and the J element of the second flash memory Redundancy of the material block _ shell material to reconstruct the second part of the data; and (c) to rotate the first part of the data and the second part of the data. Φ Lu Yushen: Γ Γ range 7' The data reading method of the flash memory, before the step (8), further includes: (8)) determining whether the specific first-flash face can not respond; the military flash flashing can not respond, the second fastest of the mathematics Flash ΐ: The data of the first data block of the flash memory, the 9. such as: =:;:::: two execution _. The law, which reads the specific reward "[, flash 5 recall The time of reading the data of the body, the time of reading the data of the other first ^=, the first data block of the body, and the time of reading the data of the second flash memory data block partially overlap (0_^ Redundant data of miscellaneous blocks Two data management methods for flash memory, suitable for one and dead flash memory and - second flash, for a plurality of second flash flashes The first is the first data of the first number of the first one. The data of the block is written as 'the first flash memory block of the first flight of Dingzhi, the first element of the Μ, ΐ, τ* temple-flash memory is a positive integer, the data tube of the flash memory The data is obtained by a mathematical operation, and the data block method of the first data block of the flash memory is used to perform a data management method including the data block (8) for the specific first- _memory operation of the jth (erase); 兮第⑼二閃記贿之第1資料區塊之資料與 該第一_魏體H料區塊之職㈣; ⑹執行職科算料算魏帛— 資料區塊之資料與該第-振…°隨之第1 餘資料,以二= 憶體之第1資料區塊之冗 餘貝枓U传到-第一重建資料;以及 ⑼將該第-$建資料寫域特 ^ 抹除的第:資料區塊;之已 it J : ’^?_作的_、讀取其他第·快閃記憶 體之第I資枓區塊之資料的時間與讀取該第二快閃記憶體 之第I資料區塊之冗餘資料的時間係部分重疊(〇veri叩)。 11.如申凊專利範圍第1〇項所述之快閃記憶體的資料管理方 法’其中該資料管理方法係用於該特定第一快閃記憶體之平 均抹寫(wear leveling)操作。 如申請專利範圍第u項所述之快閃記憶體的資料管理方 法,其中更包含·· 201019108 作; 對該特定第.一, 决閃記憶體之第I資料區塊進行該抹除操 第二快閃;己記憶體之第J資料區塊之資料與該 心之第J資料區塊之冗餘資料; 料區學财料算其他第—,_記鐘之第Γ資 資料,以二與Ϊ第二快閃記憶體之第J資料區塊之冗餘 枓以侍到一第二重建資料;以及兮The information of the first data block of the (9) two flashing bribes and the position of the first _Wei body H material block (4); (6) The implementation of the vocational calculations Wei Wei - the data block and the first vibration... ° With the first data, the second reconstruction data of the first data block of the second = memory is transferred to the first reconstruction data; and (9) the first -$ construction data is written to the domain. : data block; the time of it J: '^?_, reading the data of the first information block of the other flash memory and reading the second flash memory The time of the redundant data of the I data block partially overlaps (〇veri叩). 11. The data management method of the flash memory as described in claim 1 wherein the data management method is used for the wear leveling operation of the specific first flash memory. For example, the method for managing data of a flash memory according to the scope of the patent application, wherein the method further includes: 201019108; performing the erasing operation on the first data block of the specific first, the flash memory 2 flashing; the data of the Jth data block of the memory and the redundant data of the Jth data block of the heart; the material area accounting for other data -, the _ clock of the first information, to the second And the redundancy of the Jth data block of the second flash memory to serve a second reconstruction data; 亥第二重建資料寫人該特定第—快閃記憶體之已抹 除的第I資料區塊。 13·如申請專利範圍第1()項所述之快閃記憶體的資料管理方 法,其中該資料管理方法係餘該特定第-快閃記憶體之讀 出修改寫入(read-modify-write)操作,且!等於了。 14.如申請專利範圍第13項所述之快閃記憶體的資料管理方 法’於步驟(c)之後,更包含: 修改該第一重建資料。The second reconstruction data of the Hai writes the erased first data block of the specific first-flash memory. 13. The method for managing data of a flash memory as described in claim 1 (), wherein the data management method is a read-modify-write of the specific first-flash memory. ) operation, and! It is equal. 14. The data management method of the flash memory according to claim 13 of the patent application, after the step (c), further comprises: modifying the first reconstruction data.
TW97142939A 2008-11-06 2008-11-06 Flash memory data access system, data reading method and data management method thereof TW201019108A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW97142939A TW201019108A (en) 2008-11-06 2008-11-06 Flash memory data access system, data reading method and data management method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW97142939A TW201019108A (en) 2008-11-06 2008-11-06 Flash memory data access system, data reading method and data management method thereof

Publications (1)

Publication Number Publication Date
TW201019108A true TW201019108A (en) 2010-05-16

Family

ID=44831608

Family Applications (1)

Application Number Title Priority Date Filing Date
TW97142939A TW201019108A (en) 2008-11-06 2008-11-06 Flash memory data access system, data reading method and data management method thereof

Country Status (1)

Country Link
TW (1) TW201019108A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10521375B2 (en) 2017-06-22 2019-12-31 Macronix International Co., Ltd. Controller for a memory system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10521375B2 (en) 2017-06-22 2019-12-31 Macronix International Co., Ltd. Controller for a memory system
TWI684868B (en) * 2017-06-22 2020-02-11 旺宏電子股份有限公司 Memory controller and operating method thereof, and controlling method of a memory system

Similar Documents

Publication Publication Date Title
US10782910B2 (en) Methods for internal data movements of a flash memory device and apparatuses using the same
US10860508B2 (en) Offloaded disaggregated storage architecture
TWI380178B (en) System and method for managing memory errors in an information handling system
TWI302707B (en) Mass storage device having both xip function and storage function
TW201005746A (en) Memory storage device and control method thereof
US20190171522A1 (en) Data storage device, host device for data storage device operations, and data writing method
TWI502594B (en) Half block management for flash storage devices
CN107564558B (en) Implementing decentralized atomic I/O writing
TW200414201A (en) Method and apparatus for managing an erase count block
CN103999060A (en) Solid-state storage management
TW201519251A (en) Non-volatile memory device and operation method thereof
JP2011248873A (en) Semiconductor memory device block merging method
TWI456389B (en) Method for updating control program of physical storage device in storage virtualization system and storage virtualization controller and system thereof
TW200907995A (en) Method and system of defect management for storage medium
JP6696280B2 (en) Information processing apparatus, RAID control method, and RAID control program
US8892816B1 (en) System and method for writing data to a memory
WO2024046213A1 (en) Method and apparatus for caching blocks of redundant array of independent disks, and device and readable medium
US20200104261A1 (en) Memory system, operation method thereof, and database system including the memory system
US10528285B2 (en) Data storage device and method for operating non-volatile memory
KR20220077691A (en) Electronic system including host, memory controller and memory device and operating method thereof
TW201005530A (en) High-speed solid state storage system
KR101029704B1 (en) Method for managing a flash memory
US11144380B2 (en) Memory controller and storage device including the same
TW201019108A (en) Flash memory data access system, data reading method and data management method thereof
US10896004B2 (en) Data storage device and control method for non-volatile memory, with shared active block for writing commands and internal data collection