PATA(Parallel ATA)とは何か:歴史・特徴・転送モードからSATA移行までの総まとめ

PATAとは — 概要

PATA(Parallel ATA)は、ハードディスクドライブ(HDD)や光学ドライブ(CD/DVDドライブ)などのストレージデバイスをコンピュータのホスト(マザーボード)に接続するための並列インターフェース規格です。一般には「IDE(Integrated Drive Electronics)」や「ATA(AT Attachment)」とほぼ同義で使われますが、厳密にはIDEはデバイスにコントローラを内蔵する概念、ATAはそのインターフェース仕様を指します。

歴史と位置づけ

PATAは、従来の専用コントローラ(ST-506など)をディスクドライブ側に移し、ホスト側との接続を簡略化したIDEの発想に端を発します。規格化はAT Attachment(ATA)として進められ、マーケティング上は「IDE」「EIDE」「Parallel ATA(PATA)」などの呼称が混在しました。2000年代半ば以降、シリアル化したSATA(Serial ATA)が主流となり、PATAは徐々に置き換えられました。

物理的特徴

  • コネクタ:40ピン(0.1インチ)幅のスルーホール型ピンヘッダを使用。
  • ケーブル:伝統的に40コアのフラットリボンケーブルを用いるが、UDMA転送速度を安定させるために各信号線の間にグランド線を挿入した80芯リボンケーブル(ピン数は40のまま)も普及した。
  • デバイス数:1つのチャネルに最大2台(マスターとスレーブ)を接続。チャネルは通常プライマリ(Primary)とセカンダリ(Secondary)があり、合計で最大4台のPATAデバイスが接続可能。
  • ケーブル長:一般的に18インチ(約46cm)程度が実用上の上限。長くなると信号品質の問題が出る。
  • ジャンパ設定:デバイスの主従(Master/Slave)やケーブルセレクト(Cable Select)機能はドライブ上のジャンパピンで設定する。

信号・プロトコルの概要

PATAはホストとデバイス間で16ビットデータ転送を並列で行います。ホストとのやり取りはI/Oポート(典型的には0x1F0-0x1F7など)とコントロールポートを介して行われ、コマンドセット(ATAコマンド)により読み書き、IDENTIFY(デバイス識別)などが実行されます。

転送モードと速度

  • PIO(Programmed I/O)モード:CPUがデータ転送に関与する旧来の方式。PIOモード4で最大約16.6MB/s程度の理論値。
  • DMA(Direct Memory Access)/Multiword DMA:CPUを介さずにメモリへ直接データを転送する方式。Multiword DMA mode 2でおおむね16.6MB/s前後。
  • UDMA(Ultra DMA):より高速化されたDMAのバリエーション。一般にマーケティング名としてATA-33(≈33MB/s)、ATA-66(≈66MB/s)、ATA-100(≈100MB/s)、ATA-133(≈133MB/s)などがある。UDMAの高速モードを安定して動作させるために80芯ケーブルが必要となる場合が多い。

(注:上記は理論上の最大値であり、実効速度はデバイスの特性やシーク時間、OSやファイルシステムのオーバーヘッドに左右されます。)

ATAPIと多様なデバイス

PATAインターフェースはHDDだけでなく、ATAPI(ATA Packet Interface)拡張によりCD-ROM、DVD、BDドライブ、ZIPドライブ、テープドライブなどのリムーバブルメディアデバイスも接続可能になりました。ATAPIはATAのコマンドセットにパケット型のコマンドを導入することで、SCSIのような機能を実現します。

ケーブルセレクト(CS)とねじれ(ツイスト)

40ピンのケーブルには、「ねじれ(twist)」が入ったケーブルがあり、ねじれ部分により片側のデバイスのケーブル線が入れ替わります。これにより両端のデバイスのケーブルセレクトピン(CS)信号の論理が変わり、自動的にマスター/スレーブを決定できる仕組みです。ジャンパにより明示的にマスター/スレーブを設定する方法もあります。

BIOS、LBAと容量の制限

初期のATAインターフェースはCHS(Cylinder-Head-Sector)アドレッシングを使用していましたが、ディスク容量の拡大に伴いLBA(Logical Block Addressing)が導入されました。更に、28ビットLBA(LBA28)では容量に上限(約137GBの壁)があり、これを解消するために48ビットLBA(LBA48)が導入されました(ATA-6あたりで標準化)。OSやBIOSの対応が必要なため、同じハードウェアでも古いファームウェアやBIOSでは大容量ディスクを正しく認識できない場合がありました。

制約と問題点

  • 並列伝送ゆえのクロストークやタイミング調整が必要で、高速化の限界がある。
  • 1チャネルに2台接続するため、同時に高負荷の転送を行うとパフォーマンス低下や争奪が発生する可能性がある。
  • ケーブル長が短く、内部的な取り回しで制約がある。ホットスワップは基本的にサポートされない(SATAに比べ不利)。
  • 80芯ケーブル導入などで互換性の複雑化が発生した。

SATAへの移行

パフォーマンスや配線の簡略化、ホットプラグのサポートなどを目指して登場したSATAは、シリアル転送で高帯域幅を実現し、各デバイスに専用チャネルを提供するため、PATAの多くの制約を解消しました。2000年代中盤以降、新規PCではほぼSATAが標準となり、PATAはレガシーとして徐々に姿を消しました。

現状と使われ方

今日ではデスクトップやノートPCの主流はSATA(さらにNVMeなどのPCIe接続)ですが、産業用・組込み機器や古いサーバ、レガシー機器の保守などでPATAがまだ稼働しているケースはあります。変換アダプタ(PATA⇄USB、PATA⇄SATA)やPCI/PCIeカードでのサポートも存在します。

技術的な掘り下げ(IDENTIFY、コマンドセット)

ATAデバイスはIDENTIFY DEVICEコマンドで機種名、シリアル、ファームウェア、サポートする転送モード(PIO、DMA、UDMA)やLBAのビット幅などを返します。ホストはこの情報を参照して最適な転送モードをネゴシエートすることが一般的です。また、エラー時にはステータス/エラー・レジスタを用いて原因を判定します。

用語まとめ(IDE / EIDE / PATA / SATA)

  • IDE:従来の通称。ドライブ内部にコントローラを持つという概念からの呼び名。
  • EIDE:Enhanced IDE。更なる機能拡張(大容量対応、DMA対応など)を含むマーケティング用語。
  • PATA:Parallel ATA。並列ATAインターフェースの正式な呼称(SATAとの区別に使われる)。
  • SATA:Serial ATA。PATAの後継として普及したシリアル転送の規格。

運用上の注意点

  • 複数台を1チャネルに接続する場合はジャンパ設定やケーブルセレクトの設定を正しく行うこと。
  • 高いUDMAモードで運用する場合は必ず80芯ケーブルを使用して信号品質を確保すること。
  • 古いマザーボードで大容量ドライブを使う際はBIOSアップデートやLBA48対応の確認を行うこと。
  • レガシー機器とデータをやり取りする場合は、PATA→USBアダプタやPATA→SATA変換アダプタが利用可能。ただし速度や互換性に注意。

まとめ

PATAは、PCのストレージ接続史において長らく標準を担った重要な技術です。並列伝送のための設計上の制約を抱えつつも、容易な接続・互換性・ATAPIによる多様なデバイス対応などにより幅広く普及しました。その後のSATAの登場により一般用途では姿を消しましたが、レガシー機器の保守や特殊用途では今なお現役で使われる場面があります。PATAの理解は、ストレージインターフェースの変遷やシステム互換性の診断において有益です。

参考文献