(57)【特許請求の範囲】
【請求項１】
複数の通常メモリセルブロック及び冗長メモリセルブロックを有する第１の冗長メモリと、
複数の通常メモリセルブロック及び冗長メモリセルブロックを有する第２の冗長メモリと、
第１の修復フラグ、第２の修復フラグ及び修復データを記憶する不揮発性メモリと、
前記不揮発性メモリに記憶されている前記第１の修復フラグを記憶するための第１の修復フラグ用フリップフロップと、
修復データを記憶するための第１の修復データ用フリップフロップ群と、
前記第１の修復フラグ用フリップフロップに直列に接続され、前記不揮発性メモリに記憶されている前記第２の修復フラグを記憶するための第２の修復フラグ用フリップフロップと、
前記第１の修復フラグ用フリップフロップに接続可能であり、修復データを記憶するための第２の修復データ用フリップフロップ群と、
前記第１の修復フラグ用フリップフロップ、前記第２の修復フラグ用フリップフロップ、前記第１の修復データ用フリップフロップ群及び前記第２の修復データ用フリップフロップ群にクロック信号を供給することにより、前記不揮発性メモリに記憶されている第２の修復フラグ及び前記第１の修復フラグを前記第２の修復フラグ用フリップフロップ及び前記第１の修復フラグ用フリップにシリアルに転送し、その後、前記不揮発性メモリに記憶されている修復データを前記第１の修復データ用フリップフロップ群にシリアルに出力すると共に、前記第１の修復データ用フリップフロップ群及び前記第２の修復データ用フリップフロップ群の修復データをシリアルに転送するデータ転送制御回路とを有し、
前記第１の冗長メモリは、前記第１の修復データ用フリップフロップ群に記憶されている修復データに応じて前記複数の通常メモリセルブロックのうちのいずれかの通常メモリセルブロックを前記冗長メモリセルブロックに切り替え、
前記第２の冗長メモリは、前記第２の修復データ用フリップフロップ群に記憶されている修復データに応じて前記複数の通常メモリセルブロックのうちのいずれかの通常メモリセルブロックを前記冗長メモリセルブロックに切り替えることを特徴とするメモリ装置。
【請求項２】
さらに、前記第１の修復フラグ用フリップフロップに記憶されている前記第１の修復フラグに応じて前記不揮発性メモリに記憶されている修復データ又は固定値の修復データを出力する第１の論理回路と、
前記第１の修復フラグ用フリップフロップに記憶されている前記第１の修復フラグに応じて前記不揮発性メモリに記憶されている修復データ又は前記第１の修復データ用フリップフロップ群に記憶されている修復データを出力する第１のセレクタと、
前記第２の修復フラグ用フリップフロップに記憶されている前記第２の修復フラグに応じて前記第１のセレクタにより出力される修復データ又は固定値の修復データを出力する第２の論理回路とを有し、
前記不揮発性メモリは、前記第１の冗長メモリの通常メモリセルブロックを冗長メモリセルブロックに切り替えるか否かを示す第１の修復フラグ、前記第２の冗長メモリの通常メモリセルブロックを冗長メモリセルブロックに切り替えるか否かを示す第２の修復フラグ、及び、前記通常メモリセルブロックを前記冗長メモリセルブロックに切り替える前記第１の冗長メモリ及び／前記第２の冗長メモリ内の前記複数の通常メモリセルブロックのうちのどの通常メモリセルブロックを前記冗長メモリセルブロックに切り替えるかを示す修復データを記憶し、
前記第１の修復データ用フリップフロップ群は、前記第１の論理回路により出力される修復データを記憶し、
前記第２の修復データ用フリップフロップ群は、前記第２の論理回路により出力される修復データを記憶し、
前記データ転送制御回路は、前記第１の修復フラグ用フリップフロップ、前記第２の修復フラグ用フリップフロップ、前記第１の修復データ用フリップフロップ群及び前記第２の修復データ用フリップフロップ群にクロック信号を供給することにより、前記不揮発性メモリに記憶されている第２の修復フラグ及び前記第１の修復フラグを前記第２の修復フラグ用フリップフロップ及び前記第１の修復フラグ用フリップにシリアルに転送し、その後、前記不揮発性メモリに記憶されている修復データを前記第１の論理回路にシリアルに出力すると共に、前記第１の修復データ用フリップフロップ群及び前記第２の修復データ用フリップフロップ群の修復データをシリアルに転送し、
前記第１の冗長メモリは、前記第１の修復データ用フリップフロップ群に記憶されている修復データが前記固定値の修復データのときには前記通常メモリセルブロックを前記冗長メモリセルブロックに切り替えず、
前記第２の冗長メモリは、前記第２の修復データ用フリップフロップ群に記憶されている修復データが前記固定値の修復データのときには前記通常メモリセルブロックを前記冗長メモリセルブロックに切り替えないことを特徴とする請求項１記載のメモリ装置。
【請求項３】
前記不揮発性メモリは、第１のダミー用修復データ、前記第１の冗長メモリ及び／又は前記第２の冗長メモリの修復データを記憶し、
前記データ転送制御回路は、前記第１のダミー用修復データを前記第１の論理回路にシリアルに出力した後に、前記第１の冗長メモリ及び／又は前記第２の冗長メモリの修復データを前記第１の論理回路にシリアルに出力することを特徴とする請求項２記載のメモリ装置。
【請求項４】
さらに、複数の通常メモリセルブロック及び冗長メモリセルブロックを有する第３の冗長メモリを有し、
前記第１の冗長メモリは、前記第１の修復データ用フリップフロップ群に記憶されている修復データの一部のデータに応じて前記複数の通常メモリセルブロックのうちのいずれかの通常メモリセルブロックを前記冗長メモリセルブロックに切り替え、
前記第３の冗長メモリは、前記第１の修復データ用フリップフロップ群に記憶されている修復データの他の一部のデータに応じて前記複数の通常メモリセルブロックのうちのいずれかの通常メモリセルブロックを前記冗長メモリセルブロックに切り替えることを特徴とする請求項２又は３記載のメモリ装置。
【請求項５】
前記不揮発メモリは、修復フラグの数及び前記第１の修復フラグ及び前記第２の修復フラグを含む修復フラグを記憶し、
前記データ転送制御回路は、前記不揮発性メモリに記憶される前記修復フラグの数に応じて、前記第１の修復フラグ及び前記第２の修復フラグを含む修復フラグを前記不揮発性メモリから読み出し、前記第２の修復フラグ用フリップフロップ及び前記第１の修復フラグ用フリップにシリアルに転送することを特徴とする請求項２〜４のいずれか１項に記載のメモリ装置。
【請求項６】
さらに、前記不揮発性メモリに記憶されている修復データを記憶する第１のバイパス用フリップフロップを有し、
前記不揮発性メモリは、前記第１の冗長メモリの前記通常メモリセルブロックを前記冗長メモリセルブロックに切り替えないときには第２のダミー用修復データを記憶し、
前記データ転送制御回路は、前記修復データ及び／又は前記第２のダミー用修復データを前記第１の論理回路及び前記第１のバイパス用フリップフロップにシリアルに出力し、
前記第１のセレクタは、前記第１の修復フラグ用フリップフロップに記憶されている前記第１の修復フラグに応じて前記第１のバイパス用フリップフロップに記憶されている修復データ又は前記第１の修復データ用フリップフロップ群に記憶されている修復データを出力することを特徴とする請求項２〜５のいずれか１項に記載のメモリ装置。
【請求項７】
さらに、前記第１の修復フラグ用フリップフロップに記憶されている修復フラグ又は前記第１のセレクタにより出力される修復データを前記第２の修復フラグ用フリップフロップ及び前記第２の論理回路に出力する第２のセレクタを有し、
前記データ転送制御回路は、前記不揮発性メモリに記憶されている第２の修復フラグ及び前記第１の修復フラグを前記第２の修復フラグ用フリップフロップ及び前記第１の修復フラグ用フリップにシリアルに転送する際には、前記第２のセレクタが前記第１の修復フラグ用フリップフロップに記憶されている修復フラグを出力するように制御し、その後、前記不揮発性メモリに記憶されている修復データを前記第１の論理回路にシリアルに出力する際には、前記第２のセレクタが前記第１のセレクタにより出力される修復データを出力するように制御することを特徴とする請求項２〜６のいずれか１項に記載のメモリ装置。
【請求項８】
前記第１の修復データ用フリップフロップ群のフリップフリップの数と前記第２の修復データ用フリップフロップ群のフリップフリップの数とは、相互に異なることを特徴とする請求項２〜７のいずれか１項に記載のメモリ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ装置に関する。
【背景技術】
【０００２】
図１は、メモリ装置の構成例を示す図である。第１の冗長メモリ１０１ａ、第２の冗長メモリ１０１ｂ及び第３の冗長メモリ１０１ｃは、それぞれ、複数の通常メモリセルブロック及び冗長メモリセルブロックを有する。複数の通常メモリセルブロックのうちのいずれかが不良メモリセルを有する場合であっても、その不良メモリセルを有する通常メモリセルブロックを冗長メモリセルブロックに切り替えることにより、修復することができ、製造歩留まりを向上させることができる。第１のフリップフロップ群１０２ａ、第２のフリップフロップ群１０２ｂ及び第３のフリップフロップ群１０２ｃは、それぞれ、例えば４個のフリップフロップを有し、相互に直列に接続される。ヒューズ回路１０５は、不揮発性メモリであり、第１の冗長メモリ１０１ａの修復データ１０３ａ、第２の冗長メモリ１０１ｂの修復データ１０３ｂ、及び第３の冗長メモリ１０１ｃの修復データ１０３ｃを記憶する。修復データ１０３ｂは、「００００」であるので、通常メモリセルブロックを冗長メモリセルブロックに切り替えないことを示す。修復データ１０３ａ及び１０３ｂは、「００００」以外のデータであるので、複数の通常メモリセルブロックのうちのどの通常メモリセルブロックを冗長メモリセルブロックに切り替えるかを示す。
【０００３】
データ転送制御回路１０４は、ヒューズ回路１０５に記憶されている修復データ１０３ｃ、１０３ｂ及び１０３ａをフリップフロップ群１０２ａ〜１０２ｃの直列接続回路にシリアルに出力し、フリップフロップ群１０２ａ〜１０２ｃに修復データ１０３ａ〜１０３ｃをシリアルに転送させる。その結果、第３のフリップフロップ群１０２ｃには修復データ１０３ｃが記憶され、第２のフリップフロップ群１０２ｂには修復データ１０３ｂが記憶され、第１のフリップフロップ群１０２ａには修復データ１０３ａが記憶される。第１の冗長メモリ１０１ａは、複数の通常メモリセルブロックのうちで、第１のフリップフロップ群１０２ａに記憶されている修復データ１０３ａが示す通常メモリセルブロックを冗長メモリセルブロックに切り替える。第２の冗長メモリ１０１ｂは、第２のフリップフロップ群１０２ｂに記憶されている修復データ１０３ｂが「００００」であるので、通常メモリセルブロックを冗長メモリセルブロックに切り替えない。第３の冗長メモリ１０１ｃは、複数の通常メモリセルブロックのうちで、第３のフリップフロップ群１０２ｃに記憶されている修復データ１０３ｃが示す通常メモリセルブロックを冗長メモリセルブロックに切り替える。
【０００４】
図２は、他のメモリ装置の構成例を示す図である（例えば、下記の特許文献１参照）。以下、図２のメモリ装置が図１のメモリ装置と異なる点を説明する。第１の冗長メモリ１０１ａ及び第３の冗長メモリ１０１ｃは不良メモリセルを有し、第２の冗長メモリ１０１ｂは不良メモリセルを有しない。ヒューズ回路１０５は、不良メモリセルを有する第１の冗長メモリ１０１ａのＩＤ（識別子）２０１ａ及び修復データ１０３ａと、不良メモリセルを有する第３の冗長メモリ１０１ｃのＩＤ２０１ｃ及び修復データ１０３ｃを記憶する。データ転送制御回路１０４は、ヒューズ回路１０５に第３の冗長メモリ１０１ｃのＩＤ２０１ｃが記憶されているので第３の冗長メモリ１０１ｃの修復データ１０３ｃを第３のフリップフロップ群１０２ｃにシリアル転送する。そして、データ転送制御回路１０４は、ヒューズ回路１０５に第２の冗長メモリ１０１ｂのＩＤが記憶されていないので固定値「００００」の修復データ１０３ｂを第２のフリップフロップ群１０２ｃにシリアル転送する。そして、データ転送制御回路１０４は、ヒューズ回路１０５に第１の冗長メモリ１０１ａのＩＤ２０１ａが記憶されているので第１の冗長メモリ１０１ａの修復データ１０３ａを第１のフリップフロップ群１０２ａにシリアル転送する。不良メモリセルを有しない第２の冗長メモリ１０１ｂの修復データ１０３ｂをヒューズ回路１０５に記憶させなくてよいので、ヒューズ回路１０５の記憶容量を削減することができる。
【０００５】
図３は、さらに他のメモリ装置の構成例を示す図である（例えば、下記の特許文献１参照）。図３のメモリ装置が図２のメモリ装置と異なる点を説明する。データ転送制御回路１０４は、３個のフリップフロップ群１０２ａ〜１０２ｃに３個の修復データ１０３ａ〜１０３ｃをパラレルに転送する。これにより、修復データ１０３ａ〜１０３ｃの転送時間を短くすることができる。しかし、冗長メモリ１０１ａ〜１０１ｃの数が多くなると、データ転送制御回路１０４とフリップフロップ群１０２ａ〜１０２ｃとの間の並列接続配線の数が増加する課題がある。
【０００６】
また、複数のメモリセルを有するメインメモリセルアレイと、複数の冗長セルを有する冗長メモリアレイと、冗長救済機構とを備えるメモリマクロと、メモリマクロを識別するメモリ識別情報を格納する不揮発性記憶素子を有する救済情報解析回路と、少なくともメモリ識別情報と救済情報とから構成された単位救済情報を救済情報解析回路に転送する救済情報転送回路とを有する半導体集積回路が知られている（例えば、下記の特許文献２参照）。
【０００７】
また、冗長救済のための構成を示す情報であるデバイス救済情報を入力することにより、欠陥部分の冗長救済を行うことが可能な複数のメモリデバイスと、メモリデバイスの識別情報とメモリデバイスのデバイス救済情報とを含む救済情報を受信し、救済情報を解析する、複数の救済情報解析回路であって、１つの救済情報解析回路が１つのメモリデバイスに対応しており、救済情報解析回路同士がシリアル転送パスでシリアルに接続されている集積回路システムが知られている（例えば、下記の特許文献３参照）。
【０００８】
また、複数のメモリセルがアレイ状に配置されたメモリセルアレイと、複数の予備のメモリセルを有し、メモリセルアレイにおける不良のメモリセルを、プログラムされたアドレス情報に基づいて特定の予備のメモリセルと置き換えるための冗長回路と、アドレス情報をプログラムするための、複数の不揮発性記憶素子を有する記憶回路と、冗長回路に対し、記憶回路にプログラムされたアドレス情報を転送するための転送回路とを有する半導体集積回路装置が知られている（例えば、下記の特許文献４参照）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００７−１９３８７９号公報
【特許文献２】特開２００９−４３３２８号公報
【特許文献３】特開２００８−２２６２８５号公報
【特許文献４】特開２００４−１３３９７０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明の目的は、並列接続配線の数を削減し、データ転送時間を短縮することができるメモリ装置を提供することである。
【課題を解決するための手段】
【００１１】
メモリ装置は、複数の通常メモリセルブロック及び冗長メモリセルブロックを有する第１の冗長メモリと、複数の通常メモリセルブロック及び冗長メモリセルブロックを有する第２の冗長メモリと、第１の修復フラグ、第２の修復フラグ及び修復データを記憶する不揮発性メモリと、前記不揮発性メモリに記憶されている前記第１の修復フラグを記憶するための第１の修復フラグ用フリップフロップと、修復データを記憶するための第１の修復データ用フリップフロップ群と、前記第１の修復フラグ用フリップフロップに直列に接続され、前記不揮発性メモリに記憶されている前記第２の修復フラグを記憶するための第２の修復フラグ用フリップフロップと、前記第１の修復フラグ用フリップフロップに接続可能であり、修復データを記憶するための第２の修復データ用フリップフロップ群と、前記第１の修復フラグ用フリップフロップ、前記第２の修復フラグ用フリップフロップ、前記第１の修復データ用フリップフロップ群及び前記第２の修復データ用フリップフロップ群にクロック信号を供給することにより、前記不揮発性メモリに記憶されている第２の修復フラグ及び前記第１の修復フラグを前記第２の修復フラグ用フリップフロップ及び前記第１の修復フラグ用フリップにシリアルに転送し、その後、前記不揮発性メモリに記憶されている修復データを前記第１の修復データ用フリップフロップ群にシリアルに出力すると共に、前記第１の修復データ用フリップフロップ群及び前記第２の修復データ用フリップフロップ群の修復データをシリアルに転送するデータ転送制御回路とを有し、前記第１の冗長メモリは、前記第１の修復データ用フリップフロップ群に記憶されている修復データに応じて前記複数の通常メモリセルブロックのうちのいずれかの通常メモリセルブロックを前記冗長メモリセルブロックに切り替え、前記第２の冗長メモリは、前記第２の修復データ用フリップフロップ群に記憶されている修復データに応じて前記複数の通常メモリセルブロックのうちのいずれかの通常メモリセルブロックを前記冗長メモリセルブロックに切り替える。
【発明の効果】
【００１２】
並列接続配線の数を削減し、データ転送時間を短縮することができる。
【図面の簡単な説明】
【００１３】
【図１】メモリ装置の構成例を示す図である。
【図２】他のメモリ装置の構成例を示す図である。
【図３】さらに他のメモリ装置の構成例を示す図である。
【図４】第１の実施形態による大規模集積回路（ＬＳＩ）の構成例を示す図である。
【図５】図４の冗長メモリの構成例を示す図である。
【図６】図６（Ａ）及び（Ｂ）は冗長メモリ内の一部の構成例を示す図である。
【図７】図４の冗長メモリ、修復データ取得回路、不揮発性メモリ及びデータ転送制御回路を有するメモリ装置の構成例を示す図である。
【図８】図７のメモリ装置の処理例を示すタイミングチャートである。
【図９】修復フラグを修復フラグ用フリップフロップにシリアル転送する図である。
【図１０】修復データを修復データ用フリップフロップ群にシリアル転送する図である。
【図１１】第２の実施形態によるメモリ装置の構成例を示す図である。
【図１２】第３の実施形態によるメモリ装置の構成例を示す図である。
【図１３】第４の実施形態によるメモリ装置の構成例を示す図である。
【図１４】第５の実施形態によるメモリ装置の構成例を示す図である。
【図１５】第６の実施形態によるメモリ装置の構成例を示す図である。
【図１６】修復フラグを修復フラグ用フリップフロップにシリアル転送する図である。
【図１７】修復データを修復データ用フリップフロップ群にシリアル転送する図である。
【発明を実施するための形態】
【００１４】
（第１の実施形態）
図４は、第１の実施形態による大規模集積回路（ＬＳＩ）４００の構成例を示す図である。大規模集積回路４００は、半導体回路であり、メモリ装置及びロジック回路４０５を有する。メモリ装置は、冗長メモリ４０１ａ〜４０１ｃ、修復データ取得回路４０２ａ〜４０２ｃ、データ転送制御回路４０３、及び不揮発性メモリ（ヒューズ回路）４０４を有する。ロジック回路４０５は、冗長メモリ４０１ａ〜４０１ｃに対してデータの書き込み及び読み出しを行うことができる。冗長メモリ４０１ａ〜４０１ｃは、例えばＳＲＡＭ（スタティックランダムアクセスメモリ：Static Random Access Memory）である例を説明するが、ＤＲＡＭ（ダイナミックランダムアクセスメモリ：Dynamic Random Access Memory）等の他の種類のメモリであってもよい。
【００１５】
図５は、図４の冗長メモリ４０１ａ〜４０１ｃの各々の構成例を示す図である。メモリセルマトリックス５０１は、複数の通常メモリセルブロック５２１〜５２７及び冗長メモリセルブロック５２０を有する。通常メモリセルブロック５２１〜５２７及び冗長メモリセルブロック５２０は、それぞれ、複数のメモリセルを有する場合を例に説明するが、一のメモリセルを有するものでもよい。メモリセルは、２次元行列状に配列され、データを記憶する。また、メモリセルは、各行がワード線に接続され、各列がビット線に接続される。
【００１６】
タイミングジェネレータ５０６は、図４のロジック回路４０５からクロック信号ＣＫ、ライトイネーブル信号ＷＥ及びクロックイネーブル信号ＣＥを入力し、カラムデコーダ５０４、ライトドライバ５０７及び入力データラッチ５０８に制御信号を出力する。カラムデコーダ５０４は、制御信号をデコードし、ラッチ信号をアドレスラッチ５０２に出力し、カラム選択信号をカラムセレクタ５０５に出力する。アドレスラッチ５０２は、ラッチ信号に同期して、ロジック回路４０５から入力したアドレスＡＤＤをラッチし、ロウデコーダ５０３に出力する。ロウデコーダ５０３は、アドレスＡＤＤをデコードし、メモリセルマトリックス５０１のワード線に選択信号を出力する。選択信号が供給されたメモリセルの行が選択される。
【００１７】
次に、ライト動作を説明する。入力データラッチ５０８は、ラッチ信号に同期して、ロジック回路４０５から入力した入力データ（ライトデータ）Ｄｉｎをラッチし、ライトドライバ５０７に出力する。また、デコーダ５０９は、図４の修復データ取得回路４０２ａ〜４０２ｃから入力した修復データＲＣをデコードし、修復選択信号をライトドライバ５０７及びセンスアンプ５１１に出力する。ライトドライバ５０７は、修復選択信号により選択されたカラムセレクタ５０５のビット線に入力データＤｉｎを出力する。カラムセレクタ５０５は、カラム選択信号により選択されたメモリセルマトリックス５０１のビット線に入力データＤｉｎを出力する。ワード線により選択されたメモリセルには、ビット線の入力データＤｉｎが書き込まれる。
【００１８】
次に、リード動作を説明する。ワード線により選択されたメモリセルは、記憶しているデータをビット線に出力する。センスアンプ５１１は、修復選択信号により選択されたカラムセレクタ５０５のビット線のデータを増幅し、出力データラッチ５１０に出力する。出力データラッチ５１０は、データをラッチし、出力データ（リードデータ）Ｄｏｕｔをロジック回路４０５に出力する。
【００１９】
図６（Ａ）は、冗長メモリ４０１ａ内の一部の構成例を示す図である。冗長メモリ４０１ｂ及び４０１ｃも、冗長メモリ４０１ａと同様の構成を有する。冗長メモリ４０１ａは、通常メモリセルブロック５２１〜５２７、冗長メモリセルブロック５２０、及びセレクタ６０１〜６０７を有する。セレクタ６０１〜６０７は、例えば、図５のライトドライバ５０７及びセンスアンプ５１１内に設けられる。すべての通常メモリセルブロック５２１〜５２７が不良メモリセルを有さない場合には、固定値「０００」の修復データＲＣが冗長メモリ４０１ａに入力される。セレクタ６０１〜６０７は、「０００」の修復データＲＣを基に、７個の通常メモリセルブロック５２１〜５２７のビット線を７本の外部線ＥＸ１〜ＥＸ７に接続する。外部線ＥＸ１〜ＥＸ７は、例えば、入力データラッチ５０８又は出力データラッチ５１０の線である。冗長メモリセルブロック５２０は、外部線ＥＸ１〜ＥＸ７には接続されない。
【００２０】
図６（Ｂ）は、図６（Ａ）に対応し、通常メモリセルブロック５２４が不良メモリセルを有する場合の図である。修復データＲＣは、第４の通常メモリセルブロック５２４が不良メモリセルを有することを示す２進数データ「１００」（１０進数で「４」）である。セレクタ６０１〜６０７は、「１００」の修復データＲＣを基に、通常メモリセルブロック５２１〜５２３、５２５〜５２７及び冗長メモリセルブロック５２０のビット線をそれぞれ外部線ＥＸ１〜ＥＸ７に接続する。不良メモリセルを有する第４の通常メモリセルブロック５２４のビット線は、外部線ＥＸ１〜ＥＸ７には接続されない。冗長メモリ４０１ａは、修復データＲＣが示す通常メモリセルブロック５２４を冗長メモリセルブロック５２０に切り替える。このように、第４の通常メモリセルブロック５２４が不良メモリセルを有する場合であっても、第４の通常メモリセルブロック５２４を冗長メモリセルブロック５２０に切り替えることにより、修復することができ、製造歩留まりを向上させることができる。通常メモリセルブロック５２１〜５２７のうちで、切り替えたい１個の通常メモリセルブロックは、修復データＲＣにより指定することができる。
【００２１】
なお、上記では、通常メモリセルブロック５２１〜５２７及び冗長メモリセルブロック５２０が１列のメモリセルを有するカラムメモリセルブロックである場合を例に説明したが、通常メモリセルブロック５２１〜５２７及び冗長メモリセルブロック５２０は１行のメモリセルを有するロウメモリセルブロックであってもよい。その場合、セレクタ６０１〜６０７は、通常メモリセルブロック５２１〜５２７及び冗長メモリセルブロック５２０のワード線の切り替えを行う。
【００２２】
図７は、図４の冗長メモリ４０１ａ〜４０１ｃ、修復データ取得回路４０２ａ〜４０２ｃ、不揮発性メモリ４０４、及びデータ転送制御回路４０３を有するメモリ装置の構成例を示す図である。ここでは、冗長メモリ４０１ａ及び４０１ｃが不良メモリセルを有し、冗長メモリ４０１ｂが不良メモリセルを有しない場合を例に説明する。冗長メモリ４０１ａ及び４０１ｃは冗長メモリセルブロック５２０への切り替えを行い、冗長メモリ４０１ｂは冗長メモリセル５２０への切り替えを行わない。
【００２３】
第１の修復データ取得回路４０２ａは、第１の修復フラグ用フリップフロップ７０１ａ、第１の論理回路７０２ａ、第１の修復データ用フリップフロップ群７０３ａ、及び第１のセレクタ７０５ａを有する。第２の修復データ取得回路４０２ｂは、第２の修復フラグ用フリップフロップ７０１ｂ、第２の論理回路７０２ｂ、第２の修復データ用フリップフロップ群７０３ｂ、及び第２のセレクタ７０５ｂを有する。第３の修復データ取得回路４０２ｃは、第３の修復フラグ用フリップフロップ７０１ｃ、第３の論理回路７０２ｃ、及び第３の修復データ用フリップフロップ群７０３ｃを有する。修復データ用フリップフロップ群７０３ａ〜７０３ｃは、それぞれ、例えば４個のフリップフロップを有し、４ビットの修復データ７０４ａ〜７０４ｃを記憶することができる。
【００２４】
冗長メモリ４０１ａ〜４０１ｃは、上記のように、それぞれ、複数の通常メモリセルブロック及び冗長メモリセルブロック５２０を有する。通常メモリセルブロックは、図５、図６（Ａ）及び（Ｂ）の通常メモリセルブロック５２１〜５２７に対応する。ただし、通常メモリセルブロックの数に応じて、修復データのビット数は変わる。不揮発性メモリ４０４は、例えばヒューズ回路であり、電源をオフにしても記憶内容を保持する。不揮発性メモリ４０４は、修復フラグ７０６ａ〜７０６ｃ及び修復データ７０４ａ，７０４ｃを記憶する。不揮発性メモリ４０４は、ヒューズ回路以外の不揮発性メモリでもよい。
【００２５】
第１の修復フラグ７０６ａは、第１の冗長メモリ４０１ａの複数の通常メモリセルブロックのうちのいずれかを冗長メモリセルブロック５２０に切り替えるか否かを示す。第２の修復フラグ７０６ｂは、第２の冗長メモリ４０１ｂの複数の通常メモリセルブロックのうちのいずれかを冗長メモリセルブロック５２０に切り替えるか否かを示す。第３の修復フラグ７０６ｃは、第３の冗長メモリ４０１ｃの複数の通常メモリセルブロックのうちのいずれかを冗長メモリセルブロック５２０に切り替えるか否かを示す。修復フラグ７０６ａ〜７０６ｃは、切り替える場合には「１」であり、切り替えない場合には「０」である。例えば、第１の修復フラグ７０６ａ及び第３の修復フラグ７０６ｃが「１」であり、第２の修復フラグ７０６ｂが「０」であるので、第１の冗長メモリ４０１ａ及び第３の冗長メモリ４０１ｃは冗長メモリセルブロック５２０への切り替えを行い、第２の冗長メモリ４０１ｂは冗長メモリセルブロック５２０への切り替えを行わない。
【００２６】
修復データ７０４ａ及び７０４ｃは、複数の通常メモリセルブロックのうちのいずれかを冗長メモリセルブロック５２０に切り替える冗長メモリ４０１ａ及び４０１ｃ内の複数の通常メモリセルブロックのうちのどの通常メモリセルブロックを冗長メモリセル５２０に切り替えるかを示す。第１の修復データ７０４ａは、例えば「０１０１」であり、第１の冗長メモリ４０１ａ内の複数の通常メモリセルブロックのうちのどの通常メモリセルブロックを冗長メモリセル５２０に切り替えるかを示す。第３の修復データ７０４ｃは、例えば「１１００」であり、第３の冗長メモリ４０１ｃ内の複数の通常メモリセルブロックのうちのどの通常メモリセルブロックを冗長メモリセル５２０に切り替えるかを示す。
【００２７】
第１の修復フラグ用フリップフロップ７０１ａは、不揮発性メモリ４０４に記憶されている第１の修復フラグ７０６ａを記憶するためのフリップフロップである。データ転送制御回路４０３は、不揮発性メモリ４０４に記憶されている修復データ７０４ｃ、７０４ａを下位ビットから順にシリアルに第１の論理回路７０２ａに出力する。第１の論理回路７０２ａは、論理積（ＡＮＤ）回路であり、第１の修復フラグ用フリップフロップ７０１ａに記憶されている第１の修復フラグ７０６ａに応じて不揮発性メモリ４０４に記憶されている修復データ７０４ｃ，７０４ａ又は固定値の修復データ「０」を出力する。具体的には、第１の論理回路７０２ａは、第１の修復フラグ用フリップフロップ７０１ａに記憶されている第１の修復フラグ７０６ａと、不揮発性メモリ４０４に記憶されている修復データ７０４ｃ，７０４ａとの論理積データを出力する。例えば、第１の修復フラグ７０６ａが「１」であるので、第１の論理回路７０２ａは、修復データ７０４ｃ及び７０４ａの下位ビット順のビット列「００１１１０１０」をシリアルに出力する。第１の修復データ用フリップフロップ群７０３ａは、第１の論理回路７０２ａにより出力される修復データを記憶する。第１のセレクタ７０５ａは、第１の修復フラグ用フリップフロップ７０１ａに記憶されている第１の修復フラグ７０６ａに応じて不揮発性メモリ４０４に記憶されている修復データ又は第１の修復データ用フリップフロップ群７０３ａに記憶されている修復データを出力する。第１のセレクタ７０５ａは、第１の修復フラグ７０６ａが「１」のときには第１の修復データ用フリップフロップ群７０３ａに記憶されている修復データを出力し、第１の修復フラグ７０６ａが「０」のときには不揮発性メモリ４０４に記憶されている修復データ７０４ｃ，７０４ａを出力する。
【００２８】
第２の修復フラグ用フリップフロップ７０１ｂは、第１の修復フラグ用フリップフロップ７０１ａに直列に接続され、不揮発性メモリ４０４に記憶されている第２の修復フラグ７０６ｂを記憶するためのフリップフロップである。第２の論理回路７０２ｂは、論理積回路であり、第２の修復フラグ用フリップフロップ７０１ｂに記憶されている第２の修復フラグ７０６ｂに応じて第１のセレクタ７０５ａにより出力される修復データ又は固定値の修復データ「０」を出力する。具体的には、第２の論理回路７０２ｂは、第２の修復フラグ用フリップフロップ７０１ｂに記憶されている第２の修復フラグ７０６ｂと、第１のセレクタ７０５ａにより出力される修復データとの論理積データを出力する。例えば、第２の修復フラグ７０６ｂが「０」であるので、第２の論理回路７０２ｂは、固定値の修復データ「０」を連続して出力する。第２の修復データ用フリップフロップ群７０３ｂは、第２の論理回路７０２ｂにより出力される修復データを記憶する。第２のセレクタ７０５ｂは、第２の修復フラグ用フリップフロップ７０１ｂに記憶されている第２の修復フラグ７０６ｂに応じて第１のセレクタ７０５ａにより出力される修復データ又は第２の修復データ用フリップフロップ群７０３ｂに記憶されている修復データを出力する。第２のセレクタ７０５ｂは、第２の修復フラグ７０６ｂが「１」のときには第２の修復データ用フリップフロップ群７０３ｂに記憶されている修復データを出力し、第２の修復フラグ７０６ｂが「０」のときには第１のセレクタ７０５ａにより出力される修復データを出力する。
【００２９】
第３の修復フラグ用フリップフロップ７０１ｃは、第２の修復フラグ用フリップフロップ７０１ｂに直列に接続され、不揮発性メモリ４０４に記憶されている第３の修復フラグ７０６ｃを記憶するためのフリップフロップである。第３の論理回路７０２ｃは、論理積回路であり、第３の修復フラグ用フリップフロップ７０１ｃに記憶されている第３の修復フラグ７０６ｃに応じて第２のセレクタ７０５ｂにより出力される修復データ又は固定値の修復データ「０」を出力する。具体的には、第３の論理回路７０２ｃは、第３の修復フラグ用フリップフロップ７０１ｃに記憶されている第３の修復フラグ７０６ｃと、第２のセレクタ７０５ｂにより出力される修復データとの論理積データを出力する。例えば、第３の修復フラグ７０６ｃが「１」であるので、第３の論理回路７０２ｃは、第２のセレクタ７０５ｂにより出力される修復データを出力する。第３の修復データ用フリップフロップ群７０３ｃは、第３の論理回路７０２ｃにより出力される修復データを記憶する。
【００３０】
なお、冗長メモリ４０１ａ〜４０１ｃ及び修復データ取得回路４０２ａ〜４０２ｃと同様に、冗長メモリ及び修復データ取得回路の組みを４個以上接続してもよい。
【００３１】
図８は図７のメモリ装置の処理例を示すタイミングチャートであり、図９は修復フラグ７０６ａ〜７０６ｃを修復フラグ用フリップフロップ７０１ａ〜７０１ｃにシリアル転送する図であり、図１０は修復データ７０４ａ〜７０４ｃを修復データ用フリップフロップ群７０３ａ〜７０３ｃにシリアル転送する図である。
【００３２】
まず、図８及び図９を参照しながら、修復フラグ７０６ａ〜７０６ｃを修復フラグ用フリップフロップ７０１ａ〜７０１ｃにシリアル転送する処理を説明する。データ転送制御回路４０３は、３ビットの修復フラグ７０６ａ〜７０６ｃに対応して３個のパルスのクロック信号ＣＫ１を修復フラグ用フリップフロップ７０１ａ〜７０１ｃに出力する。また、データ転送制御回路４０３は、不揮発性メモリ４０４内の３ビットの修復フラグ７０６ｃ，７０６ｂ，７０６ａをシリアルにフリップフロップ７０１ａに出力する。
【００３３】
フリップフロップ７０１ａは、クロック信号ＣＫ１の１個目のパルスの立ち上がりエッジに同期して、第３の修復フラグ７０６ｃの「１」をラッチして記憶する。
【００３４】
次に、フリップフロップ７０１ｂは、クロック信号ＣＫ１の２個目のパルスの立ち上がりエッジに同期して、第３の修復フラグ７０６ｃの「１」をラッチして記憶する。フリップフロップ７０１ａは、クロック信号ＣＫ１の２個目のパルスの立ち上がりエッジに同期して、第２の修復フラグ７０６ｂの「０」をラッチして記憶する。
【００３５】
次に、フリップフロップ７０１ｃは、クロック信号ＣＫ１の３個目のパルスの立ち上がりエッジに同期して、第３の修復フラグ７０６ｃの「１」をラッチして記憶する。フリップフロップ７０１ｂは、クロック信号ＣＫ１の３個目のパルスの立ち上がりエッジに同期して、第２の修復フラグ７０６ｂの「０」をラッチして記憶する。フリップフロップ７０１ａは、クロック信号ＣＫ１の３個目のパルスの立ち上がりエッジに同期して、第１の修復フラグ７０６ａの「１」をラッチして記憶する。
【００３６】
その後、フリップフロップ７０１ａは第１の修復フラグ７０６ａの「１」の記憶状態を維持し、フリップフロップ７０１ｂは第２の修復フラグ７０６ｂの「０」の記憶状態を維持し、フリップフロップ７０１ｃは第３の修復フラグ７０６ｃの「１」の記憶状態を維持する。
【００３７】
次に、図８及び図１０を参照しながら、修復データ７０４ａ〜７０４ｃを修復データ用フリップフロップ群７０３ａ〜７０３ｃにシリアル転送する処理を説明する。その後、データ転送制御回路４０３は、８ビットの修復データ７０４ｃ，７０４ａに対応して８個のパルスのクロック信号ＣＫ１を修復データ用フリップフロップ群７０３ａ〜７０３ｃに出力する。この間、修復フラグ用フリップフロップ７０１ａ〜７０１ｃのクロック信号は停止する。データ転送制御回路４０３は、不揮発性メモリ４０４内の８ビットの修復データ７０４ｃ及び７０４ａを下位ビットから順にデータ列「００１１１０１０」としてシリアルに第１の論理回路７０２ａに出力する。
【００３８】
フリップフロップ群７０３ａは、クロック信号ＣＫ１の４個目のパルスの立ち上がりエッジに同期して、第３の修復データ７０４ｃの下位１ビット目「０」をラッチして記憶する。フリップフロップ群７０３ｂは、クロック信号ＣＫ１の４個目のパルスの立ち上がりエッジに同期して、固定値の修復データ「０」をラッチして記憶する。
【００３９】
次に、フリップフロップ群７０３ａは、クロック信号ＣＫ１の５個目のパルスの立ち上がりエッジに同期して、第３の修復データ７０４ｃの下位１ビット目及び２ビット目「００」をラッチして記憶する。フリップフロップ群７０３ｂは、クロック信号ＣＫ１の５個目のパルスの立ち上がりエッジに同期して、固定値の修復データ「００」をラッチして記憶する。
【００４０】
次に、フリップフロップ群７０３ａは、クロック信号ＣＫ１の６個目のパルスの立ち上がりエッジに同期して、第３の修復データ７０４ｃの下位１ビット目〜３ビット目「１００」をラッチして記憶する。フリップフロップ群７０３ｂは、クロック信号ＣＫ１の６個目のパルスの立ち上がりエッジに同期して、固定値の修復データ「０００」をラッチして記憶する。
【００４１】
次に、フリップフロップ群７０３ａは、クロック信号ＣＫ１の７個目のパルスの立ち上がりエッジに同期して、第３の修復データ７０４ｃの下位１ビット目〜４ビット目「１１００」をラッチして記憶する。フリップフロップ群７０３ｂは、クロック信号ＣＫ１の７個目のパルスの立ち上がりエッジに同期して、固定値の修復データ「００００」をラッチして記憶する。
【００４２】
次に、フリップフロップ群７０３ａは、クロック信号ＣＫ１の８個目のパルスの立ち上がりエッジに同期して、第１の修復データ７０４ａの下位１ビット目及び第３の修復データ７０４ｃの下位２ビット目〜４ビット目「１１１０」をラッチして記憶する。フリップフロップ群７０３ｂは、クロック信号ＣＫ１の８個目のパルスの立ち上がりエッジに同期して、固定値の修復データ「００００」をラッチして記憶する。フリップフロップ群７０３ｃは、クロック信号ＣＫ１の８個目のパルスの立ち上がりエッジに同期して、第３の修復データ７０４ｃの下位１ビット目「０」をラッチして記憶する。
【００４３】
次に、フリップフロップ群７０３ａは、クロック信号ＣＫ１の９個目のパルスの立ち上がりエッジに同期して、第１の修復データ７０４ａの下位１ビット目、２ビット目及び第３の修復データ７０４ｃの下位３ビット目、４ビット目「０１１１」をラッチして記憶する。フリップフロップ群７０３ｂは、クロック信号ＣＫ１の９個目のパルスの立ち上がりエッジに同期して、固定値の修復データ「００００」をラッチして記憶する。フリップフロップ群７０３ｃは、クロック信号ＣＫ１の９個目のパルスの立ち上がりエッジに同期して、第３の修復データ７０４ｃの下位１ビット目及び２ビット目「００」をラッチして記憶する。
【００４４】
次に、フリップフロップ群７０３ａは、クロック信号ＣＫ１の１０個目のパルスの立ち上がりエッジに同期して、第１の修復データ７０４ａの下位１ビット目〜３ビット目及び第３の修復データ７０４ｃの下位４ビット目「１０１１」をラッチして記憶する。フリップフロップ群７０３ｂは、クロック信号ＣＫ１の１０個目のパルスの立ち上がりエッジに同期して、固定値の修復データ「００００」をラッチして記憶する。フリップフロップ群７０３ｃは、クロック信号ＣＫ１の１０個目のパルスの立ち上がりエッジに同期して、第３の修復データ７０４ｃの下位１ビット目〜３ビット目「１００」をラッチして記憶する。
【００４５】
次に、フリップフロップ群７０３ａは、クロック信号ＣＫ１の１１個目のパルスの立ち上がりエッジに同期して、第１の修復データ７０４ａの下位１ビット目〜４ビット目「０１０１」をラッチして記憶する。フリップフロップ群７０３ｂは、クロック信号ＣＫ１の１１個目のパルスの立ち上がりエッジに同期して、固定値の修復データ「００００」をラッチして記憶する。フリップフロップ群７０３ｃは、クロック信号ＣＫ１の１１個目のパルスの立ち上がりエッジに同期して、第３の修復データ７０４ｃの下位１ビット目〜４ビット目「１１００」をラッチして記憶する。
【００４６】
その後、フリップフロップ群７０３ａは第１の修復データ７０４ａの「０１０１」の記憶状態を維持し、フリップフロップ群７０３ｂは第２の修復データ７０４ｂの固定値「００００」の記憶状態を維持し、フリップフロップ群７０３ｃは第３の修復データ７０４ｃの「１１００」の記憶状態を維持する。
【００４７】
以上のように、データ転送制御回路４０３は、図９に示すように、修復フラグ用フリップフロップ７０１ａ〜７０１ｃにクロック信号ＣＫ１を供給することにより、不揮発性メモリに記憶されている修復フラグ７０６ａ〜７０６ｃを修復フラグ用フリップフロップ７０１ａ〜７０１ｃにシリアルに転送する。
【００４８】
その後、データ転送制御回路４０３は、図１０に示すように、修復データ用フリップフロップ群７０３ａ〜７０３ｃにクロック信号ＣＫ１を供給することにより、不揮発性メモリ４０４に記憶されている修復データ７０４ｃ，７０４ａを第１の論理回路７０２ａにシリアルに出力すると共に、修復データ用フリップフロップ群７０３ａ〜７０３ｃの修復データをシリアルに転送する。
【００４９】
第１の冗長メモリ４０１ａは、第１の修復データ用フリップフロップ群７０３ａに記憶されている修復データ７０４ａに応じて複数の通常メモリセルブロックのうちのいずれかの通常メモリセルブロックを冗長メモリセルブロック５２０に切り替える。なお、第１の冗長メモリ４０１ａは、第１の修復データ用フリップフロップ群７０３ａに記憶されている修復データ７０４ａが固定値の修復データ「００００」のときには通常メモリセルブロックを冗長メモリセルブロック５２０に切り替えない。
【００５０】
第２の冗長メモリ４０１ｂは、第２の修復データ用フリップフロップ群７０３ｂに記憶されている修復データ７０４ｂが固定値の修復データ「００００」のときには通常メモリセルブロックを冗長メモリセルブロック５２０に切り替えない。なお、修復データ７０４ｂが「００００」以外の値であるときには、第２の冗長メモリ４０１ｂは、第２の修復データ用フリップフロップ群７０３ｂに記憶されている修復データ７０４ｂに応じて複数の通常メモリセルブロックのうちのいずれかの通常メモリセルブロックを冗長メモリセルブロック５２０に切り替える。
【００５１】
第３の冗長メモリ４０１ｃは、第３の修復データ用フリップフロップ群７０３ｃに記憶されている修復データ７０４ｃに応じて複数の通常メモリセルブロックのうちのいずれかの通常メモリセルブロックを冗長メモリセルブロック５２０に切り替える。なお、第３の冗長メモリ４０１ｃは、第３の修復データ用フリップフロップ群７０３ｃに記憶されている修復データ７０４ｃが固定値の修復データ「００００」のときには通常メモリセルブロックを冗長メモリセルブロック５２０に切り替えない。
【００５２】
本実施形態によれば、冗長メモリセルブロック５２０への切り替えを行わない第２の冗長メモリ４０１ｂの修復データ７０４ｂを不揮発性メモリ４０４に記憶させなくてよいので、不揮発性メモリ４０４の記憶容量を削減することができる。近年、メモリ装置の記憶量の増大に伴い、メモリ装置は多数の通常メモリセルブロックを有する。多数の通常メモリセルブロックの中で不良メモリセルが発生する確率は極めて小さい。すなわち、多数の冗長メモリ４０１ａ〜４０１ｃの中で、不良メモリセルを有する冗長メモリの数は極めて少ない。したがって、実際には、多数の修復データ７０４ａ〜７０４ｃの中で固定値の修復データ「００００」を有するものの数は極めて大きい。その結果、不揮発性メモリ４０４は、記憶容量を大幅に削減することができる。
【００５３】
次に、本実施形態の効果を説明する。例えば、冗長メモリ４０１ａ〜４０１ｃ等の数を１００、修復データ７０４ａ〜７０４ｃ等の各々のビット数を１０ビット、不揮発性メモリ４０４に記憶する修復データの合計ビット数を２００ビット（冗長メモリ２０個分）とする。
【００５４】
図１のメモリ装置及び図２のメモリ装置では、１００個の修復データ１０３ａ〜１０３ｃ等を１００個のフリップフロップ群１０２ａ〜１０２ｃ等に転送する時間は、次式のようになる。
データ転送時間＝１００個×１０ビット
＝１０００サイクル
【００５５】
これに対し、図７のメモリ装置では、データ転送時間は、次式のように、１００個の修復フラグの転送時間と２００ビットの修復データの転送時間の合計で表される。
データ転送時間＝修復フラグの転送時間＋修復データの転送時間
＝１００ビット＋２００ビット
＝３００サイクル
【００５６】
以上のように、図７のメモリ装置は、図１のメモリ装置及び図２のメモリ装置よりも、データ転送時間を短縮することができる。
【００５７】
なお、冗長メモリセルブロック５２０への切り替えを行わない固定値の修復データは「００００」の場合を例に説明したが、その他の値であってもよい。その場合、論理回路７０２ａ〜７０２ｃは、その固定値を設定可能な回路にすればよい。
【００５８】
（第２の実施形態）
図１１は、第２の実施形態によるメモリ装置の構成例を示す図である。以下、本実施形態が第１の実施形態と異なる点を説明する。第１の実施形態では、冗長メモリ４０１ａ〜４０１ｃの修復データ７０４ａ〜７０４ｃは、すべて４ビットの同じデータ長であった。本実施形態では、冗長メモリ４０１ａ〜４０１ｃの修復データ７０４ａ〜７０４ｃは、相互に異なるデータ長を有する。すなわち、修復データ用フリップフロップ群７０３ａ〜７０３ｃのフリップフロップの数は、相互に異なる。例えば、第１の修復データ７０４ａは３ビット長であり、第１の修復データ用フリップフロップ群７０３ａは３個のフリップフロップを有する。第２の修復データ７０４ｂは２ビット長であり、第２の修復データ用フリップフロップ群７０３ｂは２個のフリップフロップを有する。第３の修復データ７０４ｃは４ビット長であり、第３の修復データ用フリップフロップ群７０３ｃは４個のフリップフロップを有する。修復データ用フリップフロップ群７０３ａ〜７０３ｃのフリップフロップの数は、それぞれ、修復データ７０４ａ〜７０４ｃのビット数と同じにする。
【００５９】
不揮発性メモリ４０４は、例えば図７と同じく８ビットの固定長の修復データ記憶領域を有する。その修復データ記憶領域には、冗長メモリセルブロック５２０への切り替えを行う修復データ７０４ａ及び７０４ｃを後方に詰めて（図１１では右に詰めて）記憶させ、前方（図１１では左）の空いた領域には第１のダミー用修復データ１１０１を記憶させる。第１のダミー用修復データ１１０１は、「０」であっても、「１」であってもよい。
【００６０】
本実施形態でも、第１の実施形態（図８）と同じ処理を行う。すなわち、クロック信号ＣＫ１の３個のパルスにより修復フラグ７０６ａ〜７０６ｃのシリアル転送を行う。第１の実施形態と同様に、修復フラグ７０６ａ〜７０６ｃは、フリップフロップ７０１ａ〜７０１ｃにシリアル転送される。そして、不揮発性メモリ４０４の８ビットの修復データ記憶領域の固定ビット長と同じ８個のパルスのクロック信号ＣＫ１により修復データ７０４ａ〜７０４ｃのシリアル転送を行う。第１のダミー用修復データ１１０１は、シリアル転送により、第３の修復データ用フリップフロップ群７０３ｃから押し出される。第３の修復データ７０４ｃは第３の修復データ用フリップフロップ群７０３ｃに設定され、第２の修復データ７０４ｂは第２の修復データ用フリップフロップ群７０３ｂに設定され、第１の修復データ７０４ａは第１の修復データ用フリップフロップ群７０３ａに設定される。
【００６１】
不揮発性メモリ４０４は、第１のダミー用修復データ１１０１、冗長メモリセルブロック５２０への切り替えを行う第３の冗長メモリ４０１ｃの修復データ７０４ｃ及び第１の冗長メモリ４０１ａの修復データ７０４ａを記憶する。データ転送制御回路４０３は、第１のダミー用修復データ１１０１を第１の論理回路７０２ａにシリアルに出力した後に、第３の冗長メモリ４０１ｃの修復データ７０４ｃ及び第１の冗長メモリ４０１ａの修復データ７０４ａを第１の論理回路７０２ａにシリアルに出力する。
【００６２】
以上のように、本実施形態によれば、修復データ７０４ａ〜７０４ｃのビット長が相互に異なっている場合にも、不揮発性メモリ４０４の修復データ記憶領域の前方の空き領域に第１のダミー用修復データ１１０１を記憶させることにより、修復データ７０４ａ〜７０４ｃを修復データ用フリップフロップ群７０３ａ〜７０３ｃにシリアルに転送することができる。
【００６３】
（第３の実施形態）
図１２は、第３の実施形態によるメモリ装置の構成例を示す図である。以下、本実施形態が第２の実施形態と異なる点を説明する。第４の冗長メモリ４０１ｄは、冗長メモリ４０１ａ〜４０１ｃと同様に、複数の通常メモリセルブロック及び冗長メモリセルブロック５２０を有する。第１の冗長メモリ４０１ａは、第１の修復データ用フリップフロップ群７０３ａに記憶されている修復データ７０４ａの一部（上位２ビット）のデータに応じて複数の通常メモリセルブロックのうちのいずれかの通常メモリセルブロックを冗長メモリセルブロック５２０に切り替える。第４の冗長メモリ４０１ｄは、第１の修復データ用フリップフロップ群７０３ａに記憶されている修復データ７０４ａの他の一部（下位２ビット）のデータに応じて複数の通常メモリセルブロックのうちのいずれかの通常メモリセルブロックを冗長メモリセルブロック５２０に切り替える。修復データ７０４ａは、上位２ビットが第１の冗長メモリ４０１ａの修復データであり、下位２ビットが第４の冗長メモリ４０１ｄの修復データである。修復フラグ７０６ａは、第１の冗長メモリ４０１ａ及び第４の冗長メモリ４０１ｄの共通の修復フラグである。データ転送制御回路４０３の処理は、第２の実施形態と同じである。
【００６４】
本実施形態によれば、第１の冗長メモリ４０１ａの修復フラグ７０６ａとは別に、第４の冗長メモリ４０１ｄに対応する修復フラグを不揮発性メモリ４０４に記憶させなくてよいので、不揮発性メモリ４０４の記憶容量を削減することができる。また、第４の冗長メモリ４０１ｄは、修復フラグ用フリップフロップ７０１ａ、論理回路７０２ａ及びセレクタ７０５ａを第１の冗長メモリ４０１ａと共用するので、第４の冗長メモリ４０１ｄの専用の修復フラグ用フリップフロップ、論理回路及びセレクタを設けなくてよく、メモリ装置の回路面積を低減することができる。
【００６５】
（第４の実施形態）
図１３は、第４の実施形態によるメモリ装置の構成例を示す図である。以下、本実施形態が第１及び第２の実施形態と異なる点を説明する。本実施形態は、修復フラグ７０６ａ〜７０６ｃの数を可変にすることができる。不揮発メモリ４０４は、修復フラグ７０６ａ〜７０６ｃ及び修復データ７０４ａ，７０４ｃの他に、修復フラグ７０６ａ〜７０６ｃの数１３０１を記憶する。例えば、３個の修復フラグ７０６ａ〜７０６ｃを不揮発性メモリ４０４に記憶させる場合には、修復フラグの数１３０１は２進数「０１１」（１０進数で「３」）になる。データ転送制御回路４０３は、不揮発性メモリ４０４に記憶される修復フラグの数１３０１に応じて、修復フラグ７０６ａ〜７０６ｃを不揮発性メモリ４０４から読み出し、修復フラグ用フリップフロップ７０１ａ〜７０１ｃにシリアルに転送する。具体的には、データ転送制御回路４０３は、修復フラグの数１３０１と同じ数のパルスのクロック信号ＣＫ１を修復フラグ用フリップフロップ７０１ａ〜７０１ｃに供給することにより、３ビットの修復フラグ７０６ａ〜７０６ｃを３個の修復フラグ用フリップフロップ７０１ａ〜７０１ｃにシリアル転送する。
【００６６】
設計中に冗長メモリの数の変更に伴って修復フラグ７０６ａ〜７０６ｃの数が変わっても、不揮発性メモリ４０４内の修復フラグの数１３０１を基に修復フラグ７０６ａ〜７０６ｃの数を判断し、修復フラグ７０６ａ〜７０６ｃをシリアル転送することができる。これにより、不揮発性メモリ４０４及びデータ転送制御回路４０３の構成を変更せずに済み、不揮発性メモリ４０４及びデータ転送制御回路４０３をマクロとして利用可能になる利点がある。
【００６７】
（第５の実施形態）
図１４は、第５の実施形態によるメモリ装置の構成例を示す図である。以下、本実施形態が第１及び第２の実施形態と異なる点を説明する。本実施形態は、クロック信号ＣＫ１を高周波数にすることができる。データ転送制御回路４０３の出力端子と第１のセレクタ７０５ａの入力端子との間を接続するバイパス線、第１のセレクタ７０５ａの出力端子と第２のセレクタ７０５ｂの入力端子との間を接続するバイパス線は、その長さが長くなると、遅延時間が長くなるため、クロック信号ＣＫ１を低周波数にしなければならない。本実施形態では、クロック信号ＣＫ１を高周波数にするため、第１のバイパス用フリップフロップ１４０１ａ及び第２のバイパス用フリップフロップ１４０１ｂを設ける。
【００６８】
第１のバイパス用フリップフロップ１４０１ａは、データ転送制御回路４０３の出力端子及び第１のセレクタ７０５ａの入力端子間に接続され、不揮発性メモリ４０４に記憶されている修復データを記憶するためのフリップフロップである。第２のバイパス用フリップフロップ１４０１ｂは、第１のセレクタ７０５ａの出力端子及び第２のセレクタ７０５ｂの入力端子間に接続され、不揮発性メモリ４０４に記憶されている修復データを記憶するためのフリップフロップである。
【００６９】
不揮発性メモリ４０４は、第２の冗長メモリ４０１ｂの通常メモリセルブロックを冗長メモリセルブロック５２０に切り替えないときには第２のダミー用修復データ１４０２ｂを記憶する。第２のダミー用修復データ１４０２ｂは、第１の修復データ７０４ａ及び第３の修復データ７０４ｃの間に記憶される。なお、第１の冗長メモリ４０１ａの通常メモリセルブロックを冗長メモリセルブロック５２０に切り替えないときには、不揮発性メモリ４０４は、修復データ７０４ａの代わりにダミー用修復データを記憶する。ダミー用修復データ１４０２ｂは、「０」でもよいし、「１」でもよい。
【００７０】
データ転送制御回路４０３は、第３の修復データ７０４ｃ、ダミー用修復データ１４０２ｂ及び第１の修復データ７０４ａを第１の論理回路７０２ａ及び第１のバイパス用フリップフロップ１４０１ａにシリアルに出力する。
【００７１】
第１のセレクタ７０５ａは、第１の修復フラグ用フリップフロップ７０１ａに記憶されている第１の修復フラグ７０６ａに応じて第１のバイパス用フリップフロップ１４０１ａに記憶されている修復データ又は第１の修復データ用フリップフロップ群７０３ａに記憶されている修復データを出力する。具体的には、第１のセレクタ７０５ａは、第１の修復フラグ７０６ａが「１」のときには第１の修復データ用フリップフロップ群７０３ａに記憶されている修復データを出力し、第１の修復フラグ７０６ａが「０」のときには第１のバイパス用フリップフロップ１４０１ａに記憶されている修復データを出力する。
【００７２】
第２のセレクタ７０５ｂは、第２の修復フラグ用フリップフロップ７０１ｂに記憶されている第２の修復フラグ７０６ｂに応じて第２のバイパス用フリップフロップ１４０１ｂに記憶されている修復データ又は第２の修復データ用フリップフロップ群７０３ｂに記憶されている修復データを出力する。具体的には、第２のセレクタ７０５ｂは、第２の修復フラグ７０６ｂが「１」のときには第２の修復データ用フリップフロップ群７０３ｂに記憶されている修復データを出力し、第２の修復フラグ７０６ｂが「０」のときには第２のバイパス用フリップフロップ１４０１ｂに記憶されている修復データを出力する。
【００７３】
データ転送制御回路４０３は、３個のパルスのクロック信号ＣＫ１を修復フラグ用フリップフロップ７０１ａ〜７０１ｃに供給することにより、修復フラグ７０６ａ〜７０６ｃを修復フラグ用フリップフロップ７０１ａ〜７０１ｃにシリアル転送する。その後、データ転送制御回路４０３は、８個のパルスのクロック信号ＣＫ１を修復データ用フリップフロップ群７０３ａ〜７０３ｃ及びバイパス用フリップフロップ１４０１ａ，１４０１ｂに供給することにより、修復データ７０４ａ〜７０４ｃを修復データ用フリップフロップ群７０３ａ〜７０３ｃにシリアル転送することができる。第１の修復データ用フリップフロップ群７０３ａには第１の修復データ７０４ａが設定され、第２の修復データ用フリップフロップ群７０３ｂには第２の修復データ７０４ｂが設定され、第３の修復データ用フリップフロップ群７０３ｃには第３の修復データ７０４ｃが設定される。第２のバイパス用フリップフロップ１４０１ｂには、ダミー用修復データ１４０２ｂが記憶される。
【００７４】
本実施形態によれば、バイパス用フリップフロップ１４０１ａ及び１４０１ｂを設けることにより、バイパス線の長さを短くして遅延時間を短縮することができるので、データ転送時のクロック信号ＣＫ１を高周波数にすることができる。
【００７５】
（第６の実施形態）
図１５は、第６の実施形態によるメモリ装置の構成例を示す図である。以下、本実施形態が第１及び第２の実施形態と異なる点を説明する。図７のメモリ装置では、修復データ取得回路４０２ａ及び４０２ｂ間を接続する線は２本であり、修復データ取得回路４０２ｂ及び４０２ｃ間を接続する線も２本である。本実施形態では、これらの接続線の数を減らすことにより、修復データ取得回路４０２ａ〜４０２ｃの間の接続の変更を容易にする。
【００７６】
セレクタ１５０１ａは、データ転送制御回路４０３の制御に応じて、第１の修復フラグ用フリップフロップ７０１ａに記憶されている修復フラグ又は第１のセレクタ７０５ａにより出力される修復データを第２の修復フラグ用フリップフロップ７０１ｂ、第２のセレクタ７０５ｂ及び第２の論理回路７０２ｂに出力する。第１の修復フラグ用フリップフロップ７０１ａは、データ転送制御回路４０３の出力端子及びセレクタ１５０１ａの入力端子間に接続される。
【００７７】
セレクタ１５０１ｂは、データ転送制御回路４０３の制御に応じて、第２の修復フラグ用フリップフロップ７０１ｂに記憶されている修復フラグ又は第２のセレクタ７０５ｂにより出力される修復データを第３の修復フラグ用フリップフロップ７０１ｃ及び第３の論理回路７０２ｃに出力する。第２の修復フラグ用フリップフロップ７０１ｂは、セレクタ１５０１ａの出力端子及びセレクタ１５０１ｂの入力端子間に接続される。
【００７８】
図１６は修復フラグ７０６ａ〜７０６ｃを修復フラグ用フリップフロップ７０１ａ〜７０１ｃにシリアル転送する図であり、図１７は修復データ７０４ａ〜７０４ｃを修復データ用フリップフロップ群７０３ａ〜７０３ｃにシリアル転送する図である。
【００７９】
まず、図１６を参照しながら、修復フラグ７０６ａ〜７０６ｃを修復フラグ用フリップフロップ７０１ａ〜７０１ｃにシリアル転送する処理を説明する。データ転送制御回路４０３は、セレクタ１５０１ａ及び１５０１ｂに「０」の選択信号を出力する。これにより、セレクタ１５０１ａは、第１の修復フラグ用フリップフロップ７０１ａに記憶されている修復フラグを選択し、第２の修復フラグ用フリップフロップ７０１ｂに出力する。セレクタ１５０１ｂは、第２の修復フラグ用フリップフロップ７０１ｂに記憶されている修復フラグを選択し、第３の修復フラグ用フリップフロップ７０１ｃに出力する。
【００８０】
次に、データ転送制御回路４０３は、３個のパルスのクロック信号ＣＫ１を修復フラグ用フリップフロップ７０１ａ〜７０１ｃに供給すると共に、不揮発性メモリ４０４内の修復フラグ７０６ｃ，７０６ｂ，７０６ａをシリアルに第１の修復フラグ用フリップフロップ７０１ａに出力する。すると、第３の修復フラグ用フリップフロップ７０１ｃに第３の修復フラグ７０６ｃが設定され、第２の修復フラグ用フリップフロップ７０１ｂに第２の修復フラグ７０６ｂが設定され、第１の修復フラグ用フリップフロップ７０１ａに第１の修復フラグ７０６ａが設定される。
【００８１】
次に、図１７を参照しながら、修復データ７０４ａ〜７０４ｃを修復データ用フリップフロップ群７０３ａ〜７０３ｃにシリアル転送する処理を説明する。その後、データ転送制御回路４０３は、セレクタ１５０１ａ及び１５０１ｂに「１」の選択信号を出力する。これにより、セレクタ１５０１ａは、第１のセレクタ７０５ａにより出力される修復データを選択し、第２のセレクタ７０５ｂに出力する。セレクタ１５０１ｂは、第２のセレクタ７０５ｂにより出力される修復データを選択し、第３の論理回路７０２ｃに出力する。
【００８２】
次に、データ転送制御回路４０３は、不揮発性メモリ４０４内の８ビットの修復データ１１０１，７０４ｃ、７０４ｂに対応して８個のパルスのクロック信号ＣＫ１を修復データ用フリップフロップ群７０３ａ〜７０３ｃに出力する。この間、修復フラグ用フリップフロップ７０１ａ〜７０１ｃのクロック信号は停止する。第２の実施形態と同様に、第３の修復データ用フリップフロップ群７０３ｃには第３の修復データ７０４ｃが設定され、第２の修復データ用フリップフロップ群７０３ｂには第２の修復データ７０４ｂが設定され、第１の修復データ用フリップフロップ群７０３ａには第１の修復データ７０４ａが設定される。
【００８３】
本実施形態によれば、修復データ取得回路４０２ａ及び４０２ｂ間を接続する線は１本であり、修復データ取得回路４０２ｂ及び４０２ｃ間を接続する線も１本である。これらの接続線の数を減らすことができるので、修復データ取得回路４０２ａ〜４０２ｃの間の接続の変更を容易にすることができる。
【００８４】
以上のように、第１〜第６の実施形態は、図１のメモリ装置及び図２のメモリ装置に対して、データ転送時間を短縮することができる。また、第１〜第６の実施形態は、図３のメモリ装置に対して、データ転送制御回路とフリップフロップ群との間の並列接続配線の数を削減することができる。
【００８５】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００８６】
４０１ａ  第１の冗長メモリ
４０１ｂ  第２の冗長メモリ
４０１ｃ  第３の冗長メモリ
４０２ａ  第１の修復データ取得回路
４０２ｂ  第２の修復データ取得回路
４０２ｃ  第３の修復データ取得回路
４０３  データ転送制御回路
４０４  不揮発性メモリ
７０１ａ  第１の修復フラグ用フリップフロップ
７０１ｂ  第２の修復フラグ用フリップフロップ
７０１ｃ  第３の修復フラグ用フリップフロップ
７０２ａ  第１の論理回路
７０２ｂ  第２の論理回路
７０２ｃ  第３の論理回路
７０３ａ  第１の修復データ用フリップフロップ群
７０３ｂ  第２の修復データ用フリップフロップ群
７０３ｃ  第３の修復データ用フリップフロップ群
７０４ａ  第１の修復データ
７０４ｂ  第２の修復データ
７０４ｃ  第３の修復データ
７０５ａ  第１のセレクタ
７０５ｂ  第２のセレクタ
７０６ａ  第１の修復フラグ
７０６ｂ  第２の修復フラグ
７０６ｃ  第３の修復フラグ
【図１】
0005720552.tif 000002
【図２】
0005720552.tif 000003
【図３】
0005720552.tif 000004
【図４】
0005720552.tif 000005
【図５】
0005720552.tif 000006
【図６】
0005720552.tif 000007
【図７】
0005720552.tif 000008
【図８】
0005720552.tif 000009
【図９】
0005720552.tif 000010
【図１０】
0005720552.tif 000011
【図１１】
0005720552.tif 000012
【図１２】
0005720552.tif 000013
【図１３】
0005720552.tif 000014
【図１４】
0005720552.tif 000015
【図１５】
0005720552.tif 000016
【図１６】
0005720552.tif 000017
【図１７】
0005720552.tif 000018