新四季網

數據寫入方法及裝置的製作方法

2023-06-06 13:52:36 2

專利名稱:數據寫入方法及裝置的製作方法
技術領域:
本發明涉及通信技術領域,特別是涉及一種數據寫入方法及裝置。
背景技術:
數據卡在工作和調試時,會輸出很多信息。以LTE(Long Term Evolution,長期演進)數據卡為例,LTE數據卡在工作和調試時,會有很多LOG (日誌)信息輸出,供研發人員進行分析調試。在多數情況下,可以通過HOST (PC/開發板),把LOG信息通過虛擬串口導出。但是某些情況下,如開發板沒有可操作界面(如MIFI —類的設備),或者用於外單位儀表測試時,測試單位不提供協助提取LOG信息的服務的情況下,有必要將LOG信息以文件的形式進行保存。目前在各種系統中,FAT文件系統的兼容性比較好,無論是WINDOWS還是Linux及其它嵌入式系統如WINCE,FAT文件系統都可以被接受。因此,在以文件形式進行保存LOG信息時,可以硬體採用可反覆擦寫存儲器如NAND存儲器,並採用FAT文件系統保存LOG信
肩、O但是,硬體採用可反覆擦寫存儲器時,以NAND存儲器為例,由於電子元件工藝的問題,NAND存儲器存在擦除/寫操作壽命。目前使用NAND進行擦除/寫操作時,以BLOCK(數據塊)為單位,可反覆擦寫10萬次。而使用FAT文件系統進行讀寫時,會反覆操作特定的區域,對於某些區域,記錄了文件長度、修改時間等信息,這些區域會隨著文件長度的增力口,被反覆改寫,儘管FAT文件系統利用了 RAM (Random Access Memory,隨機存取存儲器)作為cache (緩存),但擦寫的頻率依然很高。以文件cache為32k為例,目前LOG信息的產生速度為I秒20條,每條平均佔30byte,`那麼55秒鐘就會flush (刷新)一次,即改寫文件長度所在的區域一次,那麼10萬次只能夠連續工作1527小時(約63整天)。在對反覆操作的區域進行了多次擦除/寫操作後,由於NAND的特性,有些數據在寫入後,進行ECC校驗時出錯,當出現這種情況後,該區域所屬的BLOCK會被判定為壞塊,予以棄用。這種因為反覆操作一個區域,導致該區域所在的整個BLOCK被判斷為壞塊,將極大浪費可反覆擦寫存儲器的存儲性能,無法充分發揮可反覆擦寫存儲器的潛在存儲能力。

發明內容
本發明提供了一種數據寫入方法及一種數據寫入裝置,以解決使用FAT文件系統進行可反覆擦寫存儲器的數據寫入時,因反覆操作一個區域,導致該區域所在的整個BLOCK被判斷為壞塊,浪費可反覆擦寫存儲器的存儲性能,無法充分發揮可反覆擦寫存儲器的潛在存儲能力的問題。為了解決上述問題,本發明公開了一種數據寫入方法,包括接收向可反覆擦寫存儲器寫入數據的數據寫入指令,根據所述數據寫入指令確定所述可反覆擦寫存儲器中待寫入數據的第一數據塊;獲取所述第一數據塊的擦除/寫入的次數,並當所述第一數據塊的擦除/寫入的次數達到設定閾值時,從所述可反覆擦寫存儲器的其它數據塊中選擇擦除/寫入的次數未達到所述設定閾值的第二數據塊;將所述第一數據塊中的數據與所述第二數據塊中的數據進行交換;根據所述數據寫入指令向進行數據交換後的所述第二數據塊寫入數據。優選地,根據所述數據寫入指令向進行數據交換後的所述第二數據塊寫入數據的步驟之後,還包括更新所述第二數據塊的帶外數據OOB區記錄的本數據塊的擦除/寫入的次數。優選地,所述獲取所述第一數據塊的擦除/寫入的次數的步驟包括讀取所述第一數據塊的OOB區記錄的擦除/寫入的次數。優選地,所述更新所述第二數據塊的帶外數據OOB區記錄的本數據塊的擦除/寫入的次數的步驟之後,還包括根據更新後的所述第二數據塊的擦除/寫入的次數,將所述第二數據塊移動到所述擦除/寫入的次數小於或等於所述第二數據塊的擦除/寫入的次數的數據塊之後,形成按照擦除/寫入的次數從小到大連結的數據塊鍊表。優選地,所述從所述可反覆擦寫存儲器的其它數據塊中選擇擦除/寫入的次數未達到所述設定閾值的第二數據塊的步驟包括當所述數據塊鍊表的表頭的數據塊的擦除/寫入的次數未達到所述設定閾值時,將所述數據塊鍊表的表頭的數據塊確定為第二數據塊。優選地,所述從所述可反覆擦寫存儲器的其它數據塊中選擇擦除/寫入的次數未達到所述設定閾值的第二數據塊的步驟包括從數據塊信息表中獲取所述擦除/寫入的次數未達到所述設定閾值的數據塊的信息,其中,所述數據塊信息表中存儲有所述可反覆擦寫存儲器的每個數據塊的擦除/寫入的次數;從獲取的所述數據塊的信息對應的數據塊中選擇一個數據塊為第二數據塊。為了解決上述問題,本發明還公開了一種數據寫入裝置,包括確定模塊,用於接收向可反覆擦寫存儲器寫入數據的數據寫入指令,根據所述數據寫入指令確定所述可反覆擦寫存儲器中待寫入數據的第一數據塊;獲取模塊,用於獲取所述第一數據塊的擦除/寫入的次數,並當所述第一數據塊的擦除/寫入的次數達到設定閾值時,從所述可反覆擦寫存儲器的其它數據塊中選擇擦除/寫入的次數未達到所述設定閾值的第二數據塊;執行模塊,用於將所述第一數據塊中的數據與所述第二數據塊中的數據進行交換;根據所述數據寫入指令向進行數據交換後的所述第二數據塊寫入數據。優選地,所述數據寫入裝置還包括記錄模塊,用於在所述執行模塊根據所述數據寫入指令向進行數據交換後的所述第二數據塊寫入數據之後,更新所述第二數據塊的帶外數據OOB區記錄的本數據塊的擦除/寫入的次數。優選地,所述獲取模塊在獲取所述第一數據塊的擦除/寫入的次數時,讀取所述第一數據塊的OOB區記錄的擦除/寫入的次數。優選地,所述數據寫入裝置還包括處理模塊,用於在所述記錄模塊更新所述第二數據塊的帶外數據OOB區記錄的本數據塊的擦除/寫入的次數之後,根據更新後的所述第二數據塊的擦除/寫入的次數,將所述第二數據塊移動到所述擦除/寫入的次數小於或等於所述第二數據塊的擦除/寫入的次數的數據塊之後,形成按照擦除/寫入的次數從小到大連結的數據塊鍊表。優選地,所述獲取模塊在從所述可反覆擦寫存儲器的其它數據塊中選擇擦除/寫入的次數未達到所述設定閾值的第二數據塊時,當所述數據塊鍊表的表頭的數據塊的擦除/寫入的次數未達到所述設定閾值時,將所述數據塊鍊表的表頭的數據塊確定為第二數據塊。優選地,所述獲取模塊在從所述可反覆擦寫存儲器的其它數據塊中選擇擦除/寫入的次數未達到所述設定閾值的第二數據塊時,從數據塊信息表中獲取所述擦除/寫入的次數未達到所述設定閾值的數據塊的信息,其中,所述數據塊信息表中存儲有所述可反覆擦寫存儲器的每個數據塊的擦除/寫入的次數;從獲取的所述數據塊的信息對應的數據塊中選擇一個數據塊為第二數據塊。與現有技術相比,本發明具有以下優點本發明為可反覆擦寫存儲器的每個數據塊設定擦除/寫入的次數的閾值,在向可反覆擦寫存儲器寫入數據時,先確定待寫入數據的第一數據塊的擦除/寫入的次數達到設定閾值,然後,選擇新的第二數據塊進行數據交換,在數據交換後將待寫入數據寫入新的第二數據塊。在一個數據塊「磨損」到設定閾值後,可以再找「合適」的數據塊進行替換。這樣換下去,就可以儘可能地利用可反覆擦寫存儲器中的各個數據塊,把「磨損」平均到各個數據塊中,從而避免了單個數據塊磨損過大,造成壞塊。通過本發明,解決了使用FAT文件系統進行可反覆擦寫存儲器的數據寫入時,因反覆操作一個區域,導致該區域所在的整個BLOCK被判斷為壞塊,浪費可反覆擦寫存儲器的存儲性能,無法充分發揮可反覆擦寫存儲器的潛在存儲能力的問題,達到了有效利用可反覆擦寫存儲器存儲性能的效果。


圖1是根據本發明實施例一的一種數據寫入方法的步驟流程圖;圖2是根據本發明實施例二的一種數據寫入方法的步驟流程圖;圖3是根據本發明實施例三的一種數據寫入方法的步驟流程圖;圖4是根據本發明實施例四的一種數據寫入裝置的結構框圖。
具體實施例方式為使本發明的上述目的、特徵和優點能夠更加明顯易懂,下面結合附圖和具體實施方式
對本發明作進一步詳細的說明。實施例一參照圖1,示出了根據本發明實施例一的一種數據寫入方法的步驟流程圖。本實施例的數據寫入方法包括以下步驟步驟S102 :接收向可反覆擦寫存儲器寫入數據的數據寫入指令,根據數據寫入指令確定可反覆擦寫存儲器中待寫入數據的第一數據塊。數據寫入指令中通常包含有待寫入數據的數據塊地址,如待寫入數據塊的邏輯地址,進而根據該邏輯地址即可確定對應的數據塊的物理地址。步驟S104 :獲取第一數據塊的擦除/寫入的次數,並當第一數據塊的擦除/寫入的次數達到設定閾值時,從可反覆擦寫存儲器的其它數據塊中選擇擦除/寫入的次數未達到設定閾值的第二數據塊。可反覆擦寫存儲器中保存有每個數據塊的擦除/寫入的次數,當向數據塊寫入數據時,先判斷該數據塊的擦除/寫入的次數是否達到設定閾值。其中,設定閾值是為了避免某個數據塊被頻繁擦除/寫入,而其它數據塊有可能一直閒置,造成數據塊利用不均勻,避免產生數據壞塊而設置的閾值。在選擇第二數據塊時,可按照一定規則,如按照先後順序、隨機選擇或者其它適當選擇規則,選擇擦除/寫入的次數未達到設定閾值的數據塊。步驟S106 :將第一數據塊中的數據與第二數據塊中的數據進行交換。選擇出的第二數據塊的擦除/寫入的次數較少,將第一數據塊中的數據與第二數據塊中的數據交換後,再向第二數據塊中寫入數據,可以均衡利用可反覆擦寫存儲器中的數據塊,有效避免因對一個數據塊頻繁進行擦除/寫入,造成壞數據塊的情況發生。步驟S108 :根據數據寫入指令向進行數據交換後的第二數據塊寫入數據。在數據寫入流程結束後,將可反覆擦寫存儲器中保存的數據塊的擦除/寫入的次數進行更新。如,當每塊數據塊中均記錄有本數據塊的擦除/寫入的次數時,在數據寫入後,即對本數據的擦除/寫入次數增加計數,進行實時更新;再如,如果可反覆擦寫存儲器的每塊數據塊的擦除/寫入的次數採用集中式記錄時,如使用文件或表格記錄各個數據塊的擦除/寫入的次數時,可以在數據寫入後,對文件或表格中該數據塊對應的擦除/寫入的次數進行更新。當然,不限於此,在實際應用中,本領域技術人員也可以採用其它適當方式記錄和更新數據塊的擦除/寫入的次數。通過本實施例,為可反覆擦寫存儲器的每個數據塊設定擦除/寫入的次數的閾值,在向可反覆擦寫存儲器寫入數據時,先確定待寫入數據的第一數據塊的擦除/寫入的次數達到設定閾值,然後,選擇新的第二數據塊進行數據交換,在數據交換後將待寫入數據寫入新的第二數據塊。在一個數據塊「磨損」到設定閾值後,可以再找「合適」的數據塊進行替換。這樣換下去,就可以儘可能地利用可反覆擦寫存儲器中的各個數據塊,把「磨損」平均到各個數據塊中,從而避免了單個數據塊磨損過大,造成壞塊。通過本實施例,解決了使用FAT文件系統進行可反覆擦寫存儲器的數據寫入時,因反覆操作一個區域,導致該區域所在的整個BLOCK被判斷為壞塊,浪費可反覆擦寫存儲器的存儲性能,無法充分發揮可反覆擦寫存儲器的潛在存儲能力的問題,達到了有效利用可反覆擦寫存儲器存儲性能的效果。實施例二參照圖2,示出了根據本發明實施例二的一種數據寫入方法的步驟流程圖。本實施例中,以可反覆擦寫的NAND存儲器為例,使用鍊表方式連結NAND存儲器的各個數據塊,在每個數據塊的OOB (Out Of Band,帶外數據)區記錄本數據塊的擦除/寫入的次數。按照NAND存儲器的每個數據塊的擦除/寫入的次數,從小到大使用鍊表連結NAND存儲器的每個數據塊;當向數據塊寫入數據後,根據寫入數據的數據塊的擦除/寫入的次數,將寫入數據的數據塊移動到擦除/寫入的次數小於或等於寫入數據的數據塊的擦除/寫入的次數的數據塊之後。以下以一個簡單的例子對NAND存儲器的鍊表數據塊進行示例性說明,如設定NAND存儲器有A、B、C、D四個數據塊,初始時,鍊表結構為A (0) 一 >B (0) 一 >C (0) 一 >D
(0),其中,括號中的數據表示本數據塊被擦除/寫入的次數,初始時均為O。當向A數據塊寫入數據後,鍊表結構變為B (0)—〉C (0)—〉D (0)—〉A (I);再向B數據塊寫入數據後,鍊表結構變為C (0)—〉D (0)—〉A (I) - >B (I);再向A數據塊寫入數據後,鍊表結構變為C (O)—〉D (0)- >B (I) 一〉A (2);再向D數據塊寫入數據後,鍊表結構變為C
(0)- >B (I) - >D (I) - >A (2),依次類推。基於以上結構,本實施例的數據寫入方法包括以下步驟步驟S202 :接收向NAND存儲器寫入數據的數據寫入指令,根據數據寫入指令確定待寫入數據的第一數據塊。步驟S204 :讀取第一數據塊的OOB區記錄的擦除/寫入的次數,判斷第一數據塊的擦除/寫入的次數是否達到設定閾值,若是,則執行步驟S206 ;若否,則執行步驟S212。步驟S206 :若第一數據塊的擦除/寫入的次數達到設定閾值,則判斷NAND存儲器的數據塊鍊表的表頭的數據塊的擦除/寫入的次數是否達到設定閾值,若未達到,則執行步驟S208 ;若已達到,則給出提示,結束本次數據寫入流程。本實施例中,因為採用鍊表結構按照數據塊的擦除/寫入的次數從小到大連結NAND存儲器的數據塊,因此,在需要時,直接選擇鍊表頭的數據塊作為第二數據塊,若該鍊表頭數據塊也已達到設定閾值,則說明該鍊表中已沒有未達到設定閾值的數據塊了,給出相應提示。但通常情況下,鍊表頭的數據塊不會達到設定閾值,因此可直接選擇該鍊表頭數據塊作為新的第二數據塊,與已達到設定閾值第一數據塊進行數據交換,進而寫入數據。需要說明的是,NAND存儲器的數據塊的存儲結構不限於鍊表結構,本領域技術人員可以根據實際需求設置適當的結構。對第二數據塊的選擇也不限於上述使用鍊表頭數據塊的形式,本領域技術人員還可以根據實際情況選擇其它形式。例如,在NAND存儲器中設置數據塊信息表,該數據塊信息表中存儲有NAND存儲器的每個數據塊的擦除/寫入的次數,當然,還可以存儲有每個數據塊的地址信息,這樣,當需要選擇數據塊時,可以從數據塊信息表中獲取擦除/寫入的次數未達到設定閾值的數據塊的信息;進而,按照適當的設定規則(如按照擦除/寫入的次數從小到大的順序選擇、隨機選擇等等),從獲取的數據塊的信息對應的數據塊中選擇一個數據塊作為第二數據塊。進一步地,可以根據數據塊信息表中存儲的第二數據塊的地址信息,直接訪問該選擇的第二數據塊。步驟S208 :選擇鍊表的表頭的數據塊作為第二數據塊,將第一數據塊中的數據與選擇出的第二數據塊中的數據進行交換。例如,擦除/寫入的次數的設定閾值為500,A數據塊中存儲有Dl、D2、D3三個數據,當前擦除/寫入的次數為200 ;B數據塊中存儲有D5、D6兩個數據,當前擦除/寫入的次數為500 ;則再向B數據塊寫入數據時,因B數據塊的擦除/寫入的次數已達到設定閾值,則選擇A數據塊作為新的數據塊。這時,將A數據塊中的數據Dl、D2、D3暫時存儲到一個臨時存儲區,刪除A數據塊中的數據,並將B數據塊中的D5、D6複製到A數據塊中,A數據塊的擦除/寫入的次數變為201 ;然後,將B數據塊中的數據刪除,將臨時存儲區中的D1、D2、D3複製到B數據塊中,B數據塊的擦除/寫入的次數變為501。可見,通過上述操作,實現了 A數據塊和B數據塊的數據交換,因A數據塊的擦除/寫入的次數還未達到設定閾值,因此可以繼續對A數據塊進行擦除/寫入操作,將數據寫入A數據塊。步驟S210 :根據數據寫入指令向進行數據交換後的第二數據塊寫入數據,執行步驟 S214。步驟S212 :若第一數據塊的擦除/寫入的次數未達到設定閾值,則根據數據寫入指令向該第一數據塊直接寫入數據,執行步驟S214。
步驟S214 :更新寫入數據的數據塊的帶外數據OOB區記錄的本數據塊的擦除/寫入的次數。步驟S216 :根據更新後的數據塊的擦除/寫入的次數,將該數據塊移動到擦除/寫入的次數小於或等於本數據塊的擦除/寫入的次數的數據塊之後,形成按照擦除/寫入的次數從小到大連結的數據塊鍊表。通過本實施例,有效延長了 NAND存儲器+FAT文件系統的使用時間,為數據卡長時間使用或測試提供了更多可選擇的LOG記錄方式;並且,使得數據卡在長時間使用或測試時,節約NAND存儲器的存儲性能,充分發揮NAND存儲器的潛在存儲能力。另外,需要說明的是,本實施例中,在每個數據塊的OOB區記錄本數據塊的擦除/寫入的次數,可以有效利用數據塊的OOB區,並且實現簡單,不需要另外設置存儲區,節約了實現成本。實施例三參照圖3,示出了根據本發明實施例三的一種數據寫入方法的步驟流程圖。本實施例以NAND存儲器中存儲的文件描述扇區為例,這個扇區的512個字節會被頻繁擦寫,磨損會比較嚴重。本實施例在該扇區對應的數據塊的OOB區,記錄該數據塊的擦除/寫入的次數,當次數超過設定閾值後,將這個數據塊和其它可用的數據塊進行交換,使其變成「新數據塊」。本實施例的數據寫入方法包括以下步驟步驟S302 :LTE數據卡輸出LOG信息,LTE數據卡所在設備發出數據寫入指令,LTE數據卡所在設備的相應軟體模塊準備向NAND存儲器的文件描述扇區寫入數據。步驟S304 :軟體模塊從數據寫入指令中獲取文件描述扇區的邏輯地址。步驟S306 :軟體模塊根據文件描述扇區的邏輯地址確定文件描述扇區的物理地址。步驟S308 :軟體模塊判斷文件描述扇區的物理地址所在的數據塊的擦除/寫入的次數是否達到設定閾值,若是,則執行步驟S310 ;若否,則執行步驟S316。其中,設定閾值可以依據本領域技術人員的經驗或試驗仿真設置,一般可以選擇NAND存儲器可擦除/寫入操作壽命次數的90%以下,如,若NAND存儲器可反覆擦除/寫入10萬次,則設定閾值可以設置為8萬次或9萬次等。當然,以上僅為示例性說明,在實際應用中,本領域技術人員可以根據實際需要靈活設置。步驟S310 :軟體模塊從擦除/寫入的次數未達到設定閾值的數據塊中選擇一個數據塊。如,選擇鍊表頭數據塊或者選擇數據塊信息表中擦除/寫入的次數最少的數據塊。步驟S312 :軟體模塊對文件描述扇區所在的數據塊的數據與選擇出的數據塊中的數據進行交換。交換後,文件描述扇區的數據存儲到了選擇出的數據塊中。步驟S314 :軟體模塊根據數據寫入指令,向選擇出的數據塊中的文件描述扇區寫入數據,結束本次數據寫入流程。例如,軟體模塊根據數據寫入指令,控制NAND控制器向選擇出的數據塊中的文件描述扇區寫入數據步驟S316 :若文件描述扇區的物理地址所在的數據塊的擦除/寫入的次數未達到設定閾值,則軟體模塊根據數據寫入指令向該數據塊直接寫入數據,結束本次數據寫入流程。本實施例針對FAT文件系統對數據塊利用率不均勻和NAND存儲器擦寫次數有限的問題,提供了一種數據寫入方案,在待寫入的邏輯地址和實際NAND物理地址之間,加入調度(即LTE數據卡所在設備中相應的軟體模塊的調度),該調度在收到邏輯地址後,會根據擦寫次數重新調度,然後映射真正的物理地址後,進行讀寫操作,從而儘可能地減小了 FAT文件系統操作的不均勻性,充分利用了 NAND存儲器的潛在儲存能力。例如,本實施例中,以文件描述扇區為例,該扇區的512個字節因會被頻繁擦寫,磨損比較嚴重,本實施例的方案在該扇區對應的數據塊的OOB區,記錄該數據塊的擦除/寫入的次數,當次數超過設定閾值後,將這個數據塊和其它的數據塊進行交換,使其變成「新數據塊」。在這個「新數據塊」磨損到設定閾值後,可以再找「合適」的數據塊進行替換。這樣換下去,就可以儘可能地利用NAND存儲器中各個數據塊,把磨損平均到各個數據塊中,避免單個數據塊磨損過大,造成壞塊。可見,通過本實施例的方案,可以有效延長NAND存儲器+FAT文件系統的使用時間,使得數據卡在長時間測試時,多一個可選擇的LOG記錄方式,並且,節約NAND存儲器的存儲性能,充分發揮NAND存儲器的潛在存儲能力。實施例四參照圖4,示出了根據本發明實施例四的一種數據寫入裝置的結構框圖。本實施例四的數據寫入裝置包括確定模塊402,用於接收向可反覆擦寫存儲器寫入數據的數據寫入指令,根據數據寫入指令確定可反覆擦寫存儲器中待寫入數據的第一數據塊;獲取模塊404,用於獲取第一數據塊的擦除/寫入的次數,並當第一數據塊的擦除/寫入的次數達到設定閾值時,從可反覆擦寫存儲器的其它數據塊中選擇擦除/寫入的次數未達到設定閾值的第二數據塊;;執行模塊406,用於將第一數據塊中的數據與第二數據塊中的數據進行交換;根據數據寫入指令向進行數據交換後的第二數據塊寫入數據。優選地,本實施例的數據寫入裝置還包括記錄模塊408,用於在執行模塊406根據數據寫入指令向進行數據交換後的第二數據塊寫入數據之後,更新第二數據塊的OOB區記錄的本數據塊的擦除/寫入的次數。優選地,獲取模塊404在獲取第一數據塊的擦除/寫入的次數時,讀取第一數據塊的OOB區記錄的擦除/寫入的次數。優選地,本實施例的數據寫入裝置還包括處理模塊410,用於在記錄模塊408更新第二數據塊的OOB區記錄的本數據塊的擦除/寫入的次數之後,根據更新後的第二數據塊的擦除/寫入的次數,將第二數據塊移動到擦除/寫入的次數小於或等於選擇出的數據塊的擦除/寫入的次數的數據塊之後,形成按照擦除/寫入的次數從小到大連結的數據塊鍊表。優選地,獲取模塊404在從可反覆擦寫存儲器的其它數據塊中選擇擦除/寫入的次數未達到設定閾值的第二數據塊時,當數據塊鍊表的表頭的數據塊的擦除/寫入的次數未達到設定閾值時,將數據塊鍊表的表頭的數據塊確定為第二數據塊。優選地,獲取模塊404在從可反覆擦寫存儲器的其它數據塊中選擇擦除/寫入的次數未達到設定閾值的第二數據塊時,從數據塊信息表中獲取擦除/寫入的次數未達到設定閾值的數據塊的信息,其中,數據塊信息表中存儲有可反覆擦寫存儲器的每個數據塊的擦除/寫入的次數;按照設定規則,從獲取的數據塊的信息對應的數據塊中選擇一個數據塊作為第二數據塊。優選地,本實施例的可反覆擦寫存儲器為NAND存儲器。本實施例的數據寫入裝置用於實現前述多個方法實施例中相應的數據寫入方法,並具有相應的方法實施例的有益效果,在此不再贅述。需要說明的是,本發明的多個實施例中均以NAND存儲器為例,但本領域技術人員應當明了,任意與NAND存儲器類似的、可反覆進行擦除/寫入操作、且具有擦除/寫入操作壽命的存儲器均可適用本發明的方案。本說明書中的各個實施例均採用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。對於裝置實施例而言,由於其與方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。以上對本發明所提供的一種數據寫入方法和裝置進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本發明的方法及其核心思想;同時,對於本領域的一般技術人員,依據本發明的思想,在具體實施方式
及應用範圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。
權利要求
1.一種數據寫入方法,其特徵在於,包括 接收向可反覆擦寫存儲器寫入數據的數據寫入指令,根據所述數據寫入指令確定所述可反覆擦寫存儲器中待寫入數據的第一數據塊; 獲取所述第一數據塊的擦除/寫入的次數,並當所述第一數據塊的擦除/寫入的次數達到設定閾值時,從所述可反覆擦寫存儲器的其它數據塊中選擇擦除/寫入的次數未達到所述設定閾值的第二數據塊; 將所述第一數據塊中的數據與所述第二數據塊中的數據進行交換; 根據所述數據寫入指令向進行數據交換後的所述第二數據塊寫入數據。
2.根據權利要求1所述的方法,其特徵在於,根據所述數據寫入指令向進行數據交換後的所述第二數據塊寫入數據的步驟之後,還包括 更新所述第二數據塊的帶外數據OOB區記錄的本數據塊的擦除/寫入的次數。
3.根據權利要求2所述的方法,其特徵在於,所述獲取所述第一數據塊的擦除/寫入的次數的步驟包括 讀取所述第一數據塊的OOB區記錄的擦除/寫入的次數。
4.根據權利要求2或3所述的方法,其特徵在於,所述更新所述第二數據塊的帶外數據OOB區記錄的本數據塊的擦除/寫入的次數的步驟之後,還包括 根據更新後的所述第二數據塊的擦除/寫入的次數,將所述第二數據塊移動到所述擦除/寫入的次數小於或等於所述第二數據塊的擦除/寫入的次數的數據塊之後,形成按照擦除/寫入的次數從小到大連結的數據塊鍊表。
5.根據權利要求4所述的方法,其特徵在於,所述從所述可反覆擦寫存儲器的其它數據塊中選擇擦除/寫入的次數未達到所述設定閾值的第二數據塊的步驟包括 當所述數據塊鍊表的表頭的數據塊的擦除/寫入的次數未達到所述設定閾值時,將所述數據塊鍊表的表頭的數據塊確定為第二數據塊。
6.根據權利要求1所述的方法,其特徵在於,所述從所述可反覆擦寫存儲器的其它數據塊中選擇擦除/寫入的次數未達到所述設定閾值的第二數據塊的步驟包括 從數據塊信息表中獲取所述擦除/寫入的次數未達到所述設定閾值的數據塊的信息,其中,所述數據塊信息表中存儲有所述可反覆擦寫存儲器的每個數據塊的擦除/寫入的次數; 從獲取的所述數據塊的信息對應的數據塊中選擇一個數據塊為第二數據塊。
7.一種數據寫入裝置,其特徵在於,包括 確定模塊,用於接收向可反覆擦寫存儲器寫入數據的數據寫入指令,根據所述數據寫入指令確定所述可反覆擦寫存儲器中待寫入數據的第一數據塊; 獲取模塊,用於獲取所述第一數據塊的擦除/寫入的次數,並當所述第一數據塊的擦除/寫入的次數達到設定閾值時,從所述可反覆擦寫存儲器的其它數據塊中選擇擦除/寫入的次數未達到所述設定閾值的第二數據塊; 執行模塊,用於將所述第一數據塊中的數據與所述第二數據塊中的數據進行交換;根據所述數據寫入指令向進行數據交換後的所述第二數據塊寫入數據。
8.根據權利要求7所述的裝置,其特徵在於,還包括 記錄模塊,用於在所述執行模塊根據所述數據寫入指令向進行數據交換後的所述第二數據塊寫入數據之後,更新所述第二數據塊的帶外數據OOB區記錄的本數據塊的擦除/寫入的次數。
9.根據權利要求8所述的裝置,其特徵在於,所述獲取模塊在獲取所述第一數據塊的擦除/寫入的次數時,讀取所述第一數據塊的OOB區記錄的擦除/寫入的次數。
10.根據權利要求8或9所述的裝置,其特徵在於,還包括 處理模塊,用於在所述記錄模塊更新所述第二數據塊的帶外數據OOB區記錄的本數據塊的擦除/寫入的次數之後,根據更新後的所述第二數據塊的擦除/寫入的次數,將所述第二數據塊移動到所述擦除/寫入的次數小於或等於所述第二數據塊的擦除/寫入的次數的數據塊之後,形成按照擦除/寫入的次數從小到大連結的數據塊鍊表。
11.根據權利要求10所述的裝置,其特徵在於,所述獲取模塊在從所述可反覆擦寫存儲器的其它數據塊中選擇擦除/寫入的次數未達到所述設定閾值的第二數據塊時,當所述數據塊鍊表的表頭的數據塊的擦除/寫入的次數未達到所述設定閾值時,將所述數據塊鍊表的表頭的數據塊確定為第二數據塊。
12.根據權利要求7所述的裝置,其特徵在於,所述獲取模塊在從所述可反覆擦寫存儲器的其它數據塊中選擇擦除/寫入的次數未達到所述設定閾值的第二數據塊時,從數據塊信息表中獲取所述擦除/寫入的次數未達到所述設定閾值的數據塊的信息,其中,所述數據塊信息表中存儲有所述可反覆擦寫存儲器的每個數據塊的擦除/寫入的次數;從獲取的所述數據塊的信息對應的數據塊中選擇一個數據塊為第二數據塊。
全文摘要
本發明提供了一種數據寫入方法及裝置,其中,數據寫入方法包括接收向可反覆擦寫存儲器寫入數據的數據寫入指令,根據所述數據寫入指令確定所述可反覆擦寫存儲器中待寫入數據的第一數據塊;獲取所述第一數據塊的擦除/寫入的次數,並當所述第一數據塊的擦除/寫入的次數達到設定閾值時,從所述可反覆擦寫存儲器的其它數據塊中選擇擦除/寫入的次數未達到所述設定閾值的第二數據塊;將所述第一數據塊中的數據與所述第二數據塊中的數據進行交換;根據所述數據寫入指令向進行數據交換後的所述第二數據塊寫入數據。通過本發明,達到了有效利用可反覆擦寫存儲器存儲性能的效果。
文檔編號G06F12/02GK103064792SQ201210575090
公開日2013年4月24日 申請日期2012年12月26日 優先權日2012年12月26日
發明者施純良 申請人:北京創毅訊聯科技股份有限公司

同类文章

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

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