題:
EEPROM的實際壽命是多少?
Marlon Abeykoon
2014-02-15 10:09:14 UTC
view on stackexchange narkive permalink

ATMEL說EEPROM單元的單元壽命約為100,000個寫週期/單元,這實際上是EEPROM在野外的表現嗎?

如果我不更改單元的值,是否這壓力一生嗎?例如,如果我一次又一次將值 0xFF 寫入同一單元格,這與寫入 0x00 0xFF 0x00

五 答案:
Cybergibbons
2014-02-15 13:33:52 UTC
view on stackexchange narkive permalink

如您所述,內部EEPROM的壽命為100,000個寫週期。這不是猜測-很大一部分ATmega328可以毫無問題地達到這個數字。我之前已經測試了三個處理器,所有處理器都達到了150,000個週期,而且沒有問題。大多數“ EEPROM破壞器”項目會反復進行讀/寫操作,直到完全不寫入數據為止。在此之前,EEPROM仍然會損壞。這將通過在合理的時間內未保留數據來體現。因此,依靠超過100,000個寫週期是不明智的。

EEPROM與ATmega上的RAM不同。編寫它不是簡單或快速的,但是將它包裝在友好的Arduino庫中,向用戶隱藏了這種複雜性。

間接的第一層是 EEPROM庫,這非常簡單],只需調用另外兩個函數進行讀寫。此函數調用eeprom_write_byte,可在此處找到。

此函數使用內聯彙編,因此可能不容易理解。有一句話很容易理解:

設置編程模式:擦除和寫入

這暗示了處理EEPROM的複雜性之一-要編寫toit,首先需要擦除它。這意味著如果您調用EEPROM.write(),則無論您要寫入的值如何,它都會執行一個寫週期。

這意味著重複寫入0xFF與寫入0xFF,0x00可能具有相同的效果。 ,0xFF,0x00等。

有多種方法可以解決此問題-您可以嘗試在EEPROM.write()之前調用EEPROM.read()以查看該值是否已經相同,但這需要額外的時間。時間。

還有其他技術可以避免EEPROM過度磨損,但是其使用取決於您的應用程序。

EEPROM的損耗均衡:http://electronics.stackexchange.com/questions/60342/wear-leveling-on-a-microcontrollers-eeprom
-1
TheDoctor
2014-02-15 10:47:55 UTC
view on stackexchange narkive permalink

我曾經在外部EEPROM上進行過最大額定循環數百萬次的實驗。大約花費了600萬個週期才成為嚴重的腐敗,在此之前,它已經發生了零星的腐敗。

當您說不更改值時,我假設您多次將同一數據寫入一個地址。儘管幾乎不會對周圍的細胞造成壓力,但這幾乎可以肯定會給生命帶來壓力。

80HD
2014-02-15 14:47:32 UTC
view on stackexchange narkive permalink

http://hackaday.com/2011/05/16/destroying-an-arduinos-eeprom/

Arduino已插入壁式疣然後坐在“在沙發後面幾個月。” EEPROM在47天和1,230,163個週期後看到了第一次寫入錯誤。這比atmel數據表上的規格好一個數量級,但與類似實驗的結果類似。

這似乎太高了。我以前聽說過150k到200k,但是從來沒有聽說過:o
問題在於,這無法檢測到所有故障模式。當EEPROM損壞時,會逐漸減少其保留數據的時間。在100,000個週期內,Atmel保證20年的數據保留。除此之外,數據保留減少了。當達到1.2m個週期時,您會看到一個錯誤,這是一個立即錯誤。在1,230,160個週期中,可能沒有立即出現錯誤,但是數據可能只保留了幾天。
Jorge
2019-11-26 15:02:22 UTC
view on stackexchange narkive permalink

神奇的解決方案-如果您不想在寫之前編寫Cyber​​gibbons關於讀取的內容,則是EEPROM.update()函數。確實做到了:

EEPROM.update(address,value);

僅在值與已存儲的值不同的情況下才寫入內存並對其施加壓力。

Sasquatch
2020-01-03 01:49:34 UTC
view on stackexchange narkive permalink

幾年前,我為設備製造了運行時記錄器。以1s分辨率記錄6個月40小時後,內存被破壞=> 144000次寫入。我的解決方案是將寫入內容分散到整個eeprom中。

您能否提供有關如何執行此操作的更多詳細信息?


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...