TWI569140B - 用於執行變數快閃耗損平均之系統與方法及儲存裝置 - Google Patents
用於執行變數快閃耗損平均之系統與方法及儲存裝置 Download PDFInfo
- Publication number
- TWI569140B TWI569140B TW101148544A TW101148544A TWI569140B TW I569140 B TWI569140 B TW I569140B TW 101148544 A TW101148544 A TW 101148544A TW 101148544 A TW101148544 A TW 101148544A TW I569140 B TWI569140 B TW I569140B
- Authority
- TW
- Taiwan
- Prior art keywords
- partition
- block
- memory
- compression
- data
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/40—Specific encoding of data in memory or cache
- G06F2212/401—Compressed data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
本發明係關於用於執行耗損平均之系統與方法,且更特定而言係關於用於執行變數快閃耗損平均之系統與方法。
隨著NAND快閃儲存裝置之大小之減小,NAND快閃儲存裝置之耐久性亦已降低(與前幾代NAND快閃儲存裝置相比)。耐久性之減小係由於較小浮動閘極區域及負責儲存資料之電子電荷之一量之一降低。為了增加當前NAND快閃儲存系統之一耐久性,該儲存系統可利用試圖將所有NAND記憶體區塊維持處於大約相同耐久性條件之耗損平均。在一項實例中,一儲存裝置控制器可計數對每一NAND記憶體區塊之寫入及抹除循環之一數目且將資料儲存至使用最少之記憶體區塊中。在另一實例中,一儲存裝置控制器量測該等記憶體區塊之一錯誤條件且將資料寫入至具有最佳錯誤條件之資料區塊。期望進一步增加NAND快閃儲存裝置之耐久性之額外耗損平均技術。
本發明係關於用於執行變數快閃耗損平均之系統與方法。在一項態樣中,揭示一種用於執行耗損平均之方法。將一儲存裝置之一記憶體區塊分割成至少一第一分割區及一第二分割區。利用該記憶體區塊之該第一分割區用於資料區塊之儲存直至該第一分割區到達一第一壽命結束條件為止。在該第一分割區到達該第一壽命結束條件之後,利
用該記憶體區塊之該第一分割區用於與小於一壓縮臨限值之一壓縮比率相關聯之資料區塊之儲存直至該第一分割區到達一第二壽命結束條件為止。另外,利用該記憶體區塊之該第二分割區用於資料區塊之儲存直至該第二分割區到達該第一壽命結束條件為止。
在另一態樣中,揭示一種包含一非揮發性記憶體及與該非揮發性記憶體通信之一處理器之儲存系統。該處理器經組態以將該非揮發性記憶體之一記憶體區塊分割成至少一第一分割區及一第二分割區。該處理器經組態以利用該記憶體區塊之該第一分割區來儲存資料區塊直至該第一分割區到達一第一壽命結束條件為止。在該第一分割區到達該第一壽命結束條件之後,該處理器經組態以利用該記憶體區塊之該第一分割區來儲存與小於一壓縮臨限值之一壓縮比率相關聯之資料區塊直至該第一分割區到達一第二壽命結束條件為止。該處理器進一步經組態以利用該第二分割區來儲存資料區塊直至該第二分割區到達該第一壽命結束條件為止。
在另一態樣中,揭示用於執行耗損平均之另一方法。一儲存裝置之一第一記憶體區塊與一第一壓縮臨限值相關聯且該儲存裝置之一第二記憶體區塊與一第二壓縮臨限值相關聯。該第二壓縮臨限值小於該第一壓縮臨限值。
接收將資料區塊儲存於該儲存裝置中之一請求且判定與該等資料區塊相關聯之一壓縮比率。基於與該等資料區塊相關聯之壓縮比率以及該第一壓縮臨限值及該第二壓縮臨
限值做出將該等資料區塊儲存於該第一記憶體區塊還是該第二記憶體區塊中之一判定。
在另一態樣中,揭示包含一非揮發性記憶體及與該非揮發性記憶體通信之一處理器之另一儲存系統。該處理器經組態以使該非揮發性記憶體之一第一記憶體區塊與一第一壓縮臨限值相關聯且使該非揮發性記憶體之一第二記憶體區塊與一第二壓縮臨限值相關聯,其中該第二壓縮臨限值小於該第一壓縮臨限值。該處理器進一步經組態以接收將資料區塊儲存於該儲存裝置中之一請求且判定與該等資料區塊相關聯之一壓縮比率。該處理器另外經組態以基於與該等資料區塊相關聯之壓縮比率以及該第一壓縮臨限值及該第二壓縮臨限值判定將該等資料區塊儲存於該第一記憶體區塊還是該第二記憶體區塊中。
本發明係關於用於執行變數快閃耗損平均之系統與方法。如下文更詳細地解釋,位於一主機裝置或一儲存裝置中之一控制器利用一記憶體區塊之至少一部分來儲存資料區塊直至該記憶體區塊之該部分到達一第一壽命結束條件為止。為延長該記憶體區塊之該部分之壽命,在該記憶體區塊到達該第一壽命結束條件之後,該控制器僅將經壓縮資料區塊儲存至該記憶體區塊之該部分直至該記憶體區塊到達一第二壽命結束條件為止。藉由在該記憶體區塊到達該第一壽命結束條件之後僅將經壓縮資料區塊儲存於該記憶體區塊之該部分中,該控制器能夠使用經增加數目個同
位位元來偵測所儲存資料中之錯誤且延長該記憶體區塊之耐久性。
舉例而言,在某些實施方案中,將一儲存裝置之一記憶體區塊分割成兩個或兩個以上分割區。一控制器將資料區塊儲存於該記憶體區塊之一第一分割區中直至該第一分割區到達一第一壽命結束條件為止。在該第一分割區到達該第一壽命結束條件之後,該控制器利用該第一分割區來儲存與小於該第一分割區之一壓縮臨限值之一壓縮比率相關聯之資料區塊直至該第一分割區到達一第二壽命結束條件為止。應瞭解,在當前應用中,與一資料區塊相關聯之一壓縮比率越低,該資料區塊越受壓縮。換言之,與一較低壓縮比率相關聯之一資料區塊比與一較高壓縮比率相關聯之一資料區塊更受壓縮。
在理想條件下,在該第一分割區到達該第一壽命結束條件之後,該控制器另外利用該第二分割區來儲存資料區塊。然而,在非理想條件下(諸如當一控制器不具有其他區域來儲存一資料區塊時),該控制器可在該第一分割區到達該第一壽命結束條件之前開始將資料區塊儲存於該第二分割區中。該控制器繼續利用該第二分割區來儲存資料區塊直至該第二分割區到達該第一壽命結束條件為止。
在其他實施方案中,一儲存裝置包含複數個記憶體區塊。在操作期間,一控制器將資料儲存至該等記憶體區塊中之一者直至該記憶體區塊到達一第一壽命結束條件為止。在該記憶體區塊到達該第一壽命結束條件之後,該控
制器將與小於與該記憶體區塊相關聯之一壓縮臨限值之一壓縮比率相關聯之資料區塊儲存於該記憶體區塊中直至該記憶體區塊到達一第二壽命結束條件為止。
圖1至圖6中展示適合用於實施本發明之態樣之一快閃記憶體系統。圖1之一主機系統100將資料儲存至一記憶體系統102中及自該記憶體系統102擷取資料。該記憶體系統可係嵌入於主機內之快閃記憶體,諸如呈安裝於一個人電腦中之一固態磁碟(SSD)機之形式。另一選擇係,記憶體系統102可呈一卡之形式,該卡透過一機械及電連接器之配對部件104及106以可抽換方式連接至主機,如圖1中所圖解說明。經組態供用作一內部或嵌入式SSD磁碟機之一快閃記憶體可看起來類似於圖1之示意圖,其中主要差異係記憶體系統102在主機內部之位置。SSD磁碟機可呈離散模組之形式,該等離散模組係用於使磁碟機旋轉之插入式替換件。
就記憶體系統102而言,圖1之主機系統100可視為具有由電路與軟體之一組合構成之兩個主要部件。該兩個主要部件係一應用程式部分108及與記憶體系統102介接之一驅動程式部分110。在一PC中,舉例而言,應用程式部分108可包含運行文書處理、圖形、控制或其他流行應用程式軟體之一處理器112以及用於管理主機100上之資料之檔案系統114。在主要專用於執行一單個組之功能之一相機、蜂巢式電話或其他主機系統中,應用程式部分108包含操作該相機以拍攝及儲存圖片、操作該蜂巢式電話以進行及接
收呼叫及諸如此類之軟體。
圖1之記憶體系統102可包含非揮發性記憶體(諸如快閃記憶體116)及一系統控制器118,此兩者皆與主機100介接,記憶體系統102連接至主機100以用於來回傳遞資料且控制記憶體116。系統控制器118可在資料程式化及讀取期間在由主機100使用之資料之邏輯位址與快閃記憶體116之實體位址之間轉換。快閃記憶體116可包含任何數目個記憶體晶粒120且僅以圖解說明之方式在圖1中展示兩個記憶體晶粒。在功能上,系統控制器118可包含與主機系統介接之一前端122、用於協調記憶體116之操作之控制器邏輯124、用於諸如垃圾收集之內部記憶體管理操作之快閃管理邏輯126及用以在控制器與快閃記憶體116之間提供一通信介面之一或多個快閃介面模組(FIM)128。
系統控制器118可實施於諸如一專用積體電路(ASIC)之一單個積體電路晶片上,諸如圖2中所展示。系統控制器118之處理器206可組態為能夠經由具有用於快閃記憶體116中之各別記憶體庫120中之每一者之I/O埠之一記憶體介面204與各別記憶體庫120中之每一者單獨通信的一多線程處理器。系統控制器118可包含一內部時鐘218。處理器206經由一內部資料匯流排202與一錯誤校正碼(ECC)模組214、一RAM緩衝器212、一主機介面216及開機程式碼ROM 210通信。
快閃記憶體116中之每一晶粒120可含有組織成多個平面之一記憶體胞陣列。為簡單起見,圖3之一者展示此等平
面310及312,但可替代地使用諸如四個或八個平面之較大數目個平面。另一選擇係,一記憶體庫之記憶體胞陣列可不劃分成平面。然而,當如此劃分時,每一平面具有其自身之可彼此獨立操作之行控制電路314及316。電路314及316自系統匯流排302之位址部分306接收其各別記憶體胞陣列之位址,且解碼該等位址以定址各別位元線318及320中之一特定一者或多者。回應於在位址匯流排306上所接收之位址而透過列控制電路324定址字線322。源電壓控制電路326及328像p井電壓控制電路330及332一樣亦與各別平面連接。若記憶體庫300呈具有一單個記憶體胞陣列之一記憶體晶片之形式,且若系統中存在兩個或兩個以上此等晶片,則透過與系統匯流排302之資料部分304連接之各別資料輸入/輸出電路334及336將資料傳送至平面310及312中以及自平面310及312傳送出。電路334及336透過線338及340實現將資料程式化至記憶體胞中及自其各別平面之記憶體胞讀取資料兩者,線338及340透過各別行控制電路314及316連接至該等平面。
雖然系統控制器118中之處理器206控制每一記憶體庫120中之記憶體晶片之操作以程式化資料、讀取資料、抹除及照管各種內務處理事情,但每一記憶體晶片亦含有執行來自控制器118之命令以執行此等功能之某一控制電路。介面電路342連接至系統匯流排302之控制及狀況部分308。將來自控制器118之命令提供至一狀態機344,狀態機344然後提供對其他電路之特定控制以便執行此等命
令。控制線346至354連接狀態機344與此等其他電路,如圖3中所展示。來自狀態機344之狀況資訊經由線356通信至介面342以經由匯流排部分308傳輸至控制器118。
下文論述記憶體胞陣列310及312之一NAND架構,但可替代地使用諸如NOR之其他架構。圖4之電路圖圖解說明一實例性NAND陣列,該實例性NAND陣列係圖3之記憶體庫300之記憶體胞陣列310之一部分。提供大數目個全域位元線,為解釋簡單起見,在圖4中僅展示四個此等線402至408。若干個串聯連接之記憶體胞串410至424連接於此等位元線中之一者與一參考電位之間。使用記憶體胞串414作為代表,複數個電荷儲存記憶體胞426至432與該串之任一端處之選擇電晶體434及436串聯連接。當使一串之選擇電晶體導電時,該串連接於其位元線與該參考電位之間。然後一次性地程式化或讀取彼串內之一個記憶體胞。
圖4之字線438至444個別地跨越若干個記憶體胞串中之每一者中之一個記憶體胞之電荷儲存元件延伸,且閘極446及450控制該等串之每一端處之選擇電晶體之狀態。使共用共同字線及控制閘極線438至450之記憶體胞串形成一起被抹除之一記憶體胞區塊452。此記憶體胞區塊含有可一次性地實體抹除之最小數目個記憶體胞。一次性地程式化一列記憶體胞(沿著字線438至444中之一者之記憶體胞)。通常,以一規定次序程式化一NAND陣列之列,在此情形下,以沿著最靠近於連接至接地或另一共同電位之串之端之字線444的列開始。接下來程式化沿著字線442之記
憶體胞之列,以此類推,貫穿整個區塊452。然而,在其他實施方案中,出於諸如減少毗鄰字線之間的耦合之原因,並不以順序次序來程式化一NAND陣列之列。
一第二區塊454係類似的,其記憶體胞串連接至與第一區塊452中之串相同但具有一組不同字線及控制閘極線之全域位元線。藉由列控制電路324將字線及控制閘極線驅動至其適當操作電壓。若系統中存在一個以上平面(諸如圖3之平面1及2),則一個記憶體架構使用在其之間延伸之共同字線。另一選擇係,可存在共用共同字線之兩個以上平面。在其他記憶體架構中,單獨驅動個別平面之字線。
可操作記憶體胞以儲存兩個電荷位準,以使得一單個資料位元儲存於每一記憶體胞中。此通常稱為一個二進制或單位階記憶體胞(SLC)記憶體。另一選擇係,可操作記憶體胞以將兩個以上可偵測電荷位準儲存於每一電荷儲存元件或區中,藉此在每一者中儲存一個以上資料位元。此後一組態稱為多位階記憶體胞(MLC)記憶體。兩種類型之記憶體胞皆可用於一記憶體中,舉例而言,二進制快閃記憶體可用於快取資料且MLC記憶體可用於較長期儲存。記憶體胞之電荷儲存元件係最常見之導電浮動閘極,但另一選擇可係不導電介電電荷陷獲材料。
圖5在概念性上圖解說明展示四個記憶體胞平面502至508之一多平面配置。此等平面502至508可位於一單個晶粒上、位於兩個晶粒上(該等平面中之兩者位於每一晶粒上)或位於四個單獨晶粒上。當然,其他數目(諸如1、2、
8、16或更多)個平面可存在於一系統之每一晶粒中。藉由矩形將該等平面個別地劃分成圖5中所展示之記憶體胞區塊,諸如位於各別平面502至508中之區塊510、512、514及516。在每一平面中可存在數十個或數百個區塊。
如上文所提及,一記憶體胞區塊係抹除單位,即可一起被實體抹除之記憶體胞之最小數目。然而,為了增加之並行性,以更大後設區塊單位操作區塊。將來自每一平面之一個區塊在邏輯上鏈接在一起以形成一後設區塊。展示四個區塊510至516形成一個後設區塊518。通常一起抹除一後設區塊內之所有記憶體胞。用於形成一後設區塊之區塊不需要限制於其各別平面內之相同相對位置,如由區塊522至528構成之一第二後設區塊520中所展示。雖然為了高系統效能而通常較佳跨越所有平面延伸後設區塊,但可以動態地形成不同平面中之一個、兩個或三個區塊中之任一者或全部之後設區塊之能力來操作記憶體系統。此允許後設區塊之大小與在一個程式化操作中可用於儲存之資料量更緊密地匹配。
出於操作目的,又將個別區塊劃分成記憶體胞頁,如圖6中所圖解說明。舉例而言,將區塊510至516中之每一者之記憶體胞各自劃分成八個頁P0至P7。另一選擇係,在每一區塊內可存在32個、64個或更多個記憶體胞頁。頁係一區塊內之資料程式化及讀取單位,其含有一次性地程式化或讀取之最小資料量。在圖3之NAND架構中,一頁係由一區塊內之沿著一字線之記憶體胞形成。然而,為了增加記
憶體系統操作並行性,可將兩個或兩個以上區塊內之此等頁在邏輯上鏈接成後設頁。圖6中圖解說明一後設頁602,其由來自四個區塊510至516中之每一者之一個實體頁形成。舉例而言,後設頁602包含該四個區塊中之每一者中之頁P2,但一後設頁之頁不需要必須在該等區塊中之每一者內具有相同相對位置。
如上文所述,為了增加一記憶體之一耐久性,位於一主機裝置或一儲存裝置中之一控制器可藉由以下方式執行變數耗損平均:將資料區塊儲存至一記憶體區塊之至少一部分直至該記憶體區塊之該部分到達一第一壽命結束條件為止。在該記憶體區塊之該部分到達該第一壽命結束條件之後,該控制器將經壓縮資料區塊儲存至該記憶體區塊之該部分直至該記憶體區塊之該部分到達一第二壽命結束條件為止。藉由僅將經壓縮資料儲存至記憶體區塊之該部分,該控制器能夠增加該控制器可與資料區塊一起使用之同位位元之量以便偵測所儲存資料中之更多錯誤且延長記憶體區塊之耐久性。
圖7係用於執行變數耗損平均之一方法之一項實施方案之一流程圖。該方法在步驟702處以一控制器將一記憶體區塊分割成一第一分割區及一第二分割區開始。該控制器可基於以下因素將記憶體區塊分割成一第一分割區及一第二分割區:諸如將與低於與記憶體區塊之一分割區相關聯之一壓縮臨限值之一壓縮比率相關聯之資料區塊之一預期百分比;與經壓縮資料區塊相關聯之寫入/抹除循環之一
預期數目對與非經壓縮資料區塊相關聯之寫入循環之一預期數目;及/或可在判定如何分割一記憶體區塊時對一控制器有用之任何其他因素。
在步驟704處,控制器與主機互動以將資料區塊寫入至記憶體區塊之第一分割區及自該第一分割區讀取資料區塊。寫入至記憶體區塊之第一分割區之資料區塊可係經壓縮資料區塊及未經壓縮資料區塊兩者。控制器繼續利用記憶體區塊之第一分割區用於資料區塊之儲存直至在步驟706處記憶體區塊之第一分割區到達一第一壽命結束條件為止。在某些實施方案中,第一壽命結束條件係一耐久性臨限值,該耐久性臨限值係藉由與記憶體區塊之分割區相關聯之一錯誤校正碼達成之寫入及抹除循環之一數目之一函數。
在記憶體區塊之第一分割區到達第一壽命結束條件之後,控制器利用記憶體區塊之第一分割區儲存經壓縮資料區塊直至第一分割區到達一第二壽命結束條件為止。在理想條件下,控制器一直等到記憶體區塊之第一分割區到達第一壽命結束條件為止才利用記憶體區塊之第二分割區儲存其他資料區塊。然而,在非理想條件下,控制器在記憶體區塊之第一分割區到達第一壽命結束條件之前將資料區塊儲存至第二分割區。舉例而言,在某些情形中,在第一分割區到達第一壽命結束條件之前,控制器可在不存在控制器可用來儲存記憶體區塊之其他空間時將資料區塊儲存至記憶體之第二分割區。控制器可繼續利用第二分割區直
至記憶體區塊之第二分割區到達第一壽命結束條件為止。
控制器與主機互動,直至在步驟708處控制器接收將一資料區塊儲存於儲存裝置中之一請求且控制器基於以下因素識別記憶體區塊以儲存資料區塊為止:諸如資料區塊之大小及記憶體區塊之第一及/或第二分割區中之可用空間。在步驟710處,控制器計算與資料區塊相關聯之一壓縮比率。在某些實施方案中,控制器基於資料壓縮之後之資料區塊之位元組之一數目對資料壓縮之前之資料區塊之位元組之數目計算壓縮比率。如上文所述,在當前應用中,與一資料區塊相關聯之一壓縮比率越低,資料區塊越受壓縮。換言之,與一較低壓縮比率相關聯之一資料區塊比與一較高壓縮比率相關聯之一資料區塊更受壓縮。
在步驟712處,控制器判定與資料區塊相關聯之壓縮比率是否小於與記憶體區塊之第一分割區相關聯之一壓縮臨限值。在某些實施方案中,設定一壓縮臨限值以使得資料區塊之一大部分在被壓縮一足夠量以供控制器將經壓縮資料區塊儲存於第一分割區中之情況下儲存於記憶體區塊中。將瞭解,當壓縮臨限值設定為一高臨限值時,可將資料區塊之一較大部分保存至分割區,但將不存在控制器可用來實施進階錯誤校正碼及檢查資料中之錯誤之同位位元之一數目之一大的增加。另一選擇係,當壓縮臨限值設定為一低臨限值時,可將資料區塊之一較小部分保存至分割區,但將存在控制器可用來實施進階錯誤校正碼及檢查資料中之錯誤之經增加數目個同位位元。
若在步驟712處控制器判定與資料區塊相關聯之壓縮比率確實等於或大於壓縮臨限值,則在步驟714處控制器將資料區塊儲存於記憶體區塊之第二分割區中。在步驟716處控制器可另外更新與第二分割區相關聯之一或多個參數以使得控制器可判定記憶體區塊之第二分割區是否已到達第一壽命結束條件。
若在步驟712處控制器判定與資料區塊相關聯之壓縮比率小於壓縮臨限值,則在步驟718處控制器將資料區塊儲存於記憶體區塊之第一分割區中。在步驟720處控制器可另外更新與第一分割區相關聯之一或多個參數以使得控制器可判定記憶體區塊之第一分割區是否已到達一第二壽命結束條件。該第二壽命結束條件可係一耐久性臨限值,該耐久性臨限值係藉由與記憶體區塊之分割區相關聯之一錯誤校正碼達成之寫入及抹除循環之一數目之一函數。
藉由利用記憶體區塊之第一分割區來儲存經壓縮資料,控制器能夠延長第一分割區之正常壽命。由於將經壓縮區塊儲存於第一分割區中,因此經增加數目個位元可供控制器用來用作同位位元。藉由利用經增加數目個同位位元,控制器能夠實施更進階之錯誤校正碼以檢查儲存於第一分割區中之資料之錯誤且延長第一分割區之正常壽命。
將瞭解,在記憶體區塊之第一分割區已到達第一壽命結束條件之後,控制器將在步驟708處開始藉由以下方式重複上文所闡述之方法:利用記憶體區塊之第一分割區來儲存經壓縮資料區塊直至第一分割區到達第二壽命結束條件
為止且利用記憶體區塊之第二分割區來儲存其他資料區塊直至第二分割區到達第一壽命結束條件為止。
在某些實施方案中,控制器可使一或多個耗損位準指示符與記憶體之第一分割區相關聯以識別其中第一分割區進行操作之狀態。舉例而言,在上文所闡述之實例中,控制器可使一第一耗損位準與第一分割區相關聯直至第一分割區到達第一壽命結束條件為止,該第一耗損位準指示所有資料區塊可寫入至第一分割區;在第一分割區到達第一壽命結束條件與第一分割區到達第二壽命結束條件之間的一時間週期期間使一第二耗損位準與第一分割區相關聯,該第二耗損位準指示僅與小於與第一分割區相關聯之壓縮臨限值之一壓縮比率相關聯之資料區塊可儲存於第一分割區中;且在第一分割區到達第二壽命結束條件之後使一第三耗損位準與第一分割區相關聯,該第三耗損位準指示無資料區塊可寫入至第一分割區。
雖然上文所闡述之實例圖解說明具有三個狀態之第一分割區,但在其他實施方案中,第一分割區可具有其他狀態。舉例而言,一儲存系統控制器可使用第一分割區來儲存任何類型之資料區塊直至第一分割區到達一第一壽命結束條件為止。在第一分割區到達第一壽命結束條件之後,控制器可儲存具有小於一第一壓縮臨限值之一壓縮比率之資料區塊直至第一分割區到達一第二壽命結束條件為止。在第一分割區到達第二壽命結束條件之後,控制器可然後儲存具有小於一第二壓縮臨限值之一壓縮比率之資料區塊
直至第一分割區到達一第三壽命結束條件為止。將瞭解,第二壓縮臨限值將要求儲存於第一分割區中之資料區塊具有比由第一壓縮臨限值要求之壓縮比率低之一壓縮比率以給該控制器提供在錯誤校正碼中利用且檢查所儲存資料中之錯誤之額外同位位元。最後,在第一分割區到達第三壽命結束條件之後,控制器可判定不將其他區塊儲存至記憶體區塊之第一分割區。
圖8係圖解說明分割成一第一分割區802及一第二分割區804之一記憶體區塊之一耐久性之一圖表。結合圖7繼續上文所闡述之實例,一控制器在一第一時間週期(T1)期間將資料區塊儲存於第一分割區802中直至第一分割區802到達一第一壽命結束條件(一第一耐久性臨限值)806為止。
在第一分割區802到達第一壽命結束條件806之後,控制器將與小於一第一壓縮臨限值之一壓縮比率相關聯之資料區塊儲存於第一分割區802中。控制器在一第二時間週期(T2)期間繼續將此等資料區塊儲存於第一分割區802中直至第一分割區802到達一第二壽命結束條件(一第二耐久性臨限值)810為止。
另外,控制器將資料區塊儲存於第二分割區804中。在理想條件下,控制器在第一分割區802已到達第一壽命結束條件806之後在第二時間週期(T2)期間僅將資料區塊儲存於第二分割區804中。然而,在如圖8中所展示之非理想條件下,控制器在第一時間週期(T1)期間將某些資料區塊儲存至第二分割區804且在第二時間週期(T2)期間繼續將
資料區塊儲存至第二分割區804。控制器在第二時間週期(T2)期間繼續將資料區塊儲存於第二分割區804中直至第二分割區804到達第二壽命結束條件810為止。
雖然上文結合圖7及圖8所闡述之實例闡述分割成一第一分割區及一第二分割區之一記憶體區塊,但在其他實施方案中,該記憶體區塊可分割成三個或三個以上分割區。圖9係圖解說明分割成一第一分割區902、一第二分割區904及一第三分割區906之一記憶體區塊之一耐久性之一圖表。在一第一時間週期(T1)期間,一控制器將資料區塊儲存至第一分割區902、第二分割區904及第三分割區906。
在第一時間週期期間,控制器以一不均勻方式將資料區塊儲存至第一分割區、第二分割區及第三分割區以使得第一分割區902之耗損平均大於第二分割區904之耗損平均且第二分割區904之耗損平均大於第三分割區906之耗損平均。控制器繼續將資料區塊儲存至第一分割區、第二分割區及第三分割區直至第一分割區902到達一第一壽命結束條件(一第一耐久性臨限值)908為止。
在第一分割區902到達第一壽命結束條件908之後,控制器將與小於一第一壓縮臨限值之一壓縮比率相關聯之資料區塊儲存於第一分割區902中。控制器在一第二時間週期(T2)期間繼續將此等資料區塊儲存於第一分割區902中直至第一分割區902到達一第二壽命結束條件(一第二耐久性臨限值)912為止。
另外,在第一分割區902到達第一壽命結束條件908之
後,控制器以一不均勻方式將資料區塊儲存於第二分割區904及第三分割區906中以使得第二分割區904之耗損平均大於第三分割區906之耗損平均。控制器在第二時間週期(T2)期間繼續以此方式將資料區塊儲存於第二分割區904及第三分割區906中直至第一分割區902到達第二壽命結束條件912或第二分割區到達第一壽命結束條件908為止。
在圖9中,第一分割區902在第二分割區904到達第一壽命結束條件908之前到達第二壽命結束條件912。然而,將瞭解,在其他實施方案中,第二分割區904可在第一分割區902到達第二壽命結束條件912之前到達第一壽命結束條件908。若第二分割區904在第二時間週期(T2)之結束之前到達第一壽命結束條件908,則控制器可在第二分割區904到達第一壽命結束條件908之後僅將與小於第一壓縮臨限值之一壓縮比率相關聯之資料區塊儲存至第二分割區904。
在第一分割區902到達第二壽命結束條件912之後,控制器將與小於一第二壓縮臨限值之一壓縮比率相關聯之資料區塊儲存於第一分割區902中。將瞭解,第二壓縮臨限值914小於第一壓縮臨限值910以使得控制器可利用經增加數目個同位位元來偵測所儲存資料中之錯誤且延長記憶體區塊之耐久性。控制器在一第三時間週期(T3)期間繼續將此等資料區塊儲存於第一分割區902中直至第一分割區902到達一第三壽命結束條件(一第三耐久性臨限值)916為止。
另外,在第一分割區902到達第二壽命結束條件912之
後,控制器在第三時間週期(T3)期間將資料區塊儲存至第二分割區904。若第二分割區904在第三時間週期(T3)之開始尚未到達第一壽命結束條件908,則控制器將資料區塊寫入至第二分割區904直至第二分割區904到達第一壽命結束條件908為止。在第二分割區904到達第一壽命結束條件908之後,控制器將與小於第一壓縮臨限值之一壓縮比率相關聯之資料區塊寫入至第二分割區904直至第二分割區904到達第二壽命結束條件912為止。在某些實施方案中,在第二分割區904到達第一壽命結束條件908之後,控制器將僅將與在第一壓縮臨限值與第二壓縮臨限值之間的一壓縮臨限值範圍內之一壓縮比率相關聯之資料區塊寫入至第二分割區904。
在第一分割區902到達第二壽命結束條件912之後,控制器將資料區塊儲存至第三分割區906。控制器在第三時間週期(T3)期間繼續將資料區塊儲存至第三分割區906直至第三分割區906到達第一壽命結束條件908為止。
雖然上文所闡述之實施方案教示分割成多個分割區之一記憶體區塊,但在其他實施方案中,控制器並不將每一記憶體區塊分割成若干分割區。而是,控制器使兩個或兩個以上耗損位準與記憶體區塊相關聯用於儲存不同類型之資料。舉例而言,在一項實施方案中,一控制器可依序使一記憶體區塊與一第一耗損位準、一第二耗損位準、一第三耗損位準及一第四耗損位準相關聯。然而,可經由任何其他數目個耗損位準實施類似概念。
最初,控制器使記憶體區塊與一第一耗損位準相關聯且利用記憶體區塊來儲存經壓縮資料區塊及未經壓縮資料區塊兩者。控制器繼續以此方式利用記憶體區塊直至記憶體區塊到達一第一壽命結束條件為止。
在記憶體區塊到達第一壽命結束條件之後,控制器可使一第二耗損位準與記憶體區塊相關聯。在第二耗損位準下,控制器可利用記憶體區塊來儲存與小於與記憶體區塊相關聯之一第一壓縮臨限值之一壓縮比率相關聯之資料區塊。控制器在第二耗損位準下繼續以此方式利用記憶體區塊直至記憶體區塊到達一第二壽命結束條件為止。
在記憶體區塊到達第二壽命結束條件之後,控制器可使一第三耗損位準與記憶體區塊相關聯。在第三耗損位準下,控制器可利用記憶體區塊來儲存與小於與記憶體區塊相關聯之一第二壓縮臨限值之一壓縮比率相關聯之資料區塊。將瞭解,第二壓縮臨限值將小於第一壓縮臨限值以使控制器具備使用額外同位位元來偵測所儲存資料中之錯誤且延長記憶體區塊之耐久性之能力。控制器在第三耗損位準下繼續以此方式利用記憶體區塊直至記憶體區塊到達一第三壽命結束條件為止。
在記憶體區塊到達第三壽命結束條件之後,控制器可使一第四耗損位準與記憶體區塊相關聯。在第四耗損位準下,控制器可判定記憶體區塊不應再用於儲存資料。
控制器可跨越儲存裝置中之複數個記憶體區塊實施上文所闡述之耗損平均策略,其中每一記憶體區塊與一不同耗
損位準相關聯且控制器基於與一資料區塊相關聯之一壓縮比率及與一記憶體區塊相關聯之一壓縮臨限值或兩個壓縮臨限值之間的壓縮臨限值範圍將資料區塊儲存至不同記憶體區塊。
圖10圖解說明複數個記憶體區塊及與記憶體區塊相關聯之一耗損位準之一項實例。如圖10中所展示,記憶體區塊1及5與一第一耗損位準相關聯,在此情況下控制器可將經壓縮資料區塊及未經壓縮資料區塊兩者儲存至記憶體區塊;記憶體區塊3及4與一第二耗損位準相關聯,在此情況下控制器可儲存與小於一第一壓縮臨限值之一壓縮比率相關聯之資料區塊;記憶體區塊2與一第三耗損位準相關聯,在此情況下控制器可儲存與小於一第二壓縮臨限值之一壓縮比率相關聯之資料區塊;且記憶體區塊6與一第四耗損位準相關聯,在此情況下控制器不再將資料區塊儲存於記憶體區塊中。
在其他實施方案中,將瞭解,記憶體區塊中之一或多者可與兩個壓縮臨限值之間的一壓縮臨限值範圍而非僅一單個壓縮臨限值相關聯。舉例而言,在圖10之實例中,記憶體區塊1及5與一第一耗損位準相關聯,在此情況下控制器可將經壓縮資料區塊及未經壓縮資料區塊兩者儲存至記憶體區塊;記憶體區塊3及4與一第二耗損位準相關聯,在此情況下控制器可儲存與在一第一壓縮臨限值與一第二壓縮臨限值之間的一第一壓縮臨限值範圍內之一壓縮比率相關聯之資料區塊;記憶體區塊2與一第三耗損位準相關聯,
在此情況下控制器可儲存與小於第二壓縮臨限值之一壓縮臨限值相關聯之資料區塊;且記憶體區塊6與一第四耗損位準相關聯,在此情況下控制器不再將資料區塊儲存於記憶體區塊中。
圖11係用於執行變數耗損平均之一方法之一項實施方案之一流程圖。該方法在步驟1102處以一控制器使複數個記憶體區塊中之每一記憶體區塊與一耗損位準相關聯開始。在步驟1104處控制器與一主機互動且接收將一資料區塊儲存於儲存裝置中之一請求。
在步驟1106處,控制器計算資料區塊之一壓縮比率,且在步驟1108處,控制器基於以下因素識別在其中儲存資料區塊之一記憶體區塊:諸如記憶體區塊之大小、記憶體區塊中之一或多者之自由空間、與資料區塊相關聯之壓縮比率及/或與記憶體區塊相關聯之壓縮臨限值或壓縮臨限值範圍。
繼續圖10之說明性實例,一控制器可判定(舉例而言)與一資料區塊相關聯之一壓縮比率小於與記憶體區塊3及4相關聯之第一壓縮臨限值,但不小於與記憶體區塊2相關聯之第二壓縮比率。因此,控制器可基於記憶體區塊3或4中之自由空間之一量判定將資料區塊儲存於記憶體區塊3還是記憶體區塊4中。
繼續圖10之說明性實例,控制器可判定(舉例而言)與資料區塊相關聯之一壓縮比率小於與記憶體區塊3及4相關聯之第一壓縮臨限值,且與資料區塊相關聯之壓縮比率小於
與記憶體區塊2相關聯之第二壓縮臨限值。控制器可然後基於以下因素判定將資料區塊儲存於記憶體區塊2、記憶體區塊3還是記憶體區塊4中:諸如三個記憶體區塊中之任一者中之自由空間之一量;諸如將資料區塊儲存於具有最高可能耗損位準之記憶體區塊中之偏好;及/或基於與記憶體區塊相關聯之一壓縮臨限值或壓縮臨限值範圍待儲存於每一記憶體區塊中之基於先前統計知識之一預期資料區塊量。
再次參考圖11,在步驟1110處,控制器將資料區塊保存於在步驟1108處所識別之記憶體區塊中。在步驟1112處,控制器可然後更新與在步驟1108處所識別之記憶體區塊相關聯之一或多個參數以使得控制器可判定記憶體區塊是否已到達一新壽命結束條件。將瞭解,然後每當一控制器接收將一資料區塊儲存於儲存系統中之一請求時,可重複上文所闡述之程序。
圖1至圖11圖解說明用於執行變數快閃耗損平均之系統與方法。如上文所解釋,一控制器利用一記憶體區塊之至少一部分來儲存資料區塊直至記憶體區塊之該部分到達一第一壽命結束條件為止。為延長記憶體區塊之該部分之壽命,在記憶體區塊到達第一壽命結束條件之後,控制器僅將經壓縮資料區塊儲存至記憶體區塊之該部分直至記憶體區塊到達一第二壽命結束條件為止。藉由在記憶體區塊到達第一壽命結束條件之後僅將經壓縮資料區塊儲存於記憶體區塊之該部分中,控制器能夠使用經增加數目個同位位
元來偵測所儲存資料中之錯誤且延長記憶體區塊之耐久性。
意欲將前述詳細說明視為說明性而非限制性,且應理解以下申請專利範圍,包含所有等效形式意欲界定本發明之精神及範疇。
1‧‧‧記憶體區塊
2‧‧‧記憶體區塊
3‧‧‧記憶體區塊
4‧‧‧記憶體區塊
5‧‧‧記憶體區塊
6‧‧‧記憶體區塊
100‧‧‧主機系統/主機
102‧‧‧記憶體系統
104‧‧‧部件
106‧‧‧部件
108‧‧‧應用程式部分
110‧‧‧驅動程式部分
112‧‧‧處理器
114‧‧‧檔案系統
116‧‧‧快閃記憶體/記憶體
118‧‧‧系統控制器/控制器
120‧‧‧記憶體晶粒/記憶體庫/晶粒
122‧‧‧前端
124‧‧‧控制器邏輯
126‧‧‧快閃管理邏輯
128‧‧‧快閃介面模組
202‧‧‧內部資料匯流排
204‧‧‧記憶體介面
206‧‧‧處理器
210‧‧‧開機程式碼唯讀記憶體
212‧‧‧隨機存取記憶體緩衝器
214‧‧‧錯誤校正碼模組
216‧‧‧主機介面
218‧‧‧內部時鐘
300‧‧‧記憶體庫
302‧‧‧系統匯流排
304‧‧‧資料部分
306‧‧‧位址部分/位址匯流排
308‧‧‧控制及狀況部分/匯流排部分
310‧‧‧平面/記憶體胞陣列
312‧‧‧平面/記憶體胞陣列
314‧‧‧行控制電路/電路
316‧‧‧行控制電路/電路
318‧‧‧位元線
320‧‧‧位元線
322‧‧‧字線
324‧‧‧列控制電路
326‧‧‧源電壓控制電路
328‧‧‧源電壓控制電路
330‧‧‧P井電壓控制電路
332‧‧‧P井電壓控制電路
334‧‧‧資料輸入/輸出電路
336‧‧‧資料輸入/輸出電路
338‧‧‧線
340‧‧‧線
342‧‧‧介面電路/介面
344‧‧‧狀態機
346-354‧‧‧控制線
356‧‧‧線
402-408‧‧‧線
410-424‧‧‧記憶體胞串
426-432‧‧‧記憶體胞
434‧‧‧選擇電晶體
436‧‧‧選擇電晶體
438-444‧‧‧字線/共同字線
446‧‧‧閘極/控制閘極線
450‧‧‧閘極/控制閘極線
452‧‧‧記憶體胞區塊/區塊/第一區塊
454‧‧‧第二區塊
502-508‧‧‧平面
510-516‧‧‧區塊
518‧‧‧後設區塊
520‧‧‧第二後設區塊
522-528‧‧‧區塊
602‧‧‧後設頁
802‧‧‧第一分割區
804‧‧‧第二分割區
806‧‧‧第一壽命結束條件/第一耐久性臨限值
810‧‧‧第二壽命結束條件/第二耐久性
902‧‧‧第一分割區
904‧‧‧第二分割區
906‧‧‧第三分割區
908‧‧‧第一壽命結束條件/第一耐久性臨限值
912‧‧‧第二壽命結束條件/第二耐久性臨限值
916‧‧‧第三壽命結束條件/第三耐久性臨限值
P0-P7‧‧‧頁
T1‧‧‧第一時間週期
T2‧‧‧第二時間週期
T3‧‧‧第三時間週期
圖1圖解說明可實施所揭示之變數快閃耗損平均方法的與具有含有多個晶粒之一多記憶體庫非揮發性記憶體之一記憶體系統連接之一主機。
圖2係供在圖1之多晶粒非揮發性記憶體中使用之一實例性快閃記憶體系統控制器之一實例性方塊圖。
圖3係適合作為圖1中所圖解說明之非揮發性記憶體庫中之一者之一個快閃記憶體庫之一實例。
圖4係可在圖3之記憶體庫中使用之一記憶體胞陣列之一代表性電路圖。
圖5圖解說明圖3之記憶體庫之一實例性實體記憶體組織。
圖6展示圖5之實體記憶體之一部分之一展開圖。
圖7係用於執行變數快閃耗損平均之一方法之一項實施方案之一流程圖。
圖8係圖解說明分割成一第一分割區及一第二分割區之一記憶體區塊之一耐久性之一圖表。
圖9係圖解說明分割成一第一分割區、一第二分割區及一第三分割區之一記憶體區塊之一耐久性之一圖表。
圖10係圖解說明與不同耗損位準相關聯之複數個記憶體區塊之一圖表。
圖11係用於執行變數快閃耗損平均之一方法之又一實施方案之一流程圖。
100‧‧‧主機系統/主機
102‧‧‧記憶體系統
104‧‧‧部件
106‧‧‧部件
108‧‧‧應用程式部分
110‧‧‧驅動程式部分
112‧‧‧處理器
114‧‧‧檔案系統
116‧‧‧快閃記憶體/記憶體
118‧‧‧系統控制器/控制器
120‧‧‧記憶體晶粒/記憶體庫/晶粒
122‧‧‧前端
124‧‧‧控制器邏輯
126‧‧‧快閃管理邏輯
128‧‧‧快閃介面模組
Claims (20)
- 一種用於執行耗損平均之方法,該方法包括:將一儲存裝置之一記憶體區塊分割成至少一第一分割區及一第二分割區;利用該記憶體區塊之該第一分割區用於以一錯誤校正碼之資料區塊之儲存直至該第一分割區到達一第一壽命結束條件為止;在該第一分割區到達該第一壽命結束條件之後:利用該第一分割區用於與小於一壓縮臨限值之一壓縮比率相關聯之資料區塊之儲存直至該第一分割區到達一第二壽命結束條件為止,其中儲存於該第一分割區之該等資料區塊於該第一壽命結束條件之後以一進階錯誤校正碼儲存,該進階錯誤校正碼比在該第一壽命結束條件之前所利用的該錯誤校正碼利用更多的儲存於該第一分割區之同位位元;及利用該第二分割區用於資料區塊之該儲存直至該第二分割區到達該第一壽命結束條件為止。
- 如請求項1之方法,其中該第一壽命結束條件係與該記憶體區塊之一分割區相關聯之一耐久性臨限值。
- 如請求項2之方法,其中該耐久性臨限值係基於藉由與該記憶體區塊之一分割區相關聯之一錯誤校正碼達成之寫入及抹除循環之一數目。
- 如請求項1之方法,其中利用該第一分割區用於與小於一壓縮臨限值之一壓縮比率相關聯之資料區塊之儲存包 括:接收將資料區塊儲存於該儲存裝置中之一請求;判定與該等資料區塊相關聯之一壓縮比率;判定與該等資料區塊相關聯之該壓縮比率是否小於與該第一分割區相關聯之一壓縮臨限值;及回應於判定與該等資料區塊相關聯之該壓縮比率小於與該第一分割區相關聯之該壓縮臨限值而將該等資料區塊儲存於該第一分割區中。
- 如請求項1之方法,其中利用該第二分割區用於資料區塊之該儲存包括:接收將資料區塊儲存於該儲存裝置中之一請求;判定與該等資料區塊相關聯之一壓縮比率;判定與該等資料區塊相關聯之該壓縮比率是否小於與該第一分割區相關聯之一壓縮臨限值;及回應於判定與該等資料區塊相關聯之該壓縮比率不小於與該第一分割區相關聯之該壓縮臨限值而將該等資料區塊儲存於該第二分割區中。
- 如請求項1之方法,其中該第一分割區與一第一耗損位準相關聯直至該第一分割區到達該第一壽命結束條件為止,該第一耗損位準指示所有資料區塊可寫入至該第一分割區;其中在該第一分割區到達該第一壽命結束條件之後但在該第一分割區到達該第二壽命結束條件之前該第一分割區與一第二耗損位準相關聯,該第二耗損位準指示僅 與小於該壓縮臨限值之一壓縮比率相關聯之資料區塊可寫入至該第一分割區;且其中在該第一分割區到達該第二壽命結束條件之後該第一分割區與一第三耗損位準相關聯,該第三耗損位準指示無資料區塊可寫入至該第一分割區。
- 一種儲存系統,其包括:一非揮發性記憶體;及一處理器,其與該非揮發性記憶體通信,該處理器經組態以:將該非揮發性記憶體之一記憶體區塊分割成至少一第一分割區及一第二分割區;利用該記憶體區塊之該第一分割區來以一錯誤校正碼儲存資料區塊直至該第一分割區到達一第一壽命結束條件為止;在該第一分割區到達該第一壽命結束條件之後:利用該第一分割區用於與小於一壓縮臨限值之一壓縮比率相關聯之資料區塊之儲存直至該第一分割區到達一第二壽命結束條件為止,其中儲存於該第一分割區之該等資料區塊於該第一壽命結束條件之後以一進階錯誤校正碼儲存,該進階錯誤校正碼比在該第一壽命結束條件之前所利用的該錯誤校正碼利用更多的儲存於該第一分割區之同位位元;及利用該第二分割區用於資料區塊之該儲存直至該第二分割區到達該第一壽命結束條件為止。
- 如請求項7之儲存系統,其中該第一壽命結束條件係基於藉由與該記憶體區塊之一分割區相關聯之一錯誤校正碼達成之寫入及抹除循環之一數目之一耐久性臨限值。
- 如請求項7之儲存系統,其中利用該第一分割區用於與小於一壓縮臨限值之一壓縮比率相關聯之資料區塊之儲存,該處理器進一步經組態以:接收將資料區塊儲存於該儲存裝置中之一請求;判定與該等資料區塊相關聯之一壓縮比率;判定與該等資料區塊相關聯之該壓縮比率是否小於與該第一分割區相關聯之一壓縮臨限值;及回應於判定與該等資料區塊相關聯之該壓縮比率小於與該第一分割區相關聯之該壓縮臨限值而將該等資料區塊儲存於該第一分割區中。
- 如請求項7之儲存系統,其中利用該第一分割區用於與小於一壓縮臨限值之一壓縮比率相關聯之資料區塊之儲存,該處理器進一步經組態以:接收將資料區塊儲存於該儲存裝置中之一請求;判定與該等資料區塊相關聯之一壓縮比率;判定與該等資料區塊相關聯之該壓縮比率是否小於與該第一分割區相關聯之一壓縮臨限值;及回應於判定與該等資料區塊相關聯之該壓縮比率不小於與該第一分割區相關聯之該壓縮臨限值而將該等資料區塊儲存於該第二分割區中。
- 一種用於執行耗損平均之方法,該方法包括: 使一儲存裝置之一第一記憶體區塊與一第一壓縮臨限值相關聯,其中該第一記憶體區塊實施一錯誤校正碼;使該儲存裝置之一第二記憶體區塊與一第二壓縮臨限值相關聯,其中該第二壓縮臨限值小於該第一壓縮臨限值,其中該第二記憶體區塊實施一較少的進階錯誤校正碼,該較少的進階錯誤校正碼比該第一記憶體區塊實施之該錯誤校正碼利用更少的同位位元,及其中該第一記憶體區塊已到達一第一壽命結束條件且該第二記憶體區塊未到達該第一壽命結束條件;接收將資料區塊儲存於該儲存裝置中之一請求;判定與該等資料區塊相關聯之一壓縮比率;及基於與該等資料區塊相關聯之該壓縮比率以及該第一壓縮臨限值及該第二壓縮臨限值判定將該等資料區塊儲存於該第一記憶體區塊還是該第二記憶體區塊中。
- 如請求項11之方法,其進一步包括:在判定與該等資料區塊相關聯之該壓縮比率不小於該第一壓縮臨限值之後將該等資料區塊儲存於該第二記憶體區塊中。
- 如請求項11之方法,其進一步包括:在判定與該等資料區塊相關聯之該壓縮比率小於該第一壓縮臨限值之後將該等資料區塊儲存於該第一記憶體區塊中。
- 如請求項12之方法,其進一步包括:在判定與該等資料區塊相關聯之該壓縮比率不小於該 第一壓縮臨限值且判定與該等資料區塊相關聯之該壓縮比率不小於該第二壓縮臨限值之後將該等資料區塊儲存於該儲存裝置之一第三記憶體區塊中。
- 如請求項11之方法,其進一步包括:判定該第一記憶體區塊已到達一第二壽命結束條件;及使該第一記憶體區塊與一第三壓縮臨限值相關聯,其中該第三壓縮臨限值小於該第一壓縮臨限值。
- 如請求項11之方法,其進一步包括:判定該第二記憶體區塊已到達該第一壽命結束條件;及使該第二記憶體區塊與一第三壓縮臨限值相關聯,其中該第三壓縮臨限值等於該第一壓縮臨限值。
- 一種儲存裝置,其包括:一非揮發性記憶體;及一處理器,其與該非揮發性記憶體通信,該處理器經組態以:使該非揮發性記憶體之一第一記憶體區塊與一第一壓縮臨限值相關聯,其中該第一記憶體區塊實施一錯誤校正碼;使該非揮發性記憶體之一第二記憶體區塊與一第二壓縮臨限值相關聯,其中該第二壓縮臨限值小於該第一壓縮臨限值,其中該第二記憶體區塊實施一較少的進階錯誤校正碼,該較少的進階錯誤校正碼比該第一 記憶體區塊實施之該錯誤校正碼利用更少的同位位元,及其中該第一記憶體區塊已到達一壽命結束條件且該第二記憶體區塊未到達該壽命結束條件;接收將資料區塊儲存於該儲存裝置中之一請求;判定與該等資料區塊相關聯之一壓縮比率;及基於與該等資料區塊相關聯之該壓縮比率以及該第一壓縮臨限值及該第二壓縮臨限值判定將該等資料區塊儲存於該第一記憶體區塊還是該第二記憶體區塊中。
- 如請求項17之儲存裝置,其中該處理器進一步經組態以:在判定與該等資料區塊相關聯之該壓縮比率不小於該第一壓縮臨限值之後將該等資料區塊儲存於該第二記憶體區塊中。
- 如請求項17之儲存裝置,其中該處理器進一步經組態以:在判定與該等資料區塊相關聯之該壓縮比率小於該第一壓縮臨限值之後將該等資料區塊儲存於該第一記憶體區塊中。
- 如請求項17之儲存裝置,其中該處理器進一步經組態以:在判定與該等資料區塊相關聯之該壓縮比率不小於該第一壓縮臨限值且判定與該等資料區塊相關聯之該壓縮比率不小於該第二壓縮臨限值之後將該等資料區塊儲存於該非揮發性記憶體之一第三記憶體區塊中。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/330,217 US9037779B2 (en) | 2011-12-19 | 2011-12-19 | Systems and methods for performing variable flash wear leveling |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201337562A TW201337562A (zh) | 2013-09-16 |
TWI569140B true TWI569140B (zh) | 2017-02-01 |
Family
ID=47520282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101148544A TWI569140B (zh) | 2011-12-19 | 2012-12-19 | 用於執行變數快閃耗損平均之系統與方法及儲存裝置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9037779B2 (zh) |
TW (1) | TWI569140B (zh) |
WO (1) | WO2013096189A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI125308B (en) * | 2012-07-05 | 2015-08-31 | Blancco Oy Ltd | Device, arrangement, method, and computer program for erasing data stored in mass storage |
US9535614B2 (en) | 2013-11-21 | 2017-01-03 | Sandisk Technologies Llc | Temperature based flash memory system maintenance |
US9513815B2 (en) * | 2013-12-19 | 2016-12-06 | Macronix International Co., Ltd. | Memory management based on usage specifications |
US9875039B2 (en) | 2014-09-30 | 2018-01-23 | Sandisk Technologies Llc | Method and apparatus for wear-leveling non-volatile memory |
US20160180953A1 (en) * | 2014-12-22 | 2016-06-23 | Sandisk Technologies Inc. | Predicting memory data loss based on temperature accelerated stress time |
US10101938B2 (en) * | 2014-12-30 | 2018-10-16 | International Business Machines Corporation | Data storage system selectively employing multiple data compression techniques |
US10193579B2 (en) * | 2015-09-08 | 2019-01-29 | Toshiba Memory Corporation | Storage control device, storage system, and storage control method |
US9830098B1 (en) * | 2016-07-11 | 2017-11-28 | Silicon Motion, Inc. | Method of wear leveling for data storage device |
US10747638B2 (en) * | 2018-04-18 | 2020-08-18 | Oracle International Corporation | Computing memory health metrics |
US11256436B2 (en) * | 2019-02-15 | 2022-02-22 | Apple Inc. | Systems and methods for balancing multiple partitions of non-volatile memory |
TWI730600B (zh) * | 2020-01-21 | 2021-06-11 | 群聯電子股份有限公司 | 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004139503A (ja) * | 2002-10-21 | 2004-05-13 | Matsushita Electric Ind Co Ltd | 記憶装置及びその制御方法 |
TWI224748B (en) * | 2002-09-13 | 2004-12-01 | Ibm | A method and a device for updating firmware stored in a rewritable non-volatile memory, and a computer program product thereof |
TW200519595A (en) * | 2003-12-02 | 2005-06-16 | Hewlett Packard Development Co | Data storage system with error correction code and replaceable defective memory |
TW200638200A (en) * | 2005-02-02 | 2006-11-01 | Insyde Software Corp | System and method for reducing memory requirements of firmware and providing secure updates and storage areas for firmware |
US20100122015A1 (en) * | 2008-11-10 | 2010-05-13 | Atmel Corporation | Software adapted wear leveling |
US20100281340A1 (en) * | 2009-04-30 | 2010-11-04 | International Business Machines Corporation | Adaptive endurance coding of non-volatile memories |
US20110145486A1 (en) * | 2009-12-16 | 2011-06-16 | Tsutomu Owa | Memory management device and method |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6622168B1 (en) * | 2000-04-10 | 2003-09-16 | Chutney Technologies, Inc. | Dynamic page generation acceleration using component-level caching |
US7716332B1 (en) * | 2001-06-20 | 2010-05-11 | At&T Intellectual Property I, L.P. | System and method for server-based predictive caching of back-end system data |
US7548982B2 (en) * | 2002-10-31 | 2009-06-16 | Hewlett-Packard Development Company, L.P. | Predictive branching and caching method and apparatus for applications |
US20060282610A1 (en) | 2005-06-08 | 2006-12-14 | M-Systems Flash Disk Pioneers Ltd. | Flash memory with programmable endurance |
US20080288863A1 (en) * | 2007-05-15 | 2008-11-20 | Mypoints.Com Inc. | System and method of personalizing web pages by pre-fetching subsets of individual member data |
US8504411B1 (en) * | 2009-09-14 | 2013-08-06 | Aol Advertising Inc. | Systems and methods for online user profiling and segmentation |
US8862806B2 (en) * | 2010-08-20 | 2014-10-14 | Samsung Electronics Co., Ltd | Semiconductor storage device and method of throttling performance of the same |
US8676741B2 (en) * | 2011-06-16 | 2014-03-18 | Xerox Corporation | Dynamic heuristic web page caching based on the user's recent page visits |
US8850153B2 (en) * | 2011-09-30 | 2014-09-30 | International Business Machines Corporation | Enabling throttling on average write throughput for solid state storage devices |
-
2011
- 2011-12-19 US US13/330,217 patent/US9037779B2/en active Active
-
2012
- 2012-12-17 WO PCT/US2012/070074 patent/WO2013096189A1/en active Application Filing
- 2012-12-19 TW TW101148544A patent/TWI569140B/zh not_active IP Right Cessation
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI224748B (en) * | 2002-09-13 | 2004-12-01 | Ibm | A method and a device for updating firmware stored in a rewritable non-volatile memory, and a computer program product thereof |
JP2004139503A (ja) * | 2002-10-21 | 2004-05-13 | Matsushita Electric Ind Co Ltd | 記憶装置及びその制御方法 |
TW200519595A (en) * | 2003-12-02 | 2005-06-16 | Hewlett Packard Development Co | Data storage system with error correction code and replaceable defective memory |
TW200638200A (en) * | 2005-02-02 | 2006-11-01 | Insyde Software Corp | System and method for reducing memory requirements of firmware and providing secure updates and storage areas for firmware |
US20100122015A1 (en) * | 2008-11-10 | 2010-05-13 | Atmel Corporation | Software adapted wear leveling |
US20100281340A1 (en) * | 2009-04-30 | 2010-11-04 | International Business Machines Corporation | Adaptive endurance coding of non-volatile memories |
US20110145486A1 (en) * | 2009-12-16 | 2011-06-16 | Tsutomu Owa | Memory management device and method |
Also Published As
Publication number | Publication date |
---|---|
US20130159600A1 (en) | 2013-06-20 |
TW201337562A (zh) | 2013-09-16 |
WO2013096189A1 (en) | 2013-06-27 |
US9037779B2 (en) | 2015-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI569140B (zh) | 用於執行變數快閃耗損平均之系統與方法及儲存裝置 | |
US10891188B2 (en) | Memory devices having differently configured blocks of memory cells | |
US20160179399A1 (en) | System and Method for Selecting Blocks for Garbage Collection Based on Block Health | |
US9009436B2 (en) | Flushed data alignment with physical structures | |
US8397018B2 (en) | Systems and methods for implementing a programming sequence to enhance die interleave | |
US20070245067A1 (en) | Cycle count storage systems | |
TW201342057A (zh) | 單位階單元-多位階單元之損耗平衡 | |
CN111104059A (zh) | 存储器控制器及操作该存储器控制器的方法 | |
CN112435703A (zh) | 存储装置及其操作方法 | |
US20170069395A1 (en) | Host device and memory device | |
CN113535079B (zh) | 存储器控制器以及具有存储器控制器的存储装置 | |
CN111949204A (zh) | 存储器系统、存储器控制器和存储器装置 | |
US20140189201A1 (en) | Flash Memory Interface Using Split Bus Configuration | |
CN111341372B (zh) | 存储装置以及操作存储装置的方法 | |
US20130166865A1 (en) | Systems and Methods for Managing Parallel Access to Multiple Storage Systems | |
TWI625625B (zh) | 包括一多解析度內部快取之記憶體系統控制器 | |
US10089226B2 (en) | Systems and methods for immediate physical erasure of data stored in a memory system in response to a user command | |
US11474726B2 (en) | Memory system, memory controller, and operation method thereof | |
CN111580745A (zh) | 存储装置及操作存储装置的方法 | |
CN111916142B (zh) | 存储器控制器以及操作存储器控制器的方法 | |
WO2012015457A1 (en) | Systems and methods for implementing a programming sequence to enhance die interleave | |
WO2014088611A1 (en) | Systems and methods for intelligent flash management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |