本發明專利技術提供了一種數據寫入方法、系統及一種嵌入式電子設備,該方法包括如下步驟:A、對將要進行數據寫入的塊存儲設備進行格式化操作,根據塊存儲設備的有效空間以及塊存儲設備的塊大小,決定文件系統的簇的大小;B、向塊存儲設備連續寫入數據,并保持簇與塊的邊界對齊。本發明專利技術還提供了一種數據寫入系統。本發明專利技術方案可以避免出現數據不能及時寫入的現象。
【技術實現步驟摘要】
一種數據寫入方法、系統及一種嵌入式電子設備
本專利技術涉及嵌入式電子設備
,尤其涉及一種數據寫入方法、系統及一種嵌入式電子設備。
技術介紹
在現有的消費電子產品(如MP3播放器、MP4播放器等)進行錄音過程中,由麥克風(Microphone)或直錄線(LineIn)輸入音頻信號,音頻處理模塊采集音頻數據并根據錄制格式(WAV/MP3等)對所述音頻數據進行編碼得到編碼數據,然后通過文件系統將編碼數據寫入存儲器中。在錄音的過程中,文件系統與存儲器必需有足夠的時間來存儲編碼數據。而在嵌入式電子產品中,由于內存空間或系統處理機制等因素,如果某些存儲空間已被數據占用,可能出現塊存儲設備頻繁的進行數據拷貝操作,從而使錄音出現丟幀,錄音出現斷音情況,從而影響了錄音或錄像的品質。導致有可能出現不能及時寫入錄音數據而丟幀的情況?,F有技術中,塊存儲設備頻繁的進行數據拷貝操作通常是由于文件數據的起始位置與塊的起始位置不對齊造成的。例如一個大小為4M的文件A,假設每個簇可以占用8k,則需要512個簇鏈來保存文件A,而塊的大小為512k。圖1為現有技術中存儲器的簇邊界與塊存儲設備的邊界不對齊的情況下存儲文件A的示意圖。i表示文件A的第1個簇101所在的塊,j表示文件A的中間某個簇102所在的塊,k表示文件A的第512個簇103所在的塊。其中,第一個簇101和塊i的邊界不對齊,而第512個簇106與塊k的邊界也不對齊。塊i和塊k并沒有寫滿數據,因此還可以用來存儲新的數據。如果要將新數據寫入塊i或塊k,需要通過合并操作將塊i或塊k的數據拷貝到其他邏輯塊上,而合并的時間比較長,有可能導致錄音的編碼數據不能及時寫入,從而出現了丟幀現象。
技術實現思路
本專利技術實施例提供了一種數據寫入方法及系統,可省去合并操作,因此可以避免出現數據不能及時寫入的現象。本專利技術實施例提出的一種數據寫入方法,包括如下步驟:A、對將要進行數據寫入的塊存儲設備進行格式化操作,根據塊存儲設備的有效空間以及塊存儲設備的塊大小,決定文件系統的簇的大小;B、向塊存儲設備連續寫入數據,并保持數據文件的第1個簇與該簇所在的塊的邊界對齊。較佳地,所述步驟B之前,進一步包括:根據文件系統的簇的分布情況,建立一個與塊存儲設備的塊大小相配的簇表,所述簇表中記錄了未被使用的簇的簇號,以及這些簇的連續關系;所述步驟B中按照所述簇表的順序向塊存儲設備連續寫入數據。較佳地,步驟B包括:B1、在所述塊存儲設備的未被寫入數據的塊中選擇一個塊作為當前塊;B2、在當前塊的簇中寫入數據,保持簇與塊的邊界對齊;B3、判斷當前塊數據寫入的情況,若當前塊的簇都已寫入數據且數據未寫完,返回步驟B1;若數據已寫完,則結束步驟B。較佳地,所述數據為錄音數據或錄像數據。較佳地,所述塊大小為簇大小的整數倍。較佳地,所述塊大小為128k,簇大小為8k。本專利技術實施例提出的一種數據寫入系統,包括用于存儲寫入的數據的塊存儲設備,該數據寫入系統還包括:格式化模塊,用于對將要進行數據寫入的塊存儲設備進行格式化操作,根據塊存儲設備的有效空間以及塊存儲設備的塊大小,決定文件系統的簇的大小;數據寫入模塊,用于向所述塊存儲設備連續寫入數據,并保持數據文件的第1個簇與該簇所在的塊的邊界對齊。較佳地,該數據寫入系統進一步包括:簇表模塊,用于根據文件系統的簇的分布情況,建立一個與塊存儲設備的塊大小相配的簇表,所述簇表中記錄了未被使用的簇的簇號以及這些簇的連續關系;所述數據寫入模塊用于根據所述簇表向所述塊存儲設備連續寫入數據,并保持簇與塊的邊界對齊。較佳地,所述數據寫入模塊包括:塊選擇單元,用于在所述塊存儲設備的未被寫入數據的塊中選擇一個塊作為當前塊;寫數據單元,用于在所述塊選擇單元所選擇的當前塊對應的簇中依次寫入數據;判斷單元,用于判斷當前塊數據寫入的情況,若當前塊的簇都已寫入數據且數據未寫完,則通知塊選擇單元再選擇一個當前塊;若數據已寫完,則數據寫入模塊結束寫入操作。本專利技術還提出了包括上述數據寫入系統的一種嵌入式電子設備。從以上技術方案可以看出,在寫入數據前決定文件系統的簇的大小,保證簇的邊界與塊存儲設備的邊界一致;并建立簇表,根據簇表連續寫入數據。由于塊存儲設備是連續寫入,并且由于簇邊界與塊存儲設備的邊界一致,數據能夠連續寫入一個完整塊里,不需要進行塊合并等操作,從而避免了數據無法及時寫入的現象。本專利技術技術方案特別適用于嵌入式電子設備的錄音或錄像數據的存儲過程。附圖說明圖1為現有技術中存儲器的簇邊界與塊存儲設備的邊界不對齊的情況下存儲文件A的示意圖;圖2為本專利技術提出的一種數據寫入方法的流程圖;圖2a為本專利技術實施例提出的一種用于嵌入式電子設備的錄音或錄像的數據寫入流程的示意圖;圖2b為本專利技術實施例提出的另一種用于嵌入式電子設備的錄音或錄像的數據寫入流程的示意圖;圖3為本專利技術實施例中簇邊界與塊存儲設備的邊界對齊的情況示意圖;圖4為本專利技術實施例提出的嵌入式電子設備的框圖;圖5為本專利技術實施例提出的另一種嵌入式電子設備的框圖。具體實施方式針對錄音錄像這類數據連續寫入的過程,本專利技術提出一種數據寫入方法,該方法如圖2所示,包括如下步驟:步驟201:對將要進行數據寫入的塊存儲設備進行格式化操作,根據塊存儲設備的有效空間以及塊存儲設備的塊大小,決定文件系統的簇的大小;步驟202:向塊存儲設備連續寫入數據,并保持簇與塊的邊界對齊。為使本專利技術的技術手段、優點以及技術效果更加清楚,以下通過具體實施例對本專利技術方案進行詳細闡述。本專利技術實施例提出一種用于嵌入式電子設備的錄音或錄像的數據寫入流程,該流程如圖2a所示,包括如下步驟:步驟201a:對該嵌入式電子設備用于進行錄音或錄像存儲的塊存儲設備進行格式化操作,在格式化過程中,根據塊存儲設備的有效空間及結合塊存儲設備的塊大小,決定文件系統的簇的大小。格式化的過程中各塊與其對應的簇已經形成。較佳的實施方式為塊的大小是簇大小的整數倍。例如:塊的大小為128k,則可以選擇簇的大小為8k,且保證連續16簇組成一個存儲塊的大小。步驟202a:在錄音或錄像前,根據文件系統的簇的分布情況,建立一個與塊存儲設備的塊大小相配的簇表。所述簇表中記錄了未被使用的簇的簇號,以及這些簇的連續關系。步驟203a:錄音或錄像時,保持簇與塊的邊界對齊,按照簇表向塊存儲設備連續寫入錄音或錄像數據。本專利技術實施例提出的另一種用于嵌入式電子設備的錄音或錄像的數據寫入流程,該流程如圖2b所示,包括如下步驟:步驟201b:對該嵌入式電子設備用于進行錄音或錄像存儲的塊存儲設備進行格式化操作,在格式化過程中,根據塊存儲設備的有效空間及結合塊存儲設備的塊大小,決定文件系統的簇的大??;格式化的過程中各塊與其對應的簇已經形成;步驟202b:在所述塊存儲設備的未被寫入數據的塊中選擇一個塊作為當前塊;步驟203b:在當前塊對應的簇中依次寫入數據;步驟204b:判斷當前塊數據寫入的情況,若當前塊的簇都已寫入數據且數據未寫完,返回步驟202b;若數據已寫完,則結束本流程。在圖2b所示流程基礎上的另一種變型實施方式是,步驟204b所述判斷當前塊數據寫入的情況的判斷結果是數據已寫完,當前塊還有未被寫入數據的簇,則進一步包括:將當前塊未被寫入數據的簇寫零。這樣本文檔來自技高網...

【技術保護點】
一種數據寫入方法,其特征在于,該方法包括如下步驟:A、對將要進行數據寫入的塊存儲設備進行格式化操作,根據塊存儲設備的有效空間以及塊存儲設備的塊大小,決定文件系統的簇的大小;B、向塊存儲設備連續寫入數據,并保持簇與塊的邊界對齊。
【技術特征摘要】
1.一種數據寫入方法,其特征在于,該方法包括如下步驟:A、對將要進行數據寫入的塊存儲設備進行格式化操作,根據塊存儲設備的有效空間以及塊存儲設備的塊大小,決定文件系統的簇的大??;所述塊大小大于簇大小,并且塊大小為簇大小的整數倍;根據文件系統的簇的分布情況,建立一個與塊存儲設備的塊大小相配的簇表,所述簇表中記錄了未被使用的簇的簇號,以及這些簇的連續關系;B、按照所述簇表的順序向塊存儲設備連續寫入數據,并保持數據文件的第1個簇與該簇所在的塊的邊界對齊。2.根據權利要求1所述的方法,其特征在于,步驟B包括:B1、在所述塊存儲設備的未被寫入數據的塊中選擇一個塊作為當前塊;B2、向所述當前塊的簇中寫入數據,保持簇與塊的邊界對齊;B3、判斷當前塊數據寫入的情況,若當前塊的簇都已寫入數據且數據未寫完,返回步驟B1;若數據已寫完,則結束步驟B。3.根據權利要求1或2所述的方法,其特征在于,所述塊大小為128k,簇大小為8k。4.一種數據寫入系統,包括用于存儲寫入的數據的塊存儲設備,其特征在于,該數據寫入系統還包...
【專利技術屬性】
技術研發人員:李根唐,
申請(專利權)人:炬力集成電路設計有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。