JP2003511756A - コンピュータにおいて故障分離および診断を改善する機構 - Google Patents

コンピュータにおいて故障分離および診断を改善する機構

Info

Publication number
JP2003511756A
JP2003511756A JP2001528817A JP2001528817A JP2003511756A JP 2003511756 A JP2003511756 A JP 2003511756A JP 2001528817 A JP2001528817 A JP 2001528817A JP 2001528817 A JP2001528817 A JP 2001528817A JP 2003511756 A JP2003511756 A JP 2003511756A
Authority
JP
Japan
Prior art keywords
information
input
data
error
subsystem
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
JP2001528817A
Other languages
English (en)
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JP2003511756A publication Critical patent/JP2003511756A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0706Error 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/0721Error 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 within a central processing unit [CPU]
    • G06F11/0724Error 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 within a central processing unit [CPU] in a multiprocessor or a multi-core unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0751Error or fault detection not based on redundancy
    • G06F11/0763Error or fault detection not based on redundancy by bit configuration check, e.g. of formats or tags
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1024Identification of the type of error

Abstract

(57)【要約】 計算機システムにおけるハードウェア故障の分離および診断を改善するシステムおよび方法であって、使用不可能なデータが、そのデータを使用不可能にする原因となったハードウェア故障の診断を既にトリガしたかどうかを示す手段が提供される。診断がまだ実行されていない場合、フラグはセットされていない。診断が既に実行された場合、フラグはセットされている。一実施形態は、データを1つのサブシステムから別のサブシステムに伝達するために使用されるインターフェースを含む。このインターフェースが第1のサブシステムからデータを受け取ると、そのデータが、(欠損データを含めて)訂正不能誤りを含んでいるかどうかを判定するためにそのデータが検査される。そのデータが訂正不能誤りを含んでいる場合、ハードウェア故障診断が既に開始されたかどうかを判定するために、インターフェースはそのデータに対応するフラグを検査する。診断が既に開始されている場合、さらなる診断を開始せずにそのデータは第2のサブシステムに渡される。診断がまだ開始されていない場合、インターフェースは診断を開始し、診断が既に開始されたことを示すようにフラグをセットする。次いでそのデータおよび対応するフラグは第2のサブシステムに渡される。そのデータが訂正不能誤りを含んでいる場合、対応するフラグの値に関わらず、そのデータを要求したサブシステムによってデータ誤り処理手順が実行される。

Description

【発明の詳細な説明】
【0001】 (発明の背景) 1.発明の分野 本発明は、一般に、コンピュータ・システムにおける誤り検出および処理に関
し、より詳細には、使用不可能なデータを識別し、そのデータが使用不可能にな
る原因となったハードウェア故障の診断を開始または禁止する方法および装置に
関する。
【0002】 2.関連技術の説明 コンピュータ・システムは、通常、プロセッサ、I/Oブリッジ、グラフィッ
ク・デバイス等の複数の能動デバイスまたは構成要素ならびにメモリ・システム
を含んでいる。これらのデバイス、またはこれらデバイス間の相互接続はいずれ
も、データの誤りを引き起こすハードウェア故障が生じ、またはその不良ハード
ウェアを介してデータに到達することの困難を経験することがある。
【0003】 診断を助け、それらの誤りによる影響を抑えるために多くの誤り管理技術が開
発されてきた。1つの簡単な技術はパリティ検査である。パリティ検査は、1つ
のデータ(一般的には1バイト)に関連付けられた単一ビット(パリティビット
)を使用して、そのデータ内に単一ビット誤りがあるかどうかを判定する。しか
し、パリティ検査は、複数ビット誤りを検出することができず、また単一ビット
誤りを訂正する方法も提供していない。より高度なシステムは、誤り訂正符号(
ECC)を使用して、ある種の誤りを検出しこれを訂正しさえする。(本明細書
では、「誤り検出/訂正」を、一般に、ECC符号およびパリティを含めて、誤
り検出と誤り訂正の両方に使用されるシステムおよびビットまたは符号を示すた
めに使用する。)1つのECC符号は、1つのデータに関連付けられた一群のビ
ットから構成される。典型的なECCシステムは、64ビットのデータ内の誤り
を検出し訂正するために8つのECCビット(1つのECC符号)を使用するこ
とができる。ECCビットは、単一ビット誤りを検出し訂正するため、または2
ビット内の誤りを検出するためのECCアルゴリズムのために十分な情報を提供
する。この特定のシステムは、2ビットの誤りを検出すると、その誤りを訂正す
ることができない。
【0004】 データ誤りを訂正することができる場合(例えば、メモリ・システムが単一ビ
ットを訂正するECC符号を使用しており、単一ビット誤りがある場合)、その
誤りは単に訂正され、システムのオペレーションは正常に継続される。誤りを検
出することができない場合、その誤りはシステム全体に伝搬する危険性があり、
その結果その他の誤りを生じさせ、存在しないかもしれないハードウェア故障の
診断を促すことになる。
【0005】 例えば図1に示すシステムを参照すると、キャッシュ12の故障はそのキャッ
シュに記憶されているデータ値の誤りの原因となる。キャッシュ12内のデータ
が変更されているかまたは「ダーティな」状態にあるときに、別のプロセッサが
そのデータを使用ためにそのキャッシュからコピーしなければならないときがあ
る。変更されているキャッシュライン内の誤りが訂正不能な場合、その誤りの原
因を突き止めるためにハードウェア診断が開始される。すると、その誤りは、プ
ロセッサ11によってバス19および/またはメインメモリ18に書き込まれる
ときに伝搬する危険性がある。別のプロセッサ(例えばプロセッサ13)がその
データ値を読取り、そのデータ値をキャッシュ14に記憶する場合、その別のプ
ロセッサはその訂正不能誤りを参照することになり、第2のハードウェア診断を
開始する場合がある。この第2の診断は、キャッシュ12内で実際に誤りが発生
したときに、プロセッサ13、キャッシュ14またはメインメモリ18内のハー
ドウェア障害を指摘する場合がある。この誤りは、遠隔からそのシステムに(例
えばインターフェース17によって)インターフェースされるプロセッサおよび
キャッシュ(例えば15、16)を含めて、システム全体に伝搬する危険性があ
る。
【0006】 データ誤りを訂正することができない場合(例えば、メモリ・システムがパリ
ティ検査だけを使用するか、またはECCシステムが訂正するにはビット誤りが
多すぎる場合)、そのデータは使用不可能なデータとされる場合がある。従来技
術のシステムが使用不可能なデータへのアクセスを試みる場合、データを要求す
るデバイスはいくつかの方法の1つで応答することがある。一例では、使用不可
能なデータにアクセスしているプロセッサは、そのデータを取り出し、そのデー
タが使用不可能であると判定し、後続の誤りを検出できるようにその使用不可能
なデータに基づいて新しいECC符号を追加する場合がある。これによって、当
初の誤りは未検出のままシステム全体に伝搬する。
【0007】 別の例では、使用不可能なデータを記憶しているメモリが単にデータを全く戻
さないという場合もある。上記実施態様とは対照的に、この場合は、その中にあ
る誤りの拡散を防止することができる。いかなるデータも戻さないということに
応答して、そのデータへのアクセスを試みるデバイスは時間切れになり、その誤
りの原因を突き止めるための診断を開始する。しかし、上記で指摘したように、
このアクセス以前に誤りが発生している可能性もあるので、この診断は有用な情
報を全く提供しない可能性がある。アクセスに関わるハードウェアはその誤りの
原因とはなっていないので、実際には、この診断の開始は、その誤りの発生場所
に関する問題を事実上混乱させかねない。データへのアクセスを試みる各デバイ
スが時間切れになって診断を開始する可能性があるが、これらは共に普通ならば
有用な処理能力を浪費するという理由から、この実施態様は多大な性能損失をも
被りかねない。
【0008】 別の例では、不良データを含んでいるメモリは、そのデータおよび関連付けら
れたECC符号を記憶されている通りの状態で(すなわち、誤りを伴って)戻す
場合がある。この状態では、データにアクセスしているプロセッサはハードウェ
ア診断を開始するが、これは無益で混乱した結果を生じさせる危険性がある。
【0009】 別の例では、メモリは複数ビット誤りを指摘する所定のECC符号を戻すこと
ができる。しかし、データにアクセスするある種のデバイスにとっては、この所
定のECC符号(一般にそのデータが破損していることを指摘する)と実際の複
数ビット誤りを表すECC符号とを区別することは困難な場合がある。メモリと
アクセスするデバイスの間の伝送経路で後続の単一ビット誤りが発生すると、こ
の障害は増大する危険性がある。
【0010】 データの要求を受けるデバイスの応答がどのようなものであれ、使用不可能な
データへのアクセスは、通常、コンピュータ自体による2つの標準的応答のうち
の1つとなる。第1の標準的応答は、コンピュータがそのオペレーションを中断
してコンピュータ自体をリブートするというものである。当然ながらこの応答は
、そのコンピュータ上で実行されている全てのアプリケーションと、そのアプリ
ケーションによって実行される全ての作業損失をその時点までに終了させる結果
をもたらす。アプリケーションは再スタートされる必要があり、全ての損なわれ
た作業は再度実行されなければならない。しかし、この応答に伴う重大な問題の
1つは、使用不可能なデータにアクセスしなかった、このデータにまだアクセス
していないアプリケーションまでも終了されるということである。
【0011】 第2の標準的応答は、使用不可能なデータがアクセスされたときはいつでもそ
のデータの指示を提供するというものである。これは、単にそのデータを提供し
ないか(通常、これによりそのデータを要求するデバイスは時間切れになる)、
またはそのデータが使用不可能であることを示すECC符号と共にデータを提供
することによって達成することができる。この第2の応答は、そのデータにアク
セスするアプリケーションだけが誤りに気付き、(例えばそのアプリケーション
自体を終了することによって)その誤りを処理しなければならないので、すべて
のアプリケーションを無差別に終了するという問題を解消する。しかしこのデー
タを受け取るデバイスは、誤りのないデータを受け取らなかったということにだ
け気付く。したがって、このデバイスにとってその誤りがどのようにして発生し
たかを突き止めることは困難な場合がある。したがって、データがアクセスされ
るたびに誤り報告が生成される可能性があり、このことは不要な診断または実際
には発生していない可能性のあるハードウェア故障診断に繋がる可能性がある。
使用不可能なデータが既に検出済みであることを示すために特有のECC符号を
使用するシステムでは、さらなるその後の単一ビット誤りの発生がさらにその状
況を混乱させることがある。さらに、上記で指摘したように、要求しているデバ
イスが時間切れになるのを待つことによって、メモリ・アクセスの平均待ち時間
は増大し、システムの性能は低下する。
【0012】 (発明の概要) 上記で概説した問題は、計算機システムでハードウェア故障の分離と診断を改
善するシステムおよび方法によってその大半が解決する。概略的には、このシス
テムは、使用不可能なデータが、そのデータを使用不可能にする原因となったハ
ードウェア故障の診断を既にトリガしたかどうかを示す機構を提供するものであ
る。この機構は、診断が実行されたかどうかを示すデータに関連付けられたフラ
グを使用する。診断がまだ実行されていない場合は、このフラグはセットされて
いない(すなわち、このフラグは「偽」の値を有する)。診断が既に実行された
場合は、このフラグはセットされている(すなわち、このフラグは「真」の値を
有する)。
【0013】 使用可能な誤り訂正機構による訂正が可能でない誤りを含んでいるという理由
から、またはそれが欠損しているという理由から(すなわち、まだ受け取られて
いないという理由から)、データは使用不可能である可能性がある。一実施形態
では、データは要求されているがまだ受け取られていないときはいつでも、また
、受け取ったデータが訂正不能誤りを含んでいるときはいつでも、状態情報が取
り込まれ、誤りの原因となったハードウェア故障の診断が開始される。使用不可
能なデータは、そのデータが使用不可能であることを示すようにセットされたフ
ラグと共に渡される。受け取られた使用不可能なデータが、セットされていない
フラグを有する場合、そのフラグはセットされる。受け取られた使用不可能なデ
ータがフラグを有しない場合、フラグが生成されてその使用不可能なデータと共
に渡される。渡されたデータが誤り検出/訂正によってカバーされると、その使
用不可能なデータをカバーするために新しい誤り検出/訂正符号が生成され、ま
た、さらなる誤りを検出できるように、可能ならばフラグも生成される。したが
って、フラグによってあらゆる訂正不能誤りや欠損データが示されるが、その使
用不可能なデータが伝えられるたびにそのデータを使用不可能にする原因となっ
た故障が再診断されることはない。
【0014】 一実施態様は、ある構成要素またはサブシステムから別の構成要素またはサブ
システムにデータを伝達するために使用されるインターフェースを含んでいる。
そのインターフェースが第1のサブシステムからデータを受け取ると、そのデー
タが(欠損データを含めて)訂正不能誤りを含んでいるかどうかを判定するため
にそのデータが検査される。そのデータが訂正不能誤りを含んでいる場合、イン
ターフェースはそのデータに対応するフラグを検査して、ハードウェア故障診断
が既に開始されたかどうかを判定する。診断が既に開始されている場合、そのデ
ータはさらなる診断を開始せずに第2のサブシステムに渡される。診断が開始さ
れていない場合、またはフラグ自体が欠損しているかまたは使用不可能であり、
したがって診断が実行されたかどうかが判然としない場合、インターフェースは
診断を開始し、診断が既に実行されたことを示すようにフラグをセットする。次
いでデータ(および対応するフラグ)は、第2のサブシステムに渡される。デー
タが訂正不能誤りを含んでいる場合、対応するフラグの値に関わらずデータ誤り
処理手順が実行される。
【0015】 一実施態様では、インターフェースは、フラグを含まないデータを受け入れる
回路を含んでおり、対応するフラグを生成する。この実施態様では、値と誤り検
出/訂正符号から構成されるデータは検出器/訂正器に入力される。この検出器
/訂正器は、その値を誤り検出/訂正符号と照合して、その値が正しいかどうか
を判定する。(本明細書では、「正しい」を、対応する誤り検出/訂正符号が誤
りを示さないデータを意味するために使用する。)値が正しい場合、その値はデ
ータ・ライン上に出力され、フラグ・ライン上では「偽」信号がアサートされる
。値は正しくないが訂正可能な場合、その値は訂正され、次いでデータ・ライン
上に出力され、フラグ・ライン上では「偽」信号がアサートされる。値が正しく
なく、誤り検出/訂正符号を用いて訂正することができない場合、ハードウェア
診断が開始され、フラグ・ライン上では「真」信号がアサートされる。「真」信
号がアサートされると、データ・ラインはその訂正不能な値と所定の値(例えば
、検出された誤りを示すある種の値)のどちらかを出力することができる。この
回路は、回路によって出力されるその値とフラグとに対応する誤り検出/訂正符
号を生成するECC生成器を含むことができる。
【0016】 本発明の他の目的または利点は、下記の詳細な説明を読み、添付の図面を参照
することによって明らかになろう。
【0017】 本発明には様々な変形形態および代替形態が可能であるが、本明細書ではその
特定の実施形態を例示的に図示し、詳細に説明することにする。しかし、以下の
図面と詳細な説明は、本発明を開示される特定の形態に限定することを意図する
ものではなく、むしろ頭記の特許請求によって規定される本発明の趣旨および範
囲内にある全ての変形形態、等価形態、および代替形態を対象とすることを意図
することを理解されたい。
【0018】 (発明の詳細な説明) 本発明の一実施形態を以下に示す。この実施形態は例示としてのみ提示される
ものであり、これ以外の多くの実施形態が可能であることに留意されたい。
【0019】 一実施形態では、送信サブシステムと受信サブシステムとの間にインターフェ
ースが実装される。このインターフェースは、送信サブシステムから受信サブシ
ステムに送られるデータが使用不可能なデータを含んでいるかどうかを判定し、
使用不可能なデータを含んでいる場合は、そのデータを使用不可能にする原因と
なった誤りの原因を見つけるためにハードウェア故障診断が既に開始されたかど
うかを判定するように構成されている。検出された誤りに対して診断が既に開始
された旨の指示がある場合、さらなる診断は開始されない。そのような指示がな
い場合、ハードウェア診断が開始される。
【0020】 この開示の目的のために、ハードウェア診断を「開始すること」とは、診断に
繋がる動作または診断の一部を構成する動作を行うことを意味している。例えば
、一実施形態は、診断を実行すべき旨を示す信号を生成することによってハード
ウェア診断を開始することができる。この信号は、診断回路に診断を開始させる
ためにその回路に送っても、その診断において後で使用するために記憶してもよ
い。別の実施形態では、診断を要する誤りの指示を記憶することによって、ある
いは誤りまたは誤りを検出したハードウェアに関係する状態情報を記憶すること
によって診断を開始することができる。ハードウェア診断は、診断を開始する回
路と同じ回路によって実施することも、あるいは別個の診断回路によって実施す
ることもできる。
【0021】 図2aを参照すると、一連のサブシステムを示すブロック図が示されている。
サブシステム121は、データをサブシステム122に伝達するように示されて
いる。このデータは、サブシステム122からの要求に応答して、またはサブシ
ステム122からデータを受け取ることになる別のサブシステムからの要求に応
答して伝達される場合がある。また、サブシステム121および別のサブシステ
ムは、サブシステム122で使用されるタイプのインターフェースを利用するこ
ともできる。
【0022】 サブシステム121は、データ、対応するフラグ、そのデータとフラグに対応
する誤り検出/訂正符号をサブシステム122に送るように構成されている。こ
のフラグは、そのデータを使用不可能にする原因となったハードウェア故障の既
に開始された診断を示している。この実施形態では、誤り検出/訂正符号はデー
タとフラグの両方をカバーしており、データとフラグのどちらかにある誤りを検
出できるようになっている。別の実施形態では、誤り検出/訂正符号は、データ
のみまたはフラグのみをカバーするか、そのどちらもカバーしない場合がある。
【0023】 サブシステム121によって送られたデータは、サブシステム122内のイン
ターフェースによって受け取られる。このインターフェースは、誤り検出/訂正
ユニットと状態収集/診断制御(状態/診断)ユニットを含む。誤り検出/訂正
ユニットはその情報を検査して、誤り検出/訂正符号によって判定されるように
、データおよび/またはフラグが誤りを含んでいるかどうかを判定する。(この
場合、サブシステム121によって送られた誤り検出/訂正符号は、そのデータ
が使用不可能かどうかに関わらず、そのデータとフラグに基づいて生成されてい
るものと仮定する。)
【0024】 誤りが全く検出されない場合、このインターフェースは、単にサブシステムを
介してその情報をフラグおよび誤り検出/訂正符号と共に渡すだけである。誤り
が検出されると、誤り検出/訂正ユニットはその誤りが訂正可能かどうかを判定
する。(この開示の目的で、「訂正可能」データは、訂正可能誤りを有するデー
タと誤りを全く有しないデータとを含む。)その誤りが訂正可能な場合、誤り検
出/訂正ユニットはその誤りを訂正し、サブシステムを介してその情報を渡す。
誤りが訂正不能な場合、そのデータが使用不可能であることをフラグが示してい
るかどうかに関わらず、いくつかの動作が状態/診断ユニットによって取られる
。この動作には、状態情報を記憶すること、そのデータが使用不可能であること
を示すようにフラグをセットすること、ハードウェア診断を開始すること、その
使用不可能なデータとそのフラグに基づいて新しい誤り検出/訂正符号を生成す
ることが含まれる。この新しい誤り検出/訂正符号は、後続サブシステムのイン
ターフェースが、この誤りに続いて次の誤りが発生したかどうかを判定できるよ
うにするために生成される。次いでこの新しい情報がサブシステムに渡される。
【0025】 サブシステム122がデータのエンドユーザである場合(すなわち、単にデー
タを別のサブシステムに経路指定するだけでない場合)、サブシステム122は
受け取ったデータが使用可能かどうかを判定する必要がある。フラグがセットさ
れていない場合、データは使用可能であり、サブシステムのオペレーションは正
常に継続される。フラグがセットされている場合、データは使用不可能であり、
サブシステムはそのデータ誤りを処理するために必要なあらゆるステップを行う
必要がある。これらのステップは、例えばクライアントの通知、誤り回復手順ま
たはクライアント・プロセスの終了を含む場合がある。サブシステム122がデ
ータのエンドユーザでない場合(すなわち、データ処理におけるその目的が単に
データを別のサブシステムに経路指定するだけの場合)、そのサブシステムがそ
のデータが使用可能かどうかを判定することは不要である。このサブシステムは
、その情報を後続サブシステムに渡すだけである。
【0026】 図2bに示すように、第1のサブシステム131は、一部の実施形態では、送
られたデータに対応するフラグを送るようには構成されていない場合がある。そ
のような実施形態では、セットされていないフラグを伴っているかのように、そ
のデータは第2のサブシステム132によって処理される。そのデータがサブシ
ステムに渡される前に、インターフェースによってフラグが追加される(適切な
らば、さらにセットされる)。
【0027】 上記で説明したインターフェースによって実施される方法を図3から5に示す
。これらの図面を以下で詳細に説明する。
【0028】 図3は、上記で説明したシステムで実施される方法を示す流れ図であるが、こ
こでは、インターフェースによって検出され、渡される使用不可能なデータに対
して新しい誤り検出/訂正符号が生成される。(新しい誤り検出/訂正符号を生
成することのできないこの他の実施形態を以下で説明する。)情報は、インター
フェースに送られるとき、その情報が訂正不能誤りを含んでいるかどうかを判定
するために検査される。訂正不能誤りの存在は、その情報に対応する誤り検出/
訂正符号を用いて判定される。その情報が訂正可能な場合、その情報が訂正可能
誤りを含んでいるか、または誤りを全く含んでいないかが判定される。誤りが全
くない場合、この情報はインターフェースからサブシステムに送られる。訂正可
能誤りがある場合、その誤りは訂正され、訂正された情報がサブシステムに送ら
れる。
【0029】 情報が訂正不能誤りを含んでいる場合、対応するデータは使用不可能である。
さらに、この実施形態では、誤り検出/訂正符号は、その情報がそこから受け取
られるサブシステム(またはそこに対応するインターフェース)によって生成さ
れているものと仮定されるので、訂正不能誤りの原因となったハードウェア故障
の診断が必要となる。換言すれば、前のサブシステムによって送られる誤り検出
/訂正符号はそのデータと一致すると仮定されるので、そのサブシステムによっ
て既に実行されたはずのハードウェア診断後になんらかの誤りが発生しているは
ずである。したがって、インターフェースは、誤りに関連付けられる状態情報を
記憶すること、そのデータが使用不可能であることを示すためにフラグをセット
すること、およびハードウェア故障診断を開始することを含むいくつかの機能を
実施する。次いで使用不可能なデータは、(そのデータが使用不可能であること
を示すようにセットされたフラグと共に)サブシステムに渡される。その使用不
可能なデータとフラグは新しい誤り検出/訂正符号と共に送られる。新しい誤り
検出/訂正符号は、その使用不可能なデータとフラグに基づいて生成され、した
がってこの情報におけるさらなる誤り(さらなるハードウェア故障を示すことに
なる)を検出することができる。
【0030】 上記段落における説明は、訂正不能誤り検出後に、その使用不可能なデータお
よび対応するフラグに対して新しい誤り検出/訂正符号が生成されるという実施
形態に向けられている。新しい誤り検出/訂正符号が生成されるので、さらなる
誤りを検出することができ、かつ、そのさらなる誤りの原因となったハードウェ
ア故障の診断を開始することができる。代替実施形態では、新しい誤り検出/訂
正符号を生成することはできない。そのような実施形態は、上記で説明した方法
とは若干異なる方法を実施する。その方法を図4に示す。
【0031】 この実施形態では、情報は、インターフェースによって受け取られると、まず
フラグがセットされているかどうかを判定するために検査される。フラグがセッ
トされている場合、その情報がサブシステムに渡されるまでは、別の動作を行う
必要はない。フラグがセットされていない場合、その情報は、そのデータが訂正
可能かどうかを判定するために検査される。そのデータが訂正可能な場合、その
データが正しいかどうか、またはそれが訂正可能誤りを含んでいるかどうかが判
定される。そのデータが正しい場合、その情報はさらなる動作を取らずにサブシ
ステムに渡される。そのデータが訂正可能誤りを含んでいる場合、その誤りは訂
正され、次いで情報がサブシステムに渡される。そのデータが訂正不能誤りを含
んでいる場合、ハードウェア故障診断に関連付けられた手順を行う必要がある。
(この場合フラグはセットされておらず、その診断が前に実行されていないこと
を示しているので、診断を行う必要がある。)実行される必要のある手順は、状
態情報を記憶すること、その診断が既に開始されたことを示すようにフラグをセ
ットすること、および実際にその診断を開始することを含む。次いで使用不可能
なデータは、古い誤り検出/訂正符号とセットされていないフラグと共にサブシ
ステムに送られる。
【0032】 さらに別の実施形態では、データは第1の誤り検出/訂正符号によってカバー
されるが、そのデータが使用不可能かどうかを示すフラグは第2の誤り検出/訂
正符号によってカバーされる。この実施形態で使用される方法は、後述し、図5
に示すように、上記の段落で説明した方法とは若干異なる。(図5は、実際には
方法の初期のステップ、すなわちフラグが正しいか正しくないかのステップだけ
を説明しており、後は図4に示すように続行する。)
【0033】 この実施形態では、情報がサブシステムのインターフェースによって受け取ら
れると、フラグが訂正可能かどうかを判定するために、フラグとそのフラグに対
応する誤り検出/訂正符号がまず検査される。フラグが正しい場合、方法は図4
に示す方法に進む(すなわち、フラグがセットされているかどうかを判定するた
めに検査される、等々である。)フラグが訂正可能誤りを含んでいる場合、その
誤りは訂正され、次いで方法は図4に示すように進む。情報がインターフェース
によって受け取られたときにフラグが訂正不能誤りを含んでいると判定された場
合、その誤りの原因を判定するためのステップが行われる。このステップには、
状態情報を記憶すること、診断を開始すること、およびその診断が開始されてい
ることを示すようにフラグをセットすることが含まれる。次いでデータ、フラグ
および対応する誤り検出/訂正符号がサブシステムに送られる。
【0034】 上記の通り、インターフェースによって受け取られた情報はそのインターフェ
ースによって処理され、次いでサブシステムに渡される。インターフェースから
サブシステムに渡されたデータは使用可能であり、サブシステムはその情報を通
常通りに処理する。例えば、それはそのデータを用いてオペレーションを実行す
ることも、または単にそのデータを別のサブシステムに経路指定することもでき
る。データが使用不可能(すなわち、フラグがセットされている)で、サブシス
テムがデータを要求した場合、そのサブシステムは、クライアント・プロセスを
通知すること、クライアント・プロセスを終了すること、情報を再度要求するこ
と、またはこの他の動作を含めることができるデータ誤り処理手順を開始する。
サブシステムがデータを要求せず単にそのデータを別のサブシステムに経路指定
する場合、通常、そのサブシステムはデータ誤りを処理するための手順を開始し
ない。このサブシステムはデータを経路指定するだけである。誤り処理手順は、
データを要求したサブシステムに任される。
【0035】 上記説明は誤り訂正機構を含むシステムおよび方法に関するものであるが、必
ずしもこれらの機構を含む必要はないということに留意されたい。例えば、サブ
システム用のインターフェースは、データ、パリティビット、およびフラグを含
む情報を受け取るように構成することができる。パリティビットがデータをカバ
ーする場合、データの単一ビット誤りを検出する。誤りが検出されると、このデ
ータに対して既にハードウェア故障診断が開始されているかどうかを判定するた
めにこのフラグを検査する。フラグがセットされている場合、さらなるハードウ
ェア故障診断を開始せずにデータ誤りを処理する。フラグがセットされていない
場合、ハードウェア診断とデータ誤り処理の両方を開始することができ、これが
行われたことを示すようにフラグをセットする。
【0036】 図6および7に、上記で説明した方法を実施するインターフェース回路の2つ
の実施形態を示す。図6に、一実施形態によるインターフェース回路を示す。こ
の実施形態では、インターフェースは、データ、対応するフラグ、およびそのデ
ータ、そのフラグおよび誤り検出/訂正符号自体をカバーする誤り検出/訂正符
号から構成される情報を受け入れるように構成されている。この情報で誤りが検
出されない場合、または訂正可能誤りが検出された場合、このインターフェース
から正しい情報または訂正された情報が出力される。訂正不能誤りが検出された
場合、インターフェースは診断関連情報をその出力で生成する。図示した回路で
は、この診断情報は、一連の0(データの代用として)、そのデータが使用不可
能であることを示すように1にセットされたフラグ、および固定誤り検出/訂正
符号を含む所定のデータから構成される。
【0037】 図6では、データ、フラグおよび誤り検出/訂正符号は誤り検出器41と排他
的ORゲート42の両方に入力される。(排他的ORゲート42は、73の2入
力排他的ORゲートを用いて実施することができることに留意されたい。)誤り
検出器41は、シンドローム・ツー・ビット(syndrome−to−bit
)変換器43に送られるシンドローム符号を生成する。誤り検出器41に入力さ
れた情報が訂正可能誤りを含んでいる場合、シンドローム・ツー・ビット変換器
43はシンドローム符号を使用して、これもまた排他的ORゲート42に入力さ
れる1組の訂正ビットを生成する。図示するように、情報および訂正ビットは、
この実施形態ではそれぞれ73ビット幅である(64ビットのデータ、1ビット
のフラグ、および8ビットの誤り検出/訂正符号)。訂正ビットは、情報内のそ
れぞれの正しいビットに対応する複数の0と、それぞれの正しくないビットに対
応する複数の1とを含んでいる。(情報が誤りを含んでいない場合、すべての訂
正ビットは0である。)したがって、誤り検出器41に入力された情報が正しい
場合、排他的ORゲート42の出力は入力情報と同一である。情報が訂正可能な
場合、正しくないデータ・ビットは排他的ORゲート42によって逆転され、結
果正しい情報を作成する。
【0038】 誤り検出器41に入力された情報が訂正不能誤りを含んでいる場合、誤りの指
示(すなわち1)がORゲート44に入力される。ORゲート44は、その情報
の要求が時間切れであるかどうかの指示も入力として受け入れる。したがって、
ORゲート44は、そのデータが使用不可能である場合(すなわち、訂正不能誤
りを含んでいるか、または欠損している場合)は1を出力し、そのデータが正し
いかまたは訂正可能な場合は0を出力する。ORゲート44のこの出力信号はマ
ルチプレクサ45に送られ、選択信号として使用される。マルチプレクサ45は
、排他的ORゲート42からの訂正されたデータと、上述の所定のデータという
他の2つの入力の組(すなわち、複数の0、セットされたフラグ、固定誤り検出
/訂正符号)も受け入れる。この所定のデータは、マルチプレクサ45にハード
ワイヤードされているレジスタ(図示せず)に記憶することができる。選択入力
が0の場合、正しい/訂正された情報がマルチプレクサ45から出力される。選
択入力が1の場合、所定のデータが出力される。
【0039】 図6の回路では、マルチプレクサ45によって選択された所定のデータは、誤
りの原因となったハードウェア故障の診断に使用される情報を提供する。この所
定のデータの選択はハードウェア診断の開始とみなすことができる。別の実施形
態では、所定のデータの選択を制御するORゲート44の出力は、診断をトリガ
するために外部診断回路に送ることができる。後者の実施形態は、診断を開始す
る一層明白な手段を使用するが、外部回路をトリガすることおよび所定のデータ
を選択することはどちらも、この開示の目的のために診断を開始するためと考え
られる。
【0040】 本明細書で説明するインターフェースの目的は、誤りを診断し誤りから回復す
るというシステムの機能を改善することであるが、追加の回路は、未検出のデー
タ破損をシステムがより受けやすくなるという逆説的な影響も有することに留意
されたい。しかし、上記段落に記載のインターフェース回路は、この問題を解消
はしないまでも最小限に抑えるように設計されている。
【0041】 上記の図6に示した回路は、上記の他のいくつかの実装とは対照的に、情報が
その回路を通過するたびに新しい誤り検出/訂正符号を生成することはしないの
で「オネスト(honest)」回路と呼ぶことができる。その代わり、この回路は単
に既存データ、フラグ、および誤り検出/訂正符号を訂正する(または所定のデ
ータ、フラグ、および誤り検出/訂正符号を出力する)だけである。この回路が
1つまたは複数の誤りを情報に挿入する場合、その結果生じる誤り検出/訂正符
号はそのデータと一致する可能性が非常に低くなる。したがって、あらゆる誤り
を新しく生成された誤り検出/訂正符号によって覆い隠すのではなく、誤りは後
続インターフェースによって容易に識別可能であるようにすべきである。したが
って、この誤りは「オネスト」間違いと考えることができる。
【0042】 図7に、別の実施形態のインターフェース回路を示す。この図に示す回路は図
6の回路と酷似しているが、入力情報が使用不可能なときに、所定のデータ値、
フラグ、および誤り検出/訂正符号をマルチプレクサの出力で生成するのではな
く、検出された訂正不能誤りの診断でより有用な可能性のある新しい情報が生成
される。
【0043】 データ、フラグ、および対応する誤り検出/訂正符号を含んでいる情報は、誤
り検出器51と排他的ORゲート52に入力される。(図6の排他的ORゲート
42と同様に、排他的ORゲート52も、73の2入力排他的ORゲートを用い
て実施することができる。)誤り検出器51は、シンドローム・ツー・ビット変
換器53に入力されるシンドローム符号を生成する。シンドローム・ツー・ビッ
ト変換器53は、シンドローム符号を、排他的ORゲート52に入力される1組
の訂正ビットに変換する。シンドローム符号は、以下で詳述する状態収集ユニッ
ト56にも送られる。
【0044】 図6の回路と同様に、ORゲート54は、誤り検出器51に入力された情報が
訂正不能誤りを含んでいるかどうかを示す第1の信号と、その情報に対する要求
が時間切れであるかどうかを示す第2の信号という2つの入力信号を受け取る。
これらの信号のどちらもアサートされていない場合(すなわち、信号が1である
場合)、ORゲート54の出力がアサートされる。ORゲート54によって出力
された信号はマルチプレクサ55、状態収集ユニット56、およびカウンタ57
に送られる。
【0045】 マルチプレクサ55は、ORゲート54の出力を選択信号として受け取る。こ
の信号が0の場合、排他的ORゲート52によって生成された正しい/訂正され
た情報は、マルチプレクサ55によって出力されるべきものとして選択される。
(排他的ORゲート52は、上記で図6を参照しながら説明した排他的ORゲー
ト42と同様の方法で機能する。)この信号が1の場合、診断情報(この実施形
態では状態情報を含んでいる)がマルチプレクサ55によって出力されるべきも
のとして選択される。この実施形態におけるこの状態情報は、そのデータが欠損
していたのかまたは訂正不能だったのかを識別し、関連付けられたシンドローム
符号、インターフェース番号、事象番号、およびハードウェア診断を実施するう
えで有用となりうるその他の情報を識別する。別の実施形態で収集される状態情
報は、図7の実施形態で収集されるデータを全て含む訳ではないということに留
意されたい。
【0046】 マルチプレクサ55に入力される状態情報は、状態収集ユニット56によって
収集される。状態収集ユニット56への入力には、ORゲート54に入力される
時間切れおよび訂正不能誤り信号、誤り検出器51からシンドローム・ツー・ビ
ット変換器53に伝えられるシンドローム符号、インターフェース識別子信号(
固定)およびカウンタ57からの事象番号信号が含まれる。図に示すように、カ
ウンタ57は、訂正不能誤りまたは時間切れが検出されるたびに増分されるよう
にORゲート54の出力によってクロック制御される。図7は、ハードウェア故
障の診断で有用となりうる全ての情報がこの状態情報に含まれる可能性のあるこ
とを示すために追加情報に関する入力も示す。誤り検出器51に入力されたデー
タが使用不可能な場合、この状態情報はマルチプレクサ55によって出力情報の
データ・フィールドに出力される。
【0047】 この実施形態では状態情報はデータ・フィールドに送られるが、他の実施形態
では状態情報は別の方法でアクセスすることができることに留意されたい。例え
ば一実施形態では、状態情報は、状態収集ユニット56の1つまたは複数の状態
レジスタに記憶されている。これらの状態レジスタは、当初のデータ送信とは完
全に別個のオペレーション、例えばその状態レジスタをアドレス指定する読取り
サイクルで読み出すことができる。この別個のオペレーションは、データ伝送と
同じバスを使用することも、または完全に別個のデータ送信機構を使用すること
もできる。
【0048】 図7の回路はECC生成器58も含む。ECC生成器58は、状態収集ユニッ
ト56によって生成された状態情報と使用不可能なデータ・フラグ(「1」)と
に対応する誤り検出/訂正符号を生成する。しかし、新しい誤り検出/訂正符号
が生成されても、誤り検出器51に入力された情報が使用不可能な場合にのみ、
新しく生成された誤り検出/訂正符号がマルチプレクサ55によって出力される
ので、この回路は依然として「オネスト」回路と考えることができる。この情報
が正しいか若しくは訂正可能誤りを含んでいる場合、シンドローム・ツー・ビッ
ト変換器53と排他的ORゲート52はその異常ビットを訂正することだけがで
きる。上記で説明したように、インターフェース自体によって発生した誤りが出
力データと一致した誤り検出/訂正符号をもたらす可能性は非常に低い。したが
って、インターフェースによってなされた「オネスト」間違いは、後続のインタ
ーフェースによって容易に検出可能かつ訂正可能であるべきである。(状態情報
内の誤りは未検出のまま存続する可能性があるが、これは特定の誤りの診断を妨
げる一方、誤りのないデータの通常の処理には影響を与えないことに留意された
い。)
【0049】 上記の通り、図6は診断ユニットと明示的に呼ばれる回路を含まない。同様に
、図7の回路は診断回路を明示的に示さない。これらの回路によって生成された
信号(例えば、ORゲート44または54の出力、またはマルチプレクサ45ま
たは55の出力)は、使用不可能なデータを検出すると診断回路に送ることがで
きる。しかし、図7の回路内の状態収集ユニット56、カウンタ57およびEC
C生成器58は、ハードウェア故障の診断における初期ステップとみなされる機
能を実行し、これらユニットの起動は、この開示においては診断を開始するため
のものであるとみなされる。
【0050】 本発明を特定の実施形態を参照しながら説明したが、これらの実施形態は例示
的なものであり、本発明の範囲はこれらの実施形態に限定されないことが理解さ
れよう。説明した実施形態に対する多くの変形形態、修正形態、追加および改善
が可能である。これらの変形形態、修正形態、追加および改善は、頭記の特許請
求の範囲内で詳述されるように、本発明の範囲内に包含することができる。
【図面の簡単な説明】
【図1】 第1の共用メモリ・計算機システムのブロック図である。
【図2】 一連のサブシステムを示すブロック図である。
【図3】 一実施形態におけるサブシステムに対するインターフェースのオペレーション
を示す流れ図である。
【図4】 代替実施形態におけるサブシステムに対するインターフェースのオペレーショ
ンを示す流れ図である。
【図5】 別の代替実施形態におけるサブシステムに対するインターフェースのオペレー
ションを示す流れ図である。
【図6】 一実施形態によるインターフェース回路を示すブロック図である。
【図7】 代替実施形態によるインターフェース回路を示すブロック図である。
【手続補正書】特許協力条約第34条補正の翻訳文提出書
【提出日】平成13年11月26日(2001.11.26)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
───────────────────────────────────────────────────── フロントページの続き (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,MZ,SD,SL,SZ,TZ,UG ,ZW),EA(AM,AZ,BY,KG,KZ,MD, RU,TJ,TM),AE,AG,AL,AM,AT, AU,AZ,BA,BB,BG,BR,BY,BZ,C A,CH,CN,CR,CU,CZ,DE,DK,DM ,DZ,EE,ES,FI,GB,GD,GE,GH, GM,HR,HU,ID,IL,IN,IS,JP,K E,KG,KP,KR,KZ,LC,LK,LR,LS ,LT,LU,LV,MA,MD,MG,MK,MN, MW,MX,MZ,NO,NZ,PL,PT,RO,R U,SD,SE,SG,SI,SK,SL,TJ,TM ,TR,TT,TZ,UA,UG,UZ,VN,YU, ZA,ZW (72)発明者 サイファ,ロバート アメリカ合衆国・95070・カリフォルニア 州・サラトガ・モンペール ウェイ・ 18460 Fターム(参考) 5B048 AA00 AA04 AA17 CC04 DD10 【要約の続き】 始されたことを示すようにフラグをセットする。次いで そのデータおよび対応するフラグは第2のサブシステム に渡される。そのデータが訂正不能誤りを含んでいる場 合、対応するフラグの値に関わらず、そのデータを要求 したサブシステムによってデータ誤り処理手順が実行さ れる。

Claims (32)

    【特許請求の範囲】
  1. 【請求項1】 第1の情報を出力として提供するように構成された第1のサ
    ブシステムと、 前記第1の情報を受け取るために前記第1のサブシステムに結合され、第2の
    情報を出力として生成するように構成されている第2のサブシステムとを含むシ
    ステムであって、 前記第1の情報が入力データ値を含み、 前記第2のサブシステムが、前記入力データ値が使用不可能かどうかを判定す
    るように、かつ、前記入力データが使用不可能かどうかを示す出力フラグを生成
    するように構成されており、前記出力フラグが前記第2の情報に含まれているシ
    ステム。
  2. 【請求項2】 前記入力データ値が使用不可能な場合、前記第2のサブシス
    テムが、前記入力データ値が使用不可能であることを示すようにセットされた入
    力フラグを前記第1の情報が含んでいる場合にハードウェア診断を禁止するよう
    に構成される請求項1に記載のシステム。
  3. 【請求項3】 前記第1の情報が前記入力データ値に対応する入力誤り検出
    符号を含んでいる請求項1に記載のシステム。
  4. 【請求項4】 前記入力データ値が使用不可能であり、かつ前記第1の情報
    が、前記入力データ値が使用不可能かどうかを示す入力フラグを含まない場合、
    前記第2のサブシステムがハードウェア診断を開始するように構成される請求項
    3に記載のシステム。
  5. 【請求項5】 前記誤り検出符号が誤り訂正符号を含む請求項3に記載のシ
    ステム。
  6. 【請求項6】 前記第2の情報が、出力データ値と、前記出力データ値に対
    応する出力誤り検出符号とをさらに含み、 前記第1の情報が訂正不能誤りを含んでいない場合、前記第2のサブシステム
    が、前記入力データ値を訂正し、前記第1の情報を前記第2の情報として提供す
    るように構成されており、 前記第1の情報が訂正不能誤りを含んでいる場合、前記第2のサブシステムが
    、所定の情報を前記第2の情報として提供するように構成されている請求項5に
    記載のシステム。
  7. 【請求項7】 前記第2の情報が、出力データ値と、前記出力データ値に対
    応する出力誤り検出符号とをさらに含み、 前記第1の情報が訂正不能誤りを含んでいない場合、前記第2のサブシステム
    が、前記入力データ値を訂正し、前記第1の情報を前記第2の情報として提供す
    るように構成されており、 前記第1の情報が訂正不能誤りを含んでいる場合、前記第2のサブシステムが
    、状態情報を前記第2の情報として提供するように構成されている請求項5に記
    載のシステム。
  8. 【請求項8】 前記第1の情報が、前記入力データ値が使用不可能かどうか
    を示す入力フラグを含み、前記入力データが使用不可能なことを前記入力フラグ
    が示す場合、前記第2のサブシステムがハードウェア診断を禁止するように構成
    されている請求項1に記載のシステム。
  9. 【請求項9】 ハードウェア診断を開始することが状態情報を記憶すること
    を含む請求項1に記載のシステム。
  10. 【請求項10】 前記第2のサブシステムが、前記第2のサブシステム内の
    1つまたは複数のレジスタに前記状態情報を記憶するように構成されている請求
    項9に記載のシステム。
  11. 【請求項11】 前記第2のサブシステムが、前記第1の情報が使用不可能
    な場合は、前記状態情報を前記第2の情報の一部として提供するように構成され
    ている請求項9に記載のシステム。
  12. 【請求項12】 インターフェース部で情報を受け取ること、 前記情報が使用不可能かどうかを判定すること、 前記情報が使用不可能な場合、ハードウェア診断が既に実行されたことを示す
    フラグを前記情報が含まない限りハードウェア診断を開始すること、および 前記情報をサブシステムに送ること を含む方法。
  13. 【請求項13】 前記情報が使用不可能な場合、前記情報に関連付けられた
    フラグをセットし、前記フラグを前記情報と共に前記サブシステムに送ることを
    さらに含み、前記情報が使用不可能であることを前記フラグが示す請求項12に
    記載の方法。
  14. 【請求項14】 前記情報が使用不可能かどうかを判定することが、前記情
    報が訂正不能誤りを含んでいるかどうかを判定する請求項12に記載の方法。
  15. 【請求項15】 前記使用不可能なデータの検出に関連付けられた状態情報
    を記憶することをさらに含む請求項12に記載の方法。
  16. 【請求項16】 ハードウェア診断が既に実行されたことを示すように前記
    フラグをセットすることをさらに含む請求項12に記載の方法。
  17. 【請求項17】 インターフェースで情報を受け取ること、 前記情報が使用不可能かどうかを判定すること、 前記情報が使用不可能な場合、ハードウェア診断が既に開始されているかどう
    かを判定すること、 前記情報が使用不可能であり、かつハードウェア診断がまだ開始されていない
    場合、ハードウェア診断を開始し、ハードウェア診断が既に開始されたことを示
    すフラグをセットすること、および 前記情報をサブシステムに送ること を含む方法。
  18. 【請求項18】 前記情報が使用不可能かどうかを判定することが、前記情
    報に含まれる誤り検出符号に基づいて前記情報が訂正不能誤りを含んでいるかど
    うかを判定する請求項17に記載の方法。
  19. 【請求項19】 前記使用不可能なデータの検出に関連付けられた状態情報
    を記憶することをさらに含む請求項17に記載の方法。
  20. 【請求項20】 1組の入力ラインと、 1組の出力ラインと、 前記入力ラインと前記出力ラインとに結合され、前記入力ライン上で受け取っ
    た入力情報が使用不可能かどうかを判定するように構成されている誤り検出器と を含むインターフェースであって、 前記入力情報が使用不可能であり、かつ前記入力情報が使用不可能なことを示
    すフラグを前記入力情報が含まない場合、インターフェースはハードウェア診断
    を開始するように構成されており、 前記入力情報が使用不可能であり、かつ前記入力情報が使用不可能なことを示
    すフラグを前記入力情報が含む場合、インターフェースはハードウェア診断を禁
    止するように構成されているインターフェース。
  21. 【請求項21】 マルチプレクサをさらに含み、 前記入力ラインが、前記マルチプレクサの入力の第1の組に結合されており、 前記出力ラインが、前記マルチプレクサの出力の1組に結合されており、 診断情報を受け取るために前記マルチプレクサの入力の第2の組が結合されて
    おり、 前記入力情報が使用可能な場合、前記マルチプレクサは前記入力情報を出力す
    るように構成されており、 前記入力情報が使用不可能な場合、前記マルチプレクサは前記所定の出力情報
    を出力するように構成されている請求項20に記載のインターフェース。
  22. 【請求項22】 前記マルチプレクサの入力の前記第2の組に結合されてお
    り、前記マルチプレクサに状態情報を提供するように構成されている状態収集ユ
    ニットをさらに含む請求項21に記載のインターフェース。
  23. 【請求項23】 前記マルチプレクサの入力の前記第2の組に結合されてお
    り、前記マルチプレクサに所定の診断情報を提供するように構成されている1組
    のレジスタをさらに含む請求項21に記載のインターフェース。
  24. 【請求項24】 前記入力情報が使用不可能な場合、前記入力情報が使用不
    可能であることを示すフラグを前記入力情報が含む場合に前記マルチプレクサが
    ハードウェア診断を禁止するように構成されている請求項21に記載のインター
    フェース。
  25. 【請求項25】 インターフェースが、前記入力情報の訂正可能誤りを訂正
    するように構成されている誤り訂正器をさらに含む請求項21に記載のインター
    フェース。
  26. 【請求項26】 前記誤り訂正器が、前記誤り検出器からシンドローム符号
    を受け取り、かつ前記入力情報内の異常ビットに対応する1つまたは複数の訂正
    ビットを生成するように構成されているシンドローム・ツー・ビット変換器を含
    む請求項25に記載のインターフェース。
  27. 【請求項27】 状態収集ユニットをさらに含むインターフェースであって
    、前記入力情報が使用不可能であり、かつ前記入力情報が使用不可能なことを示
    すフラグを前記入力情報が含まない場合、前記状態収集ユニットは、前記入力情
    報に関連付けられた状態情報を収集するように構成されている請求項21に記載
    のインターフェース。
  28. 【請求項28】 前記マルチプレクサに関連付けられた1つまたは複数のレ
    ジスタをさらに含み、前記レジスタが、前記所定の出力情報を記憶するように構
    成されている請求項21に記載のインターフェース。
  29. 【請求項29】 前記レジスタに記憶されている前記所定の出力情報が、0
    を含んでいるデータ・フィールド、1を含んでいるフラグ・フィールド、および
    前記データ・フィールドおよび前記フラグ・フィールドに対応する所定の誤り検
    出/訂正符号を含む請求項28に記載のインターフェース。
  30. 【請求項30】 誤り検出器と、 前記誤り検出器に結合されている信号ラインと、 前記誤り検出器に結合されている入力ラインと、 前記誤り検出器に結合されている出力ラインと を含むインターフェースであって、 前記誤り検出器が、前記入力ラインで入力情報を受け取るように、かつ前記第
    1の情報が訂正不能誤りを含んでいるかどうかを判定するように構成されており
    、 前記入力情報が前記訂正不能誤りを含んでいる場合、前記信号ラインでハード
    ウェア診断信号を提供するように前記誤り検出器が構成されており、前記ハード
    ウェア診断信号がハードウェア診断を開始し、 前記誤り検出器が、前記出力ラインで前記入力情報に対応する出力情報を提供
    するように構成されており、前記出力情報が、前記ハードウェア診断が既に開始
    されたかどうかを示すフラグを含んでいるインターフェース。
  31. 【請求項31】 前記信号ラインに結合されているハードウェア診断回路を
    さらに含むインターフェースであって、前記ハードウェア診断回路が、前記ハー
    ドウェア診断信号を受け取ることに応答してハードウェア診断を実行するように
    構成されている請求項30に記載のインターフェース。
  32. 【請求項32】 前記入力情報の訂正可能誤りを訂正するように構成されて
    いる誤り訂正器と、 前記入力情報と所定の情報とを受け取るように構成され、前記入力情報が前記
    訂正不能誤りを含んでいない場合は、前記出力ラインで前記入力情報を生成する
    ように構成され、前記入力情報が前記訂正不能誤りを含んでいる場合は、前記出
    力ラインで前記所定の情報を生成するように構成されているマルチプレクサと を含む請求項30に記載のインターフェース。
JP2001528817A 1999-10-06 2000-09-26 コンピュータにおいて故障分離および診断を改善する機構 Pending JP2003511756A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/413,108 US6519717B1 (en) 1999-10-06 1999-10-06 Mechanism to improve fault isolation and diagnosis in computers
US09/413,108 1999-10-06
PCT/US2000/026506 WO2001025924A1 (en) 1999-10-06 2000-09-26 Mechanism to improve fault isolation and diagnosis in computers

Publications (1)

Publication Number Publication Date
JP2003511756A true JP2003511756A (ja) 2003-03-25

Family

ID=23635865

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001528817A Pending JP2003511756A (ja) 1999-10-06 2000-09-26 コンピュータにおいて故障分離および診断を改善する機構

Country Status (7)

Country Link
US (2) US6519717B1 (ja)
EP (1) EP1224548B1 (ja)
JP (1) JP2003511756A (ja)
AT (1) ATE241172T1 (ja)
AU (1) AU7618500A (ja)
DE (1) DE60002908T2 (ja)
WO (1) WO2001025924A1 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6754855B1 (en) * 1999-12-01 2004-06-22 Microsoft Corporation Automated recovery of computer appliances
EP1394559A1 (de) * 2002-08-27 2004-03-03 Siemens Aktiengesellschaft Verfahren und Anordnung zur Erkennung und Behebung von Leitungsdefekten
US7137057B2 (en) 2003-01-07 2006-11-14 Sun Microsystems, Inc. Method and apparatus for performing error correction code (ECC) conversion
US7228474B2 (en) 2003-01-07 2007-06-05 Sun Microsystems, Inc. Semiconductor device and method and apparatus for testing such a device
US7222270B2 (en) * 2003-01-10 2007-05-22 International Business Machines Corporation Method for tagging uncorrectable errors for symmetric multiprocessors
US7051265B2 (en) * 2003-07-29 2006-05-23 Hewlett-Packard Development Company, L.P. Systems and methods of routing data to facilitate error correction
US7065697B2 (en) * 2003-07-29 2006-06-20 Hewlett-Packard Development Company, L.P. Systems and methods of partitioning data to facilitate error correction
US7353433B2 (en) * 2003-12-08 2008-04-01 Intel Corporation Poisoned error signaling for proactive OS recovery
US7116600B2 (en) * 2004-02-19 2006-10-03 Micron Technology, Inc. Memory device having terminals for transferring multiple types of data
US7577890B2 (en) 2005-01-21 2009-08-18 Hewlett-Packard Development Company, L.P. Systems and methods for mitigating latency associated with error detection and correction
US7480847B2 (en) 2005-08-29 2009-01-20 Sun Microsystems, Inc. Error correction code transformation technique
US7523342B1 (en) 2005-10-28 2009-04-21 Sun Microsystems, Inc. Data and control integrity for transactions in a computer system
JP4586750B2 (ja) * 2006-03-10 2010-11-24 日本電気株式会社 コンピュータシステムおよび起動監視方法
US7949931B2 (en) * 2007-01-02 2011-05-24 International Business Machines Corporation Systems and methods for error detection in a memory system
US20080168310A1 (en) 2007-01-05 2008-07-10 Microsoft Corporation Hardware diagnostics and software recovery on headless server appliances
US7725770B2 (en) * 2007-04-01 2010-05-25 International Business Machines Corporation Enhanced failure data collection system apparatus and method
US7496784B1 (en) 2008-01-10 2009-02-24 International Business Machines Corporation Method and system for thresholding hardware errors
US8713350B2 (en) * 2009-12-08 2014-04-29 Hewlett-Packard Development Company, L.P. Handling errors in a data processing system
EP2510439B1 (en) 2009-12-08 2022-05-04 Hewlett Packard Enterprise Development LP Managing errors in a data processing system
US20140006904A1 (en) * 2012-06-29 2014-01-02 Intel Corporation Encoding information in error correcting codes
JP5843804B2 (ja) * 2013-03-25 2016-01-13 株式会社東芝 演算装置およびエラー処理方法
CN107850641B (zh) * 2015-06-06 2020-08-21 小利兰·斯坦福大学理事会 片上系统(SoC)的系统级验证

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3814922A (en) * 1972-12-01 1974-06-04 Honeywell Inf Systems Availability and diagnostic apparatus for memory modules
US4371930A (en) * 1980-06-03 1983-02-01 Burroughs Corporation Apparatus for detecting, correcting and logging single bit memory read errors
US4466099A (en) * 1981-12-20 1984-08-14 International Business Machines Corp. Information system using error syndrome for special control
US4589112A (en) 1984-01-26 1986-05-13 International Business Machines Corporation System for multiple error detection with single and double bit error correction
US4780809A (en) 1986-08-08 1988-10-25 Amdahl Corporation Apparatus for storing data with deferred uncorrectable error reporting
US4958350A (en) 1988-03-02 1990-09-18 Stardent Computer, Inc. Error detecting/correction code and apparatus
US4995041A (en) * 1989-02-03 1991-02-19 Digital Equipment Corporation Write back buffer with error correcting capabilities
US5164944A (en) 1990-06-08 1992-11-17 Unisys Corporation Method and apparatus for effecting multiple error correction in a computer memory
US5164914A (en) * 1991-01-03 1992-11-17 Hewlett-Packard Company Fast overflow and underflow limiting circuit for signed adder
US5379411A (en) * 1991-11-15 1995-01-03 Fujitsu Limited Fault indication in a storage device array
US6367046B1 (en) * 1992-09-23 2002-04-02 International Business Machines Corporation Multi-bit error correction system
US5909541A (en) 1993-07-14 1999-06-01 Honeywell Inc. Error detection and correction for data stored across multiple byte-wide memory devices
US5612965A (en) 1994-04-26 1997-03-18 Unisys Corporation Multiple memory bit/chip failure detection
US5619642A (en) * 1994-12-23 1997-04-08 Emc Corporation Fault tolerant memory system which utilizes data from a shadow memory device upon the detection of erroneous data in a main memory device
US5666371A (en) 1995-02-24 1997-09-09 Unisys Corporation Method and apparatus for detecting errors in a system that employs multi-bit wide memory elements
JP2731745B2 (ja) * 1995-03-23 1998-03-25 甲府日本電気株式会社 データ障害処理装置
US5953351A (en) * 1995-09-15 1999-09-14 International Business Machines Corporation Method and apparatus for indicating uncorrectable data errors
GB9522241D0 (en) * 1995-10-31 1996-01-03 Nat Transcommunications Ltd Method and apparatus for differentially decoding signals
US6216250B1 (en) * 1997-01-27 2001-04-10 Hughes Electronics Corporation Error encoding method and apparatus for satellite and cable signals
US6035432A (en) 1997-07-31 2000-03-07 Micron Electronics, Inc. System for remapping defective memory bit sets
US5987628A (en) * 1997-11-26 1999-11-16 Intel Corporation Method and apparatus for automatically correcting errors detected in a memory subsystem
US6119248A (en) * 1998-01-26 2000-09-12 Dell Usa L.P. Operating system notification of correctable error in computer information
JP3945602B2 (ja) * 1998-04-14 2007-07-18 富士通株式会社 訂正検査方法及び訂正検査装置
JP2000058270A (ja) 1998-08-04 2000-02-25 Sony Corp 光学素子および有機elディスプレイ
US6490697B1 (en) * 1998-08-27 2002-12-03 Unisia Jecs Corporation Diagnosing apparatus and method for RAM
US6367045B1 (en) 1999-07-01 2002-04-02 Telefonaktiebolaget Lm Ericsson (Publ) Bandwidth efficient acknowledgment/negative acknowledgment in a communication system using automatic repeat request (ARQ)
US6385665B1 (en) * 1998-12-18 2002-05-07 Alcatel Usa Sourcing, L.P. System and method for managing faults in a data transmission system

Also Published As

Publication number Publication date
DE60002908D1 (de) 2003-06-26
WO2001025924A1 (en) 2001-04-12
AU7618500A (en) 2001-05-10
US6823476B2 (en) 2004-11-23
ATE241172T1 (de) 2003-06-15
EP1224548B1 (en) 2003-05-21
US20030163764A1 (en) 2003-08-28
US6519717B1 (en) 2003-02-11
EP1224548A1 (en) 2002-07-24
DE60002908T2 (de) 2004-05-19

Similar Documents

Publication Publication Date Title
JP2003511756A (ja) コンピュータにおいて故障分離および診断を改善する機構
US5193181A (en) Recovery method and apparatus for a pipelined processing unit of a multiprocessor system
TWI236620B (en) On-die mechanism for high-reliability processor
US7085959B2 (en) Method and apparatus for recovery from loss of lock step
US7415633B2 (en) Method and apparatus for preventing and recovering from TLB corruption by soft error
US5640508A (en) Fault detecting apparatus for a microprocessor system
JPH04338849A (ja) 記憶エラー訂正方法及び過剰エラー状態を報告する方法
US6108753A (en) Cache error retry technique
US6895527B1 (en) Error recovery for speculative memory accesses
CN111104243A (zh) 一种低延迟的双模lockstep容软错误处理器系统
US20030126142A1 (en) Mechanism handling race conditions in FRC-enabled processors
JPH0375834A (ja) パリティの置換装置及び方法
JP2842809B2 (ja) キャッシュ索引の障害訂正装置
JP3129224B2 (ja) キャッシュメモリ装置
JP2731745B2 (ja) データ障害処理装置
US20210294691A1 (en) Data processing device and data processing method
JP3450132B2 (ja) キャッシュ制御回路
JPH07219796A (ja) 情報処理装置
JPH05265790A (ja) マイクロプロセッサ装置
JP5381151B2 (ja) 情報処理装置、バス制御回路、バス制御方法及びバス制御プログラム
JPH08286977A (ja) ストアインキャッシュの障害処理システム
JPH0535611A (ja) 情報処理装置
JPS59207080A (ja) キヤツシユ記憶制御装置
JPS59217298A (ja) メモリエラ−救済方式
JPH02297650A (ja) 受信装置