(57)【特許請求の範囲】
【請求項１】
複数のメモリセルが配置され、３値以上の所定値の記憶情報が各しきい値電圧の順に対応し、前記所定値の前記記憶情報うちの１つが第１の規則に従って前記各メモリセルに記憶する記憶手段と、
入力情報を所定桁毎に分割して前記記憶情報とし、一群の前記記憶情報毎にそれぞれ誤り検出用の冗長情報を付加して各データ列を作成した後、前記データ列を第２の規則に従って変換し、この変換された前記データ列を対応する一群の前記メモリセルに記憶させる書き込み手段と、
選択された前記メモリセルから読み出した前記データ列を第３の規則に従って変換し、誤り検出の判定を行った後に前記記憶情報を出力情報として出力する読み出し手段とを備え、
前記第３の規則は、前記第１の規則に従う前記データ列を、前記各記憶情報を前記しきい値電圧に対応させて順に並べた際に隣接する各々の差異が１桁のみとなるように変換して前記出力情報を作成する規則であるとともに、前記第２の規則は、前記第３の規則の逆の変換規則であり、
前記出力情報に誤りが発生しなければ前記記憶情報と前記出力情報とが一致するように構成されており、
前記記憶情報及び前記冗長情報がバイナリデータであり、前記データ列の前記冗長情報が１つの前記メモリセルに対応した記憶量の情報とされており、
前記冗長情報を記憶する前記メモリセルは、前記一群の前記記憶情報の重みに応じて最上位ビットが異なり且つ大きさ順に並べた際に互いに隣接しない２つの前記冗長情報のうちの１つを記憶するとともに、
前記読み出し手段は、誤り判定の際に前記一群の前記記憶情報の重みと共に前記冗長情報の最上位ビットのみに基づいて判断することを特徴とする半導体記憶装置。
【請求項２】
前記メモリセルは、ゲート、ソース及びドレインを有し、前記ソースと前記ドレインとの間のチャネル領域上に形成されたトンネル絶縁膜と前記ゲートとの間に誘電体膜を介して島状の浮遊ゲートを有して構成されていることを特徴とする請求項１に記載の半導体記憶装置。
【請求項３】
前記読み出し手段は、隣接する前記しきい値電圧に対応する前記記憶情報の差異が１桁のみとなるように各ビットを変換するための論理回路を有することを特徴とする請求項１又は２に記載の半導体記憶装置。
【請求項４】
前記書き込み手段は、前記読み出し手段による変換規則と逆の変換を行うための論理回路を有することを特徴とする請求項１〜３のいずれか１項に記載の半導体記憶装置。
【請求項５】
前記冗長情報を記憶する前記メモリセルを前記記憶情報用のみのメモリセルとして用いるように、前記冗長情報用及び前記記憶情報用に相互に切り替え可能な切替手段を更に備えることを特徴とする請求項１〜４のいずれか１項に記載の半導体記憶装置。
【請求項６】
複数のメモリセルが配置され、前記各メモリセルに３値以上の所定値の記憶情報が各しきい値電圧の順に対応し、前記所定値の前記記憶情報うちの１つが記憶可能な多値型の半導体記憶装置であって、
各々のしきい値電圧に対応して前記記憶情報が規定されており、隣接する前記しきい値電圧に対応する前記記憶情報の差異が１桁のみとされているとともに、  一群の前記記憶情報毎に誤り検出用の冗長情報が付加されてデータ列が構成されており、前記データ列が対応する複数の前記メモリセルに記憶され、
前記記憶情報及び前記冗長情報がバイナリデータであり、前記データ列の前記冗長情報が１つの前記メモリセルに対応した記憶量の情報とされており、
前記冗長情報を記憶する前記メモリセルは、前記一群の前記記憶情報の重みに応じて最上位ビットが異なり且つ大きさ順に並べた際に互いに隣接しない２つの前記冗長情報のうちの１つを記憶するとともに、
前記データ列の読み出し時には、誤り判定の際に前記一群の前記記憶情報の重みと共に前記冗長情報の最上位ビットのみに基づいて判断することを特徴とする半導体記憶装置。
【請求項７】
前記メモリセルは、ゲート、ソース及びドレインを有し、前記ソースと前記ドレインとの間のチャネル領域上に形成されたトンネル絶縁膜と前記ゲートとの間に誘電体膜を介して島状の浮遊ゲートを有して構成されていることを特徴とする請求項６に記載の半導体記憶装置。
【請求項８】
所望の前記メモリセルを選択し、当該メモリセルに記憶された前記記憶情報の検出動作を行う読み出し手段を備え、
前記読み出し手段は、隣接する前記しきい値電圧に対応する前記記憶情報の差異が１桁のみとなるように各桁を割り振るための論理回路を有することを特徴とする請求項６又は７に記載の半導体記憶装置。
【請求項９】
前記各論理回路は、最上位ビット出力端子を除く各ビット出力端子にそれぞれ接続されていることを特徴とする請求項８に記載の半導体記憶装置。
【請求項１０】
選択した前記メモリセルに前記記憶情報を記憶させる書き込み手段を備え、
前記書き込み手段は、前記読み出し手段による割り振り規則と逆の割り振りを行うための論理回路を有することを特徴とする請求項８又は９に記載の半導体記憶装置。
【請求項１１】
前記冗長情報を記憶する前記メモリセルを前記記憶情報用のみのメモリセルとして用いるように、前記冗長情報用及び前記記憶情報用に相互に切り替え可能な切替手段を更に備えることを特徴とする請求項６〜１０のいずれか１項に記載の半導体記憶装置。
【請求項１２】
各メモリセルに２ビット以上の所定ビットの入力情報が記憶された多値型の半導体記憶装置の使用方法であって、
前記各メモリセルには、各しきい値電圧に対応した第１の情報が規定され、順次大きくなる前記しきい値電圧に応じて前記第１の情報の値が順次大きくなるように規定されており、
前記入力情報を前記所定ビット数毎に分割して前記記憶情報とし、一群の前記記憶情報にそれぞれ誤り検出用の冗長情報を付加して各データ列を作成した後、前記データ列を前記第１の情報に変換し、選択した前記メモリセルに前記第１の情報を記憶させる第１のステップと、
前記メモリセルから前記第１の情報を検出する第２のステップと、
前記第１の情報を変換して隣接する情報の差異が１ビットのみとなるように各ビットを割り振って第２の情報とし、誤り検出の判定を行った後に前記第２の情報を出力情報として出力する第３のステップとを含み、
前記出力情報に誤りが発生しなければ前記入力情報と前記出力情報とが一致し、
前記第１のステップにおいて、前記データ列の前記冗長情報が１つの前記メモリセルに対応した記憶量の情報とされており、前記冗長情報を記憶する前記メモリセルに、前記一群の前記記憶情報の重みに応じて最上位ビットが異なり且つ大きさ順に並べた際に互いに隣接しない２つの前記冗長情報のうちの１つを記憶し、
前記第３のステップにおいて、誤り判定の際に前記一群の前記記憶情報の重みと共に前記冗長情報の最上位ビットのみに基づいて判断することを特徴とする半導体記憶装置の使用方法。
【請求項１３】
前記メモリセルは、ゲート、ソース及びドレインを有し、前記ソースと前記ドレインとの間のチャネル領域上に形成されたトンネル絶縁膜と前記ゲートとの間に誘電体膜を介して島状の浮遊ゲートを有して構成されたものであることを特徴とする請求項１２に記載の半導体記憶装置の使用方法。
【請求項１４】
コンピュータに、請求項１２又は１３に記載の半導体記憶装置の使用方法を構成する第１〜第３のステップを実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、２ビット以上のデータが記憶可能である多値記憶型の不揮発性半導体記憶装置及びその使用方法並びにその使用方法が記憶された記憶媒体に関する。
【０００２】
【従来の技術】
現在、実用化されている半導体記憶装置では、１つのメモリセルに“０”と“１”の２種類の記憶状態しか与えておらず、従って、１つのメモリセルの記憶容量は１ビット（＝２値）である。これに対し、１つのメモリセルに（００，０１，１０，１１）の４種類の記憶情報を与え、各々の記憶情報に対応した４つのしきい値電圧、例えば（１Ｖ，２Ｖ，３Ｖ，４Ｖ）によって記憶を保持する、即ち１つのメモリセルに２ビット（＝４値）の記憶容量を持たせた半導体記憶装置が提案されている。
【０００３】
上述の半導体記憶装置に記憶された記憶情報を読み出す際には、先ず、記憶情報の２ビットのうちの上位ビットを検出する。即ち、２Ｖと３Ｖの中間値、例えば２．５Ｖの判定電圧を印加し、電流が流れたならば記憶情報が”１０”，”１１”の何れかであるため、上位ビットが”１”と判定される。一方、電流が流れないならば記憶情報が”００”，”０１”の何れかであるため、上位ビットが”０”と判定される。
【０００４】
続いて、記憶情報の２ビットのうちの下位ビットを検出して記憶情報を判定する。即ち、上述の上位ビットの判定で電流が流れた場合、１Ｖ，２Ｖの中間値、例えば１．５Ｖの判定電圧を印加し、電流が流れたならばしきい値電圧が１Ｖであり、従って記憶情報が”００”であると判定される。一方、電流が流れないならばしきい値電圧が２Ｖであり、従って記憶情報が”０１”であると判定される。
【０００５】
また、上位ビットの判定で電流が流れない場合、３Ｖ，４Ｖの中間値、例えば３．５Ｖの判定電圧を印加し、電流が流れたならばしきい値電圧が３Ｖであり、従って記憶情報が”１０”であると判定される。一方、電流が流れないならばしきい値電圧が４Ｖであり、従って記憶情報が”１１”であると判定される。
【０００６】
【発明が解決しようとする課題】
ところで、半導体記憶装置の使用を重ねた場合、メモリセル等に劣化が生じてしきい値電圧が低下することがある。このとき、あるしきい値電圧が隣接するしきい値電圧の判定電圧に割り込んだとすると、読み出し時に例えば記憶情報”０１”が”００”に、”１０”が”０１”に、”１１”が”１０”に、というようにデータ化けが発生することになる。この場合、”０１”から”００”へのデータ化けや”１１”から”１０”へのデータ化けについては、上位ビット或いは下位ビットのみの１ビット分に誤りが生じただけであるが、”１０”から”０１”へのデータ化けのときには上位ビット及び下位ビットの双方に誤りが生じることになる。
【０００７】
このように２ビット分のデータ化けが生じた場合では、誤り検出法として通常行われるパリティー誤り検査符号を用いた誤り検出を行うことが不可能となる。例えば、奇数パリティーにより誤り検出を行う場合では、記憶情報に１ビットのパリティー誤り検査符号を付加してデータ列を作成し、各データ列の１（０としてもよい）の個数が奇数となるように規定しておき、読み出し時に１の個数が偶数となっていればデータ列に誤りが生じたものと判定する。ところがこの場合、データ列に例えば２ビットの誤りが生じると、１の個数が奇数となるため判定が不可能となる。従って、正確な判定を行うにはデータ列に生じる誤りは１ビットのみであることが必要である。従って、上述のように”１０”から”０１”へのデータ化けが発生した場合には判定不能となる。
【０００８】
近時では、半導体記憶装置の更なる多値化も研究されており、記憶情報が８値（３ビット）以上の場合では４値（２ビット）の場合に比して記憶情報のうちの２ビット分以上が同時にデータ化けを起こす確率が極めて高くなり、複雑且つ検査ビット数の多い誤り検出法及び誤り訂正法が不可欠となるという深刻な問題がある。
【０００９】
例えば、特開平８−２４９８９３号公報には、従来一般に用いられている第１の書き込みベリファイ手段に加え、第２の書き込みベリファイ手段を設け、書き込み過剰を確認し、各データに対してメモリセルのしきい値を所定の範囲に設定する技術が開示されている。しかしながら、この技術は記憶データのエラー発生を未然に防止することを目的とするものの、前記公報には上述したようなデータ化けについては何等言及されておらず、データ化けの問題を解決する技術であるとは言い難い。
【００１０】
そこで、本発明の目的は、使用を重ねるにつれて必然的に発生するメモリセル等の劣化に起因するデータ化けによって多値記憶情報が失われても、効率良く且つ正確に誤り検出を行うことを可能とする半導体記憶装置及びその使用方法並びにその使用方法を記録した記憶媒体を提供することである。
【００１１】
【課題を解決するための手段】
本発明の半導体記憶装置は、複数のメモリセルが配置され、３値以上の所定値の記憶情報が各しきい値電圧の順に対応し、前記所定値の前記記憶情報うちの１つが第１の規則に従って前記各メモリセルに記憶する記憶手段と、入力情報を所定桁毎に分割して前記記憶情報とし、一群の前記記憶情報毎にそれぞれ誤り検出用の冗長情報を付加して各データ列を作成した後、前記データ列を第２の規則に従って変換し、この変換された前記データ列を対応する一群の前記メモリセルに記憶させる書き込み手段と、選択された前記メモリセルから読み出した前記データ列を第３の規則に従って変換し、誤り検出の判定を行った後に前記記憶情報を出力情報として出力する読み出し手段とを備え、前記第３の規則は、前記第１の規則に従う前記データ列を、前記各記憶情報を前記しきい値電圧に対応させて順に並べた際に隣接する各々の差異が１桁のみとなるように変換して前記出力情報を作成する規則であるとともに、前記第２の規則は、前記第３の規則の逆の変換規則であり、前記出力情報に誤りが発生しなければ前記記憶情報と前記出力情報とが一致するように構成されており、前記記憶情報及び前記冗長情報がバイナリデータであり、前記データ列の前記冗長情報が１つの前記メモリセルに対応した記憶量の情報とされており、前記冗長情報を記憶する前記メモリセルは、前記一群の前記記憶情報の重みに応じて最上位ビットが異なり且つ大きさ順に並べた際に互いに隣接しない２つの前記冗長情報のうちの１つを記憶するとともに、前記読み出し手段は、誤り判定の際に前記一群の前記記憶情報の重みと共に前記冗長情報の最上位ビットのみに基づいて判断する。
本発明の半導体記憶装置の一態様では、前記メモリセルは、ゲート、ソース及びドレインを有し、前記ソースと前記ドレインとの間のチャネル領域上に形成されたトンネル絶縁膜と前記ゲートとの間に誘電体膜を介して島状の浮遊ゲートを有して構成されている。
本発明の半導体記憶装置の一態様では、前記読み出し手段は、隣接する前記しきい値電圧に対応する前記記憶情報の差異が１桁のみとなるように各ビットを変換するための論理回路を有する。
本発明の半導体記憶装置の一態様では、前記書き込み手段は、前記読み出し手段による変換規則と逆の変換を行うための論理回路を有する。
本発明の半導体記憶装置の一態様では、前記冗長情報を記憶する前記メモリセルを前記記憶情報用のみのメモリセルとして用いるように、前記冗長情報用及び前記記憶情報用に相互に切り替え可能な切替手段を更に備える。
本発明の半導体記憶装置は、複数のメモリセルが配置され、前記各メモリセルに３値以上の所定値の記憶情報が各しきい値電圧の順に対応し、前記所定値の前記記憶情報うちの１つが記憶可能な多値型の半導体記憶装置であって、各々のしきい値電圧に対応して前記記憶情報が規定されており、隣接する前記しきい値電圧に対応する前記記憶情報の差異が１桁のみとされているとともに、  一群の前記記憶情報毎に誤り検出用の冗長情報が付加されてデータ列が構成されており、前記データ列が対応する複数の前記メモリセルに記憶され、前記記憶情報及び前記冗長情報がバイナリデータであり、前記データ列の前記冗長情報が１つの前記メモリセルに対応した記憶量の情報とされており、前記冗長情報を記憶する前記メモリセルは、前記一群の前記記憶情報の重みに応じて最上位ビットが異なり且つ大きさ順に並べた際に互いに隣接しない２つの前記冗長情報のうちの１つを記憶するとともに、前記データ列の読み出し時には、誤り判定の際に前記一群の前記記憶情報の重みと共に前記冗長情報の最上位ビットのみに基づいて判断する。
本発明の半導体記憶装置の一態様では、前記メモリセルは、ゲート、ソース及びドレインを有し、前記ソースと前記ドレインとの間のチャネル領域上に形成されたトンネル絶縁膜と前記ゲートとの間に誘電体膜を介して島状の浮遊ゲートを有して構成されていることを特徴とする請求項６に記載の半導体記憶装置。
本発明の半導体記憶装置の一態様では、所望の前記メモリセルを選択し、当該メモリセルに記憶された前記記憶情報の検出動作を行う読み出し手段を備え、前記読み出し手段は、隣接する前記しきい値電圧に対応する前記記憶情報の差異が１桁のみとなるように各桁を割り振るための論理回路を有する。
本発明の半導体記憶装置の一態様では、前記各論理回路は、最上位ビット出力端子を除く各ビット出力端子にそれぞれ接続されている。
本発明の半導体記憶装置の一態様では、選択した前記メモリセルに前記記憶情報を記憶させる書き込み手段を備え、前記書き込み手段は、前記読み出し手段による割り振り規則と逆の割り振りを行うための論理回路を有する。
本発明の半導体記憶装置の一態様では、前記冗長情報を記憶する前記メモリセルを前記記憶情報用のみのメモリセルとして用いるように、前記冗長情報用及び前記記憶情報用に相互に切り替え可能な切替手段を更に備える。
本発明の半導体記憶装置の使用方法は、各メモリセルに２ビット以上の所定ビットの入力情報が記憶された多値型の半導体記憶装置の使用方法であって、前記各メモリセルには、各しきい値電圧に対応した第１の情報が規定され、順次大きくなる前記しきい値電圧に応じて前記第１の情報の値が順次大きくなるように規定されており、前記入力情報を前記所定ビット数毎に分割して前記記憶情報とし、一群の前記記憶情報にそれぞれ誤り検出用の冗長情報を付加して各データ列を作成した後、前記データ列を前記第１の情報に変換し、選択した前記メモリセルに前記第１の情報を記憶させる第１のステップと、前記メモリセルから前記第１の情報を検出する第２のステップと、前記第１の情報を変換して隣接する情報の差異が１ビットのみとなるように各ビットを割り振って第２の情報とし、誤り検出の判定を行った後に前記第２の情報を出力情報として出力する第３のステップとを含み、前記出力情報に誤りが発生しなければ前記入力情報と前記出力情報とが一致し、前記第１のステップにおいて、前記データ列の前記冗長情報が１つの前記メモリセルに対応した記憶量の情報とされており、前記冗長情報を記憶する前記メモリセルに、前記一群の前記記憶情報の重みに応じて最上位ビットが異なり且つ大きさ順に並べた際に互いに隣接しない２つの前記冗長情報のうちの１つを記憶し、前記第３のステップにおいて、誤り判定の際に前記一群の前記記憶情報の重みと共に前記冗長情報の最上位ビットのみに基づいて判断する。
本発明の半導体記憶装置の使用方法の一態様では、前記メモリセルは、ゲート、ソース及びドレインを有し、前記ソースと前記ドレインとの間のチャネル領域上に形成されたトンネル絶縁膜と前記ゲートとの間に誘電体膜を介して島状の浮遊ゲートを有して構成されたものである。
本発明の記録媒体は、コンピュータに、請求項１２又は１３の半導体記憶装置の読み出し方法を構成する第１〜第３のステップを実行させるためのプログラムを記録したコンピュータ読み取り可能なものである。
【００３７】
【作用】
本発明の半導体記憶装置においては、各々のしきい値電圧に対応して多値の記憶情報が規定されており、隣接するしきい値電圧に対応する記憶情報の差異が１桁、バイナリデータの場合であれば（以下、便宜的にこの場合について言及する。）１ビットのみとされている。ところで、半導体記憶装置の使用を重ねてメモリセル等に劣化が生じ、しきい値電圧が低下すると、データ化けが発生する場合がある。このとき、しきい値電圧に１段階の低下が生じる確率に比して、２段階以上の低下やしきい値電圧の上昇が発生する確率は圧倒的に低く、ほぼ完全に無視し得る程度のものである。従って、しきい値電圧の１段階の低下のみを考慮する必要があるが、本発明の半導体記憶装置は、この１段階の低下が生じた場合に、それを最小限、即ち１ビット分のみに抑えることができる。ここで、特定の一群の記憶情報の２つ以上に同時にデータ化けが生じる確率は極めて低いため（勿論、一群の記憶情報のビット数を減少させるほど前記確率は低下し、各メモリセルの記憶量と同一のビット数とすれば必然的に０となる。）、パリティ誤り検査符号を用いた誤り検出法により容易且つ正確に誤り検出を行うことが可能となる。しかも、一組の所定ビット数分の記憶情報に付加する各冗長情報が連続して並列し、各記憶情報及び連続した冗長情報がそれぞれ１つの前記メモリセルに記憶されるため、記憶密度が高まって効率良く記憶情報の書き込み／読み出しを行うことが可能となる。
【００３８】
また、本発明の半導体記憶装置においては、隣接するしきい値電圧に対応する記憶情報の差異が１ビットのみとされるとともに、冗長情報を１つのメモリセルの記憶量に対応した多値情報として、一群の記憶情報の重みに応じて最上位ビットが異なり且つ大きさ順に並べた際に互いに隣接しない２つの冗長情報のうちの１つがメモリセルに記憶される。そして、データ列の誤り判定時には一群の記憶情報の重みと共に冗長情報の最上位ビットのみに基づいて判断する。ここで、データ列にデータ化けが発生した場合について考える。データ列のうち記憶情報に誤りが生じた場合、上記の如くデータ化けは１ビット分のみとなり、また特定の一群の記憶情報の２つ以上に同時にデータ化けが生じる確率は極めて低い。他方、データ列のうち冗長情報に誤りが生じた場合、データ化けは最上位ビット以外のビットに発生するため、この場合を考慮する必要はない。従って、パリティ誤り検査符号を用いた誤り検出法により容易且つ正確のみならず迅速に誤り検出を行うことが可能となる。
【００３９】
【発明の実施の形態】
以下、本発明のいくつかの好適な実施形態について図面を参照しながら詳細に説明する。
【００４０】
（第１の実施形態）
先ず、第１の実施形態について説明する。この第１の実施形態においては、４値（＝２ビット）の情報を記憶し、記憶情報の誤り検出を行うことが可能な不揮発性半導体記憶装置であるＥＥＰＲＯＭについて例示する。図１は、第１の実施形態のＥＥＰＲＯＭのメモリセルの主要構成を模式的に示すブロック図であり、図２はこのＥＥＰＲＯＭの主要構成を示す概略断面図、図３は符号化回路部の特定部位のみを示す回路図、図５は復号化回路部の特定部位のみを示す回路図である。
【００４１】
この第１の実施形態のＥＥＰＲＯＭは、図１に示すように、複数のメモリセルが行列状に配されてなるメモリセルアレイ１１と、入力した記憶情報にパリティビットを付加した後にメモリセルに記憶させる符号化回路部１２と、各々のメモリセルと接続され、選択したメモリセルの記憶情報を検出してデータ化けの発生如何を判定し出力する復号化回路部１３と、メモリセルアレイ１１において記憶情報の記憶用のみならずデータ化けの判定用の冗長情報の記憶用としてもメモリセル１０を用いる場合と、メモリセル１０を記憶情報の記憶のみに使用する場合とを切り替える切替手段１０１とを備えて構成されている。
【００４２】
各メモリセル１０は、図２に示すように、ｐ型のシリコン半導体基板１上において、フィールド酸化膜等の素子分離構造により画定された素子活性領域２の表面領域にリン（Ｐ）や砒素（Ａｓ）等のｎ型不純物がイオン注入されて形成された一対の不純物拡散層であるソース３及びドレイン４と、ソース３とドレイン４との間のチャネル領域Ｃ上にトンネル酸化膜５を介してパターン形成された各々孤立した島状の浮遊ゲート６と、浮遊ゲート６上にＯＮＯ膜等からなる誘電体膜７を介してパターン形成されて浮遊ゲート６と容量結合する制御ゲート８とを有して構成されている。
【００４３】
符号化回路部１２は、図３に示すように、ＥＸ−ＯＲ回路２４を備えて構成されており、入力したバイナリデータを２ビットずつ区切って記憶情報を作成した後に、各記憶情報に１ビットのパリティビットとなる冗長情報を付加して３ビットの各データ列を作成するものである。このデータ列を作成する際には、データ列中の”１”の個数が常に奇数となるようにする（奇数パリティの例）。勿論、データ列中の”１”の個数が常に偶数となる（偶数パリティ）としてもよい。そして、符号化回路部１２においては、データ列がＥＸ−ＯＲ回路２４を通って第１に情報に変換され、出力端子Ｄ１から第１の情報の上位ビットが、出力端子Ｄ０から第１の情報の下位ビットがそれぞれ出力され、第１の情報が所定のしきい値電圧と対応してメモリセル１０に記憶される。具体的には、３ビットのデータ列を記憶情報に相当する２ビットと冗長情報に相当する１ビットとに分け、ＥＸ−ＯＲ回路２４により第１の情報に変換し、各々を対応するメモリセル１０に独立に記憶させる。従って、冗長情報に相当するデータのみが記憶されるメモリセル１０が存することになる。即ち、図４に示すように、２つのデータ列（ｍ１，ｍ２，ｐ１），（ｍ３，ｍ４，ｐ２）について、記憶情報に相当する各２ビット（ｍ１，ｍ２），（ｍ３，ｍ４）が互いに隣接するメモリセル１０ａ，１０ｂに、２つのデータ列の冗長情報に相当する各１ビットｐ１，ｐ２がメモリセル１０ｃ（の上位及び下位ビット）に記憶される。
【００４４】
復号化回路部１３は、図５に示すように、各メモリセル１０と接続され、しきい値電圧がそれぞれ２．５Ｖ，３．５Ｖ，１．５ＶのトランジスタＴｒ１，Ｔｒ２，Ｔｒ３と、各センスアンプ２１，２２と、ＥＸ−ＯＲ回路２３とを備えて構成されている。ここで、各メモリセル１０のビット線がセンスアンプ２１の＋端子に、トランジスタＴｒ１がセンスアンプ２１の−端子にそれぞれ接続されているとともに、各メモリセル１０のビット線がセンスアンプ２２の−端子に、トランジスタＴｒ２，Ｔｒ３がセンスアンプ２２の−端子にそれぞれ接続されている。そして、センスアンプ２１，２２からの各信号が入力するようにＥＸ−ＯＲ回路２３が接続されている。この復号化回路部１３においては、出力端子Ｄ１から記憶情報の上位ビットが、出力端子Ｄ０から記憶情報の下位ビットがそれぞれ出力される。
【００４５】
切替手段１０１は、メモリセルアレイ１１を構成するメモリセル１０のうちの一定数を後述するように誤り検出するためのパリティビット用に用いる場合と、全てのメモリセル１０を通常の記憶情報用に用いる場合とを選択するための手段である。即ち、この切替手段１０１により、記憶容量を多少犠牲にしても情報の正確性を重視する必要のある場合や記憶容量をフルに活用する必要のある場合等、ＥＥＰＲＯＭの様々な使用目的に対応することができる。
【００４６】
このＥＥＰＲＯＭは、符号化回路部１２の動作によって各メモリセル１０に、４値（１Ｖ，２Ｖ，３Ｖ，４Ｖ）の各しきい値電圧に対応して第１の情報が上述したような２ビット毎に記憶可能とされており、しきい値電圧が大きくなるほど第１の情報の２ビットの値も大きくなるように、４値（”００”，”０１”，”１０”，”１１”）の第１の情報が記憶可能とされている。そして、読み出し時には、復号化回路部１３において、隣接する第１の情報の各２ビット構成のうち、１ビットのみが異なるように各ビットを割り振られて、４値の第２の情報、ここでは（”００”，”０１”，”１１”，”１０”）に変換され、この第２の情報がメモリセル１０の記憶情報として出力される。即ち、符号化回路部１２の動作が復号化回路部１３の動作の逆変換（逆の振り分け）となる。第１の情報は冗長情報を備えるため、メモリセル１０から復号化回路部１３を介して第２の情報が作成された際に、再構成された３ビットの第２の情報のうち、”１”の個数が奇数であれば第２の情報に誤りはなく、偶数であれば誤りが生じたものと判定される。そして、メモリセル１０にデータ化けが生じなければ符号化回路部１２により作成された２ビットの記憶情報と復号化回路部１３から出力された２ビットの記憶情報とは一致することになる。
【００４７】
なお、第１の実施形態では、第２の情報の２ビット分を（”００”，”０１”，”１１”，”１０”）としたが、第２の情報としては、隣接するデータ間で１ビット（１桁）のみが異なるように振り分ければよく、例えば（”０１”，”００”，”１０”，”１１”）のように第２の情報を振り分けてもよい。この場合も、ＥＸ−ＯＲ回路を用いることにより実現できる。
【００４８】
また、メモリセル１０へのデータ列の記憶形態としては、図４の場合に限定されることなく、例えば図６に示すように、２つのデータ列（ｍ１，ｍ２，ｐ１），（ｍ３，ｍ４，ｐ２）について、記憶情報に相当する２ビットと双方の冗長情報に相当する各１ビットからなる２ビットとを交互に配列させ、一方の記憶情報に相当する２ビット（ｍ１，ｍ２）、冗長情報に相当する各１ビットからなる２ビット（ｐ１，ｐ２）、他方の記憶情報に相当する２ビット（ｍ３，ｍ４）がそれぞれ隣接する３つのメモリセル１０ａ，１０ｂ，１０ｃに記憶されるようにしてもよい。更に、図７に示すように、３つのメモリセル１０ａ，１０ｂ，１０ｃに対して、一方の冗長情報に相当する１ビットと一方の記憶情報に相当する２ビットうちの上位ビット（ｐ１，ｍ１）、一方の記憶情報に相当する２ビットうちの下位ビットと他方の記憶情報に相当する２ビットうちの上位ビット（ｍ２，ｍ３）、他方の記憶情報に相当する２ビットうちの下位ビットと他方の冗長情報に相当する１ビット（ｍ４，ｐ２）を記憶させることも考えられる。
【００４９】
以下、このＥＥＰＲＯＭへの記憶情報の書き込み方法について説明する。
【００５０】
先ず、入力したバイナリデータを２ビットずつ区切って記憶情報を作成した後に、各記憶情報に１ビットのパリティビットとなる冗長情報を付加して３ビットの各データ列を作成する。このとき、既述したように、記憶情報に相当する各２ビット分を隣接するように配列させ、次に冗長情報に相当する各１ビットからなる２ビットを配列させる。
【００５１】
続いて、ＥＸ−ＯＲ回路２４によりデータ列の２ビット”１１”から変換された第１の情報”１０”をメモリセル１０に書き込む場合、メモリセル１０のドレイン４を接地電位とし、ソース３を開放し、制御ゲート８に２２Ｖ程度を印加する。このとき、ドレイン４から電子がトンネル酸化膜５を通して浮遊ゲート６に注入され、しきい値電圧（ＶT ）が正方向へシフトする。そして、メモリセルのしきい値電圧が４Ｖ程度に上昇する。この記憶状態を”１０”とする。
【００５２】
次に、ＥＸ−ＯＲ回路２４によりデータ列の２ビット”１０”から変換された第１の情報”１１”を書き込む場合、メモリセル１０のドレイン４を接地電位として、ソース３を開放し、制御ゲート８に２０Ｖ程度を印加する。このとき、ドレイン４から電子がトンネル酸化膜５を通して浮遊ゲート６に注入され、メモリセルのしきい値電圧が３Ｖ程度となる。この記憶状態を”１１”とする。
【００５３】
次に、ＥＸ−ＯＲ回路２４を通してデータ列の２ビット”０１”と同一の第１の情報”０１”を書き込む場合、メモリセル１０のドレイン４を接地電位として、ソース３を開放し、制御ゲート８に１８Ｖ程度を印加する。このとき、ドレイン４から電子がトンネル酸化膜５を通して浮遊ゲート６に注入され、メモリセルのしきい値電圧が２Ｖ程度となる。この記憶状態を”０１”とする。
【００５４】
次に、ＥＸ−ＯＲ回路２４を通してデータ列の２ビット”００”と同一の第１の情報”００”を書き込む場合、メモリセルのドレイン４に１０Ｖ程度を印加して、ソース３を開放し、制御ゲート８を接地電位とする。このとき、浮遊ゲート６に注入されていた電子がドレイン４から引き抜かれ、メモリセルのしきい値電圧が１Ｖ程度となる。この記憶状態を”００”とする。以上のように、ＥＸ−ＯＲ回路２４による、データ列の２ビットから第１の情報への変換の様子を表１に示す。
【００５５】
【表１】
0003648057.tif 000002
【００５６】
更に、このＥＥＰＲＯＭは、以下に示すように各メモリセル１０の読み出し動作を行う。図９は、読み出し動作の各ステップを示すフローチャートである。
【００５７】
選択されたメモリセル１０から復号化回路部１３を通して読み出される記憶情報、即ち第２の情報については、図８に示すように、しきい値電圧（ＶT ）が１Ｖ程度、２Ｖ程度、３Ｖ程度及び４Ｖ程度の４つのピーク（４値）をもった分布を示す。図８中で、Ｒ１と表示された範囲にしきい値電圧ＶT が検出された場合には記憶状態（第２の情報）が”００”であり、Ｒ２と表示された範囲にしきい値電圧ＶT が検出された場合には記憶状態が”０１”である。また、Ｒ３と表示された範囲にしきい値電圧ＶT が検出された場合には記憶状態が”１１”であり、Ｒ４と表示された範囲にしきい値電圧ＶT が検出された場合には記憶状態が”１０”である。
【００５８】
従って、先ず、記憶状態が「Ｒ１或いはＲ２」と「Ｒ３或いはＲ４」との何れにあるか、即ちメモリセル１０に記憶された第１の情報の上位ビットが”０”と”１”との何れであるかをトランジスタＴｒ１を用いて判定する。この場合、図９に示すように、ソース３及びドレイン４とゲート電極６に５Ｖ程度を印加し（ステップＳ１）、ドレイン電流をセンスアンプ２１で検出し、しきい値電圧ＶT とトランジスタＴｒ１のしきい値電圧との大小関係を判定する（ステップＳ２）。このとき、しきい値電圧ＶT がトランジスタＴｒ１のしきい値電圧より大きい場合、即ち、メモリセルのチャネル領域Ｃに流れる電流よりトランジスタＴｒ１の電流が大きい場合には上位ビットが”１”であると判定され、しきい値電圧ＶT がトランジスタＴｒ１のしきい値電圧より小さい場合、即ち、トランジスタＴｒ１に流れる電流よりメモリセルに流れる電流が大きい場合には上位ビットが”０”であると判定される。そして、この第１の情報の上位ビットは第２の情報の上位ビットと等しく、メモリセル１０に記憶された２ビットのデータの上位ビットなる。
【００５９】
ここで、しきい値電圧ＶT がトランジスタＴｒ１のしきい値電圧より大きい場合には、同様の読み出し動作をトランジスタＴｒ２を用い、メモリセルに流れる電流とトランジスタＴｒ２に流れる電流とを比較し（ステップＳ３）、しきい値電圧ＶT がトランジスタＴｒ１のしきい値電圧より小さい場合には、同様の読み出し動作をトランジスタＴｒ３を用いて判定する（ステップＳ４）。
【００６０】
ステップＳ３において、しきい値電圧ＶT がトランジスタＴｒ１のしきい値電圧より大きく、上述の読み出し動作でしきい値電圧ＶT がトランジスタＴｒ２のしきい値電圧より大きい場合には、メモリセル１０に記憶された第１の情報は”１１”であると判定され（ステップＳ５）、その下位ビット”１”が第１の情報の上位ビット”１”とともにＥＸ−ＯＲ回路２３に入力する。そして、このＥＸ−ＯＲ回路２３において第１の情報”１１”が第２の情報の下位ビット”０”に変換され、メモリセル１０に記憶された各データの下位ビットとして出力端子Ｄ０から出力される。従ってこの場合、メモリセル１０から読み出された２ビットのデータは”１０”となる（ステップＳ６）。
【００６１】
一方、ステップＳ３において、しきい値電圧ＶT がトランジスタＴｒ２のしきい値電圧より小さい場合には、メモリセル１０に記憶された第１の情報は”１０”であると判定され（ステップＳ７）、その下位ビット”０”が第１の情報の上位ビット”１”とともにＥＸ−ＯＲ回路２３に入力する。そして、このＥＸ−ＯＲ回路２３において第１の情報”１０”が第２の情報の下位ビット”１”に変換され、メモリセル１０に記憶された２ビットのデータの下位ビットなる。従ってこの場合、メモリセル１０から読み出された２ビットのデータは”１１”（ステップＳ８）となる。
【００６２】
また、ステップＳ４において、しきい値電圧ＶT がトランジスタＴｒ１のしきい値電圧より小さい場合、即ちトランジスタＴｒ１の電流よりもメモリセルの電流が大きい場合には、メモリセル１０に記憶された上位ビットが”０”であると判定され（ステップＳ９）、次にトランジスタＴｒ３のしきい値電圧と比較し、メモリセルのしきい値電圧が大きい場合、下位ビットが”１”となって第１の情報の上位ビット”０”とともにＥＸ−ＯＲ回路２３に入力する。そして、このＥＸ−ＯＲ回路２３において第１の情報”０１”が第２の情報の下位ビット”１”に変換され、２ビットのデータの下位ビットとなる。従ってこの場合、メモリセル１０から読み出されたメモリセル１０に記憶された２ビットのデータは第１の情報と等しく、”０１”となる（ステップＳ１０）。
【００６３】
一方、上述の読み出し動作でしきい値電圧ＶT がトランジスタＴｒ１のしきい値電圧より小さい場合、即ちトランジスタＴｒ１の電流よりもメモリセルの電流が大きい場合には、メモリセル１０に記憶された上位ビットが”０”であると判定され（ステップＳ１１）、次にトランジスタＴｒ３のしきい値電圧と比較し、メモリセルのしきい値電圧が小さい場合、下位ビットが”０”となって上位ビット”０”とともにＥＸ−ＯＲ回路２３に入力する。そして、このＥＸ−ＯＲ回路２３において第１の情報”００”が第２の情報の下位ビット”０”に変換され、メモリセル１０に記憶された２ビットのデータの下位ビットとなる。従ってこの場合、メモリセル１０から読み出された２ビットのデータは第１の情報と等しく、”００”となる（ステップＳ１２）。
【００６４】
以上のように、ＥＸ−ＯＲ回路２３による、第１の情報から第２の情報への変換の様子を表２に示す。
【００６５】
【表２】
0003648057.tif 000003
【００６６】
そして、第２の情報からなるデータ列に基づいてパリティ検出を行ってデータ化けの発生如何を判定した後に、第２の情報を出力情報としてその上位ビットが出力端子Ｄ１から、下位ビットが出力端子Ｄ０からそれぞれ出力される。
【００６７】
ところで、このＥＥＰＲＯＭの使用を重ねた場合、メモリセル等に劣化が生じてしきい値電圧が低下することがある。あるしきい値電圧が隣接するしきい値電圧の判定電圧に割り込んだとすると、読み出し時に例えば記憶情報”０１”が”００”に、”１１”が”０１”に、”１０”が”１１”に、というようにデータ化けが発生することになる。一例として、記憶情報”１１”に対応するしきい値電圧ＶT がトランジスタＴｒ１のしきい値電圧（＝２．５Ｖ）を下回った場合、即ち記憶情報”１１”が”０１”にデータ化けする場合を図１０に示す。このように、データ化けは全て上位ビットと下位ビットとのいずれか一方のみに生じる。
【００６８】
ここで、従来のように、各メモリセル１０に直接記憶される第１の情報（００，０１，１０，１１）を記憶情報とする場合、例えば図１１に示すように、しきい値電圧ＶT がトランジスタＴｒ１のしきい値電圧（＝２．５Ｖ）を下回ると、記憶情報”１０”が”０１”にデータ化けを起こす。このとき、上位ビット及び下位ビットの双方にデータ化けが生じるのに対して、第１の実施形態のＥＥＰＲＯＭでは上述のように下位ビットのみにデータ化けが生じる。一例として、記憶情報にデータ化けが生じた場合をメモリセル１０ａ〜１０ｃに対応させた様子を図１２に示す。ここでは、メモリセル１０ａの記憶情報”１０”が”１１”に変化した場合を表しており、メモリセル１０ａの記憶情報”１１”とメモリセル１０ｃの上位ビット”０”からなるデータ列”１１０”の”１”の個数が偶数となり、従ってデータ化けが生じたことが分かる。このように、第１の実施形態のＥＥＰＲＯＭを用いれば、メモリセル１０等に劣化が生じてデータ化けが発生しても、１ビット分のみに抑えられるので、第２の情報の３ビットが奇数パリティに規定されていれば、データ化けが無いときには”１”の個数は奇数となり、データ化けが発生したときには”１”の個数は偶数となって判定が一意に定まる。即ち、第１の実施形態のＥＥＰＲＯＭによれば、パリティー誤り検査を正確に行うことが可能となる。
【００６９】
このように、第１の実施形態のＥＥＰＲＯＭによれば、各メモリセル１０に直接記憶される情報は第１の情報として従来の装置の前段にＥＸ−ＯＲ回路２４を設けるだけで実現できるとともに、この従来の装置の終段にＥＸ−ＯＲ回路２３を設ける簡素な構成により、データ化けの発生を記憶情報の１ビット分のみに抑えることが可能となる。従って、使用を重ねるにつれて必然的に発生するメモリセル１０等の劣化に起因するデータ化けによって多値記憶情報が失われても、効率良く且つ正確に誤り検出を行うことが可能となる。しかも、一組の所定ビット数分の記憶情報に付加する各冗長情報が連続して並列し、各記憶情報及び連続した冗長情報がそれぞれ１つのメモリセル１０に記憶されるため、記憶密度が高まって効率良く記憶情報の書き込み／読み出しを行うことができる。
【００７０】
なお、第１の実施形態では、各メモリセル１０の持つ記憶量である２ビットの記憶情報に対して１ビットの冗長情報を付加したが、冗長情報に対する記憶情報の割合を大きくして記憶容量の増加を図るため、特定の一群の記憶情報の２つ以上に同時にデータ化けが生じる確率は極めて低いことを考慮して、複数分の２ビットの記憶情報に１ビットの冗長情報を付加することも好適である。
【００７１】
−変形例−
以下、第１の実施形態の変形例について説明する。この変形例のＥＥＰＲＯＭは、第１の実施形態と同様に、４値（＝２ビット）の情報を記憶し、記憶情報の誤り検出を行うことが可能な不揮発性半導体記憶装置であり、特に記憶情報の誤り検出方法に第１の実施形態との相違がある。なお、この変形例のＥＥＰＲＯＭは第１の実施形態のＥＥＰＲＯＭ、即ち図１，２，３，５の例とほぼ同様の構成要素を備えるため、同符号を記して説明を省略する。
【００７２】
このＥＥＰＲＯＭは、第１の実施形態と同様に、符号化回路部１２において、入力したバイナリデータを２ビットずつ区切って記憶情報を作成した後に、各データ列を作成する。そして、データ列がＥＸ−ＯＲ回路２４を通って第１に情報に変換され、出力端子Ｄ１から第１の情報の上位ビットが、出力端子Ｄ０から第１の情報の下位ビットがそれぞれ出力され、第１の情報が所定のしきい値電圧と対応してメモリセル１０に記憶される。
【００７３】
このＥＥＰＲＯＭは、符号化回路部１２の動作によって各メモリセル１０に、４値（１Ｖ，２Ｖ，３Ｖ，４Ｖ）の各しきい値電圧に対応して第１の情報が上述したような２ビット毎に記憶可能とされており、しきい値電圧が大きくなるほど第１の情報の２ビットの値も大きくなるように、４値（”００”，”０１”，”１０”，”１１”）の第１の情報が記憶可能とされている。そして、読み出し時には、復号化回路部１３において、隣接する第１の情報の各２ビット構成のうち、１ビットのみが異なるように各ビットを割り振られて、４値の第２の情報、ここでは（”００”，”０１”，”１１”，”１０”）に変換され、この第２の情報がメモリセル１０の記憶情報として出力される。即ち、符号化回路部１２の動作が復号化回路部１３の動作の逆変換（逆の振り分け）となる。
【００７４】
この変形例においては、各データ列を、各々２ビットの４つの記憶情報を一群の記憶情報とし、この一群の記憶情報に２ビットのパリティビットとなる冗長情報を付加して１０ビットのものとする。これは、特定の一群のメモリセル１０に記憶された一群の記憶情報の２つ以上に同時にデータ化けが生じる確率は極めて低いことを考慮した結果であり、記憶容量を多少犠牲にしても誤り判定の精度を向上させることを考えて、２ビットの記憶情報（即ち１つのメモリセル１０）に２ビットの冗長情報を付加してデータ列を作成してもよい。
【００７５】
ここで、パリティビットとしては、一群の記憶情報の重みに応じて、上位ビットの”１”又は”０”のみを実際に使用するパリティビットと見做す。具体的には、冗長情報用のメモリセル１０に記憶する２ビットとして、”１０”又は”０１”か、”１０”又は”００”を使用する。なお、データ化けの際に上位ビットが変わる可能性の高い境界値、ここでは”１１”は使用しない。
【００７６】
そして、１０ビットのデータ列を記憶情報に相当する８ビットと冗長情報に相当する２ビットとに分け、ＥＸ−ＯＲ回路２４により第１の情報に変換し、各々を対応する５つのメモリセル１０に独立に記憶させる。従って、冗長情報に相当するデータのみが記憶されるメモリセル１０が存することになる。即ち、図１３に示すように、データ列（ｍ１，ｍ２，ｍ３，ｍ４，ｍ５，ｍ６，ｍ７，ｍ８，ｐ１，ｐ２）について、記憶情報に相当する各２ビット（ｍ１，ｍ２），（ｍ３，ｍ４），（ｍ５，ｍ６），（ｍ７，ｍ８）がメモリセル１０ａ，１０ｂ，１０ｃ，１０ｄに、当該データ列の冗長情報に相当する２ビット（ｐ１，ｐ２）がメモリセル１０ｅに記憶される。
【００７７】
この変形例では、誤り判定（パリティチェック）時において、一組の４つのメモリセル１０から復号化回路部１５を介して第２の情報を作成する際に、冗長情報用のメモリセル１０の２ビットのうち、上位ビットのみを読み出して使用する。この場合、冗長情報にデータ化けが生じたとしても、上記の如く冗長情報としては”１０”又は”０１”か、”１０”又は”００”であるため、”１０”は”１１”に、”０１”は”００”に変化し、”００”の変化する確率は無視できることになり、上位ビットに変化は生じない。
【００７８】
従って、奇数パリティを採る場合では、冗長情報の下位ビットを除く再構成されたデータ列（１０値−１値＝９値）のうち、”１”の個数が奇数であれば第２の情報に誤りはなく、偶数であれば誤りが生じたものと判定される。そして、メモリセル１０にデータ化けが生じなければ符号化回路部１２により作成された冗長情報の下位ビットを除く９値の記憶情報と復号化回路部１３から出力された９値の記憶情報とは一致することになる。
【００７９】
データ列にデータ化けが生じた場合の具体例として、メモリセル１０ａ〜１０ｅにおいて、メモリセル１０ｂの記憶情報”１０”が”１１”に変化した場合を図１４（ａ）に、更にメモリセル１０ｂの記憶情報のデータ化けに加えてメモリセル１０ｅの冗長情報”１０”が１１”に変化した場合を図１４（ｂ）に示す。図１４（ａ）の場合、メモリセル１０ａ〜１０ｄの記憶情報とメモリセル１０ｅの上位ビット”１”からなる誤りの生じたデータ列”１１１１０００１１”の”１”の個数が偶数となり、従ってデータ化けが生じたことが分かる。また、図１４（ｂ）の場合も、メモリセル１０ａ〜１０ｄの記憶情報とメモリセル１０ｅの上位ビット”１”からなる誤りの生じたデータ列”１１１１０００１１”の”１”の個数が偶数となり、同様にデータ化けが生じたことが分かる。
【００８０】
このように、変形例のＥＥＰＲＯＭを用いれば、メモリセル１０に劣化が生じてデータ化けが発生しても、１ビット分のみに抑えられるので、第２の情報の９値が奇数パリティに規定されていれば、データ化けが無いときには”１”の個数は奇数となり、データ化けが発生したときには”１”の個数は偶数となって判定が一意に定まる。即ち、このＥＥＰＲＯＭによれば、パリティー誤り検査を正確に行うことが可能となる。
【００８１】
即ち、変形例のＥＥＰＲＯＭによれば、隣接するしきい値電圧に対応する記憶情報の差異が１ビットのみとされるとともに、冗長情報を１つのメモリセル１０の記憶量に対応した多値情報として、一群の記憶情報の重みに応じて最上位ビットが異なり且つ大きさ順に並べた際に互いに隣接しない２つの冗長情報のうちの１つがメモリセル１０に記憶される。そして、データ列の誤り判定時には一群の記憶情報の重みと共に冗長情報の最上位ビットのみに基づいて判断する。ここで、データ列にデータ化けが発生した場合について考える。データ列のうち記憶情報に誤りが生じた場合、上記の如くデータ化けは１ビット分のみとなり、また特定の一群の記憶情報の２つ以上に同時にデータ化けが生じる確率は極めて低い。他方、データ列のうち冗長情報に誤りが生じた場合、データ化けは最上位ビット以外のビットに発生するため、この場合を考慮する必要はない。従って、パリティ誤り検査符号を用いた誤り検出法により容易且つ正確のみならず迅速に誤り検出を行うことが可能となる。
【００８２】
（第２の実施形態）
次いで、本発明の第２の実施形態について説明する。この第２の実施形態においては、８値（＝３ビット）の情報を記憶することが可能な不揮発性半導体記憶装置であるＥＥＰＲＯＭについて例示する。図１５は、第２の実施形態のＥＥＰＲＯＭの主要構成を示すブロック図であり、図１６は符号化回路部の特定部位のみを示す回路図、図１８は復号化回路部の特定部位のみを示す回路図である。なお、第１の実施形態のＥＥＰＲＯＭと同様の構成要素等については同符号を記す。
【００８３】
この第２の実施形態のＥＥＰＲＯＭは、図１５に示すように、複数のメモリセル３０が行列状に配されてなるメモリセルアレイ３１と、入力した記憶情報にパリティビットを付加した後にメモリセルに記憶させる符号化回路部３２と、各々のメモリセルと接続され、選択したメモリセルの記憶情報を検出してデータ化けの発生如何を判定し出力する復号化回路部３３と、メモリセルアレイ３１において記憶情報の記憶用のみならずデータ化けの判定用の冗長情報の記憶用としてもメモリセル３０を用いる場合と、メモリセル３０を記憶情報の記憶のみに使用する場合とを切り替える切替手段１０２とを備えて構成されている。
【００８４】
各メモリセル３０は、第２の実施形態の各メモリセル１０と同様に、ｐ型のシリコン半導体基板１上において、フィールド酸化膜等の素子分離構造により画定された素子活性領域２の表面領域にリン（Ｐ）や砒素（Ａｓ）等のｎ型不純物がイオン注入されて形成された一対の不純物拡散層であるソース３及びドレイン４と、ソース３とドレイン４との間のチャネル領域Ｃ上にトンネル酸化膜５を介してパターン形成された各々孤立した島状の浮遊ゲート６と、浮遊ゲート６上にＯＮＯ膜等からなる誘電体膜７を介してパターン形成されて浮遊ゲート６と容量結合する制御ゲート８とを有して構成されている。
【００８５】
符号化回路部３２は、図１６に示すように、ＥＸ−ＯＲ回路４６，４７を備えて構成されており、入力したバイナリデータを３ビットずつ区切って記憶情報を作成した後に、各記憶情報に１ビットのパリティビットとなる冗長情報を付加して４ビットの各データ列を作成するものである。このデータ列を作成する際には、データ列中の”１”の個数が常に奇数となるようにする（奇数パリティの例）。そして、この符号化回路部３２においては、データ列がＥＸ−ＯＲ回路４６，４７を通って第１に情報に変換され、出力端子Ｄ２から第１の情報の上位ビットが、出力端子Ｄ１から第１の情報の中位ビットが、出力端子Ｄ０から第１の情報の下位ビットがそれぞれ出力され、第１の情報が所定のしきい値電圧と対応してメモリセル３０に記憶される。具体的には、４ビットのデータ列を記憶情報に相当する３ビットと冗長情報に相当する１ビットとに分け、ＥＸ−ＯＲ回路４６，４７により第１の情報に変換し、各々を対応するメモリセル３０に独立に記憶させる。従って、冗長情報に相当するデータのみが記憶されるメモリセル３０が存することになる。即ち、図１７に示すように、３つのデータ列（ｍ１，ｍ２，ｍ３，ｐ１），（ｍ４，ｍ５，ｍ６，ｐ２），（ｍ７，ｍ８，ｍ９，ｐ３）について、記憶情報に相当する各３ビット（ｍ１，ｍ２，ｍ３），（ｍ４，ｍ５，ｍ６），（ｍ７，ｍ８，ｍ９）が互いに隣接するメモリセル３０ａ，３０ｂ，３０ｃに、３つのデータ列の冗長情報に相当する各１ビットｐ１，ｐ２，ｐ３がメモリセル３０ｄ（の上位、中位及び下位ビット）に記憶される。
【００８６】
復号化回路部３３は、図１８に示すように、しきい値電圧がそれぞれ４．５Ｖ，６．５Ｖ，２．５Ｖ，１．５Ｖ，３．５Ｖ，５．５Ｖ，７．５ＶのトランジスタＴｒ１１，Ｔｒ１２，Ｔｒ１３，Ｔｒ１４，Ｔｒ１５，Ｔｒ１６，Ｔｒ１７と、各センスアンプ４１，４２，４３と、ＥＸ−ＯＲ回路４４，４５とを備えて構成されている。ここで、各メモリセル３０のビット線がセンスアンプ４１，４２，４３の各＋端子に接続されており、トランジスタＴｒ１１がセンスアンプ４１の−端子に、トランジスタＴｒ１２，Ｔｒ１３がセンスアンプ４２の−端子に、トランジスタＴｒ１４，Ｔｒ１５，Ｔｒ１６，Ｔｒ１７がセンスアンプ４３の−端子にそれぞれ接続されている。そして、センスアンプ４１，４２からの各信号が入力するようにＥＸ−ＯＲ回路４４が、センスアンプ４２，４３からの各信号が入力するようにＥＸ−ＯＲ回路４５がそれぞれ接続されている。このデコーダ回路３２においては、出力端子Ｄ２から記憶情報（第２の情報）の上位ビットが、出力端子Ｄ１から記憶情報の中位ビットが、出力端子Ｄ０から記憶情報の下位ビットがそれぞれ出力される。
【００８７】
切替手段１０２は、メモリセルアレイ３１を構成するメモリセル３０のうちの一定数を後述するように誤り検出するためのパリティビット用に用いる場合と、全てのメモリセル３０を通常の記憶情報用に用いる場合とを選択するための手段である。即ち、この切替手段１０２により、記憶容量を多少犠牲にしても情報の正確性を重視する必要のある場合や記憶容量をフルに活用する必要のある場合等、ＥＥＰＲＯＭの様々な使用目的に対応することができる。
【００８８】
このＥＥＰＲＯＭは、符号化回路部３２の動作によって各メモリセル３０に、４値（１Ｖ，２Ｖ，３Ｖ，４Ｖ，５Ｖ，６Ｖ，７Ｖ）の各しきい値電圧に対応した第１の情報が記憶可能とされており、しきい値電圧が大きくなるほど第１の情報の値も大きくなるように、８値（”０００”，”００１”，”０１０”，”０１１”，”１００”，”１０１”，”１１０”，”１１１”）の第１の情報が記憶可能とされている。そして、読み出し時には、復合化回路部３３において、隣接する第１の情報の各２ビット構成のうち、１ビットのみが異なるように各ビットを割り振られて、４値の第２の情報、ここでは（”０００”，”００１”，”０１１”，”０１０”，”１１０”，”１１１”，”１０１”，”１００”）に変換され、この第２の情報がメモリセル３０の記憶情報として出力される。即ち、符号化回路部３２の動作が復号化回路部３３の動作の逆変換となる。第１の情報は冗長情報を備えるため、メモリセル３０から復号化回路部３３を介して第２の情報が作成された際に、再構成された４ビットの第２の情報のうち、”１”の個数が奇数であれば第２の情報に誤りはなく、偶数であれば誤りが生じたものと判定される。そして、メモリセル３０にデータ化けが生じなければ符号化回路部３２により作成された３ビットの記憶情報と復号化回路部３３から出力された３ビットの記憶情報とは一致することになる。
【００８９】
なお、本第２の実施形態では、第２の情報の３ビット分を（”０００”，”００１”，”０１１”，”０１０”，”１１０”，”１１１”，”１０１”，”１００”）としたが、第２の情報としては、隣接するデータ間で１ビット（１桁）のみが異なるように振り分ければよく、例えば（”０００”，”００１”，”０１１”，”０１０”，”１１０”，”１００”，”１０１”，”１１１”）のように第２の情報を振り分けてもよい。この場合も、ＥＸ−ＯＲ回路を用いることにより実現できる。
【００９０】
以下、このＥＥＰＲＯＭへの記憶情報の書き込み方法について説明する。
【００９１】
先ず、入力したバイナリデータを２ビットずつ区切って記憶情報を作成した後に、各記憶情報に１ビットのパリティビットとなる冗長情報を付加して４ビットの各データ列を作成する。このとき、既述したように、記憶情報に相当する各３ビット分を隣接するように配列させ、次に冗長情報に相当する各１ビットからなる３ビットを配列させる。
【００９２】
続いて、ＥＸ−ＯＲ回路４６，４７により記憶情報”１１０”から変換された第１の情報”１００”を書き込む場合、メモリセルのドレイン４を接地電位とし、ソース３を開放し、制御ゲート８に３０Ｖ程度を印加する。このとき、ドレイン４から電子がトンネル酸化膜５を通して浮遊ゲート６に注入され、しきい値電圧（ＶT ）が正方向へシフトする。そして、メモリセルのしきい値電圧が８Ｖ程度に上昇する。この記憶状態を”１００”とする。
【００９３】
次に、ＥＸ−ＯＲ回路４６，４７により記憶情報”１１１”から変換された第１の情報”１０１”を書き込む場合、メモリセルのドレイン４を接地電位とし、ソース３を開放し、制御ゲート８に２８Ｖ程度を印加する。このとき、ドレイン４から電子がトンネル酸化膜５を通して浮遊ゲート６に注入され、メモリセルのしきい値電圧が７Ｖ程度となる。この記憶状態を”１０１”とする。
【００９４】
次に、ＥＸ−ＯＲ回路４６，４７により記憶情報”１００”から変換された第１の情報”１１１”を書き込む場合、メモリセルのドレイン４を接地電位として、ソース３を開放し、制御ゲート８に２６Ｖ程度を印加する。このとき、ドレイン４から電子がトンネル酸化膜５を通して浮遊ゲート６に注入され、メモリセルのしきい値電圧が６Ｖ程度となる。この記憶状態を”１１１”とする。
【００９５】
次に、ＥＸ−ＯＲ回路４６，４７により記憶情報”１０１”から変換された第１の情報”１１０”を書き込む場合、メモリセルのドレイン４を接地電位として、ソース３を開放し、制御ゲート８に２４Ｖ程度を印加する。このとき、ドレイン４から電子がトンネル酸化膜５を通して浮遊ゲート６に注入され、メモリセルのしきい値電圧が５Ｖ程度となる。この記憶状態を”１１０”とする。
【００９６】
次に、ＥＸ−ＯＲ回路４６，４７により記憶情報”０１１”から変換された第１の情報”０１０”を書き込む場合、メモリセルのドレイン４を接地電位として、ソース３を開放し、制御ゲート８に２２Ｖ程度を印加する。このとき、ドレイン４から電子がトンネル酸化膜５を通して浮遊ゲート６に注入され、メモリセルのしきい値電圧が４Ｖ程度となる。この記憶状態を”０１０”とする。
【００９７】
次に、ＥＸ−ＯＲ回路４６，４７により記憶情報”０１０”から変換された第１の情報”０１１”を書き込む場合、メモリセルのドレイン４を接地電位として、ソース３を開放し、制御ゲート８に２０Ｖ程度を印加する。このとき、ドレイン４から電子がトンネル酸化膜５を通して浮遊ゲート６に注入され、メモリセルのしきい値電圧が３Ｖ程度となる。この記憶状態を”０１１”とする。
【００９８】
次に、ＥＸ−ＯＲ回路４６，４７を通しても記憶情報”００１”と同一の第１の情報”００１”を書き込む場合、メモリセルのドレイン４を接地電位として、ソース３を開放し、制御ゲート８に１８Ｖ程度を印加する。このとき、ドレイン４から電子がトンネル酸化膜５を通して浮遊ゲート６に注入され、メモリセルのしきい値電圧が２Ｖ程度となる。この記憶状態を”００１”とする。
【００９９】
次に、ＥＸ−ＯＲ回路４６，４７を通しても記憶情報”００１”と同一の第１の情報”０００”を書き込む場合、メモリセルのドレイン４に１０Ｖ程度を印加して、ソース３を開放し、制御ゲート８を接地電位とする。このとき、浮遊ゲート６に注入されていた電子がドレイン４から引き抜かれ、メモリセルのしきい値電圧が１Ｖ程度となる。この記憶状態を”０００”とする。以上のように、ＥＸ−ＯＲ回路４６，４７による、記憶情報から第１の情報への変換を表３に示す。
【０１００】
【表３】
0003648057.tif 000004
【０１０１】
更に、このＥＥＰＲＯＭは、以下に示すように各メモリセル３０の読み出し動作を行う。図１９及び図２０は、読み出し動作の各ステップを示すフローチャートである。
【０１０２】
選択されたメモリセル３０から読み出される記憶情報、即ち第２の情報については、図２１に示すように、しきい値電圧（ＶT ）が１Ｖ程度、２Ｖ程度、３Ｖ程度、４Ｖ程度、５Ｖ程度、６Ｖ程度、７Ｖ程度、８Ｖ程度の８つのピーク（８値）をもった分布を示す。図２１中で、Ｒ１と表示された範囲にしきい値電圧ＶT が検出された場合には記憶状態が”０００”であり、Ｒ２と表示された範囲にしきい値電圧ＶT が検出された場合には記憶状態が”００１”であり、Ｒ３と表示された範囲にしきい値電圧ＶT が検出された場合には記憶状態が”０１１”であり、Ｒ４と表示された範囲にしきい値電圧ＶT が検出された場合には記憶状態が”０１０”である。また、Ｒ５と表示された範囲にしきい値電圧ＶT が検出された場合には記憶状態が”１１０”であり、Ｒ６と表示された範囲にしきい値電圧ＶT が検出された場合には記憶状態が”１１１”であり、Ｒ７と表示された範囲にしきい値電圧ＶT が検出された場合には記憶状態が”１０１”であり、Ｒ８と表示された範囲にしきい値電圧ＶT が検出された場合には記憶状態が”１００”である。
【０１０３】
従って、先ず、記憶状態が「Ｒ１，Ｒ２，Ｒ３或いはＲ４」と「Ｒ５，Ｒ６，Ｒ７或いはＲ８」との何れにあるか、即ちメモリセル３０に記憶された第１の情報の上位ビットが”０”と”１”との何れであるかをトランジスタＴｒ１１を用いて判定する。この場合、ソース３及びドレイン４とゲート電極６に９Ｖ程度を印加し（ステップＳ２１）、ドレイン電流をセンスアンプ４１で検出し、しきい値電圧ＶT とトランジスタＴｒ１１のしきい値電圧との大小関係を判定する（ステップＳ２２）。このとき、しきい値電圧ＶT がトランジスタＴｒ１１のしきい値電圧より大きい場合、即ち、トランジスタＴｒ１１の電流よりメモリセル３０の電流が小さい場合には上位ビットが”１”であると判定され、しきい値電圧ＶT がトランジスタＴｒ１１のしきい値電圧より小さい場合、即ち、トランジスタＴｒ１１の電流よりメモリセルの電流が大きい場合には上位ビットが”０”であると判定され、センスアンプ４１から出力される。この第１の情報の上位ビットは第２の情報の上位ビットと等しい。
【０１０４】
続いて、メモリセル３０に記憶された第１の情報の中位ビットが”０”と”１”との何れであるかを判定する。即ち、しきい値電圧ＶT がトランジスタＴｒ１１より大きい場合には、同様の読み出し動作をトランジスタＴｒ１２を用いて、メモリセルに流れる電流とトランジスタＴｒ１２に流れる電流とを比較し（ステップＳ２３）、しきい値電圧ＶT がトランジスタＴｒ１１のしきい値電圧より小さい場合には、同様の読み出し動作をトランジスタＴｒ１３を用いて、メモリセル３０に流れる電流とトランジスタＴｒ１３に流れる電流とを比較する（ステップＳ２４）。
【０１０５】
ステップＳ２３において、しきい値電圧ＶT がトランジスタＴｒ１２のしきい値電圧より大きい場合、即ちトランジスタＴｒ１２に流れる電流よりメモリセル３０に流れる電流が小さい場合には、第１の情報の中位ビットが”１”であると判定され、センスアンプ４２から出力される。そして、この中位ビット”１”が第１の情報の上位ビット”１”とともにＥＸ−ＯＲ回路４４に入力する。そして、このＥＸ−ＯＲ回路４４において情報”１１”が第２の情報の中位ビット”０”に変換される。
【０１０６】
一方、ステップＳ２３において、しきい値電圧ＶT がトランジスタＴｒ１２のしきい値電圧より小さい場合、即ちトランジスタＴｒ１２に流れる電流よりメモリセル３０に流れる電流が大きい場合には、第１の情報の中位ビットが”０”であると判定され、センスアンプ４２から出力される。そして、この中位ビット”０”が第１の情報の上位ビット”１”とともにＥＸ−ＯＲ回路４４に入力する。そして、このＥＸ−ＯＲ回路４４において情報”１０”が第２の情報の中位ビット”１”に変換される。
【０１０７】
また、ステップＳ２４において、しきい値電圧ＶT がトランジスタＴｒ１３のしきい値電圧より大きい場合、即ちトランジスタＴｒ１３に流れる電流よりメモリセル３０に流れる電流が小さい場合には、第１の情報の中位ビットが”１”であると判定され、センスアンプ４２から出力される。そして、この中位ビット”１”が第１の情報の上位ビット”０”とともにＥＸ−ＯＲ回路４４に入力する。そして、このＥＸ−ＯＲ回路４４において情報”１０”が第２の情報の中位ビット”１”に変換される。
【０１０８】
一方、ステップＳ２４において、しきい値電圧ＶT がトランジスタＴｒ１３のしきい値電圧より小さい場合、即ちトランジスタＴｒ１３に流れる電流よりメモリセル３０に流れる電流が大きい場合には、第１の情報の中位ビットが”０”であると判定され、センスアンプ４２から出力される。そして、この中位ビット”０”が第１の情報の上位ビット”１”とともにＥＸ−ＯＲ回路４４に入力する。そして、このＥＸ−ＯＲ回路４４において情報”００”が第２の情報の中位ビット”０”に変換される。
【０１０９】
続いて、しきい値電圧ＶT がトランジスタＴｒ１３のしきい値電圧より小さい場合には、同様の読み出し動作をトランジスタＴｒ１４を用いてメモリセル３０の電流とトランジスタＴｒ１４の電流とを比較し（ステップＳ２５）、しきい値電圧ＶT がトランジスタＴｒ１３のしきい値電圧より大きい場合には、同様の読み出し動作をトランジスタＴｒ１５を用いてメモリセルの電流とトランジスタＴｒ１５の電流とを比較する（ステップＳ２６）。
【０１１０】
ステップＳ２５において、しきい値電圧ＶT がトランジスタＴｒ１４のしきい値電圧より大きい場合、即ちトランジスタＴｒ１４の電流よりメモリセル３０の電流が小さい場合には、下位ビットが”１”、即ちメモリセル３０に記憶された第１の情報は”００１”であると判定され（ステップＳ２７）、センスアンプ４３から出力される。そして、その下位ビット”１”が第１の情報の中位ビット”０”とともにＥＸ−ＯＲ回路４５に入力する。ここで、このＥＸ−ＯＲ回路４５において情報”０１”が第２の情報の下位ビット”１”に変換される。従ってこの場合、メモリセル３０から読み出された記憶情報（第２の情報）は第１の情報に等しく”００１”となる（ステップＳ２８）。
【０１１１】
一方、ステップＳ２５において、しきい値電圧ＶT がトランジスタＴｒ１４のしきい値電圧より小さい場合、即ちトランジスタＴｒ１４の電流よりメモリセル３０の電流が大きい場合には、下位ビットが”０”、即ちメモリセル３０に記憶された第１の情報は”０００”であると判定され（ステップＳ２９）、センスアンプ４３から出力される。そして、その下位ビット”０”が第１の情報の中位ビット”０”とともにＥＸ−ＯＲ回路４５に入力する。ここで、このＥＸ−ＯＲ回路４５において情報”００”が第２の情報の下位ビット”０”に変換される。従ってこの場合、メモリセル３０から読み出された記憶情報（第２の情報）は第１の情報に等しく”０００”となる（ステップＳ３０）。
【０１１２】
ステップＳ２６において、しきい値電圧ＶT がトランジスタＴｒ１５のしきい値電圧より大きい場合、即ちトランジスタＴｒ１５の電流よりメモリセル３０の電流が小さい場合には、下位ビットが”１”、即ちメモリセル３０に記憶された第１の情報は”０１１”であると判定され（ステップＳ３１）、センスアンプ４３から出力される。そして、その下位ビット”１”が第１の情報の中位ビット”１”とともにＥＸ−ＯＲ回路４５に入力する。ここで、このＥＸ−ＯＲ回路４５において情報”１１”が第２の情報の下位ビット”０”に変換される。従ってこの場合、メモリセル３０から読み出された記憶情報は”０１０”となる（ステップＳ３２）。
【０１１３】
一方、ステップＳ３０において、しきい値電圧ＶT がトランジスタＴｒ１５のしきい値電圧より小さい場合、即ちトランジスタＴｒ１５の電流よりメモリセル３０の電流が大きい場合には、下位ビットが”０”、即ちメモリセル３０に記憶された第１の情報は”０１０”であると判定され（ステップＳ３３）、センスアンプ４３から出力される。そして、その下位ビット”０”が第１の情報の中位ビット”１”とともにＥＸ−ＯＲ回路４５に入力する。ここで、このＥＸ−ＯＲ回路４５において情報”１０”が第２の情報の下位ビット”１”に変換される。従ってこの場合、メモリセル３０から読み出された記憶情報は”０１１”となる（ステップＳ３４）。
【０１１４】
また、ステップＳ２３において、しきい値電圧ＶT がトランジスタＴｒ１２のしきい値電圧より小さい場合には、同様の読み出し動作をトランジスタＴｒ１６を用いてメモリセルの電流とトランジスタＴｒ１６の電流と比較し（ステップＳ３５）、しきい値電圧ＶT がトランジスタＴｒ１２のしきい値電圧より大きい場合には、同様の読み出し動作をトランジスタＴｒ１７を用いてメモリセル３０の電流とトランジスタＴｒ１７の電流とを比較する（ステップＳ３６）。
【０１１５】
ステップＳ３５において、しきい値電圧ＶT がトランジスタＴｒ１６のしきい値電圧より大きい場合、即ちトランジスタＴｒ１６の電流よりメモリセル３０の電流が小さい場合には、下位ビットが”１”、即ちメモリセル３０に記憶された第１の情報は”１０１”であると判定され（ステップＳ３７）、センスアンプ４３から出力される。そして、その下位ビット”１”が第１の情報の中位ビット”０”とともにＥＸ−ＯＲ回路４５に入力する。ここで、このＥＸ−ＯＲ回路４５において情報”０１”が第２の情報の下位ビット”１”に変換される。従ってこの場合、上述のように変換された記憶情報の中位ビットが”１”であるので、メモリセル３０から読み出された記憶情報（第２の情報）は”１１１”となる（ステップＳ３８）。
【０１１６】
一方、ステップＳ３５において、しきい値電圧ＶT がトランジスタＴｒ１６のしきい値電圧より小さい場合、即ちトランジスタＴｒ１６の電流よりメモリセル３０の電流が大きい場合には、下位ビットが”０”、即ちメモリセル３０に記憶された第１の情報は”１００”であると判定され（ステップＳ３９）、センスアンプ４３から出力される。そして、その下位ビット”０”が第１の情報の中位ビット”０”とともにＥＸ−ＯＲ回路４５に入力する。ここで、このＥＸ−ＯＲ回路４５において情報”００”が第２の情報の下位ビット”０”に変換される。従ってこの場合、上述のように変換された記憶情報の中位ビットが”１”であるので、メモリセル３０から読み出された記憶情報（第２の情報）は”１１０”となる（ステップＳ４０）。
【０１１７】
ステップＳ３６において、しきい値電圧ＶT がトランジスタＴｒ１７のしきい値電圧より大きい場合、即ちトランジスタＴｒ１７の電流よりメモリセル３０の電流が小さい場合には、下位ビットが”１”、即ちメモリセル３０に記憶された第１の情報は”１１１”であると判定され（ステップＳ４１）、センスアンプ４３から出力される。そして、その下位ビット”１”が第１の情報の中位ビット”１”とともにＥＸ−ＯＲ回路４５に入力する。ここで、このＥＸ−ＯＲ回路４５において情報”１１”が第２の情報の下位ビット”０”に変換される。従ってこの場合、上述のように変換された記憶情報の中位ビットが”０”であるので、メモリセル３０から読み出された記憶情報は”１００”となる（ステップＳ４２）。
【０１１８】
一方、しきい値電圧ＶT がトランジスタＴｒ１７のしきい値電圧より小さい場合、即ちトランジスタＴｒ１７の電流よりメモリセル３０の電流が大きい場合には、下位ビットが”０”、即ちメモリセル３０に記憶された第１の情報は”１１０”であると判定され（ステップＳ４３）、センスアンプ４３から出力される。そして、その下位ビット”０”が第１の情報の中位ビット”１”とともにＥＸ−ＯＲ回路４５に入力する。ここで、このＥＸ−ＯＲ回路４５において情報”１０”が第２の情報の下位ビット”１”に変換される。従ってこの場合、上述のように変換された記憶情報の中位ビットが”０”であるので、メモリセル３０から読み出された記憶情報は”１０１”となる（ステップＳ４４）。
【０１１９】
以上のように、ＥＸ−ＯＲ回路４４，４５による、第１の情報から第２の情報への変換の様子を表４に示す。
【０１２０】
【表４】
0003648057.tif 000005
【０１２１】
そして、第２の情報からなるデータ列に基づいてパリティ検出を行ってデータ化けの発生如何を判定した後に、第２の情報を出力情報としてその上位ビットが出力端子Ｄ２から、中位ビットが出力端子Ｄ１から、下位ビットが出力端子Ｄ０からそれぞれ出力される。
【０１２２】
ところで、このＥＥＰＲＯＭの使用を重ねた場合、メモリセル等に劣化が生じてしきい値電圧が低下することがある。このとき、あるしきい値電圧が隣接するしきい値電圧の判定電圧に割り込んだとすると、読み出し時に例えば記憶情報”００１”が”０００”に、０１１”が”００１”に、０１０”が”０１１”に、１１０”が”０１０”に、１１１”が”１１０”に、１０１”が”１１１”に、１００”が”１０１”に、というようにデータ化けが発生することになる。この場合、データ化けは全て上位ビットと下位ビットとのいずれか１方のみに生じる。具体例として、記憶情報”１１１”に対応するしきい値電圧ＶT がトランジスタＴｒ１１のしきい値電圧（＝４．５Ｖ）を下回った場合、即ち記憶情報”１１０”が”０１０”にデータ化けする場合を図２２に示す。
【０１２３】
ここで、従来のように、各メモリセル３０に直接記憶される第１の情報（０００，００１，０１０，０１１，１００，１０１，１１０，１１１）を記憶情報とする場合、例えば図２３に示すように、しきい値電圧ＶT がトランジスタＴｒ１１のしきい値電圧（＝４．５Ｖ）を下回ると、記憶情報”１００”が”０１１”にデータ化けを起こす。このとき、上位ビット、中位ビット及び下位ビットの３ビット分全てにデータ化けが生じるのに対して、第２の実施形態のＥＥＰＲＯＭでは上述のように１ビットのみにデータ化けが生じる。一例として、記憶情報にデータ化けが生じた場合にメモリセル３０ａ〜３０ｄに対応させた様子を図２４に示す。ここでは、メモリセル３０ａの記憶情報”０１０”が”０１１”に変化した場合を表しており、メモリセル３０ａの記憶情報”０１１”とメモリセル３０ｄの上位ビット”０”からなるデータ列”０１１０”の”１”の個数が偶数となり、従ってデータ化けが生じたことが分かる。このように、第２の実施形態のＥＥＰＲＯＭを用いれば、メモリセル３０等に劣化が生じてデータ化けが発生しても、１ビット分のみに抑えられるので、第２の情報の４ビットが奇数パリティに規定されていれば、データ化けが無いときには”１”の個数は奇数となり、データ化けが発生したときには”１”の個数は偶数となって判定が一意に定まる。即ち、第２の実施形態のＥＥＰＲＯＭによれば、パリティー誤り検査を正確に行うことが可能となる。
【０１２４】
このように、第２の実施形態のＥＥＰＲＯＭによれば、各メモリセル３０に直接記憶される情報は第１の情報として従来の装置の前段にＥＸ−ＯＲ回路４６，４７を設けるだけで実現できるとともに、この従来の装置の終段にＥＸ−ＯＲ回路４４，４５を設ける簡素な構成により、データ化けの発生を記憶情報の１ビット分のみに抑えることが可能となる。従って、使用を重ねるにつれて必然的に発生するメモリセル３０等の劣化に起因するデータ化けによって多値記憶情報が失われても、効率良く且つ正確に誤り検出を行うことが可能となる。しかも、一組の所定ビット数分の記憶情報に付加する各冗長情報が連続して並列し、各記憶情報及び連続した冗長情報がそれぞれ１つのメモリセル３０に記憶されるため、記憶密度が高まって効率良く記憶情報の書き込み／読み出しを行うことができる。
【０１２５】
なお、第２の実施形態では、各メモリセル３０の持つ記憶量である３ビットの記憶情報に対して１ビットの冗長情報を付加したが、冗長情報に対する記憶情報の割合を大きくして記憶容量の増加を図るため、特定の一群の記憶情報の２つ以上に同時にデータ化けが生じる確率は極めて低いことを考慮して、複数分の３ビットの記憶情報に１ビットの冗長情報を付加することも好適である。
【０１２６】
また、第１の実施形態では４値（２ビット）の多値型のＥＥＰＲＯＭを、第２の実施形態では８値（３ビット）の多値型のＥＥＰＲＯＭをそれぞれ例示したが、本発明はこれらに限定されることはない。例えば、ＥＥＰＲＯＭ以外の不揮発性半導体記憶装置や、ＤＲＡＭ等の揮発性半導体記憶装置、その他のあらゆる多値型の半導体記憶装置に適用することができる。また、４値や８値のみならず、原理的には２n 値（＝ｎビット；ｎは２以上の自然数）の多値型の半導体記憶装置に適用することも可能である。
【０１２７】
更に、第１及び第２の実施形態において説明した書き込み方法及び読み出し方法の機能を実現するように、各種のデバイスを動作させるためのプログラムコード自体及びそのプログラムコードをコンピュータに供給するための手段、例えばかかるプログラムコードを格納した記憶媒体は本発明の範疇に属する。例えば、この記憶媒体としては、図１，図９に示すように、第１の実施形態にて説明した読み出し方法のステップＳ１〜Ｓ１４を実現する記憶媒体５１や、図１５，図１９，図２０に示すように、第２の実施形態にて説明した読み出し方法のステップＳ２１〜Ｓ４４を実現する記憶媒体５２が挙げられる。
【０１２８】
記憶媒体５１，５２は、記憶再生装置６０により、そこに格納されているプログラムコードが読みだされてコンピュータを動作させる。なお、かかるプログラムコードを記憶する記憶媒体としては、例えばフロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【０１２９】
また、コンピュータが供給されたプログラムコードを実行することにより、前述の実施形態の機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）或いは他のアプリケーションソフト等の共同して前述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明に含まれる。
【０１３０】
更に、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現されるシステムも本発明に含まれる。
【０１３１】
【発明の効果】
本発明によれば、使用を重ねるにつれて必然的に発生するメモリセル等の劣化に起因するデータ化けによって多値記憶情報が失われても、効率良く且つ正確に誤り検出を行うことが可能となる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態のＥＥＰＲＯＭの主要構成を示すブロック図である。
【図２】本発明の第１の実施形態のＥＥＰＲＯＭのメモリセルの主要構成を示す概略断面図である。
【図３】本発明の第１の実施形態のＥＥＰＲＯＭの符号化回路部の特定部位のみを示す回路図である。
【図４】本発明の第１の実施形態のＥＥＰＲＯＭの一組（３つ）のメモリセルに記憶情報及び冗長情報が収められる様子を示す模式図である。
【図５】本発明の第１の実施形態のＥＥＰＲＯＭの復号化回路部の特定部位のみを示す回路図である。
【図６】本発明の第１の実施形態のＥＥＰＲＯＭの一組（３つ）のメモリセルに記憶情報及び冗長情報が収められる他の例の様子を示す模式図である。
【図７】本発明の第１の実施形態のＥＥＰＲＯＭの一組（３つ）のメモリセルに記憶情報及び冗長情報が収められる更に他の例の様子を示す模式図である。
【図８】本発明の第１の実施形態のＥＥＰＲＯＭにおいて、しきい値電圧の分布を示す特性図である。
【図９】本発明の第１の実施形態のＥＥＰＲＯＭから４値の記憶情報を読み出す場合の各ステップを示すフローチャートである。
【図１０】本発明の第１の実施形態のＥＥＰＲＯＭにおいて、メモリセルが劣化してしきい値電圧が低下した場合の一例を示す特性図である。
【図１１】従来の４値型のＥＥＰＲＯＭにおいて、メモリセルが劣化してしきい値電圧が低下した場合の一例を示す特性図である。
【図１２】本発明の第１の実施形態のＥＥＰＲＯＭにおいて、記憶情報にデータ化けが生じた場合を一組（３つ）のメモリセルに対応させてその様子を示す模式図である。
【図１３】本発明の第１の実施形態における変形例のＥＥＰＲＯＭの一組（５つ）のメモリセルに記憶情報及び冗長情報が収められる更に他の例の様子を示す模式図である。
【図１４】本発明の第１の実施形態における変形例のＥＥＰＲＯＭにおいて、記憶情報にデータ化けが生じた場合を一組（５つ）のメモリセルに対応させてその様子を示す模式図である。
【図１５】本発明の第２の実施形態のＥＥＰＲＯＭの主要構成を示すブロック図である。
【図１６】本発明の第２の実施形態のＥＥＰＲＯＭの符号化回路部の特定部位のみを示す回路図である。
【図１７】本発明の第２の実施形態のＥＥＰＲＯＭの一組（４つ）のメモリセルに記憶情報及び冗長情報が収められる様子を示す模式図である。
【図１８】本発明の第２の実施形態のＥＥＰＲＯＭの復号化回路部の特定部位のみを示す回路図である。
【図１９】本発明の第２の実施形態のＥＥＰＲＯＭから８値の記憶情報を読み出す場合の各ステップを示すフローチャートである。
【図２０】図１７に引き続き、本発明の第２の実施形態のＥＥＰＲＯＭから８値の記憶情報を読み出す場合の各ステップを示すフローチャートである。
【図２１】本発明の第２の実施形態のＥＥＰＲＯＭにおいて、しきい値電圧の分布を示す特性図である。
【図２２】本発明の第２の実施形態のＥＥＰＲＯＭにおいて、メモリセルが劣化してしきい値電圧が低下した場合の一例を示す特性図である。
【図２３】従来の８値型のＥＥＰＲＯＭにおいて、メモリセルが劣化してしきい値電圧が低下した場合の一例を示す特性図である。
【図２４】本発明の第２の実施形態のＥＥＰＲＯＭにおいて、記憶情報にデータ化けが生じた場合を一組（４つ）のメモリセルに対応させてその様子を示す模式図である。
【符号の説明】
１  シリコン半導体基板
２  素子形成領域
３  ソース
４  ドレイン
５  トンネル酸化膜
６  浮遊ゲート
７  誘電体膜
８  制御ゲート
１０，３０  メモリセル
１１，３１  メモリセルアレイ
１２，３２  符号化回路部
１３，３３  復号化回路部
２１，２２，４１，４２，４３  センスアンプ
２３，４４，４５，４６，４７  ＥＸ−ＯＲ回路
Ｔｒ１〜Ｔｒ３，Ｔｒ１１〜Ｔｒ１７  トランジスタ
５１，５２  記憶媒体
６０  記憶再生装置
【図１】
0003648057.tif 000006
【図２】
0003648057.tif 000007
【図３】
0003648057.tif 000008
【図４】
0003648057.tif 000009
【図５】
0003648057.tif 000010
【図６】
0003648057.tif 000011
【図７】
0003648057.tif 000012
【図８】
0003648057.tif 000013
【図９】
0003648057.tif 000014
【図１０】
0003648057.tif 000015
【図１１】
0003648057.tif 000016
【図１２】
0003648057.tif 000017
【図１３】
0003648057.tif 000018
【図１４】
0003648057.tif 000019
【図１５】
0003648057.tif 000020
【図１６】
0003648057.tif 000021
【図１７】
0003648057.tif 000022
【図１８】
0003648057.tif 000023
【図１９】
0003648057.tif 000024
【図２０】
0003648057.tif 000025
【図２１】
0003648057.tif 000026
【図２２】
0003648057.tif 000027
【図２３】
0003648057.tif 000028
【図２４】
0003648057.tif 000029