初期のHDD最大容量は504MB
現在は128PBにまで増大
一連のATA/ATAPIの仕様をまとめたのが下表である。ここで"○"は対応している転送モードを示す。例えばATA-3ならPIO Mode 0~Mode 4とMulti-Mode DMA Mode 0~2に対応しているが、Single Mode DMAには未対応というわけだ。
表にあるLBAとは、Logical Block Numberのことである。当初のIDEは先にも触れたCHSというパラメーターでHDD上の位置を指定していた。これはC(シリンダ番号:プラッター上の円周の位置)、H(ヘッド番号:どのヘッドを使うか)、S(セクタ番号:円周上の位置)を指定してアクセス箇所を定めるという方式であるが、HDDとPCのBIOS側でCHSとして扱える範囲がなぜか異なっており以下のようになっていた。
CHSとして扱える範囲 | ||||||
---|---|---|---|---|---|---|
HDD側 | BIOS側 | |||||
C | 0-65535 | 0-1023 | ||||
H | 0-15 | 0-254 | ||||
S | 1-255 | 1-63 |
この関係で、Cは0~1023、Hは0~15、Sは1~63となり、1セクター512Bytesでは最大504MB(1024×16×63×512Bytes=528,482,304Bytes=504MB)に限られてしまう、という意味不明な制約があった。
要するに504MBを超えるHDDはその容量を使いきれなくなってしまうわけだ。これを回避するため、CHS Translation(1024を超えるシリンダー数について、それをヘッドが増えたように見せかけることで回避する)が考案され、最大8.4GBまでのHDDが利用できるようになったが、これも一時的な対策でしかなかった。
また、初期のHDDはプラッター上の最外周と最内周が持つセクターの数は一致していたが、記録密度が向上してくると最外周には多くのセクターが格納できるようになり、内周になるほどセクター数が減るという不均一な構成になり、そもそもCHSのモデルが崩壊している。
そこでCHSの方式をやめ、一番上のプラッター(ヘッド番号0)の最外周の先頭セクターを0とし、そこからセクターごとにアドレスを振っていくというLBAで管理する仕組みがATAで導入された。ATAでは22bit、つまり最大419万4304個のセクターを管理可能で、この際のHDDの最大容量は2GBに過ぎなかったが、ATA-2でこれは28bit、つまり128GBに拡張。ATA-6では48bit、128PBの容量を可能にしており、今のところまだこれで不足するという話は出ていない。
表にあるPIOはPort I/Oの意味だ。CPUからI/O命令を利用して、2Byte(16bit)単位で読み取っていく方法。当然ながらCPUの負荷は大きく、性能も出ない。
Single word DMAは、コントローラーから直接DMAを利用してデータの読み書きを行なうので、CPUの負荷が大幅に減り、転送速度も上る方法だ。ただしDMA転送はたったの1word(2Bytes)単位なので、DMA転送のオーバーヘッドそのものがバカにならず、性能も上りにくい。これもあってATA-3では廃止されてしまった。
Multi word DMAは名前の通り、複数wordのDMA転送をまとめて行なう方式であり、これによりDMAのオーバーヘッドが大幅に削減された。
Ultra DMAは、コントローラーとホストの間の転送方式そのものはMulti word DMAと同じで、異なるのはコントローラーとHDDの間の転送方式である。IDEの配線表でHost I/O Write/Read(Pin 23/25)は本来はPIO mode用の信号だが、Ultra DMAではここにDMA readyおよびData Strobeという信号を割り当て、このData Strobeを利用してコントローラーとHDDでのバースト転送を行なった。結果、転送速度をMulti-mode DMAの場合の2倍に引き上げることに成功している。
ちなみに1998年からはATAに加えてATAPI(AT Attachment with Packet Interface Extension)も追加されている。これはATAのI/FにHDD以外のドライブを接続するためのものである。CD-ROMが一番代表的であるが、ほかにもMOドライブやZipドライブなどもATAPI対応の製品が投入された。
ATAPIは名前のとおり、ATAのI/Fを経由して任意のデータパケットを通す拡張機能であり、極端なことを言うとSCSIデバイスにSCSI/ATAPIのブリッジをつないで、IDEの上にSCSIプロトコルを流して接続できる。初期には本当にそういうデバイスが存在した。
あと2000年にリリースされたATA-5の世代、転送モードで言えばUltraDMA Mode 3以上に関しては、従来の40pinのフラットケーブルに代わり、80pinのフラットケーブルが用いられるようになった。といっても信号ピンそのものは40pinのままである。
ではなぜ80pinのケーブルが利用されているか? 下図の左側が、従来の40pinケーブルで、コネクターのピンとフラットケーブルの配線が一対一対応になっている。対して80pinの方は右図のように、80本の配線のうち半分はそのままコネクターにつながるが、残りの40本はまとめてGNDに接続されるようになっている(実際にはコネクターのPin 2やPin 40などにつながっている模様)。
なぜこんなことになったかと言うと、信号速度が速くなりすぎて、配線同士での干渉が無視できないレベルになってきたので、信号線の間にGND線を挟み込んで、ここで干渉の影響を緩和しようというわけだ。この80pinケーブルで、一応ATA-7のUltraATA Mode 6(133MB/秒)まで利用可能になった。
この連載の記事
-
第773回
PC
Sound Blasterが普及に大きく貢献したGame Port 消え去ったI/F史 -
第772回
PC
スーパーコンピューターの系譜 本格稼働で大きく性能を伸ばしたAuroraだが世界一には届かなかった -
第771回
PC
277もの特許を使用して標準化した高速シリアルバスIEEE 1394 消え去ったI/F史 -
第770回
PC
キーボードとマウスをつなぐDINおよびPS/2コネクター 消え去ったI/F史 -
第768回
PC
AIアクセラレーター「Gaudi 3」の性能は前世代の2~4倍 インテル CPUロードマップ -
第767回
PC
Lunar LakeはWindows 12の要件である40TOPSを超えるNPU性能 インテル CPUロードマップ -
第766回
デジタル
Instinct MI300のI/OダイはXCDとCCDのどちらにも搭載できる驚きの構造 AMD GPUロードマップ -
第765回
PC
GB200 Grace Blackwell SuperchipのTDPは1200W NVIDIA GPUロードマップ -
第764回
PC
B100は1ダイあたりの性能がH100を下回るがAI性能はH100の5倍 NVIDIA GPUロードマップ -
第763回
PC
FDD/HDDをつなぐため急速に普及したSASI 消え去ったI/F史 - この連載の一覧へ