(57)【要約】【課題】データ読出時間およびデータ書込み時間を短縮することが可能な多値不揮発性半導体記憶装置のデータ読出方法および書込方法を提供する。【解決手段】不揮発性半導体記憶装置１０００は、データ入出力端子１０からｊビット（たとえば、８ビット）ごとにデータの授受を行なう。メモリセルアレイ１００中のメモリセルの各々は、２n個のしきい値レベルに対応してｎビットのデータを保持できる。書込みデータ変換回路２３０は、異なるタイミングで入力される複数のｊビットのデータの組において、同一のデータ入出力端子から入力されるビットデータから書込みデータを生成する。【選択図】図１
2006085901.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性半導体記憶装置から複数のデータを読出す方法であって、前記不揮発性半導体記憶装置は、前記複数のデータを記憶するメモリセルと、前記メモリセルに接続されるワード線を選択することによって前記データを読出す読出回路と、前記読出回路によって読み出された前記データを出力するためのデータ出力ノードとを含み、前記方法は、
前記ワード線を選択することによって前記メモリセルから前記複数のデータの一部を読出すステップと、
前記データ出力ノードに対し、前記複数のデータの前記一部を出力するステップと、
前記ワード線を選択することにより、前記メモリセルから前記複数のデータの別の一部を読出すステップと、
前記データ出力ノードに対し、前記複数のデータの前記別の一部を出力するステップとを含み、
前記複数のデータの前記一部を出力する前記ステップは、前記複数のデータの別の一部を読出す前記ステップと重複する、不揮発性半導体記憶装置のデータ読出方法。
【請求項２】
前記複数のデータの前記別の一部を読出す前記ステップは、前記複数のデータの前記一部を読出す前記ステップの後に行なわれる、請求項１記載の不揮発性半導体記憶装置のデータ読出方法。
【請求項３】
前記複数のデータの前記別の一部を出力する前記ステップは、前記複数のデータの前記一部を出力する前記ステップの後に行なわれる、請求項２記載の不揮発性半導体記憶装置のデータ読出方法。
【請求項４】
不揮発性半導体記憶装置からデータを読出す方法であって、前記不揮発性半導体記憶装置は、
ワード線と、
第１および第２のビット線と、
前記ワード線および前記第１のビット線に結合される第１のメモリセルと、
前記ワード線および前記第２のビット線に結合される第２のメモリセルと、
前記第１および第２のメモリセルから前記データを出力するためのデータ出力ノードとを含み、前記方法は、
選択的に活性化された前記ワード線を用いて前記第１のメモリセルから第１のデータを読出すステップと、
前記データ出力ノードに前記第１のデータを出力するステップと、
選択的に活性化された前記ワード線を用いて前記第２のメモリセルから第２のデータを読出すステップと、
前記データ出力ノードに前記第２のデータを出力するステップとを含み、
前記第１のデータを出力する前記ステップは、第２のデータを読出す前記ステップと重複する、不揮発性半導体記憶装置のデータ読出方法。
【請求項５】
前記第２のデータを読出す前記ステップは、前記第１のデータを読出す前記ステップの後に行なわれる、請求項４記載の不揮発性半導体記憶装置のデータ読出方法。
【請求項６】
前記第２のデータを出力する前記ステップは、前記第１のデータを出力する前記ステップの後に行なわれる、請求項５記載の不揮発性半導体記憶装置のデータ読出方法。
【請求項７】
不揮発性半導体記憶装置にデータを書込む方法であって、前記不揮発性半導体記憶装置は、第１および第２のデータを記憶するメモリセルと、第１および第２のレジスタとを含み、前記方法は、
前記不揮発性半導体記憶装置の外側から入力された前記第１のデータを前記第１のレジスタに記憶するステップと、
前記第１のレジスタに記憶された前記第１のデータを前記メモリセルに書込むステップと、
前記不揮発性半導体記憶装置の外側から入力された前記第２のデータを前記第２のレジスタに記憶するステップと、
前記第１のデータが既に書込まれた前記メモリセルに対し、前記第２のレジスタに記憶された前記第２のデータを書込むステップとを含み、
前記第１のデータを書込む前記ステップは、前記第２のデータを記憶する前記ステップと重複する、不揮発性半導体記憶装置のデータ書込方法。
【請求項８】
前記第２のデータを記憶する前記ステップは、前記第１のデータを記憶する前記ステップの後に行なわれる、請求項７記載の不揮発性半導体記憶装置のデータ書込方法。
【請求項９】
前記第２のデータを書込む前記ステップは、前記第１のデータを書込む前記ステップの後に行なわれる、請求項８記載の不揮発性半導体記憶装置のデータ書込方法。  
【請求項１０】
複数のデータが記憶されるメモリセルと、前記データを出力する出力ノードとを有する不揮発性半導体記憶装置から複数のデータを読出す方法であって、
前記複数のデータの一部を読出す第１のステップと、
前記第１のステップで読み出したデータを前記出力ノードに出力する第２のステップと、
前記メモリセルの複数のデータの他の一部を読出す第３のステップと、
前記第３のステップで読み出したデータを前記出力ノードに出力する第４のステップとを含む、不揮発性半導体記憶装置のデータ読出方法。
【請求項１１】
第１および第２のデータを記憶可能なメモリセルを備える不揮発性半導体記憶装置にデータを書込む方法であって、
前記不揮発性半導体記憶装置に入力された第１のデータを第１のレジスタに保存する第１のステップと、
前記第１のレジスタに保存された前記第１のデータを前記メモリセルに書込む第２のステップと、
前記不揮発性半導体記憶装置に入力された第２のデータを第２のレジスタに保存する第３のステップと、
前記第２のレジスタに保存された前記第２のデータを前記メモリセルに書込む第４のステップとを含む、不揮発性半導体記憶装置のデータ書込方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は不揮発性半導体記憶装置のデータ読出方法およびそのデータ書込方法に関し、特に、１つのメモリセルに４値以上の情報（２ビット分以上の情報）を記憶可能な不揮発性半導体記憶装置のデータ読出方法およびそのデータ書込方法に関する。より特定的には、たとえば、フラッシュメモリなどの電気的書換可能な不揮発性半導体記憶装置のデータ読出方法およびそのデータ書込方法に関する。
【背景技術】
【０００２】
フラッシュメモリ等の不揮発性半導体記憶装置の記憶容量の増大に対応するために、１つのメモリセルにおいて、２値のデータを超える多値のデータを記憶可能な構成が開発されている。
【０００３】
図１１８は従来のＡＮＤ型フラッシュメモリ８０００の全体的な構成を示す概略ブロック図である。
【０００４】
メモリセルアレイ１００は、フローティングゲートとコントロールゲートを備えた多数のメモリセルを有する。図１１８においては、メモリセルアレイ１００は、２つのメモリセルブロック１００Ｒと１００Ｌとに分割されている。
【０００５】
メモリセルのコントロールゲートはワード線ＷＬに、メモリセルのドレインはビット線ＢＬに、メモリセルのソースは図示しないソース線ＳＣＬに接続される。
【０００６】
ワード線ＷＬおよびビット線ＢＬは代表的に、それぞれ１本ずつ示されている。ロウデコーダ１１０は、外部から与えられるアドレス信号に基づいてワード線を選択的に駆動する。ビット線ＢＬの一端側には、センスラッチ回路１２０が設けられる。またビット線ＢＬはカラムデコーダ１３０から出力される選択信号に基づいて選択され、選択されたビット線との間で読出データ、書込みデータの授受が行なわれる。
【０００７】
図１１８において、図示しないが、センスラッチ回路１２０は、カラムデコーダ１３０からの選択信号に基づいて、ビット線を選択するためのカラムスイッチ回路を含んでいる。
【０００８】
カラムデコーダ１３０およびロウデコーダ１１０には、アドレスバッファ１４０からアドレス信号が供給される。
【０００９】
チップコントロール部２００は、図示しないアクセス制御信号やクロック信号を外部から受け、これに従ってメモリセルの書込制御や読出制御のために、フラッシュメモリの内部回路を全体的に制御する。消去、書込、読出などの動作モードに応じて、ワード線の電位を駆動するワードドライバ（図示せず）等の動作電圧の切換は、チップコントロール部２００が電源発生部１５０を制御することにより行なわれる。
【００１０】
データラッチ回路ＤＬ−ＬおよびＤＬ−Ｒは、データの書込み、読出動作において授受されるデータを一時保持するデータバッファである。
【００１１】
フラッシュメモリの動作モードは、特に制限されないが、外部からチップコントロール部２００に供給されるアクセス制御信号、またはデータバスなどを介して供給されるコマンドデータによって指示され、データの書換（消去および書込）やデータの読出モードを有する。
【００１２】
図１１８に示される従来のＡＮＤ型４値フラッシュメモリにおいては、１つのメモリセルの情報記憶状態は、消去状態、第１の書込状態、第２の書込状態、第３の書込状態の中から選ばれた１つの状態とされている。全部で４通りの情報記憶状態は、２ビットのデータによって決定される状態に対応する。すなわち、２ビットのデータを１つのメモリセルで記憶することが可能である。
【００１３】
そのために、フラッシュメモリ８０００は、書込動作時にワード線に印加する書込ベリファイ電圧を相互に異なる３種類設定し、これらを順次切換えて、３回に分けて書込動作を行なう。
【００１４】
これら各書込動作において、チップコントロール部２００は、書込を行なうメモリセルに接続されたセンスラッチＳＬ（センスラッチ回路１２０に含まれるセンスラッチＳＬ）に保持される２値（１ビット）の書込データ“０”または“１”（“Ｌ”または“Ｈ”）の書込み動作を、全上記３回に分けた書込動作の各書込動作ごとに、対応する書込ベリファイ電圧を設定して制御する。このような構成により、後に詳しく説明するように、１つのメモリセルに４値（２ビット）の情報を書込むことが可能となる。
【００１５】
また、フラッシュメモリ８０００は、読出動作時にワード線の印加するワード線選択レベルとして電圧を３種類設定し、３回の読出動作でメモリセルから読出される２値（１ビット）のデータをセンスラッチ回路１２０を介して取込み、３回の読出動作終了後に、チップコントロール部２００は、４値（２ビット）の情報に変換する。
【００１６】
以下、書込動作および読出動作について概要を述べる。
書込動作においては、書込まれるべき２値（１ビット）のデータ列はデータ入出力端子群１０から、アドレス信号はアドレス信号入力端子１２からそれぞれアドレスバッファ／データ入出力バッファ１４０に取り込まれる。
【００１７】
チップコントロール回路２００は、書込む２値（１ビット）へのデータ列を、上位ビットのデータ列と下位ビットのデータ列（あるいは、奇数ビットのデータ列と、偶数ビットのデータ列）に分離して、メモリセルアレイ１００中の非選択のメモリセルに接続されるデータラッチＤＬ−ＬおよびＤＬ−Ｒ（以下非選択選択ラッチと呼ぶ）に信号線２０を通してそれぞれ転送し、一時的にラッチさせる。
【００１８】
そして、チップコントロール部２００は、「書込１（第１の書込状態を得るための書込動作）」、「書込２（第２の書込状態を得るための書込動作）」、「書込３（第３の書込状態を得るための書込動作）」の各動作ごとに、データラッチＤＬ−ＬおよびＤＬ−Ｒが保持しているデータを信号線２０を通して取込み、それを、「書込１」、「書込２」、「書込３」に応じて、選択されたメモリセルに書込む４値（２ビット）のデータに対応した２値（１ビット）のデータ“０”または“１”に変換する。さらに、チップコントロール部２００は、変換したデータを信号線１８を通して、選択されたメモリセルに接続されたセンスラッチ回路１２０中のセンスラッチＳＬに転送し、この選択されたセンスラッチＳＬにラッチされた２値データに従って、上記「書込１」、「書込２」、「書込３」の各書込動作が行なわれる。
【００１９】
このようにして、上位ビット列、下位ビット列に分けられた２値のデータを、データラッチＤＬ−ＬおよびＤＬ−Ｒに一時的に保持させて、ベリファイ電圧の異なる３回の書込動作「書込１」〜「書込３」）ごとに、チップコントロール部２００が２値（１ビット）への書込データを構成し、ベリファイ電圧がそれぞれ異なる書込動作を行なうことによって、１つのメモリセルに４値（２ビット）の情報を書込むことができる。
【００２０】
読出動作では、異なる３種類の電圧が順番に、選択された同一のワード線ＷＬに印加され、各３回の読出動作によって、メモリセルアレイ１００中のメモリセルから選択センスラッチに読出される２値（１ビット）の情報“０”または“１”は、それぞれデータラッチＤＬ−ＬおよびＤＬ−Ｒに転送されて、一時的に保持される。３回の読出動作によって読出され、データラッチＤＬ−ＬおよびＤＬ−Ｒに保持されたデータ列と選択センスラッチにラッチされたデータ列とにおける３種類の２値（１ビット）のデータ“０”または“１”は、信号線１８および２０を通してチップコントロール回路２００に転送される。
【００２１】
チップコントロール回路２００は、そのようにして転送されたデータに基づいて、４値（２ビット）のデータの上位ビット、下位ビットを合成する。チップコントロール回路２００は、合成された上位ビットおよび下位ビットをデータ入出力バッファ１４０を経由して、データ入出力端子群１０から出力させる。
【００２２】
以下、上に述べた書込動作、読出動作について、さらに詳細を説明する。
［従来の４値データの書込動作］
図１１９は、従来の２値ＡＮＤ型フラッシュメモリの書込みデータと、メモリセルトランジスタのしきい値との関係を示す図である。書込み動作および読出動作においては、判定レベルＶｊ０１を基準として、データの書込みおよび読出が行なわれる。
【００２３】
図１２０は、従来の４値ＡＮＤ型フラッシュメモリ８０００の書込みデータと、メモリセルトランジスタのしきい値との関係を示す図である。書込み動作および読出動作においては、３つの判定レベルＶｊ１，Ｖｊ２，Ｖｊ３を基準として、データの書込みおよび読出が行なわれる。
【００２４】
上述のとおり、従来の４値ＡＮＤ型フラッシュメモリ８０００は、図１１９のように、２値ＡＮＤ型フラッシュメモリでは書込後のメモリセルトランジスタのしきい値（Ｖｔｈ）を“０”と“１”の２種に分割していたのに対し、図１２０に示すように書込み後のしきい値を４種に分割するものである。
【００２５】
したがって、各々のレベルを判定するのに、３種類の判定値Ｖｊ１、Ｖｊ２、Ｖｊ３を必要とする。
【００２６】
図１２１〜図１２６は、書込み動作の第１〜第３の処理ステップにおいて、データラッチＤＬ−ＬおよびＤＬ−ＲならびにセンスラッチＳＬに保持されるデータおよび書込み後のメモリセルのしきい値を示す概念図である。
【００２７】
図１２１は、書込み動作の第１の処理ステップにおける各ラッチに保持されるデータを示し、図１２２は、書込み動作の第１の処理ステップにおけるメモリセルのしきい値を示す。
【００２８】
図１２３は、書込み動作の第２の処理ステップにおける各ラッチに保持されるデータを示し、図１２４は、書込み動作の第２の処理ステップにおけるメモリセルのしきい値を示す。
【００２９】
図１２５は、書込み動作の第３の処理ステップにおける各ラッチに保持されるデータを示し、図１２６は、書込み動作の第３の処理ステップにおけるメモリセルのしきい値を示す。
【００３０】
まず、書込み動作の開始前に、メモリセルのしきい値を判定レベルＶｊ１以下とする処理が行なわれる。
【００３１】
次に、図１２１および１２２を参照して、書込動作の第１ステップでは、データ入出力端子群１０うちの端子Ｉ／Ｏ０〜７から入力された１バイト分のデータＤＱ０〜７のうち、データＤＱ０〜３をデータラッチＤＬ−Ｒに、データＤＱ４〜７をデータラッチＤＬ−Ｌに格納する。図１２１の例では、入力された１バイトのデータは、１６進数表示でＣ９ｈであるものとする。
【００３２】
データは、１セクタ（１ワード線に対応するデータ）すべてについて、端子Ｉ／Ｏ０〜３からの入力データＤＱ０〜３はデータラッチＤＬ−Ｒに、端子Ｉ／Ｏ４〜７からの入力データＤＱ４〜７はデータラッチＤＬ−Ｌにそれぞれラッチされる。
【００３３】
以下では、データラッチＤＬ−Ｌに保持されるデータＤＱ４〜７のうちの１つを上位ビットとし、データラッチＤＬ−Ｒに保持されるデータＤＱ０〜３の１つを下位ビットとする２ビットのデータ、（ＤＱ４、ＤＱ０）、（ＤＱ５、ＤＱ１）（ＤＱ６、ＤＱ２）（ＤＱ７、ＤＱ３）をそれぞれ１組のデータとして考えることにする。
【００３４】
チップコントロール部２００は、まずデータラッチＤＬ−Ｒ、ＤＬ−Ｌに含まれる上記のようなデータの組を演算することで、データラッチＤＬ−Ｌに保持される上位ビットが“０”であって、データラッチＤＬ−Ｒに保持される下位ビットが“１”となっているデータに対応するセンスラッチＳＬのビットデータのみを“０”レベルとする。
【００３５】
図１２１に示すとおり、このような演算を行なった後には、センスラッチＳＬには、上位から“０１１１”というデータが保持されている。このようにしてセンスラチＳＬに保持されたデータに基づいて、センスラッチＳＬの各ビットにそれぞれ対応するメモリセルＭＣ１〜ＭＣ４にデータの書込が行なわれる。ここで、メモリセルＭＣ１〜ＭＣ４は、同一のワード線ＷＬに接続している。さらに、ベリファイ動作の判定値としては第３番目の判定値Ｖｊ３を用いる。
【００３６】
このとき、センスラッチ中のデータ“０”に対応するメモリセルに対してデータの書込みが行なわれる。したがって、センスラッチの最上位ビットに対応するメモリセルＭＣ４に対してレベル４のデータ（データ“０１”に対応する）の書込が行なわれる。
【００３７】
実際のデータの書込は、ワード線ＷＬに高電圧を印加することで、ＦＮ（ファウラー・ノルドハイム）トンネル電流を利用して書込まれる。
【００３８】
センスラッチＳＬのビットデータが“１”のビットに対応するビット線ＢＬにはワード線ＷＬから印加される電圧を緩和するために、ワード線電圧以下の電圧が印加される。結果的に、センスラッチに保持されるビットデータが“０”に対応するビット線ＢＬに接続するメモリセルにだけデータの書込が行なわれる。
【００３９】
次に、図１２３および１２４を参照して、書込動作の第２ステップでは、データラッチＤＬ−Ｒ、ＤＬ−Ｌに保持されたデータの演算を行ない、データラッチＤＬ−Ｌに保持された上位ビットが“０”であり、データラッチＤＬ−Ｒに保持された下位ビットが“０”であるデータの組に対応するセンスラッチＳＬのビットには“０”が書込まれる。ベリファイ動作における判定値をＶｊ２に変えたうえで、データ書込においては、データＤＱ５およびＤＱ１に対応するビット線に接続するメモリセルにのみデータの書込が行なわれる。
【００４０】
次に、図１２５および１２６を参照して、書込動作の第３ステップでは、データラッチＤＬ−Ｒ、ＤＬ−Ｌに保持されたデータの演算を行ない、データラッチＤＬ−Ｌに保持された上位ビットが“１”であり、データラッチＤＬ−Ｒに保持された下位ビットが“０”であるデータの組に対応するセンスラッチＳＬのビットには“０”が書込まれる。ベリファイ動作における判定値をＶｊ１に変えたうえで、データ書込においては、データＤＱ６およびＤＱ２に対応するビット線に接続するメモリセルにのみデータの書込が行なわれる。
【００４１】
以上のようにして、書込むデータをすべて入力後、３回の演算と書込処理を経て書込動作が終了する。
【００４２】
［従来の４値データの読出動作］
次に、読出動作について説明する。
【００４３】
図１２７〜図１３２は、読出動作の第１〜第３の処理ステップにおいて、データラッチＤＬ−ＬおよびＤＬ−ＲならびにセンスラッチＳＬに保持されるデータおよび読出時のメモリセルのしきい値と判定レベルを示す概念図である。
【００４４】
図１２７は、読出動作の第１の処理ステップにおける各ラッチに保持されるデータを示し、図１２８は、読出動作の第１の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【００４５】
図１２９は、読出動作の第２の処理ステップにおける各ラッチに保持されるデータを示し、図１３０は、読出動作の第２の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【００４６】
図１３１は、読出動作の第３の処理ステップにおける各ラッチに保持されるデータを示し、図１３２は、読出動作の第３の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【００４７】
まず、図１２７および１２８を参照して、読出動作の第１の処理ステップにおいては、第１の判定レベルＶｊ１で読出を行ない、結果をセンスラッチＳＬに格納する。そのデータをデータラッチＤＬ−Ｒに転送し、センスラッチＳＬをクリアする。
【００４８】
次に、図１２９および１３０を参照して、読出動作の第２の処理ステップにおいては、第２の判定レベルＶｊ２で読出を行ない、結果をセンスラッチＳＬに格納する。そのデータをデータラッチＤＬ−Ｌに転送し、再びセンスラッチＳＬをクリアする。
【００４９】
最後に、図１３１および１３２を参照して、読出動作の第３の処理ステップにおいては、第３の判定レベルＶｊ３でデータの読出を行ない、読出結果をセンスラチＳＬに格納する。チップコントロール回路２００は、そのセンスラチＳＬに格納されたデータとデータラッチＤＬ−Ｒのデータがともに“０”であるビット位置においてのみ、データラッチＤＬ−Ｒのデータを“１”にする。
【００５０】
データラッチＤＬ−ＬからＤＱ４〜７、データラッチＤＬ−ＲからＤＱ０〜３が順次出力される。
【００５１】
このように読出動作においても、３回の読出動作のすべてが確定してからデータ出力が行なわれている。
【００５２】
多値メモリのより詳しい構成については、たとえば、特許文献１等にもその一例が開示されている。ただし、読出および書込み動作において、複数回の処理ステップの動作を行なうことが必要となる点は、以上説明した多値メモリの構成と同様である。
【特許文献１】特開平９−２９７９９６号公報
【発明の開示】
【発明が解決しようとする課題】
【００５３】
以上説明したとおり、従来のＡＮＤ型４値フラッシュメモリ８０００では、書込、読出とも通常の２値フラッシュメモリに比べて、複数回の処理ステップの動作を行なうことによる遅延が、チップの読出および書込動作の速度を劣化させている。また、さらに多値化が進むほど、この速度の劣化は深刻になる。
【００５４】
この発明は、上記のような問題点を解決するためになされたもので、その目的は、１メモリセルに多値データを保持させる場合でも、速度の劣化を抑えることが可能な不揮発性半導体記憶装置のデータ読出方法およびそのデータ書込方法を提供することである。
【課題を解決するための手段】
【００５５】
この発明に係る不揮発性半導体記憶装置のデータ読出方法は、不揮発性半導体記憶装置から複数のデータを読出す方法であって、不揮発性半導体記憶装置は、複数のデータを記憶するメモリセルと、メモリセルに接続されるワード線を選択することによってデータを読出す読出回路と、読出回路によって読み出されたデータを出力するためのデータ出力ノードとを含み、方法は、ワード線を選択することによってメモリセルから複数のデータの一部を読出すステップと、データ出力ノードに対し、複数のデータの一部を出力するステップと、ワード線を選択することにより、メモリセルから複数のデータの別の一部を読出すステップと、データ出力ノードに対し、複数のデータの別の一部を出力するステップとを含み、複数のデータの一部を出力するステップは、複数のデータの別の一部を読出すステップと重複する。
【００５６】
また、この発明に係る他の不揮発性半導体記憶装置のデータ読出方法は、不揮発性半導体記憶装置からデータを読出す方法であって、不揮発性半導体記憶装置は、ワード線と、第１および第２のビット線と、ワード線および第１のビット線に結合される第１のメモリセルと、ワード線および第２のビット線に結合される第２のメモリセルと、第１および第２のメモリセルからデータを出力するためのデータ出力ノードとを含み、方法は、選択的に活性化されたワード線を用いて第１のメモリセルから第１のデータを読出すステップと、データ出力ノードに第１のデータを出力するステップと、選択的に活性化されたワード線を用いて第２のメモリセルから第２のデータを読出すステップと、データ出力ノードに第２のデータを出力するステップとを含み、第１のデータを出力するステップは、第２のデータを読出すステップと重複する。
【００５７】
また、この発明に係る不揮発性半導体記憶装置のデータ書込方法は、不揮発性半導体記憶装置にデータを書込む方法であって、不揮発性半導体記憶装置は、第１および第２のデータを記憶するメモリセルと、第１および第２のレジスタとを含み、方法は、不揮発性半導体記憶装置の外側から入力された第１のデータを第１のレジスタに記憶するステップと、第１のレジスタに記憶された第１のデータをメモリセルに書込むステップと、不揮発性半導体記憶装置の外側から入力された第２のデータを第２のレジスタに記憶するステップと、第１のデータが既に書込まれたメモリセルに対し、第２のレジスタに記憶された第２のデータを書込むステップとを含み、第１のデータを書込むステップは、第２のデータを記憶するステップと重複する。
【００５８】
また、この発明に係るさらに他の不揮発性半導体記憶装置のデータ読出方法は、複数のデータが記憶されるメモリセルと、データを出力する出力ノードとを有する不揮発性半導体記憶装置から複数のデータを読出す方法であって、複数のデータの一部を読出す第１のステップと、第１のステップで読み出したデータを出力ノードに出力する第２のステップと、メモリセルの複数のデータの他の一部を読出す第３のステップと、第３のステップで読み出したデータを出力ノードに出力する第４のステップとを含む。
【００５９】
また、この発明に係る他の不揮発性半導体記憶装置のデータ書込方法は、第１および第２のデータを記憶可能なメモリセルを備える不揮発性半導体記憶装置にデータを書込む方法であって、不揮発性半導体記憶装置に入力された第１のデータを第１のレジスタに保存する第１のステップと、第１のレジスタに保存された第１のデータをメモリセルに書込む第２のステップと、不揮発性半導体記憶装置に入力された第２のデータを第２のレジスタに保存する第３のステップと、第２のレジスタに保存された第２のデータをメモリセルに書込む第４のステップとを含む。
【発明の効果】
【００６０】
以上のように、この発明によれば、１つのメモリセルに格納される多値データが、異なるタイミングで授受されるデータから生成されるので、読出動作では、各ビットデータの確定するごとにデータ出力を行なうことが可能で、データ出力時間を短縮できる。
【００６１】
また、１つのメモリセルに格納される多値データが、異なるタイミングで授受されるデータから生成されるので、書込み動作では、各ビットデータの確定するごとにデータ書込みを行なうことが可能で、データ入力時間を短縮できる。
【発明を実施するための最良の形態】
【００６２】
［実施の形態１］
図１は、本発明の実施の形態１の不揮発性半導体記憶装置であるフラッシュメモリ１０００の構成を示す概略ブロック図である。
【００６３】
メモリセルアレイ１００は、フローティングゲートとコントロールゲートを備えた多数のメモリセルを有する。図１においても、メモリセルアレイ１００は、２つのメモリセルブロック１００Ｒと１００Ｌとに分割されている。
【００６４】
メモリセルのコントロールゲートはワード線ＷＬに、メモリセルのドレインはビット線ＢＬに、メモリセルのソースは図示しないソース線ＳＣＬに接続される。
【００６５】
ワード線ＷＬおよびビット線ＢＬは代表的に、それぞれ２本ずつ示されている。
ロウデコーダ１１０は、外部からアドレス信号入力端子群１２およびアドレスバッファ１４６を介して与えられるアドレス信号Ａ０−Ａｋに基づいてワード線を選択的に駆動する。ビット線ＢＬの一端側には、センスラッチ回路１２０が設けられる。また、ビット線ＢＬはカラムデコーダ１３０からアドレス信号Ａ０−Ａｋに応じて出力される選択信号に基づいて選択され、選択されたビット線との間で読出データ、書込みデータの授受が行なわれる。
【００６６】
図１において、図示しないが、センスラッチ回路１２０は、カラムデコーダ１３０からの選択信号に基づいて、ビット線を選択するためのカラムスイッチ回路を含んでいる。
【００６７】
チップコントロール部２００は、制御信号入力端子群１４からコマンドバッファ回路１４４を介して与えられるアクセス制御信号やクロック信号を外部から受け、これに従ってメモリセルの書込制御や読出制御のために、フラッシュメモリの内部回路を全体的に制御する制御回路２１０を含む。消去、書込、読出などの動作モードに応じて、ワード線の電位を駆動するワードドライバ（図示せず）等の動作電圧の切換は、制御回路２１０が電源発生部１５０を制御することにより行なわれる。
【００６８】
データラッチ回路ＤＬ−ＬおよびＤＬ−Ｒは、データの書込み、読出動作において授受されるデータを一時保持するデータバッファである。
【００６９】
チップコントロール部２００は、さらに、後に説明するように、制御回路２１０に制御されて、読出し動作においてデータラッチ回路ＤＬ−ＬおよびＤＬ−Ｒならびにセンスラッチ回路１２０に保持されたデータを演算して、読出しデータを生成する読出しデータ変換回路２２０と、制御回路２１０に制御されて、書込み動作においてデータラッチ回路ＤＬ−ＬおよびＤＬ−Ｒならびにセンスラッチ回路１２０に保持されたデータを演算して、書込みデータを生成する書込みデータ変換回路２３０とを含む。
【００７０】
フラッシュメモリ１０００の動作モードは、特に制限されないが、外部からチップコントロール部２００に供給されるアクセス制御信号、またはデータバスなどを介して供給されるコマンドデータによって指示され、データの書換（消去および書込）やデータの読出モードを有する。
【００７１】
図１に示されるＡＮＤ型４値フラッシュメモリ１０００においても、１つのメモリセルの情報記憶状態は、消去状態、第１の書込状態、第２の書込状態、第３の書込状態の中から選ばれた１つの状態とされている。
【００７２】
そのために、フラッシュメモリ１０００も、書込動作時にワード線に印加する書込ベリファイ電圧を相互に異なる３種類設定し、これらを順次切換えて、３回に分けて書込処理を行なう。ただし、後に説明するように、上記４つの情報記憶状態に対応する２ビットデータの配列と、これら３回の書込処理の順序とを工夫することにより、書込み時間および読出し時間の短縮を可能とする。
【００７３】
これら各書込動作において、制御回路２１０は、書込みデータ変換回路２３０を制御して、データラッチＤＬ−ＬおよびＤＬ−Ｒに保持された書込みデータに基づいて、各書込み動作において、センスラッチＳＬ（センスラッチ回路１２０に含まれるセンスラッチＳＬ）に保持させるべき２値（１ビット）のラッチデータ“０”または“１”（“Ｌ”または“Ｈ”）の演算を行わせる。制御回路２１０は、上記３回に分けた書込動作の各書込動作ごとに、対応する書込ベリファイ電圧を設定して書込み動作を制御する。
【００７４】
ここで、従来のフラッシュメモリ８０００の構成では、データラッチ回路ＤＬ−ＬおよびＤＬ−Ｒにそれぞれ保持されるのは、同一のタイミングでデータ入出力端子群１０に与えられたデータ列を分割した２つのデータ列であった。
【００７５】
これに対して、本願のフラッシュメモリ１０００では、従来のフラッシュメモリ８０００の構成と異なり、データラッチ回路ＤＬ−ＬおよびＤＬ−Ｒにそれぞれ保持されるのは、後に説明するように、異なったタイミングでデータ入出力端子群１０に与えられ、同一のワード線に結合する同一のメモリセル群に与えられる２組のデータ列、または同一のワード線に結合するが異なったビット線と結合するメモリセル群に与えられる２組のデータ列である。このような構成により、１つのメモリセルに４値（２ビット）の情報を書込むことが可能となる。
【００７６】
また、フラッシュメモリ１０００も、読出動作時にワード線の印加するワード線選択レベルとして電圧を３種類設定し、３回の読出動作でメモリセルから読出される２値（１ビット）のデータをセンスラッチ回路１２０を介してデータラッチ回路ＤＬ−ＬおよびＤＬ−Ｒに取り込む。３回の読出動作中に順次、読出しデータ変換回路２２０は、これらラッチ回路に保持されたデータを４値（２ビット）の情報に変換し、制御回路２１０はデータ入出力端子群１０から出力させる。
【００７７】
以下、上に述べた書込動作、読出動作について、さらに詳細を説明する。
［４値データの読出動作］
実施の形態１におけるフラッシュメモリ１０００では、上述のとおり、入出力データのデータラッチＤＬ―ＬおよびＤＬ−Ｒの格納方法が従来のフラッシュメモリ８０００とは異なる。
【００７８】
１つのメモリセルに格納されるデータは、従来の多値フラッシュメモリ８０００では、同じタイミングでデータ入出力端子群１０から入力された１バイトのデータのうち、データＤＱ０とＤＱ４、データＤＱ１とＤＱ５のように、同一バイト内のデータで構成されている。本発明の４値フラッシュメモリ１０００では、１つのメモリセルに格納されるデータは、従来の２値フラッシュメモリと異なり、異なるワード線の同じＹアドレスであって、かつ同じＩ／Ｏのビットに対応していたデータか、あるいは同一セクタ（同一ワード線）のＹアドレスがどこか異なっていた同一Ｉ／Ｏのデータ（同一セクタの異なるＹアドレスの同一Ｉ／Ｏに対応するデータ）に相当するデータである。
【００７９】
図２〜７は、本発明の実施の形態１の動作説明図であり、読出動作の第１〜第３の処理ステップにおいて、データラッチＤＬ−ＬおよびＤＬ−ＲならびにセンスラッチＳＬに保持されるデータおよび読出時のメモリセルのしきい値と判定レベルを示す概念図である。
【００８０】
図２は、読出動作の第１の処理ステップにおける各ラッチに保持されるデータを示し、図３は、読出動作の第１の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【００８１】
図４は、読出動作の第２の処理ステップにおける各ラッチに保持されるデータを示し、図５は、読出動作の第２の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【００８２】
図６は、読出動作の第３の処理ステップにおける各ラッチに保持されるデータを示し、図７は、読出動作の第３の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【００８３】
まず、図２および図３を参照して、読出動作の第１の処理ステップにおいては、同一のワード線に接続された複数メモリセル、たとえば、１ｋＢｙｔｅ分のメモリセルから、第２の判定レベルＶｊ２で一括して読出を行ない、その結果をセンスラッチ回路１２０に格納する。
【００８４】
図２では、センスラッチ回路１２０中において、１セクタ分の読出動作で、最初にデータ入出力端子群１０から出力される１バイト分のデータを保持するセンスラッチＳＬと、これに対応するデータラッチＤＬ−ＬおよびＤＬ−Ｒを抜き出して示す。１セクタ分の読出動作で、この１バイト分のデータに続いてデータ入出力端子群１０から読み出されるデータについても、以下に説明するのと同様の処理が並行して行なわれている。
【００８５】
このデータ入出力端子群１０から最初に出力される１バイト分のデータを含むデータ列を保持するメモリセル列ＭＣ０〜ＭＣ７には、それぞれデータ“１１”，“０１”，“００”，“１０”，“０１”，“００”，“１０”，“１１”が保持されているものとする。したがって、図２において、センスラッチ回路１２０の１バイト分の領域に保持されるデータは、１６進数表示で、Ｃ９ｈである。
【００８６】
第２の判定レベルＶｊ２で一括して読出されたデータは、センスラッチＳＬからデータラッチＤＬ−Ｌに格納される。この時点で、制御回路２１０の制御により、データラッチＤＬ−Ｌに格納されたデータが、順次１バイトずつデータ入出力端子群１０から出力される。この時点でデータラッチ回路ＤＬ−Ｌに格納されているデータは、従来の２値フラッシュメモリの読出動作における１セクタ分のデータの半分に相当する。
【００８７】
このように、読出動作の第１の処理ステップにおいて、第２の判定レベルＶｊ２で読出動作をまず行なうのは、図３に示すとおり、このレベルで読出すことにより、メモリセル内の４種のデータが、“０”または“１”のうちのいずれであるかが確定するからである。すなわち、メモリセルＭＣ０〜ＭＣ７に格納されるデータの上位のビットの０または１が確定することになる。
【００８８】
次に、図４および図５を参照して、読出動作の第２の処理ステップにおいては、第１の処理ステップでセンスラッチＳＬからデータラッチＤＬ−Ｌにデータを格納し、センスラッチＳＬがクリアされた時点で、第１の判定レベルＶｊ１で読出動作を行ない、読み出されたデータをセンスラッチ回路１２０に格納する。つまり、データラッチ回路ＤＬ−Ｌからはデータ出力を行なっている途中で、センスラッチＳＬからデータラッチＤＬ−Ｒにデータ転送を行なう。データラッチＤＬ−Ｒへのデータ転送後、センスラッチ回路１２０はクリアされる。
【００８９】
次に、図６および図７を参照して、読出動作の第３の処理ステップにおいては、第３の判定レベルＶｊ３で読出動作を行ない、センスラッチ回路１２０にデータを格納する。読出データ変換回路２２０は、センスラッチＳＬに保持されるデータとデータラッチＤＬ−Ｒに保持されるデータとの間で演算を行ない、ともに“０”のビットデータのところだけ、データラッチＤＬ−Ｒのビットデータを“１”に変更する。
【００９０】
データラッチＤＬ−Ｌのデータ出力が終了した後、制御回路２１０は、データラッチＤＬ−Ｒからデータ入出力端子群１０へデータ出力を開始する。
【００９１】
従来の４値フラッシュメモリ８０００では、セクタサイズは、たとえば、２ＫＢｙｔｅであって、１Ｂｙｔｅ当り５０ｎｓで出力動作を行なっている。したがって、セクタの半分である１ＫＢｙｔｅを出力するのに５０μｓだけの時間が必要となっている。
【００９２】
また、従来の４値フラッシュメモリ８０００でも、つまり３回読出動作を行なった後にはじめてデータ出力を開始する場合でも、出力直前までの時間（ファーストアクセス時間と呼ぶ）は５０μｓで完了するため、本願発明の４値フラッシュメモリ１０００において、１／２セクタ分のデータを出力している間に、上記第１の判定レベルから第３の判定レベルまでのアクセス動作を完了させることは可能である。
【００９３】
したがって、４値フラッシュメモリ１０００では、読出コマンドの入力後、データが出力されるようになるまでには、第２の判定レベルＶｊ２の判定結果が出るまでの時間だけ経過すればよい。これは、２値の読出時間と同等であるため、メモリセルに記憶されるデータが４値化されたことによる速度の劣化が生じないことを意味する。
【００９４】
もしも、出力速度が非常に速く（またはファーストアクセス時間が非常に長く）データラッチＤＬ−Ｒのデータが確定する前に、データラッチＤＬ−Ｌの出力が終了する場合には、データラッチＤＬ−ＬとデータラッチＤＬ−Ｒからのデータ出力の間に待ち時間が生じることになる。しかしながら、この場合でも、データ値ＤＬ−Ｌの出力時間分だけ従来のデータ読出動作よりも読出速度が改善されることになる。
【００９５】
ただし、通常は、このような待ち時間が生じないようにセクタサイズを調整する。つまり、読出時間（ファーストアクセス時間）でセクタサイズ（１ワード線に接続されるメモリセルから出力されるデータ量）を決めればよいことになる。
【００９６】
このような条件を満たすためには、セクタサイズは以下の式を満足する必要がある。
｛セクタサイズ（Ｂｙｔｅ）×（１Ｂｙｔｅ当りの出力時間）×１／２｝
≧｛１回の読出時間×２｝  …（１）
【００９７】
図８は、実施の形態１のフラッシュメモリ１０００の読出動作を説明するためのタイミングチャートである。
【００９８】
図８を参照して、時刻ｔ１において、まず、第２の判定レベルＶｊ２での読出動作が行なわれ、センスラッチ回路１２０に格納される。
【００９９】
続いて、時刻ｔ２において、センスラッチ回路１２０に保持されたデータは、データラッチＤＬ−Ｌに転送され、センスラッチ回路１２０はクリアされる。
【０１００】
時刻ｔ３において、第１の判定レベルＶｊ１に基づく読出動作が開始される。一方、時刻ｔ４において、制御回路２１０の制御により、データラッチＤＬ−Ｌに保持されている１／２セクタ分のデータの出力が開始される。
【０１０１】
時刻ｔ５において、第１の判定レベルＶｊ１に基づいて読み出され、センスラッチ回路１２０に保持されているデータが、データラッチＤＬ−Ｒに格納される。一方、センスラッチ回路１２０は、クリアされる。
【０１０２】
時刻ｔ６において、第３の判定レベルＶｊ３に基づく読出動作が開始され、センスラッチ回路１２０に読出データが格納される。
【０１０３】
第３の判定レベルＶｊ３に基づく読出動作の完了後、時刻ｔ７において、制御回路２１０により制御されて、読出データ変換回路２２０は、センスラッチ回路１２０に保持されたデータと、データラッチ回路ＤＬ−Ｒに保持されたデータとの間で演算を行ない、ともに“０”のビットデータのところだけ、データラッチＤＬ−Ｒに保持されるビットデータを“１”に変更する。
【０１０４】
時刻ｔ９において、データラッチ回路ＤＬ−Ｒに保持されている残り１／２セクタ分のデータの出力が開始される。時刻ｔ１０において、１セクタ分のデータ出力が完了する。
【０１０５】
以上説明したとおり、時刻ｔ１において読み出されたデータ列の出力が行なわれている期間中に、このデータ列に続いて出力されるべきデータ列の読出動作が完了しているために、４値メモリセルからの読出データを出力する際の遅延時間を削減することが可能である。
【０１０６】
［実施の形態１の変形例１］
実施の形態１では、図２および３で示される処理を行なった後、データラッチＤＬ−Ｌに保持されたデータを出力中に、図４および５で示される処理と、図６および７で示される処理を行なう構成であった。しかしながら、本願発明は、必ずしも、このような処理の順番に制限されるわけではなく、たとえば、図４および５で示される処理と、図６および７で示される処理を行なった後に、言いかえると、第１の判定レベルＶｊ１で読出を行ない、読出結果をデータラッチＤＬ−Ｒに格納し、続いて、第３の判定レベルＶｊ３で読出を行ない、センスラッチＳＬに格納されたデータと、データラッチＤＬ−Ｒに格納されたデータとの間で演算を行なった後にデータラッチＤＬ−Ｒからのデータ出力を行なっている間に、図２および３で示される処理を行なう構成としてもよい。この場合、データラッチＤＬ−Ｒからのデータ出力が終了後に、第２の判定レベルで読み出され、データデータラッチＤＬ−Ｌに格納されているデータの出力が開始されることになる。
【０１０７】
実施の形態１に比べて、読出動作時間の短縮効果は小さいものの、従来の４値フラッシュメモリ８０００よりも、短い時間でデータ読出を行なうことが可能である。
【０１０８】
もちろん、上記のように第１〜第３の読出処理を連続して行なう必要も必ずしもなく、メモリセルＭＣ０〜ＭＣ７に保持されているデータを、上位ビット、または下位ビットの１ビットずつ読み出す構成とすることも可能である。
【０１０９】
［実施の形態１の変形例２］
上述のとおり、実施の形態１では、読出動作の第１の処理ステップにおいては、第２の判定レベルＶｊ２で読出動作をまず行なうことにより、メモリセル内の４種のデータが、“０”または“１”のうちのいずれであるかが確定するように、書込みレベルと書込みデータを対応付けていた。
【０１１０】
図９〜図１２は、逆に、このように１回の読出処理では、上位ビットおよび下位ビットのいずれも確定できないような書込みレベルと書込みデータを対応付けの例をそれぞれ示す。また、これら、図９〜図１２のそれぞれの場合において、“０”と“１”とを置換したデータの配列としたときも、１回の読出処理では、上位ビットおよび下位ビットのいずれも確定できない。
【０１１１】
これに対して、実施の形態１の変形例２の読出動作では、実施の形態１と同様に読出時間の削減が可能な書込みデータと書込みレベルの別の対応関係の例を与える。
【０１１２】
図１３は、実施の形態１の変形例２の読出動作の第２の処理ステップにおける各ラッチに保持されるデータを示し、図１４は、実施の形態１の変形例２の読出動作の第２の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０１１３】
つまり、図１４に示すように、図３に示したデータ配置において、データ“００”とデータ“０１”とを入れ換えたデータ配置においても、実施の形態１と同様の処理で、読出時間を短縮することが可能である。
【０１１４】
この場合、まず、読出動作の第１の処理ステップにおいては、同一のワード線に接続された複数メモリセルから、第２の判定レベルＶｊ２で一括して読出を行ない、その結果をセンスラッチ回路１２０に格納する。
【０１１５】
このデータ入出力端子群１０から最初に出力される１バイト分のデータを含むデータ列を保持するメモリセル列ＭＣ０〜ＭＣ７には、それぞれデータ“１１”，“００”，“０１”，“１０”，“００”，“０１”，“１０”，“１１”が保持されているものとする。したがって、データラッチ回路ＤＬ−Ｌの１バイト分の領域に保持されるデータは、１６進数表示で、Ｃ９ｈである。
【０１１６】
第２の判定レベルＶｊ２で一括して読出されたデータは、センスラッチＳＬからデータラッチＤＬ−ＬおよびＤＬ−Ｒの双方に格納される。この時点で、制御回路２１０の制御により、データラッチＤＬ−Ｌに格納されたデータが、順次１バイトずつデータ入出力端子群１０から出力される。この時点でデータラッチ回路ＤＬ−ＬおよびＤＬ−Ｒに格納されているデータは、従来の２値フラッシュメモリの読出動作における１セクタ分のデータの半分に相当する。
【０１１７】
このように、実施の形態１の変形例２の読出動作の第１の処理ステップにおいても、第２の判定レベルＶｊ２で読出動作をまず行なうことにより、メモリセル内の４種のデータの上位ビットが、“０”または“１”のうちのいずれであるかが確定する。
【０１１８】
次に、図１３および図１４を参照して、読出動作の第２の処理ステップにおいては、第１の処理ステップでセンスラッチＳＬからデータラッチＤＬ−ＬおよびＤＬ−Ｒにデータを格納し、センスラッチＳＬがクリアされた時点で、第１の判定レベルＶｊ１で読出動作を行ない、読み出されたデータをセンスラッチ回路１２０に格納する。データラッチＤＬ−Ｌからのデータ出力が行なわれている間に、読出データ変換回路２２０は、センスラッチＳＬに保持されるデータとデータラッチＤＬ−Ｒに保持されるデータとの間で演算を行ない、センスラッチＳＬのビットデータが“０”であり、かつ、データラッチＤＬ−Ｒの対応するビットデータが“１”となっている場合は、データラッチＤＬ−Ｒの上記対応するビットデータを“０”とし、それ以外の場合は、データラッチＤＬ−Ｒのビットデータを“１”に変更する。データラッチＤＬ−Ｒのデータ変更後、センスラッチ回路１２０はクリアされる。
【０１１９】
次に、読出動作の第３の処理ステップにおいては、第３の判定レベルＶｊ３で読出動作を行ない、センスラッチ回路１２０にデータを格納する。読出データ変換回路２２０は、センスラッチＳＬに保持されるデータとデータラッチＤＬ−Ｒに保持されるデータとの間で演算を行ない、ともに“０”のビットデータのところだけ、データラッチＤＬ−Ｒのビットデータを“１”に変更する。
【０１２０】
データラッチＤＬ−Ｌのデータ出力が終了した後、制御回路２１０は、データラッチＤＬ−Ｒからデータ入出力端子群１０へデータ出力を開始する。
【０１２１】
図１５は、実施の形態１の変形例２のフラッシュメモリの読出動作を説明するためのタイミングチャートである。
【０１２２】
図１５を参照して、時刻ｔ１において、まず、第２の判定レベルＶｊ２での読出動作が行なわれ、センスラッチ回路１２０に格納される。
【０１２３】
続いて、時刻ｔ２において、センスラッチ回路１２０に保持されたデータは、データラッチＤＬ−ＬおよびＤＬ−Ｒに転送され、センスラッチ回路１２０はクリアされる。
【０１２４】
時刻ｔ３において、第１の判定レベルＶｊ１に基づく読出動作が開始される。一方、時刻ｔ４において、制御回路２１０の制御により、データラッチＤＬ−Ｌに保持されている１／２セクタ分のデータの出力が開始される。
【０１２５】
時刻ｔ５において、読出データ変換回路２２０は、センスラッチＳＬに保持されるデータとデータラッチＤＬ−Ｒに保持されるデータとの間で演算を開始し、時刻ｔ６から、センスラッチＳＬのビットデータが“０”であり、かつ、データラッチＤＬ−Ｒの対応するビットデータが“１”となっている場合は、データラッチＤＬ−Ｒの上記対応するビットデータを“０”とし、それ以外の場合は、データラッチＤＬ−Ｒのビットデータを“１”に変更する。
【０１２６】
時刻ｔ７において、センスラッチ回路１２０は、クリアされる。
時刻ｔ８において、第３の判定レベルＶｊ３に基づく読出動作が開始され、センスラッチ回路１２０に読出データが格納される。
【０１２７】
第３の判定レベルＶｊ３に基づく読出動作の完了後、時刻ｔ９において、制御回路２１０により制御されて、読出データ変換回路２２０は、センスラッチ回路１２０に保持されたデータと、データラッチ回路ＤＬ−Ｒに保持されたデータとの間で演算を開始し、時刻ｔ１０から、ともに“０”のビットデータのところだけ、データラッチＤＬ−Ｒに保持されるビットデータを“１”に変更する。
【０１２８】
時刻ｔ１１において、データラッチ回路ＤＬ−Ｒに保持されている残り１／２セクタ分のデータの出力が開始される。
【０１２９】
時刻ｔ１２において、１セクタ分のデータ出力が完了する。
以上の読出動作によっても、実施の形態１の読出動作と同様の効果が奏される。
【０１３０】
［実施の形態２］
図１６は、実施の形態２のフラッシュメモリのセンスラッチ回路１２０とビット線との接続の切り換え方式の概念を示す図であり、図１６（ａ）は、センスラッチ回路１２０中において１ビットのデータに対応するセンスラッチＳＬに対して、ビット線ＢＬ１が接続されている場合を示し、図１６（ｂ）は、上記センスラッチＳＬに対して、ビット線ＢＬ２が接続されている場合を示す。
【０１３１】
実施の形態２のフラッシュメモリの構成は、図１６に示す構成と制御回路２１０の制御動作以外は、基本的に実施の形態１のフラッシュメモリ１０００の構成と同様である。
【０１３２】
図１６に示すような構成とすることで、１つのワード線ＷＬが選択されている状態で、ビット線からのセンスラッチ回路１２０へのデータの取りこみが、隣接するメモリセル列について分割して行なわれる場合、各メモリセル列からのデータの読出ごとに、第１〜第３の処理ステップを分割して並行に処理することが可能となり、以下に説明するように、さらに高速化を図ることが可能となる。
【０１３３】
図１７は、図１６において示した概念を具体的に実現するための回路構成を示す図である。図１７では、センスラッチ回路１２０中の各ビットデータに対応するセンスラッチのうち２つに関する構成を代表として抜き出して示す。
【０１３４】
図１７を参照して、たとえば、１つのワード線ＷＬｎに接続するゲートを有するメモリセルトランジスタＭＣ１ｎｍ、ＭＣ２ｎｍ、ＭＣ１ｎｍ＋１、ＭＣ２ｎｍ＋１のドレインは、それぞれサブビット線ＳＢＬ１ｍ、ＳＢＬ２ｍ、ＳＢＬ１ｍ＋１、ＳＢＬ２ｍ＋１に接続されている。メモリセルトランジスタは、コントロールゲートとフローティングゲートを有する、いわゆるフローティングゲートトランジスタである。
【０１３５】
サブビット線ＳＢＬ１ｍ、ＳＢＬ２ｍは、それぞれ、トランジスタＴｒ１ｍ，Ｔｒ２ｍを介してメインビット線ＭＢＬｍに接続している。トランジスタＴｒ１ｍのゲートは信号ＢＳＳ１により制御され、トランジスタＴｒ２ｍのゲートは信号ＢＳＳ２により制御される。
【０１３６】
サブビット線ＳＢＬ１ｍ＋１、ＳＢＬ２ｍ＋１は、それぞれ、トランジスタＴｒ１ｍ＋１，Ｔｒ２ｍ＋１を介してメインビット線ＭＢＬｍ＋１に接続している。トランジスタＴｒ１ｍ＋１のゲートは信号ＢＳＳ１により制御され、トランジスタＴｒ２ｍ＋１のゲートは信号ＢＳＳ２により制御される。
【０１３７】
メインビット線ＭＢＬｍは、ゲート電位が信号ＳＴＧにより制御されるゲートトランジスタＴＧｍを介して、センスラッチ回路１２０中の１ビットデータに対応するラッチ回路ＳＬｍと接続する。メインビット線ＭＢＬｍ＋１は、ゲート電位が信号ＳＴＧにより制御されるゲートトランジスタＴＧｍ＋１を介して、センスラッチ回路１２０中の他の１ビットデータに対応するラッチ回路ＳＬｍ＋１と接続する。
【０１３８】
なお、１つのメインビット線に接続されるサブビット線の本数は、図１７のように２本に限定されるわけではなく、さらに多くてもよい。
【０１３９】
図１８〜２９は、本発明の実施の形態２の動作説明図であり、読出動作の第１〜第６の処理ステップにおいて、データラッチＤＬ−ＬおよびＤＬ−ＲならびにセンスラッチＳＬに保持されるデータおよび読出時のメモリセルのしきい値と判定レベルを示す概念図である。
【０１４０】
図１８は、読出動作の第１の処理ステップにおける各ラッチに保持されるデータを示し、図１９は、読出動作の第１の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０１４１】
図２０は、読出動作の第２の処理ステップにおける各ラッチに保持されるデータを示し、図２１は、読出動作の第２の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０１４２】
図２２は、読出動作の第３の処理ステップにおける各ラッチに保持されるデータを示し、図２３は、読出動作の第３の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０１４３】
図２４は、読出動作の第４の処理ステップにおける各ラッチに保持されるデータを示し、図２５は、読出動作の第４の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０１４４】
図２６は、読出動作の第５の処理ステップにおける各ラッチに保持されるデータを示し、図２７は、読出動作の第５の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０１４５】
図２８は、読出動作の第６の処理ステップにおける各ラッチに保持されるデータを示し、図２９は、読出動作の第６の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０１４６】
まず、図１８および図１９を参照して、読出動作の第１の処理ステップにおいては、同一のワード線に接続された複数メモリセル、たとえば、１ｋＢｙｔｅ分のメモリセルから、第２の判定レベルＶｊ２で一括して読出を行ない、その結果をセンスラッチ回路１２０に格納する。
【０１４７】
図１８では、センスラッチ回路１２０中において、１セクタ分の読出動作で、最初にデータ入出力端子群１０から出力される１バイト分のデータを保持するセンスラッチＳＬと、これに対応するデータラッチＤＬ−ＬおよびＤＬ−Ｒを抜き出して示す。１セクタ分の読出動作で、この１バイト分のデータに続いてデータ入出力端子群１０から読み出されるデータについても、以下に説明するのと同様の処理が並行して行なわれている。
【０１４８】
図１７のサブビット線のうち信号ＢＳＳ１により選択されるサブビット線ＳＢＬ１ｍ、ＳＢＬ１ｍ＋１等に接続し、かつ、データ入出力端子群１０から最初に出力される１バイト分のデータを含むデータ列を保持するメモリセル列ＭＣ１ｎ０〜ＭＣ１ｎ７には、それぞれデータ“１１”，“０１”，“００”，“１０”，“０１”，“００”，“１０”，“１１”が保持されているものとする。したがって、図１８において、センスラッチ回路１２０の１バイト分の領域に保持されるデータは、１６進数表示で、Ｃ９ｈである。
【０１４９】
第２の判定レベルＶｊ２で一括して読出されたデータは、センスラッチＳＬからデータラッチＤＬ−Ｌに格納される。この時点で、制御回路２１０の制御により、データラッチＤＬ−Ｌに格納されたデータが、順次１バイトずつデータ入出力端子群１０から出力される。この時点でデータラッチ回路ＤＬ−Ｌに格納されているデータは、従来の２値フラッシュメモリの読出動作における１セクタ分のデータの１／４に相当する。
【０１５０】
このように、読出動作の第１の処理ステップにおいて、第２の判定レベルＶｊ２で読出動作をまず行なうのも、図１９に示すとおり、このレベルで読出すことにより、メモリセル内の４種のデータが、“０”または“１”のうちのいずれであるかが確定するからである。すなわち、メモリセルＭＣ１ｎ０〜ＭＣ１ｎ７に格納されるデータの上位のビットの０または１が確定することになる。
【０１５１】
次に、図２０および図２１を参照して、読出動作の第２の処理ステップにおいては、第１の処理ステップでセンスラッチＳＬからデータラッチＤＬ−Ｌにデータを格納し、センスラッチＳＬがクリアされた時点で、第２の判定レベルＶｊ２で、図１７のサブビット線のうち信号ＢＳＳ２により選択されるサブビット線ＳＢＬ２ｍ、ＳＢＬ２ｍ＋１等に接続するメモリセル列ＭＣ２ｎ０〜ＭＣ２ｎ７から読出動作を行ない、読み出されたデータをセンスラッチ回路１２０に格納する。
【０１５２】
メモリセル列ＭＣ２ｎ０〜ＭＣ２ｎ７にも、それぞれデータ“１１”，“０１”，“００”，“１０”，“０１”，“００”，“１０”，“１１”が保持されているものとする。したがって、図２０において、センスラッチ回路１２０の１バイト分の領域に保持されるデータも、１６進数表示で、Ｃ９ｈである。
【０１５３】
つまり、データラッチ回路ＤＬ−Ｌからはデータ出力を行なっている途中で、センスラッチＳＬからデータラッチＤＬ−Ｒにデータ転送を行なう。データラッチＤＬ−Ｌからのデータ出力に引き続いて、データラッチＤＬ−Ｒからのデータ出力を行う。
【０１５４】
同一のワード線に接続し、メモリセル列ＭＣ２ｎ０〜ＭＣ２ｎ７以外のメモリセルであって、図１７のサブビット線のうち信号ＢＳＳ２により選択されるサブビット線に接続するメモリセルについても、同様の処理が並行して行なわれている。
【０１５５】
次に、図２２および図２３を参照して、読出動作の第３の処理ステップにおいては、第２の処理ステップでセンスラッチＳＬからデータラッチＤＬ−Ｌにデータを格納し、センスラッチＳＬがクリアされた時点で、第１の判定レベルＶｊ１で読出動作を行ない、読み出されたデータをセンスラッチ回路１２０に格納する。
【０１５６】
つづいて、データラッチ回路ＤＬ−Ｒからはデータ出力を行なっている途中で、センスラッチＳＬからデータラッチＤＬ−Ｌにデータ転送を行なう。データラッチＤＬ−Ｌへのデータ転送後、センスラッチ回路１２０はクリアされる。
【０１５７】
次に、図２４および図２５を参照して、読出動作の第４の処理ステップにおいては、第３の判定レベルＶｊ３で、メモリセルＭＣ１ｎ０〜ＭＣ１ｎ７から読出動作を行ない、センスラッチ回路１２０にデータを格納する。
【０１５８】
読出データ変換回路２２０は、センスラッチＳＬに保持されるデータとデータラッチＤＬ−Ｌに保持されるデータとの間で演算を行ない、ともに“０”のビットデータのところだけ、データラッチＤＬ−Ｌのビットデータを“１”に変更する。このとき、データラッチＤＬ−Ｒからはデータ出力中である。
【０１５９】
データラッチＤＬ−Ｒからのデータ出力が終了した後、制御回路２１０は、データラッチＤＬ−Ｌからデータ入出力端子群１０へデータ出力を開始する。
【０１６０】
次に、図２６および図２７を参照して、読出動作の第５の処理ステップにおいては、第４の処理ステップでセンスラッチＳＬからデータラッチＤＬ−Ｌにデータを格納し、センスラッチＳＬがクリアされた時点で、第１の判定レベルＶｊ１で、メモリセルＭＣ２ｎ０〜ＭＣ２ｎ７から読出動作を行ない、読み出されたデータをセンスラッチ回路１２０に格納する。
【０１６１】
つづいて、データラッチ回路ＤＬ−Ｌからはデータ出力を行なっている途中で、センスラッチＳＬからデータラッチＤＬ−Ｒにデータ転送を行なう。データラッチＤＬ−Ｒへのデータ転送後、センスラッチ回路１２０はクリアされる。
【０１６２】
次に、図２８および図２９を参照して、読出動作の第６の処理ステップにおいては、第３の判定レベルＶｊ３で、メモリセルＭＣ２ｎ０〜ＭＣ２ｎ７から読出動作を行ない、センスラッチ回路１２０にデータを格納する。
【０１６３】
読出データ変換回路２２０は、センスラッチＳＬに保持されるデータとデータラッチＤＬ−Ｒに保持されるデータとの間で演算を行ない、ともに“０”のビットデータのところだけ、データラッチＤＬ−Ｒのビットデータを“１”に変更する。このとき、データラッチＤＬ−Ｌからはデータ出力中である。
【０１６４】
データラッチＤＬ−Ｌからのデータ出力が終了した後、制御回路２１０は、データラッチＤＬ−Ｒからデータ入出力端子群１０へデータ出力を開始する。
【０１６５】
したがって、実施の形態２の４値フラッシュメモリ１０００では、読出コマンドの入力後、データが出力されるようになるまでには、１／４セクタ分のデータに対して第２の判定レベルＶｊ２の判定結果が出るまでの時間だけ経過すればよい。したがって、実施の形態１の場合よりもさらに読出し時間を削減することが可能である。
【０１６６】
図３０は、実施の形態２のフラッシュメモリの読出動作を説明するためのタイミングチャートである。
【０１６７】
図３０を参照して、時刻ｔ１において、まず、第２の判定レベルＶｊ２でメモリセルＭＣ１ｎ０〜ＭＣ１ｎ７等からの読出動作が行なわれ、センスラッチ回路１２０に格納される。
【０１６８】
続いて、時刻ｔ２において、センスラッチ回路１２０に保持されたデータは、データラッチＤＬ−Ｌに転送され、センスラッチ回路１２０はクリアされる。
【０１６９】
時刻ｔ３において、第２の判定レベルＶｊ２でメモリセルＭＣ２ｎ０〜ＭＣ２ｎ７等からの読出動作が開始され、センスラッチ回路１２０に読出しデータが格納される。
【０１７０】
続いて、時刻ｔ４において、データラッチＤＬ−Ｌからのデータ出力が開始される。
時刻ｔ５において、メモリセルＭＣ２ｎ０〜ＭＣ２ｎ７等からの第２の判定レベルＶｊ２での読出しデータが、データラッチＤＬ−Ｒに格納される。
【０１７１】
時刻ｔ６において、第１の判定レベルＶｊ１に基づいて、メモリセルＭＣ１ｎ０〜ＭＣ１ｎ７等から読出動作が開始される。一方、時刻ｔ７において、制御回路２１０の制御により、データラッチＤＬ−Ｒに保持されている１／４セクタ分のメモリセルＭＣ２ｎ０〜ＭＣ２ｎ７等からの読出データの出力が開始される。
【０１７２】
時刻ｔ８において、第１の判定レベルＶｊ１に基づいて読み出され、センスラッチ回路１２０に保持されているデータが、データラッチＤＬ−Ｌに格納される。一方、センスラッチ回路１２０は、クリアされる。
【０１７３】
時刻ｔ９において、第３の判定レベルＶｊ３に基づいて、メモリセルＭＣ１ｎ０〜ＭＣ１ｎ７等から読出動作が開始され、センスラッチ回路１２０に読出データが格納される。
【０１７４】
メモリセルＭＣ１ｎ０〜ＭＣ１ｎ７等からの第３の判定レベルＶｊ３に基づく読出データに基づいて、時刻ｔ１０において、制御回路２１０により制御されて、読出データ変換回路２２０は、センスラッチ回路１２０に保持されたデータと、データラッチ回路ＤＬ−Ｌに保持されたデータとの間で演算を行ない、ともに“０”のビットデータのところだけ、データラッチＤＬ−Ｌに保持されるビットデータを“１”に変更する。
【０１７５】
一方、時刻ｔ１１において、第１の判定レベルＶｊ１に基づいて、メモリセルＭＣ２ｎ０〜ＭＣ２ｎ７等から読出動作が開始される。一方、時刻ｔ１２において、制御回路２１０の制御により、データラッチＤＬ−Ｌに保持されている１／４セクタ分のメモリセルＭＣ１ｎ０〜ＭＣ１ｎ７等からの読出データの出力が開始される。
【０１７６】
時刻ｔ１３において、第１の判定レベルＶｊ１に基づいて読み出され、センスラッチ回路１２０に保持されているデータが、データラッチＤＬ−Ｒに格納される。一方、センスラッチ回路１２０は、クリアされる。
【０１７７】
時刻ｔ１４において、第３の判定レベルＶｊ３に基づいて、メモリセルＭＣ２ｎ０〜ＭＣ２ｎ７等から読出動作が開始され、センスラッチ回路１２０に読出データが格納される。
【０１７８】
メモリセルＭＣ２ｎ０〜ＭＣ２ｎ７等からの第３の判定レベルＶｊ３に基づく読出データに基づいて、時刻ｔ１５において、制御回路２１０により制御されて、読出データ変換回路２２０は、センスラッチ回路１２０に保持されたデータと、データラッチ回路ＤＬ−Ｒに保持されたデータとの間で演算を行ない、ともに“０”のビットデータのところだけ、データラッチＤＬ−Ｒに保持されるビットデータを“１”に変更する。
【０１７９】
時刻ｔ１６において、データラッチ回路ＤＬ−Ｒに保持されている１／４セクタ分のデータの出力が開始される。時刻ｔ１７において、１セクタ分のデータ出力が完了する。
【０１８０】
以上説明したとおり、時刻ｔ１およびｔ３において読み出されたデータ列の出力が行なわれている期間中に、このデータ列に続いて出力されるべきデータ列の読出動作が完了しているために、４値メモリセルからの読出データを出力する際の遅延時間を削減することが可能である。
【０１８１】
［実施の形態３］
つぎに、実施の形態１のフラッシュメモリ１０００の構成におけるデータの書込み動作の１例を実施の形態３として説明する。
【０１８２】
図３１〜３６は、本発明の実施の形態３の動作説明図であり、書込動作の第１〜第３の処理ステップにおいて、データラッチＤＬ−ＬおよびＤＬ−ＲならびにセンスラッチＳＬに保持されるデータおよび書込時のメモリセルのしきい値と判定レベルを示す概念図である。
【０１８３】
図３１は、書込動作の第１の処理ステップにおける各ラッチに保持されるデータを示し、図３２は、書込動作の第１の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０１８４】
図３３は、書込動作の第２の処理ステップにおける各ラッチに保持されるデータを示し、図３４は、書込動作の第２の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０１８５】
図３５は、書込動作の第３の処理ステップにおける各ラッチに保持されるデータを示し、図３６は、書込動作の第３の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０１８６】
まず、書込動作が行われるメモリセルブロックについては、全てのメモリセルについてデータ“１１”に対応するしきい値とされる。
【０１８７】
次に、図３１および図３２を参照して、書込動作の第１の処理ステップにおいては、入力されたデータ（１／２セクタ分：１６進表現でＣ９ｈ）をデータラッチＤＬ−Ｌに格納し、センスラッチＳＬに転送する。第２の判定レベルＶｊ２に基づいて、レベル３に相当するしきい値までの書込みを行う。この第２の判定レベルＶｊ２での書込み動作中に、残りの１／２セクタ分のデータ（１６進表現で９３ｈ）がデータラッチＤＬ−Ｒに格納される。
【０１８８】
次に、図３３および図３４を参照して、書込動作の第２の処理ステップにおいては、書込データ変換回路２３０は、データラッチＤＬ−Ｒ、ＤＬ−Ｌに含まれるデータについて、対応するビットデータの組について演算することで、データラッチＤＬ−Ｌに保持されるビットが“０”であって、データラッチＤＬ−Ｒに保持されるビットが“１”となっているデータに対応するセンスラッチＳＬのビットデータのみを“０”レベルとする。
【０１８９】
図３３に示すとおり、このような演算を行なった後には、センスラッチＳＬには、“１０１１０１１１”というデータが保持されている。このようにしてセンスラチＳＬに保持されたデータに基づいて、センスラッチＳＬの各ビットにそれぞれ対応するメモリセルＭＣ０〜ＭＣ７にデータの書込が行なわれる。ここで、メモリセルＭＣ０〜ＭＣ７は、同一のワード線ＷＬに接続している。さらに、ベリファイ動作の判定値としては第３番目の判定値Ｖｊ３を用いる。
【０１９０】
このとき、センスラッチ中のデータ“０”に対応するメモリセルに対してデータの書込みが行なわれる。したがって、センスラッチの第１ビットと第４ビットに対応するメモリセルＭＣ１およびＭＣ４に対してレベル４のデータ（データ“０１”に対応する）の書込が行なわれる。
【０１９１】
データの書込は、ワード線ＷＬに高電圧を印加することで、ＦＮ（ファウラー・ノルドハイム）トンネル電流を利用して書込まれる。
【０１９２】
センスラッチＳＬのビットデータが“１”のビットに対応するビット線ＢＬにはワード線ＷＬから印加される電圧を緩和するために、ワード線電圧以下の電圧が印加される。結果的に、センスラッチに保持されるビットデータが“０”に対応するビット線ＢＬに接続するメモリセルにだけデータの書込が行なわれる。
【０１９３】
次に、図３５および３６を参照して、書込動作の第３ステップでは、書込みデータ変換回路２３０は、データラッチＤＬ−Ｒ、ＤＬ−Ｌに保持されたデータの演算を行ない、データラッチＤＬ−Ｌに保持されたビットデータが“１”であり、データラッチＤＬ−Ｒに保持されたビットデータが“０”であるデータの組に対応するセンスラッチＳＬのビットには“０”が書込まれる。ベリファイ動作における判定値を第１の判定レベルＶｊ１に変えたうえで、メモリセルＭＣ３およびＭＣ６にのみデータの書込が行なわれる。
【０１９４】
以上の説明から明らかなように、図３１および図３２の書込みでは、本来レベル４としてデータが書込まれるべきメモリセルに対しても、一旦、レベル３としてデータの書込みが行われている。図３３および図３４で、レベル４としての書き込みが行われるメモリセルは、すべて図３１および図３２において、レベル３として書込みが行われたメモリセルに含まれる。
【０１９５】
同様に、図３５および図３６において、レベル２としての書き込みが行われるメモリセルも、その直前まで、レベル１のしきい値を有していたメモリセルの中に含まれている。
【０１９６】
つまり、図３１および図３２の書込みを行う時点で、レベル４および３の書込みが行われるメモリセルと、メモリ２および１の書込みが行われるメモリセルとが分離されていることになる。
【０１９７】
したがって、実施の形態３の４値フラッシュメモリでは、書込みコマンドの入力後、データラッチＤＬ−Ｒへの１／２セクタ分のデータの入力時間中にすでに書込み動作が開始されているため、書込み時間を短縮することが可能である。
【０１９８】
特に、以下の式（２）の条件を満たす場合は、短縮の効果が大きい。
｛セクタサイズ（Ｂｙｔｅ）×（１Ｂｙｔｅ当りの入力時間）×１／２｝
≧｛レベル３の書込み時間｝  …（２）
【０１９９】
図３７は、実施の形態３のフラッシュメモリ１０００の書込動作を説明するためのタイミングチャートである。
【０２００】
図３７を参照して、時刻ｔ１において、まず、１／２セクタ分のデータ（上位ビットのデータ）の入力が開始され、時刻ｔ２からデータラッチＤＬ−Ｌへの格納が始まる。
【０２０１】
時刻ｔ３において、前半の１／２セクタ分のデータの入力が終了すると、データラッチＤＬ−Ｌに格納されているデータは、センスラッチＳＬに転送される。
【０２０２】
一方、時刻ｔ３において、１／２セクタ分のデータ（下位ビットのデータ）の入力が開始され、時刻ｔ４からデータラッチＤＬ−Ｒへの格納が始まる。
【０２０３】
時刻ｔ５において、センスラッチＳＬに格納されたデータに基づいて、第２の判定レベルＶｊ２に応じて、書込み動作が行なわれる。
【０２０４】
時刻ｔ６において、第２の判定レベルでの書き込み動作が終了すると、センスラッチＳＬはクリアされる。
【０２０５】
時刻ｔ７において、書込みデータ変換回路２３０は、データラッチＤＬ−Ｒ、ＤＬ−Ｌに含まれるデータについて、対応するビットデータの組について演算を開始し、時刻ｔ８から、データラッチＤＬ−Ｌに保持されるビットが“０”であって、データラッチＤＬ−Ｒに保持されるビットが“１”となっているデータに対応するセンスラッチＳＬのビットデータのみを“０”レベルとしていく。
【０２０６】
時刻ｔ９において、センスラッチＳＬに格納されたデータに基づいて、第３の判定レベルＶｊ３に応じて、書込み動作が行なわれる。
【０２０７】
時刻ｔ１０において、第３の判定レベルでの書き込み動作が終了すると、センスラッチＳＬはクリアされる。
【０２０８】
時刻ｔ１１において、書込みデータ変換回路２３０は、データラッチＤＬ−Ｒ、ＤＬ−Ｌに保持されたデータの演算を開始し、時刻ｔ１２から、データラッチＤＬ−Ｌに保持されたビットデータが“１”であり、データラッチＤＬ−Ｒに保持されたビットデータが“０”であるデータの組に対応するセンスラッチＳＬのビットに“０”を書込んでいく。
【０２０９】
時刻ｔ１３において、センスラッチＳＬに格納されたデータに基づいて、第１の判定レベルＶｊ１に応じて、書込み動作が行なわれる。
【０２１０】
以上説明したとおり、時刻ｔ１において入力されたデータ列の書込みが行なわれている期間中に、このデータ列に続いて書込まれるべきデータ列の格納動作が完了しているために、４値メモリセルへデータを書込む際の遅延時間を削減することが可能である。
【０２１１】
［実施の形態３の変形例］
実施の形態３の書込み動作では、書込み時間の短縮を可能とした。一方で、書込み動作時に使用されるデータラッチの個数を削減することも可能である。
【０２１２】
図３８および３９は、本発明の実施の形態３変形例の動作説明図であり、書込動作の第２の処理ステップにおいて、データラッチＤＬ−ＬおよびＤＬ−ＲならびにセンスラッチＳＬに保持されるデータおよび読出時のメモリセルのしきい値と判定レベルを示す概念図である。
【０２１３】
図３８は、書込動作の第２の処理ステップにおける各ラッチに保持されるデータを示し、図３９は、書込動作の第２の処理ステップにおける読出し動作のメモリセルのしきい値と判定レベルを示す。
【０２１４】
まず、図３１および図３２と同様に、書込み動作の第１の処理ステップで、メモリセルにデータを書込む。
【０２１５】
つづいて、書込み動作の第２の処理ステップで、残りの１／２セクタ分のデータを再び、データラッチＤＬ−Ｌに取り込む。一方、第２の判定レベルＶｊ２で第１の処理ステップでメモリセルに書込んだデータを読出し、センスラッチＳＬに格納する。書込みデータ変換回路２３０は、データラッチＤＬ−Ｌに保持されたデータとセンスラッチＳＬに保持されたデータとの間で、図３３および図３４におけるのと同様の演算を行い、センスラッチＳＬの内容を書き換える。このセンスラッチＳＬのデータに基づいて、第３の判定レベルＶｊ３に応じた書込み動作を実行する。
【０２１６】
つづいて、同様に、再び、第２の判定レベルＶｊ２でメモリセルに書込んだデータを読出し、センスラッチＳＬに格納する。書込みデータ変換回路２３０は、データラッチＤＬ−Ｌに保持されたデータとセンスラッチＳＬに保持されたデータとの間で、図３５および図３６におけるのと同様の演算を行い、センスラッチＳＬの内容を書き換える。このセンスラッチＳＬのデータに基づいて、第１の判定レベルＶｊ１に応じた書込み動作を実行する。
【０２１７】
以上のような動作により、データ書込みに必要となるデータラッチの個数を削減することが可能となる。
【０２１８】
［実施の形態４］
実施の形態４の書込み動作では、実施の形態３の書込み動作に要する時間をさらに削減するために、実施の形態３において、図３３および図３４で説明した判定値レベルＶｊ３での書込みと、図３５および図３６で説明した判定値レベルＶｊ１での書込みとを同時に行うことが可能な書込み処理を提供する。
【０２１９】
実施の形態３の書込み処理では、判定値レベルＶｊ３でのしきい値レベル４への書込み、判定値レベルＶｊ２でのしきい値レベル３への書込み、判定値レベルＶｊ１でのしきい値レベル２への書込み処理においては、表１に示すように、データの書込みを行わないメモリセルのドレインには、書込み阻止電圧を印加している。
【０２２０】
【表１】
2006085901.tif 000003
【０２２１】
図４０および４１は、本発明の実施の形態４の動作説明図であり、書込動作の第２の処理ステップにおいて、データラッチＤＬ−ＬおよびＤＬ−ＲならびにセンスラッチＳＬに保持されるデータおよび書込時のメモリセルのしきい値と判定レベルを示す概念図である。
【０２２２】
図４０は、書込動作の第２の処理ステップにおける各ラッチに保持されるデータを示し、図４１は、書込動作の第２の処理ステップにおける書込み動作のメモリセルのしきい値と判定レベルを示す。
【０２２３】
まず、図３１および図３２と同様に、書込み動作の第１の処理ステップで、メモリセルに第２の判定レベルＶｊ２に基づいてデータを書込む。
【０２２４】
つづいて、書込み動作の第２の処理ステップで、残りの１／２セクタ分のデータを、データラッチＤＬ−Ｒに取り込む。書込データ変換回路２３０は、データラッチＤＬ−Ｒ、ＤＬ−Ｌに含まれるデータについて、対応するビットデータの組について演算することで、データラッチＤＬ−Ｌに保持されるビットデータと、データラッチＤＬ−Ｒに保持されるビットデータとが異なっている場合にのみ、対応するセンスラッチＳＬのビットデータを“０”レベルとする。これは、データラッチＤＬ−ＲとＤＬ−Ｌに保持される各ビットデータの排他的論理和演算結果の反転処理を行うことに相当する。
【０２２５】
このようにして書換えられたセンスラッチＳＬの値に基づいて、以下の表２の条件を満たすように、メモリセルにデータを書込む。すなわち、データの書込みを行うメモリセルに対しては、書込むデータが“０１”であるか、“１０”であるかに応じて、表２のとおりにドレイン電圧を変化させる。
【０２２６】
【表２】
2006085901.tif 000004
【０２２７】
表２においては、電圧Ｖ１＜電圧Ｖ２＜電圧Ｖ３の関係が成り立つ。メモリセルトランジスタのしきい値電圧の設定値異なる場合は、電圧Ｖ１、Ｖ２、Ｖ３はこの関係を維持しつつ、電圧Ｖ２、Ｖ３の値を変化させればよい。
【０２２８】
以上のような動作により、データ書込みに必要となる時間を一層削減することが可能となる。
【０２２９】
［実施の形態５］
以上の説明では、１つのメモリセルに保持されるデータが、２ビット、つまり、４値の場合において、データの読出、書込みの動作について説明した。
【０２３０】
より一般的に、ｎ≧ｍ＋１、ｍ≧０、ｎ，ｍは自然数とするとき、１つのメモリセルに保持されるデータが２n値の場合は、書込みデータと書込みデータに対応するメモリセルトランジスタのしきい値のレベルとの対応づけに一定の関係をおくとき、各メモリセルに保持されるｎビットデータのうち、第２n-1の判定レベルでの読出で、ｎビットのうちの１ビット（たとえば、最上位の１ビット）が確定するようにできる。
【０２３１】
さらに、第２n-2の判定レベルと第（２n-1＋２n-2）の判定レベルの２つでの読出処理により、ｎビットのうちのさらに１ビットが確定するようにできる。
【０２３２】
さらに、第Σ（２n-1-m+Y）の判定レベル（Σは、ＹについてＹ＝０からＹ＝ｍまでの和：ｍ≧０、ｎ≧ｍ＋１）等の２m個の判定レベルでの読出処理により、ｎビットのうちのさらに１ビットが確定するようにできる。
【０２３３】
最終的に、第１の判定レベル、第３の判定レベル、第５の判定レベル、…、第２n-1の判定レベルでの読出処理により、ｎビットのうちのさらに１ビットが確定するようにできる。
【０２３４】
図４２は、３ビット、すなわち、８値のデータを１つのメモリセルに書込む場合に、上述の要領で読出が可能なときの書込みデータと書込みデータに対応するメモリセルトランジスタのしきい値のレベルとの対応づけを示す図である。
【０２３５】
第４の判定レベルでの読出で最上位ビットが確定し、第２および第６の判定レベルでの読出で中位ビットが確定し、第１、３、５、７の判定レベルでの読出で最下位ビットが確定する。
【０２３６】
これに対して、図４３は、３ビット、すなわち、８値のデータを１つのメモリセルに書込む場合に、上述の要領で読出ができないときの書込みデータと書込みデータに対応するメモリセルトランジスタのしきい値のレベルとの対応づけを示す図である。
【０２３７】
第４の判定レベルでの読出で最上位ビットが確定するものの、第２および第６の判定レベルでの読出では中位ビットは確定しない。
【０２３８】
［１６値データの読出動作］
以下では、１６（＝２n：ｎ＝４）値の場合を例にとって、読出動作を説明する。以下に説明するとおり、データラッチ回路が、回路ＤＬ−ＬとＤＬ−Ｒの２系統から、回路ＤＬ−１〜４の４系統となり、制御回路２１０の動作が異なる以外は、本実施の形態のフラッシュメモリの構成は、実施の形態１のフラッシュメモリ１０００の構成と同様である。
【０２３９】
図４４〜８１は、本発明の実施の形態５の動作説明図であり、読出動作の第１〜第１９の処理ステップにおいて、データラッチＤＬ−１〜ＤＬ−４ならびにセンスラッチＳＬに保持されるデータおよび読出時のメモリセルのしきい値と判定レベルを示す概念図である。
【０２４０】
図４４は、読出動作の第１の処理ステップにおける各ラッチに保持されるデータを示し、図４５は、読出動作の第１の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０２４１】
まず、図４４および図４５を参照して、読出動作の第１の処理ステップにおいては、同一のワード線に接続された複数メモリセル、たとえば、１ｋＢｙｔｅ分のメモリセルから、第８（＝２n-1：ｎ＝４）の判定レベルＶｊ８で一括して読出を行ない、その結果をセンスラッチ回路１２０に格納する。
【０２４２】
図４４では、センスラッチ回路１２０中において、１セクタ分の読出動作で、最初にデータ入出力端子群１０から出力される２バイト分のデータを保持するセンスラッチＳＬと、これに対応するデータラッチＤＬ−１〜ＤＬ−４を抜き出して示す。１セクタ分の読出動作で、この２バイト分のデータに続いてデータ入出力端子群１０から読み出されるデータについても、以下に説明するのと同様の処理が並行して行なわれている。
【０２４３】
このデータ入出力端子群１０から最初に出力される１バイト分のデータを含むデータ列を保持するメモリセル列ＭＣ０〜ＭＣ１５には、それぞれデータ“０１１１”，“０１１０”，“０１００”，“０１０１”，“０００１”，“００００”，“００１０”，“００１１”，“１０１１”，“１０１０”，“１０００”，“１００１”，“１１０１”，“１１００”，“１１１０”，“１１１１”が保持されているものとする。
【０２４４】
図４５に示すように、メモリセルのしきい値の高い側のレベル１６から低い側のレベル１までのレベルにそれぞれ対応する書込みデータは、“０１１１”，“０１１０”，“０１００”，“０１０１”，“０００１”，“００００”，“００１０”，“００１１”，“１０１１”，“１０１０”，“１０００”，“１００１”，“１１０１”，“１１００”，“１１１０”，“１１１１”であるものとする。
【０２４５】
したがって、図４４において、センスラッチ回路１２０の２バイト分の領域に保持されるデータは、１６進数表示で、００ｈとＦＦｈである。
【０２４６】
第８の判定レベルＶｊ８で一括して読出されたデータは、センスラッチＳＬからデータラッチＤＬ−１に格納される。この時点で、制御回路２１０の制御により、データラッチＤＬ−１に格納されたデータが、順次１バイトずつ（または２バイトずつ）データ入出力端子群１０から出力される。
【０２４７】
このように、読出動作の第１の処理ステップにおいて、第８の判定レベルＶｊ２で読出動作をまず行なうのは、図４５に示すとおり、このレベルで読出すことにより、メモリセル内の１６種のデータが、“０”または“１”のうちのいずれであるかが確定するからである。すなわち、メモリセルＭＣ０〜ＭＣ１５に格納されるデータの最上位のビットの０または１が確定することになる。
【０２４８】
図４６は、読出動作の第２の処理ステップにおける各ラッチに保持されるデータを示し、図４７は、読出動作の第２の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０２４９】
次に、図４６および図４７を参照して、読出動作の第２の処理ステップにおいては、第１の処理ステップでセンスラッチＳＬからデータラッチＤＬ−１にデータを格納し、センスラッチＳＬがクリアされた時点で、第４（＝２n-2：ｎ＝４）の判定レベルＶｊ４で読出動作を行ない、読み出されたデータをセンスラッチ回路１２０に格納する。つまり、データラッチ回路ＤＬ−１からはデータ出力を行なっている途中で、センスラッチＳＬからデータラッチＤＬ−２にデータ転送を行なう。データラッチＤＬ−２へのデータ転送後、センスラッチ回路１２０はクリアされる。
【０２５０】
図４８は、読出動作の第３の処理ステップにおける各ラッチに保持されるデータを示し、図４９は、読出動作の第３の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０２５１】
次に、図４８および図４９を参照して、読出動作の第３の処理ステップにおいては、第１２（＝２n-1＋２n-2：ｎ＝４）の判定レベルＶｊ１２で読出動作を行ない、センスラッチ回路１２０にデータを格納する。読出データ変換回路２２０は、センスラッチＳＬに保持されるデータの反転データとデータラッチＤＬ−２に保持されるデータとの間でＮＯＲ演算を行なった結果にしたがって、データラッチＤＬ２内のデータビットを変更する。
【０２５２】
図５０は、読出動作の第４の処理ステップにおける各ラッチに保持されるデータを示し、図５１は、読出動作の第４の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０２５３】
次に、図５０および図５１を参照して、読出動作の第４の処理ステップにおいては、第３の処理ステップでセンスラッチＳＬからデータラッチＤＬ−１にデータを格納し、センスラッチＳＬがクリアされた時点で、第２（＝２n-3：ｎ＝４）の判定レベルＶｊ２で読出動作を行ない、読み出されたデータをセンスラッチ回路１２０に格納する。データラッチ回路ＤＬ−１からはデータ出力を行ない、その出力後にはデータラッチ回路ＤＬ−２からデータ出力を行なっている間に、センスラッチＳＬからデータラッチＤＬ−３にデータ転送を行なう。データラッチＤＬ−３へのデータ転送後、センスラッチ回路１２０はクリアされる。
【０２５４】
図５２は、読出動作の第５の処理ステップにおける各ラッチに保持されるデータを示し、図５３は、読出動作の第５の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０２５５】
次に、図５２および図５３を参照して、読出動作の第５の処理ステップにおいては、第６（＝２n-2＋２n-3：ｎ＝４）の判定レベルＶｊ６で読出動作を行ない、センスラッチ回路１２０にデータを格納する。読出データ変換回路２２０は、センスラッチＳＬに保持されるデータの反転データとデータラッチＤＬ−３に保持されるデータとの間でＮＯＲ演算を行なった結果にしたがって、データラッチＤＬ３内のデータビットを変更する。
【０２５６】
図５４は、読出動作の第６の処理ステップにおける各ラッチに保持されるデータを示し、図５５は、読出動作の第６の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０２５７】
次に、図５４および図５５を参照して、読出動作の第６の処理ステップにおいては、第５の処理ステップでセンスラッチＳＬからデータラッチＤＬ−３にデータを格納し、センスラッチＳＬがクリアされた時点で、第１０（＝２n-1＋２n-3：ｎ＝４）の判定レベルＶｊ１０で読出動作を行ない、読み出されたデータをセンスラッチ回路１２０に格納する。データラッチ回路ＤＬ−１からはデータ出力を行ない、その出力後にはデータラッチ回路ＤＬ−２からデータ出力を行なっている間に、センスラッチＳＬからデータラッチＤＬ−４にデータ転送を行なう。データラッチＤＬ−４へのデータ転送後、センスラッチ回路１２０はクリアされる。
【０２５８】
図５６は、読出動作の第７の処理ステップにおける各ラッチに保持されるデータを示し、図５７は、読出動作の第７の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０２５９】
次に、図５６および図５７を参照して、読出動作の第７の処理ステップにおいては、第１４（＝２n-1＋２n-2＋２n-3：ｎ＝４）の判定レベルＶｊ１４で読出動作を行ない、センスラッチ回路１２０にデータを格納する。読出データ変換回路２２０は、センスラッチＳＬに保持されるデータの反転データとデータラッチＤＬ−４に保持されるデータとの間でＮＯＲ演算を行なった結果にしたがって、データラッチＤＬ４内のデータビットを変更する。
【０２６０】
図５８は、読出動作の第８の処理ステップにおける各ラッチに保持されるデータを示し、図５９は、読出動作の第８の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０２６１】
次に、図５８と図５９を参照して、読出データ変換回路２２０は、データラッチＤＬ−３とＤＬ−４に保持されたビットデータ間でＯＲ演算を行ない、結果をデータラッチ回路ＤＬ−３に格納する。
【０２６２】
図６０は、読出動作の第９の処理ステップにおける各ラッチに保持されるデータを示し、図６１は、読出動作の第９の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０２６３】
次に、図６０と図６１を参照して、データラッチＤＬ−２からのデータ出力中において、第１（＝２n-4：ｎ＝４）の判定レベルＶｊ１で読出動作を行ない、センスラッチ回路１２０にデータを格納する。センスラッチＳＬ中のデータをデータラッチＤＬ−４に転送する。なお、読出データ変換回路２２０は、データラッチＤＬ−２からのデータ出力が終了後、データラッチＤＬ−３に保持されるデータの反転データをデータ入出力端子に出力する。
【０２６４】
図６２は、読出動作の第１０の処理ステップにおける各ラッチに保持されるデータを示し、図６３は、読出動作の第１０の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０２６５】
次に、図６２および図６３を参照して、読出動作の第１０の処理ステップにおいては、第３（＝２n-3＋２n-4：ｎ＝４）の判定レベルＶｊ３で読出動作を行ない、センスラッチ回路１２０にデータを格納する。読出データ変換回路２２０は、センスラッチＳＬに保持されるデータの反転データとデータラッチＤＬ−４に保持されるデータとの間でＮＯＲ演算を行なった結果にしたがって、データラッチＤＬ４内のデータビットを変更する。
【０２６６】
図６４は、読出動作の第１１の処理ステップにおける各ラッチに保持されるデータを示し、図６５は、読出動作の第１１の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０２６７】
次に、図６４と図６５を参照して、データラッチＤＬ−２からのデータ出力中において、第５（＝２n-2＋２n-4：ｎ＝４）の判定レベルＶｊ５で読出動作を行ない、センスラッチ回路１２０にデータを格納する。センスラッチＳＬ中のデータをデータラッチＤＬ−１に転送する。
【０２６８】
図６６は、読出動作の第１２の処理ステップにおける各ラッチに保持されるデータを示し、図６７は、読出動作の第１２の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０２６９】
次に、図６６および図６７を参照して、読出動作の第１２の処理ステップにおいては、第７（＝２n-2＋２n-3＋２n-4：ｎ＝４）の判定レベルＶｊ７で読出動作を行ない、センスラッチ回路１２０にデータを格納する。読出データ変換回路２２０は、センスラッチＳＬに保持されるデータの反転データとデータラッチＤＬ−１に保持されるデータとの間でＮＯＲ演算を行なった結果にしたがって、データラッチＤＬ１内のデータビットを変更する。
【０２７０】
図６８は、読出動作の第１３の処理ステップにおける各ラッチに保持されるデータを示し、図６９は、読出動作の第１３の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０２７１】
次に、図６８と図６９を参照して、読出データ変換回路２２０は、データラッチＤＬ−１とＤＬ−４に保持されたビットデータ間でＯＲ演算を行ない、結果をデータラッチ回路ＤＬ−４に格納する。
【０２７２】
図７０は、読出動作の第１４の処理ステップにおける各ラッチに保持されるデータを示し、図７１は、読出動作の第１４の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０２７３】
次に、図７０と図７１を参照して、データラッチＤＬ−２またはＤＬ３からのデータ出力中において、第９（＝２n-1＋２n-4：ｎ＝４）の判定レベルＶｊ９で読出動作を行ない、センスラッチ回路１２０にデータを格納する。センスラッチＳＬ中のデータはデータラッチＤＬ−１に転送される。
【０２７４】
図７２は、読出動作の第１５の処理ステップにおける各ラッチに保持されるデータを示し、図７３は、読出動作の第１５の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０２７５】
次に、図７２および図７３を参照して、読出動作の第１５の処理ステップにおいては、第１１（＝２n-1＋２n-3＋２n-4：ｎ＝４）の判定レベルＶｊ１１で読出動作を行ない、センスラッチ回路１２０にデータを格納する。読出データ変換回路２２０は、センスラッチＳＬに保持されるデータの反転データとデータラッチＤＬ−１に保持されるデータとの間でＮＯＲ演算を行なった結果にしたがって、データラッチＤＬ１内のデータビットを変更する。
【０２７６】
図７４は、読出動作の第１６の処理ステップにおける各ラッチに保持されるデータを示し、図７５は、読出動作の第１６の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０２７７】
次に、図７４と図７５を参照して、読出データ変換回路２２０は、データラッチＤＬ−１とＤＬ−４に保持されたビットデータ間でＯＲ演算を行ない、結果をデータラッチ回路ＤＬ−４に格納する。
【０２７８】
図７６は、読出動作の第１７の処理ステップにおける各ラッチに保持されるデータを示し、図７７は、読出動作の第１７の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０２７９】
次に、図７６と図７７を参照して、データラッチＤＬ−２またはＤＬ３からのデータ出力中において、第１３（＝２n-1＋２n-2＋２n-4：ｎ＝４）の判定レベルＶｊ１３で読出動作を行ない、センスラッチ回路１２０にデータを格納する。センスラッチＳＬ中のデータはデータラッチＤＬ−１に転送される。
【０２８０】
図７８は、読出動作の第１８の処理ステップにおける各ラッチに保持されるデータを示し、図７９は、読出動作の第１８の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０２８１】
次に、図７８および図７９を参照して、読出動作の第１８の処理ステップにおいては、第１５（＝２n-1＋２n-2＋２n-3＋２n-4：ｎ＝４）の判定レベルＶｊ１５で読出動作を行ない、センスラッチ回路１２０にデータを格納する。読出データ変換回路２２０は、センスラッチＳＬに保持されるデータの反転データとデータラッチＤＬ−１に保持されるデータとの間でＮＯＲ演算を行なった結果にしたがって、データラッチＤＬ１内のデータビットを変更する。
【０２８２】
図８０は、読出動作の第１９の処理ステップにおける各ラッチに保持されるデータを示し、図８１は、読出動作の第１９の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０２８３】
次に、図８０と図８１を参照して、読出データ変換回路２２０は、データラッチＤＬ−１とＤＬ−４に保持されたビットデータ間でＯＲ演算を行ない、結果をデータラッチ回路ＤＬ−４に格納する。
【０２８４】
データラッチＤＬ−３のデータ出力が終了した後、制御回路２１０は、データラッチＤＬ−４に保持されるデータの反転データをデータ入出力端子群１０へ出力を開始する。
【０２８５】
以上のような動作により、１６値のデータを保持できるメモリセルからのデータ読出時間を短縮することが可能である。
【０２８６】
なお、以上の説明では、判定レベルの低い方から２つずつ組にして、各組の上位の判定レベル値を反転し、２つの判定結果をＮＯＲ処理し、最後に各組の結果をＯＲ処理している。この発明は、このような構成に限られるわけではなく、たとえば、判定レベルの高い方から２つずつ組にしても良い。
【０２８７】
［１６値データの書込み動作］
つぎに、データの書込み動作について説明する。
【０２８８】
図８２〜８７は、書込動作の第１〜第７の処理ステップにおいて、データラッチＤＬ−１〜ＤＬ−４ならびにセンスラッチＳＬに保持されるデータおよび書込時のメモリセルのしきい値と判定レベルを示す概念図である。
【０２８９】
図８２は、書込動作の第１の処理ステップにおける各ラッチに保持されるデータを示し、図８３は、書込動作の第１の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０２９０】
図８４は、書込動作の第２および３の処理ステップにおける各ラッチに保持されるデータを示し、図８５は、書込動作の第２および３の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０２９１】
図８６は、書込動作の第４〜７の処理ステップにおける各ラッチに保持されるデータを示し、図８７は、書込動作の第４〜７の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０２９２】
まず、書込動作が行われるメモリセルブロックについては、全てのメモリセルについてデータ“１１１１”に対応するしきい値とされる。
【０２９３】
次に、図８２および図８３を参照して、書込動作の第１の処理ステップにおいては、入力されたデータ（１６進表現で００ｈとＦＦｈ）をデータラッチＤＬ−１に格納し、センスラッチＳＬに転送する。第８の判定レベルＶｊ８に基づいて、レベル９に相当するしきい値までの書込みを行う。この第８の判定レベルＶｊ８での書込み動作中に、残りのデータのうち２バイト分のデータがさらにデータラッチＤＬ−２に格納される。
【０２９４】
次に、図８４および図８５を参照して、書込動作の第２の処理ステップにおいては、書込データ変換回路２３０は、データラッチＤＬ−１、ＤＬ−２に含まれるデータについて、対応するビットデータの組について演算することで、データラッチＤＬ−１に保持されるビットが“１”であって、データラッチＤＬ−２に保持されるビットが“０”となっているデータに対応するセンスラッチＳＬのビットデータのみを“０”レベルとする。
【０２９５】
このようにしてセンスラチＳＬに保持されたデータに基づいて、センスラッチＳＬの各ビットにそれぞれ対応するメモリセルＭＣ０〜ＭＣ１５にデータの書込が行なわれる。ここで、メモリセルＭＣ０〜ＭＣ１５は、同一のワード線ＷＬに接続している。さらに、ベリファイ動作の判定値としては第４番目の判定値Ｖｊ４を用い、しきい値レベルのレベル５まで書込みを行なう。
【０２９６】
このとき、センスラッチ中のデータ“０”に対応するメモリセルに対してデータの書込みが行なわれる。
【０２９７】
データの書込は、ワード線ＷＬに高電圧を印加することで、ＦＮ（ファウラー・ノルドハイム）トンネル電流を利用して書込まれる。
【０２９８】
センスラッチＳＬのビットデータが“１”のビットに対応するビット線ＢＬにはワード線ＷＬから印加される電圧を緩和するために、ワード線電圧以下の電圧が印加される。結果的に、センスラッチに保持されるビットデータが“０”に対応するビット線ＢＬに接続するメモリセルにだけデータの書込が行なわれる。
【０２９９】
さらに、図８４および図８５を参照して、書込動作の第３の処理ステップにおいては、書込データ変換回路２３０は、データラッチＤＬ−１、ＤＬ−２に含まれるデータについて、対応するビットデータの組について演算することで、データラッチＤＬ−１に保持されるビットが“０”であって、データラッチＤＬ−２に保持されるビットが“１”となっているデータに対応するセンスラッチＳＬのビットデータのみを“０”レベルとする。
【０３００】
このようにしてセンスラチＳＬに保持されたデータに基づいて、センスラッチＳＬの各ビットにそれぞれ対応するメモリセルＭＣ０〜ＭＣ１５にデータの書込が行なわれる。ここで、ベリファイ動作の判定値としては第１２番目の判定値Ｖｊ１２を用い、しきい値レベルのレベル１３まで書込みが行なわれる。
【０３０１】
この第１２の判定レベルＶｊ１２での書込み動作中に、残りの１／４セクタ分のデータがデータラッチＤＬ−３に格納される。
【０３０２】
次に、図８６および図８７を参照して、書込動作の第４の処理ステップにおいては、書込データ変換回路２３０は、データラッチＤＬ−１、ＤＬ−２、ＤＬ−３に含まれるデータについて、対応するビットデータの組について演算することで、データラッチＤＬ−１に保持されるビットが“１”、データラッチＤＬ−２に保持されるビットが“１”であって、データラッチＤＬ−３に保持されるビットが“０”となっているデータに対応するセンスラッチＳＬのビットデータのみを“０”レベルとする。
【０３０３】
このようにしてセンスラチＳＬに保持されたデータに基づいて、センスラッチＳＬの各ビットにそれぞれ対応するメモリセルＭＣ０〜ＭＣ１５にデータの書込が行なわれる。ここで、ベリファイ動作の判定値としては第２番目の判定値Ｖｊ２を用い、しきい値レベルのレベル３にまで書込みが行なわれる。
【０３０４】
さらに、図８６および図８７を参照して、書込動作の第５の処理ステップにおいては、書込データ変換回路２３０は、データラッチＤＬ−１、ＤＬ−２およびＤＬ−３に含まれるデータについて、対応するビットデータの組について演算することで、データラッチＤＬ−１に保持されるビットが“１”、データラッチＤＬ−２に保持されるビットが“０”、であって、データラッチＤＬ−３に保持されるビットが“１”となっているデータに対応するセンスラッチＳＬのビットデータのみを“０”レベルとする。
【０３０５】
このようにしてセンスラチＳＬに保持されたデータに基づいて、センスラッチＳＬの各ビットにそれぞれ対応するメモリセルＭＣ０〜ＭＣ１５にデータの書込が行なわれる。ここで、ベリファイ動作の判定値としては第６番目の判定値Ｖｊ６を用い、しきい値レベルのレベル７まで書込みが行なわれる。
【０３０６】
以下同様にして、書込動作の第６の処理ステップにおいては、データラッチＤＬ−１、ＤＬ−２、ＤＬ−３に保持されるデータのビットデータの組が、（０，０，０）に相当するセンスラッチのビットデータが“０”とされる。その上で、ベリファイ動作の判定値としては第１０番目の判定値Ｖｊ１０を用い、しきい値レベルのレベル１１まで書込みが行なわれる。
【０３０７】
書込動作の第７の処理ステップにおいては、データラッチＤＬ−１、ＤＬ−２、ＤＬ−３に保持されるデータのビットデータの組が、（０，１，１）に相当するセンスラッチのビットデータが“０”とされる。その上で、ベリファイ動作の判定値としては第１４番目の判定値Ｖｊ１４を用い、しきい値レベルのレベル１５まで書込みが行なわれる。このレベル１５までの書込み動作期間中に、データラッチ回路ＤＬ−４に、さらに残りの２バイトのデータが格納される。
【０３０８】
さらに、図示しないが、書込動作の第８〜１５の処理ステップにおいては、それぞれ、データラッチＤＬ−１、ＤＬ−２、ＤＬ−３、ＤＬ−４に保持されるデータのビットデータの組が、（１，１，１，０）、（１，１，０，１）、（１，０，０，０）、（１，０，１，１）、（０，０，１，０）、（０，０，０，１）、（０，１，０，０）、（０，１，１，１）に相当するセンスラッチのビットデータが“０”とされる。その上で、ベリファイ動作の判定値としては第１，３，５，７，９，１１，１３，１５番目の判定値を用い、それぞれのステップに対応するしきい値レベルまで書込みが行なわれる。
【０３０９】
以上説明した通り、実施の形態５の１６値フラッシュメモリでは、書込みコマンドの入力後、複数のデータラッチ回路のうちの少なくとも１つへのデータの入力時間中にすでに書込み動作が開始されているため、書込み時間を短縮することが可能である。
【０３１０】
［実施の形態６］
以上の説明では、データラッチ回路を４つとしたが、データラッチ回路の個数としては、データ出力用に１つ、データをＮＯＲ演算するために１つ、各ビット間でのＯＲ演算を行なうための１つの計３つあれば、十分である。
【０３１１】
以下では、１６値のメモリセルへのデータの書き込みにあたり、３個のデータラッチ回路ＤＬ−１〜ＤＬ−３でデータ書込みを行なう場合の処理の流れを説明する。
【０３１２】
図８８〜１１７は、書込動作の第１〜第１５の処理ステップにおいて、データラッチＤＬ−１〜ＤＬ−３ならびにセンスラッチＳＬに保持されるデータおよび書込時のメモリセルのしきい値と判定レベルを示す概念図である。
【０３１３】
図８８は、書込動作の第１の処理ステップにおける各ラッチに保持されるデータを示し、図８９は、書込動作の第１の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０３１４】
まず、書込動作が行われるメモリセルブロックについては、全てのメモリセルについてデータ“１１１１”に対応するしきい値とされる。
【０３１５】
次に、図８８および図８９を参照して、書込動作の第１の処理ステップにおいては、入力されたデータ（１６進表現で００ｈとＦＦｈ）をデータラッチＤＬ−１に格納し、センスラッチＳＬに転送する。第８の判定レベルＶｊ８に基づいて、レベル９に相当するしきい値までの書込みを行う。この後、データラッチＤＬ−１はクリアされる。この第８の判定レベルＶｊ８での書込み動作中に、残りのデータのうち２バイト分のデータがさらにデータラッチＤＬ−２に格納される。
【０３１６】
ここで、再び、第８の判定レベルＶｊ８で読出を行ない、読出データをセンスラッチＳＬに格納する。
【０３１７】
図９０は、書込動作の第２の処理ステップにおける各ラッチに保持されるデータを示し、図９１は、書込動作の第２の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０３１８】
次に、図９０および図９１を参照して、書込動作の第２の処理ステップにおいては、書込データ変換回路２３０は、センスラッチＳＬとデータラッチＤＬ−２に含まれるデータについて、対応するビットデータの組について演算することで、センスラッチＳＬに保持されるビットが“１”であって、データラッチＤＬ−２に保持されるビットが“０”となっているデータに対応するセンスラッチＳＬのビットデータのみを“０”レベルとする。
【０３１９】
このようにしてセンスラチＳＬに保持されたデータに基づいて、センスラッチＳＬの各ビットにそれぞれ対応するメモリセルＭＣ０〜ＭＣ１５にデータの書込が行なわれる。ここで、ベリファイ動作の判定値としては第４番目の判定値Ｖｊ４を用い、しきい値レベルのレベル１からレベル５まで書込みを行なう。
【０３２０】
さらに、図９０および図９１を参照して、書込動作の第２の処理ステップにおいても、第８の判定レベルＶｊ８で読出を行ない、読出データをセンスラッチＳＬに格納する。書込データ変換回路２３０は、センスラッチ回路ＳＬ、ＤＬ−２に含まれるデータについて、対応するビットデータの組について演算することで、センスラッチＳＬに保持されるビットが“０”であって、データラッチＤＬ−２に保持されるビットが“１”となっているデータに対応するセンスラッチＳＬのビットデータのみを“０”レベルとする。
【０３２１】
このようにしてセンスラッチＳＬに保持されたデータに基づいて、センスラッチＳＬの各ビットにそれぞれ対応するメモリセルＭＣ０〜ＭＣ１５に、第１２の判定レベルＶｊ１２に応じてしきい値レベルのレベル９からレベル１３まで書込みが行なわれる。
【０３２２】
一方、レベル１３までのデータの書込みが行なわれている期間中に、データラッチＤＬ−３に残りの２バイトのデータがさらに格納される。
【０３２３】
なお、上記書込動作の第２の処理ステップまでの動作では、判定レベルＶｊ８での読出動作をその都度行なう代わりに、データラッチＤＬ−１をクリアせずにデータを保持し、読出動作でセンスラッチＳＬに保持されるデータの代わりに、データラッチＤＬ−１中のデータを用いても良い。ただし、以上の説明では、以下の手続きとの整合をとるために、判定レベルＶｊ８での読出動作を行なうこととしている。
【０３２４】
図９２は、書込動作の第３の処理ステップにおける各ラッチに保持されるデータを示し、図９３は、書込動作の第３の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０３２５】
図９２および図９３を参照して、書込動作の第３の処理ステップにおいては、まず、第８の判定レベルＶｊ８でデータの読出が行なわれ、読み出されたデータがセンスラッチＳＬに格納される。制御回路２１０は、センスラッチＳＬの反転データをデータラッチＤＬ−１に転送する。
【０３２６】
図９４は、書込動作の第４の処理ステップにおける各ラッチに保持されるデータを示し、図９５は、書込動作の第４の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０３２７】
書込動作の第４の処理ステップにおいては、まず、第４の判定レベルＶｊ４でデータの読出が行なわれ、読み出されたデータがセンスラッチＳＬに格納される。
【０３２８】
書込みデータ変換回路２３０は、センスラッチＳＬとデータラッチＤＬ−１に含まれるデータについて、対応するビットデータの組についてＯＲ演算した結果をデータラッチＤＬ１に格納する。
【０３２９】
図９６は、書込動作の第５の処理ステップにおける各ラッチに保持されるデータを示し、図９７は、書込動作の第５の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０３３０】
書込みデータ変換回路２３０は、データラッチＤＬ―３とセンスラッチＳＬとに含まれるデータについて、対応するビットデータの組について演算し、データラッチＤＬ−３に保持されるビットが“１”であって、センスラッチＳＬに保持されるビットが“１”となっているデータに対応するセンスラッチＳＬのビットデータのみを“０”レベルとする。
【０３３１】
このようにしてセンスラチＳＬに保持されたデータに基づいて、判定レベルＶｊ２をベリファイ電圧として、センスラッチＳＬの各ビットにそれぞれ対応するメモリセルＭＣ０〜ＭＣ１５に、しきい値レベルのレベル１からレベル３へデータの書込が行なわれる。
【０３３２】
この第２の判定レベルＶｊ２での書込み動作中に、残りの２バイトのデータがデータラッチＤＬ−２に格納される。
【０３３３】
図９８は、書込動作の第６の処理ステップにおける各ラッチに保持されるデータを示し、図９９は、書込動作の第６の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０３３４】
書込みデータ変換回路２３０は、データラッチＤＬ―１とデータラッチＤＬ−３とに含まれるデータについて、対応するビットデータの組について演算し、データラッチＤＬ−１に保持されるビットが“０”であって、データラッチＤＬ−３に保持されるビットが“１”となっているデータに対応するセンスラッチＳＬのビットデータのみを“０”レベルとする。
【０３３５】
このようにしてセンスラチＳＬに保持されたデータに基づいて、判定レベルＶｊ６をベリファイ電圧として、センスラッチＳＬの各ビットにそれぞれ対応するメモリセルＭＣ０〜ＭＣ１５に、しきい値レベルのレベル５からレベル７へデータの書込が行なわれる。
【０３３６】
図１００は、書込動作の第７の処理ステップにおける各ラッチに保持されるデータを示し、図１０１は、書込動作の第７の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０３３７】
書込み動作の第７の処理ステップでは、第８の判定レベルＶｊ８でデータを読出し、センスラッチＳＬに格納後、制御回路２１０は、センスラッチＳＬからデータラッチＤＬ−１にデータを転送する。
【０３３８】
図１０２は、書込動作の第８の処理ステップにおける各ラッチに保持されるデータを示し、図１０３は、書込動作の第８の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０３３９】
書込み動作の第８の処理ステップでは、第１２の判定レベルＶｊ１２でデータを読出し、センスラッチＳＬに格納する。
【０３４０】
書込みデータ変換回路２３０は、センスラッチＳＬに保持されるデータの反転データとデータラッチＤＬ−１とに含まれるデータについて、対応するビットデータの組についてＯＲ演算し、演算結果をデータラッチＤＬ−１に格納する。
【０３４１】
図１０４は、書込動作の第９の処理ステップにおける各ラッチに保持されるデータを示し、図１０５は、書込動作の第９の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０３４２】
書込みデータ変換回路２３０は、データラッチＤＬ―１とデータラッチＤＬ−３とに含まれるデータについて、対応するビットデータの組について演算し、データラッチＤＬ−１に保持されるビットが“０”であって、データラッチＤＬ−３に保持されるビットが“０”となっているデータに対応するセンスラッチＳＬのビットデータのみを“０”レベルとする。
【０３４３】
このようにしてセンスラチＳＬに保持されたデータに基づいて、判定レベルＶｊ１０をベリファイ電圧として、センスラッチＳＬの各ビットにそれぞれ対応するメモリセルＭＣ０〜ＭＣ１５に、しきい値レベルのレベル９からレベル１１のデータの書込が行なわれる。
【０３４４】
図１０６は、書込動作の第１０の処理ステップにおける各ラッチに保持されるデータを示し、図１０７は、書込動作の第１０の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０３４５】
書込み動作の第１０の処理ステップでは、第１２の判定レベルＶｊ１２でデータが読出され、センスラッチＳＬに格納される。
【０３４６】
書込みデータ変換回路２３０は、センスラッチＳＬとデータラッチＤＬ−３とに含まれるデータについて、対応するビットデータの組について演算し、センスラッチに保持されるビットが“０”であって、データラッチＤＬ−３に保持されるビットが“１”となっているデータに対応するセンスラッチＳＬのビットデータのみを“０”レベルとする。
【０３４７】
図１０８は、書込動作の第１１の処理ステップにおける各ラッチに保持されるデータを示し、図１０９は、書込動作の第１１の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０３４８】
書込動作の第１１の処理ステップにおいて、センスラチＳＬに保持されたデータに基づいて、判定レベルＶｊ１４をベリファイ電圧として、センスラッチＳＬの各ビットにそれぞれ対応するメモリセルＭＣ０〜ＭＣ１５に、しきい値レベルのレベル１３からレベル１５のデータの書込が行なわれる。
【０３４９】
図１１０は、書込動作の第１２の処理ステップにおける各ラッチに保持されるデータを示し、図１１１は、書込動作の第１２の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０３５０】
書込み動作の第１２の処理ステップでは、第２の判定レベルＶｊ２でデータが読出され、センスラッチＳＬに格納される。制御回路２１０は、センスラッチＳＬのデータをデータラッチＤＬ１へ転送する。
【０３５１】
書込みデータ変換回路２３０は、センスラッチＳＬとデータラッチＤＬ−２とに含まれるデータについて、対応するビットデータの組について演算し、センスラッチに保持されるビットが“１”であって、データラッチＤＬ−２に保持されるビットが“０”となっているデータに対応するセンスラッチＳＬのビットデータのみを“０”レベルとする。
【０３５２】
図１１２は、書込動作の第１３の処理ステップにおける各ラッチに保持されるデータを示し、図１１３は、書込動作の第１３の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０３５３】
書込動作の第１３の処理ステップにおいて、センスラチＳＬに保持されたデータに基づいて、判定レベルＶｊ１をベリファイ電圧として、センスラッチＳＬの各ビットにそれぞれ対応するメモリセルＭＣ０〜ＭＣ１５に、しきい値レベルのレベル１からレベル２へのデータの書込が行なわれる。
【０３５４】
図１１４は、書込動作の第１４の処理ステップにおける各ラッチに保持されるデータを示し、図１１５は、書込動作の第１４の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０３５５】
書込み動作の第１４の処理ステップでは、第４の判定レベルＶｊ４でデータが読出され、センスラッチＳＬに格納される。
【０３５６】
書込みデータ変換回路２３０は、センスラッチＳＬに保持されるデータの反転データとデータラッチＤＬ−１とに含まれるデータについて、対応するビットデータの組についてＯＲ演算し、演算結果をデータラッチＤＬ−１に格納する。
【０３５７】
図１１６は、書込動作の第１５の処理ステップにおける各ラッチに保持されるデータを示し、図１１７は、書込動作の第１５の処理ステップにおけるメモリセルのしきい値と判定レベルを示す。
【０３５８】
書込みデータ変換回路２３０は、データラッチＤＬ１ととデータラッチＤＬ−２とに含まれるデータについて、対応するビットデータの組について演算し、データラッチＤＬ−１に保持されるビットが“０”であって、データラッチＤＬ−２に保持されるビットが“１”となっているデータに対応するセンスラッチＳＬのビットデータのみを“０”レベルとする。
【０３５９】
このようにしてセンスラチＳＬに保持されたデータに基づいて、判定レベルＶｊ３をベリファイ電圧として、センスラッチＳＬの各ビットにそれぞれ対応するメモリセルＭＣ０〜ＭＣ１５に、しきい値レベルのレベル３からレベル４へのデータの書込が行なわれる。
【０３６０】
以下同様にして、レベル６、８、１０、１２、１４、１６への書込みを行なう。
すなわち、２値に識別できる判定レベルでの書込みを行ない、以下、各処理レベルにおいて、４値、８値、…、２n値に識別できるレベルでの書込みを行なう。各処理レベルでは、先に書込みを行なった判定レベル（たとえば、４値の処理レベルから８値の処理レベルになった場合には、４値を判別できる３つの判定レベル）のうちから２つずつ（上下端では１つ）を選んで読出を行ない、その処理レベルで書込みを行なうべきビットデータを確定し、書込みを行なう。
【０３６１】
以上説明した通り、実施の形態６の１６値フラッシュメモリでは、データラッチ回路の個数を削減して、１６値のデータを保持するメモリセルからのデータ書込みを行なう事が可能である。
【０３６２】
以上の説明では、判定レベルの低い方からデータの書込みを行なうこととしているが、逆に、判定レベルの高い方からデータの書込みを行なうこととしてもよい。
【０３６３】
なお、実施の形態４の４値メモリセルへの書込みと同様に、しきい値レベルのレベル５とレベル１３までの書込み、レベル３とレベル１１までの書込み、レベル７とレベル１５までの書込み、レベル２とレベル１０までの書込み、レベル４とレベル１２までの書込み、レベル６とレベル１４までの書込み、レベル８とレベル１６までの書込みを、それぞれ同時に行なうことも可能である。これらの組合せでは、どれもしきい値電圧の上げ幅も、各々の組のレベル差（しきい値電圧差）も等しいため、同様のドレイン電圧の組を用いることが可能である。
【０３６４】
以上の説明では、１６値のデータを格納するメモリセルを例として示したが、より一般に、２n値のデータを格納するメモリセルにも本発明を適用することが可能である。
【０３６５】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０３６６】
【図１】本発明の実施の形態１の不揮発性半導体記憶装置であるフラッシュメモリ１０００の構成を示す概略ブロック図である。
【図２】読出動作の第１の処理ステップにおける各ラッチに保持されるデータを示ず図である。
【図３】読出動作の第１の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図４】読出動作の第２の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図５】読出動作の第２の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図６】読出動作の第３の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図７】読出動作の第３の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図８】実施の形態１のフラッシュメモリ１０００の読出動作を説明するためのタイミングチャートである。
【図９】１回の読出処理で、上位および下位ビットのいずれも確定できないような書込みレベルと書込みデータの対応付けの第１の例を示す図である。
【図１０】１回の読出処理で、上位および下位ビットのいずれも確定できないような書込みレベルと書込みデータの対応付けの第２の例を示す図である。
【図１１】１回の読出処理で、上位および下位ビットのいずれも確定できないような書込みレベルと書込みデータの対応付けの第３の例を示す図である。
【図１２】１回の読出処理で、上位および下位ビットのいずれも確定できないような書込みレベルと書込みデータの対応付けの第４の例を示す図である。
【図１３】実施の形態１の変形例２の読出動作の第２の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図１４】実施の形態１の変形例２の読出動作の第２の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図１５】実施の形態１の変形例２のフラッシュメモリの読出動作を説明するためのタイミングチャートである。
【図１６】センスラッチ回路１２０とビット線との接続の切り換え方式の概念を示す図である。
【図１７】図１６において示した概念を具体的に実現するための回路構成を示す図である。
【図１８】読出動作の第１の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図１９】読出動作の第１の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図２０】読出動作の第２の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図２１】読出動作の第２の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図２２】読出動作の第３の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図２３】読出動作の第３の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図２４】読出動作の第４の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図２５】読出動作の第４の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図２６】読出動作の第５の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図２７】読出動作の第５の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図２８】読出動作の第６の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図２９】読出動作の第６の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である
【図３０】実施の形態２のフラッシュメモリの読出動作を説明するためのタイミングチャートである。
【図３１】書込動作の第１の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図３２】書込動作の第１の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図３３】書込動作の第２の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図３４】書込動作の第２の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図３５】書込動作の第３の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図３６】書込動作の第３の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図３７】実施の形態３のフラッシュメモリ１０００の書込動作を説明するためのタイミングチャートである。
【図３８】書込動作の第２の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図３９】書込動作の第２の処理ステップにおける読出し動作のメモリセルのしきい値と判定レベルを示す図である。
【図４０】書込動作の第２の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図４１】書込動作の第２の処理ステップにおける書込み動作のメモリセルのしきい値と判定レベルを示す図である。
【図４２】実施の形態１の手順で書込み可能な書込みデータとメモリセルトランジスタのしきい値のレベルとの対応づけを示す図である。
【図４３】実施の形態１の手順で書込みできない書込みデータとメモリセルトランジスタのしきい値のレベルとの対応づけを示す図である。
【図４４】実施の形態５の読出動作の第１の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図４５】実施の形態５の読出動作の第１の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図４６】実施の形態５の読出動作の第２の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図４７】実施の形態５の読出動作の第２の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図４８】実施の形態５の読出動作の第３の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図４９】実施の形態５の読出動作の第３の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図５０】実施の形態５の読出動作の第４の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図５１】実施の形態５の読出動作の第４の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図５２】実施の形態５の読出動作の第５の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図５３】実施の形態５の読出動作の第５の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図５４】実施の形態５の読出動作の第６の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図５５】実施の形態５の読出動作の第６の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図５６】実施の形態５の読出動作の第７の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図５７】実施の形態５の読出動作の第７の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図５８】実施の形態５の読出動作の第８の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図５９】実施の形態５の読出動作の第８の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図６０】実施の形態５の読出動作の第９の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図６１】実施の形態５の読出動作の第９の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図６２】実施の形態５の読出動作の第１０の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図６３】実施の形態５の読出動作の第１０の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図６４】実施の形態５の読出動作の第１１の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図６５】実施の形態５の読出動作の第１１の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図６６】実施の形態５の読出動作の第１２の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図６７】実施の形態５の読出動作の第１２の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図６８】実施の形態５の読出動作の第１３の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図６９】実施の形態５の読出動作の第１３の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図７０】実施の形態５の読出動作の第１４の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図７１】実施の形態５の読出動作の第１４の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図７２】実施の形態５の読出動作の第１５の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図７３】実施の形態５の読出動作の第１５の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図７４】実施の形態５の読出動作の第１６の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図７５】実施の形態５の読出動作の第１６の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図７６】実施の形態５の読出動作の第１７の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図７７】実施の形態５の読出動作の第１７の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図７８】実施の形態５の読出動作の第１８の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図７９】実施の形態５の読出動作の第１８の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図８０】実施の形態５の読出動作の第１９の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図８１】実施の形態５の読出動作の第１９の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図８２】実施の形態５の書込動作の第１の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図８３】実施の形態５の書込動作の第１の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図８４】実施の形態５の書込動作の第２および３の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図８５】実施の形態５の書込動作の第２および３の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図８６】実施の形態５の書込動作の第４〜７の処理ステップにおける各ラッチに保持されるデータを示ず図である。
【図８７】実施の形態５の書込動作の第４〜７の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図８８】実施の形態６の書込動作の第１の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図８９】実施の形態６の書込動作の第１の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図９０】実施の形態６の書込動作の第２の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図９１】実施の形態６の書込動作の第２の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図９２】実施の形態６の書込動作の第３の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図９３】実施の形態６の書込動作の第３の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図９４】実施の形態６の書込動作の第４の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図９５】実施の形態６の書込動作の第４の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図９６】実施の形態６の書込動作の第５の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図９７】実施の形態６の書込動作の第５の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図９８】実施の形態６の書込動作の第６の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図９９】実施の形態６の書込動作の第６の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図１００】実施の形態６の書込動作の第７の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図１０１】実施の形態６の書込動作の第７の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図１０２】実施の形態６の書込動作の第８の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図１０３】実施の形態６の書込動作の第８の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図１０４】実施の形態６の書込動作の第９の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図１０５】実施の形態６の書込動作の第９の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図１０６】実施の形態６の書込動作の第１０の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図１０７】実施の形態６の書込動作の第１０の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図１０８】実施の形態６の書込動作の第１１の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図１０９】実施の形態６の書込動作の第１１の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図１１０】実施の形態６の書込動作の第１２の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図１１１】実施の形態６の書込動作の第１２の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図１１２】実施の形態６の書込動作の第１３の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図１１３】実施の形態６の書込動作の第１３の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図１１４】実施の形態６の書込動作の第１４の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図１１５】実施の形態６の書込動作の第１４の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図１１６】実施の形態６の書込動作の第１５の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図１１７】実施の形態６の書込動作の第１５の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図１１８】従来のＡＮＤ型フラッシュメモリ８０００の全体的な構成を示す概略ブロック図である。
【図１１９】従来の２値ＡＮＤ型フラッシュメモリの書込みデータと、メモリセルトランジスタのしきい値との関係を示す図である。
【図１２０】従来の４値ＡＮＤ型フラッシュメモリ８０００の書込みデータと、メモリセルトランジスタのしきい値との関係を示す図である。
【図１２１】従来の書込み動作の第１の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図１２２】従来の書込み動作の第１の処理ステップにおけるメモリセルのしきい値を示す図である。
【図１２３】従来の書込み動作の第２の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図１２４】従来の書込み動作の第２の処理ステップにおけるメモリセルのしきい値を示す図である。
【図１２５】従来の書込み動作の第３の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図１２６】従来の書込み動作の第３の処理ステップにおけるメモリセルのしきい値を示す図である。
【図１２７】従来の読出動作の第１の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図１２８】従来の読出動作の第１の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図１２９】従来の読出動作の第２の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図１３０】従来の読出動作の第２の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【図１３１】従来の読出動作の第３の処理ステップにおける各ラッチに保持されるデータを示す図である。
【図１３２】従来の読出動作の第３の処理ステップにおけるメモリセルのしきい値と判定レベルを示す図である。
【符号の説明】
【０３６７】
１０  データ入出力端子、１２  アドレス信号入力端子、１４  コマンド信号入力端子、１８、２０  信号線、１００  メモリセルアレイ、１１０  ロウデコーダ、１２０  センスラッチ回路、１３０  コラムデコーダ、１４２  データ入出力バッファ、１４４  コマンド信号入力バッファ、１４６  アドレス信号入力バッファ、１５０  電源発生部、２００  チップコントロール回路、２１０  制御回路、２２０  読出データ変換回路、２３０  書込みデータ変換回路、１０００  不揮発性半導体記憶回路。
【図１】
2006085901.tif 000005
【図２】
2006085901.tif 000006
【図３】
2006085901.tif 000007
【図４】
2006085901.tif 000008
【図５】
2006085901.tif 000009
【図６】
2006085901.tif 000010
【図７】
2006085901.tif 000011
【図８】
2006085901.tif 000012
【図９】
2006085901.tif 000013
【図１０】
2006085901.tif 000014
【図１１】
2006085901.tif 000015
【図１２】
2006085901.tif 000016
【図１３】
2006085901.tif 000017
【図１４】
2006085901.tif 000018
【図１５】
2006085901.tif 000019
【図１６】
2006085901.tif 000020
【図１７】
2006085901.tif 000021
【図１８】
2006085901.tif 000022
【図１９】
2006085901.tif 000023
【図２０】
2006085901.tif 000024
【図２１】
2006085901.tif 000025
【図２２】
2006085901.tif 000026
【図２３】
2006085901.tif 000027
【図２４】
2006085901.tif 000028
【図２５】
2006085901.tif 000029
【図２６】
2006085901.tif 000030
【図２７】
2006085901.tif 000031
【図２８】
2006085901.tif 000032
【図２９】
2006085901.tif 000033
【図３０】
2006085901.tif 000034
【図３１】
2006085901.tif 000035
【図３２】
2006085901.tif 000036
【図３３】
2006085901.tif 000037
【図３４】
2006085901.tif 000038
【図３５】
2006085901.tif 000039
【図３６】
2006085901.tif 000040
【図３７】
2006085901.tif 000041
【図３８】
2006085901.tif 000042
【図３９】
2006085901.tif 000043
【図４０】
2006085901.tif 000044
【図４１】
2006085901.tif 000045
【図４２】
2006085901.tif 000046
【図４３】
2006085901.tif 000047
【図４４】
2006085901.tif 000048
【図４５】
2006085901.tif 000049
【図４６】
2006085901.tif 000050
【図４７】
2006085901.tif 000051
【図４８】
2006085901.tif 000052
【図４９】
2006085901.tif 000053
【図５０】
2006085901.tif 000054
【図５１】
2006085901.tif 000055
【図５２】
2006085901.tif 000056
【図５３】
2006085901.tif 000057
【図５４】
2006085901.tif 000058
【図５５】
2006085901.tif 000059
【図５６】
2006085901.tif 000060
【図５７】
2006085901.tif 000061
【図５８】
2006085901.tif 000062
【図５９】
2006085901.tif 000063
【図６０】
2006085901.tif 000064
【図６１】
2006085901.tif 000065
【図６２】
2006085901.tif 000066
【図６３】
2006085901.tif 000067
【図６４】
2006085901.tif 000068
【図６５】
2006085901.tif 000069
【図６６】
2006085901.tif 000070
【図６７】
2006085901.tif 000071
【図６８】
2006085901.tif 000072
【図６９】
2006085901.tif 000073
【図７０】
2006085901.tif 000074
【図７１】
2006085901.tif 000075
【図７２】
2006085901.tif 000076
【図７３】
2006085901.tif 000077
【図７４】
2006085901.tif 000078
【図７５】
2006085901.tif 000079
【図７６】
2006085901.tif 000080
【図７７】
2006085901.tif 000081
【図７８】
2006085901.tif 000082
【図７９】
2006085901.tif 000083
【図８０】
2006085901.tif 000084
【図８１】
2006085901.tif 000085
【図８２】
2006085901.tif 000086
【図８３】
2006085901.tif 000087
【図８４】
2006085901.tif 000088
【図８５】
2006085901.tif 000089
【図８６】
2006085901.tif 000090
【図８７】
2006085901.tif 000091
【図８８】
2006085901.tif 000092
【図８９】
2006085901.tif 000093
【図９０】
2006085901.tif 000094
【図９１】
2006085901.tif 000095
【図９２】
2006085901.tif 000096
【図９３】
2006085901.tif 000097
【図９４】
2006085901.tif 000098
【図９５】
2006085901.tif 000099
【図９６】
2006085901.tif 000100
【図９７】
2006085901.tif 000101
【図９８】
2006085901.tif 000102
【図９９】
2006085901.tif 000103
【図１００】
2006085901.tif 000104
【図１０１】
2006085901.tif 000105
【図１０２】
2006085901.tif 000106
【図１０３】
2006085901.tif 000107
【図１０４】
2006085901.tif 000108
【図１０５】
2006085901.tif 000109
【図１０６】
2006085901.tif 000110
【図１０７】
2006085901.tif 000111
【図１０８】
2006085901.tif 000112
【図１０９】
2006085901.tif 000113
【図１１０】
2006085901.tif 000114
【図１１１】
2006085901.tif 000115
【図１１２】
2006085901.tif 000116
【図１１３】
2006085901.tif 000117
【図１１４】
2006085901.tif 000118
【図１１５】
2006085901.tif 000119
【図１１６】
2006085901.tif 000120
【図１１７】
2006085901.tif 000121
【図１１８】
2006085901.tif 000122
【図１１９】
2006085901.tif 000123
【図１２０】
2006085901.tif 000124
【図１２１】
2006085901.tif 000125
【図１２２】
2006085901.tif 000126
【図１２３】
2006085901.tif 000127
【図１２４】
2006085901.tif 000128
【図１２５】
2006085901.tif 000129
【図１２６】
2006085901.tif 000130
【図１２７】
2006085901.tif 000131
【図１２８】
2006085901.tif 000132
【図１２９】
2006085901.tif 000133
【図１３０】
2006085901.tif 000134
【図１３１】
2006085901.tif 000135
【図１３２】
2006085901.tif 000136