(57)【特許請求の範囲】
【請求項１】
フラッシュメモリを有し、複数の動作モードで動作可能な情報処理装置において、
各々の前記動作モードの滞在時間を取得し、取得した前記滞在時間を各々の前記動作モードに応じた係数に従って重み付けした加重滞在時間を算出し、算出した前記加重滞在時間を積算した加重積算時間が予め定めたリフレッシュ閾値を超えたら、前記フラッシュメモリのリフレッシュ処理を実施する制御部を備え、
前記制御部は、各々の前記動作モードに応じた重み付けを行うことにより、当該動作モードに関連付けられた装置内温度に基づく前記フラッシュメモリのデータ保持期間の変動を補正する、
ことを特徴とする情報処理装置。
【請求項２】
前記制御部は、前記フラッシュメモリに対する書き込みデータ量を取得し、前記書き込みデータ量に応じて、前記加重滞在時間の算出に使用する前記係数を増加させる、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記制御部は、前記フラッシュメモリに対する読み出し回数を取得し、前記読み出し回数に応じて、前記加重滞在時間の算出に使用する前記係数を増加させる、
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記制御部は、各々の前記動作モードにおいて実行された処理を処理毎にカウントし、前記処理毎のカウント値と予め設定した処理毎の補正値とに基づいて、前記動作モード毎の前記係数を補正し、補正後の前記係数に従って重み付けした前記加重滞在時間を算出し、算出した前記加重滞在時間を積算した前記加重積算時間に基づいて、前記リフレッシュ処理の実施タイミングを決定する、
ことを特徴とする請求項１乃至３のいずれか一に記載の情報処理装置。
【請求項５】
前記制御部は、前記情報処理装置の使用環境に基づき、前記加重滞在時間の算出に使用する前記係数を増減させる、
ことを特徴とする請求項１乃至４のいずれか一に記載の情報処理装置。
【請求項６】
前記制御部は、前記フラッシュメモリのバス使用率を取得し、前記加重積算時間が前記リフレッシュ閾値を超えた場合であっても、前記バス使用率が予め定めた第１閾値を超える場合は、前記リフレッシュ処理の実施を延期し、前記バス使用率が前記第１閾値以下になったら、前記リフレッシュ処理を開始する、
ことを特徴とする請求項１乃至５のいずれか一に記載の情報処理装置。
【請求項７】
前記制御部は、前記リフレッシュ処理中に前記バス使用率が予め定めた第２閾値を超えたら、前記リフレッシュ処理を中断し、前記バス使用率が前記第１閾値又は前記第２閾値以下になったら、前記リフレッシュ処理を再開する、
ことを特徴とする請求項６に記載の情報処理装置。
【請求項８】
フラッシュメモリを有し、複数の動作モードで動作可能な情報処理装置で動作するリフレッシュ制御プログラムであって、
前記情報処理装置に、
各々の前記動作モードの滞在時間を取得する第１処理、
取得した前記滞在時間を各々の前記動作モードに応じた係数に従って重み付けした加重滞在時間を算出する第２処理、
算出した前記加重滞在時間を積算した加重積算時間と予め定めたリフレッシュ閾値とを比較する第３処理、
前記加重積算時間が前記リフレッシュ閾値を超えたら、前記フラッシュメモリのリフレッシュ処理を実施する第４処理、を実行させ、
前記第２処理では、各々の前記動作モードに応じた重み付けを行うことにより、当該動作モードに関連付けられた装置内温度に基づく前記フラッシュメモリのデータ保持期間の変動を補正する、
ことを特徴とするリフレッシュ制御プログラム。
【請求項９】
前記第２処理では、前記フラッシュメモリに対する書き込みデータ量を取得し、前記書き込みデータ量に応じて、前記加重滞在時間の算出に使用する前記係数を増加させる、
ことを特徴とする請求項８に記載のリフレッシュ制御プログラム。
【請求項１０】
前記第２処理では、前記フラッシュメモリに対する読み出し回数を取得し、前記読み出し回数に応じて、前記加重滞在時間の算出に使用する前記係数を増加させる、
ことを特徴とする請求項８又は９に記載のリフレッシュ制御プログラム。
【請求項１１】
前記第２処理では、各々の前記動作モードにおいて実行された処理を処理毎にカウントし、前記処理毎のカウント値と予め設定した処理毎の補正値とに基づいて、前記動作モード毎の前記係数を補正する、
ことを特徴とする請求項８乃至１０のいずれか一に記載のリフレッシュ制御プログラム。
【請求項１２】
前記第２処理では、前記情報処理装置の使用環境に基づき、前記加重滞在時間の算出に使用する前記係数を増減させる、
ことを特徴とする請求項８乃至１１のいずれか一に記載のリフレッシュ制御プログラム。
【請求項１３】
前記第４処理では、前記フラッシュメモリのバス使用率を取得し、前記加重積算時間が前記リフレッシュ閾値を超えた場合であっても、前記バス使用率が予め定めた第１閾値を超える場合は、前記リフレッシュ処理の実施を延期し、前記バス使用率が前記第１閾値以下になったら、前記リフレッシュ処理を開始する、
ことを特徴とする請求項８乃至１２のいずれか一に記載のリフレッシュ制御プログラム。
【請求項１４】
前記第４処理では、前記リフレッシュ処理中に前記バス使用率が予め定めた第２閾値を超えたら、前記リフレッシュ処理を中断し、前記バス使用率が前記第１閾値又は前記第２閾値以下になったら、前記リフレッシュ処理を再開する、
ことを特徴とする請求項１３に記載のリフレッシュ制御プログラム。
【請求項１５】
フラッシュメモリを有し、複数の動作モードで動作可能な情報処理装置におけるリフレッシュ制御方法であって、
各々の前記動作モードの滞在時間を取得する第１処理と、
取得した前記滞在時間を各々の前記動作モードに応じた係数に従って重み付けした加重滞在時間を算出する第２処理と、
算出した前記加重滞在時間を積算した加重積算時間と予め定めたリフレッシュ閾値とを比較する第３処理と、
前記加重積算時間が前記リフレッシュ閾値を超えたら、前記フラッシュメモリのリフレッシュ処理を実施する第４処理と、を実行し、
前記第２処理では、各々の前記動作モードに応じた重み付けを行うことにより、当該動作モードに関連付けられた装置内温度に基づく前記フラッシュメモリのデータ保持期間の変動を補正する、
ことを特徴とするリフレッシュ制御方法。
【請求項１６】
前記第２処理では、前記フラッシュメモリに対する書き込みデータ量を取得し、前記書き込みデータ量に応じて、前記加重滞在時間の算出に使用する前記係数を増加させる、
ことを特徴とする請求項１５に記載のリフレッシュ制御方法。
【請求項１７】
前記第２処理では、前記フラッシュメモリに対する読み出し回数を取得し、前記読み出し回数に応じて、前記加重滞在時間の算出に使用する前記係数を増加させる、
ことを特徴とする請求項１５又は１６に記載のリフレッシュ制御方法。
【請求項１８】
前記第２処理では、各々の前記動作モードにおいて実行された処理を処理毎にカウントし、前記処理毎のカウント値と予め設定した処理毎の補正値とに基づいて、前記動作モード毎の前記係数を補正する、
ことを特徴とする請求項１５乃至１７のいずれか一に記載のリフレッシュ制御方法。
【請求項１９】
前記第２処理では、前記情報処理装置の使用環境に基づき、前記加重滞在時間の算出に使用する前記係数を増減させる、
ことを特徴とする請求項１５乃至１８のいずれか一に記載のリフレッシュ制御方法。
【請求項２０】
前記第４処理では、前記フラッシュメモリのバス使用率を取得し、前記加重積算時間が前記リフレッシュ閾値を超えた場合であっても、前記バス使用率が予め定めた第１閾値を超える場合は、前記リフレッシュ処理の実施を延期し、前記バス使用率が前記第１閾値以下になったら、前記リフレッシュ処理を開始する、
ことを特徴とする請求項１５乃至１９のいずれか一に記載のリフレッシュ制御方法。
【請求項２１】
前記第４処理では、前記リフレッシュ処理中に前記バス使用率が予め定めた第２閾値を超えたら、前記リフレッシュ処理を中断し、前記バス使用率が前記第１閾値又は前記第２閾値以下になったら、前記リフレッシュ処理を再開する、
ことを特徴とする請求項２０に記載のリフレッシュ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びリフレッシュ制御プログラム並びにリフレッシュ制御方法に関し、特に、フラッシュメモリを有する情報処理装置及びフラッシュメモリのリフレッシュ制御プログラム並びにリフレッシュ制御方法に関する。
【背景技術】
【０００２】
フラッシュメモリのデータ保持期間は比較的短く、また、環境温度に著しく依存し、温度の上昇に伴ってデータ保持期間が大幅に減少する。よって、フラッシュメモリを装置に組み込む場合、データの消失を防ぐために定期的にリフレッシュ処理を行う等の方法により、データ信頼性を確保するのが一般的である。
【０００３】
このようなリフレッシュ処理に関して、例えば、下記特許文献１には、不揮発性メモリを有する機器において、前記不揮発性メモリに対する書き込み動作を実行してからの経過時間を計測するタイマーと、前記不揮発性メモリ近傍の温度を測定する温度センサーと、前記不揮発性メモリに対する書き込み動作の回数をカウントするカウンターと、前記タイマーによって計測される時間に対して、前記温度センサーによって測定される温度と、前記カウンターによってカウントされる書き込む動作の回数に基づく重み付けを行った後、前記タイマーによって計測される重み付けされた経過時間が所定時間を超えたときに、前記不揮発性メモリに対して再度書き込み動作を実行するリフレッシュ回路とを有する構成が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−１１６７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
昨今の情報処理装置では、省エネルギー性能向上のため、装置の使用状況に応じた複数の動作モード（例えば、Ready、Sleep、PowerOFFなど）を持つのが一般的であり、これら各動作モードでは、装置内の温度が異なる事が予想される。特に、レーザープリンタやＭＦＰ（Multi Function Peripheral）など、装置内に高カロリーの熱源体を装備する装置においては、各動作モードによる装置内温度差がより顕著となる。
【０００６】
上記のような動作モードにより装置内温度に差が発生する装置でフラッシュメモリを使用する場合、装置の各動作モードの滞在時間の比率により、フラッシュメモリのデータ保持期間に大きな差が発生する。この問題に対して、特許文献１では、不揮発性メモリ近傍の温度を測定する温度センサを設け、温度センサの測定温度に基づいて経過時間の重み付けを行い、リフレッシュ処理を実施するタイミングを調整している。しかしながら、特許文献１の方法では装置内に温度センサを設けなければならないため、汎用性に欠け、また、温度センサを常に駆動させて温度を測定しなければならないため、無駄な電力を消費すると共にＣＰＵの負荷が増大するという問題がある。
【０００７】
また、フラッシュメモリのデータ保持期間は、フラッシュメモリへのデータの書き込みによっても低下する。具体的に説明すると、フラッシュメモリは、一般に、ゲート電極が２層構造となったＭＯＳ（Metal Oxide Semiconductor）トランジスタ（セル）からなり、１バイト単位で読み出し／書き込み、消去、書き換えが可能な（すなわち、ソース線とビット線が個々のセルに繋がっている）ＮＯＲ型と、複数ビットでの読み出し／書き込み、消去、書き換えが可能な（複数のセルがソース線とビット線の間に直列に接続された）ＮＡＮＤ型と、がある。いずれの場合も、浮遊ゲートとシリコン基板の間に高電界を加えることによって、電子がゲート絶縁膜をトンネリングして浮遊ゲートに注入され、これによってＭＯＳトランジスタがオフ状態からオン状態に変わるゲート電圧（しきい電圧）が変化することを利用して情報を記憶する。
【０００８】
そのため、フラッシュメモリへのデータの書き込み回数が多くなると、電子のトンネリングによってゲート絶縁膜が劣化し、浮遊ゲートに注入した電子がシリコン基板に逃げやすくなり、データ保持期間が短くなる。特に、ＮＡＮＤ型のフラッシュメモリでは、ブロック内の一部のセルに対する書き込みでもブロック単位で書き込みを行うため、書き込み回数が実質的に増加してゲート絶縁膜の劣化が進行し、データ保持期間が短くなる。そこで、上記特許文献１では、不揮発性メモリに対する書き込み動作の回数をカウントして経過時間の重み付けを行い、リフレッシュ処理を実施するタイミングを調整している。
【０００９】
更に、フラッシュメモリのデータ保持期間は、フラッシュメモリからのデータの読み出しによっても低下する。例えば、ＮＡＮＤ型のフラッシュメモリは、ワード線が隣接しており、同じビット線につながったセル同士を、ソースとドレインを共有する形で接続しており、読み出し動作では、選択されたワード線（制御ゲート）には低い電圧を印加し、非選択ワード線には、書き込み時のしきい電圧よりも高いパス電圧を加える。そのため、非選択セルの浮遊ゲートにシリコン基板から電子がトンネリング注入され、非選択セルのしきい電圧がわずかに上昇する。そのため、同じセルに対して読み出し動作を繰り返して実施し、消去動作をまったく実施しないと、非選択セルのしきい電圧が徐々に上昇して正しい値が読み出せなくなり、結果としてデータ保持期間が短くなる。このように、フラッシュメモリに対する読み出し回数によってもデータ保持期間が短くなるが、特許文献１では書き込み回数のみを考慮しているため、リフレッシュ処理を実施するタイミングを適切に調整することができない。
【００１０】
このような問題に対して、データ信頼性を確保するためのリフレッシュ処理を一定の間隔で実施するのは非効率的であり、リフレッシュ処理自体がフラッシュメモリ（ゲート酸化膜）の劣化やデータ保持期間の減少を招く恐れがある。すなわち、リフレッシュ処理では、シリコン基板側に高電圧をかけて浮遊ゲートから電子を抜き取り、その後、浮遊ゲート側に高電圧をかけて電子を注入するため、その回数が多くなるとゲート酸化膜が劣化し、データ保持期間が減少する。また、リフレッシュ処理を実施することにより、リフレッシュ処理を制御する制御部に大きな負荷が掛かるという問題もある。
【００１１】
本発明は、上記問題点に鑑みてなされたものであって、その主たる目的は、簡単な構成でフラッシュメモリのリフレッシュ処理を適切に制御することができる情報処理装置及びリフレッシュ制御プログラム並びにリフレッシュ制御方法を提供することにある。
【課題を解決するための手段】
【００１２】
本発明の一側面は、フラッシュメモリを有し、複数の動作モードで動作可能な情報処理装置において、各々の前記動作モードの滞在時間を取得し、取得した前記滞在時間を各々の前記動作モードに応じた係数に従って重み付けした加重滞在時間を算出し、算出した前記加重滞在時間を積算した加重積算時間が予め定めたリフレッシュ閾値を超えたら、前記フラッシュメモリのリフレッシュ処理を実施する制御部を備え、前記制御部は、各々の前記動作モードに応じた重み付けを行うことにより、当該動作モードに関連付けられた装置内温度に基づく前記フラッシュメモリのデータ保持期間の変動を補正することを特徴とする。
【００１３】
本発明の一側面は、フラッシュメモリを有し、複数の動作モードで動作可能な情報処理装置で動作するリフレッシュ制御プログラムであって、前記情報処理装置に、各々の前記動作モードの滞在時間を取得する第１処理、取得した前記滞在時間を各々の前記動作モードに応じた係数に従って重み付けした加重滞在時間を算出する第２処理、算出した前記加重滞在時間を積算した加重積算時間と予め定めたリフレッシュ閾値とを比較する第３処理、前記加重積算時間が前記リフレッシュ閾値を超えたら、前記フラッシュメモリのリフレッシュ処理を実施する第４処理、を実行させ、前記第２処理では、各々の前記動作モードに応じた重み付けを行うことにより、当該動作モードに関連付けられた装置内温度に基づく前記フラッシュメモリのデータ保持期間の変動を補正することを特徴とする。
【００１４】
本発明の一側面は、フラッシュメモリを有し、複数の動作モードで動作可能な情報処理装置におけるリフレッシュ制御方法であって、各々の前記動作モードの滞在時間を取得する第１処理と、取得した前記滞在時間を各々の前記動作モードに応じた係数に従って重み付けした加重滞在時間を算出する第２処理と、算出した前記加重滞在時間を積算した加重積算時間と予め定めたリフレッシュ閾値とを比較する第３処理と、前記加重積算時間が前記リフレッシュ閾値を超えたら、前記フラッシュメモリのリフレッシュ処理を実施する第４処理と、を実行し、前記第２処理では、各々の前記動作モードに応じた重み付けを行うことにより、当該動作モードに関連付けられた装置内温度に基づく前記フラッシュメモリのデータ保持期間の変動を補正することを特徴とする。
【発明の効果】
【００１５】
本発明の情報処理装置及びリフレッシュ制御プログラム並びにリフレッシュ制御方法によれば、簡単な構成でフラッシュメモリのリフレッシュ処理を適切に制御することができる。
【００１６】
その理由は、情報処理装置の制御部は、各々の動作モードの滞在時間を計測し、計測した滞在時間を各々の動作モードに応じた係数に従って重み付けした加重滞在時間を算出し、算出した加重滞在時間を積算した加重積算時間が予め定めた閾値を超えたら、フラッシュメモリに対するリフレッシュ処理を実施する制御を行うからである。
【図面の簡単な説明】
【００１７】
【図１】本発明の情報処理装置の構成例を示すブロック図である。
【図２】本発明の実施例１に係る情報処理装置の構成例を示すブロック図である。
【図３】フラッシュメモリのデータ保持期間の温度依存性を示す図である。
【図４】一般的なフラッシュメモリのリフレッシュ処理を示すタイミングチャート図である。
【図５】本発明の実施例１に係るフラッシュメモリのリフレッシュ処理を示すタイミングチャート図である。
【図６】本発明の実施例１に係る情報処理装置の動作を示すフローチャート図である。
【図７】本発明の実施例１に係るフラッシュメモリのリフレッシュ制御における電源ＯＦＦ時間の積算方法を説明する図である。
【図８】本発明の実施例２に係るフラッシュメモリのデータ保持期間の累計書き込みデータ量及び読み出し回数依存性を示す図である。
【図９】本発明の実施例３に係るフラッシュメモリのリフレッシュ処理を示すタイミングチャート図である。
【図１０】本発明の実施例５に係る情報処理装置の構成例を示すブロック図である。
【図１１】本発明の実施例５に係る情報処理装置における各処理実行時の装置内温度を示す図である。
【図１２】本発明の実施例５に係る情報処理装置における処理実行回数カウントによる加重係数の補正方法を説明する図である。
【発明を実施するための形態】
【００１８】
背景技術で示したように、フラッシュメモリを装置に組み込む場合、データ信頼性を確保するために、定期的にリフレッシュ処理が実施されるが、フラッシュメモリのデータ保持期間は、温度によって影響を受ける。そこで、特許文献１では、不揮発性メモリ近傍に設けた温度センサの測定温度に基づいて経過時間の重み付けを行い、リフレッシュ処理を実施するタイミングを調整している。しかしながら、温度センサを設ける構成では汎用性に欠け、消費電力やＣＰＵの負荷が増大するという問題がある。また、フラッシュメモリのデータ保持期間は、フラッシュメモリに対するデータの書き込み回数や読み出し回数にも影響を受けるため、リフレッシュ処理を実施するタイミングを適切に調整するためには、書き込み回数や読み出し回数に基づく補正も必要になる。
【００１９】
一方、昨今の情報処理装置には、複数の動作モードが設けられており、各々の動作モードにおいて、どのような構成要素がどのように動作するかは決まっているため、装置内の温度を特定することができる。すなわち、装置内の温度と各々の動作モードで動作した時間との間には相関関係がある。
【００２０】
そこで、本発明の一実施の形態では、フラッシュメモリを有する情報処理装置において、装置の動作モードの滞在時間を計測し、計測した滞在時間を各々の動作モードに応じて（すなわち、動作モードに関連付けられた装置内温度に基づいて）加重した加重滞在時間を計算し、計算した加重滞在時間を積算した加重積算時間が予め定めた閾値を超えた時にフラッシュメモリのリフレッシュ処理を実施するようにする。また、これに加えて、フラッシュメモリに対する書き込み回数（書き込みデータ量）や読み出し回数に応じて加重滞在時間を補正する。これにより、簡単な構成でフラッシュメモリのリフレッシュ処理を適切に制御することができる。
【実施例１】
【００２１】
上記した本発明の実施の形態についてさらに詳細に説明すべく、本発明の実施例１に係る情報処理装置及びリフレッシュ制御プログラム並びにリフレッシュ制御方法について、図１乃至図７を参照して説明する。図１は、本発明の情報処理装置の構成例を示すブロック図であり、図２は、実施例１の情報処理装置の構成例を示すブロック図である。また、図３は、フラッシュメモリのデータ保持期間の温度依存性を示す図であり、図４及び図５は、各々、一般的なフラッシュメモリのリフレッシュ処理を示すタイミングチャート図、実施例１のフラッシュメモリのリフレッシュ処理を示すタイミングチャート図である。また、図６は、実施例１の情報処理装置の動作を示すフローチャート図であり、図７は、実施例１のフラッシュメモリのリフレッシュ処理における電源ＯＦＦ経過時間の積算方法を説明する図である。
【００２２】
本発明は、図１に示すように、システム全体の制御を行うシステム制御部１００と、フラッシュメモリ１０３の制御を行うフラッシュ制御部１０１と、時間の計測を行う時間計測部１０２と、書き換え可能な不揮発性メモリであるフラッシュメモリ１０３と、を有する情報処理装置で実施される。
【００２３】
図２は、情報処理装置の構成例である。本実施例の情報処理装置は、例えば、ＣＰＵ（Central Processing Unit）２００と、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）などのメインメモリ２０１と、フラッシュメモリ２０２と、ＭＰＵ（Micro-Processing Unit）２０３と、バックアップ電源２０４と、発熱機器２０５などで構成され、複数の動作モードで動作可能になっている。
【００２４】
ＣＰＵ２００とメインメモリ２０１とで制御部が構成され、制御部は、情報処理装置全体の制御、各動作モードに応じた各構成要素の動作状態の制御を行う。また、制御部は、フラッシュメモリ制御機能を内蔵し、フラッシュメモリ２０２に対するデータの読み出し／書き込み、消去、書き換えを制御する。また、制御部は、各動作モードで動作した時間（各動作モードの滞在時間と呼ぶ。）をＭＰＵ２０３から取得し、各動作モードの滞在時間を動作モードに基づいて重み付けした時間（加重滞在時間と呼ぶ。）を算出し、加重滞在時間を積算した時間（加重積算時間と呼ぶ。）と予め記憶した閾値とを比較し、加重積算時間が閾値を越えたら、フラッシュメモリ２０２のリフレッシュ処理を実施する。このフラッシュメモリ制御機能は、ＣＰＵ２００がＲＯＭに記憶したリフレッシュ制御プログラムをＲＡＭに展開して実行することにより実現することができる。
【００２５】
ＭＰＵ２０３は、ＲＴＣ（Real Time Clock）とＦＲＡＭ（登録商標）（Ferroelectric Random Access Memory）とを備え、時間（各動作モードの滞在時間）の計測を行い、計測した時間をＣＰＵ２００に通知する。ＭＰＵ２０３には電池などのバックアップ電源２０４が接続されており、情報処理装置に供給される電源がＯＦＦの状態でも、バックアップ電源２０４から供給される電力により、時間の計測を継続することが可能な構成となっている。
【００２６】
また、情報処理装置は、ＣＰＵ２００により制御される発熱機器２０５を備えており、発熱機器２０５の動作状態により、情報処理装置の装置内の温度が大きく変化する。すなわち、動作モードに応じて、発熱機器２０５の動作状態が決定されるため、動作モードと装置内温度との間に相関関係が存在する。従って、動作モードの滞在時間が分かれば、装置内温度に起因するフラッシュメモリ２０２のデータ保持期間の変化を予測することが可能である。
【００２７】
以下では、図２に示す情報処理装置を前提として、フラッシュメモリ２０２のリフレッシュ処理について説明する。
【００２８】
まず、動作モードと装置内温度との関係について説明する。ここでは、動作モードとして、電源ＯＦＦ、省電力、通常の３つの動作モードがあり、各動作モードにおいて、各構成要素（ＣＰＵ、メインメモリ、フラッシュメモリ、ＭＰＵ、ＲＴＣ、発熱機器）の動作状態が表１のように制御されるものとする。この時、各構成要素は、その動作状態に応じて一定の熱量を発生するため、情報処理装置内の温度は動作モードに応じて変化する。特に、発熱機器２０５がある場合は、その発熱機器２０５が動作するか否かに応じて、情報処理装置内の温度が大きく変化し、発熱機器２０５が動作する通常モードでは他の動作モードと比較して装置内温度が高い値になる。
【００２９】
【表１】
0005867464.tif 000002
【００３０】
このように、動作モードに応じて装置内で一定の熱量が発生し、装置内温度は動作モードに応じた温度になるため、温度センサで装置内温度を実測しなくても、どの動作モードで動作中であるかを判断することによって装置内温度を特定することができる。なお、装置内温度は環境温度の影響を受けるが、例えば、オフィスなどでは情報処理装置は空調で温度制御された場所に設置される場合が多いため、地域や季節が変わらなければ環境温度はほぼ一定の値として考えることができる。特に、情報処理装置内に発熱量の大きい熱源がある場合は、環境温度の影響は小さくなるため、プリンタやＭＦＰの場合は、装置内温度は動作モードに応じてほぼ一定の値になると考えることができる。
【００３１】
次に、装置内温度とフラッシュメモリのデータ保持期間とリフレッシュ処理の実施タイミングの関係について説明する。一般に、フラッシュメモリのデータ保持期間は比較的短く、また、フラッシュメモリ近傍の温度に著しく依存し、図３に示すように、温度の上昇に伴ってデータ保持期間は大幅に減少する。そこで、従来は、図４に示すように、一定の時間間隔（Ｔ）でリフレッシュ処理を実施し、データ消失の危険を回避していた。
【００３２】
しかしながら、この方法では、各動作モードに応じた装置内温度を考慮していないため、リフレッシュ処理を実施する時の残りデータ保持期間（データ保持が可能であると予測される期間）が毎回異なる。例えば、電源ＯＦＦモードの場合、装置内温度は一定の低い値となり、残りデータ保持期間の減少速度は小さいが、通常モードの場合、装置内温度は一定の高い値となり、残りデータ保持期間の減少速度は大きい。そのため、各々の期間Ｔにおいて、どのような動作モードで動作したかによって残りデータ保持期間は変動する。
【００３３】
特に、スリープモードや電源ＯＦＦモードで動作している割合が高い場合（図４の左から３番目の期間Ｔの場合）、残りデータ保持期間は長くなり、リフレッシュ処理を行う必要性がない場合が生じる。しかしながら、このような場合でも、期間Ｔが経過したらリフレッシュ処理が実施されてしまうため、フラッシュメモリ制御機能を動作させる分、ＣＰＵ２００に無駄な負荷が掛かる。また、リフレッシュ処理の際にデータの消去及び書き込みが行われ、ゲート絶縁膜に高電圧が付加されるため、ゲート絶縁膜が劣化してデータ保持期間の絶対値（リフレッシュ直後からのデータ保持期間）の減少を招く。
【００３４】
逆に、通常モードで動作している割合が高い場合（図４の左から２番目の期間Ｔの場合）、残りデータ保持期間は短くなり、リフレッシュ処理を早急に行わなければならない場合が生じる。しかしながら、このような場合でも、期間Ｔが経過するまではリフレッシュ処理が実施されないため、データ消失の危険性が高くなる。また、データ消失の危険を回避するために期間Ｔを短く設定すると、ＣＰＵ２００に対する負荷の増加やデータ保持期間の減少が顕著に現れる。
【００３５】
この問題に対して、従来の手法では、装置内に温度センサを設け、装置内温度を実測してデータ保持期間を重み付けしているが、この方法は、温度センサが設けられていない装置では実施することができず、また、温度の計測を継続することによる無駄な電力消費や負荷の増加を招く。一方、上述したように、装置内温度は動作モードに相関があり、かつ、温度が一定であれば、データ保持期間は一定の割合で減少する。
【００３６】
そこで、本実施例では、装置内温度を常時計測するのではなく、各動作モードで動作時のフラッシュメモリ近傍の温度を一度測定（又はシミュレーション）して記憶しておき、上記装置内温度と動作モードとの相関、装置内温度とデータ保持期間の減少量との相関に基づき、装置内温度に起因するデータ保持期間の変化を考慮に入れた最適な間隔でリフレッシュ処理を実施するようにする。
【００３７】
具体的には、まず、各動作モードの滞在時間を計測し、各動作モードにおける装置内温度に基づいて重み付けを行った加重滞在時間を算出し、加重滞在時間を積算した加重積算時間を算出し、加重積算時間が予め定めた一定の閾値を超えたらリフレッシュ処理を実施するようにする。
【００３８】
図５は、上記手順でリフレッシュ処理を実施した場合を示しており、残りデータ保持期間が一定の値以下になったら（加重積算時間が予め定めたリフレッシュ閾値を超えたら）、リフレッシュ処理が行われる。すなわち、スリープモードや電源ＯＦＦモードで動作する割合が大きい場合は、残りデータ保持期間の減少率が小さくなるため、リフレッシュ処理を行う間隔が長くなり、通常モードで動作する割合が大きい場合は、残りデータ保持期間の減少率が大きくなるため、リフレッシュ制御が行われる間隔が短くなる。このようなリフレッシュ制御を行うことで、残りデータ保持期間に余裕があるにも関わらずにリフレッシュ処理が実施されたり、残りデータ保持期間がないにも関わらずリフレッシュ処理が実施されなかったりするといった不具合を未然に防止することができ、簡単な構成で最適にリフレッシュ処理を実施することができる。
【００３９】
次に、図２の情報処理装置におけるリフレッシュ処理について具体的に説明する。ＣＰＵ２００は、ＲＯＭに記憶したリフレッシュ制御プログラムをＲＡＭに展開して実行することにより、図６のフローチャート図に示す処理を実行する。
【００４０】
［電源ＯＦＦ中経過時間の積算方法］
本実施例のリフレッシュ制御では、電源ＯＦＦ中においても、電池などのバックアップ電源２０４からの極めて少量の電力供給により時間計測を行い、電源ＯＦＦの滞在時間をリフレッシュ処理の実施タイミングを決定する要素として利用することが可能となる。具体的には、図６に示すように、電源ＯＦＦ中は、バックアップ電源２０４により駆動するＲＴＣ２０３により計時のみ行う（Ｓ１０１）。そして、電源ＯＮ後、情報処理装置の初期化が完了し（Ｓ１０２）、通常モードに移行してから、その際の時刻と前回電源ＯＦＦ直前の時刻との差分から、電源ＯＦＦの滞在時間を算出する。そして、算出した滞在時間を、電源ＯＦＦでの装置内温度に基づいて重み付けして、電源ＯＦＦの加重滞在時間を計算し、積算する（Ｓ２０１）。
【００４１】
図７は、電源ＯＦＦの加重積算時間の算出方法を示している。電源ＯＮの時刻と前回電源ＯＦＦ直前の時刻との差分から、電源ＯＦＦの滞在時間を算出する。そして、電源ＯＦＦでの装置内温度を予め測定しておくことにより、電源ＯＦＦでのデータ保持期間の減少率が一意に決まるため、電源ＯＦＦの滞在時間にデータ保持期間の減少率を乗算することによって、加重積算時間を求めることができる（図７の破線枠内参照）。その後、電源ＯＦＦモードから通常モードに移行した時に、算出した加重積算時間を基点として通常モードの加重滞在時間を更に積算する。
【００４２】
［加重滞在時間の算出方法］
各動作モードにおいて、滞在時間計測後、重み付けを行った加重滞在時間を算出する（通常モードのＳ２０５及びＳ２０６、スリープモードのＳ３０１及びＳ３０２）には、以下の方法が考えられる。
【００４３】
第１の方法は、予め作成したテーブルに基づいて算出する方法である。具体的には、予め、実験やシミュレーション等で求めたデータ保持期間の温度依存性に基づき、温度毎の加重係数を設定した加重係数テーブルを作成し、この加重係数テーブルを参照して、加重滞在時間の計算を行う。
【００４４】
第２の方法は、予め設定した加重滞在時間の計算式を用いて算出する方法である。具体的には、例えば、データ保持期間Ｒ［hour］と温度Ｔ［Ｋ］との関係が式１で表される時、電源ＯＦＦ時の装置内温度Ｔ０［Ｋ］を基準（電源ＯＦＦ時の加重係数を１とする。）として、式２で表されるＡ［hour］をリフレッシュ閾値に設定する。
【００４５】
Ｒ＝Ｆ（Ｔ）  …（１）
Ｒ０＝Ｆ（Ｔ０）＝Ａ［hour］  …（２）
【００４６】
この時、スリープ時の装置内温度をＴ１［Ｋ］、通常時の装置内温度をＴ２［Ｋ］とした場合、それぞれの動作モードの加重係数は以下となる。
【００４７】
スリープモード加重係数＝Ｆ（Ｔ０）／Ｆ（Ｔ１）  …（３）
通常モード加重係数＝Ｆ（Ｔ０）／Ｆ（Ｔ２）  …（４）
【００４８】
［リフレッシュ制御］
そして、各動作モードの加重滞在時間を積算した結果が上記リフレッシュ閾値を超えた場合（通常モードのＳ２０２のＹｅｓ、スリープモードのＳ３０３のＹｅｓ及びＳ４０１）、リフレッシュ処理を実施する（Ｓ２０３）。このリフレッシュ処理は、使用するフラッシュメモリの種類に応じて、以下の方法が考えられる。
【００４９】
（１）リフレッシュを行うメモリ領域を全てリードし、リードしたデータを再度同じメモリ領域に上書きする。
（２）リフレッシュを行うメモリ領域を全てリードする。
（３）フラッシュメモリデバイス側にリフレッシュ機能を備えており、制御部（フレッシュ制御機能）からリフレッシュ実施コマンドを送付し、デバイス側でリフレッシュ処理を実行させる。
【００５０】
そして、上記いずれかの方法でリフレッシュ処理を実施した後、加重積算時間をリセットする（Ｓ２０４）。
【００５１】
このように、装置内温度と動作モードとの相関に基づき、各動作モードの滞在時間を測定し、測定した滞在時間を動作モードに応じて（すなわち、動作モードに関連付けられた装置内温度に応じて）重み付けして加重滞在時間を算出し、加重滞在時間を積算した加重積算時間が予め定めた閾値を越えたときにリフレッシュ処理を実施することにより、簡単な構成で適切にフラッシュメモリのリフレッシュ制御を行うことができる。
【実施例２】
【００５２】
次に、本発明の実施例２に係る情報処理装置及びリフレッシュ制御プログラム並びにリフレッシュ制御方法について、図８を参照して説明する。図８は、フラッシュメモリのデータ保持期間の累計書き込みデータ量及び読み出し回数依存性を示す図である。
【００５３】
上述したように、フラッシュメモリへのデータの書き込み回数が多くなるとゲート絶縁膜が劣化し、浮遊ゲートの電子がシリコン基板に逃げやすくなるため、図８（ａ）に示すように、フラッシュメモリのデータ保持期間は、累計書き込みデータ量（累計ブロック消去回数）の増加に伴い、低下する傾向がある。また、ＮＡＮＤ型のフラッシュメモリの読み出し動作では、非選択のワード線に電圧が加わることによって電子がトンネリング注入され、しきい電圧が上昇して正しい値が読み出せなくなるため、図８（ｂ）に示すように、フラッシュメモリのデータ保持期間は、読み出し動作の回数の増加に伴い、低下する傾向がある。
【００５４】
そこで、本実施例では、リフレッシュ処理を実施する間隔を決定する際、装置内温度に加えて、累計書き込みデータ量及び／又は読み出し回数も考慮に入れて重み付けを行い、より最適な間隔でリフレッシュ処理を実施できるようにする。
【００５５】
具体的には、制御部（フラッシュメモリ制御機能）は、フラッシュメモリ２０２へのアクセスを監視することによってフラッシュメモリ２０２に対する累計書き込みデータ量及び／又は読み出し回数を取得し、加重滞在時間算出時の加重係数を、累計書き込みデータ量（累計ブロック消去回数）及び／又は読み出し回数に従って増加させる。なお、フラッシュメモリ２０２の種類によっては、デバイス側が累計書き込みデータ量（累計ブロック消去回数）の情報を保持している場合があり、その場合は、制御部（フラッシュメモリ制御機能）は、デバイス側が保持する値を参照することができる。
【００５６】
例えば、累計書き込みデータ量及び／又は読み出し回数をＳとした時、データ保持期間Ｒが式５で表される時、Ｓ＝０（デバイス未使用）の時のデータ保持期間は、式６となる。
【００５７】
Ｒ＝Ｆ（Ｓ）  …（５）
Ｒ０＝Ｆ（０）  …（６）
【００５８】
温度依存性のみを考慮した加重係数をＫとした時、温度依存性に加えて、累計書き込みデータ量及び／又は読み出し回数依存性も考慮にいれた加重係数Ｋ’は、以下の式で表される。
【００５９】
Ｋ’＝Ｋ×Ｆ（０）／Ｆ（Ｓ）  …（７）
【００６０】
このように、累計書き込みデータ量及び／又は読み出し回数を考慮して加重滞在時間を補正することにより、フラッシュメモリのリフレッシュ処理を実施タイミング行うことができる。
【００６１】
なお、上記説明では、制御部（フラッシュメモリ制御機能）は、フラッシュメモリ２０２に対する累計書き込みデータ量及び／又は読み出し回数を取得し、累計書き込みデータ量及び／又は読み出し回数に従って加重滞在時間算出時の加重係数を補正する構成としたが、各動作モードに対して各構成要素が一定の動作を行う（例えば、一定の時間間隔で一定の処理を繰り返し行う）場合は、動作モードと累計書き込みデータ量や読み出し回数（特に読み出し回数）は相関関係を有すると考えることができる。従って、この場合は、実施例１と同様に、動作モードに応じて加重滞在時間を補正すればよく、必ずしも累計書き込みデータ量や読み出し回数を取得しなくてもよい。
【実施例３】
【００６２】
次に、本発明の実施例３に係る情報処理装置及びリフレッシュ制御プログラム並びにリフレッシュ制御方法について、図９を参照して説明する。図９は、リフレッシュ処理の実施タイミングの一例を示すタイミングチャート図である。
【００６３】
前記した実施例１及び実施例２では、加重積算時間がリフレッシュ閾値を超えた場合、直ちにリフレッシュ処理を実施したが、加重積算時間がリフレッシュ閾値を超え、リフレッシュ処理を実施するタイミングとなった場合であっても、以下のようなリフレッシュ制御を行うことで、リフレッシュ処理自体がシステムに与える負荷を軽減することが可能となる。
【００６４】
具体的には、ＣＰＵ２００はフラッシュメモリ２０２のバス使用率を取得し、図９に示すように、リフレッシュ処理の実施時に、ある処理（ここではシステム処理Ａ）を実施することによってフラッシュメモリ２０２のバス使用率が予め定めた第１閾値（図中の開始閾値）を超えている場合、リフレッシュ処理の実施を延期する。そして、フラッシュメモリ２０２のバス使用率が開始閾値以下となったら、リフレッシュ処理を開始する。
【００６５】
また、図９に示すように、リフレッシュ処理の実施中に、ある処理（ここではシステム処理Ｂ）を実施することによってフラッシュメモリ２０２のバス使用率が予め定めた第２閾値（図中の中断閾値）を超えた場合、リフレッシュ処理を中断する。そして、フラッシュメモリ２０２のバス使用率が開始閾値（若しくは中断閾値）以下となったら、リフレッシュ処理を再開する。
【００６６】
なお、ここでは、フラッシュメモリ２０２のバス使用率に基づいて、リフレッシュ処理の実施タイミングを制御したが、バス使用率以外に、動作モードを参照して、リフレッシュ処理の開始、中断、再開を制御しても、システムへの負荷軽減効果を得ることができる。例えば、通常モードとして、システムの処理が頻繁に発生する第１通常モードと、システムの処理がほとんど発生しない第２通常モードがある場合、第１通常モード滞在中は、リフレッシュ処理を開始せず、第２通常モードに遷移後、リフレッシュ処理を開始するといった制御を行うことができる。
【実施例４】
【００６７】
次に、本発明の実施例４に係る情報処理装置及びリフレッシュ制御プログラム並びにリフレッシュ制御方法について説明する。
【００６８】
前記した実施例１では、環境温度が大きく変化しないものとし、装置内温度に基づいてリフレッシュ制御を行ったが、装置の使用環境（例えば、国、地域、設置場所等）に応じて、各動作モードにおける装置内温度が大きく異なる可能性がある。そこで、装置の使用環境に基づいて各動作モードにおける装置周辺温度予測値を割り出し、装置周辺温度予測値に基づいて加重滞在時間算出時の加重係数の補正値を算出し、表２に示すようなテーブルを作成して保持する。
【００６９】
【表２】
0005867464.tif 000003
【００７０】
そして、予め装置使用前に、装置の使用環境に基づいた環境設定を行い、上記テーブルを参照して、加重滞在時間算出時の加重係数を補正する。これにより、装置の使用環境に応じた、より最適な間隔でフラッシュメモリのリフレッシュ処理を実施することが可能となる。
【実施例５】
【００７１】
次に、本発明の実施例５に係る情報処理装置及びリフレッシュ制御プログラム並びにリフレッシュ制御方法について、図１０乃至図１２を参照して説明する。図１０は、実施例５の情報処理装置の構成例を示すブロック図である。また、図１１は、各処理実行時の装置内温度の変化を示す図であり、図１２は、処理実行回数カウントによる加重係数の補正方法を説明する図である。
【００７２】
前記した実施例１では、一般的な情報処理装置を用いた場合のリフレッシュ制御について記載したが、本実施例では、情報処理装置の一例として、ＭＦＰを用いる場合について説明する。ＭＦＰは、図１０に示すように、制御部３００とＵＩ（User Interface）部３０７と画像読取部３０８と画像形成部３０９などで構成される。
【００７３】
制御部３００は、ＣＰＵ３０１と、ＲＯＭやＲＡＭなどのメインメモリ３０２と、フラッシュメモリ３０３と、ＲＴＣ及びＦＲＡＭ（登録商標）などからなるＭＰＵ３０４と、電池などのバックアップ電源３０５と、画像処理部３０６などで構成される。画像処理部３０６は、ＡＳＩＣ（Application Specific Integrated Circuit）などであり、画像読取部３０８で読み取った画像データに対し、エッジ強調処理や、スムージング処理、色変換処理等の画像処理を行ったりする。
【００７４】
ＵＩ部３０７は、ＬＣＤ（Liquid Crystal Display）等の表示部、感圧式や静電容量式などのタッチパネル、ハードキーなどであり、処理条件を設定するための設定画面などを表示すると共に、処理条件の設定操作、処理の実行指示などを可能にする。
【００７５】
画像読取部３０８は、原稿台上の原稿から画像データを光学的に読み取る部分であり、原稿を走査する光源と、原稿で反射された光を電気信号に変換するＣＣＤ（Charge Coupled Devices）等のイメージセンサと、電気信号をＡ／Ｄ変換するＡ／Ｄ変換器等により構成される。
【００７６】
画像形成部３０９は、画像処理部３０６で画像処理を行った画像データに基づき、用紙への印刷処理を行う部分である。具体的には、帯電装置により帯電された感光体ドラムに露光装置から画像に応じた光を照射して静電潜像を形成し、現像装置で帯電したトナーを付着させて現像し、そのトナー像を転写ベルトに１次転写し、転写ベルトから用紙に２次転写し、更に定着装置で用紙上のトナー像を定着させる処理を行う。
【００７７】
上記構成において、定着装置は、トナーを紙面に定着させるために、一般的に、１６０℃〜１８０℃程度の温度が必要となり、定着プロセス中、非常に高温となる。このため、ＭＦＰやレーザープリンタにおいては、定着装置のＯＮ／ＯＦＦ制御次第で、装置内温度が著しく変化する。また、ＭＦＰでは、”通常”、”スリープ”、”電源ＯＦＦ”等の動作モードにより、装置内温度が変化するのに加えて、紙面へのトナー定着を行う直前に定着装置の温度を急激に上昇させる等の制御を行うため、同一のモードに滞在している場合においても、装置の使用状況に応じて装置内温度が大きく変化する。例えば、図１１において、処理Ａ、処理Ｂは、コピージョブ、プリントジョブなどであり、これらの処理を実行する際に、装置内温度が急激に上昇する。
【００７８】
また、ＭＦＰに限らず、各々の処理に応じて装置内温度が大きく変化する機器においては、動作モードの滞在時間のみならず、各動作モードにおいて実行する処理を考慮する必要がある。
【００７９】
そこで、本実施例では、ＭＦＰなど処理単位で顕著な装置内温度変化が発生する機器においては、図１２に示すように、各動作モードの滞在時間の加重積算時、前回の加重積算時から現在までの間に実行された処理の回数を処理別にカウントしておく。この処理実行回数カウント値と、予め装置内温度への影響度を加味して設定した処理毎の加重係数補正値と、予め設定した動作モード毎の加重係数とに基づき、最終的な加重係数を算出し、この最終的な加重係数を用いて、加重滞在時間の算出及び積算を行うようにする。
【００８０】
これにより、処理に応じて装置内温度が大きく変化する機器に対しても、リフレッシュ処理を実施する間隔を適切に決定することが可能となる。
【００８１】
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨を逸脱しない限りにおいて、その構成や制御は適宜変更可能である。例えば、上記実施例では、動作モードとして、電源ＯＦＦモード、省電力モード、通常モードの３つを例示したが、動作モードは複数であればよい。
【産業上の利用可能性】
【００８２】
本発明は、フラッシュメモリを有する情報処理装置及びフラッシュメモリのリフレッシュ制御プログラム並びにリフレッシュ制御方法に利用可能である。
【符号の説明】
【００８３】
１００  システム制御部
１０１  フラッシュ制御部
１０２  時間計測部
１０３  フラッシュメモリ
２００  ＣＰＵ
２０１  メインメモリ
２０２  フラッシュメモリ
２０３  ＭＰＵ
２０４  バックアップ電源
２０５  発熱機器
３００  制御部
３０１  ＣＰＵ
３０２  メインメモリ
３０３  フラッシュメモリ
３０４  ＭＰＵ
３０５  バックアップ電源
３０６  画像処理部
３０７  ＵＩ部
３０８  画像読取部
３０９  画像形成部
【図１】
0005867464.tif 000004
【図２】
0005867464.tif 000005
【図３】
0005867464.tif 000006
【図４】
0005867464.tif 000007
【図５】
0005867464.tif 000008
【図６】
0005867464.tif 000009
【図７】
0005867464.tif 000010
【図８】
0005867464.tif 000011
【図９】
0005867464.tif 000012
【図１０】
0005867464.tif 000013
【図１１】
0005867464.tif 000014
【図１２】
0005867464.tif 000015