一種存儲器壽命測試算法
【技術領域】
[0001]本發明涉及存儲器領域,具體涉及一種存儲器壽命測試算法。
【背景技術】
[0002]存儲器是現代信息技術中用于保存信息的記憶設備,其概念很廣,有很多層次,在數字系統中,只要能保存二進制數據的都可以是存儲器;在集成電路中,一個沒有實物形式的具有存儲功能的電路也叫存儲器,如RAM、FIFO等;在系統中,具有實物形式的存儲設備也叫存儲器,如內存條、TF卡;計算機中全部信息,包括輸入的原始數據、計算機程序、中間運行結果和最終運行結果都保存在存儲器中。它根據控制器指定的位置存入和取出信息;有了存儲器,計算機才有記憶功能,才能保證正常工作;計算機中的存儲器按用途存儲器可分為主存儲器和輔助存儲器,也有分為外部存儲器和內部存儲器的分類方法;外存通常是磁性介質或光盤等,能長期保存信息;內存指主板上的存儲部件,用來存放當前正在執行的數據和程序,但僅用于暫時存放程序和數據,關閉電源或斷電,數據會丟失。
[0003]如今電能表都會采用存儲器對計量單元采集到的信息進行寫入與讀取,而如國家電網對于數據存儲的可靠性要求越來越高,在電能表10年壽命內,需要保證數據的安全可靠,防止出現糾紛;而對于一般的非易失性存儲器,如FLASH,擦寫壽命僅為10萬次左右,EEprom的擦寫次數也只有100萬次左右,存儲器有限的壽命對軟件的存儲算法就有了更高的要求。
[0004]在存儲器批量生產中,存儲器產品的一致性就會存在差異,不同批次的存儲器擦寫次數也會有不同,目前對批量供貨的存儲器的檢驗也只有電氣性能的檢驗,而沒有對于存儲器擦寫壽命的測試,使得存儲器的壽命不確定,無法為表計存儲算法和電能表的數據可靠性測試提供可靠、有效的依據。
【發明內容】
[0005]本發明的目的是提供能對存儲器擦寫壽命進行測試的算法。
[0006]本發明通過以下技術方案實現:一種存儲器壽命測試算法,存儲器壽命測試程序中加入計算器單元,根據存儲器的數據手冊設定額定壽命上限,再設定至少2倍額定壽命上限的極限壽命上限,步驟如下:
[0007]步驟a):存儲器壽命測試程序對存儲器進行檢測,檢測其讀寫次數是否超過極限壽命上限,如果讀寫次數超過極限壽命上限,則認定存儲器失效,達到最大擦寫壽命;如讀寫次數未超過極限壽命上限,則測試極限壽命上限的測試次數并增加一次測試次數,然后進入步驟b;
[0008]步驟b):在存儲器中寫入固定長度的數據,如寫入不成功,則判定寫入錯誤,返回重新寫入固定長度的數據,如寫入成功,進入步驟c ;
[0009]步驟c):在存儲器中讀取固定長度的數據,如讀取不成功,則判定讀取錯誤,返回進入步驟b ;如讀取成功,則進入步驟d ;
[0010]步驟d):讀取成功,判定寫入固定長度的數據與讀取固定長度的數據是否一致,如一致,則讀寫成功,返回進入步驟b ;如不一致,則進入步驟c ;如寫入固定長度的數據與讀取固定長度的數據連續出現若干次寫入與讀取不一致,則讀取存儲器中若干次讀取的固定長度的數據,并判斷若干次讀取的固定長度的數據是否一致,如一致,則判定寫入錯誤,返回進入步驟b,如不一致,則判定讀取錯誤,返回進入步驟b ;
[0011]步驟e):極限壽命上限的測試次數加一次測試次數的測試總次數測試完成后,讀取讀寫錯誤次數,并判定讀寫錯誤次數是否超過測試總次數的60%,如超過,則判定存儲器失效,達到最大擦與壽命;如未超過,則判定存儲器未失效。
[0012]存儲器保存操作次數,寫入錯誤次數,讀取錯誤次數,掉電后再次上電數據不會丟失,能繼續測試;測試數據可通過485通信方式讀取和清除。
[0013]在存儲器壽命測試程序中加入計算器單元,根據存儲器的數據手冊中說明的存儲器壽命上限設定額定壽命上限,再設定至少2倍額定壽命上限的極限壽命上限,再檢測其讀寫次數與極限壽命上限進行對比,并記錄讀寫次數;所述極限壽命上限為至少2倍額定壽命上限的存儲器壽命上限,一旦達到極限壽命上限,存儲器就會失效,無法再進行有效的擦寫;如果存儲器讀寫次數大于極限壽命上限,則判定存儲器失效,達到最大擦寫壽命;如存儲器讀寫次數未超過極限壽命上限,則測試極限壽命上限的測試次數并增加一次測試次數,然后連續對存儲器的存儲區域進行讀寫操作,每次寫入的固定長度的數據都不同,并記錄總的操作次數、總的寫入錯誤次數、總的讀取錯誤次數;極限壽命上限的測試次數加一次測試次數的測試總次數測試完成后,讀取讀寫錯誤次數,并判定讀寫錯誤次數是否超過測試總次數的60%,如超過,則判定存儲器失效,達到最大擦寫壽命;如未超過,則判定存儲器未失效。
[0014]本發明的有益之處在于:1)本存儲器壽命測試算法準確可靠,能夠測算出存儲器的壽命;2)存儲器本身的實際擦寫次數遠大于數據手冊中的擦寫次數,本發明得出精確的存儲器壽命,節省了成本,為存儲器的檢驗、電能表的數據可靠性測試和表計存儲算法提供了可靠、有力的依據。
【附圖說明】
[0015]圖1為本發明的步驟流程圖。
圖2為EEprom存儲器在高溫70度下EE讀寫次數的測試數據圖表。
圖3為EEprom存儲器在低溫-40度下EE讀寫次數的測試數據圖表。
圖4為Flash存儲器在高溫70度下EE讀寫次數的測試數據圖表。
圖5為Flash存儲器在低溫-40度下EE讀寫次數的測試數據圖表。
【具體實施方式】
[0016]下面結合附圖與【具體實施方式】,對本發明作進一步描述。
[0017]如圖1,一種存儲器壽命測試算法,存儲器壽命測試程序中加入計算器單元,根據存儲器的數據手冊設定額定壽命上限,再設定至少2倍額定壽命上限的極限壽命上限,步驟如下:
[0018]步驟a):存儲器壽命測試程序對存儲器進行檢測,檢測其讀寫次數是否超過極限壽命上限,如果讀寫次數超過極限壽命上限,則認定存儲器失效,達到最大擦寫壽命;如讀寫次數未超過極限壽命上限,則測試極限壽命上限的測試次數并增加一次測試次數,然后進入步驟b;
[0019]步驟b):在存儲器中寫入固定長度的數據,如寫入不成功,則判定寫入錯誤,返回重新寫入固定長度的數據,如寫入成功,進入步驟c ;
[0020]步驟c):在存儲器中讀取固定長度的數據,如讀取不成功,則判定讀取錯誤,返回進入步驟b ;如讀取成功,則進入步驟d ;
[0021]步驟d):讀取成功,判定寫入固定長度的數據與讀取固定長度的數據是否一致,如一致,則讀寫成功,返回進入步驟b ;如不一致,則進入步驟c ;如寫入固定長度的數據與讀取固定長度的數據連續出現若干次寫入與讀取不一致,則讀取存儲器中若干次讀取的固定長度的數據,并判斷若干次讀取的固定長度的數據是否一致,如一致,則判定寫入錯誤,返回進入步驟b,如不一致,則判定讀取錯誤,返回進入步驟b ;
[0022]步驟e):極限壽命上限的測試次數加一次測試次數的測試總次數測試完成后,讀取讀寫錯誤次數,并判定讀寫錯誤次數是否超過測試總次數的60%,如超過,則判定存儲器失效,達到最大擦與壽命;如未超過,則判定存儲器未失效。