SCSI

はじめに

最近ではコンシューマ向け製品では見る機会が少なったSCSIですが、高い信頼性を必要とするニーズのHDDを中心に今でも使われる代表的なインターフェスです。

SCSIとは?

SCSI=Small Computer System Interfaceはコンピュータ機器の接続用のインターフェースとして開発されたもので、外付けと内臓の両方の周辺機器をサポートします。はコンピュータ機器の接続用のインターフェースとして開発されたもので、外付けと内臓の両方の周辺機器をサポートしデイジーチェーンとよばれる数珠繋ぎのような接続方法で一つのホストコントローラで7台または15台の機器が接続できます。一台のコンピュータに複数のホストコントローラが接続可能でそれぞれに7台または15台の機器が接続できます。

基本的に HDD や CD-ROM などのデバイスのインターフェースとして使われますが、汎用性が高くスキャナやプリンタなどの機器のインターフェースにも利用されました。近年、内臓機器は IDE 機器の急速な低価格化と高性能化によってシェアを奪われ、外付け機器は USB 機器の手軽さと低価格化によってシェアを奪われ一般的にはあまり使われなくなってしまいましたが、パフォーマンスと信頼性が高いことからサーバー分野では、必須となっていることもたしかです。

SCSIの仕様

SCSI には8ビット転送と16ビット転送がありそれぞれを混在させることも可能です。違う世代を混在しても例外を除いて世代ごとにそれぞれに最適な(別々の)転送速度をサポートしますが、接続台数は8ビットが8台、16ビットが16台(Fast Wide は 8台)となっていて(ホストカード自身が一台と数えるので実際に使える機器は一台少ない)、両方を同じバス上に接続すると少ない方(8台)に制限されます。

SCSIは世代ごとに SCSI (初代SCSIをSCSI-2/SCSI-3との区別の為に便宜的にSCSI-1と呼んだりする)、SCSI-2 =Fast SCSI、SCSI-3 = Ultra SCSI、Ultra2 SCSI、Ultra3 SCSI が存在し、それぞれに8ビットと16ビットの転送方法が存在します。Ultra2SCSI 以降は実質8ビットの製品は存在しません。また SCSI-1 には16ビット規格は存在しません。

呼び方は 8ビットの方を何も付けずによび、16ビットの方は Wide をつけて呼ぶのが一般的ですが、SCSI-1 に Wide は存在しないので、FastWide SCSI を単に Wide SCSI と呼びます。また、Ultra2 SCSI に 8bit は(製品としてはほとんど)存在しないのでUltra2 Wide SCSI を単に Ultra2 SCSI と呼ぶこともあります。

転送方式にSE、HVD、LVDが存在します。一般的に 8ビット はすべて SE で、16ビットはUltra SCSIまでは SE と HVD、それ以降は LVD だと考えればよいようです。(かなりいい加減だが) HVDとLVDは互換性が全くありません。HVD対応 の機器を HVDで使うには HVD対応 のホストカードが必要となります。

LVD は SE と互換性がありますが、ホストカードも含めて LVD と SE を混在されると LVD の性能が SE まで落ち、簡単にいうと16ビット転送が8ビットになり速度が半分になる上に、配線の長さがSE機器と同じ制限にまで狭められます。

またケーブルの長さは SCSI は内部と外部機器あわせて6メートルまでで、SCSI2、SCSI3となるにつれて半分になります。つまり、UltraSCSIは6メートルの半分の半分で1.5メートル となるのです。 また、HVD/LVDは世代に関わらず12メートルなっています。

以下簡単な表

規格 正式名称 名称 速度 方式 正式名称 名称 速度 方式
8bit 16bit
SCSI SCSI SCSI 5MB SE
SCSI-2 Fast SCSI Fast SCSI 10MB SE Fast Wide SCSI Wide SCSI 20MB SE/HVD
SCSI-3 Ultra SCSI Ultra SCSI 20MB SE Ultra Wide SCSI Ultra Wide SCSI 40MB SE/HVD
SCSI-3 Ultra2 Wide SCSI Ultra2 SCSI 80MB LVD
SCSI-3 Ultra3 Wide SCSI Ultra160 SCSI ※1 160MB LVD
SCSI-3 Ultra4 Wide SCSI Ultra320 SCSI ※2 320MB LVD

※1 Ultra160 SCSI は、実際には Ultra3 Wide SCSI 規格の中の一部を指す
※2 Ultra320 SCSI は Ultra4 Wide SCSI 規格 を指す

SCSIの歴史

1981年に、Shugart Technology 社(現在の Seagate Technology 社 )とNCR 社(現在の LSI Logic社のストレージ部門) が HDD 用のインターフェースとして SASI=Shugart Associates System Interfaceを提唱します。

1985年(発表が1986年)この規格をベースにより汎用性を高め ANSI (米国規格協会) によって標準化がなされたものが SCSI です。このときSCSI は 8bit 5MHz で最大 5MB/s の転送が可能でした。

さらに、1994年に SCSI と互換性を持たせつつ高速化した転送モードを加え改良が行われたものが SCSI-2 です。SCSI-2 では 5MHzに加え 10MHz で最大 10MB/s での転送モードをサポートします。この 10MHz での転送モードを Fast SCSI と呼ぶわけです。

さらに 8bit に加え 16bit 32bit の Wide モードという規格も追加し それぞれ最大 20MB/s、40MB/s での転送がサポートされました。このWide モードでは通常のシングルモード方式の信号では品質が維持しにくいためにデファレンシャルモードを推奨しました。(32bit Wide モードは最近ではあまり語られなくなったところを見るとあまり普及しなかったようです。)

SCSI-2 規格には SCSI (初代)規格を完全に含みます。SCSI の規格は基本的に完全下位互換で規定された以前の SCSI の規格はすべてサポートされます。

1996年に SCSI-3 が標準化されました。SCSI-3 は、一般的なパラレル SCSI 以外にもシリアル SCSI として IEEE1394や Fibre Channel などの規格もされています。
Ultra SCSI は SCSI-3 で規格化されたものの一つで 20MHz の転送モードをもち 20MB/s の転送が可能です。また、SCSI-2同様に 16bit の Wide モードを持ち、40MB/s の転送が可能です。

Ultra2 SCSI も SCSI-3 で規格化されたものの一つで 40MHz の転送モードをもち 40MB/s の転送が可能で、Wideモードでは 80MB/s の転送が可能になっています。この Ultra2 SCSI 規格では高速化をするために、データ信号電圧が従来の 5Vから 3.3V へ下げられ同時にすべてディファレンシャル駆動となりました。 これを LVD=Low Voltage Differentialとよび、それまでの 5V でのディファレンシャル駆動を HVD=High Voltage Differential と便宜的に呼ぶようになりました。

Ultra3 SCSI も SCSI-3 で規格化されたものの一つで、Ultra2 SCSI の改良版です。Ultra3 SCSI 自体は Ultra2 SCSI よりも転送速度が速いというわけではなく、 ダブルエッジクロッキング、CRC、ドメインバリデーション、パケッタイズドSCSI、クイックアービトレーションうち最低1つを採用するという規格です。

技術 内容
ダブルエッジクロッキング 転送モードのクロックの立上りと立下りに計二回データを送ることで転送速度を Ultra2 SCSI の倍に当たる最大 160MB の転送速度を得る仕組み。
CRC CRC=Cyclic Redundancy Check で巡回冗長検査の事。偶数個エラーが発生すると検出できないパリティより強力なエラー訂正の仕組み。
ドメインバリデーション コンピュータが起動する際に各機器とのデータ転送をチェックして、サポートする最大転送速度で転送した場合に不具合が発生した場合に問題が起こらない速度まで落とすしてデータを転送するようにする仕組み。
パケッタイズドSCSI 複数のコマンドデータを同時に転送できるようにする仕組み。
クイックアービトレーション 接続されたある機器から他の機器へSCSIバスを切り替えるのを従来よりもスムーズに行うようにする仕組み。

1998年、Adaptec 社や Quantum 社などが Ultra160 SCSI を提唱しました。 Ultra160 SCSI は Ultra3SCSI のうち、ダブルクロッキングとCRC及びドメインバリデーションの三つをサポートする規格で実際に市場に出回っているUltra3 SCSI製品は、ほとんどこの Ultra160 SCSI です。

Ultra3 SCSI 自体は Ultra2 SCSI よりも高速な規格という位置づけではないのですが、Ultra160SCSI はダブルエッジクロッキングをサポートするので Ultra2 SCSI の倍の最大 160MB/s 転送することができます。

現在市場には Ultra320 SCSI というものが出回っています。この規格は、動作クロックを Ultra2 SCSI / Ultra160SCSI の倍の 80MHz に引き上げて最大転送速度を 320 MB/s にしたものです。 当初 Ultra4 SCSI 規格として標準化されていましたが、この名前に決まったようです。つまり、Ultra4SCSI の一部が Ultra320 SCSI ではなく Ultra4 SCSI = Ultra320 SCSI ということのようです。

SCSI の悲劇

以前、USB が普及するまで高速な外付け機器の多くが SCSI を採用していましたが、USB が普及してしまったために瞬く間に撲滅されてしまいました。現在はコンシューマ向けにはごく一部のユーザー向けに細々とリリースされているに過ぎません。

これは、パソコンに標準搭載されているUSB に対して SCSI は SCSI カードを別途入手する必要があったのと、SCSI 機器が全体的に高価だったことなどコスト的な理由と、パソコンを起動させる前に接続しなければならない事や配線や設定が煩雑で初心者に分かりにくかったという理由が大きかったようです。

また、以前は 内臓機器でも多くの機器が SCSI を利用していました。これは、SCSI が IDE に比べて安定した転送が可能だったことや、高機能だったのが理由です。ところが、両者ともに技術革新が進みIDE でも充分な性能が得られる(決して IDE が SCSI よりも性能がよくなったわけではない)ということになり、より安価な IDE 機器が一気に普及し、SCSIはハイエンド向けに一部残るだけとなってしまったのです。

SCSI の利点

SCSIの利点は主に次の点でしょう。

まず SCSI は、USB や IDE に比べて CPU占有率が極めて低いのです。USB は一般的なインターフェースの中でもむしろ高めですし、IDEもバスマスター転送を採用して CPU に負荷をかけずに転送できるようになったとはいえその基本概念よりどうしても SCSI よりも CPU 占有率が高くなってしまいます。SCSI は CPU 占有率が低いために、パソコンの反応も速くストレスなく利用できるので性能以上に体感速度の差は大きく快適なアクセスを提供します。

また、CPU占有率が低いということは逆に CPU に負荷がかかっても転送に影響が出にくいということです。とくに HDD に激しくアクセスするような処理はCPU にも負荷がかかっていることが多く HDD への安定した転送に影響がでにくい SCSI の方がずっと有利になります。

また、転送速度が安定しているので、CD-R の焼きこみやキャプチャーなど常に一定の転送速度が確保できる必要がある処理では、CPU の占有率が低いこともあいまって有利になります。

SCSI 機器は現在高級なハイエンド向けの商品がほとんどです。このため値は多少張りますが、しっかりした作りでIDE機器やUSB機器よりも製品全体として信頼性が高いです。とくにHDD などは、IDE HDD よりも故障などの確立はずっと少ないようで、さらに速度も同世代の IDE HDD よりも一般に高速です。