Nand存儲器的多比特編程方法及裝置的制造方法
【技術領域】
[0001]本公開總地涉及一種NAND(與非門)存儲器的多比特編程方法及其裝置。
【背景技術】
[0002]NAND閃存的每個存儲單元可以存儲多比特數(shù)據(jù),即每個存儲單元可以存儲與相應的多比特(bi t)數(shù)據(jù)對應的電壓等級。例如,NAND閃存的每個存儲單元可以存儲4比特的數(shù)據(jù),即每個存儲單元存儲24= 16個電壓等級中的一個電壓等級。在NAND閃存存儲單元進行存儲時,需要對被存儲的多比特數(shù)據(jù)進行編碼,而為了減少錯誤率通常可以使用格雷碼。在格雷碼中,任意兩個相鄰的代碼只有一位二進制數(shù)不同,而且最大數(shù)與最小數(shù)之間也僅有一位二進制數(shù)不同。然而,在NAND閃存存儲器的編程過程中,格雷碼并不適應電路結構,因而使得編碼過程中的操作變得復雜繁瑣。例如,在實現(xiàn)編碼過程中,由于格雷碼并沒有根據(jù)編碼的電路結構進行優(yōu)化,所以使用格雷碼表直接進行編程將導致大量冗余的操作,增加功耗和編程時間。而且,隨著每個存儲單元存儲的比特數(shù)的增加,直接使用格雷碼進行編程將會使得編碼過程中的操作變得更加復雜繁瑣以及增加更多的功耗和編程時間。
【發(fā)明內容】
[0003]本公開的實施例提供了一種NAND存儲器的多比特編程方法及裝置,可以在編程之前將編碼做重新映射,從而優(yōu)化編程過程。
[0004]本公開的至少一個實施例提供了一種NAND存儲器的多比特編程方法,包括:將被編程的多比特數(shù)據(jù)寫入數(shù)據(jù)鎖存器組,所述多比特數(shù)據(jù)為格雷碼碼字;將所述多比特數(shù)據(jù)從所述格雷碼碼字轉換為加速編碼碼字;對存儲陣列中需要被編程的存儲單元進行編程;對被編程的各所述存儲單元執(zhí)行編程驗證操作;對被編程的各所述存儲單元執(zhí)行鎖存掃描操作;以及對被編程的各所述存儲單元執(zhí)行確認掃描操作。
[0005]本公開的至少一個實施例還提供了一種NAND存儲器的多比特編程裝置,包括:寫入模塊,用于將被編程的多比特數(shù)據(jù)寫入到數(shù)據(jù)鎖存器組中,所述多比特數(shù)據(jù)為格雷碼碼字;編碼轉換模塊,用于將所述多比特數(shù)據(jù)從所述格雷碼碼字轉換為加速編碼碼字;編程模塊,用于對存儲陣列中需要被編程的存儲單元進行編程;編程驗證模塊,用于對被編程的各所述存儲單元執(zhí)行編程驗證操作;鎖存掃描模塊,用于對被編程的各所述存儲單元執(zhí)行鎖存掃描操作;以及確認掃描模塊,用于對被編程的各所述存儲單元執(zhí)行確認掃描操作。
[0006]例如,所述編程驗證模塊對被編程的各所述存儲單元執(zhí)行編程驗證操作,包括:選擇第一驗證電壓,并且驗證已編入各所述存儲單元的電壓是否達到所述第一驗證電壓。所述鎖存掃描模塊對被編程的各所述存儲單元執(zhí)行鎖存掃描操作,包括:將通過所述第一驗證電壓的編程驗證并且目標閾值電壓為所述第一驗證電壓的存儲單元的數(shù)據(jù)鎖存器組設置為鎖存狀態(tài),以及將未通過所述第一驗證電壓的編程驗證和/或目標閾值電壓不是所述第一驗證電壓的存儲單元的數(shù)據(jù)鎖存器組的狀態(tài)保持不變。所述確認掃描模塊對被編程的各所述存儲單元執(zhí)行確認掃描操作,包括:對于數(shù)據(jù)鎖存器組為鎖存狀態(tài)的存儲單元,將其判斷鎖存器設置為成功鎖存狀態(tài),以及對于數(shù)據(jù)鎖存器組不是鎖存狀態(tài)的存儲單元,將其判斷鎖存器設置為鎖存不成功狀態(tài)。
[0007]例如,所述鎖存掃描模塊將通過所述第一驗證電壓的編程驗證并且目標閾值電壓為所述第一驗證電壓的存儲單元的數(shù)據(jù)鎖存器設置為鎖存狀態(tài),以及將未通過所述第一驗證電壓的編程驗證和/或目標閾值電壓不是所述第一驗證電壓的存儲單元的數(shù)據(jù)鎖存器的狀態(tài)保持不變,包括:檢測所述存儲單元對應的數(shù)據(jù)鎖存器組存儲的加速編碼碼字中“O”的數(shù)量和位置是否與所述第一驗證電壓對應的加速編碼碼字中“O”的數(shù)量和位置相一致,并且檢測與所述存儲單元對應的電壓驗證鎖存器是否為通過狀態(tài);如果所述存儲單元對應的數(shù)據(jù)鎖存器組存儲的加速編碼碼字中“O”的數(shù)量和位置與所述第一驗證電壓對應的加速編碼碼字中“O”的數(shù)量和位置相一致,且所述存儲單元對應的電壓驗證鎖存器為通過狀態(tài),設置與所述存儲單元對應的數(shù)據(jù)鎖存器組為鎖存狀態(tài);以及如果所述存儲單元對應的數(shù)據(jù)鎖存器組存儲的加速編碼碼字中“O”的數(shù)量和位置與所述第一驗證電壓對應的加速編碼碼字中“O”的數(shù)量和位置不一致,和/或所述存儲單元對應的電壓驗證鎖存器為不通過狀態(tài),保持與所述存儲單元對應的數(shù)據(jù)鎖存器組狀態(tài)不變。
[0008]例如,當所述電壓驗證鎖存器為不通過狀態(tài)時,所述電壓驗證鎖存器的值為“I”;當所述電壓驗證鎖存器為通過狀態(tài)時,所述電壓驗證鎖存器的值為“O”。所述鎖存掃描模塊檢測所述存儲單元對應的數(shù)據(jù)鎖存器組儲的加速編碼碼字中“O”的數(shù)量和位置是否與所述第一驗證電壓對應的加速編碼碼字中“O”的數(shù)量和位置相一致,并且檢測所述存儲單元對應的電壓驗證鎖存器是否為通過狀態(tài),包括:對總線進行充電;讀取所述存儲單元的、并且與所述第一驗證電壓對應的加速編碼碼字中“O”的位置相對應的數(shù)據(jù)鎖存器的值,以及讀取與所述存儲單元對應的電壓驗證鎖存器的值;拉高被讀取的所述數(shù)據(jù)鎖存器,其中,如果被讀取的所述數(shù)據(jù)鎖存器的值以及所述電壓驗證鎖存器的值均為“O”,與述存儲單元對應的數(shù)據(jù)鎖存器組設置為鎖存狀態(tài);如果被讀取的所述數(shù)據(jù)鎖存器的值和/或所述電壓驗證鎖存器的值中至少一個不為“O”,與所述存儲單元對應的數(shù)據(jù)鎖存器組狀態(tài)保持不變。
[0009]例如,所述編程驗證模塊對被編程的各所述存儲單元執(zhí)行編程驗證操作,還包括:選擇第二驗證電壓,并且驗證已編入各所述存儲單元的電壓是否達到所述第二驗證電壓。所述鎖存掃描模塊對被編程的各所述存儲單元執(zhí)行鎖存掃描操作,還包括:將通過所述第二驗證電壓的編程驗證并且目標閾值電壓為所述第二驗證電壓的存儲單元的數(shù)據(jù)鎖存器組置為鎖存狀態(tài);以及將未通過所述第二驗證電壓的編程驗證和/或目標閾值電壓不是所述第二驗證電壓的存儲單元的數(shù)據(jù)鎖存器組的狀態(tài)保持不變。所述確認掃描模塊對被編程的各所述存儲單元執(zhí)行確認掃描操作,還包括:對于數(shù)據(jù)鎖存器組為鎖存狀態(tài)的存儲單元,將其判斷鎖存器設置為成功鎖存狀態(tài);以及對于數(shù)據(jù)鎖存器組不是鎖存狀態(tài)的存儲單元,將其判斷鎖存器設置為鎖存不成功狀態(tài)。
[0010]例如,所述裝置還包括:數(shù)據(jù)掃描模塊,用于掃描所述數(shù)據(jù)鎖存器組來確定存儲信息為擦除狀態(tài)的數(shù)據(jù)鎖存器組和存儲信息不是擦除狀態(tài)的數(shù)據(jù)鎖存器組,將與存儲信息為擦除狀態(tài)的數(shù)據(jù)鎖存器組相對應的存儲單元設置為不編程狀態(tài),以及將與存儲信息不是擦除狀態(tài)的數(shù)據(jù)鎖存器組相對應的存儲單元設置為編程狀態(tài),其中,需要被編程的所述存儲單元為被設置為編程狀態(tài)的存儲單元。
[0011]例如,所述裝置還包括:判斷模塊,用于在使用一個或多個驗證電壓對被編程的各所述存儲單元執(zhí)行編程驗證操作、鎖存掃描操作以及確認掃描操作之后,確定需要被編程的各所述存儲單元中的一個或多個存儲單元在本次編程中尚未達到各自的目標閾值電壓;其中,所述編程模塊對所述一個或多個存儲單元進行再次編程;所述編程驗證模塊對所述一個或多個存儲單元執(zhí)行編程驗證操作;所述鎖存掃描模塊對所述一個或多個存儲單元執(zhí)行鎖存掃描操作;以及所述確認掃描模塊對所述一個或多個存儲單元執(zhí)行確認掃描操作。
[0012]本公開的至少一個實施例還提供了一種存儲介質,在所述存儲介質上存儲了程序指令,在所述程序指令被計算機或處理器運行時用于執(zhí)行本公開的實施例的NAND存儲器的多比特編程方法,并且用于實現(xiàn)根據(jù)本公開的實施例的NAND存儲器的多比特編程裝置。
[0013]本公開實施例提供的NAND存儲器的多比特編程方法及裝置,根據(jù)鎖存器的結構重新設計編碼,減少了編程過程中復雜的冗余操作的數(shù)量,因而可以加快編程的速度,降低功耗。
【附圖說明】
[0014]通過結合附圖對本公開的實施例進行更詳細的描述,本公開的上述以及其它目的、特征和優(yōu)勢將變得更加明顯。附圖用來提供對本公開實施例的進一步理解,并且構成說明書的一部分,與本公開的實施例一起用于解釋本公開,并不構成對本公開的限制。在附圖中,相同的參考標號通常代表相同部件或步驟。
[0015]圖1為本公開實施例提供的多比特單元存儲陣列的示意性框圖;
[0016]圖2為本公開實施例提供的靈敏放大器的示意性框圖;
[0017]圖3為本公開實施例提供的鎖存器的示例性結構;
[0018]圖4為本公開實施例提供的控制電路的示意性框圖;
[0019]圖5為本公開實施例提供的一種NAND存儲器的多比特編程方法的示意性流程圖;
[0020]圖6A為本公開實施例提供的一種編程驗證以及鎖存的方法的示意性流程圖;
[0021 ]圖6B為本公開實施例提供的四比特單元閾值電壓的示例性分布圖;
[0022]圖6C為本公開實施例提供的四比特數(shù)據(jù)的編程脈沖和驗證電壓的示例性分布圖;
[0023]圖7A-7M為本公開實施例提供的四比特數(shù)據(jù)的示例性的編程過程;
[0024]圖8A-8H為本公開實施例提供的一種四比特數(shù)據(jù)的加速編碼的編程驗證以及鎖存的方法的示意性流程圖;
[0025]圖9為本公開實施例提供的示例性的四比特加速編碼碼表;
[0026]圖10為本公開實施例提供的一種NAND存儲器的多比特編程裝置的示意性框圖。
【具體實施方式】
[0027]為了使得本公開的目的、技術方案和優(yōu)點更為明顯,下面將參照附圖詳細描述根據(jù)本公開的示例實施例。顯然,所描述的實施例僅僅是本公開的一部分實施例,而不是本公開的全部實施例,應理解,本公開不受這里描述的示例實施例的限制?;诒竟_中描述的本公開實施例,本領域技術人員在沒有付出創(chuàng)造性勞動的情況下所得到的所有其它實施例都應落入本公開的保護范圍之內。
[0028]本公開的實施例提供了一種NAND存儲器的多比特編程方法及裝置,可以在編程之前將編碼做重新映射,從而優(yōu)化編程過程。本公開實施例提供的NAND存儲器的多比特編程方法及裝置,根據(jù)鎖存器的結構重新設計編碼,將多比特數(shù)據(jù)從格雷碼碼字轉換為相應的加速編碼碼字,減少了編程過程中復雜的冗余操作的數(shù)量,因而可以加快編程的速度,降低功耗。本公開實施例提供的NAND存儲器的多比特編程方法及裝置,可以應用于大于或等于兩比特數(shù)據(jù)的編程,例如,四比特數(shù)據(jù)、五比特數(shù)據(jù)和/或六比特數(shù)據(jù)等多比特數(shù)據(jù)的編程。
[0029]在本公開實施例中,NAND存儲器可以是二維NAND存儲器,也可以是三維NAND存儲器,本公開對此不做限定。三維NAND存儲器改進了平面NAND存儲器在多比特存儲方面的過窄的閾值分布、嚴重的浮柵耦合等諸多問題,使得三維NAND存儲器增加每個存儲單元的存儲能力成為可能。
[0030]圖1為本公開實施例提供的一種包括多比特單元存儲陣列的系統(tǒng)100的示意性框圖。如圖1所示,系統(tǒng)100可以包括外圍電路101、行譯碼器104、列譯碼器106、存儲陣列108、靈敏放大器110以及輸入/輸出接口 112。在一些實施例中,系統(tǒng)100也可以包括其他未示出的部件,例如,穩(wěn)壓器(voltage regulator)、邏輯電路(logic circuits)等。
[0031]外圍電路101為處于存儲陣列108外部的電路結構。外圍電路101可以包括控制電路102??刂齐娐?02可以控制存儲陣列108的地址選擇。例如,控制電路102可以控制行譯碼器104,使得行譯碼器104通過字線114來選擇存儲陣列108的行地址;控制電路102還可以控制列譯碼器106,使得列譯碼器106通過位線116來選擇存儲陣列的列地址??刂齐娐?02還可以控制存儲陣列108的編程過程。例如,如下所述,控制電路102可以控制圖5的方法500、圖6A的方法600以及圖8A-8H的方法800和8000的執(zhí)行。
[0032]參見圖4,控制電路102可以包括處理器402、存儲器404以及其他未示出的部件。控制電路102的各部件之間可以直接或間接地互相通信,例如,控制電路102的各部件可以互相發(fā)送和接收數(shù)據(jù)和/或信號。又例如,控制電路102的各部件之間可以通過總線連接。在一些實施例中,控制電路102可以包括一個或多個處理器402和一個或多個存儲器404。
[0033]處理器402可以處理數(shù)據(jù)信號,可以包括各種計算結構,例如復雜指令集計算機(CISC)結構、結構精簡指令集計算機(RISC)結構或者一種實行多種指令集組合的結構。在一些實施例中,處理器402也可以是微處理器,例如X86處理器或ARM處理器,或者可以是數(shù)字處理器(DSP)等。處理器402可以控制控制電路102中的其它組件以執(zhí)行期望的功能。
[0034]存儲器404可以保存處理器402執(zhí)行的指令和/或數(shù)據(jù)。例如,存儲器404可以包括一個或多個計算機程序產(chǎn)品,所述計算機程序產(chǎn)品可以包括各種形式的計算機可讀存儲介質,例如易失性存儲器和/或非易失性存儲器。所述易失性存儲器例如可以包括隨機存取存儲器(RAM)和/或高速緩沖存儲器(cache)等。所述非易失性存儲器例如可以包括只讀存儲器(R0M)、硬盤、閃存等。在所述計算機可讀存儲介質上可以存儲一個或多個計算機程序指令,處理器402可以運行所述程序指令,以實現(xiàn)下文所述的本公開實施例中(由處理器實現(xiàn))的多比特編程功能以及/或者其它期望的功能。在所述計算機可讀存儲介質中還可以存儲各種應用程序和各種數(shù)據(jù),例如所述應用程序使用和/或產(chǎn)生的各種數(shù)據(jù)等。
[0035]參見圖1,存儲陣列108可以使用電壓狀態(tài)來確定存儲的多比特數(shù)據(jù)的大小。例如,存儲陣列108的每個存儲單元可以存儲一個多比特數(shù)據(jù),即每個存儲單元可以存儲與該多比特數(shù)據(jù)對應的電壓等級。又例如,圖6B示出了四比特存儲單元的閾值電壓Vth的分布,其包括擦除狀態(tài)(erase,ER)、Ll、L2、L3、L4、L5、L6、L7、L8、L9、L10、Lll、L12、L13、L14W&L15*24=16個電壓等級。根據(jù)被存儲的多比特數(shù)據(jù)的數(shù)值大小,每個存儲單元可以存儲電壓等級中的一個。
[0036]輸入/輸出接口112可以向靈敏放大器110提供輸入數(shù)據(jù)(例如,提供需要被編程到存儲陣列108的多比特數(shù)據(jù)),以及接收靈敏放大器110的輸出數(shù)據(jù)(例如,接收從存儲陣列108中讀出的數(shù)據(jù))。輸入/輸出接口 112可以為通用串行總線(universal serial bus,USB)接口、雷電(thunderbolt)接口或其他可行的接口類型,本公開對此不作限定。在一些實施例中,輸入/輸出接口 112也可以作為外圍電路101的一個部件。
[0037]在一些實施例中,在存儲陣列108的存儲單元中存儲的電流值與該存儲單元的閾值電壓等級對應,靈敏放大器110可以將該存儲單元存儲的電流值轉換為數(shù)字數(shù)值(例如,多比特數(shù)值)。靈敏放大器110可以與一個或多個位線116相連接。
[0038]圖2示出了靈敏放大器110的示例性結構框圖200。靈敏放大器110可以包括緩存鎖存器202、數(shù)據(jù)鎖存器組203、感應電路214以及感應鎖存器216。靈敏放大器110的各部件可以通過總線218相互連接。在一些實施例中,靈敏放大器110中的各數(shù)據(jù)鎖存器組203的數(shù)據(jù)鎖存器的數(shù)目與各存儲單元存儲的數(shù)值的比特數(shù)目相同;或者,靈敏放大器110中的各數(shù)據(jù)鎖存器組203中的數(shù)據(jù)鎖存器的數(shù)目大于各存儲單元存儲的數(shù)值的比特數(shù)目。例如,存儲陣列108的各存儲單元可以存儲四比特的數(shù)值,靈敏放大器110的各數(shù)據(jù)鎖存器組203至少可以包括四個數(shù)據(jù)鎖存器,即如圖2所示的第一數(shù)據(jù)鎖存器204、第二數(shù)據(jù)鎖存器206、第三數(shù)據(jù)鎖存器208以及第四鎖存器210?;蛘?,靈敏放大器110的各數(shù)據(jù)鎖存器組203還可以包括其他數(shù)據(jù)鎖存器,例如,如圖2中虛線所示的臨時數(shù)據(jù)鎖存器212。如圖2所示,靈敏放大器110的各鎖存器的總線連接在一起。
[0039]在一些實施例中,存儲陣列108是以“行”為單位進行編程的;即,按行對存儲陣列108的存儲單元進行編程,并且在每行的編程中,同一行的所有需要編程的存儲單元將同時被編程。因此,包括在靈敏放大器110中的感應鎖存器216的數(shù)目與包括在存儲陣列108的一行中的存儲單元的數(shù)目相同;即,各感應鎖存器216與一行中的各存儲單元為一一對應的關系。另外,包括在靈敏放大器110中的數(shù)據(jù)鎖存器組203的數(shù)目也與包括在存儲陣列108的一行中的存儲單元的數(shù)目相同;即,各數(shù)據(jù)鎖存器組203與一行中的各存儲單元為一一對應的關系。
[0040]圖3示出了鎖存器300的示例性電路圖。在圖3的鎖存器300中,“X”代表鎖存器300存儲的數(shù)據(jù),“INVX”代表存儲的數(shù)據(jù)的反,“SETX”代表存儲數(shù)據(jù)置“I”信號,“RETX”代表存儲數(shù)據(jù)置“O”信號,VDD代表電源電壓,READ代表讀信號以及“BUS”代表總線。圖2中的緩存鎖存器202、靈敏鎖存器216、第一數(shù)據(jù)鎖存器204、第二數(shù)據(jù)鎖存器206、第三數(shù)據(jù)鎖存器208、第四鎖存器210以及臨時鎖存器212的結構均可以與鎖存器300的結構相同或相似,在此不再贅述。
[0041 ]圖5為本公開實施例提供的一種NAND存儲器的多比特編程方法500的示意性流