(57)【要約】【課題】複数の同一回路コアを搭載する場合に、その複数の同一回路コア全体の経年変化に対する特性を利用して経年変化分のマージン設計の緩和を可能にする半導体集積回路装置を提供すること。【解決手段】複数の同一回路コアを搭載する半導体集積回路装置において、記憶装置３と、マルチコア群１に含まれる各回路コア１０について動作仕様を満たすか否かの診断を行い、動作仕様を満たす回路コアを使用可能コアと判定し、動作仕様を満たさなくなった回路コアを使用禁止コアと判定し、各判定結果を各回路コアの識別情報と関連付けて憶装置３に格納する制御回路２ａとを備える。【選択図】        図１
2010135504.tif 000002
【特許請求の範囲】
【請求項１】
複数の同一回路コアを搭載する半導体集積回路装置において、
記憶装置と、
前記各回路コアについて動作仕様を満たすか否かの診断を行い、動作仕様を満たす回路コアを使用可能コアと判定し、動作仕様を満たさなくなった回路コアを使用禁止コアと判定し、各判定結果を各回路コアの識別情報と関連付けて前記記憶装置に格納する制御回路と、
を備えることを特徴とする半導体集積回路装置。
【請求項２】
複数の同一回路コアを搭載する半導体集積回路装置において、
前記複数の同一回路コアのなかで使用可能コアの動作履歴を記憶する記憶装置と、
前記記憶装置に記憶された動作履歴に基づき各使用可能コアの動作回数または動作時間が平均化されるように、動作させる使用可能コアを切り替えるウェアレベリング処理を行う制御回路と、
を備えたことを特徴とする半導体集積回路装置。
【請求項３】
前記制御回路は、前記使用可能コアよりも低い周波数の動作クロックを前記使用禁止コアに供給させることを特徴とする請求項１に記載の半導体集積回路装置。
【請求項４】
前記制御回路は、前記使用可能コアよりも高い電源電圧を前記使用禁止コアに供給させることを特徴とする請求項１に記載の半導体集積回路装置。
【請求項５】
前記制御回路は、前記使用可能コアのなかの未使用の回路コアに他の各回路コアについて動作仕様を満たすか否かの前記診断を行わせ、該未使用の回路コアから取得した前記判定結果を前記記憶装置に格納することを特徴とする請求項１，３，４のいずれか１つに記載の半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路装置に関するものである。
【背景技術】
【０００２】
近年、信号処理や画像処理、制御処理などを行う半導体集積回路チップにおいては、処理速度の向上などを企図して、ＭＰＵ（Micro Processing Unit：マイクロプロッセサ）やＤＳＰ（Digital Signal Processor：ディジタル信号処理装置）などの処理機能ブロックを「回路コア」として、複数の同一回路コアを搭載した、いわゆるマルチコアチップが増えてくる傾向にある（例えば、非特許文献１など）。
【０００３】
ところで、このような集積回路チップでは、ＥＭ（Electro Migration）やＮＢＴＩ（Negative Bias Temperature Instability）など経年変化によるパフォーマンスの劣化を補償するため、マージンを考慮して設計することが必要とされている。そのため、そのマージンの分だけチップの速度が制限されたり、チップの面積が大きくなったりして問題になっている。
【０００４】
また、この種の集積回路チップでは、歩留まりの向上や動作信頼性などを確保するために冗長構成を採る場合もある。例えば、非特許文献２では、フリップフロップ間に複数の同一論理回路を設け、一方の論理回路が動作仕様を満たさなくなるのを検知すると、もう一方の論理回路に切り替える構成とし、チップ全体の歩留まりを向上させる方法が提案されている。しかし、冗長構成を採る場合は、同時に使用することが不可能な同一回路を２以上有するので、面積オーバーヘッドが大きくなってしまうという問題がある。
【０００５】
【非特許文献１】S. Vangal, J. Howard, G. Ruhl, S. Dighe, H. Wilson, J. Tschanz, D. Finan, P. Iyer, A. Singh, T. Jacob, S. Jain, S. Venkataraman, Y. Hoskote, and N. Borkar“"An 80-Tile 1.28TFLOPS Network-on-Chip in 65nm CMOS,”Digest Technical Papers of ISSCC, pp.98-99, Feb. 2007.
【非特許文献２】T. Nakura, K. Nose, and M. Mizuno“"Fine-Grain Redundant Logic Using Defect-Prediction Flip-Flops,”Digest Technical Papers of ISSCC, pp.402-403, Feb. 2007.
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、上記に鑑みてなされたものであり、複数の同一回路コアを搭載する場合に、その複数の同一回路コア全体の経年変化に対する特性を利用して経年変化分のマージン設計の緩和を可能にする半導体集積回路装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本願発明の一態様によれば、上述した目的を達成するため、本発明は、複数の同一回路コアを搭載する半導体集積回路装置において、記憶装置と、前記各回路コアについて動作仕様を満たすか否かの診断を行い、動作仕様を満たす回路コアを使用可能コアと判定し、動作仕様を満たさなくなった回路コアを使用禁止コアと判定し、各判定結果を各回路コアの識別情報と関連付けて前記記憶装置に格納する制御回路とを備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、複数の同一回路コアを搭載する場合に、その複数の同一回路コア全体の経年変化に対する特性を利用して経年変化分のマージン設計の緩和を可能にするという効果を奏する。
【発明を実施するための最良の形態】
【０００９】
以下に添付図面を参照して、本発明にかかる半導体集積回路装置の最良な実施の形態を詳細に説明する。
【００１０】
（第１の実施の形態）
図１は、本発明の第１の実施の形態にかかる半導体集積回路装置の構成を示すブロック図である。図１において、マルチコア群１には、複数の回路コア１０が含まれている。複数の回路コア１０は、それぞれ同一構成のＭＰＵやＤＳＰなどである。このマルチコア群１を半導体集積回路装置（チップ）に搭載する場合に、制御回路２ａ及び記憶装置３は、マルチコア群１と一緒に搭載される。
【００１１】
前記したように、マルチコア群１に含まれる各回路コアは、一般には、ＥＭやＮＢＴＩなどの経年変化に対して余分なマージンを付与して設計される。ところが、マルチコア群１に含まれる複数の回路コアでは、経年変化によって動作仕様を満たさなくなる時期は、全ての回路コアにおいて同時期に到来するのではなく、回路コア毎に異なる時期に到来する。
【００１２】
そこで、本第１の実施の形態では、経年変化の影響は回路コア毎に異なるという特性に着目し、経年変化の影響を、図２に示すように、マルチコア群１に含まれる複数の回路コア全体として把握するようにした。
【００１３】
図２は、経年変化による使用可能コア数の減少変化と保証期間との関係を説明する図である。図２では、縦軸が使用可能コア数であり、横軸が時間（経年変化）である。使用可能コア数とは、動作仕様を満たすとして使用が可能な回路コア（使用可能コア）の数である。
【００１４】
図２において、工場出荷時は、全ての回路コアが使用可能であるので、その数を値Ｂとすれば、時間の経過とともに使用可能コア数は減少し、或る時間を経過した時の使用可能コア数は値Ａとなる。本実施の形態では、この値Ａを、マルチコア群１に対し製品仕様として保証する最低の使用可能コア数と定める。すなわち、使用可能コア数が値Ａになるまでの期間を、当該マルチコア群１を搭載するチップ（半導体集積回路装置）の保証期間と定めるようにした。
【００１５】
このように保証期間を定めると、使用可能コア数Ｂと使用禁止コア数Ａとの差分の面積オーバーヘッドを、経年変化を考慮してマージンを取って設計した場合の面積増加分よりも小さくなるように設定できるので、チップ面積の増加を抑えることができる。
【００１６】
制御回路２ａ及び記憶装置３は、この保証期間の到来を実際の運用において判断できるようにするために、設けてある。制御回路２ａは、図３に示す手順で適宜に動作診断を実施して、経年変化で動作仕様を満たさなくなった回路コアを検知し、それを使用禁止コア１１とすることを繰り返すことで、使用可能コア数を減らしていく制御を行う。
【００１７】
記憶装置３には、使用可能コアであるか使用禁止コアであるかを示す使用可否情報が、各回路コアの識別情報と共に格納される。各回路コアの識別情報としては、例えば、各回路コアのチップ上の位置を示す位置情報が採用される。
【００１８】
以下、図３を参照して、具体的に説明する。図３は、図１に示す制御回路が実施する診断処理手順を説明するフローチャートである。なお、処理手順を示す「ステップ」は、単に「ＳＴ」と略記する。
【００１９】
図３において、ＳＴ１では、制御回路２ａは、診断タイミングの時期到来を待機する。診断タイミングとしては、電源の入り切りをして運用する場合は、電源投入時でもよい。また、運用中では、例えば、１時間、１日、１週間、一ヶ月など、適宜に定めてもよい。この場合、当該動作診断を実施するために通常の処理を中断する必要は、必ずしもない。
【００２０】
制御回路２ａは、診断タイミングが到来すると（ＳＴ１：Ｙｅｓ）、記憶装置３に前回格納された使用可能コアの位置を参照して、診断対象の回路コアを１つ選択する（ＳＴ２）。通常の処理を中断しない場合は、使用していない未使用の回路コアの中から選択することになる。
【００２１】
そして、制御回路２ａは、選択した回路コアについて動作チェックを行い（ＳＴ３）、動作仕様を満たすか否かを調べる（ＳＴ４）。その結果、動作仕様を満たす場合は（ＳＴ４：Ｙｅｓ）、当該回路コアは使用可能であるとして、記憶装置の登録内容（使用可能コア）を継続し（ＳＴ５）、動作仕様を満たさなくなった場合は（ＳＴ４：Ｎｏ）、当該回路コアは使用禁止であるとして、記憶装置の登録内容（使用可能コア）を使用禁止コアに変更する（ＳＴ６）。
【００２２】
制御回路２ａは、ＳＴ２〜ＳＴ６の処理を、前回、使用可能と判断された全回路コアについて実施し（ＳＴ７：Ｎｏ）、使用可能な全回路コアの診断を終了すると（ＳＴ７：Ｙｅｓ）、記憶装置に格納した使用可能コアの数をカウントし、使用可能コア数が図２に示した値Ａになったか否かを調べる（ＳＴ８）。
【００２３】
制御回路２ａは、使用可能コア数が図２に示した値Ａになるまで（ＳＴ８：Ｎｏ）、ＳＴ１〜ＳＴ７の処理を繰り返し、使用可能コア数が図２に示した値Ａになると（ＳＴ８：Ｙｅｓ）、当該診断処理を終了する。
【００２４】
以上のように、本第１の実施の形態によれば、搭載する複数の回路コア全体の経年変化に対する特性を利用して、使用可能コア数が一定数に減少するまでの期間を保証期間と定めて運用するようにしたので、各回路コアを、経年変化に対するマージンを極力少なくして設計することが可能となり、チップ面積の増大を抑制することができる。
【００２５】
（第２の実施の形態）
図４は、本発明の第２の実施の形態にかかる半導体集積回路装置の構成を示すブロック図である。本第２の実施の形態では、第１の実施の形態において使用可能と診断された全回路コアの延命処理を実施する例（その１）として、発生したジョブで必要とされる回路コア数が使用可能コア数よりも小さい場合に、処理を割り当てるたびに、動作履歴情報に基づき各回路コアの動作回数が平均化されるように、動作させる回路コアを切り替えるウェアレベリングを実施する。
【００２６】
図４において、マルチコア群１に含まれる回路コア１０は、全て、図３に示す手順で行われた或る診断タイミングにおいて使用可能と判定された回路コアである。制御回路２ａは、例えば、使用可能である全回路コアに処理の順番（＃１〜＃２５）を与えて管理し、図５に示す手順で、前回の処理割り割り当てにおいて記憶装置３に格納した最後に動作させた回路コアの位置の次の位置の回路コアから順に今回の処理を割り当てるようにする。
【００２７】
図５は、図４に示す制御回路が実施する使用可能コアへの処理割り当て手順の一例を説明するフローチャートである。図５において、制御回路２ａは、使用可能コア数よりも小さい回路コア数で処理可能なジョブが発生すると（ＳＴ１１：Ｙｅｓ）、記憶装置３から、前回のジョブにおいて最後に動作させた回路コアの位置を確認し（ＳＴ１２）、その確認した回路コアの次の回路コアから順番に必要数の回路コアに処理を割り当てる（ＳＴ１３）。
【００２８】
例えば、前回のジョブにおいて最後に動作させた回路コアが回路コア＃５であるとし、今回のジョブで必要な回路コア数が７である場合、ＳＴ１３では、回路コア＃６〜＃１２まで順番に処理を割り当てる。
【００２９】
そして、制御回路２ａは、最後に動作させる回路コア＃１２の位置情報＃１２を記憶装置３に格納して（ＳＴ１４）、本処理を終了し、次のジョブ発生を待機する処理（ＳＴ１１）へ移行する。
【００３０】
回路コア＃６〜＃１２での処理が終了する前に、次のジョブが発生した場合は（ＳＴ１１：Ｙｅｓ）、回路コア＃１２がＳＴ１２における「前回のジョブにおいて最後に動作させた回路コア」となるので、ＳＴ１３では、回路コア＃１３から処理を割り当てる。ジョブが発生するたびに、以上の動作が繰り返されて、全使用可能コアの使用回数の平均化が行われる。
【００３１】
以上のように、本第２の実施の形態によれば、処理を行う回路コアを固定せず、ウェアレベリングを実施して処理を割り当てる回路コアを、予め定めた順番で、その都度切り替えるようにし、使用可能である全回路コアのそれぞれを動作させるようにしたので、経年変化に対するマージンを緩和した回路コア自体の寿命を延ばすことができ、使用可能コア数が図２に示した値Ａになるまでの当該マルチコア群としての保証期間を確実に担保することができる。
【００３２】
（第３の実施の形態）
図６は、本発明の第３の実施の形態にかかる半導体集積回路装置の構成を示すブロック図である。本第３の実施の形態では、第１の実施の形態において、使用可能と診断された全回路コアの延命処理を実施する例（その２）として、発生したジョブで必要とされる回路コア数が使用可能コア数よりも小さい場合に、処理を割り当てるたびに、動作履歴情報に基づき各回路コアの動作時間が平均化されるように、動作させる回路コアを切り替えるウェアレベリングを実施する。
【００３３】
図６において、マルチコア群１に含まれる回路コア１０は、第２の実施の形態と同様に全て、図３に示す手順で行われた或る診断タイミングにおいて使用可能と判定された回路コアである。制御回路２ａは、前回のジョブまでにおける各使用可能コアの累積動作時間を記憶装置３に格納して管理し、図７に示す手順で、今回の処理を割り当てる回路コアを記憶装置３に格納した累積動作時間の小さい回路コアから順に選択する。
【００３４】
図７は、図６に示す制御回路が実施する使用可能コアへの処理割り当て手順を説明するフローチャートである。図７において、制御回路２ａは、使用可能コア数よりも小さい回路コア数で処理可能なジョブが発生すると（ＳＴ２１：Ｙｅｓ）、記憶装置３から、前回のジョブまでにおける各使用可能コアの累積動作時間（未使用であった場合は累積動作時間＝０である）を確認し（ＳＴ２２）、今回のジョブで必要な所定数の回路コアを累積動作時間の小さいものから順に選択して処理を割り当てる（ＳＴ２３）。
【００３５】
そして、制御回路２ａは、各回路コアの動作時間をカウントして前回動作時の累積動作時間に加えることで得られた今回動作時の累積動作時間を保持し（ＳＴ２４）、その中に累積動作時間が最大値ＭＡＸの回路コアが存在するか否かを調べ（ＳＴ２５）、ジョブ終了後にＳＴ２６またはＳＴ２７の処理を行って本処理を終了する。
【００３６】
ＳＴ２６では、累積動作時間が最大値ＭＡＸの回路コアが存在する場合（ＳＴ２５：Ｙｅｓ）の処理として、記憶装置３に格納してある使用可能な全回路コアの累積動作時間をリセットして０にする。
【００３７】
ＳＴ２７では、累積動作時間が最大値ＭＡＸの回路コアが存在しない場合（ＳＴ２５：Ｎｏ）の処理として、保持した各回路コアの累積動作時間を記憶装置３に格納する。
【００３８】
制御回路２ａは、割り当てた回路コアの処理が終了する前に、次のジョブが発生した場合は（ＳＴ２１：Ｙｅｓ）、動作中の回路コアを除く使用可能コアの累積動作時間を確認し（ＳＴ２２）、今回のジョブで必要な所定数の回路コアを累積動作時間の小さいものから順に選択して処理を割り当てる（ＳＴ：２３）。
【００３９】
ジョブが発生するたびに（ＳＴ２１）、以上の動作が繰り返され、全使用可能コアの動作時間の平均化が行われる。
【００４０】
以上のように、本第３の実施の形態によれば、処理を行う回路コアを固定せず、それまでの累積動作時間の小さいものを優先し、処理を割り当てる回路コアを、累積動作時間の小さい回路コアから順に切り替えて動作させることで、使用可能である全回路コアのそれぞれを動作させるようにしたので、経年変化に対するマージンを緩和した各回路コアの寿命を、それぞれ動作時間を揃える形で延ばすことができ、第２の実施の形態と同様に、使用可能コア数が図２に示した値Ａになるまでの当該マルチコア群としての保証期間を確実に担保することができる。
【００４１】
（第４の実施の形態）
図８は、本発明の第４の実施の形態にかかる半導体集積回路装置の構成を示すブロック図である。本第４の実施の形態では、使用禁止と診断された回路コアについて救済処理を実施する例を示す。
【００４２】
図８では、クロック生成回路５と電源回路７とが追加して示されている。クロック生成回路５は、マルチコア群１に含まれる各回路コア１０に供給する動作クロックを生成す
る。電源回路７は、マルチコア群１に含まれる各回路コア１０に動作電源を供給する。
【００４３】
第１の実施の形態にて説明したように、記憶装置３には、使用可能コアであるか使用禁止コアであるかを示す使用可否情報が各回路コアの位置情報と共に格納される。制御回路２ａは、図３に示した手順で使用禁止と診断した回路コアに対して、次の（１）（２）のいずれか一つを実施する。
【００４４】
（１）制御回路２ａは、クロック生成回路５に対し、使用禁止と診断した回路コアの位置を示して、使用可能コアに供給する周波数よりも低い周波数の動作クロックを該使用禁止回路コアに対して供給する指示を出力する。これによって、使用禁止と診断された回路コアは、速度は落ちるが、一応の処理を継続して行うことができる。
【００４５】
（２）制御回路２ａは、電源回路７に対し使用禁止と診断した回路コアの位置を示して、使用可能コアに供給する電源電圧よりも高い電源電圧を該使用禁止回路コアに対して供給する指示を出力する。これによって、使用禁止と診断された回路コアは、一応の処理を継続して行うことができる。
【００４６】
以上のように、本第４の実施の形態によれば、仕様を満たさなくなった回路コアを一律に使用禁止とする場合と比べて、使用可能コア数を減らさないで済むので、マルチコア群１に含まれる複数の回路コア全体としてのパフォーマンスの劣化度合いを緩和することができる。
【００４７】
（第５の実施の形態）
図９は、本発明の第５の実施の形態にかかる半導体集積回路装置の構成を示すブロック図である。本第５の実施の形態では、各回路コアがＭＰＵで構成される場合に、第１の実施の形態に示した動作診断処理を回路コアが行う場合を示す。
【００４８】
図９において、符号を変えた制御回路２ｂは、使用可能コアのなかから未使用の任意の回路コアを診断コア１５と指定し、該診断コア１５に、他の各回路コアについて動作仕様を満たすか否かの動作チェック（図３に示したＳＴ２〜ＳＴ４の動作診断処理）を行わせる。
【００４９】
そして、制御回路２ｂは、診断コア１５による他の全ての回路コアについての診断を終了すると、診断コア１５から動作チェック結果を取得し、その取得した動作チェック結果から使用可能コアと使用禁止コアとを判別し、判別した各回路コアの使用可否情報を位置情報と関連付けて記憶装置３に格納する。
【００５０】
この構成によっても、第１の実施の形態と同様に、使用可能コア数が図２に示した値Ａとなる保証期間の到来時期を検知することができる。また、制御回路２ｂは、第２〜第４の実施の形態における制御回路２ａと同様に、使用可能コアの延命処理（第２、第３の実施の形態）や使用禁止コアの救済処理（第４の実施の形態）を実施することができる。
【００５１】
以上のように、本第５の実施の形態によれば、回路コアに動作診断処理を委ねるので、制御回路２ｂの構成簡素化が図れる。
【００５２】
（第６の実施の形態）
図１０は、本発明の第６の実施の形態にかかる半導体集積回路装置の構成を示すブロック図である。本第６の実施の形態では、使用可能コア数が図２に示した値Ａ以下になった場合の措置の例を示す。
【００５３】
第１の実施の形態にて説明したように、記憶装置３には、各回路コアの使用可否情報が位置情報と関連付けて格納されている。図１０での使用禁止コア１１の数は、図１に示した場合よりも増えて３つが示されている。
【００５４】
制御回路２ａは、記憶装置３に格納した使用可能コア数が図２に示した値Ａ以下になった場合、アラートを発生して、外部に保証期間の到来を報知する。これによって、当該マルチコア群１の突然死を防止することができる。なお、図９に示した制御回路２ｂも、この措置を実施することができる。
【図面の簡単な説明】
【００５５】
【図１】本発明の第１の実施の形態にかかる半導体集積回路装置の構成を示すブロック図である。
【図２】経年変化による使用可能コア数の減少変化と保証期間との関係を説明する図である。
【図３】図１に示す制御回路が実施する動作診断処理手順を説明するフローチャートである。
【図４】本発明の第２の実施の形態にかかる半導体集積回路装置の構成を示すブロック図である。
【図５】図４に示す制御回路が実施する使用可能コアへの処理割り当て手順の一例を説明するフローチャートである。
【図６】本発明の第３の実施の形態にかかる半導体集積回路装置の構成を示すブロック図である。
【図７】図６に示す制御回路が実施する使用可能コアへの処理割り当て手順の一例を説明するフローチャートである。
【図８】本発明の第４の実施の形態にかかる半導体集積回路装置の構成を示すブロック図である。
【図９】本発明の第５の実施の形態にかかる半導体集積回路装置の構成を示すブロック図である。
【図１０】本発明の第６の実施の形態にかかる半導体集積回路装置の構成を示すブロック図である。
【符号の説明】
【００５６】
１  マルチコア群
２ａ，２ｂ  制御回路
３  記憶装置
５  クロック生成回路
７  電源回路
１０  回路コア（使用可能コア）
１１  回路コア（使用禁止コア）
１５  回路コア（診断コア）
【図１】
2010135504.tif 000003
【図２】
2010135504.tif 000004
【図３】
2010135504.tif 000005
【図４】
2010135504.tif 000006
【図５】
2010135504.tif 000007
【図６】
2010135504.tif 000008
【図７】
2010135504.tif 000009
【図８】
2010135504.tif 000010
【図９】
2010135504.tif 000011
【図１０】
2010135504.tif 000012