(57)【要約】【課題】  不揮発性メモリに対する書込み消去動作の高速性と情報保持の信頼性とを選択可能であって、情報保持の信頼性をさらに向上させる。【解決手段】  フラッシュメモリ（１）は、電気的に書込み及び消去が可能にされる複数の不揮発性メモリセル（２）と、制御回路（５）とを有する。制御回路（５）は、外部から供給されるコマンドの種類に応答して、不揮発性メモリセルに対する書込み及び消去とそのベリファイのための制御を行い、ベリファイによって得られる不揮発性メモリセルの閾値電圧分布の間隔を可変とする。例えば、書込み用コマンドの指示により閾値電圧分布の間隔を大きくするほど、閾値電圧分布の幅を小さくすれば、書込みによる電圧ストレスを小さくでき、情報保持の信頼性が高くなる。一方、閾値電圧分布の間隔を小さくして、閾値電圧分布の幅を大きくすれば、書込み用パルス電圧のパルス幅を大きくでき、書込み動作の高速性を確保できる。【選択図】        図１
2007042222.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリを備えた半導体装置であって、
前記不揮発性メモリは、メモリアレイと制御回路を有し、
前記メモリアレイは、電気的に書込み及び消去が可能にされる複数の不揮発性メモリセルを有し、
前記制御回路は、外部から供給されるコマンドに応答して前記不揮発性メモリセルに対する書込み及び消去とそのベリファイのための制御を行い、
前記制御回路は、前記不揮発性メモリセルに対する書込みにおいて、複数の閾値電圧分布を設定し、
前記制御回路は、書込み又は消去コマンドの種類に応じて、前記ベリファイによって得られる前記不揮発性メモリセルの隣接する閾値電圧分布の間隔を可変とする半導体装置。
【請求項２】
前記制御回路は、コマンドによって指示される前記閾値電圧分布の間隔が大きいほど、前記複数の閾値電圧分布の各々の幅を小さくする請求項１記載の半導体装置。
【請求項３】
前記制御回路は、前記閾値電圧分布の幅を小さくするほど、書込み又は消去用パルス電圧のパルス幅又は電圧値を小さくする請求項１又は請求項２記載の半導体装置。
【請求項４】
前記制御回路は、書込みコマンドの種類に応じて１個の前記不揮発性メモリセルに対する書込みデータビット数を可変とする請求項１乃至３の何れか１項記載の半導体装置。
【請求項５】
前記制御回路は、書込みコマンドの種類に応じて、当該書込み範囲に適用される誤り訂正符号による訂正能力を可変とする請求項１乃至４の何れか１項記載の半導体装置。
【請求項６】
不揮発性メモリを備えた半導体装置であって、
前記不揮発性メモリは、メモリアレイと制御回路を有し、
前記メモリアレイは、電気的に書込み及び消去が可能にされる複数の不揮発性メモリセルを有し、
前記制御回路は、外部から供給されるコマンドに応答して前記不揮発性メモリセルに対する書込み及び消去のための制御を行い、
前記制御回路は、書込みコマンドの種類に応じて１個の前記不揮発性メモリセルに対する書込みデータビット数を可変とする半導体装置。
【請求項７】
前記メモリアレイは、所定のメモリ領域毎に前記書込みデータビット数を示す情報を保持する領域を有し、
前記制御回路は、外部から供給される読出しコマンドに応答するとき、前記メモリアレイの前記領域から前記情報を読み出し、前記書込みデータビット数を判定する請求項６記載の半導体装置。
【請求項８】
前記制御回路は、前記書込みデータビット数を示す情報を保持する領域の１個の前記不揮発性メモリセルに対する書込みデータビット数を１ビットとする請求項７記載の半導体装置。
【請求項９】
前記制御回路は、コマンドによって指示される書込みデータビット数が大きいほど、誤り訂正符号による訂正能力を高くする請求項６記載の半導体装置。
【請求項１０】
不揮発性メモリを備えた半導体装置であって、
前記不揮発性メモリは、メモリアレイと制御回路を有し、
前記メモリアレイは、電気的に書込み及び消去が可能にされる複数の不揮発性メモリセルを有し、
前記制御回路は、外部から供給されるコマンドに応答して前記不揮発性メモリセルに対する書込み及び消去のための制御を行い、
前記制御回路は、書込みコマンドの種類に応じて誤り訂正符号による訂正能力を可変とする半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電気的な閾値電圧の変更によって情報記憶を行う不揮発性メモリを備えた半導体装置に関し、例えばフラッシュメモリに適用して有効な技術に関する。
【背景技術】
【０００２】
フラッシュメモリ等を構成する不揮発性メモリセルの閾値電圧はその電荷蓄積領域に蓄積される電荷量に応じて決まる。例えば電荷蓄積領域からエレクトロン（電子）を放出させる初期化処理（消去）と、電荷蓄積領域に電子を注入するプログラム処理（書込み）とによって情報記憶を行うことができる。記憶情報の書き換えを行うときは、例えばワード線に消去高電圧を印加し、ＦＮ（Fowler-Nordheim）トンネルによって電子を基板方向に引き抜くことにより、ワード線単位で不揮発性メモリセルの閾値電圧を消去状態に初期化することができる。この後、書込み状態とすべき不揮発性メモリセルに対してワード線に書込み高電圧を印加し、チャネルに書込み電流を流し、それによって発生するホットエレクトロンを電荷蓄積領域に注入する。その閾値電圧が所定レベルになるのをベリファイによって確認するまでそのエレクトロンの注入動作を繰り返す。
【０００３】
ところで、不揮発性メモリセルは、酸化膜の膜厚や微少欠陥等に起因して書込み及び消去特性にばらつきを有する。例えば同じ書込み高電圧パルスを印加しても、電子が容易に注入されるものもあれば、容易に注入され難いものもある。このため、書込みや消去動作では書込みベリファイや消去ベリファイによって不揮発性メモリセルの閾値電圧を所定の閾値電圧分布に収めるようにしている。例えば１個の不揮発性メモリセルに２ビットのデータを保持させる場合、その不揮発性メモリセルの閾値電圧を、４値の記憶情報に対応する４種類の閾値電圧分布のうちの一つの閾値電圧分布に入るようにしなければならない。閾値電圧分布を規定するには、分布の上裾及び下裾をベリファイ電圧によって規定すればよい。不揮発性メモリセルの閾値電圧を小さな分布に収めようとする場合には、高圧パルス電圧の印加を徐々に行うようにして、閾値電圧が分布の上裾から飛び出さないようにすることが必要になる。
【０００４】
特許文献１には、異なったパルス電圧の電圧値を指示するコマンドを設け、このコマンドに応答することにより、閾値電圧分布の幅を可変とする技術が記載されている。
【０００５】
【特許文献１】特開２０００−７６８７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明者は、フラッシュメモリにおける書込み消去動作の高速性と情報保持の信頼性との関係について検討した。両者はトレードオフの関係にあり、この２つの性能を共に満たすことは困難である。即ち、フラッシュメモリにおいて、書込み消去動作の高速性を確保しようとすれば、例えば高圧パルス電圧のパルス幅を大きくすればよいが、この場合には、不揮発性メモリセルは大きなストレスを受けることになり、特性劣化の進行が速くなる。その結果、情報保持の信頼性は損なわれる。一方、情報保持の信頼性を確保しようとすれば、例えば上記した高圧パルス電圧幅を小さくして、不揮発性メモリセルの閾値電圧を所定のレベルまで徐々に変化させればよいが、この場合には、書込み消去動作の高速性が損なわれることになる。
【０００７】
特許文献１の技術では、コマンドに応じて閾値電圧分布の幅を可変可能であるから、閾値電圧分布を小さくするほど電圧ストレスの影響を小さくでき、閾値電圧分布を大きくするほど書込み消去時間を短縮でき、用途に応じた使い分けが簡単になる。
【０００８】
しかしながら、特許文献１の技術では、隣接する閾値電圧分布間の電圧マージンは閾値電圧分布の大小に拘らず同じにされている。本発明者の検討によれば、情報保持の信頼性を向上させるには隣接する閾値電圧分布間の電圧マージンを大きくした方が望ましいということが見出された。
【０００９】
また、1個の不揮発性メモリセルに対する書込みデータビット数を１ビット又は２ビットで可変とすることにより、書込みデータビット数を小さくするほど書込み時間を短縮でき、書込みデータビット数を大きくするほど情報の記憶容量を大きくすることができる。このことから、不揮発性メモリセルに対する書込みデータビット数に対しても用途に応じた使い分けを簡単に行うことができるようにすることの必要性が本発明者によって見出された。
【００１０】
さらに、不揮発性メモリセルに対する書込みデータビット数が大きくなるに従って、所定の電圧範囲に設定すべき閾値電圧分布の数が多くなるから、不揮発性メモリセルに対する書込みデータビット数に対しても、不揮発性メモリセルの情報保持の信頼性を考慮することの必要性が本発明者によって見出された。
【００１１】
本発明の目的は、不揮発性メモリに対する書込み消去動作の高速性と情報保持の信頼性とを選択可能な半導体装置において、情報保持の信頼性をさらに向上させることができる半導体装置を提供することにある。
【００１２】
本発明の別の目的は、不揮発性メモリセルに対する書込みデータビット数に対して用途に応じた使い分けを簡単に行うことができる半導体装置を提供することにある。
【００１３】
本発明の更に別の目的は、不揮発性メモリセルに対する書込みデータビット数の増加に従って低下する不揮発性メモリセルの情報保持の信頼性低下を補償することが容易な半導体装置を提供することにある。
【００１４】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１５】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１６】
〔１〕《閾値電圧分布の間隔を可変》本発明に係る半導体装置は、不揮発性メモリを備える。前記不揮発性メモリは、メモリアレイと制御回路を有する。前記メモリアレイは、電気的に書込み及び消去が可能にされる複数の不揮発性メモリセルを有する。前記制御回路は、外部から供給されるコマンドに応答して前記不揮発性メモリセルに対する書込み及び消去とそのベリファイのための制御を行う。前記制御回路は、前記不揮発性メモリセルに対する書込みにおいて、複数の閾値電圧分布を設定する。前記制御回路は、書込み又は消去コマンドの種類に応じて、前記ベリファイによって得られる前記不揮発性メモリセルの隣接する閾値電圧分布の間隔を可変とする。
【００１７】
上記より、コマンドに応じて、隣接する閾値電圧分布間の電圧マージンが可変となるから、例えば電圧マージンを大きくすれば、不揮発性メモリセルの特性劣化が進行して閾値電圧分布の幅が多少大きくなったとしても、隣接する閾値電圧分布がオーバーラップする可能性を低くでき、情報保持の信頼性を確保できる。一方、電圧マージンを小さくすれば、相対的に閾値電圧分布の幅を大きくすることになる。即ち、この場合には、不揮発性メモリセルの閾値電圧を小さな電圧範囲に収める必要がなく、例えば書込み消去用の高圧パルス電圧のパルス幅（印加時間）を大きくできるから、書込み消去動作の高速性を確保できる。従って、書込み消去動作と情報保持の信頼性とのいずれを優先させるかを用途に応じて選択可能とした上で、情報保持の信頼性をさらに向上させることができる。
【００１８】
本発明の具体的な一つの形態として、前記制御回路は、コマンドによって指示される前記閾値電圧分布の間隔が大きいほど、前記複数の閾値電圧分布の各々の幅を小さくする。上記より、閾値電圧分布の間隔を大きくするほど閾値電圧分布の幅を小さくすれば、書込消去用の高圧パルス電圧のパルス幅を小さくすることが必要であるため書込みによる電圧ストレスが小さくなり、その分だけ電圧マージンが大きくなると共に不揮発性メモリセルのストレスによる劣化を少なくすることができるから、情報保持の信頼性が高くなる。
【００１９】
本発明の具体的な一つの形態として、前記制御回路は、前記閾値電圧分布の幅を小さくするほど、書込み又は消去用パルス電圧のパルス幅又は電圧値を小さくする。
【００２０】
本発明の具体的な一つの形態として、前記制御回路は、書込みコマンドの種類に応じて１個の前記不揮発性メモリセルに対する書込みデータビット数を可変とする。上記より、閾値電圧分布間の電圧マージンを大きくして情報保持の信頼性を上げ、且つ書込み時間を短くするには書込みデータビット数を小さくし、また、記憶容量を大きくするには書込みデータビット数を大きくする、という選択を必要に応じてコマンドで行うことができる。
【００２１】
本発明の具体的な一つの形態として、前記制御回路は、書込みコマンドの種類に応じて、当該書込み範囲に適用される誤り訂正符号による訂正能力を可変とする。上記より、不揮発性メモリセルそれ自体による情報保持の信頼性に対し、必要に応じて誤り訂正符号による強化を図ることができる。
【００２２】
〔２〕《書込みデータビット数を可変》別の観点による半導体装置は、不揮発性メモリを備える。前記不揮発性メモリは、メモリアレイと制御回路を有する。前記メモリアレイは、電気的に書込み及び消去が可能にされる複数の不揮発性メモリセルを有する。前記制御回路は、外部から供給されるコマンドに応答して前記不揮発性メモリセルに対する書込み及び消去のための制御を行う。前記制御回路は、書込みコマンドの種類に応じて１個の前記不揮発性メモリセルに対する書込みデータビット数を可変とする。
【００２３】
上記より、閾値電圧分布間の電圧マージンを大きくして情報保持の信頼性を上げ、且つ書込み時間を短くするには書込みデータビット数を小さくし、また、記憶容量を大きくするには書込みデータビット数を大きくする、という選択を必要に応じてコマンドで行うことができる。
【００２４】
本発明の具体的な一つの形態として、前記メモリアレイは、所定のメモリ領域毎に前記書込みデータビット数を示す情報を保持する領域を有する。前記制御回路は、外部から供給される読出しコマンドに応答するとき、前記メモリアレイの前記領域から前記情報を読み出し、前記書込みデータビット数を判定する。上記より、メモリ領域毎に任意の書込みコマンドを用いて書込みを行っても、メモリ領域毎に１個の不揮発性メモリセルに対する書込みデータビット数が何ビットであるかを不揮発性メモリの外部で管理することなく、記憶情報の読出しを行うことができる。
【００２５】
本発明の具体的な一つの形態として、前記制御回路は、前記書込みデータビット数を示す情報を保持する領域の１個の前記不揮発性メモリセルに対する書込みデータビット数を１ビットとする。要するに、不揮発性メモリセルに２値書込みを行う。上記より、メモリ領域に対する書込みデータビット数が１ビットであっても複数ビットであっても、メモリ領域に対する読み出し動作の最初と同じ動作によって、１個の不揮発性メモリセルに対する書込みデータビット数を示す情報の読み出しを行うことができるから、読出し動作に無駄がない。
【００２６】
本発明の具体的な一つの形態として、前記制御回路は、コマンドによって指示される書込みデータビット数が大きいほど、誤り訂正符号による訂正能力を高くする。上記より、不揮発性メモリセルそれ自体による情報保持の信頼性に対し、必要に応じて誤り訂正符号による強化を図ることができる。
【００２７】
〔３〕《誤り訂正符合による訂正能力を可変》別の観点による半導体装置は、不揮発性メモリを備える。前記不揮発性メモリは、メモリアレイと制御回路を有する。前記メモリアレイは、電気的に書込み及び消去が可能にされる複数の不揮発性メモリセルを有する。前記制御回路は、外部から供給されるコマンドに応答して前記不揮発性メモリセルに対する書込み及び消去のための制御を行う。前記制御回路は、書込みコマンドの種類に応じて誤り訂正符号による訂正能力を可変とする。
【００２８】
上記より、不揮発性メモリセルそれ自体による情報保持の信頼性に対し、必要に応じて誤り訂正符号による強化を図ることができる。
【発明の効果】
【００２９】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００３０】
すなわち、不揮発性メモリに対する書込み消去動作の高速性と情報保持の信頼性とを選択可能であって、情報保持の信頼性をさらに向上させることができる。
【００３１】
不揮発性メモリセルに対する書込みデータビット数に対して用途に応じた使い分けを簡単に行うことができる。
【００３２】
不揮発性メモリセルに対する書込みデータビット数の増加に従って低下する不揮発性メモリセルの情報保持の信頼性低下を容易に補償することができる。
【発明を実施するための最良の形態】
【００３３】
《フラッシュメモリの全体構成》
図１には本発明を適用したフラッシュメモリが例示される。同図に示されるフラッシュメモリ１は、２値又は多値で情報記憶が可能にされた不揮発性メモリであり、特に制限されないが、単結晶シリコン等の１個の半導体基板に、相補型ＭＯＳ集積回路製造技術によって形成されている。
【００３４】
このフラッシュメモリ１は、多数の不揮発性メモリセル２をマトリクス状に配置したメモリアレイ（ＭＡＲＹ）３を有する。図には代表的に１個の不揮発性メモリセル２が示される。図２には不揮発性メモリセル２のデバイス構造が例示される。同図に例示される不揮発性メモリセル２は、特に制限されないが、２層ゲート構造の絶縁ゲート型のｎチャンネル電界効果トランジスタにより構成されている。この不揮発性メモリセル２は、例えばＰ型シリコン基板上に設けたＰ型ウエル領域ＰＷと、Ｐ型ウエル領域ＰＷに形成されたソースＳＣ及びドレインＤＲと、フローティングゲートＦＧと、コントロールゲートＣＧとを有する。フローティングゲートＦＧは、ソースＳＣとドレインＤＲの間のチャネル形成領域の上に、トンネル絶縁膜としての薄いゲート酸化膜を介して配置されている。コントロールゲートＣＧは、フローティングゲートＦＧの上に、絶縁膜を介して配置されている。
【００３５】
次に、この不揮発性メモリセル２に対する情報のプログラム動作（書込み動作）、消去動作及び読出し動作について説明する。書込み動作は、図示のように、例えばシリコン基板とソースＳＣを接地（０Ｖ）し、コントロールゲートＣＧに高電圧を印加し、さらに、ドレインＤＲに電圧を印加して、ドレインＤＲからソースＳＣに電流を流すことにより、ホットエレクトロン（電子）をフローティングゲートＦＧに注入することで実現される。ここで、コントロールゲートＣＧに印加される高電圧は、スイッチＳＷにより例えば１５Ｖと２０Ｖの２種類を選択可能となっている。また、ドレインＤＲには、例えば４．５Ｖの電圧が印加される。この書込み動作により、不揮発性メモリセル２は、そのコントロールゲートＣＧからみた閾値電圧が、書込み動作を行わなかったものに比べて高くされる。多値で情報記憶を行う場合には、記憶情報ビット数に応じて異なる閾値電圧が設定される。
【００３６】
一方、消去動作は、例えばＰ型ウエル領域ＰＷとコントロールゲートＣＧを接地し、ドレインＤＲをオープンにした状態で、ソースＳＣに高電圧を印加することにより、トンネル現象が生じ、書込み動作によりフローティングゲートＦＧに注入された電子を電界でソースＳＣ側に引き抜くことによって実現される。この消去動作により、不揮発性メモリセル２は、そのコントロールゲートＣＧからみた閾値電圧が低くされる。また、読出し動作は、例えば消去状態の不揮発性メモリセル２の閾値電圧分布と、書込み状態の不揮発性メモリセル２の閾値電圧分布との間のワード線選択レベルをコントロールゲートＣＧに与えることによって行われる。
【００３７】
ここで再び図１に戻って説明する。不揮発性メモリセル２のドレインＤＲは、列毎にビット線ＢＬに接続され、コントロールゲートＣＧは、行単位でワード線ＷＬに接続される。また、不揮発性メモリセル２のソースＳＣは、一括消去単位とされる消去ブロック毎に共通のソース線ＳＬに接続される。なお、図１において、ワード線ＷＬ、ビット線ＢＬ及びソース線ＳＬは各１本図示してあるが、実際にはメモリアレイ３の規模に応じて多数配置されている。
【００３８】
入出力バッファ（ＩＯＢ）４はコマンド入力、データ入出力、アドレス入力、及びストローブ信号入力を行う。制御回路（ＣＮＴ）５は、コマンドデコーダ（ＣＭＤＤＥＣ）６とシーケンサ（ＳＱＥＣ）７を有し、不揮発性メモリセル２に対する書込み及び消去とそのベリファイのための制御等を行う。コマンドデコーダ６は、ストローブ信号と共にコマンドを入力し、入力したコマンドを解読する。シーケンサ７は、解読結果に基づいて書込み及び消去等の内部動作を制御する。その制御形態はコマンドによって相違される。制御回路５は、例えば１個の不揮発性メモリセル２に対する書込みデータのビット数を可変とするコマンド、書込みデータの値毎の閾値電圧分布の間隔を可変とするコマンド、そして、ＥＣＣのような誤り訂正符号による訂正能力を可変とするコマンドに応答して動作を制御する。その詳細は後述する。
【００３９】
コマンドと共に供給されるロウアドレス信号は、ロウアドレスレジスタ（ＲＡＲＥＧ）８を介してロウアドレスデコーダ（ＲＡＤＥＣ）９に供給される。ロウアドレスデコーダ９は、ロウアドレス信号をデコードしてワード線ＷＬ及びソース線ＳＬの選択を行う。電源回路（ＶＧＥＮ）１０は、選択されたワード線ＷＬに供給すべき電圧を生成する。電源切替回路（ＶＳＥＬ）１１は、コマンドで指示されている動作に応じて、電源回路１０が生成した電圧を選択する。ここで、φ１は電源生成を制御する制御信号を総称し、φ２は電源切替を行う制御信号を総称する。選択されたワード線ＷＬには、書込み動作では書込みパルス電圧が供給され、読出し動作では読出し用電圧が供給される。また、選択されたソース線ＳＬには、消去動作では消去パルス電圧が供給される。シーケンサ７は、コマンドの解読結果に基づいて、内部動作の手順を制御し、例えば書込みパルス電圧や消去パルス電圧のレベルとパルス幅の選択、そして書込み及び消去ベリファイのためのワード線電圧の選択を制御する。
【００４０】
書換回路（ＰＧＭＣ）１２にはビット線ＢＬが接続される。書換回路１２は、各ビット線ＢＬに一対一対応される図示を省略するセンスラッチを有する。センスラッチは、読出し動作ではビット線ＢＬに読み出された記憶情報を保持し、書込み動作では書込み許容又は書込み阻止を制御する制御ビットを保持する。書込み許容の制御ビットを保持するセンスラッチは、対応するビット線ＢＬをハイレベルに駆動して、書込みに必要なドレインＤＲ・ソースＳＣ間電流を形成する。また、書込み阻止の制御ビットを保持するセンスラッチは、対応するビット線ＢＬをローレベルに駆動し、前記ドレインＤＲ・ソースＳＣ間電流の形成を阻止する。この制御ビットは、データレジスタ回路（ＤＲＥＧ）１３に保持された書込みデータに基づいて、書換回路１２により生成される。具体的には、多値で情報記憶を行う場合、書換回路１２は、異なる閾値電圧を設定する動作を行う毎に、順次異なる制御ビットを生成する。φ３は、書換用の制御信号を総称する。
【００４１】
読出し動作では、ワード線ＷＬ１本の選択によって不揮発性メモリセル２から読み出される情報は、センスラッチのアレイからデータレジスタ回路１３に内部転送される。具体的には、多値で記憶された情報を読出す場合、データレジスタ回路１３は、複数回に分けたワード線選択動作毎に不揮発性メモリセル２から読み出された情報の内部転送を受け、所定の論理回路を通すことによって多値の記憶情報を得ることができる。データレジスタ回路１３に対する書込みデータの入力選択、データレジスタ回路１３に対する読み出された情報の出力選択は、カラムスイッチ回路（ＣＳＷ）１４で選択される８ビット又は１６ビット単位で行われる。
【００４２】
コマンドと共に供給されるカラムアドレス信号は、カラムアドレスカウンタ（ＣＡＣＵＮＴ）１５にプリセットされる。カラムアドレスカウンタ１５は、必要に応じてアドレスインクリメント動作を行い、カラムアドレス信号をカラムアドレスデコーダ（ＣＡＤＥＣ）１６に供給する。カラムアドレスデコーダ１６は、カラムアドレス信号をデコードして、デコード結果を出力する。カラムスイッチ回路１４は、デコード結果に基づいて８ビット単位又は１６ビット単位でビット線ＢＬを選択する。シーケンサ７は、コマンドの解読結果に基づいて、８ビット単位又は１６ビット単位の何れの選択を行うかを制御する。ここで、φ４は、選択用の制御信号を総称する。
【００４３】
また、特に制限されないが、カラムスイッチ回路１４の後段には、ＥＣＣ回路（ＥＣＣＥＤ）１７が接続される。ＥＣＣ回路１７は、８ビットのデータに対するエラー訂正能力が１ビットであるＥＣＣの生成と、そのようなＥＣＣに基づくエラー訂正を選択的に行う。ＥＣＣ回路１７は、入出力バッファ４に入力された書込みデータに対して選択的にＥＣＣを生成し、書込みデータにＥＣＣ等を付加してカラムスイッチ回路１４に出力する。ＥＣＣ回路１７は、ＥＣＣが付加された読出しデータに対してはＥＣＣに基づくエラー検出及びエラー訂正を行う。ＥＣＣ回路１７には、入出力バッファ４から８ビットの書込みデータが供給される。また、ＥＣＣ回路１７は、８ビットの読出しデータをメインアンプ（ＭＡＭＰ）１８に出力する。メインアンプ１８は、読出しデータを増幅して入出力バッファに供給する。シーケンサ７は、コマンドの解読結果等に基づいて、ＥＣＣ回路１７によるＥＣＣの付加とＥＣＣによるエラー訂正を行うか否かを制御する。ここで、φ５は、ＥＣＣ回路１７の機能を使用するか否かを制御する制御信号を総称する。シーケンサ７は、例えばＥＣＣ回路１７を使用しないとき、カラムスイッチ回路１４を８ビット単位で選択動作させ、ＥＣＣ回路１７を使用するとき、カラムスイッチ回路１４を１６ビット単位で選択動作させる。なお、ＥＣＣによるエラー訂正において、１ビットのエラー訂正能力を得るために必要とされるエラー訂正用ビット数は、データのビット数に対して２を底とする対数をとり、これに２を加えることで求めることができる。即ち、書込みデータが８ビットである場合には、エラー訂正用ビット数は５ビット必要となる。このため、カラムスイッチ回路１４を１６ビット単位で選択動作させれば、エラー訂正用ビット数を５ビット付加することが可能となり、１ビットのエラー訂正能力を有することができる。
【００４４】
《各種コマンドに応答して得られる不揮発性メモリの閾値電圧分布》
１個の不揮発性メモリセル２には、特に限定されないが、２値、４値、１６値で情報記憶を行うことができる。なお、２値、４値、１６値で情報記憶を行うとは、１個の不揮発性メモリセル２に対する書込みデータビット数を、それぞれ１ビット、２ビット、４ビットとすることである。これらの情報記憶は、入出力バッファ４を介して外部から制御回路５に供給される各種コマンドに応答して行われる。図８には、各種コマンドの代表的な仕様が例示される。各種コマンドは、書込み用コマンドと消去用コマンドとに大別され、さらに、それぞれ書込み消去動作の高速性と情報保持の信頼性のいずれかを優先させたものがある。書込み消去動作の高速性は、プログラムタイムやイレーズタイムが短いほど高い。情報保持の信頼性は、書換え可能（許容）回数が多く、データ保持年数が長いほど高い。また、それぞれのコマンドは、何値で情報記憶を行うかを指示したり、ＥＣＣによるエラー訂正を行うか否かを指示することもできる。
【００４５】
まず、不揮発性メモリセル２に４値で情報記憶を行う場合について説明する。図３〜図５には、４値による記憶情報とその閾値電圧分布が例示されている。なお、例示された閾値電圧分布は、書込み又は消去用パルス電圧の電圧値を略一定として概略的に示したものである。４値による記憶情報（Ｌｏｇｉｃａｌ  Ｖａｌｕｅｓ）は、“１１”データ、“１０”データ、“００”データ、“０１”データとされる。“１１”データは、消去動作で得られ、“１０”データ、“００”データ及び“０１”データは、書込み動作で得られる。不揮発性メモリセル２の閾値電圧（Ｖｔｈ）は、これらの記憶情報“１１”，“１０”，“００”，“０１”に応じて異なる。ＶＷＶ０は、消去ベリファイ時での記憶情報“１１”に応じた下裾ベリファイ電圧である。ＶＷＶ１，ＶＷＶ２，ＶＷＶ３は、書込みベリファイ時での記憶情報“１０”，“００”，“０１”に応じた下裾ベリファイ電圧である。ＶＷＥ０は、消去ベリファイ時での記憶情報“１１”に応じた上裾ベリファイ電圧である。ＶＷＥ１，ＶＷＥ２は、書込みベリファイ時での記憶情報“１０”，“００”に応じた上裾ベリファイ電圧である。ここで、消去ベリファイ（又は書込みベリファイ）とは、不揮発性メモリセル２の閾値電圧を低い状態（又は高い状態）にする場合に、消去用パルス電圧（又は書込み用パルス電圧）を印加しながら、この閾値電圧が上裾ベリファイ電圧と下裾ベリファイ電圧により規定される電圧範囲内に収まったかを判定することをいう。
【００４６】
即ち、書込みベリファイや消去ベリファイでは、記憶情報“１１”，“１０”，“００”，“０１”に応じて設定された上裾ベリファイ電圧と下裾ベリファイ電圧により規定される電圧範囲に、不揮発性メモリセル２の閾値電圧を収めるように、書込み又は消去用パルス電圧を印加する。これにより、記憶情報“１１”，“１０”，“００”，“０１”に応じた閾値電圧分布が得られる。また、ＶＲＷ１，ＶＲＷ２，ＶＲＷ３は、読出し動作時に記憶情報“１１”，“１０”，“００”，“０１”を判定可能にするための読出しワード線電圧である。
【００４７】
図３に例示された記憶情報“１０”，“００”，“０１”に応じた閾値電圧分布は、書込み用コマンドの一つである「ライトコマンド」に応答して形成されたものである。また、記憶情報“１１”に応じた閾値電圧分布のうち、説明の便宜上、実線、一点鎖線、点線でそれぞれ示した閾値電圧分布は、消去用コマンドの「消去コマンド」、「高速消去コマンド」、「高信頼消去コマンド」に応答してそれぞれ形成されたものである。なお、この高速消去コマンドと高信頼消去コマンドに応答して閾値電圧分布を形成するときも、図示を省略した上裾ベリファイ電圧及び下裾ベリファイ電圧が用いられ、また、これらの閾値電圧分布に書込まれた記憶情報“１１”の読出し動作時には図示を省略した読出しワード線電圧が用いられる。
【００４８】
《消去用コマンドの特性》
消去コマンドは、消去動作の高速性と情報保持の信頼性とのトレードオフにより決定されるコマンドであり、例えばイレーズタイムが２ｍｓ（ミリ秒）、書換え可能回数が１００Ｋｃｙｃ（キロ回）というような特性を有する。消去状態は不揮発性メモリセル２の熱平衡状態に近い状態であるから、消去状態でのデータ保持年数に対するイレーズタイムの影響は小さい。イレーズタイムが長くなるほど、電圧ストレスが大きくなるので、それは書込み状態におけるデータ保持年数に影響することになる。また、高速消去コマンドは、消去コマンドと比べると、書換え可能回数が１Ｋｃｙｃとなって信頼性は多少損なわれるが、イレーズタイムが５００μｓ（マイクロ秒）となって消去動作の高速性が確保されている。また、高信頼消去コマンドは、消去コマンドと比べると、イレーズタイムが５ｍｓとなり高速性は多少損なわれるが、例えば書換え可能回数が１００Ｋｃｙｃより非常に多くなって情報保持の信頼性が確保されている。
【００４９】
ここで、上記した３つの消去用コマンドに応答して得られたそれぞれの閾値電圧分布を比較する。これらの閾値電圧分布は、各消去用コマンドに応答して設定された上裾ベリファイ電圧と下裾ベリファイ電圧により規定される電圧範囲に収まっており、その幅が異なる。具体的には、高速消去コマンド、消去コマンド、高信頼消去コマンドの順に、消去用パルス電圧のパルス幅を降順で小さくする、又は消去用パルス電圧の電圧値を降順で低くすることによって、閾値電圧分布の幅を小さくする。図３に示されるように、隣接する閾値電圧分布（ここでは、記憶情報“１０”に応じた閾値電圧分布）との電圧マージン（以下、間隔とも記す）が大きいほど、閾値電圧分布の幅が小さくなる。３つの消去用コマンドは、情報保持の信頼性が高いコマンドであるほど、閾値電圧分布の間隔を大きくし、且つ、閾値電圧分布の幅を小さくしているので、経年数で閾値電圧の変動による影響を受け難く、消去による電圧ストレスも小さくなり、その分だけ情報保持の信頼性が高くなる。
【００５０】
また、フローティングゲートＦＧとソースＳＣとの間のトンネル絶縁膜にかかる電界密度を考えると、フローティングゲートＦＧに電子が注入されている状態で消去パルスを印加した場合は、トンネル絶縁膜にかかる電界密度が高くストレスも大きい。一方、電子が注入されていない状態で消去パルスを印可した場合のトンネル絶縁膜にかかる電界密度は低くストレスも小さい。このため、高速消去コマンドでは、消去パルスの初期パルスの電圧値を高くしてフローティングゲートＦＧからの電子の引き抜きを行う制御を行ってもよい。また、高信頼消去コマンドでは、消去パルスの初期パルスは電圧値を低くし、その後消去パルスの電圧値を高くしてフローティングゲートＦＧからの電子の引き抜きを行う制御を行ってもよい。
【００５１】
《書込み用コマンドの特性》
ライトコマンドは、書込み動作の高速性と情報保持の信頼性とのトレードオフにより決定されるコマンドであり、例えばプログラムタイムが５００μｓ、書換え可能回数が１００Ｋｃｙｃでデータ保持が１０年というような特性を有する。また、ライトコマンドでは、不揮発性メモリセル２に対しては４値書込みを行うこと、ＥＣＣによるエラー訂正は行わないことが指示されている。
【００５２】
図４、図５に例示された記憶情報“１０”，“００”，“０１”に応じた閾値電圧分布は、それぞれ書込み用コマンドの一つである「高速ライトコマンド」、「高信頼ライトコマンド」に応答して形成されたものである。なお、記憶情報“１１”に応じた閾値電圧分布は、上記した消去コマンドにより形成されたものであり、説明を省略する。高速ライトコマンドは、ライトコマンドと比べると、書換え可能回数が１Ｋｃｙｃでデータ保持が２年となって信頼性は多少損なわれるが、プログラムタイムが１００μｓとなって書込み動作の高速性が確保されている。また、高信頼ライトコマンドは、ライトコマンドと比べると、プログラムタイムが５ｍｓとなって高速性は多少損なわれるが、書換え可能回数が１０００Ｋｃｙｃでデータ保持が３０年となって情報保持の信頼性が確保されている。
【００５３】
ここで、上記した３つの書込み用コマンドに応答して得られたそれぞれの閾値電圧分布を比較する。これらの閾値電圧分布は、各書込み用コマンドに応答して設定された上裾ベリファイ電圧と下裾ベリファイ電圧により規定される電圧範囲に収まっており、その幅が異なる。具体的には、高速ライトコマンド、ライトコマンド、高信頼ライトコマンドの順に、閾値電圧分布の幅が降順で小さくなっている。高信頼ライトコマンドに応答するときは、図９に例示されるように、書込み用パルス電圧のパルス幅をＷ１とすればよい。高速ライトコマンドの場合には、パルス幅Ｗ２のパルス電圧を使用すればよい。なお、パルス幅が一定であれば、電圧値を小さくすることで、閾値電圧分布の幅を小さくしてもよい。また、図３〜図５を比較すると、隣接する閾値電圧分布との間隔が大きいほど、閾値電圧分布の幅が小さくなる。従って、３つの書込み用コマンドは、情報保持の信頼性が高いコマンドであるほど、閾値電圧分布の間隔を大きくし、且つ、閾値電圧分布の幅を小さくしているので、経年数で閾値電圧の変動による影響を受け難く、書込みによる電圧ストレスも小さくなり、その分だけ情報保持の信頼性が高くなる。
【００５４】
次に、不揮発性メモリセル２に２値で情報記憶を行う場合について説明する。図６には、２値による記憶情報とその閾値電圧分布が例示されている。２値による記憶情報は、“１”データ、“０”データとされる。“１”データは、消去動作で得られ、“０”データは、書込み動作で得られる。不揮発性メモリセル２の閾値電圧は、これらの記憶情報“１”，“０”に応じて異なる。ＶＷＶ０は、消去ベリファイ時での記憶情報“１”に応じた下裾ベリファイ電圧である。ＶＷＶ１は、書込みベリファイ時での記憶情報“０”に応じた下裾ベリファイ電圧である。ＶＷＥ０は、消去ベリファイ時での記憶情報“１”に応じた上裾ベリファイ電圧である。ＶＷＥ１は、書込みベリファイ時での記憶情報“０”に応じた上裾ベリファイ電圧である。書込みベリファイや消去ベリファイにより、記憶情報“１”，“０”に応じた閾値電圧分布が得られる。また、ＶＲＷ１は、読出し動作時に記憶情報“１”，“０”を判定可能にするための読出しワード線電圧である。
【００５５】
図６に例示された記憶情報“１”，“０”に応じた閾値電圧分布は、書込み用コマンドの一つである「無限ライトコマンド」に応答して形成されたものである。無限ライトコマンドは、上記したライトコマンドと比べると、データ保持が１年となり情報保持の信頼性は多少損なわれるが、プログラムタイムが５０μｓとなって書込み動作の高速性が確保されている。さらに、無限ライトコマンドでは、“０”データの上裾ベリファイ電圧と下裾ベリファイ電圧により規定される電圧範囲を大きくしているので、書込み高電圧パルスの印加回数は極めて少なくて済み、電圧ストレスをほとんど受けず、書換え可能回数を高信頼ライトコマンドと比較しても非常に多数とすることができる。一方、無限ライトコマンドでは、ＶＲＷ１に対して書込みの閾値電圧分布の幅が大きくなるので、上記したように情報保持の信頼性が低くなる。また、無限ライトコマンドでは、不揮発性メモリセル２に対して何値書込みを行うかを示す数（弁別数とも記す）を半分とし（ここでは、２値書込みを行うこと）、ＥＣＣによるエラー訂正は行わないことを指示する。従って、無限ライトコマンドでは、不揮発性メモリセル２に書込まれる記憶情報の容量が小さくなるが、書換え可能回数を極めて大きくすることができる。
【００５６】
次に、不揮発性メモリセル２に１６値で情報記憶を行う場合について説明する。図７には、１６値による記憶情報とその閾値電圧分布が例示されている。１６値による記憶情報は、“１１１１”データ〜“００００”データとされる。“１１１１”データは、消去動作で得られ、それ以外のデータは、書込み動作で得られる。不揮発性メモリセル２の閾値電圧は、これらの記憶情報“１１１１”〜“００００”に応じて異なる。書込みベリファイや消去ベリファイにより、記憶情報“１１１１”〜“００００”に応じた閾値電圧分布を形成するときには、図示を省略した上裾ベリファイ電圧及び下裾ベリファイ電圧が用いられる。また、これらの閾値電圧分布に書込まれた記憶情報“１１１１”〜“００００”の読出し動作時には、図示を省略した読出しワード線電圧が用いられる。
【００５７】
図７に例示された記憶情報“１１１１”〜“００００”に応じた閾値電圧分布は、書込み用コマンドの一つである「高容量ライトコマンド」に応答して形成されたものである。高容量ライトコマンドは、ＥＣＣを適用し、１６値で書込みを指示するコマンドである。高容量ライトコマンドは、情報記憶の容量を増すことができるが、そのままでは閾値電圧分布の間隔が極めて小さくなるので、ＥＣＣを適用することによって、情報保持の信頼性をある程度補償できるようにし、全体として書換え可能回数が１Ｋｃｙｃでデータ保持が１年となるようにしている。
【００５８】
次に、図８に例示されたＲＡＩＤライトコマンドについて説明する。ＲＡＩＤライトコマンドは、ライトコマンドと比べると、プログラムタイムが５００μｓ、書換え可能回数が１００Ｋｃｙｃでデータ保持が１０年というような特性を有する。しかしながら、ＲＡＩＤライトコマンドでは、例えば４値書込みされた記憶情報をコピーして情報記憶（いわゆるミラーリング）を行うように指示する。このため、ＲＡＩＤライトコマンドは、情報記憶の容量は半分となるが、不揮発性メモリセル２の一部に障害が発生したとしても、正常な部分からコピーされた記憶情報を取り出すことで復旧できるという特性を有する。
【００５９】
《各種コマンドに従った消去動作及び書込み動作》
図１０には各種コマンドに応答して動作を制御する制御回路５のフローが例示される。制御回路５は、電源の供給が開始されると（Ｓ１）、所定の初期処理を行う（Ｓ２）。そして、制御回路５は、コマンドが供給されたか否かを判定する（Ｓ３）。コマンドが外部から供給されたときは、これを解析する（Ｓ４）。次に、制御回路５は、ステップＳ４によるコマンド解析の解析結果に応じたパラメータ設定を行い（Ｓ５）、このパラメータに従って各種動作を実行する（Ｓ６）。
【００６０】
まず、制御回路５に消去用コマンドが供給された場合について説明する。この場合には、ステップＳ６で消去フローが実行される。制御回路５は、消去の開始が指示されると、消去対象ブロックを設定し、この消去対象ブロックに消去用パルス電圧を所定時間だけ印加させる。これに続いて制御回路５は、消去対象の不揮発性メモリセル２に対する消去ベリファイを行い、その閾値電圧が消去判定レベル（例えば上裾ベリファイ電圧ＶＷＥ０）以下になったか否かを判別する。そして、制御回路５は、消去判定レベル以下でなければ更に消去用パルス電圧の印加を行い、その閾値電圧が消去判定レベル以下になるまで消去用パルス電圧の印加と消去ベリファイを繰り返し、消去判定レベル以下になったところで消去動作を終了する。また、消去対象の不揮発性メモリセル２が過剰消去の状態となった場合には、その閾値電圧分布の下裾レベルを上げるために書き戻し処理を行うようにしてもよい。書き戻し処理では、過剰消去状態となった不揮発性メモリセル２の閾値電圧が、過剰消去判定レベル（例えば下裾ベリファイ電圧ＶＷＶ０）以上になるまで、書込み用パルス電圧を徐々に印加する。これにより、消去対象の不揮発性メモリセル２の閾値電圧分布を、上裾ベリファイ電圧ＶＷＥ０と下裾ベリファイ電圧ＶＷＶ０により規定される電圧範囲に収めることができる。
【００６１】
次に、制御回路５に書込み用コマンド（例えばライトコマンド）が供給された場合について説明する。この場合には、ステップＳ６で書込みフローが実行される。図１１〜図１３には書込み動作のフローチャートが示される。制御回路５は、書込みアドレスを伴ってライトコマンドが投入され（Ｓ１１）、続いて書込みデータが入力されると（Ｓ１２）、書込み動作のための制御シーケンスを開始する。ここで、ステップＳ１２で入力された書込みデータは、図１に例示したデータレジスタ回路１３に保持される。制御回路５は、データレジスタ回路１３が保持する書込みデータに従って“０１”書込みを行う。即ち、ライトコマンドでは４値書込みを行うが、２ビット毎の値が“０１”データであれば制御ビット“１”を、それ以外であれば“０”を書換回路１２の対応するセンスラッチに転送する（Ｓ１３）。そして、制御回路５は、書込みアドレスにより、“０１”データの書込み対象となっている不揮発性メモリセル２に書込み用パルス電圧を所定時間だけ印加させる書込み処理を行い（Ｓ１４）、その閾値電圧が書込み判定レベル（例えば下裾ベリファイ電圧ＶＷＶ３）以上になったか否かを判別する“０１”書込みベリファイを行う（Ｓ１５）。そして、制御回路５は、書込み判定レベル以上でなければ更に書込み用パルス電圧の印加を行い、書込み判定レベル以上になるまでステップＳ１４，Ｓ１５を繰り返し、書込み判定レベル以上になったところで“０１”書込み動作をパスする。
【００６２】
そして、制御回路５は、“０１”書込み動作がパスになると、図１２に示されるように、データレジスタ回路１３が保持する書込みデータに従って“００”書込みを行う。即ち、書込みデータの２ビット毎の値が“００”データであれば制御ビット“１”を、それ以外であれば“０”をセンスラッチに転送する（Ｓ１６）。そして、制御回路５は、“００”データの書込み対象の不揮発性メモリセル２に対して書込み処理を行い（Ｓ１７）、その閾値電圧が書込み判定レベル（例えば下裾ベリファイ電圧ＶＷＶ２）以上になったか否かを判別する“００”書込みベリファイを行う（Ｓ１８）。そして、制御回路５は、書込み判定レベル以上でなければ更に書込み用パルス電圧の印加を行い、書込み判定レベル以上になるまでステップＳ１７，Ｓ１８を繰り返し、書込み判定レベル以上になったところで“００”書込み動作をパスする。
【００６３】
さらに、制御回路５は、“００”書込み動作がパスになると、図１３に示されるように、データレジスタ回路１３が保持する書込みデータに従って“１０”書込みを行う。即ち、書込みデータの２ビット毎の値が“１０”データであれば制御ビット“１”を、それ以外であれば“０”をセンスラッチに転送する（Ｓ１９）。そして、制御回路５は、“１０”データの書込み対象の不揮発性メモリセル２に対して書込み処理を行い（Ｓ２０）、その閾値電圧が書込み判定レベル（例えば下裾ベリファイ電圧ＶＷＶ１）以上になったか否かを判別する“１０”書込みベリファイを行う（Ｓ２１）。そして、制御回路５は、書込み判定レベル以上でなければ更に書込み用パルス電圧の印加を行い、書込み判定レベル以上になるまでステップＳ２０，Ｓ２１を繰り返し、書込み判定レベル以上になったところで“１０”書込み動作をパスする。最後に、制御回路５は、“１０”書込み動作がパスになると、“１０”データ、“００”データの各閾値電圧分布に対して、それぞれ上裾ベリファイ電圧ＶＷＥ１、ＶＷＥ２を用いて上裾レベルの判定を行う（Ｓ２２）。そして、制御回路５は、書込み対象とされた全ての不揮発性メモリセル２に対して、閾値電圧分布の上裾レベルがそれぞれの上裾ベリファイ電圧以下であれば、書込み動作は成功として、上記書込みフローを終了し（Ｓ２３）、一方、上裾レベルが上裾ベリファイ電圧よりも大きければ書込み動作は失敗とする（Ｓ２４）。
【００６４】
《弁別数情報の記録》
図１４にはメモリアレイ３のセクタの構成が例示される。セクタ３０とは消去単位或いは書込み単位とされるような記憶領域の単位を意味し、データ領域３１と管理領域３２に大別される。特に制限されないが、ファイルメモリの場合には管理領域３２にはセクタ３０の有効性を示す情報、セクタ３０の論理アドレスと物理アドレスを対応付けるための情報等を保持する。ここでは管理領域３２は２ビットの弁別数識別情報を含む。弁別数識別情報は、データ領域３１の情報記憶が２値、４値又は１６値の何れで行われているかを示す情報である。この弁別数識別情報は、“１１”であれば４値書込み、“１０”であれば２値書込み、“００”であれば１６値書込みがそれぞれ行われたことを示す。ここではセクタ３０は少なくとも書込み単位とされる。特に、管理領域３２はデータ領域３１の情報記憶が何値で行われようとも、２値記憶に固定されている。例えば、書込みコマンドによってセクタ単位で４値書込みが行われるとき、データ領域３１に対してはコマンドで指示される４値書込み値に従った書込み動作が行われる。このとき、管理領域３２に対しては“０１”書込みが選択的に行われた後、“００”書込み、“１０”書込みは書込み阻止とされる。
【００６５】
セクタ３０に対するデータの読出しでは、最初にＶＲＷ２を用いた２値読出しを行い、予めその読み出しデータのうち弁別数識別情報を判定する。判定結果が２値であれば、データ領域３１の最初の読出し結果をリードデータとして外部に出力すれば良い。また、判定結果が４値であれば、ＶＲＷ３とＶＲＷ１により読出しを継続して、其れによって４値データを生成し、リードデータとして外部に出力すればよい。１６値の場合も同様である。
【００６６】
これにより、セクタ３０毎に書込みデータが何値であるかを外部のメモリコントローラ或いはホスト装置で管理することを要しない。特に、弁別数識別情報は２値であるから、データ領域３１の書込みが何値であろうとも、最初にＶＲＷ２を用いた２値読出しを行ったときに弁別数の判定が可能であり、判定のために無駄な読み出し動作を行う必要はない。仮に弁別数識別情報が４値書込み、データ領域３１が２値書込みとされるなら、弁別数識別のために、データ領域３１の読出しに必要ないＶＲＷ３とＶＲＷ１により読出し動作を重ねることが必要となり、無駄が多くなる。
【００６７】
尚、ＥＣＣコードの付加は１６値書込みで行うだけであるから、制御回路５は、弁別数識別情報からデータ領域３１が１６値書込みであることを識別できれば、ＥＣＣ訂正能力を自ずと認識することができる。また、前記管理領域３２は、データ領域３１に付加するようにしたが、例えば図示を省略するアドレス変換テーブルに弁別数を予め保持させておき、適宜のフラッシュメモリコントローラ側で制御して、セクタ３０をアクセスする前に、アドレス変換テーブルから弁別数を読み出すようにしてもよい。
【００６８】
《絶縁膜の膜厚に応じた書込み消去動作の高速性と情報保持の信頼性》
図１５には、書込み消去動作の高速性と情報保持の信頼性を絶縁膜の膜厚に応じて可変としたメモリ領域が例示される。不揮発性メモリセル２のフローティングゲートＦＧは、図２に例示したように、チャネル形成領域の上にトンネル絶縁膜を介して配置されており、書込み動作は、電子をフローティングゲートＦＧに注入することで実現され、消去動作は、フローティングゲートＦＧに注入された電子を電界でソースＳＣ側に引き抜くことで実現される。このため、このトンネル絶縁膜の膜厚を調整することにより、書込み消去動作の高速性と情報保持の信頼性を可変とすることができる。具体的には、上記膜厚が大きければ電子を注入するときに時間がかかり高速性が多少損なわれるが、注入された電子はフローティングゲートＦＧから自然に引き抜かれることがなく、情報保持の信頼性が高くなる。一方、膜厚が小さければフローティングゲートＦＧに注入された電子が不揮発性メモリセル２の特性劣化等により引き抜かれ易くなり、情報保持の信頼性が多少損なわれるが、電子を注入するときに時間がかからないので高速性が高くなる。そこで、複数の不揮発性メモリセル２からなるメモリアレイ３の全メモリ領域４０を、絶縁膜の膜厚が厚い高信頼領域４１と、絶縁膜の膜厚が通常の通常領域４２と、絶縁膜の膜厚が薄い高速領域４３とに分け、これらの領域４１〜４３にアドレスを付与する。これにより、上記した各種コマンドではなくロウアドレス及びカラムアドレスを指定するだけで、書込みデータを用途に応じた領域４１〜４３に書込むことができる。
【００６９】
《各種コマンド以外でのＥＣＣによるエラー訂正の設定》
図１６には、ＥＣＣによるエラー訂正の設定をコマンド以外で行うときのフローチャートが例示される。制御回路５は、書込み動作を検知すると（Ｓ３０）、例えば上裾ベリファイ電圧、下裾ベリファイ電圧、書込み用パルス電圧のパルス幅等の書込みパラメータを設定する（Ｓ３１）。そして、制御回路５は、設定された書込みパラメータに基づいて、情報記憶の信頼性を判定する（Ｓ３２）。例えば上裾ベリファイ電圧と下裾ベリファイ電圧との幅が広く、書込み用パルス電圧のパルス幅が長いような場合には、情報記憶の信頼性が低いと判定する。信頼性が低いと判定したときは、その度合いに応じてエラー訂正能力を何ビットにするかを決定する（Ｓ３３）。これに従って、制御回路５は、データ入力と、生成されたＥＣＣの付加と、データ書込みと、ＥＣＣ書込みと、ＥＣＣ設定書込みとを行い（Ｓ３４）、所定の書込み動作を完了する（Ｓ３５）。ＥＣＣ設定とは、エラー訂正を行うか否かと、エラー訂正能力が何ビットであるかを示す情報とされる。一方、ステップＳ３２において書込みデータにＥＣＣを付加しない場合には、制御回路５は、データ入力と、データ書込みと、エラー訂正を行わないことを示すＥＣＣ設定書込みとを行い（Ｓ３６）、その後、ステップＳ３５に進み書込み動作を完了する。このように、ＥＣＣによるエラー訂正は、上記した各種コマンドに限らず、所定の書込みパラメータに基づいて情報記憶の信頼性を判定し、その判定結果に応じたエラー訂正能力を採用するようにしてもよい。
【００７０】
ＥＣＣ設定は、上記した弁別数情報と共に２値データとして書込みを行うことで、読み出し動作においてＥＣＣ設定を２値データとして読み出し、その後に読み出すデータに含まれるＥＣＣを用いて、読み出したデータのエラー訂正を行うことができる。ＥＣＣも管理領域３２へ２値で書込みを行うことで、管理領域３２に占めるＥＣＣの割合が大きくなるが、ＥＣＣ自体の信頼性が高まるのでデータのエラー訂正能力を保証することが容易となる。
【００７１】
図１７には本発明を適用したメモリカードが例示される。
【００７２】
上記したフラッシュメモリ１では、ＥＣＣ回路５はシーケンサ７により制御されるとしたが、これに限られない。例えばフラッシュメモリ１に対してＥＣＣ機能を除外したフラッシュメモリ１Ａと共に、フラッシュメモリコントローラ１９をカード基板に搭載したメモリカード１Ｂを考える。フラッシュメモリコントローラ１９は、ＥＣＣ回路１７を備え、ＣＰＵ２０からの書込コマンドに応じてＥＣＣ機能を選択する。具体的には、フラッシュメモリコントローラ１９は、ＣＰＵ２０からの書込データに対して、ＣＰＵ２０からの書込コマンドが高信頼ライトコマンドである場合はＥＣＣの生成を行わず、フラッシュメモリ１に対して書込データとＥＣＣ設定との書込みを行う。また、フラッシュメモリコントローラ１９は、ＣＰＵ２０からの書込コマンドが高容量ライトコマンドである場合はＥＣＣを生成し、フラッシュメモリ１に対して書込データとＥＣＣ及びＥＣＣ設定との書込みを行う。さらに、ＣＰＵ２０からの読み出しコマンドに応じてフラッシュメモリ１からデータの読み出しを行う場合は、フラッシュメモリコントローラ１９は、ＥＣＣ設定により書込データと共にＥＣＣの書込みがされているか否かを判定し、ＥＣＣの書込みがされている場合はエラー訂正を行う制御を行う。
【００７３】
以上、本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００７４】
例えば、以上の説明ではＥＣＣ回路１７で生成されるＥＣＣは、書込みデータに対するエラー訂正能力を１ビットとしたが、これに限られず、３ビットや５ビットのエラー訂正能力を付加するようにしてもよい。また、各種コマンドは、書込み消去動作の高速性と情報保持の信頼性とのいずれを優先させるか（即ち、閾値電圧分布の間隔を可変とすること）、情報記録を何値で行うか（即ち、書込みデータビット数を可変とすること）、ＥＣＣによるエラー訂正を行うか否か（即ち、エラー訂正能力を可変とすること）、という３つの特性を有していた。しかしながら、コマンドとしては、この３つの特性のうち１つ又は２つの特性を有するものであってもよい。このようなコマンドを用いることにより、フラッシュメモリ１は、より広い用途に対応することができる。さらに、ＥＣＣは、高容量ライトコマンドに限らず、データ保持年数の短い例えば高速ライトコマンドに適用して、情報保持の信頼性をある程度補償できるようにしてもよい。
【００７５】
また、不揮発性メモリセル２には、コマンドに応じて２値、４値、１６値で書込みを行うようにしたが、例えば８値でもよく、さらに書込み消去動作が低速で構わないのであれば２５６値で書込みを行うようにしてもよい。さらに、本発明は、フラッシュメモリ単体の半導体集積回路に限らず、ＣＰＵ単体の半導体集積回路等、種々の半導体集積回路に広く適用することができる。また、不揮発性メモリセル２の構造や、消去及び書込みの方法は上記に限定されず、適宜変更可能である。例えば不揮発性メモリトランジスタはスタックゲート構造に限定されず、メモリゲートを選択ゲートを分離して持つスプリットゲート構造であってもよい。電荷蓄積領域はポリシリコンに限定されず、シリコンナイトライド等のトラップ膜であっても良い。消去と書込みをチャネル形成領域とメモリゲートとの間でホールの注入とエレクトロンの注入とによって行ってもよい。
【図面の簡単な説明】
【００７６】
【図１】本発明を適用したフラッシュメモリを例示するブロック図である。
【図２】不揮発性メモリセル２のデバイス構造を例示する断面図である。
【図３】ライトコマンドに応じた４値による記憶情報とその閾値電圧分布を例示する説明図である。
【図４】高速ライトコマンドに応じた４値による記憶情報とその閾値電圧分布を例示する説明図である。
【図５】高信頼ライトコマンドに応じた４値による記憶情報とその閾値電圧分布を例示する説明図である。
【図６】無限ライトコマンドに応じた２値による記憶情報とその閾値電圧分布を例示する説明図である。
【図７】高容量ライトコマンドに応じた１６値による記憶情報とその閾値電圧分布を例示する説明図である。
【図８】各種コマンドの代表的な仕様を例示する説明図である。
【図９】パルス幅の異なる書込み用パルス電圧を示す説明図である。
【図１０】各種コマンドに応答して動作を制御する制御回路５のフローを例示するフローチャートである。
【図１１】“０１”データ書込み動作のフローチャートである。
【図１２】“００”データ書込み動作のフローチャートである。
【図１３】“１０”データ書込み動作のフローチャートである。
【図１４】メモリアレイ３のセクタの構成を例示する説明図である。
【図１５】書込み消去動作の高速性と情報保持の信頼性を絶縁膜の膜厚に応じて可変としたメモリ領域を例示する説明図である。
【図１６】ＥＣＣによるエラー訂正の設定をコマンド以外で行うときのフローを例示するフローチャートである。
【図１７】本発明を適用したメモリカードを概略的に例示するブロック図である。
【符号の説明】
【００７７】
１，１Ａ  フラッシュメモリ
１Ｂ  メモリカード
２  不揮発性メモリセル
３  メモリアレイ（ＭＡＲＹ）
４  入出力バッファ（ＩＯＢ）
５  制御回路（ＣＮＴ）
６  コマンドデコーダ（ＣＭＤＤＥＣ）
７  シーケンサ（ＳＱＥＣ）
８  ロウアドレスレジスタ（ＲＡＲＥＧ）
９  ロウアドレスデコーダ（ＲＡＤＥＣ）
１０  電源回路（ＶＧＥＮ）
１１  電源切替回路（ＶＳＥＬ）
１２  書換回路（ＰＧＭＣ）
１３  データレジスタ回路（ＤＲＥＧ）
１４  カラムスイッチ回路（ＣＳＷ）
１５  カラムアドレスカウンタ（ＣＡＣＵＮＴ）
１６  カラムアドレスデコーダ（ＣＡＤＥＣ）
１７  ＥＣＣ回路（ＥＣＣＥＤ）
１８  メインアンプ（ＭＡＭＰ）
１９  フラッシュメモリコントローラ
２０  ＣＰＵ
３０  セクタ
３１  データ領域
３２  管理領域
４０  メモリ領域
４１  高信頼領域
４２  通常領域
４３  高速領域
ＰＷ  Ｐ型ウエル領域
ＳＣ  ソース
ＤＲ  ドレイン
ＦＧ  フローティングゲート
ＣＧ  コントロールゲート
【図１】
2007042222.tif 000003
【図２】
2007042222.tif 000004
【図３】
2007042222.tif 000005
【図４】
2007042222.tif 000006
【図５】
2007042222.tif 000007
【図６】
2007042222.tif 000008
【図７】
2007042222.tif 000009
【図８】
2007042222.tif 000010
【図９】
2007042222.tif 000011
【図１０】
2007042222.tif 000012
【図１１】
2007042222.tif 000013
【図１２】
2007042222.tif 000014
【図１３】
2007042222.tif 000015
【図１４】
2007042222.tif 000016
【図１５】
2007042222.tif 000017
【図１６】
2007042222.tif 000018
【図１７】
2007042222.tif 000019