EEPROMの実際の寿命は?


21

ATMELによると、EEPROMセルのセル寿命は1セルあたり約100,000書き込みサイクルです。これは実際にEEPROMが実際にどのように機能するのですか?

セルの値を変更しない場合、これは寿命に影響しますか?たとえば0xFF、同じセルに何度も値を書き込むと、、などの書き込み0x000xFFは異なりますか?0x00

回答:


19

述べているように、内部EEPROMの寿命は100,000書き込みサイクルです。これは推測ではありません。ATmega328のかなりの割合が問題なくこの数に達します。以前に3つのプロセッサをテストしましたが、すべてが問題なく150,000サイクルに達しました。

EEPROMの故障モードに注意することが重要です。ほとんどの「EEPROM destroyer」プロジェクトは、データがまったく書き込まれないまで繰り返し読み取り/書き込みを行います。この時点までに、EEPROMはまだ破損しています。これは、データが合理的な期間保持されないことで明らかになります。この理由から、100,000を超える書き込みサイクルに依存することは賢明ではありません。

EEPROMはATmegaのRAMとは異なります。それへの書き込みは簡単でも迅速でもありませんが、使いやすいArduinoライブラリにまとめられており、この複雑さをユーザーから隠しています。

インダイレクションの最初のレベルはEEPROMライブラリです。これは非常に簡単です。]読み取りと書き込みのために他の2つの関数を呼び出すだけです。ここにある eeprom_write_byteを呼び出します

この関数はインラインアセンブリを使用するため、簡単に理解できない場合があります。ただし、簡単に理解できるコメントがあります。

プログラミングモードの設定:消去と書き込み

これは、EEPROMを処理する複雑さの1つを示唆しています。書き込みを行うには、まず消去する必要があります。これは、EEPROM.write()を呼び出すと、書き込む値に関係なく書き込みサイクルを実行することを意味します。

これは、0xFFを繰り返し書き込むと、0xFF、0x00、0xFF、0x00などを書き込むのと同じ効果がある可能性が高いことを意味します。

これを回避する方法があります-EEPROM.write()の前にEEPROM.read()を呼び出して、値がすでに同じかどうかを確認できますが、これにはさらに時間がかかります。

EEPROMの過剰な磨耗を回避する他の手法がありますが、それらの使用はアプリケーションによって異なります。


3
EEPROMのためのウェアレベリング:electronics.stackexchange.com/questions/60342/...
jippie

9

私はかつて、最大100万サイクルの外部EEPROMで実験を行いました。主に破損するまでに約600万サイクルかかり、それ以前に散発的な破損が進行していました。

値を変更しないと言うとき、同じデータをアドレスに複数回書き込むと仮定しています。おそらく周囲の細胞にストレスをかけることはないでしょうが、これはほぼ確実に生命にストレスを与えるでしょう。


2

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

Arduinoは壁のいぼに差し込まれ、「数か月間ソファの後ろに」座っていました。EEPROMは、47日と1,230,163サイクル後に最初の書き込みエラーを検出しました。これは、atmelデータシートの仕様よりも1桁優れていますが、同様の実験の結果に似ています。


これはあまりにも高いようです。O:私は前に200Kに150Kのことを聞いたが、決してこのいた
asheeshr

5
問題は、これがすべての失敗モードを検出しないことです。EEPROMが破損すると、データを保持する時間が徐々に短くなります。100,000サイクルで、Atmelは20年間のデータ保持を保証します。これを超えると、データ保持が減少します。1.2mサイクルに達すると、エラーが表示される場合、これは即時のエラーです。1,230,160サイクルでは、すぐにエラーが発生したわけではありませんが、データは数日間しか保持されなかった可能性があります。
サイバーギボン14

0

魔法の解決策-Cyber​​gibbonsが書き込み前に読み取りについて言ったことをコーディングしたくない場合は、EEPROM.update()関数を使用します。それはまさにそれを行います:

EEPROM.update(アドレス、値);

値が既に保存されている値と異なる場合にのみ、メモリに書き込みとストレスをかけます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.