相關(guān)申請的交叉引用
本申請是在專利合作條約的條款8(1)下要求于2014年9月16日提交的美國申請序列號14/488,125的優(yōu)先權(quán)的pct專利申請。所述美國申請在這里通過引用以其整體并入本文。
背景技術(shù):
除非在這里指示出,在本部分被描述的材料不是本申請所述權(quán)利要求的現(xiàn)有技術(shù)并且不被因包含于本部分而被承認(rèn)為現(xiàn)有技術(shù)。
閃速存儲器是一種將信息存儲在包括有浮動?xùn)偶壘w管的存儲器單元中的非易失性存儲器(nvm)。閃速存儲器可以是單級單元(slc)或多級單元(mlc)設(shè)備。slc閃速存儲器設(shè)備可以被配置來辨別在存儲器單元上的兩個不同的電荷階別,從而允許單獨的存儲器單元存儲單比特信息。相反,mlc閃速存儲器設(shè)備可以被配置來在單獨存儲器單元上辨別四個或更多個不同的電荷階別,從而允許單獨存儲器單元存儲多比特信息。然而,相比較于四個或更多個不同的電荷階別,由于需要辨別兩個不同的電荷階別,slc設(shè)備可以有比mlc設(shè)備更好的數(shù)據(jù)讀出和寫入的表現(xiàn)。
技術(shù)實現(xiàn)要素:
本公開總體上描述使用等級調(diào)制來在單級存儲器中存儲數(shù)據(jù)的技術(shù)。
根據(jù)一些示例,描述了通過使用等級調(diào)制來在單級閃速存儲器上編碼數(shù)據(jù)的方法。示例方法可以包括基于待編碼數(shù)據(jù)確定比特組內(nèi)的比特等級;確定用于多個閃速存儲器比特的多個部分程序參數(shù),其中每個部分程序參數(shù)與所述多個比特中的一個相應(yīng)的比特相關(guān)聯(lián);基于確定的比特等級和確定的多個部分程序參數(shù)確定程序矢量;和/或基于確定的程序矢量使用部分編程將數(shù)據(jù)編碼至多個比特。
根據(jù)其他示例,裝置可以被配置用來通過使用等級調(diào)制在單級閃速存儲器中寫入數(shù)據(jù)。示例裝置可以包括被配置用來基于待寫入數(shù)據(jù)確定比特等級的處理塊;確定用于閃速存儲器的多個比特的多個完整的程序時值,其中每個完整的程序時值指示相應(yīng)的程序時間時值以從第一值到第二值修飾在多比特中的相應(yīng)的比特;并確定程序矢量基于確定的比特等級以及確定的多個完整的程序時值,程序矢量指示著至少一個部分程序時值。示例裝置還可以包括耦接在處理塊上的存儲器接口模塊。存儲器接口模塊可以被配置用來接收確定的程序矢量從處理塊;并通過根據(jù)被接收到的程序矢量指示的部分程序時值部分編程多個比特將數(shù)據(jù)寫入多個比特。
根據(jù)進(jìn)一步的示例,描述了通過使用等級調(diào)制來提取編碼在單級閃速存儲器上的數(shù)據(jù)的方法。示例方法可以包括在閃速存儲器的多個比特上執(zhí)行多個讀出操作,其中每個讀出操作包括基于至少一個部分編程參數(shù)部分編程多個比特;并讀出部分編程的多個比特的狀態(tài)。示例方法還可以包括基于至少與多個讀出操作相關(guān)聯(lián)的相應(yīng)的讀出狀態(tài)確定與多個比特相關(guān)聯(lián)的等級并基于確定的等級得到最終數(shù)據(jù)。
根據(jù)另一其他示例,一種可以被配置用來通過等級調(diào)制提取編碼在單級閃速存儲器中的數(shù)據(jù)的裝置。該裝置可以包括耦接在多個閃速存儲器比特的存儲器接口模塊和耦接在存儲器接口模塊的處理塊。存儲器接口模塊可以讀出多個閃速存儲器比特的初始狀態(tài)并通過執(zhí)行基于至少一個部分程序時值的多個比特的部分編程在多個比特上執(zhí)行多個讀出操作,其中至少一個部分程序時值指示程序時間以部分從第一值到第二值修飾至少多個比特中的一個比特,以及執(zhí)行部分編程的多個比特的狀態(tài)的讀出。處理塊可以接受,從存儲器接口模塊,與多個讀出操作相關(guān)聯(lián)的相應(yīng)的讀出狀態(tài);基于相應(yīng)的讀出狀態(tài)確定與多個比特相關(guān)聯(lián)的等級;并基于等級得到最終數(shù)據(jù)。
前面的概述僅僅是示例性的,而不意在以任何方式進(jìn)行限制。通過參考附圖以及下面的詳細(xì)說明,除了上文所描述的示例性的方案、實施例和特征之外,另外的方案、實施例和特征將變得清晰可見。
附圖說明
本公開的上述和其他特征將會由以下描述和附加權(quán)利要求(與附圖一起收進(jìn))變得更加充分地顯然。因此,不被考慮為其范圍的限制,本公開將會被通過使用所述附圖被帶有額外的專一性和細(xì)節(jié)描述,在其中:
圖1闡釋示例存儲器設(shè)備,其中基于等級調(diào)制的數(shù)據(jù)存儲可以被實施;
圖2闡釋示使用等級調(diào)制恢復(fù)存儲在單級存儲器中的數(shù)據(jù)例提取讀出過程以;
圖3闡釋所述編程過程的示例以將等級調(diào)制的數(shù)據(jù)寫入至單級存儲器。
圖4闡釋所述讀出-和-證實過程的示例以得到程序矢量以將等級調(diào)制的數(shù)據(jù)寫入至單級存儲器。
圖5闡釋所述讀出-和-證實過程的示例以得到程序矢量以將等級調(diào)制的數(shù)據(jù)寫入至具有比特級別擦除能力的單級存儲器。
圖6是一個闡釋以編程和以使用部分編程在單級存儲器上恢復(fù)等級調(diào)制的示例過程的流程圖。
圖7闡釋一個通用計算設(shè)備,其可以被用于通過使用等級調(diào)制提供數(shù)據(jù)存儲;
圖8是一個闡釋可以有比如圖7中的計算設(shè)備執(zhí)行的使用等級調(diào)制提供數(shù)據(jù)存儲的示例方法的流程圖;
圖9闡釋一個示例計算機(jī)編程產(chǎn)品的框圖,全部都根據(jù)至少一些在這里描述出的實施而排列。
發(fā)明詳述
在下面的詳細(xì)描述中,將參考附圖,附圖構(gòu)成了詳細(xì)描述的一部分。在附圖中,除非上下文指出,相似的符號通常表示相似的組件。在詳細(xì)描述、附圖和權(quán)利要求中所描述的示例性實施例不意在限制性的。在不偏離本文呈現(xiàn)的主題的精神或范圍的情況下,可以使用其它實施例,并且可以做出其它改變。將易于理解的是,如本文大致描述且如圖中所圖示的,本公開的方案能夠以各種不同配置來布置、替代、組合、分離和設(shè)計,所有這些都在本文中明確地構(gòu)思出。
本公開總體上尤其涉及使用等級調(diào)制將數(shù)據(jù)存儲在單級存儲器中的方法、裝置、系統(tǒng)、設(shè)備和/或計算機(jī)程序產(chǎn)品。
簡單地說,技術(shù)通常被描述以使用等級調(diào)制將數(shù)據(jù)存儲在單級存儲器中。在一些示例中,將要被編碼至單級存儲器的數(shù)據(jù)可以用針對比特組的比特等級來表示。程序矢量可以因此從比特等級和與存儲器組相關(guān)聯(lián)的部分程序特性中被確定。存儲器組從而可以根據(jù)程序矢量被編程。被編碼的數(shù)據(jù)可以通過執(zhí)行存儲器組上執(zhí)行的一系列部分編程操作隨后提取出來以恢復(fù)比特等級并得到所表示的數(shù)據(jù)。
圖1闡釋根據(jù)本文描述的至少一些實施例布置的其中可以實現(xiàn)基于等級調(diào)制的數(shù)據(jù)存儲的示例存儲器設(shè)備。
根據(jù)圖100,裝置可以包括,例如處理塊101和存儲器設(shè)備102,其依次可以包括存儲器控制器110和存儲單元150。處理塊101可以執(zhí)行存儲在存儲器設(shè)備102中的指令和/或存儲由存儲器設(shè)備102中的操作產(chǎn)生的數(shù)據(jù)。存儲器控制器110可以包括存儲器接口模塊120,其依次可以包括寫入模塊130和讀出模塊140。存儲器控制器110,存儲器接口模塊120,和/或?qū)懭肽K130/讀出模塊140當(dāng)存在時,可以與存儲單元150通信地耦合以讀出、寫入或調(diào)整在存儲單元150中存儲的數(shù)據(jù)。存儲器控制器110、存儲器接口模塊120和/或?qū)懭肽K130/讀出模塊140,可以以硬件、軟件或被存儲在計算機(jī)可讀介質(zhì)介質(zhì)中且可被一個或更多處理器執(zhí)行的其他計算機(jī)可讀指令、或者其的組合來實現(xiàn)。
在一些實施例中,存儲單元150可以包括閃速存儲器單元,并且可以使用浮動?xùn)偶壘w管來實現(xiàn)。存儲單元150可以使用單級單元(slc)技術(shù)或多級單元(mlc)技術(shù)來實現(xiàn)。在其中任一種情況下,存儲器接口模塊120和/或?qū)懭肽K130可以被配置以使用一個或多個寫入脈沖將數(shù)據(jù)寫入存儲單元150,其可以將電荷存儲至并因此提高與存儲單元相關(guān)聯(lián)的浮動?xùn)偶壍碾妷骸?/p>
在一些實施例中,存儲單元的閾值電壓的變化作為寫入脈沖個數(shù)的函數(shù)可以被表示為:
δvth=c·n
其中n可以是寫入脈沖的個數(shù),c可以是與存儲單元相關(guān)聯(lián)的常數(shù)。通常來講,即使是在相同存儲器中,不同的存儲單元由于在單元內(nèi)的制造變化和參雜物波動,可以有不同的電壓閾值和充電行為。然而,在有可能將不同存儲單元與不同的c值相關(guān)聯(lián)的情況下,以上等式仍然可以成立。
在一些實施例中,單個寫入脈沖可以在存儲單元處不存儲足以引起存儲單元的閾值電壓超過下一個可用的電壓級別的電荷,并且多個寫入脈沖的可以被使用以確保存儲單元的電壓超過電壓級別。在這樣的實施例中,存儲單元可以使用少于超過下一個電壓級別所需的幾個寫入脈沖被編程。這被稱為使用幾個“部分程序脈沖”的存儲單元的“部分編程”。其結(jié)果是,存儲單元于是可以處在“部分編程”的狀態(tài)。
在其他實施例中,寫入操作可以涉及使用電荷傳送的全部寫入持續(xù)時間,其中特定的電壓被施加而不是多個寫入脈沖被施加。盡管在本公開中部分編程在多個寫入脈沖的上下文中被描述出來,部分編程也可以在等同于一個或更多寫入脈沖的寫入持續(xù)時間中被描述出來。例如,在施加特定數(shù)目的寫入脈沖或者施加具有特定寫入持續(xù)時間的寫入操作時,比特的值可以被從“0”切換到“1”。
在一些實施例中,mlc存儲器可以被配置有四個或更多電荷存儲級別,允許單一mlc比特存儲多比特信息??梢员挥糜谶M(jìn)一步增加數(shù)據(jù)存儲容量的一項技術(shù)是等級調(diào)制。在等級調(diào)制中,不使用在存儲器單元上的絕對電荷級別來存儲數(shù)據(jù),在不同單元上的電荷級別的相對順序或等級可以被用以存儲數(shù)據(jù)。mlc存儲器可以是很好的適合于等級調(diào)制,因為mlc存儲器經(jīng)常配置有在整個存儲器上的多個穩(wěn)定且一致的級別,并且級別可以允許在組內(nèi)的存儲器單元的閾值電壓被相對簡單的分等級。作為比較,slc存儲器可以不具有足夠緊密的參數(shù)控制以使在整個存儲器上啟用多于兩個絕對級別。然而,在一些實施例中,可以使用如上文所述的存儲器單元的部分編程在slc存儲器中實現(xiàn)等級調(diào)制。
圖2闡釋根據(jù)本文描述的至少一些實施例布置的使用等級調(diào)制來恢復(fù)存儲在單級存儲器中的數(shù)據(jù)的示例提取讀出過程。
根據(jù)圖200,提取讀出過程210可以通過將部分程序脈沖施加至一系列比特201-208來提取等級調(diào)制的數(shù)據(jù)而被執(zhí)行。在初始讀出操作220處,存儲器控制器(例如,存儲器控制器110)可以讀出比特201-208的值。如在圖2中描繪的,比特201-205和207-208可以初始具有“0”值,而比特206可以具有“1”值。其結(jié)果是,比特206可以被分等級為第一。在操作230處,存儲器控制器可以通過施加一系列部分程序脈沖來部分地編程比特201-20,然后再次讀出比特201-208。存儲器控制器可以在操作230(以及在后續(xù)的操作)處將部分程序脈沖施加至所有的比特201-208或者僅施加至在前一次操作具有“0”值的比特(例如,針對操作230的比特201-205和207-208)。無論如何,在部分程序脈沖在操作230中被施加之后,比特201-205和207可以保持在“0”處,而比特206和208可以在“1”處。由于比特206之前在操作220處已經(jīng)是“1”并因此具有頂級等級,比特208可以現(xiàn)在被分等級為第二。
在操作232處,存儲器控制器可以再次施加一系列部分程序脈沖并讀出比特201-208以確定哪一個比特203已經(jīng)從“0”變?yōu)椤?”并因此可以被分等級在第三。相似地,在操作234-242存儲器控制器可以繼續(xù)施加一系列部分程序脈沖并讀出比特201-208以確定比特序列205,201,202,204和207已經(jīng)改變了值并因此可以被分別分等級為第四、第五、第六、第七和第八。針對寫入比特201-208中的數(shù)據(jù)的最終比特等級,被表示為有序的矢量(206,208,203,205,201,202,204,207),可以因此由存儲器控制器接著處理以恢復(fù)在分等級調(diào)制中被編碼的數(shù)據(jù)。當(dāng)最后一個要改變值的比特(比特207)被讀出之后,比特201-208可以在操作250被完全擦除來為后續(xù)的數(shù)據(jù)編碼做準(zhǔn)備。
圖3闡釋根據(jù)本文描述的至少一些實施例布置的將等級調(diào)制過的數(shù)據(jù)寫入單級存儲器的示例編程過程。
根據(jù)圖300,將等級調(diào)制的數(shù)據(jù)寫入比特201-208的程序過程310可以由被配置為將部分程序脈沖施加至比特201-208中的一個或更多的存儲器控制器執(zhí)行。在圖300,程序過程310可以被用于寫入在圖2中描述的提取讀出過程210中被恢復(fù)的相同的等級調(diào)制的數(shù)據(jù)。如上文所描述,在提取讀出過程210中恢復(fù)的有序的比特等級矢量是(206,208,203,205,201,202,204,207),其中矢量中的第一比特(比特206)首先達(dá)到“1”值,并且矢量中的最后比特(比特207)最后達(dá)到“1”值。為了準(zhǔn)備比特201-208以按照矢量中所示改變值,比特201-208的每一個可以被可以使用適當(dāng)數(shù)目的部分程序脈沖來對比特201-208中的每一個進(jìn)行編程。例如,假設(shè)比特201-208中每一個具有大致相同的電壓級別(如上文所描述)。在這種情形下,比特206,在矢量中等級為第一,可以用最多的部分程序?qū)懭朊}沖被編程以促使比特206最靠近(如果不超過)級別“1”。比特208,在矢量中等級為第二,因而可以用比比特206更少的寫入脈沖被編程,以此類推經(jīng)過已分等級的比特,直到等級為最后的比特207,其可以用最少的程序脈沖或甚至完全不用程序脈沖被編程。
在圖300中,在特定操作中的用于特定比特的“1”值可以指示在該操作中將程序脈沖施加至該比特,而“0”值可以指示在該操作中沒有程序脈沖被施加至該比特。在操作320,存儲器控制器可以將數(shù)目為“2x”的程序脈沖施加至比特201-208中的所有比特,如針對比特201-208所指示的“1”值?!皒”可以表示特定的遞增數(shù)目的部分程序脈沖,其可以基于比特201-208的程序特性而被確定。例如,比特201-208可以具有描繪不同的可能存儲的比特值的不同的閾值電壓。其結(jié)果是,用于改變一個比特的值的程序脈沖的數(shù)目可以不同于以改變另一個比特的值的程序脈沖的數(shù)目。部分程序脈沖的數(shù)目上的變化可以使用平均值α和標(biāo)準(zhǔn)差δ來表征。反過來,寫入脈沖“x”的增量數(shù)目可以基于α和δ被確定。例如,“x”可以通過將α+3δ除以被用來存儲特定的等級調(diào)制的數(shù)據(jù)的比特數(shù)目而被得到。在一些實施例中,“x”的值對于不同的比特而言可以不同,并且存儲器控制器可以將“x”個寫入脈沖施加至一個比特,“x”個程序脈沖至另一個比特,其中兩個“x”值不同。
在操作330,存儲器控制器可以將“x”個程序脈沖施加至比特201-206和208,但不施加至比特207,如相關(guān)聯(lián)的“0”值所示。如上文提到的,比特207在有序的比特等級矢量中等級在最后,并因此可以用最少的程序脈沖被編程。在操作332,存儲器控制器可以將“x”個程序脈沖施加至比特201-203,205-206以及208。在操作336,存儲器控制器可以將“x”個程序脈沖施加至比特203,205-206以及208。在操作338,存儲器控制器可以將“x”個程序脈沖施加至比特203,206以及208。在操作340,存儲器控制器可以將“x”個程序脈沖施加至比特206和208。在操作342,存儲器控制器可以將“x”個程序脈沖施加至比特206,在其之后對于在等級調(diào)制中被編碼的數(shù)據(jù)而言編程可以被認(rèn)為是完成的。
在一些實施例中,程序過程310可以在根據(jù)程序矢量編程比特201-208的上下文中被描述。程序矢量可以描述將被施加至根據(jù)比特等級布置的201-208中的每一個比特的程序脈沖的數(shù)目。例如,以上提供的有序的比特等級矢量是(206,208,203,205,201,202,204,207)。相對應(yīng)的程序矢量可以是(206,208,203,205,201,202,204,207)=(“9x”,“8x”,“7x”,“6x”,“5x”,“4x”,“3x”,“2x”)。寫入脈沖的第一個數(shù)字(“9x”)可以是將要被施加至比特等級矢量中的第一比特(比特206)的程序脈沖的數(shù)目,程序脈沖的第二個數(shù)目(“8x”)可以是將要被施加至第二比特(比特208)的程序脈沖的數(shù)目,以此類推。程序矢量也可以指示寫入時間。一個在典型slc中的全部程序時間的示例可以是0.5ms,其可以被劃分為250個部分程序脈沖,每個有2μs持續(xù)時間。
圖4闡釋根據(jù)本文描述的至少一些實施例的用來推導(dǎo)將已等級調(diào)制的數(shù)據(jù)寫入slc閃速存儲器的程序矢量的示例讀出-和-證實過程。
根據(jù)圖400,存儲器控制器可以使用讀出-和-證實過程410讀出已寫入比特201-208的數(shù)據(jù)并證實由程序矢量表示的已等級調(diào)制的數(shù)據(jù)正確地被提取。過程410可以用上文描述的相同的程序矢量以便于描述,盡管當(dāng)然在其他實施例中其他程序矢量可以被讀出并證實。
在操作420,存儲器控制器可以讀出比特201-208的值。如圖4描繪的,比特201-205和207-208可以初始具有“0”值,而比特206可以具有“1”值,其正確地對應(yīng)于比特等級矢量。在操作430,存儲器控制器可以因此將“x”個程序脈沖施加至比特201-205和207-208并且隨后可以讀出比特201-208。在正常操作之間,有并且只有一個比特從“0”切換至“1”可以是有用的。根據(jù)程序矢量,在在操作430中施加程序脈沖之后,比特208應(yīng)該從“0”切換至“1”。然而,比特208被顯示為仍然讀出“0”。這一情況可以被稱為“延遲注冊(delayedmatriculation)”錯誤,在其中比特應(yīng)該切換了值但是并沒有切換。為改正這一錯誤,存儲器控制器可以在操作432將額外的程序矢量施加至比特208,確定是否額外的程序矢量引起比特208切換,并且繼續(xù)施加額外的程序脈沖直至比特208從“0”切換至“1”。存儲器控制器也可以將相同數(shù)目的額外程序脈沖施加至比特206以確保比特206的等級超過比特208。
在確定用于改正延遲注冊錯誤的編程脈沖的數(shù)量之后,存儲器控制器可以用針對比特208和比特206的已改正的程序脈沖數(shù)目來更新程序矢量。例如,如果存儲器控制器將額外的“x”個編程脈沖施加至比特208以使位比特208從“0”切換到“1”,則存儲器控制器可以將程序矢量調(diào)整為(206,208,203,205,201,202,204,207)=(“10x”,“9x”,“7x”,“6x”,“5x”,“4x”,“3x”,“2x”),其中“x”已被添加到對應(yīng)于位比特206和208的程序脈沖數(shù)目。
在操作440和450,存儲器控制器可以接連地將“x”個程序脈沖施加至剩余的零值比特并且隨后讀出比特201-208以確定是否在程序矢量中下一個等級比特(比特203和比特205,分別地)從“0”值切換至“1”值。一旦確定比特203和比特205的確接連地從“0”切換值至“1”,存儲器控制器可以再次在操作460將“x”個程序脈沖施加至剩余的零值比特并且隨后讀出比特201-208。根據(jù)程序矢量,下一個要切換值的等級比特應(yīng)該是比特202。然而,比特201和202都在操作460的程序脈沖施加之后切換值,其中只有一個(比特201)比特應(yīng)該已經(jīng)切換了。這一情況可以被稱為“過早注冊(prematurematriculation)”錯誤,其中比特(比特202)在該比特不應(yīng)該切換了值的時候切換值。為改正這一錯誤,存儲器控制器可以減少與比特202相關(guān)聯(lián)的在程序矢量中的寫入脈沖的數(shù)目。為了保持比特等級,存儲器控制器也可以相應(yīng)地減少與相比于比特202更低的等級的比特(即,比特204和207)相關(guān)聯(lián)的程序脈沖的數(shù)目。在這一減少之后,程序矢量可以是(206,208,203,205,201,202,204,207)=(“10x”,“9x”,“7x”,“6x”,“5x”,“3x”,“2x”,“x”)。
在操作460之后,存儲器控制器可以在操作470再次將“x”個程序脈沖施加至剩下的零值比特且隨后讀出比特201-208。由于過早注冊錯誤,應(yīng)該在操作470已經(jīng)切換的比特(比特202)已經(jīng)在操作460切換,所以在操作470不切換可以不觸發(fā)過早注冊錯誤。在下一個操作480,存儲器控制器可以再次將“x”個寫入脈沖施加至剩余的零值比特(比特204和207)并且隨后讀出比特201-208。與操作460一樣,在比特207不應(yīng)該切換值的時候比特207切換了值的情況下,過早注冊錯誤可以出現(xiàn)在如描繪的操作480中。與操作460相似,存儲器控制器可以通過減少與比特207相關(guān)聯(lián)的程序矢量中的寫入脈沖的數(shù)目來改正這個錯誤。因為比特207是等級為最后的比特,沒有其他程序脈沖減少可以被執(zhí)行。因此,調(diào)整的程序矢量可以是(206,208,203,205,201,202,204,207)=(“10x”,“9x”,“7x”,“6x”,“5x”,“3x”,“2x”,“0”),并可以在完全擦除后被用于再編程比特201-208。
上文描述的讀出-和證實過程410可以適用于很多閃速存儲器實現(xiàn),其中比特級部分擦除是不可用的。然而,一些非易失性存儲器類型,比如嵌入的單多晶nvm,可以具有比特級部分程序和擦除能力,允許增強(qiáng)的讀出-和-證實過程。在一些實施例中,這種增強(qiáng)的讀出-和-證實過程可以具有更簡單更快速的錯誤處理和改正。
例如,在讀出-和-證實過程410,在原始程序矢量中的程序脈沖的最少個數(shù)可以確定可以用不同的程序矢量來改正而不用重新開始讀出-和-證實過程的過早注冊錯誤的數(shù)目。具體地,由于原始程序矢量是(206,208,203,205,201,202,204,207)=(“9x”,“8x”,“7x”,“6x”,“5x”,“4x”,“3x”,“2x”),讀出-和-證實過程410可以只處理并改正兩個過早注冊錯誤,促使寫入脈沖(“2x”)的最后數(shù)目至零。任何額外的過早注冊錯誤可以涉及使用可以處理更多過早注冊錯誤的新程序矢量,比如(206,208,203,205,201,202,204,207)=(“10x”,“9x”,“8x”,“7x”,“6x”,“5x”,“4x”,“3x”)。相比較,能夠利用比特級擦除操作的優(yōu)點的讀出-和-證實過程可以不需要這一考慮。
圖5闡釋示例讀出并核實過程以得到程序矢量以將等級調(diào)制的數(shù)據(jù)寫入單級存儲器具有比特級別擦除能力的,根據(jù)至少一些在這里描述的實施排列。
根據(jù)圖500,存儲器控制器可以使用相似于過程410的讀出并核實過程510以讀出寫入在比特201-208的數(shù)據(jù)并核實被具體程序矢量代表的等級調(diào)制的數(shù)據(jù)是被正確寫入的。如過程410,過程510可以使用上文描述的相同程序矢量為了描述方便起見,盡管在其他實施例中其他程序矢量可以被用。
過程510中的操作520,530,532,540和550可以是與過程410中的操作420,430,432,440和450相似,分別地。例如,存儲器控制器可以初始如在操作420一樣在操作520讀出數(shù)據(jù)并可以如在操作430,440和450一樣在操作530,540和550中將“x”個程序脈沖施加至零值比特。存儲器控制器可以改正延遲的注冊錯誤如在操作430一樣在操作530碰到的經(jīng)由額外程序脈沖的應(yīng)用以及接下來的在操作532中的程序矢量的改正如在相對應(yīng)的操作432中描述的。
在操作560,存儲器控制器可以探測與比特202相關(guān)聯(lián)的過早注冊錯誤,如在相對應(yīng)的操作460。然而,除減少與比特202和等級為更低的比特(比特204和207)相關(guān)聯(lián)的程序矢量中的程序脈沖的個數(shù)以外,存儲器控制器也可以在操作562將一個或更多擦除脈沖施加至比特202,204和207在操作562中。在一些實施例中,擦除脈沖具有與程序脈沖相反的功能,并從存儲器單元中移除電荷,從而減少存儲器單元的閾值電壓。存儲器控制器可以將擦除脈沖施加至比特202,204和207直到比特202切換回至“0”值。接著,在操作570中存儲器控制器可以再次將“x”程序脈沖施加至剩余的零值比特并且接著讀出比特201-208,如在操作470中。不同于操作470,在操作570中比特202可以能夠因為施加在操作562的擦除脈沖切換。其結(jié)果是,存儲器控制器可以確定是否比特202事實上的確在操作570切換。
在下一個操作580,存儲器控制器可以再次將“x”程序脈沖施加至剩余的零值比特(比特204和207),與操作480相似。如操作560,過早的注冊錯誤可以在操作580中出現(xiàn)如用比特207描畫的當(dāng)比特207不應(yīng)該已經(jīng)切換了值的時候切換值。存儲器控制器可以在操作582改正這一錯誤通過減少與比特207相關(guān)聯(lián)的程序矢量中的程序脈沖的個數(shù)以及將足夠多的擦除脈沖施加至比特207直到比特207切換回至“0”值,相似于操作562。
圖6是闡釋在單級存儲器上使用部分編程來編程和來恢復(fù)等級調(diào)制的數(shù)據(jù)的示例過程600的流程圖。過程600可以包括一個或更多操作,功能,或行動如方塊602-614中的一個或更多所闡釋的。盡管過程600中的一些方塊(以及在這里包括的任何其他過程/方法)被以相繼次序闡釋,這些方塊也可以被以平行,和/或以與那些在這里描述不同的次序被執(zhí)行。而且,各種方塊可以被組合成更少方塊,被分為附加的方塊,和/或基于特定實現(xiàn)被消除。附加的方塊代表其他操作、功能或行動可以被提供。
根據(jù)過程600,等級調(diào)制的數(shù)據(jù)編程和恢復(fù)可以在方塊602開始(“執(zhí)行完全的頁/方塊的擦除”),其中存儲器控制器(例如,存儲器控制器110)可以完全地擦除存儲頁、方塊或部分以為寫入數(shù)據(jù)作準(zhǔn)備。在方塊604(“測量脈沖以將在頁/方塊中的比特切換為‘1’”),其可以跟隨方塊602,存儲器控制器可以測量程序脈沖的個數(shù)和/或程序時間時值以將在存儲頁或方塊中的比特從“0”值切換至“1”。在一些實施例中,存儲器控制器和/或耦接在存儲器控制器的處理方塊可以進(jìn)一步得到與存儲頁或方塊相關(guān)聯(lián)的一個或更多部分程序特征,比如程序脈沖的個數(shù)的平均值α,標(biāo)準(zhǔn)差δ,和/或如以上所描述的增加的程序脈沖個數(shù)“x”。在方塊606(“從將要被寫入數(shù)據(jù)得到比特等級”),其可以跟隨方塊604,存儲器控制器和/或處理塊可以使用等級調(diào)制技術(shù)從將要被被寫入至存儲的數(shù)據(jù)確定比特等級。在方塊608(“推導(dǎo)程序矢量用于頁/方塊使用比特等級來施加程序脈沖”),其可以遵循方塊606,存儲器控制器或處理方塊可以基于確定好的比特等級和比如比特級別寫入和/或擦除脈沖的施加的可用的存儲操作推導(dǎo)如以上描述的程序矢量。在一些實施例中,程序矢量可以初始被得到然后被使用如以上在圖4-5中描述的編程并核實過程核實。在方塊610(“執(zhí)行完整的頁/方塊的擦除并用得到的程序矢量來編程頁/方塊”),其可以遵循方塊608,存儲器控制器可以再次完整地擦除存儲頁或方塊并用在方塊608得到的程序矢量來將等級調(diào)制的數(shù)據(jù)編程至存儲頁或方塊。
在方塊612(“執(zhí)行多讀出操作來恢復(fù)等級通過順序地將寫入脈沖施加至比特并讀出結(jié)果值”),其可以遵循方塊610,與卸載存儲頁/方塊上的數(shù)據(jù)相關(guān)聯(lián)的比特等級可以被使用多讀出操作恢復(fù)。這些讀出操作可以由存儲器控制器執(zhí)行,并可以牽涉程序脈沖的順序的施加至一個或更多比特在存儲器中并且讀出結(jié)果值,如以上在圖2中所描述的。在方塊614(“從等級恢復(fù)數(shù)據(jù)”),其可以遵循方塊612,存儲器控制器和/或處理方塊可以然后從恢復(fù)的比特等級恢復(fù)等級調(diào)制的數(shù)據(jù)。
其他修飾可以被做出到以上描述的過程。在一些實施例中,程序矢量可以被每讀出操作用更少的程序脈沖而確定。這一在每操作程序脈沖的個數(shù)上的減少可以是相等于在存儲器上執(zhí)行過采樣,并可以導(dǎo)致更好的部分程序分辨率和減少的過早注冊率,因為有更少程序脈沖的操作可以更小可能引起多比特切換。在程序脈沖個數(shù)上的減少可以是總體的(global)(即,例如,在整個存儲之上實現(xiàn)的),本地的(即,例如,在存儲的一部分之上實現(xiàn)的),和/或靈活的(例如,基于將要被寫入數(shù)據(jù)和存儲器條件動態(tài)變化的)。
在進(jìn)一步的實施例中,以上的等級調(diào)制的數(shù)據(jù)程序過程可以當(dāng)在另個實體之間傳輸數(shù)據(jù)時被用于提供安全。例如,第一實體可以想要將等級調(diào)制的數(shù)據(jù)傳送至第二實體。第一實體可以得到與等級調(diào)制的數(shù)據(jù)相對應(yīng)的程序矢量并將程序矢量分開為兩個(或更多)部分。第一實體可以然后將第一部分傳送至第二實體通過一些手段,使用程序矢量的第二部分編程存儲器,并將編程后的存儲器傳送至第二實體。第二實體可以然后繼續(xù)使用接收到的第一部分編程存儲器并接著從完全編程的存儲器中恢復(fù)等級調(diào)制的數(shù)據(jù)。為了成功地攔截數(shù)據(jù),攻擊者可能必須要獲取程序矢量的第一部分和編程后的存儲器。
以進(jìn)一步提高安全性和數(shù)據(jù)可靠性,多比特代表可以被使用用于將要被寫入到存儲器的等級調(diào)制的數(shù)據(jù)中的相應(yīng)比特。例如,兩個存儲器比特可以被使用來代表一個單數(shù)據(jù)比特,存儲器比特值“01”和“10”分別對應(yīng)數(shù)據(jù)比特值“0”和“1”。
圖7闡釋通用目的的計算設(shè)備,其可以被用來提供數(shù)據(jù)存儲通過使用等級調(diào)制,根據(jù)至少一些在這里描述的實施排列。
例如,計算設(shè)備700可以被用來在單級存儲器上使用在這里描述的部分編程編程和恢復(fù)數(shù)據(jù)。在示例基本配置702,計算設(shè)備700可以包括一個或更多處理器704和系統(tǒng)存儲器706。存儲器總線708可以被用來在處理器704和系統(tǒng)存儲器706之間通信。基本配置702通過內(nèi)虛線之內(nèi)的那些組件在圖7中被闡釋。
取決于期望的配置,處理器704可以是任何形式的,包括但不局限于微處理器(μp),微控制器(μc),數(shù)字信號處理(dsp),或在其中的任何組合。處理器704可以包括更多一級的緩存,比如級別緩存存儲器712,處理器核714,暫存器716。示例處理器核714可以包括算術(shù)邏輯單元(alu),浮動點單元(fpu),數(shù)字信號處理核(dsp核),或者任何在其中的組合。示例存儲器控制器718,相似于存儲器控制器110,也可以被連同處理器704使用,或者在一些實現(xiàn)中存儲器控制器718可以是處理器704的內(nèi)部的部分。另外,圖1中的存儲器細(xì)胞150可以在緩存存儲器712,系統(tǒng)存儲器706,和/或存儲設(shè)備732的一個或更多中被實現(xiàn)。
取決于期望的配置,系統(tǒng)存儲器706可以是任何類型包括但不局限于易失存儲器(比如ram),非易失存儲器(比如rom,閃速存儲器,等等)或在其中的任何組合。系統(tǒng)存儲器706可以包括操作系統(tǒng)720,等級調(diào)制模塊722,和程序數(shù)據(jù)724。等級調(diào)制模塊722可以包括寫入模塊726和讀出模塊728來如在這里描述的使用等級調(diào)制實現(xiàn)數(shù)據(jù)存儲。寫入模塊726和讀出模塊728可以是與圖1中寫入模塊130和讀出模塊140分別相似的,除了圖7中示例實施例中的,寫入模塊726和讀出模塊728在存儲于系統(tǒng)存儲器706中的等級調(diào)制模塊722中被實現(xiàn),而不是作為在存儲器控制器718中的存儲器接口模塊(或其他模塊)中的子組件。程序數(shù)據(jù)724可以包括,在其他數(shù)據(jù)中,程序矢量數(shù)據(jù)730或類似的,如在這里所描述的。
計算設(shè)備700可以具有附加的特征或功能,以及附加的接口以促進(jìn)基本配置702和任何期望的設(shè)備和接口之間的通信。例如,總線/接口控制器730可以被用以促進(jìn)基本配置702以及一個或更多數(shù)據(jù)存儲設(shè)備732之間經(jīng)由存儲器接口總線734的通信。數(shù)據(jù)存儲設(shè)備732可以是一個或更多可移動的存儲設(shè)備736,一個或更多不可移動的存儲設(shè)備738,或在其中的組合??梢苿拥拇鎯筒豢梢苿拥拇鎯υO(shè)備的示例包括比如軟盤驅(qū)動和硬盤驅(qū)動(hdd)的磁盤設(shè)備,比如光盤驅(qū)動比如高密度磁盤(cd)驅(qū)動或數(shù)字通用光盤(dvd)驅(qū)動,固態(tài)硬盤(ssd),以及磁帶驅(qū)動列舉幾個。示例計算機(jī)存儲介質(zhì)可以包括易失性的和非易失性的,可移動的和不可移動的介質(zhì)以任何方法或技術(shù)實現(xiàn)的用于信息的存儲,比如計算機(jī)可讀的指令,數(shù)據(jù)結(jié)構(gòu),程序模塊或其他數(shù)據(jù)。
系統(tǒng)存儲器706,可移動的存儲設(shè)備736和不可移動的存儲設(shè)備738是計算機(jī)存儲介質(zhì)的示例。計算機(jī)存儲介質(zhì)包括,但是不局限于,ram、rom、eeprom、閃速存儲器或其他存儲器技術(shù)、cd-rom、數(shù)字通用光盤(dvd)、固態(tài)硬盤、或其他光學(xué)存儲、磁帶盒、磁帶、磁盤存儲或其他磁存儲設(shè)備、或任何其他介質(zhì)其可以被用于存儲期望的信息和其可以被計算設(shè)備700進(jìn)入。任何這樣的計算機(jī)存儲介質(zhì)可以是計算設(shè)備700的一部分。
計算設(shè)備700可以還包括接口總線740以促進(jìn)從各種接口設(shè)備(例如,一個或更多輸出設(shè)備742,一個或更多周邊接口744,以及一個或更多通信設(shè)備766)至基本配置702經(jīng)由總線/接口控制器730的通信。示例輸出設(shè)備742中的一些包括圖像處理單元748和音頻處理單元750,其可以被配置來經(jīng)由一個或更多a/v端口752通信至各種外部設(shè)備比如顯示器或揚聲器。一個或更多示例周邊接口744可以包括一連串的接口控制器754或平行接口控制器756,其可以被配置來與外部設(shè)備如輸入設(shè)備(例如,鍵盤、鼠標(biāo)、筆、聲音輸入設(shè)備、觸摸輸入設(shè)備、等等)或其他周邊設(shè)備(例如,打印機(jī)、掃描機(jī)、等等)經(jīng)由一個或更多i/o端口758通信。示例通信設(shè)備766包括網(wǎng)絡(luò)控制器760,其可以是被排列以促進(jìn)與一個或更多其他計算設(shè)備762在網(wǎng)絡(luò)通信鏈路之上經(jīng)由一個或更多通信端口的通信。一個或更多其他計算設(shè)備762可以包括數(shù)據(jù)中心的服務(wù)器,顧客設(shè)備,和可比較的設(shè)備。
網(wǎng)絡(luò)通信鏈路可以是通信介質(zhì)的一個示例。通信介質(zhì)可以被計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、或其他在調(diào)制后的數(shù)據(jù)信號,比如載波或其他傳輸機(jī)制呈現(xiàn),并可以包括任何信息傳送介質(zhì)?!罢{(diào)制后的數(shù)據(jù)信號”可以是具有其特征的一個或更多被設(shè)定或改變以這種樣式為了將信息編碼至信號。通過實例的方式,并不是局限,通信介質(zhì)可以包括有線介質(zhì)或直接接線的連接,以及無線介質(zhì)比如聲音、無線電(rf)、微波、紅外(ir)以及其他無線介質(zhì)。如在這里所用的詞計算機(jī)可讀的介質(zhì)可以包括存儲介質(zhì)和通信介質(zhì)。
計算設(shè)備700可以被實施為通用目的的或?qū)S玫姆?wù)器的一部分,主框,或相似的計算機(jī)包括任何以上功能的。計算設(shè)備700可以也被實施為個人計算機(jī)包括筆記本電腦和非筆記本電腦配置。
圖8是闡釋示例方法的流程圖以提供數(shù)據(jù)存儲使用等級調(diào)制可以被比如圖7中計算設(shè)備的計算設(shè)備,根據(jù)至少一些在這里描述的實施排列。
示例方法可以包括一個或更多操作、功能或行動如由方塊822、824、826和/或828中的一個或更多闡釋的,并且可以在一些實施例中被比如圖8中的計算設(shè)備800的計算設(shè)備執(zhí)行。在方塊822-828中描述的操作也可以作為對儲存在比如計算設(shè)備810的非短暫性的計算機(jī)可讀的介質(zhì)820的計算機(jī)可讀的介質(zhì)的計算機(jī)可執(zhí)行的指令的執(zhí)行(通過一個或更多處理器)。在一些實施例中,各種操作可以被實現(xiàn)/提供使用替換地方法或附加在計算機(jī)可執(zhí)行的指令的執(zhí)行之上。
示例過程以提供數(shù)據(jù)存儲使用等級調(diào)制可以從方塊822開始,“測量存儲頁/方塊的部分程序特征”,其中存儲器控制器(例如,存儲器控制器110)可以測量存儲器頁或方塊的部分程序特征,在其上等級調(diào)制的數(shù)據(jù)待寫入,如以上所描述的。
方塊822可以是被方塊824跟隨,“確定程序矢量用于存儲器頁/方塊使用部分程序特征和相對應(yīng)于目標(biāo)數(shù)據(jù)的比特等級”,其中存儲器控制器或處理方塊可以確定程序矢量代表等級調(diào)制的數(shù)據(jù)基于比特等級與數(shù)據(jù)相關(guān)聯(lián)的以及與存儲頁/方塊相關(guān)聯(lián)的部分程序特征。在一些實施例中,存儲器控制器可以如在以上圖4-5中所描述的讀出并核實過程,并處理方塊可以進(jìn)一步基于讀出并核實的結(jié)果,如以上所描述。
方塊824可以被方塊826跟隨,“寫入存儲器根據(jù)確定的程序矢量”,其中存儲器控制器可以將數(shù)據(jù)寫入到存儲器通過根據(jù)之前確定的程序矢量施加程序脈沖,如以上所描述。
方塊826可以被方塊828跟隨,“在比特上執(zhí)行一連串部分程序基于部分程序特征以恢復(fù)等級以及推導(dǎo)目標(biāo)數(shù)據(jù)”,其中存儲器控制器可以恢復(fù)等級調(diào)制的數(shù)據(jù)寫入存儲器頁或方塊通過屢行一連串部分程序在一個或更多比特上在存儲器頁或方塊里。例如,存儲器控制器可以接連地施加程序脈沖至一個或更多比特在存儲器中并讀出結(jié)果的比特值以恢復(fù)比特等級,如圖2中所描述。一旦比特等級被恢復(fù),存儲器控制器或處理方塊可以從被恢復(fù)的比特等級推導(dǎo)目標(biāo)數(shù)據(jù)。
圖9闡釋示例計算機(jī)程序產(chǎn)品的方塊圖,根據(jù)至少在這里描述的一些實施排列。
在一些例子中,如圖9所示,計算機(jī)程序產(chǎn)品900可以包括信號承載介質(zhì)902還可以包括一個或更多機(jī)器可讀的指令904,作為對執(zhí)行的恢復(fù),例如,處理器可以提供在這里描述的功能和特征。這樣,例如,參考圖7中處理器704,等級調(diào)制模塊722可以承擔(dān)一個或更多任務(wù)在圖9中所顯示的作為對指令904的反應(yīng)轉(zhuǎn)達(dá)至處理器704通過介質(zhì)902來執(zhí)行與數(shù)據(jù)存儲相關(guān)聯(lián)的行動使用等級調(diào)制在這里描述的。那些指令中的一些可以包括,例如,來測量存儲器頁/方塊的部分程序特征的指令,確定程序矢量用于存儲器頁/方塊使用部分程序特征以及對應(yīng)于目標(biāo)數(shù)據(jù)的比特等級,根據(jù)確定的程序矢量編程存儲器和/或基于部分程序特征執(zhí)行一連串部分編程在一個或更多比特在存儲器頁或方塊。例如,存儲器控制器可以接連地施加程序脈沖至存儲器中的一個或更多比特并讀出結(jié)果的比特值以恢復(fù)比特等級,如以上在圖2描述的。一旦比特等級被恢復(fù),存儲器控制器或處理方塊可以從恢復(fù)后的比特等級推導(dǎo)目標(biāo)數(shù)據(jù)。
圖9闡釋示例計算機(jī)程序產(chǎn)品的方塊圖,根據(jù)至少一些在這里描述的實施排列。
在一些示例中,如在圖9中所示,計算機(jī)程序產(chǎn)品900可以包括信號承載介質(zhì)902其可以還包括一個或更多機(jī)器可讀的指令904其,作為對執(zhí)行的反應(yīng),被,例如,處理器可以提供在這里描述的功能和特征。因此,例如,參考處理器704在圖7中,等級調(diào)制模塊722可以承擔(dān)一個或更多任務(wù)顯示在圖9中作為對通過介質(zhì)902轉(zhuǎn)達(dá)至處理器704的指令904的反應(yīng)以使用如在這里描述的等級調(diào)制執(zhí)行與數(shù)據(jù)存儲相關(guān)聯(lián)的行動。那些指令中的一些可以包括,例如,用于測量存儲器頁/方塊的部分程序特征的指令,確定用于存儲器頁/方塊使用部分程序特征以及比特等級對應(yīng)于目標(biāo)數(shù)據(jù)的程序矢量,根據(jù)確定的程序矢量編程存儲器和/或執(zhí)行基于部分程序特征在比特上一連串的部分程序以恢復(fù)等級和推導(dǎo)目標(biāo)數(shù)據(jù),根據(jù)在這里描述的一些實施。
在一些實施例中,描畫在圖9中的信號承載介質(zhì)902可以計算機(jī)可讀的介質(zhì)906,比如,但不局限于,硬盤驅(qū)動、固態(tài)驅(qū)動、激光唱片(cd)、數(shù)字通用光盤(dvd)、數(shù)字磁帶、存儲器、等等。在一些實現(xiàn)中,信號承載介質(zhì)902可以包含通信介質(zhì)910,比如,但不局限于,數(shù)字的和/或模擬的通信介質(zhì)(例如,光纖線纜、波導(dǎo)、有線通信鏈路、無線通信鏈路、等等)。因此,例如,程序產(chǎn)品900可以被轉(zhuǎn)達(dá)至處理器704的一個或更多模塊通過rf信號承載介質(zhì),其中信號承載介質(zhì)902被由無線通信介質(zhì)910(例如,無線通信介質(zhì)符合ieee802.11標(biāo)準(zhǔn))轉(zhuǎn)達(dá)。
根據(jù)一些示例,通過使用如描述的等級調(diào)制將數(shù)據(jù)編碼至單級閃速存儲器的方法。示例方法可以包括基于待編碼數(shù)據(jù)確定在比特組內(nèi)的比特等級;確定多個部分程序參數(shù)用于多個閃速存儲器比特,其中每個部分程序參數(shù)與多個比特中的每一個比特相關(guān)聯(lián);基于確定的比特等級以及確定的多個部分程序參數(shù)確定程序矢量;并/或基于確定的程序矢量使用部分編程將數(shù)據(jù)編碼至多個比特。
根據(jù)其他示例,確定多個部分程序參數(shù)可以包括選擇部分程序參數(shù)基于一個或更多幾個程序矢量以從第一值到第二值修飾多個比特中的相應(yīng)比特以及程序時間以從第一值到第二值修飾多個比特中的相應(yīng)比特。程序矢量可以指示至少一個程序參數(shù)包括至少幾個程序脈沖中的一個以及程序時間,并且編碼數(shù)據(jù)可以包括部分編程多個比特通過根據(jù)至少一個程序矢量編程至至少多個比特中的一個比特。
根據(jù)進(jìn)一步的示例,確定程序矢量還可以包括減少至少一個程序參數(shù)以執(zhí)行過采樣。方法還可以包括執(zhí)行編程并核實序列在編碼的數(shù)據(jù)上;調(diào)整確定的程序矢量基于編程并核實序列;以及基于調(diào)整的程序矢量使用部分編程將數(shù)據(jù)再編碼至多個比特。執(zhí)行編程并核實序列可以包括在編碼的數(shù)據(jù)上執(zhí)行至少一個讀出操作至多個比特并確定,基于至少一個讀出操作,是否與至少多個比特中的一個比特相關(guān)聯(lián)的延遲的注冊和過早的注冊中的至少一個已出現(xiàn)。調(diào)整確定的程序矢量可以包括調(diào)整與至少一個比特相關(guān)聯(lián)的在確定的程序矢量中的程序參數(shù),作為對至少延遲的注冊和過早的注冊中的一個已經(jīng)出現(xiàn)的確定的反應(yīng)。
根據(jù)仍其他示例,調(diào)整確定的程序矢量可以還包括調(diào)整另一個與至少多個比特中的一個其他比特相關(guān)聯(lián)的程序矢量中的其他程序參數(shù)。調(diào)整程序參數(shù)可以包括一個或更多:增加幾個程序脈沖至至少一個比特;增加程序時間至至少一個比特;減少幾個程序脈沖至至少一個比特;減少程序時間至至少一個比特;并將幾個擦除脈沖施加至至少一個比特。確定程序矢量可以包括基于比特等級和將完整的程序矢量分開至第一程序矢量部分和第二程序矢量部分的多個部分程序參數(shù)確定一個完整的程序矢量,并基于第一程序矢量部分編碼數(shù)據(jù)。
根據(jù)其他示例,一套裝置可以被配置用來通過使用等級調(diào)制在單級閃速存儲器上寫入數(shù)據(jù)。一套示例裝置可以包括處理塊被配置用來確定基于待寫入數(shù)據(jù)比特等級;確定用于閃速存儲器的多個比特的多個完整的程序時值,其中每個完整的程序時值指示相應(yīng)的程序時間時值以從第一值到第二值修飾多個比特中的相應(yīng)比特;并且基于確定的比特等級和確定的多個完整的程序時值確定程序矢量,程序矢量指示著至少一個部分程序時值。該套示例裝置還可以包括耦接在處理模塊上的存儲器接口模塊。存儲器接口模塊可以被配置用來從處理塊接收確定的程序矢量;并根據(jù)至少一個由接收到的程序矢量指示的部分程序時值通過多比特的部分編程將數(shù)據(jù)寫入多個比特。
根據(jù)一些示例,每個完整的程序時值可以是基于幾個對應(yīng)于相應(yīng)程序時間時值的程序矢量;并至少一個部分程序時值可以包括至少一個:程序時間以至少部分地從第一值到第二值修飾至少多個比特中的一個比特;以及對應(yīng)于程序時間的幾個程序脈沖。處理塊還可以被配置用來確定程序矢量通過靈活地減少至少一個程序參數(shù)來執(zhí)行過采樣。
根據(jù)仍其他示例,處理塊可以被進(jìn)一步配置用來控制在寫入數(shù)據(jù)上的編程并核實的序列的表現(xiàn)并基于編程并核實序列調(diào)整確定的程序矢量。存儲器程序模塊可以被進(jìn)一步配置用來接收調(diào)整后的程序矢量并將數(shù)據(jù)再寫入多個比特通過使用部分程序操作基于調(diào)整后的程序矢量。處理模塊還可以被配置用來控制編程并核實序列的表現(xiàn)通過控制至少一個在寫入至多個比特的數(shù)據(jù)上的讀出操作以及確定,基于至少一個讀出操作,是否與多個比特中的至少一個比特相關(guān)聯(lián)的延遲的注冊和過早的注冊中的至少一個已出現(xiàn)。調(diào)整確定的程序矢量可以包括調(diào)整程序參數(shù)在確定的程序矢量與至少一個比特相關(guān)聯(lián)的作為對至少延遲的注冊和過早的注冊中的一個的確定的反應(yīng)。處理塊可以被進(jìn)一步配置用于調(diào)整確定的程序矢量,通過調(diào)整與至少一個比特相關(guān)聯(lián)的在確定的程序矢量中的部分程序時值作為對延遲的注冊和過早的注冊中的至少一個已出現(xiàn)的反應(yīng)以及調(diào)整與至少在多比特中的另一個比特相關(guān)聯(lián)的另一個部分程序時值中的至少一個。
根據(jù)進(jìn)一步的示例,通過使用等級調(diào)制來提取編碼在單級閃速存儲器上的數(shù)據(jù)的方法可以被描述。示例方法可以包括在閃速存儲器的多個比特上執(zhí)行多個讀出操作,其中每個讀出操作包括基于至少一個部分編程參數(shù)部分編程多個比特;并讀出部分編程的多個比特的狀態(tài)。示例方法還可以包括基于至少與多個讀出操作相關(guān)聯(lián)的相應(yīng)的讀出狀態(tài)確定與多個比特相關(guān)聯(lián)的等級并基于確定的等級得到最終數(shù)據(jù)。
根據(jù)仍進(jìn)一步示例,該方法還可包括在執(zhí)行多個讀出操作之前讀出多個比特的初始狀態(tài),并且其中確定等級包括基于初始狀態(tài)和與多個讀出操作相關(guān)聯(lián)的相應(yīng)的讀出狀態(tài)確定等級。確定等級可以包括基于與多個讀出操作相關(guān)聯(lián)的相應(yīng)的讀出狀態(tài)確定等級以及在比特等級中的至少一個比特的多比特代表。
根據(jù)仍其他示例,一套裝備可以被配置用來通過等級調(diào)制提取編碼在單級閃速存儲器中的數(shù)據(jù)。該套裝置可以包括耦接在多個閃速存儲器比特的存儲器接口模塊和耦接在存儲器接口模塊的處理塊。存儲器接口模塊可以讀出多個閃速存儲器比特的初始狀態(tài)并通過執(zhí)行基于至少一個部分程序時值的多個比特的部分編程在多個比特上執(zhí)行多個讀出操作,其中至少一個部分程序時值指示程序時間以部分從第一值到第二值修飾至少多個比特中的一個比特,以及執(zhí)行部分編程的多個比特的狀態(tài)的讀出。處理塊可以接受,從存儲器接口模塊,與多個讀出操作相關(guān)聯(lián)的相應(yīng)的讀出狀態(tài);基于相應(yīng)的讀出狀態(tài)確定與多個比特相關(guān)聯(lián)的等級;并基于等級得到最終數(shù)據(jù)。
根據(jù)一些示例,至少一個部分程序時值可以是基于對應(yīng)于程序時間的幾個程序脈沖。存儲器接口模塊可以進(jìn)一步執(zhí)行多個讀出操作通過減少至少一個部分程序時值執(zhí)行過采樣。
各種實施例可以在硬件、軟件或硬件和軟件的組合(或存儲在非暫態(tài)計算機(jī)可讀存儲介質(zhì)并且由一個或更多處理器可執(zhí)行的其他計算機(jī)可讀指令)中被實現(xiàn);硬件或軟件的使用通常是(但不總是,因此在特定情況下硬件與軟件之間的選擇可以變得重要)表示成本對效率的權(quán)衡的設(shè)計選擇。有各種載體通過其可以影響本文描述的過程和/或系統(tǒng)和/或其他技術(shù)(例如,硬件、軟件和/或固件),并且優(yōu)選的載體將隨著其中過程和/或系統(tǒng)和/或其他技術(shù)被部署的環(huán)境而變化。例如,如果實現(xiàn)者確定速度和準(zhǔn)確度是最重要的,實現(xiàn)者可以選擇主要為硬件和/或固件載體,如果實靈活性是最重要的,實現(xiàn)者可以選擇主要為軟件實現(xiàn);或者,仍再次替代地,實現(xiàn)者可以選擇硬件、軟件和/或固件的某一種組合。
上述的詳細(xì)描述已經(jīng)通過使用框圖、流程圖、和/或示例闡明設(shè)備和/或過程的各種實施例。在這樣的框圖、流程圖和/或示例包含一個或更多功能和/或操作的情況下,這樣的框圖、流程圖或示例內(nèi)的每項功能和/或操作可以通過各種各樣的硬件、軟件、固件或幾乎其的任何組合來相應(yīng)地和/或共同地實現(xiàn)。在一個實施例中,本文所描述的主題的多個部分可以通過專用集成電路(asic)、現(xiàn)場可編程門陣列(fpga)、數(shù)字信號處理(dsp)或其他集成形式來實現(xiàn)。然而,在本文公開的實施例的一些方面可以整體地或部分地在集成電路中等效地實現(xiàn)為:在一個或多個計算機(jī)上運行的一個或多個計算機(jī)程序(例如,實現(xiàn)為在一個或多個計算機(jī)系統(tǒng)上運行的一個或多個程序)、在一個或多個處理器上運行的一個或多個程序(例如,實現(xiàn)為在一個或多個微處理器上運行的一個或多個程序)、固件、或幾乎其的任何組合,并且根據(jù)本公開內(nèi)容設(shè)計電路和/或編寫用于軟件和/或固件的代碼是可能的。
本公開不受在本申請中所描述的特定實施例限制,這些特定實施例意在為各個方案的示例。不偏離其精神和范圍的情況下,可以做出很多改進(jìn)方案和變型例。從前面的描述,在本公開的范圍內(nèi)的功能上相等的方法和裝置,除在這里列舉的那些之外,是可能的。這些改進(jìn)方案和變型例旨在落在隨附權(quán)利要求書的范圍內(nèi)。連同這些權(quán)利要求書所給予權(quán)利的等同方案的整個范圍內(nèi),本公開僅受隨附權(quán)利要求書限制。而且,本文所使用的術(shù)語僅是為了描述特定實施例的目的,而不意在限制。
另外,在這里描述的主題的機(jī)構(gòu)是可以被作為程序產(chǎn)品以各種形式分配,并且在這里描述的主題的闡釋性的實施例適用不管實際被用來執(zhí)行分配的信號承載介質(zhì)的特定種類。信號承載介質(zhì)的示例包括,但不局限于,以下:可記錄的種類介質(zhì)比如軟盤、硬盤、高密度磁盤(cd)、數(shù)字通用光盤(dvd)、數(shù)字磁帶、計算機(jī)存儲器、固態(tài)硬盤、等等;以及傳輸類型介質(zhì)比如數(shù)字和/或模擬通信介質(zhì)(例如,光纖線纜、波導(dǎo)、有線通信鏈路、無線通信鏈路、等等)。
本領(lǐng)域技術(shù)人員將意識到以在這里陳述的方式描述裝置和/或過程是現(xiàn)有技術(shù)內(nèi)普通的,并且其后使用工程做法來集成這樣描述的裝置和/或過程至數(shù)據(jù)處理系統(tǒng)。即,至少在這里描述的裝置和/或過程的一部分可以被集成至數(shù)據(jù)處理系統(tǒng)經(jīng)由合理量的實驗。數(shù)據(jù)處理系統(tǒng)可以包括一個或更多系統(tǒng)單元外殼,視頻顯示裝置,存儲器比如易失和非易失存儲器,處理器比如微處理器和數(shù)字信號處理器,計算實體比如操作系統(tǒng)、驅(qū)動、圖像用戶界面、以及應(yīng)用程序,一個或更多互動設(shè)備,比如觸摸板或顯示屏,和/或控制系統(tǒng)包括反饋環(huán)以及控制電機(jī)。(例如,反饋用于感應(yīng)起重機(jī)臺系統(tǒng)的位置和/或速度;控制電機(jī)用來移動和/或調(diào)整組件和/或數(shù)量)
數(shù)據(jù)處理系統(tǒng)可以被使用任何合適的商業(yè)上可用的組件實現(xiàn),比如那些在數(shù)據(jù)計算/通信和/或網(wǎng)絡(luò)計算/通信系統(tǒng)中找到的。在這里描述的主題有時闡釋包含于,或連接在,不同的其他組件的不同組件。這些所描繪的體系結(jié)構(gòu)僅是示例性的,并且實際上可以實施實現(xiàn)相同功能的許多其它體系結(jié)構(gòu)。在概念意義上,實現(xiàn)相同功能的任何部件的布置有效地“關(guān)聯(lián)”,使得實現(xiàn)期望功能。因此,在此處組合以實現(xiàn)特定功能的任何兩個部件可視為彼此“關(guān)聯(lián)”,使得實現(xiàn)期望功能,無論體系結(jié)構(gòu)或中間部件如何。同樣,任意兩個如此關(guān)聯(lián)的部件還可視為彼此“可操作地連接”、或“可操作地耦合”以實現(xiàn)期望的功能,并且能夠如此關(guān)聯(lián)的任意兩個部件還可視為彼此“能夠可操作地耦合”以實現(xiàn)期望功能。具體的可操作地耦合的示例包括但不僅限于物理可接的和/或物理互動組件和/或無線可互動和/或無線互動組件和/或邏輯互動和/或邏輯可互動組件。
關(guān)于本文中基本上任何復(fù)數(shù)和/或單數(shù)術(shù)語的使用,本領(lǐng)域技術(shù)人員能夠根據(jù)上下文和/或應(yīng)用適當(dāng)?shù)貜膹?fù)數(shù)變換成單數(shù)和/或從單數(shù)變換成復(fù)數(shù)。為了清晰的目的,本文中明確地闡明了各單數(shù)/復(fù)數(shù)的置換。
本領(lǐng)域技術(shù)人員將理解,一般地,本文所使用的術(shù)語,尤其是隨附權(quán)利要求(例如,隨附權(quán)利要求的主體)中所使用的術(shù)語,通常意在為“開放式”術(shù)語(例如,術(shù)語“包括”應(yīng)當(dāng)解釋為“包括但不限于”,術(shù)語“具有”應(yīng)解釋為“至少具有”,術(shù)語“包括”應(yīng)解釋為“包括但不限于”,等等)。本領(lǐng)域技術(shù)人員還理解,如果意圖表達(dá)引導(dǎo)性權(quán)利要求記述項的具體數(shù)量,該意圖將明確地記述在權(quán)利要求中,并且在不存在這種記述的情況下,不存在這樣的意圖。例如,為輔助理解,下面的隨附權(quán)利要求可能包含了引導(dǎo)性短語“至少一個”和“一個或多個”的使用以引導(dǎo)權(quán)利要求記述項。然而,這種短語的使用不應(yīng)解釋為暗示不定冠詞“一”或“一個”引導(dǎo)權(quán)利要求記述項將包含該所引導(dǎo)的權(quán)利要求記述項的任何特定權(quán)利要求局限于僅包含一個該記述項的實施例,即使當(dāng)同一權(quán)利要求包括了引導(dǎo)性短語“一個或多個”或“至少一個”以及諸如不定冠詞“一”或“一個”的(例如,“一”和/或“一個”應(yīng)當(dāng)解釋為表示“至少一個”或“一個或多個”);這同樣適用于對于用于引導(dǎo)權(quán)利要求記述項的定冠詞的使用。另外,即使明確地記述了被引導(dǎo)的權(quán)利要求記述項的具體數(shù)量,本領(lǐng)域技術(shù)人員將理解到這些記述項應(yīng)當(dāng)解釋為至少表示所記述的數(shù)量(例如,沒有其它修飾語的裸記述“兩個記述項”表示至少兩個記述項或兩個以上的記述項)。
此外,在使用類似于“a、b和c等中的至少一個”的慣用法的那些實例中,通常這樣的構(gòu)造旨在表達(dá)本領(lǐng)域技術(shù)人員理解該慣用法的含義(例如,“具有a、b和c中的至少一個的系統(tǒng)”將包括但不限于僅具有a、僅具有b、僅具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b和c等等的系統(tǒng))。本領(lǐng)域技術(shù)人員將進(jìn)一步理解,呈現(xiàn)兩個以上可選項的幾乎任何分離詞和/或短語,無論是在說明書、權(quán)利要求或附圖中,都應(yīng)理解為設(shè)想包括一項、任一項或兩項的可能性。例如,術(shù)語“a或b”將理解為包括“a”或“b”或“a和b”的可能性。
本領(lǐng)域技術(shù)人員將理解的是,為了任何以及全部的目的,諸如在提供所撰寫的說明書方面,本文所公開的全部范圍也涵蓋了任何和全部的可能的子范圍及其子范圍的組合。能夠容易地認(rèn)識到任何所列范圍都充分地描述了同一范圍并且使同一范圍分解成至少均等的一半、三分之一、四分之一、五分之一、十分之一等等。作為非限制示例,本文所論述的每個范圍能夠容易地分解成下三分之一、中三分之一和上三分之一,等等。本領(lǐng)域技術(shù)人員還將理解的是,諸如“多達(dá)”、“至少”等所有的語言包括所記述的數(shù)量并且是指如上文所論述的隨后能夠分解成子范圍的范圍。最后,本領(lǐng)域技術(shù)人員將理解的是,范圍包括每個獨立的成員。因此,例如,具有1-3個單元的組是指具有1個、2個或3個單元的組。類似地,具有1-5個單元的組是指具有1個、2個、3個、4個、或5個單元的組,等等。
雖然本文已經(jīng)公開各個方面和實施例,其他方面以及實施例也是可能的。本文所公開的各個方面以及實施例是為了說明的目的并且不意在限制,真正的范圍和精神是通過隨附的權(quán)利要求表明的。