TWI705372B - 快閃記憶體裝置及其控制方法 - Google Patents

快閃記憶體裝置及其控制方法 Download PDF

Info

Publication number
TWI705372B
TWI705372B TW107147061A TW107147061A TWI705372B TW I705372 B TWI705372 B TW I705372B TW 107147061 A TW107147061 A TW 107147061A TW 107147061 A TW107147061 A TW 107147061A TW I705372 B TWI705372 B TW I705372B
Authority
TW
Taiwan
Prior art keywords
update module
page
module
item
patent application
Prior art date
Application number
TW107147061A
Other languages
English (en)
Other versions
TW202024901A (zh
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/zh
Publication of TW202024901A publication Critical patent/TW202024901A/zh
Application granted granted Critical
Publication of TWI705372B publication Critical patent/TWI705372B/zh

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一種快閃記憶體裝置及其控制方法。快閃記憶體裝置包括一記憶體陣列、一原地更新模組、一外地更新模組及一延遲感知模組。原地更新模組用以透過一位元抹除操作或一頁面抹除操作,於記憶體陣列執行一寫入程序或一記憶體回收程序。外地更新模組用以透過一區塊抹除操作或一遷移操作,於記憶體陣列執行寫入程序或記憶體回收程序。延遲感知模組用以判斷原地更新模組之一第一負載與外地更新模組之一第二負載之大小關係。

Description

快閃記憶體裝置及其控制方法
本揭露是有關於一種記憶體裝置及其控制方法,且特別是有關於一種快閃記憶體裝置及其控制方法。
隨著半導體技術的發展,各式記憶體不斷推陳出新。快閃記憶體裝置係為一種電子式(固態)非揮發記憶體,其可以透過電子進行抹除或寫入。但快閃記憶體裝置有以下的限制:雖然快閃記憶體在隨機存取時可以對一頁面(page)進行讀取或寫入,但快閃記憶體僅能夠對一個區塊進行抹除。通常所有的位元會被設為1。在開始時,空閒的區塊之分一位置皆可被寫入。然而,一旦某一位元被設定為0,則必須抹除整個區塊才能將0變回1,此即所謂的區塊抹除操作(block erase operation)。
請參照第1圖,其繪示傳統之快閃記憶體裝置之記憶體回收程序(garbage collection procedure)。由於區塊抹除操作的限制,一區塊中的一個無效頁面(invalid page)(或稱已使用頁面)無法獨立地被抹除為一空閒頁面(free page)。因此,此區塊之有效頁面必須被遷移,然後再將此區塊整個抹除以創建空閒頁面。頻繁的遷移與抹除容易造成延遲(latency)與持久性(endurance)的問題。
本揭露係有關於一種快閃記憶體及其控制方法,其提出快閃記憶體轉換層(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),使得延遲與持久性的問題能夠有效解決。
根據本揭露之第一方面,提出一種快閃記憶體裝置。快閃記憶體裝置包括一記憶體陣列、一原地更新模組(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),於記憶體陣列執行寫入程序或記憶體回收程序。延遲感知模組用以判斷原地更新模組之一第一負載與外地更新模組之一第二負載之大小關係。
根據本揭露之第二方面,提出一種快閃記憶體裝置之控制方法。快閃記憶體裝置包括一記憶體陣列、一原地更新模組(in-place update module)、一外地更新模組(out-of-place update module)及一延遲感知模組(latency-aware module)。控制方法包括以下步驟。以延遲感知模組判斷原地更新模組之一第一負載與外地更新模組之一第二負載之大小關係。
為了對本揭露之上述及其他方面有更佳的瞭解,下文特舉實施例,並配合所附圖式詳細說明如下:
請參照第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)。
請參照第3A~3B圖,其說明位元可修改快閃記憶體陣列之各種操作。在位元可修改記憶體陣列中,+FN電洞注入與-FN電子注入被用來進行寫入與抹除。如第3A圖所示,在位元可修改記憶體陣列之某些位元被寫入,而形成不同的電壓分布。如第3B圖所示,當區塊被抹除時,所有的位元皆為「1」。接著,部分之位元可以被寫入為「0」。然後,部分之位元可以被抹除為「1」。也就是說,位元可修改記憶體陣列可以執行位元抹除操作(bit erase operation)或頁面抹除操作(page erase operation)。
請參照第4圖,其說明透過頁面抹除操作進行記憶體回收程序(garbage collection procedure)。在頁面抹除操作中,一區塊之一無效頁面(invalid page)(或稱已使用頁面)可以獨立地抹除為一空閒頁面。因此,區塊中之有效頁面(valid pages)無須進行遷移,且區塊僅有一部份進行抹除,即可建立空閒頁面。因此,遷移操作可以省略而使負載降低。
如上所述,第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例如是一電路、一晶片、一電路板、軟體程式、或儲存程式碼之儲存裝置。這些元件將說明如後。
請參照第5圖,其繪示快閃記憶體裝置1000之控制方法的「延遲感知寫入機制」之流程圖。在步驟S510中,延遲感知模組212判斷原地更新模組213執行寫入程序之第一負載是否小於外地更新模組214執行寫入程序之第二負載。若第一負載小於第二負載,則進入步驟S520;若第一負載不小於第二負載,則進入步驟S530。
在步驟S520中,原地更新模組213透過位元抹除操作或頁面抹除操作,於記憶體陣列400執行寫入程序。舉例來說,請參照第6圖,其說明透過頁面抹除操作執行寫入程序之一例。在此例中,頁面PN-1之「LBA2」需要被替換為「LBA2*」。在執行寫入程序之前,頁面P0、P2、P3、P4、…皆為無效頁面,頁面P1、PN-1、PN皆為有效頁面。在執行寫入程序之後,區塊BKA之頁面PN-1被抹除,且「LBA2*」被寫入於區塊BKA之頁面PN-1。
在步驟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變為有效頁面。
請參照第8圖,其繪示快閃記憶體裝置1000之控制方法的「延遲感知記憶體回收機制」之流程圖。在步驟S810中,延遲感知模組212判斷原地更新模組213執行記憶體回收程序之第一負載是否小於外地更新模組214執行記憶體回收程序之第二負載。若第一負載小於第二負載,則流程進入步驟S820;若第一負載不小於第二負載,則流程進入步驟S830。
在步驟S820中,原地更新模組213透過位元抹除操作或頁面抹除操作,於記憶體陣列400執行記憶體回收程序。舉例來說,請參照第9圖,其說明透過頁面抹除操作執行記憶體回收程序之一例。在此例中,無效頁面之空間需要被釋放。在執行記憶體回收程序之前,頁面P0、P2、P3、P4、…、PN皆為無效頁面,且頁面P1、PN-1皆為有效頁面。在執行記憶體回收程序之後,區塊BKA之頁面P0、P2、P3、P4、…、PN被抹除為空閒頁面,且區塊BKA之頁面P1、PN-1維持不變。
在步驟S830中,外地更新模組214執行透過區塊抹除操作或遷移操作,於記憶體陣列400執行記憶體回收程序。請參照第10圖,其說明透過遷移操作及區塊抹除操作執行記憶體回收程序之一例。在此例中,無效頁面之空間需要被釋放出來。在執行記憶體回收程序之前,頁面P0、P2、P3、P4、…、PN皆為無效頁面,頁面P1、PN-1皆為有效頁面。在執行記憶體回收程序之後,區塊BKA之頁面P1、PN-1被遷移至另一區塊BKB,且區塊BKA整個被抹除。
請參照第11圖及第12圖。第11圖繪示快閃記憶體裝置1000之控制方法的「循環持久性傳播機制」之流程圖。第12圖說明第11圖之步驟。在步驟S111中,傳播模組215判斷存取計數是否大於一臨界值。若存取計數大於臨界值,則流程進入步驟S112;若存取計數不大於臨界值,則流程返回步驟S111。
在步驟S112中,傳播模組215重設基準指示BP。舉例來說,如第12圖所示,頁面P0包含快取線(cache lines)CL0~CLN。基準指示BP從第一實體列被移動到第二實體列。
在步驟S113中,傳播模組215根據基準指示BP重新分配資料。舉例來說,如第12圖所示,基準指示BP,快取線CL0之資料從第一實體列被移動到第二實體列。
如第12圖所示,基準指示BP係週期性地移動,使得持久性效果可以在快取線CL0~CLN之間傳播。
請參照第13圖及表一。第13圖繪示快閃記憶體裝置1000之控制方法的「熱資料感知精細度機制」(hot-data-aware fine-granularity mechanism)之流程圖。表一係為一雜湊表,其資料係藉由雜湊函式(如mod 4)搜尋得到。在步驟S131中,熱資料感知模組211判斷一頁面最近是否有被存取。若此頁面最近有被存取,則流程進入步驟S132;若此頁面最近未被存取,則流程進入步驟S133。
Figure 107147061-A0304-0001
表一
在步驟S132中,熱資料感知模組211設定此頁面之雜湊位元為1。在步驟S132中,熱資料感知模組211設定此頁面之雜湊位元為0。
根據上述各種實施例,新設計的快閃記憶體轉換層含有「延遲感知寫入機制」、「延遲感知記憶體回收機制」、「循環持久性傳播機制」及「熱資料感知精細度機制」,以充分利用新型態的位元可修改快閃記憶體陣列之位元抹除操作或頁面抹除操作,使得延遲與持久性的問題能夠有效解決。
綜上所述,雖然本揭露已以實施例揭露如上,然其並非用以限定本揭露。本揭露所屬技術領域中具有通常知識者,在不脫離本揭露之精神和範圍內,當可作各種之更動與潤飾。因此,本揭露之保護範圍當視後附之申請專利範圍所界定者為準。
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:步驟
第1圖繪示傳統之快閃記憶體裝置之記憶體回收程序。 第2圖繪示根據一實施例之快閃記憶體裝置。 第3A~3B圖說明位元可修改快閃記憶體陣列之各種操作。 第4圖說明透過頁面抹除操作進行記憶體回收程序。 第5圖繪示快閃記憶體裝置之控制方法的「延遲感知寫入機制」之流程圖。 第6圖說明透過頁面抹除操作執行寫入程序之一例。 第7圖說明透過遷移操作執行寫入程序之一例。 第8圖繪示快閃記憶體裝置之控制方法的「延遲感知記憶體回收機制」之流程圖。 第9圖說明透過頁面抹除操作執行記憶體回收程序之一例。 第10圖說明透過遷移操作及區塊抹除操作執行記憶體回收程序之一例。 第11圖繪示快閃記憶體裝置之控制方法的「循環持久性傳播機制」之流程圖。 第12圖說明第11圖之步驟。 第13圖繪示快閃記憶體裝置之控制方法的「熱資料感知精細度機制」之流程圖。
1000:快閃記憶體裝置
100:檔案系統
200:快閃記憶體轉換層
210:位元可修改感知管理單元
211:熱資料感知模組
212:延遲感知模組
213:原地更新模組
214:外地更新模組
215:傳播模組
300:記憶體技術裝置
400:記憶體陣列

Claims (20)

  1. 一種快閃記憶體裝置,包括: 一記憶體陣列; 一原地更新模組,用以透過一位元抹除操作或一頁面抹除操作,於該記憶體陣列執行一寫入程序或一記憶體回收程序; 一外地更新模組,用以透過一區塊抹除操作或一遷移操作,於該記憶體陣列執行該寫入程序或該記憶體回收程序;以及 一延遲感知模組,用以判斷該原地更新模組之一第一負載與該外地更新模組之一第二負載之大小關係。
  2. 如申請專利範圍第1項所述之快閃記憶體裝置,其中若該原地更新模組之該第一負載小於該外地更新模組之該第二負載,則該原地更新模組執行該寫入程序或該記憶體回收程序。
  3. 如申請專利範圍第2項所述之快閃記憶體裝置,其中於該原地更新模組執行該寫入程序之過程中,一區塊之一頁面被抹除,且資料再被寫入該頁面。
  4. 如申請專利範圍第2項所述之快閃記憶體裝置,其中於該原地更新模組執行該記憶體回收程序之過程中,一區塊之至少一無效頁面被抹除為一空閒頁面,且該區塊之至少一有效頁面維持不變。
  5. 如申請專利範圍第1項所述之快閃記憶體裝置,其中若該原地更新模組之該第一負載不小於該外地更新模組之該第二負載,則該外地更新模組執行該寫入程序或該記憶體回收程序。
  6. 如申請專利範圍第5項所述之快閃記憶體裝置,其中於該外地更新模組執行該寫入程序之過程中,一區塊之一頁面被讀取,且資料再被寫入另一頁面。
  7. 如申請專利範圍第6項所述之快閃記憶體裝置,其中於該外地更新模組執行該記憶體回收程序之過程中,一區塊之至少一有效頁面被遷移至另一區塊,且該區塊之全部均被抹除。
  8. 如申請專利範圍第1項所述之快閃記憶體裝置,更包括: 一傳播模組,用以當存取計數大於一臨界值時,重設一基準指示,且根據該基準指示重新分配資料。
  9. 如申請專利範圍第8項所述之快閃記憶體裝置,更包括: 一熱資料感知模組,用以當一頁面最近有被存取時,設定該頁面之一雜湊位元為1。
  10. 如申請專利範圍第9項所述之快閃記憶體裝置,其中該原地更新模組、該外地更新模組、該延遲感知模組、該傳播模組及該熱資料感知模組係設置於一快閃記憶體轉換層中。
  11. 一種快閃記憶體裝置之控制方法,其中該快閃記憶體裝置包括一記憶體陣列、一原地更新模組、一外地更新模組及一延遲感知模組,該控制方法包括: 以該延遲感知模組判斷該原地更新模組之一第一負載與該外地更新模組之一第二負載之大小關係。
  12. 如申請專利範圍第11項所述之控制方法,更包括: 若該原地更新模組之該第一負載小於該第二負載,則該原地更新模組透過一位元抹除操作或一頁面抹除操作,於該記憶體陣列執行一寫入程序或一記憶體回收程序。
  13. 如申請專利範圍第12項所述之控制方法,其中於該原地更新模組執行該寫入程序之步驟中,一區塊之一頁面被抹除,且資料再被寫入該頁面。
  14. 如申請專利範圍第12項所述之控制方法,其中於該原地更新模組執行該記憶體回收程序之步驟中,一區塊之至少一無效頁面被抹除為一空閒頁面,且該區塊之至少一有效頁面維持不變。
  15. 如申請專利範圍第11項所述之控制方法,更包括: 若該原地更新模組之該第一負載不小於該第二負載,則該外地更新模組透過一區塊抹除操作或一遷移操作,於該記憶體陣列執行該寫入程序或該記憶體回收程序。
  16. 如申請專利範圍第15項所述之控制方法,其中於該外地更新模組執行該寫入程序之步驟中,一區塊之一頁面被讀取,且資料再被寫入另一頁面。
  17. 如申請專利範圍第15項所述之控制方法,於該外地更新模組執行該記憶體回收程序之步驟中,一區塊之至少一有效頁面被遷移至另一區塊,且該區塊之全部均被抹除。
  18. 如申請專利範圍第11項所述之控制方法,更包括: 以一傳播模組判斷一存取計數是否大於一臨界值; 若該存取計數大於該臨界值,則以該傳播模組重設一基準指示;以及 根據該基準指示重新分配資料。
  19. 如申請專利範圍第18項所述之控制方法,更包括: 以一熱資料感知模組判斷一頁面最近是否有被存取;以及 當該頁面最近有存取時,以該熱資料感知模組設定該頁面之一雜湊位元為1。
  20. 如申請專利範圍第19項所述之控制方法,其中該原地更新模組、該外地更新模組、該延遲感知模組、該傳播模組及該熱資料感知模組係設置於一快閃記憶體轉換層中。
TW107147061A 2018-12-26 2018-12-26 快閃記憶體裝置及其控制方法 TWI705372B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW107147061A TWI705372B (zh) 2018-12-26 2018-12-26 快閃記憶體裝置及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW107147061A TWI705372B (zh) 2018-12-26 2018-12-26 快閃記憶體裝置及其控制方法

Publications (2)

Publication Number Publication Date
TW202024901A TW202024901A (zh) 2020-07-01
TWI705372B true TWI705372B (zh) 2020-09-21

Family

ID=73004963

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107147061A TWI705372B (zh) 2018-12-26 2018-12-26 快閃記憶體裝置及其控制方法

Country Status (1)

Country Link
TW (1) TWI705372B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11494299B2 (en) 2021-02-18 2022-11-08 Silicon Motion, Inc. Garbage collection operation management with early garbage collection starting point

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI508231B (zh) * 2012-01-30 2015-11-11 Synopsys Inc 非揮發性記憶體位元晶胞及儲存表示非揮發性記憶體位元晶胞之資料之機器可讀取媒體
TW201544954A (zh) * 2008-09-03 2015-12-01 Marvell World Trade Ltd 多層資料排序
TWI585584B (zh) * 2011-12-29 2017-06-01 英特爾公司 運用直接存取的多階記憶體
TWI645415B (zh) * 2017-02-06 2018-12-21 旺宏電子股份有限公司 記憶體裝置及操作記憶體裝置的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201544954A (zh) * 2008-09-03 2015-12-01 Marvell World Trade Ltd 多層資料排序
TWI585584B (zh) * 2011-12-29 2017-06-01 英特爾公司 運用直接存取的多階記憶體
TWI508231B (zh) * 2012-01-30 2015-11-11 Synopsys Inc 非揮發性記憶體位元晶胞及儲存表示非揮發性記憶體位元晶胞之資料之機器可讀取媒體
TWI645415B (zh) * 2017-02-06 2018-12-21 旺宏電子股份有限公司 記憶體裝置及操作記憶體裝置的方法

Also Published As

Publication number Publication date
TW202024901A (zh) 2020-07-01

Similar Documents

Publication Publication Date Title
US8463826B2 (en) Incremental garbage collection for non-volatile memories
US9507711B1 (en) Hierarchical FTL mapping optimized for workload
Pan et al. Quasi-nonvolatile SSD: Trading flash memory nonvolatility to improve storage system performance for enterprise applications
US8595414B2 (en) Selectively combining commands for a system having non-volatile memory
US7761652B2 (en) Mapping information managing apparatus and method for non-volatile memory supporting different cell types
US10777271B2 (en) Method and apparatus for adjusting demarcation voltages based on cycle count metrics
US10599345B2 (en) Memory device that writes data into a block based on time passage since erasure of data from the block
JP2013516716A (ja) 電流スパイクを制限するための制御及び食い違い動作
US10338826B2 (en) Managed-NAND with embedded random-access non-volatile memory
WO2019068012A1 (en) METHOD AND APPARATUS FOR SPECIFYING READ VOLTAGE SHIFTS FOR READING CONTROL
JP2010027026A (ja) メモリストレージ装置及びその制御方法
US11526438B2 (en) Memory system capable of increasing storage efficiency and operation method thereof
US20230244408A1 (en) Apparatus and method for erasing data programmed in a non-volatile memory block in a memory system multiple times
EP3926451B1 (en) Communication of data relocation information by storage device to host to improve system performance
KR20170108334A (ko) 메모리 시스템 및 그 동작 방법
CN111796771A (zh) 闪存控制器、固态硬盘及其控制器、闪存命令管理方法
US9823880B1 (en) Method and apparatus for initiating pre-read operation before completion of data load operation
US20080109612A1 (en) Dynamic Code Relocation for Low Endurance Memories
US20130326127A1 (en) Sub-block Accessible Nonvolatile Memory Cache
US11656777B2 (en) Memory system and operating method thereof
TWI705372B (zh) 快閃記憶體裝置及其控制方法
TW202015045A (zh) 寫入控制方法以及資料儲存裝置及其控制器
US10031699B1 (en) Read voltage determination in a memory device
Lee et al. Adaptive paired page prebackup scheme for mlc nand flash memory
KR20170051843A (ko) 호스트 장치가 스토리지 장치를 제어하는 방법 및 호스트 장치와 스토리지 장치를 포함하는 메모리 시스템