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