(57)【要約】【課題】  書き込み動作を一時中断して読み出し動作を行うシーケンスにおいて、性能を向上させる。【解決手段】  実施形態の半導体記憶装置は、第１及び第２プレーンと、第１プレーンに対応して設けられた第１センスアンプ、第１ラッチ回路、及び第２ラッチ回路と、第２プレーンに対応して設けられた第２センスアンプ、第３ラッチ回路、及び第４ラッチ回路と、制御回路２４とを含む。制御回路２４は、プログラムコマンド、及び読み出しコマンドを連続して外部から受信し、第１ラッチ回路の読み出しデータと、第２ラッチ回路のプログラムデータとを交換し、第２ラッチ回路の読み出しデータを外部に出力し、転送コマンドを外部から受信した場合に、第１ラッチ回路のプログラムデータを第２ラッチ回路に転送する。【選択図】  図９
2019204565.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリセルをそれぞれが含む第１及び第２プレーンと、
前記第１プレーンからデータを読み出す第１センスアンプと、
前記第１センスアンプにより読み出された読み出しデータを保持可能である第１ラッチ回路と、
前記第１ラッチ回路から転送された読み出しデータを保持可能であり、外部から入力されたプログラムデータを保持可能である第２ラッチ回路と、
前記第２プレーンからデータを読み出す第２センスアンプと、
前記第２センスアンプにより読み出された読み出しデータを保持可能である第３ラッチ回路と、
前記第３ラッチ回路から転送された読み出しデータを保持可能であり、外部から入力されたプログラムデータを保持可能である第４ラッチ回路と、
プログラム動作及び読み出し動作を制御する制御回路と
を具備し、
前記制御回路は、
第１プログラムコマンド、及び読み出しコマンドを連続して外部から受信し、
前記第２ラッチ回路が前記第１プログラムコマンドと共に入力される第１プログラムデータを保持し、前記第１ラッチ回路が前記読み出しコマンドに応答して読み出された第１読み出しデータを保持した状態で、前記第１ラッチ回路の前記第１読み出しデータと、前記第２ラッチ回路の前記第１プログラムデータとを交換し、
前記第２ラッチ回路の前記第１読み出しデータを外部に出力し、
転送コマンドを外部から受信した場合に、前記第１ラッチ回路の前記第１プログラムデータを前記第２ラッチ回路に転送する
半導体記憶装置。
【請求項２】
複数のメモリセルをそれぞれが含む第１及び第２プレーンと、
前記第１プレーンからデータを読み出す第１センスアンプと、
前記第１センスアンプにより読み出された読み出しデータを保持可能である第１ラッチ回路と、
前記第１ラッチ回路から転送された読み出しデータを保持可能であり、外部から入力されたプログラムデータを保持可能である第２ラッチ回路と、
前記第２プレーンからデータを読み出す第２センスアンプと、
前記第２センスアンプにより読み出された読み出しデータを保持可能である第３ラッチ回路と、
前記第３ラッチ回路から転送された読み出しデータを保持可能であり、外部から入力されたプログラムデータを保持可能である第４ラッチ回路と、
プログラム動作及び読み出し動作を制御する制御回路と
を具備し、
前記制御回路は、
第１プログラムコマンド、及び読み出しコマンドを連続して外部から受信し、
前記第２ラッチ回路が前記第１プログラムコマンドと共に入力される第１プログラムデータを保持し、前記第１ラッチ回路が前記読み出しコマンドに応答して読み出された第１読み出しデータを保持した状態で、前記第２ラッチ回路の前記第１プログラムデータを前記第４ラッチ回路に転送し、前記第１ラッチ回路の前記第１読み出しデータを前記第２ラッチ回路に転送し、
前記第２ラッチ回路の前記第１読み出しデータを外部に出力し、
転送コマンドを外部から受信した場合に、前記第４ラッチ回路の前記第１プログラムデータを前記第２ラッチ回路に転送する
半導体記憶装置。
【請求項３】
前記制御回路は、前記転送コマンドの後に第２プログラムコマンドを受信した場合に、前記第１プログラムデータを前記第１プレーンにプログラムする
請求項１又は２に記載の半導体記憶装置。
【請求項４】
前記制御回路は、前記第２プログラムコマンドと共にプログラムデータを外部から受信しない
請求項３に記載の半導体記憶装置。
【請求項５】
前記第１プログラムコマンドと共に入力されるプログラムアドレスを保持する第１レジスタと、
前記読み出しコマンドと共に入力される読み出しアドレスを保持する第２レジスタと
をさらに具備し、
前記制御回路は、前記第１読み出しデータを外部に出力した後、前記第１レジスタの前記プログラムアドレスを用いて、前記第１プログラムコマンドに対応するプログラム動作を実行する
請求項１に記載の半導体記憶装置。
【請求項６】
前記制御回路は、前記転送コマンドの後に第２プログラムコマンドを受信した場合に、前記第２プログラムコマンドと共に入力された第２プログラムデータを前記第２プレーンにプログラムする
請求項５に記載の半導体記憶装置。
【請求項７】
請求項１乃至６のいずれかの前記半導体記憶装置と、
前記半導体記憶装置を制御するメモリコントローラと
を具備し、
前記メモリコントローラは、
前記半導体記憶装置に前記第１プログラムコマンドを発行し、
前記第１プログラムコマンドに関するプログラム動作を一時中断して、前記半導体記憶装置に前記読み出しコマンドを発行し、
前記半導体記憶装置から前記第１読み出しデータを受信した場合に、前記半導体記憶装置に前記転送コマンドを発行する
メモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、半導体記憶装置及びメモリシステムに関する。
【背景技術】
【０００２】
半導体記憶装置の一種として、ＮＡＮＤ型フラッシュメモリが知られている。また、３次元に積層された複数のメモリセルを備えたＮＡＮＤ型フラッシュメモリが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１８６７８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
実施形態は、プログラム動作を一時中断して読み出し動作を行うシーケンスにおいて、性能を向上させることが可能な半導体記憶装置及びメモリシステムを提供する。
【課題を解決するための手段】
【０００５】
実施形態に係る半導体記憶装置は、複数のメモリセルをそれぞれが含む第１及び第２プレーンと、前記第１プレーンからデータを読み出す第１センスアンプと、前記第１センスアンプにより読み出された読み出しデータを保持可能である第１ラッチ回路と、前記第１ラッチ回路から転送された読み出しデータを保持可能であり、外部から入力されたプログラムデータを保持可能である第２ラッチ回路と、前記第２プレーンからデータを読み出す第２センスアンプと、前記第２センスアンプにより読み出された読み出しデータを保持可能である第３ラッチ回路と、前記第３ラッチ回路から転送された読み出しデータを保持可能であり、外部から入力されたプログラムデータを保持可能である第４ラッチ回路と、プログラム動作及び読み出し動作を制御する制御回路とを具備する。前記制御回路は、第１プログラムコマンド、及び読み出しコマンドを連続して外部から受信し、前記第２ラッチ回路が前記第１プログラムコマンドと共に入力される第１プログラムデータを保持し、前記第１ラッチ回路が前記読み出しコマンドに応答して読み出された第１読み出しデータを保持した状態で、前記第１ラッチ回路の前記第１読み出しデータと、前記第２ラッチ回路の前記第１プログラムデータとを交換し、前記第２ラッチ回路の前記第１読み出しデータを外部に出力し、転送コマンドを外部から受信した場合に、前記第１ラッチ回路の前記第１プログラムデータを前記第２ラッチ回路に転送する。
【図面の簡単な説明】
【０００６】
【図１】第１実施形態に係るメモリシステムのブロック図。
【図２】図１に示したＮＡＮＤ型フラッシュメモリのブロック図。
【図３】図２に示した入出力回路２１のブロック図。
【図４】図２に示したプレーンＰＢのブロック図。
【図５】プレーンＰＢに含まれる１つのブロックＢＬＫの回路図。
【図６】ブロックＢＬＫの一部領域の断面図。
【図７】メモリセルトランジスタの閾値分布の一例を示す模式図。
【図８】図４に示したセンスアンプユニット及びデータレジスタのブロック図。
【図９】第１実施形態に係るData In Suspendシーケンスを説明するタイミングチャート。
【図１０】図２に示したアドレスレジスタの動作を説明する図。
【図１１】スワップスキャンを説明する模式図。
【図１２】比較例に係るData In Suspendシーケンスを説明するタイミングチャート。
【図１３Ａ】変形例に係るData In Suspendシーケンスを説明するタイミングチャート。
【図１３Ｂ】変形例に係るData In Suspendシーケンスを説明するタイミングチャート。
【図１４】第２実施形態に係るアドレスレジスタの回路図。
【図１５】第２実施形態に係るData In Suspendシーケンスを説明するタイミングチャート。
【図１６】比較例に係るData In Suspendシーケンスを説明するタイミングチャート。
【図１７】第３実施形態に係るデータレジスタの周辺回路を抽出したブロック図。
【図１８】データイン処理及びデータアウト処理を説明する図。
【図１９】データレジスタ間のデータ転送処理を説明する図。
【図２０】第３実施形態に係るData In Suspendシーケンスを説明するタイミングチャート。
【図２１】第４実施形態に係るメモリセルトランジスタＭＴの閾値分布の一例を示す模式図。
【図２２】第４実施形態に係るセンスアンプユニット、及びデータレジスタのブロック図。
【図２３Ａ】第４実施形態に係るData In Suspendシーケンスを説明するタイミングチャート。
【図２３Ｂ】第４実施形態に係るData In Suspendシーケンスを説明するタイミングチャート。
【発明を実施するための形態】
【０００７】
以下、実施形態について図面を参照して説明する。以下に示す幾つかの実施形態は、本発明の技術思想を具体化するための装置および方法を例示したものであって、構成部品の形状、構造、配置等によって、本発明の技術思想が特定されるものではない。各機能ブロックは、ハードウェア及びソフトウェアのいずれかまたは両者を組み合わせたものとして実現することができる。各機能ブロックが以下の例のように区別されていることは必須ではない。例えば、一部の機能が例示の機能ブロックとは別の機能ブロックによって実行されてもよい。さらに、例示の機能ブロックがさらに細かい機能サブブロックに分割されていてもよい。なお、以下の説明において、同一の機能及び構成を有する要素については同一符号を付し、重複説明は必要な場合にのみ行う。
【０００８】
［１］  第１実施形態
［１−１］  メモリシステム１の構成
図１は、第１実施形態に係るメモリシステム１のブロック図である。メモリシステム１は、ＮＡＮＤ型フラッシュメモリ（半導体記憶装置）２、及びメモリコントローラ３を備える。
【０００９】
メモリシステム１は、ホスト装置が搭載されたマザーボード上にメモリシステム１を構成する複数のチップを実装して構成してもよいし、メモリシステム１を１つのモジュールで実現するシステムＬＳＩ（large-scale integrated circuit）、又はＳｏＣ（system on chip）として構成してもよい。メモリシステム１の例としては、ＳＤＴＭカードのようなメモリカード、ＳＳＤ（solid state drive）、及びｅＭＭＣ（embedded multimedia card）などが挙げられる。
【００１０】
ＮＡＮＤ型フラッシュメモリ２は、複数のメモリセル（メモリセルトランジスタともいう）を備え、データを不揮発に記憶する。ＮＡＮＤ型フラッシュメモリ２の具体的な構成については後述する。
【００１１】
メモリコントローラ３は、ホスト装置４からの命令に応答して、ＮＡＮＤ型フラッシュメモリ２に対して書き込み（プログラムともいう）、読み出し、及び消去などを命令する。また、メモリコントローラ３は、ＮＡＮＤ型フラッシュメモリ２のメモリ空間を管理する。メモリコントローラ３は、ホストインターフェース回路（ホストＩ／Ｆ）１０、プロセッサ１１、ＲＡＭ（Random Access Memory）１２、バッファメモリ１３、ＮＡＮＤインターフェース回路（ＮＡＮＤ Ｉ／Ｆ）１４、及びＥＣＣ（Error Checking and Correcting）回路１５などを備える。これらのモジュールは、バス１６を介して互いに接続される。
【００１２】
ホストインターフェース回路１０は、ホストバスを介してホスト装置４に接続され、ホスト装置４との間でインターフェース処理を行う。また、ホストインターフェース回路１０は、ホスト装置４との間で、命令、アドレス、及びデータの送受信を行う。
【００１３】
プロセッサ１１は、例えばＣＰＵ（Central Processing unit)から構成される。プロセッサ１１は、メモリコントローラ３全体の動作を制御する。例えば、プロセッサ１１は、ホスト装置４から書き込み命令を受けた場合に、これに応答して、ＮＡＮＤインターフェースに基づく書き込み命令をＮＡＮＤ型フラッシュメモリ２に発行する。読み出し及び消去の場合も同様である。また、プロセッサ１１は、ウェアレベリングなど、ＮＡＮＤ型フラッシュメモリ２を管理するための様々な処理を実行する。
【００１４】
ＲＡＭ１２は、プロセッサ１１の作業領域として使用され、ＮＡＮＤ型フラッシュメモリ２からロードされたファームウェア、及びプロセッサ１１が作成した各種テーブルなどを格納する。ＲＡＭ１２は、ＤＲＡＭ及び／又はＳＲＡＭから構成される。バッファメモリ１３は、ホスト装置４から送信されたデータを一時的に保持するとともに、ＮＡＮＤ型フラッシュメモリ２から送信されたデータを一時的に保持する。バッファメモリ１３は、ＲＡＭ１２に含まれていてもよい。
【００１５】
ＥＣＣ回路１５は、書き込み動作時には、書き込みデータ（プログラムデータともいう）に対して誤り訂正符号を生成し、この誤り訂正符号を書き込みデータに付加してＮＡＮＤインターフェース回路１４に送る。また、ＥＣＣ回路１５は、読み出し動作時には、読み出しデータに対して、読み出しデータに含まれる誤り訂正符号を用いてエラー検出及び／又はエラー訂正を行う。なお、ＥＣＣ回路１５は、ＮＡＮＤインターフェース回路１４内に設けるようにしてもよい。
【００１６】
ＮＡＮＤインターフェース回路１４は、ＮＡＮＤバスを介してＮＡＮＤ型フラッシュメモリ２に接続され、ＮＡＮＤ型フラッシュメモリ２との間でインターフェース処理を行う。また、ＮＡＮＤインターフェース回路１４は、ＮＡＮＤ型フラッシュメモリ２との間で命令、アドレス、及びデータの送受信を行う。
【００１７】
［１−１−１］  ＮＡＮＤ型フラッシュメモリ２の構成
図２は、図１に示したＮＡＮＤ型フラッシュメモリ２のブロック図である。
【００１８】
ＮＡＮＤ型フラッシュメモリ２は、メモリセルアレイ２０、入出力回路２１、ロジック制御回路２２、レジスタ群（ステータスレジスタ２３Ａ、アドレスレジスタ２３Ｂ、及びコマンドレジスタ２３Ｃを含む）、シーケンサ（制御回路）２４、電圧生成回路２５、ロウデコーダ２６、カラムデコーダ２７、センスアンプユニット２８、及びデータレジスタ（データキャッシュ）２９を備える。
【００１９】
メモリセルアレイ２０は、複数のプレーンＰＢを備える。図２では、一例として、２個のプレーンＰＢ０、ＰＢ１を示している。複数のプレーンＰＢの各々は、複数のメモリセルトランジスタを備える。メモリセルアレイ２０には、メモリセルトランジスタに電圧を印加するために、複数のビット線、複数のワード線、及びソース線などが配設される。プレーンＰＢの具体的な構成については後述する。
【００２０】
入出力回路２１及びロジック制御回路２２は、ＮＡＮＤバスを介して、メモリコントローラ３に接続される。入出力回路２１は、メモリコントローラ３との間でＮＡＮＤバスを介して、信号ＤＱ（例えばＤＱ０〜ＤＱ７）を送受信する。
【００２１】
ロジック制御回路２２は、メモリコントローラ３からＮＡＮＤバスを介して、外部制御信号（例えば、チップイネーブル信号ＣＥｎ、コマンドラッチイネーブル信号ＣＬＥ、アドレスラッチイネーブル信号ＡＬＥ、書き込みイネーブル信号ＷＥｎ、読み出しイネーブル信号ＲＥｎ、及びライトプロテクト信号ＷＰｎを受信する。信号名に付記された“ｎ”は、アクティブ・ローを示す。また、ロジック制御回路２２は、ＮＡＮＤバスを介して、メモリコントローラ３にレディー／ビジー信号ＲＢｎを送信する。
【００２２】
信号ＣＥｎは、ＮＡＮＤ型フラッシュメモリ２の選択を可能にし、当該ＮＡＮＤ型フラッシュメモリ２を選択する際にアサートされる。信号ＣＬＥは、信号ＤＱとして送信されるコマンドをコマンドレジスタにラッチすることを可能にする。信号ＡＬＥは、信号ＤＱとして送信されるアドレスをアドレスレジスタにラッチすることを可能にする。信号ＷＥｎは、書き込みを可能にする。信号ＲＥｎは、読み出しを可能にする。信号ＷＰｎは、書き込み及び消去を禁止する際にアサートされる。信号ＲＢｎは、ＮＡＮＤ型フラッシュメモリ２がレディー状態（外部からの命令を受け付けることが可能である状態）であるか、ビジー状態（外部からの命令を受け付けることができない状態）であるかを示す。メモリコントローラ３は、ＮＡＮＤ型フラッシュメモリ２から信号ＲＢｎを受けることで、ＮＡＮＤ型フラッシュメモリ２の状態を知ることができる。
【００２３】
ステータスレジスタ２３Ａは、ＮＡＮＤ型フラッシュメモリ２の動作に必要なデータを一時的に保持する。アドレスレジスタ２３Ｂは、アドレスを一時的に保持する。コマンドレジスタ２３Ｃは、コマンドを一時的に保持する。ステータスレジスタ２３Ａ、アドレスレジスタ２３Ｂ、及びコマンドレジスタ２３Ｃは、例えばＳＲＡＭから構成される。
【００２４】
制御回路２４は、コマンドレジスタ２３Ｃからコマンドを受け、このコマンドに基づくシーケンスに従ってＮＡＮＤ型フラッシュメモリ２を統括的に制御する。
【００２５】
電圧生成回路２５は、ＮＡＮＤ型フラッシュメモリ２の外部から電源電圧を受け、この電源電圧を用いて、書き込み動作、読み出し動作、及び消去動作に必要な複数の電圧を生成する。電圧生成回路２５は、生成した電圧を、メモリセルアレイ２０、ロウデコーダ２６、及びセンスアンプユニット２８などに供給する。
【００２６】
ロウデコーダ２６は、アドレスレジスタ２３Ｂからロウアドレスを受け、このロウアドレスをデコードする。ロウデコーダ２６は、デコードされたロウアドレスに基づいて、ワード線などの選択動作を行う。そして、ロウデコーダ２６は、メモリセルアレイ２０に、書き込み動作、読み出し動作、及び消去動作に必要な複数の電圧を転送する。
【００２７】
カラムデコーダ２７は、アドレスレジスタ２３Ｂからカラムアドレスを受け、このカラムアドレスをデコードする。カラムデコーダ２７は、デコードされたカラムアドレスに基づいて、ビット線の選択動作を行う。
【００２８】
センスアンプユニット２８は、読み出し動作時には、メモリセルトランジスタからビット線に読み出されたデータを検知及び増幅する。また、センスアンプユニット２８は、書き込み動作時には、書き込みデータをビット線に転送する。
【００２９】
データレジスタ２９は、読み出し動作時には、センスアンプユニット２８から転送されたデータを一時的に保持し、これを入出力回路２１へ転送する。また、データレジスタ２９は、書き込み動作時には、入出力回路２１から転送されたデータを一時的に保持し、これをセンスアンプユニット２８へ転送する。データレジスタ２９は、ＳＲＡＭなどで構成される。
【００３０】
［１−１−２］  入出力回路２１の構成
図３は、図２に示した入出力回路２１のブロック図である。入出力回路２１は、シフトレジスタユニット２１Ａ、及びマルチプレクサ２１Ｃを備える。
【００３１】
シフトレジスタユニット２１Ａは、信号線ＤＱ０〜ＤＱ７に対応した８個のシフトレジスタ２１Ｂを備える。図３では、信号線ＤＱ０に接続された１個のシフトレジスタ２１Ｂを代表して示している。図示は省略するが、信号線ＤＱ１〜ＤＱ７にもそれぞれ、図３で示したシフトレジスタ２１Ｂが接続される。
【００３２】
シフトレジスタ２１Ｂは、直列に接続された複数のフリップフロップ２１Ｃを備える。シフトレジスタ２１Ｂに含まれるフリップフロップ２１Ｃの数は、信号ＤＱのタイミング制御に応じて適宜設定され、本実施形態では、例えば８個である。
【００３３】
初段のフリップフロップ２１Ｃの入力端子Ｄは、信号線ＤＱ０に接続され、その出力端子Ｑは、次段のフリップフロップ２１Ｃの入力端子Ｄに接続され、そのクロック端子には、シーケンサ２４から内部クロックｉＣＬＫが入力される。フリップフロップ２１Ｃは、内部クロックｉＣＬＫが立ち上がるタイミングで、入力データをラッチする。最終段のフリップフロップ２１Ｃの出力端子Ｑは、マルチプレクサ２１Ｃの複数の入力端子の１つに接続される。複数のフリップフロップ２１Ｃに入力される内部クロックｉＣＬＫには、周期の異なる複数の内部クロックｉＣＬＫが含まれる。
【００３４】
マルチプレクサ２１Ｃの複数の出力端子は、複数の信号線を介してデータレジスタ２９に接続される。２プレーン構成である場合、マルチプレクサ２１Ｃとデータレジスタ２９とを接続する信号線の数は、プレーンＰＢ０用の８本と、プレーンＰＢ１用の８本との合計１６本である。マルチプレクサ２１Ｃの制御端子には、シーケンサ２４から制御信号ＳＥＬが入力される。制御信号ＳＥＬは、プレーンＰＢを選択する信号である。マルチプレクサ２１Ｃは、制御信号ＳＥＬに応じて、シフトレジスタユニット２１Ａに接続された８本の信号線と、データレジスタ２９に接続された１６本のうち８本とを接続する。また、マルチプレクサ２１Ｃは、８ビットずつデータをデータレジスタ２９に転送する。
【００３５】
なお、図示は省略するが、シフトレジスタユニット２１Ａは、データ出力用のシフトレジスタを含む。データ出力用のシフトレジスタは、図３のシフトレジスタユニット２１Ａに並列に接続される。内部クロックｉＣＬＫは、データ入力用のシフトレジスタとデータ出力用のシフトレジスタとで共通である。
【００３６】
［１−１−３］  プレーンＰＢの構成
図４は、図２に示したプレーンＰＢ０、ＰＢ１及びその周辺回路のブロック図である。
【００３７】
プレーンＰＢ０、ＰＢ１の各々は、ｊ個のブロックＢＬＫ０〜ＢＬＫ（ｊ−１）を備える。ｊは、１以上の整数である。なお、プレーンＰＢ０、ＰＢ１が備えるブロックＢＬＫの数は、互いに異なっていてもよい。
【００３８】
複数のブロックＢＬＫの各々は、複数のメモリセルトランジスタを備える。メモリセルトランジスタは、電気的に書き換え可能なメモリセルから構成される。ブロックＢＬＫの具体的な構成については後述する。
【００３９】
ロウデコーダ２６、センスアンプユニット２８、及びデータレジスタ２９は、プレーンＰＢごとに設けられる。すなわち、プレーンＰＢ０には、ロウデコーダ２６−０及びセンスアンプユニット２８−０が接続される。センスアンプユニット２８−０には、データレジスタ２９−０が接続される。プレーンＰＢ１には、ロウデコーダ２６−１及びセンスアンプユニット２８−１が接続される。センスアンプユニット２８−１には、データレジスタ２９−１が接続される。なお、図示は省略するが、カラムデコーダ２７も、プレーンＰＢごとに設けられる。
【００４０】
［１−１−４］  ブロックＢＬＫの構成
図５は、プレーンＰＢに含まれる１つのブロックＢＬＫの回路図である。複数のブロックＢＬＫの各々は、複数のストリングユニットＳＵを備える。図５には、４個のストリングユニットＳＵ０〜ＳＵ３を例示している。１個のブロックＢＬＫに含まれるストリングユニットＳＵの数は、任意に設定可能である。
【００４１】
複数のストリングユニットＳＵの各々は、複数のＮＡＮＤストリング（メモリストリング）ＮＳを備える。１個のストリングユニットＳＵに含まれるＮＡＮＤストリングＮＳの数は、任意に設定可能である。
【００４２】
複数のＮＡＮＤストリングＮＳの各々は、複数のメモリセルトランジスタＭＴ、及び２個の選択トランジスタＳＴ１、ＳＴ２を備える。複数のメモリセルトランジスタＭＴは、選択トランジスタＳＴ１のソースと選択トランジスタＳＴ２のドレインとの間に直列接続される。本明細書では、メモリセルトランジスタをメモリセル又はセルと呼ぶ場合もある。図５は、簡略化のために、ＮＡＮＤストリングＮＳが８個のメモリセルトランジスタＭＴ（ＭＴ０〜ＭＴ７）を備える構成例を示しているが、ＮＡＮＤストリングＮＳが備えるメモリセルトランジスタＭＴの数は、実際にはこれよりも多く、また、任意に設定可能である。メモリセルトランジスタＭＴは、制御ゲート電極と電荷蓄積層とを備え、データを不揮発に記憶する。メモリセルトランジスタＭＴは、１ビットのデータ、又は２ビット以上のデータを記憶することが可能である。
【００４３】
ストリングユニットＳＵ０に含まれる複数の選択トランジスタＳＴ１のゲートは、選択ゲート線ＳＧＤ０に共通接続され、同様に、ストリングユニットＳＵ１〜ＳＵ３にはそれぞれ、選択ゲート線ＳＧＤ１〜ＳＧＤ３が接続される。ストリングユニットＳＵ０に含まれる複数の選択トランジスタＳＴ２のゲートは、選択ゲート線ＳＧＳ０に共通接続され、同様に、ストリングユニットＳＵ１〜ＳＵ３にはそれぞれ、選択ゲート線ＳＧＳ１〜ＳＧＳ３が接続される。なお、各ブロックＢＬＫに含まれるストリングユニットＳＵ０〜ＳＵ３には、共通の選択ゲート線ＳＧＳが接続されていてもよい。各ブロックＢＬＫ内にあるメモリセルトランジスタＭＴ０〜ＭＴ７の制御ゲートはそれぞれ、ワード線ＷＬ０〜ＷＬ７に接続される。
【００４４】
各ブロックＢＬＫ内でマトリクス状に配置されたＮＡＮＤストリングＮＳのうち、同一列にある複数のＮＡＮＤストリングＮＳの選択トランジスタＳＴ１のドレインは、ビット線ＢＬ０〜ＢＬ（ｍ−１）のいずれかに共通接続される。“ｍ”は１以上の整数である。さらに、各ビット線ＢＬは、複数のブロックＢＬＫに共通接続され、複数のブロックＢＬＫの各々に含まれる各ストリングユニットＳＵ内にある１つのＮＡＮＤストリングＮＳに接続される。各ブロックＢＬＫに含まれる複数の選択トランジスタＳＴ２のソースは、ソース線ＳＬに共通接続される。ソース線ＳＬは、例えば複数のブロックＢＬＫに共通接続される。
【００４５】
各ブロックＢＬＫ内にある複数のメモリセルトランジスタＭＴのデータは、例えば一括して消去される。読み出し及び書き込みは、１つのストリングユニットＳＵに配設された１本のワード線ＷＬに共通接続された複数のメモリセルトランジスタＭＴに対して、一括して行われる。１つのストリングユニットＳＵ内でワード線ＷＬを共有するメモリセルトランジスタＭＴの組を、セルユニットＣＵと呼ぶ。セルユニットＣＵに含まれる複数のメモリセルトランジスタＭＴがそれぞれ記憶する１ビットのデータの集まりをページと呼ぶ。すなわち、セルユニットＣＵに対する書き込み動作及び読み出し動作は、ページを単位として実行される。
【００４６】
なお、ＮＡＮＤストリングＮＳは、ダミーセルトランジスタを備えていてもよい。具体的には、選択トランジスタＳＴ２とメモリセルトランジスタＭＴ０との間には、例えば２個のダミーセルトランジスタ（図示せず）が直列接続される。メモリセルトランジスタＭＴ７と選択トランジスタＳＴ１との間には、例えば２個のダミーセルトランジスタ（図示せず）が直列接続される。複数のダミーセルトランジスタのゲートにはそれぞれ、複数のダミーワード線が接続される。ダミーセルトランジスタの構造は、メモリセルトランジスタと同じである。ダミーセルトランジスタは、データを記憶するためのものではなく、書き込み動作や消去動作中に、メモリセルトランジスタや選択トランジスタが受けるディスターブを緩和する機能を有する。
【００４７】
［１−１−５］  ブロックＢＬＫの積層構造
図６は、ブロックＢＬＫの一部領域の断面図である。図６において、Ｘ方向は、選択ゲート線が延びる方向であり、Ｘ方向と水平面内で直交するＹ方向は、ビット線が延びる方向であり、Ｚ方向は、積層方向である。
【００４８】
半導体層内には、ｐ型ウェル領域（ｐ−ｗｅｌｌ）３０が設けられる。ｐ型ウェル領域３０上には、複数のＮＡＮＤストリングＮＳが設けられる。すなわち、ウェル領域３０上には、選択ゲート線ＳＧＳとして機能する配線層３１、ワード線ＷＬ０〜ＷＬ７として機能する８層の配線層３２、及び選択ゲート線ＳＧＤとして機能する配線層３３がそれぞれ、この順に複数の絶縁層を介して積層される。図面が煩雑になるのを避けるために、積層された複数の配線層の間に設けられた複数の絶縁層のハッチングを省略している。
【００４９】
メモリホール３４は、配線層３１、３２、３３を貫通してウェル領域３０に達する。メモリホール３４内には、ピラー状の半導体層（半導体ピラー）３５が設けられる。半導体ピラー３５の側面には、ゲート絶縁膜３６、電荷蓄積層（絶縁膜）３７、及びブロック絶縁膜３８が順に設けられる。これらによってメモリセルトランジスタＭＴ、及び選択トランジスタＳＴ１、ＳＴ２が構成される。半導体ピラー３５は、ＮＡＮＤストリングＮＳの電流経路として機能し、各トランジスタのチャネルが形成される領域である。半導体ピラー３５の上端は、コンタクトプラグ３９を介して、ビット線ＢＬとして機能する金属配線層４０に接続される。
【００５０】
ウェル領域３０の表面領域には、高濃度のｎ型不純物が導入されたｎ＋型拡散領域４１が設けられる。拡散領域４１上にはコンタクトプラグ４２が設けられ、コンタクトプラグ４２は、ソース線ＳＬとして機能する金属配線層４３に接続される。さらに、ウェル領域３０の表面領域には、高濃度のｐ型不純物が導入されたｐ＋型拡散領域４４が設けられる。拡散領域４４上にはコンタクトプラグ４５が設けられ、コンタクトプラグ４５は、ウェル配線ＣＰＷＥＬＬとして機能する金属配線層４６に接続される。ウェル配線ＣＰＷＥＬＬは、ウェル領域３０を介して半導体ピラー３５に電圧を印加するための配線である。
【００５１】
以上の構成が、図６の紙面の奥行き方向（Ｘ方向）に複数配列されており、Ｘ方向に並ぶ複数のＮＡＮＤストリングＮＳの集合によってストリングユニットＳＵが構成される。
【００５２】
［１−１−６］  メモリセルトランジスタの閾値分布
次に、メモリセルトランジスタＭＴの取り得る閾値電圧Ｖｔｈの分布について説明する。図７は、メモリセルトランジスタＭＴの閾値分布の一例を示す模式図である。メモリセルトランジスタＭＴは、１ビットのデータを記憶することが可能である。本実施形態では、メモリセルトランジスタＭＴが１ビットのデータを記憶する場合、いわゆるＳＬＣ（single level cell）方式を例に説明する。
【００５３】
メモリセルトランジスタＭＴが１ビットのデータを記憶する場合、メモリセルトランジスタＭＴは、閾値電圧に応じた２つの状態（ステート）のいずれかを取り得る。２つのステートを、低い方から順に、ステート“Ｅｒ”、“Ａ”と呼ぶ。ステート“Ｅｒ”、“Ａ”の各々に属する複数のメモリセルトランジスタＭＴは、分布を形成する。
【００５４】
ステート“Ｅｒ”、“Ａ”にはそれぞれ、例えば、データ“１”、“０”が割り当てられる。読み出し対象のメモリセルトランジスタＭＴに記憶されたデータを読み出すために、当該メモリセルトランジスタＭＴの閾値電圧が属するステートが判定される。ステートの判定のために、読み出し電圧ＶＡが用いられる。
【００５５】
ステート“Ｅｒ”は、データが消去された状態（消去状態）に相当する。ステート“Ｅｒ”に属するメモリセルトランジスタＭＴの閾値電圧は、電圧ＶＡより低く、例えば負の値を有する。
【００５６】
ステート“Ａ”は、電荷蓄積層に電荷が注入されてメモリセルトランジスタＭＴにデータが書き込まれた状態に相当し、ステート“Ａ”に属するメモリセルトランジスタＭＴの閾値電圧は、例えば正の値を有する。ステート“Ａ”に属するメモリセルトランジスタＭＴの閾値電圧は、読み出し電圧ＶＡより高く、かつ電圧ＶＲＥＡＤより低い。
【００５７】
電圧ＶＲＥＡＤは、非読み出し対象のセルユニットＣＵのメモリセルトランジスタＭＴに接続されたワード線ＷＬに印加される電圧であり、いずれのステートにあるメモリセルトランジスタＭＴの閾値電圧よりも高い。つまり、制御ゲート電極に電圧ＶＲＥＡＤが印加されたメモリセルトランジスタＭＴは、保持するデータに関わらずオン状態になる。
【００５８】
以上のように、各メモリセルトランジスタＭＴは、２個のステートのいずれかに設定され、１ビットのデータを記憶することが可能である。また、書き込み及び読み出しは、１つのセルユニットＣＵ内のページ単位で行われる。
【００５９】
［１−１−７］  センスアンプユニット２８及びデータレジスタ２９の構成
図８は、図４に示したセンスアンプユニット２８−０、２８−１、及びデータレジスタ２９−０、２９−１のブロック図である。センスアンプユニット２８−０、２８−１は同じ構成であるため、図８には、センスアンプユニット２８−０を抽出して示している。同様に、データレジスタ２９−０、２９−１は同じ構成であるため、図８には、データレジスタ２９−０を抽出して示している。
【００６０】
センスアンプユニット２８−０は、ビット線ＢＬ０〜ＢＬ（ｍ−１）に対応したセンスアンプユニットＳＡＵ０〜ＳＡＵ（ｍ−１）を備える。各センスアンプユニットＳＡＵは、センスアンプＳＡ、及びデータラッチ回路ＳＤＬを備える。センスアンプＳＡ、及びデータラッチ回路ＳＤＬは、互いにデータが転送可能なように接続される。
【００６１】
データラッチ回路ＳＤＬは、データを一時的に保持する。書き込み動作時には、センスアンプＳＡは、データラッチ回路ＳＤＬが保持するデータに応じて、ビット線ＢＬの電圧を制御する。センスアンプユニットＳＡＵが備えるデータラッチ回路の数は、任意に変更可能である。
【００６２】
センスアンプＳＡは、読み出し動作時には、対応するビット線ＢＬに読み出されたデータを検知し、データ“０”及びデータ“１”のいずれであるかを判定する。また、センスアンプＳＡは、書き込み動作時には、書き込みデータに基づいてビット線ＢＬに電圧を印加する。
【００６３】
データレジスタ２９−０は、センスアンプユニットＳＡＵ０〜ＳＡＵ（ｍ−１）に対応した数のデータラッチ回路ＸＤＬを備える。データラッチ回路ＸＤＬは、入出力回路２１に接続される。データラッチ回路ＸＤＬは、入出力回路２１から送られた書き込みデータを一時的に保持し、また、センスアンプユニットＳＡＵから送られた読み出しデータを一時的に保持する。より具体的には、入出力回路２１とセンスアンプユニット２８−０との間のデータ転送は、１ページ分のデータラッチ回路ＸＤＬを介して行われる。入出力回路２１が受信した書き込みデータは、データラッチ回路ＸＤＬを介して、データラッチ回路ＳＤＬに転送される。センスアンプＳＡによって読み出された読み出しデータは、データラッチ回路ＸＤＬを介して、入出力回路２１に転送される。
【００６４】
すなわち、通常の読み出し動作時には、各センスアンプユニットＳＡＵにおいて、センスアンプＳＡが対応するビット線ＢＬに読み出されたデータを検知してデータ“０”及びデータ“１”のいずれであるかを判定し、データラッチ回路ＳＤＬが当該データを保持する。データラッチ回路ＳＤＬに保持されたデータは、対応するデータラッチ回路ＸＤＬに転送された後、データラッチ回路ＸＤＬから入出力回路２１に転送される。
【００６５】
また、通常の書き込み動作時には、入出力回路２１に入力されたデータがデータラッチ回路ＸＤＬに転送され、当該データがセンスアンプユニットＳＡＵのデータラッチ回路ＳＤＬに転送され、センスアンプＳＡが、データラッチ回路ＳＤＬに保持された書き込みデータに基づいて、ビット線ＢＬに電圧を印加する。
【００６６】
［１−２］  動作
上記のように構成されたメモリシステム１の動作について説明する。
【００６７】
［１−２−１］  Data In Suspendシーケンス
本実施形態に係るData In Suspendシーケンスについて説明する。Data In Suspendシーケンスとは、データインを一時中断（サスペンド）し、データインの途中（プログラムシーケンスの途中）で、プログラム動作以外の動作、例えば読み出し動作を実行するシーケンスである。データインとは、メモリコントローラ３からＮＡＮＤ型フラッシュメモリ２に順に（例えば８ビットずつ）入力されるデータを、データレジスタ２９に格納（バッファリング）する処理である。本実施形態は、１個のプレーンＰＢがプログラム動作を実行するSingle Plane Programに係る実施例である。
【００６８】
図９は、第１実施形態に係るData In Suspendシーケンスを説明するタイミングチャートである。図９は、例えばプレーンＰＢ０がプログラム動作を実行する例である。図９には、ＤＱｘ線を介して転送されるコマンドシーケンスと、コマンドシーケンスの時間的な流れに沿ってプレーンＰＢ０に対応するラッチ回路ＳＤＬ、ＸＤＬが保持するデータとを示している。コマンドシーケンスに重ねて記載された矩形の波形は、レディー／ビジー信号ＲＢｎを表している。
【００６９】
初期状態において、ラッチ回路ＳＤＬは、空き（free）状態であり、ラッチ回路ＸＤＬは、例えばデータ“１”を保持している。図９では、全てのラッチ回路ＸＤＬがデータ“１”を保持している状態を、“ＡＬＬ１”と表記している。ラッチ回路ＸＤＬをリセットする（“ＡＬＬ１”にする）タイミングは、例えば、後述するインプットコマンド“８０ｈ”をＮＡＮＤ型フラッシュメモリ２がメモリコントローラ３から受信した時である。
【００７０】
まず、メモリコントローラ３は、ＮＡＮＤ型フラッシュメモリ２に対して、プログラム命令を実行する。すなわち、メモリコントローラ３は、ＮＡＮＤ型フラッシュメモリ２に、インプットコマンド“８０ｈ”、プレーンＰＢ０用のアドレスＡｄｄ、データ（DataIn）、及びマルチプログラムコマンド“１１ｈ”を発行する（図９のステップ（１））。制御回路２４は、当該コマンドシーケンスを受信すると、一時的に、信号ＲＢｎをローレベル（ビジー状態）にして、データイン処理、すなわちプログラムデータをラッチ回路ＸＤＬに転送する処理を実行する。
【００７１】
続いて、メモリコントローラ３は、プログラム動作を一時中断する。そして、メモリコントローラ３は、ＮＡＮＤ型フラッシュメモリ２に対して、読み出し命令を実行する。すなわち、メモリコントローラ３は、ＮＡＮＤ型フラッシュメモリ２に、第１リードコマンド“００ｈ”、プレーンＰＢ０用のアドレスＡｄｄ、及び第２リードコマンド“３０ｈ”を発行する（図９のステップ（２））。制御回路２４は、当該コマンドシーケンスを受信すると、一時的に、信号ＲＢｎをローレベルにして、読み出し動作を実行する。
【００７２】
読み出し動作において、プレーンＰＢ０から読み出された読み出しデータは、ラッチ回路ＳＤＬに保持される。続いて、制御回路２４は、ラッチ回路ＳＤＬのデータと、ラッチ回路ＸＤＬのデータとを交換する処理（スワップスキャンと呼ぶ）を実行する。スワップスキャンの詳細については後述する。これにより、入出力回路２１からラッチ回路ＸＤＬに転送されたプログラムデータをラッチ回路ＳＤＬに退避させつつ、読み出しデータをラッチ回路ＸＤＬに保持させる。この結果、入出力回路２１からラッチ回路ＸＤＬに転送されたプログラムデータが、読み出しデータによって破壊（上書き）されるのを防ぐことができる。続いて、制御回路２４は、ラッチ回路ＸＤＬに保持された読み出しデータ（DataOut）をメモリコントローラ３に出力する。
【００７３】
続いて、メモリコントローラ３は、ＮＡＮＤ型フラッシュメモリ２に、転送コマンド“３Ｆｈ”を発行する。転送コマンド“３Ｆｈ”に応答して、制御回路２４は、ラッチ回路ＳＤＬに保持されたプログラムデータをラッチ回路ＸＤＬに転送する。
【００７４】
なお、サスペンド中において、メモリコントローラ３は、ＮＡＮＤ型フラッシュメモリ２に対して、複数回の読み出し命令を連続して実行してもよい。具体的には、メモリコントローラ３は、第１リードコマンド“００ｈ”から転送コマンド“３Ｆｈ”までのシーケンスを連続して実行してもよい。
【００７５】
続いて、メモリコントローラ３は、ＮＡＮＤ型フラッシュメモリ２に対して、プログラム命令を実行する。すなわち、メモリコントローラ３は、ＮＡＮＤ型フラッシュメモリ２に、インプットコマンド“８０ｈ”、プレーンＰＢ０用のアドレスＡｄｄ、及びオートプログラムコマンド“１０ｈ”を発行する（図９のステップ（３））。ここで、図９に示す通り、プログラムデータは、ラッチ回路ＸＤＬに既に保持されている。よって、２回目のプログラムコマンドシーケンスには、プログラムデータが含まれない。
【００７６】
その後、制御回路２４は、ラッチ回路ＸＤＬに保持されたプログラムデータをラッチ回路ＳＤＬへ転送して、プログラム動作を実行する。これにより、ラッチ回路ＸＤＬに保持されたプログラムデータがプレーンＰＢ０に書き込まれる。
【００７７】
なお、メモリコントローラ３は、任意のタイミングで、ラッチ回路ＸＤＬに保持されたデータを出力させることが可能である。具体的には、メモリコントローラ３は、ＮＡＮＤ型フラッシュメモリ２に、第１データ出力コマンド“０５ｈ”、カラムアドレス、及び第２データ出力コマンド“Ｅ０”を発行する。ＮＡＮＤ型フラッシュメモリ２は、当該コマンドシーケンスに応答して、ラッチ回路ＸＤＬに保持されたデータを、メモリコントローラ３に出力する。
【００７８】
図１０は、図２に示したアドレスレジスタ２３Ｂの動作を説明する図である。アドレスレジスタ２３Ｂは、プレーンＰＢ０用のラッチ回路群５０−０と、プレーンＰＢ１用のラッチ回路群５０−１とを備える。ラッチ回路群５０−０、５０−１はそれぞれ、アドレスのビット数に対応する数のラッチ回路を備える。ラッチ回路群５０−０、５０−１は、ロウ系のアドレス（ロウアドレス）を保持するために用いられる。
【００７９】
ラッチ回路群５０−０は、入力線ＤＩＮ０に接続された入力端子Ｄと、出力端子Ｑと、書き込みイネーブル信号ＷＥｎが入力されるクロック端子とを備える。ラッチ回路群５０−０は、クロック端子に入力される信号がアサートされた場合に、入力データをラッチする。ラッチ回路群５０−０は、プレーンＰＢ０用のロウアドレスＡｄｄｗ１を出力する。
【００８０】
ラッチ回路群５０−１は、入力線ＤＩＮ１に接続された入力端子Ｄと、出力端子Ｑと、書き込みイネーブル信号ＷＥｎが入力されるクロック端子とを備える。ラッチ回路群５０−１は、クロック端子に入力される信号がアサートされた場合に、入力データをラッチする。ラッチ回路群５０−１は、プレーンＰＢ１用のロウアドレスＡｄｄｗ２を出力する。
【００８１】
図１０の番号（１）、（２）、（３）は、図９のステップ（１）、（２）、（３）に対応し、この順にアドレスがラッチ回路群５０に入力される。本実施形態では、ステップ（１）、（２）、（３）にそれぞれ対応する３回のコマンドシーケンスにおいて個別にアドレスを入力している。よって、アドレスレジスタ２３Ｂは、その都度実行されている処理に対応したアドレスを保持することが可能である。
【００８２】
［１−２−２］  スワップスキャン
次に、前述したスワップスキャンについて説明する。図１１は、スワップスキャンを説明する模式図である。図１１には、センスアンプＳＡ、及びラッチ回路ＳＤＬ、ＸＤＬを示している。
【００８３】
センスアンプＳＡは、ビット線ＢＬのデータを検知するために用いられる記憶ノードＳＥＮを備える。記憶ノードＳＥＮは、容量を有し、ビット線から転送された電圧を一時的に保持することが可能である。スワップスキャンでは、この記憶ノードＳＥＮを、データを保持するための一時的なラッチとして利用する。制御回路２４は、センスアンプＳＡによって読み出された読み出しデータを、ラッチ回路ＳＤＬに転送する（図１１のステップ（１））。
【００８４】
図９に示すように、ラッチ回路ＸＤＬは、プログラムデータを保持している。制御回路２４は、ラッチ回路ＸＤＬが保持しているプログラムデータを、センスアンプＳＡの記憶ノードＳＥＮに転送する（図１１のステップ（２））。
【００８５】
続いて、制御回路２４は、ラッチ回路ＳＤＬが保持している読み出しデータを、ラッチ回路ＸＤＬに転送する（図１１のステップ（３））。
【００８６】
続いて、制御回路２４は、センスアンプＳＡの記憶ノードＳＥＮが保持しているプログラムデータを、ラッチ回路ＳＤＬに転送する（図１１のステップ（４））。
【００８７】
このようなスワップスキャンにより、プログラムデータ及び読み出しデータを喪失することなく、ラッチ回路ＳＤＬのデータと、ラッチ回路ＸＤＬのデータとを交換することができる。
【００８８】
［１−２−３］  比較例
次に、比較例に係るData In Suspendシーケンスについて説明する。図１２は、比較例に係るData In Suspendシーケンスを説明するタイミングチャートである。
【００８９】
まず、メモリコントローラ３は、ＮＡＮＤ型フラッシュメモリ２に対して、プログラム命令を実行する（図１２のステップ（１））。
【００９０】
続いて、続いて、メモリコントローラ３は、プログラム動作を一時中断する。そして、メモリコントローラ３は、ＮＡＮＤ型フラッシュメモリ２に対して、読み出し命令を実行する（図１２のステップ（２））。
【００９１】
読み出し動作において、プレーンＰＢ０から読み出された読み出しデータは、ラッチ回路ＳＤＬに保持され、続いて、ラッチ回路ＳＤＬからラッチ回路ＸＤＬに転送される。この時点で、ラッチ回路ＸＤＬに保持されていたプログラムデータは、破壊（上書き）されている。その後、ラッチ回路ＸＤＬに保持された読み出しデータ（DataOut）がメモリコントローラ３に出力される。
【００９２】
続いて、メモリコントローラ３は、ＮＡＮＤ型フラッシュメモリ２に、インプットコマンド“８０ｈ”、プレーンＰＢ０用のアドレスＡｄｄ、データ（DataIn（１）＋α）、及びオートプログラムコマンド“１０ｈ”を発行する（図１２のステップ（３））。“DataIn（１）＋α”は、１回目のプログラムコマンドシーケンスのプログラムデータと同じデータと、それ以外のデータαとを含むことを意味する。その後、ラッチ回路ＸＤＬに保持されたプログラムデータがプレーンＰＢ０に書き込まれる。
【００９３】
比較例では、読み出し動作後に、プログラムデータが喪失しているので、２回目のプログラムコマンドシーケンスにおいて、データの再入力が必要となる。このため、書き込み時間が長くなってしまう。
【００９４】
［１−３］  第１実施形態の効果
以上詳述したように第１実施形態では、メモリコントローラ３は、ＮＡＮＤ型フラッシュメモリ２に対して、プログラム命令を発行した後、このプログラム命令に関するプログラム動作を一時中断して、読み出し命令を実行する。ＮＡＮＤ型フラッシュメモリ２の制御回路２４は、第１プログラムコマンド、及び読み出しコマンドを連続して外部から受信する。制御回路２４は、ラッチ回路ＸＤＬが第１プログラムコマンドと共に入力されるプログラムデータを保持し、ラッチ回路ＳＤＬが読み出しコマンドに応答して読み出された読み出しデータを保持した状態で、ラッチ回路ＳＤＬの読み出しデータと、ラッチ回路ＸＤＬのプログラムデータとを交換する。制御回路２４は、ラッチ回路ＸＤＬの読み出しデータを外部に出力する。そして、制御回路２４は、転送コマンドを外部から受信した場合に、ラッチ回路ＳＤＬのプログラムデータをラッチ回路ＸＤＬに転送するようにしている。
【００９５】
従って第１実施形態によれば、プログラム動作を一時中断して読み出し動作を行うシーケンスにおいて、プログラムデータをＮＡＮＤ型フラッシュメモリ２内に保持しておくことが可能となる。これにより、サスペンド後にプログラム動作が再開された場合に、プログラムデータを再度入力する必要がない。この結果、プログラム動作を一時中断して読み出し動作を行うシーケンスにおいて、性能を向上させることが可能なＮＡＮＤ型フラッシュメモリ２及びメモリシステム１を実現できる。
【００９６】
また、プログラム動作が再開された場合に、プログラム用のアドレスを再度入力するようにしている。これにより、アドレスレジスタ２３Ｂの構成を変えることなく、その都度実行されている処理に対応したアドレスをアドレスレジスタ２３Ｂが保持することが可能である。
【００９７】
なお、第１実施形態においては、メモリコントローラ３からＮＡＮＤ型フラッシュメモリ２へ、１ページ分のプログラムデータが送信された後で、読み出し命令の実行が指示されている例を示している。しかし、これに限らず、メモリコントローラ３からＮＡＮＤ型フラッシュメモリ２へ、１ページ分のプログラムデータのうち途中までのデータが送信された後で、読み出し命令の実行が指示されてもよい。この場合でも、プログラム動作が再開された場合に、読み出し命令の実行が指示される前にＮＡＮＤ型フラッシュメモリ２へ送信されたデータについては、再度入力する必要がなく、残りのデータのみをＮＡＮＤ型フラッシュメモリ２へ送信すればよい。
【００９８】
図１３Ａ及び図１３Ｂは、メモリコントローラ３からＮＡＮＤ型フラッシュメモリ２へ、１ページの一部（例えば５／８ページ分）のプログラムデータＤ１が送信された後で、読み出し命令の実行が指示されている例を示している。この場合でも、ラッチ回路ＸＤＬにて保持済みのプログラムデータＤ１は、読み出し動作の際にラッチ回路ＳＤＬに退避され、読み出し動作の終了後に、転送コマンドによりラッチ回路ＳＤＬからラッチ回路ＸＤＬに転送される。従って、書き込み動作が再開された際には、ラッチ回路ＸＤＬに既に５／８ページ分のプログラムデータＤ１が保持されているので、残りの３／８ページ分のプログラムデータＤ２を入力するだけで、１ページ分のプログラムデータ“Ｄ１＋Ｄ２”の書き込みを実行することができる。
【００９９】
１ページ分のうち一部に相当するプログラムデータＤ１が送信されてから読み出し命令の実行が指示された場合、プログラムデータＤ１は、データレジスタ２９に含まれる１ページ分のラッチ回路ＸＤＬのうち一部に格納される。従って、残りのプログラムデータＤ２は、データレジスタ２９に含まれる１ページ分のラッチ回路ＸＤＬのうち残りの一部に格納する必要がある。例えば、メモリコントローラ３からＮＡＮＤ型フラッシュメモリ２へ送信されるアドレスＡｄｄにおいてカラムアドレスを指定することで、残りのプログラムデータＤ２を格納すべきラッチ回路ＸＤＬを指定することができる。メモリコントローラ３は、１ページ分のうち一部に相当するプログラムデータＤ１が送信されてから読み出し命令の実行が指示された場合、当該プログラムデータＤ１の格納が完了したラッチ回路ＸＤＬのカラムアドレスに関する情報を、図示しない内部レジスタに保持している。従って、メモリコントローラ３は、この情報に基づいて、残りのプログラムデータＤ２をＮＡＮＤ型フラッシュメモリ２へ送信する際、アドレスＡｄｄにおいて適切なカラムアドレスを指定して、まだデータが格納されていないラッチ回路ＸＤＬへ残りのプログラムデータＤ２を格納することができる。
【０１００】
第１実施形態によると、１ページ分のプログラムデータのうち一部のデータが送信された後で読み出し命令の実行が指示されさらにその後に書き込み動作が再開された場合において、残りのデータを送信するのみで、１ページ分のプログラムデータに基づく書き込み動作を実行することができる。
【０１０１】
［２］  第２実施形態
第２実施形態は、プログラム用のアドレスを保持するラッチ回路と、読み出し用のアドレスを保持するラッチ回路とを個別に設ける。そして、アドレスの再入力を省略することで、コマンドシーケンスをより簡略化するようにしている。
【０１０２】
［２−１］  アドレスレジスタ２３Ｂの構成
図１４は、アドレスレジスタ２３Ｂの回路図である。アドレスレジスタ２３Ｂは、ラッチ回路群５０−０、５０−１、５１−０、５１−１を備える。ラッチ回路群５０−０は、プレーンＰＢ０用かつプログラム用のロウアドレスを保持する。ラッチ回路群５１−０は、プレーンＰＢ０用かつ読み出し用のロウアドレスを保持する。ラッチ回路群５０−１は、プレーンＰＢ１用かつプログラム用のロウアドレスを保持する。ラッチ回路群５１−１は、プレーンＰＢ１用かつ読み出し用のロウアドレスを保持する。
【０１０３】
ラッチ回路群５０−０は、入力線ＤＩＮ０_Ｐに接続された入力端子Ｄと、出力端子Ｑと、書き込みイネーブル信号ＷＥｎが入力されるクロック端子とを備える。ラッチ回路群５０−０は、プレーンＰＢ０用かつプログラム用のロウアドレスＡｄｄｗ１を出力する。
【０１０４】
ラッチ回路群５１−０は、入力線ＤＩＮ０_Ｒに接続された入力端子Ｄと、出力端子Ｑと、書き込みイネーブル信号ＷＥｎが入力されるクロック端子とを備える。ラッチ回路群５１−０は、プレーンＰＢ０用かつ読み出し用のロウアドレスＡｄｄｒ１を出力する。
【０１０５】
ラッチ回路群５０−１は、入力線ＤＩＮ１_Ｐに接続された入力端子Ｄと、出力端子Ｑと、書き込みイネーブル信号ＷＥｎが入力されるクロック端子とを備える。ラッチ回路群５０−１は、プレーンＰＢ１用かつプログラム用のロウアドレスＡｄｄｗ２を出力する。
【０１０６】
ラッチ回路群５１−１は、入力線ＤＩＮ１_Ｒに接続された入力端子Ｄと、出力端子Ｑと、書き込みイネーブル信号ＷＥｎが入力されるクロック端子とを備える。ラッチ回路群５１−１は、プレーンＰＢ１用かつ読み出し用のロウアドレスＡｄｄｒ２を出力する。
【０１０７】
このように構成されたアドレスレジスタ２３Ｂは、（１）プレーンＰＢ０用かつプログラム用のロウアドレス、（２）プレーンＰＢ０用かつ読み出し用のロウアドレス、（３）プレーンＰＢ１用かつプログラム用のロウアドレス、及び（４）プレーンＰＢ１用かつ読み出し用のロウアドレスを個別に保持することができる。
【０１０８】
［２−２］  Data In Suspendシーケンス
図１５は、第２実施形態に係るData In Suspendシーケンスを説明するタイミングチャートである。また、本実施形態は、２個のプレーンＰＢが並行してプログラム動作を実行するMulti-Plane Programに係る実施例である。
【０１０９】
まず、メモリコントローラ３は、ＮＡＮＤ型フラッシュメモリ２に、インプットコマンド“８０ｈ”、プレーンＰＢ０用のアドレスＡｄｄｗ１、データ（ＤａｔａＩｎ１）、及びマルチプログラムコマンド“１１ｈ”を発行する（図１５のステップ（１））。プレーンＰＢ０かつプログラム用のロウアドレスは、アドレスレジスタ２３Ｂのラッチ回路群５０−０に保持される。
【０１１０】
続いて、メモリコントローラ３は、プログラム動作を一時中断する。そして、メモリコントローラ３は、メモリコントローラ３は、ＮＡＮＤ型フラッシュメモリ２に、第１リードコマンド“００ｈ”、プレーンＰＢ０用のアドレスＡｄｄｒ１、及び第２リードコマンド“３０ｈ”を発行する（図１５のステップ（２））。プレーンＰＢ０かつ読み出し用のロウアドレスは、アドレスレジスタ２３Ｂのラッチ回路群５１−０に保持される。
【０１１１】
この時点で、プレーンＰＢ０かつプログラム用のロウアドレスは、ラッチ回路群５０−０に保持されている。このため、メモリコントローラ３は、当該アドレスを再度発行する必要はない。
【０１１２】
続いて、メモリコントローラ３は、ＮＡＮＤ型フラッシュメモリ２に、転送コマンド“３Ｆｈ”を発行する。
【０１１３】
続いて、メモリコントローラ３は、プレーンＰＢ１に対して、プログラム命令を実行する。すなわち、メモリコントローラ３は、ＮＡＮＤ型フラッシュメモリ２に、インプットコマンド“８０ｈ”、プレーンＰＢ１用のアドレスＡｄｄｗ２、データ（ＤａｔａＩｎ２）、及びオートプログラムコマンド“１０ｈ”を発行する（図１５のステップ（３））。プレーンＰＢ１かつプログラム用のロウアドレスは、アドレスレジスタ２３Ｂのラッチ回路群５０−１に保持される。
【０１１４】
この時点で、プレーンＰＢ０、ＰＢ１に対して、プログラムデータがデータレジスタ２９に揃っている。制御回路２４は、オートプログラムコマンド“１０ｈ”に応答して、プレーンＰＢ０、ＰＢ１に並行して、プログラム動作を実行する。
【０１１５】
［２−３］  比較例
次に、比較例に係るData In Suspendシーケンスについて説明する。図１６は、比較例に係るData In Suspendシーケンスを説明するタイミングチャートである。比較例では、アドレスレジスタ２３Ｂは、プレーンＰＢ０用のラッチ回路群５０−０と、プレーンＰＢ１用のラッチ回路群５０−１とを備える。すなわち、比較例では、同一プレーンＰＢにおいて、プログラム用のロウアドレスと読み出し用のロウアドレスとを同時に保持することはできない。
【０１１６】
メモリコントローラ３は、プレーンＰＢ０に対して、プログラム命令（図１６のステップ（１））、及び読み出し命令（図１６のステップ（２））を順に実行する。この時点で、プログラム命令に対応するロウアドレスは、アドレスレジスタ２３Ｂに保持されていない。また、ラッチ回路ＸＤＬに保持されていたプログラムデータは、破壊されている。
【０１１７】
続いて、メモリコントローラ３は、ＮＡＮＤ型フラッシュメモリ２に、インプットコマンド“８０ｈ”、プレーンＰＢ０用のアドレスＡｄｄｗ１、データ（ＤａｔａＩｎ１）、及びマルチプログラムコマンド“１１ｈ”を発行する（図１６のステップ（３））。
【０１１８】
続いて、メモリコントローラ３は、ＮＡＮＤ型フラッシュメモリ２に、インプットコマンド“８０ｈ”、プレーンＰＢ１用のアドレスＡｄｄｗ２、データ（ＤａｔａＩｎ２）、及びオートプログラムコマンド“１０ｈ”を発行する（図１６のステップ（４））。
【０１１９】
この時点で、プレーンＰＢ０、ＰＢ１に対して、プログラムデータがデータレジスタ２９に揃っている。制御回路２４は、オートプログラムコマンド“１０ｈ”に応答して、プレーンＰＢ０、ＰＢ１に並行して、プログラム動作を実行する。
【０１２０】
比較例では、本実施形態に比べて、プログラムコマンドシーケンス（図１６のステップ（３））が余分に追加されている。このため、比較例では、本実施形態に比べて、Multi-Plane Programのシーケンスが長くなっている。
【０１２１】
［２−４］  第２実施形態の効果
第２実施形態によれば、プログラム動作を一時中断して読み出し動作を行うシーケンスにおいて、プログラム用のロウアドレスと、その後に入力される読み出し用のロウアドレスとをアドレスレジスタ２３Ｂが同時に保持することができる。これにより、プログラム動作が再開された場合に、再度プログラム用のロウアドレスを入力する必要がない。この結果、性能をより向上させることが可能なＮＡＮＤ型フラッシュメモリ２及びメモリシステム１を実現できる。
【０１２２】
［３］  第３実施形態
第３実施形態では、例えばプレーンＰＢ０用のプログラムデータを、読み出し動作のバックグラウンドでプレーンＰＢ１用のラッチ回路ＸＤＬに退避させる。そして、読み出し動作が終了した後、プレーンＰＢ１用のラッチ回路ＸＤＬに保持されたプログラムデータを、プレーンＰＢ０用のラッチ回路ＸＤＬに戻すようにしている。
【０１２３】
［３−１］  データレジスタ２９−０、２９−１の周辺回路の構成
図１７は、データレジスタ２９−０、２９−１の周辺回路を抽出したブロック図である。前述したように、データレジスタ２９−０は、プレーンＰＢ０用に設けられ、データレジスタ２９−１は、プレーンＰＢ１用に設けられる。
【０１２４】
データレジスタ２９−０は、バスＤＡＴＡ_ＰＢ０を介してデータパス５３に接続される。データレジスタ２９−１は、バスＤＡＴＡ_ＰＢ１を介してデータパス５３に接続される。また、データレジスタ２９−０、２９−１は、データパス５３によって互いに接続される。
【０１２５】
データパス５３は、バス５２を介して入出力回路２１に接続される。データパス５３は、複数のフリップフロップ（図示せず）を備える。
【０１２６】
オシレータ５４は、制御回路２４による制御に基づいて、プレーンＰＢ０用のクロックＣＬＫ_ＰＢ０、及びプレーンＰＢ１用のクロックＣＬＫ_ＰＢ１を生成する。クロックＣＬＫ_ＰＢ０は、データレジスタ２９−０及びデータパス５３に供給され、クロックＣＬＫ_ＰＢ１は、データレジスタ２９−１及びデータパス５３に供給される。オシレータ５４は、クロックＣＬＫ_ＰＢ０を用いて、データレジスタ２９−０及びデータパス５３のラッチ動作を制御し、クロックＣＬＫ_ＰＢ１を用いて、データレジスタ２９−１及びデータパス５３のラッチ動作を制御する。
【０１２７】
図１８は、データイン処理及びデータアウト処理を説明する図である。
【０１２８】
データイン処理において、ＤＱｘ線に入力された入力データは、入出力回路２１を介してデータパス５３に入力される。データパス５３は、クロックＣＬＫ_ＰＢ０を用いて、入力データを例えばデータレジスタ２９−０に転送する。データレジスタ２９−０は、クロックＣＬＫ_ＰＢ０に応答して、入力データをラッチする。
【０１２９】
データアウト処理において、データレジスタ２９−０は、クロックＣＬＫ_ＰＢ０に応答して、保持データを出力する。データパス５３は、クロックＣＬＫ_ＰＢ０を用いて、データレジスタ２９−０から出力された出力データを入出力回路２１に転送する。
【０１３０】
図１９は、データレジスタ２９−０、２９−１間のデータ転送処理を説明する図である。例えば、データレジスタ２９−０からデータレジスタ２９−１へデータを転送するものとする。
【０１３１】
データレジスタ２９−０は、クロックＣＬＫ_ＰＢ０に応答して、保持データを出力する。データレジスタ２９−０から出力された出力データは、データパス５３に入力される。データパス５３は、クロックＣＬＫ_ＰＢ０、ＣＬＫ_ＰＢ１を用いて、データレジスタ２９−０からの出力データを、データレジスタ２９−１に転送する。データレジスタ２９−１は、クロックＣＬＫ_ＰＢ１に応答して、データパス５３から転送された出力データをラッチする。
【０１３２】
［３−２］  Data In Suspendシーケンス
図２０は、第３実施形態に係るData In Suspendシーケンスを説明するタイミングチャートである。
【０１３３】
第１実施形態と同様に、メモリコントローラ３は、ＮＡＮＤ型フラッシュメモリ２に対して、プログラム命令を実行し（図２０のステップ（１））、続いて、読み出し命令を実行する（図２０のステップ（２））。
【０１３４】
制御回路２４は、読み出しコマンドシーケンスを受信すると、一時的に、信号ＲＢｎをローレベルにして、読み出し動作を実行する。読み出し動作において、プレーンＰＢ０から読み出された読み出しデータは、ラッチ回路ＳＤＬに保持される。
【０１３５】
さらに、制御回路２４は、読み出し動作と並行して、データレジスタ２９−０、２９−１間のデータ転送処理（図２０の“ＸＤＬ to ＸＤＬ（Ｘ２Ｘ）”）を実行する。これにより、データレジスタ２９−０（プレーンＰＢ０用のラッチ回路ＸＤＬ）に保持されたプログラムデータがデータレジスタ２９−１（プレーンＰＢ１用のラッチ回路ＸＤＬ）に退避される。続いて、制御回路２４は、プレーンＰＢ０用のラッチ回路ＸＤＬに保持された読み出しデータをメモリコントローラ３に出力する。
【０１３６】
続いて、メモリコントローラ３は、ＮＡＮＤ型フラッシュメモリ２に、転送コマンド“３Ｆｈ”を発行する。転送コマンド“３Ｆｈ”に応答して、制御回路２４は、プレーンＰＢ１用のラッチ回路ＸＤＬに保持されたプログラムデータを、プレーンＰＢ０用のラッチ回路ＸＤＬに転送する。すなわち、制御回路２４は、プレーンＰＢ１用のラッチ回路ＸＤＬに一時的に退避させたプログラムデータを、プレーンＰＢ０用のラッチ回路ＸＤＬに戻す。
【０１３７】
続いて、メモリコントローラ３は、ＮＡＮＤ型フラッシュメモリ２に対して、プログラム命令を実行する。すなわち、メモリコントローラ３は、ＮＡＮＤ型フラッシュメモリ２に、インプットコマンド“８０ｈ”、プレーンＰＢ０用のアドレスＡｄｄ、及びオートプログラムコマンド“１０ｈ”を発行する（図２０のステップ（３））。ここで、図２０に示す通り、プログラムデータは、ラッチ回路ＸＤＬに既に保持されている。よって、２回目のプログラムコマンドシーケンスには、プログラムデータが含まれない。
【０１３８】
その後、制御回路２４は、ラッチ回路ＸＤＬに保持されたプログラムデータを用いて、プログラム動作を実行する。これにより、ラッチ回路ＸＤＬに保持されたプログラムデータがプレーンＰＢ０に書き込まれる。
【０１３９】
［３−３］  第３実施形態の効果
第３実施形態によれば、第１実施形態と同様に、プログラム動作を一時中断して読み出し動作を行うシーケンスにおいて、プログラムデータをＮＡＮＤ型フラッシュメモリ２内に保持しておくことが可能となる。
【０１４０】
また、読み出し動作と並行して、データレジスタ２９−０、２９−１間のデータ転送処理を実行することができる。これにより、第３実施形態では、第１実施形態に比べて、スワップスキャンに係る時間だけ動作時間を短縮できる。
【０１４１】
［４］  第４実施形態
第４実施形態は、２ビット以上のデータを記憶可能なメモリセルトランジスタＭＴの実施例である。
【０１４２】
［４−１］  メモリセルトランジスタの閾値分布
メモリセルトランジスタＭＴの取り得る閾値電圧Ｖｔｈの分布について説明する。図２１は、メモリセルトランジスタＭＴの閾値分布の一例を示す模式図である。メモリセルトランジスタＭＴは、２ビット以上のデータを記憶することが可能である。本実施形態では、メモリセルトランジスタＭＴが３ビットのデータを記憶する場合、いわゆるＴＬＣ（triple level cell）方式を例に説明する。
【０１４３】
３ビットのデータは、下位（lower）ビット、中位（middle）ビット、及び上位（upper）ビットにより規定される。メモリセルトランジスタＭＴが３ビットを記憶する場合、メモリセルトランジスタＭＴは、閾値電圧に応じた８つの状態（ステート）のうちのいずれかを取り得る。８つのステートを、低い方から順に、ステート“Ｅｒ”、“Ａ”、“Ｂ”、“Ｃ”、“Ｄ”、“Ｅ”、“Ｆ”、及び“Ｇ”と呼ぶ。ステート“Ｅｒ”、“Ａ”、“Ｂ”、“Ｃ”、“Ｄ”、“Ｅ”、“Ｆ”、及び“Ｇ”の各々に属する複数のメモリセルトランジスタＭＴは、分布を形成する。
【０１４４】
ステート“Ｅｒ”、“Ａ”、“Ｂ”、“Ｃ”、“Ｄ”、“Ｅ”、“Ｆ”、及び“Ｇ”にはそれぞれ、例えば、データ“１１１”、“１１０”、“１００”、“０００”、“０１０”、“０１１”、“００１”、及び“１０１”が割り当てられる。ビットの並びは、上位ビット“Ｘ”、中位ビット“Ｙ”、及び下位ビット“Ｚ”とすると、“Ｘ、Ｙ、Ｚ”である。閾値分布とデータとの割り当ては、任意に設計可能である。
【０１４５】
読み出し対象のメモリセルトランジスタＭＴに記憶されたデータを読み出すために、当該メモリセルトランジスタＭＴの閾値電圧が属するステートが判定される。ステートの判定のために、読み出し電圧ＶＡ、ＶＢ、ＶＣ、ＶＤ、ＶＥ、ＶＦ、及びＶＧが用いられる。
【０１４６】
ステート“Ｅｒ”は、例えば、データが消去された状態（消去状態）に相当する。ステート“Ｅｒ”に属するメモリセルトランジスタＭＴの閾値電圧は、電圧ＶＡより低く、例えば負の値を有する。
【０１４７】
ステート“Ａ”〜“Ｇ”は、電荷蓄積層に電荷が注入されてメモリセルトランジスタＭＴにデータが書き込まれた状態に相当し、ステート“Ａ”〜“Ｇ”に属するメモリセルトランジスタＭＴの閾値電圧は、例えば正の値を有する。ステート“Ａ”に属するメモリセルトランジスタＭＴの閾値電圧は、読み出し電圧ＶＡより高く、かつ読み出し電圧ＶＢ以下である。ステート“Ｂ”に属するメモリセルトランジスタＭＴの閾値電圧は、読み出し電圧ＶＢより高く、かつ読み出し電圧ＶＣ以下である。ステート“Ｃ”に属するメモリセルトランジスタＭＴの閾値電圧は、読み出し電圧ＶＣより高く、かつ読み出し電圧ＶＤ以下である。ステート“Ｄ”に属するメモリセルトランジスタＭＴの閾値電圧は、読み出し電圧ＶＤより高く、かつ読み出し電圧ＶＥ以下である。ステート“Ｅ”に属するメモリセルトランジスタＭＴの閾値電圧は、読み出し電圧ＶＥより高く、かつ読み出し電圧ＶＦ以下である。ステート“Ｆ”に属するメモリセルトランジスタＭＴの閾値電圧は、読み出し電圧ＶＦより高く、かつ読み出し電圧ＶＧ以下である。ステート“Ｇ”に属するメモリセルトランジスタＭＴの閾値電圧は、読み出し電圧ＶＧより高く、電圧ＶＲＥＡＤより低い。
【０１４８】
電圧ＶＲＥＡＤは、非読み出し対象のセルユニットＣＵのメモリセルトランジスタＭＴに接続されたワード線ＷＬに印加される電圧であり、いずれのステートにあるメモリセルトランジスタＭＴの閾値電圧よりも高い。つまり、制御ゲート電極に電圧ＶＲＥＡＤが印加されたメモリセルトランジスタＭＴは、保持するデータに関わらずオン状態になる。
【０１４９】
以上のように、各メモリセルトランジスタＭＴは、８個のステートのいずれかに設定され、３ビットデータを記憶することが可能である。また、書き込み及び読み出しは、１つのセルユニットＣＵ内のページ単位で行われる。メモリセルトランジスタＭＴが３ビットデータを記憶している場合、１つのセルユニットＣＵ内の３個のページにそれぞれ、下位ビット、中位ビット、及び上位ビットが割当てられる。下位ビット、中位ビット、及び上位ビットについて一括して書き込み又は読み出されるページはそれぞれ、下位（lower）ページ、中位（middle）ページ、及び上位（upper）ページと呼ばれる。
【０１５０】
［４−２］  センスアンプユニット２８及びデータレジスタ２９の構成
図２２は、第４実施形態に係るセンスアンプユニット２８−０、２８−１、及びデータレジスタ２９−０、２９−１のブロック図である。
【０１５１】
各センスアンプユニットＳＡＵは、センスアンプＳＡ、及びデータラッチ回路ＳＤＬ、ＡＤＬ、ＢＤＬ、ＣＤＬを備える。センスアンプＳＡ、及びデータラッチ回路ＳＤＬ、ＡＤＬ、ＢＤＬ、ＣＤＬは、互いにデータが転送可能なように接続される。
【０１５２】
データラッチ回路ＳＤＬ、ＡＤＬ、ＢＤＬ、ＣＤＬは、データを一時的に保持する。書き込み動作時には、センスアンプＳＡは、データラッチ回路ＳＤＬが保持するデータに応じて、ビット線ＢＬの電圧を制御する。データラッチ回路ＡＤＬ、ＢＤＬ、ＣＤＬは、メモリセルトランジスタＭＴが２ビット以上のデータを保持する多値動作用に使用される。すなわち、データラッチ回路ＡＤＬは、下位ページを保持するために使用される。データラッチ回路ＢＤＬは、中位ページを保持するために使用される。データラッチ回路ＣＤＬは、上位ページを保持するために使用される。センスアンプユニットＳＡＵが備えるデータラッチ回路の数は、１つのメモリセルトランジスタＭＴが保持するビット数に応じて任意に変更可能である。
【０１５３】
［４−３］  動作
図２３Ａ及び図２３Ｂは、第４実施形態に係るData In Suspendシーケンスを説明するタイミングチャートである。例えば、プレーンＰＢ０に対してプログラムを行うものとする。
【０１５４】
まず、メモリコントローラ３は、ＮＡＮＤ型フラッシュメモリ２に、コマンド“０１ｈ”、インプットコマンド“８０ｈ”、アドレスＡｄｄ（Ｌ）、データＬＤ、及びマルチプログラムコマンド“１Ａｈ”を発行する。コマンド“０１ｈ”は、下位ページを指定するコマンドである。アドレスＡｄｄ（Ｌ）は、下位ページ用のアドレスを意味する。データＬＤは、下位データ（下位ページ）を意味する。制御回路２４は、当該コマンドシーケンスを受信すると、一時的に、信号ＲＢｎをローレベル（ビジー状態）にして、データイン処理を実行する。さらに、データＬＤは、ラッチ回路ＸＤＬ、ラッチ回路ＡＤＬの順に転送される。
【０１５５】
続いて、メモリコントローラ３は、プログラム動作を一時中断する。そして、メモリコントローラ３は、ＮＡＮＤ型フラッシュメモリ２に対して、読み出し命令を実行する。すなわち、メモリコントローラ３は、ＮＡＮＤ型フラッシュメモリ２に、コマンド“０Ｘｈ”、第１リードコマンド“００ｈ”、アドレスＡｄｄ（Ｒ）、及び第２リードコマンド“３０ｈ”を発行する。コマンド“０Ｘｈ”は、任意のページを指定するコマンドである。アドレスＡｄｄ（Ｒ）は、リードアドレスである。制御回路２４は、当該コマンドシーケンスを受信すると、一時的に、信号ＲＢｎをローレベルにして、読み出し動作を実行する。その後、第１実施形態と同様に、データ出力処理、及びスワップスキャンを実行する。
【０１５６】
続いて、メモリコントローラ３は、ＮＡＮＤ型フラッシュメモリ２に、コマンド“０２ｈ”、インプットコマンド“８０ｈ”、アドレスＡｄｄ（Ｍ）、データＭＤ、及びマルチプログラムコマンド“１Ａｈ”を発行する。コマンド“０２ｈ”は、中位ページを指定するコマンドである。アドレスＡｄｄ（Ｍ）は、中位ページ用のアドレスを意味する。データＭＤは、中位データ（中位ページ）を意味する。制御回路２４は、当該コマンドシーケンスを受信すると、一時的に、信号ＲＢｎをローレベル（ビジー状態）にして、データイン処理を実行する。さらに、データＭＤは、ラッチ回路ＸＤＬ、ラッチ回路ＢＤＬの順に転送される。
【０１５７】
続いて、メモリコントローラ３は、ＮＡＮＤ型フラッシュメモリ２に、コマンド“０３ｈ”、インプットコマンド“８０ｈ”、アドレスＡｄｄ（Ｕ）、及びオートプログラムコマンド“１０ｈ”を発行する。コマンド“０３ｈ”は、上位ページを指定するコマンドである。アドレスＡｄｄ（Ｕ）は、上位ページ用のアドレスを意味する。データＵＤは、上位データ（上位ページ）を意味する。制御回路２４は、当該コマンドシーケンスを受信すると、信号ＲＢｎをローレベル（ビジー状態）にして、データイン処理を実行する。さらに、データＵＤは、ラッチ回路ＸＤＬ、ラッチ回路ＣＤＬの順に転送される。
【０１５８】
この時点で、メモリセルトランジスタＭＴに書き込むべき３ビットのデータがラッチ回路ＡＤＬ、ＢＤＬ、ＣＤＬに揃っている。その後、制御回路２４は、下位ページ、中位ページ、及び上位ページをセルユニットＣＵに一度にプログラムするフルシーケンスプログラム処理を実行する。
【０１５９】
［４−４］  第４実施形態の効果
第４実施形態によれば、Data In Suspendシーケンス、かつフルシーケンスプログラムを実現できる。また、第１実施形態と同様に、サスペンド前にＮＡＮＤ型フラッシュメモリ２に入力されたプログラムデータを、サスペンド後においてもＮＡＮＤ型フラッシュメモリ２内に保持しておくことが可能となる。
【０１６０】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１６１】
１…メモリシステム、２…ＮＡＮＤ型フラッシュメモリ、３…メモリコントローラ、４…ホスト装置、１０…ホストインターフェース回路、１１…プロセッサ、１２…ＲＡＭ、１３…バッファメモリ、１４…ＮＡＮＤインターフェース回路、１５…ＥＣＣ回路、１６…バス、２０…メモリセルアレイ、２１…入出力回路、２２…ロジック制御回路、２３Ａ…ステータスレジスタ、２３Ｂ…アドレスレジスタ、２３Ｃ…コマンドレジスタ、２４…シーケンサ、２５…電圧生成回路、２６…ロウデコーダ、２７…カラムデコーダ、２８…センスアンプユニット、２９…データレジスタ、３０…ウェル領域、３１〜３３…配線層、３４…メモリホール、３５…半導体層、３６…ゲート絶縁膜、３７…電荷蓄積層、３８…ブロック絶縁膜、３９，４２，４５…コンタクトプラグ、４０，４３，４６…金属配線層、４１，４４…拡散領域、５０，５１…ラッチ回路群、５２…バス、５３…データパス、５４…オシレータ
【図１】
2019204565.tif 000003
【図２】
2019204565.tif 000004
【図３】
2019204565.tif 000005
【図４】
2019204565.tif 000006
【図５】
2019204565.tif 000007
【図６】
2019204565.tif 000008
【図７】
2019204565.tif 000009
【図８】
2019204565.tif 000010
【図９】
2019204565.tif 000011
【図１０】
2019204565.tif 000012
【図１１】
2019204565.tif 000013
【図１２】
2019204565.tif 000014
【図１３Ａ】
2019204565.tif 000015
【図１３Ｂ】
2019204565.tif 000016
【図１４】
2019204565.tif 000017
【図１５】
2019204565.tif 000018
【図１６】
2019204565.tif 000019
【図１７】
2019204565.tif 000020
【図１８】
2019204565.tif 000021
【図１９】
2019204565.tif 000022
【図２０】
2019204565.tif 000023
【図２１】
2019204565.tif 000024
【図２２】
2019204565.tif 000025
【図２３Ａ】
2019204565.tif 000026
【図２３Ｂ】
2019204565.tif 000027