EEPROMとは?特徴や設計時の注意点を技術者向けに解説
2026年8月24日更新
この記事を書いた人

大手メーカー「コマツ」、「オムロン」などで7年間、アナログ回路エンジニアとして設計・評価業務に従事。
ECU、PLCなどのエレキ開発経験を多数持つほか、機械商社での就労経験も有する。
株式会社アイズ運営の機電系フリーランスエンジニア求人情報「FREEAID」専属ライターとして、
機電分野の知識と実務経験を活かし、専門性の高い記事執筆を行っている。
EEPROMは、電源を切っても保存したデータが消えない不揮発性メモリの一つです。マイコンの設定値や機器のパラメータ、校正値など、電源投入後も保持しておきたいデータの保存に利用されています。比較的少ない容量のデータを必要に応じて書き換えられることから、組み込み機器や産業機器などで幅広く採用されています。この記事では、そんなEEPROMの仕組みや特徴、フラッシュメモリなどとの違い、設計時に押さえておきたいポイントを解説します。
EEPROMとは?

EEPROM(Electrically Erasable Programmable Read-Only Memory)とは、電気的にデータの消去や書き換えが可能な不揮発性メモリです。不揮発性メモリとは、電源を切っても保存したデータが失われないメモリを指します。
EEPROMは、マイコンなどからデータを書き込んだ後に電源を切っても、そのデータを保持できます。そのため、機器の動作設定値やユーザー設定、センサーの校正値、製造時に書き込む固有情報など、電源投入後も保持する必要があるデータの保存に利用されます。
EEPROMは、比較的小容量のデータを保存する用途として、組み込み機器や産業機器などによく搭載されています。そのため、I2CやSPIなどのシリアルインターフェースに対応した製品が多く、マイコンと簡単に接続し外付けの不揮発性メモリとして利用できるようになっています。
EEPROMの特徴

EEPROMは、比較的小容量のデータを必要なタイミングで書き換えられることが特徴です。例えば、機器の設定値やセンサーの校正値など、容量は小さいものの、製品の使用中に変更される可能性があるデータの保存に適しています。同じ不揮発性メモリであるNORフラッシュと比較すると、保存するデータの容量や書き換え方の違いがあります。
NORフラッシュは比較的大容量のデータを保存でき、マイコンのプログラムコードやファームウェアなどの保存に適しています。一方、EEPROMは比較的小容量のデータを部分的に書き換える用途に適しており、機器の設定値やセンサーの校正値などの保存に利用されます。
ただし、EEPROMの書き換え回数には上限があるほか、データの書き込みには一定の時間が必要です。そのため、実際の設計では、保存するデータの種類や更新頻度を考慮してEEPROMの仕様を選定する必要があります。
EEPROMの選定で確認するポイント

EEPROMを回路に組み込む際は、メモリ容量だけでなく、通信方式や電源、書き込み保護などの仕様を確認する必要があります。
通信インターフェースを確認する
EEPROMには、I2CやSPIなどの通信インターフェースに対応した製品があります。I2C対応のEEPROMでは、SCLとSDAの2本の信号線を使用してマイコンと通信します。I2Cの場合はプルアップ抵抗が必要になるほか、デバイスアドレスの設定方法や通信速度なども確認する必要があります。
SPI対応のEEPROMでは、一般的にSCLK、MOSI、MISO、CSなどの信号線を使用します。SPIの通信速度や通信モードなど、マイコン側の設定がEEPROMの仕様に適合しているか確認する必要があります。また、同じ通信バスに複数のEEPROMや他のデバイスを接続する場合は、I2CのデバイスアドレスやSPIのCS信号などを考慮し、通信対象を正しく選択できるように設計します。
電源電圧や動作条件を確認する
EEPROMを選定する際は、動作電圧や消費電流などの電源仕様も確認する必要があります。特にマイコンとEEPROMで動作電圧が異なる場合は、信号レベルの整合性について検討が必要です。
例えば、マイコンが3.3V、EEPROMが5Vで動作する場合には、通信信号の電圧レベルが適合しているかを確認します。また、動作温度範囲などの環境条件も重要です。産業機器など、温度変化の大きい環境で使用する場合は、EEPROMの保証温度範囲を確認しておく必要があります。
ページサイズやアドレス構成を確認する
EEPROMの選定においては、メモリ容量だけでなく、アドレス構成やページサイズも確認する必要があります。EEPROMには複数バイトをまとめて書き込めるページ書き込み機能を備えた製品があります。ただし、一度に書き込めるデータ量には上限があり、その値は製品によって異なります。
また、ページの境界をまたいでデータを書き込む場合の動作にも注意が必要です。EPROMによっては、ページサイズを超えて書き込むとアドレスがページの先頭に戻るなど、意図しない動作になる場合があります。そのため、複数バイトのデータを書き込む場合は、ページサイズを確認し、必要に応じてページ単位にデータを分割して送信する必要があります。
書き込み保護を確認する
EEPROMには、意図しないデータの書き換えを防止するための書き込み保護機能を備えた製品があります。例えば、WP(Write Protect)端子を備えたEEPROMでは、端子の状態によってデータの書き込みを禁止できます。
機器の校正値や製造時に設定した情報など、通常の動作中には変更したくないデータを保存する場合、書き込み保護を利用することで誤操作やソフトウェアの不具合によるデータの書き換えを防止できます。
ただし、保護されるメモリ領域や設定方法は製品によって異なるため、データシートを確認して回路を設計する必要があります。
EEPROMのソフトウェア設計で確認するポイント

EEPROMをマイコンから使用する場合は、書き込み回数や書き込み時間だけでなく、電源断によるデータ破損なども考慮してソフトウェアを設計する必要があります。
書き換え回数を考慮する
EEPROMには書き換え回数の上限があり、データシートには「Write Endurance」などの項目で規定されています。例えば、あるEEPROMの書き換え回数が10万回だったとしても、1日に100回書き込むシステムでは、
100回/日 × 365日 × 10年 = 365,000回
となり、10年間使用すると仕様上の書き換え回数を超えてしまいます。そのため、EEPROMの書き換え回数は単純にデータシートの数値を見るだけでなく、実際のシステムでどの程度の頻度で書き込むのかを考慮して評価する必要があります。
同じアドレスへ頻繁に書き込む必要がある場合は、複数のアドレスを順番に使用して書き込み回数を分散する方法もあります。こうした方法はウェアレベリングと呼ばれ、特定のメモリ領域への書き込み集中を避けるために利用されます。
書き込み時間を考慮する
EEPROMは、データを書き込んだ後に内部で書き込み処理を行うため、データの送信が完了した直後から次の書き込みを実行できるとは限りません。この書き込み処理に必要な時間は、データシートに「Write Cycle Time」などとして記載されています。
マイコン側では、書き込み完了まで待機する処理や、EEPROMへのアクセスによって書き込み完了を確認する処理などが必要になる場合があります。特に複数のデータを連続して保存する場合は、書き込み時間によってシステム全体の処理時間が長くなる可能性があります。そのため、通信速度だけでなく、EEPROM内部の書き込み時間も含めて処理時間を検討することが重要です。
電源断によるデータ破損を考慮する
EEPROMへの書き込み中に電源が切れた場合、書き込もうとしていたデータが正常に保存されない可能性があります。例えば、機器の設定値を1か所に保存していて、そのデータを上書きしている途中で電源が切れると、保存されていたデータが不完全な状態になる可能性があります。
このような問題への対策として、同じデータを複数の領域に保存したり、データにCRCなどのチェック値を付加したりする方法があります。例えば、2か所にデータを保存し、それぞれにバージョン番号やCRCを付加しておけば、電源投入時にどちらのデータが正常なのかを判定できます。
また、電源断を検出してからEEPROMへデータを書き込む設計では、電源断後に書き込みを完了できるだけの時間や電源保持能力があるか、ハードウェア側も含めて検討する必要があります。
不要な書き込みを減らす
EEPROMの書き換え回数には制限があるため、必要以上にデータを書き込まないことも重要です。例えば、設定値が変更されるたびにEEPROMへ書き込むのではなく、マイコンのRAM上で変更内容を保持し、設定変更を確定したタイミングでEEPROMへ保存する方法があります。
また、装置の動作中に変化するカウンタ値などを毎回EEPROMへ保存するのではなく、一定回数ごとに保存する方法もあります。このように、EEPROMへの書き込み頻度をソフトウェア側で抑えることで、メモリの寿命を延ばすことができます。
まとめ
EEPROMは、電源を切ってもデータを保持できる不揮発性メモリであり、マイコンの設定値や校正値、機器固有の情報などの保存に利用されています。比較的小容量のデータを部分的に書き換える用途に適しており、I2CやSPIなどのインターフェースに対応した製品も多くあります。
一方で、EEPROMを実際の製品に組み込む際には、メモリ容量だけでなく、通信インターフェース、動作電圧、ページサイズ、書き込み保護などの仕様を確認する必要があります。
また、ソフトウェア側では、書き換え回数や書き込み時間を考慮するとともに、電源断によるデータ破損や不要な書き込みを防ぐための設計も重要です。EEPROMの特徴や制約を理解し、ハードウェアとソフトウェアの両面から適切に設計することで、機器の設定値や各種パラメータを長期間安定して保存できるシステムを実現できます。
当サイトFREE AIDは、機電系を始めとしたエンジニアのフリーランス専門求人を扱っています。
→機電系フリーランスエンジニア求人はこちら
また、フリーランスエンジニアとして働きたい方に合った案件探しや専門アドバイザーの活動サポートも無料で行っています。
→フリーランス無料支援に興味がある方はこちら
この記事の運営元:日総工産株式会社
さまざまな分野において事業を展開しています。
「アウトソーシング」「ビジネスソリューション」「エンジニアリング」「ファクトリーオートメーション」の4つの事業を柱に、製造業やICT分野の課題解決を力強くサポートする、
フリーランスの機電系エンジニア求人情報サイト「FREE AID」を運営しています。
機電系求人はこちら
設計技術者(樹脂、金属部品)
- 単価
40~50万円
- 職種
- 機械設計
- 詳細を見る
FPGAの設計開発:電気電子設計
- 単価
70~80万円
- 職種
- 電気電子設計
- スキル
- ・FPGA論理設計、RTLコーディング、論理検証環境構築、論理検証・RTLコード:VHDL・論理検証ツール:Siemens製Questa/ModelSIM
- 地域
- 東京
- ポイント
- #高単価
- 詳細を見る
UI画面の設計業務:電気電子設計
- 単価
64〜万円
- 職種
- 開発
- 電気電子設計
- スキル
- 必要スキル: ・電源回路は複数回経験し、設計動作確認など、一人でもある程度やるべきことが分かる。 ・数十頁のデータシートを読み、要求仕様(タイミング/電圧など)が理解できる ・その他左記の回路の種類の中で、回路設計の実務経験が1回以上ある。 ・回路修正ができる(半田付け、ジャンパー処理)
- 地域
- 関西
- ポイント
- #業務委託#駅近
- 詳細を見る
【急募】工作機械メーカーにおける自社製品の制御設計
- 単価
40~50万円
- 職種
- 電気電子設計
- スキル
- 基本的なPCスキル産業用機械・装置の電気設計経験
- 地域
- 山梨県
- ポイント
- #業務委託
- 詳細を見る


