(57)【特許請求の範囲】
【請求項１】
第１メモリセル及び前記第１メモリセルに隣り合う第２メモリセルと、
前記第１メモリセルからデータを読み出す場合、
前記第２メモリセルに対して第１読み出しを行い、
前記第１メモリセルに対して第２読み出しを行い、
前記第２メモリセルのゲートに前記第２読み出し時とは異なる電圧を印加し、前記第１メモリセルに対して第３読み出しを行い、
前記第１〜第３読み出しの結果に基づいて、
前記第１メモリセルに記憶された第１データと、前記第１データを補正するための第２データと、を生成するシーケンサと、
を備える記憶装置。
【請求項２】
前記シーケンサは、
前記第１読み出しの際、前記第２メモリセルから第３データを読み出し、
前記第２読み出しの際、前記第１メモリセルから読み出されたデータを反転させて第４データを生成し、
前記第３読み出しの際、前記第１メモリセルから第５データを読み出し、
前記第５データと、前記第４データとの論理和演算を行い、前記第２データを生成し、
前記第５データの反転データと、前記第３データとの論理積演算を行い、前記論理積演算の結果と、前記第４データとの論理和演算を行い、前記第１データを生成する請求項１に記載の記憶装置。
【請求項３】
前記シーケンサは、
前記第２メモリセルのゲートに第１電圧を印加する前記第１読み出しの際、前記第２メモリセルから第３データを読み出し、
前記第１メモリセルのゲートに前記第１電圧を印加する前記第２読み出しの際、前記第１メモリセルから第４データを読み出し、
前記第４データを反転させた第５データを生成し、
前記第１メモリセルのゲートに前記第１電圧を印加する前記第３読み出しの際、前記第１メモリセルから第６データを読み出し、
前記第６データを反転させたデータと、前記第３データとの論理積演算を行い、前記論理積演算の結果と、前記第５データとの論理和演算を行い、第７データを生成し、
前記第５データと、前記第６データとの論理和演算を行い、第８データを生成し、
前記第２メモリセルのゲートに前記第１電圧と異なる第２電圧を印加する前記第１読み出しの際、前記第２メモリセルから第９データを読み出し、
前記第１メモリセルのゲートに前記第２電圧を印加する前記第２読み出しの際、前記第１メモリセルから第１０データを読み出し、
前記第１０データを反転させたデータと、前記第８データとの論理積演算を行い、第１１データを生成し、
前記第１０データと、前記第９データを反転させたデータとの論理積演算を行い、前記論理積演算の結果と、前記第７データとの論理和演算を行い、第１２データを生成し、
前記第１メモリセルのゲートに前記第２電圧を印加する前記第３読み出しの際、前記第１メモリセルから第１３データを読み出し、
前記第１３データと、前記第１１データとの論理和演算を行い、前記第１データを生成し、
前記第１３データと、前記第１２データとの論理和演算を行い、前記第２データを生成する請求項１に記載の記憶装置。
【請求項４】
前記シーケンサは、
前記第２メモリセルからデータを読み出す前記第１読み出し動作において、
前記第２メモリセルのゲートに第１電圧を印加し、前記第１メモリセルのゲートに前記第１電圧よりも大きい第２電圧を印加し、
前記第１メモリセルからデータを読み出す前記第２読み出し動作において、
前記第２メモリセルのゲートに前記第２電圧を印加し、前記第１メモリセルのゲートに前記第１電圧を印加し、
前記第１メモリセルからデータを読み出す前記第３読み出し動作において、
前記第２メモリセルのゲートに前記第２電圧よりも大きい第３電圧を印加し、前記第１メモリセルのゲートに前記第１電圧を印加する請求項１に記載の記憶装置。
【請求項５】
記憶部と、
前記記憶部を制御する制御部と、
を更に備え、
前記第２メモリセル及び前記第１メモリセルと、前記シーケンサは、前記記憶部に設けられる請求項１に記載の記憶装置。
【請求項６】
前記制御部は、
前記第１データを読み出す場合、前記記憶部に読み出し要求を行う
請求項５に記載の記憶装置。
【請求項７】
前記記憶部は、
前記読み出し要求に基づいて、
前記第１〜第３読み出しを行い、
前記第１及び前記第２データを生成する
請求項６に記載の記憶装置。
【請求項８】
前記制御部は、前記第１データのエラー訂正を行うエラー訂正回路を更に備える請求項７に記載の記憶装置。
【請求項９】
前記エラー訂正回路は、前記第１データのエラー訂正が完了しなかった場合、
前記シーケンサに対して、前記第２データの読み出し要求を行う請求項８に記載の記憶装置。
【請求項１０】
前記記憶部は、前記第２データの読み出し要求を受信すると、
前記第２データを、前記制御部に出力する請求項９に記載の記憶装置。
【請求項１１】
前記エラー訂正回路は、前記第２データに基づいて前記第１データのエラー訂正を行う
請求項１０に記載の記憶装置。
【請求項１２】
前記記憶部は、
前記第１及び第２メモリセルが、それぞれ複数ビットのデータを記憶可能な場合、
ビット毎に前記第１〜第３読み出しを行い、
ビット毎に前記第１及び前記第２データを生成する
請求項１１に記載の記憶装置。
【請求項１３】
前記記憶部は、
第１ラッチ回路と、
第２ラッチ回路と、
第３ラッチ回路と、
第４ラッチ回路と、
を更に備え
前記シーケンサは、
前記第１読み出しの際、前記第２メモリセルから読み出された第３データを前記第１ラッチ回路に記憶し、
前記第２読み出しの際、前記第１メモリセルから読み出されたデータを反転させた第４データを前記第２ラッチ回路に記憶し、
前記第２ラッチ回路に記憶された前記第４データを前記第３ラッチ回路に記憶し、  
前記第３読み出しの際、前記第１メモリセルから読み出された第５データを前記第４ラッチ回路に記憶し、
前記第５データと、前記第４データとの論理和演算を行い、前記第２データを生成し、前記第２ラッチ回路に記憶し、
前記第５データの反転データと、前記第３データとの論理積演算を行い、前記論理積演算の結果と、前記第４データとの論理和演算を行い、前記第１データを生成し、前記第３ラッチ回路に記憶する請求項５に記載の記憶装置。
【請求項１４】
前記記憶部は、前記第２データの読み出し要求を受信すると、
前記第２ラッチ回路に記憶された前記第２データを、前記制御部に出力する請求項１３に記載の記憶装置。
【請求項１５】
前記記憶部は、
第１ラッチ回路と、
第２ラッチ回路と、
第３ラッチ回路と、
第４ラッチ回路と、
を更に備え、
前記シーケンサは、
前記第２メモリセルのゲートに第１電圧を印加する前記第１読み出しの際、前記第２メモリセルから読み出された第３データを前記第１ラッチ回路に記憶し、
前記第１メモリセルのゲートに前記第１電圧を印加する前記第２読み出しの際、前記第１メモリセルから読み出された第４データを前記第２ラッチ回路に記憶し、
前記第２ラッチ回路に記憶された前記第４データを反転させた第５データを前記第３ラッチ回路に記憶し、  
前記第１メモリセルのゲートに前記第１電圧を印加する前記第３読み出しの際、前記第１メモリセルから読み出された第６データを前記第２ラッチ回路に記憶し、
前記第６データを反転させたデータと、前記第３データとの論理積演算を行い、前記論理積演算の結果と、前記第５データとの論理和演算を行い、前記論理和演算の結果である第７データを前記第４ラッチ回路に記憶し、
前記第５データと、前記第６データとの論理和演算を行い、前記論理和演算の結果である第８データを前記第３ラッチ回路に記憶し、
前記第２メモリセルのゲートに前記第１電圧と異なる第２電圧を印加する前記第１読み出しの際、前記第２メモリセルから読み出された第９データを前記第１ラッチ回路に記憶し、
前記第１メモリセルのゲートに前記第２電圧を印加する前記第２読み出しの際、前記第１メモリセルから読み出された第１０データを前記第２ラッチ回路に記憶し、
前記第１０データを反転させたデータと、前記第８データとの論理積演算を行い、前記論理積演算の結果である第１１データを前記第３ラッチ回路に記憶し、
前記第１０データと、前記第９データを反転させたデータとの論理積演算を行い、前記論理積演算の結果と、前記第７データとの論理和演算を行い、前記論理和演算の結果である第１２データを前記第４ラッチ回路に記憶し、
前記第１メモリセルのゲートに前記第２電圧を印加する前記第３読み出しの際、前記第１メモリセルから読み出された第１３データを前記第２ラッチ回路に記憶し、
前記第１３データと、前記第１１データとの論理和演算を行い、前記論理和演算の結果である前記第１データを前記第３ラッチ回路に記憶し、
前記第１３データと、前記第１２データとの論理和演算を行い、前記論理和演算の結果である前記第２データを前記第４ラッチ回路に記憶する請求項５に記載の記憶装置。
【請求項１６】
前記記憶部は、前記第２データの読み出し要求を受信すると、
前記第３ラッチ回路に記憶された前記第２データを、前記制御部に出力する請求項１５に記載の記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は記憶装置に関する。
【背景技術】
【０００２】
記憶装置として、ＮＡＮＤ型フラッシュメモリが知られている。
【発明の概要】
【０００３】
実施形態に係る記憶装置は、第１メモリセル及び前記第１メモリセルに隣り合う第２メモリセルと、前記第１メモリセルからデータを読み出す場合、前記第２メモリセルに対して第１読み出しを行い、前記第１メモリセルに対して第２読み出しを行い、前記第２メモリセルのゲートに前記第２読み出し時とは異なる電圧を印加し、前記第１メモリセルに対して第３読み出しを行い、前記第１〜第３読み出しの結果に基づいて、前記第１メモリセルに記憶された第１データと、前記第１データを補正するための第２データと、を生成するシーケンサと、を備える。
【図面の簡単な説明】
【０００４】
【図１】図１は、第１の実施形態に係るメモリシステムのブロック図である。
【図２】図２は、ＮＡＮＤ型フラッシュメモリのブロック図である。
【図３】図３は、ブロック及びセンス回路の回路図である。
【図４】図４は、センスアンプ部の回路図である。
【図５】図５は、メモリセルトランジスタの取りうるデータ及び閾値分布を示す図である。
【図６】図６は、第１の実施形態に係るメモリシステムの読み出し動作を示すフローチャートである。
【図７】図７は、第１動作を示すフローチャートである。
【図８】図８は、第１読み出し動作時におけるＮＡＮＤストリングの回路図であり、各配線の電圧を示している。
【図９】図９は、第１動作時におけるデータの流れを示した図である。
【図１０】図１０は、第２動作を示すフローチャートである。
【図１１】図１１は、第２読み出し動作時におけるＮＡＮＤストリングの回路図であり、各配線の電圧を示している。
【図１２】図１２は、第２動作時におけるデータの流れを示した図である。
【図１３】図１３は、第３動作を示すフローチャートである。
【図１４】図１４は、第３読み出し動作時におけるＮＡＮＤストリングの回路図であり、各配線の電圧を示している。
【図１５】図１５は、第３動作時におけるデータの流れを示した図である。
【図１６】図１６は、第３動作時におけるデータの流れを示した図である。
【図１７】図１７は、第３動作時におけるデータの流れを示した図である。
【図１８】図１８は、メモリセルトランジスタの閾値分布の変動例を示す図である。
【図１９】図１９は、メモリセルトランジスタの閾値分布の変動例を示す図である。
【図２０】図２０は、メモリセルトランジスタの閾値分布の変動例を示す図である。
【図２１】図２１は、第２動作におけるラッチ回路内に記憶されるデータを示す図である。
【図２２】図２２は、第２動作におけるラッチ回路内に記憶されるデータを示す図である。
【図２３】図２３は、第３動作におけるラッチ回路内に記憶されるデータを示す図である。
【図２４】図２４は、第３動作におけるラッチ回路内に記憶されるデータを示す図である。
【図２５】図２５は、第３動作におけるラッチ回路内に記憶されるデータを示す図である。
【図２６】図２６は、メモリセルトランジスタの閾値分布と、ラッチ回路に記憶されるデータとの関係を示した図である。
【図２７】図２７は、第１の実施形態に係るメモリシステムの読み出し動作を示すコマンドシーケンスである。
【図２８】図２８は、メモリセルトランジスタの取りうるデータ及び閾値分布を示す図である。
【図２９】図２９は、第２の実施形態に係るメモリシステムの読み出し動作を示すフローチャートである。
【図３０】図３０は、下位ページ読み出し動作を示すフローチャートである。
【図３１】図３１は、第４動作を示すフローチャートである。
【図３２】図３２は、第４動作時におけるデータの流れを示した図である。
【図３３】図３３は、第５動作を示すフローチャートである。
【図３４】図３４は、第５動作時におけるデータの流れを示した図である。
【図３５】図３５は、第６動作を示すフローチャートである。
【図３６】図３６は、第６動作時におけるデータの流れを示した図である。
【図３７】図３７は、第６動作時におけるデータの流れを示した図である。
【図３８】図３８は、第６動作時におけるデータの流れを示した図である。
【図３９】図３９は、上位ページ読み出し動作を示すフローチャートである。
【図４０】図４０は、第７動作を示すフローチャートである。
【図４１】図４１は、第７動作時におけるデータの流れを示した図である。
【図４２】図４２は、第８動作を示すフローチャートである。
【図４３】図４３は、第８動作時におけるデータの流れを示した図である。
【図４４】図４４は、第９動作を示すフローチャートである。
【図４５】図４５は、第９動作時におけるデータの流れを示した図である。
【図４６】図４６は、第９動作時におけるデータの流れを示した図である。
【図４７】図４７は、第１０動作を示すフローチャートである。
【図４８】図４８は、第１０動作時におけるデータの流れを示した図である。
【図４９】図４９は、第１１動作を示すフローチャートである。
【図５０】図５０は、第１１動作時におけるデータの流れを示した図である。
【図５１】図５１は、第１１動作時におけるデータの流れを示した図である。
【図５２】図５２は、第１１動作時におけるデータの流れを示した図である。
【図５３】図５３は、第１２動作を示すフローチャートである。
【図５４】図５４は、第１２動作時におけるデータの流れを示した図である。
【図５５】図５５は、第１２動作時におけるデータの流れを示した図である。
【図５６】図５６は、第１２動作時におけるデータの流れを示した図である。
【図５７】図５７は、メモリセルトランジスタの閾値分布の変動例を示す図である。
【図５８】図５８は、メモリセルトランジスタの閾値分布の変動例を示す図である。
【図５９】図５９は、メモリセルトランジスタの閾値分布の変動例を示す図である。
【図６０】図６０は、第５動作におけるラッチ回路内に記憶されるデータを示す図である。
【図６１】図６１は、第５動作におけるラッチ回路内に記憶されるデータを示す図である。
【図６２】図６２は、第６動作におけるラッチ回路内に記憶されるデータを示す図である。
【図６３】図６３は、第６動作におけるラッチ回路内に記憶されるデータを示す図である。
【図６４】図６４は、第６動作におけるラッチ回路内に記憶されるデータを示す図である。
【図６５】図６５は、メモリセルトランジスタの閾値分布と、ラッチ回路に記憶されるデータとの関係を示した図である。
【図６６】図６６は、第８動作におけるラッチ回路内に記憶されるデータを示す図である。
【図６７】図６７は、第８動作におけるラッチ回路内に記憶されるデータを示す図である。
【図６８】図６８は、第９動作におけるラッチ回路内に記憶されるデータを示す図である。
【図６９】図６９は、第９動作におけるラッチ回路内に記憶されるデータを示す図である。
【図７０】図７０は、第９動作におけるラッチ回路内に記憶されるデータを示す図である。
【図７１】図７１は、第１１動作におけるラッチ回路内に記憶されるデータを示す図である。
【図７２】図７２は、第１１動作におけるラッチ回路内に記憶されるデータを示す図である。
【図７３】図７３は、第１１動作におけるラッチ回路内に記憶されるデータを示す図である。
【図７４】図７４は、第１２動作におけるラッチ回路内に記憶されるデータを示す図である。
【図７５】図７５は、第１２動作におけるラッチ回路内に記憶されるデータを示す図である。
【図７６】図７６は、第１２動作におけるラッチ回路内に記憶されるデータを示す図である。
【図７７】図７７は、メモリセルトランジスタの閾値分布と、ラッチ回路に記憶されるデータとの関係を示した図である。
【図７８】図７８は、第２の実施形態に係るメモリシステムの読み出し動作を示すコマンドシーケンスである。
【図７９】図７９は、第２の実施形態に係るメモリシステムの読み出し動作を示すコマンドシーケンスである。
【図８０】図８０は、変形例に係るメモリシステムの読み出し動作を示すコマンドシーケンスである。
【図８１】図８１は、メモリセルトランジスタの閾値分布と、ラッチ回路に記憶されるデータとの関係を示した図である。
【実施形態】
【０００５】
以下、実施形態につき図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【０００６】
＜１＞第１実施形態    
第１実施形態に係る半導体記憶装置について説明する。以下では半導体記憶装置として、メモリセルトランジスタが半導体基板の上方に積層された三次元積層型ＮＡＮＤ型フラッシュメモリを例に挙げて説明する。
【０００７】
＜１−１＞構成
＜１−１−１＞メモリシステムの構成について  
まず、本実施形態に係る半導体記憶装置を含むメモリシステムの構成について、図１を用いて説明する。
【０００８】
図１に示すようにメモリシステム１は、ＮＡＮＤ型フラッシュメモリ（NAND flash memory）１００及びメモリコントローラ２００を備えている。メモリコントローラ２００とＮＡＮＤ型フラッシュメモリ１００は、例えばそれらの組み合わせにより一つの半導体装置を構成しても良い。その例としてはＳＤＴＭカードのようなメモリカードや、ＳＳＤ（solid state drive）等が挙げられる。なお、メモリシステム１は、ホストデバイス３００を更に備える構成であっても良い。
【０００９】
ＮＡＮＤ型フラッシュメモリ１００は、複数のメモリセルトランジスタを備え、データを不揮発に記憶する。ＮＡＮＤ型フラッシュメモリ１００の構成の詳細は後述する。
【００１０】
メモリコントローラ２００は、ホストデバイス３００からの命令に応答して、ＮＡＮＤ型フラッシュメモリ１００に対して読み出し、書き込み、消去等を命令する。
【００１１】
メモリコントローラ２００は、ホストインターフェイス回路（Host I/F）２０１、内蔵メモリ（ＲＡＭ: Random access memory）２０２、プロセッサ（ＣＰＵ:Central processing unit）２０３、バッファメモリ２０４、ＮＡＮＤインターフェイス回路（NAND I/F）２０５、及びＥＣＣ回路（エラー訂正回路またはＥＣＣ）２０６を備えている。
【００１２】
ホストインターフェイス回路２０１は、コントローラバスを介してホストデバイス３００と接続され、メモリコントローラ２００と、ホストデバイス３００との通信を司る。そして、ホストインターフェイス回路２０１は、ホストデバイス３００から受信した命令及びデータを、それぞれＣＰＵ２０３及びバッファメモリ２０４に転送する。ホストインターフェイス回路２０１は、ＣＰＵ２０３の命令に応答して、バッファメモリ２０４内のデータをホストデバイス３００へ転送する。
【００１３】
ＮＡＮＤインターフェイス回路２０５は、ＮＡＮＤバスを介してＮＡＮＤ型フラッシュメモリ１００と接続される。そして、ＮＡＮＤインターフェイス回路２０５は、ＮＡＮＤ型フラッシュメモリ１００とメモリコントローラ２００の通信を司る。そして、ＮＡＮＤインターフェイス回路２０５は、ＣＰＵ２０３から受信した命令をＮＡＮＤ型フラッシュメモリ１００に転送する。更に、ＮＡＮＤインターフェイス回路２０５は、データの書き込み時にはバッファメモリ２０４内の書き込みデータをＮＡＮＤ型フラッシュメモリ１００へ転送する。更に、ＮＡＮＤインターフェイス回路２０５は、データの読み出し時には、ＮＡＮＤ型フラッシュメモリ１００から読み出されたデータをバッファメモリ２０４へ転送する。
【００１４】
ＮＡＮＤバスは、ＮＡＮＤインターフェイスに従った信号の送受信を行う。この信号の具体例は、コマンドラッチイネーブル信号ＣＬＥ、アドレスラッチイネーブル信号ＡＬＥ、ライトイネーブル信号ＷＥｎ、リードイネーブル信号ＲＥｎ、レディ・ビジー信号ＲＢｎ、及び入出力信号Ｉ／Ｏである。
【００１５】
信号ＣＬＥ及びＡＬＥは、ＮＡＮＤ型フラッシュメモリ１００への入力信号Ｉ／Ｏがそれぞれコマンド及びアドレスであることをＮＡＮＤ型フラッシュメモリ１００に通知する信号である。信号ＷＥｎはlowレベルでアサートされ、入力信号Ｉ／ＯをＮＡＮＤ型フラッシュメモリ１００に取り込ませるための信号である。「アサート」とは、信号（または論理）が有効（アクティブ）な状態とされていることを意味し、これに相対する用語として「ネゲート」は信号（または論理が無効（インアクティブ）な状態とされていることを意味する。信号ＲＥｎもlowレベルでアサートされ、ＮＡＮＤ型フラッシュメモリ１００から出力信号Ｉ／Ｏを読み出すための信号である。レディ・ビジー信号ＲＢｎは、ＮＡＮＤ型フラッシュメモリ１００がレディ状態（メモリコントローラ２００からの命令を受信出来る状態）であるか、それともビジー状態（メモリコントローラ２００からの命令を受信出来ない状態）であるかを示す信号であり、lowレベルがビジー状態を示す。入出力信号Ｉ／Ｏは、例えば８ビットの信号である。そして入出力信号Ｉ／Ｏは、ＮＡＮＤ型フラッシュメモリ１００とメモリコントローラ２００との間で送受信されるデータの実体であり、コマンド、アドレス、書き込みデータ、及び読み出しデータ等である。
【００１６】
ＣＰＵ２０３は、メモリコントローラ２００全体の動作を制御する。例えば、ＣＰＵ２０３は、ホストデバイス３００から書き込み命令を受信した際には、ＮＡＮＤインターフェイス回路２０５に基づく書き込み命令を発行する。読み出し及び消去の際も同様である。ＣＰＵ２０３は、ウェアレベリング等、ＮＡＮＤ型フラッシュメモリ１００を管理するための様々な処理を実行する。更にＣＰＵ２０３は、各種の演算を実行する。例えば、データの暗号化処理やランダマイズ処理等を実行する。尚、上述したように、ホストデバイス３００が、メモリシステム１に含まれる場合においても、ＣＰＵ２０３は、メモリシステム１全体の動作を司る。
【００１７】
ＥＣＣ回路２０６は、データの誤り訂正（ＥＣＣ：Error Checking and Correcting）処理を実行する。すなわちＥＣＣ回路２０６は、データの書き込み時には書き込みデータに基づいてパリティを生成する。そして、ＥＣＣ回路２０６は、データの読み出し時には前記パリティからシンドロームを生成して誤りを検出し、誤りを訂正する。なお、ＣＰＵ２０３がＥＣＣ回路２０６の機能を有していても良い。
【００１８】
ところで、ＮＡＮＤ型フラッシュメモリは、素子の微細化に伴い、閾値分布の間の間隔が狭くなる。このため、データ読み出しの際に、誤ったデータが読み出され、データの信頼性が低下する可能性がある。そこでＥＣＣ回路２０６に、例えばＬＤＰＣ（Low density parity check）符号を用いたエラー訂正方法を採用することが考えられる。
【００１９】
このＬＤＰＣ符号を用いたエラー訂正方法では、通常の読み出し動作で読み出された値（硬値またはハードビットデータ）以外に、別の値（軟値またはソフトビットデータ）が必要である。
【００２０】
本実施形態では、後述する第１〜第３動作により、通常の読み出しデータと、ソフトビットデータを生成することができる。ＥＣＣ回路２０６は、ソフトビットデータを用いて、エラー訂正動作を行うことができる。ソフトビットデータとは、メモリセルトランジスタＭＴの閾値電圧値がどの位置にあるか（例えば、あるレベルの閾値分布の中心付近にあるのか、分布の右側にあるのか、分布の左側にあるのか等）を示す情報である。換言すれば、ソフトビットデータは、読み出されたデータの「確からしさ」を示す情報である。
【００２１】
内蔵メモリ２０２は、例えばＤＲＡＭ等の半導体メモリであり、ＣＰＵ２０３の作業領域として使用される。そして内蔵メモリ２０２は、ＮＡＮＤ型フラッシュメモリ１００を管理するためのファームウェアや、各種の管理テーブル等を記憶する。
【００２２】
＜１−１−２＞ＮＡＮＤ型フラッシュメモリの構成について  
次に、図２を用いてＮＡＮＤ型フラッシュメモリ１００の構成について説明する。
【００２３】
図２に示すようにＮＡＮＤ型フラッシュメモリ１００は、周辺回路１１０及びコア部１２０を備えている。
【００２４】
コア部１２０は、メモリセルアレイ１３０、センス回路１４０、及びロウデコーダ（R/D）１５０を備えている。
【００２５】
メモリセルアレイ１３０は、複数の不揮発性メモリセルトランジスタを備えており、複数の不揮発性メモリセルトランジスタのそれぞれがワード線及びビット線に関連付けられている。そして、メモリセルアレイ１３０は、複数の不揮発性メモリセルトランジスタの集合である複数（図２の例では３個）のブロックＢＬＫ（ＢＬＫ０、ＢＬＫ１、ＢＬＫ２、…）を備えている。ブロックＢＬＫは例えばデータの消去単位となり、同一ブロックＢＬＫ内のデータは一括して消去される。
【００２６】
データの消去は、ブロックＢＬＫ単位、またはブロックＢＬＫよりも小さい単位で行うことが出来る。消去方法に関しては、例えば“NONVOLATILE SEMICONDUCTOR MEMORY DEVICE”という２０１１年９月１８日に出願された米国特許出願１３／２３５，３８９号に記載されている。また、“NON-VOLATILE SEMICONDUCTOR STORAGE DEVICE”という２０１０年１月２７日に出願された米国特許出願１２／６９４，６９０号に記載されている。更に、“NONVOLATILE SEMICONDUCTOR MEMORY DEVICE AND DATA ERASE METHOD THEREOF”という２０１２年５月３０日に出願された米国特許出願１３／４８３，６１０号に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
【００２７】
ブロックＢＬＫの各々は、メモリセルトランジスタが直列接続されたＮＡＮＤストリング１３１の集合である複数（図２の例では３個）のストリングユニットＳＵ（ＳＵ０、ＳＵ１、ＳＵ２、…）を備えている。もちろん、メモリセルアレイ１３０内のブロック数や、１ブロックＢＬＫ内のストリングユニット数は任意である。メモリセルアレイ１３０内のブロックの物理的な位置を示すものをブロックアドレスと呼ぶ。
【００２８】
ロウデコーダ１５０は、ブロックアドレスに対応するブロックのいずれかのワード線を選択する。
【００２９】
センス回路１４０は、複数のセンスアンプユニットＳＡＵを備える。複数のセンスアンプユニットＳＡＵは、データの読み出し時には、メモリセルトランジスタからビット線に読み出されたデータをセンスする。
【００３０】
周辺回路１１０は、シーケンサ１１１、レジスタ１１２、及びドライバ１１３を備える。
【００３１】
シーケンサ１１１は、ＮＡＮＤ型フラッシュメモリ１００全体の動作を制御する。
【００３２】
レジスタ１１２は、種々の信号を記憶する。例えば、レジスタ１１２は、データの書き込みや消去動作のステータスを記憶し、これによってコントローラに動作が正常に完了したか否かを通知する。なお、レジスタ１１２は、種々のテーブルを記憶することも可能である。
【００３３】
ドライバ１１３は、データの書き込み、読み出し、及び消去に必要な電圧を、ロウデコーダ１５０、センス回路１４０、及び図示せぬソース線ドライバに供給する。
【００３４】
＜１−１−３＞ブロックＢＬＫの構成について  
次に、上記ブロックＢＬＫの構成について、図３を用いて説明する。
【００３５】
図３に示すようにブロックＢＬＫは、複数のＮＡＮＤストリング１３１を含む。ＮＡＮＤストリング１３１の各々は、複数（図３の例では８個）のメモリセルトランジスタＭＴ（ＭＴ０〜ＭＴ７）及び選択トランジスタＳＴ１、ＳＴ２を含んでいる。メモリセルトランジスタＭＴは、制御ゲートと電荷蓄積層とを備え、データを不揮発に記憶する。そしてメモリセルトランジスタＭＴは、選択トランジスタＳＴ１のソースと選択トランジスタＳＴ２のドレインとの間に直列接続されている。
【００３６】
同一ブロック内の選択トランジスタＳＴ１及びＳＴ２のゲートは、それぞれセレクトゲート線ＳＧＤ及びＳＧＳに共通接続される。同様に、同一ブロック内のメモリセルトランジスタＭＴ０〜ＭＴ７の制御ゲートは、それぞれワード線ＷＬ０〜ＷＬ７に共通接続される。
【００３７】
メモリセルアレイ１３０内において同一列にあるＮＡＮＤストリング１３１の選択トランジスタＳＴ１のドレインは、ビット線ＢＬ（ＢＬ０〜ＢＬ（Ｌ−１）：Ｌは２以上の自然数）に共通接続される。すなわちビット線ＢＬは、複数のブロックＢＬＫ間でＮＡＮＤストリング１３１を共通に接続する。更に、複数の選択トランジスタＳＴ２のソースは、ソース線ＳＬに共通に接続されている。
【００３８】
本例では、１つのメモリセルトランジスタＭＴが例えば１ビットデータを記憶可能である。同一のワード線に接続されたメモリセルの記憶するビットの集合をページと呼ぶ。つまり、１本のワード線ＷＬには１ページが割り当てられ、８本のワード線ＷＬを含むブロックＢＬＫは８ページ分の容量を有することになる。あるいは言い換えるならば、「ページ」とは、同一ワード線に接続されたメモリセルによって形成されるメモリ空間の一部、と定義することも出来る。データの書き込み及び読み出しは、このページ毎に行っても良い（この読み出し方法をpage-by-page readingと呼ぶ）。
【００３９】
なおメモリセルアレイ１３０は、メモリセルトランジスタが半導体基板の上方に三次元に積層された構成であっても良い。このような構成については、例えば、“三次元積層不揮発性半導体メモリ”という２００９年３月１９日に出願された米国特許出願１２／４０７，４０３号に記載されている。また、“三次元積層不揮発性半導体メモリ”という２００９年３月１８日に出願された米国特許出願１２／４０６，５２４号、“不揮発性半導体記憶装置及びその製造方法”という２０１０年３月２５日に出願された米国特許出願１２／６７９，９９１号“半導体メモリ及びその製造方法”という２００９年３月２３日に出願された米国特許出願１２／５３２，０３０号に記載されている。これらの特許出願は、その全体が本願明細書において参照により援用されている。
【００４０】
＜１−１−４＞センス回路の構成について
＜１−１−４−１＞センス回路の概要について
次に、センス回路１４０の構成について、図３を用いて説明する。
【００４１】
図３に示すようにセンス回路１４０は、ビット線ＢＬ毎に設けられたセンスアンプユニットＳＡＵ（ＳＡＵ０〜ＳＡＵ（Ｌ−１））を備えている。
【００４２】
センスアンプユニットＳＡＵの各々は、センスアンプ部ＳＡ、演算部ＯＰ、及び例えば４つのラッチ回路ＳＤＬ、ＬＤＬ、ＵＤＬ、及びＸＤＬを備えている。
【００４３】
センスアンプ部ＳＡは、対応するビット線ＢＬに読み出されたデータをセンスし、書き込みデータに応じてビット線ＢＬに電圧を印加する。すなわちセンスアンプ部ＳＡは、ビット線ＢＬを直接的に制御するモジュールである。そしてセンスアンプ部ＳＡには、例えばシーケンサ１１１によって制御信号ＳＴＢが与えられる。センスアンプ部ＳＡは、信号ＳＴＢがアサートされるタイミングで読み出しデータを確定させ（“０”または“１”）、これをラッチ回路ＳＤＬ、ＬＤＬ、ＵＤＬ、及びＸＤＬのいずれかに転送する。
【００４４】
ラッチ回路ＳＤＬ、ＬＤＬ、ＵＤＬ、及びＸＤＬは、読み出しデータ及び書き込みデータを一時的に記憶する。演算部ＯＰは、ラッチ回路ＳＤＬ、ＬＤＬ、ＵＤＬ、及びＸＤＬに記憶されているデータにつき、否定（ＮＯＴ）演算、論理和（ＯＲ）演算、論理積（ＡＮＤ）演算、排他的論理和（ＸＯＲ）演算など、種々の論理演算を行う。なお、シーケンサ１１１が、ラッチ回路ＳＤＬ、ＬＤＬ、ＵＤＬ、及びＸＤＬに記憶されているデータにつき、種々の論理演算を行っても良い。シーケンサ１１１、及び演算部ＯＰをまとめてシーケンサとして取り扱っても良い。
【００４５】
これらのセンスアンプ部ＳＡ、ラッチ回路ＳＤＬ、ＬＤＬ、ＵＤＬ、及びＸＤＬ並びに演算部ＯＰは、互いにデータを送受信可能なようにバスによって接続されている。
【００４６】
センス回路１４０におけるデータの入出力は、ラッチ回路ＸＤＬを介して行われる。すなわち、メモリコントローラ２００から受信したデータは、ラッチ回路ＸＤＬを介して、ラッチ回路ＳＤＬ、ＬＤＬ、ＵＤＬ、またはセンスアンプ部ＳＡに転送される。またラッチ回路ＳＤＬ、ＬＤＬ、ＵＤＬ、またはセンスアンプ部ＳＡのデータは、ラッチ回路ＸＤＬを介してメモリコントローラ２００へ送信される。そしてラッチ回路ＸＤＬは、ＮＡＮＤ型フラッシュメモリ１００のキャッシュメモリとして機能する。従って、ラッチ回路ＳＤＬ、ＬＤＬ、及びＵＤＬが使用中であったとしても、ラッチ回路ＸＤＬが空いていれば、ＮＡＮＤ型フラッシュメモリ１００はレディ状態となることが出来る。
【００４７】
＜１−１−４−２＞センスアンプ部ＳＡの構成について
図４を用いて、センスアンプ部ＳＡの構成について説明をする。
【００４８】
図４に示すように、センスアンプ部ＳＡは、センス部１６、及び接続部１５を備えている。
【００４９】
接続部１５は、対応するビット線ＢＬとセンス部１６とを接続し、ビット線ＢＬの電位を制御する。具体的には、接続部１５は、ｎチャネルＭＯＳトランジスタ１５ａ及び１５ｂを備えている。トランジスタ１５ａは、ゲートに信号ＢＬＳが印加され、ソースが、対応するビット線ＢＬに接続される。トランジスタ１５ｂは、ソースがトランジスタ１５ａのドレインに接続され、ゲートに信号ＢＬＣが印加され、ドレインがノードＳＣＯＭに接続される。トランジスタ１５ｂは、対応するビット線ＢＬを、信号ＢＬＣに応じた電位にクランプするためのものである。
【００５０】
センス部１６は、ビット線ＢＬに読み出されたデータをセンスする。センス部１６は、ｎチャネルＭＯＳトランジスタ１６ａ〜１６ｇ、ｐチャネルＭＯＳトランジスタ１６ｈ、及び容量素子１６ｉを備えている。
【００５１】
トランジスタ１６ｈは、ゲートにノードＩＮＶ＿Ｓが接続され、ドレインがノードＳＳＲＣに接続され、ソースに電源電圧ＶＤＤが与えられる。トランジスタ１６ｈは、ビット線ＢＬ及び容量素子１６ｉを充電するためのものである。トランジスタ１６ａは、ゲートに信号ＢＬＸが与えられ、ドレインがノードＳＳＲＣに接続され、ソースがノードＳＣＯＭに接続される。トランジスタ１６ａは、ビット線ＢＬをプリチャージするためのものである。トランジスタ１６ｃは、ゲートに信号ＨＬＬが与えられ、ドレインがノードＳＳＲＣに接続され、ソースがノードＳＥＮに接続される。トランジスタ１６ｃは、容量素子１６ｉを充電するためのものである。トランジスタ１６ｂは、ゲートに信号ＸＸＬが与えられ、ドレインがノードＳＥＮに接続され、ソースがノードＳＣＯＭに接続される。トランジスタ１６ｂは、データセンスの際にノードＳＥＮをディスチャージするためのものである。トランジスタ１６ｇは、ゲートがノードＩＮＶ＿Ｓに接続され、ドレインがノードＳＣＯＭに接続され、ソースがノードＳＲＣＧＮＤに接続される。トランジスタ１６ｇは、ビット線ＢＬを一定電位に固定するためのものである。
【００５２】
容量素子１６ｉは、ビット線ＢＬのプリチャージの際に充電され、一方電極がノードＳＥＮに接続され、他方電極には信号ＣＬＫが与えられる。
【００５３】
トランジスタ１６ｄは、ゲートに信号ＢＬＱが与えられ、ソースがノードＳＥＮに接続され、ドレインがノードＬＢＵＳに接続される。ノードＬＢＵＳは、センス部１６とラッチ回路とを接続するための信号経路である。トランジスタ１６ｅは、ゲートに信号ＳＴＢが与えられ、ドレインがノードＬＢＵＳに接続される。トランジスタ１６ｅは、データのセンスタイミングを決定すると共に、読み出しデータをラッチ回路に記憶するためのものである。
【００５４】
トランジスタ１６ｆは、ゲートがノードＳＥＮに接続され、ドレインがトランジスタ１６ｅのソースに接続され、ソースが接地される。トランジスタ１６ｆは、読み出しデータが“０”であるか“１”であるかをセンスするためのものである。
【００５５】
ノードＩＮＶ＿Ｓは、ラッチ回路内のノードであり、ラッチ回路の記憶データに応じたレベルを取り得る。例えば、データの読み出し時に選択メモリセルがオン状態となり、ノードＳＥＮが十分に低下すれば、ノードＩＮＶ＿Ｓは“Ｈ”レベルとなる。他方、選択メモリセルがオフ状態であり、ノードＳＥＮが一定電位を保持していれば、ノードＩＮＶ＿Ｓは“Ｌ”レベルとなる。
【００５６】
以上の構成において、信号ＳＴＢがアサートされるタイミングで、トランジスタ１６ｆがノードＳＥＮの電位に基づいて読み出しデータをセンスし、トランジスタ１６ｅは読み出しデータをラッチ回路に転送する。信号ＳＴＢを含め、各種の制御信号は、例えばシーケンサ１１１によって与えられる。
【００５７】
なお、センスアンプ部ＳＡとしては種々の構成が適用出来、例えば“THRESHOLD DETECTING METHOD AND VERIFY METHOD OF MEMORY CELL”と表題され、２０１１年３月２１日に出願された米国特許出願１３／０５２，１４８に記載された構成が適用出来る。この特許出願の内容は、その全体が本願明細書において参照により援用されている。
【００５８】
＜１−１−５＞メモリセルトランジスタの閾値分布について  
図５を用いて、本実施態様に従ったメモリセルトランジスタＭＴの取りうるデータ及び閾値分布について説明する。
【００５９】
図５に示すように、各々のメモリセルトランジスタＭＴは、その閾値に応じて例えば１ビットのデータを記憶可能である。
【００６０】
この１ビットデータは、閾値の低いものから順番に、例えば“１”、“０”である。
【００６１】
“１”データを記憶するメモリセルの閾値は、“Ｅ”レベルである。Ｅレベルは、電荷蓄積層内の電荷が引き抜かれて、データが消去された状態における閾値であり、正または負の値である（例えば電圧ＶＡ未満）。
【００６２】
“０”は、電荷蓄積層内に電荷が注入されて、データが書き込まれた状態の閾値である。“０”データを記憶するメモリセルの閾値は“Ａ”レベルであり、Ｅレベルよりも高い（例えば電圧ＶＡ以上）。
【００６３】
＜１−２＞データの読み出し動作について  
次に、本実施態様に従った読み出し動作について説明する。ここでは、通常の読み出しデータと、ソフトビットデータと、を読み出す動作について説明する。
【００６４】
＜１−２−１＞読み出し動作の流れについて  
図８を用いて、本実施形態のメモリシステム１の読み出し動作のおおまかな流れについて説明する。
【００６５】
[ステップＳ１０１]
メモリコントローラ２００は、ホストデバイス３００から読み出し命令を受けると、ＮＡＮＤ型フラッシュメモリ１００に対して読み出し要求を行う。
【００６６】
[ステップＳ１０２]
ＮＡＮＤ型フラッシュメモリ１００は、メモリコントローラ２００からの読み出し要求を受けると、第１動作を実行する。第１動作は、後述する第３動作用のデータを取得するための動作である。第１動作に関する詳細な説明は後述する。
【００６７】
[ステップＳ１０３]
ＮＡＮＤ型フラッシュメモリ１００は、第１動作が終了すると、第２動作を実行する。第２動作は、後述する第３動作用のデータを取得するための動作である。第２動作に関する詳細な説明は後述する。
【００６８】
[ステップＳ１０４]
ＮＡＮＤ型フラッシュメモリ１００は、第２動作が終了すると、第３動作を実行する。第３動作に関する詳細な説明は後述する。この第３動作により、通常の読み出しデータと、ソフトビットデータと、がセンス回路１４０のラッチ回路に記憶される。
【００６９】
[ステップＳ１０５]
ＮＡＮＤ型フラッシュメモリ１００は、第１〜第３動作の結果に基づいて通常の読み出しデータを出力する。
【００７０】
[ステップＳ１０６]
ＥＣＣ回路２０６は、通常の読み出しデータを受信すると、エラー訂正動作を行う。
【００７１】
[ステップＳ１０７]
メモリコントローラ２００は、ＥＣＣ回路２０６による受信データのエラー訂正が完了したか否かを判定する。
【００７２】
[ステップＳ１０８]
メモリコントローラ２００は、受信データのエラー訂正が完了したと判定する場合（ステップＳ１０７、ＹＥＳ）、読み出し命令が完了したか否かを判定する。メモリコントローラ２００は、読み出し命令が完了したと判定する場合（ステップＳ１０８、ＹＥＳ）、読み出し動作を完了する。メモリコントローラ２００は、読み出し命令が完了していないと判定する場合（ステップＳ１０８、ＮＯ）、ステップＳ１０１を再度実行する。
【００７３】
[ステップＳ１０９]
メモリコントローラ２００は、受信データのエラー訂正が完了していないと判定する場合（ステップＳ１０７、ＮＯ）、ＮＡＮＤ型フラッシュメモリ１００に対して、ソフトビットデータの読み出し要求を行う。
【００７４】
[ステップＳ１１０]
ＮＡＮＤ型フラッシュメモリ１００は、ステップＳ１０４で読み出されたソフトビットデータを所定のラッチ回路に転送する。転送動作に関する詳細な説明は後述する。
【００７５】
[ステップＳ１１１]
ＮＡＮＤ型フラッシュメモリ１００は、ソフトビットデータを出力する。
【００７６】
[ステップＳ１１２]
ＥＣＣ回路２０６は、ソフトビットデータを受信すると、ＬＰＤＣ符号を用いたエラー訂正動作を行う。
【００７７】
[ステップＳ１１３]
メモリコントローラ２００は、ソフトビットデータを用いたエラー訂正が完了したか否かを判定する。
【００７８】
[ステップＳ１１４]
メモリコントローラ２００は、ソフトビットデータを用いたエラー訂正が完了していないと判定する場合（ステップＳ１１３、ＮＯ）、ホストデバイス３００に対して、“フェイル”を発行する。
【００７９】
[ステップＳ１１５]
メモリコントローラ２００は、ソフトビットデータを用いたエラー訂正が完了したと判定する場合（ステップＳ１１３、ＹＥＳ）、読み出し命令が完了したか否かを判定する。メモリコントローラ２００は、読み出し命令が完了したと判定する場合（ステップＳ１１５、ＹＥＳ）、読み出し動作を完了する。メモリコントローラ２００は、読み出し命令が完了していないと判定する場合（ステップＳ１１５、ＮＯ）、ステップＳ１０１を再度実行する。
【００８０】
＜１−２−２＞第１動作について  
図７を用いて、図６のステップＳ１０２の第１動作について説明する。
【００８１】
[ステップＳ２０１]
シーケンサ１１１は、メモリセルアレイ１３０に対して第１読み出し動作を行う。
【００８２】
図８を用いて第１読み出し動作について説明する。
【００８３】
第１読み出しとは、選択ワード線ＷＬｎにドレイン側で隣り合うワード線（仮選択ワード線とも呼ぶ）ＷＬｎ＋１に接続されたメモリセルトランジスタＭＴｎ＋１からデータを読み出す動作である。
【００８４】
選択メモリセルトランジスタＭＴｎは、隣り合うメモリセルトランジスタＭＴｎ＋１からセル間干渉効果を受けて、閾値分布が変動することがある。この第１読み出しは、上記セル間干渉効果を補正するための読み出し動作である。第１読み出し動作で読み出されたデータは、読み出しデータを補正するために後述する第３動作で用いられる。
【００８５】
本例では、ワード線ＷＬ２が選択ワード線ＷＬｎである場合について説明する。
【００８６】
図８に示すように、第１読み出し時において、センスアンプ部ＳＡは、ビット線ＢＬに電流を供給し、例えば電圧ＶＢＬにプリチャージする。ロウデコーダ１５０は、仮選択ワード線ＷＬ３に正電圧ＶＣＧＲＶを印加し、その他の選択ワード線ＷＬ０〜ＷＬ２及びＷＬ４〜ＷＬ７に正電圧ＶＲＥＡＤを印加する。電圧ＶＣＧＲＶは、読み出し対象となるデータに応じて変化し、例えば図５で説明した電圧ＶＡとされる。電圧ＶＲＥＡＤは、記憶データに関わらずメモリセルトランジスタＭＴをオンさせる電圧であり、ＶＣＧＲＶ＜ＶＲＥＡＤである。
【００８７】
そしてロウデコーダ１５０は、選択したセレクトゲート線ＳＧＤ及びＳＧＳに正電圧ＶＳＧを印加する。
【００８８】
以上の結果、選択トランジスタＳＴ及びメモリセルトランジスタＭＴ０〜ＭＴ２及びＭＴ４〜ＭＴ７はオン状態となり、メモリセルトランジスタＭＴ３は、記憶データとＶＣＧＲＶとの関係に基づいて、オン状態またはオフ状態となる。
【００８９】
図９に示すように、第１読み出しでは、ワード線ＷＬ３に接続されたメモリセルトランジスタＭＴｎ＋１からデータ（Ｘ）がセンスアンプ部ＳＡ（ノードＳＥＮ）に読み出される。このデータ（Ｘ）は、セル間干渉効果を補正するためのデータとなる。
【００９０】
[ステップＳ２０２]
シーケンサ１１１は、データ（Ｘ）がセンスアンプ部ＳＡ（ノードＳＥＮ）に読み出されると、制御信号ＳＴＢをセンスアンプ部ＳＡに供給する。図９に示すように、センスアンプ部ＳＡは、信号ＳＴＢがアサートされるタイミングで、ノードＳＥＮの読み出しデータ（Ｘ）をラッチ回路ＵＤＬに転送する。これにより、ラッチ回路ＵＤＬに読み出しデータ（Ｘ）が記憶される。
【００９１】
＜１−２−３＞第２動作について  
図１０を用いて、図６のステップＳ１０３の第２動作について説明する。
【００９２】
[ステップＳ３０１]
シーケンサ１１１は、メモリセルアレイ１３０に対して第２読み出し動作を行う。
【００９３】
図１１を用いて第２読み出し動作について説明する。
【００９４】
第２読み出しとは、本来の読み出し対象である選択ワード線ＷＬ２からデータを読み出す動作である。
【００９５】
図１１に示すように、第２読み出し時において、センスアンプ部ＳＡは、ビット線ＢＬを、例えば電圧ＶＢＬにプリチャージする。ロウデコーダ１５０は、選択ワード線ＷＬ２に正電圧ＶＣＧＲＶを印加し、その他の非選択ワード線ＷＬ０〜ＷＬ１及びＷＬ３〜ＷＬ７に正電圧ＶＲＥＡＤを印加する。
【００９６】
図１２に示すように、第２読み出しでは、ワード線ＷＬ２に接続された選択メモリセルトランジスタＭＴ２からデータ（Ｙ）がセンスアンプ部ＳＡ（ノードＳＥＮ）に読み出される。このデータ（Ｙ）は、通常の読み出しデータと、ソフトビットデータと、を生成するときに用いられる。
【００９７】
[ステップＳ３０２]
シーケンサ１１１は、データ（Ｙ）がセンスアンプ部ＳＡ（ノードＳＥＮ）に読み出されると、制御信号ＳＴＢをセンスアンプ部ＳＡに供給する。図１２に示すように、センスアンプ部ＳＡは、信号ＳＴＢがアサートされるタイミングで、ノードＳＥＮの読み出しデータ（Ｙ）をラッチ回路ＬＤＬに転送する。そして、演算部ＯＰは、ラッチ回路ＬＤＬのデータ（Ｙ）を反転させ、データ（~Ｙ）を生成する。これにより、ラッチ回路ＬＤＬにデータ（~Ｙ）が記憶される。
【００９８】
[ステップＳ３０３]
図１２に示すように、シーケンサ１１１は、ラッチ回路ＬＤＬに記憶されたデータ（~Ｙ）をラッチ回路ＸＤＬに転送する。これにより、ラッチ回路ＸＤＬにデータ（~Ｙ）が記憶される。
【００９９】
＜１−２−４＞第３動作について  
図１３を用いて、図６のステップＳ１０４の第３動作について説明する。
【０１００】
[ステップＳ４０１]
シーケンサ１１１は、メモリセルアレイ１３０に対して第３読み出し動作を行う。
【０１０１】
図１４を用いて第３読み出し動作について説明する。
【０１０２】
第３読み出しとは、本来の読み出し対象であるワード線ＷＬ２からデータを読み出す動作である。
【０１０３】
図１４に示すように、第３読み出し時において、センスアンプ部ＳＡは、ビット線ＢＬを、例えば電圧ＶＢＬにプリチャージする。ロウデコーダ１５０は、選択ワード線ＷＬ２に正電圧ＶＣＧＲＶを印加し、選択ワード線ＷＬ２にドレイン側で隣り合う非選択ワード線ＷＬ３に、電圧ＶＲＥＡＤＬＡを印加し、その他の非選択ワード線ＷＬ０〜ＷＬ１及びＷＬ４〜ＷＬ７に正電圧ＶＲＥＡＤを印加する。
【０１０４】
第３読み出しが第２読み出しと異なる点は、第１読み出し対象とされた非選択ワード線ＷＬ３に、電圧ＶＲＥＡＤＬＡが印加される点である。
【０１０５】
電圧ＶＲＥＡＤＬＡは、電圧ＶＲＥＡＤと同様に、記憶データに関わらずメモリセルトランジスタＭＴをオンさせる電圧である。そして電圧ＶＲＥＡＤＬＡは、後述するセル間干渉効果による閾値変動の影響を補正するための電圧であり、ＶＲＥＡＤとは異なる値である。
【０１０６】
図１５に示すように、第３読み出しでは、選択ワード線ＷＬ２に接続された選択メモリセルトランジスタＭＴ２からデータ（Ｚ）がセンスアンプ部ＳＡ（ノードＳＥＮ）に読み出される。このデータ（Ｚ）は、通常の読み出しデータと、ソフトビットデータと、を生成するときに用いられる。
【０１０７】
[ステップＳ４０２]
シーケンサ１１１は、データ（Ｚ）がセンスアンプ部ＳＡ（ノードＳＥＮ）に読み出されると、制御信号ＳＴＢをセンスアンプ部ＳＡに供給する。図１５に示すように、センスアンプ部ＳＡは、信号ＳＴＢがアサートされるタイミングで、ノードＳＥＮの読み出しデータ（Ｚ）をラッチ回路ＳＤＬに転送する。これにより、ラッチ回路ＳＤＬにデータ（Ｚ）が記憶される。
【０１０８】
[ステップＳ４０３]
図１６に示すように、演算部ＯＰは、ラッチ回路ＳＤＬに記憶されたデータ（Ｚ）と、ラッチ回路ＬＤＬに記憶されたデータ（~Ｙ）と、の論理和演算（ＳＤＬ｜ＬＤＬ）を行い、データ（Ｚ｜~Ｙ）を生成してラッチ回路ＬＤＬに記憶させる。本実施形態において、ラッチ回路ＬＤＬに記憶されるデータ（Ｚ｜~Ｙ）は、ソフトビットデータとして取り扱われる。
【０１０９】
[ステップＳ４０４]
図１７に示すように、演算部ＯＰは、ラッチ回路ＳＤＬに記憶されたデータ（Ｚ）の反転データ（~Ｚ）と、ラッチ回路ＵＤＬに記憶されたデータ（Ｘ）と、の論理積演算（~ＳＤＬ＆ＵＤＬ）を行う。引き続き演算部ＯＰは、論理積演算の結果（~Ｚ＆Ｘ）と、ラッチ回路ＸＤＬに記憶されたデータ（~Ｙ）と、の論理和演算（~ＳＤＬ＆ＵＤＬ｜ＸＤＬ）を行い、データ（~Ｚ＆Ｘ｜~Ｙ）を生成してラッチ回路ＸＤＬに記憶させる。ラッチ回路ＸＤＬに記憶されたデータ（~Ｚ＆Ｘ｜~Ｙ）は、選択ワード線ＷＬｎに隣り合うワード線ＷＬｎ＋１に接続されるメモリセルトランジスタＭＴからのセル間干渉効果による閾値変動を考慮したデータ（通常の読み出しデータ）となる。
【０１１０】
＜１−２−５＞データ転送動作について  
図６のステップＳ１１０のデータ転送動作について説明する。
【０１１１】
シーケンサ１１１は、メモリコントローラ２００から、ソフトビットデータの読み出し要求を受信すると、ラッチ回路ＬＤＬに記憶されるデータ（Ｚ｜~Ｙ）を、ラッチ回路ＸＤＬに転送する。
【０１１２】
＜１−３＞ソフトビットデータ生成方法について
＜１−３−１＞選択メモリセルトランジスタの閾値分布の変動について
ここで、ソフトビットデータが生成される原理の理解を容易にするために、選択メモリセルトランジスタＭＴの閾値分布の変動について説明する。
【０１１３】
図１８を用いて、選択メモリセルトランジスタＭＴの閾値分布の変動について説明する。
【０１１４】
図１８に示す分布Ｅ１は、“Ｅ−ｌｅｖｅｌ”の理想的な閾値分布である。
【０１１５】
分布Ｅ１は、隣り合うメモリセルトランジスタからセル間干渉効果を受けて閾値が変動することがある。図１８に示すように、分布Ｅ２は、隣り合うメモリセルトランジスタからセル間干渉効果を受けて閾値が変動する場合の“Ｅ−ｌｅｖｅｌ”の閾値分布である。分布Ｅ２は、隣り合うメモリセルトランジスタからセル間干渉効果を受けるため、分布Ｅ１よりも閾値が高くなる。
【０１１６】
分布Ｅ２は、第３読み出し動作の際に、隣り合うワード線ＷＬに電圧ＶＲＥＡＤＬＡが印加されることにより、閾値が変動することがある。図１８に示すように、分布Ｅ３は、第３読み出し動作の場合に想定される“Ｅ−ｌｅｖｅｌ”の閾値分布である。分布Ｅ３は、選択ワード線ＷＬｎに隣り合うワード線ＷＬｎ＋１に電圧ＶＲＥＡＤＬＡが印加されることにより、選択ワード線ＷＬｎに印加される電圧ＶＣＧＲＶの電位が見かけ上、上昇する。そのため、分布Ｅ３は、分布Ｅ２よりも閾値が高くなる。
【０１１７】
図１８に示す分布Ａ１は、“Ａ−ｌｅｖｅｌ”の理想的な閾値分布である。
【０１１８】
図１８に示す分布Ａ２は、隣り合うメモリセルトランジスタからセル間干渉効果を受けて閾値が変動する場合の“Ａ−ｌｅｖｅｌ”の閾値分布である。分布Ａ２は、隣り合うメモリセルトランジスタからセル間干渉効果を受けるため、分布Ａ１よりも閾値が高くなる。
【０１１９】
図１８に示す分布Ａ３は、第３読み出し動作の場合に想定される“Ａ−ｌｅｖｅｌ”の閾値分布である。分布Ａ３は、選択ワード線ＷＬｎに隣り合うワード線ＷＬｎ＋１に電圧ＶＲＥＡＤＬＡが印加されることにより、閾値分布が見かけ上、上昇する。そのため、分布Ａ３は、分布Ａ２よりも閾値が高くなる。
【０１２０】
図１８に示すように、第２読み出し動作の際は選択ワード線ＷＬｎに電圧ＶＣＧＲＶ（ＶＡ）が印加される。そして、第３読み出し動作の際は、選択ワード線ＷＬｎに隣り合うワード線ＷＬｎ＋１に電圧ＶＲＥＡＤＬＡが印加されるので、選択ワード線ＷＬｎに印加される電圧ＶＣＧＲＶの電位がＶＡＤ（ＶＡ＜ＶＡＤ）へと上昇する。
【０１２１】
一方で、選択メモリセルトランジスタＭＴにおいて、隣り合うメモリセルトランジスタから受けるセル間干渉効果が想定よりも大きいことがある。
【０１２２】
このような場合、図１９に示すように、分布Ｅ２、分布Ｅ３、分布Ａ２、及び分布Ａ３のシフト量は、想定しているシフト量よりも大きくなる。
【０１２３】
図１９に示す場合、第３読み出しにおいて、分布Ｅ２が電圧ＶＡ以上となることがある。このような場合、ミス（誤り）Ｍ１として取り扱う。
【０１２４】
他方で、選択メモリセルトランジスタＭＴにおいて、隣り合うメモリセルトランジスタから受けるセル間干渉効果が想定よりも小さいことがある。
【０１２５】
このような場合、図２０に示すように、分布Ｅ２、分布Ｅ３、分布Ａ２、及び分布Ａ３のシフト量は、想定しているシフト量よりも小さくなる。  
図２０に示す場合、第３読み出しにおいて、分布Ａ３が電圧ＶＡＤ以下となることがある。このような場合、ミスＭ２として取り扱う。
【０１２６】
＜１−３−２＞ラッチ回路の動作例について  
図２１〜図２５を用いて、ラッチ回路に記憶されるデータの具体例について説明する。
【０１２７】
図２１は、選択ワード線ＷＬｎに接続された選択メモリセルトランジスタＭＴｎのデータと、選択ワード線ＷＬｎに隣り合うワード線ＷＬｎ＋１に接続されたメモリセルトランジスタＭＴｎ＋１のデータと、の関係を示している。更に、図２１では選択メモリセルトランジスタＭＴｎが、メモリセルトランジスタＭＴｎ＋１から受けるセル間干渉効果の大小と、選択メモリセルトランジスタＭＴｎに記憶されるデータとの関係を示している。以下では、単に「セル間干渉効果」と呼ぶ場合は、選択メモリセルトランジスタＭＴｎが、メモリセルトランジスタＭＴｎ＋１から受けるセル間干渉効果を意味する。
【０１２８】
図２１は、図６のステップＳ１０２により、ラッチ回路ＵＤＬに、メモリセルトランジスタＭＴｎ＋１の反転データが記憶された後の図である。
【０１２９】
ここで、図２１の一部に着目して、選択メモリセルトランジスタＭＴｎのデータと、メモリセルトランジスタＭＴｎ＋１のデータと、セル間干渉効果との関係について説明する。
【０１３０】
例えば、メモリセルトランジスタＭＴｎ＋１が“Ｅ”を記憶しており（ＵＤＬに“０”が記憶されており）、且つセル間干渉効果が小さい場合（図中のEffectの“小”参照）、センスアンプ部ＳＡは、“Ｅ”が記憶されている選択メモリセルトランジスタＭＴｎから読み出すデータは“０”となる。
【０１３１】
同様に、メモリセルトランジスタＭＴｎ＋１が“Ａ”を記憶しており（ＵＤＬに“１”が記憶されており）、且つセル間干渉効果が小さい場合、センスアンプ部ＳＡは、“Ｅ”が記憶されている選択メモリセルトランジスタＭＴｎから読み出すデータは“０”となる。
【０１３２】
一方で、セルトランジスタＭＴｎ＋１が“Ｅ”を記憶しており、且つセル間干渉効果が大きい場合（図中のEffectの“大”参照）、センスアンプ部ＳＡは、“Ｅ”が記憶されている選択メモリセルトランジスタＭＴｎから読み出すデータは“１”となる。これは、図１９のミスＭ１に示すような、誤ったデータである。
【０１３３】
メモリセルトランジスタＭＴｎ＋１が“Ａ”を記憶しており（ＵＤＬに“１”が記憶されており）、且つセル間干渉効果が大きい場合、センスアンプ部ＳＡは、“Ｅ”が記憶されている選択メモリセルトランジスタＭＴｎから読み出すデータは“１”となる。これは、図１９のミスＭ１に示すような、誤ったデータである。
【０１３４】
このように、選択ワード線ＷＬｎに接続される選択メモリセルトランジスタＭＴｎに記憶されているデータと、選択ワード線ＷＬｎに隣り合うワード線ＷＬｎ＋１に接続されるメモリセルトランジスタＭＴｎ＋１に記憶されているデータと、に基づいて、読み出されるデータは異なることがある。
【０１３５】
図２１に示すように、図１０で説明したステップＳ３０２において、ラッチ回路ＬＤＬに、センスアンプ部ＳＡ（ノードＳＥＮ）の反転データが入力される。そのため、ミスＭ１のデータは、“０”データとしてラッチ回路ＬＤＬに記憶される。
【０１３６】
そして図２２に示すように、図１０で説明したステップＳ３０３において、ラッチ回路ＸＤＬに、ラッチ回路ＬＤＬのデータが転送される。
【０１３７】
図２３を用いて、第３読み出し時におけるラッチ回路に記憶されるデータについて説明する。
【０１３８】
図２３に示すように、例えば、メモリセルトランジスタＭＴｎ＋１が“Ｅ”を記憶しており（ＵＤＬに“０”が記憶されており）、且つセル間干渉効果が小さい場合、センスアンプ部ＳＡは、“Ａ”が記憶されている選択メモリセルトランジスタＭＴｎから読み出すデータは“０”となる。これは、図２０のミスＭ２に示すような、誤ったデータである。
【０１３９】
同様に、メモリセルトランジスタＭＴｎ＋１が“Ａ”を記憶しており（ＵＤＬに“１”が記憶されており）、且つセル間干渉効果が小さい場合、センスアンプ部ＳＡは、“Ａ”が記憶されている選択メモリセルトランジスタＭＴｎから読み出すデータは“０”となる。これは、図２０のミスＭ２に示すような、誤ったデータである。
【０１４０】
一方で、メモリセルトランジスタＭＴｎ＋１が“Ｅ”を記憶しており、且つセル間干渉効果が大きい場合、センスアンプ部ＳＡは、“Ａ”が記憶されている選択メモリセルトランジスタＭＴｎから読み出すデータは“１”となる。
【０１４１】
メモリセルトランジスタＭＴｎ＋１が“Ａ”を記憶しており（ＵＤＬに“１”が記憶されており）、且つセル間干渉効果が大きい場合、センスアンプ部ＳＡは、“Ａ”が記憶されている選択メモリセルトランジスタＭＴｎから読み出すデータは“１”となる。
【０１４２】
図２３に示すように、図１３で説明したステップＳ４０２において、ラッチ回路ＳＤＬに、センスアンプ部ＳＡ（ノードＳＥＮ）のデータが入力される。そのため、ミスＭ２のデータは、“０”データとしてラッチ回路ＳＤＬに記憶される。
【０１４３】
図２４に示すように、図１３で説明したステップＳ４０３において、論理和演算（ＳＤＬ｜ＬＤＬ）が行われ、ラッチ回路ＬＤＬに演算結果が記憶される。ミスＭ１及びミスＭ２のデータは、“０”データとしてラッチ回路ＬＤＬに記憶される。
【０１４４】
図２５に示すように、図１３で説明したステップＳ４０４において、論理演算（~ＳＤＬ＆ＵＤＬ｜ＸＤＬ）が行われ、ラッチ回路ＸＤＬに演算結果が記憶される。ラッチ回路ＸＤＬに記憶されたデータは、通常の読み出しデータとして出力される。
【０１４５】
図２５に示すように、ラッチ回路ＸＤＬに読み出しデータが記憶され、ラッチ回路ＬＤＬにソフトビットデータが記憶される。
【０１４６】
図２６に示すように、本実施形態によれば、ミスＭ１が発生する場合、または、ミスＭ２が発生する場合、ラッチ回路ＬＤＬに記憶されるデータが“０”となる。つまり、本実施形態において、異なる種類のミス（ミスＭ１及びミスＭ２）が発生した場合でも、特定の値（“０”データ）としてラッチ回路ＬＤＬに記憶される。つまり、メモリシステム１は、新たにソフトビットデータを読み出す為の読み出し動作を行うことなく、ソフトビットデータを取得することができる。その結果、ＥＣＣを行う際において、ソフトビットのための読み出し時間を抑制することができる。
【０１４７】
＜１−４＞コマンドシーケンスについて  
図２７を用いて、本実施形態に係るメモリシステム１の読み出し動作におけるコマンドシーケンスについて説明する。
【０１４８】
本実施形態に係るメモリコントローラ２００は、読み出し動作につき、読み出し動作を命令するprefixコマンド（例えば“ＸＸｈ”）をＮＡＮＤ型フラッシュメモリ１００に対して発行する。引き続きメモリコントローラ２００は、コマンド（例えば“００ｈ”）及びアドレス（カラムアドレス、ブロックアドレス、ページアドレスを含む）をＮＡＮＤ型フラッシュメモリ１００に対して発行する。その後メモリコントローラ２００は、コマンド（例えば“３０ｈ”）をＮＡＮＤ型フラッシュメモリ１００に対して発行する。
【０１４９】
コマンド“３０ｈ”がレジスタ１１２にセットされると、ＮＡＮＤ型フラッシュメモリ１００はメモリセルアレイ１３０からのデータの読み出し動作を開始してビジー状態となる。
【０１５０】
そして、ＮＡＮＤ型フラッシュメモリ１００は、図６で説明したステップＳ１０２〜Ｓ１０５を実行する。
【０１５１】
その後、ＮＡＮＤ型フラッシュメモリ１００がレディ状態になると、メモリセルアレイ１３０から読み出されたデータが、メモリコントローラ２００へ送信される。
【０１５２】
メモリコントローラ２００は、図６で説明したステップＳ１０９において、読み出し要求を実行する場合、ＮＡＮＤ型フラッシュメモリ１００に対してコマンド（例えば“ＹＹｈ”）を発行する。
【０１５３】
コマンド“ＹＹｈ”がレジスタ１１２にセットされると、ＮＡＮＤ型フラッシュメモリ１００は、図６で説明したステップＳ１１０、及びＳ１１１の動作を行う。
【０１５４】
＜１−５＞効果  
上述した実施形態によれば、第１〜第３読み出し動作によって得られる結果をラッチ回路を用いて演算することにより、一連の読み出し動作で、通常の読み出しデータと、ソフトビットデータと、を得ることが可能となる。
【０１５５】
ソフトビットデータを読み出す場合、通常の読み出し動作とは別に、電圧ＶＡ−、ＶＡ＋を選択ワード線ＷＬに印加して読み出す方法（比較例）も考えられる。つまり、比較例の場合、上記実施形態の図６のステップＳ１１０の際に、ＮＡＮＤ型フラッシュメモリは、ソフトビットデータを読み出すための読み出し動作を行う必要がある。
【０１５６】
しかし、本実施形態に係るメモリシステムでは、上述した第１〜第３読み出しを行うことによって、ソフトビットデータを生成する。より具体的には、本実施形態では、セル間干渉効果による閾値分布の変動と、第３読み出し動作による閾値分布の変動と、を利用し、通常の読み出しデータと、ソフトビットデータを導出している。換言すると、本実施形態では、１連の読み出し動作で、２種類のデータを読み出している。
【０１５７】
つまり、本実施形態では、図６のステップＳ１１０の際に、既にソフトビットデータが読み出されている。そして、図６のステップＳ１１０の転送動作は、通常の読み出し動作よりも高速に行われる。そのため、本実施形態に係るＮＡＮＤ型フラッシュメモリは、比較例に係るＮＡＮＤ型フラッシュメモリに比べて、より高速にソフトビットデータを出力することが可能となる。
【０１５８】
＜２＞第２の実施形態  
次に、第２の実施形態について説明する。第２の実施形態では、メモリセルトランジスタＭＴが２ビットのデータを記憶可能な場合について説明している。尚、第２の実施形態に係るメモリシステムの基本的な構成及び基本的な動作は、上述した第１の実施形態に係るメモリシステムと同様である。従って、上述した第１の実施形態で説明した事項及び上述した第１の実施形態から容易に類推可能な事項についての説明は省略する。
【０１５９】
＜２−１＞メモリセルトランジスタの閾値分布について  
図２８を用いて、第２の実施態様に従ったメモリセルトランジスタＭＴの取りうるデータ及び閾値分布について説明する。
【０１６０】
本例では、１つのメモリセルトランジスタＭＴが例えば２ビットデータを保持可能である。この２ビットデータを、下位ビット及び上位ビットと呼ぶことにする。そして、同一のワード線に接続されたメモリセルの保持する下位ビットの集合を下位ページと呼び、上位ビットの集合を上位ページと呼ぶ。
【０１６１】
図２８に示すように、各々のメモリセルトランジスタＭＴは、その閾値に応じて例えば２ビットのデータを保持可能である。この２ビットデータは、閾値の低いものから順番に、例えば“１１”、“０１”、“００”、“１０”である。
【０１６２】
“１１”データを保持するメモリセルの閾値は、“Ｅ”レベルである。Ｅレベルは、電荷蓄積層内の電荷が引き抜かれて、データが消去された状態における閾値であり、正または負の値である（例えば電圧ＶＡ未満）。
【０１６３】
“０１”、“００”、及び“１０”も、電荷蓄積層内に電荷が注入されて、データが書き込まれた状態の閾値である。“０１”データを保持するメモリセルの閾値は“Ａ”レベルであり、Ｅレベルよりも高い（例えば電圧ＶＡ以上、ＶＢ未満であり、ＶＡ＜ＶＢ）。“００”データを保持するメモリセルの閾値は“Ｂ”レベルであり、Ａレベルよりも高い（例えば電圧ＶＢ以上、ＶＣ未満であり、ＶＢ＜ＶＣ）。“１０”データを保持するメモリセルの閾値は“Ｃ”レベルであり、Ｂレベルよりも高い（例えば電圧ＶＣ以上）。
【０１６４】
もちろん、２ビットデータと閾値との関係はこの関係に限定されるものでは無く、例えば“１１”データが“Ｃ”レベルに対応するような場合であっても良く、両者の関係については適宜選択出来る。
【０１６５】
選択ワード線ＷＬｎに電圧ＶＢが印加されることによって、下位ビットのデータが読み出し可能となる。選択ワード線ＷＬｎに電圧ＶＡ、及びＶＣが印加されることによって、上位ビットのデータが読み出し可能となる。
【０１６６】
＜２−２＞データの読み出し動作について  
次に、本実施態様に従った読み出し動作について説明する。ここでは、通常の読み出しデータと、ソフトビットデータと、を読み出す動作について説明する。
【０１６７】
＜２−２−１＞読み出し動作の流れについて  
図２９を用いて、本実施形態のメモリシステム１の読み出し動作のおおまかな流れについて説明する。
【０１６８】
[ステップＳ５０１]
メモリコントローラ２００は、ステップＳ１０１と同様の動作を行う。
【０１６９】
[ステップＳ５０２]
ＮＡＮＤ型フラッシュメモリ１００は、受信した読み出し要求が、下位ページ読み出しか否かを判定する。
【０１７０】
[ステップＳ５０３]
ＮＡＮＤ型フラッシュメモリ１００は、受信した読み出し要求が、下位ページ読み出しであると判定する場合（ステップＳ５０２、ＹＥＳ）、下位ページの読み出し動作を行う。下位ページの読み出し動作の詳細な説明は後述する。
【０１７１】
[ステップＳ５０４]
ＮＡＮＤ型フラッシュメモリ１００は、受信した読み出し要求が、下位ページ読み出しでないと判定する場合（ステップＳ５０２、ＮＯ）、上位ページの読み出し動作を行う。上位ページの読み出し動作の詳細な説明は後述する。
【０１７２】
[ステップＳ５０５〜Ｓ５１５]
メモリシステム１はＳ１０５〜Ｓ１１５と同様の動作を行う。
【０１７３】
＜２−２−２＞下位ページ読み出し動作について  
＜２−２−２−１＞下位ページ読み出し動作の流れについて  
図３０を用いて、本実施形態のメモリシステム１の下位ページ読み出し動作のおおまかな流れについて説明する。
【０１７４】
[ステップＳ６０１]
ＮＡＮＤ型フラッシュメモリ１００は、メモリコントローラ２００からの読み出し要求を受けると、第４動作を実行する。第４動作は、後述する第６動作用のデータを取得するための動作である。第４動作に関する詳細な説明は後述する。
【０１７５】
[ステップＳ６０２]
ＮＡＮＤ型フラッシュメモリ１００は、第４動作が終了すると、第５動作を実行する。第５動作は、後述する第６動作用のデータを取得するための動作である。第５動作に関する詳細な説明は後述する。
【０１７６】
[ステップＳ６０３]
ＮＡＮＤ型フラッシュメモリ１００は、第５動作が終了すると、第６動作を実行する。第６動作に関する詳細な説明は後述する。この第６動作により、通常の読み出しデータと、ソフトビットデータと、がセンス回路１４０のラッチ回路に記憶される。
【０１７７】
＜２−２−２−２＞第４動作について  
図３１を用いて、図３０のステップＳ６０１の第４動作について説明する。
【０１７８】
[ステップＳ７０１]
シーケンサ１１１は、メモリセルアレイ１３０の下位ページに対して第１読み出し動作を行う。第１読み出し動作に関して、仮選択ワード線ＷＬｎ＋１に電圧ＶＣＧＲＶ（ＶＢ）が印加される以外は、図８を用いて説明した動作と同様である。本例では、ワード線ＷＬ２が選択ワード線ＷＬｎ、ワード線ＷＬ３が仮選択ワード線ＷＬｎ＋１である場合について説明する。
【０１７９】
図３２に示すように、第１読み出しでは、仮選択ワード線ＷＬ３に接続されたメモリセルトランジスタＭＴｎ＋１から下位ページ（下位ビット）データ（ＸＬ）がセンスアンプ部ＳＡ（ノードＳＥＮ）に読み出される。このデータ（ＸＬ）は、セル間干渉効果を補正するためのデータとなる。
【０１８０】
[ステップＳ７０２]
図３２に示すように、ステップＳ２０２と同様にして、ラッチ回路ＵＤＬに読み出しデータ（ＸＬ）が記憶される。
【０１８１】
＜２−２−２−３＞第５動作について  
図３３を用いて、図３０のステップＳ６０２の第５動作について説明する。
【０１８２】
[ステップＳ８０１]
シーケンサ１１１は、メモリセルアレイ１３０の下位ページに対して第２読み出し動作を行う。第２読み出し動作に関して、選択ワード線ＷＬｎに電圧ＶＣＧＲＶ（ＶＢ）が印加される以外は、図１１を用いて説明した動作と同様である。
【０１８３】
図３４に示すように、第２読み出しでは、ワード線ＷＬ２に接続された選択メモリセルトランジスタＭＴ２から下位ページ（下位ビット）データ（ＹＬ）がセンスアンプ部ＳＡ（ノードＳＥＮ）に読み出される。このデータ（ＹＬ）は、通常の読み出しデータと、ソフトビットデータと、を生成するときに用いられる。
【０１８４】
[ステップＳ８０２]
図３４に示すように、ステップＳ３０２と同様にして、ラッチ回路ＬＤＬにデータ（~ＹＬ）が記憶される。
【０１８５】
[ステップＳ８０３]
図３４に示すように、ステップＳ３０３と同様にして、ラッチ回路ＸＤＬにデータ（~ＹＬ）が記憶される。
【０１８６】
＜２−２−２−４＞第６動作について  
図３５を用いて、図３０のステップＳ６０３の第６動作について説明する。
【０１８７】
[ステップＳ９０１]
シーケンサ１１１は、メモリセルアレイ１３０の下位ページに対して第３読み出し動作を行う。第３読み出し動作に関して、選択ワード線ＷＬｎに電圧ＶＣＧＲＶ（ＶＢ）が印加される以外は、図１４を用いて説明した動作と同様である。
【０１８８】
図３６に示すように、第３読み出しでは、選択ワード線ＷＬ２に接続された選択メモリセルトランジスタＭＴ２から下位ページ（下位ビット）データ（ＺＬ）がセンスアンプ部ＳＡ（ノードＳＥＮ）に読み出される。このデータ（ＺＬ）は、通常の読み出しデータと、ソフトビットデータと、を生成するときに用いられる。
【０１８９】
[ステップＳ９０２]
図３６に示すように、ステップＳ４０２と同様にして、ラッチ回路ＳＤＬにデータ（ＺＬ）が記憶される。
【０１９０】
[ステップＳ９０３]
図３７に示すように、ステップＳ４０３と同様にして、ラッチ回路ＬＤＬに、データ（ＺＬ｜~ＹＬ）を記憶させる。本実施形態において、ラッチ回路ＬＤＬに記憶されるデータ（ＺＬ｜~ＹＬ）は、ソフトビットデータとして取り扱われる。
【０１９１】
[ステップＳ９０４]
図３８に示すように、ステップＳ４０４と同様にして、ラッチ回路ＸＤＬに、データ（~ＺＬ＆ＸＬ｜~ＹＬ）を記憶させる。ラッチ回路ＸＤＬに記憶されたデータ（~ＺＬ＆ＸＬ｜~ＹＬ）は、選択ワード線ＷＬｎに隣り合うワード線ＷＬｎ＋１に接続されるメモリセルトランジスタＭＴからのセル間干渉効果による閾値変動を考慮したデータ（通常の読み出しデータ）となる。
【０１９２】
＜２−２−３＞上位ページ読み出し動作について  
＜２−２−３−１＞上位ページ読み出し動作の流れについて  
図３９を用いて、本実施形態のメモリシステム１の上位ページ読み出し動作のおおまかな流れについて説明する。
【０１９３】
[ステップＳ１００１]
ＮＡＮＤ型フラッシュメモリ１００は、メモリコントローラ２００からの読み出し要求を受けると、第７動作を実行する。第７動作は、後述する第１２動作用のデータを取得するための動作である。第７動作に関する詳細な説明は後述する。
【０１９４】
[ステップＳ１００２]
ＮＡＮＤ型フラッシュメモリ１００は、第７動作が終了すると、第８動作を実行する。第８動作は、後述する第１２動作用のデータを取得するための動作である。第８動作に関する詳細な説明は後述する。
【０１９５】
[ステップＳ１００３]
ＮＡＮＤ型フラッシュメモリ１００は、第８動作が終了すると、第９動作を実行する。第９動作は、後述する第１２動作用のデータを取得するための動作である。第９動作に関する詳細な説明は後述する。
【０１９６】
[ステップＳ１００４]
ＮＡＮＤ型フラッシュメモリ１００は、第９動作が終了すると、第１０動作を実行する。第１０動作は、後述する第１２動作用のデータを取得するための動作である。第１０動作に関する詳細な説明は後述する。
【０１９７】
[ステップＳ１００５]
ＮＡＮＤ型フラッシュメモリ１００は、第１０動作が終了すると、第１１動作を実行する。第１１動作は、後述する第１２動作用のデータを取得するための動作である。第１１動作に関する詳細な説明は後述する。
【０１９８】
[ステップＳ１００６]
ＮＡＮＤ型フラッシュメモリ１００は、第１１動作が終了すると、第１２動作を実行する。第１２動作に関する詳細な説明は後述する。この第１２動作により、通常の読み出しデータと、ソフトビットデータと、がセンス回路１４０のラッチ回路に記憶される。
【０１９９】
＜２−２−３−２＞第７動作について  
図４０を用いて、図３９のステップＳ１００１の第７動作について説明する。
【０２００】
[ステップＳ１１０１]
シーケンサ１１１は、メモリセルアレイ１３０の上位ページに対して第１読み出し動作を行う。第１読み出し動作に関して、仮選択ワード線ＷＬｎ＋１に電圧ＶＣＧＲＶ（ＶＡ）が印加される以外は、図８を用いて説明した動作と同様である。本例では、ワード線ＷＬ２が選択ワード線ＷＬｎ、ワード線ＷＬ３が仮選択ワード線ＷＬｎ＋１である場合について説明する。
【０２０１】
図４１に示すように、第１読み出しでは、仮選択ワード線ＷＬ３に接続されたメモリセルトランジスタＭＴｎ＋１から上位ページ（上位ビット）データ（ＸＵ１）がセンスアンプ部ＳＡ（ノードＳＥＮ）に読み出される。このデータ（ＸＵ１）は、セル間干渉効果を補正するためのデータとなる。
【０２０２】
[ステップＳ１００２]
図４１に示すように、ステップＳ２０２と同様にして、ラッチ回路ＵＤＬに読み出しデータ（ＸＵ１）が記憶される。
【０２０３】
＜２−２−３−３＞第８動作について  
図４２を用いて、図３９のステップＳ１００２の第８動作について説明する。
【０２０４】
[ステップＳ１２０１]
シーケンサ１１１は、メモリセルアレイ１３０の上位ページに対して第２読み出し動作を行う。第２読み出し動作に関して、選択ワード線ＷＬｎに電圧ＶＣＧＲＶ（ＶＡ）が印加される以外は、図１１を用いて説明した動作と同様である。
【０２０５】
図４３に示すように、第２読み出しでは、ワード線ＷＬ２に接続された選択メモリセルトランジスタＭＴ２から上位ページ（上位ビット）データ（ＹＵ１）がセンスアンプ部ＳＡ（ノードＳＥＮ）に読み出される。このデータ（ＹＵ１）は、通常の読み出しデータと、ソフトビットデータと、を生成するときに用いられる。
【０２０６】
[ステップＳ１２０２]
シーケンサ１１１は、データ（ＹＵ１）がセンスアンプ部ＳＡ（ノードＳＥＮ）に読み出されると、制御信号ＳＴＢをセンスアンプ部ＳＡに供給する。図４３に示すように、センスアンプ部ＳＡは、信号ＳＴＢがアサートされるタイミングで、ノードＳＥＮの読み出しデータ（ＹＵ１）をラッチ回路ＳＤＬに転送する。ラッチ回路ＳＤＬには、データ（ＹＵ１）が記憶される。
【０２０７】
[ステップＳ１２０３]
図４３に示すように、シーケンサ１１１は、ラッチ回路ＳＤＬに記憶されたデータ（ＹＵ１）をラッチ回路ＬＤＬに転送する。そして、演算部ＯＰは、ラッチ回路ＬＤＬに記憶されたデータ（ＹＵ１）を反転させてデータ（~ＹＵ１）を生成する。それにより、ラッチ回路ＬＤＬには、データ（~ＹＵ１）が記憶される。
【０２０８】
＜２−２−３−４＞第９動作について  
図４４を用いて、図３９のステップＳ１００３の第９動作について説明する。
【０２０９】
[ステップＳ１３０１]
シーケンサ１１１は、メモリセルアレイ１３０の上位ページに対して第３読み出し動作を行う。第３読み出し動作に関して、選択ワード線ＷＬｎに電圧ＶＣＧＲＶ（ＶＡ）が印加される以外は、図１４を用いて説明した動作と同様である。
【０２１０】
図４５に示すように、第３読み出しでは、選択ワード線ＷＬ２に接続された選択メモリセルトランジスタＭＴ２から上位ページ（上位ビット）データ（ＺＵ１）がセンスアンプ部ＳＡ（ノードＳＥＮ）に読み出される。このデータ（ＺＵ１）は、通常の読み出しデータと、ソフトビットデータと、を生成するときに用いられる。
【０２１１】
[ステップＳ１３０２]
図４５に示すように、ステップＳ４０２と同様にして、ラッチ回路ＳＤＬにデータ（ＺＵ１）が記憶される。
【０２１２】
[ステップＳ１３０３]
図４５に示すように、演算部ＯＰは、ラッチ回路ＳＤＬに記憶されたデータ（ＺＵ１）の反転データ（~ＺＵ１）と、ラッチ回路ＵＤＬに記憶されたデータ（ＸＵ１）と、の論理積演算（~ＳＤＬ＆ＵＤＬ）を行う。引き続き演算部ＯＰは、論理積演算の結果（~ＺＵ１＆ＸＵ１）と、ラッチ回路ＬＤＬに記憶されたデータ（~ＹＵ１）と、の論理和演算（~ＳＤＬ＆ＵＤＬ｜ＬＤＬ）を行い、データ（~ＺＵ１＆ＸＵ１｜~ＹＵ１）を生成しラッチ回路ＸＤＬに記憶させる。
【０２１３】
[ステップＳ１３０３]
図４６に示すように、演算部ＯＰは、ラッチ回路ＳＤＬに記憶されたデータ（ＺＵ１）と、ラッチ回路ＬＤＬに記憶されたデータ（~ＹＵ１）と、の論理和演算（ＳＤＬ｜ＬＤＬ）を行い、データ（ＺＵ１｜~ＹＵ１）を生成しラッチ回路ＬＤＬに記憶させる。
【０２１４】
＜２−２−３−５＞第１０動作について  
図４７を用いて、図３９のステップＳ１００４の第１０動作について説明する。
【０２１５】
[ステップＳ１４０１]
シーケンサ１１１は、メモリセルアレイ１３０の上位ページに対して第１読み出し動作を行う。第１読み出し動作に関して、仮選択ワード線ＷＬｎ＋１に電圧ＶＣＧＲＶ（ＶＣ）が印加される以外は、図８を用いて説明した動作と同様である。
【０２１６】
図４８に示すように、第１読み出しでは、仮選択ワード線ＷＬ３に接続されたメモリセルトランジスタＭＴｎ＋１から上位ページ（上位ビット）データ（ＸＵ２）がセンスアンプ部ＳＡ（ノードＳＥＮ）に読み出される。このデータ（ＸＵ２）は、セル間干渉効果を補正するためのデータとなる。
【０２１７】
[ステップＳ１４０２]
図４８に示すように、ステップＳ２０２と同様にして、ラッチ回路ＵＤＬに読み出しデータ（ＸＵ２）が記憶される。
【０２１８】
＜２−２−３−６＞第１１動作について  
図４９を用いて、図３９のステップＳ１００５の第１１動作について説明する。
【０２１９】
[ステップＳ１５０１]
シーケンサ１１１は、メモリセルアレイ１３０の上位ページに対して第２読み出し動作を行う。第２読み出し動作に関して、選択ワード線ＷＬｎに電圧ＶＣＧＲＶ（ＶＣ）が印加される以外は、図１１を用いて説明した動作と同様である。
【０２２０】
図５０に示すように、第２読み出しでは、ワード線ＷＬ２に接続された選択メモリセルトランジスタＭＴ２から上位ページ（上位ビット）データ（ＹＵ２）がセンスアンプ部ＳＡ（ノードＳＥＮ）に読み出される。このデータ（ＹＵ２）は、通常の読み出しデータと、ソフトビットデータと、を生成するときに用いられる。
【０２２１】
[ステップＳ１５０２]
図５０に示すように、ステップＳ１２０２と同様にして、ラッチ回路ＳＤＬにデータ（ＹＵ２）が記憶される。
【０２２２】
[ステップＳ１５０３]
図５１に示すように、演算部ＯＰは、ラッチ回路ＳＤＬに記憶されたデータ（ＹＵ２）の反転データ（~ＹＵ２）と、ラッチ回路ＬＤＬに記憶されたデータ（ＺＵ１｜~ＹＵ１）と、の論理積演算（~ＳＤＬ＆ＬＤＬ）を行う。演算部ＯＰは、論理積演算の結果（~ＹＵ２＆（ＺＵ１｜~ＹＵ１））をラッチ回路ＬＤＬに記憶させる。
【０２２３】
[ステップＳ１５０４]
図５２に示すように、演算部ＯＰは、ラッチ回路ＳＤＬに記憶されたデータ（ＹＵ２）と、ラッチ回路ＵＤＬに記憶されたデータ（ＸＵ２）の反転データ（~ＸＵ２）と、の論理積演算（ＳＤＬ＆~ＵＤＬ）を行う。引き続き演算部ＯＰは、論理積演算の結果（ＹＵ２＆~ＸＵ２）と、ラッチ回路ＸＤＬに記憶されたデータ（~ＺＵ１＆ＸＵ１｜~ＹＵ１）と、の論理和演算（ＳＤＬ＆~ＵＤＬ｜ＸＤＬ）を行い、データ（（ＹＵ２＆~ＸＵ２）｜（~ＺＵ１＆ＸＵ１｜~ＹＵ１））を生成しラッチ回路ＸＤＬに記憶させる。
【０２２４】
＜２−２−３−７＞第１２動作について  
図５３を用いて、図３９のステップＳ１００６の第１２動作について説明する。
【０２２５】
[ステップＳ１６０１]
シーケンサ１１１は、メモリセルアレイ１３０の上位ページに対して第３読み出し動作を行う。第３読み出し動作に関して、選択ワード線ＷＬｎに電圧ＶＣＧＲＶ（ＶＣ）が印加される以外は、図１４を用いて説明した動作と同様である。
【０２２６】
図５４に示すように、第３読み出しでは、選択ワード線ＷＬ２に接続された選択メモリセルトランジスタＭＴ２から上位ページ（上位ビット）データ（ＺＵ２）がセンスアンプ部ＳＡ（ノードＳＥＮ）に読み出される。このデータ（ＺＵ２）は、通常の読み出しデータと、ソフトビットデータと、を生成するときに用いられる。
【０２２７】
[ステップＳ１６０２]
図５４に示すように、ステップＳ４０２と同様にして、ラッチ回路ＳＤＬにデータ（ＺＵ２）が記憶される。
【０２２８】
[ステップＳ１６０３]
図５５に示すように、演算部ＯＰは、ラッチ回路ＳＤＬに記憶されたデータ（ＺＵ２）と、ラッチ回路ＬＤＬに記憶されたデータ（~ＹＵ２＆（ＺＵ１｜~ＹＵ１））と、の論理和演算（ＳＤＬ｜ＬＤＬ）を行う。演算部ＯＰは、論理和演算の結果（ＺＵ２｜（~ＹＵ２＆（ＺＵ１｜~ＹＵ１）））をラッチ回路ＬＤＬに記憶させる。本実施形態において、ラッチ回路ＬＤＬに記憶されるデータ（ＺＵ２｜（~ＹＵ２＆（ＺＵ１｜~ＹＵ１）））は、ソフトビットデータとして取り扱われる。
【０２２９】
[ステップＳ１６０４]
図５６に示すように、演算部ＯＰは、ラッチ回路ＳＤＬに記憶されたデータ（ＺＵ２）と、ラッチ回路ＸＤＬに記憶されたデータ（（ＹＵ２＆~ＸＵ２）｜（~ＺＵ１＆ＸＵ１｜~ＹＵ１））と、の論理和演算（ＳＤＬ｜ＸＤＬ）を行う。引き続き演算部ＯＰは、論理和演算の結果（ＺＵ２｜（（ＹＵ２＆~ＸＵ２）｜（~ＺＵ１＆ＸＵ１｜~ＹＵ１）））をラッチ回路ＸＤＬに記憶させる。ラッチ回路ＸＤＬに記憶されたデータ（ＺＵ２｜（（ＹＵ２＆~ＸＵ２）｜（~ＺＵ１＆ＸＵ１｜~ＹＵ１）））は、選択ワード線ＷＬｎに隣り合うワード線ＷＬｎ＋１に接続されるメモリセルトランジスタＭＴからのセル間干渉効果による閾値変動を考慮したデータ（通常の読み出しデータ）となる。
【０２３０】
＜２−３＞ソフトビットデータ生成方法について  
＜２−３−１＞選択メモリセルトランジスタの閾値分布の変動について  
ここで、ソフトビットデータが生成される原理の理解を容易にするために、選択メモリセルトランジスタＭＴの閾値分布の変動について説明する。
【０２３１】
図５７を用いて、選択メモリセルトランジスタＭＴの閾値分布の変動について説明する。
【０２３２】
図５７に示す分布Ｅ１〜Ｅ３、Ａ１〜Ａ３は、図１８で説明した分布と同様である。
【０２３３】
図５７に示す分布Ｂ１は、“Ｂ−ｌｅｖｅｌ”の理想的な閾値分布である。
【０２３４】
分布Ｂ１は、隣り合うメモリセルトランジスタからセル間干渉効果を受けて閾値が変動することがある。図５７に示すように、分布Ｂ２は、隣り合うメモリセルトランジスタからセル間干渉効果を受けて閾値が変動する場合の“Ｂ−ｌｅｖｅｌ”の閾値分布である。分布Ｂ２は、隣り合うメモリセルトランジスタからセル間干渉効果を受けるため、分布Ｂ１よりも閾値が高くなる。
【０２３５】
分布Ｂ２は、第３読み出し動作の際に、隣り合うワード線ＷＬに電圧ＶＲＥＡＤＬＡが印加されることにより、閾値が変動することがある。図５７に示すように、分布Ｂ３は、第３読み出し動作の場合に想定される“Ｂ−ｌｅｖｅｌ”の閾値分布である。分布Ｂ３は、選択ワード線ＷＬｎに隣り合うワード線ＷＬｎ＋１に電圧ＶＲＥＡＤＬＡが印加されることにより、選択ワード線ＷＬｎに印加される電圧ＶＣＧＲＶの電位が見かけ上、上昇する。そのため、分布Ｂ３は、分布Ｂ２よりも閾値が高くなる。
【０２３６】
図５７に示す分布Ｃ１は、“Ｃ−ｌｅｖｅｌ”の理想的な閾値分布である。
【０２３７】
図５７に示す分布Ｃ２は、隣り合うメモリセルトランジスタからセル間干渉効果を受けて閾値が変動する場合の“Ｃ−ｌｅｖｅｌ”の閾値分布である。分布Ｃ２は、隣り合うメモリセルトランジスタからセル間干渉効果を受けるため、分布Ｃ１よりも閾値が高くなる。
【０２３８】
図５７に示す分布Ｃ３は、第３読み出し動作の場合に想定される“Ｃ−ｌｅｖｅｌ”の閾値分布である。分布Ｃ３は、選択ワード線ＷＬｎに隣り合うワード線ＷＬｎ＋１に電圧ＶＲＥＡＤＬＡが印加されることにより、閾値分布が見かけ上、上昇する。そのため、分布Ｃ３は、分布Ｃ２よりも閾値が高くなる。
【０２３９】
図５７に示すように、第２読み出し動作の際は選択ワード線ＷＬｎに電圧ＶＣＧＲＶ（ＶＡ、ＶＢ、ＶＣ）が印加される。そして、第３読み出し動作の際は、選択ワード線ＷＬｎに隣り合うワード線ＷＬｎ＋１に電圧ＶＲＥＡＤＬＡが印加されるので、選択ワード線ＷＬｎに印加される電圧ＶＣＧＲＶの電位が、それぞれＶＡＤ（ＶＡ＜ＶＡＤ）、ＶＢＤ（ＶＢ＜ＶＢＤ）、ＶＣＤ（ＶＣ＜ＶＣＤ）へと上昇する。
【０２４０】
一方で、選択メモリセルトランジスタＭＴにおいて、隣り合うメモリセルトランジスタから受けるセル間干渉効果が想定よりも大きいことがある。
【０２４１】
このような場合、図５８に示すように、分布Ｅ２、Ｅ３、Ａ２、Ａ３、Ｂ２、Ｂ３、Ｃ２、及びＣ３のシフト量は、想定しているシフト量よりも大きくなる。
【０２４２】
図５８に示す場合、第３読み出しにおいて、分布Ｅ２が電圧ＶＡ以上となることがある。このような場合、ミスＭ３として取り扱う。更に第３読み出しにおいて、分布Ａ２が電圧ＶＢ以上となることがある。このような場合、ミスＭ４として取り扱う。同様に、第３読み出しにおいて、分布Ｂ２が電圧ＶＣ以上となることがある。このような場合、ミスＭ５として取り扱う。
【０２４３】
他方で、選択メモリセルトランジスタＭＴにおいて、隣り合うメモリセルトランジスタから受けるセル間干渉効果が想定よりも小さいことがある。
【０２４４】
このような場合、図５９に示すように、分布Ｅ２、Ｅ３、Ａ２、Ａ３、Ｂ２、Ｂ３、Ｃ２、及びＣ３のシフト量は、想定しているシフト量よりも小さくなる。  
図５９に示す場合、第３読み出しにおいて、分布Ａ３が電圧ＶＡＤ以下となることがある。このような場合、ミスＭ６として取り扱う。更に第３読み出しにおいて、分布Ｂ３が電圧ＶＢＤ以下となることがある。このような場合、ミスＭ７として取り扱う。同様に第３読み出しにおいて、分布Ｃ３が電圧ＶＣＤ以下となることがある。このような場合、ミスＭ８として取り扱う。
【０２４５】
＜２−３−２＞下位ページに関するラッチ回路の動作例について  
図６０〜図６４を用いて、第４〜第６動作に係るラッチ回路の動作の具体例について説明する。
【０２４６】
図６０は、図３１のステップＳ７０２により、ラッチ回路ＵＤＬに、メモリセルトランジスタＭＴｎ＋１の反転データが記憶された後の図である。
【０２４７】
ここで、図６０の一部に着目して、選択メモリセルトランジスタＭＴｎのデータと、メモリセルトランジスタＭＴｎ＋１のデータと、セル間干渉効果との関係について説明する。
【０２４８】
例えば、メモリセルトランジスタＭＴｎ＋１が“Ｅ”または“Ａ”を記憶しており（ＵＤＬに“０”が記憶されており）、且つセル間干渉効果が小さい場合、センスアンプ部ＳＡは、“Ａ”が記憶されている選択メモリセルトランジスタＭＴｎから読み出すデータは“０”となる。
【０２４９】
同様にメモリセルトランジスタＭＴｎ＋１が“Ｂ”または“Ｃ”を記憶しており（ＵＤＬに“１”が記憶されており）、且つセル間干渉効果が小さい場合、センスアンプ部ＳＡは、“Ａ”が記憶されている選択メモリセルトランジスタＭＴｎから読み出すデータは“０”となる。
【０２５０】
一方で、セルトランジスタＭＴｎ＋１が“Ｅ”または“Ａ”を記憶しており、且つセル間干渉効果が大きい場合、センスアンプ部ＳＡは、“Ａ”が記憶されている選択メモリセルトランジスタＭＴｎから読み出すデータは“１”となる。これは、図５８のＭ４に示すような、誤ったデータである。
【０２５１】
メモリセルトランジスタＭＴｎ＋１が“Ｂ”または“Ｃ”を記憶しており（ＵＤＬに“１”が記憶されており）、且つセル間干渉効果が大きい場合、センスアンプ部ＳＡは、“Ａ”が記憶されている選択メモリセルトランジスタＭＴｎから読み出すデータは“１”となる。これは、図５８のミスＭ４に示すような、誤ったデータである。
【０２５２】
図６０に示すように、図３３で説明したステップＳ８０２において、ラッチ回路ＬＤＬに、センスアンプ部ＳＡ（ノードＳＥＮ）の反転データが入力される。そのため、ミスＭ４のデータは、“０”データとしてラッチ回路ＬＤＬに記憶される。
【０２５３】
そして図６１に示すように、図３３で説明したステップＳ８０３において、ラッチ回路ＸＤＬに、ラッチ回路ＬＤＬのデータが転送される。
【０２５４】
図６２を用いて、第３読み出し時におけるラッチ回路に記憶されるデータについて説明する。
【０２５５】
図６２に示すように、例えば、メモリセルトランジスタＭＴｎ＋１が“Ｅ”または“Ａ”を記憶しており（ＵＤＬに“０”が記憶されており）、且つセル間干渉効果が小さい場合、センスアンプ部ＳＡは、“Ｂ”が記憶されている選択メモリセルトランジスタＭＴｎから読み出すデータは“０”となる。これは、図５９のミスＭ７に示すような、誤ったデータである。
【０２５６】
同様に、メモリセルトランジスタＭＴｎ＋１が“Ｂ”または“Ｃ”を記憶しており（ＵＤＬに“１”が記憶されており）、且つセル間干渉効果が小さい場合、センスアンプ部ＳＡは、“Ｂ”が記憶されている選択メモリセルトランジスタＭＴｎから読み出すデータは“０”となる。これは、図５９のミスＭ７に示すような、誤ったデータである。
【０２５７】
一方で、メモリセルトランジスタＭＴｎ＋１が“Ｅ”または“Ａ”を記憶しており、且つセル間干渉効果が大きい場合、センスアンプ部ＳＡは、“Ｂ”が記憶されている選択メモリセルトランジスタＭＴｎから読み出すデータは“１”となる。
【０２５８】
メモリセルトランジスタＭＴｎ＋１が“Ｂ”または“Ｃ”を記憶しており（ＵＤＬに“１”が記憶されており）、且つセル間干渉効果が大きい場合、センスアンプ部ＳＡは、“Ｂ”が記憶されている選択メモリセルトランジスタＭＴｎから読み出すデータは“１”となる。
【０２５９】
図６２に示すように、図３５で説明したステップＳ９０２において、ラッチ回路ＳＤＬに、センスアンプ部ＳＡ（ノードＳＥＮ）のデータが入力される。そのため、ミスＭ７のデータは、“０”データとしてラッチ回路ＳＤＬに記憶される。
【０２６０】
図６３に示すように、図３５で説明したステップＳ９０３において、論理和演算（ＳＤＬ｜ＬＤＬ）が行われ、ラッチ回路ＬＤＬに演算結果が記憶される。ミスＭ４及びミスＭ７のデータは、“０”データとしてラッチ回路ＬＤＬに記憶される。
【０２６１】
図６４に示すように、図３５で説明したステップＳ９０４において、論理演算（~ＳＤＬ＆ＵＤＬ｜ＸＤＬ）が行われ、ラッチ回路ＸＤＬに演算結果が記憶される。ラッチ回路ＸＤＬに記憶されたデータは、通常の読み出しデータとして出力される。
【０２６２】
図６４に示すように、ラッチ回路ＸＤＬに読み出しデータが記憶され、ラッチ回路ＬＤＬにソフトビットデータが記憶される。
【０２６３】
図６５に示すように、本実施形態によれば、ミスＭ４が発生する場合、または、ミスＭ７が発生する場合、ラッチ回路ＬＤＬに記憶されるデータが“０”となる。つまり、本実施形態において、異なる種類のミス（ミスＭ４及びミスＭ７）が発生した場合でも、特定の値（“０”データ）としてラッチ回路ＬＤＬに記憶される。つまり、メモリシステム１は、新たにソフトビットデータを読み出す為の読み出し動作を行うことなく、ソフトビットデータを取得することができる。その結果、ＥＣＣを行う際において、ソフトビットのための読み出し時間を抑制することができる。
【０２６４】
＜２−３−３＞上位ページに関するラッチ回路の動作例について  
図６６〜図７０を用いて、第７〜第９動作に係るラッチ回路の動作の具体例について説明する。
【０２６５】
図６６は、図４０のステップＳ１１０２により、ラッチ回路ＵＤＬに、メモリセルトランジスタＭＴｎ＋１の反転データが記憶された後の図である。
【０２６６】
ここで、図６６の一部に着目して、選択メモリセルトランジスタＭＴｎのデータと、メモリセルトランジスタＭＴｎ＋１のデータと、セル間干渉効果との関係について説明する。
【０２６７】
例えば、メモリセルトランジスタＭＴｎ＋１が“Ｅ”または“Ｃ”を記憶しており（ＵＤＬに“０”が記憶されており）、且つセル間干渉効果が小さい場合、センスアンプ部ＳＡは、“Ｅ”が記憶されている選択メモリセルトランジスタＭＴｎから読み出すデータは“０”となる。
【０２６８】
同様にメモリセルトランジスタＭＴｎ＋１が“Ａ”または“Ｂ”を記憶しており（ＵＤＬに“１”が記憶されており）、且つセル間干渉効果が小さい場合、センスアンプ部ＳＡは、“Ｅ”が記憶されている選択メモリセルトランジスタＭＴｎから読み出すデータは“０”となる。
【０２６９】
一方で、セルトランジスタＭＴｎ＋１が“Ｅ”または“Ｃ”を記憶しており、且つセル間干渉効果が大きい場合、センスアンプ部ＳＡは、“Ｅ”が記憶されている選択メモリセルトランジスタＭＴｎから読み出すデータは“１”となる。これは、図５８のミスＭ３に示すような、誤ったデータである。
【０２７０】
メモリセルトランジスタＭＴｎ＋１が“Ａ”または“Ｂ”を記憶しており（ＵＤＬに“１”が記憶されており）、且つセル間干渉効果が大きい場合、センスアンプ部ＳＡは、“Ｅ”が記憶されている選択メモリセルトランジスタＭＴｎから読み出すデータは“１”となる。これは、図５８のミスＭ３に示すような、誤ったデータである。
【０２７１】
図６６に示すように、図４２で説明したステップＳ１２０２において、ラッチ回路ＳＤＬに、センスアンプ部ＳＡ（ノードＳＥＮ）のデータが入力される。そのため、ミスＭ３のデータは、“０”データとしてラッチ回路ＳＤＬに記憶される。
【０２７２】
続いて、図６７に示すように、図４２で説明したステップＳ１２０３において、ラッチ回路ＬＤＬに、ラッチ回路ＳＤＬの反転データが入力される。そのため、ミスＭ３のデータは、“０”データとしてラッチ回路ＬＤＬに記憶される。
【０２７３】
図６８を用いて、第３読み出し時におけるラッチ回路に記憶されるデータについて説明する。
【０２７４】
図６８に示すように、例えば、メモリセルトランジスタＭＴｎ＋１が“Ｅ”または“Ｃ”を記憶しており（ＵＤＬに“０”が記憶されており）、且つセル間干渉効果が小さい場合、センスアンプ部ＳＡは、“Ａ”が記憶されている選択メモリセルトランジスタＭＴｎから読み出すデータは“０”となる。これは、図５９のミスＭ６に示すような、誤ったデータである。
【０２７５】
同様に、メモリセルトランジスタＭＴｎ＋１が“Ａ”または“Ｂ”を記憶しており（ＵＤＬに“１”が記憶されており）、且つセル間干渉効果が小さい場合、センスアンプ部ＳＡは、“Ａ”が記憶されている選択メモリセルトランジスタＭＴｎから読み出すデータは“０”となる。これは、図５９のミスＭ６に示すような、誤ったデータである。
【０２７６】
一方で、メモリセルトランジスタＭＴｎ＋１が“Ｅ”または“Ｃ”を記憶しており、且つセル間干渉効果が大きい場合、センスアンプ部ＳＡは、“Ａ”が記憶されている選択メモリセルトランジスタＭＴｎから読み出すデータは“１”となる。
【０２７７】
メモリセルトランジスタＭＴｎ＋１が“Ａ”または“Ｂ”を記憶しており（ＵＤＬに“１”が記憶されており）、且つセル間干渉効果が大きい場合、センスアンプ部ＳＡは、“Ａ”が記憶されている選択メモリセルトランジスタＭＴｎから読み出すデータは“１”となる。
【０２７８】
図６８に示すように、図４４で説明したステップＳ１３０２において、ラッチ回路ＳＤＬに、センスアンプ部ＳＡ（ノードＳＥＮ）のデータが入力される。そのため、ミスＭ６のデータは、“０”データとしてラッチ回路ＳＤＬに記憶される。
【０２７９】
図６９に示すように、図４４で説明したステップＳ１３０３において、論理演算（~ＳＤＬ＆ＵＤＬ｜ＬＤＬ）が行われ、ラッチ回路ＸＤＬに演算結果が記憶される。
【０２８０】
図７０に示すように、図４４で説明したステップＳ１３０４において、論理和演算（ＬＤＬ｜ＳＤＬ）が行われ、ラッチ回路ＬＤＬに演算結果が記憶される。ミスＭ３及びミスＭ６のデータは、“０”データとしてラッチ回路ＬＤＬに記憶される。
【０２８１】
図７１〜図７６を用いて、第１０〜第１２動作に係るラッチ回路の動作の具体例について説明する。
【０２８２】
図７１は、図４７のステップＳ１４０２により、ラッチ回路ＵＤＬに、メモリセルトランジスタＭＴｎ＋１の反転データが記憶された後の図である。
【０２８３】
ここで、図７１の一部に着目して、選択メモリセルトランジスタＭＴｎのデータと、メモリセルトランジスタＭＴｎ＋１のデータと、セル間干渉効果との関係について説明する。
【０２８４】
例えば、メモリセルトランジスタＭＴｎ＋１が“Ｅ”または“Ｃ”を記憶しており（ＵＤＬに“０”が記憶されており）、且つセル間干渉効果が小さい場合、センスアンプ部ＳＡは、“Ｂ”が記憶されている選択メモリセルトランジスタＭＴｎから読み出すデータは“０”となる。
【０２８５】
同様にメモリセルトランジスタＭＴｎ＋１が“Ａ”または“Ｂ”を記憶しており（ＵＤＬに“１”が記憶されており）、且つセル間干渉効果が小さい場合、センスアンプ部ＳＡは、“Ｂ”が記憶されている選択メモリセルトランジスタＭＴｎから読み出すデータは“０”となる。
【０２８６】
一方で、セルトランジスタＭＴｎ＋１が“Ｅ”または“Ｃ”を記憶しており、且つセル間干渉効果が大きい場合、センスアンプ部ＳＡは、“Ｂ”が記憶されている選択メモリセルトランジスタＭＴｎから読み出すデータは“１”となる。これは、図５８のミスＭ５に示すような、誤ったデータである。
【０２８７】
メモリセルトランジスタＭＴｎ＋１が“Ａ”または“Ｂ”を記憶しており（ＵＤＬに“１”が記憶されており）、且つセル間干渉効果が大きい場合、センスアンプ部ＳＡは、“Ｂ”が記憶されている選択メモリセルトランジスタＭＴｎから読み出すデータは“１”となる。これは、図５８のミスＭ５に示すような、誤ったデータである。
【０２８８】
図７１に示すように、図４９で説明したステップＳ１５０２において、ラッチ回路ＳＤＬに、センスアンプ部ＳＡ（ノードＳＥＮ）のデータが入力される。そのため、ミスＭ５のデータは、“０”データとしてラッチ回路ＳＤＬに記憶される。
【０２８９】
図７２に示すように、図４９で説明したステップＳ１５０３において、論理演算（~ＳＤＬ＆ＬＤＬ）が行われ、ラッチ回路ＬＤＬに演算結果が記憶される。この演算により、ミス５のデータは、“０”データとしてラッチ回路ＬＤＬに記憶される。
【０２９０】
図７３に示すように、図４９で説明したステップＳ１５０４において、論理演算（ＳＤＬ＆~ＵＤＬ｜ＸＤＬ）が行われ、ラッチ回路ＸＤＬに演算結果が記憶される。
【０２９１】
図７４を用いて、第３読み出し時におけるラッチ回路に記憶されるデータについて説明する。
【０２９２】
図７４に示すように、例えば、メモリセルトランジスタＭＴｎ＋１が“Ｅ”または“Ｃ”を記憶しており（ＵＤＬに“０”が記憶されており）、且つセル間干渉効果が小さい場合、センスアンプ部ＳＡは、“Ｃ”が記憶されている選択メモリセルトランジスタＭＴｎから読み出すデータは“０”となる。これは、図５９のＭ８に示すような、誤ったデータである。
【０２９３】
同様に、メモリセルトランジスタＭＴｎ＋１が“Ａ”または“Ｂ”を記憶しており（ＵＤＬに“１”が記憶されており）、且つセル間干渉効果が小さい場合、センスアンプ部ＳＡは、“Ｃ”が記憶されている選択メモリセルトランジスタＭＴｎから読み出すデータは“０”となる。これは、図５９のＭ８に示すような、誤ったデータである。
【０２９４】
一方で、メモリセルトランジスタＭＴｎ＋１が“Ｅ”または“Ｃ”を記憶しており、且つセル間干渉効果が大きい場合、センスアンプ部ＳＡは、“Ｃ”が記憶されている選択メモリセルトランジスタＭＴｎから読み出すデータは“１”となる。
【０２９５】
メモリセルトランジスタＭＴｎ＋１が“Ａ”または“Ｂ”を記憶しており（ＵＤＬに“１”が記憶されており）、且つセル間干渉効果が大きい場合、センスアンプ部ＳＡは、“Ｃ”が記憶されている選択メモリセルトランジスタＭＴｎから読み出すデータは“１”となる。
【０２９６】
図７４に示すように、図５３で説明したステップＳ１６０２において、ラッチ回路ＳＤＬに、センスアンプ部ＳＡ（ノードＳＥＮ）のデータが入力される。そのため、ミスＭ８のデータは、“０”データとしてラッチ回路ＳＤＬに記憶される。
【０２９７】
図７５に示すように、図５３で説明したステップＳ１６０４において、論理和演算（ＬＤＬ｜ＳＤＬ）が行われ、ラッチ回路ＬＤＬに演算結果が記憶される。ミスＭ３、ミスＭ５、ミスＭ６及びミスＭ８のデータは、“０”データとしてラッチ回路ＬＤＬに記憶される。
【０２９８】
図７６に示すように、図５３で説明したステップＳ１６０４において、論理和演算（ＳＤＬ｜ＸＤＬ）が行われ、ラッチ回路ＸＤＬに演算結果が記憶される。ラッチ回路ＸＤＬに記憶されるデータは、通常の読み出しデータとなる。
【０２９９】
図７７に示すように、本実施形態によれば、ミスＭ３、ミスＭ５、ミスＭ６及びミスＭ８の少なくとも一つが発生する場合ラッチ回路ＬＤＬに記憶されるデータが“０”となる。つまり、本実施形態において、異なる種類のミス（ミスＭ３、ミスＭ５、ミスＭ６及びミスＭ８）が発生した場合でも、特定の値（“０”データ）としてラッチ回路ＬＤＬに記憶される。つまり、メモリシステム１は、新たにソフトビットデータを読み出す為の読み出し動作を行うことなく、ソフトビットデータを取得することができる。その結果、ＥＣＣを行う際において、ソフトビットのための読み出し時間を抑制することができる。
【０３００】
＜２−４＞コマンドシーケンスについて  
＜２−４−１＞下位ページに関するコマンドシーケンスについて
図７８を用いて、本実施形態に係るメモリシステム１の下位ページ読み出し動作におけるコマンドシーケンスについて説明する。
【０３０１】
基本的な流れは、図２７で説明した動作と同様である、図２７で説明した流れと異なる点は、アドレスの中身と、選択ワード線ＷＬｎに印加される電圧ＶＣＧＲＶである。
【０３０２】
本実施形態に係るメモリコントローラ２００は、読み出し動作につき、コマンドセットＣＳ１をＮＡＮＤ型フラッシュメモリ１００に対して発行する。
【０３０３】
コマンド“３０ｈ”がレジスタ１１２にセットされると、ＮＡＮＤ型フラッシュメモリ１００はメモリセルアレイ１３０からのデータの読み出し動作を開始してビジー状態となる。
【０３０４】
そして、ＮＡＮＤ型フラッシュメモリ１００は、図２９のステップＳ５０２〜Ｓ５０５、図３０のステップＳ６０１〜Ｓ６０３を実行する。
【０３０５】
その後、ＮＡＮＤ型フラッシュメモリ１００がレディ状態になると、メモリセルアレイ１３０から読み出されたデータが、メモリコントローラ２００へ送信される。
【０３０６】
メモリコントローラ２００は、図２９で説明したステップＳ５０９において、読み出し要求を実行する場合、ＮＡＮＤ型フラッシュメモリ１００に対してコマンド（例えば“ＹＹｈ”）を発行する。
【０３０７】
コマンド“ＹＹｈ”がレジスタ１１２にセットされると、ＮＡＮＤ型フラッシュメモリ１００は、図２９で説明したステップＳ５１０、及びＳ５１１の動作を行う。
【０３０８】
＜２−４−２＞上位ページに関するコマンドシーケンスについて
図７９を用いて、本実施形態に係るメモリシステム１の上位ページ読み出し動作におけるコマンドシーケンスについて説明する。
【０３０９】
基本的な流れは、図２７で説明した動作と同様である、図２７で説明した流れと異なる点は、アドレスの中身と、選択ワード線ＷＬｎに印加される電圧ＶＣＧＲＶである。
【０３１０】
本実施形態に係るメモリコントローラ２００は、読み出し動作につき、コマンドセットＣＳ１をＮＡＮＤ型フラッシュメモリ１００に対して発行する。
【０３１１】
コマンド“３０ｈ”がレジスタ１１２にセットされると、ＮＡＮＤ型フラッシュメモリ１００はメモリセルアレイ１３０からのデータの読み出し動作を開始してビジー状態となる。
【０３１２】
そして、ＮＡＮＤ型フラッシュメモリ１００は、図２９のステップＳ５０２〜Ｓ５０５、図３９のステップＳ１００１〜Ｓ１００３を実行する。
【０３１３】
その後、ＮＡＮＤ型フラッシュメモリ１００がレディ状態になると、メモリセルアレイ１３０から読み出されたデータが、メモリコントローラ２００へ送信される。
【０３１４】
＜２−５＞効果  
上述した実施形態によれば、第４〜第６読み出し動作によって得られる結果をラッチ回路を用いて演算することにより、一連の読み出し動作で、下位ページに関する通常の読み出しデータと、下位ページに関するソフトビットデータと、を得ることが可能となる。同様に、上述した実施形態によれば、第７〜第１２読み出し動作によって得られる結果をラッチ回路を用いて演算することにより、一連の読み出し動作で、上位ページに関する通常の読み出しデータと、上位ページに関するソフトビットデータと、を得ることが可能となる。これにより、上述した第１の実施形態と同様の効果を得ることが可能となる。
【０３１５】
＜３＞変形例  
なお、上述した第２動作、第５動作、第８動作、及び第１１動作における第２読み出し動作、または第３動作、第６動作、第９動作、及び第１２動作における第３読み出し動作において、選択ワード線ＷＬｎに印加する電圧ＶＣＧＲＶは適宜変更可能である。
【０３１６】
図８０を用いて、電圧ＶＣＧＲＶの変更する方法を説明する。図８０では、第１の実施形態に適用した場合について示している。
【０３１７】
図８０に示すように、変形例に係るメモリコントローラ２００は、読み出し動作につき、読み出し動作を命令するprefixコマンド（例えば“ＸＡｈ”）をＮＡＮＤ型フラッシュメモリ１００に対して発行する。引き続きメモリコントローラ２００は、アドレス（カラムアドレス、ブロックアドレス、ページアドレスを含む）、及び電圧ＶＣＧＲＶの変動量（shift value）を示すデータをＮＡＮＤ型フラッシュメモリ１００に対して発行する。続いて、メモリコントローラ２００は、コマンド（例えば“ＸＢｈ”）、コマンド（例えば“００ｈ”）、及びアドレス（カラムアドレス、ブロックアドレス、ページアドレスを含む）をＮＡＮＤ型フラッシュメモリ１００に対して発行する。その後メモリコントローラ２００は、コマンド（例えば“３０ｈ”）をＮＡＮＤ型フラッシュメモリ１００に対して発行する。
【０３１８】
コマンド“３０ｈ”がレジスタ１１２にセットされると、ＮＡＮＤ型フラッシュメモリ１００はメモリセルアレイ１３０からのデータの読み出し動作を開始してビジー状態となる。
【０３１９】
そして、ＮＡＮＤ型フラッシュメモリ１００は、図６で説明したステップＳ１０２〜Ｓ１０５を実行する。ＮＡＮＤ型フラッシュメモリ１００は、ステップＳ１０３〜Ｓ１０４の際に、受信した電圧ＶＣＧＲＶの変動量（shift value）に基づいて、選択ワード線ＷＬｎに印加する電圧ＶＣＧＲＶを変化させる。
【０３２０】
図８１を用いて、本変形例の具体例について説明する。
【０３２１】
図８１では、電圧ＶＣＧＲＶ（ＶＡ）を変動させなかった場合のソフトビットデータの値を図中のＬＤＬ１に示している。同様に図８１では、電圧ＶＣＧＲＶ（ＶＡ）を電圧ｄＶ１だけ変動させた場合のソフトビットデータの値を図中のＬＤＬ２に示している。更に図８１では、電圧ＶＣＧＲＶ（ＶＡ）を電圧ｄＶ２（ｄＶ２＞ｄＶ１）だけ変動させた場合のソフトビットデータの値を図中のＬＤＬ３に示している。
【０３２２】
図８１に示すように、電圧ＶＣＧＲＶ（ＶＡ）を変動させない場合は、第１の実施形態で説明した読み出し動作と同様に動作する。
【０３２３】
図８１に示すように、電圧ＶＣＧＲＶ（ＶＡ）を電圧ｄＶ１だけ変動させる場合は、第２読み出し動作において、選択ワード線ＷＬｎに印加される電圧は電圧ＶＡ＋ｄＶ１となる。更に、第３読み出し動作において、選択ワード線ＷＬｎに印加される電圧は電圧ＶＡ−ｄＶ１となる。しかしながら、ワード線ＷＬｎ＋１に印加される電圧が電圧ＶＲＥＡＤＬＡとなるので、実質的に選択ワード線ＷＬｎに印加される電圧は、電圧ＶＡＤ−ｄＶ１となる。そして、電圧ＶＡ＋ｄＶ１以上の“Ｅ”データ、または電圧ＶＡＤ−ｄＶ１以下の“Ａ”データは、ミスとなり、ラッチ回路ＬＤＬに“０”として記憶される。
【０３２４】
図８１に示すように、電圧ＶＣＧＲＶ（ＶＡ）を電圧ｄＶ２だけ変動させる場合は、第２読み出し動作において、選択ワード線ＷＬｎに印加される電圧は電圧ＶＡ＋ｄＶ２となる。更に、第３読み出し動作において、選択ワード線ＷＬｎに印加される電圧は電圧ＶＡ−ｄＶ２となる。しかしながら、ワード線ＷＬｎ＋１に印加される電圧が電圧ＶＲＥＡＤＬＡとなるので、実質的に選択ワード線ＷＬｎに印加される電圧は、電圧ＶＡＤ−ｄＶ２となる。そして、電圧ＶＡ＋ｄＶ２以上の“Ｅ”データ、または電圧ＶＡＤ−ｄＶ２以下の“Ａ”データは、ミスとなり、ラッチ回路ＬＤＬに“０”として記憶される。
【０３２５】
以上のように、電圧ＶＣＧＲＶを細かく変動させることも可能である。
【０３２６】
同様にして、本変形例は第２の実施形態にも適用可能である。
【０３２７】
なお、上述した各実施形態によれば、センスアンプユニットは、４つのラッチ回路を備えているが、必ずしもこれに限らず、センスアンプユニットは、５つ以上のデータラッチを備える構成であっても良い。
【０３２８】
また、上述した各実施形態によれば、ラッチ回路ＬＤＬにソフトビットデータを記憶しているが、必ずしもこれに限らず、適宜変更可能である。
【０３２９】
また、本発明に関する各実施形態において、
（１）読出し動作では、
Aレベルの読出し動作に選択されたワード線に印加される電圧は、例えば０V〜0.55Vの間である。これに限定されることなく、0.1V〜0.24V, 0.21V〜0.31V, 0.31V〜0.4V, 0.4V〜0.5V, 0.5V〜0.55Vいずれかの間にしてもよい。
【０３３０】
Bレベルの読出し動作に選択されたワード線に印加される電圧は、例えば1.5V〜2.3Vの間である。これに限定されることなく、1.65V〜1.8V, 1.8V〜1.95V, 1.95V〜2.1V,  2.1V〜2.3Vいずれかの間にしてもよい。
【０３３１】
Cレベルの読出し動作に選択されたワード線に印加される電圧は、例えば3.0V〜4.0Vの間である。これに限定されることなく、3.0V〜3.2V, 3.2V〜3.4V, 3.4V〜3.5V, 3.5V〜3.6V, 3.6V〜4.0Vいずれかの間にしてもよい。
【０３３２】
読出し動作の時間（tR）としては、例えば25μs〜38μs, 38μs〜70μs, 70μs〜80μsの間にしてもよい。
【０３３３】
（２）書込み動作は、上述したとおりプログラム動作とベリファイ動作を含む。書込み動作では、
プログラム動作時に選択されたワード線に最初に印加される電圧は、例えば13.7V〜14.3Vの間である。これに限定されることなく、例えば13.7V〜14.0V, 14.0V〜14.6Vいずれかの間としてもよい。
【０３３４】
奇数番目のワード線を書込む際の、選択されたワード線に最初に印加される電圧と、偶数番目のワード線を書込む際の、選択されたワード線に最初に印加される電圧と、を変えてもよい。
【０３３５】
プログラム動作をISPP方式（Ｉｎｃｒｅｍｅｎｔａｌ Ｓｔｅｐ Ｐｕｌｓｅ Ｐｒｏｇｒａｍ）としたとき、ステップアップの電圧として、例えば0.5V程度が挙げられる。
【０３３６】
非選択のワード線に印加される電圧としては、例えば6.0V〜7.3Vの間としてもよい。この場合に限定されることなく、例えば7.3V〜8.4Vの間としてもよく、6.0V以下としてもよい。
非選択のワード線が奇数番目のワード線であるか、偶数番目のワード線であるかで、印加するパス電圧を変えてもよい。
書込み動作の時間（tProg）としては、例えば1700μs〜1800μs, 1800μs〜1900μs, 1900μs〜2000μsの間にしてもよい。
（３）消去動作では、
半導体基板上部に形成され、かつ、上記メモリセルが上方に配置されたウェルに最初に印加する電圧は、例えば12V〜13.6Vの間である。この場合に限定されることなく、例えば13.6V〜14.8V, 14.8V〜19.0V, 19.0〜19.8V, 19.8V〜21Vの間であってもよい。
消去動作の時間（tErase）としては、例えば3000μs〜4000μs, 4000μs〜5000μs, 4000μs〜9000μsの間にしてもよい。
（４）メモリセルの構造は、
半導体基板（シリコン基板）上に膜厚が４〜１０ｎｍのトンネル絶縁膜を介して配置された電荷蓄積層を有している。この電荷蓄積層は膜厚が２〜３ｎｍのＳｉＮ、またはＳｉＯＮなどの絶縁膜と膜厚が３〜８ｎｍのポリシリコンとの積層構造にすることができる。また、ポリシリコンにはＲｕなどの金属が添加されていても良い。電荷蓄積層の上には絶縁膜を有している。この絶縁膜は、例えば、膜厚が３〜１０ｎｍの下層Ｈｉｇｈ−ｋ膜と膜厚が３〜１０ｎｍの上層Ｈｉｇｈ−ｋ膜に挟まれた膜厚が４〜１０ｎｍのシリコン酸化膜を有している。Ｈｉｇｈ−ｋ膜はＨｆＯなどが挙げられる。また、シリコン酸化膜の膜厚はＨｉｇｈ−ｋ膜の膜厚よりも厚くすることができる。絶縁膜上には膜厚が３〜１０ｎｍの材料を介して膜厚が３０ｎｍ〜７０ｎｍの制御電極が形成されている。ここで仕事関数調整用の材料はＴａＯなどの金属酸化膜、ＴａＮなどの金属窒化膜である。制御電極にはＷなどを用いることができる。
【０３３７】
また、メモリセル間にはエアギャップを形成することができる。
【０３３８】
以上、本発明の実施形態を説明したが、本発明は上記実施形態に限定されるものではなく、その趣旨を逸脱しない範囲内において種々変形して実施することが可能である。さらに、上記実施形態には種々の段階の発明が含まれており、開示された構成要件を適宜組み合わせることによって種々の発明が抽出される。例えば、開示された構成要件からいくつかの構成要件が削除されても、所定の効果が得られるものであれば、発明として抽出され得る。
【図１】
0006679739.tif 000002
【図２】
0006679739.tif 000003
【図３】
0006679739.tif 000004
【図４】
0006679739.tif 000005
【図５】
0006679739.tif 000006
【図６】
0006679739.tif 000007
【図７】
0006679739.tif 000008
【図８】
0006679739.tif 000009
【図９】
0006679739.tif 000010
【図１０】
0006679739.tif 000011
【図１１】
0006679739.tif 000012
【図１２】
0006679739.tif 000013
【図１３】
0006679739.tif 000014
【図１４】
0006679739.tif 000015
【図１５】
0006679739.tif 000016
【図１６】
0006679739.tif 000017
【図１７】
0006679739.tif 000018
【図１８】
0006679739.tif 000019
【図１９】
0006679739.tif 000020
【図２０】
0006679739.tif 000021
【図２１】
0006679739.tif 000022
【図２２】
0006679739.tif 000023
【図２３】
0006679739.tif 000024
【図２４】
0006679739.tif 000025
【図２５】
0006679739.tif 000026
【図２６】
0006679739.tif 000027
【図２７】
0006679739.tif 000028
【図２８】
0006679739.tif 000029
【図２９】
0006679739.tif 000030
【図３０】
0006679739.tif 000031
【図３１】
0006679739.tif 000032
【図３２】
0006679739.tif 000033
【図３３】
0006679739.tif 000034
【図３４】
0006679739.tif 000035
【図３５】
0006679739.tif 000036
【図３６】
0006679739.tif 000037
【図３７】
0006679739.tif 000038
【図３８】
0006679739.tif 000039
【図３９】
0006679739.tif 000040
【図４０】
0006679739.tif 000041
【図４１】
0006679739.tif 000042
【図４２】
0006679739.tif 000043
【図４３】
0006679739.tif 000044
【図４４】
0006679739.tif 000045
【図４５】
0006679739.tif 000046
【図４６】
0006679739.tif 000047
【図４７】
0006679739.tif 000048
【図４８】
0006679739.tif 000049
【図４９】
0006679739.tif 000050
【図５０】
0006679739.tif 000051
【図５１】
0006679739.tif 000052
【図５２】
0006679739.tif 000053
【図５３】
0006679739.tif 000054
【図５４】
0006679739.tif 000055
【図５５】
0006679739.tif 000056
【図５６】
0006679739.tif 000057
【図５７】
0006679739.tif 000058
【図５８】
0006679739.tif 000059
【図５９】
0006679739.tif 000060
【図６０】
0006679739.tif 000061
【図６１】
0006679739.tif 000062
【図６２】
0006679739.tif 000063
【図６３】
0006679739.tif 000064
【図６４】
0006679739.tif 000065
【図６５】
0006679739.tif 000066
【図６６】
0006679739.tif 000067
【図６７】
0006679739.tif 000068
【図６８】
0006679739.tif 000069
【図６９】
0006679739.tif 000070
【図７０】
0006679739.tif 000071
【図７１】
0006679739.tif 000072
【図７２】
0006679739.tif 000073
【図７３】
0006679739.tif 000074
【図７４】
0006679739.tif 000075
【図７５】
0006679739.tif 000076
【図７６】
0006679739.tif 000077
【図７７】
0006679739.tif 000078
【図７８】
0006679739.tif 000079
【図７９】
0006679739.tif 000080
【図８０】
0006679739.tif 000081
【図８１】
0006679739.tif 000082