(57)【要約】【課題】誤り訂正のための符号化処理及び符号化処理を行う半導体記憶装置において、不揮発性メモリが所定の初期状態にあるとき、誤り検出により生じる誤判定を回避できる半導体記憶装置を実現する。【解決手段】書き込みのとき、書き込みデータと所定の状態データ、例えば、不揮発性メモリが消去状態にあるときの消去データとが比較され、当該比較の結果に応じて、書き込みデータが消去データと一致するとき、消去データを選択し、逆に一致しないとき、書き込みデータを誤り訂正符号化処理した符号化データを選択して不揮発性メモリに書き込む。読み出しのとき、不揮発性メモリからの読み出しデータと消去データとの比較結果に応じて、読み出しデータが消去データと一致するとき、消去データを選択し、逆に一致しないとき、読み出しデータを誤り訂正復号化処理した復号化データを選択して出力する。【選択図】　　図２
2004071012.tif 000002
【特許請求の範囲】
【請求項１】
入力データを所定の誤り訂正符号化方式従って符号化する符号化手段と、
上記入力データと所定の状態データとを比較する比較手段と、
上記比較手段の比較結果に応じて、上記入力データまたは上記符号化手段から出力される符号化データの何れかを選択する選択手段と、
上記選択手段によって選択されたデータを記憶する不揮発性メモリと
を有し、上記不揮発性メモリは、所定の初期化状態において上記状態データを保持する
半導体記憶装置。
【請求項２】
上記不揮発性メモリは、消去状態において上記状態データを保持する
請求項１記載の半導体記憶装置。
【請求項３】
上記選択手段は、上記入力データが上記状態データと一致するとき、上記状態データを選択し、上記入力データが上記状態データと一致しないとき、上記符号化手段から出力される上記符号化データを選択する
請求項１記載の半導体記憶装置。
【請求項４】
不揮発性メモリから読み出したデータを所定の誤り訂正復号化方式に従って復号化する復号化手段と、
上記復号化手段に入力されるデータと所定の状態データとを比較する比較手段と、
上記比較手段の比較結果に応じて、上記状態データまたは上記復号化手段から出力される復号化データの何れかを選択する選択手段と
を有し、上記不揮発性メモリは、所定の初期化状態において上記状態データを保持する
半導体記憶装置。
【請求項５】
上記選択手段は、上記読み出しデータが上記状態データと一致するとき、上記状態データを選択し、上記読み出しデータが上記状態データと一致しないとき、上記復号化データを選択する
請求項４記載の半導体記憶装置。
【請求項６】
入出力データに対して誤り訂正符号化／復号化処理を行う半導体記憶装置であって、
入力データを所定の誤り訂正符号化方式従って符号化する符号化手段と、
上記入力データと所定の状態データとを比較する比較手段と、
上記比較手段の比較結果に応じて、上記入力データまたは上記符号化手段から出力される符号化データの何れかを選択する第１の選択手段と、
上記選択手段によって選択されたデータを記憶する不揮発性メモリと、
上記不揮発性メモリから読み出したデータを所定の誤り訂正復号化方式に従って復号化する復号化手段と、
上記復号化手段によって出力された復号化データと上記状態データとを比較する比較手段と、
上記比較手段の比較結果に応じて、上記状態データまたは上記復号化データの何れかを選択する第２の選択手段と
を有し、上記不揮発性メモリは、所定の初期化状態において上記状態データを保持する
半導体記憶装置。
【請求項７】
上記不揮発性メモリは、消去状態において上記状態データを保持する
請求項６記載の半導体記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体記憶装置、例えば、書き込みのとき誤り訂正のため入力データに対して符号化処理を行った符号化データを不揮発性メモリに記憶し、読み出しのとき、不揮発性メモリからの読み出しデータに対して誤り訂正複合化処理を行う半導体記憶装置に関するものである。
【０００２】
【従来の技術】
不揮発性メモリを用いて、データを記憶する不揮発性記憶装置では、記憶データの信頼性を確保するために、読み出し時に誤り検出及び誤り訂正を行っている。このため、入力データを不揮発性メモリに書き込む前に、誤り検出及び誤り訂正のための符号化処理が行われる。
【０００３】
誤り訂正符号化処理に用いられる符号化方式は、例えば、リードソロモン符号化、ＢＣＨ符号化などがある。これらの誤り訂正符号化処理により、入力データが符号化され、誤り訂正符号が生成される。そして、誤り訂正符号が不揮発性メモリによって記憶される。
読み出しのとき、不揮発性メモリから誤り訂正符号化処理が施されたデータが読み出される。読み出したデータに基づき、誤り訂正符号化処理に対応した復号化処理によって、もとのデータを復元する。
【０００４】
上述した符号化及び復号化処理により、例えば、不揮発性メモリに対する書き込みまたは読み出しのときに誤りが発生しても、復号化処理によって、この誤りが訂正されるので、入力されるデータを正確に復元することができ、不揮発性記憶装置の信頼性を改善することができる。
【０００５】
【発明が解決しようとする課題】
ところで、上述した従来の不揮発性メモリを用いた符号化及び復号化処理では、消去後の不揮発性メモリからの読み出したデータがすべて「１」となる場合、誤り訂正用の符号化ビットはすべて１ではない。このことは、消去済の不揮発性メモリからデータを読み出すとき、誤り検出及び誤り訂正を行う誤り検出／訂正回路から、「誤りあり」とい判定結果を出力することを意味する。
【０００６】
また、書き込み時にデータをすべて「１」で書き込む場合、誤り検出／誤り訂正用の符号化ビットは「１」ではないので、本来書き込みを行いたくないビットでも、かならず誤り訂正用の符号化ビットを「０」にして書き込みを行わなければならない。
即ち、不揮発性メモリがある特定の初期状態、例えば、消去状態にある場合、当該不揮発性メモリのすべてのメモリセルが一定の状態に保持されるので、不揮発性メモリの記憶データがすべて一定の値、例えば、「１」になる。この場合、不揮発性メモリからの読み出しデータに対して所定の誤り訂正復号化処理を行うと、誤りありとの判定結果となり、不揮発性メモリに記憶されているデータの本来の状態を正確に表すことができなくなるという不利益がある。
【０００７】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、不揮発性メモリの書き込み、読み出しデータに対して、誤り訂正のための符号化処理及び復号化処理を行う半導体記憶装置において、不揮発性メモリが所定の初期状態にあるとき、誤り検出により生じる誤判定を回避できる半導体記憶装置を提供することにある。
【０００８】
【課題を解決するための手段】
上記目的を達成するため、本発明の半導体記憶装置は、入力データを所定の誤り訂正符号化方式従って符号化する符号化手段と、上記入力データと所定の状態データとを比較する比較手段と、上記比較手段の比較結果に応じて、上記入力データまたは上記符号化手段から出力される符号化データの何れかを選択する選択手段と、上記選択手段によって選択されたデータを記憶する不揮発性メモリとを有し、上記不揮発性メモリは、所定の初期化状態において上記状態データを保持する。
【０００９】
また、本発明では、好適には、上記不揮発性メモリは、消去状態において上記状態データを保持する。
【００１０】
また、本発明では、好適には、上記選択手段は、上記入力データが上記状態データと一致するとき、上記状態データを選択し、上記入力データが上記状態データと一致しないとき、上記符号化手段から出力される上記符号化データを選択する。
【００１１】
また、本発明の半導体記憶装置は、不揮発性メモリから読み出したデータを所定の誤り訂正復号化方式に従って復号化する復号化手段と、上記復号化手段に入力されるデータと所定の状態データとを比較する比較手段と、上記比較手段の比較結果に応じて、上記状態データまたは上記復号化手段から出力される復号化データの何れかを選択する選択手段とを有し、上記不揮発性メモリは、所定の初期化状態において上記状態データを保持する。
【００１２】
また、本発明では、好適には、上記選択手段は、上記読み出しデータが上記状態データと一致するとき、上記状態データを選択し、上記読み出しデータが上記状態データと一致しないとき、上記復号化データを選択する。
【００１３】
さらに、本発明の半導体記憶装置は、入出力データに対して誤り訂正符号化／復号化処理を行う半導体記憶装置であって、入力データを所定の誤り訂正符号化方式従って符号化する符号化手段と、上記入力データと所定の状態データとを比較する比較手段と、上記比較手段の比較結果に応じて、上記入力データまたは上記符号化手段から出力される符号化データの何れかを選択する第１の選択手段と、上記選択手段によって選択されたデータを記憶する不揮発性メモリと、上記不揮発性メモリから読み出したデータを所定の誤り訂正復号化方式に従って復号化する復号化手段と、上記復号化手段によって出力された復号化データと上記状態データとを比較する比較手段と、上記比較手段の比較結果に応じて、上記状態データまたは上記復号化データの何れかを選択する第２の選択手段とを有し、上記不揮発性メモリは、所定の初期化状態において上記状態データを保持する。
【００１４】
本発明によれば、書き込みのとき、書き込みデータと所定の状態データ、例えば、不揮発性メモリの消去状態にあるときの消去データとが比較され、当該比較の結果に応じて、書き込みデータが消去データと一致するとき、消去データを選択し、逆に一致しないとき、書き込みを誤り訂正符号化処理した符号化データを選択して不揮発性メモリに書き込む。読み出しのとき、不揮発性メモリからの読み出しデータと消去データとの比較結果に応じて、読み出しデータが消去データと一致するとき、消去データを選択し、逆に一致しないとき、読み出しデータを誤り訂正復号化処理した復号化データを選択して出力する。これによって、消去データとすべて一致する書き込みデータにおける誤り訂正の誤判断の発生が回避される。
【００１５】
【発明の実施の形態】
図１は本発明に係る半導体記憶装置の一実施形態を示す構成図である。
図示のように、本実施形態の半導体記憶装置１００は、制御部と記憶部によって構成されている。記憶部は、不揮発性メモリ、例えば、データの消去をブロック単位またはチップ単位で行ういわゆるフラッシュメモリ１８０によって構成されている。制御部１１０は、誤り検出／訂正機能を実現するための部分回路、データの入出力を行うインターフェース、及び入出力データを一時的に記憶するためのバッファ（レジスタ）などによって構成されている。
なお、本実施形態の半導体記憶装置によって、フラッシュメモリを用いて情報記憶機能を有する携帯型の記憶装置、例えば、メモリカードを構成できる。この他に、情報記憶のほか、記憶情報に対して所定の処理を加えてある特定の機能を達成する、例えば、いわゆるＩＣカードの一部分を構成することもできる。
【００１６】
図１に示すように、本実施形態の半導体記憶装置１００において、制御部１１０は、インターフェース部１２０、書き込みレジスタ１３０、読み出しレジスタ１４０、誤り訂正回路（符号化／復号化回路）１５０、ページバッファ１６０、フラッシュメモリ・インターフェース１７０によって構成されている。以下、制御部１１０の各構成部分について説明する。
【００１７】
インターフェース部１２０は、外部から入力される制御信号ＣＴＬ及び書き込みデータＤｉｎを保持して、制御部１１０の他の各部分回路に出力する。また、インターフェース部１２０は、制御部１１０からの制御信号、読み出しデータＤｏｕｔ　を保持して、外部に出力する。
【００１８】
書き込みレジスタ１３０は、インターフェース部１２０から入力される書き込みを制御する制御データ及び制御命令（コマンド）を記憶し、そして、記憶したデータを所定のタイミングでフラッシュメモリ・インターフェース１７０に出力する。
読み出しレジスタ１４０は、フラッシュメモリ・インターフェース１７０から出力された制御データ、制御コマンドなどを記憶し、所定のタイミングでインターフェース部１２０に出力する。
【００１９】
誤り訂正回路１５０は、誤り訂正のための符号化処理及び復号化処理を行う。フラッシュメモリ１８０にデータを書き込む場合、外部から入力される書き込みデータＤｉｎがインターフェース部１２０を介して、ページバッファ１６０に入力される。そして、ページバッファ１６０から書き込みデータＤｉｎが読み出され、誤り訂正回路１５０に入力される。誤り訂正回路１５０は、データＤｉｎに対して、予め決められた符号化方式に基づき、誤り訂正符号化処理を行い、符号化された符号化コードをフラッシュメモリ・インターフェース１７０に出力する。
【００２０】
一方、フラッシュメモリ１８０から記憶データを読み出す場合、読み出したデータがフラッシュメモリ・インターフェース１７０を介して、誤り訂正回路１４０に入力される。誤り訂正回路１５０は、読み出したデータに対して、書き込み時の符号化処理で用いられた符号化処理に対応した復号化処理を行い、読み出しデータに含まれる誤りを検出し、訂正する。そして、訂正後のデータをページバッファ１６０に入力する。
【００２１】
ページバッファ１６０は、書き込み及び読み出しのとき、書き込みデータ及び読み出しデータを保持するために設けられている。書き込みのとき、インターフェース部１２０から入力される書き込みデータＤｉｎを記憶し、そして、記憶したデータを所定のタイミングで誤り訂正回路１５０またはフラッシュメモリ・インターフェース１７０に出力する。
読み出しのとき、ページバッファ１６０は、フラッシュメモリ・インターフェース１７０から出力された読み出しデータ、または、誤り訂正回路１５０から出力された誤り訂正後のデータＤｏｕｔ　を記憶し、所定のタイミングでインターフェース部１２０に出力する。
ページバッファ１６０を設けることにより、データ入出力のタイミングを調整することができる。
【００２２】
次に、本実施形態の半導体記憶装置における誤り訂正回路１５０の構成及び動作について説明する。
図２は、誤り訂正回路１５０及びフラッシュメモリ・インターフェース１７０、フラッシュメモリ１８０を含む部分回路を示す構成図である。
【００２３】
図２に示すように、誤り訂正回路１５０は、誤り訂正符号化回路（ＥＣＣ符号化回路）２０、選択回路（ＳＥＬ）３０、消去データレジスタ４０、一致検出回路５０、選択回路６０、誤り訂正復号化回路（ＥＣＣ復号化回路）７０及びＲＡＭ８０によって構成されている。
以下、誤り訂正回路１５０の各構成部分について説明する。
【００２４】
ＥＣＣ符号化回路２０は、入力の書き込みデータＤｉｎに対して、予め決められた符号化方式に基づき、誤り訂正符号化処理を行う。ＥＣＣ符号化回路２０によって符号化された誤り訂正符号は、選択回路３０に出力される。
【００２５】
選択回路３０は、ＥＣＣ符号化回路２０から出力された誤り訂正符号と消去データレジスタ４０から出力された消去データを、一致検出回路５０の検出結果に応じて選択する。選択回路３０によって選択されたデータがフラッシュメモリ・インターフェース１７０を介して、フラッシュメモリ１８０に書き込まれる。
【００２６】
消去データレジスタ４０は、フラッシュメモリ１８０が消去状態にあるときの各メモリセルの記憶データ（以下、便宜上これを単に消去データＤＥ　と表記する）を所定の単位、例えば、バイト単位、または複数バイトの単位で格納する。そして、消去データレジスタ４０は、格納されている消去データＤＥ　を一致検出回路、及び選択回路３０と６０に供給する。
【００２７】
一致検出回路５０は、消去データレジスタ４０から出力される消去データＤＥと、書き込みデータＤｉｎまたは読み出しデータＤＲ　とを比較し、比較の結果を示す比較信号ＳＣＰを選択回路３０及び選択回路６０に出力し、これらの選択回路の選択動作を制御する。
【００２８】
選択回路６０は、一致検出回路５０の検出結果を示す比較信号ＳＣＰに応じて、消去データレジスタ４０によって出力される消去データとＥＣＣ復号化回路７０によって出力される誤り訂正復号化処理の結果との何れかを選択し、選択したデータを読み出しデータＤｏｕｔ　として出力する。
【００２９】
ＥＣＣ復号化回路７０は、フラッシュメモリ１８０から読み出したデータＤＲに対してＥＣＣ符号化回路２０で行われた誤り訂正符号化処理と逆の処理を行う。即ち、ＥＣＣ復号化回路７０は、読み出したデータＤＲ　に対して、決められた誤り訂正復号処理を行い、もとのデータを復元する。
【００３０】
ＲＡＭ８０は、フラッシュメモリ・インターフェース１７０から出力される読み出しデータＤＲ　を記憶し、そして記憶したデータＤＲ　を所定のタイミングでＥＣＣ復号化回路７０に供給する。即ち、ＲＡＭ１７０は、読み出しデータＤＲ　を一時保持するバッファとして機能する。ＲＡＭ１７０により、読み出しデータＤＲ　の出力タイミングを調整することができる。
【００３１】
本実施形態において、書き込みデータを記憶するフラッシュメモリ１８０は、所定の単位でデータの消去を行う。例えば、フラッシュメモリ１８０において、ブロック単位、ページ単位、またはチップ全体を一括して消去が行われる。消去後、フラッシュメモリ１８０のすべてのメモリセルには同じデータが保持される。このときの保持データが、例えば、バイト単位または複数バイトの単位で消去データレジスタ４０に保持される。
【００３２】
図３は、フラッシュメモリ１８０を構成するメモリセルの一構成例を示す構成図である。図示のように、フラッシュメモリのメモリセルは、基板２００に形成された不純物領域２１０と２２０との間で、いわゆるＭＯＳトランジスタのチャネル形成領域２３０の基板表面上に、ゲート絶縁膜２４０を介してフローティングゲート２５０が形成され、さらに、その表面上層間絶縁膜２６０を介して、ゲート電極２７０が形成される。フローティングゲート２５０とゲート電極２７０の側面に、絶縁体によってサイドウォール２８０が形成されている。なお、フローティングゲート２５０は、導電性材料、例えば、ポリシリコンによって形成され、ゲート電極２７０は、導電性材料、例えば、ポリシリコンまたは金属層によって形成される。
【００３３】
上述した構成を有するメモリセルのフローティングゲートが、周囲と電気的に絶縁されているため、フローティングゲートに注入された電荷は、電気的に閉じ込められ、ほぼ半永久的に保持される。フローティングゲートに注入する電荷の量に応じて、メモリセルのしきい値電圧が変化するので、このしきい値電圧に対応したデータがメモリセルによって記憶される。このため、電源の供給を受けなくても記憶データを保持可能ないわゆる不揮発性のデータ記憶を実現できる。
【００３４】
図３（ａ）は、消去状態のメモリセルを示し、同図（ｂ）は、書き込み状態のメモリセルを示している。図示のように、消去状態とは、フローティングゲート２５０に正の電荷（＋）が注入された状態、即ち、電子が引き抜かれた状態である。このとき、メモリセルのしきい値電圧は通常より低くなる。一方、書き込み状態とは、フローティングゲート２５０に負の電荷（電子）が注入された状態である。このとき、メモリセルのしきい値電圧は通常より高くなる。
【００３５】
消去状態のメモリセルにデータ「１」に対応させ、書き込み状態のメモリセルにデータ「０」に対応させると定義すると、消去状態の場合、１バイト分のメモリセルの記憶データは、１６進数の「＆ｈＦＦ」となる。即ち、１バイトのすべてのビットが「１」に保持される。
【００３６】
フラッシュメモリ１８０は、行列状に配置されている複数のメモリセルによって構成されている。各行のメモリセルのゲート電極が同じワード線に接続され、各列のメモリセルのソースまたはドレインは同じビット線に接続されている。メモリセルの配置によって、ＮＯＲ型とＮＡＮＤ型などの種類がある。以下、ＮＯＲ型及びＮＡＮＤ型のフラッシュメモリの構成及び動作についてそれぞれ説明する。
【００３７】
図４は、ＮＯＲ型フラッシュメモリの構成及びその消去と書き込み動作を示す図である。図４（ａ）は、消去時の動作を示し、図４（ｂ）は、書き込み時の動作を示している。
図４に示すように、ＮＯＲ型フラッシュメモリは、隣り合うメモリセル列の各メモリセルが同じビット線に接続されている。
【００３８】
図４（ａ）に示すように、消去のとき、基板に正の高電圧が印加される。これによって、フローティングゲートの電子が基板側に引き抜かれるので、等価的にフローティングゲート正の電荷が蓄積されることになる。このため、メモリセルのしきい値電圧が低下する。なお、上述したように、消去状態のメモリセルの記憶データは、「１」に対応している。
【００３９】
上述したメモリセルの消去は、複数のメモリに対して一括して行われる。これに対して、メモリセルの書き込みは、個々のメモリセルに対して行われる。書き込みのとき、選択ワード線及び選択ビット線の両方に接続されているメモリセルが選択され、これに対して書き込みが行われる。
【００４０】
図４（ｂ）に示すように、書き込みのとき、メモリセルのソースが接地電位ＧＮＤ（０Ｖ）に保持され、選択ワード線ＷＬには、書き込み電圧ＶＰＰが印加される。他の非選択ワード線が接地電位ＧＮＤに保持されている。このとき、選択ビット線ＢＬに印加された電圧に応じて、選択メモリセルに書き込まれるデータが決まる。例えば、選択ビット線に０Ｖの電圧が印加されるとき（書き込みデータ「０」に対応する）、選択ビット線ＢＬに接続されている選択メモリセルのチャネル領域から、フローティングゲートに電子が注入される。このため、書き込みによりメモリセルのしきい値電圧が高くなる。この状態が記憶データ「０」に対応する。
また、選択ビット線に正の電圧が印加されるとき、選択メモリセルのフローティングゲートに電子が注入されない。このため、書き込みのあとメモリセルのしきい値電圧が変化せず、消去状態のままに保持される。この状態が記憶データ「１」に対応する。
【００４１】
図５は、ＮＡＮＤ型フラッシュメモリの構成及びその消去と書き込み動作を示す図である。図５（ａ）は、消去時の動作を示し、図５（ｂ）は、書き込み時の動作を示している。
ＮＡＮＤ型のフラッシュメモリでも、複数のメモリセルが行列状に配置されている。しかし、ＮＯＲ型のフラッシュメモリと異なって、図５に示すように、ＮＡＮＤ型フラッシュメモリでは、ビット線とソース線との間に複数のメモリセルが直列に接続されている。
【００４２】
図５（ａ）に示すように、消去のとき、基板に正の高電圧が印加される。これによって、フローティングゲートの電子が基板側に引き抜かれるので、等価的にフローティングゲート正の電荷が蓄積されることになる。このため、メモリセルのしきい値電圧が低下する。なお、上述したように、消去状態のメモリセルの記憶データは、「１」に対応している。
【００４３】
上述したメモリセルの消去は、複数のメモリに対して一括して行われる。これに対して、メモリセルの書き込みは、個々のメモリセルに対して行われる。書き込みのとき、選択ワード線及び選択ビット線の両方に接続されているメモリセルが選択され、これに対して書き込みが行われる。
【００４４】
図５（ｂ）に示すように、書き込みのとき、ソース線が接地電位ＧＮＤに保持され、選択ワード線ＷＬには、書き込み電圧ＶＰＰが印加され、その他のワード線に中間電圧Ｖｐａｓｓが印加される。このとき、選択ビット線ＢＬに印加された電圧に応じて、選択メモリセルに書き込まれるデータが決まる。例えば、選択ビット線に０Ｖの電圧が印加されるとき、選択メモリセルのチャネル領域が０Ｖに保持されるので、そのチャネル領域から、フローティングゲートに電子が注入される。このため、書き込みによりメモリセルのしきい値電圧が高くなる。この状態が記憶データ「０」に対応する。
【００４５】
また、選択ビット線に正の電圧が印加されるとき、選択メモリセルのドレイン領域も正の電圧に保持されるので、選択メモリセルのフローティングゲートに電子が注入されない。このため、書き込みのあとメモリセルのしきい値電圧が変化せず、消去状態のままに保持される。この状態が記憶データ「１」に対応する。
【００４６】
上述したように、ＮＯＲ型またはＮＡＮＤ型の何れかのフラッシュメモリでも、消去が一括して行われる。消去後のメモリセルの保持データが「１」となる。即ち、消去状態にあるメモリセルの記憶データが「１」である。ＮＯＲ型またはＮＡＮＤ型のフラッシュメモリの書き込みは、各メモリセル単位で行われる。書き込みによって、データ「０」または「１」の何れかをメモリセルに記憶することができる。
【００４７】
次に、本実施形態における誤り訂正回路１５０の全体の動作を説明する。
図６及び図７は、それぞれ本実施形態の誤り訂正回路１５０の書き込み時及び読み出し時の動作を示すフローチャートである。以下、これらのフローチャート及び図２に示す回路を参照しつつ、誤り訂正回路１５０の動作を説明する。
【００４８】
まず、図６を参照しつつ、書き込み時の動作について説明する。
ステップＳＡ１：消去データレジスタ４０に保持されている消去データＤＥ　を読み出し、入力される書き込みデータＤｉｎとともに一致検出回路５０に入力する。
ステップＳＡ２：一致検出回路５０において、入力される書き込みデータＤｉｎのうちユーザデータ５１２バイトと消去データレジスタ４０から読み出した消去データＤＥ　とを比較する。当該比較の結果、書き込みデータＤｉｎと消去データＤＥ　とが一致した場合、ステップＳＡ３に進み、ＥＣＣ符号化回路が計算したパリティビットを選択しないで消去データＤＥ　を選択する。逆に、上記比較の結果、書き込みデータＤｉｎと消去データＤＥ　が一致しない場合、ステップＳＡ４に進み、誤り訂正符号化処理後の書き込みデータＤｉｎを選択する。
【００４９】
ステップＳＡ５：選択されたデータＤＷ　をフラッシュメモリ・インターフェース１７０を介して、フラッシュメモリ１８０に書き込む。
【００５０】
なお、上述した一致検出回路５０における比較は、書き込みデータＤｉｎと消去データＤＥ　のすべてのビットが比較される。その結果、すべてのビットが一致したとき、一致するとの判断結果を示す比較信号ＳＣＰを出力し、１ビットでも異なるなら、一致しないとの判断結果を示す比較信号ＳＣＰを出力する。
【００５１】
図８は、不揮発性メモリに記憶する書き込みデータＤｉｎの一例を示している。図示のように、書き込みデータＤｉｎは、５１２バイトのユーザデータ、１５バイトのパリティビット、及び１バイトの管理ビットから構成されている。パリティビットには、ユーザデータに対して誤り訂正符号化処理の結果が書き込まれる。管理ビットには、ユーザデータの属性情報、例えば、著作権情報などが書き込まれる。なお、管理ビットに対しては誤り訂正符号化処理は行わない。
【００５２】
書き込みのとき、図８に示す書き込みデータＤｉｎのユーザデータが、例えば、バイト単位で誤り訂正回路１５０に入力される。誤り訂正回路１５０の消去データレジスタ４０にも、例えば、バイト単位の消去データＤＥ　が保持されている。このため、一致検出回路５０において、バイト単位で入力されるユーザデータＤｉｎと消去データＤＥ　が順次比較される。その結果、ユーザデータのすべてのバイトが消去データＤＥ　と一致するとき、パリティビットに誤り訂正符号化の結果を採用しないで消去データと同じデータをセットする。そして、ユーザデータ、パリティビットのすべてのバイトが消去データＤＥ　のままで、フラッシュメモリ１８０に書き込まれる。管理ビットは書き込みデータＤｉｎが書き込まれる。
【００５３】
逆に、一致検出回路における検出の結果、ユーザデータに消去データＤＥ　に一致しないデータが検出された場合、当該ユーザデータに基づいて、ＥＣＣ符号化回路２０によって生成された誤り訂正符号がパリティビットにセットされる。そして、ユーザデータ、誤り訂正符号がセットされるパリティビット及び管理ビットがフラッシュメモリ１８０に書き込まれる。
【００５４】
上述した書き込み処理により、ユーザデータがすべて消去データＤＥ　の場合、誤り訂正符号が採用されずに、消去データのままのデータがフラッシュメモリに書き込まれる。逆に、ユーザデータに消去データと一致しないデータが含まれている場合、ユーザデータと、当該ユーザデータに応じて生成された誤り訂正符号がセットされるパリティビット及び管理ビットがフラッシュメモリ１８０に書き込まれる。
【００５５】
次に、図７を参照しつつ、読み出し時の動作について説明する。
ステップＳＢ１：フラッシュメモリ１８０からデータＤＲ　が読み出される。なお、この読み出しデータＤＲ　には、ユーザデータとパリティデータ、及び管理データが含まれる。
ステップＳＢ２：読み出しデータＤＲ　と、消去データレジスタ４０から取得した消去データＤＥ　とが一致検出回路５０に送られ、一致検出回路によって比較される。当該比較の結果、読み出しデータＤＲ　と消去データＤＥ　とが一致する場合、ステップＳＢ３に進み、誤り検出及び誤り訂正のための復号化処理を行わず、消去データＤＥ　をそのまま読み出しデータとして選択する。
【００５６】
一方、比較の結果、読み出しデータＤＲ　と消去データＤＥ　が一致しない場合、ステップＳＢ４に進み、読み出しデータＤＲ　に対して、誤り検出を行い、誤りがあった場合、ユーザデータ及びパリティビットにセットされている誤り訂正符号に基づき、誤り訂正を行う。そして、誤り訂正後のデータが選択回路によって選択される。
【００５７】
ステップＳＢ５：選択回路６０によって選択されたデータを出力する。
【００５８】
上述した書き込み及び読み出し動作によって、フラッシュメモリに記憶しようとする書き込みデータＤｉｎのうちユーザデータ５１２バイトがフラッシュメモリの消去状態の消去データＤＥ　と一致するとき、管理ビットを除き、誤り訂正符号化処理の結果を採用せず、ユーザデータ、パリティビットのすべてのデータが消去データＤＥ　に設定されて、フラッシュメモリに書き込まれる。そして、読み出しのとき、ユーザデータ及びパリティビットのすべてのデータが消去データＤＥ　に一致するとき、管理ビットを除き、誤り訂正復号化処理の結果を採用せず、消去データＤＥ　を読み出しデータとして出力される。さらに、この場合、誤り訂正復号化処理を実施する必要もなく、処理負荷の大きい誤り訂正復号化処理を省略することによって、処理回路の負担を低減でき、消費電力の低減などの付随効果が得られる。
【００５９】
【発明の効果】
以上説明したように、本発明によれば、入出力データに対して誤り訂正符号化処理及び復号化処理を行う半導体記憶装置において、入力データが不揮発性メモリの所定の状態にあるときの状態データ、例えば、消去状態にあるときの消去データとの比較結果に応じて、符号化処理によって得られた符号化データまたは消去データをそのまま不揮発性メモリに記憶し、読み出しのとき、読み出しデータと消去データとの比較結果に応じて、復号化処理をせずに読み出しデータをそのまま出力することができるので、書き込み及び読み出しにおける処理の無駄を回避でき、誤り訂正処理における誤判断の発生を防止できる。また、読み出しデータによって、処理負荷の大きい復号化処理を省略できるので、処理負荷の低減及び消費電力の節約を実現できる利点がある。
【図面の簡単な説明】
【図１】本発明に係る半導体記憶装置の一実施形態を示す構成図である。
【図２】誤り訂正回路の構成を示す回路図である。
【図３】不揮発性メモリセルの一構成例を示す断面図である。
【図４】ＮＯＲ型不揮発性メモリの消去及び書き込み動作を示す概念図である。
【図５】ＮＡＮＤ型不揮発性メモリの消去及び書き込み動作を示す概念図である。
【図６】書き込み時の動作を示すフローチャートである。
【図７】読み出し時の動作を示すフローチャートである。
【図８】書き込みデータの一例を示す図である。
【符号の説明】
２０…誤り訂正符号化回路（ＥＣＣ符号化回路）、３０…選択回路、４０…消去データレジスタ、５０…一致検出回路、６０…選択回路、７０…誤り訂正復号化回路（ＥＣＣ復号化回路）、８０…ＲＡＭ、１００…半導体記憶装置、１１０…制御部、１２０…インターフェース部、１３０…書き込みレジスタ、１４０…読み出しレジスタ、１５０…誤り訂正回路（符号化／復号化回路）、１６０…ページバッファ、１７０…フラッシュメモリ・インターフェース、１８０…フラッシュメモリ。
【図１】
2004071012.tif 000003
【図２】
2004071012.tif 000004
【図３】
2004071012.tif 000005
【図４】
2004071012.tif 000006
【図５】
2004071012.tif 000007
【図６】
2004071012.tif 000008
【図７】
2004071012.tif 000009
【図８】
2004071012.tif 000010