(57)【要約】【課題】省電力効率高く複数の記憶装置を制御する。【解決手段】記憶装置管理部１１が、複数の記憶装置３０，３１から、記憶装置３０，３１の性能または省電力機能に関する情報を含む属性情報Ｄ１，Ｄ２を取得し、記憶装置３０，３１間における属性情報Ｄ１，Ｄ２に応じて、省電力機能を有効とする記憶装置または無効にする記憶装置を決定し、記憶装置制御部１２が、決定した各記憶装置３０，３１の省電力機能の状態に応じて、記憶装置３０，３１を制御する。【選択図】図１
2011022752.tif 000002
【特許請求の範囲】
【請求項１】
複数の記憶装置から、前記記憶装置の性能または省電力機能に関する情報を含む属性情報を取得し、前記記憶装置間における前記属性情報に応じて、前記省電力機能を有効とする前記記憶装置または無効にする前記記憶装置を決定する記憶装置管理部と、
決定した各前記記憶装置の前記省電力機能の状態に応じて、前記記憶装置を制御する記憶装置制御部と、
を有した記憶制御装置。
【請求項２】
前記記憶装置管理部は、前記属性情報から、他の前記記憶装置よりも、省電力効率が高い前記省電力機能を実行可能な前記記憶装置を検出し、検出した前記記憶装置の前記省電力機能を有効とすることを特徴とする請求項１記載の記憶制御装置。
【請求項３】
前記記憶装置管理部は、前記属性情報から、前記性能が他の前記記憶装置よりも高い前記記憶装置を検出し、検出した前記記憶装置の前記省電力機能を無効とすることを特徴とする請求項１または２に記載の記憶制御装置。
【請求項４】
前記記憶装置管理部は、前記属性情報に含まれる前記記憶装置固有の識別情報を取得し、省電力モードから復帰した前記記憶装置に対して、再度前記属性情報を要求して送信させ、再度取得した前記属性情報に含まれる前記識別情報と、予め取得した前記識別情報とを比較して、前記省電力モードから復帰した前記記憶装置が正当なものか否かを判定することを特徴とする請求項１乃至３のいずれか一項に記載の記憶制御装置。
【請求項５】
前記記憶装置管理部は、複数の前記記憶装置の中で、他の前記記憶装置に記憶するデータをチェックする、パリティを記憶する前記記憶装置の前記省電力機能を無効にすることを特徴とする請求項１乃至４のいずれか一項に記載の記憶制御装置。
【請求項６】
記憶装置管理部が、複数の記憶装置から、前記記憶装置の性能または省電力機能に関する情報を含む属性情報を取得し、前記記憶装置間における前記属性情報に応じて、前記省電力機能を有効とする前記記憶装置または無効にする前記記憶装置を決定し、
記憶装置制御部が、決定した各前記記憶装置の前記省電力機能の状態に応じて、前記記憶装置を制御することを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の記憶装置を制御する記憶制御装置及び制御方法に関する。
【背景技術】
【０００２】
ＨＤＤ（Hard Disk Drive）は、データの読み出しや書き込みの際に機械動作が伴うため、振動や衝撃が原因で故障する場合がある。そのため、複数のＨＤＤを用い、あるＨＤＤが故障しても他のＨＤＤで継続して運用できるような制御方法が知られている。
【０００３】
このような制御方法として、ＲＡＩＤ（Redundant Array of Inexpensive Disks）と呼ばれる技術が知られている。
たとえば、ＲＡＩＤ１では、２台のＨＤＤの同じ場所に、同じ内容のデータを書き込む処理が行われる。この処理は、ミラーリング処理と呼ばれる。
【０００４】
近年、重要なデータを保持する必要がある製品（たとえば、ＭＦＰ：Multi-Function Peripheral）や、ＰＣ（Personal Computer）でも重要なデータが失われることを回避するために、ミラーリング処理を導入するケースが多くなってきている。
【０００５】
ミラーリング処理においては、２台のＨＤＤに対して、一方がマスタ装置、他方がバックアップ装置と定義され、内容を一致させる制御が行われる。つまり、データを書き込む場合には、両方のＨＤＤの同じ場所に同じ内容を書き込む。データの読み出し時には、マスタ装置に対して、読み出し処理が行われる。
【０００６】
ミラーリング処理は、ソフトウェアにて実現する場合と、専用のハードウェア（以下、記憶制御装置という）で実現する場合がある。後者は、記憶制御装置と接続する、ホスト側の装置（たとえばＭＦＰやＰＣ）のＣＰＵ（Central Processing Unit）を使用しないため、性能がよいという特長を有している。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００５−２９３２２４号公報
【特許文献２】特開２００７−１０２５７９号公報
【非特許文献】
【０００８】
【非特許文献１】John Masiewicz，“INCITS 397-2005 (1532D): AT Attachment with Packet Interface - 7 Volume 1”，［online］，２００４年４月２１日，［平成２１年６月１７日検索］，インターネット〈URL:http://www.t13.org/Documents/UploadedDocuments/docs2007/D1532v1r4b-AT＿Attachment＿with＿Packet＿nterface＿-＿7＿Volume＿1.pdf〉
【非特許文献２】John Masiewicz，“INCITS 397-2005 (1532D): AT Attachment with Packet Interface - 7 Volume 2”，［online］，２００４年４月２１日，［平成２１年６月１７日検索］，インターネット〈URL:http://www.t13.org/Documents/UploadedDocuments/docs2007/D1532v2r4b-AT＿Attachment＿with＿Packet＿Interface＿-＿7＿Volume＿2.pdf〉
【非特許文献３】John Masiewicz，“INCITS 397-2005 (1532D): AT Attachment with Packet Interface - 7 Volume 3”，［online］，２００４年４月２１日，［平成２１年６月１７日検索］，インターネット〈URL:http://www.t13.org/Documents/UploadedDocuments/docs2007/D1532v3r4b-AT＿Attachment＿with＿Packet＿Interface＿-＿7＿Volume＿3.pdf〉
【非特許文献４】Dell Computer Corporation他５社，“Serial ATA International Organization Serial ATA Revision 2.6”，［online］，２００７年２月１５日，［平成２１年６月１９日検索］，インターネット〈URL:http://arc.opensolaris.org/caselog/FWARC/2008/013/commitment2.materials/specifications/SerialATA＿Revision＿2＿6＿Gold.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかし、従来の記憶制御装置では、複数の記憶装置それぞれの性能や、それぞれがサポートする省電力機能に差異がある場合、それらの差異に応じた制御を行っていない。そのため、省電力効率高く複数の記憶装置を制御することができないという問題があった。
【００１０】
上記の点を鑑みて、本発明は、省電力効率高く複数の記憶装置を制御可能な記憶制御装置及び制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、以下のような記憶制御装置が提供される。
この記憶制御装置は、複数の記憶装置から、前記記憶装置の性能または省電力機能に関する情報を含む属性情報を取得し、前記記憶装置間における前記属性情報に応じて、前記省電力機能を有効とする前記記憶装置または無効にする前記記憶装置を決定する記憶装置管理部と、決定した各前記記憶装置の前記省電力機能の状態に応じて、前記記憶装置を制御する記憶装置制御部と、を有する。
【発明の効果】
【００１２】
開示の記憶制御装置によれば、省電力効率高く複数の記憶装置を制御できる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施の形態の記憶制御装置の構成を示す図である。
【図２】パワーマネージメントフィーチャーセットで定義された状態とその意味を示す図である。
【図３】アドバンスドパワーマネージメントフィーチャーセットで規定される動作レベルを示す図である。
【図４】ＳＡＴＡインターフェースパワーマネージメントで規定されるＳＡＴＡインターフェースの状態とその意味を示す図である。
【図５】記憶制御装置による各記憶装置の制御の一例を示す制御シーケンス図である。
【図６】属性情報の一部を示す図である。
【図７】省電力機能の比較の一例の様子を示す図である。
【図８】２つの記憶装置の属性情報の一例を示す図である。
【図９】管理情報の一例を示す図である。
【図１０】設定コマンドの一例を示す図である。
【図１１】第２の実施の形態の記憶制御装置の構成を示す図である。
【図１２】第３の実施の形態の記憶制御装置の構成を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の記憶制御装置及び制御方法の一観点である実施の形態を、図面を参照して説明する。
（第１の実施の形態）
図１は、第１の実施の形態の記憶制御装置の構成を示す図である。
【００１５】
なお、ここでは、ＲＡＩＤ１のミラーリング処理を行う場合を例にして説明する。
記憶制御装置１０は、記憶装置管理部１１、記憶装置制御部１２、不揮発性記憶部１３、インターフェース制御部１４，１５−１，１５−２を有している。記憶制御装置１０は、ホスト装置２０と、記憶装置３０，３１との間に接続されている。このような記憶制御装置１０は、たとえば、各部の機能を実行する複数のＬＳＩ（Large Scale Integrated circuit）を搭載した回路基板などにより実現される。
【００１６】
ホスト装置２０は、たとえば、ＭＦＰや、ＰＣなどである。記憶制御装置１０や、記憶装置３０，３１は、ホスト装置２０内に内蔵されていてもよい。
記憶装置３０，３１は、ホスト装置２０に内蔵される内蔵ＨＤＤ、または外付けのＨＤＤなどである。
【００１７】
記憶装置管理部１１は、記憶装置３０，３１の性能または省電力機能に関する情報を含む属性情報Ｄ１，Ｄ２を取得し、それらを不揮発性記憶部１３に記憶する。記憶装置３０，３１の性能に関する情報は、たとえば、ＨＤＤの回転速度、または高速なインターフェースに対応しているか否かなどの情報である。省電力機能に関する情報は、たとえば、ＡＴＡ（Advanced Technology Attachment）やＳＡＴＡ（Serial ATA）の後述する各種省電力機能をサポートしているか否かの情報である。
【００１８】
また、記憶装置管理部１１は、属性情報Ｄ１，Ｄ２に応じて、省電力機能を有効とする記憶装置と、無効にする記憶装置とを決定し、その情報を含む管理情報Ｄ１０を不揮発性記憶部１３に記憶する。なお、本実施の形態において、管理情報Ｄ１０は、決定した各記憶装置３０，３１の省電力機能の状態に応じて、省電力機能を無効にするマスタ側の記憶装置、有効にするバックアップ側の記憶装置を管理している。
【００１９】
記憶装置制御部１２は、ＡＴＡコマンド制御部１２ａと、バックアップ側アクセス制御部１２ｂを有しており、管理情報Ｄ１０を参照して、決定された省電力機能の状態に応じて、記憶装置３０，３１を制御する。
【００２０】
ＡＴＡコマンド制御部１２ａは、ホスト装置２０から受信したコマンドを記憶装置３０，３１に発行する。
バックアップ側アクセス制御部１２ｂは、バックアップ側の記憶装置（管理情報Ｄ１０によって選択される記憶装置３０，３１のいずれか）にデータの書き込みを行う。
【００２１】
不揮発性記憶部１３は、フラッシュメモリやＦｅＲＡＭ（Ferroelectric Random Access Memory）などであり、属性情報Ｄ１，Ｄ２や、管理情報Ｄ１０などを記憶する。
インターフェース制御部１４は、たとえば、ＳＡＴＡや、ＰＣＩ（Peripheral Component Interconnect）により、記憶制御装置１０とホスト装置２０との間で、コマンドやデータの送受信を行う。
【００２２】
インターフェース制御部１５−１，１５−２は、たとえば、ＡＴＡやＳＡＴＡにより、記憶制御装置１０と、記憶装置３０，３１との間でコマンドやデータの送受信を行う。
ところで、ＡＴＡは、ＨＤＤを接続するインターフェースの規格である。また、ＳＡＴＡは、ＡＴＡをシリアル化して高速化した規格である。ＨＤＤに対する各種制御内容及び制御方法は、これらの規格で定義されている。ＡＴＡとＳＡＴＡは互換性がある。ＡＴＡ及びＳＡＴＡの詳細については、非特許文献１−４に記載されている。
【００２３】
以下の説明では、ＳＡＴＡを用いたインターフェース制御部１５−１，１５−２により、記憶装置３０，３１と記憶制御装置１０を接続する場合について説明するが、ＡＴＡを用いてもよい。
【００２４】
ＳＡＴＡの規格では、ＨＤＤの省電力機能（Power management）として以下の３つが定義されている。
（ａ）パワーマネージメントフィーチャーセット（Power Management feature set）
（ｂ）アドバンスドパワーマネージメントフィーチャーセット（Advanced Power Management feature set）
（ｃ）ＳＡＴＡインターフェースパワーマネージメント（SATA Interface Power Management）
ＳＡＴＡに準拠した記憶装置３０，３１であれば、記憶制御装置１０は、省電力機能のサポートの有無の確認や、その制御ができる。
【００２５】
次に、これらの省電力機能を説明する。
図２は、パワーマネージメントフィーチャーセットで定義された状態とその意味を示す図である。
【００２６】
アクティブ（Active）状態は、Ｒ／Ｗ（リード／ライト）コマンドが実行中であることを意味する。ホスト装置２０からのＲ／Ｗコマンドを待機している状態が、アイドル（Idle）及びスタンバイ（Standby）状態である。また、スリープ（Sleep）状態は、コマンド受付不可の状態である。
【００２７】
一般的なＨＤＤにおいて、アイドル状態はメディアがスピンアップ（Spin-up）している状態であり、アクティブ状態へ非常に短い時間で遷移できる。一方、スタンバイ状態は、スピンダウン（Spin-down）している状態であり、アクティブ状態に遷移するまで数秒の時間がかかる（以降本明細書中では、この時間を復帰時間という）。
【００２８】
よって、パフォーマンスを優先するにはアイドル状態に置いておくことが有効である。消費電力は、一般的な２．５インチＨＤＤ（７２００ＲＰＭ（Revolution Per Minute））でアイドル状態やアクティブ状態のとき５〜８ワットであるが、スタンバイ状態になると約１／８程度まで低くなる。よって、スタンバイ状態の期間が長いほど高い節電効果が得られるが、復帰時間が長くなるためパフォーマンスが悪くなる。これらの状態遷移は、ホスト装置２０や記憶制御装置１０からのコマンドにより制御可能である。また、アイドル状態が一定時間を経過した場合に、スタンバイ状態へ自動的に移行する設定ができるようになっている。
【００２９】
一方、（ｂ）のアドバンスドパワーマネージメントフィーチャーセットは、前述のアイドル状態及びスタンバイ状態を細分化した動作状態を規定したものであり、以下に示す動作レベルを決めている。
【００３０】
図３は、アドバンスドパワーマネージメントフィーチャーセットで規定される動作レベルを示す図である。
図３に示すように、アイドル状態とスタンバイ状態は、Ｎｏ．１〜Ｎｏ．５の動作状態に分けられている。また、Ｌｅｖｅｌで表されている動作レベルは、１６進数で０１ｈからＦＥｈまで規定されている。
【００３１】
アイドル状態のＮｏ．１の動作状態は、アイドル状態で最もパフォーマンスが高い状態であり、ＬｅｖｅｌはＦＥｈであり、消費電力は、アイドル状態で最大となる。アイドル状態のＮｏ．２の動作状態では、Ｌｅｖｅｌは８１ｈ〜ＦＤｈであり、消費電力はＮｏ．１とＮｏ．２の動作状態の中間レベルとなる。アイドル状態のＮｏ．３の動作状態では、Ｌｅｖｅｌは８０ｈであり、消費電力はアイドル状態で最低となる。スタンバイ状態のＮｏ．４の動作状態では、Ｌｅｖｅｌは０２ｈ〜７Ｆｈであり、消費電力はＮｏ．３とＮｏ．５の動作状態の中間レベルとなる。スタンバイ状態のＮｏ．５の動作状態では、Ｌｅｖｅｌは０１ｈであり、消費電力は、スタンバイ状態で最低となる。
【００３２】
一般的なＨＤＤは、メディアの回転数を徐々に落とすなどして、中間レベルのパフォーマンス（復帰時間）や消費電力での動作を実現している。
（ｃ）のＳＡＴＡインターフェースパワーマネージメントは、ＳＡＴＡインターフェースのＰＨＹ（物理層）を低電圧状態に移行させるものである。
【００３３】
図４は、ＳＡＴＡインターフェースパワーマネージメントで規定されるＳＡＴＡインターフェースの状態とその意味を示す図である。
ＳＡＴＡインターフェースパワーマネージメントで規定される動作状態には、アクティブ状態、パーシャル（Partial）状態、スランバー（Slumber）状態がある。アクティブ状態は活性状態で、ＳＡＴＡインターフェースが利用できる状態を示す。また、パーシャル状態と、スランバー状態はともに省電力状態であるが、スランバー状態は、パーシャル状態よりも、アクティブ状態になるまでの復帰時間が長い。通常のＳＡＴＡインターフェースの接続を用いた場合、上記のＳＡＴＡインターフェースパワーマネージメントを用いることで、３００ミリワット程度の節電が期待できるといわれている。
【００３４】
以上のような、３つの省電力機能を記憶装置３０，３１が全てサポートしているかどうかは、記憶装置３０，３１の仕様に依存するものである。記憶装置管理部１１は、ＡＴＡやＳＡＴＡで規定されているアイデンティファイデバイス（IDENTIFY DEVICE）コマンドを、記憶装置３０，３１に発行することによって、各省電力機能のサポートの有無、現在有効か否かの設定状態を確認できる。
【００３５】
以下、第１の実施の形態の記憶制御装置１０による記憶装置３０，３１の制御方法を説明する。
図５は、記憶制御装置による各記憶装置の制御の一例を示す制御シーケンス図である。
【００３６】
記憶制御装置１０は、たとえば、初期起動開始時に、接続されている記憶装置３０，３１に対して属性情報を要求する（処理Ｔ１）。具体的には、記憶装置管理部１１は、インターフェース制御部１５−１，１５−２を介して記憶装置３０，３１に、アイデンティファイデバイスコマンドを発行する。そして、記憶制御装置１０の記憶装置管理部１１は、インターフェース制御部１５−１，１５−２を介して記憶装置３０，３１の属性情報Ｄ１，Ｄ２を取得し、不揮発性記憶部１３に記憶する（処理Ｔ２）。
【００３７】
図６は、属性情報の一部を示す図である。
図６のＮｏ．１−Ｎｏ．１１は、属性情報Ｄ１，Ｄ２に含まれる情報と、その情報の属性情報Ｄ１，Ｄ２中における位置（ワード、ビット）を示している。１０−２０ワード（Ｎｏ．１）には、記憶装置３０，３１の固有の識別情報であるシリアル番号が含まれる。なお、識別情報として、ＭＡＣ（Media Access Control）アドレスなどを用いてもよい。
【００３８】
また、７６ワードの９ビット（Ｎｏ．２）は、前述した省電力機能のうち、ＳＡＴＡインターフェースパワーマネージメントに関する情報の１つを示している。このビットが１の場合、ホスト側（ホスト装置２０や記憶制御装置１０）の主導によるパワーマネージメント（省電力制御）が可能である。７６ワードの１ビットと２ビット（Ｎｏ．３，Ｎｏ．４）には、データ転送速度を示す情報が含まれる。１ビット目が１の場合、記憶装置３０，３１は、１．５Ｇｂｐｓのデータ転送速度のＳＡＴＡに対応しており、２ビット目が１の場合、記憶装置３０，３１は、３．０Ｇｂｐｓのデータ転送速度のＳＡＴＡに対応している。
【００３９】
７８ワードの３ビット（Ｎｏ．５）も、ＳＡＴＡインターフェースパワーマネージメントに関する情報の１つを示している。このビットが１の場合には、記憶装置３０，３１の主導によるパワーマネージメントが可能である。また、７９ワードの３ビット（Ｎｏ．６）は、記憶装置３０，３１主導によるパワーマネージメントが有効か否かを示しており、このビットが１の場合には、記憶装置３０，３１主導によるパワーマネージメントが有効である。
【００４０】
８２ワードの３ビット（Ｎｏ．７）は、前述した省電力機能の１つであるパワーマネージメントフィーチャーセットがサポートされているか否かを示している。このビットが１の場合には、記憶装置３０，３１において、パワーマネージメントフィーチャーセットがサポートされている。８３ワードの３ビット（Ｎｏ．８）は、前述した省電力機能の１つであるアドバンスドパワーマネージメントフィーチャーセットがサポートされているか否かを示している。このビットが１の場合には、記憶装置３０，３１において、アドバンスドパワーマネージメントフィーチャーセットがサポートされている。
【００４１】
８５ワードの３ビット（Ｎｏ．９）は、パワーマネージメントフィーチャーセットが有効か否かを示しており、このビットが１の場合には、パワーマネージメントフィーチャーセットが有効である。８６ワードの３ビット（Ｎｏ．１０）は、アドバンスドパワーマネージメントフィーチャーセットが有効か否かを示しており、このビットが１の場合には、アドバンスドパワーマネージメントフィーチャーセットが有効である。
【００４２】
９１ワードの０−１５ビット（Ｎｏ．１１）は、アドバンスドパワーマネージメントフィーチャーセットの動作レベル（図３で示した０１ｈ−ＦＥｈまでのＬｅｖｅｌ）を示している。
【００４３】
記憶装置管理部１１は、上記のような属性情報Ｄ１，Ｄ２を取得すると、記憶装置３０，３１の性能差やサポートしている省電力機能の違いなどに応じて、いずれの記憶装置３０，３１の省電力機能を有効または無効とするか決定する（処理Ｔ３）。本実施の形態の場合、記憶装置管理部１１は、どちらの記憶装置３０，３１を、省電力機能を無効にするマスタ側とするか、省電力機能を有効にするバックアップ側とするか決定する。
【００４４】
図７は、省電力機能の比較の一例の様子を示す図である。
ここでは、図６で示した属性情報のうち、Ｎｏ．２，Ｎｏ．５，Ｎｏ．７，Ｎｏ．８の情報を比較パラメータとして挙げている。また、ここでは、３つの省電力機能のうち、アドバンスドパワーマネージメントフィーチャーセットの省電力効率が最も高く、ＳＡＴＡインターフェースパワーマネージメント、パワーマネージメントフィーチャーセットの順に続くと定義している。
【００４５】
バックアップ側となる記憶装置は、待機時間が長くなる。そのため、記憶装置管理部１１は、他の記憶装置よりも、省電力効率が高い省電力機能を実行可能な記憶装置を、省電力機能を有効にするバックアップ側として選択する。
【００４６】
まず、記憶装置管理部１１は、アドバンスドパワーマネージメントフィーチャーセットの比較パラメータＮｏ．８が、記憶装置３０，３１間で異なるか否か比較する。比較パラメータＮｏ．８が、記憶装置３０，３１間で異なる場合には、記憶装置管理部１１は、記憶装置３０，３１のうち、比較パラメータＮｏ．８が１（有効）となっている方をバックアップ側の記憶装置として選択する。
【００４７】
比較パラメータＮｏ．８が、記憶装置３０，３１間で同一の場合には、記憶装置管理部１１は、ＳＡＴＡインターフェースパワーマネージメントの比較パラメータＮｏ．２が、記憶装置３０，３１間で異なるか否か比較する。比較パラメータＮｏ．２が異なる場合には、記憶装置管理部１１は、記憶装置３０，３１のうち、Ｎｏ．２が１となっている方をバックアップ側の記憶装置として選択する。
【００４８】
比較パラメータＮｏ．２も、記憶装置３０，３１間で同一の場合には、記憶装置管理部１１は、ＳＡＴＡインターフェースパワーマネージメントの比較パラメータＮｏ．５が、記憶装置３０，３１間で異なるか否か比較する。比較パラメータＮｏ．５が異なる場合には、記憶装置管理部１１は、記憶装置３０，３１のうち、Ｎｏ．５が１となっている方をバックアップ側の記憶装置として選択する。
【００４９】
比較パラメータＮｏ．５も、記憶装置３０，３１間で同一の場合には、記憶装置管理部１１は、パワーマネージメントフィーチャーセットの比較パラメータＮｏ．７が、記憶装置３０，３１間で異なるか否か比較する。比較パラメータＮｏ．７が異なる場合には、記憶装置管理部１１は、記憶装置３０，３１のうち、Ｎｏ．７が１となっている方をバックアップ側の記憶装置として選択する。
【００５０】
比較パラメータＮｏ．７も、記憶装置３０，３１間で同一の場合には、記憶装置管理部１１は、図６で示した属性情報のうち、記憶装置３０，３１の性能を示す情報（Ｎｏ．３，Ｎｏ．４）を比較して、低速の方をバックアップ側の記憶装置として選択する。つまり、記憶装置管理部１１は、より性能の高い、高速なデータ転送速度に対応した記憶装置を、省電力機能を無効とするマスタ側にする。
【００５１】
記憶装置３０，３１の性能を示す情報（Ｎｏ．３，Ｎｏ．４）も一致している場合には、記憶装置管理部１１は、記憶装置３０，３１のどちらか一方をバックアップ側の記憶装置として選択する。
【００５２】
図８は、２つの記憶装置の属性情報の一例を示す図である。
ここでは、記憶装置３０，３１の属性情報Ｄ１，Ｄ２の、図７で示した比較パラメータＮｏ．２，Ｎｏ．５，Ｎｏ．７，Ｎｏ．８の値の一例を示している。
【００５３】
記憶装置３０は、Ｎｏ．２，Ｎｏ．５の値が０であるのに対して、記憶装置３１は１である。つまり、記憶装置３０は、ＳＡＴＡインターフェースの省電力機能をサポートしていない。Ｎｏ．７，Ｎｏ．８の値は、記憶装置３０，３１の両方で同じ値である。
【００５４】
比較パラメータが図８で示すような値の場合、記憶装置管理部１１は、図７で示した比較手法を行うと、Ｎｏ．２が１となっている記憶装置３１をバックアップ側として選択する。
【００５５】
記憶装置管理部１１は、マスタ側とバックアップ側の記憶装置の選択を行うと、その結果を管理情報Ｄ１０として、不揮発性記憶部１３に記憶する。
図９は、管理情報の一例を示す図である。
【００５６】
ここでは、記憶装置３０がマスタ側、記憶装置３１がバックアップ側として選択された場合について示している。管理情報Ｄ１０において、選択結果として、たとえば、取得した属性情報Ｄ１，Ｄ２に含まれる、記憶装置３０，３１固有の識別情報を記憶してもよい。また、管理情報Ｄ１０には、記憶装置３０，３１が有効なものか無効なものかを示す情報が格納される（詳細は後述する）。
【００５７】
次に、記憶装置管理部１１は、省電力機能を有効または無効にする設定コマンドを、インターフェース制御部１５−１，１５−２を介して記憶装置３０，３１に発行する（処理Ｔ４）。
【００５８】
図１０は、設定コマンドの一例を示す図である。
これらの設定コマンドは、たとえば、非特許文献１−３などにて定義されている。
Ｎｏ．１，Ｎｏ．２は、スタンバイタイムの設定やパワーマネージメントフィーチャーセットを設定するコマンド（ＩＤＬＥ（Ｅ３ｈ））である。Ｎｏ．１，Ｎｏ．２では、セクターカウントとして、さらに、パワーマネージメントフィーチャーセットを有効にするか、無効にするかが設定されている。Ｎｏ．１の場合、パワーマネージメントフィーチャーセットは有効となり、Ｎｏ．２の場合、無効となる。
【００５９】
Ｎｏ．３，Ｎｏ．４，Ｎｏ．５は、アドバンスドパワーマネージメントフィーチャーセットを設定するコマンド（ＳＥＴ  ＦＥＡＴＵＲＥ（ＥＦｈ））である。サブコマンドコードにより、アドバンスドパワーマネージメントフィーチャーセットを有効にするか否かが設定されている。Ｎｏ．３，Ｎｏ．４の場合、アドバンスドパワーマネージメントフィーチャーセットが有効となり、Ｎｏ．５の場合、無効となる。また、Ｎｏ．３，Ｎｏ．４では、セクターカウントとしてさらに、図３で示した、Ｌｅｖｅｌの最小値０１ｈと最大値ＦＥｈが定義されている。
【００６０】
Ｎｏ．６，Ｎｏ．７は、ＳＡＴＡインターフェースパワーマネージメントの機能（Device-initiated interface power state transitions）を設定するコマンド（ＳＥＴ  ＦＥＡＴＵＲＥ（ＥＦｈ））である。サブコマンドコードにより、ＳＡＴＡインターフェースパワーマネージメントの機能を有効にするか否かが設定されている。Ｎｏ．６の場合、この機能は有効となり、Ｎｏ．７の場合、無効となる。
【００６１】
記憶装置管理部１１は、バックアップ側に設定された記憶装置３１に対して、省電力機能を有効にする設定コマンド（図１０で示される、Ｎｏ．１，Ｎｏ．３，Ｎｏ．６のコマンド）を発行する。また、記憶装置管理部１１は、マスタ側に設定された記憶装置３０に対して、ハイパフォーマンスで運用するために省電力機能を無効にする設定コマンド（図１０で示されるＮｏ．２，Ｎｏ．５のコマンド）を発行する。
【００６２】
なお、図８に示したように、記憶装置３０は、ＳＡＴＡインターフェースパワーマネージメントに関する機能をサポートしていないので、この機能を無効にする設定コマンド（図１０で示されるＮｏ．７のコマンド）は発行しなくてもよい。
【００６３】
また、省電力機能の能力を調整したい場合、記憶装置管理部１１は、図１０で示されるＮｏ.１またはＮｏ．３のコマンドの、セクターカウントの内容を変更するなどして、スタンバイタイムやＬｅｖｅｌを変更することで対応可能である。
【００６４】
さらに、記憶装置管理部１１は、バックアップ側の記憶装置３１に対して、ＳＡＴＡインターフェースのＰＨＹを省電力モードへ移行させるように、インターフェース制御部１５−２に要求を行う。これにより、図５で示した制御シーケンスのように、記憶装置３１は、自動的に省電力モードに移行する（処理Ｔ５）。
【００６５】
その後、ホスト装置２０から、Ｒ／Ｗ要求があった場合（処理Ｔ６）、記憶制御装置１０は、Ｒ／Ｗ処理を行う（処理Ｔ７）。ホスト装置２０からのＲ／Ｗ要求は、記憶制御装置１０において、インターフェース制御部１４により受信される。インターフェース制御部１４は、Ｒ／Ｗ要求をＡＴＡコマンド制御部１２ａに通知する。
【００６６】
ＡＴＡコマンド制御部１２ａは、不揮発性記憶部１３に記憶された管理情報Ｄ１０を参照して、マスタ側が、記憶装置３０，３１のどちらになっているかを検出する。ＡＴＡコマンド制御部１２ａは、マスタ側の記憶装置３０と接続しているインターフェース制御部１５−１に対して、リードコマンドまたはライトコマンドを発行し、記憶装置３０と、ホスト装置２０との間でデータの読み出しや書き込みを実行させる。
【００６７】
なお、書き込み処理の場合、ミラーリング制御を行うため、バックアップ側アクセス制御部１２ｂは、不揮発性記憶部１３に記憶された管理情報Ｄ１０を参照して、バックアップ側の記憶装置３１を特定する。そして、記憶装置３１が省電力モードの場合には、バックアップ側アクセス制御部１２ｂは、記憶装置３１に対して、省電力モードから復帰させるためのコマンドを発行して、省電力モードからの復帰要求を行う（処理Ｔ８）。
【００６８】
コマンドを受けた記憶装置３１が省電力モードから復帰すると（処理Ｔ９）、記憶装置管理部１１は、記憶装置３１に対して、再び属性情報の取得要求を行う（処理Ｔ１０）。このとき、記憶装置管理部１１は、処理Ｔ１のときと同様に、インターフェース制御部１５−２を介して記憶装置３１に、アイデンティファイデバイスコマンドを発行する。そして、記憶装置管理部１１は、インターフェース制御部１５−２を介して記憶装置３１からの、属性情報Ｄ２を再度取得する（処理Ｔ１１）。記憶装置管理部１１は、処理Ｔ１１にて再度取得した属性情報Ｄ２と、処理Ｔ１で取得し、不揮発性記憶部１３に記憶されている属性情報Ｄ２とを比較し、識別情報が同一であるか否か検証する（処理Ｔ１２）。同一であれば、ＡＴＡコマンド制御部１２ａは、不揮発性記憶部１３に記憶された管理情報Ｄ１０を参照して、バックアップ側の記憶装置３１に、マスタ側の記憶装置３０と同一内容のデータの書き込み（バックアップ処理）を実行させる（処理Ｔ１３）。バックアップ処理終了後、記憶装置３１は、自動的に再び省電力モードに移行する（処理Ｔ１４）。たとえば、記憶装置制御部１２がコマンドを発行して、記憶装置３１を強制的に省電力モードに移行するようにしてもよい。
【００６９】
ところで、処理Ｔ１２において、識別情報が、予め記憶されていたものと異なる場合には、省電力モード中に記憶装置３１が不正に差し替えられた可能性がある。このとき、記憶装置管理部１１は、図９で示したような管理情報Ｄ１０に、バックアップ側の記憶装置３１が無効であることを示す情報を付加する。また、たとえば、記憶装置管理部１１は、ホスト装置２０に対しても、記憶装置３１が、不正に差し替わった可能性があることを通知してもよい。バックアップ側アクセス制御部１２ｂは、管理情報Ｄ１０を参照して、無効となっている記憶装置３１に対してバックアップ処理を行わせない。
【００７０】
なお、処理Ｔ８から始まるバックアップ処理については、処理Ｔ７と同時でなくともよく、ホスト装置２０からのコマンドに応じて所望のタイミングで行ってよい。たとえば、マスタ側の記憶装置３０よりも前に、記憶装置３１に書き込みを行ってもよい。
【００７１】
また、上記の処理Ｔ１０〜Ｔ１２は、たとえば、記憶装置３０，３１への電源の再投入などにより、記憶装置３０，３１が再起動するたびに行われる。なお、そのとき記憶装置管理部１１は、取得した属性情報Ｄ１，Ｄ２に含まれる識別情報が、予め不揮発性記憶部１３に記憶された属性情報Ｄ１，Ｄ２に含まれる識別情報と同一か否か比較する。一致しない場合には、記憶装置管理部１１は、その識別情報を含む属性情報を送信した記憶装置を無効とし、管理情報Ｄ１０を更新して、その記憶装置へのアクセスを禁止させる。
【００７２】
また、記憶装置３０，３１のうち一方が故障して、その記憶装置を交換した後のリビルド（データのコピー）終了後にも、処理Ｔ１〜Ｔ４を行い、省電力機能を有効または無効とする記憶装置の再設定を行う。
【００７３】
以上のように、記憶制御装置１０は、省電力機能や性能の差異によって、省電力機能を有効とする記憶装置３１と、省電力機能を無効とする記憶装置３０を決定し、決定した省電力機能の状態に応じて、記憶装置３０，３１を制御している。これにより、省電力効率高く複数の記憶装置を制御可能となり、複数の記憶装置を単純に動作させている場合に比べて、性能を落とさずに、より高い節電効果を得ることができる。
【００７４】
なお、上記では、他の記憶装置よりも、省電力効率が高い省電力機能をサポートしている記憶装置を優先して、その省電力機能を有効とする場合について説明したが、これに限定されない。記憶装置管理部１１は、属性情報を参照して、他の記憶装置よりも性能の高い記憶装置における省電力機能を、優先的に無効にするようにしてもよい。これにより、高速でデータの読み書きが可能になる。
【００７５】
つまり、本実施の形態の記憶制御装置１０によれば、複数の記憶装置をハイパフォーマンス優先、低消費電力優先など、偏ったポリシで運用をさせたい場合でも、それに応じた最適な制御が可能となる。たとえば、記憶装置管理部１１は、すべての記憶装置に対して、省電力機能を有効にしたり、無効にしたりしてもよい。ポリシの設定は、たとえば、ホスト装置２０または、記憶制御装置１０の図示しない外部スイッチからのコマンドを受けた記憶装置管理部１１が行うようにすればよい。
【００７６】
また、本実施の形態の記憶制御装置１０は、記憶装置が再起動後や、省電力モードからの復帰時に、別なものに差し替わっていないか検査し、異なる記憶装置が検出された場合、その記憶装置を無効とするので、不正な記憶装置へのアクセスを防止できる。
（第２の実施の形態）
ところで、以上の説明では、２つの記憶装置３０，３１を制御する場合（ミラーリング処理）を例にして説明したが、記憶制御装置は、３つ以上の記憶装置を制御するようにしてもよい。
【００７７】
図１１は、第２の実施の形態の記憶制御装置の構成を示す図である。
図１で示した第１の実施の形態の記憶制御装置１０と同様の構成要素については同一符号を付している。
【００７８】
第２の実施の形態の記憶制御装置１０ａは、３つの記憶装置３０，３１，３２とコマンドやデータの送受信を行う、インターフェース制御部１５−１，１５−２，１５−３を有している。
【００７９】
図５で示した記憶制御装置１０の動作と同様に、たとえば、初期起動時、記憶装置管理部１１ａは、記憶装置３０，３１，３２から、属性情報Ｄ１，Ｄ２，Ｄ３を取得する。そして、記憶装置管理部１１ａは、属性情報Ｄ１，Ｄ２，Ｄ３に応じて、省電力機能を有効とする記憶装置と、無効にする記憶装置を決定する。
【００８０】
たとえば、複数の記憶装置を制御する手法の１つとしてＲＡＩＤ０のストライピング処理を用いた場合、記憶装置管理部１１ａは、以下のような制御を行う。
ＲＡＩＤ０は、複数の記憶装置を複数個のブロックに分けて定義して、書き込みの際には、データをそれぞれブロック単位に分割して、複数の記憶装置にわたって分散して記憶する機能である。たとえば、記憶装置管理部１１ａは、３つの記憶装置３０，３１，３２を、全体で２４個のブロックに分けて定義し、１６ブロックを通常のデータの書き込みや読み出しの際に使用し、８ブロックをバックアップ用で使用する。このようなブロックの割り付けは、たとえば、ホスト装置２０または、記憶制御装置１０の図示しない外部スイッチからのコマンドを受けた記憶装置管理部１１ａが行う。
【００８１】
バックアップ用で使用するブロックは、アクセス頻度が低い。そのため、記憶装置管理部１１ａは、属性情報Ｄ１，Ｄ２，Ｄ３から各記憶装置３０，３１，３２の省電力機能のサポートの有無を比較し、より優れた省電力機能をサポートしている記憶装置に対して、バックアップ用のブロックを割り付ける。そして、記憶装置管理部１１ａは、バックアップ用のブロックを割り付ける記憶装置と、それ以外の記憶装置とを識別する管理情報Ｄ１１を生成し、不揮発性記憶部１３に記憶する。
【００８２】
たとえば、記憶装置３２の省電力機能が、他の記憶装置３０，３１よりも優れていた場合、記憶装置管理部１１ａは、記憶装置３２の省電力機能を有効とし、他の記憶装置３０，３１の省電力機能を無効とする。省電力モード中に記憶装置３２に対する書き込み要求があった場合、記憶制御装置１０ａは、図５で示した処理Ｔ８〜Ｔ１３とほぼ同様の処理を行う。すなわち、バックアップ側アクセス制御部１２ｂは、管理情報Ｄ１１を参照し、記憶装置３２に対して、省電力モードからの復帰要求を行い、記憶装置管理部１１ａは、記憶装置３２から属性情報Ｄ３を取得し、識別情報の検証を行う。識別情報が予め不揮発性記憶部１３に記憶していた属性情報Ｄ３のものと一致している場合には、記憶装置管理部１１ａは、記憶装置３２が正当なものであると判定し、書き込み処理を許可する。識別情報が不一致の場合には、記憶装置管理部１１ａは、記憶装置３２を無効とする。
【００８３】
以上のような３つの記憶装置３０，３１，３２を制御する記憶制御装置１０ａでも、第１の実施の形態の記憶制御装置１０と同様の効果を有するとともに、ＲＡＩＤ０に対応可能である。
【００８４】
なお、第２の実施の形態の記憶制御装置１０ａは、ＲＡＩＤ３またはＲＡＩＤ４にも対応可能である。ＲＡＩＤ３またはＲＡＩＤ４を適用する場合、図１１の記憶装置管理部１１ａは、以下のような制御を行う。
【００８５】
ＲＡＩＤ３とＲＡＩＤ４は、他の記憶装置に記憶するデータのエラーをチェックするためのパリティを記憶する専用の記憶装置を必要とする。パリティ専用の記憶装置はアクセスが集中するので、データ転送速度などの性能が最もよい記憶装置を、パリティ専用として選択することが望ましい。
【００８６】
たとえば、記憶装置管理部１１ａは、属性情報Ｄ１，Ｄ２，Ｄ３から、記憶装置３２の性能が最もよいことを検出した場合、記憶装置３２が、省電力モードにならないように、省電力機能を無効とする。
【００８７】
また、インターフェース制御部１５−１，１５−２，１５−３のうち特定のものに接続する記憶装置を、パリティ専用の記憶装置としてもよい。その場合、記憶装置管理部１１ａは、属性情報を取得しなくてもよく、パリティ専用の記憶装置に対して、省電力機能を無効にする設定を行う。
【００８８】
これにより、アクセスが集中する記憶装置３２が省電力モードに入ってしまうことを防止でき、高速に書き込み処理や読み出し処理が可能になる。
（第３の実施の形態）
以下、ＲＡＩＤ１とＲＡＩＤ０を組み合わせたＲＡＩＤ１＋０を用いて、複数の記憶装置を制御する記憶制御装置を説明する。
【００８９】
図１２は、第３の実施の形態の記憶制御装置の構成を示す図である。
図１、図１１で示した第１及び第２の実施の形態の記憶制御装置１０と同様の構成要素については同一符号を付している。
【００９０】
第３の実施の形態の記憶制御装置１０ｂは、６つの記憶装置３０，３１，３２，３３，３４，３５とコマンドやデータの送受信を行う、インターフェース制御部１５−１，１５−２，１５−３，１５−４，１５−５，１５−６を有している。
【００９１】
記憶装置管理部１１ｂは、たとえば、記憶装置３０，３１、記憶装置３２，３３、記憶装置３４，３５を、それぞれマスタ―スレーブペア４０，４１，４２とする。そして、記憶装置管理部１１ｂは、各ペアの一方を、マスタ側の記憶装置、他方をスレーブ（バックアップ）側の記憶装置として管理し、前述のミラーリング処理を行わせる。
【００９２】
図５で示した記憶制御装置１０の動作と同様に、たとえば、初期起動時、記憶装置管理部１１ｂは、記憶装置３０〜３５から、属性情報Ｄ１，Ｄ２，Ｄ３，Ｄ４，Ｄ５，Ｄ６を取得する。そして、記憶装置管理部１１ｂは、属性情報Ｄ１〜Ｄ６に応じて、省電力機能を無効とするマスタ側の記憶装置と、有効にするバックアップ側の記憶装置をマスタ―スレーブペア４０，４１，４２ごとに決定し、決定した内容を示す管理情報Ｄ１２を生成する。
【００９３】
ホスト装置２０側から書き込まれるデータは、ＲＡＩＤ０のストライピング処理により、ブロック単位に分割され、マスタ―スレーブペア４０，４１，４２のマスタ側の記憶装置に記憶される。バックアップ側の記憶装置へのデータのバックアップは、図５で示した処理Ｔ８〜Ｔ１３と同様に行われる。
【００９４】
データの読み出しの際には、各マスタ―スレーブペア４０，４１，４２のマスタ側の記憶装置から分散して記憶されていたデータが並列に読みだされる。
なお、記憶装置管理部１１ｂは、各マスタ―スレーブペア４０，４１，４２の属性情報Ｄ１〜Ｄ６から、他のペアよりも省電力効率の高い省電力機能をサポートしているペアを検出して、そのペアの記憶装置を両方ともバックアップ用の記憶装置としてもよい。
【００９５】
以上のような第３の実施の形態の記憶制御装置１０ｂによっても、第１の実施の形態の記憶制御装置１０と同様の効果が得られるとともに、ＲＡＩＤ１＋０に対応可能となる。
以上、実施の形態に基づき、本発明の記憶制御装置及び制御方法の一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。
【００９６】
以上説明した複数の実施の形態に関し、さらに以下の付記を開示する。
（付記１）  複数の記憶装置から、前記記憶装置の性能または省電力機能に関する情報を含む属性情報を取得し、前記記憶装置間における前記属性情報に応じて、前記省電力機能を有効とする前記記憶装置または無効にする前記記憶装置を決定する記憶装置管理部と、
決定した各前記記憶装置の前記省電力機能の状態に応じて、前記記憶装置を制御する記憶装置制御部と、
を有した記憶制御装置。
【００９７】
（付記２）  前記記憶装置管理部は、前記属性情報から、他の前記記憶装置よりも、省電力効率が高い前記省電力機能を実行可能な前記記憶装置を検出し、検出した前記記憶装置の前記省電力機能を有効とすることを特徴とする付記１記載の記憶制御装置。
【００９８】
（付記３）  前記記憶装置管理部は、前記属性情報から、前記性能が他の前記記憶装置よりも高い前記記憶装置を検出し、検出した前記記憶装置の前記省電力機能を無効とすることを特徴とする付記１または２に記載の記憶制御装置。
【００９９】
（付記４）  前記記憶装置管理部は、前記属性情報に含まれる前記記憶装置固有の識別情報を取得し、省電力モードから復帰した前記記憶装置に対して、再度前記属性情報を要求して送信させ、再度取得した前記属性情報に含まれる前記識別情報と、予め取得した前記識別情報とを比較して、前記省電力モードから復帰した前記記憶装置が正当なものか否かを判定することを特徴とする付記１乃至３のいずれか一項に記載の記憶制御装置。
【０１００】
（付記５）  前記記憶装置管理部は、複数の前記記憶装置の中で、他の前記記憶装置に記憶するデータをチェックする、パリティを記憶する前記記憶装置の前記省電力機能を無効にすることを特徴とする付記１乃至４のいずれか一項に記載の記憶制御装置。
【０１０１】
（付記６）  前記記憶装置管理部は、それぞれ２つの前記記憶装置を有する複数のペアを管理し、前記属性情報に応じて、前記ペアの一方の前記記憶装置の前記省電力機能を有効とし、他方の前記記憶装置の前記省電力機能を無効とすることを特徴とする付記１乃至５のいずれか一項に記載の記憶制御装置。
【０１０２】
（付記７）  前記記憶装置管理部は、前記記憶装置の初期起動後に、前記属性情報を取得し、前記省電力機能を有効にする前記記憶装置または無効にする前記記憶装置を決定することを特徴とする付記１乃至６のいずれか一項に記載の記憶制御装置。
【０１０３】
（付記８）  前記記憶装置管理部は、前記記憶装置の前記省電力機能として、パワーマネージメントフィーチャーセット、アドバンスドパワーマネージメントフィーチャーセットまたはＳＡＴＡインターフェースパワーマネージメントのサポートの有無を、前記属性情報から検出して、複数の前記記憶装置間での前記サポートの差異から、どの前記記憶装置の前記省電力機能を有効または無効にするか決定することを特徴とする付記１乃至７のいずれか一項に記載の記憶制御装置。
【０１０４】
（付記９）  記憶装置管理部が、複数の記憶装置から、前記記憶装置の性能または省電力機能に関する情報を含む属性情報を取得し、前記記憶装置間における前記属性情報に応じて、前記省電力機能を有効とする前記記憶装置または無効にする前記記憶装置を決定し、
記憶装置制御部が、決定した各前記記憶装置の前記省電力機能の状態に応じて、前記記憶装置を制御することを特徴とする制御方法。
【符号の説明】
【０１０５】
１０  記憶制御装置
１１  記憶装置管理部
１２  記憶装置制御部
１２ａ  ＡＴＡコマンド制御部
１２ｂ  バックアップ側アクセス制御部
１３  不揮発性記憶部
１４，１５−１，１５−２  インターフェース制御部
２０  ホスト装置
３０，３１  記憶装置
Ｄ１，Ｄ２  属性情報
Ｄ１０  管理情報
【図１】
2011022752.tif 000003
【図２】
2011022752.tif 000004
【図３】
2011022752.tif 000005
【図４】
2011022752.tif 000006
【図５】
2011022752.tif 000007
【図６】
2011022752.tif 000008
【図７】
2011022752.tif 000009
【図８】
2011022752.tif 000010
【図９】
2011022752.tif 000011
【図１０】
2011022752.tif 000012
【図１１】
2011022752.tif 000013
【図１２】
2011022752.tif 000014