(57)【要約】【課題】  多値メモリセルに記憶されている多値情報が失われても、誤り訂正を効率よく行うことができるようにする。【解決手段】  ３個以上の記憶状態を保持する複数個の多値メモリセルを具備している多値半導体記憶装置のメモリセルアレイ１に、任意の符号化方法によって符号化された１つの符号語を構成する各ビットを複数の多値メモリセルに分散させて記憶するようにするビット情報分散手段６ａを設け、１つの多値メモリセルに記憶されている複数ビットに誤りが生じても、１つの符号語に関しては誤り訂正が可能な最小ビット数の情報が失われるのみとなるようにする。【選択図】  図１
2005235391.tif 000002
【特許請求の範囲】
【請求項１】
論理アドレスが与えられて物理アドレスに変換する変換手段と、
前記物理アドレスを含む物理アドレス空間に対応して配置され、ｎ個（ｎ≧２）の成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）で表現される２n 値の記憶状態を保持する複数の多値メモリセルと、
前記論理アドレスを含む論理アドレス空間が前記物理アドレス空間と一致するか否かを判定する判定手段と、
前記論理アドレス空間が前記物理アドレス空間と一致すると判定された場合に、最上位の前記成分Ｘ1 を所定の判定値により１回で特定する特定手段と、
特定された前記成分Ｘ1 を前記複数の多値メモリセルのうちの前記物理アドレスに対応する多値メモリセルから出力させる出力手段とを備えたことを特徴とする多値半導体記憶装置。
【請求項２】
前記各多値メモリセルは少なくとも１つのトランジスタを含み、前記特定手段は、
前記判定値に対応する電圧を発生させる第１の手段と、
前記物理アドレスが与えられてアドレス信号を出力する第２の手段と、
前記アドレス信号に応答して前記電圧を前記物理アドレスに対応する前記多値メモリセルに与える第３の手段と、
前記電圧が与えられた前記トランジスタのソース−ドレイン間に電流が流れるか否かを判定する第４の手段と、
前記第４の手段における判定結果により前記最上位の前記成分Ｘ1 を特定する第５の手段とを含むことを特徴とする請求項１に記載の多値半導体記憶装置。
【請求項３】
前記特定手段は、
前記各多値メモリセルの出力部位に一方の入力端子が接続され、前記最上位の前記成分Ｘ1 に対応する電圧が供給される比較器と、
前記比較器の他方の入力端子に接続され、この他方の入力端子に前記所定の判定値に対応する電圧を供給する電圧供給回路とを含み、
前記比較器の判定結果により前記最上位の前記成分Ｘ1 を特定することを特徴とする請求項１に記載の多値半導体記憶装置。
【請求項４】
前記論理アドレス空間が前記物理アドレス空間と一致しないと判定された場合、前記特定手段は、前記成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）を所定の最大ｎ個の異なる判定値により最大ｎ回で特定することを特徴とする請求項１に記載の多値半導体記憶装置。
【請求項５】
前記各多値メモリセルは少なくとも１つのトランジスタを含み、前記特定手段は、
前記ｎ個の判定値に対応するｎ個の電圧を発生させる第１の手段と、
前記物理アドレスが与えられてアドレス信号を出力する第２の手段と、
前記アドレス信号に応答して前記電圧を前記物理アドレスに対応する前記多値メモリセルに与える第３の手段と、
前記電圧が与えられた前記トランジスタのソース−ドレイン間に電流が流れるまで最大ｎ種の電圧を前記トランジスタのゲートに所定の順序で与える第４の手段と、
前記電流を検出することにより前記成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）を特定する第５の手段とを含むことを特徴とする請求項４に記載の多値半導体記憶装置。
【請求項６】
前記特定手段は、
前記各多値メモリセルの出力部位に一方の入力端子が接続され、前記成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）に対応する各々の電圧が供給される比較器と、
前記比較器の他方の入力端子に接続され、この他方の入力端子に前記最大ｎ個の判定値に対応する電圧を供給する電圧供給回路とを含み、
前記比較器の判定結果により前記最上位の前記成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）を特定することを特徴とする請求項４に記載の多値半導体記憶装置。
【請求項７】
物理アドレス空間に対応して配置され、ｎ個（ｎ≧２）の成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）で表現される２n 値の記憶状態を保持する複数の多値メモリセルから前記成分を読み出す方法であって、
論理アドレスを前記物理アドレス空間に含まれる物理アドレスに変換する第１のステップと、
前記論理アドレスを含む論理アドレス空間が前記物理アドレス空間と一致するか否かを判定する第２のステップと、
前記論理アドレス空間が前記物理アドレス空間と一致すると判定された場合に、最上位の前記成分Ｘ1 を所定の判定値により１回で特定する第３のステップと、
特定された前記成分Ｘ1 を前記複数の多値メモリセルのうちの前記物理アドレスに対応する多値メモリセルから出力させる第４のステップとを含むことを特徴とする多値半導体記憶装置の読み出し方法。
【請求項８】
前記第２のステップにおいて、前記論理アドレス空間が前記物理アドレス空間と一致しないと判定された場合に、
前記第２のステップの後、前記成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）を所定の最大ｎ個の異なる判定値により最大ｎ回で特定する第５のステップを更に含むことを特徴とする請求項７に記載の多値半導体記憶装置の読み出し方法。
【請求項９】
物理アドレス空間に対応して配置され、ｎ個（ｎ≧２）の成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）で表現される２n 値の記憶状態を保持し、各々が少なくとも１つのトランジスタを備える複数の多値メモリセルから前記成分を読み出す方法であって、
論理アドレスを前記物理アドレス空間に含まれる物理アドレスに変換する第１のステップと、
前記論理アドレスを含む論理アドレス空間が前記物理アドレス空間と一致するか否かを判定する第２のステップと、
前記論理アドレス空間が前記物理アドレス空間と一致すると判定された場合に、前記トランジスタのゲートに所定の判定電圧を印加して、前記トランジスタのソース−ドレイン間に電流が流れる否かにより最上位の前記成分Ｘ1 を特定する第３のステップと、
特定された前記成分Ｘ1 を前記複数の多値メモリセルのうちの前記物理アドレスに対応する多値メモリセルから出力させる第４のステップとを含むことを特徴とする多値半導体記憶装置の読み出し方法。
【請求項１０】
前記第２のステップにおいて、前記論理アドレス空間が前記物理アドレス空間と一致しないと判定された場合に、
前記第２のステップの後、前記トランジスタのゲートにｎ個の異なる判定電圧を所定の順序で、前記トランジスタのソース−ドレイン間に電流が流れるまで最大ｎ回印加して前記成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）を特定する第５のステップを更に含むことを特徴とする請求項９に記載の多値半導体記憶装置の読み出し方法。
【請求項１１】
物理アドレス空間に対応して配置され、ｎ個（ｎ≧２）の成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）で表現される２n 値の記憶状態を保持し、各々が少なくとも１つのトランジスタを備える複数の多値メモリセルから前記成分を読み出す方法であって、
論理アドレスを前記物理アドレス空間に含まれる物理アドレスに変換する第１のステップと、
前記論理アドレスを含む論理アドレス空間が前記物理アドレス空間と一致するか否かを判定する第２のステップと、
前記論理アドレス空間が前記物理アドレス空間と一致すると判定された場合に、最上位の前記成分Ｘ1 に対応する電圧と所定の判定電圧とを比較し、比較結果により前記成分Ｘ1 を特定する第３のステップと、
特定された前記成分Ｘ1 を前記複数の多値メモリセルのうちの前記物理アドレスに対応する多値メモリセルから出力させる第４のステップとを含むことを特徴とする多値半導体記憶装置の読み出し方法。
【請求項１２】
前記第２のステップにおいて、前記論理アドレス空間が前記物理アドレス空間と一致しないと判定された場合に、
前記第２のステップの後、前記成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）に対応する電圧と前記成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）の各々の成分に対応する電圧とを比較し、比較結果により前記成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）を特定する第５のステップを更に含むことを特徴とする請求項１１に記載の多値半導体記憶装置の読み出し方法。
【請求項１３】
コンピュータによって、物理アドレス空間に対応して配置され、ｎ個（ｎ≧２）の成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）で表現される２n 値の記憶状態を保持する複数の多値メモリセルから前記成分を読み出すためのプログラムが記憶されたコンピュータ読み取り可能な記憶媒体であって、
論理アドレスを前記物理アドレス空間に含まれる物理アドレスに変換する第１のステップと、
前記論理アドレスを含む論理アドレス空間が前記物理アドレス空間と一致するか否かを判定する第２のステップと、
前記論理アドレス空間が前記物理アドレス空間と一致すると判定された場合に、最上位の前記成分Ｘ1 を所定の判定値により１回で特定する第３のステップと、
特定された前記成分Ｘ1 を前記複数の多値メモリセルのうちの前記物理アドレスに対応する多値メモリセルから出力させる第４のステップとを備えたプログラムが記憶されていることを特徴とする記憶媒体。
【請求項１４】
前記第２のステップにおいて、前記論理アドレス空間が前記物理アドレス空間と一致しないと判定された場合に、
前記第２のステップの後、前記成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）を所定の最大ｎ個の異なる判定値により最大ｎ回で特定する第５のステップを更に含むプログラムが記憶されていることを特徴とする請求項１３に記載の記憶媒体。
【請求項１５】
コンピュータによって、物理アドレス空間に対応して配置され、ｎ個（ｎ≧２）の成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）で表現される２n 値の記憶状態を保持し、各々が少なくとも１つのトランジスタを備える複数の多値メモリセルから前記成分を読み出すためのプログラムが記憶されたコンピュータ読み取り可能な記憶媒体であって、
論理アドレスを前記物理アドレス空間に含まれる物理アドレスに変換する第１のステップと、
前記論理アドレスを含む論理アドレス空間が前記物理アドレス空間と一致するか否かを判定する第２のステップと、
前記論理アドレス空間が前記物理アドレス空間と一致すると判定された場合に、前記トランジスタのゲートに所定の判定電圧を印加して、前記トランジスタのソース−ドレイン間に電流が流れる否かにより最上位の前記成分Ｘ1 を特定する第３のステップと、
特定された前記成分Ｘ1 を前記複数の多値メモリセルのうちの前記物理アドレスに対応する多値メモリセルから出力させる第４のステップとを備えたプログラムが記憶されていることを特徴とする記憶媒体。
【請求項１６】
前記第２のステップにおいて、前記論理アドレス空間が前記物理アドレス空間と一致しないと判定された場合に、
前記第２のステップの後、前記トランジスタのゲートにｎ個の異なる判定電圧を所定の順序で、前記トランジスタのソース−ドレイン間に電流が流れるまで最大ｎ回印加して前記成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）を特定する第５のステップを更に含むプログラムが記憶されていることを特徴とする請求項１５に記載の記憶媒体。
【請求項１７】
コンピュータによって、物理アドレス空間に対応して配置され、ｎ個（ｎ≧２）の成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）で表現される２n 値の記憶状態を保持し、各々が少なくとも１つのトランジスタを備える複数の多値メモリセルから前記成分を読み出すためのプログラムが記憶されたコンピュータ読み取り可能な記憶媒体であって、
論理アドレスを前記物理アドレス空間に含まれる物理アドレスに変換する第１のステップと、
前記論理アドレスを含む論理アドレス空間が前記物理アドレス空間と一致するか否かを判定する第２のステップと、
前記論理アドレス空間が前記物理アドレス空間と一致すると判定された場合に、最上位の前記成分Ｘ1 に対応する電圧と所定の判定電圧とを比較し、比較結果により前記成分Ｘ1 を特定する第３のステップと、
特定された前記成分Ｘ1 を前記複数の多値メモリセルのうちの前記物理アドレスに対応する多値メモリセルから出力させる第４のステップとを備えたプログラムが記憶されていることを特徴とする記憶媒体。
【請求項１８】
前記第２のステップにおいて、前記論理アドレス空間が前記物理アドレス空間と一致しないと判定された場合に、
前記第２のステップの後、前記成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）に対応する電圧と前記成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）の各々の成分に対応する電圧とを比較し、比較結果により前記成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）を特定する第５のステップを更に含むプログラムが記憶されていることを特徴とする請求項１７に記載の記憶媒体。
【請求項１９】
論理アドレスが入力される入力手段と、
前記論理アドレスから物理アドレスを算出する変換手段と、
制御ゲートと電荷蓄積層とを有し、前記物理アドレスに対応して配置されており、各々が２次元以上の成分により表現される３値以上の記憶状態を保持する多値メモリセルと、
前記物理アドレスに対応した前記多値メモリセルを選択するとともに、前記入力手段に入力される前記論理アドレスに応じて選択された前記多値メモリセルに記憶された前記成分の中から出力する成分を指定する制御手段と、
前記制御手段により指定された前記多値メモリセルの前記成分のデータを出力する出力手段とを備え、
前記成分のうちの少なくとも１つの成分のデータを１回の判定で特定する判定値が存在し、前記入力手段に入力した前記論理アドレスが前記物理アドレスが張るアドレス空間と１対１対応する部分空間に含まれるものであるときには、前記制御手段が当該制御手段により指定された前記多値メモリセルの前記成分のデータを前記判定値で特定し、このデータを前記出力手段から出力することを特徴とする多値半導体記憶装置。
【請求項２０】
前記多値メモリセルは、ｎ次元（ｎ≧２）の成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）で表現される２n 値の記憶状態を保持し、
少なくとも前記Ｘ1 成分のデータを１回の判定で特定する判定値が存在するとともに、前記部分空間に含まれる前記論理アドレスのデータが前記Ｘ1 成分に格納されており、
前記部分空間に含まれる前記論理アドレスが前記入力手段に入力されたときには、対応する前記多値メモリセルの前記記憶状態のうち、前記制御手段により前記判定値で特定される前記Ｘ1 成分のデータを前記出力手段から出力することを特徴とする請求項１９に記載の多値半導体記憶装置。
【請求項２１】
Ｘ2 ，…，Ｘn 成分のデータを特定する各判定値が存在するとともに、前記部分空間であるアドレス空間Ａ1 に近接するアドレス空間Ａ2 ，…，Ａn に含まれる前記論理アドレスのデータが前記アドレス空間Ａ1 に近い順に前記Ｘ2 ，…，Ｘn 成分に順次格納されており、
前記入力手段に入力された前記論理アドレスのアドレス空間に応じて、前記制御手段がＸk （但し、ｋ＝１，２，…，ｎ）成分を前記各判定値によるｋ回の判定で特定し、このＸk 成分のデータを前記出力手段から出力することを特徴とする請求項２０に記載の多値半導体記憶装置。
【請求項２２】
前記電荷蓄積層が浮遊ゲートであることを特徴とする請求項１９〜２１のいずれか１項に記載の多値半導体記憶装置。
【請求項２３】
制御ゲートと電荷蓄積層とを備え、入力された論理アドレスから算出された物理アドレスに対応して配置されてなる多値メモリセルを有する多値半導体記憶装置の読み出し方法において、
前記多値メモリセルには、各々が２次元以上の成分により表現される３値以上の記憶状態が保持されており、前記成分の少なくとも１つの成分のデータを特定する判定値が存在し、
前記入力手段に入力した前記論理アドレスが前記物理アドレスが張るアドレス空間と１対１対応する部分空間に含まれるものであるときには、前記物理アドレスにより選択された前記多値メモリセルの前記制御ゲートに前記判定値の電圧を印加して、前記多値メモリセルのソース／ドレイン間に電流が流れるか否かによって前記多値メモリセルの前記成分のデータを特定して出力することを特徴とする多値半導体記憶装置の読み出し方法。
【請求項２４】
前記多値メモリセルには、ｎ次元（ｎ≧２）の成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）で表現される２n 値の記憶状態が保持されており、
少なくとも前記Ｘ1 成分のデータを特定する判定値が存在するとともに、前記部分空間に含まれる前記論理アドレスのデータが前記Ｘ1 成分に格納されており、
前記部分空間に含まれる前記論理アドレスが前記入力手段に入力されたときには、対応する前記多値メモリセルの前記記憶状態のうち、前記前記値で特定される前記Ｘ1 成分のデータを前記出力手段から出力することを特徴とする請求項２３に記載の多値半導体記憶装置の読み出し方法。
【請求項２５】
Ｘ2 ，…，Ｘn 成分のデータを特定する各判定値が存在するとともに、前記部分空間であるアドレス空間Ａ1 に近接するアドレス空間Ａ2 ，…，Ａn に含まれる前記論理アドレスのデータが前記アドレス空間Ａ1 に近い順に前記Ｘ2 ，…，Ｘn 成分に順次格納されており、
前記入力手段に入力された前記論理アドレスのアドレス空間に応じて、Ｘk （但し、ｋ＝１，２，…，ｎ）成分のデータを前記各判定値によるｋ回の判定で特定し、このＸk 成分を出力することを特徴とする請求項２４に記載の多値半導体記憶装置の読み出し方法。
【請求項２６】
請求項２３〜２５のいずれか１項に記載の多値半導体記憶装置の読み出し方法の手順をコンピュータに実行させるためのプログラムを格納したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多値半導体記憶装置及びその読み出し方法並びに記憶媒体に関するものである。
【背景技術】
【０００２】
半導体記憶装置に記憶された符号の誤り訂正機能として、例えばハミング符号を用いた方法が一般的に用いられてきた。前記ハミング符号を用いる半導体記憶装置においては、例えば、４ビットの情報ビット（ｍ１，ｍ２，ｍ３，ｍ４）を記憶する場合、３ビットの検査ビット（ｐ１，ｐ２，ｐ３）を符号器によって求め、情報ビットと検査ビットの合計７ビットを記憶する。
【０００３】
そして、前記半導体記憶装置に記憶したハミング符号の読み出し時には、読み出した情報（ｙ１，ｙ２，ｙ３，ｙ４，ｙ５，ｙ６，ｙ７）を復号器に与え、誤りを訂正した情報（ｍ１，ｍ２，ｍ３，ｍ４）を得るようにしている。このような半導体記憶装置では、前記読み出した情報（ｙ１，ｙ２，ｙ３，ｙ４，ｙ５，ｙ６，ｙ７）のうち、１ビットまでの誤りを訂正することができる。詳しくは、例えば非特許文献１などを参考にされたい。
【０００４】
ところで、最近は特許文献１に示されるように、１個のメモリセルに３値以上の値を記憶する多値半導体記憶装置がある。前記多値半導体記憶装置には、複数のしきい値電圧が設定されていて、例えば、４値不揮発性半導体メモリであれば、各メモリセルは４個のしきい値電圧（０Ｖ，２Ｖ，４Ｖ，６Ｖ）に設定され、１個のメモリセルで２ビット分の情報を記憶することができるようになされている。つまり、記憶内容（００，０１，１０，１１）に対応して、メモリセルのしきい値電圧が０Ｖ，２Ｖ，４Ｖ，６Ｖに設定されている。
【０００５】
ここで、このような多値半導体記憶装置にハミング符号による誤り訂正機能を付与する場合、従来は符号化で得られた記憶するべき符号列の各ビットを順番に記憶するようにしていたので、隣り合うビットが同じメモリセルに記憶されていた。
【０００６】
例えば、情報ビット（ｍ１１，ｍ２１，ｍ３１，ｍ４１）と（ｍ１２，ｍ２２，ｍ３２，ｍ４２）から、検査ビット（ｐ１１，ｐ２１，ｐ３１）と（ｐ１２，ｐ２２，ｐ３２）とを得て、これを多値メモリセルに記憶する場合を説明する。これらの情報ビット及び検査ビットよりなるハミング符号を多値メモリセルに記憶する場合、従来はｍ１１とｍ２１、ｍ３１とｍ４１、ｐ１１とｐ２１、ｐ３１とｍ１２、ｍ２２とｍ３２、ｍ４２とｐ１２、ｐ２２とｐ３２のように順番に記憶していた。
【０００７】
【特許文献１】特開平６−１９５６８７号公報
【特許文献２】特開平７−２０１１８９号公報
【非特許文献１】電子情報通信学会発行  今井秀樹著  「符号理論」（平成６年６月１０日発行（５版））
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述したような多値メモリでは、１つのメモリセルに対する読み出し動作の回数が多くなるという問題があった。従来の読み出し方法を、上述の４値半導体記憶装置の読み出し動作について説明する。この半導体記憶装置は、外部から読み出し命令を受信すると、アドレスの入力を待つ。入力されるアドレスは、実在するメモリセルに対応した物理アドレスではなく、論理アドレスであるため、入力された論理アドレスから物理アドレスが算出される。
【０００９】
次いで、算出された物理アドレスにより指定されたメモリセルのしきい値電圧が（０Ｖ，２Ｖ，４Ｖ，６Ｖ）の何れであるかを調べ、２ビットのデータに変換する。具体的には、メモリセルに例えば１Ｖ，３Ｖ，５Ｖの判定電圧を順次印加する。この場合、１Ｖの判定電圧を印加したときにメモリセルのソース／ドレインに電流が流れたならば、メモリセルのしきい値電圧は０Ｖであると分かり、"００"のデータが読み出される。一方、１Ｖでは電流が流れなかったが、３Ｖで電流が流れたならば、メモリセルのしきい値電圧は２Ｖであると分かり、"０１"のデータが読み出される。
【００１０】
更に、１Ｖと３Ｖでは電流が流れず、５Ｖのときに初めて電流が流れたならば、メモリセルのしきい値電圧は４Ｖであると分かり、"１０"のデータが読み出される。更に、メモリセルに印加したすべての電圧で電流が流れなかったときは、メモリセルのしきい値電圧は６Ｖであると分かり、"１１"のデータが読み出される。以上に説明した例では、１つのメモリセルに４値、すなわち、２ビットのデータを記憶させたが、更に多値のデータを記憶させることも研究されている。
【００１１】
しかし、上述したような多値メモリでは、１つのメモリセルに対する読み出し動作の回数が多くなるという問題があった。
例えば、上述のように１つのメモリセルに４値を記憶させた場合には、このように、従来の４値半導体記憶装置においては、読み出し動作で、入力されたアドレスが如何なる値であろうとも、メモリセルのしきい値電圧が４値のうちの何れであるかを特定する３回の読み出し検出動作が必ず行われる。実際には、１Ｖ→３Ｖ→５Ｖと階段状に変化する電圧を印加して読み出し検出を行うのであるが、読み出し検出動作が３回必要であることには変わりない。
【００１２】
そこで、本発明者等は、特許文献２で、メモリセルの読み出し動作を高速化する方法を開示している。この方法は、上述の４値半導体記憶装置に対応させて説明すれば、メモリセルに先ず３Ｖの電圧を印加し、電流が流れるか否かで２ビットのデータのうちの上位ビットを判定する。この場合、電流が流れたならば上位ビットは"０"であり、電流が流れなかったならば上位ビットは"１"である。次いで、上位ビットが"０"であると判定された場合には、メモリセルに更に１Ｖの電圧を印加し、電流が流れたならばメモリセルの２ビットのデータは"００"であると、電流が流れなかったならばデータは"０１"であると判定されて出力される。一方、上位ビットが"１"であると判定された場合には、メモリセルに更に５Ｖの電圧を印加し、電流が流れたならばメモリセルの２ビットのデータは"１０"であると、電流が流れなかったならばデータは"１１"であると判定されて出力される。このように、特許文献２の読み出し方法によれば、２回の読み出し動作で１つのメモリセルに記憶された２ビットのデータを特定することが可能となる。
【００１３】
しかしながら、特許文献２に記載の読み出し方法においても、論理アドレスによらず、換言すれば論理アドレスが例えばメモリセルの上位ビットを指定している場合でも、メモリセルのしきい値電圧が４値のいずれであるかを判定することになる。
【００１４】
以上のように、従来の多値半導体記憶装置は、その読み出し動作において、入力された論理アドレスによらず、メモリセルの記憶内容を完全に特定してからデータを出力するため、必要以上に時間を要し、必然的に読み出し速度が制限されるという問題があった。
【００１５】
本発明は上述の問題点に鑑み、入力された論理アドレスに応じて、アクセス頻度の高いデータを高速で読みだすことを可能とし、読み出し時のアクセス時間を更に短縮することができるようにすることを目的とする。
【課題を解決するための手段】
【００１６】
本発明の多値半導体記憶装置は、論理アドレスが与えられて物理アドレスに変換する変換手段と、前記物理アドレスを含む物理アドレス空間に対応して配置され、ｎ個（ｎ≧２）の成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）で表現される２n 値の記憶状態を保持する複数の多値メモリセルと、前記論理アドレスを含む論理アドレス空間が前記物理アドレス空間と一致するか否かを判定する判定手段と、前記論理アドレス空間が前記物理アドレス空間と一致すると判定された場合に、最上位の前記成分Ｘ1 を所定の判定値により１回で特定する特定手段と、特定された前記成分Ｘ1 を前記複数の多値メモリセルのうちの前記物理アドレスに対応する多値メモリセルから出力させる出力手段とを備えている。
【００１７】
本発明の多値半導体記憶装置の一態様例においては、前記各多値メモリセルは少なくとも１つのトランジスタを含み、前記特定手段は、前記判定値に対応する電圧を発生させる第１の手段と、前記物理アドレスが与えられてアドレス信号を出力する第２の手段と、前記アドレス信号に応答して前記電圧を前記物理アドレスに対応する前記多値メモリセルに与える第３の手段と、前記電圧が与えられた前記トランジスタのソース−ドレイン間に電流が流れるか否かを判定する第４の手段と、前記第４の手段における判定結果により前記最上位の前記成分Ｘ1 を特定する第５の手段とを含む。
【００１８】
本発明の多値半導体記憶装置の一態様例においては、前記特定手段は、前記各多値メモリセルの出力部位に一方の入力端子が接続され、前記最上位の前記成分Ｘ1 に対応する電圧が供給される比較器と、前記比較器の他方の入力端子に接続され、この他方の入力端子に前記所定の判定値に対応する電圧を供給する電圧供給回路とを含み、前記比較器の判定結果により前記最上位の前記成分Ｘ1 を特定する。
【００１９】
本発明の多値半導体記憶装置の一態様例においては、前記論理アドレス空間が前記物理アドレス空間と一致しないと判定された場合、前記特定手段は、前記成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）を所定の最大ｎ個の異なる判定値により最大ｎ回で特定する。
【００２０】
本発明の多値半導体記憶装置の一態様例においては、前記各多値メモリセルは少なくとも１つのトランジスタを含み、前記特定手段は、前記ｎ個の判定値に対応するｎ個の電圧を発生させる第１の手段と、前記物理アドレスが与えられてアドレス信号を出力する第２の手段と、前記アドレス信号に応答して前記電圧を前記物理アドレスに対応する前記多値メモリセルに与える第３の手段と、前記電圧が与えられた前記トランジスタのソース−ドレイン間に電流が流れるまで最大ｎ種の電圧を前記トランジスタのゲートに所定の順序で与える第４の手段と、前記電流を検出することにより前記成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）を特定する第５の手段とを含む。
【００２１】
本発明の多値半導体記憶装置の一態様例においては、前記特定手段は、前記各多値メモリセルの出力部位に一方の入力端子が接続され、前記成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）に対応する各々の電圧が供給される比較器と、前記比較器の他方の入力端子に接続され、この他方の入力端子に前記最大ｎ個の判定値に対応する電圧を供給する電圧供給回路とを含み、前記比較器の判定結果により前記最上位の前記成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）を特定する。
【００２２】
本発明の多値半導体記憶装置の読み出し方法は、物理アドレス空間に対応して配置され、ｎ個（ｎ≧２）の成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）で表現される２n 値の記憶状態を保持する複数の多値メモリセルから前記成分を読み出す方法であって、論理アドレスを前記物理アドレス空間に含まれる物理アドレスに変換する第１のステップと、前記論理アドレスを含む論理アドレス空間が前記物理アドレス空間と一致するか否かを判定する第２のステップと、前記論理アドレス空間が前記物理アドレス空間と一致すると判定された場合に、最上位の前記成分Ｘ1 を所定の判定値により１回で特定する第３のステップと、特定された前記成分Ｘ1 を前記複数の多値メモリセルのうちの前記物理アドレスに対応する多値メモリセルから出力させる第４のステップとを含む。
【００２３】
本発明の多値半導体記憶装置の読み出し方法の一態様例においては、前記第２のステップにおいて、前記論理アドレス空間が前記物理アドレス空間と一致しないと判定された場合に、前記第２のステップの後、前記成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）を所定の最大ｎ個の異なる判定値により最大ｎ回で特定する第５のステップを更に含む。
【００２４】
本発明の多値半導体記憶装置の読み出し方法は、物理アドレス空間に対応して配置され、ｎ個（ｎ≧２）の成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）で表現される２n 値の記憶状態を保持し、各々が少なくとも１つのトランジスタを備える複数の多値メモリセルから前記成分を読み出す方法であって、論理アドレスを前記物理アドレス空間に含まれる物理アドレスに変換する第１のステップと、前記論理アドレスを含む論理アドレス空間が前記物理アドレス空間と一致するか否かを判定する第２のステップと、前記論理アドレス空間が前記物理アドレス空間と一致すると判定された場合に、前記トランジスタのゲートに所定の判定電圧を印加して、前記トランジスタのソース−ドレイン間に電流が流れる否かにより最上位の前記成分Ｘ1 を特定する第３のステップと、特定された前記成分Ｘ1 を前記複数の多値メモリセルのうちの前記物理アドレスに対応する多値メモリセルから出力させる第４のステップとを含む。
【００２５】
本発明の多値半導体記憶装置の読み出し方法の一態様例においては、前記第２のステップにおいて、前記論理アドレス空間が前記物理アドレス空間と一致しないと判定された場合に、前記第２のステップの後、前記トランジスタのゲートにｎ個の異なる判定電圧を所定の順序で、前記トランジスタのソース−ドレイン間に電流が流れるまで最大ｎ回印加して前記成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）を特定する第５のステップを更に含む。
【００２６】
本発明の多値半導体記憶装置の読み出し方法は、物理アドレス空間に対応して配置され、ｎ個（ｎ≧２）の成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）で表現される２n 値の記憶状態を保持し、各々が少なくとも１つのトランジスタを備える複数の多値メモリセルから前記成分を読み出す方法であって、論理アドレスを前記物理アドレス空間に含まれる物理アドレスに変換する第１のステップと、前記論理アドレスを含む論理アドレス空間が前記物理アドレス空間と一致するか否かを判定する第２のステップと、前記論理アドレス空間が前記物理アドレス空間と一致すると判定された場合に、最上位の前記成分Ｘ1 に対応する電圧と所定の判定電圧とを比較し、比較結果により前記成分Ｘ1 を特定する第３のステップと、特定された前記成分Ｘ1 を前記複数の多値メモリセルのうちの前記物理アドレスに対応する多値メモリセルから出力させる第４のステップとを含む。
【００２７】
本発明の多値半導体記憶装置の読み出し方法の一態様例においては、前記第２のステップにおいて、前記論理アドレス空間が前記物理アドレス空間と一致しないと判定された場合に、前記第２のステップの後、前記成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）に対応する電圧と前記成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）の各々の成分に対応する電圧とを比較し、比較結果により前記成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）を特定する第５のステップを更に含む。
【００２８】
本発明の記憶媒体は、コンピュータによって、物理アドレス空間に対応して配置され、ｎ個（ｎ≧２）の成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）で表現される２n 値の記憶状態を保持する複数の多値メモリセルから前記成分を読み出すためのプログラムが記憶された記憶媒体であって、論理アドレスを前記物理アドレス空間に含まれる物理アドレスに変換する第１のステップと、前記論理アドレスを含む論理アドレス空間が前記物理アドレス空間と一致するか否かを判定する第２のステップと、前記論理アドレス空間が前記物理アドレス空間と一致すると判定された場合に、最上位の前記成分Ｘ1 を所定の判定値により１回で特定する第３のステップと、特定された前記成分Ｘ1 を前記複数の多値メモリセルのうちの前記物理アドレスに対応する多値メモリセルから出力させる第４のステップとを備えたプログラムが記憶されている。
【００２９】
本発明の記憶媒体の一態様例においては、前記第２のステップにおいて、前記論理アドレス空間が前記物理アドレス空間と一致しないと判定された場合に、前記第２のステップの後、前記成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）を所定の最大ｎ個の異なる判定値により最大ｎ回で特定する第５のステップを更に含むプログラムが記憶されている。
【００３０】
本発明の記憶媒体は、コンピュータによって、物理アドレス空間に対応して配置され、ｎ個（ｎ≧２）の成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）で表現される２n 値の記憶状態を保持し、各々が少なくとも１つのトランジスタを備える複数の多値メモリセルから前記成分を読み出すためのプログラムが記憶された記憶媒体であって、論理アドレスを前記物理アドレス空間に含まれる物理アドレスに変換する第１のステップと、前記論理アドレスを含む論理アドレス空間が前記物理アドレス空間と一致するか否かを判定する第２のステップと、前記論理アドレス空間が前記物理アドレス空間と一致すると判定された場合に、前記トランジスタのゲートに所定の判定電圧を印加して、前記トランジスタのソース−ドレイン間に電流が流れる否かにより最上位の前記成分Ｘ1 を特定する第３のステップと、特定された前記成分Ｘ1 を前記複数の多値メモリセルのうちの前記物理アドレスに対応する多値メモリセルから出力させる第４のステップとを備えたプログラムが記憶されている。
【００３１】
本発明の記憶媒体の一態様例においては、前記第２のステップにおいて、前記論理アドレス空間が前記物理アドレス空間と一致しないと判定された場合に、前記第２のステップの後、前記トランジスタのゲートにｎ個の異なる判定電圧を所定の順序で、前記トランジスタのソース−ドレイン間に電流が流れるまで最大ｎ回印加して前記成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）を特定する第５のステップを更に含むプログラムが記憶されている。
【００３２】
本発明の記憶媒体は、コンピュータによって、物理アドレス空間に対応して配置され、ｎ個（ｎ≧２）の成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）で表現される２n 値の記憶状態を保持し、各々が少なくとも１つのトランジスタを備える複数の多値メモリセルから前記成分を読み出すためのプログラムが記憶された記憶媒体であって、論理アドレスを前記物理アドレス空間に含まれる物理アドレスに変換する第１のステップと、前記論理アドレスを含む論理アドレス空間が前記物理アドレス空間と一致するか否かを判定する第２のステップと、前記論理アドレス空間が前記物理アドレス空間と一致すると判定された場合に、最上位の前記成分Ｘ1 に対応する電圧と所定の判定電圧とを比較し、比較結果により前記成分Ｘ1 を特定する第３のステップと、特定された前記成分Ｘ1 を前記複数の多値メモリセルのうちの前記物理アドレスに対応する多値メモリセルから出力させる第４のステップとを備えたプログラムが記憶されている。
【００３３】
本発明の記憶媒体の一態様例においては、前記第２のステップにおいて、前記論理アドレス空間が前記物理アドレス空間と一致しないと判定された場合に、前記第２のステップの後、前記成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）に対応する電圧と前記成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）の各々の成分に対応する電圧とを比較し、比較結果により前記成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）を特定する第５のステップを更に含むプログラムが記憶されている。
【００３４】
本発明の多値半導体記憶装置は、論理アドレスが入力される入力手段と、前記論理アドレスから物理アドレスを算出する変換手段と、制御ゲートと電荷蓄積層とを有し、前記物理アドレスに対応して配置されており、各々が２次元以上の成分により表現される３値以上の記憶状態を保持する多値メモリセルと、前記物理アドレスに対応した前記多値メモリセルを選択するとともに、前記入力手段に入力される前記論理アドレスに応じて選択された前記多値メモリセルに記憶された前記成分の中から出力する成分を指定する制御手段と、前記制御手段により指定された前記多値メモリセルの前記成分のデータを出力する出力手段とを備え、前記成分のうちの少なくとも１つの成分のデータを１回の判定で特定する判定値が存在し、前記入力手段に入力した前記論理アドレスが前記物理アドレスが張るアドレス空間と１対１対応する部分空間に含まれるものであるときには、前記制御手段が当該制御手段により指定された前記多値メモリセルの前記成分のデータを前記判定値で特定し、このデータを前記出力手段から出力する。
【００３５】
本発明の多値半導体記憶装置の一態様例においては、前記多値メモリセルは、ｎ次元（ｎ≧２）の成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）で表現される２n 値の記憶状態を保持し、少なくとも前記Ｘ1 成分のデータを１回の判定で特定する判定値が存在するとともに、前記部分空間に含まれる前記論理アドレスのデータが前記Ｘ1 成分に格納されており、前記部分空間に含まれる前記論理アドレスが前記入力手段に入力されたときには、対応する前記多値メモリセルの前記記憶状態のうち、前記制御手段により前記判定値で特定される前記Ｘ1 成分のデータを前記出力手段から出力する。
【００３６】
本発明の多値半導体記憶装置の一態様例においては、Ｘ2 ，…，Ｘn 成分のデータを特定する各判定値が存在するとともに、前記部分空間であるアドレス空間Ａ1 に近接するアドレス空間Ａ2 ，…，Ａn に含まれる前記論理アドレスのデータが前記アドレス空間Ａ1 に近い順に前記Ｘ2 ，…，Ｘn 成分に順次格納されており、前記入力手段に入力された前記論理アドレスのアドレス空間に応じて、前記制御手段がＸk （但し、ｋ＝１，２，…，ｎ）成分を前記各判定値によるｋ回の判定で特定し、このＸk 成分のデータを前記出力手段から出力する。
【００３７】
本発明の多値半導体記憶装置の一態様例においては、前記電荷蓄積層が浮遊ゲートである。
【００３８】
本発明の多値半導体記憶装置の読み出し方法は、制御ゲートと電荷蓄積層とを備え、入力された論理アドレスから算出された物理アドレスに対応して配置されてなる多値メモリセルを有する多値半導体記憶装置の読み出し方法であって、前記多値メモリセルには、各々が２次元以上の成分により表現される３値以上の記憶状態が保持されており、前記成分の少なくとも１つの成分のデータを特定する判定値が存在し、前記入力手段に入力した前記論理アドレスが前記物理アドレスが張るアドレス空間と１対１対応する部分空間に含まれるものであるときには、前記物理アドレスにより選択された前記多値メモリセルの前記制御ゲートに前記判定値の電圧を印加して、前記多値メモリセルのソース／ドレイン間に電流が流れるか否かによって前記多値メモリセルの前記成分のデータを特定して出力する。
【００３９】
本発明の多値半導体記憶装置の読み出し方法の一態様例においては、前記多値メモリセルには、ｎ次元（ｎ≧２）の成分（Ｘ1 ，Ｘ2 ，…，Ｘn ）で表現される２n 値の記憶状態が保持されており、少なくとも前記Ｘ1 成分のデータを特定する判定値が存在するとともに、前記部分空間に含まれる前記論理アドレスのデータが前記Ｘ1 成分に格納されており、前記部分空間に含まれる前記論理アドレスが前記入力手段に入力されたときには、対応する前記多値メモリセルの前記記憶状態のうち、前記前記値で特定される前記Ｘ1 成分のデータを前記出力手段から出力する。
【００４０】
本発明の多値半導体記憶装置の読み出し方法の一態様例においては、Ｘ2 ，…，Ｘn 成分のデータを特定する各判定値が存在するとともに、前記部分空間であるアドレス空間Ａ1 に近接するアドレス空間Ａ2 ，…，Ａn に含まれる前記論理アドレスのデータが前記アドレス空間Ａ1 に近い順に前記Ｘ2 ，…，Ｘn 成分に順次格納されており、前記入力手段に入力された前記論理アドレスのアドレス空間に応じて、Ｘk （但し、ｋ＝１，２，…，ｎ）成分のデータを前記各判定値によるｋ回の判定で特定し、このＸk 成分を出力する。
【００４１】
本発明の記憶媒体は、上述の読み出し方法の手順をコンピュータに実行させるためのプログラムを格納している。
【００４２】
本発明によれば、論理アドレスをアクセス速度の速いアドレス空間とアクセス速度の比較的遅いアドレス空間とに階層化し、論理アドレスのうち、物理アドレスが張るアドレス空間と１対１対応する部分空間をアクセス速度の速いアドレス空間とする。そして、多値メモリセルの記憶状態の特定の成分、例えば最上位ビットにアクセス速度の速いアドレス空間のデータを格納する。この特定成分のデータは１つの判定値により判定される。
【００４３】
入力された論理アドレスが前記部分空間に含まれるものである場合には、この論理アドレスは前記特定成分のデータを指定しており、判定値による１回の判定により即座に特定成分のデータが分かり、出力されることになる。従って、この特定成分にアクセス頻度の最も高いデータを格納し、他の成分に比較的アクセス頻度の低いデータを格納することにより、極めて効率良く半導体記憶装置の読み出しを行うことが可能となる。
【発明の効果】
【００４４】
発明によれば、入力された論理アドレスに応じて、アクセス頻度の高いデータを高速で読み出すことを可能とし、読み出し時のアクセス時間を大幅に短縮することができる。
【発明を実施するための最良の形態】
【００４５】
以下、本発明の多値半導体記憶装置及びその書き込み方法と読み出し方法並びに記憶媒体の一実施形態を図面を参照して説明する。
【００４６】
本実施形態の多値記憶ＥＥＰＲＯＭの主要構成を図１に示す。図１において、メモリセルアレイ１は、複数のメモリセルがマトリックス状に配置されたものである。メモリセルアレイ１を構成する各メモリセルは、図２に示すように、浮遊ゲート型のメモリセルであり、ｐ型シリコン基板１１の表面領域にｎ型不純物拡散層からなるドレイン１２及びソース１３がそれぞれ形成され、それらの間がチャネル領域１４となっている。
【００４７】
また、ドレイン１２にはビット線１５が接続され、ソース１３にはソース線１６が接続されている。そして、チャネル領域１４の上に、厚さ１０ｎｍ程度のＳｉＯ2 膜からなるトンネル絶縁膜２０が形成され、その上に低抵抗ポリシリコンからなる浮遊ゲート１７、層間絶縁膜１８及び低抵抗ポリシリコンからなる制御ゲート（ワード線）１９が順次形成されている。
【００４８】
ワード線１９はメモリセルアレイ１の列方向に並んでデコーダ２にそれぞれ接続され、一方、ビット線１５は行方向に並んでマルチプレクサ４にそれぞれ接続されている。ソース線１６は接地されている。
【００４９】
このように構成された本実施形態の多値記憶ＥＥＰＲＯＭにデータを書き込む場合には、動作モードをプログラムモードに設定する。そして、入出力インタフェースＩ／Ｆ８を介して書き込み情報をするとともに、入力インタフェースＩ／Ｆ７を介してアドレスを入力する。なお、入力されるアドレスは論理アドレスなので、変換回路９により物理アドレスに変換する。
【００５０】
入出力インタフェースＩ／Ｆ８を介して入力された情報は信号制御回路６に与えられ、ここに設けられている情報ビット分散手段６ａにより、後で詳細に説明するように、情報ビットの並べ替えが行われる。
【００５１】
そして、情報ビットの並べ替えが行われた入力情報は、次に、電圧発生及び電圧制御回路３に与えられ、情報ビットに応じた電圧が発生される。そして、この発生された電圧がデコーダ２を介してメモリセルアレイ１に加えられ、各メモリセルに所定のしきい値電圧が設定される。
【００５２】
（書き込み方法の第１の実施形態）
以下、図３を参照しながら本発明の書き込み方法の第１の実施形態を具体的に説明する。
【００５３】
本実施形態で対象としている多値記憶ＥＥＰＲＯＭは、各メモリセルのしきい値電圧が、記憶する２ビットの情報（００、０１、１０、１１）に対応して、４値（０、２、４、６Ｖ）に設定されている４値メモリであり、バースト誤り訂正符号として、符号長ｎ、バースト誤り訂正能力Ｌの符号Ｃをｍ回交錯する交錯法を用いている。
【００５４】
本装置による書き換えにおいては、まず、記憶内容８ビットの入力を受ける毎に、これを４×２ビットの情報ビット（ｍ１１，ｍ２１，ｍ３１，ｍ４１）（ｍ１２，ｍ２２，ｍ３２，ｍ４２）に分割し、この情報ビットから３×２ビットの検査用の冗長ビット（ｐ１１，ｐ２１，ｐ３１）（ｐ１２，ｐ２２，ｐ３２）を生成する。
【００５５】
そして、これらの情報ビット（ｍ１１，ｍ２１，ｍ３１，ｍ４１）（ｍ１２，ｍ２２，ｍ３２，ｍ４２）及び冗長ビット（ｐ１１，ｐ２１，ｐ３１）（ｐ１２，ｐ２２，ｐ３２）から２個の符号語（ｍ１１，ｍ２１，ｍ３１，ｍ４１，ｐ１１，ｐ２１，ｐ３１）と、（ｍ１２，ｍ２２，ｍ３２，ｍ４２，ｐ１２，ｐ２２，ｐ３２）とを生成する。
【００５６】
このようにして生成した２個の符号語を情報ビット分散手段６ａに与え、図３に示すように、２×７配列の各行に交錯させて並べる。そして、７個のメモリセルのそれぞれに、ｍ１１とｍ１２、ｍ２１とｍ２２、ｍ３１とｍ３２、ｍ４１とｍ４２、ｐ１１とｐ１２、ｐ２１とｐ２２、ｐ３１とｐ３２の組み合わせで順次記憶する。
【００５７】
即ち、図３において、メモリセル１の上位ビットがｍ１１、下位ビットがｍ１２となり、同様にメモリセル２にｍ２１とｍ２２、メモリセル３にｍ３１とｍ３２、メモリセル４にｍ４１とｍ４２、メモリセル５にｐ１１とｐ１２、メモリセル６にｐ２１とｐ２２、メモリセル７にｐ３１とｐ３２が収められる。
【００５８】
それぞれの符号語は、後で詳細に説明するように、１個の誤りが生じても訂正が可能であり、図３のように、３番目のメモリセルのしきい値電圧が変化して、長さ２のバースト誤りが生じても、各符号語に対しては１個の誤りになるので訂正が可能である。すなわち、７個のメモリセルのうち、１個のメモリセルのしきい値電圧が変化し、例えば"０１"の記憶内容が"１０"に変化するバースト誤りが発生しても、訂正が可能である。
【００５９】
（書き込み方法の第２の実施形態）
以下、本発明の書き込み方法の第２の実施形態を説明する。
【００６０】
本実施形態の書き込み方法で対象とする装置は、各メモリセルのしきい値電圧が、記憶する３ビットの情報（０００、００１、０１０、０１１、１００、１０１、１１０、１１１）に対応して、８値（０、１、２、３、４、５、６、７Ｖ）に設定される８値メモリである。
【００６１】
本装置による書き換えにおいては、まず、記憶内容１２ビットの入力を受ける毎に、これを４×３ビットの情報ビット（ｍ１１，ｍ２１，ｍ３１，ｍ４１）（ｍ１２，ｍ２２，ｍ３２，ｍ４２）（ｍ１３，ｍ２３，ｍ３３，ｍ４３）に分割し、この情報ビットから３×３ビットの冗長ビット（ｐ１１，ｐ２１，ｐ３１）（ｐ１２，ｐ２２，ｐ３２）（ｐ１３，ｐ２３，ｐ３３）を得る。
【００６２】
そして、３個の符号語（ｍ１１，ｍ２１，ｍ３１，ｍ４１，ｐ１１，ｐ２１，ｐ３１）（ｍ１２，ｍ２２，ｍ３２，ｍ４２，ｐ１２，ｐ２２，ｐ３２）（ｍ１３，ｍ２３，ｍ３３，ｍ４３，ｐ１３，ｐ２３，ｐ３３）を、３×７配列の各行に並べ、図４に示すように、７個のメモリセルにそれぞれ、ｍ１１とｍ１２とｍ１３、ｍ２１とｍ２２とｍ２３、ｍ３１とｍ３２とｍ３３、ｍ４１とｍ４２とｍ４３、ｐ１１とｐ１２とｐ１３、ｐ２１とｐ２２とｐ２３、ｐ３１とｐ３２とｐ３３を記憶する。
【００６３】
即ち、図４において、メモリセル１の上位ビットがｍ１１、下位ビットがｍ１２となり、同様にメモリセル２にｍ２１とｍ２２、メモリセル３にｍ３１とｍ３２、メモリセル４にｍ４１とｍ４２、メモリセル５にｍ５１とｍ５２、メモリセル６にｍ６１とｍ６２、メモリセル７にｍ７１とｍ７２が収められる。
【００６４】
それぞれの符号語は１個の誤りが生じても訂正が可能であり、したがって、図４に示すように、例えば３番目のメモリセルに長さ３のバースト誤りが生じても、各符号語に対しては１個の誤りになるので訂正が可能である。すなわち、７個のメモリセルのうち、１個のメモリセルのしきい値電圧が変化して、例えば"１００"の記憶内容が"０１１"に変化するバースト誤りが発生しても、訂正が可能である。
【００６５】
続いて、書き込み方法の第２の実施形態のいくつかの変形例を説明する。
【００６６】
−変形例１−
本実施形態の書き込み方法で対象とする装置は、各メモリセルのしきい値電圧が、記憶する３ビットの情報（０００、００１、０１０、０１１、１００、１０１、１１０、１１１）に対応して、８値（０、１、２、３、４、５、６、７Ｖ）に設定される８値メモリである。この変形例１においては、符号語を構成する各ビットのうち、２個の誤りまでは誤り訂正が可能な所定の線型符号化規則に従った場合について例示する。
【００６７】
本装置による書き換えにおいては、まず、記憶内容が所定ビット、例えばｋビットの入力を受ける毎に、これを３つの（ｋ／３）ビットの各情報ビットに分割する。そして、各情報ビットから冗長ビットを得て、１４ビットの符号語（ｍ１１，ｍ２１，ｍ３１，ｍ４１，ｍ５１，ｍ６１，ｍ７１，ｍ１２，ｍ２２，ｍ３２，ｍ４２，ｍ５２，ｍ６２，ｍ７２）と、７ビットの符号語（ｍ１３，ｍ２３，ｍ３３，ｍ４３，ｍ５３，ｍ６３，ｍ７３）を作成する。即ち、この１４ビット及び７ビットの各符号語のうち、それぞれ所定数のビットが情報ビットであり、残りが誤り訂正用の冗長ビットである。
【００６８】
次に、１４ビットの符号語（ｍ１１，ｍ２１，ｍ３１，ｍ４１，ｍ５１，ｍ６１，ｍ７１，ｍ１２，ｍ２２，ｍ３２，ｍ４２，ｍ５２，ｍ６２，ｍ７２）を７ビットずつの符号列（ｍ１１，ｍ２１，ｍ３１，ｍ４１，ｍ５１，ｍ６１，ｍ７１）（ｍ１２，ｍ２２，ｍ３２，ｍ４２，ｍ５２，ｍ６２，ｍ７２）に分割する。そして、符号列ａ（ｍ１１，ｍ２１，ｍ３１，ｍ４１，ｍ５１，ｍ６１，ｍ７１）及び符号列ｂ（ｍ１２，ｍ２２，ｍ３２，ｍ４２，ｍ５２，ｍ６２，ｍ７２）と１個の符号語ｃ（ｍ１３，ｍ２３，ｍ３３，ｍ４３，ｍ５３，ｍ６３，ｍ７３）とを、３×７配列の各行に並べ、図５に示すように、７個のメモリセルにそれぞれ、ｍ１１とｍ１２とｍ１３、ｍ２１とｍ２２とｍ２３、ｍ３１とｍ３２とｍ３３、ｍ４１とｍ４２とｍ４３、ｍ５１とｍ５２とｍ５３、ｍ６１とｍ６２とｍ６３、ｍ７１とｍ７２とｍ７３を記憶する。
【００６９】
即ち、図５（ａ）において、メモリセル１の上位ビットがｍ１１、中位ビットがｍ１２、下位ビットがｍ１３となり、同様にメモリセル２にｍ２１とｍ２２とｍ２３、メモリセル３にｍ３１とｍ３２とｍ３３、メモリセル４にｍ４１とｍ４２とｍ４３、メモリセル５にｍ５１とｍ５２とｍ５３、メモリセル６にｍ６１とｍ６２とｍ６３、メモリセル７にｍ７１とｍ７２とｍ７３が収められる。
【００７０】
符号列ａ，ｂ及び符号語ｃは１個の誤りが生じても訂正が可能であり、したがって、図５（ａ）に示すように、例えば３番目のメモリセルに長さ３のバースト誤りが生じても、各符号語ａ，ｂ及び符号列ｃに対してはそれぞれ１個の誤りとなり、このとき符号列ａ，ｂから構成される符号語に対しては２個の誤りとなるので訂正が可能である。すなわち、７個のメモリセルのうち、１個のメモリセルのしきい値電圧が変化して、例えば"１００"の記憶内容が"０１１"に変化するバースト誤りが発生しても、訂正が可能である。
【００７１】
−変形例２−
本実施形態の書き込み方法で対象とする装置は、各メモリセルのしきい値電圧が、記憶する３ビットの情報（０００、００１、０１０、０１１、１００、１０１、１１０、１１１）に対応して、８値（０、１、２、３、４、５、６、７Ｖ）に設定される８値メモリである。この変形例２においては、符号語を構成する各ビットのうち、１個の誤りまでは誤り訂正が可能であり、２個の誤りまでは誤り検出が可能な符号化規則に従った場合について例示する。
【００７２】
本装置による書き換えにおいては、まず、記憶内容１２ビットの入力を受ける毎に、これを４×３ビットの情報ビット（ｍ１１，ｍ２１，ｍ３１，ｍ４１）（ｍ１２，ｍ２２，ｍ３２，ｍ４２）（ｍ１３，ｍ２３，ｍ３３，ｍ４３）に分割し、ハミング符号化によりこの情報ビットから３×３ビットの冗長ビット（ｐ１１，ｐ２１，ｐ３１）（ｐ１２，ｐ２２，ｐ３２）（ｐ１３，ｐ２３，ｐ３３）を得る。
【００７３】
続いて、３個の符号列（ｍ１１，ｍ２１，ｍ３１，ｍ４１，ｐ１１，ｐ２１，ｐ３１）（ｍ１２，ｍ２２，ｍ３２，ｍ４２，ｐ１２，ｐ２２，ｐ３２）（ｍ１３，ｍ２３，ｍ３３，ｍ４３，ｐ１３，ｐ２３，ｐ３３）のそれぞれについて、各７ビット全てのＥＸ−ＯＲを算出し、その結果として得られた各冗長ビットｑ１，ｑ２，ｑ３を各符号列に付加して、３個の符号語（ｍ１１，ｍ２１，ｍ３１，ｍ４１，ｐ１１，ｐ２１，ｐ３１，ｑ１）（ｍ１２，ｍ２２，ｍ３２，ｍ４２，ｐ１２，ｐ２２，ｐ３２，ｑ２）（ｍ１３，ｍ２３，ｍ３３，ｍ４３，ｐ１３，ｐ２３，ｐ３３，ｑ３）を作成する。
【００７４】
そして、これら３個の符号語を３×８配列の各行に並べ、図５（ｂ）に示すように、８個のメモリセルにそれぞれ、ｍ１１とｍ１２とｍ１３、ｍ２１とｍ２２とｍ２３、ｍ３１とｍ３２とｍ３３、ｍ４１とｍ４２とｍ４３、ｐ１１とｐ１２とｐ１３、ｐ２１とｐ２２とｐ２３、ｐ３１とｐ３２とｐ３３、ｑ１とｑ２とｑ３を記憶する。
【００７５】
即ち、図５（ｂ）において、メモリセル１の上位ビットがｍ１１、中位ビットがｍ１２、下位ビットがｍ１３となり、同様にメモリセル２にｍ２１とｍ２２とｍ２３、メモリセル３にｍ３１とｍ３２とｍ３３、メモリセル４にｍ４１とｍ４２とｍ４３、メモリセル５にｐ１１とｐ１２とｐ１３、メモリセル６にｐ２１とｐ２２とｐ２３、メモリセル７にｐ３１とｐ３２とｐ３３、メモリセル８にｑ１とｑ２とｑ３が収められる。
【００７６】
それぞれの符号語は１個の誤りが生じても訂正が可能であり、したがって、図５（ｂ）に示すように、例えば３番目のメモリセルに長さ３のバースト誤りが生じても、各符号語に対しては１個の誤りになるので訂正が可能である。すなわち、８個のメモリセルのうち、１個のメモリセルのしきい値電圧が変化して、例えば"１００"の記憶内容が"０１１"に変化するバースト誤りが発生しても、訂正が可能である。更に、極めて稀なことであるとは思われるが、例えばもう１つのメモリセルに長さ１〜３のバースト誤りが生じた場合、少なくとも１つ符号語に対しては２個の誤りとなるが、このとき当該２個の誤りを検出することができ、そのうち１つについては訂正が可能である。
【００７７】
（書き込み方法の第３の実施形態）
以下、本発明の書き込み方法の第３の実施形態を説明する。
【００７８】
本実施形態の書き込み方法で対象とする装置は、各メモリセルのしきい値電圧が、記憶する４ビットの情報（００００、０００１、００１０、００１１、０１００、０１０１、０１１０、０１１１、１０００、１００１、１０１０、１０１１、１１００、１１０１、１１１０、１１１１）に対応して、１６値、例えば（０、１、１．２５、１．５、１．７５、２、２．２５、２．５、２．７５、３、３．２５、３．５、３．７５、４、４．２５、４．５Ｖ）に設定される１６値メモリである。
【００７９】
本装置による書き換えにおいては、まず、記憶内容１６ビットの入力を受ける毎に、これを４×４ビットの情報ビット（ｍ１１，ｍ２１，ｍ３１，ｍ４１）（ｍ１２，ｍ２２，ｍ３２，ｍ４２）（ｍ１３，ｍ２３，ｍ３３，ｍ４３）（ｍ１４，ｍ２４，ｍ３４，ｍ４４）に分割し、この情報ビットから３×４ビットの冗長ビット（ｐ１１，ｐ２１，ｐ３１）（ｐ１２，ｐ２２，ｐ３２）（ｐ１３，ｐ２３，ｐ３３）（ｐ１４，ｐ２４，ｐ３４）を得る。
【００８０】
そして、４個の符号語（ｍ１１，ｍ２１，ｍ３１，ｍ４１，ｐ１１，ｐ２１，ｐ３１）（ｍ１２，ｍ２２，ｍ３２，ｍ４２，ｐ１２，ｐ２２，ｐ３２）（ｍ１３，ｍ２３，ｍ３３，ｍ４３，ｐ１３，ｐ２３，ｐ３３）（ｍ１４，ｍ２４，ｍ３４，ｍ４４，ｐ１４，ｐ２４，ｐ３４）を、４×７配列の各行に並べ、図６に示すように、７個のメモリセルにそれぞれ、ｍ１１とｍ１２とｍ１３とｍ１４、ｍ２１とｍ２２とｍ２３とｍ２４、ｍ３１とｍ３２とｍ３３とｍ３４、ｍ４１とｍ４２とｍ４３とｍ４４、ｐ１１とｐ１２とｐ１３とｐ１４、ｐ２１とｐ２２とｐ２３とｐ２４、ｐ３１とｐ３２とｐ３３とｐ３４を記憶する。
【００８１】
即ち、図６において、メモリセル１の１位ビットがｍ１１、２位ビットがｍ１２、３位ビットがｍ１３、４位ビットがｍ１４となり、同様にメモリセル２にｍ２１とｍ２２とｍ２３とｍ２４、メモリセル３にｍ３１とｍ３２とｍ３３とｍ３４、メモリセル４にｍ４１とｍ４２とｍ４３とｍ４４、メモリセル５にｐ１１とｐ１２とｐ１３とｐ１４、メモリセル６にｐ２１とｐ２２とｐ２３とｐ２４、メモリセル７にｐ３１とｐ３２とｐ３３とｐ３４が収められる。
【００８２】
各符号列はそれぞれ１個の誤りが生じても訂正が可能であり、したがって、図６に示すように、例えば３番目のメモリセルに長さ４のバースト誤りが生じても、各符号列に対しては１個の誤りになるので訂正が可能である。すなわち、７個のメモリセルのうち、１個のメモリセルのしきい値電圧が変化して、例えば"１０００"の記憶内容が"０１１１"に変化するバースト誤りが発生しても、訂正が可能である。
【００８３】
続いて、書き込み方法の第３の実施形態のいくつかの変形例を説明する。
【００８４】
−変形例１−
本実施形態の書き込み方法で対象とする装置は、各メモリセルのしきい値電圧が、記憶する４ビットの情報（００００、０００１、００１０、００１１、０１００、０１０１、０１１０、０１１１、１０００、１００１、１０１０、１０１１、１１００、１１０１、１１１０、１１１１）に対応して、１６値、例えば（０、１、１．２５、１．５、１．７５、２、２．２５、２．５、２．７５、３、３．２５、３．５、３．７５、４、４．２５、４．５Ｖ）に設定される１６値メモリである。この変形例においては、符号語を構成する各ビットのうち、２個の誤りまでは誤り訂正が可能な所定の線型符号化規則に従った場合について例示する。
【００８５】
本装置による書き換えにおいては、まず、記憶内容が所定ビット、例えばｐビットの入力を受ける毎に、これを４つの（ｐ／３）ビットの各情報ビットに分割する。そして、各情報ビットから冗長ビットを得て、２つの１４ビットの符号語（ｍ１１，ｍ２１，ｍ３１，ｍ４１，ｍ５１，ｍ６１，ｍ７１，ｍ１２，ｍ２２，ｍ３２，ｍ４２，ｍ５２，ｍ６２，ｍ７２）（ｍ１３，ｍ２３，ｍ３３，ｍ４３，ｍ５３，ｍ６３，ｍ７３，ｍ１４，ｍ２４，ｍ３４，ｍ４４，ｍ５４，ｍ６４，ｍ７４）を作成する。即ち、これら１４ビットの各符号語のうち、それぞれ所定数のビットが情報ビットであり、残りが誤り訂正用の冗長ビットである。
【００８６】
次に、１４ビットの各符号語（ｍ１１，ｍ２１，ｍ３１，ｍ４１，ｍ５１，ｍ６１，ｍ７１，ｍ１２，ｍ２２，ｍ３２，ｍ４２，ｍ５２，ｍ６２，ｍ７２）（ｍ１３，ｍ２３，ｍ３３，ｍ４３，ｍ５３，ｍ６３，ｍ７３，ｍ１４，ｍ２４，ｍ３４，ｍ４４，ｍ５４，ｍ６４，ｍ７４）をそれぞれ７ビットずつの符号列（ｍ１１，ｍ２１，ｍ３１，ｍ４１，ｍ５１，ｍ６１，ｍ７１）（ｍ１２，ｍ２２，ｍ３２，ｍ４２，ｍ５２，ｍ６２，ｍ７２）及び（ｍ１３，ｍ２３，ｍ３３，ｍ４３，ｍ５３，ｍ６３，ｍ７３）（ｍ１４，ｍ２４，ｍ３４，ｍ４４，ｍ５４，ｍ６４，ｍ７４）に分割する。そして、各符号列を、４×７配列の各行に並べ、図７（ａ）に示すように、７個のメモリセルにそれぞれ、ｍ１１とｍ１２とｍ１３とｍ１４、ｍ２１とｍ２２とｍ２３とｍ２４、ｍ３１とｍ３２とｍ３３とｍ３４、ｍ４１とｍ４２とｍ４３とｍ４４、ｍ５１とｍ５２とｍ５３とｍ５４、ｍ６１とｍ６２とｍ６３とｍ６４、ｍ７１とｍ７２とｍ７３とｍ７４を記憶する。
【００８７】
即ち、図７（ａ）において、メモリセル１の１位ビットがｍ１１、２位ビットがｍ１２、３位ビットがｍ１３、４位ビットがｍ１４となり、同様にメモリセル２にｍ２１とｍ２２とｍ２３とｍ２４、メモリセル３にｍ３１とｍ３２とｍ３３とｍ３４、メモリセル４にｍ４１とｍ４２とｍ４３とｍ４４、メモリセル５にｍ５１とｍ５２とｍ５３とｍ５４、メモリセル６にｍ６１とｍ６２とｍ６３とｍ６４、メモリセル７にｍ７１とｍ７２とｍ７３とｍ７４が収められる。
【００８８】
それぞれの符号列は１個の誤りが生じても訂正が可能であり、したがって、図７に示すように、例えば３番目のメモリセルに長さ４のバースト誤りが生じても、各符号列に対しては１個の誤りとなり、このとき２つの符号列から構成される各符号語に対しては２個の誤りとなるので訂正が可能である。すなわち、７個のメモリセルのうち、１個のメモリセルのしきい値電圧が変化して、例えば"１０００"の記憶内容が"０１１１"に変化するバースト誤りが発生しても、訂正が可能である。
【００８９】
−変形例２−
本実施形態の書き込み方法で対象とする装置は、各メモリセルのしきい値電圧が、記憶する４ビットの情報（００００、０００１、００１０、００１１、０１００、０１０１、０１１０、０１１１、１０００、１００１、１０１０、１０１１、１１００、１１０１、１１１０、１１１１）に対応して、１６値、例えば（０、１、１．２５、１．５、１．７５、２、２．２５、２．５、２．７５、３、３．２５、３．５、３．７５、４、４．２５、４．５Ｖ）に設定される１６値メモリである。この変形例においては、符号語を構成する各ビットのうち、１個の誤りまでは誤り訂正が可能であり、２個の誤りまでは誤り検出が可能な符号化規則に従った場合について例示する。
【００９０】
本装置による書き換えにおいては、まず、記憶内容１６ビットの入力を受ける毎に、これを４×４ビットの情報ビット（ｍ１１，ｍ２１，ｍ３１，ｍ４１）（ｍ１２，ｍ２２，ｍ３２，ｍ４２）（ｍ１３，ｍ２３，ｍ３３，ｍ４３）（ｍ１４，ｍ２４，ｍ３４，ｍ４４）に分割し、ハミング符号化によりこの情報ビットから３×４ビットの冗長ビット（ｐ１１，ｐ２１，ｐ３１）（ｐ１２，ｐ２２，ｐ３２）（ｐ１３，ｐ２３，ｐ３３）（ｐ１４，ｐ２４，ｐ３４）を得る。
【００９１】
続いて、４個の符号列（ｍ１１，ｍ２１，ｍ３１，ｍ４１，ｐ１１，ｐ２１，ｐ３１）（ｍ１２，ｍ２２，ｍ３２，ｍ４２，ｐ１２，ｐ２２，ｐ３２）（ｍ１３，ｍ２３，ｍ３３，ｍ４３，ｐ１３，ｐ２３，ｐ３３）（ｍ１４，ｍ２４，ｍ３４，ｍ４４，ｐ１４，ｐ２４，ｐ３４）のそれぞれについて、各７ビット全てのＥＸ−ＯＲを算出し、その結果として得られた各冗長ビットｑ１，ｑ２，ｑ３，ｑ４を各符号列に付加して、４個の符号語（ｍ１１，ｍ２１，ｍ３１，ｍ４１，ｐ１１，ｐ２１，ｐ３１，ｑ１）（ｍ１２，ｍ２２，ｍ３２，ｍ４２，ｐ１２，ｐ２２，ｐ３２，ｑ２）（ｍ１３，ｍ２３，ｍ３３，ｍ４３，ｐ１３，ｐ２３，ｐ３３，ｑ３）（ｍ１４，ｍ２４，ｍ３４，ｍ４４，ｐ１４，ｐ２４，ｐ３４，ｑ４）を作成する。
【００９２】
そして、これら４個の符号語を４×８配列の各行に並べ、図７（ｂ）に示すように、８個のメモリセルにそれぞれ、ｍ１１とｍ１２とｍ１３とｍ１４、ｍ２１とｍ２２とｍ２３とｍ２４、ｍ３１とｍ３２とｍ３３とｍ３４、ｍ４１とｍ４２とｍ４３とｍ４４、ｐ１１とｐ１２とｐ１３とｐ１４、ｐ２１とｐ２２とｐ２３とｐ２４、ｐ３１とｐ３２とｐ３３とｐ３４、ｑ１とｑ２とｑ３とｑ４を記憶する。
【００９３】
即ち、図７（ｂ）において、メモリセル１の１位ビットがｍ１１、２位ビットがｍ１２、３位ビットがｍ１３、４位ビットがｍ１４となり、同様にメモリセル２にｍ２１とｍ２２とｍ１３とｍ１４、メモリセル３にｍ３１とｍ３２とｍ３３とｍ３４、メモリセル４にｍ４１とｍ４２とｍ４３とｍ４４、メモリセル５にｍ５１とｍ５２とｐ１３とｐ１４、メモリセル６にｍ６１とｍ６２とｐ２３とｐ２４、メモリセル７にｍ７１とｍ７２とｐ３３とｐ３４、メモリセル８にｑ１とｑ２とｑ３とｑ４が収められる。
【００９４】
それぞれの符号語は１個の誤りが生じても訂正が可能であり、したがって、図７（ｂ）に示すように、例えば３番目のメモリセルに長さ４のバースト誤りが生じても、各符号語に対しては１個の誤りになるので訂正が可能である。すなわち、８個のメモリセルのうち、１個のメモリセルのしきい値電圧が変化して、例えば"１０００"の記憶内容が"０１１１"に変化するバースト誤りが発生しても、訂正が可能である。更に、極めて稀なことであるとは思われるが、例えばもう１つのメモリセルに長さ１〜４のバースト誤りが生じた場合、少なくとも１つ符号語に対しては２個の誤りとなるが、このとき当該２個の誤りを検出することができ、そのうち１つについては訂正が可能である。
【００９５】
なお、書き込み方法の第２及び第３の実施形態の各変形例に示した符号化方法以外にも、有用であると考えられる手法がある。例えば、先ず６４個の元データに"０"のデータを５６ビット付加して、合計１２０ビット長の情報ビットを得る。続いて、１２０ビットの情報ビットから１２７ビット長のハミング符号を作成する。続いて、１２７ビット全てのＥＸ−ＯＲを算出し、その結果を追加１２８ビット長の符号を得る。しかる後、先に追加した５６ビットの"０"を除去して、７２ビット長の符号語を得る。この符号化方法は、符号語を構成する各ビットのうち、１個の誤りまでは誤り訂正を行い、２個の誤りまでは誤り検出を可能としており、主記憶装置用のＳＥＣ／ＤＥＤ符号（single-error-correcting/double-error-detecting code ）として、頻繁に利用されている。
【００９６】
次に、１つの符号語について１個の誤りが生じても訂正が可能な具体例を説明する。下記の表１は、４情報ビットに３冗長ビットを付加したハミング符号を示している。
【００９７】
【表１】
2005235391.tif 000003
【００９８】
この符号で、１、２、４桁目は冗長ビットであり、（１、３、５、７）、（２、３、６、７）及び（４、５、６、７）の各桁の組で偶数パリティになるように冗長ビットが決められている。例えば、１０進数「１２」に対応する符号"０１１１１００"を書き込んでおいたところ、誤りが発生して"０１０１１００"と読み出された場合、表１に示したように、誤りがある桁を２進数（この場合は０１１）で得ることができるので、誤りが発生しても容易に、かつ確実に訂正することができる。
【００９９】
なお、この符号は、情報ビット数がさらに多い場合にまで拡張することができ、ｎ個の情報ビットに対して必要な冗長ビット数ｍは次式で表される。
２m ＝ｎ＋ｍ＋１          …（１式）
【０１００】
以上の説明では、本発明を浮遊ゲート型のメモリセルを有する不揮発性記憶装置に実施した場合を例に挙げて説明をしたが、多値記憶を行わせるメモリセルとしては、浮遊ゲート型のものに限らず、ＭＮＯＳ型のものでも良い。また、本発明は、ＥＥＰＲＯＭ以外にも、ＥＰＲＯＭやＰＲＯＭ、更には、例えば、電界効果トランジスタのチャネル領域にイオン注入する不純物の量を制御することによりしきい値を変化させて記憶状態を得るマスクＲＯＭにも適用することが可能である。また、４値と８値の場合を例に挙げたが、決してこの値に限定されるものでもない。
【０１０１】
また、誤り訂正符号を得る方法として交錯法を例に説明をしたが、メモリセルに記憶する情報量に応じたバースト長の誤りを訂正できる誤り訂正符号であれば、交錯法以外の方法、例えば、巡回符号または短縮化巡回符号でもよい。
【０１０２】
次に、本発明の読み出し方法の好適な実施形態について、図面を参照して詳細に説明する。
【０１０３】
（読み出し方法の第１の実施形態）
先ず、本発明の読み出し方法の第１の実施形態について説明する。この第１の実施形態においては、半導体記憶装置として多値記憶ＥＥＰＲＯＭ及びその読み出し方法を例示する。
【０１０４】
読み出し動作時には、まず、外部から入力Ｉ／Ｆ７を介して論理アドレス信号を変換回路９に入力し、論理アドレス信号から実在のメモリセルに対応する物理アドレス信号を算出する。続いて、この物理アドレス信号を信号制御回路６に入力する。信号制御回路６は、入力された物理アドレス信号に応じて、選択すべきワード線１９とビット線１５を判断し、デコーダ２及びマルチプレクサ４にその結果を命令する。この命令に応じて、デコーダ２はワード線１９を、マルチプレクサ４はビット線１５をそれぞれ選択する。
【０１０５】
また、信号制御回路６は、選択されたメモリセルの制御ゲート１９に印加すべき電圧の大きさを判断し、電圧制御回路３にその結果を命令する。電圧制御回路３は、デコーダ２を介して、選択されたワード線１９に所定の電圧を印加する。一方、選択されたビット線１５には、マルチプレクサ４により所定の電圧が印加される。そして、選択メモリセルのしきい値の状態によって選択ビット線１５に電流が流れるか否かが決まる。
【０１０６】
この選択ビット線１５の電流の状態は、マルチプレクサ４からセンスアンプ５に伝達される。センスアンプ５は、選択ビット線１５の電流の有無を検出し、その結果を信号制御回路６に伝達する。信号制御回路６は、センスアンプ５での検出結果に基づき、選択メモリセルの制御ゲート１９に次に印加する電圧を決定して、その結果を電圧制御回路３に命令する。また、信号制御回路６は、以上の手順を繰り返して最終的に得られた選択メモリセルの記憶データを出力Ｉ／Ｆ８を介して出力する。
【０１０７】
図８に、第１の実施形態による読み出し方法のフローチャートを示す。この第１の実施形態では、８メガビットの記憶容量をもつ４値の多値記憶ＥＥＰＲＯＭについて例示する。この４値の多値記憶ＥＥＰＲＯＭは、１６進数表記で〔00 0000 〕〜〔7F FFFF 〕の論理アドレス空間と、〔00 0000 〕〜〔3F FFFF 〕の物理アドレス空間とを有している。また、各メモリセルが、２ビット（＝４値）のデータ（００，０１，１０，１１）を記憶しており、これらのデータに対応して、各メモリセルに（０Ｖ，２Ｖ，４Ｖ，６Ｖ）のしきい値電圧が設定されている。
【０１０８】
そして、所定のメモリセルの物理アドレスがＡｐであるとき、このメモリセルは、２ビットの各成分のうち、上位ビットに論理アドレスＡｐのデータを、下位ビットに論理アドレス（Ａｐ＋〔40 0000 〕）のデータを記憶するようになっている。
【０１０９】
換言すれば、データの書き換え動作時において、〔00 0000 〕〜〔3F FFFF 〕の論理アドレスＡｌ及び記憶させるデータ（０又は１）が指定されると、物理アドレスＡｌに存在するメモリセルの上位ビットが指定されたデータに書き換えられる。
【０１１０】
一方、データの書き換え動作時において、〔40 0000 〕〜〔7F FFFF 〕の論理アドレスＡｌ及び記憶させるデータ（０又は１）が指定されると、物理アドレス（Ａｌ−〔40 0000 〕）に存在するメモリセルの下位ビットが指定されたデータに書き換えられる。
【０１１１】
先ず、外部から読み出し命令を受信し（ステップＳ１）、論理アドレス信号が入力Ｉ／Ｆ７に入力されると（ステップＳ２）、信号制御回路６が、この論理アドレス信号が〔00 0000 〕〜〔3F FFFF 〕であるか否かを判定する（ステップＳ３）。
【０１１２】
ここで、論理アドレス信号が〔00 0000 〕〜〔3F FFFF 〕である場合には、論理アドレスが物理アドレスと一致し、読み出しが要求されているデータは２ビットのうちの上位ビットであることが分かる（ステップＳ４）。この場合、選択メモリセルの制御ゲート１９に３Ｖの判定電圧を印加し、ドレイン１２−ソース１３間に電流が流れるか否かを、選択ビット線１５及びセンスアンプ５を通じて検出する（ステップＳ５）。
【０１１３】
そして、ステップＳ５において、選択メモリセルのドレイン１２−ソース１３間に電流が流れた場合、すなわち、選択メモリセルが導通した場合には、このメモリセルのしきい値電圧は０Ｖと２Ｖのいずれかであるので、このメモリセルの記憶状態の成分のうち、上位ビットが"０"であると判定され、このデータを即座に出力Ｉ／Ｆ８から出力する（ステップＳ６）。
【０１１４】
一方、ステップＳ５において、選択メモリセルのドレイン１２−ソース１３間に電流が流れない場合、このメモリセルのしきい値電圧は４Ｖと６Ｖのいずれかであるので、このメモリセルの記憶状態の成分のうち、上位ビットが"１"であると判定され、このデータを即座に出力Ｉ／Ｆ８から出力する（ステップＳ７）。
【０１１５】
また、ステップＳ３において、入力Ｉ／Ｆ７に入力した論理アドレス信号が〔40 0000 〕〜〔7F FFFF 〕である場合には、論理アドレスが物理アドレスと一致せず、物理アドレス＝（論理アドレス−〔40 0000 〕）となり、読み出しが要求されているデータは２ビットのうちの下位ビットであることが分かる（ステップＳ８）。この場合、選択メモリセルの制御ゲート１９に３Ｖの判定電圧を印加し、ドレイン１２−ソース１３間に電流が流れるか否かを、選択ビット線１５及びセンスアンプ５を通じて検出する（ステップＳ９）。
【０１１６】
ステップＳ９において、選択メモリセルのドレイン１２−ソース１３間に電流が流れた場合には、そのメモリセルのしきい値電圧は０Ｖと２Ｖのいずれかであるので、続いて信号制御回路６は、選択メモリセルの制御ゲート１９に１Ｖの判定電圧を印加するように電圧制御回路３に命令する（ステップＳ１０）。
【０１１７】
そして、ステップＳ１０において、選択メモリセルのドレイン１２−ソース１３間に電流が流れた場合には、そのメモリセルのしきい値電圧は０Ｖであり、このメモリセルの記憶状態の成分のうち、下位ビットが"０"であると判定され、このデータを出力Ｉ／Ｆ８から出力する（ステップＳ１１）。
【０１１８】
一方、ステップＳ１０において、選択メモリセルのドレイン１２−ソース１３間に電流が流れなかった場合には、そのメモリセルのしきい値電圧は２Ｖであり、このメモリセルの記憶状態の成分のうち、下位ビットが"１"であると判定され、このデータを出力Ｉ／Ｆ８から出力する（ステップＳ１２）。
【０１１９】
また、ステップＳ９において、選択メモリセルのドレイン１２−ソース１３間に電流が流れなかった場合には、そのメモリセルのしきい値電圧は４Ｖか６Ｖのいずれかであるので、続いて信号制御回路６は、選択メモリセルの制御ゲート１９に５Ｖの判定電圧を印加するように電圧制御回路３に命令する（ステップＳ１３）。
【０１２０】
そして、ステップＳ１３において、選択メモリセルのドレイン１２−ソース１３間に電流が流れた場合には、そのメモリセルのしきい値電圧は４Ｖであり、このメモリセルの記憶状態の成分のうち、下位ビットが"０"であると判定され、このデータを出力Ｉ／Ｆ８から出力する（ステップＳ１２）。
【０１２１】
一方、ステップＳ１３において、選択メモリセルのドレイン１２−ソース１３間に電流が流れなかった場合には、そのメモリセルのしきい値電圧は６Ｖであり、このメモリセルの記憶状態の成分のうち、下位ビットが"１"であると判定され、このデータを出力Ｉ／Ｆ８から出力する（ステップＳ１３）。
【０１２２】
ここで、図１及び図９を参照して、前記読み出し方法における１、３又は５Ｖの判定電圧を選択メモリセルの制御ゲート１９に印加してドレイン１２−ソース１３間に電流が流れるか否かを判定する方法について説明する。
【０１２３】
例えば、図８のステップ４で、信号制御回路６は変換回路９からの物理アドレスを受けて読み出しが要求されているデータが上位ビットであることが分かると、選択されたメモリセルの制御ゲート１９に印加すべき電圧が３Ｖであることを判定し、電圧制御回路３にその結果を伝える。電圧制御回路３は、図９に示すように、１Ｖの参照電圧発生回路３ａ、３Ｖの参照電圧発生回路３ｂ、５Ｖの参照電圧発生回路３ｃを備えており、この例では参照電圧発生回路３ｂが３Ｖの電圧を発生してスイッチ回路５５に出力する。
【０１２４】
更に、信号制御回路６は、入力された物理アドレス信号に応じて選択すべきワード線を判断し、デコーダ２にその結果を伝える。これに応じてデコーダ２はデコード信号をスイッチ回路５５に出力する。
【０１２５】
３Ｖの参照電圧とデコード信号を受けたスイッチ回路５５は、選択すべきワード線に３Ｖの参照電圧を与える。セルアレイ１の選択すべきメモリセル１ａのドレイン１２−ソース１３間に電流が流れるか否かの判定は、センスアンプ５にて行われる。センスアンプ５は、メモリセル１ａからの電圧と参照電圧発生回路５６からの所定電圧とを比較して、信号制御回路６にその結果を伝える。
【０１２６】
センスアンプ５の検出結果に基づき、信号制御回路６はメモリセル１ａに続いて印加する電圧１Ｖ又は５Ｖを決定して電圧制御回路３に伝える。そして、信号制御回路６は、最終的に得られたメモリセル１ａの記憶データを出力Ｉ／Ｆ８を介して出力する。
【０１２７】
上述のように、この第１の実施形態においては、論理アドレス〔00 0000 〕〜〔7F FFFF 〕をアクセス速度の速いアドレス空間Ａ1 （論理アドレス〔00 0000 〕〜〔3F FFFF 〕）とアクセス速度の比較的遅いアドレス空間Ａ2 （論理アドレス〔40 0000 〕〜〔7F FFFF 〕）とに階層化し、論理アドレス〔00 0000 〕〜〔7F FFFF 〕のうち、物理アドレス〔00 0000 〕〜〔3F FFFF 〕が張るアドレス空間と１対１対応する部分空間（論理アドレス〔00 0000 〕〜〔3F FFFF 〕）をアクセス速度の速いアドレス空間Ａ1 とする。そして、メモリセルの記憶状態の特定の成分、ここでは上位ビットにアドレス空間Ａ1 のデータを格納する。
【０１２８】
入力された論理アドレスが前記部分空間に含まれるもの（論理アドレス〔00 0000 〕〜〔3F FFFF 〕）である場合には、この論理アドレスは上位ビットのデータを指定しており、３Ｖの判定電圧による１回の判定により即座に上位ビットのデータが分かり、出力されることになる。この場合、すべての判定電圧により各しきい値電圧を調べる場合に比して、読み出し速度が約２倍となる。従って、この上位ビットにアクセス頻度の最も高いデータを格納し、下位ビットに比較的アクセス頻度の低いデータを格納することにより、操作者（プログラマ）にはあたかも単一の高速記憶装置が存在しているかの如く見え、極めて効率良く多値記憶ＥＥＰＲＯＭの読み出しを行うことが可能となる。
【０１２９】
なお、多値記憶ＥＥＰＲＯＭに格納することが好適なデータやプログラムには、アクセス頻度の高いものとしては例えば演算装置のＢＩＯＳが、アクセス頻度の比較的低いものとしては例えば文書ファイルがある。この場合、前者をアクセス速度の速い上位ビットに、後者をアクセス速度の比較的遅い下位ビットに格納すればよい。
【０１３０】
（読み出し方法の第２の実施形態）
次に、本発明の読み出し方法の第２の実施形態について説明する。この実施形態においては、第１の実施形態と同様に、半導体記憶装置として多値記憶ＥＥＰＲＯＭ及びその読み出し方法を例示する。多値記憶ＥＥＰＲＯＭの主要構成については第１の実施形態のそれと同様であるが、多値記憶ＥＥＰＲＯＭが１２メガビットの記憶容量をもつ８値のものである点で第１の実施形態と相違する。なお、第１の実施形態の多値記憶ＥＥＰＲＯＭと同様の構成要素等については同符号を記して説明を省略する。
【０１３１】
図１０に、第２の実施形態による読み出し方法のフローチャートを示す。この第２の実施形態では、１２メガビットの記憶容量をもつ８値の多値記憶ＥＥＰＲＯＭについて例示する。この８値の多値記憶ＥＥＰＲＯＭは、１６進数表記で〔00 0000 〕〜〔BF FFFF 〕の論理アドレス空間と、〔00 0000 〕〜〔3F FFFF 〕の物理アドレス空間とを有している。また、各メモリセルが、３ビット（＝８値）のデータ（０００，００１，０１０，０１１，１００，１０１，１１０，１１１）を記憶しており、これらのデータに対応して、各メモリセルに（０Ｖ，１Ｖ，２Ｖ，３Ｖ，４Ｖ，５Ｖ，６Ｖ，７Ｖ）のしきい値電圧が設定されている。
【０１３２】
そして、所定のメモリセルの物理アドレスがＡｐであるとき、このメモリセルは、３ビットの各成分のうち、最上位ビットに論理アドレスＡｐのデータを記憶し、中位ビットに論理アドレス（Ａｐ＋〔40 0000 〕）のデータを記憶し、最下位ビットに論理アドレス（Ａｐ＋〔80 0000 〕）のデータを記憶するようになっている。
【０１３３】
換言すれば、データの書き換え動作において、〔00 0000 〕〜〔3F FFFF 〕の論理アドレスＡｌ及び記憶させるデータ（０又は１）が指定されると、物理アドレスＡｌに存在するメモリセルの最上位ビットが指定されたデータに書き換えられる。
【０１３４】
また、データの書き換え動作において、〔40 0000 〕〜〔7F FFFF 〕の論理アドレスＡｌ及び記憶させるデータ（０又は１）が指定されると、物理アドレス（Ａｌ−〔40 0000 〕）に存在するメモリセルの中位ビットが指定されたデータに書き換えられる。
【０１３５】
さらに、データの書き換え動作において、〔80 0000 〕〜〔BF FFFF 〕の論理アドレスＡｌ及び記憶させるデータ（０又は１）が指定されると、物理アドレス（Ａｌ−〔80 0000 〕）に存在するメモリセルの最下位ビットが指定されたデータに書き換えられる。
【０１３６】
先ず、外部から読み出し命令を受信し（ステップＳ２１）、論理アドレス信号が入力Ｉ／Ｆ７に入力されると（ステップＳ２２）、信号制御回路６が、この論理アドレス信号が〔00 0000 〕〜〔3F FFFF 〕であるか否かを判定する（ステップＳ２３）。
【０１３７】
ここで、論理アドレス信号が〔00 0000 〕〜〔3F FFFF 〕である場合には、論理アドレスが物理アドレスと一致し、読み出しが要求されているデータは３ビットのうちの最上位ビットであることが分かる（ステップＳ２４）。この場合、選択メモリセルの制御ゲート１９に３．５Ｖの判定電圧を印加し、ドレイン１２−ソース１３間に電流が流れるか否かを、選択ビット線１５及びセンスアンプ５を通じて検出する（ステップＳ２５）。
【０１３８】
そして、ステップＳ２５において、選択メモリセルのドレイン１２−ソース１３間に電流が流れた場合、すなわち、選択メモリセルが導通した場合には、このメモリセルのしきい値電圧は０Ｖ，１Ｖ，２Ｖ，３Ｖのいずれかであり、これらのしきい値電圧で指定される３ビットのデータはそれぞれ、"０００"，"００１"，"０１０"，"０１１"であるため、このメモリセルの記憶状態の成分のうち、最上位ビットが"０"であることが判定され、このデータを即座に出力Ｉ／Ｆ８から出力する（ステップＳ２６）。
【０１３９】
一方、ステップＳ２５において、選択メモリセルのドレイン１２−ソース１３間に電流が流れない場合、このメモリセルのしきい値電圧は４Ｖ，５Ｖ，６Ｖ，７Ｖのいずれかであり、これらのしきい値電圧で指定される３ビットのデータはそれぞれ、"１００"，"１０１"，"１１０"，"１１１"であるため、このメモリセルの記憶状態の成分のうち、最上位ビットが"１"であることが判定され、このデータを即座に出力Ｉ／Ｆ８から出力する（ステップＳ２７）。
【０１４０】
また、ステップＳ２３において、入力Ｉ／Ｆ７に入力した論理アドレス信号が〔00 0000 〕〜〔3F FFFF 〕でない場合、更に入力した論理アドレス信号が〔40 0000 〕〜〔7F FFFF 〕であるか否かを判定する（ステップＳ２８）。
【０１４１】
ここで、論理アドレス信号が〔40 0000 〕〜〔7F FFFF 〕である場合には、論理アドレスが物理アドレスと一致せず、物理アドレス＝（論理アドレス−〔40 0000 〕）となり、読み出しが要求されているデータは３ビットのうちの中位ビットであることが分かる（ステップＳ２９）。この場合、選択メモリセルの制御ゲート１９に３．５Ｖの判定電圧を印加し、ドレイン１２−ソース１３間に電流が流れるか否かを、選択ビット線１５及びセンスアンプ５を通じて検出する（ステップＳ３０）。
【０１４２】
ステップＳ３０において、選択メモリセルのドレイン１２−ソース１３間に電流が流れた場合には、そのメモリセルのしきい値は０Ｖ，１Ｖ，２Ｖ，３Ｖのいずれかである。ここで、０Ｖ，１Ｖのしきい値電圧で指定される３ビットのデータは"０００"，"００１"であって中位ビットはどちらも"０"であり、２Ｖ，３Ｖのしきい値電圧で指定される３ビットのデータは"０１０"，"０１１"であって中位ビットはどちらも"１"である。従って、この中位ビットを判定するため、信号制御回路６は、選択メモリセルの制御ゲート１９に１．５Ｖの判定電圧を印加するように電圧制御回路３に命令する（ステップＳ３１）。
【０１４３】
そして、ステップＳ３１において、選択メモリセルのドレイン１２−ソース１３間に電流が流れた場合には、そのメモリセルのしきい値電圧は０Ｖ或いは１Ｖであり、このメモリセルの記憶状態の成分のうち、中位ビットが"０"であると判定され、このデータを出力Ｉ／Ｆ８から出力する（ステップＳ３２）。
【０１４４】
一方、ステップＳ３１において、選択メモリセルのドレイン１２−ソース１３間に電流が流れなかった場合には、そのメモリセルのしきい値電圧は２Ｖ或いは３Ｖであり、このメモリセルの記憶状態の成分のうち、中位ビットが"１"であると判定され、このデータを出力Ｉ／Ｆ８から出力する（ステップＳ３３）。
【０１４５】
また、ステップＳ３０において、選択メモリセルのドレイン１２−ソース１３間に電流が流れなかった場合には、そのメモリセルのしきい値電圧は４Ｖ，５Ｖ，６Ｖ，７Ｖのいずれかである。ここで、４Ｖ，５Ｖのしきい値電圧で指定される３ビットのデータは"１００"，"１０１"であって中位ビットはどちらも"０"であり、６Ｖ，７Ｖのしきい値電圧で指定される３ビットのデータは"０１０"，"０１１"であって中位ビットはどちらも"１"である。従って、この中位ビットを判定するため、信号制御回路６は、選択メモリセルの制御ゲート１９に５．５Ｖの判定電圧を印加するように電圧制御回路３に命令する（ステップＳ３４）。
【０１４６】
そして、ステップＳ３４において、選択メモリセルのドレイン１２−ソース１３間に電流が流れた場合には、そのメモリセルのしきい値電圧は４Ｖ或いは５Ｖであり、このメモリセルの記憶状態の成分のうち、中位ビットが"０"であると判定され、このデータを出力Ｉ／Ｆ８から出力する（ステップＳ３２）。
【０１４７】
一方、ステップＳ３４において、選択メモリセルのドレイン１２−ソース１３間に電流が流れなかった場合には、そのメモリセルのしきい値電圧は６Ｖ或いは７Ｖであり、このメモリセルの記憶状態の成分のうち、中位ビットが"１"であると判定され、このデータを出力Ｉ／Ｆ８から出力する（ステップＳ３３）。
【０１４８】
また、ステップＳ２８において、入力Ｉ／Ｆ７に入力した論理アドレス信号が〔40 0000 〕〜〔7F FFFF 〕でない場合には、論理アドレス信号は〔80 0000 〕〜〔BF FFFF 〕、すなわち、物理アドレス＝（論理アドレス−〔80 0000 〕）となり、読み出しが要求されているデータは３ビットのうちの最下位ビットであることが分かる（ステップＳ３５）。この場合、選択メモリセルの制御ゲート１９に３．５Ｖの判定電圧を印加し、ドレイン１２−ソース１３間に電流が流れるか否かを、選択ビット線１５及びセンスアンプ５を通じて検出する（ステップＳ３６）。
【０１４９】
ステップＳ３６において、選択メモリセルのドレイン１２−ソース１３間に電流が流れた場合には、そのメモリセルのしきい値は０Ｖ，１Ｖ，２Ｖ，３Ｖのいずれかであり、これらの各しきい値電圧で指定される３ビットのデータはそれぞれ、"０００"，"００１"，"０１０"，"０１１"であるため、この段階ではまだ最下位ビットを特定することはできない。従って、最下位ビットを特定するため、信号制御回路６は、先ず選択メモリセルの制御ゲート１９に１．５Ｖの判定電圧を印加するように電圧制御回路３に命令する（ステップＳ３７）。
【０１５０】
ステップＳ３７において、選択メモリセルのドレイン１２−ソース１３間に電流が流れた場合には、そのメモリセルのしきい値は０Ｖ或いは１Ｖであり、これらの各しきい値電圧で指定される３ビットのデータは、"０００"或いは"００１"である。従って、最下位ビットを特定するため、信号制御回路６は、選択メモリセルの制御ゲート１９に０．５Ｖの判定電圧を印加するように電圧制御回路３に命令する（ステップＳ３８）。
【０１５１】
そして、ステップＳ３８において、選択メモリセルのドレイン１２−ソース１３間に電流が流れた場合には、そのメモリセルのしきい値電圧は０Ｖであり、このメモリセルの記憶状態の成分のうち、最下位ビットが"０"であると判定され、このデータを出力Ｉ／Ｆ８から出力する（ステップＳ３９）。
【０１５２】
一方、ステップＳ３８において、選択メモリセルのドレイン１２−ソース１３間に電流が流れなかった場合には、そのメモリセルのしきい値電圧は１Ｖであり、このメモリセルの記憶状態の成分のうち、最下位ビットが"１"であると判定され、このデータを出力Ｉ／Ｆ８から出力する（ステップＳ４０）。
【０１５３】
また、ステップＳ３７において、選択メモリセルのドレイン１２−ソース１３間に電流が流れなかった場合には、そのメモリセルのしきい値は２Ｖ或いは３Ｖであり、これらの各しきい値電圧で指定される３ビットのデータは、"０１０"或いは"０１１"である。従って、最下位ビットを特定するため、信号制御回路６は、選択メモリセルの制御ゲート１９に２．５Ｖの判定電圧を印加するように電圧制御回路３に命令する（ステップＳ４１）。
【０１５４】
そして、ステップＳ４１において、選択メモリセルのドレイン１２−ソース１３間に電流が流れた場合には、そのメモリセルのしきい値電圧は２Ｖであり、このメモリセルの記憶状態の成分のうち、最下位ビットが"０"であると判定され、このデータを出力Ｉ／Ｆ８から出力する（ステップＳ３９）。
【０１５５】
一方、ステップＳ４１において、選択メモリセルのドレイン１２−ソース１３間に電流が流れなかった場合には、そのメモリセルのしきい値電圧は３Ｖであり、このメモリセルの記憶状態の成分のうち、最下ビットが"１"であると判定され、このデータを出力Ｉ／Ｆ８から出力する（ステップＳ４０）。
【０１５６】
また、ステップＳ３６において、選択メモリセルのドレイン１２−ソース１３間に電流が流れなかった場合には、そのメモリセルのしきい値は４Ｖ，５Ｖ，６Ｖ，７Ｖのいずれかであり、これらの各しきい値電圧で指定される３ビットのデータはそれぞれ、"１００"，"１０１"，"１１０"，"１１１"であるため、この段階ではまだ最下位ビットを特定することはできない。従って、最下位ビットを特定するため、信号制御回路６は、先ず選択メモリセルの制御ゲート１９に５．５Ｖの判定電圧を印加するように電圧制御回路３に命令する（ステップＳ４２）。
【０１５７】
ステップＳ４２において、選択メモリセルのドレイン１２−ソース１３間に電流が流れた場合には、そのメモリセルのしきい値は４Ｖ或いは５Ｖであり、これらの各しきい値電圧で指定される３ビットのデータは、"１００"或いは"１０１"である。従って、最下位ビットを特定するため、信号制御回路６は、選択メモリセルの制御ゲート１９に４．５Ｖの判定電圧を印加するように電圧制御回路３に命令する（ステップＳ４３）。
【０１５８】
そして、ステップＳ４３において、選択メモリセルのドレイン１２−ソース１３間に電流が流れた場合には、そのメモリセルのしきい値電圧は４Ｖであり、このメモリセルの記憶状態の成分のうち、最下位ビットが"０"であると判定され、このデータを出力Ｉ／Ｆ８から出力する（ステップＳ３９）。
【０１５９】
一方、ステップＳ４３において、選択メモリセルのドレイン１２−ソース１３間に電流が流れなかった場合には、そのメモリセルのしきい値電圧は５Ｖであり、このメモリセルの記憶状態の成分のうち、最下位ビットが"１"であると判定され、このデータを出力Ｉ／Ｆ８から出力する（ステップＳ４０）。
【０１６０】
また、ステップＳ４２において、選択メモリセルのドレイン１２−ソース１３間に電流が流れなかった場合には、そのメモリセルのしきい値は６Ｖ或いは７Ｖであり、これらの各しきい値電圧で指定される３ビットのデータは、"１１０"或いは"１１１"である。従って、最下位ビットを特定するため、信号制御回路６は、選択メモリセルの制御ゲート１９に６．５Ｖの判定電圧を印加するように電圧制御回路３に命令する（ステップＳ４４）。
【０１６１】
そして、ステップＳ４４において、選択メモリセルのドレイン１２−ソース１３間に電流が流れた場合には、そのメモリセルのしきい値電圧は６Ｖであり、このメモリセルの記憶状態の成分のうち、最下位ビットが"０"であると判定され、このデータを出力Ｉ／Ｆ８から出力する（ステップＳ３９）。
【０１６２】
一方、ステップＳ４４において、選択メモリセルのドレイン１２−ソース１３間に電流が流れなかった場合には、そのメモリセルのしきい値電圧は７Ｖであり、このメモリセルの記憶状態の成分のうち、最下位ビットが"１"であると判定され、このデータを出力Ｉ／Ｆ８から出力する（ステップＳ４０）。
【０１６３】
上述のように、この第２の実施形態においては、論理アドレス〔00 0000 〕〜〔BF FFFF 〕をアクセス速度の速いアドレス空間とアクセス速度の比較的遅いアドレス空間とに階層化する。ここで、アクセス速度の速いアドレス空間をアドレス空間Ａ1 （論理アドレス〔00 0000 〕〜〔3F FFFF 〕）とし、アクセス速度の比較的遅いアドレス空間を更に細分化して、アドレス空間Ａ1 に次いでアクセス速度の速いアドレス空間をアドレス空間Ａ2 （論理アドレス〔40 0000 〕〜〔BF FFFF 〕）とし、アドレス空間Ａ2 に次いでアクセス速度の速いアドレス空間をアドレス空間Ａ3 （論理アドレス〔40 0000 〕〜〔BF FFFF 〕）として階層化する。
【０１６４】
論理アドレス〔00 0000 〕〜〔7F FFFF 〕のうち、物理アドレス〔00 0000 〕〜〔3F FFFF 〕が張るアドレス空間と１対１対応する部分空間（論理アドレス〔00 0000 〕〜〔3F FFFF 〕）をアクセス速度の速いアドレス空間Ａ1 とする。そして、メモリセルの記憶状態の特定の成分、ここでは最上位ビットにアドレス空間Ａ1 のデータを格納する。そして、中位ビットにアドレス空間Ａ1 に次いでアクセス速度の速いアドレス空間Ａ2 のデータを、最下位ビットにアドレス空間Ａ2 に次いでアクセス速度の速いアドレス空間Ａ3 のデータをそれぞれ格納する。
【０１６５】
入力された論理アドレスが前記部分空間に含まれるもの（論理アドレス〔00 0000 〕〜〔3F FFFF 〕）である場合には、この論理アドレスは最上位ビットのデータを指定しており、３．５Ｖの判定電圧による１回の判定により即座に最上位ビットのデータが分かり、出力されることになる。また、入力された論理アドレスが前記部分空間には含まれないが、この部分空間に近いアドレス空間に含まれるもの（論理アドレス〔40 0000 〕〜〔7F FFFF 〕）である場合には、この論理アドレスは中位ビットのデータを指定しており、３．５Ｖと、１．５Ｖ或いは５．５Ｖの判定による２回の判定により中位ビットのデータが分かり、出力されることになる。
【０１６６】
すなわち、最上位ビットのデータを読みだす場合では、すべての判定値により各しきい値電圧を調べる場合に比して、読み出し速度が約３倍となり、中位ビットのデータを読みだす場合では、すべての判定電圧により各しきい値電圧を調べる場合に比して、読み出し速度が約１．５倍となる。従って、最上位ビットにアクセス頻度の最も高いデータを格納し、中位ビットに最上位ビットに次ぐアクセス頻度の高いデータを、最下位ビットに比較的アクセス頻度の低いデータをそれぞれ格納することにより、操作者（プログラマ）にはあたかも単一（或いは２段階）の高速記憶装置が存在しているかの如く見え、極めて効率良く多値記憶ＥＥＰＲＯＭの読み出しを行うことが可能となる。
【０１６７】
以上、本発明を浮遊ゲート型のメモリセルを有するＥＥＰＲＯＭに多値記憶を行わせた場合を例にとって説明したが、多値記憶を行わせるメモリセルとしては、浮遊ゲート型のものに限らず、ＭＮＯＳ型のものでも良い。
【０１６８】
また、本発明は、ＥＥＰＲＯＭ以外にも、ＥＰＲＯＭやＰＲＯＭに多値記憶を行わせた場合の読み出し方法、更には、例えば、電界効果トランジスタのチャネル領域にイオン注入する不純物の量を制御することによりしきい値を変化させて記憶状態を得るマスクＲＯＭに多値記憶を行わせた場合の読み出し方法にも適用が可能である。
【０１６９】
更に、本発明の読み出し方法はＤＲＡＭにも適用できる。この場合、炉フレッシュを行うことは言うまでもない。
【０１７０】
更に、上述の第１，第２の実施形態では、１個のメモリセルに２ビット又は３ビットの記憶容量を持たせたが、本発明は１個のメモリセルに４値（２ビット）以上の記憶容量を持たせた全ての場合に適用が可能であり、特に、記憶容量が大きいほど効果的である。
【０１７１】
なお、上述の第１，第２の実施形態では、アドレスを判定した後、各値のしきい値電圧が設定されたメモリセルの制御ゲートに所定の判定電圧を印加してメモリセルのドレイン−ソース間に電流が流れるか否かを検出する手法について説明したが、メモリセルからの出力電圧を所定の判定電圧と比較してデータを判定することもできる。この方法を図１１の回路図を参照して説明する。
【０１７２】
図７の判定回路は、図１のセルアレイ１とマルチプレクサ４との間に設けられる。セルアレイ１のメモリセル１ａに設定された下位ビットに相当するしきい値電圧Ｖth１が、インバータ４０、トランジスタ４１，４２からなる出力バッファを介してセンスアンプ４３の反転入力端子に与えられる。センスアンプ４３の非反転入力端子にはトランジスタ４７に設定された判定電圧Ｖ４７が、インバータ４６、トランジスタ４４，４５からなる出力バッファを介して与えられる。
【０１７３】
しきい値電圧Ｖth１が判定電圧Ｖ４７より小さい場合、センスアンプ４３の出力はＨｉｔｈになるので、メモリセル１ａに記憶された下位ビットＤ０は"１"と判定される。センスアンプ４３の出力がＨｉｔｈなので、トランジスタ５２がオンする一方、インバータ５３によりトランジスタ５４がオフする。従って、トランジスタ５２に設定された判定電圧Ｖ５２が、インバータ５１、トランジスタ４９，５０からなる出力バッファを介してセンスアンプ４８の非反転入力端子に与えられる。そして、メモリセル１ａに設定された上位ビットに相当するしきい値電圧Ｖth２が、出力バッファを介してセンスアンプ４８の反転入力端子に与えられる。
【０１７４】
しきい値電圧Ｖth２が判定電圧Ｖ５２より小さい場合、センスアンプ４８の出力はＨｉｔｈになるので、メモリセル１ａに記憶された上位ビットＤ１は"１"と判定される。一方、しきい値電圧Ｖth２が判定電圧Ｖ５２より大きい場合、センスアンプ４８の出力はＬｏｗになるので、メモリセル１ａに記憶された上位ビットＤ１は"０"と判定される。
【０１７５】
次に、しきい値電圧Ｖth１が判定電圧Ｖ４７より大きい場合、センスアンプ４３の出力はＬｏｗになるので、メモリセル１ａに記憶された下位ビットＤ０は"０"と判定される。センスアンプ４３の出力がＬｏｗなので、トランジスタ５２がオフする一方、インバータ５３によりトランジスタ５４がオンする。従って、トランジスタ５４に設定された判定電圧Ｖ５４が、出力バッファを介してセンスアンプ４８の非反転入力端子に与えられる。そして、メモリセル１ａに設定された上位ビットに相当するしきい値電圧Ｖth２が、出力バッファを介してセンスアンプ４８の反転入力端子に与えられる。
【０１７６】
しきい値電圧Ｖth２が判定電圧Ｖ５４より小さい場合、センスアンプ４８の出力はＨｉｔｈになるので、メモリセル１ａに記憶された上位ビットＤ１は"１"と判定される。一方、しきい値電圧Ｖth２が判定電圧Ｖ５４より大きい場合、センスアンプ４８の出力はＬｏｗになるので、メモリセル１ａに記憶された上位ビットＤ１は"０"と判定される。
【０１７７】
このようにして、２ビット（４値）のデータ（００、０１、１０、１１）が判定される。この手法は、ビット数に応じて、センスアンプや、判定電圧供給回路を増やせば４値以上の多値メモリセルにも適用できる。
【０１７８】
なお、上述した実施形態の機能を実現するように各種のデバイスを動作させるように、前記各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、前記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ（ＣＰＵあるいはＭＰＵ）に格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
【０１７９】
また、この場合、前記ソフトウェアのプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコード自体、およびそのプログラムコードをコンピュータに供給するための手段、例えばかかるプログラムコードを格納した記憶媒体３１は本発明を構成する。
【０１８０】
記憶媒体３１は、入出力Ｉ／Ｆ８を介して信号制御回路６に接続された記憶再生装置３０により、そこに格納されているプログラムコードが読みだされ、信号制御回路６を構成するコンピュータを動作させる。なお、かかるプログラムコードを記憶する記憶媒体３１としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【図面の簡単な説明】
【０１８１】
【図１】本発明の実施形態によるＥＥＰＲＯＭの主要な構成を示すブロック図である。
【図２】本発明の実施形態によるＥＥＰＲＯＭの浮遊ゲート型メモリセルの概略断面図である。
【図３】本発明の書き込み方法の第１の実施形態を説明する模式図である。
【図４】本発明の書き込み方法の第２の実施形態を説明する模式図である。
【図５】本発明の書き込み方法の第２の実施形態の変形例を説明する模式図である。
【図６】本発明の書き込み方法の第３の実施形態を説明する模式図である。
【図７】本発明の書き込み方法の第３の実施形態の変形例を説明する模式図である。
【図８】本発明の読み出し方法の第１の実施形態による読み出し方法のフローチャートである。
【図９】図８のフローチャートにおけるしきい値電圧を判定する方法を説明するブロック図である。
【図１０】本発明の読み出し方法の第２の実施形態による読み出し方法のフローチャートである。
【図１１】しきい値電圧を判定する他の方法を説明するブロック図である。
【符号の説明】
【０１８２】
１  メモリセルアレイ
２  デコーダ
３  電圧発生及び電圧制御回路
４  マルチプレクサ
５  センスアンプ
６  信号制御回路
６ａ  情報ビット分散手段
７  入力Ｉ／Ｆ
８  出力Ｉ／Ｆ
９  変換回路
１１  シリコン基板
１２  ドレイン
１３  ソース
１７  浮遊ゲート
１９  制御ゲート
３０  記憶再生装置
３１  記憶媒体
４０，４６，５１，５３  インバータ
４１，４２，４４，４５，４７，４９，５０，５２，５４  トランジスタ
４３，４８  センスアンプ
５５  スイッチ回路
５６  参照電圧発生回路
【図１】
2005235391.tif 000004
【図２】
2005235391.tif 000005
【図３】
2005235391.tif 000006
【図４】
2005235391.tif 000007
【図５】
2005235391.tif 000008
【図６】
2005235391.tif 000009
【図７】
2005235391.tif 000010
【図８】
2005235391.tif 000011
【図９】
2005235391.tif 000012
【図１０】
2005235391.tif 000013
【図１１】
2005235391.tif 000014