(57)【要約】【課題】ディスクアレイ装置にデータを格納する際、データごとにＲＡＩＤレベルを変更しようとした場合、管理者がホストコンピュータ経由でデータごとにそのデータに対するＲＡＩＤレベルを設定していたため、時間を要していた。【解決手段】複数の記憶装置１９＿１〜１９＿Ｎを備え、外部機器２から入力したデータを複数の記憶装置１９＿１〜１９＿Ｎに格納するディスクアレイ装置１において、データの付加情報を読み取り、付加情報に基づいてデータの重み付けを行う情報認識部１５と、情報認識部１５が設定したデータの重み付けに基づいてＲｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ（以下、ＲＡＩＤと称す）レベルを選択するＲＡＩＤレベル選択部１６とを備え、データの付加情報に基づいてデータ毎に最適なＲＡＩＤレベルを選択してデータを複数の記憶装置１９＿１〜１９＿Ｎに格納する。【選択図】図１
2006134026.tif 000002
【特許請求の範囲】
【請求項１】
複数の記憶装置を備え、外部機器から入力したデータを前記複数の記憶装置に格納するディスクアレイ装置において、
前記データの付加情報を読み取り、該付加情報に基づいて前記データの重み付けを行う情報認識部と、
前記情報認識部が設定した前記データの重み付けに基づいてＲｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ（以下、ＲＡＩＤと称す）レベルを選択するＲＡＩＤレベル選択部とを備え、
前記データの付加情報に基づいてデータ毎に最適なＲＡＩＤレベルを選択して前記データを前記複数の記憶装置に格納する
ことを特徴とするディスクアレイ装置。
【請求項２】
前記情報認識部は、前記データの付加情報に含まれる、前記データの属性、更新日時、容量、拡張子のすべてもしくは一部を用いて重み付けを行う、
ことを特徴とする請求項１記載のディスクアレイ装置。
【請求項３】
前記ＲＡＩＤレベル選択部は、前記情報認識部で決定された重み付けを所定の閾値と比較することで、前記データに最適なＲＡＩＤレベルを選択する
ことを特徴とする請求項１記載のディスクアレイ装置。
【請求項４】
前記所定の閾値は、外部から任意に変更可能である
ことを特徴とする請求項３に記載のディスクアレイ装置。
【請求項５】
複数の記憶装置を備え、外部機器から入力したデータを前記複数の記憶装置に格納するディスクアレイ装置において、
前記外部機器は前記データの情報に基づいてＲＡＩＤレベルを選択し、該データに付加するＲＡＩＤレベル判定部を備え、
該ディスクアレイ装置は前記データの付加情報を読み取り、Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ（以下、ＲＡＩＤと称す）レベルを選択する情報認識部を備え、
前記データの付加情報に基づいてデータ毎に最適なＲＡＩＤレベルを選択して前記データを前記複数の記憶装置に格納する
ことを特徴とするディスクアレイ装置。
【請求項６】
前記ＲＡＩＤレベル判定部は、前記データの情報に含まれる属性、更新日時、容量、拡張子のすべてもしくは一部を用いて重み付けを行い、ＲＡＩＤレベルを決定して前記データに付加情報として追加する、
ことを特徴とする請求項５記載のディスクアレイ装置。
【請求項７】
複数の記憶装置を備え、外部機器から入力したデータを前記複数の記憶装置に格納するディスクアレイ装置において、
前記データの属性から構成される前記データの付加情報を読み取り、該付加情報に基づいて前記データの重み付けを行うステップと、
前記データの重み付けに基づいてＲｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ（以下、ＲＡＩＤと称す）レベルを選択するステップとを備え、
前記データの付加情報に基づいてデータ毎に最適なＲＡＩＤレベルを選択して前記データを前記複数の記憶装置に格納する
ことを特徴とするＲＡＩＤレベル設定方法。
【請求項８】
前記データの付加情報に基づく重み付けは、前記データの属性、更新日時、容量、拡張子のすべてもしくは一部を用いて行う、
ことを特徴とする請求項７記載のＲＡＩＤレベル設定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はディスクアレイ装置に関し、より詳細にはディスクアレイ装置にデータを格納する際に、データの情報を利用することで、データごとに適切なＲＡＩＤレベルを設定するための技術に関する。
【背景技術】
【０００２】
ディスクアレイ装置は、ハードディスク等の複数の記憶装置をまとめて１台の装置として管理する装置であり、高信頼かつ大記憶容量を実現している。ディスクアレイの最も一般的な形式は、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）である。
【０００３】
例えばＲＡＩＤレベル５（以下、ＲＡＩＤ−５と記す）においては、ホストから転送されてきたデータを用いてパリティと呼ばれる誤り訂正符号を生成し、データとともに分散してディスクアレイ装置に記録する。このため複数のディスクの内１台故障しても、新しいディスクと交換後に残りの正常なディスクのデータとパリティを用いて誤り訂正処理を行うことで、故障したディスクのデータを復元することが可能である（例えば、非特許文献１参照）。
【０００４】
ここで、ディスクアレイ装置は初期設定時にＲＡＩＤレベルを決定し、それ以降の動作はそのＲＡＩＤレベルに固定してデータを格納するのが一般的である。この場合、例えばＲＡＩＤ−３に固定してしまうとランダムファイルの書き込み／読み出しで処理効率が下がり、またＲＡＩＤ−５に固定するとシーケンシャルファイルの書き込み／読み出しで処理効率が落ちるという問題があった。
【０００５】
そのような問題を解決するために、ディスクアレイ装置にデータを格納する際にホストコンピュータが出力するコマンドの中にＲＡＩＤレベルを含めることで、そのデータに対するＲＡＩＤレベルを個別に指定する技術が開示されている（例えば、特許文献１参照）。
【０００６】
図７は従来のディスクアレイ装置のブロック図である。ホストコンピュータ１０２はディスクアレイ装置１０１にホストＩ／Ｆ１１１を介して、データとともにコマンドを送る。コマンド中には動作指示やデータの長さ、ＲＡＩＤレベル、格納先アドレス等のデータが含まれている。ディスクアレイ装置１０１はそのコマンドを受けて、ＲＡＩＤ―３かＲＡＩＤ―５のどちらかのレベルで動作するかをＣＰＵ１１２で判断し、ＲＡＩＤレベル設定回路１１３に指示を送る。ここで、ＲＡＩＤ―３でデータをディスクドライブ１１６＿１〜１１６＿５に格納するというコマンドが、ホストコンピュータ１０２から送られてきたものとする。
【０００７】
ホストコンピュータ１０２からの格納コマンドが送られてくると、ＣＰＵ１１２はＲＡＩＤレベル設定回路１１３にＲＡＩＤ―３に設定するように、ＲＡＩＤ切り替え指示信号１２１を送る。ＲＡＩＤレベル設定回路１１３は、ＲＡＩＤ―３で動作することをＲＡＩＤレベル信号１２２として出力する。ＣＰＵ１１２はアレイコントローラ１１４へデータ転送開始の指示を送る。アレイコントローラ１１４は、ＲＡＩＤレベル信号１２２を参照し、ホストコンピュータ１０２から送出されるデータをＲＡＩＤ―３のデータ構成で、デバイスＩ／Ｆ１１５＿１〜１１５＿５を介してディスクドライブ１１６＿１〜１１６＿５へ転送する。アレイコントローラ１１４は転送が終わると、ＣＰＵ１１２に対して終了報告をし、ＣＰＵ１１２からホストＩ／Ｆ１１１を介してホストコンピュータ１０２に終了通知を行う。
【０００８】
以上のように、ホストコンピュータが出力するコマンドの中にＲＡＩＤレベルを指定することによって、処理効率の高いディスクアレイ装置を提供することが可能となる。
【特許文献１】特開平６−１８７２４９号公報（第２−４頁、第１図）
【非特許文献１】「Ａ  Ｃａｓｅ  ｆｏｒ  Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ（ＲＡＩＤ）」（Ｐａｔｔｅｒｓｏｎ  ｅｔ  ａｌ．、Ｒｅｐｏｒｔ  Ｎｏ．ＵＣＢ／ＣＳＤ  ８７／３９１、Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｅ  Ｄｉｖｉｓｉｏｎ（ＥＥＣＳ）、Ｕｎｉｖ．  ｏｆ  Ｃａｌｉｆｏｒｎｉａ、Ｂｅｒｋｅｌｙ、ＣＡ、Ｄｅｃｅｍｂｅｒ  １９８７）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら従来のディスクアレイ装置では、ホストコンピュータがデータとともに出力するコマンド内に、各データに対するＲＡＩＤレベルを毎回指示しなくてはならない。つまりデータの数が増加するにつれて、ホストコンピュータの負担も大きくなってしまい、処理速度の低下が生じることになる。
【００１０】
本発明は前記従来の課題を解決するもので、ディスクアレイ装置にデータを格納する際に、あらかじめデータごとに付加されている情報を利用することで、データごとに適切なＲＡＩＤレベルを高速に選択し、格納することを目的としたものである。
【課題を解決するための手段】
【００１１】
前記従来の課題を解決するために、本発明のディスクアレイ装置は、複数の記憶装置を備え、外部機器から入力したデータを前記複数の記憶装置に格納するディスクアレイ装置において、前記データの付加情報を読み取り、該付加情報に基づいて前記データの重み付けを行う情報認識部と、前記情報認識部が設定した前記データの重み付けに基づいてＲｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ（以下、ＲＡＩＤと称す）レベルを選択するＲＡＩＤレベル選択部とを備え、前記データの付加情報に基づいてデータ毎に最適なＲＡＩＤレベルを選択して前記データを前記複数の記憶装置に格納することを特徴としたものである。
【００１２】
さらにディスクアレイ装置において、前記情報認識部は、前記データの付加情報に含まれる、前記データの属性、更新日時、容量、拡張子のすべてもしくは一部を用いて重み付けを行うことを特徴としたものである。
【００１３】
さらにディスクアレイ装置において、前記ＲＡＩＤレベル選択部は、前記情報認識部で決定された重み付けを所定の閾値と比較することで、前記データに最適なＲＡＩＤレベルを選択することを特徴としたものである。
【００１４】
さらにディスクアレイ装置において、前記所定の閾値は、外部から任意に変更可能であることを特徴としたものである。
【００１５】
さらにディスクアレイ装置において、複数の記憶装置を備え、外部機器から入力したデータを前記複数の記憶装置に格納するディスクアレイ装置において、前記外部機器は前記データの情報に基づいてＲＡＩＤレベルを選択し、該データに付加するＲＡＩＤレベル判定部を備え、該ディスクアレイ装置は前記データの付加情報を読み取り、Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ（以下、ＲＡＩＤと称す）レベルを選択する情報認識部を備え、前記データの付加情報に基づいてデータ毎に最適なＲＡＩＤレベルを選択して前記データを前記複数の記憶装置に格納することを特徴としたものである。
【００１６】
さらにディスクアレイ装置において、前記ＲＡＩＤレベル判定部は、前記データの情報に含まれる属性、更新日時、容量、拡張子のすべてもしくは一部を用いて重み付けを行い、ＲＡＩＤレベルを決定して前記データに付加情報として追加することを特徴としたものである。
【００１７】
また、本発明のＲＡＩＤレベル設定方法は、複数の記憶装置を備え、外部機器から入力したデータを前記複数の記憶装置に格納するディスクアレイ装置において、前記データの属性から構成される前記データの付加情報を読み取り、該付加情報に基づいて前記データの重み付けを行うステップと、前記データの重み付けに基づいてＲｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ（以下、ＲＡＩＤと称す）レベルを選択するステップとを備え、前記データの付加情報に基づいてデータ毎に最適なＲＡＩＤレベルを選択して前記データを前記複数の記憶装置に格納することを特徴としたものである。
【００１８】
さらにＲＡＩＤレベル設定方法は、前記データの付加情報に基づく重み付けは、前記データの属性、更新日時、容量、拡張子のすべてもしくは一部を用いて行う、ことを特徴としたものである。
【発明の効果】
【００１９】
以上のように、本発明のディスクアレイ装置およびＲＡＩＤレベル設定方法によれば、ディスクアレイ装置にデータを格納する際に、あらかじめデータごとに付加されている情報を利用することで、ホストコンピュータの負担を軽減させつつ、データごとに適切なＲＡＩＤレベルを高速に選択し、格納することができる。
【発明を実施するための最良の形態】
【００２０】
以下に、本発明のディスクアレイ装置およびＲＡＩＤレベル設定方法の実施の形態を、図面とともに詳細に説明する。
【実施例１】
【００２１】
図１に本発明の実施例１におけるディスクアレイ装置の全体構成図を示す。ディスクアレイ装置とは複数の記憶装置（以下、ディスクと記す）をまとめて１台の記憶装置として管理する技術であり、通常動作においては、ホストコンピュータから転送されたデータを分散して複数の記憶装置へ格納したり、また複数の記憶装置に分割して格納されているデータを結合し、ホストコンピュータへ出力する。ディスクアレイ装置の大きな特徴として１台の記憶装置が故障してもそれ以外の記憶装置から故障した記憶装置の内容を再構築でき、そのための誤り訂正符号が生成されて記憶装置の一部に格納される。
【００２２】
以下、ディスクアレイ装置にデータを格納する際にＲＡＩＤレベルを設定する動作について説明する。
【００２３】
図１において、ディスクアレイ装置１はホストコンピュータ２との間でデータの送受信を行う構成となっている。このディスクアレイ装置１は複数のＲＡＩＤレベル（例えばＲＡＩＤ―０やＲＡＩＤ―１、ＲＡＩＤ―５など）に対応しているとする（通常これらのＲＡＩＤレベルの中から一つを選択して、終始そのＲＡＩＤレベルで動作させるのが一般的である）。
【００２４】
ホストコンピュータ２はホストＩ／Ｆ１１と接続されており、ホストコンピュータ２との間でアドレスやデータ、コマンド等の送受信の仲介を行う。
【００２５】
ＣＰＵ１２はホストＩ／Ｆ１１経由でホストコンピュータ２から送られてくるコマンドを解釈し、それに従ってディスクアレイ装置１全体を制御する。
【００２６】
メモリＩ／Ｆ１３はホストＩ／Ｆ１１をはじめとするディスクアレイ装置１内のブロックがメモリ１４にアクセスする際の仲介を行い、そのメモリ１４にはホストコンピュータ２との間で送受信するデータが、ホストＩ／Ｆ１１（データ格納時）やＲＡＩＤコントロール部１７（データ読み出し時）によって一時的に格納される。情報認識部１５はまずホストコンピュータ２から送られてきたデータに付加されている情報（属性等）を読み取る。その後ホストコンピュータ２があらかじめ設定したＲＡＩＤレベルを選択するための判断基準となる複数の項目ごとに点数を付ける処理を行う。
【００２７】
例えば３つの項目（信頼性、高速性、格納性）が設定されているとする。情報認識部１５はデータに付加されている情報から、まず信頼性の要因となるものがあるかどうか調べる。その要因となるものとして、（１）アクセス権限、（２）リードオンリー、（３）暗号化、（４）システムファイル、などがある。これらに該当する場合、信頼性という項目に対して点数を加算していく。同様に高速性の要因として、（１）動画データ、（２）データの容量が所定値以上、などに該当する場合、点数を加算する。格納性に関しても、（１）データ容量が所定値以下、の場合に加算する。これらの各項目の点数を、次段のＲＡＩＤレベル選択部１６に出力する。
【００２８】
ＲＡＩＤレベル選択部１６は情報認識部１５から送られてきた前述の結果をもとに、複数のＲＡＩＤレベルから適切なＲＡＩＤレベルを選択する。具体的には各項目の点数と所定の閾値を項目ごとに比較し、閾値よりも高いか低いかを最初に判定する。その判定結果をもとに適切なＲＡＩＤレベルを選択する。例えば信頼性の要求度は低いが、高速性と格納性が求められる場合はＲＡＩＤ−５が適切であると判断する。この適切なＲＡＩＤレベルをＲＡＩＤコントロール部１７に通知する。
【００２９】
ＲＡＩＤコントロール部１７はメモリＩ／Ｆ１３経由でメモリ１４にアクセスし、ＲＡＩＤレベル選択部１６から通知されたＲＡＩＤレベルで、Ｎ台の記憶装置（以下、ディスクと記す）１９＿１〜１９＿Ｎにデータを格納する。この際Ｎ台のディスクごとに設けられているディスクＩ／Ｆ１８＿１〜１８＿Ｎを介して行う。
【００３０】
ここで、通常データには属性などのいくつかの情報が付加されており、これらの情報は記憶装置のデータ領域とは別の領域に格納される。例えばＭＳ−ＤＯＳの場合、図２（ａ）に示すように記憶装置の格納領域はシステム予約領域とＦＡＴ領域、ルートディレクトリ領域、データ領域に分かれている。各領域の詳細な説明は省略するが、ホストコンピュータ２から送られてくるデータはデータ領域に格納され、そのデータに対する情報はルートディレクトリ領域に格納される。ここで、一つのデータに付き３２ｂｉｔずつ割り当てられており、図２（ｂ）に示すようにファイル名や属性、変更日時、容量などが格納される。この中で属性とは図２（ｃ）に示すようにいくつかの要因から成り立っており、例えばｂｉｔ０はリードオンリーであるか否かを表し、ｂｉｔ１は不可視であるか否か、ｂｉｔ２はシステムファイルであるか否か、など、要因ごとにフラグが設けられているような構成となっている。ＭＳ−ＤＯＳ以外のファイル管理システムにおいても細かい箇所（属性要因の構成や項目数など）に違いはあるが、考え方はほぼ同じであるため、以下の説明では特定のファイル管理システムに限定しないものとする。
【００３１】
以下、ホストコンピュータ２から送られてきたデータを、そのデータに付加されている情報をもとにＲＡＩＤレベルを設定して、ディスク１９＿１〜１９＿Ｎに格納する際の具体例を示す。
【００３２】
ディスクアレイ装置１にデータを格納する際、ホストコンピュータ２はライトコマンドとデータおよびそのデータに対する情報を送信する。ホストＩ／Ｆ１１はホストコンピュータ２から送信されたこれらのデータを受け取り、まずライトコマンドであることをＣＰＵ１２に通知する。ＣＰＵ１２はライトコマンドを認識し、ディスクアレイ装置１内の各ブロックを制御する。次にホストＩ／Ｆ１１はデータおよびそのデータに対する情報をメモリＩ／Ｆ１３を介してメモリ１４に一旦格納する。
【００３３】
ここで情報に関しては、情報認識部１５にも出力する。情報認識部１５はその情報を読み取り、複数の項目ごとに点数をつけて、その結果をＲＡＩＤレベル選択部１６に出力する。図３は信頼性、格納速度、データ容量の３項目について点数を付ける際の処理フローを示した図である。図３において、ステップごとに説明する。
【００３４】
ステップ１：情報認識部１５がホストＩ／Ｆ１１から送信された情報を読み取る。
【００３５】
ステップ２：各項目で点数付けする際の、各項目内の一つの要因に該当するごとに加点する点数（Ｐ、Ｑ、Ｒの値）を、ディスクアレイ装置の管理者がホストコンピュータ２を使って情報認識部１５に設定しておく。例えばＰ＝１０、Ｑ＝５、Ｒ＝５と設定したとする。加点する点数の設定基準については後述する。
【００３６】
ステップ３＿１：信頼性に関して点数付けを行う。次の要因に該当する場合はＰ点（つまり１０点）を加点する。（１）アクセス権限が「管理者のみ」など限定されている、（２）リードオンリーのファイルである、（３）暗号化されている、（４）ＯＳなどに関連するシステムファイルである、（５）１ヶ月以上更新されてないファイルである。この中で（５）を信頼性をあげるための要因の一つとしている理由は、更新頻度の低いファイルは前回の内容から大きく変更している可能性が高く、万が一データが損失した場合に復旧不可能となりかねないためである。
【００３７】
ステップ３＿２：高速性に関して点数付けを行う。次の要因に該当する場合はＱ点（つまり５点）を加点する。（１）リアルタイムでデータを保存するような動画データである、（２）データの容量が１ＧＢ以上である、（３）前回の更新から１０分以内である。この中で（２）を、高速性を重視するための要因の一つとしている理由は、データの容量が大きいということはそれだけ保存に時間がかかり、次のデータの格納の起動が遅くなるなど、他の動作の障害になるおそれがあるためである。また（３）に関しては、頻繁に更新しているということは毎回の保存に時間をかけていては作業効率が落ちるためである。
【００３８】
ステップ３＿３：格納性に関して点数付けを行う。次の要因に該当する場合はＲ点（つまり５点）を加点する。（１）データ容量がディスク１９＿１〜１９＿Ｎの空き容量の１％以下である。これはＲＡＩＤのレベルにより必要なディスク容量が異なり、ディスクアレイ装置１の空き容量が少ない場合は、必要とするディスク容量が多くないＲＡＩＤのレベルを選択するためである。
【００３９】
ステップ４：以上の各項目の点数を、ＲＡＩＤレベル選択部１６に出力する。
【００４０】
以上のようにステップ１からステップ４の処理を行うことで、項目ごとに点数付けを行うことができる。
【００４１】
次にＲＡＩＤレベル選択部１６は、情報認識部１５から送信される前述の各項目に対する点数より、適切なＲＡＩＤレベルを選択する。図４はＲＡＩＤレベル選択部１６がＲＡＩＤレベルを設定する際の処理フローを示した図である。図４において、ステップごとに説明する。
【００４２】
ステップ１１：ＲＡＩＤレベル選択部１６は前段の情報認識部１５から送られてくる各項目の点数を入力する。
【００４３】
ステップ１２：ステップ１１で入力した点数と、項目ごとに設けられている閾値とを比較し、その閾値よりも高いか低いかを決定する。高い場合は“Ａ”ランクとし、低い場合は“Ｂ”ランクとする。ここで前述した情報認識部１５が項目ごとに点数付けする際に、項目ごとに加点する数値（Ｐ、Ｑ、Ｒ）を変更できるようにした理由は、例えばＰの値を大きくすることにより、該当する要因が少なくても閾値を超える確率が高くなり、その結果信頼性に関するランクを“Ａ”とすることができるため、信頼性に関する優先度を高める、といった設定方法を行うことができるようになる。
【００４４】
ステップ１３：ステップ１２の結果をもとに、表１にもとづきＲＡＩＤレベルを選択する。
【００４５】
【表１】
2006134026.tif 000003
例えば信頼性、高速性、格納性がともに“Ａ”ランクの場合、ＲＡＩＤ−１０というレベルを選択する。これはデータをストライピングするＲＡＩＤ-１とデータのミラーリングを行うＲＡＩＤ−０を組み合わせたもので、データをストライピングするとともにミラーリングを行う。つまり空き容量はデータ容量の最低２倍以上が必要となるが、ミラーリングすることにより信頼性を高めることができる。また高速性が“Ｂ”ランク、つまり格納処理時間が多少増加したとしてもいいのであれば、ＲＡＩＤ−Ｘを選択することができる。このＲＡＩＤ−ＸはＲＡＩＤ−５がパリティの数が１つであるのに対してパリティを複数個（３つ以上）用意することで、ディスク１９＿１〜１９＿Ｎ内の複数台のディスクが同時に故障した場合でも、復旧できるようにしたものである。また、ＲＡＩＤ−６はＲＡＩＤ−５に対してパリティを２つ設けたもので、ＲＡＩＤ−Ｘよりも格納性を向上したものである。
【００４６】
ステップ１４：以上の処理で決定されたＲＡＩＤレベルを、ＲＡＩＤコントロール部１７に出力する。
【００４７】
以上のようにステップ１１からステップ１４の処理を行うことで、適切なＲＡＩＤレベルを決定することができる。
【００４８】
その後、ＲＡＩＤコントロール部１７はメモリ１４に格納されているデータおよび情報を読み出し、ＲＡＩＤレベル選択部１６によって選択されたＲＡＩＤレベルで、ディスクＩ／Ｆ１８＿１〜１８＿Ｎを介してディスク１９＿１〜１９＿Ｎに格納していく。
【００４９】
ここで、本実施例１の説明で示したようなデータに付加されている情報とその構成や、情報認識部１５が設定した信頼性などの各項目とそれぞれの要因、ＲＡＩＤレベル選択部１６がＲＡＩＤレベルを決定する際の判定基準などは一例であり、本実施例１に記載していない構成や方法を採用したものであってもよい。
【００５０】
また本実施例１の説明で示したディスク１９＿１〜１９＿Ｎは、ハードディスクドライブなどの磁気ディスクドライブや、ＤＶＤなどの光ディスクドライブ、ＭＯなどの光磁気ディスクドライブ、あるいは半導体メモリなどで構成されたものであってもよい。
【００５１】
以上より、データごとに最適なＲＡＩＤレベルを選択してディスクに格納する際、データごとに付加されている情報を利用することで、ファイルシステムに依存することがなく、データごとに適切なＲＡＩＤレベルを選択し、格納することが可能となる。
【実施例２】
【００５２】
図５に本発明の実施例２におけるディスクアレイ装置の全体構成図を示す。図５においてディスクアレイ装置１は、実施例１の説明で用いた図１の構成に対してＲＡＩＤレベル選択部１６がなく、情報認識部１５が出力する信号が直接ＲＡＩＤコントロール部１７に送信される構成となっている。
【００５３】
本実施例２では情報認識部１５がＲＡＩＤレベルを決定して、ＲＡＩＤコントロール部１７に通知する。それ以外のディスクアレイ装置１内の構成は図１と同じであるため、説明は省略する。ただしディスクアレイ装置１と接続されるホストコンピュータ２に関しては、内部にＣＰＵ２１が存在し、ＣＰＵ２１はプログラム格納部２２に格納されているプログラムにもとづいて動作するものとする。
【００５４】
実施例１では、ホストコンピュータ２が出力するデータに付加された情報をもとに、ディスクアレイ装置１がＲＡＩＤレベルを設定したが、本実施例２ではホストコンピュータ２がＲＡＩＤレベルを決定し、情報の一部にＲＡＩＤレベルを格納し、データとともにディスクアレイ装置１へ出力し、ディスクアレイ装置１でそのＲＡＩＤレベルにもとづいてディスク１９＿１〜１９＿Ｎに格納する。
【００５５】
以下、ディスクアレイ装置にデータを格納する際にＲＡＩＤレベルを設定する動作について説明する。
【００５６】
ホストコンピュータ２は、ディスクアレイ装置１へデータを出力する場合などをはじめほとんどの動作を、プログラム格納部２２に格納されているプログラムにもとづいてＣＰＵ２１が制御する。図６はディスクアレイ装置１へデータを出力する際にそのデータに対して適切なＲＡＩＤレベルを、データに付加されている情報をもとに設定する動作のながれを示した図である。基本的に実施例１で示したディスクアレイ装置１における処理方法と同様であり、信頼性、高速性、格納性の３項目に関して点数付けを行い、それによりＲＡＩＤレベルを決定する方法を、ステップごとに説明する。
【００５７】
ステップ２１：ＣＰＵ２１がディスクアレイ装置１へ出力しようとしているデータに対する情報を読み取る。
【００５８】
ステップ２２：各項目で点数付けする際の、各項目内の一つの要因に該当するごとに加点する点数（Ｐ、Ｑ、Ｒの値）を決定する。例えばＰ＝１０、Ｑ＝５、Ｒ＝５と設定したとする。
【００５９】
ステップ２３＿１：信頼性に関して点数付けを行う。次の要因に該当する場合はＰ点（つまり１０点）を加点する。（１）アクセス権限が「管理者のみ」など限定されている、（２）リードオンリーのファイルである、（３）暗号化されている、（４）ＯＳなどに関連するシステムファイルである、（５）１ヶ月以上更新されてないファイルである。この中で（５）を信頼性をあげるための要因の一つとしている理由は、更新頻度の低いファイルは前回の内容から大きく変更している可能性が高く、万が一データが損失した場合に復旧不可能となりかねないためである。
【００６０】
ステップ２３＿２：高速性に関して点数付けを行う。次の要因に該当する場合はＱ点（つまり５点）を加点する。（１）リアルタイムでデータを保存するような動画データである、（２）データの容量が１ＧＢ以上である、（３）前回の更新から１０分以内である。この中で（２）を高速性を重視するための要因の一つとしている理由は、データの容量が大きいということはそれだけ保存に時間がかかり、ネットワークを占有してしまうおそれがあるためである。また（３）に関しては、頻繁に更新しているということは毎回の保存に時間をかけていては作業効率が落ちるためである。
【００６１】
ステップ２３＿３：格納性に関して点数付けを行う。次の要因に該当する場合はＲ点（つまり５点）を加点する。（１）データ容量がディスク１９＿１〜１９＿Ｎの空き容量の１％以下である。これはＲＡＩＤのレベルにより必要なディスク容量が異なり、ディスクアレイ装置１の空き容量が少ない場合は、必要とするディスク容量が多くないＲＡＩＤのレベルを選択するためである。
【００６２】
ステップ２４：項目ごとの点数と、項目ごとに設けられている閾値とを比較し、その閾値よりも高いか低いかを決定する。高い場合は“Ａ”ランクとし、低い場合は“Ｂ”ランクとする。ここで前述した情報認識部１５が項目ごとに点数付けする際に、項目ごとに加点する数値（Ｐ、Ｑ、Ｒ）を変更できるようにした理由は、例えばＰの値を大きくすることにより、該当する要因が少なくても閾値を超える確率が高くなり、その結果信頼性に関するランクを“Ａ”とすることができるため、信頼性に関する優先度を高める、といった設定方法を行うことができるようになる。
【００６３】
ステップ２５：ステップ２４の結果をもとに、表１にもとづきＲＡＩＤレベルを選択する。例えば信頼性、高速性、格納性がともに“Ａ”ランクの場合、ＲＡＩＤ−１０というレベルを選択する。これはＲＡＩＤ−１とＲＡＩＤ−０を組み合わせたもので、データをストライピングするとともにミラーリングを行う。つまり空き容量はデータ容量の最低２倍以上が必要となるが、ミラーリングすることにより信頼性を高めることができる。また高速性が“Ｂ”ランク、つまり格納処理時間が多少増加したとしてもいいのであれば、ＲＡＩＤ−Ｘを選択することができる。このＲＡＩＤ−ＸはＲＡＩＤ−５がパリティの数が１つであるのに対してパリティを複数個（３つ以上）用意することで、ディスク１９＿１〜１９＿Ｎ内の複数台のディスクが同時に故障した場合でも、復旧できるようにしたものである。また、ＲＡＩＤ−６はＲＡＩＤ−５に対してパリティを２つ設けたもので、ＲＡＩＤ−Ｘよりも格納性を向上したものである。
【００６４】
ステップ２６：以上の処理で決定されたＲＡＩＤレベルを、データに付加する情報の一部に格納し、ディスクアレイ装置１へデータとともに出力する。この時、図２（ｂ）に示すような情報の構成であれば格納領域内の未使用領域を利用してもいいし、もし空き領域がなければ新たに追加してもよい。
【００６５】
以上の処理によって情報の一部にＲＡＩＤレベルを格納し、ホストコンピュータ２はディスクアレイ装置１にデータとともに出力する。
【００６６】
ホストＩ／Ｆ１１はデータおよびそのデータに対する情報をメモリＩ／Ｆ１３を介してメモリ１４に一旦格納する。ここで情報に関しては、情報認識部１５にも出力する。情報認識部１５はその情報を入力し、ホストコンピュータ２によって設定されたＲＡＩＤレベルのみを読み取る。その読み取った結果をＲＡＩＤコントロール部１７に出力する。
【００６７】
その後、ＲＡＩＤコントロール部１７はメモリ１４に格納されているデータおよび情報を読み出し、情報認識部１５から通知されたＲＡＩＤレベルで、ディスクＩ／Ｆ１８＿１〜１８＿Ｎを介してディスク１９＿１〜１９＿Ｎに格納していく。
【００６８】
ここで、本実施例２の説明で示したようなデータに付加されている情報とその構成や、ホストコンピュータ２がＲＡＩＤレベルを選択するのに用いた信頼性などの各項目とそれぞれの要因、ＲＡＩＤレベルを決定する際の判定基準などは一例であり、本実施例２に記載していない構成や方法を採用したものであってもよい。
【００６９】
また本実施例２の説明で示したディスク１９＿１〜１９＿Ｎは、ハードディスクドライブなどの磁気ディスクドライブや、ＤＶＤなどの光ディスクドライブ、ＭＯなどの光磁気ディスクドライブ、あるいは半導体メモリなどで構成されたものであってもよい。
【００７０】
以上より、データごとに最適なＲＡＩＤレベルを選択してディスクに格納する際、データごとに付加されている情報を利用し、ホストコンピュータの内部処理によってＲＡＩＤレベルを設定することで、本発明の実施例１のようにデータ格納のたびにＲＡＩＤレベルを選択する必要がなく、一旦ＲＡＩＤレベルを決定しておき、そのデータの情報として記憶させておくことで、２回目以降のデータ格納処理が高速に行うことが可能となる。
【産業上の利用可能性】
【００７１】
本発明にかかるディスクアレイ装置およびＲＡＩＤレベル設定方法は、ディスクアレイ装置にデータを格納する際に、あらかじめデータごとに付加されている情報を利用することで、データごとに適切なＲＡＩＤレベルを高速に選択し、格納することの出来るディスクアレイ装置等として有用である。
【図面の簡単な説明】
【００７２】
【図１】本発明の実施例１におけるディスクアレイ装置の全体構成図
【図２】本発明の実施例１における記憶装置内のデータ格納領域の概略を示した図
【図３】本発明の実施例１における情報認識部の処理フローを示した図
【図４】本発明の実施例１におけるＲＡＩＤレベル選択部の処理フローを示した図
【図５】本発明の実施例２におけるディスクアレイ装置の全体構成図
【図６】本発明の実施例２におけるホストコンピュータの処理フローを示した図
【図７】従来のディスクアレイ装置の全体構成図
【符号の説明】
【００７３】
１  ディスクアレイ装置
２  ホストコンピュータ
１１  ホストＩ／Ｆ
１２  ＣＰＵ
１３  メモリＩ／Ｆ
１４  メモリ
１５  情報認識部
１６  ＲＡＩＤレベル選択部
１７  ＲＡＩＤコントロール部
１８＿１〜１８＿Ｎ  ディスクＩ／Ｆ
１９＿１〜１９＿Ｎ  ディスク
２１  ＣＰＵ
２２  プログラム格納部
１０１  ディスクアレイ装置
１０２  ホストコンピュータ
１１１  ホストＩ／Ｆ
１１２  ＣＰＵ
１１３  ＲＡＩＤレベル設定回路
１１４  アレイコントローラ
１１５＿１〜１１５＿５  デバイスＩ／Ｆ
１１６＿１〜１１６＿５  ディスクドライブ
１２１  ＲＡＩＤ切り替え指示信号
１２２  ＲＡＩＤレベル信号
【図１】
2006134026.tif 000004
【図２】
2006134026.tif 000005
【図３】
2006134026.tif 000006
【図４】
2006134026.tif 000007
【図５】
2006134026.tif 000008
【図６】
2006134026.tif 000009
【図７】
2006134026.tif 000010