(57)【要約】      （修正有）【課題】記憶装置への頻繁な書き込み処理による、特にｅＭＭＣに予め確保されているスワップ領域への書き換えが多く発生した場合の、寿命の短縮を避けつつ、システムのパフォーマンスを低下させない情報処理装置および画像形成装置等のストレージの制御方法を提供する。【解決手段】ｅＭＭＣのデバイス寿命を取得しＳ４０１、ｅＭＭＣの寿命が一定以上が判定しＳ４０２寿命が一定以上の場合はＳ４０２ＹＥＳ、スワップ機能をオフにしするＳ４０３、コントローラボードに交換警告を通知するＳ４０４。【選択図】図４
2018156582.tif 000002
【特許請求の範囲】
【請求項１】
揮発性のメモリおよび不揮発性の記憶装置を備える情報処理装置において、
前記揮発性のメモリに記憶されたデータを前記不揮発性の記憶装置の中のスワップ領域へ退避させる処理であるスワップ処理を制御するスワップ制御手段と、
前記不揮発性の記憶装置の寿命に関する情報に応じて、前記スワップ制御手段による、スワップ処理を制限する制限手段とを備える情報処理装置。
【請求項２】
前記制限手段は、前記情報が、前記不揮発性の記憶装置の残り寿命が所定値以下であることを示している場合、前記スワップ制御手段による前記スワップ領域へのデータの退避を制限する請求項１に記載の情報処理装置。
【請求項３】
前記制限手段は、前記情報が、前記不揮発性の記憶装置の残り寿命が所定値以下であることを示している場合、オペレーティングシステムに対して指示されるスワッピネスに関するコマンドのパラメータを操作することで、前記スワップ制御手段による前記スワップ領域へのデータの退避を制限する請求項１に記載の情報処理装置。
【請求項４】
前記制限手段は、前記情報が、前記不揮発性の記憶装置の残り寿命が所定値以下であることを示している場合、前記スワップ制御手段による前記スワップ領域へのデータの退避を停止させる請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記不揮発性の記憶装置は、前記情報処理装置の制御ボード上に実装されており、
前記情報が、前記不揮発性の記憶装置の残り寿命が所定値以下であることを示している場合、前記スワップ制御手段による少なくとも新規のスワップ処理を停止させた上で、前記制御ボードの交換を促す通知を前記情報処理装置の操作部に表示させる信号を通知する通知手段をさらに備える請求項３に記載の情報処理装置。
【請求項６】
前記不揮発性の記憶装置の寿命に関する情報とは、前記不揮発性の記憶装置に対する消去回数または、書き込み回数であり、前記不揮発性の記憶装置に対する消去回数または書き込み回数が所定の回数を超えると、前記スワップ制御手段はスワップを低減させることを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
揮発性のメモリおよび不揮発性の記憶装置とを備え得る情報処理装置の制御方法において、
前記揮発性のメモリに記憶されたデータを前記不揮発性の記憶装置の中のスワップ領域へ退避させる処理であるスワップ処理を制御するスワップ制御ステップと、
前記不揮発性の記憶装置の寿命に関する情報に応じて、前記スワップ制御ステップにおけるスワップ処理を制限する制限ステップとを備える制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および画像形成装置等のストレージ、特にｅＭＭＣ制御に関する方法である。
【背景技術】
【０００２】
近年、ｅＭＭＣ（ｅｍｂｅｄｄｅｄ  Ｍｕｌｔｉ  Ｍｅｄｉａ  Ｃａｒｄ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）などのＮＡＮＤ型フラッシュメモリをストレージとして搭載する機器が増加している。ｅＭＭＣはＮＡＮＤ型フラッシュメモリで構成されており、従来のストレージと比較すると、発熱、動作音、耐衝撃性能、消費電力、サイズといった観点で優れている。さらに、半導体部品の標準規格を策定している団体であるＪＥＤＥＣ（Ｊｏｉｎｔ  Ｅｌｅｃｔｒｏｎ  Ｄｅｖｉｃｅ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｃｏｕｎｃｉｌ）により仕様化されているため取り扱いやすい。一方で、フラッシュメモリであるため書き換え回数に制限があり、ストレージとしての耐用年数（寿命）が短いという側面がある。
【０００３】
また、書き込み回数、読み出し回数、消去回数のうちの少なくとも一つに上限のあるＮＡＮＤ型フラッシュメモリがある。具体的には、メモリ情報に基づき、ＮＡＮＤ型フラッシュメモリの消去回数が、当該ＮＡＮＤ型フラッシュメモリの消去可能上限回数に達する前に、ＮＡＮＤ型フラッシュメモリに警告を通知する技術がある（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１８６５５３
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところでスワップ領域は、物理メモリ容量が不足したときに使用してないプログラム（プロセス）を一時的に退避する領域である。スワップ機能は物理メモリ容量が不足した際に、任意のタイミングで実行されるため、スワップ領域への書き換えがどの程度発生するかを予測するのは困難である。
【０００６】
一方で、記憶領域へのアクセスが多く発生してしまった場合、想定よりも記憶装置の寿命を縮めてしまうという問題がある。例えば、頻繁なスワップ処理に基づく記憶装置に対する書き込みが発生した場合、記憶装置の寿命が短くなるという問題がある。
【０００７】
本発明は、前述の問題点の少なくともひとつを鑑みてなされたものである。本発明の一つの目的は、記憶装置への頻繁な書き込み処理による寿命の短縮を避けつつ、システムのパフォーマンスを低下させないことである。
【０００８】
本発明のさらに別の目的は、記憶装置の安定的な運用を実現することである。
【課題を解決するための手段】
【０００９】
上述の目的の少なくともひとつを達成するべく、本件発明は、情報処理装置であって、揮発性のメモリおよび不揮発性の記憶装置と通信する情報処理装置において、前記揮発性のメモリに記憶されたデータを前記不揮発性の記憶装置内のスワップ領域へ退避させる処理であるスワップ処理を制御するスワップ制御手段と、前記不揮発性の記憶装置の寿命に関する情報に応じて、前記スワップ制御手段による、スワップ処理を制限する制限手段とを備える。
【発明の効果】
【００１０】
本発明によれば、記憶装置の安定的な運用を実現することができる。例えば、本発明は、記憶装置の頻繁な書き込み処理による寿命の短縮を低減することを避けるとともに、システムのパフォーマンスの低下を防ぐことが出来る。
【図面の簡単な説明】
【００１１】
【図１】本実施形態における本画像形成装置１のブロック図の一例である。
【図２】本実施形態におけるスワップ機能であるスワップアウトのフローチャートである。
【図３】本実施形態におけるスワップ機能であるスワップインのフローチャートである。
【図４】本実施形態におけるデバイス寿命情報が一定以上の場合のスワップ機能をオフにするフローチャートである。
【図５】本実施形態におけるデバイス寿命情報に応じてスワップ機能を制限するフローチャートである。
【図６】本実施形態におけるｅＭＭＣ規格のデバイス寿命情報レジスタのマッピングの一例である。
【図７】本実施形態におけるＯＳ９０１が備えるスワップ頻度設定値の一例である。
【図８】本実施形態におけるｅＭＭＣ１０６およびＳＳＤ１１３のパーティション設定の一例である。
【図９】本実施形態におけるソフトウェアブロック図の一例である。
【発明を実施するための形態】
【００１２】
［実施例１］
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１３】
図１は、画像形成装置１のブロック図の一例である。
【００１４】
画像形成装置１は、以下から構成される。画像形成装置１は、電子写真方式およびインクジェット方式のＭＦＰおよびプリンタを含む。本装置の操作や表示を行うための操作部ユニット１１１を画像形成装置１は、有する。
【００１５】
デジタル画像を紙デバイスに出力するエンジンであるプリンタユニット１１２を画像形成装置１は有する。各デバイスや各ユニットを制御するコントローラユニット１００を画像形成装置１は有する。コントローラユニット１００は、例えば、ＣＰＵを含むハードウェアのシステム回路である。いわゆる汎用ＣＰＵも利用可能であるが、本実施形態を実行することにより、当該汎用ＣＰＵは本実施形態に開示された特定用途を実現するプロセッサとなる。画像形成装置１全体を制御するＣＰＵ１００、ブートプログラムが含まれるブートロム１０２、ＣＰＵ１００がワークメモリとして使用するＲＡＭ１０３が開示されている。また、電力供給が遮断された場合でも画像形成装置１を動作させるために必要な設定情報等のデータを保持可能なＳＲＡＭ１０４が開示される。さらに、時計機能を有するＲＴＣ１０５が開示される。また、ＣＰＵ１０１が実行するプログラムや各種データを格納するストレージとして次が開示される。例えば、メインストレージとしてＣＰＵ１０１が使用するｅＭＭＣ１０６、サブストレージとしてデータを格納する取り外し可能なＨＤＤ１０７がある。１１３は、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）である。以降、ｅＭＭＣ１０６を例に説明を進めるが、特に断らない限り、ＳＳＤ１１３でも同様である。つまり、例えば、図３、図４、図５、図８、図９に出てくるｅＭＭＣ１０６を、ＳＳＤ１１３と原則置き換えてもよいものとする。
【００１６】
画像形成装置は以下を含む。例えば、ＵＳＢメモリやＵＳＢカードリーダー等のＵＳＢデバイスと接続可能なＵＳＢホストＩ／Ｆ１０８が開示されている。また、外部装置とＵＳＢケーブルで接続可能なＵＳＢデバイスＩ／Ｆ１０９、有線ＬＡＮおよび無線ＬＡＮで外部ネットワークに接続可能なネットワークＩ／Ｆ１１０開示されている。
【００１７】
例えばＣＰＵ１０１はチップセット、バスブリッジ、クロックジェネレータ等のＣＰＵ周辺ハードウェアが多数含まれている。ただし、このブロック構成のみに本実施形態は限定されるものではない。次に、コントローラユニット１００の動作について、紙デバイスによる画像印刷を例に説明する。
【００１８】
利用者がＰＣやＵＳＢメモリといった外部装置から、各Ｉ／Ｆを介して画像印刷を指示すると、ＣＰＵ１０１がＲＡＭ１０３にＤＭＡ転送を行いデジタル画像データの一時保存を行なう。
【００１９】
ＣＰＵ１０１はデジタル画像データがＲＡＭ１０３に一定量もしくは全て入ったことが確認できると、ＣＰＵ１０１を介してプリンタユニット１１２に画像出力指示を出す。ＣＰＵ１０１はＲＡＭ１０３の画像データの位置を教え、プリンタユニット１１２からの同期信号に従ってＲＡＭ１０３上の画像データはプリンタユニット１１２に送信され、プリンタ装置１１２にて紙デバイスにデジタル画像データが印刷される。
【００２０】
複数部印刷を行なう場合、ＣＰＵ１０１がＲＡＭ１０３の画像データをｅＭＭＣ１０６もしくはＨＤＤ１０７に対して保存を行い、２部目以降は外部装置から画像を要求せずともプリンタユニット１１２に画像を送ることが可能である。
【００２１】
図２はＯＳ９０１が備える物理メモリ容量が不足したときに使用してないプログラム（プロセス）を一時的にストレージの領域に退避するスワップアウトというスワップ機能のフローチャートの一例である。図２の処理は所定のスワップアウト条件を満たしたことに応じて、ＯＳ９０１がＣＰＵ１０１に対して指示することで開始する。画像形成装置１のＣＰＵ１０１が、ｅＭＭＣ１０６に格納されている、プログラム（データを含む）を読み出す（Ｓ２０１）。そして、そのプログラムをＲＡＭ１０３に展開して実行する（Ｓ２０２）。
【００２２】
このとき、ＲＡＭ１０３に十分な空き容量がないとＣＰＵ１０１により判断された場合（Ｓ２０３−ＹＥＳ）、ＯＳ９０１はスワップアウト要求をＣＰＵ１０１に発行する（Ｓ２０４）。スワップアウト要求を受けたＣＰＵ１０１は、ＲＡＭ１０３で使用されていないプログラムをｅＭＭＣ１０６上に予め確保されているスワップ領域に一時的に退避する（Ｓ２０５）。なお、ＲＡＭ１０３に十分な空き容量があるとＣＰＵ１０１により判断された場合（Ｓ２０３−ＮＯ）、ＣＰＵ１０１は処理を終了する。
【００２３】
図３はＯＳ９０１が備える一時的にストレージの領域に退避された格納プログラムをメモリ上に復元するスワップインというスワップ機能のフローチャートの一例である。図２の処理は所定のスワップイン条件を満たしたことに応じて、ＯＳ９０１がＣＰＵ１０１に対して指示することで開始する。
【００２４】
スワップアウトされたプログラムを再び実行する際、ＯＳ９０１はスワップイン要求をＣＰＵ１０１に発行する（Ｓ３０１）。スワップイン要求を受けたＣＰＵ１０１は、格納プログラムを実行するための領域をＲＡＭ１０３上に確保する（Ｓ３０２）。
【００２５】
ＣＰＵ１０１はｅＭＭＣ１０６のスワップ領域より格納プログラムを読み出し、Ｓ３０２でＲＡＭ１０３に確保された領域に対して、格納プログラムを展開（復元）する（Ｓ３０３）。
【００２６】
なお、特定のＯＳでは、前記スワップインおよびスワップアウトを一切行わない等にスワップをオフにする機能が備わっている。図２，図３のスワップアウトおよびスワップインする頻度は、ＯＳ９０１によりスワッピネスのシステムコールに引数を与えることで設定できる。
【００２７】
図４は、本実施例のｅＭＭＣ１０６のデバイス寿命情報が一定以上の場合にスワップ機能をオフにするフローチャートの一例である。ＯＳ９０１またはｅＭＭＣ寿命監視プログラム等の制御により、ＣＰＵ１０１は、以下の処理を行う。ｅＭＭＣ寿命監視プログラム９０２は定期的にまたはユーザの指示により下記処理を開始する。ＣＰＵ１０１は、ｅＭＭＣ寿命監視プログラム９０２の制御の制御下でｅＭＭＣ１０６よりデバイス寿命情報を取得する（Ｓ４０１）。ＣＰＵ１０１は、ｅＭＭＣ寿命監視プログラム９０２の制御下で、前記取得したデバイスの寿命情報（図６参照）が一定の閾値以上を示すかどうかを判定する（Ｓ４０２）。Ｓ４０２で一定の閾値以上であると判定された場合、スワップ機能調整プログラムに対して指示をし、前記スワップ機能をＣＰＵ１０１はオフにする（Ｓ４０３）。具体的にはｅＭＭＣ寿命監視プログラム９０２からの通知に基づき、スワップ機能調整プログラム９０３は、ＯＳ９０１に対してスワップをＯＦＦにするようシステムコールを発行するよう指示する。さらに、ＣＰＵ１０１は、ＯＳ９０１の制御下で、操作部ユニット１１１にコントローラボード１００の交換を促すメッセージを表示する処理を制御する（Ｓ４０４）。具体的には、スワップ機能調整プログラム９０３が、ＯＳ９０１に対して指示をして、上記の交換メッセージを表示するようにするとよい。
【００２８】
例えば、ＯＳ９０１が起動時にｅＭＭＣ１０６にアクセスするとき、デバイス寿命レジスタの値を取得できる。このとき、例えば、取得した値が０ｘ０９（デバイス寿命使用済み  ８０％〜９０％）以上であれば、ＣＰＵ１０１は、スワップ機能調整プログラム９０３の指示により、スワップ機能をオフにする命令をオペレーティングシステムに対して指示する。なお、Ｓ４０２で一定の閾値以上でないと判定された場合、処理を終了する。
【００２９】
図６にはｅＭＭＣの寿命に関する情報の一例を示す。図６のマッピング自体は、ＪＥＤＥＣによるものである。ただし、ｅＭＭＣ規格は各割合を示す数値とレジスタに記憶されるべき値の対応を定義する。表の中の割合を示す数値（寿命に関する情報が示す値）をどのように計算するかは各社独自に規定している。この寿命に関する情報が示す値は、ｅＭＭＣ内の所定のレジスタに記憶される。また、その値各メーカ等が開発した特有のアルゴリズムで計算した値が前記のレジスタへ格納されうる。各メーカは、例えば、総書き込み容量をその時点の書き込み容量を、割った割合を寿命に関する情報として利用することもできる。例えば、ＳＬＣだと１０万回の書き込みが保証されうる。また、ＭＬＣ設定だと書き込み寿命は、例えば、３０００回となりうる。書き込み回数を書き込み寿命（回数）で割った値を、寿命に関する情報としてもよい。従って、ＳＬＣである場合の寿命はながく設定され、ＭＬＣ  設定である場合の寿命は短く設定されうる。具体的には、そのようにして決められた寿命に関する情報（例えば、百分率で定義される）の、図６の表に対応するコードがレジスタに対して設定されうる。ｅＭＭＣの寿命の計算方法については一例であり、これに限らない。同じ数の書き込みがあった場合でも、ＳＬＣに設定されたｅＭＭＣはスワップが制限されない一方、ＭＬＣに設定されたｅＭＭＣは、スワップが制限されることがありうる。これらの情報は、ｅＭＭＣ寿命監視プログラム９０２により監視される。
【００３０】
ｅＭＭＣドライブに書き込み可能なデータの総量をドライブ寿命の指標の一つとすることもできる。その時点の書き込み容量をｅＭＭＣドライブに書き込み可能なデータの総量で割った割合を、寿命に関する情報が示すとして利用することもできる。そして、当該割合が一定数を超えれば、スワップを制限または停止してもよい。
【００３１】
図７は、本実施形態のＯＳが備えるスワップ頻度設定値の一例を示す図である。当該スワップ頻度設定値を０〜１００の範囲で設定することで、前記スワップインおよびスワップアウトする頻度を変更することができる。例えば、Ｌｉｎｕｘ（登録商標）では、ＳｗａｐｐｉｎｅｓｓはＬｉｎｕｘ（登録商標）カーネルがスワップ処理を行う頻度を変更するためのパラメータとして定義される。Ｓｗａｐｐｉｎｅｓｓには０から１００までの値を設定することができる。既定の値は６０とすることができる。Ｓｗａｐｐｉｎｅｓｓの値が０であれば、メモリが一杯になるまでスワップを利用しないことを示す。ｓｗａｐｐｉｎｅｓｓが１００であれば、システムのパフォーマンスに影響しうるほど積極的にスワップ処理（図２、図３）を行うことを示す。
【００３２】
図５は、本実施例２のｅＭＭＣ１０６のデバイス寿命の変動に伴い、スワップ機能を制限するフローチャートの一例である。以下の処理は、ＯＳ９０１がＣＰＵ１０１の制御のもと、動作させてもよいが次のようにする。ｅＭＭＣ寿命監視プログラムの制御のもと、ＣＰＵ１０１は、はｅＭＭＣ１０６よりデバイス寿命情報を取得する（Ｓ５０１）。ｅＭＭＣ寿命監視プログラムの制御のもと、ＣＰＵ１０１は、前記取得したデバイス寿命情報が第１の値以上であるかどうかを判定する（Ｓ５０２）。ここで、デバイス寿命情報とは、（デバイス寿命情報使用済み：５０％〜６０％）などと表現される情報である。Ｓ５０２での判定結果が肯定的であれば、Ｓ５０３へ進む。そして、ｅＭＭＣ寿命監視プログラムの制御のもと、ＣＰＵ１０１は、前記取得したデバイス寿命情報が第２の値以上であるかを判定する（Ｓ５０３）。そして、前記取得したデバイス寿命情報が第２の値以上でない場合（Ｓ５０３−ＮＯ）はスワップ頻度設定値が規定以下に設定される（Ｓ５０６）。
【００３３】
具体的には、ｅＭＭＣ寿命監視プログラム９０２がスワップ機能調整プログラム９０３に対してスワップ頻度の低減を指示する。スワップ機能調整プログラム９０３は、ＯＳ９０１に対してスワップ頻度低減を指示するシステムコールの発行を依頼する。これにより、Ｓ５０６が実現される。
【００３４】
前記取得したデバイス寿命情報が第２の値以上である場合（Ｓ５０３−ＹＥＳ）は前記スワップ機能をオフにし（Ｓ５０４）、操作部ユニット１１１にコントローラボード１００の交換を促すメッセージが操作部ユニット１１１に表示される（Ｓ５０５）。具体的には、ｅＭＭＣ寿命監視プログラム９０２がスワップ機能調整プログラム９０３に対してスワップ頻度の停止を指示する。スワップ機能調整プログラム９０３は、ＯＳ９０１に対してスワップを停止するシステムコールの発行を依頼する。これにより、Ｓ５０４が実現される。
【００３５】
ＯＳが起動時を考える。たとえば、ｅＭＭＣ１０６にアクセスするとき、ｅＭＭＣ寿命監視プログラム９０２がデバイス寿命情報レジスタの値を取得する。このとき、取得した値が０ｘ０６（デバイス寿命使用済み  ５０％〜６０％）以上であれば、スワップ頻度設定値を既定の半分の値に設定し、スワップ頻度を制限する。
【００３６】
図８は、本実施形態におけるｅＭＭＣ１０６のパーティション設定の一例である。
プログラム格納領域８０１は、ＯＳ９０１やアプリケーション等のプログラム（実行ファイル）が格納される領域である。
【００３７】
スワップ領域８０２は、図２および図３で説明したスワップ機能を実行するためのＯＳが管理する領域である。
【００３８】
前述の通り、ＣＰＵ１０１はプログラム格納領域８０１に格納されたプログラムを実行するために、当該プログラムをワークメモリであるＲＡＭ１０３に展開する。
【００３９】
このとき、ＣＰＵ１０１がＲＡＭ１０３の容量以上にプログラムを展開しようとするとき、ＯＳ９０１はすでにＲＡＭ１０３に展開されているが使用してないプログラム（プロセス）を一時的にスワップ領域８０２にスワップアウトする。さらに、ＯＳ９０１は、ＲＡＭ１０３に空きが出てくるとスワップ領域８０２に退避したプログラム（プロセス）をＲＡＭ１０３にスワップインする。
【００４０】
ここで、ＯＳ９０１が行うスワップアウトおよびスワップインは任意のタイミングである。ここでは、図７の値をチューニングして、システムに最適なスワップ頻度を設定する必要がある。
【００４１】
図９は、前述の実施例を実現するソフトウェアブロック図の一例である。
【００４２】
ＣＰＵ１０１に接続されるデバイスを制御するＯＳ９０１、ＯＳ９０１が各デバイスを制御するためのデバイスドライバである。また、ｅＭＭＣ１０６を制御するｅＭＭＣデバイスドライバ９０５、ＲＴＣ１０５やＨＤＤ１０７等、ｅＭＭＣ１０６以外のデバイスを制御するデバイスドライバ９０６がある。
【００４３】
ｅＭＭＣのデバイス寿命レジスタの値を監視するｅＭＭＣ寿命監視プログラム９０２、ＯＳ９０１のスワップ機能のオン／オフしたり頻度を調整するスワップ機能調整プログラム９０３がある。また、操作部ユニット１１１に画像を表示したり、デジタル画像を生成および加工したりするその他システム・プログラム９０４が開示される。
【００４４】
例えば、前述の実施形態で説明したｅＭＭＣ１０６のデバイス寿命情報は、ｅＭＭＣ寿命監視プログラム９０２によってＯＳ９０１を介してｅＭＭＣデバイスドライバ９０５から定期的あるいは特定のタイミングで取得される。
【００４５】
ここで取得されたｅＭＭＣ１０６のデバイス寿命情報が前述の閾値を示しているとき、ｅＭＭＣ寿命監視プログラム９０２はスワップ機能調整プログラム９０３にスワップ機能のオン／オフ、あるいは頻度調整を指示する。
【００４６】
スワップ機能調整プログラム９０３は、当該指示に基づき、ＯＳ９０１にスワップ機能のオン／オフ、あるいは頻度調整を指示する。
【００４７】
なお、本ソフトウェアブロック図は簡略化している。
【００４８】
また、ｅＭＭＣ寿命監視プログラム９０２、スワップ機能調整プログラム９０３をまとめて一つのプログラムとしたり、他のプログラムに組み込んでもよい。例えば、なお、ここで、ｅＭＭＣ１０６は、ＳＳＤ１１３と置き換え可能である。９０２および９０２はＯＳの一部としてもよいし、アプリケーションサービスとして実装することも考えられる。
【００４９】
なお、本発明は画像形成装置を例にして説明したが、画像形成装置に限らず、ＰＣ（パーソナルコンピュータ）やスマートフォン等の携帯端末、サーバなど様々な情報処理装置に適用することができる。また、前述したが、ｅＭＭＣをＮＡＮＤ型フラッシュメモリの一例として説明したが、本発明はこれに限定されるものではなく、例えばＳＳＤやＵＳＢメモリ等にも適用することができる。ｅＭＭＣは主にオンボード実装であるため、コントローラボード交換を促すメッセージを表示している。着脱可能なＮＡＮＤ型フラッシュメモリであれば当該部品交換を促すメッセージを適用することができる。
【００５０】
以下に、ＳＳＤを使用した別の実施形態を説明する。ＳＳＤ１１３では、図４のＳ４０１や図５のＳ５０１で、図６のレジスタ情報を取得する代わりに、ＳＳＤ１１３からＳ．Ｍ．Ａ．Ｒ．Ｔ．システム情報をＣＰＵ１０１が取得して利用する点が異なる。他は原則同様である。
【００５１】
Ｓ．Ｍ．Ａ．Ｒ．Ｔ．システムはＳＳＤ１１３およびハードディスクドライブ等に採用されているシステムで、ドライブの状態を常時モニタリングしながら、それを数値化している。Ｓ．Ｍ．Ａ．Ｒ．Ｔ．が示す数値が一定の数値を上回るか下回った場合、ドライブの状態が不安定と判断されうる。この場合、寿命に関する情報が、所定の閾値を上回ったと考えるようにしてもよい。交換が推奨される状態になる。この状態に陥ったときに、スワップを停止または制限してもよい。Ｓ．Ｍ．Ａ．Ｒ．Ｔ．情報の消耗度合いを示す情報が、ある特定の値を超えた場合に、スワップを低減または停止することも考えられる。Ｓ．Ｍ．Ａ．Ｒ．Ｔ．情報の消耗度合いを示す情報の一例としては、消去回数がある。例えば、Ｓ．Ｍ．Ａ．Ｒ．Ｔ．情報が示す消去回数が、例えばメーカの公表する消去回数の上限値の７０％を超えた場合に、スワップを低減することが考えられる。また、例えば、前記消去回数が、前記上限値の９０％を超えた場合に、スワップを停止することも考えられる。なお、消去回数そのものも、寿命に関する情報の一例としてとらえられる。
【００５２】
以上説明したように、実施例の一例として以下を開示した。揮発性のメモリの一例であるＲＡＭ１０３および、および不揮発性の記憶装置の地理例であるｅＭＭＣ１０６を有する画像形成装置１を開示した。ＣＰＵ１０１は、ＲＡＭ１０３に記憶された内のスワップ領域としてのｅＭＭＣ１０６へ退避させる処理であるスワップ処理を制御する。ＣＰＵ１０１は、ｅＭＭＣ１０６の寿命に関する情報の一例であるデバイス寿命情報を取得する。そして、ＣＰＵ１０１は、デバイス寿命情報に応じて前記スワップ制御手段による、スワップ処理を制限する。デバイス寿命情報が、ｅＭＭＣ１０６の残り寿命が所定値以下であることを示している場合、ＣＰＵ１０１によるスワップ領域へのデータの退避を制限する。ＣＰＵ１０１は、デバイス寿命情報が、ｅＭＭＣ１０６の残り寿命が所定値以下であることを示している場合、次の処理をする。ＣＰＵ１０１は、オペレーティングシステムに対して指示されるスワッピネスに関するコマンドのパラメータを操作することで、ＣＰＵ１０１による前記スワップ領域へのデータの退避を制限する。
【００５３】
ＣＰＵ１０１は、デバイス寿命情報が、ｅＭＭＣの残り寿命が所定値以下であることを示している場合、ＣＰＵ１０１による前記スワップ領域へのデータの退避を停止させることもできる。ｅＭＭＣ１０６は、画像形成装置１の制御ボード上に実装されていてもよい。
【００５４】
さらに、デバイス寿命情報が、前記不揮発性の記憶装置の残り寿命が所定値以下であることを示している場合、ＣＰＵ１０１による少なくとも新規のスワップ処理を停止させる。そのうえで、制御ボードの交換を促す通知をＣＰＵ１０１が発行してもよい。この結果画像形成装置１の操作部ユニット１１１に表示される。
【００５５】
前記ｅＭＭＣ１０６の寿命に関する情報とは、ｅＭＭＣ１０６に対する消去回数または、書き込み回数としてもよい。また、ｅＭＭＣ１０６に対する消去回数または書き込み回数が所定の回数を超えると、ＣＰＵ１０１はスワップを低減させてもよい。上記ｅＭＭＣ１０６は、ＳＳＤ１０３と置き換え可能である。
【００５６】
ＳＳＤ１１３に書き込み可能なデータの総量をドライブ寿命の指標の一つとすることもできる。その時点の書き込み容量を、ＳＳＤ１１３に書き込み可能なデータの総量で割った割合を、寿命に関する情報として利用することもできる。そして、当該割合が一定数を超えれば、スワップを制限または停止してもよい。
【００５７】
＜その他の実施形態＞
本発明は、上述の各実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣやＦＰＧＡ）によっても実現可能である。
【符号の説明】
【００５８】
１  画像形成装置
１１３  ＳＳＤ
【図１】
2018156582.tif 000003
【図２】
2018156582.tif 000004
【図３】
2018156582.tif 000005
【図４】
2018156582.tif 000006
【図５】
2018156582.tif 000007
【図６】
2018156582.tif 000008
【図７】
2018156582.tif 000009
【図８】
2018156582.tif 000010
【図９】
2018156582.tif 000011