(57)【要約】【課題】チップの信号パスの組を管理する方法、装置、およびコンピュータ命令を提供すること。【解決手段】チップの信号パスの組の中の欠陥のある信号パスを検出する。欠陥のある信号パスの検出に応答して、信号が、信号パスの組を介して再経路指定され、欠陥のある信号パスが信号パスの組から除去され、信号が、信号パスの組の残りのデータ信号パスを使用し、余分な信号パスを使用して送られる。  また、前記チップはデータ・ソースであり、このデータ・ソースでテスト・パターンを生成し、信号パスの組を使用してテスト・パターンをデータ宛先に送り、データ宛先で、受け取ったパターンを期待されるデータと比較し、この比較の結果を利用して、欠陥のある信号パスが存在するかを判定する。【選択図】図３
2004220598.tif 000002
【特許請求の範囲】
【請求項１】
チップの信号パスの組を管理する方法であって、
前記チップの信号パスの前記組内の欠陥のある信号パスを検出するステップと、
前記欠陥のある信号パスの検出に応答して、前記欠陥のある信号パスが信号パスの前記組から除去されるように、信号パスの前記組内の残りのデータ信号パスを使用し、余分な信号パスを使用して信号を送って、信号パスの前記組を介して信号を再経路指定するステップと
を含む方法。
【請求項２】
前記チップが、データ・ソースまたはデータ宛先である、請求項１に記載の方法。
【請求項３】
前記チップが、データ・ソースであり、
前記データ・ソースでテスト・パターンを生成するステップと、
信号パスの前記組を使用して前記テスト・パターンをデータ宛先に送るステップと、
比較を形成するために、データ宛先で、受け取ったパターンを期待されるデータと比較するステップと、
前記比較を使用して、前記欠陥のある信号パスが存在するかどうかを判定するステップと
をさらに含む、請求項１に記載の方法。
【請求項４】
前記信号が、スイッチの組を使用して再経路指定される、請求項１に記載の方法。
【請求項５】
スイッチの前記組が、マルチプレクサの組である、請求項４に記載の方法。
【請求項６】
前記テスト・パターンが、テスト制御ロジックによって生成される、請求項３に記載の方法。
【請求項７】
前記チップが、追加の余分な信号パスを含む、請求項１に記載の方法。
【請求項８】
前記検出するステップおよび前記再経路指定するステップが、データ処理システムの動作中に前記データ処理システム内で実行される、請求項１に記載の方法。
【請求項９】
前記検出するステップが、前記データ処理システム内のバスでの選択された数のエラーの識別に応答して開始される、請求項８に記載の方法。
【請求項１０】
チップであって、
データ・ソースと、
ドライバの組および予備ドライバであって、ドライバの前記組および前記予備ドライバが、前記データ・ソースに接続される、ドライバの組および予備ドライバと、
ビット線の組および予備ビット線と、
スイッチ・ユニットの組であって、前記スイッチ・ユニットの組が、ビット線の前記組とドライバの前記組との間および前記予備ビット線と前記予備ドライバとの間の接続を提供し、選択されたビット線が、信号を担持するのに失敗する場合に、前記選択されたビット線をビット線の前記組から除外し、前記予備ビット線を使用するように前記接続を再構成する、スイッチ・ユニットの組と
を含むチップ。
【請求項１１】
スイッチの前記組が、マルチプレクサの組である、請求項１０に記載のチップ。
【請求項１２】
前記接続が、前記データ・ソースをスイッチの前記組に接続するドライバ・ビット・ロジック・ユニットの組を含む、請求項１０に記載のチップ。
【請求項１３】
チップであって、
データ宛先と、
レシーバの組および予備レシーバを含む複数のレシーバであって、レシーバの前記組および前記予備レシーバが、前記データ宛先に接続される、複数のレシーバと、
ビット線の組および予備ビット線と、
スイッチ・ユニットの組であって、スイッチ・ユニットの前記組が、ビット線の前記組とレシーバの前記組との間および前記予備ビット線と前記予備レシーバとの間の接続を提供し、選択されたビット線が、信号を担持するのに失敗する場合に、前記選択されたビット線をビット線の前記組から除外し、前記予備ビット線を使用するように前記接続を再構成する、スイッチ・ユニットの組と
を含むチップ。
【請求項１４】
スイッチの前記組が、マルチプレクサの組である、請求項１３に記載のチップ。
【請求項１５】
前記接続が、前記データ宛先をスイッチの前記組に接続するレシーバ・ビット・ロジック・ユニットの組を含む、請求項１３に記載のチップ。
【請求項１６】
チップの信号パスの組を管理するデータ処理システムであって、
バス・システムと、
前記バス・システムに接続された通信ユニットと、
前記バス・システムに接続されたメモリであって、メモリが、命令の組を含む、メモリと、
前記バス・システムに接続された処理ユニットであって、前記処理ユニットが、前記チップの信号パスの前記組内の欠陥のある信号パスを検出するため；および前記欠陥のある信号パスの検出に応答して、前記欠陥のある信号パスが信号パスの前記組から除去されるように、信号の前記組の残りのデータ信号パスを使用し、余分な信号パスを使用して、信号パスの前記組を介して信号を再経路指定するために、命令の前記組を実行する、処理ユニット
を含むデータ処理システム。
【請求項１７】
前記チップが、前記バス・システム内にある、請求項１６に記載のデータ処理システム。
【請求項１８】
チップの信号パスの組を管理する装置であって、
前記チップの信号パスの前記組内の欠陥のある信号パスを検出する検出手段と、
前記欠陥のある信号パスの検出に応答して、前記欠陥のある信号パスが信号パスの前記組から除去されるように、信号パスの前記組の残りのデータ信号パスを使用し、余分な信号パスを使用して、信号パスの前記組を介して信号を再経路指定する、再経路指定手段と
を含む装置。
【請求項１９】
前記チップが、データ・ソースまたはデータ宛先である、請求項１８に記載の装置。
【請求項２０】
前記チップが、データ・ソースであり、
前記データ・ソースでテスト・パターンを生成する生成手段と、
信号パスの前記組を使用して前記テスト・パターンをデータ宛先に送る送出手段と、
比較を形成するために、データ宛先で、受け取ったパターンを期待されるデータと比較する比較手段と、
前記比較を使用して、前記欠陥のある信号パスが存在するかどうかを判定する判定手段と
をさらに含む、請求項１８に記載の装置。
【請求項２１】
前記信号が、スイッチの組を使用して再経路指定される、請求項１８に記載の装置。
【請求項２２】
スイッチの前記組が、マルチプレクサの組である、請求項２１に記載の装置。
【請求項２３】
前記テスト・パターンが、テスト制御ロジックによって生成される、請求項２０に記載の装置。
【請求項２４】
前記チップが、追加の余分な信号パスを含む、請求項１８に記載の装置。
【請求項２５】
前記検出する手段および前記再経路指定する手段が、データ処理システムの動作中に前記データ処理システム内で実行される、請求項１８に記載の装置。
【請求項２６】
前記検出手段が、前記データ処理システム内のバスでの選択された数のエラーの識別に応答して開始される、請求項２５に記載の装置。
【請求項２７】
チップの信号パスの組を管理する、コンピュータ可読媒体内のコンピュータ・プログラム製品であって、
前記チップの信号パスの前記組内の欠陥のある信号パスを検出する第１命令と、
前記欠陥のある信号パスの検出に応答して、前記欠陥のある信号パスが信号パスの前記組から除去されるように、信号の前記組内の残りのデータ信号パスを使用し、余分な信号パスを使用して、信号を送って、信号パスの前記組を介して信号を再経路指定する第２命令と
を含むコンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全般的には改良されたデータ処理システムに関し、具体的には、データを経路指定（ｒｏｕｔｉｎｇ）する方法および装置に関する。さらに具体的には、本発明は、チップの間でバスにまたがってデータを経路指定する方法および装置に関する。
【背景技術】
【０００２】
コンピュータ・システムがますます複雑になるにつれて、集積回路の間の相互接続の数も増加する。マイクロプロセッサ、メモリ、および入出力チップなどのチップの間の相互接続の数は、コンピュータ・システムのチップの間の相互接続の数万個などの数まで増えつつある。これらの信号のすべてが、異なる構成要素の間で、チップのパッケージまたはモジュール、基板、およびおそらくは別の基板へのコネクタを介し、その後、別のモジュールに送られ、最終的な宛先に達する。これらの信号パスのすべてが、システム故障の可能性をなくすために、欠陥なしで製造され、そのままであることが要求される。
【０００３】
欠陥のある構成要素が存在するか、動作している構成要素が故障した時には、サービス・コールが必要である。欠陥があるか故障した構成要素によって、しばしば、コンピュータ・システムの一部または全部が使用不能になる。
【０００４】
さらに、構成要素の試験中および製造中に、機能しない信号パスなど、欠陥があると識別された構成要素は、廃棄されるか破棄される。テストに合格する構成要素だけが、最終的に出荷可能なコンピュータ・システムを作るのに使用される。通常、大きく非常に密な構成要素内には、数千個の信号パスが存在する。使用可能な構成要素の歩留まりは、非常に低いことがしばしばである。多くの場合に、５０％の歩留まりは、非常によいとみなされる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
したがって、異なるチップの間の信号パスの欠陥または故障を扱う改良された方法、装置、およびコンピュータ命令を有することが有利である。
【課題を解決するための手段】
【０００６】
本発明は、チップの信号パスの組を管理する方法、装置、およびコンピュータ命令を提供する。チップの信号パスの組の中の欠陥のある信号パスが、検出される。欠陥のある信号パスの検出に応答して、欠陥のある信号パスが、信号パスの組から除去され、信号パスの組の残りのデータ信号パスを使用し、余分な信号パスを使用して、信号を送って、信号が、信号パスの組を介して再経路指定される。
【０００７】
本発明に特有と思われる新規の特徴を、請求項に示す。しかし、本発明自体ならびに本発明の使用の好ましい態様、さらなる目的および長所は、添付図面と共に読まれる時に下記の例示的実施形態の詳細な説明を参照することによって最もよく理解することができる。
【発明を実施するための最良の形態】
【０００８】
ここで図面、具体的には図１に関して、本発明の好ましい実施形態による、自己修復（ｓｅｌｆ−ｈｅａｌｉｎｇ）インターフェースを有するチップを示す図が示されている。この例では、ドライバ・チップ１００が、バス１０４を介してレシーバ・チップ１０２に信号を送る。バスは、デバイスの間の接続を提供する共通のパスまたはチャネルである。バス１０４によって、ドライバ・チップ１００とレシーバ・チップ１０２の間を移動する信号のパスが提供される。さらに、予備ビット線１０６によって、ドライバ・チップ１００とレシーバ・チップ１０２の間の接続が提供される。
【０００９】
本発明の機構では、経路指定１０８および経路指定１１０を使用して、バス１０４内の欠陥のある信号パスまたは信号パス内の故障を管理するか処理する。これらの経路指定機構、経路指定１０８および経路指定１１０を用いると、ドライバ・チップ１００およびレシーバ・チップ１０２が、それ自体を修理して、信号パスを動的に再構成できるようになる。そのような機構を用いると、欠陥がバスに存在しながら、システムの動作および機能性を維持できるようになる。本発明によって提供される再経路指定は、予備ビット線１０６を含めることによって達成される。予備ビット線または予備信号パスを、各チップに追加することができる。使用される予備信号パスの数は、特定の実施形態に応じて変更することができる。たとえば、１つの予備信号パスを、バスまたは相互接続のグループごとに追加することができる。複数の予備信号パスを、バスまたは相互接続のグループごとに追加することができる。さらに、予備ビット線１０６などの予備信号パスは、通常は、機能するか機能しないものである可能性があるが、完全な動作または部分的動作に必要ではない。
【００１０】
製造テスト中または機能動作中に、バス１０４の信号パスのどれかが、欠陥があることを検出されるか診断される場合に、予備ビット線１０６を活動化するか動作状態に切り替えることによって、欠陥のある信号パスを迂回してシグナリングが再経路指定される。
【００１１】
たとえば、ドライバ・チップ１００などの送出チップのＮビット幅のバスが、チップのドライバに経路指定され、任意の相互接続されたモジュール、基板、コネクタ、またはカードを介してレシーバ・チップに送られる。しかし、たとえば、ビット５で欠陥が検出される場合に、ビット６からＮのすべての構成ラッチが、経路指定１０８などの経路指定機構を使用して再経路指定される。この形で、ビット５をビット６に、ビット６をビット７に、ビット７をビット８にステアリング（ｓｔｅｅｒｉｎｇ）または経路指定することによって、ビットの信号パスが再経路指定される。この経路指定は、予備ビット線１０６などの予備信号パスが含まれるまで、信号パスを介して継続される。同様に、レシーバ・チップ１０２などの受取側では、経路指定１１０などの経路指定機構を使用して、ビットが再構成されて、欠陥ビット５を避けて経路指定される。
【００１２】
その後、欠陥のある信号パスが成功裡に除去された状態で、通常動作が行われる。そのような欠陥は、パスの構成要素のいずれかまたはバスの信号のいずれかに存在する可能性がある。さらに、追加の予備信号およびステアリング・ロジックを追加して、許容される欠陥の数を増やすことができる。他の変形には、たとえば、バスの有効帯域幅が減るがサービス・コールがスケジューリングされるまで顧客が動作状態でいられる、３６ビットにステアリングされるか狭められる７２ビット・バスが含まれる。
【００１３】
図２に移ると、本発明の好ましい実施形態による、信号パスを動的に経路指定するのに使用される構成要素を示す図が示されている。この例では、ドライバ・チップ２００が、バス２０４を介してレシーバ・チップ２０２に信号を送る。さらに、予備ビット線２０６が、欠陥のある信号パスが識別された場合の信号パスの動的再構成を可能にするのに使用される。
【００１４】
ドライバ・チップ２００に、データ・ソース２０８が含まれる。データ・ソース２０８には、機能性を提供するためのさまざまなロジック回路および集積回路が含まれる。ドライバ・チップ２００には、ドライバ・ビット・ロジック２１０、２１２、２１４、および２１６も含まれる。これらのロジックによって、バス２０４および予備ビット線２０６の信号パスに欠陥が存在するかどうかを判定するのに使用されるテスト機能が提供される。これらの構成要素は、その入力をデータ・ソース２０８に接続される。これらの構成要素の出力は、マルチプレクサ２１８、２２０、２２２、および２２４に接続される。マルチプレクサのほとんどが、２つの異なるドライバ・ビット・ロジック・ユニットからの入力を有する。マルチプレクサ２１８は、１つの入力をグラウンドに接続され、第２の入力をドライバ・ビット・ロジック２１０に接続される。マルチプレクサ２２０は、１つの入力をドライバ・ビット・ロジック２１０に接続され、第２の入力をドライバ・ビット・ロジック２１２に接続される。マルチプレクサ２２２は、１つの入力をドライバ・ビット・ロジック２１２に接続され、第２の入力をドライバ・ビット・ロジック２１４に接続される。マルチプレクサ２２４は、１つの入力をドライバ・ビット・ロジック２１４に接続され、第２の入力をドライバ・ビット・ロジック２１６に接続される。
【００１５】
これらのマルチプレクサの選択入力または制御入力は、構成ラッチ２２６、２２８、および２３０に接続される。マルチプレクサ２１８、２２０、２２２、および２２４の出力は、ドライバ２３２、２３４、２３６、および２３８に接続される。これらのドライバは、バス２０４のビット線２４０、２４２、および２４４に接続され、ドライバ２３８は、予備ビット線２０６に接続される。この例では、マルチプレクサは、２：１マルチプレクサである。これらのマルチプレクサは、図１の経路指定１０８などの経路指定機能を提供するために追加される。これらのマルチプレクサの選択入力は、これらの構成要素への入力を制御または選択するのに使用される。
【００１６】
これらのマルチプレクサは、この例では構成ラッチ２２６、２２８、および２３０を介してプログラム可能である。この例では、構成ラッチが、スキャン・オンリ・ラッチ（ｓｃａｎ  ｏｎｌｙ  ｌａｔｃｈ）として図示されている。通常動作で欠陥が存在しないときには、バスが、Ｎビット幅であり、すべての構成ラッチに０がセットされる。
【００１７】
構成ラッチの１つに１がセットされる場合に、その信号によって、バス２０４での信号パスの経路指定が変更される。
【００１８】
レシーバ・チップ２０２内で、データ宛先２４６に、バス２０４を介して受け取られる信号を操作し、処理する機能を提供するためのロジック回路および集積回路が含まれる。レシーバ・チップ２０２には、レシーバ・ビット・ロジック２４８、２５０、２５２、および２５４も含まれる。これらの構成要素は、バス２０４および予備ビット線２０６の信号パスの欠陥をテストするのに使用される。これらの構成要素への入力は、マルチプレクサ２５６、２５８、２６０、および２６２に接続される。ドライバ・チップ２００内のマルチプレクサと同様に、これらのマルチプレクサによって選択される入力は、構成ラッチ２６４、２６６、および２６８などのラッチを介して制御される。マルチプレクサ２５６、２５８、２６０、および２６２への入力は、レシーバ２７０、２７２、２７４、および２７６に接続される。
【００１９】
具体的に言うと、マルチプレクサ２５６は、１つの入力をレシーバ２７０に接続され、第２の入力をレシーバ２７２に接続される。マルチプレクサ２５８は、１つの入力をレシーバ２７２に接続され、第２の入力をレシーバ２７４に接続される。マルチプレクサ２６０は、１つの入力をレシーバ２７４に接続され、第２の入力をレシーバ２７６に接続される。最後に、マルチプレクサ２６２は、１つの入力をレシーバ２７６に接続され、第２の入力をグラウンドに接続される。
【００２０】
この例では、本発明を説明するために、４つのビット線がバス内に示されている。この図示は、バス２０４内の信号パスについて設けることができる信号線の数に対する制限を意味するものではない。もちろん、特定の実施形態に応じて、任意の数のビット線を使用することができる。さらに、単一の予備ビット線が示されている。特定の設計または所望の構成に応じて、追加の予備ビット線を使用することができる。
【００２１】
ドライバ・チップ２００内に示された構成ラッチおよびマルチプレクサによって、図１の経路指定１０８などの経路指定機構の構成要素が形成される。同様に、レシーバ・チップ２０２内の構成ラッチおよびマルチプレクサによって、図１の経路指定１１０などの経路指定機構の構成要素が形成される。
【００２２】
この例では、経路指定機能が、構成ラッチによって制御されるマルチプレクサの形をとるものとして図示されている。この機構は、ドライバ・ビット・ロジックとドライバの間に配置されるものとして図示されている。チップ内でのこの機構の位置は、クリティカル・タイミングがある位置に応じて変更することができる。チップ内でのこの機構の実際の位置は、特定のチップの特定の設計パラメータに依存する。
【００２３】
図３に関して、発明の好ましい実施形態による、ドライバ・チップのテスト構成要素を示す図が示されている。テスト・システム３００は、図２のバス２０４などのバス内の欠陥があるか故障した信号線を検出するのに使用される。この例では、テスト・システム３００に、テスト・システム３００のシフト・レジスタを形成するデータ・シフト・レジスタ・ユニット３０２、３０４、および３０６が含まれる。テスト・システム３００には、マルチプレクサ３０８、３１０、および３１２も含まれる。これらの構成要素は、図２に示されたドライバ・ビット・ロジック・ユニットに含まれる。たとえば、データ・シフト・レジスタ・ユニット３０２およびマルチプレクサ３０８によって、図２のドライバ・ビット・ロジック２１０などのドライバ・ビット・ロジック・ユニットが形成される。マルチプレクサ３０８、３１０、および３１２の出力は、信号パスの動的再経路指定に使用されるマルチプレクサまたは他のタイプの再経路指定ロジックに接続される。マルチプレクサ３０８、３１０、および３１２は、データ・ソースからのものなどのデータの機能的送出を可能にすると同時に、テスト・パターンなどのデータを送出できるようにするように働く。テスト・パターンは、この例ではテスト制御ロジック３１８によって生成される。
【００２４】
当初は、シフト・レジスタを形成するデータ・シフト・レジスタ・ユニット３０２、３０４、および３０６が、リセットまたはスキャンを介して０にリセットされる。この例では、テスト構成要素に共通して使用されるワイヤ・テストを開始することができる。ワイヤ・テストでは、すべてのワイヤまたは信号パスが、論理レベル０に駆動され、レシーバのすべてが、論理レベル０を期待する。次に、単一の信号ワイヤまたは信号パスを、論理１レベルに変更する。そのドライバに対応するレシーバが、論理１レベルを期待する唯一のレシーバである。この１を、シーケンス内の次の信号ワイヤに「ウォーク」させる。このテストでは、システム内の１つのワイヤまたは信号パスだけが、ある時に論理レベル１になり、他のすべてのワイヤまたは信号パスは、論理０である。このテストでは、信号線の間の「微妙な」開路または短絡を識別するかつかむ能力が強化される。そのようなテスト中に、「ウォーキング１」が、最初のデータ・シフト・レジスタであるデータ・シフト・レジスタ・ユニット３０２に、テスト制御ロジック３１８によってシフトされる。このウォーキング１を、信号パスのすべてがテストされるまで、次のシフト・レジスタ・ユニットにシフトすることができる。類似する形で、「ウォーキング０」を使用することができる。１または０の信号が、テスト制御ロジック３１８に印加される信号、「ＷＩＲＥ＿ＴＥＳＴ」のアサートに応答してバス上で伝搬される。このウォーキング・パターンを、バス上で１６ビット時間ごとにシフトして、バス信号の低速検査を可能にする。このウォーキング１が、データ・シフト・レジスタ・ユニット３０２によってデータ・シフト・レジスタ・ユニット３０４に送られる。ウォーキング１を、後に、データ・シフト・レジスタ・ユニット３０６に送ることができる。
【００２５】
図４に移ると、発明の好ましい実施形態による、レシーバ・チップのテスト構成要素を示す図が示されている。テスト・システム４００は、図２のレシーバ・チップ２０２などのレシーバ・チップ内に配置される。
【００２６】
この例では、テスト・システム４００に、シフト・レジスタを形成するデータ・シフト・レジスタ・ユニット４０２、４０４、および４０６が含まれる。このテスト・システムには、受け取られたデータ／期待されるデータ・コンパレータ４０８、４１０、および４１２も含まれる。データは、データ・シフト・レジスタならびにレシーバ４１４、４１６、および４１８からこれらのコンパレータに受け取られる。これらのレシーバの入力は、スキャン・ラッチ４２０、４２２、および４２４に接続される。これらのスキャン・ラッチの出力は、レシーバ４２６、４２８、および４３０に接続される。これらのレシーバによって、データ信号にデータ宛先へのパスが提供される。スキャン・ラッチ４２０、４２２、および４２４は、信号パスを動的に再構成するのに使用されるマルチプレクサまたは他の経路指定ユニットに接続される。
【００２７】
この例では、スキャン・ラッチ、レシーバ、コンパレータ、およびデータ・シフト・レジスタが、図２に示されたものなどのレシーバ・ビット・ロジック・ユニットに配置される構成要素である。たとえば、スキャン・ラッチ４２０、レシーバ４２６、レシーバ４１４、受け取られたデータ／期待されるデータ・コンパレータ４０８、およびデータ・シフト・レジスタ・ユニット４０２は、図２のレシーバ・ビット・ロジック２５２などの単一のレシーバ・ビット・ロジック・ユニット内に見られる構成要素である。これらのデータ・シフト・レジスタを使用するテストを、テスト制御ロジック４３４によって開始することができる。テスト制御ロジックは、チップの外に配置することができ、テスト制御ロジックによって、これらのデータ・シフト・レジスタが配置されるチップに信号が供給される。
【００２８】
当初は、これらのデータ・シフト・レジスタが、リセット／スキャンを介して０にリセットされる。ワイヤ・テストならびにランダム・データ・テストを、これらの構成要素を使用して実行することができる。類似する形で、ウォーキング１またはウォーキング０を、図３のテスト・システム３００によって生成される信号などの送出側チップから受け取られる信号との比較のために、データ・シフト・レジスタにシフト・インすることができる。類似する形で、データを、比較のためにこれらのシフト・レジスタにシフト・インすることができる。
【００２９】
この形で、図３および４に示されたテスト・システムを用いると、バスの欠陥があるか故障した信号パスの識別が可能になる。さらに、この特定の例は、テストを実施できる１実施形態の例示として意図されたものである。もちろん、特定の設計に応じて、他のタイプのテスト・システムまたは構成要素を使用することができる。これらの信号に基づいて、信号パスの動的再経路指定を開始することができる。
【００３０】
図５および６に関して、発明の好ましい実施形態による、信号パスのテストおよび再経路指定に使用される処理の流れ図が示されている。図５および６に示された処理は、図１の経路指定１０８および経路指定１１０などの経路指定機構で実施することができる。これらの図に示されたステップは、チップ上のプロセッサによって実行される命令として、またはハードウェアで実施することができる。これらの経路指定機能は、機能を提供するチップと別の特定の経路指定チップで実施することもできる。経路指定機能の具体的な位置は、信号パスのクリティカル・タイミングがある場所に依存する。
【００３１】
この処理は、ドライバ・チップ上のドライバ・バスとレシーバ・チップ上のレシーバ・バスの間のワイヤ・テストを実行することによって開始される（ステップ５００）。このテストは、上の図３および４に示されたものなどの構成要素を称して実施することができる。レシーバ・チップに照会して、ワイヤ・テスト中にエラーが発生したかどうかを調べる（ステップ５０２）。ワイヤ・テスト中にエラーが見つかったかどうかに関する判定を行う（ステップ５０４）。ワイヤ・テスト中にエラーが見つかった場合には、レシーバ・チップからビット単位自己検査エラー・レジスタをスキャンし、バスのデータ線のグループあたり１ビットだけが故障したかどうかに関する判定を行う（ステップ５０６）。予備ビット線へのデータ線のグループ化は、異なる実施形態に応じて変更することができる。さらに、複数の予備ビット線を、データ線のグループに関連付けることができる。
【００３２】
次に、複数のエラーが見つかったかどうかに関する判定を行う（ステップ５０８）。複数のエラーが見つからなかった場合には、不良ビットをスワップ・アウトするのに必要なｄｒｖ＿ｒｅｃｏｎｆｉｇベクトルおよびｒｃｖ＿ｒｅｃｏｎｆｉｇベクトルを判定する（ステップ５１０）。ステップ５１０では、再構成ラッチの内容を識別する。ベクトルは、基本的に、再構成ラッチの内容である。
【００３３】
ドライバ・チップおよびレシーバ・チップの両方にベクトルをスキャンする（ステップ５１２）。チップへのベクトルのスキャンは、故障したか欠陥がある信号パスを除外し、予備ビット線によって提供される予備信号パスを含めるために信号パスを再経路指定するのに使用される。このエラーに関する情報状況をポストする（ステップ５１４）。各自己検査で、自己検査合格信号または自己検査失敗信号が、図４のテスト制御ロジック４３４などの制御ロジックに渡される。自己検査失敗が報告される場合には、テスト制御ロジックによって、レシーバからエラー・ラッチの内容をスキャンする／読み取ることができる。この情報を、再構成ラッチ・データに置き、ドライバ・チップおよびレシーバ・チップの両方の構成ラッチにロードして、信号パスを再構成することができる。ワイヤ・テストを、ドライバ・チップ上のドライバ・バスとレシーバ・チップ上のレシーバ・バスの間で実行する（ステップ５１６）。
【００３４】
第２のワイヤ・テストで追加のエラーが見つかったかどうかに関する判定を行う（ステップ５１８）。第２のワイヤ・テストで追加のエラーが見つからない場合には、バスに関して通常の初期化シーケンスを開始し、チップを、機能モードにし（ステップ５２０）、その後、処理を終了する。
【００３５】
ステップ５１８に戻って、第２のワイヤ・テストで追加のエラーが見つかる場合には、ビット単位自己検査エラー・レジスタをレシーバ・チップ、バスからスキャンし、故障したビットをログ記録し、このバスに関して致命的エラーをポストし（ステップ５２２）、その後、処理を終了する。ステップ５０８に関して、複数のエラーが見つかる場合には、このバスについて致命的エラーをポストし、故障したビットをログ記録し（ステップ５２４）、その後、処理を終了する。ステップ５０４に戻って、ワイヤ・テストでエラーが見つからない場合には、処理は、上で説明したステップ５２０に進む。
【００３６】
図５で説明したバスのテストおよび再構成は、製造テスト中、システムの通常の電源オン中、または通常のバス・エラー検出によってバス上の１つまたは複数の故障が示された時など、異なる時に行うことができる。この通常のバス・エラー検出には、たとえば、パリティ検査またはエラー検出／訂正コーディングを含めることができる。
【００３７】
さらに、本発明の機構は、エラーについて監視が行われるコンピュータ・システム内で実施することができる。図７に移ると、発明の好ましい実施形態による、機能動作中にバス・エラーを検出し、バス上の信号パスを再経路指定する処理の流れ図が示されている。図７に示された処理は、たとえばパーソナル・コンピュータ、ワークステーション、またはサーバ・コンピュータなどのデータ処理システムで実施することができる。図７の処理によって実行される検出は、故障したバスの修理または再構成を可能にするために、バスの機能動作中に行うことができる。このテストでは、エラー検出／訂正コーディング（ＥＣＣ）などの標準的なエラー検出方法を使用することができる。
【００３８】
この処理は、バス・エラーを検出することによって開始される（ステップ６００）。エラーが発生したバスを識別する（ステップ６０２）。そのバスに関する閾エラー・レベルに達したかどうかを判定する（ステップ６０４）。特定のバスで閾エラー・レベルが検出された時には、バスの動作またはデータ転送を停止する（ステップ６０６）。このステップで、コンピュータが診断モードに入る。このモードで、バスのテストを開始する（ステップ６０８）。ステップ６０８で実行されるテストでは、上で図５および６に関して説明したステップを使用する。
【００３９】
コンピュータ・システムの動作を継続できるかどうかに関する判定を行う（ステップ６１０）。このステップでは、バスに対して実行されたテストによって返される情報を使用して、欠陥があるか故障した信号パスが存在するかどうかと、これらの欠陥または故障が訂正可能であるかどうかを判定する。動作を継続できる場合には、システムの動作を再開し（ステップ６１２）、その後、処理が終了する。そうでない場合には、コンピュータ・システムの動作を再開せずに処理が終了する。ステップ６０４に戻って、バスの閾値に達していない場合には、処理が終了する。
【００４０】
ステップ６００でのバス・エラーの検出は、他の周知のエラー検出方式のほかに、二重ビット・エラー検出／単一ビット・エラー方式を使用して実施することができる。このタイプのエラー検出では、バスの単一ビット・エラーを、システム・データ保全性エラーを引き起こさずに検出し、訂正することができると同時に、２ビット故障によってエラーが示される。２つの故障するビットは、エラー訂正不能をもたらし、したがって、システム・データ保全性エラーが引き起こされる。動作中に、バスが複数の単一ビット・エラーを経験する場合には、バスは、たとえばワイヤが「オープン・アップ」したなど、「ハード」障害を示すことができる。バスで、この単一ビット／訂正可能エラーの「閾」数に達した場合には、通常のバス動作を停止することができ、バスを、前に説明したワイヤ・テスト機構を介して「ハード」故障についてテストすることができ、ハード障害を、上で説明した再構成機構によって「修復」することができる。したがって、動作中に、潜在的なハード障害が検出される（複数の単一ビット・エラーを介して）場合に、２ビットの故障（「訂正不能ＥＣＣエラー」）によって引き起こされる潜在的に訂正不能なエラー（ソフトまたはハード）がそのバスで発生する前に、そのハード障害を、自己修復バス機構を介して訂正することができる。
【００４１】
ステップ６０でのバス・エラーの検出では、ＥＣＣ機構の「シンドローム（ｓｙｎｄｒｏｍｅ）」ビットを分析することによって、バスの故障したビットを識別することも可能である。上で説明したように、ステップ６００を、周知のＥＣＣアルゴリズムを使用して実施することができる。ステップ６０４で推論される閾値機構によって検出される同一ビットの故障の複数の場合に、この状況によって、雑音または干渉または他の機構に起因する、「エラーが多い」バス信号、いわゆる「ソフト・エラー」が示される場合がある。このソフト・エラーが、同一ビットで繰り返して発生する場合には、図５のステップ５１０および５１２で説明した処理を、ステップ５０１および５０２で説明したワイヤ・テストを実行せずに使用して、バスを再構成して、ＥＣＣ機構によって識別される信号線をスワップ・アウトすることができる。
【００４２】
したがって、ワイヤ・テストによって検出されるハード・エラーと、エラー検出／訂正コーディング技法によって検出されるソフト・エラーの両方を使用して、不完全な信号を検出することができ、これらの故障を回避して再構成するのに使用される本発明を、使用することができる。
【００４３】
ＥＣＣエンコーディング技法を、エラーを検出するための例の実施形態として説明したが、どのエラー検出方法でも、ハード・エラーまたはソフト・エラーの検出に使用することができる。そのようなエラーが、検出され、単一の故障したデータ・パスに分離されたならば、本発明の機構を使用して、バスを再構成して、不完全なデータ・パスを除去し、予備データ・パスを使用することができる。
【００４４】
したがって、本発明は、自己修復チップ間インターフェースの改善された方法、装置、およびコンピュータ命令を提供する。この機構では、チップの間の信号パスの動的再構成を介してこのインターフェースが提供される。欠陥があるか故障した信号パスが識別される時に、信号が再経路指定されて、その信号パスの使用が除外され、予備信号パスが含まれる。行うことができる再経路指定の範囲は、チップに設けられる予備信号パスの数に依存する。さらに、いくつかの場合に、信号パスを再構成して、より少ないデータ・ビットを送ることによって、低い帯域幅を使用することができる。この形で、チップまたは構成要素を交換できるまで、継続される機能性または制限された機能性を提供することができる。さらに、予備信号パスが、欠陥のあるパスの代わりに使用される場合に、構成要素の歩留まりを増やすことができる。というのは、そのような構成要素を、欠陥のある構成要素ではなく、よい構成要素または合格する構成要素とみなすことができるからである。
【００４５】
本発明を、完全に機能するデータ処理システムに関して説明したが、本発明の処理を、命令のコンピュータ可読媒体の形およびさまざまな形で配布することができることと、本発明が、配布の実行に実際に使用される信号担持媒体の特定のタイプにかかわらず、同等に適用されることを、当業者が諒解するであろうことに留意することが重要である。コンピュータ可読媒体の例には、フロッピ・ディスク、ハード・ディスク、ＲＡＭ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなどの記録型媒体と、ディジタル通信リンク、アナログ通信リンク、たとえばラジオ周波数伝送および光波伝送などの伝送形式を使用する有線または無線の通信リンクなどの伝送型媒体が含まれる。コンピュータ可読媒体は、特定のデータ処理システムでの実際の使用のためにデコードされるコーディングされたフォーマットの形とすることができる。
【００４６】
本発明の説明は、例示および説明のために提示され、網羅的であることまたは本発明に対して開示された形に制限的であることを意図されたものではない。多くの修正形態および変形形態が、当業者には明白であろう。実施形態は、本発明の原理、実用的な応用例を最もよく説明し、企図される特定の使用に適するさまざまな修正を伴うさまざまな実施形態について当業者が本発明を理解できるようにするために選択され、説明された。
【００４７】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００４８】
（１）チップの信号パスの組を管理する方法であって、
前記チップの信号パスの前記組内の欠陥のある信号パスを検出するステップと、
前記欠陥のある信号パスの検出に応答して、前記欠陥のある信号パスが信号パスの前記組から除去されるように、信号パスの前記組内の残りのデータ信号パスを使用し、余分な信号パスを使用して信号を送って、信号パスの前記組を介して信号を再経路指定するステップと
を含む方法。
（２）前記チップが、データ・ソースまたはデータ宛先である、上記（１）に記載の方法。
（３）前記チップが、データ・ソースであり、
前記データ・ソースでテスト・パターンを生成するステップと、
信号パスの前記組を使用して前記テスト・パターンをデータ宛先に送るステップと、
比較を形成するために、データ宛先で、受け取ったパターンを期待されるデータと比較するステップと、
前記比較を使用して、前記欠陥のある信号パスが存在するかどうかを判定するステップと
をさらに含む、上記（１）に記載の方法。
（４）前記信号が、スイッチの組を使用して再経路指定される、上記（１）に記載の方法。
（５）スイッチの前記組が、マルチプレクサの組である、上記（４）に記載の方法。
（６）前記テスト・パターンが、テスト制御ロジックによって生成される、上記（３）に記載の方法。
（７）前記チップが、追加の余分な信号パスを含む、上記（１）に記載の方法。
（８）前記検出するステップおよび前記再経路指定するステップが、データ処理システムの動作中に前記データ処理システム内で実行される、上記（１）に記載の方法。
（９）前記検出するステップが、前記データ処理システム内のバスでの選択された数のエラーの識別に応答して開始される、上記（８）に記載の方法。
（１０）チップであって、
データ・ソースと、
ドライバの組および予備ドライバであって、ドライバの前記組および前記予備ドライバが、前記データ・ソースに接続される、ドライバの組および予備ドライバと、
ビット線の組および予備ビット線と、
スイッチ・ユニットの組であって、前記スイッチ・ユニットの組が、ビット線の前記組とドライバの前記組との間および前記予備ビット線と前記予備ドライバとの間の接続を提供し、選択されたビット線が、信号を担持するのに失敗する場合に、前記選択されたビット線をビット線の前記組から除外し、前記予備ビット線を使用するように前記接続を再構成する、スイッチ・ユニットの組と
を含むチップ。
（１１）スイッチの前記組が、マルチプレクサの組である、上記（１０）に記載のチップ。
（１２）前記接続が、前記データ・ソースをスイッチの前記組に接続するドライバ・ビット・ロジック・ユニットの組を含む、上記（１０）に記載のチップ。
（１３）チップであって、
データ宛先と、
レシーバの組および予備レシーバを含む複数のレシーバであって、レシーバの前記組および前記予備レシーバが、前記データ宛先に接続される、複数のレシーバと、
ビット線の組および予備ビット線と、
スイッチ・ユニットの組であって、スイッチ・ユニットの前記組が、ビット線の前記組とレシーバの前記組との間および前記予備ビット線と前記予備レシーバとの間の接続を提供し、選択されたビット線が、信号を担持するのに失敗する場合に、前記選択されたビット線をビット線の前記組から除外し、前記予備ビット線を使用するように前記接続を再構成する、スイッチ・ユニットの組と
を含むチップ。
（１４）スイッチの前記組が、マルチプレクサの組である、上記（１３）に記載のチップ。
（１５）前記接続が、前記データ宛先をスイッチの前記組に接続するレシーバ・ビット・ロジック・ユニットの組を含む、上記（１３）に記載のチップ。
（１６）チップの信号パスの組を管理するデータ処理システムであって、
バス・システムと、
前記バス・システムに接続された通信ユニットと、
前記バス・システムに接続されたメモリであって、メモリが、命令の組を含む、メモリと、
前記バス・システムに接続された処理ユニットであって、前記処理ユニットが、前記チップの信号パスの前記組内の欠陥のある信号パスを検出するため；および前記欠陥のある信号パスの検出に応答して、前記欠陥のある信号パスが信号パスの前記組から除去されるように、信号の前記組の残りのデータ信号パスを使用し、余分な信号パスを使用して、信号パスの前記組を介して信号を再経路指定するために、命令の前記組を実行する、処理ユニット
を含むデータ処理システム。
（１７）前記チップが、前記バス・システム内にある、上記（１６）に記載のデータ処理システム。
（１８）チップの信号パスの組を管理する装置であって、
前記チップの信号パスの前記組内の欠陥のある信号パスを検出する検出手段と、
前記欠陥のある信号パスの検出に応答して、前記欠陥のある信号パスが信号パスの前記組から除去されるように、信号パスの前記組の残りのデータ信号パスを使用し、余分な信号パスを使用して、信号パスの前記組を介して信号を再経路指定する、再経路指定手段と
を含む装置。
（１９）前記チップが、データ・ソースまたはデータ宛先である、上記（１８）に記載の装置。
（２０）前記チップが、データ・ソースであり、
前記データ・ソースでテスト・パターンを生成する生成手段と、
信号パスの前記組を使用して前記テスト・パターンをデータ宛先に送る送出手段と、
比較を形成するために、データ宛先で、受け取ったパターンを期待されるデータと比較する比較手段と、
前記比較を使用して、前記欠陥のある信号パスが存在するかどうかを判定する判定手段と
をさらに含む、上記（１８）に記載の装置。
（２１）前記信号が、スイッチの組を使用して再経路指定される、上記（１８に記載の装置。
（２２）スイッチの前記組が、マルチプレクサの組である、上記（２１）に記載の装置。
（２３）前記テスト・パターンが、テスト制御ロジックによって生成される、上記（２０）に記載の装置。
（２４）前記チップが、追加の余分な信号パスを含む、上記（１８）に記載の装置。
（２５）前記検出する手段および前記再経路指定する手段が、データ処理システムの動作中に前記データ処理システム内で実行される、上記（１８）に記載の装置。
（２６）前記検出手段が、前記データ処理システム内のバスでの選択された数のエラーの識別に応答して開始される、上記（２５）に記載の装置。
（２７）チップの信号パスの組を管理する、コンピュータ可読媒体内のコンピュータ・プログラム製品であって、
前記チップの信号パスの前記組内の欠陥のある信号パスを検出する第１命令と、
前記欠陥のある信号パスの検出に応答して、前記欠陥のある信号パスが信号パスの前記組から除去されるように、信号の前記組内の残りのデータ信号パスを使用し、余分な信号パスを使用して、信号を送って、信号パスの前記組を介して信号を再経路指定する第２命令と
を含むコンピュータ・プログラム製品。
【図面の簡単な説明】
【００４９】
【図１】本発明の好ましい実施形態による、自己修復インターフェースを有するチップを示す図である。
【図２】本発明の好ましい実施形態による、信号パスを動的に経路指定するのに使用される構成要素を示す図である。
【図３】発明の好ましい実施形態による、ドライバ・チップのテスト構成要素を示す図である。
【図４】発明の好ましい実施形態による、レシーバ・チップのテスト構成要素を示す図である。
【図５】発明の好ましい実施形態による、信号パスのテストおよび再経路指定に使用される処理の流れ図である。
【図６】発明の好ましい実施形態による、信号パスのテストおよび再経路指定に使用される処理の流れ図である。
【図７】発明の好ましい実施形態による、機能動作中にバス・エラーを検出し、バス上の信号パスを再経路指定する処理の流れ図である。
【符号の説明】
【００５０】
３００  テスト・システム
３０２  データ・シフト・レジスタ・ユニット
３０４  データ・シフト・レジスタ・ユニット
３０６  データ・シフト・レジスタ・ユニット
３０８  マルチプレクサ
３１０  マルチプレクサ
３１２  マルチプレクサ
３１８  テスト制御ロジック
【図１】
2004220598.tif 000003
【図２】
2004220598.tif 000004
【図３】
2004220598.tif 000005
【図４】
2004220598.tif 000006
【図５】
2004220598.tif 000007
【図６】
2004220598.tif 000008
【図７】
2004220598.tif 000009