1、M72和M73以及S⑶晶體管SGD3的漏極側列C3D;以及包括存儲器單元M60、M61、M62和M63以及SGS晶體管SGS3的源極側列C3S。
[0095]類似地,NSOA具有:包括存儲器單元M00A、M01A、M02A和M03A以及S⑶晶體管SGDOA的漏極側列CODA;以及包括存儲器單元M10A、M11A、M12A和M13A以及SGS晶體管SGSOA的源極側列0)34。略14具有:包括存儲器單元13(^、1314、1324和1334以及30)晶體管36014的漏極偵_(:10六;以及包括存儲器單元M20A、M21A、M22A和M23A以及SGS晶體管SGSlA的源極側列C1SAJS2A具有:包括存儲器單元M40A、M41A、M42A和M43A以及SGD晶體管SGD2A的漏極側列C2DA;以及包括存儲器單元M50A、M51A、M52A和M53A以及SGS晶體管SGS2A的源極側列C2SA。NS3A具有:包括存儲器單元M70A、M71A、M72A和M73A以及S⑶晶體管S⑶3A的漏極側列C3D;以及包括存儲器單元M60A、M61A、M62A和M63A以及SGS晶體管SGS3A的源極側列C3SA。
[0096]每個NAND串具有背柵(用于NSO的BGO、用于NSl的BGl、用于NS2的BG2、用于NS3的BG3、用于NSOA的BG0A、用于NSlA的BG1A、用于NS2A的BG2A、用于NS3A的BG3A)。電路中的所有背柵中的控制柵極可以相互連接。
[0097]在一種方法中,每個SGS晶體管的源極側連接至電路的公共源極線。
[0098]在電路的每級處,漏極側存儲器單元的控制柵極通過公共WLL相互連接。例如,M03、M03A、M33、M33A、M43、M43A、M73和M73A具有通過與圖2B—致的字線層WL3D連接的控制柵極。祖3、M13A、M23、M23A、M53、M53A、M63和M63A具有通過與圖2B—致的字線層WL3S連接的控制柵極。
[0099]M02、M02A、M32、M32A、M42、M42A、M72和M72A具有通過字線層WL2D連接的控制柵極。M12、M12A、M22、M22A、M52、M52A、M62和M62A具有通過字線層WL2S連接的控制柵極。
[0100]]\?)1、]\1014、]\01、]\0認、]\141、]\1414、]\171和]\1714具有通過字線層虬10連接的控制柵極。皿11、]\1114、]\121、]\12^、]\151、]\1514、]\161和]\16^具有通過字線層孔13連接的控制柵極。
[0101]M00、M00A、M30、M30A、M40、M40A、M70和M70A具有通過字線層WLOD連接的控制柵極。皿10、]\11(^、]\120、]\12(^、]\150、]\15(^、]\160和]\16(^具有通過字線層孔05連接的控制柵極。
[0102]此外,在相應NAND串子塊中,S⑶晶體管的控制柵極互相連接。例如,在NS-SBO中,S⑶O、…、SGDOA的控制柵極通過路徑390連接。在NS-SBl中,SOH、…、SGDlA的控制柵極通過路徑391連接。在NS-SB3中,SGD2、…、SGD2A的控制柵極通過路徑392連接。在NS-SB3中,SGD3、…、SGD3A的控制柵極通過路徑393連接。
[0103]SGS晶體管的控制柵極在X方向上互相連接。例如,SGSO、…、SGSOA的控制柵極連接,SGSl、…、SGSlA的控制柵極連接,SGS2、…、SGS2A的控制柵極連接,以及SGS3、…、SGS3A的控制柵極連接。
[0104]可選地,在直NAND串實施方式中,NAND串僅具有一列,并且源極側選擇柵極在列的底部而非如在U形NAND串中一樣在頂部。此外,塊的給定級具有一個WLL,其連接至該層的存儲器單元中的每個。
[0105]圖5A描繪了用于基于p-e周期量來擦除存儲器單元的處理。步驟500包括針對3D堆疊式非易失性存儲設備中的NAND串的集合開始擦除操作。例如,控制可以發(fā)出擦除命令。此夕卜,擦除命令可以涉及塊或陣列中的存儲器單元和/或NAND的全部或子集。步驟502涉及訪問指示3D堆疊式非易失性存儲器設備的p-e周期量的數(shù)據(jù)。例如,該數(shù)據(jù)可以是p-e周期的計數(shù)、循環(huán)計數(shù)或初始編程電壓,這些被存儲在存儲位置??梢栽谝欢螘r間內(nèi)保持該數(shù)據(jù)并且在擦除操作開始處可用該數(shù)據(jù)。對數(shù)據(jù)的訪問例如可以涉及從存儲位置讀取數(shù)據(jù)。步驟504涉及對NAND串施加兩個或更多個擦除電壓(擦除脈沖)的序列,其中,基于數(shù)據(jù)設定步長。在一種方法中,在施加初始擦除電壓之前設定步長。在另一方法中,在施加初始擦除電壓之后基于存儲器單元的Vth分布的度量和斜率dVth/dVerase來設定步長。在一種方法中,對初始擦除電壓之后的每個后續(xù)擦除電壓使用恒定步長。
[0106]圖5B描繪了根據(jù)圖5A的步驟502的、保持指示p-e周期量的數(shù)據(jù)的處理的示例。步驟510包括保持指示3D堆疊式非易失性存儲器設備的p-e周期量的數(shù)據(jù)。例如,該步驟可以涉及以下步驟中的一個或更多個步驟。步驟512涉及保持p-e周期的計數(shù),以及隨每個附加編程-擦除周期而增大計數(shù)。步驟514涉及保持用于在編程操作中對存儲器單元進行編程的編程循環(huán)的計數(shù)。在一個選擇中,通過對選定存儲器單元的集合中的至少一個子集進行編程來獲得計數(shù)。步驟516涉及保持初始編程電壓,該初始編程電壓基于編程循環(huán)的計數(shù)而被調(diào)節(jié)。
[0107]圖5C描繪了根據(jù)圖5A的步驟504的擦除處理的示例,其中,基于指示p-e周期量的數(shù)據(jù)來確定步長。步驟520基于指示p-e周期量的數(shù)據(jù)來設定擦除步長(dVerasel,參見圖9C)。例如,控制可以通過以下方式來獲得dVerase 1:通過讀取使用p-e周期的計數(shù)的圖14E的圖、通過讀取使用循環(huán)計數(shù)的圖14F的圖或者通過讀取使用Vpgm_initial的圖14G的圖。步驟521設定初始擦除電壓,其可選地基于p-e周期量。步驟522對正被擦除的NAND串施加擦除電壓以對NAND串的本體充電。
[0108]一旦體處于充電狀態(tài),就將字線層的電壓向下驅(qū)動。進一步的細節(jié)例如參見圖12A-12E。步驟523進行擦除-驗證測試。進一步的細節(jié)例如參見圖13A至圖13C。如果存儲器單元通過擦除-驗證測試,則在步驟526處進行擦除操作。在待被擦除的所有或幾乎所有存儲器單元具有低于擦除-驗證電壓Vv_Er的Vth時,存儲器單元可以通過擦除-驗證測試。這可以通過對字線層施加Vv_Er以及對存儲器單元進行感測來確定。如果存儲器單元處于導通狀態(tài),則其Vth低于Vv_Er。如果在判定步驟524處存儲器單元未通過擦除-驗證測試,進行擦除操作,則在步驟526處以步長增大擦除電壓,以及在步驟522處施加逐級升高的擦除電壓。
[0109]圖5D描繪了根據(jù)圖5A的步驟504的擦除處理的另一示例,其中,基于初始擦除脈沖之后的閾值電壓分布來確定后續(xù)擦除脈沖的步長。步驟530設定初始擦除電壓VeraSe_ini t ial_a。該初始擦除電壓例如可以是固定值。步驟531向NAND串施加初始擦除電壓以對NAND串的本體充電,然后將字線層的電壓向下驅(qū)動。這是初始擦除迭代。
[0110]步驟532進行擦除-驗證測試。如果存儲器單元通過擦除-驗證測試,則在步驟540處進行擦除操作。如果在判定步驟533處存儲器單元未通過擦除-驗證測試,則步驟534進行一個或更多個讀取操作以識別閾值電壓分布的上尾。進一步的細節(jié)例如參見圖1OB和圖10C。上尾表示距擦除-驗證電平最遠的存儲器單元的Vth。這些存儲器單元確定第二擦除電壓的量值。上尾距擦除-驗證電平越遠,第二擦除電壓應當越大。步驟535中確定上尾與Vv_Er之間的差。這是閾值電壓分布的度量的示例。度量指示上尾距擦除-驗證電平有多遠。度量可以是上尾與Vv_Er之間的差。
[0111]步驟536諸如通過從存儲位置讀取斜率來確定斜率dVth/dVerase,該斜率是P-e周期的函數(shù)。例如,控制可以通過以下方式來確定斜率:通過讀取使用P-e周期的計數(shù)的圖14B的圖;通過讀取使用循環(huán)計數(shù)的圖14C的圖,其中,dVth/dVerase隨循環(huán)計數(shù)減小而減小;或者通過讀取使用Vpgm_initial的圖14D的圖,其中,dVth/dVerase隨Vpgm_initial減小而減小。作為控制參數(shù),斜率表示隨Veras e的變化的Vth的預期變化。
[0112]步驟537基于差/斜率、差與斜率的比率來確定步長(dVeraSe2)。這涉及基于指示P-e周期的數(shù)量的數(shù)據(jù)來修改上尾與Vv_Er之間的差從而提供經(jīng)修改的差。步長可以被設定為等于經(jīng)修改的差。在P-e周期量相對較大時經(jīng)修改的差相對較大。
[0113]從而當差較大以及斜率在量值方面較小時,步長較大。當p-e周期的數(shù)量較大時,斜率在量值方面較小,所以當p-e周期的數(shù)量較大時步長較大。步驟538中基于初始擦除電壓與步長之和來確定后續(xù)(例如,第二)擦除電壓(Verase2_a),例如Verase2_a = Verase_initial_a+dVerase2。也可以添加附加裕量以進一步增大Verase2_a。從而該步驟涉及基于初始擦除電壓與經(jīng)修改的差之和來確定后續(xù)擦除電壓。
[0114]步驟539對NAND串施加后續(xù)擦除電壓以對NAND串的本體充電,然后向下驅(qū)動字線層的電壓。這是后續(xù)擦除迭代。后續(xù)擦除電壓的量值被設計成足夠完成對所有或幾乎所有存儲器單元的擦除操作。注意,后續(xù)擦除電壓基于作為擦除電壓的函數(shù)的Vth的預期移動。通過確定足以將Vth分布的上尾處的存儲器單元的Vth移動到擦除-驗證電平的擦除電壓,擦除操作可以在施加第二擦除電壓之后完成。在一種方法中,假設在施加第二擦除電壓之后未進行擦除-驗證測試的情況下完成擦除操作,則在步驟540處進行擦除操作。
[0115]圖6A描繪了根據(jù)圖5B的步驟516的、對Vpgmjnitial進行最優(yōu)化的示例編程操作的流程圖。在步驟600處,接收對數(shù)據(jù)進行編程的命令。例如,主設備可以發(fā)出命令,該命令由控制電路110接收。通常,寫入命令包括諸如要被寫入(被編程)的頁數(shù)據(jù)的單位數(shù)據(jù)。步驟601在NAND串的初始集合(諸如NAND串的子塊)中的字線層處將數(shù)據(jù)編程至存儲器單元的初始集合。這包括給存儲器單元的初始集合中的最快速的存儲器單元編程初始量。編程以Vpgm_low的編程電壓開始。存儲器單元的初始集合是編程或擦除操作中的至少一個選定存儲器單元的子集。
[0116]在步驟602處,基于步驟601的編程,確定給存儲器單元的初始集合中的最快速的存儲器單元編程初始量所需的編程循環(huán)的計數(shù)。步驟603存儲編程循環(huán)的計數(shù)作為循環(huán)計數(shù)(LC)。這是給存儲器單元的初始集合編程初始量所需的編程循環(huán)的最小數(shù)量。例如,可以將該計數(shù)以一個字節(jié)的數(shù)據(jù)的方式存儲在存儲器單元的初始集合中的空閑的存儲器單元中。該字節(jié)的數(shù)據(jù)可以在存儲器單元的初始集合的預定位置中,以使得在對存儲器單元的剩余集合進行編程時以及在進行擦除操作時可以讀取數(shù)據(jù)。
[0117]作為示例,在圖4中,在NS-SBO中的WL3處的存儲器單元的集合中,存儲器單元的子集可以包括M03和M13。在NS-SBl中的WL3處的存儲器單元的集合中,存儲器單元的子集可以包括M23和M23。在NS-SB2中的WL3處的存儲器單元的集合中,存儲器單元的子集可以包括M43和M53。在NS-SB3中的WL3處的存儲器單元的集合中,存儲器單元的子集可以包括M63和M73。類似地,在NS-SBO中的WL2處的存儲器單元的集合中,存儲器單元的子集可以包括M02和Ml 2,等等。
[0118]或者,計數(shù)可以被存儲在存儲器陣列126外部,諸如在存儲位置113中?;蛘?,計數(shù)可以被存儲在存儲器管芯108外部。存儲循環(huán)計數(shù)的數(shù)據(jù)寄存器或存儲器單元為存儲位置。將循環(huán)計數(shù)存儲在存儲器陣列的非易失性存儲器單元中的優(yōu)勢在于:在存儲器設備中存在電力中斷或者在對另一塊進行編程時循環(huán)計數(shù)被重寫的情況下,循環(huán)計數(shù)不會丟失。相反,數(shù)據(jù)寄存器通常使用諸如RAM的易失性存儲器,在該RAM中在電力中斷時數(shù)據(jù)會丟失。將循環(huán)計數(shù)存儲在非易失性存儲器單元中的另一優(yōu)勢在于:與RAM相比,這樣成本更低。
[0119]計數(shù)可以是諸如1、2、3、…的編號,其標識用于給最快速的存儲器單元編程初始量的編程循環(huán)的數(shù)量。當最快速的存儲器單元的編程已被編程了初始量時,基準編程電壓(Vpgm_ref)是Vpgm的電平。Vpgm_initial可以根據(jù)Vpgm_ref得到。所存儲的數(shù)據(jù)因此可以表示編程循環(huán)的計數(shù)、Vpgm_ref或Vpgm_initial。
[0120]在步驟604處,接收對附加數(shù)據(jù)進行編程的命令。步驟605取得編程循環(huán)的計數(shù)。例如,這可以作為內(nèi)部數(shù)據(jù)負載的一部分被進行,其作為正好在序列開始處的上部頁編程序列的一部分而被進行。在步驟606處,基于編程循環(huán)的計數(shù)(LC)來設定Vpgm_initial C3Vpgn^initial是用于存儲器單元的剩余集合的相應啟動電壓。在步驟608處,一種方法是設定Vpgm_initial =Vpgm_ref-(VvINT-VvA)。例如,假設VvINT = 1.0V, VvA = 0.5V以及Vpgm_ref=17V。則Vpgm_initial = 17-(1.0-0.5) = 16.5V。在步驟609處,另一方法是設定Vpgm_initial = (Vpgm_low+LCX dVpgm_high)-(VvINT-VvA)。例如,假設Vpgm_low= 14V,LC = 3,dVpgm_high= 1.0V,VvINT= 1.0V以及VvA = 0.5V』lJVpgm_initial = (14+3 X 1.0)-(1.0-
0.5) = 16.5V??蛇x地,在保守的方法中,可以施加諸如0.5-1.0V的更大的偏移以進一步減小Vpgm_initial。這確保Vpgm_initial的電平處的第一編程脈沖不導致存儲器單元的剩余集合的過編程。
[0121 ] 狀態(tài)機可以存儲以下數(shù)據(jù),所述數(shù)據(jù)標識Vpgm_low、dVpgm_high、VvA和VvINT。在一種方法中,狀態(tài)機從存儲器單元或數(shù)據(jù)寄存器讀取值Vpgm_ref,并且執(zhí)行步驟608的計算。在另一方法中,狀態(tài)機從存儲器單元或數(shù)據(jù)寄存器讀取值LC并且執(zhí)行步驟609的計算。
[0122]dVpgm_high是在對下部頁數(shù)據(jù)進行編程時可以使用的相對大的步長,其中,作為對更快速編程的折衷降低的準確度是可以接收的。在對上部頁數(shù)據(jù)進行編程時可以使用相對小的步長dVpgm_low,其中,提高的準確度更重要。
[0123]步驟607使用Vpgm_initial對字線層處的存儲器單元的剩余集合進行編程。因為Vpgm_initial從存儲器單元的初始集合中被確定出過一次并且針對存儲器單元的剩余集合中的每個存儲器單元使用多次至一次,所以獲得了效率。由于使用相對較低的初始Vpgm即Vpgm_l ow,在下部頁編程時使用的時間會略微增大。然而,在對存儲器單元的剩余集合中的每個存儲器單元進行編程時使用的時間被最小化,這是因為Vpgm_initial被定制化為存儲器單元的剩余集合的編程速度,該編程速度被視為與存儲器單元的初始集合的編程速度相同。即,Vpgm_initial可以被設定為避免過編程同時使編程循環(huán)的數(shù)量最小化從而最小化編程時間的最高的可能電平。
[0124]另一效率較低的方法是在存儲器單元的每個集合的