(57)【要約】      （修正有）【課題】アプリケーションの頻繁なアクセスからＨＤＤを保護し、ハードディスクの寿命ＨＤＤを保護しない場合より延ばすことができる画像形成装置とその制御方法を提供する。【解決手段】アプリケーション層４０１は、アプリ（１）からのアクセスを受け付けると、ドライバ層４０２に対して、ＨＤＤへのアクセスを通知する。通知を受けたドライバ層４０２は、ＨＤＤをＬＯＡＤ状態に移行させ、アプリケーション層４０１から各アプリからのデータ、例えばＷＲＩＴＥデータを順次受け、ＨＤＤに書き込み動作を行う。アプリケーション層４０１は、ＬＯＡＤ時間に基づいて、アプリからの受付時間が設定され、受付時間内ならば、複数のアプリアクセスを受け付けることができるようになっている。受付時間内に受けた複数のアプリアクセスは、１回のＬＯＡＤで、ＨＤＤにＷＲＩＴＥ／ＲＥＡＤできるようになっている。【選択図】図５
2019185450.tif 000002
【特許請求の範囲】
【請求項１】
画像形成装置において、
不揮発性記憶手段と、
前記不揮発性記憶手段への所定時間内のアクセス回数が所定以上になるアプリケーションを特定する特定手段と、
前記特定手段が特定したアプリケーションの前記不揮発性記憶手段へのアクセスを制限する制限手段と、
を備える画像形成装置。
【請求項２】
前記アクセス回数は、前記アプリケーションにより呼び出されるデバイスドライバの制御下で引き起こされたアクセスの回数である請求項１に記載の画像形成装置。
【請求項３】
前記アクセス回数は、前記アプリケーションの制御下で前記不揮発性記憶手段へのアクセスが１回実行され、当該アクセスに応じてオペレーティングシステムによる付帯情報が発行され前記不揮発性記憶手段に対して書き込まれることで前記不揮発性記憶手段に対しるアクセスが、前記アクセスの発生した時間から所定時間内に引き起こされた場合、１回とカウントする請求項１に記載の画像形成装置。
【請求項４】
アプリケーションの不揮発性記憶手段に対するアクセスを検知する検知手段と、
前記検知手段によるアクセスの検知に従って、一定時間カウントしたらリセットするタイマーと、
前記タイマー動作中は、前記検知手段によるアクセスの検知をマスクする手段と、
前記タイマーがカウント状態になった回数をカウントするカウント手段と、
前記カウント回数が所定の閾値を超えた場合に、前記不揮発性記憶手段へのアクセスを禁止するよう制御する制御手段をさらに有する請求項１に記載の画像形成装置。
【請求項５】
不揮発性記憶手段を有する画像形成装置の制御方法において、
前記不揮発性記憶手段への所定時間内のアクセス回数が所定以上になるアプリケーションを特定する特定工程と、
前記特定工程で特定されたアプリケーションの前記不揮発性記憶手段へのアクセスを制限する制限工程と、
を備える制御方法。
【請求項６】
前記アクセス回数は、前記アプリケーションにより呼び出されるデバイスドライバの制御下で引き起こされたアクセスの回数である請求項５に記載の画像形成装置。
【請求項７】
前記アクセス回数は、前記アプリケーションの制御下で前記不揮発性記憶手段へのアクセスが１回実行され、当該アクセスに応じてオペレーティングシステムによる付帯情報が発行され前記不揮発性記憶手段に対して書き込まれることで前記不揮発性記憶手段に対しるアクセスが、前記アクセスの発生した時間から所定時間内に引き起こされた場合、１回とカウントする請求項５に記載の制御方法。
【請求項８】
アプリケーションの不揮発性記憶手段に対するアクセスを検知する検知工程と、
前記検知手段によるアクセスの検知に従って、一定時間カウントしたらリセットするタイマーと、
前記タイマー動作中は、前記検知手段によるアクセスの検知をマスクする工程と、
前記タイマーがカウント状態になった回数をカウントするカウント工程と、
前記カウント回数が所定の閾値を超えた場合に、前記不揮発性記憶手段へのアクセスを禁止するよう制御する制御工程をさらに有する請求項５に記載の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性記憶手段を有する画像形成装置とその制御方法に関する。
【背景技術】
【０００２】
画像読み取り装置、印刷装置、画像保存装置、通信装置を備え、コピー、プリント、スキャン、ＦＡＸ送受信などの画像処理アプリケーション装置を備えたＭＵＬＴＩＦＵＮＣＴＩＯＮＰＥＲＩＰＨＥＲＡＬ（ＭＦＰ）が知られている。また、これらＭＦＰには、大容量ストレージデバイスとして、ハードディスクドライブ（以下ＨＤＤという）が、採用され内蔵されている。
【０００３】
コピー、プリント、スキャン、ＦＡＸ送受信など、装置の機能が増大になり、利用するユーザーは操作が複雑になりつつある。
【０００４】
ユーザーの操作を手助けしたり、ユーザーが欲しい情報を簡単に得られるようにカスタマイズされた、アプリケーションソフトウェアをＭＦＰにインストールできるようになっている。これらアプリケーションソフトウェアは、ＨＤＤを利用し、利便性を上げる工夫がされている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１４０４９２
【発明の概要】
【発明が解決しようとする課題】
【０００６】
不揮発性メモリ、例えば、ＨＤＤには使用上の制限があり、仕様上の制限を超えた利用をすると、ＨＤＤが故障したり想定された動作をしなくなったりする場合がある。
【０００７】
例えば、ＨＤＤを利用するアプリケーションソフトウェアは、高頻度にＨＤＤ対してアクセスを行うものがある。ＨＤＤは物理的、電気的機構を有する。このため、想定されるアクセス回数の制限がある。アプリケーションの頻繁なアクセスからＨＤＤを保護する必要があるという問題があった。
【課題を解決するための手段】
【０００８】
本発明の一つの側面は、上述の問題点の少なくともひとつを鑑みてなされたものである。
【０００９】
不揮発性記憶手段と、前記不揮発性記憶手段への所定時間内のアクセス回数が所定以上になるアプリケーションを特定する特定手段と、前記特定手段が特定したアプリケーションの前記不揮発性記憶手段へのアクセスを制限する制限手段と、を備える画像形成装置が開示される。
【発明の効果】
【００１０】
本発明の一つの側面によれば、不揮発性メモリの効率的な制御が可能になるという効果がある。本発明の別の側面によれば、例えば、アプリケーションの頻繁なアクセスからＨＤＤを保護し、ハードディスクの寿命ＨＤＤを保護しない場合より延ばすことができるという効果がある。
【図面の簡単な説明】
【００１１】
【図１】画像形成装置のコントローラ部の一例を示す図である。
【図２】ＨＤＤ１１３内部構造概略図である。
【図３】ＨＤＤ１１３へのアクセスが生じた際の、動作説明の一例を示す図である。
【図４】オペレーティングシステム（ＯＳ）のソフトウェア構造図の概略を示す図である。
【図５】アプリケーション層４０１、ドライバ層４０２のタイムテーブルを示図である。
【図６】ＬＯＡＤ／ＵＮＬＯＡＤ回数を計数するフローチャートを示す図である。
【図７】高頻度にアクセスを行うソフトウェアを特定のフローチャートを示す図である。
【図８】ＯＳの付帯情報についての説明図である。
【図９】付帯情報を格納する手段を示す図である。
【図１０】付帯情報が作成された場合のフローチャートを示す図である。
【図１１】追加されたフローチャートを示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について図面を用いて説明する。図１は、大容量ＨＤＤシステムが組み込まれる画像形成装置のコントローラ部１００の一例を示す図である。
【００１３】
コントローラ部１００は、操作部や外部コンピュータからの指示に基づいて原稿搬送装置を制御する原稿搬送装置制御部、イメージリーダを制御するイメージリーダ制御部と通信し、入力される原稿の画像データを取得する。また、コントローラ部１００は、プリンタ部を制御するプリンタ制御部と通信を行い、画像データをシートに印刷する。
【００１４】
また、コントローラ部１００は、折り装置を制御する折り装置制御部、フィニッシャを制御するフィニッシャ制御部と通信を行い、印刷されたシートにステイプルやパンチ穴といった所望の出力を実現する。外部Ｉ／Ｆ１５１は、外部のコンピュータと接続するインターフェースである。例えば、外部Ｉ／Ｆ１５１は、ネットワークやＵＳＢ等の外部バスで接続し、外部コンピュータからのプリントデータを画像に展開して出力するほか、ＨＤＤ１１３内の画像データを外部コンピュータに送信することを行う。
【００１５】
コントローラ部１００は、ＣＰＵ１０１を有し、オペレーティングシステム（以下、ＯＳという）のプログラム等を実行し、ＯＳの機能を実現する。ＣＰＵ１０１には、バスブリッジ１０４が接続され、バスブリッジ１０４を介して、ＣＰＵ１０１の初期起動プログラムを格納しているＲＯＭ１０２から、初期起動プログラムを読み出す。また、ＣＰＵ１０１は、制御に伴う演算の作業領域として用いられるＲＡＭ１０３及びストレージ機器を制御するストレージ制御部１１２ともバスブリッジ４０４を介して接続されている。
【００１６】
ストレージ制御部１１２は、ＨＤＤやＳＳＤ等のストレージ機器のリード・ライト制御を行うハードウェアモジュールで、ストレージ機器と接続はシリアルＡＴＡ（ＳＥＲＩＡＬＡＴＡＴＴＡＣＨＭＥＮＴ：以下、ＳＡＴＡという）インターフェースが用いられる。ＨＤＤ１１３は、ＣＰＵ１０１のＯＳのプログラムを含むメインプログラムの格納、イメージリーダや外部Ｉ／Ｆ１５１より取得した画像データ、操作部で画像を編集したときの保存用やアプリケーションプログラムの格納先として使用される。
【００１７】
また、ＨＤＤ１１３は、アプリケーションプログラムやユーザープリファレンスデータの格納先としても使用される。ＳＳＤ１１３には、ＣＰＵ１０１からアクセスができるように構成されている。
【００１８】
また、ネットワークやＵＳＢインターフェースを制御する外部Ｉ／Ｆ制御部１０５、操作部を制御する操作部制御部１０６がバスブリッジ１０４に接続されている。
【００１９】
デバイス制御部１１１は、原稿搬送装置制御部、イメージリーダ制御部、プリンタ制御部、折り装置制御部、フィニッシャ制御部と接続され、これらの制御を司る。
【００２０】
ＣＰＵ１０１がＲＯＭ１０２等に記憶されたプログラムに基づき処理を実行することにより後述する図又は図のフローチャートの処理の一部が実現される。
【００２１】
図２にＨＤＤ１１３内部構造概略図を示す。２０１はディスクであり、データを記録する円盤部分である。２０１は磁気ヘッドであり、ディスク上のデータを読み書きする。
【００２２】
２０３は、アクセスしていない時に、磁気ヘッドの格納場所（ランプ２０３）である。
【００２３】
アクセスが起こると、磁気ヘッド２０２は、ディスク２０１側の移動し、ＬＯＡＤ状態となる。アクセスが終了すると、磁気ヘッド２０２は、ランプ２０３に移動し、ＵＮＬＯＡＤ状態となる。ＨＤＤ１１３へのアクセスは、磁気ヘッド２０２のＬＯＡＤ／ＵＮＬＯＡＤの繰り返しで行われている。このようにＬＯＡＤ／ＵＮＬＯＡＤの回数は制限があり、仕様の想定を超える運用は、故障等の原因となる場合がある。
【００２４】
図３にＨＤＤ１１３へのアクセスが生じた際の、動作説明の一例を示す。ストレージ制御部１１２からアクセスがあると、磁気ヘッド２０１は、ＬＯＡＤ状態となり、１５秒ＬＯＡＤ状態を保つ。この間にデータのやりとりが行われる。１５秒経過したら、ＵＮＬＯＡＤ状態に移行し、次のアクセスに待機する。再び、ストレージ制御部１１２からアクセスがあると、磁気ヘッド２０１は、ＬＯＡＤ状態となり、１５秒ＬＯＡＤ状態を保つ。この繰り返しによって、データのやりとりが確立される。すなわち、１回アクセスがあると、１５秒ＬＯＡＤ状態となるようになっている。不用意なアクセスは、ＬＯＡＤ／ＵＮＬＯＡＤの回数を増やし、ＨＤＤの寿命を短くする結果となる。１５秒のＬＯＡＤ時間は、一般的に数値であって、ＨＤＤの製造元の仕様によっては、異なる場合がある。
【００２５】
図４に、アプリケーションプログラムが、ＨＤＤ１１３にアクセスする際の、オペレーティングシステム（ＯＳ）のソフトウェア構造図の概略を示す。ＯＳには、複数のアプリケーション、例えばアプリ（１）〜（４）とのインターフェースを司るアプリケーション層４０１を持つ。アプリケーション層４０１は、各アプリケーションからの各種要求、例えばＨＤＤ１１３へのアクセス要求を受け、各アプリケーションへの調停を行ったり、実際のデータのやり取りを行う。
【００２６】
ドライバ層４０２は、アプリケーション層４０１からの要求に従い、ストレージ制御部１１２に対して制御コマンドを発行し、ＨＤＤ１１３へのアクセスを行う。
【００２７】
図５に、データ移動に基づいた、アプリケーション層４０１、ドライバ層４０２のタイムテーブルを示す。アプリ（１）、アプリ（２）が同時にアクセスを要求してきた場合、アプリケーション層４０１は、調停により、例えばアプリ（１）、アプリ（２）のように順次アクセスを許可する。
【００２８】
アプリケーション層４０１は、アプリ（１）からのアクセスを受け付けると、ドライバ層４０２に対して、ＨＤＤ１１３へのアクセスを通知する。
【００２９】
通知を受けたドライバ層４０２は、ＨＤＤ１１３をＬＯＡＤ状態に移行させ、アプリケーション層４０１から各アプリからのデータ、例えばＷＲＩＴＥデータを順次受け、ＨＤＤ１１３に書き込み動作を行う。アプリケーション層４０１は、ＬＯＡＤ時間に基づいて、アプリからの受付時間が設定され、受付時間内ならば、複数のアプリアクセスを受け付けることができるようになっている。
【００３０】
受付時間内に受けた複数のアプリアクセスは、１回のＬＯＡＤで、ＨＤＤ１１３にＷＲＩＴＥ／ＲＥＡＤできるようになっている。ＬＯＡＤ時間が経過し、ＵＮＬＯＡＤに移行後、例えばアプリ（３）がアクセス要求を出した場合、前述したプロセスが繰り返し実行される。
【００３１】
説明したように、アプリからのアプリケーション層４０１へのアクセスは３回であるが、実際のＨＤＤ１１３のＬＯＡＤ回数は、２回となる。すなわち、アプリのアクセスカウント数と、ＨＤＤ１１３のＬＯＡＤ／ＵＮＬＯＡＤ回数は一致しない。
【００３２】
ＨＤＤ１１３を利用するアプリケーションソフトウェアに対して、ＨＤＤ１１３へアクセス回数を監視し、ＨＤＤ１１３対して高頻度にアクセスを行うアプリケーションソフトウェアに対しては、アクセスを抑制する必要がある。一つの手段として、各アプリのアプリケーション層４０１へのアクセスカウント数をカウントし、カウント数に基づいてアクセスを抑制手段も有効である。一方、寿命を正確に見極めるためには、ＬＯＡＤ／ＵＮＬＯＡＤ回数を正確に計数する必要がある。以下に、ＬＯＡＤ／ＵＮＬＯＡＤ回数を正確に計数する手段を説明する。
【００３３】
図６にＬＯＡＤ／ＵＮＬＯＡＤ回数を計数するフローチャートを示す。フローチャートで示す手順がＲＯＭ１０２、ＲＡＭ１０３、ＨＤＤ１１３のいずれかの記憶手段に記憶され、ＣＰＵ１０１により実行される。図に示すように、アプリケーション層とドライバ層の独立したプログラムが、コマンドやデータの受け渡しを行いながらフローチャートは進む。電源ＯＮに応じて図６のアプリ層のフローチャートは実行を開始する。また、Ｓ６０４で送付されたコマンドをドライバ層のプログラムが受け取ったことに応じて、Ｓ６０５以降の処理は開始される。なお、ＣＰＵ１０１は、ストレージ制御部１１２を介し、ＨＤＤ１１３のコントロールを行う。
【００３４】
アプリケーション層４０１のプログラムがスタートし、ＣＰＵ１０１は、Ｓ６０１において、各アプリからアプリケーション層４０１に対してＨＤＤ１１３に対するアクセス要求があるかどうか判断する。無い場合は、Ｓ６０１を繰り返す。アクセス要求がある場合は、Ｓ６０２へ進む。ＣＰＵ１０１は、Ｓ６０２において、アクセス要求したアプリを特定し、その情報をメモリ、例えばＲＡＭ１０３にストアする。すなわち、アクセス情報データ６０３をＲＡＭ１０３にストアする。アクセス情報データ６０３は、ＲＯＭ１０２に記憶してもよい。例えば、ここでストアする情報は、アプリ名称、アクセス要求を出した時間である。ＣＰＵ１０１は、Ｓ６０４において、アプリケーション層４０１へのアプリ受付時間をカウントするカウンタをスタートする。同時に、ドライバ層４０２のプログラムをスタートさせるコマンドを送付し、Ｓ６１３に進む。なお、アプリケーション層は、Ｊａｖａ（登録商標）やＬｕａ  Ｓｃｒｉｐｔなどを用いて実装されていてもよい。バイトコードを解釈し、実行するＶＭ（仮想マシン）をアプリケーション層は含む。アプリケーション層は、アプリ１乃至Ｎを調停し、実行させる基盤でもある。アプリケーションプラットフォームとも呼ばれる場合がある。アプリケーション層は、アプリ１乃至Ｎからのアクセスも検知できる。
【００３５】
ＣＰＵ１０１は、ドライバ層４０２のプログラムＳ６０５において、磁気ヘッドのＬＯＡＤを開始させる。ＣＰＵ１０１は、Ｓ６０６において、ＬＯＡＤ時間をカウントするカウンタをスタートさせる。本実施例においては、ＬＯＡＤ時間は１５ＳＥＣであるが、用いるＨＤＤの仕様によるものである。ＣＰＵ１０１は、Ｓ６０７において、ＬＯＡＤ回数計数するため、ＬＯＡＤ回数値をカウントアップする。ＣＰＵ１０１は、Ｓ６０８において、ＬＯＡＤ回数値が、閾値、すなわちＬＯＡＤ／ＵＮＬＯＡＤ回数の制限値を超えたか判断を行う。超えた場合は、Ｓ６０９へ進み、超えていない場合は、Ｓ６１１に進む。
【００３６】
ＬＯＡＤ／ＵＮＬＯＡＤ回数が制限値を超えた場合は、故障のリスクが大きくなり、対処が必要になる。Ｓ６０９に進んだ場合は、ＣＰＵ１０１は、磁気ヘッドのＵＮＬＯＡＤを行い、ＨＤＤへのアクセスを停止させる。
【００３７】
ＣＰＵ１０１は、Ｓ６１０において、ＨＤＤの改善処置を行い、フローは終了する。
【００３８】
改善処置とは、例えば、操作部制御部１０６に、操作部にエラーコードおよびサービスマンコールを表示させ、ユーザーに修理を促すようにする。
【００３９】
アプリケーション層のＳ６１３において、アプリケーション層４０１にて受信したアプリケーションデータをドライバ層４０２へ転送する。ＣＰＵ１０１は、Ｓ６１６にて、アプリ受付時間が終了したか、判断を行う。終了と判断した場合は、Ｓ６０１に戻りに進み、再びプログラムをスタートする。終了していないと判断した場合は、Ｓ６１７へ進む。Ｓ６１７に進んだ場合は、ＣＰＵ１０１は、引き続きアプリからのアクセスがあるか判断を行う。
【００４０】
アクセスがない場合は、Ｓ６１６に戻り、アプリ受付時間内か判断を行う。アクセスがあった場合は、Ｓ６１８に進む。ＣＰＵ１０１は、Ｓ６１８において、アクセス要求したアプリを特定し、その情報をメモリ、例えばＲＡＭ１０３内の６０３にストアする。ＣＰＵ１０１は、Ｓ６１３に戻り、アプリケーション層４０１にて受信したアプリケーションデータをドライバ層４０２へ転送し、処理を続けるドライバ層４０２のＳ６１１では、アプリケーション層からのアプリデータ受信を待つ。アプリデータを受信した場合は、Ｓ６１２に進む。Ｓ６１２において、ＣＰＵ１０１は、受け取ったアプリデータをＨＤＤに転送しＳ６１４へ進む。ＣＰＵ１０１は、Ｓ６１４において、ＬＯＡＤ時間が終了したか判断を行い、終了と判断した場合は、Ｓ６１５へ進む。
【００４１】
終了していなおと判断した場合は、Ｓ６１１に戻り処理を続ける。ＣＰＵ１０１は、Ｓ６１５にて、磁気ヘッドをＵＮＬＯＡＤし、処理フローは終了し、プログラムは終了する。
【００４２】
図６の処理で記録されたアクセス情報は、図７の処理で確認される。図７に、ＨＤＤ１１３を利用するアプリケーションソフトウェアに対して、ＨＤＤ１１３へアクセス回数を監視し、ＨＤＤ１１３対して高頻度にアクセスを行うアプリケーションソフトウェアを特定する手段を、フローチャートを用いて説明する。フローチャートで示す手順がＲＯＭ１０２、ＲＡＭ１０３、ＨＤＤ１１３のいずれかの記憶手段に記憶され、ＣＰＵ１０１により実行される。プログラムがスタートし、ＣＰＵ１０１は、Ｓ７０１にて、インターバルタイマをスタートさせる。図７の処理を実行するのは、アプリケーション層４０１であってもよいし、アプリＸというアプリ１乃至４と同層のアプリを実装し、実行してもよい。
【００４３】
アクセス頻度を測定する際、ある間隔を置いて、アクセス回数を計測する、そのためのインターバルタイマである。間隔は、ＨＤＤの仕様により決まる。ＣＰＵ１０１はＳ７０２にて、必要なインターバルが経過したか判断を行う。経過していない場合は、Ｓ７０１に戻り、経過している場合は、Ｓ７０３へ進む。
【００４４】
ＣＰＵ１０１はＳ７０３にて、各アプリのアクセス情報を取得する。取得先は、図６のフローチャートにて取得したデータである（６０３）。アクセス情報データは、アプリ名称と、そのアクセス時間が順次格納されている。ＣＰＵ１０１はＳ７０４にて、取得したデータから、各アプリのＨＤＤ１１３へのアクセス頻度を計算する。
【００４５】
各アプリのアクセス回数をインターバル時間で割ることで、アクセス頻度とする。ＣＰＵ１０１はＳ７０５にて、アプリのＨＤＤ１１３へのアクセス頻度が、閾値を超えるものがあるかどうか判断を行う。閾値は、ＨＤＤの仕様により決まる。アクセス頻度が閾値を超えるものがない場合は、Ｓ７１０進み、閾値を超えるものがある場合は、Ｓ７１０に進む。
【００４６】
ＣＰＵ１０１はＳ７１０にて、アクセス情報データ６０３を初期化し、Ｓ７０１へ戻る。次のインターバルに備える。ＣＰＵ１０１はＳ７０６にて、閾値を超えるものアプリが複数ある場合は、リストアップする。
【００４７】
ＣＰＵ１０１はＳ７０７にて、リストアップされた各々のアプリにおいて、ＨＤＤ１１３へのアクセス間隔が、アプリ受付時間を超えた定期的アクセスか判断を行う。アプリ受付時間内の複数回のアクセスならば、１回のＬＯＡＤでアクセスが完了してしまうため、アプリ受付時間を超えたアクセスについてカウントを行う。
【００４８】
アプリ受付時間を超えた定期的アクセスがない場合は、Ｓ７１０へ進み、処理を繰り返す。
【００４９】
アプリ受付時間を超えた定期的アクセスがあると判断した場合は、Ｓ７０８へ進む。
【００５０】
ＣＰＵ１０１はＳ７０８にて、アプリ受付時間を超えた定期的アクセスが複数ある場合は、リストアップする。ＣＰＵ１０１はＳ７０９にて、リストアップされた各アプリについて、停止処理を行う。あるいは、強制的に停止はせずに、アプリケーション１乃至Ｎの動作を停止する必要がある旨通知するだけでもよい。この際、特定されたアプリケーションではなかったコピーやファックスなど基本的なアプリケーションのみ動作を許すようにしてもよい。また、アプリケーション層のプログラムで制御できる複合機の機能を停止することができる。
【００５１】
ＨＤＤ１１３へのアクセス頻度が高いアプリについては、ＬＯＡＤ／ＵＮＬＯＡＤ回数を不用意に増加させ、寿命に影響があるため、監視するようになっている。
【００５２】
ＣＰＵ１０１はＳ７０９の処理の後、Ｓ７１０へ進み、次のインターバルに備える。
【００５３】
アプリケーションから、ＨＤＤ１１３へのアクセスに付随して、ＯＳが付帯情報を作成し、ＨＤＤ１１３に書き込むことが起きる。付帯情報とは、各アプリケーションに関連したＯＳが管理する情報であり、例えばタイムスタンプ、アクセスログなどの情報である。
【００５４】
図８にその説明図を示す。例えばアプリ（１）がアクセスを要求してきた場合、アプリケーション層４０１は、例えばアプリ（１）のアクセスを許可する。
【００５５】
アプリケーション層４０１は、アプリ（１）からのアクセスを受け付けると、ドライバ層４０２に対して、ＨＤＤ１１３へのアクセスを通知する。通知を受けたドライバ層４０２は、ＨＤＤ１１３をＬＯＡＤ状態に移行させ、アプリケーション層４０１からアプリからのデータ、例えばＷＲＩＴＥデータを受け、ＨＤＤ１１３に書き込み動作を行う。
【００５６】
ＯＳは、アプリケーションからのアクセスを受けた後、自らアプリケーションに基づく付帯情報を作成することがある。付帯情報は、アプリケーションデータと同じくＨＤＤ１１３に格納される。受付時間内に付帯情報が作成された場合は、１ＬＯＡＤ内でアクセスが完了するが、付帯情報の作成の具合によっては、ＯＳ自ら次のＬＯＡＤを発生し、アクセスを完了させる場合がある。
【００５７】
アプリからのアクセスが１回なのに、ＬＯＡＤが２回発生する場合がある。
【００５８】
すなわち、アプリのアクセスカウント数と、ＨＤＤ１１３のＬＯＡＤ／ＵＮＬＯＡＤ回数は一致しない。不要なＬＯＡＤ／ＵＮＬＯＡＤを発生させることなく、ＨＤＤ１１３に格納する必要がある。付帯情報は、タイムスタンプやアクセスログなどであり、アプリケーションや、ＯＳからは、動作に影響を与える情報ではない。すなわち、いつ書き込みが行われても問題なく、時間的な制約はない。
【００５９】
図９に不要なＬＯＡＤ／ＵＮＬＯＡＤを発生させることなく、ＨＤＤ１１３に付帯情報を格納する手段の説明図である。作成される付帯情報は、ＨＤＤ１１３に書き込まれるが、新たなＬＯＡＤが発生する場合は、例えばＲＡＭ１０３に格納し蓄積しておく。例えばアプリ（１）がアクセスを要求してきた場合、アプリケーション層４０１は、例えばアプリ（１）のアクセスを許可する。アプリケーション層４０１は、アプリ（１）からのアクセスを受け付けると、ドライバ層４０２に対して、ＨＤＤ１１３へのアクセスを通知する。通知を受けたドライバ層４０２は、ＨＤＤ１１３をＬＯＡＤ状態に移行させる。
【００６０】
ＯＳは、アプリケーションからのアクセスを受けた後、新たな作成された付帯情報と、例えばＲＡＭ１０３に格納し蓄積している付帯情報からデータ量を計算する。
【００６１】
以下の条件の場合に、アプリケーションからのデータと、付帯情報からのデータを１ＬＯＡＤ中に書き込む。１ＬＯＡＤ時間に書き込めるデータ量＞アプリケーションデータ量＋付帯情報データ量
すなわち、アプリケーションアクセスに起因する、ＬＯＡＤ中に付帯情報データを入れ込むことによって、付帯情報データのみの不要なＬＯＡＤを抑制する。
【００６２】
図１０に付帯情報が作成された場合のフローチャートを示す。図１０は、図６に示したフローチャートのＳ６１１とＳ６１２の間に、新たなフローチャートＡを追加することで、付帯情報が作成されてもＬＯＡＤ／ＵＮＬＯＡＤ回数は増やすことなく対処できる。以下、前述の実施形態の差分を中心に説明するが、特に断らなければ前述の説明は援用可能なものとする。
【００６３】
図１１にフローチャートＡを示す。ＣＰＵ１０１はＳ１００１にて、Ｓ６１１にて転送対象アプリデータに対して、新たな付帯情報が作成されるか、判断を行う。新たな付帯情報が作成された場合Ｓ１００２に進む。新たな付帯情報が作成されない場合は、Ｓ１００３へ進む。
【００６４】
ＣＰＵ１０１はＳ１００２にて、作成された新たな付帯情報をＲＯＭ１０２に格納し、既存の付帯情報に追加する。以下ＲＯＭ１０２とあるが付帯情報は、ＲＡＭ１０３に記憶することとしてもよい。ＣＰＵ１０１はＳ１００３にて、ＲＯＭ１０２に蓄積された付帯情報１０１０があるか判断を行う。ＲＯＭ１０２に付帯情報１０１０がある場合は、Ｓ１００４へ進む。
【００６５】
ＲＯＭ１０２に付帯情報１０１０がない場合は、フローチャートＡを抜ける。
【００６６】
ＣＰＵ１０１はＳ１００４にて、ＲＯＭ１０２（Ｓ１００８）に格納されている情報から、付帯情報の総データ量の集計を行う（ＦＤ）。ＣＰＵ１０１はＳ１００５にて、アプリからの総データ量の集計を行う（ＡＤ）。ＣＰＵ１０１はＳ１００６にて、付帯情報の総データ量とアプリからの総データ量を集計し、総転送データ量を計算する（ＳＵＭ）。
【００６７】
ＣＰＵ１０１はＳ１００７にて、総転送データ量は、１ＬＯＡＤで転送可能か判断を行う。
【００６８】
転送可能と判断した場合は、Ｓ１００８へ進む。転送不可と判断した場合は、Ｓ１００９へ進む。ＣＰＵ１０１はＳ１００８にて、アプリデータ転送後に、ＲＯＭ１０２から付帯情報の転送設定を行い、ローチャートＡを抜ける。ＣＰＵ１０１はＳ１００９にて、アプリデータ転送後に、ＲＯＭ１０２から付帯情報の転送設定を解除し、ローチャートＡを抜ける。
【００６９】
この設定により、アプリデータのＨＤＤ１１３への転送が優先され、付帯情報については、転送に余裕ができた場合に、転送を行うようになっている。
【００７０】
画像形成装置の一例としてＭＦＰ１０００を説明した。不揮発性記憶手段の一例として、ＨＤＤ１１３を説明した。ＣＰＵ１０１は、ＨＤＤ１１３への所定時間内のアクセス回数が所定以上になるアプリケーションを特定する。アプリケーションとは、図４等に記載のアプリ１乃至４等である。そして、ＣＰＵ１０１は、特定したアプリケーションのＨＤＤ１１３へのアクセスを制限する。アクセス回数は、アプリケーションにより呼び出されるデバイスドライバの制御下で引き起こされたアクセスの回数である。デバイスドライバの一例は、ドライバ層４０２である。
【００７１】
また、アプリケーションの制御下でＨＤＤ１１３へのアクセスが１回実行され、アクセスに応じてオペレーティングシステム等による付帯情報が発行される。その結果、付帯情報が、ＨＤＤ１１３に対して書き込まれる。結果、ＨＤＤ１１３対するアクセスが、アクセスの発生した時間から所定時間内に引き起こされた場合、次のようにしてよい。すなわち、ＣＰＵ１０１は、アクセス回数をまとめて１回とカウントするようにしてもよい。
【００７２】
さらに、ＣＰＵ１０１は、アプリケーションのＨＤＤ１１３に対するアクセスを検知する。
【００７３】
また、ＭＦＰ１０００は、ＣＰＵ１０１によるアクセスの検知に従って、一定時間カウントしたらリセットするタイマーを有する。タイマーはＣＰＵ１０１に内蔵されていてもよいし、ストレージ制御部に内蔵されていてもよい。タイマー動作中は、ＣＰＵ１０１は、によるアクセスの検知をマスクしてもよい。また、タイマーがカウント状態になった回数をＣＰＵ１０１はカウントする。カウント回数が所定の閾値を超えた場合に、ＨＤＤ１０１へのアクセスを禁止するようＣＰＵ１０１は制御する。
【００７４】
以上説明したように、本発明によれば、アプリケーションによるＨＤＤへのアクセスを監視する事で、著しく不要なアクセスを遮断して、ロード・アンロード回数の消費を抑制する。
【符号の説明】
【００７５】
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  バスブリッジ
１０５  外部インターフェース制御部
１０６  操作部制御部
１１１  デバイス制御部
１１２  ストレージ制御部
１１３  ハードディスクドライブ
【図１】
2019185450.tif 000003
【図２】
2019185450.tif 000004
【図３】
2019185450.tif 000005
【図４】
2019185450.tif 000006
【図５】
2019185450.tif 000007
【図６】
2019185450.tif 000008
【図７】
2019185450.tif 000009
【図８】
2019185450.tif 000010
【図９】
2019185450.tif 000011
【図１０】
2019185450.tif 000012
【図１１】
2019185450.tif 000013