前述のように、Windowsはセクターというブロックの単位でHDDやUSBメモリーなどを読み書きする。これとフラッシュメモリーを構成するページ/ブロックとの関係、あるいはWindows上で普段目にする“ファイル”との関係が分かりづらいので説明しておこう。

LBAはハードを問わず

 セクターはHDDなどのドライブ装置がデータを記録する際の最小単位で、LBA(Logical Block Addressing)という方式で管理される(図B)。磁気記録円盤などの記録領域を512バイト単位のセクターに分割し、全セクターに通し番号(LBAのアドレス)を振る。ドライブ装置はLBAのアドレスを指定してセクター単位で読み書きされる。このような装置をブロックデバイスという。

【WindowsはLBA方式でドライブにアクセスする】
図B 通常、WindowsではLBAという方式を使ってHDDなどのドライブ装置にアクセスする。LBAでは記録領域を512バイトのセクターに分割して通し番号を振る。Windowsはこの通し番号を指定してデバイスドライバー経由でデータを読み書きする
[画像のクリックで拡大表示]

 LBAはもともとHDDなど円盤状の記録メディアを前提としたものだが、USBメモリーなどのフラッシュメモリーメディアもこの方式で読み書きされる。Logicalという名の通りLBAのアドレスは論理的なもので、メディアの形状や実装方法を問わない。Windowsのデバイスドライバー(機器制御ソフト)はLBAのアドレスを指定して、機器の制御チップに読み書き命令を送る。だが、その後で制御チップがどう処理するかは関知しない。HDDではLBAのアドレスと物理的な記録領域が固定的に決まっているが、フラッシュメモリーは可変方式。制御チップがLBAのアドレスと実際のページ/ブロックの関係を管理しており、それをダイナミックに変更する。

この先は会員の登録が必要です。有料会員(月額プラン)は初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら