(57)【要約】【課題】  性能に特化した階層制御や消費電力は落ちるが性能も落ちるデバイス制御はあったが、今日のデータセンタでの消費電力問題の答える低消費電力でかつ性能低下の少ないストレージシステムが必要となっている。【解決手段】  消費電力は少ないが書込み性能やデバイス寿命に不利のある記憶デバイスを混在させそれら複数の記憶階層を好適に制御し、データの属性やボリュームに指定されるポリシーに対応した記憶階層を割り当てることで、課題を解決する。その際に、これまで、管理されなかった、デバイスへの書込み回数や消去回数などの寿命に影響あるパラメータと装置内の消費電力を管理し、記憶階層の移行を好適に制御する。【効果】  本発明に従って、ユーザの要求する低消費電力でかつ性能低下の無いストレージシステムが利用可能。【選択図】  図６
2007115232.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータ、および、データを記憶する記憶媒体としての１または複数のハードディスク、と接続される接続部と、前記ホストコンピュータからライト要求のあったデータを記憶し前記ハードディスクとは異なる種類の記憶媒体である１または複数の不揮発記憶媒体と、前記ホストコンピュータからのライト要求およびリード要求を前記ハードディスクまたは前記不揮発記憶媒体を使用して処理する処理部と、前記処理部が使用する制御情報を記憶するメモリ部と、を備えたストレージ制御装置であって、
前記１または複数のハードディスクは、単体、あるいは、制御部を有するディスクアレイ装置の一部として設けられ、
前記メモリ部に記憶された前記制御情報は、個々の前記記憶媒体ごとの識別子とそれぞれの前記記憶媒体の使用状況に関する情報を関連付けた使用状況管理テーブルであり、
前記メモリ部は、さらに、前記使用状況に関する情報に対する各閾値を記憶し、
前記処理部は、前記メモリ部に記憶された前記使用状況管理テーブルおよび前記各閾値を参照し、前記使用状況に関する情報のいずれかが前記閾値を超えた場合に、その閾値を超えたいずれかの種類の前記記憶媒体のデータを他方の種類の前記記憶媒体に移行する
ことを特徴とするストレージ制御装置。
【請求項２】
前記不揮発記憶媒体は、フラッシュメモリであることを特徴とする請求項１に記載のストレージ制御装置。
【請求項３】
前記不揮発記憶媒体は、強誘電体メモリであることを特徴とする請求項１に記載のストレージ制御装置。
【請求項４】
前記不揮発記憶媒体は、相変化メモリであることを特徴とする請求項１に記載のストレージ制御装置。
【請求項５】
前記処理部は、直接または前記ディスクアレイ装置の制御部を介して、ＭＡＩＤ（Massive Array of Idle Disks）技術によって前記ハードディスクを回転および停止させることを特徴とする請求項１に記載のストレージ制御装置。
【請求項６】
前記ハードディスクは、ＳＣＳＩ（Small Computer System Interface）ディスクおよびＡＴＡ（AT Attachment）ディスクのうち少なくとも一方から構成されていることを特徴とする請求項５に記載のストレージ制御装置。
【請求項７】
請求項１に記載のストレージ制御装置であって、
前記不揮発記憶媒体は、前記ハードディスクよりも書換え可能回数が少なく、
前記使用状況管理テーブルは、それぞれの前記記憶媒体の使用状況に関する情報として書換え回数を含んでおり、
前記メモリ部は、前記閾値として前記書換え回数に関する閾値を記憶し、
前記処理部は、前記メモリ部に記憶された前記使用状況管理テーブルおよび前記書換え回数に関する閾値を参照し、前記書換え回数に関する閾値を超えた前記不揮発記憶媒体のデータを前記ハードディスクに移行する
ことを特徴とするストレージ制御装置。
【請求項８】
請求項１に記載のストレージ制御装置であって、
前記ハードディスクは、前記不揮発記憶媒体よりもデータのリードあるいはライトの応答速度が遅く、
前記使用状況管理テーブルは、それぞれの前記記憶媒体の使用状況に関する情報として
データのリードあるいはライトの使用回数を含んでおり、
前記メモリ部は、前記閾値として前記使用回数に関する閾値を記憶し、
前記処理部は、前記メモリ部に記憶された前記使用状況管理テーブルおよび前記使用回数に関する閾値を参照し、その閾値を超えたいずれかの種類の前記記憶媒体のデータを他方の種類の前記記憶媒体に移行する
ことを特徴とするストレージ制御装置。
【請求項９】
請求項１に記載のストレージ制御装置であって、
前記使用状況管理テーブルは、それぞれの前記記憶媒体の使用状況に関する情報として不良領域数を含んでおり、
前記メモリ部は、前記閾値として前記不良領域数に関する閾値を記憶し、
前記処理部は、前記メモリ部に記憶された前記使用状況管理テーブルおよび前記不良領域数に関する閾値を参照し、前記不良領域数に関する閾値を超えたいずれかの種類の前記記憶媒体のデータを他方の種類の前記記憶媒体に移行する
ことを特徴とするストレージ制御装置。
【請求項１０】
請求項１に記載のストレージ制御装置であって、
前記処理部は、データを移行する先の他方の種類の前記記憶媒体が前記不揮発記憶媒体である場合、前記ハードディスクにおけるある領域を一時記憶領域として確保して、移行するデータを前記一時記憶領域に一部ずつ順次コピーし、そのデータの移行処理中に前記ホストコンピュータからそのデータの一部に関するリード要求を受けたとき、移行元の前記記憶媒体の該当データを前記ホストコンピュータに返送し、移行先の前記記憶媒体へのデータ移行を非同期で一部ずつ順次処理する
ことを特徴とするストレージ制御装置。
【請求項１１】
請求項１に記載のストレージ制御装置であって、
前記処理部は、データを移行する先の他方の種類の前記記憶媒体が前記不揮発記憶媒体である場合、前記ハードディスクにおけるある領域を一時記憶領域として確保して、移行するデータを前記一時記憶領域に一部ずつ順次コピーし、そのデータの移行処理中に、前記ホストコンピュータからそのデータの一部に関するリード要求を受け、前記不揮発記憶媒体においてそのデータの一部に対応する新データが前記ホストコンピュータからのライト要求によってすでに書込まれていたとき、その新データをホストコンピュータに返送する
ことを特徴とするストレージ制御装置。
【請求項１２】
請求項１に記載のストレージ制御装置であって、
前記処理部は、データを移行する先の他方の種類の前記記憶媒体が前記不揮発記憶媒体である場合、前記ハードディスクにおけるある領域を一時記憶領域として確保して、データの移行処理中に、前記ホストコンピュータから移行中のデータの一部に関するライト要求を受けたとき、そのライト要求のあった新データを前記一時記憶領域に格納し、前記したデータの移行処理の終了後に、前記一時記憶領域の新データを前記不揮発記憶媒体に反映する
ことを特徴とするストレージ制御装置。
【請求項１３】
請求項１に記載のストレージ制御装置であって、
前記使用状況管理テーブルは、それぞれの前記記憶媒体の使用状況に関する情報として消去処理エラー回数を含んでおり、
前記メモリ部は、前記閾値として前記消去処理エラー回数に関する閾値を記憶し、
前記処理部は、前記メモリ部に記憶された前記使用状況管理テーブルおよび前記消去処理エラー回数に関する閾値を参照し、前記消去処理エラー回数に関する閾値を超えた前記記憶媒体のデータを他の前記記憶媒体に移行する
ことを特徴とするストレージ制御装置。
【請求項１４】
請求項１に記載のストレージ制御装置であって、
前記使用状況管理テーブルは、それぞれの記憶媒体の使用状況に関する情報として平均消去時間を含んでおり、
前記メモリ部は、前記閾値として前記平均消去時間に関する閾値を記憶し、
前記処理部は、前記メモリ部に記憶された前記使用状況管理テーブルおよび前記平均消去時間に関する閾値を参照し、前記平均消去時間に関する閾値を超えたいずれかの種類の前記記憶媒体のデータを他方の種類の前記記憶媒体に移行する
ことを特徴とするストレージ制御装置。
【請求項１５】
複数の請求項１に記載のストレージ制御装置と、その複数のストレージ制御装置と接続された管理端末と、を備えたデータ管理システムであって、
前記管理端末は、管理端末処理部と管理端末記憶部を有し、
前記管理端末記憶部は、前記ストレージ制御装置ごとの一定時間あたりの電力消費量を含んだ全体情報テーブルと、複数の前記ストレージ制御装置の全体の一定時間あたりの電力消費量の閾値と、を記憶し、
前記管理端末処理部は、前記全体情報テーブルを参照して前記複数のストレージ制御装置の全体の一定時間あたりの電力消費量を算出し、その算出した電力消費量が前記全体の一定時間あたりの電力消費量の閾値を超えた場合には、複数の前記ストレージ制御装置の全体の一定時間あたりの電力消費量が低減するように、前記ストレージ制御装置の内部、
あるいは、複数の前記ストレージ制御装置の間で記憶媒体間のデータ移行を行う
ことを特徴とするデータ管理システム。
【請求項１６】
前記全体情報テーブルは、それぞれの前記ストレージ制御装置における低消費電力の記憶媒体の空き容量を含んでいることを特徴とする請求項１５に記載のデータ管理システム。
【請求項１７】
ホストコンピュータ、および、データを記憶する記憶媒体としての１または複数のハードディスク、と接続され、前記ホストコンピュータからライト要求のあったデータを記憶し前記ハードディスクとは異なる種類の記憶媒体である１または複数の不揮発記憶媒体と、前記ホストコンピュータからのライト要求およびリード要求を前記ハードディスクまたは前記不揮発記憶媒体を使用して処理する処理部と、前記処理部が使用する制御情報を記憶するメモリ部と、を備えたストレージ制御装置によるデータ管理方法であって、
前記１または複数のハードディスクは、単体、あるいは、制御部を有するディスクアレイ装置の一部として設けられ、
前記メモリ部に記憶された前記制御情報は、個々の前記記憶媒体ごとの識別子とそれぞれの前記記憶媒体の使用状況に関する情報を関連付けた使用状況管理テーブルであり、
前記メモリ部は、さらに、前記使用状況に関する情報に対する各閾値を記憶し、
前記処理部は、前記メモリ部に記憶された前記使用状況管理テーブルおよび前記各閾値を参照し、前記使用状況に関する情報のいずれかが前記閾値を超えた場合に、その閾値を超えたいずれかの種類の前記記憶媒体のデータを他方の種類の前記記憶媒体に移行する
ことを特徴とするデータ管理方法。
【請求項１８】
前記不揮発記憶媒体は、フラッシュメモリであることを特徴とする請求項１７に記載のデータ管理方法。
【請求項１９】
前記不揮発記憶媒体は、前記ハードディスクよりも書換え可能回数が少なく、
前記使用状況管理テーブルは、それぞれの前記記憶媒体の使用状況に関する情報として書換え回数を含んでおり、
前記メモリ部は、前記閾値として前記書換え回数に関する閾値を記憶し、
前記処理部は、前記メモリ部に記憶された前記使用状況管理テーブルおよび前記書換え回数に関する閾値を参照し、前記書換え回数に関する閾値を超えた前記不揮発記憶媒体のデータを前記ハードディスクに移行する
ことを特徴とする請求項１７に記載のデータ管理方法。
【請求項２０】
前記ハードディスクは、前記不揮発記憶媒体よりもデータのリードあるいはライトの応答速度が遅く、
前記使用状況管理テーブルは、それぞれの前記記憶媒体の使用状況に関する情報として
データのリードあるいはライトの使用回数を含んでおり、
前記メモリ部は、前記閾値として前記使用回数に関する閾値を記憶し、
前記処理部は、前記メモリ部に記憶された前記使用状況管理テーブルおよび前記使用回数に関する閾値を参照し、その閾値を超えたいずれかの種類の前記記憶媒体のデータを他方の種類の前記記憶媒体に移行する
ことを特徴とする請求項１７に記載のデータ管理方法。
【請求項２１】
ストレージ制御装置であって、  
ホストコンピュータ、および、データを記憶する記憶媒体としての１または複数のディスク装置と接続される接続部と、
前記ホストコンピュータからライト要求のあったデータを記憶する前記ディスク装置とは異なる種類の記憶媒体である不揮発記憶媒体と、
前記ホストコンピュータからのライト要求およびリード要求を前記ディスク装置または前記不揮発記憶媒体を使用して処理する処理部と、
ユーザがあるデータについて指定する記憶媒体の性能に関する識別情報を格納する指定テーブルと、前記記憶媒体の性能と前記記憶媒体とを関連付けた記憶媒体管理テーブルと、前記記憶媒体ごとの識別子とそれぞれの前記記憶媒体の使用状況に関する情報を関連付けた使用状況管理テーブルとを記憶するメモリ部とを有し、
前記処理部は、前記ホストコンピュータから前記あるデータを受信した場合、前記指定テーブルを参照して前記あるデータについての前記ユーザの指定を判定し、前記記憶媒体管理テーブルを参照して前記あるデータについて前記ユーザの指定に適合する性能を有する記憶媒体を選択し、前記使用状況管理テーブルを参照して、前記選択した記憶媒体が使用可能であるか否かを判定し、前記選択した記憶媒体が使用可能なとき、前記あるデータを、前記選択した記憶媒体に格納することを特徴とするストレージ制御装置。
【請求項２２】
請求項２１に記載のストレージ制御装置であって、
前記処理部は、前記ユーザから前記あるデータを格納する論理記憶領域を作成する指示を受信した場合、前記指定テーブルおよび前記記憶媒体管理テーブルを参照し、前記あるデータを格納する論理記憶領域について前記ユーザの指定に適した記憶媒体を選択し、前記使用状況管理テーブルを参照して、前期選択した記憶媒体が使用可能であるか否かを判定し、前記選択した記憶媒体が使用可能なとき、前記記憶媒体を用いて前記あるデータを格納する論理記憶領域を作成し、該論理記憶領域に前記あるデータを格納することを特徴とするストレージ制御装置。
【請求項２３】
請求項２１に記載のストレージ制御装置であって、
前記不揮発記憶媒体は、フラッシュメモリであることを特徴とするストレージ制御装置。
【請求項２４】
請求項２１に記載のストレージ制御装置であって、
前記指定テーブルに格納される前記記憶媒体の性能に関する識別情報は、前記あるデータの容量、リード頻度、ライト頻度、WORM(Write Once Read Many)の有無、のいずれかに関する情報であることを特徴とするストレージ制御装置。
【請求項２５】
請求項２１に記載のストレージ制御装置であって、
前記指定テーブルには、前記ユーザにより優先順位が付与された、複数の前記記憶媒体の性能に関する識別情報が格納され、
前記処理部は、前記ホストコンピュータから前記あるデータを受信した場合、前記指定テーブルおよび前記記憶媒体管理テーブルを参照し、前記優先順位の順に、前記あるデータについて前記ユーザが指定に適した記憶媒体を選択し、前記使用状況管理テーブルを参照して、前期選択した記憶媒体が使用可能であるか否かを判定し、前記選択した記憶媒体が使用可能なとき、前記あるデータを、前記選択した記憶媒体に格納することを特徴とするストレージ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを１または複数のハードディスク装置や他の記憶媒体に格納するストレージ制御装置などにおいて消費電力を低減させる技術に関する。記憶装置、特にデータを１つ又は複数のディスク装置または記憶媒体に格納するストレージ制御装置及び複数のストレージ制御装置やテープライブラリ制御装置、光ディスクライブラリ制御装置、半導体ディスク制御装置などのソリッドステートディスク装置、フラッシュメモリに代表される不揮発メモリを利用したストレージ装置などから構成されるストレージシステムに関する。
【背景技術】
【０００２】
近年、データセンタなどの情報ビジネスの現場において、ストレージシステム（ストレージ制御装置やハードディスク装置などの総称）の総所有コスト（ＴＣＯ：Total Cost of Ownership）の削減がますます重要になってきている。その一方、データを長期的かつ確実に記憶する要求も高まっている。たとえば、金融機関や医療機関などの文書データは、消去せずに蓄積されることが法律（個人情報保護法など）によって義務付けられているものもある。
【０００３】
こうした背景においては、高信頼性で大容量のストレージシステムが必要となる。そして、ハードディスクドライブ（以降ではＨＤＤという）を用いた大規模なストレージシステムでは、一般に、記憶媒体の容量にほぼ比例して電力消費量が増大する。つまり、大容量のストレージシステムを所有することは、電気料金が含まれる総所有コストの上昇につながってしまう。
【０００４】
こうした状況に鑑み、大量の情報を蓄積し、さらに場合によっては当該データ（情報）を長期に保存する必要があるときに、格納データに求められる様々な要求を考慮して適切な格納位置にデータを格納することが、ストレージシステム全体の総所有コスト、特に、電力消費量に代表されるランニングコストの低減に有効である。
【０００５】
一方、近年、不揮発記憶媒体として、フラッシュメモリなどが注目されている。たとえば、フラッシュメモリは、一般にＨＤＤと比較し、消費電力が数十分の一であり、また、高速に読み出しが可能である。さらに、フラッシュメモリは、ＨＤＤのように機械的な駆動部分が不要なため小型であり、故障に対する耐性も一般的には高い。
【０００６】
しかし、フラッシュメモリは、情報を保持するセルの物理的な理由により、書込み回数に制限がある。こうした制限に対し、上位装置に示すアドレスとセル位置との対応をもち、各セルに書込まれる回数を均等化するように制御を行う、いわゆるウェアレベリング調整と呼ばれる技術などにより、フラッシュメモリの書込み可能回数の向上が図られている。
【０００７】
なお、以降では、情報を保持するための素子としてフラッシュメモリを例にとり、前記のウェアレベリング調整や、上位装置に対するプロトコル処理などを行う機構を含めたものを「フラッシュメモリデバイス」という。また、情報を保持するための素子を「フラッシュメモリ」という。
【０００８】
そして、こういった技術により、フラッシュメモリデバイスとしての書込み回数制限に対する効率化（素子レベルでの記憶領域の分散など）が図られているものの、フラッシュメモリデバイスの書込み回数制限は依然存在している。また、フラッシュメモリは、データを書込む際に消去が必要な場合、書込み速度がＨＤＤと同程度なってしまうという欠点もある。
【０００９】
そこで、以上で述べた特徴をもつフラッシュメモリをストレージシステムに応用するために、たとえば、非特許文献１では、従来の格納データに求められる様々な要求として、書込み性能や信頼性、コストを観点として、適切な格納位置にデータを格納する技術が開示されている。
【００１０】
また、低消費電力のストレージシステムを実現するために、たとえば、特許文献１および非特許文献２では、ＭＡＩＤ（Massive  Array  of  Idle  Disks）に関する技術が開示されている。
【００１１】
【特許文献１】米国特許出願公開第２００４／００５４９３９号明細書
【非特許文献１】John Wilkes, Richard Golding, Carl Staelin, and Tim Sullivan, "The HPAutoRAID hierarchical storage system", Transactions on Computer Systems (TOCS) archive, America ,ACM（Association for Computing Machinery）, February 1996, Volume 14, Issue １, ISSN:0734-2071, Pages: 108-136
【非特許文献２】Dennis Colarelli, Dirk Grunwald, and Michael Neufeld 、“The Case for Massive Arrays of Idle Disks (MAID)”、[online]、平成14年１月7日、USENIX（米国）、[平成17年8月5日検索]、インターネット＜URL：http://www.usenix.org/publications/library/proceedings/fast02/wips/colarelli.pdf ＞
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、非特許文献１の技術では、フラッシュメモリをストレージシステムに利用するときに、利用している記憶媒体ごとに書換え回数、書込み速度、消費電力などの差異があるという点を考慮しておらず、適切な制御ができないという問題があった。
【００１３】
また、特許文献１および非特許文献２の技術では、ストレージシステムにおいて、ＭＡＩＤ技術の適用先を限定するため、低消費電力と高性能の維持を両立できないという問題があった。そこで、上述した従来の技術では解決されていない、高性能を維持しつつ消費電力も抑えられることでシステム全体として最適化が行える計算機システムを実現する。特に、データセンタなどにおいて必要とされている低消費電力の実現とともに、アクセス性能の確保を実現する。
【課題を解決するための手段】
【００１４】
前記課題を解決するために、本発明は、ホストコンピュータ、および、データを記憶する記憶媒体としての１または複数のハードディスク、と接続され、前記ホストコンピュータからライト要求のあったデータを記憶し前記ハードディスクとは異なる種類の記憶媒体である１または複数の不揮発記憶媒体と、前記ホストコンピュータからのライト要求およびリード要求を前記ハードディスクまたは前記不揮発記憶媒体を使用して処理する処理部と、前記処理部が使用する制御情報を記憶するメモリ部と、を備えたストレージ制御装置であって、前記１または複数のハードディスクは、単体、あるいは、制御部を有するディスクアレイ装置の一部として設けられ、前記メモリ部に記憶された前記制御情報は、個々の前記記憶媒体ごとの識別子とそれぞれの前記記憶媒体の使用状況に関する情報を関連付けた使用状況管理テーブルであり、前記メモリ部は、さらに、前記使用状況に関する情報に対する各閾値を記憶し、前記処理部は、前記メモリ部に記憶された前記使用状況管理テーブルおよび前記各閾値を参照し、前記使用状況に関する情報のいずれかが前記閾値を超えた場合に、その閾値を超えたいずれかの種類の前記記憶媒体のデータを他方の種類の前記記憶媒体に移行することを特徴とする。その他の手段については後記する。
【発明の効果】
【００１５】
本発明によれば、ストレージシステムにおいて、低消費電力と高性能の維持を実現することができる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照して、本発明の実施形態に係るストレージシステムＳなどについて詳細に説明する。
【実施例１】
【００１７】
図１は、ストレージシステムを含めた全体構成図である。ストレージシステムＳは、ストレージ制御装置１０１およびＨＤＤ（ハードディスクドライブ）１１０を備えて構成される。ストレージ制御装置１０１は、チャネル１１４を通じて、一般にＳＡＮ（Storage Area Network）スイッチなどから構成されるＳＡＮ１０３を介して、１台または複数（ここでは２台）のホストコンピュータ１０２と接続される。
【００１８】
また、ストレージ制御装置１０１は、ディスク側チャネル１１１を通じてデータを格納する複数のＨＤＤ１１０と接続されている。ストレージ制御装置１０１は、複数のチャネル制御部（接続部）１０４と、複数のキャッシュメモリ（メモリ部）１１３、制御情報格納領域（メモリ部）１１７と、複数のディスク制御部（接続部）１０５、複数のＦＭ制御部１０６と、これらを内部パス１１５を介して接続する相互結合部１０７を備えている。
【００１９】
チャネル制御部１０４は、チャネル１１４を通じてホストコンピュータ１０２からの入出力要求を受け取り、この入出力要求の要求種類（たとえば、ＨＤＤ１１０などに対するデータのリード要求やライト要求）やその対象アドレスなどを解釈し、各種処理を行う。
【００２０】
キャッシュメモリ１１３は、ＨＤＤ１１０やＦＭ制御部１０６内のフラッシュメモリ３０６（不揮発記憶媒体：詳細は後記）に格納されるべきデータや、ホストコンピュータ１０２に送信すべきデータを一時的に格納するものである。また、制御情報格納領域１１７は、ストレージシステムＳの制御情報などを格納する領域であり、たとえば、ＲＡＭ（Random Access Memory）などのメモリにより構成される。
【００２１】
なお、キャッシュメモリ１１３および制御情報格納領域１１７は、それぞれ、格納する情報の種類ごとに物理的に異なるメモリを用意してもよいし、論理的に使い分けてもよい。
【００２２】
ディスク制御部１０５は、チャネル制御部１０４などの要求に基づき、ディスク側チャネル１１１を通じてＨＤＤ１１０の制御を行い、ホストコンピュータ１０２から要求されたデータの取り出しや格納を行う。その際、ディスク制御部１０５がＨＤＤ１１０に対してＲＡＩＤ（Redundant Arrays of Inexpensive Disks：複数のＨＤＤを管理する技術）による制御を行い、ストレージシステムＳの信頼性、可用性および性能を向上させるようにしてもよい。
【００２３】
ＦＭ制御部１０６は、その内部にあるフラッシュメモリ３０６（詳細は図３で後記）またはフラッシュメモリデバイス（詳細は図４、図５で後記）の制御を行う。ＦＭ制御部１０６は、チャネル制御部１０４などの要求に基づき、フラッシュメモリ３０６またはフラッシュメモリデバイスにおいて、ホストコンピュータ１０２から要求されたデータの取り出しや格納を行う。その際、ＦＭ制御部１０６がフラッシュメモリデバイスに対してＲＡＩＤ制御を行い、ストレージシステムＳの信頼性、可用性および性能を向上させるようにしてもよい。なお、本実施例では、ストレージシステムはＨＤＤ１１０と接続されているが、ＨＤＤ１１０ならびにディスク制御部１０５を持たない構成でもよい。
【００２４】
次に、図２を参照しながら、チャネル制御部１０４の構成について説明する（適宜図１参照）。図２は、チャネル制御部１０４の構成を示したブロック図である。チャネル制御部１０４は、ＭＰ（マイクロプロセッサ）部（処理部）２２０、複数のチャネルプロトコル処理部２０４および内部ネットワークインタフェース部２０５を備えて構成される。ＭＰ部２２０は、複数のプロセッサ２０１、メモリモジュール２０２および周辺処理部２０３を有している。
【００２５】
プロセッサ２０１は、バス等の接続手段で周辺処理部２０３に接続される。周辺処理部２０３は、メモリモジュール２０２に接続され、メモリモジュール２０２の制御を行う。
また、周辺処理部２０３は、制御系バス２１５を介して、チャネルプロトコル処理部２０４および内部ネットワークインタフェース部２０５にも接続される。
【００２６】
周辺処理部２０３は、接続されるプロセッサ２０１、チャネルプロトコル処理部２０４および内部ネットワークインタフェース部２０５からのパケット（データ）を受け、パケットの示す転送先アドレスがメモリモジュール２０２上ならばそれに応じた処理を行い、必要ならばデータを内部ネットワークインタフェース部２０５に返す。また、周辺処理部２０３は、転送先アドレスがメモリモジュール２０２以外ならば、適切なフォワーディング（データの転送）を行う。また、周辺処理部２０３は、ＬＡＮ（Local Area Network）などの内部通信ネットワーク２２１によりストレージ制御装置１０１における他の手段（ディスク制御部１０５など）と接続されている（図６で後記）。
【００２７】
メモリモジュール２０２は、周辺処理部２０３に接続されるプロセッサ２０１同士が通信を行うためのメールボックス２１３を持つ。プロセッサ２０１は、周辺処理部２０３を通してメモリモジュール２０２にアクセスし、メモリモジュール２０２に格納された制御プログラム２１２に基づいて処理を行う。
【００２８】
また、メモリモジュール２０２には、チャネルプロトコル処理部２０４がＤＭＡ（Direct Memory access：プロセッサ２０１を介さずにデータ転送を行う方式）を行うための転送リスト２１４も格納されている。チャネルプロトコル処理部２０４は、チャネル１１４上のプロトコル制御を行い、ホストコンピュータ１０２から受けたデータを、ストレージシステムＳ内部で処理ができるようなプロトコル方式に変換する。具体的には、チャネルプロトコル処理部２０４は、チャネル１１４を通じてホストコンピュータ１０２からの入出力要求を受けると、その入出力要求のホストコンピュータ番号やＬＵＮ（Logical Unit Number：ＨＤＤ１１０におけるLogical Unit（図７の論理ボリュームＩＤ７０１に対応する記憶領域の単位）の識別子）やアクセス先アドレスなどをプロセッサ２０１に通知する。
【００２９】
プロセッサ２０１は、そのチャネルプロトコル処理部２０４からの通知に基づき、制御情報格納領域１１７上のディレクトリ情報や、もしくは、メモリモジュール２０２上に複製し展開した該ディレクトリ情報にアクセスし、入出力要求のデータを格納すべきアドレスまたは入出力要求のデータが存在する場合は、メモリモジュール２０２上に転送リスト２１４を作成する。その転送リスト２１４に基づき、チャネルプロトコル処理部２０４はデータの転送を行う。
【００３０】
ホストコンピュータ１０２からリード要求のあったデータがキャッシュメモリ１１３上にない場合で、ＨＤＤ１１０に格納されているとき、プロセッサ２０１は、ディスク制御部１０５に、ＨＤＤ１１０に格納されている要求データをキャッシュメモリ１１３に格納する（この動作をステージングという）ように指示を与えた後、転送リスト２１４によりそのデータを転送する。
【００３１】
ホストコンピュータ１０２からリード要求のあったデータがフラッシュメモリ（フラッシュメモリ３０６など：図３〜図５で後記）上に格納されているとき、プロセッサ２０１は、フラッシュメモリのアドレスを転送リスト２１４にセットする。転送リスト２１４は、キャッシュメモリ１１３もしくはフラッシュメモリ上のアドレスのリストになっている。
【００３２】
ホストコンピュータ１０２からデータのライト要求があったとき、チャネルプロトコル処理部２０４は、内部パス１１５を介して接続された内部ネットワークインタフェース部２０５を通じ、ホストコンピュータ１０２からのデータを転送リスト２１４に記載されたアドレスに書込んでいく。また、ホストコンピュータ１０２からデータのリード要求があったとき、チャネルプロトコル処理部２０４は、同様に、転送リスト２１４に記載されたアドレスからデータを読込み、それをホストコンピュータ１０２に返す。
【００３３】
内部ネットワークインタフェース部２０５は、チャネル制御部１０４内と他のストレージシステムＳ内部とで、内部パス１１５を経て通信を行う際の、インタフェースとなるものである。
【００３４】
ディスク制御部１０５は、チャネル制御部１０４とほぼ同じ構造を持つ。ただし、ディスク制御部１０５は、制御プログラム２１２に対応する部分の内容が異なり、また、チャネルプロトコル処理部２０４に対応する部分はＨＤＤ１１０と通信を行う。
【００３５】
なお、チャネル１１４とディスク側チャネル１１１のプロトコルは異なってもよい。しかし、ディスク側チャネル１１１上のプロトコル処理を行い、ストレージシステムＳ内部で処理が出来るように変換するという点で、ディスク制御部１０５におけるチャネルプロトコル処理部２０４に対応する部分は、チャネル制御部１０４のチャネルプロトコル処理部２０４と同様である。
【００３６】
プロセッサ２０１は、チャネル制御部１０４からの要求により、あるいは、一定時間間隔で、キャッシュメモリ１１３上にデータが存在している場合、キャッシュメモリ１１３上のデータをＨＤＤ１１０に書込む。また、プロセッサ２０１は、キャッシュメモリ１１３上にデータが存在していない場合は、チャネル制御部１０４からの指示を受け、ＨＤＤ１１０からデータを読込み、キャッシュメモリ１１３にそのデータを書込む。
【００３７】
プロセッサ２０１は、制御情報格納領域１１７に格納されたディレクトリ情報にアクセスし、ホストコンピュータ１０２の要求するデータを読み出すべき、または、格納すべきキャッシュメモリ１１３のメモリアドレスを検索する。
【００３８】
そして、要求されたデータがキャッシュメモリ１１３上に存在しない場合や、要求されたデータを格納するため空き領域を作るべく、すでにあるデータをＨＤＤ１１０に格納する場合（この動作をデステージと呼ぶ）、ディスク制御部１０５は、ディスク側チャネル１１１を通じてＨＤＤ１１０を制御する。その際、ＨＤＤ１１０全体としての可用性および性能を向上させるため、ディスク制御部１０５は、ＨＤＤ１１０群に対してＲＡＩＤ制御を行うようにしてもよい。
【００３９】
続いて、図３を参照しながら、ＦＭ制御部１０６の構成について説明する（適宜図１、図２参照）。図３は、ＦＭ制御部１０６の構成を示したブロック図である。ＦＭ制御部１０６は、内部ネットワークインタフェース部３０１、ＤＭＡ制御を行うＤＭＡコントローラ３０２、揮発メモリであるメモリモジュール３０４、メモリモジュール３０４の制御を行うメモリコントローラ３０３、不揮発性の記憶素子であるフラッシュメモリ（ＦＭ）３０６、および、フラッシュメモリ３０６を制御するメモリコントローラ３０５を備えて構成される。
【００４０】
内部ネットワークインタフェース部３０１は、ＦＭ制御部１０６内と他のストレージ制御装置１０１内部とで、内部パス１１５を経て通信を行う際の、インタフェースとなるものである。
【００４１】
メモリモジュール３０４は、ＦＭ制御部１０６におけるＤＭＡのための転送リスト３０８を有している。
【００４２】
ＦＭ制御部１０６内のＤＭＡコントローラ３０２は、ホストコンピュータ１０２からのライト要求を処理する際などに、キャッシュメモリ１１３に空き領域を作る場合、チャネル制御部１０４のプロセッサ２０１がセットする転送リスト２１４により、キャッシュメモリ１１３からフラッシュメモリ３０６へデータの転送を行う。
【００４３】
メモリコントローラ３０５は、内部パス１１５を通してなされたチャネル制御部１０４からの読込み要求や、ＤＭＡコントローラ３０２の書込み要求により、フラッシュメモリ３０６を制御しデータのやり取りを行う。また、メモリコントローラ３０５はフラッシュメモリ３０６の使用に関する情報を記憶領域３０７に記憶し、記憶領域３０７に記憶された情報は使用状況管理テーブル８００（図８で後記）の作成に利用される。
【００４４】
なお、フラッシュメモリ３０６の代わりに、強誘電体メモリ（強誘電体を利用した不揮発メモリ：ＦｅＲＡＭ（Ferroelectric Random Access Memory））や相変化メモリ（非結晶（アモルファス）状態が変化（相変化）することを利用してデータを記録する不揮発メモリ：ＯＵＭ(Ovonic Unified Memory)など）などを使用してもよい。
【００４５】
次に、図４を参照しながら、ＦＭ制御部１０６の、図３の場合とは異なる構成について説明する（適宜図１〜図３参照）。図４は、ＦＭ制御部１０６の他の構成を示したブロック図である。ここでは、記憶装置としてフラッシュメモリ（ＦＭ）デバイス４０９を用いている。また、図３と同様の構成については、同じ符号を用い、説明を省略する。
【００４６】
フラッシュメモリデバイス４０９は、図３のフラッシュメモリ３０６と同様のフラッシュメモリ（複数も可）、メモリコントローラ３０５（複数も可）、および、ＦＭプロトコル処理部４０７と通信するための手段（不図示）、を含めて構成される記憶装置である。
【００４７】
フラッシュメモリデバイス４０９は、図４で示されるようにＦＭ制御部１０６の内部に存在するが、コネクタ４０８を介してＦＭ制御部１０６と接続されるものであり、脱着が可能となっている。そのため、フラッシュメモリデバイス４０９が故障した際には、交換するのも容易である。なお、フラッシュメモリデバイス４０９を交換するためには、チャネル制御部１０４のプロセッサ２０１が、予めフラッシュメモリデバイス４０９間で冗長構成をとるように、転送リスト２１４をセットしていればよい。
【００４８】
また、フラッシュメモリデバイス４０９自体をより容量の大きなものに交換することも可能である。フラッシュメモリデバイス４０９とのやり取りは、汎用的なプロトコル（たとえばＦＦＳ（Fast File System）など）で行われる。そのため、ＦＭプロトコル処理部４０７にて、ストレージ制御装置１０１内部で処理できる形式に変換を行っている。
【００４９】
ＦＭプロトコル処理部４０７は、フラッシュメモリデバイス４０９の使用に関する情報を記憶領域４１０に記憶し、記憶領域４１０に記憶された情報は使用状況管理テーブル８００（図８で後記）の作成に利用される。
【００５０】
続いて、図５を参照しながら、ＦＭ制御部１０６の、図３および図４の場合とは異なる構成について説明する（適宜図１〜図４参照）。図５は、ＦＭ制御部１０６の他の構成を示したブロック図である。ここでは、フラッシュメモリデバイス４０９をＦＭ側チャネル５１０により接続している。また、図３あるいは図４と同様の構成については、同じ符号を用い、説明を省略する。
【００５１】
ＦＭプロトコル処理部５０７は、ＦＭプロトコル処理部４０７と同様の処理部であり、接続されている複数のフラッシュメモリデバイス４０９の使用に関する情報を記憶領域５０８に記憶する。そして、記憶領域５０８に記憶された情報は、使用状況管理テーブル８００（図８で後記）の作成に利用される。
【００５２】
この構成をとることにより、図４で示したＦＭ制御部１０６の特徴に加え、より多数のフラッシュメモリデバイス４０９を接続でき、大容量のストレージシステムＳを実現することができる。
【００５３】
なお、図３において、フラッシュメモリ３０６の実装形態としては、基板に直接配置することができる。その際、図４のコネクタ４０８やＦＭプロトコル処理部４０７、図５のＦＭ側チャネル５１０などの部品が不要になるので、よりコンパクトにストレージシステムＳを実現することが可能になる。
【００５４】
また、図３において、メモリコントローラ３０５にてそれぞれのフラッシュメモリ３０６に対するウェアレベリング調整などを行ってもよい。さらに、メモリコントローラ３０５にて、フラッシュメモリ３０６に対して行ったアクセスにおいて発生する消去エラー発生回数や不良ブロック数などの情報を統計情報として収集し、フラッシュメモリ３０６の一部もしくは別に設けるフラッシュメモリを使って格納し、プロセッサからの要求により同統計情報を返送する手段を設けておいてもよい。
【００５５】
次に、図６を参照しながら、ストレージ制御装置１０１などにおける情報の流れについて説明する（適宜図１等参照）。図６は、複数のストレージ制御装置１０１が存在する場合の全体構成の一例における情報の流れを模式的に示した図である。なお、図１と同様の構成については、同じ符号を用い、説明を省略する。
【００５６】
複数（ここでは２台）のストレージ制御装置１０１は、ネットワーク６０２を介して管理端末６０１に接続されている。
【００５７】
管理端末６０１は、たとえば一般的なサーバでもよく、基本的には一台ないし複数台のストレージ制御装置１０１からその内部の情報（性能や消費電力量（ストレージ制御装置１０１内部のコンポーネントのもつ基本的な電力消費量を稼働中コンポーネントの数から計算した換算値などでもよい）や障害情報などの統計情報など：詳細は図８〜図１０で後記）を収集し、統合的に管理するものである。
【００５８】
具体的には、管理端末６０１は、ＣＰＵ（Central Processing Unit）などの管理端末処理部（不図示）およびハードディスクなどの管理端末記憶部（不図示）を有している。
そして、管理端末６０１は、情報収集のための手段として一般的な通信用のネットワーク６０２を介し、各ストレージ制御装置１０１にある管理部６０３を通じて、ストレージ制御装置１０１内に格納されている情報、たとえば制御情報格納領域１１７に格納される装置内部情報６０４（図８の使用状況管理テーブル８００など）にアクセスしたり、その装置内部情報６０４を管理部６０３を通じて得ることができる。そして、管理端末６０１は、それぞれのストレージ制御装置１０１から集めた装置内部情報６０４に基いて、情報６０８（たとえば、図１４の全体情報テーブル１４００）を作成する。
【００５９】
ストレージ制御装置１０１の内部において、チャネル制御部１０４およびディスク制御部１０５にはＭＰ部２２０およびＭＰ部１０５１が存在し、また、ＭＰ部２２０,１０５１同士、もしくは、ＭＰ部２２０,１０５１が管理部６０３と通信を行うための内部通信ネットワーク２２１が存在する。
【００６０】
管理部６０３は、内部通信ネットワーク２２１を介して、各ＭＰ部２２０,１０５１が収集する情報や、キャッシュメモリ１１３などで蓄積される構成情報や統計情報などの装置内部情報６０４に直接／間接的にアクセスできる。
【００６１】
管理端末６０１は、収集した情報をあらかじめ定められた判定基準（閾値など）にしたがって、情報の内容に応じた動作を行うことができる。管理端末６０１内の詳細な動作や処理については、以下でストレージ制御装置１０１内部での制御の一例を詳細に説明した後に説明する。
【００６２】
続いて、図７を参照しながら、ＨＤＤ１１０（以下、デバイスともいう）に関するデバイス管理テーブルについて説明する（適宜図１等参照）。図７は、デバイス管理テーブルの一例を示した図である。具体的には、論理ボリューム管理テーブル７００による、ストレージ制御装置１０１内の各記憶デバイス（制御情報格納領域１１７など）の管理と、ホストコンピュータ１０２に見えるアクセス対象の一例としての論理ボリューム（前記したLogical Unitと同様）の管理について説明する。
【００６３】
なお、ここでは、ホストコンピュータ１０２がブロックレベルのアクセスを行うことを一例にあげて説明するが、ホストコンピュータ１０２がファイルレベルのアクセスを行う場合でも、本発明において最終的な記憶階層の制御は各種記憶メディア（ＨＤＤ１１０、フラッシュメモリなど）からなるデバイスレベルにおいて実行されるので、特に異なるもとして扱う必要はない。
【００６４】
つまり、図１において、ＳＡＮ１０３の代わりに、ＮＡＳ（Network Attached Storage：ネットワークに直接接続して使用するファイルサーバ専用機）などが利用する別のネットワーク（たとえば、インターネット）を用いることもできる。
【００６５】
ホストコンピュータ１０２はＨＤＤ１１０に対してデータの読み書きを行うが、そのアクセスは、物理的なＨＤＤ１１０の識別子であるデバイスＩＤではなく、論理ボリュームの識別子である論理ボリュームＩＤに対して行なわれる。
【００６６】
図７に示すように、論理ボリューム管理テーブル７００において、論理ボリュームＩＤ７０１は、その論理ボリュームの識別子であり、ストレージ制御装置１０１内におけるＨＤＤ１１０の論理的なデバイスの識別子である論理デバイスＩＤ７０２と関連付けられている。論理デバイスＩＤ７０２は、さらに仮想的なデバイスの識別子である仮想デバイスＩＤ７０３と関連付けられている。
【００６７】
そして、仮想デバイスＩＤ７０３は、実際の（物理的な）デバイスの識別子であるデバイスＩＤ７０４、および、そのデバイス内の利用領域を示すデバイスエクステント７０５と関連付けられている。ここで、デバイスエクステント７０５は、あるデータ量を格納できる領域の管理単位である。なお、そのデータ量の具体的な数値は、本発明の本質とは関係が無く、特に制限はない。
【００６８】
また、仮想デバイスＩＤ７０３は、一つないし複数のデバイスＩＤ７０４で示されるデバイスの記憶領域の集合体として定義される。
【００６９】
なお、論理ボリューム管理テーブル７００は、すべてのプロセッサ（ＭＰ部２２０、ＭＰ部１０５１）から直接または間接的に参照可能な位置（たとえば、制御情報格納領域１１７）に置かれる。
【００７０】
次に、図８を参照しながら、各デバイスを管理するための使用状況管理テーブルについて説明する（適宜図１等参照）。図８は、使用状況管理テーブルの一例を示した図である。
【００７１】
使用状況管理テーブル８００では、デバイスＩＤ８０１（デバイスＩＤ７０４に対応）を付けたデバイスそれぞれについて、その特性、属性、使用状況に係わる情報を管理する。ここでは、フラッシュメモリのような記憶メディアを管理しているものとして、その特性を管理する上で必要な、使用開始からの総書込み回数８０２、総消去回数８０３、不良ブロック数８０４、不良ブロック増加率８０５、および、平均消去時間８０６が、デバイスＩＤ８０１と関連付けて管理されている。また、特に図示していないが、これらの情報に関する各閾値が、使用状況管理テーブル８００において、あるいは、別のテーブルとして管理されている。
【００７２】
これらの各情報や閾値はデバイスの管理に用いられるものであり、たとえば、平均消去時間８０６が長くなると、そのデバイス（フラッシュメモリ３０６など）の寿命が近いと判断することができる。
【００７３】
また、これらの各情報のほかに、消去処理を失敗した回数（消去処理エラー回数）なども管理し、そのデバイスの寿命管理の判断材料としてもよい。
【００７４】
なお、使用開始からの総書込み回数８０２と総消去回数８０３は、デバイスを初期化したり、デバイスの搭載場所を移し変えたような場合にも、継続して記憶しておく必要がある。
【００７５】
また、使用状況管理テーブル８００では、フラッシュメモリ３０６以外に、使用回数（総書込み回数や総消去回数）、総スピンアップダウン回数やエラー率などがその寿命管理の上で重要なＡＴＡ（AT Attachment）ディスクなどを利用するＭＡＩＤ技術を応用したデバイスもしくは記憶装置についても、管理することができる。
【００７６】
たとえば、図１に示したＨＤＤ１１０が、ＳＣＳＩ（Small Computer System Interface）ディスクとＡＴＡディスク、あるいはＡＴＡディスクのみから構成されている場合、ディスク制御部１０５が、ＭＡＩＤ技術によってＡＴＡディスクの回転と停止を制御するようにしてもよい。
【００７７】
また、ディスク制御部１０５に接続されるのは、ＨＤＤ１１０の単体ではなく、ＨＤＤ１１０と制御部（不図示）を備えたディスクアレイ装置（不図示）であってもよい。その場合、ディスク制御部１０５の指示または制御部（不図示）に備えたＭＡＩＤ技術によって、ＡＴＡディスクの回転と停止を制御することができる。つまり、ＡＴＡディスクは、ＳＣＳＩディスクよりもハード的に脆弱であるため、使用状況管理テーブル８００でフラッシュメモリ３０６などと同様の寿命管理を行うことが望ましい。
【００７８】
したがって、使用状況管理テーブル８００は、ここではフラッシュメモリ用のものとしてその一例を示しているが、たとえばＡＴＡディスクやＡＴＡディスクを利用したＭＡＩＤ技術応用デバイスの場合には、総スピンアップダウン回数や総回転時間、エラー率などを含んでいてもよい。つまり、使用状況管理テーブル８００は、その状況に応じて、記憶メディア、デバイスの寿命管理に関係する情報（総利用時間、エラー率、不良ブロック率、アクセス回数など）を有するものである。
【００７９】
また、使用状況管理テーブル８００は、図７の論理ボリューム管理テーブル７００と同様、すべてのプロセッサ（ＭＰ部２２０、ＭＰ部１０５１）から参照可能な位置に置かれる。
【００８０】
続いて、図９を参照しながら、デバイスに関するリード・ライト回数管理テーブルについて説明する（適宜図１等参照）。図９は、リード・ライト回数管理テーブルの一例を示した図である。
【００８１】
リード・ライト回数管理テーブル９００では、論理ボリュームＩＤ９０１（論理ボリュームＩＤ７０１に対応）と、論理デバイスＩＤ９０２（論理デバイスＩＤ７０２に対応）と、ＲＤ回数（総リード回数）９０３と、ＷＲ回数（総ライト回数）９０４とが、関連付けられている。リード・ライト回数管理テーブル９００は、該当ボリュームもしくはデバイスにアクセスがあるたびに、統計情報として更新がなされる。
【００８２】
また、リード・ライト回数管理テーブル９００は、図７の論理ボリューム管理テーブル７００と同様、すべてのプロセッサ（ＭＰ部２２０、ＭＰ部１０５１）から参照可能な位置に置かれる。
【００８３】
なお、このリード・ライト回数管理テーブル９００は、たとえば、ライトの頻度に比べてリードの頻度がある程度以上大きなデータを、一定時間あたりの消費電力の多いＨＤＤ１１０から一定時間あたりの消費電力の少ないフラッシュメモリに移行する処理（図１１Ａ〜図１３で後記）などにおいて使用されるものである。
【００８４】
また、リード・ライト回数管理テーブル９００とは直接関係ないが、同様の考え方として、ホストコンピュータ１０２などから、ＷＯＲＭ（Write Once Read Many）化、リードオンリー化、あるいは、長期のリテンションピリオド（保持期間）の指定がされた論理ボリュームについては、そのデータを移行（ＨＤＤ１１０からフラッシュメモリ３０６に、など）するようにしてもよい。
【００８５】
次に、図１０を参照しながら、デバイス種別管理テーブルについて説明する（適宜図１等参照）。図１０は、デバイス種別管理テーブルの一例を示した図である。
【００８６】
デバイス種別管理テーブル１０００は、デバイスの種別を示す記憶階層デバイス種１００１と、一定時間あたりの電力消費量１００２と、稼動中のデバイス数を示すアクティブデバイス数１００３と、空き低消費電力デバイスプール数（低消費電力の記憶媒体の空き容量）１００４とが関連付けられている。
【００８７】
記憶階層デバイス種１００１において、「フラッシュ」は、フラッシュメモリ３０６を示す。また、「ＡＴＡ」は、ＭＡＩＤ技術に利用するＨＤＤ１１０の一部あるいは全部であるＡＴＡディスク、あるいは、ＡＴＡディスクを有しＭＡＩＤ技術を利用するディスクアレイ装置がディスク制御部１０５に接続される場合のＡＴＡディスク、もしくは、同ディスクアレイ装置が提供するＡＴＡディスクからなる論理デバイス（論理ボリューム）を示す。さらに、「ＳＣＳＩ」は、ＨＤＤ１１０の一部あるいは全部であるＳＣＳＩディスクを示す。また、「キャッシュ」は、キャッシュメモリ１１３として使用されるＲＡＭを示す。
【００８８】
また、たとえば、空き低消費電力デバイスプール数１００４の単位は、メガバイトやギガバイトなどである。
【００８９】
ストレージ制御装置１０１の総消費電力量は、実際に消費電力を計測する手段（電力計など）を電源部（不図示）に設けて観測、記録する方法によっても知ることができるが、このデバイス種別管理テーブル１０００を利用して概算値を算出するようにすれば、電力計などを設ける必要がなくなる。
【００９０】
つまり、コンポーネントの動作状態はストレージ制御装置１０１が把握しているので、少なくともその情報を統計情報として管理しておけば、総消費電力量の概算値を把握することができる。そして、図１１Ａ〜図１３で後記する処理において、デバイス種別管理テーブル１０００を使用することで、電力消費と各コンポーネントの稼働状況から、電力消費が低下するように、データを低消費電力デバイスに移行することができる。
【００９１】
なお、デバイス種別管理テーブル１０００は、図７の論理ボリューム管理テーブル７００と同様、すべてのプロセッサ（ＭＰ部２２０、ＭＰ部１０５１）から参照可能な位置に置かれる。
【００９２】
次に、図１１Ａ〜図１３を参照しながら、ストレージシステムＳの動作について説明する（適宜図６等参照）。
【００９３】
図１１Ａは、ＭＰ部２２０が、ＨＤＤ１１０とＦＭ制御部１０６のフラッシュメモリ３０６との間でデータを移行するために行う判定処理の一例を示したフローチャートである。
【００９４】
なお、ＭＰ部２２０がこの処理を行うタイミングとしては、たとえば、一定時間ごと、ホストコンピュータ１０２からのリード要求・ライト要求、あるいは、ホストコンピュータ１０２からの特定の論理ボリュームに関するＷＯＲＭ化の指示、などが挙げられる。
【００９５】
また、ＦＭ制御部１０６の形態として、図３〜図５の３つの例を挙げているが、ここではその中で図３の場合を例にとり、説明する。
【００９６】
ＭＰ部２２０は、この移行のための判定処理を行う場合、まず、収集した情報（図８〜図１０の各テーブル）の確認を行う（ステップＳ１１１）。
【００９７】
次に、ＭＰ部２２０は、それらの情報と判定条件（ｎ）に基いて解析を行う（ステップＳ１１２）。判定条件（ｎ）は、たとえば、フラッシュメモリ３０６の寿命管理（総書込み回数８０２を参照して所定回数を超えていないかを判定）、消費電力の削減（デバイス種別管理テーブル１０００を参照）、ホストコンピュータ１０２からのＷＯＲＭ化の指示による移行、ＲＤ／ＷＲ回数比（ＲＤ回数９０３とＷＲ回数９０４を参照し、ＷＲ回数に対するＲＤ回数９０３の比率が所定以上高ければフラッシュメモリ３０６に適するデータである可能性ありと判定）、などが挙げられる。なお、ここでは、それらの判定条件を、優先順位をつけて複合して使用するものとする。
【００９８】
ＭＰ部２２０は、ステップＳ１１２の解析により、閾値を超える状態があるか否かを判断する（ステップＳ１１３）。このステップＳ１１３は、たとえば、フラッシュメモリ３０６の総書込み回数が閾値を超えているかを判断するものであり、閾値を超えていれば、以降の処理で、そのデータを書込み回数に制限のないＨＤＤ１１０に移行するためのものである。
【００９９】
ＭＰ部２２０は、閾値を超える状態がない場合（ステップＳ１１３でＮｏ）、処理を終了する。
【０１００】
ＭＰ部２２０は、閾値を超える状態がある場合（ステップＳ１１３でＹｅｓ）、データの移行元と移行先を選定し（ステップＳ１１４）、空き低消費電力デバイスプール数１００４などを参照してデータの移行先があるか否かを判断する（ステップＳ１１５）。
【０１０１】
データの移行先がない場合（ステップＳ１１５でＮｏ）、ＭＰ部２２０は、判定条件（ｎ）における優先順位の高い判定条件を逸脱しない範囲で移行先を創生できるか否かを判断する（ステップＳ１１７）。
【０１０２】
移行先を創生できない場合（ステップＳ１１７でＮｏ）、ＭＰ部２２０は、処理を終了する。
【０１０３】
移行先を創生できる場合（ステップＳ１１７でＹｅｓ）、ＭＰ部２２０は、移行先を創生し（ステップＳ１１８）、データの移行処理を開始する（ステップＳ１１９）。
【０１０４】
ここでは、具体的には、たとえば、データをＨＤＤ１１０からフラッシュメモリ３０６に移行したい場合に、フラッシュメモリ３０６に移行先がない（空き容量がない）とき、判定条件（ｎ）における優先順位の高い条件（たとえば消費電力に関する条件）を逸脱しない範囲で、フラッシュメモリ３０６のいくつかのデータをＨＤＤ１１０に移行することでフラッシュメモリ３０６に空き容量を作り、そこにＨＤＤ１１０のデータを移行するようにすればよい。
【０１０５】
データの移行先がある場合（ステップＳ１１５でＹｅｓ）、ＭＰ部２２０は、データの移行により判定条件（ｎ）における優先順位の高い条件を逸脱しないか否かを判断する（ステップＳ１１６）。
【０１０６】
優先順位の高い条件を逸脱する場合（ステップＳ１１６でＮｏ）、ＭＰ部２２０は、処理を終了する。たとえば、データの移行により、フラッシュメモリ３０６の寿命に関しては問題がなくても、優先順位の高い条件（たとえば消費電力の閾値）を満たさないとき、ＭＰ部２２０は、データを移行しない。
【０１０７】
優先順位の高い条件を逸脱しない場合（ステップＳ１１６でＹｅｓ）、ＭＰ部２２０は、データの移行処理を開始する（ステップＳ１１９）。
【０１０８】
このようにして、ストレージシステムＳにおいて、全体の消費電力やフラッシュメモリ３０６の寿命管理を最適化するためのデータの移行を実現することができる。具体的には、たとえば、データを、その書込み頻度や読み出し頻度に応じて、消費電力の低いフラッシュメモリ３０６に移行することで、全体の消費電力を低減することができる。
【０１０９】
次に、図１１Ｂを参照しながら、データの移行処理について説明する（適宜図６等参照）。図１１Ｂは、ＭＰ部２２０が、ＨＤＤ１１０とＦＭ制御部１０６のフラッシュメモリ３０６との間でデータを移行するために行う判定処理の一例を示したフローチャートである。なお、この処理は、図１１ＡのステップＳ１１９の後に行われるものである。
【０１１０】
まず、ＭＰ部２２０は、移行先領域がフラッシュメモリ３０６であるか否かを判断する（ステップＳ１１０１）。
【０１１１】
移行先領域がフラッシュメモリ３０６である場合（ステップＳ１１０１でＹｅｓ）、フラッシュメモリ３０６は書込みの回数や性能に関してセンシティブであるので、一時記憶領域をＨＤＤ１１０に確保する（ステップＳ１１０２）。また、このとき、ＭＰ部２２０は、制御情報格納領域１１７に一時記憶領域管理テーブルを作成する。
【０１１２】
移行先領域がフラッシュメモリ３０６でない場合（ステップＳ１１０１でＮｏ）、一時記憶領域を確保する必要はなく、ステップＳ１１０３に進む。
【０１１３】
次に、ＭＰ部２２０は、移行元データの格納領域をある大きさの単位で管理する管理テーブル（不図示）を作成する（ステップＳ１１０３）。この管理テーブルとは、たとえば、６４ＫＢ単位のデータを管理するビットマップテーブルである。なお、この管理テーブルは、データの移行作業の進行を管理できるものであれば、ビットマップテーブルでなくても、別のものでもかまわない。
【０１１４】
続いて、ＭＰ部２２０は、ＤＭＡコントローラ３０２に指示を出すことにより、元データを移行先へコピーする（ステップＳ１１０４）。
【０１１５】
ＭＰ部２２０は、データの移行が完了した領域を、前記した管理テーブル（ビットマップテーブル）にしたがって、チェック（たとえばビットを０から１に変更）する（ステップＳ１１０５）。
【０１１６】
ＭＰ部２２０は、管理テーブルにしたがって、移行対象の全データ領域のコピーが完了したか否か、すなわち、データ移行の進捗が１００％になったかどうかを判断する（ステップＳ１１０６）。
【０１１７】
ＭＰ部２２０は、移行対象の全データ領域のコピーが完了していない場合（ステップＳ１１０６でＮｏ）、ステップＳ１１０４とステップＳ１１０５の処理を繰り返す。
【０１１８】
そして、ＭＰ部２２０は、移行対象の全データ領域のコピーが完了した場合（ステップＳ１１０６でＹｅｓ）、ステップＳ１１０７に進む。
【０１１９】
なお、ステップＳ１１０１〜ステップＳ１１０６におけるデータの移行作業中に、ストレージ制御装置１０１はホストコンピュータ１０２からそのデータに関するリード要求やライト要求を受けることがあるが、その場合の処理については、図１２および図１３で説明する。
【０１２０】
続いて、ステップＳ１１０７において、ＭＰ部２２０は、ステップＳ１１０２で作成した一時記憶領域管理テーブルを参照して、一時記憶領域中に格納中のデータがあるか否かをチェックする。
【０１２１】
一時記憶領域中に格納中のデータがあれば（ステップＳ１１０７でＹｅｓ）、ＭＰ部２２０は、一時記憶領域のデータを移行先領域に反映し（ステップＳ１１０８）、全データの移行が完了する（ステップＳ１１０９でＹｅｓ）まで、ステップＳ１１０８の処理を行う。
【０１２２】
一時記憶領域中に格納中のデータがなければ（ステップＳ１１０７でＮｏ）、ＭＰ部２２０は、ステップＳ１１１０に進む。
【０１２３】
ＭＰ部２２０は、データの移行にともない、論理ボリューム管理テーブル７００を書換える（ステップＳ１１１０）。この場合、たとえば、デバイスＩＤ７０４の該当箇所を移行元デバイスＩＤから移行先デバイスＩＤに変更するようにすれば、ホストコンピュータ１０２に設定されている仮想デバイス（仮想デバイスＩＤ７０３に対応）を書換えずに済む。
【０１２４】
そして、ＭＰ部２２０は、ステップＳ１１１０で不要になった移行元デバイスをフリーとして、別の目的で再利用するために解放する（ステップＳ１１１１）。
【０１２５】
このようにして、ストレージシステムＳにおいて、図１１Ａで説明した移行判定の結果に応じて、データを移行することができる。
【０１２６】
なお、ステップＳ１１１１を論理的に先に実行しておき、ステップＳ１１０４〜ステップＳ１１０６の実際のデータ移行作業を後から行う方法もある。この方法は、データ移行作業のみでなく、データ複製機能（一般にボリュームミラースプリットやスナップショットと呼ばれる機能）における、高速スナップショットアクセス機能にも利用できる。この方法を行う場合、以下の図１２および図１３の処理もそれに合わせて変更すればよい。
【０１２７】
次に、図１２を参照しながら、データの移行作業中（図１１ＢのステップＳ１１０１〜ステップＳ１１０６）にホストコンピュータ１０２からリード要求を受けた場合のＭＰ部２２０の処理について説明する（適宜図６等参照）。図１２は、その場合におけるＭＰ部２２０の処理の一例を示したフローチャートである。
【０１２８】
まず、ＭＰ部２２０は、移行作業中のデータに関して、ホストコンピュータ１０２からリード要求を受信すると（ステップＳ１２０１）、最新のデータの格納位置（移行元デバイスあるいは一時記憶領域）を管理テーブル（図１１のステップＳ１１０３で作成した管理テーブル）で確認する（ステップＳ１２０２）。
【０１２９】
次に、ＭＰ部２２０は、該当する格納位置からのデータを用いて、リード応答をホストコンピュータ１０２に返す（ステップＳ１２０３）。
【０１３０】
続いて、ＭＰ部２２０は、リード対象のデータが移行未完了の場合には、その移行元データを移行先にコピーする（ステップＳ１２０４）。
【０１３１】
そして、ＭＰ部２２０は、その領域のデータ移行作業終了を管理テーブルに反映する（ステップＳ１２０５）。
【０１３２】
なお、ステップＳ１２０３とステップＳ１２０４の処理を、ステップＳ１２０２の処理より前に行ってもよい。
【０１３３】
このようにして、ストレージシステムＳにおいて、データの移行中でも、ホストコンピュータ１０２からのリード要求に対応することができる。
【０１３４】
次に、図１３を参照しながら、データの移行作業中（図１１ＢのステップＳ１１０１〜ステップＳ１１０６）にホストコンピュータ１０２からライト要求を受けた場合のＭＰ部２２０の処理について説明する（適宜図６等参照）。図１３は、その場合におけるＭＰ部２２０の処理の一例を示したフローチャートである。
【０１３５】
まず、ＭＰ部２２０は、移行作業中のデータに関して、ホストコンピュータ１０２からライト要求を受信すると（ステップＳ１３０１）、そのライト要求のデータを、アクセス先アドレスと対応させて一時記憶領域へ書込む（ステップＳ１３０２）。
【０１３６】
次に、ＭＰ部２２０は、図１１ＢのステップＳ１１０２で作成した一時記憶領域管理テーブルを更新し、最新のデータが一時記憶領域にあることを反映する（ステップＳ１３０３）。
【０１３７】
このようにして、ストレージシステムＳにおいて、データの移行中でも、ホストコンピュータ１０２からのライト要求に対応することができる。
【０１３８】
また、データ移行の途中に、ホストコンピュータ１０２からのライト要求データを一時記憶領域に退避させておき、後で反映させることにより、移行先が、フラッシュメモリ３０６のような書込みが追記・ポインタ張替え・ブロック消去など複雑な手順で実現されるデバイスや、スピンアップダウンを繰り返し必要なディスク装置だけ使うＡＴＡディスク利用のデバイスなどにおいても、スムーズにデータ移行作業を行うことができる。
【０１３９】
なお、図１１Ａ〜図１３では、ＭＰ部２２０が各処理を行うものとしたが、ＭＰ部２２０の指示によるＤＭＡ機能や、ＭＰ部１０５１など、他の機能や手段によって各処理を行うようにしてもよい。
【０１４０】
次に、図１４を参照しながら、本発明の他の実施形態について説明する（適宜図６等参照）。図１４は、複数のストレージシステムＳ全体の消費電力を、図６で示した管理端末６０１で管理する場合に利用する全体情報テーブル１４００の一例を示した図である。
【０１４１】
全体情報テーブル１４００では、ストレージ制御装置１０１の識別子である制御装置ＩＤ１４０１と、それぞれのストレージ制御装置１０１における一定時間あたりの電力消費量１４０２と、フラッシュメモリ３０６などの低消費電力メディアの稼働中の数量を示すアクティブデバイス１４０３と、稼動中の低消費電力メディアの総容量を示すアクティブデバイス総容量１４０４と、ＨＤＤ１１０などの通常消費電力メディアの稼働中の数量を示すアクティブデバイス１４０５と、稼動中の通常消費電力メディアの総容量を示すアクティブデバイス総容量１４０６と、空いている低消費電力デバイスの数量を示す空き低消費電力デバイスプール１４０７とが関連付けられている。
【０１４２】
この全体情報テーブル１４００を使用することで、あるストレージ制御装置１０１の内部では通常消費電力デバイスのデータを低消費電力デバイスに移行できないような場合でも、そのデータを他のストレージ制御装置１０１の低消費電力デバイスにデータ移行を行うことで、複数のストレージシステムＳ全体の消費電力を下げることができる。
【０１４３】
なお、特に図示しないが、複数のストレージシステムＳ全体の消費電力の閾値が、全体情報テーブル１４００あるいは別のテーブルなどに記憶され、管理されている。
【０１４４】
具体的なデータ移行の処理は、図１１Ａ〜図１３のフローチャートによる処理とほぼ同様である。たとえば、図１１Ｂの処理において、デバイス間のデータ移行のプロセスを、複数のストレージ制御装置１０１の間のデバイス間で行うようにすればよい。また、ホストコンピュータ１０２では、アクセス先デバイスが変更になった旨を認識するようにしておけばよい。さらに、ホストコンピュータ１０２におけるボリューム仮想化ソフトや仮想化機能スイッチなどと連携して実現する方法もある。
【０１４５】
このように、本実施形態のストレージシステムＳにより、低消費電力であり、また、必要なデータにおいては性能低下を起こさず、大規模構成が可能で、さらに、データを最適な記憶メディアに格納できるシステムを提供することができる。また、各記憶メディアの持つ特性（書換え寿命や書込み性能、耐障害性）に対しても、システム全体として、信頼性や可用性を向上させることができる。
【０１４６】
以上で実施形態の説明を終えるが、本発明の態様はこれらに限定されるものではなく、ハードウェアやフローチャートなどの具体的な構成について、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。  
【実施例２】
【０１４７】
以下に本発明の第２の実施の形態について、図面に基づいて説明する。                      
第２の実施形態では、管理端末６０１内もしくは管理部６０３を通じて行われる機能のうち、データ格納位置のアロケーションについて説明する。特に、ユーザからデータの属性や利用要件を指定された場合のデータ格納位置選択の動作や処理について述べる。
【０１４８】
ストレージ制御装置１０１または管理端末６０１上で動作する制御プログラムは、データに付与される属性、ストレージシステムのユーザや管理者が設定するポリシー、データに対する実際のアクセス特性、データの格納領域となるデバイス、装置、システム全体のある時点での動作状態、経年変化状態、などを考慮して、データの格納領域として最適な領域をアロケーションする。
【０１４９】
具体的には、あるデータについて、ある判定条件に基づいて、図８，図９，図１０，図１４に示す、常時収集されるデバイスや装置、システム全体の動作状態を判断し、与えられる条件への最適化や消費電力管理や寿命管理を最適化できる記憶領域にアロケーションする。このアロケーション処理は、ホストコンピュータ１０２からのデータの受信時に行う場合や、ユーザや管理者による論理ボリュームの作成時、一定時間経過などを契機として実行される。
【０１５０】
ここで、判定条件とその判定条件に基づいたアロケーション先の選択の例を以下に示す。
（１）現時点での使用状態や履歴に応じて、書き換え寿命やデバイス寿命が他記憶デバイスに比較して短かい記憶デバイスについて、寿命管理を考慮したアロケーション制御を行う。
【０１５１】
具体的には、書換え寿命等が閾値に近いものがあれば、その寿命が長いデバイスまたは寿命が無制限の他のデバイスへアロケーションする。例えば、図８の説明において開示したような管理テーブルを参照して、消去回数、書込み回数、不良ブロック増加率、平均消去時間、スピンアップダウン回数、総使用時間が閾値に達したデバイスがある場合は、リード優先データ用格納領域として利用する。
（２）あらかじめユーザや管理者の設定する、書込み頻度や読み出し頻度、電力消費量、性能などのポリシーに応じて、適切なデバイスを格納領域としてアロケーションする。
【０１５２】
例えば、後述する図１６のエントリ＃０のように、リードの頻度が非常に大きいという指定がある場合には、消費電力の少なく、読み出し性能の高いフラッシュメモリなどの記憶領域にデータをアロケーションする。また、同様の考え方として、ＷＯＲＭ（Ｗｒｉｔｅ  Ｏｎｃｅ  Ｒｅａｄ  Ｍａｎｙ）としての利用を設定した場合や長期のリテンションピリオド（保持期間）の利用を設定された場合には、消費電力と長期保管で有利なフラッシュメモリのようなデバイスをアロケーションする。
（３）消費電力を低減する記憶デバイスにアロケーションする。例えば、図１０のように、装置内電力消費と各コンポーネントの稼働状況から低消費電力デバイスを選択し、該低消費電力デバイス（フラッシュメモリやMAID技術で制御されるHDD）上の格納領域を優先的にアロケーションする。さらに、図１４に示すような、装置全体の利用状況を把握するテーブルを利用すれば、装置全体について低電力化が可能なアロケーション制御を実現することができる。
【０１５３】
図１５は、データ格納領域アロケーション制御のための動作フローを示す図である。
【０１５４】
この処理は、図６に示すストレージ制御装置１０１のＭＰ部２２０によって実行される。
【０１５５】
ＭＰ部２２０は、ユーザもしくは管理者から、格納するデータの属性に合わせた格納先に要求する属性や運用ポリシーの指定を受信する。例えば、格納先となる論理ボリュームに対して、容量、性能、R/W頻度、WORM化、アーカイブ用途などの利用属性が指定される。ここで、指定されたポリシーは、後述する図１６に示すテーブルで管理される（ステップＳ１５０１）。
【０１５６】
次に、ＭＰ部２２０は、現在の利用状況および利用できるデバイスのリストなど、図７、図８、図９、および図１０で管理される情報と、ステップＳ１５０１で指定されるポリシーの内容とを比較する。例えば、ユーザが指定するデータの容量と、図１０の空き低消費電力デバイスプール容量１００４とを比較する（ステップＳ１５０２）。
【０１５７】
続いて、ＭＰ部２２０は、ステップＳ１５０２で比較した結果に応じて、現時点で最適と判定するアロケーション先を候補として選択する。例えば、あるデータについて、書き込み頻度「少」、読み込み頻度「大」、読み出し「高性能」とポリシーが設定された場合には、フラッシュメモリで構成される格納領域を選択する。また、あるデータについてWORMボリュームに格納することを指定された場合、フラッシュメモリで構成される格納領域を選択する。さらに別の例では、書き込み頻度も読み出し頻度も「少」で読み出しも「低性能」で良いが「低コスト」といったポリシーの場合は、ATAディスクを用いてMAID制御をする格納領域を選択する。また、ユーザの指定するポリシーが書き込みも読み込みも「多」の場合には、SCSI  HDDドライブを格納領域にする。さらに、明確な判定が出来ない場合にはフラッシュメモリで構成する領域を優先的にアロケーションする（ステップＳ１５０３）。
【０１５８】
続いて、ＭＰ部２２０は、ユーザまたは管理者に対して、ステップＳ１５０３で選択した格納領域を通知し、データの格納先を確認する（ステップＳ１５０４）。
【０１５９】
その後、ユーザまたは管理者の決定に従い、選択した格納領域に論理ボリュームを作成する（ステップＳ１５０５）。
【０１６０】
以上のアロケーション処理の動作は、ＭＰ部２２０を中心に実行されることを一例として説明したが、この処理は、管理部６０３におけるプログラムとして実行しても良いし、管理端末６０１におけるプログラムとして実行しても良い。図６に示すシステムにおいては、このいずれもが、アロケーション処理に必要なユーザ・管理者からのポリシー指定を受信するための手段、通信路を有しているし、各種の判断材料となるテーブルを格納したメモリ部にもアクセスする手段、通信路も有している。そのため、上記のいずれにおいて実行されても良いし、これらで分担して行われてもよい。例えば、ユーザ・管理者とのインターフェース、つまりポリシーの入力や、選択、確認の表示などは管理端末、テーブルの情報の取得をするのはＭＰ部２２０、入力された条件とテーブルの情報を総合して判断するのは管理部というように、分担して処理を実行する形態でもよい。
【０１６１】
図１６に、格納先デバイスを判定するための管理テーブルの一例を示す。
【０１６２】
ユーザ指定要件テーブル１６００は、構成したいボリューム毎もしくは格納したいデータごとに、その容量（大きさ）を示す値を格納する容量フィールド１６０１、ユーザが指定する要件を格納するユーザ指定要件フィールド１６０２を有する。ユーザ指定要件フィールド１６０２に格納される値は、例えば、Ｉ／Ｏ特性「リード／ライト比率[１００]、要求電力[１Ｗ以下]、性能/応答時間[1μs以下]」など、具体的な数字でもかまわない。ここでは便宜的に定性的に書いておく。さらに、指定デバイスフィールド１６０３を設け、ユーザの指定する要件とは別に、ＡＴＡディスク、ＳＣＳＩディスクのように、デバイスの種類を直接指定するフィールドを持ってもよい。
【０１６３】
図１９に示すデバイス判定テーブル１９００は、ユーザ指定要件フィールド１９０１、およびアロケーション第一候補デバイス種フィールド１９０２を有する。ユーザ指定要件フィールド１９０１に格納される値は、図１６に示すユーザ指定要件テーブルに対応する。アロケーション第一候補デバイス種フィールド１９０２には、ユーザから指定された要件に対して、第一候補とされるデバイス種を示している。
【０１６４】
図１６に示すユーザ指定要件には、優先度が付与されている形態であっても良い。以下、図１５および図１７のフローチャートを用いて、ユーザ指定要件において優先度が示されている場合におけるデータ格納領域選択処理について説明する。
【０１６５】
ユーザ指定要件に優先度が示されている場合、ＭＰ部２２０は、図１５中のステップＳ１５０２およびステップＳ１５０３のステップにおいて、図１７に示すステップ１５０２０からステップＳ１５０２６の処理を実行する。
【０１６６】
まず、図１７中のステップＳ１５０２０において、判定処理が開始される。
【０１６７】
ＭＰ部２２０は、ユーザ指定要件テーブル１６００とデバイス判定テーブル１９００を用いて、アロケーション先の第１の候補を選択する。例えば、図１６中のエントリ＃０の場合は、ＭＰ部２２０は、アロケーション先としてフラッシュメモリデバイスを選択する。また図１６中のエントリ＃１のような場合は、ＭＰ部２２０は、指定されたＡＴＡディスクをデバイスとして選択する（ステップＳ１５０２１）。
【０１６８】
次に、ＭＰ部２２０は、図８、図９、および図１０のテーブルで管理されるような利用状況をチェックする（ステップＳ１５０２２）。
【０１６９】
続いて、ＭＰ部２２０は、ユーザの指定する要件に適合するデバイス領域の有無を判定する（ステップＳ１５０２３）。
【０１７０】
ステップＳ１５０２３において適合するデバイス領域がある場合は、ステップ１５０２４に進んで、要求された容量を確保し、選択したデータの格納先を確認する、ステップ１５０４０へと進む。
【０１７１】
ここで、図１７のフローによる処理では、第一のアロケーション先の候補に対して、利用状況から判断して選択できるデバイスが無かった時に、次の優先度で判断したアロケーション先の候補を選択することも可能となる。
【０１７２】
例えば、ステップＳ１５０２３において適合するデバイス領域が無い場合、図１８に示すようなユーザ指定要件テーブル１８００を参照すると、次の順位の優先要件をチェックすることができる。
【０１７３】
図１８に、優先順位が付加されたユーザ要件指定テーブル１８００の一例を示す。ユーザ要件指定テーブル１８００は、アロケーション先に要求される容量の値を格納する容量フィールド１８０１、優先順位の情報が付加されたユーザ指定要件順位フィールド１８０２〜１８０４、およびデバイスを指定する指定デバイス種フィールド１８０５からなる。例えば、要件テーブル１８００のエントリ＃０の場合、ライト／リード比についてのライト「小」リード「多」が一番目に優先順位の高い指定要件で、２番目の指定要件が消費電力についての「低消費電力」で、３番目の指定要件が「性能」についてである。
【０１７４】
ここで、図１７に戻り、ステップＳ１５０２１において、図１８のエントリ＃０のように、ユーザがライト「小」リード「多」という要件を指定する場合、ＭＰ部２２０は、図１９を参照し、フラッシュメモリもしくはＡＴＡディスクを選択しようとする。しかし、ステップＳ１５０２２において、利用状況から選択可能なフラッシュメモリ領域が無かった場合、ＭＰ部２２０は、ステップＳ１５０２３において、ユーザ指定要件と利用状況とに適合するデバイスが無いと判断し、ステップＳ１５０２６に進む。
【０１７５】
ＭＰ部２２０は、次の順位の優先要件の有無を判定する（ステップＳ１５０２６）。
【０１７６】
ステップＳ１５０２６において、次の順位の優先要件がある場合、ステップＳ１５０２５に進み、ユーザの指定する要件に適合するアロケーション先の候補を再選択する。例えば、図１８に示すユーザ要件指定テーブル１８００中のエントリ＃０のように、２番目に優先度が高い項目が「低消費電力」で、最も優先度が低いのは「性能」の項目である場合、フラッシュメモリ領域に次いで適合するアロケーション先として、ＡＴＡディスク（MAID制御HDD）が選択される（ステップＳ１５０２５）。
【０１７７】
続いて、ステップＳ１５０２２において、ＭＰ部２２０は、利用状況を総合判断し、ステップ１５０２４において要求される領域の確保を実行し、選択したデータの格納先を確認するステップ１５０４０へと進む。
【０１７８】
第一のデバイス候補での選択が困難になる状況は、図８で示すようなデバイスの利用状況によって、選択できる可能性が異なることに起因する。つまり、フラッシュメモリで構成する領域やＡＴＡディスク（MAID制御HDD）で構成される領域を第一の候補とした場合に、図８での使用状況に応じたデバイスの選択において、書込み頻度が一定の回数を超えているデバイスしか残存デバイスがない場合や、ユーザから要求される容量に対して空き領域が不足する場合などは、その選択を実行しても、そのデータや格納領域を効率的に使用することにならない。一方、書き込み頻度が限定されるWORM指定のようなデータの場合は、書き込み回数などがある程度多いデバイスでも利用可能なので、そのデバイスを選択することで、そのデータを効率的に使用することができる。また、要件の優先度として、性能は同じであっても、リード「多」ライト「小」と低消費電力に対応できることを要求する場合は、フラッシュメモリ領域が無い場合、次いでＡＴＡディスク（MAID  制御HDD）を選択することによっても、要件を満たすことが可能である。このように、第２の実施形態によると、ストレージシステムの利用状況に応じたデータの格納先の選択が実行できる。
【０１７９】
上述した第１および第２の実施形態におけるストレージシステムにより、低消費電力であり、かつ、必要なデータにおいては性能低下を起こさず、大規模構成が可能な、データを最適なメディアに格納できるシステムを提供することができる。また、各メディアの持つ特性（書き換え寿命や書込み性能、耐障害性）に対してもシステム全体として、信頼性、可用性の向上が可能な最適なデータ格納位置制御が可能となる。
【図面の簡単な説明】
【０１８０】
【図１】ストレージシステムＳを含めた全体構成図である。
【図２】チャネル制御部１０４の構成を示したブロック図である。
【図３】ＦＭ制御部１０６の構成を示したブロック図である。
【図４】ＦＭ制御部１０６の他の構成を示したブロック図である。
【図５】ＦＭ制御部１０６の他の構成を示したブロック図である。
【図６】複数のストレージ制御装置１０１が存在する場合の全体構成の一例における情報の流れを模式的に示した図である。
【図７】論理ボリューム管理テーブル７００の一例を示した図である。
【図８】使用状況管理テーブル８００の一例を示した図である。
【図９】リード・ライト回数管理テーブル９００の一例を示した図である。
【図１０】デバイス種別管理テーブル１０００の一例を示した図である。
【図１１Ａ】ＭＰ部２２０が、ＨＤＤ１１０とＦＭ制御部１０６のフラッシュメモリ３０６との間でデータを移行するために行う判定処理の一例を示したフローチャートである。
【図１１Ｂ】ＭＰ部２２０が、ＨＤＤ１１０とＦＭ制御部１０６のフラッシュメモリ３０６との間でデータを移行するために行う判定処理の一例を示したフローチャートである。
【図１２】データの移行作業中にホストコンピュータ１０２からリード要求を受けた場合のＭＰ部２２０の処理の一例を示したフローチャートである。
【図１３】データの移行作業にホストコンピュータ１０２からライト要求を受けた場合のＭＰ部２２０の処理の一例を示したフローチャートである。
【図１４】複数のストレージシステムＳ全体の消費電力を、図６で示した管理端末６０１で管理する場合に利用する全体情報テーブル１４００の一例を示した図である。
【図１５】格納先デバイス選択処理のフローの一例を示す図である。
【図１６】ユーザ指定要件テーブルの一例を示す図である。
【図１７】格納先デバイスの優先的な選択処理のフローの一例を示す図である。
【図１８】ユーザ指定要件テーブルの他の一例を示す図である。
【図１９】デバイス判定テーブルの一例を示す図である。
【符号の説明】
【０１８１】
１０１  ストレージ制御装置
１０２  ホストコンピュータ
１０４  チャネル制御部
１０５  ディスク制御部
１０６  ＦＭ制御部
１１３  キャッシュメモリ
１１７  制御情報格納領域
１１０  ＨＤＤ
２２０  ＭＰ部
３０６  フラッシュメモリ
【図１】
2007115232.tif 000003
【図２】
2007115232.tif 000004
【図３】
2007115232.tif 000005
【図４】
2007115232.tif 000006
【図５】
2007115232.tif 000007
【図６】
2007115232.tif 000008
【図７】
2007115232.tif 000009
【図８】
2007115232.tif 000010
【図９】
2007115232.tif 000011
【図１０】
2007115232.tif 000012
【図１１Ａ】
2007115232.tif 000013
【図１１Ｂ】
2007115232.tif 000014
【図１２】
2007115232.tif 000015
【図１３】
2007115232.tif 000016
【図１４】
2007115232.tif 000017
【図１５】
2007115232.tif 000018
【図１６】
2007115232.tif 000019
【図１７】
2007115232.tif 000020
【図１８】
2007115232.tif 000021
【図１９】
2007115232.tif 000022
【手続補正書】
【提出日】平成18年9月21日(2006.9.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ホストコンピュータ、および、データを記憶する記憶媒体としての１または複数のハードディスク、と接続される接続部と、前記ホストコンピュータからライト要求のあったデータを記憶し前記ハードディスクとは異なる種類の記憶媒体である１または複数の不揮発
記憶媒体と、前記ホストコンピュータからのライト要求およびリード要求を前記ハードデ
ィスクまたは前記不揮発記憶媒体を使用して処理する処理部と、前記処理部が使用する制
御情報を記憶するメモリ部と、を備えたストレージ制御装置であって、
前記１または複数のハードディスクは、単体、あるいは、制御部を有するディスクアレイ装置の一部として設けられ、
前記メモリ部に記憶された前記制御情報は、個々の前記記憶媒体ごとの識別子とそれぞれの前記記憶媒体の使用状況に関する情報を関連付けた使用状況管理テーブルであり、
前記メモリ部は、さらに、前記使用状況に関する情報に対する各閾値を記憶し、
前記処理部は、前記メモリ部に記憶された前記使用状況管理テーブルおよび前記各閾値を参照し、前記使用状況に関する情報のいずれかが前記閾値を超えた場合に、その閾値を超えたいずれかの種類の前記記憶媒体のデータを他方の種類の前記記憶媒体に移行することを特徴とするストレージ制御装置。
【請求項２】
前記不揮発記憶媒体は、フラッシュメモリであることを特徴とする請求項１に記載のストレージ制御装置。
【請求項３】
前記不揮発記憶媒体は、強誘電体メモリであることを特徴とする請求項１に記載のストレージ制御装置。
【請求項４】
前記不揮発記憶媒体は、相変化メモリであることを特徴とする請求項１に記載のストレージ制御装置。
【請求項５】
前記処理部は、直接または前記ディスクアレイ装置の制御部を介して、ＭＡＩＤ（Massive Array of Idle Disks）技術によって前記ハードディスクを回転および停止させることを特徴とする請求項１に記載のストレージ制御装置。
【請求項６】
前記ハードディスクは、ＳＣＳＩ（Small Computer System Interface）ディスクおよびＡＴＡ（AT Attachment）ディスクのうち少なくとも一方から構成されていることを特徴とする請求項５に記載のストレージ制御装置。
【請求項７】
請求項１に記載のストレージ制御装置であって、
前記不揮発記憶媒体は、前記ハードディスクよりも書換え可能回数が少なく、
前記使用状況管理テーブルは、それぞれの前記記憶媒体の使用状況に関する情報として書換え回数を含んでおり、
前記メモリ部は、前記閾値として前記書換え回数に関する閾値を記憶し、
前記処理部は、前記メモリ部に記憶された前記使用状況管理テーブルおよび前記書換え回数に関する閾値を参照し、前記書換え回数に関する閾値を超えた前記不揮発記憶媒体のデータを前記ハードディスクに移行することを特徴とするストレージ制御装置。
【請求項８】
請求項１に記載のストレージ制御装置であって、
前記ハードディスクは、前記不揮発記憶媒体よりもデータのリードあるいはライトの応答速度が遅く、
前記使用状況管理テーブルは、それぞれの前記記憶媒体の使用状況に関する情報としてデータのリードあるいはライトの使用回数を含んでおり、
前記メモリ部は、前記閾値として前記使用回数に関する閾値を記憶し、
前記処理部は、前記メモリ部に記憶された前記使用状況管理テーブルおよび前記使用回数に関する閾値を参照し、その閾値を超えたいずれかの種類の前記記憶媒体のデータを他方の種類の前記記憶媒体に移行することを特徴とするストレージ制御装置。
【請求項９】
請求項１に記載のストレージ制御装置であって、
前記使用状況管理テーブルは、それぞれの前記記憶媒体の使用状況に関する情報として不良領域数を含んでおり、
前記メモリ部は、前記閾値として前記不良領域数に関する閾値を記憶し、
前記処理部は、前記メモリ部に記憶された前記使用状況管理テーブルおよび前記不良領域数に関する閾値を参照し、前記不良領域数に関する閾値を超えたいずれかの種類の前記記憶媒体のデータを他方の種類の前記記憶媒体に移行することを特徴とするストレージ制御装置。
【請求項１０】
請求項１に記載のストレージ制御装置であって、
前記処理部は、データを移行する先の他方の種類の前記記憶媒体が前記不揮発記憶媒体である場合、前記ハードディスクにおけるある領域を一時記憶領域として確保して、移行するデータを前記一時記憶領域に一部ずつ順次コピーし、そのデータの移行処理中に前記ホストコンピュータからそのデータの一部に関するリード要求を受けたとき、移行元の前記記憶媒体の該当データを前記ホストコンピュータに返送し、移行先の前記記憶媒体へのデータ移行を非同期で一部ずつ順次処理することを特徴とするストレージ制御装置。
【請求項１１】
請求項１に記載のストレージ制御装置であって、
前記処理部は、データを移行する先の他方の種類の前記記憶媒体が前記不揮発記憶媒体である場合、前記ハードディスクにおけるある領域を一時記憶領域として確保して、移行するデータを前記一時記憶領域に一部ずつ順次コピーし、そのデータの移行処理中に、前記ホストコンピュータからそのデータの一部に関するリード要求を受け、前記不揮発記憶媒体においてそのデータの一部に対応する新データが前記ホストコンピュータからのライト要求によってすでに書込まれていたとき、その新データをホストコンピュータに返送することを特徴とするストレージ制御装置。
【請求項１２】
請求項１に記載のストレージ制御装置であって、
前記処理部は、データを移行する先の他方の種類の前記記憶媒体が前記不揮発記憶媒体である場合、前記ハードディスクにおけるある領域を一時記憶領域として確保して、データの移行処理中に、前記ホストコンピュータから移行中のデータの一部に関するライト要求を受けたとき、そのライト要求のあった新データを前記一時記憶領域に格納し、前記したデータの移行処理の終了後に、前記一時記憶領域の新データを前記不揮発記憶媒体に反映することを特徴とするストレージ制御装置。
【請求項１３】
請求項１に記載のストレージ制御装置であって、
前記使用状況管理テーブルは、それぞれの前記記憶媒体の使用状況に関する情報として消去処理エラー回数を含んでおり、
前記メモリ部は、前記閾値として前記消去処理エラー回数に関する閾値を記憶し、
前記処理部は、前記メモリ部に記憶された前記使用状況管理テーブルおよび前記消去処理エラー回数に関する閾値を参照し、前記消去処理エラー回数に関する閾値を超えた前記記憶媒体のデータを他の前記記憶媒体に移行することを特徴とするストレージ制御装置。
【請求項１４】
請求項１に記載のストレージ制御装置であって、
前記使用状況管理テーブルは、それぞれの記憶媒体の使用状況に関する情報として平均消去時間を含んでおり、
前記メモリ部は、前記閾値として前記平均消去時間に関する閾値を記憶し、
前記処理部は、前記メモリ部に記憶された前記使用状況管理テーブルおよび前記平均消去時間に関する閾値を参照し、前記平均消去時間に関する閾値を超えたいずれかの種類の前記記憶媒体のデータを他方の種類の前記記憶媒体に移行することを特徴とするストレージ制御装置。
【請求項１５】
複数の請求項１に記載のストレージ制御装置と、その複数のストレージ制御装置と接続された管理端末と、を備えたデータ管理システムであって、
前記管理端末は、管理端末処理部と管理端末記憶部を有し、
前記管理端末記憶部は、前記ストレージ制御装置ごとの一定時間あたりの電力消費量を含んだ全体情報テーブルと、複数の前記ストレージ制御装置の全体の一定時間あたりの電力消費量の閾値と、を記憶し、
前記管理端末処理部は、前記全体情報テーブルを参照して前記複数のストレージ制御装置の全体の一定時間あたりの電力消費量を算出し、その算出した電力消費量が前記全体の一定時間あたりの電力消費量の閾値を超えた場合には、複数の前記ストレージ制御装置の全体の一定時間あたりの電力消費量が低減するように、前記ストレージ制御装置の内部、あるいは、複数の前記ストレージ制御装置の間で記憶媒体間のデータ移行を行うことを特徴とするデータ管理システム。
【請求項１６】
前記全体情報テーブルは、それぞれの前記ストレージ制御装置における低消費電力の記憶媒体の空き容量を含んでいることを特徴とする請求項１５に記載のデータ管理システム。
【請求項１７】
ホストコンピュータ、および、データを記憶する記憶媒体としての１または複数のハードディスク、と接続され、前記ホストコンピュータからライト要求のあったデータを記憶し前記ハードディスクとは異なる種類の記憶媒体である１または複数の不揮発記憶媒体と、前記ホストコンピュータからのライト要求およびリード要求を前記ハードディスクまたは前記不揮発記憶媒体を使用して処理する処理部と、前記処理部が使用する制御情報を記憶するメモリ部と、を備えたストレージ制御装置によるデータ管理方法であって、
前記１または複数のハードディスクは、単体、あるいは、制御部を有するディスクアレイ装置の一部として設けられ、
前記メモリ部に記憶された前記制御情報は、個々の前記記憶媒体ごとの識別子とそれぞれの前記記憶媒体の使用状況に関する情報を関連付けた使用状況管理テーブルであり、
前記メモリ部は、さらに、前記使用状況に関する情報に対する各閾値を記憶し、
前記処理部は、前記メモリ部に記憶された前記使用状況管理テーブルおよび前記各閾値を参照し、前記使用状況に関する情報のいずれかが前記閾値を超えた場合に、その閾値を超えたいずれかの種類の前記記憶媒体のデータを他方の種類の前記記憶媒体に移行することを特徴とするデータ管理方法。
【請求項１８】
前記不揮発記憶媒体は、フラッシュメモリであることを特徴とする請求項１７に記載のデータ管理方法。
【請求項１９】
前記不揮発記憶媒体は、前記ハードディスクよりも書換え可能回数が少なく、
前記使用状況管理テーブルは、それぞれの前記記憶媒体の使用状況に関する情報として書換え回数を含んでおり、
前記メモリ部は、前記閾値として前記書換え回数に関する閾値を記憶し、
前記処理部は、前記メモリ部に記憶された前記使用状況管理テーブルおよび前記書換え回数に関する閾値を参照し、前記書換え回数に関する閾値を超えた前記不揮発記憶媒体のデータを前記ハードディスクに移行することを特徴とする請求項１７に記載のデータ管理方法。
【請求項２０】
前記ハードディスクは、前記不揮発記憶媒体よりもデータのリードあるいはライトの応答速度が遅く、
前記使用状況管理テーブルは、それぞれの前記記憶媒体の使用状況に関する情報としてデータのリードあるいはライトの使用回数を含んでおり、
前記メモリ部は、前記閾値として前記使用回数に関する閾値を記憶し、
前記処理部は、前記メモリ部に記憶された前記使用状況管理テーブルおよび前記使用回数に関する閾値を参照し、その閾値を超えたいずれかの種類の前記記憶媒体のデータを他方の種類の前記記憶媒体に移行することを特徴とする請求項１７に記載のデータ管理方法。
【請求項２１】
ストレージ制御装置であって、  
ホストコンピュータ、および、データを記憶する記憶媒体としての１または複数のディスク装置と接続される接続部と、
前記ホストコンピュータからライト要求のあったデータを記憶する前記ディスク装置とは異なる種類の記憶媒体である不揮発記憶媒体と、
前記ホストコンピュータからのライト要求およびリード要求を前記ディスク装置または前記不揮発記憶媒体を使用して処理する処理部と、
ユーザがあるデータについて指定する記憶媒体の性能に関する識別情報を格納する指定テーブルと、前記記憶媒体の性能と前記記憶媒体とを関連付けた記憶媒体管理テーブルと、前記記憶媒体ごとの識別子とそれぞれの前記記憶媒体の使用状況に関する情報を関連付けた使用状況管理テーブルとを記憶するメモリ部とを有し、
前記処理部は、前記指定テーブルを参照してあるデータについての前記ユーザの指定を判定し、前記記憶媒体管理テーブルおよび前記使用状況管理テーブルを参照して前記あるデータについて前記ユーザの指定に適合する性能を有する記憶媒体を選択し、該あるデータを、前記選択した記憶媒体に格納することを特徴とするストレージ制御装置。
【請求項２２】
請求項２１に記載のストレージ制御装置であって、
前記処理部は、前記ユーザからあるデータを格納する論理記憶領域を作成する指示を受信した場合、前記指定テーブル、前記記憶媒体管理テーブル、および前記使用状況管理テーブルを参照し、前記あるデータを格納する論理記憶領域について前記ユーザの指定に適した記憶媒体を選択し、前記記憶媒体を用いて前記あるデータを格納する論理記憶領域を作成し、該論理記憶領域に前記あるデータを格納することを特徴とするストレージ制御装置。
【請求項２３】
請求項２１に記載のストレージ制御装置であって、
前記不揮発記憶媒体は、フラッシュメモリであることを特徴とするストレージ制御装置。
【請求項２４】
請求項２１に記載のストレージ制御装置であって、
前記指定テーブルに格納される前記記憶媒体の性能に関する識別情報は、前記あるデータの容量、リード頻度、ライト頻度、WORM(Write Once Read Many)の有無、のいずれかに関する情報であることを特徴とするストレージ制御装置。
【請求項２５】
請求項２１に記載のストレージ制御装置であって、
前記指定テーブルには、前記ユーザにより優先順位が付与された、複数の前記記憶媒体の性能に関する識別情報が格納され、
前記処理部は、前記ホストコンピュータからあるデータを受信した場合、前記指定テーブル、前記記憶媒体管理テーブル、および前記使用状況管理テーブルを参照し、前記優先順位の順に、前記あるデータについて前記ユーザが指定に適した記憶媒体を選択し、前記あるデータを、前記選択した記憶媒体に格納することを特徴とするストレージ制御装置。