TWI604455B - 資料儲存裝置、記憶體控制器及其資料管理方法與資料區塊管理方法 - Google Patents

資料儲存裝置、記憶體控制器及其資料管理方法與資料區塊管理方法 Download PDF

Info

Publication number
TWI604455B
TWI604455B TW105114892A TW105114892A TWI604455B TW I604455 B TWI604455 B TW I604455B TW 105114892 A TW105114892 A TW 105114892A TW 105114892 A TW105114892 A TW 105114892A TW I604455 B TWI604455 B TW I604455B
Authority
TW
Taiwan
Prior art keywords
data
data block
threshold
readings
management method
Prior art date
Application number
TW105114892A
Other languages
English (en)
Other versions
TW201740386A (zh
Inventor
Po Sheng Chou
Huan Jung Yeh
Original Assignee
Silicon Motion 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 Silicon Motion Inc filed Critical Silicon Motion Inc
Priority to TW105114892A priority Critical patent/TWI604455B/zh
Priority to CN201710092224.3A priority patent/CN107368429B/zh
Priority to US15/472,221 priority patent/US10062442B2/en
Application granted granted Critical
Publication of TWI604455B publication Critical patent/TWI604455B/zh
Publication of TW201740386A publication Critical patent/TW201740386A/zh
Priority to US16/038,145 priority patent/US10600491B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Description

資料儲存裝置、記憶體控制器及其資料管理方法與資料區塊管理方法
本發明是有關於一種資料區塊的管理方法,尤其是有關於一種可有效減少資料損壞的資料區塊管理方法,以及其所對應的記憶體控制器與資料儲存裝置。
非揮發性記憶體為一種電子式記憶裝置,其具有不需額外電力維持資訊、快速資料讀取以及抗震等能力,因此被廣泛的應用於記憶卡、固態硬碟以及可攜式多媒體裝置等。當儲存於非揮發性記憶體中的資料區塊(Data Block)的資料被多次重複讀取時,資料區塊可能會出現讀取擾動(Read Disturbance)的情況,又由於非揮發性記憶體本身電性以及持續讀寫非揮發性記憶體對儲存電荷所造成的影響,會引發資料保存(data retention)的問題,即資料區塊所儲存的資料易發生毀損的情況,因此資料區塊在此時就必須進行刷新(Refresh),即進行資料的搬移。然若無法即時對資料區塊進行刷新,將會導致資料區塊所儲存的資料不正確且無法復原的情況發生。
為了解決上述資料區塊無法即時刷新導致儲存的資料損壞的缺憾,本發明提出一種可用於資料儲存裝置之資料區塊管理方法的實施例,其步驟包括:讀取資料區塊的至少一複數資料頁;更新至少一複數資料頁的複數讀取次數;判斷資料區塊的一讀取次數是否大於或等於一讀取門檻值,其中,資料區塊的讀取次數係選自於複數資料頁的複數讀取次數;以及當判斷為是,將資料區塊的資料儲存至一空白的資料區塊;其中,當資料區塊的一抹除次數大於或等於一抹除門檻值,更新讀取門檻值。
本發明更提出一種資料管理的方法實施例,其步驟包括:記錄複數資料頁的複數讀取次數;記錄該些資料頁所對應之一資料區塊的一抹除次數;判斷該資料區塊的一讀取次數是否大於等於一讀取門檻值,該資料區塊的該讀取次數係選自於該些資料頁的該些讀取次數;以及當判斷為是,對該資料區塊進行一資料搬移程序;其中,當該抹除次數大於或等於一抹除門檻值,更新該讀取門檻值。
本發明提出一種用於資料區塊管理方法的資料儲存裝置實施例,其包括:非揮發性記憶體,包括至少一該資料區塊,以及記憶體控制器,記憶體控制器與非揮發性記憶體電性耦接,記憶體控制器是用以記錄複數資料頁的複數讀取次數以及記錄複數資料頁所對應之一資料區塊的一抹除次數,記憶體控制器並判斷資料區塊的一讀取次數是否大於等於一讀取門檻值,資料區塊的讀取次數係選自於複數資料頁的複數讀取次數,當判斷為是,記憶體控制器對 資料區塊進行一資料搬移程序,其中,抹除次數大於或等於一抹除門檻值時,記憶體控制器更新讀取門檻值。
本發明更提出一種用於資料區塊管理方法的記憶體控制器,其包括:第一通訊介面,用以與主機通訊以接收來自主機的指令;第二通訊介面,用以與非揮發性記憶體通訊以存取非揮發性記憶體,非揮發性記憶體包括多個資料區塊,每一資料區塊包括多個資料頁;以及微處理器與第一通訊介面以及第二通訊介面電性耦接,微處理器記錄複數資料頁的複數讀取次數以及記錄複數資料頁所對應之一資料區塊的一抹除次數,微處理器並判斷資料區塊的一讀取次數是否大於等於一讀取門檻值,資料區塊的讀取次數係選自於複數資料頁的複數讀取次數,當判斷為是,微處理器對資料區塊進行一資料搬移程序,其中,抹除次數大於或等於一抹除門檻值時,記憶體控制器更新讀取門檻值。
本發明因可根據資料區塊的抹除次數動態調整資料區塊的讀取門檻值,也就是根據資料區塊的使用狀態調整讀取門檻值,因此可更精準的對資料區塊進行刷新,以避免資料區塊的資料發生因刷新不及而無法復原的情況。
為讓本發明之上述和其他目的、特徵和優點能更明顯易懂,下文特舉較佳實施例並配合所附圖式做詳細說明如下。
10‧‧‧主機
20‧‧‧資料儲存裝置
21‧‧‧記憶體控制器
211‧‧‧微處理器
212‧‧‧第一通訊介面
213‧‧‧第二通訊介面
22‧‧‧非揮發性記憶體
23‧‧‧資料區塊
231、232、233、234、235‧‧‧資料頁
231a、232a、233a、234a、235a‧‧‧資料區
231b、232b、233b、234b、235b‧‧‧備用區
24‧‧‧溫度偵測器
201、203、205、207、301、303、305、307、309‧‧‧步驟
圖1為本發明之系統架構實施例示意圖。
圖2A為本發明之資料區塊管理方法步驟流程實施例一示意圖。
圖2B為本發明之資料區塊實施例示意圖。
圖3為本發明之讀取門檻值的調整方法步驟流程實施例一示意圖。
圖1為本發明之系統實施例,其包括主機10以及資料儲存裝置20,主機10與資料儲存裝置20電性耦接,主機10可以為桌上型電腦或平板電腦等電子裝置,資料儲存裝置20是用以接收由主機10所傳送的寫入指令或讀取指令,並根據寫入指令將接收的資料寫入資料儲存裝置20中,或根據讀取指令讀取儲存於資料儲存裝置20中的資料。資料儲存裝置20更包括了記憶體控制器21以及非揮發性記憶體22,非揮發性記憶體22例如為快閃記憶體(Flash Memory)、磁阻式隨機存取記憶體(Maghetoresistive RAM)、鐵電隨機存取記憶體(Ferroelectric RAM)、相變記憶體(Phase-change memory)等具有長時間資料保存之資料儲存媒體。
非揮發性記憶體22並包括多個記憶單元(Cell),每一記憶單元可記錄至少一個位元(Bit)的資料,例如單層式記憶單元(Single-Level Cell,SLC)可用以記錄一個位元的資料,多層式記憶單元(Multi-Level Cell,MLC)可用以記錄兩個位元的資料,三層式記憶單元(Triple-Level Cell,TLC)則可用以記錄三個位元的資料,但不以此為限。在一些實施例中,非揮發性記憶體22可包括多個單層式記憶單元以及多個三層式記憶單元,其中,以單層式記憶單元所組成的資料區塊可稱為單層式資料區塊,而以三層式記憶單元所組成的資料區塊可稱為三層式資料區塊。另外,單層式記憶單元可由三層式記憶單元來模擬,即三層式記憶單元切換至單層式記憶單元的工作模式,使其僅用以紀錄一個位元的資料。資料儲存 容量雖然降低,但提供了資料快速存取的效果。另外,使用者可以依其需求而將多個三層式記憶單元代換成多個多層式記憶單元,或將多個多層式記憶單元代換成多個單層式記憶單元,下述中將以多個單層式記憶單元以及多個三層式記憶單元為例進行說明,但不以此為限。此外,上述之每一資料區塊並包括多個資料頁。
記憶體控制器21與非揮發性記憶體22電性耦接,並用以根據上述之寫入指令或讀取指令,對非揮發性記憶體22進行寫入資料或者讀取資料的動作。記憶體控制器21更包括了微處理器211、第一通訊介面212以及第二通訊介面213,微處理器211與第一通訊介面212以及第二通訊介面213電性耦接,第一通訊介面212用以接收來自主機10的讀取指令或寫入指令,第一通訊介面212例如為SATA介面(Serial Advanced Technology Attachment)、序列式SCSI介面(SAS,Serial Attached SCSI)、通用序列匯流排(Universal Serial Bus,USB)、快捷外設互聯標準(PCI Express,Peripheral Component Interconnect Express)、通用快閃記憶體儲存裝置(UFS,Universal Flash Storage)、多媒體記憶卡(eMMC,embeded MultiMedia Card)以及SDIO介面(Secure Digital Input/Output),第二通訊介面213與非揮發性記憶體22電性耦接,是用以與非揮發性記憶體22通訊以存取非揮發性記憶體22,第二通訊介面213例如為開放式NAND快閃記憶體介面(ONFI,Open NAND Flash Interface)或Toggle。
接著請參考圖2A,圖2A為本發明之資料區塊管理方法實施例一,首先,當圖1的資料儲存裝置20接收到主機10所傳送的讀取指令時,圖1的微處理器211會藉由第二通訊介面213讀取非揮發性 記憶體22中對應讀取指令的資料區塊的至少一個資料頁,即步驟201。接著在步驟203,微處理器211會更新被讀取的資料頁所對應之讀取次數,例如將讀取次數加一,其中,資料頁可包括資料區以及備用區,資料區包括多個資料區段(sector)以儲存資料以及循環冗餘檢查(Cyclic Redundancy Check,CRC);備用區用以儲存額外的資料,例如:讀取次數以及詮釋資料(Metadata);或者,使用者亦使用資料區塊的一個資料頁來記錄同一資料區塊中其餘資料頁的讀取次數;或者,使用者亦指定一個資料區塊來記錄其他資料區塊的資料頁的讀取次數;或者,使用者亦可使用主機10或資料儲存裝置20內建的隨機存取記憶體(Random Access Memory,RAM)來記錄全部或使用中資料區塊的所有資料頁的讀取次數,並於適當的時間將讀取次數寫入資料區塊的資料頁中;或於關機或電源消失事件發生時,將讀取次數寫入指定的資料區塊的資料頁中。由於上述實施方式的原理皆相同或類似,使用者可依其需求而採用適當的方式來記錄資料頁的讀取次數,故在下述說明中不作額外的說明。
在步驟205中,微處理器211將判斷資料區塊23的讀取次數是否已等於或大於讀取門檻值。其中,所述資料區塊23的讀取次數較佳是此資料區塊的多個資料頁的多個讀取次數中的最大值。以圖2B為例,但不以此為限,資料區塊23包括資料頁231至235,資料頁231包括有多個資料區231a以及用以儲存讀取次數的備用區231b,資料頁232包括有多個資料區232a以及用以儲存讀取次數的備用232b,資料頁233包括有多個資料區233a以及用以儲存讀取次數的備用區233b,資料頁234包括有多個資料區234a以及用以儲存 讀取次數的備用區234b,資料頁235包括有多個資料區235a以及用以儲存讀取次數的備用區235b,其中,資料頁231的讀取次數為1,資料頁232的讀取次數為3,資料頁233的讀取次數為9,資料頁234的讀取次數為2,資料頁235的讀取次數為7,因此,讀取次數最高的為資料頁233的讀取次數,即為此資料區塊23的讀取次數。當微處理器211在步驟205判斷為是,進行步驟207,若判斷為否則結束此流程,等待下一次的讀取。
在其他實施例中,資料區塊23的讀取次數可為其他類型的數值,例如,讀取次數可為多個資料頁的多個讀取次數中的最小值、平均值或指定資料頁(例如第一資料頁)的讀取次數。
在步驟207中,由於微處理器211判斷資料區塊23的讀取次數已經等於或大於讀取門檻值,也就是資料區塊23已經被頻繁地讀取,資料發生損壞的機率提高,因此微處理器211會啟動資料搬移的程序,將資料區塊23的資料搬移或儲存至另一空白的資料區塊(不含有效資料的資料區塊)中,結束此流程。當資料儲存至另一空白的資料區塊的同時,微處理器211可啟動垃圾回收(garbage collection)程序以使資料區塊23變更成一個空白的資料區塊;另外,微處理器211可依據耗損平均(wear leveling)程序來挑選空白的資料區塊以儲存資料區塊23的資料,當空白的資料區塊開始儲存資料後,可被稱之為使用中的資料區塊。
另外,當資料儲存裝置20包括不同種類的資料區塊時,讀取門檻值較佳會因為資料區塊的類型不同而有所不同,例如上述的單層式資料區塊的讀取門檻值較佳為大於或等於三層式資料區塊的讀取門檻值;切換至單層式記憶單元工作模式的三層式記憶單元 的讀取門檻值較佳為大於或等於三層式資料區塊的讀取門檻值;而因為資料頁尚未被寫滿而處於字元線開啟(word line open)狀態的資料區塊的讀取門檻值較佳為小於或等於未處於字元線開啟狀態的資料區塊。也因為資料區塊的類型不同,在步驟205中微處理器211係分別判斷當前資料區塊的讀取次數已經等於或大於讀取門檻值。想當然爾,使用者也可以設定相同的讀取門檻值至不同類型的資料區塊以簡化資料區塊的管理。
接著請參考圖3,圖3為本發明讀取門檻值的調整方法實施例一,首先在步驟301,微處理器211抹除資料區塊23的所有儲存資料,例如微處理器211啟動垃圾回收(garbage collection)程序以刪除資料區塊23的儲存資料。在步驟303,微處理器211更新資料區塊23的抹除次數,例如以抹除次數加一來更新抹除次數。接著在步驟305中,微處理器211判斷資料區塊23的抹除次數是否大於或等於抹除門檻值,當判斷為是,進行步驟307;當判斷為否結束此流程。在步驟307中,微處理器211更新讀取門檻值,使微處理器211執行本發明之資料區塊管理方法的步驟205時以更新後的讀取門檻值進行判斷。接著在步驟309,微處理器211將會更新抹除門檻值,其中,更新後的抹除門檻值與更新後的讀取門檻值具有反相關係,即抹除門檻值增加但讀取門檻值降低。當資料區塊的抹除次數再次等於或大於更新後的抹除門檻值時,微處理器211將於步驟307及309分別再次更新讀取門檻值及抹除門檻值。
讀取門檻值及抹除門檻值之更新說明如下。首先,以資料區塊23為單層式資料區塊為例,單層式資料區塊之平均抹除壽命例如為20,000次,此平均抹除壽命即單層式資料區塊在無明顯的資料 保存問題下平均可進行抹除的次數。資料區塊23預設之讀取門檻值為1百萬次,預設之抹除門檻值為0。隨著抹除次數之增加,抹除門檻值較佳以10%的平均抹除壽命為單位來進行更新,即每2,000次(=20,000*10%)更新一次,因此,抹除門檻值第一次更新後為2,000次,第二次更新後為4,000,以此類推,第九次更新後為18,000次,以上數值皆是用以說明本發明,不以此為限。因此當微處理器211在步驟305中判斷資料區塊當前的抹除次數等於或大於抹除門檻值,例如抹除次數之值累加至2,000時,微處理器211第一次執行步驟307時,將(預設之)讀取門檻值與一比例設定值相乘來更新讀取門檻值,其中,比例設定值較佳為平均抹除壽命減去抹除次數後再除以平均抹除壽命(=(20,000-2,000)/20,000)的百分比,即為90%,因此,經過相乘後,讀取門檻值被更新為讀取門檻值的90%。接著在步驟309中,微處理器211會將抹除門檻值更新為4,000次。因此當抹除次數再次大於或等於抹除門檻值時,讀取門檻值會被更新為初始讀取門檻值的80%。依此類推,將可得到下面查找表之數值,其中,K表示一千次,M表示一百萬次。
除了使用固定值之外,使用者亦可依據其他方式來設定預設之讀取門檻值。例如,單層式資料區塊之預設之讀取門檻值較佳等於第一預設值與單層式資料區塊的資料頁個數相乘的結果,三層 式資料區塊之預設之讀取門檻值較佳等於第二預設值與三層式資料區塊的資料頁個數相乘的結果,開啟狀態的三層式資料區塊之預設之讀取門檻值較佳等於第三預設值與三層式資料區塊的資料頁個數相乘的結果,其中,由於三層式資料區塊的平均抹除壽命較單層式資料區塊低,又開啟狀態的三層式資料區塊更容易受到讀取擾動的影響,因此第一預設值可大於第二預設值,第二預設值可大於第三預設值,藉此根據不同的資料區塊狀態設定不同的預設之讀取門檻值,使本發明資料區塊管理方法可更有效地執行。第一預設值、第二預設值以及第三預設值可以為不同類型資料區塊的平均讀取壽命值,但不以此為限。此外,上述之資料區塊讀取次數、讀取門檻值、預設之讀取門檻值、抹除次數、抹除門檻值、查找表等可儲存於用以儲存重要系統資訊的資料區塊的至少一資料頁中,例如為單層式資料區塊的至少一資料頁中。
在其他實施例中,比例設定值更可以加入一溫度參數。資料儲存裝置20可包括與微處理器211電性耦接的溫度偵測器24,如圖1所示,溫度偵測器24可提供一環境溫度值給微處理器211以計算出一平均溫度值。假設溫度區間值為75,平均溫度值為50(攝氏50度),則溫度參數等於溫度區間值減去平均溫度值後再除以溫度區間值(=(75-50)/75),則比例設定值可變更為原比例設定值再乘以溫度參數。如此一來,在資料區塊管理方法能更符合實際上之需求。
使用者可依據上述步驟而建立上述的查找表,並於步驟205中作為讀取門檻值之依據。如此一來,微處理器211可省略本發明讀取門檻值的調整方法之執行,提供更佳的效能。
綜上所述,隨著抹除次數的增加,資料保存的問題將更為顯著,本發明之資料區塊管理方法及資料管理方法可根據資料區塊23的抹除次數來動態的調整資料區塊23的讀取門檻值,及早對高抹除次數的資料區塊23進行刷新,避免資料區塊因資料保存問題、讀取擾動或抹除壽命過低而造成儲存資料損壞的情況發生。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何熟習此技術者,在不脫離本發明之精神和範圍內,當可做些許之更動與潤飾,因此本發明之保護範圍當視後付之申請專利範圍所界定者為準。
301、303、305、307、309‧‧‧步驟

Claims (20)

  1. 一種可用於資料儲存裝置之資料區塊管理方法,其步驟包括: 讀取該資料區塊的至少一複數資料頁; 更新至少一該些資料頁的複數讀取次數; 判斷該資料區塊的一讀取次數是否大於或等於一讀取門檻值,其中,該資料區塊的該讀取次數係選自於該些資料頁的該些讀取次數;以及 當判斷為是,將該資料區塊的資料儲存至一空白的資料區塊; 其中,當該資料區塊的一抹除次數大於或等於一抹除門檻值,更新該讀取門檻值。
  2. 如第1項所述之資料區塊管理方法,其中該更新該讀取門檻值更包括以下步驟: 抹除該資料區塊; 更新該資料區塊的該抹除次數; 判斷該資料區塊的該抹除次數是否大於或等於該抹除門檻值;以及 當判斷為是,根據該抹除次數更新該資料區塊的該讀取門檻值。
  3. 如第2項所述之資料區塊管理方法,其步驟更包括:更新該抹除門檻值。
  4. 如第1項所述之資料區塊管理方法,其中,該資料區塊的該讀取次數為該資料區塊的該些資料頁的該些讀取次數中的一最大值。
  5. 如第1項所述之資料區塊管理方法,其中,更新該讀取門檻值之步驟更包括: 當該資料區塊的該抹除次數大於或等於該抹除門檻值,降低該讀取門檻值。
  6. 如第1項所述之資料區塊管理方法,其中,當該資料區塊的該抹除次數大於或等於該抹除門檻值,依據一比例設定值來更新該讀取門檻值。
  7. 如第1項所述之資料區塊管理方法,其中,當該資料區塊的該抹除次數大於或等於該抹除門檻值,依據一比例設定值以及一溫度參數來更新該讀取門檻值。
  8. 一種資料管理的方法,其步驟包括: 記錄複數資料頁的複數讀取次數; 記錄該些資料頁所對應之一資料區塊的一抹除次數; 判斷該資料區塊的一讀取次數是否大於等於一讀取門檻值,該資料區塊的該讀取次數係選自於該些資料頁的該些讀取次數;以及 當判斷為是,對該資料區塊進行一資料搬移程序; 其中,當該抹除次數大於或等於一抹除門檻值,更新該讀取門檻值。
  9. 如第8項所述之資料管理方法,其中當該抹除次數大於或等於該抹除門檻值,更新該讀取門檻值更包括以下步驟: 當完成該資料搬移程序後,更新該抹除次數; 判斷該資料區塊的該抹除次數是否大於或等於該抹除門檻值;以及 當判斷為是,根據該抹除次數更新該讀取門檻值。
  10. 如第8項所述之資料管理方法,其步驟更包括:更新該抹除門檻值。
  11. 如第8項所述之資料管理方法,其中,該資料區塊的該讀取次數為該些資料頁的該些讀取次數的一最大值。
  12. 如第9項所述之資料管理方法,其中,根據該抹除次數更新該讀取門檻值係根據該抹除次數降低該讀取門檻值。
  13. 如第11項所述之資料管理方法,其中,當該資料區塊的該抹除次數大於或等於該抹除門檻值,依據一比例設定值來更新該讀取門檻值。
  14. 如第8項所述之資料管理方法,其中,當該資料區塊的該抹除次數大於或等於該抹除門檻值,依據一比例設定值以及一溫度參數來更新該讀取門檻值。
  15. 一種用於資料區塊管理方法的資料儲存裝置,其包括: 一非揮發性記憶體,包括至少一該資料區塊;以及 一記憶體控制器,該記憶體控制器與該非揮發性記憶體電性耦接,該記憶體控制器是用以記錄複數資料頁的複數讀取次數以及記錄該些資料頁所對應之一資料區塊的一抹除次數,該記憶體控制器並判斷該資料區塊的一讀取次數是否大於等於一讀取門檻值,該資料區塊的該讀取次數係選自於該些資料頁的該些讀取次數,當判斷為是,該記憶體控制器對該資料區塊進行一資料搬移程序,其中,該抹除次數大於或等於一抹除門檻值時,該記憶體控制器更新該讀取門檻值。
  16. 如第15項所述之資料儲存裝置,其中,當該記憶體控制器更新該讀取門檻值,該記憶體控制器亦更新該抹除門檻值。
  17. 如第15項所述之資料儲存裝置,其中,該資料區塊的該讀取次數為該些資料頁的該些讀取次數的一最大值。
  18. 如第15項所述之資料儲存裝置,其中,該記憶體控制器更新該讀取門檻值更包括:該記憶體控制器降低該讀取門檻值。
  19. 如第15項所述之資料儲存裝置,其中,當該資料區塊的該抹除次數大於或等於該抹除門檻值,依據一比例設定值來更新該讀取門檻值。
  20. 如第15項所述之資料儲存裝置,其中,當該資料區塊的該抹除次數大於或等於該抹除門檻值,該記憶體控制器依據一比例設定值以及一溫度參數來更新該讀取門檻值。
TW105114892A 2016-05-13 2016-05-13 資料儲存裝置、記憶體控制器及其資料管理方法與資料區塊管理方法 TWI604455B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
TW105114892A TWI604455B (zh) 2016-05-13 2016-05-13 資料儲存裝置、記憶體控制器及其資料管理方法與資料區塊管理方法
CN201710092224.3A CN107368429B (zh) 2016-05-13 2017-02-21 数据储存装置、内存控制器及其数据管理方法与数据区块管理方法
US15/472,221 US10062442B2 (en) 2016-05-13 2017-03-28 Method for managing data blocks and method of data management for data storage device
US16/038,145 US10600491B2 (en) 2016-05-13 2018-07-17 Method for managing data blocks and method of data management for data storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW105114892A TWI604455B (zh) 2016-05-13 2016-05-13 資料儲存裝置、記憶體控制器及其資料管理方法與資料區塊管理方法

Publications (2)

Publication Number Publication Date
TWI604455B true TWI604455B (zh) 2017-11-01
TW201740386A TW201740386A (zh) 2017-11-16

Family

ID=60297492

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105114892A TWI604455B (zh) 2016-05-13 2016-05-13 資料儲存裝置、記憶體控制器及其資料管理方法與資料區塊管理方法

Country Status (3)

Country Link
US (2) US10062442B2 (zh)
CN (1) CN107368429B (zh)
TW (1) TWI604455B (zh)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9324398B2 (en) 2013-02-04 2016-04-26 Micron Technology, Inc. Apparatuses and methods for targeted refreshing of memory
US9047978B2 (en) 2013-08-26 2015-06-02 Micron Technology, Inc. Apparatuses and methods for selective row refreshes
JP2015219938A (ja) 2014-05-21 2015-12-07 マイクロン テクノロジー, インク. 半導体装置
JP2017182854A (ja) 2016-03-31 2017-10-05 マイクロン テクノロジー, インク. 半導体装置
TWI604455B (zh) * 2016-05-13 2017-11-01 Silicon Motion Inc 資料儲存裝置、記憶體控制器及其資料管理方法與資料區塊管理方法
CN109935264B (zh) * 2017-12-18 2021-03-26 北京兆易创新科技股份有限公司 一种存储单元的擦除方法、装置及存储器
US10261692B1 (en) * 2017-12-20 2019-04-16 Winbond Electronics Corp. Non-volatile memory and erase controlling method thereof
US10580475B2 (en) 2018-01-22 2020-03-03 Micron Technology, Inc. Apparatuses and methods for calculating row hammer refresh addresses in a semiconductor device
US10740181B2 (en) 2018-03-06 2020-08-11 Western Digital Technologies, Inc. Failed storage device rebuild method
US10860446B2 (en) * 2018-04-26 2020-12-08 Western Digital Technologiies, Inc. Failed storage device rebuild using dynamically selected locations in overprovisioned space
KR102578188B1 (ko) * 2018-05-15 2023-09-14 에스케이하이닉스 주식회사 메모리 컨트롤러 및 이의 동작 방법
US11152050B2 (en) 2018-06-19 2021-10-19 Micron Technology, Inc. Apparatuses and methods for multiple row hammer refresh address sequences
US10831603B2 (en) 2018-08-03 2020-11-10 Western Digital Technologies, Inc. Rebuild assist using failed storage device
US10824526B2 (en) 2018-08-03 2020-11-03 Western Digital Technologies, Inc. Using failed storage device in peer-to-peer storage system to perform storage-centric task
US10901848B2 (en) 2018-08-03 2021-01-26 Western Digital Technologies, Inc. Storage systems with peer data recovery
US11256427B2 (en) * 2018-12-28 2022-02-22 Micron Technology, Inc. Unauthorized memory access mitigation
US11182258B2 (en) 2019-01-04 2021-11-23 Western Digital Technologies, Inc. Data rebuild using dynamic peer work allocation
US10770127B2 (en) * 2019-02-06 2020-09-08 Micron Technology, Inc. Apparatuses and methods for managing row access counts
US11043254B2 (en) 2019-03-19 2021-06-22 Micron Technology, Inc. Semiconductor device having cam that stores address signals
US11264096B2 (en) 2019-05-14 2022-03-01 Micron Technology, Inc. Apparatuses, systems, and methods for a content addressable memory cell with latch and comparator circuits
US11158364B2 (en) 2019-05-31 2021-10-26 Micron Technology, Inc. Apparatuses and methods for tracking victim rows
US11158373B2 (en) 2019-06-11 2021-10-26 Micron Technology, Inc. Apparatuses, systems, and methods for determining extremum numerical values
TWI705331B (zh) * 2019-06-24 2020-09-21 群聯電子股份有限公司 有效資料合併方法、記憶體控制電路單元與記憶體儲存裝置
US10832792B1 (en) 2019-07-01 2020-11-10 Micron Technology, Inc. Apparatuses and methods for adjusting victim data
US11139015B2 (en) 2019-07-01 2021-10-05 Micron Technology, Inc. Apparatuses and methods for monitoring word line accesses
US11392292B2 (en) * 2019-07-15 2022-07-19 Micron Technology, Inc. Maintenance operations for memory devices
CN112233715B (zh) * 2019-07-15 2024-06-18 美光科技公司 用于存储器系统的维护操作
US11386946B2 (en) 2019-07-16 2022-07-12 Micron Technology, Inc. Apparatuses and methods for tracking row accesses
US10943636B1 (en) 2019-08-20 2021-03-09 Micron Technology, Inc. Apparatuses and methods for analog row access tracking
US10964378B2 (en) 2019-08-22 2021-03-30 Micron Technology, Inc. Apparatus and method including analog accumulator for determining row access rate and target row address used for refresh operation
US11200942B2 (en) 2019-08-23 2021-12-14 Micron Technology, Inc. Apparatuses and methods for lossy row access counting
CN111240592B (zh) * 2020-01-05 2022-11-15 苏州浪潮智能科技有限公司 一种固态硬盘的数据维护方法和装置
CN111785315B (zh) * 2020-06-29 2021-03-23 深圳市芯天下技术有限公司 降低擦除干扰和擦除时间的方法、系统、存储介质及终端
US11222682B1 (en) 2020-08-31 2022-01-11 Micron Technology, Inc. Apparatuses and methods for providing refresh addresses
CN112256198B (zh) * 2020-10-21 2023-12-19 成都佰维存储科技有限公司 Ssd数据读取方法、装置、可读存储介质及电子设备
US11462291B2 (en) 2020-11-23 2022-10-04 Micron Technology, Inc. Apparatuses and methods for tracking word line accesses
US11482275B2 (en) 2021-01-20 2022-10-25 Micron Technology, Inc. Apparatuses and methods for dynamically allocated aggressor detection
US11600314B2 (en) 2021-03-15 2023-03-07 Micron Technology, Inc. Apparatuses and methods for sketch circuits for refresh binning
US11579797B2 (en) * 2021-04-29 2023-02-14 Micron Technology, Inc. Memory sub-system refresh
US11664063B2 (en) 2021-08-12 2023-05-30 Micron Technology, Inc. Apparatuses and methods for countering memory attacks
US11688451B2 (en) 2021-11-29 2023-06-27 Micron Technology, Inc. Apparatuses, systems, and methods for main sketch and slim sketch circuit for row address tracking

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6763424B2 (en) * 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
US6944063B2 (en) * 2003-01-28 2005-09-13 Sandisk Corporation Non-volatile semiconductor memory with large erase blocks storing cycle counts
JP5661227B2 (ja) * 2007-02-07 2015-01-28 株式会社メガチップス メモリコントローラ
TWI372397B (en) * 2007-08-06 2012-09-11 Ind Tech Res Inst Method and system of defect management for storage medium
CN101419834B (zh) * 2007-10-22 2011-03-30 群联电子股份有限公司 平均磨损方法及使用此方法的控制器
EP2077559B1 (en) * 2007-12-27 2012-11-07 Hagiwara Solutions Co., Ltd. Refresh method of a flash memory
CN101494085B (zh) * 2008-01-22 2015-09-30 群联电子股份有限公司 防止非易失性存储器发生读取干扰的方法及其控制器
TWI375953B (en) 2008-02-21 2012-11-01 Phison Electronics Corp Data reading method for flash memory, controller and system therof
US8082386B2 (en) * 2008-10-21 2011-12-20 Skymedi Corporation Method of performing wear leveling with variable threshold
CN102193869B (zh) * 2010-03-01 2015-05-20 群联电子股份有限公司 存储器管理与写入方法及其存储器控制器与储存系统
CN103092766B (zh) * 2012-12-28 2015-09-30 北京时代民芯科技有限公司 一种用于nand flash的均衡损耗实现方法
TWI489469B (zh) 2013-03-26 2015-06-21 Phison Electronics Corp 資料讀取方法、控制電路、記憶體模組與記憶體儲存裝置
CN104298465B (zh) * 2013-07-17 2017-06-20 光宝电子(广州)有限公司 固态储存装置中的区块分组方法
US9361182B2 (en) * 2014-05-20 2016-06-07 Transcend Information, Inc. Method for read disturbance management in non-volatile memory devices
TWI604455B (zh) * 2016-05-13 2017-11-01 Silicon Motion Inc 資料儲存裝置、記憶體控制器及其資料管理方法與資料區塊管理方法

Also Published As

Publication number Publication date
US10600491B2 (en) 2020-03-24
US20170329542A1 (en) 2017-11-16
US10062442B2 (en) 2018-08-28
CN107368429B (zh) 2021-02-09
CN107368429A (zh) 2017-11-21
US20180322936A1 (en) 2018-11-08
TW201740386A (zh) 2017-11-16

Similar Documents

Publication Publication Date Title
TWI604455B (zh) 資料儲存裝置、記憶體控制器及其資料管理方法與資料區塊管理方法
US11593259B2 (en) Directed sanitization of memory
TWI597605B (zh) 用於資料儲存裝置的損耗平均方法
US8103820B2 (en) Wear leveling method and controller using the same
US8503257B2 (en) Read disturb scorecard
TWI707232B (zh) 快閃記憶體控制器及相關的存取方法及電子裝置
US10283196B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
US10824366B2 (en) Method for recording duration of use of data block, method for managing data block using the same and related device
KR102113212B1 (ko) 플래시 메모리 시스템 및 그 제어 방법
TWI692688B (zh) 快閃記憶體控制器及相關電子裝置
TWI536166B (zh) 記憶體管理方法、記憶體控制電路單元以及記憶體儲存裝置
CN116204126A (zh) 固态硬盘的数据读写方法及装置、固态硬盘、存储介质
US9778862B2 (en) Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus
US9001585B1 (en) Data writing method, memory control circuit unit and memory storage apparatus
TWI748410B (zh) 用來針對非揮發性記憶體進行區塊管理的方法以及設備
US10120611B2 (en) Storage device and data control method for storage error control
CN111625187A (zh) 一种存储器及其控制方法与存储系统
US10248594B2 (en) Programming interruption management
CN113190469B (zh) 一种存储器、数据写入方法及存储系统
CN111309642B (zh) 一种存储器及其控制方法与存储系统
US10896004B2 (en) Data storage device and control method for non-volatile memory, with shared active block for writing commands and internal data collection
TWI662554B (zh) 儲存裝置及其控制單元、可用於儲存裝置的資料搬移方法
CN112015339A (zh) 一种存储器的数据保存系统,保存方法及存储系统