專利名稱:在非易失性存儲(chǔ)器系統(tǒng)中執(zhí)行多頁面寫入操作的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及海量數(shù)字?jǐn)?shù)據(jù)存儲(chǔ)存儲(chǔ)系統(tǒng)。更具體地說,本發(fā)明涉及允許以有效方式大體同時(shí)對(duì)非易失性存儲(chǔ)器系統(tǒng)的多頁面進(jìn)行訪問的系統(tǒng)和方法。
背景技術(shù):
由于諸如快閃存儲(chǔ)器存儲(chǔ)系統(tǒng)的非易失性存儲(chǔ)器系統(tǒng)的緊湊物理大小和非易失性存儲(chǔ)器具有被反復(fù)再編程的能力,所以此等存儲(chǔ)器系統(tǒng)的使用日益增加。快閃存儲(chǔ)器存儲(chǔ)系統(tǒng)的緊湊物理大小促進(jìn)在日益變得流行的裝置中使用此等存儲(chǔ)系統(tǒng)。使用快閃存儲(chǔ)器存儲(chǔ)系統(tǒng)的裝置包括(但不限于)數(shù)碼相機(jī)、數(shù)碼攝像機(jī)、數(shù)碼音樂播放器、手提個(gè)人計(jì)算機(jī)和全球定位裝置??煞磸?fù)再編程包括在快閃存儲(chǔ)器存儲(chǔ)系統(tǒng)中的非易失性存儲(chǔ)器的能力使得能夠使用并再使用快閃存儲(chǔ)器存儲(chǔ)系統(tǒng)。
一般來說,快閃存儲(chǔ)器存儲(chǔ)系統(tǒng)可包括快閃存儲(chǔ)器卡和快閃存儲(chǔ)器芯片組??扉W存儲(chǔ)器芯片組一般包括數(shù)個(gè)快閃存儲(chǔ)器組件和一控制器組件。通常,可排列快閃存儲(chǔ)器芯片組以將其組裝到嵌入式系統(tǒng)中。所述組合或主機(jī)系統(tǒng)的制造商通常獲取以組件形式的快閃存儲(chǔ)器以及其它組件,接著將快閃存儲(chǔ)器與其它組件組裝成主機(jī)系統(tǒng)。
從快閃存儲(chǔ)器中讀取數(shù)據(jù)、在其中擦除數(shù)據(jù)和將數(shù)據(jù)寫入到其中的方法可能相對(duì)耗時(shí),尤其在數(shù)據(jù)量相對(duì)較高的時(shí)候。明確地說,當(dāng)重復(fù)或大體上連續(xù)訪問頁面時(shí),可證明為執(zhí)行讀取操作、擦除操作或?qū)懭氩僮?,與訪問快閃存儲(chǔ)器的頁面相關(guān)的訪問時(shí)間相對(duì)重要。舉例來說,每次訪問快閃存儲(chǔ)器內(nèi)的一個(gè)頁面以使數(shù)據(jù)能夠?qū)懭氲皆擁撁鏁r(shí),訪問時(shí)間可介于用于二進(jìn)制快閃存儲(chǔ)器的約250微秒(μs)與用于多級(jí)單元(MLC)快閃存儲(chǔ)器的約一毫秒(ms)之間。當(dāng)許多頁面待寫入時(shí),與將數(shù)據(jù)寫入許多頁面相關(guān)的總訪問時(shí)間可能足夠高,從而顯著影響整個(gè)快閃存儲(chǔ)器系統(tǒng)的性能。
因此,需要一種減少與非易失性存儲(chǔ)器系統(tǒng)中讀取、擦除或?qū)懭敕椒ㄏ嚓P(guān)的總訪問時(shí)間的方法。即,需要一種大體上通過減少與讀取、擦除或?qū)懭敕且资源鎯?chǔ)器的頁面中數(shù)據(jù)相關(guān)的有效訪問時(shí)間,來改進(jìn)非易失性存儲(chǔ)器系統(tǒng)的性能的方法和系統(tǒng)。
發(fā)明內(nèi)容
本發(fā)明涉及一種促進(jìn)非易失性存儲(chǔ)器系統(tǒng)中的多頁面或多區(qū)塊操作的系統(tǒng)和方法。根據(jù)本發(fā)明的一個(gè)方面,執(zhí)行多頁面命令的方法包括獲得識(shí)別與非易失性存儲(chǔ)器相關(guān)的第一頁面的第一規(guī)范的第一頁面號(hào);和將第一頁面號(hào)映射到第二規(guī)范的第二頁面號(hào)。類似第一頁面號(hào),第二頁面號(hào)也識(shí)別第一頁面。將第一頁面號(hào)映射到第二頁面號(hào)包括識(shí)別與非易失性存儲(chǔ)器相關(guān)的區(qū)的總數(shù)目和與區(qū)塊的總數(shù)目的各個(gè)區(qū)塊相關(guān)的頁面的總數(shù)目。最后,使用第二頁面號(hào)和多頁面命令來訪問第一頁面。
在一實(shí)施例中,所述方法包括獲得識(shí)別第二頁的第一規(guī)范的第三頁面號(hào);將第三頁面號(hào)映射到也識(shí)別第二頁面的第二規(guī)范的第四頁面號(hào);和使用第二頁面號(hào)來訪問第一頁面并大體上同時(shí)使用第四頁面號(hào)來訪問第二頁面。在此實(shí)施例中,訪問第一頁面并訪問第二頁面可包括將數(shù)據(jù)寫入第一頁面與第二頁和從第一頁與第二頁擦除數(shù)據(jù)中的一個(gè)步驟。
對(duì)于多頁面寫入方法而言,不同區(qū)中的若干頁面可被大體上立刻寫入。將多頁面分組,使得在快閃存儲(chǔ)器的各個(gè)區(qū)中的一個(gè)頁面可大體上被立刻寫入,從而允許有效減少與總的讀取與寫入方法相關(guān)的時(shí)間量。通過有效地布局存儲(chǔ)器,使得當(dāng)用戶試圖將數(shù)據(jù)寫入頁面時(shí),用戶能夠指定有效鄰接的用戶規(guī)范的頁面號(hào),使得由用戶實(shí)現(xiàn)的對(duì)存儲(chǔ)器的訪問可有效發(fā)生。將用戶規(guī)范的頁面號(hào)轉(zhuǎn)換或另外映射到實(shí)際頁面號(hào)中允許執(zhí)行多頁面命令。當(dāng)轉(zhuǎn)換或映射有效發(fā)生時(shí),可減少完成多頁面寫入方法需要的總時(shí)間量,從而增加包括快閃存儲(chǔ)器的整個(gè)系統(tǒng)的性能。因?yàn)橐詥蝹€(gè)訪問時(shí)間同時(shí)寫入來自多區(qū)塊的各區(qū)塊的一個(gè)頁面,所以通常將多頁面寫入操作的命令命名為″多區(qū)塊編程″操作多區(qū)塊。
根據(jù)本發(fā)明的另一個(gè)方面,在包括具有頁面的區(qū)塊的非易失性存儲(chǔ)器內(nèi)組織復(fù)數(shù)個(gè)區(qū)的方法包括將第一規(guī)范的第一頁面號(hào)分配到與第一區(qū)相關(guān)的第一頁面;和將第二頁面號(hào)分配到與第二區(qū)相關(guān)的第二頁面。使用與包括在復(fù)數(shù)個(gè)區(qū)中的區(qū)的總數(shù)目和包括在第一區(qū)中的頁面的總數(shù)目相關(guān)的信息,來排列第一頁面號(hào)以將其轉(zhuǎn)換成與第一頁面相關(guān)的第一物理頁面號(hào),并排列第二頁面號(hào)以將其轉(zhuǎn)換成與第二頁面相關(guān)的第二物理頁面號(hào)。在一實(shí)施例中,與包括在復(fù)數(shù)個(gè)區(qū)中的區(qū)的總數(shù)目和包括在第一區(qū)中的頁面的總數(shù)目相關(guān)的信息至少部分并入一數(shù)據(jù)結(jié)構(gòu)中,例如一查找表。
根據(jù)本發(fā)明的另一個(gè)方面,能夠使用共同命令來訪問存儲(chǔ)器元件的方法包括使用第一規(guī)范的識(shí)別符來識(shí)別復(fù)數(shù)個(gè)存儲(chǔ)器元件;和將第一規(guī)范的識(shí)別符轉(zhuǎn)換成第二規(guī)范的識(shí)別符,其中所述存儲(chǔ)器元件被分組成排列成區(qū)的組。第二規(guī)范的識(shí)別符對(duì)應(yīng)于非易失性存儲(chǔ)器內(nèi)的存儲(chǔ)器元件的實(shí)際位置。將第一規(guī)范的識(shí)別符轉(zhuǎn)換成第二規(guī)范的識(shí)別符包括使用與區(qū)的總數(shù)目相關(guān)的信息、與包括在各個(gè)組中的存儲(chǔ)器元件的總數(shù)目相關(guān)的信息和第一識(shí)別符。最后,所述方法包括使用共同命令來訪問所述復(fù)數(shù)個(gè)存儲(chǔ)器元件。
在一實(shí)施例中,使用與區(qū)的總數(shù)目相關(guān)的信息、與包括在各個(gè)組中的存儲(chǔ)器元件的總數(shù)目相關(guān)的信息和第一識(shí)別符來將第一規(guī)范的識(shí)別符轉(zhuǎn)換成第二規(guī)范的識(shí)別符的步驟包括將其編索引成包括與第二規(guī)范的識(shí)別符相關(guān)的信息的數(shù)據(jù)結(jié)構(gòu)。在此實(shí)施例中,數(shù)據(jù)結(jié)構(gòu)可為一查找表。在另一個(gè)實(shí)施例中,所述組可為區(qū)塊且所述存儲(chǔ)器元件可為物理頁面。
在閱讀下列詳細(xì)描述并研究圖式的各圖后,本發(fā)明的此等和其它優(yōu)點(diǎn)將變得顯而易見。
通過參考下列描述并結(jié)合附圖可最佳理解本發(fā)明,其中圖1a為包括一非易失性存儲(chǔ)器的通用主機(jī)系統(tǒng)的圖解表示。
圖1b為如圖1a的存儲(chǔ)器裝置120的存儲(chǔ)器裝置的圖解表示。
圖1c為包括嵌入式非易失性存儲(chǔ)器的主機(jī)系統(tǒng)的圖解表示。
圖2a為根據(jù)本發(fā)明的一實(shí)施例的非易失性存儲(chǔ)器內(nèi)的區(qū)塊的圖解表示。
圖2b為根據(jù)本發(fā)明的一實(shí)施例的被分組成區(qū)的如圖2a的區(qū)塊202的非易失性存儲(chǔ)器內(nèi)的區(qū)塊的圖解表示。
圖3a為根據(jù)本發(fā)明的一實(shí)施例的非易失性存儲(chǔ)器組件內(nèi)的如圖2b的區(qū)212的區(qū)的圖解表示。
圖3b為根據(jù)本發(fā)明的一實(shí)施例的被分組為多頁面扇區(qū)的非易失性存儲(chǔ)器組件內(nèi)的頁面的圖解表示。
圖4為根據(jù)本發(fā)明的一實(shí)施例的其中頁面已被分配轉(zhuǎn)換頁面號(hào)的非易失性存儲(chǔ)器內(nèi)的區(qū)的圖解表示。
圖5為根據(jù)本發(fā)明的一實(shí)施例,將與非易失性存儲(chǔ)器中的區(qū)塊相關(guān)的轉(zhuǎn)換頁面號(hào)映射成實(shí)際物理頁面號(hào)的映射的圖解表示。
圖6為根據(jù)本發(fā)明的一實(shí)施例的具有被分組成區(qū)和單元的轉(zhuǎn)換頁面號(hào)的復(fù)數(shù)個(gè)區(qū)塊的圖解表示。
圖7為根據(jù)本發(fā)明的一實(shí)施例可用于促進(jìn)多頁面訪問或編程操作的查找表的圖解表示。
圖8為說明與在諸如根據(jù)本發(fā)明的一實(shí)施例的系統(tǒng)的非易失性存儲(chǔ)器系統(tǒng)內(nèi),執(zhí)行多頁面寫入操作的一方法相關(guān)的步驟的方法流程圖。
圖9為說明與涉及使用根據(jù)本發(fā)明的一實(shí)施例的查找表的多頁面寫入方法相關(guān)的步驟的方法流程圖。
圖10為說明與在諸如根據(jù)本發(fā)明的一實(shí)施例的系統(tǒng)的非易失性存儲(chǔ)器系統(tǒng)內(nèi),執(zhí)行讀取操作的一方法相關(guān)的步驟的方法流程圖。
圖11為說明與涉及使用根據(jù)本發(fā)明的一實(shí)施例的查找表的讀取方法相關(guān)的步驟的方法流程圖。
圖12為根據(jù)本發(fā)明的一實(shí)施例的系統(tǒng)架構(gòu)的圖解方框表示。
具體實(shí)施例方式
減少諸如NAND快閃存儲(chǔ)器的非易失性存儲(chǔ)器中的讀取、擦除或?qū)懭霐?shù)據(jù)需要的開銷量,能夠改進(jìn)包括非易失性存儲(chǔ)器的整個(gè)系統(tǒng)的性能。通常,可在任何給定時(shí)間(如,在對(duì)非易失性存儲(chǔ)器的一個(gè)訪問時(shí)間期間)訪問非易失性存儲(chǔ)器系統(tǒng)中的單個(gè)頁面。因?yàn)閷?duì)寫入一個(gè)頁面的訪問時(shí)間可從用于二進(jìn)制快閃存儲(chǔ)器的約250微秒(μs)到用于多級(jí)單元(MLC)快閃存儲(chǔ)器的大于約一毫秒(ms)變化,所以多重寫入方法可相對(duì)耗時(shí),且因此不利地影響整個(gè)非易失性存儲(chǔ)器系統(tǒng)的性能。
為有效地減少在諸如非易失性存儲(chǔ)器上執(zhí)行操作(諸如,寫入操作)所需要的時(shí)間量,即,為增加整個(gè)系統(tǒng)內(nèi)的寫入速度,可在任何一個(gè)時(shí)間寫入多個(gè)頁面。即,可實(shí)施能夠在一單一訪問時(shí)間期間大體上寫入一個(gè)頁面以上的多頁面寫入操作。一般來說,能夠進(jìn)行多頁面編程,以便可對(duì)多頁面進(jìn)行(諸如)寫入或讀取或擦除的編程,這樣從而共同減少了與編程過程相關(guān)的時(shí)間量。舉例來說,在大體上同時(shí)將數(shù)據(jù)寫入到MLC快閃存儲(chǔ)器中的四個(gè)頁面中時(shí),寫入過程所使用的總時(shí)間量可從大于約4ms減少到約1ms。因此,寫入操作可更有效地進(jìn)行。
可從使用多頁面命令將數(shù)據(jù)讀取、擦除和寫入到頁面或區(qū)塊中獲益的快閃存儲(chǔ)器系統(tǒng)(或,更一般而言,非易失性存儲(chǔ)器裝置)一般包括快閃存儲(chǔ)卡和芯片組。通常,快閃存儲(chǔ)器系統(tǒng)與主機(jī)系統(tǒng)結(jié)合使用,使得主機(jī)系統(tǒng)可將數(shù)據(jù)寫入到快閃存儲(chǔ)器系統(tǒng),或從其讀取數(shù)據(jù)。然而,如下文關(guān)于圖1c所論述,某些快閃存儲(chǔ)器系統(tǒng)包括嵌入式快閃存儲(chǔ)器和在一主機(jī)上執(zhí)行以大體上充當(dāng)嵌入式快閃存儲(chǔ)器的控制器的軟件。參考圖1a,下文將描述一包括非易失性存儲(chǔ)器裝置(例如,微型快閃存儲(chǔ)卡)的通用主機(jī)系統(tǒng)。主機(jī)或計(jì)算機(jī)系統(tǒng)100一般包括一系統(tǒng)總線104,其允許微處理器108、隨機(jī)存取存儲(chǔ)器(RAM)112和輸入/輸出電路116進(jìn)行通信。應(yīng)了解,主機(jī)系統(tǒng)100一般可包括其它組件,例如,顯示裝置和連網(wǎng)裝置,出于說明的目的而未加以圖示。
一般來說,主機(jī)系統(tǒng)100能夠捕獲包括(但不限于)靜態(tài)圖像信息、音頻信息和視頻圖像信息在內(nèi)的信息。所述信息可被實(shí)時(shí)捕獲并可以無線方式傳輸?shù)街鳈C(jī)系統(tǒng)100。雖然主機(jī)系統(tǒng)100大體上可為任何系統(tǒng),但主機(jī)系統(tǒng)100通常為諸如數(shù)碼相機(jī)、攝像機(jī)、蜂窩通信裝置、音頻播放器或視頻播放器的系統(tǒng)。然而,應(yīng)了解,通常主機(jī)系統(tǒng)100大體上可為存儲(chǔ)數(shù)據(jù)或信息和檢索數(shù)據(jù)或信息的任何系統(tǒng)。
主機(jī)系統(tǒng)100也可為一僅捕獲數(shù)據(jù)或僅檢索數(shù)據(jù)的系統(tǒng)。即,在一實(shí)施例中,主機(jī)系統(tǒng)100可為一存儲(chǔ)數(shù)據(jù)的專用系統(tǒng),或主機(jī)系統(tǒng)100可為一讀取數(shù)據(jù)的專用系統(tǒng)。舉例來說,主機(jī)系統(tǒng)100可為被配置成僅讀取或存儲(chǔ)數(shù)據(jù)的存儲(chǔ)寫入器。或者,主機(jī)系統(tǒng)100可為一諸如MP3播放器的裝置,其通常被配置成讀取或檢索數(shù)據(jù),且不捕獲數(shù)據(jù)。
在一實(shí)施例中,非易失性存儲(chǔ)器裝置120為一可移除的非易失性存儲(chǔ)器裝置,其經(jīng)配置以與總線104對(duì)接來存儲(chǔ)信息??蛇x的接口塊(interfaceblock)130可允許非易失性存儲(chǔ)器裝置120間接與總線104對(duì)接。如所述領(lǐng)域的技術(shù)人員所理解的,輸入/輸出電路塊116(當(dāng)存在時(shí))用于減少總線104上的加載。非易失性存儲(chǔ)器裝置120包括非易失性存儲(chǔ)器124與可選的存儲(chǔ)器控制系統(tǒng)128。在一實(shí)施例中,非易失性存儲(chǔ)器裝置120可在單個(gè)芯片或晶粒上實(shí)施?;蛘?,非易失性存儲(chǔ)器裝置120可在多芯片模塊或多個(gè)分立組件上實(shí)施,所述多芯片模塊或多個(gè)分立組件可形成芯片組且可一起用作非易失性存儲(chǔ)器裝置120。下文將關(guān)于圖1b來更詳細(xì)地描述非易失性存儲(chǔ)器裝置120的一實(shí)施例。
配置非易失性存儲(chǔ)器124(如,諸如NAND快閃存儲(chǔ)器的快閃存儲(chǔ)器)以存儲(chǔ)數(shù)據(jù),使得可按需要訪問并讀數(shù)據(jù)。盡管應(yīng)理解非易失性存儲(chǔ)器124中的某些數(shù)據(jù)可能不可擦除,但如果適當(dāng),存儲(chǔ)在非易失性存儲(chǔ)器124中的數(shù)據(jù)也可被擦除。存儲(chǔ)數(shù)據(jù)、讀取數(shù)據(jù)和擦除數(shù)據(jù)的方法一般由存儲(chǔ)器控制系統(tǒng)128或當(dāng)不存在存儲(chǔ)器控制系統(tǒng)128時(shí)由微處理器108執(zhí)行的軟件來控制。可管理非易失性存儲(chǔ)器124的操作,使得通過基本上使非易失性存儲(chǔ)器124的扇區(qū)大體上被同等磨損而將非易失性存儲(chǔ)器124的使用壽命最大化。
一般將非易失性存儲(chǔ)器裝置120描述為包括一可選的存儲(chǔ)器控制系統(tǒng)128,即,一控制器。通常,非易失性存儲(chǔ)器裝置120可包括用于非易失性存儲(chǔ)器124和存儲(chǔ)器控制系統(tǒng)128(即,行使控制器功能)的獨(dú)立芯片。舉例來說,雖然包括(但不限于)PC卡、壓縮快閃存儲(chǔ)器卡、多媒體卡以及安全數(shù)字卡的非易失性存儲(chǔ)器裝置包括可在一單獨(dú)芯片上實(shí)施的控制器,但其它非易失性存儲(chǔ)器裝置可以不包括在單獨(dú)芯片上實(shí)施的控制器。如所述領(lǐng)域的技術(shù)人員將了解,在非易失性存儲(chǔ)器裝置120不包括單獨(dú)的存儲(chǔ)器和控制器芯片的一實(shí)施例中,存儲(chǔ)器和控制器的功能可集成到一單個(gè)芯片中?;蛘撸缟衔乃撌?,例如,在非易失性存儲(chǔ)器裝置120不包括存儲(chǔ)器控制器128的實(shí)施例中,存儲(chǔ)器控制系統(tǒng)128的功能性可由微處理器108來提供。
參看圖1b,根據(jù)本發(fā)明的一實(shí)施例更詳細(xì)地描述非易失性存儲(chǔ)器裝置120。如上文所述,非易失性存儲(chǔ)器裝置120包括非易失性存儲(chǔ)器124并可包括存儲(chǔ)器控制系統(tǒng)128。在一實(shí)施例中,盡管當(dāng)存儲(chǔ)器124為一嵌入式NAND裝置時(shí),存儲(chǔ)器124和控制系統(tǒng)128(或控制器)可為非易失性存儲(chǔ)器裝置120的主組件,但(例如)非易失性裝置120可不包括控制系統(tǒng)128。存儲(chǔ)器124可為一形成在半導(dǎo)體基板上的存儲(chǔ)器單元的陣列,其中通過將電荷的兩個(gè)或兩個(gè)以上級(jí)中的一個(gè)存儲(chǔ)在存儲(chǔ)器單元的個(gè)別存儲(chǔ)元件上存儲(chǔ)來將一或一位以上的數(shù)據(jù)存儲(chǔ)在個(gè)別存儲(chǔ)器單元中。非易失性快閃存儲(chǔ)器電可擦除可編程只讀存儲(chǔ)器(EEPROM)為用于所述系統(tǒng)的常見類型存儲(chǔ)器的一個(gè)實(shí)例。
當(dāng)控制系統(tǒng)128存在于非易失性存儲(chǔ)器裝置120內(nèi)時(shí),其經(jīng)總線15與主機(jī)計(jì)算機(jī)或其它使用存儲(chǔ)器系統(tǒng)來存儲(chǔ)數(shù)據(jù)的系統(tǒng)進(jìn)行通信??偩€15一般為圖1a的總線104的一部分。控制系統(tǒng)128也控制存儲(chǔ)器124的操作,其可包括一存儲(chǔ)器單元陣列11以在運(yùn)行存儲(chǔ)器124時(shí)寫入由主機(jī)所提供的數(shù)據(jù)、讀取由主機(jī)所請(qǐng)求的數(shù)據(jù)并執(zhí)行各種內(nèi)務(wù)處理功能。控制系統(tǒng)128一般包括一具有相關(guān)非易失性軟件存儲(chǔ)器、各種邏輯電路及其類似物的通用微處理器。還可包括一個(gè)或一個(gè)以上狀態(tài)機(jī)以控制專用例行程序的性能。
在一實(shí)施例中,存儲(chǔ)器單元陣列11可由控制系統(tǒng)128或微處理器108經(jīng)由地址解碼器17來定址。在此實(shí)施例中,解碼器17將合適電壓施加到陣列11的門和位線,以將數(shù)據(jù)編程到由控制系統(tǒng)128定址的存儲(chǔ)器單元組、從其讀取數(shù)據(jù)或執(zhí)行擦除。額外電路19可包括編程驅(qū)動(dòng)器,其根據(jù)編程到定址單元組中的數(shù)據(jù)而控制施加到陣列的元件的電壓。電路19也可包括讀出放大器和從定址存取器單元組讀取數(shù)據(jù)所必需的其它電路。。盡管數(shù)據(jù)可替代地存儲(chǔ)在其它緩沖存儲(chǔ)器(未圖示)中,但編程到陣列11中的數(shù)據(jù)或最近從陣列11讀取的數(shù)據(jù)可存儲(chǔ)在與控制系統(tǒng)128相關(guān)的緩沖存儲(chǔ)器21中??刂葡到y(tǒng)128也可含有用于暫時(shí)存儲(chǔ)命令和狀態(tài)數(shù)據(jù)及其類似物的各種寄存器。
通常將陣列11通常劃分成許多區(qū)塊0-N存儲(chǔ)器單元。如對(duì)于快閃EEPROM系統(tǒng)常見的,所述區(qū)塊可為最小的擦除單元。即,可配置各區(qū)塊以含有待被一起擦除的最小數(shù)目的存儲(chǔ)器單元。通常將各區(qū)塊劃分成許多頁面。如所述領(lǐng)域的技術(shù)人員將了解,可認(rèn)為一個(gè)頁面是最小的編程單元。即,基本編程操作可將數(shù)據(jù)寫入存儲(chǔ)器單元的最小的一個(gè)頁面中或從其讀取數(shù)據(jù)。數(shù)據(jù)的一個(gè)或一個(gè)以上扇區(qū)可存儲(chǔ)在各頁面內(nèi)。如圖1b中所示,一個(gè)扇區(qū)包括用戶數(shù)據(jù)和開銷數(shù)據(jù)。開銷數(shù)據(jù)通常包括一從所述扇區(qū)的用戶數(shù)據(jù)計(jì)算得到的誤差校正碼(ECC)。當(dāng)數(shù)據(jù)正被編程到陣列11中時(shí),控制系統(tǒng)15的一個(gè)部分23計(jì)算ECC,且當(dāng)從陣列11讀取數(shù)據(jù)時(shí)也檢驗(yàn)ECC。或者,ECC可存儲(chǔ)在與其附屬的用戶數(shù)據(jù)不同的頁面或不同的區(qū)塊中。
用戶數(shù)據(jù)的一個(gè)扇區(qū)通常為512字節(jié),其對(duì)應(yīng)于磁盤驅(qū)動(dòng)中扇區(qū)的大小。盡管應(yīng)了解開銷數(shù)據(jù)一般可包括任何數(shù)目的字節(jié),但開銷數(shù)據(jù)通常為額外的16字節(jié)。數(shù)據(jù)的一個(gè)扇區(qū)最常見包括于各頁面中,但兩個(gè)或兩個(gè)以上的扇區(qū)可替代地形成一個(gè)頁面。任何數(shù)目的頁面一般可形成一個(gè)區(qū)塊。舉例來說,一個(gè)區(qū)塊可由高達(dá)512、1024的八個(gè)頁面或更多頁面形成。通常選擇區(qū)塊的數(shù)目來為存儲(chǔ)器系統(tǒng)提供所要的數(shù)據(jù)存儲(chǔ)容量。通常將陣列11劃分成若干子陣列(未圖示),各個(gè)子陣列含有所述區(qū)塊的一部分,其在某種程度上彼此獨(dú)立操作以增加各種存儲(chǔ)器操作的執(zhí)行中的并行度。美國(guó)專利第5,890,192號(hào)中描述了使用多個(gè)子陣列的一個(gè)實(shí)例,其全文以引用的方式并入本文中。
在一實(shí)施例中,將非易失性存儲(chǔ)器嵌入到一系統(tǒng)中,例如,主機(jī)系統(tǒng)。圖1c為包括嵌入式非易失性存儲(chǔ)器的主機(jī)系統(tǒng)的圖解表示。主機(jī)或計(jì)算機(jī)系統(tǒng)150一般包括一系統(tǒng)總線154,其允許在主機(jī)系統(tǒng)150的其它組件之中的微處理器158、RAM162和輸入/輸出電路166相通信。
非易失性存儲(chǔ)器174(如,快閃存儲(chǔ)器)允許信息存儲(chǔ)在主機(jī)系統(tǒng)150內(nèi)??稍诜且资源鎯?chǔ)器174與總線154之間提供一接口180以能夠從非易失性存儲(chǔ)器174讀取信息并將信息寫入到其中。
非易失性存儲(chǔ)器174可由微處理器158來管理,所述微處理器有效地執(zhí)行被配置以控制非易失性存儲(chǔ)器174的軟件和固件的其中一者或兩者。即,微處理器158可運(yùn)行編碼裝置(未圖示),即,軟件編碼裝置或固件編碼裝置,其允許控制非易失性存儲(chǔ)器174。所述編碼裝置可能夠定址非易失性存儲(chǔ)器174中的物理區(qū)塊,且可能夠?qū)⑿畔⒋鎯?chǔ)在物理區(qū)塊中、從其讀取并從其擦除,所述編碼裝置可為以CPU內(nèi)部微處理器158封裝的快閃存儲(chǔ)器、單獨(dú)快閃存儲(chǔ)器ROM、或內(nèi)部非易失性存儲(chǔ)器174,下文將對(duì)其描述。
一般來說,當(dāng)一用戶寫入數(shù)據(jù)時(shí),所述用戶有效地將數(shù)據(jù)寫入到一媒體,例如,諸如快閃存儲(chǔ)器卡或包括其中嵌入快閃存儲(chǔ)器的系統(tǒng)的非易失性存儲(chǔ)器系統(tǒng)。如所述領(lǐng)域的技術(shù)人員將了解,用戶可指定其中將寫入數(shù)據(jù)的區(qū)塊或甚至頁面。如上所述,通常將諸如圖1a的非易失性存儲(chǔ)器124或圖1c的非易失性存儲(chǔ)器174的非易失性存儲(chǔ)器劃分成區(qū)塊。圖2a為根據(jù)本發(fā)明的一實(shí)施例的非易失性存儲(chǔ)器內(nèi)的區(qū)塊的圖解表示??蓪⒎且资源鎯?chǔ)器劃分成物理區(qū)塊“0”到“N”202,其各個(gè)可與邏輯區(qū)塊(未圖示)相關(guān)。在所示實(shí)施例中,盡管應(yīng)了解區(qū)塊202可一般包括任何數(shù)目的頁面(例如,六十四頁),但各個(gè)區(qū)塊202包括約三十二頁。區(qū)塊202的數(shù)目以及包括在區(qū)塊202中的頁面的數(shù)目一般取決于非易失性存儲(chǔ)器的大小。
通常,區(qū)塊202內(nèi)的頁面大體上是順序的。即,如所示,可為非易失性存儲(chǔ)器內(nèi)的第一區(qū)塊的區(qū)塊“0”202a包括頁0至31。非易失性存儲(chǔ)器內(nèi)的下一區(qū)塊一般為區(qū)塊“1”202b,其包括頁面32-63。非易失性存儲(chǔ)器內(nèi)的區(qū)塊202一般是順序的,且區(qū)塊202內(nèi)的頁面一般是順序的。
如圖2b所示,可將區(qū)塊202分組成區(qū)。區(qū)塊202可分組成區(qū)212的數(shù)目取決于對(duì)于讀取方法、擦除方法或?qū)懭敕椒ǘ源L問的頁面的數(shù)目,且因此可廣泛變化。例如,區(qū)塊202可分組成區(qū)的數(shù)目從當(dāng)大體上同時(shí)訪問兩個(gè)頁面的約兩個(gè)區(qū)到在大體上同時(shí)訪問約三十二個(gè)頁面時(shí)的約三十二個(gè)區(qū)變化。
將區(qū)塊202分組成四個(gè)區(qū)212。因此,每四個(gè)區(qū)塊212被分組成一特定區(qū)212。舉例來說,區(qū)塊“0”202a和區(qū)塊“4”202e包括在區(qū)“0”212a中,而區(qū)塊“1”202b、區(qū)塊“5”202h和區(qū)塊“N-2”202k包括在區(qū)“1”212b中。更一般來說,具有四的倍數(shù)的區(qū)塊數(shù)的區(qū)塊202可包括在區(qū)“0”212a中,具有比四的倍數(shù)多一個(gè)的區(qū)塊數(shù)的區(qū)塊202可包括在區(qū)“1”212b中,具有比四的倍數(shù)多二個(gè)的區(qū)塊數(shù)的區(qū)塊202可包括在區(qū)“2”212c中,和具有比四的倍數(shù)少一個(gè)的區(qū)塊數(shù)的區(qū)塊202可包括在區(qū)“3”212d中。
圖3a為根據(jù)本發(fā)明的一實(shí)施例的非易失性存儲(chǔ)器組件內(nèi)的區(qū)(如,圖2b的區(qū)212)的圖解表示。如所示,具有四的倍數(shù)的區(qū)塊數(shù)的物理區(qū)塊202在區(qū)“0”212a內(nèi)有效對(duì)準(zhǔn),而具有比四的倍數(shù)多一個(gè)的區(qū)塊數(shù)的區(qū)塊202在區(qū)“1”212b內(nèi)有效對(duì)準(zhǔn)等等。應(yīng)了解,區(qū)212可一般包括任何數(shù)目的區(qū)塊202。通常,包括在各個(gè)區(qū)212中的區(qū)塊202的數(shù)目取決于以下因素,其包括(但不限于)劃分成區(qū)塊202的非易失性存儲(chǔ)器組件的整體大小、區(qū)212的數(shù)目和包括在各個(gè)塊202中的頁面數(shù)目。
一般可大體上同時(shí)訪問各個(gè)區(qū)212中的單個(gè)頁面,如作為多頁面扇區(qū),使得各個(gè)區(qū)212中的一個(gè)頁面可在單個(gè)訪問時(shí)間內(nèi)被擦除或?qū)⑵鋵懭?。即,如圖3b所示,可使用諸如多區(qū)塊或多頁面程序命令來將具有相對(duì)于區(qū)212內(nèi)的其各自區(qū)塊的開始處的相同的頁面偏移的物理頁面302作為單元304來訪問。為能夠發(fā)生多頁面寫入,使得如多個(gè)連續(xù)頁面的多頁面大體上立刻全部被寫入,可在單個(gè)訪問時(shí)間內(nèi)訪問與各個(gè)區(qū)212相關(guān)的一個(gè)頁面。舉例來說,可大體上使用單個(gè)多區(qū)塊程序命令來寫入?yún)^(qū)“0”212a的頁面“12”302a、區(qū)“1”212b的頁面“44”302b、區(qū)“2”212c的頁面“76”302c和區(qū)“3”212d的頁面“108”302d。
一般來說,可通過使用多區(qū)塊命令有效地訪問的頁面的數(shù)目可取決于將區(qū)塊202分組成區(qū)212的數(shù)目。例如,如果存在四個(gè)區(qū)212,那么各個(gè)在不同區(qū)212中的四個(gè)頁面可被分組成大體上同時(shí)訪問的多頁面扇區(qū)?;蛘撸?dāng)存在八個(gè)區(qū)時(shí),那么可使用多區(qū)塊或多頁面命令來訪問與各區(qū)相關(guān)的一個(gè)頁面,使得可大體上同時(shí)訪問八個(gè)頁面。如前所述,通過同時(shí)訪問多個(gè)頁面,可減少與諸如讀取、擦除和寫入操作的方法相關(guān)的時(shí)間量,因此增加了整體非易失性存儲(chǔ)器系統(tǒng)或快閃存儲(chǔ)器系統(tǒng)的性能。
在當(dāng)立刻寫入若干頁面的多頁面寫入命令期間,通常需要對(duì)存儲(chǔ)器的不同區(qū)中大體上連續(xù)的頁面進(jìn)行訪問。因?yàn)榇龑懭氲捻撁姹粚懭氲讲煌瑓^(qū)中且各個(gè)區(qū)通常具有其自身的數(shù)據(jù)高速緩沖存儲(chǔ)器,所以用戶數(shù)據(jù)的多個(gè)頁面可轉(zhuǎn)移到多個(gè)區(qū)的數(shù)據(jù)高速緩沖存儲(chǔ)器。用戶數(shù)據(jù)的多個(gè)頁面可接著在單個(gè)訪問時(shí)間內(nèi)同時(shí)被編程到非易失性存儲(chǔ)器中。
為促進(jìn)用戶(即,希望訪問非易失性存儲(chǔ)器系統(tǒng)的非易失性存儲(chǔ)器內(nèi)的物理頁面的個(gè)人)進(jìn)行編程操作,與諸如圖3b中所示的那些物理頁相關(guān)的頁面號(hào)可大體上轉(zhuǎn)換成用戶或轉(zhuǎn)換頁面號(hào)。頁面號(hào)的轉(zhuǎn)換可使得頁面號(hào)以跨區(qū)的上升數(shù)字順序來分配。圖4為根據(jù)本發(fā)明的一實(shí)施例其中頁面已被分配轉(zhuǎn)換頁面號(hào)的非易失性存儲(chǔ)器內(nèi)的區(qū)的圖解表示。排列區(qū)412使得區(qū)“0”412a包括具有是區(qū)412的總數(shù)的倍數(shù)(如,四的倍數(shù))的區(qū)塊數(shù)420的區(qū)塊402。類似地,區(qū)“1”412b包括具有比區(qū)412的總數(shù)的倍數(shù)多一個(gè)的區(qū)塊數(shù)420的區(qū)塊402,區(qū)“2”412c包括比區(qū)412的總數(shù)的倍數(shù)多兩個(gè)的區(qū)塊數(shù)的區(qū)塊402,和區(qū)“3”412d包括具有比區(qū)412的總數(shù)的倍數(shù)多三個(gè)的區(qū)塊數(shù)420的區(qū)塊402。
可將區(qū)412內(nèi)的區(qū)塊402組織為具有單元數(shù)430的單元。單元數(shù)430有效地識(shí)別區(qū)412內(nèi)的區(qū)塊402的位置。例如,單元數(shù)“0”430a識(shí)別各個(gè)區(qū)412內(nèi)的第一區(qū)塊402。明確地說,區(qū)“0”412a的區(qū)塊402a、區(qū)“1”412b的區(qū)塊402b、區(qū)“2”412c的區(qū)塊402c和區(qū)“3”412d的區(qū)塊402d各個(gè)與單元數(shù)“0”430a相關(guān)。
如下文將相對(duì)于圖5論述,雖然包括在區(qū)塊402中的實(shí)際頁面為具有實(shí)際頁面號(hào)的物理頁面,但使用用戶或轉(zhuǎn)換頁面號(hào)能夠使用戶更容易地指定他或她希望訪問的整體系統(tǒng)內(nèi)的頁面,所述整體系統(tǒng)支持在單個(gè)訪問時(shí)間內(nèi)對(duì)多于一個(gè)的頁面進(jìn)行訪問。通常,當(dāng)在多頁面扇區(qū)中訪問頁面時(shí),訪問的頁面與相同的單元數(shù)430相關(guān)。舉例來說,當(dāng)單元數(shù)“0”430a中的頁面可通過使用多頁面訪問命令同時(shí)訪問時(shí)。如前所述,單元數(shù)“0”430a包括各個(gè)區(qū)412的一個(gè)區(qū)塊420。因此,可將來自各個(gè)區(qū)塊420a-d的一個(gè)頁面可作為單元數(shù)“0”430a內(nèi)的多頁面扇區(qū)的一部分來訪問。
當(dāng)用戶指定他希望訪問的轉(zhuǎn)換頁面號(hào)時(shí),轉(zhuǎn)換頁面號(hào)一般被轉(zhuǎn)換或另外映射成可由控制器固件或軟件使用以訪問適當(dāng)頁面的實(shí)際頁面號(hào)。圖5為根據(jù)本發(fā)明的一實(shí)施例的,將與非易失性存儲(chǔ)器中的區(qū)塊相關(guān)的轉(zhuǎn)換頁面號(hào)映射成實(shí)際物理頁面號(hào)的映射的圖解表示。當(dāng)通過使用單個(gè)訪問時(shí)間擦除或?qū)懭氲蕉囗撁嫔葏^(qū)530時(shí),來自各個(gè)區(qū)412中的一個(gè)區(qū)塊502的具有轉(zhuǎn)換頁面號(hào)504的一個(gè)頁面一般包括在扇區(qū)530中。舉例來說,當(dāng)將在單個(gè)訪問時(shí)間期間訪問多頁面扇區(qū)530時(shí),控制器固件或軟件通常將有效地訪問具有轉(zhuǎn)換頁面號(hào)504的頁面。
可將包括具有轉(zhuǎn)換頁面號(hào)504的多頁面扇區(qū)530有效地映射成包括具有實(shí)際物理頁面號(hào)504′的頁面的多頁面扇區(qū)530′,所述實(shí)際物理頁面號(hào)504′對(duì)應(yīng)于具有轉(zhuǎn)換頁面號(hào)504的頁面。明確地說,當(dāng)用戶為讀取、或?qū)懭氲哪康闹付▽⒃L問的具有轉(zhuǎn)換頁面號(hào)504的頁面時(shí),,控制器固件或軟件通常確定哪些具有實(shí)際頁面號(hào)504′頁面對(duì)應(yīng)于具有轉(zhuǎn)換頁面號(hào)504的頁面。舉例來說,當(dāng)多頁面扇區(qū)530包括具有轉(zhuǎn)換頁面號(hào)為“8′”、“9′”、“10′”和“11′”的轉(zhuǎn)換頁面號(hào)504的頁面時(shí),控制器固件或軟件可確定多扇區(qū)530對(duì)應(yīng)于包括具有實(shí)際物理頁面號(hào)分別為“2”、“34”、“66”和“98”的實(shí)際物理頁面號(hào)504′的多頁面扇區(qū)530′。換句話來說,將轉(zhuǎn)換頁面號(hào)“8”映射為實(shí)際物理頁面號(hào)“2”,將轉(zhuǎn)換頁面號(hào)“9′”映射為實(shí)際物理頁面號(hào)“34”,將轉(zhuǎn)換頁面號(hào)“10′”映射為實(shí)際物理頁面號(hào)“66′”,并且將轉(zhuǎn)換頁面號(hào)“11′”映射為實(shí)際物理頁面號(hào)“98”。
為將轉(zhuǎn)換頁面號(hào)映射成實(shí)際物理頁面號(hào),或更一般地,將第一規(guī)范的頁面號(hào)映射成第二規(guī)范的頁面號(hào),可使用基于轉(zhuǎn)換頁面號(hào)的數(shù)學(xué)算法來確定實(shí)際物理頁面號(hào)。如將參考圖7所論述,在一實(shí)施例中,所述算法可包括使用查找表。一般來說,使實(shí)際物理頁面號(hào)能夠由給定轉(zhuǎn)換頁面號(hào)確定的算法或計(jì)算包括確定在包括具有所述轉(zhuǎn)換頁面號(hào)的頁面的區(qū)塊內(nèi)的相關(guān)區(qū)數(shù)、相關(guān)單元數(shù)和位置或偏移。
參考圖6,將根據(jù)本發(fā)明的一實(shí)施例來描述可用于通過使用轉(zhuǎn)換頁面號(hào)來確定實(shí)際頁面號(hào)的公式。一般可將轉(zhuǎn)換頁面號(hào)(如,與諸如區(qū)塊602a的頁面604a的頁面相關(guān)的轉(zhuǎn)換頁面號(hào))表示為“P′”。如前所論述,非易失性存儲(chǔ)器內(nèi)的各個(gè)區(qū)塊602可與表示為“Z”的區(qū)622和表示為“U”的單元630都相關(guān)。例如,包括頁面616的區(qū)塊602f可包括在區(qū)“1”622b和單元“1”630b中,而包括頁面612的區(qū)塊602d可包括在區(qū)“3”622d和單元“0”630a中。
如所示,非易失性存儲(chǔ)器一般可包括任何數(shù)目的區(qū)622和單元630。另外,區(qū)塊602的大小(即,區(qū)塊602中的頁面的數(shù)目)可廣泛變化。為易于論述,區(qū)的總數(shù)可表達(dá)為“T_D”,且單元的總數(shù)可表達(dá)為“T_U”,而區(qū)塊602中頁面的總數(shù)可表達(dá)為“T_P”。通常,可認(rèn)為區(qū)塊602中區(qū)的總數(shù)“T_D”、單元的總數(shù)“T_U”和頁面的總數(shù)“T_P”是與非易失性存儲(chǔ)器相關(guān)的參數(shù)。
一般來說,非易失性存儲(chǔ)器內(nèi)的特定頁面的轉(zhuǎn)換頁面號(hào)(例如,具有表示為“X”的相關(guān)轉(zhuǎn)換頁面號(hào)的頁面616b)可如下識(shí)別X=(U*T_D*T_P)+(S*T_D)+Z其中“S”表示含有與轉(zhuǎn)換頁面號(hào)“X”相關(guān)的頁面的區(qū)塊的開始處與轉(zhuǎn)換頁面號(hào)“X”的位置之間的偏移650或頁面號(hào)?!癝”的值可從約0到約“T_P-1”變化,而“Z”的值可約為“T_D-1”。即,可將大體上任何轉(zhuǎn)換頁面號(hào)表達(dá)為區(qū)622、單元630、偏移650、區(qū)的總數(shù)“T_D”、單元的總數(shù)“T_U”和區(qū)塊602中的頁面的總數(shù)“T_P”函數(shù)。對(duì)于其中區(qū)的總數(shù)“T_D”為4且各個(gè)區(qū)塊602中的頁面的總數(shù)為32的實(shí)施例而言,轉(zhuǎn)換頁面號(hào)“X”可如下識(shí)別X=(U*4*32)+(S*4)+Z應(yīng)理解,盡管轉(zhuǎn)換頁面號(hào)“X”顯示為位于區(qū)塊602f中的轉(zhuǎn)換頁面號(hào),但轉(zhuǎn)換頁面號(hào)“X”一般可位于大體上任何區(qū)塊中。
當(dāng)轉(zhuǎn)換頁面號(hào)“X”已知時(shí),可確定對(duì)應(yīng)于轉(zhuǎn)換頁面號(hào)“X”的區(qū)“Z”622、單元“U”630和偏移“S”650。應(yīng)了解,對(duì)應(yīng)于轉(zhuǎn)換頁面號(hào)“X”的區(qū)“Z”622、單元“U”630和偏置“S”650也對(duì)應(yīng)于映射到轉(zhuǎn)換頁面號(hào)“X”的實(shí)際物理頁面號(hào)。換句話說,區(qū)“Z”622、單元“U”630和偏移“S”650對(duì)于轉(zhuǎn)換頁面號(hào)而言與其對(duì)于相應(yīng)的實(shí)際物理頁面號(hào)而言大體上相同。因而,一旦轉(zhuǎn)換頁面號(hào)“X”已知,且與轉(zhuǎn)換頁面號(hào)“X”相關(guān)的區(qū)“Z”622、單元“U”630和偏置“S”650已知,那么可確定實(shí)際頁面號(hào)“P_N”。
給定轉(zhuǎn)換頁面號(hào)“X”,當(dāng)“X”除以區(qū)的總數(shù)“T_D”時(shí),可確定區(qū)“Z”622為余數(shù),如通過使用諸如“MOD”運(yùn)算符的余數(shù)運(yùn)算符來確定。即,區(qū)“Z”622可如下表達(dá)為轉(zhuǎn)換頁面號(hào)“X”的函數(shù)Z=X%T_D
其中“%”為如所述領(lǐng)域的技術(shù)人員將了解的余數(shù)運(yùn)算符。對(duì)應(yīng)于轉(zhuǎn)換頁面號(hào)“X”的單元“U”630可如下表達(dá)為轉(zhuǎn)換頁面號(hào)“X”的函數(shù)U=X/(T_D*T_P)一般來說,當(dāng)單元“U”630計(jì)算為分?jǐn)?shù)值時(shí),單元“U”630的實(shí)際“值”可大體上通過下舍入到最近的整數(shù)值來確定。例如,如果區(qū)的總數(shù)“T_D”為4且頁的總數(shù)“T_P”為32,如果轉(zhuǎn)換頁面號(hào)“X”為轉(zhuǎn)換頁面號(hào)“3”,那么通常將單元“U”確定為單元“0”630a。
也可通過使用下列表達(dá)式將與轉(zhuǎn)換頁面號(hào)“X”相關(guān)的偏移“S”確定為轉(zhuǎn)換頁面號(hào)“X”的函數(shù)S=(X/T_D)%T_P當(dāng)轉(zhuǎn)換頁面號(hào)“X”為轉(zhuǎn)換頁面號(hào)“3”時(shí),區(qū)的總數(shù)“T_D”為4,且區(qū)塊602中的頁面的總數(shù)T_P為32,那么偏移“S”650可計(jì)算為零,即,轉(zhuǎn)換頁面號(hào)“3”為其相關(guān)區(qū)塊中的第一頁。類似地,當(dāng)轉(zhuǎn)換頁面號(hào)“X”為轉(zhuǎn)換頁面號(hào)“8”時(shí),區(qū)的總數(shù)“T_D”為4且區(qū)塊602中的頁面的總數(shù)“T_P”為32,那么偏移“S”650可計(jì)算為2,即轉(zhuǎn)換頁面號(hào)“8”為其相關(guān)區(qū)塊中的第三頁。
參考圖6,對(duì)應(yīng)于轉(zhuǎn)換頁面號(hào)“X”的實(shí)際物理頁面號(hào)“P_N”可如下表達(dá)為參數(shù)與轉(zhuǎn)換頁面號(hào)“X”和因此區(qū)“Z”622、單元“U”630以及偏移“S”650的函數(shù)P_N=(U*T_D*T_P)+(Z*T_P)+S或簡(jiǎn)化為P_N=S+(((U*T_D)+Z)*T_B)在一實(shí)施例中,實(shí)際物理頁面號(hào)“P_N”可大體上僅表達(dá)為轉(zhuǎn)換頁面號(hào)“X”和參數(shù)(即,區(qū)的總數(shù)“T_D”和區(qū)塊602中的頁面的總數(shù)“T_P”)的函數(shù)。即,通過替代“Z”與“S”來大體上排除“U”,實(shí)際物理頁面號(hào)“P_N”也可計(jì)算為P_N=X+((X%T_D)*(T_P-1))-((X/T_D)%T_P)*(T_D-1)
使用以上表達(dá)式,可有效地排除對(duì)于“Z”622、單元“U”630和偏移“S”650的計(jì)算。
返回參考圖5,如果非易失性存儲(chǔ)器包括四個(gè)區(qū)412且各個(gè)區(qū)塊502包括32個(gè)頁面,當(dāng)用戶試圖寫入到頁面504c時(shí),即,當(dāng)轉(zhuǎn)換頁面號(hào)為轉(zhuǎn)換頁面號(hào)“10”時(shí),那么區(qū)“Z”可計(jì)算為Z=X%T_D=10%4=2且單元“U”可計(jì)算為U=X/(T_D*T_P)=10/(4*32)=0而偏移“S”可計(jì)算為S=(X/T_D)%T_B=(10/4)%32=2.5%32=2即,如圖5中所示,轉(zhuǎn)換頁面號(hào)“10”504c可計(jì)算為位于兩個(gè)頁面的偏移處的區(qū)“2”412c和單元“0”中。
當(dāng)Z=2、U=0且S=2時(shí),那么實(shí)際物理頁面號(hào)“P_N”可如下確定P_N=S+(U*T_D+Z)*T_P=2+(0*4+2)*32=66因而,轉(zhuǎn)換頁面號(hào)“10”對(duì)應(yīng)于實(shí)際物理頁面號(hào)“66”。或者,實(shí)際頁面號(hào)“P_N”也可如下計(jì)算P_N=X+((X%T_D)*(T_P-1))-((X/T_D)%T_P)*(T_D-1)=10+((10%4)*(32-1))-((10/4)%32)*(4-1)=66盡管可在大體上任何時(shí)間執(zhí)行涉及關(guān)于圖6的上述公式的計(jì)算,但是當(dāng)認(rèn)為與所述計(jì)算相關(guān)的開銷過多時(shí),用戶發(fā)布一個(gè)命令以讀取或?qū)懭敕且资源鎯?chǔ)器(諸如,NAND快閃存儲(chǔ)器)中的頁面,接著可以通過使用諸如查找表的數(shù)據(jù)結(jié)構(gòu)來有效地簡(jiǎn)化計(jì)算。舉例來說,盡管與執(zhí)行識(shí)別實(shí)際物理頁面的位置的頁面號(hào)的計(jì)算相關(guān)的開銷一般并不顯著,但當(dāng)存儲(chǔ)器空間允許實(shí)施存儲(chǔ)在控制器固件或軟件中的相對(duì)較小的數(shù)據(jù)結(jié)構(gòu)時(shí),可以簡(jiǎn)化所執(zhí)行的計(jì)算,并且可以進(jìn)一步減少開銷。因此,在許多狀況下,可以進(jìn)一步改進(jìn)多頁面寫入方法的性能。應(yīng)了解,當(dāng)查找表太大時(shí),例如占用多于約512字節(jié)并且認(rèn)為占用了控制器固件或軟件中太多的空間時(shí),那么可如上文關(guān)于圖6所論述的不使用查找表來執(zhí)行將轉(zhuǎn)換頁面號(hào)轉(zhuǎn)換成實(shí)際頁面號(hào)的計(jì)算。換句話說,一般可基于適當(dāng)查找表的預(yù)期大小,確定是否應(yīng)執(zhí)行計(jì)算來替代訪問查找表。
可計(jì)算查找表并將其存儲(chǔ)在控制器固件或軟件中,使得當(dāng)需執(zhí)行映射以有效地將轉(zhuǎn)換頁面號(hào)轉(zhuǎn)換成實(shí)際物理頁面號(hào)時(shí),可訪問查找表以獲取映射信息。圖7為根據(jù)本發(fā)明的一實(shí)施例可用于促進(jìn)多頁面訪問或程序操作的查找表的圖解表示。一般來說,查找表750中輸入項(xiàng)(entry)的數(shù)目可至少部分取決于非易失性存儲(chǔ)器的單元中的頁面的數(shù)目。舉例來說,可排列各個(gè)輸入項(xiàng)以占用一個(gè)字節(jié),且與表相關(guān)的字節(jié)的數(shù)目可取決于單元中的頁面的數(shù)目。舉例來說,當(dāng)非易失性存儲(chǔ)器包括各包括三十二個(gè)頁面并被分組成四個(gè)區(qū)的區(qū)塊時(shí),那么各個(gè)單元可包括四個(gè)區(qū)塊。因而,與各個(gè)單元相關(guān)的頁面的數(shù)目為128,且輸入項(xiàng)的數(shù)目和因此查找表750所占用的字節(jié)可約為128。查找表輸入項(xiàng)的數(shù)目可有效地表達(dá)為Number_Of_Entries=T_D*T_P為易于論述,查找表750包括各對(duì)應(yīng)于區(qū)塊的第一單元內(nèi)的頁面的128個(gè)輸入項(xiàng)。然而,一般來說,輸入項(xiàng)的數(shù)目可根據(jù)區(qū)的數(shù)目T_D和因此一個(gè)單元中的區(qū)塊的數(shù)目以及包括在單元中的區(qū)塊的大小T_P而變化??稍黾踊蛴行У鼐幋a查找表750,使得用于通過與第一單元中的最后頁面相關(guān)的轉(zhuǎn)換頁面號(hào)(如,轉(zhuǎn)換頁面號(hào)“127”)來映射轉(zhuǎn)換頁面號(hào)“0”的輸入項(xiàng)可以有效地顯示在查找表750中。
一般來說,可以使用下列表達(dá)式來增加查找表750Table_Entry_Value[P′(Z,S)]=(Z*(T_P-1))-(S*(T_D-1)其中Table_Entry_Value是存儲(chǔ)在查找表750中的一個(gè)輸入項(xiàng)中的值,區(qū)“Z”是與轉(zhuǎn)換頁面號(hào)“P′”相關(guān)的頁面所位于的區(qū),且“S′”是在含有所述頁面的一個(gè)區(qū)塊內(nèi)、與轉(zhuǎn)換頁面號(hào)“P”相關(guān)的頁面所位于的偏移。接著可將Table_Entry_Value放置在由下列表達(dá)式所識(shí)別的表位置中
Table_Entry_Value[P′]=P′%(T_D*T_P)舉例來說,在其中存在四個(gè)區(qū)且各個(gè)區(qū)塊含有三十二個(gè)頁面的系統(tǒng)中,轉(zhuǎn)換頁面號(hào)“4′”與偏移“1”處的區(qū)“0”相關(guān)。因此,可計(jì)算轉(zhuǎn)換頁面號(hào)“4′”以與查找表750中的輸入項(xiàng)值“-3”相關(guān)。接著可將輸入項(xiàng)值“-3”存儲(chǔ)在表輸入項(xiàng)位置“4”754中。
可以通過使用查找表750如下確定對(duì)應(yīng)于轉(zhuǎn)換頁面號(hào)“P′”的實(shí)際頁面號(hào)Actual_Page_Number=P′+TABLE[P′%(T_D*T_P)]其中表[]為對(duì)應(yīng)于轉(zhuǎn)換頁面號(hào)“P′”的存儲(chǔ)在表輸入項(xiàng)中的值。因此,也可使用下列表達(dá)式來確定對(duì)應(yīng)于轉(zhuǎn)換頁面號(hào)“P′”的實(shí)際頁面號(hào)Actual_Page_Number=P′+(P′%T_D)*(T_P-1)-((P′/T_D)%T_P)*(T_D-1)因而,在其中存在四個(gè)區(qū)且各個(gè)區(qū)塊含有三十二個(gè)頁面的系統(tǒng)中,可將轉(zhuǎn)換頁面號(hào)“4′”映射到實(shí)際頁面號(hào)“1”。因此,在將轉(zhuǎn)換頁面號(hào)“4”至“7”寫入為所述系統(tǒng)內(nèi)的多頁面扇區(qū)情況下,查找表750,或更明確地查找表的輸入項(xiàng)754、756、758和760可用于確定在一個(gè)訪問時(shí)間內(nèi)實(shí)際的非連續(xù)物理頁面“1”、“33”、“65”和“97”被分別寫入為多頁面扇區(qū)。
當(dāng)在控制器固件或軟件中實(shí)施(如,計(jì)算和存儲(chǔ))查找表750或大體上任何類似數(shù)據(jù)結(jié)構(gòu)時(shí),實(shí)際物理頁面號(hào)的計(jì)算有效地為一具有最小計(jì)算量的相對(duì)較快的表查找。因此,可諸如多頁面寫如命令的多頁面訪問操作可相對(duì)有效地發(fā)生。
參考圖8,將根據(jù)本發(fā)明的一實(shí)施例來描述與在非易失性存儲(chǔ)器系統(tǒng)(諸如,包括MLC快閃存儲(chǔ)器的系統(tǒng))內(nèi)執(zhí)行多頁面寫入操作一方法相關(guān)的步驟。執(zhí)行多頁面寫入操作的方法800以步驟804開始,其中用戶通過使用用戶頁規(guī)范或轉(zhuǎn)換頁面號(hào)來提供將寫入到非易失性存儲(chǔ)器內(nèi)的頁面中的數(shù)據(jù)。在一實(shí)施例中,用戶可在數(shù)據(jù)被輸入到不同區(qū)中時(shí)發(fā)布一系列數(shù)據(jù)輸入命令,且控制器固件可在輸入仍被輸入到不同區(qū)中時(shí),發(fā)布諸如11H偽程序命令的偽程序命令大體上響應(yīng)各數(shù)據(jù)輸入命令,如在可從SanDisk Corporationof Sunnyvale,California購(gòu)得的“512Mbit NAND Flash Product Manual”Rev.1.5,2001年8月中所述,其以引用的方式并入本文中。在步驟808中,一旦用戶提供待寫入的數(shù)據(jù),那么可運(yùn)行算法,或更一般地可執(zhí)行計(jì)算以有效地將轉(zhuǎn)換頁面號(hào)映射成實(shí)際頁面號(hào)。先前已經(jīng)參考圖6論述了可執(zhí)行的適當(dāng)計(jì)算。
在步驟812中,在運(yùn)行映射計(jì)算后,用戶頁面或轉(zhuǎn)換頁面號(hào)被映射或另外轉(zhuǎn)換成實(shí)際物理頁面號(hào)。接著,在步驟816中,通過使用多頁面程序命令或?qū)懭敕椒▽⒋龑懭氲臄?shù)據(jù)寫入到非易失性存儲(chǔ)器系統(tǒng)的實(shí)際物理頁面或媒體中。換句話說,物理頁的多頁面扇區(qū)是在大約一個(gè)訪問時(shí)間被寫入的。多頁面編程命令可包括一高速緩沖存儲(chǔ)器程序命令,例如,15H高速緩沖存儲(chǔ)器程序命令,其引起物理編程的發(fā)生。一旦頁面被寫入,那么執(zhí)行多頁面寫入操作的方法就完成了。
如上文關(guān)于圖7所論述,為替代執(zhí)行復(fù)數(shù)個(gè)計(jì)算以將用戶或轉(zhuǎn)換頁面號(hào)映射成實(shí)際物理頁面號(hào),可使用查找表以促進(jìn)將轉(zhuǎn)換頁面號(hào)映射成實(shí)際物理頁面號(hào)。圖9為說明與涉及使用根據(jù)本發(fā)明的一實(shí)施例的查找表的多頁面寫入方法相關(guān)的步驟的方法流程圖。執(zhí)行多頁面寫操作的過程900以步驟904開始,其中用戶通過使用用戶或轉(zhuǎn)換頁面號(hào)來提供待寫入的數(shù)據(jù)。接著,在步驟908中,例如控制器固件或軟件使用所述轉(zhuǎn)換頁面號(hào)以通過訪問諸如圖7的查找表750的查找表來確定對(duì)應(yīng)于轉(zhuǎn)換頁面號(hào)的實(shí)際物理頁面號(hào)。在步驟912中,一旦確定轉(zhuǎn)換頁面號(hào)與其相應(yīng)實(shí)際頁面號(hào)之間的映射,那么將通過使用多頁面或多區(qū)塊程序命令而將數(shù)據(jù)寫入到實(shí)際頁面中。在數(shù)據(jù)被寫入到實(shí)際頁面中后,寫入數(shù)據(jù)的過程完成。
如前所述,除程序或?qū)懭脒^程外,多頁面或多區(qū)塊命令可用于使多頁面或多區(qū)塊能夠被擦除。一般來說,所發(fā)生的讀取使用多頁面或多區(qū)塊命令而已寫入的頁面的讀取操作可變化。參考圖10,將根據(jù)本發(fā)明的一實(shí)施例來描述與一讀取過程相關(guān)的步驟。執(zhí)行一讀取操作的過程1000以步驟1004開始,其中用戶使用一用戶規(guī)范或轉(zhuǎn)換頁面號(hào)(從其中讀取數(shù)據(jù))來規(guī)定非易失性存儲(chǔ)器內(nèi)的頁面。在步驟1008中,一旦規(guī)定了從其中讀取數(shù)據(jù)的已轉(zhuǎn)換頁面號(hào),可運(yùn)行一算法,或更一般而言,可執(zhí)行計(jì)算以有效地將已轉(zhuǎn)換頁面號(hào)映射成實(shí)際物理頁面號(hào)。例如上文已參考圖6論述了可執(zhí)行的適當(dāng)計(jì)算。
在步驟1012中,在運(yùn)行映射計(jì)算后,用戶頁面或已轉(zhuǎn)換頁面號(hào)被映射或另外轉(zhuǎn)換成實(shí)際物理頁面號(hào)。接著,在步驟1016中,使用一讀取命令從一非易失性存儲(chǔ)器系統(tǒng)的實(shí)際物理頁面中讀取將要讀取的數(shù)據(jù)。一旦數(shù)據(jù)被從所述頁面中讀取,執(zhí)行讀取操作的過程即完成。
如同執(zhí)行多頁面寫入操作的狀況,查找表可用于方便將已轉(zhuǎn)換頁面號(hào)映射成實(shí)際頁面號(hào)作為讀取操作的一部分。圖11為說明與涉及使用根據(jù)本發(fā)明的一實(shí)施例的查找表的讀取過程相關(guān)的步驟的流程圖。執(zhí)行讀取操作的過程1100以步驟1004開始,其中用戶提供含有用戶希望讀取或另外訪問的用戶或已轉(zhuǎn)換頁面號(hào)。在步驟1008中,可通過訪問諸如圖7的查找表750的一查找表來確定對(duì)應(yīng)于已轉(zhuǎn)換頁面號(hào)的實(shí)際物理頁面號(hào)。在步驟1012中,在對(duì)應(yīng)于已轉(zhuǎn)換頁面號(hào)的實(shí)際頁面號(hào)被確定后,從實(shí)際頁獲得或讀取數(shù)據(jù)。一旦數(shù)據(jù)被讀取,讀取數(shù)據(jù)的過程即完成。
一般來說,在軟件中提供與能夠執(zhí)行多頁面編程命令并能夠?qū)⒁艳D(zhuǎn)換頁面號(hào)映射成實(shí)際頁面號(hào)相關(guān)的功能性,如作為程序編碼裝置,或作為主機(jī)系統(tǒng)的固件。在圖12中顯示了與根據(jù)本發(fā)明的一實(shí)施例提供到主機(jī)系統(tǒng)的軟件或固件相關(guān)的適當(dāng)系統(tǒng)架構(gòu)的一實(shí)施例。系統(tǒng)架構(gòu)700一般包括多種模塊,所述模塊可包括(但不限于)應(yīng)用接口模塊704、系統(tǒng)管理器模塊708、數(shù)據(jù)管理器模塊712、數(shù)據(jù)完整性管理器716和裝置管理器與接口模塊720。一般來說,可使用軟件編碼裝置或可由處理器(例如,圖1a的處理器108)訪問的固件來實(shí)施系統(tǒng)架構(gòu)700。
一般來說,可配置應(yīng)用界面模塊704以與主機(jī)、操作系統(tǒng)或用戶直接相通信。應(yīng)用界面模塊704頁也可與系統(tǒng)管理器模塊708和數(shù)據(jù)管理器模塊712相通信。當(dāng)用戶想要讀取、寫入或格式化快閃存儲(chǔ)器時(shí),用戶向操作系統(tǒng)發(fā)送請(qǐng)求,所述請(qǐng)求會(huì)傳遞到應(yīng)用界面模塊704。根據(jù)請(qǐng)求,應(yīng)用界面模塊704將所述請(qǐng)求引導(dǎo)到系統(tǒng)管理器模塊708或數(shù)據(jù)管理器模塊712。
系統(tǒng)管理器模塊708包括一系統(tǒng)初始化子模塊724、一擦除計(jì)數(shù)區(qū)塊管理子模塊726、和一功率管理區(qū)塊子模塊730。一般配置系統(tǒng)初始化子模塊724以能夠處理初始化請(qǐng)求,并通常與擦除計(jì)數(shù)區(qū)塊管理子模塊726相通信。
除與應(yīng)用界面模塊704相通信外,系統(tǒng)管理器模塊708也與數(shù)據(jù)管理器模塊712以及裝置管理器和界面模塊720相通信。與系統(tǒng)管理器模塊708和應(yīng)用界面模塊704都通信的數(shù)據(jù)管理器模塊712可包括提供頁面或區(qū)塊映射的功能性。數(shù)據(jù)管理器模塊712也可包括與操作系統(tǒng)和文件系統(tǒng)界面層相關(guān)的功能性。
與系統(tǒng)管理器模塊708、數(shù)據(jù)管理器712和數(shù)據(jù)完整性管理器716相通信的裝置管理器和界面模塊712通常提供一快閃存儲(chǔ)器界面,并包括與例如I/O界面的硬件抽象相關(guān)的功能性。在其它功能中,數(shù)據(jù)完整性管理器模塊716提供ECC處理。
盡管僅描述了本發(fā)明的一些實(shí)施例,但應(yīng)理解,可在不脫離本發(fā)明的精神或范疇的情況下以許多其它特定形式體現(xiàn)本發(fā)明。舉例來說,一般將諸如將轉(zhuǎn)換頁面號(hào)映射成實(shí)際頁面號(hào)的多頁面寫入或多區(qū)塊擦除操作的多頁面操作描述為適用于相對(duì)于MLC NAND快閃存儲(chǔ)器使用。然而,應(yīng)了解,可相對(duì)于大體上任何適當(dāng)非易失性存儲(chǔ)器(如,二進(jìn)制NAND快閃存儲(chǔ)器)來實(shí)施所述技術(shù)和方法以增加讀取、寫入和擦除方法可發(fā)生的效率,。
查找表一般可包括大體上任何數(shù)目的輸入項(xiàng)。例如,當(dāng)單元中的頁面的數(shù)目很少且當(dāng)非易失性存儲(chǔ)器組件中幾乎不包括單元時(shí),查找表可包括所有值,使得需要進(jìn)行大體上最小量的計(jì)算以確定對(duì)應(yīng)于轉(zhuǎn)換頁面號(hào)的實(shí)際頁面號(hào)。
快閃存儲(chǔ)器的大小和快閃存儲(chǔ)器內(nèi)區(qū)塊的大小可廣泛變化。盡管區(qū)塊的大小一般描述為包括約三十二個(gè)頁面,但區(qū)塊可包括任何數(shù)目的頁面,或更一般地包括組成區(qū)塊的任何數(shù)目的元件。例如,區(qū)塊可包括約六十四個(gè)元件或頁面。因此,系統(tǒng)內(nèi)的區(qū)塊的數(shù)目可變化。在512Mb二進(jìn)制NAND快閃存儲(chǔ)器中,如果區(qū)塊包括各含有約512字節(jié)的約三十二個(gè)頁面,那么在快閃存儲(chǔ)器中存在共4096個(gè)物理區(qū)塊?;蛘撸?12Mb MLC NAND快閃存儲(chǔ)器內(nèi),如果各物理區(qū)塊包括各含有約512字節(jié)的約六十四個(gè)頁面,那么在快閃存儲(chǔ)器中可存在共2048個(gè)物理區(qū)塊。一般來說,頁面的大小也可變化。
與本發(fā)明的各種方法相關(guān)的步驟可廣泛變化。一般來說,可添加、移除、記錄和改變步驟。因此,可認(rèn)為所述實(shí)例是說明性的而非限制性的,且本發(fā)明不限于本文給出的細(xì)節(jié),但可在上述權(quán)利要求的范疇內(nèi)進(jìn)行修改。
權(quán)利要求
1.一種用于執(zhí)行一多頁面命令的方法,所述方法包含獲得一第一頁面號(hào),所述第一頁面號(hào)為一第一規(guī)范,所述第一頁面號(hào)經(jīng)排列以識(shí)別一與一非易失性存儲(chǔ)器相關(guān)的第一頁面;將所述第一頁面號(hào)映射到一第二頁面號(hào),所述第二頁面號(hào)為一第二規(guī)范,所述第二頁面號(hào)經(jīng)排列以識(shí)別所述第一頁面,其中將所述第一頁面號(hào)映射到所述第二頁面號(hào)包括識(shí)別與所述非易失性存儲(chǔ)器相關(guān)的區(qū)的總數(shù)和與區(qū)塊的總數(shù)的每一個(gè)塊相關(guān)的頁面的總數(shù);和使用所述第二頁面號(hào)和所述多頁面命令來訪問所述第一頁面。
2.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包括獲得一第三頁面號(hào),所述第三頁面號(hào)為所述第一規(guī)范,所述第三頁面號(hào)經(jīng)排列以識(shí)別一與一非易失性存儲(chǔ)器相關(guān)的第二頁面;將所述第三頁面號(hào)映射到一第四頁面號(hào),所述第四頁面號(hào)為所述第二規(guī)范,所述第四頁面號(hào)排列以識(shí)別所述第二頁面;和使用所述第二頁面號(hào)來訪問所述第一頁面,并大體上同時(shí)使用所述第四頁面號(hào)來訪問所述第二頁面。
3.根據(jù)權(quán)利要求2所述的方法,其中訪問所述第一頁面和訪問所述第二頁包括將數(shù)據(jù)寫入到所述第一頁面和所述第二頁面。
4.根據(jù)權(quán)利要求2所述的方法,其中所述第一頁面包括在一第一區(qū)中,且所述第二頁面包括在一第二區(qū)中。
5.根據(jù)權(quán)利要求1所述的方法,其中將所述第一頁面號(hào)映射到所述第二頁面號(hào)進(jìn)一步包括識(shí)別一所述第一頁面所位于的區(qū)。
6.根據(jù)權(quán)利要求5所述的方法,其中將所述第一頁面號(hào)映射到所述第二頁面號(hào)還進(jìn)一步包括識(shí)別一所述第一頁面所位于的區(qū)塊并確定所述第一頁面從所述區(qū)塊的一開始處的一偏移。
7.根據(jù)權(quán)利要求1所述的方法,其中所述非易失性存儲(chǔ)器為一NAND快閃存儲(chǔ)器。
8.根據(jù)權(quán)利要求7所述的方法,其中所述NAND快閃存儲(chǔ)器為一MLC NAND快閃存儲(chǔ)器。
9.一種用于執(zhí)行一多頁面命令的方法,所述方法包含獲得一第一頁面號(hào),所述第一頁面號(hào)為一第一規(guī)范,所述第一頁面號(hào)經(jīng)排列以識(shí)別一與一非易失性存儲(chǔ)器相關(guān)的第一頁面;將所述第一頁面號(hào)映射到一第二頁面號(hào),所述第二頁面號(hào)為一第二規(guī)范,所述第二頁面號(hào)經(jīng)排列以識(shí)別所述第一頁面,其中將所述第一頁面號(hào)映射到所述第二頁面號(hào)包括使用一第一值將其編索引成一數(shù)據(jù)結(jié)構(gòu),所述第一值是通過使用所述第一頁面號(hào)來確定的,所述數(shù)據(jù)結(jié)構(gòu)將排列以含有映射信息;和使用所述第二頁面號(hào)和所述多頁面命令來訪問所述第一頁面。
10.根據(jù)權(quán)利要求9所述的方法,其進(jìn)一步包括獲得一第三頁面號(hào),所述第三頁面號(hào)為所述第一規(guī)范,所述第三頁面號(hào)經(jīng)排列以識(shí)別一與所述非易失性存儲(chǔ)器相關(guān)的第二頁面;將所述第三頁面號(hào)映射到一第四頁面號(hào),所述第四頁面號(hào)為所述第二規(guī)范,所述第四頁面號(hào)經(jīng)排列以識(shí)別所述第二頁面,其中將所述第三頁面號(hào)映射到所述第四頁面號(hào)包括使用一第二值將其編索引成所述數(shù)據(jù)結(jié)構(gòu),所述第二值是使用所述第三頁面號(hào)確定的;和使用所述第二頁面號(hào)來訪問所述第一頁面,并大體上同時(shí)使用所述第四頁面號(hào)來訪問所述第二頁面。
11.根據(jù)權(quán)利要求10所述的方法,其中訪問所述第一頁面并訪問所述第二頁面包括將數(shù)據(jù)寫入到所述第一頁面和所述第二頁面。
12.根據(jù)權(quán)利要求10所述的方法,其中所述第一頁面包括在一第一區(qū)中并且所述第二頁包括在一第二區(qū)中。
13.根據(jù)權(quán)利要求9所述的方法,其中所述非易失性存儲(chǔ)器為一NAND快閃存儲(chǔ)器。
14.根據(jù)權(quán)利要求13所述的方法,其中所述NAND快閃存儲(chǔ)器為一MLC NAND快閃存儲(chǔ)器。
15.一種用于在一非易失性存儲(chǔ)器內(nèi)組織復(fù)數(shù)個(gè)區(qū)的方法,所述復(fù)數(shù)個(gè)區(qū)各包括至少一個(gè)區(qū)塊,所述復(fù)數(shù)個(gè)區(qū)的每一個(gè)區(qū)中的所述至少一個(gè)區(qū)塊包括復(fù)數(shù)個(gè)頁面,所述方法包含將一第一頁面號(hào)分配給一與所述復(fù)數(shù)個(gè)區(qū)的一第一區(qū)相關(guān)的第一頁面,所述第一頁面號(hào)為一第一規(guī)范;和將一第二頁面號(hào)分配給一與所述復(fù)數(shù)個(gè)區(qū)的一第二區(qū)相關(guān)的第二頁面,其中使用與包括在所述復(fù)數(shù)個(gè)區(qū)中的區(qū)的總數(shù)和包括在所述第一區(qū)中頁面的總數(shù)相關(guān)的信息來排列所述第一頁面號(hào)以將其轉(zhuǎn)換成一與所述第一頁面相關(guān)的第一物理頁面號(hào),并排列所述第二頁面號(hào)以將其轉(zhuǎn)換成一與所述第二頁面相關(guān)的第二物理頁面號(hào)。
16.根據(jù)權(quán)利要求15所述的方法,其中與包括在所述復(fù)數(shù)個(gè)區(qū)中的區(qū)的所述總數(shù)和包括在所述第一區(qū)中的頁面的所述總數(shù)相關(guān)的所述信息至少部分并入到一數(shù)據(jù)結(jié)構(gòu)中。
17.根據(jù)權(quán)利要求15所述的方法,其中所述第二頁面號(hào)大體上相對(duì)于所述第一頁面號(hào)為順序。
18.根據(jù)權(quán)利要求15所述的方法,其中排列所述第一頁面和所述第二頁面以通過使用一單一多頁面命令來對(duì)其進(jìn)行訪問。
19.根據(jù)權(quán)利要求18所述的方法,其中所述單個(gè)多頁面命令為一多頁面寫命令,其經(jīng)排列以使用所述第一物理頁面號(hào)和所述第二物理頁面號(hào)將數(shù)據(jù)寫入到所述第一頁面和所述第二頁面中。
20.一種系統(tǒng),其包含一非易失性存儲(chǔ)器,所述非易失性存儲(chǔ)器包括復(fù)數(shù)個(gè)頁面,所述復(fù)數(shù)個(gè)頁面被排列在復(fù)數(shù)個(gè)區(qū)塊中,所述復(fù)數(shù)個(gè)區(qū)塊被排列在復(fù)數(shù)個(gè)區(qū)中,所述復(fù)數(shù)個(gè)頁面包括一第一頁面;用于獲取一第一頁面號(hào)的編碼裝置,所述第一頁面號(hào)為一第一規(guī)范,所述第一頁面號(hào)經(jīng)排列以識(shí)別所述第一頁面;用于將所述第一頁面號(hào)映射到一第二頁面號(hào)的編碼裝置,所述第二頁面號(hào)為一第二規(guī)范,所述第二頁面號(hào)經(jīng)排列以識(shí)別所述第一頁面,其中用于將所述第一頁面號(hào)映射到所述第二頁面號(hào)的所述編碼裝置包括用于識(shí)別所述區(qū)的總數(shù)和與所述區(qū)塊的總數(shù)的每一區(qū)塊相關(guān)的所述復(fù)數(shù)個(gè)頁面的總數(shù)的編碼裝置;用于使用所述第二頁面號(hào)來訪問所述第一頁面的編碼裝置;和一用于存儲(chǔ)所述編碼裝置的存儲(chǔ)器。
21.根據(jù)權(quán)利要求20所述的系統(tǒng),其進(jìn)一步包括用于獲得一第三頁面號(hào)的編碼裝置,所述第三頁面號(hào)為所述第一規(guī)范,所述第三頁面號(hào)經(jīng)排列以識(shí)別所述復(fù)數(shù)個(gè)頁面的一第二頁面;用于將所述第三頁面號(hào)映射到一第四頁面號(hào)的編碼裝置,所述第四頁面號(hào)為所述第二規(guī)范,所述第四頁面號(hào)經(jīng)排列以識(shí)別所述第二頁面;和用于通過使用所述第二頁面號(hào)來訪問所述第一頁面且大體上同時(shí)使用所述第四頁面來訪問所述第二頁面的編碼裝置。
22.根據(jù)權(quán)利要求21所述的系統(tǒng),其中用于訪問所述第一頁面并訪問所述第二頁面的所述編碼裝置包括用于將數(shù)據(jù)寫入到所述第一頁面和所述第二頁面的編碼裝置。
23.根據(jù)權(quán)利要求21所述的系統(tǒng),其中所述第一頁面包括在一第一區(qū)中且所述第二頁面包括在一第二區(qū)中。
24.根據(jù)權(quán)利要求20所述的系統(tǒng),其中用于將所述第一頁面號(hào)映射到所述所述第二頁面號(hào)的所述編碼裝置進(jìn)一步包括用于識(shí)別一所述第一頁面所位于的區(qū)的編碼裝置。
25.根據(jù)權(quán)利要求24所述的系統(tǒng),其中將所述第一頁面號(hào)映射到所述第二頁面號(hào)還進(jìn)一步包括識(shí)別一所述第一頁所位于的區(qū)塊,并確定所述第一頁面從所述區(qū)塊的一開始處的一偏移。
26.根據(jù)權(quán)利要求20所述的系統(tǒng),其中所述非易失性存儲(chǔ)器為一MLCNAND快閃存儲(chǔ)器。
27.一種系統(tǒng),其包含一非易失性存儲(chǔ)器,所述非易失性存儲(chǔ)器包括一第一頁面;用于維持一數(shù)據(jù)結(jié)構(gòu)的編碼裝置,所述數(shù)據(jù)結(jié)構(gòu)經(jīng)排列以包含映射信息;用于獲得一第一頁面號(hào)的編碼裝置,所述第一頁面號(hào)為一第一規(guī)范,所述第一頁面號(hào)經(jīng)排列以識(shí)別所述第一頁面;用于將所述第一頁面號(hào)映射到一第二頁面號(hào)的編碼裝置,所述第二頁面號(hào)為一第二規(guī)范,所述第二頁面號(hào)經(jīng)排列以識(shí)別所述第一頁面,其中將所述第一頁面號(hào)映射到所述第二頁面號(hào)包括使用一第一值將其編索引成所述數(shù)據(jù)結(jié)構(gòu),所述第一值是使用所述第一頁面號(hào)確定的;用于使用所述第二頁面號(hào)來訪問所述第一頁面的編碼裝置;和一用于存儲(chǔ)所述編碼裝置和所述數(shù)據(jù)結(jié)構(gòu)的區(qū)域。
28.根據(jù)權(quán)利要求27所述的系統(tǒng),其進(jìn)一步包括用于獲得一第三頁面號(hào)的編碼裝置,所述第三頁面號(hào)為所述第一規(guī)范,所述第三頁面號(hào)經(jīng)排列以識(shí)別一包括在所述非易失性存儲(chǔ)器中的第二頁面;用于將所述第三頁面號(hào)映射到一第四頁面號(hào)的編碼裝置,所述第四頁面號(hào)為所述第二規(guī)范,所述第四頁面號(hào)經(jīng)排列以識(shí)別所述第二頁面,其中用于將所述第三頁面號(hào)映射到所述第四頁面號(hào)的編碼裝置包括使用一第二值將其編索引成所述數(shù)據(jù)結(jié)構(gòu)的編碼裝置,所述第二值是使用所述第三頁面號(hào)確定的;和用于使用所述第二頁面號(hào)來訪問所述第一頁面并大體上同時(shí)使用所述第四頁面號(hào)來訪問所述第二頁面的編碼裝置。
29.根據(jù)權(quán)利要求28所述的系統(tǒng),其中用于訪問所述第一頁面并訪問所述第二頁面的所述編碼裝置包括用于將數(shù)據(jù)寫入到所述第一頁面和所述第二頁面的編碼裝置。
30.根據(jù)權(quán)利要求28所述的系統(tǒng),其中所述第一頁面包括在一第一區(qū)中,且所述第二頁面包括在一第二區(qū)中。
31.根據(jù)權(quán)利要求27所述的系統(tǒng),其中所述非易失性存儲(chǔ)器為一MLCNAND快閃存儲(chǔ)器。
32.一種用于在一非易失性存儲(chǔ)器內(nèi)組織復(fù)數(shù)個(gè)區(qū)的系統(tǒng),所述復(fù)數(shù)個(gè)區(qū)各包括至少一個(gè)區(qū)塊,所述復(fù)數(shù)個(gè)區(qū)的每一個(gè)區(qū)中的所述至少一個(gè)區(qū)塊包括復(fù)數(shù)個(gè)頁面,所述系統(tǒng)包含用于將一第一頁面號(hào)分配到一與所述復(fù)數(shù)個(gè)區(qū)的一第一區(qū)相關(guān)的第一頁面的編碼裝置,所述第一頁面號(hào)為一第一規(guī)范;用于將一第二頁面號(hào)分配到一與所述復(fù)數(shù)個(gè)區(qū)的一第二區(qū)相關(guān)的第二頁面的編碼裝置,其中使用與包括在所述復(fù)數(shù)個(gè)區(qū)中的區(qū)的總數(shù)和包括在所述第一區(qū)中的頁面的總數(shù)相關(guān)的信息來排列所述第一頁面號(hào)以將其轉(zhuǎn)換成一與所述第一頁面相關(guān)的第一物理頁面號(hào),并排列所述第二頁面號(hào)以將其轉(zhuǎn)換成一與所述第二頁面相關(guān)的第二物理頁面號(hào);和一用于存儲(chǔ)所述編碼裝置的存儲(chǔ)器。
33.根據(jù)權(quán)利要求32所述的系統(tǒng),其進(jìn)一步包括用于使用一單個(gè)多頁面命令來促成訪問所述第一頁面和所述第二頁面的編碼裝置。
34.一種用于執(zhí)行一多頁面命令的系統(tǒng),所述系統(tǒng)包含用于獲得一第一頁面號(hào)的構(gòu)件,所述第一頁面號(hào)為一第一規(guī)范,所述第一頁面號(hào)經(jīng)排列以識(shí)別一與一非易失性存儲(chǔ)器相關(guān)的第一頁面;用于將所述第一頁面號(hào)映射到一第二頁面號(hào)的構(gòu)件,所述第二頁面號(hào)為一第二規(guī)范,所述第二頁面號(hào)經(jīng)排列以識(shí)別所述第一頁面,其中用于將所述第一頁面號(hào)映射到所述第二頁面號(hào)的所述構(gòu)件包括用于識(shí)別與所述非易失性存儲(chǔ)器相關(guān)的區(qū)的總數(shù)和與區(qū)塊的總數(shù)的各區(qū)塊相關(guān)的頁面的總數(shù)的構(gòu)件;和用于通過使用所述第二頁面號(hào)來訪問所述第一頁面的構(gòu)件。
35.根據(jù)權(quán)利要求34所述的系統(tǒng),其進(jìn)一步包括用于獲得一第三頁面號(hào)的構(gòu)件,所述第三頁面號(hào)為所述第一規(guī)范,所述第三頁面號(hào)經(jīng)排列以識(shí)別一與一非易失性存儲(chǔ)器相關(guān)的第二頁面;用于將所述第三頁面號(hào)映射到一第四頁面號(hào)的構(gòu)件,所述第四頁面號(hào)為所述第二規(guī)范,所述第四頁面號(hào)經(jīng)排列以識(shí)別所述第二頁面;和用于使用所述第二頁面號(hào)來訪問所述第一頁面并大體上同時(shí)使用所述第四頁面號(hào)來訪問所述第二頁面的構(gòu)件。
36.根據(jù)權(quán)利要求34所述的系統(tǒng),其中所述非易失性存儲(chǔ)器為一MLCNAND快閃存儲(chǔ)器。
37.一種用于執(zhí)行一多頁面命令的系統(tǒng),所述系統(tǒng)包含用于獲得一第一頁面號(hào)的構(gòu)件,所述第一頁面號(hào)為一第一規(guī)范,所述第一頁面號(hào)經(jīng)排列以識(shí)別一與一非易失性存儲(chǔ)器相關(guān)的第一頁面;用于將所述第一頁面號(hào)映射到一第二頁面號(hào)的構(gòu)件,所述第二頁面號(hào)為一第二規(guī)范,所述第二頁面號(hào)經(jīng)排列以識(shí)別所述第一頁面,其中用于將所述第一頁面號(hào)映射到所述第二頁面號(hào)的所述構(gòu)件包括用于使用一第一值將其編索引成一數(shù)據(jù)結(jié)構(gòu)的構(gòu)件,所述第一值是使用所述第一頁面號(hào)確定的,所述數(shù)據(jù)結(jié)構(gòu)經(jīng)排列以包含映射信息;和用于使用所述第二頁面號(hào)來訪問所述第一頁面的構(gòu)件。
38.根據(jù)權(quán)利要求37所述的系統(tǒng),其進(jìn)一步包括用于獲得一第三頁面號(hào)的構(gòu)件,所述第三頁面號(hào)為所述第一規(guī)范,所述第三頁面號(hào)經(jīng)排列以識(shí)別一與所述非易失性存儲(chǔ)器相關(guān)的第二頁面;用于將所述第三頁面號(hào)映射到一第四頁面號(hào)的構(gòu)件,所述第四頁面號(hào)為所述第二規(guī)范,所述第四頁面號(hào)經(jīng)排列以識(shí)別所述第二頁面,其中用于將所述第三頁面號(hào)映射到所述第四頁面號(hào)的所述構(gòu)件包括用于使用一第二值將其編索引成所述數(shù)據(jù)結(jié)構(gòu)的構(gòu)件,所述第二值是使用所述第三頁面號(hào)確定的;和用于使用所述第二頁面號(hào)來訪問所述第一頁面并大體上同時(shí)使用所述第四頁面號(hào)來訪問所述第二頁面的構(gòu)件。
39.根據(jù)權(quán)利要求37所述的系統(tǒng),其中所述非易失性存儲(chǔ)器為一MLCNAND快閃存儲(chǔ)器。
40.一種用于使用一共同命令使得能夠訪問復(fù)數(shù)個(gè)存儲(chǔ)器元件的方法,所述復(fù)數(shù)個(gè)存儲(chǔ)器元件在一非易失性存儲(chǔ)器內(nèi)被劃分成復(fù)數(shù)個(gè)組,所述復(fù)數(shù)個(gè)組被排列在復(fù)數(shù)個(gè)區(qū)中,所述方法包含使用一第一規(guī)范的多個(gè)識(shí)別符來識(shí)別所述復(fù)數(shù)個(gè)存儲(chǔ)器元件;大體上將所述第一規(guī)范的所述識(shí)別符轉(zhuǎn)換成所述第二規(guī)范的多個(gè)識(shí)別符,所述第二規(guī)范的所述識(shí)別符經(jīng)排列以對(duì)應(yīng)于所述非易失性存儲(chǔ)器內(nèi)的所述復(fù)數(shù)個(gè)存儲(chǔ)器元件的實(shí)際位置,其中將所述第一規(guī)范的所述識(shí)別符轉(zhuǎn)換成所述第二規(guī)范的多個(gè)識(shí)別符包括使用與包括在復(fù)數(shù)個(gè)區(qū)中區(qū)的總數(shù)相關(guān)的信息、與包括在所述復(fù)數(shù)個(gè)組的各組中的存儲(chǔ)器元件的總數(shù)相關(guān)的信息和所述第一識(shí)別符;和使用所述共同命令來訪問所述復(fù)數(shù)個(gè)存儲(chǔ)器元件。
41.根據(jù)權(quán)利要求40所述的方法,其中排列識(shí)別包括在所述復(fù)數(shù)個(gè)區(qū)的一第一區(qū)中的所述復(fù)數(shù)個(gè)存儲(chǔ)器元件的一第一存儲(chǔ)器元件的所述第一規(guī)范的一第一識(shí)別符以具有一第一值,并排列識(shí)別包括在所述復(fù)數(shù)個(gè)區(qū)的一第二區(qū)中的所述復(fù)數(shù)個(gè)存儲(chǔ)器元件的一第二存儲(chǔ)器元件的所述第一規(guī)范的一第二識(shí)別符以具有一第二值,其中所述第二值為增加一值1的所述第一值。
42.根據(jù)權(quán)利要求41所述的方法,其中所述第一頁面不直接物理連續(xù)于所述第二頁面。
43.根據(jù)權(quán)利要求40所述的方法,其中使用所述共同命令訪問所述復(fù)數(shù)個(gè)存儲(chǔ)器元件包括使用大體上所述共同命令的一單個(gè)實(shí)例將數(shù)據(jù)寫入到所述復(fù)數(shù)個(gè)存儲(chǔ)器元件與使用大體上所述共同命令的所述單個(gè)實(shí)例從所述存儲(chǔ)器元件擦除數(shù)據(jù)中的一個(gè)。
44.根據(jù)權(quán)利要求40所述的方法,其中使用與包括在所述復(fù)數(shù)個(gè)區(qū)中的區(qū)的所述總數(shù)相關(guān)的所述信息、與包括在所述復(fù)數(shù)個(gè)組的各組中存儲(chǔ)器元件的總數(shù)相關(guān)的所述信息和所述第一識(shí)別符將所述第一規(guī)范的所述識(shí)別符轉(zhuǎn)換成所述第二規(guī)范的識(shí)別符包括將其編索引成一包括與所述第二規(guī)范的所述識(shí)別符相關(guān)的信息的數(shù)據(jù)結(jié)構(gòu)。
45.根據(jù)權(quán)利要求40所述的方法,其中使用與包括在所述復(fù)數(shù)個(gè)區(qū)中區(qū)的的所述總數(shù)相關(guān)的所述信息、與包括在所述復(fù)數(shù)個(gè)組的各組中的存儲(chǔ)器元件的總數(shù)相關(guān)的所述信息和所述第一識(shí)別符來將所述第一規(guī)范的所述識(shí)別符轉(zhuǎn)換成所述第二規(guī)范的識(shí)別符包括執(zhí)行一計(jì)算,所述計(jì)算經(jīng)布置以確定對(duì)應(yīng)于所述第一規(guī)范的一第一識(shí)別符的所述第二規(guī)范的一第二識(shí)別符,其中所述計(jì)算使用與包括在所述復(fù)數(shù)個(gè)區(qū)中的區(qū)的所述總數(shù)相關(guān)的所述信息、與包括在所述復(fù)數(shù)個(gè)組的每一組中的存儲(chǔ)器元件的總數(shù)相關(guān)的所述信息。
46.根據(jù)權(quán)利要求40所述的方法,其中所述復(fù)數(shù)個(gè)組為復(fù)數(shù)個(gè)區(qū)塊,且所述復(fù)數(shù)個(gè)存儲(chǔ)器元件為復(fù)數(shù)個(gè)物理頁面。
47.根據(jù)權(quán)利要求40所述的方法,其中所述非易失性存儲(chǔ)器為一NAND快閃存儲(chǔ)器。
全文摘要
本發(fā)明提供數(shù)種用于促進(jìn)在非易失性存儲(chǔ)器系統(tǒng)內(nèi)進(jìn)行多頁面或多區(qū)塊操作的方法和設(shè)備。根據(jù)本發(fā)明的一個(gè)方面,一執(zhí)行一多頁面命令的方法包括獲得識(shí)別與一非易失性存儲(chǔ)器相關(guān)的一第一頁面的一第一規(guī)范的一第一頁面號(hào);和將所述第一頁面號(hào)映射到一第二規(guī)范的一第二頁面號(hào)。類似所述第一頁面號(hào),所述第二頁面號(hào)也識(shí)別所述第一頁面。將所述第一頁面號(hào)映射到所述第二頁面號(hào)包括識(shí)別與所述非易失性存儲(chǔ)器相關(guān)的區(qū)的總數(shù)和與區(qū)塊的總數(shù)的每一區(qū)塊相關(guān)的頁面的總數(shù)。最后,通過使用所述第二頁面和所述多頁面命令來訪問第一頁面。
文檔編號(hào)G06F12/06GK1703678SQ03825519
公開日2005年11月30日 申請(qǐng)日期2003年9月10日 優(yōu)先權(quán)日2002年10月28日
發(fā)明者羅伯特·C·張, 巴赫曼·卡瓦邁, 法施德·薩伯特-沙吉, 李平 申請(qǐng)人:桑迪士克股份有限公司