(57)【要約】【課題】チップ固有の書き込み時間及び消去時間を正しく取得する。【解決手段】メモリ１０２は、実際の書換え動作時に、書換え動作に要する所定の電圧パルスの印加回数をカウントするパルスカウンター１０６ａと、パルスカウンター１０６ａによりカウントされた所定の電圧パルスの印加回数を格納するパルス回数格納レジスタ１０６ｂと、パルス回数格納レジスタ１０６ｂに格納された印加回数に基づいて、書換え動作の所要時間を表すデータを出力する所要時間出力部１０７とを備えている。【選択図】図３
2012027964.tif 000002
【特許請求の範囲】
【請求項１】
第１の値及び第２の値のいずれかを記憶するメモリセルを複数備え、書換え電圧パルス印加とベリファイとを繰り返すことにより書換え動作を実現するメモリアレイを有するメモリ装置において、
前記メモリアレイへの前記書換え電圧パルスの印加回数を格納する格納部と、
前記格納部に格納された印加回数に基づいて、書換え動作の所要時間を表すデータを出力する所要時間出力部とを備えていることを特徴とするメモリ装置。
【請求項２】
請求項１に記載のメモリ装置において、
前記格納部は、前記書換え電圧パルスの印加回数を複数個格納し、
前記所要時間出力部は、前記格納部に格納された複数個の印加回数のうちの少なくとも１個に基づいて、前記書換え動作の所要時間を算出することを特徴とするメモリ装置。
【請求項３】
請求項２に記載のメモリ装置において、
前記メモリアレイは、複数のアドレス領域を含み、
前記格納部は、前記アドレス領域毎に、そのアドレス領域に含まれるメモリセルの書換え動作について、前記書換え電圧パルスの印加回数を格納し、
前記所要時間出力部は、前記格納部に格納された前記アドレス領域毎の印加回数のうち、前記アドレス領域の１つに係る印加回数に基づいて、前記書換え動作の所要時間を算出することを特徴とするメモリ装置。
【請求項４】
請求項２に記載のメモリ装置において、
前記格納部は、互いに異なる周辺温度での複数の書換え動作について、前記書換え電圧パルスの印加回数を格納し、
前記所要時間出力部は、前記格納部に格納された各周辺温度での印加回数のうち、１つの周辺温度に係る印加回数に基づいて、前記書換え動作の所要時間を算出することを特徴とするメモリ装置。
【請求項５】
請求項２に記載のメモリ装置において、
前記格納部は、メモリセルの記憶値を第１の値から第２の値に書き換える第１の書換え動作と、メモリセルの記憶値を第２の値から第１の値に書き換える第２の書換え動作とのそれぞれについて、前記パルスカウンターによりカウントされた前記所定の電圧パルスの印加回数を格納することを特徴とするメモリ装置。
【請求項６】
請求項５に記載のメモリ装置において、
前記所要時間出力部は、前記第１の書換え動作について前記格納部に格納された印加回数に基づいて、前記第１の書換え動作の所要時間を算出するとともに、前記第２の書換え動作について前記格納部に格納された印加回数に基づいて、前記第２の書換え動作の所要時間を算出することを特徴とするメモリ装置。
【請求項７】
請求項５に記載のメモリ装置において、
前記所要時間出力部は、前記第１の書換え動作について前記格納部に格納された印加回数と前記第２の書換え動作について前記格納部に格納された印加回数とに基づいて、前記第１の書換え動作の所要時間と前記第２の書換え動作の所要時間との合計を算出することを特徴とするメモリ装置。
【請求項８】
請求項１に記載のメモリ装置において、
前記所要時間出力部は、複数回の書換え動作について前記格納部に格納された前記書換え電圧パルスの印加回数の最大値、最小値及び平均値を記憶する記憶部を備え、前記記憶部に記憶された最大値、最小値及び平均値のうちのいずれか１つに基づいて、前記書換え動作の所要時間を算出することを特徴とするメモリ装置。
【請求項９】
請求項１に記載のメモリ装置において、
前記所要時間出力部により出力される，所要時間を表すデータは、当該所要時間に対応する前記書換え電圧パルスの印加回数であることを特徴とするメモリ装置。
【請求項１０】
請求項１に記載のメモリ装置において、
前記所要時間出力部により出力される，所要時間を表すデータは、秒を単位とすることを特徴とするメモリ装置。
【請求項１１】
請求項１に記載のメモリ装置において、
前記所要時間出力部により出力される，所要時間を表すデータは、当該所要時間に対応するシステムクロック数であることを特徴とするメモリ装置。
【請求項１２】
請求項１に記載のメモリ装置において、  
前記所要時間出力部は、前記印加回数に加えて周辺温度にさらに基づいて、前記書換え動作の所要時間を算出することを特徴とするメモリ装置。
【請求項１３】
請求項１に記載のメモリ装置において、  
前記所要時間出力部は、前記印加回数に加えて前記所要時間の算出対象の書換え動作の対象メモリセルのアドレスにさらに基づいて、前記書換え動作の所要時間を算出することを特徴とするメモリ装置。  
【請求項１４】
請求項１に記載のメモリ装置において、
前記所要時間出力部は、前記所要時間の算出対象の書換え動作について前記格納部に格納された印加回数と、前記所要時間の算出対象の書換え動作より前に行われた書換え動作について前記格納部に格納された印加回数との差分に基づいて、前記書換え動作の所要時間を算出することを特徴とするメモリ装置。
【請求項１５】
請求項１に記載のメモリ装置において、  
前記所要時間出力部は、前記印加回数に加えて書込みデータパターンにさらに基づいて、前記書換え動作の所要時間を算出することを特徴とするメモリ装置。
【請求項１６】
第１の値及び第２の値のいずれかを記憶するメモリセルを複数備え、書換え電圧パルス印加とベリファイとを繰り返すことにより書換え動作を実現するメモリアレイを有するメモリ装置において、
前記書換え動作の所要時間を算出する所要時間出力部と、
製造時からの書換え動作回数の複数の数値範囲と、各数値範囲に対応するパルス回数とを示すテーブルを格納するテーブル格納部とを備え、
前記所要時間出力部は、所要時間算出対象の書換え動作が製造時から何回目の書換え動作であるかを示す回数値を含む数値範囲に前記テーブルにおいて対応付けられたパルス回数を特定し、特定したパルス回数に基づいて書換え動作の所要時間を算出し、当該所要時間を示すデータを出力することを特徴とするメモリ装置。
【請求項１７】
書換え電圧パルス印加とベリファイとを繰り返すことにより書換え動作を実現するメモリアレイを有するメモリ装置において、
書換え動作の所要時間を表すデータとしてチップ固有のデータを出力する所要時間出力部を備えていることを特徴とするメモリ装置。
【請求項１８】
請求項１７に記載のメモリ装置において、
前記所要時間出力部により出力されるチップ固有のデータは、複数回の書換え動作における前記書換え電圧パルスの印加回数のうちの最大値、最小値及び平均値のうちのいずれか１つに基づくことを特徴とするメモリ装置。
【請求項１９】
請求項１７に記載のメモリ装置において、
前記所要時間出力部により出力されるチップ固有のデータは、書換え動作対象となる書込みデータパターンに固有であることを特徴とするメモリ装置。
【請求項２０】
請求項１７に記載のメモリ装置において、
前記所要時間出力部により出力されるチップ固有のデータは、書換え動作の対象メモリセルのアドレスに固有であることを特徴とするメモリ装置。
【請求項２１】
請求項１７に記載のメモリ装置において、
前記所要時間出力部により出力されるチップ固有のデータは、所要時間を表すデータの出力対象となる書換え動作が製造時から何回目の書換え動作であるかを示す回数値に応じたものであることを特徴とするメモリ装置。
【請求項２２】
請求項１７に記載のメモリ装置において、
前記所要時間出力部により出力されるチップ固有のデータは、周辺温度に固有であることを特徴とするメモリ装置。
【請求項２３】
請求項１７に記載のメモリ装置において、
前記書換え動作の所要時間を表すデータは、書込み動作の所要時間を表すデータであることを特徴とするメモリ装置。
【請求項２４】
請求項１７に記載のメモリ装置において、
前記書換え動作の所要時間を表すデータは、消去動作の所要時間を表すデータであることを特徴とするメモリ装置。
【請求項２５】
請求項１７に記載のメモリ装置において、
前記書換え動作の所要時間を表すデータは、書込み動作の所要時間と消去動作の所要時間との合計時間を表すデータであることを特徴とするメモリ装置。
【請求項２６】
請求項１７に記載のメモリ装置において、
前記所要時間出力部により出力される，所要時間を表すデータは、当該所要時間に対応するシステムクロック数であることを特徴とするメモリ装置。
【請求項２７】
請求項１７に記載のメモリ装置において、
前記所要時間出力部により出力される，所要時間を表すデータは、当該所要時間に対応する書換え電圧パルスの印加回数であることを特徴とするメモリ装置。
【請求項２８】
請求項１７に記載のメモリ装置において、
前記所要時間出力部により出力される，所要時間を表すデータは、秒を単位とすることを特徴とするメモリ装置。
【請求項２９】
請求項１７に記載のメモリ装置において、
前記所要時間出力部は、ＣＰＵによる書換え時間出力コマンドの発行に応じて前記書換え動作の所要時間を示すデータを出力することを特徴とするメモリ装置。
【請求項３０】
請求項１７に記載のメモリ装置において、
前記所要時間出力部は、ＣＰＵによる書換えコマンドの発行に応じて前記書換え動作の所要時間を示すデータを書換えステータス情報の一部として出力することを特徴とするメモリ装置。
【請求項３１】
請求項１７に記載のメモリ装置において、
前記所要時間出力部は、前記書換え動作の所要時間を表す値を格納する格納レジスタを備え、ＣＰＵによるレジスタ読出しコマンドの発行に応じて前記格納レジスタの格納値を前記書換え動作の所要時間を示すデータとして出力することを特徴とするメモリ装置。
【請求項３２】
請求項１又は請求項１７に記載のメモリ装置と、
書換えコマンドを発行するＣＰＵとを備え、
前記メモリ装置が、前記ＣＰＵによる書換えコマンドの発行に応じて前記書換え動作を開始するメモリ内蔵システムにおける前記ＣＰＵの制御方法であって、
前記メモリ装置の所要時間出力部により出力された所要時間を表すデータを受けるステップと、
前記書換えコマンドの発行から前記所要時間が経過するまで、前記メモリ装置に対する書換え動作の完了確認以外の処理を実行するステップと、
前記書換えコマンドの発行から前記所要時間が経過した後、前記メモリ装置に対して書換え動作の完了を確認するステップとを前記ＣＰＵに実行させることを特徴とするＣＰＵの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ装置による書換え動作の所要時間を出力する技術に関するものである。
【背景技術】
【０００２】
非特許文献１は、ニューモニクス（numonyx（登録商標））のフラッシュメモリのデータシートである。このデータシートには、所定単位のデータの書込み時間及び消去時間の標準値及び最大値が掲載されている。
【０００３】
なお、特許文献１には、各アドレス毎に書込みを行い、ＰＲＯＭの先頭アドレスから最終アドレスまでの書込みに要する平均時間を算出する回路について開示されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】“NumonyxR Axcell? M29EW Datasheet: 256-Mbit, 512-Mbit, 1-Gbit, 2-Gbit (x8/x16, uniform block) 3 V supply flash memory (1MB, .pdf)”、［online］、［平成２２年４月２７日検索］、インターネット＜ＵＲＬ：http://www.numonyx.com/Documents/Datasheets/208045_M29EW_65nm_3V_2Gbit_Discrete.pdf＞
【特許文献】
【０００５】
【特許文献１】特開平３−２３０３９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、メモリにおいてデータ書込み時に動作する各種回路、トランジスタ及びメモリセルの特性には、製造工程中の様々な要因に起因して、チップによるばらつきがあり、実際の書込み時間及び消去時間にもチップによるばらつきがある。したがって、上記データシートに掲載された書き込み時間及び消去時間の標準値及び最大値が、実際の書き込み時間及び消去時間の標準値及び最大値とは異なるものとなるおそれがある。
【０００７】
しかし、チップ固有の書き込み時間及び消去時間を正しく取得することが必要とされる場合がある。例えば、メモリがデータの書換えを実行する場合には、そのデータ書換えが完了しているか否かをホストＣＰＵに適切なタイミングで確認させるために、メモリの正しい書き込み時間及び消去時間をホストＣＰＵに認識させる必要がある。
【０００８】
本発明は、上記の点に鑑み、チップ固有の書き込み時間及び消去時間を正しく取得することを目的とする。
【課題を解決するための手段】
【０００９】
上記の課題を解決するため、本発明の一態様は、第１の値及び第２の値のいずれかを記憶するメモリセルを複数備え、書換え電圧パルス印加とベリファイとを繰り返すことにより書換え動作を実現するメモリアレイを有するメモリ装置において、前記メモリアレイへの前記書換え電圧パルスの印加回数を格納する格納部と、前記格納部に格納された印加回数に基づいて、書換え動作の所要時間を表すデータを出力する所要時間出力部とを備えていることを特徴とする。
【００１０】
この態様によると、メモリ装置は、書換え電圧パルスの印加回数に基づいて書換え動作の所要時間を出力する。
【００１１】
また、本発明のもう一つの態様は、第１の値及び第２の値のいずれかを記憶するメモリセルを複数備え、書換え電圧パルス印加とベリファイとを繰り返すことにより書換え動作を実現するメモリアレイを有するメモリ装置において、前記書換え動作の所要時間を算出する所要時間出力部と、製造時からの書換え動作回数の複数の数値範囲と、各数値範囲に対応するパルス回数とを示すテーブルを格納するテーブル格納部とを備え、前記所要時間出力部は、所要時間算出対象の書換え動作が製造時から何回目の書換え動作であるかを示す回数値を含む数値範囲に前記テーブルにおいて対応付けられたパルス回数を特定し、特定したパルス回数に基づいて書換え動作の所要時間を算出し、当該所要時間を示すデータを出力することを特徴とする。
【００１２】
この態様によると、テーブルにおいて前記回数値に対応付けられたパルス回数に基づいて所要時間を算出するので、メモリ装置に固有のテーブルをテーブル格納部に格納することにより、メモリ装置の特性及び書換え回数に応じた正確な所要時間を得ることができる。
【００１３】
また、本発明のもう一つの態様は、書換え電圧パルス印加とベリファイとを繰り返すことにより書換え動作を実現するメモリアレイを有するメモリ装置において、書換え動作の所要時間を表すデータとしてチップ固有のデータを出力する所要時間出力部を備えていることを特徴とする。
【００１４】
この態様によると、チップ固有の書換え動作の所要時間を取得できる。
【発明の効果】
【００１５】
本発明により、チップ固有の書換え動作の所要時間を正しく取得することが可能になる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態１に係るメモリ内蔵システムの構成を示すブロック図である。
【図２】本発明の実施形態１に係るホストＣＰＵ及びメモリの動作を示すフローである。
【図３】本発明の実施形態１に係るメモリの構成を示すブロック図である。
【図４】本発明の実施形態１に係るメモリセルと、当該メモリセルのデータを読み出すためのセンスアンプとを示す回路図である。
【図５】本発明の実施形態１に係るメモリセルのしきい値電圧Vtの分布を示すグラフである。
【図６】本発明の実施形態１に係るメモリのデータの書込み動作を示すフローチャートである。
【図７】本発明の実施形態１に係るメモリのデータの消去動作を示すフローチャートである。
【図８】本発明の実施形態１に係るメモリアレイの構成を示すブロック図である。
【図９】本発明の実施形態１に係るメモリセルブロックに対する消去動作時におけるしきい値電圧Vtの分布の推移を例示するグラフである。
【図１０】本発明の実施形態１に係るパルスカウンターの構成を示すブロック図である。
【図１１】本発明の実施形態１に係る最大値記憶部の動作を示すフローチャートである。
【図１２】本発明の実施形態１に係る平均値記憶部の動作を示すフローチャートである。
【図１３】本発明の実施形態１に係るメモリの書換え処理を示すフローチャートである。
【図１４】本発明の実施形態１に係るメモリの書換え時間出力処理を示すフローチャートである。
【図１５】本発明の実施形態１に係るホストＣＰＵによる書換え時間出力コマンドの発行時にホストＣＰＵとメモリとの間で行われる信号の送受信動作を示すタイミングチャートである。
【図１６】本発明の実施形態１に係る書込み動作時において書込み対象のメモリセルに印加される電圧の波形を示す波形図である。
【図１７】データシートに記載された書換え時間の標準値に基づいて書換え完了時刻を設定する場合におけるホストＣＰＵ及びメモリの動作を例示するフローである。
【図１８】データシートに記載された書換え時間の標準値に基づいて書換え完了時刻を設定する場合におけるホストＣＰＵ及びメモリの動作を例示するフローである。
【図１９】本発明の実施形態２に係るパルス回数格納部、選択部、及び書換え時間算出部の構成を示すブロック図である。
【図２０】本発明の実施形態３に係るメモリの周辺温度と書換え時間との関係を例示するグラフである。
【図２１】本発明の実施形態４に係るメモリが書換え動作の完了毎に実行する動作を示すフローチャートである。
【図２２】本発明の実施形態４に係るメモリの書換え回数と書換えに要するパルス回数との関係を例示するグラフである。
【図２３】本発明の実施形態４に係る書換え時間算出部による書換え所要時間の算出方法を示すフローチャートである。
【図２４】本発明の実施形態５に係るメモリの構成を示すブロック図である。
【図２５】本発明の実施形態５に係る書換え時間算出部の動作を示すフローチャートである。
【図２６】本発明の実施形態５に係るテーブルにおけるパルス回数の設定方法を示すフローチャートである。
【図２７】本発明の実施形態５に係るメモリについて、Ｎ回目の書換え動作のパルス回数とゲート絶縁膜の膜厚との関係を例示するグラフである。
【図２８】本発明の実施形態５に係るメモリのパルス回数と書換え回数との関係を例示するグラフである。
【図２９】本発明の実施形態６に係るホストＣＰＵによる書込みコマンドの発行時にホストＣＰＵとメモリとの間で行われる信号の送受信動作を例示するタイミングチャートである。
【図３０】本発明の実施形態７に係るホストＣＰＵによるステータスレジスタ読出しコマンドの発行時にホストＣＰＵとメモリとの間で行われる信号の送受信動作を例示するタイミングチャートである。
【図３１】本発明の実施形態１の変形例に係るホストＣＰＵによる書換え時間出力コマンドの発行時にホストＣＰＵとメモリとの間で行われる信号の送受信動作を例示するタイミングチャートである。
【図３２】本発明の実施形態２、３の変形例に係るホストＣＰＵによる書換え時間出力コマンドの発行時にホストＣＰＵとメモリとの間で行われる信号の送受信動作を例示するタイミングチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態について、図面を参照して説明する。
【００１８】
《実施形態１》
＜システムの全体構成と動作概要＞
図１は、本発明の実施形態１に係るメモリ内蔵システム１００を示す。
【００１９】
メモリ内蔵システム１００は、ホストＣＰＵ１０１と、メモリ１０２とを備えている。メモリ１０２は、半導体集積回路（チップ）により構成されている。
【００２０】
ホストＣＰＵ１０１は、書換えコマンド及び書換え時間出力コマンドを発行する。
【００２１】
メモリ１０２は、ホストＣＰＵ１０１により発行された書換えコマンドを検知した場合にデータの書換えを実行する。また、メモリ１０２は、ホストＣＰＵ１０１により発行された書換え時間出力コマンドを検知した場合に、メモリ１０２内部で算出した書換え所要時間を出力する。なお、書換え所要時間の算出方法については後述する。
【００２２】
また、メモリ１０２は、書換え実行中（Busy状態）、書換え完了（Ready状態）、又は書換え失敗（Error状態）等を示すステータス（status）情報を出力する。ホストＣＰＵ１０１は、メモリ１０２により出力されたステータス情報に基づいて、待機等、書換え以外の複数の処理のうち、いずれの処理を実行するか判断する。
【００２３】
ここで、ホストＣＰＵ１０１及びメモリ１０２の動作について、図２のフローを参照して説明する。
【００２４】
まず、（Ｓ１００１）においてホストＣＰＵ１０１が書換え時間出力コマンドを発行すると、書換え時間出力コマンドをメモリ１０２が検知し、（Ｓ１００２）においてデータの書換えに要する書換え所要時間を出力する。次に、（Ｓ１００３）において、ホストＣＰＵ１０１がメモリ１０２により出力された書換え所要時間を受け取り、この書換え所要時間に基づく書換え完了時刻を設定した後、（Ｓ１００４）において書換えコマンドを発行する。この書換えコマンドをメモリ１０２が検知し、（Ｓ１００５）においてデータの書換えを開始する。メモリ１０２がデータの書換えを実行している間、（Ｓ１００６）においてホストＣＰＵ１０１が上記書換え所要時間に応じた別の処理を実行する。（Ｓ１００３）にて設定した書換え完了時刻になると、（Ｓ１００７）においてメモリ１０２が書換えを完了し、（Ｓ１００８）においてホストＣＰＵ１０１が、メモリ１０２により出力されているステータス情報を読み出して書換えの完了を確認し、（Ｓ１００９）において次の処理に進む。
【００２５】
＜メモリ１０２の構成と動作＞
図３は、メモリ１０２を示す。
【００２６】
メモリ１０２は、不揮発性フラッシュメモリ(Flash Electrically Erasable and Programmable Read Only Memory)であり、データ入力端子DI、データ出力端子DO、ステータス情報出力端子rdy/nbusy、メモリアレイ１０３、コマンドデコード部１０４、書換え制御部１０５、パルスカウンター１０６ａ、パルス回数格納レジスタ１０６ｂ、及び所要時間出力部１０７を備えている。
【００２７】
データ入力端子DIには、ホストＣＰＵ１０１により発行された書換えコマンド及び書換え時間出力コマンドが入力される。
【００２８】
メモリアレイ１０３は、マトリックス形状（行列状）に配置された複数のメモリセルを含む。以下、これら複数のメモリセルのうちの１つであり、ビット線BL0とビット線BL1とに接続されたメモリセル１０３ａのデータの読出し動作について、図４を参照して説明する。
【００２９】
メモリ１０２には、メモリセル１０３ａのデータを読み出すためのセンスアンプ１０３ｂが設けられている。センスアンプ１０３ｂは、メモリセル電流Ｉの有無に応じたビット線BL1の電圧と基準電圧線REFの基準電圧とを比較し、比較結果に応じて、１又は０をデータ出力Doutとして出力する。
【００３０】
つまり、メモリセル１０３ａのしきい値電圧Vtに応じて、データが１と０のいずれであるのかが判別される。詳しくは、図５に示すように、しきい値電圧Vtを範囲Ｒ１の高いレベルにした状態が消去状態（データ＝１（第１の値））、しきい値電圧Vtを範囲Ｒ２の低いレベルにした状態が書き込み状態（データ＝０（第２の値））とされ、範囲Ｒ１と範囲Ｒ２の中間レベルが読み出し動作時のゲート電圧VGに設定される。データ読み出し時にメモリセル１０３ａが消去状態である場合、ゲート電圧VGよりもしきい値電圧Vtが低いため、メモリセル１０３ａにメモリセル電流Ｉが流れる。一方、データ読み出し時にメモリセル１０３ａが書き込み状態である場合、ゲート電圧VGよりもしきい値電圧Vtが高いため、メモリセル１０３ａにメモリセル電流Ｉは流れない。
【００３１】
次に、メモリセルのデータの書換え動作について説明する。書換え動作は、メモリセルのしきい値電圧を上昇又は下降させる動作であり、書込み動作（第１の書換え動作）及び消去動作（第２の書換え動作）のいずれかの動作である。
【００３２】
図６は、メモリセルのデータの書込み動作を示すフローチャートである。
【００３３】
まず、書換え制御部１０５は、（Ｓ１１０１）においてメモリセルのゲートとドレインに正の高電圧を印加することにより、しきい値電圧Vtを上昇させる。次に、（Ｓ１１０２）において、メモリセルのゲート電圧を読出し動作時のゲート電圧VGよりも高いベリファイレベルVw（図５参照）に設定し、その後、前述の読出し動作と同様に、センスアンプ１０３ｂにより、メモリセルのしきい値電圧VtがベリファイレベルVwに達したか否かを判定する。メモリセルのしきい値電圧VtがベリファイレベルVwに達している場合には書込み動作を完了する一方、メモリセルのしきい値電圧VtがベリファイレベルVwに達していない場合には（Ｓ１１０１）の処理に戻る。
【００３４】
さらに、メモリセルのデータの消去動作について説明する。
【００３５】
図７は、メモリセルのデータの消去動作を示すフローチャートである。
【００３６】
まず、書換え制御部１０５は、（Ｓ１２０１）において、メモリセルのゲートに絶対値の大きい負の電圧、ドレインに正の高電圧を印加することにより、書込みによって捕獲された電子とホールとを結合させ、しきい値電圧Vtを下降させる。次に、（Ｓ１２０２）において、メモリセルのゲート電圧を読出し動作時のゲート電圧VGよりも低いベリファイレベルVE（図５参照）に設定し、その後、前述の読出し動作と同様に、センスアンプ１０３ｂにより、メモリセルのしきい値電圧VtがベリファイレベルVEに達したか否かを判定する。メモリセルのしきい値電圧VtがベリファイレベルVEに達している場合には書込み動作を完了する一方、メモリセルのしきい値電圧VtがベリファイレベルVEに達していない場合には（Ｓ１２０１）の処理に戻る。
【００３７】
ここで、メモリアレイ１０３は、図８に示すように、第１〜第４のメモリセルブロック（メモリセル群）１０３ｃ〜１０３ｆを含む。第１〜第４のメモリセルブロック１０３ｃ〜１０３ｆはそれぞれ、まとまった行列を構成する。各消去動作は、第１〜第４のメモリセルブロック１０３ｃ〜１０３ｆのうちの１つを対象として一括で行われる。したがって、消去対象のメモリセルブロック内の全てのメモリセルが（Ｓ１２０２）の判定をパスするまで、（Ｓ１２０１）→（Ｓ１２０２）の消去ルーチンが繰り返される。
【００３８】
図９は、あるメモリセルブロックに対する消去動作時におけるしきい値電圧Vtの分布の推移の例を示す。
【００３９】
メモリセルブロック内の全てのメモリセルがベリファイレベルVE以下になったときに消去動作が完了する。
【００４０】
コマンドデコード部１０４は、データ入力端子DIに入力される書換えコマンド及び書換え時間出力コマンドを受信してデコードし、デコード結果を出力する。
【００４１】
書換え制御部１０５は、コマンドデコード部１０４により出力されたデコード結果を検知し、コマンドデコード部１０４に書換えコマンドが入力されている場合には、メモリアレイ１０３に記憶されているデータの書換え処理を実行する。書換え制御部１０５は、書換え処理中、常に状態を監視し、現在の状態を示すステータス情報を出力する。
【００４２】
パルスカウンター１０６ａは、書込み時における書込みパルスの印加回数、及び消去時における消去パルスの印加回数をカウントする。具体的には、パルスカウンター１０６ａは、図１０に示すように、入力Ｄが１に固定された複数のＤフリップフロップ１０６ｃによって構成され、書込みパルス又は消去パルスが入力される。
【００４３】
パルス回数格納レジスタ１０６ｂには、書込み又は消去が完了した際に、パルスカウンター１０６ａのパルスカウント値が格納される。なお、パルス回数格納レジスタ１０６ｂは、不揮発性メモリによって構成されており、電源遮断後もパルスカウント値を保持できる。
【００４４】
パルスカウンター１０６ａのパルスカウント値は、書換え動作の開始時に０に初期化されるので、パルス回数格納レジスタ１０６ｂに格納される値は、書換え動作を開始してから完了するまでに要したパルス回数となる。つまり、格納される値は、書込み時においては、図６の（Ｓ１１０２）の判定をパスするまでの書込みパルスの印加回数、すなわち（Ｓ１１０１）の実行回数である。一方、消去時においては、図７の（Ｓ１２０２）の判定をパスするまでの消去パルスの印加回数、すなわち（Ｓ１２０１）の実行回数である。
【００４５】
パルス回数格納レジスタ１０６ｂには、書込みに要したパルス回数と消去に要したパルス回数とがそれぞれ独立して格納される。
【００４６】
所要時間出力部１０７は、最大値記憶部１０７ａ、最小値記憶部１０７ｂ、平均値記憶部１０７ｃ、書換え時間算出部１０７ｄ、及び出力部１０８を備えている。
【００４７】
最大値記憶部１０７ａは、所定回数の書込み動作についてパルス回数格納レジスタ１０６ｂに格納された格納値のうちの最大値を記憶する。前記所定回数は、１回であってもよいし複数回であってもよい。より詳しくは、最大値記憶部１０７ａは、直前カウント値レジスタと最大値レジスタと不揮発性メモリとを備えている。直前カウント値レジスタには、直前の書込み動作についてパルスカウンター１０６ａのカウントにより得られたカウント値が格納される。
【００４８】
ここで、最大値記憶部１０７ａの動作について図１１のフローチャートを参照して説明する。
【００４９】
まず、前記所定回数の書込みの開始前に、（Ｓ１３０１）において、最大値記憶部１０７ａは、最大値レジスタに初期値０を格納する。前記書込みの開始後には、（Ｓ１３０２）において書込み動作が行われた後、（Ｓ１３０３）において、直前の（Ｓ１３０２）の書込み動作についてパルスカウンター１０６ａのカウントにより得られたカウント値が直前カウント値レジスタに格納される。次に、（Ｓ１３０４）において、最大値記憶部１０７ａは、直前カウント値レジスタの格納値と最大値レジスタの格納値とを比較し、直前カウント値レジスタの格納値の方が大きい場合には処理が（Ｓ１３０５）に進む一方、最大値レジスタの格納値の方が大きい場合には処理が（Ｓ１３０６）に進む。（Ｓ１３０５）では、最大値記憶部１０７ａが直前カウント値レジスタの格納値を最大値レジスタに格納し、処理が（Ｓ１３０６）に進む。（Ｓ１３０６）では、最大値記憶部１０７ａが、前記所定回数の書込みが完了したか否かを判定し、完了している場合には処理が（Ｓ１３０７）に進む一方、完了していない場合には処理が（Ｓ１３０２）に戻る。（Ｓ１３０７）においては、最大値記憶部１０７ａが最大値レジスタの格納値を不揮発性メモリに格納し、処理が終了する。
【００５０】
なお、（Ｓ１３０１）において最大値レジスタに空白を意味する情報を格納し、（Ｓ１３０４）において最大値レジスタが空白を意味する情報であるか否かを判定し、空白を意味する情報である場合には処理を（Ｓ１３０５）に進めるようにしてもよい。
【００５１】
最小値記憶部１０７ｂは、所定回数の書込み動作についてパルス回数格納レジスタ１０６ｂに格納された格納値のうちの最小値を記憶する。より詳しくは、最小値記憶部１０７ｂは、直前カウント値レジスタと最小値レジスタと不揮発性メモリとを備えている。
最小値記憶部１０７ｂは、書込み動作が実行される毎に、最小値レジスタの格納値と直前カウント値レジスタの格納値とを比較し、直前カウント値レジスタの格納値の方が小さくなる場合に当該格納値を最小値レジスタに格納する。なお、最小値レジスタの初期値は、書込み動作に通常要するパルス回数よりも大きい値に設定される。  
【００５２】
平均値記憶部１０７ｃは、所定回数の書込み動作についてパルス回数格納レジスタ１０６ｂに格納された格納値の平均値を記憶する。平均値記憶部１０７ｃは、直前カウント値レジスタと、パルス回数格納レジスタ１０６ｂに格納される値の積算値を格納する積算値レジスタと、積算の開始から何回書込み動作が行われているかを示す値を格納する回数レジスタとを備えている。
【００５３】
ここで、平均値記憶部１０７ｃの動作について図１２のフローチャートを参照して説明する。
【００５４】
まず、（Ｓ１４０１）において、平均値記憶部１０７ｃは、すでに記憶している平均値と回数レジスタの格納値との積を積算値レジスタに格納する。次に（Ｓ１４０２）において、書込み動作が行われた後、（Ｓ１４０３）において、直前の（Ｓ１４０２）の書込み動作についてパルスカウンター１０６ａのカウントにより得られたカウント値が直前カウント値レジスタに格納される。次に、（Ｓ１４０４）において、平均値記憶部１０７ｃが、積算値レジスタの格納値と直前カウント値レジスタの格納値との和を積算値レジスタに格納するとともに、回数レジスタの格納値に１を加算する。（Ｓ１４０５）では、平均値記憶部１０７ｃが、前記所定回数の書込みが完了したか否かを判定し、完了している場合には処理が（Ｓ１４０６）に進む一方、完了していない場合には処理が（Ｓ１４０２）に戻る。（Ｓ１４０６）においては、平均値記憶部１０７ｃが、積算値レジスタの格納値を回数レジスタの格納値で割ることにより得られる商を、平均値レジスタに格納し、（Ｓ１４０７）においては、平均値記憶部１０７ｃが、平均値レジスタの格納値を不揮発性メモリに格納し、処理が終了する。
【００５５】
最大値記憶部１０７ａは消去動作に要したパルス回数（消去パルス印加回数）の最大値も、書込み動作に要した最大値と同様に記憶している。同様に、最小値記憶部１０７ｂも消去パルス印加回数の最小値を記憶し、平均値記憶部１０７ｃも、消去パルス印加回数の平均値を記憶している。最大値記憶部１０７ａ、最小値記憶部１０７ｂ、及び平均値記憶部１０７ｃによって記憶部１１０が構成される。
【００５６】
書換え時間算出部１０７ｄは、記憶部１１０に格納されたパルス回数に基づいて、データの書換え動作の所要時間（書換え所要時間）を算出する。この所要時間の算出処理は、所要時間出力部１０７がコマンドデコード部１０４により出力されたデコード結果を受け、コマンドデコード部１０４に書換え時間出力コマンドが入力されている場合に実行される。なお、所要時間の算出方法の詳細については、後述する。
【００５７】
出力部１０８は、コマンドデコード部１０４により出力されたデコード結果を受け、コマンドデコード部１０４に書換えコマンドが入力されている場合には書換え制御部１０５により出力されているステータス情報を出力する一方、コマンドデコード部１０４に書換え時間出力コマンドが入力されている場合には書換え時間算出部１０７ｄにより算出された書換え所要時間を出力する。
【００５８】
データ出力端子DOは、出力部１０８の出力をメモリ１０２の外部に出力する。
【００５９】
ステータス情報出力端子rdy/nbusyは、ステータス情報の一部をメモリ１０２の外部に出力する。
【００６０】
なお、パルスカウンター１０６ａと、パルス回数格納レジスタ１０６ｂと、最大値記憶部１０７ａ、最小値記憶部１０７ｂと、平均値記憶部１０７ｃとで、パルス回数格納部１０９が構成されている。
【００６１】
図１３は、メモリ１０２の書換え処理を示すフローチャートである。
【００６２】
メモリ１０２は、（Ｓ１５０１）においてホストＣＰＵ１０１により発行された書換えコマンドを受けると、（Ｓ１５０２）においてデータの書換えを実行する。その後、（Ｓ１５０３）において書換えが完了したことを示すステータス情報を出力し、（Ｓ１５０４）においてパルス回数格納レジスタ１０６ｂにパルスカウンター１０６ａのパルスカウント値を格納する。
【００６３】
図１４は、メモリ１０２の書換え時間出力処理を示すフローチャートである。
【００６４】
メモリ１０２は、（Ｓ１６０１）においてホストＣＰＵ１０１により発行された書換え時間出力コマンドを受けると、（Ｓ１６０２）において書換え時間算出部１０７ｄに書換え所要時間の算出を実行させ、（Ｓ１６０３）においてデータ出力端子DOから書換え時間算出部１０７ｄにより算出された書換え所要時間を出力する。
【００６５】
図１３の処理と図１４の処理とは、独立したフローとして実行される。つまり、データの書換え動作を伴わずに書換え時間算出部１０７ｄが記憶部１１０の値を読み出して書換え時間の算出を行うことができる。
【００６６】
また、最大値記憶部１０７ａ、最小値記憶部１０７ｂ、及び平均値記憶部１０７ｃへの値の格納は、検査工程中に行われる。これにより、メモリ１０２が、出荷後一度も書換え動作を実行していない状態であっても、最大値記憶部１０７ａ、最小値記憶部１０７ｂ、及び平均値記憶部１０７ｃに値をすでに保持しているので、初めて書換え動作を実施する前に書換え所要時間を出力することができる。
【００６７】
なお、用途に応じて、最大値記憶部１０７ａ、最小値記憶部１０７ｂ、及び平均値記憶部１０７ｃの格納値を随時更新するようにしてもよい。例えば、最大値記憶部１０７ａが、書換え動作が実行される毎に、図１１の（Ｓ１３０３）〜（Ｓ１３０５）の処理を実行するようにしてもよい。これにより、メモリ１０２が、書換えを繰り返す程１回あたりの所要時間が長くなる特性を有していても、より現状を反映したパルス回数を取得することができる。これと同様に、最小値、及び平均値も更新によって精度を高めることができる。また、メモリデバイスの特性やユーザの要求に応じて、必要なパルス回数を更新するようにしてもよい。
【００６８】
＜ホストＣＰＵ１０１の書換え所要時間受け取り時における動作＞
次に、ホストＣＰＵ１０１の書換え所要時間受け取り時における動作について説明する。
【００６９】
図１５は、ホストＣＰＵ１０１による書換え時間出力コマンドの発行時にホストＣＰＵ１０１とメモリ１０２との間で行われる信号の送受信動作を示す。
【００７０】
まず、１サイクル目には、ホストＣＰＵ１０１が書換え時間出力コマンドを示す値53hをデータバスDIOに出力し、メモリ１０２へのアクセス信号NCEとライトイネーブル信号NWEとしてＬ（Low）レベルを出力する。次に、２サイクル目において、ホストＣＰＵ１０１が、後述する所要時間パラメータを出力する。３サイクル目においては、ホストＣＰＵ１０１がライトイネーブル信号NWEをＨ（High）レベルにしたままアクセス信号NCEとしてＬ（Low）レベルを出力し、メモリ１０２が書換え時間算出部１０７ｄにより算出した書換え所要時間03E8hをデータバスDIOに出力する。ホストＣＰＵ１０１は、この書換え所要時間03E8hを取り込み、書換え完了時刻を設定する。
【００７１】
次の表１は、ホストＣＰＵ１０１により出力される所要時間パラメータを示す。
【００７２】
【表１】
2012027964.tif 000003
【００７３】
所要時間パラメータは、以下の情報を含む。
・何回目の書換え動作の所要時間を受け取るかを示す書換え回数情報
・どの程度の温度における書換え動作の所要時間を受け取るかを示す書換え温度情報
・１アドレスのメモリセルに対する１回の書換え動作の所要時間とメモリセルブロック（アドレス領域）全体の書換え動作の総所要時間とのいずれを受け取るかを示す書換え単位情報
・どのメモリセルブロック（アドレス領域）に対する書換え動作の所要時間を受け取るかを示す書換えアドレス情報
・秒の単位により表された所要時間、所要時間に対応するシステムクロック数、所要時間に対応するパルス回数値のいずれを受け取るかを示す出力フォーマット情報
・書込み所要時間と消去所要時間と消去動作及び書込動作の合計所要時間とのいずれを受け取るかを示す出力選択情報
また、ホストＣＰＵ１０１は、最大値記憶部１０７ａに記憶された最大値、最小値記憶部１０７ｂに記憶された最小値、及び平均値記憶部１０７ｃに記憶された平均値のいずれを用いて算出された所要時間を受け取るかを示す時間種別情報を、上記書換え単位情報の代わりに出力できる。例えば、値“００”の時間種別情報が上記最小値、値“０１”の時間種別情報が上記最大値、値“１０”の時間種別情報が上記平均値に対応するようにしてもよい。
【００７４】
＜書換え時間算出部１０７ｄによる所要時間の算出方法＞
次に、メモリ１０２の書換え時間算出部１０７ｄによる所要時間の算出方法について説明する。
【００７５】
書換え時間算出部１０７ｄは、出力選択情報が書込み所要時間を選択している場合には、記憶部１１０に記憶された書込みパルス印加回数の最大値、最小値、又は平均値に基づいて、書込み所要時間を算出する。また、書換え時間算出部１０７ｄは、出力選択情報が消去所要時間を選択している場合には、記憶部１１０に記憶された消去パルス印加回数の最大値、最小値、又は平均値に基づいて、消去所要時間を算出する。さらに、書換え時間算出部１０７ｄは、出力選択情報が合計所要時間を選択している場合には、記憶部１１０に記憶された書込みパルス印加回数の最大値、最小値、又は平均値と、消去パルス印加回数の最大値、最小値、又は平均値とに基づいて、合計所要時間を算出する。
【００７６】
図１６は、書込み動作時に書込み対象のメモリセルに印加される電圧の波形を示す。各記号の意味は以下の通りである。
【００７７】
・Ts：書込み動作開始に必要なメモリ周辺回路のセットアップ時間
・Tp：メモリセルに対して書込みパルスを印加している時間
・Tpv：書込みベリファイを実行している時間
・Th：書込み動作の完了に必要なメモリ周辺回路のホールド時間
・N：書込みパルス印加回数
なお、Nの値は、ホストＣＰＵ１０１により出力された時間種別情報が最小値を示している場合には、最小値記憶部１０７ｂに記憶された最小値、ホストＣＰＵ１０１により出力された時間種別情報が最大値を示している場合には、最大値記憶部１０７ａに記憶された最大値、ホストＣＰＵ１０１により出力された時間種別情報が平均値を示している場合には、平均値記憶部１０７ｃに記憶された平均値となる。
【００７８】
図１６の例において、上記メモリセル群全ての書込み完了に要した時間（Tprogram）は次の式により算出される。
【００７９】
（式）Tprogram＝Ts＋｛（Tp＋Tpv）×N｝＋Th
Ts,Tp,Tpv,Thの値は、ホストＣＰＵ１０１により出力された出力フォーマット情報に応じて切り替えられる。例えば、出力フォーマット情報が秒の単位を示している場合には、例えばμｓやｍｓといった秒単位でセットアップ時間を示す値にTsを設定する一方、出力フォーマット情報がシステムクロック数を示している場合には、セットアップ時間に対応するシステムクロック数にTsを設定する。Tp,Tpv,Thに関しても同様である。
【００８０】
また、出力フォーマット情報がパルス回数値を示している場合、書換え時間算出部１０７ｄは、パルス印加回数Ｎそのものを、書換え所要時間を示すデータとして出力する。この場合、Ts,Tp,Tpv,Thの値をあらかじめホストＣＰＵ１０１に提供しておき、それらの値を用いてホストＣＰＵ１０１が書換え所要時間に対応する秒数やシステムクロック数を算出するようにしてもよい。
【００８１】
また、Tes,Tep,Tepv,Teh,Nの値を以下のように設定することにより、消去時間（Terase）も同様に次の式により算出することができる。
【００８２】
（式）Terase＝Tes＋｛（Tep＋Tepv）×Ne｝＋Teh
・Tes：消去動作開始に必要なメモリ周辺回路のセットアップ時間
・Tep：メモリセルに対して消去パルスを印加している時間
・Tepv：消去ベリファイを実行している時間
・Teh：消去動作の完了に必要なメモリ周辺回路のホールド時間
・Ne：消去パルス印加回数
ここで、ホストＣＰＵ１０１が非特許文献１のようなデータシートに記載された書換え時間の標準値に基づいて書換え完了時刻を設定する場合を想定する。この場合、実際の書換え時間が上記標準値から大きく外れた値となるおそれがある。例えば、実際の書換え時間が上記標準値を大きく上回る場合、図１７に示すように、メモリ１０２が書換えを完了しているにもかかわらず、ホストＣＰＵ１０１がデータ書換えの完了を確認しないため、書換えの開始から書換え完了の確認までの書換え時間が必要以上に長くなるという問題が生じる。
【００８３】
また、ホストＣＰＵ１０１が書換え開始から定期的にステータス確認を実行するようにした場合、図１８に示すように、ホストＣＰＵ１０１はステータス確認を繰り返す必要が生じる。したがって、ホストＣＰＵ１０１の処理時間の増加、及びコードサイズの増大の問題が生じる。
【００８４】
本実施形態によると、メモリ１０２が、実際の書換え動作時にカウントを行うことにより電圧パルスの印加回数を取得し、この印加回数に基づいて書換え所要時間を出力するので、製造ばらつきがある場合でも、メモリ１０２（チップ、デバイス）固有の書換え所要時間を正しく取得できる。したがって、書換えの開始から書換え完了の確認までの書換え時間が短く抑えられるとともに、ホストＣＰＵ１０１の処理時間の増加、及びコードサイズの増大の問題が生じにくい。
【００８５】
また、フラッシュメモリに対する書込み動作と消去動作は、物理的メカニズムが互いに異なっており（電子の注入とホールの注入）、同時書込みと同時消去の実行対象メモリセル数が異なる場合もあるため、書込み時間と消去時間との間には大きな差がしばしば生じる。本実施形態によると、書込み時間と消去時間とを別個に算出するため、書込み時間と、消去時間と、書込み時間及び消去時間の合計とをそれぞれ正しく取得できる。
【００８６】
《実施形態２》
実施形態２に係るメモリ内蔵システム１００のメモリ１０２は、実施形態１のパルス回数格納部１０９に代えて、図１９に示すように、パルス回数格納部１０９と同じ構成をそれぞれ有する４つのパルス回数格納部２０９ａ〜２０９ｄと、選択部２１０とを備えている。
【００８７】
パルス回数格納部２０９ａのパルスカウンター１０６ａは、第１のメモリセルブロック１０３ｃに対する書込み時における書込みパルスの印加回数、及び第１のメモリセルブロック１０３ｃに対する消去時における消去パルスの印加回数をカウントする。
【００８８】
パルス回数格納部２０９ｂのパルスカウンター１０６ａは、第２のメモリセルブロック１０３ｄに対する書込み時における書込みパルスの印加回数、及び第２のメモリセルブロック１０３ｄに対する消去時における消去パルスの印加回数をカウントする。
【００８９】
パルス回数格納部２０９ｃのパルスカウンター１０６ａは、第３のメモリセルブロック１０３ｅに対する書込み時における書込みパルスの印加回数、及び第３のメモリセルブロック１０３ｅに対する消去時における消去パルスの印加回数をカウントする。
【００９０】
パルス回数格納部２０９ｄのパルスカウンター１０６ａは、第４のメモリセルブロック１０３ｆに対する書込み時における書込みパルスの印加回数、及び第４のメモリセルブロック１０３ｆに対する消去時における消去パルスの印加回数をカウントする。
【００９１】
選択部２１０は、パルス回数格納部２０９ａ〜２０９ｄのうちのいずれかに記憶された最大値、最小値及び平均値を、ホストＣＰＵ１０１により出力された書換えアドレス情報に基づいて選択して出力する。
【００９２】
書換え時間算出部１０７ｄは、選択部２１０により出力された最大値、最小値及び平均値のうち、ホストＣＰＵ１０１により出力された時間種別情報により指定された値を用いて、実施形態１と同じ方法で書換え所要時間を算出する。
【００９３】
本実施形態においても、最大値記憶部１０７ａ、最小値記憶部１０７ｂ、及び平均値記憶部１０７ｃへの値の格納は、パルス回数格納部２０９ａ〜２０９ｄ毎に検査工程中に行われる。
【００９４】
そのほかの構成は実施形態１と同じであるので、その説明を省略する。
【００９５】
ここで、検査工程時に、パルス回数格納部２０９ａ〜２０９ｄの平均値記憶部１０７ｃに以下の表２に示す値が平均値として記憶され、ホストＣＰＵ１０１により出力された時間種別情報により平均値が示されている場合について説明する。
【００９６】
【表２】
2012027964.tif 000004
【００９７】
このとき、Ts,ThがTp,Tpvに比べて相対的に非常に短く、Ts,Thを０とみなすとする。また、出力フォーマット情報により、秒の単位により書換え所要時間を表すことが指定されているものとする。また、書込みパルスの周期（Tp＋Tpv）を１秒とする。
【００９８】
ホストＣＰＵ１０１により出力された書換えアドレス情報が第１のメモリセルブロック１０３ｃを示している場合、選択部２１０は、パルス回数格納部２０９ａの平均値記憶部１０７ｃに記憶された平均値１２を選択して出力する。したがって、書換え時間算出部１０７ｄにより算出される書込み所要時間は、１秒×１２回＝１２秒となる。  
【００９９】
ホストＣＰＵ１０１により出力された書換えアドレス情報が第２のメモリセルブロック１０３ｄを示している場合、選択部２１０は、パルス回数格納部２０９ｂの平均値記憶部１０７ｃに記憶された平均値１１を選択して出力する。したがって、書換え時間算出部１０７ｄにより算出される書込み所要時間は、１秒×１１回＝１１秒となる。
【０１００】
本実施形態によると、実際に取得したブロック毎のパルス印加回数に基づいて書換え所要時間を算出するので、表２の例のように、メモリセルの特性にばらつきがあり、アドレスに応じてパルス印加回数が変動し、メモリセルブロック間で書換え所要時間に差が生じる場合でも、書換え所要時間を正しく取得できる。
【０１０１】
《実施形態２の変形例》
実施形態２の変形例に係るメモリ内蔵システム１００では、メモリ１０２が、第１〜第４の温度帯における書換え動作について、パルスカウンター１０６ａによってカウントされたパルス回数の最大値、最小値及び平均値を保持する。
【０１０２】
詳しくは、パルス回数格納部２０９ａのパルスカウンター１０６ａは、周辺温度が第１の温度帯に含まれる場合の書込み時における書込みパルスの印加回数、及び周辺温度が第１の温度帯に含まれる場合の消去時における消去パルスの印加回数をカウントする。
【０１０３】
パルス回数格納部２０９ｂのパルスカウンター１０６ａは、周辺温度が第２の温度帯に含まれる場合の書込み時における書込みパルスの印加回数、及び周辺温度が第２の温度帯に含まれる場合の消去時における消去パルスの印加回数をカウントする。
【０１０４】
パルス回数格納部２０９ｃのパルスカウンター１０６ａは、周辺温度が第３の温度帯に含まれる場合の書込み時における書込みパルスの印加回数、及び周辺温度が第３の温度帯に含まれる場合の消去時における消去パルスの印加回数をカウントする。
【０１０５】
パルス回数格納部２０９ｄのパルスカウンター１０６ａは、周辺温度が第４の温度帯に含まれる場合の書込み時における書込みパルスの印加回数、及び周辺温度が第４の温度帯に含まれる場合の消去時における消去パルスの印加回数をカウントする。
【０１０６】
選択部２１０は、パルス回数格納部２０９ａ〜２０９ｄのうちのいずれかに記憶された最大値、最小値及び平均値を、ホストＣＰＵ１０１により出力された書換え温度情報に基づいて選択して出力する。すなわち、書換え温度情報により示される温度が第１の温度帯に含まれる場合には、パルス回数格納部２０９ａに記憶された最大値、最小値及び平均値を選択し、書換え温度情報により示される温度が第２の温度帯に含まれる場合には、パルス回数格納部２０９ｂに記憶された最大値、最小値及び平均値を選択し、書換え温度情報により示される温度が第３の温度帯に含まれる場合には、パルス回数格納部２０９ｃに記憶された最大値、最小値及び平均値を選択し、書換え温度情報により示される温度が第４の温度帯に含まれる場合には、パルス回数格納部２０９ｄに記憶された最大値、最小値及び平均値を選択する。
【０１０７】
そのほかの構成は実施形態２と同じであるので、その説明を省略する。
【０１０８】
本変形例によると、実際に取得した温度帯毎のパルス印加回数に基づいて書換え所要時間を算出するので、周辺温度に応じてパルス印加回数が変動する場合でも、書換え所要時間を正しく取得できる。  
【０１０９】
《実施形態３》
実施形態３では、書換え時間算出部１０７ｄが、ホストＣＰＵ１０１により出力された書換え温度情報に基づいて所要時間を算出する。
【０１１０】
詳しくは、書換え時間算出部１０７ｄは、以下の式によって上記メモリセル群全ての書込み完了に要した時間（Tprogram）を算出する。       
【０１１１】
（式）Tprogram＝Ts＋｛（Tp＋Tpv）×N×Kth｝＋Th
上記式において、Kthは、温度補正係数であり、例えば以下の表３に基づいて設定される。
【０１１２】
【表３】
2012027964.tif 000005
【０１１３】
また、消去時間（Terase）も同様に以下の式により算出することができる。
【０１１４】
（式）Terase＝Tes＋｛（Tep＋Tepv）×Ne×Kth｝＋Teh
温度補正係数は、あらかじめメモリセル１０３ａの温度依存性評価等により求められ、書換え温度情報に基づき、表３に示す所定の温度補正係数値を書換え時間算出部１０７ｄで用いて算出するよう構成されている。
【０１１５】
そのほかの構成は実施形態１と同じであるので、その説明を省略する。
【０１１６】
ここで、ホストＣＰＵ１０１により出力された書換え温度情報により１００℃が示され、時間種別情報により平均値が示され、かつ出力フォーマット情報により、書換え所要時間を秒の単位により表すことが指定されている場合について説明する。なお、Ts,ThがTp,Tpvに比べて相対的に非常に短く、Ts,Thを０とみなすとする。また、また、書込みパルスの周期（Tp＋Tpv）を１秒とする。
【０１１７】
この場合、平均値記憶部１０７ｃに記憶されている値が１０回であるとすると、書換え時間算出部１０７ｄにより算出される書込み所要時間は、１秒×１０回×１．１（温度補正係数）＝１１秒となる。
【０１１８】
図２０は、周辺温度と書換え時間との関係を例示する。
【０１１９】
この例では、書換え時間が、周辺温度−４０℃では９秒、２５℃では１０秒、１００℃では１１秒となっている。このように、周辺温度によって書換え時間が変動する場合、書換え時間算出部１０７ｄにより算出された所要時間と実際に要する書換え時間との間に大きな差が生じる可能性がある。例えば、記憶部１１０に記憶されている最大値、最小値、及び平均値が周辺温度が２５℃のときの書換えにより得られたものである場合、周辺温度が１００℃のときの書換え所要時間を記憶部１１０に記憶されている最大値、最小値、又は平均値を使用して算出すると、算出によって得られる書換え所要時間は、実際に要する時間とは大きく異なる値になる。
【０１２０】
本実施形態によると、書換え温度情報に基づいて書換え所要時間を算出するので、記憶部１１０に記憶されている値の取得時における周辺温度が書換え温度情報により示される周辺温度と異なっていても、書換え温度情報により示される周辺温度に固有の書換え所要時間を正しく取得できる。また、実施形態２の変形例に比べ、パルス回数格納部を温度帯の個数分設ける必要がないので、回路面積を削減できる。
【０１２１】
《実施形態３の変形例１》
また、実施形態３の変形例１に係るメモリ内蔵システム１００では、書換え時間算出部１０７ｄが、書換え温度情報に代えて、ホストＣＰＵ１０１により出力された書換えアドレス情報に基づいて書換え所要時間を算出する。
【０１２２】
詳しくは、書換え時間算出部１０７ｄが、書換え時間のアドレス依存性評価によりあらかじめ定められたメモリセルブロック毎のアドレス補正係数Kadを用いて、次の式によって上記メモリセル群全ての書込み完了に要した時間（Tprogram）を算出する。
【０１２３】
（式）Tprogram＝Ts＋｛（Tp＋Tpv）×N×Kad｝＋Th
この場合、消去時間（Terase）も同様に以下の式により算出することができる。
【０１２４】
（式）Terase＝Tes＋｛（Tep＋Tepv）×Ne×Kad｝＋Teh
そのほかの構成は実施形態３と同じであるので、その説明を省略する。
【０１２５】
本変形例によると、書換えアドレス情報に基づいて書換え所要時間を算出するので、メモリセルブロック間で書換え所要時間に差が生じている場合でも、書換え動作の対象メモリセルのアドレス（書換え動作の対象メモリセルがいずれのメモリセルブロックに属するかを示すアドレス）に固有の書換え所要時間を正しく取得できる。また、実施形態２に比べ、パルス回数格納部をメモリセルブロックの個数分設ける必要がないので、回路面積を削減できる。
【０１２６】
《実施形態３の変形例２》
また、実施形態３の変形例２に係るメモリ内蔵システム１００では、書換え時間算出部１０７ｄが、書換え温度情報に代えて、書込みデータパターンに基づいて書換え所要時間を算出する。書換え時間は、消去状態から書込み状態に反転させるビットが多いほど長くなる。したがって、書換え時間算出部１０７ｄは、書込みデータビット数が多くなるほど大きくなる係数Kdataを用いて、次の式によって上記メモリセル群全ての書込み完了に要する時間（Tprogram）を算出する。
【０１２７】
（式）Tprogram＝Ts＋｛（Tp＋Tpv）×N×Kdata｝＋Th
この場合、消去時間（Terase）も同様に以下の式により算出することができる。
【０１２８】
（式）Terase＝Tes＋｛（Tep＋Tepv）×Ne×Kdata｝＋Teh
そのほかの構成は実施形態３と同じであるので、その説明を省略する。
【０１２９】
本変形例によると、書込みデータパターンに基づいて書換え所要時間を算出するので、書換え動作対象となる書込みデータパターンに固有の書換え所要時間を正しく取得できる。
【０１３０】
《実施形態４》
実施形態４では、メモリ１０２において、書換え動作を完了する毎に、図２１のフローチャートが実行される。
【０１３１】
（Ｓ４００１）においてメモリ１０２による書換え動作が完了すると、まず、（Ｓ４００２）において、書換え時間算出部１０７ｄが、（Ｓ４００１）で完了した書換え動作（直前の書換え動作）についてパルスカウンター１０６ａのカウントにより得られたカウント値をａとする。次に、（Ｓ４００３）において、書換え時間算出部１０７ｄは、直前の書換え動作よりも前に完了した所定の書換え動作についてパルスカウンター１０６ａのカウントにより得られたカウント値ｂと上記ａとの差分をｄとする。次に、（Ｓ４００４）において、書換え時間算出部１０７ｄは、ｄが所定のしきい値よりも大きいか否かを判定し、ｄが所定のしきい値よりも大きい場合には（Ｓ４００５）において劣化検知フラグを１にする（立てる）一方、ｄが所定のしきい値以下である場合には処理が終了する。
【０１３２】
図２２は、書換え回数と書換えに要するパルス回数との関係を例示する。図２２の例では、書換え回数が１０３回よりも多い場合に、書換え回数の増加に伴ってパルス回数が急激に増加する傾向がある。この傾向は、メモリセル１０３ａの劣化に起因するものである。書換え回数と書換えに要するパルス回数とが、図２２の関係を有する場合には、（Ｓ４００４）におけるしきい値を書換え回数が１０３回のときのパルス回数値に設定する。
【０１３３】
次に、書換え時間算出部１０７ｄによる所要時間の算出方法について、図２３のフローチャートを参照して説明する。
【０１３４】
まず（Ｓ４１０１）において、ホストＣＰＵ１０１により書換え時間出力コマンドが発行されると、（Ｓ４１０２）において、書換え時間算出部１０７ｄが、実施形態１の方法により書換え時間（Tprogram,Terase）を算出し、算出した書換え時間を変数outに格納する。次に、（Ｓ４１０３）において書換え時間算出部１０７ｄが劣化検知フラグが１であるか否かを判定し、劣化検知フラグが１である場合には（Ｓ４１０４）の処理に進む一方、劣化検知フラグが０でない場合には、（Ｓ４１０５）の処理に進む。（Ｓ４１０４）においては、変数outにオフセット値を加算してから（Ｓ４１０５）の処理に進む。（Ｓ４１０５）においては、変数outの値を書換えに必要な所要時間として出力し、処理が終了する。
【０１３５】
そのほかの構成は実施形態１と同じであるので、その説明を省略する。
【０１３６】
なお、劣化検知フラグの代わりに、３段階以上の劣化の度合を表す複数ビットの劣化度合信号が保持され、この劣化度合信号の値に応じて書換え時間算出部１０７ｄによる所要時間の算出方法が切り替えられるようにしてもよい。
【０１３７】
また、本実施形態では、（Ｓ４１０４）において、変数outにオフセット値を加算したが、（Ｓ４１０４）における演算は、所定の係数の乗算、加算と乗算を組み合せた演算、又はその他の関数による演算であってもよい。
【０１３８】
本実施形態によると、実施形態１と同じ効果が得られるとともに、書換え回数に応じた書換え時間の変化を考慮して書換え所要時間を算出するので、より正確な書換え所要時間が得られる。
【０１３９】
《実施形態５》  
実施形態５に係るメモリ内蔵システム１００は、実施形態１のメモリ１０２に代えて、メモリ５０２を備えている。メモリ５０２は、図２４に示すように、実施形態１のメモリ１０２の構成に加え、テーブル格納部５１１を備えているとともに、実施形態１の所要時間出力部１０７に代えて、所要時間出力部５０７を備えている。
【０１４０】
テーブル格納部５１１は、書換え回数とパルス回数との対応関係を示したテーブルを格納している。以下の表４は、このテーブル格納部５１１に格納されるテーブルの例を示す。表４のテーブルは、書換え回数の３つの数値範囲と、各数値範囲に対応するパルス回数とを示している。数値範囲C0〜D0に対応するパルス回数はT0、数値範囲C1〜D1に対応するパルス回数はT1、C2〜D2に対応するパルス回数はT2となっている。
【０１４１】
【表４】
2012027964.tif 000006
【０１４２】
所要時間出力部５０７は、書換え時間算出部１０７ｄに代えて書換え時間算出部５０７ｄを備えている点で実施形態１の所要時間出力部１０７と異なっている。
【０１４３】
書換え時間算出部５０７ｄは、実施形態１の所要時間算出処理、すなわち、最大値記憶部１０７ａ、最小値記憶部１０７ｂ、及び平均値記憶部１０７ｃのうちの１つに記憶された値を用いた算出処理に加え、テーブル格納部５１１に格納されたテーブルを用いた以下の算出処理を実行できる。実施形態１の算出処理と、上記テーブルを用いた算出処理のいずれを実行するかは、例えば、ホストＣＰＵ１０１によって出力される制御信号に基づいて決定される。
【０１４４】
書換え時間算出部５０７ｄは、ホストＣＰＵ１０１によって出力された書換え回数情報を受け、当該書換え回数情報により示される回数を含む数値範囲を特定する。そして、特定した数値範囲に前記テーブルにおいて対応付けられたパルス回数をさらに特定し、特定したパルス回数に基づいて書換え所要時間を算出する。
【０１４５】
図２５は、書換え時間算出部５０７ｄの動作を示すフローチャートである。
【０１４６】
まず、書換え時間算出部５０７ｄは、（Ｓ５００１）においてホストＣＰＵ１０１によって出力された書換え回数情報を受信する。次に、（Ｓ５００２）において、（Ｓ５００１）で受信した書換え回数情報により示される回数がD0以下C0以上の数値範囲に含まれるか否かを判定し、含まれる場合には（Ｓ５００３）の処理に進む一方、含まれない場合には（Ｓ５００４）の処理に進む。（Ｓ５００３）においては、D0以下C0以上の数値範囲に前記テーブルにおいて対応付けられたパルス回数T0をoutとし、（Ｓ５００７）の処理に進む。（Ｓ５００４）においては、（Ｓ５００１）で受信した書換え回数情報により示される回数がD1以下C1以上の数値範囲に含まれるか否かを判定し、含まれる場合には（Ｓ５００５）の処理に進む一方、含まれない場合には（Ｓ５００６）の処理に進む。（Ｓ５００５）においては、D1以下C1以上の数値範囲に前記テーブルにおいて対応付けられたパルス回数T1をoutとし、（Ｓ５００７）の処理に進む。（Ｓ５００６）においては、D2以下C2以上の数値範囲に前記テーブルにおいて対応付けられたパルス回数T2をoutとし、（Ｓ５００７）の処理に進む。（Ｓ５００７）においては、パルス回数outに基づいて書換え所要時間を算出する。
【０１４７】
図２６は、テーブル格納部５１１に格納されるテーブルにおけるパルス回数の設定方法を示す。
【０１４８】
（Ｓ５１０１）において、あらかじめ同じ製造手段を用いて製造された複数のメモリ１０２について、ゲート酸化膜の膜厚と、Ｎ回書換え後のパルス回数の値を取得し、それらのデータに基づいて、ゲート酸化膜厚とパルス回数の関係式ｆを算出する。図２７は、Ｎ回目の書換え動作のパルス回数とゲート絶縁膜の膜厚との関係を例示する。次に、（Ｓ５１０２）において、テーブル設定対象のメモリ１０２のゲート絶縁膜の膜厚を検査時に計測する。そして、（Ｓ５１０３）において、（Ｓ５１０１）で取得した関係式ｆと（Ｓ５１０２）で計測した膜厚とに基づいて、テーブル設定対象のメモリ１０２のＮ回目の書換え動作のパルス回数を算出する。そして、算出したパルス回数を、Ｎ回を含む数値範囲に対応するパルス回数として設定する。
【０１４９】
そのほかの構成及び動作は、実施形態１と同じであるので、その説明を省略する。
【０１５０】
一般的に、フラッシュメモリを構成するトランジスタは、書換え動作の繰り返しにより劣化するので、フラッシュメモリの書換え所要時間は書換え回数に応じて変化する。図２８は、パルス回数と書換え回数との関係を例示するグラフである。図２８では、書換え回数が１０３回を超えると、パルス回数が増加し始め、書換え回数が１０５回に近づくにつれてその増加が急速になっている。
【０１５１】
本実施形態によると、テーブルをメモリ１０２（チップ）毎に設定し、テーブルにおいて書換え回数に対応付けられたパルス回数に基づいて書換え所要時間を算出するので、各メモリ１０２の特性及び書換え回数に応じた正確な書換え所要時間が得られる。
【０１５２】
《実施形態６》
実施形態６に係るメモリ内蔵システム１００では、ホストＣＰＵ１０１が書換えコマンドを発行するのに応じて、メモリ１０２が書換え時間算出部１０７ｄによる書換え所要時間の算出を実行し、書換えステータス(Status)情報の一部としてデータバス（端子）DIOに書換え所要時間を出力するとともに、データの書換えを開始する。一方、ホストＣＰＵ１０１は、メモリ１０２により出力された書換え所要時間を受け取り、この書換え所要時間に基づく書換え完了時刻を設定する。そして、設定した書換え完了時刻までは書換え完了の確認以外の処理を実行し、書換え完了時刻到達後に書換え完了を確認する。
【０１５３】
上記書換えステータス情報は、１６ビットの情報であり、その内訳は以下の表５に示す通りである。
【０１５４】
【表５】
2012027964.tif 000007
【０１５５】
書込み完了の確認にはDIO[6]に出力されるトグル(Toggle)ビット又はDIO[7]に出力されるポーリング(Polling)ビットが用いられる。書換え所要時間を示す値は、DIO[15:8]に出力される。
【０１５６】
図２９は、ホストＣＰＵ１０１による書込みコマンドの発行時にホストＣＰＵ１０１とメモリ１０２との間で行われる信号の送受信動作を例示する。
【０１５７】
まず、ホストＣＰＵ１０１が書込みコマンドを示す値A0hをデータバス（端子）DIOに出力し、メモリ１０２へのアクセス信号NCEとライトイネーブル信号NWEとしてＬレベルを出力する。これにより、メモリ１０２は、書込み実行状態となり、rdy/nbsy端子に実行中を示すＬレベルを出力する。次に、rdy/nbsy端子がＬレベルに維持されている間に、ホストＣＰＵ１０１がライトイネーブル信号NWEをＨレベルにしたままアクセス信号NCEをＬレベルにする。これに応じて、メモリ１０２がデータバスDIOに書換えステータス情報として値0A80hを出力する。
【０１５８】
以上、書込みコマンドの発行時における信号の送受信動作について説明したが、消去コマンドの発行時においても同様に信号が送受信される。
【０１５９】
そのほかの構成及び動作は、実施形態１と同じであるので、その説明を省略する。
【０１６０】
本実施形態によると、書換え時にホストＣＰＵ１０１が実施形態１の書換え時間出力コマンドのような特別なコマンドを発行することなく、書換え所要時間をメモリ１０２から受信することができる。したがって、ホストＣＰＵ１０１のＣＰＵ制御プログラムを簡素化できる。
【０１６１】
また、本実施形態の特徴は、実施形態２〜５及びそれらの変形例にも適用できる。
《実施形態７》
実施形態７に係るメモリ内蔵システム１００では、ホストＣＰＵ１０１がステータスレジスタ(Status Register)読出しコマンドを発行する。
【０１６２】
また、メモリ１０２の書換え時間算出部１０７ｄが、ステータスレジスタを備えている。ステータスレジスタは、書換えステータス情報と、書込み所要時間(Program Time)と、消去所要時間(Erase Time)とを格納している。ステータスレジスタは、次の表６に示すように、アドレス入力AINが00hである場合には書換えステータス情報を出力し、アドレス入力AINが01hである場合には書込み所要時間を出力し、アドレス入力AINが02hである場合には消去所要時間を出力する。なお、本実施形態においてステータスレジスタに格納される書換え所要時間は、１回の書換えコマンドに対する書込み動作の所要時間である。
【０１６３】
【表６】
2012027964.tif 000008
【０１６４】
ステータスレジスタに最初に格納される値は、製造過程の検査工程で測定されたパルス回数（最大値、最小値、又は平均値）に基づいて算出された書換え所要時間である。したがって、出荷後の初めての書換え動作の前には、初期状態での書換え所要時間（検査工程における測定結果に基づく書換え所要時間）をステータスレジスタに出力させることができる。また、出荷後、書換え動作が行われたときにステータスレジスタの格納値が更新される。
【０１６５】
図３０は、ホストＣＰＵ１０１によるステータスレジスタ読出しコマンドの発行時にホストＣＰＵ１０１とメモリ１０２との間で行われる信号の送受信動作を例示する。
【０１６６】
まず、ホストＣＰＵ１０１がステータスレジスタ読出しコマンドを示す値00B1hをデータバスDIOに出力し、メモリ１０２へのアクセス信号NCEとライトイネーブル信号NWEとしてＬレベルを出力する。これにより、メモリ１０２は、ステータスレジスタリードモード（read mode）となる。所定時間経過後、ホストＣＰＵ１０１は、アクセス信号NCEとライトイネーブル信号NWEとをＨレベルにする。次に、ホストＣＰＵ１０１が、00h、01h、又は02hをアドレス入力AINとして出力し、この状態でライトイネーブル信号NWEをＨレベルにしたままアクセス信号NCEをＬレベルにする。これに応じて、メモリ１０２がデータバスDIOにステータスレジスタの格納値（図３０の例では0A80h）を出力する。
【０１６７】
そのほかの構成及び動作は、実施形態１と同じであるので、その説明を省略する。
【０１６８】
本実施形態によると、ホストＣＰＵ１０１は、アドレス入力AINに所定の値を出力してステータスレジスタの読み出しを行うことにより、書換え所要時間を容易にかつ自由に得ることができる。また、１回のコマンド発行により、書込み所要時間と消去所要時間との両方を得ることができる。
【０１６９】
なお、ステータスレジスタが、１回の書換えコマンドに対する書換え動作の所要時間に加え、１アドレスに対応する書込み動作（Word Program）の所要時間、複数アドレスに対応する書込み動作(Write Buffer Program)の所要時間等、他の単位のデータの書込み所要時間をさらに格納し、この書込み所要時間をアドレス入力AINによる特定により出力できるようにしてもよい。
【０１７０】
また、本実施形態の特徴は、実施形態２〜５及びそれらの変形例にも適用できる。
【０１７１】
なお、上記実施形態１〜７において、メモリ１０２の書換え時間算出部１０７ｄは、算出した書換え所要時間を秒又はシステムクロック数で表すデータを出力した。しかし、以下の表７に示すように、書換え所要時間を含む数値範囲を特定するデータを出力するようにしてもよい。
【０１７２】
【表７】
2012027964.tif 000009
【０１７３】
また、上記実施形態１において、ホストＣＰＵ１０１により所要時間パラメータが出力されないようにしてもよい。このようにした場合、ホストＣＰＵ１０１による書換え時間出力コマンドの発行時にホストＣＰＵ１０１とメモリ１０２との間で行われる信号の送受信動作は、例えば図３１に示すようになる。
【０１７４】
図３１では、まず、ホストＣＰＵ１０１が書換え時間出力コマンドを示す値53hをデータバスDIOに出力し、メモリへのアクセス信号NCEとライトイネーブル信号NWEとしてＬレベルを出力する。所定時間経過後、ホストＣＰＵ１０１は、アクセス信号NCEとライトイネーブル信号NWEとをＨレベルにする。次に、ホストＣＰＵ１０１が、ライトイネーブル信号NWEをＨレベルにしたままアクセス信号NCEとしてＬレベルを出力し、メモリ１０２が書換え時間算出部１０７ｄにより算出した書換え所要時間03E8hをデータバスDIOに出力する。
【０１７５】
また、上記実施形態２と実施形態３の変形例１とにおいても、ホストＣＰＵ１０１が所要時間パラメータを出力しないようにしてもよい。このようにした場合、ホストＣＰＵ１０１による書換え時間出力コマンドの発行時にホストＣＰＵ１０１とメモリ１０２との間で行われる信号の送受信動作は、例えば図３２に示すようになる。
【０１７６】
図３２では、ホストＣＰＵ１０１が書換え時間出力コマンドの発行時に、書換え所要時間を得たい領域を示すアドレス入力ＡＩＮとして、08000hを出力する。このアドレス入力ＡＩＮを受け、メモリ１０２は、アドレスに応じた書換え所要時間を出力できる。
【０１７７】
また、上記実施形態１〜７及びそれらの変形例では、Ｄフリップフロップ１０６ｃによって構成されたパルスカウンターによりパルス回数をカウントしたが、マイクロコントローラにソフトウェアプログラムを実行させることによりパルス回数のカウント、及びパルス回数格納レジスタ１０６ｂへのカウント値の格納を行ってもよい。
【０１７８】
また、メモリ１０２は、不揮発性フラッシュメモリに限らず、ＥＥＰＲＯＭ(Electrically Erasable Programmable Read Only Memory)やＦｅＲＡＭ(Ferroelectric Random Access Memory)等、他のメモリであってもよい。
【０１７９】
また、上記実施形態１〜７及びそれらの変形例では、メモリ１０２が、パルス回数の最大値、最小値、及び平均値のうちのいずれか１つを用いて算出した所要時間を出力するようになっていた。しかし、メモリ１０２が、最大値を用いて算出した所要時間、最小値を用いて算出した所要時間、及び平均値を用いて算出した所要時間のうちの２つ又は３つを出力し、ホストＣＰＵ１０１がいずれかを選択して使用するようにしてもよい。
【０１８０】
また、上記実施形態１〜７及びそれらの変形例では、各チップについて書換え動作時に実際にカウントを行うことによりパルス回数を設定している。しかし、ロットやウエハ毎にサンプルを抜き取り、抜き取ったサンプルについて実際にカウントを行ってパルス回数を取得し、取得したパルス回数を各ロットやウエハに含まれる全チップ、又はそれらの周辺のチップに設定するようにしてもよい。また、ＰＣＭ（pulse code modulation）等の測定結果とパルス回数との関係を導き出し、この関係と実際の測定結果とに基づいてパルス回数を生産時に算出して設定するようにしてもよい。
【産業上の利用可能性】
【０１８１】
本発明に係るメモリ装置及びＣＰＵの制御方法は、メモリ装置による書換え動作の所要時間を出力する技術として有用であり、例えば、互いに異なる仕様の複数のメモリを使用するＳＤカード、ＵＳＢメモリ等の記憶メディア、及び車載用途のシステム等、周辺温度の大きく変動するシステムに適用できる。
【符号の説明】
【０１８２】
１００    メモリ内蔵システム
１０１    ホストＣＰＵ（ＣＰＵ）
１０２    メモリ（メモリ装置）
１０３    メモリアレイ
１０３ａ  メモリセル
１０６ａ  パルスカウンター
１０６ｂ  パルス回数格納レジスタ（格納部） 
１０７    所要時間出力部
１１０    記憶部
２０６    格納部
【図１】
2012027964.tif 000010
【図２】
2012027964.tif 000011
【図３】
2012027964.tif 000012
【図４】
2012027964.tif 000013
【図５】
2012027964.tif 000014
【図６】
2012027964.tif 000015
【図７】
2012027964.tif 000016
【図８】
2012027964.tif 000017
【図９】
2012027964.tif 000018
【図１０】
2012027964.tif 000019
【図１１】
2012027964.tif 000020
【図１２】
2012027964.tif 000021
【図１３】
2012027964.tif 000022
【図１４】
2012027964.tif 000023
【図１５】
2012027964.tif 000024
【図１６】
2012027964.tif 000025
【図１７】
2012027964.tif 000026
【図１８】
2012027964.tif 000027
【図１９】
2012027964.tif 000028
【図２０】
2012027964.tif 000029
【図２１】
2012027964.tif 000030
【図２２】
2012027964.tif 000031
【図２３】
2012027964.tif 000032
【図２４】
2012027964.tif 000033
【図２５】
2012027964.tif 000034
【図２６】
2012027964.tif 000035
【図２７】
2012027964.tif 000036
【図２８】
2012027964.tif 000037
【図２９】
2012027964.tif 000038
【図３０】
2012027964.tif 000039
【図３１】
2012027964.tif 000040
【図３２】
2012027964.tif 000041