(57)【要約】【課題】冗長メモリの切り替え情報を記憶する不揮発性メモリの容量を削減することができるメモリ装置を提供することを課題とする。【解決手段】メモリ装置は、複数の通常メモリセルブロック及びスペアメモリセルブロックを各々が有する複数の冗長メモリ（３０１〜３０３）と、各々が直列に接続され、各々が数値を記憶し、複数の冗長メモリにそれぞれ数値を出力する複数のフリップフロップ（３１１〜３１９）と、不揮発性メモリ（３２１）に記憶されているシード値を基に再現性のある擬似乱数を生成する擬似乱数生成回路（５００）とを有し、複数のフリップフロップは、クロック信号に同期して、擬似乱数生成回路により出力される擬似乱数をシリアルに転送し、複数の冗長メモリは、それぞれ、複数のフリップフロップに記憶されている数値に応じて複数の通常メモリセルブロックのうちのいずれかの通常メモリセルブロックをスペアメモリセルブロックに切り替える。【選択図】図５
2013122800.tif 000002
【特許請求の範囲】
【請求項１】
複数の通常メモリセルブロック及びスペアメモリセルブロックを各々が有する複数の冗長メモリと、
各々が直列に接続され、各々が数値を記憶し、前記複数の冗長メモリにそれぞれ前記数値を出力する複数のフリップフロップと、
シード値を記憶する不揮発性メモリと、
前記不揮発性メモリに記憶されているシード値を基に再現性のある擬似乱数を生成し、前記複数のフリップフロップに前記擬似乱数をシリアルに出力する擬似乱数生成回路とを有し、
前記複数のフリップフロップは、クロック信号に同期して、前記擬似乱数生成回路により出力される擬似乱数をシリアルに転送し、
前記複数の冗長メモリは、それぞれ、前記複数のフリップフロップに記憶されている数値に応じて前記複数の通常メモリセルブロックのうちのいずれかの通常メモリセルブロックを前記スペアメモリセルブロックに切り替えることを特徴とするメモリ装置。
【請求項２】
前記擬似乱数生成回路は、線形帰還シフトレジスタを有することを特徴とする請求項１記載のメモリ装置。
【請求項３】
前記線形帰還シフトレジスタは、フリップフロップ及び排他的論理和回路を有することを特徴とする請求項２記載のメモリ装置。
【請求項４】
前記シード値は、不良メモリセルを有する前記通常メモリセルブロックを前記スペアメモリセルブロックに切り替える冗長メモリに数値を出力するフリップフロップに記憶させる数値を固定値として、その他のフリップフロップに記憶させる数値が不定値となるような擬似乱数を生成するためのシード値であることを特徴とする請求項１〜３のいずれか１項に記載のメモリ装置。
【請求項５】
前記不揮発性メモリは、ヒューズ回路であり、不良メモリセルを有する前記通常メモリセルブロックを前記スペアメモリセルブロックに切り替える冗長メモリの設定を追加する場合には、前記ヒューズ回路の未切断のヒューズ又はアンチヒューズを切断することにより、前記シード値の再設定を行うことを特徴とする請求項１〜４のいずれか１項に記載のメモリ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ装置に関する。
【背景技術】
【０００２】
冗長メモリは、複数の通常メモリセルブロック及びスペアメモリセルブロックを有する。複数の通常メモリセルブロックのうちのいずれかが不良メモリセルを有する場合であっても、その不良メモリセルを有する通常メモリセルブロックをスペアメモリセルブロックに切り替えることにより、修復することができ、製造歩留まりを向上させることができる。
【０００３】
また、クロック信号に応答して、アドレス生成用のシフトレジスタ及びデータ生成用のシフトレジスタからそれぞれｍビット及びｎビットのアドレスパターン及びデータパターンをＲＡＭに供給し、ＲＡＭからの出力データを予め求めておいた期待値と比較することによりＲＡＭの良否を判定するＲＡＭのセルフテスト回路が知られている（例えば、下記の特許文献１参照）。
【０００４】
また、アドレス情報と書込みデータの双方を並列に線形フィードバッグシフトレジスタ（ＬＦＳＲ）に入力し圧縮して、書込み時に正解のシグナチャ値を自動生成し、読出し時に書込みと同一にアドレスを歩進させて、アドレス情報と読出しデータを同様に圧縮して先に求めたシグナチャ値と比較することにより、自動的にメモリの故障をテストする方法が知られている（例えば、下記の特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平７−７３６９５号公報
【特許文献２】特許第２５１６９６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、冗長メモリの切り替え情報を記憶する不揮発性メモリの容量を削減することができるメモリ装置を提供することである。
【課題を解決するための手段】
【０００７】
メモリ装置は、複数の通常メモリセルブロック及びスペアメモリセルブロックを各々が有する複数の冗長メモリと、各々が直列に接続され、各々が数値を記憶し、前記複数の冗長メモリにそれぞれ前記数値を出力する複数のフリップフロップと、シード値を記憶する不揮発性メモリと、前記不揮発性メモリに記憶されているシード値を基に再現性のある擬似乱数を生成し、前記複数のフリップフロップに前記擬似乱数をシリアルに出力する擬似乱数生成回路とを有し、前記複数のフリップフロップは、クロック信号に同期して、前記擬似乱数生成回路により出力される擬似乱数をシリアルに転送し、前記複数の冗長メモリは、それぞれ、前記複数のフリップフロップに記憶されている数値に応じて前記複数の通常メモリセルブロックのうちのいずれかの通常メモリセルブロックを前記スペアメモリセルブロックに切り替える。
【発明の効果】
【０００８】
擬似乱数生成回路を用いることにより、不揮発性メモリの容量を削減することができる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態によるメモリ装置の構成例を示す図である。
【図２】図２（Ａ）及び（Ｂ）は図１のメモリ装置の一部の構成例を示す図である。
【図３】メモリ装置の一部の構成例を示す図である。
【図４】メモリ装置の一部の他の構成例を示す図である。
【図５】第１の実施形態によるメモリ装置の一部の構成例を示す図である。
【図６】不揮発性メモリに記憶させるシード値の決定方法を説明するための図である。
【図７】図７（Ａ）及び（Ｂ）は第２の実施形態によるメモリ装置の一部の構成例を示す図である。
【発明を実施するための形態】
【００１０】
（第１の実施形態）
図１は、第１の実施形態によるメモリ装置の構成例を示す図である。メモリ装置は、例えばＳＲＡＭ（スタティックランダムアクセスメモリ：Static Random Access Memory）である例を説明するが、ＤＲＡＭ（ダイナミックランダムアクセスメモリ：Dynamic Random Access Memory）等の他の種類のメモリであってもよい。
【００１１】
メモリセルマトリックス１０１は、２次元行列状に配列された複数のメモリセルを有する。各メモリセルは、データを記憶する。また、メモリセルは、各行がワード線に接続され、各列がビット線に接続される。メモリセルマトリックス１０１内に不良メモリセルが存在する場合には、その不良メモリセルを含む通常メモリセルカラムブロックをスペアメモリセルカラムブロック１０２に切り替えることができる。また、メモリセルマトリックス１０１内に不良メモリセルが存在する場合には、その不良メモリセルを含む通常メモリセルロウブロックをスペアメモリセルロウブロック１０３に切り替えてもよい。
【００１２】
タイミングジェネレータ１０４は、クロック信号ＣＫ、ライトイネーブル信号ＷＥ及びクロックイネーブル信号ＣＥを入力し、カラムデコーダ１０５、ライトドライバ１０９及び入力データラッチ１１０に制御信号を出力する。カラムデコーダ１０５は、制御信号をデコードし、ラッチ信号をアドレスラッチ１０６に出力し、カラム選択信号をカラムセレクタ１０８に出力する。アドレスラッチ１０６は、ラッチ信号に同期して、アドレスＡＤをラッチし、ロウデコーダ１０７に出力する。ロウデコーダ１０７は、アドレスＡＤをデコードし、メモリセルマトリックス１０１のワード線に選択信号を出力する。選択信号が供給されたメモリセルの行が選択される。
【００１３】
次に、ライト動作を説明する。入力データラッチ１１０は、ラッチ信号に同期して、入力データ（ライトデータ）Ｄｉをラッチし、ライトドライバ１０９に出力する。ライトドライバ１０９は、カラムセレクタ１０８に入力データＤｉを出力する。カラムセレクタ１０８は、カラム選択信号により選択されたメモリセルマトリックス１０１のビット線に入力データＤｉを出力する。ワード線により選択されたメモリセルには、ビット線の入力データＤｉが書き込まれる。
【００１４】
次に、リード動作を説明する。ワード線により選択されたメモリセルは、記憶しているデータをビット線に出力する。センスアンプ１１１は、カラムセレクタ１０８により選択されたビット線のデータを増幅し、出力データラッチ１１２に出力する。出力データラッチ１１２は、データをラッチし、出力データ（リードデータ）Ｄｏを出力する。
【００１５】
図２（Ａ）は、図１のメモリ装置の一部の構成例を示す図である。メモリセルマトリックス１０１は、複数の通常メモリセルカラムブロック２０１〜２０８を有する。通常メモリセルカラムブロック２０１〜２０８の各々は、複数メモリセルの列を有する。セレクタ２２１は、例えば、図１のライトドライバ１０９及びセンスアンプ１１１内に設けられる。不揮発性メモリ２２２は、「００００」の切り替え情報２２３を記憶している。すべての通常メモリセルカラムブロック２０１〜２０８が不良メモリセルを有しない場合には、「００００」の切り替え情報２２３がセレクタ２２１に入力される。セレクタ２２１は、「００００」の切り替え情報２２３を基に、８個の通常メモリセルカラムブロック２０１〜２０８のビット線を８個の外部端子２１１〜２１８に接続する。外部端子２１１〜２１８は、例えば、図１の入力データラッチ１１０又は出力データラッチ１１２の線である。スペアメモリセルカラムブロック１０２は、外部端子２１１〜２１８には接続されない。
【００１６】
図２（Ｂ）は、図２（Ａ）に対応し、第４の通常メモリセルカラムブロック２０４が不良メモリセルを有する場合の図である。切り替え情報２２３は、第４の通常メモリセルカラムブロック２０４が不良メモリセルを有することを示す２進数データ「０１００」（１０進数で「４」）である。セレクタ２２１は、「０１００」の切り替え情報２２３を基に、通常メモリセルカラムブロック２０１〜２０３、２０５〜２０８及びスペアメモリセルカラムブロック１０２のビット線をそれぞれ外部端子２１１〜２１８に接続する。不良メモリセルを有する第４の通常メモリセルカラムブロック２０４のビット線は、外部端子２１１〜２１８のいずれにも接続されない。冗長メモリは、メモリセルマトリックス１０１及びスペアメモリセルカラムブロック１０２を有し、切り替え情報２２３が示す通常メモリセルカラムブロック２０４をスペアメモリセルカラムブロック１０２に切り替える。このように、第４の通常メモリセルカラムブロック２０４が不良メモリセルを有する場合であっても、第４の通常メモリセルカラムブロック２０４をスペアメモリセルカラムブロック１０２に切り替えることにより、修復することができ、製造歩留まりを向上させることができる。通常メモリセルカラムブロック２０１〜２０８のうちで、切り替えたい１個の通常メモリセルカラムブロックは、切り替え情報２２３により指定することができる。
【００１７】
なお、上記では、通常メモリセルカラムブロック２０１〜２０８のうちのいずれかをスペアメモリセルカラムブロック１０２に切り替える場合を例に説明したが、各々が１行のメモリセルを有する複数の通常メモリセルロウブロックのうちのいずれかを図１のスペアメモリセルロウブロック１０３に切り替える場合も同様である。その場合、セレクタ２２１は、通常メモリセルロウブロック及びスペアメモリセルロウブロック１０３のワード線の切り替えを行う。また、通常メモリセルカラムブロック２０１〜２０８及びスペアメモリセルカラムブロック１０２は、それぞれ、複数のメモリセルを有する場合を例に説明するが、一つのメモリセルを有する場合にも適用できる。
【００１８】
図３は、メモリ装置の一部の構成例を示す図である。第１の冗長メモリ３０１は、例えば、図２（Ａ）及び（Ｂ）の７個の通常メモリセルカラムブロック２０１〜２０７、スペアメモリセルカラムブロック１０２及びセレクタ２２１を有し、フリップフロップ３１１〜３１３から３ビットの切り替え情報を入力する。第２の冗長メモリ３０２は、例えば、図２（Ａ）及び（Ｂ）の１５個の通常メモリセルカラムブロック２０１〜２０８等、スペアメモリセルカラムブロック１０２及びセレクタ２２１を有し、フリップフロップ３１４〜３１７から４ビットの切り替え情報を入力する。第３の冗長メモリ３０３は、例えば、図２（Ａ）及び（Ｂ）の３個の通常メモリセルカラムブロック２０１〜２０３、スペアメモリセルカラムブロック１０２及びセレクタ２２１を有し、フリップフロップ３１８，３１９から２ビットの切り替え情報を入力する。複数の通常メモリセルカラムブロックのうちのいずれかが不良メモリセルを有する場合であっても、その不良メモリセルを有する通常メモリセルカラムブロックをスペアメモリセルカラムブロック１０２に切り替えることにより、修復することができ、製造歩留まりを向上させることができる。
【００１９】
フリップフロップ３１１〜３１９は、相互に直列に接続される。不揮発性メモリ３２１は、冗長メモリ３０１〜３０３の切り替え情報を記憶し、フリップフロップ３１１〜３１９の直列接続回路に切り替え情報をシリアルに出力する。フリップフロップ３１１〜３１９は、クロック信号に同期して、切り替え情報をシリアルに転送する。
【００２０】
第１の冗長メモリ３０１は、複数の通常メモリセルカラムブロックのうちで、フリップフロップ３１１〜３１３に記憶されている切り替え情報が示す通常メモリセルカラムブロックをスペアメモリセルカラムブロック１０２に切り替える。第２の冗長メモリ３０２は、フリップフロップ３１４〜３１７に記憶されている切り替え情報が示す通常メモリセルカラムブロックをスペアメモリセルカラムブロック１０２に切り替える。第３の冗長メモリ３０３は、フリップフロップ３１８，３１９に記憶されている切り替え情報が示す通常メモリセルカラムブロックをスペアメモリセルカラムブロック１０２に切り替える。
【００２１】
この場合、フリップフロップ３１１〜３１９に９ビットの切り替え情報を記憶させるため、不揮発性メモリ３２１にも９ビットの切り替え情報を記憶する。このメモリ装置では、不揮発性メモリ３２１に記憶させる切り替え情報の量が多くなってしまう課題がある。
【００２２】
図４は、メモリ装置の一部の他の構成例を示す図である。図４のメモリ装置は、図３のメモリ装置に対して展開ロジック回路４０１が追加されている。以下、図４のメモリ装置が図３のメモリ装置と異なる点を説明する。不揮発性メモリ３２１には、切り替え情報を圧縮した情報が記憶されるので、記憶する情報量を削減することができる。圧縮方法は、例えば、ランレングス圧縮等である。展開ロジック回路４０１は、不揮発性メモリ３２１内の圧縮された切り替え情報を展開することにより、圧縮前の切り替え情報に戻し、フリップフロップ３１１〜３１９に出力する。
【００２３】
このメモリ装置は、不揮発性メモリ３２１に記憶させる情報量を削減することができるが、展開ロジック回路４０１が複雑になる課題がある。また、圧縮した切り替え情報を１度不揮発性メモリ３２１に格納した後、追加条件でのテスト等により切り替えを行う冗長メモリが増えた場合、不揮発性メモリ（ヒューズ回路）３２１の書き換えができないため、救済不能となる課題がある。不揮発性メモリ（ヒューズ回路）３２１は、ヒューズの切断により情報を書き込むため、ヒューズを一度切断すると、再接続することができないため、圧縮された切り替え情報の書き換えが不能である。
【００２４】
図５は、第１の実施形態によるメモリ装置の一部の構成例を示す図である。以下、図５のメモリ装置が図３のメモリ装置と異なる点を説明する。冗長メモリ３０１〜３０３の各々は、複数の通常メモリセルカラムブロック及びスペアメモリセルカラムブロック１０２を有する。第１の冗長メモリ３０１は、例えば、図２（Ａ）及び（Ｂ）の７個の通常メモリセルカラムブロック２０１〜２０７、スペアメモリセルカラムブロック１０２及びセレクタ２２１を有し、フリップフロップ３１１〜３１３から３ビットの切り替え情報を入力する。第２の冗長メモリ３０２は、例えば、図２（Ａ）及び（Ｂ）の１５個の通常メモリセルカラムブロック２０１〜２０８等、スペアメモリセルカラムブロック１０２及びセレクタ２２１を有し、フリップフロップ３１４〜３１７から４ビットの切り替え情報を入力する。第３の冗長メモリ３０３は、例えば、図２（Ａ）及び（Ｂ）の３個の通常メモリセルカラムブロック２０１〜２０３、スペアメモリセルカラムブロック１０２及びセレクタ２２１を有し、フリップフロップ３１８，３１９から２ビットの切り替え情報を入力する。複数の通常メモリセルカラムブロックのうちのいずれかが不良メモリセルを有する場合であっても、その不良メモリセルを有する通常メモリセルカラムブロックをスペアメモリセルカラムブロック１０２に切り替えることにより、修復することができ、製造歩留まりを向上させることができる。
【００２５】
ここでは、冗長メモリ３０１が不良メモリセルを有し、冗長メモリ３０２及び３０３が不良メモリセルを有しない場合を例に説明する。冗長メモリ３０１では、不良メモリセルを有する通常メモリセルカラムブロックをスペアメモリセルカラムブロック１０２に切り替えるための切り替え情報は、「１１０」である例を説明する。その場合、フリップフロップ３１１〜３１３には、「１１０」の切り替え情報を設定する必要がある。また、冗長メモリ３０２及び３０３は、不良メモリセルを有しないので、フリップフロップ３１４〜３１９に設定する切り替え情報は任意の値にすることができる。すなわち、冗長メモリ３０２及び３０３は、不良メモリセルを有しないので、任意の通常メモリセルカラムブロックをスペアメモリセルカラムブロック１０２に切り替えても正常に動作するし、通常メモリセルカラムブロックをスペアメモリセルカラムブロック１０２に切り替えなくても正常に動作する。したがって、フリップフロップ３１１〜３１３には「１１０」の切り替え情報を設定し、フリップフロップ３１４〜３１９には任意の値を設定すればよい。以下、その方法を説明する。
【００２６】
複数のフリップフロップ３１１〜３１９は、各々が直列に接続され、各々が数値（切り替え情報）を記憶し、複数の冗長メモリ３０１〜３０３にそれぞれ数値（切り替え情報）を出力する。
【００２７】
不揮発性メモリ３２１は、例えば「１００１」のシード値を記憶する。不揮発性メモリ３２１は、例えば、ヒューズ回路、ＲＯＭ（リードオンリーメモリ）、フラッシュメモリ等であり、電源電圧を供給しなくてもシード値を保持する。また、不揮発性メモリ３２１は、１度のみ書き込み可能なＯＴＰ（ワンタイムプログラマブル：One Time Programable）素子でもよいし、複数回書き換えが可能な素子でもよい。また、不揮発性メモリ３２１は、半導体チップの製造プロセスで形成可能なヒューズ回路が好ましい。レーザーヒューズ回路は、レーザー装置によりタングステン等で形成されるヒューズを焼き切ることにより、情報を書き込む。電気ヒューズ回路は、電気的に高電圧を印加することによりヒューズを溶断し、情報を書き込む。アンチヒューズタイプのＯＰＴ素子もあり、電気的に高電圧を印加することで酸化膜破壊を起こし導通させることにより、情報を書き込む。
【００２８】
擬似乱数生成回路５００は、不揮発性メモリ３２１に記憶されている「１００１」のシード値を基に再現性のある擬似乱数を生成し、複数のフリップフロップ３１１〜３１９に擬似乱数をシリアルに出力する。例えば、擬似乱数生成回路５００は、セレクタ５０６、フリップフロップ５０１〜５０４及び排他的論理和回路５０５を有する線形帰還シフトレジスタ（ＬＦＳＲ：linear feedback shift register）である。フリップフロップ５０１〜５０４は、相互に直列に接続されている。線形帰還シフトレジスタ５００は、排他的論理和回路５０５で帰還をかけたシフトレジスタ（フリップフロップ）であり、ｎビットのシフトレジスタを用いると、２n−１を最大周期とするビット列の擬似乱数を生成可能である。
【００２９】
まず、セレクタ５０６は、不揮発性メモリ３２１に記憶されているシード値の１ビット目の「１」をフリップフロップ５０１に出力する。フリップフロップ５０１は、クロック信号に同期して、シード値の１ビット目の「１」を記憶する。
【００３０】
次に、セレクタ５０６は、不揮発性メモリ３２１に記憶されているシード値の２ビット目の「０」をフリップフロップ５０１に出力する。フリップフロップ５０１は、クロック信号に同期してシード値の２ビット目の「０」を記憶し、フリップフロップ５０２は、クロック信号に同期してシード値の１ビット目の「１」を記憶する。
【００３１】
次に、セレクタ５０６は、不揮発性メモリ３２１に記憶されているシード値の３ビット目の「０」をフリップフロップ５０１に出力する。フリップフロップ５０１は、クロック信号に同期してシード値の３ビット目の「０」を記憶し、フリップフロップ５０２は、クロック信号に同期してシード値の２ビット目の「０」を記憶し、フリップフロップ５０３は、クロック信号に同期してシード値の１ビット目の「１」を記憶する。
【００３２】
次に、セレクタ５０６は、不揮発性メモリ３２１に記憶されているシード値の４ビット目の「１」をフリップフロップ５０１に出力する。フリップフロップ５０１は、クロック信号に同期してシード値の４ビット目の「１」を記憶し、フリップフロップ５０２は、クロック信号に同期してシード値の３ビット目の「０」を記憶し、フリップフロップ５０３は、クロック信号に同期してシード値の２ビット目の「０」を記憶し、フリップフロップ５０４は、クロック信号に同期してシード値の１ビット目の「１」を記憶する。以上の処理により、フリップフロップ５０１〜５０４には、「１００１」のシード値が設定される。
【００３３】
その後、セレクタ５０６は、排他的論理和回路５０５の出力値をフリップフロップ５０１に出力する。排他的論理和回路５０５は、フリップフロップ５０１及び５０４に記憶されているデータの排他的論理和データを出力する。「０」と「０」の排他的論理和データは「０」であり、「０」と「１」の排他的論理和データは「１」であり、「１」と「１」の排他的論理和データは「０」である。排他的論理和回路５０５は、フリップフロップ５０１に記憶されているデータ「１」とフリップフロップ５０４に記憶されているデータ「１」を入力し、排他的論理和データ「０」を出力する。
【００３４】
セレクタ５０６は、その排他的論理和データ「０」をフリップフロップ５０１に出力する。すると、クロック信号に同期して、フリップフロップ５０１は「０」を記憶し、フリップフロップ５０２は「１」を記憶し、フリップフロップ５０３は「０」を記憶し、フリップフロップ５０４は「０」を記憶し、フリップフロップ３１１は「１」を記憶する。
【００３５】
以後、同様の処理を繰り返すことにより、フリップフロップ５０１〜５０４及び３１１〜３１９がシフトレジスタ処理を行う。複数のフリップフロップ３１１〜３１９は、クロック信号に同期して、擬似乱数生成回路５００により出力される擬似乱数をシリアルに転送する。その結果、フリップフロップ３１１〜３１９には、データ「１１０００１００１」が記憶される。
【００３６】
複数の冗長メモリ３０１〜３０３は、それぞれ、複数のフリップフロップ３１１〜３１９に記憶されている数値に応じて複数の通常メモリセルカラムブロックのうちのいずれかの通常メモリセルカラムブロックをスペアメモリセルカラムブロック１０２に切り替える。具体的には、第１の冗長メモリ３０１は、フリップフロップ３１１〜３１３に記憶されている「１１０」の切り替え情報に応じて不良メモリセルを有する通常メモリセルカラムブロックをスペアメモリセルカラムブロック１０２に切り替える。第２の冗長メモリ３０２は、フリップフロップ３１４〜３１７に記憶されている「００１０」の切り替え情報に応じて不良メモリセルを有しない通常メモリセルカラムブロックをスペアメモリセルカラムブロック１０２に切り替える。第３の冗長メモリ３０３は、フリップフロップ３１８，３１９に記憶されている「０１」の切り替え情報に応じて不良メモリセルを有しない通常メモリセルカラムブロックをスペアメモリセルカラムブロック１０２に切り替える。
【００３７】
冗長メモリ３０２及び３０３は、不良メモリセルを有しないので、任意の通常メモリセルカラムブロックをスペアメモリセルカラムブロック１０２に切り替えても正常に動作する。以上のように、フリップフロップ３１１〜３１３には「１１０」の切り替え情報を設定し、フリップフロップ３１４〜３１９には任意の値を設定すればよい。
【００３８】
なお、擬似乱数生成回路５００は、不揮発性メモリ３２１に記憶されている「１００１」のシード値を基に再現性のある擬似乱数を生成するものであれば、線形帰還シフトレジスタに限定されず、セルラオートマトン等の他の擬似乱数生成回路でもよい。
【００３９】
本実施形態によれば、不揮発性メモリ３２１には、４ビットの「１００１」のシード値を記憶すればよいので、不揮発性メモリ３２１が記憶する情報量を削減することができる。
【００４０】
図６は、図５に対応し、不揮発性メモリ３２１に記憶させるシード値の決定方法を説明するための図である。ここで、不揮発性メモリ３２１に記憶させる４ビットのシード値を変数「ａ３，ａ２，ａ１，ａ０」とする。
【００４１】
まず、冗長メモリ３０１〜３０３に不良メモリセルが存在するか否かをテストする。例えば、第１の冗長メモリ３０１に不良メモリセルが存在し、その不良メモリセルを有する通常メモリセルカラムブロックをスペアメモリセルカラムブロック１０２に切り替えるための切り替え情報が「１１０」であるとする。また、冗長メモリ３０２及び３０３には不良メモリセルが存在しなかったものとする。
【００４２】
次に、不揮発性メモリ３２１に記憶させるシード値「ａ３，ａ２，ａ１，ａ０」を下記の方法により計算する。上記のように、セレクタ５０６が不揮発性メモリ３２１のシード値を選択することにより、フリップフロップ５０１〜５０４には、シード値「ａ３，ａ２，ａ１，ａ０」が記憶される。また、上記のように、フリップフロップ３１１〜３１３には、第１の冗長メモリ３０１の切り替え情報として「１１０」を設定する必要がある。また、第２の冗長メモリ３０２は不良メモリセルを有しないので、フリップフロップ３１４〜３１７に設定される第２の冗長メモリ３０２の切り替え情報は、４ビットの不定値「Ｘ，Ｘ，Ｘ，Ｘ」でよい。同様に、第３の冗長メモリ３０３は不良メモリセルを有しないので、フリップフロップ３１８，３１９に設定される第３の冗長メモリ３０３の切り替え情報も、２ビットの不定値「Ｘ，Ｘ」でよい。不定値Ｘは、任意の値でよい。
【００４３】
ここで、フリップフロップ３１８，３１９に設定される２ビット値を「ｘ１，ｘ０」とする。また、フリップフロップ３１４〜３１７に設定される４ビット値を「ｘ５，ｘ４，ｘ３，ｘ２」とする。また、フリップフロップ３１１〜３１３に設定される３ビット値を「ｘ８，ｘ７，ｘ６」とする。
【００４４】
シード値「ａ３，ａ２，ａ１，ａ０」は、下記の連立方程式の解を求めることにより得られる。ここで、「＋」は、排他的論理和の演算を示す。
【００４５】
上記のように、フリップフロップ３１１〜３１９のシフトレジスタ処理により、次式（１）〜（４）が成立する。
ｘ０＝ａ０                        ・・・（１）
ｘ１＝ａ１                        ・・・（２）
ｘ２＝ａ２                        ・・・（３）
ｘ３＝ａ３                        ・・・（４）
【００４６】
また、擬似乱数生成回路５００の演算により、次式（５）〜（９）が成立する。
ｘ４＝ａ０＋ａ３                  ・・・（５）
ｘ５＝ａ１＋ｘ４
＝ａ０＋ａ１＋ａ３            ・・・（６）
ｘ６＝ａ２＋ｘ５
＝ａ０＋ａ１＋ａ２＋ａ３      ・・・（７）
ｘ７＝ａ３＋ｘ６
＝ａ０＋ａ１＋ａ２            ・・・（８）
ｘ８＝ｘ４＋ｘ７
＝ａ１＋ａ２＋ａ３            ・・・（９）
【００４７】
第１の冗長メモリ３０１は不良メモリセルを有するので、３ビット値「ｘ８，ｘ７，ｘ６」は、次式（１０）〜（１２）の切り替え情報の値に決定される。
ｘ６＝０                          ・・・（１０）
ｘ７＝１                          ・・・（１１）
ｘ８＝１                          ・・・（１２）
【００４８】
したがって、式（７）及び（８）より、次式（１３）が成立する。
ａ３＝１                          ・・・（１３）
【００４９】
すると、式（９）より、次式（１４）が成立する。
ａ１＋ａ２＝０                    ・・・（１４）
【００５０】
すると、式（８）より、次式（１５）が成立する。
ａ０＝１                          ・・・（１５）
【００５１】
したがって、式（１３）〜（１５）を満たすには、シード値「ａ３，ａ２，ａ１，ａ０」＝「１，０，０，１」又は「ａ３，ａ２，ａ１，ａ０」＝「１，１，１，１」となる。不揮発性メモリ３２１には、シード値「ａ３，ａ２，ａ１，ａ０」として、「１，０，０，１」又は「１，１，１，１」を書き込む。これにより、フリップフロップ３１１〜３１３の切り替え情報「ｘ８，ｘ７，ｘ６」として、第１の冗長メモリ３０１の切り替え情報「１，１，０」を設定することができる。
【００５２】
ここで、不揮発性メモリ３２１がヒューズ回路の場合、ヒューズを切断した状態が「１」となり、未切断の状態が「０」となる。したがって、未切断の状態を多くするため、不揮発性メモリ３２１には、シード値「ａ３，ａ２，ａ１，ａ０」として、「１，０，０，１」を書き込むことが好ましい。
【００５３】
以上のように、不揮発性メモリ３２１のシード値は、不良メモリセルを有する通常メモリセルカラムブロックをスペアメモリセルカラムブロック１０２に切り替える冗長メモリ３０１に数値を出力するフリップフロップ３１１〜３１３に記憶させる数値「１１０」を固定値として、その他のフリップフロップ３１４〜３１９に記憶させる数値が不定値「ＸＸＸＸＸＸ」となるような擬似乱数を生成するためのシード値である。
【００５４】
図３のメモリ装置では、フリップフロップ３１１〜３１９に９ビットの切り替え情報を記憶させるため、不揮発性メモリ３２１に９ビットの切り替え情報を記憶させる必要がある。本実施形態によれば、不揮発性メモリ３２１に４ビットのシード値「１００１」を記憶させればよいので、不揮発性メモリ３２１の容量を削減することができる。
【００５５】
（第２の実施形態）
図７（Ａ）及び（Ｂ）は、第２の実施形態によるメモリ装置の一部の構成例を示す図である。以下、本実施形態が第１の実施形態と異なる点を説明する。図７（Ａ）は、第１の実施形態によりシード値が設定されたメモリ装置を示す。上記のように、不揮発性メモリ３２１のシード値は、「１００１」に設定される。これにより、フリップフリップ３１１〜３１３には、第１の冗長メモリ３０１の切り替え情報として「１１０」が設定される。フリップフリップ３１４〜３１７には、第２の冗長メモリ３０２の切り替え情報として不定値「ＸＸＸＸ」が設定される。また、フリップフリップ３１８，３１９には、第３の冗長メモリ３０３の切り替え情報として不定値「ＸＸ」が設定される。
【００５６】
その後のテストにより、第２の冗長メモリ３０２に不良メモリセルが新たに発見された場合を、以下、説明する。第２の冗長メモリ３０２の不良メモリセルを有する通常メモリセルカラムブロックをスペアメモリセルカラムブロック１０２に切り替えるための切り替え情報を例えば「１０１１」とする。
【００５７】
しかし、図５に示すように、フリップフロップ３１４〜３１７には、切り替え情報として、「１０１１」が設定されず、「００１０」が設定されている。したがって、フリップフロップ３１４〜３１７に「１０１１」を設定するために、不揮発性メモリ３２１に記憶されているシード値を再設定する必要がある。
【００５８】
図７（Ｂ）は、不揮発性メモリ３２１のシード値を再設定する方法を示す図である。不揮発性メモリ３２１は、例えばヒューズ回路であり、ヒューズを切断した状態が「１」となり、未切断の状態が「０」となる。したがって、不揮発性メモリ３２１のシード値の「１」は変更不能であり、「０」は変更可能である。したがって、図７（Ａ）の不揮発性メモリ３２１のシード値「１００１」は、図７（Ｂ）の不揮発性メモリ３２１のシード値「１ＸＸ１」として表すことができる。Ｘは変更可能なビットを示す。
【００５９】
フリップフロップ３１１〜３１３には、上記と同様に、第１の冗長メモリ３０１の不良メモリセルを有する通常メモリセルカラムブロックをスペアメモリセルカラムブロック１０２に切り替えるための切り替え情報として、「１１０」を設定する必要がある。また、フリップフロップ３１４〜３１７には、第２の冗長メモリ３０２の不良メモリセルを有する通常メモリセルカラムブロックをスペアメモリセルカラムブロック１０２に切り替えるための切り替え情報として、「１０１１」を設定する必要がある。第３の冗長メモリ３０３は、不良メモリセルを有しないので、フリップフロップ３１８及び３１９には不定値「ＸＸ」を設定すればよい。
【００６０】
第１の実施形態と同様の方法により、上記の条件を満たすシード値が存在するか否かを計算する。第１の実施形態では、不揮発性メモリ３２１のシード値は、「１００１」又は「１１１１」であれば、式（１３）〜（１５）の条件を満たす。第２の実施形態では、不揮発性メモリ３２１のシード値は、「１１１１」であれば、上記の条件を満たす。そこで、不揮発性メモリ３２１のヒューズを切断することにより、不揮発性メモリ３２１のシード値を「１００１」から「１１１１」に変更する。不揮発性メモリ３２１のシード値を「１１１１」に設定することにより、フリップフロップ３１１〜３１３に「１１０」の切り替え情報を設定し、フリップフロップ３１４〜３１７に「１０１１」の切り替え情報を設定することができる。これにより、第１の冗長メモリ３０１及び第２の冗長メモリ３０２の不良メモリセルを有する通常メモリセルカラムブロックをスペアメモリセルカラムブロック１０２に正常に切り替えることができる。
【００６１】
不揮発性メモリ３２１は、例えばヒューズ回路であり、不良メモリセルを有する通常メモリセルカラムブロックをスペアメモリセルカラムブロック１０２に切り替える冗長メモリ３０２の設定を追加する場合には、ヒューズ回路の未切断のヒューズ又はアンチヒューズを切断することにより、シード値の再設定を行うことができる。
【００６２】
本実施形態によれば、シード値を１度不揮発性メモリ３２１に書き込んだ後、追加条件でのテスト等により切り替えを行う冗長メモリ３０２が増えた場合でも、不揮発性メモリ（ヒューズ回路）３２１のシード値を書き換えることにより、冗長メモリ３０１及び３０２を正常に切り替えることができる。
【００６３】
次に、第１及び第２の実施形態の効果を説明する。例えば、図３において記憶容量が１０００ビットの不揮発性メモリ３２１が必要な複数の冗長メモリの構成を考えた場合、不良メモリセルを有する冗長メモリの割合を１０％とした場合、図５のメモリ装置の不揮発性メモリ３２１には１００ビットのシード値の設定が必要となる。不良メモリセルを有する冗長メモリを救済するには、不揮発性メモリ３２１のシード値が１００ビット以上あれば可能となる。第１の実施形態によれば、擬似乱数生成回路５００を用いることにより、不良メモリセルを有する冗長メモリの救済に必要な不揮発性メモリ３２１の記憶容量を大幅に減らすことができる。
【００６４】
また、第２の実施形態のように、救済する冗長メモリの数が増加した場合にシード値を再設定するには、余裕をみて２００ビット程度のシード値を記憶可能な不揮発性記メモリ３２１を用意すれば十分であり、１／５程度まで不揮発性メモリ３２１の記憶容量を削減可能である。図４のメモリ装置では、圧縮データを用いるため、救済する冗長メモリの数を増やすための不揮発性メモリ３２１の追加設定は困難であるが、第２の実施形態によれば可能となる。予め用意する不揮発性メモリ３２１の記憶容量が多ければ、追加設定できる可能性が向上する。
【００６５】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体的な例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００６６】
３０１  第１の冗長メモリ
３０２  第２の冗長メモリ
３０３  第３の冗長メモリ
３１１〜３１９  フリップフロップ
３２１  不揮発性メモリ
５００  擬似乱数生成回路
５０１〜５０４  フリップフロップ
５０５  排他的論理和回路
５０６  セレクタ
【図１】
2013122800.tif 000003
【図２】
2013122800.tif 000004
【図３】
2013122800.tif 000005
【図４】
2013122800.tif 000006
【図５】
2013122800.tif 000007
【図６】
2013122800.tif 000008
【図７】
2013122800.tif 000009