メディア

メモリの種類と特長Q&Aで学ぶマイコン講座(37)(2/3 ページ)

» 2017年04月24日 11時00分 公開

 マイコンに搭載されているメモリは多種多様です。半導体メーカー各社が開発した特殊なタイプのメモリもあり、全てのメモリを説明することができません。そこで、本記事では、一般的な32ビットマイコンの「STM32ファミリー」(STマイクロエレクトロニクス製)に搭載されているメモリを中心に説明します。

不揮発性メモリ(Non-Volatile Memory)

 電源を切っても内容が残るメモリ(記憶装置)です。ICチップで使われているROMや、広い意味ではHDDや、フロッピーディスク(FDD)、磁気テープなども含まれますが、マイコンで使われているのはROMですので、ROMに絞って説明します。

 ROMは「Read Only Memory」の頭文字を取ったもので、その名のごとく「読み出し専用メモリ」です。「読み出し専用」と言っても、ユーザーが書き換えられないと不便なので、最近ではプログラマブルROM(Programmable ROM)と言って内容を書き換えられるROMも登場しています。記憶する方式や使い方によっていろいろなROMがあります。

図2:プログラマブルROMの記憶方式の概略イメージ (クリックで拡大)

1)フラッシュメモリ

 近年、マイコンに搭載されているROMはフラッシュメモリが主流です。電気的に消去と再書き込みが可能なので、ユーザーが簡単にプログラムコードを変更できます。メモリセル単体の書き換えの仕組みは、後述するEEPROMと全く同じ(図2参照)ですが、消去単位をEEPROMよりも大きくすることで、メモリモジュール全体のトランジスタ数を少なくしています。そのため、フラッシュメモリはバイトやビット単位での消去はできず、電気的にチップ全体(またはセクター単位)を一括消去する方式が主流です。同じ容量ならばEEPROMよりも小さい面積で作れるので、大容量のプログラマブルROMが実現できます。

 以前は製造コストが高かったので、あまり使われていませんでしたが、最近では製造コストが下がってきたので、マイコンの命令用のメモリとして多く使われています。もちろんデータ用としても使うこともできます。

【補足】

 フラッシュメモリにはNAND型とNOR型があります。NAND型は高集積化が可能で高速ですが、読み出し方式がブロック単位でしかできないので、一般的にマイコンにはバイト単位で読み出し可能なNOR型が使われています。

2)EEPROM

 フラッシュメモリと同じで、電気的に消去と再書き込みが可能なROMです。EEPROMの場合は、バイト単位での書き込み、消去が可能ですので、ユーザーはRAMと同じように使うことができます(ただし、書き換えには時間がかかります)。フラッシュメモリに比べると面積が大きくなるので、大容量をマイコンに搭載することはできません。そのため、主にデータ保存用として使われていて、特に電源を切っても残しておきたいデータ用に使われています。もちろん、命令用としても使えますが、容量があまり大きくないので小規模の命令コードにしか使えません。

3)その他のROM

 上記の他に、マスク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.

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.