(58)【調査した分野】(Int.Cl.,DB名)
前記ディスク回転数制御手段は、前記振動/衝撃レベルが特定の第1のレベル閾値以下であるときに、振動や衝撃を受けた一方の前記ハードディスクと振動や衝撃を受けていない他方の前記ハードディスクのディスク回転数を変更しないことを特徴とする請求項2に記載の情報処理装置。
前記ディスク回転数制御手段は、前記第1のレベル閾値より大きい特定の第2のレベル閾値において、前記振動/衝撃レベルが前記第1のレベル閾値より大きく前記第2のレベル閾値以下であるときに、振動や衝撃を受けた一方の前記ハードディスクのディスク回転数を下げ、振動や衝撃を受けていない他方の前記ハードディスクのディスク回転数を上げることを特徴とする請求項3に記載の情報処理装置。
前記ディスク回転数制御手段は、振動や衝撃を受けていない前記ハードディスクがデータの書き込みを完了すると、振動や衝撃を受けていない前記ハードディスクのディスク回転数を最初のディスク回転数より下げることを特徴とする請求項4に記載の情報処理装置。
前記ディスク回転数制御手段は、振動や衝撃を受けていない前記ハードディスクがデータの書き込みを完了し、前記振動/衝撃レベルが第3のレベル閾値以下であるときに振動や衝撃を受けた一方の前記ハードディスクのディスク回転数を最初のディスク回転数より上げることを特徴とする請求項5に記載の情報処理装置。
前記ディスク回転数制御手段は、振動や衝撃を受けている前記ハードディスクがデータの書き込みを完了すると、振動や衝撃を受けた前記ハードディスクと振動や衝撃を受けていない前記ハードディスクのディスク回転数を最初のディスク回転数に戻すことを特徴とする請求項6に記載の情報処理装置。
前記ディスク回転数制御手段は、前記振動/衝撃レベルが前記第2のレベル閾値より大きいときに、振動や衝撃を受けた一方の前記ハードディスクのディスク回転を停止し、振動や衝撃を受けていない他方の前記ハードディスクのディスク回転数を上げることを特徴とする請求項4または請求項7に記載の情報処理装置。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、同一のデータを2台のディスクに書き込むことで、一方のディスクが故障しても他方のディスクで処理が続行できるようにするミラーリング方式であるRAID1(Redundant Arrays of Independent Disks)においては、2台のHDDに同じデータを同時に書き込まなければならない。このため、2台のHDDのどちらか一方に振動や衝撃を受けた場合には、振動や衝撃を受けたHDDの磁気ディスクの回転が安定するまで、振動や衝撃を受けていない他方のHDDに対するデータの書き込みを待たなければならないので、データの書き込みが遅くなるという問題があった。また、データの書き込みを行うときにデータの書き込みエラーが発生することがあるが、エラーが発生している場合でもミラーリング方式であるRAID1はデータの書き込み処理を行うため、データが破損した状態で書き込まれるという問題があった。
【0005】
本発明はこのような状況に鑑みてなされたものであり、上記課題を解決できる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の情報処理装置は、2台のハードディスクに同じデータを書き込むRAID1を用いる情報処理装置であって、前記ハードディスクの振動や衝撃を検知する振動衝撃検知手段と、2台の前記ハードディスクのディスク回転数を制御するディスク回転数制御手段と、2台の前記ハードディスクにデータの書き込みを完了するとデータが書き込みエラーの有無を判定するデータ書き込みエラー判定手段と、データ書き込みエラーがあったときにエラー箇所のデータを再度書き込むデータ再書き込み手段とを備え、振動や衝撃を受けた一方の前記ハードディスクのディスク回転数と振動や衝撃を受けていない他方の前記ハードディスクのディスク回転数をそれぞれの前記ハードディスク振動や衝撃の大きさに応じてそれぞれの前記ハードディスクのディスク回転数を制御
し、さらに、前記ハードディスクの故障を検出するハードディスク故障検出手段を備え、一方の前記ハードディスクに故障を検出したときに、故障を検出した一方の前記ハードディスクのディスク回転を停止し、故障を検出していない他方の前記ハードディスクのディスク回転数を上げることを特徴としている。
また、本発明の情報処理装置の前記振動衝撃検知手段は、振動や衝撃の大きさを出力する振動/衝撃レベル出力手段を備え、前記ディスク回転数制御手段は、振動/衝撃レベルに応じて振動や衝撃を受けた一方の前記ハードディスクのディスク回転数と振動や衝撃を受けていない他方の前記ハードディスクのディスク回転数を制御することを特徴としている。
また、本発明の情報処理装置の前記ディスク回転数制御手段は、前記振動/衝撃レベルが特定の第1のレベル閾値以下であるときに、振動や衝撃を受けた一方の前記ハードディスクと振動や衝撃を受けていない他方の前記ハードディスクのディスク回転数を変更しないことを特徴としている。
また、本発明の情報処理装置の前記ディスク回転数制御手段は、前記第1のレベル閾値より大きい特定の第2のレベル閾値において、前記振動/衝撃レベルが前記第1のレベル閾値より大きく前記第2のレベル閾値以下であるときに、振動や衝撃を受けた一方の前記ハードディスクのディスク回転数を下げ、振動や衝撃を受けていない他方の前記ハードディスクのディスク回転数を上げることを特徴としている。
また、本発明の情報処理装置の前記ディスク回転数制御手段は、振動や衝撃を受けていない前記ハードディスクがデータの書き込みを完了すると、振動や衝撃を受けていない前記ハードディスクのディスク回転数を最初のディスク回転数より下げることを特徴としている。
また、本発明の情報処理装置の前記ディスク回転数制御手段は、振動や衝撃を受けていない前記ハードディスクがデータの書き込みを完了し、前記振動/衝撃レベルが第3のレベル閾値以下であるときに振動や衝撃を受けた一方の前記ハードディスクのディスク回転数を最初のディスク回転数より上げることを特徴としている。
また、本発明の情報処理装置の前記ディスク回転数制御手段は、振動や衝撃を受けている前記ハードディスクがデータの書き込みを完了すると、振動や衝撃を受けた前記ハードディスクと振動や衝撃を受けていない前記ハードディスクのディスク回転数を最初のディスク回転数に戻すことを特徴としている。
また、本発明の情報処理装置の前記ディスク回転数制御手段は、前記振動/衝撃レベルが前記第2のレベル閾値より大きいときに、振動や衝撃を受けた一方の前記ハードディスクのディスク回転を停止し、振動や衝撃を受けていない他方の前記ハードディスクのディスク回転数を上げることを特徴としている
。
【発明の効果】
【0007】
本発明は、RAID1を用いて制御される2台のHDDにおいて、一方のHDDが振動や衝撃を受けた場合でも他方のHDDの書き込みを行わない待ち時間をなくすようにし、また書き込み時間を早くすることで、データの書き込みにおける全体の時間を速くでき、更にデータ書き込みエラーをチェックし、データ書き込みエラーがあるときには再度データを書き込むようにすることで、データが破損した状態で書き込まれることを防止できる情報処理装置を提供する。
【発明を実施するための形態】
【0009】
以下、本発明を実施するための形態(以下、「実施形態」という)を、図面を参照して説明する。実施形態は、情報処理装置が備えるRAID1を用いて制御される2台のHDDの各々に振動や衝撃を検知できる3Dセンサーを取り付け、この2台の3Dセンサーが検知した振動や衝撃の大きさ(以下、「振動/衝撃レベル」という)により2台のHDDのディスク回転数を各々制御するものである。また、データ書き込みエラーをチェックし、データ書き込みエラーがあるときには再度データを書き込むようにするものである。なお、実施形態は、HDDに取り付けられている3Dセンサーの1台が振動や衝撃を検知する場合である。また、実施形態の情報処理装置は、PCなどの端末、サーバー、プリンター、多機能プリンター、多機能周辺装置、又は複合機などの情報処理を行う装置である。
【0010】
まず、情報処理装置100のハードウェア構成について、
図1を用いて説明する。
図1に示すように情報処理装置100は、制御部101、DRAM(Dynamic Random Access Memory)102、EEPROM(Electrically Erasable Programmable Read-Only Memory)103、インターフェイス(I/F)104、NIC(Network Interface Card)105、操作パネル部106、スキャナー部107、RAID1コントローラー108、HDD109、HDD110、3Dセンサー111、及び3Dセンサー112から構成されている。制御部101、DRAM102、EEPROM103、NIC105、操作パネル部106、スキャナー部107、RAID1コントローラー108、3Dセンサー111、及び3Dセンサー112は、インターフェイス104に接続されている。HDD109とHDD110は、RAID1コントローラー108に接続されている。EEPROM103には、OS(Operating System)10、アプリケーション20、及びRAID1コントローラー108を制御するRAID1ドライバー30が記憶されている。
【0011】
制御部101は、各種I/OやUSB(Universal Serial Bus)等のインターフェイス、バスコントローラー等を含む情報処理装置100が備える装置や機能に対してOS10によりCPU(Central Processing Unit)またはMPU(Micro Processing Unit)を駆動して情報処理装置100全体を制御する。
【0012】
DRAM102は、読み書きが可能な揮発性のメインメモリである。情報処理装置100のOS10、アプリケーション20、及びRAID1ドライバー30が実行されるときに、OS10、アプリケーション20、及びRAID1ドライバー30のプログラムやデータがDRAM102に一時的に記憶されることで実行可能となる。
【0013】
EEPROM103は、フラッシュメモリー等の不揮発性のメモリであり、OS10、アプリケーション20、及びRAID1ドライバー30のプログラムやデータを記憶する。OS10、アプリケーション20、及びRAID1ドライバー30に対して実行要求が行われると、OS10、アプリケーション20、及びRAID1ドライバー30のプログラムやデータがDRAM102に読み込まれる。
【0014】
インターフェイス104は、情報処理装置100の各装置や各部をバスなどにより接続し、各装置や各部に対するデータの入出力を制御する。
【0015】
NIC105は、ネットワークに接続されている他の情報処理装置100からHDD109またはHDD110に対するファイルアクセス要求を受け付け、これをOS10に出力する。
【0016】
操作パネル部106は、操作画面、データの表示、及びユーザーによる操作受け付けを行う液晶パネルを備え、情報処理装置100が備えている機能に対する操作項目を液晶パネルに表示する処理、情報処理装置100が記憶しているデータを液晶パネルに表示する処理、または液晶パネルからユーザーの操作を入力する処理を行う。
【0017】
スキャナー部107は、ユーザーによる操作パネル部106からの読み取り操作により、原稿の読み取り処理を行う。
【0018】
RAID1コントローラー108は、RAID1ドライバー30からのデータの読み込みまたは書き込み要求に応じてHDD109とHDD110に対するデータの書き込みまたは読み込みを制御する。データの書き込み要求のときには、RAID1コントローラー108は、HDD109とHDD110の両方にデータを書き込むことができる。また、RAID1コントローラー108は、制御部101からの要求によりHDD109とHDD110のディスクを駆動するモーターの回転数を制御する機能を備えている。
【0019】
HDD109とHDD110は、SCSI(Small Computer System Interface)又はUSBなどのインターフェィス規格の磁気ディスクドライブであり、プログラムやデータを記録する。なお、HDD109とHDD110は、同一種類及び同一容量のもの、または異なる種類又は異なる容量のものであってもよい。また、HDD109とHDD110は、RAID1コントローラー108とRAIDドライバー30からは2つの物理ディスクとして認識されるが、OS10とアプリケーション20からは、1つのディスクとして認識される。
【0020】
3Dセンサー111と3Dセンサー112は、前後・左右・上下の3方向の振動や衝撃を感知できるセンサーであり、3Dセンサー111はHDD109に取り付けられ、3Dセンサー112はHDD110に取り付けられている。3Dセンサー111は、HDD109が受ける振動や衝撃を検知すると、検知した振動や衝撃の大きさを示す振動/衝撃レベルを制御部101に出力する。同様に、3Dセンサー112は、HDD110が受ける振動や衝撃を検知すると、検知した振動や衝撃の大きさを示す振動/衝撃レベルを制御部101に出力する。なお、振動/衝撃レベルは、その値が大きいほど検知された振動や衝撃が大きい。
【0021】
次に、情報処理装置100のHDD109とHDD110のHDD制御の手順について、
図1と
図2を用いて説明する。なお、
図2に示すHDD制御処理部21は、アプリケーション20に含まれるソフトウェアである。
【0022】
まず、ユーザーが情報処理装置100の電源を投入することによりEEPROM103に記憶されているOS10がDRAM102に読み込まれ、OS10が起動される。次いで、OS10により制御部101が情報処理装置100の制御を開始する。次いで、制御部101がRAID1コントローラー108、HDD109、HDD110、3Dセンサー111、及び3Dセンサー112の動作を開始する制御を行う。これにより、アプリケーション20からHDD109とHDD110に対するデータの読み込みまたは書き込みが可能となる。
【0023】
次いで、HDD109とHDD110に対してデータの読み込みや書き込みが可能な状態、または
図2(6)に示すようにデータの読み込み中や書き込み中において、3Dセンサー111が振動や衝撃を検知すると、
図2(1)に示すように検知した振動/衝撃レベル信号を制御部101に出力する。また、3Dセンサー112が振動や衝撃を検知すると、
図2(1)に示すように検知した振動/衝撃レベル信号を制御部101に出力する。
【0024】
次いで、制御部101が振動/衝撃レベル信号を入力すると、入力した振動/衝撃レベル信号が3Dセンサー111または3Dセンサー112のどちらから出力されたものであるかを判別するためのデータ(以下、「3Dセンサー判別データ」という)を起動通知メッセージに設定し、
図2(2)に示すよう起動通知メッセージをHDD制御処理部21に受け渡すことでHDD制御処理部21を起動する。次いで、HDD制御処理部21が起動されると、HDD制御処理部21は、起動通知メッセージに設定されている振動/衝撃レベルと3Dセンサー判別データにより、3Dセンサー111または3Dセンサー112のどちらにどのような大きさの振動があったかを判定し、HDD109とHDD110のディスク回転数を制御するためのデータ(以下、「ディスク回転数制御データ」という)を作成する。
【0025】
次いで、HDD制御処理部21が
図2(3)に示すようにディスク回転数制御データをRAID1ドライバー30に出力する。次いで、RAID1ドライバー30がディスク回転数制御データを入力すると、RAID1ドライバー30は、ディスク回転数制御データからRAID1コントローラー108がHDD109とHDD110のディスクを駆動するモーターの回転数を制御するためのディスク回転数制御指令を作成する。
【0026】
次いで、RAID1ドライバー30は、
図2(4)に示すようにディスク回転数制御指令をRAID1コントローラー108に出力する。次いで、RAID1コントローラー108は、ディスク回転数制御指令を入力すると、
図2(5)に示すようにディスク回転数制御指令に基づいてHDD109とHDD110のディスクを駆動するモーターの回転数を制御する。
【0027】
HDD制御処理部21がデータの書き込み後に、データ書き込みエラーがあるかを判定し、データ書き込みエラーがあるときには再度データの書き込みを行う。なお、データ書き込みエラーがあるかの判定は、データを書き込んだファイルの拡張子が壊れているか、またはデータを書き込んだハードディスクのセクターが壊れているかなどを判断することで行う。
【0028】
次に、HDD制御処理部21により実行されるHDD制御処理の詳細について、
図3のフローチャートを用いてステップ順に説明する。3Dセンサー111または3Dセンサー112のいずれか一方が振動や衝撃を検知すると、振動や衝撃を検知した3Dセンサー111または3Dセンサー112が検知した振動/衝撃レベル信号を制御部101に出力する。制御部101が振動/衝撃レベル信号を入力すると、振動/衝撃レベルと3Dセンサー判別データとを設定した起動通知メッセージをHDD制御処理部21に受け渡すことでHDD制御処理部21を起動する。HDD制御処理部21が起動されるとHDD制御処理部21がHDD制御処理を開始する。
【0029】
(ステップS101)
まず、HDD制御処理部21は、起動通知メッセージに設定されている振動/衝撃レベルと3Dセンサー判別データを取り出す。
【0030】
(ステップS102)
次いで、HDD制御処理部21は、ステップS101で取り出した振動/衝撃レベルの値により振動や衝撃が小さい場合の処理パターン1、振動や衝撃が中程度の場合の処理パターン2、または振動や衝撃が大きい場合の処理パターン3において、いずれの処理パターンを実行するかを判別する。例えば、特定の振動/衝撃レベル閾値aと振動/衝撃レベル閾値b(振動/衝撃レベル閾値a<振動/衝撃レベル閾値b)を設け、振動/衝撃レベルの値が振動/衝撃レベル閾値a以下であるときには処理パターン1、振動/衝撃レベルの値が振動/衝撃レベル閾値aより大きく振動/衝撃レベル閾値b以下であるときには処理パターン2、振動/衝撃レベルの値が振動/衝撃レベル閾値bより大きいときには処理パターン3のように判別する。HDD制御処理部21は、処理パターン1のときにはステップS103に進み、処理パターン2のときにはステップS105に進み、処理パターン3のときにはステップS122に進む。
【0031】
(ステップS103)
処理パターン1においては、振動/衝撃レベルの値がHDDに問題ない振動や衝撃であるので、HDD制御処理部21は、ディスク回転数制御を行う必要がないためHDD制御処理は、両方のHDDのディスク回転数を変更しない。
【0032】
(ステップS104)
HDD制御処理部21は、HDD109とHDD110にミラーリングの最終処理を行う。
【0033】
(ステップS105)
処理パターン2においては、振動や衝撃を受けたHDD109またはHDD110に書き込みエラーが発生している場合があるので、HDD制御処理部21は、ステップS101で取り出した3Dセンサー判別データが示す3Dセンサー111または3Dセンサー112が取り付けられているHDDの回転数を下げるディスク回転数制御データを作成する。
【0034】
(ステップS106)
次いで、HDD制御処理部21は、HDD109またはHDD110の振動や衝撃を受けていないHDDの回転数を最初のディスク回転数(振動や衝撃を受ける直前の回転数)よりディスク回転数を上げるディスク回転数制御データを作成する。
【0035】
(ステップS107)
次いで、HDD制御処理部21は、ステップS105とステップS106で作成したディスク回転数制御データをRAID1ドライバー30に出力する。
【0036】
(ステップS108)
次いで、HDD制御処理部21は、振動や衝撃を受けていないディスク回転数を上げたHDDのデータの書き込み完了を確認する。
【0037】
(ステップS109)
次いで、HDD制御処理部21は、振動や衝撃を受けていないディスク回転数を上げたHDDのデータの書き込み完了が確認されたら、振動や衝撃を受けていないディスク回転数を上げたHDDのディスク回転数を最初のディスク回転数より下げるディスク回転数制御データを作成する。
【0038】
(ステップS110)
次いで、HDD制御処理部21は、ステップS109で作成したディスク回転数制御データをRAID1ドライバー30に出力する。
【0039】
(ステップS111)
次いで、HDD制御処理部21は、振動や衝撃を受けて回転数を下げたHDDに取り付けられている3Dセンサー111または3Dセンサー112から振動/衝撃レベルを入力し、入力した振動/衝撃レベルの値により振動や衝撃が収まっているかを判定する。例えば、特定の振動/衝撃レベル閾値c以下であるか否かにより、振動や衝撃が収まっているか否かを判定する。振動や衝撃を受け回転数を下げたHDDに対する振動/衝撃が収まっているとき(ステップS111のYes)は、ステップS113に進む。振動や衝撃を受けて回転数を下げたHDDに対する振動/衝撃が収まっていないとき(ステップS111のNo)は、ステップS112に進む。
【0040】
(ステップS112)
ステップS111のNoにおいて、HDD制御処理部21は、一定時間待ち状態としステップS111に戻る。
【0041】
(ステップS113)
ステップS111のYesにおいて、HDD制御処理部21は、振動や衝撃を受けてディスク回転数を下げたHDDに対して最初のディスク回転数(振動や衝撃を受ける直前の回転数)よりディスク回転を上げるディスク回転数制御データを作成する。
【0042】
(ステップS114)
次いで、HDD制御処理部21は、ステップS113で作成したディスク回転数制御データをRAID1ドライバー30に出力する。
【0043】
(ステップS115)
次いで、HDD制御処理部21は、振動や衝撃を受けてディスク回転数を下げた後にディスク回転数を上げたHDDのデータの書き込み完了を確認する。
【0044】
(ステップS116)
次いで、HDD制御処理部21は、振動や衝撃を受けてディスク回転数を下げた後にディスク回転数を上げたHDDのデータの書き込み完了が確認されると、両方のHDDに対して最初のディスク回転数(振動や衝撃を受ける直前の回転数)に戻すディスク回転数制御データを作成する。
【0045】
(ステップS117)
次いで、HDD制御処理部21は、ステップS116で作成したディスク回転数制御データをRAID1ドライバー30に出力する。
【0046】
(ステップS118)
次いで、データ書き込み後に、HDD制御処理部21は、HDD109とHDD110にデータ書き込みエラーがあるかを判定する。HDD109とHDD110のどちらか片方にデータ書き込みエラーがあるときには、ステップS119に進む。HDD109とHDD110の両方にデータ書き込みエラーがあるときには、ステップS120に進む。HDD109とHDD110のどちらにもデータ書き込みエラーがないときには、ステップS121に進む。
【0047】
(ステップS119)
HDD109とHDD110のどちらか片方にデータ書き込みエラーがあるときには、HDD制御処理部21は、データ書き込みエラーがあったHDD109またはHDD110のエラー箇所に再度データ書き込みを実行し、ステップS121に進む。
【0048】
(ステップS120)
HDD109とHDD110の両方にデータ書き込みエラーがあるときには、HDD制御処理部21は、データ書き込みエラーがあったHDD109及びHDD110のエラー箇所に再度データ書き込みを実行し、ステップS121に進む。
【0049】
(ステップS121)
次いで、HDD制御処理部21は、HDD109とHDD110にミラーリングの最終処理を行う。
【0050】
(ステップS122)
処理パターン3においては、HDD109またはHDD110に振動や衝撃を受けて故障が発生している場合があるので、HDD制御処理部21は、ステップS101で取り出した3Dセンサー判別データの3Dセンサー111または3Dセンサー112が取り付けられているHDDの回転を停止するディスク回転数制御データを作成する。
【0051】
(ステップS123)
次いで、HDD制御処理部21は、振動や衝撃を受けていないHDDの回転数を振動や衝撃を受ける直前の回転数より上げるディスク回転数制御データを作成する。
【0052】
(ステップS124)
次いで、HDD制御処理部21は、ステップS122とステップS123で作成したディスク回転数制御データをRAID1ドライバー30に出力する。これにより、RAID1ドライバー30の処理は変更され、振動や衝撃を受けたHDDはディスクの回転を停止し、振動や衝撃を受けていないHDDは高いディスク回転数でデータが書き込まれる。
【0053】
(ステップS125)
次いで、HDD制御処理部21は、振動や衝撃を受けていないHDDの回転数を上げているHDD109またはHDD110にデータ書き込みエラーがあるかを判定する。データ書き込みエラーがあるとき(ステップS125のYes)は、ステップS126に進む。データ書き込みエラーがないとき(ステップS125のNo)は、振動や衝撃を受けていないHDD109またはHDD110の一方でデータの書き込みを行う。
【0054】
(ステップS126)
ステップS125のYesにおいて、HDD制御処理部21は、データ書き込みエラーがあった振動や衝撃を受けていないHDD109またはHDD110のエラー箇所に再度データ書き込みを実行し、HDD109またはHDD110の一方でデータの書き込みを行う。
なお、2台のHDD109とHDD110の回転数が変更されたとき、これらの2台のHDD109とHDD110の消費電力を合計したとき、ほぼ一定となるようにそれぞれの回転数を決定するとよい。このようにすれば、消費電力を増加させずに、処理速度を向上させることができる。
【0055】
以上により、ミラーリング方式であるRAID1を用いる2台のHDD109とHDD110に同じデータを同時に書き込むときに、2台のHDDのどちらか一方に振動や衝撃を受けた場合でも、振動や衝撃を受けたHDDのディスク回転数を下げると共に、振動や衝撃を受けていないHDDのディスク回転数を上げ、振動や衝撃を受けていないHDDのデータの書き込みが完了した場合は、ディスク回転数を最初のディスク回転数より下げると共に、ディスク回転数を下げたHDDに対する振動や衝撃が収まっていれば、ディスク回転数を下げたHDDのディスク回転数を最初のディスク回転数より上げることで、振動や衝撃を受けたHDDにおいてもデータの書き込みを速く完了することができる。つまり、振動や衝撃を受けていないディスク回転数を上げたHDDのデータの書き込みが完了したときに振動や衝撃が収まっていれば、振動や衝撃を受けてディスク回転数を下げたHDDのディスク回転数を最初のディスク回転数より上げることでデータの書き込みを速く完了することができる。また、振動や衝撃を受けていないディスク回転数を上げたHDDのデータの書き込みが完了したときに振動や衝撃が収まっていなければ、振動や衝撃が収まったときに振動や衝撃を受けディスク回転数を下げたHDDのディスク回転数を最初のディスク回転数より上げることで、データの書き込みを速く完了することができる。これにより、2台のHDD109とHDD110における全体のデータ書き込み時間を速くすることができる。また、2台のHDD109とHDD110のデータの書き込みが完了すると、元のディスク回転数に戻すことができる。
また、振動や衝撃を受けたHDDが低速回転のとき消費電力が少なくなるので、この分の電力を振動や衝撃を受けていないHDDの高速回転用の電力として使用することで、使用する電力を予め設定されている上限を超えないようにできるという効果がある。
また、振動や衝撃を受けて故障と判定されたHDDを停止することでこのHDDの消費電力がなくなるので、この分の電力を振動や衝撃を受けていないHDDの高速回転用の電力として使用することで、振動や衝撃を受けていないHDDのディスク回転数を上げても使用する電力を予め設定されている上限を超えないようにできるという効果がある。
また、データの書き込みが完了すると、データ書き込みエラーがあるかを判定し、データ書き込みエラーがあったHDDのエラー箇所のデータ書き込みを再度実行するので、2台のHDDのどちらか一方に振動や衝撃を受けた場合でもエラーデータが書き込まれることを防止することができる。
【0056】
なお、実施形態のHDD制御処理の処理パターン3において、大きな振動や衝撃を受けたHDD109またはHDD110に故障が発生している可能性があるとしてHDDの回転を停止するようにしたが、HDDの回転を停止する条件はこれに限定されない。例えば、RAID1コントローラー108からHDD109またはHDD110の故障通知を入力し、実際に故障が発生しているときだけHDDの回転を停止するようにし、それ以外のときにはディスク回転数を下げるようにすることも可能である。
【0057】
このような本発明の情報処理装置は、RAID1を用いて制御される2台のHDDにおいて、一方のHDDが振動や衝撃を受けた場合でも他方のHDDの書き込みを行わない待ち時間をなくすようにし、また書き込み時間を早くすることで、データの書き込みにおける全体の時間を速くでき、更にデータ書き込みエラーをチェックし、データ書き込みエラーがあるときには再度データを書き込むようにすることで、データが破損した状態で書き込まれることを防止できる。
【0058】
以上、具体的な実施の形態により本発明を説明したが、上記実施の形態は本発明の例示であり、この実施の形態に限定されないことは言うまでもない。