(57)【特許請求の範囲】
【請求項１】
コマンドの発行から応答までの第１の監視時間を測定する第１の測定部と、前記第１の測定部によって測定された前記第１の監視時間を記憶する第１の記憶部とを備えた記憶媒体と、
前記第１の監視時間とは別の第２の監視時間を記憶する第２の記憶部と、前記コマンドの発行から応答までの第２の監視時間を測定する第２の測定部と、
前記記憶媒体へ前記コマンドの発行を行い、データの書き込み及び読み出しを処理する処理部とを備えた制御装置と、
前記処理部により前記記憶媒体へのデータの書き込み及び読み出しを行う場合、前記第２の測定部の測定により第２の監視時間が経過した場合は、第１の記憶部に記憶されている前記第１の監視時間を読み出し、読み出した前記第１の監視時間に所定の時間を加算した第３の監視時間を前記第２の記憶部に記憶されている第２の監視時間に換えて更新する更新手段と
を具備することを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置において、
前記制御装置は、前記監視時間の最大時間を前記第２の記憶部に記憶しており、前記第３の監視時間は、前記最大時間以下であり、かつ前記第２の監視時間よりも大きいことを特徴とする情報処理装置。
【請求項３】
請求項１に記載の情報処理装置において、
前記前記第１の監視時間は、前記第１の測定部によって測定された最新の値に随時更新されることを特徴とする情報処理装置。
【請求項４】
請求項１に記載の情報処理装置において、
前記所定の時間は、固定値であることを特徴とする情報処理装置。
【請求項５】
コマンドの発行から応答までの第１の監視時間を測定する第１の測定部と、前記第１の測定部によって測定された前記第１の監視時間を記憶する第１の記憶部とを備えた記憶媒体と、前記第１の監視時間とは別の第２の監視時間を記憶する第２の記憶部と、前記コマンドの発行から応答までの第２の監視時間を測定する第２の測定部と、前記記憶媒体へ前記コマンドの発行を行い、データの書き込み及び読み出しを処理する処理部とを備えた制御装置とを有する情報処理装置で用いられるディスク制御方法であって、
前記記憶媒体へのデータの書き込み及び読み出しを行う場合、前記第２の測定部の測定により第２の監視時間が経過した場合は、第１の記憶部に記憶されている前記第１の監視時間を読み出し、読み出した前記第１の監視時間に所定の時間を加算した第３の監視時間を前記第２の記憶部に記憶されている第２の監視時間に換えて更新することを特徴とする制御方法。
【請求項６】
請求項５に記載の制御方法において、
前記監視時間の最大時間が前記第２の記憶部に記憶されており、前記第３の監視時間は、前記最大時間以下であり、かつ前記第２の監視時間よりも大きいことを特徴とする制御方法。
【請求項７】
請求項５に記載の制御方法において、
前記前記第１の監視時間は、前記第１の測定部によって測定された最新の値に随時更新されることを特徴とする制御方法。
【請求項８】
請求項５に記載の制御方法において、
前記所定の時間は、固定値であることを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶媒体の制御技術に係り、特に複数の記憶媒体に対して効率的に制御を行うことが可能な情報処理装置および起動制御方法に関する。
【背景技術】
【０００２】
一般的に、複数のハードディスク（ＨＤＤ）を備えたＲＡＩＤ（Redundant Arrays of Inexpensive Disks）システムにおいては、ＲＡＩＤコントローラが複数のハードディスクの制御を行っている。例えば、特許文献１に示すように、ＲＡＩＤコントローラにはＨＤＤへのコマンドの発行から応答までのタイムアウト時間が定められている。ＨＤＤへのコマンドの発行から所定のタイムアウト時間経過までＨＤＤから応答がなかった場合は、リトライ（コマンドの再発行）を行う。リトライを行う場合、前回のタイムアウト時間よりも所定時間だけ長いタイムアウト時間を設定してリトライと行う技術が開示されている。
【特許文献１】特開２０００−２９３３１８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、特許文献１に記載された技術では、ＲＡＩＤコントローラで予めタイムアウト時間が設定されているので、ＨＤＤへコマンドを発行して応答が戻ってくる実際のコマンドの処理時間に関係なくリトライ時のタイムアウト時間を設定することになる。
【０００４】
そこで、本発明は、ＨＤＤへコマンドを発行して応答が戻ってくる実際のコマンドの処理時間を考慮してリトライ時のタイムアウト時間を設定することが可能な情報処理装置および起動制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上述した課題を解決するために、本発明の一態様によれば、コマンドの発行から応答までの第１の監視時間を測定する第１の測定部と、前記第１の測定部によって測定された前記第１の監視時間を記憶する第１の記憶部とを備えた記憶媒体と、前記第１の監視時間とは別の第２の監視時間を記憶する第２の記憶部と、前記コマンドの発行から応答までの第２の監視時間を測定する第２の測定部と、前記記憶媒体へ前記コマンドの発行を行い、データの書き込み及び読み出しを処理する処理部とを備えた制御装置と、前記処理部により前記記憶媒体へのデータの書き込み及び読み出しを行う場合、前記第２の測定部の測定により第２の監視時間が経過した場合は、第１の記憶部に記憶されている前記第１の監視時間を読み出し、読み出した前記第１の監視時間に所定の時間を加算した第３の監視時間を前記第２の記憶部に記憶されている第２の監視時間に換えて更新する更新手段とを具備することを特徴とする情報処理装置が提供される。
【０００６】
また、本発明の別の態様によれば、コマンドの発行から応答までの第１の監視時間を測定する第１の測定部と、前記第１の測定部によって測定された前記第１の監視時間を記憶する第１の記憶部とを備えた記憶媒体と、前記第１の監視時間とは別の第２の監視時間を記憶する第２の記憶部と、前記コマンドの発行から応答までの第２の監視時間を測定する第２の測定部と、前記記憶媒体へ前記コマンドの発行を行い、データの書き込み及び読み出しを処理する処理部とを備えた制御装置とを有する情報処理装置で用いられるディスク制御方法であって、前記記憶媒体へのデータの書き込み及び読み出しを行う場合、前記第２の測定部の測定により第２の監視時間が経過した場合は、第１の記憶部に記憶されている前記第１の監視時間を読み出し、読み出した前記第１の監視時間に所定の時間を加算した第３の監視時間を前記第２の記憶部に記憶されている第２の監視時間に換えて更新することを特徴とする制御方法が提供される。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の実施形態について図面を参照しながら説明する。
【０００８】
以下、図面を参照して、この発明の実施の形態を説明する。
【０００９】
まず、図１を参照して、本発明のＲＡＩＤシステムの構成について説明する。この情報処理装置は、例えば、コンピュータ１０として実現されている。
【００１０】
図１は、コンピュータ１０の構成を示したブロック図である。本コンピュータ１０は、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）コントローラ１１と、複数の記憶媒体であるハードディスク装置（ＨＤＤ）１２とから構成されている。
【００１１】
ＲＡＩＤコントローラ１１は、ＣＰＵ１１ａ、ＲＯＭ１１ｂ、ＲＡＭ１１ｃ、Ｉ／Ｆ（インターフェース）１１ｄを備えている。ＣＰＵ１１ａは、複数のＨＤＤ１２へのデータの書き込みや読み出し等の制御を行う。ＲＯＭ１１ｂは、ＨＤへのコマンドの発行から応答までのタイムアウト時間（監視時間）の初期値Ｔ１（例えば３０秒）、タイムアウト時間の最大値Ｔｍａｘ（例えば６０秒）、およびリトライ時に加算する所定時間α（固定値：例えば２秒）が記憶されている。ＲＡＭ１１ｃは、上述したタイムアウト時間が経過した場合に、ＨＤＤ１２に対して再度コマンドを発行するリトライ時のタイムアウト時間Ｔ２（＝Ｔ１＋α）を記憶する。また、タイムアウト時間が更新されるとＴ２を書き換え、例えばＴ３とするために書き換え可能なメモリとなっている。Ｉ／Ｆ（インターフェース）１１ｄは、複数のＨＤＤ１２と接続するためのインターフェース装置である。
【００１２】
またＨＤＤ１２は、それぞれにＣＰＵ１２ａ、メモリコントローラ１２ｂ、ＲＡＭ１２ｃ、Ｉ／Ｆ（インターフェース）１２ｄ、記憶領域１２ｅを備えている。ＣＰＵ１２ａは、ＨＤＤ１２のデータの読み出しおよび書き込み等をメモリコントローラ１２ｂを介して制御する。メモリコントローラ１２ｂは、ＣＰＵ１２ａからの指令に従って、記憶領域１２ｅとのデータの授受を行うコントローラである。ＲＡＭ１２ｃは、ＨＤＤ１２の記憶領域１２ｅとのデータの授受を行う場合、ＲＡＩＤコントローラ１１から発行されたコマンドに対して応答する応答時間を測定し、ログとして記憶する。すなわち、最新の応答時間は随時更新される。また、所定の応答時間内に応答がなかった場合は、タイムアウトとし、タイムアウト時間を記憶する。同様に最新のタイムアウト時間も随時更新される。またタイムアウト時間は、記憶領域１２ｅの特定の記憶領域に記憶するようにしてもよい。Ｉ／Ｆ（インターフェース）１２ｄは、ＲＡＩＤコントローラ１１とのコマンドやデータの授受を行うインターフェースである。記憶領域１２ｅは、ＨＤＤ１２の主記憶領域である磁気ディスクである。
【００１３】
次に、図２を参照して、本コンピュータ１０のシステム構成について説明する。
【００１４】
本コンピュータ１０は、図２に示されているように、制御部２０、第１の測定部２１、第１の記憶部２２、制御部（更新手段）２３、第２の測定部２４、第２の記憶部２５、主記憶部２６を備えている。制御部２０および第１の測定部２１は、ＨＤＤ１２のＣＰＵ１２ａに相当する。第１の記憶部２２は、ＲＡＭ１２ｃおよび記憶領域１２ｅに相当する。制御部（更新手段）２３および第２の測定部２４は、ＲＡＩＤコントローラ１１のＣＰＵ１１ａに相当する。第２の記憶部２５は、ＲＯＭ１１ｂおよびＲＡＭ１１ｃに相当する。
【００１５】
次に、本発明の実施形態に係る情報処理装置を適用した制御方法について図３のフローチャートを参照して説明する。
【００１６】
まず、コンピュータ１０のＲＡＩＤコントローラ１１は、ＨＤＤ１２へのリード／ライトコマンドの発行を行う（ステップＳ１０１）。ＲＡＩＤコントローラ１１は、タイムアウト以外のエラーを検出したかを判別する（ステップＳ１０２）。ＲＡＩＤコントローラ１１によって、タイムアウト以外のエラーを検出したと判別された場合は、検出されたエラーに対応するリカバリ処理の実行を行う（ステップＳ１１０）。
【００１７】
一方、ＲＡＩＤコントローラ１１によって、タイムアウト以外のエラーを検出しなかったと判別された場合は（ステップＳ１０２のＮＯ）、ＲＡＩＤコントローラ１１によって、規定時間Ｔ１でのタイムアウトを検出したかを判別する（ステップＳ１０３）。なお、規定時間Ｔ１は、タイムアウト時間の初期値であり（例えば３０秒：図４参照）、ＲＡＩＤコントローラ１１のＲＯＭ１１ｂに予め記憶されている値とする。ステップＳ１０３で、ＲＡＩＤコントローラ１１によって規定時間Ｔ１でのタイムアウトを検出したと判別された場合は（ステップＳ）１０３のＹＥＳ、ＨＤＤ１２のＲＡＭ１２ｃまたは記憶領域１２ｅ等に記憶されているエラーログデータ（タイムアウト時間のログデータ）を参照し、Ｔｐを読み出す。Ｔｐ（例えば２５秒：図４参照）は、ＨＤＤ１２に対してＲＡＩＤコントローラ１１から発行されたコマンドに対する応答時間のうち、タイムアウト（エラー）したタイムアウト時間のうち、最新のタイムアウト時間を示すものである。ＲＡＩＤコントローラ１１は、読み出したＴｐがＴｍａｘ（予めＲＯＭ１１ｂに記憶されているタイムアウト時間の最大時間）よりも小さいか否かを判別する（ステップＳ１０５）。ステップＳ１０５でＲＡＩＤコントローラ１１によって、読み出したＴｐがＴｍａｘよりも小さいと判別された場合は（ステップＳ１０５のＹＥＳ）、ＲＡＩＤコントローラ１１は、予め定めてある所定の固定値α（例えば２秒）をＴｐに加算してＴ２（例えば２７秒）とする（ステップＳ１０６：図４参照）。そして、このＴ２をＲＡＩＤコントローラ１１がＲＡＭ１１ｃに記憶しているタイムアウト時間Ｔ１に置き換えて更新する。一方、ステップＳ１０５でＲＡＩＤコントローラ１１によって、読み出したＴｐがＴｍａｘよりも大きいと判別された場合は（ステップＳ１０５のＮＯ）、Ｔｍａｘ≧Ｔ２となるようにＴｍａｘの値の設定を変更する（ステップＳ１１１）。
【００１８】
ＲＡＩＤコントローラ１１は、前回のコマンド発行時にタイムアウトとなったＨＤＤ１２に対してリトライを行い、再度コマンドを発行する（ステップＳ１０７）。このときのタイムアウト時間（監視時間）は、Ｔ２となる。ＲＡＩＤコントローラ１１は、規定時間Ｔ２でのタイムアウトを検出したかを判別する（ステップＳ１０８）。ステップＳ１０８でＲＡＩＤコントローラ１１によって、規定時間Ｔ２でのタイムアウトを検出したと判別された場合は（ステップＳ１０８のＹＥＳ）、タイムアウトを検出した（該当した）ＨＤＤをＲＡＩＤから切り離す処理を行う（ステップＳ１０９）。一方、ステップＳ１０８でＲＡＩＤコントローラ１１によって、規定時間Ｔ２でのタイムアウトを検出しないと判別された場合は（ステップＳ１０８のＮＯ）、終了する。
【００１９】
上述したように、本実施形態によれば、ＲＡＩＤコントローラ１１でのタイムアウト時間の設定をＨＤＤ１２のタイムアウト時間を参照して設定することにより、より短い時間で最適なＨＤＤ１２のタイムアウト時間を設定することができる。例えば、上述した実施形態では、図４に示すように、ＲＡＩＤコントローラ１１で予め設定されていたタイムアウト時間の初期値Ｔ１が３０秒であるとすると、ＨＤＤ１２のタイムアウト時間を参照しない場合は、Ｔ１（３０秒）＋α（例えば２秒）＝３２秒となる。すなわち、ＨＤＤ１２のタイムアウト時間を参照した場合は、Ｔｐである２５秒を参照することができるので、Ｔ２は２７秒となることで、より短い時間で最適なＨＤＤ１２のタイムアウト時間を設定することができ、ＲＡＩＤシステムのＨＤＤ１２に対するコマンドの授受の短縮となり、リード／ライト時間のスピードを向上させることができる。また、ＨＤＤ１２の動作は正常な場合で、ＨＤＤ１２の記憶領域の特定の領域で回復可能なリトライが多発した場合は、コマンドの応答がタイムアウトするが、リトライ時にタイムアウト時間を延ばすことで、必要以上のドライブの切り離しを抑制することができる。さらに、ＨＤＤ１２へのリトライ時のタイムアウト時間のみを可変とし、ＨＤＤ１２内部の実際の処理時間をベースとすることで必要以上のタイムアウト時間を設定しないため、ＨＤＤ１２のリード／ライトのデータの授受の性能劣化を必要最小限に留めることができる。
【００２０】
なお、本発明は、上述した実施形態そのままに限定されるものではない。本発明は、実施段階では、その要旨を逸脱しない範囲で構成要素を変更して具現化できる。
【００２１】
また、上述した実施形態に開示されている複数の構成要素を適宜に組み合わせることで、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００２２】
【図１】本発明の一実施形態に係る情報処理装置の構成を示すブロック図。
【図２】同実施形態に係る情報処理装置の主要な構成の機能を示すブロック図。
【図３】同実施形態に係る情報処理装置の制御方法を説明するためのフローチャート。
【図４】同実施形態に係る情報処理装置内で記憶される各タイムアウト時間等のテーブルデータを示す概念図。
【符号の説明】
【００２３】
１０…コンピュータ、１１…ＲＡＩＤコントローラ、１１ａ、１２ａ…ＣＰＵ、１１ｂ…ＲＯＭ、１１ｃ、１２ｃ…ＲＡＭ、１１ｄ、１２ｄ…Ｉ／Ｆ（インターフェース）、１２…ＨＤＤ、１２ｂ…メモリコントローラ、１２ｅ…記憶領域、２０…制御部、２１…第１の測定部、２２…第１の記憶部、２３…制御部（更新手段）、２４…第２の測定部、２５…第２の記憶部
【図１】
0005107096.tif 000002
【図２】
0005107096.tif 000003
【図３】
0005107096.tif 000004
【図４】
0005107096.tif 000005