説明

記憶制御装置及び制御方法

【課題】省電力効率高く複数の記憶装置を制御する。
【解決手段】記憶装置管理部11が、複数の記憶装置30,31から、記憶装置30,31の性能または省電力機能に関する情報を含む属性情報D1,D2を取得し、記憶装置30,31間における属性情報D1,D2に応じて、省電力機能を有効とする記憶装置または無効にする記憶装置を決定し、記憶装置制御部12が、決定した各記憶装置30,31の省電力機能の状態に応じて、記憶装置30,31を制御する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の記憶装置を制御する記憶制御装置及び制御方法に関する。
【背景技術】
【0002】
HDD(Hard Disk Drive)は、データの読み出しや書き込みの際に機械動作が伴うため、振動や衝撃が原因で故障する場合がある。そのため、複数のHDDを用い、あるHDDが故障しても他のHDDで継続して運用できるような制御方法が知られている。
【0003】
このような制御方法として、RAID(Redundant Array of Inexpensive Disks)と呼ばれる技術が知られている。
たとえば、RAID1では、2台のHDDの同じ場所に、同じ内容のデータを書き込む処理が行われる。この処理は、ミラーリング処理と呼ばれる。
【0004】
近年、重要なデータを保持する必要がある製品(たとえば、MFP:Multi-Function Peripheral)や、PC(Personal Computer)でも重要なデータが失われることを回避するために、ミラーリング処理を導入するケースが多くなってきている。
【0005】
ミラーリング処理においては、2台のHDDに対して、一方がマスタ装置、他方がバックアップ装置と定義され、内容を一致させる制御が行われる。つまり、データを書き込む場合には、両方のHDDの同じ場所に同じ内容を書き込む。データの読み出し時には、マスタ装置に対して、読み出し処理が行われる。
【0006】
ミラーリング処理は、ソフトウェアにて実現する場合と、専用のハードウェア(以下、記憶制御装置という)で実現する場合がある。後者は、記憶制御装置と接続する、ホスト側の装置(たとえばMFPやPC)のCPU(Central Processing Unit)を使用しないため、性能がよいという特長を有している。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2005−293224号公報
【特許文献2】特開2007−102579号公報
【非特許文献】
【0008】
【非特許文献1】John Masiewicz,“INCITS 397-2005 (1532D): AT Attachment with Packet Interface - 7 Volume 1”,[online],2004年4月21日,[平成21年6月17日検索],インターネット〈URL:http://www.t13.org/Documents/UploadedDocuments/docs2007/D1532v1r4b-AT_Attachment_with_Packet_nterface_-_7_Volume_1.pdf〉
【非特許文献2】John Masiewicz,“INCITS 397-2005 (1532D): AT Attachment with Packet Interface - 7 Volume 2”,[online],2004年4月21日,[平成21年6月17日検索],インターネット〈URL:http://www.t13.org/Documents/UploadedDocuments/docs2007/D1532v2r4b-AT_Attachment_with_Packet_Interface_-_7_Volume_2.pdf〉
【非特許文献3】John Masiewicz,“INCITS 397-2005 (1532D): AT Attachment with Packet Interface - 7 Volume 3”,[online],2004年4月21日,[平成21年6月17日検索],インターネット〈URL:http://www.t13.org/Documents/UploadedDocuments/docs2007/D1532v3r4b-AT_Attachment_with_Packet_Interface_-_7_Volume_3.pdf〉
【非特許文献4】Dell Computer Corporation他5社,“Serial ATA International Organization Serial ATA Revision 2.6”,[online],2007年2月15日,[平成21年6月19日検索],インターネット〈URL:http://arc.opensolaris.org/caselog/FWARC/2008/013/commitment2.materials/specifications/SerialATA_Revision_2_6_Gold.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかし、従来の記憶制御装置では、複数の記憶装置それぞれの性能や、それぞれがサポートする省電力機能に差異がある場合、それらの差異に応じた制御を行っていない。そのため、省電力効率高く複数の記憶装置を制御することができないという問題があった。
【0010】
上記の点を鑑みて、本発明は、省電力効率高く複数の記憶装置を制御可能な記憶制御装置及び制御方法を提供することを目的とする。
【課題を解決するための手段】
【0011】
上記目的を達成するために、以下のような記憶制御装置が提供される。
この記憶制御装置は、複数の記憶装置から、前記記憶装置の性能または省電力機能に関する情報を含む属性情報を取得し、前記記憶装置間における前記属性情報に応じて、前記省電力機能を有効とする前記記憶装置または無効にする前記記憶装置を決定する記憶装置管理部と、決定した各前記記憶装置の前記省電力機能の状態に応じて、前記記憶装置を制御する記憶装置制御部と、を有する。
【発明の効果】
【0012】
開示の記憶制御装置によれば、省電力効率高く複数の記憶装置を制御できる。
【図面の簡単な説明】
【0013】
【図1】第1の実施の形態の記憶制御装置の構成を示す図である。
【図2】パワーマネージメントフィーチャーセットで定義された状態とその意味を示す図である。
【図3】アドバンスドパワーマネージメントフィーチャーセットで規定される動作レベルを示す図である。
【図4】SATAインターフェースパワーマネージメントで規定されるSATAインターフェースの状態とその意味を示す図である。
【図5】記憶制御装置による各記憶装置の制御の一例を示す制御シーケンス図である。
【図6】属性情報の一部を示す図である。
【図7】省電力機能の比較の一例の様子を示す図である。
【図8】2つの記憶装置の属性情報の一例を示す図である。
【図9】管理情報の一例を示す図である。
【図10】設定コマンドの一例を示す図である。
【図11】第2の実施の形態の記憶制御装置の構成を示す図である。
【図12】第3の実施の形態の記憶制御装置の構成を示す図である。
【発明を実施するための形態】
【0014】
以下、本発明の記憶制御装置及び制御方法の一観点である実施の形態を、図面を参照して説明する。
(第1の実施の形態)
図1は、第1の実施の形態の記憶制御装置の構成を示す図である。
【0015】
なお、ここでは、RAID1のミラーリング処理を行う場合を例にして説明する。
記憶制御装置10は、記憶装置管理部11、記憶装置制御部12、不揮発性記憶部13、インターフェース制御部14,15−1,15−2を有している。記憶制御装置10は、ホスト装置20と、記憶装置30,31との間に接続されている。このような記憶制御装置10は、たとえば、各部の機能を実行する複数のLSI(Large Scale Integrated circuit)を搭載した回路基板などにより実現される。
【0016】
ホスト装置20は、たとえば、MFPや、PCなどである。記憶制御装置10や、記憶装置30,31は、ホスト装置20内に内蔵されていてもよい。
記憶装置30,31は、ホスト装置20に内蔵される内蔵HDD、または外付けのHDDなどである。
【0017】
記憶装置管理部11は、記憶装置30,31の性能または省電力機能に関する情報を含む属性情報D1,D2を取得し、それらを不揮発性記憶部13に記憶する。記憶装置30,31の性能に関する情報は、たとえば、HDDの回転速度、または高速なインターフェースに対応しているか否かなどの情報である。省電力機能に関する情報は、たとえば、ATA(Advanced Technology Attachment)やSATA(Serial ATA)の後述する各種省電力機能をサポートしているか否かの情報である。
【0018】
また、記憶装置管理部11は、属性情報D1,D2に応じて、省電力機能を有効とする記憶装置と、無効にする記憶装置とを決定し、その情報を含む管理情報D10を不揮発性記憶部13に記憶する。なお、本実施の形態において、管理情報D10は、決定した各記憶装置30,31の省電力機能の状態に応じて、省電力機能を無効にするマスタ側の記憶装置、有効にするバックアップ側の記憶装置を管理している。
【0019】
記憶装置制御部12は、ATAコマンド制御部12aと、バックアップ側アクセス制御部12bを有しており、管理情報D10を参照して、決定された省電力機能の状態に応じて、記憶装置30,31を制御する。
【0020】
ATAコマンド制御部12aは、ホスト装置20から受信したコマンドを記憶装置30,31に発行する。
バックアップ側アクセス制御部12bは、バックアップ側の記憶装置(管理情報D10によって選択される記憶装置30,31のいずれか)にデータの書き込みを行う。
【0021】
不揮発性記憶部13は、フラッシュメモリやFeRAM(Ferroelectric Random Access Memory)などであり、属性情報D1,D2や、管理情報D10などを記憶する。
インターフェース制御部14は、たとえば、SATAや、PCI(Peripheral Component Interconnect)により、記憶制御装置10とホスト装置20との間で、コマンドやデータの送受信を行う。
【0022】
インターフェース制御部15−1,15−2は、たとえば、ATAやSATAにより、記憶制御装置10と、記憶装置30,31との間でコマンドやデータの送受信を行う。
ところで、ATAは、HDDを接続するインターフェースの規格である。また、SATAは、ATAをシリアル化して高速化した規格である。HDDに対する各種制御内容及び制御方法は、これらの規格で定義されている。ATAとSATAは互換性がある。ATA及びSATAの詳細については、非特許文献1−4に記載されている。
【0023】
以下の説明では、SATAを用いたインターフェース制御部15−1,15−2により、記憶装置30,31と記憶制御装置10を接続する場合について説明するが、ATAを用いてもよい。
【0024】
SATAの規格では、HDDの省電力機能(Power management)として以下の3つが定義されている。
(a)パワーマネージメントフィーチャーセット(Power Management feature set)
(b)アドバンスドパワーマネージメントフィーチャーセット(Advanced Power Management feature set)
(c)SATAインターフェースパワーマネージメント(SATA Interface Power Management)
SATAに準拠した記憶装置30,31であれば、記憶制御装置10は、省電力機能のサポートの有無の確認や、その制御ができる。
【0025】
次に、これらの省電力機能を説明する。
図2は、パワーマネージメントフィーチャーセットで定義された状態とその意味を示す図である。
【0026】
アクティブ(Active)状態は、R/W(リード/ライト)コマンドが実行中であることを意味する。ホスト装置20からのR/Wコマンドを待機している状態が、アイドル(Idle)及びスタンバイ(Standby)状態である。また、スリープ(Sleep)状態は、コマンド受付不可の状態である。
【0027】
一般的なHDDにおいて、アイドル状態はメディアがスピンアップ(Spin-up)している状態であり、アクティブ状態へ非常に短い時間で遷移できる。一方、スタンバイ状態は、スピンダウン(Spin-down)している状態であり、アクティブ状態に遷移するまで数秒の時間がかかる(以降本明細書中では、この時間を復帰時間という)。
【0028】
よって、パフォーマンスを優先するにはアイドル状態に置いておくことが有効である。消費電力は、一般的な2.5インチHDD(7200RPM(Revolution Per Minute))でアイドル状態やアクティブ状態のとき5〜8ワットであるが、スタンバイ状態になると約1/8程度まで低くなる。よって、スタンバイ状態の期間が長いほど高い節電効果が得られるが、復帰時間が長くなるためパフォーマンスが悪くなる。これらの状態遷移は、ホスト装置20や記憶制御装置10からのコマンドにより制御可能である。また、アイドル状態が一定時間を経過した場合に、スタンバイ状態へ自動的に移行する設定ができるようになっている。
【0029】
一方、(b)のアドバンスドパワーマネージメントフィーチャーセットは、前述のアイドル状態及びスタンバイ状態を細分化した動作状態を規定したものであり、以下に示す動作レベルを決めている。
【0030】
図3は、アドバンスドパワーマネージメントフィーチャーセットで規定される動作レベルを示す図である。
図3に示すように、アイドル状態とスタンバイ状態は、No.1〜No.5の動作状態に分けられている。また、Levelで表されている動作レベルは、16進数で01hからFEhまで規定されている。
【0031】
アイドル状態のNo.1の動作状態は、アイドル状態で最もパフォーマンスが高い状態であり、LevelはFEhであり、消費電力は、アイドル状態で最大となる。アイドル状態のNo.2の動作状態では、Levelは81h〜FDhであり、消費電力はNo.1とNo.2の動作状態の中間レベルとなる。アイドル状態のNo.3の動作状態では、Levelは80hであり、消費電力はアイドル状態で最低となる。スタンバイ状態のNo.4の動作状態では、Levelは02h〜7Fhであり、消費電力はNo.3とNo.5の動作状態の中間レベルとなる。スタンバイ状態のNo.5の動作状態では、Levelは01hであり、消費電力は、スタンバイ状態で最低となる。
【0032】
一般的なHDDは、メディアの回転数を徐々に落とすなどして、中間レベルのパフォーマンス(復帰時間)や消費電力での動作を実現している。
(c)のSATAインターフェースパワーマネージメントは、SATAインターフェースのPHY(物理層)を低電圧状態に移行させるものである。
【0033】
図4は、SATAインターフェースパワーマネージメントで規定されるSATAインターフェースの状態とその意味を示す図である。
SATAインターフェースパワーマネージメントで規定される動作状態には、アクティブ状態、パーシャル(Partial)状態、スランバー(Slumber)状態がある。アクティブ状態は活性状態で、SATAインターフェースが利用できる状態を示す。また、パーシャル状態と、スランバー状態はともに省電力状態であるが、スランバー状態は、パーシャル状態よりも、アクティブ状態になるまでの復帰時間が長い。通常のSATAインターフェースの接続を用いた場合、上記のSATAインターフェースパワーマネージメントを用いることで、300ミリワット程度の節電が期待できるといわれている。
【0034】
以上のような、3つの省電力機能を記憶装置30,31が全てサポートしているかどうかは、記憶装置30,31の仕様に依存するものである。記憶装置管理部11は、ATAやSATAで規定されているアイデンティファイデバイス(IDENTIFY DEVICE)コマンドを、記憶装置30,31に発行することによって、各省電力機能のサポートの有無、現在有効か否かの設定状態を確認できる。
【0035】
以下、第1の実施の形態の記憶制御装置10による記憶装置30,31の制御方法を説明する。
図5は、記憶制御装置による各記憶装置の制御の一例を示す制御シーケンス図である。
【0036】
記憶制御装置10は、たとえば、初期起動開始時に、接続されている記憶装置30,31に対して属性情報を要求する(処理T1)。具体的には、記憶装置管理部11は、インターフェース制御部15−1,15−2を介して記憶装置30,31に、アイデンティファイデバイスコマンドを発行する。そして、記憶制御装置10の記憶装置管理部11は、インターフェース制御部15−1,15−2を介して記憶装置30,31の属性情報D1,D2を取得し、不揮発性記憶部13に記憶する(処理T2)。
【0037】
図6は、属性情報の一部を示す図である。
図6のNo.1−No.11は、属性情報D1,D2に含まれる情報と、その情報の属性情報D1,D2中における位置(ワード、ビット)を示している。10−20ワード(No.1)には、記憶装置30,31の固有の識別情報であるシリアル番号が含まれる。なお、識別情報として、MAC(Media Access Control)アドレスなどを用いてもよい。
【0038】
また、76ワードの9ビット(No.2)は、前述した省電力機能のうち、SATAインターフェースパワーマネージメントに関する情報の1つを示している。このビットが1の場合、ホスト側(ホスト装置20や記憶制御装置10)の主導によるパワーマネージメント(省電力制御)が可能である。76ワードの1ビットと2ビット(No.3,No.4)には、データ転送速度を示す情報が含まれる。1ビット目が1の場合、記憶装置30,31は、1.5Gbpsのデータ転送速度のSATAに対応しており、2ビット目が1の場合、記憶装置30,31は、3.0Gbpsのデータ転送速度のSATAに対応している。
【0039】
78ワードの3ビット(No.5)も、SATAインターフェースパワーマネージメントに関する情報の1つを示している。このビットが1の場合には、記憶装置30,31の主導によるパワーマネージメントが可能である。また、79ワードの3ビット(No.6)は、記憶装置30,31主導によるパワーマネージメントが有効か否かを示しており、このビットが1の場合には、記憶装置30,31主導によるパワーマネージメントが有効である。
【0040】
82ワードの3ビット(No.7)は、前述した省電力機能の1つであるパワーマネージメントフィーチャーセットがサポートされているか否かを示している。このビットが1の場合には、記憶装置30,31において、パワーマネージメントフィーチャーセットがサポートされている。83ワードの3ビット(No.8)は、前述した省電力機能の1つであるアドバンスドパワーマネージメントフィーチャーセットがサポートされているか否かを示している。このビットが1の場合には、記憶装置30,31において、アドバンスドパワーマネージメントフィーチャーセットがサポートされている。
【0041】
85ワードの3ビット(No.9)は、パワーマネージメントフィーチャーセットが有効か否かを示しており、このビットが1の場合には、パワーマネージメントフィーチャーセットが有効である。86ワードの3ビット(No.10)は、アドバンスドパワーマネージメントフィーチャーセットが有効か否かを示しており、このビットが1の場合には、アドバンスドパワーマネージメントフィーチャーセットが有効である。
【0042】
91ワードの0−15ビット(No.11)は、アドバンスドパワーマネージメントフィーチャーセットの動作レベル(図3で示した01h−FEhまでのLevel)を示している。
【0043】
記憶装置管理部11は、上記のような属性情報D1,D2を取得すると、記憶装置30,31の性能差やサポートしている省電力機能の違いなどに応じて、いずれの記憶装置30,31の省電力機能を有効または無効とするか決定する(処理T3)。本実施の形態の場合、記憶装置管理部11は、どちらの記憶装置30,31を、省電力機能を無効にするマスタ側とするか、省電力機能を有効にするバックアップ側とするか決定する。
【0044】
図7は、省電力機能の比較の一例の様子を示す図である。
ここでは、図6で示した属性情報のうち、No.2,No.5,No.7,No.8の情報を比較パラメータとして挙げている。また、ここでは、3つの省電力機能のうち、アドバンスドパワーマネージメントフィーチャーセットの省電力効率が最も高く、SATAインターフェースパワーマネージメント、パワーマネージメントフィーチャーセットの順に続くと定義している。
【0045】
バックアップ側となる記憶装置は、待機時間が長くなる。そのため、記憶装置管理部11は、他の記憶装置よりも、省電力効率が高い省電力機能を実行可能な記憶装置を、省電力機能を有効にするバックアップ側として選択する。
【0046】
まず、記憶装置管理部11は、アドバンスドパワーマネージメントフィーチャーセットの比較パラメータNo.8が、記憶装置30,31間で異なるか否か比較する。比較パラメータNo.8が、記憶装置30,31間で異なる場合には、記憶装置管理部11は、記憶装置30,31のうち、比較パラメータNo.8が1(有効)となっている方をバックアップ側の記憶装置として選択する。
【0047】
比較パラメータNo.8が、記憶装置30,31間で同一の場合には、記憶装置管理部11は、SATAインターフェースパワーマネージメントの比較パラメータNo.2が、記憶装置30,31間で異なるか否か比較する。比較パラメータNo.2が異なる場合には、記憶装置管理部11は、記憶装置30,31のうち、No.2が1となっている方をバックアップ側の記憶装置として選択する。
【0048】
比較パラメータNo.2も、記憶装置30,31間で同一の場合には、記憶装置管理部11は、SATAインターフェースパワーマネージメントの比較パラメータNo.5が、記憶装置30,31間で異なるか否か比較する。比較パラメータNo.5が異なる場合には、記憶装置管理部11は、記憶装置30,31のうち、No.5が1となっている方をバックアップ側の記憶装置として選択する。
【0049】
比較パラメータNo.5も、記憶装置30,31間で同一の場合には、記憶装置管理部11は、パワーマネージメントフィーチャーセットの比較パラメータNo.7が、記憶装置30,31間で異なるか否か比較する。比較パラメータNo.7が異なる場合には、記憶装置管理部11は、記憶装置30,31のうち、No.7が1となっている方をバックアップ側の記憶装置として選択する。
【0050】
比較パラメータNo.7も、記憶装置30,31間で同一の場合には、記憶装置管理部11は、図6で示した属性情報のうち、記憶装置30,31の性能を示す情報(No.3,No.4)を比較して、低速の方をバックアップ側の記憶装置として選択する。つまり、記憶装置管理部11は、より性能の高い、高速なデータ転送速度に対応した記憶装置を、省電力機能を無効とするマスタ側にする。
【0051】
記憶装置30,31の性能を示す情報(No.3,No.4)も一致している場合には、記憶装置管理部11は、記憶装置30,31のどちらか一方をバックアップ側の記憶装置として選択する。
【0052】
図8は、2つの記憶装置の属性情報の一例を示す図である。
ここでは、記憶装置30,31の属性情報D1,D2の、図7で示した比較パラメータNo.2,No.5,No.7,No.8の値の一例を示している。
【0053】
記憶装置30は、No.2,No.5の値が0であるのに対して、記憶装置31は1である。つまり、記憶装置30は、SATAインターフェースの省電力機能をサポートしていない。No.7,No.8の値は、記憶装置30,31の両方で同じ値である。
【0054】
比較パラメータが図8で示すような値の場合、記憶装置管理部11は、図7で示した比較手法を行うと、No.2が1となっている記憶装置31をバックアップ側として選択する。
【0055】
記憶装置管理部11は、マスタ側とバックアップ側の記憶装置の選択を行うと、その結果を管理情報D10として、不揮発性記憶部13に記憶する。
図9は、管理情報の一例を示す図である。
【0056】
ここでは、記憶装置30がマスタ側、記憶装置31がバックアップ側として選択された場合について示している。管理情報D10において、選択結果として、たとえば、取得した属性情報D1,D2に含まれる、記憶装置30,31固有の識別情報を記憶してもよい。また、管理情報D10には、記憶装置30,31が有効なものか無効なものかを示す情報が格納される(詳細は後述する)。
【0057】
次に、記憶装置管理部11は、省電力機能を有効または無効にする設定コマンドを、インターフェース制御部15−1,15−2を介して記憶装置30,31に発行する(処理T4)。
【0058】
図10は、設定コマンドの一例を示す図である。
これらの設定コマンドは、たとえば、非特許文献1−3などにて定義されている。
No.1,No.2は、スタンバイタイムの設定やパワーマネージメントフィーチャーセットを設定するコマンド(IDLE(E3h))である。No.1,No.2では、セクターカウントとして、さらに、パワーマネージメントフィーチャーセットを有効にするか、無効にするかが設定されている。No.1の場合、パワーマネージメントフィーチャーセットは有効となり、No.2の場合、無効となる。
【0059】
No.3,No.4,No.5は、アドバンスドパワーマネージメントフィーチャーセットを設定するコマンド(SET FEATURE(EFh))である。サブコマンドコードにより、アドバンスドパワーマネージメントフィーチャーセットを有効にするか否かが設定されている。No.3,No.4の場合、アドバンスドパワーマネージメントフィーチャーセットが有効となり、No.5の場合、無効となる。また、No.3,No.4では、セクターカウントとしてさらに、図3で示した、Levelの最小値01hと最大値FEhが定義されている。
【0060】
No.6,No.7は、SATAインターフェースパワーマネージメントの機能(Device-initiated interface power state transitions)を設定するコマンド(SET FEATURE(EFh))である。サブコマンドコードにより、SATAインターフェースパワーマネージメントの機能を有効にするか否かが設定されている。No.6の場合、この機能は有効となり、No.7の場合、無効となる。
【0061】
記憶装置管理部11は、バックアップ側に設定された記憶装置31に対して、省電力機能を有効にする設定コマンド(図10で示される、No.1,No.3,No.6のコマンド)を発行する。また、記憶装置管理部11は、マスタ側に設定された記憶装置30に対して、ハイパフォーマンスで運用するために省電力機能を無効にする設定コマンド(図10で示されるNo.2,No.5のコマンド)を発行する。
【0062】
なお、図8に示したように、記憶装置30は、SATAインターフェースパワーマネージメントに関する機能をサポートしていないので、この機能を無効にする設定コマンド(図10で示されるNo.7のコマンド)は発行しなくてもよい。
【0063】
また、省電力機能の能力を調整したい場合、記憶装置管理部11は、図10で示されるNo.1またはNo.3のコマンドの、セクターカウントの内容を変更するなどして、スタンバイタイムやLevelを変更することで対応可能である。
【0064】
さらに、記憶装置管理部11は、バックアップ側の記憶装置31に対して、SATAインターフェースのPHYを省電力モードへ移行させるように、インターフェース制御部15−2に要求を行う。これにより、図5で示した制御シーケンスのように、記憶装置31は、自動的に省電力モードに移行する(処理T5)。
【0065】
その後、ホスト装置20から、R/W要求があった場合(処理T6)、記憶制御装置10は、R/W処理を行う(処理T7)。ホスト装置20からのR/W要求は、記憶制御装置10において、インターフェース制御部14により受信される。インターフェース制御部14は、R/W要求をATAコマンド制御部12aに通知する。
【0066】
ATAコマンド制御部12aは、不揮発性記憶部13に記憶された管理情報D10を参照して、マスタ側が、記憶装置30,31のどちらになっているかを検出する。ATAコマンド制御部12aは、マスタ側の記憶装置30と接続しているインターフェース制御部15−1に対して、リードコマンドまたはライトコマンドを発行し、記憶装置30と、ホスト装置20との間でデータの読み出しや書き込みを実行させる。
【0067】
なお、書き込み処理の場合、ミラーリング制御を行うため、バックアップ側アクセス制御部12bは、不揮発性記憶部13に記憶された管理情報D10を参照して、バックアップ側の記憶装置31を特定する。そして、記憶装置31が省電力モードの場合には、バックアップ側アクセス制御部12bは、記憶装置31に対して、省電力モードから復帰させるためのコマンドを発行して、省電力モードからの復帰要求を行う(処理T8)。
【0068】
コマンドを受けた記憶装置31が省電力モードから復帰すると(処理T9)、記憶装置管理部11は、記憶装置31に対して、再び属性情報の取得要求を行う(処理T10)。このとき、記憶装置管理部11は、処理T1のときと同様に、インターフェース制御部15−2を介して記憶装置31に、アイデンティファイデバイスコマンドを発行する。そして、記憶装置管理部11は、インターフェース制御部15−2を介して記憶装置31からの、属性情報D2を再度取得する(処理T11)。記憶装置管理部11は、処理T11にて再度取得した属性情報D2と、処理T1で取得し、不揮発性記憶部13に記憶されている属性情報D2とを比較し、識別情報が同一であるか否か検証する(処理T12)。同一であれば、ATAコマンド制御部12aは、不揮発性記憶部13に記憶された管理情報D10を参照して、バックアップ側の記憶装置31に、マスタ側の記憶装置30と同一内容のデータの書き込み(バックアップ処理)を実行させる(処理T13)。バックアップ処理終了後、記憶装置31は、自動的に再び省電力モードに移行する(処理T14)。たとえば、記憶装置制御部12がコマンドを発行して、記憶装置31を強制的に省電力モードに移行するようにしてもよい。
【0069】
ところで、処理T12において、識別情報が、予め記憶されていたものと異なる場合には、省電力モード中に記憶装置31が不正に差し替えられた可能性がある。このとき、記憶装置管理部11は、図9で示したような管理情報D10に、バックアップ側の記憶装置31が無効であることを示す情報を付加する。また、たとえば、記憶装置管理部11は、ホスト装置20に対しても、記憶装置31が、不正に差し替わった可能性があることを通知してもよい。バックアップ側アクセス制御部12bは、管理情報D10を参照して、無効となっている記憶装置31に対してバックアップ処理を行わせない。
【0070】
なお、処理T8から始まるバックアップ処理については、処理T7と同時でなくともよく、ホスト装置20からのコマンドに応じて所望のタイミングで行ってよい。たとえば、マスタ側の記憶装置30よりも前に、記憶装置31に書き込みを行ってもよい。
【0071】
また、上記の処理T10〜T12は、たとえば、記憶装置30,31への電源の再投入などにより、記憶装置30,31が再起動するたびに行われる。なお、そのとき記憶装置管理部11は、取得した属性情報D1,D2に含まれる識別情報が、予め不揮発性記憶部13に記憶された属性情報D1,D2に含まれる識別情報と同一か否か比較する。一致しない場合には、記憶装置管理部11は、その識別情報を含む属性情報を送信した記憶装置を無効とし、管理情報D10を更新して、その記憶装置へのアクセスを禁止させる。
【0072】
また、記憶装置30,31のうち一方が故障して、その記憶装置を交換した後のリビルド(データのコピー)終了後にも、処理T1〜T4を行い、省電力機能を有効または無効とする記憶装置の再設定を行う。
【0073】
以上のように、記憶制御装置10は、省電力機能や性能の差異によって、省電力機能を有効とする記憶装置31と、省電力機能を無効とする記憶装置30を決定し、決定した省電力機能の状態に応じて、記憶装置30,31を制御している。これにより、省電力効率高く複数の記憶装置を制御可能となり、複数の記憶装置を単純に動作させている場合に比べて、性能を落とさずに、より高い節電効果を得ることができる。
【0074】
なお、上記では、他の記憶装置よりも、省電力効率が高い省電力機能をサポートしている記憶装置を優先して、その省電力機能を有効とする場合について説明したが、これに限定されない。記憶装置管理部11は、属性情報を参照して、他の記憶装置よりも性能の高い記憶装置における省電力機能を、優先的に無効にするようにしてもよい。これにより、高速でデータの読み書きが可能になる。
【0075】
つまり、本実施の形態の記憶制御装置10によれば、複数の記憶装置をハイパフォーマンス優先、低消費電力優先など、偏ったポリシで運用をさせたい場合でも、それに応じた最適な制御が可能となる。たとえば、記憶装置管理部11は、すべての記憶装置に対して、省電力機能を有効にしたり、無効にしたりしてもよい。ポリシの設定は、たとえば、ホスト装置20または、記憶制御装置10の図示しない外部スイッチからのコマンドを受けた記憶装置管理部11が行うようにすればよい。
【0076】
また、本実施の形態の記憶制御装置10は、記憶装置が再起動後や、省電力モードからの復帰時に、別なものに差し替わっていないか検査し、異なる記憶装置が検出された場合、その記憶装置を無効とするので、不正な記憶装置へのアクセスを防止できる。
(第2の実施の形態)
ところで、以上の説明では、2つの記憶装置30,31を制御する場合(ミラーリング処理)を例にして説明したが、記憶制御装置は、3つ以上の記憶装置を制御するようにしてもよい。
【0077】
図11は、第2の実施の形態の記憶制御装置の構成を示す図である。
図1で示した第1の実施の形態の記憶制御装置10と同様の構成要素については同一符号を付している。
【0078】
第2の実施の形態の記憶制御装置10aは、3つの記憶装置30,31,32とコマンドやデータの送受信を行う、インターフェース制御部15−1,15−2,15−3を有している。
【0079】
図5で示した記憶制御装置10の動作と同様に、たとえば、初期起動時、記憶装置管理部11aは、記憶装置30,31,32から、属性情報D1,D2,D3を取得する。そして、記憶装置管理部11aは、属性情報D1,D2,D3に応じて、省電力機能を有効とする記憶装置と、無効にする記憶装置を決定する。
【0080】
たとえば、複数の記憶装置を制御する手法の1つとしてRAID0のストライピング処理を用いた場合、記憶装置管理部11aは、以下のような制御を行う。
RAID0は、複数の記憶装置を複数個のブロックに分けて定義して、書き込みの際には、データをそれぞれブロック単位に分割して、複数の記憶装置にわたって分散して記憶する機能である。たとえば、記憶装置管理部11aは、3つの記憶装置30,31,32を、全体で24個のブロックに分けて定義し、16ブロックを通常のデータの書き込みや読み出しの際に使用し、8ブロックをバックアップ用で使用する。このようなブロックの割り付けは、たとえば、ホスト装置20または、記憶制御装置10の図示しない外部スイッチからのコマンドを受けた記憶装置管理部11aが行う。
【0081】
バックアップ用で使用するブロックは、アクセス頻度が低い。そのため、記憶装置管理部11aは、属性情報D1,D2,D3から各記憶装置30,31,32の省電力機能のサポートの有無を比較し、より優れた省電力機能をサポートしている記憶装置に対して、バックアップ用のブロックを割り付ける。そして、記憶装置管理部11aは、バックアップ用のブロックを割り付ける記憶装置と、それ以外の記憶装置とを識別する管理情報D11を生成し、不揮発性記憶部13に記憶する。
【0082】
たとえば、記憶装置32の省電力機能が、他の記憶装置30,31よりも優れていた場合、記憶装置管理部11aは、記憶装置32の省電力機能を有効とし、他の記憶装置30,31の省電力機能を無効とする。省電力モード中に記憶装置32に対する書き込み要求があった場合、記憶制御装置10aは、図5で示した処理T8〜T13とほぼ同様の処理を行う。すなわち、バックアップ側アクセス制御部12bは、管理情報D11を参照し、記憶装置32に対して、省電力モードからの復帰要求を行い、記憶装置管理部11aは、記憶装置32から属性情報D3を取得し、識別情報の検証を行う。識別情報が予め不揮発性記憶部13に記憶していた属性情報D3のものと一致している場合には、記憶装置管理部11aは、記憶装置32が正当なものであると判定し、書き込み処理を許可する。識別情報が不一致の場合には、記憶装置管理部11aは、記憶装置32を無効とする。
【0083】
以上のような3つの記憶装置30,31,32を制御する記憶制御装置10aでも、第1の実施の形態の記憶制御装置10と同様の効果を有するとともに、RAID0に対応可能である。
【0084】
なお、第2の実施の形態の記憶制御装置10aは、RAID3またはRAID4にも対応可能である。RAID3またはRAID4を適用する場合、図11の記憶装置管理部11aは、以下のような制御を行う。
【0085】
RAID3とRAID4は、他の記憶装置に記憶するデータのエラーをチェックするためのパリティを記憶する専用の記憶装置を必要とする。パリティ専用の記憶装置はアクセスが集中するので、データ転送速度などの性能が最もよい記憶装置を、パリティ専用として選択することが望ましい。
【0086】
たとえば、記憶装置管理部11aは、属性情報D1,D2,D3から、記憶装置32の性能が最もよいことを検出した場合、記憶装置32が、省電力モードにならないように、省電力機能を無効とする。
【0087】
また、インターフェース制御部15−1,15−2,15−3のうち特定のものに接続する記憶装置を、パリティ専用の記憶装置としてもよい。その場合、記憶装置管理部11aは、属性情報を取得しなくてもよく、パリティ専用の記憶装置に対して、省電力機能を無効にする設定を行う。
【0088】
これにより、アクセスが集中する記憶装置32が省電力モードに入ってしまうことを防止でき、高速に書き込み処理や読み出し処理が可能になる。
(第3の実施の形態)
以下、RAID1とRAID0を組み合わせたRAID1+0を用いて、複数の記憶装置を制御する記憶制御装置を説明する。
【0089】
図12は、第3の実施の形態の記憶制御装置の構成を示す図である。
図1、図11で示した第1及び第2の実施の形態の記憶制御装置10と同様の構成要素については同一符号を付している。
【0090】
第3の実施の形態の記憶制御装置10bは、6つの記憶装置30,31,32,33,34,35とコマンドやデータの送受信を行う、インターフェース制御部15−1,15−2,15−3,15−4,15−5,15−6を有している。
【0091】
記憶装置管理部11bは、たとえば、記憶装置30,31、記憶装置32,33、記憶装置34,35を、それぞれマスタ―スレーブペア40,41,42とする。そして、記憶装置管理部11bは、各ペアの一方を、マスタ側の記憶装置、他方をスレーブ(バックアップ)側の記憶装置として管理し、前述のミラーリング処理を行わせる。
【0092】
図5で示した記憶制御装置10の動作と同様に、たとえば、初期起動時、記憶装置管理部11bは、記憶装置30〜35から、属性情報D1,D2,D3,D4,D5,D6を取得する。そして、記憶装置管理部11bは、属性情報D1〜D6に応じて、省電力機能を無効とするマスタ側の記憶装置と、有効にするバックアップ側の記憶装置をマスタ―スレーブペア40,41,42ごとに決定し、決定した内容を示す管理情報D12を生成する。
【0093】
ホスト装置20側から書き込まれるデータは、RAID0のストライピング処理により、ブロック単位に分割され、マスタ―スレーブペア40,41,42のマスタ側の記憶装置に記憶される。バックアップ側の記憶装置へのデータのバックアップは、図5で示した処理T8〜T13と同様に行われる。
【0094】
データの読み出しの際には、各マスタ―スレーブペア40,41,42のマスタ側の記憶装置から分散して記憶されていたデータが並列に読みだされる。
なお、記憶装置管理部11bは、各マスタ―スレーブペア40,41,42の属性情報D1〜D6から、他のペアよりも省電力効率の高い省電力機能をサポートしているペアを検出して、そのペアの記憶装置を両方ともバックアップ用の記憶装置としてもよい。
【0095】
以上のような第3の実施の形態の記憶制御装置10bによっても、第1の実施の形態の記憶制御装置10と同様の効果が得られるとともに、RAID1+0に対応可能となる。
以上、実施の形態に基づき、本発明の記憶制御装置及び制御方法の一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。
【0096】
以上説明した複数の実施の形態に関し、さらに以下の付記を開示する。
(付記1) 複数の記憶装置から、前記記憶装置の性能または省電力機能に関する情報を含む属性情報を取得し、前記記憶装置間における前記属性情報に応じて、前記省電力機能を有効とする前記記憶装置または無効にする前記記憶装置を決定する記憶装置管理部と、
決定した各前記記憶装置の前記省電力機能の状態に応じて、前記記憶装置を制御する記憶装置制御部と、
を有した記憶制御装置。
【0097】
(付記2) 前記記憶装置管理部は、前記属性情報から、他の前記記憶装置よりも、省電力効率が高い前記省電力機能を実行可能な前記記憶装置を検出し、検出した前記記憶装置の前記省電力機能を有効とすることを特徴とする付記1記載の記憶制御装置。
【0098】
(付記3) 前記記憶装置管理部は、前記属性情報から、前記性能が他の前記記憶装置よりも高い前記記憶装置を検出し、検出した前記記憶装置の前記省電力機能を無効とすることを特徴とする付記1または2に記載の記憶制御装置。
【0099】
(付記4) 前記記憶装置管理部は、前記属性情報に含まれる前記記憶装置固有の識別情報を取得し、省電力モードから復帰した前記記憶装置に対して、再度前記属性情報を要求して送信させ、再度取得した前記属性情報に含まれる前記識別情報と、予め取得した前記識別情報とを比較して、前記省電力モードから復帰した前記記憶装置が正当なものか否かを判定することを特徴とする付記1乃至3のいずれか一項に記載の記憶制御装置。
【0100】
(付記5) 前記記憶装置管理部は、複数の前記記憶装置の中で、他の前記記憶装置に記憶するデータをチェックする、パリティを記憶する前記記憶装置の前記省電力機能を無効にすることを特徴とする付記1乃至4のいずれか一項に記載の記憶制御装置。
【0101】
(付記6) 前記記憶装置管理部は、それぞれ2つの前記記憶装置を有する複数のペアを管理し、前記属性情報に応じて、前記ペアの一方の前記記憶装置の前記省電力機能を有効とし、他方の前記記憶装置の前記省電力機能を無効とすることを特徴とする付記1乃至5のいずれか一項に記載の記憶制御装置。
【0102】
(付記7) 前記記憶装置管理部は、前記記憶装置の初期起動後に、前記属性情報を取得し、前記省電力機能を有効にする前記記憶装置または無効にする前記記憶装置を決定することを特徴とする付記1乃至6のいずれか一項に記載の記憶制御装置。
【0103】
(付記8) 前記記憶装置管理部は、前記記憶装置の前記省電力機能として、パワーマネージメントフィーチャーセット、アドバンスドパワーマネージメントフィーチャーセットまたはSATAインターフェースパワーマネージメントのサポートの有無を、前記属性情報から検出して、複数の前記記憶装置間での前記サポートの差異から、どの前記記憶装置の前記省電力機能を有効または無効にするか決定することを特徴とする付記1乃至7のいずれか一項に記載の記憶制御装置。
【0104】
(付記9) 記憶装置管理部が、複数の記憶装置から、前記記憶装置の性能または省電力機能に関する情報を含む属性情報を取得し、前記記憶装置間における前記属性情報に応じて、前記省電力機能を有効とする前記記憶装置または無効にする前記記憶装置を決定し、
記憶装置制御部が、決定した各前記記憶装置の前記省電力機能の状態に応じて、前記記憶装置を制御することを特徴とする制御方法。
【符号の説明】
【0105】
10 記憶制御装置
11 記憶装置管理部
12 記憶装置制御部
12a ATAコマンド制御部
12b バックアップ側アクセス制御部
13 不揮発性記憶部
14,15−1,15−2 インターフェース制御部
20 ホスト装置
30,31 記憶装置
D1,D2 属性情報
D10 管理情報

【特許請求の範囲】
【請求項1】
複数の記憶装置から、前記記憶装置の性能または省電力機能に関する情報を含む属性情報を取得し、前記記憶装置間における前記属性情報に応じて、前記省電力機能を有効とする前記記憶装置または無効にする前記記憶装置を決定する記憶装置管理部と、
決定した各前記記憶装置の前記省電力機能の状態に応じて、前記記憶装置を制御する記憶装置制御部と、
を有した記憶制御装置。
【請求項2】
前記記憶装置管理部は、前記属性情報から、他の前記記憶装置よりも、省電力効率が高い前記省電力機能を実行可能な前記記憶装置を検出し、検出した前記記憶装置の前記省電力機能を有効とすることを特徴とする請求項1記載の記憶制御装置。
【請求項3】
前記記憶装置管理部は、前記属性情報から、前記性能が他の前記記憶装置よりも高い前記記憶装置を検出し、検出した前記記憶装置の前記省電力機能を無効とすることを特徴とする請求項1または2に記載の記憶制御装置。
【請求項4】
前記記憶装置管理部は、前記属性情報に含まれる前記記憶装置固有の識別情報を取得し、省電力モードから復帰した前記記憶装置に対して、再度前記属性情報を要求して送信させ、再度取得した前記属性情報に含まれる前記識別情報と、予め取得した前記識別情報とを比較して、前記省電力モードから復帰した前記記憶装置が正当なものか否かを判定することを特徴とする請求項1乃至3のいずれか一項に記載の記憶制御装置。
【請求項5】
前記記憶装置管理部は、複数の前記記憶装置の中で、他の前記記憶装置に記憶するデータをチェックする、パリティを記憶する前記記憶装置の前記省電力機能を無効にすることを特徴とする請求項1乃至4のいずれか一項に記載の記憶制御装置。
【請求項6】
記憶装置管理部が、複数の記憶装置から、前記記憶装置の性能または省電力機能に関する情報を含む属性情報を取得し、前記記憶装置間における前記属性情報に応じて、前記省電力機能を有効とする前記記憶装置または無効にする前記記憶装置を決定し、
記憶装置制御部が、決定した各前記記憶装置の前記省電力機能の状態に応じて、前記記憶装置を制御することを特徴とする制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate