(57)【特許請求の範囲】
【請求項１】
１セルにｋビット（ｋは、２以上の自然数）のデータを記憶する複数のページとして記憶する複数のメモリセルと、前記メモリセルにデータを書き込むため、外部より供給されたｋビットのデータを一時的に記憶するｎ個（ｎは、２以上の自然数）のデータ記憶回路を有し、
前記ｋビットのデータは、１ビットずつ、第１ページ、第２ページ、…第ｋページとして選択され、
第１データ入力時に、ｈ１個（ｈ１＜＝ｎ）のデータ記憶回路に、外部から第１ページ、第２ページ、…第ｋページのデータを入力し、
第２データ入力時に、ｈ２個（ｈ２＜＝ｎ）のデータ記憶回路に、外部から第１ページ、第２ページ、…第ｋページのデータを入力し、
第ｉデータ入力時に、ｈｉ個（ｈｉ＜＝ｎ）（ｉ＜＝ｎ）のデータ記憶回路に、外部から第１ページ、第２ページ、…第ｋページのデータを入力し、
ｈ１＋ｈ２＋…＋ｈｉ＝ｎであり、前記ｎ個のデータ記憶回路に記憶された前記ｋビットのデータに基づき、前記メモリセルにデータを記憶する制御回路とを具備することを特徴とする半導体記憶装置。
【請求項２】
前記ｋビットを記憶するデータ記憶回路は、更に外部に接続されるラッチ回路を有し、
書き込みデータが外部から入力されるとき、第１ページ、第２ページ、…第ｋページのうち、選択されたページのデータが前記ラッチ回路に入力された後、前記データ記憶回路に転送され、この動作を繰り返し前記データ記憶回路にデータを入力することを特徴とする請求項１記載の半導体記憶装置。
【請求項３】
１セルにｋビット（ｋは、２以上の自然数）のデータを記憶する複数のページとして記憶する複数のメモリセルと、
前記メモリセルから読み出されたｋビットのデータを一時的に記憶するデータ記憶回路を有し、
ｎ個（ｎは、２以上の自然数）の前記メモリセルは、読み出し動作のとき同時に読み出され、ｎ個の前記データ記憶回路にデータが一時的に記憶された後、前記ｋビットのうち１ビットずつ、第１ページ、第２ページ、…第ｋページとして選択され、前記データ記憶回路から外部にデータが出力される半導体記憶装置であって、
第１データ出力時、ｈ１個（ｈ１＜＝ｎ）の前記データ記憶回路から、第１ページ、第２ページ、…第ｋページのデータを外部に出力し、
第２データ出力時、ｈ２個（ｈ２＜＝ｎ）の前記データ記憶回路から、第１ページ、第２ページ、…第ｋページのデータを外部に出力し、
第ｉデータ出力時、ｈｉ個（ｈｉ＜＝ｎ）（ｉ＜＝ｎ）の前記データ記憶回路から、第１ページ、第２ページ、…第ｋページのデータを外部に出力する制御回路を具備し、
ｈ１＋ｈ２＋…＋ｈｉ＝ｎであることを特徴とする半導体記憶装置。
【請求項４】
前記ｋビットを記憶するデータ記憶回路は、更に外部に接続されるラッチ回路を有し、
データを外部に出力するとき、第１ページ、第２ページ、…第ｋページのうち、選択されたページのデータを前記外部に接続されるラッチ回路に転送し、外部に出力することを特徴とする請求項３記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばＮＡＮＤ型フラッシュメモリ係わり、特に、１つのメモリセルに複数ビットにより多値データを記憶させることが可能な半導体記憶装置に関する。
【背景技術】
【０００２】
ＮＡＮＤ型フラッシュメモリは、カラム方向に配置された複数のセルが直列接続されてＮＡＮＤセルを構成し、このＮＡＮＤセルのドレイン側が選択ゲートを介してそれぞれビット線に接続されている。各ビット線は書き込み、及び読み出し用のラッチ回路に接続されている。データの書き込み、又は読み出し動作は、ロウ方向に配置された全てのセル又は半数のセル（例えば２〜４ｋＢのセル）に対して一括して行なわれる。この書き込み、及び読み出し単位をページという。消去動作は、メモリセルの閾値電圧を負に設定し、書き込み動作により、メモリセルの例えば浮遊ゲート内に電子を注入ことにより閾値電圧を正に設定する。
【０００３】
近時、記憶容量の増加に伴い、１セルに複数の閾値レベル（閾値電圧）を設定し、複数ビットのデータを記憶する多値メモリが開発されている（例えば、特許文献１参照）。例えば、４個の閾値レベルを設けた場合、１セルに２ビットのデータが記憶でき、８個の閾値レベルを設けた場合、１セルに３ビットのデータが記憶でき、１６個の閾値レベルを設けた場合、１セルに４ビットのデータを記憶することが可能である。多値データを記憶させる場合、書き込み、及び読み出し単位としてのページも複数ページにより構成される。例えば１セルに４個の閾値レベルを設ける場合、２ページにより構成され、８個の閾値レベルを設ける場合、３ページにより構成され、１６個の閾値レベルを設ける場合、４ページにより構成される。各ページはアドレスにより指定され、第１ページから順次メモリセルに書き込まれる。
【０００４】
ところで、メモリセルにデータを記憶させる場合、誤書き込み又は隣接セルの書き込みの影響により、既に書き込まれたセルの閾値レベルが変化することがある。このように、閾値レベルが変化した場合、読み出されたデータの精度が低下する。そこで、データの精度を向上させるため、データにＥＣＣ（Error-Correcting Code）を付加して書き込み、読み出し動作が行われる。従来、ＥＣＣを記憶させる場合、ページ単位、又はページを複数に分割したビットを１単位として、ＥＣＣの単位としていた。
【０００５】
図１５は、４値、８値、１６値の場合の、閾値レベルとメモリセルに書き込まれるデータの関係を表している。例えば１セルに２ビットを記憶する４値のメモリ（４ＬＣ）において、第１ページは、リードレベル（Ｒ  Ｌｅｖｅｌ）“２”より低い場合、データは“１”であり、リードレベル“２”より高い場合、データは“０”である。しかし、第２ページにおいて、リードレベル“１”より低い場合、又は、リードレベル“３”より高い場合、データは“１”であり、リードレベル“１”より高く、リードレベル“３”より低い場合、データは“０”である。このため、ページ毎の不良率は、第２ページ＞第１ページとなり、第１ページに比べて第２ページの方が大きい。
【０００６】
また、１セルに３ビットを記憶する８値のメモリ（８ＬＣ）において、ページ毎の不良率は、第３ページ＞第２ページ＞第１ページとなり、第３ページの不良率が第１ページの不良率に比べ非常に大きい。さらに、１セルに４ビットを記憶する１６値のメモリ（１６ＬＣ）において、ページ毎の不良率は、第４ページ＞第３ページ＞第２ページ＞第１ページとなり、第４ページの不良率が第１ページの不良率に比べ非常に大きい。
【０００７】
このため、１セルに記憶する複数ビットを１つのＥＣＣ単位とした方が、ＥＣＣの効率が上がる。しかし、従来のＮＡＮＤ型フラッシュメモリは、ページ毎に、先頭カラムアドレスから最終カラムアドレスまで、データを入力したり、データをセルから読み出したりする仕様となっている。したがって、ＥＣＣ単位毎にデータをメモリセルに書き込んだり、データをメモリセルから読み出したりすることが出来なかった。
【特許文献１】特開２００４−１９２７８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、ＥＣＣ単位毎にデータをメモリセルに書き込んだり、データをメモリセルから読み出したりすることが可能な半導体記憶装置を提供しようとするものである。
【課題を解決するための手段】
【０００９】
本発明の半導体記憶装置の第１の態様は、１セルにｋビット（ｋは、２以上の自然数）のデータを記憶する複数のページとして記憶する複数のメモリセルと、前記メモリセルにデータを書き込むため、外部より供給されたｋビットのデータを一時的に記憶するｎ個（ｎは、２以上の自然数）のデータ記憶回路を有し、前記ｋビットのデータは、１ビットずつ、第１ページ、第２ページ、…第ｋページとして選択され、第１データ入力時に、ｈ１個（ｈ１＜＝ｎ）のデータ記憶回路に、外部から第１ページ、第２ページ、…第ｋページのデータを入力し、第２データ入力時に、ｈ２個（ｈ２＜＝ｎ）のデータ記憶回路に、外部から第１ページ、第２ページ、…第ｋページのデータを入力し、第ｉデータ入力時に、ｈｉ個（ｈｉ＜＝ｎ）（ｉ＜＝ｎ）のデータ記憶回路に、外部から第１ページ、第２ページ、…第ｋページのデータを入力し、ｈ１＋ｈ２＋…＋ｈｉ＝ｎであり、前記ｎ個のデータ記憶回路に記憶された前記ｋビットのデータに基づき、前記メモリセルにデータを記憶する制御回路とを具備することを特徴とする。
【００１０】
本発明の半導体記憶装置の第２の態様は、１セルにｋビット（ｋは、２以上の自然数）のデータを記憶する複数のページとして記憶する複数のメモリセルと、前記メモリセルから読み出されたｋビットのデータを一時的に記憶するデータ記憶回路を有し、ｎ個（ｎは、２以上の自然数）の前記メモリセルは、読み出し動作のとき同時に読み出され、ｎ個の前記データ記憶回路にデータが一時的に記憶された後、前記ｋビットのうち１ビットずつ、第１ページ、第２ページ、…第ｋページとして選択され、前記データ記憶回路から外部にデータが出力される半導体記憶装置であって、第１データ出力時、ｈ１個（ｈ１＜＝ｎ）の前記データ記憶回路から、第１ページ、第２ページ、…第ｋページのデータを外部に出力し、第２データ出力時、ｈ２個（ｈ２＜＝ｎ）の前記データ記憶回路から、第１ページ、第２ページ、…第ｋページのデータを外部に出力し、第ｉデータ出力時、ｈｉ個（ｈｉ＜＝ｎ）（ｉ＜＝ｎ）の前記データ記憶回路から、第１ページ、第２ページ、…第ｋページのデータを外部に出力する制御回路を具備し、ｈ１＋ｈ２＋…＋ｈｉ＝ｎであることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、ＥＣＣ単位毎にデータをメモリセルに書き込んだり、データをメモリセルから読み出したりすることが可能な半導体記憶装置を提供できる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態について、図面を参照して説明する。
【００１４】
図１は、本発明の実施形態に適用される半導体記憶装置、例えば４値（２ビット）を記憶することが可能なＮＡＮＤ型フラッシュメモリの構成を示している。
【００１５】
メモリセルアレイ１は、複数のビット線と複数のワード線と共通ソース線を含み、例えばＥＥＰＲＯＭセルからなる電気的にデータを書き換え可能なメモリセルがマトリクス状に配置されている。このメモリセルアレイ１には、ビット線を制御するためのビット制御線回路２とワード線制御回路６が接続されている。
【００１６】
ビット線制御回路２は、ビット線を介してメモリセルアレイ１中のメモリセルのデータを読み出したり、ビット線を介してメモリセルアレイ１中のメモリセルの状態を検出したり、ビット線を介してメモリセルアレイ１中のメモリセルに書き込み制御電圧を印加してメモリセルに書き込みを行なう。ビット線制御回路２には、カラムデコーダ３、データ入出力バッファ４が接続されている。ビット線制御回路２内のデータ記憶回路はカラムデコーダ３によって選択される。データ記憶回路に読み出されたメモリセルのデータは、前記データ入出力バッファ４を介してデータ入出力端子５から外部へ出力される。データ入出力端子５は、例えばメモリチップ外部のコントローラ１１に接続される。このコントローラ１１は例えばマイクロコンピュータにより構成され、前記データ入出力端子５から出力されたデータを受ける。さらに、コントローラ１１は、ＮＡＮＤ型フラッシュメモリの動作を制御する各種コマンドＣＭＤ、アドレスＡＤＤ、及びデータＤＴを出力する。コントローラ１１からデータ入出力端子５に入力された書き込みデータは、データ入出力バッファ４を介して、カラムデコーダ３によって選択されたデータ記憶回路に供給され、コマンド及びアドレスは制御信号及び制御電圧発生回路７に供給される。
【００１７】
また、コントローラ１１は、ＥＣＣ回路１１−１を有している。このＥＣＣ回路１１−１により、メモリセルから誤ったデータが読み出された場合、誤りを訂正し、正しいデータを出力するように構成されている。このＥＣＣ回路１１−１は、コントローラ１１に限らず、例えばＮＡＮＤ型フラッシュメモリの内部に設けられていてもよい。
【００１８】
ワード線制御回路６は、メモリセルアレイ１に接続されている。このワード線制御回路６は、メモリセルアレイ１中のワード線を選択し、選択されたワード線に読み出し、書き込みあるいは消去に必要な電圧を印加する。
【００１９】
メモリセルアレイ１、ビット線制御回路２、カラムデコーダ３、データ入出力バッファ４、及びワード線制御回路６は、制御信号及び制御電圧発生回路７に接続され、この制御信号及び制御電圧発生回路７によって制御される。制御信号及び制御電圧発生回路７は、制御信号入力端子８に接続され、コントローラ１１から制御信号入力端子８を介して入力される制御信号ＡＬＥ（アドレス・ラッチ・イネーブル）、ＣＬＥ（コマンド・ラッチ・イネーブル）、ＷＥ（ライト・イネーブル）、ＲＥ（リード・イネーブル）によって制御される。
【００２０】
前記ビット線制御回路２、カラムデコーダ３、ワード線制御回路６、制御信号及び制御電圧発生回路７は書き込み回路、及び読み出し回路を構成している。
【００２１】
図２は、図１に示すメモリセルアレイ１及びビット線制御回路２の構成を示している。メモリセルアレイ１には複数のＮＡＮＤセルが配置されている。１つのＮＡＮＤセルは、直列接続された例えば３２個のＥＥＰＲＯＭからなるメモリセルＭＣと、選択ゲートＳ１、Ｓ２とにより構成されている。選択ゲートＳ２はビット線ＢＬ０ｅに接続され、選択ゲートＳ１はソース線ＳＲＣに接続されている。各ロウに配置されたメモリセルＭＣの制御ゲートはワード線ＷＬ０〜ＷＬ２９、ＷＬ３０、ＷＬ３１に共通接続されている。また、選択ゲートＳ２はセレクト線ＳＧＤに共通接続され、選択ゲートＳ１はセレクト線ＳＧＳに共通接続されている。
【００２２】
ビット線制御回路２は複数のデータ記憶回路１０を有している。各データ記憶回路１０には一対のビット線（ＢＬ０ｅ、ＢＬ０ｏ）、（ＢＬ１ｅ、ＢＬ１ｏ）…（ＢＬｉｅ、ＢＬｉｏ）…（ＢＬ３２ｋ−１ｅ、ＢＬ３２ｋ−１ｏ）が接続されている。
【００２３】
メモリセルアレイ１は、破線で示すように、複数のブロックを含んでいる。各ブロックは、複数のＮＡＮＤセルにより構成され、例えばこのブロック単位でデータが消去される。また、消去動作は、データ記憶回路１０に接続されている２本のビット線について同時に行なわれる。
【００２４】
また、ビット線の１つおきに配置され、１つのワード線に接続された複数のメモリセル（破線で囲まれた範囲のメモリセル）は、例えば２ページを構成する。また、８値の場合３ページ、１６値の場合、４ページを構成する。このページ毎にデータが書き込まれ、読み出される。
【００２５】
リード動作、プログラムベリファイ動作及びプログラム動作時において、データ記憶回路１０に接続されている２本のビット線（ＢＬｉｅ、ＢＬｉｏ）のうち外部より供給されるアドレス信号（ＹＡ０、ＹＡ１…ＹＡｉ…ＹＡ８ｋ−１）に応じて１本のビット線が選択される。さらに、外部アドレスに応じて、１本のワード線が選択される。
【００２６】
さらに、外部アドレスにより、１本のワード線が選択され、図２の点線で示す、例えば２ページが選択される。この２ページの切り替えはアドレス（第１ページ、第２ページ）によって行われる。１セルに２ビットを記憶する場合は、２ページであるが、１セルに３ビット記憶する場合は３ページのアドレス（第１ページ、第２ページ、第３ページ）により選択され、１セルに４ビット記憶する場合は４ページのアドレス（第１ページ、第２ページ、第３ページ、第４ページ）により選択される。消去動作は、図２の点線で示しているブロック単位で行う。
【００２７】
尚、以下の説明において、第１ページ、第２ページ、第３ページ、第４ページを、ロアページ（lower page）、アッパーページ(upper page)、ハイアーページ(higher page)、トップページ(top page)と記載することがあるが、これらは同意である。
【００２８】
図３は、ロウ方向に並んだ全てのセルを一括して書き込む場合の構成を示している。この例の場合、各ビット線ＢＬ０、ＢＬ１…ＢＬ６４ｋ−１は、それぞれデータ記憶回路１０に接続され、各データ記憶回路１０には、アドレス信号ＹＡ０、ＹＡ１…ＹＡ８ｋ−１がそれぞれ供給されている。
【００２９】
図４（ａ）はメモリセル、図４（ｂ）は選択ゲートの断面図を示している。図４（ａ）において、基板５１（後述するＰ型ウェル領域５５）にはメモリセルのソース、ドレインとしてのｎ型拡散層４２が形成されている。Ｐ型ウェル領域５５の上にはゲート絶縁膜４３を介して浮遊ゲート（ＦＧ）４４が形成され、この浮遊ゲート４４の上には絶縁膜４５を介して制御ゲート（ＣＧ）４６が形成されている。図４（ｂ）において、Ｐ型ウェル領域５５にはソース、ドレインとしてのｎ型拡散層４７が形成されている。Ｐ型ウェル領域５５の上にはゲート絶縁膜４８を介して制御ゲート４９が形成されている。
【００３０】
図５は、第１の実施形態に対応する半導体記憶装置の断面図を示している。例えばＰ型半導体基板５１内には、Ｎ型ウェル領域５２、５３、５４、Ｐ型ウェル領域５６が形成されている。Ｎ型ウェル領域５２内にはＰ型ウェル領域５５が形成され、このＰ型ウェル領域５５内にメモリセルアレイ１を構成する低電圧ＮチャネルトランジスタＬＶＮＴｒが形成されている。さらに、前記Ｎ型ウェル領域５３、Ｐ型ウェル領域５６内に、データ記憶回路１０を構成する低電圧ＰチャネルトランジスタＬＶＰＴｒ、低電圧ＮチャネルトランジスタＬＶＮＴｒが形成されている。前記基板５１内には、ビット線とデータ記憶回路１０を接続する高電圧ＮチャネルトランジスタＨＶＮＴｒが形成されている。また、前記Ｎ型ウェル領域５４内には例えばワード線駆動回路等を構成する高電圧ＰチャネルトランジスタＨＶＰＴｒが形成されている。図５に示すように、高電圧トランジスタＨＶＮＴｒ、ＨＶＰＴｒは、低電圧トランジスタＬＶＮＴｒ、ＬＶＰＴｒに比べて例えば厚いゲート絶縁膜を有している。
【００３１】
図６は、図５に示す構成において、消去、プログラム、リード時における各部の電圧を示す図。
【００３２】
図７、図８は、図３に示すデータ記憶回路１０の一例を示している。データ記憶回路１０は、図７に示すセンスアンプユニット１０ａと図８に示すデータ制御ユニット（ＤＣＵ）１０ｂとにより構成されている。
【００３３】
図７において、センスアンプユニット１０ａは、複数のＮチャネルＭＯＳトランジスタ（以下、ＮＭＯＳと称す）２１〜２７と、複数のＰチャネルＭＯＳトランジスタ（以下、ＰＭＯＳと称す）２８、２９と、トランスファゲート３０、３１、例えばクロックドインバータ回路により構成されラッチ回路３２、及びキャパシタ３３とにより構成されている。
【００３４】
ＮＭＯＳ２１の電流通路の一端は、電源Ｖｄｄが供給されるノードに接続され、他端はトランスファゲート３０、ＮＭＯＳ２４、トランスファゲート３１を介して接地されている。ｎＭＯＳ２４とトランスファゲート３１の接続ノードにはＮＭＯＳ２５の電流通路の一端が接続されている。このＮＭＯＳ２５の他端は、メモリセルアレイに配置されたビット線ＢＬに接続されている。ＮＭＯＳ２１には、ＮＭＯＳ２２、２３の直列回路が並列接続されている。
【００３５】
また、ＰＭＯＳ２８の電流通路の一端は、電源Ｖｄｄが供給されるノードに接続され、他端はＰＭＯＳ２９を介してラッチ回路３２を構成するインバータ回路３２ａの入力端に接続されるとともに、ＮＭＯＳ２６を介して接地されている。このインバータ回路３２ｂと交差接続されたクロックドインバータ回路３２ｂの入力端は、ＮＭＯＳ２７を介してデータ制御ユニット（ＤＣＵ）１０ｂに接続されている。また、ＰＭＯＳ２９のゲートは、ＮＭＯＳ２２，２３の接続ノードに接続され、この接続ノードにキャパシタ３３の一端が接続されている。このキャパシタ３３の他端にはクロック信号ＣＬＫが供給されている。
【００３６】
ＮＭＯＳ２１のゲートには信号ＢＬＸが供給されている。トランスファゲート３０を構成するＮＭＯＳのゲートにはラッチ回路３２を構成するインバータ回路３２ａの出力端の信号ＬＡＴが供給され、ＰＭＯＳトランジスタのゲートには、インバータ回路３２ａの入力端の信号ＩＮＶが供給されている。ＮＭＯＳ２４のゲートには、信号ＢＬＣが供給され、ＮＭＯＳ２５のゲートには信号ＢＬＳが供給されている。
【００３７】
ＮＭＯＳ２２のゲートには信号ＨＬＬが供給され、ＮＭＯＳ２３のゲートには、信号ＸＸＬが供給されている。
【００３８】
ＰＭＯＳ２８のゲートには信号ＳＴＢが供給され、ＮＭＯＳ２６のゲートにはリセット信号ＲＳＴが供給されている。ＮＭＯＳ２７のゲートには信号ＮＣＯが供給されている。
【００３９】
上記センスアンプユニットの動作について概略的に説明する。
【００４０】
（書き込み動作）
メモリセルにデータを書き込む場合、先ず、信号ＳＴＢがハイレベル（以下、Ｈレベルと記す）、リセット信号ＲＳＴが一旦Ｈレベルとされ、ラッチ回路３２がリセットされてＬＡＴ＝Ｈレベル、ＩＮＶ＝ローレベル（以下、Ｌレベルと記す）とされる。
【００４１】
この後、信号ＮＣＯがＨレベルとされ、データ制御ユニット１０ｂからデータが取り込まれる。このデータが書き込みを示すＬレベル（“０”）である場合、ＬＡＴ＝Ｌレベル，ＩＮＶ＝Ｈレベルとなる。また、データが非書き込みを示すＨレベル（“１”）である場合、ラッチ回路３２のデータは変わらず、ＬＡＴ＝Ｈレベル、ＩＮＶ＝Ｌレベルのままである。
【００４２】
次いで、信号ＢＬＸ、ＢＬＣ、ＢＬＳをＨレベルとすると、ラッチ回路がＬＡＴ＝Ｌレベル、ＩＮＶ＝Ｈレベル（書き込み）の場合、トランスファゲート３０がオフ、トランスファゲート３１がオンしてビット線ＢＬはＶｓｓとなる。この状態において、ワード線がプログラム電圧Ｖｐｇｍとなると、メモリセルにデータが書き込まれる。
【００４３】
一方、ラッチ回路３２において、ＬＡＴ＝Ｈレベル、ＩＮＶ＝Ｌレベル（非書き込み）の場合、トランスファゲート３０がオン、トランスファゲート３１がオフであるため、ビット線ＢＬはＶｄｄに充電される。このため、ワード線がＶｐｇｍとなった場合、セルのチャネルが高い電位にブーストされるため、メモリセルにデータが書き込まれない。
【００４４】
（読み出し動作、プログラムベリファイ読み出し動作）
メモリセルからデータを読み出す場合、先ず、セット信号ＲＳＴが一旦Ｈレベルとされ、ラッチ回路３２がリセットされ、ＬＡＴ＝Ｈレベル、ＩＮＶ＝Ｌレベルとされる。この後、信号ＢＬＳ、ＢＬＣ、ＢＬＸ、ＨＬＬ、ＸＸＬがＨレベルとされ、ビット線ＢＬが充電される。これとともに、キャパシタ３３のＮｏｄｅがＶｄｄに充電される。ここで、メモリセルの閾値電圧が読み出しレベルより高い場合、メモリセルはオフ状態であり、ビット線はＨレベルに保持される。つまり、ＮｏｄｅはＨレベルのままとなる。また、メモリセルの閾値電圧が読み出しレベルより低い場合、メモリセルはオン状態となり、ビット線ＢＬの電荷が放電される。このため、ビット線ＢＬはＬレベルとなる。このため、ＮｏｄｅはＬレベルとなる。
【００４５】
次いで、信号ＳＴＢがＬレベルされると、メモリセルがオンしている場合、ＮｏｄｅはＬレベルであるため、ＰＭＯＳ２９がオンし、ラッチ回路３２のＩＮＶ＝Ｈレベル、ＬＡＴ＝Ｌレベルとなる。一方、メモリセルがオフしている場合、ラッチ回路３２のＩＮＶ＝Ｌレベル、ＬＡＴ＝Ｈレベルのままである。
【００４６】
この後、信号ＮＣＯがＨレベルとされると、ＮＭＯＳ２７がオンし、ラッチ回路３２のデータがデータ制御ユニット１０ｂへ転送される。
【００４７】
書き込み動作後、メモリセルの閾値電圧を検証するプログラムベリファイ動作は、上記読み出し動作とほぼ同様である。
【００４８】
図８（ａ）は、データ制御ユニット（ＤＣＵ）１０ｂの一例を示し、図８（ｂ）は入力データの例を示している。
【００４９】
図８（ａ）に示すデータ制御ユニット１０ｂは、演算回路４０と複数のデータラッチ回路ＡＤＬ、ＢＤＬ、ＣＤＬ、ＤＤＬ、ＸＤＬ、及びＮＭＯＳ４１により構成されている。
【００５０】
演算回路４０は、バス（以下、ＩＢＵＳと記す）と、ＩＢＵＳの両端に接続され、相補的に動作するトランスファゲート４２、４２と、ＩＢＵＳのデータをラッチするラッチ回路４４、このラッチ回路４４のデータに応じてデータラッチ回路ＡＤＬ、ＢＤＬ、ＣＤＬ、ＤＤＬのレベルを設定する設定回路４５とにより構成されている。
【００５１】
トランスファゲート４２は、相補的な信号ＣＯＮＤと信号ＣＯＮＳにより動作し、センスアンプユニットＳＡＵ１０ａのバス（ＳＢＵＳと記す）とＩＢＵＳを接続する。トランスファゲート４３は、相補的な信号ＣＯＮＳと信号ＣＯＮＤにより動作し、ＩＢＵＳとデータラッチ回路ＡＤＬ、ＢＤＬ、ＣＤＬ、ＤＤＬ、ＸＤＬが接続されたバス（以下、ＤＢＵＳと記す）とを接続する。トランスファゲート４２がオンのとき、トランスファゲート４３はオフであり、トランスファゲート４２のオフのとき、トランスファゲート４３がオンである。
【００５２】
ラッチ回路４４は、複数のＰＭＯＳ４６〜４９と、複数のＮＭＯＳ５０〜５６により構成されている。ＰＭＯＳ４６とＮＭＯＳ５０のゲートにはセット信号ＳＥＴが供給され、ＰＭＯＳ４８のゲートにはリセット信号ＲＥＳＴが供給されている。ＮＭＯＳ５３のゲートには信号ＩＦＨが供給され、ＮＭＯＳ５５のゲートには信号ＩＦＬが供給されている。ＮＭＯＳ５４，５６のゲートはＩＢＵＳに接続されている。
【００５３】
設定回路４５は、ＰＭＯＳ５７〜６０と、ＮＭＯＳ６１〜６４により構成されている。ＰＭＯＳ５７のゲート及びＮＭＯＳ６１のゲートには、ラッチ回路４４の一方の出力端としてのＰＭＯＳ４７とＮＭＯＳ５０の接続ノードの信号ＦＡＩＬが供給されている。ＰＭＯＳ５９とＮＭＯＳ６３のゲートには、ラッチ回路４４の他方の出力端としてのＰＭＯＳ４９とＮＭＯＳ５２の接続ノードの信号ＭＴＣが供給されている。さらに、ＰＭＯＳ５８のゲートには信号Ｍ２ＨＢが供給され、ＰＭＯＳ６０のゲートには信号Ｆ２ＨＢが供給されている。ＮＭＯＳ６２のゲートにはＦ２Ｌが供給され、ＮＭＯＳ６４のゲートには信号Ｍ２Ｌが供給されている。
【００５４】
データラッチ回路ＡＤＬ、ＢＤＬ、ＣＤＬ、ＤＤＬ、ＸＤＬは、同一の構成であり、ラッチ回路６６と、このラッチ回路６６をＤＢＵＳに接続するトランスファゲート６５により構成されている。各トランスファゲート６５は、信号ＢＬＣＱ、ＢＬＣＡ、ＢＬＣＢ、ＢＬＣＣ、ＢＬＣＤにより制御されている。データラッチ回路ＸＤＬは、ＮＭＯＳ４１を介して外部のＩＯに接続される。ＮＭＯＳ４１のゲートには信号ＣＳＬが供給されている。
【００５５】
データ制御ユニット１０ｂは、前述したように、書き込みデータを保持するとともに読み出し時に、メモリセルから読み出されたデータを保持する。
【００５６】
データ入出力バッファ６から供給された４ビットの書き込みデータは、データラッチ回路ＸＤＬを介してデータラッチ回路ＡＤＬ、ＢＤＬ、ＣＤＬ、ＤＤＬに１ビットずつラッチされる。
【００５７】
図８（ａ）に示す演算回路４０は、データラッチ回路ＡＤＬ、ＢＤＬ、ＣＤＬ、ＤＤＬのデータに対してＡＮＤやＯＲの演算を実行することが可能である。データラッチ回路ＡＤＬ、ＢＤＬ、ＣＤＬ、ＤＤＬに、図８（ｂ）に示すようなデータが入力された場合、これらのＡＮＤを取ると、非書き込み時だけ“１”となり、レベル“１”〜“Ｆ”のデータである場合、“０”となる。このデータを図７に示すセンスアンプユニット１０ａに転送することで、書き込みが行われる。
【００５８】
また、ベリファイ読み出し動作後、図７に示すセンスアンプユニット１０ａのラッチ回路３２のＬＡＴには、セルが閾値レベルに達した場合、Ｈレベルが設定され、セルが閾値レベルに達していない場合、Ｌレベルが設定されている。このデータを例えばレベル“３”でベリファイする場合、まず、ＡＤＬ＝“１”、ＢＤＬ＝“０”、ＣＤＬ＝“１”、ＤＤＬ＝“１”となっているため、ＡＤＬのデータ、ＢＤＬの反転データ、ＣＤＬのデータ、ＤＤＣのデータのＡＮＤを取る。すると、レベル“３”に書き込んでいる場合のみデータ“１”が演算回路４０に残る。この後、この結果とラッチ回路３２のＬＡＴのデータでＡＮＤを取る。すると、レベル“３”で、閾値レベルに達した場合のみ演算回路４０の結果は、Ｈレベルとなり、他の場合は、Ｌレベルとなる。ここで、演算回路４０が、Ｈレベルの場合のみ、ＡＤＬ、ＢＤＬ、ＣＤＬ、ＤＤＬのデータを“１”にセットする。この結果、ＡＤＬ、ＢＤＬ、ＣＤＬ、ＤＤＬは非書き込みのデータを保持することとなる。
【００５９】
また、読み出しの場合、図１５に示すように、各レベルでメモリセルから読み出したデータを、一旦、ＡＤＬ、ＢＤＬ、ＣＤＬ、ＤＤＬに待避させる。これらのデータを演算回路４０により、センスアンプユニット１０ａのラッチ回路３２のＬＡＴのデータと演算し、演算結果をＡＤＬ、ＢＤＬ、ＣＤＬ、ＤＤＬに転送したりする。演算回路４０の動作は、本実施形態の要旨ではないため、説明の便宜上、詳細な動作は省略する。
【００６０】
（プログラム）
図９（ａ）は、従来の４値の場合を示し、ページ長が４ｋＢ、ＥＣＣの単位が１ｋＢの場合を示している。通常、ページ長は、４ｋＢ＋αＢとなっており、４ｋＢはユーザデータのために使われ、αＢはＥＣＣのパリティデータのために使われる。しかし、本実施形態では、４ｋＢのページ長の中に、ユーザが使用するデータとＥＣＣのパリティに使用するデータが含まれるとする。図９（ｂ）は、本実施形態の４値の場合を示し、ページ長が４ｋＢ、ＥＣＣの単位が１ｋＢの場合を示している。図９（ｃ）は、従来の１６値の場合を示し、ページ長が４ｋＢ、ＥＣＣの単位が２ｋＢの場合を示している。図９（ｄ）は、本実施形態の１６値の場合を示し、ページ長が４ｋＢ、ＥＣＣの単位が２ｋＢの場合を示している。
【００６１】
ここでは、図９（ｄ）に示すように、例えば１６値の場合で、ページ長が４ｋＢ、ＥＣＣの単位が２ｋＢの場合について説明する。
【００６２】
先ず、コントローラ１１は、図９（ｄ）にＡで示すＥＣＣ単位と同様の２ｋＢのデータを準備し、この単位で、ＥＣＣの計算を行いながらＮＡＮＤ型フラッシュメモリにデータを転送する。
【００６３】
図１０は、書き込み時のデータ入力シーケンスを示している。図８、図９、図１０を参照して動作について説明する。
【００６４】
先ず、データ入力コマンド（８０ｈ）とロアページアドレス（Ａｄｄ（Ｌ））に基づき、第１ページのカラム０〜５１１のデータが、図８に示すデータラッチ回路ＸＤＬに供給される。次に、転送コマンド（１Ａｈ）に基づき、データラッチ回路ＸＤＬのデータがデータラッチ回路ＡＤＬに転送される。
【００６５】
この後、データ入力コマンド（８０ｈ）とアッパーページアドレス（Ａｄｄ（Ｕ））に基づき、第２ページのカラム０〜５１１のデータがデータラッチ回路ＸＤＬに供給される。次に、転送コマンド（１Ａｈ）に基づき、データラッチ回路ＸＤＬのデータがデータラッチ回路ＢＤＬに転送される。
【００６６】
この後、データ入力コマンド（８０ｈ）とハイアーページアドレス（Ａｄｄ（Ｈ））に基づき、第３ページのカラム０〜５１１のデータがデータラッチ回路ＸＤＬに供給される。次に、転送コマンド（１Ａｈ）に基づき、データラッチ回路ＸＤＬのデータがデータラッチ回路ＣＤＬに転送される。
【００６７】
この後、データ入力コマンド（８０ｈ）とトップページアドレス（Ａｄｄ（Ｔ））に基づき、第４ページのカラム０〜５１１のデータがデータラッチ回路ＸＤＬに供給される。次に、転送コマンド（１Ａｈ）に基づき、データラッチ回路ＸＤＬのデータがデータラッチ回路ＤＤＬに転送される。
【００６８】
上記第１〜第４ページのデータをデータラッチ回路ＸＤＬに記憶させるとき、コントローラ１１は、ＥＣＣ単位である２ｋＢのデータが揃うため、パリティビットも演算している。
【００６９】
次に、コントローラ１１は、図９（ｄ）にＢで示す２ｋＢのＥＣＣ単位のデータを準備し、この単位で、ＥＣＣの計算を行いながらＮＡＮＤ型フラッシュメモリにデータを転送する。
【００７０】
この後、コマンド（ＡＡｈ）に基づき、データラッチ回路ＡＤＬに保持されている第１ページのデータがデータラッチ回路ＸＤＬに戻される。この後、コマンド（８５ｈ）及びロアーアドレス（Ａｄｄ（Ｌ））に基づき、第１ページのカラム５１２〜１０２３のデータがデータラッチ回路ＸＤＬに供給される。次に、転送コマンド（１Ａｈ）に基づき、データラッチ回路ＸＤＬのデータがデータラッチ回路ＡＤＬに転送される。
【００７１】
この後、コマンド（ＡＢｈ）に基づき、データラッチ回路ＢＤＬに保持されている第２ページのデータがデータラッチ回路ＸＤＬに戻される。この後、コマンド（８５ｈ）及びアッパーアドレス（Ａｄｄ（Ｕ））に基づき、第２ページのカラム５１２〜１０２３のデータがデータラッチ回路ＸＤＬに入力される。次に、転送コマンド（１Ａｈ）に基づき、データラッチ回路ＸＤＬのデータがデータラッチ回路ＢＤＬに転送される。
【００７２】
この後、コマンド（ＡＣｈ）に基づき、データラッチ回路ＣＤＬに保持されている第３ページのデータがデータラッチ回路ＸＤＬに戻される。この後、コマンド（８５ｈ）及びハイアーアドレス（Ａｄｄ（Ｈ））に基づき、第３ページのカラム５１２〜１０２３のデータがデータラッチ回路ＸＤＬに入力される。次に、転送コマンド（１Ａｈ）に基づき、データラッチ回路ＸＤＬのデータがデータラッチ回路ＣＤＬに転送される。
【００７３】
この後、コマンド（ＡＤｈ）に基づき、データラッチ回路ＤＤＬに保持されている第４ページのデータがデータラッチ回路ＸＤＬに戻される。この後、コマンド（８５ｈ）及びトップアドレス（Ａｄｄ（Ｔ））に基づき、第４ページのカラム５１２〜１０２３のデータがデータラッチ回路ＸＤＬに入力される。次に、転送コマンド（１Ａｈ）に基づき、データラッチ回路ＸＤＬのデータがデータラッチ回路ＤＤＬに転送される。
【００７４】
このとき、コントローラ１１は、ＥＣＣ単位である２ｋＢのデータが揃うため、パリティビットも演算している。
【００７５】
次に、コントローラ１１は、図９（ｄ）にＣで示す２ｋＢのＥＣＣ単位のデータを準備し、この単位で、ＥＣＣの計算を行いながらＮＡＮＤ型フラッシュメモリにデータを転送する。
【００７６】
この後、コマンド（ＡＡｈ）に基づき、データラッチ回路ＡＤＬに保持されている第１ページのデータがデータラッチ回路ＸＤＬに戻される。この後、コマンド（８５ｈ）及びロアーアドレス（Ａｄｄ（Ｌ））に基づき、第１ページのカラム１０２４〜１５３５のデータがデータラッチ回路ＸＤＬに供給される。次に、転送コマンド（１Ａｈ）に基づき、データラッチ回路ＸＤＬのデータがデータラッチ回路ＡＤＬに転送される。
【００７７】
以下、同様にして、図９に示す第１、第２、第３、第４ページのカラム３５８４〜４０９６のデータがデータラッチ回路ＡＤＬ、ＢＤＬ、ＣＤＬ、ＤＤＬに順次転送される。
【００７８】
このようにして、第１ページから第４ページの全てのデータが、データラッチ回路ＡＤＬ，ＢＤＬ，ＣＤＬ，ＤＤＬに記憶された状態において、書き込みコマンドが供給される。すると、第１ページ、第２ページ、第３ページ及び第４ページのデータに基づき、１セル中に４ビットのデータが同時に書き込まれる。
【００７９】
図１１は、書き込みシーケンスを示している。書き込みシーケンスは、プログラムとプログラムベリファイを繰り返し実行される。例えば、１度のプログラム動作に対して、１６個のベリファイレベル（ベリファイ１〜１６）を用いて、メモリセルの閾値レベルが判別される。このベリファイの結果、全てのメモリセルがベリファイをパスするまで、プログラム及びベリファイが繰り返される。プログラムが繰り返される毎に、プログラム電圧がステップアップされる。
【００８０】
図２７（ａ）は、ベリファイ時の選択ワード線と非選択ワード線の波形を示している。下のレベルより順次レベルを上げることにより、夫々のレベルでのベリファイ動作を行う。ここで、低いレベルは先に書き込みが完了するため、例えば、レベル“１”への書き込むセルがなくなると、レベル“１”のベリファイは省略する。
【００８１】
図２７（ｂ）は、レベル“１”の読み出しを省略した場合を示している。図２７（ａ）はレベル“２”のときの選択ワード線の波形であり、低いレベルからレベル“２”のレベルとなっていた。しかし、図２７（ｂ）では、高いレベルからレベル“２”となっている。これは非選択ワード線の電位が読み出し電圧Ｖｒｅａｄと高い電圧になるため、ワード線間のカップリングの影響を受けるためである。したがって、レベルが若干ずれてしまい正しいレベルで読み出しが出来ない。このため、レベル“１”のベリファイを省略した場合、図２７（ｃ）、（ｄ）に示すように、十分に選択ワード線のリカバリー時間を取る必要がある。
【００８２】
プログラム及びベリファイ動作は、本実施形態の要旨ではないため、説明の便宜上、詳細な動作は省略する。また、プログラム及びベリファイ動作は、上記方法に限定されるものではなく、変形実施可能である。
【００８３】
このようにして、プログラム及びベリファイ動作が完了すると、各メモリセルに入力データに応じた閾値レベルが設定される。
【００８４】
また、選択ワード線及び、非選択ワード線は、図２７（ａ）に示すように、低いレベルから順次レベルを上げることにより、それぞれのレベルでの読み出し動作を行う。
【００８５】
図１２は、１６値の閾値レベルと各ページのデータの関係を示している。
【００８６】
（リード）
図１３は、データの読み出しシーケンスを示している。
【００８７】
読み出し動作において、読み出しコマンド（００ｈ）が供給されると、チップ外部にビジー（Ｂｕｓｙ）信号を出力するとともに、１セル中に記憶されている４ビットのデータが読み出される。読み出し動作は、第１、第２、第３、第４ページ（ロワーページ、アッパーページ、ハイアーページ、トップページ）の順に行われる。
【００８８】
図１４は、メモリセルからデータラッチ回路への読み出しシーケンスを示す。すなわち、メモリセルのワード線にロワーページ、アッパーページ、ハイアーページ、トップページの読み出し電圧が順次印加され、メモリセルのデータがセンスアンプユニットにより検出される。この検出されたデータはデータラッチ回路ＡＤＬ、ＢＤＬ、ＣＤＬ、ＤＤＬに順次記憶される。
【００８９】
図１５は、読み出し時におけるデータラッチ回路ＡＤＬ、ＢＤＬ、ＣＤＬ、ＤＤＬのデータの遷移を示している。読み出し動作により第１ページのデータは、データラッチ回路ＡＤＬに保持され、第２ページのデータは、データラッチ回路ＢＤＬに保持され、第３ページのデータは、データラッチ回路ＣＤＬに保持され、第４ページのデータは、データラッチ回路ＤＤＬに保持される。
【００９０】
読み出しは、下のレベルから順次読み出し動作を行い、ＡＤＬ〜ＤＤＬにデータを転送する。しかし、“８”レベルまで読み出すと、第１ページのデータは決まるため、ＡＤＬに記憶されているデータはＸＤＬにコピーされる。次いで、コントローラ１１に供給される信号をビジー状態からレディ状態とすると、コントローラ１１は、ＮＡＮＤ型フラッシュメモリに読み出し信号ＲＥ信号を供給する。これにより、第１ページのカラム０〜５１１のデータがデータラッチ回路ＸＤＬから外部に出力される。
【００９１】
次に、コントローラ１１からＮＡＮＤ型フラッシュメモリに転送コマンドが供給されると、ＮＡＮＤ型フラッシュメモリはコントローラ１１にビジー信号を出力する。ここで、第２ページのデータがデータラッチＢＤＬに読み込まれていた場合、データラッチ回路ＢＤＬのデータが、データラッチ回路ＸＤＬにコピーされる。一方、第２ページのデータがデータラッチＢＤＬに読み込まれていない場合、第２ページのデータがデータラッチＢＤＬに読み込まれるまで待つ。この後、ビジー信号をレディ信号とすると、コントローラ１１は、ＮＡＮＤ型フラッシュメモリに読み出し信号ＲＥ信号を供給する。これにより、第２ページのカラム０〜５１１のデータがデータラッチ回路ＸＤＬから外部に出力される。
【００９２】
次に、コントローラ１１からＮＡＮＤ型フラッシュメモリに転送コマンドが供給されると、ＮＡＮＤ型フラッシュメモリはコントローラ１１にビジー信号を出力する。ここで、第３ページのデータがデータラッチＣＤＬに読み込まれていた場合、データラッチ回路ＣＤＬのデータが、データラッチ回路ＸＤＬにコピーされる。一方、第３ページのデータがデータラッチＣＤＬに読み込まれていない場合、第３ページのデータがデータラッチＣＤＬに読み込まれるまで待つ。この後、ビジー信号をレディ信号とすると、コントローラ１１は、ＮＡＮＤ型フラッシュメモリに読み出し信号ＲＥ信号を供給する。これにより、第３ページのカラム０〜５１１のデータがデータラッチ回路ＸＤＬから外部に出力される。
【００９３】
次に、コントローラ１１からＮＡＮＤ型フラッシュメモリに転送コマンドが供給されると、ＮＡＮＤ型フラッシュメモリはコントローラ１１にビジー信号を出力する。ここで、第４ページのデータがデータラッチＤＤＬに読み込まれていた場合、データラッチ回路ＤＤＬのデータが、データラッチ回路ＸＤＬにコピーされる。一方、第４ページのデータがデータラッチＤＤＬに読み込まれていない場合、第４ページのデータがデータラッチＤＤＬに読み込まれるまで待つ。この後、ビジー信号をレディ信号とすると、コントローラ１１は、ＮＡＮＤ型フラッシュメモリに読み出し信号ＲＥ信号を供給する。これにより、第４ページのカラム０〜５１１のデータがデータラッチ回路ＸＤＬから外部に出力されるこの時点において、コントローラ１１に、２ｋＢのＥＣＣ単位のデータが揃うため、ＥＣＣの訂正処理を行うことが出来る。
【００９４】
次に、コントローラ１１からＮＡＮＤ型フラッシュメモリに転送コマンドが供給されると、ＮＡＮＤ型フラッシュメモリはコントローラ１１にビジー信号を出力する。これとともに、データラッチ回路ＡＤＬのデータが、データラッチ回路ＸＤＬにコピーされる。この後、ビジー信号をレディ信号とすると、コントローラ１１は、ＮＡＮＤ型フラッシュメモリに読み出し信号ＲＥ信号を供給する。これにより、第１ページのカラム５１２〜１０２３がデータラッチ回路ＸＤＬから外部に出力される。
【００９５】
次に、コントローラ１１からＮＡＮＤ型フラッシュメモリに転送コマンドが供給されると、ＮＡＮＤ型フラッシュメモリはコントローラ１１にビジー信号を出力する。これとともに、データラッチ回路ＢＤＬのデータが、データラッチ回路ＸＤＬにコピーされる。この後、ビジー信号をレディ信号とすると、コントローラ１１は、ＮＡＮＤ型フラッシュメモリに読み出し信号ＲＥ信号を供給する。これにより、第２ページのカラム５１２〜１０２３がデータラッチ回路ＸＤＬから外部に出力される。
【００９６】
次に、コントローラ１１からＮＡＮＤ型フラッシュメモリに転送コマンドが供給されると、ＮＡＮＤ型フラッシュメモリはコントローラ１１にビジー信号を出力する。これとともに、データラッチ回路ＣＤＬのデータが、データラッチ回路ＸＤＬにコピーされる。この後、ビジー信号をレディ信号とすると、コントローラ１１は、ＮＡＮＤ型フラッシュメモリに読み出し信号ＲＥ信号を供給する。これにより、第３ページのカラム５１２〜１０２３のデータがデータラッチ回路ＸＤＬから外部に出力される。
【００９７】
次に、コントローラ１１からＮＡＮＤ型フラッシュメモリに転送コマンドが供給されると、ＮＡＮＤ型フラッシュメモリはコントローラ１１にビジー信号を出力する。これとともに、データラッチ回路ＤＤＬのデータが、データラッチ回路ＸＤＬにコピーされる。この後、ビジー信号をレディ信号とすると、コントローラ１１は、ＮＡＮＤ型フラッシュメモリに読み出し信号ＲＥ信号を供給する。これにより、第４ページのカラム５１２〜１０２３のデータがデータラッチ回路ＸＤＬから外部に出力される。この時点において、コントローラ１１に、２ｋＢのＥＣＣ単位のデータが揃うため、ＥＣＣの訂正処理を行うことが出来る。
【００９８】
次に、コントローラ１１からＮＡＮＤ型フラッシュメモリに転送コマンドが供給されると、ＮＡＮＤ型フラッシュメモリはコントローラ１１にビジー信号を出力する。これとともに、データラッチ回路ＡＤＬのデータが、データラッチ回路ＸＤＬにコピーされる。この後、ビジー信号をレディ信号とすると、コントローラ１１は、ＮＡＮＤ型フラッシュメモリに読み出し信号ＲＥ信号を供給する。これにより、第１ページのカラム１０２４〜１５３５のデータがデータラッチ回路ＸＤＬから外部に出力される。
【００９９】
以下同様の動作により、第４ページのカラム３５８４〜４０９５のデータがデータラッチ回路ＸＤＬから外部に出力される。この時点において、コントローラ１１に、２ｋＢのＥＣＣ単位のデータが揃うため、ＥＣＣの訂正処理を行うことが出来る。
【０１００】
ところで、１セルに複数ビットを記憶するメモリにおいて、１セルに記憶する複数ビットを、それぞれ第１ページ、第２ページ、第３ページ、第４ページとした場合、ページ毎の不良率が異なる。このため、第１ページ、第２ページ、第３ページ、第４ページのデータを１つのＥＣＣとするとＥＥＣの効率が向上するが、このようにすると、ＥＣＣの単位が非常に大きくなる。
【０１０１】
しかし、上記第１の実施形態によれば、第１ページ、第２ページ、第３ページ、第４ページのデータを何度も切り替えて、繰り返し読み出し、及び書き込みを可能にしている。このため、ＥＣＣの単位を非常に大きくせず、第１ページ、第２ページ、第３ページ、第４ページを含んだＥＣＣ単位とすることができ、ＥＣＣの訂正効率を向上させることが可能である。
【０１０２】
また、図２８は、読み出し動作の変形例を示すものである。図２８に示すように、第４ページのデータを出力している間に、次のページのデータをセルからデータ記憶回路に読み出すことも可能である。
【０１０３】
本実施形態は、１６値の場合について説明したが、４値、８値、あるいはこれ以上のレベルについても実施可能である。４値の場合、第１ページ、第２ページのみであるが、８値の場合は、第１ページ、第２ページ、第３ページを必要とする。
【０１０４】
（第２の実施形態）
上記第１の実施形態は、図９（ｂ）（ｄ）に示すように、ページアドレスとＥＣＣの単位を設定した。また、プログラム時、図１６に示すように、選択メモリセルの制御ゲート（選択ワード線）に高電圧ＶＰＧＭが印加されて書き込み動作が行なわれる。
【０１０５】
しかし、ワード線の抵抗及び容量は大きい。このため、ワード線の電圧の立ち上がり及び立下り特性は、ワード線の駆動回路からの距離により相違する。図１６において、点線で示す特性ＷＬｆは、駆動回路から遠い部分のワード線の特性を示し、実線で示すＷＬｎは、駆動回路から近い部分のワード線の特性を示している。このように、ワード線の電位は、駆動回路に近い部分と駆動回路から離れた部分で相違するため、このワード線に接続されるメモリセルの不良率も異なってしまう。すなわち、メモリセルの不良率は、駆動回路に近いほどプログラムディスターブにより高くなる場合もある。
【０１０６】
この場合、図１７、１８に示すように、ページアドレスとＥＣＣ単位の関係を設定することが考えられる。図１７に示すＡ，Ｂ〜Ｇは、４値の場合のページアドレスとＥＣＣ単位の関係を示し、図１８に示すＡ，Ｂ〜Ｇは、１６値の場合のページアドレスとＥＣＣ単位の関係を示している。コントローラ１１は、図１７、図１８に示すカラムアドレスに従って、ＮＡＮＤ型フラッシュメモリに対して６４ｋＢずつ５１２ｋＢのデータを入出力する。
【０１０７】
しかし、ＥＣＣ回路１１−１は、例えば１ｋＢ、又は２ｋＢのＥＣＣ単位毎に計算するため、図１７、図１８に示す構成の場合、ＮＡＮＤ型フラッシュメモリに対して飛び飛びにデータを入出力することとなり、実現が難しい。
【０１０８】
そこで、第２の実施形態では、ＮＡＮＤ型フラッシュメモリのカラムアドレスの物理位置を図１９、図２０、図２１、図２２のように構成する。
【０１０９】
図１９は、４値の場合のページとＥＣＣ単位の関係を示し、図２０は、１６値の場合のページとＥＣＣ単位の関係を示している。この場合、カラムアドレスが非連続となっている。すなわち、図１９において、カラムアドレスは、８カラム毎にスキップして順次割り振られている。この状態において、例えばコントローラ１１からＮＡＮＤ型フラッシュメモリにデータを入力する場合、先ず、カラムアドレス“０”で、第１カラム（第１メモリセル）のＡに、第１、第２ページのデータが入力され、次に、８カラム離れた第８カラム（第８メモリセル）のＡに、第１、第２ページのデータが入力される。このようにして、カラムアドレス“５１１”により、第５１１カラム（第５１１メモリセル）のＡに、第１、第２ページのデータが入力される。この後、第５１２カラム（第５１２メモリセル）のＢに、第１、第２ページのデータが入力される。
【０１１０】
図２０に示す１６の場合、図１９に示すカラムアドレスに従って、第１、第２、第３、第４ページのデータが入力される。
【０１１１】
図１９、２０の場合、１ビットずつカラムアドレスをスクランブルしたが、１ビットに限定されるものではなく、複数ビット毎にスクランブルを掛けても良い。
【０１１２】
すなわち、図２１に示す例の場合、連続した８ビット、８カラムアドレス毎にカラムアドレスをスクランブルしている。例えば、先ず、“０”〜“７”の８カラムアドレス（Ａ）に第１、第２ページのデータを供給し、次いで、６４カラムアドレス離れた部分に“８”〜“１５”の８カラムアドレス（Ａ）に第１、第２ページのデータを供給する。以下同様に、６４カラムアドレス毎に８カラムアドレスが順次割り付けられる。
【０１１３】
図２２に示す例の場合、図２１と同様のカラムアドレスの割り付けにおいて、第１、第２、第３、第４ページのデータが供給される。
【０１１４】
上記図１９乃至図２２に示すカラムアドレスの割り付けは、データの書き込み及び読み出し時に適用される。このカラムアドレスの割り付けは、例えば図１に示すカラムデコーダ３により実行される。すなわち、図１９乃至図２２に示すカラムアドレスの割り付けに従ってカラムが選択される。
【０１１５】
上記第２の実施形態によれば、１又は複数のカラムアドレスを、１又は複数のカラムアドレスずつ離して割り付けている。このため、連続的にカラムアドレスをＮＡＮＤ型フラッシュメモリに入出力しても、メモリセルに記憶されるデータは、カラム方向に離散するようになる。したがって、ワード線の駆動回路に近い部分と駆動回路から離れた部分とで不良率が異なっていても、全てのＥＣＣ単位の不良率を均一とすることができる。
【０１１６】
本実施形態は、４値、１６値の場合について説明したが、８値、更にこれ以上のレベルを記憶するメモリセルに、本実施形態を適用することが可能である。
【０１１７】
である。
【０１１８】
（第３の実施形態）
図２３及び図２４は、１回の書き込み動作により、１セルに含まれる全てのビット（ここでは２ビット）を同時に書き込む場合のメモリセルのデータと閾値分布の関係と書き込み順序を示している。
【０１１９】
また、図２５及び図２６は、１回の書き込み動作により、１セルに含まれる２ビット（ここでは２ビット）の内、１ビットずつを書き込む場合のメモリセルのデータと閾値分布の関係と書き込み順序を示している。
【０１２０】
図２４は、メモリセルの書き込み順序を示している。図２４において、先ず、ワード線ＷＬ０を選択して書き込み（１）。この後、ワード線ＷＬ１を選択して書き込む（２）。さらに、ワード線ＷＬ２を選択して書き込み（４）、この後、５）。以下、（６）…（７）の順でメモリセルにデータを書き込まれる。
【０１２１】
図２６は、メモリセルの書き込み順序を示している。図２４、において、先ず、ワード線ＷＬ０を選択して書き込み（１）。この後、ワード線ＷＬ１を選択して書き込む（２）。この後、ワード線ＷＬ０に戻って書き込む（３）。さらに、ワード線ＷＬ２を選択して書き込み（４）、この後、ＷＬ１に戻って書き込みを行う（５）。以下、（６）…（７）の順でメモリセルにデータを書き込まれる。このように、メモリセルの書き込み後、書き込まれたメモリセルに隣接するメモリセルにデータを書き込むと、フローティングゲート間のカップリングにより閾値レベルが上がってしまうことが問題となっている。図２３、図２５に示すように、隣接セルの書き込み後、各閾値分布が少し広がり閾値レベルが上がってしまう。データの読み出しレベルＡ、Ｂ、Ｃ、Ｄは、書き込まれたセルの閾値レベルから、データリテンション後、閾値分布が下がった場合においても読み出せるように設定されている。
【０１２２】
ここで、次の隣接セルの書き込みが行われる場合、閾値レベルは若干上がるが、次の隣接セルの書き込みが行われない場合、閾値レベルは上がらない。このため、隣接セルの書き込みが行われない場合、隣接セルの書き込みが行われた場合に比べてデータリテンションマージンが少なくなってしまう。したがって、ブロック内において、次のページの書き込みが行われない場合、ダミーのデータを書き込むことにより、フローティングゲート間のカップリングにより閾値レベルを上げ、データリテンションマージンを確保する。ダミーデータとしては、データリテンションの観点から考えると、例えば最も高い閾値分布の閾値レベルが上昇するするデータを用いることが望ましい。しかし、閾値レベルが上がり過ぎ、次のレベルとのマージンが減ってしまう場合は、ランダムデータが望ましい。
【０１２３】
また、図２、図３に示す構成の場合、ブロック内において、ワード線ＷＬ０のセルから順にワード線ＷＬ１、ＷＬ２…ＷＬ３１の順に書き込まれる。このため、最後のワード線ＷＬ３１のセルは、隣接セルの書き込みが行われない。したがって、閾値レベルが上がらずデータリテンションマージンが少なくなってしまうという問題が発生する場合、ブロック内の最後のワード線ＷＬ３１の書き込みにおけるベリファイレベルを予め少し上げておけばよい。
【０１２４】
上記第３の実施形態によれば、隣接セルの書き込みが行なわれない場合、ダミーデータを書き込み、閾値レベルを上昇させている。このため、データリテンションマージンを大きくすることができる。したがって、読み出し精度を向上することができ、不良率の低下を防止できる。
【０１２５】
尚、本実施形態は、４値の場合について説明したが、これに限らず、８値、１６値、更にこれ以上のレベルを記憶するメモリセルに、本実施形態を適用することが可能である。
【０１２６】
その他、本発明の要旨を変えない範囲において、種々変形実施可能なことは勿論である。
【図面の簡単な説明】
【０１２７】
その他、本発明の要旨を変えない範囲において、種々変形実施可能なことは勿論である。
付記
（１）ｎ個のメモリセルが、同一のワード線に接続され、前記ｎ個のメモリセルの内、ｋ個（ｋ＜＝ｎ）のメモリセルを同時に記憶する半導体記憶装置であって、
前記ｋ個のメモリセルは、１つのＥＣＣ単位がｈ個（ｈ×ｉ（自然数）＝ｋ）のメモリセルで構成されるｉ個のＥＣＣグループより構成され、前記ｉ個のＥＣＣグループのそれぞれは、前記ワード線の一端部付近のカラムアドレスを有するセルと他端部付近のセルのカラムアドレスを有するメモリセルをそれぞれ均一に存在することを特徴とする半導体記憶装置。
（２）ｋビット（ｋは１以上の自然数）を記憶する第１メモリセルと、前記第１メモリセルに隣接する第２メモリセルを有する半導体記憶装置であって、
前記第２メモリセルにデータを書き込まない場合、ダミーのデータを前記第２メモリセルに書き込むことを特徴とする半導体記憶装置。
【符号の説明】
【０１２８】
１…メモリセルアレイ、１０…データ記憶回路、１１…コントローラ、１１−１…ＥＣＣ回路、ＭＣ…メモリセル。
【図１】
0005150245.tif 000002
【図２】
0005150245.tif 000003
【図３】
0005150245.tif 000004
【図４】
0005150245.tif 000005
【図５】
0005150245.tif 000006
【図６】
0005150245.tif 000007
【図７】
0005150245.tif 000008
【図８】
0005150245.tif 000009
【図９】
0005150245.tif 000010
【図１０】
0005150245.tif 000011
【図１１】
0005150245.tif 000012
【図１２】
0005150245.tif 000013
【図１３】
0005150245.tif 000014
【図１４】
0005150245.tif 000015
【図１５】
0005150245.tif 000016
【図１６】
0005150245.tif 000017
【図１７】
0005150245.tif 000018
【図１８】
0005150245.tif 000019
【図１９】
0005150245.tif 000020
【図２０】
0005150245.tif 000021
【図２１】
0005150245.tif 000022
【図２２】
0005150245.tif 000023
【図２３】
0005150245.tif 000024
【図２４】
0005150245.tif 000025
【図２５】
0005150245.tif 000026
【図２６】
0005150245.tif 000027
【図２７】
0005150245.tif 000028
【図２８】
0005150245.tif 000029