(57)【要約】【課題】複数の種類の記憶デバイスを備えても、キャッシュメモリから複数の種類の記憶デバイスへのライト処理が停滞しないストレージサブシステムを提供する。【解決手段】ＨＤＤおよびＳＳＤに、キャッシュメモリからのライトデータの書込み性能に優劣があっても、書込み性能が低いＳＳＤに対するキャッシュメモリ１３Ａ，１３ＢをＨＤＤに対するキャッシュメモリ１２Ａ，１２Ｂから区別して設けた。【選択図】図１
2010049502.tif 000002
【特許請求の範囲】
【請求項１】
上位計算機を接続する第１の接続部と、
第１の種類の記憶デバイスとの第２の接続部と、
第２の種類の記憶デバイスとの第３の接続部と、
前記第１の種類の記憶デバイスへのライトデータを一時記憶する第１の一時記憶領域と、
前記第２の種類の記憶デバイスへのライトデータを一時記憶する第２の一時記憶領域と、
前記ライトデータを前記第１の一時記憶領域から前記第１の種類の記憶デバイスへ転送することと、前記ライトデータを前記第２の記憶領域から前記第２の種類の記憶デバイスへ転送することを制御するコントローラと、
を備えてなるストレージサブシステム。
【請求項２】
前記第１の一時記憶領域を備える第１のキャッシュメモリと、
前記第２の一時記憶領域を備える第２のキャッシュメモリと、
をさらに備える請求項１記載のストレージサブシステム。
【請求項３】
前記第１のキャッシュメモリから前記第１の種類への記憶デバイスへのバスと、前記第２のキャッシュメモリから前記第２の種類の記憶デバイスへのバスとが分離されている、請求項２記載のストレージサブシステム。
【請求項４】
前記第１の種類の記憶デバイスがハードディスクドライブであり、
前記第２の種類の記憶デバイスがフラッシュメモリドライブである、請求項３記載のストレージサブシステム。
【請求項５】
前記第１のキャッシュメモリが前記ハードディスクドライブへのライトデータを一時記憶し、前記第２のキャッシュメモリが前記フラッシュメモリドライブへのライトデータを一時記憶する、請求項４記載のストレージサブシステム。
【請求項６】
前記コントローラが前記第１の種類の記憶デバイスから読み出したデータと前記第２の種類の記憶デバイスから読み出したデータとを前記第１のキャッシュメモリに一時記憶する、請求項２記載のストレージサブシステム。
【請求項７】
前記上位装置のアクセス先である論理ユニットが、前記第１の種類の記憶デバイス及び前記第２の種類の記憶デバイスに対して、異なるように設定されている、請求項１記載のストレージサブシステム。
【請求項８】
前記フラッシュメモリドライブが有する内部キャッシュメモリがディセーブル状態に設定されている、請求項４記載のストレージサブシステム。
【請求項９】
第１の上位装置に接続する第１のストレージサブシステムと、
第２の上位装置に接続する第２のストレージサブシステムと、
前記第１のストレージサブシステム及び前記第２のストレージサブシステムがそれぞれ接続する記憶装置と、
前記第１のストレージサブシステムと前記第２のストレージサブシステムとを接続して、データやコマンドの交換を可能とする接続路と、
を備えるストレージシステムであって、
前記記憶装置は、
第１の種類の記憶デバイスと、
第２の種類の記憶デバイスと、を備え、
前記第１のストレージサブシステムは、
前記第１の上位計算機を接続する第１の接続部と、
前記第１の種類の記憶デバイスとの第２の接続部と、
前記第２の種類の記憶デバイスとの第３の接続部と、
前記第１の種類の記憶デバイスへのライトデータを一時記憶する第１のキャッシュメモリと、
前記第２の種類の記憶デバイスへのライトデータを一時記憶する第２のキャッシュメモリと、
前記ライトデータの転送を制御する第１のコントローラと、を備え、
前記第２のストレージサブシステムは、
前記第２の上位計算機を接続する第４の接続部と、
前記第１の種類の記憶デバイスとの第５の接続部と、
前記第２の種類の記憶デバイスとの第６の接続部と、
前記第１の種類の記憶デバイスへのライトデータを一時記憶する第３のキャッシュメモリと、
前記第２の種類の記憶デバイスへのライトデータを一時記憶する第４のキャッシュメモリと、
前記ライトデータの転送を制御する第２のコントローラと、
を備える、ストレージシステム。
【請求項１０】
前記第１の種類の記憶デバイスがハードディスクドライブであり、
前記第２の種類の記憶デバイスがフラッシュメモリドライブである、請求項９記載のストレージシステム。
【請求項１１】
前記第１のストレージサブシステムの前記第２のキャッシュメモリの負荷が所定以上である場合には、前記第２のストレージサブシステムの前記第２のコントローラは前記フラッシュメモリドライブへライトされるデータを前記４のキャッシュメモリに一時記憶する、請求項１０記載のストレージシステム。
【請求項１２】
前記第２のストレージサブシステムの前記第４のキャッシュメモリの負荷が所定以上である場合には、前記第１のストレージサブシステムの前記第１のコントローラは、前記フラッシュメモリドライブへライトされるデータを前記第１のキャッシュメモリに一時記憶する、請求項１１記載のストレージシステム。
【請求項１３】
前記第１のコントローラは、前記１のキャッシュメモリに一時記憶されたデータを前記ハードディスクドライブへ格納する、請求項１２記載のストレージシステム。
【請求項１４】
前記第１のコントローラ又は前記第２コントローラは、前記ハードディスクドライブに格納されたデータを前記フラッシュメモリドライブにマイグレーションする請求項請求項１３記載のストレージシステム。
【請求項１５】
第１の上位装置に接続する第１のストレージサブシステムと、
第２の上位装置に接続する第２のストレージサブシステムと、
前記第１のストレージサブシステム及び前記第２のストレージサブシステムがそれぞれ接続する記憶装置と、
前記第１のストレージサブシステムと前記第２のストレージサブシステムとを接続して、データやコマンドの交換を可能とする接続路と、
を備えるストレージシステムであって、
前記記憶装置は第１の種類の記憶デバイスと、第２の種類の記憶デバイスと、を備え、
前記第１のストレージサブシステムは、
前記第１の上位計算機を接続する第１の接続部と、
前記第１の種類の記憶デバイスとの第２の接続部と、
前記第２の種類の記憶デバイスとの第３の接続部と、
第１のキャッシュメモリと、
前記ライトデータの転送を制御する第１のコントローラと、を備え、
前記第２のストレージサブシステムは、
前記第２の上位計算機を接続する第４の接続部と、
前記第１の種類の記憶デバイスとの第５の接続部と、
前記第２の種類の記憶デバイスとの第６の接続部と、
第２のキャッシュメモリと、
前記第２の種類の記憶デバイスへのライトデータを一時記憶する第４のキャッシュメモリと、
前記ライトデータの転送を制御する第２のコントローラと、
を備え、
前記第１のキャッシュメモリは、前記第１の種類の記憶デバイスへの前記ライトデータを一時記憶し、
前記第２のキャッシュメモリは、前記第２の種類の記憶デバイスへの前記ライトデータを一時記憶する、
ストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はストレージサブシステムに係わり、ハードディスクドライブ、フラッシュメモリなど、種類の異なる複数の記憶デバイスを記憶資源として搭載してなる、ストレージサブシステムに関するものである。さらに、本発明はストレージサブシステムと上位装置と記憶装置とを備えるストレージシステムに関するものである。
【背景技術】
【０００２】
ストレージサブシステムは、ホストなどの上位装置のデータを記憶デバイスに格納するための制御システムとして知られている。
【０００３】
ストレージサブシステムは、上位装置との間のデータの送受信を制御する第１のインターフェース制御部と、複数の記憶デバイスとの間でのデータの送受信を制御する第２のインターフェース制御部と、ホストと記憶デバイスとの間のデータの往来を制御するコントローラと、を備えている。
【０００４】
従来記憶デバイスとしては、ハードディスクドライブ（ＨＤＤ）が使用されてきたが、フラッシュメモリの製造単価が低下してきたことにより、フラッシュメモリなどの半導体メモリが、ストレージサブシステムに対する記憶資源として使用されようとしている。記憶デバイスとして、ＨＤＤとフラッシュメモリドライブ（ＳＳＤ）とが混載されたストレージサブシステムが存在する。本発明に関連する従来例として、特開２００８―１３４７７６号公報に記載されたものが存在する。
【特許文献１】特開２００８―１３４７７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ストレージサブシステムは、キャッシュメモリを備え、記憶デバイスにライトされるデータ及び記憶デバイスからリードされるデータをキャッシュメモリに一時記憶している。
【０００６】
ＳＳＤでは、データのライト性能が低いために、ストレージサブシステムのコントローラがキャッシュメモリからＳＳＤにデータをライトする際、そのライト処理が停滞し、キャッシュメモリからＨＤＤへのデータのライト性能が低下するという課題がある。
【０００７】
そこで、本発明は、複数の種類の記憶デバイスを備えても、キャッシュメモリから複数の種類の記憶デバイスへのライト処理が停滞しないストレージサブシステムを提供することを目的とするものである。
【０００８】
本発明の他の目的は、ＨＤＤに加えてＳＳＤを備えるストレージサブシステムにおいて、キャッシュメモリからＳＳＤへのライト性能の低下を防いで、キャッシュメモリからＨＤＤへのライト処理の性能が影響を受けないようにしたストレージサブシステムを提供することである。
【課題を解決するための手段】
【０００９】
本発明に係るストレージシステムは、既述の目的を達成するために、複数種ある記憶デバイスに、キャッシュメモリからのライトデータの書込み性能に優劣があっても、書込み性能が低い種類の記憶デバイスに対する一時記憶領域を他の種類の記憶デバイスに対する一時記憶領域から区別して設けることを特徴とするものである。
【発明の効果】
【００１０】
本発明によれば、複数の種類の記憶デバイスを備えても、キャッシュメモリから複数の種類の記憶デバイスへのライト処理が停滞しないストレージサブシステムを提供することができる。
【発明を実施するための最良の形態】
【００１１】
次に、本発明に係わるストレージサブシステムを備える、記憶制御システム（ストレージシステム）を図１に基づいて説明する。ストレージシステムは、ホスト計算機２００Ａ，２００Ｂが、ストレージサブシステム６Ａとストレージサブシステム６Ｂとからなる記憶制御装置を介して複数の記憶デバイス４Ａ〜４Ｅに接続されることにより構成されている。ホスト計算機２００Ａはストレージサブシステム６Ａに接続し、ホスト計算機２Ｂはストレージサブシステム６Ｂに接続する。
【００１２】
ホスト計算機２００Ａ，２００Ｂは、例えばＣＰＵ（Central Processing Unit）やメモリなどの情報処理資源を備えたコンピュータであり、具体的にはパーソナルコンピュータ、ワークステーション又はメインフレームなどから構成される。
【００１３】
ホスト計算機２００Ａ，２００Ｂには、それぞれストレージサブシステム６Ａ，６Ｂにアクセスするための通信ポート（例えばＬＡＮカードやホストバスアダプタに設けられたポート）が設けられており、この通信ポートを介してデータの入出力要求コマンドをストレージサブシステムに送信することができるようになされている。
【００１４】
ストレージサブシステム６Ａとストレージサブシステム６Ｂとは、接続経路５によってデータやコマンドを互いに送受信できる。コントローラ間接続経路５としては、例えば１レーン片方向当たり（最大８レーン）のデータ転送量が２．５〔Gbit/sec〕と高速なシリアルデータ通信を実現するＰＣＩ（Peripheral Component Interconnect）−Ｅｘｐｒｅｓｓ規格に準拠したバスが適用される。ストレージサブシステム６Ａ，６Ｂ間における後述のようなデータや各種情報の送受は、すべてこの接続経路５を介して行なわれる。
【００１５】
各ストレージサブシステム６Ａ，６Ｂは、それぞれ自身に接続されたホスト計算機２００Ａ，２００Ｂからの要求に応じて記憶デバイス４Ａ〜４Ｅに対するデータの読み書きを制御するもので、ホスト通信制御部１０Ａ，１０Ｂ、データ転送制御部１１Ａ，１１Ｂ、共有キャッシュメモリ（ＣＭ）１２Ａ，１２Ｂ、ＳＳＤ用ライトキャッシュメモリ（ＣＭ）１３Ａ，１３Ｂ、ローカルメモリ１４Ａ，１４Ｂ、マイクロプロセッサ（ＭＰＵ）１５Ａ，１５Ｂ、記憶デバイス通信制御部１６Ａ，１６Ｂを備える。ホスト通信制御部１０Ａ，１０Ｂは、ホスト計算機２００Ａ，２００Ｂとの通信制御を行なうインターフェースである。
【００１６】
ホスト通信制御部１０Ａ，１０Ｂは、ストレージサブシステム６Ａ，６Ｂをネットワークやあるいはホスト計算機２００Ａ，２００Ｂに直接接続するためのポートを備えている。複数のポートのそれぞれには、例えばＩＰ（Internet Protocol）アドレスやＷＷＮ（World Wide Name）などの固有のネットワークアドレスが割り当てられている。ホスト通信制御部１０Ａ，１０Ｂは、ホスト計算機２００Ａ，２００Ｂとの間の通信時におけるプロトコル制御を行うホスト通信プロトコルチップを有する。
【００１７】
ホスト通信プロトコルチップとしては、例えばホスト計算機２００Ａ，２００Ｂとの間の通信プロトコルがファイバーチャネル（ＦＣ：Fibre Channel）プロトコルである場合にはファイバーチャネル変換プロトコルチップ、かかる通信プロトコルがｉＳＣＳＩプロトコルである場合にはｉＳＣＳＩプロトコルチップというように、ホスト計算機２００Ａ，２００Ｂとの間の通信プロトコルに適合したものが適用される。
【００１８】
さらにホスト通信プロトコルチップには、複数のマイクロプロセッサとの間で通信を行い得るマルチマイクロプロセッサ機能が搭載されており、これによりホスト通信プロトコルチップがストレージシステム６Ａのマイクロプロセッサ１５Ａと、ストレージサブシステム１６Ｂのマイクロプロセッサ１５Ｂとの双方と通信を行い得るようになされている。
【００１９】
データ転送制御部（ＤＭＡ）１１Ａ，１１Ｂは、ストレージサブシステム６Ａ及びストレージサブシステム６Ｂ間のデータ転送と、ストレージサブシステム６Ａ，６Ｂ内の各ハードウエア資源同士の間でのデータ転送を制御する機能を備える。またデータ転送制御部１１Ａ，１１Ｂは、それぞれ自身が属するストレージサブシステムに属するマイクロプロセッサ１５Ａ，１５Ｂからの指示により、ホスト計算機２００Ａ，２００Ｂから与えられたライトデータを共有ＣＭ（キャッシュメモリ）１２Ａ，１２Ｂ又はＳＳＤ用ライトＣＭ１３Ａ，１３Ｂに一時記憶する。
【００２０】
またデータ転送制御部１１Ａ，１１Ｂは、後述するローカルメモリ１４Ａ，１４Ｂに格納された共有情報が同じになるように、一方のローカルメモリの共有情報が更新されたときには、他方の共有情報も同様に更新できるように必要なデータ転送行なう。
【００２１】
マイクロプロセッサ１５Ａ，１５Ｂは、それぞれ自身が属するストレージサブシステム６Ａ，６Ｂ全体の動作の制御を司る機能を有する。これらマイクロプロセッサ１５Ａ，１５Ｂは、後述のようにローカルメモリ１４Ａ，１４Ｂに格納されたライトコマンドやリードコマンドに応じて、予め自己に対して割り当てられた論理ボリュームに対するデータの読み書き等の処理を行う。
【００２２】
このような各マイクロプロセッサ１５Ａ，１５Ｂに対する論理ボリュームの割り当ては、各マイクロプロセッサ１５Ａ，１５Ｂの負荷状況や、ホスト計算機２００Ａ，２００Ｂから与えられる論理ボリュームごとの担当マイクロプロセッサを指定する担当マイクロプロセッサ指定コマンドの受信によって動的に変更することが可能である。
【００２３】
また、各マイクロプロセッサ１５Ａ，１５Ｂに対する論理ボリュームの割り当ては、ストレージサブシステム６Ａ，６Ｂと、ホスト計算機２００Ａ，２００Ｂ間の接続経路や、ストレージサブシステム６Ａとストレージサブシステム６Ｂ間接続経路５、ストレージサブシステムと６Ａ，６Ｂと記憶デバイス４Ａ〜４Ｄ間の接続経路等における障害発生の有無によっても動的に変更することができる。
【００２４】
ローカルメモリ１４Ａ，１４Ｂは、各種制御プログラムを格納するために用いられるほか、ホスト計算機２００Ａ，２００Ｂから与えられるリードコマンドやライトコマンド等の各種コマンドを一時的に保持するために用いられる。マイクロプロセッサ１５Ａ，１５Ｂは、このローカルメモリ１４Ａ，１４Ｂに格納されたリードコマンドやライトコマンドを、当該ローカルメモリ１４Ａ，１４Ｂに格納された順番で処理する。
【００２５】
共有ＣＭ１２Ａ，１２Ｂ及びＳＳＤ用ライトＣＭ１３Ａ，１３Ｂは、ホスト計算機２００Ａ，２００Ｂ及び記憶デバイス４Ａ〜４Ｅ間や、ストレージサブシステム６Ａ，６Ｂ間で転送されるデータを一時的に記憶する。
【００２６】
記憶デバイス通信制御部１６Ａ，１６Ｂは、各記憶デバイス４Ａ〜４Ｅとの通信を制御するインターフェースであり、記憶デバイス通信プロトコルチップを備えている。この記憶デバイス通信プロトコルチップ２２Ａ，２２Ｂとしては、例えば記憶デバイスとしてＦＣハードディスクドライブを適用する場合にはＦＣプロトコルチップを適用でき、ＳＡＳハードディスクドライブを適用する場合にはＳＡＳプロトコルチップを適用でき、記憶デバイスとして、ＳＳＤ(フラッシュメモリドライブ)が適用される場合は、ＳＳＤプロトコルチップを適用する。
【００２７】
また、記憶デバイス通信制御部は、記憶デバイス側スイッチを介して記憶デバイスに接続されている。記憶デバイススイッチは、記憶デバイス通信制御部に対して複数の記憶デバイスを切り替えるためのスイッチであり、例えばＳＡＳ−ＥｘｐａｎｄｅｒやＦＣループスイッチを適用することができる。また、記憶デバイス側スイッチに代えて、例えばＦＣループで記憶デバイス４Ａ〜４Ｅと接続する構成を採用することもできる。
【００２８】
記憶デバイス４Ａ，４Ｄ，４Ｅは、ハードディスクドライブ、具体的にはＦＣハードディスクドライブ、ＳＡＳハードディスクドライブ、又はＳＡＴＡハードディスクドライブであり、記憶デバイス４Ｂ，４ＣはＳＳＤである。記憶デバイスには、記憶要素（ハードディスク或いはフラッシュメモリ）がアレイ状に配置されている。これら複数の記憶デバイスが提供する記憶領域に対して、データを読み書きするための論理的な記憶領域である論理ボリュームが複数設定される。複数の記憶デバイスは、ＲＡＩＤを実現するように組み合わされている。
【００２９】
ストレージサブシステム６Ａ、６Ｂは、ホスト計算機２００Ａ，２００Ｂに論理ユニットを提供し、ホスト計算機は論理ユニットを認識して、論理ボリュームに対するデータのリードまたはライトを実行する。
【００３０】
ストレージサブシステム６Ａ及び６Ｂのそれぞれのメモリ空間には、それぞれ自分が有するメモリ領域に加えて、他のストレージサブシステムが有するメモリ空間もマッピングされており、これにより一方のストレージサブシステムが他方のストレージサブシステムのメモリ領域にも直接アクセスできるようになっている。
【００３１】
そして、ストレージサブシステム６Ａ，６Ｂ内のマイクロプロセッサ１５Ａ，１５Ｂは、ホスト計算機２００Ａ，２００Ｂから他のストレージサブシステム６Ｂ，６Ａに割り当てられている論理ユニットを対象とするライトコマンドやリードコマンドが与えられたときには、かかるライトコマンド又はリードコマンドを他方のストレージサブシステムのローカルメモリ１４Ｂ，１４Ａに書き込むようにして他方のストレージサブシステム６Ｂ，６Ａに転送する。
【００３２】
このように、ホスト計算機２００Ａ，２００Ｂからストレージサブシステム６Ａ，６Ｂに対して他方のストレージサブシステム６Ｂ，６Ａが実行すべきライトコマンドやリードコマンドが与えられたときに、そのライトコマンドやリードコマンドを他方のローカルメモリ１４Ｂ，１４Ａに直接書き込むようにして中継するため、当該ライトコマンド又はリードコマンドの受け渡しのためにストレージサブシステム６Ａ，６Ｂ同士が通信を行なう必要がなく、その分迅速なライトコマンド処理又はリードコマンド処理を行うことができる。
【００３３】
ホスト系計算機２００Ａ，２００Ｂからストレージサブシステム６Ａ，６Ｂへのライトデータのうち、ＳＳＤ４Ｂ，４Ｃに記録されるべきデータが、ＭＰＵ１５Ａ，１５Ｂからの制御を受けたデータ転送制御装置１１Ａ，１１Ｂによって、ＳＳＤ用ライトＣＭ１３Ａ，１３Ｂに一時記憶される。
【００３４】
一方、ホスト系計算機２００Ａ，２００Ｂからストレージサブシステム６Ａ，６Ｂへのライトデータのうち、ＨＤＤ４Ａ，４Ｄ，４Ｅに記録されるべきデータが、データ転送制御装置１１Ａ，１１Ｂによって、共通ＣＭ１２Ａ，１２Ｂに一時記憶される。
【００３５】
記憶デバイス通信制御部１６Ａ，１６Ｂは、ＳＳＤ用ライトＣＭ及び共通ＣＭから、データを目的の記憶デバイスに、ライトコマンドがホスト計算機から発行されたタイミングとは非同期に、デステージ処理する。
【００３６】
さらに、ホスト計算機２００Ａ，２００Ｂからリードコマンドを受領したデータ転送制御部１１Ａ，１１Ｂは、記憶デバイス通信制御部１６Ａ，１６Ｂにリードコマンド転送し、リードコマンドを受けた記憶デバイス通信制御部は、記憶デバイスからデータを取得して、データの取得先がＳＳＤであるかＨＤＤであるかにかかわらず、リードデータを共通ＣＭに転送する。
【００３７】
ＳＳＤへのライトデータを一時記憶する領域を、このように、ＨＤＤへのライトデータ、及び、リードデータを一時記憶する領域から区別させたのは次の理由による。
【００３８】
ホスト計算機にデータの整合性を保障するために、ストレージサブシステムの管理者は、ＳＳＤ内のキャッシュをデセーブル状態にした上でＳＳＤを記憶デバイスとして使用する。すると、ストレージサブシステムのマイクロプロセッサは、ＳＳＤにデータをライトする際には、ＳＳＤにセクタ単位でデータの消去処理を行なわせた後、キャッシュメモリのデータをＳＳＤにライトする必要がある。このライト処理には時間を要し、その間、キャッシュメモリからＨＤＤへのデータのライトが遅延するオーバヘッドが発生する。そこで、本願発明者は、共有ＣＭとはバスを分離することによりオーバヘッドの弊害が出ないように、共有ＣＭとは別にＳＳＤライト用ＣＭを設けた。
【００３９】
ストレージサブシステム６Ａ，６Ｂのマイクロプロセッサ１５Ａ，１５Ｂが、ライトデータをＳＳＤにライトすべきものであるか、又は，ＨＤＤにライトすべきものであるかを、例えば、ライトコマンドのデータ格納先に基づいて判断する。
【００４０】
図２は、そのための管理テーブルを示すものであり、この管理テーブルは、ローカルメモリ１４Ａ，１４Ｂに格納されている。ストレージサブシステムのＭＰＵ１５Ａ，１５Ｂはライトコマンドのライト先ＬＵ番号（ＬＵ＃）に基づいて、ライト先がＨＤＤからＳＳＤかを判定する。管理テーブルのＬＵ♯はホスト計算機２００Ａまたは２００Ｂに割り当てられている。
【００４１】
ＳＳＤ用ライトＣＭ（１３Ａ，１３Ｂ）と共有ＣＭ（１２Ａ，１２Ｂ）とは、それぞれ異なる集積回路によって構成される。例えば、第１のキャッシュメモリを共有ＣＭに割り当て、第２のキャッシュメモリをＳＳＤ用ライトＣＭに割り当てる。
【００４２】
また、第１のキャッシュメモリを共有ＣＭに割り当て、第２のキャッシュメモリの一部の一時記憶領域をＳＳＤ用ライトＣＭに割り当て、残りを共有ＣＭに割り当てることでもよい。この際、第１のキャッシュメモリの記憶領域が逼迫した際に、第２のキャッシュメモリの共有部分にデータを一時記憶すればよい。なお、第２のキャッシュメモリのＳＳＤ用ライトＣＭの部分の容量を動的に変更するようにしてもよい。
【００４３】
また、ＳＳＤ用ライトＣＭの容量をＳＳＤが有する全記憶容量に合わせて設定すればよく、また、ＳＳＤ用ライトＣＭの容量を可変にしてもよい。
【００４４】
また、ＳＳＤ用ライトＣＭを共有ＣＭとして、ＨＤＤにデステージ処理されるべきデータを一時記憶するようにしてもよい。例えば、ＳＳＤ用ライトＣＭの一時記憶領域に余裕がある場合などである。
【００４５】
図３は、ＳＳＤ用ライトＣＭの記憶領域とＳＳＤの記憶領域との対応関係を示すためのブロック図である。ＳＳＤがフラッシュメモリへライト処理を行う際、ＳＳＤはフラッシュメモリのイレーズ処理を必要とする。
【００４６】
イレーズ処理は、セクタ単位（ＳＥＣ）単位で行われるので、ＳＳＤ用ライトＣＭへのデータ記憶は、セクタ単位で行なわれる(Ｓ３)。フラッシュメモリのイレーズ処理が終わった後、ＳＳＤ用ライトＣＭからデータの転送がＳＳＤに行なわれる（Ｓ１，Ｓ２）。フラッシュメモリには書き込み回数の制限があるので、ＳＳＤ用ライトＣＭは、ホスト計算機からのライトデータを（このライトはページ単位で行なわれる（Ｓ４）。）、同一のセクタに貯めてからＳＳＤに書き込む（Ｓ５）。
【００４７】
一方、図４に示すように、キャッシュメモリ（共有ＣＭ）からハードディスクドライブへのデータの書込みは、セクタ単位、又は複数のセクタ単位Ｓ６からなるセグメント単位Ｓ７毎で行なわれる。なお、ＨＤＤはＳＳＤと異なり、キャッシュメモリのデータをＨＤＤにデステージする際でのイレーズ処理は必要ではない。
【００４８】
次に、図1に示すストレージシステムにおける、ライト動作について説明する。図５は、ストレージシステムのライト動作を説明するブロック図であり、図６はライト動作を説明するフローチャートである。
【００４９】
ホスト計算機２００Ａからのライトコマンドをストレージサブシステム６Ａのホスト通信制御部１０Ａが受信すると(６００)、ＭＰＵ１５ＡはＤＭＡ１１Ａを介してライトコマンドを解析し(６０２)、ローカルメモリ１４Ａに格納されている管理テーブル(図２)を参照して、データの格納先エリア（データライト先のＬＵ＃）を確認する。
【００５０】
ＭＰＵ１５Ａが、ライトデータの格納先はＳＳＤである判定（６０６）した場合には、ＤＭＡ１１ＡからライトデータをＳＳＤ用ライトＣＭ１３Ａに一時記憶する（図５の１Ａ、図６の６１２）。次いで、記憶デバイス通信制御部１６Ａは、ＳＳＤ用ライトＣＭ１３Ａの一時記憶データを、ＤＭＡ１１Ａを介して取得し、ＳＳＤがイレーズ処理を終了した後、一時記憶されたライトデータをＳＳＤ（４Ｃ）に送信し、ＳＳＤはこのデータをフラッシュメモリに格納する（図５の２Ａ、図６の６１４）。
【００５１】
一方、ＭＰＵ１５Ａがライトデータの格納先がＳＳＤ以外、すなわちＨＤＤであると判定すると(６０６)、ライトデータを、ＤＭＡ１１Ａを介して共有ＣＭ１２Ａに一時記憶する（図５の１Ｂ、図６の６０８）。次いで、記憶デバイス通信制御部１６Ａは、共有ＣＭ１６Ａに格納されたライトデータをＨＤＤ４Ｄに格納する（図５の２Ｂ、図６の６１０）。
【００５２】
次に、リード動作について説明する。図７はリード動作を説明するためのブロック図であり、図８はリード動作を説明するフローチャートである。ストレージサブシステム６Ａがホスト計算機２００Ａから受領したリードコマンドを解析し、管理テーブルを参照して、リードデータの格納先を確認する(図８の８００―８０４)。次いで、ＭＰＵ１５Ａは共有ＣＭ１２Ａにリードコマンドの対象となった目的データが存在するか否かをチェックし（８０６）、これを肯定する場合にはキャッシュヒットとして、ＤＭＡ１１Ａをして目的データを共有ＣＭ１２Ａから読み出して(８１４)、ホスト通信制御部１０Ａを介してホスト計算機２００Ａに目的データを転送する(８１６)。
【００５３】
ＭＰＵ１５Ａが共有ＣＭにデータがないことを確認すると、キャッシュミスと判定し(８０６)、記憶デバイス通信制御装置１６Ａは、データの格納先であるＳＳＤ又はＨＤＤからデータを読み出し(８１０，８１８)、読み出したデータを共有ＣＭ１２Ａに一時格納する（８１２, 図７の２Ａ，２Ｂ）。次いで、ＭＰＵ１５Ａは、ＤＭＡにホスト通信制御１０Ａへ共有ＣＭ１２Ａの目的データを転送させ、ホスト通信制御部１０Ａは目的のデータをホスト計算機２００Ａに転送する(８１６,図７の１Ａ)。
【００５４】
記憶デバイス通信制御装置１６Ａはリードデータを共通ＣＭ１２Ａに送り、ＳＳＤ用ライトＣＭ１３Ａに送らないのは次の理由による。ＳＳＤへのライトは既述のようにイレーズ処理が必要となって、キャッシュメモリからＳＳＤへのライト処理をキャッシュメモリからＨＤＤへのライト処理と分けることにより、ＨＤＤのライト処理に対するオーバヘッドがないようにしている。
【００５５】
一方、ＳＳＤからのリードにはイレーズ処理が必要ないために、この種のオーバヘッドは生じず、ＳＳＤ用ライトＣＭをＳＳＤへのライト処理に割当てることとして、リードデータを共有ＣＭ１２Ａに格納するようにした。なお、例えば、共有ＣＭの負荷状態が高い場合には、ＳＳＤ用ライトＣＭにリードデータを格納するようにしてもよい。
【００５６】
既述のライト処理は、ホスト計算機からのライトデータを受けたストレージサブシステムが自身の、ＭＰＵなどのハードウエア資源を用いて記憶デバイスにデータを格納することとした。ところで、図１のストレージシステムは、二つのストレージサブシステムが接続路で結ばれているために、ホスト計算機からのライトコマンドを受けたストレージサブシステムが有するハードウエア資源の負荷状態が高い場合には、ライトコマンドを受けていない他方のストレージサブシステムがライトコマンドを処理することもできる。これを、図１に示す複数のストレージサブシステム６Ａ，６Ｂをともにアクティブにしてコマンドを処理するとして稼動させるという意味で、“アクティブ―アクティブ処理”と称し、この処理の下でのライト処理の動作とリード処理の動作を詳しく説明する。なお、ホスト計算機２００Ａからストレージサブシステム６Ａにライトコマンドが発行されることとして、ストレージサブシステム６Ａを、コマンドを受けた“自系”と称し、他のストレージサブシステム６Ｂを“自系”に対するものとして“他系”と称することとする。
【００５７】
先ず、アクティブ―アクティブ処理におけるライト処理について説明する。図９,１０はこのライト処理を説明するブロック図であり、図１１はこのライト処理を説明するフローチャートである。図１１のフローチャートにおいて、自系のストレージサブシステム６Ａがホスト計算機からライトコマンドを受け取ると、ＭＰＵ１５Ａはコマンドを解析し、データのライト先を確認する（１１００―１１０６）。ライト先がＳＳＤである場合には(１１０６)、ＭＰＵ１５Ａは自系のＳＳＤ用ライトＣＭ１３Ａの負荷状態を判定する(１１０８)。
【００５８】
ＳＳＤ用ライトＣＭ１３Ａなど自系のストレージサブシステム６Ａの各種ハードウエア資源の負荷状態は、例えば図１２に示すような管理テーブルとして管理されている。管理テーブルはローカルメモリ１４Ａに登録されている。ＭＰＵ１５Ａは自系のハードウエア資源の負荷状態を常時或いは定期的にモニタし、管理テーブルにモニタ結果を更新登録する。
【００５９】
他系のハードウエア資源の負荷状態も同様にしてＭＰＵ１５Ｂによって監視され、ローカルメモリ１４Ｂの管理テーブルに更新登録される。自系及び他系のＭＰＵ１５Ａ，１５Ｂは双方監視情報を交換して、双方の管理テーブルには自系のハードウエア資源の負荷状態ばかりでなく、他系のストレージサブシステムのハードウエア資源の負荷状態も登録されるようになっている。双方の管理テーブルは一致するように同期がとられている。
【００６０】
ＭＰＵ１５Ａは自系の管理テーブルを参照して、自系のＳＳＤ用ライトＣＭ１３Ａの負荷状態、すなわち、メモリの使用状態を閾値と比較する(図１１の１１０８)。閾値を越えていないと判定すると（フルでないと判定すると）、ＭＰＵ１５ＡはＳＳＤ用ライトＣＭ１３Ａにライトデータを一時格納する(１１１０)。
【００６１】
次に、ＭＰＵ１５Ａは管理テーブルを参照して、自系のバックエンド、すなわち、記憶デバイス通信制御装置１６Ａの負荷状態をチェックし(１１１２)、自系のバックエンドの負荷状態が閾値と比較してビジーであると判定すると、他系のＭＰＵ１５Ｂにライトデータのデステージ処理の実行権限を委譲する。すると他系のＭＰＵ１５Ｂは他系のＤＭＡ１１Ｂ、接続路５、自系のＤＭＡ１１Ａを介して、自系のＳＳＤ用ライトＣＭ１３Ａのデータを取得し、他系のディスク通信制御部１６Ｂに当該データをＳＳＤ４Ｂ又は４Ｃに格納させる(１１１４)。一方、自系のバックエンドがビジーでない場合には、自系のバックエンド１６ＡがＳＳＤ用ライトＣＭ１３ＡのデータをＳＳＤに書き込む(１１１６)。
【００６２】
自系のＭＰＵ１５Ａが自系のＳＳＤ用ライトＣＭの負荷状態が“フル”であると判定すると、ローカルメモリ１４Ａの管理テーブルを参照して他系のＳＳＤ用ライトＣＭ１２Ｂの負荷状態をチェックし（１１１８）、その負荷状態が“フル”でない場合には、他系のＭＰＵ１５Ｂは他系のＳＳＤ用ライトＣＭ１３Ｂにライトデータを一時記憶する(１１２０、図９の１Ａ)。
【００６３】
次いで、自系のＭＰＵ１５Ａは他系のバックエンド１６Ｂの負荷状態をローカルメモリ１４Ａの管理テーブルに基づいてチェックする(１１２２)。この負荷状態をチェックして、他系のバックエンドがビジーである場合には、ＭＰＵ１５ＡはＤＭＡ１１Ｂ、接続路５、そしてＤＭＡ１１Ａを介して他系のライト用ＣＭ１３Ｂからライトデータを自系の記憶デバイス通信制御部１６Ａに送り、自系の記憶デバイス通信制御部１６ＡにライトデータをＳＳＤに格納させる(１１２４.図９の２Ａ)。
【００６４】
一方、ステップ１１２２において、ＭＰＵ１５Ａが他系のバックエンド１６Ｂがビジーでないと判定すると、この判定結果を他系のＭＰＵ１５Ｂに通知する。他系のＭＰＵ１５Ｂは他系のＳＳＤ用ライトＣＭのデータを他系のバックエンド１６Ｂを使ってＳＳＤに格納する(１１２６,図９の２Ｂ)。
【００６５】
自系のＭＰＵ１Ａが自系のＳＳＤ用ライトＣＭ１３Ａ及び他系のＳＳＤ用ライトＣＭ１３Ｂが共にビジーであると判定すると、自系の共有ＣＭ１２Ａに、本来であればＳＳＤ用ライトＣＭ１３Ａに一時格納されるべき、ライトデータを一時記憶する(１１２８,図１０の１Ａ)。次いで、自系のＭＰＵ１５Ａは、ＤＭＡ１１Ａをして、共有ＣＭ１２Ａに一時記憶されたデータをＨＤＤに格納する(１１３０,図１０の２Ａ)。この際、ＭＰＵ１５Ａは、このライトデータのＨＤＤにおけるアドレスと、ＳＳＤに当該ライトデータを格納すべきアドレスとの対応テーブルを作成し、これをローカルメモリ１４Ａに登録する。ＭＰＵは、この対応テーブルを定期的にチェックして、当該対応テーブルにエントリが存在する場合には、記憶デバイス通信制御部１６Ａ又は１６ＢにＨＤＤからＳＳＤに目的のライトデータのマイグレーション処理を実行させる(１１３２、図１０の３Ａ又は３Ｂ)。この際、ＳＳＤに対するイレーズ処理が必要となるために、ＭＰＵ１６Ａは自系及び他系の記憶デバイス通信制御部１６Ａ，１６Ｂの負荷状態をチェックしながら、最適なタイミングでマイグレーションを実施する。
【００６６】
一方、ライトデータの格納先がＨＤＤの場合には、自系のＭＰＵ１５Ａがライトデータを自系の共有ＣＭ１２Ａに一時記憶する(１１３４)。そして、自系及び他系のバックエンドの負荷状態をチェックして、ビジーでない方のＤＭＡ及び記憶デバイス通信制御部を利用して共有ＣＭ１２Ａの一時記憶データを目的のＨＤＤに格納する(１１３６―１１４０)。
【００６７】
次にアクティブ-アクティブ処理でのリード動作について説明する。図１３はリード動作を示すフローチャートであり、図１４及び図１５はリード動作を示すブロック図である。ステップ１３００−１３０６は既述のリード処理のフローチャート（図８の８００−８０６）と同様である。
【００６８】
自系のＭＰＵ１５Ａが自系の共有ＣＭ１２Ａに目的のリードデータが存在すると判定する場合には、自系のＤＭＡ１１Ａは目的のリードデータを読み出して（１３０８）、ホスト２００Ａに転送する（１３１０）。
【００６９】
一方、ＭＰＵ１５Ａが目的のリードデータが共有ＣＭ１２Ａに存在しないと判定する場合には（１３０６）、リードデータがＳＳＤにあるかＨＤＤにあるかを判定する（１３１１）。リードデータがＳＳＤにないと判定すると、ＭＰＵ１５ＡがＨＤＤからデータを読み出す際、自系のバックエンドの負荷状態をチェックする（１３１２）。
【００７０】
自系のバックエンドの負荷状態がビジーであると判定すると、他系のＤＭＡ１１Ｂと記憶デバイス通信制御部１６ＢがＨＤＤからデータを読み出し、他系の共有ＣＭ１２Ｂ（又は自系の共有ＣＭ１２Ａ）が目的のデータを一時記憶する（１３１４）。他系のＤＭＡ１１Ｂ及び自系のＤＭＡ１１Ａはこの一時記憶されたデータを共有ＣＭ１２Ｂから自系のホスト通信制御部１０Ａ、そして、ホスト計算機２００Ａに転送する（１３１６）。
【００７１】
ＭＰＵ１５Ａが他系のバックエンドの負荷状態をビジーで判定すると、自系のＤＭＡ１１Ａなどのハードウエア資源が目的のデータをホスト計算機２００Ａに転送する（１３１８―１３２２）。
【００７２】
ＭＰＵ１５Ａがリードコマンドの対象となったデータがＳＳＤにあると判定すると（１３１１）、自系のバックエンドの負荷状態に応じて（１３２４）、自系のハードウエア資源又は他系のハードウエア資源がＳＳＤから目的のデータを読み出して、これを自系の共有ＣＭ１２Ａ又は他系の共有ＣＭ１２Ｂに一時記憶し、後にホスト計算機２００Ａにリードデータを転送する（１３２６−１３３６）。このデータ転送の様子が図１４の１Ａ，１Ｂ，２Ａ，２Ｂに示されている。
【００７３】
図１５はホスト計算機からのリードコマンドを受領した自系のストレージサブシステムがＳＳＤ用ライトＣＭを利用して、リードデータをホスト計算機に転送する動作を示すブロック図である。自系のバックエンドの負荷が少ない場合には、２Ａのルートに従って自系の記憶デバイス通信制御部１６ＡはＳＳＤからリードデータを自系のＳＳＤ用ライトＣＭ１３Ａに一時記憶する。自系のＤＭＡ１１Ａは、自系のＳＳＤ用ライトＣＭ１３Ａから自系のホスト通信制御部１０Ａにリードデータを転送する。
【００７４】
一方、他系のバックエンドの負荷が少ない場合は２Ｂのルートにしたがって、他系のバックエンド１６ＢがＳＳＤからデータを読み出し、他系のＳＳＤ用ライトＣＭがデータを一時記憶する。そして、１Ｂのルートにしたがって、他系のＳＳＤ用ライトＣＭ１３Ｂからのリードデータを他系のＤＭＡ１１Ｂ及び自系のＤＭＡ１１Ａが自系のホスト通信制御部１０Ａを介してホスト計算機２００Ａまで転送する。
【００７５】
次に、ホスト装置からストレージサブシステム６Ａに発行されるライト又はリードコマンドに伴うデータの特性、すなわち、データがシーケンシャルデータか、ランダムデータかに着目して、図１のストレージシステムのリード動作及びライト動作を説明する。
【００７６】
この種のデータの特性は、図１６に示すアクセス履歴テーブルに記録されている。アクセス履歴テーブルはホスト計算機から自系及び他系のストレージサブシステムへのログ情報を含むものである。アクセス履歴テーブルは、コマンドを発行したホスト計算機の識別情報（ＨＯＳＴ＃）、ストレージサブシステム(コントローラ)の識別情報（ＣＴＬ）、ホスト計算機からアクセスされた論理ユニット（ＬＵ）、ライトコマンド又はリードコマンドが発行されて記憶媒体の種別（ＳＳＤ又はＨＤＤ）、アクセス時刻、ライトコマンドかリードコマンド可の区別（Ｒ又はＷ）、リード又はライトアクセス先論理アドレス（先頭アドレス）、データのブロック長、アクセス種別判断結果（シーケンシャル又はランダム）の項目を含んでいる。
【００７７】
アクセス履歴テーブルは図１において、図示しない管理装置又は、自系及び他系のＭＰＵ１５Ａ、１５Ｂによって作成され、自系及び他系のローカルメモリ１４Ａ，１４Ｂに登録されている。
【００７８】
自系のＭＰＵ１５Ａ及び他系のＭＰＵ１５Ｂはお互いに協調してアクセス履歴テーブルを作成するか、例えば、自系のＭＰＵ１５Ａがアクセス履歴テーブル作成権限を持ち、他系のローカルメモリ１４Ｂに自系のＭＰＵ１５Ａが作成したアクセス履歴テーブルを定期的にコピーしてもよい。
【００７９】
管理装置、又は、自系及び他系のＭＰＵ１５Ａ，１５Ｂは、ホスト計算機からのライトコマンドを解析して、ライトアドレスを確認する。アクセス履歴テーブルを参照して、例えば、１つ前のログのアドレスに連続するアドレスがライトアドレスである場合には、ライトコマンドをシーケンシャルアクセスと判定し、連続しないアドレスである場合にはランダムアクセスと判定する。判定結果は、アクセス管理テーブルに登録される。
【００８０】
図６及び図１１に示すライト処理において、自系又は他系のＭＰＵ１５、１５Ｂはライトコマンドを確認して、履歴管理テーブルを参照して、ライトコマンドがシーケンシャルアクセスのものであるか、ランダムアクセスのものであるかを判定する。
【００８１】
ライトコマンドがランダムアクセスものである場合には、データをキャッシュメモリ（共有ＣＭ又はＳＳＤライト用ＣＭ）の記憶領域にブロック単位でランダムに格納する。共有ＣＭ及びＳＳＤライト用ＣＭはランダムに記録されたデータをあるセクタ単位に纏め、セクタ単位のデータをＨＤＤ又はＳＳＤにデステージする。ライトコマンドがシーケンシャルアクセスのものである場合には、共有ＣＭ及びＳＳＤライト用ＣＭはあるまとまったセクタ領域にデータを順番に格納する。
【００８２】
次に、図８及び図１３に示すリード処理において、自系又は他系のＭＰＵ１５Ａ，１５Ｂはリードコマンドを確認して、図１６の履歴管理テーブルを参照して、リード対象のデータがシーケンシャルアクセスのものであるか、ランダムアクセスのものであるかを判定する。特に、リード対象のデータがシーケンシャルアクセスのものである場合には、リード対象の記録媒体（ＨＤＤ又はＳＳＤ）からシーケンシャルデータを読み出す際に、リード対象以外の余分な部分の領域からもデータを読み出して、共有ＣＭの連続した領域にこのデータを格納する。余分に読み出されたデータにホスト計算機からのライトコマンドがアクセスすると、キャッシュヒットとなる。なお、リード頻度が所定以上のデータがＨＤＤに存在する場合には、自系又は他系の記憶デバイス通信制御装置はＨＤＤからＳＳＤに当該データ群をマイグレーションする。これによって、記憶デバイス通信制御装置は、ＨＤＤよりかは高速にデータを読み出すことができる。また、ライトアクセスの多いデータについては、ＳＳＤからＨＤＤにマイグレーションされることが好ましい。
【００８３】
既述の実施形態では，ＳＳＤのキャッシュメモリをＯＦＦするモードでＳＳＤを記憶デバイスとして使用することとして説明したが、ＳＳＤのキャッシュメモリをイネーブルとするモードでは、共有ＣＭにこのＳＳＤへのライトデータをキャッシングするようにしてもよい。ＳＳＤ内のキャッシュメモリをイネーブルにすると、ＳＳＤへのライト処理が高速に行えるからである。例えば、ホスト計算機からのライトデータが、内部キャッシュメモリをイネーブルにしたＳＳＤに割り当てられたＬＵへのものである場合には、ライトデータを共有ＣＭに格納し、内部キャッシュメモリをオフモードにしたＳＳＤに対するライトデータである場合にはＳＳＤ用ライトＣＭがこのライトデータを一時記憶するようにすればよい。また、内部キャッシュメモリをオンモードにしたＳＳＤをＨＤＤに対するライト・リード処理の際のデータの一時記憶に割り当ててもよい。
【００８４】
既述の実施形態では、ストレージサブシステム６Ａと６Ｂのそれぞれについて、共通ＣＭとＳＳＤライト用ＣＭとを設けたが、一方のストレージサブシステムにＳＳＤ用ライトＣＭを設けるものであっても、他方のストレージシステムはアクティブ―アクティブ処理によって他の方のストレージサブシステムのＳＳＤ用ライトＣＭを使用することができる。
【００８５】
またさらに、一方のストレージサブシステムのキャッシュメモリを共通ＣＭとし、他方のストレージサブシステムをＳＳＤ用ライトＣＭとすることもできる。
【図面の簡単な説明】
【００８６】
【図１】本発明に係わるストレージサブシステムを備える、記憶制御システム（ストレージシステム）である。
【図２】ライト先記憶媒体（ＨＤＤ又はＳＳＤ）を判定するための管理テーブルである。
【図３】ＳＳＤ用ライトＣＭの記憶領域とＳＳＤの記憶領域との対応関係を示すためのブロック図である。
【図４】キャッシュメモリ（共有ＣＭ）の記録領域とＨＤＤの記憶領域との対応関係を示すブロック図である。
【図５】ストレージシステムにおける、ライト動作を説明するブロック図である。
【図６】図６はライト動作を説明するフローチャートである。
【図７】ストレージシステムのリード動作を説明するためのブロック図である。
【図８】リード動作を説明するフローチャートである。
【図９】アクティブ―アクティブ処理におけるライト処理を説明する第１のブロック図である。
【図１０】アクティブ―アクティブ処理におけるライト処理を説明する第２のブロック図である。
【図１１】ライト処理を説明するフローチャートである。
【図１２】ストレージサブシステムの各種ハードウエア資源の負荷状態を管理する管理テーブルである。
【図１３】アクティブ-アクティブ処理でのリード動作を示すフローチャートである。
【図１４】図１３のリード動作を示す第１のブロック図である。
【図１５】そのリード動作の第２のブロック図である。
【図１６】ホスト計算機からストレージサブシステムへのアクセス履歴を示す管理テーブルである。
【符号の説明】
【００８７】
２００Ａ，２００Ｂ：ホスト計算機、４Ａ−４Ｅ：記憶媒体（ＨＤＤまたはＳＳＤ）、５：ストレージサブシステム間の接続路、６Ａ，６Ｂ：ストレージサブシステム、１０Ａ，１０Ｂ：ホスト通信制御部、１１Ａ，１１Ｂ：データ転送制御部（ＤＭＡ）、１２Ａ，１２Ｂ：共通ＣＭ、１３Ａ，１３Ｂ：ＳＳＤ用ライトキャッシュ、１４Ａ，１４Ｂ：ローカルメモリ、１５Ａ，１５Ｂ：ＭＰＵ、１６Ａ，１６Ｂ：記憶デバイス通信制御部
【図１】
2010049502.tif 000003
【図２】
2010049502.tif 000004
【図３】
2010049502.tif 000005
【図４】
2010049502.tif 000006
【図５】
2010049502.tif 000007
【図６】
2010049502.tif 000008
【図７】
2010049502.tif 000009
【図８】
2010049502.tif 000010
【図９】
2010049502.tif 000011
【図１０】
2010049502.tif 000012
【図１１】
2010049502.tif 000013
【図１２】
2010049502.tif 000014
【図１３】
2010049502.tif 000015
【図１４】
2010049502.tif 000016
【図１５】
2010049502.tif 000017
【図１６】
2010049502.tif 000018
【手続補正書】
【提出日】平成20年10月23日(2008.10.23)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
次に、本発明に係わるストレージサブシステムを備える、記憶制御システム（ストレージシステム）を図１に基づいて説明する。ストレージシステムは、ホスト計算機２００Ａ，２００Ｂが、ストレージサブシステム６Ａとストレージサブシステム６Ｂとからなる記憶制御装置を介して複数の記憶デバイス４Ａ〜４Ｅに接続されることにより構成されている。ホスト計算機２００Ａはストレージサブシステム６Ａに接続し、ホスト計算機２００Ｂはストレージサブシステム６Ｂに接続する。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
さらにホスト通信プロトコルチップには、複数のマイクロプロセッサとの間で通信を行い得るマルチマイクロプロセッサ機能が搭載されており、これによりホスト通信プロトコルチップがストレージシステム６Ａのマイクロプロセッサ１５Ａと、ストレージサブシステム６Ｂのマイクロプロセッサ１５Ｂとの双方と通信を行い得るようになされている。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００５１
【補正方法】変更
【補正の内容】
【００５１】
一方、ＭＰＵ１５Ａがライトデータの格納先がＳＳＤ以外、すなわちＨＤＤであると判定すると(６０６)、ライトデータを、ＤＭＡ１１Ａを介して共有ＣＭ１２Ａに一時記憶する（図５の１Ｂ、図６の６０８）。次いで、記憶デバイス通信制御部１６Ａは、共有ＣＭ１２Ａに格納されたライトデータをＨＤＤ４Ｄに格納する（図５の２Ｂ、図６の６１０）。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００６２
【補正方法】変更
【補正の内容】
【００６２】
自系のＭＰＵ１５Ａが自系のＳＳＤ用ライトＣＭの負荷状態が“フル”であると判定すると、ローカルメモリ１４Ａの管理テーブルを参照して他系のＳＳＤ用ライトＣＭ１３Ｂの負荷状態をチェックし（１１１８）、その負荷状態が“フル”でない場合には、他系のＭＰＵ１５Ｂは他系のＳＳＤ用ライトＣＭ１３Ｂにライトデータを一時記憶する(１１２０、図９の１Ａ)。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００６５
【補正方法】変更
【補正の内容】
【００６５】
自系のＭＰＵ１５Ａが自系のＳＳＤ用ライトＣＭ１３Ａ及び他系のＳＳＤ用ライトＣＭ１３Ｂが共にビジーであると判定すると、自系の共有ＣＭ１２Ａに、本来であればＳＳＤ用ライトＣＭ１３Ａに一時格納されるべき、ライトデータを一時記憶する(１１２８,図１０の１Ａ)。次いで、自系のＭＰＵ１５Ａは、ＤＭＡ１１Ａをして、共有ＣＭ１２Ａに一時記憶されたデータをＨＤＤに格納する(１１３０,図１０の２Ａ)。この際、ＭＰＵ１５Ａは、このライトデータのＨＤＤにおけるアドレスと、ＳＳＤに当該ライトデータを格納すべきアドレスとの対応テーブルを作成し、これをローカルメモリ１４Ａに登録する。ＭＰＵは、この対応テーブルを定期的にチェックして、当該対応テーブルにエントリが存在する場合には、記憶デバイス通信制御部１６Ａ又は１６ＢにＨＤＤからＳＳＤに目的のライトデータのマイグレーション処理を実行させる(１１３２、図１０の３Ａ又は３Ｂ)。この際、ＳＳＤに対するイレーズ処理が必要となるために、ＭＰＵ１６Ａは自系及び他系の記憶デバイス通信制御部１６Ａ，１６Ｂの負荷状態をチェックしながら、最適なタイミングでマイグレーションを実施する。
【手続補正６】
【補正対象書類名】図面
【補正対象項目名】図１１
【補正方法】変更
【補正の内容】
【図１１】
2010049502.tif 000019