マイコンに搭載されているメモリは多種多様です。半導体メーカー各社が開発した特殊なタイプのメモリもあり、全てのメモリを説明することができません。そこで、本記事では、一般的な32ビットマイコンの「STM32ファミリー」(STマイクロエレクトロニクス製)に搭載されているメモリを中心に説明します。
電源を切っても内容が残るメモリ(記憶装置)です。ICチップで使われているROMや、広い意味ではHDDや、フロッピーディスク(FDD)、磁気テープなども含まれますが、マイコンで使われているのはROMですので、ROMに絞って説明します。
ROMは「Read Only Memory」の頭文字を取ったもので、その名のごとく「読み出し専用メモリ」です。「読み出し専用」と言っても、ユーザーが書き換えられないと不便なので、最近ではプログラマブルROM(Programmable ROM)と言って内容を書き換えられるROMも登場しています。記憶する方式や使い方によっていろいろなROMがあります。
近年、マイコンに搭載されているROMはフラッシュメモリが主流です。電気的に消去と再書き込みが可能なので、ユーザーが簡単にプログラムコードを変更できます。メモリセル単体の書き換えの仕組みは、後述するEEPROMと全く同じ(図2参照)ですが、消去単位をEEPROMよりも大きくすることで、メモリモジュール全体のトランジスタ数を少なくしています。そのため、フラッシュメモリはバイトやビット単位での消去はできず、電気的にチップ全体(またはセクター単位)を一括消去する方式が主流です。同じ容量ならばEEPROMよりも小さい面積で作れるので、大容量のプログラマブルROMが実現できます。
以前は製造コストが高かったので、あまり使われていませんでしたが、最近では製造コストが下がってきたので、マイコンの命令用のメモリとして多く使われています。もちろんデータ用としても使うこともできます。
【補足】
フラッシュメモリにはNAND型とNOR型があります。NAND型は高集積化が可能で高速ですが、読み出し方式がブロック単位でしかできないので、一般的にマイコンにはバイト単位で読み出し可能なNOR型が使われています。
フラッシュメモリと同じで、電気的に消去と再書き込みが可能なROMです。EEPROMの場合は、バイト単位での書き込み、消去が可能ですので、ユーザーはRAMと同じように使うことができます(ただし、書き換えには時間がかかります)。フラッシュメモリに比べると面積が大きくなるので、大容量をマイコンに搭載することはできません。そのため、主にデータ保存用として使われていて、特に電源を切っても残しておきたいデータ用に使われています。もちろん、命令用としても使えますが、容量があまり大きくないので小規模の命令コードにしか使えません。
上記の他に、マスクROMやEPROM(Erasable Programmable ROM)があります。
マスクROMは、マイコンの製造工程で内容を作り込む方式のROMです。ユーザーは内容を書き換えられません。また、発注してから納入までに時間がかかるため、最近ではほとんど使われていません。
EPROMは、書き込みは電気的に行いますが、パッケージに窓が付いていて、そこから紫外線を当てて消去します。EPROMの中でも、1回だけ書き込めるものをOTP(One Time Programmable ROM)と呼びます。
安価な窓なしパッケージを使い、1回だけ書き込めて、以後消去できませんが、一般的なEPROMよりも、コストを安くできますので、フラッシュメモリが登場する前までは、よく使われていました。
STM32ファミリーの中にはOTP領域をもったフラッシュメモリ内蔵製品があります。1回書き込んだら、ロック(保護)を掛けて、書き換えられないようにできるエリアをOTPエリアと呼んでいます。誤書き換えや、ハッカーのプログラム改ざんからプログラムを守れます。
Copyright © ITmedia, Inc. All Rights Reserved.