容量の壁
すなわち、OSやコントローラー側とは従来通りLBAによる512バイト単位でデータのやり取りを行い、物理メディアとのやり取りは物理セクターサイズの4KiB単位で行う。これがAFT ("Advanced Format Technology") である。
Advanced Format Technology、AFT (en) は、HDD側の物理セクターサイズが4KiBであっても、OS、コントローラーからはセクターサイズ512バイトのHDDとしてアクセスできるようにエミュレーションを行う。
デバイスの物理セクターサイズよりも小さい単位での書き込みの場合、ドライブ側でリード・モディファイ・ライトが行われる。そのため、特にパーティションの開始位置が4KiB単位の物理セクター境界からずれた場合に大きな性能低下を引き起こす。この性能低下は(殆どの製品が4KiB物理セクターである)SSDでも起こる。
ATAによりHDDの論理セクターサイズおよび物理セクターサイズを知ることができるため、OS側で、物理セクター境界からずれた書き込みをしないように調整する(リード・モディファイ・ライト、RMWの回避処理)ことができる。ただし、HDD側が正しく通知すること、および前述のような調整機能を備えたOSを利用することの双方が必要である。
初期のマイクロプロセッサの設計の発展は、以前の大型コンピュータやミニコンピュータの発展を、おおまかに見ればある程度はなぞっているが、メモリの設計という観点からは、当初からバイトアドレッシングを大前提としたものがほとんどであった、という点が大きく異なる。
一般に「Xビットコンピュータ」はアドレス空間などもXビットのことも多いが、8ビット(や、4ビット)ではアドレス空間としては狭すぎるため、4ビットマイクロプロセッサでは12ビット前後、8ビットマイクロプロセッサでは16ビットのアドレス空間とした設計が多い。そのため、8ビット時代には、しばしばいわゆる「64Kの壁」がいろいろなもので見られた。また、64Kを半々に分けて使う、といったような設計では「32Kの壁」となる。
1970年代には、64Kバイトにフルにメモリを実装したシステム、というのはまだコスト的に稀であったが、1980年代には続々と64Kでは足りなくなっていった。Z80を使ったパソコンの設計としては、VRAMをメモリ空間ではなく裏技を使った16ビットのI/O空間でアクセスしている例などがある。一般的な「壁」を超える手法としては、空間の一部または全部について、実メモリとの対応を切り替える「バンク切り替え」が多用された。
初期のAFTのHDDには正しく論理・物理サイズを通知せず、論理・物理セクターサイズ=512バイトだけを通知するものもあった。また、2010年11月現在、WindowsではAFTのRMW回避処理はVista SP2 / 7 RTM 以降でパッチでしか提供されていない。
2012年10月、マイクロソフトはセクターサイズが4096バイトのHDDについての分類および同社によるサポートに関して下記のように発表している。
4K native 物理・論理セクターサイズとも4096バイトのもの。 Windows 8/2012でサポートする。
Advanced Format (512E) 物理セクターサイズ4096バイト、論理セクターサイズ512バイトのもの。 Windows Vista/7/2008/2008 R2/2012/8でサポートする。それ以外のOS(XPなど)については言及がない。
512 native AFT以前の従来のHDD。 現時点(2020年4月)までのサポートに変化はない。
なお、サポート対象のHDDとOSの組み合わせであっても、サービスパックや修正パッチの適用が必要な場合があるので注意が必要である。
単一のファイルサイズの制限は、FAT16ファイルシステムで2GiB(NT系では4GiB)、FAT32では4GiB(マイナス1)までである。
FAT以外でもUNIX系OSにおいてファイルに関わるサイズを扱うソースコード内でint(32ビットデータ型モデル)を多用していた事による2GiB、4GiBの制限が多数あった。
4.7GBの容量を持つDVDや、数百GB以上のハードディスク、8 - 16GB以上のUSBメモリが一般化し、動画を中心とした大容量のデータを扱うようになって、この問題が顕在化してきた。