JP3600536B2 - 書き込みデータの破壊を制限する方法及びシステムとpciバス・システム - Google Patents

書き込みデータの破壊を制限する方法及びシステムとpciバス・システム Download PDF

Info

Publication number
JP3600536B2
JP3600536B2 JP2001055357A JP2001055357A JP3600536B2 JP 3600536 B2 JP3600536 B2 JP 3600536B2 JP 2001055357 A JP2001055357 A JP 2001055357A JP 2001055357 A JP2001055357 A JP 2001055357A JP 3600536 B2 JP3600536 B2 JP 3600536B2
Authority
JP
Japan
Prior art keywords
pci bus
pci
data
target
bus
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.)
Expired - Fee Related
Application number
JP2001055357A
Other languages
English (en)
Other versions
JP2001282631A (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2001282631A publication Critical patent/JP2001282631A/ja
Application granted granted Critical
Publication of JP3600536B2 publication Critical patent/JP3600536B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Bus Control (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、PCIバスを通した書き込みデータの転送、特にPCIバスに複数のエージェントが接続された環境下での書き込みデータ・バーストの転送に適用される書き込みデータの破壊を制限する方法及びシステムとPCIバス・システムとに関する。
【0002】
【従来の技術】
一般譲渡された米国特許出願第09/275,610号(出願人整理番号TU998074)は接続した多数のホストからの要求を処理するPCIバス・ブリッジ・システムを開示している。したがって、本明細書は、この米国特許出願の開示内容と関連する。
【0003】
PCI(Peripheral Component Interconnect)バス・システムは、ホスト・プロセッサが直接PCIデバイスにアクセス可能なPCIブリッジを使用する低遅延パスを提供する高性能な拡張バス・アーキテクチャである。多数のホスト環境では、PCIバス方式がデータ・バッファリングとしての機能やバス・システムの使用に対するアービトレーション等のPCI主要機能を含むものであってもよい。
【0004】
本明細書の一部として援用する米国特許出願第09/275,610号(上掲)は、チャンネル・アダプタ等、複数のエージェントが接続するセカンダリPCIバスと、周辺装置サーバが接続する少なくとも1つのプライマリ・バスとの間の接続パスを提供する。さらに、本明細書の一部として援用する米国特許出願第09/275,610号は、本明細書で使用する多くの用語を定義している。また、そのような定義はPCI特別利益団体(PCI Special Interest Group)が提供する刊行物から入手可能であり、ここでは繰り返して言及するようなことはしない。複合PCIバス・システム、例えば米国特許出願第09/275,610号に開示されたものは、PCIバス・システムに接続したチャンネル・アダプタからのコマンド間のアービトレーションを用いて効率的な方法でバス・システムの使用を管理する。
【0005】
コンピュータのデータ記憶装置は、チャンネル・アダプタ及びPCIバス・システムを介してネットワーク・サーバ等のホスト・プロセッサから高速のデータ記憶を記憶装置、キャッシュ記憶装置、又は不揮発性キャッシュ記憶装置を有する接続された格納サーバに提供するために、PCIバス・システムを用いる。ホスト・プロセッサの速度に近づくか、あるいは該速度に一致する相対的に速い速度で動作するか、またはホスト・プロセッサが遅くならないように該ホスト・プロセッサを解放するデータ記憶を提供することは有利である。本明細書の一部として援用する米国特許出願第09/275,610号は、さらにここで使用される用語の多くを定義しており、そのような定義もまたPCI特別利益団体(PCI Special Interest Group)によって提供される刊行物から利用可能であるため、ここで繰り返すことはしない。
【0006】
一般に、そのようなチャンネル・アダプタはバースト単位で、書き込みデータを転送する。このバースト単位は、1つのワードがデータ・バスの幅に等しいデータ・ビットを含む連続的な多数のワードから構成される。PCIバス方式では、書き込みデータは1つ以上のPCIバス・アダプタによってセカンダリPCIバスにおいてチャンネル・アダプタから受け取られる。PCIバス・アダプタは、FIFOベースの操作コマンドを待ち行列に入れるコマンド待ち行列と、待ち行列バッファの関連アドレス及びデータとを有する。好ましくは、コマンド待ち行列及び待ち行列バッファは、1つの書き込みコマンド、書き込みデータが宛てられるアドレス、及びデータ・バーストが一度に待ち行列に入れられるほど十分に大きい。このような構成によって、データ転送を効率的に行うことが可能となる。
【0007】
PCIバス・アダプタは、もし待ち行列バッファが満杯で、アダプタが「ターゲット・レディ」歩調合わせを実行することが不可能である場合に「タイプB切断」信号を送出する能力を送出する能力を有し、これによってダブルワード転送が可能となり、バスを切断してアイドル状態に戻すチャンネル・アダプタ等の要求エージェントを生ずる。もし要求がバースト書き込みコマンドであり、またPCIバス・アダプタがそのデータのターゲットであるならば、PCIバス・ターゲットにおいて格納されたデータ量はバースト書き込みが開始された時のターゲットの待ち行列バッファで利用可能な空間である。利用可能な空間がバッファ内の2つのロケーションであるならば、待ち行列バッファに格納されたデータ量は1であろう。なぜなら、アドレス及びコマンドが一方のロケーションを取り、データが他方のロケーションを取ると考えられるからである。当業者に知られているように、もし多数のコマンドがコマンド待ち行列にあるならば、PCIバス・アダプタは「ターゲット・レディ」歩調あわせを実行することが不可能であり、バースト書き込みは1つのコマンドとしてコマンド待ち行列に格納され、またデータの1つのワード及びアドレスは待ち行列バッファに格納される。
【0008】
もし、例えば試みられたバースト書き込みより優先されているいくつかの単一ワード書き込みコマンドをPCIバス・ターゲットが待ち行列に入れたならば、該PCIバス・ターゲットはコマンド待ち行列からの書き込みコマンドを実行するので、さらに別の単一ワード書き込みコマンドの空間が確保される。PCIバスへのアクセスを許可された要求エージェント(チャンネル・アダプタ)及びこのエージェントのターゲットは、該ターゲットの待ち行列バッファが再び満杯になり、ターゲットが「ターゲット・レディ」歩調あわせを実行することができなかったことから、別の切断信号を受信する前にデータのちょうど1ワードのみの書き込みが許可されるだろう。この条件は、データ破と呼ばれ、書き込みバースト・サイズ全体に対して繰り返される。もし、例えば128ワードからなる書き込みバーストを提供することを要求エージェントが必要としたとするならば、バーストは128の単一ワード操作に分割されよう。さらに悪いことには、この同一のターゲットに対してバースト書き込みの実行を試みているPCIバス上にいくつかの要求エージェントが存在することで、これらのバーストはすべて複数の単一ワード書き込みに分割されよう。結果として得られるPCIバス・システムの性能は、接続した要求エージェント及びデータの転送先であるエージェント(例えばデータ記憶装置)の性能としてあり、その状況で著しく低下する。なぜなら、PCIバス上の単一ワード操作はPCIバースト操作よりもかなり遅いからである。
【0009】
【発明が解決しようとする課題】
本発明の目的は、PCIバースト書き込み操作の破壊を制限し、それによって有効なPCI帯域幅を高めることを可能とする、書き込みデータの破壊を制限する方法及びシステムとPCIバス・システムを提供することである。
【0010】
【課題を解決するための手段】
連続した複数のワードから構成される書き込みデータ・バーストのかたちで書き込みデータを転送するためのPCIバス・システムにおいて、バースト書き込みデータの破壊を制限するためにシステム及び方法が開示されている。PCIバス・システムは、該PCIバス・システムに対して少なくとも1つのPCIデータ・ソースを連結させるための少なくとも1つのPCIバスと、該PCIデータ・ソースから書き込みデータを受信し、かつ転送するためにPCIバスに連結されたPCIバス・アダプタ等のPCIバス・ターゲットとを有し、該PCIバス・ターゲットは操作コマンドをコマンド待ち行列に入れる。
【0011】
書き込みデータの破壊を制限するためのシステムは、書き込みデータの破壊を感知するためにPCIバスをモニタする破壊検出論理を有する。PCIバス・ターゲットの待ち行列に入れられた操作コマンドの完了をモニタするために、待ち行列レベル検出論理が用いられる。バス・アービタはターゲットによって書き込みデータの破壊を検出する破壊レベル検出論理に応答し、PCIバスへのアクセスをブロックする。次に、ブロッキングに続いて、バス・アービタはコマンド待ち行列レベル検出論理に応答する。このコマンド待ち行列レベル検出論理は、所定数(例えば1)の操作コマンドがそのコマンド待ち行列に入れられたままであり、PCIデータ・ソースが破壊無しにバースト書き込み操作を完了させることができるようにPCIバスに対するアクセスを許可する。
【0012】
【発明の実施の形態】
以下、図面を参照しながら本発明の好ましい発明の実施形態を説明する。図中、同一符号は同一又は類似の構成要素を表す。この発明の目的を達成する上で最良の形式で本発明を説明する。しかし、当業者は本発明の精神又は範囲から逸脱することなく、そのような説明から得られる知識に鑑みて種々の変形例が可能であることを容易に理解することができよう。
【0013】
図1は、本発明の一実施形態例にもとづくPCIバス・システム11を示す。このPCIバス11は、例えば1つ以上のホスト・システム4とプロセッサ10、12、デバイス6、及びNVS(非揮発性記憶)ユニット32、33との間の通信パスを提供する。例示されたPCIバス・システム11は、米国特許出願第09/275,610号(上掲)に例証されたシステムをベースとし、類似の構成要素を用いてはいるが本発明にもとづく改良が加えられている。米国特許出願第09/275,610号で議論されるように、デバイス6は直接アクセス記憶装置(DASD)サブシステム、例えば連なりとなった複数のDASDを有するものであってもよい。
【0014】
PCIバス・システム11は、チャンネル・アダプタ(A、B、C、及びD)14及びチャンネル・アダプタ(A、B、C、及びD)16あるいは他の通信エージェント(不図示)、例えば一般にPCIバスを通して通信する任意のデバイスを用いてホスト・システム4がプロセッサ10及びプロセッサ12と通信するのを可能とする。チャンネル・アダプタ14、16は、PCIバス・システム11のリモート・ブリッジ18、20に対してPCIバス・システム上のスロットを介して各々接続するチャンネル・アダプタ・カードを有するものであってもよい。各チャンネル・アダプタ・カードは、セカンダリPCIバス44、45で1つ以上のホスト・システム4との接続を提供する。簡単に言えば、プロセッサ10がプライマリPCIバス88を制御し、プロセッサ12がプライマリPCIバス90を制御し、各々によってセカンダリPCIバス44、45においてアダプタ14、16によるアクセスのためのアドレスが提供される。
【0015】
2つのリモート・ブリッジ18、20はチャンネル・アダプタ又は他の通信エージェントの異なるセットに連結してもよく、また各リモート・ブリッジはローカル・ブリッジに連結する。したがって、リモート・ブリッジ18はローカル・ブリッジ22、26に連結し、またリモート・ブリッジ20はローカル・ブリッジ24、28に連結する。一例として、ローカル・ブリッジ22、24がプライマリPCIバス88上でプロセッサ10及びNVSユニット32と通信することが可能であり、またローカル・ブリッジ26、28がプライマリPCIバス90上でプロセッサ12及びNVSユニット34と通信することも可能である。しかし、当業者ならば他の配置を思い描くこともできよう。したがって、PCIバスの本実施形態例では、リモート・ブリッジ18に連結したチャンネル・アダプタ(A、B、C、及びD)14は、PCIバス・システム11を通してプロセッサ10、12又はNVSユニット32、34と通信することが可能である。
【0016】
PCIバス・システムにおける重要な通信は、NVSユニット32、34におけるホスト・システム4によるデータの書き込み及びデバイス6におけるホスト・システム4によるデータの書き込みであり、プロセッサ10による制御下で選択されたユニット又はデバイスにデータが格納される。ホスト・システムは、一般に大量のデータを扱い、かつ処理し、実質的に待ち時間無しにホスト・システムが処理を継続することを可能とするために、そのデータに素早くアクセスするか、又は格納することを要求する。したがって、そのような素早いアクセス又は格納を行うために、バス・システムの待ち時間が短いことが要求される。PCI(Peripheral Component Interconnect)バス・システムは、ホスト・プロセッサがPCIデバイスに直接アクセスすることができるPCIブリッジを用いるそのような待ち時間が少ないパスを提供する高性能拡張バス・アーキテクチャである。
【0017】
多数のホスト環境下で、PCIバス・システムは、データ・バッファリングのような機能及びバス・システムが使用されている間のアービトレーション等のPCI中心的機能を含む。その結果、PCIバス・システムはますます複雑になる。
【0018】
米国特許出願第09/275,610号は、プロセッサ10、12等の1つ以上のコンピュータ・システム・データ記憶制御装置が取り付けられるセカンダリPCIバスと少なくとも1つのプライマリPCIバスとの間の接続パスを提供するための複合PCIバス・システムの一例を説明している。ホストからの高速データ格納を提供するために、コンピュータ・システム記憶制御装置は、PCIバス・システムを用いる。
【0019】
図1において、PCIバス・システムでは、チャンネル・アダプタ14、16がセカンダリPCIバス44、45においてPCI書き込みコマンド及びデータを提供し、該データをそれらの宛先に転送する。さらに、データがセカンダリ・バスをわたって転送されてくるリモート・ブリッジ18、20は、さらにデータをローカル・ブリッジ22、24、26、28に転送し、該ローカル・ブリッジ22、24、26、28は続けて該データをプライマリ・バス88、90において宛先へ転送する。一般に、データ転送は大量データのバースト書き込み転送である。
【0020】
図2は、図1に示す典型的な複合PCIブリッジ・システムの半分をさらに詳細に描いたものである。米国特許出願第09/275,610号に記載されているように、複合PCIシステムは、セカンダリPCIバス上の結合したチャンネル・アダプタからのコマンド間のアービトレーションを用いることで、効率よくバス・システムの使用を管理する。図2の例では、アービトレーションはバス・マネージャ46によって行われる。一般に、PCIバス・マネージャ46は順繰りにセカンダリPCIバス44上のチャンネル・アダプタ(A、B、C、D)14に対して許可を与える。図2に示す典型的なPCIバス・システムは、セカンダリPCIバス44上に呈示されたデータ及び信号を管理するPCIバス・マネージャ46を含む。PCIバス・マネージャ46は、上記したバス・アービトレーション、バス・パーキング、及び他のバス管理機能、好ましくは単独の回路を持つものが含まれるバス中心リソース機能を有する。PCIバス・マネージャ46は、リモート・ブリッジ18に接続したエージェント、PCIバス・アダプタ50及び52、さらにリモート・ブリッジの他の構成要素に接続したエージェントのアドレス範囲が記述されている情報を有し、またどのエージェント又は構成要素がPCI操作のターゲットであるかを判断するためにそのような情報を用いる。アドレス範囲上の情報は、好ましくはPCIバス・マネージャ46のレジスタに書き込まれ、PCIバス・アダプタ50及び52にコピーされてもよい。リモート・ブリッジ18もまたリモート・アドレス・トランスレータ54、56、トランザクション制御55、57、リモート・ディスタンス・インタフェース58、60、及び静的ランダム・アクセス・メモリ(SRAM)74、76、又は他の任意の適当なメモリ・デバイスを有する。PCIバス・アダプタ50、リモート・アドレス・トランスレータ54、トランザクション制御55、及びリモート・ディスタンス・インタフェース58は、チャンネル・アダプタ14とローカル・ブリッジ22との間の通信を提供する。PCIバス・アダプタ52、リモート・アドレス・トランスレータ56、トランザクション制御57、及びリモート・ディスタンス・インタフェース60はチャンネル・アダプタ14とローカル・ブリッジ26との間の通信を提供する。チャンネル・アダプタ(A、B、C、D)14は、セカンダリPCIバス44を介してPCIバス・アダプタ50又は52のいずれか一方と通信する。PCIパス・アダプタ50、52、リモート・アドレス・トランスレータ54、56、トランザクション制御55、57、リモート・ディスタンス・インタフェース58、60、及びSRAM74、76は当業者に知られているようなPCIブリッジの論理要素又は他の適当なタイプのブリッジ回路を有する。リモート・ディスタンス・インタフェース58、60及びローカル・ディスタンス・インタフェース62、64は、当業者に知られている制御及びバッファを含むもので、リモート・ブリッジ18とローカル・ブリッジ22、26との間のトランザクションを制御し、長距離接続59、61を越えたブリッジ間の長距離通信に備える。リモート・ブリッジ20はリモート・ブリッジ18と同様又は類似のものであってもよく、またローカル・ブリッジ24、28に対して通信を提供する。
【0021】
各ローカル・ブリッジ22、26は、それぞれローカル・ディスタンス・インタフェース62、64、ローカル・アドレス・トランスレータ66、68、トランザクション制御67、69、及びPCIバス・アダプタ70、72を含む。リモート・アドレス・トランスレータ54、56及びローカル・アドレス・トランスレータ66、68は、受信したアドレスを別のアドレス空間にマップするために、当業者に周知の回路を含む。リモート・アドレス・トランスレータ54、56は、チャンネル・アダプタ14によって与えられたアドレスをそれぞれローカルPCIバス・アダプタ70、72のアドレス空間にマッピングすることによってアドレス・トランザクション操作を実行する。ローカル・アドレス・トランスレータ66、68はローカルPCIバス・アダプタ70、72をリモートPCIバス・アダプタ50、52のアドレス空間にマップするので、このトランスレートされたアドレスがローカル・ディスタンス・インタフェース62、64とリモート・ディスタンス・インタフェース58、60とに転送される。そのような場合、リモート・アドレス・トランスレータ54、56は、この受信されたアドレスをバッファリングしてリモートPCIバス・アダプタ50、52へ転送することができる。同様に、リモート・アドレス・トランスレータ54、56がリモートPCIバス・アダプタ50、52から受信したアドレスをそれぞれローカルPCIバス・アダプタ70、72のアドレス空間に変換した後、この変換されたアドレスはリモート・ディスタンス・インタフェース58、60及びローカル・ディスタンス・インタフェース62、64を介してローカル・アドレス・トランスレータ66、68へ転送される。そのような場合、ローカル・アドレス・トランスレータ66、68は、この受信されたアドレスをバッファリングしてローカルPCIバス・アダプタ70、72へ転送することができる。
【0022】
FIFOバッファ・セクション80、82、84、及び86は、PCIバス・システム11の読み出し/書き込みトランザクションを待ち行列に入れる。FIFOバッファ・セクションの各々は、チャンネル・アダプタ(A,B,C,D)14及びプロセッサ10からのトランザクションを待ち行列に入れるための多数のFIFOバッファを有する。アドレス・トランスレータ54、56、66、及び68は、トランザクションを配置し、かつトランザクションの流れを管理するためにFIFOバッファ80、82、84、及び86の待ち行列を選択する論理が含まれるトランザクション制御回路55、57、67、及び69を有する。FIFOバッファは、書き込みコマンドがPCIバス・システム11を通して進行するように該書き込みコマンドをまとまりのある一連のシークエンスとして保持することを保証する。
【0023】
PCIバス44、88、及び90は、実質的にインチで測定されるようなただ単に非常に短い距離用、かつ小負荷用に設計されており、さらに距離接続59、61は距離がよりいっそう長く、かつ負荷がよりいっそう大きい場合のために設計されている。
【0024】
図2及び図3を参照すると、一般にPCIバス・システムは連続した多数のワードからなるバーストとして書き込みデータを転送し、該データは1つ以上のPCIバス・アダプタ50、52によってセカンダリPCIバス44においてチャンネル・アダプタ(A、B、C、D)14から受信される。PCIバス・アダプタは、例えば市販のPCIチップである9060 PCI Bus Master Interface(PLX Technology, Inc., 390 Portrero Avenue, Sunnyvale, CA 94086)から構成されるものであってもよい。PCIバス・アダプタは、FIFOベースで操作コマンドを待ち行列に入れるコマンド待ち行列110、112と、該コマンドに関連したアドレス及びデータとを待ち行列に入れる待ち行列バッファ111、113とを有する。好ましくは、コマンド待ち行列及び待ち行列バッファは、単一書き込みコマンド、書き込みデータの宛先であるアドレス、及びデータ・バーストが一度に待ち行列に入れられるほど十分に大きなバッファである。このような配置によってデータ転送を効率的に実行することが可能となる。
【0025】
当業者に知られているように、もし待ち行列バッファ111、113が十分な空間を持つものならば、PCIバス・アダプタ50、52はバースト書き込みの実行を可能とし、またオーバーランを防ぐために待ち行列バッファ111、113を通してデータを「ターゲット・レディ(TRDY)」歩調あわせするものであってもよい。しかし、もしコマンド待ち行列に多数のコマンドが存在するならば、待ち行列バッファが満杯又はそれに近い状態である場合、アダプタは「TRDY」歩調あわせすることができない。したがって、PCIバス・アダプタ50、52は、待ち行列バッファ111、113が満杯になりアダプタが「TRDY」歩調あわせすることができない場合に「タイプB切断再試行」信号を送出する能力を有し、該信号は切断のためにチャンネル・アダプタ等の要求エージェントを生ずる。もし、要求がバースト書き込みコマンドであり、またPCIバス・アダプタがそのデータのターゲットであるならば、PCIバス・ターゲットにおいて格納されたデータ量は、バースト書き込みが開始された時のターゲットの待ち行列バッファで利用可能な空間である。もし利用可能な空間がロケーション2つであった場合、待ち行列111、113に格納されたデータ量は1であろう。なぜなら、アドレスは1つのロケーションを取り、またデータは他のロケーションを取るからである。この場合のバースト書き込みは、コマンド待ち行列及び待ち行列バッファにたったの1つの単一ワード書き込みとして格納され、さらなるデータ転送が停止及び切断されることで、データ・ストリームが破壊されよう。
【0026】
最悪の場合の例として、もしPCIバス・ターゲットであるPCIバス・アダプタ50、52は、試みられたバースト書き込みに先行する待ち行列に入れられたいくつかの単一ワード書き込みコマンドを有し、かつ「ターゲット・レディ」歩調あわせすることができないならば、コマンド待ち行列からの書き込みコマンドが実行されるので、さらに別の単一ワード書き込みコマンド及び関連したアドレスとデータの1ワードとのためにコマンド待ち行列110、112及び待ち行列バッファ111、113に空間を作ることができる。PCIバス44へのアクセスが許可され、かつPCIバス・アダプタ50、52をターゲットとしている要求されたチャンネル・アダプタ(A、B、C、D)14は、切断を受信する前にたったの1ワードを書き込みすることが許されるであろう。なぜなら、ターゲットのコマンド待ち行列110、112及び待ち行列バッファ111、113が再び満杯となり、データ・ストリームがさらに破壊されるからである。従来技術では、データの破壊は全体的な書き込みバースト・サイズ、例えば128ワードからなる書き込みバーストのために繰り返され、バーストが128の単一ワード操作に分かれる。さらに悪いことには、この同一ターゲットに対するバースト書き込みの実行を試みているPCIバス上のいくつかの要求エージェントが存在し、それらのバーストはすべて単一のワード書き込みに分かれる。接続された要求エージェント及びデータの宛先であるエージェント(例えば、データ記憶装置)の性能と同様に、PCIバス・システムの結果として得られる性能は、この環境下では著しく劣化する。なぜなら、PCIバス上の単一ワード操作がPCIバースト操作よりもかなり遅く不十分なためである。
【0027】
図3は本発明の一実施形態例を説明するためのもので、リモート・バス・マネージャ46に破壊検出論理120、122が設けられている。これらの破壊検出論理120、122は、PCIバス・アダプタ50、52の各々に対応するもので、好ましくはPCIバス44において、関連するPCIバス・アダプタによるデータ・ストリームの破壊を検出する。取って代わるものとして、PCIバス・アダプタ間で1つの破壊検出手段を共有するようにリモート・バス・アービタを配列することができる。PCIバス・アダプタにおいて破壊が検知されると、破壊検出論理120、122はバス・アービタ論理124に対して破壊を信号で伝える。バス・アービタはターゲットによる書き込みデータの破壊の検知に応答し、チャンネル・アダプタによるPCIバスへのアクセスをブロックする。このことによって、破壊されているPCIバス・アダプタ50、52がコマンド待ち行列110、112のコマンドを実行し続けることが可能となり、徐々に待ち行列を空にしていく。
【0028】
コマンド待ち行列検出論理125、127は、コマンド待ち行列の各コマンドの実行が完了したことを感知するために破壊されているPCIバス・アダプタに接続されたトランザクション制御55、57をモニタする。別の例として、待ち行列50、52と同一サイズの影コマンド待ち行列は、バス・アービタ124によって維持され、コマンド待ち行列レベル検出論理125、127によって決定される。さらに別の例として、コマンド待ち行列で実行されなければならない操作の数がコマンド待ち行列レベル検出論理に提供され、該コマンド待ち行列レベル検出論理によってディクリメントされる。ブロックに続いて、バス・アービタ124はコマンド待ち行列レベル検出論理125、127に応答するもので、該コマンド待ち行列レベル検出論理125、127は、所定の数(例えば1)のコマンドがそのコマンド待ち行列110、112において待ち行列に入れられたままである十分な操作を、破壊されているPCIバス・アダプタ50、52が完了したことを示し、さらにPCIデータ・ソース(チャンネル・アダプタ)がPCIバスにアクセスして破壊なしにバースト書き込み操作を完了させることを許可する。
【0029】
したがって、PCIバス・アダプタはそのコマンド待ち行列及び待ち行列バッファを空にしてしまい、ターゲット・レディ(TRDY)歩調あわせを行うことができる。それによって、破壊なしにバースト書き込みの残りを受け取る。
【0030】
PCIバスの典型的な1ワード、2ワード、及び3ワードPCI書き込みデータ転送信号をそれぞれ図4、図5、及び図6に示す。信号は負の状態でアクティブな状態が示され、正の状態でアクティブではない状態が示されている。サイクル・フレーム信号131はコマンドのイニシエータ、例えばチャンネル・アダプタによって駆動され、トランザクションの開始及び持続時間を示す。トランザクションは、許可信号(不図示)によって、図2及び図3のバス・マネージャ46によってバスの所有権が与えられたイニシエータからであろう。コマンドは、コマンド/バイト・イネーブル・バス(不図示)上に例えば4ビットとして与えられ、アドレスはアドレス/データ・バス上に例えば32ビットのアドレス135として与えられ、両バスともPCIパスから構成される。イニシエータ・レディ信号136は、現在のバス・マスタ(トランザクションのイニシエータ)によって駆動される。書き込み中、イニシエータ・レディ信号136をアサートすることで、イニシエータがデータ・バス上の正当なデータ140であることが示される。。ターゲット・レディ信号137は現在アドレス指定されたターゲット、例えばPCIバス・アダプタによって駆動される。その信号は、ターゲットがマスタからのデータを受け入れて現在のデータ・フェーズ(データ転送)を完了する時にアサートされる。次に、データ140がターゲットによってPCIバスで受け取られる。
【0031】
もしターゲットが全体のデータ転送を完了することができず、「ターゲット・レディ」歩調あわせを実行することができないならば、ターゲットは「タイプB切断」をアサートすることで、停止信号を用いるであろう。停止出力141は、空白(ヌル)又はオフ状態で示されている。停止信号は、イニシエータに対して転送を終了するように強制する。
【0032】
バースト書き込みデータ転送のためのPCIバス信号方式が従来の破壊を被ったものとして図7に示されている。既に述べたように、サイクル・フレーム信号131はコマンドのイニシエータ、例えばチャンネル・アダプタによって駆動され、トランザクションの開始及び継続時間を示す。バス・マネージャ46は許可信号132によってイニシエータに対してPCIバスの所有権を与えるであろう。コマンドは、コマンド/バイト・イネーブル・バス(不図示)上に与えられ、またアドレス135はアドレス/データ・バス上に与えられる。イニシエータ・レディ信号136は、イニシエータがデータ・バス上に正しいデータ140を駆動していること示すためにトランザクションのイニシエータによってアクティブにされる。ターゲット・レディ信号137は現在アドレス指定されたターゲットPCIバス・アダプタによって駆動され、イニシエータからのデータの少なくとも1つのワードで受諾可能となったことを示す。次にデータ140はターゲットによってPCIバスで受け取られる。
【0033】
イニシエータはフレーム131をアクティブな状態に保つことでバースト書き込みを転送することを望むが、図示した従来例ではデータの1つのワードがロードされるやいなや待ち行列バッファが満たされ、それによってターゲットがデータ転送全体を完了することができない。したがって、ターゲットは「タイプB切断」のために停止信号142をアサートする。停止信号によってイニシエータが転送の終了を強制され、次のアドレス155(転送されたワードの長さによってインクリメントされたアドレス)で再びトライする。
【0034】
より詳細には、イニシエータがトランザクションを終了していないため、許可信号132はアクティブのままであり、またイニシエータはフレーム信号131を終わらせる。フレーム信号が終了することで、ターゲットは停止信号142を中断し、イニシエータはフレーム信号151及びイニシエータ・レディ信号156を再びアサートする。ターゲットはコマンドを実行し、コマンド待ち行列及び待ち行列バッファが使用可能となるので、ターゲットは再びターゲット・レディ信号157をアサートする。さらにまた、待ち行列バッファは1つのワード160が転送された後に満たされ、ターゲットが停止信号162をアサートする。イニシエータは再びデータ転送を終了させてさらにまたサイクルを一巡することを強制され、フレーム171、アドレス175、及びレディ信号177を提供する。次にターゲットはターゲット・レディ信号177を与え、再び停止信号182をアサートする。プロセスは全バースト書き込みに対して行われ、それによって非能率的なデータ転送操作となりうる。
【0035】
本発明にもとづくバースト書き込みデータ転送のPCIバス信号方式を図8に示す。また、本発明の方法の一実施形態例を図9に示す。これらの図と共に図1乃至図3を参照して説明する。サイクル・フレーム信号131はコマンドのイニシエータ、例えばチャンネル・アダプタ(A、B、C、D)14によって駆動される。バス・マネージャ46のバス・アービタ論理124は許可信号132によってチャンネル・アダプタに対するPCIバスの所有権が与えられよう。コマンドはコマンド/バイト・イネーブル・バス(不図示)上に与えられ、アドレス135はアドレス/データ・バス上に与えられ、さらにイニシエータ・レディ信号136はイニシエータによってアクティブにされることで、データ・バス上に正しいデータ140を駆動しているイニシエータが示される。ターゲット・レディ信号137は現在アドレス指定されたターゲットPCIバス・アダプタ、例えばPCIバス・アダプタ50によって駆動され、ターゲットがイニシエータからデータの少なくとも1つのワードを受け取る準備が完了していることを示す。次にデータ140はターゲットによってPCIバスにおいて受け入れられる。
【0036】
ステップ200では、PCIバス・アダプタ50に関して、破壊検出論理120は、バス44で信号を検出することで破壊についてターゲット50のアドレス/データ待ち行列バッファ111をモニタする。ステップ202で破壊が検出されなければ、破壊検出論理はステップ200でモニタを継続する。
【0037】
バースト書き込みの具体例として、イニシエータはフレーム131をアクティブに保つ。既に述べたように、待ち行列バッファ111はデータの1つのワードがロードされると直ちに満たされ、ターゲットがデータ転送全体を完了することができない。したがって、ターゲットは、「タイプB切断」のために停止信号142をアサートする。停止信号によってイニシエータは転送を終了するように強制される。
【0038】
しかし、ここでステップ202では、破壊検知論理120が停止信号142のターゲットによるアクティブ化を検知する一方でイニシエータ・レディ信号136がアクティブになり、また一方でターゲットはターゲット・レディ信号137をアクティブにしており、データ・ストリームの破壊が示される。ステップ204では、バス・アービタ論理124はターゲットによる書き込みデータの破壊検出論理の感知に応答し、許可信号132が除去される。さらに、バス・アービタ・ブロックは任意の許可信号を送出することなくチャンネル・アダプタ(A、B、C、D)14によってPCIバス44に対してアクセスする。このことによって、破壊されているPCIバス・アダプタ50がコマンド待ち行列110のコマンドを実行し続け、徐々にコマンド待ち行列及び待ち行列バッファ111が空になることが可能となろう。PCIバスに対するアクセスは、待ち行列にあるコマンドが実行されることを保証するために、PCIバス・ターゲットを含むPCIバス・システムのエージェントに対して許可されてもよい。
【0039】
ステップ207では、コマンド待ち行列レベル検出論理125は、破壊されているPCIバス・アダプタに関連したトランザクション制御55をモニタすることで、コマンド待ち行列110の各コマンドの実行が完了したことを検出する。既に述べたように、別の例として、影コマンド待ち行列がバス・アービタ124によって維持され、かつコマンド待ち行列レベル検出論理125によってディクリメントされる。さらに別の例として、コマンド待ち行列で実行されなければならない操作の数がコマンド待ち行列レベル検出論理に提供され、該コマンド待ち行列レベル検出論理によってディクリメントされる。
【0040】
ステップ208では、PCIバス・アダプタによって各コマンドが完了すると、待ち行列に入ったコマンドの残りの数が所定の数と比較される。好ましくは、所定の数は「1」であり、たった1つの操作が残っていることが示される。もし操作の残りの数が所定の数よりも多ければ、ステップ210からステップ207に戻って待ち行列110のモニタを続ける。
【0041】
しかし、もしステップ210で「NO」、すなわち待ち行列が所定の数まで下がっていることが示されたとするならば、ステップ212でバス・アービタ124はコマンド待ち行列レベル検出論理125に応答し、所定数の操作コマンドがそのコマンド待ち行列110において待ち行列に入ったままである十分な操作を破壊されているPCIバス・アダプタ50が完了したことを信号225によって示し、PCIバスに対するアクセスを許可する。この点で、PCIバスはそのコマンド待ち行列及び待ち行列バッファを空にし、破壊なしにバースト書き込みコマンドを受け入れることが可能となろう。
【0042】
バス・アービタ論理124はステップ212でオリジナルの要求元に対するアクセスを許可しなくてもよく、そのかわり連続プロセスによって進行し、他の要求元に対するアクセスを許可してもよい。究極的には、他のトランザクションが完了した後に、バス・アービタ論理は許可信号232をアサートすることによってオリジナルの要求もとに対するアクセスを許可するであろう。
【0043】
オリジナルのチャンネル・アダプタ(A、B、C、D)14は、従来技術にあるように、次のアドレス155(転送されたワードの長さによってインクリメントされたアドレス)でバースト書き込みを再び試みることを強いられる。しかし、ここではPCIバス・アダプタはそのコマンド待ち行列及び待ち行列バッファを空にし、破壊なしにバースト書き込みコマンドを受け入れることが可能となろう。したがって、フレーム信号231がアクティブになり、一方でコマンドがコマンド/バイト・イネーブル・バス上に与えられ、アドレス155がアドレス/データ・バス上に与えられ、さらにイニシエータ・レディ信号236がイニシエータによってアサートされる。ターゲット・レディ信号237は、現在アドレス指定されたターゲットPCIバス・アダプタ、例えばPCIバス・アダプタ50によって駆動され、この場合イニシエータからのデータ全てがターゲットに受け入れられることが可能となったことを示す。イニシエータによってPCIバス上で駆動されるデータ240は、次にターゲットによって受け入れられ、バースト書き込み転送操作の残りが破壊なしに完了する。
【0044】
PCIバス44からのバースト書き込みコマンドについて、PCIバス・アダプタ52及びトランザクション制御57に対するコマンド待ち行列112及び待ち行列バッファ113により、同一の方法が破壊検出論理122、コマンド待ち行列レベル検出論理127、及びバス・アービタ論理124にによって達成される。
【0045】
本発明の実施形態例は、特にPCIバスに関係するが、同様な意味合いでアレンジされたバス・システムに対しても等しく関係する。
【0046】
まとめとして、本発明の構成に関して以下の事項を開示する。
(1)複数の連続したワードから構成される書き込みデータ・バーストのかたちで書き込みデータを転送するPCIバス・システムであり、該PCIバス・システムに対して少なくとも1つのPCIデータ・ソースを接続させる少なくとも1つのPCIバスと、該データ・ソースから前記書き込みデータを受信し、かつ転送するために前記PCIバスに接続したPCIバス・ターゲットとを有し、さらにPCIバス・ターゲットが操作コマンドをコマンド待ち行列に入れるPCIバス・システムにおいて前記書き込みデータの破壊を制限する方法であって、
前記書き込みデータの破壊を検知するために前記PCIバス・ターゲットをモニタするステップと、
前記破壊をモニタするステップが前記PCIバス・ターゲットによって前記破壊を検知すると、前記PCIに対するアクセスをブロックするステップと、
前記ブロックするステップに続いて、前記PCIバス・ターゲットの前記待ち行列に入れられた操作コマンドの完了をモニタするステップと、
前記完了をモニタするステップが前記PCIバス・ターゲットで待ち行列に入れられたままの前記操作コマンドの所定数を示すと、前記少なくとも1つのPCIデータ・ソースによってPCIバスに対するアクセスの許可を可能とするステップと、
を有することを特徴とする書き込みデータの破壊を制限する方法。
(2)前記完了をモニタするステップは、前記ブロックをするステップの時に前記PCIバス・ターゲット・コマンド待ち行列に残る前記待ち行列に入った操作コマンドの残存数を識別するステップと、前記完了をモニタするステップは、前記ブロックをするステップの時に前記PCIバス・ターゲット・コマンド待ち行列に残る前記待ち行列に入った操作コマンドの残存数を識別するステップと、前記完了をモニタするステップのモニタされた完了の各々に応じて前記残っている前記操作コマンドの数をディクリメントするステップと、前記残っている前記操作コマンドの数と前記所定数とを比較するステップと、該比較ステップによって数が等しいと判断されると、前記所定数表示を提供するステップとを有することを特徴とする上記(1)に記載の方法。
(3)前記所定数は、前記残っている操作コマンド1つであることを特徴とする上記(2)に記載の方法。
(4)複数の前記PCIデータ・ソースが前記PCIバスに接続し、前記ブロックするステップは前記複数の前記PCIデータ・ソースの全てによる前記PCIバスに対する前記アクセスをブロックし、前記PCIバス・ターゲット及び前記バス・システムによる連続したアクセスを許すことを特徴とする上記(1)に記載の方法。
(5)前記PCIバス・ターゲットは、書き込み操作中にデータ・ソースによってデータがさらに送出されるのを防ぐために「タイプB切断」信号をアサートし、前記破壊をモニタするステップは、書き込み操作の待ち行列入りを許した後に前記「タイプB切断」信号をアサートすることを検出するために、前記PCIバス・ターゲットをモニタすることが含まれることを特徴とする上記(1)に記載の方法。
(6)複数の連続したワードから構成される書き込みデータ・バーストのかたちで書き込みデータを転送するPCIバス・システムであり、該PCIバス・システムに対して少なくとも1つのPCIデータ・ソースを接続させる少なくとも1つのPCIバスと、該データ・ソースから前記書き込みデータを受信し、かつ転送するために前記PCIバスに接続したPCIバス・ターゲットとを有し、さらにPCIバス・ターゲットが操作コマンドをコマンド待ち行列に入れるPCIバス・システムにおいて、前記書き込みデータの破壊を制限するシステムであって、
前記書き込みデータの破壊を検知するために前記PCIバス・ターゲットをモニタする破壊検出論理と、
前記PCIバス・ターゲットの前記待ち行列に入った操作コマンドの完了をモニタする待ち行列レベル検出論理と、
前記PCIバス・ターゲットによって前記書き込みデータの前記破壊を検知し前記PCIに対するアクセスをブロックし、前記PCIバス・ターゲット・コマンド待ち行列において待ち行列に入ったままである前記操作コマンドの所定数を示す前記待ち行列レベル検出論理に応答し、前記少なくとも1つのPCIデータ・ソースによって前記PCIバスにアクセスすることを許可する、前記破壊検知論理に応答するバス・アービタと、
を有することを特徴とする書き込みデータの破壊を制限するシステム。
(7)前記待ち行列レベル検出論理は、さらに前記ブロックをするステップの時に前記PCIバス・ターゲット・コマンド待ち行列に残る前記待ち行列に入った操作コマンドの残存数を識別するステップと、前記モニタされた前記待ち行列に入った操作コマンドの完了の各々に応じて前記待ち行列に入ったままである前記操作コマンドの数をディクリメントするステップと、前記待ち行列に入ったままである前記操作コマンドの数と前記所定数とを比較するステップと、該比較ステップによって数が等しいと判断されると、前記所定数表示を提供するステップとを有することを特徴とする上記(6)に記載のシステム。
(8)前記所定数は、前記残っている操作コマンド1つであることを特徴とする上記(7)に記載のシステム。
(9)複数の前記PCIデータ・ソースが前記PCIバスに接続し、前記バス・アービタは前記複数の前記PCIデータ・ソースの全てによる前記PCIバスに対する前記アクセスをブロックし、一方で前記PCIバス・ターゲット及び前記バス・システムによる連続したアクセスを許すことを特徴とする上記(6)に記載のシステム。
(10)前記PCIバス・ターゲットは、書き込み操作中にデータ・ソースによってデータがさらに送出されるのを防ぐために「タイプB切断」信号をアサートし、前記破壊検出論理は、書き込み操作の待ち行列入りを許した後に前記「タイプB切断」信号をアサートすることを検出するために、前記PCIバス・ターゲットをモニタすることを特徴とする上記(6)に記載のシステム。
(11)少なくとも複数の連続したワードから構成される書き込みデータ・バーストのかたちで書き込みデータを転送し、前記書き込みデータの破壊を制限するPCIバス・システムであって、
該PCIバス・システムに対して少なくとも1つIデータ・ソースを接続させるための少なくとも1つのPCIバスと、
該データ・ソースから前記書き込みデータを受信し、かつ転送するために前記PCIバスに接続し、さらに操作コマンドを待ち行列に入れるためのコマンド待ち行列を持つPCIバス・ターゲットと、
前記書き込みデータの破壊を感知するために前記PCIバス・ターゲットをモニタする破壊検知論理と、
前記PCIバス・ターゲットの前記待ち行列に入った操作コマンドの完了をモニタする待ち行列レベル検知論理と、
前記PCIバス・ターゲットによって前記書き込みデータの前記破壊を検知し、前記PCIに対するアクセスをブロックし、前記PCIバス・ターゲット・コマンド待ち行列において待ち行列に入ったままである前記操作コマンドの所定数を示す前記待ち行列レベル検出論理に応答し、前記少なくとも1つのPCIデータ・ソースによって前記PCIバスにアクセスすることを許可する、前記破壊検知論理に応答するバス・アービタと、
を有することを特徴とするPCIバス・システム。
(12)前記待ち行列レベル検出論理は、さらに前記ブロックをするステップの時に前記PCIバス・ターゲット・コマンド待ち行列に残る前記待ち行列に入った操作コマンドの残存数を識別するステップと、前記モニタされた前記待ち行列に入った操作コマンドの完了の各々に応じて前記待ち行列に入ったままである前記操作コマンドの数をディクリメントするステップと、前記待ち行列に入ったままである前記操作コマンドの数と前記所定数とを比較するステップと、該比較ステップによって数が等しいと判断されると、前記所定数表示を提供するステップとを有することを特徴とする上記(11)に記載のPCIバス・システム。
(13)前記所定数は、前記残っている操作コマンド1つであることを特徴とする上記(12)に記載のPCIバス・システム。
(14)複数の前記PCIデータ・ソースが前記PCIバスに接続し、前記バス・アービタは前記複数の前記PCIデータ・ソースの全てによる前記PCIバスに対する前記アクセスをブロックし、一方で前記PCIバス・ターゲット及び前記バス・システムによる連続したアクセスを許すことを特徴とする上記(11)に記載のPCIバス・システム。
(15)前記PCIバス・ターゲットは、書き込み操作中にデータ・ソースによってデータがさらに送出されるのを防ぐために「タイプB切断」信号をアサートし、前記破壊検出論理は、書き込み操作の待ち行列入りを許した後に前記「タイプB切断」信号をアサートすることを検出するために、前記PCIバス・ターゲットをモニタすることを特徴とする上記(11)に記載のPCIバス・システム。
【図面の簡単な説明】
【図1】本発明の一実施形態にもとづくPCIバスと、それに接続されたホスト・システム及びデバイスを説明するためのブロック図である。
【図2】図1に示すPCIバスのブロック図であって、PCIリモート・ブリッジと2つのPCI論理ブリッジとを示す。
【図3】本発明の一実施形態を実現する図2のリモート・バス・マネージャ、PCIバス・アダプタ、及びリモート・アドレス・トランスレータのブロック図である。
【図4】1ワード書き込みデータ転送操作を説明するタイミング図である。
【図5】2ワード書き込みデータ転送操作を説明するタイミング図である。
【図6】3ワード書き込みデータ転送操作を説明するタイミング図である。
【図7】破壊が生じた従来のバースト書き込みコマンドのタイミング図である。
【図8】破壊を抑えるために本発明にもとづいて実行されたバースト書き込みコマンドのタイミング図である。
【図9】本発明の方法の一実施形態を説明するためのフローチャートである。
【符号の説明】
4 ホスト・システム
6 デバイス
10、12 プロセッサ
11 PCIバス・システム
14 チャンネル・アダプタ(A、B、C、及びD)
16 チャンネル・アダプタ(A、B、C、及びD)
18、20 リモート・ブリッジ
44、45 セカンダリPCIバス
22、24、26、28 ローカル・ブリッジ
32、34 NVS(非揮発性記憶)
88、90 プライマリ・バス
46 PCIバス・マネージャ
50、52 PCIバス・アダプタ
54、56 リモート・アドレス・トランスレータ
55、57 トランザクション制御
58、60 リモート・ディスタンス・インタフェース
59、61 長距離接続
62、64 ローカル・ディスタンス・インタフェース
66、68 ローカル・アドレス・トランスレータ
67、69 トランザクション制御
70、72 PCIバス・アダプダ
74、76 静的ランダム・アクセス・メモリ(SRAM)
80、82、84、86 FIFOバッファ・セクション
88、90 PCIバス
110、112 コマンド待ち行列
111、113 待ち行列バッファ
120、122 破壊検出論理
124 バス・アービタ論理
125、127 コマンド待ち行列レベル検出論理
131 サイクル・フレーム信号
132 許可信号
135、155、175 アドレス
136、156、236 イニシエータ・レディ信号
137、157、237 ターゲット・レディ信号
140、240 データ
141 停止出力
142、162、182 停止信号
160 ワード
171 フレーム
177 レディ信号
231 フレーム信号
232 許可信号

Claims (15)

  1. 複数の連続したワードから構成される書き込みデータ・バーストのかたちで書き込みデータを転送するPCIバス・システムであり、該PCIバス・システムに対して少なくとも1つのPCIデータ・ソースを接続させる少なくとも1つのPCIバスと、該データ・ソースから前記書き込みデータを受信し、かつ転送するために前記PCIバスに接続したPCIバス・ターゲットとを有し、さらにPCIバス・ターゲットが少なくとも書き込みデータの操作に関するコマンドをコマンド待ち行列に入れるPCIバス・システムにおいて前記書き込みデータがPCIバス上で複数のより小さいデータ・バーストに分けられる書き込みデータ破壊を制限する方法であって、
    前記書き込みデータの破壊を検知するステップと、
    前記破壊を検知するステップが前記PCIバス・ターゲットによって前記破壊を検知すると、前記PCIバスに対するアクセスをブロックするステップと、
    前記ブロックするステップに続いて、前記PCIバス・ターゲットの前記待ち行列に入れられたコマンドの完了をモニタするステップと、
    前記完了をモニタするステップが前記PCIバス・ターゲットで待ち行列に入れられたままの前記コマンドの所定数を示すと、前記少なくとも1つのPCIデータ・ソースによってPCIバスに対するアクセスの許可を可能とするステップと、
    を有することを特徴とする書き込みデータの破壊を制限する方法。
  2. 前記完了をモニタするステップは、前記ブロックをするステップの時に前記PCIバス・ターゲット・コマンド待ち行列に残る前記待ち行列に入ったコマンドの残存数を識別するステップと、前記完了をモニタするステップのモニタされた完了の各々に応じて前記残っている前記コマンドの数をディクリメントするステップと、前記残っている前記コマンドの数と前記所定数とを比較するステップと、該比較ステップによって数が等しいと判断されると、前記所定数表示を提供するステップとを有することを特徴とする請求項1に記載の方法。
  3. 前記所定数は、前記残っているコマンド1つであることを特徴とする請求項2に記載の方法。
  4. 複数の前記PCIデータ・ソースが前記PCIバスに接続し、前記ブロックするステップは前記複数の前記PCIデータ・ソースの全てによる前記PCIバスに対する前記アクセスをブロックし、前記PCIバス・ターゲット及び前記バス・システムによる連続したアクセスを許すことを特徴とする請求項1に記載の方法。
  5. 前記PCIバス・ターゲットは、書き込み操作中にデータ・ソースによってデータがさらに送出されるのを防ぐために「タイプB切断」信号をアサートし、前記破壊を検知するステップは、書き込み操作の待ち行列入りを許した後に前記「タイプB切断」信号をアサートすることを検出するために、前記PCIバスをモニタすることが含まれることを特徴とする請求項1に記載の方法。
  6. 複数の連続したワードから構成される書き込みデータ・バーストのかたちで書き込みデータを転送するPCIバス・システムであり、該PCIバス・システムに対して少なくとも1つのPCIデータ・ソースを接続させる少なくとも1つのPCIバスと、該データ・ソースから前記書き込みデータを受信し、かつ転送するために前記PCIバスに接続したPCIバス・ターゲットとを有し、さらにPCIバス・ターゲットが少なくとも書き込みデータの操作に関するコマンドをコマンド待ち行列に入れるPCIバス・システムにおいて、前記書き込みデータがPCIバス上で複数のより小さいデータ・バーストに分けられる書き込みデータ破壊を制限するシステムであって、
    前記書き込みデータの破壊を検知する破壊検出論理と、
    前記PCIバス・ターゲットの前記待ち行列に入ったコマンドの完了をモニタする待ち行列レベル検出論理と、
    前記PCIバス・ターゲットによって前記書き込みデータの前記破壊を検知し前記PCIバスに対するアクセスをブロックし、前記PCIバス・ターゲット・コマンド待ち行列において待ち行列に入ったままである前記コマンドの所定数を示す前記待ち行列レベル検出論理に応答し、前記少なくとも1つのPCIデータ・ソースによって前記PCIバスにアクセスすることを許可する、前記破壊検知論理に応答するバス・アービタと、
    を有することを特徴とする書き込みデータの破壊を制限するシステム。
  7. 前記待ち行列レベル検出論理は、さらに前記ブロックをするステップの時に前記PCIバス・ターゲット・コマンド待ち行列に残る前記待ち行列に入ったコマンドの残存数を識別するステップと、前記モニタされた前記待ち行列に入ったコマンドの完了の各々に応じて前記待ち行列に入ったままである前記コマンドの数をディクリメントするステップと、前記待ち行列に入ったままである前記コマンドの数と前記所定数とを比較するステップと、該比較ステップによって数が等しいと判断されると、前記所定数表示を提供するステップとを有することを特徴とする請求項6に記載のシステム。
  8. 前記所定数は、前記残っているコマンド1つであることを特徴とする請求項7に記載のシステム。
  9. 複数の前記PCIデータ・ソースが前記PCIバスに接続し、前記バス・アービタは前記複数の前記PCIデータ・ソースの全てによる前記PCIバスに対する前記アクセスをブロックし、一方で前記PCIバス・ターゲット及び前記バス・システムによる連続したアクセスを許すことを特徴とする請求項6に記載のシステム。
  10. 前記PCIバス・ターゲットは、書き込み操作中にデータ・ソースによってデータがさらに送出されるのを防ぐために「タイプB切断」信号をアサートし、前記破壊検出論理は、書き込み操作の待ち行列入りを許した後に前記「タイプB切断」信号をアサートすることを検出することを特徴とする請求項6に記載のシステム。
  11. 少なくとも複数の連続したワードから構成される書き込みデータ・バーストのかたちで書き込みデータを転送し、前記書き込みデータがPCIバス上で複数のより小さいデータ・バーストに分けられる書き込みデータ破壊を制限するPCIバス・システムであって、
    該PCIバス・システムに対して少なくとも1つのPCIデータ・ソースを接続させるための少なくとも1つのPCIバスと、
    該データ・ソースから前記書き込みデータを受信し、かつ転送するために前記PCIバスに接続し、さらに少なくとも書き込みデータの操作に関するコマンドを待ち行列に入れるためのコマンド待ち行列を持つPCIバス・ターゲットと、
    前記書き込みデータの破壊を感知する破壊検知論理と、
    前記PCIバス・ターゲットの前記待ち行列に入ったコマンドの完了をモニタする待ち行列レベル検知論理と、
    前記PCIバス・ターゲットによって前記書き込みデータの前記破壊を検知し、前記PCIバスに対するアクセスをブロックし、前記PCIバス・ターゲット・コマンド待ち行列において待ち行列に入ったままである前記コマンドの所定数を示す前記待ち行列レベル検出論理に応答し、前記少なくとも1つのPCIデータ・ソースによって前記PCIバスにアクセスすることを許可する、前記破壊検知論理に応答するバス・アービタと、
    を有することを特徴とするPCIバス・システム。
  12. 前記待ち行列レベル検出論理は、さらに前記ブロックをするステップの時に前記PCIバス・ターゲット・コマンド待ち行列に残る前記待ち行列に入ったコマンドの残存数を識別するステップと、前記モニタされた前記待ち行列に入ったコマンドの完了の各々に応じて前記待ち行列に入ったままである前記コマンドの数をディクリメントするステップと、前記待ち行列に入ったままである前記コマンドの数と前記所定数とを比較するステップと、該比較ステップによって数が等しいと判断されると、前記所定数表示を提供するステップとを有することを特徴とする請求項11に記載のPCIバス・システム。
  13. 前記所定数は、前記残っているコマンド1つであることを特徴とする請求項12に記載のPCIバス・システム。
  14. 複数の前記PCIデータ・ソースが前記PCIバスに接続し、前記バス・アービタは前記複数の前記PCIデータ・ソースの全てによる前記PCIバスに対する前記アクセスをブロックし、一方で前記PCIバス・ターゲット及び前記バス・システムによる連続したアクセスを許すことを特徴とする請求項11に記載のPCIバス・システム。
  15. 前記PCIバス・ターゲットは、書き込み操作中にデータ・ソースによってデータがさらに送出されるのを防ぐために「タイプB切断」信号をアサートし、前記破壊検出論理は、書き込み操作の待ち行列入りを許した後に前記「タイプB切断」信号をアサートすることを検出することを特徴とする請求項11に記載のPCIバス・システム。
JP2001055357A 2000-03-08 2001-02-28 書き込みデータの破壊を制限する方法及びシステムとpciバス・システム Expired - Fee Related JP3600536B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/521,387 US6490644B1 (en) 2000-03-08 2000-03-08 Limiting write data fracturing in PCI bus systems
US09/521387 2000-03-08

Publications (2)

Publication Number Publication Date
JP2001282631A JP2001282631A (ja) 2001-10-12
JP3600536B2 true JP3600536B2 (ja) 2004-12-15

Family

ID=24076541

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001055357A Expired - Fee Related JP3600536B2 (ja) 2000-03-08 2001-02-28 書き込みデータの破壊を制限する方法及びシステムとpciバス・システム

Country Status (2)

Country Link
US (1) US6490644B1 (ja)
JP (1) JP3600536B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6973524B1 (en) * 2000-12-14 2005-12-06 Lsi Logic Corporation Interface for bus independent core
JP3711871B2 (ja) * 2001-01-23 2005-11-02 日本電気株式会社 Pciバスの障害解析容易化方式
US6941408B2 (en) * 2002-09-30 2005-09-06 Lsi Logic Corporation Bus interface system with two separate data transfer interfaces
US7007122B2 (en) * 2002-11-27 2006-02-28 Lsi Logic Corporation Method for pre-emptive arbitration
US7404017B2 (en) * 2004-01-16 2008-07-22 International Business Machines Corporation Method for managing data flow through a processing system
JP2005346513A (ja) * 2004-06-04 2005-12-15 Renesas Technology Corp 半導体装置
JP5267943B2 (ja) * 2009-03-30 2013-08-21 日本電気株式会社 PCI−Express通信システム、及びPCI−Express通信方法
US9111039B2 (en) * 2012-08-29 2015-08-18 Apple Ii 'c. Limiting bandwidth for write transactions across networks of components in computer systems
US10310923B1 (en) 2014-08-28 2019-06-04 Seagate Technology Llc Probabilistic aging command sorting
US10831403B2 (en) 2017-05-19 2020-11-10 Seagate Technology Llc Probabalistic command aging and selection

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5467295A (en) 1992-04-30 1995-11-14 Intel Corporation Bus arbitration with master unit controlling bus and locking a slave unit that can relinquish bus for other masters while maintaining lock on slave unit
US5897667A (en) 1993-11-16 1999-04-27 Intel Corporation Method and apparatus for transferring data received from a first bus in a non-burst manner to a second bus in a burst manner
JP3373089B2 (ja) 1995-08-28 2003-02-04 富士通株式会社 集積回路の初期配置決定装置
US5918072A (en) 1995-09-18 1999-06-29 Opti Inc. System for controlling variable length PCI burst data using a dummy final data phase and adjusting the burst length during transaction
US5754807A (en) 1995-11-20 1998-05-19 Advanced Micro Devices, Inc. Computer system including a multimedia bus which utilizes a separate local expansion bus for addressing and control cycles
US5764929A (en) 1995-12-18 1998-06-09 International Business Machines Corporation Method and apparatus for improving bus bandwidth by reducing redundant access attempts
US5778199A (en) 1996-04-26 1998-07-07 Compaq Computer Corporation Blocking address enable signal from a device on a bus
US5935223A (en) 1996-05-21 1999-08-10 Texas Instruments Incorporated System for blocking access to a computer device using a glue logic circuit operable to force a target computer device to perform a target abort
US5815677A (en) * 1996-12-31 1998-09-29 Compaq Computer Corporation Buffer reservation method for a bus bridge system
EP0924623A3 (en) 1997-12-22 2000-07-05 Compaq Computer Corporation Computer system including arbitration mechanism allowing multiple bus masters to access a graphics bus
US6029607A (en) * 1998-03-11 2000-02-29 Smigelski; Timothy E. Bird arbor

Also Published As

Publication number Publication date
JP2001282631A (ja) 2001-10-12
US6490644B1 (en) 2002-12-03

Similar Documents

Publication Publication Date Title
US5953538A (en) Method and apparatus providing DMA transfers between devices coupled to different host bus bridges
US6128711A (en) Performance optimization and system bus duty cycle reduction by I/O bridge partial cache line writes
US6578102B1 (en) Tracking and control of prefetch data in a PCI bus system
KR100207887B1 (ko) 데이타 프로세싱 시스템 및 방법
EP0760135B1 (en) Method and apparatus for maintaining transaction ordering and supporting deferred replies in a bus bridge
US7783793B2 (en) Handling DMA operations during a page copy
EP1032880B1 (en) Method and apparatus for switching between source-synchronous and common clock data transfer modes in a multiple agent processing system
US6330630B1 (en) Computer system having improved data transfer across a bus bridge
US6170030B1 (en) Method and apparatus for restreaming data that has been queued in a bus bridging device
US8255591B2 (en) Method and system for managing cache injection in a multiprocessor system
US6636927B1 (en) Bridge device for transferring data using master-specific prefetch sizes
US20040117561A1 (en) Snoop filter bypass
US20040064602A1 (en) Claiming cycles on a processor bus in a system having a PCI to PCI bridge north of a memory controller
US20040186931A1 (en) Transferring data using direct memory access
KR20040069329A (ko) 수퍼차지 메시지 교환기
JPH0661075B2 (ja) コンピユータシステム内でデータ転送方法
US5754887A (en) System for limiting access of plurality of requests to peripheral bus by halting transmission to particular peripheral devices and resuming transmission after second predetermined time period expiration
JP3600536B2 (ja) 書き込みデータの破壊を制限する方法及びシステムとpciバス・システム
US7886088B2 (en) Device address locking to facilitate optimum usage of the industry standard IIC bus
US5768545A (en) Collect all transfers buffering mechanism utilizing passive release for a multiple bus environment
US7783817B2 (en) Method and apparatus for conditional broadcast of barrier operations
US6862646B2 (en) Method and apparatus for eliminating the software generated ready-signal to hardware devices that are not part of the memory coherency domain
US5809534A (en) Performing a write cycle to memory in a multi-processor system
US6535937B1 (en) Write command verification across a PCI bus system
US6807587B1 (en) Methods and apparatuses for guaranteed coherency of buffered direct-memory-access data

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040803

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040806

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040831

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040916

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080924

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080924

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090924

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090924

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100924

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100924

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110924

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120924

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130924

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees