(57)【要約】【課題】回路規模の増大を抑制しつつ、動作性能を向上出来る半導体記憶装置のデータの読み出し方法を提供すること。【解決手段】複数のメモリセルＭＴと、カラム毎に対応付けて設けられた複数のラッチ回路１１とを備えた半導体記憶装置１のデータ読み出し方法であって、いずれかのカラムに関連付けられたメモリセルＭＴから、対応するラッチ回路１１にフラグデータを読み出すステップＳ２２と、対象とするラッチ回路１１をシフトさせつつ、いずれかのラッチ回路１１を順次選択するステップＳ２５〜Ｓ２７と、Ｎ回目（Ｎは０以上の自然数）のシフトにおいて選択したラッチ回路１１から、フラグデータを読み出すステップＳ２８とを具備する。【選択図】図９
2011040124.tif 000002
【特許請求の範囲】
【請求項１】
ロウ及びカラムに関連付けられた、データ保持可能な複数のメモリセルと、前記カラム毎に対応付けて設けられた複数のラッチ回路と、を備えた半導体記憶装置のデータ読み出し方法であって、
いずれかの前記カラムに関連付けられた前記メモリセルから、対応する前記ラッチ回路にフラグデータを読み出すステップと、
対象とする前記ラッチ回路をシフトさせつつ、いずれかの前記ラッチ回路を順次選択するステップと、
Ｎ回目（Ｎは０以上の整数）の前記シフトにおいて選択した前記ラッチ回路から、前記フラグデータを読み出すステップと
を具備することを特徴とする半導体記憶装置のデータ読み出し方法。
【請求項２】
前記フラグデータをいずれかの前記ラッチ回路に保持させるステップと、
対象とする前記ラッチ回路をシフトさせつつ、いずれかの前記ラッチ回路を順次選択するステップと、
前記ラッチ回路を選択する度に、該ラッチ回路内のデータが前記フラグデータであるか否かを判定するステップと
を更に備え、前記データが前記フラグデータであると判定された前記ラッチ回路を選択した際の前記シフト回数を前記Ｎとする
ことを特徴とする請求項１記載の半導体記憶装置のデータ読み出し方法。
【請求項３】
前記フラグデータは、読み出し対象となるメモリセルが保持可能な情報量に相当する
ことを特徴とする請求項１記載の半導体記憶装置のデータ読み出し方法。
【請求項４】
閾値レベルに応じて２ビット以上のデータを保持可能な複数のメモリセルから一括してデータを読み出し可能な半導体記憶装置のデータ読み出し方法であって、
前記２ビット以上のデータのうち、最も閾値レベルの高いデータの有無を判別するための読み出しレベルを用いて、複数の前記メモリセルから一括して前記データを読み出すステップと、
前記最も閾値レベルの高いデータを有する前記メモリセルの数に応じて、前記一括して読み出された前記データが、２ビット以上の情報であるか、または１ビットの情報であるかを判断するステップと
を具備することを特徴とする半導体記憶装置のデータ読み出し方法。
【請求項５】
前記一括して読み出された前記データは、読み出し対象となる前記メモリセルが保持可能な情報量に相当するフラグデータを含み、
前記フラグデータは、前記最も高い閾値レベルによって前記メモリセルに書き込まれる
ことを特徴とする請求項４記載の半導体記憶装置のデータ読み出し方法。
【請求項６】
前記判断するステップは、前記一括して読み出されたデータのうちの一部を用いて実行される
ことを特徴とする請求項４記載の半導体記憶装置のデータ読み出し方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、半導体記憶装置のデータ読み出し方法に関する。例えば、多値ＮＡＮＤ型フラッシュメモリに関する。
【背景技術】
【０００２】
従来、メモリセルの各々が２ビット以上のデータを保持可能な、多値（multi-level）ＮＡＮＤ型フラッシュメモリが知られている。また多値ＮＡＮＤ型フラッシュメモリでは、各メモリセルがどのページまで書き込まれているか（例えば、下位ページまでしか書き込まれていないのか、それとも上位ページまで書き込まれているのか等）、を示すフラグデータを使用することが知られている（例えば、特許文献１参照）。データの読み出しの際には、予めこのフラグデータを確認しておくことで、適切な読み出し動作が可能となる。
【０００３】
しかしながら、上記従来の手法であると、フラグデータの確認のために時間がかかり、ＮＡＮＤ型フラッシュメモリの動作の高速化が妨げられ、または回路規模が大きくなる、という問題があった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３９３５１３９号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
この発明は、回路規模の増大を抑制しつつ、動作性能を向上出来る半導体記憶装置のデータの読み出し方法を提供する。
【課題を解決するための手段】
【０００６】
この発明の一態様に係る半導体記憶装置のデータの読み出し方法は、ロウ及びカラムに関連付けられた、データ保持可能な複数のメモリセルと、前記カラム毎に対応付けて設けられた複数のラッチ回路と、を備えた半導体記憶装置のデータ読み出し方法であって、いずれかの前記カラムに関連付けられた前記メモリセルから、対応する前記ラッチ回路にフラグデータを読み出すステップと、対象とする前記ラッチ回路をシフトさせつつ、いずれかの前記ラッチ回路を順次選択するステップと、Ｎ回目（Ｎは０以上の自然数）の前記シフトにおいて選択した前記ラッチ回路から、前記フラグデータを読み出すステップとを具備する。
【発明の効果】
【０００７】
本発明によれば、回路規模の増大を抑制しつつ、動作性能を向上出来る半導体記憶装置のデータの読み出し方法を提供出来る。
【図面の簡単な説明】
【０００８】
【図１】この発明の第１実施形態に係るフラッシュメモリのブロック図。
【図２】この発明の第１実施形態に係るメモリセルの閾値分布を示すグラフ。
【図３】この発明の第１実施形態に係るページバッファ及びパス／フェイル回路のブロック図。
【図４】データの書き込み時におけるＮＡＮＤセルの回路図。
【図５】データの読み出し時におけるＮＡＮＤセルの回路図。
【図６】この発明の第１実施形態に係るフラッシュメモリの動作を示すフローチャート。
【図７】この発明の第１実施形態に係るページバッファ及びパス／フェイル回路のブロック図。
【図８】この発明の第１実施形態に係るページバッファ及びパス／フェイル回路のブロック図。
【図９】この発明の第１実施形態に係るフラッシュメモリの動作を示すフローチャート。
【図１０】この発明の第１実施形態に係るフラッシュメモリの動作を示すフローチャート。
【図１１】この発明の第１実施形態に係るフラッシュメモリの動作を示すフローチャート。
【図１２】この発明の第１の実施形態に係るページバッファの概念図。
【図１３】この発明の第２実施形態に係るメモリセルの閾値分布を示すグラフ。
【図１４】この発明の第２実施形態に係るフラッシュメモリの動作を示すフローチャート。
【図１５】この発明の第２実施形態に係るフラッシュメモリの動作を示すフローチャート。
【図１６】この発明の第３実施形態に係るフラッシュメモリのブロック図。
【図１７】この発明の第２、第３実施形態の変形例に係るフラッシュメモリにおける、ワード線の電位変化を示すタイミングチャート。
【発明を実施するための形態】
【０００９】
以下、この発明の実施形態につき図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【００１０】
［第１の実施形態］  
この発明の第１の実施形態に係る半導体記憶装置のデータ読み出し方法について、多値ＮＡＮＤ型フラッシュメモリを例に挙げて説明する。
【００１１】
＜ＮＡＮＤ型フラッシュメモリの全体構成について＞  
図１は、本実施形態に係る４値（4-levels）ＮＡＮＤ型フラッシュメモリのブロック図である。図示するようにＮＡＮＤ型フラッシュメモリ１は、メモリセルアレイ２、ロウデコーダ３、カラムデコーダ４、ページバッファ５、パス／フェイル（Pass/fail）回路６、及び制御回路７を備えている。
【００１２】
図示するようにメモリセルアレイ２は、複数のＮＡＮＤセル８を備えている。ＮＡＮＤセル８の各々は、例えば３２個のメモリセルトランジスタＭＴ０〜ＭＴ３１と、選択トランジスタＳＴ１、ＳＴ２とを含んでいる。以下、メモリセルトランジスタＭＴ０〜ＭＴ３１を区別しない場合には、一括してメモリセルトランジスタＭＴと呼ぶことにする。メモリセルトランジスタＭＴは、半導体基板上にゲート絶縁膜を介在して形成された電荷蓄積層（例えば浮遊ゲート）と、電荷蓄積層上にゲート間絶縁膜を介在して形成された制御ゲートとを有する積層ゲート構造を備えている。なお、メモリセルトランジスタＭＴの個数は３２個に限られず、８個や１６個、６４個、１２８個、２５６個等であってもよく、その数は限定されるものではない。また、電荷蓄積層は絶縁物を材料に用いて形成されても良い。メモリセルトランジスタＭＴは、隣接するもの同士でソース、ドレインを共有している。そして、選択トランジスタＳＴ１、ＳＴ２間に、その電流経路が直列接続されるようにして配置されている。直列接続されたメモリセルトランジスタＭＴの一端側のドレインは選択トランジスタＳＴ１のソースに接続され、他端側のソースは選択トランジスタＳＴ２のドレインに接続されている。
【００１３】
同一行にあるメモリセルトランジスタＭＴの制御ゲートはワード線ＷＬ０〜ＷＬ３１のいずれかに共通接続され、同一行にある選択トランジスタＳＴ１、ＳＴ２のゲートは、それぞれセレクトゲート線ＳＧＤ、ＳＧＳに共通接続されている。以下ではワード線ＷＬ０〜ＷＬ３１を単にワード線ＷＬと呼ぶことがある。更に、選択トランジスタＳＴ１のドレインはビット線ＢＬ０〜ＢＬｍ（ｍは１以上の自然数）のいずれかに接続され、選択トランジスタＳＴ２のソースはソース線ＳＬに共通接続される。ビット線ＢＬ０〜ＢＬｍについても、これらを区別しない場合には単にビット線ＢＬと呼ぶ。
【００１４】
以上の構成において、ワード線ＷＬ及びセレクトゲート線ＳＧＤ、ＳＧＳを共通にする複数のＮＡＮＤセル８によって、１つのブロックと呼ばれる単位が形成される。同一のブロック内のメモリセルトランジスタＭＴは、一括してデータが消去される。更に、同一のワード線ＷＬに接続された複数のメモリセルトランジスタＭＴには、一括してデータが書き込まれ、この単位はページと呼ばれる。
【００１５】
また、図１では１つのブロックのみ図示しているが、ビット線ＢＬに沿った方向に複数設けられても良い。この場合、メモリセルアレイ２内において同一列にあるＮＡＮＤセル９は、同一のビット線ＢＬに共通接続される。
【００１６】
次に、上記メモリセルトランジスタＭＴの取り得るデータについて説明する。メモリセルトランジスタＭＴは、閾値電圧に応じて例えば２ビットのデータを保持可能とされている。図２はメモリセルトランジスタＭＴの閾値分布を示すグラフであり、縦軸に閾値電圧Ｖthをとり、横軸にメモリセルトランジスタＭＴの存在確率を示したグラフである。
【００１７】
図示するように、各々のメモリセルトランジスタＭＴは４値のデータを保持出来る。より具体的には、メモリセルトランジスタＭＴは、閾値電圧Ｖthの低い順に“Ｅ”レベル、“Ａ”レベル、“Ｂ”レベル、及び“Ｃ”レベルの４種のデータを保持出来る。
【００１８】
“Ｅ”レベルは消去レベルであり、その閾値電圧ＶthＥはＶthＥ＜ＶＡである。“Ａ”レベルの閾値電圧ＶthＡは、ＶＡ＜ＶthＡ＜ＶＢである。“Ｂ”レベルの閾値電圧ＶthＢは、ＶＢ＜ＶthＢ＜ＶＣである。“Ｃ”レベルの閾値電圧ＶthＣは、ＶＣ＜ＶthＣである。
【００１９】
上記の“Ｅ”、“Ａ”、“Ｂ”、及び“Ｃ”レベルは、２進数表示でそれぞれ“１１”、“０１”、“００”、及び“１０”データに対応づけられる。この２ビットのデータの各ビットを、図２に示すように上位（upper）ビット（または上位データ）及び下位（lower）ビット（下位データ）と呼ぶ。なお、“Ｅ”〜“Ｃ”レベルと“００”〜“１１”データとの関係は図２の場合に限られるものでは無く、適宜選択出来る。
【００２０】
前述の通り、データは同一のワード線ＷＬに接続されたメモリセルトランジスタＭＴに対して、一括して書き込まれ、また読み出される。この際、データは下位ビット毎、または上位ビット毎に書き込まれ、また読み出される。従って、メモリセルトランジスタＭＴが２ビットデータを保持している場合には、１本のワード線ＷＬあたり、２つのページが割り当てられていることになる。以下、下位ビットについて一括して書き込みまたは読み出されるページを下位ページと呼び、上位ビットについて一括して書き込みまたは読み出されるページを上位ページと呼ぶ。
【００２１】
なお、電圧ＶＣを読み出しレベルに用いて行うデータの読み出し（すなわち、閾値レベルが“Ｃ”レベルなのか、“Ｂ”レベル以下なのかの判定）を、「“Ｃ”読み出し」と呼ぶ。また、電圧ＶＢを用いて行うデータの読み出し（すなわち、閾値レベルが“Ｂ”レベル以上なのか、“Ａ”レベル以下なのかの判定）を、「“Ｂ”読み出し」と呼ぶ。更に、電圧ＶＡを用いて行うデータの読み出し（すなわち、閾値レベルが“Ａ”レベル以上なのか、“Ｅ”レベルなのかの判定）を、「“Ａ”読み出し」と呼ぶ。
【００２２】
図１に戻って説明を続ける。ロウデコーダ３は、メモリセルアレイ２のロウ方向を選択する。すなわち、ワード線ＷＬを選択する。そして、選択したワード線ＷＬ及び非選択のワード線ＷＬに対して、適切な電圧を印加する。
【００２３】
ページバッファ５は、データの書き込み時には、外部から与えられる書き込みデータを一時的に保持し、これをビット線ＢＬに転送して、ページ単位で一括してデータを書き込む。またデータの読み出し時には、ページ単位でビット線ＢＬに読み出されたデータをセンス・増幅し、これを一時的に保持し、外部へ出力する。
【００２４】
カラムデコーダ４は、メモリセルアレイ２のカラム方向を選択する。すなわち、ビット線ＢＬを選択し、例えば読み出し時には、選択したビット線ＢＬに対応するデータを出力するよう、ページバッファ５に命令する。
【００２５】
パス／フェイル回路６は、例えばテスト動作時において、メモリセルアレイ２のカラムにつき不良（failure）があるか否かの情報を保持可能である。
【００２６】
制御回路７は、ＮＡＮＤ型フラッシュメモリ１全体の動作を司る。すなわち、データの書き込み時、読み出し時、及び消去時等において、ロウデコーダ３、カラムデコーダ４、ページバッファ５、及びパス／フェイル回路６の動作を制御する。
【００２７】
＜ページバッファ、パス／フェイル回路、及びメモリセルアレイの詳細について＞  
次に、上記ページバッファ５、パス／フェイル回路６、及びメモリセルアレイ２の詳細について、図３を用いて説明する。図３は、ページバッファ５、パス／フェイル回路６、及びメモリセルアレイ２のブロック図である。以下では、説明の簡単化のために、ビット線ＢＬが３２本（ｍ＝３１）である場合を例に挙げて説明する。勿論、ビット線ＢＬの本数は３２本に限定されるものでは無い。
【００２８】
まずページバッファ５について説明する。ページバッファ５は、例えば８本のビット線ＢＬ毎に対応づけられた複数のラッチ回路１０−０〜１０−３を備えている。以下において、ラッチ回路１０−０〜１０−３を区別しない場合には、まとめてラッチ回路１０と呼ぶことがある。
【００２９】
ラッチ回路１０−０はビット線ＢＬ０〜ＢＬ７に対応づけられている。そして、データの読み出し時には、ビット線ＢＬ０〜ＢＬ７に読み出されたデータを一時的に保持し、これらをそれぞれデータ線ＤＬ０〜ＤＬ７に出力する。またデータの書き込み時には、データ線ＤＬ０〜ＤＬ７から与えられるデータを一時的に保持し、これらをそれぞれビット線ＢＬ０〜ＢＬ７に転送する。
【００３０】
ラッチ回路１０−１はビット線ＢＬ８〜ＢＬ１５に対応づけられている。そして、データの読み出し時には、ビット線ＢＬ８〜ＢＬ１５に読み出されたデータを一時的に保持し、これらをそれぞれデータ線ＤＬ０〜ＤＬ７に出力する。またデータの書き込み時には、データ線ＤＬ０〜ＤＬ７から与えられるデータを一時的に保持し、これらをそれぞれビット線ＢＬ８〜ＢＬ１５に転送する。
【００３１】
ラッチ回路１０−２はビット線ＢＬ１６〜ＢＬ２３に対応づけられている。そして、データの読み出し時には、ビット線ＢＬ１６〜ＢＬ２３に読み出されたデータを一時的に保持し、これらをそれぞれデータ線ＤＬ０〜ＤＬ７に出力する。またデータの書き込み時には、データ線ＤＬ０〜ＤＬ７から与えられるデータを一時的に保持し、これらをそれぞれビット線ＢＬ１６〜ＢＬ２３に転送する。
【００３２】
ラッチ回路１０−３はビット線ＢＬ２４〜ＢＬ３１に対応づけられている。そして、データの読み出し時には、ビット線ＢＬ２４〜ＢＬ３１に読み出されたデータを一時的に保持し、これらをそれぞれデータ線ＤＬ０〜ＤＬ７に出力する。またデータの書き込み時には、データ線ＤＬ０〜ＤＬ７から与えられるデータを一時的に保持し、これらをそれぞれビット線ＢＬ２４〜ＢＬ３１に転送する。
【００３３】
通常のデータの読み出し時には、前述の通りデータは一括して読み出される。すなわち、ビット線ＢＬ０〜ＢＬ３１に同時にデータが読み出され、これらが対応するラッチ回路１０−０〜１０−３に格納される。その後、データ線ＤＬ０〜ＤＬ７を用いて、カラムデコーダ４によって選択されたラッチ回路１０から、データが外部へ出力される。逆にデータの書き込み時には、データ線ＤＬ０〜ＤＬ７を用いて、書き込みデータがラッチ回路１０−０〜１０−３に順次格納される。そして、実際にメモリセルトランジスタＭＴにデータをプログラムする際には、ラッチ回路１０−０〜１０−３からビット線ＢＬ０〜ＢＬ３１に、一括してデータが転送される。
【００３４】
次にパス／フェイル回路６について説明する。パス／フェイル回路６は、ページバッファと同様に、８本のビット線毎に対応づけられた複数のラッチ回路１１−０〜１１−３を有している。以下において、ラッチ回路１１−０〜１１−３を区別しない場合には、まとめてラッチ回路１１と呼ぶことがある。
【００３５】
ラッチ回路１１−０はビット線ＢＬ０〜ＢＬ７に対応づけられている。そして、ラッチ回路１０−０内のデータ、及びビット線ＢＬ０〜ＢＬ７に存在する不良の数を保持可能とされている。
【００３６】
ラッチ回路１１−１はビット線ＢＬ８〜ＢＬ１５に対応づけられている。そして、ラッチ回路１０−１内のデータ、及びビット線ＢＬ８〜ＢＬ１５に存在する不良の数を保持可能とされている。
【００３７】
ラッチ回路１１−２はビット線ＢＬ１６〜ＢＬ２３に対応づけられている。そして、ラッチ回路１０−２内のデータ、及びビット線ＢＬ１６〜ＢＬ２３に存在する不良の数を保持可能とされている。
【００３８】
ラッチ回路１１−３はビット線ＢＬ２４〜ＢＬ３１に対応づけられている。そして、ラッチ回路１０−３内のデータ、及びビット線ＢＬ２３〜ＢＬ３１に存在する不良の数を保持可能とされている。
【００３９】
上記構成において、ビット線ＢＬ０〜ＢＬ７をまとめてカラムＣ０と呼び、ビット線ＢＬ８〜ＢＬ１５をまとめてカラムＣ１と呼び、ビット線ＢＬ１６〜ＢＬ２３をまとめてカラムＣ２と呼び、ビット線ＢＬ２４〜ＢＬ３１をまとめてカラムＣ３と呼び、カラムＣ０〜Ｃ３を区別しない場合にはまとめてカラムＣと呼ぶことにする。すなわち、ページバッファと外部とのデータの授受は、カラムＣ単位で行われる。また、ラッチ回路１０−０〜１０−３はそれぞれ、カラムＣ０〜Ｃ３に対応づけて設けられ、ラッチ回路１１−０〜１１−３も同様である。
【００４０】
なお、以下では１つのカラムが８本のビット線を含んでいるが、８本に限定されるものでは無く、各カラムＣと各ビット線ＢＬとの対応は、図３の場合に限定されるものでは無く、適宜選択出来る。
【００４１】
また、メモリセルアレイ２においては、例えばカラムＣ０〜Ｃ２に対応する（ビット線ＢＬ０〜ＢＬ２３に接続された）メモリセルトランジスタＭＴは、正味のデータの保持用に用いられる。これに対して例えばカラムＣ３に対応する（ビット線ＢＬ２４〜ＢＬ３１に接続された）メモリセルトランジスタＭＴは、フラグデータ（ＬＭフラグとも呼ばれ得る）の保持用に用いられる。
【００４２】
フラグデータは、ワード線毎に、カラムＣ３の位置にあるメモリセルトランジスタＭＴに書き込まれる。そしてフラグデータは、当該ワード線ＷＬに接続されたメモリセルトランジスタＭＴが、下位ページまでしかデータが書き込まれていないのか、または上位ページまで書き込まれているのか、を示す情報である。
【００４３】
図２から明らかなように、下位ページまでしか書き込まれていない場合には、メモリセルトランジスタＭＴは、“Ｅ”レベルに相当する閾値を有する状態と、“Ａ”レベル以上に相当する閾値を有する状態との、２つの状態しか取り得ない。これに対して、上位ページまで書き込まれることにより、“Ｅ”、“Ａ”、“Ｂ”、及び“Ｃ”レベルの４つの状態を取り得るようになる。
【００４４】
＜データの書き込み動作について＞  
次に、上記構成のＮＡＮＤ型フラッシュメモリ１におけるデータの書き込み動作について説明する。図４は、データの書き込み時におけるＮＡＮＤセル８の回路図である。以下では、ワード線ＷＬ１に接続されたメモリセルトランジスタＭＴ１にデータを書き込む場合について説明する。
【００４５】
まず、ページバッファ５が書き込みデータをビット線ＢＬに転送する。より具体的には、電荷蓄積層に電荷を注入することによりメモリセルトランジスタＭＴの閾値を上昇させる際には、ビット線ＢＬに書き込み電圧（例えば０Ｖ）が印加される。他方、電荷を注入しない際には、書き込み禁止電圧（例えばＶ１＞０Ｖとする）が印加される。またこの際、ラッチ回路１０−３にはフラグデータが格納されている。
【００４６】
そして、ロウデコーダ３がワード線ＷＬ１を選択し、選択ワード線ＷＬ１に電圧ＶＰＧＭを印加し、非選択ワード線ＷＬ０、ＷＬ２〜ＷＬ３１に電圧ＶＰＡＳＳを印加する。電圧ＶＰＧＭは、電荷蓄積層に電荷を注入するための高電圧（例えば２０Ｖ程度）であり、ＶＰＡＳＳは、保持するデータに関わらずメモリセルトランジスタＭＴをオン状態とする電圧である。
【００４７】
更にロウデコーダ３は、セレクトゲート線ＳＧＤ、ＳＧＳに電圧Ｖ２、０Ｖをそれぞれ印加する。電圧Ｖ２は、ビット線ＢＬに書き込み電圧（０Ｖ）が印加されている場合には選択トランジスタＳＴ１をオンさせ、書き込み禁止電圧（Ｖ１）が印加されている場合には選択トランジスタＳＴ１をカットオフさせる電圧である。
【００４８】
以上の結果、ワード線ＷＬ０〜ＷＬ３１に接続された全メモリセルトランジスタＭＴ０〜ＭＴ３１にチャネルが形成される。そして、もしビット線ＢＬに書き込み電圧（０Ｖ）が印加されていれば、選択トランジスタＳＴ１はオン状態となり、メモリセルトランジスタＭＴ１のチャネルに書き込み電圧が転送される。その結果、メモリセルトランジスタＭＴ１では制御ゲートとチャネルとの間に大きな電位差が生じ、電荷が電荷蓄積層に注入される。他方、ビット線に書き込み禁止電圧Ｖ１が印加されていれば、選択トランジスタＳＴ１はオフ状態となり、メモリセルトランジスタＭＴ１のチャネルは電気的にフローティングとなる。そしてその電位は、制御ゲートとのカップリングにより、ほぼＶＰＧＭまで上昇する。その結果、制御ゲートとチャネルとの電位差が小さくなり、電荷の電荷蓄積層への注入は抑制される。  
以上により、カラムＣ０〜Ｃ２に正味のデータが書き込まれ、カラムＣ３にフラグデータが書き込まれる。
【００４９】
＜データの読み出し動作について＞  
次に、データの読み出し動作について図５を用いて説明する。図５は、データの読み出し時におけるＮＡＮＤセル８の回路図である。以下では、書き込み時と同様に、ワード線ＷＬ１が選択される場合について説明する。
【００５０】
まず、ページバッファ５がビット線ＢＬをプリチャージし、ビット線ＢＬの電位をＶＰＲＥ（例えば０．７Ｖ）とする。ソース線ＳＬの電圧は例えば０Ｖとされる。
【００５１】
更に、ロウデコーダ３はワード線ＷＬ１を選択し、選択ワード線ＷＬ１に読み出し電圧ＶＣＧＲを印加する。読み出し電圧ＶＣＧＲは、例えば図２に示したＶＡ、ＶＢ、ＶＣのいずれかであり、“Ａ”〜“Ｃ”読み出しのいずれを行うかによって変化する。更にロウデコーダ３は、非選択ワード線ＷＬ０、ＷＬ２〜ＷＬ３１に電圧ＶＲＥＡＤを印加する。電圧ＶＲＥＡＤは、保持するデータに関わらずメモリセルトランジスタＭＴをオン状態とする電圧である。更にロウデコーダ３は、セレクトゲート線ＳＧＤ、ＳＧＳに電圧ＶＳＧを印加する。電圧ＶＳＧは、選択トランジスタＳＴ１、ＳＴ２をオン状態とする電圧である。
【００５２】
以上の結果、非選択ワード線ＷＬ０、ＷＬ２〜ＷＬ３１に接続されたメモリセルトランジスタＭＴ０、ＭＴ２〜ＭＴ３１はオン状態となり、チャネルが形成される。また選択トランジスタＳＴ１、ＳＴ２もオン状態とされる。
【００５３】
そして、選択ワード線ＷＬ１に接続されたメモリセルトランジスタＭＴがオン状態となれば、ビット線ＢＬとソース線ＳＬとが電気的に導通状態となる。すなわち、ビット線ＢＬからソース線ＳＬへ電流が流れる。他方、オフ状態であれば、ビット線ＢＬとソース線ＳＬとは電気的に非導通状態となる。すなわち、ビット線ＢＬからソース線ＳＬへは電流は流れない。以上の動作により、全ビット線につき一括してデータが読み出される。
【００５４】
そして、ビット線ＢＬに流れる電流をページバッファ５がセンスし、その電流量がある閾値Ｉthを越えたか否かによって、データを判別する。
【００５５】
＜読み出し動作の詳細について＞  
次に、上記読み出し動作の詳細について説明する。データの読み出しにあたっては、まず、どのカラムＣがフラグデータに対応しているかを、制御回路７が認識する必要がある。本動作を、以下、「カラムＣの判定動作」として説明する。
【００５６】
＜カラムＣの判定動作＞  
図６は、カラムＣの判定動作の流れを示すフローチャートである。カラムＣの判定動作は、最初にデータを読み出す前であればいつ行っても良い。例えば、ＮＡＮＤ型フラッシュメモリ１に電源が投入された際に行っても良いし、データの読み出し動作の開始直前であっても良いし、またはデータの書き込み時に行っても良い。電源投入時に行われる際には、電源投入直後にシステムによって実行される起動プログラム内に、本動作が含まれていても良い。
【００５７】
まず制御回路７は、ページバッファ５のラッチ回路１０−０〜１０−３をリセットする（ステップＳ１０）。引き続き、フラグデータを、パス/フェイル回路６において対応するラッチ回路１１に転送する（ステップＳ１１）。
【００５８】
引き続き制御回路７は、パス／フェイル回路６における他のラッチ回路１１に、フェイルビット有りを示す信号を、フェイルビット数としてセットする（ステップＳ１２）。本信号としては、例えば全ビット“１”のデータや、全ビット“０”のデータ等を用いることが出来る。
【００５９】
その後、制御回路７は、カラムＣ０（ｉ＝０）に着目する（ステップＳ１３）。そして、パス／フェイル回路６において、カラムＣｉに対応するラッチ回路１１−ｉを選択し、該ラッチ回路１１−ｉの保持するフェイルビット数を確認する（ステップＳ１４）。より具体的には、フラグデータに一致するか否かを判定する。フラグデータは固有の値であり、本例では“８１Ｈ”である。なお、“Ｈ”は、その前の数字が１６進数であることを示す。
【００６０】
もし、フェイルビット数がフラグデータに一致しなければ（ステップＳ１５、ＮＯ）、選択するラッチ回路１１をシフトさせる（ステップＳ１６）。すなわち、ｉ＝ｉ＋１として、ステップＳ１４に戻り、同様の処理を繰り返す。
【００６１】
もし、フェイルビット数がフラグデータに一致すれば（ステップＳ１５、ＹＥＳ）、制御回路７は、カラムＣｉがフラグデータに対応しているものと判断し（ステップＳ１７）、この数値Ｎ＝ｉを保持する（ステップＳ１８）。なお、ステップＳ１５の処理は、フェイルビット数の全ビットを確認しない場合であっても良い。すなわち、“８１Ｈ”は２進数表示で“１０００＿０００１ｂ”であり、“ＦＦＨ”は“１１１１＿１１１１ｂ”である。従って、例えばフェイルビット数を示すデータのビットのうち、“０”であるビットが４個以上あれば、そのカラムがフラグデータに対応するものと判断しても良い。
【００６２】
以上の具体例を図７及び図８に示す。図７及び図８は、ページバッファ５及びパス／フェイル回路６のブロック図である。まず図７はステップＳ１０〜Ｓ１２の様子を示している。図示するように、ページバッファ５のうち、フラグデータを保持するカラムＣ３に対応するラッチ回路１０−３には、フラグデータ“８１Ｈ”が格納され、これがパス／フェイル回路６におけるラッチ回路１１−３に転送されている（ステップＳ１０〜Ｓ１１）。更に、その他のラッチ回路１１−０〜１１−２には“ＦＦＨ”、すなわち全ビット“１”のデータ（フェイルビット数）が格納されている（ステップＳ１２）。
【００６３】
図８は、ステップＳ１３〜Ｓ１７の様子を示している。図示するように、まず制御回路７は、ｉ＝０としてラッチ回路１１−０を選択し、ラッチ回路１１−０内のフェイルビット数がフラグデータに一致するかを判断する（ステップＳ１３〜Ｓ１４）。すると、フェイルビット数＝“ＦＦＨ”、フラグデータ＝“８１Ｈ”であるので、両者は一致しない（ステップＳ１５、ＮＯ）。従って制御回路７は、ｉ＝ｉ＋１＝１として（ステップＳ１６）、ラッチ回路１１−１を選択する。しかし、ラッチ回路１１−１内のフェイルビット数もフラグデータに一致しない（ステップＳ１４、Ｓ１５、ＮＯ）。よって制御回路７はｉ＝ｉ＋１＝２として（ステップＳ１６）、ラッチ回路１１−２を選択する。しかし、ラッチ回路１１−２内のフェイルビット数もフラグデータに一致しない（ステップＳ１４、Ｓ１５、ＮＯ）。よって制御回路７はｉ＝ｉ＋１＝３として（ステップＳ１６）、ラッチ回路１１−３を選択する。
【００６４】
すると、ラッチ回路１１−３のフェイルビット数は“８１Ｈ”であり、フラグデータと一致する。よって制御回路７は、この時点におけるｉ＝３を“Ｎ”として保持する（ステップＳ１８）。すなわち、カラムＣ３が、フラグデータの位置であることを、制御回路７は把握出来る。
【００６５】
＜フラグデータの取り込み動作＞  
次に、フラグデータの取り込み動作について説明する。フラグデータは、ワード線ＷＬ毎に異なるかもしれない。すなわち、あるワード線ＷＬについては上位ページまで書き込まれているが、別のワード線ＷＬについては下位ページまでしか書き込まれていない、ということがあり得る。従って制御回路７は、各ワード線ＷＬからデータを読み出す際には、事前に当該ワード線ＷＬについてのフラグデータを読み出す。これが、「フラグデータの取り込み動作」である。
【００６６】
図９は、フラグデータの取り込み動作のフローチャートである。図示するように、まず制御回路７は、ページバッファ５のラッチ回路１０−０〜１０−３をリセットする（ステップＳ２０）。引き続き、カラムＣ３のメモリセルトランジスタＭＴから、フラグデータをページバッファ５に読み出す（ステップＳ２１）。このフラグデータは、ラッチ回路１０−３に格納される。引き続き制御回路７は、フラグデータをページバッファ５からパス／フェイル回路６に転送する（ステップＳ２２）。これによりフラグデータは、ラッチ回路１１−３に格納される。更に制御回路７は、パス／フェイル回路６における他のラッチ回路１１−０〜１１−２に、フェイルビット有りを示す信号を、フェイルビット数としてセットする（ステップＳ２３）。本信号としては、例えば全ビット“１”のデータや、全ビット“０”のデータ等を用いることが出来る。しかしながら、フラグデータと区別出来れば、どのようなデータであっても限定されるものでは無い。
【００６７】
その後制御回路７は、カラムＣ０（ｊ＝０）に着目する（ステップＳ２４）。そして、パス／フェイル回路６において、カラムＣｊに対応するラッチ回路１１−ｊを選択する（ステップＳ２５）。そして、ｊがＮに達するまで、ｊを“１”づつ加算して、選択するラッチ回路１１をシフトさせる（ステップＳ２６、Ｓ２７）。そして、ｊがＮに達した際（ステップＳ２６、ＹＥＳ）、本例ではｊ＝３、すなわちラッチ回路１１−３が選択された際に、制御回路７は当該ラッチ回路１１−３が保持するフェイルビット数を、フラグデータとして読み出す（ステップＳ２８）。言い換えれば制御回路７は、フェイルビット有りとされたラッチ回路１１を、順次シフトさせながら選択する。そして、Ｎ回目のシフトで選択されたラッチ回路１１からフラグデータを読み出す。
【００６８】
以上の結果、制御回路７は、このワード線ＷＬについてのフラグデータを取得出来る。選択対象とするラッチ回路１１を順次シフトさせる動作は、図８に示した動作と同様である。なお、ステップＳ２０におけるリセット動作は省略されても良い。これは、通常、ラッチ回路１０はデータの上書きが可能であるので、わざわざデータをリセットする必要が無いからである。
【００６９】
＜データの読み出しシーケンス＞  
次に、上記フラグデータを用いたデータの読み出し方法の一例について、図１０及び図１１を用いて説明する。図１０及び図１１はそれぞれ、下位ページ及び上位ページを読み出す際のフローチャートである。
【００７０】
データの読み出しは、例えばまず下位ページから行われる。図１０に示すように、制御回路７は“Ｂ”読み出しを実行する（ステップＳ３０）。すなわち、図５において、電圧ＶＣＧＲ＝ＶＢとして、読み出しを行う。
【００７１】
その後制御回路７は、フラグデータの取り込み動作で取り込んだフラグデータを確認する（ステップＳ３１）。フラグデータによって、当該ワード線ＷＬ（図５の例であるとワード線ＷＬ１）には上位ページまでデータが書き込まれていると判断された際には（ステップＳ３１、ＹＥＳ）、制御回路７はページバッファ５に対してそのままデータを出力させる（ステップＳ３２）。すなわち、“Ｂ”読み出しによって下位ページのデータが決定する。他方、当該ワード線ＷＬには下位ページまでしかデータが書き込まれていないと判断された際には（ステップＳ３１、ＮＯ）、制御回路７は引き続き“Ａ”読み出しを行って、その結果により下位ページのデータを確定させ（ステップＳ３３）、データを出力する（ステップＳ３２）。
【００７２】
図１０の処理の後、次に上位ページについての読み出しが行われる。図１１に示すように、制御回路７は“Ａ”読み出し及び“Ｂ”読み出しを順次行う（ステップＳ３４、Ｓ３５）。すなわち、図５において、電圧ＶＣＧＲ＝ＶＡ、ＶＢとして、順次読み出しを実行する。
【００７３】
その後制御回路７は、フラグデータの取り込み動作で取り込んだフラグデータを確認する（ステップＳ３６）。フラグデータによって、当該ワード線ＷＬには上位ページまでデータが書き込まれていると判断された際には（ステップＳ３６、ＹＥＳ）、制御回路７はページバッファ５に対してそのままデータを出力させる（ステップＳ３７）。すなわち、ステップＳ３４、Ｓ３５の結果、上位ページのデータが決定する。他方、当該ワード線ＷＬには下位ページまでしかデータが書き込まれていないと判断された際には（ステップＳ３６、ＮＯ）、制御回路７は上位ページのデータをリセットして（ステップＳ３８）、データを出力する（ステップＳ３７）。
【００７４】
＜効果＞  
以上のようにこの発明の第１の実施形態に係る半導体記憶装置のデータ読み出し方法であると、回路規模の増大を抑制しつつ、動作性能を向上出来る。本効果について、以下説明する。
【００７５】
多値ＮＡＮＤ型フラッシュメモリにおいては、各ワード線に対してデータが上位ページまで書き込まれているのか、それとも下位ページまでしか書き込まれていないのかを示すフラグデータが用いられる。そしてこのフラグデータは、対応するワード線におけるいずれかのメモリセルトランジスタＭＴに書き込まれる。
【００７６】
従って、データの読み出しにあたっては、まずこのフラグデータを読み出してチェックする必要がある。そのため、システムはフラグデータが書き込まれているメモリセルトランジスタＭＴの位置を把握しておかなければならない。
【００７７】
そのためには、このメモリセルトランジスタＭＴのアドレス（カラムアドレス）を予めシステムが記憶しておく方法が考えられる。しかし、本方法であると、このアドレスをデコードするためのデコーダが別途必要となるため、回路面積が増大するという問題があった。更に、読み出しの度にデコードする必要があるため、動作速度が低下するという問題があった。
【００７８】
しかし、本実施形態に係る方法であると、上記問題を解決出来る。本実施形態では、アドレスを保持することなく、フラグデータを保持するカラムが、基準となるカラム（例えば最も端のカラム）から何番目であるか（“Ｎ”）、という情報を保持する。そして、フラグデータを読み出す際には、図９を用いて説明したように、着目するラッチ回路１１を順次シフトさせ、Ｎ回目のシフトで選択されたラッチ回路１１からフェイルビット数を読み出す。当然ながら、このフェイルビット数は、フラグデータそのものである。従って、デコーダを必要とせず、回路面積の増大を抑制出来る。また、上記“Ｎ”を得るには、図６乃至図８を用いて説明したように、やはり着目するラッチ回路１１をシフトさせれば良く、デコーダは必要としない。
【００７９】
更に、１度“Ｎ”を得れば、その後は“Ｎ”を求める必要は無い。その後はＮ回のシフトを行うだけで、フラグデータが得られる。従って、動作速度の向上にも寄与し得る。
【００８０】
また、図１では図示していないが、本実施形態はリダンダンシ技術を用いたＮＡＮＤ型フラッシュメモリにも適用可能である。リダンダンシ技術とは、不良となったメモリセルトランジスタＭＴ（カラム）を、冗長セル（冗長カラム）で置き換えることで、不良を救済する技術である。図１２は、リダンダンシ技術を用いた場合のページデータの概念図である。図示するように、正味のデータ及びフラグデータの他に、リダンダンシ用のデータ領域が設けられている。もし、図３におけるカラムＣ３に不良があった場合には、フラグデータはリダンダンシ用のデータ領域に格納される。このような場合にも、本実施形態は適用可能である。
【００８１】
［第２の実施形態］  
次に、この発明の第２の実施形態に係る半導体記憶装置のデータ読み出し方法について説明する。本実施形態は、上記第１の実施形態において、図６乃至図９を用いて説明したカラムＣの判定動作及びフラグデータの取り込み動作を必要とせずに、データの読み出しを可能とするものである。以下では、第１の実施形態と異なる点についてのみ説明する。
【００８２】
図１３は、図２と同様に、本実施形態に係るメモリセルトランジスタＭＴの閾値分布を示すグラフである。本実施形態では、フラグデータは、最も高い閾値（“Ｃ”レベル）によって、メモリセルトランジスタＭＴに書き込まれる。つまり、上位ページまでデータが書き込まれているワード線においては、少なくともカラムＣ３の位置に、“Ｃ”レベルを有するメモリセルトランジスタＭＴが存在する。
【００８３】
次に、本実施形態に係るデータの読み出し方法について、図１４及び図１５を用いて説明する。図１４及び図１５はそれぞれ、下位ページ及び上位ページを読み出す際のフローチャートである。先に述べた通り、データの読み出しにあたって、第１の実施形態で説明した図６乃至図９の処理は不要である。
【００８４】
データの読み出しは、例えばまず下位ページから行われる。図１４に示すように、制御回路７は“Ｃ”読み出しを実行する（ステップＳ４０）。すなわち、図５において、電圧ＶＣＧＲ＝ＶＣとして、読み出しを行う。
【００８５】
その後制御回路７は、ステップＳ４０を実行した結果を受けて、最も閾値レベルの高いデータ（“Ｃ”レベル）を保持するメモリセルトランジスタＭＴの数を、予め定められた期待値と比較する（ステップＳ４１）。
【００８６】
このメモリセルトランジスタＭＴの数が期待値以上であれば、すなわち“Ｃ”レベルを保持するメモリセルトランジスタＭＴの数が多ければ、制御回路７は、当該ワード線ＷＬは上位ページまでデータが書き込まれていると判断する（ステップＳ４１、ＹＥＳ）。従って制御回路７は、引き続き“Ｂ”読み出しを行い（ステップＳ４３）、これにより下位ページのデータを確定させる（ステップＳ４４）。
【００８７】
他方、ステップＳ４１において、メモリセルトランジスタＭＴの数が期待値より少なければ、すなわち“Ｃ”レベルを保持するメモリセルトランジスタＭＴの数が少なければ、制御回路７は、当該ワード線ＷＬは下位ページまでしかデータが書き込まれていないと判断する（ステップＳ４１、ＮＯ）。従って制御回路７は、引き続き“Ａ”読み出しを行い（ステップＳ４２）、これにより下位ページのデータを確定させる（ステップＳ４４）。
【００８８】
図１４の処理の後、次に上位ページについての読み出しが行われる。図１５に示すように、制御回路７は“Ａ”読み出し（ステップＳ４５）及び“Ｃ”読み出し（ステップＳ４６）を順次行う。すなわち、図５において、電圧ＶＣＧＲ＝ＶＡ、ＶＣとして、順次読み出しを実行する。
【００８９】
その後制御回路７は、ステップＳ４７を実行した結果に基づいて、最も閾値レベルの高いデータ（“Ｃ”レベル）を保持するメモリセルトランジスタＭＴの数を、予め定められた期待値と比較する（ステップＳ４７）。本ステップで実行すべき処理内容は、図１４におけるステップＳ４１と同様である。
【００９０】
もし、“Ｃ”レベルを保持するメモリセルトランジスタＭＴの数が期待値以上であれば、制御回路７は、当該ワード線ＷＬは上位ページまでデータが書き込まれていると判断する（ステップＳ４７、ＹＥＳ）。従って制御回路７は、ステップＳ４５、Ｓ４６の結果に応じて、上位ページを確定する（ステップＳ４８）。
【００９１】
他方、ステップＳ４７において、“Ｃ”レベルを保持するメモリセルトランジスタＭＴの数が期待値より少なければ、制御回路７は上位ページのデータをリセットして（ステップＳ４９）、データを確定する（ステップＳ４８）。
【００９２】
＜効果＞  
以上のように、この発明の第２の実施形態に係る半導体記憶装置のデータ読み出し方法であると、第１の実施形態と同様に、回路規模の増大を抑制しつつ、動作性能を向上出来る。本効果につき、以下説明する。
【００９３】
本実施形態であると、最も高い閾値レベルを用いてフラグデータを書き込んでいる。そして、最も高い閾値レベルを有するメモリセルトランジスタＭＴの数に応じて、当該ワード線ＷＬが上位ページまで書き込まれているか否かを判断している。
【００９４】
従って、データの読み出しにあたってフラグデータを探す必要が無い。なぜなら、当該ワード線ＷＬが上位ページまで書き込まれているのであれば、必ず一定数以上のメモリセルトランジスタＭＴ（フラグデータを有するメモリセルトランジスタＭＴ）が、最も高い閾値レベルを有しているはずだからである。
【００９５】
そのため、第１の実施形態で説明した図６及び図９で説明した処理が不要となり、更に動作速度を向上出来る。勿論、フラグデータを探索するためのデコーダも不要であり、更に制御回路７においてフラグデータを保持するカラム番号“Ｎ”を保持する必要も無いので、回路規模の増大も抑制される。
【００９６】
［第３の実施形態］  
次に、この発明の第３の実施形態に係る半導体記憶装置のデータ読み出し方法について説明する。本実施形態は、メモリセルアレイに書き込むべきデータをランダマイズ（randomize）し、更にフラグデータを省略する方法に関する。以下では、第１の実施形態と異なる点についてのみ説明する。
【００９７】
図１６は、本実施形態に係るＮＡＮＤ型フラッシュメモリのブロック図である。図示するように、本実施形態に係るＮＡＮＤ型フラッシュメモリ１は、第１の実施形態で説明した図１の構成において、更にスクランブル（scramble）回路９を備えている。
【００９８】
スクランブル回路９は、データの書き込み時には、外部から与えられた書き込みデータにつき、データのランダマイズを行い、これをページバッファ５へ転送する。より具体的には、スクランブル回路９は、例えばアドレス信号等をスクランブル・シード（seed）に用いて疑似乱数を発生し、発生した疑似乱数を用いて書き込みデータをランダマイズする。勿論、ランダマイズの方法はこれに限られるものでは無い。更にスクランブル回路９は、データの読み出し時には、ページバッファ５から読み出しデータを受信する。そして、例えばアドレス信号等をスクランブル・シードに用いて疑似乱数を発生し、これを用いて読み出しデータを解読する。
【００９９】
またメモリセルアレイ２は、フラグデータを有する必要は無い。
【０１００】
データの読み出し方法は、第２の実施形態で説明した図１４及び図１５と同様である。
【０１０１】
＜効果＞  
以上のように、この発明の第３の実施形態に係る半導体記憶装置のデータ読み出し方法であると、第２の実施形態と同様の効果が得られる。
【０１０２】
ＮＡＮＤ型フラッシュメモリでは、近年の微細化に伴って、書き込みデータの偏りが問題となる場合がある。すなわち、あるカラムに例えば“Ｅ”レベルまたは“Ｃ”レベルが偏ったりすると、カラム間でチャージ量が偏る。または、メモリセルアレイ２内において、同一のデータが連続するような場合にも、チャージの偏りが発生する。そして、チャージの偏りは、誤書き込みの原因となり得る。
【０１０３】
そこで本実施形態では、スクランブル回路９によって書き込みデータをランダマイズしている。このデータ・ランダマイズによって、各カラム間及びロウ間で、“Ｅ”、“Ａ”、“Ｂ”、“Ｃ”レベルが平均して分布するようになる。すなわち、メモリセルアレイ２内において、チャージが平均化されて分布する。
【０１０４】
すると、上位ページまで書き込まれているワード線ＷＬについては、ほぼ確実に“Ｃ”レベルを保持するメモリセルトランジスタＭＴが存在すると考えられる。従って、この“Ｃ”レベルのメモリセルトランジスタＭＴの数を期待値と比較することで、当該ワード線ＷＬが上位ページまで書き込まれているか否かを判断出来る。よって本実施形態では、そもそもフラグデータを必要とせず、例えば図３においてフラグデータ保持用として設けられているカラムＣ３は不要となり、回路規模の縮小に寄与する。
【０１０５】
なお、図１６の例ではＮＡＮＤ型フラッシュメモリ１自身がスクランブル回路９を有する場合について説明した。しかし、ＮＡＮＤ型フラッシュメモリ１自身がスクランブル回路９を有しない場合であっても良い。この場合、例えばＮＡＮＤ型フラッシュメモリ１に対してデータや命令を出力するホスト機器（メモリコントローラ）がデータのランダマイズを行う。そして、ランダマイズされたデータがＮＡＮＤ型フラッシュメモリ１に与えられる。またホスト機器は、ＮＡＮＤ型フラッシュメモリ１から出力されたデータを解読する。
【０１０６】
以上のように、この発明の第１乃至第３の実施形態に係る半導体記憶装置のデータ読み出し方法は、ロウ及びカラムに関連付けられた、データ保持可能な複数のメモリセルＭＴと、前記カラムＣｉ毎に対応付けて設けられた複数のラッチ回路１１と、を備えた半導体記憶装置１のデータ読み出し方法であって、いずれかの前記カラムＣ３に関連付けられた前記メモリセルＭＴから、対応する前記ラッチ回路１１−３にフラグデータを読み出すステップＳ２２と、対象とする前記ラッチ回路１１−ｉをシフトさせつつ、いずれかの前記ラッチ回路１１−ｉを順次選択するステップＳ２５〜Ｓ２７と、Ｎ回目（Ｎは０以上の自然数）の前記シフトにおいて選択した前記ラッチ回路１１−Ｎから、前記フラグデータを読み出すステップＳ２８とを備える。
【０１０７】
また、閾値レベルに応じて２ビット以上のデータを保持可能な複数のメモリセルＭＴから一括してデータを読み出し可能な半導体記憶装置１のデータ読み出し方法であって、前記２ビット以上のデータのうち、最も閾値レベルの高いデータ（“Ｃ”レベル）の有無を判別するための第１読み出しレベルＶＣを用いて、複数の前記メモリセルＭＴから一括して前記データを読み出すステップＳ４０と、前記最も閾値レベルの高いデータを有する前記メモリセルＭＴの数に応じて、前記一括して読み出された前記データが、２ビット以上の情報であるか、または１ビットの情報であるかを判断するステップＳ４１とを具備する。
【０１０８】
上記方法により、半導体記憶装置１の回路規模の増大を抑制しつつ、動作性能を向上出来る。
【０１０９】
なお、上記第１乃至第３の実施形態は、例えばキャッシュメモリを備えた構成において、特に効果がある。  
キャッシュメモリは、データバッファの前段に配置され、外部からの書き込みデータは、まずキャッシュメモリに格納され、その後、ページバッファ５に転送される。また、ページバッファに読み出された読み出しデータは、キャッシュメモリに転送され、キャッシュメモリから外部へ出力される。従って、例えメモリセルトランジスタＭＴへの書き込み動作中であっても、キャッシュメモリが空き状態となれば、ＮＡＮＤ型フラッシュメモリはレディ（ready）状態となり、外部からのデータを受け付けることが出来る。また、データの読み出し時には、ページバッファ５から転送された読み出しデータをキャッシュメモリが外部へ出力中に、ページバッファ５を用いて次の読み出し動作の準備を行うことが出来る（キャッシュリード（cache read））。
【０１１０】
この点、キャッシュリード中にデコーダを用いてフラグデータを読み出すような場合には、フラグデータの転送のためにデータ線を使用しなければならない。これは、キャッシュメモリから外部へ出力されるデータ線と共通である。従って、両動作を同時に実行することは困難であった。より具体的には、例えばキャッシュメモリからのデータの出力を待ってから、フラグデータをチェックしなければならず、動作の高速化を妨げる原因ともなり得る。
【０１１１】
しかし、第１の実施形態に係る構成であると、フラグデータはパス／フェイル回路６にフェイルビット数として格納される。そして制御回路７は、フェイルビットをチェックする方法により、フラグデータを取得する。従って、データ線を使用する必要が無い。また、第２、第３の実施形態であると、フラグデータそのものを読み出す必要が無い。よって、上記問題を解決し、キャッシュメモリを設けたことによる利点を最大限、活かすことが出来る。
【０１１２】
なお、上記第１乃至第３の実施形態で説明した図１０、図１１、図１４、及び図１５に示した読み出しシーケンスは、説明された順序に限定されるものでは無く、適宜変形出来る。例えば上位ページから先にデータを判別しても良い。但し、第２、第３の実施形態におけるステップＳ４１は、最も高い閾値レベルの読み出し（ステップＳ４０）の後に行われる。
【０１１３】
また、上記第１乃至第３の実施形態では、メモリセルトランジスタＭＴが２ビットのデータを保持可能な場合、すなわち、ワード線毎に上位ページと下位ページとが存在する場合を例に説明した。しかし、メモリセルトランジスタＭＴは３ビット（８値）以上のデータを保持しても良い。例えば３ビットを保持する場合には、ワード線毎に上位ページ、中位（middle）ページ、及び下位ページが存在する。この場合であっても第１実施形態はそのまま適用出来、また第２、第３の実施形態においても、最も高い読み出しレベルを用いた場合のオフセル数により判断を行う点（ステップＳ４１、Ｓ４７）は同様である。
【０１１４】
また、上記第１の実施形態では、カラムＣの判定動作は、メモリセルアレイ２内の端部に位置するカラムＣ０から順次、選択するカラムをシフトしていく場合について説明した。しかし、実際にはフラグデータが存在するカラムは、図３の例ではカラムＣ３か、またはカラムＣ３を置き換えるリダンダンシ領域だけである。従って制御回路７は、カラムＣ３とリダンダンシ用のカラムのみを対象にして、フラグデータを保持するカラムをサーチしても良い。これは、例えば制御回路７がイネーブル信号を発生させて、カラムＣ３とリダンダンシ用のカラムのみをサーチ可能とすれば実現可能である。これにより、必要最小限のカラムのみをサーチすることとなり、より動作速度を向上出来る。
【０１１５】
この考え方は第２の実施形態にも適用出来る。すなわち、第２の実施形態におけるステップＳ４１、Ｓ４７を、カラムＣ３とリダンダンシ用のカラムのみを対象にして行っても良い。つまり、カラムＣ３とリダンダンシ用のカラムに含まれる“Ｃ”レベルの数と期待値とを比較しても良い。これにより、より精度よくフラグデータを読み出すことが出来る。
【０１１６】
また、第１の実施形態において、カラムＣの判定動作を、図６を用いて説明した。しかし、必ずしも図６の方法による必要は無い。すなわち、フラグデータに対応するカラムの番号Ｎを、予めメモリセルアレイ２内のいずれかの領域に保持しておいても良い。例えば、リダンダンシ情報を保持する領域や、またはその他の重要なデータ（例えばチップ毎に異なる電圧ＶＲＥＡＤの情報）を保持する領域に記憶させる。そして、電源投入時にこのＮの値を読み出しても良い。
【０１１７】
すなわち、例えばフラグデータを保持可能なカラムが１６ビットあり、そのうちの１２ビットを用いてフラグデータが記録される場合を仮定する。この場合、例えば全カラムでフェイルが４ビット以下であるようなＮＡＮＤ型フラッシュメモリチップの場合では、ステップＳ４１、Ｓ４７の結果、“Ｃ”レベルの数が６ビット以上であれば、フラグデータは問題無く読み出すことが出来る。しかし、フェイルが３０ビット以上であるような場合では、フラグデータを正しく読み出すことは非常に困難となり、処理が複雑化する。
【０１１８】
しかし、ステップＳ４１、Ｓ４７を、カラムＣ３とリダンダンシ用のカラムのみを対象とすることで、ビット数が６〜１０ビット以上であれば、フラグデータを精度良く読み出すことが出来る。
【０１１９】
また、上記第１乃至第３の実施形態は、隣接するメモリセルトランジスタＭＴの影響を考慮したデータの読み出しを行う際にも、特に効果がある。この点について、図１７を用いて説明する。図１７は、データの読み出し時における選択ワード線ＷＬｋ（ｋは自然数）及び非選択ワード線ＷＬ（ｋ＋１）の電位変化を示すグラフである。
【０１２０】
図示するように、データの読み出しは時刻ｔ１〜ｔ２に行われる第１ステップと、時刻ｔ３〜ｔ４に行われる第２ステップとを含む。
【０１２１】
第１ステップでは、選択ワード線ＷＬｋよりもドレイン側に位置する非選択ワード線ＷＬ（ｋ＋１）に接続された非選択のメモリセルトランジスタＭＴ（ｋ＋１）からデータが読み出される。これは、選択メモリセルトランジスタＭＴｋが受ける、電荷蓄積層間のカップリングの影響を把握するために行われる。すなわち、メモリセルトランジスタＭＴは、隣接するメモリセルトランジスタＭＴの影響によって、その閾値電圧が見かけ上高くなることがある。その影響は、隣接するメモリセルトランジスタＭＴの保持するデータによって異なる。そこで第１ステップでは、非選択のメモリセルトランジスタＭＴ（ｋ＋１）の読み出しを行い、メモリセルトランジスタＭＴ（ｋ＋１）の保持するデータを予め確認する。そのため第１ステップでは、選択ワード線ＷＬｋに電圧ＶＲＥＡＤが印加され、非選択ワード線ＷＬ（ｋ＋１）に電圧ＶＣＧＲが印加される。
【０１２２】
次に第２ステップにおいて、選択ワード線ＷＬｋに接続された選択メモリセルトランジスタＭＴｋからのデータの読み出しが行われる。すなわち、選択ワード線ＷＬｋに電圧ＶＣＧＲが印加され、非選択ワード線ＷＬ（ｋ＋１）に電圧ＶＲＥＡＤＬＡが印加される。電圧ＶＲＥＡＤＬＡの値は、第１ステップでメモリセルトランジスタＭＴ（ｋ＋１）から読み出したデータに応じた値とされる。
【０１２３】
このようにカップリングの影響を補正する方法には、種々のものがある。例えば、非選択ワード線ＷＬ（ｋ＋１）の閾値レベルが“Ａ”レベルまたは“Ｃ”レベルにある時のみ補正する方法や、または“Ａ”、“Ｂ”、“Ｃ”レベルそれぞれの場合につき、補正を行うような方法である。これら場合に、第１ステップにおいて図１４及び図１５に示す方法を適用すれば、第１ステップにおける無駄な動作を省略出来、動作を高速化出来る。
【０１２４】
また、上記第１乃至第３の実施形態では、フラグデータが“８１Ｈ”である場合について説明したが、この数値に限定されるものでは無いことは勿論である。また上記実施形態では、フラグデータが、対応するワード線ＷＬに割り当てられているページ数、言い換えれば読み出し対象となるメモリセルが保持可能な情報量、である場合について説明した。しかし、フラグデータはその他の情報であっても良い。すなわち、メモリセルに書き込まれたユニークな（固有の）データであれば、特に限定されるものでは無い。例えば、当該ワード線に接続されたメモリセルトランジスタＭＴの保持するデータが、消去して良いデータであるか否かを示すデータ等であっても良い。また、第１の実施形態においても第２の実施形態と同様に、フラグデータは最も高い閾値を用いて書き込まれても良い。
【０１２５】
また、上記実施形態ではＮＡＮＤ型フラッシュメモリの場合を例に挙げたが、例えばＮＯＲ型、ＤＩＮＯＲ型、ＡＮＤ型フラッシュメモリであっても良い。またフラッシュメモリに限らず、磁気抵抗素子をメモリセルに用いた磁気ランダムアクセスメモリ（Magnetic Random Access Memory）や、可変抵抗素子を用いたＲｅＲＡＭ（Resistance Random Access Memory）等、半導体メモリ全般に適用可能である。特に、上記第１乃至第３の実施形態で説明したフラグデータを用いる場合には、１つのメモリセルが２ビット以上のデータを保持可能な半導体メモリ全般に適用出来る。
【０１２６】
なお、本願発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。
【符号の説明】
【０１２７】
１…フラッシュメモリ、２…メモリセルアレイ、３…ロウデコーダ、４…カラムデコーダ、５…ページバッファ、６…パス／フェイル回路、７…制御回路、８…ＮＡＮＤセル、９…スクランブル回路、１０−０〜１０−３、１１−０〜１１−３…ラッチ回路
【図１】
2011040124.tif 000003
【図２】
2011040124.tif 000004
【図３】
2011040124.tif 000005
【図４】
2011040124.tif 000006
【図５】
2011040124.tif 000007
【図６】
2011040124.tif 000008
【図７】
2011040124.tif 000009
【図８】
2011040124.tif 000010
【図９】
2011040124.tif 000011
【図１０】
2011040124.tif 000012
【図１１】
2011040124.tif 000013
【図１２】
2011040124.tif 000014
【図１３】
2011040124.tif 000015
【図１４】
2011040124.tif 000016
【図１５】
2011040124.tif 000017
【図１６】
2011040124.tif 000018
【図１７】
2011040124.tif 000019