(57)【特許請求の範囲】
【請求項１】
ＮＡＮＤ型フラッシュメモリのプログラム方法であって、
ブロック内の複数のページへのプログラムを実行するブロックプログラムモードであると判定された場合に、プログラムすべきデータを記憶部にロードする間に、メモリアレイからブロックを選択し、かつ当該選択されたブロックを消去し、
前記消去されたブロックに、前記記憶部にロードされたプログラムすべきデータをプログラムする、プログラム方法。
【請求項２】
前記選択されたブロックを消去した直後に、プログラムすべきデータをプログラムする、請求項１に記載のプログラム方法。
【請求項３】
前記消去されたブロックの先頭ページから順に、プログラムすべきデータをプログラムする、請求項１または２に記載のプログラム方法。
【請求項４】
プログラム方法はさらに、消去可能であることを示す消去フラグをブロックに設定するステップを含み、
前記消去フラグに基づきメモリアレイの中から消去すべきブロックを選択する、請求項１ないし３いずれか１つに記載のプログラム方法。
【請求項５】
前記ブロックを選択するステップは、消去からプログラムまでの期間が一番大きいブロックをメモリアレイの中から選択する、請求項１ないし４いずれか１つに記載のプログラム方法。
【請求項６】
前記記憶部は、ＮＡＮＤ型フラッシュメモリ内のキャッシュメモリであり、当該キャッシュメモリへプログラムすべきデータをロードしている間に、ブロックの選択および消去が実行される、請求項１ないし５いずれか１つに記載のプログラム方法。
【請求項７】
前記記憶部は、ＮＡＮＤ型フラッシュメモリの外部に接続されたキャッシュメモリを含み、当該キャッシュメモリへプログラムすべきデータをロードしている間に、ブロックの選択および消去が実行される、請求項１ないし５いずれか１つに記載のプログラム方法。
【請求項８】
ＮＡＮＤ型ストリングを含むメモリアレイと、
前記メモリアレイのブロックを選択する選択手段と、
ブロック内の複数のページへのプログラムを実行するブロックプログラムモードを判定する判定手段と、
前記ブロックプログラムモードであると判定された場合、プログラムすべきデータがキャッシュメモリにロードされる間に、前記選択手段によって選択されたブロックを消去する消去手段と、
前記消去手段により消去されたブロックに、前記キャッシュメモリにロードされたプログラムすべきデータをプログラムするプログラム手段と、
を有するＮＡＮＤ型フラッシュメモリ。
【請求項９】
前記選択手段は、消去可能であることを示す消去フラグが付加されたブロックをメモリアレイの中から選択する、請求項８に記載のＮＡＮＤ型フラッシュメモリ。
【請求項１０】
前記プログラム手段は、キャッシュメモリにロードされたデータを選択されたブロックの先頭ページから順にプログラムする、請求項８または９に記載のＮＡＮＤ型フラッシュメモリ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＮＡＮＤ型フラッシュメモリのプログラム方法に関し、特に、書き込み消去を繰り返しても信頼性劣化の少ないフラッシュメモリに関する。
【背景技術】
【０００２】
ＮＡＮＤ型フラッシュメモリのセルアレイの等価回路を図１に示す。Ｐウエル内には、ＮＡＮＤストリングを構成する複数のトランジスタが形成される。１つのＮＡＮＤストリングは、直列に接続された複数のメモリセルと、メモリセルの一方の端部に接続されたソース線選択トランジスタと、他方の端部に接続されたビット線選択トランジスタとを有する。Ｐウエル内に、ＮＡＮＤストリングが行方向に複数形成され、１つのＰウエル内の複数のＮＡＮＤストリングが１つのブロックを構成する。
【０００３】
ソース線ＳＬは、ソース線選択トランジスタの拡散領域（ソース領域）に電気的に接続され、ビット線ＢＬは、ビット線選択トランジスタの拡散領域（ドレイン領域）に電気的に接続される。ＮＡＮＤストリングと交差する行方向に複数のワード線ＷＬ１、ＷＬ２．．．ＷＬｎが形成され、各ワード線ＷＬは、行方向の対応するメモリセルの制御ゲートに共通に接続される。選択ゲート線ＳＧＳは、行方向のソース線選択トランジスタの選択ゲートに共通に接続され、選択ゲートＤＳＧは、行方向のビット線選択トランジスタの選択ゲートに共通に接続される。選択ゲート線ＳＧＳによってソース線選択トランジスタが導通されるとき、ＮＡＮＤストリングがソース線ＳＬに電気的に接続され、選択ゲート線ＤＳＧによってビット線選択トランジスタが導通されるとき、ＮＡＮＤストリングがビット線ＢＬに電気的に接続される。
【０００４】
ＮＡＮＤ型フラッシュメモリでは、データ消去がブロック単位で行われる。このとき、選択されたブロックのワード線を０ＶまたはＰウェルより低い電圧にし、メモリセルアレイを形成するＰウエルに正電圧の消去パルスを印加する。プログラム（書き込み）では、Ｐウエルを０Ｖにし、選択されたワード線に高電圧を与える。ビット線ＢＬに、０Ｖないし正の電位を与えるが、０Ｖの場合、選択セルのシリコン表面が０Ｖとなり、シリコン基板より浮遊ゲートへ電子のトンネル電流が流れ、メモリセルの閾値が或る規定値より高くなる（特許文献１）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−０４９１４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来のＮＡＮＤ型フラッシュメモリにおいて、書き込み／消去を繰り返すと浮遊ゲート下の酸化膜の膜質劣化が起こり、書き込み不良、あるいはデータ書き込み後の放置でのデータ化け等の不良が発生し、その結果、データ書き換え回数に制限が有り、回数が制限以上になると信頼性は保証されないという課題がある。酸化膜劣化の要因は幾つか有るが、1つの要因は、Ｐウエルへの消去パルス印加後に書き込みに移るまでの間の酸化膜劣化に有ることは判明している。Ｐウエルへの消去パルス印加後、ワード線への書き込みパルス印加までの間隔を変えてデータ書き換えを繰り返し、セルのＩ−Ｖ特性を測定したときの測定結果を図２に示す。具体的には、初期のＩ−Ｖ特性と、消去から書き込みまでの間隔を０．０５秒（実線）、０．５秒（破線）、５秒（点線）の３種類にて１万回データの書き換え後のＩ−Ｖ特性を表している。同グラフから、１万回のデータ書き換え後のＩ−Ｖ特性では、間隔が大きくなるほど、Ｉ−Ｖ特性の変化が初期に比べて大きいことがわかる。つまり、消去から書き込みまでの間隔が長くなると、シリコン界面のトッラプ準位が増え、それによりＩ−Ｖ特性の制御ゲート電位依存性が減る。よって、消去パルス印加後の放置が酸化膜の劣化を引き起こすと考えられる。このような酸化膜の劣化は、微細化されたメモリセルの信頼性を劣化させ、信頼性を保証できるデータ書き換え回数の減少させてしまう。
【０００７】
本発明は、このような従来の課題を解決し、データの書き換えによる信頼性の劣化を抑制するＮＡＮＤ型フラッシュメモリのプログラム方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係るＮＡＮＤ型フラッシュメモリのプログラム方法は、ブロック内の複数のページへのプログラムを実行するブロックプログラムモードであると判定された場合に、プログラムすべきデータを記憶部にロードする間に、メモリアレイからブロックを選択し、かつ当該選択されたブロックを消去し、前記消去されたブロックに、前記記憶部にロードされたプログラムすべきデータをプログラムする。
【０００９】
好ましくは、前記選択されたブロックを消去した直後に、プログラムすべきデータをプログラムする。好ましくは前記消去されたブロックの先頭ページから順に、プログラムすべきデータをプログラムする。好ましくはプログラム方法はさらに、消去可能であることを示す消去フラグをブロックに設定するステップを含み、前記消去フラグに基づきメモリアレイの中から消去すべきブロックを選択する。好ましくは前記ブロックを選択するステップは、消去からプログラムまでの期間が一番大きいブロックをメモリアレイの中から選択する。好ましくは前記記憶部は、ＮＡＮＤ型フラッシュメモリの内外のいずれのキャッシュメモリであってもよく、例えば、記憶部がＮＡＮＤ型フラッシュメモリ内のキャッシュメモリであるとき、当該キャッシュメモリへプログラムすべきデータをロードしている間に、ブロックの選択および消去が実行される。また前記記憶部がＮＡＮＤ型フラッシュメモリの外部に接続されたキャッシュメモリであるとき、当該キャッシュメモリへプログラムすべきデータをロードしている間に、ブロックの選択および消去が実行される。
【００１０】
本発明に係るＮＡＮＤ型フラッシュメモリは、ＮＡＮＤ型ストリングを含むメモリアレイと、前記メモリアレイのブロックを選択する選択手段と、ブロック内の複数のページへのプログラムを実行するブロックプログラムモードを判定する判定手段と、前記ブロックプログラムモードであると判定された場合、プログラムすべきデータがキャッシュメモリにロードされる間に、前記選択手段によって選択されたブロックを消去する消去手段と、前記消去手段により消去されたブロックに、前記キャッシュメモリにロードされたプログラムすべきデータをプログラムするプログラム手段と、を有する。
【発明の効果】
【００１１】
本発明によれば、ブロックを消去した後に、当該ブロックへのプログラムを行うことにより、消去からプログラムまでの間隔を短くなり、それ故、酸化膜の劣化が緩和され、信頼性を保証できるデータ書き換え回数を増やすことが可能となる。また、プログラムすべきデータを記憶部にロードしている間に、選択ブロックを消去することで、ブロックプログラムに要する時間を短縮し、プログラムの高速化を図ることができる。
【図面の簡単な説明】
【００１２】
【図１】ＮＡＮＤ型フラッシュメモリのセルアレイ部の等価回路図である。
【図２】メモリセルのＩ−Ｖ特性の消去から書き込みまでの間隔依存性を表すグラフである。
【図３】本発明の実施例に係るＮＡＮＤ型フラッシュメモリの全体構成の一例を示すブロック図である。
【図４】フラッシュメモリの動作時に各部に印加される電圧の一例を示す図である。
【図５】本発明の第１の実施例に係るプログラム方法を説明するフローチャートである。
【図６】キャッシュメモリへのデータロードを説明する図である。
【図７】本実施例の消去ブロック管理テーブルの一例を示す図である。
【図８】図５に示すキャッシュプログラムの動作を説明するフローチャートである。
【図９】本発明の第２の実施例に係るメモリ装置の構成例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について図面を参照して詳細に説明する。なお、図面は、分かり易くするために各部を強調して示してあり、実際のデバイスのスケールとは同一ではないことに留意すべきである。
【００１４】
図３は、本実施例に係るＮＡＮＤ型のフラッシュメモリの一構成例を示すブロック図である。同図に示すように、フラッシュメモリ１００は、行列状に配列された複数のメモリセルが形成されたメモリアレイ１１０と、外部入出力端子Ｉ／Ｏに接続された入出力バッファ１２０と、入出力バッファ１２０からのアドレスデータを受け取るアドレスレジスタ１３０と、入出力されるデータを保持するキャッシュメモリ１４０と、入出力バッファ１２０からのコマンドデータおよび外部制御信号（図示されないチップイネーブルやアドレスラッチイネーブル等）に基づき各部を制御する制御信号Ｃ１、Ｃ２、Ｃ３等を生成するコントローラ１５０と、アドレスレジスタ１３０からの行アドレス情報Ａｘをデコードしデコード結果に基づきブロックの選択およびワード線の選択等を行うワード線選択回路１６０と、ビット線を介して読み出されたデータを保持したり、ビット線を介してプログラムデータ等を保持するページバッファ／センス回路１７０と、アドレスレジスタ１３０からの列アドレス情報Ａｙをデコードし当該デコード結果に基づきビット線の選択等を行う列選択回路１８０と、データの読出し、プログラム（書き込み）および消去等のために必要な電圧（プログラム電圧Vpgm、パス電圧Vpass、読出し電圧Vread、消去電圧Vers（消去パルスを含む）を生成する内部電圧発生回路１９０と、内部システムクロックＣＬＫを発生するシステムクロック発生回路２００とを含んで構成される。
【００１５】
メモリアレイ１１０は、図１に示したように、複数のメモリセルを直列に接続したＮＡＮＤストリングから構成される。メモリセルは、Ｐウエル内に形成されたｎ＋拡散領域であるソース／ドレインと、ソース／ドレイン間のチャンネル上に形成されたトンネル酸化膜と、トンネル酸化膜上に形成された浮遊ゲート（電荷蓄積層）と、浮遊ゲート上に誘電体膜を介して形成された制御ゲートとを含むＭＯＳ構造を有する。典型的に、浮遊ゲートに正電荷が蓄積されているとき、つまりデータ「１」が書込まれているとき、しきい値は負状態にあり、メモリセルは、制御ゲートが０Ｖでオンである。浮遊ゲートに電子が蓄積されたとき、つまりデータ「０」が書込まれているとき、しきい値は正にシフトし、メモリセルは、制御ゲートが０Ｖでオフである。但し、メモリセルは、単ビットを記憶するものに限らず、多ビットを記憶するものであってもよい。
【００１６】
図４は、フラッシュメモリの各動作時に印加されるバイアス電圧の一例を示したテーブルである。読出し動作では、ビット線に或る正の電圧を印加し、選択されたワード線に或る電圧（例えば０Ｖ）を印加し、非選択ワード線にパス電圧Vpass（例えば４．５Ｖ）を印加し、選択ゲート線SGD、SGSに正の電圧（例えば４．５Ｖ）を印加し、ビット線選択トランジスタTD、ソース線選択トランジスタTSをオンし、共通ソース線に０Ｖを印加する。プログラム（書き込み）動作では、選択されたワード線に高電圧のプログラム電圧Vpgm（１５〜２０Ｖ）を印加し、非選択のワード線に中間のパス電圧（例えば１０Ｖ）を印加し、ビット線選択トランジスタTDをオンさせ、ソース線選択トランジスタTSをオフさせ、「０」または「１」のデータに応じた電位をビット線GBLに供給する。消去動作では、ブロック内の選択されたワード線、すなわち制御ゲートに或る電圧（例えば０Ｖ）を印加し、Ｐウエルに高電圧（例えば２０Ｖ）の消去パルスを印加し、浮遊ゲートの電子を基板に引き抜くことで、ブロック単位でデータを消去する。
【００１７】
次に、本発明の第１の実施例に係るプログラム方法について説明する。本実施例の好ましい態様では、メモリセルの書き換え性能（エンデュランス性能）を向上させるため、同一ブロック内での消去からプログラム（書き込み）までの期間をできるだけ短縮させる。さらに好ましい態様では、同一ブロック内での書き込みから消去までの期間をできるだけ長くし、メモリセルのトンネル酸化膜の回復を助長し、書き換え性能を向上させる。
【００１８】
図５は、第１の実施例のプログラム方法を説明するフローチャートである。先ず、コントローラ１５０は、外部のホスト装置から入出力バッファ１２０を介して受け取ったコマンドに基づきブロックプログラムモードに移行するか否かを判定する。本実施例おけるブロックプログラムとは、１つのブロック内の複数のページにデータを連続的にページプログラムするモードである。例えば、１つのブロックが６４ページから構成されるとき、ブロックプログラムモードでは、最大で６４ページに連続的なプログラムを実行することが可能である。
【００１９】
コントローラ１５０は、ブロックプログラムモードのエントリであると判定すると（Ｓ１００）、プログラムすべきデータのロードを開始し（Ｓ１０２）、ロードしたデータをキャッシュメモリ１４０へ格納する（Ｓ１０４）。
【００２０】
ブロックのページ数をｎとしたとき、ｎページ分のデータがキャッシュメモリ１４０に格納される。キャッシュメモリ１４０は、特に限定されないが、例えば、高速動作が可能なＳＲＡＭから構成される。好ましい態様では、キャッシュメモリ１４０へのデータの書込み、そこからのデータの読出しは、コントローラ１５０によって制御される。図６は、キャッシュメモリ１４０へのデータロードを説明する図である。先ず、ブロックの先頭のページ１に相当するプログラムすべきデータが入出力バッファ１２０から取り込まれ、このデータがキャッシュメモリ１４０に格納される。ページ１のプログラムすべきデータの格納が終了すると、次に、ページ２に相当するプログラムすべきデータが入出力バッファ１２０から取り込まれ、このデータがキャッシュメモリ１４０に格納される。こうして、ページ１からページｎまでのプログラムすべきデータが順次ページ単位でキャッシュメモリ１４０に格納される。キャッシュメモリ１４０が複数ページを記憶する構成であるとき、データの読み書きがさらに高速化されるようにパイプライン構造により構成されてもよい。なお、キャッシュメモリ１４０は、後述するように、必ずしもｎページ分のデータを記憶する容量を備えていなくても良い。
【００２１】
コントローラ１５０はさらに、プログラムすべきデータをキャッシュメモリ１４０へロードしている期間中に、消去すべきブロックを選択する（Ｓ１０８）。好ましい態様では、コントローラ１５０は、メモリアレイ１１０内の消去可能なブロックを選択する。消去可能なブロックは、例えば、外部のホスト装置から消去を指示されたブロック、あるいは特定のブロックへの書き換えが集中しないようにウエアレベリングを実施した際に生じた消去可能なブロック（すなわち、使用中のブロックのページを、書き換え回数の少ないブロックへコピーしたとき、使用中のブロックが消去可能になる）などである。
【００２２】
コントローラ１５０は、このような消去可能なブロックを管理するための消去ブロック管理テーブルを含むことができる。消去ブロック管理テーブルの一例を図７に示す。消去ブロック管理テーブルは、ブロック毎に消去可能か否かを示すフラグが設定され、図７に示す例では、ブロック３とブロック５が消去可能であることを示す消去フラグ“１”が設定されている。コントローラ１５０は、消去ブロック管理テーブルを参照し、例えば、ブロック０からブロックｍに向けて、あるいはその反対にブロックｍからブロック０に向けて消去可能なブロックを検索し、最初に消去フラグ“１”が設定されたブロックを選択する。次に、ブロックを選択する場合には、前回のブロックを選択した位置から同じ方向に向けてブロックを検索してもよいし、再び、ブロック０またはブロックｍから検索してもよい。
【００２３】
また、ブロックの選択は、他のアルゴリズムによるものであってもよい。例えば、ウエアレベリングを実施している場合には、ブロックの消去回数をカウントしておき、消去可能なブロックの中で、最もカウント数が小さいブロックを選択するようにしてもよい。さらに他のアルゴリズムでは、プログラムから消去までの期間が一番大きい、消去可能なブロックを選択するようにしてもよい。プログラムから消去までの期間が大きい方が、メモリセルの酸化膜の回復が良くなる傾向があるためである。この場合、プログラムから消去までの時間的な順位が分かるような消去フラグ（例えば、複数ビット）をブロックに設定することができる。
【００２４】
コントローラ１５０は、消去すべきブロックを選択すると、次に、当該選択されたブロックを消去する（Ｓ１１０）。具体的には、図４に示すように、選択されたブロックの選択ワード線に、例えば０Ｖを印加し、Ｐウエル領域に、例えば２０Ｖを印加し、非選択ワード線、選択ゲート線ＳＧＤ、ＳＧＳ、ソース線をフローティングにする。
【００２５】
キャッシュメモリ１４０への全ページのデータの格納が終了され（Ｓ１０６）、かつ選択ブロックの消去が完了すると（Ｓ１１０）、次に、コントローラ１５０は、キャッシュメモリから選択ブロックへのプログラムを実行する（Ｓ１１２）。
【００２６】
図８は、ステップＳ１１２のキャッシュプログラムの動作を説明するフローチャートである。先ず、コントローラ１５０は、図６に示すように、キャッシュメモリ１４０のページ１に格納されているデータを読出し、これをページバッファ／センス回路１７０に転送する（Ｓ２００）。次に、ワード線選択回路１６０は、図４に示すようなバイアス電圧を印加し、すなわち、選択ブロックのページ１に相当する選択ワード線にプログラムパルスを印加し、他の非選択ワード線に中間電圧を印加し、ページ０へのプログラムを行う（Ｓ２０２）。その後、ページ０の読出しベリファイを実施し（Ｓ２０４）、不合格であれば、プログラムパルスを＋ΔＶだけアップしてプログラムが行われ（Ｓ２０６）、合格すれば、ページ２のプログラムが行われる。すなわち、ワード線選択回路１６０は、ページ２に相当する選択ワード線にプログラムパルスを印加する。こうして、ページ１からページｍまでの全ページのデータが連続的に選択ブロック内にプログラムされる（Ｓ２０８）。１つの態様では、コントローラ１５０は、ブロックプログラムモードを実施するとき、ページプログラムの回数をカウントし、カウント値がブロックのページ数に一致したとき、前ページのデータのプログラムが終了したと判定し、ブロックプログラムを終了する。
【００２７】
このように本実施例によれば、ブロックプログラムを実行するとき、プログラムすべきブロックを選択し、当該選択ブロックを消去してからそこにプログラムを行うことで、消去からプログラムまでの期間を常に短く設定することができる。例えば、１ブロックが６４ページであるとき、消去からプログラムまでの期間は、５０ｍ秒以下にすることができる。これにより、メモリセルのエンデュランス性能を改善させることができる。また、キャッシュメモリにプログラムすべきデータをロードしている間に、ブロックの選択および消去を実行することで、ブロックプログラムの高速化を図ることができる。
【００２８】
次に、本発明の第２の実施例について説明する。第１の実施例は、ＮＡＮＤフラッシュメモリがキャッシュメモリ１４０を内蔵し、キャッシュメモリ１４０に１つのブロックのページ数に相当するデータを格納する例を示したが、第２の実施例は、フラッシュメモリ１００の外部に接続されたキャッシュメモリを利用するものである。
【００２９】
図９は、本発明の第２の実施例に係るメモリ装置の一例を示す図である。同図に示すように、メモリ装置は、フラッシュメモリ１００と、キャッシュメモリ３００と、これらのメモリにバス３１０を介して接続されたホスト装置３２０とを有する。フラッシュメモリ１００に内蔵されるキャッシュメモリ１４０は、１ページまたは数ページのデータを記憶する容量を有し、キャッシュメモリ１４０は、第１の実施例のときと同様に、ページバッファ／センス回路１７０との間でデータの送受が可能である。一方、フラッシュメモリ１００の外部に接続されたキャッシュメモリ３００は、例えば、１つのブロックのｎページ分のデータを記憶する容量を備えることができ、フラッシュメモリ１００との間でデータの送受が可能である。ホスト装置３２０は、フラッシュメモリ１００を制御するとともに、キャッシュメモリ３００のデータの読み書きを制御する。
【００３０】
先ず、フラッシュメモリ１００にブロックプログラムを実行させるとき、ホスト装置３２０は、フラッシュメモリ１００に対して、ブロックプログラムのコマンドや制御信号等を送信する。フラッシュメモリ１００のコントローラ１５０は、受け取ったコマンドを解読することによって、ブロックプログラムモードへの移行が発生したと判定する。ホスト装置３２０は、ブロックプログラムをフラッシュメモリ１００に指示する一方で、キャッシュメモリ３００に、プログラムすべきデータをロードする。ホスト装置３２０からキャッシュメモリ３００にプログラムすべきデータがロードされている間に、コントローラ１５０は、第１の実施例のときと同様に、プログラムすべきブロックを選択し（図５のＳ１０８）、選択されたブロックを消去する（Ｓ１１０）。選択ブロックの消去が終了した時点で、キャッシュメモリ３００へのロードは完了されている。
【００３１】
次に、コントローラ１５０は、選択ブロックの消去を終了すると、キャッシュプログラムを実行する。１つの態様では、コントローラ１５０は、選択ブロックの消去が終了すると、例えば、Ｒｅａｄｙ信号などのフラッシュメモリの状態を表す制御信号をホスト装置３２０へ出力し、フラッシュメモリがキャッシュプログラム可能な状態にあることを知らせる。あるいは、ホスト装置３２０は、Ｒｅａｄｙ信号のような制御信号とは無関係に、キャッシュメモリ３００へのロードが終了するや否や、ブロックプログラムのためのコマンドをキャッシュメモリ３００へ送信するようにしてもよい。
【００３２】
キャッシュプログラムが開始されると、ホスト装置３２０は、キャッシュメモリ３００からデータの読出しを行う。具体的には、先ず、ホスト装置３２０は、ページ１に相当するデータをキャッシュメモリ３００から読出し、フラッシュメモリ１００は、入出力バッファ１２０を介してページ１のデータを取り込み、ページ１のデータがキャッシュメモリ１４０にロードされる。引き続き、キャッシュメモリ１４０にロードされたデータがページバッファ／センス回路１７０へ転送され、その後、第１の実施例のときと同様に、ページ１のプログラムが行われる。これと並行して、キャッシュメモリ３００からページ２のデータが読み出され、ページ２のデータが入出力バッファ１２０を介してキャッシュメモリ１４０にロードされ、ページ１のプログラムの終了後に、ページ２のプログラムが行われる。こうして、ページ１からページｍまでのデータが選択ブロックに連続的にプログラムされる。
【００３３】
このように第２の実施例によれば、フラッシュメモリ１００の外部に接続されたキャッシュメモリ３００にプログラムすべきデータをロードさせている間に、選択されたブロックの消去を行い、キャッシュメモリ３００にロードされたデータを、消去されたブロックに即座にプログラムさせることができる。これにより、メモリセルのデータ書き換えによる劣化を抑制することができる。
【００３４】
なお、第２の実施例では、フラッシュメモリ１００の外部にキャッシュメモリ３００が接続され、かつフラッシュメモリ１００の内部にキャッシュメモリ１４０が含まれる例を示したが、ブロックプログラムによるプログラム時間を高速化するため、言い換えれば、キャッシュメモリ３００からページバッファ／センス回路１７０へのデータのロード時間を短縮させるため、キャッシュプログラムが開始される前に、キャッシュメモリ３００からキャッシュメモリ１４０またはページバッファ／センス回路１７０にデータを取り込むようにしてもよい。さらに、キャッシュメモリ１００の外部にキャッシュメモリ３００が接続される場合には、フラッシュメモリ１００のキャッシュメモリ１４０は必須ではない。この場合、キャッシュメモリ３００から読み出されたデータは、入出力バッファ１２０を介してページバッファ／センス回路１７０へロードされる。
【００３５】
上記実施例では、メモリセルが１ビットのデータを記憶する例を示したが、メモリセルは多ビットのデータを記憶するものであっても良い。さらに上記実施例では、ＮＡＮＤストリングが基板表面に形成される例を示したが、ＮＡＮＤストリングが基板表面に立体的に形成されるものであってもよい。
【００３６】
以上のように本発明の好ましい実施の形態について詳述したが、本発明は、特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００３７】
１００：フラッシュメモリ
１１０：メモリアレイ
１２０：入出力バッファ
１３０：アドレスレジスタ
１４０：キャッシュメモリ
１５０：コントローラ
１６０：ワード線選択回路
１７０：ページバッファ／センス回路
１８０：列選択回路
１９０：内部電圧発生回路
２００：システムクロック発生回路
３００：キャッシュメモリ
３１０：バス
３２０：ホスト装置
【要約】
【課題】  データの書き換えによる信頼性の劣化を抑制するＮＡＮＤ型フラッシュメモリのプログラム方法を提供することを目的とする。
【解決手段】  本発明のＮＡＮＤ型フラッシュメモリのプログラム方法は、ブロック内の複数のページへのプログラムを実行するブロックプログラムモードに移行したとき、プログラムすべきデータがキャッシュメモリにロードされる間に、選択されたブロックを消去し、キャッシュメモリにロードされたプログラムすべきデータを、消去されたブロックにプログラムする。
【選択図】  図５【図１】
0005804584.tif 000002
【図２】
0005804584.tif 000003
【図３】
0005804584.tif 000004
【図４】
0005804584.tif 000005
【図５】
0005804584.tif 000006
【図６】
0005804584.tif 000007
【図７】
0005804584.tif 000008
【図８】
0005804584.tif 000009
【図９】
0005804584.tif 000010