TW202024901A - Flash memory device and controlling method thereof - Google Patents
Flash memory device and controlling method thereof Download PDFInfo
- Publication number
- TW202024901A TW202024901A TW107147061A TW107147061A TW202024901A TW 202024901 A TW202024901 A TW 202024901A TW 107147061 A TW107147061 A TW 107147061A TW 107147061 A TW107147061 A TW 107147061A TW 202024901 A TW202024901 A TW 202024901A
- Authority
- TW
- Taiwan
- Prior art keywords
- update module
- page
- module
- flash memory
- block
- Prior art date
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
本揭露是有關於一種記憶體裝置及其控制方法,且特別是有關於一種快閃記憶體裝置及其控制方法。This disclosure relates to a memory device and its control method, and more particularly to a flash memory device and its control method.
隨著半導體技術的發展,各式記憶體不斷推陳出新。快閃記憶體裝置係為一種電子式(固態)非揮發記憶體,其可以透過電子進行抹除或寫入。但快閃記憶體裝置有以下的限制:雖然快閃記憶體在隨機存取時可以對一頁面(page)進行讀取或寫入,但快閃記憶體僅能夠對一個區塊進行抹除。通常所有的位元會被設為1。在開始時,空閒的區塊之分一位置皆可被寫入。然而,一旦某一位元被設定為0,則必須抹除整個區塊才能將0變回1,此即所謂的區塊抹除操作(block erase operation)。With the development of semiconductor technology, various types of memory are constantly being introduced. A flash memory device is an electronic (solid-state) non-volatile memory, which can be erased or written electronically. However, the flash memory device has the following limitations: Although the flash memory can read or write a page during random access, the flash memory can only erase one block. Usually all bits will be set to 1. At the beginning, any part of the free block can be written. However, once a bit is set to 0, the entire block must be erased to change 0 back to 1, which is the so-called block erase operation.
請參照第1圖,其繪示傳統之快閃記憶體裝置之記憶體回收程序(garbage collection procedure)。由於區塊抹除操作的限制,一區塊中的一個無效頁面(invalid page)(或稱已使用頁面)無法獨立地被抹除為一空閒頁面(free page)。因此,此區塊之有效頁面必須被遷移,然後再將此區塊整個抹除以創建空閒頁面。頻繁的遷移與抹除容易造成延遲(latency)與持久性(endurance)的問題。Please refer to Figure 1, which shows the garbage collection procedure of a traditional flash memory device. Due to the limitation of block erasing operation, an invalid page (or used page) in a block cannot be erased as a free page independently. Therefore, the valid pages of this block must be migrated, and then the whole block is erased to create free pages. Frequent migration and erasure can easily cause latency and endurance issues.
本揭露係有關於一種快閃記憶體及其控制方法,其提出快閃記憶體轉換層(flash translation layer, FTL)的新設計,使其含有一延遲感知寫入機制(latency-aware program mechanism)、一延遲感知記憶體回收機制(latency-aware garbage collection mechanism)、一循環持久性傳播機制(cyclic endurance spreading mechanism)及一熱資料感知精細度機制(hot-data-aware fine-granularity mechanism),以充分利用新型態的位元可修改快閃記憶體陣列(bit-alterable flash memory array)之位元抹除操作(bit erase operation)或頁面抹除操作(page erase operation),使得延遲與持久性的問題能夠有效解決。This disclosure relates to a flash memory and its control method. It proposes a new design of the flash translation layer (FTL), which includes a latency-aware program mechanism. , A latency-aware garbage collection mechanism, a cyclic endurance spreading mechanism, and a hot-data-aware fine-granularity mechanism, with Make full use of the new state of bits to modify the bit-alterable flash memory array (bit-alterable flash memory array) bit erase operation (bit erase operation) or page erase operation (page erase operation), resulting in delay and durability The problem can be effectively solved.
根據本揭露之第一方面,提出一種快閃記憶體裝置。快閃記憶體裝置包括一記憶體陣列、一原地更新模組(in-place update module)、一外地更新模組(out-of-place update module)及一延遲感知模組(latency-aware module)。原地更新模組用以透過一位元抹除操作(bit erase operation)或一頁面抹除操作(page erase operation),於記憶體陣列執行一寫入程序(program procedure)或一記憶體回收程序(garbage collection procedure)。外地更新模組用以透過一區塊抹除操作(block erase operation)或一遷移操作(migration operation),於記憶體陣列執行寫入程序或記憶體回收程序。延遲感知模組用以判斷原地更新模組之一第一負載與外地更新模組之一第二負載之大小關係。According to the first aspect of this disclosure, a flash memory device is provided. The flash memory device includes a memory array, an in-place update module, an out-of-place update module, and a latency-aware module ). The in-place update module is used to perform a program procedure or a memory recovery procedure on the memory array through a bit erase operation or a page erase operation (Garbage collection procedure). The external update module is used to perform a write process or a memory recovery process on the memory array through a block erase operation or a migration operation. The delay sensing module is used to determine the magnitude relationship between the first load of the in-situ update module and the second load of the external update module.
根據本揭露之第二方面,提出一種快閃記憶體裝置之控制方法。快閃記憶體裝置包括一記憶體陣列、一原地更新模組(in-place update module)、一外地更新模組(out-of-place update module)及一延遲感知模組(latency-aware module)。控制方法包括以下步驟。以延遲感知模組判斷原地更新模組之一第一負載與外地更新模組之一第二負載之大小關係。According to the second aspect of this disclosure, a method for controlling a flash memory device is proposed. The flash memory device includes a memory array, an in-place update module, an out-of-place update module, and a latency-aware module ). The control method includes the following steps. The delay sensing module is used to determine the magnitude relationship between the first load of the in-situ update module and the second load of the foreign update module.
為了對本揭露之上述及其他方面有更佳的瞭解,下文特舉實施例,並配合所附圖式詳細說明如下:In order to have a better understanding of the above and other aspects of the present disclosure, the following embodiments are specially cited, and the accompanying drawings are described in detail as follows:
請參照第2圖,其繪示根據一實施例之快閃記憶體裝置1000。快閃記憶體裝置1000包括一檔案系統(file system)100、一快閃記憶體轉換層(flash translation layer, FTL)200、一記憶體技術裝置(memory technology device, MTD)300及一記憶體陣列400。記憶體陣列400係為一位元可修改快閃記憶體陣列(bit-alterable flash memory array),其可以是一NAND記憶體、一NOR記憶體、一3D記憶體、一相變隨機存取記憶體(Phase Change RAM, PCM)或一可變電阻式記憶體(Resistive random-access memory, ReRAM)。Please refer to FIG. 2, which shows a
請參照第3A~3B圖,其說明位元可修改快閃記憶體陣列之各種操作。在位元可修改記憶體陣列中,+FN電洞注入與-FN電子注入被用來進行寫入與抹除。如第3A圖所示,在位元可修改記憶體陣列之某些位元被寫入,而形成不同的電壓分布。如第3B圖所示,當區塊被抹除時,所有的位元皆為「1」。接著,部分之位元可以被寫入為「0」。然後,部分之位元可以被抹除為「1」。也就是說,位元可修改記憶體陣列可以執行位元抹除操作(bit erase operation)或頁面抹除操作(page erase operation)。Please refer to Figures 3A to 3B, which illustrate various operations of bit-modifiable flash memory arrays. In the bit-modifiable memory array, +FN hole injection and -FN electron injection are used for writing and erasing. As shown in FIG. 3A, some bits in the bit-modifiable memory array are written to form different voltage distributions. As shown in Figure 3B, when the block is erased, all bits are "1". Then, some bits can be written as "0". Then, some bits can be erased as "1". In other words, the bit-modifiable memory array can perform bit erase operations or page erase operations.
請參照第4圖,其說明透過頁面抹除操作進行記憶體回收程序(garbage collection procedure)。在頁面抹除操作中,一區塊之一無效頁面(invalid page)(或稱已使用頁面)可以獨立地抹除為一空閒頁面。因此,區塊中之有效頁面(valid pages)無須進行遷移,且區塊僅有一部份進行抹除,即可建立空閒頁面。因此,遷移操作可以省略而使負載降低。Please refer to Figure 4, which explains the garbage collection procedure through the page wipe operation. In the page erasing operation, an invalid page (or used page) of a block can be erased independently as an idle page. Therefore, the valid pages in the block do not need to be migrated, and only part of the block is erased to create free pages. Therefore, the migration operation can be omitted to reduce the load.
如上所述,第2圖之快閃記憶體裝置1000之記憶體陣列400係為位元可修改記憶體陣列。寫入程序(program procedure)及記憶體回收程序(garbage collection procedure)可以透過位元抹除操作、頁面抹除操作或區塊抹除操作來完成。為了有效地執行寫入程序及記憶體回收程序,快閃記憶體轉換層200提供了位元可修改感知管理單元(bit-alterable-aware management unit)210。如第2圖所示,位元可修改感知管理單元210包括一熱資料感知模組(hot-data-aware module)211、一延遲感知模組(latency-aware module)212、一原地更新模組(in-place update module)213、一外地更新模組(out-of-place update module)214及一傳播模組(spreading module)215。位元可修改感知管理單元210、熱資料感知模組211、延遲感知模組212、原地更新模組213、外地更新模組214及傳播模組215例如是一電路、一晶片、一電路板、軟體程式、或儲存程式碼之儲存裝置。這些元件將說明如後。As mentioned above, the memory array 400 of the
請參照第5圖,其繪示快閃記憶體裝置1000之控制方法的「延遲感知寫入機制」之流程圖。在步驟S510中,延遲感知模組212判斷原地更新模組213執行寫入程序之第一負載是否小於外地更新模組214執行寫入程序之第二負載。若第一負載小於第二負載,則進入步驟S520;若第一負載不小於第二負載,則進入步驟S530。Please refer to FIG. 5, which shows a flowchart of the "delay-aware writing mechanism" of the control method of the
在步驟S520中,原地更新模組213透過位元抹除操作或頁面抹除操作,於記憶體陣列400執行寫入程序。舉例來說,請參照第6圖,其說明透過頁面抹除操作執行寫入程序之一例。在此例中,頁面PN-1之「LBA2」需要被替換為「LBA2*」。在執行寫入程序之前,頁面P0、P2、P3、P4、…皆為無效頁面,頁面P1、PN-1、PN皆為有效頁面。在執行寫入程序之後,區塊BKA之頁面PN-1被抹除,且「LBA2*」被寫入於區塊BKA之頁面PN-1。In step S520, the in-
在步驟S530中,外地更新模組214透過區塊抹除操作遷移操作,於記憶體陣列400執行寫入程序。請參照第7圖,其說明透過遷移操作執行寫入程序之一例。在此例中,頁面PN-1之「LBA2」需要被替換為「LBA2*」。在執行寫入程序之前,頁面P0、P2、P3、P4、…皆為無效頁面,頁面P1、PN-1皆為有效頁面,且頁面PN為空閒頁面。在執行寫入程序之後,區塊BKA之頁面PN-1被讀出,且「LBA2*」被寫入區塊BKA之頁面PN。頁面PN-1變為無效頁面,且頁面N變為有效頁面。In step S530, the
請參照第8圖,其繪示快閃記憶體裝置1000之控制方法的「延遲感知記憶體回收機制」之流程圖。在步驟S810中,延遲感知模組212判斷原地更新模組213執行記憶體回收程序之第一負載是否小於外地更新模組214執行記憶體回收程序之第二負載。若第一負載小於第二負載,則流程進入步驟S820;若第一負載不小於第二負載,則流程進入步驟S830。Please refer to FIG. 8, which shows a flow chart of the "delay-aware memory recovery mechanism" of the control method of the
在步驟S820中,原地更新模組213透過位元抹除操作或頁面抹除操作,於記憶體陣列400執行記憶體回收程序。舉例來說,請參照第9圖,其說明透過頁面抹除操作執行記憶體回收程序之一例。在此例中,無效頁面之空間需要被釋放。在執行記憶體回收程序之前,頁面P0、P2、P3、P4、…、PN皆為無效頁面,且頁面P1、PN-1皆為有效頁面。在執行記憶體回收程序之後,區塊BKA之頁面P0、P2、P3、P4、…、PN被抹除為空閒頁面,且區塊BKA之頁面P1、PN-1維持不變。In step S820, the in-
在步驟S830中,外地更新模組214執行透過區塊抹除操作或遷移操作,於記憶體陣列400執行記憶體回收程序。請參照第10圖,其說明透過遷移操作及區塊抹除操作執行記憶體回收程序之一例。在此例中,無效頁面之空間需要被釋放出來。在執行記憶體回收程序之前,頁面P0、P2、P3、P4、…、PN皆為無效頁面,頁面P1、PN-1皆為有效頁面。在執行記憶體回收程序之後,區塊BKA之頁面P1、PN-1被遷移至另一區塊BKB,且區塊BKA整個被抹除。In step S830, the
請參照第11圖及第12圖。第11圖繪示快閃記憶體裝置1000之控制方法的「循環持久性傳播機制」之流程圖。第12圖說明第11圖之步驟。在步驟S111中,傳播模組215判斷存取計數是否大於一臨界值。若存取計數大於臨界值,則流程進入步驟S112;若存取計數不大於臨界值,則流程返回步驟S111。Please refer to Figure 11 and Figure 12. FIG. 11 is a flowchart of the "cyclic persistence propagation mechanism" of the control method of the
在步驟S112中,傳播模組215重設基準指示BP。舉例來說,如第12圖所示,頁面P0包含快取線(cache lines)CL0~CLN。基準指示BP從第一實體列被移動到第二實體列。In step S112, the
在步驟S113中,傳播模組215根據基準指示BP重新分配資料。舉例來說,如第12圖所示,基準指示BP,快取線CL0之資料從第一實體列被移動到第二實體列。In step S113, the
如第12圖所示,基準指示BP係週期性地移動,使得持久性效果可以在快取線CL0~CLN之間傳播。As shown in Figure 12, the benchmark indicates that the BP system moves periodically so that the persistent effect can be propagated between the cache lines CL0 ~ CLN.
請參照第13圖及表一。第13圖繪示快閃記憶體裝置1000之控制方法的「熱資料感知精細度機制」(hot-data-aware fine-granularity mechanism)之流程圖。表一係為一雜湊表,其資料係藉由雜湊函式(如mod 4)搜尋得到。在步驟S131中,熱資料感知模組211判斷一頁面最近是否有被存取。若此頁面最近有被存取,則流程進入步驟S132;若此頁面最近未被存取,則流程進入步驟S133。
在步驟S132中,熱資料感知模組211設定此頁面之雜湊位元為1。在步驟S132中,熱資料感知模組211設定此頁面之雜湊位元為0。In step S132, the thermal
根據上述各種實施例,新設計的快閃記憶體轉換層含有「延遲感知寫入機制」、「延遲感知記憶體回收機制」、「循環持久性傳播機制」及「熱資料感知精細度機制」,以充分利用新型態的位元可修改快閃記憶體陣列之位元抹除操作或頁面抹除操作,使得延遲與持久性的問題能夠有效解決。According to the above various embodiments, the newly designed flash memory conversion layer contains "delay-aware write mechanism", "delay-aware memory recovery mechanism", "circular persistence propagation mechanism" and "thermal data sensing fineness mechanism". The bit erasing operation or page erasing operation of the flash memory array can be modified by making full use of the new state of the bit, so that the problem of delay and durability can be effectively solved.
綜上所述,雖然本揭露已以實施例揭露如上,然其並非用以限定本揭露。本揭露所屬技術領域中具有通常知識者,在不脫離本揭露之精神和範圍內,當可作各種之更動與潤飾。因此,本揭露之保護範圍當視後附之申請專利範圍所界定者為準。To sum up, although the present disclosure has been disclosed as above by the embodiments, it is not intended to limit the present disclosure. Those with ordinary knowledge in the technical field to which this disclosure belongs can make various changes and modifications without departing from the spirit and scope of this disclosure. Therefore, the scope of protection of this disclosure shall be subject to the scope of the attached patent application.
1000:快閃記憶體裝置100:檔案系統200:快閃記憶體轉換層210:位元可修改感知管理單元211:熱資料感知模組212:延遲感知模組213:原地更新模組214:外地更新模組215:傳播模組300:記憶體技術裝置400:記憶體陣列BKA、BKB:區塊BP:基準指示CL0、CL1、CL2、CL3、CL4、CL5、CLN-1、CLN:快取線P0、P1、P2、P3、P4、PN-1、PN:頁面S510、S520、S530、S810、S820、S830、S111、S112、S113、S131、S132、S133:步驟1000: Flash memory device 100: File system 200: Flash memory conversion layer 210: Bit modifiable perception management unit 211: Thermal data perception module 212: Delayed perception module 213: In-place update module 214: Foreign Update Module 215: Propagation Module 300: Memory Technology Device 400: Memory Array BKA, BKB: Block BP: Benchmark Indicator CL0, CL1, CL2, CL3, CL4, CL5, CLN-1, CLN: Cache Lines P0, P1, P2, P3, P4, PN-1, PN: pages S510, S520, S530, S810, S820, S830, S111, S112, S113, S131, S132, S133: steps
第1圖繪示傳統之快閃記憶體裝置之記憶體回收程序。 第2圖繪示根據一實施例之快閃記憶體裝置。 第3A~3B圖說明位元可修改快閃記憶體陣列之各種操作。 第4圖說明透過頁面抹除操作進行記憶體回收程序。 第5圖繪示快閃記憶體裝置之控制方法的「延遲感知寫入機制」之流程圖。 第6圖說明透過頁面抹除操作執行寫入程序之一例。 第7圖說明透過遷移操作執行寫入程序之一例。 第8圖繪示快閃記憶體裝置之控制方法的「延遲感知記憶體回收機制」之流程圖。 第9圖說明透過頁面抹除操作執行記憶體回收程序之一例。 第10圖說明透過遷移操作及區塊抹除操作執行記憶體回收程序之一例。 第11圖繪示快閃記憶體裝置之控制方法的「循環持久性傳播機制」之流程圖。 第12圖說明第11圖之步驟。 第13圖繪示快閃記憶體裝置之控制方法的「熱資料感知精細度機制」之流程圖。Figure 1 shows the memory recovery process of a conventional flash memory device. FIG. 2 shows a flash memory device according to an embodiment. Figures 3A to 3B illustrate various operations of bit-modifiable flash memory arrays. Figure 4 illustrates the memory recovery process through the page erase operation. Figure 5 shows a flow chart of the "delay-aware write mechanism" of the control method of the flash memory device. Figure 6 illustrates an example of a write process performed by a page erase operation. Figure 7 illustrates an example of a write process performed by a migration operation. Figure 8 shows a flow chart of the "delay-aware memory recovery mechanism" of the control method of the flash memory device. Figure 9 illustrates an example of the memory recovery process performed by the page erase operation. Figure 10 illustrates an example of the memory recovery process performed by the migration operation and the block erase operation. Figure 11 shows the flow chart of the "cyclic persistence propagation mechanism" of the control method of the flash memory device. Figure 12 illustrates the steps of Figure 11. Figure 13 shows the flow chart of the "thermal data sensing fineness mechanism" of the flash memory device control method.
1000:快閃記憶體裝置 1000: Flash memory device
100:檔案系統 100: file system
200:快閃記憶體轉換層 200: Flash memory conversion layer
210:位元可修改感知管理單元 210: bit modifiable perception management unit
211:熱資料感知模組 211: Thermal data sensing module
212:延遲感知模組 212: Delay perception module
213:原地更新模組 213: In-situ update module
214:外地更新模組 214: Field Update Module
215:傳播模組 215: Communication Module
300:記憶體技術裝置 300: Memory Technology Device
400:記憶體陣列 400: Memory array
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107147061A TWI705372B (en) | 2018-12-26 | 2018-12-26 | Flash memory device and controlling method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107147061A TWI705372B (en) | 2018-12-26 | 2018-12-26 | Flash memory device and controlling method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202024901A true TW202024901A (en) | 2020-07-01 |
TWI705372B TWI705372B (en) | 2020-09-21 |
Family
ID=73004963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107147061A TWI705372B (en) | 2018-12-26 | 2018-12-26 | Flash memory device and controlling method thereof |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI705372B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI773467B (en) * | 2021-02-18 | 2022-08-01 | 慧榮科技股份有限公司 | Garbage collection operation management |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5360214B2 (en) * | 2008-09-03 | 2013-12-04 | マーベル ワールド トレード リミテッド | Data programming method for multi-plane flash memory, device and system using the same |
CN104011690B (en) * | 2011-12-29 | 2016-11-09 | 英特尔公司 | There is the multi-level store being directly accessed |
US8674422B2 (en) * | 2012-01-30 | 2014-03-18 | Synopsys, Inc. | Asymmetric dense floating gate nonvolatile memory with decoupled capacitor |
US9887011B1 (en) * | 2017-02-06 | 2018-02-06 | Macronix International Co., Ltd. | Memory with controlled bit line charging |
-
2018
- 2018-12-26 TW TW107147061A patent/TWI705372B/en active
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI773467B (en) * | 2021-02-18 | 2022-08-01 | 慧榮科技股份有限公司 | Garbage collection operation management |
US11494299B2 (en) | 2021-02-18 | 2022-11-08 | Silicon Motion, Inc. | Garbage collection operation management with early garbage collection starting point |
US11681615B2 (en) | 2021-02-18 | 2023-06-20 | Silicon Motion, Inc. | Garbage collection operation management based on overall valid page percentage of source block and candidate source block |
US11704241B2 (en) | 2021-02-18 | 2023-07-18 | Silicon Motion, Inc. | Garbage collection operation management with early garbage collection starting point |
US11809312B2 (en) | 2021-02-18 | 2023-11-07 | Silicon Motion, Inc. | Garbage collection operation management based on overall spare area |
Also Published As
Publication number | Publication date |
---|---|
TWI705372B (en) | 2020-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8463826B2 (en) | Incremental garbage collection for non-volatile memories | |
US8595414B2 (en) | Selectively combining commands for a system having non-volatile memory | |
TWI489373B (en) | Data storage device and method for managing blocks of a flash memory | |
KR100809320B1 (en) | Apparatus and method for managing mapping information of non-volatile memory supporting separated cell type | |
US10509722B2 (en) | Memory device with dynamic cache management | |
US10402338B2 (en) | Method and apparatus for erase block granularity eviction in host based caching | |
JP2013516716A (en) | Control and discrepancy to limit current spikes | |
US10338826B2 (en) | Managed-NAND with embedded random-access non-volatile memory | |
JP2010027026A (en) | Memory storage device and control method thereof | |
KR20100016987A (en) | Computing system including phase change memory device | |
US11526438B2 (en) | Memory system capable of increasing storage efficiency and operation method thereof | |
US11656785B2 (en) | Apparatus and method for erasing data programmed in a non-volatile memory block in a memory system | |
EP3926451B1 (en) | Communication of data relocation information by storage device to host to improve system performance | |
CN111796771A (en) | Flash memory controller, solid state disk and controller thereof, and flash memory command management method | |
US8782345B2 (en) | Sub-block accessible nonvolatile memory cache | |
US20080109612A1 (en) | Dynamic Code Relocation for Low Endurance Memories | |
US11656777B2 (en) | Memory system and operating method thereof | |
TW202015045A (en) | Write control method, associated data storage device and controller thereof | |
TWI705372B (en) | Flash memory device and controlling method thereof | |
US11182329B2 (en) | Data processing system and operating method thereof | |
CN111367826B (en) | Flash memory device and control method thereof | |
US11068175B2 (en) | Technology to manage capacity loss in storage drives | |
US20200285573A1 (en) | Memory device and method of operating the same | |
Cui et al. | ApproxRefresh: Enabling uncorrectable data reuse on flash memory with approximate read awareness | |
Han et al. | Page Type-Aware Data Migration Technique for Read Disturb Management of NAND Flash Memory |