(57)【特許請求の範囲】
【請求項１】
電荷蓄積層、ゲート電極及びソース／ドレインを有し、少なくとも前記ゲート電極及び前記ソース／ドレインにそれぞれ所定電圧を印加することにより前記電荷蓄積層に電荷を蓄積し又は引き抜いて情報ビットの書き込みを行い、前記電荷蓄積層における電荷の蓄積状態を判定して前記情報ビットの読み出しを行う複数の半導体メモリを備えた半導体記憶装置において、
前記情報ビットに当該情報ビットと同一の冗長ビットが付加されてなるデータ列について、前記データ列を構成する各ビットがそれぞれ前記各半導体メモリに対応して書き込み及び読み出しが行われるものであり、
前記データ列を読み出す際に、前記電荷蓄積層に電荷が蓄積された状態から引き抜かれた状態へ変化する第１の遷移が発生する確率に比して電荷が引き抜かれた状態から蓄積された状態へ変化する第２の遷移が発生する確率が無視し得るほど小さいことと、
前記データ列のうち、２ビット以上について、前記電荷蓄積層に電荷が蓄積された状態から引き抜かれた状態へ共に変化する第３の遷移が発生する確率も、前記第２の遷移と同様に前記第１の遷移の発生確率に比して無視し得るほど小さいことと
を利用し、
読み出された前記データ列を構成する前記情報ビット及び前記冗長ビットについて、両者の対応する各ビットの論理和をそれぞれ算出して再データ列を構成し、当該再データ列が前記情報ビットに等しいと見做して出力することを特徴とする半導体記憶装置。
【請求項２】
前記半導体メモリは、前記電荷蓄積層として浮遊ゲートが、前記ゲート電極として制御ゲートが設けられてなるものであることを特徴とする請求項１に記載の半導体記憶装置。
【請求項３】
入力された所定値の情報ビットに前記情報ビットと同一の冗長ビットを付加してデータ列を作成する変換手段と、
電荷蓄積層及びゲート電極を備えた複数のメモリセルが行列状に配され、前記データ列を構成する各ビットがそれぞれ対応する前記各メモリセルに記憶されるようになされた記憶手段と、
前記記憶手段のうちから所定の前記メモリセルを選択し、前記各メモリセルに記憶された前記ビットを検出して前記データ列を構成し、前記電荷蓄積層に電荷が蓄積された状態から引き抜かれた状態へ変化する第１の遷移が発生する確率に比して電荷が引き抜かれた状態から蓄積された状態へ変化する第２の遷移が発生する確率が無視し得るほど小さいことと、前記データ列のうち、２ビット以上について、前記電荷蓄積層に電荷が蓄積された状態から引き抜かれた状態へ共に変化する第３の遷移が発生する確率も、前記第２の遷移と同様に前記第１の遷移の発生確率に比して無視し得るほど小さいこととを利用して、前記データ列の前記情報ビット及び前記冗長ビットについて、両者の対応する各ビットの論理和をそれぞれ算出して再データ列を構成し、当該再データ列が前記情報ビットに等しいと見做して出力する訂正手段とを備えたことを特徴とする半導体記憶装置。
【請求項４】
前記メモリセルは、前記電荷蓄積層として浮遊ゲートが、前記ゲート電極として制御ゲートが設けられてなる半導体素子を有することを特徴とする請求項３に記載の半導体記憶装置。
【請求項５】
電荷蓄積層、ゲート電極及びソース／ドレインを有し、少なくとも前記ゲート電極及び前記ソース／ドレインにそれぞれ所定電圧を印加することにより前記電荷蓄積層に電荷を蓄積し又は引き抜いて情報ビットの書き込みを行い、前記電荷蓄積層における電荷の蓄積状態を判定して前記情報ビットの読み出しを行う複数の半導体メモリを備えた半導体記憶装置の使用方法において、
前記各半導体メモリは、前記情報ビットに前記情報ビットと同一の冗長ビットが付加されてなるデータ列が記憶されるものであり、
記憶された前記データ列を読み出す際に、前記電荷蓄積層に電荷が蓄積された状態から引き抜かれた状態へ変化する第１の遷移が発生する確率に比して電荷が引き抜かれた状態から蓄積された状態へ変化する第２の遷移が発生する確率が無視し得るほど小さいことと、
前記データ列のうち、２ビット以上について、前記電荷蓄積層に電荷が蓄積された状態から引き抜かれた状態へ共に変化する第３の遷移が発生する確率も、前記第２の遷移と同様に前記第１の遷移の発生確率に比して無視し得るほど小さいことと
を利用し、
読み出された前記データ列を構成する前記情報ビット及び前記冗長ビットについて、両者の対応する各ビットの論理和をそれぞれ算出して再データ列を構成し、当該再データ列が前記情報ビットに等しいと見做して出力することを特徴とする半導体記憶装置の使用方法。
【請求項６】
前記半導体メモリは、前記電荷蓄積層として浮遊ゲートが、前記ゲート電極として制御ゲートが設けられてなるものであることを特徴とする請求項５に記載の半導体記憶装置の使用方法。
【請求項７】
前記情報ビットとこの情報ビットに対応する前記冗長ビットは、同じ桁数で記憶されることを特徴とする請求項５又は６に記載の半導体記憶装置の使用方法。
【請求項８】
電荷蓄積層、ゲート電極及びソース／ドレインを有し、少なくとも前記ゲート電極及び前記ソース／ドレインにそれぞれ所定電圧を印加することにより前記電荷蓄積層に電荷を蓄積し又は引き抜いて情報ビットの書き込みを行い、前記電荷蓄積層における電荷の蓄積状態を判定して前記情報ビットの読み出しを行う複数の半導体メモリを備えた半導体記憶装置の使用方法において、
前記半導体メモリは、前記情報ビットに前記情報ビットと同一の冗長ビットが付加されてなるデータ列が記憶されるものであり、
記憶された前記データ列を読み出す際に、前記電荷蓄積層に電荷が蓄積された状態から引き抜かれた状態へ変化する第１の遷移が発生する確率に比して電荷が引き抜かれた状態から蓄積された状態へ変化する第２の遷移が発生する確率が無視し得るほど小さいことと、
前記データ列のうち、２ビット以上について、前記電荷蓄積層に電荷が蓄積された状態から引き抜かれた状態へ共に変化する第３の遷移が発生する確率も、前記第２の遷移と同様に前記第１の遷移の発生確率に比して無視し得るほど小さいことと
を利用し、
前記各半導体メモリから前記各ビットをそれぞれ読み出し、前記データ列を構成する第１のステップと、
読み出された前記データ列の前記情報ビット及び前記冗長ビットにおいて、両者の対応する順位の各ビットの論理和をそれぞれ算出して再データ列を構成し、当該再データ列が前記情報ビットに等しいと見做して出力する第２のステップとを有することを特徴とする半導体記憶装置の使用方法。
【請求項９】
前記半導体メモリは、前記電荷蓄積層として浮遊ゲートが、前記ゲート電極として制御ゲートが設けられてなるものであることを特徴とする請求項８に記載の半導体記憶装置の使用方法。
【請求項１０】
請求項８に記載の半導体記憶装置の使用方法を構成する第１〜第２のステップをコンピュータに実行させるためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報ビットに当該情報ビットと同一の冗長ビットが付加されてなるデータ列が記憶される半導体記憶装置及び使用方法並びにその使用方法が記憶された記憶媒体に関する。
【０００２】
【従来の技術】
一般に、不揮発性半導体記憶装置を含む半導体記憶装置においては、メモリセルアレイに記憶データを書き込む際に、その誤り訂正データを冗長ビットとして付帯させる。そして、記憶データをメモリセルアレイから読み出す際に、その内容の誤りの有無を検査し、誤りが判明したときにはその誤りを訂正し、読み出しデータとして出力する。通常この誤り訂正では、必要なビット数を持つ誤り訂正データを記憶データに付加して書き込みや読み出しを行う。具体的な誤り訂正法としては、例えばハミング符号による誤り訂正法等が頻繁に用いられている。
【０００３】
【発明が解決しようとする課題】
しかしながら、通常用いられる誤り訂正法は極めて煩雑な手法であり、一般的に記憶データのビット数が長くなるほどその複雑さも増加する。従って、十分な誤り訂正を実現するためには、極めて複雑且つ大きな訂正手段を設けることが必要となり、近時における半導体記憶装置の小型化や高集積化の要請に対する妨げとなるおそれがある。
【０００４】
なお、メモリセルに記憶情報とともにパリティビットを記憶させ、メモリの大容量化及びデータの信頼性の向上を図る不揮発性半導体記憶装置が、特開平６−２８２９９２号公報に開示されているが、付加するビットがパリティビットであるため、誤りが生じたか否かを効率良く判定することは可能であるものの、この不揮発性半導体記憶装置では誤り訂正を行うことはできない。
【０００５】
そこで、本発明の目的は、情報ビットにこれと同一の冗長ビットを付加するだけで、情報ビットを構成するビット数の長短に係わりなく、極めて容易且つ正確に誤り訂正を行う半導体記憶装置及び使用方法並びに使用方法が記憶された記憶媒体を提供することである。
【０００６】
【課題を解決するための手段】
本発明の半導体記憶装置は、電荷蓄積層、ゲート電極及びソース／ドレインを有し、少なくとも前記ゲート電極及び前記ソース／ドレインにそれぞれ所定電圧を印加することにより前記電荷蓄積層に電荷を蓄積し又は引き抜いて情報ビットの書き込みを行い、前記電荷蓄積層における電荷の蓄積状態を判定して前記情報ビットの読み出しを行う複数の半導体メモリを備えた半導体記憶装置であって、前記情報ビットに当該情報ビットと同一の冗長ビットが付加されてなるデータ列について、前記データ列を構成する各ビットがそれぞれ前記各半導体メモリに対応して書き込み及び読み出しが行われるものであり、前記データ列を読み出す際に、前記電荷蓄積層に電荷が蓄積された状態から引き抜かれた状態へ変化する第１の遷移が発生する確率に比して電荷が引き抜かれた状態から蓄積された状態へ変化する第２の遷移が発生する確率が無視し得るほど小さいことと、前記データ列のうち、２ビット以上について、前記電荷蓄積層に電荷が蓄積された状態から引き抜かれた状態へ共に変化する第３の遷移が発生する確率も、前記第２の遷移と同様に前記第１の遷移の発生確率に比して無視し得るほど小さいこととを利用し、読み出された前記データ列を構成する前記情報ビット及び前記冗長ビットについて、両者の対応する各ビットの論理和をそれぞれ算出して再データ列を構成し、当該再データ列が前記情報ビットに等しいと見做して出力する。
【０００８】
本発明の半導体記憶装置の一態様例においては、前記半導体メモリは、前記電荷蓄積層として浮遊ゲートが、前記ゲート電極として制御ゲートが設けられてなるものである。
【０００９】
本発明の半導体記憶装置は、入力された所定値の情報ビットに前記情報ビットと同一の冗長ビットを付加してデータ列を作成する変換手段と、電荷蓄積層及びゲート電極を備えた複数のメモリセルが行列状に配され、前記データ列を構成する各ビットがそれぞれ対応する前記各メモリセルに記憶されるようになされた記憶手段と、前記記憶手段のうちから所定の前記メモリセルを選択し、前記各メモリセルに記憶された前記ビットを検出して前記データ列を構成し、前記電荷蓄積層に電荷が蓄積された状態から引き抜かれた状態へ変化する第１の遷移が発生する確率に比して電荷が引き抜かれた状態から蓄積された状態へ変化する第２の遷移が発生する確率が無視し得るほど小さいことと、前記データ列のうち、２ビット以上について、前記電荷蓄積層に電荷が蓄積された状態から引き抜かれた状態へ共に変化する第３の遷移が発生する確率も、前記第２の遷移と同様に前記第１の遷移の発生確率に比して無視し得るほど小さいこととを利用して、前記データ列の前記情報ビット及び前記冗長ビットについて、両者の対応する各ビットの論理和をそれぞれ算出して再データ列を構成し、当該再データ列が前記情報ビットに等しいと見做して出力する訂正手段とを備える。
【００１１】
本発明の半導体記憶装置の一態様例においては、前記メモリセルは、前記電荷蓄積層として浮遊ゲートが、前記ゲート電極として制御ゲートが設けられてなる半導体素子を有する。
【００１２】
本発明の半導体記憶装置の使用方法は、電荷蓄積層、ゲート電極及びソース／ドレインを有し、少なくとも前記ゲート電極及び前記ソース／ドレインにそれぞれ所定電圧を印加することにより前記電荷蓄積層に電荷を蓄積し又は引き抜いて情報ビットの書き込みを行い、前記電荷蓄積層における電荷の蓄積状態を判定して前記情報ビットの読み出しを行う複数の半導体メモリを備えた半導体記憶装置の使用方法であって、前記各半導体メモリは、前記情報ビットに前記情報ビットと同一の冗長ビットが付加されてなるデータ列が記憶されるものであり、記憶された前記データ列を読み出す際に、前記電荷蓄積層に電荷が蓄積された状態から引き抜かれた状態へ変化する第１の遷移が発生する確率に比して電荷が引き抜かれた状態から蓄積された状態へ変化する第２の遷移が発生する確率が無視し得るほど小さいことと、前記データ列のうち、２ビット以上について、前記電荷蓄積層に電荷が蓄積された状態から引き抜かれた状態へ共に変化する第３の遷移が発生する確率も、前記第２の遷移と同様に前記第１の遷移の発生確率に比して無視し得るほど小さいこととを利用し、読み出された前記データ列を構成する前記情報ビット及び前記冗長ビットについて、両者の対応する各ビットの論理和をそれぞれ算出して再データ列を構成し、当該再データ列が前記情報ビットに等しいと見做して出力する。
【００１４】
本発明の半導体記憶装置の使用方法の一態様例においては、前記半導体メモリは、前記電荷蓄積層として浮遊ゲートが、前記ゲート電極として制御ゲートが設けられてなるものである。
【００１５】
本発明の半導体記憶装置の使用方法の一態様例においては、前記情報ビットとこの情報ビットに対応する前記冗長ビットは、同じ桁数で記憶される。
【００１６】
本発明の半導体記憶装置の使用方法は、電荷蓄積層、ゲート電極及びソース／ドレインを有し、少なくとも前記ゲート電極及び前記ソース／ドレインにそれぞれ所定電圧を印加することにより前記電荷蓄積層に電荷を蓄積し又は引き抜いて情報ビットの書き込みを行い、前記電荷蓄積層における電荷の蓄積状態を判定して前記情報ビットの読み出しを行う複数の半導体メモリを備えた半導体記憶装置の使用方法であって、前記半導体メモリは、前記情報ビットに前記情報ビットと同一の冗長ビットが付加されてなるデータ列が記憶されるものであり、記憶された前記データ列を読み出す際に、前記電荷蓄積層に電荷が蓄積された状態から引き抜かれた状態へ変化する第１の遷移が発生する確率に比して電荷が引き抜かれた状態から蓄積された状態へ変化する第２の遷移が発生する確率が無視し得るほど小さいことと、前記データ列のうち、２ビット以上について、前記電荷蓄積層に電荷が蓄積された状態から引き抜かれた状態へ共に変化する第３の遷移が発生する確率も、前記第２の遷移と同様に前記第１の遷移の発生確率に比して無視し得るほど小さいこととを利用し、前記各半導体メモリから前記各ビットをそれぞれ読み出し、前記データ列を構成する第１のステップと、読み出された前記データ列の前記情報ビット及び前記冗長ビットにおいて、両者の対応する順位の各ビットの論理和をそれぞれ算出して再データ列を構成し、当該再データ列が前記情報ビットに等しいと見做して出力する第２のステップとを有する。
【００１７】
本発明の半導体記憶装置の使用方法の一態様例においては、前記半導体メモリは、前記電荷蓄積層として浮遊ゲートが、前記ゲート電極として制御ゲートが設けられてなるものである。
【００１８】
本発明の記憶媒体は、半導体記憶装置の使用方法を構成する第１〜第２のステップをコンピュータに実行させるためのプログラムを記憶したコンピュータ読み取り可能なものである。
【００１９】
【作用】
通常、ＤＲＡＭ等の揮発性半導体記憶装置においては、各半導体メモリの電荷蓄積層に電荷が蓄積された状態から引き抜かれた状態へ変化する第１の遷移と、電荷が引き抜かれた状態から蓄積された状態へ変化する第２の遷移とはほぼ等確率で生じる。一方、ＥＥＰＲＯＭ等の不揮発性半導体記憶装置においては、第１の遷移に比して第２の遷移が生じる確率は無視し得るほど小さい。更に、前記データ列のうち、２ビット以上について、前記電荷蓄積層に電荷が蓄積された状態から引き抜かれた状態へ共に変化する第３の遷移が発生する確率も、前記第２の遷移と同様に前記第１の遷移の発生確率に比して無視し得るほど小さい。本発明は、この性質を積極的に利用するものである。
【００２０】
即ち、本発明においては、情報ビットにこの情報ビットと同一の冗長ビットが付加されてなり、情報ビットの２倍のビット数を有するデータ列を用いて書き込み及び読み出しを行う。そして、このデータ列を読み出す際に、当該データ列に生じる誤りは第１の遷移に対応して生じたものと見做し、好ましくは第３の遷移も考慮して、この誤りを訂正する。
【００２１】
具体的に、本発明においては、第２の遷移及び第３の遷移の可能性を排除し、第１の遷移の可能性のみ考慮する。即ち、データ化けが発生するとすればデータ列のうちの１ビットのみが”１”から”０”に変化するものと見做す。この場合、データ化けがデータ列を構成する情報ビット及び冗長ビットの一方に生じたとしても、このデータ化けビットに対応する他方のビットはデータ化けすることなく”１”と読み出される。勿論、データ化けが発生しなければ、前記一方のビットが”１”ならば対応する前記他方のビットも”１”であり、前記一方が”０”ならば前記他方も”０”となる。従って、各々対応する前記一方のビットと前記他方のビットがそれぞれ、”１”，”０”或いは”０”，”１”であれば正しいビットは”１”であり、”１”，”１”ならば正しいビットは”１”、”０”，”０”ならば正しいビットは”０”となる。即ち、このことは前記一方のビットと前記他方のビットとの論理和を意味しており、本発明では、これら論理和をそれぞれ算出し、算出された各ビットを順次並べて再データ列を構成する。そして、この再データ列を正しい情報ビットと見做して出力する。
【００２２】
このように、本発明においては、情報ビットに当該情報ビットと同一の冗長ビットを付加してデータ列を作成し、このデータ列を用いて半導体メモリに書き込み及び読み出しを行い、第１の遷移のみを考慮して読み出し時に簡易且つ正確に誤り訂正を行うことが可能となる。
【００２３】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を参照しながら詳細に説明する。この実施形態においては、各メモリセルに２値（＝１ビット）の情報を記憶することが可能な不揮発性半導体記憶装置であるＥＥＰＲＯＭを用いて、４値（２ビット）の情報ビットに誤り訂正用の４値（２ビット）の冗長ビットを付加したデータ列（４ビット）の書き込み及び読み出しを行う場合について例示する。図１は、この実施形態のＥＥＰＲＯＭの主要な概略構成を示すブロック図であり、図２はＥＥＰＲＯＭを構成する各メモリセルの主要構成を示す概略断面図、図３は遷移確率に基づいて誤りが発生する様子を示す模式図、図４は読み出し時において誤り訂正を施すフローチャート図である。
【００２４】
本実施形態のＥＥＰＲＯＭは、図１に示すように、複数のメモリセルが行列状に配されてなる記憶手段であるメモリセルアレイ１１と、情報ビットが入出力するＩ／Ｏバッファ１２と、Ｉ／Ｏバッファ１２から出力したＮビットの情報ビットに当該情報ビットと同一の冗長ビットを付加して２Ｎビットのデータ列を作成する変換回路１３と、Ｍ（≧Ｎ）ビットのデータ列が入力されるアドレスレジスタ１７と、アドレスレジスタ１７からのＮビットのデータ列が入力されるＹデコーダ１５ａ及びアドレスレジスタ１７からの（Ｍ−Ｎ）ビットのデータ列が入力されるＸデコーダ１５ｂと、増幅機能を備えるセンスアンプ１４と、メモリセルアレイ１１から読み出されたＮビットの情報ビットとＮビットの冗長ビットからなる２Ｎビットのデータ列に、後述するように誤りが生じたか否かを判別することなく一律に同一の手法によってＩ／Ｏバッファ１２に対してＮビットの正しい情報ビットを出力する読み出し訂正手段である訂正回路１６とを有して構成されている。
【００２５】
メモリセルアレイ１１を構成する各メモリセルは、図２に示すように、ｐ型のシリコン半導体基板１上において、フィールド酸化膜等の素子分離構造により画定された素子活性領域２の表面領域にリン（Ｐ）や砒素（Ａｓ）等のｎ型不純物がイオン注入されて形成された一対の不純物拡散層であるソース３及びドレイン４と、ソース３とドレイン４との間のチャネル領域Ｃ上にトンネル酸化膜７を介してパターン形成された電子蓄積層である浮遊ゲート電極５と、浮遊ゲート電極５上に誘電体膜８を介してパターン形成された制御ゲート電極６とを有して構成されている。
【００２６】
そして、選択されたメモリセルに書き込み手段からソース３、ドレイン４及び制御ゲート電極６に所定電圧が印加されて、それに応じて浮遊ゲート電極５に電子が蓄積され、或いは浮遊ゲート電極５から電子が引き抜かれて記憶状態が変化する。
【００２７】
メモリセルアレイ１１は、図２のメモリセルが行列状に配列して構成されており、各メモリセルにおいては、浮遊ゲート電極５に電子が蓄積された状態が”１”、浮遊ゲート電極５から電子が引き抜かれた状態が”０”と規定されている。このＥＥＰＲＯＭには、例えば４値（”００００”，”０１０１”，”１０１０”，”１１１１”）のデータ列の書き込み及び１６値（”００００”，”０００１”，”００１０”，”００１１”，”０１００”，”０１０１”，”０１１０”，”０１１１”，”１０００”，”１００１”，”１０１０”，”１０１１”，”１１００”，”１１０１”，”１１１０”，”１１１１”）のデータ列の読み出しが可能である。
【００２８】
図１に示すように、Ｉ／Ｏバッファ１２から出力されたＮビット、ここでは２ビットの記憶データからなる情報ビットが変換回路１３に入力し、この変換回路１３において当該記憶データと同一の冗長ビットが付加されて４ビットのデータ列が作成される。このデータ列を構成する各ビットが、Ｙゲート１８を介してメモリセルアレイ１１中の所定のメモリセルＭ１〜Ｍ４に書き込まれる。
【００２９】
即ち、１単位を構成する４つのメモリセルＭ１〜Ｍ４において、２つのメモリセルＭ１，Ｍ２のうち、一方のメモリセルＭ１に書き込む記憶データ”０”，”１”を最上位ビットと規定し、他方のメモリセルＭ２に書き込む記憶データ”０”，”１”を次の２位の上位ビットと規定する。この場合、これら２つのメモリセルＭ１，Ｍ２に記憶された最上位ビット及び２位の上位ビットにより、４値の情報ビット（”００”，”０１”，”１０”，”１１”）のうちの１つが構成される。
【００３０】
更に、残りの２つのメモリセルＭ３，Ｍ４のうち、一方のメモリセルＭ３にメモリセルＭ１の記憶データと同一のビットを、他方のメモリセルＭ４にメモリセルＭ２の記憶データと同一のビットを書き込み、メモリセルＭ３に記憶されるビットを３位の上位ビット（２位の下位ビット）、メモリセルＭ４に記憶されるビットを最下位ビットと規定する。この場合、これら２つのメモリセルＭ３，Ｍ４に記憶された３位の上位ビット及び最下位ビットにより、上述の情報ビットと同一の冗長ビットが構成される。
【００３１】
そして、メモリセルＭ１〜Ｍ４に書き込まれた最上位ビット〜最下位ビットにより、４値（”００００”，”０１０１”，”１０１０”，”１１１１”）のデータ列が構成されることになる。
【００３２】
一方、読み出し時においては、後述するようにデータ列を構成するビットに誤りが発生した場合を考慮して、１６値（”００００”，”０００１”，”００１０”，”００１１”，”０１００”，”０１０１”，”０１１０”，”０１１１”，”１０００”，”１００１”，”１０１０”，”１０１１”，”１１００”，”１１０１”，”１１１０”，”１１１１”）のデータ列をメモリセルＭ１〜Ｍ４から読み出した各ビットから構成することが可能であり、誤りがあるか否かを問わず後述するように一律に訂正を施して出力する。
【００３３】
本実施形態においては、各メモリセルの浮遊ゲート電極５に電子が蓄積された状態”１”から電子が引き抜かれた状態”０”へ遷移する確率に比して、浮遊ゲート電極５に電子が引き抜かれた状態”０”から電子が蓄積された状態”１”へ遷移する確率は圧倒的に小さく、更に、４つのメモリセルＭ１〜Ｍ４中で２つのメモリセルに記憶された各ビットが共にデータ化けを起こす確率、即ち、データ列中の２ビット以上が共に状態”１”から状態”０”へ遷移する確率もまた小さいことを利用して、読み出されたデータ列の誤り訂正を行う。
【００３４】
具体的な誤り訂正法を図３に示す。ここで、書き込み時のデータ列”１１１１”が読み出し時にデータ列”０１１１”や”１０１１”，”１１０１”，”１１１０”にデータ化けする確率Ｐ１１，Ｐ１２，Ｐ１３，Ｐ１４に比して、書き込み時のデータ列”１１１１”が”０１０１”や”１０１０”等にデータ化けする確率Ｐ１５，Ｐ１６は極めて小さく、無視することができる。
【００３５】
同様に、書き込み時のデータ列”０１０１”である場合には、”０”から”１”にデータ化けする確率を無視すれば、読み出し時にデータ列”０００１”や”０１００”にデータ化けする確率Ｐ１７，Ｐ１８のみを考慮すればよい。
【００３６】
また、書き込み時のデータ列”１０１０”である場合には、”０”から”１”にデータ化けする確率を無視すれば、読み出し時にデータ列”００１０”や”１０００”にデータ化けする確率Ｐ１９，Ｐ２０のみを考慮すればよい。
【００３７】
また、書き込み時のデータ列”００００”である場合には、”０”から”１”にデータ化けする確率を無視すれば、誤りがなく読み出し時にも”００００”となると見做せる。
【００３８】
従って、読み出されたデータ列が”０１１１”、”１０１１”、”１１０１”、”１１１０”の何れかであれば、このデータ列には誤りがあることになる。このときの正しいデータ列は、前記遷移確率の性質から、”１１１１”であり、正しい情報ビットは”１１”であることが分かる。
【００３９】
同様に、読み出されたデータ列が”０００１”、”０１００”の何れかであれば、このデータ列には誤りがあることになる。このときの正しいデータ列は、前記遷移確率の性質から、”０１０１”であり、正しい情報ビットは”０１”であることが分かる。また、読み出されたデータ列が”００１０”、”１０００”の何れかであれば、このデータ列には誤りがあることになり、このときの正しいデータ列は、前記遷移確率の性質から、”１０１０”であり、正しい情報ビットは”１０”であることが分かる。また、当然のことではあるが、読み出されたデータ列が”１１１１”、”１０１０”、”０１０１”、”００００”であれば、これらは正しいデータ列であり、正しい情報ビットは順に”１１”、”１０”、”０１”、”００”である。
【００４０】
本実施形態においては、前記遷移確率の性質を利用して、読み出されたデータ列に誤りが生じたか否かを判別することなく一律に同一の手法で正しい情報ビットを出力する。即ち、読み出されたデータ列を”ａｂｃｄ”（ａ〜ｄは”０”又は”１”）とすると、”ａｂ”が情報ビット、”ｃｄ”が冗長ビットに相当するが、両者の対応する各ビット、即ち”ａ”と”ｃ”、”ｂ”と”ｄ”の論理和をそれぞれ算出して２ビットの再データ列を作成すれば、これが正しい情報ビットとなる。つまり、”ａ”と”ｃ”或いは”ｂ”と”ｄ”が、”１”と”１”、”１”と”０”、”０”と”１”であれば論理和は”１”となり、”０”と”０”であれば論理和は”０”となる。これによれば、誤ったデータ列であると否とを問わず、算出された２ビットの再データ列は正しい情報ビットとなる。このことは、前記遷移確率の性質、即ち、データ列のうち、データ化けが生じるとしても１ビットのみであり、しかもそれは”１”から”０”への変化であるという性質に起因している。
【００４１】
具体的には、読み出されたデータ列が、訂正回路１６において上述の論理和の算出がなされて再データ列に変換され、これが正しい情報ビットとしてＩ／Ｏバッファ１２から順次出力されることになる。
【００４２】
上述の性質を利用したＥＥＰＲＯＭからのデータ列の誤り訂正を含む読み出し方法について、図４を用いて説明する。この読み出し方法は、以下に示すように極めて簡易に行われる。
【００４３】
先ず、各メモリセルＭ１〜Ｍ４にそれぞれ記憶された各ビットを読み出し、４ビットのデータ列Ｄ（”ａｂｃｄ”）を構成する（ステップＳ１）。
【００４４】
次に、読み出された４ビットのデータ列Ｄ中において、情報ビットの上位ビットａと冗長ビットの上位ビットｃの論理和と、情報ビットの下位ビットｂと冗長ビットの下位ビットｄの論理和をそれぞれ算出し、順次並べて２ビットの再データ列を作成して出力する（ステップＳ２）。
【００４５】
なお、本実施形態では、簡便のため情報ビットが２ビット、即ちデータ列が４ビット場合について説明したが、情報ビットのビット数をＮビット（Ｎは１以上の整数）に拡張しても、全く同様に使用（書き込み、訂正と共に行う読み出し）することができる。例えば、書き込み時には、変換回路１３によってＮビットの情報ビットに同一の冗長ビットを付加して２Ｎビットのデータ列を作成し、メモリセルアレイ１１の所定のメモリセルＭ（１）〜Ｍ（２Ｎ）に書き込む。また、読み出し時には、訂正回路１６により、ステップＳ２１においてメモリセルＭ（１）〜Ｍ（２Ｎ）から２Ｎビットのデータ列を読み出した後、ステップＳ２２においてデータ列の情報ビットと冗長ビットの各々対応する順位のビットの論理和を算出し、順次並べて再データ列を作成し出力すればよい。
【００４６】
上述のように、本実施形態のＥＥＰＲＯＭによれば、情報ビットにこれと同一の冗長ビットを付加するだけで、情報ビットを構成するビット数の長短に係わりなく、しかもデータ列に誤りがあるか否かを判定する必要すらなく、一律に情報ビットと冗長ビットの対応する各ビットの論理和を算出するという極めて簡易な手法により、正確に誤り訂正を行うことができる。
【００４７】
なお、本実施形態においては、不揮発性半導体記憶装置としてＥＥＰＲＯＭを例示したが、本発明はこれに限定されるものではない。蓄積電極層を有するものであればよく、例えばＥＰＲＯＭやＭＮＯＳ、フラッシュメモリ等にも適用可能である。更に、揮発性半導体記憶装置であるＤＲＡＭにも、所定条件の下では適用できる余地がある。
【００４８】
また、前述の本実施形態において、図４を用いて説明した読み出し方法（使用方法）の機能を実現するように、例えば通常のＥＥＰＲＯＭを動作させるためのプログラムコード自体及びそのプログラムコードをコンピュータに供給するための手段、例えば図５に示すように、かかるプログラムコードを格納した記憶媒体２１は本発明の範疇に属する。
【００４９】
またこの場合、記憶再生装置２２により、当該記憶再生装置２２に格納されている記憶媒体２１からプログラムコードが読み出され、ＥＥＰＲＯＭが動作する。かかるプログラムコードを記憶する記憶媒体２１としては、例えばフロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００５０】
また、コンピュータが供給されたプログラムコードを実行することにより、本実施形態の機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）或いは他のアプリケーションソフト等の共同して本実施形態の機能が実現される場合にもかかるプログラムコードは本発明に含まれる。
【００５１】
更に、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって本実施形態の機能が実現されるシステムも本発明に含まれる。
【００５２】
【発明の効果】
本発明によれば、情報ビットにこれと同一の冗長ビットを付加するだけで、情報ビットを構成するビット数の長短に係わりなく、極めて容易且つ正確に誤り訂正を行うことが可能となる。
【図面の簡単な説明】
【図１】本発明の実施形態に係るＥＥＰＲＯＭの主要な概略構成要素を示すブロック図である。
【図２】本発明の実施形態に係るＥＥＰＲＯＭを構成する１つのメモリセルの主要構成を示す概略断面図である。
【図３】本発明の実施形態において、遷移確率に基づいて誤りが発生する様子を示す模式図である。
【図４】本発明の実施形態において、読み出し時において誤り訂正を施すフローチャート図である。
【図５】本発明の実施形態において、ＥＥＰＲＯＭの使用方法が記憶された記憶媒体及び当該記憶媒体の情報が格納される記憶再生装置を示すブロック図である。
【符号の説明】
１  シリコン半導体基板
２  素子形成領域
３  ソース
４  ドレイン
５  浮遊ゲート電極
６  制御ゲート電極
７  トンネル酸化膜
８  誘電体膜
１１  メモリセルアレイ
１２  Ｉ／Ｏバッファ
１３  変換回路
１４  センスアンプ
１５ａ  Ｙデコーダ
１５ｂ  Ｘデコーダ
１６  訂正回路
１７  アドレスレジスタ
１８  Ｙゲート
２１  記憶媒体
２２  記憶再生装置
【図１】
0003581548.tif 000002
【図２】
0003581548.tif 000003
【図３】
0003581548.tif 000004
【図４】
0003581548.tif 000005
【図５】
0003581548.tif 000006