(57)【要約】【課題】不揮発性メモリの速度バラツキは、プロセス条件等により変動する。そのため、均一な速度性能の維持は困難である。【解決手段】不揮発性メモリと、不揮発性メモリの制御を行うメモリコントローラと、内部発振器と、所定回数分のアクセスビジー時間を格納する測定情報テーブルと、所定のアクセスビジー時間からの差分時間情報と、内部発振器の初期設定周波数からの差分周波数情報とが対応付けられた規定値テーブルとを備え、メモリコントローラは、データの書込み時のアクセスビジー時間を所定回数計測し、測定情報テーブルに格納し、前記測定情報テーブルの所定回数分のアクセスビジー時間の平均値と理想値であるアクセスビジー時間から、アクセスビジー時間の差分値を算出し、差分値に対して、規定値テーブルの中で最も近いアクセスビジー時間差分情報に対応する初期設定周波数からの差分周波数情報を用いて内部発振器のクロック周波数を補正する。【選択図】図１
2011191867.tif 000002
【特許請求の範囲】
【請求項１】
データの書き込み、読み出しが可能な不揮発性記憶装置であって、
データを記憶する不揮発性メモリと、
前記不揮発性メモリの制御を行うメモリコントローラと、
内部発振器と、
計測された所定回数分のアクセスビジー時間を格納する測定情報テーブルと、
所定のアクセスビジー時間からの差分時間情報と、前記内部発振器の初期設定周波数からの差分周波数情報とが対応付けられた規定値テーブルとを備え、
前記メモリコントローラは、
データの書込み時のアクセスビジー時間を所定回数計測し、前記測定情報テーブルに格納し、
前記測定情報テーブルの所定回数分のアクセスビジー時間の平均値と理想値であるアクセスビジー時間から、アクセスビジー時間の差分値を算出し、
前記差分値に対して、前記規定値テーブルの中で最も近い前記アクセスビジー時間差分情報に対応する前記初期設定周波数からの差分周波数情報を用いて前記内部発振器のクロック周波数を補正する、
不揮発性記憶装置。
【請求項２】
前記測定情報テーブルは、データの書込みにアクセスしたブロックのアドレスと計測されたアクセスビジー時間とを対応づけて格納され、
前記コントローラは、
計測したデータの書込み時のアクセスビジー時間が、限界値であるアクセスビジー時間を越えている場合は、データの書込みにアクセスしたブロックのアドレスを無効にし、さらに前記測定情報テーブルに格納しない、
請求項１記載の不揮発性記憶装置。
【請求項３】
前記コントローラは、
計測したデータの書込み時のアクセスビジー時間が、所定のアクセスビジー時間の範囲にない場合は、前記測定情報テーブルに格納しない、
請求項１記載の不揮発性記憶装置。
【請求項４】
前記コントローラは、
前記測定情報テーブルの所定回数分のアクセスビジー時間の平均値が所定のアクセスビジー時間の範囲にない場合は、データの書込み時のアクセスビジー時間を再度計測する、
請求項１記載の不揮発性記憶装置。
【請求項５】
前記コントローラは、
計測したデータの書込み時のアクセスビジー時間が、所定のアクセスビジー時間の範囲にない場合の回数を計測し、所定の回数を超えた場合は、データの書込み時のアクセスビジー時間を再度計測する、
請求項１記載の不揮発性記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリの速度バラツキによらず、均一な速度性能を維持することができる不揮発性記憶装置に関する。
【背景技術】
【０００２】
書き換え可能な不揮発性メモリを備える不揮発性記憶装置は、半導体メモリカードを中心にその需要が広まっている。半導体メモリカードは、小型・軽量・低消費電力・大容量・耐震性・取り扱いの簡便さ等のメリットが大きいので、デジタルスチルカメラや携帯電話など、ポータブル機器の記録媒体としてその需要が高まっており、最近では、民生用動画記録機器や放送局向けのプロ用動画記録機器の記録媒体としても利用されるようになってきている。
【０００３】
しかし、半導体プロセスの微細化が進むにつれ、不揮発性メモリの読み込みや書き込みの速度性能が劣化している場合も多々ある。半導体メモリカードのデータ読み込み時や書き込み時においては、速度性能（例えば、アクセスビジー時間）を規定しているため、設計段階において、不揮発性メモリの速度バラツキやＣＰＵの動作周波数を考慮して、規定値を満たせるように設計を行う事が重要になってきている。
【０００４】
速度性能を所定の規定値を満たすための方法として、以下のような技術が開示されている。
【０００５】
特許文献１には、メモリコントローラに、メモリアクセスサイクルの周期を外部から任意に設定できるようにする手段と、設定されたメモリアクセスサイクルの周期に基づいてマスタクロックを可変に分周し、設定されたメモリアクセスサイクルのマスタクロックを生成する手段とを備え、メモリコントローラに対してレジスタ設定を行うことで、メモリアクセスサイクルを外部から変更可能にする技術が開示されている。
【０００６】
特許文献２には、メモリなどの媒体のデータ読み込みを指示するＣＰＵ、読み込まれたデータとあらかじめ定められた所定データとの一致を比較する比較手段、ＣＰＵの読み込み指示から比較手段によるデータ一致までの時間を計測するカウンタ、媒体のアクセス速度情報を計測する速度計測手段、ＣＰＵをアクセス速度情報に基づく速度で動作させるＣＰＵ動作手段を備えることで、アクセス速度の異なる複数の媒体を搭載する場合でも媒体ごとに単一回の測定で最適なＣＰＵのアクセス速度を算出して設定を行う技術が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平４−２８７２５０号公報
【特許文献２】特開平７−１５２６３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、不揮発性メモリには製品固有の速度バラツキがあり、その速度バラツキは、プロセス条件等によって変動する。そのため、全ての不揮発性記憶装置において、均一な速度性能（例えば、アクセスビジー時間）を維持することは困難である。
【０００９】
そこで、本発明は、不揮発性メモリの速度バラツキに関わらず、均一な速度性能（アクセスビジー時間）の維持を可能にする不揮発性記憶装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明の不揮発性記憶装置は、
データの書き込み、読み出しが可能な不揮発性記憶装置であって、データを記憶する不揮発性メモリと、前記不揮発性メモリの制御を行うメモリコントローラと、内部発振器と、計測された所定回数分のアクセスビジー時間を格納する測定情報テーブルと、所定のアクセスビジー時間からの差分時間情報と、前記内部発振器の初期設定周波数からの差分周波数情報とが対応付けられた規定値テーブルとを備え、前記メモリコントローラは、データの書込み時のアクセスビジー時間を所定回数計測し、前記測定情報テーブルに格納し、前記測定情報テーブルの所定回数分のアクセスビジー時間の平均値と理想値であるアクセスビジー時間から、アクセスビジー時間の差分値を算出し、前記差分値に対して、前記規定値テーブルの中で最も近い前記アクセスビジー時間差分情報に対応する前記初期設定周波数からの差分周波数情報を用いて前記内部発振器のクロック周波数を補正する。
【発明の効果】
【００１１】
本発明の不揮発性記憶装置によれば、不揮発性メモリの速度バラツキに関わらず、均一な速度性能（アクセスビジー時間）を維持した不揮発性記憶装置を提供することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態１から実施の形態５における不揮発性メモリシステムの構成を示す図
【図２】実施の形態１における規定値テーブルの構造を示す図
【図３】実施の形態１における測定情報テーブルの構造を示す図
【図４】実施の形態１から実施の形態５におけるアクセスビジー時間を説明する図
【図５】実施の形態１から実施の形態５における計測するアクセスビジー時間を説明する図
【図６】実施の形態１における内部発振器の発振周波数を設定するフローチャート
【図７】実施の形態２における規定値テーブルの構造を示す図
【図８】実施の形態２における測定情報テーブルの構造を示す図
【図９】実施の形態２における内部発振器の発振周波数を設定するフローチャート
【図１０】実施の形態３と実施の形態４における規定値テーブルの構造を示す図
【図１１】実施の形態３における内部発振器の発振周波数を設定するフローチャート
【図１２】実施の形態４における内部発振器の発振周波数を設定する別のフローチャート
【図１３】実施の形態５における測定情報テーブルの構造を示す図
【図１４】実施の形態５における内部発振器の発振周波数を設定するフローチャート
【発明を実施するための形態】
【００１３】
以下に、本発明の実施の形態について、図面を参照しながら説明する。なお、ここで示す実施の形態はあくまでも一例であって、必ずしもこの実施の形態に限定されるものではない。
【００１４】
なお、図において、同一または相当する構成要素については同じ符号を用い、その説明を省略する。
【００１５】
（実施の形態１）
以下、本実施の形態の不揮発性記憶装置について説明する。
【００１６】
図１は、不揮発性メモリシステムの構成を示す図である。不揮発性メモリシステムは、ホスト１０１と不揮発性メモリ装置１０２で構成される。ホスト１０１としては、ビデオプレーヤー／レコーダー、テレビ、パソコン等の機器である。
【００１７】
不揮発性メモリ装置１０２は、メモリコントローラ１０３と不揮発性メモリ１０４で構成される。
【００１８】
メモリコントローラ１０３は、内部発振器１０５、ＣＰＵ１０６、比較器１０７、ＲＡＭ１０８、ホストＩ／Ｆ１１１、アクセスビジーカウンタ１１２、不揮発性メモリＩ／Ｆ１１３で構成される。各構成は、図に示すようにバスを介して接続されている。
【００１９】
ＲＡＭ１０８は、規定値テーブル１０９、測定情報テーブル１１０で構成される。内部発振器１０５は、ＣＰＵ１０６の動作クロックを生成する。ＣＰＵ１０６は、ＲＡＭ１０８を用いて、ホスト１０１の各種制御を行う。比較器１０７は、規定値テーブル１０９および測定情報テーブル１１０のデータを比較する（詳細は後述する）。ホストＩ／Ｆ１１１は、ホスト１０１と不揮発性メモリ装置１０２との接続部であり、ホスト１０１から不揮発性メモリ装置１０２に対するコマンドやデータは、ホストＩ／Ｆ１１１を介して送受信される。アクセスビジーカウンタ１１２は、後述する、データ書き込み時のアクセスビジー時間を計測する。不揮発性メモリＩ／Ｆ１１３は、メモリコントローラ１０３と不揮発性メモリ１０４との接続部であり、不揮発性メモリ１０４に対するコマンドやデータは、不揮発性メモリＩ／Ｆ１１３を介して送受信される。
【００２０】
図２は、規定値テーブル１０９の構造を示す図である。規定値テーブル１０９には、アクセスビジー時間（理想値）からの差分時間情報であるアクセスビジー時間差分情報と内部発振器１０５の初期設定周波数からの差分周波数情報とが対応付けられているテーブルである。規定値テーブル１０９にはさらに、内部発振器１０５の初期設定周波数情報と、現在の内部発振器設定周波数情報が格納されている。アクセスビジー時間（理想値）とは、設計段階で標準的なデバイスの速度性能を考慮して決めた設計目標とする均一な速度性能（アクセスビジー時間）のことである。
【００２１】
なお、内部発振器１０５の初期設定周波数情報と、現在の内部発振器設定周波数情報はＲＡＭ１０８に格納されていればよく、規定値テーブル１０９に格納されていなくてもよい。
【００２２】
図３は、測定情報テーブル１１０の構造を示す図である。測定情報テーブル１１０は、アクセスビジーカウンタ１１２で計測されたｎ回分（ｎ≧２の整数）のデータ書き込み時のアクセスビジー時間が格納されている。測定情報テーブル１１０はさらに、格納されたｎ回分のアクセスビジー時間の測定平均値、アクセスビジー時間の測定回数を格納している。
【００２３】
なお、格納されたｎ回分のアクセスビジー時間の測定平均値、アクセスビジー時間の測定回数はＲＡＭ１０８に格納されていればよく、測定情報テーブル１１０に格納されていなくてもよい。
【００２４】
なお、規定値テーブル１０９および測定情報テーブル１１０は、電源が切られても、情報記憶可能なように、不揮発性メモリ１０４にも格納させておく。
【００２５】
図４は、アクセスビジー時間を説明する図である。ホスト１０１からデータの書込みコマンドを受信し、書込むデータを受信する場合を説明する。不揮発性メモリ装置１０２は、書込むデータを受信し、不揮発性メモリ１０４にデータを書込む。
【００２６】
アクセスビジー時間とは、データ送信が完了してからデータ書き込みが完了するまでの時間である。具体的には、不揮発性メモリ１０４へのハード的なデータの書込みや読込みなどの処理時間とＣＰＵ１０６でのコマンドやデータのソフト的な処理時間であるオーバーヘッド時間とからなる。ここで、不揮発性メモリ１０４へのハード的なデータ書込みや読込みなどの処理時間、すなわちデバイスの処理時間は、不揮発性メモリ１０４はデバイス毎に物理特性が異なる。
【００２７】
そのため、図４に示すようにデバイス１とデバイス２では、デバイスの処理時間が異なる。また、オーバーヘッド時間は、ＣＰＵ１０６を動作させている内部発振器１０５の周波数の設定に応じて処理時間が変動する。
【００２８】
まず、図４に示すように、アクセスビジー時間を計測した結果、デバイス１（調整前）のように理想値よりも時間が短かった場合を説明する。設計で理想としているアクセスビジー時間（理想値）に近づけるには、デバイスの処理時間はデバイスの特性として固定であり、調整できないので、オーバーヘッド時間を調整する。オーバーヘッド時間の部分を増加させるように、内部発振器１０５の周波数を調整すればよい。調整した結果、アクセスビジー時間は、オーバーヘッド部分が増加するため、図のデバイス１（調整後）のようにほぼ理想値となる。
【００２９】
次に、図４に示すように、アクセスビジー時間を計測した結果、デバイス２（調整前）のように理想値よりも時間がオーバーしている場合を説明する。設計で理想としているアクセスビジー時間（理想値）に近づけるには、デバイスの処理時間はデバイスの特性として固定であり、調整できないので、オーバーヘッド時間を調整する。オーバーヘッド時間の部分を減少させるように、内部発振器１０５の周波数を調整すればよい。調整した結果、アクセスビジー時間は、オーバーヘッド部分が減少するため、図のデバイス２（調整後）のようにほぼ理想値となる。本実施の形態では、内部発振器１０５の発振周波数を変動させることで、オーバーヘッド時間の部分を増減させることで、デバイスの物理特性によらず均一な速度性能（アクセスビジー時間）を維持させることが可能になる。
【００３０】
図５は、計測するアクセスビジー時間を説明する図である。計測するアクセスビジー時間は、図４で説明したように、データ送信が完了してからデータ書き込みが完了するまでの時間である。ＣＰＵ１０６でデータ送信が完了した時間（図に示すｔ１）で、アクセスビジーカウンタ１１２の計測を開始し、データ書き込みが完了した時間（図に示すｔ２）で、計測を終了する。この差分時間（ｔ２−ｔ１）が計測するアクセスビジー時間である。以下同様に、２回目以降も計測する。
【００３１】
なお、計測されたアクセスビジー時間は、ホスト１０１から見た時間となるが、ホスト１０１と不揮発性メモリ装置１０２の間のデータ伝送遅延時間は、アクセスビジー時間と比較して無視できるほど小さいので、ここでは考慮しないことにする。
【００３２】
図６は、内部発振器１０５の発振周波数を設定するフローチャートである。
【００３３】
図５で示したように、ホスト１０１からメモリコントローラ１０３に対して、書き込みコマンド発行をスタートとする。この段階では、内部発振器１０５は、規定値テーブル１０９にあらかじめ格納されている内部発振器初期設定周波数情報に基づいて、クロックを生成し、ＣＰＵ１０６へ供給しているものとする。内部発振器初期設定周波数情報は、設計段階で、アクセスビジー時間（理想値）の見積もりを行った上で設定しておく。
【００３４】
Ｓ６０１はアクセスビジー時間を計測する。書き込みたいデータ送信が完了した段階で、アクセスビジー時間の計測を開始し、測定情報テーブル１１０の測定結果に測定を行うごとにアクセスビジー時間を格納する。測定情報テーブル１１０の所定測定回数分（ｎ≧２の整数）のアクセスビジー時間の計測を行う。測定回数としては、例えば、３０回程度で良い。図３の測定情報テーブル１１０では、所定測定回数を０００１１１１０（３０回）に設定している例を示している。
【００３５】
また、図３の測定情報テーブル１１０では、1回目の測定結果は、２進値で０１０１１０１０（９０ｍｓ）となり、２回目、０１０１１１１１（９５ｍｓ）、３回目、０１１００１００（１００ｍｓ）、４回目、０１１００１００（１００ｍｓ）、ｎ−１回目、０１０１１１１１（９５ｍｓ）、ｎ回目、０１０１１１１１（９５ｍｓ）と計測された例を示している。
【００３６】
Ｓ６０２は、格納した測定結果を用いてＣＰＵ１０６でアクセスビジー時間の平均値を算出し、測定テーブル１１０の測定平均値に格納する。
【００３７】
図３の測定情報テーブル１１０では、測定平均値は、０１０１１１１１（９５ｍｓ）となった例を示している。
【００３８】
Ｓ６０３は、格納された測定平均値と規定値テーブル１０９に格納されているアクセスビジー時間（理想値）との差分をＣＰＵ１０６で算出する。
【００３９】
図２の規定値テーブル１０９においては、アクセスビジー時間（理想値）は０１１０１１１０（１１０ｍｓ）であるので、差分「＋１５ｍｓ」となる。
【００４０】
Ｓ６０４は、比較器１０７で算出した差分と規定値テーブル１０９のアクセスビジー時間差分情報を比較して、最も近いアクセスビジー時間差分情報を決定する。
【００４１】
差分「＋１５ｍｓ」と最も近いアクセスビジー時間差分情報は、図２の規定値テーブル１０９からアクセスビジー時間差分情報３となる。図２の規定値テーブル１０９では、アクセスビジー時間差分情報３は、２進値で００００１１１１（＋１５ｍｓ）となる例を示している。
【００４２】
Ｓ６０５は、決定したアクセスビジー時間差分情報に対応する初期設定周波数からの差分周波数情報を用いて、ＣＰＵ１０６が規定値テーブル１０９の現在の内部発振器設定周波数情報を補正して、内部発振器１０５の設定周波数を変更する。
【００４３】
設定周波数は、Ｓ６０４において、アクセスビジー時間差分情報３に関連付けられた初期設定周波数からの差分情報３を参照して、２進値で１１１１１０１０（−６ＭＨｚ）を内部発振器初期設定周波数情報  ００１１００１０（５０ＭＨｚ）に補正して、現在の内部発振器設定周波数情報  変更前：００１１００１０（５０ＭＨｚ）を変更後：００１０１１００（４４ＭＨｚ）に変更し、ＣＰＵ１０６が内部発振器１０５に変更後の現在の内部発振器設定周波数情報  変更後：００１０１１００（４４ＭＨｚ）を設定することで変更される。
【００４４】
なお、より精度を上げて内部発振器１０５の発振周波数設定を行うには、図６のフローを繰り返し行えばよい。
【００４５】
これにより、不揮発性メモリの速度バラツキに関わらず、均一な速度性能（アクセスビジー時間）を維持した不揮発性記憶装置を提供することが可能となる。
【００４６】
（実施の形態２）
以下、実施の形態２の不揮発性記憶装置について説明する。図７、図８、図９を用いて説明する。実施の形態１に対し、規定値テーブル１０９と測定情報テーブル１１０が異なる。
【００４７】
図７は規定値テーブル１０９の構造を示す図である。実施の形態１の規定値テーブル１０９に対し、アクセスビジー時間（限界値）をさらに追加している。ここで、アクセスビジー時間（限界値）とは、設計段階で速度バラツキと内部発振器１０５の発振周波数を調整可能な範囲で考慮した場合に、最大となるアクセスビジー時間のことである。
図７では、アクセスビジー時間（限界値）は、１１００１０００（２００ｍｓ）で示されている。
【００４８】
図８は、測定情報テーブル１１０の構造を示す図である。実施の形態１の測定情報テーブル１１０に対して、測定結果に対応させてアクセスしたブロックのアドレス対応づけている。  図８の測定情報テーブル１１０では、1回目のブロックアドレスは、２進値で０００００００１、２回目のブロックアドレスは、００００００１０、３回目のブロックアドレスは、０００００１００、４回目のブロックアドレスは、００００１０００、ｎ−１回目のブロックアドレスは、０００１００００、ｎ回目のブロックアドレスは、００１０００００と格納された例を示している
図９は、内部発振器１０５の発振周波数を設定するフローチャートである。
【００４９】
図５で示したように、ホスト１０１からメモリコントローラ１０３に対して、書き込みコマンド発行をスタートとする。この段階では、内部発振器１０５は、規定値テーブル１０９にあらかじめ格納されている内部発振器初期設定周波数情報に基づいて、クロックを生成し、ＣＰＵ１０６へ供給しているものとする。内部発振器初期設定周波数情報は、設計段階で、アクセスビジー時間（理想値）の見積もりを行った上で設定しておく。まず計測回数をカウントするため、カウンタとしてｎ＝１とする。
【００５０】
Ｓ９０１はアクセスビジー時間を計測する。書き込みたいデータ送信が完了した段階で、アクセスビジー時間の計測を行う。
【００５１】
Ｓ９０２は、比較器１０７において、Ｓ９０１で測定したアクセスビジー時間が、規定値テーブル１０９のアクセスビジー時間（限界値）と比較する。比較の結果、アクセスビジー時間（限界値）を超えている場合（Ｎの場合）は、アクセスしたブロックのアドレスを無効化して、今後アクセスできなくした上でＳ９０１の処理に戻る。比較の結果、アクセスビジー時間（限界値）を超えていない場合（Ｙの場合）は、測定情報テーブル１１０の測定結果にアクセスビジー時間とアクセスしたブロックアドレスをそれぞれ対応させて格納する。そして次のＳ９０３に進む。図８の測定情報テーブルでは、アクセスビジー時間（限界値）を超えていない場合をｎ−１回目までの測定結果として示しており、この場合は、測定情報テーブル１１０の測定結果にアクセスビジー時間とアクセスしたブロックアドレスをそれぞれ対応させて格納している。また、アクセスビジー時間（限界値）を超えている場合をｎ回目の測定結果として２進値で、１１０１００１０（２１０ｍｓ）、その時にアクセスしたブロックアドレスを００１０００００の例を示している。従って、ｎ回目は、Ｓ９０１の処理に戻り再測定となる。
【００５２】
Ｓ９０３では、測定回数をカウントする。カウンタのｎをｎ＋１とする。
Ｓ９０４は、測定回数が測定情報テーブル１１０に格納されている所定測定回数分の測定に達しているか否かの確認行う。所定回数に到達していない場合（Ｎの場合）は、Ｓ９０１の処理に戻る。所定回数に達した場合（Ｙの場合）、Ｓ６０２の処理に進む。
以降のフローは、実施の形態１のＳ６０２〜Ｓ６０５と同様である。
【００５３】
これにより、内部発振器のクロック周波数を調整しても所定のアクセスビジー時間を満足できないブロックを無効化することが可能となり、均一な速度性能（アクセスビジー時間）を維持することが可能となる。
【００５４】
（実施の形態３）
以下、発明の実施の形態３の不揮発性記憶装置について説明する。図１０、図１１を用いて説明する。実施の形態１に対し、規定値テーブル１０９が異なる。
【００５５】
図１０は、規定値テーブル１０９の構造を示す図である。実施の形態１の規定値テーブル１０９に対して、アクセスビジー時間（上限値）とアクセスビジー時間（下限値）を追加している。アクセスビジー時間（上限値）は、本発明の規定値テーブル１０９で補正できる上限を示したものであり、アクセスビジー時間差分情報１０をアクセスビジー時間（理想値）から引いた値であり、アクセスビジー時間（下限値）は、本発明の規定値テーブル１０９で補正できる下限を示したものであり、アクセスビジー時間差分情報１をアクセスビジー時間（理想値）から引いた値である。図１０の規定値テーブル１０９において、アクセスビジー時間（理想値）は、２進値で、０１１０１１１０（１１０ｍｓ）であり、補正できる上限は、アクセスビジー時間差分情報１０の１１１００１１１（―２５ｍｓ）であるので、アクセスビジー時間（上限値）は、１００００１１１（１３５ｍｓ）となり、補正できる下限は、アクセスビジー時間差分情報１の０００１１００１（＋２５ｍｓ）であるので、アクセスビジー時間（下限値）は、０１０１０１０１（８５ｍｓ）となる例を示している。
【００５６】
図１１は、内部発振器１０５の発振周波数を設定するフローチャートである。
【００５７】
図５で示したように、ホスト１０１からメモリコントローラ１０３に対して、書き込みコマンド発行をスタートとする。この段階では、内部発振器１０５は、規定値テーブル１０９にあらかじめ格納されている内部発振器初期設定周波数情報に基づいて、クロックを生成し、ＣＰＵ１０６へ供給しているものとする。内部発振器初期設定周波数情報は、設計段階で、アクセスビジー時間（理想値）の見積もりを行った上で設定しておく。まず計測回数をカウントするため、カウンタとしてｎ＝１とする。
【００５８】
Ｓ１１０１はアクセスビジー時間を計測する。書き込みたいデータ送信が完了した段階で、アクセスビジー時間の計測を行う。
【００５９】
Ｓ１１０２は、比較器１０７において、Ｓ１１０１で計測したアクセスビジー時間が規定値テーブル１０９のアクセスビジー時間（上限値）とアクセスビジー時間（下限値）の範囲にあるか否かを比較する。比較の結果、アクセスビジー時間（上限値）とアクセスビジー時間（下限値）の範囲にない場合（Ｎの場合）、Ｓ１１０１の処理に戻る。アクセスビジー時間（上限値）とアクセスビジー時間（下限値）の範囲にある場合（Ｙの場合）、測定情報テーブル１１０の測定結果にアクセスビジー時間を格納し、Ｓ１１０３の処理に進む。
【００６０】
Ｓ１１０３は、測定回数をカウントする。カウンタのｎをｎ＋１とする。
【００６１】
Ｓ１１０４は、測定回数が測定情報テーブル１１０に格納されている所定測定回数分の測定に達しているか否かの確認行う。所定回数に到達していない場合（Ｎの場合）は、Ｓ１１０１の処理に戻る。所定回数に達した場合（Ｙの場合）、Ｓ６０２の処理に進む。
【００６２】
以降のフローは、実施の形態１のＳ６０２〜Ｓ６０５と同様である。
【００６３】
これにより、測定したアクセスビジー時間がアクセスビジー時間（上限値）とアクセスビジー時間（下限値）の範囲にない場合は、平均アクセスビジー時間に含まれないことになり、所定回数分の平均アクセスビジー時間と所定のアクセスビジー時間（理想値）から、アクセスビジー時間の差分を算出し、前記アクセスビジー時間の差分と前記規定値テーブル中の前記アクセスビジー時間差分情報を関連付けて、前記初期設定周波数からの差分周波数情報を用いることにより前記内部発振器のクロック周波数を設定する際に設定すべき周波数に対する誤差が少なくなる。
【００６４】
（実施の形態４）
以下、実施の形態４の不揮発性記憶装置について説明する。図１０、図１２を用いて説明する。
【００６５】
なお、規定値テーブル１０９は、実施の形態３で説明を行ったものと同様である。
【００６６】
図１２は、内部発振器１０５の発振周波数を設定するフローチャートである。
【００６７】
図５で示したように、ホスト１０１からメモリコントローラ１０３に対して、書き込みコマンド発行をスタートとする。この段階では、内部発振器１０５は、規定値テーブル１０９にあらかじめ格納されている内部発振器初期設定周波数情報に基づいて、クロックを生成し、ＣＰＵ１０６へ供給しているものとする。内部発振器初期設定周波数情報は、設計段階で、アクセスビジー時間（理想値）の見積もりを行った上で設定しておく。
【００６８】
Ｓ１２０１はアクセスビジー時間を計測する。書き込みたいデータ送信が完了した段階で、アクセスビジー時間の計測を開始し、測定情報テーブル１１０の測定結果に測定を行うごとにアクセスビジー時間を格納する。測定情報テーブル１１０の所定測定回数分（ｎ≧２の整数）のアクセスビジー時間の計測を行う。測定回数としては、例えば、３０回程度で良い。
【００６９】
Ｓ１２０２は、格納した測定結果を用いてＣＰＵ１０６でアクセスビジー時間の平均値を算出し、測定テーブル１１０の測定平均値に格納する。
【００７０】
Ｓ１２０３は比較器１０７で、測定情報テーブル１１０に格納されている測定平均値が規定値テーブル１０９のアクセスビジー時間（上限値）とアクセスビジー時間（下限値）の範囲にあるか否かを比較する。比較の結果、アクセスビジー時間（上限値）とアクセスビジー時間（下限値）の範囲にない場合（Ｎの場合）、これまでに格納した測定情報テーブル１１０の測定結果を全て削除して、Ｓ１２０１の処理に戻る。アクセスビジー時間（上限値）とアクセスビジー時間（下限値）の範囲にある場合（Ｙの場合）、Ｓ６０３の処理に進む。
【００７１】
以降のフローは、実施の形態１のＳ６０３〜Ｓ６０５と同様である。
【００７２】
これにより、所定回数分の平均アクセスビジー時間が、アクセスビジー時間（上限値）とアクセスビジー時間（下限値）の範囲にある場合のみ所定回数分の平均アクセスビジー時間と所定のアクセスビジー時間（理想値）から、アクセスビジー時間の差分を算出し、前記アクセスビジー時間の差分と前記規定値テーブル中の前記アクセスビジー時間差分情報を関連付けて、前記初期設定周波数からの差分周波数情報を用いることにより前記内部発振器のクロック周波数を設定する際に設定すべき周波数に対する誤差が少なくなる。
【００７３】
（実施の形態５）
以下、実施の形態５の不揮発性記憶装置について説明する。図１３、図１４を用いて説明する。
【００７４】
図１３は、測定情報テーブル１１０の構造を示す図である。実施の形態１の測定情報テーブル１１０に対して規格外の測定回数を追加している。規格外の測定回数とは、測定したアクセスビジー時間が、アクセスビジー時間（上限値）とアクセスビジー時間（下限値）の範囲外になった場合に許容できる回数を設定しておくものである。図１３の測定情報テーブル１１０では、２進値で、０００００１１０（６回）の例を示している。
【００７５】
図１４は、内部発振器１０５の発振周波数を設定するフローチャートである。
【００７６】
図５で示したように、ホスト１０１からメモリコントローラ１０３に対して、書き込みコマンド発行をスタートとする。この段階では、内部発振器１０５は、規定値テーブル１０９にあらかじめ格納されている内部発振器初期設定周波数情報に基づいて、クロックを生成し、ＣＰＵ１０６へ供給しているものとする。内部発振器初期設定周波数情報は、設計段階で、アクセスビジー時間（理想値）の見積もりを行った上で設定しておく。まず計測回数をカウントするため、カウンタとしてｎ＝１、ｍ＝０とする。
【００７７】
Ｓ１４０１はアクセスビジー時間を計測する。書き込みたいデータ送信が完了した段階で、アクセスビジー時間の計測を行う。
【００７８】
Ｓ１４０２は、比較器１０７において、Ｓ１４０１で測定したアクセスビジー時間が規定値テーブル１０９のアクセスビジー時間（上限値）とアクセスビジー時間（下限値）の範囲にあるか否かを比較する。比較の結果、アクセスビジー時間（上限値）とアクセスビジー時間（下限値）の範囲にある場合（Ｙの場合）、Ｓ１４０３の処理に進む。比較の結果、アクセスビジー時間（上限値）とアクセスビジー時間（下限値）の範囲にない場合（Ｎの場合）、Ｓ１４０５の処理に進む。
【００７９】
Ｓ１４０３は、Ｓ１４０２においてＹの場合であり、測定回数をカウントする。カウンタのｎをｎ＋１とする。
【００８０】
Ｓ１４０４は、測定回数が測定情報テーブル１１０に格納されている所定測定回数分の測定に達しているか否かの確認行う。所定回数に到達していない場合（Ｎの場合）は、Ｓ１４０１の処理に戻り、継続して所定回数に到達するまで測定する。
【００８１】
所定回数に達した場合（Ｙの場合）、以降のフローは、実施の形態１のＳ６０２からＳ６０５と同様の処理を行う。
【００８２】
Ｓ１４０５は規格外測定回数をカウントする。カウンタのｍをｍ＋１とする。
【００８３】
Ｓ１４０６は、カウントされた規格外測定回数が所定回数に達しているか否かの確認を行う。所定回数に達していない場合（Ｎの場合）、Ｓ１４０１の処理に戻る。所定回数に達した場合（Ｙの場合）、これまでに格納した測定情報テーブル１１０の測定結果を全て削除して、スタートに戻り、再度測定を行う。図１３の測定情報テーブル１１０では、規格外の測定回数が６回のため、ｍ＝６になった時点でスタートに戻り、再度測定を行う。
【００８４】
これにより、アクセスビジー時間が長いブロックばかりがアクセスされて測定回数が増えることで、周波数設定に時間がかかることを防ぐことが可能となる。
【産業上の利用可能性】
【００８５】
本発明にかかる不揮発性記憶装置は、データ書き込み時の所定回数分のアクセスビジー時間の平均値と理想値であるアクセスビジー時間から、アクセスビジー時間の差分値を算出し、その差分値に対して、規定値テーブルの中で最も近いアクセスビジー時間差分情報に対応する初期設定周波数からの差分周波数情報を用いて内部発振器のクロック周波数を補正することにより、不揮発性メモリの速度バラツキに関わらず、均一な速度性能を維持することが可能となる。  
【００８６】
また、不揮発性メモリの速度バラツキに関わらず、均一な速度性能を維持することができることから、アクセスビジー時間（理想値）を調整することにより、要求仕様を満足する範囲内で、ピーク電流を下げることも可能になる。
【符号の説明】
【００８７】
１０１    ホスト
１０２    不揮発性メモリ装置
１０３    メモリコントローラ
１０４    不揮発性メモリ
１０５    内部発振器
１０６    ＣＰＵ
１０７    比較器
１０８    ＲＡＭ
１０９    規定値テーブル
１１０    測定情報テーブル
１１１    ホストＩ／Ｆ
１１２    アクセスビジーカウンタ
１１３    不揮発性メモリＩ／Ｆ
【図１】
2011191867.tif 000003
【図２】
2011191867.tif 000004
【図３】
2011191867.tif 000005
【図４】
2011191867.tif 000006
【図５】
2011191867.tif 000007
【図６】
2011191867.tif 000008
【図７】
2011191867.tif 000009
【図８】
2011191867.tif 000010
【図９】
2011191867.tif 000011
【図１０】
2011191867.tif 000012
【図１１】
2011191867.tif 000013
【図１２】
2011191867.tif 000014
【図１３】
2011191867.tif 000015
【図１４】
2011191867.tif 000016