本發(fā)明涉及一種數(shù)據(jù)配置方法及應(yīng)用其的電子系統(tǒng),且特別是一種可改善編程干擾(program disturb)的數(shù)據(jù)配置方法及應(yīng)用其的電子系統(tǒng)。
背景技術(shù):
閃存(flash memory)是非易失性存儲(chǔ)器(non-volatile memory)技術(shù)的一種。閃存具有訪問(wèn)速度快、耗電量低的優(yōu)點(diǎn)。傳統(tǒng)的閃存采用浮置柵極(floating gate)存儲(chǔ)單元。通過(guò)對(duì)浮置柵極注入/釋放電子,可改變存儲(chǔ)單元的閥電壓分布,使其對(duì)應(yīng)于特定的數(shù)據(jù)狀態(tài)。
然而,隨著存儲(chǔ)器裝置的密度增加且存儲(chǔ)單元間變得越來(lái)越緊密,編程干擾(program disturb)效應(yīng)將越趨明顯。舉例來(lái)說(shuō),在編程N(yùn)AND閃存中的一選定存儲(chǔ)單元時(shí),附近存儲(chǔ)單元的閥電壓分布將受到編程的干擾而偏移,使得原先的偏壓設(shè)定將無(wú)法正確地讀取數(shù)據(jù)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明涉及一種可改善編程干擾的數(shù)據(jù)配置方法及應(yīng)用其的電子系統(tǒng)。
根據(jù)本發(fā)明一方面,提出一種數(shù)據(jù)配置方法。該數(shù)據(jù)配置方法包括以下步驟:判斷欲寫(xiě)入一實(shí)體存儲(chǔ)區(qū)塊的一數(shù)據(jù)為熱數(shù)據(jù)或冷數(shù)據(jù);若該數(shù)據(jù)為熱數(shù)據(jù),依據(jù)一熱數(shù)據(jù)配置順序自該實(shí)體存儲(chǔ)區(qū)塊中搜尋至少一第一空白子區(qū)塊以配置該數(shù)據(jù),其中基于該熱數(shù)據(jù)配置順序,在該實(shí)體存儲(chǔ)區(qū)塊中編程順序排得越前面且兩數(shù)據(jù)狀態(tài)間的可容許邊界越窄的空白子區(qū)塊優(yōu)先被選為該至少一第一空白子區(qū)塊;若該數(shù)據(jù)為冷數(shù)據(jù),依據(jù)一冷數(shù)據(jù)配置順序自該實(shí)體存儲(chǔ)區(qū)塊中搜尋至少一第二空白子區(qū)塊以配置該數(shù)據(jù),其中基于該冷數(shù)據(jù)配置順序,在該實(shí)體存儲(chǔ)區(qū)塊中編程順序排得越后面且可容許邊界越寬的空白子區(qū)塊優(yōu)先被選為該至少一第二空白子區(qū)塊。
根據(jù)本發(fā)明另一方面,提出一種電子系統(tǒng)。該電子系統(tǒng)包括存儲(chǔ)器以及控制器。存儲(chǔ)器包括實(shí)體存儲(chǔ)區(qū)塊??刂破黢罱釉摯鎯?chǔ)器,并經(jīng)配置而用以:判斷欲寫(xiě)入該實(shí)體存儲(chǔ)區(qū)塊的一數(shù)據(jù)為熱數(shù)據(jù)或冷數(shù)據(jù);若該數(shù)據(jù)為熱數(shù)據(jù),依據(jù)一熱數(shù)據(jù)配置順序自該實(shí)體存儲(chǔ)區(qū)塊中搜尋至少一第一空白子區(qū)塊以配置該數(shù)據(jù),其中基于該熱數(shù)據(jù)配置順序,在該實(shí)體存儲(chǔ)區(qū)塊中編程順序排得越前面且兩數(shù)據(jù)狀態(tài)間的可容許邊界越窄的空白子區(qū)塊優(yōu)先被選為該至少一第一空白子區(qū)塊;若該數(shù)據(jù)為冷數(shù)據(jù),依據(jù)一冷數(shù)據(jù)配置順序自該實(shí)體存儲(chǔ)區(qū)塊中搜尋至少一第二空白子區(qū)塊以配置該數(shù)據(jù),其中基于該冷數(shù)據(jù)配置順序,在該實(shí)體存儲(chǔ)區(qū)塊中編程順序排得越后面且可容許邊界越寬的空白子區(qū)塊優(yōu)先被選為該至少一第二空白子區(qū)塊。
為了對(duì)本發(fā)明的上述及其他方面有更佳的了解,下文特舉較佳實(shí)施例,并配合所附圖式,作詳細(xì)說(shuō)明如下:
附圖說(shuō)明
圖1是不同類(lèi)型存儲(chǔ)單元的閥電壓分布示意圖。
圖2是依據(jù)本發(fā)明一實(shí)施例的電子系統(tǒng)的簡(jiǎn)化方塊圖。
圖3是依據(jù)本發(fā)明一實(shí)施例的數(shù)據(jù)配置方法的流程圖。
圖4a是依據(jù)實(shí)體位置交錯(cuò)條件劃分?jǐn)?shù)據(jù)單元以形成子區(qū)塊的一例示意圖。
圖4b是依據(jù)實(shí)體位置交錯(cuò)條件劃分?jǐn)?shù)據(jù)單元以形成子區(qū)塊的另一例示意圖。
圖4c是依據(jù)實(shí)體位置交錯(cuò)條件劃分?jǐn)?shù)據(jù)單元以形成子區(qū)塊的又一例示意圖。
圖5是依據(jù)數(shù)據(jù)準(zhǔn)位條件劃分?jǐn)?shù)據(jù)單元以形成子區(qū)塊的一例示意圖。
圖6是結(jié)合實(shí)體位置交錯(cuò)條件以及數(shù)據(jù)準(zhǔn)位條件劃分?jǐn)?shù)據(jù)單元以形成子區(qū)塊的一例示意圖。
圖7是結(jié)合實(shí)體位置交錯(cuò)條件以及數(shù)據(jù)準(zhǔn)位條件劃分出子區(qū)塊后,各子區(qū)塊間的編程干擾耐受度強(qiáng)弱關(guān)系。
圖8是對(duì)第7圖的子區(qū)塊配置熱數(shù)據(jù)的優(yōu)先次序圖。
圖9是對(duì)第7圖的子區(qū)塊配置冷數(shù)據(jù)的優(yōu)先次序圖。
圖10是對(duì)基于TLC架構(gòu)的子區(qū)塊配置熱數(shù)據(jù)的優(yōu)先次序圖。
圖11是對(duì)基于TLC架構(gòu)的子區(qū)塊配置冷數(shù)據(jù)的優(yōu)先次序圖。
【符號(hào)說(shuō)明】
S1、S0、S11、S10、S00、S01、S1’、S0’、S11’、S10’、S00’、S01’:閥電壓分布
Vt:傳感電壓
200:電子系統(tǒng)
202:存儲(chǔ)器
204:控制器
PB:實(shí)體存儲(chǔ)區(qū)塊
DU:數(shù)據(jù)單元
302、304、306、308:步驟
WL0、WL1:字線
P1~P8:數(shù)據(jù)頁(yè)
402、404、406、408、410、412、502、504、512、514、516、602、604、606、608、A、B、C、D、E、F:子區(qū)塊
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,并參照附圖,對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明。
在本文中,參照所附圖式仔細(xì)地描述本發(fā)明的一些實(shí)施例,但不是所有實(shí)施例都有表示在圖示中。實(shí)際上,這些發(fā)明可使用多種不同的變形,且并不限于本文中的實(shí)施例。相對(duì)的,本揭露提供這些實(shí)施例以滿足應(yīng)用的法定要求。圖式中相同的參考符號(hào)用來(lái)表示相同或相似的元件。
第1圖是不同類(lèi)型存儲(chǔ)單元的閥電壓分布示意圖。如第1圖所示,像是單階存儲(chǔ)單元(Single Level Cell,SLC)的存儲(chǔ)單元用以存儲(chǔ)1位數(shù)據(jù),而像是多階存儲(chǔ)單元(Multi Level Cell,MLC)的存儲(chǔ)單元用以存儲(chǔ)2位數(shù)據(jù)。隨著單位存儲(chǔ)單元所存儲(chǔ)的位數(shù)變多,對(duì)應(yīng)不同數(shù)據(jù)狀態(tài)的分布彼此之間將靠得越近,導(dǎo)致分布間的可容許邊界(margin)變窄。所述的可容許邊界表示兩鄰近數(shù)據(jù)狀態(tài)之間的最小可容忍間距。
進(jìn)一步說(shuō),一SLC可存儲(chǔ)1位的數(shù)據(jù),故在一定的閥電壓范圍內(nèi),可能被編程(program)至閥電壓分布S1或S0以表示數(shù)據(jù)狀態(tài)“1”或“0”。相較之下,一MLC可存儲(chǔ)2位的數(shù)據(jù),故在一定的閥電壓范圍內(nèi),可能被編程至閥電壓分布S11、S10、S00或S01以表示數(shù)據(jù)狀態(tài)“11”、“10”、“00”或“01”。在對(duì)MLC進(jìn)行編程時(shí),對(duì)應(yīng)在SLC模式下所編程的數(shù)據(jù)稱(chēng)為高位(high bit)數(shù)據(jù)(在此例中對(duì)應(yīng)2位數(shù)據(jù)中的第一個(gè)位),而對(duì)應(yīng)在MLC模式下所編程的數(shù)據(jù)稱(chēng)為低位(low bit)數(shù)據(jù)(在此例中對(duì)應(yīng)2位數(shù)據(jù)中的第二個(gè)位)。一般來(lái)說(shuō),當(dāng)單位存儲(chǔ)單元所存儲(chǔ)的位數(shù)越多,編程越低位的數(shù)據(jù)時(shí)的可容許邊界將變得越窄。以編程三階存儲(chǔ)單元(Triple-Level Cell,TLC)為例,編程高位數(shù)據(jù)時(shí)的可容許邊界>編程中位數(shù)據(jù)時(shí)的可容許邊界>編程低位數(shù)據(jù)時(shí)的可容許邊界。
編程干擾可能會(huì)導(dǎo)致存儲(chǔ)單元原本的閥電壓分布產(chǎn)生偏移。如第1圖所示,SLC的閥電壓分布S1及S0受編程干擾后分別偏移至閥電壓分布S1’及S0’,而MLC的閥電壓分布S11、S10、S00及S01受編程干擾后分別偏移至閥電壓分布S11’、S10’、S00’及S01’。因此,當(dāng)兩數(shù)據(jù)狀態(tài)間的可容許邊界越寬,即便閥電壓分布發(fā)生偏移,透過(guò)預(yù)設(shè)的偏壓設(shè)定(如圖中的傳感電壓Vt)仍可讀取出所存儲(chǔ)的數(shù)據(jù)。反之,當(dāng)閥電壓分布間的可容許邊界越窄,編程干擾所導(dǎo)致的分布偏移將可能使預(yù)設(shè)的偏壓設(shè)定無(wú)法正確地判別出存儲(chǔ)單元所存儲(chǔ)的數(shù)據(jù)。
另一方面,由于編程干擾是指對(duì)選定存儲(chǔ)單元進(jìn)行編程后對(duì)鄰近存儲(chǔ)單元的數(shù)據(jù)所產(chǎn)生的影響,故只有后編程的存儲(chǔ)單元才可能對(duì)先編程的存儲(chǔ)單元產(chǎn)生影響?;谏鲜鎏匦?,可定義出一數(shù)據(jù)存儲(chǔ)位置的編程干擾耐受度。當(dāng)一數(shù)據(jù)存儲(chǔ)位置的編程干擾耐受度越高,表示存放在該數(shù)據(jù)存儲(chǔ)位置的數(shù)據(jù)越不易因編程干擾而發(fā)生錯(cuò)誤。
依據(jù)本發(fā)明實(shí)施例,低編程干擾耐受度的數(shù)據(jù)存儲(chǔ)位置優(yōu)先被選擇存放熱數(shù)據(jù)(hot data),而高編程干擾耐受度的數(shù)據(jù)存儲(chǔ)位置則優(yōu)先被選擇存放冷數(shù)據(jù)(cold data)。所述的熱數(shù)據(jù)表示寫(xiě)入頻率較高的數(shù)據(jù),而冷數(shù)據(jù)表示寫(xiě)入頻率較低的數(shù)據(jù)。
基于閃存的外部更新機(jī)制(out-of-place update),更新的數(shù)據(jù)會(huì)被寫(xiě)入新的空白位置,而過(guò)時(shí)的數(shù)據(jù)將會(huì)變成無(wú)效(invalid)。因此,當(dāng)寫(xiě)入數(shù)據(jù)為熱數(shù)據(jù),表示該數(shù)據(jù)很容易變成無(wú)效。由于編程干擾對(duì)無(wú)效數(shù)據(jù)所產(chǎn)生的影響是無(wú)意義的,故可通過(guò)優(yōu)先選擇編程干擾耐受度較低的空白位置寫(xiě)入熱數(shù)據(jù),以將降低編程干擾在存儲(chǔ)器中的影響。相反地,當(dāng)寫(xiě)入數(shù)據(jù)為冷數(shù)據(jù),表示該數(shù)據(jù)較不易變成無(wú)效。此時(shí),可選擇將冷數(shù)據(jù)優(yōu)先配置到編程干擾耐受度較高的空白位置,以保護(hù)該冷數(shù)據(jù)免于受到編程干擾的影響。
第2圖是依據(jù)本發(fā)明一實(shí)施例的電子系統(tǒng)200的簡(jiǎn)化方塊圖。電子系統(tǒng)200包括存儲(chǔ)器202以及控制器204。存儲(chǔ)器202例如是二維或三維的NAND閃存,或是其他任意的存儲(chǔ)器類(lèi)型。存儲(chǔ)器202包括一或多個(gè)實(shí)體存儲(chǔ)區(qū)塊(block)PB。以NAND閃存為例,執(zhí)行抹除(erase)操作以一實(shí)體存儲(chǔ)區(qū)塊PB為最小單位。實(shí)體存儲(chǔ)區(qū)塊PB包括多個(gè)數(shù)據(jù)單元DU。此些數(shù)據(jù)單元DU又可劃分成多個(gè)虛擬的子區(qū)塊以供操作(詳細(xì)劃分方式將于后述)。數(shù)據(jù)單元DU例如是數(shù)據(jù)頁(yè)(page)或其他基本的數(shù)據(jù)管理單元,端視存儲(chǔ)器的類(lèi)型而定。
控制器204耦接存儲(chǔ)器202,并可經(jīng)配置而對(duì)存儲(chǔ)器202執(zhí)行本發(fā)明實(shí)施例的數(shù)據(jù)配置方法??刂破?04例如是中央處理單元、微處理器或其他任何可對(duì)存儲(chǔ)器204執(zhí)行寫(xiě)入/編程、讀取、抹除等操作的運(yùn)算處理電路。
第3圖是依據(jù)本發(fā)明一實(shí)施例的數(shù)據(jù)配置方法的流程圖。此例示的數(shù)據(jù)配置方法例如是由第2圖的電子系統(tǒng)200的控制器204所執(zhí)行。
在步驟302,控制器204判斷欲寫(xiě)入實(shí)體存儲(chǔ)區(qū)塊PB的數(shù)據(jù)為熱數(shù)據(jù)或冷數(shù)據(jù)。在一實(shí)施例中,控制器204可通過(guò)記錄數(shù)據(jù)的寫(xiě)入次數(shù)/寫(xiě)入頻率來(lái)判斷該數(shù)據(jù)的冷、熱特性。
在步驟304,若欲寫(xiě)入的數(shù)據(jù)為熱數(shù)據(jù),控制器204將依據(jù)一熱數(shù)據(jù)配置順序(hot data allocation order)自實(shí)體存儲(chǔ)區(qū)塊PB中搜尋一或多個(gè)空白子區(qū)塊以配置該數(shù)據(jù)。
所述的熱數(shù)據(jù)配置順序可基于以下兩個(gè)原則而決定:(1)當(dāng)一數(shù)據(jù)存儲(chǔ)位置的編程干擾耐受度越低,其被配置熱數(shù)據(jù)的優(yōu)先級(jí)排得越前面,及/或(2)若基于原則(1)所選的數(shù)據(jù)存儲(chǔ)位置會(huì)對(duì)具有最低編程干擾耐受度的子區(qū)塊產(chǎn)生編程干擾,則跳過(guò)該數(shù)據(jù)存儲(chǔ)位置,改尋找另一數(shù)據(jù)存儲(chǔ)位置(例如基于原則(1)的下一順位子區(qū)塊),以避免具有最低編程干擾耐受度的數(shù)據(jù)存儲(chǔ)位置受編程干擾影響。
因此,基于熱數(shù)據(jù)配置順序,在實(shí)體存儲(chǔ)區(qū)塊PB中編程順序排得越前面且兩數(shù)據(jù)狀態(tài)間的可容許邊界越窄的空白子區(qū)塊將優(yōu)先被選為配置該熱數(shù)據(jù)的子區(qū)塊。換言之,具有較低編程干擾耐受度的空白子區(qū)塊將優(yōu)先被選為放置該熱數(shù)據(jù)的子區(qū)塊。
又,若編程空白子區(qū)塊將對(duì)實(shí)體存儲(chǔ)區(qū)塊PB中具有最低編程干擾耐受度的子區(qū)塊產(chǎn)生編程干擾,控制器204將跳過(guò)該空白子區(qū)塊,改尋找另一空白子區(qū)塊以配置該熱數(shù)據(jù),以避免對(duì)具有最低編程干擾耐受度的子區(qū)塊產(chǎn)生嚴(yán)重的編程干擾,其中具有最低編程干擾耐受度的該子區(qū)塊所對(duì)應(yīng)的編程順序在實(shí)體存儲(chǔ)區(qū)塊PB中為最優(yōu)先,且所對(duì)應(yīng)的可容許邊界最窄。
在步驟306,若欲寫(xiě)入的數(shù)據(jù)為冷數(shù)據(jù),控制器204將依據(jù)一冷數(shù)據(jù)配置順序(cold data allocation order)自實(shí)體存儲(chǔ)區(qū)塊PB中搜尋一或多個(gè)空白子區(qū)塊以配置該數(shù)據(jù)。
所述的冷數(shù)據(jù)配置順序是基于以下兩個(gè)原則而決定:(1)當(dāng)一數(shù)據(jù)存儲(chǔ)位置的編程干擾耐受度越高,其被配置冷數(shù)據(jù)的優(yōu)先級(jí)排得越前面,及/或(2)若基于原則(1)所選的數(shù)據(jù)存儲(chǔ)位置會(huì)對(duì)具有最低編程干擾耐受度的數(shù)據(jù)存儲(chǔ)位置產(chǎn)生編程干擾,則跳過(guò)該數(shù)據(jù)存儲(chǔ)位置,改尋找另一數(shù)據(jù)存儲(chǔ)位置(例如基于原則(1)的下一順位數(shù)據(jù)存儲(chǔ)位置),以避免具有最低編程干擾耐受度的數(shù)據(jù)存儲(chǔ)位置受編程干擾影響。
因此,基于冷數(shù)據(jù)配置順序,在實(shí)體存儲(chǔ)區(qū)塊PB中編程順序排得越后面且兩數(shù)據(jù)狀態(tài)間的可容許邊界越寬的空白子區(qū)塊將優(yōu)先被選為配置該冷數(shù)據(jù)的子區(qū)塊。換言之,具有較高編程干擾耐受度的空白子區(qū)塊將優(yōu)先被選為放置該冷數(shù)據(jù)的子區(qū)塊。
又,若編程該空白子區(qū)塊將對(duì)實(shí)體存儲(chǔ)區(qū)塊PB中具有最低編程干擾耐受度的子區(qū)塊產(chǎn)生編程干擾,控制器204將跳過(guò)該空白子區(qū)塊,改尋找另一空白子區(qū)塊以配置該冷數(shù)據(jù),以避免對(duì)具有最低編程干擾耐受度的子區(qū)塊產(chǎn)生嚴(yán)重的編程干擾。
若控制器204基于步驟304/306同時(shí)找到多個(gè)空白子區(qū)塊可以配置熱數(shù)據(jù)/冷數(shù)據(jù),控制器204將執(zhí)行步驟308,通過(guò)比較所述空白子區(qū)塊的鄰近子區(qū)塊(例如實(shí)體上毗鄰所述空白子區(qū)塊的子區(qū)塊)的無(wú)效數(shù)據(jù)數(shù)量來(lái)決定要將數(shù)據(jù)寫(xiě)入哪一個(gè)空白子區(qū)塊。
舉例來(lái)說(shuō),若欲寫(xiě)入的數(shù)據(jù)為熱數(shù)據(jù),且控制器204基于步驟304找出多個(gè)空白子區(qū)塊可寫(xiě)入該熱數(shù)據(jù),此時(shí)控制器204將比較各個(gè)空白子區(qū)塊的鄰近子區(qū)塊的無(wú)效數(shù)據(jù)數(shù)量,以選擇與最多無(wú)效數(shù)據(jù)相鄰的空白子區(qū)塊來(lái)寫(xiě)入該數(shù)據(jù)。透過(guò)此方式,可較佳地將編程干擾散布至無(wú)效數(shù)據(jù)上,并減少編程干擾對(duì)有效數(shù)據(jù)的影響。
類(lèi)似地,若欲寫(xiě)入的數(shù)據(jù)為冷數(shù)據(jù),且控制器204基于步驟304找出多個(gè)空白子區(qū)塊可寫(xiě)入該冷數(shù)據(jù),此時(shí)控制器204將比較各個(gè)空白子區(qū)塊的鄰近子區(qū)塊的無(wú)效數(shù)據(jù)數(shù)量,以自所述空白子區(qū)塊中選擇與最多無(wú)效數(shù)據(jù)相鄰的空白子區(qū)塊來(lái)寫(xiě)入該數(shù)據(jù)。
依據(jù)本發(fā)明實(shí)施例,實(shí)體存儲(chǔ)區(qū)塊PB中的多個(gè)數(shù)據(jù)單元DU可依據(jù)一實(shí)體位置交錯(cuò)(interleaving)條件及/或一數(shù)據(jù)準(zhǔn)位(leveling)條件而劃分成多個(gè)虛擬(virtual)的子區(qū)塊。所述的子區(qū)塊是指虛擬的單元,也就是虛擬的管理單元,其可被控制器,或被存儲(chǔ)系統(tǒng)相關(guān)的管理軟件層所使用(像是文件系統(tǒng)(File System)、閃存轉(zhuǎn)換層(Flash Translation Layer,F(xiàn)TL)、存儲(chǔ)器裝置技術(shù)層(Memory Technology Device,MTD)等)。虛擬的單元并不同于存儲(chǔ)器中實(shí)體的抹除單元。所述的實(shí)體位置交錯(cuò)條件是指一子區(qū)塊中的數(shù)據(jù)單元DU彼此實(shí)體不相鄰。而所述的數(shù)據(jù)準(zhǔn)位條件是指對(duì)應(yīng)不同數(shù)據(jù)準(zhǔn)位的數(shù)據(jù)單元DU被歸類(lèi)至不同的子區(qū)塊。以下,將配合第4a~4c、5、6圖作說(shuō)明。然需注意的是,以下例示僅是作為說(shuō)明之用,而非用以限制本發(fā)明。實(shí)體存儲(chǔ)區(qū)塊PB中數(shù)據(jù)單元DU的數(shù)量、類(lèi)型以及結(jié)構(gòu)配置皆可是任意的,端視不同的應(yīng)用而定。
第4a圖是依據(jù)實(shí)體位置交錯(cuò)條件劃分?jǐn)?shù)據(jù)單元DU(以數(shù)據(jù)頁(yè)為例)以形成子區(qū)塊的一例示意圖。如第4a圖所示,實(shí)體存儲(chǔ)區(qū)塊中的字線WL0對(duì)應(yīng)數(shù)據(jù)頁(yè)P(yáng)1、P2、P3及P4。數(shù)據(jù)頁(yè)P(yáng)1~P4沿X軸方向依序排列?;谒龅膶?shí)體位置交錯(cuò)條件,數(shù)據(jù)頁(yè)P(yáng)1及P3被劃分至同一子區(qū)塊402,而數(shù)據(jù)頁(yè)P(yáng)2及P4被劃分至另一子區(qū)塊404。換言之,針對(duì)子區(qū)塊402,當(dāng)中的數(shù)據(jù)頁(yè)P(yáng)1、P3彼此實(shí)體不相鄰;而針對(duì)子區(qū)塊404,當(dāng)中的數(shù)據(jù)頁(yè)P(yáng)2、P4彼此實(shí)體不相鄰。
第4b圖是依據(jù)實(shí)體位置交錯(cuò)條件劃分?jǐn)?shù)據(jù)單元DU(以數(shù)據(jù)頁(yè)為例)以形成子區(qū)塊的另一例示意圖。在第4b圖的例子中,實(shí)體存儲(chǔ)區(qū)塊中的字線WL0對(duì)應(yīng)沿X軸方向依序排列數(shù)據(jù)頁(yè)P(yáng)1~P4,而字線WL1對(duì)應(yīng)沿X軸方向依序排列數(shù)據(jù)頁(yè)P(yáng)5~P8。字線WL0及WL1沿Y軸方向相鄰設(shè)置?;谒龅膶?shí)體位置交錯(cuò)條件,數(shù)據(jù)頁(yè)P(yáng)1、P3、P6及P8被劃分至同一子區(qū)塊406,而數(shù)據(jù)頁(yè)P(yáng)2、P4、P5及P7被劃分至另一子區(qū)塊408。換言之,針對(duì)子區(qū)塊406,當(dāng)中的數(shù)據(jù)頁(yè)P(yáng)1、P3、P6及P8彼此實(shí)體不相鄰;而針對(duì)子區(qū)塊408,當(dāng)中的數(shù)據(jù)頁(yè)P(yáng)2、P4、P5及P7彼此實(shí)體不相鄰。
第4c圖是依據(jù)實(shí)體位置交錯(cuò)條件劃分?jǐn)?shù)據(jù)單元DU(以數(shù)據(jù)頁(yè)為例)以形成子區(qū)塊的又一例示意圖。在此例中,字線WL0對(duì)應(yīng)沿著Z軸方向堆疊的數(shù)據(jù)頁(yè)P(yáng)1~P4?;谒龅膶?shí)體位置交錯(cuò)條件,數(shù)據(jù)頁(yè)P(yáng)1及P3被劃分至同一子區(qū)塊410,而數(shù)據(jù)頁(yè)P(yáng)2及P4被劃分至另一子區(qū)塊412。換言之,針對(duì)子區(qū)塊410,當(dāng)中的數(shù)據(jù)頁(yè)P(yáng)1、P3彼此實(shí)體不相鄰;而針對(duì)子區(qū)塊412,當(dāng)中的數(shù)據(jù)頁(yè)P(yáng)2、P4彼此實(shí)體不相鄰。
第5圖是依據(jù)數(shù)據(jù)準(zhǔn)位條件劃分?jǐn)?shù)據(jù)單元DU(以數(shù)據(jù)頁(yè)為例)以形成子區(qū)塊的一例示意圖。假設(shè)數(shù)據(jù)頁(yè)P(yáng)1、P2及P3為MLC的架構(gòu),則數(shù)據(jù)頁(yè)P(yáng)1、P2及P3可虛擬地劃分成用以存儲(chǔ)高位數(shù)據(jù)的子區(qū)塊502以及用以存儲(chǔ)低位數(shù)據(jù)的子區(qū)塊504。同理,若數(shù)據(jù)頁(yè)P(yáng)1、P2及P3為T(mén)LC的架構(gòu),則數(shù)據(jù)頁(yè)P(yáng)1、P2及P3可虛擬地劃分成用以存儲(chǔ)高位數(shù)據(jù)的子區(qū)塊512、用以存儲(chǔ)中位數(shù)據(jù)的子區(qū)塊514、以及用以存儲(chǔ)低位數(shù)據(jù)的子區(qū)塊516??偠灾?,若實(shí)體存儲(chǔ)區(qū)塊PB中的存儲(chǔ)單元DU采用N階存儲(chǔ)單元的架構(gòu),則基于數(shù)據(jù)準(zhǔn)位條件,所述存儲(chǔ)單元DU可劃分成用以存儲(chǔ)第一位數(shù)據(jù)的子區(qū)塊、用以存儲(chǔ)第二位數(shù)據(jù)的子區(qū)塊、…以及用以存儲(chǔ)第N位數(shù)據(jù)的子區(qū)塊,其中N為正整數(shù)。
第6圖是結(jié)合實(shí)體位置交錯(cuò)條件以及數(shù)據(jù)準(zhǔn)位條件劃分?jǐn)?shù)據(jù)單元DU(以數(shù)據(jù)頁(yè)為例)以形成子區(qū)塊的一例示意圖。在此例中,實(shí)體存儲(chǔ)區(qū)塊中的字線WL0對(duì)應(yīng)沿X軸方向依序排列數(shù)據(jù)頁(yè)P(yáng)1~P4,而字線WL1對(duì)應(yīng)沿X軸方向依序排列數(shù)據(jù)頁(yè)P(yáng)5~P8。字線WL0及WL1沿Y軸方向相鄰設(shè)置。數(shù)據(jù)頁(yè)P(yáng)1~P8例如分別包括沿著Z軸方向堆疊成K層的存儲(chǔ)單元,其中K為正整數(shù)。
若數(shù)據(jù)頁(yè)P(yáng)1~P8中的存儲(chǔ)單元采用MLC的架構(gòu),則基于所述的實(shí)體位置交錯(cuò)條件以及數(shù)據(jù)準(zhǔn)位條件,彼此實(shí)體不相鄰的數(shù)據(jù)頁(yè)P(yáng)1、P3、P6、P8可劃分成用以存儲(chǔ)高位數(shù)據(jù)的子區(qū)塊602以及用以存儲(chǔ)低位數(shù)據(jù)的子區(qū)塊604,而彼此實(shí)體不相鄰的數(shù)據(jù)頁(yè)P(yáng)2、P4、P5、P7可劃分成用以存儲(chǔ)高位數(shù)據(jù)的子區(qū)塊606以及用以存儲(chǔ)低位數(shù)據(jù)的子區(qū)塊608。
更一般地說(shuō),若實(shí)體存儲(chǔ)區(qū)塊PB包括多個(gè)采取N階存儲(chǔ)單元架構(gòu)的數(shù)據(jù)單元DU,所述數(shù)據(jù)單元DU中彼此實(shí)體不相鄰的一組數(shù)據(jù)單元DU將被劃分成N個(gè)子區(qū)塊,以分別存儲(chǔ)N位數(shù)據(jù)中的第一位數(shù)據(jù)、第二位數(shù)據(jù)、…、以及第N位數(shù)據(jù)。如第6圖所示,一組數(shù)據(jù)單元DU(如數(shù)據(jù)頁(yè)P(yáng)1、P3、P6、P8)被劃分成一用以存儲(chǔ)該組數(shù)據(jù)單元DU的高位數(shù)據(jù)的子區(qū)塊(如子區(qū)塊602),以及一用以存儲(chǔ)該組數(shù)據(jù)單元DU的低位數(shù)據(jù)的子區(qū)塊(如子區(qū)塊604)。
類(lèi)似地,實(shí)體存儲(chǔ)區(qū)塊PB中彼此實(shí)體不相鄰的另一組數(shù)據(jù)單元DU(如數(shù)據(jù)頁(yè)P(yáng)2、P4、P5、P7)將被劃分N個(gè)子區(qū)塊,以分別存儲(chǔ)N位數(shù)據(jù)中的第一位數(shù)據(jù)、第二位數(shù)據(jù)、…、以及第N位數(shù)據(jù)。如第6圖所示,該另一組數(shù)據(jù)單元DU(如數(shù)據(jù)頁(yè)P(yáng)2、P4、P5、P7)被劃分成一用以存儲(chǔ)該另一組數(shù)據(jù)單元DU的高位數(shù)據(jù)的子區(qū)塊(如子區(qū)塊606),以及一用以存儲(chǔ)該另一組數(shù)據(jù)單元DU的低位數(shù)據(jù)的子區(qū)塊(如子區(qū)塊608)。
第7圖是結(jié)合實(shí)體位置交錯(cuò)條件以及數(shù)據(jù)準(zhǔn)位條件劃分出子區(qū)塊后,各子區(qū)塊間的編程干擾耐受度強(qiáng)弱關(guān)系。在第7圖的例子中,子區(qū)塊A及B分別對(duì)應(yīng)存儲(chǔ)高位數(shù)據(jù)以及低位數(shù)據(jù)的同一組實(shí)體不相鄰的數(shù)據(jù)單元DU;子區(qū)塊C及D分別對(duì)應(yīng)存儲(chǔ)高位數(shù)據(jù)以及低位數(shù)據(jù)的另一組實(shí)體不相鄰的數(shù)據(jù)單元DU。
基于預(yù)設(shè)的編程設(shè)定,控制器對(duì)子區(qū)塊A~D的編程MLC數(shù)據(jù)的順序由先至后依序?yàn)锳→C→B→D。第7圖中符號(hào)“()”中的數(shù)字即表示此些子區(qū)塊A~D的編程順序。
由于低位數(shù)據(jù)所對(duì)應(yīng)的可容許邊界較窄,故其相較于高位數(shù)據(jù)更容易受編程干擾的影響。此外,后編程的子區(qū)塊將對(duì)鄰近的先編程子區(qū)塊產(chǎn)生編程干擾?;诖藘梢蛩?,可區(qū)分出子區(qū)塊A~D所對(duì)應(yīng)的編程干擾耐受度。進(jìn)一步說(shuō),由于子區(qū)塊B用以存儲(chǔ)低位數(shù)據(jù)且其存儲(chǔ)的數(shù)據(jù)可能受后編程的子區(qū)塊D影響,故子區(qū)塊B的編程干擾耐受度最低。而子區(qū)塊D因?yàn)槭怯靡源鎯?chǔ)低位數(shù)據(jù),故其編程干擾耐受度為次低。子區(qū)塊A雖是用以存儲(chǔ)高位數(shù)據(jù),但因其存儲(chǔ)的數(shù)據(jù)可能受后編程的子區(qū)塊C、B、D影響,故其編程干擾耐受度為次高。最后,由于子區(qū)塊C不但是用以存儲(chǔ)高位數(shù)據(jù),且相較于子區(qū)塊A為后編程(只會(huì)受到后編程的子區(qū)塊B、D的影響),故其編程干擾耐受度為最高。
可理解,基于相同的原則,亦可區(qū)分出采取不同數(shù)據(jù)存儲(chǔ)架構(gòu)(如N階存儲(chǔ)單元架構(gòu))以及編程順序的子區(qū)塊的編程干擾耐受度。
第8圖是對(duì)第7圖的子區(qū)塊A~D配置熱數(shù)據(jù)的優(yōu)先次序圖?;跓釘?shù)據(jù)配置順序,控制器(如控制器204)優(yōu)先尋找具有最低編程干擾耐受度的空白子區(qū)塊以配置熱數(shù)據(jù)。如第8圖所示,控制器最先尋找空白的子區(qū)塊B以配置熱數(shù)據(jù)。進(jìn)一步說(shuō),由于子區(qū)塊A~D的編程數(shù)據(jù)的順序由先至后依序?yàn)锳→C→B→D,故當(dāng)編程順序輪到子區(qū)塊B,且子區(qū)塊B為空白,控制器將優(yōu)先對(duì)子區(qū)塊B填入熱數(shù)據(jù)。
當(dāng)無(wú)法找到空白的子區(qū)塊B,控制器將改尋找空白的子區(qū)塊A以配置熱數(shù)據(jù),而非尋找具有次低編程干擾耐受度的空白子區(qū)塊D。這是因?yàn)槿魧釘?shù)據(jù)寫(xiě)入子區(qū)塊D,子區(qū)塊B將會(huì)受到編程干擾。由于子區(qū)塊B的編程干擾耐受度最低,故當(dāng)中的既存數(shù)據(jù)很可能因?yàn)榫幊谈蓴_而發(fā)生錯(cuò)誤。為避免上述情況發(fā)生,子區(qū)塊D反而是被列為最后被選擇寫(xiě)入熱數(shù)據(jù)的子區(qū)塊。故在此例中,子區(qū)塊B具有最優(yōu)先的候選順序被配置熱數(shù)據(jù),子區(qū)塊A次之,再次為子區(qū)塊C,最后為子區(qū)塊D。第8圖中符號(hào)“()”中的數(shù)字即表示此些子區(qū)塊A~D所對(duì)應(yīng)的熱數(shù)據(jù)配置順序。
第9圖是對(duì)第7圖的子區(qū)塊A~D配置冷數(shù)據(jù)的優(yōu)先次序圖。基于冷數(shù)據(jù)配置順序,控制器(如控制器204)優(yōu)先尋找具有最高編程干擾耐受度的空白子區(qū)塊以配置冷數(shù)據(jù)。如第9圖所示,控制器最先尋找空白的子區(qū)塊C以配置冷數(shù)據(jù)。進(jìn)一步說(shuō),由于控制器對(duì)子區(qū)塊A~D的編程數(shù)據(jù)的順序由先至后依序?yàn)锳→C→B→D,故當(dāng)編程順序輪到子區(qū)塊C,且子區(qū)塊C為空白,控制器將優(yōu)先對(duì)其配置冷數(shù)據(jù)。若無(wú)法找到空白的子區(qū)塊C,控制器將改尋找具有次高編程干擾空白的子區(qū)塊A以配置數(shù)據(jù)。
若仍無(wú)法找到空白的子區(qū)塊A,控制器將改尋找空白的子區(qū)塊B以配置冷數(shù)據(jù),而非尋找具有次低編程干擾耐受度的空白子區(qū)塊D。這是因?yàn)槿魧⒗鋽?shù)據(jù)寫(xiě)入子區(qū)塊D,子區(qū)塊B將會(huì)受到編程干擾。由于子區(qū)塊B的編程干擾耐受度最低,故當(dāng)中的既存數(shù)據(jù)很可能因?yàn)榫幊谈蓴_而發(fā)生錯(cuò)誤。為避免上述情況發(fā)生,子區(qū)塊D反而是被列為最后被選擇配置冷數(shù)據(jù)的子區(qū)塊。故在此例中,子區(qū)塊C具有最優(yōu)先的候選順序被配置冷數(shù)據(jù),子區(qū)塊A次之,再次為子區(qū)塊B,最后為子區(qū)塊D。第9圖中符號(hào)“()”中的數(shù)字即表示子區(qū)塊A~D所對(duì)應(yīng)的冷數(shù)據(jù)配置順序。
第10圖是對(duì)基于TLC架構(gòu)的子區(qū)塊A~F配置熱數(shù)據(jù)的優(yōu)先次序圖。在此例中,子區(qū)塊A、D用以存儲(chǔ)高位數(shù)據(jù),其中子區(qū)塊A為先編程部分(對(duì)應(yīng)一組數(shù)據(jù)單元DU),子區(qū)塊D為后編程部分(對(duì)應(yīng)另一組數(shù)據(jù)單元DU)。子區(qū)塊B、E用以存儲(chǔ)中位數(shù)據(jù),其中子區(qū)塊B為先編程部分,子區(qū)塊E為后編程部分。子區(qū)塊C、F用以存儲(chǔ)低位數(shù)據(jù),其中子區(qū)塊C為先編程部分,子區(qū)塊F為后編程部分。假設(shè)編程高位數(shù)據(jù)的可容許邊界>編程中位數(shù)據(jù)的可容許邊界>編程低位數(shù)據(jù)的可容許邊界,子區(qū)塊A~F的編程干擾耐受度由弱至強(qiáng)依序?yàn)椋篊→F→B→E→A→D。
此時(shí),若欲寫(xiě)入的數(shù)據(jù)為熱數(shù)據(jù),則基于熱數(shù)據(jù)配置順序,可決定出對(duì)子區(qū)塊A~F配置熱數(shù)據(jù)的候選順序由先至后依序?yàn)椋篊→B→E→A→D→F。第10圖中符號(hào)“()”中的數(shù)字即表示子區(qū)塊A~F所對(duì)應(yīng)的熱數(shù)據(jù)配置順序。
第11圖是對(duì)基于TLC架構(gòu)的子區(qū)塊A~F配置冷數(shù)據(jù)的優(yōu)先次序圖。類(lèi)似第10圖的例子,子區(qū)塊A、D用以存儲(chǔ)高位數(shù)據(jù),其中子區(qū)塊A為先編程部分(對(duì)應(yīng)一組數(shù)據(jù)單元DU),子區(qū)塊D為后編程部分(對(duì)應(yīng)另一組數(shù)據(jù)單元DU)。子區(qū)塊B、E用以存儲(chǔ)中位數(shù)據(jù),其中子區(qū)塊B為先編程部分,子區(qū)塊E為后編程部分。子區(qū)塊C、F用以存儲(chǔ)低位數(shù)據(jù),其中子區(qū)塊C為先編程部分,子區(qū)塊F為后編程部分。假設(shè)編程高位數(shù)據(jù)的可容許邊界>編程中位數(shù)據(jù)的可容許邊界>編程低位數(shù)據(jù)的可容許邊界,子區(qū)塊A~F的編程干擾耐受度由弱至強(qiáng)依序?yàn)椋篊→F→B→E→A→D。
此時(shí),若欲寫(xiě)入的數(shù)據(jù)為冷數(shù)據(jù),則基于冷數(shù)據(jù)配置順序,可決定對(duì)子區(qū)塊A~F配置冷數(shù)據(jù)的候選順序由先至后依序?yàn)椋篋→A→E→B→C→F。第11圖中符號(hào)“()”中的數(shù)字即表示子區(qū)塊A~F所對(duì)應(yīng)的冷數(shù)據(jù)配置順序。
綜上所述,本發(fā)明所提出的數(shù)據(jù)配置方法及應(yīng)用其的電子系統(tǒng)可減輕編程干擾的影響。通過(guò)重新劃分實(shí)體存儲(chǔ)區(qū)塊,并基于數(shù)據(jù)本身的冷、熱特性以將其配置至特定的數(shù)據(jù)存儲(chǔ)位置,因編程干擾而造成的錯(cuò)誤可有效地被降低,進(jìn)而提升存儲(chǔ)器的可靠度。
以上所述的具體實(shí)施例,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說(shuō)明,應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施例而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。