JP2002506250A - バス間ブリッジの性能最適化のためのトリガ・ポイント - Google Patents

バス間ブリッジの性能最適化のためのトリガ・ポイント

Info

Publication number
JP2002506250A
JP2002506250A JP2000534945A JP2000534945A JP2002506250A JP 2002506250 A JP2002506250 A JP 2002506250A JP 2000534945 A JP2000534945 A JP 2000534945A JP 2000534945 A JP2000534945 A JP 2000534945A JP 2002506250 A JP2002506250 A JP 2002506250A
Authority
JP
Japan
Prior art keywords
bridge
bus
queue
data
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2000534945A
Other languages
English (en)
Other versions
JP2002506250A5 (ja
Inventor
デイビス,バリー・アール
エスカンダリ,ニック・ジイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of JP2002506250A publication Critical patent/JP2002506250A/ja
Publication of JP2002506250A5 publication Critical patent/JP2002506250A5/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • G06F13/4054Coupling between buses using bus bridges where the bridge performs a synchronising function where the function is bus cycle extension, e.g. to meet the timing requirements of the target bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 ブリッジ・デバイスの性能を調整するための方法および装置であり、PCI間ブリッジならびにPCIローカル・バス・ブリッジ(またはホスト・ブリッジ)を含む。本発明の実施形態では、マルチバス・コンピュータ・システムを、応用例およびブリッジ・キュー・サイズを考慮して調整することができる。このような応用例には、生のバンド幅に関するもの(ディスク記憶装置など)、および待ち時間に敏感なもの(ネットワーキングおよびテレビ会議など)が含まれる。本発明の実施形態は、ブリッジの読み出しおよび書き込みキューによって満たされる格納条件を指定する制御レジスタを特徴とする。プログラミングされた格納条件がトリガー・ポイントであり、これによって、ブリッジに所望される性能(スループットまたは待ち時間)を高めるために、読み出しおよび書き込みトランザクション中に、ブリッジにデータをキューへ転送させるか、あるいはデータをキューから削除させる。

Description

【発明の詳細な説明】
【0001】 (背景情報) 本発明は、コンピュータ・バスの間の通信に関し、より詳細には、バス間ブリ
ッジ・デバイスに関する。
【0002】 過去30年間のコンピュータ・バス・アーキテクチャの開発は、コンピュータ
を、研究ツールであることから実用的な多目的マシンになるように移行させるこ
とにおいて、大きな影響を及ぼしてきた。現在、バスは、集積回路(IC)処理
ユニット内でも、処理ユニットを外部メモリや周辺デバイスなど他のエージェン
トに接続すること際にも見ることができる。しかし、単一のバスの物理特性によ
って、取り付けることができるエージェントの数(周辺デバイスおよびプロセッ
サを含む)が制限される。したがって、現在の多数のコンピュータ・システムの
応用例は、物理的に分離したいくつかのバスを有するマルチバス・アーキテクチ
ャによって機能性をさらに拡張している。
【0003】 物理的に分離したバスは、しばしばブリッジを使用して単一の論理バスに結合
される。ブリッジは、ハードウェア(デジタル・ハードワイヤード回路)、ソフ
トウェア(1つまたは複数のプロセッサによって実行される、高または低レベル
のコマンドおよび命令)、およびファームウェア(典型的には異なるタイプの読
み出し専用メモリに格納されたソフトウェア)またはそれらの組合せを含むこと
ができ、これらは物理的に分離した、少なくとも2つのバスの間のデータ・トラ
フィックを監視し、制御する。ブリッジはあるバス・プロトコルから別のバス・
プロトコルへのインタフェースとなり、異なるバス上のエージェントの間の通信
を容易にする。
【0004】 2つのバスを結合するブリッジは、エージェントおよびシステムが物理的に分
離したバスを1つのバスとして処理できるように、典型的には透過的に構成され
ている。このような結果を達成するために、両方のバス上のエージェントによっ
てアドレス空間が共有される。共有アドレス空間内のアドレス範囲を有する(読
み出しまたは書き込み)要求は、イニシエーティング・バス(開始バス)上のイ
ニシエータ・エージェントによって生成される。ブリッジはアドレス範囲を認識
し、要求をターゲット・バス上のターゲット・エージェントへ転送することがで
きる。したがって、ブリッジはイニシエータ・エージェントに代わってターゲッ
ト・バス上の要求を自動的に実行すると言うことができる。
【0005】 現況のコンピュータ・テクノロジイでは、バスやブリッジ・アーキテクチャが
異なることが多い。現在のコンピュータ・バスの一例は、周辺コンポーネント相
互接続(PCI)バスである。PCIバスは業界標準で、高性能で待ち時間の短
いシステム・バスであり、概して、「PCI Local Bus Speci
fication」,Revision 2.1,1994年10月21日PC
Iにおける分科会(Special Interest Group、SIG)
によって決められた。この開示中で、本発明の様々な実施形態の原理および動作
のいくつかを説明するためにPCIバスが使用される。しかし、これらの原理は
、他のマルチバス・アーキテクチャにも適用することができる。
【0006】 PCI SIGは、「PCI−to−PCI Bridge Archite
cture Specification」,Revision 1.0,19
94年4月5日に記載されたブリッジ・アーキテクチャも維持している。PCI
ブリッジも、この開示において、本発明の様々な実施形態の原理および動作のい
くつかを例示するためにしばしば参照される。しかし、これらの原理は、他のブ
リッジ設計にも適用することができる。
【0007】 ブリッジを使用したトランザクション トランザクションは、本明細書では、ブリッジによって結合された異なる物理
バス上にそれぞれがあるイニシエータとターゲットの間のデータの完全転送とし
て定義される。データをあるバスから別のバスへの転送中に、ブリッジは典型的
には、いくつかのデータ・キューを実施して、データを獲得あるいは転送するた
めにターゲット・バスへのアクセスを要求することおよび獲得することに関連す
る遅延を隠す。各トランザクションには、典型的には、トランザクションが完了
したときに解放される論理キューが割り当てられる。
【0008】 キューは、典型的には、先入れ先出し(FIFO)データ構造を実施するメモ
リまたはバッファの一部である。FIFOは、項目が入れられた順序と同じ順序
で取り出されるデータ構造である。これは、項目を棚の一端へ押付けて他を押し
出すようにすることとの類比から、「シェルフ(shelf)」としても知られ
る。典型的には、FIFOへの書き込みおよびFIFOからの読み出しを同時に
行うことができる。ブリッジにおけるFIFOは、イニシエータとターゲットの
間で、同期化されていない、すなわち、異なった速度で送信し、受信するデータ
のストリームをバッファに入れるために有効である。
【0009】 本明細書で定義されたようなトランザクションは、ターゲットによって要求さ
れた所与のアドレス範囲から読み出すか、あるいはそこへ書き込むための、イニ
シエータからの要求を含む。要求がブリッジによって受け入れられた場合、トラ
ンザクションが開始し、適切なアクセスが開始される。アクセスは典型的には、
セットアップのためのアイドル・フェーズ、特定の要求のアドレス情報が交換さ
れるアドレス・フェーズ、および時にはデータが交換されるデータ・フェーズを
含む。
【0010】 あるいは、要求がブリッジによって拒否されることがある。この場合、ブリッ
ジは再試行信号として知られる終了をイニシエータに出す。これは、割り当てら
れたブリッジ・キューがフルであるか、あるいは転送するデータがない場合に起
こる。時には、すべてのキューが他のペンディングのトランザクションのために
使用中であって、割り当てるために使用できる空いているキューがない場合にも
新規要求が拒否されることがある。要求が拒否された場合、イニシエータは要求
を繰り返して、進行中のトランザクションを完了するか、あるいは新規のトラン
ザクションの開始を試みることができる。
【0011】 要求が受け入れられ、最初のアクセスが開始したとき、アクセスは、イニシエ
ータ、ターゲットまたはブリッジのいずれかによって、様々な理由のために早ま
って終了されることがある。これが起こった場合、トランザクションを完了し、
要求されたデータをすべて転送するために、イニシエータによって要求を繰り返
すことができ、あるいは後続の要求を出すことができる。所望のデータをマルチ
・アクセスで転送するようにトランザクションを分割することは、追加のアクセ
スが追加のアイドル・フェースとアドレス・フェーズを含むのでオーバーヘッド
が増大することになる。オーバーヘッドの増大によってスループットが低下する
おそれがある。ここで、スループットは、単位時間毎にブリッジを介して転送さ
れるデータ量であり、所与の期間について平均される。一方、待ち時間は、イニ
シエータまたはターゲットにマルチ・ブロック・トランザクションの最初のデー
タ・ブロックを提供するために要する時間として定義される。本発明の異なる実
施形態のいくつかの利点を例示する助けとするために、これらの2つの性能基準
をこの開示中で使用することとする。ブリッジを特定の応用例に合わせて調整す
ることができるように、スループットの向上または待ち時間の低減のいずれかが
可能になる技術を有することが望ましいであろう。
【0012】 書き込みトランザクション 書き込みトランザクションは、典型的には、PCIモデルにおける、ポストさ
れたトランザクションとして実行される。このようなトランザクションでは、ブ
リッジがイニシエータの要求を受け入れた後に、イニシエータがデータをブリッ
ジのキューへ転送する。次いで、ブリッジがターゲット・バスの制御を要求し、
制御を受信後に制御がデータをキューからターゲットへ送る。しかし、トランザ
クションは、ターゲット・バスで完了される前に開始バスで完了される。
【0013】 書き込みトランザクションは、典型的なメモリ書き込み、およびメモリ書込み
と無効化(memory write and invalidate:MWI)を含む。この2つの書き込み
トランザクションが異なる点は、MWIがキャッシュ・メモリ・ラインの整数の
ためでなければならないのに対し、簡素なメモリ書き込みはより少量のデータを
書き込むために使用することができることである。
【0014】 平均して、ブリッジの両側のバスは、MWIトランザクションの場合、簡素な
メモリ書き込みの場合よりもはるかに長時間ビジー状態になる。これによって、
MWI要求に応答するように構成されていないエージェントを有するターゲット
・バスを不必要に拘束することがある。たとえば、イニシエータは、より古い世
代のターゲットを有するより古いマルチバス・コンピュータ・システムにプラグ
インされた、より新しい世代の周辺デバイスにすることができる。この場合はイ
ニシエータがMWIバスをサポートするが、そのターゲットはこれをサポートし
ない。このようなシステムにおける性能を向上させるため、イニシエータのソフ
トウェアを、MWIを出さずに簡素なメモリ書き込みを使用するように修正して
、MWIをサポートしないターゲット向けのトランザクションを実行することが
できる。しかし、このような変更は各デバイス上で実施する必要があり、煩わし
いタスクをシステム・オペレータに与える可能性がある。これは、システムの寿
命の間に多数の新しいデバイスが追加されるからである。したがって、システム
の寿命の間に追加される可能性のある新しい各デバイスのソフトウェアを修正す
る必要なしに、MWI要求をマルチバス・コンピュータ・システムで処理するた
めの技術を有することが望ましいであろう。
【0015】 読み出しトランザクション 書き込みトランザクションに加えて、ブリッジにおける性能最適化の別の分野
が読み出しトランザクションについてもある。ブリッジを介した読み出しトラン
ザクションは、読み出しトランザクションが典型的にはポストされたトランザク
ションとしてではなく、遅延トランザクションとして実行される点で、書き込み
トランザクションよりも複雑である。たとえば、PCIモデルでは、遅延された
トランザクションにおけるPCIブリッジが、初期要求を完了するために要求さ
れた情報をラッチし、次いでイニシエータに再試行を知らせる。次いで、ブリッ
ジが、イニシエータに代わってターゲット・バスを介して初期要求を実行する。
ターゲットから返されるいかなるデータまたは応答も、ブリッジ・キューに格納
される。次いで、イニシエータは元の要求を繰り返してデータをキューから取り
出し、トランザクションを完了しなければならない。
【0016】 PCIシステムにおける読み出しトランザクションでは、ブリッジがターゲッ
ト・バスを介して読み出すデータの厳密な量が指定されず、むしろ特定のPCI
コマンド・タイプ、および読み出し元のメモリ・アドレス空間がプリフェッチ可
能であるかどうかによって決まることがある。イニシエータは読み出す必要のあ
るデータの厳密な量を知っているが、PCIモデルではこの量を指定することが
できない。
【0017】 メモリ空間がプリフェッチ可能であるとき、ブリッジは、読み出し要求に応答
してターゲットからのデータを、固定かつ所定の数のブロックまで、あるいは割
り当てられたブリッジ・キューがフルになるまで、読み出して格納する。この推
論的な動作は、イニシエータに代わって、イニシエータからのいずれかの後続ま
たは繰り返された読み出し要求を予想して行われる。繰り返された読み出し要求
が到着すると、読み出されたデータがイニシエータへブリッジ・キューから流れ
始めるが、イニシエータによっていつでも停止させることができる。次いで、ブ
リッジがターゲットから読み出してきたがイニシエータには転送されない、キュ
ー内のいかなるデータも廃棄される。
【0018】 この読み出しプリフェッチ・スキームの欠点は、ターゲット・バスをビジー状
態にしておくことで貴重なバス時間を無駄にすることである。いかなるアクセス
中にも、データがブリッジ内のキューに転送されるか、あるいはそこから転送さ
れる間に、開始および/またはターゲット・バスが占有されるかあるいはビジー
になる可能性がある。占有されている間、バスは通常、他のエージェントによっ
て使用することができない。読み出しアクセスにおいてプリフェッチされたデー
タのいくつかが続いて廃棄された場合、ターゲット・バスはビジー状態になって
おり、結果としてブリッジを通じていかなるデータ転送も行われない。したがっ
て、最適化スキームが、ターゲット・バスがこのように不必要にビジー状態にさ
れる間の時間を削減するための助けになることが望ましい。
【0019】 ブリッジ性能最適化の別の分野は、イニシエータとターゲットの間のデータ転
送速度の制御にある。PCIマルチバス・アーキテクチャでは、ブリッジの両側
のイニシエータおよびターゲット・エージェントが、それらの間のデータ・フロ
ーの速度を「減速(throttle)」させることが可能である。減速は、いずれかの
エージェントが待機状態をブリッジに要求して待機状態を得たとき、トランザク
ションのためのデータがブリッジに格納中である間に生じる。待機状態によって
、データがブリッジへ受け入れられるか、あるいはブリッジから削除される速度
が低減される。
【0020】 しかし、ブリッジの両側のデータ速度が、一方向で長すぎるために相当異なる
場合、ブリッジ・キューがフル(書き込みトランザクションにおいてイニシエー
タをブロックする)あるいは空(いかなるデータもターゲットに供給しない)に
なり、ブリッジ内外へのデータの同時フローを中止する。したがって、上記の所
見が与えられると、ブリッジを通じたデータ・フローを最適化して、スループッ
トまたは待ち時間(ブリッジの応用例によって決まる)を向上させて同時フロー
の可能性を増すようにすることができる、さらなる技術を有することが望ましい
であろう。
【0021】 (概要) 一実施態様では、本発明は、第1のコンピュータ・バスを第2のコンピュータ
・バスに結合するためのブリッジを対象とする。このブリッジは、第1および第
2のバス・インタフェース、トランザクションの一部として一方のバス・インタ
フェースから他方のバス・インタフェースへ転送されるデータを一時的に格納す
るためのキュー、および、トランザクションの実行中にキューによって満たされ
る1つまたは複数の格納条件を表す制御レジスタを有する。
【0022】 (詳細な説明) 本発明の実施形態を、図面を参照して以下により詳細に説明する。説明のため
、特定の実施形態を以下に述べて、本発明を完全に理解できるようにする。しか
し、この開示を読むことから、当業者には理解されるように、本発明はこのよう
な詳細なしに実施することができる。さらに、周知の要素、デバイス、プロセス
、ステップなどについては、本発明を不明確にすることを避けるために、詳細に
は述べない。
【0023】 図1は、本発明の一実施形態を、ブリッジまたはブリッジ・デバイス100に
よって結合された、第1および第2のバス134および138を有するコンピュ
ータ・システムとして示す。ブリッジ100は、いくつかの論理キュー110、
114、118、および122を含み、これらを使用してこの2つのバスの間の
データ転送をバッファする。各キューはトランザクション毎に使用され、新しい
各トランザクションが開始されたときに別々のキューが割り当てられる。ブリッ
ジ100は第1のバス・インタフェース104および第2のバス・インタフェー
ス108も有し、これらがキューをそれぞれのバスに結合する。制御レジスタ1
30が用意されており、これは本発明の異なる実施形態によるトリガ・ポイント
を識別するものである。これについては以下でより十分に記載する。
【0024】 以下の考察では、第1のバス134が開始バスとみなされ、ここでトランザク
ションがイニシエータ140によって開始され、第2のバス138は、ターゲッ
ト144に結合されたターゲット・バスである。第1のバス134に結合された
ホスト・プロセッサ148は、制御レジスタ130を適切な値で構成するプログ
ラムを実行するために使用することもできる。
【0025】 メモリ書き込み非フル状態 本発明のこの第1の実施形態は、書き込みトランザクション中にブリッジ・キ
ューを完全にフルにすることが、そうすることによってブリッジが後続の書き込
み要求のいかなるデータを受け入れることも妨げられるか、あるいは単一アクセ
スにおけるこのようなデータを受け入れることが妨げられる場合には、望ましく
ないという考えに基づいている。ブリッジが、その特定のトランザクション用の
その書き込みキューがフルであるために、強制的にこのようなデータを拒否させ
られた場合、ブリッジ内外への同時フローが中止される。これによって、また、
おそらくはターゲット・バスまたはエージェントがビジーであるために、ブリッ
ジがすでにキューにあるデータをターゲットへ移動できない場合に、スループッ
トが低下する。スループットは、キューがフルになっているために後続の要求か
らのデータを単一アクセスで受け入れることができない場合、開始バス上で必要
とされる多数のアクセスのオーバーヘッドによっても低下する。
【0026】 この第1の実施形態では、ブリッジ100が書き込みキュー110の「非フル
」状態で構成される。非フル状態は、完全に空の状態と完全にフルの状態の間の
キュー110の状態である。書き込み要求がブリッジによって受け入れられる前
は、キュー110は非フル状態でなければならず、すなわち、使用可能な最低量
の空き空間(制御レジスタで指定されたような1つまたは複数のデータ・ブロッ
ク)を有していなければならない。この状態は、ユーザのコマンドか、または、
バス134またはバス138のいずれかのホスト・プロセッサ148によって実
行された構成プログラムに応じて、制御レジスタ130で決められる。たとえば
、図1に示すように、2ビットを制御レジスタで使用して、最大4種類の非フル
状態を符号化することができる。
【0027】 本発明の第1の実施形態の動作は、図2の流れ図および図1のシステムに従っ
て、以下のように例示することができる。ブリッジ100は(先に述べたように
、ハードウェアおよびソフトウェアにおいて)図2の動作を実行するように構成
されている。ブロック204から開始して、イニシエータ140からの書き込み
トランザクションの要求が、開始バス134およびインタフェース104を介し
て受信される。次いで、ブリッジはキュー110をこのトランザクションに割り
当て、アクセスを開始してこのキューをイニシエータからの書き込みデータで満
たす。その後いかなるときでも、イニシエータはアクセスを終了させることがで
き、後の時間に後続の書き込み要求を出すことによってトランザクションを再開
させることができる。
【0028】 後続の書き込み要求が同じトランザクションに対して受信されたとき、動作は
ブロック208に進み、ここで制御レジスタ130が検査されて、キュー110
の非フル状態が識別される。特定の実装に応じて、各書き込み要求を検出するこ
とに応答してステップ208を実行することができ、あるいは、トランザクショ
ンが開始されるより早く、あるいはその後のいかなるときにもステップ208を
実行することができる。いずれの場合も、動作はステップ212に進む。
【0029】 ステップ212で、比較が行われて、キュー110が非フル状態であるかどう
かが判定される。非フル状態はキューの格納状態であり、完全にフルの状態また
は完全に空の状態以外である。書き込みキュー110が非フル状態に達した場合
、キューは「フル」とみなされ、動作はステップ220へ進む。そこで、ブリッ
ジは後続の書き込み要求に応答して再試行を知らせ、要求は受け入れられない。
その間に、キュー内のデータを、イニシエータによる要求とは無関係にターゲッ
ト144へ転送することができる。
【0030】 しかし、書き込みキュー110が、後続の要求が受信されるときまでに非フル
状態よりもより空である場合、このキューは「非フル」であり、動作はステップ
220ではなくステップ216へ進む。そこで、ブリッジが書き込み要求を受け
入れることが可能となる。受け入れられた場合、開始バスを介した書き込みアク
セスがステップ218で開始し、このトランザクションのためのより多くのデー
タをキュー110へ転送することができる。上述の後続の要求は、書き込まれる
データの総量、キューのサイズ、およびデータをキューからターゲットへ転送す
る能力に応じて、トランザクション中に数回繰り返すことができる。ブリッジを
このように操作する利点は、次の性能調整例によって例示することができる。
【0031】 ネットワーク・サーバまたはワークステーションなどのコンピュータは、図1
のブリッジおよびマルチバス・アーキテクチャを用いて設計することができる。
ブリッジを通じた予想されるトラフィック・パターンと与えられたバス上の異な
るエージェントのデータ処理能力では、ターゲット・バス138が相対的にビジ
ー状態となり、かつ/または相対的に大きなバースト・トランザクション(相対
的に大量のデータを有する)が開始バス134上で要求されることが見込まれる
ならば、このキューの非フル状態がより空に近く設定される。これは、ブリッジ
が書き込み要求を受け入れる前にキュー110が空に近くなければならないとい
う意味である。このように、キューが、書き込み要求データのすべてを単一のデ
ータ・フェーズで格納するために十分な空間を有する可能性がより大きくなり、
それによってトランザクションを開始バス上の多数のアクセスにパケット化ある
いは分割することに関するオーバーヘッドが低減される。これに対して、非フル
状態がよりフルに近く設定された場合、ターゲット・バスがビジーであるか、大
量の書き込みデータが要求されることで、キューが早くフルになる可能性がより
大きくなる(および、それによってイニシエータがデータを送信することをブロ
ックするか、あるいは強制的に停止させる)。
【0032】 他方では、ターゲット・バスが相対的に静かな状態のままになること、および
/またはほとんど少量の書き込みデータが要求されることが予想される場合、非
フル状態がよりフルに近く設定される。この場合、キューが完全にフルになる(
および、したがってイニシエータをブロックする)可能性が少なくなり(非フル
状態がよりフルに近く設定されていても)、これはターゲット・バスがキューか
らデータを削除するために十分高速であるか、かつ/または、少量のデータのみ
が開始バス上の各アクセスで転送されるかのいずれかのためである。同時に、イ
ニシエータがほぼ全体量のキューを使用することができ、それによって、キュー
がフルであるためにイニシエータをブロックする可能性がさらに減る。
【0033】 各特定の場合では、キューの挙動に関する予測を、バス・トラフィック・シミ
ューレーション、または、開始および/またはターゲット・バス上の実際のトラ
フィックの監視、およびキューのサイズに基づいて決定することができる。実際
に、シミュレーション結果は、ブリッジにおける書き込みキューの非フル状態を
変動させることによってスループットに著しい影響を与えることを示している。
【0034】 メモリ書き込み要求制御 本発明のこの第2の実施形態は、部分的には、キュー110から書き込みデー
タを削除してターゲット144へ転送するために、いかに急速にブリッジ100
がターゲット・バス138の制御を要求するかに焦点をあてている。この実施形
態は、ブリッジがターゲット・バスの制御を、そのバスが使用可能になるとすぐ
に要求できるようにすることが必ずしも望ましいわけではない、という考えに基
づいている。図1および図3と共に以下に記載するように、本発明のこの実施形
態は、ブリッジの待ち時間の性能調整について、特に開始およびターゲット・バ
スが異なるバンド幅要件を有するとき、たとえば、開始バスが64ビット幅であ
るがターゲット・バスが32ビット幅のみであるときに、有効になるだろう。
【0035】 図1の実施形態は、書き込みトランザクションの一部として、イニシエータか
らバス134を介して受信され、ターゲットへバス138を介して転送されるデ
ータを、一時的に格納するためのキュー110を有するブリッジ100を含む。
制御レジスタ130はメモリ書き込み要求制御ビットを含む。これは、開始バス
から受信されてキュー110に格納されていたデータを転送するために、ターゲ
ット・バスがインタフェース108によって要求されるときに、トリガ・ポイン
トを決定する。このビットは、ブリッジ100がターゲット・バスの制御を要求
できるようになる前に(書き込みトランザクションの一部として)キューで受信
され格納されなければならない、量がゼロでないデータ(1データ・ブロックよ
り大きい)を指定することができる。たとえば、2ビットを使用して、少なくと
も3つの異なった量のQWORDをキューで符号化することができ、各QWOR
Dは64ビットの幅を有するデータのブロックである。上述の第1の実施形態の
場合のように、キュー110は、PCIブリッジにおける、ポストされたメモリ
書き込みキューでよい。
【0036】 書き込みトランザクションにおける待ち時間を減らすことが望まれる場合、書
き込み要求制御格納条件が、相対的に数の少ないデータ・ブロックに設定される
。指定された数のブロックが受信され、格納されてからすぐに、データをキュー
からターゲットへ転送開始することができる。
【0037】 より低い格納条件を設定することが有益となることがある別の状況は、ターゲ
ット・バスが相対的にビジーであり、キューがフルになり、ターゲット・バスを
獲得できるようになる前にイニシエータをブロックする可能性があることが予想
されるときである。このような条件では、より低い格納条件によって、キューを
空にする際に開始時にブリッジに優位が与えられ、ブリッジがターゲットを獲得
するために十分な時間を提供することができ、キューがフルになる前に書き込み
データのキューからのアンロードを開始することができる。
【0038】 待ち時間よりもスループットを向上させることが望まれており、ブリッジの周
囲の環境が、ターゲット・バスを比較的急速に獲得することができ、たとえば相
対的に静かなターゲット・バスであるような場合、書き込み要求制御格納条件を
、より大量のデータで、キューの全容量より少ない量を指示するように設定する
ことができる。これは、ターゲット・バスが獲得されたとき、大量のデータが単
一アクセスでターゲットへ転送されるために使用可能であり、それによってスル
ープットを向上させることを保証する助けとなる。
【0039】 書き込み要求トリガ・ポイントをより大量に設定することが有益となることが
ある、さらにもう1つの状況は、イニシエータ140がトランザクション中に、
たとえば待機状態の形式でブリッジ100から遅延を要求する可能性が高いとき
である。これは、キュー110がトランザクション中に空になる可能性が低く、
イニシエータがさらなるデータの到着を遅延させる間にターゲット・バスを介し
て転送される十分なデータを保持し、ブリッジを通じた同時データ・フローの可
能性を増大させるようにして、したがって所望のスループットを向上させ、ある
いは維持することを保証する助けとなる。
【0040】 図3は、本発明のブリッジ実施形態において、書き込み要求制御機構を用いて
書き込みトランザクションを実行する、例示的方法を示す。ステップ304で、
ブリッジ100が初期書き込み要求をイニシエータから受信して、書き込みトラ
ンザクションを開始する。動作はステップ308に進み、そこでデータがキュー
110へ、開始バス134を介して転送開始される。ステップ312で、キュー
が、制御レジスタ130で指定された書き込み要求制御格納条件を満たしている
かどうか、すなわち、十分なデータがキューに転送されたかどうかについての判
定が行われる。そうである場合、ステップ320で、ターゲット・バスを要求す
ることができる。続いて、ターゲット・バスが獲得されたとき、ブリッジが書き
込みデータをキューからターゲットへ転送開始する。その間に、キューは続けて
新しい書き込みデータをイニシエータから受信することができる。
【0041】 ステップ312へ戻り、格納条件が満たされていない場合、ブリッジはターゲ
ット・バスを要求することが許可されないが、新しい書き込みデータをキューへ
受信することを続けることができる。そうでない場合、キュー内外への転送は、
互いに無関係に発生することができる。
【0042】 MWIエイリアス 書き込み要求を処理する本発明のさらなる実施形態では、ターゲット・バスが
、図1のターゲット144など、MWI要求を処理するように装備されていない
エージェントを結合すると予想される場合、ブリッジ100は、開始バス上のM
WI要求を従来のメモリ書き込みとしてターゲット・バスを介して転送するよう
に構成される。このようなエージェントは、たとえば、より古い世代のメモリ・
コントローラおよびブリッジを含む。このように、新しい各イニシエータ140
のソフトウェアおよびハードウェア構成は、変更する必要がない。コンピュータ
・システムの動作は、制御レジスタ130を、MWI変換機能を使用可能にする
ように構成することによって、簡素なメモリ書き込みトランザクションに合わせ
て最適化することができる。使用可能にされると、ブリッジの論理回路が、ター
ゲット・バス上でトランザクションを実行する前に、MWIトランザクションの
コマンド部を簡素なメモリ書き込みのコマンド部に変更するように指示される。
【0043】 メモリ読み出しプリフェッチ・サイズ 読み出しトランザクションを取り扱う本発明の実施形態は以下の通りである。
読み出しトランザクションを処理する本発明の第1の実施形態では、読み出しト
ランザクション中にターゲットからプリフェッチされるデータの最大サイズを、
制御レジスタ130のビットによって調整することが可能である。この改良は特
に、ブリッジが、ブリッジ読み出しキューに存在する、プリフェッチされたデー
タの要求されない部分を廃棄するように構成されるときに、ブリッジ性能を向上
させることにおいて効果的である。
【0044】 初期読み出し要求を受信して、再試行を開始バス上で知らせた後、ブリッジは
、制御レジスタ130の特有のビットを検査することによって、プリフェッチさ
れる最大データ・サイズを決定する。ブリッジができるだけ多くのデータ(制御
レジスタ130で決められた最大量まで)をターゲットから得て、データを読み
出しキュー122に格納した後でのみ、ブリッジは、開始バス上で繰り返された
読み出し要求を受け入れることができ、キュー122からイニシエータ140へ
読み出されたデータを転送させることができる。
【0045】 システム・オペレータまたは設計者は、制御レジスタ130のプリフェッチ・
サイズをいずれかの数のデータ・ブロックに調整することによって廃棄すること
ができる要求されないデータの量を減らす。それによって、ブリッジを特定の応
用例に合わせて調整することができる。たとえば、応用例が大容量記憶装置であ
り、イニシエータが、磁気ディスク記憶装置コントローラであるターゲット14
4から大きいバースト読み出しトランザクションを要求する可能性が高い場合、
相対的に大量のデータが続いてイニシエータによって要求されるであろうという
確信を持って、プリフェッチ・サイズをより大量に設定することができる。プリ
フェッチ・サイズを、後に廃棄される、要求されないデータ量を減らすように調
整し、それによって、特定のブリッジ応用例では、ターゲット・バスをより効率
的に使用できるようにするべきである。
【0046】 メモリ読み出し完了制御 読み出しトランザクションに関する本発明のこの第2の実施形態を図1および
図4を使用して記載する。この実施形態は、遅延されたメモリ読み出しトランザ
クションのために、開始バス・インタフェース104の挙動を制御するビットを
制御レジスタ130に用意している。このビットは、キュー122のための読み
出し完了制御格納条件を識別する。これは、イニシエータ140が、いつキュー
122に格納された読み出しデータにアクセスできるかを決定する。制御レジス
タ130は、ブリッジが開始バス134上で繰り返された読み出し要求を受け入
れてデータをキュー122から戻すことができるようになる前に、ターゲットか
ら受信してキュー122に格納しなければならないデータ・ブロックの最少数を
変更するように、プログラミングすることができる。たとえば、2ビットを使用
して、繰り返し要求の受け入れが可能となる前に受信してキューに格納しなけれ
ばならない4つの異なる量のQWORDS(64ビット幅のデータ・ブロック)
を符号化することができる。
【0047】 わずかに異なる実施形態では、要求された読み出しデータのすべてが受信され
てキュー122に格納されている場合、すなわち、トランザクションがターゲッ
ト・バス上で完了した場合、制御レジスタ130で指定された完了制御格納条件
がキューによって満たされているかどうかにかかわらず、格納されたデータをイ
ニシエータへ送達することができる。
【0048】 図4は、本発明のこの実施形態を実施する際に、ブリッジによって実行される
一連のステップを示す。ブロック404から開始して、第1の読み出し要求が開
始バス134から受信されて、読み出しトランザクションを開始する。PCIの
実施形態では、読み出しトランザクションを、メモリ読み出し、メモリ読み出し
ライン(memory read line、MRL)およびメモリ読み出しマルチプル(memory
read multiple、MRM)のいずれか1つにすることができる。
【0049】 読み出しキュー122をトランザクションに割り当て(もちろん、空いている
読み出しキューが使用可能であるとする)、読み出しアドレス情報を得た後、次
いでステップ406でブリッジが再試行を開始バス134上で知らせる。次いで
、ブリッジがターゲット・バス138を獲得しようと試みる。成功した場合、タ
ーゲット144から読み出されたデータの転送がステップ408で開始する。そ
うでない場合、ブリッジは、トランザクションをターゲット・バス上で開始する
ために、ターゲット・バスを獲得しようと試み続けることができる。
【0050】 ステップ412のように、ターゲット・バス上の読み出しが完了する前に、繰
り返された要求が開始バス上で受信されたとき、次いで、ブロック416で、制
御レジスタ130で指定された完了制御格納条件を満たすために十分な読み出し
データがキューで受信されているかどうかについての判断が行われる。そうでな
い場合、ブロック406で、イニシエータに再試行が知らされる。その間に、ブ
ロック408で、データをターゲットからキュー122へ転送し続けることがで
きる。
【0051】 しかし、判断ブロック416で、キューが、格納条件を満たすためにターゲッ
トから読み出された十分な量のデータを受信している場合、繰り返された要求を
受け入れることができ、トランザクションのために読み出されたデータをキュー
からイニシエータへ、好ましくは単一の読み出しアクセスで転送しようとするこ
とによって、開始バス上での読み出しトランザクションを完了させることができ
る。
【0052】 完了制御格納条件を、読み出しキューの深度およびブリッジ・トラフィック条
件の関数として変動させることによって、ユーザがブリッジ性能を調整して、ブ
リッジをその周囲の環境によりよく適合させることができる。たとえば、データ
・バックアップなどの大容量記憶装置の応用例を考察すると、この場合はイニシ
エータが、メモリ・コントローラであるターゲット144からデータを読み出す
ためにシークするディスク・コントローラである。この場合のイニシエータは、
待ち時間とは関係がない可能性があるが、むしろ高いスループットが望まれる。
したがって、ユーザは、制御レジスタ130のメモリ読み出し完了制御部を、相
対的に大量のデータを指示するように構成するであろう。この方法で、待ち時間
の増大を犠牲にして、より多くのデータをイニシエータへ単一アクセスで転送し
て、トランザクションを完了することができる。
【0053】 制御レジスタ130を特徴とする性能調整可能なブリッジ100を、図5のイ
ンテリジェントI/Oサブシステム510の構成要素として使用することができ
る。I/Oサブシステム510は、第3のバス(ローカル・バス516)上のサ
ブシステム・プロセッサ512およびメモリ・コントローラ514を特徴とする
。ローカル・バスは第1次521および第2次522PCIバスに、それぞれア
ドレス変換ユニット(ATU)526および528を通じて結合される。I/O
サブシステム510は単一のICとして実施することができ、ネットワーク・サ
ーバ・マザーボードなどのシステムの応用例の一部としても使用することができ
る。マザーボードは、I/Oサブシステム510およびPCIバス521および
522に加えて、第1次バス521に結合されたホスト・プロセッサおよびメモ
リ、および、第2次バス522に結合された1つまたは複数のネットワーク・イ
ンタフェース・コントローラを含む。ネットワーク・コントローラは、図1のタ
ーゲット144のいくつかのインスタンスによって示すことができる。I/Oサ
ブシステム510のブリッジ100を上述のように調整して、ネットワーク・サ
ーバ・マザーボードの性能を向上させるためにその待ち時間を最適化することが
できる。
【0054】 要約すると、上述の本発明の実施形態は、ブリッジおよびコンピュータ・シス
テムを対象としており、データ・キューの深度および特定のシステム応用例を考
慮してブリッジの性能を調整することができる。もちろん、本発明の実施形態は
、構造および実装において他の変形形態を受けることがある。たとえば、制御レ
ジスタ130のビットはプログラミング可能(読み出しおよび書き込み)にする
ことができ、あるいは、一度だけプログラミング可能(プログラミング可能な読
み出し専用メモリ)、回路内でプログラミング可能(フラッシュ・メモリなど)
、または検査ビット(ICの検査バッチ中にプログラミング可能であるが、その
後に読み出し専用製品として固定される)にもすることができる。制御レジスタ
130には、ホスト・プロセッサ148(図1参照)によって、あるいは、図5
のI/Oサブシステム510の実施形態のサブシステム・プロセッサ510によ
って、アクセスすることができる。
【0055】 上述の制御レジスタ130の実施形態は、異なるデータ・キューの最大4種類
のトリガ・ポイント/格納条件を表す2ビットを有するが、別法としてより多数
のビットを使用することができ、したがって、より細かい細分性で、ブリッジお
よび周辺のコンピュータ・システムの性能を調整することが可能となる。
【0056】 したがって、本発明の範囲は、例示した実施形態によってではなく、付属の特
許請求の範囲およびそれらの合法的な均等物によって決定されるべきである。
【図面の簡単な説明】
【図1】 本発明の一実施形態によるブリッジを有するコンピュータ・システムの一部を
示す図である。
【図2】 本発明の別の実施形態による、キュー非フル状態を実施する際にブリッジによ
って実行されるステップの流れ図である。
【図3】 本発明の別の実施形態による、書き込み要求制御を実施する際にブリッジによ
って実行されるステップの流れ図である。
【図4】 本発明の別の実施形態による、読み出し完了制御を実施する際にブリッジによ
って実行されるステップを示す図である。
【図5】 本発明の別の実施形態による、性能調整可能ブリッジを特徴とするインテリジ
ェントI/Oサブシステムのブロック図である。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,UG,ZW),E A(AM,AZ,BY,KG,KZ,MD,RU,TJ ,TM),AL,AM,AT,AZ,BA,BB,BG ,BR,BY,CA,CH,CN,CU,CZ,DE, DK,EE,ES,FI,GB,GD,GE,GH,G M,HR,HU,ID,IL,IN,IS,JP,KE ,KG,KP,KR,KZ,LC,LK,LR,LS, LT,LU,LV,MD,MG,MK,MN,MW,M X,NO,NZ,PL,PT,RO,RU,SD,SE ,SG,SI,SK,SL,TJ,TM,TR,TT, UA,UG,US,UZ,VN,YU,ZW Fターム(参考) 5B014 EB01 GA07 GA26 GD07 GD14

Claims (23)

    【特許請求の範囲】
  1. 【請求項1】 第1および第2のバス・インタフェースと、 前記第1のバス・インタフェースを介して開始されたトランザクションの一部
    として、前記第1および第2のバス・インタフェースの間で転送されるデータを
    格納するキューと、 前記トランザクション中に前記キューによって満たされる、少なくとも1つの
    格納条件を表す制御レジスタと を含むブリッジ。
  2. 【請求項2】 前記ブリッジが書き込み要求を受け入れる前に、前記格納条
    件が前記キューによって満たされる請求項1に記載のブリッジ。
  3. 【請求項3】 前記書き込み要求が受け入れられる前に、前記制御レジスタ
    が、前記キューで使用可能な空間の量を指定する複数のビットを有する請求項2
    に記載のブリッジ。
  4. 【請求項4】 前記ブリッジが前記第2のバス・インタフェースを介して第
    2のバスの制御を要求する前に、前記格納条件が前記キューによって満たされる
    請求項1に記載のブリッジ。
  5. 【請求項5】 前記第2のバスが、書き込みトランザクションの一部として
    データを転送することが要求される前に、前記制御レジスタが前記キューに格納
    される前記データの量を表す複数のビットを有する請求項4に記載のブリッジ。
  6. 【請求項6】 前記第1のバス・インタフェースを介して開始された読み出
    し要求の後に続く後続の読み出し要求に応答して、前記データが前記キューから
    前記第1のバス・インタフェースへ転送される前に、前記格納条件が前記キュー
    によって満たされる請求項1に記載のブリッジ。
  7. 【請求項7】 前記後続の読み出し要求に応答して、前記データが前記イニ
    シエータに転送される前に、前記制御レジスタが、前記キューに格納されるデー
    タの量を表す少なくとも1つのビットを含む請求項6に記載のブリッジ。
  8. 【請求項8】 前記ブリッジがPCIブリッジであり、繰り返された読み出
    し要求が、遅延された読み出しトランザクションの一部である請求項6に記載の
    ブリッジ。
  9. 【請求項9】 前記ブリッジがPCIブリッジであり、前記キューが、ポス
    トされたメモリ書き込みキューである請求項1に記載のブリッジ。
  10. 【請求項10】 前記キューが、前記データを格納するためのFIFOデバ
    イスを含む請求項1に記載のブリッジ。
  11. 【請求項11】 前記制御レジスタが、部分的に読み出し可能でも書き込み
    可能でもある請求項1に記載のブリッジ。
  12. 【請求項12】 前記ブリッジに、第1のバス・インタフェースで受信され
    たメモリ書込みと無効化(MWI)要求を、第2のバス・インタフェースを介し
    たメモリ書き込み要求として、転送させるための論理回路を含むブリッジ。
  13. 【請求項13】 前記論理回路がレジスタにビットを含む、請求項12に記
    載のブリッジ。
  14. 【請求項14】 前記レジスタが、部分的に読み出し可能で、書き込み可能
    でもある請求項13に記載のブリッジ。
  15. 【請求項15】 第1のコンピュータ・バス上のイニシエータを第2のコン
    ピュータ・バス上のターゲットに結合するブリッジにおいて、前記ブリッジは、
    第1の読み出し要求に応答して前記ターゲットから読み出されたデータを格納す
    るキューを有し、前記ブリッジはさらに、前記ブリッジが前記ターゲットから読
    み出したよりも少ないデータを要求する前記イニシエータに応答して、前記デー
    タの要求されない部分を廃棄するように構成され、 前記第1の読み出し要求に応答して、前記ブリッジによって前記ターゲットか
    ら読み出されるデータの最大量を表すための制御レジスタ を含む改良。
  16. 【請求項16】 前記制御レジスタが、部分的に読み出し可能でも書き込み
    可能でもある、請求項15に記載の改良。
  17. 【請求項17】 開始バスをターゲット・バスに、データ・キューを通じて
    結合するブリッジにおける、 書き込み要求を前記開始バス上で受信するステップと、 制御レジスタの内容を検査して、前記キューの非フル状態を判定するステップ
    と、 前記キューが前記非フル状態でない場合に、再試行を前記開始バス上に信号で
    送り、前記キューが前記非フル状態の場合に、書き込みアクセスを開始してデー
    タを前記開始バスから前記キューへ転送するステップと を含む方法。
  18. 【請求項18】 制御レジスタの内容を検査する前記ステップが、前記書き
    込み要求を受信することに応答して実行される請求項17に記載の方法。
  19. 【請求項19】 開始バスをターゲット・バスに、データ・キューを通じて
    結合するブリッジにおける 書き込み要求を前記開始バス上で受信するステップと、 制御レジスタを検査することによって、前記キューの書き込み要求制御条件を
    判定するステップと、 前記キューが前記書き込み要求制御条件を満たすまで、データを開始バスから
    前記キューへ転送するステップと、 前記ターゲット・バスに、前記データを前記キューから前記ターゲット・バス
    へ転送するように要求するステップと を含む方法。
  20. 【請求項20】 書き込み要求制御条件を判定する前記ステップが、前記書
    き込み要求を受信することに応答して実行される請求項19に記載の方法。
  21. 【請求項21】 開始バス上のイニシエータをターゲット・バス上のターゲ
    ットに、データ・キューを通じて結合するブリッジにおける、 読み出し要求を前記開始バス上で受信するステップと、 繰り返された読み出し要求が受信されるまで、読み出されたデータを前記ター
    ゲットから前記キューへ転送するステップと、 制御レジスタを検査することによって、前記キューの完了制御条件を判定する
    ステップと、 前記キューが前記完了制御条件を満たしている場合に、前記読み出されたデー
    タを前記キューから前記イニシエータに転送することによって、前記繰り返され
    た読み出し要求を完了するステップと を含む方法。
  22. 【請求項22】 完了制御条件を判定する前記ステップが、前記読み出し要
    求を受信することに応答して実行される請求項21に記載の方法。
  23. 【請求項23】 第1次PCIバス、前記第1次バスに結合されたホスト・
    プロセッサおよびホスト・メモリと、 第2次PCIバスと、 前記第2次バスに結合されたネットワーク・インタフェース・コントローラ(
    NIC)と、前記第1次バスを前記第2次バスに結合するブリッジとを含むネッ
    トワーク・サーバ・システムであって、前記ブリッジが、前記ホスト・プロセッ
    サと前記NICの間のトランザクションの一部として、第1次および第2次バス
    の間で転送されるデータを一時的に格納するキューと、前記トランザクション中
    に前記キューによって満たされる少なくとも1つの格納条件を表す制御レジスタ
    と を含むネットワーク・サーバ・システム。
JP2000534945A 1998-03-04 1999-02-26 バス間ブリッジの性能最適化のためのトリガ・ポイント Pending JP2002506250A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/034,624 1998-03-04
US09/034,624 US6298407B1 (en) 1998-03-04 1998-03-04 Trigger points for performance optimization in bus-to-bus bridges
PCT/US1999/004234 WO1999045470A2 (en) 1998-03-04 1999-02-26 Trigger points for performance optimization in bridges

Publications (2)

Publication Number Publication Date
JP2002506250A true JP2002506250A (ja) 2002-02-26
JP2002506250A5 JP2002506250A5 (ja) 2006-04-20

Family

ID=21877567

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000534945A Pending JP2002506250A (ja) 1998-03-04 1999-02-26 バス間ブリッジの性能最適化のためのトリガ・ポイント

Country Status (6)

Country Link
US (1) US6298407B1 (ja)
JP (1) JP2002506250A (ja)
KR (1) KR20010041519A (ja)
AU (1) AU2793599A (ja)
DE (1) DE19983026B4 (ja)
WO (1) WO1999045470A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7895375B2 (en) 2007-02-13 2011-02-22 Fujitsu Limited Data transfer apparatus and data transfer method

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6584539B1 (en) * 1999-03-19 2003-06-24 Sony Corporation Method and system for message broadcast flow control on a bus bridge interconnect
US6581125B1 (en) * 1999-05-14 2003-06-17 Koninklijke Philips Electronics N.V. PCI bridge having latency inducing serial bus
US6625683B1 (en) * 1999-08-23 2003-09-23 Advanced Micro Devices, Inc. Automatic early PCI transaction retry
US6742074B2 (en) * 1999-08-31 2004-05-25 Micron Technology, Inc. Bus to system memory delayed read processing
US6801954B1 (en) * 2000-02-25 2004-10-05 Hewlett-Packard Development Company, L.P. Method and apparatus to concurrently operate on multiple data movement transactions in a disk array subsystem
US6807590B1 (en) * 2000-04-04 2004-10-19 Hewlett-Packard Development Company, L.P. Disconnecting a device on a cache line boundary in response to a write command
US6965939B2 (en) * 2001-01-05 2005-11-15 International Business Machines Corporation Method and apparatus for processing requests in a network data processing system based on a trust association between servers
US8041739B2 (en) * 2001-08-31 2011-10-18 Jinan Glasgow Automated system and method for patent drafting and technology assessment
JP2003108514A (ja) * 2001-10-01 2003-04-11 Matsushita Electric Ind Co Ltd バスブリッジ
DE60129448T2 (de) * 2001-12-07 2008-04-10 Renesas Technology Europe Ltd., Maidenhead Busbrücke mit einem Burst-Übertragungsmodebus und einem Einzel-Übertragungsmodebus
US20040003164A1 (en) * 2002-06-27 2004-01-01 Patrick Boily PCI bridge and data transfer methods
US7103701B2 (en) * 2002-09-23 2006-09-05 Hewlett-Packard Development Company, L.P. Memory bus interface
US6950905B2 (en) * 2003-02-20 2005-09-27 Sun Microsystems, Inc. Write posting memory interface with block-based read-ahead mechanism
JP4892683B2 (ja) * 2003-03-12 2012-03-07 エスティー‐エリクソン、ソシエテ、アノニム データを転送するためのデータ処理の装置および方法
US8595394B1 (en) * 2003-06-26 2013-11-26 Nvidia Corporation Method and system for dynamic buffering of disk I/O command chains
US8683132B1 (en) 2003-09-29 2014-03-25 Nvidia Corporation Memory controller for sequentially prefetching data for a processor of a computer system
US8356142B1 (en) 2003-11-12 2013-01-15 Nvidia Corporation Memory controller for non-sequentially prefetching data for a processor of a computer system
US8700808B2 (en) * 2003-12-01 2014-04-15 Nvidia Corporation Hardware support system for accelerated disk I/O
US7213094B2 (en) * 2004-02-17 2007-05-01 Intel Corporation Method and apparatus for managing buffers in PCI bridges
US8356143B1 (en) 2004-10-22 2013-01-15 NVIDIA Corporatin Prefetch mechanism for bus master memory access
US7593345B2 (en) * 2004-12-30 2009-09-22 Finisar Corporation Altering latency for network testing
US7487274B2 (en) * 2005-08-01 2009-02-03 Asic Architect, Inc. Method and apparatus for generating unique identification numbers for PCI express transactions with substantially increased performance
US7698493B2 (en) * 2005-08-31 2010-04-13 Ati Technologies, Inc. Methods and apparatus for translating write request messages in a computing system
WO2009028494A1 (ja) * 2007-08-28 2009-03-05 Nikon Corporation 位置検出装置、位置検出方法、露光装置、およびデバイス製造方法
JP5112138B2 (ja) * 2008-03-28 2013-01-09 株式会社日立製作所 セッション管理方法、ストレージ装置、及び、計算機システム
US8356128B2 (en) * 2008-09-16 2013-01-15 Nvidia Corporation Method and system of reducing latencies associated with resource allocation by using multiple arbiters
US8370552B2 (en) * 2008-10-14 2013-02-05 Nvidia Corporation Priority based bus arbiters avoiding deadlock and starvation on buses that support retrying of transactions
US8698823B2 (en) * 2009-04-08 2014-04-15 Nvidia Corporation System and method for deadlock-free pipelining
JP2011182314A (ja) * 2010-03-03 2011-09-15 Oki Semiconductor Co Ltd データ中継装置及び方法
US8566496B2 (en) * 2010-12-03 2013-10-22 Lsi Corporation Data prefetch in SAS expanders
US8677031B2 (en) * 2011-03-31 2014-03-18 Intel Corporation Facilitating, at least in part, by circuitry, accessing of at least one controller command interface
JP5564019B2 (ja) * 2011-08-26 2014-07-30 株式会社東芝 ファイル転送装置およびその方法
US10425456B2 (en) 2017-11-29 2019-09-24 Bank Of America Corporation Request processing system using a splitting engine
US10419265B2 (en) 2017-11-29 2019-09-17 Bank Of America Corporation Request processing system using a combining engine
US11226910B2 (en) * 2019-03-04 2022-01-18 Qualcomm Incorporated Ticket based request flow control

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0467248A (ja) * 1990-07-06 1992-03-03 Fujitsu Ltd データ受信処理装置
JPH05289974A (ja) * 1992-04-15 1993-11-05 Nec Corp データ転送方式
JPH08272735A (ja) * 1995-03-29 1996-10-18 Fujitsu Ltd 情報処理装置
JPH0973430A (ja) * 1995-09-05 1997-03-18 Hitachi Ltd バス調停システムおよびバスアービタならびにバス制御方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4727537A (en) * 1985-12-24 1988-02-23 American Telephone And Telegraph Company Flow control arrangement for the transmission of data packets to a communication network
US5117486A (en) * 1989-04-21 1992-05-26 International Business Machines Corp. Buffer for packetizing block of data with different sizes and rates received from first processor before transferring to second processor
US5101477A (en) * 1990-02-16 1992-03-31 International Business Machines Corp. System for high speed transfer of data frames between a channel and an input/output device with request and backup request count registers
US5941964A (en) * 1992-05-21 1999-08-24 Intel Corporation Bridge buffer management by bridge interception of synchronization events
US5434872A (en) * 1992-07-28 1995-07-18 3Com Corporation Apparatus for automatic initiation of data transmission
US5546546A (en) * 1994-05-20 1996-08-13 Intel Corporation Method and apparatus for maintaining transaction ordering and arbitrating in a bus bridge
US5687316A (en) * 1994-07-29 1997-11-11 International Business Machines Corporation Communication apparatus and methods having P-MAC, I-MAC engines and buffer bypass for simultaneously transmitting multimedia and packet data
US5548730A (en) * 1994-09-20 1996-08-20 Intel Corporation Intelligent bus bridge for input/output subsystems in a computer system
US5848249A (en) * 1995-06-15 1998-12-08 Intel Corporation Method and apparatus for enabling intelligent I/O subsystems using PCI I/O devices
US5828865A (en) * 1995-12-27 1998-10-27 Intel Corporation Dual mode bus bridge for interfacing a host bus and a personal computer interface bus
US6072781A (en) * 1996-10-22 2000-06-06 International Business Machines Corporation Multi-tasking adapter for parallel network applications

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0467248A (ja) * 1990-07-06 1992-03-03 Fujitsu Ltd データ受信処理装置
JPH05289974A (ja) * 1992-04-15 1993-11-05 Nec Corp データ転送方式
JPH08272735A (ja) * 1995-03-29 1996-10-18 Fujitsu Ltd 情報処理装置
JPH0973430A (ja) * 1995-09-05 1997-03-18 Hitachi Ltd バス調停システムおよびバスアービタならびにバス制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7895375B2 (en) 2007-02-13 2011-02-22 Fujitsu Limited Data transfer apparatus and data transfer method

Also Published As

Publication number Publication date
WO1999045470A2 (en) 1999-09-10
KR20010041519A (ko) 2001-05-25
DE19983026T1 (de) 2001-02-22
WO1999045470A3 (en) 2000-03-02
DE19983026B4 (de) 2010-12-23
US6298407B1 (en) 2001-10-02
AU2793599A (en) 1999-09-20

Similar Documents

Publication Publication Date Title
JP2002506250A (ja) バス間ブリッジの性能最適化のためのトリガ・ポイント
US6260095B1 (en) Buffer reservation method for a bus bridge system
US5884050A (en) Mechanism for high bandwidth DMA transfers in a PCI environment
US5623700A (en) Interface circuit having zero latency buffer memory and cache memory information transfer
US6460108B1 (en) Low cost data streaming mechanism
US5740466A (en) Flexible processor-driven SCSI controller with buffer memory and local processor memory coupled via separate buses
US6754737B2 (en) Method and apparatus to allow dynamic variation of ordering enforcement between transactions in a strongly ordered computer interconnect
US6170030B1 (en) Method and apparatus for restreaming data that has been queued in a bus bridging device
US5283883A (en) Method and direct memory access controller for asynchronously reading/writing data from/to a memory with improved throughput
EP1723535B1 (en) Method and apparatus for supporting delayed transactions of multi-function pci devices in pci bridges
US5579530A (en) Method and apparatus for dynamically allocating access time to a resource shared between a peripheral bus and a host bus by dynamically controlling the size of burst data transfers on the peripheral bus
US5269005A (en) Method and apparatus for transferring data within a computer system
US6021473A (en) Method and apparatus for maintaining coherency for data transaction of CPU and bus device utilizing selective flushing mechanism
US6092141A (en) Selective data read-ahead in bus-to-bus bridge architecture
WO1994008303A1 (en) Method and apparatus for non-snoop window reduction
JP2001075918A (ja) 可変優先順位およびフェアネスを使用する、機能強化されたバス・アービタ
JPS6122333B2 (ja)
JP2002366507A (ja) 複数チャネルdmaコントローラおよびプロセッサシステム
US6631437B1 (en) Method and apparatus for promoting memory read commands
JP3266470B2 (ja) 強制順序で行う要求毎ライト・スルー・キャッシュを有するデータ処理システム
US6226704B1 (en) Method and apparatus for performing bus transactions orderly and concurrently in a bus bridge
US8209453B2 (en) Arbiter, a system and a method for generating a pseudo-grant signal
US6098113A (en) Apparatus and method for address translation and allocation for a plurality of input/output (I/O) buses to a system bus
US20030131175A1 (en) Method and apparatus for ensuring multi-threaded transaction ordering in a strongly ordered computer interconnect
US6546448B1 (en) Method and apparatus for arbitrating access to a PCI bus by a plurality of functions in a multi-function master

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060217

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080819

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081119

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090728

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091026

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100316