專利名稱:數(shù)據(jù)存儲系統(tǒng)、設(shè)備及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)存儲領(lǐng)域,具體涉及一種數(shù)據(jù)存儲系統(tǒng)、設(shè)備及方法。
背景技術(shù):
現(xiàn)有存儲介質(zhì)(例如硬盤、閃存等)對批量數(shù)據(jù)的一次寫入速度很快,性能好。而
在多次少量數(shù)據(jù)寫入時,速度則很慢,性能也很差。
以閃存為例,閃存寫數(shù)據(jù)的流程包括步驟 步驟A、分析數(shù)據(jù)要寫到閃存的哪個邏輯塊,該邏輯塊內(nèi)的哪一頁,以及頁內(nèi)的扇 區(qū); 步驟B、通過該邏輯塊查找邏輯物理頁映射表(即邏輯頁和物理頁之間映射關(guān)系
的表),找到該邏輯塊所對應的物理塊(此處將該物理塊定義為物理塊A),通過邏輯物理頁
映射表找到一空塊(此處將該空塊定義為空塊B); 步驟C、將要寫的數(shù)據(jù)寫入空塊B中相應的物理頁和扇區(qū)中; 步驟D、將物理塊A中其他頁和扇區(qū)的數(shù)據(jù)全部搬遷到空塊B中的相應位置; 步驟E、修改邏輯物理頁映射表將該邏輯塊與空塊B對應上,廢除原來的對應關(guān)
系; 步驟F、擦除物理塊A并邏輯物理頁映射表,將物理塊A作為新的空塊。 由以上步驟可以看出,如果在對閃存多次寫入少量數(shù)據(jù),每次都需要進行數(shù)據(jù)搬
遷,這樣不僅影響到數(shù)據(jù)的寫速度,而且頻繁的寫入擦除會影響閃存的擦寫壽命,進而影響
到閃存的使用壽命。 現(xiàn)有技術(shù)中采用單個緩沖內(nèi)存對多次少量寫入存儲介質(zhì)中的數(shù)據(jù)先緩存,并在該 緩沖內(nèi)存數(shù)據(jù)寫滿時,將緩沖內(nèi)存緩存的數(shù)據(jù)寫到存儲介質(zhì)中。這種方法雖然可以避免對 存儲介質(zhì)的頻繁擦寫,但由于需要將緩沖內(nèi)存(寫滿狀態(tài)下)的數(shù)據(jù)寫到存儲介質(zhì)后,騰出 緩沖內(nèi)存,然后再繼續(xù)將要寫入存儲介質(zhì)的數(shù)據(jù)寫到緩沖內(nèi)存中,這樣就大大降低了存儲 介質(zhì)的寫速度。
發(fā)明內(nèi)容
本發(fā)明的目的之一是提供一種提高存儲介質(zhì)寫速度的數(shù)據(jù)存儲系統(tǒng)、設(shè)備及方 法。 本發(fā)明提供一種數(shù)據(jù)存儲系統(tǒng),包括存儲介質(zhì)、存儲控制單元和外部設(shè)備;所述外 部設(shè)備包括至少兩個緩沖內(nèi)存和主處理模塊;所述緩沖內(nèi)存分別通過主處理模塊與存儲控 制單元連接,在主處理模塊的控制下交替緩存外部設(shè)備向存儲介質(zhì)寫入的數(shù)據(jù),并在存儲 控制單元的控制下將緩存的數(shù)據(jù)寫入到存儲介質(zhì)中。 本發(fā)明還提供一種數(shù)據(jù)存儲設(shè)備,所述數(shù)據(jù)存儲設(shè)備與外部設(shè)備連接,所述數(shù)據(jù) 存儲設(shè)備包括存儲介質(zhì)、緩沖存儲單元及存儲控制單元;所述緩沖存儲單元包括至少兩個 緩沖內(nèi)存和緩沖控制模塊;所述緩沖內(nèi)存分別與緩沖控制模塊、外部設(shè)備及存儲控制單元
6連接,在緩沖控制模塊的控制下交替緩存外部設(shè)備向存儲介質(zhì)寫入的數(shù)據(jù),并在存儲控制 單元的控制下將緩存的數(shù)據(jù)寫入到存儲介質(zhì)中。 本發(fā)明還提供一種數(shù)據(jù)存儲方法,通過數(shù)據(jù)存儲系統(tǒng)實現(xiàn)數(shù)據(jù)存儲,所述數(shù)據(jù)存 儲系統(tǒng)包括存儲介質(zhì)、外部設(shè)備及存儲控制單元,所述外部設(shè)備包括至少兩個緩沖內(nèi)存和 主處理模塊;還包括步驟 步驟S1、主處理模塊控制至少兩個緩沖內(nèi)存交替緩存外部設(shè)備向存儲介質(zhì)寫入的 數(shù)據(jù); 步驟S2、在至少一緩沖內(nèi)存寫滿時,通過存儲控制單元將緩沖內(nèi)存緩存的數(shù)據(jù)寫 到存儲介質(zhì)。 本發(fā)明還提供一種數(shù)據(jù)存儲方法,通過數(shù)據(jù)存儲設(shè)備實現(xiàn)數(shù)據(jù)存儲,所述數(shù)據(jù)存 儲設(shè)備包括存儲介質(zhì)、外部設(shè)備、存儲控制單元及緩沖存儲單元,所述緩沖存儲單元包括至 少兩個緩沖內(nèi)存和緩沖控制模塊;還包括步驟 步驟Al 、緩沖控制模塊控制至少兩個緩沖內(nèi)存交替緩存外部設(shè)備向存儲介質(zhì)寫入 的數(shù)據(jù); 步驟A2、在至少一緩沖內(nèi)存寫滿時,通過存儲控制單元將緩沖內(nèi)存緩存的數(shù)據(jù)寫 到存儲介質(zhì)。 本發(fā)明通過兩個以上緩沖內(nèi)存交替緩存外部設(shè)備向存儲介質(zhì)寫入的數(shù)據(jù),大大的 提高存儲介質(zhì)的寫速度。另外,將外部設(shè)備多次向存儲介質(zhì)寫入的數(shù)據(jù)轉(zhuǎn)化為一次性寫入 到存儲介質(zhì)中,減少了對存儲介質(zhì)的擦寫次數(shù),提高了存儲介質(zhì)的使用壽命。
圖1是本發(fā)明一實施例數(shù)據(jù)存儲系統(tǒng)的結(jié)構(gòu)框圖;
圖2是本發(fā)明另一實施例數(shù)據(jù)存儲系統(tǒng)的結(jié)構(gòu)框圖;
圖3是本發(fā)明一實施例數(shù)據(jù)存儲設(shè)備的結(jié)構(gòu)框圖;
圖4是本發(fā)明另一實施例數(shù)據(jù)存儲設(shè)備的結(jié)構(gòu)框圖;
圖5是本發(fā)明一實施例存儲控制單元的結(jié)構(gòu)框圖;
圖6是本發(fā)明一實施例數(shù)據(jù)存儲方法的流程示意圖; 圖7是本發(fā)明一實施例主處理模塊控制至少兩個緩沖內(nèi)存交替緩存外部設(shè)備向 存儲介質(zhì)寫入的數(shù)據(jù)的流程示意圖; 圖8是本發(fā)明一實施例將緩存的數(shù)據(jù)寫到存儲介質(zhì)的流程示意圖; 圖9是本發(fā)明一實施例判斷要寫的數(shù)據(jù)是否能寫入存儲介質(zhì)的流程示意圖; 圖10是本發(fā)明一實施例存儲介質(zhì)初始化的流程示意圖; 圖11是本發(fā)明一實施例對無效頁空間進行回收的流程示意圖; 圖12是本發(fā)明又一實施例數(shù)據(jù)存儲方法的流程示意圖; 圖13是本發(fā)明一實施例緩存控制模塊控制至少兩個緩沖內(nèi)存交替緩存外部設(shè)備 向存儲介質(zhì)寫入的數(shù)據(jù)的流程示意圖; 圖14是本發(fā)明又一實施例在至少一緩沖內(nèi)存寫滿時,通過存儲控制單元將緩沖 內(nèi)存緩存的數(shù)據(jù)寫到存儲介質(zhì)的流程示意圖; 圖15是本發(fā)明又一實施例判斷要寫的數(shù)據(jù)是否能寫入存儲介質(zhì)的流程示意圖
圖16是本發(fā)明又一實施例存儲介質(zhì)初始化的流程示意圖; 圖17是本發(fā)明又一實施例對無效頁空間進行回收處理的流程示意圖; 圖18是本發(fā)明一實施例對少于一個存儲介質(zhì)物理頁的數(shù)據(jù)寫入流程示意圖; 圖19是本發(fā)明一實施例存儲介質(zhì)中數(shù)據(jù)分布的結(jié)構(gòu)示意圖; 圖20是本發(fā)明一實施例邏輯物理頁映射及空頁信息表的結(jié)構(gòu)示意圖; 圖21是本發(fā)明一實施例存儲介質(zhì)邏輯頁的結(jié)構(gòu)示意圖; 圖22是本發(fā)明一實施例存儲介質(zhì)的生產(chǎn)流程的示意圖。 本發(fā)明目的、功能及優(yōu)點將結(jié)合實施例,參照附圖做進一步說明。
具體實施例方式
本發(fā)明實施例提供的存儲系統(tǒng)、設(shè)備及方法,通過兩個以上緩沖內(nèi)存交替緩存外 部設(shè)備向存儲介質(zhì)寫入的數(shù)據(jù),一緩沖內(nèi)存在將緩存的數(shù)據(jù)寫到存儲介質(zhì)時,另一緩沖內(nèi) 存繼續(xù)存儲外部設(shè)備向存儲介質(zhì)寫入的數(shù)據(jù),大大的提高存儲介質(zhì)的寫速度。另外,將外部 設(shè)備多次向存儲介質(zhì)寫入的數(shù)據(jù)轉(zhuǎn)化為一次性寫入到存儲介質(zhì)中,減少了對存儲介質(zhì)的擦 寫次數(shù),提高了存儲介質(zhì)的使用壽命。 圖1示出了本發(fā)明一實施例數(shù)據(jù)存儲系統(tǒng),包括存儲介質(zhì)30、存儲控制單元20和 外部設(shè)備10。 所述外部設(shè)備10包括至少兩個緩沖內(nèi)存102和主處理模塊101。所述緩沖內(nèi)存 102分別通過主處理模塊101與存儲控制單元20連接,在主處理模塊101的控制下交替緩 存外部設(shè)備10向存儲介質(zhì)30寫入的數(shù)據(jù),并在存儲控制單元20的控制下將緩存的數(shù)據(jù)寫 入到存儲介質(zhì)30中。 在圖1所示實施例的基礎(chǔ)上,圖2示出了本發(fā)明另一實施例數(shù)據(jù)存儲系統(tǒng),包括存 儲介質(zhì)30、存儲控制單元20和外部設(shè)備10。 所述外部設(shè)備10包括至少兩個緩沖內(nèi)存102、主處理模塊101和空間查詢模塊 103。 所述緩沖內(nèi)存102通過主處理模塊101與存儲控制單元20連接,在主處理模塊 101的控制下交替緩存外部設(shè)備10向存儲介質(zhì)30寫入的數(shù)據(jù),并在存儲控制單元20的控 制下將緩存的數(shù)據(jù)寫入到存儲介質(zhì)30中。 所述主處理模塊101控制一緩沖內(nèi)存102緩存外部設(shè)備向存儲介質(zhì)寫入的數(shù)據(jù), 在該緩沖內(nèi)存寫滿時,切換到另一緩沖內(nèi)存102繼續(xù)緩存外部設(shè)備10向存儲介質(zhì)30寫入 的數(shù)據(jù)。具體工作過程將在所示實施例中進行詳細的說明。所述主處理模塊101在向一緩 沖內(nèi)存102寫數(shù)據(jù)時,更新邏輯緩存信息表。 所述空間查詢模塊103,查詢存儲介質(zhì)30的空間狀況。查詢存儲介質(zhì)30的空間狀 況包括總空間、有用空間及無效頁空間??臻g查詢模塊103由主機系統(tǒng)調(diào)用,從而查詢存儲 介質(zhì)30的空間狀況。相對于現(xiàn)有的空間狀況查詢(只能查詢出總空間和已用空間)來說, 本實施例還可以查詢出無效頁空間。 圖3示出了本發(fā)明一實施例數(shù)據(jù)存儲設(shè)備,所述數(shù)據(jù)存儲設(shè)備與外部設(shè)備10連
接,所述數(shù)據(jù)存儲設(shè)備包括存儲介質(zhì)30、緩沖存儲單元40及存儲控制單元20。 所述緩沖存儲單元40包括至少兩個緩沖內(nèi)存102和緩沖控制模塊401 。所述緩沖內(nèi)存102分別與緩沖控制模塊401、外部設(shè)備10及存儲控制單元20連接,在緩沖控制模塊 401的控制下交替緩存外部設(shè)備10向存儲介質(zhì)30寫入的數(shù)據(jù),并在存儲控制單元20的控 制下將緩存的數(shù)據(jù)寫入到存儲介質(zhì)30中。 在圖3所示實施例的基礎(chǔ)上,圖4示出了本發(fā)明另一實施例數(shù)據(jù)存儲設(shè)備,所述數(shù) 據(jù)存儲設(shè)備與外部設(shè)備10連接,所述數(shù)據(jù)存儲設(shè)備包括存儲介質(zhì)30、緩沖存儲單元40及存 儲控制單元20。 所述緩沖存儲單元40包括至少兩個緩沖內(nèi)存102、緩沖控制模塊401和空間查詢 模塊103。 所述緩沖內(nèi)存102分別與緩沖控制模塊401、外部設(shè)備10及存儲控制單元20連 接,在緩沖控制模塊401的控制下交替緩存外部設(shè)備10向存儲介質(zhì)30寫入的數(shù)據(jù),并在存 儲控制單元20的控制下將緩存的數(shù)據(jù)寫入到存儲介質(zhì)30中。所述緩沖控制模塊401在向 一緩沖內(nèi)存102寫數(shù)據(jù)時,更新邏輯緩存信息表。 所述空間查詢模塊103,查詢存儲介質(zhì)30的空間狀況。查詢存儲介質(zhì)30的空間狀 況包括總空間、有用空間及無效頁空間。所述查詢模塊103發(fā)送空間查詢命令,從而獲知存 儲介質(zhì)30的空間狀況。所述空間查詢模塊103設(shè)置在外部設(shè)備10上,可被外部設(shè)備10調(diào) 用,從而進行存儲介質(zhì)30的空間狀況查詢。在一實施例中,首先,外部設(shè)備IO調(diào)用空間查 詢模塊103,空間查詢模塊103發(fā)送查詢空間命令給存儲介質(zhì)30,可發(fā)送采用USB SCSI協(xié) 議的空間查詢命令。 圖5示出了本發(fā)明一實施例存儲控制單元20,包括頁表信息讀取模塊201和讀寫 處理模塊202。 所述頁表信息讀取模塊201讀取邏輯緩存信息表及邏輯物理頁映射及空頁信息 表。 所述讀寫處理模塊202與頁表信息讀取模塊201連接,根據(jù)邏輯緩存信息表、邏輯 物理頁映射及空頁信息表將緩存的數(shù)據(jù)寫到存儲介質(zhì)30中。 在一實施例中,邏輯物理頁映射及空頁信息表是存放在存儲介質(zhì)30中的。圖19 示出了存儲介質(zhì)30中數(shù)據(jù)分布的情況。存儲介質(zhì)30的數(shù)據(jù)分布主要分5個區(qū)域。下面對 此5個區(qū)域進行簡單的介紹 區(qū)域1 :存放存儲介質(zhì)30基本信息,以及讀寫頁基本信息表。所述基本信息包括 1、一些存儲介質(zhì)的屬性,產(chǎn)品號,廠商等的信息;2、讀寫頁基本信息表,該表示記錄最開始 的邏輯到物理的映射關(guān)系,以及空頁起始地址和空頁個數(shù)的信息情況。該區(qū)域是固定不變 的,一般在生產(chǎn)后基本不動,存放在存儲介質(zhì)30的固定地方。該區(qū)域是不被以后的數(shù)據(jù)寫 入的。 區(qū)域2 :存儲有效數(shù)據(jù)的區(qū)域。存儲從邏輯0到邏輯m頁的有效數(shù)據(jù),所述m > 0。
區(qū)域3 :存儲無效頁的區(qū)域。寫存儲介質(zhì)30的操作過程中形成的一些無效頁,又 稱為垃圾頁。例如被更新了的邏輯頁,新的信息寫到另外的物理頁,該邏輯頁對應的物理 頁,就成為了垃圾頁。 區(qū)域4 :存放邏輯物理頁映射及空頁信息表的區(qū)域,該區(qū)域是連續(xù)的。該表如圖20 所示,主要包括2部分 1、邏輯頁和物理頁的對照關(guān)系表,記錄0到記錄m記錄的是邏輯頁和物理頁的對照關(guān)系,所述m〉1。其中,邏輯頁的結(jié)構(gòu)如圖21所示。
2、空頁物理頁地址和空頁個數(shù)等信息。 區(qū)域5 :空頁區(qū)域,即區(qū)域4的第2部分,為待寫的空頁部分。 在一實施例中,緩沖內(nèi)存102的數(shù)據(jù)主要分布在2個區(qū)域。下面對2個區(qū)域進行 介紹 1、邏輯緩存信息表,即緩沖內(nèi)存中的緩沖頁與存儲介質(zhì)30中的邏輯頁的對應關(guān) 系表。邏輯緩存信息表是根據(jù)外部設(shè)備10的寫命令建立起來的。
2、存儲外部設(shè)備寫入數(shù)據(jù)的區(qū)域。 外部設(shè)備10發(fā)送的寫指令內(nèi)容包括2部分1、要寫到存儲介質(zhì)30的邏輯頁;2、要 寫的數(shù)據(jù)內(nèi)容。緩沖內(nèi)存102根據(jù)外部設(shè)備寫指令中的邏輯頁信息,建立起緩沖頁和存儲 介質(zhì)邏輯頁的對應關(guān)系。 以上實施例提到的外部設(shè)備10包括計算機、PDA(Personal DigitalAssistant,個 人數(shù)碼助理)等。存儲介質(zhì)30包括硬盤、閃存等。 圖6示出了本發(fā)明一實施例數(shù)據(jù)存儲方法,通過數(shù)據(jù)存儲系統(tǒng)實現(xiàn)數(shù)據(jù)存儲,所 述數(shù)據(jù)存儲系統(tǒng)包括外部設(shè)備10、存儲介質(zhì)30,所述存儲系統(tǒng)還包括存儲控制單元20,所 述外部設(shè)備包括至少兩個緩沖內(nèi)存102和主處理模塊101 ;還包括步驟
步驟Sl、主處理模塊101控制至少兩個緩沖內(nèi)存102交替緩存外部設(shè)備10向存儲 介質(zhì)30寫入的數(shù)據(jù); 步驟S2、在至少一緩沖內(nèi)存102寫滿時,通過存儲控制單元20將緩沖內(nèi)存102緩 存的數(shù)據(jù)寫到存儲介質(zhì)30。 為了進一步對圖6所示的數(shù)據(jù)存儲方法進行說明,圖7示出了本發(fā)明一實施例主 處理模塊101控制至少兩個緩沖內(nèi)存102交替緩存外部設(shè)備10向存儲介質(zhì)30寫入的數(shù)據(jù) 的流程,包括 步驟S11、主處理模塊101控制一緩沖內(nèi)存102緩存外部設(shè)備10向存儲介質(zhì)30寫 入的數(shù)據(jù),并更新邏輯緩存信息表。 步驟S12、在一緩沖內(nèi)存102寫滿時,執(zhí)行步驟S2 ;同時,主處理模塊101控制另一 緩沖內(nèi)存102繼續(xù)緩存外部設(shè)備10向存儲介質(zhì)30寫入的數(shù)據(jù),并更新邏輯緩存信息表。
步驟S13、在另一緩沖內(nèi)存102寫滿時,執(zhí)行步驟S2 ;同時,返回執(zhí)行步驟Sll。
在一實施例中,主處理模塊10具有以下功能1、判斷緩沖內(nèi)存102是否滿。2、控 制緩沖內(nèi)存102交替緩存外部設(shè)備10向存儲介質(zhì)30寫入的數(shù)據(jù)。 為了進一步對圖6所示的數(shù)據(jù)存儲方法進行說明,圖8示出了本發(fā)明一實施例步 驟S2在至少一緩沖內(nèi)存102寫滿時,通過存儲控制單元20將緩沖內(nèi)存102緩存的數(shù)據(jù)寫 到存儲介質(zhì)30的流程,包括 步驟S21、存儲控制單元20讀取邏輯緩存信息表、存儲介質(zhì)的邏輯物理頁映射及 空頁信息表; 步驟S22、存儲控制單元20根據(jù)邏輯緩存信息表、邏輯物理頁映射及空頁信息表 將緩沖內(nèi)存緩存的數(shù)據(jù)寫到存儲介質(zhì)30中; 步驟S23、存儲控制單元20更新邏輯物理頁映射及空頁信息表,并清空緩沖內(nèi)存 和邏輯緩存信息表。
因為存在邏輯緩存信息表中的邏輯頁與邏輯物理頁映射及空頁信息表中的邏輯 頁對應關(guān)系,所以存儲控制單元20可根據(jù)對應關(guān)系將緩沖頁中的數(shù)據(jù)寫到存儲介質(zhì)30中 的物理頁。 為了進一步對圖6所示的數(shù)據(jù)存儲方法進行說明,在步驟SI之前還包括步驟SO 判斷要寫的數(shù)據(jù)是否能寫入存儲介質(zhì)30中,圖9示出了本發(fā)明一實施例判斷要寫的數(shù)據(jù)是 否能寫入存儲介質(zhì)30中的流程,包括 步驟S01、外部設(shè)備10查詢存儲介質(zhì)30的空間狀況。 步驟S02、外部設(shè)備10根據(jù)空間狀況判斷要寫的數(shù)據(jù)是否能在存儲介質(zhì)30中放得 下,若放得下,則執(zhí)行步驟Sl ;若放不下,則執(zhí)行步驟S03。 步驟S03、外部設(shè)備10判斷加上無效頁空間后是否能放得下,若放得下,則對無效 頁空間進行回收處理;若放不下,則提示無存儲空間,數(shù)據(jù)無法寫入。 為了進一步對圖6所示的數(shù)據(jù)存儲方法進行說明,圖IO示出了本發(fā)明一實施例存 儲介質(zhì)30初始化,包括 步驟S011、外部設(shè)備10搜索存儲介質(zhì)30,找到邏輯物理頁映射及空頁信息表。
步驟S012、外部設(shè)備10根據(jù)邏輯物理頁映射及空頁信息表得出整個存儲介質(zhì)30 的有效邏輯頁和物理頁的對應關(guān)系、空頁的物理頁地址。 以上步驟是通過外部設(shè)備10來操作執(zhí)行,通過初始化得到的存儲介質(zhì)30的邏輯 物理頁映射及空頁信息表,從而為以后的更新邏輯緩存信息表及寫數(shù)據(jù)提供方便。
為了進一步對圖6所示的數(shù)據(jù)存儲方法進行說明,圖11示出了本發(fā)明一實施例對 無效頁空間進行回收處理的流程,包括 步驟S031、外部設(shè)備10發(fā)送無效頁整理命令通知存儲介質(zhì)30需要整理無效頁。
步驟S032、外部設(shè)備10通過邏輯物理頁映射及空頁信息表將存儲介質(zhì)中存儲的 有效數(shù)據(jù)集中搬遷到外部設(shè)備的另一個存儲空間(例如,計算機的硬盤),同時修改邏輯物 理頁映射及空頁信息表形成與搬遷到的存儲空間相對應的邏輯物理頁映射及空頁信息表。
步驟S033、外部設(shè)備IO將存儲介質(zhì)中存儲介質(zhì)基本信息及讀寫頁基本信息表(區(qū) 域l)之外的數(shù)據(jù)信息清除掉。 步驟S034、外部設(shè)備10將搬遷到外部設(shè)備另一存儲空間中的有效數(shù)據(jù)按順序批 量的寫入清除后的存儲介質(zhì)中。 步驟S035、根據(jù)步驟S032形成的邏輯物理頁映射及空頁信息表形成與存儲介質(zhì) 30的存儲空間相對應的邏輯物理頁映射及空頁信息表,并將該表寫在存儲介質(zhì)30的存儲 空間中。 通過以上步驟可以完成對存儲介質(zhì)30無效頁的回收處理,回收完成后通知外部 設(shè)備10完成回收。通過無效頁的整理,可降低存儲介質(zhì)30因使用產(chǎn)生無效頁而導致存儲 容量的降低。 圖12示出了本發(fā)明又一實施例數(shù)據(jù)存儲方法,通過數(shù)據(jù)存儲設(shè)備實現(xiàn)數(shù)據(jù)存儲, 所述數(shù)據(jù)存儲設(shè)備包括外部設(shè)備10、存儲介質(zhì)30,其特征在于,所述數(shù)據(jù)存儲設(shè)備還包括 存儲控制單元20及緩沖存儲單元40,所述緩沖存儲單元40包括至少兩個緩沖內(nèi)存102和 緩沖控制模塊401 ;還包括步驟 步驟A1、緩沖控制模塊401控制至少兩個緩沖內(nèi)存102交替緩存外部設(shè)備10向存儲介質(zhì)30寫入的數(shù)據(jù); 步驟A2、在至少一緩沖內(nèi)存102寫滿時,通過存儲控制單元20將緩沖內(nèi)存102緩 存的數(shù)據(jù)寫到存儲介質(zhì)30。 為了進一步對圖12所示的數(shù)據(jù)存儲方法進行說明,圖13示出了本發(fā)明一實施例 緩存控制模塊102控制至少兩個緩沖內(nèi)存102交替緩存外部設(shè)備10向存儲介質(zhì)30寫入的 數(shù)據(jù)的流程,包括 步驟All、緩存控制模塊102控制一緩沖內(nèi)存102緩存外部設(shè)備10向存儲介質(zhì)30 寫入的數(shù)據(jù),并更新邏輯緩存信息表。 步驟A12、在一緩沖內(nèi)存102寫滿時,執(zhí)行步驟A2 ;同時,緩存控制模塊102控制另 一緩沖內(nèi)存102繼續(xù)緩存外部設(shè)備10向存儲介質(zhì)30寫入的數(shù)據(jù),并更新邏輯緩存信息表。
步驟A13、在另一緩沖內(nèi)存102寫滿時,執(zhí)行步驟A2 ;同時,返回執(zhí)行步驟All。
在一實施例中,緩存控制模塊102具有以下功能1、判斷緩沖內(nèi)存102是否滿。2、 控制緩沖內(nèi)存102交替緩存外部設(shè)備10向存儲介質(zhì)30寫入的數(shù)據(jù)。
為了進一步對圖12所示的數(shù)據(jù)存儲方法進行說明,圖14示出了本發(fā)明一實施例 在至少一緩沖內(nèi)存102寫滿時,通過存儲控制單元20將緩沖內(nèi)存102緩存的數(shù)據(jù)寫到存儲 介質(zhì)30的流程,包括 步驟A21、存儲控制單元20讀取邏輯緩存信息表、存儲介質(zhì)的邏輯物理頁映射及 空頁信息表; 步驟A22、存儲控制單元20根據(jù)邏輯緩存信息表、邏輯物理頁映射及空頁信息表 將緩沖內(nèi)存緩存的數(shù)據(jù)寫到存儲介質(zhì)30中; 步驟A23、存儲控制單元20更新邏輯物理頁映射及空頁信息表,并清空緩沖內(nèi)存 和邏輯緩存信息表。 為了進一步對圖12所示的數(shù)據(jù)存儲方法進行說明,在步驟A1之前還包括步驟S0 判斷要寫的數(shù)據(jù)是否能寫入存儲介質(zhì)30中,圖15示出了本發(fā)明一實施例判斷要寫的數(shù)據(jù) 是否能寫入存儲介質(zhì)30中的流程,包括 步驟A01、外部設(shè)備10查詢存儲介質(zhì)30的空間狀況。 步驟A02、外部設(shè)備10根據(jù)空間狀況判斷要寫的數(shù)據(jù)是否能在存儲介質(zhì)30中放得 下,若放得下,則執(zhí)行步驟Al ;若放不下,則執(zhí)行步驟A03。 步驟A03、外部設(shè)備10判斷加上無效頁空間后是否能放得下,若放得下,則對無效 頁空間進行回收處理;若放不下,則提示無存儲空間,數(shù)據(jù)無法寫入。 為了進一步對圖12所示的數(shù)據(jù)存儲方法進行說明,圖16示出了本發(fā)明一實施例 存儲介質(zhì)30初始化,包括 步驟A011、外部設(shè)備10搜索存儲介質(zhì)30,找到邏輯物理頁映射及空頁信息表。
步驟A012、外部設(shè)備10根據(jù)邏輯物理頁映射及空頁信息表得出整個存儲介質(zhì)30 的有效邏輯頁和物理頁的對應關(guān)系、空頁的物理頁地址。 以上步驟是通過外部設(shè)備10來操作執(zhí)行,通過初始化得到的存儲介質(zhì)30的邏輯 物理頁映射及空頁信息表,從而為以后的更新邏輯緩存信息表及寫數(shù)據(jù)提供方便。
為了進一步對圖12所示的數(shù)據(jù)存儲方法進行說明,圖17示出了本發(fā)明一實施例 對無效頁空間進行回收處理的流程,包括
步驟A031、外部設(shè)備10發(fā)送無效頁整理命令通知存儲介質(zhì)30需要整理無效頁。
步驟A032、外部設(shè)備10通過邏輯物理頁映射及空頁信息表將存儲介質(zhì)中存儲的 有效數(shù)據(jù)集中搬遷到外部設(shè)備10的另一個存儲空間(例如,計算機的硬盤),同時修改邏輯 物理頁映射及空頁信息表形成與搬遷到的存儲空間相對應的邏輯物理頁映射及空頁信息 表。 步驟A033、外部設(shè)備10將存儲介質(zhì)30中存儲介質(zhì)基本信息及讀寫頁基本信息表 (區(qū)域1)之外的數(shù)據(jù)信息清除掉。 步驟A034、外部設(shè)備IO將搬遷到外部設(shè)備另一存儲空間中的有效數(shù)據(jù)按順序批 量的寫入清除后的存儲介質(zhì)中。 步驟A035、根據(jù)步驟A032形成的邏輯物理頁映射及空頁信息表形成與存儲介質(zhì) 30的存儲空間相對應的邏輯物理頁映射及空頁信息表,并將該表寫在存儲介質(zhì)的存儲空間 中。 通過以上步驟可以完成對存儲介質(zhì)30無效頁的回收處理,回收完成后通知外部 設(shè)備IO完成回收。通過無效頁的整理,可降低存儲介質(zhì)因使用產(chǎn)生無效頁而導致存儲容量 的降低。 為了進一步對本發(fā)明進行說明,圖18示出了本發(fā)明一實施例對少于一個存儲介 質(zhì)物理頁的數(shù)據(jù)寫入流程,包括步驟 步驟B1、緩沖內(nèi)存102接收外部設(shè)備10的寫數(shù)據(jù)命令。 步驟B2、判斷要寫入的數(shù)據(jù)是否小于存儲介質(zhì)30的一物理頁;若不小于,則直接 緩存外部設(shè)備寫入的數(shù)據(jù),并將緩存的數(shù)據(jù)寫入到存儲介質(zhì)30中。具體如何將緩存的數(shù)據(jù) 寫入到存儲介質(zhì)30中,在圖8所示實施例中已經(jīng)表述了,這里不再贅述;若小于,則執(zhí)行步 驟B3。 步驟B3、通過邏輯物理頁映射及空頁信息表找到邏輯頁對應的物理頁,并分析數(shù) 據(jù)要寫入物理頁的哪個扇區(qū)。例如,分析出要寫入物理頁的X扇區(qū)。 步驟B4、將要寫的數(shù)據(jù)寫入緩沖內(nèi)存緩沖頁的相應扇區(qū),即與步驟B3分析出來的 扇區(qū)相對應的扇區(qū),例如緩沖頁中的B扇區(qū);將存儲介質(zhì)30物理頁其他扇區(qū)中的數(shù)據(jù)搬遷 到緩沖內(nèi)存102緩沖頁其他相應的扇區(qū)。更新邏輯緩存信息表。
步驟S2、在至少一緩沖內(nèi)存102寫滿時,將其緩存的數(shù)據(jù)寫到存儲介質(zhì)30。
步驟S2在圖8所示實施例中已經(jīng)表述了,這里不再贅述。 通過執(zhí)行步驟Bl、步驟B2、步驟B3及步驟B4可以對寫入數(shù)據(jù)不足一物理頁的數(shù) 據(jù)與存儲介質(zhì)30的物理頁(即要寫入的物理頁)中的數(shù)據(jù)進行重新組織,然后再寫入存儲 介質(zhì)30中,從而完成了少于一個存儲介質(zhì)物理頁的數(shù)據(jù)寫入。 下面結(jié)合一實施例,對上述實施例所提到的存儲介質(zhì)30的生產(chǎn)流程進行說明,如 圖22所示,存儲介質(zhì)30的生產(chǎn)流程包括以下步驟 步驟Cl :首先掃描存儲介質(zhì)30找到好壞頁的分布情況.并整理出一張好壞頁分 布信息表; 步驟C2 :通過好壞頁分布信息表整理出讀寫頁基本信息表并增加一些其他的附 加信息,比如廠商信息和其他的一些信息; 步驟C3 :將讀寫頁基本信息表和其他的附加信息寫入存儲介質(zhì)30中的隱藏好頁中(該區(qū)域以后使用過程中不被寫入); 步驟C4 :格式化存儲介質(zhì)30。 通過以上步驟完成存儲介質(zhì)30的生產(chǎn)。 上述實施例為本發(fā)明較佳的實施方式,但本發(fā)明的實施方式并不受上述實施例的限制,其他的任何未背離本發(fā)明的精神實質(zhì)與原理下所作的改變、修飾、替代、組合、簡化,均應為等效的置換方式,都包含在本發(fā)明的保護范圍之內(nèi)。
1權(quán)利要求
一種數(shù)據(jù)存儲方法,通過數(shù)據(jù)存儲系統(tǒng)實現(xiàn)數(shù)據(jù)存儲,所述數(shù)據(jù)存儲系統(tǒng)包括存儲介質(zhì)、外部設(shè)備,其特征在于,所述存儲系統(tǒng)還包括存儲控制單元,所述外部設(shè)備包括至少兩個緩沖內(nèi)存和主處理模塊;還包括步驟步驟S1、主處理模塊控制至少兩個緩沖內(nèi)存交替緩存外部設(shè)備向存儲介質(zhì)寫入的數(shù)據(jù);步驟S2、在至少一緩沖內(nèi)存寫滿時,通過存儲控制單元將緩沖內(nèi)存緩存的數(shù)據(jù)寫到存儲介質(zhì)。
2. 根據(jù)權(quán)利要求1所述的數(shù)據(jù)存儲方法,其特征在于,所述步驟Sl包括 步驟S11、主處理模塊控制一緩沖內(nèi)存緩存外部設(shè)備向存儲介質(zhì)寫入的數(shù)據(jù),并更新邏輯緩存信息表;步驟S12、在一緩沖內(nèi)存寫滿時,執(zhí)行步驟S2 ;同時,主處理模塊控制另一緩沖內(nèi)存繼 續(xù)緩存外部設(shè)備向存儲介質(zhì)寫入的數(shù)據(jù),并更新邏輯緩存信息表;步驟S13、在另一緩沖內(nèi)存寫滿時,執(zhí)行步驟S2 ;同時,返回執(zhí)行步驟Sll。
3. 根據(jù)權(quán)利要求1所述的數(shù)據(jù)存儲方法,其特征在于,所述步驟S2包括步驟 步驟S21、存儲控制單元讀取邏輯緩存信息表、存儲介質(zhì)的邏輯物理頁映射及空頁信息表;步驟S22、存儲控制單元根據(jù)邏輯緩存信息表、邏輯物理頁映射及空頁信息表將緩沖內(nèi) 存緩存的數(shù)據(jù)寫到存儲介質(zhì)中;步驟S23、存儲控制單元更新邏輯物理頁映射及空頁信息表,并清空緩沖內(nèi)存和邏輯緩 存信息表。
4. 根據(jù)權(quán)利要求1至3任一項所述的數(shù)據(jù)存儲方法,其特征在于,所述步驟Sl之前還 包括步驟SO、外部設(shè)備判斷要寫的數(shù)據(jù)是否能寫入存儲介質(zhì)中。
5. 根據(jù)權(quán)利要求4所述的數(shù)據(jù)存儲方法,其特征在于,所述步驟SO包括 步驟S01、外部設(shè)備查詢存儲介質(zhì)的空間狀況;步驟S02、外部設(shè)備根據(jù)空間狀況判斷要寫的數(shù)據(jù)是否能在存儲介質(zhì)中放得下,若放得 下,則執(zhí)行步驟Sl ;若放不下,則執(zhí)行步驟S03 ;步驟S03、外部設(shè)備判斷加上無效頁空間后是否能放得下,若放得下,則對無效頁空間 進行回收處理;若放不下,則提示無存儲空間,數(shù)據(jù)無法寫入。
6. 根據(jù)權(quán)利要求5所述的數(shù)據(jù)存儲方法,其特征在于,所述步驟S03中對無效頁空間進 行回收處理包括步驟S031、外部設(shè)備發(fā)送無效頁整理命令通知存儲介質(zhì)需要整理無效頁; 步驟S032、外部設(shè)備通過邏輯物理頁映射及空頁信息表將存儲介質(zhì)中存儲的有效數(shù)據(jù)搬遷到外部設(shè)備另一存儲空間,同時修改邏輯物理頁映射及空頁信息表使其與外部設(shè)備另一存儲空間對應;步驟S033、外部設(shè)備將存儲介質(zhì)中存儲介質(zhì)基本信息及讀寫頁基本信息表之外的數(shù)據(jù) 信息擦除;步驟S034、外部設(shè)備將外部設(shè)備另一存儲空間中的有效數(shù)據(jù)按順序批量的寫入清除后 的存儲介質(zhì)中;步驟S035、外部設(shè)備修改與外部設(shè)備另一存儲空間相對應邏輯物理頁映射及空頁信息 表,使其與存儲介質(zhì)的存儲空間相對應,并將該表寫在存儲介質(zhì)的存儲空間中。
7. —種數(shù)據(jù)存儲方法,通過數(shù)據(jù)存儲設(shè)備實現(xiàn)數(shù)據(jù)存儲,所述數(shù)據(jù)存儲設(shè)備包括存儲 介質(zhì)、外部設(shè)備,其特征在于,所述數(shù)據(jù)存儲設(shè)備還包括存儲控制單元及緩沖存儲單元,所 述緩沖存儲單元包括至少兩個緩沖內(nèi)存和緩沖控制模塊;還包括步驟步驟A1、緩沖控制模塊控制至少兩個緩沖內(nèi)存交替緩存外部設(shè)備向存儲介質(zhì)寫入的數(shù)據(jù);步驟A2、在至少一緩沖內(nèi)存寫滿時,通過存儲控制單元將緩沖內(nèi)存緩存的數(shù)據(jù)寫到存 儲介質(zhì)。
8. 根據(jù)權(quán)利要求7所述的數(shù)據(jù)存儲方法,其特征在于,所述步驟Al包括 步驟A11、緩沖控制模塊控制一緩沖內(nèi)存緩存外部設(shè)備向存儲介質(zhì)寫入的數(shù)據(jù),并更新邏輯緩存信息表;步驟A12、在一緩沖內(nèi)存寫滿時,執(zhí)行步驟A2;同時,緩沖控制模塊控制另一緩沖內(nèi)存 繼續(xù)緩存外部設(shè)備向存儲介質(zhì)寫入的數(shù)據(jù),并更新邏輯緩存信息表;步驟A13、在另一緩沖內(nèi)存寫滿時,執(zhí)行步驟A2 ;同時,返回執(zhí)行步驟All。
9. 根據(jù)權(quán)利要求7所述的數(shù)據(jù)存儲方法,其特征在于,所述步驟S2包括步驟 步驟A21、存儲控制單元讀取邏輯緩存信息表、存儲介質(zhì)的邏輯物理頁映射及空頁信息表;步驟A22、存儲控制單元根據(jù)邏輯緩存信息表和邏輯物理頁映射及空頁信息表將緩沖 內(nèi)存緩存的數(shù)據(jù)寫到存儲介質(zhì)中;步驟A23、存儲控制單元更新邏輯物理頁映射及空頁信息表,并清空緩沖內(nèi)存和邏輯緩 存信息表。
10. 根據(jù)權(quán)利要求7至9任一項所述的數(shù)據(jù)存儲方法,其特征在于,所述步驟Sl之前還 包括步驟AO、外部設(shè)備判斷要寫的數(shù)據(jù)是否能寫入存儲介質(zhì)中。
11. 根據(jù)權(quán)利要求10所述的數(shù)據(jù)存儲方法,其特征在于,所述步驟SO包括 步驟A01、外部設(shè)備查詢存儲介質(zhì)的空間狀況;步驟A02、外部設(shè)備根據(jù)空間狀況判斷要寫的數(shù)據(jù)是否能在存儲介質(zhì)中放得下,若放得 下,則執(zhí)行步驟A1 ;若放不下,則執(zhí)行步驟A03 ;步驟A03、外部設(shè)備判斷加上無效頁空間后是否能放得下,若放得下,則對無效頁空間 進行回收處理;若放不下,則提示無存儲空間,數(shù)據(jù)無法寫入。
12. 根據(jù)權(quán)利要求11所述的數(shù)據(jù)存儲方法,其特征在于,所述步驟S03中對無效頁空間 進行回收處理包括步驟A031、外部設(shè)備發(fā)送無效頁整理命令通知存儲介質(zhì)需要整理無效頁; 步驟A032、外部設(shè)備通過邏輯物理頁映射及空頁信息表將存儲介質(zhì)中存儲的有效數(shù)據(jù)搬遷到外部設(shè)備另一存儲空間,同時修改邏輯物理頁映射及空頁信息表使其與外部設(shè)備另一存儲空間對應;步驟A033、外部設(shè)備將存儲介質(zhì)中存儲介質(zhì)基本信息及讀寫頁基本信息表之外的數(shù)據(jù) 信息擦除;步驟A034、外部設(shè)備將外部設(shè)備另一存儲空間中的有效數(shù)據(jù)按順序批量的寫入清除后 的存儲介質(zhì)中;步驟A035、外部設(shè)備修改與外部設(shè)備另一存儲空間相對應邏輯物理頁映射及空頁信息 表,使其與存儲介質(zhì)的存儲空間相對應,并將該表寫在存儲介質(zhì)的存儲空間中。
13. —種數(shù)據(jù)存儲系統(tǒng),包括存儲介質(zhì)、外部設(shè)備,其特征在于 還包括存儲控制單元;所述外部設(shè)備包括至少兩個緩沖內(nèi)存和主處理模塊; 所述緩沖內(nèi)存分別通過主處理模塊與存儲控制單元連接,在主處理模塊的控制下交替緩存外部設(shè)備向存儲介質(zhì)寫入的數(shù)據(jù),并在存儲控制單元的控制下將緩存的數(shù)據(jù)寫入到存 儲介質(zhì)中。
14. 根據(jù)權(quán)利要求13所述的數(shù)據(jù)存儲系統(tǒng),其特征在于,所述在主處理模塊的控制下 交替緩存外部設(shè)備向存儲介質(zhì)寫入的數(shù)據(jù)是主處理模塊控制一緩沖內(nèi)存緩存外部設(shè)備向存儲介質(zhì)寫入的數(shù)據(jù),在該緩沖內(nèi)存寫滿 時,切換到另一緩沖內(nèi)存繼續(xù)緩存外部設(shè)備向存儲介質(zhì)寫入的數(shù)據(jù)。
15. 根據(jù)權(quán)利要求14所述的數(shù)據(jù)存儲系統(tǒng),其特征在于,所述主處理模塊進一步用于 所述主處理模塊在向一緩沖內(nèi)存寫數(shù)據(jù)時,更新邏輯緩存信息表。
16. 根據(jù)權(quán)利要求13至15任一項任意項所述的數(shù)據(jù)存儲系統(tǒng),其特征在于,所述存儲 控制單元包括頁表信息讀取模塊和讀寫處理模塊;所述頁表信息讀取模塊讀取邏輯緩存信息表及邏輯物理頁映射及空頁信息表; 所述讀寫處理模塊與頁表信息讀取模塊連接,根據(jù)邏輯緩存信息表、邏輯物理頁映射 及空頁信息表將緩存的數(shù)據(jù)寫到存儲介質(zhì)中。
17. —種數(shù)據(jù)存儲設(shè)備,所述數(shù)據(jù)存儲設(shè)備與外部設(shè)備連接,所述數(shù)據(jù)存儲設(shè)備包括存 儲介質(zhì),其特征在于,所述數(shù)據(jù)存儲設(shè)備還包括緩沖存儲單元及存儲控制單元;所述緩沖存儲單元包括至少兩個緩沖內(nèi)存和緩沖控制模塊;所述緩沖內(nèi)存分別與緩沖控制模塊、外部設(shè)備及存儲控制單元連接,在緩沖控制模塊 的控制下交替緩存外部設(shè)備向存儲介質(zhì)寫入的數(shù)據(jù),并在存儲控制單元的控制下將緩存的 數(shù)據(jù)寫入到存儲介質(zhì)中。
18. 權(quán)利要求17所述的數(shù)據(jù)存儲系統(tǒng),其特征在于,所述緩沖內(nèi)存在緩沖控制模塊的 控制下交替緩存外部設(shè)備向存儲介質(zhì)寫入的數(shù)據(jù)是緩沖控制模塊控制一緩沖內(nèi)存緩存外部設(shè)備向存儲介質(zhì)寫入的數(shù)據(jù),在該緩沖內(nèi)存寫 滿時,切換到另一緩沖內(nèi)存繼續(xù)緩存外部設(shè)備向存儲介質(zhì)寫入的數(shù)據(jù)。
19. 根據(jù)權(quán)利要求18所述的數(shù)據(jù)存儲系統(tǒng),其特征在于,所述緩沖控制模塊進一步用于所述緩沖控制模塊在向一緩沖內(nèi)存寫數(shù)據(jù)時,更新邏輯緩存信息表。
20. 根據(jù)權(quán)利要求17至19任一項任意項所述的數(shù)據(jù)存儲設(shè)備,其特征在于,所述存儲 控制單元包括頁表信息讀取模塊和讀寫處理模塊;所述頁表信息讀取模塊讀取邏輯緩存信息表、邏輯物理頁映射及空頁信息表;所述讀寫處理模塊與頁表信息讀取模塊連接,根據(jù)邏輯緩存信息表、邏輯物理頁映射 及空頁信息表將緩存的數(shù)據(jù)寫到存儲介質(zhì)中。
全文摘要
本發(fā)明公開了一種數(shù)據(jù)存儲方法,通過數(shù)據(jù)存儲系統(tǒng)實現(xiàn)數(shù)據(jù)存儲,所述數(shù)據(jù)存儲系統(tǒng)包括存儲介質(zhì)、外部設(shè)備及存儲控制單元,所述外部設(shè)備包括至少兩個緩沖內(nèi)存和主處理模塊;還包括步驟S1、主處理模塊控制至少兩個緩沖內(nèi)存交替緩存外部設(shè)備向存儲介質(zhì)寫入的數(shù)據(jù);步驟S2、在至少一緩沖內(nèi)存寫滿時,通過存儲控制單元將緩沖內(nèi)存緩存的數(shù)據(jù)寫到存儲介質(zhì)。本發(fā)明還分別公開了一種數(shù)據(jù)存儲系統(tǒng)及數(shù)據(jù)存儲設(shè)備。本發(fā)明有效提高了存儲介質(zhì)的寫速度。
文檔編號G06F12/08GK101727403SQ200810171109
公開日2010年6月9日 申請日期2008年10月15日 優(yōu)先權(quán)日2008年10月15日
發(fā)明者萬紅波 申請人:深圳市朗科科技股份有限公司