TW202024901A - Flash memory device and controlling method thereof - Google Patents

Flash memory device and controlling method thereof Download PDF

Info

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
Application number
TW107147061A
Other languages
Chinese (zh)
Other versions
TWI705372B (en
Inventor
張弘昇
呂函庭
張原豪
Original Assignee
旺宏電子股份有限公司
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 旺宏電子股份有限公司 filed Critical 旺宏電子股份有限公司
Priority to TW107147061A priority Critical patent/TWI705372B/en
Publication of TW202024901A publication Critical patent/TW202024901A/en
Application granted granted Critical
Publication of TWI705372B publication Critical patent/TWI705372B/en

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

A flash memory device and a controlling method are 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 for performing a program procedure or a garbage collection procedure via a bit erase operation or a page erase operation on the memory array. The out-of-place update module is used for performing the program procedure or the garbage collection procedure via a block erase operation or a migration operation on the memory array. The latency-aware module is used for determining a relationship between a first overhead of the in-place update module and a second overhead of the out-of-place update module.

Description

快閃記憶體裝置及其控制方法Flash memory device and its control method

本揭露是有關於一種記憶體裝置及其控制方法,且特別是有關於一種快閃記憶體裝置及其控制方法。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 flash memory device 1000 according to an embodiment. The flash memory device 1000 includes a file system (file system) 100, a flash translation layer (FTL) 200, a memory technology device (MTD) 300, and a memory array 400. The memory array 400 is a bit-alterable flash memory array, which can be a NAND memory, a NOR memory, a 3D memory, a phase change random access memory Body (Phase Change RAM, PCM) or a variable resistance memory (Resistive random-access memory, ReRAM).

請參照第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 flash memory device 1000 in FIG. 2 is a bit-modifiable memory array. The program procedure and the garbage collection procedure can be completed by bit erase operation, page erase operation or block erase operation. In order to effectively execute the writing process and the memory recovery process, the flash memory conversion layer 200 provides a bit-alterable-aware management unit 210. As shown in Figure 2, the bit-modifiable perception management unit 210 includes a hot-data-aware module 211, a latency-aware module 212, and an in-situ update module. Group (in-place update module) 213, an out-of-place update module (out-of-place update module) 214, and a spreading module (spreading module) 215. Bit modifiable sensing management unit 210, thermal data sensing module 211, delay sensing module 212, in-place update module 213, foreign update module 214, and propagation module 215 are, for example, a circuit, a chip, and a circuit board , Software programs, or storage devices for storing program codes. These components will be described later.

請參照第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 flash memory device 1000. In step S510, the delay sensing module 212 determines whether the first load of the in-situ update module 213 executing the writing process is less than the second load of the external updating module 214 executing the writing process. If the first load is less than the second load, go to step S520; if the first load is not less than the second load, go to step S530.

在步驟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-place update module 213 performs a write process on the memory array 400 through a bit erase operation or a page erase operation. For example, please refer to Fig. 6, which illustrates an example of a write process performed by a page erase operation. In this example, "LBA2" on page PN-1 needs to be replaced with "LBA2*". Before executing the writing procedure, the pages P0, P2, P3, P4, ... are all invalid pages, and the pages P1, PN-1, PN are all valid pages. After executing the writing process, the page PN-1 of the block BKA is erased, and "LBA2*" is written to the page PN-1 of the block BKA.

在步驟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 foreign update module 214 performs a write process on the memory array 400 through a block erase operation migration operation. Please refer to Figure 7, which illustrates an example of the write process performed by the migration operation. In this example, "LBA2" on page PN-1 needs to be replaced with "LBA2*". Before executing the writing process, the pages P0, P2, P3, P4, ... are all invalid pages, the pages P1, PN-1 are all valid pages, and the page PN is an idle page. After executing the writing process, the page PN-1 of the block BKA is read, and "LBA2*" is written into the page PN of the block BKA. Page PN-1 becomes an invalid page, and page N becomes a valid page.

請參照第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 flash memory device 1000. In step S810, the delay sensing module 212 determines whether the first load of the in-place update module 213 performing the memory recycling process is less than the second load of the external update module 214 performing the memory recycling process. If the first load is less than the second load, the process goes to step S820; if the first load is not less than the second load, the process goes to step S830.

在步驟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-place update module 213 performs a memory recovery process on the memory array 400 through a bit erase operation or a page erase operation. For example, please refer to Figure 9, which illustrates an example of a memory recovery process performed by a page erase operation. In this example, the space of invalid pages needs to be released. Before the memory recovery procedure is executed, the pages P0, P2, P3, P4, ..., PN are all invalid pages, and the pages P1, PN-1 are all valid pages. After the memory reclamation process is executed, the pages P0, P2, P3, P4, ..., PN of the block BKA are erased as free pages, and the pages P1, PN-1 of the block BKA remain unchanged.

在步驟S830中,外地更新模組214執行透過區塊抹除操作或遷移操作,於記憶體陣列400執行記憶體回收程序。請參照第10圖,其說明透過遷移操作及區塊抹除操作執行記憶體回收程序之一例。在此例中,無效頁面之空間需要被釋放出來。在執行記憶體回收程序之前,頁面P0、P2、P3、P4、…、PN皆為無效頁面,頁面P1、PN-1皆為有效頁面。在執行記憶體回收程序之後,區塊BKA之頁面P1、PN-1被遷移至另一區塊BKB,且區塊BKA整個被抹除。In step S830, the foreign update module 214 performs a block erase operation or a migration operation to perform a memory recovery process on the memory array 400. Please refer to Figure 10, which illustrates an example of the memory recovery process performed by the migration operation and the block erase operation. In this example, the space of invalid pages needs to be released. Before the memory reclamation process is executed, pages P0, P2, P3, P4, ..., PN are all invalid pages, and pages P1, PN-1 are all valid pages. After the memory reclamation process is executed, the pages P1 and PN-1 of the block BKA are migrated to another block BKB, and the block BKA is completely erased.

請參照第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 flash memory device 1000. Figure 12 illustrates the steps of Figure 11. In step S111, the propagation module 215 determines whether the access count is greater than a threshold. If the access count is greater than the critical value, the process proceeds to step S112; if the access count is not greater than the critical value, the process returns to step S111.

在步驟S112中,傳播模組215重設基準指示BP。舉例來說,如第12圖所示,頁面P0包含快取線(cache lines)CL0~CLN。基準指示BP從第一實體列被移動到第二實體列。In step S112, the propagation module 215 resets the reference indication BP. For example, as shown in Figure 12, page P0 includes cache lines CL0 to CLN. The benchmark indicates that the BP is moved from the first entity column to the second entity column.

在步驟S113中,傳播模組215根據基準指示BP重新分配資料。舉例來說,如第12圖所示,基準指示BP,快取線CL0之資料從第一實體列被移動到第二實體列。In step S113, the propagation module 215 reallocates the data according to the reference instruction BP. For example, as shown in FIG. 12, the reference indicates BP, and the data of the cache line CL0 is moved from the first physical row to the second physical row.

如第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。

Figure 107147061-A0304-0001
表一Please refer to Figure 13 and Table 1. FIG. 13 is a flowchart of the "hot-data-aware fine-granularity mechanism" of the control method of the flash memory device 1000. Table 1 is a hash table, and its data is searched by a hash function (such as mod 4). In step S131, the thermal data sensing module 211 determines whether a page has been accessed recently. If the page has been accessed recently, the process proceeds to step S132; if the page has not been accessed recently, the process proceeds to step S133.
Figure 107147061-A0304-0001
Table I

在步驟S132中,熱資料感知模組211設定此頁面之雜湊位元為1。在步驟S132中,熱資料感知模組211設定此頁面之雜湊位元為0。In step S132, the thermal data sensing module 211 sets the hash bit of this page to 1. In step S132, the thermal data sensing module 211 sets the hash bit of this page to 0.

根據上述各種實施例,新設計的快閃記憶體轉換層含有「延遲感知寫入機制」、「延遲感知記憶體回收機制」、「循環持久性傳播機制」及「熱資料感知精細度機制」,以充分利用新型態的位元可修改快閃記憶體陣列之位元抹除操作或頁面抹除操作,使得延遲與持久性的問題能夠有效解決。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)

一種快閃記憶體裝置,包括: 一記憶體陣列; 一原地更新模組,用以透過一位元抹除操作或一頁面抹除操作,於該記憶體陣列執行一寫入程序或一記憶體回收程序; 一外地更新模組,用以透過一區塊抹除操作或一遷移操作,於該記憶體陣列執行該寫入程序或該記憶體回收程序;以及 一延遲感知模組,用以判斷該原地更新模組之一第一負載與該外地更新模組之一第二負載之大小關係。A flash memory device includes: a memory array; an in-situ update module for performing a write process or a memory on the memory array through a bit erase operation or a page erase operation Volume recovery process; a foreign update module for executing the write process or the memory recovery process on the memory array through a block erase operation or a migration operation; and a delay sensing module for Determine the magnitude relationship between a first load of the in-situ update module and a second load of the external update module. 如申請專利範圍第1項所述之快閃記憶體裝置,其中若該原地更新模組之該第一負載小於該外地更新模組之該第二負載,則該原地更新模組執行該寫入程序或該記憶體回收程序。For example, the flash memory device described in item 1 of the scope of patent application, wherein if the first load of the in-place update module is less than the second load of the foreign update module, the in-place update module executes the Write procedure or this memory recovery procedure. 如申請專利範圍第2項所述之快閃記憶體裝置,其中於該原地更新模組執行該寫入程序之過程中,一區塊之一頁面被抹除,且資料再被寫入該頁面。For the flash memory device described in item 2 of the scope of patent application, in the process of the in-place update module executing the writing process, one page of a block is erased, and data is written to the page. 如申請專利範圍第2項所述之快閃記憶體裝置,其中於該原地更新模組執行該記憶體回收程序之過程中,一區塊之至少一無效頁面被抹除為一空閒頁面,且該區塊之至少一有效頁面維持不變。For example, the flash memory device described in item 2 of the scope of patent application, in which at least one invalid page of a block is erased as a free page when the in-place update module executes the memory recovery process, And at least one valid page of the block remains unchanged. 如申請專利範圍第1項所述之快閃記憶體裝置,其中若該原地更新模組之該第一負載不小於該外地更新模組之該第二負載,則該外地更新模組執行該寫入程序或該記憶體回收程序。Such as the flash memory device described in item 1 of the scope of patent application, wherein if the first load of the in-place update module is not less than the second load of the foreign update module, the foreign update module executes the Write procedure or this memory recovery procedure. 如申請專利範圍第5項所述之快閃記憶體裝置,其中於該外地更新模組執行該寫入程序之過程中,一區塊之一頁面被讀取,且資料再被寫入另一頁面。For the flash memory device described in item 5 of the scope of patent application, in the process of executing the writing process by the foreign update module, one page of a block is read and data is written into another page. 如申請專利範圍第6項所述之快閃記憶體裝置,其中於該外地更新模組執行該記憶體回收程序之過程中,一區塊之至少一有效頁面被遷移至另一區塊,且該區塊之全部均被抹除。As for the flash memory device described in item 6 of the scope of patent application, in the process of executing the memory recovery procedure by the foreign update module, at least one valid page of one block is transferred to another block, and All of the block is erased. 如申請專利範圍第1項所述之快閃記憶體裝置,更包括: 一傳播模組,用以當存取計數大於一臨界值時,重設一基準指示,且根據該基準指示重新分配資料。For example, the flash memory device described in item 1 of the scope of patent application further includes: a propagation module for resetting a reference indicator when the access count is greater than a threshold value and redistributing data according to the reference indicator . 如申請專利範圍第8項所述之快閃記憶體裝置,更包括: 一熱資料感知模組,用以當一頁面最近有被存取時,設定該頁面之一雜湊位元為1。The flash memory device described in item 8 of the scope of patent application further includes: a thermal data sensing module for setting a hash bit of a page to 1 when a page has been accessed recently. 如申請專利範圍第9項所述之快閃記憶體裝置,其中該原地更新模組、該外地更新模組、該延遲感知模組、該傳播模組及該熱資料感知模組係設置於一快閃記憶體轉換層中。For the flash memory device described in item 9 of the scope of patent application, the in-situ update module, the foreign update module, the delay sensing module, the propagation module, and the thermal data sensing module are arranged in A flash memory conversion layer. 一種快閃記憶體裝置之控制方法,其中該快閃記憶體裝置包括一記憶體陣列、一原地更新模組、一外地更新模組及一延遲感知模組,該控制方法包括: 以該延遲感知模組判斷該原地更新模組之一第一負載與該外地更新模組之一第二負載之大小關係。A control method for a flash memory device, wherein the flash memory device includes a memory array, an in-place update module, a foreign update module, and a delay sensing module, the control method includes: using the delay The sensing module determines the magnitude relationship between a first load of the in-situ update module and a second load of the foreign update module. 如申請專利範圍第11項所述之控制方法,更包括: 若該原地更新模組之該第一負載小於該第二負載,則該原地更新模組透過一位元抹除操作或一頁面抹除操作,於該記憶體陣列執行一寫入程序或一記憶體回收程序。For example, the control method described in item 11 of the scope of patent application further includes: if the first load of the in-place update module is less than the second load, the in-place update module performs a bit erasing operation or a The page erasing operation executes a write process or a memory recovery process on the memory array. 如申請專利範圍第12項所述之控制方法,其中於該原地更新模組執行該寫入程序之步驟中,一區塊之一頁面被抹除,且資料再被寫入該頁面。According to the control method described in item 12 of the scope of patent application, in the step in which the in-situ update module executes the writing procedure, one page of a block is erased, and data is written to the page again. 如申請專利範圍第12項所述之控制方法,其中於該原地更新模組執行該記憶體回收程序之步驟中,一區塊之至少一無效頁面被抹除為一空閒頁面,且該區塊之至少一有效頁面維持不變。The control method described in claim 12, wherein in the step of the in-place update module executing the memory recovery process, at least one invalid page of a block is erased as a free page, and the area At least one valid page of the block remains unchanged. 如申請專利範圍第11項所述之控制方法,更包括: 若該原地更新模組之該第一負載不小於該第二負載,則該外地更新模組透過一區塊抹除操作或一遷移操作,於該記憶體陣列執行該寫入程序或該記憶體回收程序。For example, the control method described in item 11 of the scope of patent application further includes: if the first load of the in-place update module is not less than the second load, the foreign update module performs a block erase operation or a In the migration operation, the write process or the memory recovery process is executed on the memory array. 如申請專利範圍第15項所述之控制方法,其中於該外地更新模組執行該寫入程序之步驟中,一區塊之一頁面被讀取,且資料再被寫入另一頁面。According to the control method described in claim 15, wherein in the step of executing the writing procedure by the foreign update module, one page of a block is read, and data is written to another page. 如申請專利範圍第15項所述之控制方法,於該外地更新模組執行該記憶體回收程序之步驟中,一區塊之至少一有效頁面被遷移至另一區塊,且該區塊之全部均被抹除。For example, in the control method described in item 15 of the scope of patent application, in the step of executing the memory recovery procedure by the foreign update module, at least one valid page of one block is transferred to another block, and the All were erased. 如申請專利範圍第11項所述之控制方法,更包括: 以一傳播模組判斷一存取計數是否大於一臨界值; 若該存取計數大於該臨界值,則以該傳播模組重設一基準指示;以及 根據該基準指示重新分配資料。For example, the control method described in item 11 of the scope of patent application further includes: judging by a propagation module whether an access count is greater than a threshold; if the access count is greater than the threshold, resetting by the propagation module A benchmark instruction; and redistribute data based on the benchmark instruction. 如申請專利範圍第18項所述之控制方法,更包括: 以一熱資料感知模組判斷一頁面最近是否有被存取;以及 當該頁面最近有存取時,以該熱資料感知模組設定該頁面之一雜湊位元為1。For example, the control method described in item 18 of the patent application further includes: using a thermal data sensing module to determine whether a page has been accessed recently; and when the page has been accessed recently, using the thermal data sensing module Set one of the hash bits of this page to 1. 如申請專利範圍第19項所述之控制方法,其中該原地更新模組、該外地更新模組、該延遲感知模組、該傳播模組及該熱資料感知模組係設置於一快閃記憶體轉換層中。Such as the control method described in item 19 of the scope of patent application, wherein the in-place update module, the foreign update module, the delay sensing module, the propagation module and the thermal data sensing module are set in a flash In the memory conversion layer.
TW107147061A 2018-12-26 2018-12-26 Flash memory device and controlling method thereof TWI705372B (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI773467B (en) * 2021-02-18 2022-08-01 慧榮科技股份有限公司 Garbage collection operation management

Family Cites Families (4)

* Cited by examiner, † Cited by third party
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

Cited By (5)

* Cited by examiner, † Cited by third party
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