JP2009205258A - 半導体集積回路 - Google Patents

半導体集積回路 Download PDF

Info

Publication number
JP2009205258A
JP2009205258A JP2008044475A JP2008044475A JP2009205258A JP 2009205258 A JP2009205258 A JP 2009205258A JP 2008044475 A JP2008044475 A JP 2008044475A JP 2008044475 A JP2008044475 A JP 2008044475A JP 2009205258 A JP2009205258 A JP 2009205258A
Authority
JP
Japan
Prior art keywords
processor
processor element
circuit
information
test
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
JP2008044475A
Other languages
English (en)
Inventor
Shinichi Yasuda
田 心 一 安
Kumiko Nomura
村 久美子 野
Keiko Abe
部 恵 子 安
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2008044475A priority Critical patent/JP2009205258A/ja
Priority to US12/211,842 priority patent/US20090217222A1/en
Publication of JP2009205258A publication Critical patent/JP2009205258A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/006Identification
    • 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
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
    • G06F11/2242Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors in multi-processor systems, e.g. one processor becoming the test master

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Multi Processors (AREA)

Abstract

【課題】故障情報を共有するのに要する時間を可及的に短くすることを可能にする。
【解決手段】複数のプロセッサエレメントであって、各プロセッサエレメントがこのプロセッサエレメントの故障の有無をテストし、テスト結果を出力するテスト回路を有する複数のプロセッサエレメント2と、各プロセッサエレメントに対応して設けられ、他のプロセッサエレメントの情報を記憶するテーブルを有し、テーブルに記憶された情報に基づいて、対応するプロセッサエレメントの情報を他のプロセッサエレメントに送信する複数のスイッチボックス8と、各プロセッサエレメントに対応して設けられ、テスト回路の出力に基づいて、故障したプロセッサエレメントを特定し、この特定されたプロセッサエレメントの位置情報を出力する複数の特定回路4,6と、前記特定回路から出力される特定されたプロセッサエレメントの位置情報を、前記スイッチボックスのそれぞれに送信する送信回路と、を備えている。
【選択図】図1

Description

本発明は、半導体集積回路に関する。
半導体システムの集積度が上がり、1チップに含まれる素子の数が増えてくると、その1チップ中に欠陥を含む事象および欠陥が生成される事象が増えてくることが懸念される。また、そのような大規模システムにおいては、システム全体を検査することも困難になるので、チップ上で欠陥があるかどうかを検査する機能や、欠陥が存在してもシステムが動作するような機能が、半導体システム中に作り込まれていることが望ましい。1システム上に複数のプロセッサを持つ、マルチプロセッサシステムにおいてこれを実現するためには、各プロセッサがお互いの故障の有無を知っていることが必要になる。特に、1チップ上に形成された、プロセッサやメモリやI/Oなどを有するシステム上の要素がネットワーク的につながる、ネットワークオンチップのシステムにおいては、各要素が保持しているお互いのアドレス情報テーブルに、欠陥情報を共有して持っていなければならない。
マルチプロセッサにおいて、お互いの欠陥情報を共有する方法としては、例えば特許文献1、特許文献2に開示されているような方法があった。この特許文献1に記載された方法では、各プロセッサがそれぞれで故障検出のテストが行われ、そこで故障が検出された場合には、各々のプロセッサが持つ故障テーブルにその情報を記録した後、サービスプロセッサがそれらの情報を集めて記録する、というものである。また、特許文献2に記載された方法では、それぞれのプロセッサ内に故障検出のための装置を持ち、故障が検出された場合には、それを他のプロセッサに連絡して、各プロセッサで再構成テーブルを参照する、というものである。
特開平5−233580号公報 特開2001−22599号公報
しかし、これら特許文献1および2に記載された構成では、故障情報を各プロセッサで共有するのに時間がかかるという問題があった。また、ネットワークオンチップのシステムでこれを適用しようとすれば、故障情報の通信をしている間に、別のプロセッサエレメントが故障プロセッサに情報を送ってしまう可能性があり、故障耐性の上で問題があった。
本発明は、上記事情を考慮してなされたものであって、故障情報を共有するのに要する時間を可及的に短くすることのできる半導体集積回路を提供することを目的とする。
本発明の第1の態様による半導体集積回路は、複数のプロセッサエレメントであって、各プロセッサエレメントがこのプロセッサエレメントの故障の有無をテストし、テスト結果を出力するテスト回路を有する複数のプロセッサエレメントと、各プロセッサエレメントに対応して設けられ、他のプロセッサエレメントの情報を記憶するテーブルを有し、前記テーブルに記憶された情報に基づいて、対応するプロセッサエレメントの情報を前記他のプロセッサエレメントに送信する複数のスイッチボックスと、各プロセッサエレメントに対応して設けられ、前記テスト回路の出力に基づいて、故障したプロセッサエレメントを特定し、この特定されたプロセッサエレメントの位置情報を出力する複数の特定回路と、前記特定回路から出力される特定されたプロセッサエレメントの位置情報を、前記スイッチボックスのそれぞれに送信する送信回路と、を備えていることを特徴とする。
また、本発明の第2の態様による半導体集積回路は、複数のプロセッサエレメントであって、各プロセッサエレメントがこのプロセッサエレメントの故障の有無をテストし、テスト結果を出力するテスト回路を有する複数のプロセッサエレメントと、各プロセッサエレメントに対応して設けられた複数のスイッチボックスであって、各スイッチボックスは、全ての前記プロセッサエレメントの情報を記憶するテーブルと、前記テスト回路のそれぞれの出力に基づいて、故障したプロセッサエレメントを特定し、この特定されたプロセッサエレメントの情報を、前記テーブルに送出する特定回路と、を有し、前記テーブルに記憶された情報に基づいて、対応するプロセッサエレメントの情報を前記他のプロセッサエレメントに送信する複数のスイッチボックスと、を備えていることを特徴とする。
本発明によれば、故障情報を共有するのに要する時間を可及的に短くすることが可能な半導体集積回路を提供することができる。
本発明の実施形態を以下に図面を参照して詳細に説明する。
(第1実施形態)
本発明の第1実施形態による半導体集積回路を図1に示す。図1は、本実施形態による半導体集積回路を示す3次元的な模式図である。1チップ上に複数のプロセッサエレメント2が配置され、各プロセッサエレメント2の直上に、選択トランジスタ4と、ヒューズもしくは可変抵抗からなるメモリ素子6とが設けられている。これら選択トランジスタ4と、メモリ素子6とは直列に接続されて、対応するプロセッサエレメント2と電気的に接続されている。なお、これら選択トランジスタ4と、メモリ素子6とは3次元的に直上に配置される必要はなく、各プロセッサエレメント2と一対一に対応しかつ電気的に接続されていれば、どの場所に置かれてもかまわない。しかし、図1に示すように、3次元的に各プロセッサエレメント2の直上に配置すれば、回路面積が縮小され、また故障したプロセッサエレメント2との対応が分かりやすいという利点がある。図1では、各プロセッサエレメント2、選択トランジスタ4、およびメモリ素子6はマトリックス状に配置されている。しかし、実際のチップ上では、複数のプロセッサエレメント2はマトリクス状に配置されていない。そこで、本実施形態では、これらのプロセッサ2を仮想的にマトリクス状に配置し、この配置に基づいた行情報(X座標)および列情報(Y座標)でプロセッサエレメント2の位置が特定できるようにしている。すなわち行情報(X座標)および列情報(Y座標)がプロセッサエレメント2の位置情報を構成する。図1は、上記仮想的に配置に基づいた回路図を示している。本明細書では、プロセッサエレメントは、プロセッサ、メモリ、インターフェース回路、またはロジック回路等を意味する。
また、本実施形態においては、各プロセッサエレメント2には他のプロセッサエレメント2と通信するための経路の選択を行うスイッチボックス8が電気的に接続される。しかし、プロセッサエレメント2とスイッチボックス8は必ずしも1対1に接続される必要はない。選択トランジスタ4の一方の端子(メモリ素子6に接続されていない端子)と、メモリ素子6の一方の端子(選択トランジスタ4に接続されていない端子)を、図1に示すように配線12、14でそれぞれ接続する。配線12は上記仮想的に配置されたとき同一行(または同一列)となるプロセッサエレメント2同士を接続し、配線14は上記仮想的に配置されたとき同一列(または同一行)となるプロセッサエレメント2同士を接続する。これら配線12、14は、送信回路10に接続される。メモリ素子6から得られる情報は、故障したプロセッサエレメント2の位置情報そのものであるので、この位置情報は、送信回路10によって、スイッチボックス8に含まれる後述するアドレステーブルで用いられるアドレス情報に変換され、このアドレス情報が、各スイッチボックス8のアドレステーブルへ一括で送信される。
図2に示すように、各プロセッサエレメント2は、プロセッサ、メモリ、インターフェース回路、または任意のロジック回路で構成される本体部2aと、スイッチボックス8とのインターフェースを行うインターフェース部2bと、プロセッサエレメント2自身の故障の有無をテストするためのテスト回路2cとを含んでいる。図3に示すように、テスト回路2cは、テストデータ保持部2cと、テストデータ入力レジスタ2cと、テストデータ出力レジスタ2cと、比較回路2cと、出力回路2cとを備えている。このテスト回路2cは、チップ外部から送られて来る故障検出命令によって、プロセッサエレメント2自身のテストを開始する。すなわち、故障検出命令を受けると、テストデータが保持されているテストデータ保持部2cからテストデータがテストデータレジスタ2cに送られて記憶されるとともに、上記テストデータがプロセッサエレメント2に入力されたときに、このプロセッサエレメント2が正常な場合にこのプロセッサエレメント2から出力されると期待される値(期待値)が比較回路2cに送られる。その後、テストデータ入力レジスタ2cから本体部2aにテストデータが送られる。そして、このテストデータに応じた本体部2aからの出力データがテストデータ出力レジスタ2cに送られ、記憶される。このテストデータ出力レジスタ2cに記憶された出力データが比較回路2cに送られ、上記期待値と比較される。上記出力データと上記期待値が同じ場合には本体部2aは問題ないと判断し、異なる場合には本体部2aに問題があるとして判断する、比較の結果が出力回路2cを介して選択トランジスタ8に出力される。例えば、プロセッサエレメント2の本体部2aに問題がない場合には値「1」を外部に出力し、何か問題があった場合には、値を出力せず「0」のままとするなどである。もちろんこれに限るものではない。
スイッチボックス8は、図4に示すように、他のスイッチボックス8すなわち他のプロセッサエレメント2へ、演算結果や命令などの情報を送る経路を選択する経路選択回路8aと、行き先となるプロセッサエレメント2のアドレス情報が記録されているアドレステーブル8bとを備えている。経路を介して送られる情報は、パケットデータとして送られる。プロセッサエレメント2は、受け取ったパケットデータのアドレス情報を、上記プロセッサエレメントに対応するスイッチボックス8のアドレステーブル8bに送信する。アドレステーブル8bは、そのアドレス情報から次にデータを送るべきプロセッサエレメント2のアドレス情報を出力する。アドレス情報は、例えばそのパケットデータが送られる目的のプロセッサエレメント2の位置情報や、実現させたい機能を示す情報などを使用する。
なお、本明細書では、ネットワークオンチップとは、それぞれの機能を実現するエレメント(プロセッサエレメント2)がスイッチボックス8を介してそれぞれに通信を行って演算や仕事を実現するシステム構成を言う。図5に示すように、本明細書では通信を行う回路をスイッチボックスと呼んでいる。
図6は、故障したプロセッサエレメント2を特定する回路、すなわち選択トランジスタ4と、例えばヒューズからなるメモリ素子6を含む回路構成の一例を示したものである。ヒューズ素子6は後で述べる複数個の故障に対して耐性を持たせる場合や履歴を記録する場合以外は、必ずしも必要ではなく、選択トランジスタ4のみでもかまわない。ここでは、各プロセッサエレメントに番号をつけ、n番目のプロセッサエレメントを2としている。高電位側の電圧V_highは、p型MOSFET20を介してヒューズ素子6の一端に印加され、低電位側の電圧V_lowは、n型MOSFET22を介して選択トランジスタ4の一端に印加されている。なお、高電圧V_highと低電圧V_lowの印加位置の関係は逆になってもよい。すなわち高電圧V_highをMOSFETを介して選択トランジスタ4の一端に印加し、低電圧V_lowをMOSFETを介してヒューズ素子6の一端に印加するようにしてもよい。この場合は、高電圧V_highにはp型MOSFET20を、低電圧V_lowにはn型MOSFET22を接続した方が良い。図6では、タイマー24が記載されているが、このタイマー24は、プロセッサエレメントのテストの時間を決めるもので、例えば、テストの実行時間の終了時に、タイマー24から出力されるパルスが「1」に立ち上がる、等により、テスト時間が決められる。回路動作は、テスト時間の終了直後(すなわち、上記パルスが「1」に立ち上がった直後)までにテスト回路2cから信号が得られなかった場合に、そのテストを受けたプロセッサエレメントは故障していると判断し、選択トランジスタ4をONさせる。選択トランジスタ4がONすると、高電圧V_highと低電圧V_lowとの間に配線14、ヒューズ素子6、選択トランジスタ6、配線12を介して電流が流れ、それらの配線14、12の電圧が降下、上昇する。その電圧変化を読み取り、この電圧変化があった配線の位置情報が故障したプロセッサエレメントの位置情報となる。場合によっては、それらの電圧変化をセンスアンプ30等で増幅して読み取り、故障したプロセッサエレメントの位置情報を検出する。なお、図6においては、センスアンプ30において、配線12の電圧変化は基準電圧V_ref1と比較され、配線14の電圧変化は基準電圧V_ref2と比較される。これらの位置情報を送信回路10に入力し、故障したプロセッサエレメントのアドレス情報に変換する。選択トランジスタ4をONさせる回路として、図6では、AND回路3を用いているが、これは便宜上のもので、タイマー24やテスト回路2cの出力が負論理や正論理であるか、選択トランジスタ4がp型MOSFETまたはn型MOSFETかに応じて変更される。また、プロセッサエレメント内でいくつかの領域に分けてテストを行う場合などは、テスト回路出力が複数ビットになる場合があり、その場合、それぞれの出力を合成して1ビットとして表現する回路を付加することになる。なお、ヒューズ素子6に接続される選択トランジスタ4を駆動する回路を、このようにAND回路3とするためには、通常動作時はテスト回路2cの出力を常に「H」レベルとしておき、テスト時に「L」レベルにし、テスト結果に応じて故障がなければ再び「H」レベルにするようにする。
図7に、本実施形態の半導体集積回路の動作タイミングを示す。テスト回路2cが起動されると、タイマー24が動作を開始し、カウントを始める。タイマー24は典型的には周知のカウンター回路で実現できる。タイマー24の動作している間に、テスト回路2cは各プロセッサエレメントに対してテストを実行する。テストの結果、プロセッサエレメントが故障していないと判断された場合、テスト終了信号が出力されるが、逆に故障していると判断された場合には、信号は出力されない。タイマー24により所定時間が計測された後、テスト終了信号が出力されているかどうかで、プロセッサエレメントが故障しているかどうかが最終的に判断される。故障していると判断された場合には、ヒューズ素子6の状態を書き換える。なお、ここでは故障が無い場合に出力信号を出し、故障している場合には出力しないとしたが、逆であっても構わない。ただし、故障している場合に信号が出力されない方が、テスト回路2c自身の異常も検出できる可能性が高い。また、テストに合格した場合の信号は、テスト回路2cを起動していない場合は常に出力し続けるようにしても良い。
図8は、送信回路10の構成を示したものである。送信回路10は、アドレス逆変換テーブル10aと、出力回路10bとからなる。アドレス逆変換テーブル10aは、プロセッサエレメントに一対一で対応付けられた選択トランジスタ4やヒューズ6から得られる列情報、行情報から、スイッチボックス内のアドレステーブルの対応するアドレス情報や、デコーダの番号に変換するものである。出力回路10bは、アドレス逆変換テーブル10aの内容を、それぞれのスイッチボックスに出力するためのバッファ回路である。スイッチボックスは送信回路10からデータを受け取った場合、それをもとに故障情報を自身のアドレステーブルに記録するか、故障を示すフラグを記録するなどして、故障情報を取得する。
図9はアドレス逆変換テーブル10aを模式図に示したものである。プロセッサエレメントに一対一で対応付けられた選択トランジスタ4やヒューズ6から得られる列情報、行情報をアドレス逆変換テーブル10に入力すると、列情報と行情報との交点に記録されているデータが、各プロセッサエレメントに接続されるアドレステーブル8bで用いられるアドレス情報になるように、アドレス逆変換テーブル10aを構成する。例えば、各プロセッサエレメント上記列情報、行情報は、全てのプロセッサエレメントに通し番号を割り振ったとき、この通し番号にアドレス逆変換テーブル10によって変換され、上記通し番号がアドレス情報の一部を構成することになる。なお、行情報と列情報をそのまま、プロセッサエレメント2の位置情報とする場合には、アドレス逆変換は行わない。
図10は、複数個の故障に耐性を持たせるための回路、すなわち、AND回路3と、選択トランジスタ4と、例えばヒューズからなるメモリ素子6と、タイマー24とを含む回路の一例を示す図である。初期状態として、ヒューズ素子6は低抵抗状態(ON状態)である。テストの結果により、プロセッサエレメントに故障が無ければ、選択トランジスタ4はOFFのままなので、ヒューズ素子6に電流は流れない。故障が発見された場合には、選択トランジスタ4がONし、ヒューズ素子6に電流が流れる。それにより、電圧降下が起き、故障したプロセッサエレメントの箇所を知らせるが、その電流値でヒューズ素子6が壊れるなどの変化が起き、高抵抗状態になるように、ヒューズや電流値を設計しておく。なお、ヒューズ素子の代わりに例えば可変抵抗型のメモリ素子を用いる場合には、上記電流値で状態が例えばOFFになる等の変化が起きてメモリ素子が高抵抗状態になるように、メモリ素子や電流値を設計しておく。このとき、ヒューズ素子やメモリ素子の状態変化は、故障したプロセッサエレメントの位置情報をセンスアンプ30や送信回路10が取得した後に起こる必要があるので、センスアンプ30や送信回路10が上記位置情報を取得するまでの時間は、ヒューズの状態変化が起こる程度に時間がかかって構わない。このようにすると、次回のテスト時にも故障したプロセッサエレメントのため選択トランジスタ4はONするが、その場合はヒューズ素子やメモリ素子が高インピーダンスのため、電流は流れない。つまり、この構成では、最初にプロセッサエレメントが故障したときのみ電流が流れ、電圧降下が起こる。プロセッサエレメントの故障が一度のテストで一つしか起きないとすれば、これで複数個のプロセッサエレメントが順に故障しても対応できる。この場合、送信回路10やスイッチボックス8やその他の場所に、故障したプロセッサエレメントの履歴を記録し、その履歴に記載されているプロセッサエレメントを使用しないように設定する。
また、最初に電源を投入した時に、高電圧V_highと低電圧V_lowとの電位差をヒューズ素子6の状態が書き換わらない程度に小さく設定し、各ヒューズ素子6を選択するトランジスタ4を、各行または各列ごとスキャンしながら、ヒューズ素子6の状態を検査して故障したプロセッサエレメントの情報を図示しない履歴テーブルに記録していくことで、次回の回路使用時も故障したプロセッサエレメントの使用を回避することができる。スキャンのための信号は、ヒューズ素子6を書き換えるための信号とスキャン信号とのOR演算を取った後の信号を用いても良いし、スキャンのための選択トランジスタを別に設けても良い。もし一度のテストでプロセッサエレメントの故障が一つという条件が満たされないときは、一度にテストするプロセッサエレメントの数を、それが満たされる程度に減らし、全体のテストを複数回に分けて行えばよい。ヒューズ素子やメモリ素子を使うことで、面積を縮小することができる。特に3次元化すると、半導体集積回路の面積をより縮小することができる。
図11は別の回路で実現する例である。ここではヒューズ素子の代わりにトランジスタ7を用いている。テスト結果の出力を不揮発メモリ5に記録し、トランジスタ7の駆動を不揮発メモリ5で行う。また、ここでは電源投入時のテストのためのスキャン信号を別のトランジスタ9を用意することで行う例を示している。トランジスタ9は、通常動作させる場合は常にONさせておき、スキャンを行う時は、スキャンするトランジスタをONさせ、それ以外はOFFさせて使用する。トランジスタはn型MOSFETでもp型MOSFETでも構わないが、不揮発メモリ5やスキャン用信号をゲートに受ける。不揮発メモリ5はヒューズ素子のような2端子メモリでもよいし、フラッシュメモリのような3端子メモリでも良い。
以上説明したように、本実施形態によれば、まず、各プロセッサエレメントと1対1に対応したスイッチ素子、例えばトランジスタやヒューズ、メモリ素子を設け、故障したプロセッサエレメントがあれば、それに対応したスイッチ素子の状態を変えて、故障したプロセッサエレメントを特定する。次に、故障したプロセッサエレメントの位置情報から、スイッチボックスのアドレステーブル内の消去すべきアドレスを認識し、全てのプロセッサエレメントの持つアドレステーブルを一括に書き換える。すなわち、複数のプロセッサエレメント間で故障情報を瞬時に共有することができる。そして、プロセッサエレメントは、読み出そうとしたテーブルの内容が故障情報であれば、それを無視して、アドレステーブルの次の情報を再読み込みすることで、システムとして故障耐性を持たせることが出来る。
(第2実施形態)
次に、本発明の第2実施形態による半導体集積回路を図12に示す。本実施形態の半導体集積回路においては、各プロセッサエレメント2のアドレス情報を有するアドレステーブルを備えたスイッチボックス8は3次元的に、各プロセッサエレメント2の直上に設けられているが、プロセッサエレメント2と対応していれば良い。ただし、3次元的に配置することで、回路面積を小さくすることが可能になり、また、アドレステーブル間の配線が容易になる。各アドレステーブル8bには、図13に示すように、それぞれのプロセッサエレメント2が使用可能か否かのフラグビットを設け、そのフラグビットを制御する選択トランジスタのゲートは、同じプロセッサエレメントの情報であれば、全て共通に接続する。図13は、アドレステーブル8bの構成の一例を示したものである。例えば、パケットに付加されている情報をもとにデータを取得すると、プロセッサエレメントのX座標、Y座標などの位置情報が得られるが、それと共にプロセッサエレメント2が使用可能かどうかを示すフラグビットを付ける。フラグビットは例えば、「1」のときは使用可能で、「0」のときは使用不可、というように区別する。もちろん、逆でも構わない。スイッチボックス8がデータを他のプロセッサエレメントへ送信するときにアドレステーブル8bを参照するが、そのときフラグビットが「0」である場合には、そのプロセッサエレメントは指定されず、別のプロセッサエレメント、例えば、アドレス順で次のプロセッサエレメントなどへ送信先を変更する。ただし、アドレス順で次のプロセッサエレメントに送信先を変更する場合は、送信先のプロセッサエレメンが同種のプロセッサエレメントであるか否かに注意する。例えば、送信側のプロセッサエレメントがプロセッサの場合は送信先のプロセッサエレメントはプロセッサとなるようにし、送信側のプロセッサエレメントがメモリである場合は、送信先のプロセッサエレメントがメモリとなるようにする。
図14は、本実施形態に係る各スイッチボックス8のアドレステーブルを実現する回路の一例を示す図である。図14に示すROM回路50は通常のROM回路で、ここでは、ROM回路のメモリ素子となるトランジスタのソースがグランドに結線されているかどうかをセンスするようにしているが、別の種類のROM回路でも構わない。ROM回路50の一つのワードラインに接続されているメモリ素子に記憶されているデータが一つのプロセッサエレメントの位置情報となる。この位置情報はワードラインを例えば「H」レベルにすることにより、このワードラインに接続されているメモリ素子の記憶されているデータをセンスアンプ30によって読み出すことにより得られる。フラグビット生成回路40は、各プロセッサエレメントに対応して設けられた、選択トランジスタ40a、ヒューズ素子40b、およびプログラム用トランジスタ42を備えている。選択トランジスタ40aのゲートはワードラインに接続され、ドレインがビットラインを介してセンスアンプ30に接続され、ソースがヒューズ素子40の一端に接続されている。ヒューズ素子40bの他端は接地されている。プログラム用トランジスタは、p型MOSFETであって、ゲートにプログラム信号を受け、ドレインに高電圧V_highが印加され、ソースがヒューズ素子40bの上記一端に接続している。なお、このプログラム信号は、本実施形態においては、図6に示す回路内のAND回路の出力を反転した信号となっている。すなわち、本実施形態においても、図6に示すタイマー回路24およびAND回路3を備えている。
トランジスタ42のOFF抵抗は、ヒューズ素子40bの高抵抗状態と低抵抗状態の間の抵抗値にしておく場合には、この図14に示す構成では、ワードラインにより選択トランジスタ40aがONされた時に、ヒューズ素子40bが低抵抗状態であれば「L」レベルの信号を、高抵抗状態であれば「H」レベルの信号がビットラインに出力される。トランジスタ42とヒューズ素子40bの位置を逆にすれば、逆の関係となる。トランジスタ42のOFF抵抗がヒューズ素子40bの抵抗状態によらず高い場合には、ビットラインを「H」レベルにプリチャージしておき、ワードラインにより選択トランジスタ40aがONされた時に、ヒューズ素子40bの抵抗状態に応じてビットラインの電圧が変わることを利用して、その差をセンスアンプで読み出すことで、情報を読み出すことができる。このフラグビットを示す信号は、ワードラインを例えば「H」レベルにすることにより、センスアンプ30によって読み出される。このとき、対応するプロセッサエレメントの位置情報も同時にセンスアンプ30によって読み出される。このフラグビット生成回路40をプログラムするためのプログラム信号は、全てのスイッチボックス8のアドレステーブルで共通とする。このように、ヒューズ素子で実現したフラグビットをROM50と同じワードラインで選択することで、アドレステーブルでプロセッサエレメントの位置情報と同時にそのプロセッサエレメントの故障状態を示すことができる。また、ヒューズの状態がそのままプロセッサエレメントの状態を示し、このヒューズの状態は不揮発性なので、第1実施形態と異なり、電源投入時にスキャンをして故障情報を読み込まなくても良い。本実施形態においては、フラグビット生成回路40およびROM回路50が、故障したプロセッサエレメントを特定する回路となっている。
図15はフラグビット生成回路40の他の具体例を示す回路図である。3端子の浮遊ゲート型メモリ素子40cと、ゲートがワードラインに接続された選択トランジスタ40aとを備えている。選択トランジスタ40aのドレインがビットラインを介してセンスアンプ30に接続され、ソースがメモリ素子40cの一端に接続されている。メモリ素子40cは、他端が接地され、ゲートにプログラム信号を受ける。ビットラインを高電位までプリチャージし選択トランジスタ40aをONとすると、メモリ素子40cの閾値が高い場合には出力は「H」レベルとなり、閾値が低い場合には「L」レベルとなる。閾値の状態は、プロセッサエレメントのテスト結果によって生成される信号によってプログラムされる。プロセッサエレメントの故障の有無のどちらを高い閾値にし、どちらを低い閾値にするかは任意である。なお、3端子メモリ40cの他端を高電位側につなぎ、ビットラインを「L」レベルにプリチャージすることもできる。同じプロセッサエレメントの情報を表す選択トランジスタ40aのゲートを、全てのスイッチボックス8で共有することで、一括にフラグビットを書き込むことができる。プロセッサエレメント2はこの値を読むことで、送信しようとするプロセッサエレメント2が故障しているかどうかを判断することができる。また、メモリ素子40cの状態がそのままプロセッサエレメントの状態を示し、このメモリ素子40cは不揮発性なので、第1実施形態の場合と異なり、電源投入時にスキャンをして故障情報を読み込まなくても良い。このように、フラグビットや故障状態を示すメモリは、3端子メモリ素子を用いても実現できる。
以上説明したように、本発明の各実施形態によれば、各エレメントの故障情報を瞬時に共有することができるので、より故障耐性に優れた回路を作製することができる。上記実施形態では、ネットワークオンチップシステムを意識して、各エレメントがアドレステーブルを持つ構成を例にして説明したが、それ以外のマルチプロセッサシステムに、本発明を適用して、各プロセッサが持つ故障テーブルを瞬時に更新する、といった使用方法も考えられる。この場合、故障情報の共有がすぐに行われるので、システムのパフォーマンスの低下を抑えられるという利点が得られる。
本発明の第1実施形態による半導体集積回路を示す模式図。 第1実施形態に係るプロセッサエレメントを示すブロック図。 第1実施形態に係るプロセッサエレメントのテスト回路を示すブロック図。 第1実施形態に係るスイッチボックスを示すブロック図。 ネットワークオンチップを示す図。 故障したプロセッサエレメントを特定するための回路を示す回路図。 テスト回路の動作を説明する図。 送信回路を示すブロック図。 アドレス逆変換テーブルの一例を示す図。 複数のプロセッサエレメントの故障に耐性を持たせる回路の一例を示す図。 複数のプロセッサエレメントの故障に耐性を持たせる回路の他の例を示す図。 第2実施形態による半導体集積回路を示す模式図。 第2実施形態におけるアドレステーブルの一例を示す図。 図13に示すアドレステーブルを実現する回路図。 フラグビット生成回路の他の具体例を示す回路図。
符号の説明
2 プロセッサエレメント
2a 本体部
2b インターフェース部
2c テスト回路
2c テストデータ保持回路
2c テストデータ入力レジスタ
2c テストデータ出力レジスタ
2c 比較回路
2c 出力回路
3 AND回路
4 選択トランジスタ
5 不揮発性メモリ
6 メモリ素子
7 n型MOSFET
8 スイッチボックス
8a 経路選択回路
8b アドレステーブル
9 n型MOSFET
10 送信回路
10a アドレス逆変換テーブル
10b 出力回路
12 配線
14 配線
20 p型MOSFET
22 n型MOSFET
24 タイマー
30 センスアンプ
40 フラグビット生成回路
40a n型MOSFET
40b ヒューズ素子
40c 浮遊ゲート型メモリ素子
42 p型MOSFET
50 ROM回路

Claims (7)

  1. 複数のプロセッサエレメントであって、各プロセッサエレメントがこのプロセッサエレメントの故障の有無をテストし、テスト結果を出力するテスト回路を有する複数のプロセッサエレメントと、
    各プロセッサエレメントに対応して設けられ、他のプロセッサエレメントの情報を記憶するテーブルを有し、前記テーブルに記憶された情報に基づいて、対応するプロセッサエレメントの情報を前記他のプロセッサエレメントに送信する複数のスイッチボックスと、
    各プロセッサエレメントに対応して設けられ、前記テスト回路の出力に基づいて、故障したプロセッサエレメントを特定し、この特定されたプロセッサエレメントの位置情報を出力する複数の特定回路と、
    前記特定回路から出力される特定されたプロセッサエレメントの位置情報を、前記スイッチボックスのそれぞれに送信する送信回路と、
    を備えていることを特徴とする半導体集積回路。
  2. 複数の前記特定回路のそれぞれは、対応するプロセッサエレメントの前記テスト回路によるテスト結果が、故障が有ることを示している場合に記憶状態が変化する不揮発性のメモリ素子を有していることを特徴とする請求項1記載の半導体集積回路。
  3. 前記メモリ素子は、対応する前記プロセッサエレメントの直上に設けられていることを特徴とする請求項2記載の半導体集積回路。
  4. 複数のプロセッサエレメントであって、各プロセッサエレメントがこのプロセッサエレメントの故障の有無をテストし、テスト結果を出力するテスト回路を有する複数のプロセッサエレメントと、
    各プロセッサエレメントに対応して設けられた複数のスイッチボックスであって、各スイッチボックスは、全ての前記プロセッサエレメントの情報を記憶するテーブルと、前記テスト回路のそれぞれの出力に基づいて、故障したプロセッサエレメントを特定し、この特定されたプロセッサエレメントの情報を、前記テーブルに送出する特定回路と、を有し、前記テーブルに記憶された情報に基づいて、対応するプロセッサエレメントの情報を前記他のプロセッサエレメントに送信する複数のスイッチボックスと、
    を備えていることを特徴とする半導体集積回路。
  5. 前記特定回路は、各プロセッサエレメントに対応して設けられる、前記テスト回路によるテスト結果が、故障が有ることを示している場合に記憶状態が変化する不揮発性のメモリ素子を備えていることを特徴とする請求項4記載の半導体集積回路。
  6. 前記テーブルは、対応する前記プロセッサエレメントの直上に設けられていることを特徴とする請求項5記載の半導体集積回路。
  7. 前記特定回路は、各プロセッサエレメントの位置情報を記憶するROMを備えていることを特徴とする請求項4乃至6のいずれかに記載の半導体集積回路。
JP2008044475A 2008-02-26 2008-02-26 半導体集積回路 Pending JP2009205258A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008044475A JP2009205258A (ja) 2008-02-26 2008-02-26 半導体集積回路
US12/211,842 US20090217222A1 (en) 2008-02-26 2008-09-17 Semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008044475A JP2009205258A (ja) 2008-02-26 2008-02-26 半導体集積回路

Publications (1)

Publication Number Publication Date
JP2009205258A true JP2009205258A (ja) 2009-09-10

Family

ID=40999610

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008044475A Pending JP2009205258A (ja) 2008-02-26 2008-02-26 半導体集積回路

Country Status (2)

Country Link
US (1) US20090217222A1 (ja)
JP (1) JP2009205258A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011158359A (ja) * 2010-02-01 2011-08-18 Renesas Electronics Corp 集積回路及び集積回路の選別テスト方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111149166B (zh) 2017-07-30 2024-01-09 纽罗布拉德有限公司 基于存储器的分布式处理器架构

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4816990A (en) * 1986-11-05 1989-03-28 Stratus Computer, Inc. Method and apparatus for fault-tolerant computer system having expandable processor section
US7231543B2 (en) * 2004-01-14 2007-06-12 Hewlett-Packard Development Company, L.P. Systems and methods for fault-tolerant processing with processor regrouping based on connectivity conditions

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011158359A (ja) * 2010-02-01 2011-08-18 Renesas Electronics Corp 集積回路及び集積回路の選別テスト方法

Also Published As

Publication number Publication date
US20090217222A1 (en) 2009-08-27

Similar Documents

Publication Publication Date Title
US9424953B2 (en) Semiconductor memory device including repair circuit
US11205499B2 (en) Memory circuit device and a method for testing the same
KR102170322B1 (ko) 공유 에러 검출 및 정정 메모리
US20130212207A1 (en) Architecture and method for remote memory system diagnostic and optimization
US6457141B1 (en) Semiconductor device with embedded memory cells
US10594321B1 (en) Semiconductor integrated circuit and reconfigurable semiconductor system
CN108511029B (zh) 一种fpga中双端口sram阵列的内建自测和修复系统及其方法
US7512001B2 (en) Semiconductor memory device, test system including the same and repair method of semiconductor memory device
JP2010182366A (ja) 半導体装置
KR102253011B1 (ko) 리페어 회로 및 이를 포함하는 반도체 메모리 장치
US20100096629A1 (en) Multi-chip module for automatic failure analysis
JP2010134994A (ja) 半導体装置及びそのカリブレーション方法
JP3967704B2 (ja) 半導体記憶装置とそのテスト方法
US10497431B2 (en) Static random-access memory device, redundant circuit thereof, and semiconductor device
JP2009205258A (ja) 半導体集積回路
KR102122880B1 (ko) 반도체 장치
JP3563362B2 (ja) 集積メモリのメモリセルの機能をテストする方法および集積メモリ
KR100313555B1 (ko) 소거기능의테스트용테스트회로를가진비휘발성반도체메모리
US8209571B2 (en) Valid-transmission verifying circuit and a semiconductor device including the same
US20100269001A1 (en) Testing system and method thereof
US20230267999A1 (en) Memory device and method for operating said memory device
US10818373B2 (en) Memory device and test circuit thereof
JP2011065686A (ja) システムインパッケージとその試験方法
US11115024B2 (en) Integrated circuit, test method for testing integrated circuit, and electronic device
JP2011134386A (ja) 半導体装置