(57)【特許請求の範囲】
【請求項１】
外部と通信可能に構成されるディスクアレイ装置であって、
前記ディスクアレイ装置は、
第１のディスクと、
前記第１のディスクよりも書込み速度が低速な第２のディスクと、
前記各ディスクの書き込みを制御する制御部と、
前記外部から受信したデータが一時的に書き込まれるキャッシュメモリと、を備え、
前記制御部は、
前記第１のディスクと前記キャッシュメモリとに前記外部から受信したデータを書き込み、前記第１のディスクに前記外部から受信したデータの書き込みが終了すると、書込み終了報告を前記外部に送信する手段と、
前記キャッシュメモリに書込まれたデータに基づいて、前記データを復元するために用いられるパリティデータを前記第２のディスクに書き込む手段と、
前記外部から新たに受信したデータが前記第１のディスクに書き込み済みのデータの上書きデータである場合に、前記上書きデータに対応するデータに対するパリティ計算を中断する手段と、
前記キャシュメモリに保存されている書き込みデータを消去すると共に、前記上書きデータを前記第１のディスク及び前記キャッシュメモリに書き込む手段と、
前記上書きデータの前記キャッシュメモリへの書き込みが終了した場合、前記上書きデータのパリティ計算を実行する手段と、
を有するディスクアレイ装置。
【請求項２】
外部と通信可能に構成されるディスクアレイ装置のデータ制御方法であって、
前記ディスクアレイ装置は、
第１のディスクと、
前記第１のディスクよりも書込み速度が低速な第２のディスクと、
前記各ディスクの書き込みを制御する制御部と、
前記外部から受信したデータが一時的に書き込まれるキャッシュメモリと、を備え、
前記制御部は、
前記第１のディスクと前記キャッシュメモリとに前記外部から受信したデータを書き込み、前記第１のディスクに前記外部から受信したデータの書き込みが終了すると、書込み終了報告を前記外部に送信するステップと、
前記キャッシュメモリに書込まれたデータに基づいて、前記データを復元するために用いられるパリティデータを前記第２のディスクに書き込むステップと、
前記外部から新たに受信したデータが前記第１のディスクに書き込み済みのデータの上書きデータである場合に、前記上書きデータに対応するデータに対するパリティ計算を中断するステップと、
前記キャシュメモリに保存されている書き込みデータを消去すると共に、前記上書きデータを前記第１のディスク及び前記キャッシュメモリに書き込むステップと、
前記上書きデータの前記キャッシュメモリへの書き込みが終了した場合、前記上書きデータのパリティ計算を実行するステップと、
を実行するデータ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスクアレイ装置、及びデータ制御方法に関する。
【背景技術】
【０００２】
耐障害性の向上を図る目的から、ディスクアレイ装置は、磁気ディスクを複数組み合わせることによりディスクアレイ装置の高信頼化を実現させる、ＲＡＩＤ(Redundant Array of Independent Disks)と呼ばれる方式で磁気ディスクを管理する。
【０００３】
近年では、ディスクアレイ装置における処理性能の向上が要求されており、かかる要求に応えるため、特許文献１に開示される外部記憶方式のように、通常記憶させるディスクとして、磁気ディスクより高速に書込める半導体ディスクを使用する、外部記憶方式が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開昭６２−２３２０２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示されるような半導体ディスクを使用してＲＡＩＤ方式による構築をした場合、冗長性は確保できるものの、書込み対象のデータ容量以上の書き込み領域が必要となるため、構築費用が高額となる。
【０００６】
そこで、本発明は、冗長性を確保し、書込み速度の向上を図るとともに低廉に構築することができる、ディスクアレイ装置、及びディスクアレイシステムを提案する。
【課題を解決するための手段】
【０００７】
かかる課題を解決するため、本発明は外部と通信可能に構成されるディスクアレイ装置であって、ディスクアレイ装置は、第１のディスクと、第１のディスクよりも書込み速度が低速な第２のディスクと、各ディスクの書き込みを制御する制御部と、外部から受信したデータが一時的に書き込まれるキャッシュメモリと、を備え、制御部は、第１のディスクとキャッシュメモリとに外部から受信したデータを書き込み、第１のディスクに外部から受信したデータの書き込みが終了すると、書込み終了報告を外部に送信する手段と、キャッシュメモリに書込まれたデータに基づいて、データを復元するために用いられるパリティデータを第２のディスクに書き込む手段と、外部から新たに受信したデータが第１のディスクに書き込み済みのデータの上書きデータである場合に、上書きデータに対応するデータに対するパリティ計算を中断する手段と、キャシュメモリに保存されている書き込みデータを消去すると共に、上書きデータを第１のディスク及びキャッシュメモリに書き込む手段と、上書きデータのキャッシュメモリへの書き込みが終了した場合、上書きデータのパリティ計算を実行する手段と、を有する。
かかる課題を解決するため、参考例は、外部と通信可能に構成されるディスクアレイ装置であって、ディスクアレイ装置は、第１のディスクと、第１のディスクよりも書込み速度が低速な第２のディスクと、各ディスクの書き込みを制御する制御部と、外部から受信したデータが一時的に書き込まれるキャッシュメモリと、を備え、制御部は、第１のディスクとキャッシュメモリとに外部から受信したデータを書き込み、第１のディスクに外部から受信したデータの書き込みが終了すると、書込み終了報告を外部に送信する手段と、キャッシュメモリに書込まれたデータに基づいて、データを復元するために用いられる情報を第２のディスクに書き込む手段と、を有する。
【０００８】
また、本発明の方法は、外部と通信可能に構成されるディスクアレイ装置のデータ制御方法であって、ディスクアレイ装置は、第１のディスクと、第１のディスクよりも書込み速度が低速な第２のディスクと、各ディスクの書き込みを制御する制御部と、外部から受信したデータが一時的に書き込まれるキャッシュメモリと、を備え、制御部は、第１のディスクとキャッシュメモリとに外部から受信したデータを書き込み、第１のディスクに外部から受信したデータの書き込みが終了すると、書込み終了報告を外部に送信するステップと、キャッシュメモリに書込まれたデータに基づいて、データを復元するために用いられるパリティデータを第２のディスクに書き込むステップと、外部から新たに受信したデータが第１のディスクに書き込み済みのデータの上書きデータである場合に、上書きデータに対応するデータに対するパリティ計算を中断するステップと、キャシュメモリに保存されている書き込みデータを消去すると共に、上書きデータを第１のディスク及びキャッシュメモリに書き込むステップと、上書きデータのキャッシュメモリへの書き込みが終了した場合、上書きデータのパリティ計算を実行するステップと、を実行する。
また、参考例は、ディスクアレイ装置は、第１のディスクと、第１のディスクよりも書込み速度が低速な第２のディスクと、各ディスクの書き込みを制御する制御部と、外部から受信したデータが一時的に書き込まれるキャッシュメモリと、を備え、制御部は、第１のディスクとキャッシュメモリとに外部から受信したデータを書き込み、第１のディスクに外部から受信したデータの書き込みが終了すると、書込み終了報告を外部に送信するステップと、キャッシュメモリに書込まれたデータに基づいて、データを復元するために用いられる情報を第２のディスクに書き込むステップと、を実行する。
【発明の効果】
【０００９】
本発明によれば、書込み用のディスクには高速ディスクを使用する一方、高速ディスクに書込まれたデータを復元するために低速ディスクを使用する構成とした。高速ディスクに書込みデータの書き込みが完了した時点でサーバには処理完了の通知を行い、通知後に、低速ディスクに高速ディスクに書込まれたデータを復元するために用いられる情報を記録するので、冗長性を確保し、書込み速度の向上を図ることができ、低廉なシステムを実現することができる。
【図面の簡単な説明】
【００１０】
【図１】ディスクアレイシステム１００の構成を示すブロック図である。
【図２】ディスクアレイシステム１００の書込み手順の一例を示すフローチャートである。
【図３】ディスクアレイシステム１００の読出し手順の一例を示すフローチャートである。
【図４】ディスクアレイシステム１００の復旧手順の一例を示すフローチャートである。
【図５】ディスクアレイシステム１００の動作を示す説明図である。
【図６】第２実施形態におけるディスクアレイシステム２００の構成を示すブロック図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態について、図面を参照して説明する。なお、図面中、同一の要素には同一の符号を付し、重複する説明を省略する。また、以下の実施の形態は、本発明を説明するための例示であり、本発明をその実施の形態のみに限定する趣旨ではない。さらに、本発明は、その要旨を逸脱しない限り、さまざまな変形が可能である。
【００１２】
（第１実施形態）
本発明の第１実施形態について説明する。
【００１３】
（１）ディスクアレイシステムの構成
図１は、本第１実施形態によるディスクアレイシステム１００の構成を示したブロック図である。ディスクアレイシステム１００は、中央演算装置であるサーバ１が第１通信線１０を介してディスクアレイ装置２と通信可能に接続される。
【００１４】
サーバ１は、ＣＰＵ（図示せず）、バスに接続されたメモリ（図示せず）、入力部（図示せず）、出力部（図示せず）及び入出力インタフェース（図示せず）など、通常のコンピュータ装置と同様のハードウェアを備えている。サーバ１は、物理的には、専用化したシステム、あるいは汎用の情報処理装置のいずれであってもよい。たとえば、一般的な構成の情報処理装置において、後述する書込み方法、読出し方法、及び復元方法における各処理を規定したソフトウェアを実行することにより、本実施形態のサーバ１として動作させることもできる。
【００１５】
ディスクアレイ装置２は、サーバ１と第１通信線１０を介して接続されるストレージコントローラ（制御部）３を備える。ストレージコントローラ３は、マイクロプロセッサ（図示せず）、バスに接続されたメモリ（図示せず）、入力部（図示せず）、出力部（図示せず）、入出力インタフェース（図示せず）、及びＨＤＤコントローラ（図示せず）など、通常のストレージコントローラと同様のハードウェアを備えている。ストレージコントローラ３は、第２通信線１１を介して、複数の高速ディスク（第１のディスク）４，５と接続されており、高速ディスク４，５へのデータの入出力などを制御する。
【００１６】
また、ディスクアレイ装置２は、上述したハードウェアの他、キャッシュ７、冗長キャッシュ８、パリティ計算用のプロセッサ（制御部）９、及び低速ディスク（第２のディスク）６を備えている。キャッシュ７、及び冗長キャッシュ８は、それぞれ内部バス１３を介してストレージコントローラ３と接続される。パリティ計算用のプロセッサ９は、内部バス１３を介してキャッシュ７、及び冗長キャッシュ８と接続され、また、第３通信線１２を介して低速ディスク６と接続される。
【００１７】
高速ディスク４，５は、低速ディスク６よりも書き込み速度が高速な記憶媒体であり、例えばＳＳＤ（Solid State Drive）等の半導体ディスクを用いることが好ましい。また高速ディスク４，５は、冗長性のない複数の半導体ディスクを組み合わせて使用されており、例えば、複数の高速ディスク４，５にデータをブロック単位で分散（ストライピング）させて記録する方式である、ＲＡＩＤ０に構築されていることが好ましい。
【００１８】
低速ディスク６は、高速ディスク４，５よりも書き込み速度が低速な記憶媒体であり、例えばハードディスク等の磁気ディスクである。この低速ディスク６には、高速ディスク４，５を復元するために用いられる情報が書き込まれ、本実施形態では、高速ディスク４，５に記録される書込みデータのパリティデータが書き込まれる。
【００１９】
キャッシュ７は、高速ディスク４，５に記録される書込みデータを一時的に保存するメモリであり、低速ディスク６にパリティデータの記録が完了するまで保存される。
【００２０】
冗長キャッシュ８は、上述したキャッシュ７と二重化されており、キャッシュ７に障害が発生した場合のバックアップとして使用される。
【００２１】
パリティ計算用のプロセッサ９は、高速ディスク４，５に記録される書込みデータのパリティを計算する。いずれかの高速ディスク４，５に障害が発生した場合に、低速ディスク６から読み出したパリティデータに基づいて、障害が発生した高速ディスク４，５に記録されていたデータを復元し、復元したデータを、キャッシュ７を介してストレージコントローラ３に送信する。
【００２２】
なお、第１通信線１０としては、ＳＡＮ（Storage Area Network）が使用され、第２通信線１１及び第３通信線１２としては、ＦＣ（Fibre Channel），ＳＡＳ（Serial Attached SCSI），ＳＡＴＡ（Serial ATA）のいずれかが使用される。
【００２３】
（２）書込み処理
このように構成されたディスクアレイシステム１００において、ディスクアレイ装置２が書込みデータを受信する場合の、データ書込み処理を、図２に示すフローチャート及び図５に示す説明図を用いて説明する。
【００２４】
まず、ストレージコントローラ３は、サーバ１から送信される書込み要求と書込みデータとを受信すると（Ｓ１）、受信した書込みデータを高速ディスク４，５、キャッシュ７、及び冗長キャッシュ８に書込み、該データを保存する（Ｓ２）。本実施形態では、各高速ディスク４，５のＲＡＩＤレベルは零に設定されているため、ストレージコントローラ３は、書込みデータを、複数の高速ディスク４，５にブロック単位で分散させて書込む。
【００２５】
ストレージコントローラ３は、高速ディスク４，５とキャッシュ７とへの書込みが終了すると、書込み処理が終了した報告をサーバ１に送信する（Ｓ３）。
【００２６】
キャッシュ７への書込みが終了すると、パリティ計算用のプロセッサ９が、キャッシュ７に書込まれた書込みデータのパリティ計算を開始する（Ｓ４）。
【００２７】
次に、ストレージコントローラ３は、パリティ計算中に、サーバ１から新たな書込み要求と新たな書込みデータとを受信すると、サーバ１から受信した新たな書込みデータが高速ディスク４，５に書込み済の書込みデータに対する上書きデータか否かを判断する（Ｓ５）。
【００２８】
ストレージコントローラ３は、新たな書込みデータが上書きデータであると判断した場合には（Ｓ５  ＹＥＳ）、高速ディスク４，５に既に書込み済の書込みデータのうち、前記上書きデータに対応するデータに対するパリティ計算の中断指示をパリティ計算用のプロセッサ９に送信する（Ｓ６）。パリティ計算用のプロセッサ９は、受信した中断指示に基づき、対応するデータに対するパリティ計算を実行中の場合には、これを中断する（Ｓ７）。
【００２９】
また、ストレージコントローラ３は、キャッシュ７に保存されている書込みデータを消去するとともに、上書きデータをキャッシュ７と高速ディスク４，５とに書込む（Ｓ７）。キャッシュ７への書込みが終了した後、パリティ計算用のプロセッサ９が、上書きデータのパリティ計算を開始し（Ｓ８）、ステップＳ１０に進む。
【００３０】
一方、新たな書込みデータが上書きデータではないと判断した場合や、新たな書込み要求を受信していない場合には（Ｓ５  ＮＯ）、パリティ計算用のプロセッサ９が、キャッシュ７に書込まれた書込みデータのパリティ計算を終了するまで、続行する（Ｓ９）。
【００３１】
パリティ計算用のプロセッサ９が、キャッシュ７に書込まれた書込みデータ又は上書きデータのパリティを計算し終えると、パリティデータとして低速ディスク６に書込み（Ｓ１０）、書込み処理を終了する。
【００３２】
なお、上述した書込み処理において、冗長キャッシュ８は、キャッシュ７と二重化される構成であるため、キャッシュ７内の内容が常に同期されている。
【００３３】
（３）読出し処理
次に、ディスクアレイ装置２が読出しデータを送信する場合の、データ読出し処理を、図３に示すフローチャートを用いて説明する。
【００３４】
まず、ストレージコントローラ３は、サーバ１からデータの読出し要求を受信すると（Ｓ２１）、サーバ１が要求するデータが書き込まれている高速ディスク４，５を検索し、検索した高速ディスク４，５に読出し要求を行う（Ｓ２２）。
【００３５】
高速ディスク４，５は、読出し要求を受信すると、サーバ１が要求するデータを自高速ディスク４，５から読み出し、読み出した読出しデータをストレージコントローラ３に送信する（Ｓ２３）。
【００３６】
ストレージコンローラは、読出しデータを受信すると、該読出しデータをサーバ１へ送信し（Ｓ２４）読出し処理を終了する。
【００３７】
（４）復元処理
次に、高速ディスク４，５に障害が生じた場合の、データ復元処理を、図４に示すフローチャート及び図５に示す説明図を用いて説明する。
【００３８】
まず、ストレージコントローラ３は、高速ディスク４，５に発生した障害を検知すると（Ｓ３１）、パリティ計算用のプロセッサ９にデータの復元要求を送信する（Ｓ３２）。
【００３９】
パリティ計算用のプロセッサ９は、データの復元要求を受信すると、低速ディスク６から、障害が発生した高速ディスク４，５に書込まれたデータに対応するパリティデータを読み出し、読み出したパリティデータに基づいて、障害が発生した高速ディスク４，５に書込まれていたデータの復元を行う（Ｓ３３）。
【００４０】
パリティ計算用のプロセッサ９は、データの復元が終了すると、復元したデータをストレージコントローラ３に送信する（Ｓ３４）。
【００４１】
ストレージコントローラ３は、復元したデータを受信すると、復元したデータを、復旧した高速ディスク４，５又は新たな高速ディスク４，５に書込み（Ｓ３５）、データの復元処理を終了する。
【００４２】
このように、本実施形態によれば、ストレージコントローラ３が時間を要するパリティ計算、及び低速ディスク６へのパリティの書き込みを後回しにし、サーバ１からの書込みデータを高速ディスク４，５とキャッシュ７に書込んだ時点で、サーバ１には書込み処理の終了報告を行うため、サーバ１に対しては高速な書込み処理を提供することができる。
【００４３】
また、高速な書込み処理を実現するために冗長性を有しない高価な高速ディスク４，５を使用するとともに、該高速ディスク４，５に書込まれる書込みデータのパリティデータを安価な低速ディスク６に保存し、障害時に対応できるようにした。この結果、本実施形態のディスクアレイ装置２は、障害時のリカバリ性を維持しつつ、書込み速度の向上を図ることができ、低廉なシステムを実現することができる。
【００４４】
（第２実施形態）
次に本発明の第２実施形態について説明する。本第２実施形態は、上記第１実施形態によるパリティ計算用のプロセッサ９と低速ディスク６に代わって、複数の高速ディスク４，５のそれぞれに対応する複数の低速ミラーディスク（第２のディスク）１４，１５を有している点で、上記第１実施形態と異なる。上記第１実施形態と同じ構成には同一の符号を付し、説明を省略する。
【００４５】
図６は、本第２実施形態によるディスクアレイシステム２００を示すブロック図である。ディスクアレイ装置２’は、ストレージコントローラ３、複数の高速ディスク４，５、キャッシュ７、冗長キャッシュ８、及び複数の低速ミラーディスク１４，１５を備えている。キャッシュ７、及び冗長キャッシュ８は、それぞれ内部バス１３を介してストレージコントローラ３と接続される。複数の低速ミラーディスク１４，１５は、第３通信線１２を介してキャッシュ７、及び冗長キャッシュ８と接続される。
【００４６】
低速ミラーディスク１４，１５は、高速ディスク４，５よりも書き込み速度が低速な記憶媒体であり、例えばハードディスク等の磁気ディスクである。この低速ミラーディスク１４，１５には、上述した高速ディスク４，６に記録される書込みデータのコピーデータ（ミラーデータ）が、キャッシュ７を介して書込まれる。低速ミラーディスク１４，１５への書込み処理は、サーバ１へ書込み処理の終了報告後に実行する。
【００４７】
また、高速ディスク４，５に障害が発生した場合には、低速ミラーディスク１４，１５から該高速ディスク４，５に対応するコピーデータを読み出し、読み出したコピーデータを、修復した高速ディスク４，５又は新たな高速ディスクに書込む。
【００４８】
このように、本実施形態によれば、キャッシュ７に一時的に書き込まれた書込みデータを低速ミラーディスク１４，１５に書き込む処理には所定の時間を要するものの、該書込み処理は、サーバ１への書込み処理の終了報告後に行われるため、サーバ１に対しては高速な書込み処理を提供することができる。
【００４９】
また、第１実施形態と比してパリティに基づくデータ復旧の計算をする必要がなくなるため、より早い復旧作業を実現することができる。
【産業上の利用可能性】
【００５０】
本発明は、大量のデータを高速で保存するディスクアレイシステムに適用することができる。特に、ハイビジョン映像等、データ量が多く、且つ、低速に書込み処理が行われるとサービスの品質に影響が生じるような、テレビ局等の番組送出システムに適用することができる。データの一貫性を維持し、且つ応答性能の向上を図ることを目的とするディスクアレイシステムに広く適用することができる。
【符号の説明】
【００５１】
１００，２００…ディスクアレイシステム、１…サーバ（外部）、２…ディスクアレイ装置、３…ストレージコントローラ（制御部）、４，５…高速ディスク（第１のディスク）、６…低速ディスク（第２のディスク）、７…キャッシュ、８…冗長キャッシュ、９…パリティ計算用のプロセッサ（制御部）、１４，１５…低速ミラーディスク（第２のディスク）。
【図１】
0005585930.tif 000002
【図２】
0005585930.tif 000003
【図３】
0005585930.tif 000004
【図４】
0005585930.tif 000005
【図５】
0005585930.tif 000006
【図６】
0005585930.tif 000007