不揮発性メモリとして、EEPROMとFLASHメモリがあります。
最近ではソケットを設けてSDカードを使用したり、SDカードと電気的に互換があるeMMCというものを使う場合もあります。
まぁ、SDもeMMCもFLASHメモリなので、最終的には「EEPROMかFLASHメモリか」という問題に行き着きます。
電源を切っても保存しておきたいデータ、どっちに保存します?
答えは、データサイズと書き換え頻度によります。
まずEEPROM。
これは数kB~数十kB程度のラインナップが多いです。
EEPROMで数十Mなんて一般的ではありません。
容量は小さいのですが、1バイト単位または64バイト単位などで読み書きできます。
つかり、小回りがきくのです。
ちょっとしたデータ「MACアドレス」「設定値」みたいなものをEEPROMに入れる場合があります。
安くて、容量が小さくて、数バイト単位で書き換えができて便利だからです。
次、FLASHメモリ。
これはSDカードなどでわかるように、128GBみたいなどでかいサイズまであります。
容量は圧倒的ですが、小回りがききません。
基本的に読み書きは512バイト単位が一般的です。
1バイト書き換えるだけでも、
「512バイトをRAMに転送」→「CPUでRAM上のデータ編集」→「RAMからFLASHに512バイト転送」
という手順が必要になります。
しかも、実際にはFLASHメモリの中のブロック単位が512kBという場合もあるので、
外から書き込むのは512バイトでも、中ではメガ単位の読み書きが発生していることが有ります。
ということで、「書き込むとまれにすごく待たされる」ことがあったりします。
さらに、SDやeMMCではなくNANDFLASHをそのまま使うと、エラー訂正などをCPU側で処理する必要が出てきます。
ということで、大きなデータを保持するときにはFLASHを使用します。
こんな雰囲気でございます。
以上、小田切でした。