(57)【要約】【課題】並列−直列アーキテクチャ内の伝送媒体と上位リンク層を有するプロセッサとの間の通信において、速度の低減を行うコアを含む通信システムを提供すること。【解決手段】コアは、低論理層と、論理層を伝送媒体に接続する直列レーンと、直列レーンに接続され、少なくとも２つの異なるデータ幅をサポートする少なくとも１つのセレクタとを含む。論理層はセレクタを制御し、複数のバッファが直列レーン中に置かれる。セレクタは、プロセッサの上位リンク層における速度低減を可能にする。プロセッサは、インフィニバンド・タイプのハードウェアで使用されるインターフェースの構成要素に特に適用可能である。
2004531933.tif 000002
【特許請求の範囲】
【請求項１】
並列−直列アーキテクチャの伝送媒体とプロセッサの間の通信を提供するコアであって、
前記プロセッサを前記伝送媒体に接続する直列レーンと、
前記直列レーンに接続された少なくとも１つのセレクタとを備え、
前記セレクタが、前記コアを通るデータの速度を変更するために前記直列レーンと選択的に係合するコア。
【請求項２】
前記セレクタの動作を制御するデータ・コントローラをさらに備える、請求項１に記載のコア。
【請求項３】
前記直列レーンが、前記データのさらなる速度変更を実施するためのバッファを備える、請求項１または２に記載のコア。
【請求項４】
前記バッファが、伸縮性のある先入れ先出し（ＦＩＦＯ）バッファを備える、請求項３に記載のコア。
【請求項５】
前記セレクタがマルチプレクサを備える、請求項１ないし４のいずれかに記載のコア。
【請求項６】
さらなるレーンと係合する前記セレクタによって、さらに速度調整が行われる、請求項１ないし５のいずれかに記載のコア。
【請求項７】
前記伝送媒体が、前記プロセッサとは異なるデータ速度で動作する、請求項１ないし６のいずれかに記載のコア。
【請求項８】
前記並列−直列アーキテクチャが、バイト単位でストリップされた並列−直列インフィニバンド・アーキテクチャである、請求項１ないし７のいずれかに記載のコア。
【請求項９】
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサを接続する少なくとも１つの伝送媒体と、
各プロセッサと前記伝送媒体の間のコアとを備える並列−直列通信システムであって、前記コアが、前記伝送媒体と前記プロセッサの間の通信を提供し、かつ
前記プロセッサを前記伝送媒体に接続する直列レーンと、
前記直列レーンに接続された少なくとも１つのセレクタとを備え、
前記セレクタが、前記コアを通るデータの速度を変更するために、前記直列レーンと選択的に係合する、
並列−直列通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全般的に、並列−直列アーキテクチャにおける伝送媒体とプロセッサの間の通信を提供する、入出力（Ｉ／Ｏ）データ伝送装置に関する。
【背景技術】
【０００２】
インフィニバンド（InfiniBand）（InfiniBand TradeAssociationの登録商標）アーキテクチャは、ハードウェアおよびソフトウェア業界全体が採用することができる、チャネル・ベースの交換ファブリック技術を世に出すための新しい共通Ｉ／Ｏ仕様である。インフィニバンド・ネットワーク１００に関連するネットワークおよび構成要素を図１に示す。インフィニバンド・ベースのネットワークは、インターネット上で音声、データ、映像を組み合わせるなど、広い帯域幅を必要とするネットワーク・アプリケーションを満足させるように設計される。インフィニバンド・アーキテクチャは、多数のハードウェアおよびソフトウェア会社を含むInfiniBandTrade Associationによって開発されている。その頑強な階層設計により、複数のコンピュータ・システムおよび周辺機器が、単一の高性能かつ高可用性のサーバとして、より簡単に共同で作動することが可能になる。
【０００３】
インフィニバンドは、ファブリックを中心とする、メッセージ・ベースのアーキテクチャなので、多様なネットワーク・アプリケーションにおけるクラスタ化、入出力の拡張、固有の接続に最適である。図１に示すように、インフィニバンド技術は、遠隔カード・ケージ１５の構築、あるいは接続ホスト３５、ルータ４０、またはディスク・アレイ５０への接続に使用することができる。インフィニバンドはまた、強化された故障分離、冗長性のサポート、内蔵型フェイルオーバ機能を特徴とし、ネットワークの高度な信頼性および可用性を提供する。高性能および信頼性を特徴とするので、こうした装置は、サーバおよび記憶域のネットワークを含めて、広範囲なネットワーク基盤の構成要素に対するソリューションを提供する。
【０００４】
図２に、図１に示したネットワークの一部分におけるインフィニバンドの構成要素の例示的な形の、ブロック図を示す。この構成要素は、入出力インターフェースを有し、各インターフェースが、ターゲット・チャネル・アダプタ（ＴＣＡ）１０、ホスト・チャネル・アダプタ（ＨＣＡ）２０、相互接続スイッチ装置３０、ルータ４０の一部をなし、このそれぞれが、インフィニバンド技術（ＩＢＴ）ネットワーク１００においてリンク２５を介してこれらの構成要素それぞれの間の専用集積回路（ＡＳＩＣ）を接続するインフィニバンド技術のリンク・プロトコル・エンジン（ＩＢＴ−ＬＰＥ）コアを含むＡＳＩＣコア・インターフェースを有する。ＩＢＴ−ＬＰＥコアは、物理層の上位レベルおよび下位リンク層においてすべてのＩＢＴ装置が必要とする範囲の機能をサポートする。ＩＢＴ−ＬＰＥコアはまた、ＩＢＴ帯域幅が必要とする全範囲、すなわち毎秒２．５ギガビットで動作する幅が４つまでのリンクを取り扱う。ＡＳＩＣの物理層の上位レベルおよびリンク層コアでのＩＢＴ−ＬＰＥコア（大型集積回路設計）は、InfiniBand Trade AssociationがＩＢＴＡ１．０仕様書（２００１年）で制定する標準に準拠する。こうしたアーキテクチャは、共用バス、ロード、ストア構成ではなくチャネル・ベースの２地点間接続を使用して、Ｉ／Ｏサブシステムをメモリから結合解除する。
【０００５】
ＴＣＡ１０は、インフィニバンド・タイプのデータ記憶装置および通信構成要素用のインターフェースを提供する。インフィニバンド・アーキテクチャの性能上の利点を高めるインフィニバンド・アダプタの作製は、インフィニバンドおよび固有Ｉ／Ｏアダプタの設計のための協働的かつ共同処理的手法によって実施される。ＴＣＡ１０は、インフィニバンド・ファブリックへの高性能インターフェースを提供し、ホスト・チャネルは、待ち行列、共有メモリ・ブロック、ドアベルからなる、あまり複雑でないインターフェースを使用して、ホスト・ベースのＩ／Ｏコントローラと通信する。ＴＣＡおよびＩ／Ｏコントローラはともに、インフィニバンドＩ／Ｏチャネルの深層アダプタ（ｄｅｅｐ  ａｄａｐｔｅｒ）として機能する。ＴＣＡは、待ち行列間でのデータの移動と、インフィニバンド・ネットワークにおけるホスト・バスおよびパケット上でのメモリの共有とに必要な機構全体をハードウェアで実装する。ハードウェア・ベースのデータ移動と、ホスト・ベースのＩ／Ｏコントローラ機能と並列に作動する最適化されたキューイングおよび相互接続スイッチの優先度調停方式の組合せは、インフィニバンド・アダプタの性能を最大化する。
【０００６】
ＨＣＡ２０は、ホスト・バスから二重の１Ｘまたは４Ｘのインフィニバンド・ネットワークへの接続を可能にする。これにより、既存サーバがインフィニバンド・ネットワークに接続され、インフィニバンド・ファブリック上の他のノードと通信できるようになる。インフィニバンドＨＣＡへのホスト・バスは、二重のインフィニバンド・インターフェース・アダプタ（物理レベル、リンク・レベル、およびトランスポート・レベル）、ホスト・バス・インターフェース、直接メモリ・ターゲット・アクセス（ＤＭＡ）エンジン、管理サポートを統合する。ホスト・バスは、ＨＣＡに直接接続された、チャネルが装置上にあるメモリ、またはチャネルが装置上にないメモリのいずれかに接続関連情報を格納する、階層メモリ構造を実装する。ホスト・バスは、双方向でのアダプタ・パイプラインのヘッダおよびデータ処理を特徴とする。２つの埋め込みインフィニバンド・マイクロプロセッサおよび別個の直接メモリ・アクセス（ＤＭＡ）エンジンにより、並行した送受信データ経路の処理が可能になる。
【０００７】
相互接続スイッチ３０は、８つのインフィニバンド・ポートおよび管理インターフェースを組み込んだ８ポートの４Ｘスイッチとすることができる。各ポートは、別のスイッチ、ＴＣＡ１０またはＨＣＡ２０に接続することができ、高性能なインフィニバンド・ベースのネットワークで共に作動する複数のサーバおよび周辺機器の構成を可能にする。相互接続スイッチ３０は、各ポートの物理層およびリンク層を統合し、フィルタリング、マッピング、キューイング、調停機能を実施する。相互接続スイッチは、グループ同報のサポートと、実施カウンタおよび誤りカウンタとを含む。管理インターフェースは、構成および制御機能を実施する管理プロセッサに接続される。相互接続スイッチ３０は通常、６４ギガビットの最大総チャネル・スループットを提供することができ、バッファ・メモリを統合し、１ポートにつき最大４本のデータ仮想レーン（ＶＬ）および１本の管理ＶＬをサポートする。
【０００８】
図３は、インフィニバンド伝送媒体２８０（図２に示したリンク２５）を、専用集積回路（ＡＳＩＣ）２４６（図２に示したＴＣＡ１０、ＨＣＡ２０、スイッチ３０、ルータ４０など）に接続するコア論理２１０を示す。図３に示すコア論理２１０は、後で説明する本発明を用いて改良される。しかし、図３に示すコア論理２１０は従来技術ではなく、本発明の出願時点では、当業者には一般に公知ではない。送受信データ伝送媒体クロック２８０は、異なる周波数（たとえば、受信経路上では２５０ＭＨｚ＋／−１００ｐｐｍ、コア論理２１０の送信データ経路は２５０ＭＨｚで動作する）で動作することができ、同様にＡＳＩＣ２４６のクロック速度（たとえば、６２．５ＭＨｚ）と比べて異なる周波数で動作することができる。
【０００９】
処理中のデータ信号の異なる速度を調整するために、コア論理２１０は、直列化／非直列化（ｓｅｒｉａｌｉｚａｔｉｏｎ／ｄｅｓｅｒｉａｌｉｚａｔｉｏｎ、ＳＥＲＤＥＳ）ユニット２２５を含む直列化部分２７０を含む。このような直列化／非直列化ユニットの構造および動作は、当業者に公知であるので、本明細書では詳しく述べない。
【００１０】
インフィニバンド伝送媒体２８０は、リンク２５を形成する、バイト単位に分割された多数の直列伝送レーン２００から構成される。受信直列化／非直列化ユニット２２５は、伝送媒体２８０からの信号を非直列化し、周波数を、コア論理２１０が受入れ可能なものに低減させるのに十分な変換を実施する。たとえば、直列化／非直列化受信ユニット２２５が、一度に１０ビットを非直列化する動作を行った場合、１０から１への低減が生じ、伝送媒体２８０上での毎秒２．５ギガビットの速度が、コア論理２１０が受入れ可能な２５０ＭＨｚの周波数に低減される。
【００１１】
コア論理２１０はまた、周波数訂正ユニット２６０を含む。伝送媒体２８０に沿って伝播する信号の周波数は、常にこのワイア・スピードで発生するわけではなく、所望の周波数をわずかに上回るか下回ることもある（たとえば、最大１００ｐｐｍ）。この周波数の不整合は、直列化／非直列化ユニット２２５を介して伝達される。周波数訂正ユニット２６０は、ＦＩＦＯバッファ２６１を含み、このバッファは、周波数が一様に２５０ＭＨｚの信号を上位層論理２５０に提供するために、直列化／非直列化ユニット（ＳＥＲＤＥＳ）２２５によって出力される信号を緩衝する。
【００１２】
上位リンク層論理２５０は、周波数訂正ユニット２６０から出力された信号の周波数を、ＡＳＩＣ２４６が受入れ可能な周波数に変換する、さらなるＦＩＦＯバッファ２５１を含む。ＡＳＩＣ２４６から伝送媒体２８０に信号を送信する際には、上記プロセスは逆になり、上位リンク層論理２５０はＦＩＦＯバッファ２５３を使用する。同様に、直列化ユニット２７０は、他の送信直列化／非直列化ユニット２２７を使用する。伝送媒体２８０に送信中の信号に対して、周波数訂正ユニット２６０が訂正を行う必要がないことに留意されたい。なぜなら、ＡＳＩＣ２４６が生成する信号は、一般に訂正する必要がないといえるからである。
【非特許文献１】
InfiniBand Trade Association、ＩＢＴＡ１．０仕様書（２００１年）
【発明の開示】
【発明が解決しようとする課題】
【００１３】
図３に示すコア論理２１０の欠点は、上位リンク層論理２５０および周波数訂正ユニット２６０に多数のバッファ２５１、２５３、２６１が必要なことである。これらのバッファは、かなりの回路電力を使用し、コア論理２１０を介して処理されるデータの操作速度を低減させる。
【００１４】
したがって、電力使用を削減し、処理速度を高めるために、コア論理２１０内のバッファの数を削減する必要がある。
【課題を解決するための手段】
【００１５】
第１の態様によれば、本発明は、並列−直列アーキテクチャの伝送媒体とプロセッサの間で通信を行うためのコアを提供し、前記コアは、前記プロセッサを前記伝送媒体に接続する直列レーンと、前記直列レーンに接続された少なくとも１つのセレクタとを備え、前記セレクタは、前記コアを通るデータの速度を変更するために、前記直列レーンと選択的に係合する。
【００１６】
第２の態様によれば、本発明は、少なくとも１つのプロセッサと、前記少なくとも１つのプロセッサを接続する少なくとも１つの伝送媒体と、各プロセッサと前記伝送媒体の間のコアとを備える並列−直列通信システムを提供し、前記コアは、前記伝送媒体と前記プロセッサの間の通信を提供し、前記コアは、前記プロセッサを前記伝送媒体に接続する直列レーンと、前記直列レーンに接続された少なくとも１つのセレクタとを備え、前記セレクタは、前記コアを通るデータの速度を変更するために、前記直列レーンと選択的に係合する。
【００１７】
本発明は、伝送媒体と、コアによって伝送媒体に接続された少なくとも１つのプロセッサとを含む、並列−直列アーキテクチャのネットワークを提供する。コアは、伝送媒体とプロセッサの間の通信を提供する。
【００１８】
好ましい構成では、コアは、プロセッサに接続された下位論理層と、下位論理層を伝送媒体に接続する直列レーンと、直列レーン内部の受信バッファおよび送信バッファと、バッファを介してデータを制御するためのセレクタとを含む。受信バッファおよび送信バッファは、伝送媒体における変動を補正し、直列レーンに沿って処理される信号の周波数を変更する。
【００１９】
本発明は、好ましくは、直列レーン内部に並直列変換器／直並列変換器を含む。受信バッファおよび送信バッファは、好ましくは伸縮性のある（ｅｌａｓｔｉｃ）先入れ先出し（ＦＩＦＯ）バッファであり、受信バッファおよび送信バッファは、いずれも論理層の外部にある。送信バッファは、上位層論理から伝送媒体に転送される信号の周波数を変更し、受信バッファは、伝送媒体から論理層に転送される信号を処理する。「プロセッサ」は、ホスト・チャネル・アダプタ、ターゲット・チャネル・アダプタ、またはネットワークの相互接続スイッチでよい。
【００２０】
伝送媒体は、プロセッサとは異なるデータ速度で動作する。コアは、プロセッサを伝送媒体に接続する直列レーンと、この直列レーンに接続されたセレクタとを含む。セレクタ（マルチプレクサ）は、コアを通るデータの速度を変更するために、直列レーンと選択的に係合する。
【００２１】
本発明は、好ましくは、セレクタの動作を制御するデータ・コントローラを含む。直列レーンは、データのさらなる速度変更を実施するバッファを有する。さらなる速度調整は、追加レーンと係合するセレクタによって行われる。
【００２２】
本発明は、好ましくは、データ・レーンを介して転送されるデータのクロック速度を低減するために、データ・レーンの幅を選択的に拡張するマルチプレクサを含む。このような速度調整を行うことにより、本発明は、異なる速度で動作する伝送媒体と装置の間の簡単な通信を可能にする。
【００２３】
好ましくは、並列−直列アーキテクチャは、バイト単位でストリップされた並列−直列インフィニバンド・アーキテクチャである。
【００２４】
本発明を、以下の図面に示す好ましい実施形態に関して、例示の目的でのみ説明する。
【発明を実施するための最良の形態】
【００２５】
上で述べたように、インフィニバンド技術は、伝送媒体が、それに接続された一部の装置とは異なる速度で動作する状況を作り出す。図４に示すように、この状況に対応するために、コア（２１０）は、伸縮ＦＩＦＯ２２０、２３０に接続されたマルチプレクサ２１５、２３６を含む。マルチプレクサ２１５、２３６は、伝送媒体２８０とＡＳＩＣ２４６の間での速度の低減を実施するために、異なる数のデータ・レーン２２５と選択的に係合する（たとえば、レーンの幅を変更する）。図４に示すように、本発明は、４本のレーンに沿って同時にデータを伝送することにより、４Ｘの速度低減を実施する。しかし、本発明は４Ｘの速度低減に限定されるものではない。そうではなく、本発明は、異なる数のデータ・レーンと選択的に係合することによって可能となる、どの形式の速度低減にも適用可能である。
【００２６】
より具体的には、伸縮バッファ２２０、２３０は、上位リンク層論理２５０とセレクタ２１５、２３６（受信デマルチプレクサ２１５および送信マルチプレクサ２３６）の間にある。バッファ２２０、２３０およびマルチプレクサ２１５、２３６は、低レベル論理インターフェース２０５を形成する。ＦＩＦＯ２６１およびＦＩＦＯ２５１の動作を伸縮ＦＩＦＯ２２０として組み合わせた結果、周波数訂正部２６０（図３）は、図４に示す受信データ経路の構造からは削除されている。
【００２７】
１つのネットワークにおいて１２本のデータ・レーンを使用するものとすると、４Ｘの低減動作モードにあるときには、物理データ・レーン４〜１１を、レーン０〜３のより幅広の拡張部として使用することができる。さらに、この１２本のデータ・レーンを使用する１Ｘの動作モードにあるときには、データ・レーン１〜１１用のＦＩＦＯが、データ・レーン０用のＦＩＦＯのより幅広の拡張部となることができ、それによって最大１２Ｘの速度低減が達成される。したがって、マルチプレクサ２１５、２３６を使用して、インフィニバンドのデータ・レートで、伝送媒体２８０にあるデータにアクセスする場合、上位リンク層２５０は、より遅いレートでより幅の広いデータにアクセスすることができる。
【００２８】
上で述べたように、受信用伸縮ＦＩＦＯバッファ２２０の使用は、バッファが周波数訂正部２６０の機能を実施し、伝送媒体２８０に沿って起こり得るあらゆる周波数の狂いを訂正するという利点をもたらす。ＦＩＦＯバッファ２２０、２３０はまた、信号の周波数を、ＡＳＩＣ２４６が要求するものに変更する。したがって、ＦＩＦＯバッファ２２０は、以前は図３に示すＦＩＦＯバッファ２５１および２６１が実施していた機能を実施し、それによってコア論理２１０内部のバッファ数が削減される。この、コア論理２１０内部のバッファ数の減少により、電力消費は削減され、処理速度は増し、コア論理２１０が占めるチップ面積は減少する。
【００２９】
周波数訂正処理と周波数調整処理を入力受信用伸縮ＦＩＦＯ２２０中に統合することにより、上位層論理２５０が、それに接続された外部構成要素よりも低いクロック周波数を有することも可能になる。たとえば、上位層論理セクション２５０は、２５０ＭＨｚ未満の速度を有し、バッファ２２０、２３０および直列化２７０部分は、約２５０ＭＨｚで動作することができる（図４に示すネットワークは、図３に示すネットワークと比較すると、クロック・ドメイン変換をより低い論理レベルに移動させる）。
【００３０】
上で述べたように、インフィニバンド・ネットワーク内の一部のハードウェアは、課せられた標準の違いによって異なる速度で動作する構成要素を有する。たとえば、インフィニバンド・ネットワーク内の一部の装置（２５０ＭＨｚで動作する）は、６２．５ＭＨｚで動作する構成要素（たとえば、１３３ＭＨｚで動作するＰＣＩ−Ｘ業界標準）など、インフィニバンド式ではないインターフェースを有する構成要素と通信しなければならない。こうした様々な速度の差は、本発明によって調整（ｒｅｃｏｎｃｉｌｅ）される。選択的レーン幅に関連する（セレクタ２１５、２３６を使用する）速度低減能力を利用し、クロック補償ＦＩＦＯ２２０を統合することにより、プロセッサを介したデータ伝送の待ち時間が短縮され、その結果ネットワーク性能が向上する。
【００３１】
図４では、（並列−直列高速物理層を介した）伝送媒体２８０と上位層論理２５０の間で異なるクロック速度を可能にするために、それぞれが直列化／非直列化（ＴＸ  ＳＥＲＤＥＳ）変換器２２５を介する、バイト単位に分割された直列伝送レーン２００を介して、データが選択的に伝送される。ＲＸおよびＴＸ  ＳＥＲＤＥＳ２２５は、伸縮ＦＩＦＯ２２０、２３０からのデータに２５０ＭＨｚでアクセスする（インフィニバンド・ネットワークは２．５ギガヘルツでデータを伝送するので、最初にレーン０に、次にレーン１にアクセスする）。
【００３２】
上位リンク層論理２５０は、最低６２．５ＭＨｚの速度でＲＸおよびＴＸ  ＦＩＦＯにアクセスすることができる。速度変換は、セレクタ２１５、２３６を含む下位レベル論理セクション２０５と、受信および送信ＦＩＦＯ２２０、２３０と、セレクタ２１５、２３６を用いてレーン幅を制御するＦＩＦＯデータ・コントローラ２４０とによって実現される。
【００３３】
セレクタ２１５、２３６は、後で図５および６で詳細に説明するように、それぞれＦＩＦＯデータ・コントローラ２４０とあいまってＦＩＦＯ２２０、２３０を介したレーン幅変更を実施する論理を提供する。したがって、論理ブロック全体への入出力が、必要不可欠な速度低減を実現する。
【００３４】
ＦＩＦＯのオーバフローを防ぐために、上位伝送層論理２５０のペースを定める論理コントローラ回路が、上位伝送層論理に組み込まれる。論理コントローラは、伸縮ＦＩＦＯバッファ２２０、２３０がほぼ一杯になったときを検出し、次いで、過剰のデータが伸縮ＦＩＦＯ２２０、２３０に流れ込むのを防ぐために、上位層論理２５０のクロック動作を中断する（データ・フローを休止する）。
【００３５】
伸縮ＦＩＦＯバッファ２２０、２３０は、それぞれ、データが連続して入力される複数のメモリ位置を有する。伸縮ＦＩＦＯは、異なる量のデータを許容することができる（たとえば、拡張可能である）ので、ＦＩＦＯの好ましい形である。あるいは、通常のＦＩＦＯ（たとえば、非伸縮性）を使用することもできるが、どんなときでも一定の量のデータしかその中に含むことができないので、制限がある。データは、入力されたときと同じ連続した順序で、ＦＩＦＯから出力される。
【００３６】
ＦＩＦＯ２２０、２３０は伸縮性があるので、ＦＩＦＯバッファに、現在の入力をラッチして次のメモリ位置に配置するよう命令する、入力に対する制御が存在し、また、ＦＩＦＯバッファに、次のメモリ位置を出力に提示するよう命令する、出力に対する制御が存在する。また、装置２２０、２３０からは、現在、どれだけの量のデータが装置内にあるかの指示がある。データが装置から削除される際の周波数が、データが装置内に配置される際の周波数と関係している必要はなく、したがって、ＦＩＦＯが信号の周波数を変換することが可能になる。しかし、ＦＩＦＯを制御する論理は、装置内にデータがないときには、次のエントリに進むよう出力に命令することは避け、また、装置がデータで一杯のときには、次のエントリにデータを配置するよう入力に命令することは避けなければならない。
【００３７】
図５は、伸縮ＦＩＦＯ装置の詳細な動作を示す。受信（ＲＸ）および送信（ＴＸ）用の伸縮ＦＩＦＯバッファの構成要素２２０、２３０は、複数のメモリ位置を有する。データは、入ったときと同じ連続した順序で出力される。装置に、現在の入力をラッチして次のメモリ位置に配置するよう命令する、ＦＩＦＯへの入力に対する制御が存在し、また、装置に、次のメモリ位置を出力に提示するよう命令する、出力に対する制御が存在する。また、装置２２０、２３０からは、現在、どれだけの量のデータが装置内にあるかの指示がある。各レーンの伸縮ＦＩＦＯ２２０、２３０は、データ・バイト信号２１１、ＦＩＦＯデータ・カウント指示２１２、データ・ストローブ信号２１３、上位層クロック信号２１４を有する。さらに、データ・バイト入力信号２１６、data_putストローブ信号２１７、媒体クロック信号２１８が、以下に説明するように、データ伝送制御に使用される。
【００３８】
上位層クロック信号２１４は、上位リンク層論理２５０からのクロックを提供する。これは、媒体側２８０と比較してより遅い速度で動作することができる（たとえば、マルチプレクサ２１５、２３６を、ＦＩＦＯ２２０、２３０によるデータ・レーン変更に使用する）、逓減（step down）速度である。data_out信号２１１は、下から伸縮ＦＩＦＯ内に送られるデータ・バイトを提供する。このデータ・バイトは、data-getストローブ信号２１３が上位層クロックのエッジでアサートされたときに、ＦＩＦＯ内の次のエントリに進められる。data_count信号２１２は、所与の任意の時点でＦＩＦＯ内のデータ量を示す。この値は、データが媒体側からＦＩＦＯに入れられたとき増分され、データが削除されて上位層２５０に移ると減分される。data_getストローブ信号２１３は、上位層論理がdata_out２１１にデータを取り出したこと、およびＦＩＦＯが次のエントリに移るべきだとの指示を行う。媒体クロック信号２１８は、媒体速度で動作するクロック信号である。data_in信号２１６は、ＦＩＦＯに入れるべき、媒体（リンク）からのデータ・バイトである。data_put信号２１７は、ＦＩＦＯが、ＦＩＦＯへの信号としてdata_in２１６上にデータを置くべきとの指示を行う。
【００３９】
ＦＩＦＯ２２０（２３０）は、data_put_strobe信号２１７がアサートされたmedia_clock信号２１８の各ラッチング・エッジを使用して、ＦＩＦＯ内のあるエントリを解放し、ＦＩＦＯの出力上のそのエントリにデータを入れる。ＦＩＦＯは、data_byte_get_strobe信号２１３がアサートされたdata_out_clock信号２１４の各ラッチング・エッジを使用して、あるエントリをＦＩＦＯ内に入れる。
【００４０】
ＦＩＦＯは、現在、ＦＩＦＯ内にあるデータの量を、data_count２１２上に提示する。この値は、データが挿入、削除されるのに応じて更新される。上位層論理セクション２５０は、data_count出力２１２を使用してＦＩＦＯの状況を監視する。ＦＩＦＯ内のすべてのエントリが使用中であれば、上位層論理は、使用可能なエントリがあるとdata_count値が指示するまで、data_byte_get_strobe信号２１３をアサート解除する。上記の動作を使用すると、上位層論理セクション２５０はより低い周波数で動作することができ、クロック・ドメイン変換を達成することができる。
【００４１】
図６に示すように、媒体側のput_data信号２２１は、低レベル論理セクション２０５からの、バイトが伝送できる状態にあるという入力信号による指示である。data_byte_in_clk信号２２２は、ＳＥＲＤＥＳクロック２２５からの入力を提供する。レーン２３１〜２３５（最大ｎチャネル。一般のインフィニバンドは、１２チャネルを扱うことができる）は、以下の書込み信号を有する。すなわち、レーン０に出力データを書き込むlane_0_put信号２３１、レーン１に出力データを書き込むlane_1_put信号２３２、レーン２に出力データを書き込むlane_2_put信号２３３、レーン３に出力データを書き込むlane_3_put信号２３４、．．．．レーンｎに出力データを書き込むlane_n_put信号２３５である。どの特定のサイクルでも、この論理は、put_data入力をただ1つの出力に渡す。put_dataがアサートされる各サイクルでは、（０，１，２，３．．．）の順序で、次の出力に移る。図５および図６に示すＦＩＦＯ２２０、２３０およびＦＩＦＯデータ制御２４０は、より遅い上位リンク層２５０と、より速い伝送媒体２８０との間の速度変換のために、レーン幅の変更を可能にする。
【００４２】
したがって、媒体レーン・クロック２１８を監視することによって、ＦＩＦＯデータ制御２４０は、マルチプレクサ２１５、２３６を制御して、伝送レーン２２５、２２７と選択的に係合または分離し、それによって、適切な速度低減を実施して、伝送媒体２８０がＡＳＩＣ２４６と適正に通信できるようにする。
【００４３】
図７および図８は、低レベル論理２０５に流入およびそこから流出する信号、および異なるデータ・レーンに関するデータＦＩＦＯ制御２４０の動作を示す。以下の説明は、図に示すように、最大ｎ本までの必要なだけのデータ・レーン（たとえば、インフィニバンド・ネットワーク内で使用する際には、最大１２本のレーンが存在し得る）に対して複製される、lane_0のデータに関するものである。図に示すように、インターフェース信号は、セレクタ２１５、２３６を使用して、速度を低減するべきかどうか、また、どれだけ低減すべきかを決定するspeed_red_mode入力信号２４５（ＦＩＦＯデータ制御２４０または何らかの他の類似論理ユニットによる出力）を含む。upper_clock信号２１４は、上位リンク層２５０からの入力である。データlane_0_get信号２１３は、上位層レーン０のデータ・バイト用のストローブを得るのに使用する。lane_0_data信号２１３は、上位層データ・バイト信号である。lane_0_datacount信号２１２は、lane_0_FIFO（ＦＩＦＯ２２０、２３０の一方）のボリュームの測度（measure）を上位層に提供する。この低レベル論理インターフェース２０５を使用すると、ＦＩＦＯ２２０、２３０の選択的な制御によりレーン拡張部中にデータを配置することによって、同じ論理がより広いレーン動作モードで依然として再使用できるようにしながら、より高レベルの論理２５０がより遅い周波数で動作することが可能になる。
【００４４】
送信データ経路の場合には、図７および８に示すように、送信用伸縮ＦＩＦＯ２３０からのデータ削除を制御するために、ＦＩＦＯデータ制御２４０（または別個の類似ユニット）を使用することができる。ＦＩＦＯデータ制御２４０は、（別個のユニットが使用されている場合には）受信データ経路におけるデータ制御２４０と同じ方法で、送信用伸縮ＦＩＦＯ２３０のそれぞれへのdata_get信号を制御する。さらに、データ制御２４０は、ＦＩＦＯ２３０のそれぞれからデータ・バイトを選択して、送信ＴＸ  ＳＥＲＤＥＳ２２５のlane_0に渡す。
【００４５】
上で述べたように、並列−直列アーキテクチャにおける新しい技術は、並列−直列アーキテクチャの伝送媒体が、それに接続された装置の一部とは異なる速度で動作する状況を作り出す。この状況に対応するために、コア（２１０）は、伸縮ＦＩＦＯ２２０、２３０に接続されたマルチプレクサ２１５、２３６を含む。マルチプレクサ２１５、２３６は、伝送媒体２８０とＡＳＩＣ２４６の間での速度の低減を実施するために、異なる数のデータ・レーンと選択的に係合する（たとえば、レーンの幅を変更する）。したがって、データ速度を調整するために異なるデータ・レーンの幅を提供することによって、並列−直列アーキテクチャの伝送媒体の適用性が、速度の異なる処理装置にまで拡張される。本発明は、伝送媒体に接続されたプロセッサよりも遅い速度および速い速度を有する並列−直列アーキテクチャの伝送媒体に適用可能であることを理解されたい。さらに、これまで特定の（たとえば、１Ｘ、４Ｘなど）速度低減について説明してきたが、本発明は、関連する特定の並列−直列アーキテクチャ設計に従って、必要な速度調整のどの要素にも適用可能である。
【図面の簡単な説明】
【００４６】
【図１】本発明を使用することが好ましい、データ伝送のための例示的なインフィニバンド・ネットワークを示す概略図である。
【図２】インターフェースの構成要素を有する、インフィニバンド・ネットワークの１セクションを示す図である。
【図３】ＡＳＩＣと伝送媒体の間の伝送を行うためのコアを示す概略図である。
【図４】ＡＳＩＣと伝送媒体の間の伝送を行うためのコアを示す概略図である。
【図５】図４のコアにおいて使用される、伸縮ＦＩＦＯを示す図である。
【図６】図４のコアにおいて使用される、ＦＩＦＯデータ制御セクションを示す図である。
【図７】低レベルの論理インターフェースを示すブロック図である。
【図８】図７の詳細を示す図である。
【図１】
2004531933.tif 000003
【図２】
2004531933.tif 000004
【図３】
2004531933.tif 000005
【図４】
2004531933.tif 000006
【図５】
2004531933.tif 000007
【図６】
2004531933.tif 000008
【図７】
2004531933.tif 000009
【図８】
2004531933.tif 000010
【国際公開パンフレット】
2004531933.tif 000011
2004531933.tif 000012
2004531933.tif 000013
2004531933.tif 000014
2004531933.tif 000015
2004531933.tif 000016
2004531933.tif 000017
2004531933.tif 000018
2004531933.tif 000019
2004531933.tif 000020
2004531933.tif 000021
2004531933.tif 000022
2004531933.tif 000023
2004531933.tif 000024
2004531933.tif 000025
2004531933.tif 000026
2004531933.tif 000027
2004531933.tif 000028
2004531933.tif 000029
2004531933.tif 000030
2004531933.tif 000031
2004531933.tif 000032
2004531933.tif 000033
【国際公開パンフレット（コレクトバージョン）】
2004531933.tif 000034
2004531933.tif 000035
【国際調査報告】
2004531933.tif 000036
2004531933.tif 000037
2004531933.tif 000038