向次序調制解碼器提供包括硬位數據和軟位數據的數據的方法和裝置制造方法
【專利摘要】一種方法包括向次序調制解碼器提供包括硬位數據和軟位數據的數據。
【專利說明】向次序調制解碼器提供包括硬位數據和軟位數據的數據的方法和裝置
【技術領域】
[0001]本公開一般涉及在次序(rank)調制解碼器處解碼數據。
【背景技術】
[0002]諸如通用串行總線(USB)閃存設備或可移除存儲卡的非易失性存儲器設備允許數據和軟件應用的增加的可攜帶性。閃存設備可以通過在每個閃存單元中存儲多個位而提高數據存儲密度。例如,多級單元(MLC)閃存設備通過每單元存儲3個位、4個位或更多位而提供增加的存儲密度。
[0003]將多個位的信息存儲在單一閃存單元中通常包括將位序列映射到閃存單元的狀態(tài)。例如,第一位序列“ 110 ”可以對應于閃存單元的第一狀態(tài),且第二位序列“010 ”可以對應于該閃存單元的第二狀態(tài)。在確定位序列要被存儲到特定閃存單元內之后,可以將該閃存單元編程到對應于該位序列的狀態(tài)。
[0004]替代地,單一閃存單元中的多個位的信息可被存儲為該存儲器的多個單元的相對電壓電平而非存儲為每個單元中的絕對電壓電平。例如,該存儲器的每個存儲元件可以具有對應于該存儲元件的狀態(tài)的閾值電壓。一組存儲元件可以基于該組中的存儲元件的相對閾值電壓而存儲數據??梢酝ㄟ^根據閾值電壓對存儲元件排序(ranking)且將該排序映射到在次序調制解碼器處的相應數據值而從該組存儲元件讀取數據。
[0005]一旦已編程了存儲器設備中的存儲器單元,可以通過感測存儲器單元的編程狀態(tài)而從這些存儲器單元讀取數據。然而,所感測的編程狀態(tài)有時可能由于一個或多個因素而與寫入的編程狀態(tài)不同。錯誤校正解碼可用于校正由于與寫入的編程狀態(tài)不匹配的所感測的編程狀態(tài)所導致的數據錯誤。
【發(fā)明內容】
[0006]可以通過使用軟位及硬位來解碼數據而實現次序調制解碼器的改進的錯誤校正能力。為了例示,與基于僅使用硬位作為到次序調制解碼器的輸入的解碼方案相比,可以使用軟位和硬位作為到次序調制解碼器的輸入以增強在多級單元(MLC)存儲器系統(tǒng)中的錯誤校正能力。
【專利附圖】
【附圖說明】
[0007]圖1是將包括硬位數據和軟位數據的數據提供給次序調制解碼器的系統(tǒng)的第一例示性實施例的框圖;
[0008]圖2是例示次序調制解碼中的軟位和硬位的使用的圖;
[0009]圖3是例示感測方案的一個特定實施例的總圖并且包括單元狀態(tài)分布和對于被提供給次序調制解碼器的硬位和另外的感測的(軟)位的閾值讀取電壓的圖形描繪;
[0010]圖4是圖形地例示三單元次序調制組的狀態(tài)的總圖;[0011]圖5是例示在使用次序調制解碼的三單元組中的硬位閾值的例子的總圖;
[0012]圖6是例示在使用次序調制解碼的三單元組中的軟位閾值的例子的總圖;
[0013]圖7是例示在使用次序調制解碼的四單元組中的軟位閾值的例子的總圖;
[0014]圖8是例示在使用次序調制解碼的兩單元組中的每個硬位區(qū)域中的一個軟位閾值的例子的總圖;以及
[0015]圖9是例示將包括硬位數據和軟位數據的數據提供給次序調制解碼器的方法的一個特定實施例的流程圖。
【具體實施方式】
[0016]隨著數據存儲設備尺寸減小且存儲密度增加,解碼技術可提供改進的錯誤校正。使用軟位及硬位作為到多級單元(MLC)存儲器系統(tǒng)中的次序調制解碼器的輸入可以增強錯誤校正能力。
[0017]將包括硬位數據和軟位數據的數據提供到次序調制解碼器的系統(tǒng)和方法包含將包括從數據存儲設備的存儲器讀取的硬位數據和軟位數據提供到該次序調制解碼器的能力。
[0018]參考圖1,描繪將包括硬位數據和軟位數據的數據提供到次序調制解碼器的系統(tǒng)的特定例示性實施例,其被概括地指定為100。系統(tǒng)100包括耦合至主機設備130的數據存儲設備102。數據存儲設備102包括經由總線150耦合至控制器106的存儲器104。
[0019]數據存儲設備102可以是存儲卡,諸如安全數字SD?卡、microSD?卡、miniSD.TM卡(特拉華州威爾明頓的SD-3C LLC的商標)、MultiMediaCard.TM(MMC.TM)卡(維吉尼亞州阿靈頓的 JEDEC Solid State Technology Association 的商標)或CompactFlash?(CF)卡(加利福尼亞州米爾皮塔斯的SanDisk Corporation的商標)。作為另一例子,數據存儲設備102可以是主機設備130中的嵌入式存儲器,比如作為例示性例子的eMMC?(維吉尼亞州阿靈頓的JEDEC Solid State Technology Association的商標)存儲器和eSD存儲器。
[0020]存儲器104可以是諸如NAND閃存設備、NOR閃存設備或任何其它類型的快閃設備的閃存設備的非易失性存儲器。存儲器104包括存儲器部分110和讀取閾值120。存儲器部分110包括多個存儲元件,諸如多級單元(MLC)存儲器的存儲器單元。一組存儲元件112可以包括多個MLC存儲元件,諸如閃存設備的字線119的代表性存儲元件113、115、117。每個存儲元件113-117可以具有對應于該存儲元件的狀態(tài)(例如,對應于特定范圍的閾值電壓值的預定狀態(tài))的閾值電壓。該組存儲元件112可以基于存儲元件113-117的相對閾值電壓(或狀態(tài))來存儲數據??梢酝ㄟ^比較這些閾值電壓與讀取閾值120的一個或多個而讀取存儲元件113-117的狀態(tài)。
[0021]讀取閾值120包括硬位閾值122和軟位閾值124。如關于圖3進一步詳細描述的,硬位閾值122可以包括用于硬位的閾值讀取電壓(例如,圖3中的電壓AR、BR、...GR),且軟位閾值124可以包括用于另外的感測的位或軟位的閾值讀取電壓(例如,圖3中的電壓AR-V1、AR+V2、AR-V3、AR+V4、...)。為了例示,存儲元件113-117每個可以被編程到多個預定狀態(tài)之一??梢詫㈩A定狀態(tài)的每個映射到特定位值(例如單一位值(“O”或“I”)或多位值,諸如“101”)。對應于所確定的MLC狀態(tài)的位值稱為“硬位”??捎糜谥甘驹摯鎯υ淖x取的可靠性的另外的信息稱為“軟位”。軟位可以由次序調制解碼器116內的錯誤校正編碼(ECC)引擎108結合一個或多個硬位來使用以通過指示從存儲器104讀取的硬位的相對可靠性而增強讀取操作。
[0022]控制器106包括ECC引擎108和次序調制解碼器116。ECC引擎108可以配置為檢測在對應于存儲元件112的讀取的數據中的錯誤??梢栽跀祿鎯υO備102可操作地耦合到主機設備130時將次序調制解碼器116的輸出提供到主機設備130。
[0023]為了將數據寫入至存儲器104,控制器106可以將次序調制碼字140經由總線150提供到存儲器104。例如,總線150可以是安全數字(SD)總線。存儲器104配置為在存儲器部分110中存儲次序調制碼字140的表示。次序調制碼字140可以基于非二進制符號,比如根據單元的相對閾值電壓指示一個或多個組的單元中的單元的次序的符號。每組中的單元的數量可以等同于該非二進制符號的大小。每組中的單元的次序(即,每個單元被編程到的相對閾值電壓)指示該非二進制符號的值。例如,一個三單元組可以具有六個可能的排序(ranking)且每個可能的排序可以對應于非二進制符號的一個值。作為一例示性的非限制性例子,對于包括分別具有閾值電壓V1、V2和V3的單元1、單元2和單元3的組,根據:V1>V2>V3 = 000、V1>V3>V2 = 00UV2>V1>V3 = 010、V2>V3>V1 = 01UV3>V1>V2 = 100、和V3>V2>V1 = 101,該非二進制符號的值可以對應于這些單元的排序。
[0024]控制器106可以配置為接收來自主機設備130的存儲器存取請求并處理從存儲器104讀取的數據??刂破?06可以配置為接收來自存儲器104的硬位值152和軟位值154。例如,硬位值152和軟位值154可以對應于從存儲器104讀取的次序調制碼字的表示且可以包括關于在存儲器部分110中所存儲的次序調制碼字140的表示。為了例示,可以將存儲元件113-117的每個編程到特定狀態(tài)以具有被設置到特定排序順序的存儲元件113-117的閾值電壓的相對值。例如,在定義的值的范圍內的閾值電壓可指示由位樣式所表示的特定狀態(tài)。該組存儲元件112的每個存儲元件的位樣式的硬位值和軟位元值可以對應于從MLC存儲器讀取的次序調制碼字的表示。
[0025]主機設備130可以配置為提供要存儲在存儲器104處的數據或請求要從存儲器104讀取的數據。例如,主機設備130可以包括移動電話、音樂或視頻播放器、游戲控制臺、電子書閱讀器、個人數字助理(PDA)、諸如膝上型計算機、筆記型計算機或平板機的計算機、任何其它電子設備或其任意組合。
[0026]在操作期間,主機設備130可以指示控制器106從存儲器104取回對應于諸如存儲元件113-117的該組存儲元件112的數據。存儲器104可以配置為通過比較存儲器部分110中的單元閾值電壓與硬位閾值122以產生硬位值152并比較存儲器部分110中的單元閾值電壓與軟位閾值124以產生軟位值154而從該組存儲元件112讀取該次序調制碼字140的表示。例如,每個存儲元件113-117可以具有對應于該存儲元件的狀態(tài)的閾值電壓??梢酝ㄟ^比較存儲元件113-117的每個的閾值電壓與硬位閾值122以產生硬位值152而讀取每個存儲元件113-117的狀態(tài)(即,閾值電壓值的范圍),且可以通過比較存儲元件113-117的每個的閾值電壓與軟位閾值124以產生軟位值154而讀取閾值電壓值的子范圍??刂破?06可以將硬位值152和軟位值154提供作為到次序調制解碼器116的輸入。
[0027]次序調制解碼器116可以配置為將硬位值152映射到可由ECC引擎108解碼的ECC碼字。例如,該ECC引擎可以是里德所羅門(Reed Solomon)ECC引擎、博斯-奎德胡里-霍昆格母(BCH) ECC引擎、低密度奇偶校驗ECC引擎、一個或多個其它ECC引擎或其任意組合。次序調制解碼器116可以將硬位值152轉換為輸入至ECC引擎108的ECC碼字。
[0028]軟位值154可以提供關于從存儲器部分110中的存儲元件113-117讀取的狀態(tài)的可靠性信息。該可靠性信息可以包括對于所讀取的每個存儲元件113-117的指示用于該存儲元件的硬位值是正確的可能性的值。例如,可以由次序調制解碼器116使用軟位值154以獲得被提供到ECC引擎108的ECC碼字的每位的可靠性指示符,比如對數似然比(LLR)。次序調制解碼器116可以配置為使用該可靠性信息來引導在ECC引擎108處的錯誤校正處理,以基于所接收的硬位值152和軟位值154而產生解碼的數據位。例如,ECC引擎108可以通過基于解碼處理的先前迭代的位估計值和這些位估計的LLR來反復更新位估計和這些位估計的LLR以收斂至最可能的ECC碼字而進行概率解碼。軟位值154使次序調制解碼器116能夠建立初始可靠性值(例如LLR),這些初始可靠性值比由僅使用硬位的傳統(tǒng)解碼器所使用的默認LLR更準確。使用更準確的初始可靠性值(例如基于軟位值154的LLR)使次序調制解碼器116能夠更快速和/或更準確地收斂。因此,可以以減少的等待時間、以改進的錯誤校正能力或 其組合來進行ECC碼字的表示的解碼。
[0029]次序調制(rank modulation)是其中信息可以存儲為存儲器的多個單元的相對電壓電平而非存儲為每個存儲器單元中的絕對電壓電平的技術。例如,在具有四個單元的單級單元(SLC)存儲器中,四個位可以被存儲為這些單元中的每個單元中的絕對電壓電平。在具有四個單元的每單元兩位(2-BPC)存儲器中,可以存儲8個位(例如2x4)。
[0030]與將數據存儲為絕對電壓電平相對比,可以通過將四個單元分別表示為1、2、3和4來描述使用這四個單元以表示信息的次序調制。四個單元1-4的每個可以具有分別由'、V2、V3和V4所表示的對應閾值電壓。四個單元1-4可以按其各自電壓電平的遞減順序而被排序或表示。例如,3-4-1-2次序的電壓電平可表示?>?{>?2。
[0031]相應地,對于這四個單元存在4 ! (B卩,4階乘)=24個組合(B卩,電壓電平的排序)。通過在次序調制方案中使用四個存儲器單元,可以表示log224 = 4.585個位。此數目稍高于使用四個單元的傳統(tǒng)SLC存儲器的數目,但稍低于具有四個單元的傳統(tǒng)2-BPC存儲器的數目。
[0032]表1例示可以被存儲在M單元單位中的位的數目。
[0033]
I 次序調制~Il-BPC 12-BPC 13-BPC
M 個單元 1g2 (M ! ) M 2M3M
2個單元 I2 46
3個單元 2.585 369
4 個單元 4.585 4812
[0034]表1
[0035]如果四個單元一起用于次序調制,則當將信息寫入至存儲器時,可以通過某個預定映射、諸如格雷映射將用戶數據映射到該二十四個組合之一,且電壓單元可以根據該四個單元之間的預定電壓次序而被編程。例如,如果所選擇的次序組合是3-4-1-2,則可以編程該電壓使得VPV4M1My當用戶數據被讀回時,可以感測該四個單元的相對電壓且可以確定排序。例如,如果Up U2、U3和U4分別表示單元1、2、3和4的所感測的電壓,并且如果確定upupupuy則可以確定在該二十四個可能的組合之中正確地讀取3-4-1-2組合。如果讀取了其它次序,諸如4-3-1-2或3-1-4-2,則可以使用錯誤校正編碼來檢測和處置讀取錯誤??梢允褂枚M制或非二進制錯誤校正碼。
[0036]圖2中示出在兩單元單位中使用次序調制的例示性例子。圖2描繪了例示在次序調制解碼中使用軟位和硬位的總圖200。圖200包括經由總線150耦合至控制器106的存儲器104。
[0037]存儲器104 (用虛線示出)包括表210、第一代表性存儲元件113和第二代表性存儲元件115。表210可以包括硬位數據和軟位數據,諸如分別存儲在存儲器104的鎖存器或寄存器中的硬位260和軟位262。硬位數據和軟位數據指示每個存儲元件的閾值電壓范圍,使能夠確定存儲元件的相對電壓電平(即,排序),該相對電壓電平指示在第一存儲元件113處和在第二存儲元件115處所存儲的信息。
[0038]為了例示,存儲元件113、115的每個可以具有對應的閾值電壓。例如,第一存儲元件113可以具有在第一電壓范圍VI\250內的第一閾值電壓VP30,且第二存儲元件115可以具有在第二電壓范圍VT2252內的第二閾值電壓V2232。例如,第一電壓范圍VI\250可以是從O伏特至2伏特,且第二電壓范圍VT2252也可以是從O伏特至2伏特。
[0039]硬位260可以指示比較每個特定單元的閾值電壓(例如,第一閾值電壓'230和第二閾值電壓V2232)與一個或多個硬位閾值的結果。例如,可以通過比較每個存儲元件的閾值電壓與第一硬位閾值或讀取電壓V&242且比較該閾值電壓與第二硬位閾值或讀取電壓VR2246而從第一存儲元件113和第二存儲元件115讀取數據。如所示,第一硬位讀取電壓V&242小于第二硬位讀取電壓VR2246。
[0040]具有值“II”的硬位260 (即,HB1, HB2)可以對應于大于第二硬位讀取電壓VR2246的閾值電壓值。具有值“10”的硬位260可以對應于在第一硬位讀取電壓V&242與第二硬位讀取電壓VR2246之間的閾值電壓值。具有值“00”的硬位260可以對應于小于第一硬位讀取電壓V&242的閾值電壓值。
[0041]如所不,第一閾值電壓VP30大于第一硬位讀取電壓V&242且小于第二硬位讀取電壓VR2246。第二閾值電壓V2232小于第一硬位讀取電壓V&242且小于第二硬位讀取電壓VR2246。相應地,具有值“10”的硬位260 (即,在表210中例示為HB1 = I且HB2 = O)指示第一閾值電壓'230大于第一硬位讀取電壓V&242且小于第二硬位讀取電壓VR2246。類似地,具有值“00”的硬位260 (即,在表210中例示為HB1 = O且HB2 = O)指示第二閾值電壓V2232小于第一硬位讀取電壓V&242且小于第二硬位讀取電壓VR2246。
[0042]軟位262可以指示比較每個特定單元的閾值電壓(例如,第一閾值電壓'230和第二閾值電壓V2232)與一個或多個軟位閾值的結果。例如,可以比較第一存儲元件113和第二存儲元件115的閾值電壓與第一軟位閾值或讀取電壓SP40、第二軟位閾值或讀取電壓S2244和第三軟位閾值或讀取電壓S3248。如所示,第一軟位讀取電壓SP40可以小于第二軟位讀取電壓S2244,且第二軟位讀取電壓S2244可以小于第三軟位讀取電壓S3248。另夕卜,第一硬位讀取電壓V&242可以小于第二軟位讀取電壓S2244且大于第一軟位讀取電壓SP40,且第二硬位讀取電壓VR2246可以大于第二軟位讀取電壓S2244且小于第三軟位讀取電壓S3248。在第一軟位讀取電壓SP40與第一硬位讀取電壓V&242之間的第一差可以實質上等于在第一硬位讀取電壓V&242與第二軟位讀取電壓S2244之間的第二差。
[0043]具有值“II”的軟位262 ( S卩,SB1'SB2)可以對應于大于第三軟位讀取電壓S3248的閾值電壓值。具有值“10”的軟位262可以對應于在第三軟位讀取電壓S3248與第二軟位讀取電壓S2244之間的閾值電壓值。具有值“01”的軟位262可以對應于在第二軟位讀取電壓S2244與第一軟位讀取電壓SP40之間的閾值電壓值。具有值“00”的軟位262可以對應于小于第一軟位讀取電壓SP40的閾值電壓值。相應地,具有值“10”的用于存儲元件113的軟位262指示第一閾值電壓VP30具有在第三軟位讀取電壓S3248與第二軟位讀取電壓S2244之間的值。類似地,具有值“01”的用于存儲元件115的軟位262指示第二閾值電壓V2232具有在第二軟位讀取電壓S2244與第一軟位讀取電壓SP40之間的值。
[0044]控制器106(以虛線示出)包括次序調制解碼器116,其包括映射器220、可靠性指示器222和錯誤校正引擎108。控制器106可以配置為將從存儲器104讀取的數據提供到次序調制解碼器116。該數據可以包括諸如硬位260的硬位數據和諸如軟位262的軟位數據。例如,控制器106可以接收來自表210的數據且將每個單元的HBpHBySB1和SB2值提供到次序調制解碼器116。
[0045]映射器220可以配置為將數據邏輯地劃分為位的組。每組的位可以對應于存儲器104中的一組單元。例如,第一存儲元件113和第二存儲元件115可以對應于一個組的位。映射器220可以進一步配置為根據單元閾值電壓對每個特定組的單元的單元排序。例如,映射器220可比較第一閾值電壓VP30與第二閾值電壓V2232且基于該比較而產生排序。例如,如果第一閾值電壓VP30大于第二閾值電壓V2232,則可以通過映射器220產生排序“1-2”。類似地,如果第二閾值電壓V2232大于第一閾值電壓%230,則可以通過映射器220產生排序“2-1”。
[0046]映射器220可以進一步配置為根據對應于該組的位的該組單元的單元排序將每組的位映射到數據值。例如,映射器220可以基于第一閾值電SVi230與第二閾值電壓%232的比較而產生單一位符號或數據值(例如,“I”或“O”)。如果第一閾值電壓%230大于第二閾值電壓V2232,則可以通過映射器220產生數據值“I”。如果第二閾值電壓V2232大于第一閾值電壓%230,則可以通過映射器220產生值“O”。作為另一例子,多于兩個存儲元件可以對應于該組的位。例如且如上所述,四個單元或存儲元件可被用于表示數據。在此情況下,映射器220可以基于每個單元的閾值電壓的比較而產生多位符號或數據值(例如,5位數據值“11001”、“01100”等等)。映射器220可以基于單元排序將數據值作為ECC碼字270發(fā)送至ECC引擎108。
[0047]可靠性指示器222可以配置為指示由映射器220產生的ECC碼字270中的位置的相對可靠性,且可以將相對可靠性值作為ECC軟位272發(fā)送至ECC引擎108。該相對可靠性可以至少部分基于如基于軟位閾值S1-S3所確定的每個特定組的單元的閾值電壓之間的差。例如,該相對可靠性可以隨著單元閾值電壓之間的差的增加而增加。為了例示,如果第一閾值電壓%230與第二閾值電壓V2232之間的差大,則由映射器220而產生的數據值的相對可靠性可以高于第一閾值電壓%230與第二閾值電壓%232之間的差小的情況。例如,可靠性指示符“I”可以指示第一閾值電壓L230與第二閾值電壓V2232之間的差大,且可靠性指示符“O”可以指示第一閾值電壓L230與第二閾值電壓V2232之間的差小。
[0048]可靠性指示器222可以配置為確定第一閾值電壓'230與第二閾值電壓V2232是否在相鄰子區(qū)域內。例如,第一硬位讀取電壓V&242和第二硬位讀取電壓VR2246可以將第一電壓范圍VI\250劃分為三個區(qū)域。第一軟位讀取電壓SP40、第二軟位讀取電壓S2244和第三軟位讀取電壓S3248可以將每個區(qū)域劃分為兩個子區(qū)域。基于硬位260和軟位262,可靠性指示器222可以確定第一閾值電壓'230在六個子區(qū)域中的哪個子區(qū)域中以及第二閾值電壓%232在六個子區(qū)域中的哪個子區(qū)域中。當第一閾值電壓'230和第二閾值電壓V2232在相鄰子區(qū)域中時,可以由可靠性指示器222輸出“O”。當第一閾值電壓%230和第二閾值電壓V2232不在相鄰子區(qū)域中時,可以由可靠性指示器222輸出“ 1”(或更大數字)。
[0049]控制器106可以配置為通過將ECC碼字270和ECC軟位272提供到ECC引擎108而開始對ECC碼字270的ECC過程。例如,ECC引擎108可以使用諸如里德所羅門(ReedSolomon) ECC解碼方案、博斯-奎德胡里-霍昆格母(BCH)ECC解碼方案、低密度奇偶校驗ECC解碼方案、一個或多個其它ECC解碼方案或其任意組合的ECC解碼方案。ECC引擎108可以提供指示已正確地解碼ECC碼字270的輸出數據。
[0050]在操作期間,可以由主機設備(未示出)指示控制器106以從存儲器104取回對應于存儲元件113、115的數據??刂破?06可以將包括諸如硬位260 ( S卩,HBpHB2)的硬位數據和諸如軟位262 (即,SBp SB2)的軟位數據的數據提供到次序調制解碼器116。次序調制解碼器116可以配置為將該數據邏輯地劃分為位的組,其中每組的位可以對應于存儲器104中的一組單元。例如,映射器220可以比較第一閾值電壓VP30與第二閾值電壓V2232且基于該比較而產生排序。次序調制解碼器116可以進一步配置為根據對應于每組的位的該組的單元的單元排序將每組的位映射到數據值。例如,映射器220可以基于第一閾值電壓VP30與第二閾值電壓V2232的比較而產生數據值,且可以將基于單元排序的該數據值作為ECC碼字270發(fā)送至ECC引擎108??梢酝ㄟ^可靠性指示器222確定由映射器220產生的ECC碼字270中的位值的相對可靠性,且可以將相對可靠性值作為ECC軟位272發(fā)送至ECC引擎108。例如,如果第一閾值電壓VP30與第二閾值電壓V2232之間的差大,則由映射器220產生的該數據值的相對可靠性可以高于第一閾值電壓VP30與第二閾值電壓V2232之間的差小的情況??刂破?06可以配置為通過將ECC碼字270和ECC軟位272提供到ECC引擎108而開始對ECC碼字270的ECC過程。ECC引擎108可以提供指示正確解碼了ECC碼字270的輸出數據。
[0051]如上述通過用虛線示出,圖2的一個或多個組件可以從所示的位置移動至不同的位置。例如,映射器220、可靠性指示器222或這兩者可以被包括在存儲器104內。
[0052]圖3示出感測方案的實施例300,且包括諸如代表性存儲器單元310的存儲器的存儲元件的電壓區(qū)域(即,狀態(tài))(Er、A、...G)的單元分布和對于硬位的閾值讀取電壓(例如,電壓AR、BR、...GR)和對于另外的感測的軟位的閾值讀取電壓(例如,電壓AR-V1、AR+V2、AR-V3、AR+V4、...)的圖形描繪302。表304例示相鄰閾值讀取電壓之間的每個電壓間隔到包括三個硬位(HBpHByHB3)和三個軟位(SB1、SB2、SB3)的一組六個位的映射。存儲器單元310處的硬位和軟位的樣式可以具有對應于存儲器單元310的狀態(tài)的閾值電壓312??梢酝ㄟ^比較該閾值電壓312與硬位的閾值讀取電壓(例如,電壓AR、BR、...GR)以產生硬位314且比較該閾值電壓312與軟位的閾值讀取電壓(例如,電壓A R-VU AR+V2、AR-V3、AR+V4、…)以產生軟位316,來產生存儲器單元310處的硬位和軟位的樣式。
[0053]硬位314指示閾值電壓312處于哪個狀態(tài)(Er-G),且軟位316指示閾值電壓312在該狀態(tài)的電壓范圍的中心內還是在該狀態(tài)的電壓范圍的邊緣附近(例如,指示接近電壓CR)。作為例子,第一軟位閾值(例如CR-V1)與特定硬位閾值(例如CR)之間的第一電壓差(Vl)實質上等于該特定硬位閾值(例如CR)與第二軟位閾值(例如CR+V2)之間的第二電壓差(V2)。另外,如圖3中所示,第三軟位閾值與該特定硬位閾值(CR)之間的第三電壓差(V3)實質上等于該特定硬位閾值(CR)與第四軟位閾值之間的第四電壓差(V4)。如所示,第一電壓差(Vl)不同于第三電壓差(V3)。如所示,閾值電壓312在BR和CR之間,指示單元310處于狀態(tài)“B”,對應于硬位“100”。閾值電壓312也在CR-Vl與CR之間的子區(qū)域中,對應于軟位值“001”。
[0054]控制器106可以將硬位314和軟位316提供到次序調制解碼器320的輸入以獲得解碼的數據。軟位316可以包括關于從存儲器單元310讀取的硬位的可靠性信息。次序調制解碼器320可以配置為使用指示單元的狀態(tài)的子區(qū)域(即,最靠近電壓CR的狀態(tài)“B”的子區(qū)域)的軟位316以基于所接收的軟位、比如通過產生要輸入到ECC解碼器的諸如圖2的ECC軟位272的ECC軟位來指導錯誤校正處理。
[0055] 參考圖4,繪出圖形地例示三單元次序調制組的狀態(tài)的總圖,且其被概括地指定為400。圖400例示標記為Ul、U2和U3的三個軸,它們定義空間(U1, U2,U3)。例示了平面Ul = U2、U2 = U3和U3 = U1,它們將空間(U1,U2,U3)劃分為3 ! = 6個區(qū)域。示出這六個區(qū)域中的四個(即區(qū)域C、D、E和F),且這六個區(qū)域的兩個(即區(qū)域A和B)被平面所隱藏。例如,該三單元次序調制組的狀態(tài)可以對應于包括單元1、單元2和單元3 (例如,分別是圖1中的存儲元件113、115和117)的三單元組的狀態(tài),其中Ul是單元I (例如存儲元件113)的閾值電壓、U2是單元2 (例如存儲元件115)的閾值電壓,U3是單元3 (例如存儲元件117)的閾值電壓。每個區(qū)域A-F對應于在三單元次序調制組中所存儲的不同的數據值。為了例示,區(qū)域E對應于狀態(tài)U1>U3>U2。
[0056]參考圖5,總圖500例示圖4的三單元次序調制組的硬位閾值的例子。圖500例示圖4的線U3與以下兩個表面的每個之間的交叉:在U1 = U1處的U3 = U1和在U2 = U2處的U3 = U2,其中U1和U2分別對應于三個單元中的一個(即,單元I)以及這三個單元中的另一個(即,單元2)的電壓量測。上部分或頂部線510對應于其中Ul〈ii2的區(qū)域,且下部分或底部線520對應于其中ui>u2的區(qū)域。電壓量測U1和U2可以對應于可用于確定硬位值的電壓閾值。
[0057]例如,可以測量(或以其它方式確定)單元I的閾值電壓(U1)和單元2的閾值電壓(U2)。閾值電壓U1和U2可以用作硬位閾值以與單元3的閾值電壓(U3)相比較。如果ui〈u2且單元3的閾值電壓小于U1,則硬位可以指示測量點(例如,單元3的閾值電壓)在區(qū)域A內。如果ui〈u2且單元3的閾值電壓在U1和U2之間,則硬位可以指示該測量點在區(qū)域B內。如果U1W2且單元3的閾值電壓大于U2,則硬位可以指示該測量點在區(qū)域C內。類似地,如果u2〈Ul且單元3的閾值電壓小于u2,則硬位可以指示測量點在區(qū)域D內。如果ii2〈Ul且單元3的閾值電壓在U1和U2之間,則硬位可以指示該測量點在區(qū)域E內。如果u2〈ui且單元3的閾值電壓大于U1,則硬位可以指示該測量點在區(qū)域F內。如所示,對應于硬位閾值的硬位可以僅提供關于該測量點屬于該六個區(qū)域之中的哪個特定區(qū)域的信息。[0058]參考圖6,繪出了例示次序調制解碼中的三單元組中的軟位閾值的例子的總圖,且其被概括地指定為600。圖600例示將圖5的每個硬位區(qū)域(g卩,硬位區(qū)域A、B、C、D、E和F)劃分為更小的子區(qū)域(SP,子區(qū)域ApAyBpByCp(^DpDyEpE2JpF2)tj例如,可在U1和U2的值之間添加軟位閾值(由I\、T2、...T6表示)以將每個硬位區(qū)域劃分為更小的區(qū)域。如圖5中所示,可以僅使用硬位來實現六個區(qū)域或來自電壓感測的可能結果,且三個位可用于表示此結果。如果如圖6所示使用軟位和硬位,則可以得到來自電壓感測的十二個可能的結果,且四個位可用于表示此結果。
[0059]參考圖7,繪出了例示次序調制解碼中的四單元組中的軟位閾值的例子的總圖,且其被概括地指定為700。頂部線710例示僅使用硬位,中間線720例示每個硬位區(qū)域添加一個軟位閾值,且底部線730例示每個硬位區(qū)域添加兩個軟位閾值。變量Wpw2、w3和W4可以以電壓的升序對應于電壓量測U3和114。相應地存在3! =6個可能的組合(即,對于…^和^)用于與%相比較。如所示,頂部線710中示出四個區(qū)域(即,僅使用硬位),其中該四個區(qū)域的每個具有六個可能的組合,總共二十四個可能的組合。相應地,五個位可用于表示該二十四個組合。中間線720中示出八個區(qū)域(即,線710的每個硬位區(qū)域添加一個軟位閾值),其中八個區(qū)域的每個具有六個可能的組合,總共四十八個可能的組合。相應地,六個位可以用于表示該四十八個組合。底部線730中示出十二個區(qū)域(即,線710的每個硬位區(qū)域添加兩個軟位閾值),其中該十二個區(qū)域的每個具有六個可能的組合,總共七十二個可能的組合。相應地,七個位可用于表示該七十二個可能的組合。類似地,每個硬位區(qū)域還可以添加每個硬位區(qū)域的另一數量的軟位閾值,比如三個或更多軟位閾值。替代地,每個硬位區(qū)域的軟位閾值的數量可以是不一致的。例如,軟位閾值的數量在由W1和W2定義的硬位區(qū)域與由W2和W3定義的硬位區(qū)域之間可以不同。
[0060]圖5中所示的每條線(即線510、線520)、圖6中所示的每條線(即線610、線620)和圖7中所示的每條線(即線710、線720、線730)可稱為投影線。對于M單元次序調制,如果每一投影線添加L個軟位閾值,則可以表示電壓感測結果的位數量可以表示為1g2(M-1) ! (M+L)(舍入(round up)到最接近的整數值),其中(M-1) !是情況(投影線)的數量。例如,對于如圖6中所示的M = 3,投影線的數量為(3-1) ! =2(即,對于情況U1>U2的線和對于情況U1〈U2的線),且對于如圖7中所示的M = 4,情況的數量為(4_1) !=6(即,對于情況 Wl >W2>W3、Wl >W3>W2、W2>W1>W3、W2>W3>W1、W3>W1 >和 W3>W2>W1的每個的線)。(M+L)是每個投影線的區(qū)域數量。
[0061]例如,當M = 2時將數據寫入至存儲器時,第一單元(單元I)可以被編程在電壓VI,且第二單元(單元2)可以被編程在電壓V2以存儲硬位X,使得如果X = 0,則V1>V2,且如果X = 1,則V1〈V2。當讀取該數據時,可以在單元I中感測電壓Ul且在單元2中感測電壓U2。可以讀取硬位Y(X的估值),使得如果U1>U2,則Y = 0,如果U1〈U2,則Y= I。
[0062]可以模擬(model)由于物理影響導致的不確定性使得Ul = V1+N1且U2 = V2+N2,其中NI和N2是描述該不確定性的隨機變量??梢允褂萌我獾碾S機變量,包括零均值高斯隨機變量。
[0063]例如,可以例示對于僅一硬位情況的轉移(transition)概率矩陣如下:
【權利要求】
1.一種方法,包括: 向次序調制解碼器提供包括硬位數據和軟位數據的數據。
2.如權利要求1所述的方法,其中從存儲器的單個單元讀取該數據,其中所述多個單元的每個特定單元具有閾值電壓,以及其中所述硬位數據包括指示比較所述多個單元的每個特定單元的閾值電壓與一個或多個硬位讀取電壓的結果的硬位。
3.如權利要求2所述的方法,其中所述軟位數據包括指示比較所述多個單元的每個特定單元的閾值電壓與一個或多個軟位讀取電壓的結果的軟位。
4.如權利要求1所述的方法,其中所述次序調制解碼器配置為: 將該數據邏輯地劃分為位組,其中每個位組對應于閃存中的一單元組; 根據單元閾值電壓對每個特定單元組的單元排序以產生該特定單元組的單元排序;以及 將根據與每個位組對應的單元組的單元排序將每個位組映射到數據值。
5.如權利要求1所述的方法,還包括從閃存讀取所述硬位和軟位。
6.如權利要求5所述的方法,其中閃存包括具有第一閾值電壓的第一單元和具有第二閾值電壓的第二單元,以及其中該硬位數據指示該第一閾值電壓大于還是小于該第二閾值電壓。
7.如權利要求6所述的方法,其中該軟位數據指不該第一閾值電壓大于還是小于第一軟位讀取電壓。
8.如權利要求7所述的方法,其中所述軟位數據還指示該第一閾值電壓大于還是小于第二軟位讀取電壓,其中該第一軟位讀取電壓小于該第二閾值電壓,以及其中該第二軟位讀取電壓大于該第二閾值電壓。
9.如權利要求8所述的方法,其中該第一軟位讀取電壓和該第二閾值電壓之間的第一差實質上等于該第二閾值電壓和該第二軟位讀取電壓之間的第二差。
10.如權利要求6所述的方法,其中該閃存包括具有第三閾值電壓的第三單元,以及其中該硬位數據還指示該第三閾值電壓是在小于該第一閾值電壓和該第二閾值電壓的第一電壓范圍內、在該第一閾值電壓和該第二閾值電壓之間的第二電壓范圍內、還是在大于該第一閾值電壓和該第二閾值電壓的第三單元范圍內,以及其中該軟位數據指示該第三閾值電壓是在該第一電壓范圍、該第二電壓范圍、還是該第三單元范圍的一個或多個子范圍內。
11.一種數據存儲設備,包括: 存儲器; 次序調制解碼器;以及 控制器,配置為將從該存儲器讀取的數據提供到該次序調制解碼器,其中該數據包括硬位數據和軟位數據。
12.如權利要求11所述的數據存儲設備,其中從該存儲器的多個存儲元件讀取該數據,其中所述多個存儲元件的每個特定存儲元件具有閾值電壓,以及其中該硬位數據包括指示比較每個特定存儲元件的的閾值電壓與一個或多個硬位讀取電壓的結果的硬位。
13.如權利要求12所述的數據存儲設備,其中所述軟位數據包括指示比較每個特定存儲元件的閾值電壓與一個或多個軟位讀取電壓的結果的軟位。
14.如權利要求11所述的數據存儲設備,其中所述存儲器是閃存,以及其中所述次序調制解碼器配置為: 將該數據邏輯地劃分為位組,其中每個位組對應于閃存中的一單元組; 根據存儲元件閾值電壓對每個特定存儲元件組的存儲元件排序以產生該特定存儲元件組的存儲元件排序;以及 將每個位組映射到數據值。
15.如權利要求11所述的數據存儲設備,其中該存儲器是閃存。
16.如權利要求15所述的數據存儲設備,其中所述多個存儲元件包括具有第一閾值電壓的第一存儲元件和具有第二閾值電壓的第二存儲元件,以及其中該硬位數據指示該第一閾值電壓大于還是小于該第二閾值電壓。
17.如權利要求16所述的數據存儲設備,其中該軟位數據指示該第一閾值電壓大于還是小于第一軟位讀取電壓。
18.如權利要求17所述的數據存儲設備,其中所述軟位數據還指示該第一閾值電壓大于還是小于第二軟位讀取電壓,其中該第一軟位讀取電壓小于該第二閾值電壓,以及其中該第二軟位讀取電壓大于該第二閾值電壓。
19.如權利要求18所述的數據存儲設備,其中該第一軟位讀取電壓和該第二閾值電壓之間的第一差實質上等于該第二閾值電壓和該第二軟位讀取電壓之間的第二差。
20.如權利要求16所述的數據存儲設備,其中所述多個存儲元件包括具有第三閾值電壓的第三存儲元件,以及其中該硬位數據還指示該第三閾值電壓是在小于該第一閾值電壓和該第二閾值電壓的第一電壓范圍內、在該第一閾值電壓和該第二閾值電壓之間的第二電壓范圍內、還是在大于該第一閾值電壓和該第二閾值電壓的第三單元范圍內,以及其中該軟位數據指示該第三閾值電壓是在該第一電壓范圍、該第二電壓范圍、還是該第三單元范圍的一個或多個子范圍內。
【文檔編號】G06F11/10GK103918033SQ201280054923
【公開日】2014年7月9日 申請日期:2012年11月1日 優(yōu)先權日:2011年11月10日
【發(fā)明者】S.杰昂, S.A.戈羅貝茨 申請人:桑迪士克科技股份有限公司