(57)【要約】【課題】ページバッファの一部のページのみにデータが格納された場合には、不要なベリファイを行わないようにして書き込み時間を短縮する。【解決手段】不揮発性のメモリセルアレイ８にデータを書き込もうとする場合、そのデータは先ず複数ページにより構成されたページバッファ４に格納される。ベリファイ判定フラグ用バッファ１３は、ページバッファ４にデータが格納された際に、データを書き換えるためにアクセスされたページに対応するベリファイ判定フラグをプリベリファイが必要である旨に変更する。シーケンス制御回路１２は、ベリファイ判定フラグがプリベリファイが不要である旨を示している場合には、当該ページのプリベリファイをスキップし、プリベリファイが必要である旨を示しているページに対してのみプリベリファイが行われるような制御を行う。【選択図】　　　図１
2004095029.tif 000002
【特許請求の範囲】
【請求項１】
電源を切ってもデータ内容が保持される不揮発性のメモリセルにより構成されたメモリセルアレイと、
複数のページにより構成され、前記メモリセルアレイの一定領域分のデータを保持するためのページバッファと、
前記ページバッファに格納されたデータを前記メモリセルアレイに書き込む前に、前記メモリセルアレイ中のデータの書き込みを行おうとする領域のデータと前記ページバッファに格納されたデータとを１ビット毎に比較するプリベリファイを行うための比較器と、
前記ページバッファの各ページ毎にそれぞれ１ビットずつ設けられ、プリベリファイの省略の可否を示すためのベリファイ判定フラグを格納し、前記ページバッファにデータが格納された際に、データを書き換えるためにアクセスされたページに対応するベリファイ判定フラグをプリベリファイが必要である旨に変更するベリファイ判定フラグ格納手段と、
前記ベリファイ判定フラグ格納手段に格納されているベリファイ判定フラグがプリベリファイが不要である旨を示している場合には、当該ページのプリベリファイをスキップし、プリベリファイが必要である旨を示しているページに対してのみプリベリファイが行われるような制御を行うシーケンス制御回路と、
を備えた不揮発性メモリ。
【請求項２】
前記ページバッファの各ページ毎にそれぞれ複数ビットずつ設けられ、前記ページバッファの各ページのデータを分割したものの書き込み履歴を示すための書き込み履歴フラグを格納する書き込み履歴フラグ格納手段をさらに備え、
前記比較器は、プリベリファイの際に、前記書き込み履歴フラグ格納手段に格納されている書き込み履歴フラグが書き込みが行われたことを示しているデータ部分についてのみ比較を行う請求項１記載の不揮発性メモリ。
【請求項３】
前記ページバッファおよび前記ベリファイ判定フラグ格納手段が、同じ構成のメモリにより実現されている請求項１または２記載の不揮発性メモリ。
【請求項４】
電源を切ってもデータ内容が保持される不揮発性メモリに対してデータを書き込むための、不揮発性メモリの書き込み処理方法であって、
書き込みを行うとするデータを、複数のページにより構成され前記メモリセルアレイの一定領域分のデータを保持するためのページバッファに格納するステップと、
前記ページバッファにデータが格納された際にあるページがデータを書き換えるためにアクセスされると、前記ページバッファの各ページ毎にそれぞれ１ビットずつ設けられプリベリファイの省略の可否を示すためのベリファイ判定フラグを、プリベリファイが必要である旨に変更するステップと、
前記ページバッファに格納されたデータを前記メモリセルアレイに書き込む前に、前記メモリセルアレイ中のデータの書き込みを行おうとする領域のデータと前記ページバッファに格納されたデータとを１ビット毎に比較するプリベリファイ処理において、前記ベリファイ判定フラグがプリベリファイが不要である旨を示している場合には、当該ページのプリベリファイをスキップし、プリベリファイが必要である旨を示しているページに対してのみプリベリファイが行われるような制御を行うステップと、
を備えた不揮発性メモリの書き込み処理方法。
【請求項５】
前記ページバッファにデータが格納された際にあるページがデータを書き換えるためにアクセスされると、前記ページバッファの各ページ毎にそれぞれ複数ビットずつ設けられ前記ページバッファの各ページのデータを分割したものの書き込み履歴を示すための書き込み履歴フラグのうちのデータが書き替えられたデータ部分に対応する書き込み履歴フラグを、書き込みが行われたことを示すように変更するステップをさらに備え、
前記プリベリファイ処理を行うステップにおいては、前記書き込み履歴フラグが書き込みが行われたことを示しているデータ部分についてのみ比較を行う請求項４記載の不揮発性メモリの書き替え処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電源を切ってもデータ内容が保持されるフラッシュメモリ等の不揮発性メモリに関し、特にこの不揮発性メモリに対してデータの書き込みを行うための書き込み処理方法に関する。
【０００２】
【従来の技術】
比較的書き込み時間の長いフラッシュメモリ等のメモリへの書き込み時間短縮の手段として、近年、高速なＳＲＡＭアーキテクチャを内蔵し一定の書き込みデータ（数キロビット）を蓄えた後、一度に書き込み処理を行うというページバッファ機能付き不揮発性メモリ装置が開発されている。
【０００３】
このようなページバッファ機能を備えた従来の不揮発性メモリの構成を図６に示す。この従来の不揮発性メモリは、図６に示されるように、アドレスバッファ１と、Ｉ／Ｏバッファ２と、ページバッファ４と、比較器８５と、センスアンプ６と、書き込み回路７と、メモリセルアレイ８と、行デコーダ９と、列デコーダ１０と、内部アドレス発生器１１と、シーケンス回路９２とを備えている。
【０００４】
アドレスバッファ１は、外部のユーザシステムからのアドレス信号を入力して、このアドレス信号の一部の信号を取り出してページバッファ４に出力するとともに列アドレスを生成して出力する。Ｉ／Ｏバッファ２は、外部のユーザシステムとの間でデータの入出力を行っている。
【０００５】
ページバッファ４は、ＳＲＡＭ等のデータの書き込み／読み出し速度の速いメモリにより構成され、メモリセルアレイ８の一定領域分のデータを保持するために設けられている。ここでは、このページバッファ４は、１０２４ビットのデータを格納することができる記憶容量を備えていて、３２ビットを１ページとして３２ページにより構成されている。
【０００６】
センスアンプ６は、行デコーダ９から出力された３２ビットのデータの電位差を増幅して比較器８５に出力している。
【０００７】
比較器８５は、センスアンプ６を介して入力された３２ビットのデータと、ページバッファ４から読み出された３２ビットのデータとの比較を行い、その比較結果に基づいて書き込み要否判定信号２１および誤書き込み検出信号２０の論理を決定して出力している。ここで、比較器８５が行う処理としては、プリベリファイ処理と、ポストベリファイ処理がある。プリベリファイ処理とは、ページバッファ４に格納されたデータをメモリセルアレイ８に書き込む前に、メモリセルアレイ８中のデータの書き込みを行うとする領域のデータと、ページバッファ４に格納されたデータとを１ビットずつ比較する処理である。ポストベリファイ処理とは、パージバッファ４に格納されたデータをメモリセルアレイ８に書き込んだ後に、書き替え処理が正常に行われたことを確認することを目的として、メモリセルアレイ８に書き込まれたデータとページバッファ４に格納されているデータとの比較を行う処理である。
【０００８】
この比較器８５の出力論理を図７を参照して説明する。図７に示されるように、ページバッファ４からの値が“Ｌ”で、センスアンプ６からの値が“Ｈ”の場合にのみ書き込み要否判定信号２１は“Ｈ”が出力される。また、ページバッファ４からの値が“Ｈ”で、センスアンプ６からの値が“Ｌ”の場合には、誤書き込み検出信号２０には“Ｈ”が出力され、それ以外の場合には“Ｌ”が出力される。
【０００９】
書き込み回路７は、ページバッファ４から出力された３２ビット幅のデータを行デコーダ９を介してメモリセルアレイ８に書き込む処理を行っている。
【００１０】
メモリセルアレイ８は、電源を切ってもデータ内容が保持されるフラッシュメモリ等のメモリセルがアレイ状に並んだものである。
【００１１】
行デコーダ９は、内部アドレス発生器１１によって生成された内部アドレスにより指定されるアドレスのデータの読み出しおよび書き込み行の選択を行っている。列デコーダ１０は、アドレスバッファ１からの列アドレスにより指定されるアドレスのデータの読み出しおよび書き込み列の選択を行っている。
【００１２】
内部アドレス発生器１１は、シーケンス制御回路９２によりインクリメントされることにより内部アドレスを順次生成して出力している。
【００１３】
シーケンス制御回路９２は、書き込み処理のシーケンス制御を行っていて、プリベリファイ処理中に比較器８５からの誤書き込み検出信号２０がアクティブである“Ｈ”となると、異常事態が発生したものとして書き込み処理を終了する。また、シーケンス制御回路９２は、プリベリファイ中の書き込み要否判定信号２１を監視し、あるページ中の全てのビットの値が書き込もうとする領域の値と一致している場合には、書き込み処理の際にそのページの書き込みを行わないような制御を行う。
【００１４】
上記でも説明したように、不揮発性メモリの書き込み処理の際には、データの書き込み処理を行う前に書き込み処理を行おうとする一定領域内のデータ内容と、書き込みデータとの比較を行うプリベリファイが必要となる。ここで、プリベリファイ処理が必要となる理由を以下に説明する。
【００１５】
フラッシュメモリでは、各セルの初期値は“Ｈ”であり、“Ｈ”→“Ｌ”となる書き込みは各セル毎に行うことができる。しかし、一旦“Ｌ”として書き込まれたデータを消去するためには、通常数ｋビット単位となる一定領域単位でしか消去を行うことができない。
【００１６】
そのため、ページバッファ４に格納されたデータをメモリセルアレイ８に対して書き込む前に、書き込みが可能であるかを確認する必要がある。つまり、メモリセルアレイ８のあるセルが既に“Ｌ”となっていて、そのセルに格納しようとするデータが“Ｈ”の場合には異常であるため書き込み処理はそこで終了する。
【００１７】
また、逆にメモリセルアレイ８のあるセルが“Ｌ”または“Ｈ”であり、そのセルに格納しようとするデータも“Ｌ”または“Ｈ”の場合には書き込み処理が不要であるため、このセルに対する書き込み処理を省くことができる。
【００１８】
次に、図８のフローチャートを参照して不揮発性メモリにおける書き込み処理の動作について説明する。
【００１９】
先ず、ページライトコマンドが入力されると、ページバッファ４の初期化が行われ１０２４ビットの全ての値を“Ｈ”とする処理が行われる（ステップ１０１）。
【００２０】
次に、アドレスバッファ１、Ｉ／Ｏバッファ２を介して外部からアドレスおよびデータが入力されると、ページバッファ４に書き込みデータを格納する動作（Ｗｒｉｔｅ　Ｔｏ　Ｐａｇｅ　Ｂｕｆｆｅｒ）が行われる（ステップ１０２）。
【００２１】
次に、比較器５においてページバッファ４に格納されたデータと、メモリセルアレイ８のデータを書き込もうとする一定領域内のデータとを比較するプリベリファイが行われる（ステップ１０３）。
【００２２】
さらに、ステップ１０３におけるプリベリファイの結果に基づいて、ページバッファ４に一旦格納されたデータをメモリセルアレイ８に書き込む処理であるプログラム処理が行われる（ステップ１０４）。
【００２３】
最後にメモリセルアレイ８に書き込まれたデータと、ページバッファ４内のデータとの比較を行って正常に書き込み処理が行われたことを確認するポストベリファイ処理が行われる（ステップ１０５）。
【００２４】
しかし、上記で説明したような従来の不揮発性メモリでは、ページバッファ４内の一部のページにのみデータが書き込まれた場合であっても、ページバッファ４の全てのアドレスに対してプリベリファイを行っているため、不要なベリファイを行うことにより書き込み時間が長くなってしまっている。
【００２５】
例えば、図６に示したような従来の不揮発性メモリでは、ページバッファ４のデータ容量が１０２４ビットで、比較器８５は３２ビット単位でベリファイ動作を行うため、１０２４／３２＝３２回のプリベリファイ動作が行われることになる。
【００２６】
ここで、ページバッファ４に格納されたデータが１ページ分だけだった場合、残りの３１ページ分のデータとメモリセルアレイ８のデータとのベリファイを行う必要はなく、新しいデータが書き込まれたページに対してのみベリファイを行えば十分である。
【００２７】
しかし、従来の不揮発性メモリでは、新しく格納されたデータが１ページだけだったとしても、ページバッファ４の全てのページである３２ページに対してプリベリファイ動作が行われしまう。
【００２８】
不揮発性メモリに対する書き込み時間を短縮することを目的とした従来の書き込み処理方法が、例えば、特開２０００−２７６８８３号公報や、特開２０００−２８５０９２号公報に記載されている。
【００２９】
しかし、このような従来の書き込み処理方法を用いても、ページバッファの全てのページに対してベリファイ処理が行われるため、必要の無いプリベリファイ処理が行われてしまうことになる。
【００３０】
【発明が解決しようとする課題】
上述した従来の不揮発性メモリでは、ページバッファの全てのアドレスに対してプリベリファイを行っているため、不要なプリベリファイを行うことにより書き込み時間が長くなってしまうという問題点があった。
【００３１】
本発明の目的は、ページバッファの一部のページのみにデータが格納された場合には、不要なプリベリファイを行わないようにして、書き込み時間を短縮することができる不揮発性メモリを提供することである。
【００３２】
【課題を解決するための手段】
上記目的を達成するために、本発明の不揮発性メモリは、電源を切ってもデータ内容が保持される不揮発性のメモリセルにより構成されたメモリセルアレイと、
複数のページにより構成され、前記メモリセルアレイの一定領域分のデータを保持するためのページバッファと、
前記ページバッファに格納されたデータを前記メモリセルアレイに書き込む前に、前記メモリセルアレイ中のデータの書き込みを行おうとする領域のデータと前記ページバッファに格納されたデータとを１ビット毎に比較するプリベリファイを行うための比較器と、
前記ページバッファの各ページ毎にそれぞれ１ビットずつ設けられ、プリベリファイの省略の可否を示すためのベリファイ判定フラグを格納し、前記ページバッファにデータが格納された際に、データを書き換えるためにアクセスされたページに対応するベリファイ判定フラグをプリベリファイが必要である旨に変更するベリファイ判定フラグ格納手段と、
前記ベリファイ判定フラグ格納手段に格納されているベリファイ判定フラグがプリベリファイが不要である旨を示している場合には、当該ページのプリベリファイをスキップし、プリベリファイが必要である旨を示しているページに対してのみプリベリファイが行われるような制御を行うシーケンス制御回路とを備えている。
【００３３】
本発明によれば、ページバッファを構成する複数のページのうちデータの書き換えが行われたページがベリファイ判定フラグ格納手段により記憶され、シーケンス制御回路はデータの書き換えが行われたページに対するプリベリファイが行われるようにしているので、ページバッファの一部のページのみにデータが格納された場合には、不要なプリベリファイが行われなくなり書き込み時間の短縮を図ることができる。
【００３４】
また、本発明の不揮発性メモリは、前記ページバッファの各ページ毎にそれぞれ複数ビットずつ設けられ、前記ページバッファの各ページのデータを分割したものの書き込み履歴を示すための書き込み履歴フラグを格納する書き込み履歴フラグ格納手段をさらに備え、
前記比較器は、プリベリファイの際に、前記書き込み履歴フラグ格納手段に格納されている書き込み履歴フラグが書き込みが行われたことを示しているデータ部分についてのみ比較を行うようにしてもよい。
【００３５】
本発明によれば、１つのページ中においてどの部分のデータの書き換えが行われたかを判定するための書き込み履歴フラグが各ページ毎に設けられているため、１ページ中の全てのビット単位でデータの書き込み処理を行わない場合にも対応可能となる。また、１ページのビット数とデータの入出力を行うビット数とが一致しない場合でも、本来必要の無いビットについてのプリベリファイが行われないようにして、無駄なプログラム処理が行われることを防ぐことができる。そのため、データ書き込み処理の際のプログラム処理を最低限に抑えることができ、結果として書き込み時間の短縮となる。
【００３６】
さらに、本発明の不揮発性メモリは、前記ページバッファおよび前記ベリファイ判定フラグ格納手段を、同じ構成のメモリにより実現するようにしてもよい。
【００３７】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して詳細に説明する。図１は本発明の一実施形態の不揮発性メモリの構成を示すブロック図である。図１において、図６中の構成要素と同一の構成要素には同一の符号を付し、説明を省略するものとする。
【００３８】
本実施形態の不揮発性メモリは、図１に示すように、図６に示した従来の不揮発性メモリの構成に対して比較器８５およびシーケンス制御回路９２を、それぞれ比較器５およびシーケンス制御回路１２に置き換え、コントロール入力バッファ３と、ベリファイ判定フラグ用バッファ１３と、書き込み履歴フラグ用バッファ１４を新たに設けた構成となっている。
【００３９】
コントロール入力バッファ３は、外部のユーザシステムによって設定されたＩ／Ｏモードに基づいて、モード設定信号ＤＷ、Ｗの制御を行っている。このようにコントロール入力バッファ３を設けてＩ／Ｏモードの設定ができるようになっているのは下記の理由による。
【００４０】
一般的に、不揮発性メモリの回路構成を設計する際には、内部でデータの転送を行う際のバス幅は一定の値に固定して設計される。例えば、図１に示したような本実施形態の不揮発性メモリでは、バス幅は３２ビットとして設計されている。しかし、ユーザのシステムではかならずしも３２ビット単位でデータを取り扱っていない場合もあるため、入出力する際のデータを３２ビット単位に固定したのではユーザにとって不便な場合がある。
【００４１】
そのため、本実施形態の不揮発性メモリでは、入出力する際のデータの単位をユーザの設定により変更することができるようになっている。
【００４２】
具体的には、本実施形態の不揮発性メモリでは、Ｘ３２取り込みモード、Ｘ１６取り込みモード、Ｘ８取り込みモードの３つのＩ／Ｏモードのうちから１つのＩ／Ｏモードをユーザが選択できるようになっている。ここで、Ｘ３２取り込みモードとは、データの入出力を３２ビット単位で行うというモードであり、同様に、Ｘ１６、Ｘ８取り込みモードとは、それぞれデータの入出力を１６ビット単位、８ビット単位で行うというモードである。
【００４３】
図２は、コントロール入力バッファ３の出力論理を示す図である。この図２に示されるように、コントロール入力バッファ３は、Ｉ／ＯモードとしてＸ３２取り込みモードが設定されるとモード設定信号ＤＷを“Ｈ”、モード設定信号Ｗを“Ｈ”とする。同様にして、コントロール入力バッファ３は、Ｉ／ＯモードとしてＸ３２取り込みモードが設定されるとモード設定信号ＤＷを“Ｌ”、モード設定信号Ｗを“Ｈ”とする。また、コントロール入力バッファ３は、Ｉ／ＯモードとしてＸ８取り込みモードが設定されるとモード設定信号Ｗを“Ｌ”とする。この図２に示した表中で“−”は“Ｄｏｎ’ｔ　ｃａｒｅ”であることを示している。
【００４４】
また、ベリファイ判定フラグ用バッファ１３は、ページバッファ４の各ページ毎にそれぞれ１ビットずつ設けられ、プリベリファイの省略の可否を示すためのベリファイ判定フラグを格納するための手段である。本実施形態では、ページバッファ４は３２ページから構成されているため、ベリファイ判定フラグは３２ビットから構成されている。そして、ベリファイ判定フラグ用バッファ１３には、アドレスバッファ１からのアドレスが入力されていることにより、ページバッファ４の３２ページのうちのデータを書き換えるためにアクセスされたページに対応するベリファイ判定フラグが“Ｌ”から“Ｈ”に設定される。
【００４５】
ここで、ベリファイ判定フラグが、“Ｌ”の場合にはプリベリファイが不要である旨を示していて、“Ｈ”の場合にはプリベリファイが必要である旨を示している。
【００４６】
書き込み履歴フラグ用バッファ１４は、ページバッファ４の各ページ毎にそれぞれ４ビットずつ設けられた書き込み履歴フラグを格納するための手段である。この書き込み履歴フラグは、ページバッファ４の各ページの３２ビットのデータを分割した８ビットのデータ部分毎の書き込み履歴を示すためのフラグである。本実施形態では、ページバッファ４は３２ページから構成されているため、書き込み判定フラグは３２×４＝１２８ビットから構成されている。そして、書き込み履歴フラグ用バッファ１４には、アドレスバッファ１からのアドレスが入力されていることにより、ページバッファ４のデータの書き換えが行われると、書き換えが行われたデータ部分に対応する書き込み履歴フラグが“Ｈ”から“Ｌ”に設定される。
【００４７】
ここで、書き込み履歴フラグが、“Ｈ”の場合には対応するデータ部分は書き込みが行われていないことを示していて、“Ｌ”の場合には対応するデータ部分は書き込みが行われたことを示している。
【００４８】
また、本実施形態におけるシーケンス制御回路１２は、図６に示した従来の不揮発性メモリにおけるシーケンス制御回路９２の機能に加えて、下記のような機能を備えている。
【００４９】
シーケンス制御回路１２は、ベリファイ判定フラグが“Ｌ”の場合には、プリベリファイの時間を確保せずに内部アドレス発生器１１に対して内部アドレスをインクリメントする指示を出力する。そして、シーケンス制御回路１２は、ベリファイ判定フラグが“Ｈ”の場合には、プリベリファイを実施するために必要な時間（例えば２００ｎｓ）をおいてから内部アドレス発生器１１に対して内部アドレスをインクリメントさせる。
【００５０】
また、本実施形態における比較器５は、図６に示した従来の不揮発性メモリにおける比較器８５の機能に加えて、下記のような機能を備えている。
【００５１】
比較器５では、プリベリファイ処理の際に書き込み履歴フラグ用バッファ１４に格納されている書き込み履歴フラグを参照し、書き込み履歴フラグ用バッファ１４に格納されている４つの書き込み履歴フラグのうち、データの書き換えが行われたことを示す“Ｌ”となっている書き込み履歴フラグに対応したデータのみを比較対象とし、“Ｈ”となっている書き込み履歴フラグに対応したデータは比較対象からはずしてプリベリファイ処理を行う。例えば、図３に示すように、４つの書き込み履歴フラグが“Ｌ”、“Ｈ”、“Ｈ”、“Ｈ”となっている場合、“Ｌ”となっている書き込み履歴フラグに対応する８ビットについてのみ比較が行われ、他の２４ビットについては比較が行われない。
【００５２】
このように本実施形態の不揮発性メモリでは、あるページに対応するベリファイ判定フラグがベリファイが不要である旨を示す“Ｌ”となっている場合には、そのページに対するベリファイ動作自体がスキップされ、ベリファイ判定フラグがベリファイが必要である旨を示す“Ｈ”となっている場合でも、そのページに対応する４つの書き込み履歴フラグのうちのデータの書き換えが行われなかったことを示す“Ｈ”となっているフラグに対応するデータの比較は行われない。
【００５３】
例えば、図４に示した例では、ページバッファ４のアドレス０に対応するベリファイ判定フラグは“Ｈ”であり、さらにアドレス０に対応する書き込み履歴フラグは全て“Ｌ”であるため、アドレス０のページの３２ビットの全てのデータがプリベリファイの対象となる。また、ページバッファ４のアドレス１に対応するベリファイ判定フラグは“Ｌ”であるため、アドレス１のページに対してはプリベリファイは行われない。さらに、ページバッファ４のアドレス２に対応するベリファイ判定フラグは“Ｈ”であり、アドレス２のページの０〜１５番目のビットに対応する書き込み履歴フラグが“Ｌ”で１６〜３１番目のビットに対応する書き込み履歴フラグは“Ｈ”であるため、アドレス２のページに対してはプリベリファイが行われるが、比較器５においては、１６〜３１番目のビットの比較は行われない。
【００５４】
このように図４では、ページバッファ４中の斜線が設けられたデータは、プリベリファイの際の比較対象とはならないことを示している。
【００５５】
次に、図８のフローチャートを参照して本実施形態の不揮発性メモリにおける書き込み処理の動作について説明する。
【００５６】
先ず、ページライトコマンドが入力されると、ページバッファ４の初期化が行われ１０２４ビットの全ての値を“Ｈ”とする処理とともに、全ての書き込み履歴フラグを“Ｈ”、全てのベリファイ判定フラグを“Ｌ”にする初期化が行われる（ステップ１０１）。
【００５７】
次に、アドレスバッファ１、Ｉ／Ｏバッファ２を介して外部からアドレスおよびデータが入力されると、ページバッファ４にデータが格納される（ステップ１０２）。このページバッファ４にデータが格納される際、書き込み履歴フラグ用バッファ１４では、アクセスされたデータ部分に対応する書き込み履歴フラグが“Ｈ”から“Ｌ”に設定される。また、ベリファイ判定フラグ用バッファ１３においても、アクセスされたページに対応するベリファイ判定フラグが“Ｌ”から“Ｈ”にセットされる。
【００５８】
次に、比較器５において、ページバッファ４に格納されたデータと、メモリセルアレイ８のデータを書き込もうとする一定領域内のデータとを比較するプリベリファイが行われる（ステップ１０３）。ただし、本実施形態では、シーケンス制御回路１２は、ベリファイ判定フラグ用バッファ１３に格納されているベリファイ判定フラグが“Ｌ”の場合には、そのベリファイ判定フラグに対応したページのプリベリファイをスキップする。具体的には、シーケンス制御回路１２は、ベリファイ判定フラグ用バッファ１３からのベリファイ判定フラグが“Ｌ”の場合には、内部アドレス発生器１１に対して、プリベリファイ処理のための時間をおかずに直ちに内部アドレスをインクリメントする指示を出力する。
【００５９】
また、ステップ１０３におけるプリベリファイの際に、比較器５は、書き込み履歴フラグ用バッファ１４からの４つの書き込み履歴フラグのうちに“Ｈ”のものがあった場合、その“Ｈ”となっている書き込み履歴フラグに対応するビットの比較結果は、書き込み要否判定信号２１、誤書き込み検出信号２０ともに強制的に“Ｌ”とする。
【００６０】
例えば、図４に示した例では、ページバッファ４のアドレス３１のページの０〜１５番目のビットに対応する書き込み履歴フラグが“Ｈ”で１６〜３１番目のビットに対応する書き込み履歴フラグは“Ｌ”であるため、アドレス３１のページに対するプリベリファイは行われるが、比較器５においては、０〜１５番目のビットの比較は行われず、書き込み要否判定信号２１、誤書き込み検出信号２０は共に強制的に“Ｌ”となる。
【００６１】
さらに、ステップ１０３におけるプリベリファイの結果に基づいて、ページバッファ４に一旦格納されたデータをメモリセルアレイ８に書き込む処理であるプログラム処理が行われる（ステップ１０４）。
【００６２】
最後にメモリセルアレイ８に書き込まれたデータと、ページバッファ４内のデータとの比較を行って正常に書き込み処理が行われたことを確認するポストベリファイ処理が行われる（ステップ１０５）。このポストベリファイの処理に関しては、従来の不揮発性メモリと同様である。
【００６３】
このような処理が行われることにより、ベリファイ判定フラグが“Ｌ”の場合には、内部アドレスは、プリベリファイを行うための時間を確保せずに直ぐにインクリメントされるため、ページバッファ４ににおいてデータが書き換えられたページに対するプリベリファイのみが行われ、アクセスされずにデータの書き換えが行われなかったページに対するプリベリファイは行われない。そのため、データの書き換えの有無の関係無く全てのページに対するプリベリファイを行う場合と比較して、書き込み時間を短縮することができる。
【００６４】
例えば、１ページ分のデータのベリファイに要する時間が０．２μｓで、ページバッファ４のデータをメモリセルアレイ８に書き込み処理であるプログラムに要する時間が１０μｓであるとする。この場合に、ページバッファ４の１ページに対してのみ書き込みを行った場合を用いて従来例と本実施形態の不揮発性メモリにおける書き込み時間について比較する。
【００６５】
図６に示した従来の不揮発性メモリでは、書き換えられたデータが例え１ページだけであっても、全ページである３２ページに対してプリベリファイ動作が行われる。ただし、書き込み処理が正常に終了したことを確認するためのポストベリファイは１回のみしか行われない。そのため、この場合における書き込み時間は、図５（ａ）に示されるように、０．２μｓ×（３２＋１）＋１０μｓ×１＝１６．６μｓとなる。
【００６６】
これに対して、図１に示した本実施形態の不揮発性メモリでは、書き換えられたデータが１ページだけである場合、そのページに対してのみプリベリファイ動作が行われる。そのため、この場合における書き込み時間は、図５（ｂ）に示されるように、０．２μｓ×（１＋１）＋１０μｓ×１＝１０．４μｓとなる。
【００６７】
このように、本実施形態の不揮発性メモリによれば、ページバッファ４の書き換えが行われなかったページに対するプリベリファイ動作が行われないようにすることにより書き込み時間が短縮されていることがわかる。
【００６８】
また、本実施形態の不揮発性メモリによれば、１つのページ中においてどの部分のデータの書き換えが行われたかを判定するための書き込み履歴フラグが各ページ毎に設けられているため、１ページ中の全てのビットである３２ビット単位でデータの書き込み処理を行わない場合でもにも対応可能である。つまり、１ページ当たりのビット数と書き込みを行うデータ幅をからずしも一致させる必要がなくなる。
【００６９】
また、外部のユーザシステムによりＸ８取り込みモードが選択されているような場合、外部からのデータは８ビット単位で入力されてくる。そのため、Ｉ／ＯモードとしてＸ８取り込みモードが選択されている場合、ページバッファ４中のあるページの３２ビットのうち８ビットしかデータの書き換えが行われていないという場合も発生する。このような場合、ベリファイ判定フラグのみが設けられていて、書き込み履歴フラグが設けられていない場合、ベリファイ判定フラグは“Ｈ”となっていることによりプリベリファイが行われ、そのページ中の全ての３２ビットに対してプリベリファイが行われることになる。
【００７０】
そのため、本来必要の無い２４ビットについてもプリベリファイが行われ、ページバッファ中の書き換えが行われた８ビットのデータとメモリセルアレイ内のデータとが一致していて本来そのページに対するプログラム処理が必要ない場合でも、不要の２４ビットのプリベリファイの結果によっては無駄なプログラム処理が行われることになる。
【００７１】
そのため、本実施形態の不揮発性メモリのように、書き込み履歴フラグを設けることにより、プリベリファイの際に１ページ中の必要なビットのみの比較が行われるようにすることにより、データ書き込み処理の際のプログラム処理を最低限に抑えることができ、結果として書き込み時間の短縮となる。
【００７２】
本実施形態では、ページバッファ４、ベリファイ判定フラグ用バッファ１３、書き込み履歴フラグ用バッファ１４をそれぞれ独立した構成要素として説明しているが、ベリファイ判定フラグ用バッファ１３および書き込み履歴フラグ用バッファ１４を、ページバッファ４と同じ構成のメモリにより実現するようにしてもよい。
【００７３】
本実施形態では、バス幅が３２ビットの場合を用いて説明したが、本発明はこれに限定されるものではなく、バス幅が３２ビット以外のビット数の場合でも同様に本発明を適用することができるものである。
【００７４】
【発明の効果】
以上説明したように、本発明によれば、ページバッファの一部のみにデータが格納された場合、ベリファイ判定フラグを用いることによりデータの書き込みが行われたページに対するプリベリファイのみが行われるようにしているので、書き込み時間を短縮することができるという効果を得ることができる。
【図面の簡単な説明】
【図１】本発明の一実施形態の不揮発性メモリの構成を示すブロック図である。
【図２】図１中のコントロール入力バッファ３の出力論理を示す図である。
【図３】本発明の一実施形態の不揮発性メモリにおける比較器５の動作を説明するための図である。
【図４】ページバッファ４と、書き込み履歴フラグおよびベリファイ判定フラグとの関係を説明するための図である。
【図５】従来の不揮発性メモリを用いた場合の書き込み時間を説明するための図（図５（ａ））および本発明の一実施形態の不揮発性メモリを用いた場合の書き込み時間を説明するための図（図５（ｂ））である。
【図６】従来の不揮発性メモリの構成を示すブロック図である。
【図７】図６中の比較器８５の出力論理を示す図である。
【図８】図６の従来の不揮発性メモリにおける書き込み処理の動作を示すフローチャートである。
【符号の説明】
１　　アドレスバッファ
２　　Ｉ／Ｏバッファ
３　　コントロール入力バッファ
４　　ページバッファ
５　　比較器
６　　センスアンプ
７　　書き込み回路
８　　メモリセルアレイ
９　　行デコーダ
１０　　列デコーダ
１１　　内部アドレス発生器
１２　　シーケンス回路
１３　　ベリファイ判定フラグ用バッファ
１４　　書き込み履歴フラグ用バッファ
２０　　誤書き込み検出信号
２１　　書き込み要否判定信号
８５　　比較器
９２　　シーケンス制御回路
１０１〜１０５　　ステップ
【図１】
2004095029.tif 000003
【図２】
2004095029.tif 000004
【図３】
2004095029.tif 000005
【図４】
2004095029.tif 000006
【図５】
2004095029.tif 000007
【図６】
2004095029.tif 000008
【図７】
2004095029.tif 000009
【図８】
2004095029.tif 000010