新四季網

一種對nandflash存儲器進行虛擬空間管理的方法

2023-06-02 19:32:06

專利名稱:一種對nand flash存儲器進行虛擬空間管理的方法
技術領域:
本發明涉及快閃記憶體存儲器的技術領域,具體涉及到對NAND FLASH快閃記憶體存儲器的物理塊建立邏輯映射表來進行虛擬空間管理的方法。
背景技術:
目前,隨著科學技術的發展,更多、更好的存儲介質被研發出來,使我們的生活發生著日新月異的變化。這些變化給移動通訊終端提供了更多的選擇,更好的性能。存儲器訪問速度的提高以及存儲空間的不斷擴大,也使移動通訊終端具有更好的多媒體功能。為了得到更多的存儲空間,並且價格更加便宜,NAND FLASH存儲器應運而生。NAND FLASH存儲器與NORFLASH存儲器同屬於快閃記憶體存儲器,但是NAND FLASH存儲器在移動通訊終端的大容量存儲中有著更好的性能價格比,正在迅速的替代NOR存儲器的地位。下面簡單列舉一下NAND FLASH和NORFLASH兩種存儲器的區別。
NOR FLASH可以進行讀寫,能夠ACCESS,也就是說,它上面存儲的內容可以被執行。擦除方式按照block方式,寫入方式按照word寫入,永不損壞。
NAND FLASH在低廉價格的前提下,可以使存儲空間變得很大。NAND FLASH存儲器可以進行讀寫,但是不能夠ACCESS,也就是說,它上面存儲的內容只能被裝入到內存中才能夠被執行。擦除方式按照block方式,寫入方式按照page方式,一次必須寫入一個page。
NAND FLASH存儲器除了第一塊block能夠保證永不損壞外,其他的塊均存在壞掉的可能性。一般來說,一個block有固定個字節,但是,這僅僅是尋址空間可以看到的地方,其實每一個block在最後還有一部分空間即備用區域是看不到的,它用來標示本塊block是否已經損壞,防止讀寫時使用該壞塊。
由於NAND FLASH存儲器會隨機地出現壞塊,目前對壞塊的處理,一般採用跳過該壞塊的方法。即燒寫FLASH時,發現某一塊壞掉,終端燒寫程序或者BOOT LOADER程序僅僅是跳到下一個可用塊進行讀寫操作,這裡的BOOT LOADER就是在作業系統內核運行之前運行的一段小程序。通過這段小程序,可以初始化硬體設備、建立內存空間的映射圖,從而將系統的軟硬體環境帶到一個合適的狀態,以便為最終調用作業系統內核准備好正確的環境。
目前採取的這種跳過壞塊的方法存在的缺點如下,由於壞塊的存在,將本來應該寫到某一地址的內容寫到了下一個block,使得程序IMAGE(編譯後的可執行程序影像文件)與燒寫到NAND FLASH存儲器裡面的內容不能一一對應,即從整個NAND FLASH來看,存在許多「空洞」。然而隨著移動通訊終端能力變得越來越強大,一些應用程式必須到指定地址去尋找內容,比如說某些應用要求讀取地址0X00A00000的內容,這個地址是對應著NAND FLASH的第1塊,而第1塊恰好是壞塊,這裡地址0X00A00000內容被如上所說的跳過壞塊的機制燒寫到後面的某個塊J中去了。因此,移動通訊終端的所有應用程式都必須有跳過壞塊的處理機制,程序模塊之間需要協作,這就使得終端程序做的很複雜。如隨著3G的來臨,FOTA(移動終端空中下載軟體升級)功能又成為運營商必選的內容,需要終端程序能夠在空中更新並且能夠平滑的進行程序執行,這樣,目前的壞塊跳過的處理辦法就難以滿足3G終端的要求。

發明內容
本發明的目的就是提供一種對NAND FLASH存儲器進行邏輯塊虛擬空間管理的辦法,通過該辦法,能夠屏蔽NAND FLASH存儲器中的物理壞塊,向上層應用軟體模塊提供統一的、連續的、可用的存儲介質的操作方法。克服了傳統的壞塊跳過處理辦法帶來的終端程序複雜性的問題,能夠簡單快捷地解決終端程序下載和存儲到存儲器中的情況。
本發明包括以下步驟1)初始化NAND FLASH存儲器,檢測所有物理壞塊;2)建立映射表,把虛擬的連續可用的邏輯塊映射到非連續的可用物理塊上,並把映射表存儲到虛擬空間管理模塊中;3)每個應用單元通過虛擬空間管理模塊訪問NAND FLASH存儲器;4)虛擬空間管理模塊找到邏輯塊對應的物理塊,進行讀、寫和擦除操作。
在NAND FLASH的頻繁操作使用過程中,也有可能產生壞塊,因此對NAND FLASH存儲器進行虛擬空間管理的方法,還包括以下步驟5)NAND FLASH存儲器的物理塊在讀、寫和擦除操作中出現錯誤,識別為壞塊;6)把邏輯塊映射到一個可用且為空的物理塊上,並把新的映射表存儲到虛擬空間管理模塊中;7)邏輯塊不變,重新找到新對應物理塊,再次進行讀、寫和擦除操作。
在所述的映射表中,邏輯空間0塊映射到物理空間0塊,邏輯空間第N塊映射到物理空間從第N塊包括第N塊開始的第一個可用的物理塊,N大於等於1。即邏輯空間1塊映射到物理空間時,如果物理空間第1塊可用,則映射到物理空間第1塊,如果物理空間第1塊是壞塊,則繼續向下尋找直到可用的物理塊。
NAND FLASH存儲器中劃出一部分作為預留存儲區域,用於物理塊在讀寫操作出現損壞時重新映射的存儲物理塊。
NAND FLASH存儲器提供統一的讀寫控制接口,非同時運行的每個應用單元調用連續可用的NAND FLASH存儲器邏輯塊。採用NAND flash存儲器作為數據存儲裝置的產品有手機、MP3、U盤、數位相機和PDA。
通過本發明,上層應用軟體單元就可用把下層實際存在物理壞塊的NAND FLASH存儲器映射成統一的、連續的、可用的線性存儲介質,上層應用軟體軟體這樣就完全可以透明地去進行對NAND FLASH存儲器的邏輯空間進行讀取存儲操作,而不必在各種應用軟體單元中考慮複雜的壞塊跳過問題了,本發明通過統一的讀寫控制接口,能夠簡單快捷地解決手機終端程序下載和存儲。


圖1是存儲器內邏輯塊和物理塊的映射關係示意圖;圖2是運行應用出現壞塊時,存儲器邏輯塊和物理塊的映射關係示意圖;圖3是虛擬空間管理流程圖。
具體實施例方式
下面結合附圖和實施例對本發明做進一步的說明。
如圖1所示,虛擬內存管理模塊中邏輯塊和物理塊的映射關係,是每一個邏輯塊按照順序映射到實際的物理塊上,如果對應的物理塊壞了,則映射到下一個物理塊上,然後建立起一個映射表。例如在NAND FLASH存儲器中存在壞塊5、6、11等等。這樣我們的邏輯地址的對應關係就會像下面這樣,邏輯0對應物理0;邏輯1對應物理1;邏輯2對應物理2;邏輯3對應物理3;邏輯4對應物理4;邏輯5對應物理7;邏輯6對應物理8;邏輯N對應物理M。其中物理0塊是保證不會壞掉的,而其他的物理塊有會出現壞塊的可能性,壞塊分為兩種,一種存儲器生產出來後就存在的初始壞塊,另一種是存儲器的運行過程中出現的隨機產生的壞塊。
建立起NAND FLASH壞塊映射表,並把邏輯塊與實際物理塊的映射關係以映射表的形式存儲在NAND FLASH的固定位置上。這樣就能夠向上層應用提供統一的NAND FLASH讀寫控制接口,並向上層應用提供連續的邏輯地址空間。上層應用程式通過這些接口對NAND FLASH進行讀寫操作,在使用這些接口時,不必考慮NAND FLASH中實際壞塊的存在,只是假定下層整個NAND FLASH是連續可用的。
初始壞塊的檢測,用燒寫工具把相應IMAGE寫到手機的NAND FLASH後,手機第一次開機BOOT LOADER運行時,BOOT LOADER中的邏輯空間管理模塊部分啟動並檢測NAND FLASH的固定區域,該固定區域不在動態FLASH管理區域,即該區域不需要進行映射,這時映射表不存在。然後掃描NADN FLASH存儲器,識別壞塊,建立起邏輯空間與物理空間的映射表。
映射表的建立算法為如果實際的NAND FLASH第N塊壞,則邏輯FLASH空間第N塊對應的就是從邏輯FLASH空間第N-1塊對應的實際可用物理塊開始的下一個可用的物理塊。即如果邏輯空間的第N-1塊,映射到實際物理塊的M塊,則邏輯空間的第N塊映射到從M+1(包括M+1)開始的第一個可用物理塊。這裡N大於等於1;N=0時邏輯第0塊,對應的實際的物理地址第0塊,因為NAND FLASH保證第0塊是可用的。
建成該映射關係之後(包括以後的手機開機)把該映射表保存到相應的固定區域。BOOTLOADER檢測到相應的固定區域存在該映射表,根據映射表的映射關係,直接通過邏輯內存管理模塊的相關讀取接口線性連續的讀取IMAGE加載到ram空間去運行(從第一塊到第N塊,連續線性)。到此時映射關係表依然如圖1所示,之後的手機生命周期內那些更新NAND FLASH的應用軟體可能會改變這種映射關係。
當FOTA等應用進行NAND FLASH的更新操作時,NAND FLASH這個時候也可能產生壞塊。比如在進行某次FOTA前,映射關係如圖1;當FOTA要求更新第5塊,此時根據圖1的映射關係,實際上是更新NAND FLASH的第7塊,此時擦除第7塊時,該塊壞掉。
如圖2所示,即FOTA過程中產生了新壞塊的情況,這裡沒有辦法把邏輯的第5塊去映射到實際的NAND FLASH第8塊,因為NAND FLASH的第8塊是邏輯第6塊的內容。於是把邏輯第5塊映射到存儲器預留區域的某個塊內,這時把它映射到預留區域的下一個可用塊K,然後修改映射表。
以下對預留區域做一下描述。預留區域是從NAND FLASH中保留的一塊區域,一般來說,預留區域放置在NAND FLASH的末尾部分,該區域依然可能存在壞塊,邏輯空間管理模塊管理著該區域的下一個可用塊NextAvailableBlock。當FOTA等模塊需要從預留區域取可用塊映射到邏輯空間時,就可以把塊NextAvai lableBlock映射到邏輯空間,然後查找從該塊開始下一個可用的塊重新標記為NextAvailableBlock,以備下次FOTA等模塊應用產生壞塊時,就可以用該塊映射。
如圖3所示,虛擬空間管理流程是先進行步驟301,初始化NAND FLASH存儲器,檢測所有物理壞塊;步驟302,建立映射表,把虛擬的連續可用的邏輯塊映射到非連續的可用物理塊上,並把映射表存儲到虛擬空間管理模塊中;步驟303,主程序運行,將空間管理模塊存儲區中的內容load到ram中;步驟304,每個應用單元通過虛擬空間管理模塊訪問NAND FLASH存儲器,虛擬空間管理模塊找到邏輯塊對應的物理塊,進行讀、寫和擦除操作;步驟305,可以順利進行操作;步驟306,如果NAND FLASH存儲器的物理塊在讀、寫和擦除操作中出現錯誤,識別為壞塊,把邏輯塊映射到一個可用且為空的物理塊上,並把新的映射表存儲到虛擬空間管理模塊中,邏輯塊不變,重新找到新對應物理塊,再次進行讀、寫和擦除操作直到操作成功。
比如上層應用程式需要讀取、擦除或者寫入數據到第blocknum_M塊,這時只需要使用邏輯地址空間調用響應的函數接口如ReadBlock(blocknum_M,buffer);EraseBlock(blocknum_M);WriteBlock(blocknum_M,buffer);這裡的第blocknum_M塊是存儲器中的邏輯塊,而不需要關心下層NAND FLASH的第blocknum_M塊具體的物理塊是壞塊還是可用塊。邏輯空間管理模塊進行相應的算法運算,把上層應用的操作要求從NAND FLASH連續的邏輯塊映射到相應的物理塊,完成上層要求的操作。
本發明通過統一的讀寫控制接口,把下層實際存在物理壞塊的NAND FLASH存儲器映射成統一的、連續的、可用的線性存儲介質,上層應用軟體軟體可以透明地去進行對NAND FLASH存儲器的邏輯空間進行讀取存儲操作,而不必再考慮複雜的壞塊跳過問題了,應用虛擬空間管理模塊能夠簡單快捷地解決手機終端程序下載和存儲。
權利要求
1.一種對NAND FLASH存儲器進行虛擬空間管理的方法,其特徵在於包括以下步驟1)初始化NAND FLASH存儲器,檢測所有物理壞塊;2)建立映射表,把虛擬的連續可用的邏輯塊映射到非連續的可用物理塊上,並把映射表存儲到虛擬空間管理模塊中;3)每個應用單元通過虛擬空間管理模塊訪問NAND FLASH存儲器;4)虛擬空間管理模塊找到邏輯塊對應的物理塊,進行讀、寫和擦除操作。
2.根據權利要求1所述的對NAND FLASH存儲器進行虛擬空間管理的方法,其特徵在於還包括以下步驟5)NAND FLASH存儲器的物理塊在讀、寫和擦除操作中出現錯誤,識別為壞塊;6)把邏輯塊映射到一個可用且為空的物理塊上,並把新的映射表存儲到虛擬空間管理模塊中;7)邏輯塊不變,重新找到新對應物理塊,再次進行讀、寫和擦除操作。
3.根據權利要求1所述的對NAND FLASH存儲器進行虛擬空間管理的方法,其特徵在於所述的映射表中,邏輯空間0塊映射到物理空間0塊,邏輯空間第N塊映射到物理空間從第N塊包括第N塊開始的第一個可用的物理塊,N大於等於1。
4.根據權利要求1或2所述的對NAND FLASH存儲器進行虛擬空間管理的方法,其特徵在於NAND FLASH存儲器提供統一的讀寫控制接口,非同時運行的每個應用單元調用連續可用的NAND FLASH存儲器邏輯塊。
5.根據權利要求1至3中任一個權利要求所述的對NAND FLASH存儲器進行虛擬空間管理的方法,其特徵在於NAND FLASH存儲器中劃出一部分作為預留存儲區域,用於物理塊在讀寫操作出現損壞時重新映射的存儲物理塊。
6.根據權利要求1至3中任一個權利要求所述的對NAND FLASH存儲器進行虛擬空間管理的方法,其特徵在於採用NAND flash存儲器作為數據存儲裝置的產品有手機、MP3、U盤、數位相機和PDA。
全文摘要
一種對NAND flash存儲器進行虛擬空間管理的方法,建立映射表,把虛擬的連續可用的邏輯塊映射到非連續的可用物理塊上,並把映射表存儲到虛擬空間管理模塊中,可以將不相關的各個程序模塊的壞塊處理部分省略,使它們只能夠看到好用的邏輯塊,而邏輯空間管理模塊提供相應的壞塊映射機制和根據邏輯塊號找到對應的物理塊號的功能,通過本方法,手機終端中很多軟體模塊可以避免重複考慮壞塊處理問題,也避免了不能同時運行的兩個終端程序在遇到都能訪問的壞塊時的複雜處理。
文檔編號G06F12/02GK1932778SQ20061006970
公開日2007年3月21日 申請日期2006年7月23日 優先權日2006年7月23日
發明者劉剛, 唐尊良 申請人:海信集團有限公司, 青島海信移動通信技術股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀