• / 16
  • 下載費用:30 金幣  

用于FLASH存儲器的數據處理方法和裝置.pdf

摘要
申請專利號:

CN201510662237.0

申請日:

2015.10.12

公開號:

CN105260320A

公開日:

2016.01.20

當前法律狀態:

實審

有效性:

審中

法律詳情: 實質審查的生效IPC(主分類):G06F 12/02申請日:20151012|||公開
IPC分類號: G06F12/02 主分類號: G06F12/02
申請人: 珠海格力電器股份有限公司
發明人: 吳寶龍; 唐政清; 趙耀; 李忠倫; 明開云; 郭雙林; 馬超; 錢沛; 段闖; 趙金富; 敖道滿
地址: 519070廣東省珠海市前山金雞西路六號
優先權:
專利代理機構: 北京康信知識產權代理有限責任公司11240 代理人: 韓建偉; 張永明
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201510662237.0

授權公告號:

|||

法律狀態公告日:

2016.02.17|||2016.01.20

法律狀態類型:

實質審查的生效|||公開

摘要

本發明公開了一種用于FLASH存儲器的數據處理方法和裝置。其中,該方法包括:檢測第一扇區的數據擦寫次數是否超過預設閾值;在檢測到第一扇區的數據擦寫次數超過預設閾值時,生成偏移量;將第一地址加上偏移量得到第二地址,其中,第一地址為第一扇區的地址;以及在第二地址對應的第二扇區進行數據擦寫。本發明解決了相關技術中由于單個扇區的數據擦寫次數過多導致的FLASH存儲器使用壽命降低的技術問題。

權利要求書

1.一種用于FLASH存儲器的數據處理方法,其特征在于,包括:
檢測第一扇區的數據擦寫次數是否超過預設閾值;
在檢測到所述第一扇區的數據擦寫次數超過所述預設閾值時,生成偏移量;
將第一地址加上所述偏移量得到第二地址,其中,所述第一地址為所述第一
扇區的地址;以及
在所述第二地址對應的第二扇區進行數據擦寫。
2.根據權利要求1所述的用于FLASH存儲器的數據處理方法,其特征在于,在檢測
第一扇區的數據擦寫次數是否超過預設閾值之后,所述方法還包括:
在檢測到所述第一扇區的數據擦寫次數未超過所述預設閾值時,在所述第一
扇區進行數據擦寫,并對所述數據擦寫次數進行計數。
3.根據權利要求2所述的用于FLASH存儲器的數據處理方法,其特征在于,在檢測
到所述第一扇區的數據擦寫次數未超過所述預設閾值時,在所述第一扇區進行數
據擦寫,并對所述數據擦寫次數進行計數包括:
擦除所述第一扇區的數據,并將所述數據擦寫次數加1;
檢測計數之后的數據擦寫次數是否達到所述預設閾值;
在檢測到計數之后的數據擦寫次數未達到所述預設閾值時,在所述第一扇區
寫入數據;以及
在檢測到計數之后的數據擦寫次數達到所述預設閾值時,生成所述偏移量,
將所述第一地址加上所述偏移量得到所述第二地址,在所述第二地址對應的第二
扇區進行數據擦寫。
4.根據權利要求1所述的用于FLASH存儲器的數據處理方法,其特征在于,
在檢測到所述第一扇區的數據擦寫次數超過所述預設閾值時,將所述第一扇
區的計數標識符標記為預設標識符,其中,所述預設標識符用于標識所述第一扇
區的數據擦寫次數達到所述預設閾值。
5.根據權利要求4所述的用于FLASH存儲器的數據處理方法,其特征在于,所述第
一扇區包括:
第一區域,用于存儲所述第一扇區的數據擦寫次數;
第二區域,用于存儲數據;以及
第三區域,用于存儲所述計數標識符。
6.根據權利要求1所述的用于FLASH存儲器的數據處理方法,其特征在于,FLASH
存儲器中扇區的地址與日期存在對應關系。
7.根據權利要求6所述的用于FLASH存儲器的數據處理方法,其特征在于,第一日
期對應所述第一地址,其中,在檢測到所述第一日期內生成所述偏移量時,將所
述第一日期對應的地址修改為所述第二地址。
8.一種用于FLASH存儲器的數據處理裝置,其特征在于,包括:
第一檢測模塊,用于檢測第一扇區的數據擦寫次數是否超過預設閾值;
第一生成模塊,用于在檢測到所述第一扇區的數據擦寫次數超過所述預設閾
值時,生成偏移量;
第二生成模塊,用于將第一地址加上所述偏移量得到第二地址,其中,所述
第一地址為所述第一扇區的地址;以及
第一數據擦寫模塊,用于在所述第二地址對應的第二扇區進行數據擦寫。
9.根據權利要求8所述的用于FLASH存儲器的數據處理裝置,其特征在于,所述裝
置還包括:
第二數據擦寫模塊,用于在檢測到所述第一扇區的數據擦寫次數未超過所述
預設閾值時,在所述第一扇區進行數據擦寫,并對所述數據擦寫次數進行計數。
10.根據權利要求9所述的用于FLASH存儲器的數據處理裝置,其特征在于,所述第
二數據擦寫模塊包括:
擦除模塊,用于擦除所述第一扇區的數據,并將所述數據擦寫次數加1;
第二檢測模塊,用于檢測計數之后的數據擦寫次數是否達到所述預設閾值;
寫入模塊,用于在檢測到計數之后的數據擦寫次數未達到所述預設閾值時,
在所述第一扇區寫入數據;以及
第三生成模塊,用于在檢測到計數之后的數據擦寫次數達到所述預設閾值時,
生成所述偏移量,將所述第一地址加上所述偏移量得到所述第二地址,在所述第
二地址對應的第二扇區進行數據擦寫。
11.根據權利要求8所述的用于FLASH存儲器的數據處理裝置,其特征在于,所述裝
置還包括:
標記模塊,用于在檢測到所述第一扇區的數據擦寫次數超過所述預設閾值時,
將所述第一扇區的計數標識符標記為預設標識符,其中,所述預設標識符用于標
識所述第一扇區的數據擦寫次數達到所述預設閾值。
12.根據權利要求11所述的用于FLASH存儲器的數據處理裝置,其特征在于,所述第
一扇區包括:
第一區域,用于存儲所述第一扇區的數據擦寫次數;
第二區域,用于存儲數據;以及
第三區域,用于存儲所述計數標識符。
13.根據權利要求8所述的用于FLASH存儲器的數據處理裝置,其特征在于,FLASH
存儲器中扇區的地址與日期存在對應關系。
14.根據權利要求8所述的用于FLASH存儲器的數據處理裝置,其特征在于,第一日
期對應所述第一地址,其中,所述裝置還包括:
修改模塊,用于在檢測到所述第一日期內生成所述偏移量時,將所述第一日
期對應的地址修改為所述第二地址。

說明書

用于FLASH存儲器的數據處理方法和裝置

技術領域

本發明涉及數據處理領域,具體而言,涉及一種用于FLASH存儲器的數據處理方
法和裝置。

背景技術

目前,集裝箱空調中通常配備有數據記錄設備,比如FLASH存儲器,在集裝箱空
調運行過程中,需要用FLASH存儲器存儲集裝箱空調的運行狀態、報警狀態或者配置
參數等數據。FLASH存儲器中包括多個扇區,數據存儲需要對扇區進行數據擦除后才
能寫入新的數據,但是,每個扇區只能進行10萬次的數據擦寫。由于集裝箱空調運行
狀態、報警狀態或者配置參數的不確定性,容易造成單個扇區的數據擦寫次數過多,
將會導致FLASH存儲器過早報廢,無法使用,嚴重降低了FLASH存儲器的使用壽命。

針對相關技術中由于單個扇區的數據擦寫次數過多導致的FLASH存儲器使用壽命
降低的問題,目前尚未提出有效的解決方案。

發明內容

本發明實施例提供了一種用于FLASH存儲器的數據處理方法和裝置,以至少解決
相關技術中由于單個扇區的數據擦寫次數過多導致的FLASH存儲器使用壽命降低的技
術問題。

根據本發明實施例的一個方面,提供了一種用于FLASH存儲器的數據處理方法,
包括:檢測第一扇區的數據擦寫次數是否超過預設閾值;在檢測到第一扇區的數據擦
寫次數超過預設閾值時,生成偏移量;將第一地址加上偏移量得到第二地址,其中,
第一地址為第一扇區的地址;以及在第二地址對應的第二扇區進行數據擦寫。

進一步地,在檢測第一扇區的數據擦寫次數是否超過預設閾值之后,用于FLASH
存儲器的數據處理方法還包括:在檢測到第一扇區的數據擦寫次數未超過預設閾值時,
在第一扇區進行數據擦寫,并對數據擦寫次數進行計數。

進一步地,在檢測到第一扇區的數據擦寫次數未超過預設閾值時,在第一扇區進
行數據擦寫,并對數據擦寫次數進行計數包括:擦除第一扇區的數據,并將數據擦寫
次數加1;檢測計數之后的數據擦寫次數是否達到預設閾值;在檢測到計數之后的數
據擦寫次數未達到預設閾值時,在第一扇區寫入數據;在檢測到計數之后的數據擦寫
次數達到預設閾值時,生成偏移量,將第一地址加上偏移量得到第二地址,在第二地
址對應的第二扇區進行數據擦寫。

進一步地,在檢測到第一扇區的數據擦寫次數超過預設閾值時,將第一扇區的計
數標識符標記為預設標識符,其中,預設標識符用于標識第一扇區的數據擦寫次數達
到預設閾值。

進一步地,第一扇區包括:第一區域,用于存儲第一扇區的數據擦寫次數;第二
區域,用于存儲數據;以及第三區域,用于存儲計數標識符。

進一步地,FLASH存儲器中扇區的地址與日期存在對應關系。

進一步地,第一日期對應第一地址,其中,在檢測到第一日期內生成偏移量時,
將第一日期對應的地址修改為第二地址。

根據本發明實施例的另一方面,還提供了一種用于FLASH存儲器的數據處理裝置,
包括:第一檢測模塊,用于檢測第一扇區的數據擦寫次數是否超過預設閾值;第一生
成模塊,用于在檢測到第一扇區的數據擦寫次數超過預設閾值時,生成偏移量;第二
生成模塊,用于將第一地址加上偏移量得到第二地址,其中,第一地址為第一扇區的
地址;以及第一數據擦寫模塊,用于在第二地址對應的第二扇區進行數據擦寫。

進一步地,用于FLASH存儲器的數據處理裝置還包括:第二數據擦寫模塊,用于
在檢測到第一扇區的數據擦寫次數未超過預設閾值時,在第一扇區進行數據擦寫,并
對數據擦寫次數進行計數。

進一步地,第二數據擦寫模塊包括:擦除模塊,用于擦除第一扇區的數據,并將
數據擦寫次數加1;第二檢測模塊,用于檢測計數之后的數據擦寫次數是否達到預設
閾值;寫入模塊,用于在檢測到計數之后的數據擦寫次數未達到預設閾值時,在第一
扇區寫入數據;第三生成模塊,用于在檢測到計數之后的數據擦寫次數達到預設閾值
時,生成偏移量,將第一地址加上偏移量得到第二地址,在第二地址對應的第二扇區
進行數據擦寫。

進一步地,用于FLASH存儲器的數據處理裝置還包括:標記模塊,用于在檢測到
第一扇區的數據擦寫次數超過預設閾值時,將第一扇區的計數標識符標記為預設標識
符,其中,預設標識符用于標識第一扇區的數據擦寫次數達到預設閾值。

進一步地,第一扇區包括:第一區域,用于存儲第一扇區的數據擦寫次數;第二
區域,用于存儲數據;以及第三區域,用于存儲計數標識符。

進一步地,FLASH存儲器中扇區的地址與日期存在對應關系。

進一步地,第一日期對應第一地址,其中,裝置還包括:修改模塊,用于在檢測
到第一日期內生成偏移量時,將第一日期對應的地址修改為第二地址。

在本發明實施例中,通過檢測扇區的數據擦寫次數是否達到預設閾值,在超過預
設閾值的情況下,通過偏移地址的形式對下一個扇區進行數據擦寫,達到了平衡FLASH
存儲器中多個扇區的數據擦寫次數的目的,從而實現了提高FLASH存儲器使用壽命的
技術效果,進而解決了相關技術中由于單個扇區的數據擦寫次數過多導致的FLASH存
儲器使用壽命降低的技術問題。

附圖說明

此處所說明的附圖用來提供對本發明的進一步理解,構成本申請的一部分,本發
明的示意性實施例及其說明用于解釋本發明,并不構成對本發明的不當限定。在附圖
中:

圖1是根據本發明實施例的用于FLASH存儲器的數據處理方法的流程圖;

圖2是根據本發明第一實施例的第一扇區結構示意圖;

圖3是根據本發明第二實施例的第一扇區結構示意圖;

圖4是根據本發明可選實施例的用于FLASH存儲器的數據處理方法的流程圖;以

圖5是根據本發明實施例的用于FLASH存儲器的數據處理裝置的示意圖。

具體實施方式

為了使本技術領域的人員更好地理解本發明方案,下面將結合本發明實施例中的
附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例
僅僅是本發明一部分的實施例,而不是全部的實施例。基于本發明中的實施例,本領
域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都應當屬于
本發明保護的范圍。

需要說明的是,本發明的說明書和權利要求書及上述附圖中的術語“第一”、“第
二”等是用于區別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這
樣使用的數據在適當情況下可以互換,以便這里描述的本發明的實施例能夠以除了在
這里圖示或描述的那些以外的順序實施。此外,術語“包括”和“具有”以及他們的
任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方
法、系統、產品或設備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚
地列出的或對于這些過程、方法、產品或設備固有的其它步驟或單元。

根據本發明實施例,提供了一種用于FLASH存儲器的數據處理方法的方法實施例,
需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執行指令的計算
機系統中執行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以
不同于此處的順序執行所示出或描述的步驟。

圖1是根據本發明實施例的用于FLASH存儲器的數據處理方法的流程圖,如圖1
所示,該方法包括如下步驟:

步驟S102,檢測第一扇區的數據擦寫次數是否超過預設閾值;

步驟S104,在檢測到第一扇區的數據擦寫次數超過預設閾值時,生成偏移量;

步驟S106,將第一地址加上偏移量得到第二地址,其中,第一地址為第一扇區的
地址;

步驟S108,在第二地址對應的第二扇區進行數據擦寫。

通過上述步驟,通過檢測扇區的數據擦寫次數是否達到預設閾值,在檢測到扇區
的數據擦寫次數超過預設閾值的情況下,通過偏移地址的形式對下一個扇區進行數據
擦寫,能夠平衡FLASH存儲器中多個扇區的數據擦寫次數,解決相關技術中由于單個
扇區的數據擦寫次數過多導致的FLASH存儲器使用壽命降低的技術問題,從而達到提
高FLASH存儲器使用壽命的技術效果。

FLASH存儲器中包括一個或者多個扇區,每個扇區的數據擦寫次數均有一個上限
值,當扇區的數據擦寫次數超過上限值時,將會導致FLASH存儲器報廢,無法使用。
本發明實施例為FLASH存儲器中的每個扇區設定有數據擦寫次數閾值,該數據擦寫次
數閾值為步驟S102中的預設閾值,該預設閾值小于扇區的數據擦寫次數的上限值,以
達到提高FLASH存儲器使用壽命的目的。

FLASH存儲器中每個扇區均對應有一個唯一地址,比如第一扇區的地址為第一地
址。可選地,FLASH存儲器中扇區的地址與日期存在對應關系,比如,第一日期對應
第一地址,即第一日期內的數據存儲在第一地址對應的第一扇區內。FLASH存儲器中
扇區的地址與日期的對應關系受扇區的數據擦寫次數的影響,比如,第一日期對應第
一地址,但是,在第一日期內,如果第一地址對應的第一扇區的數據擦寫次數超過預
設閾值時,即在檢測到第一日期內生成偏移量時,將會轉移到第二地址對應的第二扇
區內對數據進行擦寫操作,則第一日期對應的地址將會被修改為第二地址。建立日期
與扇區地址的對應關系,有利于快速查找并讀取某一日期的數據。

可選地,當檢測到第一日期內生成偏移量時,還可以將第二地址對應的扇區內存
儲的數據直接寫入第一扇區,并相應地將第一扇區的數據擦寫次數加1,采用這種方
式第一日期對應的扇區地址不變,還為第一地址,只是將第一地址對應的扇區內存儲
的數據進行了替換,也能夠確保快速查找并讀取第一日期的數據。

可選地,當檢測到第一日期內生成偏移量時,還可以在第一扇區設置第四區域,
用于存儲偏移地址,當需要讀取第一日期的數據時,根據第一日期與第一地址的對應
關系,首先找到第一地址,然后根據第一扇區內存儲的偏移地址,再鏈接到第二地址,
其中,第二地址為第一地址加上偏移地址指向的地址,通過讀取第二地址對應的扇區
內存儲的數據實現讀取第一日期的數據。

步驟S102中的第一扇區為FLASH存儲器中的任意一個扇區,并不限定第一扇區為
FLASH存儲器中的首地址對應的扇區,即本發明實施例的用于FLASH存儲器的數據處
理方法可以適用于FLASH存儲器中的全部或者部分扇區的數據擦寫。

可選地,第一扇區可以為三段式結構,圖2是根據本發明第一實施例的第一扇區
的結構示意圖,如圖2所示,第一扇區可以包括:

第一區域,用于存儲第一扇區的數據擦寫次數,第一區域通常為第一扇區的第一
字節,第一區域內存儲的數據擦寫次數為一個變量。

第二區域,為數據存儲區域,主要用于存儲數據。第二區域在第一扇區內所占的
字節相對第一區域和第三區域較多。

第三區域,用于存儲計數標識符,計數標識符為用于標識扇區的數據擦寫次數是
否超過預設閾值的標識符。比如,當計數標識符為1時,表示該扇區的數據擦寫次數
已經超過了預設閾值,已經不能在該扇區進行數據擦寫,需要生成偏移量,轉移到下
一個扇區進行數據擦寫;當計數標識符為0時,表示該扇區的數據擦寫次數未超過預
設閾值,還可以在該扇區繼續進行數據擦寫。

第三區域內存儲的技術標識符的默認值為默認標識符,比如0,該默認標識符用
于標識第一扇區的數據擦寫次數未超過預設閾值。在檢測到第一扇區的數據擦寫次數
超過預設閾值時,將第一扇區的計數標識符標記為預設標識符,比如1,該預設標識
符用于標識第一扇區的數據擦寫次數達到預設閾值。

可選地,具有上述三段式結構的第一扇區還可以由FLASH存儲器中任意兩個相鄰
的扇區組成,即第一扇區為FLASH存儲器中任意兩個相鄰的扇區組成的扇區,這里可
以理解為第一扇區為一個總的扇區,其內部包括兩個子扇區。圖3是根據本發明第二
實施例的第一扇區結構示意圖,如圖3所示,第一扇區包括第一子扇區和第二子扇區,
第一子扇區由第一區域和第二區域組成,第二子扇區由第三區域組成。需要說明的是,
圖3所示的第一扇區的地址用于標識第一子扇區和第二子扇區,通常,第一扇區對應
的地址為第一子扇區的第一字節,即第一區域對應的地址。

可選地,步驟S102檢測第一扇區的數據擦寫次數是否超過預設閾值可以通過以下
兩種方法,即該實施例提供了兩種判斷第一扇區的數據擦寫次數是否超過預設閾值的
方法:第一種,通過讀取扇區第一區域存儲的數據擦寫次數,判斷該數據擦寫次數是
否超過預設閾值;第二種,通過讀取扇區第三區域存儲的計數標識符,判斷該計數標
識符是否與預設標識符相同,該預設標識符用于標識第一扇區的數據擦寫次數超過預
設閾值。設置兩種方法判斷扇區的數據擦寫次數是否超過預設閾值,使得該實施例的
用于FLASH存儲器的數據處理方法更加完整,提高了該方法的可靠性和實用性。

當檢測到第一扇區的數據擦寫次數超過預設閾值時,說明第一扇區不能再進行數
據擦寫,需要轉移到下一個扇區進行數據擦寫。扇區的轉移通過偏移地址的方式,即
在第一地址的基礎上生成偏移量,第一地址加上該偏移量生成第二地址,其中,第一
地址為第一扇區的地址,第二地址對應FLASH存儲器中除了第一扇區之外的任意一個
扇區,即第二扇區。需要說明的是,第二扇區為FLASH存儲器中除了第一扇區之外的
任意一個扇區,且第二扇區的數據擦寫次數此時還未超過預設閾值。優選地,該實施
例中的第二扇區與第一扇區為相鄰的扇區,第二地址與第一地址之間的偏移量為1。
需要說明的是,第二扇區與第一扇區也可以不相鄰,即第二地址與第一地址之間的偏
移量可以不為1,該實施例中的偏移量可以更加實際需求進行設定。

當檢測到第一扇區的數據擦寫次數未超過預設閾值時,說明第一扇區還可以繼續
進行數據擦寫,不需要進行扇區的轉移。可選地,當檢測到第一扇區的數據擦寫次數
未超過預設閾值時,該實施例的用于FLASH存儲器的數據處理方法在第一扇區進行數
據擦寫,并對數據擦寫次數進行計數,具體包括以下步驟:

步驟S1,擦除第一扇區的數據,并將數據擦寫次數加1;

步驟S2,檢測計數之后的數據擦寫次數是否達到預設閾值;

步驟S3,在檢測到計數之后的數據擦寫次數未達到預設閾值時,在第一扇區寫入
數據,返回至步驟S1;

步驟S4,在檢測到計數之后的數據擦寫次數達到預設閾值時,返回至步驟S104
至步驟S108,生成偏移量,將第一地址加上偏移量得到第二地址,在第二地址對應的
第二扇區進行數據擦寫。

需要說明的是,在第一扇區進行數據擦寫的過程與在第二扇區進行數據擦寫的過
程相同,此處不再對在第二扇區進行數據擦寫進行贅述。同樣地,在第一扇區進行數
據擦寫的過程也同樣適用于FLASH存儲器中滿足數據擦寫次數未超過預設閾值的任意
扇區。

可選地,在第一扇區進行數據擦寫之后,當檢測到第一扇區的數據擦寫次數超過
預設閾值時,需要將第一扇區內第三區域存儲的計數標識符標記為預設標識符,用于
標識該第一扇區的數據擦寫次數已經超過預設閾值。該操作有利于防止偏移地址再次
指向第一扇區時,能夠通過計數標識符直接判斷第一扇區的數據擦寫次數已經超過預
設閾值了,無需再對第一扇區的數據擦寫次數進行計數和判斷,從而提高了數據處理
效率。

該實施例的用于FLASH存儲器的數據處理方法通過將FLASH存儲器中每個扇區的
數據擦寫次數的差異控制在設定范圍內,消除了個別扇區可能由于數據擦寫次數過多
的問題,有效地提升了FLASH存儲器的使用壽命。同時,該實施例的用于FLASH存儲
器的數據處理方法通過建立FLASH存儲器扇區地址與日期的對應關系,能夠確保快速
準確地查找并讀取某日期的數據。

圖4是根據本發明可選實施例的用于FLASH存儲器的數據處理方法的流程圖,如
圖4所示,該方法可以包括以下步驟:

步驟S401,初始化,建立日期與FLASH存儲器內扇區地址的對應關系,比如第一
扇區的地址,即第一地址對應第一日期。系統初始化時,根據當前日期生成一個地址
ADR,該地址ADR為扇區的首地址,執行步驟S402。

步驟S402,讀取扇區的計數標識符,該計數標識符位于扇區的第三區域內,用于
標識扇區的數據擦寫次數是否超過預設閾值,第三區域用于存儲扇區的計數標識符。
如果該扇區的計數標識符為預設標識符,比如1,其中,預設標識符用于標識該扇區
的數據擦寫次數超過預設閾值,說明該扇區的數據擦寫次數過多,需要將數據擦寫操
作轉移到數據擦寫次數較少的扇區。在讀取扇區的計數標識符之后,執行步驟S403。

步驟S403,判斷扇區的數據擦寫次數是否超過預設閾值,可以通過讀取的計數標
識符或者通過讀取扇區第一區域內存儲的數據擦寫次數。當判斷出扇區的數據擦寫次
數超過預設閾值時,執行步驟S408,當判斷出扇區的數據擦寫次數未超過預設閾值時,
執行步驟S404。

步驟S404,擦除該扇區。

步驟S405,將該扇區的數據擦寫次數加1;

步驟S406,判斷計數后的數據擦寫次數是否超過預設閾值,當超過預設閾值時,
執行步驟S409,當未超過預設閾值時,執行步驟S407。

由于FLASH存儲器中的扇區每次寫入數據時都需要先對扇區進行擦除操作,每次
擦寫時需要在扇區的首位置記錄數據擦寫次數,每對扇區進行一次擦除操作時,都會
將數據擦寫次數執行加1操作,并判斷計數后的數據擦寫次數是否超過預設閾值。當
數據擦寫次數超過預設閾值時,對扇區的計數標識符進行標記,表明該扇區的數據擦
寫次數過多,需要進行切換;當數據擦寫次數未超過預設閾值時,才執行數據寫入操
作。

步驟S407,在該扇區寫入數據。如果需要再次對該扇區進行數據擦寫,需要返回
步驟S404。在寫入數據之后,需要判斷當天內是否生成偏移地址,即執行步驟S410。

步驟S408,生成偏移地址。當檢測到該扇區的數據擦寫次數超過預設閾值時,在
原地址上加上偏移地址offset,指向另一個扇區(該扇區的地址為ADR+offset),然
后通過讀取該扇區的首位地址,讀取其數據擦寫次數,然后對該扇區進行數據擦寫操
作,數據擦寫過程如步驟S404至步驟S407。

步驟S409,該寫計數標識符,將計數標識符標記為預設標識符,比如1,用來表
示該扇區的數據擦寫次數已經超過預設閾值,不能再在該扇區進行數據擦寫了,需要
轉移到別的扇區進行數據擦寫。在標記計數標識符之后,會生成偏移地址,轉移到下
一個數據擦寫次數未超過預設閾值的扇區,即執行步驟S408。

步驟S410,判斷當天內是否有偏移,即當天內是否生成偏移地址,如果當天內生
成偏移地址,執行步驟S411,如果當天內未生成偏移地址,返回步驟S401。

步驟S411,如果當天內生成偏移地址,需要將當天對應的扇區地址進行更改,或
者將偏移地址數據寫回原地址,并將原地址對應的扇區的數據擦寫次數加1。

該實施例的用于FLASH存儲器的數據處理方法通過判斷扇區的數據擦寫次數是否
超過預設閾值,當超過預設閾值時,通過偏移地址轉移至下一個數據擦寫次數未超過
預設閾值的扇區進行數據擦寫,達到了均衡FLASH存儲器中多個扇區的數據擦寫次數
的目的,進而解決了相關技術中由于單個扇區的數據擦寫次數過多導致的FLASH存儲
器使用壽命降低的技術問題,達到了提高FLASH存儲器使用壽命的效果。同時,該實
施例的用于FLASH存儲器的數據處理方法通過建立日期與扇區地址的對應關系,能夠
便于快速查找并讀取該日期對應的數據。

根據本發明實施例,提供了一種用于FLASH存儲器的數據處理裝置的裝置實施例,
需要說明的是,該實施例的用于FLASH存儲器的數據處理裝置可以執行本發明實施例
中的用于FLASH存儲器的數據處理方法,本發明實施例中的用于FLASH存儲器的數據
處理方法也可以在該實施例的用于FLASH存儲器的數據處理裝置中執行。

圖5是根據本發明實施例的用于FLASH存儲器的數據處理裝置的示意圖,如圖5
所示,該用于FLASH存儲器的數據處理裝置包括:

第一檢測模塊50,用于檢測第一扇區的數據擦寫次數是否超過預設閾值;

第一生成模塊52,用于在檢測到第一扇區的數據擦寫次數超過預設閾值時,生成
偏移量;

第二生成模塊54,用于將第一地址加上偏移量得到第二地址,其中,第一地址為
第一扇區的地址;

第一數據擦寫模塊56,用于在第二地址對應的第二扇區進行數據擦寫。

該實施例的用于FLASH存儲器的數據處理裝置中的第一檢測模塊50可以執行本發
明實施例中的步驟S102,檢測第一扇區的數據擦寫次數是否超過預設閾值;第一生成
模塊52可以執行本發明實施例中的步驟S104,在檢測到第一扇區的數據擦寫次數超
過預設閾值時,生成偏移量;第二生成模塊54可以執行本發明實施例中的步驟S106,
將第一地址加上偏移量得到第二地址,其中,第一地址為第一扇區的地址;第一數據
擦寫模塊56可以執行本發明實施例中的步驟S108,在第二地址對應的第二扇區進行
數據擦寫。通過該實施例的用于FLASH存儲器的數據處理裝置可以解決相關技術中由
于單個扇區的數據擦寫次數過多導致的FLASH存儲器使用壽命降低的技術問題,達到
提高FLASH存儲器使用壽命的效果。

FLASH存儲器中包括一個或者多個扇區,每個扇區的數據擦寫次數均有一個上限
值,當扇區的數據擦寫次數超過上限值時,將會導致FLASH存儲器報廢,無法使用。
本發明實施例為FLASH存儲器中的每個扇區設定有數據擦寫次數閾值,該數據擦寫次
數閾值為第一檢測模塊50中的預設閾值,該預設閾值小于扇區的數據擦寫次數的上限
值,以達到提高FLASH存儲器使用壽命的目的。

FLASH存儲器中每個扇區均對應有一個唯一地址,比如第一扇區的地址為第一地
址。可選地,FLASH存儲器中扇區的地址與日期存在對應關系,比如,第一日期對應
第一地址,即第一日期內的數據存儲在第一地址對應的第一扇區內。由于FLASH存儲
器中扇區的地址與日期的對應關系受扇區的數據擦寫次數的影響,該實施例的用于
FLASH存儲器的數據處理裝置還可以包括:修改模塊,用于在檢測到第一日期內生成
偏移量時,將第一日期對應的地址修改為第二地址,即,第一日期對應第一地址,但
是,在第一日期內,如果第一地址對應的第一扇區的數據擦寫次數超過預設閾值時,
即在檢測到第一日期內生成偏移量時,將會轉移到第二地址對應的第二扇區內對數據
進行擦寫操作,則第一日期對應的地址將會被修改為第二地址。建立日期與扇區地址
的對應關系,有利于快速查找并讀取某一日期的數據。

可選地,當檢測到第一日期內生成偏移量時,還可以將第二地址對應的扇區內存
儲的數據直接寫入第一扇區,并相應地將第一扇區的數據擦寫次數加1,采用這種方
式第一日期對應的扇區地址不變,還為第一地址,只是將第一地址對應的扇區內存儲
的數據進行了替換,也能夠確保快速查找并讀取第一日期的數據。

可選地,當檢測到第一日期內生成偏移量時,還可以在第一扇區設置第四區域,
用于存儲偏移地址,當需要讀取第一日期的數據時,根據第一日期與第一地址的對應
關系,首先找到第一地址,然后根據第一扇區內存儲的偏移地址,再鏈接到第二地址,
其中,第二地址為第一地址加上偏移地址指向的地址,通過讀取第二地址對應的扇區
內存儲的數據實現讀取第一日期的數據。

第一檢測模塊50中的第一扇區為FLASH存儲器中的任意一個扇區,并不限定第一
扇區為FLASH存儲器中的首地址對應的扇區,即本發明實施例的用于FLASH存儲器的
數據處理裝置可以適用于FLASH存儲器中的全部或者部分扇區的數據擦寫。

可選地,第一扇區可以為三段式結構,如圖2所示,第一扇區可以包括:

第一區域,用于存儲第一扇區的數據擦寫次數,第一區域通常為第一扇區的第一
字節,第一區域內存儲的數據擦寫次數為一個變量。

第二區域,為數據存儲區域,主要用于存儲數據。第二區域在第一扇區內所占的
字節相對第一區域和第三區域較多。

第三區域,用于存儲計數標識符,計數標識符為用于標識扇區的數據擦寫次數是
否超過預設閾值的標識符。比如,當計數標識符為1時,表示該扇區的數據擦寫次數
已經超過了預設閾值,已經不能在該扇區進行數據擦寫,需要生成偏移量,轉移到下
一個扇區進行數據擦寫;當計數標識符為0時,表示該扇區的數據擦寫次數未超過預
設閾值,還可以在該扇區繼續進行數據擦寫。

第三區域內存儲的技術標識符的默認值為默認標識符,比如0,該默認標識符用
于標識第一扇區的數據擦寫次數未超過預設閾值。在檢測到第一扇區的數據擦寫次數
超過預設閾值時,將第一扇區的計數標識符標記為預設標識符,比如1,該預設標識
符用于標識第一扇區的數據擦寫次數達到預設閾值。

可選地,具有上述三段式結構的第一扇區還可以由FLASH存儲器中任意兩個相鄰
的扇區組成,即第一扇區為FLASH存儲器中任意兩個相鄰的扇區組成的扇區,這里可
以理解為第一扇區為一個總的扇區,其內部包括兩個子扇區。如圖3所示,第一扇區
包括第一子扇區和第二子扇區,第一子扇區由第一區域和第二區域組成,第二子扇區
由第三區域組成。需要說明的是,圖3所示的第一扇區的地址用于標識第一子扇區和
第二子扇區,通常,第一扇區對應的地址為第一子扇區的第一字節,即第一區域對應
的地址。

可選地,第一檢測模塊50檢測第一扇區的數據擦寫次數是否超過預設閾值可以通
過以下兩種方法,即該實施例提供了兩種判斷第一扇區的數據擦寫次數是否超過預設
閾值的方法:第一種,通過讀取扇區第一區域存儲的數據擦寫次數,判斷該數據擦寫
次數是否超過預設閾值;第二種,通過讀取扇區第三區域存儲的計數標識符,判斷該
計數標識符是否與預設標識符相同,該預設標識符用于標識第一扇區的數據擦寫次數
超過預設閾值。設置兩種方法判斷扇區的數據擦寫次數是否超過預設閾值,使得該實
施例的用于FLASH存儲器的數據處理方法更加完整,提高了該方法的可靠性和實用性。

當第一檢測模塊50檢測到第一扇區的數據擦寫次數超過預設閾值時,說明第一扇
區不能再進行數據擦寫,需要轉移到下一個扇區進行數據擦寫。扇區的轉移通過偏移
地址的方式,即在第一地址的基礎上生成偏移量,第一地址加上該偏移量生成第二地
址,其中,第一地址為第一扇區的地址,第二地址對應FLASH存儲器中除了第一扇區
之外的任意一個扇區,即第二扇區。需要說明的是,第二扇區為FLASH存儲器中除了
第一扇區之外的任意一個扇區,且第二扇區的數據擦寫次數此時還未超過預設閾值。
優選地,該實施例中的第二扇區與第一扇區為相鄰的扇區,第二地址與第一地址之間
的偏移量為1。需要說明的是,第二扇區與第一扇區也可以不相鄰,即第二地址與第
一地址之間的偏移量可以不為1,該實施例中的偏移量可以更加實際需求進行設定。

當第一檢測模塊50檢測到第一扇區的數據擦寫次數未超過預設閾值時,說明第一
扇區還可以繼續進行數據擦寫,不需要進行扇區的轉移。可選地,當第一檢測模塊50
檢測到第一扇區的數據擦寫次數未超過預設閾值時,該實施例的用于FLASH存儲器的
數據處理裝置還可以包括:第二數據擦寫模塊,用于在檢測到第一扇區的數據擦寫次
數未超過預設閾值時,在第一扇區進行數據擦寫,并對數據擦寫次數進行計數,其中
第二數據擦寫模塊可以包括:

擦除模塊,用于擦除第一扇區的數據,并將數據擦寫次數加1;

第二檢測模塊,用于檢測計數之后的數據擦寫次數是否達到預設閾值;

寫入模塊,用于在檢測到計數之后的數據擦寫次數未達到預設閾值時,在第一扇
區寫入數據;

第三生成模塊,用于在檢測到計數之后的數據擦寫次數達到預設閾值時,生成偏
移量,將第一地址加上偏移量得到第二地址,在第二地址對應的第二扇區進行數據擦
寫。

需要說明的是,在第一扇區進行數據擦寫的過程與在第二扇區進行數據擦寫的過
程相同,此處不再對在第二扇區進行數據擦寫進行贅述。同樣地,在第一扇區進行數
據擦寫的過程也同樣適用于FLASH存儲器中滿足數據擦寫次數未超過預設閾值的任意
扇區。

可選地,該實施例的用于FLASH存儲器的數據處理裝置還可以包括:標記模塊,
用于在檢測到第一扇區的數據擦寫次數超過預設閾值時,將第一扇區的計數標識符標
記為預設標識符,其中,預設標識符用于標識第一扇區的數據擦寫次數達到預設閾值。
在通過第二數據擦寫模塊對第一扇區進行數據擦寫之后,當第一檢測模塊50檢測到第
一扇區的數據擦寫次數超過預設閾值時,通過標記模塊將第一扇區內第三區域存儲的
計數標識符標記為預設標識符,用于標識該第一扇區的數據擦寫次數已經超過預設閾
值。該操作有利于防止偏移地址再次指向第一扇區時,能夠通過計數標識符直接判斷
第一扇區的數據擦寫次數已經超過預設閾值了,無需再對第一扇區的數據擦寫次數進
行計數和判斷,從而提高了數據處理效率。

通過實施例的用于FLASH存儲器的數據處理裝置,能夠消除了個別扇區可能由于
數據擦寫次數過多的問題,能夠有效地提升了FLASH存儲器的使用壽命。同時,該實
施例的用于FLASH存儲器的數據處理裝置能夠建立FLASH存儲器扇區地址與日期的對
應關系,能夠確保快速準確地查找并讀取某日期的數據。

上述本發明實施例序號僅僅為了描述,不代表實施例的優劣。

在本發明的上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有
詳述的部分,可以參見其他實施例的相關描述。

在本申請所提供的幾個實施例中,應該理解到,所揭露的技術內容,可通過其它
的方式實現。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,
可以為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件
可以結合或者可以集成到另一個系統,或一些特征可以忽略,或不執行。另一點,所
顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模
塊的間接耦合或通信連接,可以是電性或其它的形式。

所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯
示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到
多個單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案
的目的。

另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以
是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成
的單元既可以采用硬件的形式實現,也可以采用軟件功能單元的形式實現。

所述集成的單元如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,
可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發明的技術方案本質
上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產品的
形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一
臺計算機設備(可為個人計算機、服務器或者網絡設備等)執行本發明各個實施例所
述方法的全部或部分步驟。而前述的存儲介質包括:U盤、只讀存儲器(ROM,Read-Only
Memory)、隨機存取存儲器(RAM,RandomAccessMemory)、移動硬盤、磁碟或者光盤
等各種可以存儲程序代碼的介質。

以上所述僅是本發明的優選實施方式,應當指出,對于本技術領域的普通技術人
員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤
飾也應視為本發明的保護范圍。

關 鍵 詞:
用于 FLASH 存儲器 數據處理 方法 裝置
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:用于FLASH存儲器的數據處理方法和裝置.pdf
鏈接地址:http://www.rgyfuv.icu/p-6345551.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
山东11选5中奖结果走势图