Ultra320 SCSIの仕様を含むINCITS T10技術委員会のドラフト仕様「Information technology - SCSI Parallel Interface-4 (SPI-4)」が、「ANSI INCITS 362:2002」として2002年11月に無事標準化を終えた。これに伴い、2003年に入ってUltra320 SCSIに対応したホストコントローラ、ホストアダプタ、HDDなどが続々と登場し、ようやくUltra320 SCSIを不自由なく利用できる時代が訪れた。 Ultra320 SCSIの高性能化、高機能化を支える技術については本連載の第2回目「最近のSCSIについて思うこと」でいくつかご紹介したが、高性能化や高機能化を達成するには、まずUltra320 SCSIの高速な信号を適切にハンドリングできる強靱な“足回り”が必要になる。今回は、こうしたUltra320 SCSIの足回りを強化する高度な信号補正技術について解説する。 ●原理的に高速化には向かないパラレルSCSIの設計 パラレルSCSIは、16bit幅のデータ(Wide転送時)とさまざまな制御情報を同時にやり取りするパラレル転送方式を採用しているため、原理的に高い周波数の信号を伝送するのには向いていない。ましてや最長12mのSCSIバス長、最高15台(SCSIホストアダプタを除く)の接続可能機器数という、エンドユーザには嬉しいが技術者は冷や汗をかきそうなケーブリング仕様が追い打ちをかけている。 Ultra320 SCSIでは、320MB/secの最大データ転送速度を達成するために80MHzもの高周波信号をケーブル中に伝送する必要がある。しかし、80MHzという周波数は、放送局の電波にたとえればFM放送の中心周波数にも匹敵するものだ。こうした高周波信号は、波(もちろんベクトル波のことだが(笑))としての性質が強く表れるため、SCSIバスも分布定数回路として取り扱わなければならない。この結果、SCSIの信号パルスがSCSIバスを通過するときには、本来のデジタル論理回路では考慮しなくてもよい信号の反射、減衰、遅延といったアナログ回路的な問題が顕在化してくる。 ●SCSIバスの両端で発生する反射信号を吸収するターミネータ こうした高速なSCSIバスにおいて、まず問題となるのが信号の反射だ。これは、最新のUltra320 SCSIに限らず、オリジナルのSCSI-1が登場して以来、長らくユーザを悩ましてきた物理現象の1つだ。防波堤に打ち寄せる波の振る舞いと同じく、電磁波も性質の異なる部分に突入するときにその境界面で反射現象を引き起こす。SCSIバスでは、SCSIバスの両端、電気的特性の異なる外付けケーブルの繋ぎ目など、互いに特性インピーダンスの異なる境界面で信号の反射が発生する。そして、この反射信号が原信号と重なり合うことで、原信号が劣化したり、最悪のケースでは原信号の破損につながったりする。 このため、SCSIではターミネータ(終端抵抗回路)をSCSIバスの両端に設置し、インピーダンスマッチングを行なうように規定されている。これは、SCSIバスの両端で発生する大きな信号反射を抑えるための処置だ。デージーチェーン時の外付けケーブルの繋ぎ目で発生する反射については、特性インピーダンスが同一の外付けケーブル(安全なのは同一メーカかつ同一型番のケーブル)ですべての機器を接続することにより対処できる。 ターミネータには、パッシブ方式とアクティブ方式の2種類がある。パッシブ方式は、抵抗器のみから構成された抵抗分圧型のターミネータで、SCSI-1時代に登場したものだ。終端抵抗の性能はあまり高くなく、現在ではもう使用されていない。アクティブ方式は、ボルテージレギュレータによって終端抵抗用の電源(TERMPWR)の電圧変動を補償し、ターミネータ内のシリーズ抵抗とSCSIバスの特性インピーダンスをうまく一致させられるようにした改良タイプだ。SCSI-2のときにターミネータの新しいバリエーションとして追加されたもので、現在では事実上必須の方式となっている。 ●トレーニングパターンの受信結果に基づいてスキュー補正を行なう そして、SCSI規格の世代が進み、信号の周波数が高まるにつれて、信号の減衰や遅延の問題も顕著化してきた。Ultra320 SCSIの世代になると、プリント基板の配線レイアウト、ケーブル中の信号線長の微妙な違い、ケーブル素材の電気的特性の違い、ケーブルやこれに接続されたSCSI機器の容量成分、外部からの各種ノイズなど、さまざまな部分からの影響をもろに受けるようになる。 まず対処しなければならないのが、信号の遅延によって発生するスキュー(skew)の問題だ。スキューとは、ドライバ(送信側)から同時に送出された複数ライン上の各信号がレシーバ(受信側)到達時にはズレて到着する、その時間差のことだ。特にデータ信号とクロック信号の間に大きなスキューが発生した場合、データ転送のタイミングをとるときに大きな支障をきたす。 そこで、Ultra320 SCSIでは、伝送中に発生したスキューを補正して各ライン上の信号のタイミングを揃える機能が導入された。こうしたスキューの補正量を決定するには、トレーニングパターンが使用される。トレーニングパターンとは、ドライバからレシーバに送信される事前に決められた既知のデータパターンのことだ。通常は、各データ転送の前や一定時間後、もしくはシステムに新しい機器が追加されたときに発生するバスリセットの後などに送信される。レシーバは、受信したトレーニングパターンのスキューに基づいて補正量を決定し、後続するデータ転送の全信号に対してスキュー補正を適用する。 ●信号補正に適したペース転送を新たに導入 また、スキュー補正を実装するために、ペース転送(paced transfer)と呼ばれるシグナリング方式が新たに導入された。ペース転送とは、データ信号とクロック信号でまったく同じ信号遷移をとる方式だ。従来の同期転送方式は、クロック信号とデータ信号の位相が90度ずれており、クロック信号のエッジとデータ信号のハラでタイミングをとっていた。ところが、ペース転送はクロック信号とデータ信号の位相が揃っており、信号のエッジ同士がぴったり重なる形となる。 このようなシグナリング方式をとった理由は、トレーニングパターンの受信結果からスキュー補正量を算出する際に、クロック信号に対するデータ信号の位相差を計測しやすくするためだ。Maxtor, Server Products Group, Senior Staff EngineerのMark Evans氏によれば、「従来の同期転送方式でもスキュー補正を実装することは可能だが、ペース転送を導入したほうがSCSI ASICのゲート数を削減できる(回路を単純化できる)」とのこと。 なお、ペース転送が有効なのは、トレーニングパターンに基づいて計測が行なわれる区間に限られる。例えば、受信側では、スキュー補正を行なったら、信号検出器の前でクロックシフト回路により従来の同期転送と同じ位相差90度のスタイルに戻す。こうすることで、レシーバは従来のSCSI規格と同じスタイルで信号を受信できるようになる。 ●前置補正やAAFによる信号波形の補正 周波数の高い信号パルスは、前後の信号パルス間の間隔が短くなるために符号間干渉(ISI:InterSymbol Interference)の問題も引き起こす。符号間干渉とは、ある信号線上の信号遷移(信号パルス)がその信号線上の直前または直後の遷移に与える影響のことだ。Ultra320 SCSIでは、クロック信号にあたるREQ/ACKやデータの有効/無効を示すP1と呼ばれる信号にFRC(Free Running Clock)を採用し、符号間干渉の問題を大幅に軽減している。FRCは、隣接するパルスに対して時間的位置をシフトさせるように干渉する特殊な信号で、隣接する先行のパルスを前方に、後続のパルスを後方にずらして符号間干渉を除去する。
さらに、ケーブル伝送中における誘電損失や表皮効果に起因する信号減衰、信号線間のクロストークなどによって、信号形状が歪曲する問題も発生しやすくなる。こうした問題に対して、多くのシステムは送信側、受信側での信号処理(イコライゼーション)により対処している。Ultra320 SCSIも例外ではなく、送信側での前置補正(pre-compensation、略してPRECOMP)もしくは受信側でのAAF(Adjustable Active Filtration)によって信号波形を補正している。 まず、前者の前置補正だが、これは非常に単純な信号補正機能だ。信号の減衰は、その周波数が高いほど大きくなるため、原則的には送信側であらかじめ高い周波数成分を強くしておけば、受信側で都合の良い信号形状が得られることになる。そこで、前置補正では、高周波成分を含む信号遷移の最初の部分を従来の強さでドライブし、それ以外の部分を弱くドライブすることで、相対的に高い周波数成分を強く送出している。 ただし、特定のケースにおいて低周波成分のカットバック(縮小)がどの程度必要なのか、またSCSI機器のホットスワップなど、システム構成の変化に対してどのように補正すればいいのかといった情報が受信側から送信側にまったくフィードバックされない。このため、SCSIシステムに固有の特性を前置補正に反映することができないという欠点を持つ。 後者のAAFは、前置補正よりも高度な補正機能である。AAFでも、スキュー補正と同様にトレーニングパターンが使用される。レシーバで受信したトレーニングパターンには、信号ロスがほとんどない低周波成分と信号ロスが最もひどい最大周波数成分が存在する。そこで、AAFは各成分の振幅を測定し、高周波成分を低周波成分と同じ振幅となるようにイコライザの増幅率を調整する。AAFによる信号補正はスキュー補正とともに逐次行なわれるため、SCSIシステムの初期特性だけでなく、時々刻々と変わる特性もダイナミックに反映できる。この結果、前置補正と比較してはるかに高い精度で信号補正を行なえる。 Ultra320 SCSIでは、前置補正が必須、AAFがオプションと規定されている。ただし、前置補正ではあらゆるケースにおいて十分な信頼性を確保できないという理由から、アダプテックのSCSIコントローラやマックストアのSCSI HDDのように、AAFを最初からサポートしているUltra320 SCSI製品もいくつか発売されている。 もちろん、SCSIホストアダプタに1~2台のHDDを内蔵するような小規模システムでは、AAFの有無が運用上の信頼性に大きく影響することはない。ただし、SCSIバスを長めに設定したい、多くのSCSI機器を同時に接続したい、サーバケースに内蔵のRAIDユニットや外付けのディスクアレイなどでHDDのホットスワップを利用したいといったケースでは、AAFに対応した製品を選択し、信号マージンをできるかぎり確保したほうがいい。筆者個人としては、どのような使い方をするにせよ、Ultra320 SCSIでシステムを構築するかぎりは、安全のためにも「AAFに対応した製品を積極的に選択すべし」という考えだ。 ●Ultra320 SCSIは、パラレルSCSI規格の“血と汗と涙の結晶” 最後に、自称SCSI愛好者から熱い(?)メッセージを少々。SCSIは、オリジナルのSCSI-1が登場してから20年もの間、接続互換性を大事に守り続けてきた“堅気”なインタフェース規格だ。ケーブリングに関する制限は発生するものの、Ultra320 SCSIに対応したシステムに、SCSI-1に対応した最初期のSCSI機器を接続、利用することができる。また、最新のSCSI機器を接続する場合においても、これまで脈々と受け継がれてきたSCSIの伝統的な“流儀”に則って運用できる。 このように、エンドユーザがこれまでのSCSIシステムと同じように最新のSCSIシステムを安心して使用できるのは、エンドユーザの見えないところで数々のテクノロジが積み重ねられてきたから、もっと情熱チックにいえば“非常に涙ぐましい努力”が積み重ねられてきたからにほかならない。本稿を通じて、こうした新しいSCSI規格の“血と汗と涙の結晶”を皆様に少しでもお伝えできたら幸いだ。 □INCITS(InterNational Committee on Information Technology Standards) Technical Committee T10 (2003年6月18日)
[Text by 伊勢雅英]
【PC Watchホームページ】
|
|