新四季網

一種存儲器文件數據虛擬存取方法

2023-12-07 06:57:11 1

專利名稱:一種存儲器文件數據虛擬存取方法
技術領域:
本發明屬於計算機存儲器文件數據存取和文件管理技術領域,具體地說是一種存儲器文件數據虛擬存取方法。
背景技術:
文件系統是軟體為了存儲和管理數據,而在存儲器上建立的文件數據結構的總和,如軟硬碟、光碟、內存、快閃記憶體(Flash)等。一般來說,文件系統由目錄和文件組成,通常包括參數塊、文件分配表、根目錄列表和數據區,文件系統主要完成三項功能跟蹤記錄存儲器上中被耗用的空間和自由空間、維護目錄名和文件名和跟蹤記錄每一個文件的物理存儲位置。
在現有技術中,計算機通過存儲器中的文件系統在讀寫存儲器的數據時,通常直接向硬體設備存儲器發送讀寫指令,對存儲器中的扇區內的數據進行直接的讀、寫或擦除,這種文件系統和文件數據的讀寫方法存在較大問題1、由於部分文件系統,如文件分配表FAT文件系統的本身設計原因,它的引導及參數塊(BPB)、FAT表及根目錄的存儲順序必須是連續且固定的,如果其中的任何一處出現壞塊,將導致整個文件系統無法使用,雖然可以恢復將文件數據到另一個存儲器中,但要重新使用該存儲器必須進行格式化。2、部分文件系統,如FAT文件系統不考慮掉電保護,這是由於其採用傳統數據結構的原因,雖然可以對其進行定製以支持掉電保護,但這可能導致與其它系統不兼容的問題,同時也會增加文件系統的開發難度和穩定性風險。3、部分文件系統,如FAT文件系統的最小操作單位與快閃記憶體(Flash)不兼容,雖然理論上FAT文件系統可以支持最大64K簇(cluster),但這通常在上千兆存儲空間的設備上使用,一般情況下視窗作業系統Windows無法識別使用大容量簇為基礎的小容量存儲設備。4、部分文件系統,如FAT文件系統不考慮寫平衡問題,主要原因是文件系統的壞塊管理安全性不足,由於部分文件系統的一些數據表格,如FAT表需要頻繁更新,但因為其存儲位置固定,在一些類型存儲器的存儲區域出現壞塊的可能性大幅度增加,進而導致文件系統故障。
現有技術對扇區採用直接訪問方式,因此當扇區出現壞塊時便無法使用,如果壞塊扇區出現在關鍵數據存儲位置時,會導致文件系統的崩潰;現有技術僅能對一種物理存儲設備進行數據管理,不能將多種不同類型的物理存儲設備作為進行統一的數據管理;現有技術對扇區的訪問是不考慮其壽命的,因此在部分存儲設備特別是快閃記憶體上,將會導致其關鍵數據存儲扇區由於操作次數過多出現壞塊而導致文件系統崩潰丟失數據的嚴重情況,同樣由於擦除次數較多,扇區變成壞塊,導致可使用容量的下降;現有技術未考慮到特殊存儲設備的特性,如快閃記憶體,這類設備的單個扇區僅能寫入一次,現有技術在處理再次寫入已寫入扇區時,需要將臨近的多個扇區內容一同擦除,在擦除之前需要將臨近的多個扇區數據讀入緩衝中,再將寫入數據與臨近的多個扇區在緩衝內的數據寫入,導致不必要的寫入和擦除操作,減少存儲器的壽命,增加了操作時間,例如,一般的FLASH在讀寫數據的最小操作單位為512-528個字節(Bytes),但寫入數據時,如果欲寫入位置已經存在數據,需將該單元位置數據擦除後,方能寫入,一般需要擦除16-32Kbytes,當欲寫入一個512位元組的數據於第3個扇區時,該扇區已存在數據,這時需要將該第1-32扇區的內容讀入內存,在內存中將第3扇區的內容替換掉,並擦除1-32扇區的所有內容,再寫回FLASH 1-32扇區的內容。
現有文件系統實現的寫操作具有以下缺點1、由於每次寫操作均要讀寫存儲器,而快閃記憶體的擦寫速度慢,因此,導致整個寫操作的執行效率低。2、由於讀寫存儲器的頻率高,會縮短存儲器的使用壽命。

發明內容
為了克服現有技術的不足之處,本發明的目的在於提供一種存儲器文件數據虛擬存取方法,以延長存儲器的使用壽命,提高讀寫效率。
為完成上述發明目的,本發明採取的整體技術方案為一種存儲器文件數據虛擬存取方法,包括以下步驟步驟1、存儲器接獲來自文件系統對某扇區的文件數據的讀寫或刪除請求;步驟2、計算機中央處理器通過查詢地址轉換表將讀寫或刪除請求的邏輯扇區地址轉換為物理扇區地址;步驟3、通過物理狀態記錄表找到該物理扇區的可用數據塊設備;步驟4、從該物理扇區可用數據塊設備中讀取文件數據,並返回給文件系統,或將文件數據寫入到該物理扇區的可用數據塊設備中,或將文件數據從該物理扇區的可用數據塊設備中刪除。
所述步驟1中的存儲器上有兩個相同的核心描述塊,將文件數據通過循環校驗運算後存入存儲器中的兩個不同塊中,以互相驗證,用於互相驗證和支持掉電保護與擦除加速。
所述校驗運算具體包括當系統初始化時,分別讀取各個核心描述塊並對它們進行校驗碼計算;當任意核心描述塊計算的校驗碼與核心描述塊保存的校驗碼不同時,該核心描述塊無效;當所有核心描述塊計算的校驗碼與核心描述塊保存的校驗碼不同時,重新格式化;當任意核心描述塊計算的校驗碼與核心描述塊保存的校驗碼相同時,該核心描述塊有效;當所有核心描述塊計算的校驗碼與核心描述塊保存的校驗碼相同時,對兩個核心描述塊的參考值進行對比,當一個核心描述塊參考值大於另一個核心描述塊參考值時,取大的核心描述塊為有效,使用有效的核心描述塊作為當前的各個表的數據。
所述步驟1中的文件系統包括有地址轉換表和物理分布描述表,這兩個數據表存儲於相同的存儲器扇區設備中。
所述地址轉換表用於將邏輯與物理塊地址轉換,表的各項索引號代表邏輯地址,其包含的值為物理地址。
所述步驟3還包括通過物理分布描述表獲得該物理扇區的描述符的步驟。
所述物理分布描述表是文件系統物理狀態記錄表的輔助表,用於將多種不同的獨立存儲器設備的數據訪問地址聯結成線性訪問地址。
所述步驟3具體包括下述步驟步驟311、通過物理狀態記錄表獲得第一個可用塊,並通過塊刪除/寫計數器表獲得該塊的使用次數;步驟312、通過刪除/寫計數器表獲得多個可用塊和其使用次數,並進行對比步驟313、通過對所有可用塊進行遍歷後,獲得一個使用次數最少的可用塊。
所述步驟311中的獲得第一個可用塊具體包括以下步驟步驟3111、對產生壞塊的塊轉換表標記為產生壞塊;步驟3112、將物理狀態記錄表中原有的值賦給一個存儲器中的臨時變量;步驟3113、獲得一個新的可用塊;步驟3114、將物理狀態記錄表最後一個邏輯地址分配給壞的物理塊。
所述步驟4中的將文件數據寫入到該物理數據塊設備進一步包括以下步驟步驟41、判斷物理扇區的狀態,如果該物理扇區的狀態為未使用或已刪除,則通過物理分布描述表獲得該物理扇區的設備描述符,以確定該物理扇區的設備及地址,進一步判斷該扇區是否需要進行擦除操作,如果該扇區的狀態為已刪除,同時存儲器需要擦除舊數據才能寫入時,則擦除該扇區的數據內容;步驟42、如果該扇區的狀態為已使用或無法使用,則逐個查詢地址轉換表得到物理地址,再通過物理狀態記錄表獲得物理扇區地址的狀態,直至找到一個未使用或已刪除的物理扇區,並與文件系統請求的邏輯扇區所在的地址轉換表交換為物理扇區地址;步驟43、查詢前首先記錄原文件系統請求的邏輯扇區地址,當查詢到未使用或已刪除的物理扇區地址時,保存該物理扇區地址位於地址轉換表的邏輯扇區地址,將該物理扇區地址保存至文件系統請求的邏輯扇區地址的地址轉換表中,將該表邏輯扇區地址中的物理扇區地址保存在找到的新物理扇區的扇區邏輯地址的地址轉換表中;步驟44、將數據寫入該物理設備的扇區中。
所述步驟44進一步包括以下步驟步驟441、在物理狀態記錄表中尋找可使用塊,如果有可使用塊,則直接寫入新數據,並把該塊標記為已使用;步驟442、如果在物理狀態記錄表中無法尋找到未使用塊時,則尋找對物理狀態記錄表中的延遲刪除的塊,對該延遲刪除塊進行擦除操作,並寫入數據。
所述步驟4中的將文件數據從該物理扇區的設備中刪除具體是指將該設備數據塊在物理狀態記錄表中的狀態標記為延遲刪除,不進行實際擦除操作。
所述步驟4中的刪除在系統處於空閒狀態時進行。
所述步驟4還包括修改數據的步驟,具體是指在物理狀態記錄表中尋找未使用的塊,並將修改的新數據寫入未使用塊中,物理狀態記錄表標記原始塊為延遲擦除,寫入塊為已使用。
本發明的方法通過引入地址轉換表、物理狀態表及分布描述表,對多種不同類型的存儲設備加以利用,達到了極高的讀寫效率和使用壽命。當一個設備有快閃記憶體及內存時,可以預先將數據存入快閃記憶體,當文件系統對位於快閃記憶體的數據進行修改時,為了系統的穩定性,可以不直接修改快閃記憶體,而通過地址轉換表將快閃記憶體處的數據位置移到內存數據位置,更新數據,通過該方法可以提高文件系統的數據讀寫效率,延長存儲器的使用壽命,因此具有顯著的優點和有益的效果。


圖1為本發明的文件系統結構圖;圖2為本發明各數據結構之間關係圖;圖3為本發明虛擬數據存取示意圖;圖4為本發明數據結構建立過程示意圖;圖5為主流程圖;圖6為向文件系統寫入數據流程圖;圖7為刪除數據流程圖。
具體實施例方式
下面結合說明書附圖來說明本發明的具體實施方式

如圖1所示,本發明的文件系統結構圖,文件系統包括有參數塊、文件分配表、根目錄列表和數據區,它還包括有兩個核心數據表地址轉換表和物理地址分配表,這兩個數據表存儲於存儲設備中,文件系統存儲數據相同,存儲器包括軟硬碟、光碟、內存、快閃記憶體(Flash)等,本發明特別適用於大數據量存取的存儲器,如快閃記憶體(Flash)。
表1物理分布描述表

表1為物理分布描述表,它是物理狀態記錄表的輔助表,該表將多種不同的獨立存儲器設備的數據訪問地址即塊/總線地址聯結成線性訪問地址。計算機中央處理器通過物理分布描述表獲得該物理扇區的描述符的步驟。描述符可以使物理扇區的標示符。
圖2所示是本發明各數據結構之間的關係,物理狀態記錄表保存著兩個不同類型設備的各個數據段的狀態,狀態有4種,分別為未用(已刪除)、已用、待刪除和無法使用(壞塊),地址轉換表用於各個邏輯塊地址到物理塊地址的轉換。
在表1和圖2中,物理狀態記錄表通過物理分布描述表按照線性地址描述多種不同設備的物理狀態。表1的實例數據顯示,物理狀態描述表的第0塊至第99塊是非易失性存儲器的第0塊至第99塊,物理狀態描述表的第100塊至第200塊是易失性存儲器的0x0至0xC800地址範圍內的狀態。
地址轉換表與物理分布描述表的轉換目的是不同的,地址轉換表為每一個單獨的邏輯地址提供了一個物理地址,每個鄰近的邏輯塊地址可以是不連續的物理地址,邏輯塊地址也叫虛擬地址,它是一種由軟體使用的地址,通過地址轉換表將邏輯地址轉換為物理地址,它可以將分布在物理地址空間中的各個數據,連接成連續的邏輯地址空間,而物理分布描述表以存儲器中的扇區設備為基礎,為一段連續的塊或地址提供映射。
如圖3所示,本發明所述的讀寫方法是虛擬存儲器方法,文件系統在讀寫存儲器時,不再像現有技術中的方法那樣直接向存儲器硬體設備發送讀寫指令,而是首先將讀寫指令通過地址轉換,將邏輯地址轉換為存儲器硬體設備的物理地址。本發明的方法為文件系統提供一種抽象方法,使文件系統如同操作存儲器硬體設備一樣的來達到解決問題的目的。
請參閱圖4,首先建立數據結構,本發明的數據結構建立過程如圖4所示。首先,為每一個設備配置物理分布描述表,該表根據特定設備情況由開發人員自行配置,配置該表的目的是將多種不同類型的設備在邏輯上合併成一個統一類型方法和統一線性訪問地址的設備;然後,根據各個設備的容量總和獲得最大的存儲容量;根據最大的存儲容量來分配數據結構所需的空間,並初始化數據結構的數據;之後,檢查存儲器的狀態,並將存儲器狀態保存到物理狀態記錄表中的相應數據項;最後,按照自然順序分配地址轉換表中的各項值,如地址轉換表的第一項邏輯第0個扇區為物理狀態分配表中的第0個扇區,也就是物理分布描述表中對物理狀態分配表的第0個扇區描述的某個設備的某個扇區。
例如存儲器是一塊新的沒有格式化的快閃記憶體(Flash),使用之前必須進行初始化,其過程如下首先,建立數據塊狀態轉換表(BST)也就是物理狀態記錄表的緩衝區,並將緩衝內容置空;然後檢查壞塊,並根據壞塊的編號來設置其狀態。
之後,建立臨時用於數據BST的緩衝區,並將緩衝區內容置空;進行塊分類,將可用塊置於塊轉換表的前部分。
將壞塊置於表的後部分;將BST通過循環校驗(CRC)運算取得過程校驗碼,將BST存入首個可用塊中;將BST通過CRC運算取得過程校驗碼,將BST的副本存入第二個可用塊中;關閉BST的緩衝,建立臨時用於塊刪除/寫計數器表(BCT,BlocksErased/Wear Counter Table)緩衝,並將緩衝內容置空;接下來,初始化塊刪除/寫計數器表BCT將BCT通過與上次過程校驗碼進行CRC運算取得本次過程校驗碼,將BCT存入首個可用塊中;將BCT通過與上次過程校驗碼進行CRC運算取得本次過程校驗碼,將BCT存入第二個可用塊中,首個可用塊大小一般為系統上非易失性存儲器的最小讀寫單位,如2k,因為BST,BCT數據結構數據量小,所以可以存入同一個塊。
最後,結束初始化。
數據結構建立之後,就可以使用這些數據BST進行文件數據的讀寫和刪除操作了。
請參閱圖5本發明的主流程圖,本發明包括以下步驟步驟1、存儲器接獲來自文件系統對某扇區的文件數據的讀寫或刪除請求;步驟2、計算機中央處理器通過查詢地址轉換表將讀寫或刪除請求的邏輯扇區地址轉換為物理扇區地址;步驟3、通過物理狀態記錄表找到該物理扇區的使用次數最少的可用數據塊設備;
步驟4、從該物理扇區可用數據塊設備中讀取文件數據,並返回給文件系統,或將文件數據寫入到該物理扇區的可用數據塊設備中,或將文件數據從該物理扇區的可用數據塊設備中刪除。
如圖6所示,向文件系統寫入數據的步驟如下接獲來自文件系統對某扇區的寫入數據請求,通過查詢地址轉換表獲得該扇區的物理地址,並通過物理狀態記錄表獲得該扇區的狀態,並判斷該扇區的狀態;如果該扇區的狀態為未使用或已刪除,通過物理分布描述表獲得該扇區的設備描述符,以確定該扇區的物理設備及地址,進一步判斷該扇區是否需要進行擦除操作,因為有些存儲器需要在寫入新數據之前對原數據進行擦除操作,如果該扇區的狀態為已刪除,同時存儲器需要擦除舊數據才能寫入時,先擦除該扇區的數據內容;如果該扇區的狀態為已使用或無法使用,逐個查詢地址轉換表得到物理地址,再通過物理狀態記錄表獲得物理扇區地址的狀態,直到找到一個未使用或已刪除的物理扇區;通過與文件系統請求的邏輯扇區所在的地址轉換表交換物理扇區地址,以達到為文件系統請求的邏輯扇區分配新的可寫入扇區的目的,查詢前首先記錄原文件系統請求的邏輯扇區地址A;當查詢到未使用或已刪除的物理扇區地址時,保存該物理扇區地址位於地址轉換表的邏輯扇區地址B;將該物理扇區地址保存至文件系請求的邏輯扇區地址A的地址轉換表中,將該表邏輯扇區地址A中的物理扇區地址保存在找到新物理扇區的扇區邏輯地址B的地址轉換表中;最後,將數據寫入該物理設備的扇區中。
在邏輯地址和物理地址交換之前還包括執行寫平衡步驟,它包括動態寫平衡和靜態寫平衡,動態寫平衡將會為寫操作提供最佳候選可用塊,實現方法如下
通過數據塊狀態轉換表(BST)也就是物理狀態記錄表獲得第一個可用塊,並通過塊刪除/寫計數器表(BCT)獲得該塊的使用次數;通過BST/BCT獲得n個可用塊和其使用次數,並進行對比;通過對所有可用塊進行遍歷後,獲得一個使用次數最少的可用塊。
靜態寫平衡是一個不常用的技術,與動態寫平衡相比,其操作時間較長,但可以對已使用數據進行整理,動態寫平衡則不對已使用數據進行整理。
由於一些數據長期不被修改,其所在塊的壽命較高,且動態寫平衡無法對其進行操作;而另一些數據經常修改如核心描述塊(CDB)。通過靜態寫平衡可以將最少擦寫次數的數據與最多擦寫次數的數據對調(SWAP)所在的物理存儲塊。
靜態寫平衡又分為兩種模式全面寫平衡和一般寫平衡,前者即最少擦寫次數的數據與最多擦寫次數的數據,對調所在的物理存儲塊的數據,並修改地址轉換表;可用塊與已有塊均可。一般寫平衡,即最少擦寫次數的已用塊數據與最多擦寫次數的可用塊數據對調所在的物理存儲塊,並修改地址轉換表。
當使用和操作的過程中產生壞塊時,在BST中標記為11b即可,即BST[物理壞塊號]=11b。
在本發明中,任何讀寫快閃記憶體(Flash)的操作都是基於一個邏輯到物理的地址轉換表。在初始化過程時,可用塊與壞塊都作了連續的邏輯位置分割,即可用塊在地址轉換表的前部分,壞塊緊接著可用塊在轉換表的後部分。
但在使用過程中會持續不斷出現壞塊,因此需要將後續在可用塊中產生的壞塊通過地址轉換表移至表的後部分,使轉換表前部分以繼續保持以可用塊為主。其轉換方法為對產生壞塊的物理狀態記錄表標記為產生壞塊;將數據物理狀態記錄表中原有的值賦予一個臨時變量;獲得一個新的可用塊;將數據物理狀態記錄表最後一個邏輯地址分配為壞的物理塊本發明還支持掉電保護與擦除加速。掉電保護技術是指系統突然掉電/復位後,存儲器數據仍能恢復至最後一次成功操作的狀態。該狀態為一個完整的寫入狀態,如果掉電/復位在快閃記憶體編程的過程中,該過程的所有數據仍將丟失,無法恢復。為了完成該功能,需在存儲器如快閃記憶體(Flash)上建立了兩份相同的核心描述塊(CDB)。
讀/寫與修改/擦除的操作過程如下當執行寫操作時,首先在BST中尋找可使用塊,直接寫入新數據,並把該塊BST標記為已使用;當執行擦除操作時,將該塊在BST的狀態標記為延遲刪除(Pending Delete)即可,不進行實際擦除操作;當執行寫操作時,但在BST中無法尋找到未使用塊塊時,這說明要麼空間不夠,大部分已被壞塊和有用數據佔用,無法繼續操作,報告信息給用戶,要麼是垃圾未清空,BST中有延遲刪除未實際擦除,則首先對BST中的延遲刪除的塊進行擦除操作,然後將該塊分配給寫操作,任何擦除都需要對該塊的BCT進行加1,在執行本過程之前,會首先進行狀態保存;當執行修改操作時,在BST中尋找未使用的塊,並將修改的新數據寫入未使用塊中,BST標記原始塊為延遲擦除,寫入塊為已使用。
狀態保存主要是對BST及參考值的保存,實際是將核心描述塊(CDB)整體保存。在狀態未保存前的所有操作,一旦掉電/復位將不起任何效果。
狀態保存操作將會把原CDB內容讀出,並將當前緩衝中的BST替換原BST,重新進行循環校驗(CRC)運算後存入快閃記憶體中的不同的兩個塊中,包含副本。
在存儲器上建立兩份相同的核心描述塊(CDB)可以起到互相驗證的作用,當存入任何一個CBD時斷電,不會影響上次以存入的數據狀態。
每次執行操作,管理系統無法判斷其單位操作如關閉文件、刪除文件等,因此需要提供一個接口給文件系統,每當一個單位操作完成時,便通知管理系統進行用於掉電保護的狀態保存,或者當隊列/內存的緩衝排滿時,自動執行。
在通常文件系統中,類似CDB這樣的關鍵數據結構,都保存在固定位置,如第一個扇區。
但由於CDB本身是快閃記憶體所有塊中操作最為頻繁的一個,所以CDB每次存儲的位置也是根據寫平衡和擦除加速技術得出的,CDB每次修改後寫入的新塊,都將會是所有未使用塊中擦寫次數最少的塊。
在為格式化的存儲器如快閃記憶體(Flash)中,含有空閒區,用於保存ECC數據校驗碼和其它可定製數據。在此,本發明將所有其它可定製數據定義為籤名數據,CDB數據的籤名將與所有其它數據的籤名不同。因此當初始化系統時,對存儲器所有塊進行遍歷/枚舉操作,讀取並判斷塊的籤名,當與預定為CDB的籤名相符合,即為CDB數據。因此可以動態獲得CDB數據結構。
下面判斷CDB的有效性。本發明有兩個CDB位於存儲器的不同位置,每個CDB都有其對自身的校驗碼和參考值。當系統初始化時,分別讀取各個CDB並對它們進行校驗碼計算。
當任意CDB計算的校驗碼與CDB保存的校驗碼不同時,該CDB無效。
當所有CDB計算的校驗碼與CDB保存的校驗碼不同時,表明整個系統損毀,必須重新格式化。
當任意CDB計算的校驗碼與CDB保存的校驗碼相同時,該CDB有效。
當所有CDB計算的校驗碼與CDB保存的校驗碼相同時,對兩個CDB的參考值進行對比,當一個CDB參考值大於另一個CDB參考值時取大的CDB有效。使用有效的CDB作為當前的各個表包括物理分布描述表、BTT,BST,BCT等的數據。
請參閱圖7所示,刪除數據的過程如下首先,接獲來自文件系統對某扇區的清除數據請求;然後,通過查詢地址轉換表獲得該扇區的物理地址,設置該物理地址的查詢物理狀態記錄表中的狀態為已刪除,並結束。
擦除數據亦可選取另一途徑,可以使文件系統在寫入數據時無需立即擦除,即可直接寫入新的數據,擦除工作可以在系統空閒狀態進行,以提高寫入效率。
本發明可以基於任何文件系統,並適合總線地址如內存與塊地址如輸入輸出(I/O)模式下的存儲器設備訪問如快閃記憶體和磁碟。
本發明通過引入地址轉換表、物理狀態表及分布描述表對多種不同類型的存儲設備數據進行讀取、寫入或刪除,具有較高的讀寫效率和使用壽命。當一個設備有快閃記憶體及內存時,可以預先將數據存入快閃記憶體,當文件系統對位於快閃記憶體的數據進行修改時,為了系統的穩定性,可以不直接修改快閃記憶體,通過地址轉換表將快閃記憶體處的數據位置移內存處數據位置,既可以更新數據。
以上所述僅為本發明的優選實施例而已,並不用於限制本發明,對於本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的權利要求範圍之內。
權利要求
1.一種存儲器文件數據虛擬存取方法,其特徵在於,該方法包括以下步驟步驟1、存儲器接獲來自文件系統對某扇區的文件數據的讀寫或刪除請求;步驟2、計算機中央處理器通過查詢地址轉換表將讀寫或刪除請求的邏輯扇區地址轉換為物理扇區地址;步驟3、通過物理狀態記錄表找到該物理扇區的可用數據塊設備;步驟4、從該物理扇區可用數據塊設備中讀取文件數據,並返回給文件系統,或將文件數據寫入到該物理扇區的可用數據塊設備中,或將文件數據從該物理扇區的可用數據塊設備中刪除。
2.根據權利要求1所述的存儲器文件數據虛擬存取方法,其特徵在於,所述步驟1中的存儲器上有兩個相同的核心描述塊,將文件數據通過循環校驗運算後存入存儲器中的兩個不同塊中,以互相驗證,用於互相驗證和支持掉電保護與擦除加速。
3.根據權利要求2所述的存儲器文件數據虛擬存取方法,其特徵在於,所述校驗運算具體包括當系統初始化時,分別讀取各個核心描述塊並對它們進行校驗碼計算;當任意核心描述塊計算的校驗碼與核心描述塊保存的校驗碼不同時,該核心描述塊無效;當所有核心描述塊計算的校驗碼與核心描述塊保存的校驗碼不同時,重新格式化;當任意核心描述塊計算的校驗碼與核心描述塊保存的校驗碼相同時,該核心描述塊有效;當所有核心描述塊計算的校驗碼與核心描述塊保存的校驗碼相同時,對兩個核心描述塊的參考值進行對比,當一個核心描述塊參考值大於另一個核心描述塊參考值時,取大的核心描述塊為有效,使用有效的核心描述塊作為當前的各個表的數據。
4.根據權利要求1所述的存儲器文件數據虛擬存取方法,其特徵在於,所述步驟1中的文件系統包括有地址轉換表和物理分布描述表,這兩個數據表存儲於相同的存儲器扇區設備中。
5.根據權利要求4所述的存儲器文件數據虛擬存取方法,其特徵在於,所述地址轉換表用於將邏輯與物理塊地址轉換,表的各項索引號代表邏輯地址,其包含的值為物理地址。
6.根據權利要求1所述的存儲器文件數據虛擬存取方法,其特徵在於,所述步驟3還包括通過物理分布描述表獲得該物理扇區的描述符的步驟。
7.根據權利要求6所述的存儲器文件數據虛擬存取方法,其特徵在於,所述物理分布描述表是文件系統物理狀態記錄表的輔助表,用於將多種不同的獨立存儲器設備的數據訪問地址聯結成線性訪問地址。
8.根據權利要求1所述的存儲器文件數據虛擬存取方法,其特徵在於,所述步驟3具體包括下述步驟步驟311、通過物理狀態記錄表獲得第一個可用塊,並通過塊刪除/寫計數器表獲得該塊的使用次數;步驟312、通過刪除/寫計數器表獲得多個可用塊和其使用次數,並進行對比;步驟313、通過對所有可用塊進行遍歷後,獲得一個使用次數最少的可用塊。
9.根據權利要求1所述的存儲器文件數據虛擬存取方法,其特徵在於,所述步驟311中的獲得第一個可用塊具體包括以下步驟步驟3111、對產生壞塊的塊轉換表標記為產生壞塊;步驟3112、將物理狀態記錄表中原有的值賦給一個存儲器中的臨時變量;步驟3113、獲得一個新的可用塊;步驟3114、將物理狀態記錄表最後一個邏輯地址分配給壞的物理塊。
10.根據權利要求1所述的存儲器文件數據虛擬存取方法,其特徵在於,所述步驟4中的將文件數據寫入到該物理數據塊設備進一步包括以下步驟步驟41、判斷物理扇區的狀態,如果該物理扇區的狀態為未使用或已刪除,則通過物理分布描述表獲得該物理扇區的設備描述符,以確定該物理扇區的設備及地址,進一步判斷該扇區是否需要進行擦除操作,如果該扇區的狀態為已刪除,同時存儲器需要擦除舊數據才能寫入時,則擦除該扇區的數據內容;步驟42、如果該扇區的狀態為已使用或無法使用,則逐個查詢地址轉換表得到物理地址,再通過物理狀態記錄表獲得物理扇區地址的狀態,直至找到一個未使用或已刪除的物理扇區,並與文件系統請求的邏輯扇區所在的地址轉換表交換為物理扇區地址;步驟43、查詢前首先記錄原文件系統請求的邏輯扇區地址,當查詢到未使用或已刪除的物理扇區地址時,保存該物理扇區地址位於地址轉換表的邏輯扇區地址,將該物理扇區地址保存至文件系統請求的邏輯扇區地址的地址轉換表中,將該表邏輯扇區地址中的物理扇區地址保存在找到的新物理扇區的扇區邏輯地址的地址轉換表中;步驟44、將數據寫入該物理設備的扇區中。
11.根據權利要求10所述的存儲器文件數據虛擬存取方法,其特徵在於,所述步驟44進一步包括以下步驟步驟441、在物理狀態記錄表中尋找可使用塊,如果有可使用塊,則直接寫入新數據,並把該塊標記為已使用;步驟442、如果在物理狀態記錄表中無法尋找到未使用塊時,則尋找對物理狀態記錄表中的延遲刪除的塊,對該延遲刪除塊進行擦除操作,並寫入數據。
12.根據權利要求1所述的存儲器文件數據虛擬存取方法,其特徵在於,所述步驟4中的將文件數據從該物理扇區的設備中刪除具體是指將該設備數據塊在物理狀態記錄表中的狀態標記為延遲刪除,不進行實際擦除操作。
13.根據權利要求1所述的存儲器文件數據虛擬存取方法,其特徵在於,所述步驟4中的刪除在系統處於空閒狀態時進行。
14.根據權利要求1所述的存儲器文件數據虛擬存取方法,其特徵在於,所述步驟4還包括修改數據的步驟,具體是指在物理狀態記錄表中尋找未使用的塊,並將修改的新數據寫入未使用塊中,物理狀態記錄表標記原始塊為延遲擦除,寫入塊為已使用。
全文摘要
本發明是一種存儲器文件數據虛擬存取方法。存儲器接獲來自文件系統對某扇區的文件數據的讀寫或刪除請求;計算機中央處理器通過查詢地址轉換表將讀寫或刪除請求的邏輯扇區地址轉換為物理扇區地址通過物理狀態記錄表找到該物理扇區的使用次數最少的可用數據塊設備;從該物理扇區可用數據塊設備中讀取文件數據,並返回給文件系統,或將文件數據寫入到該物理扇區的可用數據塊設備中,或將文件數據從該物理扇區的可用數據塊設備中刪除。本發明通過引入地址轉換表、物理狀態表及物理分布描述表,可將不同類型存儲設備抽象為一種統一尋址和操作方法的存儲設備,提高了文件系統的數據讀寫效率、存儲器的管理便利性,延長了存儲器的使用壽命。
文檔編號G06F11/10GK1719422SQ20051009083
公開日2006年1月11日 申請日期2005年8月18日 優先權日2005年8月18日
發明者譚帥, 周政軍, 趙原 申請人:北京中星微電子有限公司

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀