JP2021092846A - 情報処理装置、その制御方法、およびプログラム - Google Patents
情報処理装置、その制御方法、およびプログラム Download PDFInfo
- Publication number
- JP2021092846A JP2021092846A JP2019221407A JP2019221407A JP2021092846A JP 2021092846 A JP2021092846 A JP 2021092846A JP 2019221407 A JP2019221407 A JP 2019221407A JP 2019221407 A JP2019221407 A JP 2019221407A JP 2021092846 A JP2021092846 A JP 2021092846A
- Authority
- JP
- Japan
- Prior art keywords
- rebuild
- access
- external recording
- information processing
- raid
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 48
- 238000000034 method Methods 0.000 title claims description 136
- 230000008569 process Effects 0.000 claims description 128
- 230000004044 response Effects 0.000 description 9
- 238000012005 ligant binding assay Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000006866 deterioration Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000004886 head movement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Landscapes
- Hardware Redundancy (AREA)
Abstract
【課題】情報処理装置において、リビルド処理の影響による装置としてのパフォーマンスの低下を抑制する。【解決手段】複数の外部記録装置108,109を接続可能な情報処理装置100は、複数の外部記録装置108,109の一方のデータを他方へコピーするリビルド処理を実行するリビルド実行手段と、情報処理装置100による複数の外部記録装置108,109へのアクセスの有無を判断するアクセス判断手段と、アクセス判断手段が情報処理装置100による複数の外部記録装置108,109へのアクセスをありと判断する場合に、リビルド停止期間を設定する停止設定手段と、を有する。リビルド実行手段は、リビルド停止期間中には、リビルド処理を停止する。【選択図】図2
Description
本発明は、複数の外部記録装置を接続可能な情報処理装置、その制御方法、およびプログラムに関する。
画像処理装置といった情報処理装置では、たとえばハードディスクドライブ(HDD)、SSD(SolidStateDrive)などの外部記録装置を接続して使用している。そして、近年の動画データおよび画像データの高精細化、高速ネットワークの普及などにより、それらで使用する外部記録装置についても、記録容量の大容量化、パフォーマンスの向上、データ信頼性の向上、などが求められるようになってきている。そこで、情報処理装置では、データの信頼性などを向上するために、RAIDコントローラを用いて、RAIDコントローラに複数の外部記録装置を接続するようになってきている。たとえば複数の外部記録装置に同一のデータを記録させるミラーリング(RAID1)技術を用いることにより、データ信頼性を向上できる。ミラーリング手法を採用する情報処理装置では、データの書込み時には、RAIDコントローラがデータを複製して、同一のデータを複数の外部記録装置の各々に書込む。また、データの読出し時には、RAIDコントローラは、複数の外部記録装置のうちの一方からデータを読出す。これにより複数の外部記録装置のいずれか一方に障害が発生したとしても、正常な他方の外部記録装置から正しいデータを読出すことができる。情報処理装置の耐障害性が高まる。
ところで、複数の外部記録装置のいずれか一方に障害が発生すると、複数の外部記録装置のデータ同一性が崩れる。この場合、障害が発生した一方の外部記録装置を新たなものに交換して、他方の外部記録装置のデータをコピーするリビルド処理を実行する必要がある。RAIDコントローラは、複数の外部記録装置の1つが交換されると、自らの判断によりリビルド処理を実行する。その一方で、動作中の情報処理装置のCPUは、RAIDコントローラがリビルド処理中であるか否かにかかわらず、それを知ることなく、外部記録装置へアクセスする。情報処理装置のCPUのアクセスと、RAIDコントローラのリビルド処理とが競合すると、情報処理装置のCPUのアクセス速度が低下し、情報処理装置のパフォーマンスが低下する。
そこで、特許文献1では、CPUが外部記録装置へアクセスする場合、CPUは、まずRAIDコントローラに対してリビルド処理の停止処理を行い、その後に外部記録装置へアクセスしている。しかしながら、このようにCPUがRAIDコントローラに対してリビルド処理の停止処理を行う場合、CPUは、外部記録装置へのアクセスを開始しようとする度に、リビルド処理の停止処理、およびアクセス後の再開処理を実行しなければならない。CPUのアクセスに対する応答の遅延を抑制できるものの、CPUそのものの処理が増えるなどして、情報処理装置のパフォーマンス低下を効果的に抑制できるとは限らない。
このように情報処理装置では、リビルド処理の影響による装置としてのパフォーマンスの低下を抑制することが求められている。
本発明に係る情報処理装置は、複数の外部記録装置を接続可能な情報処理装置において、複数の前記外部記録装置の一方のデータを他方へコピーするリビルド処理を実行するリビルド実行手段と、前記情報処理装置による複数の前記外部記録装置へのアクセスの有無を判断するアクセス判断手段と、前記アクセス判断手段が前記情報処理装置による複数の前記外部記録装置へのアクセスをありと判断する場合に、リビルド停止期間を設定する停止設定手段と、を有し、前記リビルド実行手段は、前記リビルド停止期間中には、前記リビルド処理を停止する。
本発明では、リビルド処理の影響による装置としてのパフォーマンスの低下を抑制できる。
以下、本発明の実施形態について図面を参照しながら詳細に説明する。しかしながら、以下の実施形態に記載されている構成はあくまで例示に過ぎず、本発明の範囲は実施形態に記載されている構成によって限定されることはない。
[第一実施形態]
図1は、本発明の実施形態に係る情報処理装置としての画像形成装置100のブロック図である。図1の画像形成装置100は、操作部101、スキャナ部103、プリンタ部104、およびこれらが接続されるコントローラ部102、を有する。コントローラ部102は、メモリ部105、RAIDコントローラ部107、画像処理部110、およびこれらが接続されるCPU部106、を有する。操作部101は、表示部及び操作キーを備え、ユーザから入力された各処理の実行の指示を受け付ける。スキャナ部103は、原稿台に配置された原稿を読み取って画像データを生成する。画像処理部110は、スキャナ部103で生成された画像データに対して色空間変換などの画像処理を実行し、処理後の印刷用の画像データをプリンタ部104へ出力する。プリンタ部104は、印刷用の画像データを用紙に印刷する。画像形成装置100は、この他にもたとえば不図示のネットワークI/Fを有し、ネットワークI/Fを通じて画像データを授受してよい。このような画像形成装置100は、MFPとして機能し得る。
図1は、本発明の実施形態に係る情報処理装置としての画像形成装置100のブロック図である。図1の画像形成装置100は、操作部101、スキャナ部103、プリンタ部104、およびこれらが接続されるコントローラ部102、を有する。コントローラ部102は、メモリ部105、RAIDコントローラ部107、画像処理部110、およびこれらが接続されるCPU部106、を有する。操作部101は、表示部及び操作キーを備え、ユーザから入力された各処理の実行の指示を受け付ける。スキャナ部103は、原稿台に配置された原稿を読み取って画像データを生成する。画像処理部110は、スキャナ部103で生成された画像データに対して色空間変換などの画像処理を実行し、処理後の印刷用の画像データをプリンタ部104へ出力する。プリンタ部104は、印刷用の画像データを用紙に印刷する。画像形成装置100は、この他にもたとえば不図示のネットワークI/Fを有し、ネットワークI/Fを通じて画像データを授受してよい。このような画像形成装置100は、MFPとして機能し得る。
RAIDコントローラ部107には、第一外部記録装置108および第二外部記録装置109が交換可能に接続される。RAIDコントローラ部107は、自らRAID処理を実行し、接続されている複数の外部記録装置108,109にアクセスする。図1の画像形成装置100は、複数の外部記録装置108,109を接続可能な情報処理装置である。RAIDコントローラ部107は、複数の外部記録装置108,109が接続されるストレージコントローラとして機能する。第一外部記録装置108、第二外部記録装置109には、RAIDコントローラ部107を通じて、画像形成装置100のCPU部106が実行するプログラム、画像形成装置100のCPU部106が使用する設定データなどが記録される。メモリ部105は、たとえば揮発性メモリである。メモリ部105には、CPU部106の各プログラムの実行によって生成されたデータなどが一時的に記録される。CPU部106は、複数の外部記録装置108,109にアクセスしてプログラムを読み込んでメモリ部105に展開して実行する。これにより、CPU部106は、画像形成装置100を全体的に制御する制御部として機能する。制御部としてのCPU部106は、RAIDコントローラ部107を通じて複数の外部記録装置108,109にアクセスして、画像形成装置100のための各種の処理を実行する。
図2は、図1のRAID制御系の詳細なブロック図である。RAIDコントローラ部107は、RAIDメモリ部202、RAIDROM部204、RAIDバッファ部206、および、これらが不図示の内部バスを通じて接続されるRAIDCPU部203、を有する。RAIDCPU部203には、この他にも上位SATAIF部201、第一SATAIF部205、第二SATAIF部207、が接続される。上位SATAIF部201は、CPU部106に接続される。第一SATAIF部205は、第一外部記録装置108に接続される第二SATAIF部207は、第二外部記録装置109に接続される。RAIDバッファ部206は、RAIDCPU部203がCPU部106、第一外部記録装置108、または第二外部記録装置109と授受するデータを一時的に記録する。RAIDROM部204は、RAIDCPU部203により実行されるファームウェアプログラムおよび設定データを記録する。RAIDROM部204は、たとえば後述するリビルド処理の最終LBAなどを記録してよい。RAIDメモリ部202は、たとえば揮発性メモリである。RAIDCPU部203は、RAIDROM部204からファームウェアプログラムを読み込んでRAIDメモリ部202に展開して実行する。これにより、RAIDCPU部203は、RAIDコントローラ部107の全体的に制御する。RAIDCPU部203は、画像形成装置100の他のデバイス、たとえばCPU部106の動作または制御によらず、これらとは独立して自らのRAID処理を実行する。
第一外部記録装置108は、たとえばハードディスクデバイスである。第一外部記録装置108は、第一キャッシュ部209、第一記録部210、および、これらが接続される第一CPU部208、を有する。第一CPU部208は、第一SATAIF部205に取外可能な構成で接続される。第一記録部210は、データを不揮発性に記録する。第一キャッシュ部209は、第一外部記録装置108が入出力するデータを一時的に記録する。第一CPU部208は、RAIDCPU部203から取得したデータを、最初に第一キャッシュ部209に記録し、その後に第一キャッシュ部209から第一記録部210へ記録する。これにより、RAIDCPU部203からの見た目の書込時間および読出時間を短縮することができる。第一外部記録装置108は、それ単独でデータの書込および読出が可能となっている独立動作可能な記録装置である。
第二外部記録装置109は、たとえばハードディスクデバイスである。第一外部記録装置108は、第二キャッシュ部212、第二記録部213、および、これらが接続される第二CPU部211、を有する。第二CPU部211は、第二SATAIF部207に取外可能な構成で接続される。第二記録部213は、データを不揮発性に記録する。第二キャッシュ部212は、第二外部記録装置109が入出力するデータを一時的に記録する。第二CPU部211は、RAIDCPU部203から取得したデータを、まず第二キャッシュ部212に記録し、その後に第二キャッシュ部212から第二記録部213へ記録する。これにより、RAIDCPU部203からの見た目の書込時間および読出時間を短縮することができる。第二外部記録装置109は、第一外部記録装置108とは独立して、それ単独でデータの書込および読出が可能となっている独立動作可能な記録装置である。なお、第一外部記録装置108と第二外部記録装置109とは、ハードディスクデバイス以外の、たとえば半導体メモリデバイスであってもよい。
図3は、RAID制御状態の遷移図である。RAIDコントローラ部107には、シングルモードと、ミラーリングモードとの2つの動作モードがある。シングルモードとは、RAIDコントローラ部107に、第一外部記録装置108または第二外部記録装置109のみが接続されている場合の動作モードである。ミラーリングモードとは、RAIDコントローラ部107に、第一外部記録装置108および第二外部記録装置109が接続されている場合の動作モードである。RAIDCPU部203は、第一SATAIF部205と第二SATAIF部207とについての外部記録装置の接続状態を監視し、接続状態に応じて自動的に動作モードを切り替えてよい。たとえば第一SATAIF部205および第二SATAIF部207の一方のみに1台の外部記録装置が接続されている場合には、RAIDCPU部203は、シングルモードで動作する。双方に2台の外部記録装置が接続されている場合には、ミラーリングモードで動作するように自動切り替えしてよい。なお、RAIDCPU部203は、ユーザの設定に応じて、動作モードを強制的に切り替えてもよい。ミラーリングモードには、ミラーステート、デグレードステート、リビルドステート、ホールトステート、の4つの動作状態がある。RAIDCPU部203は、接続されている2台の外部記録装置の故障有無を検出して、自動的に動作状態を切り換えてよい。なお、RAIDCPU部203は、ユーザの設定に応じて、動作状態を強制的に切り替えてもよい。そして、これらの動作状態の切り替えは、画像形成装置100の動作中の任意のタイミングで実行されてもよいが、本実施形態では、画像形成装置100の起動タイミングのみで実行している。
ミラーステートは、第一外部記録装置108および第二外部記録装置109がともに正常に動作している状態である。RAIDコントローラ部107のRAIDCPU部203は、2台の外部記録装置のうちの一台をマスター外部記録装置とし、もう一台をスレーブ外部記録装置とする。そして、リードアクセスは、マスター外部記録装置のみに実行する。ライトアクセスは、マスター外部記録装置およびスレーブ外部記録装置の双方に対して実行する。ミラーステートにおいて第一外部記録装置108および第二外部記録装置109の一方が故障すると、動作状態は、デグレードステートとなる。
デグレードステートは、故障していない他方の外部記録装置のみで動作している状態である。RAIDコントローラ部107のRAIDCPU部203は、故障していない他方の外部記録装置のみに対して、ライトアクセスおよびリードアクセスする。そして、デグレードステートにおいて、故障している一方の外部記録装置が新たなものに交換されると、動作状態は、リビルドステートとなる。また、デグレードステートにおいて、さらに他方の外部記録装置が故障すると、動作状態は、ホールトステートとなる。
リビルドステートは、故障していない他方の外部記録装置のみで動作している状態である。また、リビルドステートでは、RAIDコントローラ部107のRAIDCPU部203は、故障していない外部記録装置をマスター外部記録装置とし、新たに接続された外部記録装置をスレーブ外部記録装置とする。そして、RAIDCPU部203は、マスター外部記録装置にリードアクセスし、スレーブ外部記録装置にライトアクセスし、マスター外部記録装置のデータをスレーブ外部記録装置へコピーする。マスター外部記録装置のすべてのデータがスレーブ外部記録装置へコピーされると、リビルドが完了して、動作状態は、ミラーステートとなる。マスター外部記録装置のすべてのデータについてのスレーブ外部記録装置へのコピーが完了する前に、マスター外部記録装置が故障すると、動作状態は、ホールトステートとなる。スレーブ外部記録装置が故障すると、デグレードステートとなる。
ホールトステートは、2台の外部記録装置の両方が故障している状態である。この場合、RAIDCPU部203は、外部記録装置にアクセスすることはできない。画像形成装置100は、外部記録装置にアクセスして使用することができない。
このようなRAIDコントローラを使用することにより、画像形成装置100は、記録容量の大容量化、パフォーマンスの向上、データ信頼性の向上、などを実現できる。動画データおよび画像データの高精細化、高速ネットワークの普及などに好適に対応できるようになる。また、RAIDコントローラに接続されている複数の外部記録装置108,109のいずれか一方に障害が発生すると、複数の外部記録装置108,109のデータ同一性が崩れる。このため、上述するようにRAIDコントローラは、障害が発生した一方の外部記録装置を新たなものに交換した後に、他方の外部記録装置のデータをコピーするリビルド処理を実行する。RAIDコントローラは、複数の外部記録装置108,109の1つが交換されると、自らの判断によりリビルド処理を自動的に実行する。その一方で、動作中の画像形成装置100のCPU部106は、RAIDコントローラがリビルド処理中であるか否かにかかわらず、それを知ることなく、外部記録装置へアクセスする。
画像形成装置100のCPU部106のアクセスと、RAIDコントローラのリビルド処理とが競合すると、画像形成装置100のCPU部106のアクセス速度が低下し、画像形成装置100のパフォーマンスが低下する。特に、画像形成装置100のCPU部106は、外部記録装置に対して、データのリードアクセスやライトアクセスだけでなく、データ消失を抑制するためのキャッシュフラッシュコマンドや、IDENTIFYDeviceコマンドを発行することがある。キャッシュフラッシュ処理では、外部記録装置は、外部記録装置のキャッシュ部に保持しているデータを即座に記録部に書込んで記録する。これにより、外部記録装置に記録したデータが電源断などにより消失しないようになる。しかしながら、キャッシュフラッシュ処理の期間は、キャッシュに保持されているデータ量に応じて異なる。また、時間がかかることがある。これらの処理を伴うライトアクセスを実行する場合、画像形成装置100のパフォーマンスが低下する可能性がある。また、画像形成装置100のCPU部106が外部記録装置に対してアクセスする場合、連続しているLBAに対してシーケンシャルにアクセスする場合と、不連続なLBAに対してランダムにアクセスする場合とがある。シーケンシャルアクセス中にキャッシュフラッシュコマンドを発行してもLBAが連続しているためにその応答処理期間は最小限である。しかしながら、ランダムアクセスにおいてはLBAが離れるため、ハードディスクデバイスでのヘッドの移動期間や記録メディアの回転待ちが発生し、処理期間が長くなる。リビルド処理はCPUからのアクセスとは独立した処理である。このため、リビルド処理のライトデータのLBAと、画像形成装置100のCPU部106のライトデータのLBAとが離れている可能性は極めて高い。その結果、リビルド処理中の画像形成装置100のCPU部106のライトアクセスは、ランダムアクセスとなる可能性が高い。そして、リビルド処理のライトデータと画像形成装置100のCPU部106のライトデータとの両方がキャッシュにある状態においてキャッシュフラッシュコマンドが発行されると、外部記録装置からの応答が遅れることになる。画像形成装置100のCPU部106が電源断などの対策のためにライトアクセスとキャッシュフラッシュコマンドとを連続的に実行している期間においてRAIDコントローラがリビルド処理を実行すると、ライトアクセスごとに遅延が発生する。このような遅延が連続的に発生することにより、パフォーマンスが大きく低下する。このように画像形成装置100といった情報処理装置では、リビルド処理の影響による装置としてのパフォーマンスの低下をできるだけ抑制することが求められている。
図4は、本発明の第一実施形態におけるリビルド処理の流れを示すフローチャートである。ストレージコントローラとしてのRAIDコントローラ部107のRAIDCPU部203は、画像形成装置100のCPU部106のアクセスの有無にかかわらず独自の処理として、画像形成装置100の動作中に図4のリビルド処理を繰り返し実行する。ステップS101において、RAIDCPU部203は、RAIDコントローラの初期設定を実行する。RAIDコントローラの初期設定において、RAIDCPU部203は、RAIDROM部204からRAIDコントローラ部107の設定情報を読出して初期設定を実行する。初期設定には、たとえば、上述した動作モードやステート、がある。ステップS102において、RAIDCPU部203は、画像形成装置100のCPU部106から、モード変更指示があるか否かを判断する。モード変更指示がない場合、RAIDCPU部203は、処理をステップS104へ進める。モード変更指示がある場合、RAIDCPU部203は、処理をステップS103へ進める。ステップS103において、RAIDCPU部203は、RAIDコントローラ部107の動作モードを、CPU部106に指示されたモードへ変更する。CPU部106がシングルモードへの変更を指示している場合、RAIDCPU部203は、RAIDコントローラ部107をシングルモードに設定する。CPU部106がミラーリングモードへの変更を指示している場合、RAIDCPU部203は、RAIDコントローラ部107をミラーリングモードに設定する。ミラーリングモードに変更された時点でのステートは、RAIDCPU部203が自動的に第一外部記録装置108および第二外部記録装置109と通信して独自に判断してよい。ステップS104において、RAIDCPU部203は、現在の動作モードがミラーリングモードであるか否かを判断する。ミラーリングモードである場合、RAIDCPU部203は、処理をステップS105へ進める。ミラーリングモードでない場合、RAIDCPU部203は、処理をステップS110へ進める。ステップS110において、RAIDCPU部203は、RAIDコントローラ部107をシングルモードとして動作させる。シングルモードでは、RAIDCPU部203は、RAIDコントローラ部107に第一外部記録装置108および第二外部記録装置109が接続されている場合でも、CPU部106の指示にしたがってその一方のみにアクセスする。RAIDCPU部203は、第一外部記録装置108の接続状況と第二外部記録装置109の接続状況とを判断して、1つの外部記録装置を選択すればよい。
ステップS105において、RAIDCPU部203は、ミラーリングモードでの状態がリビルドステートであるか否かを判断する。リビルドステートである場合、RAIDCPU部203は、処理をステップS106へ進める。リビルドステートでない場合、すなわちたとえばミラーステートである場合、RAIDCPU部203は、処理をステップS109へ進める。ステップS109において、RAIDCPU部203は、画像形成装置100のCPU部106のアクセスを、ミラーステートでの処理により実行する。RAIDコントローラ部107のRAIDCPU部203は、2台の外部記録装置のうちの一台をマスター外部記録装置とし、もう一台をスレーブ外部記録装置とする。そして、リードアクセスは、マスター外部記録装置のみに実行する。ライトアクセスは、マスター外部記録装置およびスレーブ外部記録装置の双方に対して実行する。ステップS106において、RAIDCPU部203は、実際にCPU部106からアクセス指示を受信したか否かを判断する。RAIDCPU部203は、アクセス判断手段として、画像形成装置100による複数の外部記録装置108,109へのアクセスの有無を判断する。そして、実際のアクセスを受信している場合、RAIDCPU部203は、処理をステップS107へ進める。実際のアクセスを受信していない場合、RAIDCPU部203は、処理をステップS111へ進める。ステップS107において、RAIDCPU部203は、CPU部106のアクセス指示の内容がライトアクセスであるか否かを判断する。RAIDCPU部203は、アクセス判断手段として、画像形成装置100による複数の外部記録装置108,109へのアクセスの有無を判断する際に、画像形成装置100による複数の外部記録装置108,109へのライトアクセスの有無を判断する。そして、ライトアクセスである場合、RAIDCPU部203は、処理をステップS108へ進める。ライトアクセスでない場合、すなわちリードアクセスなどである場合、RAIDCPU部203は、処理をステップS111へ進める。
ステップS108において、RAIDCPU部203は、RAIDコントローラ部107によるリビルド処理を一時的に停止するために、ライト用のリビルド停止期間を設定する。RAIDCPU部203は、停止設定手段として、画像形成装置100による連続的なライトアクセスを妨げないライト用のリビルド停止期間を設定する。RAIDCPU部203は、通常、リビルド処理と比べてCPUのアクセスの優先度を高く設定している。この場合、RAIDCPU部203は、CPUのアクセスの合間に、リビルド処理を実行することになる。本実施形態では、さらにリビルド停止期間を設定する。RAIDCPU部203は、CPUのアクセスがあると、その後にCPUのアクセスがなくとも、一定のリビルド停止期間においてリビルド処理を継続的に停止することになる。そして、CPUのアクセスがこのリビルド停止期間以下で繰り返される場合、RAIDCPU部203は、その期間の全体においてリビルド処理を継続的に停止することになる。その後、RAIDCPU部203は、処理をステップS111へ進める。ステップS111において、RAIDCPU部203は、リビルド停止期間中であるか否かを判断する。リビルド停止期間は、たとえばRAIDCPU部203によりプログラム計測されてよい。リビルド停止期間中である場合、RAIDCPU部203は、処理をステップS106へ戻す。リビルド停止期間中でない場合、すなわちリビルド停止期間が経過した後である場合、RAIDCPU部203は、処理をステップS112へ進める。
ステップS112において、RAIDCPU部203は、リビルド処理を実行する。RAIDCPU部203は、リビルド実行手段として、複数の外部記録装置108,109の一方のデータを他方へコピーするリビルド処理を実行する。その後、RAIDCPU部203は、処理をステップS105へ戻す。リビルドモードであり続ける場合、RAIDCPU部203は、ステップS105〜S108およびステップS111〜S112の処理を繰り返す。CPUのアクセスの合間であって、かつ、リビルド停止期間中でない場合に、RAIDCPU部203は、リビルド処理を実行する。十分な期間の後に、複数の外部記録装置108,109のデータは、同じになる。このように画像形成装置100のCPU部106からライトアクセスがあると、RAIDCPU部203は、ライト用のリビルド停止期間を設定し、その期間中にライトアクセスがないとしてもリビルド処理を停止する。したがって、画像形成装置100のCPU部106が、このライト用のリビルド停止期間以下の間隔でライトアクセスが断続的に繰り返し発生した場合、その期間の全体においてリビルド処理が停止されることになる。断続的なライトアクセスの間にリビルド処理が入り込まないので、画像形成装置100のパフォーマンスは、リビルド処理の影響を受けにくくなり、リビルド処理がない場合と同等となり得る。外部記録装置の応答の遅延が低減される。
図5は、図4のリビルド処理の下での、画像形成装置100のCPUによるライトアクセスの一例のタイミングチャートである。図5(A)は、画像形成装置100のCPUによるライトアクセスである。図5(B)は、RAIDCPU部203による第一外部記録装置108へのライトアクセスである。図5(C)は、RAIDCPU部203による第二外部記録装置109へのライトアクセスである。このように、画像形成装置100のCPUがRAIDCPU部203へ繰り返しライトアクセスすると、RAIDCPU部203は、第一外部記録装置108および第二外部記録装置109へ繰り返しライトアクセスする。ここで、図中の期間T1は、CPU部106が先のライトアクセスが終了してから次のライトアクセスを開始するまでのライト間隔である。RAIDCPU部203が、このライト間隔より長いライト用のリビルド停止期間を設定することにより、断続的なライトアクセスの間にリビルド処理が発生し難くなる。また、図5では、画像形成装置100のCPUは、ライトアクセスする度にキャッシュフラッシュを実行している。図中の期間T2は、ライトアクセスを開始してからキャッシュフラッシュが終了するまでのライト期間である。RAIDCPU部203が、このライト期間より長いライト用のリビルド停止期間を設定することにより、この期間内にリビルド処理が入り込みにくくなる。リビルド処理が入り込む前にキャッシュフラッシュを実行することにより、応答遅延の増大を抑制できる可能性が高くなる。
また、図中の期間T3は、先のライトアクセスが終了してから次のライトアクセスのキャッシュフラッシュを開始するまでの期間である。これは、ライト間隔T1より長い。RAIDCPU部203が、この期間T3より長いライト用のリビルド停止期間を設定することにより、ライトアクセス毎のキャッシュフラッシュを含む断続的なライトアクセス間にリビルド処理がほぼ確実に発生し難くなる。RAIDCPU部203は、図4のステップS108において、これらいずれかより長いライト用のリビルド停止期間を設定するとよい。具体的にはたとえば、いずれかの期間の倍の長さの期間などを設定するとよい。RAIDCPU部203は、たとえば期間T3をライト用のリビルド停止期間を設定する。この場合、CPU部106からライトアクセスがあると、RAIDCPU部203は、それに応じたライトアクセスが終えると、期間T3のリビルド停止期間を設定する。RAIDCPU部203は、リビルド処理を実行しない。その後再び、CPU部106からライトアクセスがあると、RAIDCPU部203は、それに応じたライトアクセスを実行する。また、ライトアクセスが終えると、期間T3のリビルド停止期間を再び設定する。RAIDCPU部203は、先に設定したリビルド停止期間が経過していなくとも、新たにリビルド停止期間を再設定する。そして、RAIDCPU部203は、CPU部106からライトアクセスがある限り、以上の処理を繰り返し、その全期間においてリビルド処理を実行しなくなる。また、最後に設定したリビルド停止期間が経過すると、RAIDCPU部203は、リビルド処理を再開することができる。
図6は、図4のリビルド処理の下での、画像形成装置100のCPUによるリードアクセスとリビルド処理との一例のタイミングチャートである。図6は、ライトアクセス以外のアクセスの一例である。図6(A)から(C)は、図5(A)から(C)と同様である。画像形成装置100のCPUがライトアクセスではなくリードアクセスする場合、RAIDCPU部203は、リビルド停止期間を設定しない。このため画像形成装置100のCPUが断続的なリードアクセスを繰り返すと、RAIDCPU部203は、第一外部記録装置108にリードアクセスする。また、断続的なリードアクセスの間において、RAIDCPU部203は、リビルド処理のために第一外部記録装置108にリードアクセスする。また、RAIDCPU部203は、リビルド処理のために第一外部記録装置108から詠み出したデータを第二外部記録装置109に書き込むために、第二外部記録装置109にライトアクセスする。そして、リビルド処理中に、CPU部106のリードアクセスがあると、RAIDCPU部203は、リビルド処理を一時停止して、第一外部記録装置108へリードアクセスする。RAIDCPU部203は、このような動作を繰り返す。
図7は、画像形成装置100のCPUがライトアクセスとリードアクセスとを繰り返し実行する場合のタイミングチャートである。図7(A)から(C)は、図5(A)から(C)と同様である。図7の場合、画像形成装置100のCPUは、先のライトアクセスの後に、キャッシュフラッシュコマンドを発行し、リードアクセスし、その後に次のライトアクセスを実行する。この場合、RAIDCPU部203は、第一外部記録装置108に対して、先のライトアクセスし、キャッシュフラッシュを実行し、リードアクセスし、その後に次のライトアクセスを実行する。また、RAIDCPU部203は、第二外部記録装置109に対して、先のライトアクセスし、キャッシュフラッシュを実行し、リードアクセスの時間の後に次のライトアクセスを実行する。このようなアクセスを画像形成装置100のCPUが実行する場合、RAIDCPU部203は、図中の期間T4より長いライト用のリビルド停止期間を設定するとよい。期間T4は、図5中の期間T1と同様に、先のライトアクセスの終了から次のライトアクセスの開始までの期間である。これにより、連続する複数のライトアクセスの間にキャッシュフラッシュやリードアクセスが挟まれることがあったとしても、リビルド停止期間が経過する前に、次のライトアクセスが開始される。その結果、RAIDCPU部203は、リビルド停止期間を再設定し続けて、その全期間においてリビルド処理を実行しないようになり得る。応答遅延を発生し難くできる。
以上のように、本実施形態では、ライト用のリビルド停止期間を設定することにより、画像形成装置100のCPUが断続的にライトアクセスしている最中に、RAIDCPU部203がリビルド処理を実行し難くできる。画像形成装置100のCPUが断続的にライトアクセスしている最中でのリビルド処理による応答遅延が、発生し難くなる。また、CPUのライトアクセスがなくなれば、リビルド処理を再開して、リビルド処理を完了することができる。
[第二実施形態]
次に、本発明の第二実施形態に係る画像形成装置100を説明する。本実施形態では、ライト用のリビルド停止期間またはリード用のリビルド停止期間を、画像形成装置100のCPUのアクセス内容に応じて切り替えて設定する。以下の説明では、主に上述した実施形態との相違点について説明する。
次に、本発明の第二実施形態に係る画像形成装置100を説明する。本実施形態では、ライト用のリビルド停止期間またはリード用のリビルド停止期間を、画像形成装置100のCPUのアクセス内容に応じて切り替えて設定する。以下の説明では、主に上述した実施形態との相違点について説明する。
図8は、本発明の第二実施形態におけるリビルド処理の流れを示すフローチャートである。ストレージコントローラとしてのRAIDコントローラ部107のRAIDCPU部203は、画像形成装置100のCPU部106のアクセスの有無にかかわらず独自の処理として、画像形成装置100の動作中に図8のリビルド処理を繰り返し実行する。図8のステップS201からステップS207、ステップS210からステップS213は、図4のステップS101からステップS107、ステップS209からステップS212までと同様であり、説明を省略する。ただし、ステップS206において実際のアクセスを受信していないと判断する場合、RAIDCPU部203は、処理をステップS212へ進める。また、ステップS212においてリビルド停止期間中であると判断する場合、RAIDCPU部203は、処理をステップS206へ戻す。そして、ステップS207において、RAIDCPU部203は、CPU部106のアクセス指示の内容がライトアクセスであるか否かを判断する。RAIDCPU部203は、アクセス判断手段として、画像形成装置100による複数の外部記録装置108,109へのアクセスの有無を判断する際に、画像形成装置100による複数の外部記録装置108,109へのライトアクセスの有無を判断する。そして、ライトアクセスである場合、RAIDCPU部203は、処理をステップS208へ進める。ライトアクセスでない場合、すなわちリードアクセスなどである場合、RAIDCPU部203は、処理をステップS209へ進める。
ステップS208において、RAIDCPU部203は、RAIDコントローラ部107によるリビルド処理を一時的に停止するために、ライト用のリビルド停止期間を設定する。RAIDCPU部203は、停止設定手段として、画像形成装置100による連続的なライトアクセスを妨げないライト用のリビルド停止期間を設定する。RAIDCPU部203は、通常、リビルド処理と比べてCPUのアクセスの優先度を高く設定している。この場合、RAIDCPU部203は、CPUのアクセスの合間に、リビルド処理を実行することになる。本実施形態では、さらにリビルド停止期間を設定する。RAIDCPU部203は、CPUのアクセスがあると、その後にCPUのアクセスがなくとも、一定のリビルド停止期間においてリビルド処理を継続的に停止することになる。そして、CPUのライトアクセスがこのリビルド停止期間以下で繰り返される場合、RAIDCPU部203は、その期間の全体においてリビルド処理を継続的に停止することになる。その後、RAIDCPU部203は、処理をステップS212へ進める。
ステップS209において、RAIDCPU部203は、RAIDコントローラ部107によるリビルド処理を一時的に停止するために、リード用のリビルド停止期間を設定する。RAIDCPU部203は、停止設定手段として、画像形成装置100による連続的なリードアクセスを妨げないリード用のリビルド停止期間を設定する。RAIDCPU部203は、通常、リビルド処理と比べてCPUのアクセスの優先度を高く設定している。この場合、RAIDCPU部203は、CPUのアクセスの合間に、リビルド処理を実行することになる。本実施形態では、さらにリビルド停止期間を設定する。RAIDCPU部203は、CPUのアクセスがあると、その後にCPUのアクセスがなくとも、一定のリビルド停止期間においてリビルド処理を継続的に停止することになる。そして、CPUのリードアクセスがこのリビルド停止期間以下で繰り返される場合、RAIDCPU部203は、その期間の全体においてリビルド処理を継続的に停止することになる。その後、RAIDCPU部203は、処理をステップS212へ進める。
図9は、図8のリビルド処理の下での、画像形成装置100のCPUによるライトアクセスの一例のタイミングチャートである。図9(A)から(C)は、図5(A)から(C)と同様である。図9の場合、画像形成装置100のCPUは、先のライトアクセスの後に、キャッシュフラッシュコマンドを発行し、その後に次のライトアクセスを実行する。この場合、RAIDCPU部203は、第一外部記録装置108に対して、先のライトアクセスし、キャッシュフラッシュを実行し、その後に次のライトアクセスを実行する。また、RAIDCPU部203は、第二外部記録装置109に対して、先のライトアクセスし、キャッシュフラッシュを実行し、その後に次のライトアクセスを実行する。そして、画像形成装置100のCPUがライトアクセスする場合、RAIDCPU部203は、ライト用のリビルド停止期間を設定する。RAIDCPU部203は、画像形成装置100のCPUがライトアクセスのたびに、ライト用のリビルド停止期間を再設定する。これにより、画像形成装置100のCPUが断続的にライトアクセスする場合、RAIDCPU部203は、その間にリビルド処理を実行しなくなる。特に、図9の期間T5は、CPUが先のライトアクセスを終了してから、次のライトアクセスを開始するまでの期間である。このような期間T5、またはそれ以上の期間のとなるライト用のリビルド停止期間を設定することにより、RAIDCPU部203は、画像形成装置100のCPUが断続的にライトアクセスする全期間においてリビルド処理を実行し難くなる。外部記録装置の応答遅延の増大を抑制できる。
図10は、図8のリビルド処理の下での、画像形成装置100のCPUによるリードアクセスとリビルド処理との一例のタイミングチャートである。図10(A)から(C)は、図5(A)から(C)と同様である。図10の場合、画像形成装置100のCPUは、断続的に繰り返してリードアクセスする。この場合、RAIDCPU部203は、第一外部記録装置108に対して、断続的に繰り返してリードアクセスする。また、RAIDCPU部203は、画像形成装置100のCPUのライトアクセスが終了すると、リード用のリビルド停止期間を設定する。リード用のリビルド停止期間は、ライト用のリビルド停止期間より短い。停止設定手段としてのRAIDCPU部203は、画像形成装置100がリードアクセスする場合のリード用のリビルド停止期間として、ライト用のリビルド停止期間より短い期間T6を設定する。RAIDCPU部203は、このリード用のリビルド停止期間において、断続的にリビルド処理を実行し難くなる。そして、リード用のリビルド停止期間が経過すると、RAIDCPU部203は、リビルド処理を開始する。断続的なリードアクセスの間において、RAIDCPU部203は、リビルド処理のために第一外部記録装置108にリードアクセスする。また、RAIDCPU部203は、リビルド処理のために第一外部記録装置108から詠み出したデータを第二外部記録装置109に書き込むために、第二外部記録装置109にライトアクセスする。そして、リビルド処理中に、CPU部106のリードアクセスがあると、RAIDCPU部203は、リビルド処理を一時停止して、第一外部記録装置108へリードアクセスする。RAIDCPU部203は、このような動作を繰り返す。
以上のように、本実施形態では、画像形成装置100のCPU部106からのアクセス内容に応じて、設定するリビルド停止期間を切り替える。これにより、画像形成装置100のCPU部106のアクセスが生じている場合において、ライトだけでなくリードにおいてもリビルド処理を実行し難くできる。しかも、本実施形態では、リード用のリビルド停止期間がライト用のリビルド停止期間よりも短く設定される。これにより、画像形成装置100のCPU部106による連続したライトアクセス中での応答遅延を効果的に抑制しつつ、連続したリードアクセスの期間においてリビルド処理を実行できる。
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。本発明は、上述の実施の形態の1以上の機能を実現するプログラムを、ネットワークや記録媒体を介してシステムや装置に供給し、そのシステム又は装置のコンピュータの1つ以上のプロセッサーがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100 画像形成装置
106 CPU部
107 RAIDコントローラ部
108 第一外部記録装置
109 第二外部記録装置
202 RAIDメモリ部
203 RAIDCPU部
204 RAIDROM部
208 第一CPU部
209 第一キャッシュ部
210 第一記録部
211 第二CPU部
212 第二キャッシュ部
213 第二記録部
106 CPU部
107 RAIDコントローラ部
108 第一外部記録装置
109 第二外部記録装置
202 RAIDメモリ部
203 RAIDCPU部
204 RAIDROM部
208 第一CPU部
209 第一キャッシュ部
210 第一記録部
211 第二CPU部
212 第二キャッシュ部
213 第二記録部
Claims (9)
- 複数の外部記録装置を接続可能な情報処理装置において、
複数の前記外部記録装置の一方のデータを他方へコピーするリビルド処理を実行するリビルド実行手段と、
前記情報処理装置による複数の前記外部記録装置へのアクセスの有無を判断するアクセス判断手段と、
前記アクセス判断手段が前記情報処理装置による複数の前記外部記録装置へのアクセスをありと判断する場合に、リビルド停止期間を設定する停止設定手段と、
を有し、
前記リビルド実行手段は、前記リビルド停止期間中には、前記リビルド処理を停止する、
情報処理装置。 - 前記アクセス判断手段は、前記情報処理装置による複数の前記外部記録装置へのライトアクセスの有無を判断し、
前記停止設定手段は、前記情報処理装置による連続的なライトアクセスを妨げないライト用のリビルド停止期間を設定する、
請求項1記載の情報処理装置。 - 前記停止設定手段は、前記情報処理装置が複数の前記外部記録装置へ連続的にライトアクセスする場合における先のライトアクセスが終了してから次のライトアクセスが開始するまでのライト間隔より長いライト用のリビルド停止期間を設定する、
請求項2記載の情報処理装置。 - 前記情報処理装置は、複数の前記外部記録装置へライトアクセスする度にキャッシュフラッシュを実行し、
前記停止設定手段は、ライトアクセスを開始してからキャッシュフラッシュが終了するまでの期間より長いライト用のリビルド停止期間を設定する、
請求項2記載の情報処理装置。 - 前記停止設定手段は、複数の前記外部記録装置へ連続的にライトアクセスする場合において、ライトアクセスする度にキャッシュフラッシュを実行し、
前記停止設定手段は、先のライトアクセスが終了してから次のライトアクセスのキャッシュフラッシュを開始するまでの期間より長いライト用のリビルド停止期間を設定する、
請求項2記載の情報処理装置。 - 前記アクセス判断手段は、前記情報処理装置による複数の前記外部記録装置へのリードアクセスの有無を判断し、
前記停止設定手段は、前記情報処理装置がリードアクセスする場合には、ライト用のリビルド停止期間より短いリード用のリビルド停止期間を設定する、
請求項2から5のいずれか一項記載の情報処理装置。 - 複数の前記外部記録装置が接続されるストレージコントローラと、
前記ストレージコントローラを通じて複数の前記外部記録装置にアクセスする制御部と、を有し、
前記リビルド実行手段、前記アクセス判断手段、および前記停止設定手段は、前記ストレージコントローラに設けられる、
請求項1から6のいずれか一項記載の情報処理装置。 - 複数の外部記録装置を接続可能な情報処理装置の制御方法であって、
複数の前記外部記録装置の一方のデータを他方へコピーするリビルド処理を実行するリビルド実行工程と、
前記情報処理装置による複数の前記外部記録装置へのアクセスの有無を判断するアクセス判断工程と、
前記アクセス判断工程において前記情報処理装置による複数の前記外部記録装置へのアクセスをありと判断する場合に、リビルド停止期間を設定する停止設定工程と、
を有し、
前記リビルド実行工程は、前記リビルド停止期間中には、前記リビルド処理を停止する、
情報処理装置の制御方法。 - 複数の外部記録装置を接続可能な情報処理装置の制御方法をコンピュータに実行させるプログラムであって、
前記情報処理装置の制御方法は、
複数の前記外部記録装置の一方のデータを他方へコピーするリビルド処理を実行するリビルド実行工程と、
前記情報処理装置による複数の前記外部記録装置へのアクセスの有無を判断するアクセス判断工程と、
前記アクセス判断工程において前記情報処理装置による複数の前記外部記録装置へのアクセスをありと判断する場合に、リビルド停止期間を設定する停止設定工程と、
を有し、
前記リビルド実行工程は、前記リビルド停止期間中には、前記リビルド処理を停止する、
プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019221407A JP2021092846A (ja) | 2019-12-06 | 2019-12-06 | 情報処理装置、その制御方法、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019221407A JP2021092846A (ja) | 2019-12-06 | 2019-12-06 | 情報処理装置、その制御方法、およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021092846A true JP2021092846A (ja) | 2021-06-17 |
Family
ID=76312439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019221407A Pending JP2021092846A (ja) | 2019-12-06 | 2019-12-06 | 情報処理装置、その制御方法、およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021092846A (ja) |
-
2019
- 2019-12-06 JP JP2019221407A patent/JP2021092846A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5409159B2 (ja) | 情報処理装置、情報処理装置の制御方法及びプログラム | |
US9952966B2 (en) | Control apparatus and control method therefor | |
KR101410596B1 (ko) | 정보 처리 장치, 카피 제어 프로그램 및 카피 제어 방법 | |
US20100174940A1 (en) | Information processing apparatus, method for controlling the information processing apparatus, and storage medium | |
US9065941B2 (en) | Image processing apparatus and method for controlling the same | |
JP4719801B2 (ja) | デバイス管理装置、デバイス初期化方法、デバイス初期化プログラムおよびデバイスシステム | |
US9292229B2 (en) | Information processing system, and control method | |
JP2021092846A (ja) | 情報処理装置、その制御方法、およびプログラム | |
US20120011317A1 (en) | Disk array apparatus and disk array control method | |
US8453007B2 (en) | Storage device and recovery method | |
US10528275B2 (en) | Storage system, storage control device, and method of controlling a storage system | |
JP2004252570A (ja) | ディスクアレイ装置及び画像形成装置 | |
US10748574B2 (en) | Apparatus and method for retracting the magnetic head to a home position after a predetermined time period | |
JP2007323377A (ja) | 記録装置、管理データの書き込み方法および管理データの修復方法 | |
JP7371483B2 (ja) | ストレージ制御装置及び制御プログラム | |
JP2021089524A (ja) | 情報処理装置、その制御方法、及びプログラム | |
JP2021092845A (ja) | 画像形成装置、その制御方法、およびプログラム | |
US20200288031A1 (en) | Information processing apparatus equipped with storage device, control method therefor, and storage medium | |
JP2021082198A (ja) | 情報処理装置、その制御方法、及びプログラム | |
JP2021082199A (ja) | ストレージ制御装置、その制御方法、及びプログラム | |
JP2017174026A (ja) | 情報処理装置 | |
US10181340B2 (en) | Electronic device and control method with instruction units based on a number of power supply off operations | |
JP2007018417A (ja) | Ataディスクアレイ装置、ataディスクアレイ装置の動作制御方法、及び動作制御プログラム | |
JP2009187406A (ja) | ディスクアレイ装置、データ切り戻し方法およびデータ切り戻しプログラム | |
JP2020013222A (ja) | 制御装置、制御プログラム、及び制御方法 |