(57)【要約】【課題】  ＣＲＣエラー又はパリティエラーの発生を契機としてＲＡＩＤ機能でデータ復元するストレージ装置では、リアルタイム性が重要とされる高ビットレートアプリケーションではデータ転送が間に合わず、正常なアプリケーションの実行が困難であった。【解決手段】  ストレージデバイス１〜５にデータが破壊されるまでには至っていない障害が発生したことをストレージデバイス１〜５から読み出したデータを一次蓄積するデータバッファ１０１〜１０５の残量を見て検知し、ＲＡＩＤ機能によりデータ復旧することで、継続してアプリケーションが実行可能に構成した。【選択図】          図１
2009059280.tif 000002
【特許請求の範囲】
【請求項１】
データを蓄積する複数のストレージデバイスからなり、ＲＡＩＤ機能を有するストレージ装置、上記複数のストレージデバイスが蓄積するデータの読み出しを要求するクライアント、このクライアントの上記読み出し要求に基づき、上記複数のストレージデバイスから順次データを読み出して上記クライアントへ送出するストレージ制御部を備え、該ストレージデバイス制御部は上記複数のストレージデバイス各々のデータ読み出し処理速度を監視し、規定された読み出し処理速度を下回ったストレージデバイスを検知した場合、当該ストレージデバイスを切り離し、他のストレージデバイスによるＲＡＩＤ機能によって上記クライアントへデータを送出することを特徴とするストレージ制御方式。
【請求項２】
データを蓄積する複数のストレージデバイスからなり、ＲＡＩＤ機能を有するストレージ装置、上記複数のストレージデバイスに各々対応して設けられ、各ストレージデバイスから読み出されたデータを一次蓄積する複数のデータバッファ、上記複数のストレージデバイスが蓄積するデータの読み出しを要求するクライアント、このクライアントの上記読み出し要求に基づき、上記複数のストレージデバイスから順次データを読み出し、上記複数のデータバッファを介して上記クライアントへ送出するストレージ制御部を備え、該ストレージ制御部は上記複数のストレージデバイスから上記複数のデータバッファへ読み出す処理速度が上記複数のデータバッファからクライアントへ読み出す速度を下回らないように各ストレージデバイスの読み出しを管理する一方で、上記複数のデータバッファに一次蓄積されているデータ残量を監視し、規定の残量を下回ったデータバッファを検知した場合、当該データバッファに対応するストレージデバイスを切り離し、他のストレージデバイスによるＲＡＩＤ機能によって上記クライアントへデータを送出することを特徴とするストレージ制御方式。
【請求項３】
データを蓄積する複数のストレージデバイスからなり、ＲＡＩＤ機能を有するストレージ装置、上記複数のストレージデバイスから読み出されたデータを一次蓄積するデータバッファ、上記複数のストレージデバイスが蓄積するデータの読み出しを要求するクライアント、このクライアントの上記読み出し要求に基づき、上記複数のストレージデバイスから同期したデータの読み出しを行い、上記データバッファを介して上記クライアントへ送出するストレージ制御部、上記複数のストレージデバイスに各々対応して設けられ、各ストレージデバイスの読み出しコマンドに対する処理応答時間が規定の時間を上回った回数をカウントする複数のカウンタを備え、上記ストレージ制御部は上記複数のストレージデバイスから上記データバッファへ読み出す処理速度が上記データバッファからクライアントへ読み出す速度を下回らないように各ストレージデバイスの読み出しを管理する一方で、上記データバッファに一次蓄積されているデータ残量を監視し、規定の残量を下回った場合、上記複数のカウンタの内、カウント値が最大のカウンタに対応するストレージデバイスを切り離し、他のストレージデバイスによるＲＡＩＤ機能によって上記クライアントへデータを送出することを特徴とするストレージ制御方式。
【請求項４】
データを蓄積する複数のストレージデバイスからなり、ＲＡＩＤ機能を有するストレージ装置、上記複数のストレージデバイスに各々対応して設けられ、各ストレージデバイスから読み出されたデータを一次蓄積する複数のデータバッファ、上記複数のストレージデバイスが蓄積するデータの読み出しを要求するクライアント、このクライアントの上記読み出し要求に基づき、上記複数のストレージデバイスから同期したデータの読み出しを行い、上記複数のデータバッファを介して上記クライアントへ送出するストレージ制御部、上記複数のストレージデバイスに各々対応して設けられ、各ストレージデバイスの読み出しコマンドに対する処理応答時間が規定の時間を上回った回数をカウントする複数のカウンタを備え、上記ストレージ制御部は上記複数のストレージデバイスから上記複数のデータバッファへ読み出す処理速度が上記複数のデータバッファからクライアントへ読み出す速度を下回らないように各ストレージデバイスの読み出しを管理する一方で、任意のデータバッファに一次蓄積されているデータ残量を監視し、規定の残量を下回った場合、上記複数のカウンタの内、カウント値が最大のカウンタに対応するストレージデバイスを切り離し、他のストレージデバイスによるＲＡＩＤ機能によって上記クライアントへデータを送出することを特徴とするストレージ制御方式。
【請求項５】
データを蓄積する複数のストレージデバイスからなり、ＲＡＩＤ機能を有するストレージ装置、上記複数のストレージデバイスが蓄積するデータの読み出しを要求するクライアント、このクライアントの上記読み出し要求に基づき、上記複数のストレージデバイスから順次データを読み出し、上記クライアントへ送出するストレージ制御部、上記複数のストレージデバイスに各々対応して設けられ、各ストレージデバイスの読み出しコマンドに対する処理応答時間が規定の時間を上回った回数をカウントする複数のカウンタを備え、上記ストレージ制御部は所定のタイミングで上記複数のカウンタのカウント値を確認し、カウント値が最大のカウンタに対応するストレージデバイスを切り離し、他のストレージデバイスによるＲＡＩＤ機能によって上記クライアントへデータを送出することを特徴とするストレージ制御方式。
【請求項６】
データを蓄積する複数のストレージデバイスからなり、ＲＡＩＤ機能を有するストレージ装置、上記複数のストレージデバイスが蓄積するデータの読み出しを要求するクライアント、このクライアントの上記読み出し要求に基づき、上記複数のストレージデバイスから順次データを読み出し、上記クライアントへ送出するストレージ制御部、上記複数のストレージデバイスに各々対応して設けられ、各ストレージデバイスの読み出しコマンドに対する処理応答時間が規定の時間を上回った回数をカウントする複数のカウンタを備え、上記ストレージ制御部は上記複数のカウンタのカウント値を監視しており、カウント値が規定のカウント値に達したカウンタに対応するストレージデバイスを切り離し、他のストレージデバイスによるＲＡＩＤ機能によって上記クライアントへデータを送出することを特徴とするストレージ制御方式。
【請求項７】
データを蓄積する複数のストレージデバイスからなり、ＲＡＩＤ機能を有するストレージ装置、上記複数のストレージデバイスへ蓄積するデータの書き込みを要求するクライアント、このクライアントの上記書き込み要求に基づき、上記複数のストレージデバイスへ順次データを書き込むストレージ制御部を備え、該ストレージデバイス制御部は上記複数のストレージデバイス各々のデータ書き込み処理速度を監視し、規定された書き込み処理速度を下回ったストレージデバイスを検知した場合、当該ストレージデバイスを切り離すことを特徴とするストレージ制御方式。
【請求項８】
データを蓄積する複数のストレージデバイスからなり、ＲＡＩＤ機能を有するストレージ装置、上記複数のストレージデバイスへ蓄積するデータの書き込みを要求するクライアント、このクライアントの上記書き込み要求に基づき、上記複数のストレージデバイスへ順次データを書き込むストレージ制御部、上記複数のストレージデバイスに各々対応して設けられ、各ストレージデバイスの書き込みコマンドに対する処理応答時間が規定の時間を上回った回数をカウントする複数のカウンタを備え、上記ストレージ制御部は所定のタイミングで上記複数のカウンタのカウント値を確認し、カウント値が最大のカウンタに対応するストレージデバイスを切り離すことを特徴とするストレージ制御方式。
【請求項９】
データを蓄積する複数のストレージデバイスからなり、ＲＡＩＤ機能を有するストレージ装置、上記複数のストレージデバイスへ蓄積するデータの書き込みを要求するクライアント、このクライアントの上記書き込み要求に基づき、上記複数のストレージデバイスへ順次データを書き込むストレージ制御部、上記複数のストレージデバイスに各々対応して設けられ、各ストレージデバイスの書き込みコマンドに対する処理応答時間が規定の時間を上回った回数をカウントする複数のカウンタを備え、上記ストレージ制御部は上記複数のカウンタのカウント値を監視しており、カウント値が規定のカウント値に達したカウンタに対応するストレージデバイスを切り離すことを特徴とするストレージ制御方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各種データを蓄積する複数のストレージデバイスからなり、ＲＡＩＤ機能によって耐障害性を向上したストレージ装置に関し、特にリアルタイムアプリケーション実行時における耐障害性を向上したストレージ制御方式に関する。
【背景技術】
【０００２】
アプリケーションやデータが急速に増大するにしたがって、データ蓄積するストレージデバイスの容量も益々大きくなってきた。このような状況下で、ストレージデバイスに障害が発生すると、失われたデータの損失も大きいが、業務の中断、復旧作業のコストも甚大なものとなる。ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）技術による耐障害性の向上は、こうしたストレージデバイスの障害によるシステムのダウンを回避する方式の一つとして提案されている。
【０００３】
複数のストレージデバイスからなり、ＲＡＩＤ機能を有する従来技術として特許文献１に記載されたものがある。特許文献１に記載されたストレージ装置は、複数のストレージデバイスの一つにＣＲＣエラー又はパリティエラーが発生した場合に当該エラーが発生したストレージデバイスを切り離して系の切り替えを行い、残りのストレージデバイスのパリティ情報からエラーが発生したストレージデバイスのデータの復元を行うようにしたものである。
【０００４】
【特許文献１】特開２００５−１２２３３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来のストレージ装置は、ＣＲＣエラー又はパリティエラーの発生を契機としてＲＡＩＤ機能でデータ復元するものである。しかし、このようなエラーが発生するには至らない障害がストレージデバイスに発生した場合、例えば、データが破壊されるまでには至っていないが、磁気情報の弱化によりデータを読み出すために数回のシークを必要とするような障害が発生した場合、必要とされるデータレートが得られず、リアルタイム性が重要とされる高ビットレート映像アプリケーションなどのリアルタイムアプリケーションではデータ転送が間に合わず、映像遅延、フレーム落ち、デコードチップのハングアップなどが発生し、正常な映像上映が継続できないという問題があった。
【０００６】
本発明は、上記のような従来の問題点に鑑みてなされたものであり、データが破壊されるまでには至っていない障害発生を検知することにより、リアルタイム性が要求されるアプリケーションに対してもＲＡＩＤ機能で継続してアプリケーションが実行可能なストレージ方式を提供することを目的としている。
【課題を解決するための手段】
【０００７】
本発明におけるストレージ制御方式は、データを蓄積する複数のストレージデバイスからなり、ＲＡＩＤ機能を有するストレージ装置、上記複数のストレージデバイスが蓄積するデータの読み出しを要求するクライアント、このクライアントの上記読み出し要求に基づき、上記複数のストレージデバイスから順次データを読み出して上記クライアントへ送出するストレージ制御部を備え、該ストレージデバイス制御部は上記複数のストレージデバイス各々のデータ読み出し処理速度を監視し、規定された読み出し処理速度を下回ったストレージデバイスを検知した場合、当該ストレージデバイスを切り離し、他のストレージデバイスによるＲＡＩＤ機能によって上記クライアントへデータを送出するように構成したものである。
【０００８】
また、本発明におけるストレージ制御方式は、データを蓄積する複数のストレージデバイスからなり、ＲＡＩＤ機能を有するストレージ装置、上記複数のストレージデバイスへ蓄積するデータの書き込みを要求するクライアント、このクライアントの上記書き込み要求に基づき、上記複数のストレージデバイスへ順次データを書き込むストレージ制御部を備え、該ストレージデバイス制御部は上記複数のストレージデバイス各々のデータ書き込み処理速度を監視し、規定された書き込み処理速度を下回ったストレージデバイスを検知した場合、当該ストレージデバイスを切り離すように構成したものである。
【発明の効果】
【０００９】
本発明によれば、複数のストレージデバイス各々のデータ読み出し処理速度を監視し、規定された読み出し処理速度を下回ったストレージデバイスを検知した場合、当該ストレージデバイスを切り離し、他のストレージデバイスによるＲＡＩＤ機能によってクライアントへデータを送出するようにしたので、リアルタイム性が要求されるアプリケーションに対してもＲＡＩＤ機能で継続してアプリケーションを実行することができる効果がある。
【００１０】
また、本発明によれば、複数のストレージデバイス各々のデータ書き込み処理速度を監視し、規定された書き込み処理速度を下回ったストレージデバイスを検知した場合、当該ストレージデバイスを切り離すようにしたので、リアルタイム処理が必要なアプリケーションにおいて高速のデータ書き込みができる効果がある。
【発明を実施するための最良の形態】
【００１１】
実施の形態１．
以下、本発明の実施の形態１を図について説明する。図１は本発明の実施の形態１に係るストレージ制御方式を示すブロック図であり、上図が障害発生時の状態であり、下図が障害復旧時の状態を示す。図において、１〜５は画像データ等のファイルを蓄積するストレージデバイスであり、ＲＡＩＤ機能を構築するストレージデバイスである。１０１〜１０５は上記ストレージデバイス１〜５に各々対応して設けられたデータバッファであり、ストレージデバイス１〜５から読み出されるデータを一次蓄積する。２０１はストレージデバイス１〜５およびデータバッファ１０１〜１０５を制御するストレージ制御部、３０１はストレージ制御部２０１に対してリードコマンドを送信し、ストレージデバイス１０１〜１０５に蓄積されたデータの読み出しを要求するクライアントである。
【００１２】
次に、この実施の形態１に係るストレージ制御方式の動作について説明する。ストレージデバイス１０１〜１０５には画像データ等が蓄積されており、クライアント３０１はストレージデバイス１０１〜１０５に蓄積された画像データを読み出して、例えば映像装置によってリアルタイムに画像表示させるように構成される。
【００１３】
即ち、クライアント３０１はストレージ制御部２０１に対してリードコマンドを発行し、それにしたがってストレージ制御部２０１はストレージデバイス１〜５に対してリードコマンドが指定するデータが格納されたストレージデバイス１〜５に対して、例えばＵＤＭＡ（Ｕｌｔｒａ  Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）等のコマンドを発行し、データバッファ１０１〜１０５へのデータ読み込みを指示する。前出のデータ読み込みコマンドにしたがって該当するストレージデバイス１〜５から読み出されたデータはデータバッファ１０１〜１０５に蓄積される。データバッファ１０１〜１０５に一次蓄積されたデータはアプリケーションが要求する読み出し応答速度で順次クライアント３０１に読み出され、アプリケーションが実行される。ストレージ制御部２０１はデータバッファ１０１〜１０５を監視するとともに、前出のデータ読み出しコマンドに対するストレージデバイス１〜５の読み出し応答速度が、データバッファ１０１〜１０５からクライアント３０１への読み出し速度を下回ることがないように管理する。
【００１４】
以下、障害発生時におけるリカバリー手順を図２にしたがって説明する。いま、図１における上図のようにストレージデバイス２に磁気情報の弱化等の障害が発生し、データを読み出すために数回のシークを必要とする事態が発生したとする。ストレージデバイス２は数回のシークを繰り返すことで読み出し応答速度が低下し、データバッファ１０２からクライアント３０１への読み出し速度を下回るようになると一次蓄積しているデータ残量が減少して行くことになる。ストレージ制御部２０１はデータバッファ１０１〜１０５のデータ残量を監視しており（ＳＴ１１、ＳＴ１２）、データバッファ１０２の前出しのデータ残量が規定の残量を下回るとデータバッファ１０２に対応したストレージデバイス２に障害が発生したものと判断し、ストレージデバイス２の切り離し処理を実行する（ＳＴ１３）。
【００１５】
ストレージデバイス１〜５はＲＡＩＤ機能を具備しており、ストレージ制御部２０１はストレージデバイス２の切り離し処理後、例えば、ＲＡＩＤ１に準じた機能が存在するストレージ装置であれば他方の系のストレージデバイスからデータを読み出すことによりリカバリーを行い（ＳＴ１４）、図１の下図のようにアプリケーションの実行を継続する（ＳＴ１５）。
【００１６】
また、例えばＲＡＩＤ５又は６に準じた機能が存在するストレージ装置であれば、残りのストレージデバイス１、３〜５に記録されたデータのパリティー情報から切り離したストレージデバイス２に蓄積していたデータを復元することによりリカバリーを行い、アプリケーションの実行を継続する。
【００１７】
また、ＲＡＩＤ１とＲＡＩＤ５又はＲＡＩＤ６とを組み合わせることにより、障害発生時にＲＡＩＤ１による系切り替えを行い、その後切り離されたストレージデバイス２の交換を実施し、ＲＡＩＤ５又はＲＡＩＤ６による復旧機能で復旧を実施する等の運用も可能である。
【００１８】
以上により、リアルタイム処理が必要なアプリケーションにおいて、処理に影響がないようにストレージデバイスを切り離し、データのリカバリーが実施可能となる。
【００１９】
実施の形態２．
以下、本発明の実施の形態２を図について説明する。図３は本発明の実施の形態２に係るストレージ制御方式を示すブロック図であり、上図が障害発生時の状態であり、下図が障害復旧時の状態を示す。この実施の形態２のストレージ制御方式は各ストレージデバイス１〜５からの読み出しが同期している実施の形態である。即ち、１読み出し単位ごとに各ストレージデバイス１〜５から必要なデータ読み出しが全て完了するまで、次のデータ読み出しを行わない方式を採用した実施の形態である。
【００２０】
図において、１〜５は画像データ等のファイルを蓄積するストレージデバイスであり、ＲＡＩＤ機能を構築するストレージデバイスである。１０１〜１０５は上記ストレージデバイス１〜５に各々対応して設けられたデータバッファであり、ストレージデバイス１〜５から読み出されるデータを一次蓄積する。４０１〜４０５は上記ストレージデバイス１０１〜１０５に各々対応して設けられ、対応するストレージデバイス１０１〜１０５の読み出しコマンドに対する応答処理時間が規定の時間を上回った回数を計数するカウンタ、２０１は上記ストレージデバイス１〜５、データバッファ１０１〜１０５及びカウンタ４０１〜４０５を制御するストレージ制御部、３０１はストレージ制御部２０１に対してリードコマンドを送信し、ストレージデバイス１０１〜１０５に蓄積されたデータの読み出しを要求するクライアントである。
【００２１】
次に、この実施の形態２に係るストレージ制御方式の動作について説明する。即ち、クライアント３０１はストレージ制御部２０１に対してリードコマンドを発行し、それにしたがってストレージ制御部２０１はストレージデバイス１〜５に対してリードコマンドが指定するデータが格納されたストレージデバイス１〜５に対して、例えばＵＤＭＡ（Ｕｌｔｒａ  Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）等のコマンドを発行し、データバッファ１０１〜１０５へのデータ読み込みを指示する。このとき、各ストレージデバイス１〜５からの読み出しは同期しているので、１読み出し単位ごとに各ストレージデバイス１〜５から必要なデータ読み出しが全て完了すると、次の読み出し単位の読み出しが実行されることになる。
【００２２】
前出のデータ読み込みコマンドにしたがってストレージデバイス１〜５から読み出されたデータはデータバッファ１０１〜１０５に蓄積される。データバッファ１０１〜１０５に一次蓄積されたデータはアプリケーションが要求する読み出し応答速度で順次クライアント３０１に読み出され、アプリケーションが実行される。ストレージ制御部２０１はデータバッファ１０１〜１０５の何れかを監視するとともに、前出のデータ読み出しコマンドに対するストレージデバイス１〜５の読み出し応答速度が、データバッファ１０１〜１０５からクライアント３０１への読み出し速度を下回ることがないように管理する。
【００２３】
また、カウンタ４０１〜４０５は対応するストレージデバイス１０１〜１０５の読み出しコマンドに対する応答処理時間が規定の時間を上回った回数をカウントするものであり、具体的には読み出しコマンド発行時にスタートし、読み出し完了の応答が帰ったときにリセットを行う計数手段を有し、ある計数値のときにＮＯＴ回路を組み合わせ、計数手段の出力とＡＮＤ出力が出るように回路を組み、その出力の回数をカウントするように構成したものである。
【００２４】
以下、障害発生時におけるリカバリー手順を図４にしたがって説明する。いま、図３における上図のようにストレージデバイス２に磁気情報の弱化等の障害が発生し、データを読み出すために数回のシークを必要とする事態が発生したとする。ストレージデバイス２は数回のシークを繰り返すことで読み出し応答速度が低下し、データバッファ１０２からクライアント３０１への読み出し速度を下回るようになると一次蓄積しているデータ残量が減少して行くことになる。さらに、各ストレージデバイス１〜５の読み出しは同期しているので、他のストレージデバイス１、３〜５はストレージデバイス２の読み出し完了を待って次の読み出し単位を読み出すことになるので、データバッファ１０１、１０３〜１０５のデータ残量も減少して行く。
【００２５】
ストレージ制御部２０１はデータバッファ１０１〜１０５の何れかのデータ残量を監視しており（ＳＴ２１、ＳＴ２２）、何れかのデータバッファの前出しデータ残量が規定の残量を下回ると何れかのストレージデバイス１〜５に障害が発生したものと判断する。そして、各カウンタ４０１〜４０５の計数値を参照して計数値が最大のもの、例えば、時間平均で一番計数値の大きいカウンタに対応したストレージデバイスを一番多く遅延が発生した異常のあるストレージデバイスと判断する。ここでは、ストレージデバイス２に障害が発生しているので、カウンタ４０２の計数値が最大であり、それに対応したストレージデバイス２が異常と判断し、ストレージデバイス２の切り離し処理を実行する（ＳＴ２３）。
【００２６】
ストレージデバイス１〜５はＲＡＩＤ機能を具備しており、ストレージ制御部２０１はストレージデバイス２の切り離し処理後、例えば、ＲＡＩＤ１に準じた機能が存在するストレージ装置であれば他方の系のストレージデバイスからデータを読み出すことによりリカバリーを行い（ＳＴ２４）、図３の下図のようにアプリケーションの実行を継続する（ＳＴ２５）。
【００２７】
また、例えばＲＡＩＤ５又は６に準じた機能が存在するストレージ装置であれば、残りのストレージデバイス１、３〜５に記録されたデータのパリティー情報から切り離したストレージデバイス２に蓄積していたデータを復元することによりリカバリーを行い、アプリケーションの実行を継続する。
【００２８】
また、ＲＡＩＤ１とＲＡＩＤ５又はＲＡＩＤ６とを組み合わせることにより、障害発生時にＲＡＩＤ１による系切り替えを行い、その後切り離されたストレージデバイス２の交換を実施し、ＲＡＩＤ５又はＲＡＩＤ６による復旧機能で復旧を実施する等の運用も可能である。
【００２９】
以上により、リアルタイム処理が必要なアプリケーションにおいて、処理に影響がないようにストレージデバイスを切り離し、データのリカバリーが実施可能となる。
【００３０】
なお、上記実施の形態２では、各ストレージデバイス１〜５に各々対応して１つのカウンタ４０１〜４０５を設けているが、データ読み込みコマンドに対する応答時間が規定された時間を上回った回数がカウントされるカウンタをストレージデバイス１〜５ごとに複数持つ構成とし、各々短い規定の応答時間以上に応答時間がかかった回数を計数するカウンタと、長い規定の応答時間以上に応答時間がかかった回数を計数するカウンタとを設けた構成としてもよい。この場合、まず、長い応答時間のカウンタの計数値を比較して障害が発生しているストレージデバイス１〜５を判断するが、全てのカウンタの計数値が同じであったときに、短い応答時間のカウンタの計数値を比較して障害が発生しているストレージデバイス１〜５を判断することができ、さらに精度をあげて障害が発生しているストレージデバイス１〜５を判断することができる。
【００３１】
また、上記実施の形態２では、データバッファ１０１〜１０５に一次蓄積されているデータ残量が規定の残量を下回ったときに、カウンタ４０１〜４０５の計数値を参照して障害が発生しているストレージデバイスを判断するものとしているが、ストレージ制御部２０１が所定のタイミングでカウンタ４０１〜４０５の計数値を参照し、障害が発生しているストレージデバイスを判断するようにしてもよい。この場合、ストレージ制御部２０１がカウンタ４０１〜４０５の計数値を参照するタイミングは、ストレージ制御部２０１が何らかの異常の兆候を検知したときに行う。
【００３２】
さらに、ストレージ制御部２０１が常時カウンタ４０１〜４０５の計数値を監視するものとし、計数値が規定値を超えたもの、あるいは所定の時間平均で計数値の最大のカウンタ４０１〜４０５に対応したストレージデバイス１〜５を障害が発生しているストレージデバイスと判断するようにしてもよい。
【００３３】
実施の形態３．
以下、本発明の実施の形態３を図について説明する。図５は本発明の実施の形態３に係るストレージ制御方式を示すブロック図であり、上図が障害発生時の状態であり、下図が障害復旧時の状態を示す。この実施の形態３に係るストレージ制御方式はデータバッファを介在しないデータ読み込みを行うストレージ制御方式である。
【００３４】
図５において、１〜５は画像データ等のファイルを蓄積するストレージデバイスであり、ＲＡＩＤ機能を構築するストレージデバイスである。４０１〜４０５は上記ストレージデバイス１０１〜１０５に各々対応して設けられ、対応するストレージデバイス１０１〜１０５の読み出しコマンドに対する応答処理時間が規定の時間を上回った回数を計数するカウンタ、２０１はストレージデバイス１〜５及びカウンタ４０１〜４０５を制御するストレージ制御部、３０１はストレージ制御部２０１に対してリードコマンドを送信し、ストレージデバイス１０１〜１０５に蓄積されたデータの読み出しを要求するクライアントである。
【００３５】
次に、この実施の形態３に係るストレージ制御方式の動作について説明する。即ち、クライアント３０１はストレージ制御部２０１に対してリードコマンドを発行し、それにしたがってストレージ制御部２０１はストレージデバイス１〜５に対してリードコマンドが指定するデータが格納されたストレージデバイス１〜５に対して、例えばＵＤＭＡ（Ｕｌｔｒａ  Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）等のコマンドを発行し、データバッファ１０１〜１０５へのデータ読み込みを指示する。
【００３６】
データ読み出しコマンドにしたがってストレージデバイス１〜５から読み出されたデータは順次クライアント３０１に読み出され、アプリケーションが実行される。
【００３７】
以下、障害発生時におけるリカバリー手順を説明する。いま、図５における上図のようにストレージデバイス２に磁気情報の弱化等の障害が発生し、データを読み出すために数回のシークを必要とする事態が発生したとする。ストレージデバイス２は数回のシークを繰り返すことで読み出し応答速度が低下し、データの読み出し量が低下する。
【００３８】
ストレージ制御部２０１はストレージデバイス１〜５からの例えばＬＢＡ（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓｉｎｇ）数などに代表される読み出し処理済サイズと経過時間（単位時間当たりのタイマー処理としてもよい）から読み出し処理速度を算出し、その処理速度が規定された処理速度を下回ったストレージデバイス２を異常と判断する。以下、具体的にストレージデバイス１〜５の障害を検知する手順を図６に従って説明すると、ストレージ制御部２０１はデータ読み込みコマンドに対する応答時間が規定された時間を上回った回数が計数されるカウンタ４０１〜４０５を参照し、ストレージデバイス１〜５のうち、データ読み込みコマンドに対する応答時間が規定された時間を上回った回数が、例えば、時間平均で最大のものを一番多く遅延が発生した異常のあるストレージデバイスと判断する。ここでは、ストレージデバイス２に障害が発生しているので、カウンタ４０２の計数値が最大であり、対応するストレージデバイス２を切り離す（ＳＴ３１）。
【００３９】
ストレージデバイス１〜５はＲＡＩＤ機能を具備しており、ストレージ制御部２０１はストレージデバイス２の切り離し処理後、例えば、ＲＡＩＤ１に準じた機能が存在するストレージ装置であれば他方の系のストレージデバイスからデータを読み出すことによりリカバリーを行い（ＳＴ３２）、図５の下図のようにアプリケーションの実行を継続する（ＳＴ３３）。
【００４０】
また、例えばＲＡＩＤ５又は６に準じた機能が存在するストレージ装置であれば、残りのストレージデバイス１、３〜５に記録されたデータのパリティー情報から切り離したストレージデバイス２に蓄積していたデータを復元することによりリカバリーを行い、アプリケーションの実行を継続する。
【００４１】
また、ＲＡＩＤ１とＲＡＩＤ５又はＲＡＩＤ６とを組み合わせることにより、障害発生時にＲＡＩＤ１による系切り替えを行い、その後切り離されたストレージデバイス２の交換を実施し、ＲＡＩＤ５又はＲＡＩＤ６による復旧機能で復旧を実施する等の運用も可能である。
【００４２】
以上により、リアルタイム処理が必要なアプリケーションにおいて、処理に影響がないようにストレージデバイスを切り離し、データのリカバリーが実施可能となる。
【００４３】
なお、上記実施の形態３では、各ストレージデバイス１〜５に各々対応して１つのカウンタ４０１〜４０５を設けているが、データ読み込みコマンドに対する応答時間が規定された時間を上回った回数がカウントされるカウンタをストレージデバイス１〜５ごとに複数持つ構成とし、各々短い規定の応答時間以上に応答時間がかかった回数を計数するカウンタと、長い規定の応答時間以上に応答時間がかかった回数を計数するカウンタとを設けた構成としてもよい。この場合、まず、長い応答時間のカウンタの計数値を比較して障害が発生しているストレージデバイス１〜５を判断するが、全てのカウンタの計数値が同じであったときに、短い応答時間のカウンタの計数値を比較して障害が発生しているストレージデバイス１〜５を判断することができ、さらに精度をあげて障害が発生しているストレージデバイス１〜５を判断することができる。
【００４４】
実施の形態４．
以下、本発明の実施の形態４を図について説明する。図７は本発明の実施の形態４に係るストレージ制御方式を示すブロック図であり、上図が障害発生時の状態であり、下図が障害復旧時の状態を示す。この実施の形態４に係るストレージ制御方式はストレージデバイスへの書き込み時におけるストレージ制御方式である。
【００４５】
図７において、１〜５は画像データ等のファイルを蓄積するストレージデバイスであり、ＲＡＩＤ機能を構築するストレージデバイスである。４０１〜４０５は上記ストレージデバイス１０１〜１０５に各々対応して設けられ、対応するストレージデバイス１０１〜１０５の書き込みコマンドに対する応答処理時間が規定の時間を上回った回数をカウントするカウンタ、２０１はストレージデバイス１〜５及びカウンタ４０１〜４０５を制御するストレージ制御部、３０１はストレージ制御部２０１に対してライトコマンドを送信し、ストレージデバイス１０１〜１０５にデータの書き込みを要求するクライアントである。
【００４６】
次に、この実施の形態４に係るストレージ制御方式の動作について説明する。即ち、クライアント３０１はストレージ制御部２０１に対してライトコマンドを発行し、それにしたがってストレージ制御部２０１はストレージデバイス１〜５に対してライトコマンドが指定するストレージデバイス１〜５に対して、例えばＵＤＭＡ（Ｕｌｔｒａ  Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）等のコマンドを発行し、データ書き込みを指示する。ストレージデバイス１０１〜１０５はＲＡＩＤ機能を構築するストレージ装置であるので、複数のストレージデバイス１０１〜１０５に対してＲＡＩＤ処理を行い、分散書き込みがなされる。
【００４７】
以下、障害発生時におけるリカバリー手順を説明する。いま、図７における上図のようにストレージデバイス２に磁気情報の弱化等の障害が発生し、データを書き込むために数回のシークを必要とする事態が発生したとする。ストレージデバイス２は数回のシークを繰り返すことで書き込み応答速度が低下する。
【００４８】
ストレージ制御部２０１はストレージデバイス１〜５からの例えばＬＢＡ（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓｉｎｇ）数などに代表される書き込み処理済サイズと経過時間（単位時間当たりのタイマー処理としてもよい）から書き込み処理速度を算出し、その処理速度が規定された処理速度を下回ったストレージデバイス２を異常と判断する。即ち、ストレージ制御部２０１はデータ書き込みコマンドに対する応答時間が規定された時間を上回った回数が計数されるカウンタ４０１〜４０５を参照し、ストレージデバイス１〜５のうち、データ書き込みコマンドに対する応答時間が規定された時間を上回った回数が、例えば、時間平均で最大のものを一番多く遅延が発生した異常のあるストレージデバイスと判断する。ここでは、ストレージデバイス２に障害が発生しているので、カウンタ４０２の計数値が最大であり、対応するストレージデバイス２を切り離す。
【００４９】
ストレージデバイス１〜５はＲＡＩＤ機能を具備しており、ストレージ制御部２０１はストレージデバイス２の切り離し処理後、例えば、ＲＡＩＤ１に準じた機能が存在するストレージ装置であれば他方の系のストレージデバイスに書き込みを続ける。また、例えばＲＡＩＤ５又は６に準じた機能が存在するストレージ装置であれば、残りのストレージデバイス１、３〜５に対してパリティ演算を行いつつ、切り離したストレージデバイス２に書き込みを行わず書き込みを続ける。
【００５０】
また、ＲＡＩＤ１とＲＡＩＤ５又はＲＡＩＤ６とを組み合わせることにより、障害発生時にＲＡＩＤ１による系切り替えを行い、その後切り離されたストレージデバイス２の交換を実施し、ＲＡＩＤ５又はＲＡＩＤ６による復旧機能で復旧を実施する等の運用も可能である。
【００５１】
以上により、リアルタイム処理が必要なアプリケーションにおいて、処理に影響がないようにストレージデバイスを切り離し、データのリカバリーが実施可能となる。
【００５２】
なお、上記実施の形態４では、各ストレージデバイス１〜５に各々対応して１つのカウンタ４０１〜４０５を設けているが、データ書き込みコマンドに対する応答時間が規定された時間を上回った回数がカウントされるカウンタをストレージデバイス１〜５ごとに複数持つ構成とし、各々短い規定の応答時間以上に応答時間がかかった回数を計数するカウンタと、長い規定の応答時間以上に応答時間がかかった回数を計数するカウンタとを設けた構成としてもよい。この場合、まず、長い応答時間のカウンタの計数値を比較して障害が発生しているストレージデバイス１〜５を判断するが、全てのカウンタの計数値が同じであったときに、短い応答時間のカウンタの計数値を比較して障害が発生しているストレージデバイス１〜５を判断することができ、さらに精度をあげて障害が発生しているストレージデバイス１〜５を判断することができる。
【００５３】
さらに、上記各実施の形態ではストレージデバイス１〜５を５台具備した形態を示しているが、これに限るものではない。
【産業上の利用可能性】
【００５４】
本発明は、ＲＡＩＤ機能を有したストレージ装置であり、特にリアルタイム性が要求されるアプリケーションを実行するシステムに適用される。
【図面の簡単な説明】
【００５５】
【図１】本発明の実施の形態１に係るストレージ制御方式を示したブロック図である。
【図２】本発明の実施の形態１に係るストレージデバイスの障害を検知する手順を示したフローチャートである。
【図３】本発明の実施の形態２に係るストレージ制御方式を示したブロック図である。
【図４】本発明の実施の形態２に係るストレージデバイスの障害を検知する手順を示したフローチャートである。
【図５】本発明の実施の形態３に係るストレージ制御方式を示したブロック図である。
【図６】本発明の実施の形態３に係るストレージデバイスの障害を検知する手順を示したフローチャートである。
【図７】本発明の実施の形態４に係るストレージ制御方式を示したブロック図である。
【符号の説明】
【００５６】
１〜５  ストレージデバイス    １０１〜１０５  データバッファ    ２０１  ストレージ制御部    ３０１  クライアント    ４０１〜４０５  カウンタ
【図１】
2009059280.tif 000003
【図２】
2009059280.tif 000004
【図３】
2009059280.tif 000005
【図４】
2009059280.tif 000006
【図５】
2009059280.tif 000007
【図６】
2009059280.tif 000008
【図７】
2009059280.tif 000009