TWI614606B - 用於增加快閃記憶體裝置之有效壽命之系統及其方法 - Google Patents

用於增加快閃記憶體裝置之有效壽命之系統及其方法 Download PDF

Info

Publication number
TWI614606B
TWI614606B TW106114105A TW106114105A TWI614606B TW I614606 B TWI614606 B TW I614606B TW 106114105 A TW106114105 A TW 106114105A TW 106114105 A TW106114105 A TW 106114105A TW I614606 B TWI614606 B TW I614606B
Authority
TW
Taiwan
Prior art keywords
page
time
flash memory
erasing
erase
Prior art date
Application number
TW106114105A
Other languages
English (en)
Other versions
TW201800949A (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 新唐科技股份有限公司
Publication of TW201800949A publication Critical patent/TW201800949A/zh
Application granted granted Critical
Publication of TWI614606B publication Critical patent/TWI614606B/zh

Links

Classifications

    • 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
    • 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/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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/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/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
    • 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/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays

Landscapes

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

Abstract

一種用於改善非揮發性快閃記憶體裝置的利用率之系統,適用於非揮發性快閃記憶體,其具有複數個頁,該複數個頁之保證每循環抹除時間及保證循環數目為已知的,系統包含用以複數個個別頁之抹除時間決定功能單元;藉由以抹除時間量測功能單元所提供之個別頁之每循環實際抹除時間來針對該個別頁所經受之各抹除循環進行增量之實際總抹除時間累積功能單元;以及用以控制在快閃記憶體中的頁的使用量之快閃記憶體頁使用量監視功能單元,其包括根據在個別快閃記憶體頁之實際總抹除時間及保證抹除時間之間之比較來選擇至少一個別快閃記憶體頁,保證抹除時間計算為保證每循環抹除時間及保證循環數目之乘積。

Description

用於增加快閃記憶體裝置之有效壽命之系統及其方法
本發明一般係關於記憶體裝置,尤其是關於快閃記憶體裝置。
快閃記憶體製造商包括如台灣積體電路製造股份有限公司及格羅方德半導體股份有限公司之晶圓代工廠。快閃記憶體技術開發商如矽儲存器技術公司(Storage Technology, Inc., SST)提供嵌入式非揮發性記憶體(Nonvolatile Memory, NVM)技術給其他晶圓代工廠。
US2010027335A描述磨損平均最佳化,其考量了頁面的抹除次數及將上一個特定頁進行抹除後所經過的時間。
由K. Keating 等人所作的飛思卡爾半導體公司文獻,其名為「在MC68HC908AS60上的可程式化及可抹除之快閃記憶體」及參考文獻AN1827描述在MC68HC908AS60裝置上的程式設計及抹除快閃記憶體,除此之外,還教示了「藉由使用遞迴程式及邊緣讀取技術(稱為智慧型編程演算法)以避免程式干擾」及「 快閃記憶體的程式、邊緣讀取及抹除操作所需的內部充電泵」。
包括處理器及記憶體(如SoC-系統晶片)的應用中,傳統上提供了可配置且可程式化的介面控制單元,其通常由硬體實行並且允許處理器使用記憶體將例如取出、讀取、寫入及抹除/程式(對非揮發性記憶體而言)的邏輯操作轉換成給記憶體之電子訊號。用於管理快閃計憶體的任何參數,其本身通常儲存在非揮發性記憶體中。
本案說明書中所提到的所有刊物及專利文件的揭露內容,及在其中直接或間接地的引用的刊物及專利文件的揭露內容,係藉由引用的方式併入本文。並非承認這些刊物及專利文件對於專利性的重要性。
本文使用的詞彙「快閃記憶體(Flash)」及「快閃記憶體(flash memory)」意在涵蓋NOR類型快閃記憶體及任何其他電子的非揮發性儲存媒介,其可被電性抹除及重新編程,但由於對於非揮發性記憶裝置的整體累積抹除時間的物理限制,其僅能承受在各特定區塊中有限制量的寫入循環或有限制量的程式化/抹除循環。快閃記憶體可在任何適合的裝置中運作,例如,但不限於積體電路、記憶卡、USB快閃驅動裝置、固態驅動裝置、個人電腦、個人數位助理、數位音效播放器、數位相機、手機、合成器、電玩遊戲、科學及醫療裝置、機器人及任何數位產品。
除此之外,詞彙「快閃記憶體(Flash memory)」意在涵蓋嵌入式快閃記憶體,其一般使用在積體電路中,例如,但不限於,系統晶片(SOC)裝置。
本發明實施例可應用於任何適合的快閃記憶體技術,例如,晶圓代工快閃記憶體技術。
抹除為需時最長的操作,且典型為快閃計憶體裝置需時最長的操作。快閃計憶體裝置係以「 承受度(endurance)」來區分其特性,其中,裝置只能承受一定數目的寫入/讀取循環(例如數千次或數百萬次的循環),其取決於所使用的快閃記憶體技術。一般來說,快閃記憶體裝置配備有保證忍耐度之規格。然而,將快閃記憶體裝置的忍耐度提昇至官方指定的規格以上,以延長主體裝置的使用壽命進而延長應用裝置的使用壽命,有益於大部分採用快閃記憶體的應用裝置。
快閃計憶體裝置供應商致力於甚至能夠支持極端操作狀況的規格,因此根據保守性保護帶(guard band)提供額外的抹除或程式化時間(program time),以保證非揮發性記憶體元件在程式化或抹除之後維持的內部邏輯位準足夠遠離每秒的預定閾值。保護帶(guard band)可在特性化期間被決定,並可先後以幾十毫秒(msec)進行抹除及以幾十微秒(usec)進行程式化,或假設頁抹除次數及記憶體程式化的次數通常地落在這些範圍內。本文中的某些實施例可讓快閃記憶體裝置的使用者有系統地確定何種程度上保護頻帶可以安全地被忽略。
某些實施例尋求提供結合多種(例如,常規的)遞迴抹除及/或程式演算法使用的快閃記憶體耐久性優化方法。舉例來說,在美國專利案號第6842378號的第1圖中描述了遞迴抹除程序。第1圖的程序包括抹除操作步驟S104、抹除驗證操作步驟S105及決定步驟S106的循環,其中決定步驟S106在抹除驗證順利地通過即終止循環,否則重複步驟S104及S105(遞迴)。在名為”程式化及抹除快閃記憶體”的文件中描述了(用於程式化及抹除在MC68HC908AS60裝置上的快閃記憶體)遞迴程式及邊緣讀取,其可從飛思卡爾半導體公司(freescale)網站使用AN1827/D作為參照進行訂購。
某些實施例尋求提供改善的次頁選擇功能,其中,每循環之實際(又稱為做經驗的或實際的(practical)) 抹除時間係已決定的,且用作偏好其中一頁而非另一頁的考量。通常地,實際每循環抹除時間並非獨立的決定因素,並且其他因素亦納入考量以決定選出哪一頁接著用於再循環,例如,但不限於抹除循環數目,因此進一步應用在作為候選的次頁之各種頁。舉例來說,給定兩個頁以相同數目的次數進行抹除,實際抹除時間可部分地或全部決定哪個頁將接著被循環。
市售快閃記憶體裝置配有明定「忍耐度(endurance)」的規格-代表若應用程式開發商想要確保裝置具備足夠的性能,不應超過其製造商所堅持的總抹除/程式化循環數目(通常是針對每頁)。舉例來說,假如忍耐度為10K(亦即,約10000循環),各裝置的頁可安全地抹除及程式化10K次。對於至少一些使用狀況而言,技術的真實限制可能事實上並非忍耐度,而是總抹除時間(通常是針對每頁)。但由於規格也明定每次抹除循環的抹除時間,對於技術的真實限制之安全、可靠的表示法,亦即,總抹除時間(通常是針對每頁),可由應用程式開發商計算,其不小於(每抹除循環的抹除時間)忍耐度次數之乘積。明定每抹除循環的抹除時間的規格,就大多數的頁具有比明定每抹除循環的抹除時間的規格較短的每抹除循環的抹除時間的意義上而言,事實上來說是「最壞情況(worst case)」。所以,
a. 若能提供操作性量測每循環頁的實際抹除時間的抹除時間決定功能單元,以及
b. 若能使用給定經抹除的頁的各抹除循環的真實實際抹除時間提供總抹除時間累積功能單元來累積總抹除時間,則
c. 應用程式開發商可安全地使快閃記憶體的頁承受超過明定忍耐度的規格的循環的總數目,其取決於實際總抹除時間(從上述的b)及技術(上述計算產品)的真實限制之所運算之表示法之間之比較。
根據某些實施例,抹除/程式化累積抹除時間係為每頁監視的,而不是只監視每頁的抹除數目。接著,藉由例如選擇頁來儲存輸入資料,來執行磨損平均最佳化,特別是基於比較用於快閃記憶體裝置中的不同頁儲存的不同抹除/程式化累積抹除時間來執行。舉例來說,每次需要選擇一頁時,可選擇抹除/程式化累積抹除時間最短的頁。可理解的是,某些先前技術系統教示「 磨損平均(Wear level)」可使用抹除數目操作化,而不是使用累積抹除時間。舉例來說,公告的印度專利申請案號第IN01022CH2009A號,且在2010年11月12日發表的,標題為「…在NAND快閃記憶體中的壞區管理及磨損水平」定義了「磨損平均計數為在區塊上被抹除的數目」。
根據某些實施例,預先考慮用於各頁的剩餘抹除時間,以進一步讓裝置中的頁與頁之間的磨損平均基於預期的頁壽命期望度(expectancy)進行最佳化(且因此為裝置的總使用年限的最佳化)。舉例來說,假如在10毫秒(msec)內將第1頁抹除,且在20毫秒(msec)內將第2頁抹除,可預期第1頁能承受比第2頁更多的抹除循環,其可在適合的磨損平均演算法中納入考量,以用於次頁選擇。
某些實施例尋求提供數據供任何適合的「最佳選擇(best choice)」的演算法使用,來選擇要抹除/程式化的次頁,例如在下文描述中所敘述的傳統頁管理的演算法:Agrawal, N等人所著,在2008年6月USENIX進程之技術研討會(Proceedings Of The USENIX Technical Conference)中揭露的「對固態硬碟性能之設計權衡(Design Tradeoffs For SSD Performance)」,其可從下列網路連結獲得:research.microsoft.com/pubs/63596/usenix-08-ssd.pdf,或是在非揮發性記憶儲存器領域中更多任何普遍已知的頁管理演算法。
某些實施例尋求利用單一快閃記憶體裝置頁中之老化之減緩。
某些實施例尋求提供一種替代性的快閃記憶體管理的演算法來選擇用於抹除/程式化的次頁,其使用最低的累積抹除時間作為最佳標準之其中之一,或本身唯一的最佳標準,而不是使用最低磨損平均計數當作最佳標準。
某些實施例尋求藉由比較複數個頁的個別抹除/程式化累績抹除次數來平均全部快閃記憶體頁的磨損,例如,當選定至少一個下頁來寫入時。
可理解的是,在本文敘述及揭示的頁抹除方法係在結合各種各樣的頁面管理算法是有效的。
本發明通常至少包括下列實施例:
實施例1:一種用於改善非揮發性快閃記憶體裝置的利用率之系統,適用於非揮發性快閃記憶體,其具有複數個頁,該複數個頁之保證每循環抹除時間及保證循環數目為已知的,該系統包含:
a.抹除時間決定功能單元,係用以至少一循環提供複數個個別頁之每循環實際抹除時間;
b. 實際總抹除時間累積功能單元,係用以儲存各個別頁的累積的、橫跨多個循環之實際總抹除時間(頁屬性(b)),該實際總抹除時間累積功能單元係以一抹除時間量測功能單元所提供之一個別頁之每循環實際抹除時間來針對該個別頁所經受之各抹除循環進行增量;以及
c. 快閃記憶體頁使用量監視功能單元,係控制在該非揮發性快閃記憶體中的頁的使用量,其包括根據在該個別快閃記憶體頁之該實際總抹除時間及一保證抹除時間之間之比較來選擇至少一個別頁,該保證抹除時間係計算為該保證每循環抹除時間及該保證循環數目之乘積。
一般來說,保證循環數目包括快閃記憶體裝置規格中規定的「忍耐度」值。
實施例2:一種電腦程式產品,係包括其中包含一電腦可讀取程式碼之一非暫態電腦可讀取記錄媒體,該電腦可讀取媒體適配執行一種用於改善非揮發性快閃記憶體裝置的利用率之方法,非揮發性快閃記憶體裝置具有複數個頁,該複數個頁之保證每循環抹除時間及保證循環數目為已知的,該方法包括:
a.使用抹除時間決定功能單元,用以至少一循環提供複數個個別頁之每循環實際抹除時間;
b. 使用一實際總抹除時間累積功能單元,用以儲存各個別頁的累積性的、橫跨多個循環之實際總抹除時間,該實際總抹除時間累積功能係以一抹除時間量測功能所提供之一個別頁之每循環實際抹除時間來針對該個別頁所經受之各抹除循環進行增量;以及
c. 使用一快閃記憶體頁使用量監視功能單元,用以控制在快閃記憶體中的頁的使用量,其包括根據在該個別快閃記憶體頁之該實際總抹除時間及一保證抹除時間之間之比較來選擇至少一個別頁,該保證抹除時間係計算為該保證每循環抹除時間及該保證循環數目之乘積。
實施例3:根據任何先前的實施例的一種系統,其中該實際總抹除時間累積功能單元包括一韌體程式碼,該韌體程式碼定義專用於維持用於非揮發性記憶體中各頁的該實際總抹除時間之一總抹除時間變數。
實施例4:根據任何先前的實施例的一種系統,其中在非揮發性快閃記憶體裝置壽命的開始點,用於各頁p之該總抹除時間變數係初始化為0,且該總抹除時間變數係在每次頁被抹除時以所儲存之頁p之每循環實際抹除時間來增量,使得該總抹除時間變數在任何給定的時刻維持該實際總抹除時間。
通常來說,所儲存之實際總抹除時間並非固定的,而是藉由所量測的,頁p之大多數最近抹除操作的實際抹除時間來重複地增加。
實施例5:根據任何先前的實施例的一種系統,其中該抹除時間量測功能單元用以量測該等頁的每循環實際抹除時間,並進而儲存一「頁屬性(a)」,該頁數性(a)係為每循環實際抹除時間之一函式。
實施例6:根據任何先前的實施例的一種系統,其中該函式包含用於至少一頁之一單一性(unity)函式,因此至少一頁之該屬性(a)包括至少一頁之每循環實際抹除時間。
實施例7:一種用於改善非揮發性快閃記憶體裝置的利用率之方法,非揮發性快閃記憶體裝置具有複數個頁,該複數個頁之保證每循環抹除時間及保證循環數目為已知的,該方法包括:
a. 使用一抹除時間決定功能單元,用以至少一循環提供複數個個別頁之每循環實際抹除時間;
b. 使用一實際總抹除時間累積功能單元,用以儲存各個別頁的累積性的、橫跨多個循環之一實際總抹除時間,該實際總抹除時間累積功能單元係以一抹除時間量測功能單元所提供之一個別頁之每循環實際抹除時間來針對該個別頁所經受之各抹除循環進行增量;以及
c. 使用一快閃記憶體頁使用量監視功能單元,用以控制在快閃記憶體中的頁的使用量,其包括根據在該個別快閃記憶體頁之該實際總抹除時間及一保證抹除時間之間之比較來選擇至少一個別快閃記憶體頁,該保證抹除時間係計算為該保證每循環抹除時間及該保證循環數目之乘積。
實施例8:根據任何先前的實施例的一種系統,其中該抹除時間量測功能單元包括韌體程式碼,其係用於執行針對各頁之抹除。
實施例9:根據任何先前的實施例的一種系統,其中,對至少一頁而言,該韌體程式碼提供一初始值給一抹除時間變數,然後逐步以一時間量增加該初始值,其中,在各步驟中,該至少一頁以該時間量進行抹除,直到抹除品質被視為是足夠的,此時該抹除時間變數之值被認為是針對該至少一頁之最近之實際抹除時間。
實施例10:根據任何先前的實施例的一種系統,其中該頁屬性(a)維持在該非揮發性快閃記憶體中。
實施例11:其中具有低每循環實際抹除時間之快閃記憶體頁係用於資料儲存,並優先於具有高每循環實際抹除時間之快閃記憶體頁,藉此提昇所給定之非揮發性快閃記憶體可承受之該循環數目。
實際例12:更包含一次頁選擇邏輯來選擇接下來將被寫入之次頁,且該次頁選擇邏輯係執行:
首頁選擇考量,在所有其他條件均相同的前提下,藉其優先選擇每具有低每循環實際抹除時間之快閃記憶體頁而不是具有高每循環實際抹除時間之快閃記憶體頁;以及
至少一其他頁選擇考量。
實施例13:根據任何先前的實施例的一種系統,其中該頁屬性(b)係維持在非揮發性快閃記憶體中。
實施例14:根據任何先前的實施例的一種系統,其中該至少一其他頁選擇考量包括迄今應用於各種快閃記憶體頁之該抹除循環數目,使得在其他條件相同的前提下,優先選擇迄今已應用少量循環數目之快閃記憶體頁,而非迄今已應用大量循環數目之快閃記憶體頁。
實施例15:根據任何先前的實施例的一種系統,其中該抹除時間決定功能單元係使用一計數器來藉由計數需要多少已知期間之抹除操作來達成個別頁的抹除,以估計個別頁之該每循環實際抹除時間。
實施例16:根據任何先前的實施例的一種系統,其中該函式包含一後處理操作以結合複數個抹除時間,該等抹除時間係分別針對特定頁之複數個循環而產生,且該等抹除時間係儲存於該非揮發性快閃記憶體裝置中,至少直到該後處理操作已經執行之後。
實施例17:根據任何先前的實施例的一種系統,其中該後處理操作包含計算一特定頁之複數個最近實際抹除時間之整體之一移動平均。
實施例18:根據任何先前的實施例的一種系統,其中該快閃記憶體使用量監視功能單元係操作性的用於針對超過該保證循環數目之一總循環數目選擇至少一個別記憶體頁。
實施例19:根據任何先前的實施例的一種系統,其進一步包含:
一處理單元,係配置為用於執行儲存在記憶體中之韌體程式碼;以及
一快閃記憶體介面控制單元,係耦合於該處理單元及該非揮發性快閃記憶體裝置,係用以至少控制該快閃記憶體裝置之讀取、程式化及抹除操作的執行,抹除操作包括從快閃記憶體裝置的頁中選擇一快閃記憶體頁,用於執行至少一種抹除操作及在該處理單元決定之一預編程式期間之後,命令至少一抹除操作終止,
且其中該韌體程式碼係用以控制該快閃記憶體介面控制單元,且其包括該抹除時間決定功能單元、該實際總抹除時間累積功能單元及該快閃記憶體頁使用量監視功能單元。
與本領域已知的物理性快閃記憶體裝置連接的快閃記憶體介面控制單元可以可控制快閃記憶體介面控制單元之硬體及韌體來實現;韌體的控制操作可例如包括下列操作,並適當排序如下:
提供本文中描述的猜測抹除時間(guessed erase time, GET)參數給快閃記憶體介面控制單元,以使快閃記憶體介面控制單元能夠執行快閃記憶體抹除操作,如第1圖的操作步驟103,通常讓其能夠執行其之期間為猜測抹除時間之快閃記憶體的抹除操作;
使用快閃記憶體介面控制單元來驗證抹除,例如依據第1圖的操作步驟104;
影響另一個增量抹除,並接續另一個抹除驗證,如依據第1圖的操作步驟106;以及
根據韌體更新參數的結果,例如,依據第1圖中的操作步驟107和操作步驟108,並進行應用下一輪或下一遞迴,其中用於程式化的新數據到達所選擇的頁,並重新進行上述步驟。
實施例20: 根據任何先前的實施例的一種系統,其中該後處理包含產生尚未針對一遞迴i量測之一即將到來抹除時間之一線性近似,該線性近似根據在遞迴i之前之複數個遞迴中量測之複數個抹除時間之一線性結合所產生。
一般來說,線性近似包括在Y = AX中計算係數A,例如,藉由計算在最近(當前遞迴i)量測的抹除時間及在遞迴i之前(遞迴i-1)量測的抹除時間之間之差異,並將此差異加入用於遞迴i所量測的抹除時間,以當作用於在遞迴i+1中要量測的抹除時間之預測值。另外,選擇N個最近的抹除時間,使用任何適合的方法估計係數A,例如,使用最小均方法(least mean squares),並將係數A加入最近的抹除時間。更普遍來說,可使用任意組合,例如針對在遞迴i之前之遞迴直接或另外量測的抹除時間的線性組合來近似遞迴i的抹除時間。
上文提到的實施例及其他實施例描述細節在下一段。
任何在文章或圖中所出現的商標係為其所有者的資產,並只在本文出現來解釋或說明本發明實施例可如何執行的一種例子。
除非特定聲明,否則如下文討論所顯現的,可理解的從下文中顯而易見的,在本案說明書內文中所使用的詞彙如「處理(processing)」、「計算(computing)」、「估計(estimating)」、「選擇(selecting)」、「排列(ranking)」、「分等(grading)」、「計算(calculating)」、「決定(determining)」、「產生(generating)」、「重新計算(reassessing)」、「分類(classifying)」、「 產生(generating)」、「製造(producing)」、「立體匹配(stereo-matching)」、「登記(registering)」、「偵測(detecting)」、「聯合(associating)」、「疊加(superimposing)」、「達到(obtaining)」等,其代表至少一種電腦或電腦系統、或處理器或相似電子電腦裝置的行為及/或程序,其將表示物理性質如電子、電腦系統的暫存器及/或記憶體中的數量的數據轉換成以電腦系統的記憶體、暫存器或其他資訊儲存器、傳送或顯示裝置中的物理量類似表示的其他數據。詞彙「電腦(computer)」應被廣泛地理解為包括有資料處理能力的電子裝置,其包括個人電腦、伺服器、嵌入式核心、電腦系統、通訊裝置、處理器(數位訊號處理器(DSP)、微處理器、場效可程式邏輯閘陣列(FPGA)、特殊應用積體電路(ASIC)等)及其他電子計算裝置等作為非限定的例子。
本文單獨列出的元件不需要是不同的構件,或者可以是相同的結構。元件或特徵可能存在的敘述意指包括(a)其中有該元件或該特徵存在的實施例;(b) 其中不存在該元件或該特徵的實施例;以及(c)其中該元件或該特徵選擇性存在的實施例,例如,使用者可配置或選擇元件或特徵是否存在。
市售的快閃記憶體裝置具有規定「抹除時間(Erase Time)」的規格或數據表,通常給出每頁(用於頁抹除)及每個整體陣列(用於所有頁的「整體抹除(mass erase)」)。抹除時間(涉及抹除(erasure)的單一循環)通常規定有最小(本文中稱為「每抹除/程式化循環的最小抹除時間」)邊界及最大邊界。製造商保證抹除的時間超過最小值會產生良好的抹除。抹除的時間超過最大值可能會導致由於「過度抹除」造成的損壞。所以製造商保證,若頁的抹除時間在最小邊界及最大邊界之間,會產生良好抹除而避免過度抹除。除非另有說明,在本說明書中,「抹除時間」代表每頁(而不是每整個陣列)的最小(而不是最大)抹除時間。
市售的快閃記憶體裝置的規格或數據表還規定裝置的「忍耐度」,且通常另外在裝置的可靠性特性中說明。用語「忍耐度」通常用於指抹除/程式化循環的數目,代表任何頁只要不超過抹除/程式化循環數目,快閃記憶體製造商保證,快閃記憶體裝置能產生足夠性能,且能夠防止每秒頁或甚至整個裝置的過早「死亡(death)」。儘管並非限制性的,這個參數的測試方法可符合聯合電子裝置工程委員會(Joint Electron Device Engineering Council, JEDEC)標準A117。
決定快閃記憶體的頁能有效忍耐多長時間的真正限制不是其已經歷的抹除/程式化循環數目,而是總抹除時間(針對全部循環)。由於如上所述,規格也規定了每抹除循環的抹除時間,各快閃記憶體頁的真正限制之可行的表示法,亦即,可由應用程式開發商計算總可行的抹除時間(針對全部循環),例如,不小於(每抹除循環之最小抹除時間的)乘積,或(每抹除循環之最大抹除時間-若快閃記憶體供應商規定了此參數)次數(忍耐度如抹除/程式化循環數目)的乘積。後者方案可進一步擴展裝置的使用,同時仍可維持在快閃記憶體供應商規格的範圍內。
然後,若能在不超過上述乘積的情況下完成,應用程式開發商可使用各頁達到該限制,有時甚至包括能夠使用頁超過其規定的忍耐度(例如,超過其指定的抹除/程式化循環數目)。
但就大多數的快閃記憶體的頁(如15%、25%、三分之一或更多的快閃記憶體頁)可能具有比規格規定的每抹除循環的抹除時間更短(例如,5%、10%、20%、30%或更短)的每抹除循環的抹除時間的意義上來說,每抹除循環的規格規定的抹除時間事實上是「最壞情況」的值。
所以,若可提供抹除時間決定功能,其係經操作以量測每循環個別頁的實際抹除時間(頁屬性(a))的,且若可在頁已抹除的前提下使用各抹除循環的真實實際抹除時間來提供總抹除時間累積功能,以累積各個別頁的實際總抹除時間(頁屬性(b)),則c.應用程式開發者可根據實際總抹除時間(頁屬性(b))及抹除時間之間的比較,而安全地讓快閃記憶體的頁承受超過規格規定的忍耐度的總循環數目,其中,上述比較中的抹除時間係計算為下列參數之乘積:保證的每循環抹除時間及保證的循環數目。這可藉由,例如藉由計算時間,或藉由計算已知期間(如具有一般的預定義期間的已知期間)的操作來實現,一般來說,計算已知期間係計算直到抹除操作為已知的或被認為是已經完成的。
一般來說,提供抹除時間量測功能,其可操作以量測每循環的頁實際(也稱為「實際的(practical)」)抹除時間,並儲存頁屬性(a)。可以使用任何適當技術實現此功能。舉例來說,可提供,例如可針對各頁的每次抹除執行的韌體程式碼,並且可操作以將操作計數,並且最後通過乘上已知的操作期間,計算每次抹除操作花費多少時間。或者,對於使用硬體狀態機器及相關計時元件的硬體實現,可提供適當的硬體計時器或計數器計算直到抹除完成為止所花的時間。韌體可向抹除時間變數(如下文所述猜測抹除時間(GET)參數)提供任意小的初始值,並且逐步地增加變數值,如參考如本文所述的第1圖,直到達到經驗抹除時間,其可被視為該頁的每循環的實際(也稱為「實際的(practical)」)抹除時間。或者,可以對針對特定頁n的各種抹除而產生之多個經驗抹除時間(empirical erase times)執行後處理。舉例來說,頁n的「當前(current)經驗抹除時間」可定義為非為最近的「量測(measurement)」,而是被定義為複數個(如第2個-第15個)最近量測之平均值(藉由針對頁n的最近2個或….或最近15個抹除運行之韌體程式碼產生的經驗抹除時間之平均值)。
更普遍來說,可以執行被發現可造成增強(更好)的預測值的任何種類的後處理。隨著頁老化,其抹除的多個實際抹除時間可大致上維持一致,或可能例如些微增加而浮動。為了增強預測,可實驗性地將一些裝置循環「至死亡」,同時在各頁的壽命內量測每頁的實際抹除次數;可接著相應分析出從,例如,從針對相同頁較早的,例如,第N個實際抹除時間,或者,如上所述,從針對相同頁的較早的多個實際抹除時間的預定義序列,來最佳預測第N+1個實際抹除時間的近似法。
一般來說,頁的每次循環的實際(也稱為「經驗」)抹除時間保持在非揮發性記憶體中,使得每次循環的實際(也稱為「經驗」)抹除時間參數經由電源開/關來維持。
一般來說,提供總抹除時間累積功能單元,在頁正在被刪除的情況下,其使用各抹除循環的真實實際抹除時間,用以累積實際總抹除時間,並儲存頁屬性(b)。可使用任何適合的技術來實現此功能單元。舉例來說,提供韌體程式碼,其定義專用於在非揮發記憶體中維持各頁的總抹除時間變數。對於每個頁p,該變數在裝置壽命的開始時初始化為零,且該變數在每次該頁被抹除時以頁p儲存的每循環實際(又稱為「經驗」)抹除時間來增量,使得總抹除時間變數在任何給定時刻均維持在總實際抹除時間。
用於使用上述頁屬性a(及可選擇的使用頁屬性b)的另一機制為下列應用例子d:每循環具有相對短的實際抹除時間(如低水平的頁屬性(a))可優選於每循環具有相對長的抹除時間(如高水平的頁屬性(a)),從而增加所給定快閃記憶體可承受的循環數目。可理解的是,任何適合的選擇次頁邏輯可用來選擇將被寫入的次頁。邏輯可使用任何適當的計算或邏輯方程式來組合以下內容:用於頁選擇的應用程式特定考量及/或裝置特定考量,加上每循環具有相對短的抹除時間(如低水平的頁屬性(a))優選於每循環具有相對長的抹除時間(如高水平的頁屬性(a))的考量。
根據某些實施例,頁管理中的一種考量係在可能的程度上將全部頁的磨損平均維持在統一的水平。由於在大致上相同的磨損水平下,可用的頁越多,所以選擇次頁進行再循環的靈活性越大。相反地,假如一些頁比其他頁更早「死亡」,則這減少了頁管理的靈活性。
第1圖係為可在新資料須儲存在快閃記憶體裝置中時執行的範例方法,通常包括從快閃記憶體的多個頁中選擇頁,其將儲存新資料,而因此將經歷再循環。
演算法採用的一般 (與特定頁相反)參數可包括下列的一些或全部:針對例如最大抹除時間(max erase time, MET)、增加步驟的抹除時間(ETIS)、頁總抹除數目(TPEN)等的所有數值理所當然僅為說明性的:
由記憶體的供應商規定的最大抹除時間(Max erase time, MET)-又稱為「規格規定最大抹除時間」=(假設)125毫秒(ms)-來自快閃記憶體供應商(vendor)/供應商(supplier)規範,其至少將在裝置之間及/或在與單一裝置內的頁相關聯的頁之間及/或操作電路之間的製造差異,以及裝置毀損納入考量,而確保在裝置的整個壽命期間內具有穩健的功能。一般來說,若應用此抹除時間,亦即,若此段時間恰好被分配到各抹除循環,則確保成功抹除先前數據的可能性為100%。若超過每次抹除操作的指定的最大抹除時間,則記憶體的壽命可能會縮短,且/或性能可能降低到用於快閃記憶體裝置聲稱的規格以下。
猜測抹除時間(Guessed-erase-time, GET)=(假設)60ms。最大抹除時間(MET)的p%,例如最大抹除時間的50%(或10%、35%、75%或其他適當的百分比);猜測抹除時間是循環的起始點。通常,猜測抹除時間(GET) 是時間量的初始猜測,以最大抹除時間(MET)的百分比表示,其是成功抹除快閃記憶體的給定頁(也稱為「經驗」或實際抹除時間) 經驗上所需的。假如猜測抹除時間相對較短(例如,僅為規定抹除時間,即最大抹除時間的一小部份(low percentage),而不是最大抹除時間的較大部分(high percentage)),則如果經驗性的證明抹除時間是短的,這可能導致抹除時間的增益,或者如果經驗性的證明抹除時間是長的,則可能導致性能上的損失。所以,此處存在權衡:當抹除驗證時間對於抹除時間是可忽略的,相對於可能的增益,以低抹除時間起始的懲罰是小的。相反地,當抹除驗證時間對於抹除時間而言是大的,相對於可能的增益,以低抹除時間起始的懲罰是大的。因此,當抹除驗證時間對於抹除時間係微不足道的,在設計上的考量可以低抹除時間起始(如甚至10%或更低),當抹除驗證時間對於抹除時間係大的,在設計上的考量可以高抹除時間起始(如甚至75%或更高)。抹除驗證時間代表給定的快閃記憶體裝置的頁實際上已經被成功地抹除所需的時間,或代表進行整頁的邊緣讀取(margin read)所需的時間,抑或是代表讀取有抹除驗證屬性的整頁所需的時間;這些參數可從快閃記憶體的規格中推知,如在本文中參考第1圖的操作步驟4所描述的。
猜測抹除時間(GET)同樣以經驗結果作為依據。
舉例來說,當規格規定最大抹除時間為120ms,實驗性的頁抹除試驗可產生以下結論,例如,90%的頁具有75ms或更高的實際抹除時間。在此狀況下,例如,75ms可設定成所有頁的猜測抹除時間,而非以低抹除時間起始,因為以低抹除時間起始對於性能而言會是無用且浪費的。更普遍來說,猜測抹除時間可設定成一個水平,該水平係經估計來使預定百分比的頁之實際抹除時間在該水平之上。使用外來資源或在本領域已知的其他任何方式的資訊,可實驗性地決定評估標準。假如針對不同頁的有效的猜測抹除時間存在大量的差異,也能夠定義每頁設定的猜測抹除時間。例如,若藉由從設定特定頁的猜測抹除時間能獲得頁面忍耐度的大量增益,來調整非揮發性快閃記憶儲存空間所需的花費,則定義每頁設定的猜測抹除時間是合理的。
針對下述流程的抹除時間增量階距(Erase-time-increment-step, ETIS)=(假設)10[ms]粒度;在這個範例中-約10%的最大抹除時間(MET)。
頁總抹除數目(Total-page-erase-number, TPEN)=約5000循環(又稱為「忍耐度」)根據快閃記憶體銷售商規格, 快閃記憶體(中的頁)可無失敗地忍受的抹除/讀取循環數目。
頁總抹除時間(Total-page-erase-time, TPET)=TPEN*最大抹除時間(MET) -快閃記憶體的總抹除時間,其不將因程式導致的磨損平均納入考量。
可將(針對快閃記憶體的頁n的)頁特定參數計算作為例如,頁屬性及/或將頁特定參數儲存在電腦記憶體中作為頁屬性,其可包括下列的一些或全部:
當前實際抹除時間(Current-practical-erase-time, CPETn)- 最近在頁n上執行的成功抹除的,以如毫秒(msec)表示的經驗記錄的期間。
累積實際抹除時間(Accumulated-practical-erase-time, APETn)- 在頁n上執行所有累積的抹除循環的,以如毫秒(msec)表示的經驗記錄的總期間。
頁抹除累積數目(Page-erase-accumulated-number, PEANn)= {迄今在頁n上執行的抹除數目 };一旦累積,此實際數目部分代表了頁n實際的忍耐度。
頁抹除估計剩餘時間(Page-erase-estimated-remaining-time, PERTn)=可被估計如:PERTn=頁總抹除時間(TPET)-累積實際抹除時間(APETn)
頁估計剩餘忍耐度(Page-estimated-endurance-left, PEELn)= 估計頁n剩餘的抹除數目(亦即,剩餘抹除循環)
頁抹除估計剩餘時間(PERT)及頁抹除累積數目(PEAN)的資訊針對各頁n儲存在快閃記憶體中,例如,儲存在頁標頭(page header)中。每次頁n被抹除時,頁抹除估計剩餘時間(PERT)及頁抹除累積數目(PEAN)針對頁n進行更新。
可從頁抹除估計剩餘時間(PERT)及頁抹除累積數目(PEAN)如以下詳細說明直接運算ILAN頁估計剩餘忍耐度(PEELN)。
一般來說,頁抹除可根據經驗抹除時間設定,可不定期的將經驗抹除時間特徵化,例如,在每頁的時間0(此時間點係在裝置第一次使用時)進行特徵化,且/或在時間0之後,例如「經驗抹除時間」可再次進行一或多次特徵化(如每次頁抹除時,或在每幾次(如5頁、10頁或50頁)或其他數目)抹除操作時;如週期性地)。
基於頁抹除的估計壽命可為基於頁總抹除時間(TPET)的,亦即,所允許的總抹除時間,如在由快閃記憶體銷售商發行的快閃記憶體的規格中規定的。舉例來說,快閃記憶體銷售商可規定頁總抹除數目(TPEN)、忍耐度(以循環表示)及每抹除操作的抹除時間,最大抹除時間(MET)(以毫秒(msec)/操作表示)及快閃記憶體的使用者所依賴的總抹除時間的上限為頁總抹除時間(TPET)=
Figure TWI614606BD00001
之乘積。舉例來說,若最大抹除時間(MET)=125毫秒(msec)且頁總抹除數目(TPEN)=5K循環,頁總抹除時間(TPET)為
Figure TWI614606BD00002
第1圖為用於增加快閃記憶體有效壽命的適當方法的簡化流程說明圖。第1圖的方法可包括一些或全部下列操作步驟,如所示的適當排序如下:
操作步驟101:開始狀況通常包括:
a.為了簡化,假設所有快閃記憶體頁都已被寫入。事實上,所有快閃記憶體頁起始為空白,但接著空白頁可按順序被寫入,直到快閃記憶體頁全滿。然而,本發明未假設如此,且更普遍來說,本文的教示同樣的,加以必要的變更,適合用於不一定是簡化地寫入下個空白頁的狀況,以及適合用於其中比所有頁都已被寫入還少的情況。
b.起始時,所有頁的頁抹除估計剩餘時間(PERTn)值被初始化為頁抹除估計剩餘時間(PERTn)=頁總抹除時間(TPET)。
c. 用於儲存在快閃記憶體中的新數據剛到達。
操作步驟102:應用任何傳統次頁優先管理方法/演算法,例如本文所引用的Agrawal 等人所描述的次頁優先管理方法/演算法,以辨識要進行再循環的「最佳選擇」頁(對於此流程的當前遞迴也稱為「當前頁」)
接著,執行包含複數個階段的逐步抹除操作;一旦頁經確認已被徹底抹除,可將這些操作終止。可設計逐步抹除操作來包含任何本領域已知關於「智慧型抹除」的教示,例如在美國專利案號US20060053247中所教示的。可理解的是,抹除時間通常係預先定時的,其中採用了適當的定時器,以確保抹除時間的各步驟/增量具有預定期間,例如,10毫秒(ms)。因此,整個抹除循環所累計的總時間可藉由計算「完成」抹除操作的多個步驟所需的時間(例如為了達到高抹除品質所需的時間)來決定。
逐步抹除操作可例如包括下列操作3-6,適當排序如下:
操作步驟103:將猜測抹除時間(GET)期間的抹除頁應用於操作2中選擇的當前頁。
操作步驟104:驗證抹除品質(例如,使用在嵌入式快閃記憶體陣列中可用的應力讀取特性)。舉例來說,對於本領域的台灣積體電路製造股份有限公司(TSMC)的快閃記憶體技術所聲明的,讀取操作的「抹除驗證」特性可用來檢查抹除品質。這種類型的讀取在TSMC術語中稱為「邊緣讀取」。
操作步驟105:假如抹除品質良好,則使用任何適合在本領域且已知的良好準則,把當前頁的經驗抹除時間CPETn加到APETn,應用實際累積抹除時間,並進入步驟7。
操作步驟106:否則把ETIS加到現有頁的實際抹除時間CPETn;(進一步)應用時間為ETIS 之抹除,並進入步驟5
操作步驟107:每次當頁n被再循環時,將頁n的實際(又稱為「經驗」)忍耐度減少1,例如,以增量PEANn減少1次。
操作步驟108:新的頁抹除估計剩餘時間 PERTn=當前(亦即,來自此流程的先前遞迴的) 頁抹除估計剩餘時間(PERTn)-CPETn(以毫秒(ms)表示的最近成功抹除的期間)。
操作步驟109:操作步驟102-108可為遞迴時間及再次操作,例如,每次新資料到達快閃記憶體中的儲存器時進行的再次操作。每次實踐上述過程,每頁的經驗抹除時間的結果預期會比最大抹除時間(MET)短。
可理解的是,隨著遞迴執行的次數越來越多,有關快閃記憶體的頁的資料,其通常包括各頁的經驗抹除時間CPETn及經驗/估計剩餘抹除循環(PEELn),跟著累積。為了次頁選擇,可考慮移除對於PEELn=0或PEELn太靠近(例如,由臨界值決定的)零的所有或一些頁。
在第i次遞迴(i>1)中,操作2通常使用在第i-1次遞迴的操作3-8所產生的輸出,例如,使用上述流程而已經歷抹除的各頁n以下列參數特徵化,其可被儲存:
i.如在上述操作步驟107中更新的當前PEANn。
ii. 如在上述操作步驟106中更新的當前CPETn。
iii. 如在上述操作步驟108中更新的當前PERTn。
當執行上述操作步驟102,這些參數或其他參數可用來管理次頁優先度。舉例來說,可順序地依循下列子操作I、II執行操作2:
子操作I:估計PERTn如下:
(a.1逐步執行操作8)PERTn=頁總抹除時間(TPET)-APETn
(a.2替代操作8)PERTn=頁總抹除時間(TPET)-APETn-(常數*PEANn)
常數*PEANn為考慮到快閃記憶體抹除時間的降低之校正或安全因素。即便是在計算估計剩餘抹除時間之後,仍需提供可取決於到目前為止完成的循環數目之額外的安全保護帶。
數值範例
頁總抹除時間(TPET)=
Figure TWI614606BD00003
APET=340秒
PEANn=2800循環
常數=0.01
PERTn a.1=625-340=285秒
PERTn a.2=625-340-(0.01*2800)=257秒
在上述的例子,迄今平均實際抹除時間已經為340/2800=121毫秒(msec)。因數或常數「預測」剩餘抹除循環係約(285s-257s)/121ms=231循環,其小於上述替代方法a.1的預測值。這因素可由在快閃記憶體裝置壽命的整個期間中的快閃記憶體抹除時間之特性推知,或從執行者想要應用的任何安全標準或風險控制推知。假如在給定技術中發現抹除時間很穩定,則此因素可為零(常數=0),且在此情況下設定a.1及a.2彼此收斂。
關於a.2,一些快閃記憶體的磨損可能無法藉由使用「最短經驗抹除時間」作為用於選擇次頁的(唯一)準則來進行優化,例如,因為程式也可造成快閃記憶體磨損。再者,實際(經驗)抹除時間在頁的壽命期間可能會改變(例如,可能會隨著頁老化而增加)。
子操作II:使用操作步驟101產生的估計的PERTn值,可進而估計給定頁的PEELn,如下:
(b.1) PEELn = PERTn / CPETn
(b.2) PEELn = PERTn * PEANn / APETn
除非有與本專利申請案的範籌無關之其他使用狀況規格考量,具有最高的當前剩餘忍耐度之頁可經由操作II選出要寫入的次頁。假如存在這樣的考量,該等考量可以任何適當的形式與各候選次頁的PEELn的相對尺寸之考量進行結合。舉例來說,可制定if-then的邏輯以決定以何種考量來主導,或可將基於頁的PEELn及與其他使用狀況特定考量相關的頁的特性的適當加權結合的分數分配給各頁。
數值化例子,當使用上述的選擇a.1及b.1:假定最大抹除時間(MET)=125ms,TPEN=5K,且在該條件中之頁總抹除時間(TPET)=625秒。則頁n藉由以下進行特徵化:
CPETn=80ms
PERTn=250秒
PEELn=250/0.080=3125剩餘抹除循環
若給定頁,例如,在10毫秒(ms)內良好抹除,由於保證快閃記憶體維持至少一定的總抹除時間,意味著可應用更多的抹除操作(例如,若忍耐度為5000循環,可應用多於5000次的操作),並且,若某些頁能在少於規格中規定的最大抹除時間(MET)內抹除,則可不偏離總抹除時間而應用更多的抹除操作。這是因為快閃記憶體供應商規格含蓄地保證給定的記憶體可維持至少一定的總抹除時間,並維持充分發揮功能且滿足所有性能規格,甚至考慮到所有超大型積體電路的已知變數。因為各快閃記憶體抹除把一處的電荷移動到另一處;這種電性操作慢性侵蝕快閃記憶體的電路,這些已知變數已經納入考量。
舉例來說,假設保證的總抹除時間為X秒,且/或剩餘的總抹除時間為Y秒,若已知頁可在10ms內被抹除,而若頁要求20ms的抹除時間,則該頁能夠被抹除兩次多(如可由最大抹除時間(MET)所暗示的)。可理解的是,因為快閃記憶體技術的某些細節,在頁與頁之間的每次抹除操作的抹除時間中電路變異產生重大改變。因此,某些或大多數的頁可能確實需要遠小於單一最大抹除時間(MET)值的抹除時間,其為設計用來應用於所有頁的每次抹除操作的實際上最糟糕情況抹除時間值。通常最大抹除時間(MET)值事實上與快閃記憶體之中的最糟糕情況頁所需的每次抹除操作的最大抹除時間相等,或超出。
可採用考慮快閃記憶體頁的退化的第二「精確的」實施例,隨著頁老化,例如,隨著在頁上執行越來越多次的抹除操作,退化導致每次抹除操作的抹除時間隨著緩慢增加。舉例來說,可藉由選擇在快閃記憶體中具有最大剩餘抹除循環數量的頁來選擇要進行再循環的次頁。並且/或者,儲存在快閃記憶體的數據可根據數據的期望再循環率進行分類(預期數據多久改變;舉例來說,在銀行的使用狀況中,客戶數據儲存在快閃記憶體中,銀行客戶的名字幾乎沒有改變,而客戶帳戶中的平衡幾乎每天改變) 。然後,可將具有大量剩餘抹除循環的頁分配至高度再循環數據,而將具有少量剩餘抹除循環的頁分配至緩慢再循環數據。
可理解的是,繪示在第1圖中用來決定頁的經驗抹除時間之特定方法未意於限制;反而,可採用任何適當的方法來提供針對個別頁的估計經驗抹除時間,包括使用針對此用途的儲存值,其已由外部來源或本發明範圍以外的方法所提供。
第2圖為說明根據某些實施例的快閃記憶體操作方法之簡化流程圖,其能夠提昇快閃記憶體的使用壽命。
在操作步驟210中,通常使用抹除時間決定功能單元(如韌體執行/處理器執行)來提供個別頁的每次循環的實際抹除時間(如第1圖的每個流程)。
在操作步驟220中,實際總抹除時間累積功能單元(例如,以韌體實現的/處理器實現的) 通常用以儲存各個別頁的累積性的,在整個循環中的,通常包括由抹除時間量測功能單元估計個別頁的每次循環的實際抹除時間來增加的實際抹除時間(「實際總抹除時間」),其係針對個別頁遭受的各抹除循環。
操作步驟230,一般而言,快閃記憶體頁使用量監測功能單元(例如,以韌體實現的/處理器實現的)係控制快閃記憶體中的頁的使用狀況,包括使至少一個個別的快閃記憶體頁(例如,選擇至少一個快閃記憶體頁)經受超過所保證的循環的數目的總循環數目,其取決於個別快閃記憶體頁的實際總抹除時間及保證抹除時間之間的比較,保證抹除時間計算為保證的每次循環抹除時間及保證循環數目的乘積。舉例來說,若藉由個別的快閃記憶體頁的實際總抹除時間及保證抹除時間之間的比較來保證,保證抹除時間計算為保證每次循環抹除時間及保證循環數目之乘積,例如,若個別的快閃記憶體頁的實際總抹除時間尚未達到保證抹除時間,儘管個別的快閃記憶體頁的總循環數目等於或超過個別記憶體頁的保證循環數目(又稱為忍耐度),快閃記憶體頁使用量監測功能單元可至少有時選擇至少一個要寫入的次頁,其已經經歷過相等於或大於其之保證循環數目之總循環數目。例如,假設快閃記憶體裝置規格保證了,例如,5K忍耐度循環及100ms的(每次循環的)抹除時間,總抹除時間(例如,保證抹除時間TPET)為上述參數之乘積,亦即,5K×100ms。在此情況下,若個別快閃記憶體頁的實際抹除時間尚未達到5K×100ms,則此頁可被選擇作為次頁,即便是當其之總循環數目早已等於或超過5k。
可選擇地,當需要選擇接著將寫入的次頁,或每次要選擇接著將寫入的次頁時,第2圖的方法可使用次頁選擇邏輯。次頁選擇邏輯可採用首頁選擇考量,由此,具有每循環低實際抹除時間的快閃記憶體頁優於具有每循環高實際抹除時間的快閃記憶體頁;並且,可選擇地,可採用首頁選擇考量以外的至少一種其他頁選擇考量。
根據本發明的實施例,快閃記憶體頁使用量監測功能單元包括存取電腦儲存庫的韌體程式碼,其儲存指出哪些快閃記憶體(包括甚至總循環數目相等或大於個別快閃計憶體的頁保證的循環數目) 是「仍然可操作的」的指示,亦即,具有仍低於保證抹除時間之實際總抹除時間(保證每循環抹除時間及保證循環數目之乘積),相對於「不再操作」的快閃計憶體頁,其實際總抹除時間已經超過保證抹除時間,關於此種快閃記憶體頁,電腦儲存庫不再儲存相同的指示。以韌體程式碼實現的次頁選擇邏輯使用任何適當的考量或準則,以選擇要抹除/寫入的下頁,此邏輯僅應用於在電腦儲存庫中指示為「可操作的」快閃記憶體頁,而不是「不再操作」的快閃計憶體頁。相對於每循環有高實際抹除時間的「仍然可操作的」快閃記憶體頁,此邏輯可能或可能不偏好每循環有低實際抹除時間的「仍然可操作的」快閃記憶體頁。
某些實施例的優點包括:
儘管在編輯、刪除儲存器內容及其他快閃記憶體方面的不可預期的使用者活動下,本發明的實施例對於能使快閃儲存記憶體盡可能的延長使用壽命而言是有利的。舉例來說,快閃記憶體通常使用來儲存程式碼及/或數據。然而,在大多數應用程式之中,程式碼通常相對穩定,數據則通常必須經常循環。一般來說,快閃記憶體的可用儲存空間是有限的,而將該空間的使用狀況以本文的所有任何教示進行最佳化,假設記憶體的壽命在物理上受到可用儲存空間的量的限制,將可延長裝置儲存空間的實際壽命,進而可整體延長裝置的實際壽命。
某些實施例的特定優勢在於利用在快閃記憶體的規格中規定的抹除時間與實際抹除時間之間的差異性的能力,從而將快閃記憶體裝置的忍耐度提升到超越快閃記憶體的規格規定的忍耐度。此能力為相同快閃記憶體裝置中,頁與頁之間的實際抹除時間之間的差異產生的結果。根據某些實施例,將最短經驗抹除考量應用於每一頁,而非整個設備。根據每頁的實際性能對各頁進行個別的評估,而非如傳統技術上以最壞情況頁限制整個產品的保證忍耐度(壽命)。
一旦已經產生下列如本文描述的頁屬性:
a.頁的每循環實際使用時間(頁屬性(a))
及/或
b.實際總抹除時間(頁屬性(b)),例如,假設頁已被抹除,使用各抹除循環的真實實際抹除時間。
則藉由接收並使用上述頁屬性的其中之一或兩者作為考量,而促成下列優化中的任一種或任合組合,可協同地達成優化:
優化1-可能需要特別將程式碼分配或甚至重新安置到具有相對長的,例如,最長的可用實際抹除時間的頁,因為可以預期這樣的頁具有最低的忍耐度。更普遍來說,可能需要將已知相對恆久的數據(已知其具有低的再循環速率-例如,但不限於,程式碼) 分配或甚至重新安置到具有相對長的實際抹除時間的頁,並相反地將已知具有低程度的恆久性的數據(已知具有高的再循環速率) 分配或甚至重新安置到具有相對少量實際抹除時間的頁。
優化2-實際抹除時間的量可使用作為考量,以將逐步抹除的起始點微調及/或適用化以改善性能,例如,藉由使用實際抹除時間當作因素以決定是否以更接近「目標」來起始,並減少搜尋時間與以遠離目標來起始。
尤其是,可初始的或隨後決定猜測抹除時間(GET)作為實際抹除時間的函式。舉例來說,若規格規定最大抹除時間(MET)為125毫秒(ms),則猜測抹除時間(GET)可設定為,假設40毫秒(ms)。然而,若在幾次抹除循環之後,發現實際抹除時間總是至少75毫秒(ms),則猜測抹除時間(GET)可能會被重設的更長,假設重設至70毫秒(ms),以排除掉第1圖方法中的遞迴。
優化3-如果有對於進行盡可能短的頁再循環的特定需求(性能優化),可挑選具有最短可用實際抹除時間的頁,例如,如果有對於涉及頁再循環的命令或要求的盡可能最短的響應時間之需求。
優化4-精準地預測裝置的剩餘壽命。舉例來說,可假設裝置每單位的裝置壽命的平均抹除循環數目為,例如,每天50循環,以根據上述頁屬性支持裝置壽命仍有多少剩餘天數之估計。
優化5-假如已知裝置僅具有短的剩餘壽命,禁用低優先度的抹除/程式化需求(例如,為了被視為不重要的原因而進行的額外再循環的請求)。
優化6-每循環的實際抹除時間可作為考量獨立使用,或與其他考量結合使用,以用於頁選擇,例如,在其他條件相同的情況下,優先選擇具有每循環低實際抹除時間的快閃記憶體頁,而非具有每循環高實際抹除時間的快閃記憶體頁。
一般來說,當提供上述優化1-6的任一種或多種,其係與增加可用抹除循環總數目之功能結合提供,例如,增加用於至少一頁,或甚至用於大多數的頁,或甚至用於每頁的可用抹除循環數目;如本文描述的,應用程式開發者可安全地使快閃記憶體頁承受超過規格規定的忍耐度之總循環數目。
可理解的是,在本文中可使用在快閃記憶體裝置中內建的任何適合抹除驗證技術,而在台灣積體電路製造股份有限公司的抹除驗證模式中所閱讀到的技術僅是一個可能的實現方式。
可理解的是,抹除時間決定功能可能不會計算個別頁的每循環實際抹除時間,例如,藉由計時,而非藉由,假設,從外部來源接收每循環的個別頁的實際抹除時間。
若提供本文描述的韌體,其可維持在非揮發性記憶體如快閃記憶體或唯讀記憶體中。可使用任何適合的技術來避免被快閃記憶體管理所干擾產生對於韌體程式碼的位置的限制。
或者,可部分或排外(無韌體)的在硬體中實現本文描述的特定實施例,在此情況下,本文描述的一些或全部的變數、參數、指令操作及計算可以硬體實現。
可以理解,術語如「必備(mandatory)」、「需求(required)」、「需要(need)」及「必須(must)」指在特定實施方式或本文為了清楚而描述的應用的範圍內的實施選擇且並不意欲限制,這是因為在可替代實施方式中,相同的元件可限定為非強制性的且不要求或甚至不會一同去除。
本發明的在個別實施例的範圍內描述的特徵,包含操作,也可在單個實施例中組合在一起提供。舉例來說,系統實施例意指包括相對應程序的實施例,且反之亦然。再者,各系統實施例意指包括伺服器中心「觀點」或用戶中心「觀點」,或從系統、系統的整體功能、電腦可讀取媒體或設備的任意其他節點的「觀點」,包括只有在伺服器端或用戶端或節點處執行的那些功能。特徵可與本領域習知特徵結合,特別是,但不限於在先前技術部份或其中提到的出版物中所述的出版文章所提到的本領域習知特徵。相反地,可以單獨地或以任何合適的子組合,包括本領域已知的特徵(特別地但不限於那些描述於先前技術部分或其中提及的出版物中的)來提供本發明(包括在單一實施例的上下文中描述的,或以特定順序或以不同的順序簡短描述的操作)的特徵。「例如」 用於表示範例而不旨在限制。 每個方法可以包括所示的或所描述的一些或全部適當排序的操作,例如,在本文中所示或所述的。
101~109、210、220、230: 操作步驟
本發明的實施例係以下列圖式說明:
第1圖係為說明用於使用抹除時間決定功能以針對至少一個循環提供個別頁的每循環實際抹除時間的方法之簡化流程圖。
第2圖係為說明用於改進非揮發性快閃記憶裝置的使用率的方法的簡化流程圖,非揮發性快閃記憶裝置具有複數個頁,該複數頁的保證每循環抹除時間及保證循環數目為已知的。
涵蓋在本發明範疇內的方法及系統可包括一些(如任何的子集合)或所有在以舉例方式具體說明的實施方式中示出的功能方塊,其以任何適合的順序排列,例如,如圖所示的。
在本文中描述及說明的計算性質、功能性或邏輯性的元件可以各種形式實現,舉例來說,硬體電路,例如但不限制於自訂製之超大型積體電路或閘陣列,或可程式化硬體裝置,例如但不限制於場效可程式邏輯閘陣列(FPGAs),或儲存在至少一種具體的或非具體的電腦可讀取媒體中且至少一種處理器或其任意適當組合可執行的軟體程式碼。可由一種參考問題的功能元件而集體動作或行為或如本文所述的動作之特定序列的程式碼或其複數個形成特定功能元件。舉例來說,許多程式碼序列可散佈到元件,如但不限制於物體、程序、函式、子程式及程式,且元件可源於許多經常協同操作的電腦資料。
本文的各功能及方法可被執行在軟體、韌體、硬體或其任意組合。明定以軟體執行的功能或操作可替代性的整體或全部以等效硬體或韌體實現,且反之亦然。任何在本文描述的邏輯功能可以例如實時應用程式並且其可以採用任何合適的架構選項,諸如但不限於數位訊號處理器(DSP)、場效可程式邏輯閘陣列(FPGA)、特殊應用積體電路(ASIC)或其任意組合。
本文所提的任何硬體元件事實上可包括一種或多種硬體裝置如晶片,其可彼此共處或彼此遠離。
101~109: 操作步驟

Claims (20)

  1. 一種用於改善非揮發性快閃記憶體裝置的利用率之系統,適用於一非揮發性快閃記憶體,其具有複數個頁(page),該複數個頁之保證每循環(cycle)抹除時間及保證循環數目為已知的,該系統包含: a.一抹除時間決定功能單元,係用以至少一循環提供複數個個別頁之每循環實際抹除時間; b.一實際總抹除時間累積功能單元,係用以儲存各個別頁的累積的、橫跨多個循環的一實際總抹除時間,該實際總抹除時間累積功能單元係以一抹除時間量測功能單元所提供之一個別頁之每循環實際抹除時間來針對該個別頁所經受之各抹除循環進行增量,其中該實際總抹除時間係為一頁屬性(b);以及 c.一快閃記憶體頁使用量監視功能單元,係控制在該非揮發性快閃記憶體中頁使用量,其包括根據在該個別頁之該實際總抹除時間及一保證抹除時間之間之比較來選擇至少一個別頁,該保證抹除時間係計算為該保證每循環抹除時間及該保證循環數目之乘積。
  2. 如申請專利範圍第1項所述之系統,其中該實際總抹除時間累積功能單元包括一韌體程式碼,該韌體程式碼定義專用於維持用於該非揮發性快閃記憶體中各頁的該實際總抹除時間之一總抹除時間變數。
  3. 如申請專利範圍第2項所述之系統,其中在該非揮發性快閃記憶體裝置壽命的開始點,用於各頁p之該總抹除時間變數係初始化為0,且該總抹除時間變數係在每次頁被抹除時以所儲存之頁p之每循環實際抹除時間來增量,使得該總抹除時間變數在任何給定的時刻維持該實際總抹除時間。
  4. 如申請專利範圍第1項所述之系統,更包含一抹除時間量測功能單元用以量測該頁的每循環實際抹除時間,並進而儲存一頁屬性(a),該頁屬性(a)係為每循環實際抹除時間之一函式。
  5. 如申請專利範圍第4項所述之系統,其中該函式包含用於至少一頁之一單一性(unity)函式,因此至少一頁之該頁屬性(a)包括至少一頁之每循環實際抹除時間。
  6. 如申請專利範圍第1項所述之系統,其中該抹除時間量測功能單元包括韌體程式碼,其係用於執行針對各頁之抹除。
  7. 如申請專利範圍第6項所述之系統,其中,對至少一頁而言,該韌體程式碼提供一初始值給一抹除時間變數,然後逐步以一時間量增加該初始值,其中,在各步驟中,該至少一頁以該時間量進行抹除,直到抹除品質被視為是足夠的,此時該抹除時間變數之值被認為是針對該至少一頁之最近之實際抹除時間。
  8. 如申請專利範圍第4項所述之系統,其中該頁屬性(a)維持在該非揮發性快閃記憶體中。
  9. 如申請專利範圍第1項所述之系統,其中具有低每循環實際抹除時間之快閃記憶體頁係用於資料儲存,並優先於具有高每循環實際抹除時間之快閃記憶體頁,藉此提昇所給定之非揮發性快閃記憶體可承受之該循環數目。
  10. 如申請專利範圍第9項所述之系統,更包含一次頁選擇邏輯來選擇接下來將被寫入之次頁,且該次頁選擇邏輯係執行: 一首頁選擇考量,在所有其他條件均相同的前提下,藉其優先選擇每具有低每循環實際抹除時間之快閃記憶體頁而不是具有高每循環實際抹除時間之快閃記憶體頁;以及 至少一其他頁選擇考量。
  11. 如申請專利範圍第1項所述之系統,其中該頁屬性(b)係維持在該非揮發性快閃記憶體中。
  12. 如申請專利範圍第10項所述之系統,其中該至少一其他頁選擇考量包括迄今應用於各種快閃記憶體頁之該抹除循環數目,使得在其他條件相同的前提下,優先選擇迄今已應用少量循環數目之快閃記憶體頁,而非迄今已應用大量循環數目之快閃記憶體頁。
  13. 如申請專利範圍第1項所述之系統,其中該抹除時間決定功能單元係使用一計數器來藉由計數需要多少已知期間之抹除操作來達成個別頁的抹除,以估計個別頁之該每循環實際抹除時間。
  14. 如申請專利範圍第4項所述之系統,其中該函式包含一後處理操作以結合複數個抹除時間,該抹除時間係分別針對特定頁之複數個循環而產生,且該抹除時間係儲存於該非揮發性快閃記憶體裝置中,至少直到該後處理操作已經執行之後。
  15. 如申請專利範圍第14項所述之系統,其中該後處理操作包含計算一特定頁之複數個最近實際抹除時間之整體之一移動平均。
  16. 如申請專利範圍第1項所述之系統,其中該快閃記憶體使用量監視功能單元係操作性的用於針對超過該保證循環數目之一總循環數目選擇至少一個別記憶體頁。
  17. 如申請專利範圍第1項所述之系統,其進一步包含: 一處理單元,係配置為用於執行儲存在記憶體中之韌體程式碼;以及 一快閃記憶體介面控制單元,係耦合於該處理單元及該非揮發性快閃記憶體裝置,係用以至少控制該非揮發性快閃記憶體裝置之讀取、程式化及抹除操作的執行,抹除操作包括從該非揮發性快閃記憶體裝置的頁中選擇一快閃記憶體頁,用於執行至少一種抹除操作及在該處理單元決定之一預編程式期間之後,命令至少一抹除操作終止, 且其中該韌體程式碼係用以控制該快閃記憶體介面控制單元,且其包括該抹除時間決定功能單元、該實際總抹除時間累積功能單元及該快閃記憶體頁使用量監視功能單元。
  18. 如申請專利範圍第14項所述之系統,其中該後處理包含產生尚未針對一遞迴i量測之一即將到來抹除時間之一線性近似,該線性近似根據在遞迴i之前之複數個遞迴中量測之複數個抹除時間之一線性結合所產生。
  19. 一種用於改善非揮發性快閃記憶體裝置的利用率之方法,適用於一非揮發性快閃記憶體,其具有複數個頁,該複數個頁之保證每循環抹除時間及保證循環數目為已知的,該方法包括: a.使用一抹除時間決定功能單元,用以至少一循環提供複數個個別頁之每循環實際抹除時間; b.使用一實際總抹除時間累積功能單元,用以儲存各個別頁的累積性的、橫跨多個循環之一實際總抹除時間,該實際總抹除時間累積功能單元係以一抹除時間量測功能單元所提供之一個別頁之每循環實際抹除時間來針對該個別頁所經受之各抹除循環進行增量;以及 c.使用一快閃記憶體頁使用量監視功能單元以控制在該非揮發性快閃記憶體中的頁的使用量,其包括根據在該個別快閃記憶體頁之該實際總抹除時間及一保證抹除時間之間之比較來選擇至少一個別快閃記憶體頁,該保證抹除時間係計算為該保證每循環抹除時間及該保證循環數目之乘積。
  20. 一種電腦程式產品,係包括其中包含一電腦可讀取程式碼之一非暫態電腦可讀取記錄媒體,該電腦可讀取媒體適配執行一種用於改善非揮發性快閃記憶體裝置的利用率之方法,適用於一非揮發性快閃記憶體,其具有複數個頁,該複數個頁之保證每循環抹除時間及保證循環數目為已知的,該方法包括: a.使用一抹除時間決定功能單元,用以至少一循環提供複數個個別頁之每循環實際抹除時間; b.使用一實際總抹除時間累積功能單元,用以儲存各個別頁的累積性的,橫跨多個循環之一實際總抹除時間,該實際總抹除時間累積功能單元係以一抹除時間量測功能單元所提供之一個別頁之每循環實際抹除時間來針對該個別頁所經受之各抹除循環進行增量;以及 c.使用一快閃記憶體頁使用量監視功能單元,用以控制在該非揮發性快閃記憶體中的頁的使用量,其包括根據在該個別該非揮發性快閃記憶體頁之該實際總抹除時間及一保證抹除時間之間之比較來選擇至少一個別頁,該保證抹除時間係計算為該保證每循環抹除時間及該保證循環數目之乘積。
TW106114105A 2016-06-16 2017-04-27 用於增加快閃記憶體裝置之有效壽命之系統及其方法 TWI614606B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/184,258 2016-06-16
US15/184,258 US10496289B2 (en) 2016-06-16 2016-06-16 System and methods for increasing useful lifetime of a flash memory device

Publications (2)

Publication Number Publication Date
TW201800949A TW201800949A (zh) 2018-01-01
TWI614606B true TWI614606B (zh) 2018-02-11

Family

ID=60660056

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106114105A TWI614606B (zh) 2016-06-16 2017-04-27 用於增加快閃記憶體裝置之有效壽命之系統及其方法

Country Status (3)

Country Link
US (1) US10496289B2 (zh)
CN (1) CN107527659B (zh)
TW (1) TWI614606B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI576699B (zh) * 2016-03-31 2017-04-01 慧榮科技股份有限公司 紀錄資料區塊的使用時間的方法及其裝置
US11543992B2 (en) * 2020-12-09 2023-01-03 Western Digital Technologies, Inc. Decreasing physical secure erase times in solid state drives
TWI831118B (zh) * 2022-01-21 2024-02-01 慧榮科技股份有限公司 資料儲存裝置及其編程應力消除方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200519595A (en) * 2003-12-02 2005-06-16 Hewlett Packard Development Co Data storage system with error correction code and replaceable defective memory
TWI244587B (en) * 2002-11-08 2005-12-01 Intel Corp Interleaved mirrored memory systems
US20080195801A1 (en) * 2007-02-13 2008-08-14 Cheon Won-Moon Method for operating buffer cache of storage device including flash memory
US20090172259A1 (en) * 2007-12-27 2009-07-02 Pliant Technology, Inc. Mass storage controller volatile memory containing metadata related to flash memory storage

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100437461B1 (ko) * 2002-01-12 2004-06-23 삼성전자주식회사 낸드 플래시 메모리 장치 및 그것의 소거, 프로그램,그리고 카피백 프로그램 방법
CN1253795C (zh) * 2002-03-28 2006-04-26 群联电子股份有限公司 通用串行总线架构快闪存储器储存装置
KR100463954B1 (ko) 2002-05-17 2004-12-30 주식회사 하이닉스반도체 플래시 메모리 장치 및 그 소거 방법
US20060053247A1 (en) * 2004-09-08 2006-03-09 Hugo Cheung Incremental erasing of flash memory to improve system performance
WO2007036985A1 (ja) * 2005-09-27 2007-04-05 Advantest Corporation 管理方法、及び管理装置
US7653778B2 (en) * 2006-05-08 2010-01-26 Siliconsystems, Inc. Systems and methods for measuring the useful life of solid-state storage devices
WO2009053961A2 (en) * 2007-10-25 2009-04-30 Densbits Technologies Ltd. Systems and methods for multiple coding rates in flash devices
WO2009072101A2 (en) * 2007-12-05 2009-06-11 Densbits Technologies Ltd. Apparatus and methods for generating row-specific reading thresholds in flash memory
KR20100013485A (ko) * 2008-07-31 2010-02-10 삼성전자주식회사 메모리 장치 및 웨어 레벨링 방법
US8386697B2 (en) * 2008-09-09 2013-02-26 Phison Electronics Corp. Memory managing method for non-volatile memory and controller using the same
US8099543B2 (en) * 2009-02-03 2012-01-17 Micron Technology, Inc. Methods of operarting memory devices within a communication protocol standard timeout requirement
WO2011005665A1 (en) * 2009-07-10 2011-01-13 Aplus Flash Technology, Inc. Novel high speed high density nand-based 2t-nor flash memory design
US8995197B1 (en) * 2009-08-26 2015-03-31 Densbits Technologies Ltd. System and methods for dynamic erase and program control for flash memory device memories
US10079068B2 (en) * 2011-02-23 2018-09-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Devices and method for wear estimation based memory management
US9021319B2 (en) * 2011-09-02 2015-04-28 SMART Storage Systems, Inc. Non-volatile memory management system with load leveling and method of operation thereof
KR20140006299A (ko) * 2012-07-03 2014-01-16 삼성전자주식회사 낸드 플래시 메모리 기반의 저장부에 데이터 기록을 제어하는 방법 및 장치
US9152555B2 (en) * 2013-11-15 2015-10-06 Sandisk Enterprise IP LLC. Data management with modular erase in a data storage system
US9329797B2 (en) * 2013-12-30 2016-05-03 Sandisk Technologies Inc. Method and system for adjusting block erase or program parameters based on a predicted erase life
US9423970B2 (en) * 2013-12-30 2016-08-23 Sandisk Technologies Llc Method and system for predicting block failure in a non-volatile memory
US20160162215A1 (en) * 2014-12-08 2016-06-09 Sandisk Technologies Inc. Meta plane operations for a storage device
US9916237B2 (en) * 2014-12-12 2018-03-13 Sandisk Technologies Llc Model based configuration parameter management
US9478303B1 (en) * 2015-04-29 2016-10-25 Sandisk Technologies Llc System and method for measuring data retention in a non-volatile memory
US9514043B1 (en) * 2015-05-12 2016-12-06 Sandisk Technologies Llc Systems and methods for utilizing wear leveling windows with non-volatile memory systems
US9530517B2 (en) * 2015-05-20 2016-12-27 Sandisk Technologies Llc Read disturb detection in open blocks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI244587B (en) * 2002-11-08 2005-12-01 Intel Corp Interleaved mirrored memory systems
TW200519595A (en) * 2003-12-02 2005-06-16 Hewlett Packard Development Co Data storage system with error correction code and replaceable defective memory
US20080195801A1 (en) * 2007-02-13 2008-08-14 Cheon Won-Moon Method for operating buffer cache of storage device including flash memory
US20090172259A1 (en) * 2007-12-27 2009-07-02 Pliant Technology, Inc. Mass storage controller volatile memory containing metadata related to flash memory storage

Also Published As

Publication number Publication date
CN107527659B (zh) 2021-04-16
CN107527659A (zh) 2017-12-29
US20170364282A1 (en) 2017-12-21
US10496289B2 (en) 2019-12-03
TW201800949A (zh) 2018-01-01

Similar Documents

Publication Publication Date Title
EP3588259B1 (en) Garbage collection method for storage media, storage medium, and program product
US9875813B2 (en) Preventive measures for adaptive flash tuning
US8806106B2 (en) Estimating wear of non-volatile, solid state memory
EP1654736B1 (en) Method and system for optimizing reliability and performance of programming data in non-volatile memory devices
US8553468B2 (en) System and method for managing erase operations in a non-volatile memory
TWI614606B (zh) 用於增加快閃記憶體裝置之有效壽命之系統及其方法
JP5814335B2 (ja) 書込みの削減、及び不揮発性メモリの残り寿命の推定と表示
JP2011070346A (ja) メモリシステム
US9235665B2 (en) System, method and apparatus for handling power limit restrictions in flash memory devices
CN111159059B (zh) 一种垃圾回收方法、装置及非易失性的存储设备
Jeong et al. Dynamic erase voltage and time scaling for extending lifetime of NAND flash-based SSDs
US10990477B2 (en) Device and method for controlling the data refresh cycles in reprogrammable non-volatile memories
TWI606451B (zh) 非揮發性記憶裝置及其控制方法
US20220075540A1 (en) Adjusting trim settings to improve memory performance or reliability
US9696930B2 (en) Reducing new extent failures on target device during non-disruptive logical data set migration
CN115938411A (zh) 闪存芯片的擦除电压配置方法、装置、设备及存储介质
JP2013097575A (ja) 半導体ディスク寿命監視装置
CN111949561B (zh) 一种存储设备及其控制方法和控制装置
KR20190066830A (ko) 전력량 예측 장치 및 그 방법
CN111435305A (zh) 存储装置、控制器及操作存储装置的方法