(57)【要約】【課題】データ保持特性を向上することが可能な不揮発性半導体記憶装置を提供する。【解決手段】不揮発性半導体記憶装置は、複数のメモリセルをそれぞれ含む複数のブロックを有し、前記複数のブロックのうちの通常ブロックに、通常のデータが記憶され、前記複数のブロックのうちのタイムコードブロックに、前記通常ブロック毎に設定され且つ前記通常ブロックの最後の書き込み動作を実行した時間に対応する時間データを含むタイムコードが記憶されたメモリセルアレイを備える。前記不揮発性半導体記憶装置は、前記タイムコードブロックから前記タイムコードを読み出し、現在の時間を取得し、読み出された前記タイムコードの時間データの時間と前記現在の時間との時間差が規定値よりも大きくなる選定された前記通常ブロックに対して、データを読み出し、消去し、且つ、読み出されたデータを書き込み、前記現在の時間の時間データに対応する新たなタイムコードを、選定された前記通常ブロックに対応させて、前記タイムコードブロックに書き込む。【選択図】図１
2012048770.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリセルをそれぞれ含む複数のブロックを有し、前記複数のブロックのうちの通常ブロックに、通常のデータが記憶され、前記複数のブロックのうちのタイムコードブロックに、前記通常ブロック毎に設定され且つ前記通常ブロックの最後の書き込み動作を実行した時間に対応する時間データを含むタイムコードが記憶されたメモリセルアレイを備え、
前記タイムコードブロックから前記タイムコードを読み出し、
現在の時間を取得し、
読み出された前記タイムコードの時間データの時間と前記現在の時間との時間差が規定値よりも大きくなる選定された前記通常ブロックに対して、データを読み出し、消去し、且つ、読み出されたデータを書き込み、
前記現在の時間の時間データに対応する新たなタイムコードを、選定された前記通常ブロックに対応させて、前記タイムコードブロックに書き込む
ことを特徴とする不揮発性半導体記憶装置。
【請求項２】
複数のメモリセルをそれぞれ含む複数のブロックを有し、前記ブロックのワード線に接続された前記メモリセルで構成されるページの通常データ領域に、通常のデータが記憶され、前記ページのタイムコード領域に、前記ブロックの最後の書き込み動作を実行した時間に対応する時間データを含むタイムコードが記憶されたメモリセルアレイを備え、
前記タイムコード領域から前記タイムコードを読み出し、
現在の時間を取得し、
読み出された前記タイムコードの時間データの時間と前記現在の時間との時間差が規定値よりも大きくなる選定された前記ブロックに対して、データを読み出し、且つ、消去し、
読み出された通常のデータと同じ通常のデータおよび前記現在の時間の時間データに対応する新たなタイムコードを、選定された前記ブロックの前記ページの通常データ領域およびタイムコード領域に、書き込む
ことを特徴とする不揮発性半導体記憶装置。
【請求項３】
複数のメモリセルをそれぞれ含む複数のブロックを有し、前記ブロックのワード線に接続された複数のメモリセルで構成される複数のページのうちの通常ページに、通常のデータが記憶され、前記複数のページのうちのタイムコード用ページに、前記ブロックの最後の書き込み動作を実行した時間に対応する時間データを含むタイムコードが記憶されたメモリセルアレイを備え、
前記タイムコード用ページから前記タイムコードを読み出し、
現在の時間を取得し、
読み出された前記タイムコードの時間データの時間と前記現在の時間との時間差が規定値よりも大きくなる選定された前記ブロックに対して、データを読み出し、且つ、消去し、
読み出された通常のデータと同じ通常のデータおよび前記現在の時間の時間データに対応する新たなタイムコードを、選定された前記ブロックの通常ページおよびタイムコード用ページに、書き込む
ことを特徴とする不揮発性半導体記憶装置。
【請求項４】
不揮発性半導体記憶装置と、
前記不揮発性半導体記憶装置を制御するコントローラと、を備え、
前記不揮発性半導体記憶装置は、
複数のメモリセルをそれぞれ含む複数のブロックを有し、前記複数のブロックのうちの通常ブロックに、通常のデータが記憶され、前記複数のブロックのうちのタイムコードブロックに、前記通常ブロック毎に設定され且つ前記通常ブロックの最後の書き込み動作を実行した時間に対応する時間データを含むタイムコードが記憶されたメモリセルアレイを備え、
前記タイムコードブロックから前記タイムコードを読み出し、
現在の時間を取得し、
読み出された前記タイムコードの時間データの時間と前記現在の時間との時間差が規定値よりも大きくなる選定された前記通常ブロックに対して、データを読み出し、消去し、且つ、読み出されたデータを書き込み、
前記現在の時間の時間データに対応する新たなタイムコードを、選定された前記通常ブロックに対応させて、前記タイムコードブロックに書き込む
ことを特徴とするメモリシステム。
【請求項５】
不揮発性半導体記憶装置と、
前記不揮発性半導体記憶装置を制御するコントローラと、を備え、
前記不揮発性半導体記憶装置は、
複数のメモリセルをそれぞれ含む複数のブロックを有し、前記ブロックのワード線に接続された前記メモリセルで構成されるページの通常データ領域に、通常のデータが記憶され、前記ページのタイムコード領域に、前記ブロックの最後の書き込み動作を実行した時間に対応する時間データを含むタイムコードが記憶されたメモリセルアレイを備え、
前記タイムコード領域から前記タイムコードを読み出し、
現在の時間を取得し、
読み出された前記タイムコードの時間データの時間と前記現在の時間との時間差が規定値よりも大きくなる選定された前記ブロックに対して、データを読み出し、且つ、消去し、
読み出された通常のデータと同じ通常のデータおよび前記現在の時間の時間データに対応する新たなタイムコードを、選定された前記ブロックの前記ページの通常データ領域およびタイムコード領域に、書き込む
ことを特徴とするメモリシステム。
【請求項６】
不揮発性半導体記憶装置と、
前記不揮発性半導体記憶装置を制御するコントローラと、を備え、
前記不揮発性半導体記憶装置は、
複数のメモリセルをそれぞれ含む複数のブロックを有し、前記ブロックのワード線に接続された複数のメモリセルで構成される複数のページのうちの通常ページに、通常のデータが記憶され、前記複数のページのうちのタイムコード用ページに、前記ブロックの最後の書き込み動作を実行した時間に対応する時間データを含むタイムコードが記憶されたメモリセルアレイを備え、
前記タイムコード用ページから前記タイムコードを読み出し、
現在の時間を取得し、
読み出された前記タイムコードの時間データの時間と前記現在の時間との時間差が規定値よりも大きくなる選定された前記ブロックに対して、データを読み出し、且つ、消去し、
読み出された通常のデータと同じ通常のデータおよび前記現在の時間の時間データに対応する新たなタイムコードを、選定された前記ブロックの通常ページおよびタイムコード用ページに、書き込む
ことを特徴とするメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ＮＡＮＤ型フラッシュメモリ等の不揮発性半導体記憶装置に関する。
【背景技術】
【０００２】
従来、ＮＡＮＤ型フラッシュメモリのメモリセルは、例えば、４つの閾値電圧分布を形成することにより、２ビットのデータを記憶する。
【０００３】
このメモリセルのデータの書き込み・消去は、メモリセルのフローティングゲートに電子を注入し又は電子を引き抜くことで閾値電圧を変化させることにより、実現している。このようなメモリセルは、構造的に安定した状態である中性閾値電圧を有する。このメモリセルは、電子が注入され又は引き抜されると、元の安定した状態である該中性閾値電圧の状態に戻ろうとする力が働く。
【０００４】
このため、例えば、０Ｖ付近に該中性閾値電圧が位置する場合、閾値電圧が０Ｖよりも低い消去状態であるメモリセルは、０Ｖに向って閾値電圧が上昇する力が働く。
【０００５】
一方、閾値電圧が０Ｖよりも高い書き込み状態であるメモリセルは、０Ｖに向って閾値電圧が下降する力が働く。
【０００６】
このようにして、閾値電圧分布が広がると、ＮＡＮＤ型フラッシュメモリの信頼性に影響を及ぼすことになる。
【０００７】
また、メモリセルの微細化に伴って、メモリセルのばらつき制御は、ますます難しくなり、メモリセルの閾値電圧分布間の幅は、大きく設定することができなくなっている。
【０００８】
さらに、メモリセルの微細化による電界集中で耐圧が厳しくなっており、できるだけ低電圧化を図る必要がある。そして、低電圧化するためには、セル構造のカップリング比を大きくし、書き込み・消去特性が良いセル構造を取得する必要がある。
【０００９】
しかし、これにより、電子がフローティングゲートに注入され易く、また、フローティングゲートから引き抜き易くなるため、メモリセルのデータ保持特性が劣化する問題がある。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００８−３１０８８８
【発明の概要】
【発明が解決しようとする課題】
【００１１】
そこで、データ保持特性を向上することが可能な不揮発性半導体記憶装置を提供する。
【課題を解決するための手段】
【００１２】
実施例に従った不揮発性半導体記憶装置は、複数のメモリセルをそれぞれ含む複数のブロックを有し、前記複数のブロックのうちの通常ブロックに、通常のデータが記憶され、前記複数のブロックのうちのタイムコードブロックに、前記通常ブロック毎に設定され且つ前記通常ブロックの最後の書き込み動作を実行した時間に対応する時間データを含むタイムコードが記憶されたメモリセルアレイを備える。前記不揮発性半導体記憶装置は、前記タイムコードブロックから前記タイムコードを読み出し、現在の時間を取得し、読み出された前記タイムコードの時間データの時間と前記現在の時間との時間差が規定値よりも大きくなる選定された前記通常ブロックに対して、データを読み出し、消去し、且つ、読み出されたデータを書き込み、前記現在の時間の時間データに対応する新たなタイムコードを、選定された前記通常ブロックに対応させて、前記タイムコードブロックに書き込む。
【図面の簡単な説明】
【００１３】
【図１】実施例１に係るＮＡＮＤ型フラッシュメモリ１００の構成の一例を示すブロック図である。
【図２】図１に示すメモリセルアレイ１の構成の一例を示す回路図である。
【図３】図２に示すメモリセルアレイ１の１つのメモリセルの断面を示す断面図である。
【図４】図２に示すメモリセルアレイ１のドレイン側選択ＭＯＳトランジスタＳＧＤＴｒ、ソース側選択ＭＯＳトランジスタＳＧＳＴｒの断面を示す断面図である。
【図５】図１に示すメモリセルアレイ１の各領域（ブロック）を説明するための図である。
【図６】図１に示すＮＡＮＤ型フラッシュメモリ（ＮＡＮＤチップ）１００を含むメモリシステム１０００の構成の一例を示すブロック図である。
【図７】図１に示すＮＡＮＤ型フラッシュメモリ（ＮＡＮＤチップ）１００を含むメモリシステム１０００の構成の他の例を示すブロック図である。
【図８】図１に示すＮＡＮＤ型フラッシュメモリ（ＮＡＮＤチップ）１００を含むメモリシステム１０００の構成のさらに他の例を示すブロック図である。
【図９】図１に示すＮＡＮＤ型フラッシュメモリ（ＮＡＮＤチップ）１００を含むメモリシステム１０００の構成のさらに他の例を示すブロック図である。
【図１０】図１に示すＮＡＮＤ型フラッシュメモリ１００の書き込み動作時のシーケンスの一例を示すフローチャートである。
【図１１】図１に示すＮＡＮＤ型フラッシュメモリ１００の読み出し動作時のシーケンスの一例を示すフローチャートである。
【図１２】図１に示すＮＡＮＤ型フラッシュメモリ１００の定期的なデータ保持特性の確認シーケンスの一例を示すフローチャートである。
【図１３】図１に示すメモリセルアレイ１のブロックの１つのページの各領域を説明するための図である。
【図１４】図１に示すＮＡＮＤ型フラッシュメモリ１００の書き込み動作時のシーケンスの一例を示すフローチャートである。
【図１５】図１に示すＮＡＮＤ型フラッシュメモリ１００の読み出し動作時のシーケンスの一例を示すフローチャートである。
【図１６】図１に示すＮＡＮＤ型フラッシュメモリ１００の定期的なデータ保持特性の確認シーケンスの一例を示すフローチャートである。
【図１７】図１に示すメモリセルアレイ１の１つのブロックの各領域を説明するための図である。
【図１８】図１に示すＮＡＮＤ型フラッシュメモリ１００の書き込み動作時のシーケンスの一例を示すフローチャートである。
【図１９】図１に示すＮＡＮＤ型フラッシュメモリ１００の読み出し動作時のシーケンスの一例を示すフローチャートである。
【図２０】図１に示すＮＡＮＤ型フラッシュメモリ１００の定期的なデータ保持特性の確認シーケンスの一例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、各実施例について図面に基づいて説明する。なお、以下では、不揮発性半導体記憶装置がＮＡＮＤ型フラッシュメモリである場合について説明する。しかし、不揮発性半導体記憶装置は、ＭＯＮＯＳメモリやＲｅＲＡＭメモリであってもよい。
【実施例１】
【００１５】
図１は、実施例１に係るＮＡＮＤ型フラッシュメモリ１００の構成の一例を示すブロック図である。また、図２は、図１に示すメモリセルアレイ１の構成の一例を示す回路図である。
【００１６】
図１に示すように、ＮＡＮＤ型フラッシュメモリ１００は、メモリセルアレイ１と、ビット線制御回路２と、カラムデコーダ３と、データ入出力バッファ４と、Ｉ／Ｏピン５と、ロウデコーダ６と、制御回路７と、制御ピン８と、ソース線制御回路９と、ウェル制御回路１０と、アドレスレジスタ１１と、を備える。
【００１７】
メモリセルアレイ１は、後述のように、複数のビット線と、複数のワード線と、ソース線とを含む。このメモリセルアレイ１は、例えば、ＥＥＰＲＯＭセルからなる電気的にデータを書き換え可能なメモリセルがマトリクス状に配置された複数のブロック（図２）で構成されている。
【００１８】
このメモリセルアレイ１には、ビット線の電圧を制御するためのビット線制御回路２と、ワード線の電圧を制御するためのロウデコーダ６とが接続されている。データの書き込み動作時には、何れかのブロックがロウデコーダ６により選択され、残りのブロックが非選択とされる。
【００１９】
このビット線制御回路２は、ビット線を介してメモリセルアレイ１中のメモリセルのデータを読み出したり、ビット線を介して該メモリセルの状態を検出したり、ビット線を介して該メモリセルに書き込み制御電圧を印加して該メモリセルに書き込みを行う。
【００２０】
また、ビット線制御回路２には、カラムデコーダ３、データ入出力バッファ４が接続されている。ビット線制御回路２内の該データ記憶回路は、カラムデコーダ３により選択され、このデータ記憶回路に読み出されたメモリセルのデータは、データ入出力バッファ４を介してＩ／Ｏピン５から外部（後述するコントローラ）へ出力される。
【００２１】
また、外部からＩ／Ｏピン５に入力された書き込みデータは、データ入出力バッファ４を介して、カラムデコーダ３によって選択された該データ記憶回路に記憶される。Ｉ／Ｏピン５からは、書き込みデータの他に、書き込み、読み出し、消去、及びステータスリード等の各種コマンド、アドレスも入力される。
【００２２】
ロウデコーダ６は、メモリセルアレイ１に接続されている。このロウデコーダ６は、外部からＩ／Ｏピン５、アドレスレジスタ１１を介して入力されたブロックを選択するためのアドレス信号に応じて、メモリセルアレイ１のブロックを選択する。そして、ロウデコーダ６は、選択したブロックのワード線に、制御回路７から供給される読み出し或いは書き込み或いは消去に必要な電圧を、印加する。なお、例えば、テスト動作時は、外部のテスター（図示せず）から該アドレス信号が入力される。
【００２３】
すなわち、ロウデコーダ６は、アドレス信号に応じて、メモリセルアレイ１の後述の複数のブロックのうちの何れかを選択し、ワード線の電圧を制御するようになっている。
【００２４】
ソース線制御回路９は、メモリセルアレイ１に接続されている。このソース線制御回路９は、ソース線ＳＲＣの電圧を制御するようになっている。
【００２５】
ウェル制御回路１０は、メモリセルアレイ１に接続されている。このウェル制御回路１０は、メモリセルが形成されるウェルの電圧を制御するようになっている。
【００２６】
制御回路７は、メモリセルアレイ（ブロック）１、ビット線制御回路２、カラムデコーダ３、データ入出力バッファ４、ロウデコーダ６、ソース線制御回路９、及び、ウェル制御回路１０の動作を、制御するようになっている。
【００２７】
この制御回路７には、電源電圧を昇圧する後述のポンプ回路等が含まれている。制御回路７は、該ポンプ回路により電源電圧を必要に応じて昇圧し、ビット線制御回路２、カラムデコーダ３、データ入出力バッファ４、ロウデコーダ６、ソース線制御回路９、及び、ウェル制御回路１０に、供給するようになっている。
【００２８】
この制御回路７は、外部（該コントローラ）から制御ピン８を介して入力されるＮＡＮＤ型フラッシュメモリ１００の動作モードを制御する制御信号（コマンドラッチイネーブル信号ＣＬＥ、アドレスラッチイネーブル信号ＡＬＥ、チップイネーブル信号／ＣＥ、ライトイネーブル信号／ＷＥ、リードイネーブル信号／ＲＥ等）及びＩ／Ｏピン５からデータ入出力バッファ４を介して入力されるコマンドに応じて制御動作する。すなわち、制御回路７は、該制御信号及びコマンドに応じて、データのプログラム、ベリファイ、読み出し、消去時に、所望の電圧を発生し、メモリセルアレイ１の各部に供給する。
【００２９】
ここで、図２に示すように、メモリセルアレイ１は、複数のＮＡＮＤセルユニット１ａが接続されて構成されるブロックＢＬＫ０〜ＢＬＫＭ（なお、以下では、便宜上、単にＢＬＫと表記する場合もある）を有する。このブロックＢＬＫ０〜ＢＬＫＭは、データの書き込み・消去単位となる。
【００３０】
ＮＡＮＤセルユニット１ａは、ストリングを構成する直列接続された複数（ｎ＋１（例えば６４））個のメモリセルＭ０〜ＭＮと、ドレイン側選択ＭＯＳトランジスタＳＧＤＴｒと、ソース側選択ＭＯＳトランジスタＳＧＳＴｒとにより、構成されている。また、ソース側選択ＭＯＳトランジスタＳＧＳＴｒは、ソース線ＳＲＣ（図示せず）に接続されている。なお、ソース側選択ゲートトランジスタＳＧＳＴｒ、及び、ドレイン側選択ゲートトランジスタＳＧＤＴｒは、ここでは、ｎＭＯＳトランジスタである。
【００３１】
各行に配置されたメモリセルＭ０〜ＭＮの制御ゲートは、それぞれ、ワード線ＷＬ０〜ＷＬＮに接続されている。言い換えれば、複数のワード線ＷＬ０〜ＷＬＮは、複数のストリングに渡ってメモリセルＭ０〜ＭＮの制御ゲートに接続されている。なお、各ページ１ｐは、各ワード線ＷＬ０〜ＷＬＮに接続された複数のメモリセルで構成される。
【００３２】
ビット線ＢＬ０〜ＢＬＰは、ワード線ＷＬ０〜ＷＬＮと直行するように配置されている。
【００３３】
また、ドレイン側選択ＭＯＳトランジスタＳＧＤＴｒのゲートは、ドレイン側選択ゲート線ＳＧＤに接続されている。そして、ドレイン側選択ゲートトランジスタＳＧＤＴｒは、ストリング１ａ１の一端とビット線ＢＬ０〜ＢＬＰとの間に接続されている。
【００３４】
また、ソース側選択ＭＯＳトランジスタＳＧＳＴｒのゲートは、ソース側選択ゲート線ＳＧＳに接続されている。そして、ソース側選択ゲートトランジスタＳＧＳＴｒは、ストリング１ａ１の他端とソース線ＳＲＣとの間に接続されている。
【００３５】
すなわち、ロウデコーダ６は、入力された該アドレスに応じて、メモリセルアレイ１の各ブロックＢＬＫ０〜ＢＬＫＭを選択し、選択したブロックの書き込み・読み出し動作を制御する。すなわち、ロウデコーダ６は、入力された該アドレスに応じて、ドレイン側選択ゲート線とソース側ゲート線に印加する電圧を制御し、且つ、ワード線（メモリセルの制御ゲート）に印加する電圧を制御することによりメモリセルを選択する。
【００３６】
ここで、図３は、図２に示すメモリセルアレイ１の１つのメモリセルの断面を示す断面図である。
【００３７】
図３に示すように、メモリセルＭ（Ｍ０〜ＭＮ）は、浮遊ゲートＦＧと、制御ゲートＣＧ（ＷＬ：ＷＬ０〜ＷＬＮ）と、拡散層４２と、を有する。なお、制御ゲートＣＧは、ワード線ＷＬと電気的に接続され、ビット線と直交する方向に並んだ複数のメモリセルＭ間において共通となっている（図２）。
【００３８】
半導体基板に形成されたウェル（ここではｐウェル）４１には、メモリセルＭのソース・ドレイン拡散層（ここではｎ＋拡散層）となる拡散層４２が形成されている。また、ウェル４１の上にはゲート絶縁膜（トンネル絶縁膜）４３を介して浮遊ゲートＦＧが形成されている。この浮遊ゲートＦＧ上には、ゲート絶縁膜４５を介して制御ゲートＣＧが形成されている。
【００３９】
このメモリセルＭは、閾値電圧に応じてデータを記憶し且つ閾値電圧を制御することにより記憶されているデータを電気的に書き換え可能になっている。この閾値電圧は、浮遊ゲートＦＧに蓄えられる電荷量により決まる。浮遊ゲートＦＧ中の電荷量は、ゲート絶縁膜４３を通るトンネル電流で変化させることができる。
【００４０】
すなわち、ウェル４１と拡散層（ソース拡散層／ドレイン拡散層）４２とに対して、制御ゲートＣＧを十分高い電圧にすると、ゲート絶縁膜４３を通して電子が浮遊ゲートＦＧに注入される。これにより、メモリセルＭの閾値電圧が高くなる（例えば、記憶されるデータが２値の場合、書き込み状態に相当する）。
【００４１】
一方、制御ゲートＣＧに対して、ウェル４１と拡散層（ソース拡散層／ドレイン拡散層）４２とを十分高い電圧にすると、ゲート絶縁膜４３を通して電子が浮遊ゲートＦＧから放出される。これにより、メモリセルＭの閾値電圧が低くなる（例えば、記憶されるデータが２値の場合、消去状態に相当する）。
【００４２】
このように、メモリセルＭは、浮遊ゲートＦＧに蓄積する電荷量を制御することにより、記憶するデータを書き換え可能である。
【００４３】
また、図４は、図２に示すメモリセルアレイ１のドレイン側選択ＭＯＳトランジスタＳＧＤＴｒ、ソース側選択ＭＯＳトランジスタＳＧＳＴｒの断面を示す断面図である。
【００４４】
図４に示すように、ウェル４１には、ドレイン側選択ＭＯＳトランジスタＳＧＤＴｒ、ソース側選択ＭＯＳトランジスタＳＧＳＴｒのソース拡散層／ドレイン拡散層となる拡散層４７が形成されている。また、ウェル４１の上にはゲート絶縁膜４３を介して制御ゲート４９（ＳＧＳ、ＳＧＤ）が形成されている。
【００４５】
ここで、図５は、図１に示すメモリセルアレイ１の各領域（ブロック）を説明するための図である。
【００４６】
図５に示すように、メモリセルアレイ１は、通常のデータを記憶する通常のメモリセル領域（通常ブロック）１ａと、不良アドレスや電圧トリミングなどのチップ固有の調整値を記憶するヒューズ領域（ブロック）１ｂと、カードやメモリモジュールのコントローラの基本プログラムを記憶するためのユーザー領域（ブロック）１ｃと、時間管理に必要なタイムコードを記憶するためのタイムコード領域（タイムコードブロック）１ｄと、を含む。なお、各領域は、１つ又は複数のブロックで構成される。
【００４７】
なお、タイムコード領域１ｄは、例えば、タイムコードが２値で記憶され、或いは、タイムコードが相補データで記憶される。これにより、タイムコード領域１ｄに記憶されるデータの信頼性が高くなるようになっている。なお、該タイムコードは、該通常ブロック毎に設定され、対応するブロックの最後の書き込み動作を実行した時間に対応する時間データが含まれる。
【００４８】
図６は、図１に示すＮＡＮＤ型フラッシュメモリ（ＮＡＮＤチップ）１００を含むメモリシステム１０００の構成の一例を示すブロック図である。また、図７は、図１に示すＮＡＮＤ型フラッシュメモリ（ＮＡＮＤチップ）１００を含むメモリシステム１０００の構成の他の例を示すブロック図である。また、図８は、図１に示すＮＡＮＤ型フラッシュメモリ（ＮＡＮＤチップ）１００を含むメモリシステム１０００の構成のさらに他の例を示すブロック図である。また、図９は、図１に示すＮＡＮＤ型フラッシュメモリ（ＮＡＮＤチップ）１００を含むメモリシステム１０００の構成のさらに他の例を示すブロック図である。
【００４９】
なお、図中、ＮＡＮＤ型フラッシュメモリをＮＡＮＤチップとして表記している。また、各図において、同じ符号は、同じ構成を示す。
【００５０】
図６に示すように、メモリシステム１０００は、複数のインタフェース１００１ａ、１００１ｂと、コントローラ１００２と、タイマー１００３と、複数のＮＡＮＤ型フラッシュメモリ（ＮＡＮＤチップ）１００と、を備える。
【００５１】
コントローラ１００２は、既述のように、Ｉ／Ｏピンを介して、ＮＡＮＤチップ１００とデータ等を送受信する。また、コントローラ１００２は、制御ピン８を介して、ＮＡＮＤ型フラッシュメモリの動作モードを制御する制御信号を、ＮＡＮＤ型フラッシュメモリ１００に送信する。また、コントローラ１００２は、インタフェース１００１ａから入力される信号に応じて駆動する。
【００５２】
また、電源１００４は、コントローラ１００２や各ＮＡＮＤチップ１００に電力を供給するようになっている。この電源１００４は、所定の電力を供給可能な外部電源やバッテリ等である。
【００５３】
なお、コントローラ１００２は、電源１００４の電圧を監視し、規定値以下に低下した場合は、外部にその旨を知らせる機能を有する。これにより、電源１００４の電圧が所定値に維持されれば、電源１００４が供給する電圧の低下によるコントローラ１００２の駆動停止を抑制することができる。
【００５４】
時間供給装置であるＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｉｓｔｅｍ）モジュール１００５は、インタフェース１００１ｂを介して、コントローラ１００２に、現在の時間等の時間情報を供給するようになっている。すなわち、コントローラ１００２は、ＧＰＳモジュール１００５から供給された時間情報に基づいて、現在の時間を取得することができるようになっている。
【００５５】
タイマー１００３は、時間をカウントしそのカウント値をコントローラ１００２に供給するようになっている。これにより、コントローラ１００２は、例えば、コマンドが入力された時刻等の或る時刻からの経過時間を取得することができるようになっている。なお、コントローラ１００２は、例えば、ＧＰＳモジュール１００５から供給される時間情報に基づいて、タイマー１００３から入力されるカウント値から得られる時間を補正するようにしてもよい。
【００５６】
なお、この図６に示すメモリシステム１０００の構成では、複数のＮＡＮＤ型フラッシュメモリ１００のうちの１つと、制御ピンおよびＩ／Ｏピンを介して、データ等を送受信している。
【００５７】
また、図７に示すメモリシステム１０００の構成では、複数のＮＡＮＤ型フラッシュメモリ１００のうちの４つと平行して、４つの制御ピンおよびＩ／Ｏピンを介して、データ等を送受信している。
【００５８】
また、図８、図９に示すメモリシステム１０００の構成では、図６、図７で示したＧＰＳモジュール１００５に代えて、時間供給装置であるＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）ドライバ１００６が、インタフェース１００１ｂを介して、コントローラ１００２に、現在の時間等の時間情報を供給するようになっている。すなわち、コントローラ１００２は、ＬＡＮドライバ１００６から供給された時間情報に基づいて、現在の時間を取得することができるようになっている。
【００５９】
そして、この図８に示すメモリシステム１０００の構成では、複数のＮＡＮＤ型フラッシュメモリ１００のうちの１つと、制御ピンおよびＩ／Ｏピンを介して、データ等を送受信している。
【００６０】
また、図９に示すメモリシステム１０００の構成では、複数のＮＡＮＤ型フラッシュメモリ１００のうちの４つと平行して、４つの制御ピンおよびＩ／Ｏピンを介して、データ等を送受信している。
【００６１】
ここで、以上のような構成を有するＮＡＮＤ型フラッシュメモリ１００のデータ保持特性を向上させるための動作の一例について説明する。
【００６２】
例えば、電源が常時オンではない場合、決められた時間におけるデータ保持特性を向上させるためのシーケンスは実行できない。そこで、本実施例では、電源がオンになった場合に、読み出し、書き込み、消去の動作を行ったときに該シーケンスが実行される例について説明する。
【００６３】
通常、消去動作は書き込み動作とセットで実行される。先ず、書き込み時のシーケンスと、読み出し時のシーケンスとについて、それぞれ、図１０、図１１に示す。
【００６４】
図１０は、図１に示すＮＡＮＤ型フラッシュメモリ１００の書き込み動作時のシーケンスの一例を示すフローチャートである。
【００６５】
図１０に示すように、先ず、コントローラ１００２から入力されたコマンド等に応じて、ＮＡＮＤ型フラッシュメモリ１００は、メモリセルアレイ１の通常のメモリセル領域（通常ブロック）１ａのうちの選択された書き込み対象のブロックへの書き込み動作を実行する（ステップＳ１）。
【００６６】
なお、この書き込み動作が実行される場合には、データの書き込みの前に、選択されたブロック毎のデータの消去が実行される。しかし、選択されたブロックにデータが書き込まれていない場合には、消去は実行されない。
【００６７】
次に、ＮＡＮＤ型フラッシュメモリ１００は、タイムコード領域（タイムコードブロック）１ｄに記憶されたブロック毎のタイムコードを読み出す（ステップＳ２）。このタイムコードには、このタイムコードと対応するブロックに前回（最後）の書き込み動作を実行した時間の時間データが、含まれている。
【００６８】
このように、ＮＡＮＤ型フラッシュメモリ１００は、複数のブロックのうち通常ブロックから選択された書き込み対象のブロックにデータを書き込んだ後に、タイムコードブロックからタイムコードを読み出す。
【００６９】
次に、コントローラ１００２は、ＧＰＳモジュール１００５等の時間供給装置から供給された時間情報に基づいて、現在の時間を取得する（ステップＳ３）。
【００７０】
次に、コントローラ１００２は、読み出した各タイムコードのブロックの時間データの時間と、該現在の時間とを比較し、規定値よりも時間差が大きい（規定条件を満たす）ブロックを選定する。すなわち、全ブロックの中から、ある第１の規定期間以上前に最後の書き込み動作を実行したブロックを選定する（ステップＳ４）。なお、選定するブロックの数に制限を設けてもよい。
【００７１】
次に、ステップＳ５に進み、コントローラ１００２は、上記条件に該当するブロックが存在すると判断した場合には、選定したブロックに対して、読み出し動作、消去動作、書き込み動作（再書き込み動作）を実行する（ステップＳ６）。
【００７２】
すなわち、読み出されたタイムコードの時間データの時間と現在の時間との時間差が規定値よりも大きくなる選定された通常ブロックに対して、データを読み出し、消去し、且つ、読み出されたデータを書き込む。
【００７３】
なお、選定されたブロックに再書き込みされるデータは、この選定されたブロックに再書き込み前に記憶されていたデータと、同じである。
【００７４】
これにより、規定値よりも時間差が大きい、すなわち、該第１の規定期間以上前に最後に書き込み動作を実行したブロックに対して再書き込み動作をすることができる。
【００７５】
次に、ステップＳ６の後、コントローラ１００２は、書き込んだブロックの書き込み動作を実行した時間（ここでは、取得された該現在の時間）の時間データ、および、選定したブロックの書き込み動作を実行した時間（ここでは、取得された該現在の時間）の時間データに対応する新たなタイムコードを作成し（ステップＳ７）、選定された通常ブロックに対応させて、タイムコード領域（タイムコードブロック）１ｄに記憶する（ステップＳ８）。
【００７６】
一方、ステップＳ５において、コントローラ１００２は、上記条件に該当するブロックが存在しないと判断した場合には、ステップＳ７に進む。そして、コマンドに応じて書き込んだブロックの書き込み動作を実行した時間（ここでは、取得された該現在の時間）の時間データのみに対応する新たなタイムコードを作成し（ステップＳ７）、選定された通常ブロックに対応させて、タイムコード領域（タイムコードブロック）１ｄに記憶する（ステップＳ８）。
【００７７】
なお、ステップＳ６において、消去動作は、必ずしも実行されなくてもよい。
【００７８】
以上の書き込み時のフローにより、ブロックに対して、データ保持特性が所定値よりも低下する前に、再書き込みをする。これにより、既述のような、メモリセルの閾値電圧分布の広がりが抑制される。すなわち、ＮＡＮＤ型フラッシュメモリ１００のデータ保持特性が向上することとなる。
【００７９】
次に、図１１は、図１に示すＮＡＮＤ型フラッシュメモリ１００の読み出し動作時のシーケンスの一例を示すフローチャートである。
【００８０】
図１１に示すように、先ず、コントローラ１００２から入力されたコマンド等に応じて、ＮＡＮＤ型フラッシュメモリ１００は、メモリセルアレイ１の通常のメモリセル領域（ブロック）１ａのうちの選択された読み出し対象のブロックへの読み出し動作を実行する（ステップＳ１１）。
【００８１】
以降のステップＳ２からステップＳ８までのフローは、図１０の書き込み動作時のステップＳ２からステップＳ８までのフローと同様である。すなわち、ＮＡＮＤ型フラッシュメモリ１００は、複数のブロックのうち通常ブロックから選択された読み出し対象のブロックからデータを読み出した後に、タイムコードブロックからタイムコードを読み出す。
【００８２】
上記読み出し時のフローにより、書き込み時のフローと同様に、読み出しされたブロックに対して、データ保持特性が所定値よりも低下する前に、再書き込みをする。これにより、既述のような、メモリセルの閾値電圧分布の広がりが抑制される。すなわち、ＮＡＮＤ型フラッシュメモリ１００のデータ保持特性が向上することとなる。
【００８３】
次に、メモリシステム１０００が定期的にデータ保持特性を向上させるためのシーケンスを実行する例について説明する。
【００８４】
図１２は、図１に示すＮＡＮＤ型フラッシュメモリ１００の定期的なデータ保持特性の確認シーケンスの一例を示すフローチャートである。
【００８５】
図１２に示すように、先ず、コントローラ１００２は、例えば、図１１、図１２に示す選定したブロックの再書き込み動作から第２の規定期間の経過後、確認コマンドを発生させ、ＮＡＮＤ型フラッシュメモリ１００に出力する（ステップＳ２１）。なお、電源の投入、通常の読み出し動作、書き込み動作、または、消去動作から該第２の規定期間の経過後に、該確認コマンドを発生させるようにしてもよい。
【００８６】
なお、コントローラ１００２は、上記第２の規定期間の経過を、タイマー１００３か出力されるカウンタ値から取得する。コントローラ１００２は、例えば、再書き込み動作時のカウント値から規定値以上カウント値が増加した場合に、上記第２の規定期間が経過したと判断する。
【００８７】
次に、コントローラ１００２から入力された該確認コマンドに応じて、ＮＡＮＤ型フラッシュメモリ１００は、タイムコード領域（タイムコードブロック）１ｄに記憶されたブロック毎のタイムコードを読み出す（ステップＳ２２）。このタイムコードには、このタイムコードと対応するブロックに前回（最後）の書き込み動作を実行した時間の時間データが、含まれている。
【００８８】
すなわち、ＮＡＮＤ型フラッシュメモリ１００は、最後に書き込みまたは読み出し動作してから所定期間経過した後に入力されたコマンドに応じて、タイムコードブロックからタイムコードを読み出す。
【００８９】
以降のステップＳ３からステップＳ８までのフローは、図１０の書き込み動作時のステップＳ３からステップＳ８までのフローと同様である。
【００９０】
すなわち、上記確認シーケンスのフローにより、書き込み時のフローと同様にブロックに対して、データ保持特性が所定値よりも低下する前に、再書き込みをする。これにより、既述のような、メモリセルの閾値電圧分布の広がりが抑制される。すなわち、ＮＡＮＤ型フラッシュメモリ１００のデータ保持特性が向上することとなる。
【００９１】
以上のように、本実施例１に係る不揮発性半導体記憶装置によれば、データ保持特性を向上することができる。
【実施例２】
【００９２】
既述の実施例１においては、メモリセルアレイ１にタイムコードを記憶する専用のブロック（タイムコード領域１ｄ）を設けた構成の一例について述べた。
【００９３】
ここで、タイムコードの記憶領域をブロックにしていたのを、各ワード線のカラムにタイムコード領域を割り付けて記憶するようにしてもよい。
【００９４】
そこで、本実施例２においては、各ブロックの各ページそれぞれにタイムコードを記憶する構成の一例について説明する。
【００９５】
なお、タイムコードを記憶するブロックに代えて各ページにタイムコードを記憶させる構成以外のメモリシステム１０００、ＮＡＮＤ型フラッシュメモリ１００の構成は、実施例１に示す構成と同様である。
【００９６】
ここで、図１３は、図１に示すメモリセルアレイ１のブロックの１つのページの各領域を説明するための図である。
【００９７】
図１３に示すように、ページ１ｐは、通常のデータを記憶する通常データ領域１ｐ１と、ＥＣＣ（Ｅｒｒｏｒ  Ｃｈｅｃｋｉｎｇ  Ｃｏｒｒｅｃｔｉｏｎ）データを記憶するＥＣＣデータ領域１ｐ２と、不良カラム置き換えのためのリダンダンシー領域１ｐ３と、時間管理に必要なタイムコードを記憶するためのタイムコード領域１ｐ４と、を含む。なお、該タイムコードには、対応するブロックの最後の書き込み動作を実行した時間に対応する時間データが含まれる。なお、図１３に示す、ＥＣＣデータ領域１ｐ２、リダンダンシー領域１ｐ３、タイムコード領域１ｐ４の順番は、一例であり、図１３と異なる順番であってもよい。
【００９８】
なお、タイムコード領域１ｐ４は、例えば、タイムコードが２値で記憶され、或いは、タイムコードが相補データで記憶される。
【００９９】
これにより、タイムコード領域１ｐ４に記憶されるデータの信頼性が高くなるようになっている。
【０１００】
ここで、以上のような構成を有するＮＡＮＤ型フラッシュメモリ１００のデータ保持特性を向上させるための動作の一例について説明する。
【０１０１】
実施例１と同様に、先ず、書き込み時のシーケンスと、読み出し時のシーケンスとについて、それぞれ、図１４、図１５に示す。
【０１０２】
図１４は、図１に示すＮＡＮＤ型フラッシュメモリ１００の書き込み動作時のシーケンスの一例を示すフローチャートである。
【０１０３】
図１４に示すように、先ず、コントローラ１００２は、図１３に示す各ページに記憶する、通常の書き込みデータ、ＥＣＣデータ、タイムコードを含むページデータを作成する（ステップＳ２０１）。
【０１０４】
次に、コントローラ１００２から入力されたコマンド等に応じて、ＮＡＮＤ型フラッシュメモリ１００は、選択された書き込み対象のブロックに対して、作成した該ページデータの書き込み動作を実行する（ステップＳ２０２）。
【０１０５】
なお、この書き込み動作が実行される場合には、データの書き込みの前に、選択されたブロック毎のデータの消去が実行される。しかし、選択されたブロックにデータが書き込まれていない場合には、消去は実行されない。
【０１０６】
次に、ＮＡＮＤ型フラッシュメモリ１００は、各ブロックの全ページ１ｐのタイムコード領域１ｐ４に記憶されたタイムコードを全て読み出す（ステップＳ２０３）。このタイムコードには、このタイムコードと対応するブロックに前回（最後）の選定したブロックの書き込み動作を実行した時間（例えば、ページデータを作成した時間等を含む）の時間データが、含まれている。
【０１０７】
すなわち、ＮＡＮＤ型フラッシュメモリ１００は、複数のブロックから選択された書き込み対象のブロックにデータを書き込んだ後に、タイムコード領域からタイムコードを読み出す。
【０１０８】
次に、コントローラ１００２は、ＧＰＳモジュール１００５等の時間供給装置から供給された時間情報に基づいて、現在の時間を取得する（ステップＳ２０４）。
【０１０９】
次に、コントローラ１００２は、読み出した各タイムコードの時間データの時間と、該現在の時間とを比較し、規定値よりも時間差が大きい（規定条件を満たす）ブロックを選定する。すなわち、全ブロックの中から、或る第１の規定期間以上前に最後の書き込み動作を実行したブロックを選定する（ステップＳ２０５）。なお、選定するブロックの数に制限を設けてもよい。
【０１１０】
なお、タイムコードはデータが化けてしまうと不良につながる。そこで、タイムコード領域１ｐ４に記憶されたタイムコードの数ビットをＥＣＣビットとして扱ってもよい。
【０１１１】
このＥＣＣビットに基づいてエラー（タイムコードのデータ化け）が検出された場合には、時間データの信頼性がないと判断される。そこで、エラーが検出されたブロックも選定の対象にしてもよい。これにより、選定されたブロックに対して再書き込みを実施することによりフェールセーフとすることができる。
【０１１２】
次に、ステップＳ２０６に進み、コントローラ１００２は、上記条件に該当するブロックが存在すると判断した場合には、選定したブロックに対して、読み出し動作、消去動作を実行する（ステップＳ２０７）。
【０１１３】
すなわち、ＮＡＮＤ型フラッシュメモリ１００は、読み出されたタイムコードの時間データの時間と該現在の時間との時間差が規定値よりも大きくなる選定されたブロックに対して、データを読み出し、且つ、消去する。
【０１１４】
そして、コントローラ１００２は、選定したブロックに再書き込みするページデータを作成する（ステップＳ２０８）。なお、選定したブロックに再書き込みされるページデータは、この選定されたブロックに再書き込み前に記憶されていた通常のデータと同じ通常のデータ、新たなＥＣＣデータ、および、選定したブロックの書き込み動作を実行した時間（例えば、新たにページデータを作成した時間等）の時間データに対応する新たなタイムコードである。
【０１１５】
次に、コントローラ１００２は、選定したブロックに対して、作成した新たなページデータの書き込み動作（再書き込み動作）を実行する（ステップＳ２０９）。
【０１１６】
すなわち、ＮＡＮＤ型フラッシュメモリ１００は、読み出された通常のデータと同じ通常のデータおよび該現在の時間の時間データに対応する新たなタイムコードを、選定されたブロックのページの通常データ領域およびタイムコード領域に、書き込む。
【０１１７】
これにより、規定値よりも時間差が大きい、すなわち、該第１の規定期間以上前に最後に書き込み動作を実行したブロックに対して再書き込み動作をすることができる。このとき、新たなタイムコードが各ページのタイムコード領域１ｐ４に記憶される。
【０１１８】
一方、ステップＳ２０６において、コントローラ１００２は、上記条件に該当するブロックが存在しないと判断した場合には、フローを終了する。
【０１１９】
以上の書き込み時のフローにより、書き込みされたブロックに対して、データ保持特性が所定値よりも低下する前に、再書き込みをする。これにより、既述のような、メモリセルの閾値電圧分布の広がりが抑制される。すなわち、ＮＡＮＤ型フラッシュメモリ１００のデータ保持特性が向上することとなる。
【０１２０】
なお、実施例２のシーケンスでは、実施例１に比べて、タイムコードを読み出すには、各ブロックの全ページにアクセスする必要がある。
【０１２１】
次に、図１５は、図１に示すＮＡＮＤ型フラッシュメモリ１００の読み出し動作時のシーケンスの一例を示すフローチャートである。
【０１２２】
図１５に示すように、先ず、コントローラ１００２から入力されたコマンド等に応じて、ＮＡＮＤ型フラッシュメモリ１００は、メモリセルアレイ１の通常のメモリセル領域（ブロック）１ａのうちの選択された読み出し対象のブロックへの読み出し動作を実行する（ステップＳ２１１）。
【０１２３】
以降のステップＳ２０３からステップＳ２０９までのフローは、図１４の書き込み動作時のステップＳ２０３からステップＳ２０９までのフローと同様である。すなわち、ＮＡＮＤ型フラッシュメモリ１００は、複数のブロックから選択された読み出し対象のブロックからデータを読み出した後に、タイムコード領域からタイムコードを読み出す。
【０１２４】
上記読み出し時のフローにより、書き込み時のフローと同様に、ブロックに対して、データ保持特性が所定値よりも低下する前に、再書き込みをする。これにより、既述のような、メモリセルの閾値電圧分布の広がりが抑制される。すなわち、ＮＡＮＤ型フラッシュメモリ１００のデータ保持特性が向上することとなる。
【０１２５】
次に、メモリシステム１０００が定期的にデータ保持特性を向上させるためのシーケンスを実行する例について説明する。
【０１２６】
図１６は、図１に示すＮＡＮＤ型フラッシュメモリ１００の定期的なデータ保持特性の確認シーケンスの一例を示すフローチャートである。
【０１２７】
図１６に示すように、先ず、コントローラ１００２は、例えば、図１４、図１５に示す選定したブロックの再書き込み動作から第２の規定期間の経過後、確認コマンドを発生させ、ＮＡＮＤ型フラッシュメモリ１００に出力する（ステップＳ２２１）。なお、電源の投入、通常の読み出し動作、書き込み動作、または、消去動作から該第２の規定期間の経過後に、該確認コマンドを発生させるようにしてもよい。
【０１２８】
なお、コントローラ１００２は、上記第２の規定期間の経過を、タイマー１００３か出力されるカウンタ値から取得する。コントローラ１００２は、例えば、再書き込み動作時のカウント値から規定値以上カウント値が増加した場合に、上記第２の規定期間が経過したと判断する。
【０１２９】
次に、コントローラ１００２から入力された該確認コマンドに応じて、ＮＡＮＤ型フラッシュメモリ１００は、各ブロックの全ページ１ｐのタイムコード領域１ｐ４に記憶されたタイムコードを全て読み出す（ステップＳ２２３）。このタイムコードには、このタイムコードと対応するブロックに前回（最後）の書き込み動作を実行した時間の時間データが、含まれている。
【０１３０】
すなわち、ＮＡＮＤ型フラッシュメモリ１００は、最後に書き込みまたは読み出し動作してから所定期間経過した後に入力されたコマンドに応じて、タイムコード領域からタイムコードを読み出す。
【０１３１】
以降のステップＳ２０４からステップＳ２０９までのフローは、図１４の書き込み動作時のステップＳ２０４からステップＳ２０９までのフローと同様である。
【０１３２】
すなわち、上記確認シーケンスのフローにより、書き込み時のフローと同様に、ブロックに対して、データ保持特性が所定値よりも低下する前に、再書き込みをする。これにより、既述のような、メモリセルの閾値電圧分布の広がりが抑制される。すなわち、ＮＡＮＤ型フラッシュメモリ１００のデータ保持特性が向上することとなる。
【０１３３】
以上のように、本実施例２に係る不揮発性半導体記憶装置によれば、データ保持特性を向上することができる。
【実施例３】
【０１３４】
既述の実施例２においては、或るブロックのタイムコードをそのブロックの各ページのページデータ領域に記憶する構成の一例について述べた。
【０１３５】
ここで、各ブロックの各ページにページデータ領域を設けていたのを、各ブロックにタイムコード専用のタイムコード用ページを設け、各ブロックに対応するタイムコードを、ブロックのタイムコード用ページにそれぞれ記憶するようにしてもよい。
【０１３６】
そこで、本実施例３においては、各ブロックのタイムコード用ページそれぞれにタイムコードを記憶する構成の一例について説明する。
【０１３７】
なお、タイムコードを記憶するブロックに代えて各ブロックのタイムコード用ページにタイムコードを記憶させる構成以外のメモリシステム１０００、ＮＡＮＤ型フラッシュメモリ１００の構成は、実施例１に示す構成と同様である。
【０１３８】
ここで、図１７は、図１に示すメモリセルアレイ１の１つのブロックの各領域を説明するための図である。
【０１３９】
図１７に示すように、ブロックＢＬＫは、通常のページデータを記憶する通常のページ１ｐ−ａと、そのブロックＢＬＫの時間管理に必要なタイムコードを記憶するためのタイムコード用ページ１ｐ−ｂと、を含む。なお、該タイムコードには、対応するブロックの最後の書き込み動作を実行した時間に対応する時間データが含まれる。
【０１４０】
なお、タイムコード用ページ１ｐ−ｂは、例えば、タイムコードが２値で記憶され、或いは、タイムコードが相補データで記憶される。また、タイムコード用ページ１ｐ−ｂは、例えば、ブロックＢＬＫ内でも、信頼性が高い中央近傍のページに割り当てられる。
【０１４１】
これにより、タイムコード用ページ１ｐ−ｂに記憶されるデータの信頼性が高くなるようになっている。
【０１４２】
ここで、以上のような構成を有するＮＡＮＤ型フラッシュメモリ１００のデータ保持特性を向上させるための動作の一例について説明する。
【０１４３】
実施例２と同様に、先ず、書き込み時のシーケンスと、読み出し時のシーケンスとについて、それぞれ、図１８、図１９に示す。
【０１４４】
図１８は、図１に示すＮＡＮＤ型フラッシュメモリ１００の書き込み動作時のシーケンスの一例を示すフローチャートである。
【０１４５】
図１８に示すように、先ず、コントローラ１００２は、図１７に示す通常のページ１ｐ−ａに記憶する通常の書き込みデータを含むページデータ、および、タイムコード用ページ１ｐ−ｂに記憶する新たなタイムコードを作成する（ステップＳ３０１）。このタイムコードには、このタイムコードと対応するブロックの今回の書き込み動作を実行した時間（例えば、ページデータを作成した時間等を含む）の時間データが、含まれている。
【０１４６】
次に、コントローラ１００２から入力されたコマンド等に応じて、ＮＡＮＤ型フラッシュメモリ１００は、選択された書き込み対象のブロックの通常のページ１ｐ−ａおよびタイムコード用ページ１ｐ−ｂに対して、作成した該ページデータおよびタイムコードの書き込み動作を実行する（ステップＳ３０２）。
【０１４７】
なお、この書き込み動作が実行される場合には、データの書き込みの前に、選択されたブロック毎のデータの消去が実行される。しかし、選択されたブロックにデータが書き込まれていない場合には、消去は実行されない。
【０１４８】
次に、ＮＡＮＤ型フラッシュメモリ１００は、各ブロックのタイムコードページ１ｐ−ｂに記憶されたタイムコードを全て読み出す（ステップＳ３０３）。このタイムコードには、このタイムコードと対応するブロックに前回（最後）の選定したブロックの書き込み動作を実行した時間（例えば、ページデータを作成した時間等を含む）の時間データが、含まれている。
【０１４９】
すなわち、ＮＡＮＤ型フラッシュメモリ１００は、複数のブロックから選択された書き込み対象のブロックにデータを書き込んだ後に、タイムコード領域からタイムコードを読み出す。
【０１５０】
次に、コントローラ１００２は、ＧＰＳモジュール１００５等の時間供給装置から供給された時間情報に基づいて、現在の時間を取得する（ステップＳ３０４）。
【０１５１】
次に、コントローラ１００２は、読み出した各タイムコードの時間データの時間と、該現在の時間とを比較し、規定値よりも時間差が大きい（規定条件を満たす）ブロックを選定する。すなわち、全ブロックの中から、ある第１の規定期間以上前に最後の書き込み動作を実行したブロックを選定する（ステップＳ３０５）。なお、選定するブロックの数に制限を設けてもよい。
【０１５２】
次に、ステップＳ３０６に進み、コントローラ１００２は、上記条件に該当するブロックが存在すると判断した場合には、選定したブロックに対して、読み出し動作、消去動作を実行する（ステップＳ３０７）。
【０１５３】
すなわち、ＮＡＮＤ型フラッシュメモリ１００は、読み出されたタイムコードの時間データの時間と該現在の時間との時間差が規定値よりも大きくなる選定されたブロックに対して、データを読み出し、且つ、消去する。
【０１５４】
そして、コントローラ１００２は、選定したブロックに再書き込みするページデータ（書き込みデータ、新たなタイムコード）を作成する（ステップＳ３０８）。
【０１５５】
なお、選定したブロックの通常のページに再書き込みされるページデータ（書き込みデータ）は、この選定されたブロックに再書き込み前に記憶されていた通常のデータと同じ通常のデータである。また、選定したブロックのタイムコード用ページに再書き込みされるページデータ（タイムコード）は、選定したブロックの書き込み動作を実行した時間（例えば、新たにページデータを作成した時間等）の時間データに対応する新たなタイムコードである。）
【０１５６】
次に、コントローラ１００２は、選定したブロックに対して、作成した新たなページデータの書き込み動作（再書き込み動作）を実行する（ステップＳ３０９）。
【０１５７】
すなわち、ＮＡＮＤ型フラッシュメモリ１００は、読み出された通常のデータと同じ通常のデータおよび該現在の時間の時間データに対応する新たなタイムコードを、選定されたブロックの通常ページおよびタイムコード用ページに、書き込む。
【０１５８】
これにより、規定値よりも時間差が大きい、すなわち、該第１の規定期間以上前に最後に書き込み動作を実行したブロックに対して再書き込み動作をすることができる。このとき、新たなタイムコードがタイムコード用ページ１ｐ−ｂに記憶される。
【０１５９】
一方、ステップＳ３０６において、コントローラ１００２は、上記条件に該当するブロックが存在しないと判断した場合には、フローを終了する。
【０１６０】
以上の書き込み時のフローにより、書き込みされたブロックに対して、データ保持特性が所定値よりも低下する前に、再書き込みをする。これにより、既述のような、メモリセルの閾値電圧分布の広がりが抑制される。すなわち、ＮＡＮＤ型フラッシュメモリ１００のデータ保持特性が向上することとなる。
【０１６１】
次に、図１９は、図１に示すＮＡＮＤ型フラッシュメモリ１００の読み出し動作時のシーケンスの一例を示すフローチャートである。
【０１６２】
図１９に示すように、先ず、コントローラ１００２から入力されたコマンド等に応じて、ＮＡＮＤ型フラッシュメモリ１００は、メモリセルアレイ１の選択された読み出し対象のブロックへの読み出し動作を実行する（ステップＳ３１１）。
【０１６３】
以降のステップＳ３０３からステップＳ３０９までのフローは、図１８の書き込み動作時のステップＳ３０３からステップＳ３０９までのフローと同様である。すなわち、ＮＡＮＤ型フラッシュメモリ１００は、複数のブロックから選択された読み出し対象のブロックからデータを読み出した後に、タイムコード領域からタイムコードを読み出す。
【０１６４】
上記読み出し時のフローにより、書き込み時のフローと同様に、ブロックに対して、データ保持特性が所定値よりも低下する前に、再書き込みをする。これにより、既述のような、メモリセルの閾値電圧分布の広がりが抑制される。すなわち、ＮＡＮＤ型フラッシュメモリ１００のデータ保持特性が向上することとなる。
【０１６５】
次に、メモリシステム１０００が定期的にデータ保持特性を向上させるためのシーケンスを実行する例について説明する。
【０１６６】
図２０は、図１に示すＮＡＮＤ型フラッシュメモリ１００の定期的なデータ保持特性の確認シーケンスの一例を示すフローチャートである。
【０１６７】
図２０に示すように、先ず、コントローラ１００２は、例えば、図１８、図１９に示す選定したブロックの再書き込み動作から第２の規定期間の経過後、確認コマンドを発生させ、ＮＡＮＤ型フラッシュメモリ１００に出力する（ステップＳ３２１）。なお、電源の投入、通常の読み出し動作、書き込み動作、または、消去動作から該第２の規定期間の経過後に、該確認コマンドを発生させるようにしてもよい。
【０１６８】
なお、コントローラ１００２は、上記第２の規定期間の経過を、タイマー１００３か出力されるカウンタ値から取得する。コントローラ１００２は、例えば、再書き込み動作時のカウント値から規定値以上カウント値が増加した場合に、上記第２の規定期間が経過したと判断する。
【０１６９】
次に、コントローラ１００２から入力された該確認コマンドに応じて、ＮＡＮＤ型フラッシュメモリ１００は、各ブロックのタイムコード用ページ１ｐ−ｂに記憶されたタイムコードを全て読み出す（ステップＳ３２３）。このタイムコードには、このタイムコードと対応するブロックに前回（最後）の書き込み動作を実行した時間の時間データが、含まれている。
【０１７０】
すなわち、ＮＡＮＤ型フラッシュメモリ１００は、最後に書き込みまたは読み出し動作してから所定期間経過した後に入力されたコマンドに応じて、タイムコード領域からタイムコードを読み出す。
【０１７１】
以降のステップＳ３０４からステップＳ３０９までのフローは、図１８の書き込み動作時のステップＳ３０４からステップＳ３０９までのフローと同様である。
【０１７２】
すなわち、上記確認シーケンスのフローにより、書き込み時のフローと同様に、ブロックに対して、データ保持特性が所定値よりも低下する前に、再書き込みをする。これにより、既述のような、メモリセルの閾値電圧分布の広がりが抑制される。すなわち、ＮＡＮＤ型フラッシュメモリ１００のデータ保持特性が向上することとなる。
【０１７３】
以上のように、本実施例３に係る不揮発性半導体記憶装置によれば、実施例１、２と同様に、データ保持特性を向上することができる。
【符号の説明】
【０１７４】
１  メモリセルアレイ
２  ビット線制御回路
３  カラムデコーダ
４  データ入出力バッファ
５  Ｉ／Ｏピン
６  ロウデコーダ
７  制御回路
８  制御ピン
９  ソース線制御回路
１０  ウェル制御回路
１１  アドレスレジスタ
１００  ＮＡＮＤ型フラッシュメモリ
【図１】
2012048770.tif 000003
【図２】
2012048770.tif 000004
【図３】
2012048770.tif 000005
【図４】
2012048770.tif 000006
【図５】
2012048770.tif 000007
【図６】
2012048770.tif 000008
【図７】
2012048770.tif 000009
【図８】
2012048770.tif 000010
【図９】
2012048770.tif 000011
【図１０】
2012048770.tif 000012
【図１１】
2012048770.tif 000013
【図１２】
2012048770.tif 000014
【図１３】
2012048770.tif 000015
【図１４】
2012048770.tif 000016
【図１５】
2012048770.tif 000017
【図１６】
2012048770.tif 000018
【図１７】
2012048770.tif 000019
【図１８】
2012048770.tif 000020
【図１９】
2012048770.tif 000021
【図２０】
2012048770.tif 000022