專利名稱::一種數(shù)據(jù)存儲方法
技術領域:
:本發(fā)明涉及數(shù)據(jù)存儲技術,特別涉及一種適用于存儲卡的數(shù)據(jù)存儲方法。
背景技術:
:目前,存儲卡正以其體積小、容量大、便于攜帶等特點,被越來越廣泛地運用于人們生產(chǎn)、生活的各個領域。常見的存儲卡包括標準閃存卡(CF:CompactFlash)、多模式通信卡(MMC:Multi-MediaCard)和安全數(shù)據(jù)卡(SD:SecureDigitalCard)等。作為一種數(shù)據(jù)存儲設備,存儲卡可以采用FAT12、FAT16、FAT32或NTFS等格式進行數(shù)據(jù)存儲?;诓煌臄?shù)據(jù)存儲格式,存儲卡的根目錄大小、分區(qū)表大小、FAT表大小將有所不同,而分區(qū)表、FAT表中含有用于進行數(shù)據(jù)存儲的重要的輔助信息,因此,在對存儲卡進行讀寫操作之前,必須先確定該存儲卡所基于的存儲格式,才能確定根目錄、分區(qū)表和FAT表等的相關信息。在普通電腦環(huán)境的應用中,由于電腦中安裝有操作系統(tǒng),操作系統(tǒng)中存在相應的功能模塊用于判斷插入電腦的存儲卡所基于的存儲格式,因此,對于電腦應用環(huán)境來說,確定存儲卡的存儲格式是非常容易的。然而,對于沒有軟件操作系統(tǒng)的小型通訊設備來說,需要編寫專用程序,讀取存儲卡中的相關信息并進行大量的判斷操作,才能確定存儲卡的存儲格式,這一方面占用了小型通訊設備中原本就比較稀缺的處理資源,另一方面增加了設備成本,給存儲卡在小型通訊設備中的應用帶來了諸多不便。
發(fā)明內(nèi)容有鑒于此,本發(fā)明的主要目的在于提供一種適用于存儲卡的數(shù)據(jù)存儲方法,以增強存儲卡的通用性。為達到上述目的,本發(fā)明的技術方案具體是這樣實現(xiàn)的一種數(shù)據(jù)存儲方法,該方法預先將存儲卡的存儲空間劃分為用于存儲文件格式信息的文件信息區(qū),用于存儲每一個文件的起始存儲地址、長度和數(shù)據(jù)類型信息的數(shù)據(jù)信息區(qū),以及數(shù)據(jù)區(qū),該方法還包括根據(jù)所述文件信息區(qū)中的文件格式信息、以及所述數(shù)據(jù)信息區(qū)中每一個文件的起始存儲地址、長度和數(shù)據(jù)類型信息,在數(shù)據(jù)區(qū)的對應存儲空間中存儲相應文件的具體內(nèi)容。較佳地,劃分存儲卡的存儲區(qū)間的方法為將從存儲卡的起始地址開始的一段預設大小的存儲空間作為文件信息區(qū);將從文件信息區(qū)的結(jié)束地址的下一個地址開始的一段預設大小的存儲空間作為數(shù)據(jù)信息區(qū);將從數(shù)據(jù)信息區(qū)的結(jié)束地址的下一個地址開始的存儲空間作為數(shù)據(jù)區(qū)。較佳地,所述文件信息區(qū)、數(shù)據(jù)信息區(qū)和數(shù)據(jù)區(qū)所占的存儲空間均為512字節(jié)的整數(shù)倍。所述文件信息區(qū)可以進一步用于存儲文件版本、總文件數(shù)和注釋信息。較佳地,所述文件信息區(qū)的存儲空間為地址0到存儲卡中第511個字節(jié)對應的地址之間的存儲空間;所述文件版本的起始存儲地址為0,所占長度為4字節(jié);所述文件格式的起始存儲地址為存儲卡中第4個字節(jié)對應的地址,所占長度為4字節(jié);所述總文件數(shù)的起始存儲地址為存儲卡中第8個字節(jié)對應的地址,所占長度為8字節(jié);所述注釋信息的起始存儲地址為存儲卡中第16個字節(jié)對應的地址,所占長度為240字節(jié)。所述在數(shù)據(jù)信息區(qū)中存儲每一個文件的起始存儲地址、長度和數(shù)據(jù)類型信息的方法可以為從數(shù)據(jù)信息區(qū)的起始地址開始,依次存儲第一個文件的起始存儲地址、長度和數(shù)據(jù)類型信息,第二個文件的起始存儲地址、長度和數(shù)據(jù)類型信息,直至存儲最后一個文件的起始存儲地址、長度和數(shù)據(jù)類型信息。較佳地,所述數(shù)據(jù)信息區(qū)的存儲空間為存儲卡中第512個字節(jié)對應的地址到第1024個字節(jié)對應的地址之間的存儲空間;所述每一個文件的起始存儲地址、長度和數(shù)據(jù)類型信息分別占4字節(jié)的存儲空間。進一步地,該方法可以包括將從數(shù)據(jù)區(qū)的結(jié)束地址的下一個地址開始的存儲空間作為空閑區(qū)。由上述技術方案可見,本發(fā)明通過預先將存儲卡中的存儲空間劃分為用于存儲文件格式信息的文件信息區(qū),用于存儲每一個文件的起始存儲地址、長度和數(shù)據(jù)類型信息的數(shù)據(jù)信息區(qū),以及數(shù)據(jù)區(qū),并在文件信息區(qū)中存儲文件格式信息,在數(shù)據(jù)信息區(qū)中存儲每一個文件的起始存儲地址、長度和數(shù)據(jù)類型信息,從而能夠根據(jù)所述文件信息區(qū)中的文件格式信息、以及所述數(shù)據(jù)信息區(qū)中每一個文件的起始存儲地址、長度和數(shù)據(jù)類型信息,在數(shù)據(jù)區(qū)的對應存儲空間中存儲相應文件的具體內(nèi)容。這使得在進行存儲卡讀寫操作之前,無需讀卡設備進行復雜的關于存儲卡存儲格式的判斷,即可直接根據(jù)預先設定的區(qū)域與所存儲信息的對應關系,確定待操作文件在存儲卡中的位置,從而降低了讀卡設備的處理成本,節(jié)約了讀卡設備的處理資源,進而使得存儲卡能夠非常方便地應用于沒有軟件操作系統(tǒng)的小型通訊設備中,提高了存儲卡的通用性。圖1為本發(fā)明適用于存儲卡的數(shù)據(jù)存儲方法的流程示意圖。具體實施例方式為使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下參照附圖并舉實施例,對本發(fā)明作進一步詳細說明。本發(fā)明的主要思想是對存儲卡的存儲空間進行分區(qū),并在特定的區(qū)域存儲對應的用于完成讀寫操作的輔助信息,例如文件格式信息、文件的起始存儲地址、長度和數(shù)據(jù)類型信息等,從而在進行存儲卡讀寫操作之前,無需進行復雜的關于存儲卡存儲格式的判斷,即可直接根據(jù)預先設定的區(qū)域與信息的對應關系,確定待操作文件在存儲卡中的位置,進而使得存儲卡能夠非常方便地應用于沒有軟件操作系統(tǒng)的小型通訊設備中,以提高存儲卡的通用性。圖1為本發(fā)明適用于存儲卡的數(shù)據(jù)存儲方法的流程示意圖。參見圖1,該方法包才舌步驟101:將存儲卡的存儲空間劃分為文件信息區(qū)、數(shù)據(jù)信息區(qū)和數(shù)據(jù)區(qū)。上述劃分的各個區(qū)域中,文件信息區(qū)用于存儲文件格式信息,數(shù)據(jù)信息區(qū)用于存儲每一個文件的起始存儲地址、長度和數(shù)據(jù)類型信息,數(shù)據(jù)區(qū)用于存儲文件的具體內(nèi)容。本步驟中,在具體劃分時,可以將從存儲卡的起始地址開始的一段預設大小的存儲空間作為文件信息區(qū),并將從文件信息區(qū)的結(jié)束地址的下一個地址開始的一段預設大小的存儲空間作為數(shù)據(jù)信息區(qū),再將從數(shù)據(jù)信息區(qū)的結(jié)束地址的下一個地址開始的存儲空間作為數(shù)據(jù)區(qū)。當然,在實際應用中,也可以按照其他的方式進行劃分,例如將從存儲卡的起始地址開始的一段預設大小的存儲空間作為數(shù)據(jù)信息區(qū),并將從數(shù)據(jù)信息區(qū)的結(jié)束地址的下一個地址開始的一段預設大小的存儲空間作為文件信息區(qū),再將從文件信息區(qū)的結(jié)束地址的下一個地址開始的存儲空間作為數(shù)據(jù)區(qū)。對于除文件信息區(qū)、數(shù)據(jù)信息區(qū)和數(shù)據(jù)區(qū)之外的存儲區(qū)域,可以將其作為空閑區(qū),留待存儲其他需要存儲的信息。對應于上述具體劃分的例子,可以將從數(shù)據(jù)區(qū)的結(jié)束地址的下一個地址開始的存儲空間作為空閑區(qū)?,F(xiàn)有FAT16、FAT32等格式下,數(shù)據(jù)存取以512字節(jié)為單位進行,為了獲取更好的兼容性,較佳地,可以設置所述文件信息區(qū)、數(shù)據(jù)信息區(qū)和數(shù)據(jù)區(qū)所占的存儲空間均為512字節(jié)的整數(shù)倍。步驟102:在文件信息區(qū)中存儲文件格式信息。本步驟所述文件格式信息表示在數(shù)據(jù)區(qū)中存儲文件的具體內(nèi)容時所遵循的規(guī)則。舉例而言,假設文件存儲以32個比特為單位,那么,格式信息將指示高16比特和低16比特的先后存儲順序;假設文件存儲以8個比特為單位,那么,格式信息將指示由8比特拼接成16比特的方法。例如,所述拼接的方法可以是高8比特補0、或低8比特補0、或兩個8比特拼接。在進行拼接時,可以有以下兩種拼接順序低地址對應的數(shù)據(jù)在前、高地址對應的數(shù)據(jù)在后,或高地址對應的數(shù)據(jù)在前、低地址對應的數(shù)據(jù)在后。在文件信息區(qū)中,除可以存儲文件格式信息之外,還可以進一步存儲文件版本、總文件數(shù)和注釋信息等。其中文件版本表示所存儲文件的版本號;總文件數(shù)表示數(shù)據(jù)區(qū)中所存儲的總文件個數(shù);注釋信息可包含文件用途、生成日期、配套程序信息、應用范圍、使用注意事項等內(nèi)容。步驟103:在數(shù)據(jù)信息區(qū)中存儲每一個文件的起始存儲地址、長度和數(shù)據(jù)類型信息。本步驟中,可以從數(shù)據(jù)信息區(qū)的起始地址開始,依次存儲第一個文件的起始存儲地址、長度和數(shù)據(jù)類型信息,第二個文件的起始存儲地址、長度和數(shù)據(jù)類型信息,直至存儲最后一個文件的起始存儲地址、長度和數(shù)據(jù)類型信息。本步驟所述數(shù)據(jù)類型信息表示在本數(shù)據(jù)區(qū)中存儲文件的具體內(nèi)容時所使用的數(shù)據(jù)類型。例如ASCII碼、十進制、八進制、十六進制、二進制。步驟104:根據(jù)所述文件信息區(qū)中的文件格式信息、以及所述數(shù)據(jù)信息區(qū)中每一個文件的起始存儲地址、長度和數(shù)據(jù)類型信息,在數(shù)據(jù)區(qū)的對應存儲空間中存儲相應文件的具體內(nèi)容。至此,結(jié)束本發(fā)明適用于存儲卡的數(shù)據(jù)存儲方法。下面通過一個具體的示例,對本發(fā)明進行進一步詳細說明。表1為按照本發(fā)明方法設置的一個數(shù)據(jù)存儲格式示意表<table>tableseeoriginaldocumentpage9</column></row><table><table>tableseeoriginaldocumentpage10</column></row><table>表1表1所示數(shù)據(jù)存儲格式中,文件信息區(qū)的存儲空間為地址o到存儲卡中第511個字節(jié)對應的地址之間的存儲空間;文件信息區(qū)中包含文件版本、文件格式、總文件數(shù)和注釋信息,以及備用字節(jié),其中文件版本的起始存儲地址為0,所占長度為4字節(jié);文件格式的起始存儲地址為存儲卡中第4個字節(jié)對應的地址,所占長度為4字節(jié);總文件數(shù)的起始存儲地址為存儲卡中第8個字節(jié)對應的地址,所占長度為8字節(jié);注釋信息的起始存儲地址為存儲卡中第16個字節(jié)對應的地址,所占長度為240字節(jié);備用字節(jié)的起始存儲地址為存儲卡中第256個字節(jié)對應的地址,所占長度為256字節(jié)。表1所示數(shù)據(jù)存儲格式中,數(shù)據(jù)信息區(qū)的存儲空間為存儲卡中第512個字節(jié)對應的地址到第1024個字節(jié)對應的地址之間的存儲空間。每一個文件的起始存儲地址、長度和數(shù)據(jù)類型信息分別占4字節(jié)的存儲空間,共可以存儲128個文件的數(shù)據(jù)信息。表1中,以128個文件為例,示出了數(shù)據(jù)區(qū)的存儲空間的分配情況。由上述實施例可見,本發(fā)明通過預先將存儲卡中的存儲空間劃分為用于存儲文件格式信息的文件信息區(qū),用于存儲每一個文件的起始存儲地址、長度和數(shù)據(jù)類型信息的數(shù)據(jù)信息區(qū),以及數(shù)據(jù)區(qū),并在文件信息區(qū)中存儲文件格式信息,在數(shù)據(jù)信息區(qū)中存儲每一個文件的起始存儲地址、長度和數(shù)據(jù)類型信息,從而能夠根據(jù)所述文件信息區(qū)中的文件格式信息、以及所述數(shù)據(jù)信息區(qū)中每一個文件的起始存儲地址、長度和數(shù)據(jù)類型信息,在數(shù)據(jù)區(qū)的對應存儲空間中存儲相應文件的具體內(nèi)容。這使得在進行存儲卡讀寫操作之前,無需讀卡設備進行復雜的關于存儲卡存儲格式的判斷,即可直接根據(jù)預先設定的區(qū)域與所存儲信息的對應關系,確定待操作文件在存儲卡中的位置,從而降低了讀卡設備的處理成本,節(jié)約了讀卡設備的處理資源,進而使得存儲卡能夠非常方便地應用于沒有軟件操作系統(tǒng)的小型通訊設備中,提高了存儲卡的通用性。以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。權利要求1、一種數(shù)據(jù)存儲方法,其特征在于,將存儲卡的存儲空間劃分為:用于存儲文件格式信息的文件信息區(qū),用于存儲每一個文件的起始存儲地址、長度和數(shù)據(jù)類型信息的數(shù)據(jù)信息區(qū),以及數(shù)據(jù)區(qū),該方法還包括:根據(jù)所述文件信息區(qū)中的文件格式信息、以及所述數(shù)據(jù)信息區(qū)中每一個文件的起始存儲地址、長度和數(shù)據(jù)類型信息,在數(shù)據(jù)區(qū)的對應存儲空間中存儲相應文件的具體內(nèi)容。2、根據(jù)權利要求1所述的方法,其特征在于,劃分存儲卡的存儲區(qū)間的方法為將從存儲卡的起始地址開始的一段預設大小的存儲空間作為文件信息區(qū);將從文件信息區(qū)的結(jié)束地址的下一個地址開始的一段預設大小的存儲空間作為數(shù)據(jù)信息區(qū);將從數(shù)據(jù)信息區(qū)的結(jié)束地址的下一個地址開始的存儲空間作為數(shù)據(jù)區(qū)。3、根據(jù)權利要求1或2所述的方法,其特征在于所述文件信息區(qū)、數(shù)據(jù)信息區(qū)和數(shù)據(jù)區(qū)所占的存儲空間均為512字節(jié)的整數(shù)倍。4、根據(jù)權利要求3所述的方法,其特征在于,所述文件信息區(qū)進一步用于存儲文件版本、總文件數(shù)和注釋信息。5、根據(jù)權利要求4所述的方法,其特征在于所述文件信息區(qū)的存儲空間為地址O到存儲卡中第511個字節(jié)對應的地址之間的存儲空間;所述文件版本的起始存儲地址為0,所占長度為4字節(jié);所述文件格式的起始存儲地址為存儲卡中第4個字節(jié)對應的地址,所占長度為4字節(jié);所述總文件數(shù)的起始存儲地址為存儲卡中第8個字節(jié)對應的地址,所占長度為8字節(jié);所述注釋信息的起始存儲地址為存儲卡中第16個字節(jié)對應的地址,所占長度為240字節(jié)。6、根據(jù)權利要求3所述的方法,其特征在于,在數(shù)據(jù)信息區(qū)中存儲每一個文件的起始存儲地址、長度和數(shù)據(jù)類型信息的方法為從數(shù)據(jù)信息區(qū)的起始地址開始,依次存儲第一個文件的起始存儲地址、長度和數(shù)據(jù)類型信息,第二個文件的起始存儲地址、長度和數(shù)據(jù)類型信息,直至存儲最后一個文件的起始存儲地址、長度和數(shù)據(jù)類型信息。7、根據(jù)權利要求6所述的方法,其特征在于所述數(shù)據(jù)信息區(qū)的存儲空間為存儲卡中第512個字節(jié)對應的地址到第1024個字節(jié)對應的地址之間的存儲空間;所述每一個文件的起始存儲地址、長度和數(shù)據(jù)類型信息分別占4字節(jié)的存儲空間。8、根據(jù)權利要求2所述的方法,其特征在于,該方法進一步包括將從數(shù)據(jù)區(qū)的結(jié)束地址的下一個地址開始的存儲空間作為空閑區(qū)。全文摘要本發(fā)明公開了一種適用于存儲卡的數(shù)據(jù)存儲方法,該方法預先將存儲卡的存儲空間劃分為用于存儲文件格式信息的文件信息區(qū),用于存儲每一個文件的起始存儲地址、長度和數(shù)據(jù)類型信息的數(shù)據(jù)信息區(qū),以及數(shù)據(jù)區(qū);該方法還包括根據(jù)所述文件信息區(qū)中的文件格式信息、以及所述數(shù)據(jù)信息區(qū)中每一個文件的起始存儲地址、長度和數(shù)據(jù)類型信息,在數(shù)據(jù)區(qū)的對應存儲空間中存儲相應文件的具體內(nèi)容。應用本發(fā)明能夠使存儲卡非常方便地應用于沒有軟件操作系統(tǒng)的小型通訊設備中,從而提高存儲卡的通用性。文檔編號G06F3/06GK101382876SQ20081022382公開日2009年3月11日申請日期2008年10月7日優(yōu)先權日2008年10月7日發(fā)明者輝張,張江輝,王西強申請人:北京創(chuàng)毅視訊科技有限公司