写真1●富士通の「PRIMEQUEST 400シリーズ」
写真1●富士通の「PRIMEQUEST 400シリーズ」
[画像のクリックで拡大表示]
図1●PRIMEQUESTの構成
図1●PRIMEQUESTの構成
[画像のクリックで拡大表示]
図2●Pre-Emphasisによる効果<BR>Pre-Emphasisを施した信号ではエッジ形状がくっきりしていることが分かる。
図2●Pre-Emphasisによる効果<BR>Pre-Emphasisを施した信号ではエッジ形状がくっきりしていることが分かる。
[画像のクリックで拡大表示]
図3●MTL回路による伝送
図3●MTL回路による伝送
[画像のクリックで拡大表示]
図4●Data-Synchronousレシーバ(概念図)&lt;BR&gt;位相調整回路ではデータエッジの位相により,クロック位相を自動調整する。1ビットごとに調整回路を持つため,配線の等長化が不要。また,温度による抵抗値の変化や電源の変動などの環境変化が起こっても自動調整される。
図4●Data-Synchronousレシーバ(概念図)<BR>位相調整回路ではデータエッジの位相により,クロック位相を自動調整する。1ビットごとに調整回路を持つため,配線の等長化が不要。また,温度による抵抗値の変化や電源の変動などの環境変化が起こっても自動調整される。
[画像のクリックで拡大表示]
図5●Data-Synchronous方式の位相調整
図5●Data-Synchronous方式の位相調整
[画像のクリックで拡大表示]
表●MTL 仕様一覧
表●MTL 仕様一覧
[画像のクリックで拡大表示]
図6●実装置における観測波形とシミュレーション結果
図6●実装置における観測波形とシミュレーション結果
[画像のクリックで拡大表示]
写真2●FLNのダイ
写真2●FLNのダイ
[画像のクリックで拡大表示]

メインフレーム並みの信頼性を備えた富士通のIAサーバー「PRIMEQUEST」。LSI内部とLSI間の配線を2重化するなどの工夫で信頼性を確保した。中核となるのが,MTL(Mori-Muta Transceiver Logic)と名づけた高速・小振幅でコンパクトな配線が可能なLSI間インタフェース技術。伝送速度は1.3Gビット/秒で,同社の既存技術の2倍超を達成した。(編集部)

 今後はメインフレームが使われてきたようなミッション・クリティカルな領域でも,WindowsやLinuxが稼働するサーバーが主流になる。そう確信し,高度な基幹業務に耐えられる信頼性と性能を備え,高い価格競争力を持つIAサーバーの開発に2003年3月に着手した。約2年半の歳月をかけて,完成したのがPRIMEQUESTである(写真1[拡大表示],「PRIMEQUESTの概要」を参照)。

 本稿ではPRIMEQUESTの開発までの道のりと,その中核となる内部インタフェース技術MTL(Mori-Muta Transceiver Logic)について解説する。

Intelとの用語の違いでつまずく

 PRIMEQUESTの開発にあたって,まず検討したのがマイクロプロセッサの種類である。最高性能のオープンサーバーを目指すことを前提に検討し,Itanium2に決めた。

 富士通は長年,高信頼性を特徴とするメインフレームやUNIXサーバーを作ってきた。例えば,制御回路の2重化やECC(エラーチェックと訂正付加コード)によるアドレス/データの誤り訂正,オンボード・バスのエラーチェック機構(プロトコル・チェッカー)などの技術蓄積があった。そこで,PRIMEQUESTではIAサーバーにこれらの技術を投入して,高信頼なマシンを開発する方針を採った。

 ところが,IAサーバーではこれまで高信頼性に向けた取り組みをほとんど行ったことがなかった。このため,思わぬところで苦労した。

 検討の初期段階で,米Intel社と富士通で用語の使い方が違ったため,すんなり意思の疎通ができなかった。また,実装する上で必要な情報であっても,仕様書に書かれていない内容も多かった。

 例えば,Itanium2のエラーチェック機構へのアクセス方法,エラー検出時に発生する割り込みや例外の通知方法,ファームウェアでの処理などである。こういった問題を解決するために,Intelとマネージメント・レベルおよび技術者レベルで緊密な情報交換を行った。

 最終的には,システム全体のシミュレーション・モデルの相互提供,我々が開発した半導体についてトランジスタ回路図レベルの議論/検討にまで及んだ。こういった活動を通して,メインフレームの高信頼性技術のIAサーバーへの実装方法を決定した。

目標は柔軟性と高信頼の両立

 PRIMEQUESTを開発するに当たって,目標を四つ設定した。

 一つ目は,小規模(2~3CPU)から大規模(32CPU)までの拡張性を持ち,CPU数の増加によって性能を線形的に引き上げられることである。このために,SMP(Symmetrical Multi-Processor)アーキテクチャを採用した。

 SMPはどのマイクロプロセッサからもシステム資源(メモリーやI/Oなど)に均一にアクセスできる。このため,マイクロプロセッサの増加に応じて性能がほぼ線形的に増加する*1。またSMP方式には,物理的に近くに置かれた資源と高速に通信できるNUMA(Non-Uniform Memory Access)方式よりも扱いやすいというメリットがある。NUMAでは,なるべく近くの資源を使うようにソフトウェアを変更,チューニングしないと性能を引き出せない。

 二つ目は信頼性向上のために随所にエラー検出回路とエラー修正回路を実装すること。メインフレームが備えるエラー監視/訂正機能を実装することで解決しようと考えた。

 三つ目は,システムを分割して動かすパーティショニング機能を実装すること(図1[拡大表示])。マイクロプロセッサやメモリーが搭載されたシステムボード単位,およびPCIスロットやLAN,SCSIコネクタなどのI/Oインタフェースを搭載したI/Oボード単位で任意にシステムを構築できるようにする。そこで,四つのマイクロプロセッサを搭載したシステムボードとI/Oボードを最大8枚組み合わせる構造を考案した。

 最後に,高信頼性のためにアドレスバス,データバス,チップセットの内部をすべて2重化し,異常を発見した場合は部分的に切り替え,切り離しできることである。

 これらを実現するためには,システムを構成するチップがすべて同期して高速で動く必要があった。しかも,場所によっては数十cmという長い距離を結線しなければならない。汎用のチップ間接続インタフェース技術に利用できるものはなく,富士通内部にもなかった。そこで,開発したのがMTL(Mori-Muta Transceiver Logic)である。

設計方針
MTL開発で取り組んだ五つの課題

 前述したように「PRIMEQUEST」のシステム開発にあたっては価格競争力を最重要ポイントとして取り組んだ。チップ間接続インタフェースの開発もこの基本方針にのっとり,以下の五つの課題に取り組んだ。

(1)チップセット間の高速伝送

 各チップ間を接続するバスの伝送速度がサーバー・システム全体の性能とコスト,他社との性能競争に大きな影響を与える。具体的には,信号線1本当りの伝送速度を向上できれば,求められるスループットを達成するのに必要な信号線数を少なくできる。結果としてチップ当たりのピン数とボードの配線数が減らせるのでコストを大幅に低減できる。

 そこで,銅線1本当たりの転送速度を可能な限り速くすることを至上課題とした。当初の目標は,従来から当社が持っている技術に対して約2倍の速度である1.0Gビット/秒だったが,その後の他社状況,市場動向,Itanium2のロードマップなどを考え,最終的には1.3Gビット/秒を目標とした。技術的には,従来技術で課題となった信号エッジ波形の鈍り,配線長の違いによる信号遅れ,温度や電圧の変化によるクロックとデータ間のタイミングのずれ,クロック信号の高周波減衰による伝送距離限界の解決に向けて取り組んだ。

(2)1000本以上の多ピン対応

 MTLのバスはメモリー・スループットの観点から16バイト幅とした。システム全体の2重化を実現するために同じ信号を2系統ずつ持ち,さらに複数のチップと接続するためにはチップ当たり1000本以上のピンが必要になった。この要件を満たした上で,チップサイズの縮小を図りチップ歩留まりを確保するためにI/Oマクロの小型化に努めた。チップサイズを18.0mm角,そのうち50%の面積を内部ロジック,残りの50%をI/O回路と電源間キャパシタが占めると仮定し,I/Oマクロの目標サイズを250μm角程度とした。

(3)基板層数の削減

 基板層数の削減はコスト低減に大きなインパクトがある。基板製造装置を含めたトータルコストと層数を増やした場合の性能向上,基板設計の容易性とのトレードオフを考えて決定した。層数を抑える手段として,I/O回路側では信号線本数を減らす工夫,線長調整を必要としない位相調整方法を前提に検討を行った。

(4)最大60cmの伝送

 MTL回路を使うシステム用基板の大きさを考慮するとチップ間の信号線は最長60cm引き回す必要がある。線長が長くなると,受信信号が弱くなるためノイズの影響を受けやすくなる。そこで基板内で発生する信号間および電源のノイズ低減方法,信号の減衰対策を検討項目とした。

(5)クロック位相調整の自動化

 既存技術では,データと同時にSource-Clock*2を伝送するSource-Synchronous方式を採用し,各チップ間のクロック位相を電源投入時にボードごとに自動調整する。このとき,チップ間でタイミング調整のためのシーケンスがあり,調整ポイントが多いために作業時間がかかっていた。また,システム動作時には電源/温度といった外部環境による信号タイミングのばらつき(スキュー)が増加し,性能限界の要因となっていた。

 こうした従来テクノロジでの課題に対応するために,タイミング調整用のシーケンスをなくし,稼働中にデータ線ごとに自動位相調整を行う仕組みを検討した。