Advanced Technology Attachment
出典: フリー百科事典『ウィキペディア(Wikipedia)』
Advanced Technology Attachmentは、パーソナルコンピュータと、ハードディスク間のインターフェースのひとつである。略して"ATA"ともいう。
目次 |
[編集] 歴史
本節での容量の単位は、1024を基準としているので、1000を基準としている市販のHDDの表記と異なることに注意。
[編集] IDE
PC/ATのハードディスクインターフェイスは、当初ST-506、次いでST-506を高速化したESDIやSCSI等が使用されていたが、次第にST-506をインテリジェント化した1986年にコンパック社とConner社が開発したIDE(Integrated Drive Electronics)が大勢を占めるようになった。
その後、各社独自の拡張が行われ、互換性に問題が出てきたため、1989年に各HDDメーカが共通仕様であるATA(AT Attachment interface)を制定し、1994年にANSIでATA-1として規格化された。
HDD側 | BIOS側 | 小さい方 | |
---|---|---|---|
シリンダ番号(C) | 0~65535 | 0~1023 | 0~1023 |
ヘッド番号(H) | 0~15 | 0~255 | 0~15 |
セクタ番号(S) | 1~255 | 1~63 | 1~63 |
最大容量 | 128GB | 7.8GB | 504MB |
IDE HDDには、504Mバイト(512×1024×16×63 = 528,482,304バイト)を超える容量が認識されないという問題があった。 これは「504MBの壁」といわれ、1993年頃までに発売されたPCではこの問題がある。HDD側のパラメータとPC/ATのBIOS(INT 13H API)のパラメータのミスマッチに起因する。
ただし、504MBの壁は、あくまでIDE HDDとPCのBIOSの組み合わせにより生じる問題であり、HDD側ではもっと大きな容量(理論上の最大値は128GB)のアドレッシングが可能である。 すなわち、一般には、504MBを境にEIDE HDDとIDE HDDが分かれるように思われているが、実はHDD側にはそのような区別はない。
[編集] EIDE
EIDE (Enhanced IDE) とは、一般にIDE HDDの504MBの壁を超えるための規格として認識されているが、実際は以下のようなさまざまな拡張規格の総称である。 Western Digitalが提唱した。
- 504MBの壁を超えるための拡張
- LBA (Logical Block Addressing) の導入
- CHSトランスレーション(いわゆるLARGEモード)の導入
- ATAPIによるCD-ROMやリムーバブルディスクのサポート
- 転送モードの追加による高速化
- プライマリ/セカンダリポートの標準化による最大4台のデバイスのサポート
504MBの壁は、BIOSのCHSをIDEのCHSに直結させていることが原因なので、途中でうまく変換してやることにより回避できる。 その手段として、LBAとCHSトランスレーションが導入された。
- LBAは、BIOSからHDDに対するアドレッシングをCHSでなく単一の連番で行う(HDDが対応している必要がある)。
- CHSトランスレーションは、BIOS内部でCHSの変換(たとえばHを2で割るかわりにCを2倍するなど)を行い、CHSの範囲を有効活用する(HDD側で対応することはない)。
なお、LBAはHDD側でCHSレジスタを読み替えることで実現されており、アドレッシング可能な範囲はほとんど変わっていない(28ビット)。 すなわち、HDD側では、LBAに対応することでとくに容量上限を増やせるわけではない(厳密には、若干増える)。
EIDE HDDでは(SCSI HDDでも)、約7.8GB(512×1024×256×63 = 8,455,716,864バイト、1024シリンダ)を超える容量が認識されないという問題があった。これは「8GBの壁」といわれ、1998年頃までに発売されたPC(Pentium II搭載以前のものに多い)ではこの問題がある。 ただし、これは上記の表に示したようにPCのBIOSのパラメータに起因する問題であり、HDD側にはやはりそのような壁はない。 この8GBの壁は、BIOSのAPIレベルでLBA(28ビット)を導入したINT 13H Extensionによって、BIOS側で認識できる最大容量は128GBに引き上げられた。
[編集] ATAPI
ATA Packet Interfaceの略で、アタピーと読む。 IDEコントローラのレジスタセットを介して、SCSI互換のパケット形式のコマンドを発行することにより、HDD以外のデバイスの接続を可能とした規格。 一般には、CD-ROM等をサポートしたIDEとして認識されている。 当初SFF-8020という規格だったが、ATA/ATAPI-4でATA規格に統合された。
[編集] BigDrive
従来の28ビットLBAを48ビットに拡張し、128ペタバイト(134,217,728GB)までの容量を扱えるようにした規格。ATA/ATAPI-6で採用された。 この規格に対応したHDDを未対応(28ビットLBA)の機器に接続すると、128GBのドライブとして動作する(128GBの壁、おおよそ2002年以前に発売されたPCでこの壁がある)。
ハードウェアの規格上は128ペタバイトまで可能であるが、現状のWindows XPなど32ビットOSでは、OSの構造上2テラバイト(2,048GB)で壁に達する。
[編集] 規格のあゆみ
ATA/ATAPIの規格概要を以下に示す。
- ATA-1(1994年)
- IDEの規格化
- ATA-2(1996年)
- PIO 3,4 Multiword DMA 1,2追加による高速化
- ATA-3(1997年)
- Singleword DMAの削除、リムーバブルメディアのサポート、S.M.A.R.T対応
- ATA/ATAPI-4(1998年)
- ATAPIの統合。UltraDMA 0,1,2 スキャナ、プリンタ、メディアチェンジャー等SCSI準拠の多種デバイスのサポート
- ATA/ATAPI-5(2000年)
- UltraDMA 3,4のサポート。
- ATA/ATAPI-6(2002年)
- UltraDMA 5、BigDriveのサポート
- ATA/ATAPI-7
- UltraDMA 6のサポート。1.8、2.5インチHDDの3.3V規格定義
- ATA/ATAPI-8
- 審議中
[編集] パラレルATA

パラレルATAでは、ケーブル1本あたり、最大2台の機器が接続可能(マスタ/スレーブ接続)である。マスタ側の機器がスレーブ側の機器を制御するため、マスタ側により後の世代の規格をサポートするドライブを接続しないとスレーブ側の性能が発揮できない。
[編集] ケーブル
パラレルATAは通常40芯、Ultra DMA 66 (UDMA4) 以降は80芯40pinコネクターのリボンケーブルを用いて接続し、ケーブル長は最大18インチ (45.7cm) と規定されている。
80芯ケーブルには、ケーブルへの接続位置でマスター/スレーブを設定するケーブルセレクトという機能が実装されている(40芯ケーブルではオプション)。 ケーブルセレクト対応の40芯ケーブルは、途中で線が切断されているので容易に見分けることが可能である。 また、40芯ケーブルの場合、ケーブル端がスレーブだが、80芯ケーブルの場合、逆にマスターとなるので機器接続の際には注意が必要である。
[編集] 転送モード
パラレルATAはその長い歴史に応じた様々な転送モードが存在する。
[編集] PIO転送モード
モード | 最大転送速度 (MB/s) |
制定された 規格 |
---|---|---|
Mode 0 | 3.3 | ATA |
Mode 1 | 5.2 | ATA |
Mode 2 | 8.3 | ATA |
Mode 3 | 11.1 | ATA-2 |
Mode 4 | 16.7 | ATA-2 |
PIO (Programmed Input / Output) 転送モードは、CPUが直接IDEコントローラI/Oポートを経由してデータの送受信を行う。
5種類のモードが存在するが、基準となるクロック周波数が異なるだけである。 全てのATA機器は機器転送速度、転送モードのネゴシエートの為、PIO Mode 0をサポートする。
今日でも、速度を必要としない機器はこのモードのみをサポートする。
[編集] Singleword DMA転送モード
モード | 最大転送速度 (MB/s) |
制定された 規格 |
---|---|---|
Mode 0 | 2.1 | ATA |
Mode 1 | 4.2 | ATA |
Mode 2 | 8.3 | ATA |
Singleword DMAモードは、The PC 本体に搭載されている8bitのDMA転送が可能なDMAコントローラを用いて転送を行うモードである。これはATA/ATAPI-3規格において廃止されている。
[編集] Multiword DMA転送モード
モード | 最大転送速度 (MB/s) |
制定された 規格 |
---|---|---|
Mode 0 | 4.16 | ATA |
Mode 1 | 13.3 | ATA-2 |
Mode 2 | 16.6 | ATA-2 |
Multiword DMAモードは、PC/ATで拡張された16bitのDMA転送が可能なDMACを用いて転送を行うモードである。Ultra DMA規格化後はあまり使用されていない。
[編集] Ultra DMA転送モード
モード | 最大転送速度 (MB/s) |
制定された 規格 |
---|---|---|
UDMA 0 | 16.7 | ATA-4 |
UDMA 1 | 25.0 | ATA-4 |
UDMA 2 | 33.3 | ATA-4 |
UDMA 3 | 44.4 | ATA-5 |
UDMA 4 | 66.6 | ATA-5 |
UDMA 5 | 100.0 | ATA-6 |
UDMA 6 | 133.3 | ATA-7 |
Ultra DMA転送モードは、ATA/ATAPI-4以降で追加されたチップセットやUIDEコントローラカードに搭載された、専用の高速なDMACを使用して転送を行うモード。転送時のデータにCRCを付加し、信頼性を向上させている。
UDMA 6において、32bit 33MhzのPCIと同じ、最大133Mbytes/secでの転送が可能となっているが、これは、あくまでもバスの転送帯域であり、2004年2月時点において50Mbytes/sec以上の連続データ転送を行えるIDEのドライブは存在しない。 また、SCSIでは普通に用いられている、コマンド投入からデータ転送開始までの間、バスの開放を行い、バスの使用効率を上げる仕組み (Disconnect / Reconnect) は、ATA / ATAPI-6以降で規格化されているものの、実装されている機器はほとんど存在しない。 そのため、HDDに搭載されている非常に小さなキャッシュメモリに乗るサイズのデータを転送する時にのみ、額面通りの性能が発揮できる。
[編集] シリアルATA
シリアルATAを参照。
[編集] 関連項目
[編集] 外部リンク
[編集] パラレルATA
- Overview and History of the IDE/ATA Interface
- ATA/ATAPI history
- Enhanced IDE/Fast-ATA/ATA-2 FAQ
- Hard Drive Size Barriers
- T13 Technical Standards Group
- ATA IDE pinout