TWI463315B - 資料儲存裝置及用於資料儲存之方法 - Google Patents

資料儲存裝置及用於資料儲存之方法 Download PDF

Info

Publication number
TWI463315B
TWI463315B TW101121635A TW101121635A TWI463315B TW I463315 B TWI463315 B TW I463315B TW 101121635 A TW101121635 A TW 101121635A TW 101121635 A TW101121635 A TW 101121635A TW I463315 B TWI463315 B TW I463315B
Authority
TW
Taiwan
Prior art keywords
blocks
block
data
memory
subset
Prior art date
Application number
TW101121635A
Other languages
English (en)
Other versions
TW201308077A (zh
Inventor
Avraham Meir
Alexander Paley
Asif Sade
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Publication of TW201308077A publication Critical patent/TW201308077A/zh
Application granted granted Critical
Publication of TWI463315B publication Critical patent/TWI463315B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0638Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7204Capacity control, e.g. partitioning, end-of-life degradation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

資料儲存裝置及用於資料儲存之方法
本發明大體係關於資料儲存,且特定言之,係關於用於記憶體器件中之記憶體區塊管理之方法及系統。
一些記憶體器件(諸如,快閃器件)包含多個記憶體區塊。用於記憶體區塊管理之各種技術在此項技術中係已知的。舉例而言,美國專利8,040,744(其揭示內容被以引用的方式併入本文中)描述用於管理在可重新程式化之非揮發性記憶體系統(諸如,快閃EEPROM系統)中之備用區塊的技術。在一組技術中,對於被分割為兩個分割區段(諸如,二進位區段及多狀態區段)之記憶體而言,在一個區段之區塊更傾向於出錯的情況下,可將備用區塊自更傾向於出錯之分割區轉移至較不傾向於出錯之分割區。在另一組技術中,在更傾向於出錯之分割區中的出故障之區塊經轉移以充當另一分割區中之備用區塊。
作為另一實例,美國專利申請公開案2010/0174847(其揭示內容被以引用的方式併入本文中)描述自主多位階記憶體陣列分割非揮發性記憶體的一部分以作為快取記憶體操作之技術。與主記憶體相比,快取記憶體經組態以按每記憶體胞較少之容量及寫入單元之較精細細微度進行儲存。該快取記憶體具有回應於對增大容量之需求而藉由配置來自主記憶體之區塊動態地增加之容量。較佳地,配置具有高於平均值之耐久性計數的區塊。資料之邏輯位址被分割 至區中以限制用於快取區的索引之大小。
本文中所描述的本發明之一實施例提供一種用於資料儲存之方法。該方法包括將資料儲存於一記憶體中,該記憶體包括按區塊排列之多個類比記憶體胞。該等區塊之一第一子集經定義用於以一第一儲存密度來儲存第一資料,且該等區塊之一第二子集經定義用於以大於該第一儲存密度之一第二儲存密度來儲存第二資料。在該第一子集及該第二子集中之每一者中,一或多個區塊經配置以充當備用區塊,且用該等備用區塊替換變得有故障之區塊。在偵測到該第二子集中的該等備用區塊之一數目已減少至一預定義之臨限值以下後,將該資料自該第二子集中之至少一區塊複製至該第一子集,且將該至少一區塊添加至該第二子集之該等備用區塊。
在一些實施例中,儲存資料包括使用每記憶體胞第一數目個程式化位準來程式化該第一子集中之該等記憶體胞;及使用每記憶體胞第二數目個程式化位準來程式化該第二子集中之該等記憶體胞,該第二數目大於該第一數目。在一實施例中,該第一儲存密度包括每記憶體胞一個位元。在一揭示之實施例中,複製該資料及添加該至少一區塊包括將該第二子集中的該等備用區塊之該數目維持於不大於一預定義之上限。在一實施例中,該上限包括單個備用區塊。
在一些實施例中,儲存該資料包括在該第一子集中進行 一區塊壓實過程,該區塊壓實過程將該第一子集中之該等備用區塊用作過度供給耗用。在一實施例中,該方法包括根據一預定義之選擇準則來選擇該第二子集中之該至少一區塊。在一實例實施例中,該選擇準則視該至少一區塊中的有效資料之一量而定。在另一實施例中,該選擇準則視該至少一區塊中之有效資料被分段成的片段之一數目而定。在又一實施例中,該選擇準則視該至少一區塊中之資料最近被作廢之一時間而定。
根據本發明之一實施例,另外提供一種資料儲存裝置,其包括一介面及一處理器。該介面經組態以與一記憶體通信,該記憶體包括按區塊排列之多個類比記憶體胞,其中該等區塊之一第一子集經定義用於以一第一儲存密度來儲存第一資料,且該等區塊之一第二子集經定義用於以大於該第一儲存密度之一第二儲存密度來儲存第二資料。該處理器經組態以在該第一子集及該第二子集中之每一者中配置一或多個區塊以充當備用區塊,用該等備用區塊替換變得有故障之區塊,及在偵測到該第二子集中的該等備用區塊之一數目已減少至一預定義之臨限值以下後,將該資料自該第二子集中之至少一區塊複製至該第一子集,且將該至少一區塊添加至該第二子集之該等備用區塊。
根據本發明之一實施例,亦提供一種用於在包括多個區塊之一記憶體中資料儲存之方法。該方法包括執行一壓實過程,該壓實過程選擇含有有效資料及無效資料兩者之該等區塊中的一或多者,將該有效資料自該等選定區塊複製 至其他儲存位置,及接著抹除該等選定區塊。在該記憶體之一給定區域內,識別含有在儲存於該給定區域中之該有效資料當中的最久遠程式化之有效資料的一區塊。將該所識別之區塊選擇作為用於該壓實過程之一候選者。在一實施例中,執行該區塊之識別及選擇,而不管該區塊中的該有效資料之一量。
根據本發明之一實施例,進一步提供一種資料儲存裝置,其包括一介面及一處理器。該介面經組態以與包括多個區塊之一記憶體通信。該處理器經組態以執行一壓實過程,該壓實過程選擇含有有效資料及無效資料兩者之該等區塊中的一或多者,將該有效資料自該等選定區塊複製至其他儲存位置,及接著抹除該等選定區塊,且經進一步組態以在該記憶體之一給定區域內,識別含有在儲存於該給定區域中之該有效資料當中的最久遠程式化之有效資料的一區塊,及將該所識別之區塊選擇作為用於該壓實過程之一候選者。
根據本發明之一實施例,此外提供一種用於在一記憶體中資料儲存之方法,該記憶體包括多個區塊且被劃分為用於資料快取之一第一區域及用於長期資料儲存之一第二區域。該方法包括執行一壓實過程,該壓實過程在該第一區域中選擇含有有效資料及無效資料兩者之該等區塊中的一或多者,將該有效資料自該等選定區塊複製至該記憶體中之其他儲存位置,及接著抹除該等選定區塊。基於該第二區域中之寫入操作的一數目而在該第一區域中將一區塊選 擇作為用於該壓實過程之一候選者,該等寫入操作將由該候選區塊之壓實招致。
在一些實施例中,根據一邏輯至實體位址映射而將該資料儲存於該第二區域中,該邏輯至實體位址映射將實體儲存位置指派至各別邏輯映射單元,該等各別邏輯映射單元中之每一者包括至少一區塊,且選擇該區塊包括基於該區塊中之該有效資料所屬的該等邏輯映射單元之一數目來選取該區塊。在一實施例中,選擇該區塊包括將各別得分指派至該第一區域中之該等區塊中的至少一些區塊,該等各別得分與該第二區域中之將由該等區塊之壓實招致的該等寫入操作之各別數目逆相關;及在選取用於該壓實過程之該區塊方面將高優先權給予具有高得分之該等區塊。
根據本發明之一實施例,另外提供一種資料儲存裝置,其包括一介面及一處理器。該介面經組態以與一記憶體通信,該記憶體包括多個區塊且被劃分為用於資料快取之一第一區域及用於長期資料儲存之一第二區域。該處理器經組態以執行一壓實過程,該壓實過程在該第一區域中選擇含有有效資料及無效資料兩者之該等區塊中的一或多者,將該有效資料自該等選定區塊複製至該記憶體中之其他儲存位置,及接著抹除該等選定區塊,且經進一步組態以基於該第二區域中之寫入操作的一數目而在該第一區域中將一區塊選擇作為用於該壓實過程之一候選者,該等寫入操作將由該候選區塊之壓實招致。
將自本發明之實施例之以下詳細描述連同圖式來更全面 地理解本發明。
概述
在一些記憶體系統中,例如,在一些基於快閃之固態磁碟機(SSD)中,某一記憶體區域經組態以按相對於記憶體之其餘部分的較小儲存密度保持資料。舉例而言,較低密度區域可經組態以每記憶體胞保持單個位元(稱作單位階記憶體胞(SLC)組態),且較高密度區域可經組態以每記憶體胞保持多個位元(稱作多位階記憶體胞(MLC)組態)。雖然可以各種方式來實施儲存密度之差異,但在本文中大體將較低密度區域及較高密度區域分別稱作SLC區域及MLC區域。
作為較低儲存密度的報答,SLC區域通常特性在於較快速之程式化及讀出且在於改良之耐久性、保存能力及儲存可靠性(與MLC區域相比)。可將SLC區域用於各種目的,諸如,用於在將資料轉移至MLC區域前快取傳入之資料,或用於儲存敏感或頻繁更新(「熱」)之資料。通常,SLC區域顯著小於MLC區域。
本文中所描述的本發明之實施例提供用於在記憶體中的記憶體管理之經改良之方法及系統,該等記憶體被分割為SLC區域及MLC區域。通常,記憶體包含多個記憶體區塊,該等記憶體區塊中之每一者包含多個類比記憶體胞。在一些實施例中,一記憶體控制器配置一或多個記憶體區塊以充當SLC區域及MLC區域中之每一者中的備用區塊。 該等備用區塊用於(例如)替換變得有故障之區塊(「壞區塊」)或用於增加記憶體之過度供給耗用,如下文予以詳細解釋。
在一些揭示之實施例中,記憶體控制器僅在MLC區域中配置最小數目個備用區塊,且在SLC區域中配置儘可能多的備用區塊。由於SLC區域顯著小於MLC區域,因此每一備用區塊在SLC區域中比在MLC區域中添加了大得多的百分比之備用記憶體。因此,藉由在SLC區域中配置額外備用區塊所達成的效能增益通常比藉由在MLC區域中配置較少之此等備用區塊所引起的效能降級大得多。
維持MLC區域中之少量備用區塊可為危險的;MLC記憶體區塊在使用期間可變得有故障,且MLC區域可用完替換其之備用區塊。因此,在一些揭示之實施例中,記憶體控制器驗證MLC區域中的備用區塊之數目未下降到某一最小臨限值以下。在偵測到MLC區域中的備用區塊之數目過低後,記憶體控制器將資料自MLC區域中之一或多個區塊複製至SLC區域,且將MLC區域中之釋放的區塊用作備用區塊。
上述技術使記憶體控制器能夠將大量備用區塊配置至SLC區域,且因此能夠以高輸貫量及耐久性(由於高的過度供給比率)來操作SLC區域。同時,對MLC區域連續地提供足夠數目個備用區塊。此取捨幫助改良記憶體系統之總效能。舉例而言,當將SLC區域用於快取資料或用於儲存與MLC區域有關之管理資訊時,儲存此資訊亦更有效率地改 良MLC效能。
其他揭示之實施例與SLC區域中由記憶體控制器執行之區塊壓實過程(亦稱作「廢棄項目收集」)有關。此等實施例提供用於選擇供壓實之候選區塊的改良之準則。在一些實施例中,記憶體控制器將最舊區塊(亦即,含有最久遠寫入之資料的區塊)選擇作為供壓實之候選者。此準則致能快速且直接之管理,例如,此係因為其不需要記憶體控制器來評估每一區塊中之有效資料的量。
在替代實施例中,記憶體控制器藉由考慮在MLC區域中壓實將招致之寫入操作的數目來選擇供壓實之候選SLC區塊。其壓實將招致MLC區域中之少量寫入操作的SLC區塊通常係較佳的。在一實例實施例中,記憶體控制器使用邏輯至實體位址映射而將資料儲存於記憶體中,該邏輯至實體位址映射係在某種大小(例如,若干區塊或若干區塊群組)之映射單元上定義。在此等實施例中,記憶體控制器可藉由不僅考慮區塊中之有效資料的量而且考慮有效資料所屬的映射單元之數目來選擇供壓實之候選區塊。對其資料屬於少量映射單元的區塊執行壓實通常較佳,此係因為壓實將涉及將較少量之資料複製至MLC區域。
系統描述
圖1為根據本發明之一實施例的示意性說明一記憶體系統20之方塊圖。系統20可用於各種主機系統及器件中,諸如,用於計算器件、蜂巢式電話或其他通信終端機、抽取式記憶體模組(有時稱作「USB隨身碟」)、固態磁碟 (SSD)、數位相機、音樂及其他媒體播放器及/或其中資料被儲存及擷取的任何其他系統或器件中。
系統20包含一記憶體器件24,該記憶體器件24將資料儲存於記憶體胞陣列28中。該記憶體陣列包含多個記憶體區塊30。每一記憶體區塊30包含多個類比記憶體胞。在本專利申請案之上下文中及在申請專利範圍中,術語「類比記憶體胞」用以描述保持物理參數(諸如,電壓或電荷)之連續、類比值的任何記憶體胞。陣列28可包含任何種類之類比記憶體胞,諸如,NAND、NOR及電荷收集快閃記憶體(CTF)快閃記憶體胞、相變RAM(PRAM,亦稱作相變記憶體(PCM))、氮化物唯讀記憶體(NROM)、鐵電RAM(FRAM)、磁性RAM(MRAM)及/或動態RAM(DRAM)記憶體胞。
儲存於記憶體胞中之電荷位準及/或被寫入至記憶體胞中及自記憶體胞讀出之類比電壓或電流在本文中被統稱為類比值、類比儲存值或儲存值。該等儲存值可包含(例如)臨限電壓或任何其他合適之種類的儲存值。系統20藉由程式化類比記憶體胞以假定各別程式化狀態來將資料儲存於該等記憶體胞中,該等程式化狀態亦稱作程式化位準。該等程式化狀態係選自一組有限的可能狀態,且每一程式化狀態對應於某一標稱儲存值。舉例而言,3位元/記憶體胞MLC可經程式化以藉由將八個可能之標稱儲存值中的一者寫入至該記憶體胞內來假定八個可能之程式化狀態中的一者。
記憶體器件24包含一讀取/寫入(R/W)單元36,該R/W單元36將供儲存於記憶體器件中之資料轉換至類比儲存值且將其寫入至記憶體胞內。在替代實施例中,R/W單元不執行轉換,而是具備電壓樣本(亦即,具備供儲存於記憶體胞中之儲存值)。當將自陣列28讀出資料時,R/W單元36將記憶體胞之儲存值轉換為具有一或多個位元之解析度的數位樣本。資料通常按群組(被稱作頁)被寫入至記憶體胞及自該等記憶體胞讀取。在一些實施例中,R/W單元可藉由將一或多個負抹除脈衝施加至一群記憶體胞來抹除該等記憶體胞。通常在全部記憶體區塊中執行抹除。
將資料儲存於記憶體器件24中及自記憶體器件24擷取資料由記憶體控制器40執行。記憶體控制器包含:一介面44,其用於與記憶體器件24通信;及一處理器48,其進行各種記憶體管理功能。詳言之,處理器48進行本文中所描述之記憶體區塊管理方案。
記憶體控制器40與主機52通信,以用於接受供儲存於記憶體器件中之資料及用於輸出自記憶體器件擷取之資料。可以硬體來實施記憶體控制器40及(詳言之)處理器48。或者,記憶體控制器可包含執行合適之軟體的微處理器或硬體元件與軟體元件之組合。
圖1之組態為一例示性系統組態,其純粹係出於概念清晰起見而加以展示。亦可使用任何其他合適記憶體系統組態。已為了清晰性而自圖省略對理解本發明之原理而言非為必要之元件(諸如,各種介面、定址電路、定時及排序 電路及除錯電路)。
雖然圖1之實例展示單一記憶體器件24,但系統20可包含由記憶體控制器40控制之多個記憶體器件。在圖1中所示之例示性系統組態中,將記憶體器件24及記憶體控制器40實施為兩個單獨之積體電路(IC)。然而,在替代實施例中,可將記憶體器件與記憶體控制器整合於單一多晶片封裝(MCP)或系統單晶片(SoC)中之單獨的半導體晶粒上。另外替代地,記憶體控制器電路中之一些或全部可駐留於其上安置有記憶體陣列的同一晶粒上。另外替代地,記憶體控制器40之功能性中的一些或全部可以軟體實施且由處理器或主機系統之其他元件進行。在一些實施例中,可在同一晶粒上或在同一器件封裝中之單獨晶粒上製造主機44及記憶體控制器40。
在一些實施例中,記憶體控制器40包含一通用處理器,該通用處理器按軟體程式化以進行本文中所描述之功能。可以電子形式經由(例如)網路而將軟體下載至處理器,或或者或另外,其可提供及/或儲存於非暫時性有形媒體(諸如,磁性、光學或電子記憶體)上。
在陣列28之一實例組態中,每一區塊30中之記憶體胞係按多個列及行排列,且每一記憶體胞包含一浮閘電晶體。每一列中的電晶體之閘極由字線連接,且每一行中的電晶體之源極由位元線連接。記憶體陣列通常被劃分為多個頁(亦即,同時程式化及讀取之記憶體胞群組)。頁有時經再分為扇區。在一些實施例中,每一頁包含陣列之一個整 列。在替代實施例中,可將每一列(字線)劃分為兩個或兩個以上之頁。舉例而言,在一些器件中,將每一列劃分為兩個頁,一個頁包含奇數次序記憶體胞且另一頁包含偶數次序記憶體胞。
通常,記憶體控制器40以頁為單位來程式化資料,但抹除整個記憶體區塊30。通常(但並非必要),一記憶體區塊相當於106 個記憶體胞,而一頁相當於103 至104 個記憶體胞。
記憶體分割為具有備用區塊之SLC區域及MLC區域在一些實施例中,將記憶體區塊30分割為單位階記憶體胞(SLC)區域34及多位階記憶體胞(MLC)區域36。區域34與36彼此不同之處在於儲存密度(亦即,在於每記憶體胞之用於儲存資料的位元之數目。MLC區域36中之儲存密度高於SLC區域34中之儲存密度)。在一些實施例中,SLC區域34中之記憶體胞保持每記憶體胞單個位元(例如,藉由經程式化至兩個可能之程式化位準),而MLC區域36中之記憶體胞保持每記憶體胞多個位元(例如,藉由經程式化至兩個以上可能的程式化位準)。或者,區域34中之記憶體胞可具有低於區域36中之記憶體胞之儲存密度的任何其他合適之儲存密度。
雖然本文中所描述之實施例指代SLC區域以1位元/記憶體胞來儲存資料且MLC區域以大於1位元/記憶體胞來儲存資料,但可將揭示之技術與用於以高於另一記憶體區域中之密度的密度來將資料儲存於一記憶體區域中的任何其他 合適之技術一起使用。替代使用不同數目個程式化位準,可使用任何其他合適之技術在區域34及36中實施不同儲存密度。
由於較小之儲存密度,SLC區域34通常特性在於較快速之程式化、較長之耐久性及保存能力及有時較高之儲存可靠性。在各種實施例中,SLC區域可在系統20中起到不同功能的作用。舉例而言,SLC區域34可用於臨時快取自主機接收之資料,直至資料被複製至其在MLC區域36中之長期目的地位址。有時將此功能稱作「二進位快取」或「SLC快取」。或者或另外,SLC區域34可用於儲存高度敏感資訊(諸如,映射表)。作為又一實例,SLC區域34可用於儲存經頻繁地更新之資料(「熱」資料)。
通常,SLC區域34之大小顯著小於MLC區域36之大小。在一實例實施例中,SLC區域包含五十個區塊34,而MLC區域36包含兩千個區塊。或者,可使用SLC區域之大小與MLC區域之大小之間的任何其他合適之比例。在一些實施例中,SLC區域中之記憶體胞及記憶體區塊在結構上與MLC區域中之記憶體胞及記憶體區塊不同。在其他實施例中,SLC區域中之記憶體胞及記憶體區塊與MLC區域中之記憶體胞及記憶體區塊類似或相同。
在一些實施例中,SLC區域及MLC區域中之每一者包含某數目個充當備用區塊之區塊34。備用區塊可用於各種目的,諸如,用於替換變得有故障之區塊(「壞區塊」)及用於在壓實過程或「廢棄項目收集」過程中所使用之過度供 給,如下文所解釋。
在諸如器件24之類比記憶體中,資料以頁為單位而被寫入至記憶體,但將抹除應用於全部記憶體區塊。僅將資料寫入至經抹除之頁,且因此不可能更新在適當的位置之資料。更新資料涉及將經更新之資料寫入至另一實體儲存位置,將資料之先前版本標記為無效,及將邏輯位址動態地映射至實體儲存位置。
由於以上之特性,因此記憶體之記憶體區塊逐漸積聚無效之資料頁,該等資料頁之更新版本已儲存於其他實體儲存位址中。為了減少無效頁之數目,記憶體控制器進行壓實或「廢棄項目收集」過程。此過程選擇供壓實之一或多個記憶體區塊,將有效資料自該等所選之記憶體區塊複製至其他儲存位置,及接著抹除該等選定記憶體區塊。該等抹除之區塊接著準備進行隨後之程式化。
壓實過程之效率(例如,其可藉由每區塊壓實執行之複製操作的平均數來量化)隨記憶體之過度供給比率(記憶體之真實實體容量與被提供至用於儲存資料之外部實體的指定容量之間的比率)變化而改良。
通常,將不保持區塊30內之有效資料(「孔」)的記憶體區域之積聚大小稱作過度供給耗用。可將過度供給耗用指定為過度供給比率,其被定義為指定之記憶體容量的分數。舉例而言,當記憶體使用5%之過度供給比率且記憶體為邏輯上滿時,每一記憶體區塊平均起來僅95%程式化。
當記憶體被過度供給時,可更有效率地執行廢棄項目收集。換言之,可減少每區塊壓實之複製操作的數目。廢棄項目收集過程之效率隨記憶體中所使用之過度供給比率變化而增加。增加過度供給比率減小記憶體胞之磨損,且亦增加程式化輸貫量。當記憶體為滿或幾乎滿時,過度供給耗用對記憶體胞磨損及儲存輸貫量的影響尤為強烈。
通常,處理器48配置一或多個區塊30以充當SLC區域34中之備用區塊,且配置一或多個區塊30以充當MLC區域36中之備用區塊。每一備用區塊在其各別區域(SLC或MLC)中使用,例如,作為用於替換在使用期間變得有故障之區塊或用於增大過度供給比率及因此改良壓實過程之效率的候選者。
SLC區域及MLC區域中之備用區塊的有效率配置記憶體控制器40可配置任何所要的數目個區塊30以充當SLC區域34或MLC區域36中的備用區塊。此外,記憶體控制器可將資料自一個區域複製至另一區域以便以另一區域為代價來增加一個區域中的備用區塊之數目。
在本發明之一些實施例中,記憶體控制器40以僅維持MLC區域中之最小數目個備用區塊為代價來在SLC區域中配置大量備用區塊。此種配置顯著改良SLC區域之效能。如上文所指出,SLC區域通常顯著小於MLC區域。因此,藉由配置SLC區域中之額外備用區塊所達成的效能增益通常比藉由自MLC區域移除此等備用區塊所引起的效能降級大得多。
考慮(例如)被分割為具有2,000個區塊之指定大小及二十個額外備用區塊的2位元/記憶體胞MLC區域及具有五十個區塊之1位元/記憶體胞SLC區域的一記憶體。比較而言,考慮二十個備用區塊中之十九個區塊被重新配置至SLC區域的情形,其意謂MLC區域僅具有單個備用區塊,而SLC區域具有六十九個(而非五十個)備用區塊。此重新配置意謂在SLC區域中的備用區塊之數目增加大致40%--提供顯著效能改良之增加。MLC區域中之單個備用區塊仍使記憶體控制器能夠進行區塊壓實,但有可能效率降低。
實務上,MLC區域36中之一些記憶體區塊可隨時間的過去而變得有故障(「壞區塊」)。當記憶體控制器40偵測到一記憶體區塊有故障時,其用備用區塊替換此區塊。當MLC區域僅配置有最小數目個備用記憶體區塊(例如,如在以上實例中的單個備用區塊)時,可皆在某一時刻使用MLC區域中之備用區塊。在此狀況下,可用於儲存使用者資料之記憶體空間可降到指定大小以下。
因此,在一些實施例中,在偵測到MLC區域中的備用區塊之數目下降到某一最小值以下後,記憶體控制器中之處理器48將資料自MLC區域36複製至SLC區域34以便釋放MLC區域中之額外備用區塊。在一些實施例中,處理器48將MLC區域中的備用區塊之數目維持於不大於某一上限。此等機制適應性地維持MLC區域中之足夠數目個備用區塊,而同時將最高可能之數目個備用區塊配置至SLC區域。
處理器48可使用任何合適之技術來偵測MLC區域中之有故障之區塊(例如,藉由偵測未能抹除之區塊或未能正確地程式化資料之區塊)。
圖2為根據本發明之一實施例的示意性說明用於管理記憶體區塊之方法之流程圖。該方法開始於在初始配置步驟60處,記憶體控制器40中之處理器48將備用記憶體區塊配置至SLC區域及MLC區域。處理器48配置一或多個區塊以充當SLC區域34中之備用區塊,且配置一或多個區塊以充當MLC區域36中之備用區塊。如上文所解釋,處理器48通常在SLC區域中配置儘可能多的備用區塊,且在MLC區域中僅配置某最小數目個備用區塊。
在儲存步驟64處,處理器48將資料儲存於SLC區域及MLC區域中。特定儲存過程可隨實施例不同而不同,例如,視SLC區域之功能性(例如,二進位快取,或用於敏感及頻繁更新之資料的儲存空間)而定。通常,處理器48進行廢棄項目收集且使用配置給每一區域之備用區塊來獨立地替換在SLC區域及MLC區域中之每一者內的壞區塊。
在操作期間,在壞區塊檢查步驟68處,處理器48檢查一新的有故障之區塊是否存在於MLC區域36中。若未偵測到新的壞區塊,則方法循環返回至上文之步驟64,其中系統20繼續儲存資料。
若在MLC區域中偵測到新的有故障之區塊,則在備用區塊檢查步驟72處,處理器48檢查MLC區域中是否有一備用區塊可用。若在MLC區域中有一備用區塊可用,則在替換 步驟76處,處理器48用一備用區塊替換有故障之區塊。方法接著循環返回至上文之步驟64。
另一方面,若在MLC區域中不再存在可用之備用區塊,則在備用產生步驟80處,處理器48釋放MLC區域36中之一或多個區塊以充當額外備用區塊。在一實施例中,處理器48將資料自MLC區域36中之一或多個區塊複製至SLC區域34,且接著抹除MLC區塊並指派其充當備用區塊。先前駐留於此等MLC區塊中之資料現儲存於SLC區域中,且可在請求時自此替代性位置擷取。由於SLC區域中之較小儲存密度,因此通常將來自一給定MLC區塊之資料複製至兩個或兩個以上之SLC區塊。處理器48可接著在步驟76處用新近指派之備用區塊替換有故障之區塊,且方法循環返回至上文之步驟64。
圖2之方法為一實例方法,其純粹係出於概念清晰起見而選取。在替代實施例中,亦可使用其他合適之方法。舉例而言,在圖2之方法中,當MLC區域中之可用備用區塊的數目下降到零(亦即,不再有備用區塊可用)時,在MLC區域中創造新的備用區塊。在替代實施例中,當MLC區域中的備用區塊之數目下降到任何其他合適之臨限值以下時,可起始該過程。以上之過程可用以在MLC區域中創造任何合適之數目個新備用區塊。
作為另一實例,在圖2之方法中,回應於偵測到MLC區域中之壞區塊而創造一新的備用MLC區塊。在替代實施例中,可回應於其他事件或週期性地在需要時創造新的備用 區塊。舉例而言,處理器48可執行檢查MLC區域中的備用區塊之數目是否在准許之最小數目以下之後台任務。若MLC區域中的備用區塊之數目過低,則處理器48可藉由將資料複製至SLC區域來產生一或多個新的備用MLC區塊。
處理器48可使用各種方法及準則來選擇將哪一MLC區塊釋放並轉換至備用區塊。在一實例實施例中,處理器48選取具有最小量之有效資料的區塊(通常減少用於釋放區塊所需之複製操作之數目的準則)。在另一實施例中,處理器48選取其有效資料被分段為最小數目個片段的區塊(通常減小SLC區域之虛擬至實體位址映射之大小的準則)。在又一實施例中,處理器48選取資料最近被作廢(例如,作為在MLC區域中在壓實期間複製資料之結果)的區塊。另外替代地,處理器48可使用任何其他合適之準則來選取供轉換至備用區塊的MLC區塊。
用於在SLC區域中選擇供壓實之區塊的準則
在一些實施例中,記憶體控制器40中之處理器48在SLC區域34中執行壓實(「廢棄項目收集」)過程。壓實過程選擇區域34中之含有有效資料及無效資料兩者的一或多個區塊30,將有效資料複製至其他儲存位置(在SLC區域34中及/或在MLC區域36中),且接著抹除該等區塊。
任何區塊壓實操作涉及將某一量之資料自一位置複製至另一位置。當選擇供壓實之候選區塊時,選擇其壓實將涉及僅複製少量資料的區塊通常較佳。此種選擇幫助增加記憶體輸貫量及耐久性。另一考慮為候選者選擇過程中所涉 及的管理耗用。
在本發明之一些實施例中,處理器48將SLC區域中之(一或多個)最舊區塊選擇作為供壓實之候選者。換言之,處理器48選擇SLC區域中之包含最久遠程式化之資料的一或多個區塊。術語「最久遠程式化之資料」指資料被寫入的時間,而不管此寫入操作是自主機接收之新資料的結果或是內部複製(例如,壓實)操作的結果。
選擇供壓實之最舊區塊使記憶體控制器能夠壓實(具有高度可能性)在不久的將來將不被更新的區塊。此外,可以快速且直接之方式來實施此選擇準則,此係因為其並不視區塊中的有效資料之量而定。為了使用此準則,記憶體控制器無需評估或追蹤每區塊之有效或無效資料的量。
圖3為根據本發明之一實施例的示意性說明用於管理記憶體區塊之方法之流程圖。圖之左側展示儲存過程,而圖之右側展示區塊選擇及壓實過程。該兩個過程通常由記憶體控制器並行實施。
儲存過程開始於在輸入步驟90處,記憶體控制器40中之處理器48接受來自主機52之供儲存的資料。在快取步驟94處,處理器48快取SLC區域34中之資料。在一稍後時間點,在轉移步驟98處,記憶體控制器轉移來自SLC區域之資料以用於長期儲存於MLC區域36中。
選擇及壓實過程開始於在最舊區塊識別步驟100處,處理器48識別SLC區域中之一或多個最舊區塊。將該最舊區塊定義為SLC區域中含有最久遠寫入之資料的區塊。在壓 實步驟104處,處理器48接著壓實該一或多個所識別之區塊。壓實可包含將有效資料自該一或多個識別之最舊區塊複製至新位置(在SLC區域中抑或在MLC區域中)。該等最舊區塊接著經抹除且準備用於新的程式化。
在替代實施例中,記憶體控制器40使用邏輯至實體位址映射方案而將資料儲存於記憶體器件24中。在此等實施例中,由主機52使用邏輯位址來定址資料,且記憶體控制器將邏輯位址轉譯為器件24中之實體儲存位置。當將資料自一個實體儲存位置移動至另一實體儲存位置時(例如,在壓實期間),記憶體控制器更新映射至所移動資料之邏輯位址的實體儲存位置。
通常在某一大小之映射單元上定義記憶體控制器之邏輯至實體位址映射方案。換言之,映射單元為定義及執行映射之基本粒度。映射單元大小可包含(例如)單個區塊或一個以上區塊。
在一實例實施例中,將SLC區域用於資料快取,將MLC區域用於長期資料儲存,且處理器48進行基於區塊之快閃記憶體轉譯層(FTL),該FTL根據以下策略而在SLC區域中執行壓實:
■選擇供壓實之SLC區塊。
■將資料中之至少一些自該選定SLC區塊複製至此資料在MLC區域中之目標邏輯位址。此操作可涉及將額外資料自SLC區域中之其他區塊複製至MLC區域,此係因為選定MLC區塊中之資料可屬於全體應 被複製至MLC區域之映射單元(此實例中之邏輯MLC區塊)。
■將選定區塊中之其餘資料複製至SLC區域中之一替代位置(例如,開放性區塊)。
在一些實施例中,記憶體控制器40中之處理器48藉由考慮MLC區域中之壓實將招致的寫入操作之數目來選擇SLC區域34中之供壓實的候選區塊。例如,當將資料自選定區塊複製至MLC區域時以及當將資料自其他SLC區塊(屬於與自選定SLC區塊複製之資料相同的映射單元)複製至MLC區域時,將發生此等寫入操作。處理器48通常選擇其壓實將引起MLC區域中之少量(例如,最小可能數目)寫入操作的SLC區塊。由於MLC寫入操作就延時而言係佔優勢的,因此此種選擇準則增加了SLC壓實過程之效率。
在一些實施例中,處理器48向SLC區域中之每一區塊指派一各別得分,該各別得分與SLC區塊之壓實將招致的MLC寫入操作之數目逆相關。在此等實施例中,處理器48在選取供壓實之SLC區塊方面偏愛具有高得分之區塊。
處理器48可使用任何合適之方法來估計MLC區域中將由壓實一給定之SLC區塊引起的寫入操作之數目。在一些實施例中,該估計將考慮SLC區塊中之資料所屬的映射單元之數目。因此,在一些實施例中,處理器48藉由不僅考慮區塊中之有效資料的量且亦考慮有效資料所屬之映射單元的數目來選擇SLC區域34中之供壓實的候選區塊。例如,考慮包含相同量之有效資料的兩個區塊。然而,在一個區 塊中,所有有效資料屬於單個映射單元,而在另一區塊中,有效資料屬於多個映射單元。
當執行壓實時,按映射單元細微度而將有效資料自壓實之區塊複製至另一儲存位置。因此,若有效資料屬於大量映射單元,則將必須複製大量資料。為此,壓實其有效資料屬於少量映射單元的區塊通常較佳。
在一些實施例中,處理器48使用一準則來選擇SLC區域中之供壓實的候選區塊,該準則考量區塊中之有效資料所屬之映射單元的數目。其有效資料屬於少量映射單元的區塊對於壓實而言將通常係較佳的,且反之亦然。具有少量有效資料之區塊對於壓實而言將通常係較佳的,且反之亦然。在一些實施例中,處理器48向SLC區域中之每一區塊指派一各別得分,該各別得分與區塊中之有效資料的量逆相關且亦與區塊中之有效資料所屬的映射單元之數目逆相關。在此等實施例中,處理器48在選取供壓實之區塊方面偏愛具有高得分之區塊。
圖4為根據本發明之一實施例的示意性說明用於管理記憶體區塊之方法之流程圖。圖之左側展示儲存過程,而圖之右側展示區塊選擇及壓實過程。該兩個過程通常由記憶體控制器40並行執行。
儲存過程開始於在資料輸入步驟110處,記憶體控制器40中之處理器48接受來自主機52之供儲存的資料。該資料由主機定址以用於儲存於某一邏輯位址中。在資料快取步驟114處,處理器48快取SLC區域34中之資料。在位址轉譯 步驟118處,處理器48根據邏輯至實體位址映射來判定MLC區域36中之資料的實體儲存位置。在資料轉移步驟122處,處理器48接著將資料自SLC區域轉移至MLC區域中之適當的實體儲存位置。
選擇及壓實過程開始於在選擇步驟126處,處理器48選擇供壓實之一或多個候選區塊。處理器48基於該候選區塊之壓實將招致的MLC寫入操作(例如,自SLC複製至MLC)的數目來選擇每一候選區塊。通常,偏愛其壓實招致MLC區域中之少量寫入操作的SLC區塊。在一些實施例中,處理器48針對每一區塊計算量化其針對壓實之吸引力的一量度。在區塊壓實步驟130處,處理器48接著壓實一或多個選定候選區塊。
雖然本文中所描述之實施例主要地提出包含SLC記憶體及MLC記憶體之記憶體系統,但本文中所描述之方法及系統亦可用於其他應用中(諸如,用於包含具有不同階層架構及儲存密度之記憶體的其他類型之記憶體系統中)。
應瞭解,上文所描述之實施例借助於實例而引證,且本發明並不限於上文已特定展示及描述之內容。相反地,本發明之範疇包括上文所描述之各種特徵的組合及子組合兩者以及熟習此項技術者將在閱讀了上述描述後將想起且未在先前技術中揭示的其變化及修改。除了就按與本說明書中明確地或含蓄地作出之定義相衝突的方式在此等併入之文件中定義任何術語而言應僅考慮本說明書中的定義之外,以引用之方式併入本專利申請案中的文件應被視為申 請案之完整部分。
20‧‧‧記憶體系統
24‧‧‧記憶體器件
28‧‧‧記憶體胞陣列
30‧‧‧記憶體區塊
34‧‧‧單位階記憶體胞(SLC)區域
36‧‧‧讀取/寫入(R/W)單元
36‧‧‧多位階記憶體胞(MLC)區域
40‧‧‧記憶體控制器
44‧‧‧介面
48‧‧‧處理器
52‧‧‧主機
圖1為根據本發明之一實施例的示意性說明一記憶體系統之方塊圖;及圖2至圖4為根據本發明之實施例的示意性說明用於管理記憶體區塊之方法之流程圖。
20‧‧‧記憶體系統
24‧‧‧記憶體器件
28‧‧‧記憶體胞陣列
30‧‧‧記憶體區塊
34‧‧‧單位階記憶體胞(SLC)區域
36‧‧‧讀取/寫入(R/W)單元
36‧‧‧多位階記憶體胞(MLC)區域
40‧‧‧記憶體控制器
44‧‧‧介面
48‧‧‧處理器
52‧‧‧主機

Claims (20)

  1. 一種用於資料儲存之方法,其包含:將資料儲存於一記憶體中,該記憶體包含按區塊排列之多個記憶體胞,其中該等區塊之一第一子集經定義用於以一第一儲存密度來儲存第一資料,且該等區塊之一第二子集經定義用於以大於該第一儲存密度之一第二儲存密度來儲存第二資料;在該等區塊之該第一子集及該等區塊之該第二子集之每一者中配置一或多個區塊以充當備用區塊,其中該等區塊之該第一子集中備用區塊之一總數目大於該等區塊之該第二子集中備用區塊之一總數目;且用該等備用區塊替換變得有故障之區塊;及在偵測到該等區塊之該第二子集中的該等備用區塊之該總數目已減少至一預定義之臨限值以下後,將資料自該等區塊之該第二子集中之至少一區塊複製至該等區塊之該第一子集,且將該等區塊之該第二子集中的該至少一區塊添加至該等區塊之該第二子集中之該等備用區塊。
  2. 如請求項1之方法,其中儲存該資料包含:使用每記憶體胞第一數目個程式化位準來程式化該第一子集中之該等記憶體胞,及使用每記憶體胞第二數目個程式化位準來程式化該第二子集中之該等記憶體胞,該第二數目大於該第一數目。
  3. 如請求項1之方法,其中該第一儲存密度包含每記憶體 胞一個位元。
  4. 如請求項1之方法,其中複製該資料及添加該至少一個區塊包含:將該第二子集中的該等備用區塊之該數目維持於不大於一預定義之上限。
  5. 一種資料儲存裝置,其包含:一介面,其經組態以與一記憶體通信,該記憶體包括按區塊排列之多個記憶體胞,其中該等區塊之一第一子集經定義用於以一第一儲存密度來儲存第一資料,且該等區塊之一第二子集經定義用於以大於該第一儲存密度之一第二儲存密度來儲存第二資料;及一處理器,其經組態以:在該第一子集及該第二子集中之每一者中配置該等區塊之一或多者以充當備用區塊,其中該第一子集中備用區塊之一總數目大於該第二子集中備用區塊之一總數目;用該等備用區塊替換變得有故障之區塊;回應於偵測到該第二子集中的該等備用區塊之一數目已減少至一預定義之臨限值以下,將資料自該第二子集中之至少一區塊複製至該第一子集中之至少一區塊;且將該第二子集中的該至少一區塊添加至該第二子集中之該等備用區塊。
  6. 如請求項5之裝置,其中該處理器經組態以使用每記憶體胞第一數目個程式化位準來程式化該第一子集中之該等記憶體胞,及使用每記憶體胞第二數目個程式化位準 來程式化該第二子集中之該等記憶體胞,該第二數目大於該第一數目。
  7. 如請求項5之裝置,其中該第一儲存密度包含每記憶體胞一個位元。
  8. 如請求項5之裝置,其中該處理器經組態以將該第二子集中的該等備用區塊之該數目維持於不大於一預定義之上限。
  9. 如請求項8之裝置,其中該上限包含一單個備用區塊。
  10. 如請求項5之裝置,其中該處理器經組態以在該第一子集中進行一區塊壓實過程,該區塊壓實過程將該第一子集中之該等備用區塊用作過度供給耗用。
  11. 如請求項5之裝置,其中該處理器經組態以根據一預定義之選擇準則來選擇該第二子集中之該至少一區塊。
  12. 一種用於資料儲存之方法,其包含:執行一壓實過程,該壓實過程包括:於包括複數個區塊之一記憶體之一第一區域中,選擇含有有效資料及無效資料兩者之該複數個區塊中的一或多個區塊,其中該無效資料包括較新之值已被程式化於其他記憶體位置中之資料;將該有效資料自該一或多個選定區塊複製至其他儲存位置;抹除該一或多個選定區塊;在該記憶體之一給定區域內,識別含有在儲存於該給定區域中之該有效資料當中的一最久遠程式化之有效資 料的一區塊;及將該所識別之區塊選擇作為用於該壓實過程之一候選者。
  13. 如請求項12之方法,其中執行該區塊之識別及選擇,而不管該區塊中的該有效資料之一量。
  14. 一種資料儲存裝置,其包含:一介面,其經組態以與包括多個區塊之一記憶體通信;及一處理器,其經組態以:執行一壓實過程,其中於執行該實壓過程時,該處理器進一步經組態以:選擇含有有效資料及無效資料兩者之該多個區塊中的一或多個區塊,其中該無效資料包括較新之值已被程式化於其他記憶體位置中之資料;將該有效資料自該一或多個選定區塊複製至其他儲存位置;抹除該一或多個選定區塊;在該記憶體之一給定區域內,識別含有在儲存於該給定區域中之該有效資料當中的一最久遠程式化之有效資料的一區塊;及將該所識別之區塊選擇作為用於該壓實過程之一候選者。
  15. 如請求項14之裝置,其中該處理器經組態以識別且選擇該區塊,而不管該區塊中的該有效資料之一量。
  16. 一種用於資料儲存之方法,其包含:執行一壓實過程,該壓實過程包括:在包括複數個區塊之一記憶體之一第一區域中選擇含有有效資料及無效資料兩者之該複數個區塊中的一或多個區塊,其中該無效資料包括較新之值已被程式化於其他記憶體位置中之資料;將該有效資料自該一或多個選定區塊複製至該記憶體中之其他儲存位置;抹除該一或多個選定區塊;及取決於該第二區域中之寫入操作的一數目而在該第一區域中將一區塊選擇作為用於該壓實過程之一候選者,該等寫入操作將由該候選區塊之壓實招致。
  17. 如請求項16之方法,其中根據一邏輯至實體位址映射將該資料儲存於該第二區域中,該邏輯至實體位址映射將實體儲存位置指派至各別邏輯映射單元,該等邏輯映射單元中之每一者包含至少一區塊,且其中選擇該區塊包含基於該區塊中之該有效資料所屬的該等邏輯映射單元之一數目來選取該區塊。
  18. 一種資料儲存裝置,其包含:一介面,其經組態以與一記憶體通信,該記憶體包括多個區塊且被劃分為一第一區域及一第二區域;及一處理器,其經組態以:執行一壓實過程,其中於執行該壓實過程時,該處理器進一步經組態以: 在該第一區域中選擇含有有效資料及無效資料兩者之一或多個區塊;將該有效資料自該一或多個選定區塊複製至該記憶體中之其他儲存位置;抹除該一或多個選定區塊;且取決於該第二區域中之寫入操作的一數目而在該第一區域中將一區塊選擇作為用於該壓實過程之一候選者,該等寫入操作將由該候選區塊之壓實招致。
  19. 如請求項18之裝置,其中該處理器經組態以根據一邏輯至實體位址映射將該資料儲存於該第二區域中,該邏輯至實體位址映射將實體儲存位置指派至各別邏輯映射單元,該等邏輯映射單元中之每一者包含至少一區塊;及基於該區塊中之該有效資料所屬的該等邏輯映射單元之一數目來選擇該區塊。
  20. 如請求項18之裝置,其中該處理器經組態以將各別得分指派至該第一區域中之該等區塊,該等各別得分與該第二區域中之將由該等區塊之壓實招致的該等寫入操作之各別數目逆相關;及在選取用於該壓實過程之該區塊方面將高優先權給予具有高得分之該等區塊。
TW101121635A 2011-06-15 2012-06-15 資料儲存裝置及用於資料儲存之方法 TWI463315B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161497074P 2011-06-15 2011-06-15
US13/355,536 US8886990B2 (en) 2011-01-27 2012-01-22 Block management schemes in hybrid SLC/MLC memory

Publications (2)

Publication Number Publication Date
TW201308077A TW201308077A (zh) 2013-02-16
TWI463315B true TWI463315B (zh) 2014-12-01

Family

ID=47357726

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101121635A TWI463315B (zh) 2011-06-15 2012-06-15 資料儲存裝置及用於資料儲存之方法

Country Status (7)

Country Link
US (1) US8886990B2 (zh)
EP (1) EP2565792B1 (zh)
JP (1) JP5674999B2 (zh)
KR (1) KR101551584B1 (zh)
CN (1) CN103688247B (zh)
TW (1) TWI463315B (zh)
WO (1) WO2012174216A2 (zh)

Families Citing this family (184)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009095902A2 (en) 2008-01-31 2009-08-06 Densbits Technologies Ltd. Systems and methods for handling immediate data errors in flash memory
US8694715B2 (en) 2007-10-22 2014-04-08 Densbits Technologies Ltd. Methods for adaptively programming flash memory devices and flash memory systems incorporating same
US8453022B2 (en) 2007-12-05 2013-05-28 Densbits Technologies Ltd. Apparatus and methods for generating row-specific reading thresholds in flash memory
WO2009074978A2 (en) 2007-12-12 2009-06-18 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
WO2009118720A2 (en) 2008-03-25 2009-10-01 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
US8819385B2 (en) 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
US8458574B2 (en) 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
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
US9330767B1 (en) 2009-08-26 2016-05-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory module and method for programming a page of flash memory cells
US8730729B2 (en) 2009-10-15 2014-05-20 Densbits Technologies Ltd. Systems and methods for averaging error rates in non-volatile devices and storage systems
US8724387B2 (en) 2009-10-22 2014-05-13 Densbits Technologies Ltd. Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages
US9037777B2 (en) 2009-12-22 2015-05-19 Densbits Technologies Ltd. Device, system, and method for reducing program/read disturb in flash arrays
US8443153B1 (en) 2010-01-06 2013-05-14 Netapp, Inc. Dynamic balancing of performance with block sharing in a storage system
US8745317B2 (en) 2010-04-07 2014-06-03 Densbits Technologies Ltd. System and method for storing information in a multi-level cell memory
US9021177B2 (en) * 2010-04-29 2015-04-28 Densbits Technologies Ltd. System and method for allocating and using spare blocks in a flash memory
US8621321B2 (en) 2010-07-01 2013-12-31 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
US8964464B2 (en) 2010-08-24 2015-02-24 Densbits Technologies Ltd. System and method for accelerated sampling
US9063878B2 (en) 2010-11-03 2015-06-23 Densbits Technologies Ltd. Method, system and computer readable medium for copy back
US8850100B2 (en) 2010-12-07 2014-09-30 Densbits Technologies Ltd. Interleaving codeword portions between multiple planes and/or dies of a flash memory device
US8990665B1 (en) 2011-04-06 2015-03-24 Densbits Technologies Ltd. System, method and computer program product for joint search of a read threshold and soft decoding
US8732518B2 (en) 2011-04-13 2014-05-20 Netapp, Inc. Reliability based data allocation and recovery in a storage system
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies Ltd. Advanced management of a non-volatile memory
US9110785B1 (en) 2011-05-12 2015-08-18 Densbits Technologies Ltd. Ordered merge of data sectors that belong to memory space portions
US9396106B2 (en) 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US8996790B1 (en) 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US9501392B1 (en) 2011-05-12 2016-11-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of a non-volatile memory module
US9372792B1 (en) 2011-05-12 2016-06-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
KR101893145B1 (ko) 2011-12-06 2018-10-05 삼성전자주식회사 메모리 시스템들 및 그것들의 블록 복사 방법들
US8947941B2 (en) 2012-02-09 2015-02-03 Densbits Technologies Ltd. State responsive operations relating to flash memory cells
US8996788B2 (en) 2012-02-09 2015-03-31 Densbits Technologies Ltd. Configurable flash interface
US9965208B1 (en) 2012-02-23 2018-05-08 Micron Technology, Inc. Memory device having a controller to enable and disable mode control circuitry of the controller
US8996793B1 (en) 2012-04-24 2015-03-31 Densbits Technologies Ltd. System, method and computer readable medium for generating soft information
US8838937B1 (en) 2012-05-23 2014-09-16 Densbits Technologies Ltd. Methods, systems and computer readable medium for writing and reading data
US8879325B1 (en) 2012-05-30 2014-11-04 Densbits Technologies Ltd. System, method and computer program product for processing read threshold information and for reading a flash memory module
KR102147359B1 (ko) * 2012-06-29 2020-08-24 삼성전자 주식회사 비휘발성 메모리 장치의 관리 방법 및 비휘발성 메모리 장치
US9921954B1 (en) 2012-08-27 2018-03-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for split flash memory management between host and storage controller
KR102025263B1 (ko) * 2012-10-05 2019-09-25 삼성전자주식회사 메모리 시스템 및 그것의 읽기 교정 방법
US9368225B1 (en) 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
WO2014084837A1 (en) * 2012-11-29 2014-06-05 Hewlett-Packard Development Company, L.P. Memory module including memory resistors
US9141532B2 (en) * 2012-12-26 2015-09-22 Western Digital Technologies, Inc. Dynamic overprovisioning for data storage systems
US9348746B2 (en) 2012-12-31 2016-05-24 Sandisk Technologies Method and system for managing block reclaim operations in a multi-layer memory
US9734050B2 (en) * 2012-12-31 2017-08-15 Sandisk Technologies Llc Method and system for managing background operations in a multi-layer memory
US9223693B2 (en) 2012-12-31 2015-12-29 Sandisk Technologies Inc. Memory system having an unequal number of memory die on different control channels
US9465731B2 (en) 2012-12-31 2016-10-11 Sandisk Technologies Llc Multi-layer non-volatile memory system having multiple partitions in a layer
US9734911B2 (en) 2012-12-31 2017-08-15 Sandisk Technologies Llc Method and system for asynchronous die operations in a non-volatile memory
US9336133B2 (en) 2012-12-31 2016-05-10 Sandisk Technologies Inc. Method and system for managing program cycles including maintenance programming operations in a multi-layer memory
US9069659B1 (en) 2013-01-03 2015-06-30 Densbits Technologies Ltd. Read threshold determination using reference read threshold
US8954655B2 (en) 2013-01-14 2015-02-10 Western Digital Technologies, Inc. Systems and methods of configuring a mode of operation in a solid-state memory
US10102028B2 (en) 2013-03-12 2018-10-16 Sas Institute Inc. Delivery acknowledgment in event stream processing
US9489148B2 (en) 2013-03-13 2016-11-08 Seagate Technology Llc Selecting between non-volatile memory units having different minimum addressable data unit sizes
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
US20150006784A1 (en) 2013-06-27 2015-01-01 Sandisk Technologies Inc. Efficient Post Write Read in Three Dimensional Nonvolatile Memory
US9063671B2 (en) 2013-07-02 2015-06-23 Sandisk Technologies Inc. Write operations with full sequence programming for defect management in nonvolatile memory
US9218242B2 (en) 2013-07-02 2015-12-22 Sandisk Technologies Inc. Write operations for defect management in nonvolatile memory
TWI502591B (zh) * 2013-08-05 2015-10-01 Silicon Motion Inc 用來管理一記憶裝置之方法以及記憶裝置與控制器
CN104346288B (zh) 2013-08-05 2017-07-28 慧荣科技股份有限公司 用来管理一记忆装置的方法以及记忆装置与控制器
CN104346292B (zh) 2013-08-05 2017-10-24 慧荣科技股份有限公司 用来管理一记忆装置的方法、记忆装置与控制器
WO2015018044A1 (en) 2013-08-08 2015-02-12 Telefonaktiebolaget L M Ericsson (Publ) Methods and devices for random access
US9442670B2 (en) * 2013-09-03 2016-09-13 Sandisk Technologies Llc Method and system for rebalancing data stored in flash memory devices
US9519577B2 (en) * 2013-09-03 2016-12-13 Sandisk Technologies Llc Method and system for migrating data between flash memory devices
US9413491B1 (en) 2013-10-08 2016-08-09 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for multiple dimension decoding and encoding a message
US9348694B1 (en) 2013-10-09 2016-05-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9786388B1 (en) 2013-10-09 2017-10-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9397706B1 (en) 2013-10-09 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for irregular multiple dimension decoding and encoding
US9043537B1 (en) 2013-11-21 2015-05-26 Sandisk Technologies Inc. Update block programming order
US9058881B1 (en) 2013-12-05 2015-06-16 Sandisk Technologies Inc. Systems and methods for partial page programming of multi level cells
US9244631B2 (en) 2013-12-06 2016-01-26 Sandisk Technologies Inc. Lower page only host burst writes
US9460815B2 (en) * 2013-12-30 2016-10-04 Sandisk Technologies Llc Reusing partial bad blocks in NAND memory
US9536612B1 (en) 2014-01-23 2017-01-03 Avago Technologies General Ip (Singapore) Pte. Ltd Digital signaling processing for three dimensional flash memory arrays
US10120792B1 (en) 2014-01-29 2018-11-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Programming an embedded flash storage device
US20150261444A1 (en) * 2014-03-12 2015-09-17 Kabushiki Kaisha Toshiba Memory system and information processing device
US8902652B1 (en) 2014-05-13 2014-12-02 Sandisk Technologies Inc. Systems and methods for lower page writes
US8886877B1 (en) 2014-05-15 2014-11-11 Sandisk Technologies Inc. In-situ block folding for nonvolatile memory
US9542262B1 (en) 2014-05-29 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Error correction
US9645749B2 (en) 2014-05-30 2017-05-09 Sandisk Technologies Llc Method and system for recharacterizing the storage density of a memory device or a portion thereof
US8891303B1 (en) 2014-05-30 2014-11-18 Sandisk Technologies Inc. Method and system for dynamic word line based configuration of a three-dimensional memory device
US9122651B1 (en) 2014-06-06 2015-09-01 Sas Institute Inc. Computer system to support failover in an event stream processing system
US9892033B1 (en) 2014-06-24 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of memory units
US9972393B1 (en) 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US9584159B1 (en) 2014-07-03 2017-02-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Interleaved encoding
US9449702B1 (en) 2014-07-08 2016-09-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management
US9356986B2 (en) * 2014-08-08 2016-05-31 Sas Institute Inc. Distributed stream processing
US9582203B2 (en) 2014-09-02 2017-02-28 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by reducing a range of logical addresses
US9582220B2 (en) 2014-09-02 2017-02-28 Sandisk Technologies Llc Notification of trigger condition to reduce declared capacity of a storage device in a multi-storage-device storage system
US9524105B2 (en) 2014-09-02 2016-12-20 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by altering an encoding format
US9552166B2 (en) 2014-09-02 2017-01-24 Sandisk Technologies Llc. Process and apparatus to reduce declared capacity of a storage device by deleting data
US9524112B2 (en) 2014-09-02 2016-12-20 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by trimming
US9652153B2 (en) 2014-09-02 2017-05-16 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by reducing a count of logical addresses
US9158681B1 (en) * 2014-09-02 2015-10-13 Sandisk Technologies Inc. Process and apparatus to reduce declared capacity of a storage device by conditionally trimming
US9582212B2 (en) * 2014-09-02 2017-02-28 Sandisk Technologies Llc Notification of trigger condition to reduce declared capacity of a storage device
US9582202B2 (en) * 2014-09-02 2017-02-28 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by moving data
US9563370B2 (en) 2014-09-02 2017-02-07 Sandisk Technologies Llc Triggering a process to reduce declared capacity of a storage device
US9563362B2 (en) 2014-09-02 2017-02-07 Sandisk Technologies Llc Host system and process to reduce declared capacity of a storage device by trimming
US9519427B2 (en) 2014-09-02 2016-12-13 Sandisk Technologies Llc Triggering, at a host system, a process to reduce declared capacity of a storage device
US9665311B2 (en) 2014-09-02 2017-05-30 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by making specific logical addresses unavailable
US9582193B2 (en) * 2014-09-02 2017-02-28 Sandisk Technologies Llc Triggering a process to reduce declared capacity of a storage device in a multi-storage-device storage system
CN105426113B (zh) * 2014-09-05 2018-11-02 群联电子股份有限公司 存储器管理方法、存储器存储装置及存储器控制电路单元
US9600420B2 (en) * 2014-10-29 2017-03-21 Qualcomm Incorporated Reducing decompression time without impacting compression ratio
US9524211B1 (en) 2014-11-18 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Codeword management
US9632705B2 (en) 2014-12-17 2017-04-25 Sandisk Technologies Llc System and method for adaptive memory layers in a memory device
US9690491B2 (en) * 2014-12-17 2017-06-27 Sandisk Technologies Llc System and method for managing data in a memory device
KR102295208B1 (ko) 2014-12-19 2021-09-01 삼성전자주식회사 프로그램 영역을 동적으로 할당하는 저장 장치 및 그것의 프로그램 방법
CN105843748B (zh) * 2015-01-15 2019-06-11 华为技术有限公司 一种对内存中内存页的处理方法及装置
CN109783017B (zh) * 2015-01-27 2021-05-18 华为技术有限公司 一种存储设备坏块的处理方法、装置及存储设备
US10305515B1 (en) 2015-02-02 2019-05-28 Avago Technologies International Sales Pte. Limited System and method for encoding using multiple linear feedback shift registers
US10008250B2 (en) * 2015-03-27 2018-06-26 Intel Corporation Single level cell write buffering for multiple level cell non-volatile memory
US9606737B2 (en) 2015-05-20 2017-03-28 Sandisk Technologies Llc Variable bit encoding per NAND flash cell to extend life of flash-based storage devices and preserve over-provisioning
US9639282B2 (en) 2015-05-20 2017-05-02 Sandisk Technologies Llc Variable bit encoding per NAND flash cell to improve device endurance and extend life of flash-based storage devices
US10628255B1 (en) 2015-06-11 2020-04-21 Avago Technologies International Sales Pte. Limited Multi-dimensional decoding
US9851921B1 (en) 2015-07-05 2017-12-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory chip processing
TWI569139B (zh) * 2015-08-07 2017-02-01 群聯電子股份有限公司 有效資料合併方法、記憶體控制器與記憶體儲存裝置
JP6456795B2 (ja) * 2015-08-28 2019-01-23 京セラ株式会社 電子機器
US9858009B2 (en) 2015-10-26 2018-01-02 Sandisk Technologies Llc Data folding in 3D nonvolatile memory
US9548105B1 (en) * 2015-10-29 2017-01-17 Sandisk Technologies Llc Enhanced post-write read for 3-D memory
US10042553B2 (en) 2015-10-30 2018-08-07 Sandisk Technologies Llc Method and system for programming a multi-layer non-volatile memory having a single fold data path
US10133490B2 (en) 2015-10-30 2018-11-20 Sandisk Technologies Llc System and method for managing extended maintenance scheduling in a non-volatile memory
US10120613B2 (en) 2015-10-30 2018-11-06 Sandisk Technologies Llc System and method for rescheduling host and maintenance operations in a non-volatile memory
US9778855B2 (en) 2015-10-30 2017-10-03 Sandisk Technologies Llc System and method for precision interleaving of data writes in a non-volatile memory
CN106649136B (zh) * 2015-11-03 2022-09-23 西安中兴新软件有限责任公司 一种数据存储方法和存储装置
US9946473B2 (en) 2015-12-03 2018-04-17 Sandisk Technologies Llc Efficiently managing unmapped blocks to extend life of solid state drive
US9946483B2 (en) 2015-12-03 2018-04-17 Sandisk Technologies Llc Efficiently managing unmapped blocks to extend life of solid state drive with low over-provisioning
US9569143B1 (en) 2015-12-11 2017-02-14 Sandisk Technologies Llc In block data folding for 3D non-volatile storage
US9954558B1 (en) 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
US20170271030A1 (en) * 2016-03-18 2017-09-21 Alibaba Group Holding Limited Method and system for using downgraded flash die for cache applications
US10162561B2 (en) * 2016-03-21 2018-12-25 Apple Inc. Managing backup of logical-to-physical translation information to control boot-time and write amplification
TWI603193B (zh) * 2016-03-31 2017-10-21 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
TWI614605B (zh) * 2016-03-31 2018-02-11 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
KR102550343B1 (ko) 2016-07-27 2023-07-03 삼성전자주식회사 솔리드 스테이트 드라이브 장치 및 그것의 동작 방법
KR101884913B1 (ko) * 2016-08-09 2018-08-02 고려대학교 산학협력단 별도의 가상 영역으로 관리되는 복수의 정보 저장 테이블을 가지는 메모리 장치 및 그의 제어 방법
US9940052B2 (en) * 2016-09-14 2018-04-10 Micron Technology, Inc. Memory device configuration commands
KR20180045087A (ko) 2016-10-24 2018-05-04 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
JP6730604B2 (ja) * 2016-11-01 2020-07-29 富士通株式会社 制御回路、半導体記憶装置、及び半導体記憶装置の制御方法
US11288017B2 (en) 2017-02-23 2022-03-29 Smart IOPS, Inc. Devices, systems, and methods for storing data using distributed control
US10095626B2 (en) 2017-03-10 2018-10-09 Toshiba Memory Corporation Multibit NAND media using pseudo-SLC caching technique
US10049047B1 (en) 2017-03-10 2018-08-14 Toshiba Memory Corporation Multibit NAND media using pseudo-SLC caching technique
DE102017205274A1 (de) * 2017-03-29 2018-10-04 Robert Bosch Gmbh Verfahren und Vorrichtung zum Aktualisieren eines Programmes
CN107291381B (zh) * 2017-05-18 2020-04-28 记忆科技(深圳)有限公司 一种固态硬盘动态加速区的实现方法及固态硬盘
CN107678684B (zh) * 2017-08-22 2020-11-10 深圳市硅格半导体有限公司 存储器的无效数据清除方法、装置和存储器
US10545685B2 (en) * 2017-08-30 2020-01-28 Micron Technology, Inc. SLC cache management
US10509722B2 (en) 2017-08-31 2019-12-17 Micron Technology, Inc. Memory device with dynamic cache management
CN107527655A (zh) * 2017-09-12 2017-12-29 山东大学 一种闪存存储器混合读写方法及混合读写闪存存储器
TWI644215B (zh) * 2017-11-02 2018-12-11 慧榮科技股份有限公司 用來控制一資料儲存裝置的運作之方法以及資料儲存裝置及其控制器
US11354247B2 (en) 2017-11-10 2022-06-07 Smart IOPS, Inc. Devices, systems, and methods for configuring a storage device with cache
US11163679B2 (en) * 2018-04-04 2021-11-02 SK Hynix Inc. Garbage collection strategy for memory system and method of executing such garbage collection
US11069425B2 (en) * 2018-08-21 2021-07-20 Intel Corporation Multi-level memory repurposing technology to process a request to modify a configuration of a persistent storage media
CN109445681B (zh) * 2018-08-27 2021-05-11 华为技术有限公司 数据的存储方法、装置和存储系统
CN110888820B (zh) * 2018-09-07 2022-01-25 慧荣科技股份有限公司 数据储存装置以及非挥发式存储器控制方法
CN110888593B (zh) 2018-09-07 2024-01-26 慧荣科技股份有限公司 数据储存装置以及非挥发式存储器控制方法
CN110888591B (zh) * 2018-09-07 2023-05-30 慧荣科技股份有限公司 数据储存装置以及非挥发式存储器控制方法
KR102546229B1 (ko) * 2018-10-05 2023-06-22 삼성전자주식회사 리드 리클레임 동작 시에 버퍼 메모리를 이용하는 스토리지 장치
KR102243920B1 (ko) * 2018-10-08 2021-04-22 강원대학교산학협력단 하이브리드 디바이스를 포함하는 비휘발성 메모리 장치 및 그 동작 방법
US11169747B2 (en) 2018-10-30 2021-11-09 Micron Technology, Inc. Relocating data to low latency memory
CN109582248B (zh) * 2018-12-14 2022-02-22 深圳市硅格半导体有限公司 闪存数据的写入方法、装置及计算机可读存储介质
US10896724B2 (en) 2018-12-18 2021-01-19 Western Digital Technologies, Inc. Non-volatile storage system with reduced program transfers
KR20200085513A (ko) 2019-01-07 2020-07-15 에스케이하이닉스 주식회사 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템
CN111562880A (zh) 2019-02-14 2020-08-21 英韧科技(上海)有限公司 一种数据存储装置、系统及数据写入方法
CN111863074B (zh) 2019-04-28 2024-03-01 桑迪士克科技有限责任公司 块中不同字线上的每单元具有不同位的存储器设备
KR20200142219A (ko) 2019-06-12 2020-12-22 삼성전자주식회사 전자 장치 및 그의 저장 공간 이용 방법
US11580030B2 (en) 2019-08-18 2023-02-14 Smart IOPS, Inc. Devices, systems, and methods of logical-to-physical address mapping
US11907114B2 (en) 2019-08-18 2024-02-20 Smart IOPS, Inc. Devices, systems, and methods for dynamically remapping memory addresses
JP7302497B2 (ja) * 2020-02-07 2023-07-04 Tdk株式会社 メモリコントローラ及びフラッシュメモリシステム
US11126548B1 (en) * 2020-03-19 2021-09-21 Micron Technology, Inc. Accelerated in-memory cache with memory array sections having different configurations
CN113515230B (zh) * 2020-04-10 2023-11-14 宏碁股份有限公司 数据写入方法及存储控制器
US11610641B2 (en) 2020-07-09 2023-03-21 SK Hynix Inc. Wafer-yields and write-QoS in flash-based solid state drives
US11416177B2 (en) 2020-08-11 2022-08-16 Micron Technology, Inc. Memory sub-system storage mode control
US11797371B2 (en) 2020-08-18 2023-10-24 Changxin Memory Technologies, Inc. Method and device for determining fail bit repair scheme
US11791010B2 (en) 2020-08-18 2023-10-17 Changxin Memory Technologies, Inc. Method and device for fail bit repairing
US11887685B2 (en) 2020-08-18 2024-01-30 Changxin Memory Technologies, Inc. Fail Bit repair method and device
EP3985675B1 (en) 2020-08-18 2024-01-31 Changxin Memory Technologies, Inc. Method and device for repairing fail bits
CN112463053B (zh) * 2020-11-27 2023-01-06 苏州浪潮智能科技有限公司 一种固态硬盘的数据写入方法和装置
JP2022146531A (ja) 2021-03-22 2022-10-05 キオクシア株式会社 メモリシステム
US11984179B2 (en) 2021-03-26 2024-05-14 Changxin Memory Technologies, Inc. Redundant circuit assigning method and device, and medium
US11791012B2 (en) 2021-03-31 2023-10-17 Changxin Memory Technologies, Inc. Standby circuit dispatch method, apparatus, device and medium
CN112908403B (zh) * 2021-03-31 2022-05-17 长鑫存储技术有限公司 备用电路分派方法、装置、设备及介质
US11881278B2 (en) 2021-03-31 2024-01-23 Changxin Memory Technologies, Inc. Redundant circuit assigning method and device, apparatus and medium
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
TWI811674B (zh) * 2021-05-06 2023-08-11 大陸商北京集創北方科技股份有限公司 快閃記憶體的操作方法、系統單晶片及資訊處理裝置
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory
US11646081B2 (en) 2021-08-03 2023-05-09 Sandisk Technologies Llc Reliability compensation for uneven NAND block degradation
US11960756B2 (en) 2021-12-14 2024-04-16 Micron Technology, Inc. Management of storage space in solid state drives to support proof of space activities
US11941254B2 (en) 2021-12-14 2024-03-26 Micron Technology, Inc. Test memory sub-systems through validation of responses to proof of space challenges
US20230244394A1 (en) * 2022-02-02 2023-08-03 Micron Technology, Inc. Gradually Reclaim Storage Space Occupied by a Proof of Space Plot in a Solid State Drive
US11977742B2 (en) 2022-02-02 2024-05-07 Micron Technology, Inc. Solid state drives configurable to use storage spaces of remote devices in activities involving proof of space
TWI814590B (zh) * 2022-09-26 2023-09-01 慧榮科技股份有限公司 資料處理方法及對應之資料儲存裝置

Citations (6)

* 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
US20080115015A1 (en) * 2006-11-15 2008-05-15 Mitsuru Ikezawa Management of access to storage area of storage system
TW200821909A (en) * 2006-05-18 2008-05-16 Buffalo Inc Data storage device and data storage method
US20090187785A1 (en) * 2003-10-03 2009-07-23 Gonzalez Carlos J Flash Memory Data Correction And Scrub Techniques
US20100172179A1 (en) * 2009-01-05 2010-07-08 Sergey Anatolievich Gorobets Spare Block Management of Non-Volatile Memories
US20110041005A1 (en) * 2009-08-11 2011-02-17 Selinger Robert D Controller and Method for Providing Read Status and Spare Block Management Information in a Flash Memory System

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8060719B2 (en) * 2008-05-28 2011-11-15 Micron Technology, Inc. Hybrid memory management
US8244960B2 (en) * 2009-01-05 2012-08-14 Sandisk Technologies Inc. Non-volatile memory and method with write cache partition management methods
US8291152B2 (en) * 2009-01-07 2012-10-16 Silicon Motion, Inc. Method for operating non-volatile memory and data storage system using the same
JP5066241B2 (ja) * 2010-09-24 2012-11-07 株式会社東芝 メモリシステム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090187785A1 (en) * 2003-10-03 2009-07-23 Gonzalez Carlos J Flash Memory Data Correction And Scrub Techniques
TW200519595A (en) * 2003-12-02 2005-06-16 Hewlett Packard Development Co Data storage system with error correction code and replaceable defective memory
TW200821909A (en) * 2006-05-18 2008-05-16 Buffalo Inc Data storage device and data storage method
US20080115015A1 (en) * 2006-11-15 2008-05-15 Mitsuru Ikezawa Management of access to storage area of storage system
US20100172179A1 (en) * 2009-01-05 2010-07-08 Sergey Anatolievich Gorobets Spare Block Management of Non-Volatile Memories
US20110041005A1 (en) * 2009-08-11 2011-02-17 Selinger Robert D Controller and Method for Providing Read Status and Spare Block Management Information in a Flash Memory System

Also Published As

Publication number Publication date
EP2565792B1 (en) 2015-02-18
JP5674999B2 (ja) 2015-02-25
US8886990B2 (en) 2014-11-11
JP2014517425A (ja) 2014-07-17
TW201308077A (zh) 2013-02-16
WO2012174216A3 (en) 2013-03-14
WO2012174216A2 (en) 2012-12-20
KR101551584B1 (ko) 2015-09-08
CN103688247B (zh) 2016-10-12
CN103688247A (zh) 2014-03-26
KR20140025574A (ko) 2014-03-04
EP2565792A1 (en) 2013-03-06
US20120246391A1 (en) 2012-09-27

Similar Documents

Publication Publication Date Title
TWI463315B (zh) 資料儲存裝置及用於資料儲存之方法
TWI647702B (zh) 記憶體控制器、記憶體系統及於一記憶體中管理資料配置的方法
US10838859B2 (en) Recency based victim block selection for garbage collection in a solid state device (SSD)
US10649661B2 (en) Dynamically resizing logical storage blocks
JP5728672B2 (ja) ハイブリッドメモリ管理
US20180024920A1 (en) System and method for tracking block level mapping overhead in a non-volatile memory
US20160321010A1 (en) Storage system having a host directly manage physical data locations of storage device
KR101760144B1 (ko) 비휘발성 메모리 및 기록 캐시를 분할하는 방법
US8856475B1 (en) Efficient selection of memory blocks for compaction
US9582224B2 (en) Memory control circuit unit, memory storage apparatus and data accessing method
TW201305817A (zh) 具有分佈在作用單階胞及多階胞記憶體分割區之間的小邏輯群組之非揮發性記憶體及方法
KR20140035916A (ko) 핫/콜드 데이터 소팅을 사용한 블록 관리를 갖는 비휘발성 메모리 및 방법
US9959071B2 (en) Method and system for managing data in non-volatile memory
US10283196B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
TWI718710B (zh) 資料儲存裝置以及非揮發式記憶體控制方法
US11042307B1 (en) System and method for facilitating improved utilization of NAND flash based on page-wise operation
CN112130749B (zh) 数据储存装置以及非挥发式存储器控制方法
US11481136B1 (en) Very low sized zone support for storage devices
JP2023510764A (ja) キャッシュ内のデータブロックの書き込みモードの変更に基づくメディア管理動作の実施
US20230333988A1 (en) Namespace level valid translation unit count
WO2014185038A1 (ja) 半導体記憶装置およびその制御方法
US11556249B2 (en) Delaying random data relocation for reducing write amplification in storage devices
TWI705328B (zh) 資料儲存裝置以及非揮發式記憶體控制方法
US20230367498A1 (en) Stream oriented writing for improving sequential write and read performance