説明

ミラーディスク制御装置、ミラーディスク装置ならびにそのリードエラー修復の方法およびプログラム

【課題】ATA仕様のような安価なミラーディスク装置において代替セクター処理コマンドを用いることなくリードエラーを修復する。
【解決手段】HDD4において、ファームウェア41が、ハードディスク42でリードエラーを発生したセクターに対して、次回のデータ書き込み時に代替セクター処理を行なうように予約する。すると、制御部3の正常データ読出処理部33が、HDD5から正常なデータを読み出すようにファームウェア41に指示を与えると、ファームウェア51が、ハードディスク42でリードエラーが発生したセクターと同一のセクターのデータをハードディスク52から読み出す。そして、上書処理部34が、読み出されたデータをエラーが発生したHDD4に上書きするようにファームウェア41に指示を与えると、ファームウェア41が、読み出されたデータをハードディスク42において予約されたセクターに上書きして、代替セクター処理を実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、リードエラー発生時に自己修復を行なうことができるミラーディスク制御装置、およびそのミラーディスク制御装置を備えるミラーディスク装置に関し、さらには、ミラーディスク装置においてリードエラーを修復する方法およびプログラムに関するものである。
【背景技術】
【0002】
ハードディスク装置は、コンピュータ機器等の記憶装置として広く普及している。ハードディスク装置には、冗長性を備えることにより、ハードディスクの故障によるデータの消失やシステムダウンを回避することができるミラーディスク装置がある。RAID(Redundant Arrays of Inexpensive Disks)で提唱されるRAID1は、ミラーリング(二重化)を実現するために複数台のハードディスクを駆動してそれぞれに同一データを書き込むことにより冗長性を備えており、好適にミラーディスク装置に適用される。
【0003】
ミラーディスク装置に用いられるハードディスクは、当初、高性能のSCSI(Small Computer System Interface)仕様のハードディスクが主流であった。しかしながら、最近では、安価なIDE(Integrated Drive Electronics)仕様のハードディスクを用いたミラーディスク装置が登場し、ハードディスク容量の増大などの技術革新により、普及が進んできている。ATA(AT Attachment)は、標準化されたIDEの正式な規格であり、シリアル伝送方式のSATAを派生している。
【0004】
ところで、ミラーディスク装置における通常時のデータの読み出しは、図3に示すようにして行われる。
【0005】
まず、アプリケーションまたはOSから読み出し要求が出力されると(ステップS11)、その読み出し要求を受けたHBA(Host Bus Adapter)等のコントローラにより、1つのハードディスクドライブ(HDD)へ読み出しコマンドが発行される(ステップS12)。すると、読み出しコマンドを受けたHDDからデータが読み出される(ステップS13)。
【0006】
また、ミラーディスク装置における通常時のデータの書き込みは、図4に示すようにして行われる。
【0007】
まず、アプリケーションまたはOSから書き込み要求が出力されると(ステップS21)、その書き込み要求を受けたコントローラにより、複数のHDDへ同じデータを書き込むための書き込みコマンドが発行される(ステップS22)。すると、書き込みコマンドを受けた複数のHDDへデータが書き込まれる(ステップS23)。
【0008】
ミラーディスク装置においては、冗長性を維持するために、リードエラーやライトエラーに対するエラー修復が行われる。例えば、SCSI仕様のミラーディスク装置でリードエラーやライトエラーが発生する場合、図5に示すようにして、エラー修復のための代替セクター処理が行われる。
【0009】
まず、アプリケーションまたはOSから読み出し要求または書き込み要求が出力されると(ステップS31)、当該要求を受けたコントローラにより、HDDへ読み出しコマンドまたは書き込みコマンドが発行されて、当該コマンドを受けたHDDに対するデータの読み出しまたは書き込みが行われる(ステップS32)。ここまでの動作は、上記のステップS11〜S13またはステップS21〜S23と同様である。
【0010】
読み出しまたは書き込みが成功すればエラーが生じていないが、成功しなければエラーが生じていることになる(ステップS33)。ここで、エラーが生じていなければ、処理が終了するが、エラーが生じていれば、コントローラにより、エラー発生側のHDDに代替セクター処理コマンドが発行される(ステップS34)。これにより、リードエラーが発生したHDDは、見かけのエラーを修復して冗長性を維持することができる。
【0011】
このように、SCSI仕様のミラーディスク装置では、代替セクター処理コマンドが用意されているので、ライトエラーおよびリードエラーが発生すると、これらのエラーに対する修復処理が実行されることにより、冗長性が維持される。
【0012】
代替セクター処理を行なうことについては、例えば、特許文献1に記載されている。特許文献1には、ディスクへのリードアクセスに対してリードエラーの応答があった場合に、読み取るべきデータを他のディスクに記憶されたデータから復元するだけでなく、リードエラーが根本的な媒体欠陥によるものであるかを検査して交代処理(代替処理)を実行することが記載されている。
【0013】
ATA仕様のミラーディスク装置でライトエラーが発生する場合、図6に示すようにして代替セクター処理が行われる。
【0014】
まず、アプリケーションまたはOSから書き込み要求が出力される(ステップS41)。書き込み要求を受けたコントローラにより、HDDへ書き込みコマンドが発行されて、書き込みコマンドを受けたHDDに対するデータの書き込みが行われる(ステップS42)。書き込みが成功すればライトエラーが生じていないが、成功しなければライトエラーが生じていることになる(ステップS43)。ここで、ライトエラーが生じていなければ、処理が終了するが、ライトエラーが生じていれば、ライトエラーが発生したHDDにおいて、ファームウェアにより、自動的に代替セクター処理が行われる(ステップS44)。これにより、ライトエラーが発生したHDDは、見かけのライトエラーを修復して冗長性を維持する。
【0015】
また、ATA仕様のミラーディスク装置でリードエラーが発生する場合、図7に示すような処理が行われる。
【0016】
まず、アプリケーションまたはOSから読み出し要求が出力される(ステップS51)。読み出し要求を受けたコントローラにより、1つのHDDへ読み出しコマンドが発行されて、読み出しコマンドを受けたHDDに対するデータの読み出しが行われる(ステップS52)。読み出しが成功すればリードエラーが生じていないが、成功しなければリードエラーが生じていることになる(ステップS53)。ここで、リードエラーが生じていなければ、処理が終了する。
【0017】
一方、リードエラーが生じていれば、リードエラー発生側のHDDにおいて、ファームウェアにより、エラーを発生したブロックが次回の書き込み時に代替セクター処理を行なう対象として予約される(ステップS54)。これは、その場で代替セクター処理を行なうとデータが消失する可能性があるからである。そして、リードエラーを発生したHDDが切り捨てられ、残りのHDDにより、動作が継続される(ステップS55)。
【先行技術文献】
【特許文献】
【0018】
【特許文献1】特開2006−85592号公報(2006年3月30日公開)
【発明の概要】
【発明が解決しようとする課題】
【0019】
SCSI仕様のミラーディスク装置は、サーバやワークステーション向け用途であるため、信頼性が高いが生産量が限られており、高価である。また、SCSI仕様のミラーディスク装置を用いるようなサーバやワークステーションについては、故障への対応などの保守に時間やコストをかけることが通常行なわれている。したがって、このようなミラーディスク装置を普及タイプのパーソナルコンピュータ(PC)に搭載することは難しい。
【0020】
これに対し、ATA仕様(SATA等を含む)のミラーディスク装置は、安価であり、普及タイプのPCに好適であるが、高度な管理機能を備えていないので、前述の代替セクター処理コマンドが用意されていない。その代わり、ライトエラーについては、前述のように、HDDのファームウェアで自動的に代替セクター処理を行なうことで修復が可能である。
【0021】
しかしながら、リードエラーについては、OSのファイルシステム側で欠損ブロックを登録して使用しないようにするので、リードエラーの原因となる欠損ブロックが生じたHDDは使用されなくなる。これにより、前述のように、一方の正常なHDDのみで動作を継続するため、冗長性が維持できなくなる。
【0022】
ATA仕様のミラーディスク装置において、リードエラーが生じたときに欠損ブロックを再び使用可能な状態にして冗長性を維持するためには、HDDの交換やHDDの再フォーマットなどの初期化処理が必要となる。この場合、交換された新たなHDDや初期化されたHDDに他方のHDDからデータをコピーするという冗長データの再構築も併せて必要となる。
【0023】
したがって、軽微な欠損ブロックによりリードエラーが発生しても、冗長性を回復するために多大なコストと時間を要し、コンピュータシステムの運用に支障を来すおそれがある。このように、ATA仕様のミラーディスク装置は、リードエラー発生時の冗長性回復が容易でないため、安価なPCにおいて二重化の優位性を十分に発揮することができない。
【0024】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、ATA仕様のような安価なミラーディスク装置において代替セクター処理コマンドを用いることなくリードエラーを修復できるミラーディスク制御装置を提供することである。
【課題を解決するための手段】
【0025】
本発明に係るミラーディスク制御装置は、ディスクおよび当該ディスクに対して読み出しおよび書き込みを行なうファームウェアを含むディスク装置を複数有するミラーディスク装置の前記ディスクに対して読み出しおよび書き込みを制御するミラーディスク制御装置において、上記の課題を解決するために、データが読み出される前記ディスクである読出側ディスクにリードエラーが発生していると、前記読出側ディスク以外の前記ディスクである冗長側ディスクにおいて前記読出側ディスクでリードエラーが発生した記憶単位と同一の記憶単位の正常なデータを読み出すように、前記冗長側ディスクに対応する前記ファームウェアである冗長側ファームウェアに指示する正常データ読出手段と、読み出された正常なデータを前記読出側ディスクの前記記憶単位に上書きするように、当該読出側ディスクに対応する前記ファームウェアである読出側ファームウェアに指示する上書手段とを備えていることを特徴としている。
【0026】
また、本発明に係るミラーディスク装置は、ディスクおよび当該ディスクに対して読み出しおよび書き込みを行なうファームウェアを含むディスク装置を複数有するミラーディスク装置において、上記の課題を解決するために、前記ミラーディスク制御装置を備え、前記冗長側ファームウェアが、前記正常データ読出手段による指示を受けて、前記冗長側ディスクから正常なデータを読み出し、前記読出側ファームウェアが、前記上書手段の指示を受けて、読み出された正常なデータを前記読出側ディスクに書き込むことを特徴としている。
【0027】
さらに、本発明に係るミラーディスク装置のリードエラー修復方法は、ディスクおよび当該ディスクに対して読み出しおよび書き込みを行なうファームウェアを含むディスク装置を複数有するミラーディスク装置の前記ディスクに対して読み出しおよび書き込みを制御するミラーディスク制御装置を備えたミラーディスク装置に生じたリードエラーを修復するリードエラー修復方法において、上記の課題を解決するために、前記ミラーディスク制御装置により、データが読み出される前記ディスクである読出側ディスクにリードエラーが発生していると、前記読出側ディスク以外の前記ディスクである冗長側ディスクにおいて前記読出側ディスクでリードエラーが発生した記憶単位と同一の記憶単位の正常なデータを読み出すように、前記冗長側ディスクに対応する前記ファームウェアである冗長側ファームウェアに指示する正常データ読出指示工程と、前記冗長側ファームウェアにより、前記正常データ読出指示工程による指示を受けて、前記冗長側ディスクから正常なデータを読み出す正常データ読出工程と、読み出された正常なデータを前記読出側ディスクの前記記憶単位に上書きするように、当該読出側ディスクに対応する前記ファームウェアである読出側ファームウェアに指示する上書き指示工程と、読み出された正常なデータを前記読出側ディスクの前記記憶単位に上書きする上書き工程とを含んでいることを特徴とする。
【0028】
上記のミラーディスク制御装置およびミラーディスク装置では、読出側ディスクにリードエラーが発生していると、ミラーディスク制御装置の正常データ読出手段により、冗長側ディスクにおいて読出側ディスクでリードエラーが発生した記憶単位と同一の記憶単位の正常なデータを読み出すように冗長側ファームウェアに指示される。この指示を受けると、冗長側ファームウェアにより、正常なデータが冗長側ディスクから読み出される。
【0029】
次いで、上書手段により、読み出された正常なデータを読出側ディスクのリードエラーが発生した該当記憶単位に上書きするように、読出側ファームウェアに指示される。すると、読出側ファームウェアにより、読み出された正常なデータが読出側ディスクの該当記憶単位に上書きされる。
【0030】
上記のようなリードエラー修復のための処理は、上記のミラーディスク修復方法の各工程によっても同様に行なわれる。
【0031】
これにより、SCSI仕様のミラーディスク装置で用意されている代替セクター処理コマンドを用いることなく、リードエラーに対する修復処理が実行される。それゆえ、安価なATA仕様のミラーディスク装置において、ディスクの交換や初期化を行なうことなく、リードエラーの修復を行なうことができる。
【0032】
しかも、ミラーディスク制御装置は、ファームウェアに指示を与えることにより、上記の正常データの読み出しおよび上書きを行なうので、既存のファームウェアの機能が利用される。それゆえ、ファームウェアに新たな機能の付加を必要とせず、既存のディスク装置を用いて、リードエラー修復が可能となる。
【0033】
本発明に係るミラーディスク装置のリードエラー修復プログラムは、前記リードエラー修復方法における前記正常データ読出指示工程、前記正常データ読出工程、前記上書き指示工程および前記上書き工程をコンピュータに実行させる。これにより、リードエラー修復方法をプログラムにて提供することができる。
【発明の効果】
【0034】
本発明に係るミラーディスク制御装置、ミラーディスク装置ならびにそのリードエラー修復の方法およびプログラムは、以上のように構成されているので、リードエラー発生時に冗長性を容易に回復することができる。したがって、本発明を採用することにより、安価に構成可能な汎用のパーソナルコンピュータにおいて二重化の優位性を十分に発揮することができるという効果を奏する。
【図面の簡単な説明】
【0035】
【図1】本発明の実施形態に係るパーソナルコンピュータを含む制御システムの構成を示すブロック図である。
【図2】上記パーソナルコンピュータにおけるミラーディスク装置によるリードエラー修復処理の手順を示すフローチャートである。
【図3】従来のミラーディスク装置における通常のデータ読み出し処理の手順を示すフローチャートである。
【図4】ミラーディスク装置における通常のデータ書き込み処理の手順を示すフローチャートである。
【図5】SCSI仕様のミラーディスク装置によるデータ読み出し処理またはデータ書き込み処理の手順を示すフローチャートである。
【図6】ATA仕様のミラーディスク装置によるデータ書き込み処理の手順を示すフローチャートである。
【図7】ATA仕様のミラーディスク装置によるデータ読み出し処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0036】
本発明の一実施形態について図1〜図2に基づいて説明すると、以下の通りである。
【0037】
〔1.パーソナルコンピュータの構成〕
図1に示すように、本実施形態に係るパーソナルコンピュータ(以降、単に「PC」と称する)1は、記憶装置としてミラーディスク装置2を備えている。また、PC1には、CPU6が設けられており、CPU6により実行されるプログラムとして、アプリケーションプログラム(以降、単に「アプリケーション」と称する)7およびOS(オペレーティングシステム)8がインストールされている。
【0038】
CPU6は、アプリケーション7およびOS8(特にファイルシステム)からの要求に応じて、データ読み出し要求やデータ書き込み要求のための要求信号をミラーディスク装置2に出力する。また、CPU6は、ミラーディスク装置2からの応答(書き込みおよび読み出しの完了信号や読み出されたデータ)をアプリケーション7およびOS8に転送する。
【0039】
〔1−1.ミラーディスク装置の構成〕
ミラーディスク装置2は、制御部3と、ATA仕様(SATA仕様)の2台のハードディスクドライブ(以降、単に「HDD」と称する)4,5とを有している。
【0040】
制御部3は、CPU6(ホストCPU)とHDD4,5とを接続するためのHBA(Host Bus Adapter)の機能を有しており、HDD4,5に対するデータの読み出しおよび書き込みを制御する他、エラー処理を行なう。このため、制御部3は、読出・書込処理部31と、リードエラー処理部32とを含んでいる。
【0041】
読出・書込処理部31は、アプリケーション7およびOS8からのデータ書き込み要求をCPU6を介して受けると、HDD4,5のファームウェア41,51に対して同一のデータを書き込む書き込みコマンドを発行する。また、読出・書込処理部31は、書き込みコマンドに対してデータの書き込みを実行したファームウェア41,51からの書き込み完了信号を受けて、アプリケーション7およびOS8にデータの書き込みの成功を通知する。
【0042】
読出・書込処理部31は、アプリケーション7およびOS8からのデータ読み出し要求をCPU6を介して受けると、メインのHDD4のファームウェア41に対してデータを読み出す読み出しコマンドを発行する。また、読出・書込処理部31は、読み出しコマンドに対してデータの読み出しを実行したファームウェア41からの読み出し完了信号を受けて、アプリケーション7およびOS8に対して、データの読み出しの成功を通知するとともに、読み出されたデータを転送する。
【0043】
リードエラー処理部32は、HDD4にリードエラーが発生したときに、正常な他方のサブとなるHDD5のデータを用いて修復を行なう。このため、リードエラー処理部32は、正常データ読出処理部33と、上書処理部34とを含んでいる。
【0044】
正常データ読出処理部33(正常データ読出手段)は、HDD4にリードエラーが発生したときに、リードエラーが発生していないHDD5において、HDD4のハードディスク42でリードエラーが発生したセクター(記憶単位)と同一のセクターから正しいデータを読み出すように指示を与える。また、正常データ読出処理部33は、リードエラー発生時に、HDD5からの読み出しデータを受けて、CPU6に読み出しが成功したことを通知するとともに、当該データをCPU6に転送する。
【0045】
上書処理部34(上書手段)は、上記の読み出しデータをリードエラーが発生したセクターに上書きするようにHDD4に指示する。
【0046】
HDD4,5(ディスク装置)は、ミラー接続されており、制御部3によってデータの読み出しおよび書き込みが制御される。HDD4,5は、ミラーリングのため、同一のデータが書き込まれ、HDD4がメインのドライブとして機能し、HDD5がサブのドライブとして機能する。したがって、通常のデータの読み出しがHDD4に対して行なわれ、冗長データの保存がHDD5に対して行なわれる。
【0047】
HDD4は、ファームウェア41(読出側ファームウェア)と、当該ファームウェア41に対応するハードディスク42(ディスク,読出側ディスク)とを有している。HDD5は、ファームウェア51(冗長側ファームウェア)と、当該ファームウェア51に対応するハードディスク52(ディスク,冗長側ディスク)とを有している。
【0048】
ファームウェア41,51は、制御部3の指示にしたがって、それぞれハードディスク42,52に対するデータの読み出しおよび書き込みを行なう。また、ファームウェア41,51は、データの読み出しおよび書き込みの完了を制御部3に通知するとともに、ハードディスク42,52から読み出したデータを制御部3に転送する。
【0049】
ファームウェア41,51はエラー発生時に次の処理を行なう。
(1)ライトエラー発生時
ファームウェア41,51は、ハードディスク42,52のいずれか一方にライトエラーが発生したときに、他方に書き込まれたデータを用いて、ライトエラー発生側の代替セクターに書き込みを行い、代替セクター処理を行なう。これは、前述の図6のフローチャートにおけるステップS44と同様の処理である。
(2)リードエラー発生時
ファームウェア41は、ハードディスク42にリードエラーが発生したときに、制御部3にリードエラーの発生を報知するとともに、リードエラーが発生したセクター(エラーセクター)について、次回の書き込み時に代替セクター処理を行なうことをファームウェア41に対して予約する。また、ファームウェア51は、前述の正常データ読出処理部33の指示に応じてハードディスク52の該当するセクター(エラーセクターと同一のセクター)から正常なデータを読み出して、制御部3およびファームウェア41に転送する。さらに、ファームウェア41は、前述の上書処理部34の指示に応じて、ハードディスク42のエラーセクターにファームウェア51から読み出された正常なデータを予約された代替セクターに上書きすることにより、代替セクター処理を行なう。
【0050】
〔1−2.制御部の形態〕
制御部3は、ハードウェアまたはソフトウェアによって構成される。制御部3(ミラーディスク制御装置)は、ハードウェアとして構成される場合、RAIDコントローラなどにより実現される。RAIDコントローラは、具体的には、RAIDコントローラカードとして設けられ、RAID機能を全て行なうため、CPU6の負担を軽減する。また、制御部3には、RAIDコントローラカードを用いても、RAID機能の大半をソフトウェアで実現するものもあり、このようなRAIDコントローラカードは機能的にはソフトウェアに分類される。また、制御部3は、ソフトウェアとして構成される場合、ミラーディスクドライバなどにより実現される。
【0051】
ソフトウェア(リードエラー修復プログラム)によって実現される制御部3は、上述した機能を実現するソフトウェアのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、CPU6がプログラムコードを実行することによっても実現される。上記の記録媒体としては、HDD4,5を用いるが、それ以外に、磁気ディスクや光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。
【0052】
また、PC1を通信ネットワークと接続可能に構成し、通信ネットワークを介して上記のプログラムコードを供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。
【0053】
なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【0054】
〔2.ミラーディスク装置のリードエラー修復処理〕
上記のように構成されるPC1におけるミラーディスク装置2によるリードエラー処理について、図2のフローチャートを参照して説明する。
【0055】
まず、アプリケーション7またはOS8からCPU6を介して読み出し要求が出力される(ステップS1)。次いで、制御部3の読出・書込処理部31により、HDD4へ読み出しコマンドが発行されて、読み出しコマンドを受けたHDD4に対するデータの読み出しが行われる(ステップS2)。読み出しが成功すればリードエラーが生じていないが、成功しなければリードエラーが生じていることになる(ステップS3)。ここで、リードエラーが生じていなければ、処理が終了する。
【0056】
一方、リードエラーが生じていれば、リードエラーが発生したHDD4において、ファームウェア41により、ハードディスク42でエラーを発生したセクターが、次回の書き込み時に代替セクター処理を行なう対象として予約される(ステップS4)。すると、制御部3の正常データ読出処理部33により、HDD5から正常なデータを読み出すようにファームウェア51に指示が与えられる(ステップS5,正常データ読出指示工程)。この指示に応じて、ファームウェア51により、ハードディスク42でリードエラーが発生したセクターと同一のセクターのデータがハードディスク52から読み出される(ステップS6,正常データ読出工程)。
【0057】
そして、読み出されたデータをエラーが発生したHDD4に上書きするようにファームウェア41に指示が与えられる(ステップS7,上書き指示工程)。この指示に応じて、ファームウェア41により、ハードディスク52から読み出されたデータが、ハードディスク42においてステップS4で予約されたセクターに上書きされて(ステップS8,上書き工程)、代替セクター処理が実行される(ステップS9)。
【0058】
〔3.実施形態の総括〕
本実施形態に係るミラーディスク装置2は、HDD4のリードエラー発生時、制御部3により、ファームウェア41,51に指示を与えて、HDD5のハードディスク52における、ハードディスク42にリードエラーが発生したセクターと同一のセクターから正しいデータを読み出し、ハードディスク42の該当セクターに上書きする。このように、代替セクター処理コマンドを用いることなく、リードエラーに対する修復処理(リードエラー修復方法)が前述のステップS4〜S7の各工程にて実行される。それゆえ、安価なATA仕様等のミラーディスク装置2において、HDD4,5の交換や初期化を行なうことなく、リードエラーの修復を行なうことができる。
【0059】
しかも、ファームウェア41,51は、リードエラーが発生したときに次回の書き込み時の代替セクター処理を予約し、書き込みのためのデータが与えられると代替セクター処理を行なうという、従来のATA仕様のミラーディスク装置で行なわれている代替セクター処理の機能が利用されるので、新たな機能の付加を必要としない。それゆえ、HDD4,5として既存のハードディスクドライブを用いて、リードエラー修復が可能となる。
【0060】
このように、制御部3を有するミラーディスク装置2は、リードエラー発生時に冗長性を容易に回復することができる。したがって、ミラーディスク装置2を採用することにより、安価に構成可能な汎用のPC1において二重化の優位性を十分に発揮することができる。
【0061】
なお、本実施形態では、ディスク(記録媒体)としてハードディスク42,52をそれぞれ用いたHDD4,5を含むミラーディスク装置2について説明した。しかしながら、本発明は、記録媒体をハードディスクに限定しないことは勿論である。ATA仕様のような、リードエラーに対する代替セクター処理コマンドが用意されていないミラーディスク装置であれば、フラッシュディスクのような半導体ディスクをディスクとして備えていてもよい。
【0062】
また、ミラーディスク装置2は、2つのHDD4,5を備えているが、これには限定されず、3つ以上のHDDを備えていてもよい。
【0063】
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【0064】
本発明のミラーディスク制御装置は、リードエラー発生時に正常なHDDから正常なデータを読み出して、リードエラーが発生したHDDに上書きすることにより、代替セクター処理を行なってリードエラーを修復するので、代替セクター処理コマンドが用意されていないATA仕様のような安価なミラーディスク装置に好適に利用できる。
【符号の説明】
【0065】
1 パーソナルコンピュータ
2 ミラーディスク装置
3 制御部(ミラーディスク制御装置)
4,5 ハードディスクドライブ(ディスク装置)
6 CPU
7 アプリケーションプログラム
8 オペレーティングシステム
31 読出・書込処理部
32 リードエラー処理部
33 正常データ読出処理部
34 上書処理部
41 ファームウェア(読出側ファームウェア)
51 ファームウェア(冗長側ファームウェア)
42 ハードディスク(ディスク,読出側ディスク)
52 ハードディスク(ディスク,冗長側ディスク)

【特許請求の範囲】
【請求項1】
ディスクおよび当該ディスクに対して読み出しおよび書き込みを行なうファームウェアを含むディスク装置を複数有するミラーディスク装置の前記ディスクに対して読み出しおよび書き込みを制御するミラーディスク制御装置において、
データが読み出される前記ディスクである読出側ディスクにリードエラーが発生していると、前記読出側ディスク以外の前記ディスクである冗長側ディスクにおいて前記読出側ディスクでリードエラーが発生した記憶単位と同一の記憶単位の正常なデータを読み出すように、前記冗長側ディスクに対応する前記ファームウェアである冗長側ファームウェアに指示する正常データ読出手段と、
読み出された正常なデータを前記読出側ディスクの前記記憶単位に上書きするように、当該読出側ディスクに対応する前記ファームウェアである読出側ファームウェアに指示する上書手段とを備えていることを特徴とするミラーディスク制御装置。
【請求項2】
ディスクおよび当該ディスクに対して読み出しおよび書き込みを行なうファームウェアを含むディスク装置を複数有するミラーディスク装置において、
請求項1に記載のミラーディスク制御装置を備え、
前記冗長側ファームウェアは、前記正常データ読出手段による指示を受けて、前記冗長側ディスクから正常なデータを読み出し、
前記読出側ファームウェアは、前記上書手段の指示を受けて、読み出された正常なデータを前記読出側ディスクに書き込むことを特徴とするミラーディスク装置。
【請求項3】
ディスクおよび当該ディスクに対して読み出しおよび書き込みを行なうファームウェアを含むディスク装置を複数有するミラーディスク装置の前記ディスクに対して読み出しおよび書き込みを制御するミラーディスク制御装置を備えたミラーディスク装置に生じたリードエラーを修復するリードエラー修復方法において、
前記ミラーディスク制御装置により、データが読み出される前記ディスクである読出側ディスクにリードエラーが発生していると、前記読出側ディスク以外の前記ディスクである冗長側ディスクにおいて前記読出側ディスクでリードエラーが発生した記憶単位と同一の記憶単位の正常なデータを読み出すように、前記冗長側ディスクに対応する前記ファームウェアである冗長側ファームウェアに指示する正常データ読出指示工程と、
前記冗長側ファームウェアにより、前記正常データ読出指示工程による指示を受けて、前記冗長側ディスクから正常なデータを読み出す正常データ読出工程と、
読み出された正常なデータを前記読出側ディスクの前記記憶単位に上書きするように、当該読出側ディスクに対応する前記ファームウェアである読出側ファームウェアに指示する上書き指示工程と、
読み出された正常なデータを前記読出側ディスクの前記記憶単位に上書きする上書き工程とを含むことを特徴とするミラーディスク装置のリードエラー修復方法。
【請求項4】
請求項3に記載のリードエラー修復方法における各工程をコンピュータに実行させるためのミラーディスク装置のリードエラー修復プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate