(57)【要約】      （修正有）【課題】第１不揮発性メモリをアクセスするときに、第２不揮発性メモリにおけるリードリテンション不良の影響を低減することができる半導体記憶装置を提供すること。【解決手段】  第１不揮発性メモリは、複数のデータ格納領域と少なくとも１つの冗長データ格納領域とを備えている。第２不揮発性メモリは、第１不揮発性メモリの複数のデータ格納領域の複数のアドレスのうち、置換アドレスを格納する。シーケンサは、動作命令に応答して、第２不揮発性メモリに格納された全ての置換アドレスを読み出し、レジスタ群に格納する。全ての置換アドレスは、それぞれ、前記少なくとも１つの冗長データ格納領域のアドレスに対応する。第１不揮発性メモリがアクセスされるときの入力アドレスとレジスタ群に格納された全ての置換アドレスとの比較結果に基づいて第１不揮発性メモリがアクセスされる。【選択図】図４
2006185535.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータ格納領域と少なくとも１つの冗長データ格納領域とを備える第１不揮発性メモリと、
前記第１不揮発性メモリの前記複数のデータ格納領域の複数のアドレスのうち、置換アドレスを格納する第２不揮発性メモリと、
レジスタ群と、
動作命令に応答して、前記第２不揮発性メモリに格納された全ての置換アドレスを読み出し、前記レジスタ群に格納するシーケンサと
を具備し、
前記全ての置換アドレスは、それぞれ、前記少なくとも１つの冗長データ格納領域のアドレスに対応し、
前記第１不揮発性メモリがアクセスされるときの入力アドレスと前記レジスタ群に格納された前記全ての置換アドレスとの比較結果に基づいて前記第１不揮発性メモリがアクセスされる
半導体記憶装置。
【請求項２】
前記入力アドレスを含む読出命令に応じて、前記レジスタ群に格納された前記全ての置換アドレスを読み出し、前記第１不揮発性メモリをアクセスするデコーダ
を更に具備し、
前記デコーダは、
前記レジスタ群から読み出された前記全ての置換アドレスと前記入力アドレスとが一致しないとき、前記第１不揮発性メモリの前記複数のデータ格納領域のうち、前記入力アドレスに対応するデータ格納領域からデータを読み出して出力し、
前記レジスタ群から読み出された前記全ての置換アドレスのうちの１つの置換アドレスと前記入力アドレスとが一致するとき、前記第１不揮発性メモリの前記少なくとも１つの冗長データ格納領域のうち、前記１つの置換アドレスに対応する冗長データ格納領域からデータを読み出して出力する請求項１に記載の半導体記憶装置。
【請求項３】
前記読出命令を出力するＣＰＵ
を更に具備し、
前記デコーダは、前記読出命令に応じて、前記第１不揮発性メモリをアクセスし、前記第１不揮発性メモリから読み出したデータを前記ＣＰＵに出力する請求項２に記載の半導体記憶装置。
【請求項４】
電源が投入されたときに前記動作命令を前記シーケンサに出力するリセット制御部
を更に具備する請求項１〜３のいずれかに記載の半導体記憶装置。
【請求項５】
複数のデータ格納領域と少なくとも１つの冗長データ格納領域とを備える第１不揮発性メモリと、前記第１不揮発性メモリの前記複数のデータ格納領域の複数のアドレスのうち、置換アドレスを格納する第２不揮発性メモリと、レジスタ群とを具備する半導体記憶装置において、前記第１不揮発性メモリをアクセスするメモリアクセス方法であって、
動作命令に応答して、前記第２不揮発性メモリに格納された前記全ての置換アドレスを読み出し、前記レジスタ群に格納する格納ステップと、前記全ての置換アドレスは、それぞれ、前記少なくとも１つの冗長データ格納領域のアドレスに対応し、
前記第１不揮発性メモリがアクセスされるときの入力アドレスと前記レジスタ群に格納された前記全ての置換アドレスとの比較結果に基づいて前記第１不揮発性メモリをアクセスするアクセスステップと
を含むメモリアクセス方法。
【請求項６】
前記アクセスステップは、
前記入力アドレスを含む読出命令に応じて、前記レジスタ群に格納された前記全ての置換アドレスを読み出すステップと、
前記レジスタ群から読み出された前記全ての置換アドレスと前記入力アドレスとが一致しないとき、前記第１不揮発性メモリの前記複数のデータ格納領域のうち、前記入力アドレスに対応するデータ格納領域からデータを読み出して出力するステップと、
前記レジスタ群から読み出された前記全ての置換アドレスのうちの１つの置換アドレスと前記入力アドレスとが一致するとき、前記第１不揮発性メモリの前記少なくとも１つの冗長データ格納領域のうち、前記１つの置換アドレスに対応する冗長データ格納領域からデータを読み出して出力するステップと
を含む請求項５に記載のメモリアクセス方法。
【請求項７】
データ格納領域と冗長データ格納領域とを含む第１のメモリと、
前記第１のメモリの不良アドレスを格納する不揮発性の第２のメモリと、
前記不良アドレスを格納するためのレジスタと、
前記第２のメモリに格納された不良アドレスを読み出して前記レジスタに格納するシーケンサと、
前記第１のメモリに対してアドレスが供給されたとき、前記レジスタに格納された前記不良アドレスと前記供給されたアドレスとの比較結果に基づいて前記第１のメモリの前記データ格納領域と前記冗長データ格納領域との一方を選択してアクセスするデコーダとを備えることを特徴とする半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置に関し、特に、不揮発性メモリが搭載された半導体記憶装置に関する。
【背景技術】
【０００２】
従来、メモリのデータ格納領域（メモリセル又はセクタ）に不具合があった場合、不具合のあるデータ格納領域のアドレスをメモリの冗長データ格納領域（冗長メモリセル又は冗長セクタ）のアドレスに置き換える技術がある。そこで、不具合のあるデータ格納領域のアドレスを保持するために、電源を切っても記憶内容を保持することができる不揮発性メモリ（例示；フラッシュメモリ）が用いられていた。
【０００３】
このような不揮発性メモリを備えた半導体記憶装置の構成を図１に示す。この半導体記憶装置は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０２、第１フラッシュメモリ部１１０、第２フラッシュメモリ部１２０を具備している。
【０００４】
第１フラッシュメモリ部１１０は、第１フラッシュメモリ１１１と、デコーダ１１４とを含み、第１フラッシュメモリ１１１は、複数のデータ格納領域と、少なくとも１つの冗長データ格納領域とを備えている。
【０００５】
第２フラッシュメモリ部１２０は、第２フラッシュメモリ１２１を含んでいる。第２フラッシュメモリ１２１には、プログラムコード１２２−１〜１２２−Ｎが格納されている。プログラムコード１２２−１〜１２２−Ｎは、それぞれ、複数のアドレスと、複数の欠陥情報とを含んでいる。複数のアドレスは、それぞれ、第１フラッシュメモリ１１１の複数のデータ格納領域１１２−１〜１１２−Ｎに対応するアドレスである。複数の欠陥情報の各々は、“１”又は“０”を表している。例えば、プログラムコード１２２−Ｊ（Ｊは１≦Ｊ≦Ｎを満たす整数）に含まれる欠陥情報が“１”の場合、プログラムコード１２２−Ｊに含まれるアドレスは、冗長データ格納領域１１３−１のアドレスに対応する。
【０００６】
ＣＰＵ１０２は、その動作の一つとして命令実行処理を行なう。命令実行処理において、ＣＰＵ１０２は、入力アドレスを含む読出命令１５３をデコーダ１１４に出力する。この場合、デコーダ１１４は、読出命令１５３を受け取ったとき、その動作の一つとして置換制御処理を行なう。置換制御処理において、デコーダ１１４は、読出命令１５３に応じて、第２フラッシュメモリ１２１に格納された全てのプログラムコード１２２−１〜１２２−Ｎを読み出し、読出命令１５３に含まれる入力アドレスと、プログラムコード１２２−１〜１２２−Ｎに含まれるアドレスとの比較結果に基づいて第１フラッシュメモリ１１１をアクセスし、第１フラッシュメモリ１１１から読み出したデータ１５４をＣＰＵ１０２に出力する。
【０００７】
これに関連する技術として、特開２００１−２３３９１号公報には、データ格納領域の欠陥情報をフラッシュメモリに格納するフラッシュメモリ装置が記載されている。
【０００８】
【特許文献１】特開２００１−２３３９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述の半導体記憶装置では、命令実行処理、置換制御処理を実行する度に、第２フラッシュメモリ１２１からプログラムコード１２２−１〜１２２−Ｎを読み出すため、第２フラッシュメモリ１２１へのアクセス回数が多くなる。そのため、以下に示すリードリテンション（Ｒｅａｄ  Ｒｅｔｅｎｔｉｏｎ）不良が発生する。
【００１０】
特定メモリセルからデータを読み出す場合、ワード線を立ち上げて（選択して）、所定のビット線のデータを読み出しているが、特定メモリセル以外のメモリセルでも、同じワード線に繋がっているメモリセルには、データを書き込むときと同じ方向に僅かな電界が発生する。このため、特定メモリセル以外のメモリセルでも浮遊ゲートと基板との間に形成された僅かな電界によって、浮遊ゲートに徐々に電子が注入され、消去状態“１”から書込状態“０”に反転する。すなわち、読み出しを行うことによって、弱い書き込みが実行されデータが壊れる、いわゆるリードリテンション不良が発生する。
【００１１】
したがって、本発明の課題は、不具合のあるデータ格納領域のアドレス（置換アドレス、又は、不良アドレスと称する）が格納された不揮発性メモリのリードリテンション不良の影響を低減することができる半導体記憶装置を提供することにある。
【課題を解決するための手段】
【００１２】
以下に、［発明を実施するための最良の形態］で使用する番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］の記載との対応関係を明らかにするために付加されたものであるが、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１３】
本発明の半導体記憶装置（１）は、第１不揮発性メモリ（１１）と、第２不揮発性メモリ（２１）と、レジスタ群（３０）と、シーケンサ（５）とを具備している。
前記第１不揮発性メモリ（１１）は、複数のデータ格納領域（１２−１〜１２−ｎ）と少なくとも１つの冗長データ格納領域（１３−１、１３−２）とを備えている。
前記第２不揮発性メモリ（２１）は、前記第１不揮発性メモリ（１１）の前記複数のデータ格納領域（１２−１〜１２−ｎ）の複数のアドレスのうち、置換アドレス（２２−１、２２−２）を格納する。
前記シーケンサ（５）は、動作命令（５１）に応答して、前記第２不揮発性メモリ（２１）に格納された全ての置換アドレス（２２−１、２２−２）を読み出し、前記レジスタ群（３０）に格納する（Ｓ１、Ｓ２）。
前記全ての置換アドレス（２２−１、２２−２）は、それぞれ、前記少なくとも１つの冗長データ格納領域（１３−１、１３−２）のアドレスに対応する。
前記第１不揮発性メモリ（１１）がアクセスされるときの入力アドレスと前記レジスタ群（３０）に格納された前記全ての置換アドレス（２２−１、２２−２）との比較結果に基づいて前記第１不揮発性メモリ（１１）がアクセスされる。
【００１４】
本発明の半導体記憶装置（１）は、データ格納領域（１２−１〜１２−ｎ）と冗長データ格納領域（１３−１、１３−２）とを含む第１のメモリ（１１）と、前記第１のメモリ（１１）の不良アドレス（２２−１、２２−２）を格納する不揮発性の第２のメモリ（２１）と、前記不良アドレス（２２−１、２２−２）を格納するためのレジスタ（３０）と、前記第２のメモリ（２１）に格納された不良アドレス（２２−１、２２−２）を読み出して前記レジスタ（３０）に格納するシーケンサ（５）と、前記第１のメモリ（１１）に対してアドレスが供給されたとき、前記レジスタ（３０）に格納された前記不良アドレス（２２−１、２２−２）と前記供給されたアドレスとの比較結果に基づいて前記第１のメモリ（１１）の前記データ格納領域（１２−１〜１２−ｎ）と前記冗長データ格納領域（１３−１、１３−２）との一方を選択してアクセスするデコーダ（１４）とを備えている。
【発明の効果】
【００１５】
以上の構成により、本発明の半導体記憶装置では、第２フラッシュメモリへのアクセス回数が減少する。したがって、本発明の半導体記憶装置は、置換アドレス（不良アドレス）が格納された第２不揮発性メモリのリードリテンション不良の影響を低減することができる。
【発明を実施するための最良の形態】
【００１６】
以下に添付図面を参照して、本発明の半導体記憶装置について詳細に説明する。
【００１７】
図２は、本発明の半導体記憶装置１の構成を示すブロック図である。本発明の半導体記憶装置１は、ＣＰＵ２、フラッシュマクロ４−１〜４−４、シーケンサ５、リセット制御部６、内部リセット制御部７を具備している。ＣＰＵ２、フラッシュマクロ４−１〜４−４、シーケンサ５、内部リセット制御部７は、図示しないクロックに応じて動作する。
リセット制御部６は、電源が投入されたときに端子リセット信号５１を動作命令としてシーケンサ５に出力する。リセット制御部６としては、ユーザが操作するためのスイッチが例示される。
内部リセット制御部７は、図３に示されるように、端子リセット信号５１を受け取った時間から所定期間Ｔが経過したとき、内部リセット信号５２をＣＰＵ２に出力する。所定期間Ｔは、図示しないクロックが内部リセット制御部７に供給される数によって決定される。
【００１８】
シーケンサ５は、端子リセット信号５１に応じて、フラッシュマクロ４−１〜４−４をアクセスし、後述の初期設定処理を行なう。図３に示されるように、初期設定処理は、所定期間Ｔに行なわれる。シーケンサ５は、所定期間Ｔにおいて、フラッシュマクロ４−１〜４−４のアドレスを替えながら、順次にアクセスするか、一括してアクセスする。以下、シーケンサ５が例えばフラッシュマクロ４−１にアクセスした場合についてのみ説明する。
【００１９】
ＣＰＵ２は、内部リセット信号５２を受け取ったとき、後述の命令実行処理を行なう。図３に示されるように、命令実行処理は、所定期間Ｔが経過したときの初期設定処理の後に行なわれる。命令実行処理において、ＣＰＵ２は、入力アドレスを含む読出命令を、バス３を介して例えばフラッシュマクロ４−１に出力する。この場合、フラッシュマクロ４−１は、読出命令に応じて、データを、バス３を介してＣＰＵ２に出力する。
【００２０】
図４は、本発明のの半導体記憶装置１のフラッシュマクロ４−ｉ（ｉは１≦ｉ≦４を満たす整数）の構成を示すブロック図である。フラッシュマクロ４−ｉは、第１フラッシュメモリ部１０、第２フラッシュメモリ部２０、レジスタ群３０を具備している。
【００２１】
第１フラッシュメモリ部１０は、第１フラッシュメモリ１１と、デコーダ１４とを含んでいる。第１フラッシュメモリ１１は、複数のデータ格納領域（セクタ）と、少なくとも１つの冗長データ格納領域（冗長セクタ）とを備えている。ここで、複数のデータ格納領域をデータ格納領域１２−１〜１２−ｎ（ｎは１以上の整数）と表すものとする。また、少なくとも１つの冗長データ格納領域は２つ存在し、その冗長データ格納領域を冗長データ格納領域１３−１、１３−２と表すものとする。
【００２２】
第２フラッシュメモリ部２０は、第２フラッシュメモリ２１を含んでいる。第２フラッシュメモリ２１には、置換コード２２−１、２２−２が格納されている。置換コード２２−１、２２−２は、それぞれ、複数の置換アドレスと、複数の置換情報とを含んでいる。複数の置換アドレスは、それぞれ、第１フラッシュメモリ１１の複数のデータ格納領域１２−１、１２−ｊ（ｊは１≦ｊ≦ｎを満たす整数）に対応するアドレスである。複数の置換情報の各々は、“０”又は“１”を表している。例えば、置換コード２２−２に含まれる置換情報が“０”の場合、置換コード２２−２に含まれるアドレスは、冗長データ格納領域１３−２のアドレスに対応する。
【００２３】
レジスタ群３０は、レジスタ３１、３２とを含んでいる。シーケンサ５は、端子リセット信号５１に応じて、フラッシュマクロ４−１内の第２フラッシュメモリ２１に格納された全ての置換コード２２−１、２２−２を読み出し、フラッシュマクロ４−１内のレジスタ群３０に格納する。このとき、レジスタ３１、３２には、置換コード２２−１、２２−２がこの順で格納される。
【００２４】
本発明の半導体記憶装置１では、第１フラッシュメモリ１１内のデータ格納領域の欠陥の数により、出荷するか否かが決定される。出荷するか否かを決定する条件には、（Ａ）の場合と、（Ｂ）の場合と、（Ｃ）の場合とが挙げられる。
【００２５】
（Ａ）の場合では、第１フラッシュメモリ１１内のデータ格納領域の欠陥の数が３つ以上であり、例えば、データ格納領域１２−１、１２−２、１２−ｊが欠陥である。この場合、欠陥であるデータ格納領域の数が多く、データ格納領域１２−１、１２−２、１２−ｊを冗長データ格納領域１３−１、１３−２に割り当てられないので、半導体記憶装置１を出荷しない。
【００２６】
（Ｂ）の場合では、第１フラッシュメモリ１１内のデータ格納領域の欠陥の数が１つであり、例えば、データ格納領域１２−ｊのみが欠陥である。この場合、出荷前に、任意に置換アドレスとして“００００Ｈ”を選択し、置換アドレス“００００Ｈ”と置換情報“１”とを含む置換コード２２−２を第２フラッシュメモリ２１に書きこんでおく。また、出荷前に、欠陥であるデータ格納領域１２−ｊに対応する置換アドレス“１０００Ｈ”と、置換情報“０”とを含む置換コード２２−２を第２フラッシュメモリ２１に書きこんでおく。このように、データ格納領域１２−ｊが冗長データ格納領域１３−２に割り当てられるので、半導体記憶装置１を出荷することができる。冗長データ格納領域１３−１に割り当てられたデータ格納領域１２−１は、ダミーな情報として扱われる。
【００２７】
（Ｃ）の場合では、第１フラッシュメモリ１１内のデータ格納領域の欠陥の数が２つであり、例えば、データ格納領域１２−１、１２−ｊが欠陥である。この場合、出荷前に、欠陥であるデータ格納領域１２−１に対応する置換アドレス“００００Ｈ”と、置換情報“０”とを含む置換コード２２−１を第２フラッシュメモリ２１に書きこんでおく。また、出荷前に、欠陥であるデータ格納領域１２−ｊに対応する置換アドレス“１０００Ｈ”と、置換情報“０”とを含む置換コード２２−２を第２フラッシュメモリ２１に書きこんでおく。このように、データ格納領域１２−１、１２−ｊが冗長データ格納領域１３−１、１３−２に割り当てられるので、半導体記憶装置１を出荷することができる。
【００２８】
本発明の半導体記憶装置１の動作について説明する。
【００２９】
シーケンサ５は、その動作の一つとして初期設定処理を行なう。初期設定処理について図５を用いて説明する。
【００３０】
シーケンサ５は、端子リセット信号５１に応じて、フラッシュマクロ４−１をアクセスする。このとき、シーケンサ５は、フラッシュマクロ４−１内の第２フラッシュメモリ２１に格納された全ての置換コード２２−１、２２−２を読み出す（ステップＳ１）。
シーケンサ５は、読み出した全ての置換コード２２−１、２２−２を、それぞれ、フラッシュマクロ４−１内のレジスタ群３０のレジスタ３１、３２に格納する（ステップＳ２）。
【００３１】
ＣＰＵ２は、内部リセット信号５２を受け取ったとき、その動作の一つとして命令実行処理を行なう。命令実行処理において、ＣＰＵ２は、入力アドレスを含む読出命令５３をフラッシュマクロ４−１に出力する。この場合、フラッシュマクロ４−１において、デコーダ１４は、読出命令５３を受け取ったとき、その動作の一つとして置換制御処理を行なう。置換制御処理において、フラッシュマクロ４−１内のデコーダ１４は、読出命令５３に応じて、フラッシュマクロ４−１内の第１フラッシュメモリ１１をアクセスし、その第１フラッシュメモリ１１から読み出したデータをＣＰＵ２に出力する。
【００３２】
命令実行処理、置換制御処理について、（Ｂ）の場合を例にして説明する。
【００３３】
（Ｂ−１）まず、ＣＰＵ２が、入力アドレス“００００Ｈ”を含む読出命令５３を行なったとき、そのアドレス“００００Ｈ”に対応する置換情報が“１”を表す場合について、図６、図７を用いて説明する。
【００３４】
ＣＰＵ２は、入力アドレス“００００Ｈ”を含む読出命令５３をフラッシュマクロ４−１内のデコーダ１４に出力する（ステップＳ１０）。
フラッシュマクロ４−１において、デコーダ１４は、読出命令５３に応じて、レジスタ群３０に格納された全ての置換コード２２−１、２２−２を読み出す（ステップＳ１１）。
デコーダ１４は、読出命令５３に含まれる入力アドレス“００００Ｈ”と、置換コード２２−１、２２−２に含まれるアドレスとを比較する（ステップＳ１２）。
ここで、アドレスを比較した結果、読出命令５３に含まれる入力アドレス“００００Ｈ”は、置換コード２２−１に含まれるアドレス“００００Ｈ”と一致している（ステップＳ１２−ＹＥＳ）。この場合、デコーダ１４は、置換コード２２−１に含まれる置換情報が“０”を表すか否かを調べる（ステップＳ１３）。
置換情報を調べた結果、置換コード２２−１に含まれる置換情報が“１”を表している（ステップＳ１３−ＮＯ）。この場合、デコーダ１４は、第１フラッシュメモリ１１の複数のデータ格納領域１２−１〜１２−ｎのうち、入力アドレス“００００Ｈ”に対応するデータ格納領域１２−１からデータを読み出す（ステップＳ１４）。
デコーダ１４は、読み出したデータをデータ５４としてＣＰＵ２に出力する（ステップＳ１６）。
【００３５】
一方、アドレスを比較した結果、読出命令５３に含まれる入力アドレス“００００Ｈ”は、置換コード２２−１に含まれるアドレス“００００Ｈ”と一致していない（ステップＳ１２−ＮＯ）。この場合でも、デコーダ１４は、ステップＳ１４、Ｓ１６を実行する。
【００３６】
（Ｂ−２）次に、ＣＰＵ２が、入力アドレス“１０００Ｈ”を含む読出命令５３を行なったとき、そのアドレス“１０００Ｈ”に対応する置換情報が“０”を表す場合について、図６、図８を用いて説明する。
【００３７】
ＣＰＵ２は、入力アドレス“１０００Ｈ”を含む読出命令５３をフラッシュマクロ４−１内のデコーダ１４に出力する（ステップＳ１０）。
フラッシュマクロ４−１において、デコーダ１４は、読出命令５３に応じて、レジスタ群３０に格納された全ての置換コード２２−１、２２−２を読み出す（ステップＳ１１）。
デコーダ１４は、読出命令５３に含まれる入力アドレス“１０００Ｈ”と、置換コード２２−１、２２−２に含まれるアドレスとを比較する（ステップＳ１２）。
ここで、アドレスを比較した結果、読出命令５３に含まれる入力アドレス“１０００Ｈ”は、置換コード２２−ｊに含まれるアドレス“１０００Ｈ”と一致している（ステップＳ１２−ＹＥＳ）。この場合、デコーダ１４は、置換コード２２−ｊに含まれる置換情報が“０”を表すか否かを調べる（ステップＳ１３）。
置換情報を調べた結果、置換コード２２−ｊに含まれる置換情報が“０”を表している（ステップＳ１３−ＹＥＳ）。この場合、デコーダ１４は、第１フラッシュメモリ１１の冗長データ格納領域１３−１、１３−２のうち、置換コード２２−ｊに含まれるアドレス“１０００Ｈ”に対応する冗長データ格納領域１３−２からデータを読み出す（ステップＳ１５）。
デコーダ１４は、読み出したデータをデータ５４としてＣＰＵ２に出力する（ステップＳ１６）。
【００３８】
このように、本発明の半導体記憶装置１では、（Ｂ）の場合において、電源が投入されたときに、シーケンサ５は、初期設定処理として、フラッシュマクロ４−１内の第２フラッシュメモリ２１に格納された全ての置換コード２２−１、２２−２を読み出し、フラッシュマクロ４−１内のレジスタ群３０に格納する。ＣＰＵ２は、命令実行処理として、入力アドレスを含む読出命令５３をフラッシュマクロ４−１内のデコーダ１４に出力する。このとき、デコーダ１４は、置換制御処理として、第１フラッシュメモリ１１がアクセスされるときの入力アドレスとレジスタ群３０に格納された全ての置換アドレスとの比較結果に基づいて、第１フラッシュメモリ１１内のデータ格納領域又は冗長データ格納領域をアクセスする。即ち、本発明の半導体記憶装置１では、電源が投入されたときだけ、第２フラッシュメモリ２１から置換コード２２−１、２２−２（置換アドレス、置換情報）を読み出し、命令実行処理、置換制御処理を実行するときに、レジスタ群３０から置換コード２２−１、２２−２を読み出している。このため、本発明の半導体記憶装置１では、第２フラッシュメモリ２１へのアクセス回数が減少する。したがって、本発明の半導体記憶装置１では、置換コード２２−１、２２−２（置換アドレス、置換情報）が格納された第２フラッシュメモリ２１のリードリテンション不良の影響を低減することができる。
【００３９】
また、本発明では、リードリテンション不良の影響を受けにくいため、（Ｂ）の場合における半導体記憶装置１を出荷することができる。
【００４０】
次に、命令実行処理、置換制御処理について、（Ｃ）の場合を例にして説明する。
【００４１】
（Ｃ−１）まず、ＣＰＵ２が、入力アドレス“００００Ｈ”を含む読出命令５３を行なったとき、そのアドレス“００００Ｈ”に対応する置換情報が“０”を表す場合について、図６、図９を用いて説明する。
【００４２】
ＣＰＵ２は、入力アドレス“００００Ｈ”を含む読出命令５３をフラッシュマクロ４−１内のデコーダ１４に出力する（ステップＳ１０）。
フラッシュマクロ４−１において、デコーダ１４は、読出命令５３に応じて、レジスタ群３０に格納された全ての置換コード２２−１、２２−２を読み出す（ステップＳ１１）。
デコーダ１４は、読出命令５３に含まれる入力アドレス“００００Ｈ”と、置換コード２２−１、２２−２に含まれるアドレスとを比較する（ステップＳ１２）。
ここで、アドレスを比較した結果、読出命令５３に含まれる入力アドレス“００００Ｈ”は、置換コード２２−１に含まれるアドレス“００００Ｈ”と一致している（ステップＳ１２−ＹＥＳ）。この場合、デコーダ１４は、置換コード２２−１に含まれる置換情報が“０”を表すか否かを調べる（ステップＳ１３）。
置換情報を調べた結果、置換コード２２−１に含まれる置換情報が“０”を表している（ステップＳ１３−ＹＥＳ）。この場合、デコーダ１４は、第１フラッシュメモリ１１の冗長データ格納領域１３−１、１３−２のうち、置換コード２２−１に含まれるアドレス“００００Ｈ”に対応する冗長データ格納領域１３−１からデータを読み出す（ステップＳ１５）。
デコーダ１４は、読み出したデータをデータ５４としてＣＰＵ２に出力する（ステップＳ１６）。
【００４３】
（Ｃ−２）次に、ＣＰＵ２が、入力アドレス“１０００Ｈ”を含む読出命令５３を行なったとき、そのアドレス“１０００Ｈ”に対応する置換情報が“０”を表す場合について、図６、図１０を用いて説明する。ここで、（Ｃ−２）における命令実行処理の読出動作は、（Ｂ−２）における命令実行処理と同じである。
【００４４】
ＣＰＵ２は、入力アドレス“１０００Ｈ”を含む読出命令５３をフラッシュマクロ４−１内のデコーダ１４に出力する（ステップＳ１０）。
フラッシュマクロ４−１において、デコーダ１４は、読出命令５３に応じて、レジスタ群３０に格納された全ての置換コード２２−１、２２−２を読み出す（ステップＳ１１）。
デコーダ１４は、読出命令５３に含まれる入力アドレス“１０００Ｈ”と、置換コード２２−１、２２−２に含まれるアドレスとを比較する（ステップＳ１２）。
ここで、アドレスを比較した結果、読出命令５３に含まれる入力アドレス“１０００Ｈ”は、置換コード２２−ｊに含まれるアドレス“１０００Ｈ”と一致している（ステップＳ１２−ＹＥＳ）。この場合、デコーダ１４は、置換コード２２−ｊに含まれる置換情報が“０”を表すか否かを調べる（ステップＳ１３）。
置換情報を調べた結果、置換コード２２−ｊに含まれる置換情報が“０”を表している（ステップＳ１３−ＹＥＳ）。この場合、デコーダ１４は、第１フラッシュメモリ１１の冗長データ格納領域１３−１、１３−２のうち、置換コード２２−ｊに含まれるアドレス“１０００Ｈ”に対応する冗長データ格納領域１３−２からデータを読み出す（ステップＳ１５）。
デコーダ１４は、読み出したデータをデータ５４としてＣＰＵ２に出力する（ステップＳ１６）。
【００４５】
このように、本発明の半導体記憶装置１では、（Ｃ）の場合においても、電源が投入されたときだけ、第２フラッシュメモリ２１から置換コード２２−１、２２−２（置換アドレス、置換情報）を読み出し、命令実行処理、置換制御処理を実行するときに、レジスタ群３０から置換コード２２−１、２２−２を読み出している。このため、本発明の半導体記憶装置１では、第２フラッシュメモリ２１へのアクセス回数が減少する。したがって、本発明の半導体記憶装置１では、置換コード２２−１、２２−２（置換アドレス、置換情報）が格納された第２フラッシュメモリ２１におけるリードリテンション不良の影響を低減することができる。
【００４６】
また、本発明では、リードリテンション不良の影響を受けにくいため、（Ｃ）の場合における半導体記憶装置１を出荷することができる。
【００４７】
上述の実施形態では、第１フラッシュメモリ１１が不揮発性のフラッシュメモリであるものについて説明したが、不揮発性のフラッシュメモリに限定されず、冗長メモリセルを備えるメモリであれば適用可能である。また、第２フラッシュメモリ２１として不揮発性のフラッシュメモリであるもについて説明したが、リードリテンション不良を起こす不揮発性のメモリであれば適用可能である。
【図面の簡単な説明】
【００４８】
【図１】図１は、従来の半導体記憶装置の構成を示すブロック図である。
【図２】図２は、本発明の半導体記憶装置１の構成を示すブロック図である。
【図３】図３は、本発明の半導体記憶装置１における端子リセット信号５１、内部リセット信号５２を表すタイミングチャートである。
【図４】図４は、本発明のの半導体記憶装置１のフラッシュマクロ４−ｉ（ｉは１≦ｉ≦４を満たす整数）の構成を示すブロック図である。
【図５】図５は、本発明の半導体記憶装置１の動作として初期設定処理を示すフローチャートである。
【図６】図６は、本発明の半導体記憶装置１の動作として命令実行処理、置換制御処理を示すフローチャートである。
【図７】図７は、本発明の半導体記憶装置１の動作を説明するための図である。
【図８】図８は、本発明の半導体記憶装置１の動作を説明するための図である。
【図９】図９は、本発明の半導体記憶装置１の動作を説明するための図である。
【図１０】図１０は、本発明の半導体記憶装置１の動作を説明するための図である。
【符号の説明】
【００４９】
１    半導体記憶装置
２    ＣＰＵ
３    バス
４−１〜４−４    フラッシュマクロ
５    シーケンサ
６    リセット制御部
７    内部リセット制御部
１０    第１フラッシュメモリ部
１１    第１フラッシュメモリ
１２−１〜１２−ｎ    データ格納領域（セクタ）
１３−１、１３−２    冗長データ格納領域（冗長セクタ）
１４    デコーダ
２０    第２フラッシュメモリ部
２１    第２フラッシュメモリ
２２−１、２２−２    置換コード
３０    レジスタ群
３１、３２    レジスタ
５１    端子リセット信号（動作命令）
５２    内部リセット信号
５３    読出命令
５４    データ
１０２    ＣＰＵ
１０５    シーケンサ
１１０    第１フラッシュメモリ部
１１１    第１フラッシュメモリ
１１２−１〜１１２−Ｎ    データ格納領域
１１３−１、１１３−２    冗長データ格納領域
１１４    デコーダ
１２０    第２フラッシュメモリ部
１２１    第２フラッシュメモリ
１２２−１〜１２２−Ｎ    プログラムコード
１５３    読出命令
１５４    データ
【図１】
2006185535.tif 000003
【図２】
2006185535.tif 000004
【図３】
2006185535.tif 000005
【図４】
2006185535.tif 000006
【図５】
2006185535.tif 000007
【図６】
2006185535.tif 000008
【図７】
2006185535.tif 000009
【図８】
2006185535.tif 000010
【図９】
2006185535.tif 000011
【図１０】
2006185535.tif 000012