(57)【要約】【課題】受信側回路の制約を満たすデータ転送を行う。【解決手段】半導体記憶装置は、メモリセルアレイ１１内に存在する不良セルを冗長セルアレイ１２内の冗長セルと置き換えるために使用される複数のリダンダンシ情報を記憶する記憶回路２１と、前記複数のリダンダンシ情報を並び替え、且つ前記メモリセルアレイ１１と前記冗長セルアレイ１２とを含む回路ブロック１００に新たなリダンダンシ情報を転送する転送制御部２３とを具備する。【選択図】      図２
2006228288.tif 000002
【特許請求の範囲】
【請求項１】
メモリセルアレイ内に存在する不良セルを冗長セルアレイ内の冗長セルと置き換えるために使用される複数のリダンダンシ情報を記憶する記憶回路と、
前記複数のリダンダンシ情報を並び替え、且つ前記メモリセルアレイと前記冗長セルアレイとを含む回路ブロックに新たなリダンダンシ情報を転送する転送制御部と
を具備することを特徴とする半導体記憶装置。
【請求項２】
前記複数のリダンダンシ情報は、複数の第１リダンダンシ情報と複数の第２リダンダンシ情報とからなり、
前記記憶回路は、前記複数の第１リダンダンシ情報を記憶する第１記憶回路と、前記複数の第２リダンダンシ情報を記憶する第２記憶回路とを含み、
前記転送制御部は、前記複数の第１リダンダンシ情報と前記複数の第２リダンダンシ情報とを合成する合成回路を含むことを特徴とする請求項１記載の半導体記憶装置。
【請求項３】
前記各リダンダンシ情報は、複数のビットを含み、
前記転送制御部は、前記複数のリダンダンシ情報を同じビットごとに並び替えることを特徴とする請求項１記載の半導体記憶装置。
【請求項４】
前記複数のリダンダンシ情報のうち少なくとも１つのリダンダンシ情報は、データ圧縮されていることを特徴とする請求項１又は３に記載の半導体記憶装置。
【請求項５】
前記転送制御部は、データ圧縮されたリダンダンシ情報を展開する展開回路を含むことを特徴とする請求項４記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置に係り、特にシリアルデータを転送する半導体集積回路に関する。
【背景技術】
【０００２】
半導体集積回路において、レーザー照射や電気的な方法によってプログラム可能なヒューズ素子などの不揮発性記憶素子にチップの初期化データを保持させ、この初期化データをフリップフロップで構成されたシフトレジスタにセットし、離れた位置にある回路ブロックに転送して利用する機能が用いられている。
【０００３】
例えば、チップ上のトランジスタのばらつきに対して微調整を行うためのデータや、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）などのメモリ回路で冗長セルアレイを用いた不良セルの救済を行うためのリダンダンシ情報などがそれにあたる。以下、リダンダンシ救済を一例として説明する。
【０００４】
通常、不良セルは、不良セルを含むメモリセルアレイ内の１行分のメモリセルの単位、あるいは１列分のメモリセルの単位で冗長セルと置き換えられる。行単位で置き換えが行われる場合、つまりローリダンダンシ（Row Redundancy）の場合には、ローアドレスがヒューズ素子にプログラムされる。列単位で置き換えが行われる場合、つまりカラムリダンダンシ（Column Redundancy）の場合には、カラムアドレスがヒューズ素子にプログラムされる。
【０００５】
なお、ＤＲＡＭの回路設計をする上で、チップの機能あるいは占有面積に関わる様々な工夫がなされている。例えばカラムのリダンダンシ方式の１つであるシフトリダンダンシ方式では、占有面積を減らすために回路レイアウト上での効率化が行われ、１つのカラムに対応するアドレスデータはシフトレジスタ内にまとまって保持されない場合がある。
【０００６】
また、機能的な簡略化のためになされる工夫として、１つのメモリセルブロックに対して設けられた２つの冗長カラムに割り当てられる不良アドレスに関して、アドレス値の大小関係によりシフトレジスタ内の位置に制限を設ける場合がある。
【０００７】
さらに、ヒューズ素子は占有面積が大きいため、リダンダンシ情報であるヒューズデータを圧縮することでヒューズ素子の数を減らす工夫がなされている。圧縮されたデータは、データ転送時に展開されてからＤＲＡＭに転送される。
【０００８】
ところで、メモリをテストする工程には種々のものがあり、各工程によって不良を起こすアドレスが異なる。このため、例えばウェハ状態でテストを行い、この結果に基づいてヒューズブローをした後で、チップをパッケージに収納し、もう一度テストした後にさらにヒューズブローを行いたい場合などがある。
【０００９】
これに対応するために、例えばウェハ状態でレーザー照射によるプログラムが可能なヒューズ素子と、チップをアセンブリした後に電気的な方法でプログラムが可能なヒューズ素子とを用いる。それぞれの工程でプログラムされたヒューズデータはデータ転送時に合成され、１つのデータとして転送される。
【００１０】
したがって、データの受信側と送信側とでいくつかの制約がある場合、合成されたリダンダンシ情報は、これらの制約を満たしていないものとなってしまう。また、圧縮データがプログラムされるヒューズ素子では、受信側の制約を満たすようにデータを配置した場合、圧縮効率が低下する。これにより、ヒューズ素子の数が増加し、ひいては送信側回路の面積が増大してしまう。
【００１１】
なお、特許文献１には、欠陥素子を冗長素子に置き換えるために使用されるアドレスヒューズの数を節約するために、冗長素子間でヒューズを共有するためのアルゴリズムが記載されている。
【００１２】
また、特許文献２には、ウェハ段階において、レーザリペアを行った後、パッケージにした半導体装置のバーンインテストの際に発生するエラーもリペアできるようにしたものが記載されている。
【特許文献１】特開平１１−８６５８８号公報
【特許文献２】特開２０００−２０７８９６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
本発明は、送信側回路でデータを加工することで、受信側回路の制約を満たすデータを転送することができる半導体記憶装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明の一視点に係る半導体記憶装置は、メモリセルアレイ内に存在する不良セルを冗長セルアレイ内の冗長セルと置き換えるために使用される複数のリダンダンシ情報を記憶する記憶回路と、前記複数のリダンダンシ情報を並び替え、且つ前記メモリセルアレイと前記冗長セルアレイとを含む回路ブロックに新たなリダンダンシ情報を転送する転送制御部とを具備する。
【発明の効果】
【００１５】
本発明によれば、送信側回路でデータを加工することで、受信側回路の制約を満たすデータを転送することができる半導体記憶装置を提供することができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施の形態について図面を参照して説明する。なお、以下の説明において、同一の機能及び構成を有する要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
【００１７】
図１は、本発明の一実施例に係る半導体集積回路の構成を示すブロック図である。この半導体集積回路は、メモリマクロ１０と、ヒューズボックス２０とを備えている。なお、メモリマクロとは、メモリとして機能するブロックを表し、メモリセルアレイ、デコーダ回路及びセンスアンプ回路等を含む。
【００１８】
メモリマクロ１０は、メモリセルアレイ１１、冗長セルアレイ１２、ロウ制御回路１３、カラム制御回路１４、ロウリダンダンシ用ラッチ回路１５、カラムリダンダンシ用ラッチ回路１６等を備えている。なお、デコーダ回路及びセンスアンプ回路は、図示を省略している。
【００１９】
メモリセルアレイ１１内には、マトリックス状に配置された複数のメモリセルが設けられている。同一行（Row）に配置された複数のメモリセルは複数のワード線のうち対応するものに共通に接続され、同一列（Column）に配置された複数のメモリセルは複数のビット線のうち対応するものに共通に接続されている。
【００２０】
冗長セルアレイ１２内には、複数のリダンダンシワード線及び複数のリダンダンシビット線が設けられている。リダンダンシワード線及びリダンダンシビット線には、メモリセルアレイ１１内に不良セルが存在する場合に、この不良セルと置き換えて使用される複数の冗長メモリセルがそれぞれ接続されている。
【００２１】
ロウ制御回路１３は、メモリセルアレイ１１内のメモリセルをアクセスする際に、外部から供給されるロウアドレス信号とロウリダンダンシ用ラッチ回路１５に記憶されているリダンダンシ用のロウアドレスを含むリダンダンシ情報とに応じて、メモリセルアレイ１１内のワード線もしくは冗長セルアレイ１２内のリダンダンシワード線を選択する。
【００２２】
カラム制御回路１４は、メモリセルアレイ１１内のメモリセルをアクセスする際に、外部から供給されるカラムアドレス信号とカラムリダンダンシ用ラッチ回路１６に記憶されているリダンダンシ用のカラムアドレスを含むリダンダンシ情報とに応じて、メモリセルアレイ１１内のビット線もしくは冗長セルアレイ１２内のリダンダンシビット線を選択する。
【００２３】
ロウリダンダンシ用ラッチ回路１５は、メモリセルアレイ１１内のメモリセルに不良セルが存在する場合に、この不良セルを含むメモリセルアレイ１１内の１行分のメモリセルを冗長セルアレイ１２内の１行分の冗長セルと置き換えを行うために使用されるリダンダンシ用のロウアドレスを含むリダンダンシ情報をラッチする。
【００２４】
カラムリダンダンシ用ラッチ回路１６は、メモリセルアレイ１１内のメモリセルに不良セルが存在する場合に、この不良セルを含むメモリセルアレイ１１内の１列分のメモリセルを冗長セルアレイ１２内の１列分の冗長セルと置き換えを行うために使用されるリダンダンシ用のカラムアドレスを含むリダンダンシ情報をラッチする。
【００２５】
ロウ制御回路１３によって選択されたワード線もしくはリダンダンシワード線と、カラム制御回路１４によって選択されたビット線もしくはリダンダンシビット線との交点に位置するメモリセルもしくは冗長セルがアクセスされる。そして、データ書き込み時には、入出力データ線（ＩＯ）及びセンスアンプ回路を介して入力される書き込みデータが選択メモリセルに供給されてデータ書き込みが行われる。データ読み出し時には、選択メモリセルに記憶されたデータがセンスアンプ回路によって読み出され、入出力データ線（ＩＯ）を介してメモリ外部に出力される。
【００２６】
ヒューズボックス２０は、ロウリダンダンシ用ラッチ回路１５及びカラムリダンダンシ用ラッチ回路１６にラッチされるリダンダンシ情報を生成する。ヒューズボックス２０は、記憶回路２１と、ヒューズラッチ回路２２と、データ転送制御部２３とを備えている。
【００２７】
記憶回路２１は、リダンダンシ用のアドレス等からなるリダンダンシ情報がプログラムされる複数の不揮発性記憶素子（例えば、ヒューズ素子）を備えている。ヒューズラッチ回路２２は、記憶回路２１にプログラムされたリダンダンシ情報をラッチする。
【００２８】
データ転送制御部２３は、不揮発性記憶素子にプログラムされたリダンダンシ情報を加工して新たなリダンダンシ情報を生成し、メモリマクロ１０内のロウリダンダンシ用ラッチ回路１５及びカラムリダンダンシ用ラッチ回路１６に転送する。
【００２９】
このように構成された半導体集積回路において、ヒューズボックス２０は、チップの起動時に、メモリマクロ１０に対して初期化データ（例えば、リダンダンシ情報）を供給することができる。メモリマクロ１０は、このリダンダンシ情報に基づいて、不良セルの救済を行うことができる。
【００３０】
また、メモリマクロ１０は、リダンダンシ方式の１つであるシフトリダンダンシ方式を用いる。例えば、６４本の入出力データ線（ＩＯ）に対して２本のリダンダンシデータ線（ＲＩＯ）が設けられている場合を例に説明する。
【００３１】
シフトリダンダンシ方式を用いる場合、２本のリダンダンシデータ線（ＲＩＯ）に割り当てられる２つのＩＯアドレスに関して、アドレス値の大小関係によりレジスタ内の位置に制限を設ける必要がある。さらに、アドレス値の大きい方には実際のＩＯアドレスよりも“１”小さい値を保持する等の制約がある。
【００３２】
シフトリダンダンシ方式を用いる上で、これらの制約を持たない回路構成も可能である。しかし、そのような回路構成にすると回路構成が複雑になり、また回路面積が増大する。回路の繰り返しが多いメモリという性質上、シフトリダンダンシを構成する回路が大きくなればチップ面積が大きくなる。よって、前述した制約を満たすように回路を構成することで、回路構成を簡略化でき、また回路面積を縮小することが可能となる。
【００３３】
ここで、メモリをテストする工程には種々のものがあり、各工程によって不良を起こすアドレスが異なる。このため、例えばウェハ状態でテストを行い、この結果に基づいてヒューズブローをした後で、チップをパッケージに収納し、もう一度テストした後にさらにヒューズブローを行う。そして、それぞれの工程でプログラムされたヒューズデータをデータ転送時に合成し、１つの合成データとしてメモリマクロ１０に転送する。
【００３４】
したがって、予めメモリマクロ１０の制約を満たすように記憶回路２１にリダンダンシ情報をプログラムしても、２つのリダンダンシ情報を合成した場合には、メモリマクロ１０の制約を満たさない。また、記憶回路２１にプログラムされたデータが圧縮されている場合も、そのままデータを転送してしまうとメモリマクロ１０の制約を満たさない。
【００３５】
このように、データの構成に関していくつかの制約が生じる場合があるが、その制約がデータの受信側と送信側で相容れない構成になる場合がある。以下に、受信側回路ブロックの制約を満たす初期化データを転送することが可能な半導体集積回路の構成について説明する。
【００３６】
（第１の実施形態）
図２は、本発明の第１の実施形態に係る半導体集積回路の構成を示すブロック図である。半導体集積回路は、受信側回路ブロック１００と送信側回路ブロック２００とを備えている。
【００３７】
受信側回路ブロック１００は、図１に示したメモリマクロ１０に対応する。本実施形態では、カラムリダンダンシを例に説明する。また、６４本の入出力データ線（ＩＯ）に対して２本のリダンダンシデータ線（ＲＩＯ）を設ける場合を例に説明する。
【００３８】
例えば、受信側回路ブロック１００のメモリセルアレイ１１及び冗長セルアレイ１２の構成は、８バンク構成である。６４本の入出力データ線（ＩＯ）と２本のリダンダンシデータ線（ＲＩＯ）とを１ブロックとし、このブロックが４つで１バンクとする。よって、１バンクには、８本のリダンダンシデータ線（ＲＩＯ）が設けられる。
【００３９】
受信側回路ブロック１００は、送信側回路ブロック２００から転送されるリダンダンシ情報をラッチするカラムリダンダンシ用ラッチ回路（例えば、シフトレジスタから構成される）１６を備えている。
【００４０】
送信側回路ブロック２００は、図１に示したヒューズボックス２０に対応する。送信側回路ブロック２００は、第１記憶回路（記憶回路１）２１−１と、第２記憶回路（記憶回路２）２１−２と、第１シフトレジスタ（シフトレジスタ１）２２−１と、第２シフトレジスタ（シフトレジスタ２）２２−２と、データ転送制御部２３とを備えている。
【００４１】
シフトレジスタ１、シフトレジスタ２は、図１に示したヒューズラッチ回路２２に対応する。すなわち、本実施形態では、ヒューズラッチ回路にシフトレジスタを用いている。
【００４２】
図３は、図２に示した第１記憶回路２１−１の構成を示す概略図である。記憶回路１は、複数のヒューズ素子２４から構成されている。複数のヒューズ素子２４はそれぞれ、プログラム可能な不揮発性記憶素子であり、リダンダンシ用のアドレスデータ等からなるリダンダンシ情報がこれら複数のヒューズ素子２４にプログラムされる。
【００４３】
図３において、例えば不良セルが存在するデータ線のアドレスを示すＩＯアドレスが７ビット構成であるとすると、１本のＲＩＯに対して７本のヒューズが設けられる。また、本実施形態は８バンク構成であるので、１バンクに対して８個のヒューズセットが設けられ、８バンクでは６４個のヒューズセットが設けられる。なお、記憶回路２は、複数のヒューズ素子２４から構成されており、ヒューズ素子２４の数が異なる以外は記憶回路１と同様である。
【００４４】
例えば、記憶回路１は、ウェハ状態で行われるテストの直後にプログラムされることを想定している。このため、これらのヒューズ素子として、レーザ光が照射されることによってブローされる構造のものが採用される。これに対し、第２記憶回路２１−２は、チップがパッケージに収納された後に行われるテスト後にプログラムされることを想定している。このため、これらのヒューズ素子として、電気的な手段、例えば電流を流すことによってブローされる構造のものが採用される。
【００４５】
図４は、図２に示した第１記憶回路２１−１及び第１シフトレジスタ２２−１の構成を示す概略図である。なお、図４には、例えば７ビット分の第１記憶回路２１−１及び７ビット分の第１シフトレジスタ２２−１を示している。第２記憶回路２１−２及び第２シフトレジスタ２２−２の構成は、ビット数が異なる以外は第１記憶回路２１−１及び第１シフトレジスタ２２−１と同様である。
【００４６】
シフトレジスタ２２−１は、複数のフリップフロップ（Ｆ／Ｆ）２５が直列に接続されて構成されている。複数のヒューズ素子２４の一方の端子はそれぞれ、複数のフリップフロップ（Ｆ／Ｆ）２５に接続されている。複数のヒューズ素子２４の他方の端子は、接地されている。
【００４７】
各ヒューズ素子２４に書き込まれたリダンダンシ情報は、対応するＦ／Ｆ２５でラッチされる。複数のＦ／Ｆ２５でラッチされたリダンダンシ情報は、例えば外部から供給されるクロック信号ＣＬＫに同期して、データ転送制御部２３に供給される。
【００４８】
図５は、図４に示した１つのフリップフロップ（Ｆ／Ｆ）２５の構成を示す回路図である。Ｆ／Ｆ２５は、前段のＦ／Ｆ２５から転送されたデータが供給されるクロックドインバータ回路２５Ａと、インバータ回路２５Ｂとクロックドインバータ回路２５Ｃとからなりクロックドインバータ回路２５Ａの出力をラッチするラッチ回路２５Ｄと、ラッチ回路２５Ｄの出力を転送制御するトランスファゲート２５Ｅと、インバータ回路２５Ｆとクロックドインバータ回路２５Ｇとを含み且つヒューズ素子２４にプログラムされたデータがセットされると共にトランスファゲート２５Ｅから出力される前段からのデータが供給されるラッチ回路２５Ｈと、ラッチ回路２５Ｈの出力が供給されるインバータ回路２５Ｉとから構成されている。
【００４９】
ラッチ回路２５Ｈ内にはさらに、ラッチ回路２５Ｈの入力ノードＳＱをクリアするためのＰ型ＭＯＳトランジスタ２５Ｊと、ヒューズ素子２４に書き込まれたデータを入力ノードＳＱにセットするためのＮ型ＭＯＳトランジスタ２５Ｋと、Ｎ型ＭＯＳトランジスタ２５Ｌとが設けられている。トランジスタ２５Ｌは、入力ノードＳＱからのリーク電流を削減するために設けられている。
【００５０】
なお、クロックドインバータ回路２５Ｃ、２５Ｇはそれぞれ、クロック信号ＣＬＫと反転クロック信号ＣＬＫＢとで制御される。トランスファゲート２５Ｅは、Ｎ型ＭＯＳトランジスタとＰ型ＭＯＳトランジスタとが並列に接続されて構成されている。トランスファゲート２５Ｅは、クロック信号ＣＬＫがハイレベルの場合に、データを出力する。
【００５１】
ヒューズ素子２４に書き込まれたデータをＦ／Ｆ２５に転送する際に、図６に示したタイミングチャートのように、クリア信号ＦＣＬＲとセット信号ＦＳＥＴが制御回路３１から入力される。クリア信号ＦＣＬＲがローレベルになると、トランジスタ２５Ｊがオンし、ラッチ回路２５Ｈの入力ノードＳＱが強制的にハイレベルにクリアされる。その後、セット信号ＦＳＥＴがハイレベルになると、トランジスタ２５Ｋがオンする。
【００５２】
このとき、ヒューズ素子２４がブローされていれば、入力ノードＳＱはハイレベルのままとなる。ヒューズ素子２４がブローされていなければ、入力ノードＳＱはローレベルに落ちる。その後、クロック信号ＣＬＫと反転クロック信号ＣＬＫＢとが転送クロック信号として供給されることにより、複数のＦ／Ｆ２５を介してデータが後段に向かって順次転送される。
【００５３】
図７は、図２に示したシフトレジスタ１６の構成を示す概略図である。なお、図７には、例えば７ビット分のシフトレジスタ１６を示している。
【００５４】
シフトレジスタ１６は、直列接続された複数のフリップフロップ（Ｆ／Ｆ）２６を備えている。シフトレジスタ１６には、データ転送制御部２３で生成されたデータが複数のＦ／Ｆ２６の端部にシリアルに供給され、その後、複数のＦ／Ｆ２６で順次転送されることで、リダンダンシ用のアドレス等からなるリダンダンシ情報がシフトレジスタ１６にセットされる。
【００５５】
図８は、図７に示した１つのＦ／Ｆ２６の構成を示す回路図である。このＦ／Ｆ２６は、図５に示すＦ／Ｆ２５と比べて、ラッチ回路２５Ｈの３個のトランジスタ２５Ｊ、２５Ｋ、２５Ｌが省略されている点のみが異なり、他の構成はＦ／Ｆ２５と同じなので、その構成の説明は省略する。
【００５６】
図８に示したＦ／Ｆ２６では、クロック信号ＣＬＫと反転クロック信号ＣＬＫＢとが転送クロック信号として供給されることにより、直列に接続された複数のＦ／Ｆ２６でデータが順次転送される。
【００５７】
データ転送制御部２３は、制御回路３１と、データ合成回路３２と、データ比較回路３３と、演算回路３４と、カウンタ３５と、データ処理用レジスタ３６と、データ転送用レジスタ３７とを備えている。
【００５８】
制御回路３１は、各回路及び各レジスタ間のデータ転送を制御する。制御回路３１は、このデータ転送動作を行うために、外部から入力されるクロック信号ＣＬＫを用いて各回路及び各レジスタにクロック信号を供給する。
【００５９】
データ合成回路３２は、シフトレジスタ１、２からそれぞれ取り出したデータＤＴｍ１、ＤＴｍ２を受けてデータＤＴｍ１とＤＴｍ２とを合成し、合成データＤＴｍを生成する。
【００６０】
データ比較回路３３は、データ処理用レジスタＡのデータとデータ処理用レジスタＢのデータとの大小を比較する。そして、データ比較回路３３は、アドレス値の小さいデータをデータ転送用レジスタＡに、アドレス値の大きいデータを演算回路３４に供給する。
【００６１】
演算回路３４は、データ比較回路３３から出力されたアドレス値の大きいデータに対して、受信側回路ブロック１００の制約に適合するように演算を行う。
【００６２】
カウンタ３５は、制御回路３１から供給されるクロック信号ＣＬＫｃをカウントする。制御回路３１は、カウンタ３５から出力される信号に基づいて内部クロック信号の生成制御を行う。
【００６３】
データ処理用レジスタ３６は、データ合成回路３２から出力された合成データＤＴｍをラッチするためのレジスタである。このデータ処理用レジスタ３６にラッチされたデータは、受信側回路ブロック１００の制約に適合させるための処理に使用される。データ処理用レジスタ３６は、データ処理用レジスタＡと、データ処理用レジスタＢとを備えている。
【００６４】
データ処理用レジスタＡ及びデータ処理用レジスタＢはそれぞれ、直列接続された７つのフリップフロップ（Ｆ／Ｆ）３８により構成され、７ビットのデータをラッチする。データ処理用レジスタＡ及びデータ処理用レジスタＢを構成するＦ／Ｆ３８は、図８に示したＦ／Ｆ２６と同じである。
【００６５】
データ転送用レジスタ３７は、受信側回路ブロック１００の制約に適合させるための処理がなされたデータをラッチするためのレジスタである。データ転送用レジスタ３７は、データ転送用レジスタＡと、データ転送用レジスタＢとを備えている。データ転送用レジスタＡ及びデータ転送用レジスタＢはそれぞれ、直列接続された７つのフリップフロップ（Ｆ／Ｆ）３９により構成され、７ビットのデータをラッチする。
【００６６】
図９は、データ転送用レジスタＡ内の１つのＦ／Ｆ３９の構成を示す回路図である。このＦ／Ｆ３９は、図８に示したＦ／Ｆ２６の変形型であり、クロック信号ＣＬＫ１及び反転クロック信号ＣＬＫ１Ｂに関する動作は図８のクロック信号ＣＬＫ及び反転クロック信号ＣＬＫＢに対する動作と同じである。追加の機能は、クロック信号ＣＬＫ２の立ち上がりに同期してデータ（ＤＡＴＡ２）を取り込むことができる。
【００６７】
すなわち、データ転送用レジスタ３７は、図９に示したＦ／Ｆ３９が直列に接続されて構成されるパラレル入力機能を有した１４ビットシフトレジスタである。この機能を追加するために、Ｆ／Ｆ３９は、インバータ回路３９Ａと、クロックドインバータ回路３９Ｂと、トランスファゲート３９Ｃとを新たに備えている。
【００６８】
次に、このように構成された半導体集積回路の動作を説明する。まず、１回目のテストが行われる。このテストは、例えばウェハ状態で行われるテストである。このとき、メモリセルアレイ１１内に不良セルが発生していれば、その不良セルが存在するデータ線（カラムリダンダンシの場合は、ビット線）のカラムアドレスを含むリダンダンシ情報が、図２に示される１回目用の記憶回路１にプログラムされる。
【００６９】
図１０（ａ）は、第１記憶回路２１−１にプログラムされたデータを示す図である。なお、図１０には、１バンクに含まれる８本のＲＩＯに対応するデータを示している。
【００７０】
このプログラムは、レーザ照射装置からレーザ光を照射してヒューズ素子をブローすることにより行われる。このとき、図２に示される２回目用の記憶回路２は、プログラムされない。
【００７１】
２回目のヒューズブローがなければ、メモリマクロ側の制約を満たすようにヒューズをプログラムすればよいが、２回目のヒューズブローにも対応するために本実施形態ではメモリマクロ側の制約を一旦無視してプログラムを行う。
【００７２】
これにより、メモリマクロは最初のテスト工程をパスしたとする。実際には、このデータがそのまま転送されるわけではない。２回目のヒューズブローの有無を問わず、データ転送方式は同じでありその内容は後ほど説明する。
【００７３】
次に、２回目のテストが行われる。このテストは、例えばチップがパッケージに収納された後に行われるテストである。このとき、メモリセルアレイ１１内に不良セルが発生していれば、その不良セルが存在するビット線のカラムアドレスを含むリダンダンシ情報が、図２に示される２回目用の記憶回路２にプログラムされる。この場合もメモリマクロ側の制約は気にしなくてよい。
【００７４】
このプログラムは、図示しない回路からヒューズ素子に大電流を流してブローすることにより行われる。このとき、図２に示される１回目用の第１記憶回路２１−１はプログラムされない。
【００７５】
ここで、２回目のヒューズブローで使用するヒューズセット（１本のＲＩＯに対応するヒューズ数）の構成とその運用方法について説明する。図１０（ｂ）は、２回目の記憶回路２にプログラムされたデータを示す図である。
【００７６】
記憶回路２に含まれる各ヒューズセットは、１１個のヒューズを備えている。このうち、“Ｅ”はイネーブルヒューズであり、このイネーブルヒューズにデータ“１”をプログラムすることでこのヒューズセットを使用することを示す。一方、イネーブルヒューズにデータ“０”がプログラムされている場合は、このヒューズセットは使用されていない。
【００７７】
“Ａ”はアドレスヒューズであり、このアドレスヒューズには何番目のリダンダンシデータ線ＲＩＯを使用するのかがプログラムされる。図１０（ｂ）の例ではＲＩＯ_２を使用するためのデータであるので“２”を意味するデータ“０１０”がアドレスヒューズにプログラムされている。
【００７８】
残り７個のヒューズはＩＯアドレスヒューズであり、メモリマクロ内で不良が発生したカラムアドレスがプログラムされる。なお、２回目のテストでも使用されないヒューズセットについては、１１個のデータ“０”がプログラムされる。
【００７９】
実動作時に電源が投入されると、ヒューズデータをメモリマクロに転送する動作が行われる。まず、１回目用と２回目用とのヒューズデータを１つのデータに合成する。図１０（ｃ）は、１回目用と２回目用とのヒューズデータが合成された合成データを示す図である。
【００８０】
次に、ペアとなるリダンダンシデータ線ＲＩＯにプログラムされたアドレス値の大小を比較する。本実施形態では、６４本の入出力データ線（ＩＯ）に対して２本のリダンダンシデータ線（ＲＩＯ）を設けているため、例えばＲＩＯ_０とＲＩＯ_１とがペアとなる。すなわち、ここでいうペアとは、シフトリダンダンシが行われる単位内（本実施形態では、６４本の入出力データ線（ＩＯ））に設けられた２本のリダンダンシデータ線（ＲＩＯ）を表す。よって、シフトリダンダンシが行われる単位内に設けられるリダンダンシデータ線（ＲＩＯ）の数によって、比較するアドレスの数が変わることになる。
【００８１】
比較の結果、小さい方のアドレス値は元のＲＩＯ_ｉ（ｉ＝０，２，４，６）があった位置に置き、大きい方のアドレス値はそのアドレス値から“１”を引いた後にＲＩＯ_ｊ（ｊ＝１，３，５，７）があった位置に置く。
【００８２】
図１０（ｄ）は、並べ替えが行われたデータ処理後のデータを示す図である。この動作によって並べ替えが行われたデータは、メモリマクロ側の制約を満たすものになる。その後、このデータをメモリマクロに転送する。
【００８３】
図１１は、新たなリダンダンシ情報が生成される際のデータ転送制御部２３の動作を示すフローチャートである。まず電源投入後、外部からクロック信号ＣＬＫが入力されると、制御回路３１はデータ合成回路３２にクロック信号ＣＬＫｘを供給する。また、制御回路３１は、カウンタ３５にクロック信号ＣＬＫｃを供給する。カウンタ３５は、クロック信号ＣＬＫｃの数をカウントする。カウンタ３５から出力される信号は、いくつかの動作段階で参照される。
【００８４】
クロック信号ＣＬＫｘを受けたデータ合成回路３２は、シフトレジスタ１、２にそれぞれクロック信号ＣＬＫｍ１、ＣＬＫｍ２を供給する。これにより、データ合成回路３２は、シフトレジスタ１からペアとなるＲＩＯ_０及びＲＩＯ_１に対応する１４ビットのデータＤＴｍ１を取り出す。また、データ合成回路３２は、シフトレジスタ２からペアとなるＲＩＯ_０及びＲＩＯ_１に対応するデータＤＴｍ２を取り出す。このようにして、シフトレジスタ１、２からデータＤＴｍ１、ＤＴｍ２が取り出される（ステップＳ１１ａ）。
【００８５】
次に、データ合成回路３２は、シフトレジスタ１、２から取り出されたデータＤＴｍ１、ＤＴｍ２を受けて、必要に応じてカウンタ３５から出力される信号を参照しながらデータＤＴｍ１とＤＴｍ２とを合成し、合成データＤＴｍを生成する（ステップＳ１１ｂ）。
【００８６】
具体的には、データ合成回路３２は、データＤＴｍ２のイネーブルビット“Ｅ”を参照する。そして、イネーブルビットが“１”の場合、データ合成回路３２は、アドレスビット“Ａ”を参照し、対応するＲＩＯにＩＯアドレスのみを挿入する。
【００８７】
次に、データ合成回路３２は、データ処理用レジスタ３６にクロック信号ＣＬＫｍを出力し、ＲＩＯ_０に対応するデータをデータ処理用レジスタＡに、ＲＩＯ_１に対応するデータをデータ処理用レジスタＢにセットする（ステップＳ１１ｃ）。
【００８８】
次に、データ比較回路３３は、データ処理用レジスタＡのデータとデータ処理用レジスタＢのデータとの大小を比較する（ステップＳ１１ｄ）。そして、アドレス値の大きいデータは、演算回路３４に入力される。
【００８９】
次に、演算回路３４は、アドレス値の大きいデータから“１”を引く（ステップＳ１１ｅ）。そして、制御回路３１からクロック信号ＣＬＫ２が１回出力され、これに同期してアドレス値の小さいデータはデータ転送用レジスタＡに、アドレス値の大きいデータはデータ転送用レジスタＢにセットされる（ステップＳ１１ｆ）。
【００９０】
次に、制御回路３１からクロック信号ＣＬＫ１が出力され、これに同期して１４ビットのデータＦＯＵＴが受信側回路ブロック１００（すなわち、シフトレジスタ１６）に転送される（ステップＳ１１ｇ）。
【００９１】
クロック信号ＣＬＫ１は受信側のシフトレジスタ１６にも入力される。具体的には、制御回路３１は、カウンタ３５を用いて１４ビットのデータＦＯＵＴを転送するのに必要なクロック信号ＣＬＫ１をデータ転送用レジスタ４３及びシフトレジスタ１６に供給する。
【００９２】
なお、以上の制御回路３１が行う動作は、カウンタ３５からの信号を参照しながら行われる。すなわち、カウンタ３５からの信号により、内部クロック信号の生成制御を行う。
【００９３】
その後、以上述べた一連の動作を繰り返して全てのデータを受信側回路ブロック１００に転送する（ステップＳ１１ｈ）。データ転送終了は、クロック信号ＣＬＫをカウントしているカウンタ３５により指示される。
【００９４】
以上詳述したように本実施形態によれば、複数のテストが行われる送信側回路ブロック２００において、テスト毎にプログラムされたリダンダンシ情報を合成して１つのリダンダンシ情報にすることができる。
【００９５】
また、合成されたリダンダンシ情報を受信側回路ブロック１００の制約に適合したデータに変換することができる。これにより、受信側回路ブロック１００は、このデータに基づいてシフトリダンダンシを行うことができる。
【００９６】
さらに、送信側回路ブロック２００は、受信側回路ブロック１００の制約を無視したリダンダンシ情報のプログラムを行うことができる。これにより、送信側回路ブロック２００は、任意の制約にしたがってリダンダンシ情報を記憶しておくことが可能となる。
【００９７】
（第２の実施形態）
第２の実施形態は、受信側回路ブロック１００の制約を満たしつつ、ヒューズ素子の個数を削減して、ヒューズ素子の使用効率を高めるようにしている。
【００９８】
図１２は、本発明の第２の実施形態に係る半導体集積回路の構成を示すブロック図である。送信側回路ブロック２００は、複数のヒューズ素子を備えた記憶回路２１と、シフトレジスタ２２と、データ転送制御部２３とを備えている。
【００９９】
データ転送制御部２３は、制御回路３１と、カウンタ３５と、データ展開回路４１と、データ処理用レジスタ４２と、データ転送用レジスタ４３とを備えている。データ展開回路４１は、圧縮されたデータを元のデータ（圧縮されていないデータ）に展開する。
【０１００】
図１３は、図１２に示したデータ処理用レジスタ４２の構成を示す概略図である。図１３に示した例えば“７−０”は、ＲＩＯ_７の０ビット目のデータであることを示している。“７−Ｅ”は、ＲＩＯ_７のイネーブルビットのデータであることを示している。
【０１０１】
データ処理用レジスタ４２は、図８に示したＦ／Ｆ２６が直列に接続されて構成される６４ビットシフトレジスタである。データ処理用レジスタ４２は、データ展開回路４１から供給される展開データＤＴｄｘをラッチする。
【０１０２】
図１４は、図１２に示したデータ転送用レジスタ４３の構成を示す概略図である。データ転送用レジスタ４３は、図９に示したＦ／Ｆ３９が直列に接続されて構成される５６ビットシフトレジスタである。
【０１０３】
データ転送用レジスタ４３は、クロック信号ＣＬＫ１の立ち上がりに同期して、複数のＦ／Ｆ３９を介してデータを後段に向かって順次転送する。また、データ転送用レジスタ４３は、クロック信号ＣＬＫ２の立ち上がりに同期してデータ（ＤＡＴＡ２）を取り込むことができる。つまり、データ転送用レジスタ４３は、パラレル入力機能を有した５６ビットシフトレジスタである。
【０１０４】
次に、このように構成された半導体集積回路の動作を説明する。本実施形態において、送信側回路ブロック２００の持つ制約は、ヒューズデータが圧縮されていることである。受信側回路ブロック１００の持つ制約は、同じビット番号毎にデータがまとめられていることである。受信側回路ブロック１００は、この並びにすることでレイアウト上の効率が向上し、チップ占有面積を小さくすることができる。
【０１０５】
図１５（ａ）は、記憶回路２１にプログラムされた８本のＲＩＯに対応する圧縮データを示す図である。この場合、１本のＲＩＯを指定するのに８ビットのヒューズが必要であり、そのうちの“Ｅ”はイネーブルビットである。イネーブルビットが“１”ならばそのＲＩＯは使用されるということになる。
【０１０６】
例えばＲＩＯ_０は使用されるので、イネーブルビットは“１”であり、さらに残りのＩＯアドレスビットに不良ＩＯアドレスがプログラムされている。ここで、ＲＩＯ_２は使用しないのでイネーブルビットは“０”であり、使用しないＲＩＯは不良ＩＯアドレスが図１５（ａ）に示すようにプログラムされない。これにより、使用しないＲＩＯに割り当てられたヒューズ素子は１本となるので、ヒューズ素子の数を減らすことができる。
【０１０７】
図１５（ｂ）は、圧縮データが展開された展開データを示す図である。イネーブルビットが“１”のＲＩＯのデータはそのまま出力され、イネーブルビットが“０”の場合はＲＩＯのデータが８ビットの“０”となる。
【０１０８】
次に、圧縮データを受信側回路ブロック１００の制約に適合するように変換する。図１５（ｃ）は、同じビット番号（add）ごとに並び替えられたデータを示す図である。これは、展開データのイネーブルビットを削除して、順番を並べ替えたものである。８本のＲＩＯにプログラムされたデータが、同じビット番号ごとの７つのデータにまとめられている。この動作によって並べ替えが行われたデータは、受信側回路ブロック１００の制約を満たすものになる。その後、このデータを受信側回路ブロック１００に転送する。
【０１０９】
図１６は、新たなリダンダンシ情報が生成される際のデータ転送制御部２３の動作を示すフローチャートである。まず電源投入後、外部からクロック信号ＣＬＫが入力されると制御回路３１はデータ展開回路４１にクロック信号ＣＬＫｘを供給する。また、制御回路３１は、カウンタ３５にクロック信号ＣＬＫｃを供給する。カウンタ３５は、クロック信号ＣＬＫｃの数をカウントする。カウンタ３５から出力される信号は、いくつかの動作段階で参照される。
【０１１０】
クロック信号ＣＬＫｘを受けたデータ展開回路４１は、シフトレジスタ２２にクロック信号ＣＬＫｄを供給する。これにより、データ展開回路４１は、シフトレジスタ２２から８本のＲＩＯに対応する圧縮データＤＴｄを取り出す（ステップＳ１６ａ）。
【０１１１】
次に、データ展開回路４１は、必要に応じてカウンタ３５から出力される信号を参照しながら圧縮データＤＴｄを展開する。そして、データ展開回路４１は、６４ビットの展開データＤＴｄｘを生成する（ステップＳ１６ｂ）。具体的には、データ展開回路４１は、イネーブルビットが“１”のＲＩＯのデータはそのまま出力し、イネーブルビットが“０”の場合は８ビットの“０”を出力する。
【０１１２】
次に、データ展開回路４１は、クロック信号ＣＬＫｄｘをデータ処理用レジスタ４２に供給し、展開データＤＴｄｘをデータ処理用レジスタ４２にセットする（ステップＳ１６ｃ）。
【０１１３】
次に、制御回路３１からクロック信号ＣＬＫ２が１回出力され、これに同期してデータ処理用レジスタ４２に格納されたデータの各ビットは、データ転送用レジスタ４３内の所定の位置（図１４参照）にセットされる（ステップＳ１６ｄ）。この際、イネーブルビットはデータの展開に用いられるだけで受信側回路ブロック１００には転送されないので、データ転送用レジスタ４３内にイネーブルビット用のフリップフロップは用意されていない。
【０１１４】
このデータ処理用レジスタ４２からデータ転送用レジスタ４３へのデータ転送は、例えばデータ処理用レジスタ４２のフリップフロップと、これに対応するデータ転送用レジスタ４３のフリップフロップとを接続することにより行われる。すなわち、データ処理用レジスタ４２とデータ転送用レジスタ４３との間に、データの並びを変換する配線部が設けられている。
【０１１５】
或いは、データ処理用レジスタ４２のデータをデータ転送用レジスタ４３の並びに変換するように、データ処理用レジスタ４２とデータ転送用レジスタ４３との間に変換回路を設けるようにしてもよい。このようにして、データ転送用レジスタ４３内の所定の位置にデータがセットされる。
【０１１６】
次に、制御回路３１からクロック信号ＣＬＫ１が出力され、これに同期して５６ビットのデータＦＯＵＴが受信側回路ブロック１００（すなわち、シフトレジスタ１６）に転送される（ステップＳ１６ｅ）。クロック信号ＣＬＫ１は受信側のシフトレジスタ１６にも入力される。具体的には、制御回路３１は、カウンタ３５を用いて５６ビットのデータＦＯＵＴを転送するのに必要なクロック信号ＣＬＫ１をデータ転送用レジスタ４３及びシフトレジスタ１６に供給する。
【０１１７】
なお、以上の制御回路３１が行う動作は、カウンタ３５からの信号を参照しながら行われる。すなわち、カウンタ３５からの信号により、内部クロック信号の生成制御を行う。
【０１１８】
その後、以上述べた一連の動作を繰り返して全てのデータを受信側回路ブロック１００に転送する（ステップＳ１６ｆ）。データ転送終了は、クロック信号ＣＬＫをカウントしているカウンタ３５により指示される。
【０１１９】
以上詳述したように本実施形態によれば、受信側回路ブロック１００と送信側回路ブロック２００との両方の制約を満たすデータの転送が可能となる。
【０１２０】
また、送信側回路ブロック２００が圧縮したデータを記憶しておくことができるため、記憶回路２１のヒューズ素子の数を減らすことができる。
【０１２１】
また、同じビット番号ごとにまとめられた状態で予め記憶回路２１にプログラムしておくと、データ“０”が並ぶ可能性は低くなり、明らかに圧縮効率が低下する。しかし、本実施形態では、ＲＩＯの単位で記憶回路２１にデータをプログラムしておくため、圧縮効率を向上させることができる。これにより、記憶回路２１のヒューズ素子の数を減らすことができる。
【０１２２】
さらに、受信側回路ブロック１００は、同じビット番号ごとにまとめられたデータを受け取ることができるため、レイアウト上の効率を向上させることができ、チップ占有面積を小さくすることができる。
【０１２３】
（第３の実施形態）
第３の実施形態は、第２の実施形態の変形例であり、第２の実施形態と異なる点は、データ転送用レジスタのデータ出力に関する構成とその制御に関してである。
【０１２４】
図１７は、本発明の第３の実施形態に係る半導体集積回路の構成を示すブロック図である。制御回路３１は、選択信号ＳＥＬ１を生成し、この選択信号ＳＥＬ１をデータ転送用レジスタ４３に供給する。この選択信号ＳＥＬ１は、後述するクロック信号セレクタ４５とデータセレクタ４６とが行う選択動作に用いられる。
【０１２５】
図１８は、図１７に示したデータ転送用レジスタ４３の構成を示す概略図である。データ転送用レジスタ４３を構成するフリップフロップ（Ｆ／Ｆ）は、図９に示したＦ／Ｆ３９により構成されている。また、データ転送用レジスタ４３は、７つのシフトレジスタ部分４４により構成されている。各シフトレジスタ部分４４は、直列に接続された８つのＦ／Ｆ３９により構成されている。
【０１２６】
さらに、データ転送用レジスタ４３は、クロック信号セレクタ４５とデータセレクタ４６とを備えている。クロック信号セレクタ４５は、クロック信号ＣＬＫ１を受けて、制御回路３１からの選択信号ＳＥＬ１に応じてクロック信号ＣＬＫｉ０〜ＣＬＫｉ６をそれぞれ対応するシフトレジスタ部分４４に供給する。
【０１２７】
実際の回路動作としては、クロック信号セレクタ４５は、まずクロック信号ＣＬＫｉ６として８回のクロックを対応するシフトレジスタ部分４４に供給する。そして、クロック信号セレクタ４５は、クロック信号ＣＬＫｉ６からクロック信号ＣＬＫｉ０まで順番に、同様のクロックを対応するシフトレジスタ部分４４に供給する。これにより、クロック信号ＣＬＫｉが供給されたシフトレジスタ部分４４から順番にデータＤが出力される。
【０１２８】
データセレクタ４６は、制御回路３１からの選択信号ＳＥＬ１に応じてデータＤ０〜Ｄ６を出力する。実際の回路動作としては、データセレクタ４６は、クロック信号セレクタ４５からクロック信号ＣＬＫｉ０が出力されているときはデータＤ０を出力する。他のクロック信号ＣＬＫｉについても同様である。
【０１２９】
このように構成された半導体集積回路では、データ転送制御部２３の回路レイアウトが効率的なパターンで描けるという利点がある。すなわち、第２の実施形態では、データ処理用レジスタ４２からデータ転送用レジスタ４３への配線の引き回しが回路の性質上複雑なものになる。
【０１３０】
しかし、本実施形態では、全てのフリップフロップが直列に接続されてないため（７つのシフトレジスタ部分に分割されている）、レイアウトに自由度が増し且つ回路構成をシンプルにすることができる。
【０１３１】
また、第２の実施形態よりも本実施形態の構成を用いる方が、後述する第４の実施形態で示す回路を構成しやすいという利点がある。
【０１３２】
（第４の実施形態）
第４の実施形態は、第１の実施形態及び第２の実施形態で説明した制約を全て満たすように構成された半導体集積回路の一例である。基本的には、第１の実施形態と第３の実施形態との構成を組み合わせたものであるが、単純にこれらを組み合わせたものではなく、多少構成が変わっている。
【０１３３】
まず、受信側回路ブロック１００と送信側回路ブロック２００とで要求される制約について説明する。送信側回路ブロック２００の記憶回路１及び記憶回路２におけるデータの構成について説明する。
【０１３４】
図１９（ａ）は、記憶回路１及び記憶回路２にプログラムされたデータを示す図である。なお、記憶回路内ではデータが圧縮されているが、簡略化のため図１９（ａ）では圧縮データを展開した後のデータ構成を示している。また、送信側回路ブロック２００はヒューズブローを２回行える構成であり、データを転送する前に２つのシフトレジスタ１、シフトレジスタ２のデータが合成されるが、これも簡略化のため図１９（ａ）ではデータ合成後のデータ構成を示している。
【０１３５】
第２の実施形態と同様にヒューズブロー時は、受信側回路ブロック１００側の制約を満たす必要はない。１本のＲＩＯには不良ＩＯアドレスを書き込むためにイネーブルビットを含め８ビット用意され、それぞれのＲＩＯに関してＩＯアドレスビットはまとまった構成となっている。
【０１３６】
図１９（ａ）に示すように、１６本のＲＩＯをひとまとまりとして考える。よって、この単位で必要なヒューズ素子の数は１２８本になる。ＲＩＯの順番は、まず偶数番号が並びその後奇数番号が並ぶ。この並びは、後で受信側回路ブロック１００側の制約に合うようにデータを加工するのに都合のいい構成となる。
【０１３７】
受信側回路ブロック１００側では、データは図１９（ｂ）のように並ぶ。送信側回路ブロック２００で持っていたイネーブルビットは受信側回路ブロック１００では必要ない。具体的には、データの前半部分にペアになる２本のＲＩＯ（例えば、ＲＩＯ_０とＲＩＯ_１）のアドレス値のうち小さいデータがまとめて並び、後半部分にアドレス値の大きいデータが並ぶ。アドレス値が大きいデータは、実際のアドレス値よりも１小さい値がプログラムされる。
【０１３８】
また、ＲＩＯにプログラムされたアドレス値のｎビット目（ｎ＝０，１，２，３，４，５，６）がまとまって並ぶ。例えば、図１９（ｂ）のデータの先頭を見ると、１６本のＲＩＯのデータのうち、アドレス値が小さい方をまとめた中で、それぞれのＲＩＯにプログラムされたアドレス値の６ビット目だけが集められて並んでいる。
【０１３９】
次に５ビット目が集められ、順番に０ビット目まで並べられた後、アドレス値が大きい方のＲＩＯに関して同様にデータが並べられる。このような並びにするのは、前述したように、リダンダンシ動作を行う回路動作上の簡略化とレイアウトパターン上の効率性とを考慮したためである。
【０１４０】
つまりデータ転送を行う際に、データ転送制御部２３にて図１９（ａ）のデータから図１９（ｂ）のデータに変換することが必要になる。
【０１４１】
次に、この機能を実現するための回路構成について説明する。図２０は、本発明の第４の実施形態に係る半導体集積回路の構成を示すブロック図である。
【０１４２】
送信側回路ブロック２００に設けられた第１記憶回路（記憶回路１）２１−１及び第２記憶回路（記憶回路２）２１−２のうち、記憶回路１は圧縮されたデータを記憶しており、記憶回路２は圧縮されていないデータを記憶している。
【０１４３】
なお、これに限定されるものではなく、記憶回路２が圧縮されたデータを記憶し、この圧縮データがデータ展開回路４１により展開されるように構成してもよい。
【０１４４】
データ転送制御部２３は、制御回路３１と、データ合成回路３２と、カウンタ３５と、データ展開回路４１と、データ処理用レジスタ４２と、データ比較回路３３と、演算回路３４と、データセレクタ５１と、データ転送用レジスタ４３とを備えている。
【０１４５】
制御回路３１は、選択信号ＳＥＬ２をデータセレクタ５１に供給する。データセレクタ５１は、この選択信号ＳＥＬ２に基づいて、アドレス値の小さいデータあるいはアドレス値の大きいデータをデータ転送用レジスタ４３に出力する。
【０１４６】
図２１は、図２０に示したデータ処理用レジスタ４２の構成を示す概略図である。データ処理用レジスタ４２は、図８に示したＦ／Ｆ２６が直列に接続されて構成される１２８ビットシフトレジスタである。データ処理用レジスタ４２は、データ合成回路３２から供給される合成データＤＴｍをラッチする。
【０１４７】
データ比較回路３３は、データ処理用レジスタ４２に記憶された１６本のＲＩＯのデータのうち、ペアとなる２本のＲＩＯのデータの大小を比較する。そして、データ比較回路３３は、アドレス値の小さいデータをデータセレクタ５１に、アドレス値の大きいデータを演算回路３４に出力する。
【０１４８】
演算回路３４は、データ比較回路３３から出力されたアドレス値の大きいデータに対して、受信側回路ブロック１００の制約に適合するように演算を行う。演算されたデータは、データセレクタ５１に出力される。
【０１４９】
図２２は、図２０に示したデータ転送用レジスタ４３の構成を示す概略図である。データ転送用レジスタ４３は、７つのシフトレジスタ部分４４を備えている。ペアとなる８組のデータのうち、アドレス値が小さい方のデータをラッチする。さらに、データ転送用レジスタ４３は、データセレクタ５１から出力されたデータを所定の位置（図２２参照）にラッチする。
【０１５０】
次に、データ転送用レジスタ４３は、アドレス値が大きい方のデータをラッチする。すなわち、データ転送用レジスタ４３は、アドレス値が小さいデータとアドレス値が大きいデータとを交互にラッチする。なお、図２２に示した“０−１：０”は、ＲＩＯ_０とＲＩＯ_１とのアドレス値のうち、アドレス値が大きい方或いはアドレス値が小さい方の０ビット目のデータを示している。これは、前述したように、転送するデータによって変化する。
【０１５１】
次に、このように構成された半導体集積回路の動作を説明する。図２３は、新たなリダンダンシ情報が生成される際のデータ転送制御部２３の動作を示すフローチャートである。
【０１５２】
まず電源投入後、外部からクロック信号ＣＬＫが入力されると、制御回路３１はデータ合成回路３２にクロック信号ＣＬＫｘを供給する。また、制御回路３１は、カウンタ３５にクロック信号ＣＬＫｃを供給する。カウンタ３５は、クロック信号ＣＬＫｃの数をカウントする。
【０１５３】
クロック信号ＣＬＫｘを受けたデータ合成回路３２は、データ展開回路４１にクロック信号ＣＬＫｍ１を供給する。すると、データ展開回路４１は、シフトレジスタ１にクロック信号ＣＬＫｄｘを供給し、シフトレジスタ１から１６本のＲＩＯに対応する圧縮データＤＴｄｘを取り出す（ステップＳ２３ａ）。
【０１５４】
次に、データ展開回路４１は、必要に応じてカウンタ３５から出力される信号を参照しながら圧縮データＤＴｄｘを展開する。そして、データ展開回路４１は、１２８ビットの展開データＤＴｍ１を生成する（ステップＳ２３ｂ）。この展開データＤＴｍ１は、データ合成回路３２に入力される。
【０１５５】
次に、データ合成回路３２は、シフトレジスタ２にクロック信号ＣＬＫｍ２を供給し、シフトレジスタ２からデータＤＴｍ２を取り出す（ステップＳ２３ｃ）。そして、データ合成回路３２は、必要に応じてカウンタ３５の信号を参照しながらデータＤＴｍ１とデータＤＴｍ２とを合成し、合成データＤＴｍを生成する（ステップＳ２３ｄ）。
【０１５６】
次に、データ合成回路３２は、データ処理用レジスタ４２にクロック信号ＣＬＫｍを供給し、データ処理用レジスタ４２に合成データＤＴｍをセットする（ステップＳ２３ｅ）。データ処理用レジスタ４２にセットされた合成データＤＴｍは、図２４に示すようなデータ処理が行われる。
【０１５７】
データ処理用レジスタ４２にセットされた１２８ビットの合成データＤＴｍは、図２４に示すように、８つのペアごと（例えば、１つのペアは、ＲＩＯ_０とＲＩＯ_１とからなる）に、アドレス値の大小比較が行われる。
【０１５８】
具体的には、データ比較回路３３は、ペアとなるＲＩＯ_０とＲＩＯ_１とのアドレス値（すなわち、イネーブルビット（Ｅ）以外のデータ）の大小を比較する（ステップＳ２３ｆ）。その他のペアについても同様である。そして、アドレス値の小さいデータは、データセレクタ５１に入力される。その後、データセレクタ５１は、制御回路３１から供給される選択信号ＳＥＬ２に基づいて、アドレス値の小さいデータをデータ転送用レジスタ４３に出力する。
【０１５９】
データセレクタ５１は、８つのペア分のデータセレクタを備えており、７ビットのデータが８組つまり５６ビットデータＤＯ［５５：０］がデータセレクタ５１から出力される。ここで、制御回路３１からクロック信号ＣＬＫ２が１回出力され、このクロック信号ＣＬＫ２に同期してデータＤＯ［５５：０］がデータ転送用レジスタ４３の所定の位置（図２２参照）にセットされる（ステップＳ２３ｇ）。
【０１６０】
次に、制御回路３１からデータ転送用レジスタ４３に選択信号ＳＥＬ１とクロック信号ＣＬＫ１とが供給される。これにより、データ転送用レジスタ４３のデータが受信側回路ブロック１００に転送される（ステップＳ２３ｈ）。この時のデータ転送動作は、第３の実施形態で説明した動作と同様である。
【０１６１】
次に、演算回路３４は、データ比較回路３３によるアドレス値の比較の結果、アドレス値が大きいデータから“１”を引く（ステップＳ２３ｉ）。そして、アドレス値の大きいデータは、データセレクタ５１に入力される。その後、データセレクタ５１は、制御回路３１から供給される選択信号ＳＥＬ２に基づいて、アドレス値の大きいデータをデータ転送用レジスタ４３に出力する。
【０１６２】
次に、制御回路３１からクロック信号ＣＬＫ２が１回出力され、このクロック信号ＣＬＫ２に同期してデータＤＯ［５５：０］がデータ転送用レジスタ４３の所定の位置にセットされる（ステップＳ２３ｊ）。
【０１６３】
次に、制御回路３１からデータ転送用レジスタ４３に選択信号ＳＥＬ１とクロック信号ＣＬＫ１とが供給される。これにより、データ転送用レジスタ４３のデータが受信側回路ブロック１００に転送される（ステップＳ２３ｋ）。
【０１６４】
その後、以上に述べた一連の動作を繰り返して全てのデータを受信側回路ブロック１００に転送する（ステップＳ２３ｌ）。データ転送終了は、クロック信号ＣＬＫをカウントしているカウンタ３５により指示される。このような動作により、図１９（ａ）に示したデータを図１９（ｂ）に示したデータに変換することができる。
【０１６５】
以上詳述したように本実施形態によれば、受信側回路ブロック１００と送信側回路ブロック２００との制約を共に満たすようにデータを構成することができる。その他の効果は、第１〜第３の実施形態と同様である。
【０１６６】
この発明は、上記実施形態に限定されるものではなく、その他、本発明の要旨を変更しない範囲において種々変形して実施可能である。
【図面の簡単な説明】
【０１６７】
【図１】本発明の一実施例に係る半導体集積回路の構成を示すブロック図。
【図２】本発明の第１の実施形態に係る半導体集積回路の構成を示すブロック図。
【図３】図２に示した第１記憶回路２１−１の構成を示す概略図。
【図４】図２に示した第１記憶回路２１−１及び第１シフトレジスタ２２−１の構成を示す概略図。
【図５】図４に示した１つのフリップフロップ（Ｆ／Ｆ）２５及びヒューズ素子２４の構成を示す回路図。
【図６】図５に示したＦ／Ｆ２５の動作を示すタイミングチャート。
【図７】図２に示したシフトレジスタ１６の構成を示す概略図。
【図８】図７に示した１つのＦ／Ｆ２６の構成を示す回路図。
【図９】データ転送用レジスタＡ内の１つのＦ／Ｆ３９の構成を示す回路図。
【図１０】第１の実施形態のデータ転送制御部２３でデータが並び替えられる様子を示す図。
【図１１】第１の実施形態における新たなリダンダンシ情報が生成される際のデータ転送制御部２３の動作を示すフローチャート。
【図１２】本発明の第２の実施形態に係る半導体集積回路の構成を示すブロック図。
【図１３】図１２に示したデータ処理用レジスタ４２の構成を示す概略図。
【図１４】図１２に示したデータ転送用レジスタ４３の構成を示す概略図。
【図１５】第２の実施形態のデータ転送制御部２３でデータが並び替えられる様子を示す図。
【図１６】第２の実施形態における新たなリダンダンシ情報が生成される際のデータ転送制御部２３の動作を示すフローチャート。
【図１７】本発明の第３の実施形態に係る半導体集積回路の構成を示すブロック図。
【図１８】図１７に示したデータ転送用レジスタ４３の構成を示す概略図。
【図１９】第４の実施形態のデータ転送制御部２３でデータが並び替えられる様子を示す図。
【図２０】本発明の第４の実施形態に係る半導体集積回路の構成を示すブロック図。
【図２１】図２０に示したデータ処理用レジスタ４２の構成を示す概略図。
【図２２】図２０に示したデータ転送用レジスタ４３の構成を示す概略図。
【図２３】第４の実施形態における新たなリダンダンシ情報が生成される際のデータ転送制御部２３の動作を示すフローチャート。
【図２４】第４の実施形態のデータ転送制御部２３が行うデータ処理を説明するための図。
【符号の説明】
【０１６８】
１００…受信側回路ブロック、２００…送信側回路ブロック、１０…メモリマクロ、１１…メモリセルアレイ、１２…冗長セルアレイ、１３…ロウ制御回路、１４…カラム制御回路、１５…ロウリダンダンシ用ラッチ回路（シフトレジスタ）、１６…カラムリダンダンシ用ラッチ回路（シフトレジスタ）、２０…ヒューズボックス、２１…記憶回路、２１−１…第１記憶回路、２１−２…第２記憶回路、２２…ヒューズラッチ回路（シフトレジスタ）、２２−１…第１シフトレジスタ、２２−２…第２シフトレジスタ、２３…データ転送制御部、２４…ヒューズ素子、ＳＱ…入力ノード、２５，２６，３８，３９…フリップフロップ（Ｆ／Ｆ）、２５Ａ，２５Ｃ，２５Ｇ，３９Ｂ…クロックドインバータ回路、２５Ｂ，２５Ｆ，２５Ｉ，３９Ａ…インバータ回路、２５Ｄ，２５Ｈ…ラッチ回路、２５Ｅ，３９Ｃ…トランスファゲート、２５Ｊ…Ｐ型ＭＯＳトランジスタ、２５Ｋ，２５Ｌ…Ｎ型ＭＯＳトランジスタ、３１…制御回路、３２…データ合成回路、３３…データ比較回路、３４…演算回路、３５…カウンタ、３６，４２…データ処理用レジスタ、３７，４３…データ転送用レジスタ、４１…データ展開回路、４４…シフトレジスタ部分、４５…クロック信号セレクタ、４６，５１…データセレクタ。
【図１】
2006228288.tif 000003
【図２】
2006228288.tif 000004
【図３】
2006228288.tif 000005
【図４】
2006228288.tif 000006
【図５】
2006228288.tif 000007
【図６】
2006228288.tif 000008
【図７】
2006228288.tif 000009
【図８】
2006228288.tif 000010
【図９】
2006228288.tif 000011
【図１０】
2006228288.tif 000012
【図１１】
2006228288.tif 000013
【図１２】
2006228288.tif 000014
【図１３】
2006228288.tif 000015
【図１４】
2006228288.tif 000016
【図１５】
2006228288.tif 000017
【図１６】
2006228288.tif 000018
【図１７】
2006228288.tif 000019
【図１８】
2006228288.tif 000020
【図１９】
2006228288.tif 000021
【図２０】
2006228288.tif 000022
【図２１】
2006228288.tif 000023
【図２２】
2006228288.tif 000024
【図２３】
2006228288.tif 000025
【図２４】
2006228288.tif 000026