Small Computer System Interface
Small Computer System Interface(スモール コンピュータ システム インターフェース、小型計算機システムインタフェース)、略してSCSI (スカジー)は、主に周辺機器とコンピュータなどのハードウェア間のデータのやりとりを行うインタフェース規格の一つである。SCSIを使用可能にするインタフェース装置をSCSIインタフェースと呼ぶ。ANSI(米国規格協会)によって規格化されている。
目次
歴史
パソコンやワークステーションと周辺機器との接続インタフェースとして、シュガート社のSASIを拡張し、ANSIによって規格化されたバス型のインタフェースである。8bitまたは16bitのパラレルインタフェース。Ultra SCSIではシリアル型もある。
概要
SCSIバスの基本
SCSIバスは、周辺機器を接続するインタフェースではあるが、コンピュータと周辺機器という、主従関係ではなく、各機器が対等の動作をすることを基本として設計されている。入出力要求を行なう要求を出す機器(イニシエータ)から実際の動作を受ける機器(ターゲット)に対して指示を行ない、その結果を返す、という形で動作する。
一般には、インタフェース1台に複数のSCSI機器を接続するものであると認識されているが、実際には複数台のパソコンで1台のディスクを共有するなどの構成も可能な仕組みになっている。すなわち、イニシエータは1つのバス上に複数の機器が存在してもよい。しかし、実際には、コンピュータがバス上の唯一のイニシエータで、各周辺機器(ディスクやテープ装置など)はターゲットとしてのみ動くのが普通である。
図中、SCSIバスから各機器のコントローラやホストバスアダプタまでの接続線をスタブと呼称し、規格上は各々の機器につき15cmまでが許容されている。また、SCSIバス上での機器の間隔は25cm以上が推奨されている。
SCSIはバス形式ではあるが、各機器を数珠つなぎで繋いでいくため、ヒナギクの花輪になぞらえ「デイジーチェーン接続」とも言われる。各機器は1つのSCSIバスに接続しなければならない。また、バスの両端には信号の反射を防ぐため、ターミネータを接続しなければならない。なお、ターミネータは、必ずしもバス終端に接続されるわけではなく、ホストバスアダプタやSCSI機器に内蔵される場合もある。
SCSIバスに接続する各機器はSCSIデバイスと呼ばれる。各々0から7(または15)までの番号で区別される。この番号のことをSCSI IDという。通常、SCSI機器は各々、明示的にSCSI IDを設定しなければならないが、SCAMという拡張仕様を用いることで、自動的に設定することも可能である。
SCSI IDは、7→0,15→8の順にバス使用優先権が割り振られるため、コントローラのIDは7に、処理が遅くバスを頻繁に開放する機器(テープドライブやCD-ROM等)に優先順位の高い番号を割り当てる。
また、各々のSCSIデバイスは、さらにユニットを8つまで持つことができる。これをロジカルユニットという。各ロジカルユニットには番号がつけられる。この番号のことをLUN (Logical Unit Number) という。ロジカルユニットは、1つのデバイスで複数の媒体を持つことができる多連装CD-ROM装置や、ディスクアレイ装置、多連装テープ装置などで使われる。
もっとも、一般向けの機器でこれを用いているのはPD、DVD-RAM、多連装CD-ROMドライブ程度であるため通常の使用においてはまず気にする必要は無い。
SCSI装置の区分
SCSI装置はいくつかの種類ごとにカテゴリ分けされる。たとえば、ディスク装置、テープ装置などであり、それぞれのカテゴリごとに利用できるコマンド類が定義される。これは、ディスクはランダムアクセスできるが、テープはシーケンシャルアクセスしかできないため、ランダムアクセスのコマンドは定義しようにもできないからである。
SCSIのバス幅
並列(パラレル)SCSIでは、8ビット幅 (NARROW) では50芯、16ビット幅 (WIDE) では68芯のケーブルを用い、各機器をバス接続する。バスの両端には終端抵抗(ターミネータ)が必要である。NARROWでは8台、WIDEでは16台のSCSI機器を接続できる。ただしインタフェースボードがIDを一つ消費するので、実際に接続可能な機器はNARROWで7台、WIDEで15台となる。
なお、SCSI-2の16/32ビットWIDEはNARROWにケーブルをもう1本追加するものであったためまったく普及せず、Ultra SCSIで廃止され、新たに16bit WIDEが規定された。 通常、WIDEといえばUltra SCSIの16bit WIDEを指す。
規格
規格の基本
SCSIは何度か規格を更新し、速度の向上や機能の追加が行われている。
- SCSI-1
- 1986年にANSIにて制定された最初の規格。HVD(電圧差動型)もこの時点で制定されている。
- CCS (Common Command Set)
- SCSI-1制定後、色々と開発されたHDD以外の製品などの制御方式を統一するために業界が制定したコマンドセット。ANSIとは無関係である。
- SCSI-2
- 1989年にANSIで制定。CCSをベースに、Fast10、16bit/32bit WIDE(要オプションケーブル)、ケーブル、ターミネータの抵抗値、コネクタ形状、パリティの必須化、記憶装置以外の周辺機器(モデム、スキャナ等)の接続機能等が規格化された。
- Ultra SCSI
- 1992年にANSIで制定。WIDEの再定義、シリアルSCSI、Fast20等、包括的に様々な仕様が定義された。これ以降の機能追加 (Ultra2、U160、U320) はUltra SCSIの改訂と言う形で行われている。
SCSI-1や2という規格名より、Narrow SCSI、Farst SCSI、Wide SCSIなどという名称のほうが一般的である。またUltra SCSIの事をSCSI-2の次の規格のためSCSI-3だと良く勘違いされるが、実際にはSCSI-3という規格は存在せずUltra SCSIというのが規格の正式な名称である。
SCSIには、転送速度やバス幅以外にも電圧、伝送方式による違いがあり、現状、SE(シングルエンド)、HVD(ハイボルテージディファレンシャル)、LVD(低電圧差動型:ローボルテージディファレンシャル)の3種類の機器が流通している。SEとLVDに関してはピン互換性があり、また、電気的に相互に接続する事が可能となるよう設計されているが、HVDについては、電気的互換性が考慮されていないため、誤って接続すると機器の故障の原因となるので注意を要する。
規格群 | 規格 | 省略形 | 周波数 | 速度 (MB/s) |
バス幅 | 最大バス長 | 備考 | ||
---|---|---|---|---|---|---|---|---|---|
LVD | SE | HVD | |||||||
SCSI-1 | SCSI | 5MHz | 5 | 8bit | 6m | 25m | 一般には単に「SCSI」と言えばこの規格 | ||
SCSI-2 | Fast10 | 10MHz | 10 | 8bit | 3m | 25m | FastSCSI | ||
SCSI-2 | 10MHz | 20 | 16bit | 3m | 25m | FastWideSCSI | |||
SCSI-2 | 10MHz | 40 | 32bit | 3m | 25m | 32bit FastWideSCSI | |||
Ultra SCSI | Ultra/Fast20 | U | 20MHz | 20 | 8bit | 1.5m | 25m | UltraSCSI 3台以下の場合SEで3m | |
Ultra SCSI | Ultra Wide | UW | 20MHz | 40 | 16bit | 1.5m | 25m | Wide Ultra SCSI | |
Ultra SCSI | Ultra2 | U2 | 40MHz | 40 | 8bit | 12m | 1台のみの場合25m 通常はU2Wが使われる | ||
Ultra SCSI | Wide Ultra2 | U2W | 40MHz | 80 | 16bit | 12m | |||
Ultra SCSI | Ultra160 | U160 | 40MHz DDR | 160 | 16bit | 12m | Ultra3 SCSI ドメインバリデーションを追加 | ||
Ultra SCSI | Ultra320 | U320 | 80MHz DDR | 320 | 16bit | 12m | 現行規格 | ||
Ultra SCSI | Ultra640 | 160MHz DDR | 640 | 16bit | 12m | SE機器の接続は保証されない。廃案 | |||
Ultra SCSI | Ultra1280 | 1280 | ジョークで規格提案された |
また、パラレルSCSIの開発はU320で終了し、次世代のSCSIはシリアル(Serial Attached SCSI、SAS)で一本化される事になっている。
コネクタ
内部接続コネクタはSCSI-1時代には規格化されており、SCSI-2で追加されたWide規格においては、SCSI-1からの8bit幅の50ピンケーブル(Aコネクタ)と、オプションの68ピンケーブル(Bコネクタ)を併用する必要があった。 Ultra SCSIにてWideの再定義を行い、68ピンケーブル(Pコネクタ)一本で16bitWideが使用可能になった。32bitWideを使用するときはもう一本68ピンケーブル(Qコネクタ)を併用する必要があったが、1つのバスに多くの機器を(しかもケーブル2本使用してまで)接続する必要も現実問題として無く(32bit規格は理論上32台のデバイスをサポートしている)、転送速度のアドバンテージもLVD化により薄れ、LVD規格では32bit規格はドロップされた。
SCSI外部機器がケーブルの接続に使用するコネクタは、SCSI-2/Ultra SCSIで規格化され、NarrowはD-Sub 50pin ハーフピッチコネクタ、Ultra SCSIの16ビットWideは内部接続と同じ D-Sub 68pin ハーフピッチコネクタに固定用の螺子を追加した物が使用される。ただ、ピン形状やコネクタ形状、螺子穴の位置は規格化されているが、それを覆うコネクタカバー部の厚さと螺子の切り方(インチ螺子なのかJIS螺子なのか)には規定が無く、機器と干渉する場合もある。
また、RAIDカードや複数チャネルを持つコントローラは狭いスロットカバーに複数のWideケーブルを接続出来るようにする為、超高密度68pinコネクタを採用している。
SCSI-1時代には、内部接続コネクタ形状のみ規格化されていたため、一般的にはセントロニクスコネクタと同様なベローズ形状のフルピッチの50ピンコネクタが使用されていたが、アップルのMacintoshやIO-MEGAのZipドライブではRS-232Cと同じD-SUB 25pinが、また、日本電気 (NEC) のPC-9800シリーズでは、ベローズ形状をシュリンクしたSCSI-2のそれと同サイズのコネクタを採用している。 NECのEWS4800シリーズはこれに加え、ケーブル側コネクタの外周部に2つの突起があり、機器側のマイクロスイッチでケーブルが接続されているか否かを判断する仕組みが追加されている。このため、一般のSCSI機器にEWS4800用のSCSI機器は接続出来ない(逆は可能)。
ターミネータ
ターミネータ(terminator, 終端抵抗)には外部に接続するもの、SCSI機器内部のコントローラ基板上にあるものの二種類がある。また、動作方式としてパッシブターミネータとアクティブターミネータがある。
パッシブターミネータは単に抵抗をバスラインに接続するだけである。一方アクティブターミネータは、抵抗だけでなく、能動素子を使っている。SCSI-2以降はアクティブターミネータの使用が必須であり、その回路はSCSIの規格書に記載されている。
SCSI機器の動向
日本でも各種パソコンやワークステーション(PC-9800シリーズ、FMR/FM TOWNS、X68000や、また、日本国内で販売されたMacintosh、SUNなど)でハードディスクドライブ (HDD) やイメージスキャナ、CD-ROM、MOなどを接続する高速インタフェースとして使われてきた。PC-9800シリーズやMacintoshでは、SCSIが記憶装置や入出力装置の標準インタフェースとなっており、PC-9800シリーズではSCSI接続したMOディスクからも起動が可能であった。また、MacintoshではSCSI接続した本体を外付けハードディスクとして利用する、ターゲットディスクモードと呼ばれる仕様(接続先から起動も可能な仕様になっていた)も用意されている。FM TOWNSも登場時はSCSIを標準搭載としていた。これらの機種のようにフロッピーディスクドライブとHDDのいずれからもシステムの起動に失敗した場合に、SCSI接続機器から「第三の選択肢」としてシステム起動を試みることができる仕様となっていたものもあり、当時潤沢ではなかったシステム資源を有効活用する面でも重要な選択肢として活躍した。
その一方で、PC/AT互換機では、内蔵HDDは歴史的にST-506を始祖とするIDEが主流であり、主に外付けCD-ROMやMO等の接続の為に使用されていただけだった。CD-ROMについてはコスト削減のため、内蔵化され、SoundBlasterのMKEやミツミ、SONYの独自接続規格を経て1996年頃からはATAPIによる接続が主流となった。
MOやイメージスキャナなど、他の外付け周辺機器についても2000年頃からUSB 1.1(さらに2002年頃からは、より転送速度が速いUSB 2.0)やIEEE 1394に取って代わられた状況である。
Macintosh(特にiMac以降)でも同様に、HDDやCD-ROMといった内蔵機器はIDE、MOやイメージスキャナなどの外付け機器はUSBやIEEE 1394に置き換わっている。ターゲットディスクモードも、IEEE 1394でサポートされている。
高速な処理速度が強く求められるサーバ用途では、CPUへの負荷を抑えられることから、現在でもSCSI接続のハードディスクが主に用いられている。この場合、故障に対する耐性を高める目的で、冗長性を持たせるためRAID構成(RAID1、あるいはRAID5)として用いられることが多い。
また一般用途でも、日常的にアクセスする外付けHDDを増設する場合、USBやIEEE1394はバスパワー供給の干渉で論理的に切断される現象がまれに発生するため、これを嫌ってSCSIを採用するユーザも少なからずいる。この場合、現在はSCSI用のHDDが非常に高価なため、ATA、シリアルATAのHDDをSCSIに接続する為の変換基板(ATA-SCSIブリッジ、S・ATA-SCSIブリッジ)が使用されることが多い。
複数のイニシエータを持つことが出来る事から、コンピュータクラスタのストレージ用バスとして使われている。ストレージを共有することで個々のストレージへのアクセスをモニタするオーバーヘッドを削減し、異常事態が生じてフェイルオーバーする時は最終状態が保存されているストレージにアクセスできるため瞬時にクラスタ構成要素を切り離したり代替する事ができた。これはIEEE 1394にも引き継がれている。
一般向けでもSCSIのハードディスクが多用されていた時代には、ドライブユニットはIDEと同じで、制御基板のみ差し替えていた製品が多くを占めていたが、近年のSCSIハードディスクは、サーバでの使用が前提となっているため、専用設計となり、小口径プラッタ採用によるシーク速度性能の向上や、信頼性確保の為、IDEハードディスクとは文字通り桁違いのMTTF(Mean Time To Failure: 平均故障時間)を実現している。
また、IPネットワーク技術の進展にともない、SCSI機器をIPネットワーク経由で接続するための iSCSIという規格がIETF (Internet Engineering Task Force) において標準化されている。従来のストレージエリアネットワーク (SAN) ではファイバチャネルが使われることが多かったが、コストが高くなりがちである、ファイバチャネルに精通した技術者が少ない、などの問題点があった。これに対し、IPネットワーク機器は広く普及しており、IP ネットワーク技術に関連した技術者も多いことから、iSCSIをベースとしたSANに対する注目が高まっている。
読み方
テンプレート:未検証 「スカジー」という発音は英語圏での一般的な発音「scuzzy(スカジィ)」が元になっている (が、英語圏でも「sexy(セクシィ)」などの異称が存在する)。コンピュータ用語辞典等では、"「スクジー」と呼ぶのが正しい。"とされている。
- 日本では「スペイン語圏の人間が英語で「Excuse me」を発音した時の音が元になっていると言う説」が流布されているが、誤謬の可能性が高い。スペイン語で英語の「Excuse me」をそのまま発音すると「エクスクセメ/エスクセメ」となり、またスペイン語に訳した場合はまったく違う言葉になる。あるいは強引に「excuse」を言い訳の意として「excusa」に訳しても読みは類似しない。
- 英語の「Excuse me」をスペイン語に類似するイタリア語に訳した場合「Scusi(スクゥジィ)」となり、「SCSIをイタリア語のScusiに見立ててイタリア語読みをした」という説が誤って流布した可能性がある。
補足
- 「SCSIインタフェース」というInterfaceが二重になったような言い方をされることがある。これは「SCSIという規格に合致したインタフェース機器」という意味で解釈すれば、必ずしも間違いではないが、混乱を避けるには「SCSIカード」「SCSI端子(ポート)」などと言う。
- SCSIのインターフェイスカードはHost Bus Adapter (HBA) と呼ばれる。これはストレージシステムにおいて、ディスク側にもアダプターが実装されることもあり、ホスト (PC) 側のアダプターであることを明示する必要があるからである。
- SCSIは、ホットスワップ(電源投入後の脱着)に対応しておらず、起動後に機器を繋いでも認識されない。認識させる為にはコンピュータの再起動が必要であり、外部周辺機器でホットスワップにも対応している、USBやIEEE 1394に取って代わられたひとつの要因と言える。
- SCSIの規格としては、接続さえしておけばホストアダプタ側の電源投入後も機器側のコネクト/ディスコネクトが可能となっている。ただしOS又はドライバが対応している必要がある。たとえばWindows95以降であればOS起動後にHDDの電源を入れても、デバイスマネージャからデバイスの更新操作を行えば再スキャンが行われ再設定される。
- 2006年現在、日本国内で販売されている一般向けのSCSI機器は、HDDのベアドライブを除けば、IDE→SCSI変換基板を介したものがほとんどである。ある意味、初期のST-506+変換基板の時代に回帰したとも言える。
- NECの超並列コンピュータ Cenju の外部SCSIコネクタは一部配線が間違えて接続されているため、最初の機器を接続する場合、専用のケーブルを購入しなければならない。
- PC-9800シリーズの初期の純正SCSIボード (PC-9801-55) において、NEC製以外のHDDを接続すると認識しないという処置がされており、たちの悪いプロテクトであると一般に思われている。しかしこれは、当時SCSIの代替セクタの解釈にゆれがあり、他社製HDDをつなぐとトラブルが起きる可能性があるため、やむなくとられた措置である。とはいえ、このために純正ボードがリファレンスとして機能せず、サードパーティのHDDは自社のSCSIボードとのセット販売が主流となり、互換性をめぐる混乱(HDDを他社のボードにつなぎかえるとジオメトリの違いによりパーティションが認識されない)を引き起こす遠因となったことは否定できない。55ボード問題を参照。
- PC-9800シリーズにおける純正インターフェースボードが、SASIのものとSCSIのもので別々のコントローラを使用していて非互換であるため、日本においてはSASIとSCSIは別物であると考えられている事が多い(これは、同様にPC-9800シリーズ、FMRシリーズとその上位互換であるFM TOWNSで、当初IDEに専用のI/Oが定義されず、ソフトウェア上はSASIの上位互換として処理する事で導入された経緯もある)。しかし実際には、元々SASIを大幅に拡張した上で規格化したものがSCSIであり、SCSIはSASIの上位互換規格となっている。このため、プロトコルシーケンスを全てソフトウェアで実現する原始的なSASIコントローラの場合、ソフトウェア次第ではSCSIデバイスを接続することも不可能では無い。実際、PC-9801用SASIボードにSCSIのHDDを接続するためのドライバソフトは存在する。また、X68000でも、SCSIインターフェイス搭載以前の機種で、本来はSASIのインターフェイスに対し、SCSIプロトコルをソフトウェア的に実装し、接続を実現したSxSIというドライバが存在する。またSCSI普及初期には、一部サードパーティ製SCSIボードにSASIのHDDが使用可能なものがあったり、SCSI/SASIを切り替えて使えるHDDなども存在した。