(57)【要約】      （修正有）【課題】製品寿命に達する前に書き換え寿命に達することのないようフラッシュメモリを適切に制御する。【解決手段】情報処理装置１０１は、フラッシュメモリの周辺の温度を計測する周辺温度計測部３０２と、計測温度に基づいて書き換え寿命を予測する書き換え寿命予測部３０３と、書き換え回数のブロックごとの合計値を取得する書き換え回数取得部３０４と、書き込み機能部による１回当たりのデータの書き換えブロック数をデータの種類ごとに取得する書き換えブロック数取得部３０５と、書き込み機能部による書き換え頻度をデータの種類ごとに取得する書き換え頻度取得部３０６と、書き換え回数と、書き換えブロック数と、書き換え頻度とに基づき、書き換え寿命到達時間を予測する書き換え寿命到達時間予測部３０７と、書き換え寿命到達時間が所定の製品寿命より短い場合に、書き換え頻度をデータの種類ごとに調整する書き換え頻度調整部３０８とを有する。【選択図】図４
2020154674.tif 000002
【特許請求の範囲】
【請求項１】
ブロック単位でデータの書き換えが行われるフラッシュメモリが組み込まれた情報処理装置であって、
前記フラッシュメモリにデータを書き込む書き込み機能部と、
前記フラッシュメモリの周辺の温度を計測する周辺温度計測部と、
前記周辺温度計測部により計測された温度に基づいて前記フラッシュメモリの書き換え寿命を予測する書き換え寿命予測部と、
前記フラッシュメモリの書き換え回数のブロックごとの合計値を取得する書き換え回数取得部と、
前記書き込み機能部による１回当たりのデータの書き換えブロック数を、データの種類ごとに取得する書き換えブロック数取得部と、
前記書き込み機能部によるデータの書き換え頻度を、データの種類ごとに取得する書き換え頻度取得部と、
前記書き換え回数と、前記書き換えブロック数と、前記書き換え頻度とに基づき、書き換え寿命に到達する時間である書き換え寿命到達時間を予測する書き換え寿命到達時間予測部と、
前記書き換え寿命到達時間が所定の製品寿命より短い場合に、前記書き換え頻度を、データの種類ごとに調整する書き換え頻度調整部と、
を有する情報処理装置。
【請求項２】
前記書き換え頻度調整部は、データの種類ごとに優先度を設定し、前記優先度の低いデータの書き換え頻度を低下させる
請求項１に記載の情報処理装置。
【請求項３】
前記書き込み機能部が前記フラッシュメモリに書き込むデータは、管理する機器から送信されるデータを含み、
前記機器から送信されるデータに基づいて異常を検出する異常検出部を有し、
前記書き換え頻度調整部は、前記異常検出部により異常が検出された場合に、該当するデータの優先度を高め、異常が解消した場合に優先度を元に戻す
請求項２に記載の情報処理装置。
【請求項４】
前記書き換え回数が前記書き換え寿命の一定割合以上であるか否かを判定する残寿命判定部と、
前記残寿命判定部により前記書き換え回数が前記書き換え寿命の一定割合以上であると判定された場合に警告を行う警告部と、
を有する請求項１ないし３いずれか１項に記載の情報処理装置。
【請求項５】
前記書き換え回数が前記書き換え寿命の一定割合以上であるか否かを判定する残寿命判定部と、
前記残寿命判定部により前記書き換え回数が前記書き換え寿命の一定割合以上であると判定された場合に、前記書き込み機能部によるデータの書き込みを停止させ、外部へデータを転送させる転送部と、
を有する請求項１ないし３いずれか１項に記載の情報処理装置。
【請求項６】
前記フラッシュメモリとは異なる新たなフラッシュメモリが追加されたことを検知するメモリ追加検知部と、
前記メモリ追加検知部により新たなフラッシュメモリの追加が検知された場合に、前記フラッシュメモリの残寿命と、前記新たなフラッシュメモリの残寿命とを比較し、前記書き込み機能部に、残寿命が長い方に対して書き込みを実行させる
請求項１ないし５いずれか１項に記載の情報処理装置。
【請求項７】
一時記憶装置を有し、
前記書き換え頻度調整部は、前記書き換え頻度を低下させる際に、前記書き込み機能部に、前記フラッシュメモリに代えて、前記一時記憶装置に対してデータの書き込みを行わせる
請求項１ないし６いずれか１項に記載の情報処理装置。
【請求項８】
前記書き込み機能部は、前記フラッシュメモリにデータを書き込む際に、前記フラッシュメモリに書き込み済みのデータを参照し、変更がある場合にのみデータを書き込む
請求項１ないし７いずれか１項に記載の情報処理装置。
【請求項９】
一時記憶装置を有し、
前記書き換え頻度調整部は、前記書き換え頻度を低下させる際に、前記書き込み機能部に、前記書き換え頻度取得部により取得された前記書き換え頻度の高いデータを、前記フラッシュメモリに代えて、前記一時記憶装置に対して書き込みを行わせる
請求項１ないし６いずれか１項に記載の情報処理装置。
【請求項１０】
前記周辺温度計測部により計測される温度が所定温度以上であるか否かを判定する温度判定部と、
前記温度判定部により温度が所定温度以上であると判定された場合に警告を行う警告部と、
を有する請求項１ないし９いずれか１項に記載の情報処理装置。
【請求項１１】
前記フラッシュメモリの周辺温度を低下させるための冷却装置と、
前記周辺温度計測部により計測される温度が所定温度以上であるか否かを判定する温度判定部と、
前記温度判定部により温度が所定温度以上であると判定された場合に、前記冷却装置を制御して前記フラッシュメモリの温度を低下させる冷却装置制御部と、
を有する請求項１ないし９いずれか１項に記載の情報処理装置。
【請求項１２】
ブロック単位でデータの書き換えが行われるフラッシュメモリの周辺の温度を計測する周辺温度計測ステップと、
前記周辺温度計測ステップにより計測された温度に基づいて前記フラッシュメモリの書き換え寿命を予測する書き換え寿命予測ステップと、
前記フラッシュメモリの書き換え回数のブロックごとの合計値を取得する書き換え回数取得ステップと、
書き込み機能による１回当たりのデータの書き換えブロック数を、データの種類ごとに取得する書き換えブロック数取得ステップと、
書き込み機能によるデータの書き換え頻度を、データの種類ごとに取得する書き換え頻度取得ステップと、
前記書き換え回数と、前記書き換えブロック数と、前記書き換え頻度とに基づき、書き換え寿命に到達する時間である書き換え寿命到達時間を予測する書き換え寿命到達時間予測ステップと、
前記書き換え寿命到達時間が所定の製品寿命より短い場合に、前記書き換え頻度を、データの種類ごとに調整する書き換え頻度調整ステップと、
を有する情報処理方法。
【請求項１３】
ブロック単位でデータの書き換えが行われるフラッシュメモリの周辺の温度を計測する周辺温度計測ステップと、
前記周辺温度計測ステップにより計測された温度に基づいて前記フラッシュメモリの書き換え寿命を予測する書き換え寿命予測ステップと、
前記フラッシュメモリの書き換え回数のブロックごとの合計値を取得する書き換え回数取得ステップと、
書き込み機能による１回当たりのデータの書き換えブロック数を、データの種類ごとに取得する書き換えブロック数取得ステップと、
書き込み機能によるデータの書き換え頻度を、データの種類ごとに取得する書き換え頻度取得ステップと、
前記書き換え回数と、前記書き換えブロック数と、前記書き換え頻度とに基づき、書き換え寿命に到達する時間である書き換え寿命到達時間を予測する書き換え寿命到達時間予測ステップと、
前記書き換え寿命到達時間が所定の製品寿命より短い場合に、前記書き換え頻度を、データの種類ごとに調整する書き換え頻度調整ステップと、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、不揮発性半導体メモリの一種であるフラッシュメモリが電子機器等に広く使用されている。特に、ＮＡＮＤ型フラッシュメモリは、大容量化が進み、データ保存（ストレージ）用のデバイスとして主流になりつつある。ＮＡＮＤ型フラッシュメモリは、データの書き込み及び読み出しは、ページと呼ばれる複数のビット単位で行われ、データの消去は、ブロックと呼ばれる複数のページ単位で一括して行われる。フラッシュメモリでは、データの上書きを行うことはできないため、データを書き込む場合には、ブロック単位でデータを一括消去してから新たなデータを書き込む必要がある。
【０００３】
フラッシュメモリは、メモリセル（以下、単にセルという。）に設けられた浮遊ゲート内に注入される電荷によってデータを記憶する構成を有しており、データの保持には電源供給が不要である。しかしながら、放電等により浮遊ゲートの電荷量が時間変化するため、フラッシュメモリのデータ保持（データリテンション）時間は有限である。また、フラッシュメモリは、セルのデータ書き換え時にゲート絶縁膜に電荷トラップ等による劣化が生じるため、書き換え回数が大きくなるほどデータ保持時間が短くなることが知られている。
【０００４】
このような特性を有するフラッシュメモリは、一般的にハードディスク等の磁気記憶装置に比べて、データ保持時間が短く、かつ書き換え可能回数も少ない。ＮＡＮＤ型フラッシュメモリは、大容量化、高速化が容易である一方で、データ保持特性及び書き換え特性の面では、磁気記憶装置よりも不利と言われている。さらに、ＮＡＮＤ型フラッシュメモリは、近年大容量化を進めるために、１つのセルの浮遊ゲートが蓄積する電荷量を制御することにより、１セル当たり２ビット以上のデータを記憶させるＭＬＣ（Multi-Level Cell）技術が採用されている。このＭＬＣ技術は、大容量化には有利である一方で、データ保持特性及び書き換え特性を低下させ、使用寿命を低下させる。
【０００５】
このようなＮＡＮＤ型フラッシュメモリの使用寿命を延ばすことを目的とした、ウェアレベリング（wear levelling）と呼ばれる技術が一般に知られている。ウェアレベリングとは、例えば、ブロックごとにデータの書き換え回数を記録しておき、データの書き込みの際に、書き換え回数の少ないブロックに優先して書き込みを行うことで、ブロックごとの書き換え回数のばらつきを平準化する技術である。
【０００６】
また、フラッシュメモリの使用寿命を延ばすために、リフレッシュ処理を行う技術が知られている（例えば、特許文献１，２参照）。例えば、特許文献１では、フラッシュメモリが書き換えられた回数に応じてデータ保持時間を予測し、データ保持時間の経過前に保持されているデータを読み出して再び書き込むことが提案されている。
【０００７】
さらに、フラッシュメモリが組み込まれた製品の使用寿命（製品寿命）を延ばすことを目的とした技術が知られている（例えば、特許文献３参照）。特許文献３では、画像形成装置に使用されるカートリッジ等の消耗品にフラッシュメモリが搭載されている場合において、消耗品の使用量とフラッシュメモリへのアクセス頻度（書き換え頻度）とに基づいて、消耗品の製品寿命が尽きるまでフラッシュメモリの書き換え寿命を維持させるように、アクセス頻度を制御することが提案されている。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記のようなフラッシュメモリは、情報処理システムを構成するサーバ装置等に組み込まれ、他の装置との送受信で得られる各種データが書き込まれることがある。例えば、ネットワークに接続された複数の画像形成装置の状態等を監視するサーバ装置にフラッシュメモリが組み込まれている場合には、当該フラッシュメモリには、データを書き込む機能に応じて異なる種類のデータが書き込まれる。
【０００９】
このような情報処理システムにおいて、フラッシュメモリに書き込まれるデータのデータ量や書き換え頻度は、データの種類によって大きく異なる。例えば、画像形成装置の使用量に応じた課金に使用されるカウンタ情報は、データ量は小さいが、常に最新の情報が求められるので重要度が高く、書き換え頻度が高い。一方、画像形成装置のメンテナンス、レポートなどに関するデータは、情報が多岐に渡るため比較的データ量が大きいが、常に最新の情報が求められる訳ではないので書き換え頻度は低い。
【００１０】
しかしながら、特許文献１〜３に記載の技術では、フラッシュメモリへの１回当たりの書き込み時のデータ量や書き換え頻度が、書き込み機能によって大きく異なる状況に対応することはできない。想定以上のデータ量の書き込みが発生した場合には、製品寿命に達する前にフラッシュメモリの書き換え寿命に達して、フラッシュメモリが使用不能になる可能性がある。
【００１１】
開示の技術は、上記事情に鑑みてこれを解決すべくなされたものであり、製品寿命に達する前に書き換え寿命に達することのないようフラッシュメモリを適切に制御することを目的としている。
【課題を解決するための手段】
【００１２】
開示の技術は、ブロック単位でデータの書き換えが行われるフラッシュメモリが組み込まれた情報処理装置であって、前記フラッシュメモリにデータを書き込む書き込み機能部と、前記フラッシュメモリの周辺の温度を計測する周辺温度計測部と、前記周辺温度計測部により計測された温度に基づいて前記フラッシュメモリの書き換え寿命を予測する書き換え寿命予測部と、前記フラッシュメモリの書き換え回数のブロックごとの合計値を取得する書き換え回数取得部と、前記書き込み機能部による１回当たりのデータの書き換えブロック数を、データの種類ごとに取得する書き換えブロック数取得部と、前記書き込み機能部によるデータの書き換え頻度を、データの種類ごとに取得する書き換え頻度取得部と、前記書き換え回数と、前記書き換えブロック数と、前記書き換え頻度とに基づき、書き換え寿命に到達する時間である書き換え寿命到達時間を予測する書き換え寿命到達時間予測部と、前記書き換え寿命到達時間が所定の製品寿命より短い場合に、前記書き換え頻度を、データの種類ごとに調整する書き換え頻度調整部と、を有する情報処理装置である。
【発明の効果】
【００１３】
本発明によれば、製品寿命に達する前に書き換え寿命に達することのないようフラッシュメモリを適切に制御することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態に係る機器管理システムの全体構成を例示する図である。
【図２】機器管理装置のハードウェア構成を例示する図である。
【図３】機器のハードウェア構成を例示する図である。
【図４】機器管理装置及び機器の機能構成を例示するブロック図である。
【図５】データ保持時間、温度、及び書き換え回数の関係の一例を示す図である。
【図６】書き換え寿命到達時間の予測方法、及び書き換え頻度の調整方法を説明する図である。
【図７】書き込み機能（データの種類）の一例を示す図である。
【図８】データ書き換えに関する一連の動作を説明するフローチャートである。
【図９】第１変形例に係るＣＰＵの機能構成を例示するブロック図である。
【図１０】第２変形例に係るＣＰＵの機能構成を例示するブロック図である。
【図１１】第３変形例に係るＣＰＵの機能構成を例示するブロック図である。
【図１２】第４変形例に係るＣＰＵの機能構成を例示するブロック図である。
【図１３】第８変形例に係るＣＰＵの機能構成を例示するブロック図である。
【図１４】第９変形例に係る機器管理装置のハードウェア構成を例示する図である。
【図１５】第９変形例に係るＣＰＵの機能構成を例示するブロック図である。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照しながら、本発明の一実施形態を詳細に説明する。なお、以下の実施形態により本発明が限定されるものではない。
【００１６】
［全体構成］
図１は、本発明の一実施形態に係る情報処理システム１の全体構成を例示する図である。図１に示すように、情報処理システム１は、情報処理装置としての機器管理装置１０と、複数の機器２０と、リモート管理サーバ装置３０とを含む。
【００１７】
機器管理装置１０は、ネットワーク５０を介して複数の機器２０と接続されている。また、機器管理装置１０は、ネットワーク６０を介してリモート管理サーバ装置３０と接続されている。ネットワーク５０は、例えば、企業のオフィスなどで用いられる社内ＬＡＮ（Local Area Network）等のネットワークである。ネットワーク６０は、例えば、インターネット等の社外ネットワークである。
【００１８】
機器管理装置１０は、例えば、機器２０を利用するユーザのオフィス等に設置される。機器管理装置１０には、機器２０を制御管理するための管理ソフトウェア（アプリケーションプログラム）が実装されている。
【００１９】
機器管理装置１０は、各機器２０と通信し、各機器２０から稼働情報やカウンタ情報の収集などを行う。機器管理装置１０は、各機器２０から収集した稼働情報やカウンタ情報をリモート管理サーバ装置３０に送信する。
【００２０】
機器２０は、画像形成装置であり、例えば、複合機（ＭＦＰ：Multi-Function Peripheral）である。複合機とは、印刷機能、複写機能、スキャナ機能、及びファクシミリ機能のうち少なくとも２つの機能を有する装置である。なお、機器２０は、画像形成装置に限られず、ネットワーク機器、電子機器、ＰＣなどであってもよい。また、複数の機器２０として、種類の異なる機器が混在していてもよい。
【００２１】
機器２０が画像形成装置である場合には、上述の稼働情報には、用紙やトナー等の消耗品の残量値、印刷枚数のカウント値、エラー情報などが含まれる。
【００２２】
複数の機器２０は、機器２０ごとにネットワーク５０を介して機器管理装置１０と通信する。
【００２３】
リモート管理サーバ装置３０は、ネットワーク６０を介して機器管理装置１０と通信する。リモート管理サーバ装置３０は、機器管理装置１０を介して取得する稼働情報に基づいて、各機器２０を遠隔管理する装置である。リモート管理サーバ装置３０は、各機器２０の稼働情報やカウンタ情報の集計、消耗品発注、レポート情報の作成、各機器２０への更新用ファームウェアの提供などを実施する。
【００２４】
［機器管理装置１０のハードウェア構成］
次に、機器管理装置１０のハードウェア構成について説明する。図２は、機器管理装置１０のハードウェア構成を例示する図である。
【００２５】
図２に示すように、機器管理装置１０は、ＣＰＵ（Central Processing Unit）１０１、ＲＡＭ（Random Access Memory）１０２、ＲＯＭ（Read Only Memory）１０３、フラッシュメモリ１０４、温度センサ１０５、機器Ｉ／Ｆ１０６、通信Ｉ／Ｆ１０７を有し、これらはバス１１０を介して互いに接続されている。また、機器Ｉ／Ｆ１０６には、表示部１０８及び操作部１０９が接続されている。
【００２６】
ＣＰＵ１０１は、機器管理装置１０全体の動作を統括的に制御する。ＲＡＭ１０２は、ＣＰＵ１０１が情報を処理する際の作業領域として用いられる。ＲＯＭ１０３には、起動用プログラムや各種の制御プログラム、アプリケーションプログラム等が格納される。
【００２７】
フラッシュメモリ１０４には、機器２０の管理に用いる各種管理情報、機器２０のステータス情報、稼働情報、カウンタ情報、設定変更情報、動作ログ、更新用ファームウェア、レポート情報等の各種データが書き込まれる。なお、ＲＯＭ１０３に代えて、フラッシュメモリ１０４に起動用プログラム等のプログラムを格納してもよい。
【００２８】
温度センサ１０５は、フラッシュメモリ１０４の使用環境温度を測定するためのセンサである。
【００２９】
フラッシュメモリ１０４は、ＮＡＮＤ型フラッシュメモリである。フラッシュメモリ１０４には、複数のビット単位からなるページと、複数のページ単位からなるブロックが構成されている。フラッシュメモリ１０４は、複数のブロックを有する。フラッシュメモリ１０４に対するデータの書き込み及び読み出しはページ単位で行われ、データの消去はブロック単位で行われる。フラッシュメモリ１０４では、データの上書きを行うことはできないため、データを書き込む場合には、ブロック単位でデータを一括消去したうえで、消去されたブロック内のページにデータを書き込む必要がある。すなわち、フラッシュメモリ１０４は、ブロック単位でデータの書き換えが行われる。
【００３０】
また、フラッシュメモリ１０４は、ウェアレベリング機能部１０４ａを有しており、内蔵するコントローラが、外部からの指示によりデータを書き換える際に、書き換え回数の少ないブロックに優先して書き込みを行うことで、ブロックごとの書き換え回数のばらつきを平準化する。
【００３１】
本実施形態では、ＣＰＵ１０１の機能により、フラッシュメモリ１０４に対してデータの書き込み、読み出し、及び消去の制御が行われる。
【００３２】
機器Ｉ／Ｆ１０６は、表示部１０８及び操作部１０９をバス１１０に接続するためのインタフェースである。表示部１０８は、各種の情報を表示するための視覚的ユーザインタフェースであり、例えばＬＣＤ（Liquid Crystal Display）などで構成される。操作部１０９は、キーボードやマウス等、ユーザが機器管理装置１０に対して各種の情報を入力するためのユーザインタフェースである。通信Ｉ／Ｆ１０７は、機器管理装置１０をネットワーク５０，６０に接続するためのインタフェースである。
【００３３】
ＲＯＭ１０３に格納されたプログラムや、ＲＡＭ１０２にロードされたプログラムに従ってＣＰＵ１０１が演算を行うことにより、ソフトウェア制御部が構成される。このソフトウェア制御部と、ハードウェアとの組み合わせによって、機能ブロックが構成される。
【００３４】
なお、機器管理装置１０により用いられるプログラムは、インストール可能な形式又は実行可能な形式のファイルで、記録メディア等のコンピュータで読み取り可能な記録媒体に記録して、流通させるようにしてもよい。
【００３５】
［機器のハードウェア構成］
次に、機器２０のハードウェア構成について説明する。図３は、機器２０のハードウェア構成を例示する図である。
【００３６】
図３に示すように、機器２０は、ＣＰＵ２０１と、ＲＯＭ２０２と、ＲＡＭ２０３と、外部記憶装置２０４と、エンジン部２０５と、操作表示部２０６と、通信Ｉ／Ｆ２０７とを有する。これらの各部は、システムバス２０８により通信可能に接続されている。
【００３７】
ＣＰＵ２０１は、ＲＯＭ２０２等に記憶されているプログラムをＲＡＭ２０３に読み出して実行し、機器２０の動作を統括的に制御する。ＲＯＭ２０２は、機器２０により用いられるプログラムを記憶している。ＲＡＭ２０３は、ＣＰＵ２０１の演算用のワークエリアとして使用される。
【００３８】
外部記憶装置２０４は、画像データ及び印刷データ等の各種データを記憶するＨＤＤ、ＳＳＤ（Solid State Drive）等の記憶装置である。
【００３９】
エンジン部２０５は、スキャナ機能、プリンタ機能等を実現するハードウェア装置である。また、エンジン部２０５は、用紙やトナー等の消耗品の残量を検出するセンサや、印刷枚数をカウントするカウンタや、各種エラーを検出するセンサなどを有している。これらのセンサやカウンタは、上述の稼働情報の取得に用いられる。
【００４０】
操作表示部２０６は、例えば、タッチパネル等であり、機器２０に対する指示の入力を受け付けるとともに、機器２０の状態等の情報を表示する装置である。なお、操作表示部２０６を、操作部と表示部とに分離してもよい。
【００４１】
通信Ｉ／Ｆ２０７は、ネットワーク５０に接続してデータを通信するためのインタフェースである。
【００４２】
［機能構成］
次に、機器管理装置１０のＣＰＵ１０１に構成される機能構成について説明する。図４は、ＣＰＵ１０１の機能構成を例示するブロック図であり、本実施形態に関わる特徴的な部分のみを示している。
【００４３】
図４において、ＣＰＵ１０１には、通信部３００と、書き込み機能部３０１と、周辺温度計測部３０２と、書き換え寿命予測部３０３と、書き換え回数取得部３０４と、書き換えブロック数取得部３０５と、書き換え頻度取得部３０６と、書き換え寿命到達時間予測部３０７と、書き換え頻度調整部３０８とが構成されている。
【００４４】
通信部３００は、機器２０及びリモート管理サーバ装置３０と通信し、各種データの送受信を行う。書き込み機能部３０１は、データの書き込み機能に応じて各種データをフラッシュメモリ１０４に書き込む機能部である。書き込み機能部３０１は、書き込むデータのデータ量に応じて１以上のブロックを消去したうえで、消去した１以上のブロックに含まれる１以上のページにデータを書き込む（書き換える）。
【００４５】
周辺温度計測部３０２は、温度センサ１０５の検出値に基づいて、フラッシュメモリ１０４の周辺の温度を計測する。
【００４６】
書き換え寿命予測部３０３は、周辺温度計測部３０２により計測された温度に基づき、フラッシュメモリ１０４の書き換え寿命を予測する。フラッシュメモリ１０４のデータ保持時間は温度が高くなるほど小さくなるという特性を有するので、書き換え寿命予測部３０３により予測される書き換え寿命は、温度が高いほど低くなる。また、書き換え寿命予測部３０３は、１ブロックの書き換え寿命に、フラッシュメモリ１０４が有するブロック数を乗じた値を、書き換え寿命として取得する。
【００４７】
図５は、フラッシュメモリ１０４のデータ保持時間、温度、及び書き換え回数の関係の一例を示す図である。図５は、フラッシュメモリ１０４として、ＳＬＣ（Single-Level Cell）のＮＡＮＤ型フラッシュメモリを用いた例を示している。図５中の実線は、ブロックを１０回書き換えた後におけるデータ保持時間の温度依存性を示している。一点鎖線は、ブロックを１０Ｋ回書き換えた後におけるデータ保持時間の温度依存性を示している。二点鎖線は、ブロックを１００Ｋ回書き換えた後におけるデータ保持時間の温度依存性を示している。
【００４８】
図５に示すように、フラッシュメモリ１０４は、周辺の温度が高くなるほどデータ保持時間が短くなる。また、書き換え回数が多くなるほどデータ保持時間が短くなる。例えば、周辺温度Ｔａを５５℃とした場合には、１００Ｋ回の書き換えを行った後では、データ保持時間が約１年となってしまう。例えば、製品寿命を５年と設定した場合には、データ保持時間の最低保証時間Ｒｍｉｎを５年とする必要がある。図５の例では、周辺温度Ｔａが５５℃で、最低保証時間Ｒｍｉｎを５年とするためには、書き換え寿命を約１０Ｋ以下に抑える必要がある。
【００４９】
書き換え寿命予測部３０３は、図５に示すようなデータ保持時間、温度、及び書き換え回数の関係を表す基準データを保持しており、周辺温度計測部３０２により計測された温度に基づき、最低保証時間Ｒｍｉｎ（例えば５年）を満たす書き換え寿命を求める。
【００５０】
図４に戻り、書き換え回数取得部３０４は、フラッシュメモリ１０４が有する各ブロックの書き換え回数を取得する。ここで、書き換え回数とは、フラッシュメモリ１０４の使用開始時から、書き込み機能部３０１によりデータが書き換えられた回数である。また、書き換え回数取得部３０４は、各ブロックの書き換え回数をカウントし、そのカウント値の合計値を、書き換え回数として取得する。
【００５１】
書き換えブロック数取得部３０５は、書き込み機能部３０１がデータを書き換える場合における１回当たりのブロック数（書き換えブロック数）を、書き込み機能ごと（すなわち、データの種類ごと）に取得する。
【００５２】
書き換え頻度取得部３０６は、書き込み機能部３０１がデータを書き換える頻度（書き換え頻度）を、書き込み機能ごと（すなわち、データの種類ごと）に取得する。
【００５３】
書き換え寿命到達時間予測部３０７は、書き換え回数取得部３０４により取得された書き換え回数（合計値）と、書き換えブロック数取得部３０５により取得された書き込み機能ごとの書き換えブロック数と、書き換え頻度取得部３０６により取得された書き込み機能ごとの書き換え頻度とに基づき、書き換え寿命予測部３０３により予測された書き換え寿命に到達する時間（書き換え寿命到達時間）を予測する。
【００５４】
例えば、書き換え寿命到達時間予測部３０７は、まず、書き換え回数と書き換え寿命との差（残りの書き換え可能回数）を求める。また、書き換え寿命到達時間予測部３０７は、書き込み機能ごとの書き換えブロック数と、書き込み機能ごとの書き換え頻度とに基づき、単位時間当たりに書き換えられる書き換え回数を書き込み機能ごとに求める。そして、書き換え寿命到達時間予測部３０７は、残りの書き換え可能回数と、単位時間当たりに書き換えられる書き換え回数とに基づいて、書き換え寿命到達時間を求める。
【００５５】
書き換え頻度調整部３０８は、機器管理装置１０の使用寿命として設定された製品寿命と、書き換え寿命到達時間予測部３０７により予測された書き換え寿命到達時間とを比較し、書き換え寿命到達時間が製品寿命より短い場合に、書き込み機能部３０１による書き換え頻度を書き込み機能ごと（すなわち、データの種類ごと）に調整することにより、書き換え寿命到達時間を製品寿命より延ばす。例えば、書き換え頻度調整部３０８は、重要度の低い書き込み機能の書き換え頻度を低下させることにより、フラッシュメモリ１０４全体としての書き換え寿命到達時間を製品寿命より延ばす。
【００５６】
図６は、書き換え寿命到達時間の予測方法、及び書き換え頻度の調整方法を説明する図である。図６において、Ｃ０は、ある時点ｔ０において書き換え回数取得部３０４により取得される書き換え回数の合計値を示している。また、Ｃｍａｘは、時点ｔ０において書き換え寿命予測部３０３により予測される書き換え寿命を示している。
【００５７】
ｔ１は、書き換え寿命到達時間予測部３０７により予測される書き換え寿命到達時間の一例を示している。このように書き換え寿命到達時間が製品寿命より短い場合には、書き換え頻度調整部３０８は、一部の書き込み機能の書き換え頻度を下げることにより、書き換え寿命到達時間を製品寿命より延ばす。ｔ２は、書き換え頻度の調整後の書き換え寿命到達時間を示している。
【００５８】
図７は、書き込み機能（データの種類）の一例を示す図である。図７に示されるように、フラッシュメモリ１０４に書き込まれるデータの種類として、機器ステータス情報、異常発生情報、カウンタ情報、レポート情報、設定変更情報、機器稼働情報、動作ログ、更新用ファームウェアなどが挙げられる。例えば、機器ステータス情報は、トナーエンド、トナーニアエンド、その他サプライ状況などを表す情報である。異常発生情報は、異常の種類、発生時刻などを表す情報である。
【００５９】
各書き込み機能（データの種類）には、重要度、データ量、書き換え頻度、優先度などの情報が対応付けられている。重要度、データ量、及び書き換え頻度は、データの種類によって異なる。なお、書き込み機能部３０１がフラッシュメモリ１０４に書き込むデータ量は、機器管理装置１０が管理する機器２０の台数に応じて異なる。
【００６０】
例えば、機器２０の使用量に応じた課金に使用されるカウンタ情報は、データ量は小さいが、常に最新の情報が求められるので重要度が高く、書き換え頻度が高い。また、異常発生情報も機器２０のダウンタイム削減のために重要であるが、データ形式は数値やフラグであるのでデータ量は小さい。一方、機器２０のメンテナンス、レポート、動作ログ、更新用ファームウェアなどに関するデータは、情報が多岐に渡るため比較的データ量が大きいが、常に最新の情報が求められる訳ではないので重要度は低い。
【００６１】
したがって、重要性の高いデータの書き換え頻度を調整すると、機器２０が動作を正常に実行できなくなる恐れがあるため、書き換え頻度調整部３０８は、主に重要度のデータの書き換え頻度を調整する。
【００６２】
優先度は、重要度とデータ量とに基づいて決定された値である。基本的に、優先度は、重要度が高いほど大きい。図７では、重要度が同じである場合には、データ量が小さいほうの優先度を高く設定している。これは、データ量が小さければ、書き換え頻度が比較的高くても、書き換え対称のブロック数が急激に増えず、影響が小さいためである。
【００６３】
書き換え頻度調整部３０８は、優先度に基づき、優先度の低いき込み機能の書き換え頻度を下げることにより、書き換え寿命到達時間を延ばす制御を行ってもよい。
【００６４】
［動作］
次に、フラッシュメモリ１０４のデータ書き換えに関する一連の動作について説明する。図８は、データ書き換えに関する一連の動作を説明するフローチャートである。
【００６５】
図８に示すように、まず、ステップＳ１０おいて、周辺温度計測部３０２がフラッシュメモリ１０４の周辺の温度を計測する。ステップＳ１１において、書き換え寿命予測部３０３が、周辺温度計測部３０２による温度の計測値に基づいて、フラッシュメモリ１０４の書き換え寿命を予測する。この書き換え寿命は、各ブロックの書き換え可能回数の合計値である。書き換え寿命は、温度の計測値が高いほど低くなる。
【００６６】
ステップＳ１２において、書き換え回数取得部３０４が、フラッシュメモリ１０４の現在までの書き換え回数を取得する。この書き換え回数は、各ブロックの書き換え回数の合計値である。ステップＳ１３において、書き換えブロック数取得部３０５が、データを書き換える際の１回当たりの書き換えブロック数を、書き込み機能（データの種類）ごとに取得する。ステップＳ１４において、書き換え頻度取得部３０６が、データの書き換え頻度を書き込み機能（データの種類）ごとに取得する。
【００６７】
ステップＳ１５において、書き換え寿命到達時間予測部３０７が、書き換え回数、書き換えブロック数、及び書き換え頻度に基づき、書き換え寿命に到達する時間（書き換え寿命到達時間）を予測する。ステップＳ１６において、書き換え頻度調整部３０８が、書き換え寿命到達時間と製品寿命とを比較し、書き換え寿命到達時間が製品寿命未満であるか否かを判定する。製品寿命未満である場合には、ステップＳ１７において、書き換え頻度調整部３０８により書き換え頻度の調整が行われる。書き換え頻度調整部３０８は、重要度又は優先度の低いデータの書き換え頻度が低下させることにより、書き換え寿命到達時間を製品寿命より長くする。
【００６８】
以上のように、本実施形態によれば、フラッシュメモリが組み込まれた製品の製品寿命に達する前に、フラッシュメモリの書き換え寿命に達することのないようフラッシュメモリの書き換えを適切に制御することができる。これにより、製品寿命がフラッシュメモリの書き換え寿命に影響されることを防止することができる。
【００６９】
以下に、上記実施形態の各種変形例について説明する。
【００７０】
［第１変形例］
上記実施形態では、図７に示すように、データの重要度及び優先度を一定値としているが、重要度及び優先度を機器２０の状態等に応じて変化する値としてもよい。
【００７１】
図９は、第１変形例に係るＣＰＵ１０１の機能構成を例示するブロック図である。本変形例は、ＣＰＵ１０１の機能構成に、異常検出部３２０が追加されている点が上記実施形態の機能構成と異なる。異常検出部３２０は、機器２０から取得される機器ステータス情報や異常発生情報に基づいて、機器２０の異常を検出する。
【００７２】
書き換え頻度調整部３０８は、異常検出部３２０により検出される異常の内容（例えば、異常度）に応じて、上述の重要度及び優先度を高める。例えば、書き換え頻度調整部３０８は、異常検出部３２０により異常が検出された場合に、該当する書き込み機能（データ）の重要度及び優先度を高め、異常が解消した場合に重要度及び優先度を元に戻す。
【００７３】
これにより、書き換え頻度の調整を実行している場合であっても、特定の非常に重要な異常が発生した際に、確実にデータを記録することができる。
【００７４】
［第２変形例］
図１０は、第２変形例に係るＣＰＵ１０１の機能構成を例示するブロック図である。本変形例は、ＣＰＵ１０１の機能構成に、残寿命判定部３３０及び警告部３３１が追加されている点が上記実施形態の機能構成と異なる。
【００７５】
残寿命判定部３３０は、書き換え寿命予測部３０３により予測される書き換え寿命と、書き換え回数取得部３０４により取得される書き換え回数とに基づき、書き換え回数が書き換え寿命の一定割合（例えば、９０％）以上であるか否か（すなわち、残寿命が一定値未満であるか否か）を判定する。
【００７６】
警告部３３１は、残寿命判定部３３０により書き換え回数が書き換え寿命の一定割合以上であると判定された場合に、通信部３００を介してリモート管理サーバ装置３０に警告を送信する。なお、警告部３３１は、機器管理装置１０の表示部１０８等に警告を報知してもよい。
【００７７】
このように、フラッシュメモリの書き換え回数が書き換え寿命に近い場合に予め警告を報知することにより、ユーザは事前にデータのバックアップ等の措置を取ることができ、フラッシュメモリが突然書き換え不能となることによるデータの消失を防止することができる。
【００７８】
［第３変形例］
図１１は、第３変形例に係るＣＰＵ１０１の機能構成を例示するブロック図である。本変形例は、ＣＰＵ１０１の機能構成に、残寿命判定部３３０及び転送部３３２が追加されている点が上記実施形態の機能構成と異なる。残寿命判定部３３０は、第２変形例における、残寿命判定部３３０と同一の構成である。
【００７９】
転送部３３２は、残寿命判定部３３０により書き換え回数が書き換え寿命の一定割合以上（残寿命が一定値未満）であると判定された場合に、書き込み機能部３０１によるフラッシュメモリ１０４へのデータの書き込みを停止させ、データを、通信部３００を介して外部の逐次サーバ等へ転送させる。なお、逐次サーバとは、機器管理装置１０から定期的（１日ごと、１週間ごと、１カ月ごと等）にデータを取得するサーバ装置である。
【００８０】
このように、フラッシュメモリの書き換え回数が書き換え寿命に近い場合にデータをフラッシュメモリに蓄積せずに外部に転送することにより、フラッシュメモリが突然書き換え不能となることによるデータの消失を防止することができる。
【００８１】
［第４変形例］
図１２は、第４変形例に係るＣＰＵ１０１の機能構成を例示するブロック図である。本変形例は、ＣＰＵ１０１の機能構成に、メモリ追加検知部３４０及び残寿命比較部３４１が追加されている点が上記実施形態の機能構成と異なる。本変形例では、機器管理装置１０には、フラッシュメモリ１０４に加えて、新たなフラッシュメモリ（オプションフラッシュメモリ）１０４ｂを追加することができる。
【００８２】
メモリ追加検知部３４０は、機器管理装置１０に新たなフラッシュメモリ１０４ｂが追加（装着）されたことを検知する。残寿命比較部３４１は、メモリ追加検知部３４０により新たなフラッシュメモリ１０４ｂの追加が検知された場合に、フラッシュメモリ１０４の残寿命（書き換え寿命到達時間）と、新たなフラッシュメモリ１０４ｂの残寿命とを比較し、書き込み機能部３０１に、残寿命が長い方のフラッシュメモリに対して書き込みを実行させる。
【００８３】
このように、オプションフラッシュメモリが装着されている場合に、残寿命の長い方への書き込みを選択的に行うことで、フラッシュメモリ１０４の書き換え寿命をさらに延命することができる。
【００８４】
［第５変形例］
第５変形例は、書き換え頻度調整部３０８の機能が上記実施形態と異なる。本変形例では、書き換え頻度調整部３０８は、フラッシュメモリ１０４の書き換え頻度を低下させるために、一定時間（例えば、１日）の間、書き込み機能部３０１に、フラッシュメモリ１０４に代えて、一時記憶装置としてのＲＡＭ１０２に対してデータの書き込みを行わせる。そして、書き換え頻度調整部３０８は、一定時間が経過すると、書き込み機能部３０１に、ＲＡＭ１０２からデータを読み出してフラッシュメモリ１０４に対して書き込みを行わせる。
【００８５】
このように、一定時間ごとにフラッシュメモリ１０４へデータを書き込むことで、機器２０等から最新のデータを取得しつつ、フラッシュメモリ１０４の書き換え頻度を低下させることができる。
【００８６】
［第６変形例］
第６変形例は、書き込み機能部３０１の機能が上記実施形態と異なる。本変形例では、書き込み機能部３０１は、フラッシュメモリ１０４にデータを書き込む際に、フラッシュメモリ１０４に書き込み済みのデータを参照し、変更がある場合にのみデータを書き込む。
【００８７】
このように、データに変更がある場合にのみ書き込みを行うことで、フラッシュメモリ１０４の書き換え頻度を低下させることができる。
【００８８】
［第７変形例］
第７変形例は、書き換え頻度調整部３０８の機能が上記実施形態と異なる。本変形例では、書き換え頻度調整部３０８は、フラッシュメモリ１０４の書き換え頻度を低下させるために、一定時間（例えば、１日）の間、書き込み機能部３０１に、書き換え頻度の高いデータを、フラッシュメモリ１０４に代えて、一時記憶装置としてのＲＡＭ１０２に対して書き込みを行わせる。そして、書き換え頻度調整部３０８は、一定時間が経過すると、書き込み機能部３０１に、ＲＡＭ１０２からデータを読み出してフラッシュメモリ１０４に対して書き込みを行わせる。
【００８９】
なお、書き換え頻度調整部３０８は、書き換え頻度の低いデータについては、ＲＡＭ１０２への書き込みは行わせず、フラッシュメモリ１０４に対して書き込ませる。
【００９０】
このように、書き換え頻度の高いデータを一時的にＲＡＭ１０２に書き込むことにより、フラッシュメモリ１０４の書き換え頻度を低下させることができる。
【００９１】
［第８変形例］
図１３は、第８変形例に係るＣＰＵ１０１の機能構成を例示するブロック図である。本変形例は、ＣＰＵ１０１の機能構成に、温度判定部３５０及び警告部３５１が追加されている点が上記実施形態の機能構成と異なる。
【００９２】
温度判定部３５０は、周辺温度計測部３０２により計測された温度が所定温度以上であるか否かを判定する。この所定温度は、例えば、書き換え寿命予測部３０３により予測される書き換え寿命が、製品寿命に対して不足する温度である。
【００９３】
警告部３５１は、温度判定部３５０により周辺温度が所定温度以上であると判定された場合に、通信部３００を介してリモート管理サーバ装置３０に警告を送信する。なお、警告部３５１は、機器管理装置１０の表示部１０８等に警告を報知してもよい。
【００９４】
このように、フラッシュメモリの周辺温度が所定温度以上となった場合に警告を行うことで、ユーザが使用環境の改善を図り、書き換え寿命を延ばすことができる。
【００９５】
［第９変形例］
図１４は、第９変形例に係る機器管理装置１０のハードウェア構成を例示する図である。本変形例は、フラッシュメモリ１０４の周辺温度を低下させるための冷却装置１１２が追加されている点が上記実施形態のハードウェア構成と異なる。
【００９６】
図１５は、第９変形例に係るＣＰＵ１０１の機能構成を例示するブロック図である。本変形例は、ＣＰＵ１０１の機能構成に、温度判定部３５０及び冷却装置制御部３５２が追加されている点が上記実施形態の機能構成と異なる。温度判定部３５０は、第８変形例における温度判定部３５０と同一の構成である。
【００９７】
冷却装置制御部３５２は、温度判定部３５０により周辺温度が所定温度以上であると判定された場合に、冷却装置１１２を制御してフラッシュメモリ１０４の温度を低下させる。
【００９８】
このように、フラッシュメモリの周辺温度が所定温度以上となった場合にフラッシュメモリの温度を低下させることで、書き換え寿命を延ばすことができる。
【００９９】
なお、上記複数の変形例は、矛盾が生じない限り組み合わせることが可能である。
【０１００】
上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたＡＳＩＣ（Application Specific Integrated Circuit）、ＤＳＰ（digital signal processor）、ＦＰＧＡ（field programmable gate array）や従来の回路モジュール等のデバイスを含むものとする。
【０１０１】
また、上記各実施形態に示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することができ、その応用形態に応じて適切に定めることができる。
【符号の説明】
【０１０２】
１  情報処理システム
１０  機器管理装置
２０  機器
３０  リモート管理サーバ装置
１０１  ＣＰＵ
１０２  ＲＡＭ（一時記憶装置）
１０４  フラッシュメモリ
１０４ａ  ウェアレベリング機能部
１０４ｂ  フラッシュメモリ
１０５  温度センサ
１１２  冷却装置
３００  通信部
３０１  機能部
３０２  周辺温度計測部
３０３  寿命予測部
３０４  回数取得部
３０５  ブロック数取得部
３０６  頻度取得部
３０７  寿命到達時間予測部
３０８  頻度調整部
３２０  異常検出部
３３０  残寿命判定部
３３１  警告部
３３２  転送部
３４０  メモリ追加検知部
３４１  残寿命比較部
３５０  温度判定部
３５１  警告部
３５２  冷却装置制御部
【先行技術文献】
【特許文献】
【０１０３】
【特許文献１】特開２００９−３８４３号公報
【特許文献２】特開２０１０−６７０９８号公報
【特許文献３】特開２００９−５３６８１号公報
【図１】
2020154674.tif 000003
【図２】
2020154674.tif 000004
【図３】
2020154674.tif 000005
【図４】
2020154674.tif 000006
【図５】
2020154674.tif 000007
【図６】
2020154674.tif 000008
【図７】
2020154674.tif 000009
【図８】
2020154674.tif 000010
【図９】
2020154674.tif 000011
【図１０】
2020154674.tif 000012
【図１１】
2020154674.tif 000013
【図１２】
2020154674.tif 000014
【図１３】
2020154674.tif 000015
【図１４】
2020154674.tif 000016
【図１５】
2020154674.tif 000017