USBメモリの構造・動作

USBメモリとは、データの保存や転送に使われるコンパクトで便利なデバイスです。正式には「USBフラッシュドライブ」とも呼ばれ、フラッシュメモリ技術を利用してデータを記録します。このデバイスは、パソコンやその他のデジタル機器のUSBポートに直接差し込んで使用します。サイズが小さく軽量であるため、ポケットやキーホルダーに簡単に取り付けて持ち運ぶことができます。

USBメモリではNAND型フラッシュメモリを利用してデータの記録が行われています。コントローラチップとフラッシュメモリが基板に乗っています。

NAND型フラッシュメモリとは

NAND型フラッシュメモリは、不揮発性記憶素子の一種で、1987年に開発されました。このメモリは回路規模が小さく、大容量化が容易であり、また、書き込みや消去が高速に行えるという利点があります。しかし、その一方で、バイト単位の書き換えが苦手という特性があります。

NAND型フラッシュメモリでは、メモリセルがビット線に対して直列に接続されています。メモリセルを駆動するためのソース線を複数のセルで共有しているため、書き込みは複数のビットを同時に行うことができ、これにより、NOR型フラッシュメモリに比べて大容量化と高速アクセスが可能になります。

ただし、複数のセルが共有されているため、データの書き込みや読み込みは「ページ」と呼ばれる複数ビット単位で行われ、データの消去は「ブロック」と呼ばれるページをまとめた単位で一括して行われます。フラッシュメモリでは、既存のデータが記録されたページに別のデータを直接上書きできないため、一旦ページ全体を消去する必要があります。さらに、この消去は該当するページを含むブロック全体で行われます。

具体的な処理の流れは以下の通りです:

  1. ブロック全体を制御チップ内の作業用メモリに読み出し、該当ページを更新します。
  2. 作業用メモリの内容を別のブロックに書き出します。
  3. 元のブロック全体を消去します。

このプロセスでは、元のブロックにデータを書き戻すのではなく、書き換え回数が少ないブロックが選ばれます。ほとんどの制御チップはブロック単位でデータを管理し、書き換え回数を統計して、書き換え回数の少ないブロックを優先的に選択します。

フラッシュメモリにおける“書き換え”は、Windows上で同じファイルを書き換えても、内部的には異なるセルにデータが記録され、その場所が管理情報に基づいて論理的に再配置されます。このプロセスはコントローラーによって管理されています。

一般的に、HDDやフロッピーディスク、DVD-RAMなどの記録領域はセクタと呼ばれるブロックに分割され、Windowsはセクタ番号を指定してデータを読み書きします。実際には、これらの命令はデバイスドライバを介してデバイスのコントローラーに送られます。

しかし、あるセクタのデータがメディアのどこに記録されるかはコントローラーに委ねられており、Windowsはこれを認識しません。そのため、USBメモリなどのフラッシュメモリでは、記録される場所が毎回変更されることがあります。一方、HDDやDVDなどでは、このようなデータの再配置は基本的に行われず、Windowsから見たセクタ番号は特定の記録領域に結びつけられています。

また、USBメモリが登場した当初は低速な「USB1.1」規格が採用されていましたが、現在では「USB2.0」やさらに高速な「USB3.0」規格が普及しています。USB3.0対応のメモリを使用する際は、パソコンもUSB3.0対応である必要があり、USB2.0端子に接続した場合はUSB2.0の速度で動作します。USB3.0の端子は、内側が青色になっているのが特徴です。

トップへ戻る