專利名稱:用于將信息寫入k級(jí)存儲(chǔ)器部件的存儲(chǔ)器控制器和方法
用于將信息寫入K級(jí)存儲(chǔ)器部件的存儲(chǔ)器控制器和方法相關(guān)申請的交叉引用本申請要求于2008年12月24日提交的題為“METHOD AND SYSTEM FOR MULT I-LEVEL MEMORY”的第61/140,627號(hào)美國臨時(shí)專利申請的優(yōu)先權(quán),該臨時(shí)專利申請的全部內(nèi)容通過引用的方式并入本文。
背景技術(shù):
閃存是一直尋求針對(duì)更高的容量和更高效的I/O的更好的技術(shù)的巨大行業(yè)。存在幾個(gè)制造商(東芝、三星等)和提供用于這些設(shè)備的技術(shù)的幾家公司-晟碟、飛索、三星、東芝等。估計(jì)每年有數(shù)十億美元的市場。閃存技術(shù)已經(jīng)面向多級(jí)單元(MLC)的引入。MLC是能夠存儲(chǔ)多于一比特的信息的存儲(chǔ)器元件。與每個(gè)單元使用單級(jí)的SLC NAND閃存技術(shù)相反,MLC NAND閃存是每個(gè)單元使用多個(gè)級(jí)以允許存儲(chǔ)更多的比特的閃存技術(shù)。這減少了分離狀態(tài)的界限(margin)量并且導(dǎo)致可能出現(xiàn)更多的錯(cuò)誤,這導(dǎo)致閃存行業(yè)朝向更復(fù)雜且昂貴的控制器發(fā)展。當(dāng)前可用的技術(shù)和產(chǎn)品使用標(biāo)準(zhǔn)誤差校正方法(里德-所羅門、TCM和最近的 LDPC等)以及重復(fù)的存儲(chǔ)器存取,但是這些解決方案很復(fù)雜,需要大量的處理,并且由于需要重復(fù)的存取而可能導(dǎo)致明顯較慢。
發(fā)明內(nèi)容
一種用于向K級(jí)存儲(chǔ)器部件(unit)寫入信息的方法,所述方法可以包括接收信息比特系列;生成表示所述信息比特系列的信息值;將第一函數(shù)應(yīng)用于所述信息值,以提供第一函數(shù)結(jié)果;選擇所述K級(jí)存儲(chǔ)器部件的第一單元作為當(dāng)前單元;其中,K是大于1的正整數(shù);向所述第一單元寫入第一函數(shù)結(jié)果;并且重復(fù)以下階段(a)讀取當(dāng)前單元以提供當(dāng)前的讀取結(jié)果;(b)將第二函數(shù)應(yīng)用于當(dāng)前的讀取結(jié)果和寫入當(dāng)前單元的函數(shù)結(jié)果,以提供第二函數(shù)結(jié)果;(c)選擇另一單元作為當(dāng)前單元;以及(d)將所述第二函數(shù)結(jié)果寫入當(dāng)前單元?!N用于從K級(jí)存儲(chǔ)器部件讀取信息的方法,所述方法可以包括重復(fù)以下階段 (i)讀取所述K級(jí)存儲(chǔ)器部件的當(dāng)前單元,以提供所述當(dāng)前單元的讀取結(jié)果;其中,K是大于1的正整數(shù);(ii)應(yīng)用響應(yīng)于所述當(dāng)前單元的讀取結(jié)果的第三函數(shù),以用于確定當(dāng)前的中間獲取結(jié)果;以及(iii)響應(yīng)于單元選擇規(guī)則,來選擇另一單元作為當(dāng)前單元;以及響應(yīng)于最后的中間獲取結(jié)果,來確定獲取的信息比特系列。一種計(jì)算機(jī)可讀介質(zhì),其具有包含在其中以用于向K級(jí)存儲(chǔ)器部件寫入信息的計(jì)算機(jī)可讀代碼,所述計(jì)算機(jī)可讀代碼可以包括用于執(zhí)行以下步驟的指令接收信息比特系列;生成表示所述信息比特系列的信息值;將第一函數(shù)應(yīng)用于所述信息值,以提供第一函數(shù)結(jié)果;選擇所述K級(jí)存儲(chǔ)器部件的第一單元作為當(dāng)前單元,其中,K是大于1的正整數(shù);將所述第一函數(shù)結(jié)果寫入所述第一單元;以及重復(fù)以下階段(a)讀取當(dāng)前單元,以提供當(dāng)前的讀取結(jié)果;(b)將第二函數(shù)應(yīng)用于當(dāng)前的讀取結(jié)果和寫入當(dāng)前單元的函數(shù)結(jié)果,以提供第二函數(shù)結(jié)果;(C)選擇另一單元作為當(dāng)前單元;以及(d)將所述第二函數(shù)結(jié)果寫入當(dāng)前單元。一種計(jì)算機(jī)可讀介質(zhì),其具有包含在其中以用于從K級(jí)存儲(chǔ)器部件讀取信息的計(jì)算機(jī)可讀代碼,所述計(jì)算機(jī)可讀代碼可以包括用于執(zhí)行以下步驟的指令重復(fù)以下階段 讀取所述K級(jí)存儲(chǔ)器部件的當(dāng)前單元,以提供所述當(dāng)前單元的讀取結(jié)果;其中,K是大于1 的正整數(shù);應(yīng)用響應(yīng)于所述當(dāng)前單元的讀取結(jié)果的第三函數(shù),以用于確定當(dāng)前的中間獲取結(jié)果;以及響應(yīng)于單元選擇規(guī)則,來選擇另一單元作為當(dāng)前單元;以及響應(yīng)于最后的中間獲取結(jié)果,來確定獲取的信息比特系列。一種用于向K級(jí)存儲(chǔ)器部件寫入信息的存儲(chǔ)器控制器,所述存儲(chǔ)器控制器包括 第一接口、處理器和第二接口,所述第一接口用于接收信息比特系列;所述處理器用于生成表示所述信息比特系列的信息值;將第一函數(shù)應(yīng)用于所述信息值,以提供第一函數(shù)結(jié)果; 以及選擇所述K級(jí)存儲(chǔ)器部件的第一單元作為當(dāng)前單元;所述第二接口被耦合到所述處理器和所述K級(jí)存儲(chǔ)器部件,以用于將函數(shù)結(jié)果寫入所述K級(jí)存儲(chǔ)器部件的單元,并且用于從所述單元讀取信息以提供讀取結(jié)果,其中,K是大于1的正整數(shù);其中,所述存儲(chǔ)器控制器適用于將所述第一函數(shù)結(jié)果寫入所述第一單元;其中,所述第二接口和所述處理器被配置為重復(fù)以下序列通過所述第二接口來讀取當(dāng)前單元以提供當(dāng)前的讀取結(jié)果,以及重復(fù)地將第二函數(shù)結(jié)果寫入所述當(dāng)前單元;通過所述處理器來將第二函數(shù)應(yīng)用于當(dāng)前的讀取結(jié)果以及被寫入當(dāng)前單元的函數(shù)結(jié)果,以提供第二函數(shù)結(jié)果;以及通過所述處理器來選擇另一單元作為當(dāng)前單元。一種用于從K級(jí)存儲(chǔ)器部件讀取信息的存儲(chǔ)器控制器,所述存儲(chǔ)器控制器可以包括到所述K級(jí)存儲(chǔ)器部件的第二接口 ;以及處理器;其中,所述第二接口和所述處理器被配置為重復(fù)以下序列直到提供最后的中間獲取結(jié)果為止通過所述第二接口來讀取所述K 級(jí)存儲(chǔ)器部件的當(dāng)前單元,以提供所述當(dāng)前單元的讀取結(jié)果;通過所述處理器應(yīng)用響應(yīng)于所述當(dāng)前單元的所述讀取結(jié)果的第三函數(shù),以用于確定當(dāng)前的中間獲取結(jié)果;以及響應(yīng)于單元選擇規(guī)則,來通過所述處理器選擇另一單元作為當(dāng)前單元;其中,所述處理器被進(jìn)一步配置為響應(yīng)于最后的中間獲取結(jié)果,來確定獲取的信息比特系列。
在說明書的總結(jié)部分中特別指出并且清楚地要求視為本發(fā)明的主題。然而,可以通過參照下面結(jié)合附圖給出的詳細(xì)描述來最好地理解涉及操作的組織和方法的本發(fā)明及其目的、特征和優(yōu)點(diǎn),在這些附圖中圖1是根據(jù)本發(fā)明的實(shí)施方式的存儲(chǔ)器控制器和K級(jí)存儲(chǔ)器部件的示意圖;圖2A是根據(jù)本發(fā)明的實(shí)施方式用于向K級(jí)存儲(chǔ)器部件寫入信息的方法的流程圖;圖2B示出了根據(jù)本發(fā)明的實(shí)施方式的圖2A的方法的三個(gè)階段;圖2C示出了根據(jù)本發(fā)明的實(shí)施方式的圖2A的方法的一些階段;圖3是根據(jù)本發(fā)明的實(shí)施方式用于從K級(jí)存儲(chǔ)器部件讀取信息的方法的流程圖; 以及圖4是根據(jù)本發(fā)明的實(shí)施方式的存儲(chǔ)器控制器和K級(jí)存儲(chǔ)器部件的示意圖。
將認(rèn)識(shí)到,為了使說明簡單和清楚,附圖中所示的元件不必按比例繪制。例如,為了清楚起見,可以將這些元件中的一些元件的大小相對(duì)于其它元件進(jìn)行放大。此外,在認(rèn)為適當(dāng)?shù)那闆r下,可以在附圖中重復(fù)參考數(shù)字以指示相應(yīng)的或類似的元件。
具體實(shí)施例方式在下面的詳細(xì)描述中,給出了大量具體的細(xì)節(jié),以便提供對(duì)本發(fā)明的全面理解。然而,本領(lǐng)域技術(shù)人員將理解到,可以不用這些具體細(xì)節(jié)來實(shí)現(xiàn)本發(fā)明,在其它例子中,沒有詳細(xì)描述眾所周知的方法、過程和部件以便不會(huì)使本發(fā)明難以理解。當(dāng)結(jié)合附圖,從下面給出的詳細(xì)描述,本發(fā)明的前述和其它的目的、特征和優(yōu)點(diǎn)將變得更加清楚,在附圖中,相同的參考字符指示不同視角中的相同元件。圖1示出了根據(jù)本發(fā)明的實(shí)施方式的存儲(chǔ)器控制器200和K級(jí)存儲(chǔ)器部件100。存儲(chǔ)器控制器200適用于向K級(jí)存儲(chǔ)器部件100寫入信息。K級(jí)存儲(chǔ)器部件100 包括多個(gè)K級(jí)存儲(chǔ)器單元110。K是大于1的正整數(shù)。K可以大于2。存儲(chǔ)器控制器200包括第一接口 210、處理器220、第二接口 230和內(nèi)部存儲(chǔ)器部件240。處理器220被連接到第一接口 210、第二接口 230和內(nèi)部存儲(chǔ)器部件240。內(nèi)部存儲(chǔ)器部件240還被連接到第二接口 230。第一接口 210用于接收信息比特系列。處理器220被配置為(a)生成表示信息比特系列的信息值;(b)將第一函數(shù)應(yīng)用于信息值,以提供第一函數(shù)結(jié)果;以及(c)選擇K級(jí)存儲(chǔ)器部件100的第一單元110以作為當(dāng)前單元。第二接口 230提供到K級(jí)存儲(chǔ)器部件100的接口,并且被配置為(a)向K級(jí)存儲(chǔ)器部件100的單元110寫入函數(shù)結(jié)果;以及(b)從單元110讀取信息以提供讀取結(jié)果。存儲(chǔ)器控制器200適用于(1)通過第二接口 230向第一單元寫入第一函數(shù)結(jié)果; 并且重復(fù)以下階段(a)通過第二接口 230讀取當(dāng)前單元110以提供當(dāng)前的讀取結(jié)果;(b) 通過處理器220向當(dāng)前的讀取結(jié)果和被寫入當(dāng)前單元的函數(shù)結(jié)果應(yīng)用第二函數(shù),以提供第二函數(shù)結(jié)果;(c)選擇另一單元110作為當(dāng)前單元;以及(d)通過第二接口 230向當(dāng)前單元寫入第二函數(shù)結(jié)果。因此,第二接口 230被配置為重復(fù)地讀取當(dāng)前單元110以提供當(dāng)前的讀取結(jié)果, 并且重復(fù)地在處理器已經(jīng)選擇另一單元作為當(dāng)前單元并且通過向當(dāng)前讀取結(jié)果和被寫入當(dāng)前單元的函數(shù)結(jié)果應(yīng)用第二函數(shù)來計(jì)算第二函數(shù)結(jié)果之后,向當(dāng)前單元寫入第二函數(shù)結(jié)
果 ο圖1示出了存儲(chǔ)器控制器220,其包括用于存儲(chǔ)讀取結(jié)果等的內(nèi)部存儲(chǔ)器部件 240。存儲(chǔ)器控制器220適用于執(zhí)行方法500,并且另外地或可替換地,執(zhí)行下面公開的方法600。存儲(chǔ)器控制器200合宜地是用于閃存的快速且便宜的控制器,如下面說明的。本發(fā)明有助于快速存取、低復(fù)雜性和低價(jià)格,以及較高的容量。根據(jù)本發(fā)明的實(shí)施方式,K級(jí)存儲(chǔ)器部件100是模擬的多級(jí)存儲(chǔ)器部件。根據(jù)本發(fā)明的實(shí)施方式,處理器220適用于生成信息值以表示單位時(shí)間內(nèi)的信息比特系列。根據(jù)本發(fā)明的實(shí)施方式,處理器220適用于應(yīng)用為輸入分布的累積分布函數(shù)(⑶F)的反函數(shù)的第一函數(shù)。根據(jù)本發(fā)明的實(shí)施方式,被寫入當(dāng)前值的函數(shù)結(jié)果與當(dāng)前讀取結(jié)果之間的關(guān)系是通過存儲(chǔ)器部件寫入規(guī)則來管理的??梢酝ㄟ^重復(fù)測試存儲(chǔ)器單元來估計(jì)用于任何特定的閃存部件的存儲(chǔ)器部件寫入規(guī)則。根據(jù)本發(fā)明的實(shí)施方式,響應(yīng)于存儲(chǔ)器部件100寫入規(guī)則來選擇輸入分布。根據(jù)本發(fā)明的實(shí)施方式,處理器220適用于執(zhí)行以下重復(fù)的階段通過應(yīng)用作為輸入分布的累積分布函數(shù)(CDF)的反函數(shù)的復(fù)合函數(shù)的第二函數(shù),來向當(dāng)前讀取結(jié)果和寫入當(dāng)前單元的函數(shù)結(jié)果應(yīng)用第二函數(shù)以提供第二函數(shù)結(jié)果,其中所述第二函數(shù)被應(yīng)用于反向存儲(chǔ)器部件寫入規(guī)則的累積分布函數(shù)(CDF)。根據(jù)本發(fā)明的實(shí)施方式,處理器220適用于通過以下步驟來更新反向存儲(chǔ)器部件寫入規(guī)則(i)向所選擇的單元寫入估計(jì)輸入;(ii)讀取所選擇的單元以提供讀取結(jié)果;以及(iii)存儲(chǔ)響應(yīng)于估計(jì)輸入和讀取結(jié)果的寫入操作結(jié)果;以及響應(yīng)于寫入操作結(jié)果來更新反向存儲(chǔ)器部件寫入規(guī)則。根據(jù)本發(fā)明的實(shí)施方式,處理器220適用于將階段(a)至(d)重復(fù)M_1個(gè)循環(huán),并且確定M以使所述信息比特系列的比特的數(shù)量與M之間的比率接近于由在存儲(chǔ)器部件寫入規(guī)則上使用的輸入分布引起的互信息。根據(jù)本發(fā)明的實(shí)施方式,處理器220適用于響應(yīng)于單元選擇規(guī)則來選擇其他單元,并且其中,存儲(chǔ)器控制器適用于從根據(jù)單元選擇規(guī)則所選擇的單元獲取讀取結(jié)果,并且處理器220適用于響應(yīng)于多個(gè)讀取結(jié)果來確定獲取的信息比特系列。根據(jù)本發(fā)明的實(shí)施方式,存儲(chǔ)器控制器200適用于重復(fù)以下階段(i)通過第二接口 230來讀取當(dāng)前單元,以提供當(dāng)前單元的讀取結(jié)果;以及(ii)響應(yīng)于單元選擇規(guī)則,通過處理器220來選擇另一單元作為當(dāng)前單元;其中,在獲取過程中所選擇的單元的順序與在讀取第二函數(shù)結(jié)果期間所選擇的單元的順序相同。根據(jù)本發(fā)明的實(shí)施方式,處理器220被配置為在每次讀取當(dāng)前單元以后應(yīng)用第三函數(shù)到(i)當(dāng)前單元的讀取結(jié)果;(ii)先前的中間獲取結(jié)果;以及(iii)存儲(chǔ)器部件100 寫入規(guī)則,以用于確定當(dāng)前的中間獲取結(jié)果;其中,所獲取的信息比特系列響應(yīng)于最后的中間獲取結(jié)果。根據(jù)本發(fā)明的實(shí)施方式,獲取的信息比特系列與所述信息比特系列相同。圖2A是根據(jù)本發(fā)明的實(shí)施方式用于向K級(jí)存儲(chǔ)器部件寫入信息的方法500的流程圖。應(yīng)當(dāng)注意的是,合宜地,方法500是通過存儲(chǔ)器控制器(例如,存儲(chǔ)器控制器200) 來執(zhí)行的。合宜地,方法500實(shí)現(xiàn)了向K級(jí)存儲(chǔ)器部件寫入信息以實(shí)現(xiàn)高容量的存儲(chǔ)器部件的簡單且快速的過程。K是大于(或等于)2的正整數(shù)。還應(yīng)當(dāng)注意的是,方法500可以針對(duì)離散的級(jí)的存儲(chǔ)器部件(例如,具有四個(gè)級(jí)別)或者模擬的多級(jí)存儲(chǔ)器部件(采用K->c 或者考慮可以在實(shí)際中使用的可行數(shù)量的級(jí))來實(shí)現(xiàn)。合宜地,方法500從階段510開始,在階段510,接收信息比特系列。應(yīng)當(dāng)注意的是,信息比特系列通常是基本的信息存儲(chǔ)部件(例如,為了寫入存儲(chǔ)器,向存儲(chǔ)器控制器發(fā)送一個(gè)字節(jié)的8個(gè)比特的信息或者作為一組一起發(fā)送的16個(gè)字節(jié)的信息等)。還應(yīng)當(dāng)注意的是,雖然結(jié)合二進(jìn)制位對(duì)方法500進(jìn)行討論,但是如作適當(dāng)變動(dòng),,方法500也適用于所接收信息的其它形式。根據(jù)本發(fā)明的實(shí)施方式,階段510之后緊隨階段520,在階段520中,生成表示信息比特系列的信息值。應(yīng)當(dāng)注意的是,信息值還可以稱作消息點(diǎn)。根據(jù)本發(fā)明的實(shí)施方式,階段520包括階段521,在階段521中,生成信息值以表示單位時(shí)間內(nèi)的信息比特系列。也即,信息值可以表示單位時(shí)間期間(0,1)的給定點(diǎn),其對(duì)應(yīng)于信息比特系列,其中,通過二進(jìn)制展開等來實(shí)現(xiàn)二者之間的變換。方法500繼續(xù)到階段530,在階段530,向信息值應(yīng)用第一函數(shù)以提供第一函數(shù)結(jié)果。應(yīng)當(dāng)注意的是,下面討論的第一函數(shù)和第二函數(shù)被用于確定應(yīng)當(dāng)寫入存儲(chǔ)器部件的K 級(jí)存儲(chǔ)器單元的值。因此,階段530之后緊隨階段540和階段550,在階段540中,選擇K級(jí)存儲(chǔ)器部件的第一單元作為當(dāng)前單元,在階段550中,向第一單元寫入第一函數(shù)結(jié)果。根據(jù)本發(fā)明的實(shí)施方式,向信息值應(yīng)用第一函數(shù)以提供第一函數(shù)結(jié)果的步驟包括階段531,在階段531中,應(yīng)用為輸入分布的累積分布函數(shù)(CDF)的反函數(shù)的第一函數(shù)。具體地說,第一函數(shù)是A-1M),其中,F(xiàn)q是輸入分布q(x)的累積分布函數(shù)(⑶F), 其中,參數(shù)A是信息值。一旦將第一函數(shù)結(jié)果寫入第一單元,在階段560就以連續(xù)的順序?qū)⑵渌祵懭肓硗獾膯卧?。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)清楚的是,雖然向K級(jí)存儲(chǔ)器部件的存儲(chǔ)器單元進(jìn)行寫入的存儲(chǔ)器控制器200 (或者其它系統(tǒng))可以試圖向某個(gè)單元寫入某個(gè)值,但是所述寫入可能是有錯(cuò)誤的,并且將錯(cuò)誤地寫入其它值。然而,從K級(jí)存儲(chǔ)器部件的單元讀取信息較不易于出錯(cuò),并且因此可以認(rèn)為對(duì)于方法500的過程而言,從K級(jí)存儲(chǔ)器單元讀取的結(jié)果是有效無錯(cuò)的。應(yīng)當(dāng)注意的是,可以在另一層編碼中解決可忽略的數(shù)量的錯(cuò)誤,所述錯(cuò)誤在讀取中可能仍然出現(xiàn)并且可能導(dǎo)致可忽略的數(shù)量的錯(cuò)誤結(jié)果。因此,可以認(rèn)為存儲(chǔ)器控制器與K級(jí)存儲(chǔ)器部件之間的鏈路是具有近乎正確的反饋(讀取)的有噪聲的前向信道(寫入到存儲(chǔ)器單元中,其中可能發(fā)生錯(cuò)誤)。因此,可以根據(jù)本發(fā)明的教導(dǎo)來利用使用反饋的新穎的連續(xù)傳輸方案,而不是復(fù)雜的前向糾錯(cuò)編碼以及通常在現(xiàn)有技術(shù)中使用的重復(fù)的存儲(chǔ)器存取。應(yīng)當(dāng)注意的是,方法500通常達(dá)到現(xiàn)有方法的至少相同的性能,同時(shí)具有額外的速率自適應(yīng)的值、更快的存取時(shí)間和針對(duì)噪聲模型失配的魯棒性,從而實(shí)現(xiàn)存儲(chǔ)介質(zhì)的最佳使用。因此,階段550之后緊隨階段560,在階段560中,將階段561至564重復(fù)一個(gè)或多個(gè)循環(huán)。階段561包括讀取當(dāng)前單元以提供當(dāng)前讀取結(jié)果。階段562包括向當(dāng)前讀取結(jié)果和被寫入當(dāng)前單元的函數(shù)結(jié)果應(yīng)用第二函數(shù),以提
供第二函數(shù)結(jié)果。階段563包括選擇另一單元作為當(dāng)前單元。階段564包括向當(dāng)前單元寫入第二函數(shù)結(jié)果。應(yīng)當(dāng)注意的是,通過具有取決于先前的第二函數(shù)結(jié)果在階段564中的各寫入操作中被寫入的值(第二函數(shù)結(jié)果)一即將試圖寫入先前單元的值和實(shí)際寫入的值(當(dāng)前的讀取結(jié)果),階段560的寫入步驟是連續(xù)的。然而,在階段561至564中的每一個(gè)循環(huán)中,依賴性僅存在于先前的循環(huán),從而與現(xiàn)有方法相比使計(jì)算非常簡單。此外,通過僅提供在讀取和解碼過程中仍然不清楚的信息(這將在下面進(jìn)行討論),每個(gè)循環(huán)合宜地使在已經(jīng)寫入的單元中可用的信息更加精確。這是可行的,其原因在于,在編碼期間(通過存儲(chǔ)器控制器寫入)和解碼期間(通過存儲(chǔ)器控制器從存儲(chǔ)器部件讀取)解碼算法是公知的,并且通過在寫入下一個(gè)信息值之前使每個(gè)循環(huán)中出現(xiàn)的誤差在寫入過程期間是已知的。為此,應(yīng)當(dāng)注意的是,根據(jù)本發(fā)明的實(shí)施方式,階段562包括階段5621,在階段 5621中,應(yīng)用作為輸入分布的累積分布函數(shù)(CDF)的反函數(shù)的復(fù)合函數(shù)的第二函數(shù),所述第二函數(shù)被應(yīng)用于反向存儲(chǔ)器部件寫入規(guī)則的累積分布函數(shù)(CDF)。也即是說,其中,χ表示要寫入的值(函數(shù)結(jié)果),并且其中,y表示針對(duì)給定的 X(即,讀取結(jié)果)實(shí)際寫入的值,即在寫入多級(jí)存儲(chǔ)器單元時(shí)、寫入等于Fq1OFXxnI^))的值 xn+1的第n+1個(gè)單元期間實(shí)際寫入的值,其中,F(xiàn) (x I y)是反向存儲(chǔ)器部件寫入規(guī)則f (χ | y) (概率密度函數(shù))的累積分布函數(shù)(CDF)。實(shí)際寫入第n+1個(gè)單元的值或者可選擇地來自相同單元的讀取結(jié)果(假設(shè)這些實(shí)際上是相等的)是7 +1。應(yīng)當(dāng)注意的是,雖然y和7 被認(rèn)為是K級(jí)離散的,但是χ和Xn被認(rèn)為是連續(xù)的值或者至少實(shí)際上具有信息值A(chǔ)的量級(jí)的分辨率。也即是說,在存儲(chǔ)器部件寫入規(guī)則中,向存儲(chǔ)器單元寫入y同時(shí)試圖寫入χ的條件概率由P(y |χ)給出(其通常取決于存儲(chǔ)器部件的物理特征,并且也可能取決于諸如溫度等外部因素)。也即是說,根據(jù)本發(fā)明的實(shí)施方式,被寫入當(dāng)前值的函數(shù)結(jié)果與當(dāng)前讀取結(jié)果之間的關(guān)系是通過存儲(chǔ)器部件寫入規(guī)則來管理的。應(yīng)當(dāng)注意的是,輸入分布(上面標(biāo)記為q(x))可以被選擇為在一些期望的輸入約束條件下(例如,通過選擇用于寫入的電壓水平等)或者為了任何其它目的的容量可達(dá)到的分布。根據(jù)本發(fā)明的實(shí)施方式,方法500還包括(如圖2B中所示的)階段501,在階段 501中,響應(yīng)于存儲(chǔ)器部件寫入規(guī)則來選擇輸入分布。還應(yīng)當(dāng)注意的是,可以在寫入過程中估計(jì)對(duì)存儲(chǔ)在被寫入的單元中的信息進(jìn)行解碼的精度,這是由于能夠精確地讀取存儲(chǔ)在每個(gè)單元中的值(即使該值不是最初期望被寫入的值)的反饋機(jī)制。因此,在寫入期間,存儲(chǔ)器控制器通常能夠?qū)梢宰x取的信息的精度進(jìn)行估計(jì)(即,將來的讀取器將能夠精確地獲取信息比特系列)??梢栽陔A段560的每次循環(huán)期間執(zhí)行該估計(jì)。因此,根據(jù)本發(fā)明的實(shí)施方式,階段560還包括階段565,在階段565中,響應(yīng)于終止條件來確定是否停止重復(fù)(這可以在階段564的寫入之前甚至在階段562的應(yīng)用第二函數(shù)之前執(zhí)行)。然而,應(yīng)當(dāng)注意的是,終止條件必須響應(yīng)于從寫入的所有單元讀取的所有值,從而使寫入過程更加復(fù)雜。此外,讀取過程可能需要每次讀取不同數(shù)量的單元,從而也可能使讀取過程復(fù)雜。應(yīng)當(dāng)注意的是,可選擇地,例如,可以響應(yīng)于存儲(chǔ)器部件寫入規(guī)則來提前確定循環(huán)的數(shù)量(標(biāo)記為M-1)。因此,根據(jù)本發(fā)明的實(shí)施方式,階段560包括重復(fù)M-I次循環(huán),并且其中,該方法還包括階段503 (如圖2B所示),在階段503中,確定M以使信息比特系列的比特的數(shù)量與M的比率接近于由在存儲(chǔ)器部件寫入規(guī)則P (y Ix)上使用的輸入分布q(x)引起的互信息[I(X; Y)]。這意味著(近似地)Ν/Μ= I(X;Y),從而給我們提供了將使用的M的值。應(yīng)當(dāng)注意的是,也可以使用其它的M值,并且可以提前(例如,在制造期間或者在任何中間時(shí)間)確定Μ。如上所述,存儲(chǔ)器部件可能受到外部物理?xiàng)l件的影響,可能隨著時(shí)間而老化,或者受到將改變存儲(chǔ)器單元的特性(從而改變存儲(chǔ)器部件寫入規(guī)則)的其它改變條件的影響。 此外,存儲(chǔ)器控制器可以不包括與特定的存儲(chǔ)器部件有關(guān)的信息,并且可能需要使自己適應(yīng)特定的存儲(chǔ)器部件。因此,根據(jù)本發(fā)明的實(shí)施方式,方法500還包括(如圖2Β所示的)階段502,在階段502中,更新(其還可以包括產(chǎn)生)反向存儲(chǔ)器部件寫入規(guī)則(其可以通過矩陣或者其它方式來進(jìn)行存儲(chǔ))。應(yīng)當(dāng)注意的是,更新還可以應(yīng)用于存儲(chǔ)器部件寫入規(guī)則,這是因?yàn)樗鰞蓚€(gè)寫入規(guī)則中的每一個(gè)寫入規(guī)則可以通過另一個(gè)寫入規(guī)則來唯一地得到。階段502的更新包括重復(fù)以下階段(i)向所選擇的單元寫入估計(jì)輸入;(ii)讀取所選擇的單元以提供讀取結(jié)果;以及(iii)存儲(chǔ)響應(yīng)于估計(jì)輸入和讀取結(jié)果的寫入操作結(jié)果;以及響應(yīng)于寫入操作結(jié)果來更新反向存儲(chǔ)器部件寫入規(guī)則。舉例而言,應(yīng)當(dāng)注意的是,如果噪聲是加性高斯白噪聲(AWGN),則該方案將變得非常簡單,并且每個(gè)輸入是先前輸入和輸出的恒定的線性組合。在離散設(shè)置(即,離散的多級(jí)存儲(chǔ)器部件)中,存在針對(duì)我們的方案的通用版本, 并且可以在甚至沒有提前知道存儲(chǔ)器的“經(jīng)驗(yàn)容量”的情況下獲得存儲(chǔ)器的“經(jīng)驗(yàn)容量”。也即是說,噪聲可以是任意的,但是我們的方案的性能將仍然如同提前已知了經(jīng)驗(yàn)統(tǒng)計(jì)一樣。 這是通過經(jīng)由寫入存儲(chǔ)器部件中的隨機(jī)訓(xùn)練序列來連續(xù)地估計(jì)“寫入”的信道并且不斷地適應(yīng)存儲(chǔ)器部件寫入規(guī)則P (y Ix)來實(shí)現(xiàn)的。可以將通用方案視為另一(雖然相關(guān)的)發(fā)明。將方法500的階段510至560作為整體來看,應(yīng)當(dāng)注意的是,可以針對(duì)多個(gè)系列的信息比特來重復(fù)響應(yīng)于信息比特系列的信息的寫入。 圖2B示出了三個(gè)階段501、502和503,其中每個(gè)階段可以是方法500的一部分(通常在階段510之前執(zhí)行的)。根據(jù)本發(fā)明的實(shí)施方式,圖2C是繼續(xù)圖2A的流程圖的流程圖。雖然可以獨(dú)立地執(zhí)行讀取過程(并且甚至通過另一存儲(chǔ)器控制器),但是該讀取過程也可以是方法500的一部分。圖2C示出了根據(jù)本發(fā)明的實(shí)施方式的讀取過程??紤]寫入過程,應(yīng)當(dāng)注意的是,在階段563中選擇的單元通常響應(yīng)于定義選擇順序的單元選擇規(guī)則來選擇。所述單元在物理上可以相互接近,但是這并不是必須的。根據(jù)本發(fā)明的實(shí)施方式,方法500還包括階段570和階段580,在階段570中,從根據(jù)單元選擇規(guī)則所選擇的單元獲取讀取結(jié)果,在階段580中,響應(yīng)于多個(gè)讀取結(jié)果來確定所獲取的信息比特系列。應(yīng)當(dāng)注意的是,除非不幸地在讀取操作中的一個(gè)中出現(xiàn)錯(cuò)誤,否則所獲取的信息比特系列應(yīng)當(dāng)與在階段510中接收的信息比特系列相同。根據(jù)本發(fā)明的實(shí)施方式,階段570包括重復(fù)階段571和573。階段571包括讀取當(dāng)前單元以提供當(dāng)前單元的讀取結(jié)果(應(yīng)當(dāng)注意的是,階段570 的當(dāng)前單元通常與階段560的當(dāng)前單元不同)。階段572包括響應(yīng)于單元選擇規(guī)則來選擇另一單元作為當(dāng)前單元;其中,在獲取期間選擇的單元的順序與在寫入第二函數(shù)結(jié)果期間選擇單元的順序是相同的。根據(jù)本發(fā)明的實(shí)施方式,階段570還包括階段572,其中,當(dāng)前單元的每次讀取(階段571)之后緊隨階段572,在階段572中,將第三函數(shù)應(yīng)用于以下各項(xiàng)(i)所述當(dāng)前單元的讀取結(jié)果;(ii)先前的中間獲取結(jié)果;以及(iii)所述存儲(chǔ)器部件寫入規(guī)則,以用于確定當(dāng)前中間的獲取結(jié)果;其中,所述獲取的信息比特系列響應(yīng)于最后的中間獲取結(jié)果。當(dāng)從存儲(chǔ)器讀回時(shí),控制器簡單地順序讀取M個(gè)單元,并且構(gòu)造后驗(yàn)概率密度函數(shù)(PDF) 1(&)=^^、(&|義而,...^)以獲得所獲取的信息比特系列。存儲(chǔ)器控制器現(xiàn)在能夠確定在信息值A(chǔ)中體現(xiàn)的最可能的信息比特系列,其具有可以與互信息對(duì)應(yīng)的比特率,并且具有非常低的誤差概率。應(yīng)當(dāng)注意的是,對(duì)于小于M的每一數(shù)量的讀取結(jié)果而言, 獲得中間的獲取結(jié)果。根據(jù)在階段572中提到的本發(fā)明的實(shí)施方式,也遞歸地構(gòu)造后驗(yàn),并且由 Cl(a)=fA|n..j +1 (a|y!,y2,..,yn+1 )=fn(a)*p(yn+11xn+1 )/p(yn+1)給出。然后,存儲(chǔ)器控制器能夠?qū)εc二進(jìn)制間隔對(duì)應(yīng)的N個(gè)比特進(jìn)行解碼,所述二進(jìn)制比特具有小于fM(a)的最大后驗(yàn)概率, 并且包含具有概率接近1的信息值A(chǔ)。階段572還可以包括不僅獲取信息值的中間結(jié)果,而且更新和存儲(chǔ)中間的后驗(yàn)分布?!爸虚g的獲取結(jié)果”還可以包括給出迄今為止的一系列讀取結(jié)果的信息值A(chǔ)的當(dāng)前的后驗(yàn)分布。在每個(gè)時(shí)間點(diǎn)處,根據(jù)本發(fā)明的實(shí)施方式,階段570包括從在單位時(shí)間間隔內(nèi)一致的fo(a)開始計(jì)算當(dāng)前的中間獲取結(jié)果£ =^1^1 1而,...&)的后驗(yàn)密度函數(shù)。第一函數(shù)、第二函數(shù)和第三函數(shù)的選擇將導(dǎo)致后驗(yàn)在真實(shí)信息值A(chǔ)附近快速集中,從而快速地減小在讀取過程中的不確定性并且允許以適當(dāng)?shù)乃俾士煽康刂匦聵?gòu)造所獲取的信息比特系列。階段580的確定合宜地包括在已知迄今為止存取的單元的所有讀取結(jié)果的條件下,計(jì)算在單位時(shí)間間隔的當(dāng)前的中間獲取結(jié)果位置的后驗(yàn)概率分布,并且找出具有任意接近于1的后驗(yàn)概率的(較小)間隔,其從而包括具有相同的非常高的概率的信息值A(chǔ)。然后,信息比特系列是通過該較小的間隔的二進(jìn)制表示得到的。應(yīng)當(dāng)注意的是,合宜地,獲取的信息比特系列與所述信息比特系列以任意接近于1 的概率相同。圖3示出了根據(jù)本發(fā)明的實(shí)施方式用于從K級(jí)存儲(chǔ)器部件讀取信息的方法 600(其中,K是大于1的正整數(shù))。應(yīng)當(dāng)注意的是,可以通過相同的存儲(chǔ)器控制器或者通過另一存儲(chǔ)器讀取系統(tǒng)來執(zhí)行方法600。方法600從階段610開始,階段610重復(fù)階段611、612和613。階段611包括讀取當(dāng)前單元以提供當(dāng)前單元的讀取結(jié)果。
階段612包括應(yīng)用響應(yīng)于當(dāng)前單元的讀取結(jié)果的第三函數(shù)以確定當(dāng)前的中間獲取結(jié)果;以及階段613包括響應(yīng)于單元選擇規(guī)則來選擇另一單元以用作當(dāng)前單元。根據(jù)本發(fā)明的實(shí)施方式,應(yīng)用第三函數(shù)的步驟包括階段6121,在階段6121中, 將第三函數(shù)應(yīng)用于以下各項(xiàng)(i)當(dāng)前單元的讀取結(jié)果;(ii)先前的中間獲取結(jié)果;以及 (iii)存儲(chǔ)器部件寫入規(guī)則,以確定當(dāng)前的中間獲取結(jié)果。階段610之后緊隨階段620,在階段620中,響應(yīng)于最后的中間獲取結(jié)果來確定獲取的信息比特系列。根據(jù)本發(fā)明的實(shí)施方式,K級(jí)存儲(chǔ)器部件是模擬的多級(jí)存儲(chǔ)器部件。根據(jù)本發(fā)明的實(shí)施方式,中間獲取的結(jié)果表示單位時(shí)間間隔內(nèi)的信息比特系列。應(yīng)當(dāng)注意的是,方法600通常對(duì)應(yīng)于方法500的階段570和580及其變型。圖4示出了根據(jù)本發(fā)明的實(shí)施方式用于從K級(jí)存儲(chǔ)器部件100讀取信息的存儲(chǔ)器控制器300。存儲(chǔ)器控制器300包括到K級(jí)存儲(chǔ)器部件100 (K是大于1的正整數(shù))的第二接口 330和彼此連接的處理器320 (并且還可以包括內(nèi)部存儲(chǔ)器部件340和用于提供信息比特系列的第一接口 310)。存儲(chǔ)器控制器300適用于重復(fù)以下階段(a)通過第二接口 330讀取K級(jí)存儲(chǔ)器部件100的當(dāng)前單元110以提供當(dāng)前單元 110的讀取結(jié)果。(b)通過處理器320來應(yīng)用響應(yīng)于當(dāng)前單元的讀取結(jié)果的第三函數(shù)以確定當(dāng)前中間的獲取結(jié)果;以及(C)響應(yīng)于單元選擇規(guī)則,通過處理器320選擇另一單元110作為當(dāng)前單元110。處理器320還用于響應(yīng)于最后的中間獲取結(jié)果來確定獲取的信息比特系列。根據(jù)本發(fā)明的實(shí)施方式,其中,K級(jí)存儲(chǔ)器部件100是模擬的多級(jí)存儲(chǔ)器部件。根據(jù)本發(fā)明的實(shí)施方式,中間的獲取結(jié)果表示單位時(shí)間間隔內(nèi)的信息比特系列。根據(jù)本發(fā)明的實(shí)施方式,處理器320還用于通過將第三函數(shù)應(yīng)用于以下各項(xiàng)來應(yīng)用第三函數(shù)(i)當(dāng)前單元的讀取結(jié)果;(ii)先前的中間獲取結(jié)果;以及(iii)存儲(chǔ)器部件寫入規(guī)則,以用于確定當(dāng)前的中間獲取結(jié)果。根據(jù)本發(fā)明的實(shí)施方式,公開了第一計(jì)算機(jī)可讀介質(zhì),其具有包含在其中以用于向K級(jí)存儲(chǔ)器部件寫入信息的計(jì)算機(jī)可讀代碼,所述第一計(jì)算機(jī)可讀代碼包括用于執(zhí)行以下步驟的指令接收信息比特系列;生成表示所述信息比特系列的信息值;將第一函數(shù)應(yīng)用于所述信息值,以提供第一函數(shù)結(jié)果;選擇所述K級(jí)存儲(chǔ)器部件的第一單元作為當(dāng)前單元;將所述第一函數(shù)結(jié)果寫入所述第一單元;以及重復(fù)以下階段(a)讀取當(dāng)前單元,以提供當(dāng)前的讀取結(jié)果;(b)將第二函數(shù)應(yīng)用于所述當(dāng)前的讀取結(jié)果和寫入所述當(dāng)前單元的函數(shù)結(jié)果,以提供第二函數(shù)結(jié)果;(c)選擇另一單元作為當(dāng)前單元;以及(d)將所述第二函數(shù)結(jié)果寫入所述當(dāng)前單元;其中,K是大于1的正整數(shù)。根據(jù)本發(fā)明的實(shí)施方式,K級(jí)存儲(chǔ)器部件是模擬的多級(jí)存儲(chǔ)器部件。根據(jù)本發(fā)明的實(shí)施方式,生成的步驟包括生成信息值以表示單位時(shí)間間隔內(nèi)的信息比特系列。
根據(jù)本發(fā)明的實(shí)施方式,將第一函數(shù)應(yīng)用于信息值以提供第一函數(shù)結(jié)果的步驟包括應(yīng)用作為輸入分布的累積分布函數(shù)(CDF)的反函數(shù)的第一函數(shù)。根據(jù)本發(fā)明的實(shí)施方式,被寫入所述當(dāng)前值的函數(shù)結(jié)果與所述當(dāng)前讀取的結(jié)果之間的關(guān)系是通過存儲(chǔ)器部件寫入規(guī)則來管理的。根據(jù)本發(fā)明的實(shí)施方式,響應(yīng)于所述存儲(chǔ)器部件寫入規(guī)則,來選擇輸入分布。根據(jù)本發(fā)明的實(shí)施方式,將所述第二函數(shù)應(yīng)用于所述當(dāng)前的讀取結(jié)果和被寫入所述當(dāng)前單元的所述函數(shù)結(jié)果以提供所述第二函數(shù)結(jié)果的重復(fù)的階段包括應(yīng)用作為輸入分布的累積分布函數(shù)(CDF)的反函數(shù)的復(fù)合函數(shù)的第二函數(shù),所述第二函數(shù)被應(yīng)用于反向存儲(chǔ)器部件寫入規(guī)則的累積分布函數(shù)(CDF)。根據(jù)本發(fā)明的實(shí)施方式,包括用于更新反向存儲(chǔ)器部件寫入規(guī)則的指令,其中,所述更新的步驟包括重復(fù)以下階段(i)將估計(jì)輸入寫入選擇的單元;( )讀取所選擇的單元以提供讀取結(jié)果;以及(iii)存儲(chǔ)響應(yīng)于估計(jì)輸入和所述讀取結(jié)果的寫入操作結(jié)果;以及響應(yīng)于所述寫入操作結(jié)果,來更新所述反向存儲(chǔ)器部件寫入規(guī)則。根據(jù)本發(fā)明的實(shí)施方式,所述重復(fù)的步驟包括重復(fù)M-I個(gè)循環(huán),其中,所述第一計(jì)算機(jī)可讀代碼還包括用于確定M的指令,以使所述信息比特系列的比特的數(shù)量與M之間的比率接近于由在存儲(chǔ)器部件寫入規(guī)則上使用的輸入分布引起的互信息。根據(jù)本發(fā)明的實(shí)施方式,響應(yīng)于單元選擇規(guī)則選擇另一單元,并且其中,所述第一計(jì)算機(jī)可讀代碼還包括用于從根據(jù)所述單元選擇規(guī)則所選擇的單元來獲取讀取結(jié)果并且響應(yīng)于多個(gè)讀取結(jié)果來確定獲取的信息比特系列的指令。根據(jù)本發(fā)明的實(shí)施方式,所述獲取的步驟包括重復(fù)以下階段(i)讀取當(dāng)前單元, 以提供所述當(dāng)前單元的讀取結(jié)果;以及(ii)響應(yīng)于所述單元選擇規(guī)則,來選擇另一單元作為當(dāng)前單元;其中,在獲取期間選擇的所述單元的順序與在寫入所述第二函數(shù)結(jié)果期間選擇的所述單元的順序相同。根據(jù)本發(fā)明的實(shí)施方式,每當(dāng)讀取當(dāng)前單元之后將第三函數(shù)應(yīng)用于以下各項(xiàng)(i) 所述當(dāng)前單元的讀取結(jié)果;(ii)先前的中間獲取結(jié)果;以及(iii)所述存儲(chǔ)器部件寫入規(guī)則,以用于確定當(dāng)前中間的獲取結(jié)果;其中,所述獲取的信息比特系列響應(yīng)于最后的中間獲取結(jié)果。根據(jù)本發(fā)明的實(shí)施方式,所述獲取的信息比特系列與所述信息比特系列以任意接近于1的概率相同(用于增加M和N的值)。根據(jù)本發(fā)明的實(shí)施方式,公開了第二計(jì)算機(jī)可讀介質(zhì),其具有包含在其中以用于從K級(jí)存儲(chǔ)器部件讀取信息的第二計(jì)算機(jī)可讀代碼,所述第二計(jì)算機(jī)可讀代碼包括用于執(zhí)行以下步驟的指令重復(fù)以下階段(i)讀取當(dāng)前單元,以提供所述當(dāng)前單元的讀取結(jié)果; (ii)應(yīng)用響應(yīng)于所述當(dāng)前單元的所述讀取結(jié)果的第三函數(shù),以用于確定當(dāng)前的中間獲取結(jié)果;以及(iii)響應(yīng)于單元選擇規(guī)則,來選擇另一單元作為當(dāng)前單元;以及響應(yīng)于最后的中間獲取結(jié)果,來確定獲取的信息比特系列;其中,K是大于1的正整數(shù)。根據(jù)本發(fā)明的實(shí)施方式,所述K級(jí)存儲(chǔ)器部件是模擬的多級(jí)存儲(chǔ)器部件。根據(jù)本發(fā)明的實(shí)施方式,所述中間的獲取結(jié)果表示單位時(shí)間間隔內(nèi)的信息比特系列。根據(jù)本發(fā)明的實(shí)施方式,所述應(yīng)用第三函數(shù)的步驟包括將第三函數(shù)應(yīng)用于以下各項(xiàng)(i)所述當(dāng)前單元的讀取結(jié)果;(ii)先前的中間獲取結(jié)果;以及(iii)存儲(chǔ)器部件寫入規(guī)則,以用于確定當(dāng)前的中間獲取結(jié)果。上面提到的方法和裝置的特征在于降低的復(fù)雜度和成本、提高的容量和適應(yīng)性、 快速的存取時(shí)間。與通常在多級(jí)和模擬存儲(chǔ)器中使用的復(fù)雜的前向糾錯(cuò)方案相反,上面提到的裝置和方法可以很簡單并且是順序的。因此,期望上面提到的裝置和方法較不復(fù)雜并且更加便且。上面提到的裝置和方法對(duì)于噪聲模型失配是魯棒的,并且還可以使其自適應(yīng)于獲得經(jīng)驗(yàn)容量。它們的特征在于更好利用地存儲(chǔ)介質(zhì)。合宜地,重復(fù)讀取/寫入方法以減小存取時(shí)間為代價(jià)“改善了”信道(并且增加了其容量)。這可以自動(dòng)地并入我們的方案中,從而使我們能夠根據(jù)需要來與存儲(chǔ)器權(quán)衡存取時(shí)間??梢酝ㄟ^使用傳統(tǒng)的工具、方法和部件來實(shí)現(xiàn)本發(fā)明。因此,在本文中未詳細(xì)闡述這些工具、部件和方法的細(xì)節(jié)。在前面的描述中,給出了大量具體的細(xì)節(jié),以便提供對(duì)本發(fā)明的全面理解。然而,應(yīng)當(dāng)認(rèn)識(shí)到,可以在無需借助于具體闡述的細(xì)節(jié)的情況下實(shí)現(xiàn)本發(fā)明。在本發(fā)明中僅示出并描述了本發(fā)明的示例性的實(shí)施方式及其多功能性的幾個(gè)實(shí)施例。應(yīng)當(dāng)理解的是,本發(fā)明能夠在多種其它組合和環(huán)境中使用,并且能夠在本文描述的發(fā)明概念的范圍內(nèi)進(jìn)行改變或修改。雖然已經(jīng)在本文中示出并描述了本發(fā)明的某些特征,但是本領(lǐng)域普通技術(shù)人員現(xiàn)在將想到很多修改、替換、改變和等同物。因此,應(yīng)當(dāng)理解的是,期望所附的權(quán)利要求涵蓋落入本發(fā)明的真實(shí)精神內(nèi)的所有這些修改和改變。
權(quán)利要求
1.一種用于向K級(jí)存儲(chǔ)器部件寫入信息的方法,所述方法包括 接收信息比特系列;生成表示所述信息比特系列的信息值;將第一函數(shù)應(yīng)用于所述信息值,以提供第一函數(shù)結(jié)果;選擇所述K級(jí)存儲(chǔ)器部件的第一單元作為當(dāng)前單元;其中,K是大于1的正整數(shù); 將所述第一函數(shù)結(jié)果寫入所述第一單元;以及重復(fù)以下階段(a)讀取當(dāng)前單元以提供當(dāng)前的讀取結(jié)果;(b)將第二函數(shù)應(yīng)用于所述當(dāng)前的讀取結(jié)果和寫入所述當(dāng)前單元的函數(shù)結(jié)果,以提供第二函數(shù)結(jié)果;(c)選擇另一單元作為當(dāng)前單元;以及(d)將所述第二函數(shù)結(jié)果寫入所述當(dāng)前單元。
2.根據(jù)權(quán)利要求1所述的方法,其中,所述K級(jí)存儲(chǔ)器部件是模擬的多級(jí)存儲(chǔ)器部件。
3.根據(jù)權(quán)利要求1所述的方法,包括生成所述信息值以表示單位時(shí)間間隔中的所述信息比特系列。
4.根據(jù)權(quán)利要求1所述的方法,其中,所述第一函數(shù)是輸入分布的累積分布函數(shù)(CDF) 的反函數(shù)。
5.根據(jù)權(quán)利要求1所述的方法,其中,被寫入所述當(dāng)前值的函數(shù)結(jié)果與所述當(dāng)前的讀取結(jié)果之間的關(guān)系是通過存儲(chǔ)器部件寫入規(guī)則來管理的。
6.根據(jù)權(quán)利要求5所述的方法,包括 根據(jù)所述存儲(chǔ)器部件寫入規(guī)則來選擇輸入分布。
7.根據(jù)權(quán)利要求1所述的方法,包括應(yīng)用作為輸入分布的累積分布函數(shù)(CDF)的反函數(shù)的復(fù)合函數(shù)的第二函數(shù),所述第二函數(shù)被應(yīng)用于反向存儲(chǔ)器部件寫入規(guī)則的累積分布函數(shù)(CDF)。
8.根據(jù)權(quán)利要求7所述的方法,還包括更新所述反向存儲(chǔ)器部件寫入規(guī)則,其中,所述更新包括重復(fù)以下階段(i)向所選擇的單元寫入估計(jì)輸入;(ii)讀取所選擇的單元以提供讀取結(jié)果;以及(iii)存儲(chǔ)響應(yīng)于所述估計(jì)輸入和所述讀取結(jié)果的寫入操作結(jié)果;以及響應(yīng)于所述寫入操作結(jié)果,來更新所述反向存儲(chǔ)器部件寫入規(guī)則。
9.根據(jù)權(quán)利要求1所述的方法,其中,所述重復(fù)包括 重復(fù)M-I個(gè)循環(huán),其中,所述方法還包括確定M以使所述信息比特系列的比特的數(shù)量與M之間的比率接近于由在存儲(chǔ)器部件寫入規(guī)則上使用的輸入分布引起的互信息。
10.根據(jù)權(quán)利要求1所述的方法,其中,所述選擇另一單元響應(yīng)于單元選擇規(guī)則,并且其中,所述方法還包括從根據(jù)所述單元選擇規(guī)則所選擇的單元來獲取讀取結(jié)果并且響應(yīng)于多個(gè)讀取結(jié)果來確定獲取的信息比特系列。
11.根據(jù)權(quán)利要求10所述的方法,其中,所述獲取包括 重復(fù)以下階段(i)讀取當(dāng)前單元,以提供所述當(dāng)前單元的讀取結(jié)果;以及( )響應(yīng)于所述單元選擇規(guī)則,來選擇另一單元作為當(dāng)前單元;其中,在所述獲取期間選擇的單元的順序與被選擇來用于寫入所述第二函數(shù)結(jié)果的單元的順序相同。
12.根據(jù)權(quán)利要求11所述的方法,其中,每次讀取當(dāng)前單元之后將第三函數(shù)應(yīng)用于以下各項(xiàng)(i)所述當(dāng)前單元的讀取結(jié)果;(ii)先前的中間獲取結(jié)果;以及(iii)所述存儲(chǔ)器部件寫入規(guī)則,以用于確定當(dāng)前的中間獲取結(jié)果;其中,所述獲取的信息比特系列響應(yīng)于最后的中間獲取結(jié)果。
13.根據(jù)權(quán)利要求10所述的方法,其中,所述獲取的信息比特系列與所述信息比特系列相同。
14.一種用于從K級(jí)存儲(chǔ)器部件讀取信息的方法,所述方法包括 重復(fù)以下階段(i)讀取所述K級(jí)存儲(chǔ)器部件的當(dāng)前單元,以提供所述當(dāng)前單元的讀取結(jié)果;其中,K是大于1的正整數(shù);( )應(yīng)用響應(yīng)于所述當(dāng)前單元的讀取結(jié)果的第三函數(shù)以用于確定當(dāng)前的中間獲取結(jié)果;以及(iii)響應(yīng)于單元選擇規(guī)則,來選擇另一單元作為當(dāng)前單元;以及響應(yīng)于最后的中間獲取結(jié)果,來確定獲取的信息比特系列。
15.根據(jù)權(quán)利要求14所述的方法,其中,所述K級(jí)存儲(chǔ)器部件是模擬的多級(jí)存儲(chǔ)器部件。
16.根據(jù)權(quán)利要求14所述的方法,其中,所述中間的獲取結(jié)果表示單位時(shí)間間隔內(nèi)的信息比特系列。
17.根據(jù)權(quán)利要求14所述的方法,其中,所述應(yīng)用第三函數(shù)包括將所述第三函數(shù)應(yīng)用于以下各項(xiàng)(i)所述當(dāng)前單元的讀取結(jié)果;(ii)先前的中間獲取結(jié)果;以及(iii)存儲(chǔ)器部件寫入規(guī)則,以用于確定當(dāng)前的中間獲取結(jié)果。
18.一種計(jì)算機(jī)可讀介質(zhì),其具有包含在其中以用于向K級(jí)存儲(chǔ)器部件寫入信息的計(jì)算機(jī)可讀代碼,所述計(jì)算機(jī)可讀代碼包括用于執(zhí)行以下操作的指令接收信息比特系列;生成表示所述信息比特系列的信息值;將第一函數(shù)應(yīng)用于所述信息值,以提供第一函數(shù)結(jié)果;選擇所述K級(jí)存儲(chǔ)器部件的第一單元作為當(dāng)前單元,其中,K是大于1的正整數(shù); 將所述第一函數(shù)結(jié)果寫入所述第一單元;以及重復(fù)以下階段(a)讀取當(dāng)前單元,以提供當(dāng)前的讀取結(jié)果;(b)將第二函數(shù)應(yīng)用于所述當(dāng)前的讀取結(jié)果和被寫入所述當(dāng)前單元的函數(shù)結(jié)果以提供第二函數(shù)結(jié)果;(c)選擇另一單元作為當(dāng)前單元;以及(d)將所述第二函數(shù)結(jié)果寫入所述當(dāng)前單元。
19.根據(jù)權(quán)利要求18所述的計(jì)算機(jī)可讀介質(zhì),其中,所述K級(jí)存儲(chǔ)器部件是模擬的多級(jí)存儲(chǔ)器部件。
20.根據(jù)權(quán)利要求18所述的計(jì)算機(jī)可讀介質(zhì),包括生成所述信息值以表示單位時(shí)間間隔中的所述信息比特系列。
21.根據(jù)權(quán)利要求18所述的計(jì)算機(jī)可讀介質(zhì),包括應(yīng)用為輸入分布的累積分布函數(shù)(CDF)的反函數(shù)的所述第一函數(shù)。
22.根據(jù)權(quán)利要求18所述的計(jì)算機(jī)可讀介質(zhì),其中,被寫入所述當(dāng)前值的函數(shù)結(jié)果與所述當(dāng)前讀取的結(jié)果之間的關(guān)系是通過存儲(chǔ)器部件寫入規(guī)則來管理的。
23.根據(jù)權(quán)利要求22所述的計(jì)算機(jī)可讀介質(zhì),其中,輸入分布是響應(yīng)于所述存儲(chǔ)器部件寫入規(guī)則來選擇的。
24.根據(jù)權(quán)利要求18所述的計(jì)算機(jī)可讀介質(zhì),其中,所述將第二函數(shù)應(yīng)用于所述當(dāng)前的讀取結(jié)果和被寫入所述當(dāng)前單元的函數(shù)結(jié)果以提供第二函數(shù)結(jié)果的重復(fù)的階段包括應(yīng)用為輸入分布的累積分布函數(shù)(CDF)的反函數(shù)的復(fù)合函數(shù)的所述第二函數(shù),所述第二函數(shù)被應(yīng)用于反向存儲(chǔ)器部件寫入規(guī)則的累積分布函數(shù)(CDF)。
25.根據(jù)權(quán)利要求24所述的計(jì)算機(jī)可讀介質(zhì),還包括用于更新所述反向存儲(chǔ)器部件寫入規(guī)則的指令,其中,所述更新包括重復(fù)以下階段(i)將估計(jì)輸入寫入選擇的單元;(ii)讀取所選擇的單元以提供讀取結(jié)果;以及(iii)存儲(chǔ)響應(yīng)于所述估計(jì)輸入和所述讀取結(jié)果的寫入操作結(jié)果;以及響應(yīng)于所述寫入操作結(jié)果,來更新所述反向存儲(chǔ)器部件寫入規(guī)則。
26.根據(jù)權(quán)利要求18所述的計(jì)算機(jī)可讀介質(zhì),其中,所述重復(fù)包括重復(fù)M-I個(gè)循環(huán),其中,所述第一計(jì)算機(jī)可讀代碼還包括用于確定M以使所述信息比特系列的比特的數(shù)量與M之間的比率接近于由在存儲(chǔ)器部件寫入規(guī)則上使用的輸入分布引起的互信息的指令。
27.根據(jù)權(quán)利要求18所述的計(jì)算機(jī)可讀介質(zhì),其中,所述選擇另一單元響應(yīng)于單元選擇規(guī)則,并且其中,所述第一計(jì)算機(jī)可讀代碼還包括用于從根據(jù)所述單元選擇規(guī)則所選擇的單元來獲取讀取結(jié)果并且響應(yīng)于多個(gè)讀取結(jié)果來確定獲取的信息比特系列的指令。
28.根據(jù)權(quán)利要求27所述的計(jì)算機(jī)可讀介質(zhì),其中,所述獲取包括重復(fù)以下階段(i) 讀取當(dāng)前單元,以提供所述當(dāng)前單元的讀取結(jié)果;以及(ii)響應(yīng)于所述單元選擇規(guī)則,來選擇另一單元作為當(dāng)前單元;其中,在所述獲取期間選擇的單元的順序與被選擇來用于寫入所述第二函數(shù)結(jié)果的單元的順序相同。
29.根據(jù)權(quán)利要求28所述的計(jì)算機(jī)可讀介質(zhì),其中,每次讀取當(dāng)前單元之后將第三函數(shù)應(yīng)用于以下各項(xiàng)(i)所述當(dāng)前單元的讀取結(jié)果;(ii)先前的中間獲取結(jié)果;以及(iii) 所述存儲(chǔ)器部件寫入規(guī)則,以用于確定當(dāng)前的中間獲取結(jié)果;其中,所述獲取的信息比特系列響應(yīng)于最后的中間獲取結(jié)果。
30.根據(jù)權(quán)利要求27所述的計(jì)算機(jī)可讀介質(zhì),其中,所述獲取的信息比特系列與所述信息比特系列相同。
31.一種計(jì)算機(jī)可讀介質(zhì),其具有包含在其中以用于從K級(jí)存儲(chǔ)器部件讀取信息的計(jì)算機(jī)可讀代碼,所述計(jì)算機(jī)可讀代碼包括用于執(zhí)行以下操作的指令重復(fù)以下階段(i)讀取所述K級(jí)存儲(chǔ)器部件的當(dāng)前單元,以提供所述當(dāng)前單元的讀取結(jié)果;其中,K是大于1的正整數(shù);(ii)應(yīng)用響應(yīng)于所述當(dāng)前單元的讀取結(jié)果的第三函數(shù),以用于確定當(dāng)前的中間獲取結(jié)果;以及(iii)響應(yīng)于所述單元選擇規(guī)則,來選擇另一單元作為當(dāng)前單元;以及響應(yīng)于最后的中間獲取結(jié)果,來確定獲取的信息比特系列。
32.根據(jù)權(quán)利要求31所述的計(jì)算機(jī)可讀介質(zhì),其中,所述K級(jí)存儲(chǔ)器部件是模擬的多級(jí)存儲(chǔ)器部件。
33.根據(jù)權(quán)利要求31所述的計(jì)算機(jī)可讀介質(zhì),其中,所述中間的獲取結(jié)果表示單位時(shí)間間隔內(nèi)的信息比特系列。
34.根據(jù)權(quán)利要求31所述的計(jì)算機(jī)可讀介質(zhì),其中,所述應(yīng)用第三函數(shù)包括將所述第三函數(shù)應(yīng)用于以下各項(xiàng)(i)所述當(dāng)前單元的讀取結(jié)果;(ii)先前的中間獲取結(jié)果;以及 (iii)所述存儲(chǔ)器部件寫入規(guī)則,以用于確定當(dāng)前的中間獲取結(jié)果。
35.一種用于向K級(jí)存儲(chǔ)器部件寫入信息的存儲(chǔ)器控制器,所述存儲(chǔ)器控制器包括第一接口,其用于接收信息比特系列;處理器,其用于生成表示所述信息比特系列的信息值;將第一函數(shù)應(yīng)用于所述信息值,以提供第一函數(shù)結(jié)果;以及選擇所述K級(jí)存儲(chǔ)器部件的第一單元作為當(dāng)前單元;以及第二接口,其被耦合到所述處理器和所述K級(jí)存儲(chǔ)器部件,以用于將函數(shù)結(jié)果寫入所述K級(jí)存儲(chǔ)器部件的單元,并且用于從單元讀取信息以提供讀取結(jié)果,其中,K是大于1的正整數(shù);其中,所述存儲(chǔ)器控制器適用于將所述第一函數(shù)結(jié)果寫入所述第一單元;其中,所述第二接口和所述處理器被配置為重復(fù)以下序列通過所述第二接口來讀取當(dāng)前單元以提供當(dāng)前的讀取結(jié)果,以及重復(fù)地將第二函數(shù)結(jié)果寫入所述當(dāng)前單元;通過所述處理器來將第二函數(shù)應(yīng)用于所述當(dāng)前的讀取結(jié)果以及被寫入所述當(dāng)前單元的函數(shù)結(jié)果,以提供第二函數(shù)結(jié)果;以及通過所述處理器來選擇另一單元作為當(dāng)前單元。
36.根據(jù)權(quán)利要求35所述的存儲(chǔ)器控制器,其中,所述K級(jí)存儲(chǔ)器部件是模擬的多級(jí)存儲(chǔ)器部件。
37.根據(jù)權(quán)利要求35所述的存儲(chǔ)器控制器,其中,所述處理器適用于生成所述信息值以表示單位時(shí)間間隔中的所述信息比特系列。
38.根據(jù)權(quán)利要求35所述的存儲(chǔ)器控制器,其中,所述處理器適用于通過應(yīng)用為輸入分布的累積分布函數(shù)(CDF)的反函數(shù)的所述第一函數(shù),將所述第一函數(shù)應(yīng)用于所述信息值,以提供所述第一函數(shù)結(jié)果。
39.根據(jù)權(quán)利要求35所述的存儲(chǔ)器控制器,其中,被寫入所述當(dāng)前值的函數(shù)結(jié)果與所述當(dāng)前的讀取結(jié)果之間的關(guān)系是通過存儲(chǔ)器部件寫入規(guī)則來管理的。
40.根據(jù)權(quán)利要求39所述的存儲(chǔ)器控制器,其中,輸入分布是響應(yīng)于所述存儲(chǔ)器部件寫入規(guī)則來選擇的。
41.根據(jù)權(quán)利要求35所述的存儲(chǔ)器控制器,其中,所述處理器適用于應(yīng)用為輸入分布的累積分布函數(shù)(CDF)的反函數(shù)的復(fù)合函數(shù)的第二函數(shù),所述第二函數(shù)被應(yīng)用于反向存儲(chǔ)器部件寫入規(guī)則的累積分布函數(shù)(CDF)。
42.根據(jù)權(quán)利要求41所述的存儲(chǔ)器控制器,其中,所述處理器還被配置為重復(fù)地向所選擇的單元寫入估計(jì)輸入、讀取所選擇的單元以提供讀取結(jié)果、并存儲(chǔ)響應(yīng)于所述估計(jì)輸入和所述讀取結(jié)果的寫入操作結(jié)果;以及響應(yīng)于所述寫入操作結(jié)果,來更新所述反向存儲(chǔ)器部件寫入規(guī)則。
43.根據(jù)權(quán)利要求35所述的存儲(chǔ)器控制器,其中,所述處理器適用于將階段(a)至(d) 重復(fù)M-I個(gè)循環(huán),并且確定M以使所述信息比特系列的比特的數(shù)量與M之間的比率接近于由在存儲(chǔ)器部件寫入規(guī)則上使用的輸入分布引起的互信息。
44.根據(jù)權(quán)利要求35所述的存儲(chǔ)器控制器,其中,所述處理器適用于響應(yīng)于單元選擇規(guī)則,來選擇另一單元,并且其中,所述存儲(chǔ)器控制器適用于從根據(jù)所述單元選擇規(guī)則所選擇的單元來獲取讀取結(jié)果,并且所述處理器適用于響應(yīng)于多個(gè)讀取結(jié)果,來確定獲取的信息比特系列。
45.根據(jù)權(quán)利要求44所述的存儲(chǔ)器控制器,其中,所述存儲(chǔ)器控制器適用于通過重復(fù)以下操作來獲取讀取結(jié)果(i)通過所述第二接口來讀取當(dāng)前單元,以提供所述當(dāng)前單元的讀取結(jié)果;以及 ( )響應(yīng)于所述單元選擇規(guī)則,來通過所述處理器選擇另一單元作為當(dāng)前單元;其中,在所述獲取期間選擇的單元的順序與被選擇來用于寫入所述第二函數(shù)結(jié)果的單元的順序相同。
46.根據(jù)權(quán)利要求45所述的存儲(chǔ)器控制器,其中,所述處理器用于在每次讀取當(dāng)前單元之后將第三函數(shù)應(yīng)用于以下各項(xiàng)(i)所述當(dāng)前單元的讀取結(jié)果;(ii)先前的中間獲取結(jié)果;以及(iii)所述存儲(chǔ)器部件寫入規(guī)則,以用于確定當(dāng)前的中間獲取結(jié)果;其中,所述獲取的信息比特系列是響應(yīng)于最后的中間獲取結(jié)果的。
47.根據(jù)權(quán)利要求44所述的存儲(chǔ)器控制器,其中,所述獲取的信息比特系列與所述信息比特系列相同。
48.一種用于從K級(jí)存儲(chǔ)器部件讀取信息的存儲(chǔ)器控制器,所述存儲(chǔ)器控制器包括 到所述K級(jí)存儲(chǔ)器部件的第二接口 ;以及處理器;其中,所述第二接口和所述處理器被配置為重復(fù)以下序列直到提供最后的中間獲取結(jié)果為止通過所述第二接口讀取所述K級(jí)存儲(chǔ)器部件的當(dāng)前單元,以提供所述當(dāng)前單元的讀取結(jié)果;通過所述處理器應(yīng)用響應(yīng)于所述當(dāng)前單元的讀取結(jié)果的第三函數(shù)以用于確定當(dāng)前的中間獲取結(jié)果;響應(yīng)于單元選擇規(guī)則,來通過所述處理器選擇另一單元作為當(dāng)前單元; 其中,所述處理器還被配置為響應(yīng)于最后的中間獲取結(jié)果,來確定獲取的信息比特系列。
49.根據(jù)權(quán)利要求48所述的存儲(chǔ)器控制器,其中,所述K級(jí)存儲(chǔ)器部件是模擬的多級(jí)存儲(chǔ)器部件。
50.根據(jù)權(quán)利要求48所述的存儲(chǔ)器控制器,其中,所述中間的獲取結(jié)果表示單位時(shí)間間隔內(nèi)的信息比特系列。
51.根據(jù)權(quán)利要求48所述的存儲(chǔ)器控制器,其中,所述處理器被配置為通過將第三函數(shù)應(yīng)用于以下各項(xiàng)來應(yīng)用所述第三函數(shù)(i)所述當(dāng)前單元的讀取結(jié)果;(ii)先前的中間獲取結(jié)果;以及(iii)存儲(chǔ)器部件寫入規(guī)則,以用于確定當(dāng)前的中間獲取結(jié)果。
52.根據(jù)權(quán)利要求1至12中的任意一項(xiàng)所述的方法,其中,K大于2。
53.根據(jù)權(quán)利要求13至17中的任意一項(xiàng)所述的方法,其中,K大于2。
54.根據(jù)權(quán)利要求18至30中的任意一項(xiàng)所述的計(jì)算機(jī)可讀介質(zhì),其中,K大于2。
55.根據(jù)權(quán)利要求31至34中的任意一項(xiàng)所述的計(jì)算機(jī)可讀介質(zhì),其中,K大于2。
56.根據(jù)權(quán)利要求35至47中的任意一項(xiàng)所述的存儲(chǔ)器控制器,其中,K大于2。
57.根據(jù)權(quán)利要求48至51中的任意一項(xiàng)所述的存儲(chǔ)器控制器,其中,K大于2。
全文摘要
一種方法、計(jì)算機(jī)可讀介質(zhì)和存儲(chǔ)器控制器。所述方法用于向K級(jí)存儲(chǔ)器部件寫入信息,包括接收信息比特系列;生成表示所述信息比特系列的信息值;將第一函數(shù)應(yīng)用于所述信息值,以提供第一函數(shù)結(jié)果;選擇所述K級(jí)存儲(chǔ)器部件的第一單元作為當(dāng)前單元;其中,K是大于1的正整數(shù);將第一函數(shù)結(jié)果寫入所述第一單元;并且重復(fù)以下階段(a)讀取當(dāng)前單元以提供當(dāng)前的讀取結(jié)果;(b)將第二函數(shù)應(yīng)用于所述當(dāng)前的讀取結(jié)果和寫入所述當(dāng)前單元的函數(shù)結(jié)果,以提供第二函數(shù)結(jié)果;(c)選擇另一單元作為當(dāng)前單元;以及(d)將所述第二函數(shù)結(jié)果寫入所述當(dāng)前單元。
文檔編號(hào)G11C11/56GK102292776SQ200980155063
公開日2011年12月21日 申請日期2009年12月24日 優(yōu)先權(quán)日2008年12月24日
發(fā)明者奧弗·沙耶維茨, 梅厄·費(fèi)德爾 申請人:雷蒙特亞特特拉維夫大學(xué)有限公司