技術解説
次世代の標準ディスク・インターフェイス「シリアルATA」のすべて 澤谷琢磨 |
PCの内蔵ハードディスク・ドライブは、サーバや一部のワークステーションを除き、そのほぼすべてがATA(IDE)インターフェイスを採用している。ATAインターフェイスの性能が向上し、SCSIに比べてドライブとコントローラ両方のコストが安価なことから、最近ではエントリ・サーバの中にも、ハードディスク・インターフェイスとしてATAを採用する製品が増えてきている。また、ハードディスク以外でも、内蔵用CD-ROMドライブやCD-R/RWドライブの多くが、現在ではATAインターフェイスを採用している。
このように規格としては大成功したATAインターフェイスだが、ハードディスクの記録密度の急激な向上によって生じる、インターフェイスの高速化とハードディスクの大容量化への対応という問題を常に抱えてきた。数年に一度、規格がアップデートされ、Ultra DMA/33やUltra DMA/66といった新たな転送モードが追加されてきたことでも分かるだろう。シリアルATA(Serial ATA)は、この2つの問題のうち、インターフェイスの高速化を今後10年間に渡って保証するために開発された規格だ。現在のATAインターフェイス規格を置き換えるものとして、近い将来にはPCの標準ディスク・インターフェイスとなるものである。今回は、このシリアルATA規格について見ていこう。
シリアルATAの成り立ち
シリアルATAは、その規格ドラフトのサブタイトル「High Speed Serialized AT Attachment」が示しているとおり、ATAの物理インターフェイスを、従来のパラレル・インターフェイスから、「高速なシリアル・インターフェイス」に置き換えることを目的としている。
シリアルATAの規格策定は、Serial ATA Working Groupによって行われている。このWorking Groupには、Maxtor、Quantum、Seagate Technology、IBMという主要なハードディスク・ベンダに加え、ストレージ関連技術を開発しているAPT Technologies、PCシステム・ベンダ大手のDell Computer、そしてPC関連の規格化には欠かせないIntelも参加している。 これまでのATAインターフェイスの規格策定は、ANSI T13技術委員会によって行われてきたが、シリアルATAはこれとは別の組織で規格化が進められている。これは、新たな規格を作る場合には、その規格に関連する少数のベンダで決めたほうが、作業を素早く進められるためと思われる(ANSIといった大規模な標準化団体では、参加ベンダの意見調整のために多くの時間が割かれ、なかなか規格内容が決まらないことも多い)。
IDF 2000 Fall Japanで公開されたシリアルATAのロードマップ |
内蔵型の周辺機器は2001年後半から徐々にシリアルATAに移行することが分かる。また、外付け型の周辺機器はUSB 2.0が利用される。 |
最新のATA規格「AT Attachment with Packet Interface - 6(ATA/ATAPI-6)」のドラフト(本稿執筆時の最新版はRevision 1a)は、ドキュメント作成時期が重なるにもかかわらず、シリアルATAについてまったく触れていない。以前、やはり別組織で策定されていたATAPIがATAと統合されたのと同様に、シリアルATAがATA/ATAPI-6に将来統合されるかどうかは現時点でははっきりしない。しかし、Serial ATA Working Groupに参加している企業のほとんどは、T13にも参加しているため、製品レベルではスムーズにシリアルATAに移行するものと思われる。
なお、第1世代のシリアルATAは、Ultra SATA/1500と呼ばれることがIntelより発表されている。おそらく製品レベルではこちらの呼称が主流になると予想されるが、本稿では現在のドラフトに従い、シリアルATAという従来の呼び方で統一する。
第1世代 | 第2世代 | 第3世代 | |
ホスト(PC)−デバイス間の速度 | 150Mbytes/s | 300Mbytes/s | 600Mbytes/s |
市場投入時期 | 2001年中頃 | 2004年中頃 | 2007年中頃 |
ケーブル/コネクタ | − | 第1世代と同じ | アップデートを予定 |
シリアルATAのロードマップ | |||
現在最も高速なATAは、最大データ転送速度が100Mbytes/sのUltra ATA/100だが、シリアルATAではその1.5倍の150Mbytes/sからスタートする。シリアルATA用ケーブルは、300Mbytes/sでのデータ伝送をターゲットとして、その電気的特性が定められている。そのため、第3世代ではケーブル、コネクタともに変更を予定している。なお、規格書ではケーブル上のデータ転送速度は1.5Gbits/sと表記されているが、ケーブル上では1byte(8bits)のデータが10bitsに符号化されるため、実際の転送速度は1.5Gbits/s×(8bits÷10bits)=1.2Gbits/s、つまり150Mbytes/sとなる。 |
シリアル(直列)伝送方式とは、情報を1本の伝送路を用いて1bitずつ伝送を行う方式を指す。これに対し、例えば8bits分の情報をそれぞれ別々の8本の伝送路を用いて、同時に伝送する方式はパラレル(並列)伝送方式と呼ぶ。現在のATAは、16bits幅のパラレル伝送方式を採用しているため、シリアルATAと比較される場合はパラレルATAとも呼ばれる。
パラレルATAとシリアルATAの接続形態 |
図(a)はパラレルATAの接続形態を模式的に示したものである。ホスト・コントローラに対し、1本のケーブルにマスタ/スレーブの2台のデバイスを接続可能である。それに対し、図(b)のシリアルATAでは、各デバイスをホストに対し1対1で接続する。なお、シリアルATAでは、1ホストに接続可能な台数の上限は特に定められていない。これはパラレルATAがポート数に制限を設けていなかったのと同様、ホスト・コントローラと、ソフトウェアの仕様によって決定されるものである。 |
高速化の手段としてのシリアル化
インターフェイスの高速化手法には、大別すると次の2種類に集約される。すなわち、信号線の数を増やして1回のサイクルで転送できるデータ量を増やす方法と、データを転送するサイクルを短くして、単位時間内により多くのデータを転送できるようにするという方法である。つまりデータ幅を拡げるか、転送サイクルの基準となるストローブ信号の周波数を高めるかの2通りの方法である。これまでのATAインターフェイスが採用してきたのは、基本的に後者の手法だ。つまり、一度に転送するデータのサイズは、当初のIDEのそれを維持したまま、転送サイクルをひたすらに短縮してきたのだ。現在、最も高速なATAインターフェイス規格であるUltra ATA/100では、16bitsのデータ幅(同時に2bytes分の転送を行う)を持ち、基準のクロック周波数50MHzで最大データ転送速度100Mbytes/sを実現している。
■パラレルATAの性能向上が限界に達しつつある
これ以上の高速化を実現するために、データ幅を2倍の32bits幅に拡張したり、ストローブ信号の周波数を高めたりすると、信号線間のデータの同期を取ることが難しくなる。二人三脚ならばある程度速く走ることが可能でも、10人11脚になると足並みが揃わなくて速く走れないのと似ている。
また、信号の周波数が上がると、信号線間の干渉やノイズも無視できなくなる。すでにATAインターフェイスでは、44.4Mbytes/s(Ultra DMA mode 3)以上の伝送速度を用いる場合、40ピンのコネクタに対し80芯のフラット・ケーブルを用いることで(信号線間にグラウンド線を配置することで)、各信号線間の干渉を防ぎ、安定して転送できるように工夫されている。
これ以上、現在のパラレル・インターフェイスを維持したまま高速化するには、上記のような問題を解決するため、ケーブルやコネクタの大幅な変更や、信号を送受信する回路の仕様変更(たとえば、信号の電圧を下げ、差動信号化と呼ばれる技術を導入する)などの導入が避けられない。しかしこうした変更は、ATAインターフェイスのメリットである低コスト性を阻害する要因となる。
■パラレルからシリアルへ:コストを抑えつつ高速化
そこで、現在のパラレルATAとほぼ同じ製造コストを保ったまま高速化する手法として選択されたのが、シリアル伝送方式である。シリアル伝送は信号線が少ないため、信号線間の干渉がパラレル方式に比べ発生しにくいなど、高速化に有利な特性を持っている。一方コスト面では、パラレル方式よりはるかに高い周波数の信号が通るため、特にケーブルやコネクタなどのパーツは電気的特性の優れたもの(つまり高価なもの)が必要になりそうだ。しかし実際には、信号線の本数が劇的に減るという効果もあるので、コストはパラレル方式とほぼ同程度になるだろう。パラレル・ポートがシリアル伝送方式を採用したUSBで置き換えられつつあることでも分かるように、現在のインターフェイスの主流はシリアル伝送方式に向かっている。
また、パラレルATAの信号電圧が3.3V〜5Vであるのに対し、シリアルATAでは±250mVと低く設定される。これは、3.3V〜5Vのままだと、電源電圧の低下が著しい現在の半導体に統合するのにコスト高になることに加え、ノートPCなどで利用する場合の消費電力の面でも不利になるからだ。高速化という意味も、信号電圧は低いほうが何かと有利である。
ホスト-デバイス間の接続 |
シリアルATAは、合計4本の信号線(図中A+、A-、B+、B-)でシリアル・インターフェイスを構築している。データ送受信を同時に行うため、2組の信号線を用いる(Aがホストからデバイスへのデータ送信路を、Bがデバイスからのデータをホストが受信するための信号線を示している)。また、シリアルATAでは、外部からのノイズに対する耐性を向上させるために、元の信号と、極性を反転した信号を同時に2本の信号線で伝送する、差動伝送を採用している(A+とA-、B+とB-が、それぞれ差動ペアとして動作している)。そのため、2本×2組=4本の信号線が必要となる。これは、同じくシリアル伝送方式を採用している IEEE1394とほぼ同じ構成である。なお、図中のGは、グラウンド(基準電位、0V)を示している。 |
パラレルATAとの互換性
ケーブルやコネクタなど物理的なハードウェア仕様が大きく変わったシリアルATAだが、ソフトウェア・レベルではパラレルATAとの互換性を重視した設計となっている。パラレルATAのコマンド、レジスタは、すべてシリアルATAホスト/デバイスによりエミュレーションされる(エミュレーションとはいっても、何かほかにネイティブな命令が存在するわけではない)。シリアル・インターフェイス採用にともなって必要となる処理は、シリアルATAのホストとデバイス内部で処理されるため、ソフトウェア・インターフェイスの変更は一部の拡張にとどまっている。
互換性維持の一例を挙げよう。1対1(Point-to-Point)接続を採用したことにより、シリアルATAでは、デバイスのマスタ/スレーブによる区別は、物理的には意味を失っている。しかし、レジスタ上はスレーブ・デバイスのない、マスタ・デバイスのみが接続されている状態として扱うことで、従来のBIOSやOSとの互換性を維持している。
関連リンク | |
シリアルATAの規格策定ワーキング・グループ | |
ANSI T13技術委員会のホームページ | |
APT Technologiesのホームページ |
INDEX | ||
[技術解説]次世代の標準ディスク・インターフェイス「シリアルATA」のすべて | ||
1.パラレルからシリアルへ | ||
2.大きく変更されるコネクタとケーブル | ||
「PC Insiderの技術解説」 |
- Intelと互換プロセッサとの戦いの歴史を振り返る (2017/6/28)
Intelのx86が誕生して約40年たつという。x86プロセッサは、互換プロセッサとの戦いでもあった。その歴史を簡単に振り返ってみよう - 第204回 人工知能がFPGAに恋する理由 (2017/5/25)
最近、人工知能(AI)のアクセラレータとしてFPGAを活用する動きがある。なぜCPUやGPUに加えて、FPGAが人工知能に活用されるのだろうか。その理由は? - IoT実用化への号砲は鳴った (2017/4/27)
スタートの号砲が鳴ったようだ。多くのベンダーからIoTを使った実証実験の発表が相次いでいる。あと半年もすれば、実用化へのゴールも見えてくるのだろうか? - スパコンの新しい潮流は人工知能にあり? (2017/3/29)
スパコン関連の発表が続いている。多くが「人工知能」をターゲットにしているようだ。人工知能向けのスパコンとはどのようなものなのか、最近の発表から見ていこう
|
|