(57)【要約】【課題】データの信頼性を高めることができ、誤り訂正符号を効率的に生成することが可能な半導体記憶装置を提供すること。【解決手段】外部から書き込みコマンドが入力されたときに、ＥＣＣ訂正回路１４は、書き込みコマンドによってデータが書き込まれる領域を含んだメモリ領域からデータおよびＥＣＣハミング符号を読み出して、読み出したデータを訂正する。データ生成回路１６は、ＥＣＣ訂正回路１４によって訂正されたデータと書き込みコマンドによって書き込まれるデータとをマージして、メモリ領域に書き込むデータを生成する。そして、ＥＣＣ符号化回路１３は、データ生成回路１６によって生成されたデータからＥＣＣハミング符号を生成してメモリ領域に書き込む。したがって、データの信頼性を高めることができ、誤り訂正符号を効率的に生成することが可能となる。【選択図】図３
2012059337.tif 000002
【特許請求の範囲】
【請求項１】
誤り訂正符号を用いてデータの誤りを検出して訂正する半導体記憶装置であって、
外部から書き込みコマンドが入力されたときに、該書き込みコマンドによってデータが書き込まれる領域を含んだメモリ領域からデータおよび誤り訂正符号を読み出して、読み出したデータを訂正する訂正手段と、
前記訂正手段によって訂正されたデータと前記書き込みコマンドによって書き込まれるデータとをマージして、前記メモリ領域に書き込むデータを生成する生成手段と、
前記生成手段によって生成されたデータから誤り訂正符号を生成して前記メモリ領域に書き込む符号化手段とを含む、半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの誤り検出・誤り訂正を行なう技術に関し、特に、データと誤り訂正符号とを対応させて記憶し、その誤り訂正符号を用いてデータの誤り検出・誤り訂正を行なう半導体記憶装置に関する。
【背景技術】
【０００２】
近年、データの信頼性を高めるために、データの書き込み時に誤り訂正符号を発生させ、データと共に誤り訂正符号が書き込まれる半導体記憶装置が種々開発されている。これに関連する技術として、下記の特許文献１〜３に開示された発明がある。
【０００３】
特許文献１は、データ入力数がＥＣＣ処理の対象とするデータビット数に満たない場合の問題を解消出来、データ入力数がＥＣＣ処理の対象とするデータビット数と等しい場合は、エラー訂正ビットの生成を高速にすることを目的とする。半導体記憶装置は、所定ビットのデータからエラー訂正ビットを生成するエラー訂正ビット生成回路を備え、外部から導入されたデータとメモリセルに格納されたデータとを用いてエラー訂正ビットを生成することを特徴とする。より詳細には、外部から導入された第１のデータを受けるライトアンプと、第１のデータと関連のあるアドレスに対応する第２のデータが格納された第１のメモリセル群と、第１及び第２のデータを基にしてエラー訂正ビットを生成するエラー訂正ビット生成回路と、第１のデータを格納する第２のメモリセル群と、エラー訂正ビットを格納する第３のメモリセル群とを備える。
【０００４】
特許文献２は、ホスト装置がメモリカードの不揮発性メモリから記憶情報を読み出さなくても不揮発性メモリのデータ保持に対する信頼性を向上させることを目的とする。メモリカードは、不揮発性メモリと、不揮発性メモリの動作を制御するメモリコントローラとを有する。メモリコントローラは、所定のプロトコルに従って外部とインタフェース可能であり、メモリコントローラは、外部からのアクセス要求に従って記憶情報を外部に読み出すのとは別に、定期的に或いは電源投入時などのタイミングで、記憶情報のエラー検出・訂正を行なう。したがって、ホスト装置がメモリカードの不揮発性メモリから記憶情報を読み出さなくても不揮発性メモリのデータ保持に対する信頼性を向上させることができる。
【０００５】
特許文献３は、ソフトエラーに対して高い信頼性を確保するための技術を提供することを目的とする。ＣＡＭ部に書き込まれるエントリデータについてのエラー訂正コードを作成するためのエラー訂正コード作成回路と、ＣＡＭ部からの読み出しデータについて、エラー訂正コードに基づくエラー検出及びエラー訂正を行なうためのエラー検出及び訂正回路とを設け、エラー検出及び訂正回路はＣＡＭ部からの読み出しデータについて、エラー訂正コードに基づくエラー検出及びエラー訂正を行なう。このエラー検出及びエラー訂正は、ＣＡＭ部の性能に影響を与えない。そして、エラーによって比較データと一致しなくなる場合については、エラー発生からエラー検出までの期間をＴＣＰ／ＩＰなどの再送要求のタイムアウト時間以下に設定することによって、ネットワーク障害を回避することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−３２７４３７号公報
【特許文献２】特開２００３−０５８４３２号公報
【特許文献３】特開２００５−２１６４００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述のようなデータの誤り検出・誤り訂正を行なう半導体記憶装置においては、訂正力は高くないが、ある程度高速で処理を行なうことができるＥＣＣ（Error Correcting Code）ハミング符号が用いられることが多い。
【０００８】
データ書き込み時において、ＥＣＣ符号化回路が書き込みデータに基づいてＥＣＣハミング符号を生成し、データと共にそのＥＣＣハミング符号を書き込む。また、データ読み出し時において、データと共にＥＣＣハミング符号が読み出され、データに対してＥＣＣ訂正が実施される。そして、訂正後のデータが出力される。
【０００９】
しかしながら、テーブル検索に使用されるＣＡＭ（Content Addressable Memory）のようなメモリにおいては、書き込まれたデータが長い期間読み出されない場合がある。そのため、データの誤り訂正が行なわれずに、データの信頼性が低下する。
【００１０】
また、ＥＣＣハミング符号は、データのビット数が大きくなるほど、データのビット数に対するＥＣＣハミング符号の長さが短くなり、メモリの使用効率が向上するといった特徴を有する。そのため、なるべく長いデータに対してＥＣＣハミング符号を発生させるようにすれば、メモリの容量を削減することができる。
【００１１】
本発明は、上記問題点を解決するためになされたものであり、その目的は、データの信頼性を高めることができ、誤り訂正符号を効率的に生成することが可能な半導体記憶装置を提供することである。
【課題を解決するための手段】
【００１２】
本発明の一実施例によれば、ＥＣＣハミング符号を用いてデータの誤りを検出して訂正する半導体記憶装置が提供される。外部から書き込みコマンドが入力されたときに、ＥＣＣ訂正回路は、書き込みコマンドによってデータが書き込まれる領域を含んだメモリ領域からデータおよびＥＣＣハミング符号を読み出して、読み出したデータを訂正する。データ生成回路は、ＥＣＣ訂正回路によって訂正されたデータと書き込みコマンドによって書き込まれるデータとをマージして、メモリ領域に書き込むデータを生成する。そして、ＥＣＣ符号化回路は、データ生成回路によって生成されたデータからＥＣＣハミング符号を生成してメモリ領域に書き込む。
【発明の効果】
【００１３】
本発明の一実施例によれば、ＥＣＣ訂正回路が読み出されたデータの訂正を行なった後に、データ生成回路がデータをマージし、ＥＣＣ符号化回路がマージされたデータからＥＣＣハミング符号を生成するようにしたので、データの信頼性を高めることができ、誤り訂正符号を効率的に生成することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】ＥＣＣハミング符号を用いた誤り検出・誤り訂正を行なう半導体記憶装置の一般的な構成例を示す図である。
【図２】本発明の第１の実施の形態における半導体記憶装置の構成例を示すブロック図である。
【図３】本発明の第１の実施の形態における半導体記憶装置の構成をさらに詳細に説明するための図である。
【図４】本発明の第１の実施の形態における半導体記憶装置のＥＣＣスキャンの処理手順を説明するためのフローチャートである。
【図５】本発明の第１の実施の形態における半導体記憶装置の書き込みコマンド実行時の処理手順を説明するためのフローチャートである。
【図６】書き込みコマンドの実行時におけるデータのマージを説明するための図である。
【図７】本発明の第１の実施の形態における半導体記憶装置の動作を説明するためのタイミングチャートである。
【図８】本発明の第２の実施の形態における半導体記憶装置の構成例を示すブロック図である。
【図９】本発明の第２の実施の形態における半導体記憶装置の書き込みコマンド実行時の処理手順を説明するためのフローチャートである。
【図１０】メモリ領域１２に記憶されるバリッドビットの一例を示す図である。
【図１１】本発明の第３の実施の形態における半導体記憶装置の構成例を示すブロック図である。
【発明を実施するための形態】
【００１５】
図１は、ＥＣＣハミング符号を用いた誤り検出・誤り訂正を行なう半導体記憶装置の一般的な構成例を示す図である。この半導体記憶装置は、ＥＣＣハミング符号を記憶するメモリ領域１０１と、対応するデータを記憶するメモリ領域１０２と、ＥＣＣ符号化回路１０３と、ＥＣＣ訂正回路１０４とを含む。
【００１６】
ＥＣＣ符号化回路１０３は、データ書き込み時において、書き込みデータがメモリ領域１０２に書き込まれるときに、その書き込みデータからＥＣＣハミング符号を発生させてメモリ領域１０１に書き込む。
【００１７】
また、ＥＣＣ訂正回路１０４は、データ読み出し時において、メモリ領域１０１および１０２からＥＣＣハミング符号およびデータを読み出し、ＥＣＣ訂正を行なった後に、その訂正後のデータを出力する。
【００１８】
このような構成の場合には、上述のように、テーブル検索に使用されるＣＡＭのようなメモリにおいては、書き込まれたデータが長い期間読み出されない場合がある。そのため、データの誤り訂正が行なわれずに、データの信頼性が低下する。
【００１９】
（第１の実施の形態）
図２は、本発明の第１の実施の形態における半導体記憶装置の構成例を示すブロック図である。この半導体記憶装置は、ＥＣＣハミング符号を記憶するメモリ領域１１と、対応するデータを記憶するメモリ領域１２と、ＥＣＣ符号化回路１３と、ＥＣＣ訂正回路１４とを含む。
【００２０】
ＥＣＣ符号化回路１３は、データ書き込み時において、書き込みデータがメモリ領域１２に書き込まれるときに、その書き込みデータからＥＣＣハミング符号を発生させてメモリ領域１１に書き込む。
【００２１】
ＥＣＣ訂正回路１４は、メモリ領域１２に対するアクセスが行なわれていないときに、メモリ領域１１および１２からＥＣＣハミング符号およびデータを読み出し、ＥＣＣ訂正を行なった後に、その訂正後のデータをメモリ領域１２に書き戻す。そして、訂正後のデータから再度ＥＣＣハミング符号を発生させて、メモリ領域１１に書き戻す。この動作を、メモリ領域の全てに対して順次行なう。
【００２２】
このように、メモリ領域１２に対するアクセスが行なわれていないときに、バックグランドでＥＣＣ訂正を行なうことにより、書き込まれたデータが長い期間読み出されない場合でもデータの信頼性を向上させることができる。
【００２３】
図３は、本発明の第１の実施の形態における半導体記憶装置の構成をさらに詳細に説明するための図である。半導体記憶装置は、ＥＣＣハミング符号を記憶するメモリ領域１１と、対応するデータを記憶するメモリ領域１２と、ＥＣＣ符号化回路１３と、ＥＣＣ訂正回路１４と、スキャンエンジン１５と、データ生成回路１６と、アドレス比較器１７とを含む。
【００２４】
スキャンエンジン１５は、メモリ領域１２に対するアクセスがないときに、アドレスを発生させてメモリ領域１１および１２に順次アクセスし、ＥＣＣハミング符号およびデータを読み出して、ＥＣＣ訂正回路１４に出力させる。スキャンエンジン１５は、アドレスをインクリメントしてメモリ領域１１および１２に出力する動作を繰り返すことにより、すべてのメモリ領域に対するスキャンを実行する。以下、この動作をＥＣＣスキャンと呼ぶことにする。
【００２５】
ＥＣＣ訂正回路１４は、メモリ領域１１および１２から読み出されたＥＣＣハミング符号およびデータを用いて、ＥＣＣ訂正を行なった後に、その訂正後のデータをデータ生成回路１６に出力する。
【００２６】
データ生成回路１６は、メモリ領域１２に対するデータ書き込みがない場合は、ＥＣＣ訂正回路１４から受けた訂正後のデータをそのままＥＣＣ符号化回路１３に出力する。ＥＣＣ符号化回路１３は、データ生成回路１６から受けたデータからＥＣＣハミング符号を生成し、データと共にアドレス比較器１７に出力する。
【００２７】
アドレス比較器１７は、メモリ領域１２に対するデータ書き込みがない場合は、スキャンエンジン１５から受けたアドレスに応じてメモリ領域１１および１２にＥＣＣハミング符号およびデータを書き込む。
【００２８】
図４は、本発明の第１の実施の形態における半導体記憶装置のＥＣＣスキャンの処理手順を説明するためのフローチャートである。まず、スキャンエンジン１５が、アドレスを発生させてメモリ領域１１および１２にアクセスし、ＥＣＣハミング符号およびデータを読み出す（Ｓ１１）。
【００２９】
次に、ＥＣＣ訂正回路１４は、メモリ領域１１および１２から読み出されたＥＣＣハミング符号およびデータを用いて、ＥＣＣ訂正を行なう（Ｓ１２）。データ生成回路１６は、ＥＣＣ訂正回路１４から受けた訂正後のデータをそのままＥＣＣ符号化回路１３に出力する。ＥＣＣ符号化回路１３は、データ生成回路１６から受けたデータからＥＣＣハミング符号を生成し、データと共にアドレス比較器１７に出力する（Ｓ１３）。
【００３０】
そして、ステップＳ１１〜Ｓ１３の間に書き込みコマンドが発生しているか否かが判定される（Ｓ１４）。書き込みコマンドが発生していない場合には（Ｓ１４，Ｎｏ）、ステップＳ１７に処理が進む。
【００３１】
また、書き込みコマンドが発生している場合（Ｓ１４，Ｎｏ）、アドレス比較器１７は、書き込みコマンドに対応する書き込みアドレスと、スキャンエンジン１５から出力される書き込みアドレスとを比較し、書き込みアドレスが同じか否かを判定する（Ｓ１５）。
【００３２】
書き込みアドレスが違っていれば（Ｓ１５，Ｎｏ）、ステップＳ１７に処理が進む。また、書き込みアドレスが同じであれば（Ｓ１５，Ｙｅｓ）、アドレス比較器１７は、ＥＣＣ符号化回路１３から受けたデータおよびＥＣＣハミング符号を破棄する（Ｓ１６）。このとき、書き込みコマンドに対応するデータ書き込みが行なわれることになるが、この処理の詳細については後述する。
【００３３】
このように、書き込みコマンドに応じてデータが書き込まれる場合は、書き込みを行なう前のデータが再度書き込まれるのを防止するため、アドレス比較器１７は、ＥＣＣ符号化回路１３から受けたデータおよびＥＣＣハミング符号を破棄している。その後、スキャンエンジン１５は、アドレスをインクリメントせずにステップＳ１１に戻って、メモリ領域１１および１２に対するスキャンを再開する。
【００３４】
なお、既に書き込みコマンドによってデータ書き込みが行なわれ、訂正がされた直後であるので、再度同じアドレスに対するＥＣＣスキャンを行なう必要はないが、複数のメモリマットに同時にスキャンする場合には、再度同じアドレスでスキャンを再開するのが有効である。
【００３５】
ステップＳ１７において、アドレス比較器１７は、スキャンエンジン１５から受けたアドレスに応じてメモリ領域１１および１２にＥＣＣハミング符号およびデータを書き込む。そして、スキャンエンジン１５は、アドレスをインクリメントして（Ｓ１８）、再度ステップＳ１１以降の処理が行なわれる。
【００３６】
図５は、本発明の第１の実施の形態における半導体記憶装置の書き込みコマンド実行時の処理手順を説明するためのフローチャートである。まず、書き込みコマンドが発生すると、書き込みアドレスがＥＣＣスキャンのアドレスと一致するか否かを判定するために、スキャンエンジン１５にＥＣＣスキャンのアドレスを発生させてアドレス比較器１７に入力させる（Ｓ２１）。このときの動作は、図４に示す動作と同様である。
【００３７】
次に、スキャンエンジン１５は、書き込みアドレスを受けてメモリ領域１１および１２にアクセスし、ＥＣＣハミング符号およびデータを読み出す（Ｓ２２）。そして、ＥＣＣ訂正回路１４は、メモリ領域１１および１２から読み出されたＥＣＣハミング符号およびデータを用いて、ＥＣＣ訂正を行なう（Ｓ２３）。
【００３８】
次に、データ生成回路１６は、ＥＣＣ訂正回路１４によって訂正された後のデータに対して、書き込みコマンドによって書き込まれるデータを入れ替えて（マージして）、ＥＣＣ符号化回路１３に出力する（Ｓ２４）。
【００３９】
次に、ＥＣＣ符号化回路１３は、データ生成回路１６から受けたデータからＥＣＣハミング符号を生成し、データと共にアドレス比較器１７に出力する（Ｓ２５）。そして、アドレス比較器１７は、スキャンエンジン１５から受けた書き込みアドレスに応じてメモリ領域１１および１２にＥＣＣハミング符号およびデータを書き込み（Ｓ２６）、処理を終了する。
【００４０】
図６は、書き込みコマンドの実行時におけるデータのマージを説明するための図である。まず、書き込みアドレスに応じてメモリ領域１１および１２からＥＣＣハミング符号およびデータが読み出される（Ｓ３１）。
【００４１】
次に、データ訂正回路１４によってデータ訂正が行なわれる（Ｓ３２）。そして、データ生成回路１６によって訂正後のデータに書き込みデータがマージされる（Ｓ３３）。最後に、ＥＣＣ符号化回路１３によってマージされた後のデータからＥＣＣハミング符号が生成されて、ＥＣＣハミング符号およびデータがメモリ領域１１および１２に書き込まれる（Ｓ３４）。
【００４２】
図７は、本発明の第１の実施の形態における半導体記憶装置の動作を説明するためのタイミングチャートである。Ｔ１において、最初の読み出し（Ｒｅａｄ）コマンドが入力される。Ｔ２において、最初の読み出しコマンドに対応するデータの読み出し動作が行なわれる。
【００４３】
Ｔ３において、コマンドが入力されていないため、スキャンエンジン１５によるＥＣＣスキャンの読み出し動作が行なわれる。そして、Ｔ４において、ＥＣＣ符号化回路１３およびアドレス比較器１７によるＥＣＣスキャンの書き戻し動作が行なわれる。
【００４４】
Ｔ５において、２番目の読み出しコマンドが入力される。Ｔ６において、２番目の読み出しコマンドに対応するデータの読み出し動作が行なわれる。
【００４５】
Ｔ７において、コマンドが入力されていないため、スキャンエンジン１５によるＥＣＣスキャンの読み出し動作が行なわれる。そして、Ｔ８において、最初の書き込み（Ｗｒｉｔｅ）コマンドが入力される。
【００４６】
Ｔ９において、ＥＣＣスキャンの書き戻し動作を中断して、最初の書き込みコマンドに対応したデータの読み出しが行なわれる。そして、Ｔ１０において、マージされた後のデータおよびＥＣＣハミング符号がメモリ領域１１および１２に書き込まれる。
【００４７】
Ｔ１１において、中断していたＥＣＣスキャンの書き戻し動作が行なわれる。Ｔ１２において、２番目の書き込みコマンドが入力される。Ｔ１３において、２番目の書き込みコマンドに対応したデータの読み出しが行なわれる。そして、Ｔ１４において、マージされた後のデータおよびＥＣＣハミング符号がメモリ領域１１および１２に書き込まれる。
【００４８】
以上説明したように、本実施の形態における半導体記憶装置によれば、書き込みコマンドが発生したときに、ＥＣＣ訂正回路１４が読み出されたデータの訂正を行なった後に、データ生成回路１６がデータをマージし、ＥＣＣ符号化回路１３がマージされたデータからＥＣＣハミング符号を生成するようにしたので、データの信頼性を高めることができ、誤り訂正符号を効率的に生成することが可能となる。
【００４９】
また、スキャンエンジン１５がＥＣＣスキャンを行なうアドレスを発生して、バックグランドでＥＣＣ訂正を行なうようにしたので、読み出しコマンドや書き込みコマンドによるアクセス速度に影響を与えることなく、ＥＣＣ訂正を行なうことが可能となる。
【００５０】
また、バックグランドで全てのメモリ領域に対してＥＣＣ訂正を行なうようにしたので、長時間読み出しまたは書込みが行なわれていないデータに対しても信頼性を確保することが可能となる。
【００５１】
（第２の実施の形態）
本発明の第１の実施の形態における半導体記憶装置は、書き込みコマンドが入力されたときに、アドレス比較器１７が書き込みアドレスとスキャンエンジン１５から出力されるアドレスとを比較して、一致する場合にはＥＣＣスキャンの動作を一時的に停止させるものであった。本発明の第２の実施の形態における半導体記憶装置は、書き込みコマンドが入力されたときは、書き込みアドレスにかかわらずＥＣＣスキャンの一連の動作を停止させるものである。
【００５２】
図８は、本発明の第２の実施の形態における半導体記憶装置の構成例を示すブロック図である。図３に示す第１の実施の形態における半導体記憶装置と比較して、アドレス比較器１７が削除されている点と、ＥＣＣ符号化回路１３、ＥＣＣ訂正回路１４およびスキャンエンジン２１に書き込みコマンドが入力されている点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰り返さない。
【００５３】
図９は、本発明の第２の実施の形態における半導体記憶装置の書き込みコマンド実行時の処理手順を説明するためのフローチャートである。まず、スキャンエンジン２１がＥＣＣスキャンを実行中に、書き込みコマンドが入力されると、現在行なっているＥＣＣスキャンを停止する（Ｓ４１）。
【００５４】
スキャンエンジン２１は、書き込みアドレスに応じてメモリ領域１１および１２からＥＣＣハミング符号およびデータを読み出す（Ｓ４２）。そして、データ訂正回路１４によってデータ訂正が行なわれる（Ｓ４３）。
【００５５】
次に、データ生成回路１６によって訂正後のデータに書き込みデータがマージされる（Ｓ４４）。そして、ＥＣＣ符号化回路１３によってマージされた後のデータからＥＣＣハミング符号が生成されて（Ｓ４５）、データおよびＥＣＣハミング符号がメモリ領域１１および１２に書き込まれる（Ｓ４６）。そして、スキャンエンジン２１は、停止していたＥＣＣスキャンを再開する（Ｓ４７）。
【００５６】
以上説明したように、本実施の形態における半導体記憶装置によれば、第１の実施の形態において説明した効果に加えて、書き込みコマンドの入力が多くないシステム、たとえば検索に用いられることが多いＣＡＭを搭載したシステムにおいては、より簡易な回路構成によって第１の実施の形態と同様の効果を奏することが可能となる。
【００５７】
（第３の実施の形態）
本発明の第１および第２の実施の形態における半導体記憶装置は、すべてのメモリ領域に対してＥＣＣスキャンを行なうものであった。本発明の第３の実施の形態における半導体記憶装置は、データを記憶するメモリ領域１２にバリッドビットを記憶する領域を設け、バリッドビットの値に応じてＥＣＣスキャンを行なうか否かを判定するものである。このようなバリッドビットを有するメモリとして、ＣＡＭを挙げることができる。
【００５８】
図１０は、メモリ領域１２に記憶されるバリッドビットの一例を示す図である。図１０において、バリッドビットが“１”となっているメモリ領域のデータが有効であり、“０”となっているメモリ領域のデータが無効であることを示している。したがって、ＥＣＣスキャンが実行されるデータは、“ＡＡＡＡ”、“ＤＤＤＤ”、“ＥＥＥＥ”の３つの領域に記憶されるデータである。
【００５９】
図１１は、本発明の第３の実施の形態における半導体記憶装置の構成例を示すブロック図である。図８に示す第２の実施の形態における半導体記憶装置と比較して、スキャンエンジン３１がメモリ領域１２からバリッドビットを読み出して、ＥＣＣスキャンを実行するか否かを判定する点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰り返さない。
【００６０】
スキャンエンジン３１は、メモリ領域１１および１２からＥＣＣハミング符号およびデータを読み出すときに、対応するバリッドビットも読み出す。そして、バリッドビットが“１”であれば、図４に示すＥＣＣスキャンを実行する。また、バリッドビットが“０”であれば、そのアドレスのＥＣＣスキャンを行なわずに、アドレスをインクリメントしてＥＣＣハミング符号およびデータを読み出すことにより、次のアドレスのＥＣＣスキャンが行なわれる。
【００６１】
以上説明したように、本実施の形態における半導体記憶装置によれば、バリッドビットが“１”のメモリ領域に対してのみＥＣＣスキャンを行ない、バリッドビットが“０”のメモリ領域に対してＥＣＣスキャンを行なわないようにした。したがって、第１および第２の実施の形態において説明した効果に加えて、不必要なメモリ領域に対するＥＣＣスキャンを省略することができ、さらに信頼性を高めることが可能となる。
【００６２】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００６３】
１１，１２，１０１，１０２  メモリ領域、１３，１０３  ＥＣＣ符号化回路、１４，１０４  ＥＣＣ訂正回路、１５，２１，３１  スキャンエンジン、１６  データ生成回路、１７  アドレス比較器。
【図１】
2012059337.tif 000003
【図２】
2012059337.tif 000004
【図３】
2012059337.tif 000005
【図４】
2012059337.tif 000006
【図５】
2012059337.tif 000007
【図６】
2012059337.tif 000008
【図７】
2012059337.tif 000009
【図８】
2012059337.tif 000010
【図９】
2012059337.tif 000011
【図１０】
2012059337.tif 000012
【図１１】
2012059337.tif 000013