TW201314449A - 儲存資料之系統及方法 - Google Patents

儲存資料之系統及方法 Download PDF

Info

Publication number
TW201314449A
TW201314449A TW101126359A TW101126359A TW201314449A TW 201314449 A TW201314449 A TW 201314449A TW 101126359 A TW101126359 A TW 101126359A TW 101126359 A TW101126359 A TW 101126359A TW 201314449 A TW201314449 A TW 201314449A
Authority
TW
Taiwan
Prior art keywords
data
page
memory
bit
bits
Prior art date
Application number
TW101126359A
Other languages
English (en)
Inventor
Eran Sharon
Idan Alrod
Simon Litsyn
Menahem Lasser
Original Assignee
Sandisk Technologies 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 Sandisk Technologies Inc filed Critical Sandisk Technologies Inc
Publication of TW201314449A publication Critical patent/TW201314449A/zh

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1072Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • 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)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本發明揭示儲存資料之系統及方法。

Description

儲存資料之系統及方法
本發明大體上係關於將資料儲存於記憶體處。
非揮發性記憶體設備(諸如,通用串列匯流排(USB)快閃記憶體設備或可抽換式儲存卡)已允許增加資料及軟體應用程式之可攜帶性。快閃記憶體設備可藉由將多個位元儲存於每一快閃記憶體單元中來增強成本效率。舉例而言,多位階記憶體單元(Multi-Level Cell,MLC)快閃記憶體設備藉由儲存每記憶體單元3個位元、每記憶體單元4個位元或更多來提供增加之儲存密度。
將多個資訊位元儲存於單一快閃記憶體單元中通常包括將位元序列映射至快閃記憶體單元之狀態。舉例而言,第一位元序列「110」可對應於快閃記憶體單元之第一狀態,且第二位元序列「010」可對應於快閃記憶體單元之第二狀態。在判定一位元序列待儲存至一特定快閃記憶體單元中之後,可將該快閃記憶體單元程式化至對應於該位元序列之狀態。
位元序列至由快閃記憶體設備使用之狀態之特定映射會影響儲存於快閃記憶體單元處之位元之相對可靠性。舉例說明,若快閃記憶體單元經程式化至第一狀態(對應於類比臨限值電壓V且與資料「110」相關聯)但被不正確地讀作第二狀態(對應於類比臨限值電壓V+△V且與資料「010」相關聯),則在最高有效位元處發生位元錯誤(亦 即,「1」變成「0」),但在中間位元處或在最低有效位元處不發生錯誤。換言之,在兩個狀態之間存在最高有效位元(MSB)之轉變,但不存在其他位元之轉變。可基於多個快閃記憶體單元中之共同位元位置來儲存邏輯資料頁。鄰近狀態之間的讀取錯誤(亦即,類比臨限值為V之狀態被錯誤地讀作類比臨限值為V+△V之狀態)可具有機率p。非鄰近狀態(亦即,類比臨限值電壓差大於△V之狀態)之間的讀取錯誤可具有相比於p極小且可被近似為零之機率。因此,可將邏輯頁中資料錯誤之數目近似成與鄰近狀態對之數目成比例,該等鄰近狀態在該邏輯頁中之對應位元在該兩個狀態之間改變。只要在一狀態與一鄰近狀態之間存在正負號轉變,便會出現此對。因此,具有許多此等對(亦即,具有自1至0及自0至1之許多轉變)之邏輯頁相比於轉變之數目較小之頁將具有較多錯誤。一些邏輯頁相比於其他邏輯頁可較可靠。邏輯頁之不相等可靠性可影響某些快閃記憶體存取方法及效能。
可根據經儲存有碼字之頁之可靠性來提供碼字中所提供之保護量。對於具有較低可靠性之頁,碼字中所提供之額外冗餘資訊可造成碼字長度超過單一頁。可將碼字可靠地儲存於多個實體頁中而不影響可由主機設備經歷之程式化延時。
舉例而言,可將一經編碼資料頁分裂成兩個實體頁,其中該等實體頁中之第二實體頁僅包括同位位元。即使第二 實體頁仍未被寫入,亦可在完成寫入第一實體頁之後將資料頁之安全儲存之應答提供至主機。因為在功率損耗的狀況下可重新建構經編碼資料頁之資料部分而不使用第二實體頁之同位位元,所以可提供該應答。
可在將資料儲存至MLC快閃記憶體之前相對於資料之指定部分來執行位元調處以致使資料之每一邏輯頁具有實質上相等可靠性。可將待儲存至MLC快閃記憶體之資料寫入至記憶體晶粒處之鎖存器,且可使用鎖存器中之位元至目的地MLC儲存元件之狀態的預設映射以儲存資料。在應用預設映射之前,可調處鎖存器中之資料之指定部分,使得當應用預設映射時,根據第二映射來儲存經調處部分。將預設映射用於資料之部分且將第二映射用於資料之其餘部分可引起實質上相等邏輯頁可靠性。
可根據經儲存有碼字之頁之可靠性來提供碼字中所提供之保護量。對於具有較高可靠性之頁,可將該頁之經保留用於同位之部分用於資料塑形。舉例而言,可產生塑形同位以在所得經塑形資料中引起「1」值及「0」值之非均一分佈。非均一分佈可藉由縮減對記憶體元件之最高狀態及/或最低狀態之寫入操作的數目來縮減對記憶體之磨損。
可回應於對讀取記憶體之單一邏輯頁之請求來提供軟位元資訊。可分離地讀取MLC字線之每一邏輯頁以縮減在單一邏輯頁之讀取期間之感測操作的數目。軟位元資訊可指示自每一記憶體單元所讀取之頁資料之可靠性而不提供關於在該記憶體單元之電壓窗內之確切電壓帶的資訊,該記 憶體單元之臨限值電壓駐留於該電壓窗中。除了感測時間節約以外,亦可避免歸因於將一或多個經感測資料集合傳送至記憶體控制器之延遲。因此,在隨機讀取(相對於依序記憶體位址之串列讀取)期間,相比於交錯型方案,可縮減讀取延時。
可藉由使用多階段解碼串接碼建構而在快閃記憶體處實施在可靠性、存取時間與複雜性之間提供優良取捨的有效率編碼方案。此碼建構使能夠藉由使用作為短子字(short sub-word)而儲存於快閃記憶體中之子碼來個別地保護每一少量資料而有效率地存取少量資料。子碼可包括資料及提供冗餘以保護資料之同位位元。稍後可自快閃記憶體讀取子字、將子字傳送至快閃記憶體控制器,且解碼子字以便擷取子碼之資料。相比於讀取及解碼整個碼字以存取資料,僅僅讀取子字且解碼子碼會實現快閃記憶體之隨機讀取請求之較快速讀取效能。若因為在子字中已出現太多錯誤而使解碼子碼失敗,則可自快閃記憶體讀取較長碼字、將較長碼字傳送至控制器且解碼較長碼字以恢復資料。
為了進一步改良讀取時間,可將子碼之資料及子碼之同位位元中之一些或較佳地全部儲存於快閃記憶體之字線之單一頁內。舉例而言,快閃記憶體可包括經配置成可經由字線而存取之儲存元件。可藉由將快閃記憶體單元之臨限值電壓調整為處於M個已定義電壓範圍中之一特定電壓範圍內而將每一儲存元件程式化為處於M個可能狀態中之一 者下。此情形使每一儲存元件能夠儲存log2(M)個位元且設定M個電壓範圍之集合與M個串之集合之間的對應性,其中該等串中每一者含有log2(M)個位元。每一特定電壓範圍對應於一特定串。字線亦被視為用於寫入多個串之頁,該等串中每一者之長度為log2(M),且字線可分割成邏輯頁,其中每一邏輯頁為一特定位元之處所。舉例而言,具有M=8個狀態之MLC快閃記憶體可儲存每記憶體單元3個位元。三個位元中之每一位元可對應於儲存於字線處之一不同邏輯資料頁。舉例而言,儲存於字線處之邏輯資料頁可被稱作上部頁、中間頁及下部頁。可藉由如下步驟來讀取上部頁:識別上部位元具有轉變的狀態集合(亦即,上部位元在一狀態下為0且在鄰近狀態下為1),且藉由在此等狀態之間施加讀取電壓來執行感測操作。用此讀取電壓集合進行之讀取之結果用於判定字線中之每一儲存元件之最高有效位元的值。可以相似方式讀取中間頁以用於判定字線中之每一儲存元件之中間位元的值,且可以相似方式讀取下部頁以用於判定字線中之每一儲存元件之最低有效位元的值。
在假定邏輯頁之錯誤率足夠低的情況下,可藉由讀取單一頁、需要僅(M-1)/log2(M)個感測操作之平均值且提供短讀取延時來擷取子碼內所編碼之資料。在解碼失敗係由子碼中出現之錯誤之數目超過子碼之錯誤校正能力引起的狀況下,可採取若干動作。此等動作可包括以下各者之任何組合: 1)調整讀取臨限值且用經調整臨限值來重新讀取單一資料頁;2)增加同一頁之讀取解析度;3)啟動某些「雜訊」減輕技術,諸如,減輕交叉耦合效應或程式干擾效應-此等技術可包括執行相鄰字線或頁或記憶體單元之額外讀取;4)讀取子碼之額外同位位元(可能地來自可經儲存有該等額外同位位元之另一頁);5)讀取整個串接碼字,亦即,串接碼字之其他子碼及聯合同位(可能地來自可經儲存有該等其他子碼及聯合同位之另一或若干頁)。
執行所描述動作中之一或多者會增加可在初始子碼解碼失敗之後擷取資料的機率。
圖1至圖6展示將串接碼字映射至MLC字線之頁中之實例。在此等實例中,採用具有M=8個狀態(亦即,每記憶體單元3個位元)之MLC快閃記憶體,使得字線包括被表示為上部、中間及下部之三個頁。雖然展示具有每記憶體單元3個位元之實例MLC快閃記憶體,但可使用其他映射實例。
圖1展示將串接碼字映射至字線之頁中之實例100,其中子碼橫跨多個頁而非限於單一頁。MLC字線102經說明為儲存第一碼字(碼字1)104、第二碼字(碼字2)106及第三碼字(碼字3)108。MLC字線102之儲存第二碼字106之部分的上部頁110、中間頁112及下部頁114得以說明。第二碼字 106包括八個子碼131至138。每一子碼131至138包括一資料部分且亦包括對應於該資料部分之一同位部分。舉例而言,第一子碼131包括第一資料(資料1)124及第一同位(同位1)126。第二碼字106亦包括聯合同位128。聯合同位128包括可用以輔助解碼可能不可使用子碼同位予以解碼之個別子碼131至138之同位資料。
舉例而言,可使用系統ECC方案來編碼子碼131至138中每一者之資料(例如,第一資料124)以產生包括該資料且亦包括同位位元之碼字。該碼字可經穿孔以移除該等同位位元之部分,且可將該經穿孔碼字(例如,第一資料124及第一同位126)儲存為子碼(例如,第一子碼131)。可使已自該等碼字中每一者所移除之同位位元組合及相加以作為聯合同位128。舉例而言,可經由按位元互斥或(exclusive-OR,XOR)運算而組合自該等碼字中每一者所移除之同位位元。當因為子碼131至138中之一者中位元錯誤之數目超過該子碼之ECC方案之校正能力而不可校正該子碼時,可讀取及解碼其他子碼131至138中之一或多者以恢復其他子碼131至138中之一或多者之原始經穿孔同位位元。已恢復之經穿孔同位位元可與聯合同位128組合以重新建構對應於不可校正子碼之完全碼字。
舉例而言,當僅使用第一同位126而不可校正第一子碼131(亦即,第一資料124及第一同位126)時,可解碼每一剩餘子碼132至138以產生已自子碼132至138中每一者所移除之同位位元。經重新產生之同位位元可與聯合同位128進 行XOR運算以恢復已自第一子碼131所移除之同位位元。可藉由加上已恢復同位位元而使第一子碼131解除穿孔。可歸因於已自聯合同位128所恢復之額外同位而以較大錯誤校正能力來執行經解除穿孔之第一子碼之ECC解碼。
MLC字線102中之每一快閃記憶體單元可藉由如下步驟予以程式化以儲存三個資料位元之串:將該記憶體單元程式化至來自M=8個狀態之集合之一特定實體狀態,亦即,藉由將快閃記憶體單元之臨限值電壓調整為處於M=8個已定義電壓範圍中之一特定電壓範圍內,且整個字線與用於儲存多個串之頁(被表示為實體頁)相關聯,該等串中每一者包含三個資料位元。該等實體狀態中每一者分割成三個頁(被表示為邏輯頁),其中每一邏輯頁將一位元儲存於一不同位置中。上部頁110可對應於快閃記憶體單元之最高有效位元,中間頁112可對應於中間位元,且下部頁114可對應於快閃記憶體單元之最低有效位元。
自MLC字線102讀取資料可包括執行一或多個感測操作。舉例而言,可使用M-1=7個讀取臨限值(亦即,7個感測操作)以定義M=8個電壓範圍。感測操作可包括比較MLC字線102中之每一快閃記憶體單元之臨限值電壓與選定讀取臨限值以判定哪些快閃記憶體單元具有超過選定讀取臨限值之臨限值電壓及哪些快閃記憶體單元具有不超過選定讀取臨限值之臨限值電壓。為了讀取每一快閃記憶體單元之所有三個位元(亦即,MLC字線102之所有三個頁110、112及114),需要總共M-1=7個感測操作(在每一讀取 臨限值下一個感測操作)以識別每一快閃記憶體單元之特定狀態。然而,可使用M-1個以下感測操作而自MLC字線102讀取單一頁110、112或114,且在一些狀況下,可使用單一感測操作來讀取單一頁110、112或114。
在圖1之實例中,每一子碼131至138係遍及所有頁110至114而交錯,且因此,所有子碼131至138皆可展現相似錯誤率。舉例而言,若上部頁110相比於中間頁112及下部頁114具有較高預期錯誤率,則子碼131至138中每一者將受到同等地影響,此係因為每一子碼131至138係橫越所有頁110至114均勻地分佈。然而,讀取子碼131至138中任一者會需要讀取所有三個頁110至114,且因此需要執行M-1=7個感測操作。讀取子碼131至138中之單一子碼相比於一子碼僅儲存於頁110至114中之一者或兩者處且因此可使用較少感測操作予以讀取的其他組態可引起較大延時。
圖2至圖3展示將串接碼字映射至字線之頁中以使得子碼之資料及子碼之一些或所有同位限於單一頁的不同實例。圖2至圖3之映射可允許用縮減數目個感測操作來有效率地讀取資料。
圖2展示將三個串接碼字204、206、208儲存於MLC字線202處以使得每一碼字204至208映射至MLC字線202之分離頁的實例200。第一碼字204完全地儲存於上部頁210中,第二碼字206完全地儲存於中間頁212中,且第三碼字208完全地儲存於MLC字線202之下部頁214中。每一碼字204至208包括八個子碼。舉例而言,第一碼字204包括具有第 一資料220及第一同位222之第一子碼,且第二碼字206包括具有第一資料224及第一同位226之第一子碼。每一碼字204至208亦包括聯合同位,諸如,第二碼字206之聯合同位230。該聯合同位包括可用以輔助解碼可能不可使用子碼之同位予以解碼之個別子碼的同位資料,諸如關於圖1所描述。碼字204至208使用在每一碼字204至208中引起相同數目及組態之子碼之共同串接編碼方案。舉例而言,在圖2中,每一碼字204、206、208具有八個子碼,該等子碼具有共同大小且包括相等量之資料。
當平衡MLC字線202之不同頁210至214之可靠性時,圖2所說明之方案可具有增加效率。又,每一子碼儲存於單一頁210、212或214中且相比於圖1之橫跨所有三個頁110至114之子碼可被較快速地讀取(需要較少感測操作)。然而,若MLC字線202之不同頁210至214具有不同可靠性(亦即,錯誤率),則圖2之映射方案可具有縮減之可達成錯誤校正能力。關於表1至表4及圖7至圖10來進一步詳細地描述用於控制字線之不同頁之可靠性的方法。
圖3展示在上部頁相比於下部頁及中間頁(下部頁及中間頁可具有實質上相等可靠性)較不可靠時可合適之映射實例300。MLC字線302經說明為儲存第一碼字304、第二碼字306及第三碼字308。第一碼字304具有儲存於MLC字線302之上部頁310、中間頁312及下部頁314中之部分。第二碼字306完全地儲存於中間頁312中,且第三碼字308完全地儲存於下部頁314中。每一碼字304至308包括八個子 碼。舉例而言,第一碼字304包括具有第一資料320及第一同位322之第一子碼,且第二碼字306包括具有第一資料324及第一同位326之第一子碼。每一碼字304至308亦包括聯合同位,諸如,第二碼字306之聯合同位330。
在圖3之實例中,較低速率碼(亦即,使用較多同位以提供較多冗餘之碼)用於保護上部頁310處之資料,且較高速率碼(亦即,使用較少同位以提供較少冗餘之碼)用於保護下部頁314及中間頁312處之資料。第一碼字304之每一子碼相比於第二碼字306之子碼及第三碼字308之子碼具有實質上相同量之資料(例如,第一資料320相比於第一資料324具有相同大小)。然而,因為第一碼字304之子碼相比於其他碼字306至308之子碼具有較多冗餘,所以上部頁310中之每一同位區塊大於中間頁312及下部頁314之同位區塊(例如,第一同位322大於第一同位326)。
上部頁310之一些冗餘保護資料儲存於下部頁314及中間頁312上。舉例而言,中間頁312包括用於第一碼字304之子碼1至4之額外同位332,且亦包括用於第一碼字304之聯合同位334之第一部分。下部頁314包括用於第一碼字304之子碼5至8之額外同位,及用於第一碼字304之聯合同位之第二部分。
可針對其他頁可靠性來設計相似於圖3之映射300的映射。關於表1至表4及圖7至圖10來描述用於控制字線之不同頁之可靠性的方法。
圖4展示在上部頁相比於下部頁及中間頁較不可靠且下 部頁及中間頁具有實質上相同可靠性時可合適之另一映射實例400。MLC字線402經說明為儲存第一碼字404、第二碼字406及第三碼字408。每一碼字404至408包括八個子碼及聯合同位。每一碼字404至408具有位於MLC字線402之上部頁410、中間頁412及下部頁414中之部分。
在圖4之實例中,碼字404至408對稱(亦即,所有碼字404至408皆屬於同一碼),且每一碼字404、406、408橫跨遍及MLC字線402之所有頁410至414。然而,每一串接碼字404、406、408內之子碼不對稱。舉例而言,較低速率子碼(亦即,較多同位)用於保護較不可靠之上部頁410,且較高速率子碼(亦即,較少同位)用於保護較可靠之下部頁412及中間頁414。舉例說明,第一碼字404在上部頁410中具有第一子碼(資料1及同位1)及第二子碼(資料2及同位2)。第一碼字404亦在中間頁412中具有第三子碼(資料3及同位3)、第四子碼(資料4及同位4),及聯合同位之第一部分(聯合同位A)。因為中間頁412相比於上部頁410較可靠,所以中間頁412中之每一子碼相比於上部頁410中之每一子碼具有較少同位以保護相同量之資料。中間頁412中縮減量之子碼同位使能夠將第三子碼及第四子碼以及聯合同位之第一部分儲存於量與由最初兩個子碼在上部頁410中所佔據之空間之量相同的空間中。
圖5及圖6展示在上部頁相比於具有相等可靠性之下部頁及中間頁較不可靠時可合適之額外映射實例。圖5說明包括儲存第一碼字504、第二碼字506及第三碼字508之MLC 字線502之映射實例500。第一碼字504完全地儲存於上部頁510中,第二碼字506完全地儲存於中間頁512中,且第三碼字508完全地儲存於下部頁514中。每一碼字504、506、508包括八個子碼及聯合同位。然而,第一碼字504之每一子碼相比於第二碼字506之每一子碼及第三碼字508之每一子碼包括較少資料。
圖6說明包括儲存第一碼字604、第二碼字606及第三碼字608之MLC字線602之映射實例600。第一碼字604完全地儲存於上部頁610中且包括六個子碼及聯合同位。第二碼字606完全地儲存於中間頁612中且包括九個子碼及聯合同位。第三碼字608完全地儲存於下部頁614中且包括九個子碼及聯合同位。
與每一頁儲存相同量之資料的圖3及圖4之映射對比,圖5及圖6之映射相比於較可靠之下部頁514、614及中間頁512、612將較少資料儲存於較不可靠之上部頁510、610上。在圖5中,上部頁510之子碼相比於下部頁514及中間頁512之子碼保護較少資料,而在圖6中,所有子碼皆保護相同量之資料,但上部頁碼字604相比於下部頁碼字608及中間頁碼字606具有較少子碼。
在圖2至圖6所示之所有實例中,一子碼(或該子碼之主要部分)被限制至字線之單一頁中,以便允許快速地讀取該子碼。然而,將一子碼(或一子碼之主要部分)限制至字線之單一頁中可能地可引起該子碼遍及整個字線而展現高於平均錯誤率之錯誤率,此係歸因於該字線之不同頁之可 能不相等可靠性。較高子碼錯誤率可造成字線之非最佳利用及字線之每記憶體單元的縮減之資訊密度,此係因為可基於較不可靠頁之錯誤率而非遍及所有頁之平均錯誤率來判定ECC冗餘。
本文所描述的用於較好地利用字線之各種技術可分類成以下若干群組中之一或多者:1)包括改良字線之所有頁之可靠性之平衡的技術;2)包括使資料之保護等級更緊密地匹配於經儲存有該資料之頁之可靠性(亦即,使錯誤校正能力匹配於預期錯誤率,其中在碼字或子碼當中具有不相等冗餘分配)的技術;3)包括使儲存於一頁上之資料之量更緊密地匹配於該頁之可靠性的技術;4)利用較可靠頁中之一些冗餘位元以遍及經程式化位準來塑形機率分佈(用於耐久性增強及/或錯誤率縮減及「雜訊」減輕)的技術。
技術之任何組合(例如,來自兩個或兩個以上不同群組之技術之組合)亦係可能的。
平衡頁可靠性
當字線之所有頁皆具有相等可靠性(亦即,相等錯誤率)時,圖2所描繪之編碼方案可合適。可存在可加以採取以便完全地或部分地平衡字線之不同頁之可靠性的若干途徑。
一途徑係調整不同狀態之驗證位準,使得遍及字線之不 同頁來誘導相等(或較平衡)錯誤率。舉例而言,表1說明用於具有M=4個狀態之MLC快閃記憶體的自位元至狀態之可能映射。
當驗證位準經設定成使得自每一狀態至一鄰近狀態之錯誤機率相等時,遍及不同頁之錯誤率不相等。舉例而言,驗證位準可經設定成使得狀態Er與A之間的錯誤(亦即,將置於Er狀態下之記憶體單元讀作A狀態或將置於A狀態下之記憶體單元讀作Er狀態)之機率實質上等於狀態A與B之間的錯誤之機率且實質上等於狀態B與C之間的錯誤之機率。當狀態之間的錯誤同等地可能發生時,上部頁之錯誤率為下部頁之錯誤率的兩倍,此係因為上部頁含有自1至0之兩個轉變(或反之亦然)。
若自一狀態至另一狀態之移位不改變頁之位元值,則該移位將不引起錯誤。舉例說明,發生於表1之狀態Er與A之間或狀態B與C之間的錯誤將造成在上部頁處讀取錯誤位元,但將不造成在下部頁處讀取錯誤位元。當讀取上部頁時,狀態A與B之間的錯誤將不造成位元錯誤,但將造成在下部頁處讀取錯誤位元。當自每一狀態至一鄰近狀態之 錯誤機率相等時,可基於對應於頁之位元值之改變之狀態轉變的數目來判定頁可靠性。在表1中,上部頁具有兩個此類轉變(Er及A,B及C),而下部頁具有單一此類轉變(A及B)。結果,若所有錯誤狀態轉變同等地可能發生,則在上部頁中發生之錯誤位元值很可能為在下部頁中發生之錯誤位元值的兩倍。因此,當驗證位準造成狀態之間的錯誤機率相等時,頁可靠性不平衡。
可藉由將驗證位準設定成使得狀態A及B經置成彼此較接近且較遠離於狀態Er及C來平衡頁可靠性。結果,可誘導狀態A與B之間的錯誤機率,狀態A與B之間的錯誤機率比Er與A之間或B與C之間的錯誤機率大兩倍,Er與A之間或B與C之間的錯誤機率針對上部頁及下部頁誘導相等錯誤率。然而,在狀態當中誘導不相等錯誤率之驗證位準設定在誘導性儲存容量方面可能次最佳。舉例說明,滿足給定錯誤校正能力所需要之ECC冗餘將大於針對一交錯型編碼方案之ECC冗餘,該交錯型編碼方案具有遍及狀態而誘導相等錯誤率之驗證位準。另外,遍及狀態而誘導不相等錯誤率之驗證位準設定對於自晶粒至晶粒、自區塊至區塊、自頁至頁等等之變化效應可較不穩固。
用於部分地平衡頁可靠性之另一途徑包括使用自位元至狀態之適當映射。表2描繪用於具有M=8個狀態之MLC快閃記憶體之實例映射。
根據表2之映射,若將下部頁之錯誤率給定為值「p」,則中間頁之錯誤率為2*p且上部頁之錯誤率為4*p(因為下部頁具有自1至0之一個轉變,中間頁具有兩個轉變,且上部頁具有四個轉變)。
另一方面,若使用表3之映射,則遍及字線之頁而達成較平衡之錯誤率。
在使用表3之映射的情況下,若下部頁之位元錯誤率為p,則中間頁之位元錯誤率亦為p。若將記憶體單元狀態判定為遍及電壓帶均一地分佈之臨限值電壓範圍,則上部頁之位元錯誤率為(3/2)*p,此係因為下部頁及中間頁兩者皆具有自0至1之兩個轉變,而上部頁具有三個轉變。因此, 下部頁及中間頁具有相同可靠性,且上部頁具有較低可靠性。根據表3之映射,圖2至圖6所描繪之編碼方案適於頁之可靠性分配。
表2及表3所描繪之映射對應於每頁相同平均數目個感測操作。在表2之映射中,可使用單一感測操作(在狀態C與D之間)來讀取下部頁,可使用兩個感測操作(在狀態A與B之間及在狀態E與F之間)來讀取中間頁,且可使用四個感測操作(在狀態Er與A之間、在狀態B與C之間、在狀態D與E之間及在狀態F與G之間)來讀取上部頁。總體上,可將每頁讀取的感測操作之平均數目給定為(1+2+4)/3=2.333。相似地,在表3之映射中,可使用兩個感測操作(在狀態B與C之間及在狀態F與G之間)來讀取下部頁,可使用兩個感測操作(在狀態Er與A之間及在狀態D與E之間)來讀取中間頁,且可使用三個感測操作(在狀態A與B之間、在狀態C與D之間及在狀態E與F之間)來讀取上部頁。總體上,每頁讀取的感測操作之平均數目為(2+2+3)/3=2.333。
格雷映射(Grey mapping)為單一位元在任何兩個鄰近狀態之位元映射之間改變的映射。格雷映射可縮減平均位元錯誤率及每頁的感測操作之平均數目。對於遍及M個狀態之格雷映射,每頁讀取的感測操作之平均數目為(M-1)/log2(M)。
表2及表3所描述之映射僅為實例。可使用不同映射以達成可靠性平衡之不同位準。然而,當狀態之數目為2之冪(例如,2、4、8、16)時,針對格雷映射可能不可達成完全 平衡,此係因為自0至1之轉變之數目(亦即,M-1)不可被頁之數目(亦即,log2(M))除盡。
可用以改良可靠性平衡之第三途徑係使用每字線一個以上映射。舉例而言,可使用一個映射來程式化字線之一些儲存元件,且可使用一不同映射來程式化字線之其他儲存元件。
表4中展示針對使用每字線多個映射之此可靠性平衡之一個實例。
當根據表4將位元指派至狀態時,使用左側映射來程式化記憶體單元(例如,MLC字線中之快閃記憶體單元)之2/3。根據左側映射,若此等記憶體單元之下部位元及中間位元展現2*p之錯誤率,則上部位元展現3*p之錯誤機率(亦即,上部頁相比於中間頁及下部頁較不可靠)。根據右側映射來程式化記憶體單元之剩餘1/3,其中記憶體單元之下部位元及中間位元展現3*p之錯誤率,且上部位元展現p之錯誤率(亦即,上部頁相比於中間頁及下部頁較可 靠)。以此方式,下部頁及中間頁之總位元錯誤率為(2/3)*2*p+(1/3)*3*p=2.33*p,且上部頁之總位元錯誤率為(2/3)*3*p+(1/3)*p=2.33*p。因此,上部頁、中間頁及下部頁具有相等之總可靠性。
可將使用每字線多個位元至狀態映射之替代例用於多平面快閃記憶體設備中。代替在一個字線中混合兩個或兩個以上映射方案,多平面記憶體設備之每一平面可具有一不同映射(或讀取臨限值之不同設定)。可將碼字儲存於多平面記憶體設備中以在一個平面中具有一個部分且在另一平面中之對應部位中具有另一部分來平衡經儲存碼字之總位元錯誤率。
支援快閃記憶體中之多個映射
可在諸如快閃記憶體設備之儲存設備中支援自位元至狀態之多個映射。舉例而言,可支援自位元至狀態之多個映射以用於平衡頁可靠性或用於實施新映射,同時仍支援現有映射以用於達成與其他快閃記憶體控制器之回溯相容性。舉例說明,一些現有快閃記憶體設備可具有實施位元至狀態之單一映射的資料程式化序列。此等快閃記憶體設備可藉由如下步驟將資料程式化至快閃陣列:將位元寫入至內部快閃記憶體鎖存器中,且接著將內建式映射應用於該等鎖存器中之位元以判定MLC字線之程式化狀態。可藉由使用以下操作序列而在此等現有快閃記憶體設備中實施自位元至狀態之多個映射:
1)將資料寫入至內部快閃記憶體鎖存器中。
2)對快閃記憶體鎖存器中之選定位元執行邏輯運算序列,以便將該等位元之映射自第二映射(位元至狀態中之所要映射)轉換成第一映射,快閃記憶體根據該第一映射將位元轉換至狀態。
3)將來自內部快閃記憶體鎖存器之資料程式化至MLC字線。
圖7描繪調處位元以使用儲存設備來達成位元至狀態之第二映射之特定實施例700,儲存設備具有位元至狀態之內建式第一映射730。資料位元被載入至記憶體中之P個鎖存器之集合中,該等鎖存器經說明為包括第一鎖存器702、第二鎖存器704及第P鎖存器706。每一鎖存器702、704、706儲存m個資料位元,該等資料位元被標記為第一鎖存器702中之位元a1......am、第二鎖存器704中之位元b1......bm及第P鎖存器706中之位元p1......pm
將指定資料位元710指定為在鎖存器702至706內予以調處,且未指定資料位元708在鎖存器702至706內未予以調處。使用一或多個邏輯運算720而在鎖存器702至706中調處指定資料位元710(索引為自n+1至m之位元)以在鎖存器702至706中產生經調處資料位元722。根據內建式第一映射730將經調處資料位元722及未指定資料位元708之集合(索引為自1至n之位元)儲存至儲存元件群組740(例如,MLC字線)中之各別儲存元件。可將群組740中之每一儲存元件程式化至狀態s0、s1、......、sM。舉例而言,狀態s0、s1、......、sM可對應於表4所說明之狀態Er、A、 B、......、G。
根據第一映射將未指定資料位元708映射至狀態,而根據第二映射將指定資料位元710映射至狀態。舉例說明,根據第一映射將第一位元a1、b1、......、p1映射至第一元件c1之狀態s1。根據第一映射將第二位元a2、b2、......、p2映射至第二元件c2之狀態s0,且將第n位元an、bn、......、pn映射至第n元件cn之狀態sn。藉由首先調處鎖存器702至706中之位元且接著應用內建式第一映射730,根據第二映射將第(n+1)至第m位元映射至元件c(n+1)至cm。
藉由調處鎖存器702至706中之指定位元710而不調處未指定位元708,當將資料儲存至儲存元件群組740時可應用兩個(或兩個以上)不同映射。藉由使用多個映射,由一個映射引起之較低可靠性可被由另一映射引起之較高可靠性至少部分地平衡,諸如關於表4所描述。另外,可在快閃記憶體晶粒內部而非在快閃記憶體控制器處實施兩個映射之應用。
圖8描繪系統800之特定實施例,系統800包括可以操作方式耦接至主機設備830之資料儲存設備802。資料儲存設備802包括耦接至控制器806之記憶體804,諸如,反及(NAND)快閃記憶體。記憶體804包括儲存元件820、寫入電路808、鎖存器810及映射電路812。映射電路812使資料儲存設備802能夠應用鎖存器810內之位元至記憶體804中之儲存元件之狀態的多個映射。
資料儲存設備802可為記憶卡,諸如,Secure Digital SD®卡、microSD®卡、miniSD.TM卡(德拉瓦州威明頓市之SD-3C LLC的商標)、MultiMediaCard.TM(MMC.TM)卡(維吉尼亞州阿林頓市之JEDEC固態技術協會的商標)或CompactFlash®(CF)卡(加利福尼亞州米爾皮塔斯市之SanDisk公司的商標)。作為另一實例,資料儲存設備802可為主機設備830中之嵌入式記憶體,諸如(作為說明性實例),eMMC®(維吉尼亞州阿林頓市之JEDEC固態技術協會的商標)及eSD。
記憶體804包括多個儲存元件820,包括儲存元件820之群組822。舉例而言,儲存元件820可包括MLC記憶體單元。舉例說明,記憶體804可包括多位階記憶體單元(MLC)快閃記憶體,且儲存元件820之群組822可為MLC字線。
鎖存器810操作以鎖存待儲存於儲存元件820之群組822(諸如,MLC字線)處之資料842。資料842可自控制器806而被接收於鎖存器810處且可對應於由控制器806回應於自主機設備830所接收之使用者資料832而產生之碼字。鎖存器810中之每一鎖存器可儲存對應於待儲存於儲存元件群組822處之資料之邏輯頁的位元。舉例而言,鎖存器810可對應於圖7之鎖存器702至706。
映射電路812操作以藉由使用一或多個邏輯運算來調處鎖存器810中之指定資料位元而在鎖存器810中產生經調處資料位元。舉例而言,映射電路812可對來自控制器806之 控制資訊840作出回應以將圖7之邏輯運算720應用於指定資料位元710。映射電路812可經組態以在已自控制器806接收資料842之後在記憶體804處產生經調處資料位元。
寫入電路808可操作以自鎖存器810接收資料且根據位元序列至儲存元件820之狀態之第一映射將第一數目個位元儲存於儲存元件820之群組822中之每一儲存元件中。寫入電路808可操作以將經調處資料位元之集合儲存至儲存元件820之群組822中之各別儲存元件。根據位元序列至狀態之第二映射,指定資料位元對應於該等各別儲存元件之狀態,其中該第二映射不同於該第一映射。
記憶體804可經組態以將第一映射應用為內建式映射。可藉由將資料842載入至鎖存器810中且藉由邏輯暫存器運算來調處指定資料位元而建立第二映射。第一映射可與對應於MLC字線之第一邏輯頁之第一錯誤率相關聯。第二映射可與對應於MLC字線之第一邏輯頁之第二錯誤率相關聯,其中該第二錯誤率低於該第一錯誤率。
舉例而言,映射電路812可經組態以對位於鎖存器810中之第一鎖存器處之第一資料位元群組中之每一資料位元執行一邏輯「反」(NOT)運算。作為另一實例,映射電路812可經組態以執行第一鎖存器處之第一資料位元群組及鎖存器810中之第二鎖存器處之第二資料位元群組的按位元邏輯運算。舉例說明,按位元邏輯運算可包括「及」(AND)運算或者「或」(OR)運算。作為另一說明,按位元邏輯運算可包括「否定互斥或」(NOT-XOR)運算。作為另外說 明,按位元邏輯運算可包括「調換」(SWAP)運算。關於圖9來描述邏輯運算之實例。
記憶體804可經組態以選擇性地應用第二映射。舉例而言,控制資訊840可指示待應用有第二映射之指定資料位元。指定資料位元可位於鎖存器中每一者之第二部分處,且未指定資料位元可位於鎖存器中每一者之第一部分處,諸如,圖7之未指定資料位元708及指定資料位元710。映射電路812可經組態以在鎖存器810中每一者之第二部分處產生經調處資料位元且在鎖存器810中每一者之第一部分處不調處未指定資料位元。
可將第二映射應用於待儲存於儲存元件820之群組822之第二部分處的指定資料位元,且可將第一映射應用於待儲存於儲存元件820之群組822之第一部分處的未指定資料位元。舉例而言,儲存元件820之群組822之第一部分及儲存元件820之群組822之第二部分可位於MLC快閃記憶體之單一字線中。作為另一實例,記憶體804可包括多平面快閃記憶體之第一平面850及第二平面852,且儲存元件820之群組822之第一部分可位於第一平面850處且儲存元件820之群組822之第二部分可位於第二平面852處。
在操作期間,資料儲存設備802可自主機設備830接收使用者資料832。資料儲存設備802可編碼使用者資料832(諸如,在控制器806處之ECC引擎處),以產生資料842(例如,編碼使用者資料832之碼字)。控制器806可將資料842傳送至記憶體804,且記憶體804可將資料842儲存至鎖存 器810。
控制器806亦可將控制資訊840發送至記憶體804。映射電路812可對控制資訊840作出回應以選擇鎖存器810內之指定資料位元以供調處。映射電路812可調處鎖存器810內之指定資料位元,且經調處資料位元(及未經調處資料位元(若有的話))係由寫入電路808根據第一映射而寫入至儲存元件820之群組822。在將第一映射應用於未指定資料位元且將第二映射應用於指定資料位元之後,可實質上等化與儲存元件820之群組822之每一邏輯頁(例如,單一字線之每一邏輯頁)相關聯的錯誤率(亦即,儲存元件820之群組822之每一邏輯頁具有實質上等於儲存元件820之群組822之其他邏輯頁中每一者之錯誤率的錯誤率)。
圖9說明可由圖8之映射電路812應用於指定資料位元之邏輯運算序列900。可執行圖9之邏輯運算序列以在兩個格雷映射之間進行轉換,諸如,將第二格雷映射轉換至在程式化MLC快閃記憶體時所應用之內建式第一格雷映射。初始映射902將狀態(Er、A、B、C、D、E、F及G)映射至第一資料鎖存器(ADL)、第二資料鎖存器(BDL)及第三資料鎖存器(CDL)處之資料位元。資料鎖存器ADL、BDL及CDL可為快閃記憶體中之內部鎖存器,諸如,圖8之鎖存器810。
第一運算904將NOT-XOR運算(~^)應用於ADL及BDL且將結果儲存至ADL,從而引起映射906。第二運算908應用AND運算(&)、NOT運算(~)及NOT-XOR運算以產生 ~(~ADL & CDL)~^BDL,且將結果儲存至BDL。映射910係由第二運算908引起。
第三運算912應用NOT-XOR運算以產生CDL~^BDL且將結果儲存至CDL。映射914係由第三運算912引起。第四運算916將「調換」運算()應用於ADL及CDL以產生最終映射918。由將運算904、908、912及916應用於儲存於鎖存器ADL、BDL及CDL中之初始資料引起之最終映射918可對應於應用於鎖存器ADL、BDL及CDL之內容之內建式第一映射。
圖9之多運算方法可對應於圖7之邏輯運算720。舉例而言,最終映射918可對應於位元至狀態之內建式第一映射730,且第一映射902可為待應用於指定資料位元710的位元至狀態之第二映射。藉由在內建式第一映射730之後對指定資料位元710執行邏輯運算904、908、912及916,可根據第二映射來儲存該等指定資料位元。
舉例而言,第二映射(例如,映射902)可將位元序列「101」映射至狀態A。應用邏輯運算904、908、912及916會將位元序列「101」改變至位元序列「011」。可根據內建式第一映射(例如,映射918)將位元序列「011」儲存為狀態「A」。因此,根據內建式第一映射,圖7之具有狀態s1(例如,狀態「A」)之儲存元件c1可表示位元序列「011」,且根據第二映射,圖7之具有相同狀態s1之儲存元件cm可表示位元序列「101」。將邏輯運算904、908、912及916應用於儲存於圖8之鎖存器810之指定部分中的位 元可由映射電路812執行。
圖10描繪說明寫入資料之方法之實施例的流程圖。該方法可在具有控制器及記憶體之資料儲存設備中執行,其中記憶體包括鎖存器及多個儲存元件,且其中記憶體操作以根據位元序列至儲存元件之狀態之第一映射將第一數目個位元儲存於每一儲存元件中。舉例而言,該方法可在圖8之資料儲存設備802中執行。
在1002處,將資料位元載入至資料儲存設備之記憶體內之鎖存器中。在1004處,藉由使用一或多個邏輯運算來調處鎖存器中之指定資料位元而在鎖存器中產生經調處資料位元。在1006處,根據第一映射將經調處資料位元之集合儲存至儲存元件群組中之各別儲存元件。根據位元序列至狀態之第二映射,指定資料位元對應於該等各別儲存元件之狀態,且該第二映射不同於該第一映射。舉例而言,指定資料位元可包括該等資料位元之待根據第二映射而儲存之部分,以便藉由將第二映射應用於字線之記憶體單元中之1/3而根據表4之實例來等化頁可靠性。然而,在其他實施例中,指定資料位元可為所有該等資料位元,以便用第二映射來有效地替換第一映射。
鎖存器及儲存元件可位於經組態以將第一映射應用為內建式映射之記憶體晶粒(諸如,圖8之記憶體804)內。可藉由將資料位元載入至鎖存器中且藉由在儲存經調處資料位元之集合之前執行邏輯暫存器運算來調處該等資料位元而建立第二映射。舉例而言,邏輯暫存器運算可為圖9之運 算904、908、912及916以在格雷碼(Grey code)之間映射指定資料位元。
記憶體晶粒可包括諸如圖8之映射電路812的電路,該電路用以執行藉由將一或多個邏輯暫存器運算應用於指定資料位元而儲存之指定資料位元之狀態變換。
記憶體可包括快閃多位階記憶體單元(MLC)記憶體,且儲存元件群組可為MLC字線。第一映射可與對應於MLC字線之第一邏輯頁之第一錯誤率相關聯,且第二映射可與對應於MLC字線之第一邏輯頁之第二錯誤率相關聯。該第二錯誤率可低於該第一錯誤率。
舉例而言,可將資料位元之第一群組載入至第一鎖存器中,且可藉由對第一資料位元群組中之每一資料位元執行邏輯NOT運算來調處指定資料位元。作為另一實例,可將資料位元之第一群組載入至第一鎖存器中且可將資料位元之第二群組載入至第二鎖存器中。調處指定資料位元可包括執行第一群組及第二群組之按位元邏輯運算。舉例而言,按位元邏輯運算可包括AND運算及OR運算中至少一者或可包括否定互斥或(NOT-XOR)運算。作為另一實例,按位元邏輯運算可包括「調換」運算。
記憶體可經組態以選擇性地應用第二映射,諸如,回應於圖8之控制資訊840。舉例而言,記憶體可經組態以將第二映射應用於鎖存器之指定部分且不應用於鎖存器之未指定部分,如圖7所說明。該等鎖存器中每一者之第一部分可含有未指定資料位元,且該等鎖存器中每一者之第二部 分可含有指定資料位元。可在該等鎖存器中每一者之第二部分處產生經調處資料位元以將第二映射應用於待儲存於儲存元件群組之第二部分處之指定資料位元,而將第一映射應用於待儲存於儲存元件群組之第一部分處之未指定資料位元。
作為另一實例,記憶體可經組態以自可藉由調處鎖存器內之位元而應用之若干可用映射選擇第二映射。舉例說明,圖8之映射電路812可操作以支援多個映射且可對控制資訊840作出回應以執行用以達成特定映射之運算。舉例而言,圖8之控制器806可選擇特定映射且可將控制資訊840發送至映射電路812,控制資訊840指示選定映射及待調處以達成該選定映射之指定位元。控制資訊840可規定待應用於指定資料位元之邏輯運算之次序,諸如,圖9之運算904、908、912及916。作為又一實例,記憶體可經組態以不應用第二映射,使得根據第一映射將所有位元映射至狀態。
在一實施例中,儲存元件群組之第一部分及儲存元件群組之第二部分可位於多位階記憶體單元(MLC)快閃記憶體之單一字線中。在將第一映射應用於未指定資料位元且將第二映射應用於指定資料位元之後,可實質上等化與單一字線之每一邏輯頁相關聯之錯誤率。舉例而言,表4之左側映射可為應用於字線之儲存元件之2/3(例如,對應於未指定位元)的第一映射,且表4之右側映射可為應用於字線之儲存元件之1/3(例如,對應於指定位元)的第二映射,使 得所有頁皆具有總體上相等之錯誤率。在另一實施例中,儲存元件群組之第一部分位於多平面快閃記憶體之第一平面處,且儲存元件群組之第二部分位於多平面快閃記憶體之第二平面處,諸如,圖8之平面850及852。
使保護等級匹配於頁可靠性
用以適應不相等頁可靠性之另一技術係使資料保護等級匹配於經儲存有資料之頁之可靠性。舉例而言,根據經儲存有不同碼字或子碼之頁之錯誤率,可將不同ECC冗餘分配至該等碼字或子碼。圖3中展示每串接碼字之不同冗餘分配之實例。圖4中展示每子碼之不同冗餘分配之實例。
圖4所示之方案可歸因於子碼之間的不對稱性而具有較複雜之編碼方案。舉例說明,較不可靠之上部頁410中之子碼相比於較可靠頁412、414中之子碼具有較多同位。圖3所示之方案使用不同長度之碼字,且一碼字可橫跨遍及字線之一個以上頁。舉例而言,圖3之第一碼字304長於單一頁(且因此橫跨遍及字線302之一個以上頁)。
對於具有每記憶體單元大數目個狀態(例如,M=4、8或16)之MLC快閃記憶體,可首先將資料程式化至充當「二進位快取記憶體(binary cache)」之單位階記憶體單元(single-level cell,SLC)分割區中。可使用背景處理序將儲存於SLC分割區中之資料複製至MLC分割區中。最初將資料儲存至SLC分割區中且接著將資料複製至MLC分割區可提供若干優點:
1)因為MLC程式化可相對緩慢,所以若程式化叢發大 小足夠小且二進位快取記憶體未被填充,則二進位快取記憶體之使用可使能夠增加程式化輸貫量且改良使用者體驗。
2)一些快閃記憶體協定(例如,Secure Digital(SD))規定記憶體控制器應答在發送下一資料區塊之前將先前發送之資料區塊程式化至記憶體中。該等資料區塊通常小於MLC字線之容量,該容量通常大(例如,16 KB、24 KB或32 KB)。因此,可首先將資料區塊程式化至SLC分割區中,且在收集足夠資料(例如,將足夠資料儲存於SLC二進位快取記憶體中以填充MLC區塊)之後,將儲存於SLC二進位快取記憶體中之資料複製至MLC分割區中。
3)可在可含有許多字線之大區塊(例如,由大小為每字線32 KB之64個字線組成之2百萬位元組(MB)區塊)中執行將資料程式化至MLC分割區中。可使用可涉及每一字線之若干非連續程式化階段之操作序列來執行將資料程式化至MLC分割區。多個非連續程式化階段可抵消某些交叉耦合效應且可誘導使資料儲存設備能夠維持小錯誤率之窄電壓分佈。可首先將資料程式化至SLC分割區(例如,二進位快取記憶體)中。將資料程式化至SLC分割區中相比於將資料程式化至MLC分割區中可較簡單且可一次一個字線地執行。在將資料程式化至SLC分割區中之後,可將資料複製至MLC分割區中。因此,SLC分割區可充當資料之臨時儲存器,而非將RAM用於資料之臨時儲存器。
揭示若干實施例以使能夠在將長碼字(亦即,長於SLC頁 之碼字)自SLC分割區複製至MLC分割區之前將該碼字程式化至SLC分割區中。
一個實施例包括使用數目大於MLC字線中之邏輯頁之數目的SLC頁以儲存用於單一MLC字線之資料。可將長碼字程式化至SLC頁中,使得資料在SLC頁內之相對部位與資料在待複製有該資料之MLC字線之頁內的相對部位相同。將碼字程式化至SLC頁中與意欲用於MLC頁之相對部位相同的相對部位中會使能夠使用內部快閃記憶體鎖存器而進行自SLC分割區至MLC分割區中之內部複製。可在鎖存器處執行簡單操作以將較大數目個SLC頁中之資料組合至較小數目個MLC頁中。圖11中針對圖3所示之MLC字線說明此程式化程序之實例。
圖11描繪將第一碼字(碼字1)1130、第二碼字(碼字2)1132及第三碼字(碼字3)1134儲存於快閃記憶體之SLC部分處且將碼字1130至1134傳送至MLC字線1120的特定實施例1100。第一碼字1130具有超過SLC部分中之頁之大小的長度。第一SLC頁(SLC上部1)1104儲存第一碼字1130之待儲存於MLC字線1120之上部頁1122內的部分1136。第二SLC頁(SLC上部2)1106儲存第一碼字1130之待儲存於MLC字線1120之中間頁1124內的第二部分1138。第二SLC頁1106亦儲存第一碼字1130之待儲存於MLC字線1120之下部頁1126中的第三部分1140。第三SLC頁1108儲存第二碼字1132且第四SLC頁1110儲存第三碼字1134。
第一碼字1130之第一部分1136具有實質上等於SLC頁大 小之長度且實質上填充第一SLC頁1104。第二SLC頁1106中第一碼字1130之第二部分1138佔據未由第三SLC頁1108中之第二碼字1132佔據之頁位置(例如,佔據SLC頁1106相對於字線之最後記憶體單元)。結果,可將第二碼字1132及第一碼字1130之第二部分1138一起寫入至單一鎖存器中而不將位元移位至較高或較低位元位置。舉例而言,該單一鎖存器可為圖8之鎖存器810中之一者。相似地,第二SLC頁1106中第一碼字1130之第三部分1140佔據未由第四SLC頁1110中之第三碼字1134佔據之頁位置(例如,佔據SLC頁1106相對於字線之第一記憶體單元)。結果,可將第三碼字1134及第一碼字1130之第三部分1140一起寫入至單一鎖存器中而不執行位元移位。
可將每一SLC頁1104、1106、1108、1110複製至各別內部快閃記憶體鎖存器中。在將SLC頁載入至鎖存器中之後,第一碼字1130之第一部分1136可保持於第一鎖存器中,第一碼字1130之第二部分1138可與第二碼字1132組合至第二鎖存器中,且第一碼字1130之第三部分1140可與第三碼字1134組合至第三鎖存器中。可將第一鎖存器、第二鎖存器及第三鎖存器之位元值映射至MLC字線1120之狀態以將上部頁1122、中間頁1124及下部頁1126程式化至MLC字線1120。
因此,圖11說明將經儲存內容自第一數目個SLC實體頁(例如,四個SLC頁1104至1110)複製至單一MLC實體頁處之第二數目個邏輯頁(例如,三個邏輯頁1122至1126)的實 例,其中該第二數目小於該第一數目。當在每記憶體單元B個位元(其中B為正數(例如,如圖11所示之每記憶體單元3個位元))之多位階記憶體單元(MLC)快閃記憶體中使用二進位快取記憶體時,可在將B個以上SLC頁用於快取MLC快閃記憶體之單一字線之資料的情況下將至少一資料頁分裂成一個以上單位階記憶體單元(SLC)頁。舉例說明,四個SLC頁1104至1110可快取單一MLC字線1120之資料。資料儲存設備可接收待儲存於資料儲存設備中之資料頁且可產生對應於經接收資料頁之碼字,諸如,碼字1130、1132及1134。可將該等碼字儲存至資料儲存設備之第一記憶體部分(諸如,SLC部分或二進位快取記憶體)之實體頁(例如,SLC頁1104至1110)。可將對應於特定資料頁之特定碼字之第一部分(諸如,第一碼字1130之第一部分1136)儲存於第一實體頁1104處。可將該特定碼字之第二部分(諸如,第一碼字1130之第二部分1138)儲存於第二實體頁1106處。可將碼字1130、1132及1134自實體頁1104至1110複製至資料儲存設備之第二記憶體部分之實體頁,諸如,記憶體之MLC部分中之MLC字線1120。
如圖11所示,可在二進位快取記憶體中使用四個SLC頁1104、1106、1108、1110,以便將僅三個資料頁1122、1124、1126儲存於MLC字線1120中。結果,相比於使用MLC字線1120之每頁相同數目個SLC頁,可使用相對較大之二進位快取記憶體。使用較多SLC頁可誘導二進位快取記憶體之較高磨損,此係因為針對每一MLC字線而程式化 較多SLC頁。然而,SLC上部2頁1106可僅儲存第一碼字1130之「溢出(spillover)」冗餘,其不適合於SLC上部1頁1104。如所說明,當溢出冗餘佔據SLC上部2頁1106之小部分時,SLC上部2頁1106之大多數記憶體單元可保持被抹除。結果,相比於程式化SLC上部2頁1106之所有記憶體單元,歸因於重複程式化/抹除循環之磨損可縮減。控制二進位快取記憶體以使得每一SLC頁1104、1106、1108、1110具有待用第一碼字1130之第一部分1136、用第一碼字1130之第二部分1138及第三部分1140、用第二碼字1132或用第三碼字1134予以程式化的1/4機率可縮減對SLC分割區之磨損及耐久性的影響。
用以將資料程式化至二進位快取記憶體之四個頁中的時間量可超過用以將資料程式化至三個SLC頁之時間量。然而,可藉由設計用於寫入資料之適當管線操作來「隱藏」任何增加程式化時間。在程式化SLC上部1頁1104之後,且在用「溢出」冗餘來程式化SLC上部2頁1106之前,記憶體控制器可向發送資料之主機通知上部頁資料安全地儲存於快閃記憶體中,使得主機可遞送下一頁之資料。接著,在主機傳送下一頁之資料且下一頁之資料被編碼的同時,可將上部頁之「溢出」冗餘(例如,第二部分1138及第三部分1140)程式化至下一SLC頁(例如,SLC上部2頁1106)中。
在將SLC上部2頁1106之資料程式化至二進位快取記憶體之前發生斷電事件的狀況下,控制器可恢復第一碼字1130之資料,此係因為第一碼字1130之第二部分1138及第 三部分1140可僅含有「溢出」冗餘。此溢出冗餘不為校正自SLC實體頁預期之錯誤率所需要。舉例而言,SLC位元錯誤率可比MLC上部頁1122頁之位元錯誤率小得多。結果,資料儲存設備可合理地向主機通知在僅SLC上部1頁1104之程式化之後上部頁資料係安全的,此係因為用SLC上部1頁1104中之資料字予以編碼之冗餘資訊足以使能夠恢復上部頁資料。關於圖12來進一步詳細地描述一實例。
用以使能夠在將長碼字複製至MLC分割區之前將長碼字程式化至SLC分割區的第二實施例包括僅程式化碼字之適合於單一SLC頁之部分而不將碼字之溢出部分程式化至第二SLC頁。結果,將「經穿孔」碼字儲存至SLC分割區而未將該碼字之一些位元儲存至SLC分割區。在將資料自SLC分割區複製至MLC分割區之前(亦即,當待寫入至MLC分割區之所有資料皆可用於SLC分割區處時),可自SLC分割區讀取經穿孔碼字且解碼經穿孔碼字。解碼經穿孔碼字可校正可引入於SLC分割區中之錯誤且可重新建構該碼字之遺失的經穿孔部分。在解碼經穿孔碼字以校正錯誤且重新建構完全碼字之後,可將完全碼字程式化至MLC字線之邏輯頁內之適當部位。可設計一編碼方案以確保儲存於SLC分割區中之經穿孔碼字之成功解碼的高機率,此係因為SLC分割區中之頁相比於MLC分割區之頁可展現低得多之錯誤率。當將資料儲存於MLC頁中時,碼字之經穿孔部分可僅為解碼該資料所需要,但當將資料儲存於SLC頁上時,可省略該經穿孔部分。關於圖13來進一步詳細地描述 一實例。
因此,將資料自SLC分割區之經穿孔碼字複製至MLC分割區中可包括控制器動作,此係因為可自SLC頁讀取經穿孔碼字且將經穿孔碼字提供至控制器,且控制器可解碼經穿孔碼字以重新建構該碼字之經穿孔部分。將資料傳送至控制器且解碼經傳送資料可促成在將該資料儲存至MLC分割區時之延時。
藉由經由編碼程序而在快閃記憶體內部產生碼字之部分而非在控制器處重新建構經穿孔部分,可在將資料自快閃記憶體之SLC分割區複製至快閃記憶體之MLC分割區時避免控制器涉及。在複雜邏輯可能不會有效率地實施於快閃記憶體內的實施例中,編碼程序可包括相對不複雜之邏輯運算。相對簡單編碼之實例為重複碼,其中可藉由重複一些碼字位元來產生碼字之部分(例如,所產生之部分可為該碼字之某一區段之複本)。關於圖14來進一步詳細地描述一實例。
亦可藉由將碼字之溢出區段儲存於RAM中直至該等溢出區段被複製至MLC分割區來縮減SLC至MLC複製程序中之控制器涉及。碼字之溢出區段可小且因此可無需大的RAM大小。在斷電的狀況下,儲存於RAM中之溢出區段可能會丟失。在電力復原之後,可藉由自SLC分割區讀取經穿孔碼字且解碼經穿孔碼字來重新建構碼字之丟失的溢出區段。
用以使能夠在將長碼字複製至MLC分割區之前將長碼字 程式化至SLC分割區的第三實施例可包括使用不同於用於MLC分割區之ECC碼的ECC碼將資料程式化至SLC分割區中。用於SLC分割區之ECC碼可產生適合於SLC頁之碼字(亦即,儲存於SLC分割區中之資料頁之碼字相比於儲存於MLC分割區中之相同資料頁之碼字具有較少同位)。為了將資料自SLC分割區複製至MLC分割區中,將相關SLC頁讀取至控制器中、使用SLC ECC來解碼資料、使用MLC ECC來編碼資料,且組合MLC碼字並將MLC碼字程式化至MLC字線中。關於圖15來進一步詳細地描述一實例。
MLC程式化可包括經程式化之MLC之每一字線之若干非依序程式化階段。結果,由記憶體控制器所使用之RAM可不具有足夠空間來儲存完成MLC程式化(其可涉及儲存待寫入至許多字線中之資料)所需要之所有資料。在一實例中,可藉由重複「讀取SLC-解碼SLC-編碼MLC-程式化MLC」序列達若干次(亦即,針對MLC字線之每一程式化階段而執行該序列達一次)來執行藉由對RAM之縮減使用而達成之MLC程式化。在另一實例中,可藉由讀取SLC頁、根據SLC ECC方案來解碼自SLC頁所讀取之資料、使用MLC ECC方案來編碼經解碼資料且將MLC碼字程式化回至SLC來執行藉由對RAM之縮減使用而達成之MLC程式化,使得以MLC格式在SLC頁中編碼該資料。
圖12描繪系統1200之特定實施例,系統1200包括經組態以藉由將長碼字程式化至多個實體頁中來寫入資料之資料儲存設備1202。系統1200包括可以操作方式耦接至主機設 備1230之資料儲存設備1202。資料儲存設備1202包括耦接至控制器1206之記憶體1204。記憶體1204包括第一部分1210,第一部分1210包括第一實體頁1212及第二實體頁1214。記憶體1204亦包括具有第三實體頁1222之第二部分1220。資料儲存設備1202經組態以將長碼字程式化至第一部分1210之多個實體頁且稍後將經儲存資料複製至第二部分1220。
資料儲存設備1202可為記憶卡,諸如,Secure Digital SD®卡、microSD®卡、miniSD.TM卡(德拉瓦州威明頓市之SD-3C LLC的商標)、MultiMediaCard.TM(MMC.TM)卡(維吉尼亞州阿林頓市之JEDEC固態技術協會的商標)或CompactFlash®(CF)卡(加利福尼亞州米爾皮塔斯市之SanDisk公司的商標)。作為另一實例,資料儲存設備1202可為主機設備1230中之嵌入式記憶體,諸如(作為說明性實例),eMMC®(維吉尼亞州阿林頓市之JEDEC固態技術協會的商標)及eSD。
主機設備1230可經組態以提供待儲存於資料儲存設備1202處之資料(諸如,資料頁1232)或請求待自資料儲存設備1202讀取之資料。舉例而言,主機設備1230可包括行動電話、音樂或視訊播放器、遊戲控制台、電子書閱讀器、個人數位助理(PDA)、諸如膝上型電腦或筆記型電腦之電腦、任何其他電子設備,或其任何組合。主機設備1230可根據一或多個協定而與資料儲存設備1202通信,該一或多個協定規定:在主機設備1230將資料發送至資料儲存設備 1202之後,主機設備1230抑制將下一資料發送至資料儲存設備1202,直至主機設備1230接收到先前資料已儲存於記憶體1204處之應答。
記憶體1204可包括具有SLC部分或分割區(例如,第一部分1210)及MLC部分或分割區(例如,第二部分1220)之快閃記憶體。第一實體頁1212及第二實體頁1214可各自包括諸如SLC記憶體單元之儲存元件,每SLC記憶體單元儲存單一位元。第三實體頁1222可包括諸如MLC記憶體單元之儲存元件,每記憶體單元儲存多個位元。每一MLC記憶體單元可包括對應於多個邏輯頁(諸如,第三實體頁1222內之第一邏輯頁1224及第二邏輯頁1226)之位元值。
控制器1206經組態以在資料儲存設備1202以操作方式耦接至主機設備1230時自主機設備1230接收資料頁1232。控制器1206經組態以起始編碼操作來編碼資料頁1232。編碼操作產生具有第一部分1240及第二部分1242之第一經編碼資料。
資料儲存設備1202經組態以將第一經編碼資料之第一部分1240儲存至第一實體頁1212。在將第一部分1240儲存至第一實體頁1212之後,資料儲存設備1202起始第一經編碼資料之第二部分1242至第二實體頁1214之儲存。舉例而言,第一經編碼資料之第一部分1240可對應於圖11之第一碼字1130之第一部分1136,且第一經編碼資料之第二部分1242可對應於第一碼字1130之第二部分1138及第三部分1140。
在將第一經編碼資料儲存至第一部分1210之後,資料儲存設備1202經組態以將第一經編碼資料之第一部分1240之表示1262自第一實體頁1212複製至第三實體頁1222內之第一邏輯頁1224。資料儲存設備1202經進一步組態以將表示1264自第二實體頁1214複製至第三實體頁1222內之第二邏輯頁1226。舉例而言,可將待複製至記憶體1204之第二部分1220之資料自記憶體1204之第一部分1210寫入至位於記憶體1204內部之鎖存器集合,諸如,圖8之鎖存器810。可根據位元至狀態之一或多個映射將儲存於鎖存器處之資料寫入至第三實體頁1222,如關於圖8至圖10所描述。表示1262、1264可由於可發生於記憶體1204之第一部分1210中之一或多個位元錯誤(諸如,代表性位元錯誤1252)而分別不同於第一經編碼資料之部分1240、1242。
控制器1206可經組態以在將第一部分1240儲存至第一實體頁1212之後但在將第二部分1242儲存至第二實體頁1214之前將指示出資料頁1232已成功地儲存於資料儲存設備1202處之訊息1248發送至主機設備1230。舉例而言,控制器1206可經組態以回應於儲存第一經編碼資料之第一部分1240而將訊息1248發送至主機設備1230。記憶體1204可以管線式方式來儲存第一經編碼資料之第一部分1240及第一經編碼資料之第二部分1242,從而回應於在第一管線階段中寫入第一實體頁1212但在後續管線階段中寫入第二實體頁1214之前發送訊息1248。在需要在發送較多資料之前對成功資料儲存之應答的系統中,在儲存第一部分1240之後 發送訊息1248會使資料儲存設備1202能夠維持儲存資料輸貫量,就如同每一經編碼資料字儲存至記憶體1204之第一部分1210之單一頁一樣。
在操作期間,資料儲存設備1202可自主機設備1230接收資料頁1232。控制器1206可將資料頁1232提供至ECC引擎1208之輸入以產生第一經編碼資料。控制器1206可發送第一經編碼資料之第一部分1240以寫入至第一實體頁1212。在將第一經編碼資料之第一部分1240寫入至第一實體頁1212之後,控制器1206可將訊息1248發送至主機設備1230且起始第一經編碼資料之第二部分1242至第二實體頁1214之儲存。
在將第一經編碼資料之第一部分1240寫入至第一實體頁1212之後但在完成將第一經編碼資料之第二部分1242寫入至第二實體頁1214之前可潛在地發生斷電事件。回應於在此斷電事件之後的電力再繼續,控制器1206可藉由自第一實體頁1212讀取第一經編碼資料之第一部分1240之表示1262且在ECC引擎1208處解碼第一部分1240之表示1262來恢復原始資料頁1232。舉例說明,第一經編碼資料之第一部分1240可包括足夠冗餘資訊以使能夠相比於第三實體頁1222處之相對較高預期錯誤率以第一實體頁1212處之較低預期錯誤率來恢復資料頁1232。當(第一經編碼資料之第二部分1242之)遺失位元的數目及在第一經編碼資料之第一部分1240中出現之位元錯誤的數目一起不超過ECC編碼方案之錯誤校正能力時,控制器1206可解碼所擷取之第一 部分1240以恢復資料頁1232。
圖13描繪系統1300之實施例,系統1300用以在將經儲存資料複製至記憶體1304之第二部分1320之前使用經穿孔碼字將該資料儲存於記憶體1304之第一部分1310中。系統1300包括經組態成以操作方式耦接至主機設備1330之資料儲存設備1302。舉例而言,主機設備1330可對應於圖12之主機設備1230。
資料儲存設備1302包括具有ECC引擎1308之控制器1306且亦包括記憶體1304(例如,NAND快閃記憶體)。記憶體1304之第一部分1310(例如,充當二進位快取記憶體之SLC部分)包括第一實體頁1312,且記憶體1304之第二部分1320(例如,MLC部分)包括第二實體頁1322。第二實體頁1322包括第一邏輯頁1324且亦包括相比於第一邏輯頁1324具有較高可靠性之第二邏輯頁1326。
控制器1306經組態以起始第一編碼操作來編碼自主機設備1330所接收之資料頁1332。舉例而言,當控制器1306判定資料頁1332待儲存於第一邏輯頁1362處時,控制器1306組態ECC引擎1308以編碼資料頁1332來產生第一經編碼資料(例如,長碼字),第一經編碼資料具有足夠冗餘以適應第一邏輯頁1324之相對較低可靠性。否則,當控制器1306判定資料頁待儲存於較高可靠性之頁(例如,第二邏輯頁1326)處時,控制器1306可組態ECC引擎1308以產生具有較少冗餘位元之較短碼字。舉例而言,長碼字可為圖11之第一碼字1130,且較短碼字可為圖11之第二碼字1132。
第一經編碼資料(亦即,長碼字)可超過第一邏輯頁1362之長度且亦可超過第一實體頁1312之長度(亦即,第一經編碼資料將橫跨遍及記憶體1304之第一部分1310之一個以上頁)。第一經編碼資料亦可包括多於校正第一實體頁1312之預期錯誤率所必要之冗餘位元的冗餘位元。控制器1306可穿孔第一經編碼資料且將第一經編碼資料之第一部分1340寫入至第一實體頁1312,同時捨棄第一經編碼資料之第二部分1342。舉例而言,第一經編碼資料之第一部分1340可包括使用者資料及同位位元,且第一經編碼資料之第二部分1342可不包括使用者資料且可改為包括「溢出」同位位元。
控制器1306經組態以藉由自第一實體頁1312讀取第一經編碼資料之表示1350而自記憶體1304之第一部分1310重新產生第一經編碼資料。在ECC引擎1308處解碼表示1350以校正可能已發生於第一實體頁1312處之錯誤,諸如,代表性位元錯誤1352。控制器1306經組態以在ECC引擎1308處起始第二編碼操作來編碼已恢復資料頁。第二編碼操作產生第二經編碼資料1360。
第二經編碼資料1360相比於第一經編碼資料(亦即,第一部分1340及第二部分1342)係使用相同ECC方案而產生,且具有實質上填充第一邏輯頁1324之第一部分1362及填充第二邏輯頁1326之至少一部分之第二部分1364。因此,第二經編碼資料1360相比於橫跨遍及單一實體頁1312之第一經編碼資料之第一部分1340橫跨遍及較多頁(亦即,第一 邏輯頁1324及第二邏輯頁1326之部分)。
與圖12之系統對比,可將資料臨時儲存於記憶體1304之第一部分1310處而無需第一部分1310之多個頁來儲存長碼字。取而代之,超過頁長度之長碼字經穿孔以供儲存於記憶體1304之第一部分1310中,且經穿孔位元經重新產生以供稍後儲存於第二實體頁1322處。
圖14描繪系統1400之實施例,系統1400用以將資料儲存於記憶體1404之第一部分1410中且在將資料儲存至記憶體1404之第二部分1420之前在記憶體1404處產生額外冗餘資料。系統1400包括經組態成以操作方式耦接至主機設備1430之資料儲存設備1402。舉例而言,主機設備1430可對應於圖12之主機設備1230。
資料儲存設備1402包括具有ECC引擎1408之控制器1406且亦包括記憶體1404(例如,NAND快閃記憶體)。記憶體1404之第一部分1410(例如,充當二進位快取記憶體之SLC部分)包括第一實體頁1412,且記憶體1404之第二部分1420(例如,MLC部分)包括第二實體頁1422。第二實體頁1422包括第一邏輯頁1424且亦包括相比於第一邏輯頁1424具有較高可靠性之第二邏輯頁1426。
控制器1406經組態以起始編碼操作來編碼自主機設備1430所接收之資料頁1432。編碼操作產生第一經編碼資料1440且將第一經編碼資料1440儲存至第一實體頁1412。第一經編碼資料1440具有不超過第一實體頁1412之大小的大小。在其他實施例中,第一經編碼資料1440可具有超過第 一實體頁之大小的大小,且控制器1406可以相似於圖13之控制器1306的方式來穿孔第一經編碼資料1440以配合於單一頁內。
記憶體1404包括冗餘資料產生器電路1472,冗餘資料產生器電路1472經組態以接收第一經編碼資料1440之表示1450(表示1450可包括一或多個錯誤,諸如,代表性位元錯誤1452)且產生冗餘資料1474。舉例而言,冗餘資料產生器電路1472可包括一重複編碼電路,該重複編碼電路經組態以藉由複製第一經編碼資料1440之表示1450之至少一部分來產生冗餘資料1474。或者或另外,冗餘資料產生器電路1472可經組態以實施一或多種複雜編碼技術(相比於重複編碼)以產生冗餘資料1474。將冗餘資料1474與表示1450相加、串接或以其他方式組合以產生儲存至第二實體頁1422之第二經編碼資料1460。
第二經編碼資料1460具有實質上填充第一邏輯頁1424之第一部分1462及填充第二邏輯頁1426之至少一部分之第二部分1464。因此,第二經編碼資料1460相比於橫跨遍及單一第一實體頁1412之第一經編碼資料1440橫跨遍及較多頁(亦即,第一邏輯頁1424及第二邏輯頁1426之部分)。
與圖12之系統對比,系統1400使用單一實體頁(亦即,第一實體頁1412)以快取第一經編碼資料1440。舉例而言,ECC引擎1408可編碼經接收資料頁1432以具有不超過第一實體頁1412之頁大小的碼字長度。或者,ECC引擎1408可編碼經接收資料頁1432以具有超過第一實體頁1412 之頁大小的碼字長度(亦即,長碼字)且可以相似於圖13之系統的方式來穿孔該碼字,使得僅第一部分儲存於第一實體頁1412處,而經穿孔部分被捨棄。
然而,與圖13之系統對比,將資訊自記憶體1404之第一部分1410(例如,SLC二進位快取記憶體)複製至記憶體1404之第二部分1420(例如,MLC分割區)係完全地在記憶體1404內執行而不涉及控制器1406。結果,將由自記憶體1404至控制器1406及自控制器1406回至記憶體1404之資料傳送引起的延時得以避免。
圖15描繪系統1500之實施例,系統1500用以使用不同ECC方案來儲存資料,該等ECC方案用以編碼資料以快取於記憶體1504之第一部分1510(例如,SLC部分)處且編碼資料以儲存於記憶體1504之第二部分1520(例如,MLC部分)處。系統1500包括經組態成以操作方式耦接至主機設備1530之資料儲存設備1502。舉例而言,主機設備1530可對應於圖12之主機設備1230。
資料儲存設備1502包括具有ECC引擎1508之控制器1506且亦包括記憶體1504(例如,NAND快閃記憶體)。記憶體1504之第一部分1510(例如,充當二進位快取記憶體之SLC部分)包括第一實體頁1512,且記憶體1504之第二部分1520(例如,MLC部分)包括第二實體頁1522。第二實體頁1522包括第一邏輯頁1524且亦包括相比於第一邏輯頁1524具有較高可靠性之第二邏輯頁1526。
控制器1506經組態以起始第一編碼操作來編碼自主機設 備1530所接收之資料頁1532以寫入至記憶體1504之第一部分1510。第一編碼操作包括組態ECC引擎1508以根據第一ECC方案來產生第一經編碼資料1540。第一經編碼資料1540可包括足夠冗餘以使能夠基於第一實體頁1512之可靠性來恢復資料頁1532。第一經編碼資料1540可經設定大小以橫跨記憶體1504之第一部分1510之單一頁(亦即,第一經編碼資料1540之部分未儲存至除了第一實體頁1512以外之頁)。
在將第一經編碼資料1540儲存至第一實體頁1512之後,可自第一實體頁1512讀取第一經編碼資料1540之表示1550且將表示1550提供至控制器1506。表示1550可歸因於一或多個位元錯誤(諸如,代表性位元錯誤1552)之存在而不同於第一經編碼資料1540。控制器1506經組態以致使ECC引擎1508解碼表示1550來恢復資料頁1532。
控制器1506經組態以在ECC引擎1508處根據第二ECC方案來編碼已恢復資料頁1532。舉例而言,當控制器1506判定資料頁1532待儲存於第一邏輯頁1524處時,控制器1506組態ECC引擎1508以編碼資料頁1532來產生第二經編碼資料1560(例如,長碼字),第二經編碼資料1560具有足夠冗餘以適應第一邏輯頁1524之相對較低可靠性。
第二經編碼資料1560(亦即,長碼字)可超過第一邏輯頁1524之長度。第二經編碼資料1560之第一部分1562可實質上填充第一邏輯頁1524,且第二經編碼資料之第二部分1564可填充第二邏輯頁1526之至少一部分。因此,第二經 編碼資料1560相比於橫跨遍及單一實體頁1512之第一經編碼資料1540橫跨遍及較多頁(亦即,第一邏輯頁1524及第二邏輯頁1526之部分)。
圖16說明一方法之實施例,該方法包括寫入經編碼資料之多個部分及自該多個部分中之單一部分恢復資料。該方法可在具有包括第一實體頁及第二實體頁之多個實體頁之資料儲存設備中執行。舉例而言,該方法可在圖12之資料儲存設備1202中執行。
在1602處,接收待儲存於資料儲存設備中之資料頁。當資料儲存設備以操作方式耦接至主機設備時,可自主機設備接收資料頁。舉例而言,資料儲存設備1202可以實體方式或以無線方式耦接至主機設備1230。資料儲存設備1202可自主機設備1230接收資料頁1232。
在1604處,起始編碼操作以編碼資料頁。編碼操作產生第一經編碼資料。舉例而言,第一經編碼資料可對應於圖11之第一碼字1130。
在1606處,將第一經編碼資料之第一部分儲存至第一實體頁。在1608處,起始第一經編碼資料之第二部分至第二實體頁之儲存。第一經編碼資料之第二部分可僅包括同位位元。舉例而言,資料儲存設備可包括具有單位階記憶體單元(SLC)部分及多位階記憶體單元(MLC)部分之快閃記憶體。第一實體頁及第二實體頁可位於SLC部分(例如,二進位快取記憶體)中以用於儲存經接收資料,直至經接收資料被複製至快閃記憶體之多位階記憶體單元(MLC)部分 中之第三實體頁。
可回應於儲存第一經編碼資料之第一部分而將訊息(諸如,圖12之訊息1248)發送至主機設備。該訊息可指示出資料頁已成功地儲存於資料儲存設備處。可在完成儲存第一經編碼資料之第二部分之前發送該訊息。之所以可在儲存第二部分之前發送該訊息係因為資料頁之經儲存之第一部分具有足夠冗餘以根據第一實體頁之可靠性來恢復資料頁。
在1610處,起始解碼操作以恢復資料頁。舉例而言,可回應於在完成寫入第一經編碼資料之第二部分之前的斷電事件之後的電力再繼續而起始解碼操作。解碼操作使用自第一實體頁所讀取的第一經編碼資料之第一部分之表示而不使用來自第二實體頁之任何資料。
在經由解碼操作而恢復資料頁之後,可起始第二編碼操作以編碼資料頁。第二編碼操作可產生第二經編碼資料,且可將第二經編碼資料之第一部分儲存至第三實體頁。舉例而言,第二經編碼資料之第一部分可為儲存於圖12之第三實體頁1222內之第一邏輯頁1224中之第一部分1240的表示1262。可將第二經編碼資料之第二部分儲存至第三實體頁內之第二邏輯頁,諸如,儲存於圖12之第二邏輯頁1226中之第二部分1242的表示1264。
第一經編碼資料可具有超過第一實體頁之大小的長度,且第二經編碼資料可具有超過第一邏輯頁之大小的長度。如關於圖11至圖12所描述,因為第一邏輯頁相比於第二邏 輯頁可具有較低可靠性,所以可使用額外同位位元以編碼資料頁,從而致使碼字具有超過第一邏輯頁及第一實體頁之大小的長度。
圖17說明一方法之實施例,該方法包括在記憶體晶粒內產生額外冗餘資料。該方法可在具有控制器及記憶體晶粒之資料儲存設備中執行,其中控制器包括錯誤校正編碼(ECC)引擎且記憶體晶粒包括多個實體頁,該等實體頁包括第一實體頁及第二實體頁。舉例而言,該方法可在圖14之資料儲存設備1402中執行。
在1702處,接收待儲存於資料儲存設備中之資料頁。當資料儲存設備以操作方式耦接至主機設備時,自主機設備接收資料頁。舉例而言,資料儲存設備1402可以實體方式或以無線方式耦接至主機設備1430。資料儲存設備1402可自主機設備1430接收資料頁1432。
在1704處,可在ECC引擎處起始編碼操作以編碼資料頁。編碼操作產生第一經編碼資料,諸如,圖14之第一經編碼資料1440。在1706處,在記憶體晶粒處將第一經編碼資料之至少一部分儲存至第一實體頁。
在1708處,可在記憶體晶粒處產生第二經編碼資料。可藉由自第一實體頁讀取第一經編碼資料之部分之表示(諸如,圖14之表示1450)且基於第一經編碼資料之部分之表示而在記憶體晶粒處產生冗餘資料來產生第二經編碼資料。
舉例而言,可在圖14之冗餘資料產生器電路1472處產生 冗餘資料。可藉由複製第一經編碼資料之部分之表示的至少一部分而在記憶體晶粒處產生冗餘資料。在1710處,將第二經編碼資料儲存至第二實體頁。
舉例而言,可將SLC二進位快取記憶體用於碼字之臨時儲存器。舉例說明,可將第一經編碼資料儲存至快閃單位階記憶體單元(SLC)頁處之第一實體頁,且可將第二經編碼資料儲存至多個快閃多位階記憶體單元(MLC)邏輯頁處之第二實體頁。因為冗餘資料係在記憶體晶粒處產生,所以可避免控制器涉及(以及歸因於自記憶體晶粒至控制器且回至記憶體晶粒之資料傳送的對應延遲)。
圖18說明將資料寫入至記憶體之方法之實施例。該方法可在具有多個實體頁(例如,第一實體頁及第二實體頁)之資料儲存設備中執行。
在1802處,接收待儲存於資料儲存設備中之資料頁。當資料儲存設備以操作方式耦接至主機設備時,自主機設備接收資料頁。舉例而言,資料頁可為自圖13之主機設備1330所接收之資料頁1332。作為另一實例,資料頁可為自圖15之主機設備1530所接收之資料頁1532。
在1804處,起始第一編碼操作以編碼資料頁。第一編碼操作產生第一經編碼資料。舉例而言,可在圖13之ECC引擎1308處執行第一編碼操作。作為另一實例,可在圖15之ECC引擎1508處執行第一編碼操作。
在1806處,將第一經編碼資料之至少一部分儲存至第一實體頁。可將所有第一經編碼資料儲存至第一實體頁,諸 如,圖15之第一經編碼資料1540。或者,第一經編碼資料可包括第一部分及第二部分,諸如,圖12之部分1240至1242或圖13之部分1340至1342。可將第一部分儲存至第一實體頁且可捨棄第二部分。
在1808處,解碼自第一實體頁所讀取的第一經編碼資料之部分之表示以恢復資料頁。舉例而言,可在圖13之ECC引擎1308處解碼表示1350。作為另一實例,可在圖15之ECC引擎1508處解碼表示1550。
在1810處,起始第二編碼操作以編碼資料頁。第二編碼操作產生第二經編碼資料。舉例而言,可在圖13之ECC引擎1308處執行第二編碼操作以產生第二經編碼資料1360。作為另一實例,可在圖15之ECC引擎1508處執行第二編碼操作以產生第二經編碼資料1560。
在1812處,將第二經編碼資料儲存至第二實體頁。第二經編碼資料相比於第一經編碼資料之該部分橫跨遍及較多頁。可將第一經編碼資料之該部分儲存至相比於第二實體頁較可靠之快閃頁處之第一實體頁。舉例而言,在二進位快取實施中,可將第一經編碼資料之該部分儲存至快閃單位階記憶體單元(SLC)頁處之第一實體頁,且可將第二經編碼資料儲存至多個快閃多位階記憶體單元(MLC)邏輯頁處之第二實體頁。
在一些實施例中,第一編碼操作相比於第二編碼操作使用相同錯誤校正編碼(ECC)方案。舉例而言,圖13之資料儲存設備1302使用相同ECC方案以編碼第一經編碼資料 1340及第二經編碼資料1360。在其他實施例中,第一編碼操作使用第一錯誤校正編碼(ECC)方案且第二編碼操作使用不同於第一ECC方案之第二ECC方案。舉例而言,圖15之資料儲存設備1502使用不同ECC方案以編碼第一經編碼資料1540且編碼第二經編碼資料1560。
使儲存容量匹配於頁可靠性
用以適應不相等頁可靠性之另一技術包括將較多資訊儲存於較可靠頁上及將較少資訊儲存於較不可靠頁上。可將不同碼具有相同碼長度但可能地具有不同碼率之多位準編碼(MLC)方案用於字線之不同頁。圖5及圖6中展示此MLC方案之串接碼字至字線之頁中的兩個可能映射。可針對此等方案來修改快閃記憶體管理,此係因為不同頁儲存不同量之資訊。
在一替代技術中,每一頁可儲存相同量之使用者資料(例如,8 KB),但可儲存不同量之管理資料、控制資料或任何其他旁側資訊。可儲存於字線之較可靠頁(其由於將較少冗餘用於使用者資料而將具有較高儲存容量)上之旁側資訊的實例為統計資訊,諸如,關於經儲存資料或關於字線之記憶體單元電壓分佈的統計資訊。可將此旁側資訊用於調整讀取位準、改良錯誤校正能力、管理資料之目的、一或多個其他目的,或其任何組合。管理資料、控制資料或旁側資訊可與使用者資訊分離地被編碼且無需與同一碼字內之使用者資訊一起被編碼。
利用可靠頁中之一些冗餘記憶體單元進行塑形
可藉由將較可靠頁之增加儲存容量(歸因於用於編碼使用者資料之較少同位位元的增加儲存容量)用於塑形遍及經程式化狀態之機率分佈來處理不相等頁可靠性。可將機率分佈之適當塑形用於耐久性增強、錯誤率縮減、「雜訊」減輕或其任何組合。因為MLC字線之較可靠頁需要較少ECC冗餘以便提供與MLC字線之較不可靠頁相同的可靠性,所以可將較可靠頁中之未用冗餘用作「塑形」冗餘。「塑形」冗餘可使能夠誘導遍及經程式化狀態之指定非均一機率分佈。舉例而言,可較不頻繁地程式化高狀態及低狀態,此情形又將縮減記憶體單元之磨損且減輕某些程式干擾效應。
圖19說明使用基於頁可靠性之塑形冗餘來儲存資料之實例1900。可在諸如快閃記憶體之記憶體處接收包括表示第一資料(資料1)之第一位元群組1902及表示第二資料(資料2)之第二位元群組1904的資料。第一群組1902及第二群組1904中每一者可包括待儲存於MLC記憶體之單一字線處之N個位元。
對第二位元群組1904執行塑形編碼操作1910以產生第三位元群組1916。第二位元群組1904可能已被編碼成使得「0」位元值(p0)出現於一位元部位處之機率實質上等於「1」位元值(p1)之機率,其經說明為第二位元群組1904之位元值之均一機率分佈1912。均一機率分佈1912被描繪為條形圖,該條形圖將「0」位元值之機率說明為被標記為「p0」之條之高度且將「1」之機率說明為被標記為 「p1」之條之高度。變換1913在第三位元群組1916中產生位元值之非均一機率分佈1914。非均一機率分佈1914說明第三位元群組1916中「0」位元之機率大於「1」位元之機率。
第三位元群組1916具有M個位元(M>N)且經說明為附加至第二位元群組1904之額外位元(塑形同位)1918。然而,應理解,第三位元群組1916無需包括具有附加塑形同位1918之第二位元群組1904且可改為由經變換資料位元形成。
對第一位元群組1902執行第一ECC編碼操作1920,且對第三位元群組1916執行第二ECC編碼操作1922。經由儲存操作1924而將由第一ECC編碼操作1920引起之資料(經說明為具有附加之第一ECC同位位元(ECC同位1)的第一資料(資料1))儲存至第一邏輯頁1932。經由儲存操作1924而將由第二ECC編碼操作1922引起之資料(經說明為第二資料(資料2)、塑形同位1918及第二ECC同位位元(ECC同位2))儲存至第二邏輯頁1936。
因為第一邏輯頁1932具有大於第二邏輯頁1936之第二錯誤率1938的第一錯誤率1934,所以可用多於保護第二資料之ECC同位的ECC同位來保護第一資料。第一ECC同位位元之位元數目(P1)可等於第二ECC同位之位元數目(P2)與塑形同位1918之位元數目的總和。相比於第一ECC同位基於第一錯誤率1934提供至第一資料之錯誤保護,第二ECC同位可基於第二錯誤率1938將實質上相同錯誤保護提供至 第二資料。
第一邏輯頁1932及第二邏輯頁1936係在諸如MLC記憶體之實體頁之儲存元件群組1930內。儲存元件群組1930包括M個儲存元件,諸如,快閃記憶體單元(經說明為具有索引c1......cm之記憶體單元)。每一儲存元件儲存表示多個位元之一狀態(s0、s1等等)。舉例而言,第一儲存元件c1具有表示用於第一邏輯頁之第一位元及用於第二邏輯頁之第二位元的狀態s1。
藉由增加「0」位元之機率且減低「1」位元之機率,塑形編碼操作1910影響儲存元件群組1930之狀態之分佈。雖然圖19說明兩個邏輯頁1932、1936,但其他實施可包括三個或三個以上邏輯頁。舉例而言,具有M=8個狀態記憶體單元之快閃記憶體可使用表5之格雷映射。
每一頁可儲存8 KB之使用者資料且具有1 KB之冗餘(亦即,字線含有8 KB+1 KB=9 KB記憶體單元,1 KB=1024位元組)。關於圖19及圖20來描述可如何將使用者資料編碼至字線之頁中(例如,每頁8 KB)及如何分配冗餘之實例。在圖19之所說明實例中,對於上部頁(亦即,相比於第二 邏輯頁1936較不可靠之第一邏輯頁1932),將整個冗餘區域用於ECC冗餘。對於較可靠之下部頁及/或中間頁,將冗餘區域用於ECC冗餘及塑形冗餘兩者,如關於圖20所描述。資訊理論分析展示出,為了針對所有頁而達成相同可靠性,展現錯誤率僅為上部頁之錯誤率之2/3的下部頁及中間頁僅需要約683 B之冗餘(出自可用之1 KB)。結果,約341 B之冗餘可用於塑形。
可如下利用可用冗餘:首先用塑形碼來編碼儲存於下部頁或中間頁上的8 KB之使用者資料,該塑形碼將該使用者資料映射至大小為8533 B(=8 KB+341 B)之「經塑形」字中,相比於原始使用者資料,該字具有「1」之縮減分率(或者,塑形可用以縮減「0」之分率)。接著,使用ECC編碼器將「經塑形」字編碼成9 KB之碼字(8533 B+683 B)。若使用者資料係隨機的(亦即,針對「0」及「1」之相等機率),則遍及8192 B之使用者資料的341 B之塑形冗餘可使能夠將碼字中「1」之分率p平均地自50%縮減至約38%(p=Hb -1(8192/8533)0.38,其中Hb(p)=-p.log2(p)-(1-p).log2(1-p))。遍及「經塑形」記憶體單元之經程式化狀態的所得機率分佈可藉由下式給出:P=[0.5.p2 0.5.(1-p).p 0.5.(1-p).p 0.5.(1-p).(1-p)0.5.(1-p).(1-p)0.5.(1-p).p 0.5.(1-p).p 0.5.p2]=[0.0722 0.1178 0.1178 0.1922 0.1922 0.1178 0.1178 0.0722]
因為在此實例中ECC冗餘記憶體單元未「經塑形」,所 以遍及該等記憶體單元之經程式化狀態的分佈可實質上均一(U=[1/8 1/8 1/8 1/8 1/8 1/8 1/8 1/8])。因此,沿著字線遍及經程式化狀態之總分佈可為:(8532/9216).P+(684/9216).U=[0.0761 0.1183 0.1183 0.1872 0.1872 0.1183 0.1183 0.0761]
因此,可顯著地縮減針對兩個極端狀態(例如,表5之狀態「Er」及「G」)之機率。最極端狀態之縮減機率使能夠縮減記憶體單元磨損(且因此實現較高循環及資料保留效能)且縮減程式干擾效應(且因此縮減錯誤率)。
圖20說明用以使用基於頁可靠性之塑形冗餘來儲存資料之系統。系統2000包括經組態成以操作方式耦接至主機設備2030之資料儲存設備2002。舉例而言,主機設備2030可對應於圖12之主機設備1230。
資料儲存設備2002包括具有塑形編碼器2008及ECC引擎2010之控制器2006。資料儲存設備2002亦包括記憶體2004,諸如,快閃多位階記憶體單元(MLC)記憶體。記憶體2004包括諸如快閃MLC記憶體單元之儲存元件2020,及諸如代表性群組2022之一或多個儲存元件群組。舉例說明,群組2022可為MLC字線,諸如,代表性3位元MLC字線2040。
塑形編碼器2008經組態以接收具有「1」值及「0」值之第一分佈之輸入資料且產生具有「1」值及「0」值之經修改分佈之輸出資料。塑形編碼器2008可經組態以應用一塑 形操作,該塑形操作產生塑形同位位元,使得所得輸出資料(例如,經附加有塑形同位之輸入資料)具有位元值之非均一機率分佈。塑形編碼操作可增加MLC記憶體2004之實體頁之個別記憶體單元將被程式化至中間狀態的可能性且可減低MLC記憶體2004之實體頁之個別記憶體單元將被程式化至最低狀態或最高狀態或其兩者的可能性。舉例而言,塑形編碼器2008可經組態以執行圖19之塑形編碼操作1910。
控制器2006經組態以自主機設備2030接收使用者資料2032。使用者資料2032包括將儲存於MLC字線(WL)之上部頁中之第一位元群組2050(資料1)、將儲存於MLC字線之中間頁中之第二位元群組2052(資料2),及將儲存於MLC字線之下部頁中之第三位元群組2054(資料3)。上部頁相比於中間頁及下部頁具有較高錯誤率。
控制器2006經組態以對第二群組2052且對第三群組2054但不對第一群組2050執行塑形編碼操作。將第二群組2052及第三群組2054提供至塑形編碼器2008以分別產生經塑形之第二資料2056及經塑形之第三資料2058。經塑形之第二資料2056相比於第二群組2052包括較多位元,且經塑形之第三資料2058相比於第三群組2054包括較多位元。
控制器2006經組態以將第一群組2050提供至ECC引擎2010,從而略過塑形編碼器2008。ECC引擎2010應用第一ECC編碼操作2012,第一ECC編碼操作2012基於第一資料位元群組2050來產生第一ECC同位(ECC同位1)以形成經 ECC編碼之第一資料2060。控制器2006經組態以將經塑形之第二群組2056提供至ECC引擎2010以應用第二ECC編碼操作2014,第二ECC編碼操作2014產生第二ECC同位(ECC同位2)以形成經ECC編碼之經塑形之第二資料2062。相似地,將經塑形之第三群組2058提供至ECC引擎2010以產生第三ECC同位(ECC同位3)以形成經ECC編碼之經塑形之第三資料2064。
經ECC編碼之第一資料2060的第一ECC同位位元相比於經ECC編碼之經塑形之第二資料2062的第二ECC同位位元包括較多位元以提供用於MLC字線2040之較不可靠之上部頁的較大錯誤校正能力。舉例而言,第一ECC同位位元可使能夠校正上部邏輯頁中之高達第一數目個錯誤,且第二ECC同位位元可使能夠校正中間邏輯頁中之高達第二數目個錯誤。上部邏輯頁中錯誤之數目超過該第一數目的第一機率可實質上等於中間邏輯頁中錯誤之數目超過該第二數目的第二機率。因為中間頁及下部頁針對量與上部頁之錯誤校正能力之量相同的錯誤校正能力需要較少同位,所以由塑形編碼器2008所產生之塑形同位可包括於MLC字線2040之同位部分中。
控制器2006經組態以將第一經ECC編碼資料2060(亦即,第一群組2050及對應於第一群組2050之第一錯誤校正編碼(ECC)同位位元)發送至MLC記憶體2004以儲存於MLC記憶體2004之實體頁內所含有之第一邏輯頁(例如,上部頁)處。控制器2006經組態以將經ECC編碼之經塑形之第二 資料2062及經ECC編碼之經塑形之第三資料2064發送至MLC記憶體2004以分別儲存於MLC記憶體2004之實體頁內所含有之第二邏輯頁(例如,中間頁)及第三邏輯頁(例如,下部頁)處。
圖21說明用以恢復已使用基於頁可靠性之塑形冗餘而塑形之資料(諸如,用以讀取及解碼已由圖20之系統編碼及儲存之資料)的系統。系統2100包括經組態成以操作方式耦接至主機設備2130之資料儲存設備2102。資料儲存設備2102包括耦接至控制器2106之記憶體2104,諸如,快閃MLC記憶體。記憶體2104包括諸如快閃MLC記憶體單元之儲存元件2120,及諸如代表性群組2122(例如,MLC字線)之一或多個儲存元件群組。控制器2106包括ECC引擎2110及塑形解碼器2108。資料儲存設備2102及主機設備2130可分別對應於圖20之資料儲存設備2002及主機設備2030。
MLC記憶體2104之代表性3位元MLC字線2140經說明為具有可由控制器2106讀取之上部頁、中間頁及下部頁。控制器2106經組態以自MLC記憶體2104之實體頁內的第一邏輯頁(諸如,3位元MLC字線2140之上部頁)擷取第一資料(資料1)及第一ECC同位位元(ECC同位1)之第一表示2160。控制器2106經組態以自MLC記憶體之實體頁內的第二邏輯頁(諸如,3位元MLC字線2140之中間頁)擷取經塑形之第二資料(資料2及塑形同位2)及第二ECC同位位元(ECC同位2)之第二表示2162。控制器2106經組態以自MLC記憶體之實體頁內的第三邏輯頁(諸如,3位元MLC字線2140之下部 頁)擷取經塑形之第三資料(資料3及塑形同位3)及第三ECC同位位元(ECC同位3)之第三表示2164。
表示2160至2164可包括一或多個位元錯誤,該一或多個位元錯誤出於說明性目的而被指示為3位元MLC字線2140之邏輯頁之影線部分。控制器2106經組態以在ECC引擎2110處起始第一表示2160之第一ECC解碼操作2112以恢復第一資料2150。控制器2106經組態以起始第二表示2162之第二ECC解碼操作2114以恢復經塑形之第二資料2156且起始第三表示2164之第二ECC解碼操作2114以恢復經塑形之第三資料2158。
控制器2106經組態以對經塑形之第二資料2156起始塑形解碼操作以產生第二資料2152且對第三經塑形資料2158起始塑形解碼操作以產生第三資料2154。第二資料2152相比於經塑形之第二資料2156具有較少位元,且第三資料2154相比於經塑形之第三資料2154具有較少位元。塑形解碼操作係在塑形解碼器2108處執行且經組態以在第二資料2152中產生位元值之均一機率分佈並在第三資料2154中產生位元值之均一機率分佈。控制器2106可經組態以將第一資料2150、第二資料2152及第三資料2154作為使用者資料2132而提供至主機設備2130。
因為上部頁相比於中間頁及下部頁具有較高錯誤率,所以第一ECC同位相比於第二ECC同位包括較多位元且相比於第三ECC同位包括較多位元。舉例而言,第一ECC同位可使能夠校正第一表示2160中之高達第一數目個錯誤,且 第二ECC同位可使能夠校正第二表示2162中之高達第二數目個錯誤,其中該第一數目大於該第二數目。藉由為較不可靠之上部頁提供較多同位且為較可靠之中間頁提供較少同位,第一表示2160中錯誤之數目超過該第一數目的第一機率可實質上等於第二表示2162中錯誤之數目超過該第二數目的第二機率。結果,中間邏輯頁及下部邏輯頁中每一者相比於上部邏輯頁可具有相同的具有不可校正錯誤之機會,而字線中歸因於縮減同位之額外空間可用以塑形資料以縮減MLC記憶體2104處之磨損及/或程式干擾效應。
圖22說明用以使用基於頁可靠性之塑形冗餘來寫入資料之方法的特定實施例。寫入資料之方法可在具有快閃多位階記憶體單元(MLC)記憶體之資料儲存設備中執行。舉例而言,該方法可由圖20之控制器2006執行。
在2202處,接收包括第一位元群組及第二位元群組之資料。舉例而言,第一位元群組可為第一資料2050且第二位元群組可為圖20之第二資料2052。
在2204處,對第二位元群組起始塑形編碼操作以產生第三位元群組。舉例而言,第三位元群組可為圖20之經塑形之第二資料2056。第三位元群組相比於第二位元群組具有較多位元。塑形編碼操作經組態以在第三位元群組中產生位元值之非均一機率分佈。
在2206處,將第一位元群組及對應於第一位元群組之第一錯誤校正編碼(ECC)同位位元(例如,圖20之經ECC編碼之第一資料2060)儲存至MLC記憶體之實體頁內的第一邏 輯頁,且將第三位元群組及對應於第三位元群組之第二ECC同位位元(例如,圖20之經ECC編碼之經塑形之第二資料2062)儲存至MLC記憶體之實體頁內的第二邏輯頁。
第一邏輯頁可與第一錯誤率相關聯,且第二邏輯頁可與小於第一錯誤率之第二錯誤率相關聯。第一ECC同位位元相比於第二ECC同位位元包括較多位元。舉例而言,圖20之3位元MLC字線2040之上部邏輯頁中的ECC同位1相比於中間邏輯頁中之ECC同位2包括較多位元。
可判定ECC同位位元,使得每一邏輯頁具有不可校正錯誤之近似相等可能性。舉例而言,第一ECC同位位元可使能夠校正第一邏輯頁中之高達第一數目個錯誤,且第二ECC同位位元可使能夠校正第二邏輯頁中之高達第二數目個錯誤。第一邏輯頁中錯誤之數目超過該第一數目的第一機率可實質上等於第二邏輯頁中錯誤之數目超過該第二數目的第二機率。
在一些實施例中,塑形編碼操作增加MLC記憶體之實體頁之個別記憶體單元將被程式化至中間狀態的可能性且減低MLC記憶體之實體頁之個別記憶體單元將被程式化至最低狀態的可能性。在一些實施例中,塑形編碼操作增加MLC記憶體之實體頁之個別記憶體單元將被程式化至中間狀態的可能性且減低MLC記憶體之實體頁之個別記憶體單元將被程式化至最高狀態的可能性。藉由縮減MLC記憶體單元被程式化至最低狀態(例如,表5中之「Er」)及/或最高狀態(例如,表5中之「G」)的可能性,可縮減對MLC記 憶體單元之記憶體單元磨損之量且可延長MLC記憶體單元之可用壽命。
圖23說明用以讀取已使用基於頁可靠性之塑形冗餘而塑形之資料之方法的特定實施例。讀取資料之方法可在具有快閃多位階記憶體單元(MLC)記憶體之資料儲存設備中執行。舉例而言,該方法可由圖21之控制器2106執行。
在2302處,讀取儲存元件群組以在MLC記憶體之實體頁內之第一邏輯頁處擷取第一位元群組及第一ECC同位位元之第一表示且擷取第三位元群組及第二ECC同位位元之第二表示。所擷取之第二表示位於MLC記憶體之實體頁內的第二邏輯頁處。舉例而言,可自圖21之MLC記憶體2104讀取第一表示2160及第二表示2162。
在2304處,起始第一表示之第一ECC解碼操作以恢復第一位元群組。舉例而言,第一ECC解碼操作可為圖21之第一解碼操作2112。
在2306處,起始第二表示之第二ECC解碼操作以恢復第三位元群組。舉例而言,第二ECC解碼操作可為圖21之第二解碼操作2114,第二解碼操作2114相比於使用ECC同位1來解碼資料1之第一解碼操作2112使用較少同位位元(例如,ECC同位2)來解碼較長字(例如,資料2及塑形同位2)。
在2308處,起始對第三位元群組之塑形解碼操作以產生第二位元群組。第三位元群組相比於第二位元群組具有較多位元。塑形解碼操作經組態以在第二位元群組中產生位 元值之均一機率分佈。
第一邏輯頁可與第一錯誤率相關聯,且第二邏輯頁可與小於第一錯誤率之第二錯誤率相關聯。因此,第一ECC同位位元相比於第二ECC同位位元可包括較多位元。第一ECC同位位元可使能夠校正第一表示中之高達第一數目個錯誤,且第二ECC同位位元可使能夠校正第二表示中之高達第二數目個錯誤。結果,第一表示中錯誤之數目超過該第一數目的第一機率可實質上等於第二表示中錯誤之數目超過該第二數目的第二機率。
軟位元
揭示一種用以分離地讀取MLC字線之每一頁以縮減在單一頁之讀取期間之感測操作之數目的方法。作為一副產品,相比於將資料自若干鎖存器傳送至控制器(諸如,在一個碼字之資料位於若干鎖存器中的交錯型儲存方案中),可將來自單一鎖存器之資料自快閃記憶體發送至控制器。除了感測時間節約以外,亦可避免由控制器將「改變行」命令發送至快閃記憶體造成之延遲及由快閃記憶體執行改變行命令造成之延遲。因此,在隨機讀取(相對於依序記憶體位址之串列讀取)期間,相比於交錯型方案,可縮減讀取延時。
可藉由縮減感測時間來實現縮減讀取延時。即使在快閃記憶體之可靠性歸因於磨損而退化的狀況下,仍可維持讀取單一邏輯頁以擷取資料(相對於讀取MLC實體頁處之所有邏輯頁)之能力。
若以較高解析度來讀取快閃記憶體,則可改良軟輸入解碼器之校正能力。自每一快閃記憶體單元上之陣列讀取較高解析度資料,被表示為軟位元(SB)資訊。因為電壓解析度得到改良(例如,以較大精確度來估計讀取臨限值電壓),所以表示讀取解析度所需要之軟位元之數目增加。結果,可執行較多感測操作且可將較多資料位元組自快閃記憶體鎖存器傳送至控制器,以便使用高讀取解析度以增加解碼器之校正能力。較多感測操作及傳送至控制器之資料可造成隨機讀取延遲且快閃記憶體之讀取輸貫量減低。
然而,當將使用軟位元來執行隨機讀取而不顯著地影響校正能力時,可縮減感測操作之數目及傳送時間。仍可經由逐頁讀取來操作快閃記憶體,而針對每一頁分離地獲得軟位元。舉例而言,在使用上文在表5中所描繪之映射的情況下,可彼此獨立地讀取邏輯頁(下部/中間/上部)中每一者且可使用增加讀取解析度,此情形又引起軟輸入解碼器之對應較高校正能力。
若一應用程式在隨機讀取之間請求一依序讀取操作集合(例如,在讀取佔據至少一完全字線之大檔案時的固態驅動器(SSD)應用程式中),則在假定針對依序讀取而保持逐頁讀取之相同校正能力的情況下,可將每讀取記憶體單元縮減數目個軟位元自快閃記憶體發送至控制器。當軟位元表示不均一之電壓區/區間時,用以縮減軟位元之數目的方法可特別有用。在一特定實施例中,針對依序讀取及逐頁讀取兩者而保持用於軟位元之相同位元型樣,從而使能 夠簡化軟輸入解碼器初始化表且使包括兩種此等模式之系統之實施相比於針對依序讀取而使用與用於逐頁讀取之軟位元型樣不同的軟位元型樣能夠較不複雜。
自MLC陣列之快閃記憶體單元讀取較高解析度的習知系統常常獲取所有陣列頁上之資料。舉例而言,對於具有每記憶體單元三個位元(3-BPC)之讀取之MLC快閃記憶體,可針對七個讀取臨限值中每一者而採取另外兩個感測操作以獲得兩個軟位元。用稍微低於讀取臨限值之讀取電壓來進行第一感測操作(用於七個讀取臨限值中每一者),且用稍微高於讀取臨限值之讀取電壓來進行第二感測操作。可使用21個感測操作之集合,以便對控制器獲得較高解析度資訊。在3-BPC實例中,可將總共五個頁自快閃記憶體發送至控制器,以便解碼資料。此五個頁包括用於硬位元(HB)之三個頁及用於軟位元之兩個頁。因為21個臨限值定義22個電壓區間且區分22個不同區間會需要4個以上位元,所以使用五個頁。22個選項(亦即,圖28所說明之由21個臨限值所定義之22個電壓區間)中每一者表示關聯至每一記憶體單元之一電壓帶。在資料經儲存成使得每一碼字駐留於僅一個邏輯頁中的狀況下,即使需要該等邏輯頁中之僅一者,發送至控制器之資料仍包括足以解碼所有三個邏輯頁之位元。
在一特定實施例中,可忽視關於在電壓窗內每一記憶體單元所駐留之確切電壓帶的資訊,且保留關於讀取臨限值僅在其所駐留之狀態內之部位的資訊。讀取狀態之電壓帶 可劃分成電壓區,其中用在「該狀態之中間」附近之電壓臨限值所讀取的記憶體單元被視為高度地可靠,而在較接近於鄰近狀態之間的重疊區段之區中所讀取的記憶體單元較不可靠。電壓區間(其可包括若干電壓帶)離一記憶體單元之鄰近狀態之間的重疊區愈近,則與彼記憶體單元相關聯之所有位元之可靠性的降級愈大。
圖24描繪具有如表5所描述之映射之上部頁的實施例2400,其中針對每一狀態而定義三個可靠性區間。第一表2402說明邏輯頁之狀態(Er至G)、與每一狀態相關聯之硬位元(HB),及額外經感測位元(S1至S4)。用稍微低於用以產生硬位元之讀取電壓的讀取電壓來執行感測S1。因此,自0至1及自1至0之轉變為硬位元之轉變中之稍微較低轉變(向左)。用稍微高於用以產生硬位元之讀取電壓的讀取電壓來執行感測S2。因此,自0至1及自1至0之轉變為硬位元之轉變中之稍微較高轉變(向右)。用稍微低於S1之讀取電壓來執行感測S3。因此,自0至1及自1至0之轉變為S1之轉變中之稍微較低轉變(向左)。用稍微高於S2之讀取電壓來執行感測S4。因此,自0至1及自1至0之轉變為S2之轉變中之稍微較高轉變(向右)。第二表2404說明使用經感測位元S1至S4而產生之軟位元SB1至SB2。應注意,兩個軟位元SB1、SB2含有相關可靠性資訊,且僅使用此兩個軟位元相對於使用4個感測S1至S4不會影響軟低密度同位檢查(LDPC)解碼器之效能。亦應注意,圍繞每一轉變點之五個感測將完全電壓範圍分割成16個區段,因此,原則上可將 五個感測映射至四個頁而非第一表2402所描繪之五個頁。第三表2406展示回應於讀取上部頁而發送至控制器之所得資料(HB、SB1、SB2)。
在圖24中,僅讀取上部頁,且在快閃記憶體鎖存器中產生用於上部頁之兩個軟位元並將該等軟位元傳送至控制器以供解碼器處理。三個頁(HB、SB1及SB2)自快閃記憶體傳送至控制器,而非自記憶體單元所讀取之五個位元(HB、S1、S2、S3、S4)。應注意,關於讀取記憶體單元之確切電壓帶之資訊被丟失。然而,相比於關於確切電壓帶之資訊被保留的方案,駐留於上部頁中之碼字之校正能力僅受到稍微影響。相比於讀取具有軟位元之所有邏輯頁(例如,上部、中間及下部)之習知系統,當讀取具有軟位元之單一邏輯頁時,可將感測操作之數目自35縮減至15。舉例而言,可使用三個感測操作(在狀態A與B之間的轉變時的一個感測操作、在狀態C與D之間的轉變時的一個感測操作,及在狀態E與F之間的轉變時的一個感測操作)而非七個感測操作(在八個狀態Er、A、......、G中每一者之間的一個感測操作)來讀取硬位元。
傳送僅僅兩個軟位元頁SB1及SB2而非四個頁S1至S4之錯誤校正能力效應極小。舉例而言,若分配至上部頁中之碼字之同位為大約10%,則相比於習知方案,錯誤校正能力在記憶體單元錯誤率(CER)方面可縮減達0.2%以下。借助BICM解碼器之理論校正能力(向農界限(Shannon Bound))在CER方面可高於4%。應注意,在歸因於感測操 作及資料傳送之總延遲縮減方面的增益相對大,而系統之校正能力的可能損耗相對小。歸因於總延遲縮減而出現之效能增益包括:感測操作增益,其在此特定實施例中達到約2之因數;及在自快閃記憶體傳送至控制器之較低數目個資料頁方面的增益,其在此特定實施例中為40%。在考慮經設計成針對隨機存取為主要操作模式之應用而進行操作之快閃記憶體的情況下,此等增益係顯著的。
圖24所描繪之方案之檢驗揭露出,由軟位元型樣「10」指示之中等可靠性係由一電壓區(或電壓區間群組)組成,該電壓區係由6個不同電壓帶組成,因此,取得特定記憶體單元之中等可靠性軟位元型樣「10」不會揭示該記憶體單元所駐留之確切電壓帶。然而,電壓區(或電壓區間群組)資訊足以使軟輸入解碼器僅以微小的校正能力損耗來解碼置放於上部頁中之碼字。
諸如圖24所描繪之軟位元方案(其中實際狀態資訊被丟失)之另一優點為操作快閃記憶體陣列內部之擾碼器/解擾碼器的能力,只要將解擾碼器僅應用於自邏輯頁所讀取之硬位元而將軟位元在被讀取時發送至控制器(例如,在不對軟位元進行解擾碼的情況下)即可。圖30中說明經組態以根據圖24之軟位元方案來讀取資料之資料儲存設備之實例。
針對圖25中之一個軟位元的狀況提供相似於圖24中針對兩個軟位元所呈現之方案的方案。圖25描繪用於上部頁之逐頁2-SB讀取可靠性設定之實施例。第一表2502說明狀 態、經感測硬位元(HB)及額外經感測位元(S1、S2)。第二表2504說明藉由邏輯運算NOT(S1 XOR S2)產生之軟位元值。第三表2506描繪待發送至控制器之硬位元值及軟位元值之映射。
對於一些應用程式命令,可讀取整個字線。為了獲得與在逐頁讀取中之解析度相同的解析度,可使用35個感測操作,如圖26進一步詳細地所描述。然而,因為讀取整個字線,所以35個感測操作係在七個感測操作之集合而非如圖24中針對上部頁所描繪之三個感測操作(及來自控制器之每單一命令的用於下部頁及中間頁之兩個感測操作)中具有移位的情況下予以操作。
因為每一感測操作集合中之第一感測操作相比於歸因於相同命令使用每命令七個感測操作之連續感測操作可需要較多時間,所以可達成總感測時序縮減。每一命令中之第一感測操作相比於後續感測操作可需要較多時間,此係因為感測電路內之電容器經充電以設定施加至記憶體單元之控制閘極之電壓且感測放大器電路被啟動。
圖26展示一感測方案之實施例2600,該感測方案包括用於狀態(Er、A、......、G)之記憶體單元分佈及用於硬位元之臨限值讀取電壓(例如,電壓AR、BR、......、GR)與用於額外經感測位元之臨限值讀取電壓(例如,電壓AR-△R、AR+△R)的圖形描繪2602。第一表2604說明鄰近臨限值讀取電壓之間的每一電壓區間至六個位元之集合的映射,該等位元包括三個硬位元(HB1、HB2、HB3)及三個經 感測軟位元(S1、S2、S3)。第二表2606說明每一電壓區間至五個位元之集合的映射,在對經感測軟位元執行邏輯運算之後該五個位元待發送至控制器。
圖26所描繪之感測方案包括每記憶體單元六個位元之型樣,該型樣表示該記憶體單元所駐留之電壓帶。代替將每記憶體單元此六個位元自記憶體中之鎖存器傳送至控制器,可在快閃記憶體鎖存器內部使用NOT{XOR(S2,S3)}逐記憶體單元運算(如圖27所描繪)且接著將結果傳送至控制器而將在表2604中被描繪為S2及S3之最後兩個列統一成一個軟位元資料頁。如圖27所說明,圖26之表2604之位元S1、S2、S3的第一表2702係經由NOT{XOR(S2,S3)}運算2704而映射以產生第二表2706所說明且對應於圖26之表2606之軟位元SB1及SB2的軟位元SB1及SB2。
如圖26所描繪之軟位元產生可獨立於硬位元產生。結果,可在數目與用以提供硬位元之鎖存器之數目相同或數目少於用以提供硬位元之鎖存器之數目的鎖存器中產生軟位元。舉例而言,圖26之軟位元產生可使用數目與習知快閃記憶體之數目相同的鎖存器。圖27說明具有11、10及00之對應代表性位元型樣之高可靠性電壓區、中等可靠性電壓區及低可靠性電壓區(每一電壓區係由多個電壓帶組成)。應注意,此等型樣(圖27中)匹配於與圖24所描繪之位元型樣相同的在逐頁讀取中所獲得之位元型樣。圖27所提及之S2及S3對應於圖26所呈現之S2及S3。即使圖24對應於逐頁讀取且圖27對應於依序讀取,圖27中之SB1及SB2相 比於圖24中之位元仍表示相同可靠性。
即使圖26中之(上部頁之)硬位元映射不同於圖24中針對上部頁硬位元所呈現之映射,軟位元之表示仍保持相同,此係因為軟位元頁係獨立於硬位元頁被讀取。因此,可獨立於選定映射方案而讀取軟位元。
在比較圖27所描繪之方案與習知讀取方案的情況下,圖27所描繪之方案引起將五個頁自控制器傳送至快閃記憶體(相對於六個頁),此對應於16%之傳送時間縮減。然而,若針對在需要整個字線資料時之狀況而選擇逐頁程序,則代替傳送九個頁(例如,執行35個感測操作、針對每一邏輯頁傳送三個頁(亦即,一個HB及兩個SB)且總共傳送3×3=9個頁),僅計算五個頁,此引起約44%之傳送時間縮減。
另外,在使用軟位元型樣與軟輸入可靠性之間的相同變換來啟動控制器中之解碼器後,兩個軟位元之同一集合即可伺服所有三個邏輯頁(上部、中間及下部)。結果,可簡化經設定以獨立地解碼該等邏輯頁中每一者之軟輸入解碼器之設計及實施。
當提供僅一個軟位元時,可使用實質上相似途徑(例如,在快閃記憶體之使能夠用單一軟位元而非兩個軟位元進行操作之較可靠條件下)。圖28說明提供單一軟位元之實施例2800。電壓區間v1至v22之圖形描繪2802對應於一儲存元件之狀態(例如,Er、A、......、G)及該等狀態之間的區。第一表2804說明經感測硬位元(HB1、HB2、HB3)及 軟位元(S1、S2)之映射。第二表2806說明該等硬位元及待發送至控制器之單一軟位元(SB)之映射。圖29描繪自兩個經感測軟位元2902產生單一軟位元2906(諸如,藉由NOT{XOR(S1,S2)}運算2904產生的圖28之SB)之實施例2900。
圖28至圖29說明用於以相似於圖26至圖27之兩個軟位元之方式所讀取之一個軟位元的方案。圖28至圖29之方案相比於逐頁讀取提供相同軟位元映射(例如,圖25及圖29中之軟位元具有相同映射)且亦提供硬位元讀取及產生與軟位元讀取及產生之間的獨立性。舉例而言,可針對硬位元中每一者以一致方式來讀取及產生軟位元。
在一個及兩個軟位元之情況下關於圖24至圖29所描繪及描述之實例並非限制性的且係出於解釋簡易而提供。當每重疊區的感測操作之數目為奇數時,可將相同或相似方法應用於每記憶體單元任何數目個位元及軟位元。舉例而言,在每記憶體單元兩個位元之實施中,9個感測操作使能夠產生一個硬位元及一個軟位元,15個感測操作使能夠產生一個硬位元及兩個軟位元,且21個感測操作使能夠產生一個硬位元及三個軟位元。對於每記憶體單元四個位元,45個感測操作使能夠產生一個硬位元及一個軟位元,且75個感測操作使能夠產生一個硬位元及兩個軟位元。在使用為偶數或奇數、均一或非均一之任何SB臨限值感測的一般狀況下,逐頁軟位元讀取之所揭示實施例仍可行;然而,可能無法保證可將共同軟位元型樣表示用於逐頁讀取及依序讀取。或者,單獨地讀取逐頁軟位元可獨立於數個 選定感測操作。
圖30描繪系統3000之特定實施例,系統3000包括可以操作方式耦接至主機設備3030之資料儲存設備3002。資料儲存設備3002包括耦接至控制器3006之記憶體3004,諸如,NAND快閃記憶體。控制器3006可包括軟輸入錯誤校正編碼(ECC)解碼器3028。記憶體3004包括儲存元件3020、讀取電路3008、鎖存器3010及軟位元電路3012。軟位元電路3012使資料儲存設備3002能夠應用圖24至圖29所描繪之方案中之任何一或多者。
資料儲存設備3002可為記憶卡,諸如,Secure Digital SD®卡、microSD®卡、miniSD.TM卡(德拉瓦州威明頓市之SD-3C LLC的商標)、MultiMediaCard.TM(MMC.TM)卡(維吉尼亞州阿林頓市之JEDEC固態技術協會的商標)或CompactFlash®(CF)卡(加利福尼亞州米爾皮塔斯市之SanDisk公司的商標)。作為另一實例,資料儲存設備3002可為主機設備3030中之嵌入式記憶體,諸如(作為說明性實例),eMMC®(維吉尼亞州阿林頓市之JEDEC固態技術協會的商標)及eSD。
記憶體3004包括多個儲存元件3020,包括儲存元件3020之群組3022。舉例而言,儲存元件3020可包括MLC記憶體單元。舉例說明,記憶體3004可包括多位階記憶體單元(MLC)快閃記憶體,且儲存元件3020之群組3022可為MLC字線。
鎖存器3010操作以鎖存自儲存元件3020之群組3022(諸 如,MLC字線)所讀取之資料。舉例而言,資料儲存設備3002可實施圖26之軟位元方案,其中一個鎖存器2010儲存用於HB1之資料、第二鎖存器2010儲存用於HB2之資料、第三鎖存器2010儲存用於HB3之資料、第四鎖存器2010儲存用於S1之資料、第五鎖存器2010儲存用於S2之資料,且第六鎖存器儲存用於S3之資料。
軟位元電路3012操作以使用一或多個邏輯運算來調處鎖存器3010中之軟資料位元以縮減供作為資料3042而傳送至控制器3006之軟位元之總數。舉例而言,軟位元電路3012可將XOR運算應用於來自兩個鎖存器之資料以產生軟位元資料,諸如,應用NOT{XOR(S0,S1)}運算以產生軟位元SB1且應用NOT{XOR(S2,S3)}運算以產生軟位元SB2。軟位元電路3012可對來自控制器3006之控制資訊3040作出回應以將一或多個額外邏輯運算應用於鎖存器3010中之資料且將所得資料提供至控制器3006。舉例說明,回應於針對來自群組3022之第一邏輯頁之資料的第一請求,讀取電路3008可用讀取資料來填入鎖存器3010、軟位元電路3012可產生SB1資料,且將HB資料及SB1資料發送至控制器3006。回應於針對群組3022之同一邏輯頁之額外軟位元資料的第二請求(例如,當ECC解碼使用HB資料及SB1資料而失敗時),軟位元電路3012可產生SB2資料且將SB2資料發送至控制器3006。
讀取電路3008可操作以將讀取臨限值電壓施加至群組3022以自群組3022之儲存元件感測硬位元資料及軟位元資 料。舉例而言,讀取電路3008可判定一讀取電壓集合、將該等讀取電壓中每一者施加至群組3022之儲存元件且判定硬位元值或軟位元值(例如,藉由將讀取電壓施加至NAND快閃記憶體單元之閘極以判定讀取臨限值是否超過NAND快閃記憶體單元之臨限值電壓)。
作為一實例,可使用可以已知速率進行充電之電容器以施加讀取電壓。當電容器達到初始電壓(諸如,圖26中之電壓AR)時,可對電容器充電且可感測群組3022,此後,可根據充電時間來執行額外感測操作。舉例說明,可在已知充電時間之後將電容器自電壓AR充電至電壓BR,且可在相同已知充電時間之後將電容器自電壓BR充電至電壓CR。可在第一感測操作集合期間產生硬位元,在該等感測操作期間,將電容器自初始感測值(例如,電壓AR)充電至最終感測值(例如,電壓GR)。可在一或多個其他感測操作集合(諸如,自電壓AR-△R至電壓GR-△R之感測操作集合,及自電壓AR+△R至電壓GR+△R之另一感測操作集合)期間感測軟位元。
當執行需要讀取群組3022中之所有硬位元的依序讀取時,讀取電路3008可操作以在圖26所說明之所有參考電壓下(例如,在電壓AR、BR、CR、DR、ER、FR、GR下、在電壓AR-△R、BR-△R、CR-△R、......、GR-△R下、在電壓AR+△R、BR+△R、CR+△R、......、GR+△R下、在電壓AR-2△R、BR-2△R、CR-2△R、......、GR-2△R下,及在電壓AR+2△R、BR+2△R、CR+2△R、......、GR+2△R下)執行感 測。然而,當在記憶體3004處接收到對讀取單一邏輯頁(諸如,對應於HB2之邏輯頁)之請求時,讀取電路3008可操作以在少於所有參考電壓之電壓下執行感測。舉例而言,可使用感測電壓BR及FR而不使用感測電壓AR、CR、DR、ER及GR來讀取HB2。
應注意,通常,硬位元讀取電壓(AR、BR、CR、DR、ER、FR、GR)係相等地隔開,但軟位元讀取電壓未均一地分佈,而是以硬位元讀取電壓為中心。可判定定義軟位元讀取電壓之置放之差異電壓△R的值以改良軟位元解碼器之解碼能力。
記憶體3004亦可包括擾碼器/解擾碼器3050。擾碼器/解擾碼器3050可包括經組態以修改待儲存於儲存元件3020中之資料值(諸如,藉由應用該等資料值與線性回饋移位暫存器之輸出的XOR運算)的電路。擾碼器/解擾碼器3050亦可經組態以修改自儲存元件3020所讀取之資料值以對在儲存之前被擾碼之資料進行解擾碼。
在操作期間,記憶體3004可接收針對儲存於群組3022中之資料之請求。在記憶體3004中產生對應於群組3022之特定儲存元件3024(諸如,快閃MLC字線之代表性記憶體單元)的位元集合3026。可將位元集合3026作為一位元而儲存於鎖存器3010中之一或多者中每一者中,該位元對應於儲存於特定儲存元件3024中之值。
位元集合3026指示臨限值電壓區間群組。舉例而言,位元集合3026可對應於圖28之上部頁之硬位元(HB1)及軟位 元SB。舉例說明,位元集合「11」可對應於圖28之電壓區間群組v1、v4、v7及v10,且位元集合「10」可對應於電壓區間群組v2、v3、v5、v6、v8、v9及v11。
特定儲存元件3024之臨限值電壓對應於臨限值電壓區間群組內之臨限值電壓區間中之一者。舉例而言,若特定儲存元件3024具有在圖28之電壓區間v4(亦即,狀態A)內之臨限值電壓,則位元集合3026指示臨限值電壓區間群組v1、v4、v7及v10。該臨限值電壓區間群組內之至少一臨限值電壓區間係藉由不在該臨限值電壓區間群組內之一介入臨限值電壓區間而與該臨限值電壓區間群組內之另一臨限值電壓區間分離。舉例說明,臨限值電壓區間群組中之區間v1及v4係藉由不在臨限值電壓區間群組內之區間v2及v3分離。
作為由讀取請求引起的鎖存器3010中之資料傳送的部分,將位元集合3026作為資料3042而發送至控制器3006。位元集合3026可包括對應於儲存於特定儲存元件中之值之第一硬位元(例如,圖28之HB1),及對應於經儲存值正確之可靠性之第一軟位元(例如,圖28之SB)。
特定儲存元件3024可位於記憶體3004之實體頁內,該實體頁包括第一邏輯頁及第二邏輯頁,諸如,儲存圖28之HB1之邏輯頁及儲存圖28之HB2之邏輯頁。特定儲存元件3024之狀態對應於多個硬位元,該等硬位元包括對應於第一邏輯頁之第一硬位元及對應於第二邏輯頁之第二硬位元。舉例而言,特定儲存元件3024可具有圖28所說明之狀 態「A」,狀態「A」對應於具有值「1」之第一硬位元HB1及具有值「1」之第二硬位元HB2。
可回應於對讀取第一邏輯頁(例如,對讀取圖28之HB1)之請求而產生位元集合3026。舉例說明,當記憶體3004接收對讀取第一邏輯頁之請求時,位元集合3026包括第一硬位元(例如,HB1),但不包括第二硬位元(例如,HB2)。
作為自記憶體3004所讀取之資料之ECC解碼操作的部分,將第一硬位元及第一軟位元提供至軟輸入ECC解碼器3028。第一軟位元可指示臨限值電壓是否在臨限值電壓區間群組之臨限值電壓區間中任一者之中心區內。舉例而言,在圖28中,「1」之SB值指示出,臨限值電壓係在電壓範圍v1、v4、v7、v10、v13、v16、v19及v22中之一者內,亦即,分別在已定義狀態Er、A、B、C、D、E、F及G中之一者之中心區中,而不在鄰近狀態之間的重疊區內。
可回應於自控制器3006接收針對第一經儲存資料之第一請求而將第一位元集合3026發送至控制器3006。在將第一位元集合3206發送至控制器3006之後,可在記憶體3004處自控制器3006接收針對對應於第一經儲存資料之額外資訊之第二請求。可在記憶體3004處判定對應於特定儲存元件3024之第二軟位元。舉例而言,若第一位元集合3026對應於硬位元(HB)及圖24之最終映射軟位元(SB1),則可藉由執行NOT{XOR(S3,S4)}運算來產生圖24之第二軟位元SB2。
第二軟位元指示臨限值電壓是否在臨限值電壓區間群組之電壓區間中任一者之第二區內。舉例說明,圖24所說明之硬位元(HB)針對狀態Er至A具有「1」值、針對狀態B至C具有「0」值且針對狀態D至E具有「1」值。圖24之軟位元SB1在最接近於狀態A與B之間、狀態C與D之間及狀態E與F之間的轉變的電壓區間中具有「0」值。每一特定電壓區間之第二區係實質上以該特定電壓區間之中點為中心且不同於第一區。舉例而言,第二軟位元SB2將一臨限值電壓指示為位於一電壓區間內,該電壓區間相比於第一軟位元SB2較遠離於狀態A與B之間的轉變、相比於第一軟位元SB2較遠離於狀態C與D之間的轉變,且相比於第一軟位元SB2較遠離於狀態E與F之間的轉變。可將第二軟位元值發送至控制器3006以提供用以輔助解碼之額外可靠性資訊。
記憶體3004可經組態以在逐頁讀取操作期間提供與在依序讀取操作期間提供之軟位元型樣相同的軟位元型樣以指示可靠性。舉例而言,圖25所說明之軟位元型樣包括第一軟位元SB1,第一軟位元SB1在鄰近於對應於頁之硬位元之每一轉變的電壓區間中具有「0」值(亦即,低可靠性)且在別處具有「1」值(亦即,高可靠性)。作為另一實例,圖27所說明之軟位元型樣包括位元集合SB1、SB2,位元集合SB1、SB2具有指示高可靠性之「11」值、指示中等可靠性之「10」值及指示低可靠性之「00」值。軟位元型樣可獨立於位元至狀態之選定映射方案。舉例而言,圖25及圖27之軟位元型樣之軟位元值係基於與狀態之間的轉變的 近接性而非取決於位元至狀態之特定映射予以判定。
可在記憶體3004處藉由將擾碼器/解擾碼器3050應用於第一硬位元而不將擾碼器/解擾碼器3050應用於第一軟位元來對位元集合進行解擾碼。舉例而言,硬位元可指示特定儲存元件3024之狀態(或狀態群組),而軟位元可指示硬位元之可靠性(例如,儲存元件3024與硬位元值之間的轉變的接近程度)。
圖31說明使用軟位元來讀取資料之方法之實施例。該方法可在圖30之資料儲存設備3002中執行。在3102處,在記憶體中產生對應於特定儲存元件之位元集合。位元集合指示臨限值電壓區間群組。特定儲存元件之臨限值電壓對應於該群組內之臨限值電壓區間中之一者。該群組內之至少一臨限值電壓區間係藉由不在該群組內之一介入臨限值電壓區間而與該群組內之另一臨限值電壓區間分離。
在3104處,將位元集合發送至控制器。位元集合包括對應於儲存於特定儲存元件中之值之第一硬位元,及對應於經儲存值正確之可靠性之第一軟位元。
特定儲存元件可位於記憶體之實體頁內。該實體頁包括第一邏輯頁及第二邏輯頁。特定儲存元件之狀態對應於多個硬位元,該等硬位元包括對應於第一邏輯頁之第一硬位元及對應於第二邏輯頁之第二硬位元。可回應於對讀取第一邏輯頁之請求而產生位元集合。舉例說明,當記憶體接收對讀取第一邏輯頁之請求時,位元集合包括第一硬位元,但不包括第二硬位元。
控制器可包括軟輸入錯誤校正編碼(ECC)解碼器,且作為自記憶體所讀取之資料之ECC解碼操作的部分,可將第一硬位元及第一軟位元提供至軟輸入ECC解碼器。第一軟位元可指示臨限值電壓是否在臨限值電壓區間群組之臨限值電壓區間中任一者之中心區內。可回應於來自控制器針對第一經儲存資料之第一請求而將第一位元集合發送至控制器。在將第一位元集合發送至控制器之後,可在記憶體處自控制器接收針對對應於第一經儲存資料之額外資訊之第二請求。
回應於第二請求,可在記憶體處判定對應於特定儲存元件之第二軟位元。第二軟位元可指示臨限值電壓是否在臨限值電壓區間群組之電壓區間中任一者之第二區內。每一特定電壓區間之第二區可實質上以特定電壓區間之中點為中心,且第二區不同於第一區。將第二軟位元值發送至控制器以提供用於軟輸入ECC解碼之額外資訊。
雖然本文所描繪之各種組件經說明為區塊組件且係以一般術語予以描述,但此等組件可包括一或多個微處理器、狀態機,或經組態以使資料儲存設備(諸如,圖8之資料儲存設備802)能夠執行歸因於此等組件之特定功能之其他電路,或其任何組合。舉例而言,圖8之控制器806可表示實體組件,諸如,控制器、狀態機、邏輯電路,或用以指示映射電路812對鎖存器810中之資料執行邏輯運算以修改或實質上等化元件群組822處之頁可靠性的其他結構。
可使用經程式化以產生用以指示映射電路812之控制資 訊840的微處理器或微控制器來實施控制器806。在一特定實施例中,控制器806包括執行儲存於記憶體804處之指令的處理器。或者或另外,可將由處理器執行之可執行指令儲存於不為記憶體804之部分的分離記憶體部位處,諸如,在唯讀記憶體(ROM)(未圖示)處。
在一特定實施例中,資料儲存設備802可為經組態以選擇性地耦接至一或多個外部設備之攜帶型設備。然而,在其他實施例中,資料儲存設備802可附接或嵌入於一或多個主機設備內,諸如,在攜帶型通信設備之外殼內。舉例而言,資料儲存設備802可位於一已封裝裝置(諸如,無線電話、個人數位助理(PDA)、遊戲設備或控制台、攜帶型導航設備,或使用內部非揮發性記憶體之其他設備)內。在一特定實施例中,資料儲存設備802包括非揮發性記憶體,諸如,快閃記憶體(例如,NAND、NOR、多位階記憶體單元(MLC)、分隔式位元線NOR(DINOR)、AND、高電容耦合比率(HiCR)、不對稱無接觸式電晶體(ACT),或其他快閃記憶體)、可抹除可程式化唯讀記憶體(EPROM)、電可抹除可程式化唯讀記憶體(EEPROM)、唯讀記憶體(ROM)、一次可程式化記憶體(OTP),或任何其他類型之記憶體。
本文所描述之實施例之說明意欲提供對各種實施例之一般理解。可利用其他實施例且可自本發明得到其他實施例,使得可在不脫離本發明之範疇的情況下進行結構取代及改變以及邏輯取代及改變。本發明意欲涵蓋各種實施例 之任何及所有後續調適或改變。因此,揭示內容及諸圖應被視為說明性的而非限定性的。
上文所揭示之標的應被視為說明性的而非限定性的,且附加申請專利範圍意欲涵蓋屬於本發明之範疇的所有此等修改、增強及其他實施例。因此,在法律允許之最大程度上,本發明之範疇應藉由以下申請專利範圍及其等效者之最廣許可解釋進行判定,而不應受到前述[實施方式]限定或限制。
100‧‧‧實例
102‧‧‧多位階記憶體單元(MLC)字線
104‧‧‧第一碼字
106‧‧‧第二碼字
108‧‧‧第三碼字
110‧‧‧上部頁
112‧‧‧中間頁
114‧‧‧下部頁
124‧‧‧第一資料
126‧‧‧第一同位
128‧‧‧聯合同位
131‧‧‧子碼
132‧‧‧子碼
133‧‧‧子碼
134‧‧‧子碼
135‧‧‧子碼
136‧‧‧子碼
137‧‧‧子碼
138‧‧‧子碼
200‧‧‧實例
202‧‧‧MLC字線
204‧‧‧第一碼字
206‧‧‧第二碼字
208‧‧‧第三碼字
210‧‧‧上部頁
212‧‧‧中間頁
214‧‧‧下部頁
220‧‧‧第一資料
222‧‧‧第一同位
224‧‧‧第一資料
226‧‧‧第一同位
230‧‧‧聯合同位
300‧‧‧映射實例/映射
302‧‧‧MLC字線
304‧‧‧第一碼字
306‧‧‧第二碼字
308‧‧‧第三碼字
310‧‧‧上部頁
312‧‧‧中間頁
314‧‧‧下部頁
320‧‧‧第一資料
322‧‧‧第一同位
324‧‧‧第一資料
326‧‧‧第一同位
330‧‧‧聯合同位
332‧‧‧額外同位
334‧‧‧聯合同位
400‧‧‧映射實例
402‧‧‧MLC字線
404‧‧‧第一碼字
406‧‧‧第二碼字
408‧‧‧第三碼字
410‧‧‧上部頁
412‧‧‧中間頁
414‧‧‧下部頁
500‧‧‧映射實例
502‧‧‧MLC字線
504‧‧‧第一碼字
506‧‧‧第二碼字
508‧‧‧第三碼字
510‧‧‧上部頁
512‧‧‧中間頁
514‧‧‧下部頁
600‧‧‧映射實例
602‧‧‧MLC字線
604‧‧‧第一碼字
606‧‧‧第二碼字
608‧‧‧第三碼字
610‧‧‧上部頁
612‧‧‧中間頁
614‧‧‧下部頁
700‧‧‧特定實施例
702‧‧‧第一鎖存器
704‧‧‧第二鎖存器
706‧‧‧第P鎖存器
708‧‧‧未指定資料位元
710‧‧‧指定資料位元
720‧‧‧邏輯運算
722‧‧‧經調處資料位元
730‧‧‧內建式第一映射
740‧‧‧儲存元件群組
800‧‧‧系統
802‧‧‧資料儲存設備
804‧‧‧記憶體
806‧‧‧控制器
808‧‧‧寫入電路
810‧‧‧鎖存器
812‧‧‧映射電路
820‧‧‧儲存元件
822‧‧‧儲存元件群組
830‧‧‧主機設備
832‧‧‧使用者資料
840‧‧‧控制資訊
842‧‧‧資料
850‧‧‧第一平面
852‧‧‧第二平面
900‧‧‧邏輯運算序列
902‧‧‧初始映射/第一映射
904‧‧‧第一運算/邏輯運算
906‧‧‧映射
908‧‧‧第二運算/邏輯運算
910‧‧‧映射
912‧‧‧第三運算/邏輯運算
914‧‧‧映射
916‧‧‧第四運算/邏輯運算
918‧‧‧最終映射
1100‧‧‧特定實施例
1104‧‧‧第一單位階記憶體單元(SLC)頁
1106‧‧‧第二SLC頁
1108‧‧‧第三SLC頁
1110‧‧‧第四SLC頁
1120‧‧‧MLC字線
1122‧‧‧上部頁
1124‧‧‧中間頁
1126‧‧‧下部頁
1130‧‧‧碼字
1132‧‧‧碼字
1134‧‧‧碼字
1136‧‧‧第一部分
1138‧‧‧第二部分
1140‧‧‧第三部分
1200‧‧‧系統
1202‧‧‧資料儲存設備
1204‧‧‧記憶體
1206‧‧‧控制器
1208‧‧‧錯誤校正編碼(ECC)引擎
1210‧‧‧第一部分
1212‧‧‧第一實體頁
1214‧‧‧第二實體頁
1220‧‧‧第二部分
1222‧‧‧第三實體頁
1224‧‧‧第一邏輯頁
1226‧‧‧第二邏輯頁
1230‧‧‧主機設備
1232‧‧‧資料頁
1240‧‧‧第一部分
1242‧‧‧第二部分
1248‧‧‧訊息
1252‧‧‧代表性位元錯誤
1262‧‧‧表示
1264‧‧‧表示
1300‧‧‧系統
1302‧‧‧資料儲存設備
1304‧‧‧記憶體
1306‧‧‧控制器
1308‧‧‧ECC引擎
1310‧‧‧第一部分
1312‧‧‧第一實體頁
1320‧‧‧第二部分
1322‧‧‧第二實體頁
1324‧‧‧第一邏輯頁
1326‧‧‧第二邏輯頁
1330‧‧‧主機設備
1332‧‧‧資料頁
1340‧‧‧第一部分
1342‧‧‧第二部分
1350‧‧‧表示
1352‧‧‧代表性位元錯誤
1360‧‧‧第二經編碼資料
1362‧‧‧第一部分
1364‧‧‧第二部分
1400‧‧‧系統
1402‧‧‧資料儲存設備
1404‧‧‧記憶體
1406‧‧‧控制器
1408‧‧‧ECC引擎
1410‧‧‧第一部分
1412‧‧‧第一實體頁
1420‧‧‧第二部分
1422‧‧‧第二實體頁
1424‧‧‧第一邏輯頁
1426‧‧‧第二邏輯頁
1430‧‧‧主機設備
1432‧‧‧資料頁
1440‧‧‧第一經編碼資料
1450‧‧‧表示
1452‧‧‧代表性位元錯誤
1460‧‧‧第二經編碼資料
1472‧‧‧冗餘資料產生器電路
1474‧‧‧冗餘資料
1500‧‧‧系統
1502‧‧‧資料儲存設備
1504‧‧‧記憶體
1506‧‧‧控制器
1508‧‧‧ECC引擎
1510‧‧‧第一部分
1512‧‧‧第一實體頁
1520‧‧‧第二部分
1522‧‧‧第二實體頁
1524‧‧‧第一邏輯頁
1526‧‧‧第二邏輯頁
1530‧‧‧主機設備
1532‧‧‧資料頁
1540‧‧‧第一經編碼資料
1550‧‧‧表示
1552‧‧‧代表性位元錯誤
1560‧‧‧第二經編碼資料
1562‧‧‧第一部分
1564‧‧‧第二部分
1900‧‧‧實例
1902‧‧‧第一位元群組
1904‧‧‧第二位元群組
1910‧‧‧塑形編碼操作
1912‧‧‧均一機率分佈
1913‧‧‧變換
1914‧‧‧非均一機率分佈
1916‧‧‧第三位元群組
1918‧‧‧額外位元/塑形同位
1920‧‧‧第一ECC編碼操作
1922‧‧‧第二ECC編碼操作
1924‧‧‧儲存操作
1930‧‧‧儲存元件群組
1932‧‧‧第一邏輯頁
1934‧‧‧第一錯誤率
1936‧‧‧第二邏輯頁
1938‧‧‧第二錯誤率
2000‧‧‧系統
2002‧‧‧資料儲存設備
2004‧‧‧記憶體
2006‧‧‧控制器
2008‧‧‧塑形編碼器
2010‧‧‧ECC引擎
2012‧‧‧第一ECC編碼操作
2014‧‧‧第二ECC編碼操作
2020‧‧‧儲存元件
2022‧‧‧代表性群組
2030‧‧‧主機設備
2032‧‧‧使用者資料
2040‧‧‧MLC字線
2050‧‧‧第一位元群組/第一資料
2052‧‧‧第二位元群組/第二資料
2054‧‧‧第三位元群組
2056‧‧‧經塑形之第二資料/將經塑形之第二群組
2058‧‧‧經塑形之第三資料/經塑形之第三群組
2060‧‧‧經ECC編碼之第一資料/第一經ECC編碼資料
2062‧‧‧經ECC編碼之經塑形之第二資料
2064‧‧‧經ECC編碼之經塑形之第三資料
2100‧‧‧系統
2102‧‧‧資料儲存設備
2104‧‧‧記憶體
2106‧‧‧控制器
2108‧‧‧塑形解碼器
2110‧‧‧ECC引擎
2112‧‧‧第一ECC解碼操作
2114‧‧‧第二ECC解碼操作
2120‧‧‧儲存元件
2122‧‧‧代表性群組
2130‧‧‧主機設備
2132‧‧‧使用者資料
2140‧‧‧MLC字線
2150‧‧‧第一資料
2152‧‧‧第二資料
2154‧‧‧第三資料
2156‧‧‧經塑形之第二資料
2158‧‧‧經塑形之第三資料/第三經塑形資料
2160‧‧‧第一表示
2162‧‧‧第二表示
2164‧‧‧第二表示
2400‧‧‧實施例
2402‧‧‧第一表
2404‧‧‧第二表
2406‧‧‧第三表
2502‧‧‧第一表
2504‧‧‧第二表
2506‧‧‧第三表
2600‧‧‧實施例
2602‧‧‧圖形描繪
2604‧‧‧第一表
2606‧‧‧第二表
2702‧‧‧第一表
2704‧‧‧NOT{XOR(S2,S3)}運算
2706‧‧‧第二表
2800‧‧‧實施例
2802‧‧‧圖形描繪
2804‧‧‧第一表
2806‧‧‧第二表
2900‧‧‧實施例
2902‧‧‧經感測軟位元
2904‧‧‧NOT{XOR(S1,S2)}運算
2906‧‧‧軟位元
3000‧‧‧系統
3002‧‧‧資料儲存設備
3004‧‧‧記憶體
3006‧‧‧控制器
3008‧‧‧讀取電路
3010‧‧‧鎖存器
3012‧‧‧軟位元電路
3020‧‧‧儲存元件
3022‧‧‧群組
3024‧‧‧特定儲存元件
3026‧‧‧第一位元集合
3028‧‧‧軟輸入錯誤校正編碼(ECC)解碼器
3030‧‧‧主機設備
3040‧‧‧控制資訊
3042‧‧‧資料
3050‧‧‧擾碼器/解擾碼器
圖1為將串接碼字映射至字線之頁中之第一實施例的總圖,其中單一串接碼字之子碼資料及同位係橫越多個頁而儲存;圖2為將串接碼字映射至字線之頁中之第二實施例的總圖,其中一串接碼字之子碼資料及同位儲存於單一頁處:圖3為將串接碼字映射至字線之具有不相等可靠性之頁中之第三實施例的總圖,其中橫跨較不可靠頁之串接碼字相比於儲存於較可靠頁處之串接碼字具有較多同位且橫越多個頁而延伸;圖4為將串接碼字映射至字線之具有不相等可靠性之頁中之第四實施例的總圖,其中每一串接碼字橫跨多個頁,且針對儲存於較不可靠頁處之子碼資料相比於針對儲存於較可靠頁處之子碼資料包括較多子碼同位;圖5為將串接碼字映射至字線之具有不相等可靠性之頁中之第五實施例的總圖,其中儲存於較不可靠頁處之串接 碼字相比於儲存於較可靠頁處之串接碼字具有相同數目個子碼;圖6為將串接碼字映射至字線之具有不相等可靠性之頁中之第六實施例的總圖,其中儲存於較不可靠頁處之串接碼字相比於儲存於較可靠頁處之串接碼字具有較少子碼;圖7為調處位元以使用儲存設備來達成位元至狀態之第二映射的圖解說明,儲存設備具有位元至狀態之第一內建式映射;圖8為一系統之特定實施例的方塊圖,該系統包括用以使用位元至狀態之多個映射來儲存資料之儲存設備;圖9為可由圖8之儲存設備應用於指定資料位元之邏輯運算序列的圖解;圖10為說明使用位元至狀態之多個映射來寫入資料之方法之特定實施例的流程圖;圖11為將碼字儲存於快閃記憶體之SLC部分處且將碼字傳送至MLC字線之特定實施例的圖解;圖12為一系統之特定實施例的方塊圖,該系統包括經組態以藉由將長碼字程式化至多個實體頁中來寫入資料之資料儲存設備;圖13為一系統之特定實施例的方塊圖,該系統用以在將經儲存資料複製至記憶體之第二部分之前使用經穿孔碼字將該資料儲存於記憶體之第一部分中;圖14為一系統之特定實施例的方塊圖,該系統用以將資料儲存於記憶體之第一部分中且在將資料儲存至記憶體之 第二部分之前在記憶體處產生額外冗餘資料;圖15為一系統之特定實施例的方塊圖,該系統用以使用不同ECC方案來儲存資料,該等ECC方案用以編碼資料以快取於記憶體之第一部分處且編碼資料以儲存於記憶體之第二部分處;圖16為說明一方法之特定實施例的流程圖,該方法包括寫入經編碼資料之多個部分且自多個部分中之單一部分恢復資料;圖17為說明一方法之特定實施例的流程圖,該方法包括在記憶體晶粒內產生額外冗餘資料;圖18為說明將資料寫入至記憶體之方法之特定實施例的流程圖;圖19為說明使用基於頁可靠性之塑形冗餘來儲存資料之特定實施例的總圖;圖20為一系統之特定實施例的方塊圖,該系統用以使用基於頁可靠性之塑形冗餘來儲存資料;圖21為一系統之特定實施例的方塊圖,該系統用以擷取包括基於頁可靠性之塑形冗餘之資料;圖22為寫入資料之方法之特定實施例的流程圖,該方法包括起始塑形編碼操作;圖23為讀取資料之方法之特定實施例的流程圖,該方法包括起始塑形解碼操作;圖24為說明上部邏輯頁映射之特定實施例的總圖,在上部邏輯頁映射中,針對每一狀態而定義三個可靠性區間; 圖25為說明逐頁之兩軟位元讀取可靠性設定之特定實施例的總圖;圖26為說明一感測方案之特定實施例的總圖,該感測方案包括用於硬位元及額外經感測位元之記憶體單元狀態分佈及臨限值讀取電壓的圖形描繪;圖27為說明根據圖26所描繪之臨限值讀取電壓之可靠性電壓區之特定實施例的總圖;圖28為說明提供單一軟位元之感測方案之特定實施例的總圖;圖29為說明根據圖28所描繪之臨限值讀取電壓的使用單一軟位元之可靠性電壓區之特定實施例的總圖;圖30為一系統之方塊圖,該系統包括經組態以根據圖24至圖29中之一或多者來執行資料讀取操作之資料儲存設備;及圖31為可由圖30之資料儲存設備執行之讀取資料之特定實施例的流程圖。
100‧‧‧實例
102‧‧‧多位階記憶體單元(MLC)字線
104‧‧‧第一碼字
106‧‧‧第二碼字
108‧‧‧第三碼字
110‧‧‧上部頁
112‧‧‧中間頁
114‧‧‧下部頁
124‧‧‧第一資料
126‧‧‧第一同位
128‧‧‧聯合同位
131‧‧‧子碼
132‧‧‧子碼
133‧‧‧子碼
134‧‧‧子碼
135‧‧‧子碼
136‧‧‧子碼
137‧‧‧子碼
138‧‧‧子碼

Claims (145)

  1. 一種寫入資料之方法,該方法包含:在具有包括一第一實體頁及一第二實體頁之多個實體頁之一資料儲存設備中,執行:接收待儲存於該資料儲存設備中之一資料頁;起始一編碼操作以編碼該資料頁,其中該編碼操作產生第一經編碼資料;將該第一經編碼資料之一第一部分儲存至該第一實體頁;起始該第一經編碼資料之一第二部分至該第二實體頁之儲存;及起始一解碼操作以恢復該資料頁,其中該解碼操作使用自該第一實體頁所讀取的該第一經編碼資料之該第一部分之一表示而不使用來自該第二實體頁之任何資料。
  2. 如請求項1之方法,其中當該資料儲存設備以操作方式耦接至一主機設備時,自該主機設備接收該資料頁。
  3. 如請求項2之方法,其進一步包含回應於儲存該第一經編碼資料之該第一部分而將一訊息發送至該主機設備,該訊息指示出該資料頁已成功地儲存於該資料儲存設備處,且其中在完成儲存該第一經編碼資料之該第二部分之前發送該訊息。
  4. 如請求項1之方法,其中該第一經編碼資料之該第二部分僅包括同位位元。
  5. 如請求項1之方法,其中回應於在完成寫入該第一經編碼資料之該第二部分之前的一斷電事件之後的電力再繼續而起始該解碼操作。
  6. 如請求項5之方法,其進一步包含在經由該解碼操作而恢復該資料頁之後:起始一第二編碼操作以編碼該資料頁,其中該第二編碼操作產生第二經編碼資料;及將該第二經編碼資料之一第一部分儲存至一第三實體頁。
  7. 如請求項6之方法,其中該第二經編碼資料之該第一部分儲存至該第三實體頁內之一第一邏輯頁,且該方法進一步包含將該第二經編碼資料之一第二部分儲存至該第三實體頁內之一第二邏輯頁。
  8. 如請求項7之方法,其中該第一經編碼資料具有超過該第一實體頁之一大小的一長度,且其中該第二經編碼資料具有超過該第一邏輯頁之一大小的一長度。
  9. 如請求項6之方法,其中該資料儲存設備包括具有一單位階記憶體單元(SLC)部分及一多位階記憶體單元(MLC)部分之一快閃記憶體,其中該第一實體頁及該第二實體頁位於該快閃記憶體之該SLC部分中。
  10. 如請求項9之方法,其中該第三實體頁位於該快閃記憶體之該多位階記憶體單元(MLC)部分中。
  11. 一種寫入資料之方法,該方法包含:在具有包括一第一實體頁及一第二實體頁之多個實體 頁之一資料儲存設備中,執行:自一主機設備接收待儲存於該資料儲存設備中之一資料頁;起始一編碼操作以編碼該資料頁,其中該編碼操作產生第一經編碼資料;將該第一經編碼資料之一第一部分儲存至該第一實體頁;起始該第一經編碼資料之一第二部分至該第二實體頁之儲存;及回應於儲存該第一經編碼資料之該第一部分而將一訊息發送至該主機設備,該訊息指示出該資料頁已成功地儲存於該資料儲存設備處,且其中在完成儲存該第一經編碼資料之該第二部分之前發送該訊息。
  12. 一種寫入資料之方法,該方法包含:在具有一控制器及一記憶體晶粒之一資料儲存設備中,其中該控制器包括一錯誤校正編碼(ECC)引擎,且其中該記憶體晶粒包括多個實體頁,該等實體頁包括一第一實體頁及一第二實體頁,該方法執行:接收待儲存於該資料儲存設備中之一資料頁,其中當該資料儲存設備以操作方式耦接至一主機設備時,自該主機設備接收該資料頁;在該ECC引擎處起始一編碼操作以編碼該資料頁,其中該編碼操作產生第一經編碼資料;在該記憶體晶粒處將該第一經編碼資料之至少一部 分儲存至該第一實體頁;在該記憶體晶粒處藉由以下步驟來產生第二經編碼資料:自該第一實體頁讀取該第一經編碼資料之該部分之一表示;及在該記憶體晶粒處基於該第一經編碼資料之該部分之該表示而產生冗餘資料;及將該第二經編碼資料儲存至該第二實體頁。
  13. 如請求項12之方法,其中藉由複製該第一經編碼資料之該部分之該表示的至少一部分而在該記憶體晶粒處產生該冗餘資料。
  14. 如請求項13之方法,其中該第一經編碼資料包括一第一部分及一第二部分,其中該第一部分儲存於該第一實體頁處,且其中該第二部分被捨棄而不提供至該記憶體晶粒。
  15. 如請求項12之方法,其中該第一經編碼資料之該部分儲存至一快閃單位階記憶體單元(SLC)頁處之該第一實體頁,且其中該第二經編碼資料儲存至多個快閃多位階記憶體單元(MLC)邏輯頁處之該第二實體頁。
  16. 一種寫入資料之方法,該方法包含:在具有包括一第一實體頁及一第二實體頁之多個實體頁之一資料儲存設備中,執行:接收待儲存於該資料儲存設備中之一資料頁,其中當該資料儲存設備以操作方式耦接至一主機設備時, 自該主機設備接收該資料頁;起始一第一編碼操作以編碼該資料頁,其中該第一編碼操作產生第一經編碼資料;將該第一經編碼資料之至少一部分儲存至該第一實體頁;解碼自該第一實體頁所讀取的該第一經編碼資料之該部分之一表示以恢復該資料頁;起始一第二編碼操作以編碼該資料頁,其中該第二編碼操作產生第二經編碼資料;及將該第二經編碼資料儲存至該第二實體頁,其中該第二經編碼資料相比於該第一經編碼資料之該部分橫跨遍及較多頁。
  17. 如請求項16之方法,其中該第一經編碼資料之全部儲存至該第一實體頁。
  18. 如請求項16之方法,其中該第一經編碼資料包括一第一部分及一第二部分,其中該第一部分儲存至該第一實體頁且該第二部分被捨棄。
  19. 如請求項16之方法,其中該第一編碼操作相比於該第二編碼操作使用一相同錯誤校正編碼(ECC)方案。
  20. 如請求項16之方法,其中該第一編碼操作使用一第一錯誤校正編碼(ECC)方案,且該第二編碼操作使用一第二ECC方案,該第二ECC方案不同於該第一ECC方案。
  21. 如請求項16之方法,其中該第一經編碼資料之該部分儲存至相比於該第二實體頁較可靠之一快閃頁處之該第一 實體頁。
  22. 如請求項21之方法,其中該第一經編碼資料之該部分儲存至一快閃單位階記憶體單元(SLC)頁處之該第一實體頁,且其中該第二經編碼資料儲存至多個快閃多位階記憶體單元(MLC)邏輯頁處之該第二實體頁。
  23. 一種資料儲存設備,其包含:一控制器;及一記憶體,其包括一第一實體頁及一第二實體頁,其中該控制器經組態以起始一編碼操作來編碼一經接收資料頁且起始藉由該編碼操作產生之第一經編碼資料之儲存,其中藉由該編碼操作產生之第一經編碼資料之一第一部分待儲存至該第一實體頁,且其中該第一經編碼資料之一第二部分待儲存至該第二實體頁,且其中該控制器可操作以起始一解碼操作來恢復該資料頁,其中該解碼操作使用自該第一實體頁所讀取的該第一經編碼資料之該第一部分之一表示而不使用來自該第二實體頁之任何資料。
  24. 如請求項23之資料儲存設備,其中當該資料儲存設備以操作方式耦接至一主機設備時,自該主機設備接收該資料頁。
  25. 如請求項24之資料儲存設備,其中該控制器經進一步組態以回應於儲存該第一經編碼資料之該第一部分而將一訊息發送至該主機設備,該訊息指示出該資料頁已成功地儲存於該資料儲存設備處,且其中該控制器經組態以 在完成儲存該第一經編碼資料之該第二部分之前發送該訊息。
  26. 如請求項23之資料儲存設備,其中該第一經編碼資料之該第二部分僅包括同位位元。
  27. 如請求項23之資料儲存設備,其中該控制器經組態以回應於在完成寫入該第一經編碼資料之該第二部分之前的一斷電事件之後的電力再繼續而起始該解碼操作。
  28. 如請求項27之資料儲存設備,其中在經由該解碼操作而恢復該資料頁之後,該控制器操作以:起始一第二編碼操作以編碼該資料頁,其中該第二編碼操作產生第二經編碼資料;及將該第二經編碼資料之一第一部分儲存至一第三實體頁。
  29. 如請求項28之資料儲存設備,其中該第二經編碼資料之該第一部分儲存至該第三實體頁內之一第一邏輯頁,且其中該第二經編碼資料之一第二部分儲存至該第三實體頁內之一第二邏輯頁。
  30. 如請求項29之資料儲存設備,其中該第一經編碼資料具有超過該第一實體頁之一大小的一長度,且其中該第二經編碼資料具有超過該第一邏輯頁之一大小的一長度。
  31. 如請求項28之資料儲存設備,其中該記憶體包括具有一單位階記憶體單元(SLC)部分及一多位階記憶體單元(MLC)部分之一快閃記憶體,且其中該第一實體頁及該第二實體頁位於該快閃記憶體之該SLC部分中。
  32. 如請求項31之資料儲存設備,其中該第三實體頁位於該 快閃記憶體之該多位階記憶體單元(MLC)部分中。
  33. 一種資料儲存設備,其包含:一控制器,其包括一錯誤校正編碼(ECC)引擎;及一記憶體晶粒,其包括一第一實體頁及一第二實體頁,其中該控制器經組態以在該ECC引擎處起始一編碼操作來編碼待儲存於該資料儲存設備中之一資料頁,其中當該資料儲存設備以操作方式耦接至一主機設備時,自該主機設備接收該資料頁,其中該編碼操作產生第一經編碼資料,且其中該控制器經組態以將該第一經編碼資料之至少一部分儲存至該第一實體頁,且其中該記憶體晶粒包括一冗餘資料產生器電路,該冗餘資料產生器電路操作以產生第二經編碼資料以儲存至該第二實體頁,其中該冗餘資料產生器電路經組態以接收自該第一實體頁所讀取的該第一經編碼資料之該部分之一表示且基於該第一經編碼資料之該部分之該表示而產生冗餘資料以產生該第二經編碼資料。
  34. 如請求項33之資料儲存設備,其中該冗餘資料產生器電路經組態以藉由複製該第一經編碼資料之該部分之該表示的至少一部分而產生該冗餘資料。
  35. 如請求項33之資料儲存設備,其中該第一經編碼資料包括一第一部分及一第二部分,其中該第一部分儲存於該第一實體頁處,且其中該第二部分被捨棄而不提供至該記憶體晶粒。
  36. 如請求項33之資料儲存設備,其中該第一實體頁為一快閃單位階記憶體單元(SLC)頁,其中該第二實體頁為一快閃多位階記憶體單元(MLC)實體頁,且其中該第二經編碼資料儲存至多個快閃多位階記憶體單元(MLC)邏輯頁處之該第二實體頁。
  37. 一種資料儲存設備,其包含:一控制器;及一記憶體,其包括一第一實體頁及一第二實體頁,其中該控制器經組態以起始一第一編碼操作來編碼一經接收資料頁且將藉由該編碼操作產生之第一經編碼資料之至少一部分儲存至該第一實體頁,其中當該資料儲存設備以操作方式耦接至一主機設備時,自該主機設備接收該資料頁,其中該控制器經進一步組態以自該第一實體頁讀取及解碼該第一經編碼資料之該部分之一表示以恢復該資料頁,且其中該控制器經組態以:起始一第二編碼操作以編碼該資料頁,其中該第二編碼操作產生第二經編碼資料;及將該第二經編碼資料儲存至該第二實體頁,其中該第二經編碼資料相比於該第一經編碼資料之該部分橫跨遍及較多頁。
  38. 如請求項37之資料儲存設備,其中該控制器經組態以將該第一經編碼資料之全部儲存至該第一實體頁。
  39. 如請求項37之資料儲存設備,其中該第一經編碼資料包括一第一部分及一第二部分,且其中該第一部分儲存至 該第一實體頁且該第二部分被捨棄。
  40. 如請求項37之資料儲存設備,其中該第一編碼操作相比於該第二編碼操作使用一相同錯誤校正編碼(ECC)方案。
  41. 如請求項37之資料儲存設備,其中該第一編碼操作使用一第一錯誤校正編碼(ECC)方案且該第二編碼操作使用一第二ECC方案,該第二ECC方案不同於該第一ECC方案。
  42. 如請求項37之資料儲存設備,其中該第一經編碼資料之該部分儲存至相比於該第二實體頁較可靠之一快閃頁處之該第一實體頁。
  43. 如請求項42之資料儲存設備,其中該第一實體頁為一快閃單位階記憶體單元(SLC)頁,且其中該第二實體頁為一快閃多位階記憶體單元(MLC)頁,且其中該第二經編碼資料儲存至多個快閃多位階記憶體單元(MLC)邏輯頁處之該第二實體頁。
  44. 一種寫入資料之方法,該方法包含:在具有一控制器及一記憶體之一資料儲存設備中,其中該記憶體包括鎖存器及多個儲存元件,且其中該記憶體操作以根據位元序列至該等儲存元件之狀態之一第一映射將第一數目個位元儲存於每一儲存元件中,該方法執行:將資料位元載入至該記憶體內之該等鎖存器中;藉由使用一或多個邏輯運算來調處該等鎖存器中之 指定資料位元而在該等鎖存器中產生經調處資料位元;及根據該第一映射將該等經調處資料位元之集合儲存至該儲存元件群組中之各別儲存元件,其中根據位元序列至狀態之一第二映射,該等指定資料位元對應於該等各別儲存元件之狀態,該第二映射不同於該第一映射。
  45. 如請求項44之方法,其中該等鎖存器及該等儲存元件位於一記憶體晶粒內,該記憶體晶粒經組態以將該第一映射應用為一內建式映射,且其中藉由將該等資料位元載入至該等鎖存器中且在儲存該等經調處資料位元之該等集合之前藉由邏輯暫存器運算來調處該等資料位元而建立該第二映射。
  46. 如請求項45之方法,其中該記憶體晶粒包括用以藉由將該一或多個邏輯暫存器運算應用於該等指定資料位元來執行該等指定資料位元之一狀態變換之電路。
  47. 如請求項44之方法,其中該記憶體包括一快閃多位階記憶體單元(MLC)記憶體,且其中該儲存元件群組為一MLC字線。
  48. 如請求項47之方法,其中該第一映射係與對應於該MLC字線之一第一邏輯頁之一第一錯誤率相關聯,且其中該第二映射係與對應於該MLC字線之該第一邏輯頁之一第二錯誤率相關聯,該第二錯誤率低於該第一錯誤率。
  49. 如請求項44之方法,其中該等資料位元之一第一群組載 入至一第一鎖存器中,且其中調處該等指定資料位元包括對該第一資料位元群組中之每一資料位元執行一邏輯「反」(NOT)運算。
  50. 如請求項44之方法,其中該等資料位元之一第一群組載入至一第一鎖存器中且該等資料位元之一第二群組載入至一第二鎖存器中,且其中調處該等指定資料位元包括執行該第一群組及該第二群組之一按位元邏輯運算。
  51. 如請求項50之方法,其中該按位元邏輯運算包括一「及」(AND)運算及一「或」(OR)運算中至少一者。
  52. 如請求項50之方法,其中該按位元邏輯運算包括一「否定互斥或」(NOT-XOR)運算。
  53. 如請求項50之方法,其中該按位元邏輯運算包括一「調換」(SWAP)運算。
  54. 如請求項44之方法,其中該記憶體可經組態以選擇性地應用該第二映射。
  55. 如請求項44之方法,其中該等鎖存器中每一者之一第一部分含有未指定資料位元,其中該等鎖存器中每一者之一第二部分含有該等指定資料位元,且其中在該等鎖存器中每一者之該第二部分處產生該等經調處資料位元以將該第二映射應用於待儲存於該儲存元件群組之一第二部分處之該等指定資料位元,而將該第一映射應用於待儲存於該儲存元件群組之一第一部分處之該等未指定資料位元。
  56. 如請求項55之方法,其中該儲存元件群組之該第一部分 及該儲存元件群組之該第二部分位於一多位階記憶體單元(MLC)快閃記憶體之一單一字線中,且其中在將該第一映射應用於該等未指定資料位元及將該第二映射應用於該等指定資料位元之後,實質上等化與該單一字線之每一邏輯頁相關聯之錯誤率。
  57. 如請求項55之方法,其中該儲存元件群組之該第一部分位於一多平面快閃記憶體之一第一平面處,且該儲存元件群組之該第二部分位於該多平面快閃記憶體之一第二平面處。
  58. 一種資料儲存設備,其包含:一記憶體,其包括:多個儲存元件;鎖存器,其操作以鎖存待儲存於該等儲存元件之一群組處之資料;寫入電路,其操作以自該等鎖存器接收該資料且根據位元序列至該等儲存元件之狀態之一第一映射將第一數目個位元儲存於該等儲存元件之該群組中之每一儲存元件中;及映射電路,其操作以藉由使用一或多個邏輯運算來調處該等鎖存器中之指定資料位元而在該等鎖存器中產生經調處資料位元,其中該寫入電路操作以將該等經調處資料位元之集合儲存至該儲存元件群組中之各別儲存元件,且其中根據位元序列至狀態之一第二映射,該等指定資 料位元對應於該等各別儲存元件之狀態,其中該第二映射不同於該第一映射。
  59. 如請求項58之資料儲存設備,其進一步包含耦接至該記憶體之一控制器,其中該映射電路經組態以在已自該控制器接收該資料之後在該記憶體處產生該等經調處資料位元。
  60. 如請求項58之資料儲存設備,其中該記憶體經組態以將該第一映射應用為一內建式映射,且其中藉由將該資料載入至該等鎖存器中且藉由邏輯暫存器運算來調處該等指定資料位元而建立該第二映射。
  61. 如請求項58之資料儲存設備,其中該記憶體包括一快閃多位階記憶體單元(MLC)記憶體,且其中該儲存元件群組為一MLC字線。
  62. 如請求項61之資料儲存設備,其中該第一映射係與對應於該MLC字線之一第一邏輯頁之一第一錯誤率相關聯,且其中該第二映射係與對應於該MLC字線之該第一邏輯頁之一第二錯誤率相關聯,該第二錯誤率低於該第一錯誤率。
  63. 如請求項58之資料儲存設備,其中該等鎖存器包括一第一鎖存器,且其中該映射電路經組態以對該第一鎖存器處之一第一資料位元群組中之每一資料位元執行一邏輯NOT運算。
  64. 如請求項58之資料儲存設備,其中該等鎖存器包括一第一鎖存器及一第二鎖存器,且其中該映射電路經組態以 執行該第一鎖存器處之一第一資料位元群組及該第二鎖存器處之一第二資料位元群組的一按位元邏輯運算。
  65. 如請求項64之資料儲存設備,其中該按位元邏輯運算包括一「及」(AND)運算及一「或」(OR)運算中至少一者。
  66. 如請求項64之資料儲存設備,其中該按位元邏輯運算包括一「否定互斥或」(NOT-XOR)運算。
  67. 如請求項64之資料儲存設備,其中該按位元邏輯運算包括一「調換」(SWAP)運算。
  68. 如請求項58之資料儲存設備,其中該記憶體可經組態以選擇性地應用該第二映射。
  69. 如請求項58之資料儲存設備,其中該等指定資料位元位於該等鎖存器中每一者之一第二部分處且未指定資料位元位於該等鎖存器中每一者之一第一部分處,其中該映射電路經組態以在該等鎖存器中每一者之該第二部分處產生該等經調處資料位元且在該等鎖存器中每一者之該第一部分處不調處該等未指定資料位元,且其中該第二映射應用於待儲存於該儲存元件群組之一第二部分處之該等指定資料位元且該第一映射應用於待儲存於該儲存元件群組之一第一部分處之該等未指定資料位元。
  70. 如請求項69之資料儲存設備,其中該記憶體包括一多位階記憶體單元(MLC)快閃記憶體,其中該儲存元件群組之該第一部分及該儲存元件群組之該第二部分位於該MLC快閃記憶體之一單一字線中,且其中在將該第一映 射應用於該等未指定資料位元及將該第二映射應用於該等指定資料位元之後,實質上等化與該單一字線之每一邏輯頁相關聯之錯誤率。
  71. 如請求項69之資料儲存設備,其中該記憶體包括一多平面快閃記憶體之一第一平面及一第二平面,且其中該儲存元件群組之該第一部分位於該第一平面處且該儲存元件群組之該第二部分位於該第二平面處。
  72. 一種寫入資料之方法,該方法包含:在具有一快閃多位階記憶體單元(MLC)記憶體之一資料儲存設備中,執行:接收包括一第一位元群組及一第二位元群組之資料;對該第二位元群組起始一塑形編碼操作以產生一第三位元群組,其中該第三位元群組相比於該第二位元群組具有較多位元,且其中該塑形編碼操作經組態以在該第三位元群組中產生位元值之一非均一機率分佈;及將該第一位元群組及對應於該第一位元群組之第一錯誤校正編碼(ECC)同位位元儲存至該MLC記憶體之一實體頁內之一第一邏輯頁且將該第三位元群組及對應於該第三位元群組之第二ECC同位位元儲存至該MLC記憶體之該實體頁內之一第二邏輯頁。
  73. 如請求項72之方法,其中該第一邏輯頁係與一第一錯誤率相關聯且該第二邏輯頁係與小於該第一錯誤率之一第 二錯誤率相關聯。
  74. 如請求項72之方法,其中該等第一ECC同位位元相比於該等第二ECC同位位元包括較多位元。
  75. 如請求項72之方法,其中該第三位元群組包括該第二位元群組及塑形同位位元,且其中該等第一ECC同位位元包括與該等第二ECC同位位元之數目相同的數目個位元外加該等塑形同位位元。
  76. 如請求項72之方法,其中該等第一ECC同位位元使能夠校正該第一邏輯頁中之高達第一數目個錯誤且該等第二ECC同位位元使能夠校正該第二邏輯頁中之高達第二數目個錯誤,且其中該第一邏輯頁中錯誤之數目超過該第一數目的一第一機率實質上等於該第二邏輯頁中錯誤之數目超過該第二數目的一第二機率。
  77. 如請求項72之方法,其中該塑形編碼操作增加該MLC記憶體之該實體頁之個別記憶體單元將被程式化至中間狀態的一可能性且減低該MLC記憶體之該實體頁之該等個別記憶體單元將被程式化至一最低狀態的一可能性。
  78. 如請求項72之方法,其中該塑形編碼操作增加該MLC記憶體之實體頁之個別記憶體單元將被程式化至中間狀態的一可能性且減低該MLC記憶體之該實體頁之該等個別記憶體單元將被程式化至一最高狀態的一可能性。
  79. 一種讀取資料之方法,該方法包含:在具有一快閃多位階記憶體單元(MLC)記憶體之一資料儲存設備中,執行: 讀取一儲存元件群組以在該MLC記憶體之一實體頁內之一第一邏輯頁處擷取一第一位元群組及第一ECC同位位元之一第一表示且在該MLC記憶體之該實體頁內之一第二邏輯頁處擷取一第三位元群組及第二ECC同位位元之一第二表示;起始該第一表示之一第一ECC解碼操作以恢復該第一位元群組;起始該第二表示之一第二ECC解碼操作以恢復該第三位元群組;及對該第三位元群組起始一塑形解碼操作以產生一第二位元群組,其中該第三位元群組相比於該第二位元群組具有較多位元,且其中該塑形解碼操作經組態以在該第二位元群組中產生位元值之一均一機率分佈。
  80. 如請求項79之方法,其中該等第一ECC同位位元相比於該等第二ECC同位位元包括較多位元。
  81. 如請求項79之方法,其中該等第一ECC同位位元使能夠校正該第一表示中之高達第一數目個錯誤且該等第二ECC同位位元使能夠校正該第二表示中之高達第二數目個錯誤,且其中該第一表示中錯誤之數目超過該第一數目的一第一機率實質上等於該第二表示中錯誤之數目超過該第二數目的一第二機率。
  82. 如請求項79之方法,其中該第一邏輯頁係與一第一錯誤率相關聯且該第二邏輯頁係與小於該第一錯誤率之一第二錯誤率相關聯。
  83. 一種資料儲存設備,其包含:一快閃多位階記憶體單元(MLC)記憶體;及一控制器,其經組態以:接收包括一第一位元群組及一第二位元群組之資料;對該第二位元群組執行一塑形編碼操作以產生一第三位元群組,其中一第三位元群組相比於該第二位元群組具有較多位元,且其中該塑形編碼操作經組態以在該第三位元群組中產生位元值之一非均一機率分佈;將該第一位元群組及對應於該第一位元群組之第一錯誤校正編碼(ECC)同位位元發送至該記憶體以儲存於該MLC記憶體之一實體頁內所含有之一第一邏輯頁處;及將該第三位元群組及對應於該第三位元群組之第二ECC同位位元發送至該記憶體以儲存於該MLC記憶體之該實體頁內所含有之一第二邏輯頁處。
  84. 如請求項83之資料儲存設備,其中該第一邏輯頁係與一第一錯誤率相關聯且該第二邏輯頁係與小於該第一錯誤率之一第二錯誤率相關聯。
  85. 如請求項83之資料儲存設備,其中該等第一ECC同位位元相比於該等第二ECC同位位元包括較多位元。
  86. 如請求項83之資料儲存設備,其中該等第一ECC同位位元使能夠校正該第一邏輯頁中之高達第一數目個錯誤且 該等第二ECC同位位元使能夠校正該第二邏輯頁中之高達第二數目個錯誤,且其中該第一邏輯頁中錯誤之數目超過該第一數目的一第一機率實質上等於該第二邏輯頁中錯誤之數目超過該第二數目的一第二機率。
  87. 如請求項83之資料儲存設備,其中該塑形編碼操作增加該MLC記憶體之該實體頁之個別記憶體單元將被程式化至中間狀態的一可能性且減低該MLC記憶體之該實體頁之該等個別記憶體單元將被程式化至一最低狀態的一可能性。
  88. 如請求項83之資料儲存設備,其中該塑形編碼操作增加該MLC記憶體之實體頁之個別記憶體單元將被程式化至中間狀態的一可能性且減低該MLC記憶體之該實體頁之該等個別記憶體單元將被程式化至一最高狀態的一可能性。
  89. 一種資料儲存設備,其包含:一快閃多位階記憶體單元(MLC)記憶體;及一控制器,其經組態以:自該MLC記憶體之一實體頁內之一第一邏輯頁擷取一第一位元群組及第一ECC同位位元之一第一表示;自該MLC記憶體之該實體頁內之一第二邏輯頁擷取一第三位元群組及第二ECC同位位元之一第二表示;起始該第一表示之一第一ECC解碼操作以恢復該第一位元群組;起始該第二表示之一第二ECC解碼操作以恢復該第 三位元群組;及對該第三位元群組起始一塑形解碼操作以產生一第二位元群組,其中該第三位元群組相比於該第二位元群組具有較多位元,且其中該塑形解碼操作經組態以在該第二位元群組中產生位元值之一均一機率分佈。
  90. 如請求項89之資料儲存設備,其中該等第一ECC同位位元相比於該等第二ECC同位位元包括較多位元。
  91. 如請求項89之資料儲存設備,其中該等第一ECC同位位元使能夠校正該第一表示中之高達第一數目個錯誤且該等第二ECC同位位元使能夠校正該第二表示中之高達第二數目個錯誤,該第一數目大於該第二數目。
  92. 如請求項91之資料儲存設備,其中該第一表示中錯誤之數目超過該第一數目的一第一機率實質上等於該第二表示中錯誤之數目超過該第二數目的一第二機率。
  93. 一種讀取資料之方法,該方法包含:在具有一控制器及一記憶體之一資料儲存設備中,該記憶體包括多個儲存元件,該方法執行:在該記憶體中產生對應於一特定儲存元件之一位元集合,其中該位元集合指示一臨限值電壓區間群組,其中該特定儲存元件之一臨限值電壓對應於該群組內之該等臨限值電壓區間中之一者,且其中該群組內之至少一臨限值電壓區間係藉由不在該群組內之一介入臨限值電壓區間而與該群組內之另一臨限值電壓區間 分離;及將該位元集合發送至該控制器,其中該位元集合包括對應於自該特定儲存元件所讀取之一值之一第一硬位元及對應於一可靠性度量之一第一軟位元。
  94. 如請求項93之方法,其中該特定儲存元件位於該記憶體之一實體頁內,其中該實體頁包括一第一邏輯頁及一第二邏輯頁,且其中該特定儲存元件之一狀態對應於多個硬位元,該等硬位元包括對應於該第一邏輯頁之該第一硬位元及對應於該第二邏輯頁之一第二硬位元。
  95. 如請求項94之方法,其中該位元集合係回應於對讀取該第一邏輯頁之一請求而產生,且其中該位元集合不包括該第二硬位元。
  96. 如請求項93之方法,其中該控制器包括一軟輸入錯誤校正編碼(ECC)解碼器,且其中作為自該記憶體所讀取之資料之一ECC解碼操作的部分,將該第一硬位元及該第一軟位元提供至該軟輸入ECC解碼器。
  97. 如請求項93之方法,其中該第一軟位元指示該臨限值電壓是否在該臨限值電壓區間群組之該等臨限值電壓區間中任一者之一中心區內。
  98. 如請求項97之方法,其中回應於來自該控制器針對第一經儲存資料之一第一請求而將該第一位元集合發送至該控制器,且該方法進一步包含在將該第一位元集合發送至該控制器之後:在該記憶體處自該控制器接收一第二請求,該第二請 求係針對對應於該第一經儲存資料之額外資訊;在該記憶體處判定對應於該特定儲存元件之一第二軟位元,其中該第二軟位元指示該臨限值電壓是否在該臨限值電壓區間群組之該等電壓區間中任一者之一第二區內,每一特定電壓區間之該第二區係實質上以對應於一狀態之一記憶體單元電壓分佈之一中點為中心且不同於該第一區;及將該第二軟位元值發送至該控制器。
  99. 如請求項93之方法,其中該記憶體經組態以在一逐頁讀取操作期間提供與在一依序讀取操作期間提供之軟位元型樣相同的一軟位元型樣以指示可靠性。
  100. 如請求項93之方法,其中該軟位元型樣獨立於位元至狀態之一選定映射方案。
  101. 如請求項93之方法,其中在該記憶體處藉由將一解擾碼器應用於該位元集合中之所有硬位元而不將該解擾碼器應用於該位元集合中之任何軟位元來對該位元集合進行解擾碼。
  102. 如請求項93之方法,其中該記憶體包括一快閃記憶體,且其中該特定儲存元件為該快閃記憶體之一多位階記憶體單元(MLC)。
  103. 如請求項93之方法,其中使用以非均一電壓區間發生之一單一感測操作序列來執行產生該位元集合。
  104. 一種資料儲存設備,其包含:一控制器;及 一記憶體,其包括多個儲存元件,其中該記憶體經組態以產生對應於一特定儲存元件之一位元集合且將該位元集合發送至該控制器,其中該位元集合指示一臨限值電壓區間群組,其中該特定儲存元件之一臨限值電壓對應於該群組內之該等臨限值電壓區間中之一者,且其中該群組內之至少一臨限值電壓區間係藉由不在該群組內之一介入臨限值電壓區間而與該群組內之另一臨限值電壓區間分離,其中該位元集合包括對應於自該特定儲存元件所讀取之一值之一第一硬位元及對應於一可靠性度量之一第一軟位元。
  105. 如請求項104之資料儲存設備,其中該特定儲存元件位於該記憶體之一實體頁內,其中該實體頁包括一第一邏輯頁及一第二邏輯頁,且其中該特定儲存元件之一狀態對應於多個硬位元,該等硬位元包括對應於該第一邏輯頁之該第一硬位元及對應於該第二邏輯頁之一第二硬位元。
  106. 如請求項105之資料儲存設備,其中該位元集合係回應於來自該控制器對讀取該第一邏輯頁之一請求而產生,且其中該位元集合不包括該第二硬位元。
  107. 如請求項104之資料儲存設備,其中該控制器包括一軟輸入錯誤校正編碼(ECC)解碼器,且其中作為一ECC解碼操作之部分,該控制器經組態以將該第一硬位元及該第一軟位元提供至該軟輸入ECC解碼器。
  108. 如請求項104之資料儲存設備,其中該第一軟位元指示該臨限值電壓是否在該臨限值電壓區間群組之該等臨限值電壓區間中任一者之一中心區內。
  109. 如請求項104之資料儲存設備,其中當被程式化至一狀態之記憶體單元之最終讀取臨限值電壓表明一記憶體單元電壓分佈時,該第一軟位元指示該臨限值電壓是否在該記憶體單元電壓分佈之一中心區內,且其中該區屬於該電壓區間群組之一臨限值電壓區間。
  110. 如請求項108之資料儲存設備,其中該記憶體經組態以回應於來自該記憶體針對第一經儲存資料之一第一請求而將該第一位元集合發送至該控制器,其中該記憶體經進一步組態以判定一第二軟位元且回應於自該控制器接收一第二請求而將該第二軟位元發送至該控制器,該第二請求係針對對應於該第一經儲存資料之額外資訊,其中該第二軟位元對應於該特定儲存元件且指示該臨限值電壓是否在該臨限值電壓區間群組之該等電壓區間中任一者之一第二區內,且其中每一特定電壓區間之該第二區係實質上以該特定電壓區間之一中點為中心且不同於該第一區。
  111. 如請求項104之資料儲存設備,其中該記憶體經組態以在一逐頁讀取操作期間提供與在一依序讀取操作期間提供之軟位元型樣相同的一軟位元型樣以指示可靠性。
  112. 如請求項104之資料儲存設備,其中該軟位元型樣獨立於將一記憶體單元之位元映射至狀態之一選定映射方 案。
  113. 如請求項104之資料儲存設備,其中該記憶體包括一解擾碼器,且其中該記憶體經組態以將該解擾碼器應用於該位元集合中之所有硬位元而不將該解擾碼器應用於該位元集合中之任何軟位元。
  114. 如請求項104之資料儲存設備,其中該記憶體包括一快閃記憶體,且其中該特定儲存元件為該快閃記憶體之一多位階記憶體單元(MLC)。
  115. 一種用於寫入資料之方法,該方法包含:在一資料儲存設備中,執行:接收待儲存於該資料儲存設備中之資料頁;產生對應於該等經接收資料頁之碼字;將該等碼字儲存至該資料儲存設備之一第一記憶體部分之實體頁,其中對應於一特定資料頁之一特定碼字之一第一部分儲存於該第一記憶體部分之一第一實體頁處,且其中該特定碼字之一第二部分儲存於該第一記憶體部分之一第二實體頁處;及將該等碼字自該第一記憶體部分之該等實體頁複製至該資料儲存設備之一第二記憶體部分之一實體頁。
  116. 如請求項115之方法,其中該特定碼字為一串接碼字,該串接碼字包括多個子碼及該多個子碼之聯合同位。
  117. 如請求項116之方法,其中該多個子碼中每一者包括一子碼資料部分及一子碼同位部分,其中該特定碼字之該第一部分包括該等子碼資料部分,且其中該特定碼字之 該第二部分包括該聯合同位。
  118. 如請求項117之方法,其中產生及儲存該多個子碼及該聯合同位會實現該等子碼中每一者之多階段解碼。
  119. 如請求項115之方法,其中該記憶體設備包括一快閃記憶體,其中該第一記憶體部分包括該快閃記憶體之單位階記憶體單元(SLC),且其中該第二記憶體部分包括該快閃記憶體之多位階記憶體單元(MLC)。
  120. 如請求項119之方法,其中該第二記憶體部分之該實體頁為一單一MLC字線。
  121. 如請求項119之方法,其中該等多位階記憶體單元中每一者經組態以根據每記憶體單元的位元之第一數目來儲存資料,其中第二數目對應於該等經接收資料頁之一計數,且其中該第二數目等於該第一數目。
  122. 如請求項121之方法,其中該等碼字儲存至該第一記憶體部分之第三數目個該等實體頁,該第三數目大於該第二數目。
  123. 如請求項115之方法,其中該特定碼字包括使用者資料、第一同位位元及第二同位位元,其中該使用者資料及該等第一同位位元包括於該特定碼字之該第一部分中,且其中該等第二同位位元包括於該特定碼字之該第二部分中。
  124. 如請求項123之方法,其中該第二記憶體部分之該實體頁包括一第一邏輯頁、一第二邏輯頁及一第三邏輯頁,其中該特定碼字之該第一部分被複製至該第一邏輯頁, 其中該特定碼字之該第二部分被複製至該第二邏輯頁,且其中該特定碼字之一第三部分被複製至該第三邏輯頁。
  125. 如請求項115之方法,其中當該資料儲存設備以操作方式耦接至一主機設備時,自該主機設備接收該等資料頁。
  126. 如請求項115之方法,其中該第一記憶體部分之每一實體頁具有用該特定碼字之該第一部分或用該特定碼字之該第二部分予以程式化的一實質上相等機率。
  127. 如請求項115之方法,其中當將該記憶體之該第一部分之該等實體頁中的碼字部分自該第一記憶體部分複製至該第二記憶體部分之該實體頁之邏輯頁時,維持該等碼字部分之相對位置。
  128. 如請求項115之方法,其進一步包含回應於自該主機設備接收針對一特定資料部分之一請求:經由一單一頁讀取而自一第一頁讀取對應於該經請求資料部分之一碼字之一第一部分;起始一第一解碼操作以基於來自該第一頁之讀取資料及讀取同位來解碼該經請求資料部分;及回應於該第一解碼操作之一解碼失敗:自一第二頁讀取對應於該經請求資料部分之該碼字之一第二部分;及起始一第二解碼操作以基於該讀取資料及該讀取同位且進一步基於來自該碼字之該第二部分之讀取聯合 同位來解碼該經請求資料部分。
  129. 一種資料儲存設備,其包含:一記憶體,其具有實體頁;及一控制器,其經組態以:產生對應於資料頁之碼字,當該資料儲存設備以操作方式耦接至一主機設備時,自該主機設備接收該等資料頁;及將該等碼字儲存至該記憶體之一第一部分之實體頁,其中對應於一特定資料頁之一特定碼字之一第一部分儲存於該第一記憶體部分之一第一實體頁處,且其中該特定碼字之一第二部分儲存於該第一記憶體部分之一第二實體頁處,其中該資料儲存設備經組態以將該等碼字自該記憶體之該第一部分複製至該記憶體之一第二部分之一實體頁。
  130. 如請求項129之資料儲存設備,其中該特定碼字為一串接碼字,該串接碼字包括多個子碼及該多個子碼之聯合同位以實現該等子碼中每一者之多階段解碼。
  131. 如請求項130之資料儲存設備,其中該多個子碼中每一者包括一子碼資料部分及一子碼同位部分,其中該特定碼字之該第一部分包括該等子碼資料部分,且其中該特定碼字之該第二部分包括該聯合同位。
  132. 如請求項129之資料儲存設備,其中該記憶體包括一快閃記憶體,其中該記憶體之該第一部分為該快閃記憶體之一單位階記憶體單元(SLC)部分,且其中該記憶體之該第二部分為該快閃記憶體之一多位階記憶體單元 (MLC)部分。
  133. 如請求項132之資料儲存設備,其中該記憶體之該第二部分之該實體頁為一單一MLC字線。
  134. 如請求項132之資料儲存設備,其中該MLC部分經組態以根據每記憶體單元的位元之第一數目來儲存資料,其中該控制器經組態以產生對應於所接收之第二數目個該等資料頁之該等碼字,且其中該第二數目等於該第一數目。
  135. 如請求項134之資料儲存設備,其進一步包含一錯誤校正編碼(ECC)引擎,其中該控制器經組態以將該等資料頁提供至該ECC引擎以產生該等碼字。
  136. 如請求項134之資料儲存設備,其中該等碼字儲存至該第一記憶體部分之第三數目個該等實體頁,該第三數目大於該第二數目。
  137. 如請求項129之資料儲存設備,其中該特定碼字包括使用者資料、第一同位位元及第二同位位元,其中該使用者資料及該等第一同位位元包括於該特定碼字之該第一部分中,且其中該等第二同位位元包括於該特定碼字之該第二部分中。
  138. 如請求項137之資料儲存設備,其中該記憶體之該第二部分之該實體頁包括一第一邏輯頁、一第二邏輯頁及一第三邏輯頁,其中該特定碼字之該第一部分被複製至該第一邏輯頁,其中該特定碼字之該第二部分被複製至該第二邏輯頁,且其中該特定碼字之一第三部分被複製至 該第三邏輯頁。
  139. 如請求項129之資料儲存設備,其中該控制器經組態以向該第一記憶體部分之每一實體頁提供用該特定碼字之該第一部分或用該特定碼字之該第二部分予以程式化的一實質上相等機率。
  140. 如請求項129之資料儲存設備,其中當將該第一記憶體部分之該等實體頁中之碼字部分複製至該第二記憶體部分之該實體頁之邏輯頁時,維持該等碼字部分之相對位置。
  141. 如請求項129之資料儲存設備,其中回應於自該主機設備接收針對一特定資料部分之一請求,該控制器經組態以經由一單一頁讀取而自一第一頁讀取對應於該經請求資料部分之一碼字之一第一部分且起始一第一解碼操作以基於來自該第一頁之讀取資料及讀取同位來解碼該經請求資料部分,且其中回應於該第一解碼操作之一解碼失敗,該控制器經進一步組態以自一第二頁讀取對應於該經請求資料部分之該碼字之一第二部分且起始一第二解碼操作以基於該讀取資料及該讀取同位且進一步基於來自該第二頁之讀取聯合同位來解碼該經請求資料部分。
  142. 一種方法,其包含:當在每記憶體單元B個位元之一多位階記憶體單元(MLC)快閃記憶體中使用一個二進位快取記憶體時,其中B為一正數,將至少一資料頁分裂成一個以上單位階 記憶體單元(SLC)頁,且將B個以上SLC頁用於快取該MLC快閃記憶體之一單一字線之資料。
  143. 一種資料儲存設備,其包含:每記憶體單元B個位元之一多位階記憶體單元(MLC)快閃記憶體,其中B為一正數;及一單位階記憶體單元(SLC)二進位快取記憶體,其中該資料儲存設備經組態以將至少一資料頁分裂成一個以上單位階記憶體單元(SLC)頁且將B個以上SLC頁用於快取該MLC快閃記憶體之一單一字線之資料。
  144. 一種用於將資料寫入至每記憶體單元B個位元之一多位階記憶體單元(MLC)快閃記憶體設備中之方法,其中B為一正數,該方法包含:接收待儲存於該記憶體設備中之B個資料頁;將該B個資料頁中每一者編碼成對應之一或多個碼字;對於該B個資料頁中每一者,將該對應之一或多個碼字儲存至該記憶體設備中之單位階記憶體單元(SLC)記憶體單元中,其中對於該B個資料頁中至少一者,該對應之一或多個碼字儲存至一個以上SLC頁中;及將對應於該B個資料頁之所有該等碼字自該等SLC記憶體單元複製至MLC記憶體單元之一字線中。
  145. 一種資料儲存設備,其包含:每記憶體單元B個位元之一多位階記憶體單元(MLC)快閃記憶體設備,其中B為一正數;及 耦接至該MLC快閃記憶體設備之一控制器,其中該控制器經組態以接收待儲存於該MLC快閃記憶體設備中之B個資料頁且將該B個資料頁中每一者編碼成對應之一或多個碼字,其中對於該B個資料頁中每一者,該資料儲存設備經組態以將該對應之一或多個碼字儲存至該MLC快閃記憶體設備中之單位階記憶體單元(SLC)記憶體單元中,其中對於該B個資料頁中至少一者,該對應之一或多個碼字儲存至一個以上SLC頁中,且其中該資料儲存設備經進一步組態以將對應於該B個資料頁之所有該等碼字自該等SLC記憶體單元複製至MLC記憶體單元之一字線中。
TW101126359A 2011-07-22 2012-07-20 儲存資料之系統及方法 TW201314449A (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201161510892P 2011-07-22 2011-07-22
US13/329,732 US9311969B2 (en) 2011-07-22 2011-12-19 Systems and methods of storing data
US13/329,788 US9318166B2 (en) 2011-07-22 2011-12-19 Systems and methods of storing data
US13/329,819 US9032269B2 (en) 2011-07-22 2011-12-19 Systems and methods of storing data
US13/329,684 US8880977B2 (en) 2011-07-22 2011-12-19 Systems and methods of storing data
US13/329,757 US8874994B2 (en) 2011-07-22 2011-12-19 Systems and methods of storing data

Publications (1)

Publication Number Publication Date
TW201314449A true TW201314449A (zh) 2013-04-01

Family

ID=47556618

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101126359A TW201314449A (zh) 2011-07-22 2012-07-20 儲存資料之系統及方法

Country Status (7)

Country Link
US (7) US8880977B2 (zh)
EP (1) EP2734925B1 (zh)
JP (1) JP6025844B2 (zh)
KR (1) KR20140060285A (zh)
CN (2) CN103827833B (zh)
TW (1) TW201314449A (zh)
WO (1) WO2013016168A2 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI512750B (zh) * 2014-07-30 2015-12-11 Phison Electronics Corp 資料儲存方法、記憶體控制電路單元及記憶體儲存裝置
TWI566096B (zh) * 2015-09-11 2017-01-11 慧榮科技股份有限公司 資料儲存系統與其相關方法
TWI578222B (zh) * 2015-11-18 2017-04-11 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
TWI620059B (zh) * 2015-10-28 2018-04-01 威盛電子股份有限公司 非揮發性記憶體裝置及其讀取方法
US11994985B2 (en) 2022-10-04 2024-05-28 Silicon Motion, Inc. Method and apparatus for performing access management of memory device in host performance booster architecture with aid of device side table information encoding and decoding
US11995349B2 (en) 2022-10-04 2024-05-28 Silicon Motion, Inc. Method and apparatus for performing access management of memory device in host performance booster architecture with aid of device side table information encoding and decoding

Families Citing this family (334)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8880977B2 (en) 2011-07-22 2014-11-04 Sandisk Technologies Inc. Systems and methods of storing data
US8589640B2 (en) 2011-10-14 2013-11-19 Pure Storage, Inc. Method for maintaining multiple fingerprint tables in a deduplicating storage system
JP5547154B2 (ja) * 2011-09-21 2014-07-09 株式会社東芝 メモリ・デバイス
US8661320B2 (en) * 2011-10-07 2014-02-25 Aeroflex Colorado Springs Inc. Independent orthogonal error correction and detection
KR101893145B1 (ko) 2011-12-06 2018-10-05 삼성전자주식회사 메모리 시스템들 및 그것들의 블록 복사 방법들
US9026887B2 (en) * 2012-03-15 2015-05-05 Micron Technology, Inc. Physical page, logical page, and codeword correspondence
US8943384B2 (en) * 2012-04-12 2015-01-27 Seagate Technology Llc Using a soft decoder with hard data
US11452153B2 (en) 2012-05-01 2022-09-20 Lisnr, Inc. Pairing and gateway connection using sonic tones
WO2013166158A1 (en) 2012-05-01 2013-11-07 Lisnr, Llc Systems and methods for content delivery and management
US8787079B2 (en) * 2012-05-07 2014-07-22 Sandisk Technologies Inc. Reading data from multi-level cell memory
US9417958B2 (en) * 2012-06-06 2016-08-16 Silicon Motion Inc. Flash memory control method, controller and electronic apparatus
KR20140002179A (ko) * 2012-06-28 2014-01-08 에스케이하이닉스 주식회사 메모리 시스템
US8924820B2 (en) * 2012-07-27 2014-12-30 Kabushiki Kaisha Toshiba Memory controller, semiconductor memory system, and memory control method
US10013203B2 (en) * 2013-01-04 2018-07-03 International Business Machines Corporation Achieving storage compliance in a dispersed storage network
US9311187B2 (en) * 2013-01-04 2016-04-12 Cleversafe, Inc. Achieving storage compliance in a dispersed storage network
JP2014134843A (ja) * 2013-01-08 2014-07-24 Toshiba Corp メモリシステム
US8913438B2 (en) 2013-02-20 2014-12-16 Seagate Technology Llc Adaptive architecture in a channel detector for NAND flash channels
US9088303B2 (en) 2013-02-28 2015-07-21 Micron Technology, Inc. Codewords that span pages of memory
US9124300B2 (en) * 2013-02-28 2015-09-01 Sandisk Technologies Inc. Error correction coding in non-volatile memory
US9367389B2 (en) 2013-03-14 2016-06-14 Seagate Technology Llc Recovery strategy that reduces errors misidentified as reliable
US8656255B1 (en) * 2013-03-15 2014-02-18 Avalanche Technology, Inc. Method for reducing effective raw bit error rate in multi-level cell NAND flash memory
KR102007163B1 (ko) * 2013-04-22 2019-10-01 에스케이하이닉스 주식회사 인코더, 디코더 및 이를 포함하는 반도체 장치
CN104217762B (zh) * 2013-05-31 2017-11-24 慧荣科技股份有限公司 数据储存装置及其错误校正方法以及数据读取方法
US9117514B2 (en) 2013-06-19 2015-08-25 Sandisk Technologies Inc. Data encoding for non-volatile memory
US9489294B2 (en) * 2013-06-19 2016-11-08 Sandisk Technologies Llc Data encoding for non-volatile memory
US9489299B2 (en) 2013-06-19 2016-11-08 Sandisk Technologies Llc Data encoding for non-volatile memory
US9489300B2 (en) 2013-06-19 2016-11-08 Sandisk Technologies Llc Data encoding for non-volatile memory
US9117520B2 (en) 2013-06-19 2015-08-25 Sandisk Technologies Inc. Data encoding for non-volatile memory
US20150006784A1 (en) 2013-06-27 2015-01-01 Sandisk Technologies Inc. Efficient Post Write Read in Three Dimensional Nonvolatile Memory
US9218242B2 (en) 2013-07-02 2015-12-22 Sandisk Technologies Inc. Write operations for defect management in 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
KR102149770B1 (ko) 2013-08-26 2020-08-31 삼성전자주식회사 메모리 컨트롤러 및 그것의 동작 방법
US20150074490A1 (en) * 2013-09-06 2015-03-12 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device
US9213599B2 (en) 2013-09-18 2015-12-15 Seagate Technology Llc Method of erase state handling in flash channel tracking
US9229801B2 (en) * 2013-09-24 2016-01-05 Sandisk Technologies Inc. Method and device for write abort protection
KR101845382B1 (ko) * 2013-09-25 2018-05-18 인텔 코포레이션 분배 변환기를 갖는 메모리 제어기
US9135113B2 (en) 2013-10-08 2015-09-15 Apple Inc. Recovery from programming failure in non-volatile memory
US20150098271A1 (en) * 2013-10-09 2015-04-09 Sandisk Technologies Inc. System and method of storing data in a data storage device
US9213595B2 (en) * 2013-10-15 2015-12-15 International Business Machines Corporation Handling errors in ternary content addressable memories
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
US9390008B2 (en) 2013-12-11 2016-07-12 Sandisk Technologies Llc Data encoding for non-volatile memory
US10067829B2 (en) * 2013-12-13 2018-09-04 Intel Corporation Managing redundancy information in a non-volatile memory
US9129701B2 (en) 2013-12-19 2015-09-08 Sandisk Technologies Inc. Asymmetric state detection for non-volatile storage
US9165649B2 (en) 2013-12-20 2015-10-20 Sandisk Technologies Inc. Systems and methods of shaping data
US9798613B2 (en) * 2013-12-27 2017-10-24 Toshiba Memory Corporation Controller of nonvolatile semiconductor memory
CN106959822B (zh) * 2013-12-27 2020-02-07 威盛电子股份有限公司 数据储存装置及其数据写入方法
US9389956B2 (en) 2014-01-10 2016-07-12 International Business Machines Corporation Implementing ECC control for enhanced endurance and data retention of flash memories
US20150205664A1 (en) * 2014-01-17 2015-07-23 Fusion-Io, Inc. Determining a configuration parameter using a soft read command
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
US9460783B2 (en) * 2014-06-03 2016-10-04 Micron Technology, Inc. Determining soft data
US9836234B2 (en) 2014-06-04 2017-12-05 Pure Storage, Inc. Storage cluster
US10574754B1 (en) 2014-06-04 2020-02-25 Pure Storage, Inc. Multi-chassis array with multi-level load balancing
US9218244B1 (en) 2014-06-04 2015-12-22 Pure Storage, Inc. Rebuilding data across storage nodes
US11652884B2 (en) 2014-06-04 2023-05-16 Pure Storage, Inc. Customized hash algorithms
US11068363B1 (en) 2014-06-04 2021-07-20 Pure Storage, Inc. Proactively rebuilding data in a storage cluster
US9003144B1 (en) 2014-06-04 2015-04-07 Pure Storage, Inc. Mechanism for persisting messages in a storage system
US9367243B1 (en) 2014-06-04 2016-06-14 Pure Storage, Inc. Scalable non-uniform storage sizes
US11960371B2 (en) 2014-06-04 2024-04-16 Pure Storage, Inc. Message persistence in a zoned system
US9405624B2 (en) * 2014-06-19 2016-08-02 Seagate Technology Llc On-die error detection and correction during multi-step programming
US11604598B2 (en) 2014-07-02 2023-03-14 Pure Storage, Inc. Storage cluster with zoned drives
US8868825B1 (en) 2014-07-02 2014-10-21 Pure Storage, Inc. Nonrepeating identifiers in an address space of a non-volatile solid-state storage
US11886308B2 (en) 2014-07-02 2024-01-30 Pure Storage, Inc. Dual class of service for unified file and object messaging
US9021297B1 (en) 2014-07-02 2015-04-28 Pure Storage, Inc. Redundant, fault-tolerant, distributed remote procedure call cache in a storage system
US9836245B2 (en) 2014-07-02 2017-12-05 Pure Storage, Inc. Non-volatile RAM and flash memory in a non-volatile solid-state storage
US9811677B2 (en) 2014-07-03 2017-11-07 Pure Storage, Inc. Secure data replication in a storage grid
US9747229B1 (en) 2014-07-03 2017-08-29 Pure Storage, Inc. Self-describing data format for DMA in a non-volatile solid-state storage
US10853311B1 (en) 2014-07-03 2020-12-01 Pure Storage, Inc. Administration through files in a storage system
KR102247087B1 (ko) * 2014-07-08 2021-05-03 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
US9443617B2 (en) 2014-07-18 2016-09-13 Kabushiki Kaisha Toshiba Memory system and method of controlling memory system
US9436549B2 (en) * 2014-07-31 2016-09-06 Sandisk Technologies Llc Storage module and method for improved error correction by detection of grown bad bit lines
US9396080B2 (en) * 2014-08-07 2016-07-19 Sandisk Technologies Llc Storage module and method for analysis and disposition of dynamically tracked read error events
US9082512B1 (en) 2014-08-07 2015-07-14 Pure Storage, Inc. Die-level monitoring in a storage cluster
US10983859B2 (en) 2014-08-07 2021-04-20 Pure Storage, Inc. Adjustable error correction based on memory health in a storage unit
US9483346B2 (en) 2014-08-07 2016-11-01 Pure Storage, Inc. Data rebuild on feedback from a queue in a non-volatile solid-state storage
US9495255B2 (en) 2014-08-07 2016-11-15 Pure Storage, Inc. Error recovery in a storage cluster
KR102189780B1 (ko) * 2014-08-11 2020-12-11 삼성전자주식회사 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
CN105335299B (zh) * 2014-08-12 2018-10-02 群联电子股份有限公司 数据存储方法、存储器控制电路单元及存储器存储装置
US10079711B1 (en) 2014-08-20 2018-09-18 Pure Storage, Inc. Virtual file server with preserved MAC address
TWI550615B (zh) * 2014-08-28 2016-09-21 群聯電子股份有限公司 資料存取方法、記憶體儲存裝置及記憶體控制電路單元
US20160062829A1 (en) * 2014-08-29 2016-03-03 Kabushiki Kaisha Toshiba Semiconductor memory device
US9817751B2 (en) * 2014-09-03 2017-11-14 Apple Inc. Multi-phase programming schemes for nonvolatile memories
US10114562B2 (en) * 2014-09-16 2018-10-30 Sandisk Technologies Llc Adaptive block allocation in nonvolatile memory
US9678832B2 (en) * 2014-09-18 2017-06-13 Sandisk Technologies Llc Storage module and method for on-chip copy gather
US9588841B2 (en) * 2014-09-26 2017-03-07 Intel Corporation Using reliability information from multiple storage units and a parity storage unit to recover data for a failed one of the storage units
CN104464821B (zh) * 2014-10-10 2017-07-28 记忆科技(深圳)有限公司 一种防止MLC Nand Flash出现UECC问题的方法
JP6882168B2 (ja) 2014-10-15 2021-06-02 エルアイエスエヌアール・インコーポレーテッド 不可聴シグナリングトーン
US9984768B2 (en) 2014-10-20 2018-05-29 Sandisk Technologies Llc Distributing storage of ECC code words
US9484089B2 (en) * 2014-10-20 2016-11-01 Sandisk Technologies Llc Dual polarity read operation
US10074427B2 (en) 2014-11-12 2018-09-11 Sandisk Technologies Llc Shaped data associated with an erase operation
US9406377B2 (en) 2014-12-08 2016-08-02 Sandisk Technologies Llc Rewritable multibit non-volatile memory with soft decode optimization
US9558064B2 (en) 2015-01-28 2017-01-31 Micron Technology, Inc. Estimating an error rate associated with memory
TWI557560B (zh) 2015-02-12 2016-11-11 慧榮科技股份有限公司 資料儲存裝置以及資料讀取方法
US9690656B2 (en) * 2015-02-27 2017-06-27 Microsoft Technology Licensing, Llc Data encoding on single-level and variable multi-level cell storage
US9786386B2 (en) * 2015-02-27 2017-10-10 Microsoft Technology Licensing, Llc Dynamic approximate storage for custom applications
US9524210B1 (en) * 2015-03-02 2016-12-20 Crossbar, Inc. Separating bits represented by a MLC in connection with ECC
TWI573143B (zh) * 2015-03-04 2017-03-01 慧榮科技股份有限公司 資料重新寫入方法以及使用該方法的裝置
KR102392821B1 (ko) * 2015-03-16 2022-05-02 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
US9940234B2 (en) 2015-03-26 2018-04-10 Pure Storage, Inc. Aggressive data deduplication using lazy garbage collection
US9811420B2 (en) * 2015-03-27 2017-11-07 Intel Corporation Extracting selective information from on-die dynamic random access memory (DRAM) error correction code (ECC)
US10178169B2 (en) 2015-04-09 2019-01-08 Pure Storage, Inc. Point to point based backend communication layer for storage processing
US9672125B2 (en) 2015-04-10 2017-06-06 Pure Storage, Inc. Ability to partition an array into two or more logical arrays with independently running software
WO2016174521A1 (en) * 2015-04-30 2016-11-03 Marvell Israel (M-I.S.L.) Ltd. Multiple read and write port memory
US11403173B2 (en) 2015-04-30 2022-08-02 Marvell Israel (M.I.S.L) Ltd. Multiple read and write port memory
KR102370292B1 (ko) * 2015-05-07 2022-03-07 에스케이하이닉스 주식회사 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법
US9766976B2 (en) * 2015-06-08 2017-09-19 Sandisk Technologies Llc Data storage device and method for storing multiple codewords and redundancy information at a word line
US10141072B2 (en) * 2015-06-11 2018-11-27 SK Hynix Inc. Efficient encoder based on modified RU algorithm
US9996299B2 (en) * 2015-06-25 2018-06-12 Western Digital Technologies, Inc Memory health monitoring
US10846275B2 (en) 2015-06-26 2020-11-24 Pure Storage, Inc. Key management in a storage device
KR20170004693A (ko) * 2015-07-03 2017-01-11 에스케이하이닉스 주식회사 메모리 장치의 컨트롤러 및 그 동작 방법
US10983732B2 (en) 2015-07-13 2021-04-20 Pure Storage, Inc. Method and system for accessing a file
US9524794B1 (en) * 2015-08-10 2016-12-20 Sandisk Technologies Llc Constrained data shaping
US10474525B2 (en) * 2015-08-11 2019-11-12 Sandisk Technologies Llc Soft bit techniques for a data storage device
US10133625B2 (en) * 2015-08-11 2018-11-20 Western Digital Technologies, Inc. Storing parity data separate from protected data
US10108355B2 (en) 2015-09-01 2018-10-23 Pure Storage, Inc. Erase block state detection
US11341136B2 (en) 2015-09-04 2022-05-24 Pure Storage, Inc. Dynamically resizable structures for approximate membership queries
JP2017055254A (ja) 2015-09-09 2017-03-16 株式会社東芝 データ復元回路、半導体記憶装置およびデータ復元方法
US9768953B2 (en) 2015-09-30 2017-09-19 Pure Storage, Inc. Resharing of a split secret
US10853266B2 (en) 2015-09-30 2020-12-01 Pure Storage, Inc. Hardware assisted data lookup methods
US9836350B2 (en) * 2015-09-30 2017-12-05 Western Digital Technologies, Inc. Joint decoding of rewriting NVM error sectors
US10762069B2 (en) 2015-09-30 2020-09-01 Pure Storage, Inc. Mechanism for a system where data and metadata are located closely together
US9875156B2 (en) * 2015-10-01 2018-01-23 Sandisk Technologies Llc Data storage device with a memory die that includes an interleaver
US9734009B2 (en) 2015-10-08 2017-08-15 Sandisk Technologies Llc Data encoding techniques for a device
US9843453B2 (en) 2015-10-23 2017-12-12 Pure Storage, Inc. Authorizing I/O commands with I/O tokens
US9858009B2 (en) 2015-10-26 2018-01-02 Sandisk Technologies Llc Data folding in 3D nonvolatile memory
US10180874B2 (en) 2015-10-28 2019-01-15 Western Digital Technologies, Inc. Storage device operations based on bit error rate (BER) estimate
US10204006B2 (en) 2015-10-28 2019-02-12 Avago Technologies International Sales Pte. Limited Systems and methods for side data based soft data flash memory access
US9886342B2 (en) * 2015-10-28 2018-02-06 Sandisk Technologies Llc Storage device operations based on bit error rate (BER) estimate
US10108489B2 (en) * 2015-10-28 2018-10-23 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for efficient soft data based flash memory data recovery
US9978462B2 (en) 2015-10-29 2018-05-22 Sandisk Technologies Llc Partial soft bit read
US9792176B2 (en) * 2015-11-13 2017-10-17 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding data in memory system
CN105426526B (zh) * 2015-12-10 2019-02-15 魅族科技(中国)有限公司 一种页面信息选取的方法及装置
KR102473209B1 (ko) * 2015-12-14 2022-12-02 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
US10007457B2 (en) 2015-12-22 2018-06-26 Pure Storage, Inc. Distributed transactions with token-associated execution
CN106935271B (zh) * 2016-01-21 2020-09-15 威盛电子股份有限公司 三维架构非依电性存储器的控制器装置与操作方法
US10055288B2 (en) * 2016-01-21 2018-08-21 Via Technologies, Inc. Controller device and operation method for non-volatile memory with 3-dimensional architecture
US10389389B2 (en) 2016-03-04 2019-08-20 Western Digital Technologies, Inc. Method and data storage device using convolutional low-density parity-check coding with a long page write and a short page read granularity
US10367528B2 (en) 2016-03-04 2019-07-30 Sandisk Technologies Llc Convolutional low-density parity-check coding
US10063258B2 (en) 2016-03-04 2018-08-28 Sandisk Technologies Llc Method and data storage device to estimate a number of errors using convolutional low-density parity-check coding
DE102016104012A1 (de) * 2016-03-04 2017-09-07 Infineon Technologies Ag Verarbeitung eines Datenworts
US10198313B2 (en) * 2016-03-11 2019-02-05 Western Digital Technologies, Inc. Redundancy of error correction encoded data in a storage system
US9996280B2 (en) 2016-03-15 2018-06-12 Sandisk Technologies Llc Data register copying for non-volatile storage array operations
US10114549B2 (en) 2016-03-17 2018-10-30 Sandisk Technologies Llc Error correction code processing and data shaping for reducing wear to a memory
US11233582B2 (en) 2016-03-25 2022-01-25 Lisnr, Inc. Local tone generation
CN107239224B (zh) * 2016-03-29 2020-05-12 群联电子股份有限公司 数据保护方法、存储器控制电路单元与存储器存储装置
TWI575533B (zh) * 2016-04-18 2017-03-21 群聯電子股份有限公司 資料校正方法、記憶體控制電路單元與記憶體儲存裝置
US10261690B1 (en) 2016-05-03 2019-04-16 Pure Storage, Inc. Systems and methods for operating a storage system
US10169142B2 (en) * 2016-07-12 2019-01-01 Futurewei Technologies, Inc. Generating parity for storage device
US11861188B2 (en) 2016-07-19 2024-01-02 Pure Storage, Inc. System having modular accelerators
US9672905B1 (en) 2016-07-22 2017-06-06 Pure Storage, Inc. Optimize data protection layouts based on distributed flash wear leveling
US10768819B2 (en) 2016-07-22 2020-09-08 Pure Storage, Inc. Hardware support for non-disruptive upgrades
US11604690B2 (en) 2016-07-24 2023-03-14 Pure Storage, Inc. Online failure span determination
US9892793B1 (en) 2016-07-25 2018-02-13 Western Digital Technologies, Inc. Systems and methods for programming data to storage devices
US11886334B2 (en) 2016-07-26 2024-01-30 Pure Storage, Inc. Optimizing spool and memory space management
US10203903B2 (en) 2016-07-26 2019-02-12 Pure Storage, Inc. Geometry based, space aware shelf/writegroup evacuation
US10366004B2 (en) 2016-07-26 2019-07-30 Pure Storage, Inc. Storage system with elective garbage collection to reduce flash contention
US11734169B2 (en) 2016-07-26 2023-08-22 Pure Storage, Inc. Optimizing spool and memory space management
US11797212B2 (en) 2016-07-26 2023-10-24 Pure Storage, Inc. Data migration for zoned drives
DE102016115272A1 (de) * 2016-08-17 2018-02-22 Infineon Technologies Ag Speicher mit unterschiedlichen zuverlässigkeiten
KR20180027808A (ko) * 2016-09-07 2018-03-15 에스케이하이닉스 주식회사 메모리 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법
US11422719B2 (en) 2016-09-15 2022-08-23 Pure Storage, Inc. Distributed file deletion and truncation
US9747039B1 (en) 2016-10-04 2017-08-29 Pure Storage, Inc. Reservations over multiple paths on NVMe over fabrics
TWI640868B (zh) * 2016-10-07 2018-11-11 慧榮科技股份有限公司 資料儲存裝置及其資料寫入方法
TWI607312B (zh) 2016-10-07 2017-12-01 慧榮科技股份有限公司 資料儲存裝置及其資料寫入方法
US10481798B2 (en) 2016-10-28 2019-11-19 Pure Storage, Inc. Efficient flash management for multiple controllers
US11550481B2 (en) 2016-12-19 2023-01-10 Pure Storage, Inc. Efficiently writing data in a zoned drive storage system
US10360973B2 (en) * 2016-12-23 2019-07-23 Western Digital Technologies, Inc. Data mapping enabling fast read multi-level 3D NAND to improve lifetime capacity
US11307998B2 (en) 2017-01-09 2022-04-19 Pure Storage, Inc. Storage efficiency of encrypted host system data
US11955187B2 (en) 2017-01-13 2024-04-09 Pure Storage, Inc. Refresh of differing capacity NAND
US9747158B1 (en) 2017-01-13 2017-08-29 Pure Storage, Inc. Intelligent refresh of 3D NAND
JP2018147231A (ja) 2017-03-06 2018-09-20 東芝メモリ株式会社 メモリコントローラ、メモリシステムおよびメモリシステムの制御方法
US10528488B1 (en) 2017-03-30 2020-01-07 Pure Storage, Inc. Efficient name coding
US11016667B1 (en) 2017-04-05 2021-05-25 Pure Storage, Inc. Efficient mapping for LUNs in storage memory with holes in address space
US10141050B1 (en) 2017-04-27 2018-11-27 Pure Storage, Inc. Page writes for triple level cell flash memory
US10516645B1 (en) 2017-04-27 2019-12-24 Pure Storage, Inc. Address resolution broadcasting in a networked device
US10552256B2 (en) * 2017-05-08 2020-02-04 Samsung Electronics Co., Ltd. Morphable ECC encoder/decoder for NVDIMM over DDR channel
US10452480B2 (en) 2017-05-25 2019-10-22 Micron Technology, Inc. Memory device with dynamic processing level calibration
US10140040B1 (en) * 2017-05-25 2018-11-27 Micron Technology, Inc. Memory device with dynamic program-verify voltage calibration
US10402272B2 (en) 2017-05-25 2019-09-03 Micron Technology, Inc. Memory device with dynamic programming calibration
US20180358989A1 (en) * 2017-06-09 2018-12-13 Western Digital Technologies, Inc. Non-volatile Storage Systems With Application-Aware Error-Correcting Codes
KR102384706B1 (ko) * 2017-06-09 2022-04-08 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법
US11782625B2 (en) 2017-06-11 2023-10-10 Pure Storage, Inc. Heterogeneity supportive resiliency groups
US10354723B2 (en) * 2017-06-29 2019-07-16 SK Hynix Inc. Memory device and method for programming the same
US10425473B1 (en) 2017-07-03 2019-09-24 Pure Storage, Inc. Stateful connection reset in a storage cluster with a stateless load balancer
KR20190005447A (ko) * 2017-07-06 2019-01-16 에스케이하이닉스 주식회사 반도체 메모리 장치의 동작 방법 및 메모리 시스템
US10402266B1 (en) 2017-07-31 2019-09-03 Pure Storage, Inc. Redundant array of independent disks in a direct-mapped flash storage system
US10388351B2 (en) * 2017-08-30 2019-08-20 Micron Technology, Inc. Wear leveling for random access and ferroelectric memory
US10062441B1 (en) * 2017-08-31 2018-08-28 Micron Technology, Inc. Determining data states of memory cells
JP2019050071A (ja) * 2017-09-11 2019-03-28 東芝メモリ株式会社 半導体記憶装置及びメモリシステム
US11189295B2 (en) 2017-09-28 2021-11-30 Lisnr, Inc. High bandwidth sonic tone generation
TWI649759B (zh) * 2017-09-28 2019-02-01 慧榮科技股份有限公司 資料儲存裝置與將資料寫入記憶體裝置之方法
US10545687B1 (en) 2017-10-31 2020-01-28 Pure Storage, Inc. Data rebuild when changing erase block sizes during drive replacement
US10496330B1 (en) 2017-10-31 2019-12-03 Pure Storage, Inc. Using flash storage devices with different sized erase blocks
TWI653538B (zh) * 2017-11-13 2019-03-11 慧榮科技股份有限公司 資料儲存裝置與記憶體裝置之資料處理方法
US10860475B1 (en) 2017-11-17 2020-12-08 Pure Storage, Inc. Hybrid flash translation layer
US10372539B2 (en) 2017-11-20 2019-08-06 Western Digital Technologies, Inc. Variable length CLDPC encoder and method of operation in an autonomous vehicle
US10817373B2 (en) * 2017-11-21 2020-10-27 SK Hynix Inc. Soft chip-kill recovery using concatenated codes
US10929226B1 (en) * 2017-11-21 2021-02-23 Pure Storage, Inc. Providing for increased flexibility for large scale parity
KR102545167B1 (ko) * 2017-11-23 2023-06-19 삼성전자주식회사 키-밸류 스토리지 장치 및 상기 키-밸류 스토리지 장치의 동작 방법
KR102449346B1 (ko) * 2017-12-12 2022-10-04 삼성전자주식회사 메모리 장치의 내부 상태에 따라 메모리 컨트롤러의 동작을 가변하는 메모리 시스템
US10976948B1 (en) 2018-01-31 2021-04-13 Pure Storage, Inc. Cluster expansion mechanism
US10467527B1 (en) 2018-01-31 2019-11-05 Pure Storage, Inc. Method and apparatus for artificial intelligence acceleration
US10496548B2 (en) 2018-02-07 2019-12-03 Alibaba Group Holding Limited Method and system for user-space storage I/O stack with user-space flash translation layer
US11036596B1 (en) 2018-02-18 2021-06-15 Pure Storage, Inc. System for delaying acknowledgements on open NAND locations until durability has been confirmed
JP6960877B2 (ja) 2018-03-22 2021-11-05 キオクシア株式会社 メモリシステム
US11385792B2 (en) 2018-04-27 2022-07-12 Pure Storage, Inc. High availability controller pair transitioning
US10877697B2 (en) * 2018-04-30 2020-12-29 SK Hynix Inc. Data storage device and operating method thereof
US10664194B2 (en) 2018-05-16 2020-05-26 Micron Technology, Inc. Memory system with dynamic calibration using a variable adjustment mechanism
US10566063B2 (en) 2018-05-16 2020-02-18 Micron Technology, Inc. Memory system with dynamic calibration using a trim management mechanism
WO2019222958A1 (en) 2018-05-24 2019-11-28 Alibaba Group Holding Limited System and method for flash storage management using multiple open page stripes
US10990466B2 (en) 2018-06-20 2021-04-27 Micron Technology, Inc. Memory sub-system with dynamic calibration using component-based function(s)
US10921992B2 (en) 2018-06-25 2021-02-16 Alibaba Group Holding Limited Method and system for data placement in a hard disk drive based on access frequency for improved IOPS and utilization efficiency
US11816043B2 (en) 2018-06-25 2023-11-14 Alibaba Group Holding Limited System and method for managing resources of a storage device and quantifying the cost of I/O requests
US10762967B2 (en) 2018-06-28 2020-09-01 Apple Inc. Recovering from failure in programming a nonvolatile memory
US10755787B2 (en) 2018-06-28 2020-08-25 Apple Inc. Efficient post programming verification in a nonvolatile memory
US11188416B2 (en) 2018-07-12 2021-11-30 Micron Technology, Inc. Enhanced block management for a memory sub-system
US11113129B2 (en) 2018-07-13 2021-09-07 Micron Technology, Inc. Real time block failure analysis for a memory sub-system
US10996886B2 (en) 2018-08-02 2021-05-04 Alibaba Group Holding Limited Method and system for facilitating atomicity and latency assurance on variable sized I/O
US11354058B2 (en) 2018-09-06 2022-06-07 Pure Storage, Inc. Local relocation of data stored at a storage device of a storage system
US11868309B2 (en) 2018-09-06 2024-01-09 Pure Storage, Inc. Queue management for data relocation
US11500570B2 (en) 2018-09-06 2022-11-15 Pure Storage, Inc. Efficient relocation of data utilizing different programming modes
US10679708B2 (en) * 2018-09-17 2020-06-09 Western Digital Technologies, Inc. Pre-program read to counter wordline failures
US11327929B2 (en) 2018-09-17 2022-05-10 Alibaba Group Holding Limited Method and system for reduced data movement compression using in-storage computing and a customized file system
US10936246B2 (en) 2018-10-10 2021-03-02 Micron Technology, Inc. Dynamic background scan optimization in a memory sub-system
US10976947B2 (en) 2018-10-26 2021-04-13 Pure Storage, Inc. Dynamically selecting segment heights in a heterogeneous RAID group
US10740231B2 (en) 2018-11-20 2020-08-11 Western Digital Technologies, Inc. Data access in data storage device including storage class memory
CN111276175B (zh) * 2018-12-05 2022-03-15 华邦电子股份有限公司 一种内存装置以及虚拟静态随机存取内存的刷新方法
US11132253B2 (en) 2018-12-06 2021-09-28 Micron Technology, Inc. Direct-input redundancy scheme with dedicated error correction code circuit
KR20200069892A (ko) * 2018-12-07 2020-06-17 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
US10734071B2 (en) 2018-12-13 2020-08-04 Western Digital Technologies, Inc. Multi-level cell programming using optimized multiphase mapping with balanced Gray code
CN109582248B (zh) * 2018-12-14 2022-02-22 深圳市硅格半导体有限公司 闪存数据的写入方法、装置及计算机可读存储介质
US10705966B1 (en) * 2018-12-14 2020-07-07 Western Digital Technologies, Inc. Mapping for multi-state programming of memory devices
US10942809B2 (en) * 2018-12-20 2021-03-09 Micron Technology, Inc. Changing of error correction codes based on the wear of a memory sub-system
US10977122B2 (en) * 2018-12-31 2021-04-13 Alibaba Group Holding Limited System and method for facilitating differentiated error correction in high-density flash devices
US11061735B2 (en) 2019-01-02 2021-07-13 Alibaba Group Holding Limited System and method for offloading computation to storage nodes in distributed system
US11132291B2 (en) 2019-01-04 2021-09-28 Alibaba Group Holding Limited System and method of FPGA-executed flash translation layer in multiple solid state drives
US11200337B2 (en) 2019-02-11 2021-12-14 Alibaba Group Holding Limited System and method for user data isolation
US10936455B2 (en) 2019-02-11 2021-03-02 Apple Inc. Recovery of data failing due to impairment whose severity depends on bit-significance value
KR102178340B1 (ko) * 2019-02-15 2020-11-12 성균관대학교산학협력단 멀티 레벨 셀의 데이터 입출력 장치와 그의 방법
CN109920462B (zh) * 2019-03-01 2021-01-22 中国科学院微电子研究所 一种数据写入控制电路和控制方法
US11133067B2 (en) 2019-03-08 2021-09-28 Western Digital Technologies, Inc. Multi-phased programming with balanced gray coding
JP2020155174A (ja) * 2019-03-19 2020-09-24 キオクシア株式会社 メモリシステム
US11334254B2 (en) 2019-03-29 2022-05-17 Pure Storage, Inc. Reliability based flash page sizing
US11099986B2 (en) 2019-04-12 2021-08-24 Pure Storage, Inc. Efficient transfer of memory contents
CN111984458B (zh) * 2019-05-23 2023-07-07 建兴储存科技(广州)有限公司 使用预测方程式的固态储存装置
US11379398B2 (en) * 2019-06-04 2022-07-05 Microchip Technology Incorporated Virtual ports for connecting core independent peripherals
US11281394B2 (en) 2019-06-24 2022-03-22 Pure Storage, Inc. Replication across partitioning schemes in a distributed storage system
US10860223B1 (en) 2019-07-18 2020-12-08 Alibaba Group Holding Limited Method and system for enhancing a distributed storage system by decoupling computation and network tasks
KR20210013397A (ko) 2019-07-24 2021-02-04 삼성전자주식회사 스토리지 장치
US10825542B1 (en) * 2019-09-12 2020-11-03 Silicon Motion, Inc. Method for efficiently checking storage units of flash memory of flash memory device and corresponding electronic device executing the method
CN110648713B (zh) * 2019-09-20 2021-09-10 长江存储科技有限责任公司 一种闪存存储器及其编程方法、编程系统和存储器系统
US10915394B1 (en) 2019-09-22 2021-02-09 Apple Inc. Schemes for protecting data in NVM device using small storage footprint
US11036582B2 (en) 2019-09-27 2021-06-15 Western Digital Technologies, Inc. Uncorrectable error correction code (UECC) recovery time improvement
US11126561B2 (en) 2019-10-01 2021-09-21 Alibaba Group Holding Limited Method and system for organizing NAND blocks and placing data to facilitate high-throughput for random writes in a solid state drive
US11617282B2 (en) 2019-10-01 2023-03-28 Alibaba Group Holding Limited System and method for reshaping power budget of cabinet to facilitate improved deployment density of servers
US11893126B2 (en) 2019-10-14 2024-02-06 Pure Storage, Inc. Data deletion for a multi-tenant environment
KR102388458B1 (ko) * 2019-10-31 2022-04-21 울산과학기술원 데이터 키 값 변환 방법 및 장치
US11081203B2 (en) 2019-11-14 2021-08-03 Micron Technology, Inc. Leakage source detection by scanning access lines
KR20210062845A (ko) 2019-11-22 2021-06-01 삼성전자주식회사 비휘발성 메모리 장치의 동작 제어 방법 및 이를 수행하기 위한 데이터 컨버터
US11704192B2 (en) 2019-12-12 2023-07-18 Pure Storage, Inc. Budgeting open blocks based on power loss protection
US11847331B2 (en) 2019-12-12 2023-12-19 Pure Storage, Inc. Budgeting open blocks of a storage unit based on power loss prevention
US11416144B2 (en) 2019-12-12 2022-08-16 Pure Storage, Inc. Dynamic use of segment or zone power loss protection in a flash device
US11449455B2 (en) 2020-01-15 2022-09-20 Alibaba Group Holding Limited Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility
US11379447B2 (en) 2020-02-06 2022-07-05 Alibaba Group Holding Limited Method and system for enhancing IOPS of a hard disk drive system based on storing metadata in host volatile memory and data in non-volatile memory using a shared controller
US11150986B2 (en) 2020-02-26 2021-10-19 Alibaba Group Holding Limited Efficient compaction on log-structured distributed file system using erasure coding for resource consumption reduction
US11188432B2 (en) 2020-02-28 2021-11-30 Pure Storage, Inc. Data resiliency by partially deallocating data blocks of a storage device
US11258466B1 (en) * 2020-03-13 2022-02-22 Kioxia Corporation System and method for high reliability fast raid soft decoding for NAND flash memories
US11200114B2 (en) 2020-03-17 2021-12-14 Alibaba Group Holding Limited System and method for facilitating elastic error correction code in memory
US11449386B2 (en) 2020-03-20 2022-09-20 Alibaba Group Holding Limited Method and system for optimizing persistent memory on data retention, endurance, and performance for host memory
US11169881B2 (en) 2020-03-30 2021-11-09 Alibaba Group Holding Limited System and method for facilitating reduction of complexity and data movement in erasure coding merging on journal and data storage drive
US11385833B2 (en) 2020-04-20 2022-07-12 Alibaba Group Holding Limited Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources
US11301173B2 (en) 2020-04-20 2022-04-12 Alibaba Group Holding Limited Method and system for facilitating evaluation of data access frequency and allocation of storage device resources
US11474986B2 (en) 2020-04-24 2022-10-18 Pure Storage, Inc. Utilizing machine learning to streamline telemetry processing of storage media
US11249921B2 (en) * 2020-05-06 2022-02-15 Western Digital Technologies, Inc. Page modification encoding and caching
US11321167B2 (en) 2020-05-09 2022-05-03 Western Digital Technologies, Inc. Adaptive folding for integrated memory assembly
US11281575B2 (en) 2020-05-11 2022-03-22 Alibaba Group Holding Limited Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks
US11494115B2 (en) 2020-05-13 2022-11-08 Alibaba Group Holding Limited System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC)
US11461262B2 (en) 2020-05-13 2022-10-04 Alibaba Group Holding Limited Method and system for facilitating a converged computation and storage node in a distributed storage system
US11218165B2 (en) 2020-05-15 2022-01-04 Alibaba Group Holding Limited Memory-mapped two-dimensional error correction code for multi-bit error tolerance in DRAM
US11556277B2 (en) 2020-05-19 2023-01-17 Alibaba Group Holding Limited System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification
US11507499B2 (en) 2020-05-19 2022-11-22 Alibaba Group Holding Limited System and method for facilitating mitigation of read/write amplification in data compression
US11250913B2 (en) 2020-05-21 2022-02-15 Western Digital Technologies, Inc. Scrambling using different scrambling seeds for defect reduction and improved programming efficiency
US11170870B1 (en) 2020-05-28 2021-11-09 Western Digital Technologies, Inc. On-chip-copy for integrated memory assembly
US11301321B2 (en) * 2020-05-28 2022-04-12 Western Digital Technologies, Inc. Data shaping for integrated memory assembly
US11263132B2 (en) 2020-06-11 2022-03-01 Alibaba Group Holding Limited Method and system for facilitating log-structure data organization
US11422931B2 (en) 2020-06-17 2022-08-23 Alibaba Group Holding Limited Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization
US11354200B2 (en) 2020-06-17 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating data recovery and version rollback in a storage device
US11488682B2 (en) 2020-06-24 2022-11-01 Sandisk Technologies Llc Calibration for integrated memory assembly
US11231997B2 (en) * 2020-06-29 2022-01-25 Western Digital Technologies, Inc. Storage system and method for balanced quad-level cell (QLC) coding with margin for an internal data load (IDL) read
US11144392B1 (en) 2020-07-17 2021-10-12 Toshiba Memory Corporation Payload distribution in solid state drives
US11354233B2 (en) 2020-07-27 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating fast crash recovery in a storage device
US11340981B2 (en) * 2020-08-13 2022-05-24 Micron Technology, Inc. Modifying conditions for memory device error connection operations
US11372774B2 (en) 2020-08-24 2022-06-28 Alibaba Group Holding Limited Method and system for a solid state drive with on-chip memory integration
US11527300B2 (en) 2020-08-26 2022-12-13 Western Digital Technologies, Inc. Level dependent error correction code protection in multi-level non-volatile memory
US11436083B2 (en) * 2020-09-04 2022-09-06 Western Digital Technologies, Inc. Data address management in non-volatile memory
US11392327B2 (en) 2020-09-09 2022-07-19 Western Digital Technologies, Inc. Local data compaction for integrated memory assembly
US11456754B2 (en) 2020-10-13 2022-09-27 Western Digital Technologies, Inc. Fixed size soft bit lossy compression in flash memory
KR20220054096A (ko) 2020-10-23 2022-05-02 삼성전자주식회사 패리티를 저장하는 메모리 장치 및 이를 포함하는 메모리 시스템
US11650932B2 (en) 2020-10-25 2023-05-16 Western Digital Technologies, Inc. Integrated non-volatile memory assembly with address translation
US11487465B2 (en) 2020-12-11 2022-11-01 Alibaba Group Holding Limited Method and system for a local storage engine collaborating with a solid state drive controller
CN112486853B (zh) * 2020-12-15 2022-11-01 长江存储科技有限责任公司 Nand闪存的页映射解码方法及系统、存储介质及终端
US11487455B2 (en) 2020-12-17 2022-11-01 Pure Storage, Inc. Dynamic block allocation to optimize storage system performance
US11650756B2 (en) * 2020-12-28 2023-05-16 Western Digital Technologies, Inc. Nonvolatile memory with encoding for foggy-fine programming with soft bits
US11734115B2 (en) 2020-12-28 2023-08-22 Alibaba Group Holding Limited Method and system for facilitating write latency reduction in a queue depth of one scenario
US11416365B2 (en) 2020-12-30 2022-08-16 Alibaba Group Holding Limited Method and system for open NAND block detection and correction in an open-channel SSD
US11847324B2 (en) 2020-12-31 2023-12-19 Pure Storage, Inc. Optimizing resiliency groups for data regions of a storage system
US11614880B2 (en) 2020-12-31 2023-03-28 Pure Storage, Inc. Storage system with selectable write paths
KR20220103227A (ko) * 2021-01-14 2022-07-22 삼성전자주식회사 비휘발성 메모리 장치, 그것을 제어하는 제어기, 그것을 갖는 저장 장치, 및 그것의 리드 방법
US11481154B2 (en) 2021-01-15 2022-10-25 Sandisk Technologies Llc Non-volatile memory with memory array between circuits
US11481271B2 (en) 2021-03-16 2022-10-25 Western Digital Technologies, Inc. Storage system and method for using subcodes and convolutional-based LDPC interleaved coding schemes with read threshold calibration support
US11726699B2 (en) 2021-03-30 2023-08-15 Alibaba Singapore Holding Private Limited Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification
US11507597B2 (en) 2021-03-31 2022-11-22 Pure Storage, Inc. Data replication to meet a recovery point objective
US11461173B1 (en) 2021-04-21 2022-10-04 Alibaba Singapore Holding Private Limited Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement
US11456758B1 (en) 2021-04-23 2022-09-27 Western Digital Technologies, Inc. Adaptive soft-bit compression in flash memory
US11476874B1 (en) 2021-05-14 2022-10-18 Alibaba Singapore Holding Private Limited Method and system for facilitating a storage server with hybrid memory for journaling and data storage
US20220399072A1 (en) * 2021-06-15 2022-12-15 Sandisk Technologies Llc Nonvolatile memory with latch scramble
US11689219B1 (en) * 2021-08-12 2023-06-27 Kioxia Corporation Method and system for error correction in memory devices using irregular error correction code components
US11550657B1 (en) 2021-09-01 2023-01-10 Apple Inc. Efficient programming schemes in a nonvolatile memory
US11776589B2 (en) 2021-09-16 2023-10-03 Sandisk Technologies Llc Vertical compression scheme for compressed soft bit data in non-volatile memories with data latch groups
US11907545B2 (en) 2021-09-16 2024-02-20 Sandisk Technologies Llc On-the-fly multiplexing scheme for compressed soft bit data in non-volatile memories
US11971826B2 (en) 2021-09-16 2024-04-30 Sandisk Technologies Llc Architecture and data path options for compression of soft bit data in non-volatile memories
US11894068B2 (en) 2021-09-16 2024-02-06 Sandisk Technologies Llc Efficient sensing of soft bit data for non-volatile memory
US11901019B2 (en) 2021-09-16 2024-02-13 Sandisk Technologies Llc Use of data latches for compression of soft bit data in non-volatile memories
US11971829B2 (en) 2021-09-16 2024-04-30 Sandisk Technologies Llc On-the-fly compression scheme for soft bit data in non-volatile memory
US11694761B2 (en) * 2021-09-17 2023-07-04 Nxp B.V. Method to increase the usable word width of a memory providing an error correction scheme
CN114047880B (zh) * 2021-11-16 2023-07-04 深圳忆联信息系统有限公司 多Pass编程的NAND写入功耗优化方法、装置及计算机设备
US11853607B2 (en) 2021-12-22 2023-12-26 Western Digital Technologies, Inc. Optimizing flash memory utilization for NVMe KV pair storage
US11817883B2 (en) * 2021-12-27 2023-11-14 Western Digital Technologies, Inc. Variable length ECC code according to value length in NVMe key value pair devices
US11733876B2 (en) 2022-01-05 2023-08-22 Western Digital Technologies, Inc. Content aware decoding in KV devices
US11934263B2 (en) * 2022-03-29 2024-03-19 Ampere Computing Llc Parity protected memory blocks merged with error correction code (ECC) protected blocks in a codeword for increased memory utilization
US11916570B1 (en) * 2022-11-11 2024-02-27 Texas Instruments Incorporated Codeword format for data storage
TWI826161B (zh) * 2022-12-02 2023-12-11 群聯電子股份有限公司 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元

Family Cites Families (120)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4228496A (en) 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
US4701884A (en) 1985-08-16 1987-10-20 Hitachi, Ltd. Semiconductor memory for serial data access
US5367383A (en) 1992-11-27 1994-11-22 Eastman Kodak Company Method and apparatus for maximizing data storage in a processor of image data
KR0168896B1 (ko) 1993-09-20 1999-02-01 세키자와 다다시 패리티에 의해 에러를 수정할 수 있는 반도체 메모리장치
DE4335305A1 (de) 1993-10-16 1995-04-20 Philips Patentverwaltung Verfahren und Schaltungsanordnung zur Übertragung von Sprachsignalen
EP0788113B1 (en) 1996-01-31 2005-08-24 STMicroelectronics S.r.l. Multilevel memory circuits and corresponding reading and writing methods
US5903495A (en) 1996-03-18 1999-05-11 Kabushiki Kaisha Toshiba Semiconductor device and memory system
JP2000122935A (ja) 1998-10-20 2000-04-28 Sanyo Electric Co Ltd 不揮発性メモリのアドレス変換装置
US7660941B2 (en) 2003-09-10 2010-02-09 Super Talent Electronics, Inc. Two-level RAM lookup table for block and page allocation and wear-leveling in limited-write flash-memories
US20080071973A1 (en) * 2000-01-06 2008-03-20 Chow David Q Electronic data flash card with various flash memory cells
US6418059B1 (en) 2000-06-26 2002-07-09 Intel Corporation Method and apparatus for non-volatile memory bit sequence program controller
EP1211812B1 (en) * 2000-10-31 2006-11-15 STMicroelectronics S.r.l. A/D conversion method in high density multilevel non-volatile memory devices and corresponding converter device
US7036068B2 (en) 2001-07-25 2006-04-25 Hewlett-Packard Development Company, L.P. Error correction coding and decoding in a solid-state storage device
US6778479B2 (en) 2002-07-11 2004-08-17 Mediatek Incorporation Media recognition control method for optical types
US6966024B2 (en) 2002-12-31 2005-11-15 Motorola, Inc. Method and device for adaptive quantization of soft bits
US6914823B2 (en) 2003-07-29 2005-07-05 Sandisk Corporation Detecting over programmed memory after further programming
US20050213393A1 (en) 2004-03-14 2005-09-29 M-Systems Flash Disk Pioneers, Ltd. States encoding in multi-bit flash cells for optimizing error rate
US7493457B2 (en) 2004-11-08 2009-02-17 Sandisk Il. Ltd States encoding in multi-bit flash cells for optimizing error rate
US7752381B2 (en) 2005-05-24 2010-07-06 Micron Technology, Inc. Version based non-volatile memory translation layer
JPWO2007000862A1 (ja) 2005-06-24 2009-01-22 パナソニック株式会社 メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法
US8055833B2 (en) 2006-10-05 2011-11-08 Google Inc. System and method for increasing capacity, performance, and flexibility of flash storage
JP5073667B2 (ja) * 2005-09-29 2012-11-14 トレック・2000・インターナショナル・リミテッド Slc及びmlcフラッシュメモリを使用するポータブルデータ記憶装置
US7681109B2 (en) 2005-10-13 2010-03-16 Ramot At Tel Aviv University Ltd. Method of error correction in MBC flash memory
US7526715B2 (en) 2005-10-17 2009-04-28 Ramot At Tel Aviv University Ltd. Probabilistic error correction in multi-bit-per-cell flash memory
US7844877B2 (en) 2005-11-15 2010-11-30 Ramot At Tel Aviv University Ltd. Method and device for multi phase error-correction
US7366013B2 (en) 2005-12-09 2008-04-29 Micron Technology, Inc. Single level cell programming in a multiple level cell non-volatile memory device
JP4152410B2 (ja) * 2005-12-20 2008-09-17 Necエレクトロニクス株式会社 演算回路
US7436733B2 (en) * 2006-03-03 2008-10-14 Sandisk Corporation System for performing read operation on non-volatile storage with compensation for coupling
US7388781B2 (en) 2006-03-06 2008-06-17 Sandisk Il Ltd. Multi-bit-per-cell flash memory device with non-bijective mapping
US7502254B2 (en) 2006-04-11 2009-03-10 Sandisk Il Ltd Method for generating soft bits in flash memories
US7823043B2 (en) 2006-05-10 2010-10-26 Sandisk Il Ltd. Corruption-resistant data porting with multiple error correction schemes
WO2007132457A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
CN101501779B (zh) * 2006-05-12 2013-09-11 苹果公司 具有自适应容量的存储设备
US20070266296A1 (en) 2006-05-15 2007-11-15 Conley Kevin M Nonvolatile Memory with Convolutional Coding
US8042029B2 (en) * 2006-05-21 2011-10-18 Ramot At Tel Aviv University Ltd. Error correction decoding by trial and error
US7304893B1 (en) 2006-06-30 2007-12-04 Sandisk Corporation Method of partial page fail bit detection in flash memory devices
US7616483B2 (en) 2006-07-03 2009-11-10 Sandisk Corporation Multi-bit-per-cell flash memory device with an extended set of commands
WO2008053472A2 (en) 2006-10-30 2008-05-08 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US7904780B2 (en) 2006-11-03 2011-03-08 Sandisk Corporation Methods of modulating error correction coding
US9116823B2 (en) 2006-12-06 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for adaptive error-correction coding
US8074011B2 (en) 2006-12-06 2011-12-06 Fusion-Io, Inc. Apparatus, system, and method for storage space recovery after reaching a read count limit
US9495241B2 (en) 2006-12-06 2016-11-15 Longitude Enterprise Flash S.A.R.L. Systems and methods for adaptive data storage
KR100766042B1 (ko) 2006-12-06 2007-10-12 삼성전자주식회사 연접 부호화를 이용한 멀티 레벨 셀 메모리 장치
KR101490327B1 (ko) 2006-12-06 2015-02-05 퓨전-아이오, 인크. 뱅크 인터리브를 이용한 솔리드-스테이트 스토리지의 명령 관리 장치, 시스템 및 방법
KR100785925B1 (ko) * 2006-12-06 2007-12-17 삼성전자주식회사 Tcm을 이용한 멀티 레벨 셀 메모리 장치
WO2008068706A1 (en) * 2006-12-07 2008-06-12 Nxp B.V. Method and device for reconfiguration of reliability data in flash eeprom storage pages
US7814401B2 (en) 2006-12-21 2010-10-12 Ramot At Tel Aviv University Ltd. Soft decoding of hard and soft bits read from a flash memory
US8019959B2 (en) 2007-02-09 2011-09-13 Marvell World Trade Ltd. Nonvolatile memory system
US20080192544A1 (en) 2007-02-13 2008-08-14 Amit Berman Error correction coding techniques for non-volatile memory
US7966546B2 (en) 2007-03-31 2011-06-21 Sandisk Technologies Inc. Non-volatile memory with soft bit data transmission for error correction control
KR101492595B1 (ko) 2007-05-21 2015-02-11 라모트 앳 텔-아비브 유니버시티 리미티드 메모리 효율적인 ldpc 디코딩
US8060798B2 (en) 2007-07-19 2011-11-15 Micron Technology, Inc. Refresh of non-volatile memory cells based on fatigue conditions
JP4564520B2 (ja) * 2007-08-31 2010-10-20 株式会社東芝 半導体記憶装置およびその制御方法
US7545673B2 (en) 2007-09-25 2009-06-09 Sandisk Il Ltd. Using MLC flash as SLC by writing dummy data
US8145977B2 (en) 2007-10-15 2012-03-27 Joseph Schweiray Lee Methods and apparatus for providing error correction to unwritten pages and for identifying unwritten pages in flash memory
WO2009053962A2 (en) 2007-10-22 2009-04-30 Densbits Technologies Ltd. Systems and methods for averaging error rates in non-volatile devices and storage systems
US8832408B2 (en) 2007-10-30 2014-09-09 Spansion Llc Non-volatile memory array partitioning architecture and method to utilize single level cells and multi-level cells within the same memory
US7924628B2 (en) 2007-11-14 2011-04-12 Spansion Israel Ltd Operation of a non-volatile memory array
US8316277B2 (en) 2007-12-06 2012-11-20 Fusion-Io, Inc. Apparatus, system, and method for ensuring data validity in a data storage process
WO2009078006A2 (en) * 2007-12-18 2009-06-25 Densbits Technologies Ltd. Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith
US8762620B2 (en) * 2007-12-27 2014-06-24 Sandisk Enterprise Ip Llc Multiprocessor storage controller
US8159874B2 (en) * 2008-01-22 2012-04-17 Micron Technology, Inc. Cell operation monitoring
US8156398B2 (en) 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US8832518B2 (en) 2008-02-21 2014-09-09 Ramot At Tel Aviv University Ltd. Method and device for multi phase error-correction
WO2009114618A2 (en) 2008-03-11 2009-09-17 Agere Systems Inc. Methods and apparatus for storing data in a multi-level cell flash memory device with cross-page sectors, multi-page coding and per-page coding
KR101398212B1 (ko) * 2008-03-18 2014-05-26 삼성전자주식회사 메모리 장치 및 인코딩/디코딩 방법
JP2009282923A (ja) * 2008-05-26 2009-12-03 Toshiba Corp 半導体記憶装置及び不揮発性メモリ
KR101412690B1 (ko) 2008-05-28 2014-06-27 삼성전자주식회사 메모리 장치 및 메모리 프로그래밍 방법
US8843691B2 (en) 2008-06-25 2014-09-23 Stec, Inc. Prioritized erasure of data blocks in a flash storage device
KR101436506B1 (ko) 2008-07-23 2014-09-02 삼성전자주식회사 메모리 장치 및 메모리 데이터 프로그래밍 방법
KR20100013485A (ko) 2008-07-31 2010-02-10 삼성전자주식회사 메모리 장치 및 웨어 레벨링 방법
KR101528167B1 (ko) 2008-08-01 2015-06-12 삼성전자주식회사 메모리 장치 및 메모리 데이터 판정 방법
US7864587B2 (en) * 2008-09-22 2011-01-04 Micron Technology, Inc. Programming a memory device to increase data reliability
JP5537551B2 (ja) 2008-09-28 2014-07-02 ラマト アット テル アビブ ユニバーシティ リミテッド フラッシュメモリにおける適応符号化用の方法およびシステム
JP4746658B2 (ja) * 2008-09-29 2011-08-10 株式会社東芝 半導体記憶システム
JP2010165400A (ja) 2009-01-14 2010-07-29 Toshiba Corp 不揮発性半導体記憶装置及びそのシステム
TWI385527B (zh) 2009-02-10 2013-02-11 Phison Electronics Corp Mlc nand型快閃記憶體儲存系統及其控制器與存取方法
US8756365B2 (en) 2009-02-12 2014-06-17 Ramot At Tel Aviv University Ltd. Apparatus and method for enhancing flash endurance by encoding data
US8261158B2 (en) 2009-03-13 2012-09-04 Fusion-Io, Inc. Apparatus, system, and method for using multi-level cell solid-state storage as single level cell solid-state storage
US8832354B2 (en) * 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8175012B2 (en) * 2009-03-26 2012-05-08 Mediatek Inc. Decoding/encoding method for booting from a NAND flash and system thereof
US8418021B2 (en) 2009-03-27 2013-04-09 Mediatek Inc. Storage controller with encoding/decoding circuit programmable to support different ECC requirements and related method thereof
US20130047056A1 (en) 2009-05-05 2013-02-21 Lite-On It Corporation Flash memory device with rectifiable redundancy and method of controlling the same
US8464123B2 (en) 2009-05-07 2013-06-11 Ramot At Tel Aviv University Ltd. Matrix structure for block encoding
US8281227B2 (en) 2009-05-18 2012-10-02 Fusion-10, Inc. Apparatus, system, and method to increase data integrity in a redundant storage system
KR101572830B1 (ko) 2009-06-22 2015-11-30 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법, 비휘발성 메모리 장치 및 비휘발성 메모리 시스템
US8255620B2 (en) * 2009-08-11 2012-08-28 Texas Memory Systems, Inc. Secure Flash-based memory system with fast wipe feature
US7941696B2 (en) 2009-08-11 2011-05-10 Texas Memory Systems, Inc. Flash-based memory system with static or variable length page stripes including data protection information and auxiliary protection stripes
JP5999645B2 (ja) 2009-09-08 2016-10-05 ロンギチュード エンタープライズ フラッシュ エスエイアールエル ソリッドステート記憶デバイス上にデータをキャッシングするための装置、システム、および方法
CN102024497B (zh) * 2009-09-22 2013-10-02 成都市华为赛门铁克科技有限公司 一种存储数据的方法及存储装置
US8190974B2 (en) * 2009-09-28 2012-05-29 Nvidia Corporation Error detection and correction for external DRAM
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
US9244836B2 (en) 2009-11-23 2016-01-26 Agiga Tech Inc. Flash memory organization for reduced failure rate
US20110161560A1 (en) * 2009-12-31 2011-06-30 Hutchison Neil D Erase command caching to improve erase performance on flash memory
US8429468B2 (en) 2010-01-27 2013-04-23 Sandisk Technologies Inc. System and method to correct data errors using a stored count of bit values
US8631304B2 (en) 2010-01-28 2014-01-14 Sandisk Il Ltd. Overlapping error correction operations
JP5631750B2 (ja) 2010-03-19 2014-11-26 株式会社東芝 複合メモリ
JP5815212B2 (ja) 2010-04-19 2015-11-17 スパンション エルエルシー データ書き込み方法およびシステム
KR101734204B1 (ko) 2010-06-01 2017-05-12 삼성전자주식회사 프로그램 시퀀서를 포함하는 플래시 메모리 장치 및 시스템, 그리고 그것의 프로그램 방법
US8301828B2 (en) * 2010-06-02 2012-10-30 Conexant Systems, Inc. Systems and methods for reliable multi-level cell flash storage
WO2011159805A2 (en) 2010-06-15 2011-12-22 Fusion-Io, Inc. Apparatus, system, and method for providing error correction
KR20120001405A (ko) 2010-06-29 2012-01-04 삼성전자주식회사 메모리 시스템 및 그것의 웨어 레벨링 방법
KR101686590B1 (ko) 2010-09-20 2016-12-14 삼성전자주식회사 플래시 메모리 시스템 및 그것의 워드 라인 인터리빙 방법
JP5143203B2 (ja) 2010-09-24 2013-02-13 株式会社東芝 メモリシステム
JP5980798B2 (ja) 2010-12-01 2016-08-31 シーゲイト テクノロジー エルエルシーSeagate Technology LLC 独立したシリコン素子の動的な上位レベルの冗長モード管理
US8099652B1 (en) 2010-12-23 2012-01-17 Sandisk Corporation Non-volatile memory and methods with reading soft bits in non uniform schemes
US8612834B2 (en) * 2011-03-08 2013-12-17 Intel Corporation Apparatus, system, and method for decoding linear block codes in a memory controller
US8942035B2 (en) 2011-03-23 2015-01-27 Seagate Technology Llc Non-sequential encoding scheme for multi-level cell (MLC) memory cells
KR20120119779A (ko) * 2011-04-22 2012-10-31 삼성전자주식회사 불휘발성 메모리 장치
US9176810B2 (en) 2011-05-27 2015-11-03 SanDisk Technologies, Inc. Bit error reduction through varied data positioning
US8886911B2 (en) 2011-05-31 2014-11-11 Micron Technology, Inc. Dynamic memory cache size adjustment in a memory device
US8732557B2 (en) * 2011-05-31 2014-05-20 Micron Technology, Inc. Data protection across multiple memory blocks
US8880977B2 (en) 2011-07-22 2014-11-04 Sandisk Technologies Inc. Systems and methods of storing data
KR101824068B1 (ko) * 2011-07-28 2018-03-15 삼성전자주식회사 메모리 컨트롤러 구동방법, 및 메모리 컨트롤러를 포함하는 메모리 시스템, 메모리 카드 및 휴대용 전자장치
US9047210B2 (en) 2011-09-15 2015-06-02 Sandisk Technologies Inc. Data storage device and method to correct bit values using multiple read voltages
US8737133B2 (en) * 2011-10-18 2014-05-27 Seagate Technology Llc Shifting cell voltage based on grouping of solid-state, non-volatile memory cells
US8760932B2 (en) * 2011-10-18 2014-06-24 Seagate Technology Llc Determination of memory read reference and programming voltages
KR20130052811A (ko) 2011-11-14 2013-05-23 에스케이하이닉스 주식회사 불휘발성 메모리 장치, 그것의 동작 방법 및 그것을 포함하는 데이터 저장 장치
KR101832934B1 (ko) 2012-01-27 2018-02-28 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함하는 메모리 시스템, 그것의 블록 관리 방법, 프로그램 방법 및 소거 방법

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI512750B (zh) * 2014-07-30 2015-12-11 Phison Electronics Corp 資料儲存方法、記憶體控制電路單元及記憶體儲存裝置
US10574271B2 (en) 2015-09-11 2020-02-25 Silicon Motion, Inc. Data storage system and associated method for saving storage space and eliminating data errors
TWI566096B (zh) * 2015-09-11 2017-01-11 慧榮科技股份有限公司 資料儲存系統與其相關方法
US10992322B2 (en) 2015-09-11 2021-04-27 Silicon Motion, Inc. Data storage system and associated method for saving storage space and eliminating data errors
US10917119B2 (en) 2015-09-11 2021-02-09 Silicon Motion, Inc. Data storage system and associated data storing method for reducing data error rate
US10469105B2 (en) 2015-09-11 2019-11-05 Silicon Motion Inc. Data storage system and associated data storing method for reducing data error rate
TWI620059B (zh) * 2015-10-28 2018-04-01 威盛電子股份有限公司 非揮發性記憶體裝置及其讀取方法
US10049007B2 (en) 2015-10-28 2018-08-14 Via Technologies, Inc. Non-volatile memory device and read method thereof
CN106708422A (zh) * 2015-11-18 2017-05-24 慧荣科技股份有限公司 数据储存装置及其数据维护方法
CN106708422B (zh) * 2015-11-18 2019-09-24 慧荣科技股份有限公司 数据储存装置及其数据维护方法
TWI578222B (zh) * 2015-11-18 2017-04-11 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
US11994985B2 (en) 2022-10-04 2024-05-28 Silicon Motion, Inc. Method and apparatus for performing access management of memory device in host performance booster architecture with aid of device side table information encoding and decoding
US11995349B2 (en) 2022-10-04 2024-05-28 Silicon Motion, Inc. Method and apparatus for performing access management of memory device in host performance booster architecture with aid of device side table information encoding and decoding

Also Published As

Publication number Publication date
EP2734925A2 (en) 2014-05-28
US9318166B2 (en) 2016-04-19
US20130024748A1 (en) 2013-01-24
US20130024605A1 (en) 2013-01-24
CN107357678A (zh) 2017-11-17
US9311970B2 (en) 2016-04-12
US20150043276A1 (en) 2015-02-12
CN103827833B (zh) 2017-08-08
US20130024747A1 (en) 2013-01-24
US20130024743A1 (en) 2013-01-24
US8880977B2 (en) 2014-11-04
US20130024746A1 (en) 2013-01-24
US20150039970A1 (en) 2015-02-05
US9390774B2 (en) 2016-07-12
KR20140060285A (ko) 2014-05-19
CN103827833A (zh) 2014-05-28
US9311969B2 (en) 2016-04-12
JP2014523595A (ja) 2014-09-11
US8874994B2 (en) 2014-10-28
US9032269B2 (en) 2015-05-12
WO2013016168A3 (en) 2013-06-06
EP2734925B1 (en) 2015-07-01
JP6025844B2 (ja) 2016-11-16
WO2013016168A2 (en) 2013-01-31

Similar Documents

Publication Publication Date Title
TW201314449A (zh) 儲存資料之系統及方法
US9124300B2 (en) Error correction coding in non-volatile memory
CN111326199B (zh) 用于存储器设备的多态编程
TWI594254B (zh) 讀取快閃記憶體中區塊之資料的方法及相關的記憶裝置
US11243838B2 (en) Methods and apparatuses for error correction
US10445002B2 (en) Data accessing method, memory controlling circuit unit and memory storage device
CN109857584B (zh) 于记忆装置进行访问控制的方法、记忆装置和其控制器
US20230082008A1 (en) Parity protection in non-volatile memory
US10447314B2 (en) Decoding method, memory storage device and memory control circuit unit
TW201926043A (zh) 用來於一記憶裝置中進行存取控制之方法以及記憶裝置及其控制器
JP2006221334A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
CN117632579B (zh) 存储器控制方法和存储器存储装置
CN112328508B (zh) 多层存储器中的层交错
US20210004170A1 (en) Changing of memory components to be used for a stripe based on an endurance condition
CN117409844A (zh) 数据恢复方法、存储器存储装置及存储器控制器
CN117409845A (zh) 分组管理方法、存储器存储装置及存储器控制器