前述のように、Windowsはセクターというブロックの単位でHDDやUSBメモリーなどを読み書きする。これとフラッシュメモリーを構成するページ/ブロックとの関係、あるいはWindows上で普段目にする“ファイル”との関係が分かりづらいので説明しておこう。
LBAはハードを問わず
セクターはHDDなどのドライブ装置がデータを記録する際の最小単位で、LBA(Logical Block Addressing)という方式で管理される(図B)。磁気記録円盤などの記録領域を512バイト単位のセクターに分割し、全セクターに通し番号(LBAのアドレス)を振る。ドライブ装置はLBAのアドレスを指定してセクター単位で読み書きされる。このような装置をブロックデバイスという。
LBAはもともとHDDなど円盤状の記録メディアを前提としたものだが、USBメモリーなどのフラッシュメモリーメディアもこの方式で読み書きされる。Logicalという名の通りLBAのアドレスは論理的なもので、メディアの形状や実装方法を問わない。Windowsのデバイスドライバー(機器制御ソフト)はLBAのアドレスを指定して、機器の制御チップに読み書き命令を送る。だが、その後で制御チップがどう処理するかは関知しない。HDDではLBAのアドレスと物理的な記録領域が固定的に決まっているが、フラッシュメモリーは可変方式。制御チップがLBAのアドレスと実際のページ/ブロックの関係を管理しており、それをダイナミックに変更する。