特開2020-198142(P2020-198142A)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧
<>
  • 特開2020198142-半導体集積回路及びメモリ回路 図000003
  • 特開2020198142-半導体集積回路及びメモリ回路 図000004
  • 特開2020198142-半導体集積回路及びメモリ回路 図000005
  • 特開2020198142-半導体集積回路及びメモリ回路 図000006
  • 特開2020198142-半導体集積回路及びメモリ回路 図000007
  • 特開2020198142-半導体集積回路及びメモリ回路 図000008
  • 特開2020198142-半導体集積回路及びメモリ回路 図000009
  • 特開2020198142-半導体集積回路及びメモリ回路 図000010
  • 特開2020198142-半導体集積回路及びメモリ回路 図000011
  • 特開2020198142-半導体集積回路及びメモリ回路 図000012
  • 特開2020198142-半導体集積回路及びメモリ回路 図000013
  • 特開2020198142-半導体集積回路及びメモリ回路 図000014
  • 特開2020198142-半導体集積回路及びメモリ回路 図000015
  • 特開2020198142-半導体集積回路及びメモリ回路 図000016
  • 特開2020198142-半導体集積回路及びメモリ回路 図000017
  • 特開2020198142-半導体集積回路及びメモリ回路 図000018
  • 特開2020198142-半導体集積回路及びメモリ回路 図000019
  • 特開2020198142-半導体集積回路及びメモリ回路 図000020
  • 特開2020198142-半導体集積回路及びメモリ回路 図000021
  • 特開2020198142-半導体集積回路及びメモリ回路 図000022
  • 特開2020198142-半導体集積回路及びメモリ回路 図000023
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2020-198142(P2020-198142A)
(43)【公開日】2020年12月10日
(54)【発明の名称】半導体集積回路及びメモリ回路
(51)【国際特許分類】
   G11C 29/00 20060101AFI20201113BHJP
   G11C 29/26 20060101ALI20201113BHJP
【FI】
   G11C29/00 470
   G11C29/26 100
【審査請求】未請求
【請求項の数】7
【出願形態】OL
【全頁数】21
(21)【出願番号】特願2019-104695(P2019-104695)
(22)【出願日】2019年6月4日
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】北野 修司
(72)【発明者】
【氏名】村谷 恵介
【テーマコード(参考)】
5L206
【Fターム(参考)】
5L206AA02
5L206CC14
5L206CC17
5L206CC26
5L206CC41
5L206DD03
5L206EE02
5L206FF08
(57)【要約】
【課題】パワーゲーティングを適用するSRAMマクロにおいて、効率的に不良を救済することができる半導体集積回路を提供する。
【解決手段】半導体集積回路は、メモリセルアレイと、メモリセルアレイからの読み出しデータを、メモリセルアレイのビット毎に、比較対象データと比較することにより不良検出する不良検出回路と、不良検出回路により検出された不良の有無を示す不良検出結果をビット毎に格納する結果保持回路と、結果保持回路の格納する不良検出結果に基づき冗長シフト動作を行う冗長シフト回路と、メモリセルアレイに供給する第1の電源と結果保持回路に供給する第2の電源とが独立であり、第2の電源を供給している状態において第1の電源を遮断する電源制御回路を含むことを特徴とする。
【選択図】図2
【特許請求の範囲】
【請求項1】
メモリセルアレイと、
前記メモリセルアレイからの読み出しデータを、前記メモリセルアレイのビット毎に、比較対象データと比較することにより不良検出する不良検出回路と、
前記不良検出回路により検出された不良の有無を示す不良検出結果を前記ビット毎に格納する結果保持回路と、
前記結果保持回路の格納する前記不良検出結果に基づき冗長シフト動作を行う冗長シフト回路と、
前記メモリセルアレイに供給する第1の電源と前記結果保持回路に供給する第2の電源とが独立であり、前記第2の電源を供給している状態において前記第1の電源を遮断する電源制御回路
を含むことを特徴とする半導体集積回路。
【請求項2】
前記冗長シフト回路は前記第1の電源を供給される請求項1記載の半導体集積回路。
【請求項3】
前記冗長シフト回路は前記第2の電源を供給される請求項1記載の半導体集積回路。
【請求項4】
前記半導体集積回路の起動時において前記不良検出回路に不良検出動作を実行させる試験制御回路を更に含む請求項1乃至3いずれか一項記載の半導体集積回路。
【請求項5】
前記不良検出回路は、前記メモリセルアレイからデータが読み出されるタイミングに対して、不良の有無を検出する相対的なタイミングを調整可能である請求項1乃至4いずれか一項記載の半導体集積回路。
【請求項6】
スキャンチェーンを介して冗長データを前記結果保持回路に格納可能である請求項1乃至5いずれか一項記載の半導体集積回路。
【請求項7】
メモリセルアレイと、
前記メモリセルアレイからの読み出しデータを、前記メモリセルアレイのビット毎に、比較対象データと比較することにより不良検出する不良検出回路と、
前記不良検出回路により検出された不良の有無を示す不良検出結果を前記ビット毎に格納する結果保持回路と、
前記結果保持回路の格納する前記不良検出結果に基づき冗長シフト動作を行う冗長シフト回路と、
を含むことを特徴とするメモリ回路。
【発明の詳細な説明】
【技術分野】
【0001】
本願開示は、半導体集積回路及びメモリ回路に関する。
【背景技術】
【0002】
マイクロプロセッサなどのシステムLSIの電力を削減するための対策の一つとして、ある時間に動作していない部分の電源をオフにすることで、余分な動作電力と待機電力を削減するパワーゲーティング方式がある。パワーゲーティング方式では、LSIの動作中に回路ブロックが使用されない期間をオペレーティングシステムが検出し、当該回路ブロックの電源を一時的にオフにし、使用する前に電源を再投入して回路ブロックを復帰させる。
【0003】
一方、SRAMメモリセルは、低い動作電圧になると記憶保持の不良や読み出し速度の不足などの故障を起こす可能性がある。このため、SRAMマクロ部分(メモリ回路部分)については、他のロジック回路部分とは異なる電源を接続することにより、高い動作電圧を確保する場合がある。しかしながら高い電圧を印加すると、消費電力が増大するという問題がある。また高い電圧を印加すると、時間経過と共にBias Temperature InstabilityやHot Carrier Injectionなどの経年劣化が早く進行して閾値電圧が増加し、速度低下に起因する故障が発生し得るという問題がある。これらの電力消費の増大及び劣化進行速度の増大の問題への対策として、パワーゲーティングを適用することが考えられる。
【0004】
しかしながら、SRAMマクロにパワーゲーティングをそのまま適用することには問題がある。従来のSRAMマクロは、ウェハ試験の段階で初期不良によるビット故障を検査し、故障したビットに対応した冗長情報を、出荷前に、SRAMマクロ外部の不揮発性記憶素子(LSI内蔵の電子ヒューズ等)へ書き込んでおく。LSI使用時には、システムの電源が投入されたときに、電子ヒューズから冗長情報を読み出し、SRAMマクロの冗長シフト回路により、冗長情報に対応するビットのシフトを行い故障ビットを救済する。しかしながら、この冗長シフト回路のシフト状態は、SRAMマクロに対してパワーゲーティングを適用した場合、電源遮断により失われてしまう。従って、電源が復帰するたびに、冗長情報をSRAMマクロの外から読み込む必要が生じ、冗長シフトを完了するまでの時間遅れが生じることになる。複数のSRAMマクロが内蔵されている場合には、全てのSRAMマクロの冗長情報の読み込みとシフトが完了するまで、システムはそのメモリブロックを使用できない状態となる。
【0005】
従って、パワーゲーティングを適用するSRAMマクロにおいて、効率的に不良を救済することが好ましい。
【0006】
また従来のSRAMマクロから電子ヒューズへの冗長情報の書き出しは、出荷前にのみ実施しており、冗長シフト処理により救済される不良は初期故障のみである。経年劣化等により出荷後に不良が発生した場合には、誤り訂正符号による誤り検出及び訂正により対応し、訂正しきれない場合には故障LSIとなる。前述のようにSRAMマクロに対して他のロジック回路よりも高い電圧を印加した場合、劣化進行速度が増大することにより、劣化故障の可能性が高くなる。従って、出荷後の経年劣化により発生する不良を効率的に救済するための適切な対策が必要となる。
【0007】
従って、パワーゲーティングを適用するSRAMマクロにおいて、劣化不良も含めた不良に対して効率的に不良を救済することが好ましい。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2003−109395号公報
【特許文献2】特開2006−120241号公報
【特許文献3】特開2006−155682号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
以上を鑑みると、パワーゲーティングを適用するSRAMマクロにおいて、効率的に不良を救済することができる半導体集積回路が望まれる。
【課題を解決するための手段】
【0010】
半導体集積回路は、メモリセルアレイと、前記メモリセルアレイからの読み出しデータを、前記メモリセルアレイのビット毎に、比較対象データと比較することにより不良検出する不良検出回路と、前記不良検出回路により検出された不良の有無を示す不良検出結果を前記ビット毎に格納する結果保持回路と、前記結果保持回路の格納する前記不良検出結果に基づき冗長シフト動作を行う冗長シフト回路と、前記メモリセルアレイに供給する第1の電源と前記結果保持回路に供給する第2の電源とが独立であり、前記第2の電源を供給している状態において前記第1の電源を遮断する電源制御回路を含むことを特徴とする。
【発明の効果】
【0011】
少なくとも1つの実施例によれば、パワーゲーティングを適用するSRAMマクロにおいて、効率的に不良を救済することができる半導体集積回路が提供される。
【図面の簡単な説明】
【0012】
図1】マイクロプロセッサの構成の一例を示す図である。
図2】SRAMマクロの構成の一例を示す図である。
図3】SRAMマクロの構成の一部を拡大して示す図である。
図4】不良検出部及び結果保持部の回路構成の一例を示す図である。
図5】冗長シフト回路の構成の一例を示す図である。
図6】冗長シフト回路の動作の一例を示す表である。
図7】冗長シフト回路の動作の一例を示す表である。
図8】SRAMマクロの構成の別の一例を示す図である。
図9】出荷前に実行するウェハ試験の一例を示すフローチャートである。
図10】システム起動時におけるSRAMマクロ試験及びシステム動作中におけるパワーゲーティング処理の一例を示すフローチャートである。
図11】複数のSRAMマクロに対する同時試験の様子を示す図である。
図12図4に示す回路による不良検出動作を示すタイミングチャートである。
図13図4に示す回路によるタイミング試験時の動作を示すタイミングチャートである。
図14】不良検出回路及び結果保持回路の構成の別の一例を示す図である。
図15図14に示す共通制御部、比較判定部、及び結果保持部の回路構成の一例を示す図である。
図16図15に示す回路による不良検出動作を示すタイミングチャートである。
図17図15に示す回路によるタイミング試験時の動作を示すタイミングチャートである。
図18】パワーゲーティングによる電源遮断からのSRAMマクロの復帰時間を示す図である。
図19】電子ヒューズを用いる場合の構成の一例を示す図である。
図20】電子ヒューズを用いる場合において図4に示す回路に関する信号設定を示す表である。
図21】電子ヒューズを用いる場合において図15に示す回路に関する信号設定を示す表である。
【発明を実施するための形態】
【0013】
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
【0014】
図1は、本願開示のSRAMマクロを用いた半導体集積回路の一例としてマイクロプロセッサの構成の一例を示す図である。図1及び以降の同様の図において、各ボックスで示される各回路又は機能ブロックと他の回路又は機能ブロックとの境界は、基本的には機能的な境界を示すものであり、物理的な位置の分離、電気的な信号の分離、制御論理的な分離等に対応するとは限らない。各回路又は機能ブロックは、他のブロックと物理的にある程度分離された1つのハードウェアモジュールであってもよいし、或いは他のブロックと物理的に一体となったハードウェアモジュール中の1つの機能を示したものであってもよい。
【0015】
図1に示すマイクロプロセッサ10は、複数のプロセッサコア回路11、複数のキャッシュメモリ12、試験制御回路13、パワーゲーティング制御回路14、及び入出力回路(I/O)15を含む。各プロセッサコア回路11は、1次キャッシュメモリ(L1)16を含む。キャッシュメモリ12は、2次キャッシュメモリ(L2)17及びキャッシュ最下位層に相当するラストレベルキャッシュメモリ(LL)18を含む。1次キャッシュメモリ16、2次キャッシュメモリ17、及びラストレベルキャッシュメモリ18に対して、本願開示のSRAMマクロを適用することができる。
【0016】
パワーゲーティング制御回路14は、プロセッサコア回路11を対象とする複数の電源領域と、キャッシュメモリ12を対象とする複数の電源領域に対して、電源の供給及び遮断を独立に制御可能である。パワーゲーティング制御回路14は、例えば、全プロセッサコア回路11のうちの一部である1つ又は複数のプロセッサコア回路11に対して電源を供給し、その他のプロセッサコア回路11に対して電源を遮断することが可能である。またパワーゲーティング制御回路14は、全キャッシュメモリ12のうちの一部である1つ又は複数のキャッシュメモリ12に対して電源を供給し、その他のキャッシュメモリ12に対して電源を遮断することが可能である。これらの電源供給及び遮断に関する制御動作は、対象回路と電源配線との間に挿入されたパワーゲート(トランジスタ素子)をオン又はオフすることにより実行される。
【0017】
試験制御回路13は、後述する試験動作を各キャッシュメモリに実行させる。試験制御回路13は、システム起動時(即ちマイクロプロセッサ10を含むシステムが起動された時)に各キャッシュメモリに試験動作を実行させることにより、SRAMマクロの不良を検出することができる。また試験制御回路13は、出荷前に各キャッシュメモリにタイミング試験を実行させる。このタイミング試験の結果は、マイクロプロセッサ10の動作速度に応じたランク分け等のために用いることができる。
【0018】
図2は、SRAMマクロの構成の一例を示す図である。図2に示すSRAMマクロ20は、メモリセルアレイ21、冗長セル領域21A、センスアンプ(S/A)22、不良検出回路23、結果保持回路24、冗長シフト回路25、及び入出力回路(IO)26を含む。
【0019】
メモリセルアレイ21は、縦横にマトリクス状に配置されたメモリセルと、複数のワード線と、複数のビット線を含む。データの読み書き動作においては、試験制御回路13から供給されるアドレス信号ADDにより一本のワード線が特定される。特定されたワード線が選択的に活性化されると、読み出し動作の場合には、当該ワード線に接続される複数のメモリセルのデータが、それぞれ対応するビット線対に読み出される。また書き込み動作の場合には、複数のビット線対を介して供給されるデータが、選択活性化されたワード線に接続されるそれぞれ対応する複数のメモリセルに格納される。センスアンプ22は、メモリセルアレイ21から読み出されたデータを増幅する。
【0020】
冗長セル領域21Aには、メモリセルアレイ21と同様に冗長用のメモリセルが縦横にマトリクス状に配置されており、メモリセルアレイ21と共通のワード線に接続されている。選択活性化されたワード線に接続される複数の冗長メモリセルのデータが、それぞれ対応するビット線対に読み出される。また複数のビット線対を介して供給されるデータが、選択活性化されたワード線に接続されるそれぞれ対応する複数の冗長メモリセルに格納される。
【0021】
不良検出回路23は、メモリセルアレイ21からの読み出しデータを、メモリセルアレイ21のビット毎に、比較対象データと比較することにより不良検出する。比較対象データは、試験制御回路13から供給される書き込みデータWdである。試験の種類には、“0”書き込み&“0”読み出し試験と、“1”書き込み&“1”読み出し試験とがある。“0”書き込み&“0”読み出し試験の場合には、試験制御回路13がメモリセルアレイ21の各メモリセルに“0”を書き込み、その後各メモリセルから格納データを読み出す。このとき試験制御回路13は、“0”である書き込みデータWdを不良検出回路23に供給する。不良検出回路23では、メモリセルアレイ21からの読み出しデータを、メモリセルアレイ21のビット毎に、書き込みデータWdと比較することにより不良検出する。“1”書き込み&“1”読み出し試験の場合には、書き込みデータが“0”ではなく“1”となることが、“0”書き込み&“0”読み出し試験と異なるのみである。
【0022】
結果保持回路24は、不良検出回路23により検出された不良の有無を示す不良検出結果をビット毎に格納する。結果保持回路24は、例えばビット毎に設けられたラッチ回路に不良検出結果を格納してよい。
【0023】
冗長シフト回路25は、結果保持回路24の格納する不良検出結果に基づき冗長シフト動作を行う。この冗長シフト動作に応じて、メモリセルアレイ21及び冗長セル領域21Aの複数のビットと、複数の入出力ビットとが一対一に対応付けられる。例えば、メモリセルアレイ21にn本のビット線対が設けられているとする。これらn本のビット線対に対応するn個のビットb1乃至bnのうちいずれのビットにも不良が存在しない場合、これらn個のビットb1乃至bnが、入出力回路26を介して入出力されるn個の入出力ビットio1乃至ionに対して一対一に割り当てられる。一方、例えばk番目のビットに不良が存在する場合、ビットb1乃至bk−1及びbk+1乃至bn+1が入出力ビットio1乃至ionに対して一対一に割り当てられる。ここでビットbn+1は冗長セル領域21Aに属する一対のビット線に対応する。冗長セル領域21Aにm個のビット線対(即ち各ワードアドレスに対してmビット)が設けられている場合、冗長処理により、メモリセルアレイ21におけるmビットの故障まで救済することができる。
【0024】
メモリセルアレイ21、センスアンプ22、及び入出力回路26に供給する第1の電源Aと、結果保持回路24に供給する第2の電源Bとは独立である。図2に示す例においては、冗長シフト回路25には第1の電源Aが印加されている。
【0025】
図1に示すパワーゲーティング制御回路14は、第2の電源Bを供給している状態において第1の電源Aを遮断することにより、パワーゲーティングを実行することができる。SRAMマクロ20に対してパワーゲーティングにより第1の電源Aを遮断する場合であっても、第2の電源Bを電源供給し続けることで、シフト処理を行うための冗長情報(不良ビット位置を示す情報)は失われない。従って、電源遮断状態からの復帰時に、外部の電子ヒューズ等から冗長情報を読み出してSRAMマクロ20に供給する必要はなく、迅速に冗長シフト回路25にシフト動作を実行させることができる。即ち、パワーゲーティングにより電力消費を最大限に削減しながらも、結果保持回路24の電源は遮断することなく、迅速な電源遮断状態からの復帰が可能になる。この効果を得るためには、結果保持回路24の冗長情報を保持できるような電源供給構成となっていればよい。
【0026】
図3は、SRAMマクロ20の構成の一部を拡大して示す図である。メモリセルアレイ21には複数のワード線のうちの一本のワード線WLが示されている。また複数のビット線対のうち、1番目のビット線対BL1とn番目のビット線対BLnとが示されている。センスアンプ22は、ビット線対毎に設けられたセンスアンプ回路SAにより、対をなす2本のビット線間の電圧差を増幅するように動作する。センスアンプ回路SAによる増幅後のビット値(対をなす2本のビット線のうち所定の一本のビット線に現れる論理値)が不良検出回路23に供給される。
【0027】
図3において、不良検出回路23及び結果保持回路24は、ビット毎に設けられた不良検出部31及び結果保持部32を含む。不良検出部31は、センスアンプ回路SAからの読み出しビット値を、比較対象データ(書き込みデータWd)と比較することにより不良検出する。結果保持部32は、不良検出部31により検出された不良の有無を示す1ビットの不良検出結果を格納する。結果保持部32は、1ビットの値を格納するラッチを含んでよい。結果保持部32が格納する1ビットの不良検出結果は、冗長シフト回路25に試験結果端子FDを介して供給される。
【0028】
図3に示す例においては、ワード線WLとビット線対BLnとの交点位置に設けられたメモリセルに欠陥が存在する。この場合、冗長シフト回路25は、信号接続経路25−1乃至25−n+2のうちで信号接続経路25−n乃至25−n+2の接続先をずらすことにより、ビット線対BLnのビット位置を避けるようにシフト動作を実行する。
【0029】
図4は、不良検出部31及び結果保持部32の回路構成の一例を示す図である。図4に示す回路は、NAND回路41及び42、NOR回路43、転送ゲート44乃至46、及びインバータ47乃至53を含む。メモリセルアレイ21又は冗長セル領域21Aから読み出されたデータQが図4に示される回路に入力される。
【0030】
不良検出動作時において、制御信号TWは“0”に設定されると共に、制御信号WS及びJdは“1”に設定される。このときインバータ52及び53は、互いに他方の出力を自らの入力とすることによりラッチを形成する。例えば制御信号WSを最初に“0”に設定しておき、その後“1”に設定することにより、試験結果端子FDの値が“1”となるように、ラッチの初期状態を設定してよい。この初期状態において、転送ゲート46は導通状態となっている。
【0031】
上記のラッチ及び転送ゲート46が、結果保持部32に相当し、検出結果を保持する機能を提供する。また以下に説明するように、転送ゲート44及び45並びにインバータ49が、不良検出部31に相当し、不良を検出する機能を提供する。
【0032】
書き込みデータWdが“0”のとき転送ゲート44が導通状態となり転送ゲート45が遮断状態となる。読み出しデータQが正しい値“0”のとき、この値“0”が転送ゲート46を介して上述のラッチ(インバータ52及び53により形成されるラッチ)に格納され、試験結果端子FDの出力は“1”となる。読み出しデータQが誤った値“1”のとき、この値“1”が転送ゲート46を介してラッチに格納され、試験結果端子FDの出力は“0”となる。
【0033】
書き込みデータWdが“1”のとき転送ゲート44が遮断状態となり転送ゲート45が導通状態となる。読み出しデータQが正しい値“1”のとき、この値“1”の反転値“0”が転送ゲート46を介してラッチに格納され、試験結果端子FDの出力は“1”となる。読み出しデータQが誤った値“0”のとき、この値“0”の反転値“1”が転送ゲート46を介してラッチに格納され、試験結果端子FDの出力は“0”となる。
【0034】
以上のようにして、読み出しデータQが正しい値である場合には試験結果端子FDの出力は“1”となり、読み出しデータQが誤った値である場合には試験結果端子FDの出力は“0”となる。誤った読み出しデータQが検出されると、転送ゲート46は遮断状態となり、試験結果端子FDの出力が“0”である状態にラッチが固定される。
【0035】
図2及び図3に示すメモリセルアレイ21及び冗長セル領域21Aのワード線を順次選択活性化し、図4に示す回路により読み出しデータQを書き込みデータWdと順次比較することにより、各ビット位置における不良を検出することができる。いずれかのワードアドレス(何れかのワード線)においてあるビットに不良が検出されると、当該ビット位置においては試験結果端子FDの出力は“0”に固定される。
【0036】
図5は、冗長シフト回路25の構成の一例を示す図である。図5に示す冗長シフト回路25は、AND回路61−0乃至61−n、AND回路62−0乃至62−n、OR回路63−0乃至63−n、インバータ64−0乃至64−n、及びAND回路65−1乃至65−nを含む。図5に示す冗長シフト回路25は、冗長ビットが1ビットのみであり、最大で1ビットの不良の救済が可能な回路である。
【0037】
冗長シフト回路25には、メモリセルから読み出されたn個の読み出しビットQ0乃至Qnが入力される。冗長シフト回路25には更に、n個の読み出しビットQ0乃至Qnに一対一に対応するn個の結果保持部32の試験結果端子FDから、n個の不良検出ビットJS0乃至JSnが入力される。不良検出ビットJS0乃至JSnは、不良が検出されたビット位置において“0”となり、不良が検出されていないビット位置において“1”となる。
【0038】
0〜k−1番目(k:1以上且つn以下の整数)のビット位置において不良が検出されずに、不良検出ビットJS0乃至JSk−1が“1”であるとする。この場合、AND回路65−0乃至65−k−1の出力が“1”となり、0〜k−1番目のビットにおける出力OT0乃至OTk−1はそれぞれ読み出しビットQ0乃至Qk−1に等しくなる。
【0039】
k番目(k:2以上且つn以下の整数)のビット位置において不良が検出され、不良検出ビットJSkが“0”になったとする。この場合、AND回路65−k乃至65−nの出力が“0”となり、k乃至n番目のビットにおける出力OTk乃至OTnはそれぞれ読み出しビットQk+1乃至QRに等しくなる。即ち、k乃至n番目のビットにおいては、出力ビットと読み出しビットとの関係が1ビットずれることになる。
【0040】
図6は、冗長シフト回路の動作の一例を示す表である。図6に示されるのは全ビットの試験結果が正しい場合であり、不良検出ビットJS0乃至JSnは全て“1”となっている。この場合、読み出しビットQ0乃至Qnがそのまま出力OT0乃至OTnに割り当てられる。
【0041】
図7は、冗長シフト回路の動作の別の一例を示す表である。図6に示されるのは第1番目のビットのみが不良である場合であり、不良検出ビットJS1が“0”であり、それ以外の不良検出ビットJS0及びJS2乃至JSnは全て“1”となっている。この場合、読み出しビットQ0はそのまま出力OT0に割り当てられるが、読み出しビットQ1は破棄され、読み出しビットQ2乃至QRがそれぞれ出力OT1乃至OTnに割り当てられる。
【0042】
図2に示されるSRAMマクロ20の構成の場合、冗長シフト回路25は電源Aに接続されており、パワーゲーティング時において冗長シフト回路25の電源は遮断される。パワーゲーティング時においても電源が保持される結果保持回路24に冗長情報は残されるが、冗長シフト回路25の電源が遮断されることにより、図5に示される全ての論理素子の出力はフローティング状態となる。
【0043】
その後、冗長シフト回路25の電源が回復され、冗長シフト動作を実現するための信号経路が回復される。図7に示される回路の場合、冗長シフト回路25における信号経路の回復のために特にトリガは必要ないが、何らかのトリガが必要な場合には、図2に示すように試験制御回路13から回復信号Repairを供給してトリガをかけるようにしてもよい。図7に示される冗長シフト回路25において、電源が回復されると、結果保持回路24から供給される冗長情報(不良検出ビットJS0乃至JSn)の“0/1”に応じてAND回路65−1乃至65−nの出力がロー電圧又はハイ電圧に順次確定していく。これにより、冗長シフト動作を実現する信号経路が確定される。AND回路65−1乃至65−nは縦続接続されているために、この電圧確定動作が伝搬していくためには、論理ゲートn段分の遅延時間が発生する。
【0044】
SRAMマクロのビット幅は用途により異なるが、例えば1バイトが9ビットであり、1ワードが8バイトからなるとすると、SRAMマクロの読み出しデータは72ビット幅となる。この場合、図5に示す回路のクリティカルパスは71段のANDゲートの縦続接続となる。高性能マイクロプロセッサにおいて、1サイクル内に伝搬するゲート段数は多くても10段前後であることを考えると、約70段の伝搬が完了するには5〜10サイクル程度の時間が必要になる。この長さの時間遅れがパワーゲーティングからの復帰時において必ず発生するとすると、パワーゲーティングを多用した場合にプロセッサ性能への影響が懸念される。
【0045】
図8は、SRAMマクロの構成の別の一例を示す図である。図8に示されるSRAMマクロ20では、冗長シフト回路25は、不良検出回路23及び結果保持回路24と同様に、電源Bに接続されている。従って、パワーゲーティング時においてSRAMマクロ20の他の回路に対して電源が遮断されても、冗長シフト回路25、不良検出回路23、及び結果保持回路24には電源が供給され続ける。即ち、冗長シフト回路25において冗長シフト動作を実現する信号経路の選択状態はそのまま保持されている。従って、電源遮断状態からのSRAMマクロ20の復帰時において、冗長シフト回路25は既に冗長シフト後の動作を実行可能な状態にあり、ANDゲートの多段の縦続接続を冗長情報が順次伝搬していくために必要な時間遅れが発生することはない。
【0046】
図9は、出荷前に実行するウェハ試験の一例を示すフローチャートである。図9に示すウェハ試験は、出荷前にウェハ状態のマイクロプロセッサに対して実行される。
【0047】
なお図9及び以降の図において、フローチャートに記載された各ステップの実行順序は一例にすぎず、本願の意図する技術範囲が、記載された実行順番に限定されるものではない。例えば、Aステップの次にBステップが実行されるように本願に説明されていたとしても、Aステップの次にBステップを実行することが可能なだけでなく、Bステップの次にAステップを実行することが、物理的且つ論理的に可能である場合がある。この場合、どちらの順番でステップを実行しても、当該フローチャートの処理に影響する全ての結果が同一であるならば、本願に開示の技術の目的のためには、Bステップの次にAステップが実行されてもよいことは自明である。Aステップの次にBステップが実行されるように本願に説明されていたとしても、上記のような自明な場合を本願の意図する技術範囲から除外することを意図するものではなく、そのような自明な場合は、当然に本願の意図する技術範囲内に属する。
【0048】
図9のステップS1において、マイクロプロセッサ10に試験装置を接続し、試験装置によるロジック試験を開始する。ステップS2において、試験装置から1つのSRAMマクロ20に対して“0”書き込み&“0”読み出し試験と“1”書き込み&“1”読み出し試験とを実行する。この際、不良検出回路23により不良検出を行い、メモリセルアレイ21及び冗長セル領域21Aの全てのビット位置について、結果保持回路24が不良検出結果を保持してよい。或いは、通常の書き込み及び読み出し動作を実行して、試験装置において、書き込みデータと読み出しデータとを比較してもよい。
【0049】
ステップS3で、試験装置は、書き込みデータと読み出しデータとが同一であるか否かを判断する。具体的には、結果保持回路24に不良検出結果が保持されている場合には、不良検出結果をSRAMマクロ20内のスキャンチェーンを介して外部の試験装置に読み出せばよい。或いは、通常の書き込み及び読み出し動作を実行して、試験装置により書き込みデータと読み出しデータとを比較して不良の有無を判断してもよい。
【0050】
不良が検出されない場合(ステップS3でYes)には、ステップS4で、試験装置は、試験対象のSRAMマクロ20が残っているか否かを判断する。試験すべきSRAMマクロ20が存在しない場合には、ウェハ試験を終了する。試験すべきSRAMマクロ20が存在する場合には、ステップS2に戻り、次の一つのSRAMマクロ20に対してステップS2及び以降のステップの処理を実行する。
【0051】
不良が検出された場合(ステップS3でNo)には、ステップS5で、不良ビット数が冗長可能な範囲内であるか否かを判断する。冗長可能である場合(ステップS5でYes)、処理はステップS4に進む。冗長可能でない場合(ステップS5でNo)、処理はステップS6に進み、当該マイクロプロセッサ10が初期故障チップであると判断する。初期故障チップと判断された製品は出荷されることはない。
【0052】
なお本実施形態のマイクロプロセッサ10においては、システム起動時にSRAMマクロ20の各ビット位置に対して不良検出試験を実行して冗長情報を得るので、従来のように出荷前の段階において冗長情報を電子ヒューズ等に格納しておく必要はない。
【0053】
図10は、システム起動時におけるSRAMマクロ試験及びシステム動作中におけるパワーゲーティング処理の一例を示すフローチャートである。
【0054】
ステップS11において、マイクロプロセッサ10を含むシステムに電源が投入され、システム起動される。ステップS12において、マイクロプロセッサ10の試験制御回路13が、全てのSRAMマクロ20に対して、例えば“1”書き込み&“1”読み出し試験を最初に実行する。この際、一つ一つのSRAMマクロ20に対して順次試験を実行するのではないく、全てのSRAMマクロ20に対して同時に試験を実行する。ステップS13において、各SRAMマクロ20の不良検出回路23により、書き込みデータと読み出しデータとをビット位置毎に比較して不良検出を行う。この時に検出される不良は、製品出荷時から存在する初期不良と、その後の経年劣化などにより発生した劣化不良とが含まれる。
【0055】
図11は、複数のSRAMマクロに対する同時試験の様子を示す図である。複数個のSRAMマクロ20に対して同時にアドレス信号ADD、制御信号CTL、及び書き込みデータ(Write data)を供給することで、全てのSRAMマクロ20に対して同時に書き込み&読み出し試験を実行することができる。なおアドレス信号ADD、制御信号CTL、及び書き込みデータは、図2に示されるように試験制御回路13から供給してよい。
【0056】
図12は、図4に示す回路による不良検出動作を示すタイミングチャートである。システム起動時の不良検出試験においては、制御信号TWは“0”に設定されると共に、制御信号WS及びJdは“1”に設定される。制御信号WSを最初に“0”に設定しておき、その後“1”に設定することにより、試験結果端子FDの値が“1”となるように、ラッチ(図4参照)の初期状態を設定することができる。
【0057】
図12には書き込みデータWdが“1”の場合の動作が示される。クロックタイミング#n−2及び#n−1に示されるように、クロック信号Clockに同期して読み出される読み出しデータQが正しい値“1”のとき、この値“1”の反転値“0”がラッチに格納され、試験結果端子FDの出力は“1”の値をそのまま保持する。クロックタイミング#nに示されるように、読み出しデータQが誤った値“0”のとき、この値“0”の反転値“1”がラッチに格納され、試験結果端子FDの出力は“0”となる。その後読み出しデータQが正しい値となっても、試験結果端子FDの出力が“0”である状態がそのまま保持される。
【0058】
図10に戻り、書き込みデータと読み出しデータとが一致しない場合(ステップS13でNo)、処理はステップS14に進み、結果保持回路24に不良検出を示す結果が格納される。なお実際には、図4に示す回路の場合、結果保持回路24に不良検出無しを示す結果又は不良検出有りを示す結果がビット位置毎に格納されることになる。即ちステップS13の判定結果Yes又はNoに応じた判定値が、結果保持回路24にビット位置毎に格納される。
【0059】
ステップS15で、書き込み及び読み出し試験(“1”に対する試験及び“0”に対する試験)が全て終了したかを判定する。書き込み及び読み出し試験が全て終了していない場合、処理はステップS12に戻り、以降のステップの処理を繰り返すことにより、残りの試験、例えば“0”書き込み&“0”読み出し試験を実行する。
【0060】
全ての書き込み及び読み出し試験が終了すると、処理はステップS16に進み、冗長シフト回路25が冗長シフト処理を実行する。ステップS17において、マイクロプロセッサ10の試験制御回路13が、全てのSRAMマクロ20に対して書き込み&読み出し試験を再度実行する。ステップS18で、各SRAMマクロ20の不良検出回路23により、書き込みデータと読み出しデータとをビット位置毎に比較して不良検出を行う。不良が検出された場合には、冗長処理により不良ビットを救済しきれていないことを意味するので、ステップS19において、当該マイクロプロセッサ10が劣化故障チップであると判断する。この場合、マイクロプロセッサ10のチップの交換が必要となる。
【0061】
不良が検出されなかった場合(ステップS18でYes)、処理はステップS20に進む。ステップS20において、マイクロプロセッサ10が、オペレーションシステムを実行すると共に、アプリケーションを適宜実行する。即ち、システムの動作が実行される。
【0062】
以上のように、システムの電源投入後に各SRAMマクロ20において不良検出試験を実行することで、初期不良だけでなく劣化不良を救済することができる。この際、全SRAMマクロ20において試験を並列且つ同時に実行することで、短時間にシステムを起動することが可能となる。
【0063】
ステップS21において、オペレーションシステムは、所定期間以上使用されない回路ブロックを検出することにより、SRAMマクロ20に対して電源を一時的に遮断するパワーゲーティングを実行するか否かを判断する。パワーゲーティングを実行する場合、ステップS22において、オペレーションシステムの制御の下で、パワーゲーティング制御回路14(図1参照)が、パワーゲーティング対象であるSRAMマクロ20の電源を遮断する。この際、前述のように、図2の回路(タイプ1とする)の場合には、不良検出回路23及び結果保持回路24に電源が供給され続ける。また図8の回路(タイプ2とする)の場合には、不良検出回路23、結果保持回路24、及び冗長シフト回路25に電源が供給され続ける。
【0064】
ステップS23で、オペレーションシステム等が、電源遮断されているSRAMマクロ20の電源を復帰するか否かを判断する。復帰すると判断した場合、処理はステップS24に進み、オペレーションシステムが、冗長シフト回路25が専用電源部に属する否か、即ち冗長シフト回路25の電源が維持されているか否かを判断する。冗長シフト回路25が専用電源部に属する場合(即ちSRAMマクロ20がタイプ2の場合)、電源復帰した当該SRAMマクロ20は、オペレーションシステムの制御下で直ちにシステム動作に組み込まれる(ステップS20)。
【0065】
冗長シフト回路25が専用電源部に属しない場合(即ちSRAMマクロ20がタイプ1の場合)、ステップS25で、オペレーションシステムは、電源復帰したSRAMマクロ20において、冗長シフト回路25における冗長シフト動作を完了させる。例えば、所定のクロックサイクル数の時間待つことにより、冗長シフト回路25において冗長シフト動作を完了させる。その後、電源復帰したSRAMマクロ20はシステム動作に組み込まれる(ステップS20)。この際、必要に応じて、試験制御回路13が回復信号Repairを各SRAMマクロ20の冗長シフト回路25に供給してよい。
【0066】
ステップS26でオペレーションシステムの稼働を終了するか否かを判定する。終了しない場合には(ステップS26でNo)、処理はステップS20に戻る。終了する場合には(ステップS26でYes)、ステップS27においてシャットダウン処理を実行する。これによりシステム動作が終了する。
【0067】
図13は、図4に示す回路によるタイミング試験時の動作を示すタイミングチャートである。
【0068】
出荷前にウェハ状態で実行する試験においては、タイミング試験用の矩形波としてタイミングウィンドウ信号TWをSRAMマクロ20に印加することで、ビット毎にタイミング故障を検出することができる。図13に示されるように、初期設定時において制御信号WSの“0”入力により、試験結果端子FDが“1”に設定される。その後、制御信号WSを“1”に設定してから、クロック信号ClockがSRAMマクロ20に印加されて、タイミング試験が開始される。
【0069】
タイミング試験においては、タイミングウィンドウ信号TWが“0”の期間中、図4に示す回路の転送ゲート46が導通状態となり、書き込みデータWdと読み出しデータQとの比較結果が前述のラッチに格納される。タイミングウィンドウ信号TWが“0”になるタイミングにおいて既に読み出し完了している場合、書き込みデータWdと読み出しデータQとが一致し、試験結果端子FDの値は“1”となる。タイミングウィンドウ信号TWが“0”になるタイミングにおいて未だ読み出し完了していない場合、書き込みデータWdと読み出しデータQとが不一致となり、試験結果端子FDの値は“0”となる。この際、例えば、“0”読み出しと“1”読み出しとを交互に行うようにしてもよい。試験結果端子FDの値が“0”となり不良(タイミング不足)が検出されると、上記の転送ゲート46が非導通状態となり、不良検出を示す状態がその後は維持される。
【0070】
上記説明から分かるように、図2に示すSRAMマクロ20において、不良検出回路23は、メモリセルアレイからデータが読み出されるタイミングに対して、不良の有無を検出する相対的なタイミングを調整可能である。即ち、図4に示す回路においてタイミングウィンドウ信号TWにより転送ゲート46の開閉タイミングを制御することにより、不良の有無を検出する相対的なタイミングを調整可能である。このようにタイミング試験を行う場合において、タイミングウィンドウ信号TWの立ち下がりエッジのタイミングを変化させることにより、SRAMマクロ20に印加するクロック信号Clockの周波数とは独立に、タイミング試験が可能となる。
【0071】
従来の構成のように複数のSRAMマクロに対して一つの判定器を用いる場合、各SRAMマクロから判定器までの距離にばらつきがあり、高速かつ低電圧の組み合わせで試験するときに、長い距離の転送パスでエラーが発生してしまうことがある。即ち、距離の長い転送パスにおける遅延が試験周期より大きいと、SRAMマクロが正常に動作していても判定が間に合わず、偽のエラーが発生してしまう。出荷時における製品ランク付け等のことを考慮すると、低電圧かつ高速である試験条件において偽のエラーが発生することは問題である。このような偽のエラーを回避するためには、SRAMマクロ20から読み出しデータを転送する転送パスについて、低電圧かつ高速の試験条件下でタイミングに問題がないように設計する必要があり、設計の手間及びコストが増大してしまう。
【0072】
上述のSRAMマクロ20においては、SRAMマクロの動作速度を試験する電圧−速度シュムー測定時において、各SRAMマクロ20に設けられた不良検出回路23を用いてタイミング試験を実行できる。従って、転送パスでの遅延による偽エラーが発生することが無く、適切なタイミング試験結果を保証することができる。
【0073】
図14は、不良検出回路及び結果保持回路の構成の別の一例を示す図である。図14に示される回路構成では、不良検出回路23及び結果保持回路24に相当する回路部分が、各ビットに対して設けられる複数個のビット毎動作回路71と各ビット共通に設けられる共通制御部72とを含む。ビット毎動作回路71は、ビット毎に比較判定部73と結果保持部74とを含む。ビット毎動作回路71は、メモリセルアレイ21及び冗長セル領域21Aから読み出しデータQを受け取ると共に、試験制御回路13からの制御信号(タイミングウィンドウ信号)Twと別途供給される制御信号Jdとを受け取る。共通制御部72は、試験制御回路13から書き込みデータWd及び制御信号Wsを受け取る。
【0074】
図15は、図14に示す共通制御部、比較判定部、及び結果保持部の回路構成の一例を示す図である。共通制御部72は、PMOSトランジスタ81及び82、NMOSトランジスタ83及び84、及びインバータ85を含む。ビット毎動作回路71は、NAND回路91、XOR回路92、NOR回路93及び94、AND回路95、転送ゲート96、及びインバータ97乃至99を含む。ビット毎動作回路71において、XOR回路92が比較判定部73に該当し、インバータ98及び99が構成するラッチが結果保持部74に該当する。
【0075】
初期設定動作において、共通制御部72のインバータ85を介して、書込みデータWdの反転値がXOR回路92の一方の入力に印加される。書込みデータWdが結果保持部(ラッチ)74の内部ノードkに初期設定され、書込みデータWdの反転値がXOR回路92の他方の入力に印加される。この状態において、XOR回路92の2入力は互いに等しく、XOR回路92の出力は“0”となっている。
【0076】
図16は、図15に示す回路による不良検出動作を示すタイミングチャートである。上述した初期設定の後、SRAMマクロ20のアドレス#nからの読み出しデータQが不良ビットである場合、転送ゲート96を通過したこの読み出しデータQによりノードkが反転され、XOR回路92の出力が“1”となることにより、試験結果端子FDの値が“0”となる。このときに、転送ゲート96が閉じることで、アドレス#n+1以降において読み出しデータQの値が正常に戻っても、試験結果端子FDは不良ビットであることを示し続ける。
【0077】
図17は、図15に示す回路によるタイミング試験時の動作を示すタイミングチャートである。出荷前にウェハ状態で実行するタイミング試験においては、所望のタイミングで“0”となる負の矩形パルスであるタイミングウィンドウ信号TWを印加する。
【0078】
タイミングウィンドウ信号TWのパルスの立ち下がりエッジをクロック信号Clockの立ち下がりエッジに合わせておき、メモリセルアレイからの読み出しデータQが、タイミングウィンドウ信号TWの示すタイミングウィンドウ内で遷移すると、試験結果端子FDは“1”に設定される。読み出しデータQのタイミングが遅れた場合には、試験結果端子FDの値は変化しない。タイミングウィンドウ信号TWの立ち上がりエッジのタイミングを変化させることにより、SRAMマクロ20に印加するクロック信号Clockの速度とは独立に、タイミング試験が可能となる。
【0079】
図18は、パワーゲーティングによる電源遮断からのSRAMマクロの復帰時間を示す図である。図18において、横軸が時間であり、縦軸はSRAMマクロに印加される電源電圧である。時間t1においてパワーゲーティングが開始され電源が遮断され、時間t2において電源が復帰する。上段がSRAMマクロ20の動作を示し、下段が従来のSRAMマクロの動作を示す。
【0080】
上述のSRAMマクロ20の場合、期間T1においてSRAMマクロ20は通常動作状態にあり、その後パワーゲーティングにより、期間T2においてSRAMマクロ20は電源遮断状態となる。但し結果保持回路24への電源は保持される。その後パワーゲーティングが終了してSRAMマクロ20の電源が復帰され、冗長シフト回路25において冗長シフト動作を実現するための信号経路が、結果保持回路24に保持されていた冗長データを基にして期間T3において確定される(復元される)。期間T4においては、必要な記憶データがSRAMマクロ20にロードされる。例えばSRAMマクロ20がキャッシュである場合、下位階層のメモリ又はキャッシュ領域からのデータがロードされてよい。その後、期間T5においてSRAMマクロ20は通常動作状態にある。
【0081】
一方従来のSRAMマクロの場合、期間Ta1においてSRAMマクロは通常動作状態にあり、その後パワーゲーティングにより、期間Ta2においてSRAMマクロ20は電源遮断状態となる。その後パワーゲーティングが終了してSRAMマクロの電源が復帰され、期間Ta3において電子ヒューズからSRAMマクロに冗長データが転送される。その後、冗長シフト回路において冗長シフト動作を実現するための信号経路が、冗長データを基にして期間Ta4において確定される(復元される)。期間Ta5においては、必要な記憶データがSRAMマクロ20にロードされる。その後、期間Ta6においてSRAMマクロ20は通常動作状態にある。
【0082】
本願のSRAMマクロ20の動作と従来のSRAMマクロの動作とを比較すると、SRAMマクロ20が通常動作状態に復帰するタイミングは時間t3であり、従来のSRAMマクロが通常動作状態に復帰するタイミングは時間t4である。時間t3と時間t4との差が、本願のSRAMマクロ20の動作復帰と従来のSRAMマクロの動作復帰との時間差となる。
【0083】
この時間差についてより具体的に検討すると以下のようになる。パワーゲーティング対象のSRAMマクロが、4MBの記憶容量のキャッシュメモリであると仮定する。SRAMマクロのアドレスを4kワード、1バイトのビット幅を9ビット(ECC含む)として、4kワード×72ビットのSRAMマクロを用いると、4MBの記憶容量を実現するためには128個のSRAMマクロが必要となる。
【0084】
従来技術のSRAMマクロに対して、ビット列毎に対応した冗長情報をスキャン動作により電子ヒューズから読み出すと、128×72ビット=9,216ビットの長さのスキャンチェーンが用いられることになる。仮にスキャンクロックを100MHzとして電子ヒューズから冗長データを読み出したとき、全ビット分の冗長情報を読み出すには、92.16μsを要する。即ち、4MBのキャッシュメモリがパワーゲーティングで電源オフから復帰し、冗長情報を読み込んでシフトを行い、キャッシュメモリが使用可能になるには、約92.2μsが必要になる。そしてその後、下位メモリ階層からデータをロードするための期間(例えばシステムクロックで200サイクル程度)を経て、キャッシュメモリが効き始める。
【0085】
一方、本願のSRAMマクロ20(タイプ1)を用いると、復帰時は冗長情報がすでにビット毎の結果保持回路24に格納されているので、電子ヒューズからのスキャン読み出しは不要である。冗長シフト回路25においてシフト用の信号経路を確定させれば使用可能となり、下位メモリからのデータをロードすればキャッシュメモリが効き始める。システムクロックを2GHz(周期0.5ns)、シフトの期間をシステムクロック10クロック分(5ns)、ロード期間を200サイクル分(100ns)とすると、105ns程度の期間でキャッシュメモリが効き始める。従来の92.3μsと比較して、約900分の1に時間を短縮する効果が得られる。
【0086】
更に、システム起動時に本願のSRAMマクロ20により不良検査する場合に必要となる起動時間について検討する。
【0087】
メモリブロックを構成する同一のアドレス深さのSRAMマクロ20に対して、一斉に試験を行うとする。試験においては、“0”書き込み、“0”読み出し、“1”書き込み、“1”読み出し、冗長シフト処理、“0”書き込み、“0”読み出し、“1”書き込み、及び“1”読み出しが、この順番で順次実行されることになる。仮に4kワードとすると、4kワードを8回アクセスすることになり、合計で32k回アクセスすることになる。システム起動後における同時試験を仮に33MHzのスキャンクロックで実行したとすると、993μs(約1ms)の処理時間でシステム起動時の不良検査が完了することになる。この処理時間は体感的に問題になるオーダーではなく、システム起動時に必要となる処理時間としては問題がない程度である。
【0088】
図19は、電子ヒューズを用いる場合の構成の一例を示す図である。図19は、電子ヒューズに冗長情報を格納する従来のシステムに本願のSRAMマクロ20を用いた場合の構成の一例を示す。本願のSRAMマクロ20は、従来のSRAMマクロと同様に、スキャンチェーンを介して冗長データを結果保持回路に格納可能なように設計されており、様々な仕様のシステムに適用可能となっている。
【0089】
図19に示すシステムは、試験制御回路13、SRAMマクロ20、電子ヒューズ101、読み出し回路102、スキャンチェーン103、判定回路104、書き込み回路105を含む。図19には、システムの構成要素のうち説明に必要な部分のみを示してあり、プロセッサコア回路11やパワーゲーティング制御回路14等が更にシステムに設けられていてよい。
【0090】
出荷前に行う不良検出試験において、SRAMマクロ20に対する書き込み&読み出し試験を実行する。判定回路104は、SRAMマクロ20から読み出された読み出しデータを、試験制御回路13から供給される期待値と比較することにより、不良検出を行う。判定回路104は、テスト応答圧縮回路として機能するMISR(Multiple Input Shift Register)及び比較回路を含む。MISRにより、試験対象となる多数のビット値の系列である読み出しデータを圧縮して圧縮データ(シグネチャ)を生成する。比較回路が、圧縮データと期待値とを比較することにより、故障の有無を判定すると共に故障箇所を検出する。検出された故障に関する情報は、冗長情報として書き込み回路105により電子ヒューズ101に格納される。
【0091】
システム起動時には、電子ヒューズ101に格納されている冗長情報を読み出し回路102が読み出す。読み出された冗長情報は、システム内のD−フリップフロップを縦続接続することにより形成されたシフトレジスタであるスキャンチェーン103を介して、SRAMマクロ20に供給される。供給された冗長情報は、結果保持回路24に格納される。
【0092】
図20は、電子ヒューズを用いる場合において図4に示す回路に関する信号設定を示す表である。電子ヒューズ101から供給される冗長情報は、冗長信号Jdとして図4に示す回路に印加される。図4に示される回路において、制御信号TWが“1”に設定されることにより、転送ゲート46は非導通状態に固定される。冗長信号Jdが“1”であるビット位置においては、端子FDの値が“1”になるようにラッチの状態が設定される。冗長信号Jdが“0”であるビット位置においては、NOR回路43の出力が“0”となることにより、端子FDの値が“0”になるようにラッチの状態が設定される。
【0093】
図21は、電子ヒューズを用いる場合において図15に示す回路に関する信号設定を示す表である。電子ヒューズ101から供給される冗長情報は、冗長信号Jdとして図15に示す回路に印加される。図15に示される回路において、制御信号TWが“1”に設定されることにより、転送ゲート96は非導通状態に固定される。更に、制御信号WS、Wd、Jcをそれぞれ“0”、“0”、“0”に設定する。この状態では、冗長信号Jdが、NAND回路91、インバータ98、XOR回路92、及びNOR回路93を介して、端子FDから出力される。冗長信号Jdが“1”となるビットにおいては、端子FDの値が“1”となり、冗長信号Jdが“0”となるビットにおいては、端子FDの値が“0”となる。
【0094】
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
【符号の説明】
【0095】
10 マイクロプロセッサ
11 プロセッサコア回路
12 キャッシュメモリ
13 試験制御回路
14 パワーゲーティング制御回路
15 入出力回路(I/O)
16 1次キャッシュメモリ
17 2次キャッシュメモリ
18 ラストレベルキャッシュメモリ
21 メモリセルアレイ
21A 冗長セル領域
22 センスアンプ
23 不良検出回路
24 結果保持回路
25 冗長シフト回路
26 入出力回路
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21