1999. 9. 29
デジカメ用の記録メディアとして現在主流のスマートメディアについて説明しましょう。
スマートメディアは、メモリカードの一種で、NAND型フラッシュメモリを薄いプラスチックのカードに封入した物です。構造が単純なため、単位容量当たりのコストは各種メモリカードの中で最も安くなっています。
NAND型フラッシュメモリは東芝の提唱するフラッシュメモリのアーキテクチャで、スマートメディアは NANDフラッシュを売りたいがためにでっち上げられた規格とも言えます (どのメモリカード規格もそういった思惑がらみなんですけど)。メモリチップを製造しているのは、いまのところ東芝とSamsungのようです。
スマートメディアが基本アーキテクチャで他の汎用メモリカードと決定的に違うところは、コントローラを内蔵していないということでしょう。つまり、メモリチップ単体をカードに封入しているだけで、その端子もメモリチップのがそのまま出ているだけなのです。NANDフラッシュのデータシートを見ても、TSOPかカードかは型番の添字の違いだけで区別されているのが分かります(左の図は東芝のデータシートからの引用)。このようにコントローラを内蔵しないこともコストを下げる要因となっています。メモリチップ単体というところではミニチュアカードも同じなのですが、こちらは普通の NORフラッシュそのままなので接点数が膨大で形状も特殊なので、全く普及していません。
しかし、メモリチップ単体をそのまま汎用メディアにしたことが互換性の点で大きな問題を起こしてしまいました。メモリチップの仕様変更が互換性に直接影響してしまうことになってしまったのです。このため、発表以来現在までスマートメディア対応機器は互換性との闘いだったようです。スマートメディアのたどってきた軌跡を簡単に振り返ってみると次のようになります。
このように、大容量メディアが出るたびに何らかの互換性問題が発生していたわけです。もっとも、スペック表に載っていないメディアに対応しないのはその機器の仕様なので、それが問題というわけではないのですが。でも、多くのユーザはそうは思っていないのですけどね(^ ^;。
NAND型フラッシュメモリには普通のメモリのようなアドレス入力がありません。8ビットの I/Oポートと数本の制御線があるのみで、それらを使ってコマンドやアドレスを与えて、ページを単位としてアクセスするのです。コマンド形式でページ単位でアクセスという点では、メモリというより HDDに近いといえます。
NANDフラッシュのメモリアレイは 528バイト単位で区切られていて、この単位をページといいます。メモリチップには 1ページ分のバッファがあり、コマンドでメモリセルからバッファに転送したり、バッファの内容をメモリセルに書き込んだりします。外部からはこのバッファに対して読み書きします。
消去については、ページ単位でなく16または 32ページ単位(これをブロックという)で実行します。消去もページ単位でできれば良かったのですが、これは NAND型というメモリセルの構造上仕方ないでしょう。
NANDフラッシュのデータ転送速度はとても高速です。メモリセルからバッファへの転送が数μsec、バッファから外部へは 50nsサイクルで読み出せます。連続読み出しの場合、平均すると 15MB/sec程度となります。ただ、スマートメディアとしては使用機器がボトルネックになって、1割の性能も出ないのが普通です (実質 1MB/sec程度)。
NANDフラッシュを電子工作に応用するのは簡単です。普通のメモリに比べ配線数がずっと少ないので、容易に組み立てられます。必要な信号線は、8本のデータ線と、最低 5本の制御線だけです。もちろん、PICや AVRなどでも容易に制御できますので、大容量の記憶媒体を使いたい場合などには重宝するでしょう。ただ、8MB以上のものは、3.3V仕様なので、システムの電源電圧もそれに合わせる必要があります。
入手性の点では、スマートメディアならパソコンショップで容易に入手できるというのが魅力です。しかし、スマートメディアのソケットがパーツ屋でも殆ど売られていないので、マウントに難ありです(直にはんだ付けしてもいいんですが(笑))。
スマートメディアを独自フォーマットで書き換えた場合、フォーマット情報が破壊されてスマートメディア対応機器では二度と使えなくなるので注意が必要です。電子工作に使う場合は、それ専用と考えなければなりません。フォーマット仕様(ECCやブロック代替処理)はSSFDCフォーラムの会員以外には公開されていませんので、誰か解析してみませんか?