TW201842444A - 廢棄項目收集 - Google Patents
廢棄項目收集 Download PDFInfo
- Publication number
- TW201842444A TW201842444A TW107111558A TW107111558A TW201842444A TW 201842444 A TW201842444 A TW 201842444A TW 107111558 A TW107111558 A TW 107111558A TW 107111558 A TW107111558 A TW 107111558A TW 201842444 A TW201842444 A TW 201842444A
- Authority
- TW
- Taiwan
- Prior art keywords
- block
- data
- mode
- blocks
- memory
- 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
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- 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
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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/7205—Cleaning, compaction, garbage collection, erase control
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)
- Memory System (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本發明係關於一種用於廢棄項目收集之實例性設備,其可包含具有複數個混合模式區塊之一記憶體。該實例性設備可包含一控制器。該控制器可經組態以在一單位階胞元(SLC)模式中將循序主機資料之一第一部分寫入至該記憶體之該複數個混合模式區塊。該控制器可經組態以在一額外位階胞元(XLC)模式中將循序主機資料之一第二部分寫入至該複數個混合模式區塊。該控制器可經組態以藉由執行一廢棄項目收集操作來寫入循序主機資料之該第二部分。該廢棄項目收集操作可包含:將比與將循序主機資料之該第二部分寫入至該複數個混合模式區塊相關聯之被寫入區塊之一數量多之區塊新增至一自由區塊集用池。
Description
本發明大體上係關於半導體記憶體及方法,且更特定言之,本發明係關於廢棄項目收集。
記憶體裝置通常作為內部半導體積體電路及/或外部可移除裝置提供於電腦或其他電子裝置中。存在包含揮發性記憶體及非揮發性記憶體之諸多不同記憶體類型。揮發性記憶體需要電力來保存其資料且可包含隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)及同步動態隨機存取記憶體(SDRAM)等等。非揮發性記憶體可在斷電時留存儲存資料且可包含NAND快閃記憶體、NOR快閃記憶體、相變隨機存取記憶體(PCRAM)、電阻隨機存取記憶體(RRAM)及磁阻隨機存取記憶體(MRAM)等等。 記憶體裝置可經組合在一起以形成一固態硬碟(SSD)。一SSD可包含非揮發性記憶體(例如NAND快閃記憶體及/或NOR快閃記憶體)及/或可包含揮發性記憶體(例如DRAM及/或SRAM)以及各種其他類型之非揮發性及揮發性記憶體。快閃記憶體裝置可包含將資料儲存於諸如(例如)一浮動閘極之一電荷儲存結構中之記憶體胞元,且可用作用於廣泛電子應用之非揮發性記憶體。快閃記憶體裝置通常使用容許高記憶密度、高可靠性及低電力消耗之一單電晶體記憶體胞元。 一SSD可用於替換作為一電腦之主儲存容量之硬碟機,此係因為固態硬碟可在效能、大小、重量、耐用性、操作溫度範圍及電力消耗方面優於硬碟機。例如,SSD可歸因於其缺乏移動部件而具有比磁碟機優異之效能,其可避免與磁碟機相關聯之搜尋時間、延時及其他機電延遲。 一些記憶體胞元(例如快閃胞元、相變胞元等等)能夠在一單位階胞元(SLC)模式及一額外位階胞元(XLC)模式(例如2位元模式、3位元模式、4位元模式等等)兩者中操作(例如程式化、讀取、擦除等等)。此等胞元可指稱「混合模式」記憶體胞元。一SLC記憶體胞元可係指經程式化至兩種不同資料狀態之一目標者且經組態以儲存一單一資料單元(例如單位元)之一胞元。XLC記憶體胞元可係指經程式化至兩種以上不同資料狀態之一目標者使得其經組態以儲存一個以上單一資料單元(例如2個位元、2.5個位元、3個位元、4個位元等等)之胞元。XLC胞元可指稱多狀態記憶體胞元、多單元胞元或多位階胞元。XLC可提供較高密度記憶體且不增加記憶體胞元之數目,此係因為各胞元可表示一個以上資料單元。 在各種例項中,SSD可經組態以在SLC模式中寫入主機資料。然而,隨著可用記憶體空間填滿,SLC模式中所寫入之資料會在XLC模式中被重寫以釋放空間。一廢棄項目收集程序可用於選擇特定區塊來擦除及/或選擇將SLC模式中所寫入之資料「摺疊」成XLC區塊之方式。廢棄項目收集程序會導致資料分段。例如,廢棄項目收集會導致循序寫入之工作負載經重新定位(例如,至不同區塊)使得資料不再循序儲存(例如,使得資料依一邏輯上非循序方式儲存)。
用於廢棄項目收集之一實例性設備可包含具有複數個混合模式區塊之一記憶體。實例性設備可包含一控制器。控制器可經組態以在一單位階胞元(SLC)模式中將循序主機資料之一第一部分寫入至記憶體之複數個混合模式區塊。控制器可經組態以在一XLC模式中將循序主機資料之一第二部分寫入至複數個混合模式區塊。控制器可經組態以藉由執行一廢棄項目收集操作來寫入循序主機資料之第二部分。廢棄項目收集操作可包含:將比與將循序主機資料之第二部分寫入至複數個混合模式區塊相關聯之被寫入區塊之一數量多之區塊新增至一自由區塊集用池。廢棄項目收集操作可釋放比被寫入區塊之一數量大之一區塊數量。循序主機資料之第一部分可為循序主機資料之一數量。循序主機資料之第二部分可為循序主機資料之剩餘者。 根據本發明之儲存於記憶體中之資料之廢棄項目收集可提高效能(例如提高速度、提高可靠性等等)及/或提高記憶體之耐久性(例如,延長使用期限)以及其他益處。例如,當可能對記憶體執行大檔案(諸如作業系統(OS)檔案、遊戲檔案、視訊檔案及/或其他程式安裝)時,根據本發明之廢棄項目收集方案可在記憶體之使用期限早期(例如,在記憶體之使用期限開始時)提高記憶體之效能。 廢棄項目收集可提高與記憶體相關聯之寫入放大,此會縮短(例如)一SSD之使用期限。寫入放大可係指其中所寫入之實體資料之一數量係意欲被寫入之一邏輯量之一倍數的一現象。寫入放大可歸因於快閃記憶體必須在被重寫之前被擦除(通常使用比寫入操作粗略之擦除操作粒度)之事實而發生。在各種例項中,可比被寫入之新資料之數量實際所需多地擦除及重寫快閃記憶體之部分。此倍增效應可增加一SSD之使用期限內之寫入次數,此會縮短SSD之壽命。 當一SSD循序寫入大量資料時,寫入放大可等於1,此係因為寫入至硬碟之實體資料量相同於意欲寫入之邏輯資料量。例如,若需要刪除一循序寫入檔案,則可將整個(或若干)區塊標記為無效且無需重新定位(若干)區塊之部分(例如,經由廢棄項目收集)。然而,在各種例項中,可因動態單位階胞元(SLC)快取(例如,在一首次資料填充期間)而引入資料分段。資料分段可由主機資料(其係循序的)與廢棄項目收集之資料(其可為非循序的)一起被寫入以使目標區塊為非循序所致。為使資料再次為循序的,可進行若干資料邏輯填充以消除區塊中之資料之隨機性且使資料為循序的,如下文將結合圖4A進一步描述。用於自一分段恢復之填充之次數(其可指稱一恢復速率)可為一首次填充(例如(諸如)結合圖4A所描述之一首次填充)期間所引入之分段之一強函數。 在一些先前方法中,可在將一自由區塊計數(例如可用區塊之數量)減少至一特定值時啟動廢棄項目收集。在此等方法中,廢棄項目收集可旨在釋放相同於消耗數量之一自由區塊數量。在下文將描述之若干實例中,廢棄項目收集可旨在於一區塊消耗與一釋放速率之間有意產生一不平衡。例如,在廢棄項目收集期間釋放為自由區塊之一區塊數目可超過經消耗以引起執行廢棄項目收集之一區塊數目。 與先前廢棄項目收集方法相比,根據本發明之廢棄項目收集方案可提高記憶體之效能及/或耐久性。例如,諸多先前廢棄項目收集方法可利用超過本發明中結合一動態SLC快取及一強制SLC快取所描述之記憶體之區塊填充及擦除的記憶體之額外區塊填充及額外擦除。如本文中所使用,一「動態SLC快取」係指可動態調整大小之一快取。例如,可在操作期間(例如,「在運作中」)改變一動態SLC快取之一大小(例如區塊之數目)以適應對記憶體之各種需求。如本文中所使用,「強制SLC快取」係指包含主機資料(例如待寫入至一記憶體之自一主機接收之資料)應在一SLC模式中寫入之一要求的快取。如本文中所使用,「強制SLC快取」可係指包含主機資料(例如待寫入至一記憶體之自一主機接收之資料)應在將資料移動至TLC模式之前於一SLC模式中寫入之一要求的快取。 與一些方法相比,本發明之實施例可提供減少記憶體填充,同時執行廢棄項目收集且藉此減小對記憶體所執行之讀取及寫入之次數。實施例可提供一穩態循序工作負載之減少填充,即,無閒置時間地連續循序寫入。依此方式,可減少廢棄項目收集之前的硬碟填充之次數。例如,在將資料首次填充至記憶體中(諸如,在一SLC模式中將資料寫入至呈一新開封(FOB)狀態之記憶體)時,可依比先前方法更具邏輯循序性之一方式有序排列資料。減少填充次數以邏輯地有序排列資料可減少讀取及寫入且提高記憶體之長期效能。 如本文中所使用,「數個」事物可係指一或多個此等事物。例如,數個記憶體胞元可係指一或多個記憶體胞元。另外,如本文中所使用,標示符「N」、「B」、「R」及「S」(尤其是相對於圖式中之元件符號)指示:所標示之數個特定特徵可包含於本發明之若干實施例中。 本文中之圖式遵循一編號慣例,其中首位或前幾位數字對應於圖式圖號且剩餘數字識別圖式中之一元件或組件。可藉由使用類似數字來識別不同圖之間之類似元件或組件。例如,210可係指圖2中之元件「10」,且一類似元件在圖3中可編號為310。 圖1繪示根據本發明之若干實施例之具有數個實體區塊之一記憶體陣列100之一部分之一圖式。記憶體陣列可為(例如)一NAND快閃記憶體陣列。然而,本發明之實施例不受限於一特定類型之記憶體或記憶體陣列。例如,記憶體陣列100可為一DRAM陣列、一RRAM陣列或一PCRAM陣列以及其他類型之記憶體陣列。此外,儘管圖1中未展示,但記憶體陣列100可與相關聯於其操作之各種周邊電路一起定位於一特定半晶體晶粒上。 如圖1中所展示,記憶體陣列100具有記憶體胞元之數個實體區塊116-0 (區塊0)、116-1 (區塊1)、……、116-B (區塊B)。記憶體胞元可為可操作為SLC及/或XLC之混合模式胞元。記憶體陣列100中之實體區塊之數目可為128個區塊、512個區塊或1,024個區塊,但實施例不受限於128之一特定倍數或記憶體陣列100中之實體區塊之任何特定數目。可將第一數目個區塊116-0、116-1、……、116-B分配為記憶體區塊之一第一部分,可將第二數目個區塊116-0、116-1、……、116-B分配為記憶體區塊之一第二部分,及/或可將第三數目個區塊116-0、116-1、……、116-B分配為記憶體區塊之一第三部分。記憶體之不同部分可用作用於廢棄項目收集目的之一動態SLC快取。例如,可隨著對記憶體之需求增大及/或減小且廢棄項目收集減少此等需求而動態增大及/或減小記憶體之不同部分之大小。 記憶體胞元之數個實體區塊(例如區塊116-0、116-1、……、116-B)可包含於記憶體胞元之一平面中,且記憶體胞元之數個平面可包含於一晶粒上。例如,在圖1所展示之實例中,各實體區塊116-0、116-1、……、116-B可為一單一晶粒之部分。即,圖1中所繪示之記憶體陣列100之部分可為記憶體胞元之晶粒。 如圖1中所展示,各實體區塊116-0、116-1、……、116-B含有耦合至存取線(例如字線)之記憶體胞元之數個實體列(例如120-0、120-1、……、120-R)。各實體區塊中之列(例如字線)之數目可為32,但實施例不受限於每實體區塊之特定數目個列120-0、120-1、……、120-R。此外,儘管圖1中未展示,但記憶體胞元可耦合至感測線(例如資料線及/或數位線)。 各列120-0、120-1、……、120-R可包含記憶體胞元之數個頁(例如實體頁)。一實體頁可係指程式化及/或感測(例如作為一功能群組被一起程式化及/或感測之數個記憶體胞元)之一單元。在圖1所展示之實施例中,各列120-0、120-1、……、120-R包括記憶體胞元之一個實體頁。然而,本發明之實施例不受限於此。例如,在若干實施例中,各列可包括記憶體胞元之多個實體頁(例如耦合至偶數位元線之記憶體胞元之一或多個偶數頁及耦合至奇數位元線之記憶體胞元之一或多個奇數頁)。另外,就包含XLC之實施例而言,記憶體胞元之一實體頁可儲存多個資料頁(例如邏輯頁)(例如一資料上頁及一資料下頁),其中一實體頁中之各胞元將一或多個位元儲存向一資料上頁且將一或多個位元儲存向一資料下頁。 在本發明之若干實施例中,且如圖1中所展示,記憶體胞元之一頁可包括數個實體區段122-0、122-1、……、122-S (例如記憶體胞元之子組)。胞元之各實體區段122-0、122-1、……、122-S可儲存資料之數個邏輯區段(例如資料字)。另外,資料之各邏輯區段可對應於一特定資料頁之一部分。作為一實例,儲存於一特定實體區段中之資料之一第一邏輯區段可對應於與一第一資料頁對應之一邏輯區段,且儲存於特定實體區段中之資料之一第二邏輯區段可對應於一第二資料頁。各實體區段122-0、122-1、……、122-S可儲存系統及/或使用者資料及/或可包含附加資料,諸如錯誤校正碼(ECC)資料、邏輯區塊位址(LBA)資料及反覆錯誤資料。 邏輯區塊定址係可由一主機用於識別資料之一邏輯區段的一方案。例如,各邏輯區段可對應於一唯一邏輯區塊位址(LBA)。另外,一LBA亦可對應於一實體位址。資料之一邏輯區段可為資料之數個位元組(例如256個位元組、512個位元組或1,024個位元組)。然而,實施例不受限於此等實例。 應注意,實體區塊116-0、116-1、……、116-B、列120-0、120-1、……、120-R、區段122-0、122-1、……、122-S及頁之其他組態係可行的。例如,實體區塊116-0、116-1、……、116-B之列120-0、120-1、……、120-R可各儲存對應於一單一邏輯區段之資料,該單一邏輯區段可包含(例如)資料之512個以上或512個以下位元組。 圖2係根據本發明之若干實施例之呈包括一記憶體系統204之一計算系統201之形式之一設備之一方塊圖。如本文中所使用,一記憶體系統、控制器及/或記憶體裝置可單獨為一「設備」。 記憶體系統204可為(例如)一固態硬碟(SSD)。在圖2所繪示之實施例中,記憶體系統204包含一主機介面206、一記憶體(例如數個記憶體裝置210-1、210-2、……、210-N)及耦合至實體主機介面206及記憶體裝置210-1、210-2、……、210-N之一控制器208 (例如一SSD控制器)。 記憶體裝置210-1、210-2、……、210-N可包含(例如)數個非揮發性記憶體陣列(例如非揮發性記憶體胞元陣列)。例如,記憶體裝置210-1、210-2、……、210-N可包含類比於先前結合圖1所描述之記憶體陣列100的數個記憶體陣列。 在一些實施例中,記憶體裝置210-1、……、210-N可包含數個記憶體胞元(例如非揮發性記憶體胞元)陣列。陣列可為(例如)具有一NAND架構之快閃陣列。然而,實施例不受限於一特定類型之記憶體陣列或陣列架構。如上文結合圖1所描述,記憶體胞元可(例如)群組為包含記憶體胞元之數個實體頁之數個區塊。在若干實施例中,一區塊係指作為一單元一起被擦除之一記憶體胞元群組。數個區塊可包含於記憶體胞元之一平面中且一陣列可包含數個平面。作為一實例,一記憶體裝置可經組態以儲存每頁8KB (千位元組)之使用者資料、每區塊128頁之使用者資料、每平面2048個區塊及每裝置16個平面。 在操作中,資料可作為(例如)一頁資料寫入至及/或讀取自一記憶體系統之一記憶體裝置(例如記憶體系統204之記憶體裝置210-1、……、210-N)。因而,一頁資料可指稱記憶體系統之一資料轉移大小。資料可以指稱區段(例如主機區段)之資料分段轉移至/自一主機202。因而,資料之一區段可指稱主機之一資料轉移大小。在一些實施例中,NAND區塊可指稱擦除區塊,其中區塊係擦除之一單元且頁係讀取及/或寫入之一量測。 主機介面206可用於在記憶體系統204與諸如一主機202之另一裝置之間傳送資訊。主機202可包含一記憶體存取裝置(例如一處理器)。如本文中所使用,「一處理器」可意指數個處理器,諸如一並行處理系統、數個協同處理器等等。實例性主機可包含個人膝上型電腦、桌上型電腦、數位相機、數位記錄及播放裝置、行動(例如智慧型)電話、PDA、記憶卡讀取器、介面集線器及其類似者。 主機介面206可呈一標準化實體介面之形式。例如,當記憶體系統204用於計算系統201中之資訊儲存時,主機介面206可為一串列進階技術附接(SATA)實體介面、一周邊組件互連快速(PCIe)實體介面或一通用串列匯流排(USB)實體介面,以及其他實體連接器及/或介面。然而,一般而言,主機介面206可提供一介面以在記憶體系統204與一主機(例如主機202)(其具有用於主機介面206之相容接受器)之間傳遞控制、位址、資訊(例如資料)及其他信號。 控制器208可包含(例如)控制電路及/或邏輯(例如硬體及韌體)。控制器208可包含於相同於記憶體210-1、210-2、……、210-N之實體裝置(例如相同晶粒)上。例如,控制器208可為耦合至包含實體主機介面206及記憶體210-1、210-2、……、210-N之一印刷電路板之一特殊應用積體電路(ASIC)。替代地,控制器208可包含於通信地耦合至包含記憶體210-1、210-2、……、210-N之實體裝置之一單獨實體裝置上。在若干實施例中,控制器208之組件可作為一分散式控制器分佈於多個實體裝置中(例如,一些組件位於相同於記憶體之晶粒上,且一些組件位於一不同晶粒、模組或板上)。 控制器208可與記憶體裝置210-1、210-2、……、210-N通信以感測(例如讀取)、程式化(例如寫入)及/或擦除資訊以及進行其他操作。控制器208可具有可為數個積體電路及/或離散組件之電路。在若干實施例中,控制器208中之電路可包含用於控制跨記憶體裝置210-1、210-2、……、210-N之存取之控制電路及/或用於提供主機202與記憶體系統204之間之一轉譯層(例如一快閃轉譯層)之電路。 控制器208可控制作為(例如,組態各自記憶體裝置210-1、210-2、……、210-N之一部分以操作為)一靜態(例如專用)單位階胞元(SLC)快取及/或一動態SLC快取之各自記憶體裝置210-1、210-2、……、210-N之一專用區域(諸如一區塊定址部分)之操作。例如,各自記憶體裝置210-1、210-2、……、210-N之一部分可經組態以操作為SLC模式中之一靜態快取及/或SLC模式中之一動態快取。各自記憶體裝置210-1、210-2、……、210-N之此部分可為(例如)各自記憶體中之記憶體胞元之第一複數個區塊(例如實體區塊)(如本文中將進一步描述(例如,結合圖3)),且可在本文中指稱記憶體之一第一部分。另外,各自記憶體裝置210-1、210-2、……、210-N之部分可包含第二複數個區塊、第三複數個區塊等等。 各自記憶體210-1、210-2、……、210-N之第二部分可為(例如)各自記憶體中之記憶體胞元之第二複數個區塊(例如實體區塊),如本文中將進一步描述(例如,結合圖3)。控制器208可在SLC或XLC模式中對第二部分之胞元執行擦除操作及程式化及感測操作。 各自記憶體210-1、210-2、……、210-N之第二部分之大小可對應於由該記憶體用於將儲存於記憶體之SLC中之資料程式化至記憶體之XLC (例如,將SLC資料摺疊成XLC)之記憶體胞元之數量。一般而言,與整個硬碟密度相比,第一部分之大小係較小的。 圖2中所繪示之實施例可包含為不使本發明之實施例不清楚而未繪示之額外電路、邏輯及/或組件。例如,記憶體裝置204可包含用於鎖存透過I/O電路提供於I/O連接器上之位址信號之位址電路。位址信號可由一列解碼器及行解碼器接收及解碼以存取記憶體210-1、210-2、……、210-N。 圖3繪示根據本發明之若干實施例之一控制器308之一圖式。控制器可類比於圖2中所繪示之控制器208,且可耦合至一主機介面及/或複數個記憶體裝置,如本文圖2中所繪示。控制器308可包含一記憶體管理組件340,其可包括一損耗平衡組件342、一廢棄項目收集組件344、一映射組件346及一擦除區塊追蹤組件348。 在一些實施例中,損耗平衡組件342可經組態以對與(若干)記憶體裝置(例如圖2中所繪示之記憶體裝置210-1、……、210-N)相關聯之一或多個區塊實施損耗平衡以控制此等記憶體裝置之損耗率。損耗平衡可藉由在整個記憶體陣列及/或記憶體裝置上更均勻地分佈對一特定區塊群組所執行之程序循環(例如程式化及/或擦除循環)來減少此等循環之次數。損耗平衡可包含靜態損耗平衡及/或動態損耗平衡以最小化經移動以回收一區塊之有效區塊之數量。例如,靜態損耗平衡可包含將靜態資料寫入至具有高程式化/擦除計數之區塊以延長區塊之使用期限。在一些實施例中,損耗平衡可包含可由廢棄項目收集組件344實施之廢棄項目收集操作。 廢棄項目收集可包含回收(例如,擦除且使其可用於程式化)在(若干)記憶體裝置中之區塊中具有最多無效頁之區塊。在一些實施例中,廢棄項目收集可包含回收具有超過臨限量(例如數量)之無效頁之區塊。然而,若存在足夠自由區塊用於一程式化操作,則可不發生一廢棄項目收集操作。廢棄項目收集一般可在後台執行(例如,在記憶體之閒置時間期間);然而,在一些實施例中,廢棄項目收集可(例如)回應於自由區塊之一數量已減少至低於一臨限自由區塊計數之一判定而在前台執行。 在一些實施例中,記憶體管理組件340可包含可經組態以控制(若干)記憶體裝置中之記憶體區塊之映射的一映射組件346。例如,映射組件346可經組態以將在損耗平衡及/或廢棄項目收集操作期間發現之壞區塊映射至仍可接受有效資料之區塊。 在一些實施例中,控制器308可經組態以利用可由擦除區塊追蹤組件348判定之資訊來控制損耗平衡。例如,擦除區塊追蹤組件348可經組態以回應於區塊被寫入及/或擦除而使與各區塊相關聯之一計數器遞增。 圖4A及圖4B繪示與廢棄項目收集相關聯之各自圖式403及405。行428包含對應於記憶體胞元之區塊432之實體位址(PA)。行434-1包含儲存「摺疊」資料(例如重寫至一區塊之先前寫入之主機資料)之區塊。行434-2指示儲存未被摺疊之主機資料之區塊。在圖4A及圖4B所展示之實例中,區塊係TLC區塊,使得各區塊可在SLC模式中儲存一單一資料單元或在TLC模式中儲存3個資料單元。在各種實施例中,於SLC模式中寫入主機資料,直至硬碟達到在該點處發生摺疊之一臨限飽和位準,及/或在XLC模式(例如,在此實例中為TLC模式)中寫入資料。 作為一實例,各PA可對應於硬碟上之一區塊。在此情況中,可將廢棄項目收集及主機資料兩者寫入至相同區塊。在此實例中,可在SLC模式中寫入1個資料單元。可在TLC模式中寫入3個資料單元。可將資料之一廢棄項目收集分量寫入至由434-1表示之區塊,且可將資料之一主機分量寫入至由434-2表示之區塊。可回應於在SLC模式中寫入主機資料而將1個主機資料單元寫入至各PA。可回應於在TLC模式中寫入資料而將3個資料單元寫入至各PA。在圖式400-1中,於SLC模式中將主機資料寫入PA 432-1至432-9中。在TLC模式中將主機資料寫入PA 432-10及432-11中。此時,在此實例中,可完全使用所有區塊。為寫入額外主機資料,可對區塊執行廢棄項目收集。行434-3中表示寫入至區塊之廢棄項目收集資料之數量。 圖4A與根據先前方法之廢棄項目收集相關聯。在一些先前方法中,記憶體或記憶體之一部分可用作一SLC快取及/或一XLC快取。記憶體400-1及400-2可表示記憶體陣列(諸如(例如)先前結合圖1所描述之陣列100)之部分。 如圖4A中所展示,記憶體400-1、400-2係執行廢棄項目收集之至少一先前方法之一實例。例如,記憶體400-1係一首次資料填充(例如儲存)之一繪示。一主機可將一第一資料單元「1」儲存於記憶體之區塊之一行434-2之一第一區塊中。第一資料單元「1」可為首先儲存於記憶體400-1中之一資料單元。第一資料單元「1」可與「1」之一第一實體位址(「PA」) 432-1相關聯。可在一SLC模式中儲存第一資料單元「1」且因此將不使用指稱「摺疊」之一行434-1,此係因為無資料被摺疊(出於繪示目的,包含與下文與記憶體400-2相關聯且記憶體400-1中所展示之描述相關之行以重申在開始儲存來自主機之資料時不發生摺疊)。為清楚起見,一相同PA中之資料之「摺疊」及「主機」部分位於一相同區塊中。此外,作為一實例,若一區塊係首次循序填充,則其可不具有「摺疊」資料。 同樣地,一第二資料單元「2」可由主機儲存於與記憶體之區塊之行434-2之一第二區塊(與PA 434-2 (例如「2」)相關聯)中。可在儲存第一資料單元之後第二順次儲存第二資料單元「2」。一第三資料單元「3」至第九資料單元「9」可在一SLC模式中儲存於記憶體之區塊之行434-2之一第三區塊(與PA 432-3 (例如「3」)相關聯)至第九區塊(與PA 432-9 (例如「9」)相關聯)中。可在第一資料單元及第二資料單元之後依第三至第九之遞增順次儲存第三資料單元至第九資料單元。 在一些實施例中,使用一動態SLC快取方法可包含首先在一SLC模式中將主機資料寫入至能夠進行XLC模式之記憶體之區塊直至自由(例如空白)區塊用完。此可提供較快資料存取,直至在一XLC模式中儲存資料以保留資料儲存容量。例如,當在一SLC模式中使用XLC胞元時,使用自胞元容量大小之1/2、1/3至1/4不等(取決於XLC模式是否係指多胞元模式(一個胞元中儲存2個資料值)、三位階胞元模式(一個胞元中儲存3個資料值)或四位階模式(一個胞元中儲存4個資料值))。因此,若在已達到記憶體之區塊之全儲存容量之前使用一SLC模式,則可填充記憶體之自由區塊。廢棄項目收集可係指將在SLC模式中寫入之主機資料移動至在一XLC模式中寫入之資料以產生額外儲存容量。若在未執行廢棄項目收集之情況下如此操作,可啟動一寫入保護模式以避免故障。 隨著記憶體之資料儲存容量變得有限,在一動態SLC快取方法中,可首先在一XLC模式中寫入額外主機資料。例如,如圖4A中所繪示,可在一XLC模式中將第十資料單元「10」、第十一資料單元「11」及第十二資料單元「12」儲存於與PA 432-10 (例如「10」)相關聯之行434-2之一第十區塊中。例如,第十資料單元「10」可為第十區塊之一上頁資料單元,第十一資料單元「11」可為第十區塊之一中間頁資料單元,且第十二資料單元「12」可為第十區塊之一下頁資料單元。可在一XLC模式中將第十三資料單元「13」、第十四資料單元「14」及第十五資料單元「15」儲存於與PA 432-11 (例如「11」)相關聯之行434-2之一第十一區塊中。例如,第十三資料單元「13」可為第十一區塊之一上頁資料單元,第十四資料單元「14」可為第十一區塊之一中間頁資料單元,且第十五資料單元可「15」為第十一區塊之一下頁資料單元。 儘管為了此實例而如各區塊中所展示般繪示一單一資料單元,但實施例不受限於此。可在記憶體之一區塊中儲存任何數目個資料單元且每次填充可使用任何數目個資料單元。例如,首先將資料單元「1」至「15」儲存於記憶體400-1中,且隨著主機藉由廢棄項目收集來繼續儲存資料單元「16」至「30」,將資料單元「1」至「30」儲存於記憶體400-2中。然而,實施例不受限於每次填充總共30個資料單元。 當將額外主機資料寫入至記憶體之區塊時,可將主機資料及已被廢棄項目收集之資料一起寫入至記憶體之一區塊。此可產生資料之一邏輯上非循序儲存,即使主機資料被循序轉移。歸因於由此動態SLC快取引入之資料分段,可使用若干邏輯填充來消除資料之邏輯隨機性。用於自分段恢復之填充次數可為第一初始寫入中所引入之分段之一函數。根據下文將描述之實施例,描述在已被寫入之記憶體區塊之一數目與經釋放以供寫入之區塊之數目之間產生一不平衡之一廢棄項目收集。換言之,釋放比被寫入之區塊多之記憶體之區塊。為完成此,減少由主機資料及廢棄項目收集資料填充之區塊之數目。 可對儲存於記憶體400-1中之資料執行436-1處所繪示之一廢棄項目收集且導致記憶體400-2中所繪示之資料儲存。例如,在一SLC模式中儲存於記憶體400-1中之第一資料單元「1」可被廢棄項目收集及摺疊(如由行434-3所繪示),同時在行434-4之一第十六資料單元「16」及一第十七資料單元「17」由主機寫入至與實體位址「1」432-1相關聯之記憶體400-2之第一區塊。摺疊可係指將一資料單元自在一SLC模式中儲存改變成在一XLC模式中儲存於一胞元內之一新位置中。摺疊行434-3用於繪示在廢棄項目收集期間哪些資料單元自一先前位置摺疊。同樣地,在一SLC模式中儲存於記憶體400-1中之第二資料單元「2」可被廢棄項目收集且與一第十八資料單元及一第十九資料單元一起摺疊以在一XLC模式中一起合併寫入與PA 432-2 (例如「2」)相關聯之第二區塊中,一第三資料單元「3」可與一第二十資料單元及一第二十一資料單元合併,……,一第八資料單元可與一第三十資料單元及一第三十一資料單元合併。儲存於與PA 432-9、432-10、432-11 (例如「9」、「10」及「11」)相關聯之區塊中之資料單元(「9」、「10」、「11」、「12」、「13」、「14」及「15」)可保持不變。在此廢棄項目收集之後儲存於記憶體400-2中之資料可指稱一首次「填充」。 在結合圖4A所描述之此實例中,儲存於記憶體400-2中之資料包含在一相同區塊內具有「摺疊」及「主機」資料之諸多區塊。例如,第一區塊、第二區塊、第三區塊、第四區塊、第五區塊、第六區塊、第七區塊及第八區塊全部包含分段資料(且係經歷廢棄項目收集之僅有區塊)。此分段會增加將用於提供一相同區塊內之循序資料之後續填充之次數。由於執行導致更多循序區塊之一首次填充,可使用較少後續填充來提供較大數目個循序區塊且達成SSD之一穩態循序模式,如將結合圖4B描述。 圖4B繪示根據本發明之若干實施例之與廢棄項目收集相關聯之一圖式405。在一些實施例中,記憶體或記憶體之一部分可用作一動態SLC快取。記憶體400-1及400-3可類比於先前結合圖2所描述之記憶體裝置210-1、210-2、……、210-N,或可為先前結合圖2所描述之記憶體裝置210-1、210-2、……、210-N之一部分。在一些實施例中,記憶體400-1及400-3可包含類比於先前結合圖1所描述之記憶體陣列100的數個記憶體陣列。 如圖4B中所展示,記憶體400-1、400-3係執行一廢棄項目收集之一繪示。如上文結合圖4A所描述,一第一資料單元「1」可由主機儲存於與行432-2之PA 432-1相關聯之一第一區塊中,一第二資料單元「2」可由主機儲存於與記憶體之區塊之行432-2之PA 432-2 (例如「2」)相關聯之一第二區塊中。可在儲存第一資料單元之後依第二順次儲存第二資料單元「2」。可在一SLC模式中將第三資料單元「3」至第九資料單元「9」儲存於記憶體之區塊之行434-2之第三區塊(與PA 432-3 (例如「3」)相關聯)至第九區塊(與PA 432-9 (例如「9」)相關聯)中。可在第一資料單元及第二資料單元之後依第三至第九之遞增順次儲存第三資料單元至第九資料單元。 隨著記憶體之資料儲存容量變得有限,在一動態SLC快取方法中,可首先在一XLC模式中寫入額外主機資料。例如,如圖4A中所繪示,可在一XLC模式中將第十資料單元「10」、第十一資料單元「11」及第十二資料單元「12」儲存於與PA 432-10 (例如「10」)相關聯之行434-2之一第十區塊中。例如,第十資料單元「10」可為第十區塊之一上頁資料單元,第十一資料單元「11」可為第十區塊之一中間頁資料單元,且第十二資料單元「12」可為第十區塊之一下頁資料單元。可在一XLC模式中將第十三資料單元「13」、第十四資料單元「14」及第十五資料單元「15」儲存於與PA 432-11 (例如「11」)相關聯之行434-2之一第十一區塊中。例如,第十三資料單元「13」可為第十一區塊之一上頁資料單元,第十四資料單元「14」可為第十一區塊之一中間頁資料單元,且第十五資料單元「15」可為第十一區塊之一下頁資料單元。 可對儲存於記憶體400-1中之資料執行436-2處所繪示之一廢棄項目收集且導致記憶體400-3中所繪示之資料儲存。例如,當436-2處所繪示之廢棄項目收集開始時,第一資料單元「1」及第二資料單元「2」可經廢棄項目收集以藉由在一XLC模式中儲存於第一區塊中來釋放行434-5及434-6中與PA 432-1 (例如「1」)相關聯之第一區塊中之記憶體空間。當由主機發送第十六資料單元「16」時,第十六資料單元「16」可在一XLC模式中與第一資料單元「1」及第二資料單元「2」一起儲存於第一區塊中。當廢棄項目收集釋放第一區塊及與PA 432-2 (例如「2」)相關聯之第二區塊兩者中之記憶體空間時,第十七資料單元「17」、第十八資料單元「18」及第十九資料單元「19」自主機接收且可在一XLC模式中儲存於第二區塊中。此實例繪示釋放比被消耗區塊多之區塊之一廢棄項目收集且在廢棄項目收集時維持較大數目個循序區塊。資料單元「1」、「2」及「16」在本文中可指稱循序主機資料之一第一部分,且資料單元「17」、「18」及「19」在本文中可指稱循序主機資料之一第二部分。資料單元「1」在本文中可指稱第一部分之一第一組,且資料單元「2」在本文中可指稱第一部分之一第二組。如下文將進一步描述,更一般而言,第一組可係指自不同區塊(例如與PA 1 432-1相關聯之「1」及與PA 2 432-2相關聯之「2」)收集之資料單元,且第二組可係指自主機寫入至相同於第一組之資料單元之一區塊的資料單元。 為自主機接收第二十資料單元「20」,藉由在一XLC模式中將第三資料單元「3」及第四資料單元「4」摺疊至第三區塊中來執行一廢棄項目收集以釋放區塊,如記憶體400-3中PA 432-3 (例如「3」)處所繪示。此釋放儲存於第三區塊中之一額外資料單元(如由儲存於該處之自主機接收之第二十資料單元「20」所繪示)且亦釋放第四區塊。當接收第二十一資料單元「21」、第二十二資料單元「22」及第二十三資料單元「23」時,其等可循序儲存於第四區塊中。另外,為接收第二十四資料單元「24」,摺疊第五資料單元及第六資料單元以與第二十四資料單元一起儲存於第五區塊(與PA 432-5 (例如「5」))中,且將後續接收之第二十五資料單元、第二十六資料單元及第二十七資料單元循序儲存於第六區塊(與PA 432-6 (例如「6」))中。此外,為接收第二十八資料單元「28」,將第七資料單元及第八資料單元摺疊為在一XLC模式中儲存於第七區塊中,且將後續接收之第二十九資料單元「29」及第三十資料單元「30」循序儲存於第八區塊(與PA 432-8 (例如「8」))中。 依此方式,與先前依一非循序方式儲存資料單元「2」、「18」及「19」(如圖4A中所繪示)相比,一全區塊(第二區塊)係循序的且不包含非循序資料單元。另外,資料單元「3」、「4」及「20」經合併以儲存於與PA 432-3 (例如「3」)相關聯之第三區塊中,資料單元「21」、「22」及「23」經合併以儲存於與PA 432-4 (例如「4」)相關聯之第四區塊中,依此類推,直至將資料單元「29」及「30」儲存於與PA 432-8 (例如「8」)相關聯之一第八區塊中。資料單元「9」至「15」仍儲存於與PA 432-9 (例如「9」)至PA 432-11 (例如「11」)相關聯之第九區塊至第十一區塊中。依此方式,第二區塊、第四區塊、第六區塊、第八區塊、第十區塊及第十一區塊儲存循序資料。 圖5A至圖5C各繪示根據本發明之若干實施例之儲存資料之各種部分之一記憶體之一圖式。圖5A繪示包含記憶體之七個區塊560-0至560-6 (其等指稱一動態SLC快取)之一記憶體。然而,此實例不受限於記憶體之七個區塊。如圖中所繪示,記憶體之各區塊包含繪示為563-1、563-2及563-3之三個記憶體胞元。各記憶體胞元可在一XLC模式中儲存高達三個資料單元(例如資料位元),其針對第零區塊560-0之一第一記憶體胞元563-1繪示為與一上頁位元相關聯之資料位置562-0、與一中間頁位元相關聯之資料位置562-1及與一下頁位元相關聯之資料位置562-2。針對第零區塊560-0之一第二記憶體胞元563-2,資料位置562-3與一上頁位元相關聯,資料位置562-4與一中間頁資料位元相關聯,且資料位置562-5與一下頁位元相關聯。針對第零區塊560-0之一第三記憶體胞元563-3,資料位置562-6與一上頁位元相關聯,資料位置562-7與一中間頁位元相關聯,且資料位置562-8與一下頁位元相關聯。資料單元可在儲存於第零區塊560-0中時為邏輯上循序的。例如,將資料單元「1」儲存於一最左位置(最高有效位元(MSB)位置) 562-0中,將資料單元「2」儲存於一第二MSB位置562-1中,將資料單元「3」儲存於一第三MSB位置562-2中,依此類推,直至將資料單元「9」儲存於一最低有效位元(LSB)位置562-8中以填充第零區塊560-0。 依一類似方式,可在邏輯上將資料單元「10」至「18」循序儲存於三個胞元563-1 (與資料位置562-0至562-2相關聯)、563-2 (與資料位置562-3至562-5相關聯)及563-3 (與資料位置562-6至562-8相關聯)中之一第一區塊560-1中。可在邏輯上將資料單元「19」至「27」循序儲存於一第二區塊560-2中,可在邏輯上將資料單元「28」至「36」循序儲存於一第三區塊560-3中,且可在邏輯上將資料單元「37」至「42」循序儲存於一第四區塊560-4中。一第五區塊560-5及一第六區塊560-6可為自由的(例如空白的)且可用於儲存額外資料單元。 圖5B繪示包含記憶體之七個區塊560-0至560-6之一記憶體。圖5B係自一主機發送至記憶體之資料之一首次填充之一實例,其包含擦除先前資料。例如,將資料單元「1」至「3」寫入至一第四區塊560-4之一第三記憶體胞元563-3。將資料單元「4」至「12」寫入至一第五區塊560-5之三個記憶體胞元563-1、563-2及563-3。由於先前將資料單元「1」至「12」寫入至第零區塊560-0及第一區塊560-1,因此該等資料單元被覆寫(在圖5B中指示為一刪除線)且現可被自由寫入。 圖5C繪示包含記憶體之七個區塊560-0至560-6之一記憶體。圖5C係將資料單元「13」至「21」寫入至第六區塊560-6之主機資料之一實例。當寫入資料單元「13」至「21」時,先前寫入至第一區塊560-1及第二區塊560-2之資料單元「13」至「21」現為無效的且可被覆寫(如由刪除線所指示)。 圖5D繪示包含記憶體之七個區塊560-0至560-6之一記憶體。圖5D係將資料單元「22」至「30」寫入至第零區塊560-0之主機資料之一實例。當寫入資料單元「22」至「30」時,先前寫入至第二區塊560-2及第三區塊560-3之資料單元「22」至「30」現為無效的且可被覆寫(如由刪除線所指示)。 圖5E繪示包含記憶體之七個區塊560-0至560-6之一記憶體。圖5E係將資料單元「31」至「39」寫入至第一區塊560-1之主機資料之一實例。當寫入資料單元「31」至「39」時,第一區塊560-1及第二區塊560-2中之先前寫入資料單元「13」至「21」現為無效的且可被覆寫(如由刪除線所指示)。 圖5F繪示包含記憶體之七個區塊560-0至560-6之一記憶體。圖5F係將資料單元「40」至「42」寫入至第二區塊560-2之主機資料之一實例。當寫入資料單元「40」至「42」時,可覆寫先前寫入至第四區塊560-4之資料單元「40」至「42」(如由刪除線所指示)。依此方式,當將主機資料寫入至記憶體區塊時,一自由記憶體區塊被置於其之前,且無需在XLC模式中寫入時進行廢棄項目收集。然而,在一些實施例中,一主機會受限於首先在SLC模式中寫入,此會使其更難以在避免廢棄項目收集時維持足夠區塊空間。 圖6A至6I各繪示根據本發明之若干實施例之儲存資料之各種部分之一記憶體之一圖式。圖6A至6I係一強制SLC模式快取之一實例。例如,首先在一SLC模式中儲存自主機發送至記憶體之區塊之資料。為釋放額外記憶體空間,在SLC模式中儲存之資料可在藉由主機之初始儲存之後被廢棄項目收集至一XLC模式中。在一些實施例中,韌體可選擇具有最少有效資料量之一區塊且將其重新定位至一XLC區塊以釋放記憶體。由一主機在一SLC模式中寫入之資料可經廢棄項目收集以在一XLC模式中儲存。在一XLC模式中寫入之資料亦可經廢棄項目收集以依一邏輯上循序方式有序排列資料或將資料重新組織為更高效的。 根據本發明之實例性實施例包含一最佳化廢棄項目收集方法。此藉由基於一有效資料量及一區塊型式(諸如一SLC區塊或一XLC區塊)分類區塊來完成。可藉由回應於具有最低有效資料之一區塊(例如一最低有效區塊(LV區塊)、一最無效區塊(MV區塊)、一底部區塊)處於SLC模式中而選擇用於廢棄項目收集之一區塊來選擇記憶體之一區塊用於廢棄項目收集。回應於最低有效區塊處於一XLC模式中而檢查一區塊列表中之下一區塊。例如,一最低有效區塊可係指具有一較大無效資料量之一區塊。下一區塊可為具有一次多無效資料量之下一最低有效區塊。回應於下一最低有效區塊亦處於一XLC模式中而選擇最低有效區塊。回應於下一最低有效區塊處於一SLC模式中而選擇下一最低有效區塊。依此方式,可執行選擇用於廢棄項目收集之區塊之一高效方法。 圖6A繪示根據本發明之若干實施例之儲存資料之各種部分之一記憶體之一圖式。圖6A係在一SLC模式中儲存於記憶體之七個區塊664-0至664-6中之資料單元(例如資料位元)「1」至「18」之一實例。例如,將資料單元「1」至「3」儲存於一第零區塊664-0中,將資料單元「4」至「6」儲存於一第一區塊664-1中,將資料單元「7」至「9」儲存於一第二區塊664-2中,將資料單元「10」至「12」儲存於一第三區塊664-3中,將資料單元「13」至「15」儲存於一第四區塊664-4中,將資料單元「16」至「18」儲存於一第五區塊664-5中,且一第六區塊664-6係自由的且準備供寫入。然而,為寫入至一額外區塊,在一些實例中,一記憶體系統(諸如記憶體系統204)需要:至少一區塊係空白的且能夠被寫入以寫入至一額外區塊。例如,在圖6A中,除第六區塊664-6之外,記憶體之一額外區塊將亦需要為可寫入的以寫入至第六區塊664-6。 圖6B繪示根據本發明之若干實施例之儲存資料之各種部分之一記憶體之一圖式。圖6B係經執行以釋放額外區塊來供主機寫入之一第一廢棄項目收集之一實例。當執行廢棄項目收集時,可將在一SLC模式中儲存之資料轉換成在一XLC模式中儲存之資料。如圖6B中所繪示,資料單元「1」至「9」經廢棄項目收集以自在一SLC模式中儲存於第零區塊664-0至第二區塊664-2中轉換成在一XLC模式中儲存於一第六區塊664-6中。 出於繪示目的,針對所有圖6A至圖6J,具有三個方格之記憶體區塊係繪示處於一SLC模式中之三個記憶體胞元,諸如在圖6B中,行660-0至666-2中之記憶體胞元位於第零區塊664-0中且處於一SLC模式中。如圖6B中所繪示,具有九個方格之記憶體區塊係繪示各包含三個資料單元(一上頁、一中間頁及一下頁)之一XLC模式中之三個記憶體胞元,諸如在圖6B中,針對一第一記憶體胞元,第六區塊664-6包含與資料單元位置666-0相關聯之一上頁資料單元、與資料單元位置666-1相關聯之一中間頁資料單元及與資料單元位置666-2相關聯之一下頁資料單元。此外,資料單元位置666-3至666-5與一第二記憶體胞元相關聯且資料單元位置666-6至666-8與一第三記憶體胞元相關聯。當資料單元「1」至「9」經廢棄項目收集以儲存於第六區塊664-6中時,先前儲存於第零區塊664-0至第二區塊664-2中之資料單元「1」至「9」可指示為無效的且被覆寫(以刪除線繪示)。 圖6C繪示根據本發明之若干實施例之儲存資料之各種部分之一記憶體之一圖式。圖6C係寫入至第零區塊664-0及第一區塊664-1之額外資料單元「19」至「24」之一實例。由於此僅留下第二區塊664-2作為供寫入之一空白區塊,因此可執行一第二廢棄項目收集以釋放額外區塊來供主機寫入。當執行廢棄項目收集時,可將在一SLC模式中儲存於第三區塊664-3至第五區塊664-5中之資料單元「10」至「18」轉換成在一XLC模式中儲存於第二區塊664-2中之資料。先前儲存之資料單元「10」至「18」可指示為無效的且被覆寫(由一刪除線指示)。 圖6D繪示根據本發明之若干實施例之儲存資料之各種部分之一記憶體之一圖式。圖6D係在一SLC模式中由主機寫入至第三區塊664-3及第四區塊664-4之額外資料單元「25」至「30」之一實例。由於此僅留下第五區塊664-5作為供寫入之一空白區塊,因此可執行一第三廢棄項目收集以釋放額外區塊來供主機寫入。當執行廢棄項目收集時,可將在一SLC模式中儲存於第零區塊664-0、第一區塊664-1及第三區塊664-3中之資料單元「19」至「27」(其包含最新寫入之資料單元「25」至「27」)轉換成在一XLC模式中儲存於第五區塊664-5中之資料。先前儲存之資料單元「19」至「27」可指示為無效的且被覆寫(由一刪除線指示)。 圖6E繪示根據本發明之若干實施例之儲存資料之各種部分之一記憶體之一圖式。圖6E係在一SLC模式中由主機寫入至第零區塊664-0及第一區塊664-1之額外資料單元「31」至「36」之一實例。由於此僅留下第三區塊664-3作為供寫入之一空白區塊,因此可執行一第四廢棄項目收集以釋放額外區塊來供主機寫入。圖6F繪示根據本發明之若干實施例之儲存資料之各種部分之一記憶體之一圖式。圖6F係第四廢棄項目收集之一實例,其經執行以可將在一SLC模式中儲存於第四區塊664-4、第零區塊664-0及第一區塊664-1中之資料單元「28」至「36」(其包含最新寫入之資料單元「31」至「36」)轉換成在一XLC模式中儲存於第三區塊664-3中之資料。先前儲存之資料單元「28」至「36」可指示為無效的且被覆寫(由一刪除線指示)。 圖6G繪示根據本發明之若干實施例之儲存資料之各種部分之一記憶體之一圖式。圖6G係在一SLC模式中由主機分別寫入至第四區塊664-4及第零區塊664-0之額外資料單元「37」至「42」之一實例。此僅留下第一區塊664-1作為供寫入之一空白區塊。圖6H繪示根據本發明之若干實施例之儲存資料之各種部分之一記憶體之一圖式。圖6H係可經執行以釋放額外區塊(例如第零區塊664-0及第四區塊664-4)來供主機寫入之一第五廢棄項目收集之一實例。當執行廢棄項目收集時,可將在一SLC模式中儲存於第四區塊664-4及第零區塊664-0中之資料單元「37」至「42」轉換成在一XLC模式中儲存於第一區塊664-1中之資料。先前儲存於第四區塊664-4及第零區塊664-0中之資料單元「37」至「42」可指示為無效的且被覆寫(由一刪除線指示)。 圖6I繪示根據本發明之若干實施例之儲存資料之各種部分之一記憶體之一圖式。圖6I係在一SLC模式中由主機寫入至第四區塊664-4之額外資料單元「43」至「45」之一實例。在第六廢棄項目收集結束時,由主機發送以儲存於記憶體之區塊中之所有45個資料單元已儲存於記憶體之七個區塊中且未將記憶體系統發送至一寫入保護模式中。由於此僅留下第零區塊664-0作為供寫入之一空白區塊,因此可執行一第六廢棄項目收集以釋放額外區塊來供主機寫入,如結合圖6J所描述。 圖6J繪示根據本發明之若干實施例之儲存資料之各種部分之一記憶體之一圖式。如圖6J中所展示,一第六廢棄項目收集包含將在一SLC模式中儲存於第四區塊664-4中之資料單元「43」至「45」轉換成在一XLC模式中儲存於與行666-6、666-7及666-8相關聯之第一區塊664-1中。先前儲存之資料單元「43」至「45」可指示為無效的且被覆寫(由一刪除線指示)。此外,如圖6J中所展示,在第六廢棄項目收集之後,可在一SLC模式中將新寫入之資料單元「1」、「2」及「3」寫入至第零區塊664-0。由於此僅留下第零區塊664-0作為供寫入之一空白區塊,因此可執行一第六廢棄項目收集以釋放額外區塊來供主機寫入,如結合圖6K所描述。 圖6K繪示根據本發明之若干實施例之儲存資料之各種部分之一記憶體之一圖式。如圖6K中所展示,一第七廢棄項目收集包含將在一SLC模式中儲存於第零區塊664-0中之資料單元「1」至「3」轉換成在一SLC模式中儲存於第四區塊664-4中。先前儲存之資料單元「1」至「3」可指示為無效的且被覆寫(由第零區塊664-0中之一刪除線指示)。 圖6L繪示根據本發明之若干實施例之儲存資料之各種部分之一記憶體之一圖式。如圖6L中所展示,將新寫入之資料單元「4」至「6」寫入至第零區塊664-0。第六區塊664-6中之先前寫入資料單元「4」至「6」現為無效的且被覆寫(如由刪除線所指示)。由於此未留下空白區塊且留下一部分無效第六區塊664-6,因此可執行一廢棄項目收集。然而,判定是否對第零區塊664-0或第六區塊664-6進行廢棄項目收集。由於第六區塊664-6係較舊資料,因此一些先前方法可選擇第六區塊664-6用於廢棄項目收集。此等先前方法可導致廢棄項目收集最近已被廢棄項目收集之資料。就循序資料型樣而言,廢棄項目收集此經最近廢棄項目收集之資料會降低系統效能。此可歸因於將主機資料廢棄項目收集至一XLC區塊,該XLC區塊接著被自動覆寫但恰好在其將要被覆寫之前被廢棄項目收集。例如,廢棄項目收集可隨後在不久的將來被再次廢棄項目收集之儲存於一XLC區塊中之「摺疊」資料會降低系統效能。此可藉由選擇一源區塊用於廢棄項目收集來避免,該源區塊儘可能為一SLC區塊而非一XLC區塊以降低其將在不久的將來被再次廢棄項目收集之可能性。 為儘可能實現選擇一SLC區塊而非一XLC區塊用於廢棄項目收集,根據本文中之描述,可基於一最低有效(「LV」)區塊(在此實例中為第六區塊664-6)是否處於一SLC模式或一TLC模式中來作出一判定。若LV區塊處於一SLC模式中,則對最低有效區塊進行廢棄項目收集。然而,若LV區塊(664-6)處於一TLC模式中,則執行下一LV區塊(在此實例中為第零區塊664-0)是否處於SLC模式或TLC模式中之一判定。由於LV區塊(664-6)處於TLC模式中且下一LV區塊(664-0)處於SLC模式中,因此選擇下一LV區塊(664-0)用於廢棄項目收集。圖7繪示根據本發明之若干實施例之用於記憶體管理之一實例性流程圖707。流程圖707可包含:在790處,藉由區塊內之有效資料之一數量來分類記憶體之區塊。例如,當將資料自主機寫入至記憶體之區塊時,可針對記憶體之複數個混合模式區塊之各者指示無效(例如冗餘)資料之一數量。可相較於具有更少冗餘(且因此更少無效及更多有效)資料之一區塊來分類由更多冗餘(且因此更多無效)資料填充之一區塊。 在791處,可基於下一區塊之一模式之一判定(例如一SLC模式或一XLC模式)來選擇用於廢棄項目收集之下一區塊。下一區塊可係指具有一第二多無效資料數量之一區塊。在792處,可執行最低有效(「LV」)區塊是否處於一SLC模式中之一判定。回應於最低有效區塊處於一SLC模式中而選擇最低有效區塊作為用於廢棄項目收集之下一區塊。在793處,可執行最低有效區塊是否處於一XLC模式中之一判定。回應於最低有效區塊處於一XLC模式中而檢查下一最低有效(「LV」)區塊。在794處,回應於下一最低有效區塊處於一XLC模式中而選擇最低有效區塊用於廢棄項目收集。在795處,回應於下一最低有效區塊處於一SLC模式中而選擇下一最低有效區塊用於廢棄項目收集。依此方式,可選擇記憶體之一區塊用於最高效地提供額外記憶體空間且不減慢處理資源且使用較少資源之廢棄項目收集。 儘管已在本文中繪示及描述特定實施例,但一般技術者應暸解,經計算以達成相同結果之一配置可取代所展示之特定實施例。本發明意欲涵蓋本發明之若干實施例之調適或變動。應瞭解,已依一繪示而非限制方式進行以上描述。一般技術者將在檢視以上描述之後明白上述實施例之組合及本文中未明確描述之其他實施例。本發明之若干實施例之範疇包含其中使用上述結構及方法之其他應用。因此,應參考隨附申請專利範圍以及此申請專利範圍授權之等效物之全範圍來判定本發明之若干實施例之範疇。 在[實施方式]中,為了簡化本發明而將一些特徵一起群組於一單一實施例中。本發明之方法不應被解譯為反映本發明之揭示實施例必須使用比各請求項中明確敘述之特徵多之特徵之一意圖。確切而言,如以下申請專利範圍所反映,發明標的旨在具有一單一揭示實施例之非所有特徵。因此,以下申請專利範圍藉此併入至[實施方式]中,其中各請求項自身獨立作為一單獨實施例。
100‧‧‧記憶體陣列
116-0至116-B‧‧‧實體區塊
120-0至120-R‧‧‧實體列
122-0至120-S‧‧‧實體區段
201‧‧‧計算系統
202‧‧‧主機
204‧‧‧記憶體系統
206‧‧‧主機介面
208‧‧‧控制器
210-1至210-N‧‧‧記憶體裝置
308‧‧‧控制器
340‧‧‧記憶體管理組件
342‧‧‧損耗平衡組件
344‧‧‧廢棄項目收集組件
346‧‧‧映射組件
348‧‧‧擦除區塊追蹤組件
400-1‧‧‧記憶體
400-2‧‧‧記憶體
400-3‧‧‧記憶體
403‧‧‧圖式
405‧‧‧圖式
432-1至432-11‧‧‧實體位址(PA)
434-1至434-6‧‧‧行
436-1‧‧‧廢棄項目收集
436-2‧‧‧廢棄項目收集
560-0至560-5‧‧‧區塊
562-0至562-8‧‧‧資料位置
563-1‧‧‧記憶體胞元
563-2‧‧‧記憶體胞元
563-3‧‧‧記憶體胞元
664-0至664-6‧‧‧區塊
666-0至666-8‧‧‧資料單元位置
707‧‧‧流程圖
790‧‧‧藉由區塊內之有效資料之數量來分類記憶體之區塊
791‧‧‧基於下一區塊之模式之判定來選擇用於廢棄項目收集之下一區塊
792‧‧‧執行最低有效區塊是否處於SLC模式中之判定
793‧‧‧執行最低有效區塊是否處於XLC模式中之判定
794‧‧‧回應於下一最低有效區塊處於XLC模式中而選擇最低有效區塊用於廢棄項目收集
795‧‧‧回應於下一最低有效區塊處於SLC模式中而選擇下一最低有效區塊用於廢棄項目收集
圖1繪示根據本發明之若干實施例之具有數個實體區塊之一記憶體陣列之一部分之一圖式。 圖2係根據本發明之若干實施例之呈包括一記憶體系統之一計算系統之形式之一設備之一方塊圖。 圖3繪示根據本發明之若干實施例之一控制器之一圖式。 圖4A至圖4B各繪示根據本發明之若干實施例之與廢棄項目收集相關聯之一圖式。 圖5A至圖5F各繪示根據本發明之若干實施例之儲存資料之各種部分之一記憶體之一圖式。 圖6A至圖6L各繪示根據本發明之若干實施例之與廢棄項目收集相關聯之一圖式。 圖7繪示根據本發明之若干實施例之與廢棄項目收集相關聯之一實例性流程圖。
Claims (23)
- 一種設備,其包括: 一記憶體,其包括複數個混合模式區塊; 一控制器,其經組態以: 在一單位階胞元(SLC)模式中將循序主機資料之一第一部分寫入至該記憶體之該複數個混合模式區塊;及 在一額外位階胞元(XLC)模式中將循序主機資料之一第二部分寫入至該複數個混合模式區塊; 其中寫入循序主機資料之該第二部分包含:執行一廢棄項目收集操作,該廢棄項目收集操作包含將比與將循序主機資料之該第二部分寫入至該複數個混合模式區塊相關聯之被寫入區塊之一數量多之區塊新增至一自由區塊集用池。
- 如請求項1之設備,其中該控制器經組態以執行該廢棄項目收集操作包括:該控制器經組態以執行導致該複數個混合模式區塊之至少一半係邏輯上循序之一廢棄項目收集操作。
- 如請求項1至2中任一項之設備,其中該控制器經組態以藉由廢棄項目收集儲存於該複數個混合模式區塊之一第一區塊中之一第一組資料及儲存於該複數個混合模式區塊之一第二區塊中之一第二組資料且將該第一組及該第二組寫入至該第一區塊來廢棄項目收集循序主機資料之該第一部分。
- 如請求項3之設備,其中該第一組資料及該第二組資料係邏輯上相對於彼此循序的。
- 如請求項3之設備,其中該控制器經進一步組態以將一第三組主機資料寫入至該第一區塊,其中該第一區塊儲存該第一組、該第二組及該第三組。
- 如請求項5之設備,其中該第三組在邏輯上相對於該第一組及該第二組為非循序的。
- 如請求項6之設備,其中儲存該第一組、該第二組及該第三組之該第一區塊係一邏輯上分段之區塊。
- 如請求項5之設備,其中該控制器經進一步組態以將一第四組主機資料寫入至該第二區塊。
- 如請求項8之設備,其中儲存該第四組之該第二區塊係邏輯上循序的。
- 如請求項8之設備,其中該第四組包括三個資料單元且其中該三個資料單元係邏輯上相對於彼此循序的。
- 一種方法,其包括: 在一單位階胞元(SLC)模式中將主機資料之一第一部分寫入至一記憶體之複數個混合模式區塊; 在一額外位階胞元(XLC)模式中將主機資料之一第二部分寫入至該複數個混合模式區塊; 其中寫入主機資料之該第二部分包括:執行一廢棄項目收集操作,該廢棄項目收集操作包含將該第一部分之至少兩個資料單元摺疊至相同於該第二部分之至少一資料單元之一區塊中。
- 如請求項11之方法,其包括:在一XLC模式中將主機資料之一第三部分寫入至先前儲存該第一部分之該至少兩個資料單元之一者的一區塊。
- 如請求項11之方法,其中寫入資料之該第二部分包括:回應於臨限數目個區塊係空白的而廢棄項目收集在一SLC模式中儲存之一第一區塊及一第二區塊以在一XLC模式中儲存於該第一區塊中。
- 如請求項13之方法,其中寫入資料之該第二部分包括:將主機資料寫入至該第二區塊,其中回應於在存在該臨限數目個空白區塊時發送該主機資料而觸發該廢棄項目收集操作。
- 一種設備,其包括: 一記憶體,其包括複數個混合模式區塊; 一控制器,其經組態以: 在一單位階胞元(SLC)模式中將循序主機資料寫入至該記憶體之該複數個混合模式區塊;及 對儲存於該複數個混合模式區塊之至少一者中之該循序主機資料之一部分資料執行一廢棄項目收集操作且回應於該複數個混合模式區塊之一臨限數量儲存有效資料而在一XLC模式中儲存該部分資料。
- 如請求項15之設備,其中該控制器經組態以基於該複數個混合模式區塊之各者中之有效資料之一數量之一判定來判定應對該部分資料執行該廢棄項目收集操作。
- 如請求項15之設備,其中該控制器經組態以基於一特定區塊是否為一SLC模式區塊之一判定來判定該循序主機資料之哪組資料執行該廢棄項目收集操作。
- 如請求項17之設備,其中該控制器經組態以回應於該特定區塊係一XLC模式區塊之一判定而判定具有下一最多無效資料量之下一最低有效區塊是否為一XLC模式區塊。
- 如請求項18之設備,其中該控制器經組態以: 回應於判定該下一最低有效區塊係一XLC模式區塊而選擇該特定區塊以對其執行該廢棄項目收集;及 回應於判定該下一最低有效區塊係一SLC模式區塊而選擇該下一最低有效區塊以對其執行該廢棄項目收集。
- 一種方法,其包括: 在一單位階胞元(SLC)模式中將循序主機資料寫入至一記憶體之複數個混合模式區塊; 回應於該複數個混合模式區塊之能夠被寫入之區塊之一數量達到一臨限數量而對該複數個混合模式區塊之至少一者執行一廢棄項目收集操作; 其中基於與該複數個混合模式區塊之各者相關聯之有效資料之一數量來選擇該複數個混合模式區塊之該至少一者用於執行該廢棄項目收集操作。
- 如請求項20之方法,其中基於該複數個混合模式區塊之該至少一者是否處於一SLC模式中來選擇該複數個混合模式區塊之該至少一者。
- 如請求項20至21中任一項之方法,其中基於回應於具有一最高無效資料數量之一區塊係一XLC模式區塊而判定一次高無效資料區塊是否為一SLC模式區塊來選擇該複數個混合模式區塊之該至少一者。
- 如請求項22之方法,其中: 回應於該次高無效資料區塊處於一XLC模式中而選擇該最高無效資料數量之區塊;及 回應於該次高無效資料區塊係一SLC模式區塊而選擇該次高無效資料區塊。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/478,631 | 2017-04-04 | ||
US15/478,631 US10380018B2 (en) | 2017-04-04 | 2017-04-04 | Garbage collection |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201842444A true TW201842444A (zh) | 2018-12-01 |
TWI676132B TWI676132B (zh) | 2019-11-01 |
Family
ID=63671799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107111558A TWI676132B (zh) | 2017-04-04 | 2018-04-02 | 用於廢棄項目收集之設備及方法 |
Country Status (6)
Country | Link |
---|---|
US (3) | US10380018B2 (zh) |
EP (1) | EP3607449B1 (zh) |
KR (1) | KR102382887B1 (zh) |
CN (1) | CN110603531B (zh) |
TW (1) | TWI676132B (zh) |
WO (1) | WO2018187016A1 (zh) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180165037A1 (en) * | 2015-04-23 | 2018-06-14 | Hewlett Packard Enterprise Development Lp | Storage Reclamation in a Thin Provisioned Storage Device |
US10732838B2 (en) * | 2017-11-29 | 2020-08-04 | Western Digital Technologies, Inc. | Logical grouping for hybrid dual write |
KR20190091035A (ko) * | 2018-01-26 | 2019-08-05 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
US10733114B2 (en) * | 2018-08-28 | 2020-08-04 | International Business Machines Corporation | Data cache performance |
KR102516246B1 (ko) * | 2018-10-29 | 2023-03-30 | 마이크론 테크놀로지, 인크. | Slc 캐시 할당 |
KR102593541B1 (ko) * | 2018-11-29 | 2023-10-25 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
CN111562880A (zh) * | 2019-02-14 | 2020-08-21 | 英韧科技(上海)有限公司 | 一种数据存储装置、系统及数据写入方法 |
JP7401193B2 (ja) * | 2019-04-17 | 2023-12-19 | キヤノン株式会社 | 情報処理装置及びその制御方法並びにプログラム |
CN112100087B (zh) | 2019-06-17 | 2024-04-02 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
CN112099985B (zh) | 2019-06-17 | 2023-09-12 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
CN112130750B (zh) | 2019-06-25 | 2023-11-07 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
CN112130749B (zh) * | 2019-06-25 | 2023-12-22 | 慧荣科技股份有限公司 | 数据储存装置以及非挥发式存储器控制方法 |
TWI688956B (zh) * | 2019-08-28 | 2020-03-21 | 群聯電子股份有限公司 | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 |
CN112445418B (zh) * | 2019-09-05 | 2023-02-24 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
CN111177021A (zh) * | 2019-12-04 | 2020-05-19 | 东信和平科技股份有限公司 | Java卡碎片管理方法及其存储装置 |
US11640262B2 (en) * | 2020-05-07 | 2023-05-02 | Micron Technology, Inc. | Implementing variable number of bits per cell on storage devices |
KR20210144249A (ko) | 2020-05-22 | 2021-11-30 | 에스케이하이닉스 주식회사 | 저장 장치 및 이의 동작 방법 |
JP2022030146A (ja) | 2020-08-06 | 2022-02-18 | キオクシア株式会社 | メモリシステムおよび書き込み制御方法 |
US11354052B2 (en) * | 2020-08-25 | 2022-06-07 | Micron Technology, Inc. | Memory sub-system media management operation threshold |
US11467763B2 (en) * | 2021-01-20 | 2022-10-11 | Micron Technology, Inc. | Valid data aware media reliability scanning for memory sub-blocks |
US11599286B2 (en) * | 2021-06-03 | 2023-03-07 | Micron Technology, Inc. | Data age and validity-based memory management |
US11520510B1 (en) | 2021-07-21 | 2022-12-06 | International Business Machines Corporation | Extending the lifespan of a flash-based storage device |
US11593032B1 (en) * | 2021-08-06 | 2023-02-28 | Micron Technology, Inc. | Memory sub-system data migration |
KR20230059911A (ko) | 2021-10-26 | 2023-05-04 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
US11875061B2 (en) * | 2022-04-22 | 2024-01-16 | Micron Technology, Inc. | Enhanced write performance utilizing program interleave |
US11960722B2 (en) * | 2022-07-25 | 2024-04-16 | Micron Technology, Inc. | Memory device programming technique for increased bits per cell |
JP2024043337A (ja) | 2022-09-16 | 2024-03-29 | キオクシア株式会社 | メモリシステム |
US20240302957A1 (en) * | 2023-03-10 | 2024-09-12 | Western Digital Technologies, Inc. | Protocol for solid state drive with high quality of service |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8078794B2 (en) | 2000-01-06 | 2011-12-13 | Super Talent Electronics, Inc. | Hybrid SSD using a combination of SLC and MLC flash memory arrays |
US6732221B2 (en) | 2001-06-01 | 2004-05-04 | M-Systems Flash Disk Pioneers Ltd | Wear leveling of static areas in flash memory |
KR100877104B1 (ko) | 2007-06-26 | 2009-01-07 | 주식회사 하이닉스반도체 | 멀티 레벨 셀 플래시 메모리소자의 프로그램 방법 |
CN101266828B (zh) * | 2008-03-25 | 2010-12-01 | 祥硕科技股份有限公司 | 混合型闪存存储装置及其操作方法 |
US8639877B2 (en) | 2009-06-30 | 2014-01-28 | International Business Machines Corporation | Wear leveling of solid state disks distributed in a plurality of redundant array of independent disk ranks |
KR101662827B1 (ko) | 2010-07-02 | 2016-10-06 | 삼성전자주식회사 | 쓰기 패턴에 따라 데이터 블록의 쓰기 모드를 선택하는 메모리 시스템 및 그것의 데이터 쓰기 방법 |
WO2012060824A1 (en) | 2010-11-02 | 2012-05-10 | Hewlett-Packard Development Company, L.P. | Solid-state disk (ssd) management |
JP2014513850A (ja) * | 2011-05-17 | 2014-06-05 | サンディスク テクノロジィース インコーポレイテッド | 小さな論理グループがアクティブなslcおよびmlcメモリパーティションに分散させられる不揮発性メモリおよび方法 |
US9176864B2 (en) | 2011-05-17 | 2015-11-03 | SanDisk Technologies, Inc. | Non-volatile memory and method having block management with hot/cold data sorting |
US9176862B2 (en) | 2011-12-29 | 2015-11-03 | Sandisk Technologies Inc. | SLC-MLC wear balancing |
US8832506B2 (en) | 2012-01-20 | 2014-09-09 | International Business Machines Corporation | Bit error rate based wear leveling for solid state drive memory |
US9146851B2 (en) | 2012-03-26 | 2015-09-29 | Compellent Technologies | Single-level cell and multi-level cell hybrid solid state drive |
US8923066B1 (en) | 2012-04-09 | 2014-12-30 | Sk Hynix Memory Solutions Inc. | Storage of read thresholds for NAND flash storage using linear approximation |
US8990477B2 (en) | 2012-04-19 | 2015-03-24 | Sandisk Technologies Inc. | System and method for limiting fragmentation |
KR102147359B1 (ko) | 2012-06-29 | 2020-08-24 | 삼성전자 주식회사 | 비휘발성 메모리 장치의 관리 방법 및 비휘발성 메모리 장치 |
US8886877B1 (en) * | 2014-05-15 | 2014-11-11 | Sandisk Technologies Inc. | In-situ block folding for nonvolatile memory |
US10452280B2 (en) * | 2014-10-03 | 2019-10-22 | International Business Machines Corporation | Hybrid storage system employing reconfigurable memory |
US10359933B2 (en) * | 2016-09-19 | 2019-07-23 | Micron Technology, Inc. | Memory devices and electronic systems having a hybrid cache including static and dynamic caches with single and multiple bits per cell, and related methods |
US10452282B2 (en) * | 2017-04-07 | 2019-10-22 | Micron Technology, Inc. | Memory management |
US10956317B2 (en) * | 2019-02-11 | 2021-03-23 | International Business Machines Corporation | Garbage collection in non-volatile memory that fully programs dependent layers in a target block |
-
2017
- 2017-04-04 US US15/478,631 patent/US10380018B2/en active Active
-
2018
- 2018-03-16 WO PCT/US2018/022804 patent/WO2018187016A1/en unknown
- 2018-03-16 CN CN201880030170.0A patent/CN110603531B/zh active Active
- 2018-03-16 KR KR1020197032553A patent/KR102382887B1/ko active IP Right Grant
- 2018-03-16 EP EP18781679.8A patent/EP3607449B1/en active Active
- 2018-04-02 TW TW107111558A patent/TWI676132B/zh active
-
2019
- 2019-05-16 US US16/413,821 patent/US10949344B2/en active Active
-
2021
- 2021-01-14 US US17/149,349 patent/US11416391B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11416391B2 (en) | 2022-08-16 |
US20210133099A1 (en) | 2021-05-06 |
CN110603531A (zh) | 2019-12-20 |
US10380018B2 (en) | 2019-08-13 |
US10949344B2 (en) | 2021-03-16 |
CN110603531B (zh) | 2022-10-04 |
EP3607449A1 (en) | 2020-02-12 |
WO2018187016A1 (en) | 2018-10-11 |
KR20190127980A (ko) | 2019-11-13 |
EP3607449A4 (en) | 2020-12-16 |
US20180285258A1 (en) | 2018-10-04 |
EP3607449B1 (en) | 2022-06-29 |
US20190272098A1 (en) | 2019-09-05 |
KR102382887B1 (ko) | 2022-04-06 |
TWI676132B (zh) | 2019-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI676132B (zh) | 用於廢棄項目收集之設備及方法 | |
US11586357B2 (en) | Memory management | |
CN110998550B (zh) | 存储器寻址 | |
US8060719B2 (en) | Hybrid memory management | |
US8001317B2 (en) | Data writing method for non-volatile memory and controller using the same | |
US8037236B2 (en) | Flash memory writing method and storage system and controller using the same | |
US8423707B2 (en) | Data access method for flash memory and storage system and controller using the same | |
CN115543866A (zh) | 部分超级块存储器管理 | |
CN117632038B (zh) | 损耗平衡方法、存储器存储装置及存储器控制电路单元 | |
US20240069782A1 (en) | Storage device including nonvolatile memory device and operating method of storage device | |
US20210406169A1 (en) | Self-adaptive wear leveling method and algorithm |