JP3437939B2 - 以前にエラーに遭遇した装置に対するロード・オペレーションまたはストア・オペレーションの完了を阻止する方法及び機構 - Google Patents
以前にエラーに遭遇した装置に対するロード・オペレーションまたはストア・オペレーションの完了を阻止する方法及び機構Info
- Publication number
- JP3437939B2 JP3437939B2 JP11065099A JP11065099A JP3437939B2 JP 3437939 B2 JP3437939 B2 JP 3437939B2 JP 11065099 A JP11065099 A JP 11065099A JP 11065099 A JP11065099 A JP 11065099A JP 3437939 B2 JP3437939 B2 JP 3437939B2
- Authority
- JP
- Japan
- Prior art keywords
- error
- load
- store
- register
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0772—Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0745—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in an input/output transactions management context
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
- Bus Control (AREA)
- Detection And Correction Of Errors (AREA)
- Retry When Errors Occur (AREA)
Description
処理に関して、特に、ロード・オペレーション及びスト
ア・オペレーションの間のバス・エラー処理に関する。
より詳細には、本発明は強制不正データ・パリティまた
は0バイト・イネーブルを通じて、ロード・オペレーシ
ョン及びストア・オペレーションの間に、バス・エラー
による損傷を阻止することにより、こうしたエラーから
回復する能力を向上することに関する。
(peripheral component interconnect)ローカル・バ
ス・アーキテクチャに従う標準の入出力(I/O)シス
テムをサポートする。PCIバス・アーキテクチャは多
くの複雑な機構をサポートするアーキテクチャであり、
それらにはPCI−PCI間ブリッジを介するI/O拡
張、ピア・ツー・ピア(装置−装置間)・データ転送、
多機能装置、及び統合装置及びプラグイン装置の両方な
どが含まれる。PCIバス上のI/O装置に対して、I
/Oオペレーションをセット・アップする際、デバイス
・ドライバがI/O装置に対して、一連のロード・オペ
レーションまたはストア・オペレーションを実行しなけ
ればならない。これらの任意のオペレーションが、I/
Oバス上でパリティ・エラーを獲得する場合、オペレー
ションの開始以前にデバイス・ドライバが停止できるよ
うに、この情報をデバイス・ドライバに返却しなければ
ならない。
が、I/O装置内のアドレスをセット・アップするため
に使用され、それに続き第2のストア・オペレーション
が、I/O装置にデータ転送を開始するように信号で知
らせる。第1のストア・オペレーションがエラーを獲得
し、第2のストア・オペレーションが受信される場合、
I/O装置はオペレーションを不正な位置で開始し得
る。PCIアーキテクチャは、エラー後に、ロード・オ
ペレーションまたはストア・オペレーションの継続を阻
止するようにアダプタを設計する規定を含んでいない。
ほとんどの今日のシステムは、デバイス・ドライバが、
ストア・オペレーションに対する"成功"応答を待機し、
それが正しく完了したか否かを判断するのではなく、ス
トア・オペレーションの後に実行を継続することを可能
にする。これはストア・オペレーションに対する応答を
待機するために要求されるプロセッサ機能停止が、シス
テム性能を多大に低下し得るためである。
るロード・オペレーションまたはストア・オペレーショ
ンに対する応答を待機する必要無く、続くロード・オペ
レーションまたはストア・オペレーションの完了を阻止
する1つの技術は、デバイス・ドライバが"go"ストア
・オペレーション(デバイス・ドライバに開始を伝える
ストア・オペレーション)を発行する以前に、全てのセ
ットアップ情報を読返し、読返したデータを記憶済みデ
ータと比較し、両者が同一であるかを判断することであ
る。しかしながら、これは多くの場合、外部の装置への
ロード・オペレーション並びに長い経路のために、プロ
セッサ命令時間に比較して、多くのプロセッサ時間を必
要とする。別の可能な解決策は、I/O装置内のインタ
フェース・レジスタまたはステータス・レジスタ内のビ
ットを調査し、ストア・オペレーション後にエラーが発
生したか否かを判断することである。しかしながら、こ
れは現アーキテクチャによってサポートされておらず、
やはり多くの時間を要する。
ン後にエラーが存在するとき、I/O装置が外部割込み
を生成することであるが、継続以前に割込みを待機する
ことは、多くの時間を費やす。他の考えられる可能性
は、一般にアダプタに依存し、従って、その解決策を考
慮して設計されていないI/O装置では無効であった
り、多くのプロセッサ時間を要求し得る。
ペレーションまたはストア・オペレーションに対する応
答を待機すること無く、ロード・オペレーションまたは
ストア・オペレーションの完了を阻止する方法及び装置
を提供することが望まれる。また、所与の機構がPCI
アダプタまたはI/O装置ハードウェアの変更を要求す
ること無く、たとえ任意のI/O装置が特に前記機構の
ために設計されていなくても、前記機構がそれと共に使
用され得ることが有利である。
は、バス・エラー処理のための方法及び装置を提供する
ことである。
ョン及びストア・オペレーションの間に、バス・エラー
を処理する方法及び装置を提供することである。
・パリティまたは0バイト・イネーブルの使用により、
以前にエラーに遭遇した装置の識別を通じて、ロード・
オペレーション及びストア・オペレーションの間に、バ
ス・エラーによる損傷を阻止する方法及び装置を提供す
ることである。
うに達成される。各I/O装置(以下「装置」ともい
う)からの装置選択線が、個々にPCIホスト・ブリッ
ジに導入され、PCIバス上でエラーが発生するとき、
故障の装置(すなわち、このエラーに遭遇した装置、よ
り詳しくは、このエラーを発生したオペレーションのタ
ーゲット装置。以下の「エラーが発生した装置」または
「エラーを有した装置」と同じ。)の装置番号がエラー
・レジスタに記録される。エラー・レジスタがリセット
されるまで、続くロード・オペレーション及びストア・
オペレーションが、そのターゲット装置の装置番号がエ
ラー・レジスタに対してチェックされるまで、遅延され
る。このターゲット装置が以前に故障した装置の場合、
不正パリティを強制するか、または全てのバイト・イネ
ーブルをゼロ化することにより、このターゲット装置に
対するロード/ストア・オペレーションの完了が阻止さ
れる。0バイト・イネーブルの不正パリティを強制する
ことにより、このターゲット装置はその装置選択線を活
動化することにより、ロード要求またはストア要求に応
答するが、ストア・データを受け入れない。エラー・レ
ジスタに記録されていない装置へのオペレーションは、
エラー・レジスタがクリアな時の、全てのロード/スト
ア・オペレーションの場合同様、正常な進行が許可され
る。従って、正常なシステム・オペレーションは影響さ
れず、エラー回復の間のオペレーションにより、もはや
損傷が引き起こされない場合、こうしたオペレーション
の進行が許可される。
な実施例が実現されるデータ処理システムが示される。
データ処理システム100は、複数のプロセッサ102
及び104を含む対称マルチプロセッサ(SMP)・シ
ステムであり、これらのプロセッサは、好適にはIBM
から提供されるPowerPC(商標)ファミリ・プロ
セッサの1つを含む。典型的な実施例では2つのプロセ
ッサだけが示されるが、1つのまたは追加のプロセッサ
が使用され得る。本発明はSMPデータ処理システム以
外の他のシステム、例えばユニプロセッサ・システム、
NUMAアーキテクチャ・システム、及びクラスタ・シ
ステムなどにも適用可能である。
れ関連するレベル2(L2)キャッシュ106及び10
8を有し、これらはプロセッサに対するデータ及び命令
をステージングする。プロセッサ102及び104は、
L2キャッシュ106及び108を介して、システム・
バス110に接続される。更にシステム・バス110に
は、ローカル・メモリ112、表示装置(図示せず)へ
の接続を提供するメモリ・マップド・グラフィックス・
アダプタ114、及びシステム・バス110をI/Oバ
ス118に結合する入出力(I/O)バス・ブリッジが
接続される。キーボード120及びポインティング・デ
バイス122(マウス、トラックボールなど)などの入
力装置が、I/Oバス118に接続される。
に、PCIホスト・ブリッジ124が接続され、これは
システム・バス110をPCIバス126に結合する。
PCIバス126は、不揮発性記憶装置132及び13
4をPCIバス126に接続するアダプタ128及び1
30のための複数のスロットを含む。不揮発性記憶装置
132及び134は、磁気ディスク・ドライブ、固体デ
ィスク、または他の従来の記憶装置である。
ンは、当業者には既知である。不揮発性記憶装置132
及び134などの記憶装置、または読出し専用メモリ
(ROM)などの他の装置に含まれるソフトウェアに
は、オペレーティング・システムや、システムのパワー
・オンに応答してロードされる関連ルーチンが含まれ
る。こうしたソフトウェアはシステム・メモリ112に
ロードされ、L2キャッシュ106及び108を介し
て、プロセッサ102及び104にステージされる。ま
た、アプリケーション・ソフトウェア及び関連データ
も、記憶装置132及び134に含まれる。グラフィッ
ク・ユーザ・インタフェースなどのユーザ・インタフェ
ースを介して実行されるソフトウェア・アプリケーショ
ンを制御するために、キーボード120及びポインティ
ング・デバイス122が使用される。
0が、図1に明示的に示されていない多くの追加の構成
要素を含み得ることが理解できよう。それらには、シリ
アル・ポート及びパラレル・ポート、ネットワークや取
り付けられた装置への接続、或いは、システム・バス1
10またはシステム・メモリ112へのアクセスを調整
する制御装置などが含まれる。更に、NUMA構造また
はクラスタ構造などの、他のシステム・アーキテクチャ
構造が、本発明と共に使用され得る。こうした変更及び
変化は、本発明の趣旨及び範囲に含まれる。
に従うPCIホスト・ブリッジが示される。エラー後
に、ロード及びストアの完了を阻止する問題に対する解
決策を開発するにおいて、前述の制限を克服する1つの
鍵は、デバイス・ドライバが他の何らかの理由により、
装置からのロードを実行する必要があるまで、エラーの
報告を遅延することである。その時点で、以前のエラー
が報告されてもよい。しかしながら、これが成功するた
めには、アダプタの状態に対する追加の"損傷"を阻止す
る機構が存在しなければならない。これを達成するため
には、エラーを発生した最初のロードまたはストア・オ
ペレーションの後、ハードウェアを用いて、追加のロー
ド及びストア・オペレーションが前記最初のロードまた
はストア・オペレーションのターゲット装置に達するの
を阻止すべきである。
O装置が、アドレスにより選択され、それらが応答する
幾つかのアドレス範囲を有し得る。ロード・オペレーシ
ョン及びストア・オペレーションがI/O装置に達する
のを阻止するように、PCIホスト・ブリッジ124な
どのホスト・ブリッジを構成するための典型的なアプロ
ーチは、ホスト・ブリッジ内でI/O装置の復号を重複
するか、特定のホスト・ブリッジの管理下の全ての装置
に対する全てのロード・オペレーション及びストア・オ
ペレーションを遮断することである。前者の解決策はス
ケーラブルではなく、後者は所望されるよりも大変多く
のI/Oオペレーションを遮断してしまう。例えば、1
つのPCIホスト・ブリッジが4つ以上のI/O装置へ
の接続を提供し得る。
が完了するのを阻止する問題が、PCIベースのシステ
ムにおいて、PCIホスト・ブリッジ124を再設計す
ることにより解決される。PCIホスト・ブリッジ12
4に接続されるI/O装置132及び134からの、個
々の装置選択(DEVSEL)線202a乃至202n
が、PCIホスト・ブリッジ124に導入される。これ
は各I/O装置132及び134が、それぞれのアドレ
ス範囲を復号し、PCIホスト・ブリッジ124に、そ
れ自身が選択されているか否かを報告することを可能に
する。PCIバス126へのロード・オペレーションま
たはストア・オペレーションにおいて、エラー(データ
・パリティ・エラー(PERR)など)が検出される
と、エラーが発生した装置が個々の装置選択線202a
乃至202nを介して、エラー・レジスタ204に記録
される。この時から、PCIホスト・ブリッジ124内
のエラー・レジスタ204がクリアされるまで、有効デ
ータは、以前にストア・オペレーションにおいてエラー
が発生したI/O装置には転送されず、そのI/O装置
はロード・オペレーションに対して、有効な読出しトラ
ンザクションを完了することを許可されない。
ラーが検出されると、装置へのロード・オペレーション
及びストア・オペレーションは、その装置が以前にエラ
ーを有した装置である場合、すなわち、装置選択線20
2a乃至202nから読出されるDEVSELが、エラ
ーを有したI/OアダプタのDEVSELであって、エ
ラー・レジスタ204に記録済みのDEVSELと合致
する場合、完了することを許可されない。DEVSEL
信号は数サイクルでバス・オペレーションに入るので、
PCIホスト・ブリッジ124はI/O装置へのオペレ
ーションを、DEVSEL信号が受信されるまで遅延し
得る。
な実施例に従い、エラーの検出後、PCIバス上のロー
ド・オペレーション及びストア・オペレーションを処理
するプロセスのハイ・レベル・フローチャートが示され
る。本発明では、エラーが発生する装置が、その装置に
関連付けられる装置選択により、PCIホスト・ブリッ
ジ内のエラー・レジスタ内に記録される。そして、エラ
ー・レジスタ内で識別されるI/O装置に対する追加の
ロード・オペレーション及びストア・オペレーション
が、続いて完了を阻止される。
置へのロード/ストア・オペレーションの完了を阻止す
る第1の方法のプロセスを示す。プロセスはステップ3
02で、PCIバスに接続される装置に対するロード・
オペレーションまたはストア・オペレーションを受信す
ることにより開始する。プロセスは次にステップ304
に移行し、PCIホスト・ブリッジ内のエラー・レジス
タがクリアされているか否かを判断する。クリアされて
いない場合、プロセスはステップ306に移行し、ロー
ドまたはストアに対応する読出しまたは書込みの完了
を、装置選択線が読出されるまで遅延する。これは、P
CIバス内のイニシエータ・レディ(IRDY)信号線
を用いて達成され得る。すなわち、イニシエータ・レデ
ィ線を活動化しないことにより、装置選択線上の装置選
択標識(ここでは装置識別子または装置番号とも呼ばれ
る)が、エラー・レジスタ内に保持される装置番号(す
なわち、以前のエラーから捕獲された装置番号)に対し
てチェックされるまで、読出しまたは書込みが遅延され
得る。
任意的にステップ307に移行し、I/O装置への転送
に備え、正しいパリティを有するデータをバス上に出力
する。これはストア・オペレーションのターゲット装置
が、エラー・レジスタ内に記録済みの以前に故障した装
置に該当しない場合に、ストア・オペレーションが正常
に進行することを可能にする。ステップ307から、或
いはステップ306から、プロセスはステップ308に
移行し、ロード・オペレーションまたはストア・オペレ
ーションのターゲットであるI/O装置の装置選択標識
が使用可能になると、その装置選択標識がPCIホスト
・ブリッジ内のエラー・レジスタ内に記録されているか
否かを判断する。
されており、以前に故障した装置を示す場合、プロセス
はステップ310に移行し、オペレーションにデータ・
パリティ・エラーを強制する。ストア・オペレーション
では、これはデータ・パリティ・エラーを強制するよう
に、バス上のパリティを変更することにより達成され得
る。ロード・オペレーションでは、あたかも不正のパリ
ティが存在したかのように、信号がPCIホスト・ブリ
ッジに伝送され得る。当然、PCIホスト・ブリッジ
は、PCIバス上のI/O装置にパリティ・エラー(P
ERR)を伝達し、それにより、装置に適正な読出しオ
ペレーションに伴う読出し副作用を生じないように伝え
る。
オペレーションを終了する。これはイニシエータ・レデ
ィ信号を活動化し、1データ転送後に、オペレーション
を終了することにより達成され得る。不正データ・パリ
ティにより、装置はストア・オペレーションにおいて、
不正データを使用すべきでなく、或いはロード・オペレ
ーションにおいて、読出し副作用を有するべきでない。
従って、オペレーションは本質的にノー・オペレーショ
ン(NO-OP)である。ロード・オペレーションでは、エ
ラーがプロセッサに返却され、プロセッサがエラーを検
出し、オペレーションを実行している特定のデバイス・
ドライバにエラーの責任を負わせる。するとデバイス・
ドライバは、その装置に対するPCIホスト・ブリッジ
内のエラー・レジスタ・ステータスをクリアし、その装
置に対するオペレーションを可能にする。デバイス・ド
ライバは次に、適切な浄化を実行し、再始動すべきであ
る。
識がPCIホスト・ブリッジのエラー・レジスタ内の任
意の装置番号に合致しない場合、装置は以前に故障した
装置に該当せず、プロセスはステップ314に移行し、
オペレーションの継続を可能にする。これは単にイニシ
エータ・レディ信号を活動化し、オペレーションの進行
を可能にすることにより達成され得る。いずれにしろ、
イニシエータ・レディ信号の発生を要求するロード・オ
ペレーションは、遅延後、単に継続し得る。ストア・オ
ペレーションについても、オペレーションを遅延する以
前に、適正なパリティを有するデータが(任意的に)バ
ス上に出力された場合、単に継続し得る。
トア・オペレーションが受信されるとき、エラー・レジ
スタがクリアな場合、プロセスは同様に、代わりにステ
ップ314に移行し、オペレーションは正常に進行す
る。"適正"なI/O装置(エラー・レジスタ内に記録さ
れていない装置)に対するロード/ストア・オペレーシ
ョンの遅延は、エラー・レジスタがリセットされるまで
だけ発生する。従って、本発明の方法は、エラー回復の
間を除けば、正常なシステム・オペレーションに対して
は、性能的な影響を有さない。ステップ314または3
12のいずれかから、プロセスはステップ316に移行
し、プロセスは別のロード・オペレーションまたはスト
ア・オペレーションが受信されるまで遊休状態となる。
した装置に対するロード/ストア・オペレーションが完
了するのを阻止するための、第2の方法のプロセスを示
す。図3の方法は、データ(または少なくとも1ビート
のデータ、残りは廃棄)の転送を可能にするが、データ
に対して不正パリティを強制するステップを含んだ。こ
の方法は、PCIアーキテクチャ仕様が、装置が不正パ
リティを有するデータを使用しないように規定しない点
で欠点を有する。適切な設計は、不正パリティを有する
データを使用すべきでないが、そうすることは、PCI
アーキテクチャ仕様に違反しない。図4に示される代替
方法は、データに対して不正パリティを強制するのでな
く、データ転送のためのバイト・イネーブルを0にセッ
トすることにより、この制限を回避する。これはPCI
アーキテクチャ仕様において、明示的にアドレス指定さ
れる利点を有し、このことはバイト・イネーブルがアサ
ートされないアクセスのターゲットが、永久的な変更無
しに、現データ・フェーズを完了しなければならないこ
とを表す。PCIアーキテクチャ仕様は更に、読出しト
ランザクションでは、データまたはステータスが変更さ
れず、書込みトランザクションでは、データが記憶され
ないことを示す。
2で、PCIバスに接続される装置に対するロード・オ
ペレーションまたはストア・オペレーションを受信する
ことにより開始する。プロセスは次にステップ324に
移行し、PCIホスト・ブリッジ内のエラー・レジスタ
がクリアされているか否かを判断する。クリアされてい
ない場合、プロセスはステップ326に移行し、ロード
・オペレーションまたはストア・オペレーションに対応
する読出しまたは書込みの完了を、装置選択線が読出さ
れるまで遅延する。これは第1の方法同様、イニシエー
タ・レディ信号を活動化しないことにより達成される。
は、前述の第1の方法から変化し、ロード/ストア・オ
ペレーションの完了を阻止するために使用される機構
が、装置番号がエラー・レジスタに対してチェックされ
るまで機能する。すなわち、プロセスはステップ328
に移行し、バス上にオール0のバイト・イネーブル(B
E)(すなわち全て非活動状態)を出力する。これはI
/O装置に、ストア・オペレーションにおいて、バスか
らデータを入手しないように、またロード・オペレーシ
ョンにおいて、結果の読出しからの副作用を有さないよ
うに指示する。
装置選択線上の装置番号が、PCIホスト・ブリッジ上
のエラー・レジスタ内に含まれているか否か、すなわち
装置が以前に故障した装置であるか否かを判断する。そ
うである場合、プロセスはステップ332に移行し、前
述のようにイニシエータ・レディ信号を活動化し、サイ
クルを終了する。従って、バス・オペレーションは本質
的にノー・オペレーションである。前述のように、エラ
ーがプロセッサに返却され、オペレーティング・システ
ム及びデバイス・ドライバが、それぞれPCIホスト・
ブリッジのエラー・レジスタをクリアし、浄化し再始動
する。
た装置識別子と合致しない場合、プロセスは代わりにス
テップ334に移行し、オペレーションを終了し、再始
動する。これはイニシエータ・レディ信号を活動化し、
オペレーション(再度ノー・オペレーション)の継続を
可能にし、次に最初のアドレス及び有効バイト・イネー
ブルにより、オペレーションを再始動することにより達
成され得る。プロセスは次にステップ336に移行し、
プロセスが正常に継続することが可能になる。前述の方
法同様、ロード/ストア・オペレーションが受信される
とき、エラー・レジスタがクリアされていれば、プロセ
スはステップ324からステップ336に移行する。従
って、正常な動作中はシステム性能は影響を受けず、オ
ペレーションはエラー回復の間にのみ遅延される。ステ
ップ332または336から、プロセスはステップ33
8に移行し、別のロード/ストア・オペレーションが受
信されるまで、プロセスは遊休状態になる。
者とも利点及び制限を有する。データに対する不正パリ
ティの強制は、エラー・レジスタに記録されていない装
置に対するオペレーションが、不要な遅延無しに進行す
ることを可能にするが、不正データが使用されないよう
に保証しない。バイト・イネーブルのゼロ化は、不正デ
ータの使用を阻止するが、"適正"な装置(エラー・レジ
スタに記録されていない装置)に対するオペレーション
が終了され、再始動されることを要求する。従って、最
善の方法は、本発明が実現される特定の状況に依存す
る。
レーション及びストア・オペレーションの完了を阻止す
ることに加え、PCIホスト・ブリッジは、故障の装置
からの直接メモリ・アクセス(DMA)を阻止すべきで
ある。そのために、PCIホスト・ブリッジは調停レベ
ルを装置選択線に関連付け、故障の装置が引き続きバス
・グラント(GNT)信号を受信することを阻止する。
損傷を阻止する技術は、パリティ・エラーだけでなく、
例えばターゲット装置からのターゲット・アボートな
ど、特定の装置に拘束され得るロード・オペレーション
またはストア・オペレーションの間に、PCIバス上で
発生し得る他のエラーにも使用され得る。更に、アドレ
ス・パリティ・エラーなど、特定の装置に拘束されない
エラーが受信される場合、PCIホスト・ブリッジの管
理下の全てのI/O装置がエラーを有したことを示すよ
うに、エラー・レジスタがセットされ、それらの装置に
対する全ての続くロード・オペレーションまたはストア
・オペレーションが、エラーとしてフラグを立てられ
る。
装置に対する損傷を阻止する技術が、PCIホスト・ブ
リッジの他の側のバス上のエラーのためにも使用され得
る。エラーが特定のPCI装置に拘束される限り、本発
明の方法は、より効果的な解決策を提供する。例えば、
パリティ・エラーがPCI装置に対するストア・オペレ
ーションで検出される場合、PCIホスト・ブリッジ
は、その不正なパリティをPCIバス上に転送し得る。
装置がその後、装置選択により応答するとき、パリティ
・エラー(PERR)信号によっても応答し得る。前述
の方法がこの時、効を奏する。
の変更を要求すること無く、また実質的なプロセッサ時
間量を要求すること無く、以前に故障した装置に対する
ロード・オペレーション及びストア・オペレーションの
完了を阻止する。本発明の方法は、装置が故障し、エラ
ー回復がまだ完了していない場合(エラー・レジスタが
まだリセットされていない場合)にだけ、ロード/スト
ア・オペレーションを遅延し、従って正常なシステム・
オペレーションの間には性能に影響を及ぼさない。本発
明の方法はまた、たとえターゲット装置が、以前に故障
した装置と同一のPCIホスト・ブリッジの下で制御さ
れていようと、以前に故障した装置を分離し、残りの装
置に対するロード・オペレーション及びストア・オペレ
ーションの進行を可能にする。
システムのブロック図である。
リッジを示す図である。
の、PCIバス上のロード・オペレーション及びストア
・オペレーションの処理のプロセスのハイ・レベル・フ
ローチャートである。
の、PCIバス上のロード・オペレーション及びストア
・オペレーションの処理のプロセスのハイ・レベル・フ
ローチャートである。
Claims (8)
- 【請求項1】以前にエラーに遭遇した装置に対するロー
ド・オペレーションまたはストア・オペレーションの完
了を阻止する方法であって、 ロード・オペレーションまたはストア・オペレーション
の受信に応答して、ホスト・ブリッジ内のエラー・レジ
スタのステータスをチェックするステップと、 前記エラー・レジスタがリセットされておらず且つ当該
エラー・レジスタ内に以前にエラーに遭遇した装置の装
置識別子が記録されているとの判断に応じて、前記ロー
ド・オペレーションまたはストア・オペレーションのタ
ーゲット装置の装置識別子が、前記エラー・レジスタ内
に記録されている前記装置識別子に対してチェックされ
るまで、前記ロード・オペレーションまたはストア・オ
ペレーションを遅延するステップと、 前記ターゲット装置の前記装置識別子が、前記エラー・
レジスタ内に記録されている前記装置識別子と合致する
との判断に応じて、前記ロード・オペレーションまたは
ストア・オペレーションの完了を阻止するステップとを
含み、 前記阻止するステップが、前記ロード・オペレーション
またはストア・オペレーションに対して、不正パリティ
を強制するステップを含む、方法。 - 【請求項2】前記強制するステップが、ストア・オペレ
ーションに対して、前記ホスト・ブリッジに接続される
バス上のデータのパリティを変更するステップを含む、
請求項1記載の方法。 - 【請求項3】前記強制するステップが、ロード・オペレ
ーションに対して、前記ターゲット装置にパリティ・エ
ラーを信号で伝えるステップを含む、請求項1記載の方
法。 - 【請求項4】1ビートのデータを転送後、前記ロード・
オペレーションまたはストア・オペレーションに対する
データ転送を終了するステップを含む、請求項1記載の
方法。 - 【請求項5】以前にエラーに遭遇した装置に対するロー
ド・オペレーションまたはストア・オペレーションの完
了を阻止する機構であって、 バスをデータ処理システムの残りの部分に接続するホス
ト・ブリッジと、 前記ホスト・ブリッジに接続される装置選択線と、 エラーが前記バス上で検出されるとき、前記装置選択線
上の装置識別子を記録する前記ホスト・ブリッジ内のエ
ラー・レジスタと を含み、前記ホスト・ブリッジが、 ロード・オペレーションまたはストア・オペレーション
の受信に応答して、前記エラー・レジスタのステータス
をチェックする手段と、 前記エラー・レジスタがリセットされておらず且つ前記
エラー・レジスタ内に以前にエラーに遭遇した装置の装
置識別子が記録されているとの判断に応じて、前記ロー
ド・オペレーションまたはストア・オペレーションのタ
ーゲット装置の装置識別子が、前記エラー・レジスタ内
に記録されている前記装置識別子に対してチェックされ
るまで、前記ロード・オペレーションまたはストア・オ
ペレーションを遅延する手段と、 前記ターゲット装置の前記装置識別子が、前記エラー・
レジスタ内に記録されている前記装置識別子と合致する
との判断に応じて、前記ロード・オペレーションまたは
ストア・オペレーションの完了を阻止する手段とを含
み、 前記阻止する手段が、前記ロード・オペレーションまた
はストア・オペレーションに対して、不正パリティを強
制する手段を含む、機構。 - 【請求項6】前記強制する手段が、ストア・オペレーシ
ョンに対して、前記バス上のデータのパリティを変更す
る手段を含む、請求項5記載の機構。 - 【請求項7】前記強制する手段が、ロード・オペレーシ
ョンに対して、前記ターゲット装置にパリティ・エラー
を信号で伝える手段を含む、請求項5記載の機構。 - 【請求項8】1ビートのデータを転送後、前記ロード・
オペレーションまたはストア・オペレーションに対する
データ転送を終了する手段を含む、請求項5記載の機
構。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/072,418 US6223299B1 (en) | 1998-05-04 | 1998-05-04 | Enhanced error handling for I/O load/store operations to a PCI device via bad parity or zero byte enables |
US09/072418 | 1998-05-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11353244A JPH11353244A (ja) | 1999-12-24 |
JP3437939B2 true JP3437939B2 (ja) | 2003-08-18 |
Family
ID=22107431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11065099A Expired - Fee Related JP3437939B2 (ja) | 1998-05-04 | 1999-04-19 | 以前にエラーに遭遇した装置に対するロード・オペレーションまたはストア・オペレーションの完了を阻止する方法及び機構 |
Country Status (7)
Country | Link |
---|---|
US (1) | US6223299B1 (ja) |
EP (1) | EP0955585B1 (ja) |
JP (1) | JP3437939B2 (ja) |
KR (1) | KR100337215B1 (ja) |
CN (1) | CN1139036C (ja) |
DE (1) | DE69914966D1 (ja) |
TW (1) | TW424179B (ja) |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI19991735A (fi) * | 1999-08-16 | 2001-02-17 | Nokia Networks Oy | Menetelmä ja laite tietokonejärjestelmän toimintavarmuuden parantamiseksi |
US6643727B1 (en) * | 2000-06-08 | 2003-11-04 | International Business Machines Corporation | Isolation of I/O bus errors to a single partition in an LPAR environment |
US6665753B1 (en) * | 2000-08-10 | 2003-12-16 | International Business Machines Corporation | Performance enhancement implementation through buffer management/bridge settings |
US6976191B2 (en) * | 2002-03-07 | 2005-12-13 | International Business Machines Corporation | Method and apparatus for analyzing hardware errors in a logical partitioned data processing system |
US6934888B2 (en) * | 2002-03-07 | 2005-08-23 | International Business Machines Corporation | Method and apparatus for enhancing input/output error analysis in hardware sub-systems |
US20040008192A1 (en) * | 2002-07-10 | 2004-01-15 | Waterman John Karl | Parity checking system and method for a display system |
US7650530B2 (en) * | 2002-09-30 | 2010-01-19 | International Business Machines Corporation | Initializing a processing system to ensure fail-safe boot when faulty PCI adapters are present |
JP4123942B2 (ja) * | 2003-01-14 | 2008-07-23 | 株式会社日立製作所 | 情報処理装置 |
JP4153802B2 (ja) * | 2003-02-07 | 2008-09-24 | 株式会社ルネサステクノロジ | 記憶装置 |
US7103808B2 (en) * | 2003-04-10 | 2006-09-05 | International Business Machines Corporation | Apparatus for reporting and isolating errors below a host bridge |
CN1302358C (zh) * | 2003-05-21 | 2007-02-28 | 华为技术有限公司 | 一种桥接芯片的复位方法及其装置 |
US7877647B2 (en) * | 2003-05-23 | 2011-01-25 | Hewlett-Packard Development Company, L.P. | Correcting a target address in parallel with determining whether the target address was received in error |
US7275199B2 (en) * | 2004-08-05 | 2007-09-25 | International Business Machines Corporation | Method and apparatus for a modified parity check |
CN100372094C (zh) * | 2004-10-29 | 2008-02-27 | 力晶半导体股份有限公司 | 具自动回复功能的晶片测试装置与晶片测试方法 |
US20060271718A1 (en) * | 2005-05-27 | 2006-11-30 | Diplacido Bruno Jr | Method of preventing error propagation in a PCI / PCI-X / PCI express link |
US7412629B2 (en) * | 2005-06-09 | 2008-08-12 | International Business Machines Corporation | Method to override daughterboard slots marked with power fault |
US20080148104A1 (en) * | 2006-09-01 | 2008-06-19 | Brinkman Michael G | Detecting an Agent Generating a Parity Error on a PCI-Compatible Bus |
JP4656080B2 (ja) * | 2007-04-16 | 2011-03-23 | 株式会社日立製作所 | 情報処理装置のシステム部品 |
CN101625656B (zh) * | 2009-07-28 | 2012-09-19 | 杭州华三通信技术有限公司 | 一种处理pci系统异常的方法及装置 |
US8510599B2 (en) * | 2010-06-23 | 2013-08-13 | International Business Machines Corporation | Managing processing associated with hardware events |
US8566480B2 (en) | 2010-06-23 | 2013-10-22 | International Business Machines Corporation | Load instruction for communicating with adapters |
US8650335B2 (en) | 2010-06-23 | 2014-02-11 | International Business Machines Corporation | Measurement facility for adapter functions |
US8468284B2 (en) | 2010-06-23 | 2013-06-18 | International Business Machines Corporation | Converting a message signaled interruption into an I/O adapter event notification to a guest operating system |
US8504754B2 (en) | 2010-06-23 | 2013-08-06 | International Business Machines Corporation | Identification of types of sources of adapter interruptions |
US9342352B2 (en) | 2010-06-23 | 2016-05-17 | International Business Machines Corporation | Guest access to address spaces of adapter |
US8478922B2 (en) | 2010-06-23 | 2013-07-02 | International Business Machines Corporation | Controlling a rate at which adapter interruption requests are processed |
US8635430B2 (en) | 2010-06-23 | 2014-01-21 | International Business Machines Corporation | Translation of input/output addresses to memory addresses |
US9213661B2 (en) | 2010-06-23 | 2015-12-15 | International Business Machines Corporation | Enable/disable adapters of a computing environment |
US8615645B2 (en) | 2010-06-23 | 2013-12-24 | International Business Machines Corporation | Controlling the selectively setting of operational parameters for an adapter |
US8626970B2 (en) | 2010-06-23 | 2014-01-07 | International Business Machines Corporation | Controlling access by a configuration to an adapter function |
US8572635B2 (en) | 2010-06-23 | 2013-10-29 | International Business Machines Corporation | Converting a message signaled interruption into an I/O adapter event notification |
US8621112B2 (en) | 2010-06-23 | 2013-12-31 | International Business Machines Corporation | Discovery by operating system of information relating to adapter functions accessible to the operating system |
US8549182B2 (en) | 2010-06-23 | 2013-10-01 | International Business Machines Corporation | Store/store block instructions for communicating with adapters |
US8639858B2 (en) | 2010-06-23 | 2014-01-28 | International Business Machines Corporation | Resizing address spaces concurrent to accessing the address spaces |
US9195623B2 (en) | 2010-06-23 | 2015-11-24 | International Business Machines Corporation | Multiple address spaces per adapter with address translation |
US8650337B2 (en) | 2010-06-23 | 2014-02-11 | International Business Machines Corporation | Runtime determination of translation formats for adapter functions |
US8505032B2 (en) | 2010-06-23 | 2013-08-06 | International Business Machines Corporation | Operating system notification of actions to be taken responsive to adapter events |
JP5201176B2 (ja) * | 2010-07-09 | 2013-06-05 | 株式会社日立製作所 | 情報処理装置 |
US9442793B2 (en) * | 2013-07-23 | 2016-09-13 | Qualcomm Incorporated | Robust hardware/software error recovery system |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5404483A (en) * | 1990-06-29 | 1995-04-04 | Digital Equipment Corporation | Processor and method for delaying the processing of cache coherency transactions during outstanding cache fills |
EP0547769B1 (en) * | 1991-12-18 | 1999-10-13 | Sun Microsystems, Inc. | Write overlap with overwrite prevention |
US5313627A (en) * | 1992-01-02 | 1994-05-17 | International Business Machines Corp. | Parity error detection and recovery |
US5499346A (en) * | 1993-05-28 | 1996-03-12 | International Business Machines Corporation | Bus-to-bus bridge for a multiple bus information handling system that optimizes data transfers between a system bus and a peripheral bus |
US5522050A (en) * | 1993-05-28 | 1996-05-28 | International Business Machines Corporation | Bus-to-bus bridge for a multiple bus information handling system that optimizes data transfers between a system bus and a peripheral bus |
US5790831A (en) * | 1994-11-01 | 1998-08-04 | Opti Inc. | VL-bus/PCI-bus bridge |
CA2160500C (en) * | 1994-11-30 | 1999-11-09 | Amy Kulik | Pci/isa bridge having an arrangement for responding to pci bridge address parity errors for internal pci slaves in the pci/isa bridge |
US5859988A (en) * | 1995-09-29 | 1999-01-12 | Intel Corporation | Triple-port bus bridge |
KR100244836B1 (ko) * | 1995-11-02 | 2000-02-15 | 포만 제프리 엘 | 컴퓨터시스템 및 다수의 기능카드 중 한개의 기능카드를 격리하는 방법 |
US5857080A (en) * | 1996-09-10 | 1999-01-05 | Lsi Logic Corporation | Apparatus and method for address translation in bus bridge devices |
US5857085A (en) * | 1996-11-13 | 1999-01-05 | Cypress Semiconductor Corporation | Interface device for XT/AT system devices on high speed local bus |
US5872910A (en) * | 1996-12-27 | 1999-02-16 | Unisys Corporation | Parity-error injection system for an instruction processor |
-
1998
- 1998-05-04 US US09/072,418 patent/US6223299B1/en not_active Expired - Lifetime
-
1999
- 1999-04-02 CN CNB991047877A patent/CN1139036C/zh not_active Expired - Lifetime
- 1999-04-15 KR KR1019990013381A patent/KR100337215B1/ko not_active IP Right Cessation
- 1999-04-19 JP JP11065099A patent/JP3437939B2/ja not_active Expired - Fee Related
- 1999-04-19 EP EP99302989A patent/EP0955585B1/en not_active Expired - Lifetime
- 1999-04-19 DE DE69914966T patent/DE69914966D1/de not_active Expired - Lifetime
- 1999-04-23 TW TW088106471A patent/TW424179B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
JPH11353244A (ja) | 1999-12-24 |
EP0955585A3 (en) | 2003-03-19 |
EP0955585A2 (en) | 1999-11-10 |
EP0955585B1 (en) | 2004-02-25 |
CN1139036C (zh) | 2004-02-18 |
CN1234562A (zh) | 1999-11-10 |
DE69914966D1 (de) | 2004-04-01 |
KR100337215B1 (ko) | 2002-05-17 |
KR19990087931A (ko) | 1999-12-27 |
US6223299B1 (en) | 2001-04-24 |
TW424179B (en) | 2001-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3437939B2 (ja) | 以前にエラーに遭遇した装置に対するロード・オペレーションまたはストア・オペレーションの完了を阻止する方法及び機構 | |
US6304984B1 (en) | Method and system for injecting errors to a device within a computer system | |
EP1472608B1 (en) | Hot plug interface control method and apparatus | |
US6018810A (en) | Fault-tolerant interconnection means in a computer system | |
KR100742718B1 (ko) | 컴퓨터 시스템의 제1 및 제2버스사이에 연결된 투명브리지, 이를 포함하는 시스템 및 컴퓨터 시스템의 제1 및 제2 버스의 브리징 방법 | |
US20020103966A1 (en) | System and method for efficient data mirroring in a pair of storage devices | |
JP3476174B2 (ja) | ピア・ツー・ピア・サポートを有する2重ホスト・ブリッジ | |
US5778194A (en) | Method and apparatus for measuring performance of a computer bus | |
JPH0642225B2 (ja) | Dma機能を有する計算機システム | |
WO1998000783A1 (en) | Method and apparatus for power management of distributed direct memory access (ddma) devices | |
WO1997046941A1 (en) | Digital data processing methods and apparatus for fault isolation | |
JP2002518735A (ja) | 異種データ・レジスタを有するプロセッサ・ブリッジ | |
US20070180269A1 (en) | I/O address translation blocking in a secure system during power-on-reset | |
US9372702B2 (en) | Non-disruptive code update of a single processor in a multi-processor computing system | |
JPH07311716A (ja) | コンピュータシステム、コンピュータシステムに周辺装置をインタフェースさせるための並列ポート回路、およびその動作方法 | |
US7631226B2 (en) | Computer system, bus controller, and bus fault handling method used in the same computer system and bus controller | |
US7886088B2 (en) | Device address locking to facilitate optimum usage of the industry standard IIC bus | |
US4858234A (en) | Method and apparatus for error recovery in a multibus computer system | |
US5293384A (en) | Microprocessor bus interface protocol analyzer | |
US6732298B1 (en) | Nonmaskable interrupt workaround for a single exception interrupt handler processor | |
US6189117B1 (en) | Error handling between a processor and a system managed by the processor | |
US4837767A (en) | Bus adapter module with improved error recovery in a multibus computer system | |
CN103218237B (zh) | 使用基于rom的初始化单元和可编程微控制器的gpu的初始化 | |
JP2002518737A (ja) | 異種データ・アクセスを伴うプロセッサ・ブリッジ | |
US5751641A (en) | Microprocessor memory test circuit and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080606 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080606 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090606 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100606 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110606 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110606 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120606 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120606 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130606 Year of fee payment: 10 |
|
LAPS | Cancellation because of no payment of annual fees |