(57)【特許請求の範囲】
【請求項１】
電荷蓄積層、ゲート電極及びソース／ドレインを有し、少なくとも前記ゲート電極及び前記ソース／ドレインに所定電圧が印加されることにより前記電荷蓄積層における電荷の蓄積状態が段階的に変化する複数のメモリセルを備え、各々の前記蓄積状態に対応して規定された識別番号が書き込まれ、前記電荷蓄積層における電荷の蓄積状態を判定して前記識別番号が読み出される半導体記憶装置であって、
前記各データ列に複数桁の前記識別番号からなる所定の識別番号群をそれぞれ割り当て、各桁の前記識別番号を対応する前記各メモリセルに記憶するとともに、
前記識別番号群の前記各識別番号に対応する前記各メモリセルにおいて、前記電荷蓄積層に電荷が蓄積された上位段階の状態から電荷が減少した下位段階の状態へ１段階だけ変化する第１の遷移が発生する確率に比して、前記下位段階の状態から前記上位段階の状態へ変化する第２の遷移が発生する確率が無視し得るほど小さいことと、
前記識別番号群の前記各識別番号に対応する前記各メモリセルにおいて、２段階以上について、前記電荷蓄積層に電荷が蓄積された上位段階の状態から電荷が減少した下位段階の状態へ変化する第３の遷移が発生する確率が、１つの前記メモリセルのみにおける前記第１の遷移の発生確率に比して無視し得るほど小さいことと、
前記識別番号群の前記各識別番号に対応する前記各メモリセルのうち２つ以上のメモリセルについて、前記電荷蓄積層に電荷が蓄積された上位段階の状態から電荷が減少した下位段階の状態へ共に変化する第４の遷移が発生する確率が、１つの前記メモリセルのみにおける前記第１の遷移の発生確率に比して無視し得るほど小さいことと
を利用し、
前記メモリセルから前記識別番号を読み出す際に、前記識別番号に誤りが生じるとすれば前記第１の遷移に対応するものであると見做して誤り訂正を行い、前記割り当てに基づいて前記データ列を出力することを特徴とする半導体記憶装置。
【請求項２】
前記データ列の各桁が、バイナリ形式の情報データであることを特徴とする請求項１に記載の半導体記憶装置。
【請求項３】
前記メモリセルが、前記電荷蓄積層として浮遊ゲートが、前記ゲート電極として制御ゲートが設けられてなるものであることを特徴とする請求項１又は２に記載の半導体記憶装置。
【請求項４】
ゲート電極及びソース／ドレインを有し、少なくとも前記ゲート電極及び前記ソース／ドレインに所定電圧が印加されることにより前記電荷蓄積層における電荷の蓄積状態が段階的に変化する複数のメモリセルを備え、各々の前記蓄積状態に対応して規定された識別番号が書き込まれ、前記電荷蓄積層における電荷の蓄積状態を判定して前記識別番号が読み出される半導体記憶装置であって、
入力されるデータ列を、複数桁の前記識別番号からなる識別番号群のうちの規定された所定のものに変換する符号化手段と、
複数の前記メモリセルが行列状に配され、対応する前記メモリセルに前記識別番号が記憶されるように構成された記憶手段とを備えるとともに、
選択された所定の前記メモリセルに記憶された前記識別番号を検出して、前記識別番号群の前記各識別番号に対応する前記各メモリセルにおいて、２段階以上について、前記電荷蓄積層に電荷が蓄積された上位段階の状態から電荷が減少した下位段階の状態へ変化する第３の遷移が発生する確率が、１つの前記メモリセルのみにおける前記第１の遷移の発生確率に比して無視し得るほど小さいことと、前記識別番号群の前記各識別番号に対応する前記各メモリセルのうち２つ以上のメモリセルについて、前記電荷蓄積層に電荷が蓄積された上位段階の状態から電荷が減少した下位段階の状態へ共に変化する第４の遷移が発生する確率が、１つの前記メモリセルのみにおける前記第１の遷移の発生確率に比して無視し得るほど小さいこととを利用し、前記メモリセルから前記識別番号を読み出す際に、前記識別番号に誤りが生じるとすれば前記第１の遷移に対応するものであると見做して誤り訂正を行い、
前記変換に基づいて前記データ列に復号化して出力する復号化手段とを備えたことを特徴とする半導体記憶装置。
【請求項５】
前記データ列の各桁が、バイナリ形式の情報データであることを特徴とする請求項４に記載の半導体記憶装置。
【請求項６】
前記メモリセルが、前記電荷蓄積層として浮遊ゲートが、前記ゲート電極として制御ゲートが設けられてなるものであることを特徴とする請求項４又は５に記載の半導体記憶装置。
【請求項７】
ゲート電極及びソース／ドレインを有し、少なくとも前記ゲート電極及び前記ソース／ドレインに所定電圧が印加されることにより前記電荷蓄積層における電荷の蓄積状態が段階的に変化する複数のメモリセルを備え、各々の前記蓄積状態に対応して規定された識別番号が書き込まれ、前記電荷蓄積層における電荷の蓄積状態を判定して前記識別番号が読み出される半導体記憶装置の使用方法であって、
入力されるデータ列を、複数桁の前記識別番号からなる識別番号群のうちの規定された所定のものに変換する第１のステップと、
前記識別番号を対応する前記メモリセルに書き込む第２のステップと、
選択された所定の前記メモリセルに記憶された前記識別番号を検出して、前記識別番号群の前記各識別番号に対応する前記各メモリセルにおいて、２段階以上について、前記電荷蓄積層に電荷が蓄積された上位段階の状態から電荷が減少した下位段階の状態へ変化する第３の遷移が発生する確率が、１つの前記メモリセルのみにおける前記第１の遷移の発生確率に比して無視し得るほど小さいことと、前記識別番号群の前記各識別番号に対応する前記各メモリセルのうち２つ以上のメモリセルについて、前記電荷蓄積層に電荷が蓄積された上位段階の状態から電荷が減少した下位段階の状態へ共に変化する第４の遷移が発生する確率が、１つの前記メモリセルのみにおける前記第１の遷移の発生確率に比して無視し得るほど小さいこととを利用し、前記メモリセルから前記識別番号を読み出す際に、前記識別番号に誤りが生じるとすれば前記第１の遷移に対応するものであると見做して誤り訂正を行い、前記各データ列に所定の前記識別番号群をそれぞれ割り当てて、前記変換に基づいて前記データ列に復号化して出力する第３のステップとを備えたことを特徴とする半導体記憶装置の使用方法。
【請求項８】
前記データ列の各桁が、バイナリ形式の情報データであることを特徴とする請求項７に記載の半導体記憶装置の使用方法。
【請求項９】
前記メモリセルが、前記電荷蓄積層として浮遊ゲートが、前記ゲート電極として制御ゲートが設けられてなるものであることを特徴とする請求項７又は８に記載の半導体記憶装置の使用方法。
【請求項１０】
請求項７に記載の半導体記憶装置の使用方法を構成する第１〜第３のステップをコンピュータに実行させるためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、入力されるデータが主にバイナリ形式のデータ列である半導体記憶装置及びその使用方法並びに当該使用方法が記憶された記憶媒体に関する。
【０００２】
【従来の技術】
半導体記憶装置の大容量化は、これまで半導体メモリの微細化・高集積化を中心に進められてきた。ところが、そのための微細加工技術も限界に近づきつつあり、これまでの要請に沿った半導体記憶装置の大容量化は、今後見込めなくなりつつある。このような状況下で、微細加工技術の限界を越える打開策として、近年注目を集めているものに、入力し記憶するデータを３値以上から構成し、その記憶データのうちの１つを各半導体メモリに記憶させる多値半導体記憶装置がある。
【０００３】
【発明が解決しようとする課題】
ところで、従来の単値、即ち”０”又は”１”の情報を記憶する半導体記憶装置にあっては、一般に、入力データの書き込み時や読み出し時或いは保存中に記憶データが何等かの原因によって変化した場合に、それを検出したり元の正しい入力データに復元したりする必要があるため、入力データの符号化／復号化が行われている。
【０００４】
例えば、メモリセルアレイに入力データを書き込む際に、当該入力データに誤り訂正データを付帯させ、入力データをメモリセルアレイから読み出すときにその内容の誤りの有無を検査（誤り検出）する。そして、その結果として誤りが判明した場合には、訂正データに基づいて誤りを訂正して正しい読み出しデータとして出力する。
【０００５】
現在のところ、例えば一般的によく用いられる誤り訂正法であるハミング訂正法によれば、１ビットの記憶データに対して１ビットの誤り訂正を行うには、２ビット以上の誤り訂正データが必要であり、２ビットの記憶データに対して１ビットの誤り訂正を行うには、３ビット以上の誤り訂正データが必要である。
【０００６】
ところが、このように単値の半導体記憶装置については、ある程度高い効率をもって誤り訂正を行う手法が開発されているのに対して、多値半導体記憶装置は未だ開発途上にあることから、その誤り訂正法については知られていない。仮に何らかの訂正法が案出されているとしても、多値半導体記憶装置は１つの素子に単値の半導体記憶装置に比してより多くの情報が記憶される性質上、当然のことながらハミング訂正法等よりも効率の劣るものであると考えられる。
【０００７】
そこで、本発明の目的は、例えば３値以上の多値データの書き込み・読み出しを行う場合において、極めて効率よく正確に誤り訂正を行うことを可能とする半導体記憶装置及びその使用方法並びに使用方法が記憶された記憶媒体を提供することである。
【０００８】
【課題を解決するための手段】
本発明の半導体記憶装置は、電荷蓄積層、ゲート電極及びソース／ドレインを有し、少なくとも前記ゲート電極及び前記ソース／ドレインに所定電圧が印加されることにより前記電荷蓄積層における電荷の蓄積状態が段階的に変化する複数のメモリセルを備え、各々の前記蓄積状態に対応して規定された識別番号が書き込まれ、前記電荷蓄積層における電荷の蓄積状態を判定して前記識別番号が読み出される半導体記憶装置であって、前記各データ列に複数桁の前記識別番号からなる所定の識別番号群をそれぞれ割り当て、各桁の前記識別番号を対応する前記各メモリセルに記憶するとともに、前記識別番号群の前記各識別番号に対応する前記各メモリセルにおいて、前記電荷蓄積層に電荷が蓄積された上位段階の状態から電荷が減少した下位段階の状態へ１段階だけ変化する第１の遷移が発生する確率に比して、前記下位段階の状態から前記上位段階の状態へ変化する第２の遷移が発生する確率が無視し得るほど小さいことと、前記識別番号群の前記各識別番号に対応する前記各メモリセルにおいて、２段階以上について、前記電荷蓄積層に電荷が蓄積された上位段階の状態から電荷が減少した下位段階の状態へ変化する第３の遷移が発生する確率が、１つの前記メモリセルのみにおける前記第１の遷移の発生確率に比して無視し得るほど小さいことと、前記識別番号群の前記各識別番号に対応する前記各メモリセルのうち２つ以上のメモリセルについて、前記電荷蓄積層に電荷が蓄積された上位段階の状態から電荷が減少した下位段階の状態へ共に変化する第４の遷移が発生する確率が、１つの前記メモリセルのみにおける前記第１の遷移の発生確率に比して無視し得るほど小さいこととを利用し、前記メモリセルから前記識別番号を読み出す際に、前記識別番号に誤りが生じるとすれば前記第１の遷移に対応するものであると見做して誤り訂正を行い、前記割り当てに基づいて前記データ列を出力する。
【００１０】
本発明の半導体記憶装置の一態様例においては、前記データ列の各桁が、バイナリ形式の情報データである。
【００１３】
本発明の半導体記憶装置の一態様例においては、前記メモリセルが、前記電荷蓄積層として浮遊ゲートが、前記ゲート電極として制御ゲートが設けられてなるものである。
【００１４】
本発明の半導体記憶装置は、ゲート電極及びソース／ドレインを有し、少なくとも前記ゲート電極及び前記ソース／ドレインに所定電圧が印加されることにより前記電荷蓄積層における電荷の蓄積状態が段階的に変化する複数のメモリセルを備え、各々の前記蓄積状態に対応して規定された識別番号が書き込まれ、前記電荷蓄積層における電荷の蓄積状態を判定して前記識別番号が読み出される半導体記憶装置であって、入力されるデータ列を、複数桁の前記識別番号からなる識別番号群のうちの規定された所定のものに変換する符号化手段と、複数の前記メモリセルが行列状に配され、対応する前記メモリセルに前記識別番号が記憶されるように構成された記憶手段とを備えるとともに、選択された所定の前記メモリセルに記憶された前記識別番号を検出して、前記識別番号群の前記各識別番号に対応する前記各メモリセルにおいて、２段階以上について、前記電荷蓄積層に電荷が蓄積された上位段階の状態から電荷が減少した下位段階の状態へ変化する第３の遷移が発生する確率が、１つの前記メモリセルのみにおける前記第１の遷移の発生確率に比して無視し得るほど小さいことと、前記識別番号群の前記各識別番号に対応する前記各メモリセルのうち２つ以上のメモリセルについて、前記電荷蓄積層に電荷が蓄積された上位段階の状態から電荷が減少した下位段階の状態へ共に変化する第４の遷移が発生する確率が、１つの前記メモリセルのみにおける前記第１の遷移の発生確率に比して無視し得るほど小さいこととを利用し、前記メモリセルから前記識別番号を読み出す際に、前記識別番号に誤りが生じるとすれば前記第１の遷移に対応するものであると見做して誤り訂正を行い、前記変換に基づいて前記データ列に復号化して出力する復号化手段とを備える。
【００１６】
本発明の半導体記憶装置の一態様例においては、前記データ列の各桁が、バイナリ形式の情報データである。
【００１９】
本発明の半導体記憶装置の一態様例においては、前記メモリセルが、前記電荷蓄積層として浮遊ゲートが、前記ゲート電極として制御ゲートが設けられてなるものである。
【００２０】
本発明の半導体記憶装置の使用方法は、ゲート電極及びソース／ドレインを有し、少なくとも前記ゲート電極及び前記ソース／ドレインに所定電圧が印加されることにより前記電荷蓄積層における電荷の蓄積状態が段階的に変化する複数のメモリセルを備え、各々の前記蓄積状態に対応して規定された識別番号が書き込まれ、前記電荷蓄積層における電荷の蓄積状態を判定して前記識別番号が読み出される半導体記憶装置の使用方法であって、入力されるデータ列を、複数桁の前記識別番号からなる識別番号群のうちの規定された所定のものに変換する第１のステップと、前記識別番号を対応する前記メモリセルに書き込む第２のステップと、選択された所定の前記メモリセルに記憶された前記識別番号を検出して、前記識別番号群の前記各識別番号に対応する前記各メモリセルにおいて、２段階以上について、前記電荷蓄積層に電荷が蓄積された上位段階の状態から電荷が減少した下位段階の状態へ変化する第３の遷移が発生する確率が、１つの前記メモリセルのみにおける前記第１の遷移の発生確率に比して無視し得るほど小さいことと、前記識別番号群の前記各識別番号に対応する前記各メモリセルのうち２つ以上のメモリセルについて、前記電荷蓄積層に電荷が蓄積された上位段階の状態から電荷が減少した下位段階の状態へ共に変化する第４の遷移が発生する確率が、１つの前記メモリセルのみにおける前記第１の遷移の発生確率に比して無視し得るほど小さいこととを利用し、前記メモリセルから前記識別番号を読み出す際に、前記識別番号に誤りが生じるとすれば前記第１の遷移に対応するものであると見做して誤り訂正を行い、前記各データ列に所定の前記識別番号群をそれぞれ割り当てて、前記変換に基づいて前記データ列に復号化して出力する第３のステップとを備える。
【００２２】
本発明の半導体記憶装置の使用方法の一態様例においては、前記データ列の各桁が、バイナリ形式の情報データである。
【００２５】
本発明の半導体記憶装置の使用方法の一態様例においては、前記メモリセルが、前記電荷蓄積層として浮遊ゲートが、前記ゲート電極として制御ゲートが設けられてなるものである。
【００２６】
本発明の記憶媒体は、半導体記憶装置の使用方法を構成する第１〜第３のステップをコンピュータに実行させるためのプログラムを記憶したコンピュータ読み取り可能なものである。
【００２７】
【作用】
通常、ＤＲＡＭ等の揮発性半導体記憶装置においては、電荷蓄積層に電荷が蓄積された状態から電荷が引き抜かれた状態へ変化する第１の遷移と、電荷が引き抜かれた状態から蓄積された状態へ変化する第２の遷移とはほぼ等確率で生じる。一方、ＥＥＰＲＯＭ等の不揮発性半導体記憶装置においては、第１の遷移に比して第２の遷移が生じる確率は無視し得るほど小さい。更に、前記識別番号のうち、２段階以上について、前記電荷蓄積層に電荷が蓄積された状態から引き抜かれた状態へ共に変化する第３の遷移が発生する確率も、前記第２の遷移と同様に前記第１の遷移の発生確率に比して無視し得るほど小さい。本発明は、この性質を積極的に利用するものである。
【００２８】
具体的には、識別番号のとり得る個数が、入力されるデータ列のとり得る個数よりも多くなるように設定し、前記各データ列に所定の識別番号をそれぞれ割り当て、各メモリセルについて識別番号の書き込み・読み出しが行われる。そして、このデータ列を読み出す際に、当該識別番号に生じる誤りは第１の遷移に対応して生じたものと見做し、好ましくは第３の遷移も考慮して、この誤りを訂正する。即ち、第２の遷移及び第３の遷移の可能性を排除して、第１の遷移の可能性のみ考慮すると、仮に識別番号に変化が生じるとすれば、それは電荷蓄積層に電荷の多い状態から電荷の少ない状態への１段階のみの変化となる。この性質を利用して、当該１段階の変化によって識別番号が変化した際に、識別番号の値が重なる（同じ値となる）ことのないように前記割り当てを行えば、当該割り当ての規則性に基づいて変化した識別番号から元の正しいデータ列が一意に定まることになる。
【００２９】
このように、本発明においては、上述の割り当て規則により入力されたデータ列を識別番号に変換し、読み出し時に第１の遷移のみを考慮することにより、簡易且つ正確に誤り訂正を行って極めて高い蓋然性をもって正しいデータ列を得ることが可能となる。
【００３０】
【発明の実施の形態】
以下、本発明のいくつかの好適な実施形態について図面を参照しながら詳細に説明する。
【００３１】
（第１の実施形態）
先ず、第１の実施形態について説明する。この第１の実施形態においては、３値（３種類）の情報を記憶することが可能な各メモリセルを備えた不揮発性半導体記憶装置であるＥＥＰＲＯＭを用いて、４値（２ビット）の情報からなるデータ列の書き込み及び読み出しを行う場合について例示する。図１は、第１の実施形態のＥＥＰＲＯＭの全体の概略構成を示すブロック図であり、図２はこのＥＥＰＲＯＭのメモリセルの主要構成を示す概略断面図、図３はメモリセルに記憶されるデータとしきい値電圧との関係を示す特性図、図４は遷移確率に基づいて誤りが発生する様子を示す模式図、図５〜図７はこのＥＥＰＲＯＭの使用方法をステップ順に示すフローチャートである。
【００３２】
第１の実施形態のＥＥＰＲＯＭは、図１に示すように、バイナリデータのデータ変換を行う符号化回路１１と、符号化回路１１により変換されたデータが収められる多数のメモリセルが行列状に配置されてなるメモリセルアレイ１２と、メモリセルのデータに誤りが生じた場合には誤り訂正を施した後に復号化して出力する復号化回路１３とを備えて構成されている。
【００３３】
符号化回路１１は、”０”又は”１”が多数羅列してなるバイナリデータが入力すると、このバイナリデータを２ビット毎に区切って”００”，”０１”，”１０”，”１１”の何れかのデータ列とし、このデータ列の各ビットをそれぞれ”０”，”１”，”２”の３値の識別番号のうち”０”又は”２”に割り当てて２つのメモリセルに記憶させる。具体的には、表１に示すように、入力されたデータ列”００”，”０１”，”１０”，”１１”が各識別番号群”００”，”０２”，”２０”，”２２”にそれぞれ変換されることになる。
【００３４】
【表１】
0003581549.tif 000002
【００３５】
メモリセルアレイ１２は、図２に示すように、各メモリセルが、ｐ型のシリコン半導体基板１上において、フィールド酸化膜等の素子分離構造により画定された素子活性領域２の表面領域にリン（Ｐ）や砒素（Ａｓ）等のｎ型不純物がイオン注入されて形成された一対の不純物拡散層であるソース３及びドレイン４と、ソース３とドレイン４との間のチャネル領域Ｃ上にトンネル酸化膜７を介してパターン形成された電荷蓄積層である浮遊ゲート電極５と、浮遊ゲート電極５上に誘電体膜８を介してパターン形成された制御ゲート電極６とを有して構成されている。
【００３６】
各メモリセルは、３値の識別番号”０”，”１”，”２”のデータの書き込み及び読み出しが可能であり、書き込み時には前記３値のうち”０”，”２”のみを用いる。即ち、書き込み時においては、識別番号群を構成する２つの識別番号を２つのメモリセルを用いて記憶させる際に、一方のメモリセルにデータ”０”又は”２”を記憶させて上位の識別番号に配するとともに、他方のメモリセルにも同様にデータ”０”又は”２”を記憶させて下位の識別番号に配し、各識別番号群”００”，”０２”，”２０”，”２２”のうちの１つを構成する。
【００３７】
復号化回路１３は、メモリセルの読み出し時において、Ｖｔ０，Ｖｔ１，Ｖｔ２の３種のしきい値電圧を用いて、各識別番号群”００”，”０１”，”０２”，”１０”，”２０”，”１２”，”２１”，”２２”の読み出しを行い、誤りがあると判定された場合には後述するように訂正を施して出力する。
【００３８】
各メモリセルにおいては、図３に示すように、しきい値電圧Ｖｔ  がＶｔ０未満の分布に属している場合が”０”の状態に、Ｖｔ０以上で且つＶｔ１未満の分布に属している場合が”１”の状態、Ｖｔ１以上で且つＶｔ２未満の分布に属している場合が”２”の状態にそれぞれ規定されている。この場合、浮遊ゲート電極５には、”２”の状態にあるときが最も多く電荷が蓄積されており、”１”の状態にあるときがそれに次ぐ電荷量が蓄積され、”０”の状態にあるときには基本的に電荷が浮遊ゲート電極５に存しない。
【００３９】
ここで、ＥＥＰＲＯＭの使用を重ねてメモリセルに劣化が生じた場合等において、メモリセルにデータ化けが生じることがある。浮遊ゲート電極５に電荷が蓄積された上位段階の状態から電荷が減少した下位段階の状態へ遷移する確率に比して、浮遊ゲート電極５に電荷が減少した下位段階の状態から電荷が蓄積された上位段階の状態へ遷移する確率は圧倒的に小さい。即ち、各識別番号のどちらか一方のみが状態”２”から状態”１”又は状態”１”から状態”０”への遷移確率（第１の遷移確率）に比して状態”１”から状態”２”又は状態”０”から状態”１”への遷移確率（第２の遷移確率）は殆ど無視し得る程度の値である。更に、各識別番号のどちらか一方のみが状態”２”から状態”０”へ２段階の遷移を起こす確率（第３の遷移確率）もまた、第１の遷移確率に比して殆ど無視し得る程度に小さい。更にまた、識別番号群の各識別番号が共に状態”２”から状態”１”又は”１”から状態”０”へ遷移する確率（第４の遷移確率）もまた、第１の遷移確率に比して殆ど無視し得る程度に小さい。なお、当然のことながら、各識別番号が共に”２”から”０”へ変化したり、一方が”２”から”０”へ変化し他方が”１”から”２”ヘ変化する確率等は、上記の考察から無視できる。第１の実施形態においては、ＥＥＰＲＯＭを代表とする不揮発性半導体記憶装置に特有なこの性質を利用して、読み出されたデータ列の誤り訂正を行う。
【００４０】
具体的には、図４に示すように、書き込み時の識別番号群が”２２”であるときに、この識別番号群”２２”が何等かの理由でデータ化けしたとすると、先ず第３の遷移確率が小さいことを考慮すれば、読み出し時に識別番号群”２０”，”０２”，”１０”，”０１”，”００”となる確率は無視できる。次に、第４の遷移確率が小さいことを考慮すれば、読み出し時に第１の遷移確率により識別番号群”１２”，”２１”に変化する確率Ｐ１，Ｐ２に比して、識別番号群”１１”に変化する確率Ｐ３は極めて小さく、無視することができる。従って、書き込み時の識別番号群”２２”が読み出された場合にデータ化けが生じるとすれば、確率Ｐ１，Ｐ２のみを考慮すればよく、読み出された識別番号群が”１２”又は”２１”であれば、この識別番号群には誤りがあり、正しい識別番号群は”２２”となる。従って、符号化回路１１による符号化規則により、元の正しいデータ列”１１”が復号化回路１３から出力される。
【００４１】
同様に、書き込み時の識別番号群が”０２”であるときに、この識別番号群”０２”が何等かの理由でデータ化けしたとすると、第２〜４の遷移確率が小さいことから、第１の遷移確率により識別番号群”０１”に変化する確率Ｐ４のみを考慮すればよい。従って、読み出された識別番号群が”０１”であれば、この識別番号群には誤りがあり、正しい識別番号群は”０２”となって、符号化回路１１による符号化規則により元の正しいデータ列”０１”が復号化回路１３から出力される。
【００４２】
同様に、書き込み時の識別番号群が”２０”であるときに、この識別番号群”２０”が何等かの理由でデータ化けしたとすると、第２〜４の遷移確率が小さいことから、第１の遷移確率により識別番号群”１０”に変化する確率Ｐ５のみを考慮すればよい。従って、読み出された識別番号群が”１０”であれば、この識別番号群には誤りがあり、正しい識別番号群は”２０”となって、符号化回路１１による符号化規則により元の正しいデータ列”１０”が復号化回路１３から出力される。
【００４３】
書き込み時の識別番号群が”００”であるときには、特に第２の遷移確率を考慮すれば、データ化けが起こる確率が小さく、無視できることが分かる。従って、符号化回路１１による符号化規則により元の正しいデータ列”００”が復号化回路１３から出力される。
【００４４】
上述の復号化を以下の表２にまとめて記載する。
【００４５】
【表２】
0003581549.tif 000003
【００４６】
上述の性質を利用したＥＥＰＲＯＭからのデータ列の誤り訂正を含む使用方法（書き込み方法及び読み出し方法）について、図５〜図７を用いて説明する。
【００４７】
先ず、図５に示すように、符号化回路１１により、入力したバイナリデータを２ビット毎に区切って”００”，”０１”，”１０”，”１１”の何れかのデータ列とし、このデータ列を各識別番号群”００”，”０２”，”２０”，”２２”に変換する（ステップＳ１）。
【００４８】
次に、変換されてなる識別番号群（”００”，”０２”，”２０”，”２２”のうちの１つ）について、各桁の識別番号をそれぞれ対応するメモリセルに記憶させる（ステップＳ２）。具体的に、”２”を記憶させる場合には、メモリセルのしきい値電圧が電圧Ｖｔ１以上で且つ電圧Ｖｔ２未満となるように、制御ゲート電極６に所定の（適当な）電圧を印加し、”０”を記憶させる場合には、メモリセルのしきい値電圧が電圧Ｖｔ０未満となるように制御ゲート電極６に所定の（適当な）電圧を印加すればよい。以上、ステップＳ１及びＳ２により、ＥＥＰＲＯＭの書き込み方法が構成される。
【００４９】
次に、図６に示すように、一組のメモリセルに記憶された各識別番号を読み出し、バイナリデータに変換して出力する場合について説明する。具体的には、復号化回路１３により、先ずメモリセルアレイ１２から所定の一対のメモリセルを選択し、識別番号群のうち上位に相当するメモリセルの制御ゲート電極６に電圧Ｖｔ０を印加する（ステップＳ３）。このとき、ソース３−ドレイン４間に電流が流れれば、このメモリセルに記憶された識別番号は”０”と判定される（ステップＳ３１  ）。ソース３−ドレイン４間に電流が流れない場合、制御ゲート電極６に電圧Ｖｔ１を印加する（ステップＳ４）。このとき、ソース３−ドレイン４間に電流が流れれば、このメモリセルに記憶された識別番号は”１”と判定される（ステップＳ４１  ）。一方、ソース３−ドレイン４間に電流が流れなければ、メモリセルに記憶された識別番号は”２”と判定される（ステップＳ４２  ）。
【００５０】
ここで、より簡単な方法として、ステップＳ４を行わずに、ステップＳ３で電流が流れない場合には識別番号は”１”又は”２”と見做すこともできる。この方法は、３値メモリセルの場合に可能である。即ちこの場合、元のバイナリデータのある桁が”１”である場合、３値における識別番号は”１”又は”２”にしか対応しないことが利用される。
【００５１】
続いて、下位に相当するメモリセルにも、上述と同様にステップＳ３，Ｓ４の操作を行うことにより、このメモリセルに記憶された識別番号を判定し、上位及び下位の識別番号からなる識別番号群を構成する。もちろん、下位の識別番号を先に判定し、続いて上位の識別番号を判定するようにしてもよい。
【００５２】
次いで、図７に示すように、上位及び下位の識別番号からなる識別番号群をバイナリデータに復号化して出力する。具体的には、識別番号群が”００”であるときにはそのまま”００”を正しいデータ列として出力する（ステップＳ５）。また、識別番号群が”０１”，”０２”の何れかであるときには、上述した規定に従って元の識別番号群を”０２”と見做し、”０１”を正しいデータ列として出力する（ステップＳ６）。また、識別番号群が”１０”，”２０”の何れかであるときには、上述した規定に従って元の識別番号群を”２０”と見做し、”１０”を正しいデータ列として出力する（ステップＳ７）。また、識別番号群が”１２”，”２１”，”２２”の何れかであるときには、上述した規定に従って元の識別番号群を”２２”と見做し、”１１”を正しいデータ列として出力する（ステップＳ８）。
【００５３】
上述のように、第１の実施形態のＥＥＰＲＯＭによれば、４値の情報からなるデータ列の書き込み・読み出しを行う場合において、上述の割り当て規則により入力されたデータ列を識別番号群に変換し、読み出し時に第１の遷移確率のみを考慮することにより、簡易且つ正確に誤り訂正を行って極めて高い蓋然性をもって正しいデータ列を得ることができ、効率よく正確に誤り訂正を行うことが可能となる。
【００５４】
（第２の実施形態）
次いで、本発明の第２の実施形態について説明する。この第２の実施形態においては、３値（３種類）の情報を記憶することが可能な各メモリセルを備えた不揮発性半導体記憶装置であるＥＥＰＲＯＭを用いて、８値（３ビット）の情報からなるデータ列の書き込み及び読み出しを行う場合について例示する。なお、第２の実施形態のＥＥＰＲＯＭの全体の概略構成は図１と同様であり、このＥＥＰＲＯＭのメモリセルの主要構成は図２と同様であり、メモリセルに記憶されるデータとしきい値電圧との関係は図３と同様である。図８は遷移確率に基づいて誤りが発生する様子を示す模式図、図９〜図１１はこのＥＥＰＲＯＭの使用方法をステップ順に示すフローチャートである。
【００５５】
このＥＥＰＲＯＭは、第１の実施形態のＥＥＰＲＯＭと同様に、バイナリデータのデータ変換を行う符号化回路１１と、符号化回路１１により変換されたデータが収められる多数のメモリセルが行列状に配置されてなるメモリセルアレイ１２と、メモリセルのデータに誤りが生じた場合には誤り訂正を施した後に復号化して出力する復号化回路１３とを備えて構成されている。
【００５６】
符号化回路１１は、”０”又は”１”が多数羅列してなるバイナリデータが入力すると、このバイナリデータを３ビット毎に区切って”０００”，”００１”，”０１０”，”０１１”，”１００”，”１０１”，”１１０”，”１１１”の何れかのデータ列とし、このデータ列の各ビットをそれぞれ”０”，”１”，”２”の３値の識別番号に割り当てて３つのメモリセルに記憶させる。具体的には、表３に示すように、入力されたデータ列”０００”，”００１”，”０１０”，”０１１”，”１００”，”１０１”，”１１０”，”１１１”が各識別番号群”０００”，”００２”，”０２０”，”０２２”，”２００”，”２０２”，”２２０”，”２２２”にそれぞれ変換されることになる。
【００５７】
【表３】
0003581549.tif 000004
【００５８】
各メモリセルは、３値の識別番号”０”，”１”，”２”のデータの書き込み及び読み出しが可能であり、書き込み時には前記３値のうち”０”，”２”のみを用いる。即ち、書き込み時においては、識別番号群を構成する３つの識別番号を３つのメモリセルを用いて記憶させる際に、第１のメモリセルにデータ”０”又は”２”を記憶させて上位の識別番号に配するとともに、第２、第３のメモリセルにも同様にそれぞれデータ”０”又は”２”を記憶させて中位、下位の識別番号に配して、各識別番号群”０００”，”００２”，”０２０”，”０２２”，”２００”，”２０２”，”２２０”，”２２２”の書き込みを行う。
【００５９】
復号化回路１３は、メモリセルの読み出し時において、Ｖｔ０，Ｖｔ１，Ｖｔ２の３種のしきい値電圧を用いて、各識別番号群”０００”，”００１”，”００２”，”０１０”，”０２０”，”０１２”，”０２１”，”０２２”，”１００”，”２００”，”１０２”，”２０１”，”２０２”，”１２０”，”２１０”，”２２０”，”１２２”，”２１２”，”２２１”，”２２２”の読み出しを行い、誤りがあると判定された場合には後述するように訂正を施して出力する。
【００６０】
各メモリセルにおいては、第１の実施形態と同様に、しきい値電圧Ｖｔ  が電圧Ｖｔ０未満の分布に属している場合が”０”の状態に、電圧Ｖｔ０以上で且つ電圧Ｖｔ１未満の分布に属している場合が”１”の状態、電圧Ｖｔ１以上で且つ電圧Ｖｔ２未満の分布に属している場合が”２”の状態にそれぞれ規定されている。この場合、浮遊ゲート電極５には、”２”の状態にあるときが最も多く電荷が蓄積されており、”１”の状態にあるときにそれに次ぐ電荷量が蓄積され、”０”の状態にあるときには基本的に電荷が浮遊ゲート電極５に存しない。
【００６１】
ここで、ＥＥＰＲＯＭの使用を重ねてメモリセルに劣化が生じた場合等において、メモリセルにデータ化けが生じることがある。浮遊ゲート電極５に電荷が蓄積された上位段階の状態から電荷が減少した下位段階の状態へ遷移する確率に比して、浮遊ゲート電極５に電荷が減少した下位段階の状態から電荷が蓄積された上位段階の状態へ遷移する確率は圧倒的に小さい。即ち、各識別番号の何れか１つのみが状態”２”から状態”１”又は状態”１”から状態”０”へ遷移する確率（第１の遷移確率）に比して、状態”１”から状態”２”又は状態”０”から状態”１”への遷移確率（第２の遷移確率）は殆ど無視し得る程度の値である。更に、各識別番号の何れか１つのみが状態”２”から状態”０”へ２段階の遷移を起こす確率（第３の遷移確率）もまた、第１の遷移確率に比して殆ど無視し得る程度に小さい。更にまた、識別番号群のうち２つ以上の識別番号が共に状態”２”から状態”１”又は”１”から状態”０”へ遷移する確率（第４の遷移確率）もまた、第１の遷移確率に比して殆ど無視し得る程度に小さい。なお、当然のことながら、２つ以上の識別番号が共に”２”から”０”へ変化したり、１つが”２”から”０”へ変化しもう１つが”１”から”２”ヘ変化する確率等は、上記の考察から無視できる。第２の実施形態においては、ＥＥＰＲＯＭを代表とする不揮発性半導体記憶装置に特有なこの性質を利用して、読み出されたデータ列の誤り訂正を行う。
【００６２】
具体的には、図８に示すように、書き込み時の識別番号群が”２２２”であるときに、この識別番号群”２２２”が何等かの理由でデータ化けしたとすると、先ず第３の遷移確率が小さいことを考慮すれば、読み出し時に識別番号群”２２０”，”２０２”，”０２２”となる確率は無視できる。次に、第４の遷移確率が小さいことを考慮すれば、”２１１”，”１１２”，”１２１”，”１１１”となる確率も無視できる。更に、第３及び第４の遷移確率が共に小さいことを考慮すれば、”２００”，”０２０”，”００２”，”０００”などとなる確率も無視できる。即ち、第１の遷移確率により”１２２”，”２１２”，”２２１”に変化する確率Ｐ１１，Ｐ１２，Ｐ１３のみを考慮すればよく、読み出された識別番号群がこれらに変化していれば、この識別番号群には誤りがあり、正しい識別番号群は”２２２”となる。従って、符号化回路１１による符号化規則により、元の正しいデータ列”１１１”が復号化回路１３から出力される。
【００６３】
同様に、書き込み時の識別番号群が”０２２”であるときに、この識別番号群”０２２”が何等かの理由でデータ化けしたとすると、第２〜４の遷移確率が小さいことから、第１の遷移確率により識別番号群”０１２”，”０２１”に変化する確率Ｐ１４，Ｐ１５のみを考慮すればよい。従って、読み出された識別番号群が”０１２”，”０２１”であれば、この識別番号群には誤りがあり、正しい識別番号群は”０２２”となって、符号化回路１１による符号化規則により元の正しいデータ列”０１１”が復号化回路１３から出力される。
【００６４】
同様に、書き込み時の識別番号群が”２０２”であるときに、この識別番号群”２０２”が何等かの理由でデータ化けしたとすると、第２〜４の遷移確率が小さいことから、第１の遷移確率により識別番号群”１０２”，”２０１”に変化する確率Ｐ１６，Ｐ１７のみを考慮すればよい。従って、読み出された識別番号群が”１０２”，”２０１”であれば、この識別番号群には誤りがあり、正しい識別番号群は”２０２”となって、符号化回路１１による符号化規則により元の正しいデータ列”１０１”が復号化回路１３から出力される。
【００６５】
同様に、書き込み時の識別番号群が”２２０”であるときに、この識別番号群”２２０”が何等かの理由でデータ化けしたとすると、第２〜４の遷移確率が小さいことから、第１の遷移確率により識別番号群”１２０”，”２１０”に変化する確率Ｐ１８，Ｐ１９のみを考慮すればよい。従って、読み出された識別番号群が”１２０”，”２１０”であれば、この識別番号群には誤りがあり、正しい識別番号群は”２２０”となって、符号化回路１１による符号化規則により元の正しいデータ列”１１０”が復号化回路１３から出力される。
【００６６】
同様に、書き込み時の識別番号群が”００２”であるときに、この識別番号群”００２”が何等かの理由でデータ化けしたとすると、第２〜４の遷移確率が小さいことから、第１の遷移確率により識別番号群”００１”に変化する確率Ｐ２０のみを考慮すればよい。従って、読み出された識別番号群が”００１”であれば、この識別番号群には誤りがあり、正しい識別番号群は”００２”となって、符号化回路１１による符号化規則により元の正しいデータ列”００１”が復号化回路１３から出力される。
【００６７】
同様に、書き込み時の識別番号群が”０２０”であるときに、この識別番号群”０２０”が何等かの理由でデータ化けしたとすると、第２〜４の遷移確率が小さいことから、第１の遷移確率により識別番号群”０１０”に変化する確率Ｐ２１のみを考慮すればよい。従って、読み出された識別番号群が”０１０”であれば、この識別番号群には誤りがあり、正しい識別番号群は”０２０”となって、符号化回路１１による符号化規則により元の正しいデータ列”０１０”が復号化回路１３から出力される。
【００６８】
同様に、書き込み時の識別番号群が”２００”であるときに、この識別番号群”２００”が何等かの理由でデータ化けしたとすると、第２〜４の遷移確率が小さいことから、第１の遷移確率により識別番号群”１００”に変化する確率Ｐ２２のみを考慮すればよい。従って、読み出された識別番号群が”１００”であれば、この識別番号群には誤りがあり、正しい識別番号群は”２００”となって、符号化回路１１による符号化規則により元の正しいデータ列”１００”が復号化回路１３から出力される。
【００６９】
書き込み時の識別番号群が”０００”であるときには、特に第２の遷移確率を考慮すれば、データ化けが起こる確率が小さく、無視できることが分かる。従ってこの場合、符号化回路１１による符号化規則により元の正しいデータ列”０００”が復号化回路１３から出力される。
【００７０】
上述の復号化を以下の表４にまとめて記載する。
【００７１】
【表４】
0003581549.tif 000005
【００７２】
上述の性質を利用したＥＥＰＲＯＭからのデータ列の誤り訂正を含む使用方法（書き込み方法及び読み出し方法）について、図９〜図１１を用いて説明する。
【００７３】
先ず、図９に示すように、符号化回路１１により、入力したバイナリデータを３ビット毎に区切って”０００”，”００１”，”０１０”，”０１１”，”１００”，”１０１”，”１１０”，”１１１”の何れかのデータ列とし、このデータ列を各識別番号群”０００”，”００２”，”０２０”，”０２２”，”２００”，”２０２”，”２２０”，”２２２”に変換する（ステップＳ１１）。
【００７４】
次に、変換されてなる識別番号群（”０００”，”００２”，”０２０”，”０２２”，”２００”，”２０２”，”２２０”，”２２２”のうちの１つ）について、各桁の識別番号をそれぞれ対応するメモリセルに記憶させる（ステップＳ１２）。具体的に、”２”を記憶させる場合には、メモリセルのしきい値電圧が電圧Ｖｔ１以上で且つ電圧Ｖｔ２未満となるように制御ゲート電極６に所定の電圧を印加し、”０”を記憶させる場合には、メモリセルのしきい値電圧が電圧Ｖｔ０未満となるように制御ゲート電極６に所定の電圧を印加すればよい。以上、ステップＳ１１及びＳ１２により、ＥＥＰＲＯＭの書き込み方法が構成される。
【００７５】
次に、図１０に示すように、一組のメモリセルに記憶された各識別番号を読み出し、バイナリデータに変換して出力する場合について説明する。具体的には、復号化回路１３により、先ずメモリセルアレイ１２から所定の一組の３つのメモリセルを選択し、識別番号群のうち上位に相当するメモリセルの制御ゲート電極６に電圧Ｖｔ０を印加する（ステップＳ１３）。このとき、ソース３−ドレイン４間に電流が流れれば、このメモリセルに記憶された識別番号は”０”と判定される（ステップＳ１３１  ）。ソース３−ドレイン４間に電流が流れない場合、制御ゲート電極６に電圧Ｖｔ１を印加する（ステップＳ１４）。このとき、ソース３−ドレイン４間に電流が流れれば、このメモリセルに記憶された識別番号は”１”と判定される（ステップＳ１４１  ）。一方、ソース３−ドレイン４間に電流が流れなければ、メモリセルに記憶された識別番号は”２”と判定される（ステップＳ１４２  ）。
【００７６】
続いて、中位及び下位に相当するメモリセルにも、上述と同様にそれぞれステップＳ１３，Ｓ１４の操作を行うことにより、このメモリセルに記憶された識別番号を判定し、上位、中位及び下位の識別番号からなる識別番号群を構成する。もちろん、下位の識別番号を先に判定し、続いて中位及び上位の識別番号を判定するようにしてもよい。
【００７７】
次いで、図１１に示すように、上位、中位及び下位の識別番号からなる識別番号群をバイナリデータに復号化して出力する。具体的には、識別番号群が”０００”であるときにはそのまま”０００”を正しいデータ列として出力する（ステップＳ１５）。また、識別番号群が”００１”，”００２”の何れかであるときには、上述した規定に従って元の識別番号群を”００２”と見做し、”００１”を正しいデータ列として出力する（ステップＳ１６）。また、識別番号群が”０１０”，”０２０”の何れかであるときには、上述した規定に従って元の識別番号群を”０２０”と見做し、”０１０”を正しいデータ列として出力する（ステップＳ１７）。また、識別番号群が”０１２”，”０２１”，”０２２”の何れかであるときには、上述した規定に従って元の識別番号群を”０２２”と見做し、”０１１”を正しいデータ列として出力する（ステップＳ１８）。また、識別番号群が”１００”，”２００”の何れかであるときには、上述した規定に従って元の識別番号群を”２００”と見做し、”１００”を正しいデータ列として出力する（ステップＳ１９）。また、識別番号群が”１０２”，”２０１”，”２０２”の何れかであるときには、上述した規定に従って元の識別番号群を”２０２”と見做し、”１０１”を正しいデータ列として出力する（ステップＳ２０）。また、識別番号群が”１１０”，”２１０”，”２２０”の何れかであるときには、上述した規定に従って元の識別番号群を”２２０”と見做し、”１１０”を正しいデータ列として出力する（ステップＳ２１）。また、識別番号群が”１２２”，”２１２”，”２２１”，”２２２”の何れかであるときには、上述した規定に従って元の識別番号群を”２２２”と見做し、”１１１”を正しいデータ列として出力する（ステップＳ２２）。
【００７８】
上述のように、第２の実施形態のＥＥＰＲＯＭによれば、８値の情報からなるデータ列の書き込み・読み出しを行う場合において、上述の割り当て規則により入力されたデータ列を識別番号群に変換し、読み出し時に第１の遷移確率のみを考慮することにより、簡易且つ正確に誤り訂正を行って極めて高い蓋然性をもって正しいデータ列を得ることができ、効率よく正確に誤り訂正を行うことが可能となる。
【００７９】
（第３の実施形態）
次いで、本発明の第３の実施形態について説明する。この第３の実施形態においては、４値（４種類）の情報を記憶することが可能な各メモリセルを備えた不揮発性半導体記憶装置であるＥＥＰＲＯＭを用いて、６値の情報からなるデータ列の書き込み及び読み出しを行う場合について例示する。なお、第３の実施形態のＥＥＰＲＯＭの全体の概略構成は図１と同様であり、このＥＥＰＲＯＭのメモリセルの主要構成は図２と同様である。図１２は、メモリセルに記憶されるデータとしきい値電圧との関係を示す特性図であり、図１３は遷移確率に基づいて誤りが発生する様子を示す模式図、図１４〜図１６はこのＥＥＰＲＯＭの使用方法をステップ順に示すフローチャートである。
【００８０】
このＥＥＰＲＯＭは、第１の実施形態のＥＥＰＲＯＭと同様に、バイナリデータのデータ変換を行う符号化回路１１と、符号化回路１１により変換されたデータが収められる多数のメモリセルが行列状に配置されてなるメモリセルアレイ１２と、メモリセルのデータに誤りが生じた場合には誤り訂正を施した後に復号化して出力する復号化回路１３とを備えて構成されている。
【００８１】
符号化回路１１は、”０”又は”１”が多数羅列してなるバイナリデータが入力すると、このバイナリデータを３ビット毎に区切って”０００”，”００１”，”０１０”，”０１１”，”１００”，”１０１”の何れかのデータ列とし、このデータ列をそれぞれ”０”，”１”，”２”，”３”の４値の識別番号による２桁の識別番号群に割り当て、各識別番号群を２つのメモリセルに記憶させる。具体的には、表５に示すように、入力されたデータ列”０００”，”００１”，”０１０”，”０１１”，”１００”，”１０１”が各識別番号群”００”，”０３”，”１１”，”２２”，”３０”，”３３”にそれぞれ変換されることになる。
【００８２】
【表５】
0003581549.tif 000006
【００８３】
各メモリセルは、４値の識別番号”０”，”１”，”２”，”３”のデータの書き込み及び読み出しが可能であり、書き込み時には前記４値を用いる。即ち、書き込み時においては、識別番号群を構成する４つの識別番号を２つのメモリセルを用いて記憶させる際に、第１のメモリセルにデータ”０”，”１”，”２”，又は”３”を記憶させて上位の識別番号に配するとともに、第２のメモリセルにも同様にそれぞれデータ”０”，”１”，”２”，又は”３”を記憶させて下位の識別番号に配して、各識別番号群”００”，”０３”，”１１”，”２２”，”３０”，”３３”の書き込みを行う。
【００８４】
復号化回路１３は、メモリセルの読み出し時において、Ｖｔ０，Ｖｔ１，Ｖｔ２，Ｖｔ３の４種のしきい値電圧を用いて、各識別番号群”００”，”０２”，”０３”，”０１”，”１０”，”１１”，”１２”，”２１”，”２２”，”２０”，”３０”，”２３”，”３２”，”３３”の読み出しを行い、誤りがあると判定された場合には後述するように訂正を施して出力する。
【００８５】
各メモリセルにおいては、図１２に示すように、しきい値電圧Ｖｔ  が電圧Ｖｔ０未満の分布に属している場合が”０”の状態に、電圧Ｖｔ０以上で且つ電圧Ｖｔ１未満の分布に属している場合が”１”の状態、電圧Ｖｔ１以上で且つ電圧Ｖｔ２未満の分布に属している場合が”２”の状態、電圧Ｖｔ２以上で且つＶｔ３未満の分布に属している場合が”３”の状態にそれぞれ規定されている。この場合、浮遊ゲート電極５には、”３”の状態にあるときが最も多く電荷が蓄積されており、”２”の状態にあるときにそれに次ぐ電荷量が蓄積され、更に”１”の状態にあるときがそれに次ぎ、”０”の状態にあるときには基本的に電荷が浮遊ゲート電極５に存しない。
【００８６】
ここで、ＥＥＰＲＯＭの使用を重ねてメモリセルに劣化が生じた場合等において、メモリセルにデータ化けが生じることがある。浮遊ゲート電極５に電荷が蓄積された上位段階の状態から電荷が減少した下位段階の状態へ遷移する確率に比して、浮遊ゲート電極５に電荷が減少した下位段階の状態から電荷が蓄積された上位段階の状態へ遷移する確率は圧倒的に小さい。即ち、各識別番号の何れか１つのみが状態”３”から状態”２”、”２”から状態”１”又は状態”１”から状態”０”へ遷移する確率（第１の遷移確率）に比して、状態”２”から状態”３”、状態”１”から状態”２”又は状態”０”から状態”１”への遷移確率（第２の遷移確率）は殆ど無視し得る程度の値である。更に、各識別番号の何れか１つのみが状態”３”から状態”１”又は”２”から状態”０”へ２段階以上の遷移を起こす確率（第３の遷移確率）もまた、第１の遷移確率に比して殆ど無視し得る程度に小さい。更にまた、各識別番号が共に状態状態”３”から状態”２”、”２”から状態”１”又は”１”から状態”０”へ遷移する確率（第４の遷移確率）もまた、第１の遷移確率に比して殆ど無視し得る程度に小さい。なお、当然のことながら、２つ以上の識別番号が共に”２”から”０”へ変化したり、識別番号が”３”から”０”へ変化したり、１つが”３”から”１”へ変化しもう１つが”１”から”２”ヘ変化する確率等は、上記の考察から無視できる。第３の実施形態においては、ＥＥＰＲＯＭを代表とする不揮発性半導体記憶装置に特有なこの性質を利用して、読み出されたデータ列の誤り訂正を行う。
【００８７】
具体的には、図１３に示すように、書き込み時の識別番号群が”３３”であるときに、この識別番号群”３３”が何等かの理由でデータ化けしたとすると、先ず第３の遷移確率が小さいことを考慮すれば、読み出し時に識別番号群”３１”，”１３”などとなる確率は無視できる。次に、第４の遷移確率が小さいことを考慮すれば、”２２”となる確率も無視できる。更に、第３及び第４の遷移確率が共に小さいことを考慮すれば、識別番号群”２１”，”１２”，”１１”，”１０”，”０１”，”００”などとなる確率も無視できる。即ち、第１の遷移確率により”２３”，”３２”に変化する確率Ｐ３１，Ｐ３２のみを考慮すればよく、読み出された識別番号群がこれらに変化していれば、この識別番号群には誤りがあり、正しい識別番号群は”３３”となる。従って、符号化回路１１による符号化規則により、元の正しいデータ列”１０１”が復号化回路１３から出力される。
【００８８】
同様に、書き込み時の識別番号群が”２２”であるときに、この識別番号群”２２”が何等かの理由でデータ化けしたとすると、第２〜４の遷移確率が小さいことから、第１の遷移確率により識別番号群”１２”，”２１”に変化する確率Ｐ３３，Ｐ３４のみを考慮すればよい。従って、読み出された識別番号群が”１２”，”２１”であれば、この識別番号群には誤りがあり、正しい識別番号群は”２２”となって、符号化回路１１による符号化規則により元の正しいデータ列”０１１”が復号化回路１３から出力される。
【００８９】
同様に、書き込み時の識別番号群が”０３”であるときに、この識別番号群”０３”が何等かの理由でデータ化けしたとすると、第２〜４の遷移確率が小さいことから、第１の遷移確率により識別番号群”０２”に変化する確率Ｐ３５のみを考慮すればよい。従って、読み出された識別番号群が”０２”であれば、この識別番号群には誤りがあり、正しい識別番号群は”０３”となって、符号化回路１１による符号化規則により元の正しいデータ列”００１”が復号化回路１３から出力される。
【００９０】
同様に、書き込み時の識別番号群が”３０”であるときに、この識別番号群”３０”が何等かの理由でデータ化けしたとすると、第２〜４の遷移確率が小さいことから、第１の遷移確率により識別番号群”２０”に変化する確率Ｐ３６のみを考慮すればよい。従って、読み出された識別番号群が”２０”であれば、この識別番号群には誤りがあり、正しい識別番号群は”３０”となって、符号化回路１１による符号化規則により元の正しいデータ列”１００”が復号化回路１３から出力される。
【００９１】
同様に、書き込み時の識別番号群が”１１”であるときに、この識別番号群”１１”が何等かの理由でデータ化けしたとすると、第２〜４の遷移確率が小さいことから、第１の遷移確率により識別番号群”０１”，”１０”に変化する確率Ｐ３７，Ｐ３８のみを考慮すればよい。従って、読み出された識別番号群が”０１”，”１０”であれば、この識別番号群には誤りがあり、正しい識別番号群は”１１”となって、符号化回路１１による符号化規則により元の正しいデータ列”０１０”が復号化回路１３から出力される。
【００９２】
書き込み時の識別番号群が”００”であるときには、特に第２の遷移確率を考慮すれば、データ化けが起こる確率が小さく、無視できることが分かる。従ってこの場合、符号化回路１１による符号化規則により元の正しいデータ列”０００”が復号化回路１３から出力される。
【００９３】
上述の復号化を以下の表６にまとめて記載する。
【００９４】
【表６】
0003581549.tif 000007
【００９５】
上述の性質を利用したＥＥＰＲＯＭからのデータ列の誤り訂正を含む使用方法（書き込み方法及び読み出し方法）について、図１４〜図１６を用いて説明する。
【００９６】
先ず、図１４に示すように、符号化回路１１により、入力したバイナリデータを３ビット毎に区切って”０００”，”００１”，”０１０”，”０１１”，”１００”，”１０１”の何れかのデータ列とし、このデータ列を各識別番号群”００”，”０３”，”１１”，”２２”，”３０”，”３３”に変換する（ステップＳ３１）。
【００９７】
次に、変換されてなる識別番号群（”００”，”０３”，”１１”，”２２”，”３０”，”３３”のうちの１つ）について、各桁の識別番号をそれぞれ対応するメモリセルに記憶させる（ステップＳ３２）。具体的に、”３”を記憶させる場合には、メモリセルのしきい値電圧が電圧Ｖｔ２以上で且つ電圧Ｖｔ３未満となるように制御ゲート電極６に所定の電圧を印加し、”２”を記憶させる場合には、メモリセルのしきい値電圧が電圧Ｖｔ１以上で且つ電圧Ｖｔ２未満となるように制御ゲート電極６に所定の電圧を印加し、”１”を記憶させる場合には、メモリセルのしきい値電圧が電圧Ｖｔ０以上で且つ電圧Ｖｔ１未満となるように制御ゲート電極６に所定の電圧を印加し、”０”を記憶させる場合には、メモリセルのしきい値電圧が電圧Ｖｔ０未満となるように制御ゲート電極６に所定の電圧を印加すればよい。以上、ステップＳ３１及びＳ３２により、ＥＥＰＲＯＭの書き込み方法が構成される。
【００９８】
次に、図１５に示すように、一組のメモリセルに記憶された各識別番号を読み出し、バイナリデータに変換して出力する場合について説明する。具体的には、復号化回路１３により、先ずメモリセルアレイ１２から所定の一対のメモリセルを選択し、識別番号群のうち上位に相当するメモリセルの制御ゲート電極６に電圧Ｖｔ１を印加し、電流が流れるか否かを判定する（ステップＳ３３）。
【００９９】
ステップＳ３３において、ソース３−ドレイン４間に電流が流れた場合、制御ゲート電極６に更に電圧Ｖｔ０を印加する（ステップＳ３４）。このとき、ソース３−ドレイン４間に電流が流れれば、メモリセルに記憶された識別番号は”０”と判定され（ステップＳ３４１  ）、流れなければ、メモリセルに記憶された識別番号は”１”と判定される（ステップＳ３４２  ）。
【０１００】
一方、ステップＳ３３において、ソース３−ドレイン４間に電流が流れなかった場合、制御ゲート電極６に更に電圧Ｖｔ２を印加する（ステップＳ３５）。このとき、ソース３−ドレイン４間に電流が流れれば、メモリセルに記憶された識別番号は”２”と判定され（ステップＳ３５１  ）、流れなければ、メモリセルに記憶された識別番号は”３”と判定される（ステップＳ３５２  ）。
【０１０１】
続いて、下位に相当するメモリセルにも、上述と同様にそれぞれステップＳ３３〜Ｓ３５の操作を行うことにより、このメモリセルに記憶された識別番号を判定し、上位及び下位の識別番号からなる識別番号群を構成する。もちろん、下位の識別番号を先に判定し、続いて上位の識別番号を判定するようにしてもよい。
【０１０２】
次いで、図１６に示すように、上位及び下位の識別番号からなる識別番号群をバイナリデータに復号化して出力する。具体的には、識別番号群が”００”であるときにはそのまま”０００”を正しいデータ列として出力する（ステップＳ３６）。また、識別番号群が”０２”，”０３”の何れかであるときには、上述した規定に従って元の識別番号群を”０３”と見做し、”００１”を正しいデータ列として出力する（ステップＳ３７）。また、識別番号群が”０１”，”１０”，”１１”の何れかであるときには、上述した規定に従って元の識別番号群を”１１”と見做し、”０１０”を正しいデータ列として出力する（ステップＳ３８）。また、識別番号群が”１２”，”２１”，”２２”の何れかであるときには、上述した規定に従って元の識別番号群を”２２”と見做し、”０１１”を正しいデータ列として出力する（ステップＳ３９）。また、識別番号群が”２０”，”３０”の何れかであるときには、上述した規定に従って元の識別番号群を”３０”と見做し、”１００”を正しいデータ列として出力する（ステップＳ４０）。また、識別番号群が”２３”，”３２”，”３３”の何れかであるときには、上述した規定に従って元の識別番号群を”３３”と見做し、”１０１”を正しいデータ列として出力する（ステップＳ４１）。
【０１０３】
なお、データ列と識別番号群との状態割り当てについて、表１〜表６に示す以外の組み合わせも可能である。
【０１０４】
上述のように、第３の実施形態のＥＥＰＲＯＭによれば、６値情報からなるデータ列の書き込み・読み出しを行う場合において、上述の割り当て規則により入力されたデータ列を識別番号群に変換し、読み出し時に第１の遷移確率のみを考慮することにより、簡易且つ正確に誤り訂正を行って極めて高い蓋然性をもって正しいデータ列を得ることができ、効率よく正確に誤り訂正を行うことが可能となる。
【０１０５】
（変形例）
ここで、第３の実施形態のＥＥＰＲＯＭの変形例について説明する。この変形例のＥＥＰＲＯＭは、第３の実施形態のそれとほぼ同様の構成を有するが、データ列に割り当てる識別番号群が異なる点で相違する。なお、このＥＥＰＲＯＭは、その全体構成やメモリセルの主要構成等については第３の実施形態のそれとほぼ同様とされている。図１７は遷移確率に基づいて誤りが発生する様子を示す模式図、図１８〜図２０はこのＥＥＰＲＯＭの使用方法をステップ順に示すフローチャートである。
【０１０６】
このＥＥＰＲＯＭにおいては、符号化回路１１が、”０”又は”１”が多数羅列してなるバイナリデータが入力すると、このバイナリデータを３ビット毎に区切って”０００”，”００１”，”０１０”，”０１１”，”１００”，”１０１”の何れかのデータ列とし、このデータ列をそれぞれ”０”，”１”，”２”，”３”の４値の識別番号による２桁の識別番号群に割り当て、各識別番号群を２つのメモリセルに記憶させる。具体的には、表７に示すように、入力されたデータ列”０００”，”００１”，”０１０”，”０１１”，”１００”，”１０１”が各識別番号群”００”，”０２”，”２０”，”１３”，”３１”，”３３”にそれぞれ変換されることになる。
【０１０７】
【表７】
0003581549.tif 000008
【０１０８】
誤り訂正を行うには、図１７に示すように、書き込み時の識別番号群が”３３”であるときに、この識別番号群”３３”が何等かの理由でデータ化けしたとすると、先ず第３の遷移確率が小さいことを考慮すれば、読み出し時に識別番号群”３１”，”１３”などとなる確率は無視できる。次に、第４の遷移確率が小さいことを考慮すれば、”２２”となる確率も無視できる。更に、第３及び第４の遷移確率が共に小さいことを考慮すれば、識別番号群”２１”，”１２”，”１１”，”１０”，”０１”，”００”などとなる確率も無視できる。即ち、第１の遷移確率により”２３”，”３２”に変化する確率Ｐ４１，Ｐ４２のみを考慮すればよく、読み出された識別番号群がこれらに変化していれば、この識別番号群には誤りがあり、正しい識別番号群は”３３”となる。従って、符号化回路１１による符号化規則により、元の正しいデータ列”１０１”が復号化回路１３から出力される。
【０１０９】
同様に、書き込み時の識別番号群が”１３”であるときに、この識別番号群”１３”が何等かの理由でデータ化けしたとすると、第２〜４の遷移確率が小さいことから、第１の遷移確率により識別番号群”０３”，”１２”に変化する確率Ｐ４３，Ｐ４４のみを考慮すればよい。従って、読み出された識別番号群が”０３”，”１２”であれば、この識別番号群には誤りがあり、正しい識別番号群は”１３”となって、符号化回路１１による符号化規則により元の正しいデータ列”０１１”が復号化回路１３から出力される。
【０１１０】
同様に、書き込み時の識別番号群が”３１”であるときに、この識別番号群”３１”が何等かの理由でデータ化けしたとすると、第２〜４の遷移確率が小さいことから、第１の遷移確率により識別番号群”２１”，”３０”に変化する確率Ｐ４５，Ｐ４６のみを考慮すればよい。従って、読み出された識別番号群が”２１”，”３０”であれば、この識別番号群には誤りがあり、正しい識別番号群は”３１”となって、符号化回路１１による符号化規則により元の正しいデータ列”１００”が復号化回路１３から出力される。
【０１１１】
同様に、書き込み時の識別番号群が”０２”であるときに、この識別番号群”０２”が何等かの理由でデータ化けしたとすると、第２〜４の遷移確率が小さいことから、第１の遷移確率により識別番号群”０１”に変化する確率Ｐ４７のみを考慮すればよい。従って、読み出された識別番号群が”０１”であれば、この識別番号群には誤りがあり、正しい識別番号群は”０２”となって、符号化回路１１による符号化規則により元の正しいデータ列”００１”が復号化回路１３から出力される。
【０１１２】
同様に、書き込み時の識別番号群が”２０”であるときに、この識別番号群”２０”が何等かの理由でデータ化けしたとすると、第２〜４の遷移確率が小さいことから、第１の遷移確率により識別番号群”１０”に変化する確率Ｐ４８のみを考慮すればよい。従って、読み出された識別番号群が”１０”であれば、この識別番号群には誤りがあり、正しい識別番号群は”２０”となって、符号化回路１１による符号化規則により元の正しいデータ列”０１０”が復号化回路１３から出力される。
【０１１３】
書き込み時の識別番号群が”００”であるときには、特に第２の遷移確率を考慮すれば、データ化けが起こる確率が小さく、無視できることが分かる。従ってこの場合、符号化回路１１による符号化規則により元の正しいデータ列”０００”が復号化回路１３から出力される。
【０１１４】
上述の復号化を以下の表８にまとめて記載する。
【０１１５】
【表８】
0003581549.tif 000009
【０１１６】
上述の性質を利用したＥＥＰＲＯＭからのデータ列の誤り訂正を含む使用方法（書き込み方法及び読み出し方法）について、図１８〜図２０を用いて説明する。
【０１１７】
先ず、図１８に示すように、符号化回路１１により、入力したバイナリデータを３ビット毎に区切って”０００”，”００１”，”０１０”，”０１１”，”１００”，”１０１”の何れかのデータ列とし、このデータ列を各識別番号群”００”，”０２”，”２０”，”１３”，”３１”，”３３”に変換する（ステップＳ５１）。
【０１１８】
次に、変換されてなる識別番号群（”００”，”０２”，”２０”，”１３”，”３１”，”３３”のうちの１つ）について、各桁の識別番号をそれぞれ対応するメモリセルに記憶させる（ステップＳ５２）。具体的に、”３”を記憶させる場合には、メモリセルのしきい値電圧が電圧Ｖｔ２以上で且つ電圧Ｖｔ３未満となるように制御ゲート電極６に所定の電圧を印加し、”２”を記憶させる場合には、メモリセルのしきい値電圧が電圧電圧Ｖｔ１以上で且つ電圧Ｖｔ２未満となるように制御ゲート電極６に所定の電圧を印加し、”１”を記憶させる場合には、メモリセルのしきい値電圧が電圧電圧Ｖｔ０以上で且つ電圧Ｖｔ１未満となるように制御ゲート電極６に所定の電圧を印加し、”０”を記憶させる場合には、メモリセルのしきい値電圧が電圧電圧Ｖｔ０未満となるように制御ゲート電極６に所定の電圧を印加すればよい。以上、ステップＳ５１及びＳ５２により、ＥＥＰＲＯＭの書き込み方法が構成される。
【０１１９】
次に、図１９に示すように、一組のメモリセルに記憶された各識別番号を読み出し、バイナリデータに変換して出力する場合について説明する。具体的には、復号化回路１３により、先ずメモリセルアレイ１２から所定の一対のメモリセルを選択し、識別番号群のうち上位に相当するメモリセルの制御ゲート電極６に電圧Ｖｔ１を印加し、電流が流れるか否かを判定する（ステップＳ５３）。
【０１２０】
ステップＳ５３において、ソース３−ドレイン４間に電流が流れた場合、制御ゲート電極６に更に電圧Ｖｔ０を印加する（ステップＳ５４）。このとき、ソース３−ドレイン４間に電流が流れれば、メモリセルに記憶された識別番号は”０”と判定され（ステップＳ５４１  ）、流れなければ、メモリセルに記憶された識別番号は”１”と判定される（ステップＳ５４２  ）。
【０１２１】
一方、ステップＳ５３において、ソース３−ドレイン４間に電流が流れなかった場合、制御ゲート電極６に更に電圧Ｖｔ２を印加する（ステップＳ５５）。このとき、ソース３−ドレイン４間に電流が流れれば、メモリセルに記憶された識別番号は”２”と判定され（ステップＳ５５１  ）、流れなければ、メモリセルに記憶された識別番号は”３”と判定される（ステップＳ５５２  ）。
【０１２２】
続いて、下位に相当するメモリセルにも、上述と同様にそれぞれステップＳ５３〜Ｓ５５の操作を行うことにより、このメモリセルに記憶された識別番号を判定し、上位及び下位の識別番号からなる識別番号群を構成する。もちろん、下位の識別番号を先に判定し、続いて上位の識別番号を判定するようにしてもよい。
【０１２３】
次いで、図２０に示すように、上位及び下位の識別番号からなる識別番号群をバイナリデータに復号化して出力する。具体的には、識別番号群が”００”であるときにはそのまま”０００”を正しいデータ列として出力する（ステップＳ５６）。また、識別番号群が”０１”，”０２”の何れかであるときには、上述した規定に従って元の識別番号群を”０２”と見做し、”００１”を正しいデータ列として出力する（ステップＳ５７）。また、識別番号群が”１０”，”２０”の何れかであるときには、上述した規定に従って元の識別番号群を”２０”と見做し、”０１０”を正しいデータ列として出力する（ステップＳ５８）。また、識別番号群が”０３”，”１２”，”１３”の何れかであるときには、上述した規定に従って元の識別番号群を”１３”と見做し、”０１１”を正しいデータ列として出力する（ステップＳ５９）。また、識別番号群が”２１”，”３０”，”３１”の何れかであるときには、上述した規定に従って元の識別番号群を”３１”と見做し、”１００”を正しいデータ列として出力する（ステップＳ６０）。また、識別番号群が”２３”，”３２”，”３３”の何れかであるときには、上述した規定に従って元の識別番号群を”３３”と見做し、”１０１”を正しいデータ列として出力する（ステップＳ６１）。
【０１２４】
上述のように、第３の実施形態の変形例のＥＥＰＲＯＭによれば、６値の情報からなるデータ列の書き込み・読み出しを行う場合において、上述の割り当て規則により入力されたデータ列を識別番号群に変換し、読み出し時に第１の遷移確率のみを考慮することにより、簡易且つ正確に誤り訂正を行って極めて高い蓋然性をもって正しいデータ列を得ることができ、効率よく正確に誤り訂正を行うことが可能となる。
【０１２５】
なお、本実施形態においては、不揮発性半導体記憶装置としてＥＥＰＲＯＭを例示したが、本発明はこれに限定されるものではない。電荷蓄積層を有する半導体記憶装置であればよく、例えばＥＰＲＯＭやＭＮＯＳ、フラッシュメモリ等にも適用可能である。更に、揮発性半導体記憶装置であるＤＲＡＭにも、所定条件の下では適用できる余地がある。
【０１２６】
また、前述の第１〜第３実施形態及び変形例において、図５〜図７、図９〜図１１、図１４〜図１６、図１８〜図２０を用いて説明した使用方法の機能を実現するように、各種のデバイスを動作させるためのプログラムコード自体及びそのプログラムコードをコンピュータに供給するための手段、例えば図１に示すように、かかるプログラムコードを格納した記憶媒体２１は本発明の範疇に属する。
【０１２７】
またこの場合、記憶再生装置２２により、記憶媒体２１に格納されているプログラムコードが読み出され、ＥＥＰＲＯＭが作動する。かかるプログラムコードを記憶する記憶媒体２１としては、例えばフロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【０１２８】
また、コンピュータが供給されたプログラムコードを実行することにより、各実施形態の機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）或いは他のアプリケーションソフト等の共同して各実施形態の機能が実現される場合にもかかるプログラムコードは本発明に含まれる。
【０１２９】
更に、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって本実施形態の機能が実現されるシステムも本発明に含まれる。
【０１３０】
【発明の効果】
本発明によれば、例えば３値以上の多値データの書き込み・読み出しを行う場合において、効率よく正確に誤り訂正を行うことが可能となる。
【図面の簡単な説明】
【図１】本発明の第１〜第３の実施形態に係る不揮発性半導体記憶装置の概略全体構成を示すブロック図である。
【図２】本発明の第１〜第３の実施形態に係るＥＥＰＲＯＭのメモリセルの主要構成を示す概略断面図である。
【図３】本発明の第１及び第２の実施形態に係るＥＥＰＲＯＭのメモリセルに記憶されるデータとしきい値電圧との関係を示す特性図である。
【図４】本発明の第１の実施形態において、遷移確率に基づいて誤りが発生する様子を示す模式図である。
【図５】本発明の第１の実施形態において、ＥＥＰＲＯＭの使用方法を示すフローチャート図である。
【図６】図５に引き続き、本発明の第１の実施形態において、ＥＥＰＲＯＭの使用方法を示すフローチャート図である。
【図７】図６に引き続き、本発明の第１の実施形態において、ＥＥＰＲＯＭの使用方法を示すフローチャート図である。
【図８】本発明の第２の実施形態において、遷移確率に基づいて誤りが発生する様子を示す模式図である。
【図９】本発明の第２の実施形態において、ＥＥＰＲＯＭの使用方法を示すフローチャート図である。
【図１０】図９に引き続き、本発明の第２の実施形態において、ＥＥＰＲＯＭの使用方法を示すフローチャート図である。
【図１１】図１０に引き続き、本発明の第２の実施形態において、ＥＥＰＲＯＭの使用方法を示すフローチャート図である。
【図１２】本発明の第３の実施形態に係るＥＥＰＲＯＭのメモリセルに記憶されるデータとしきい値電圧との関係を示す特性図である。
【図１３】本発明の第３の実施形態において、遷移確率に基づいて誤りが発生する様子を示す模式図である。
【図１４】本発明の第３の実施形態において、ＥＥＰＲＯＭの使用方法を示すフローチャート図である。
【図１５】図１４に引き続き、本発明の第３の実施形態において、ＥＥＰＲＯＭの使用方法を示すフローチャート図である。
【図１６】図１５に引き続き、本発明の第３の実施形態において、ＥＥＰＲＯＭの使用方法を示すフローチャート図である。
【図１７】本発明の第３の実施形態の変形例において、遷移確率に基づいて誤りが発生する様子を示す模式図である。
【図１８】本発明の第３の実施形態の変形例において、ＥＥＰＲＯＭの使用方法を示すフローチャート図である。
【図１９】図１８に引き続き、本発明の第３の実施形態の変形例において、ＥＥＰＲＯＭの使用方法を示すフローチャート図である。
【図２０】図１９に引き続き、本発明の第３の実施形態の変形例において、ＥＥＰＲＯＭの使用方法を示すフローチャート図である。
【符号の説明】
１  シリコン半導体基板
２  素子形成領域
３  ソース
４  ドレイン
５  浮遊ゲート電極
６  制御ゲート電極
７  トンネル酸化膜
８  誘電体膜
１１  符号化回路
１２  メモリセルアレイ
１３  復号化回路
２１  記憶媒体
２２  記憶再生装置
【図１】
0003581549.tif 000010
【図２】
0003581549.tif 000011
【図３】
0003581549.tif 000012
【図４】
0003581549.tif 000013
【図５】
0003581549.tif 000014
【図６】
0003581549.tif 000015
【図７】
0003581549.tif 000016
【図８】
0003581549.tif 000017
【図９】
0003581549.tif 000018
【図１０】
0003581549.tif 000019
【図１１】
0003581549.tif 000020
【図１２】
0003581549.tif 000021
【図１３】
0003581549.tif 000022
【図１４】
0003581549.tif 000023
【図１５】
0003581549.tif 000024
【図１６】
0003581549.tif 000025
【図１７】
0003581549.tif 000026
【図１８】
0003581549.tif 000027
【図１９】
0003581549.tif 000028
【図２０】
0003581549.tif 000029