JP2007179156A - 記憶制御装置及び方法 - Google Patents

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

Info

Publication number
JP2007179156A
JP2007179156A JP2005374652A JP2005374652A JP2007179156A JP 2007179156 A JP2007179156 A JP 2007179156A JP 2005374652 A JP2005374652 A JP 2005374652A JP 2005374652 A JP2005374652 A JP 2005374652A JP 2007179156 A JP2007179156 A JP 2007179156A
Authority
JP
Japan
Prior art keywords
command
storage
communication
external storage
control device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2005374652A
Other languages
English (en)
Inventor
Atsushi Yuhara
敦 湯原
Kazunobu Ohashi
和伸 大橋
Masao Nakano
正雄 中野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2005374652A priority Critical patent/JP2007179156A/ja
Priority to US11/362,085 priority patent/US7475169B2/en
Publication of JP2007179156A publication Critical patent/JP2007179156A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0873Mapping of cache memory to specific storage devices or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0871Allocation or management of cache space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/28Using a specific disk cache architecture
    • G06F2212/282Partitioned cache

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】外部ストレージサブシステムが有する記憶資源を自分の記憶資源のごとく提供する記憶制御装置におけるIO処理時間長を短縮できるようにする。
【解決手段】 外部ストレージサブシステム40の通信ポート41毎に割当てられた各キャッシュ領域を持つキャッシュメモリ24がある。ホスト装置10から受けたIOコマンドに従うデータが外部LDEV42にある場合、そのキャッシュ領域でキャッシュヒットしなかった場合に、その外部ストレージサブシステム40にIOコマンドが発酵された後で、ホスト装置10に対してIO処理結果が送信される。記憶制御装置(20)は、各通信ポート41毎に、ダミーのIOコマンドを発行することで、レスポンスタイムを測定する。その測定値がより大きい通信ポート41には、より多くのキャッシュ容量が割り当てられる。この結果、測定値がより大きい通信ポート41に対応するキャッシュ領域でのキャッシュヒット率が高まる。
【選択図】図3

Description

本発明は、記憶制御技術に関し、具体的には、例えば、ストレージ仮想化技術に関する。
例えば、特開2005−266933号の要約、及び特開2004−227558号の要約に開示の技術が知られている。
特開2005−266933号公報 特開2004−227558号公報
ところで、いわゆるストレージ仮想化技術が知られている。ここで言うストレージ仮想化とは、記憶制御装置の外部に存在するストレージサブシステム(以下、外部ストレージサブシステム)が有する記憶資源を記憶制御装置が有する記憶資源のごとく提供する技術である。記憶制御装置は、仮想的な記憶資源がアクセス先として指定された場合には、その指定された記憶資源に対応する記憶資源を有する外部ストレージサブシステムに、データを読み出す又は書き込むためのIOコマンド(入力/出力コマンド)を発行する。
記憶制御装置が、外部ストレージサブシステムにIOコマンドを発行することによりデータを書く或いは読むとなると、外部にアクセスする分、時間を要する。このため、記憶制御装置に指定されたIO処理の時間長(例えば、記憶制御装置のホスト装置から受信したIOコマンドを処理する時間長)が長くなってしまう。この時間長を抑えることが好ましい。
従って、本発明の一つの目的は、外部ストレージサブシステムが有する記憶資源を自分の記憶資源のごとく提供する記憶制御装置におけるIO処理時間長を短縮できるようにすることにある。
本発明の他の目的は、後述の説明から明らかになるであろう。
本発明の第一の観点に従う記憶制御装置は、その外部に存在するストレージサブシステムである外部ストレージサブシステムと前記記憶制御装置とを備えたストレージシステムの前記記憶制御装置である。
その記憶制御装置は、
前記外部ストレージサブシステムに備えられる複数の記憶装置である複数の外部記憶装置がそれぞれマッピングされた一以上のオブジェクトと、
外部記憶装置に書かれる又は外部記憶装置から読まれるデータを記憶することができるメモリであって、前記記憶制御装置と前記複数の外部記憶装置とを結ぶ二以上の通信経路の要素別に割当てられた二以上のメモリ領域を持つメモリと、
前記一以上のオブジェクトのうちの或るオブジェクトに対する第一のIOコマンドを受け、前記或るオブジェクトにマッピングされている外部記憶装置への通信経路の要素に対応したメモリ領域で、該第一のIOコマンドに従うデータの取得又はそのデータの記憶領域の確保を試み、該試みに成功したならば、前記第一のIOコマンドの処理結果であるIO結果を該第一のIOコマンドの送信元に送信し、前記試みに失敗したならば、前記第一のIOコマンドに従うアクセスを行うための第二のIOコマンドを、前記マッピングされている外部記憶装置を有する外部ストレージサブシステムに送信し、その後に、前記IO処理結果を前記送信元に送信するIO処理部と、
前記二以上の通信経路の各々の通信状況を監視する監視部と、
監視の結果、通信状況がより悪い通信経路の要素に対して、メモリ領域容量をより多く割り当てる割当て部と
を備えることができる。
ここで、オブジェクトとは、例えば、外部記憶装置が直接的にマッピングされたLUN、或いは、外部記憶装置がマッピングされた後述の仮想デバイスに対応付けられたLUNであるとすることができるが、それに限らず、種々のものを採用することができる。
外部記憶装置は、物理的な記憶装置(例えば、ハードディスクなどのディスク型記憶装置)であっても良いし論理的な記憶装置(例えば、論理ボリューム、論理デバイス或いは論理ユニットと呼ばれる論理的な装置)であっても良い。
第一の態様では、前記記憶制御装置は、一又は複数の外部ストレージサブシステムと通信可能な一以上の第一の通信ポートを有することができる。前記外部ストレージサブシステムは、前記記憶制御装置と通信可能な一以上の通信可能な第二の通信ポートを有することができる。前記通信経路の要素とは、該通信経路に属する第一の通信ポート、第二の通信ポート及び外部記憶装置のうちの少なくとも一つであるとすることができる。一つの第一の通信ポートには、一又は複数の第二の通信ポートが接続されても良いし、一つの第二の通信ポートには、複数の第一の通信ポートが接続されても良い。
第二の態様では、前記通信状況とは、通信経路に発行された第二のIOコマンドのレスポンスタイムの測定値、又は複数回のレスポンスタイム測定値の統計であるとすることができる。
第三の態様では、前記第二の態様において、前記監視部は、前記第一のIOコマンドに従うアクセスのための第二のIOコマンドとは異なるダミーの第二のIOコマンドを或る通信経路に発行し、該ダミーの第二のIOコマンドの応答を受けることで、前記或る通信経路でのレスポンスタイムを測定することができる。
第四の態様では、前記第三の態様において、前記ダミーの第二のIOコマンドは、ダミーのリードコマンドであるとすることができる。前記監視部は、各通信経路において、各回に発行するダミーのリードコマンドのアクセス先を前回のアクセス先と違えるようにすることができる。
第五の態様では、前記第三の態様において、前記ダミーの第二のIOコマンドは、ダミーのライトコマンドであるとすることができる。前記監視部は、各通信経路において、各回に発行するダミーのライトコマンドのアクセス先を、外部記憶装置における所定の記憶領域部分とすることができる。
第六の態様では、前記第三の態様において、前記監視部は、第二のIOコマンドとしてライトコマンドよりもリードコマンドを前記記憶制御装置から受けることが多い外部ストレージサブシステムへの通信経路には、ダミーのリードコマンドを発行することでレスポンスタイムを測定し、第二のIOコマンドとしてリードコマンドよりもライトコマンドを前記記憶制御装置から受けることが多い外部ストレージサブシステムへの通信経路には、ダミーのライトコマンドを発行することでレスポンスタイムを測定することができる。
第七の態様では、前記二の態様において、前記統計とは、前記複数回のレスポンスタイム測定値の平均値であるとすることができる。
第八の態様では、前記第二の態様において、前記統計とは、複数のレスポンスタイム測定値範囲のうち最も多く属するレスポンスタイム測定値が得られたレスポンスタイム測定値範囲であるとすることができる。
第九の態様において、前記監視部は、或るグループに属する複数の通信経路のうちの或る通信経路について通信状況を監視する場合、該複数の通信経路のうちの他の通信経路については、通信状況を監視せず、前記或る通信経路の通信状況と同じとすることができる。
第十の態様において、前記二以上の通信経路の要素に割り当て可能なメモリ総容量は決まっており、前記割当て部は、各通信経路の通信状況を基に、前記各通信経路の要素に割り当てるメモリ領域容量比率を求め、前記各通信経路の要素のメモリ容量比率と、前記メモリ総容量とを基に、前記各通信経路の要素に割り当てるメモリ領域容量を求め、或る通信経路について少なくともメモリ領域容量に変更があった場合に、該或る通信経路に割り当てるメモリ領域容量と他の通信経路に割り当てるメモリ領域容量とを変更することができる。
第十一の態様において、前記第一のIOコマンドが、ライトコマンドであり、前記記憶制御装置が、前記メモリとは異なる記憶装置である内部記憶装置と、データの記憶場所を管理するためのデータ管理情報とを有することができる。前記IO処理部は、ライトコマンドを受けた場合に前記試みに失敗したならば、前記内部記憶装置に前記ライトコマンドの対象のデータを書き、該データの書込み先を前記データ管理情報に登録することができる。
第十二の態様では、前記第十一の態様において、前記第一のIOコマンドが、リードコマンドである。前記IO処理部は、リードコマンドを受けた場合に前記試みに失敗したならば、前記データ管理情報を参照することにより、前記リードコマンドの対象のデータが前記内部記憶装置に記憶されているかどうかを判断し、記憶されていると判断したならば、該対象のデータを前記内部記憶装置から取得し、記憶されていないと判断したならば、該対象のデータを読み出すためのリードコマンドを、前記外部ストレージサブシステムに送信することができる。
第十三の態様では、記憶制御装置が、或る通信経路について、監視された通信状況が悪ければ、ベリファイ処理を行い、前記通信状況が悪くなければ、ベリファイ処理を行わないベリファイ部を更に備えることができる。前記ベリファイ処理とは、前記外部記憶装置に対するライトコマンドによって該外部記憶装置に書かれたデータを読出し、読み出されたデータと、該ライトコマンドの対象のデータとを比較し、一致が得られるか否かを判断する処理であるとすることができる。
第十四の態様では、前記記憶制御装置には、二以上の外部ストレージサブシステムが通信可能に接続されており、監視された通信状況が所定の条件に合う場合に、或る外部ストレージサブシステムと別の外部ストレージシステムとの間でデータコピー或いはマイグレーションを行うデータ制御部を更に備えることができる。
第十五の態様では、前記記憶制御装置は、前記記憶制御装置に対して第一のIOコマンドを発行するホスト装置に通信可能に接続され、前記メモリとは異なる記憶装置である内部記憶装置を有することができる。前記IO処理部は、前記ホスト装置に接続された第一の上位インタフェース部と、前記外部ストレージシステムと通信可能に接続された第二の上位インタフェース部とを有することができる。前記第一の上位インタフェース部が、前記或るオブジェクトにマッピングされている外部記憶装置にアクセスすることを前記第二の上位インタフェース部に要求し、前記第二のインタフェース部が、該要求に従って、前記第二のIOコマンドを、自分に接続されている外部ストレージサブシステムに発行することができる。
本発明の第二の観点に従う記憶制御装置は、記憶制御装置の外部に存在するストレージサブシステムである外部ストレージサブシステムと前記記憶制御装置と前記記憶制御装置のホスト装置とを備えたストレージシステムの前記記憶制御装置である。前記外部ストレージサブシステムが、前記記憶制御装置と通信可能な一以上の通信可能な第一の通信ポートと、複数の記憶装置である複数の外部記憶装置とを有する。前記ホスト装置が、データを読み出す又はデータを書き込むための第一のIOコマンドを前記記憶制御装置に発行するようになっている。
このような場合、前記記憶制御装置が、
前記ホスト装置と通信可能な第二の通信ポートと、
一又は複数の外部ストレージサブシステムと通信可能な一以上の第三の通信ポートと、
前記複数の外部記憶装置がそれぞれマッピングされた一以上のオブジェクトと、
外部記憶装置に書かれる又は外部記憶装置から読まれるデータを記憶することができるメモリであって、前記記憶制御装置と前記複数の外部記憶装置とを結ぶ二以上の通信経路の要素別に割当てられた二以上のメモリ領域を持つメモリと、
前記一以上のオブジェクトのうちの或るオブジェクトに対する第一のIOコマンドを受け、前記或るオブジェクトにマッピングされている外部記憶装置への通信経路の要素に対応したメモリ領域で、該第一のIOコマンドに従うデータの取得又はそのデータの記憶領域の確保を試み、該試みに成功したならば、前記第一のIOコマンドの処理結果であるIO結果を該第一のIOコマンドの送信元に送信し、前記試みに失敗したならば、前記第一のIOコマンドに従うアクセスを行うための第二のIOコマンドを、前記マッピングされている外部記憶装置を有する外部ストレージサブシステムに送信し、その後に、前記IO処理結果を前記送信元に送信するIO処理部と、
前記二以上の通信経路の各々の通信状況を監視する監視部と、
監視の結果、通信状況がより悪い通信経路の要素に対して、メモリ領域容量をより多く割り当てる割当て部と
を備える。前記通信経路の要素とは、該通信経路に属する第一の通信ポート、第三の通信ポート及び外部記憶装置のうちの少なくとも一つである。前記通信状況とは、通信経路に発行された第二のIOコマンドのレスポンスタイムの複数回の測定値の統計である。
前記監視部は、前記第一のIOコマンドに従うアクセスのための第二のIOコマンドとは異なるダミーの第二のIOコマンドを或る通信経路に発行し、該ダミーの第二のIOコマンドの応答を受けることで、前記或る通信経路でのレスポンスタイムを測定することができる。前記統計とは、前記複数回のレスポンスタイム測定値の平均値、又は、複数のレスポンスタイム測定値範囲のうち最も多く属するレスポンスタイム測定値が得られたレスポンスタイム測定値範囲である。前記二以上の通信経路の要素に割り当て可能なメモリ総容量は決まっている。前記割当て部は、各通信経路の前記統計が所定値よりも大きいものには、高いメモリ領域容量比率を割り当て、前記統計が所定値よりも小さいものには、低いメモリ領域容量比率を割り当て、前記各通信経路の要素のメモリ容量比率と、前記メモリ総容量とを基に、前記各通信経路の要素に割り当てるメモリ領域容量を決定する。
上述した各部は、各手段と言い換えることができる。各部或いは各手段は、ハードウェア(例えば回路)、コンピュータプログラム、或いはそれらの組み合わせ(例えば、コンピュータプログラムを読み込んで実行する一又は複数のCPU)によって実現することもできる。各コンピュータプログラムは、コンピュータマシンに備えられる記憶資源(例えばメモリ)から読み込むことができる。その記憶資源には、CD−ROMやDVD(Digital Versatile Disk)等の記録媒体を介してインストールすることもできるし、インターネットやLAN等の通信ネットワークを介してダウンロードすることもできる。
本発明によれば、外部ストレージサブシステムが有する記憶資源を自分の記憶資源のごとく提供する記憶制御装置におけるIO処理時間長を短縮できるようにすることができる。
以下、図面を参照して、本発明の一実施形態について説明する。
図1は、本発明の一実施形態に係るストレージシステムを示すブロック図である。
例えば、第一の通信ネットワーク4に、ホスト装置、管理端末15及びストレージサブシステム20が接続されている。また、第二の通信ネットワーク2に、ストレージサブシステム20と、ストレージサブシステム20の外部に存在する別のストレージサブシステム(以下、外部ストレージサブシステム)40が接続されている。通信ネットワークは、上述のごとく第一と第二のように別れていても良いが、一つであっても良い。通信ネットワークは、例えば、LAN(Local Area Network)、SAN(Storage Area Network)、或いは専用線など、種々のものを採用することができる。外部ストレージサブシステム40は、一台であっても複数台であっても良い。外部ストレージサブシステム40の属性(例えば、機種、ベンダ或いはバージョン等)は、ストレージサブシステム20の属性と同じであっても良いし異なっていても良い。
ホスト装置10は、例えば、CPU(Central Processing Unit)やメモリ等の情報処理資源を備えたコンピュータ装置であり、例えば、パーソナルコンピュータ、ワークステーション、メインフレーム等として構成される。ホスト装置10には、第一の通信ネットワーク4を介してストレージサブシステム20にアクセスするための通信ポート(例えば、LANカード或いはホストバスアダプタに設けられたポート)12が設けられている。ホスト装置10は、通信ポート12を介して、データのリード或いはデータのライトを要求するためのIO(入力/出力)コマンドを発行することができる。
ストレージサブシステム20は、外部ストレージサブシステム40の有するホストデータ記憶資源(ホスト装置10に読み書きされるデータを記憶する資源(例えば、論理記憶装置)を自己のホストデータ記憶資源としてホスト装置10に提供することができる。ストレージサブシステム20は、ディスク型記憶装置30を備えたディスクアレイ装置とすることができるが、ディスク型記憶装置30を有していなくても良いし、通信ネットワークを構成するスイッチ装置(例えば、高機能化されたインテリジェント型のファイバチャネルスイッチ)であっても良い。
ストレージサブシステム20も外部ストレージサブシステム40も同様の構成を採用することができるので、以下、ストレージサブシステム20の構成を代表的に例に採り説明する。ストレージサブシステム20は、コントローラ部6と記憶装置部8とに大別することができる。
記憶装置部8は、複数のディスク型記憶装置30を備える。複数のディスク型記憶装置30の二以上のディスク型記憶装置は、RAIDグループ(パリティグループ或いはアレイグループと呼ばれることもある)にされ、そのRAIDグループが有する物理記憶資源を基に、一又は複数個の論理記憶装置(以下、LDEV)31が設けられる。なお、外部ストレージサブシステム40にも、同様に、一又は複数個のLDEV42が設けられる。以下、ストレージサブシステム20内の物理的な記憶資源が割り当てられたLDEV31を「内部LDEV31」と言い、外部ストレージサブシステム40の物理的な記憶資源が割り当てられたLDEV42を「外部LDEV42」と言う。
記憶装置部8内に点線で示されるLDEV32は、外部ストレージサブシステム40の有する外部LDEV42をストレージサブシステム20側に取り込んだ状態を示すものである。即ち、本実施形態では、ストレージサブシステム20から見て外部に存在するLDEV42を、ストレージサブシステム20の内部LDEV32としてホスト装置10に外部LDEV42の記憶資源を提供することができる。
コントローラ部6は、例えば、複数のチャネルアダプタ(CHA)21と、複数のディスクアダプタ(DKA)22と、サービスプロセッサ(SVP)23と、キャッシュメモリ24と、共有メモリ25と、接続部26とを備えている。キャッシュメモリ24及び共有メモリ25のうちの少なくとも一つは、複数個備えられても良い。
各CHA21は、一又は複数の通信ポート28、一又は複数のマイクロプロセッサ(以下、MP)100C、及び図示しないメモリを備えた回路基盤とすることができる。ストレージサブシステム20には、第一の通信ネットワーク4を介してホスト装置10と通信するCHA21や、第二の通信ネットワーク2を介して外部ストレージサブシステム40と通信するCHAがある。
DKA22は、ディスク型記憶装置30との間のデータ授受を行うものである。DKA22は、一又は複数の通信ポート7、一又は複数のMP100D、及び図示しないメモリを備えた回路基盤とすることができる。通信ポート7を介して内部LDEV31との間でデータ入出力を行う場合、DKA22は、論理的なアドレスを物理的なアドレスに変換することができる。
SVP23は、例えば、入出力コンソールと制御コンソールとを備えた装置(例えばパーソナルコンピュータ)であっても良いし、入出力コンソール(例えば管理端末15)に接続された制御コンソール(例えばいわゆるマザーボード)であっても良い。
キャッシュメモリ24は、ホスト装置10から受信したデータや、内部LDEV31から読み出されたデータを一時的に記憶するためのものである。共有メモリ25には、制御情報等が格納される。また、共有メモリ25には、MP同士でやり取りされるメッセージを記憶することができるワーク領域や、ストレージサブシステム20を制御するための制御情報が記憶される領域などを設けることができる。
接続部26は、CHA21、DKA22、キャッシュメモリ24、及び共有メモリ25を相互に接続させる。接続部26は、例えば、高速スイッチング動作によってデータ伝送を行う超高速クロスバスイッチ等のような高速バスとして構成することができる。
外部ストレージサブシステム40は、ストレージサブシステム20と通信可能になる通信ポート41や外部LDEV42を備える。
以上が、本実施形態に係るストレージシステム1の構成例である。なお、上記の説明は一例であって、他の構成が採用されてもよい。例えば、共有メモリ25とキャッシュメモリ24は、別々のメモリでなく、一つのメモリに共有メモリ領域とキャッシュメモリ領域とが設けられても良い。また、例えば、ストレージサブシステム20及び/又は外部ストレージサブシステム40のコントローラ部は、CPU、メモリ及び通信ポートを備えた回路基盤であっても良い。この場合、CPUが、複数のCHAやDKAによって行われる処理を実行することができる。
図2は、ストレージサブシステム20と外部ストレージサブシステム40との論理的な概略構造を示す模式図である。
ストレージサブシステム20は、下層側から順番に、VDEV101と、LDEV31,32と、LUN(Logical Unit Number)103とからなる3層の記憶階層を有している。
VDEV101は、論理的な記憶階層の最下位に位置する仮想デバイス(Virtual Device)である。VDEV101は、物理的な記憶資源を仮想化したものであり、RAID構成を適用することができる。即ち、1つのディスク型記憶装置30から複数のVDEV101を形成することもできるし(スライシング)、複数のディスク型記憶装置30から1つのVDEV101を形成することもできる(ストライピング)。図2中の左側に示すVDEV101は、例えば、所定のRAID構成に従ってディスク型記憶装置30を仮想化している。
一方、図2中の右側に示すVDEV101は、外部ストレージサブシステム40の外部LDEV42をマッピングすることにより構成されている。具体的には、本実施形態では、外部ストレージサブシステム40の外部LDEV42をVDEV101にマッピングすることにより、ストレージサブシステム20の内部LDEV32として使用できるようになっている。図に示す例では、4つの外部LDEV42A〜42Dをストライピングすることにより、VDEV101を構築している。各外部LDEV42A〜42Dには、それぞれの通信ポート41A〜41DからそれぞれのLUN43A〜43Dを特定することにより、それぞれ個別にアクセスすることができる。各通信ポート41A〜41Dには、ユニークな識別情報であるWWNが割り当てられており、WWN及びLUN(論理ユニット番号)の組合せによって外部LDEVを特定することができる。LDEVは、LU(論理ユニット)と呼ばれることもあり、一つのLDEVに一つのLUであっても良いし、複数のLDEVに一つのLUであっても良い。
VDEV101の上には、内部LDEV32が設けられている。内部LDEV32は、VDEV101を仮想化したLDEVである。1つのVDEV101から2つのLDEV32に接続することもできるし、複数のVDEV101から1つのLDEV32に接続することもできる。LDEV32には、それぞれのLUN103を介してアクセスすることができる。
以上が、ストレージサブシステム20と外部ストレージサブシステム40との論理的な概略構造の一例である。この構造により、ホストが仮想的な内部LDEV32を介して外部LDEV42にアクセスすることができる。この技術としては、例えば、特開2005−107645号に記載の技術を援用することができる。また、別の技術として、例えば、VDEV101を介さず、ストレージサブシステムの仮想的なLDEV(例えばLUNが設定されているが記憶資源のないLDEV)と外部LDEVとが対応付けられていて、その仮想的なLDEVに対するIOコマンドがあった場合に、その仮想的なLDEVに対応付けられている外部LDEVにアクセスすることが行われても良い。
ストレージサブシステム20は、ホスト装置10からIOコマンドを受けた場合、以下のような処理を行うことができる。
図3Aは、ホスト装置からIOコマンドを受けたストレージサブシステム20で行われる処理の流れの一例を示す。なお、以下の説明では、便宜上、ホスト装置10と通信可能なCHA21を「ホストCHA21」と言い、外部ストレージサブシステム40と通信可能なCHA21を「外部CHA21」と言うことにする。
例えば、図2に例示した構造を表す情報(以下、マッピングテーブル)が、ストレージサブシステム20内の所定の記憶域、例えば共有メモリ25に記憶されている。
ホストCHA21は、例えば、IOコマンドをホスト装置10から受けた場合(ステップS1)、そのIOコマンドの解析を行い(S2)、キャッシュヒットしたか否かを判定する(S3)。S2では、例えば、ホストCHA21は、そのIOコマンドに従うデータがどのLDEVに格納されるものであるかを識別する。S3では、例えば、ホストCHA21は、受信したIOコマンドに従うデータ(つまりリード対象又はライト対象のデータ)がキャッシュメモリ24に記憶されているか否か(及び/又は、そのデータを記憶させるための領域をキャッシュメモリ24上に確保できたか否か)を判定する。
ホストCHA21は、キャッシュヒットしたと判定した場合(S3でY)、受信したIOコマンドの種類に応じた処理をホスト装置10に対して行う(S7)。具体的には、例えば、ホストCHA21は、受信したIOコマンドがリードコマンドであれば、そのコマンドに従うデータをキャッシュメモリ24から読出し、読み出したデータをホスト装置10に送信することができる。受信したIOコマンドがライトコマンドであれば、ホストCHA21は、キャッシュヒットした領域に書込み対象のデータを書き、ホスト装置10に、ライトコマンドの終了通知を送信することができる。ホストCHA21は、例えば、内部LDEV32に対するデータ(つまり外部LDEV42に送信されるデータ)をキャッシュメモリ24に書く場合、そのデータの宛先(例えば内部LDEV32又は外部LDEV42のLUNとLBAとのセット)を関連付けて記憶させることができる。これにより、ホスト装置10からのリードコマンドに従うデータがキャッシュメモリ24に残っているか否か(換言すればキャッシュヒットしたか否か)を判別することができる。
ホストCHA21は、キャッシュヒットしなかったと判定した場合(S3でN)、受信したIOコマンドに従うアクセス先が内部と外部のどちらに対応するのかを判定する(S4)。具体的には、例えば、ホストCHA21は、マッピングテーブルを参照し、そのIOコマンドで指定されているLUNが内部LDEV31と外部LDEV42のどちらに対応しているのかを判定する。
S4で内部に対応すると判定された場合(S4でN)、ホストCHA21は、DKA22に、その内部LDEV31にアクセスする(データをリードする又はデータをライトする)ことを要求する(S6)。一方、外部LDEV42に対応していると判定された場合(S4でY)、ホストCHA21は、その外部LDEV42を有する外部ストレージサブシステム40に接続されている外部CHA21に、その外部LDEV42にアクセスすることを要求し、それにより、その外部CHA21により、その外部LDEV42にアクセスするためのIOコマンドが、その外部ストレージサブシステム40に対して発行される。この後、上述のS7が実行される。すなわち、外部LDEV42からデータが読み出された場合、そのデータがホスト装置10に送信され、外部LDEV42にデータが送信された場合、ホスト装置10に、ライトコマンドの終了通知が送信される。
さて、本実施形態では、このような処理を行うストレージサブシステム20のホスト装置10に対するIO処理時間長(S1からS7までの時間長、以下、IO処理タイム)を短縮するよう工夫されている。以下、その工夫について詳細に説明する。
図3Bは、ストレージサブシステム20で行われる処理であって、本実施形態の特徴の一つとなる処理の流れの概要を示す。
外部CHA21が、各経路要素別に、外部ストレージシステム40に発行されたIOコマンドのレスポンスの時間長(以下、外部レスポンスタイム)を測定する(S100)。ここで、「レスポンス」とは、コマンドを受けたという応答の受信、リードコマンドに従うデータの受信、及び、ライトコマンドに従うデータを書いたという終了通知の受信のうちの少なくとも一つを指す。本実施形態では、コマンドを受けたという応答(例えばACK)の受信とする。また、「経路要素」とは、外部CHA21から外部LDEV42に対するIOコマンドの経路に属する要素であり、具体的には、例えば、外部CHA21の通信ポート28、外部ストレージサブシステム40の通信ポート41、及び外部LDEV42のLUNのうちの少なくとも一つである。以下の説明では、経路要素は、外部ストレージサブシステム40の通信ポート41であるとする。
S100の処理は、例えば、外部ストレージサブシステム40に通信可能に接続された場合に行われる。このS100の処理は、例えば、定期的又は不定期的に行われる。故に、或る程度の時間が経過すると、各通信ポート41毎に、レスポンスタイムが複数回測定されることになる。
外部CHA21は、一定時間経過する都度に、或いは、外部レスポンスタイムを所定回数測定する都度に、複数の外部レスポンスタイム測定値(以下、単に「測定値」ということがある)の統計を各ポート毎に算出する(S200)。そして、外部CHA21は、算出された統計に基づいて、各ポート毎にキャッシュ容量比率を算出し、そのキャッシュ容量比率とキャッシュメモリ24の割当て上限容量とに基づいて、各ポート毎にキャッシュ容量を割当てる(S300)。このS300の処理では、レスポンスタイムがより長い通信ポート41に対してより多くのキャッシュ容量が割当てられる。なお、ここで言う「キャッシュ容量」とは、キャッシュメモリ24の一部領域の容量である。また、「割当て上限容量」とは、外部ストレージサブシステム40へのアクセスのために割当てても良いキャッシュ容量の最大値である。
以下、この処理を実現するための工夫として、図4A〜図5Bに例示するテーブルが、ストレージサブシステム20内の所定の記憶域、例えば、共有メモリ25、キャッシュメモリ24及び外部CHA21上のメモリのうちの少なくとも一つに一緒にまたは分散して記憶させることができる。
図4Aは、外部ストレージテーブルの構成例を示す。
外部ストレージテーブル201は、外部ストレージサブシステム40へのアクセスを制御するためのテーブルである。外部ストレージテーブル201には、例えば、各通信ポート41毎に(図4Aでは、通信ポートA〜Cの各々について)、測定種別、キャッシュメモリ24の割当て上限容量、ベリファイ要否、アラーム通知の閾値、IOレスポンス、IOカウント及びキャッシュ容量比率といった項目が用意される。測定種別、割当て上限容量、ベリファイ要否及びアラーム通知の閾値は、例えば、動的に自動では変更されない固定値であり、管理者(SVP23又は管理端末15のオペレータ)が設定することができる。IOレスポンス及びIOカウントは、ストレージサブシステム20によって自動で設定され手動では設定されない。キャッシュ容量比率は、手動でも自動でも設定することができる(換言すれば固定値であっても良いし動的に変更される値であっても良い)。なお、これらは、一例であって、必ずしもこのような決まりになっていなくても良い。
外部レスポンスタイムは、外部ストレージサブシステム40にダミーでIOコマンドを発行してからその応答を受けるまでの時間長を測定することにより測定することができる。「ダミーでIOコマンドを発行する」とは、ホスト装置からの内部LDEV32に対するIOコマンドを受けたことに起因してIOコマンドを発行することとは異なり、外部レスポンスタイムの測定のためにIOコマンドを発行することを意味する。ダミーで発行されるIOコマンドでは、例えば、アクセス先範囲は狭い範囲(例えば1ブロック分)とすることができる。
IOコマンドには、前述したように、リードコマンドとライトコマンドの2種類がある。「測定種別」とは、リードコマンドとライトコマンドのどちらを発行することにより外部レスポンスタイムを測定するかや、その測定方法を動的に変えても良いか否かを表す。本実施形態では、リードコマンドを発行することで測定し測定方法を動的に変えない(R)、ライトコマンドを発行することで測定し測定方法を動的に変えない(W)、及び測定方法を動的に変える(動的)の3種類があるものとする。
「ベリファイ要否」とは、外部LDEV42に書かれたデータのベリファイを行うか否かを表す。そのベリファイでは、具体的には、例えば、外部CHA21が、外部LDEV42に書くデータをキャッシュメモリ24に残し、その外部LDEV42に書いたデータをその外部LDEV42から読出し、キャッシュメモリ24に残したデータと、読み出されたデータとを比較し、互いにデータが一致するか否かを判定する。一致しない場合には、エラーと判定される。
「アラーム通知の閾値」とは、エラーが何回以上発生した場合にアラーム通知を行うかを表す。例えば、閾値として「3」が設定された場合、その閾値に対応した通信ポート41に関わる処理(例えば上記のベリファイ処理)で3回エラーが発生したら、ストレージサブシステム20(例えば外部CHA21又はホストCHA21)によって、SVP23又は管理端末15(又はホスト装置10)にアラームが通知される。
「IOレスポンス」とは、最新の外部レスポンスタイム測定値である。「IOカウント」とは、最新の外部レスポンスタイム測定回数である。IOカウントは、例えば、外部レスポンスタイム測定値の統計が算出される都度に、リセット(例えばゼロに)される。
「キャッシュ容量比率」とは、割当てられたキャッシュ容量の比率を表す。例えば、通信ポートA〜Cのキャッシュ容量比率は、1:2:3や、2:4:5のように、比で割当てることができる。勿論、これに限らず、別の方法、例えば、割当て上限容量を1とした場合の比率であっても良い。
図4Bは、第一の外部レスポンスタイムテーブルの構成例を示す。図4Cは、第二の外部レスポンスタイムテーブルの構成例を示す。
第一の外部レスポンスタイムテーブル203も第二の外部レスポンスタイムテーブル205も、外部レスポンスタイム測定値が管理するためのテーブルである。この第一の外部レスポンスタイムテーブル203又は第二の外部レスポンスタイムテーブル205のどちらかのテーブルを用いることで、外部レスポンスタイム測定値が管理される。第一の外部レスポンスタイムテーブル203も第二の外部レスポンスタイムテーブル205も、通信ポート41毎に用意することができる。
第一の外部レスポンスタイムテーブル203には、例えば、何回目の測定でどんな測定値が得られたかが記録される。具体的には、例えば、2回目の測定で4ミリ秒という測定結果が得られたならば、測定回「2」に対応した欄に測定値「4」が記録される。
第二の外部レスポンステーブル205には、例えば、複数の測定値範囲のうちのどの測定値範囲に属する測定値が何回得られたかが記録される。具体的には、例えば、3ミリ秒という測定結果が得られたならば、範囲「2m以上4m未満」に対応した欄の測定回数が1インクリメントされる(なお、図4Bのmはミリ秒という意味である)。
CHA21(又はDKA22)は、第一の外部レスポンスタイムテーブル203又は第二の外部レスポンスタイムテーブル205をSVP23又は管理端末15に表示させることができる。
図5Aは、内部ストレージマッピングテーブルの構成例を示す。
内部ストレージマッピングテーブル202には、外部LDEV42に格納されるはずのデータがストレージサブシステム20内のどこに記憶されているかが記録される。本実施形態では、例えば、外部LDEV42に格納されるはずのデータを記憶することができる内部LDEV31が予め決められていて、内部ストレージマッピングテーブル202には、その内部LDEV31内のどこからデータが記憶されているかが記録される。
図5Bは、キャッシュメモリ割当てテーブルの構成例を示す。
キャッシュメモリ割当てテーブル204には、複数の測定値についてどのような統計結果が得られた場合にどのようなキャッシュ容量比率が割当てられるかが記録されている。具体的には、例えば、複数の統計範囲のうちのどの範囲に属する統計が得られた場合にどんなキャッシュ容量比率が割当てられるかが記録されている。図5Bの例でいえば、例えば、通信ポートA〜Cの全てに「3」というキャッシュ容量比率が割り当てられる場合がある。図5Bの例によれば、測定値の統計がより大きいほど、より高いキャッシュ容量比率が割当てられることになる。つまり、測定値の統計がより大きいほど、より多いキャッシュ容量が割当てられる。
図6Aは、リードコマンドにより外部レスポンスタイムが測定される場合の流れの一例を示す。
外部CHA21のMP100Cが、外部レスポンスタイムの測定のためにダミーでリードコマンドを発行する場合、発行する場合の現在時刻(以下、第一の時刻)を取得し(S11)、任意のアクセス先に対するリードコマンドを、或る通信ポート41に対して発行する(S12)。ここで、アクセス先は、例えば、いずれかの外部LDEV42内の論理ブロックアドレス(LBA)である。任意のアクセス先というのは、予め決められた所定のLBAではないという意味である。アクセス先となるLBA(例えば1ブロック分のLBA)は、例えば、図7Aに例示するように、測定回が1、2、3…と増える都度に、アクセス先LBAがずれていく。このようにするのは、アクセス先が毎回同じであると、アクセス先が集中し、それによって外部レスポンスタイムが長くなってしまうからである。
MP100Cは、リードコマンドを発行してから一定時間経っても応答が無ければ(S13でN)、応答無しカウント値(以下、NRC)を1インクリメントする(S16)。更新後のNRCが所定の閾値Kを越えていない場合(S17でN)、再びS11が行われ、S17でYであれば、MP100Cは、障害ありというエラーを例えばSVP23又は管理端末15に報告する(S18)。
MP100Cは、リードコマンドを発行してから一定時間内に応答があれば(S13でY)、その応答を受信したときの現在時刻(以下、第二の時刻)を取得する(S14)。そして、MP100Cは、リードコマンドを受けた通信ポート41がどれであるかや、第二の時刻と第一の時刻との差分である測定値とを基に、外部ストレージテーブル201や外部レスポンスカウントテーブル203又は205を更新する(S15)。
MP100Cは、外部レスポンスタイム測定のために発行したダミーのリードコマンドに従うデータを外部ストレージサブシステム40から受けるが、そのデータをキャッシュメモリ24に残さずに破棄することができる。
図6Bは、ライトコマンドにより外部レスポンスタイムが測定される場合の流れの一例を示す。
外部CHA21のMP100Cが、外部レスポンスタイムの測定のためにダミーでライトコマンドを発行する場合、発行する場合の現在時刻(第一の時刻)を取得し(S21)、所定のアクセス先に対するライトコマンドを、或る通信ポート41に発行する(S22)。ここで、所定のアクセス先というのは、図7Bに例示するように、予め決められたLBA範囲のうちの或るLBAという意味である。少なくとも一つの外部LDEVに、ダミーのライトコマンドのアクセス先とされるための領域が用意されていて、MP100Cは、その領域に属するLBA(例えば1ブロック分のLBA)を指定したライトコマンドを発行する。このようにするのは、ホスト装置10に読み出されるデータがダミーのライトコマンドによって上書きされてしまうことを防ぐためである。
MP100Cは、ライトコマンドを発行してから一定時間経っても応答が無ければ(S23でN)、S16〜S18と同様の処理を行える(S26〜S28)。
MP100Cは、ライトコマンドを発行してから一定時間内に応答があれば(S23でY)、その応答を受信したときの現在時刻(第二の時刻)を取得する(S24)。そして、MP100Cは、ライトコマンドを受けた通信ポート41がどれであるかや、第二の時刻と第一の時刻との差分である測定値とを基に、外部ストレージテーブル201や外部レスポンスカウントテーブル203又は205を更新する(S25)。
図6Aと図6Bのどちらの処理により外部レスポンスタイムが測定されるかは、外部ストレージテーブル201にどんな測定種別を設定するかによって決めることができる。
図7Cは、外部レスポンスタイムの測定方法の選択処理の流れの一例を示す。
外部CHA21のMP100Cは、或る通信ポート41について外部レスポンスタイムを測定する場合、その通信ポート41に対応した測定種別を参照する(S31)。その結果、MP100Cは、Rであれば、図6Aの処理の行い、Wであれば、図6Bの処理を行い、動的であれば、外部LDEV42に対応した内部LDEV32に対するIOコマンドはライトが多いか否かを判別する(S32)。これは、例えば、ホスト装置10からIOコマンドを受ける都度に、そのIOコマンドがリードコマンドかライトコマンドかに応じて、ライト又はリードに対応したカウント値を更新していくことにより、実現することができる。S32の結果、ライトが多ければ、図6Bの処理が行われ、リードが多ければ、図6Aの処理が行われる。
なお、図6Aの処理と図6Bの処理のどちらで外部レスポンスタイムを測定するのが適切であるかは、例えば、どの通信ポート41を有する外部ストレージサブシステム40がどんな系統のシステム或いはどんな系統のデータを格納するかによって定めるのが好ましい。具体的には、例えば、図8Aに例示するように、通信ポートA、Bが、更新が頻繁に行われる外部ストレージサブシステム40Aが有するものであれば、そのサブシステム40Aにはライトコマンドの方が多く発行されるので、通信ポートA、B(或いは、内部LDEV32A又は外部LDEV42A)についての測定種別は、Wとするのが好ましい。一方、通信ポートCが、読み出しが頻繁に行われる外部ストレージサブシステム40Bが有するものであれば、そのサブシステム40Bにはリードコマンドの方が多く発行されるので、通信ポートC(或いは、内部LDEV32B又は外部LDEV42B)についての測定種別は、Rとするのが好ましい。
また、図8Bに例示するように、或るグループに属する複数の通信ポート41(例えば通信ポートA及びB)のうちの少なくとも一つの通信ポート41(例えば通信ポートA)について外部レスポンスタイムの測定が行われた場合には(S40でY)、そのグループに属する別の通信ポート41(例えば通信ポートB)については、外部レスポンスタイムの測定は行われなくても良い(S41)。ここで、或るグループとは、同じ外部CHAに搭載されている、或いは、図8Aに例示するように、同じ外部LDEV42Aに接続されているなどである。S41では、外部CHA21は、その別の通信ポート41について、測定が実際に行われた通信ポート41と同じ測定値が得られたものとみなすことができる。これにより、同一のグループに属する各通信ポートに、同一のキャッシュ容量比率を割り当てることができる。
さて、外部レスポンスタイムの測定が定期的又は不定期的に繰り返されると、複数の測定値が得られる。外部CHA21は、複数の測定値の統計を各ポート毎に算出する(図3BのS200)。例えば、外部CHA21のMP100Cは、図4Bの第一の外部レスポンステーブル203が用いられている場合、或る回(例えば、直前回の統計で使用された最後の回の次の回)から或る回(例えば、最新の回)までの全ての測定値の平均を算出し、その平均を統計とすることができる。また、MP100Cは、図4Cの第二の外部レスポンステーブル205が用いられている場合、測定回数が最も多い測定値範囲を求め、その測定値範囲を統計とすることができる。
外部CHA21のMP100Cは、各通信ポート41毎に、算出された統計に対応したキャッシュ容量比率をキャッシュメモリ割当てテーブル204から求め、求められたキャッシュ容量比率を、その通信ポート41に割当てることができる(図3BのS300)。MP100Cは、各通信ポート41のキャッシュ容量比率と、割当て上限容量とに基づいて、各通信ポート41に割当てるキャッシュ容量を変えることができる。
図9Aは、或る通信ポート41のキャッシュ容量変更処理の流れの一例を示す。
外部CHA21のMP100Cは、少なくとも一つの通信ポート41にキャッシュ容量比率の変更があるか否かを判定し(S51)、変更がある場合(S51でY)、或る通信ポート41のキャッシュ容量に変更があるか否かを判定する(S52)。
ここで、例えば、図9Bに例示するように、直前回のS300において、通信ポートA〜Cのキャッシュ容量比率が1:2:3であり、図9Cに例示するように、今回のS300において、通信ポートA〜Cのキャッシュ容量比率が1:3:2の場合、通信ポートAについては、S51でYとなるがS52ではYとならない。しかし、通信ポートB及びCについては、S51及びS52でYとなる。
S52でYにおいて、例えば、通信ポートCのように、キャッシュ容量が減少する場合(S53でN)、MP100Cは、通信ポートCに対応したキャッシュ領域からデータを取得し(S54)、その取得したデータ分の領域を解放する(S55)。取得したデータは、通信ポートCに接続された外部ストレージサブシステム40Bに送信される、ホスト装置10に送信される、又は破棄される。
一方、例えば、通信ポートBのように、キャッシュ容量が増加する場合(S53でY)、MP100Cは、増加する分の容量が足りなければキャッシュ領域部分の解放を待ち(S56)、解放された領域部分のうち増加分を、通信ポートBに対応したキャッシュ領域に追加する(S57)。
外部CHA21は、以上のようにして、各通信ポート41に割当てるキャッシュ容量比率やキャッシュ容量を変更することができる。
以上のように、この実施形態によれば、外部レスポンスタイム測定値の統計がより大きいほど、より大きなキャッシュ容量が割り当てられる。これにより、ホスト装置10から内部LDEV32に対するIOコマンドを受けた場合、そのIOコマンドが、外部レスポンスタイム測定値の統計がより大きい通信ポート41にIOコマンドを発行しなければならないものほど、キャッシュヒットの確率を高めることができる。この結果、外部レスポンスタイム測定値の統計がより大きい通信ポート41(つまり通信状況の悪い通信ポート41)からIOコマンドを発行する必要性を低減できるので、ホスト装置10からのIOコマンドの処理時間長を短縮することができる。
さて、ホストCHA21は、上記のように割当てられたキャッシュ容量の範囲で、ホスト装置10からのIOコマンドに対する領域を確保することができる。
ここで、上述したマッピングテーブルには、例えば、各内部LDEV32毎に通信ポート41のID(例えばWWN)や外部LDEV42のLUNが対応付けられても良い。この場合、ホストCHA21は、或る内部LDEV32に対応するIOコマンドについてキャッシュヒットしない場合には、内部LDEV31の一部の領域を利用することができる。以下、それについて具体的に説明する。
図10は、ライトコマンドを受けた場合に内部LDEV31を利用するホストCHA21の処理の一例を示す。
ホストCHA21のMP100Cは、内部LDEV32に対応したライトコマンドを受信し(S71)、その内部LDEV32に対応した通信ポート41のキャッシュ領域でキャッシュヒットしたならば(S72でY)、そのキャッシュ領域にデータを書く(S73)。
しかし、MP100Cは、キャッシュヒットしなかったならば(S72でN)、所定の又は任意の内部LDEV31の所定の又は任意の場所にデータを書くようDKA22に指示する(S74)。また、MP100Cは、そのデータの先頭アドレスを内部ストレージマッピングテーブル202に記録する(S75)。そして、MP100Cは、ホスト装置10にライト終了通知を送信する(S76)。
図11は、リードコマンドを受けた場合に内部LDEV31を利用するホストCHA21の処理の一例を示す。
ホストCHA21のMP100Cは、内部LDEV32に対応したリードコマンドを受信し(S61)、その内部LDEV32に対応した通信ポート41のキャッシュ領域でキャッシュヒットしたならば(S62でY)、そのキャッシュ領域にある対象データをホスト装置10に送信する(S67)。
しかし、MP100Cは、キャッシュヒットしなかったならば(S62でN)、内部ストレージマッピングテーブル202を参照する(S63)。そして、S61で受けたリードコマンドに従うデータが内部LDEV31にあることを判別できた場合(S64でY)、MP100Cは、その内部LDEV31からデータを読み出すようDKA22に指示し(S65)、読み出されたデータをホスト装置10に送信する(S67)。内部LDEV31にないようであれば(S64でN)、MP100Cは、内部LDEV32に対応した外部LDEV42からデータを読み出すためのリードコマンドを送信するよう外部CHA21に指示する(S66)。それにより、外部LDEV42に対するリードコマンドが外部ストレージサブシステム40に発行される。
この実施形態では、外部CHA21の通信ポート毎にキャッシュ容量が割り当てられ、測定値の統計がより大きいものほどより多くのキャッシュ容量が割り当てられる。換言すれば、測定値の統計がより小さいものほど、割り当てられるキャッシュ容量は少ないものとなる。この場合、例えば、キャッシュ容量の少ない通信ポート41にIOコマンドを発行することになるIOコマンドをホスト装置10からたくさん受信した場合、キャッシュヒットする可能性が低くなってしまい、結果として、ホスト装置10からのIOコマンドの処理時間長が長くなってしまう可能性がある。そこで、本実施形態のように、キャッシュヒットしなかった場合に内部LDEV31の一部を利用することで、IOコマンドの処理時間長が長くなってしまうことを抑えることができる。別の言い方をすれば、測定値の統計がより大きいものほどなるべくキャッシュメモリ24で対応できるようにすることで、ホスト装置10からのIOコマンドの処理時間長の短縮が図れる。
さて、本実施形態では、外部ストレージテーブル201に、ベリファイ要否について要と設定されている通信ポートについては、以下のようなベリファイ処理を行うことができる。
図12は、ベリファイ処理の流れの一例を示す。
外部CHA21は、ベリファイ要と設定されている通信ポート41に、或るアクセス先を指定したライトコマンド(ダミーのライトコマンドであっても良いし、ホスト装置10から指定されたデータを書くためのライトコマンドであっても良い)を発行する(S81)。外部ストレージサブシステム40では、そのライトコマンドに従って、指定されたアクセス先(例えば外部LDEV42の或るLBA)にデータが書かれ(S82)、その場合に(又は外部ストレージサブシステム40でキャッシュヒットした場合に)、ライト終了通知がストレージサブシステム20に送られる(S83)。正常に書き込めた場合は、ライト終了通知は正常終了を表すデータとなっており、書きこめなかった場合には、ライト終了通知は異常を表すデータとなっている。
外部CHA21は、受信したライト終了通知が正常終了を表すものでなければ(S84)、後述のS89の処理を行う。
外部CHA21は、受信したライト終了通知が正常終了を表すものであれば(S84でY)、S81のライトコマンドで指定したアクセス先と同じアクセス先を指定したリードコマンド(ダミーのリードコマンドであっても良いし、ホスト装置10から指定されたデータを読むためのリードコマンドであっても良い)を、S81と同じ通信ポート41に発行する(S85)。外部ストレージサブシステム40では、そのリードコマンドに従って、指定されたアクセス先からデータが読み出され(S86)、読み出されたデータがストレージサブシステム20に送られる(S87)。
外部CHA21は、受信したデータと、S81で送信したライトコマンドで書込み対象としたデータとを比較する(S88)。その結果、一致が得られれば、終了し、一致が得られなければ、外部CHA21は、エラーカウント値(以下、EC)を1インクリメントし、ECが所定の閾値K´(例えば、外部ストレージテーブル201に設定されているアラーム通知の閾値)を超えたか否かを判定する(S90)。超えていなければ(S90でN)、外部CHA21は、再びS81を行い、超えていれば(S90でY)、ホスト装置10(及び/又はSVP23或いは管理端末15)へ障害報告を行う(S91)。
外部CHA21は、このようなベリファイ処理を、外部ストレージテーブル201に設定されているベリファイル要否に従って、実行するか否かを決めることができるが、それに限らず、外部レスポンスタイムの測定値の統計に基づいて、動的に、実行するか否かを決定することができる。具体的には、例えば、図13Aに例示するように、或る通信ポート41について、複数の測定値の統計が所定値以上であれば(S501でY)、その通信ポート41に出るライトコマンドについては、ベリファイ処理を実行することとし、そうでなければ(S501でN)、その通信ポート41に出るライトコマンドについてベリファイ処理を実行しないことにすることができる。
このように、測定値の統計が所定値よりも小さい(つまり性能が良い)通信ポート41、については、外部ストレージサブシステム40が安定していると考えられるので、ベリファイ処理を実行せず、そうではない(つまり性能が悪い)通信ポート41については、外部ストレージサブシステム40で何らかの不具合が発生している可能性が高いと考えられるので、ベリファイ処理を実行し、それにより、外部ストレージサブシステム40に格納されるデータの信頼性を高めることができる。
さて、本実施形態では、一台のストレージサブシステム20に、複数台の外部ストレージサブシステム40、例えば、図14に例示するように、第一の外部ストレージサブシステム40Aと、第二の外部ストレージサブシステム40Bとを接続することができる。また、第一の外部ストレージサブシステム40Aに、第二の外部ストレージサブシステム40Bを接続することができる。第一の外部ストレージサブシステム40Aと第二の外部ストレージサブシステム40Bの属性(例えばベンダ或いはメーカ)はそれぞれ異なっているとする。この場合、第一の外部ストレージサブシステム40Aの外部LDEV42内のデータを、ストレージサブシステム20を経由することなく、第二の外部ストレージサブシステム40Bの外部LDEV42Bにコピー或いはマイグレーションすることはできない。
しかし、ストレージサブシステム20を経由すれば、そのようなコピー又はマイグレーションが可能となる。具体的には、例えば、第一の外部CHA21Aが、通信ポートAを介して外部LDEV42A内のデータを読出し、読み出したデータを、通信ポートAに対応したキャッシュ領域に書き、第二の外部CHA21Bが、通信ポートAに対応したキャッシュ領域からデータを読出し、読み出したデータを、通信ポートCを介して外部LDEV42Bに書くことができる。この場合、外部LDEV42A内のデータを削除すれば、マイグレーションとなるし、そうしなければ、コピーとなる。
各外部CHA21は、このようなコピー又はマイグレーションを実行するか否かを以下のように決定することができる。すなわち、図13Bに例示するように、或る外部CHA21が、測定値又はその統計の変化に基づいて、外部ストレージサブシステム40と別の外部ストレージサブシステム40との間でコピー或いはマイグレーションを行う必要があるか否かを判断し(S601)、必要と判断されたならば(S602でY)、コピー或いはマイグレーションを行う。
ここで、各外部CHA21は、各通信ポート41の測定値又は統計の履歴を所定の記憶域(例えば共有メモリ25)に残すことができる。それを参照することで、測定値又は統計の変化を理解することができる。例えば、各外部CHA21は、測定値又は統計が小さくなっていっていれば、コピー或いはマイグレーションを実行することができる。これにより、通信状況が悪化していっている通信ポート41にIOコマンドを発行する可能性を低減することができる。
以上、本発明の好適な実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
図1は、本発明の一実施形態に係るストレージシステムを示すブロック図である。 図2は、ストレージサブシステム20と外部ストレージサブシステム40との論理的な概略構造を示す模式図である。 図3Aは、ホスト装置からIOコマンドを受けたストレージサブシステム20で行われる処理の流れの一例を示す。図3Bは、ストレージサブシステム20で行われる処理であって、本実施形態の特徴の一つとなる処理の流れの概要を示す。 図4Aは、外部ストレージテーブルの構成例を示す。図4Bは、第一の外部レスポンスタイムテーブルの構成例を示す。図4Cは、第二の外部レスポンスタイムテーブルの構成例を示す。 図5Aは、内部ストレージマッピングテーブルの構成例を示す。図5Bは、キャッシュメモリ割当てテーブルの構成例を示す。 図6Aは、リードコマンドにより外部レスポンスタイムが測定される場合の流れの一例を示す。図6Bは、ライトコマンドにより外部レスポンスタイムが測定される場合の流れの一例を示す。 図7Aは、ダミーのリードコマンドのアクセス先が違えられることの説明図である。図7Bは、ダミーのライトコマンドのアクセス先が外部LDEV42の所定領域範囲内であることの説明図である。図7Cは、外部レスポンスタイムの測定方法の選択処理の流れの一例を示す。 図8Aは、ストレージサブシステム20と外部ストレージサブシステム40A、40Bとの接続の一例を示す。図8Bは、或るグループに属する複数の通信ポートについての外部レスポンスタイムの測定制御の流れの一例を示す。 図9Aは、或る通信ポート41のキャッシュ容量変更処理の流れの一例を示す。図9Bは、キャッシュ容量変更前の通信ポートA〜Cのキャッシュ容量比率の一例を示す。図9Cは、キャッシュ容量変更後の通信ポートA〜Cのキャッシュ容量比率の一例を示す。 図10は、ライトコマンドを受けた場合に内部LDEV31を利用するホストCHA21の処理の一例を示す。 図11は、リードコマンドを受けた場合に内部LDEV31を利用するホストCHA21の処理の一例を示す。 図12は、ベリファイ処理の流れの一例を示す。 図13Aは、ベリファイ処理を行うか否かを選択するための処理の流れの一例を示す。図13Bは、データのコピー或いはマイグレーションを行うか否かを決めるための処理の流れの一例を示す。 図14は、第一の外部ストレージサブシステム40Aから第二の外部ストレージサブシステム40Bにデータをコピー或いはマイグレーションすることができる経路とできない経路とを示す。
符号の説明
10…ホスト装置 12…通信ポート 20…ストレージサブシステム 21…チャネルアダプタ 22…ディスクアダプタ 23…SVP(サービスプロセッサ) 24…キャッシュメモリ 25…共有メモリ 26…接続部 28…通信ポート 30…ディスク型記憶装置 31、32、42…LDEV 40…外部ストレージサブシステム 41…通信ポート

Claims (20)

  1. 記憶制御装置の外部に存在するストレージサブシステムである外部ストレージサブシステムと前記記憶制御装置とを備えたストレージシステムの前記記憶制御装置において、
    前記外部ストレージサブシステムに備えられる複数の記憶装置である複数の外部記憶装置がそれぞれマッピングされた一以上のオブジェクトと、
    外部記憶装置に書かれる又は外部記憶装置から読まれるデータを記憶することができるメモリであって、前記記憶制御装置と前記複数の外部記憶装置とを結ぶ二以上の通信経路の要素別に割当てられた二以上のメモリ領域を持つメモリと、
    前記一以上のオブジェクトのうちの或るオブジェクトに対する第一のIOコマンドを受け、前記或るオブジェクトにマッピングされている外部記憶装置への通信経路の要素に対応したメモリ領域で、該第一のIOコマンドに従うデータの取得又はそのデータの記憶領域の確保を試み、該試みに成功したならば、前記第一のIOコマンドの処理結果であるIO結果を該第一のIOコマンドの送信元に送信し、前記試みに失敗したならば、前記第一のIOコマンドに従うアクセスを行うための第二のIOコマンドを、前記マッピングされている外部記憶装置を有する外部ストレージサブシステムに送信し、その後に、前記IO処理結果を前記送信元に送信するIO処理部と、
    前記二以上の通信経路の各々の通信状況を監視する監視部と、
    監視の結果、通信状況がより悪い通信経路の要素に対して、メモリ領域容量をより多く割り当てる割当て部と
    を備える記憶制御装置。
  2. 前記記憶制御装置は、一又は複数の外部ストレージサブシステムと通信可能な一以上の第一の通信ポートを有し、
    前記外部ストレージサブシステムは、前記記憶制御装置と通信可能な一以上の通信可能な第二の通信ポートを有し、
    前記通信経路の要素とは、該通信経路に属する第一の通信ポート、第二の通信ポート及び外部記憶装置のうちの少なくとも一つである、
    請求項1記載の記憶制御装置。
  3. 前記通信状況とは、通信経路に発行された第二のIOコマンドのレスポンスタイムの測定値、又は複数回のレスポンスタイム測定値の統計である、
    請求項1記載の記憶制御装置。
  4. 前記監視部は、前記第一のIOコマンドに従うアクセスのための第二のIOコマンドとは異なるダミーの第二のIOコマンドを或る通信経路に発行し、該ダミーの第二のIOコマンドの応答を受けることで、前記或る通信経路でのレスポンスタイムを測定する、
    請求項3記載の記憶制御装置。
  5. 前記ダミーの第二のIOコマンドは、ダミーのリードコマンドであり、
    前記監視部は、各通信経路において、各回に発行するダミーのリードコマンドのアクセス先を前回のアクセス先と違えるようにする、
    請求項4記載の記憶制御装置。
  6. 前記ダミーの第二のIOコマンドは、ダミーのライトコマンドであり、
    前記監視部は、各通信経路において、各回に発行するダミーのライトコマンドのアクセス先を、外部記憶装置における所定の記憶領域部分とする、
    請求項4記載の記憶制御装置。
  7. 前記監視部は、第二のIOコマンドとしてライトコマンドよりもリードコマンドを前記記憶制御装置から受けることが多い外部ストレージサブシステムへの通信経路には、ダミーのリードコマンドを発行することでレスポンスタイムを測定し、第二のIOコマンドとしてリードコマンドよりもライトコマンドを前記記憶制御装置から受けることが多い外部ストレージサブシステムへの通信経路には、ダミーのライトコマンドを発行することでレスポンスタイムを測定する、
    請求項4記載の記憶制御装置。
  8. 前記統計とは、前記複数回のレスポンスタイム測定値の平均値である、
    請求項3記載の記憶制御装置。
  9. 前記統計とは、複数のレスポンスタイム測定値範囲のうち最も多く属するレスポンスタイム測定値が得られたレスポンスタイム測定値範囲である、
    請求項3記載の記憶制御装置。
  10. 前記監視部は、或るグループに属する複数の通信経路のうちの或る通信経路について通信状況を監視する場合、該複数の通信経路のうちの他の通信経路については、通信状況を監視せず、前記或る通信経路の通信状況と同じとする、
    請求項1記載の記憶制御装置。
  11. 前記二以上の通信経路の要素に割り当て可能なメモリ総容量は決まっており、
    前記割当て部は、各通信経路の通信状況を基に、前記各通信経路の要素に割り当てるメモリ領域容量比率を求め、前記各通信経路の要素のメモリ容量比率と、前記メモリ総容量とを基に、前記各通信経路の要素に割り当てるメモリ領域容量を求め、或る通信経路について少なくともメモリ領域容量に変更があった場合に、該或る通信経路に割り当てるメモリ領域容量と他の通信経路に割り当てるメモリ領域容量とを変更する、
    請求項1記載の記憶制御装置。
  12. 前記第一のIOコマンドが、ライトコマンドであり、
    前記記憶制御装置が、前記メモリとは異なる記憶装置である内部記憶装置と、データの記憶場所を管理するためのデータ管理情報とを有し、
    前記IO処理部は、ライトコマンドを受けた場合に前記試みに失敗したならば、前記内部記憶装置に前記ライトコマンドの対象のデータを書き、該データの書込み先を前記データ管理情報に登録する、
    請求項1記載の記憶制御装置。
  13. 前記第一のIOコマンドが、リードコマンドであり、
    前記IO処理部は、リードコマンドを受けた場合に前記試みに失敗したならば、前記データ管理情報を参照することにより、前記リードコマンドの対象のデータが前記内部記憶装置に記憶されているかどうかを判断し、記憶されていると判断したならば、該対象のデータを前記内部記憶装置から取得し、記憶されていないと判断したならば、該対象のデータを読み出すためのリードコマンドを、前記外部ストレージサブシステムに送信する、
    請求項12記載の記憶制御装置。
  14. 或る通信経路について、監視された通信状況が悪ければ、ベリファイ処理を行い、前記通信状況が悪くなければ、ベリファイ処理を行わないベリファイ部を更に備え、
    前記ベリファイ処理とは、前記外部記憶装置に対するライトコマンドによって該外部記憶装置に書かれたデータを読出し、読み出されたデータと、該ライトコマンドの対象のデータとを比較し、一致が得られるか否かを判断する処理である、
    請求項1記載の記憶制御装置。
  15. 前記記憶制御装置には、二以上の外部ストレージサブシステムが通信可能に接続されており、監視された通信状況が所定の条件に合う場合に、或る外部ストレージサブシステムと別の外部ストレージシステムとの間でデータコピー或いはマイグレーションを行うデータ制御部を更に備える、
    請求項1記載の記憶制御装置。
  16. 前記記憶制御装置は、前記記憶制御装置に対して第一のIOコマンドを発行するホスト装置に通信可能に接続され、前記メモリとは異なる記憶装置である内部記憶装置を有し、
    前記IO処理部は、前記ホスト装置に接続された第一の上位インタフェース部と、前記外部ストレージシステムと通信可能に接続された第二の上位インタフェース部とを有し、
    前記第一の上位インタフェース部が、前記或るオブジェクトにマッピングされている外部記憶装置にアクセスすることを前記第二の上位インタフェース部に要求し、前記第二のインタフェース部が、該要求に従って、前記第二のIOコマンドを、自分に接続されている外部ストレージサブシステムに発行する、
    請求項1記載の記憶制御装置。
  17. 記憶制御装置の外部に存在するストレージサブシステムである外部ストレージサブシステムと前記記憶制御装置とを備えたストレージシステムで実現することができる記憶制御方法において、
    前記外部ストレージサブシステムに備えられる複数の記憶装置である複数の外部記憶装置がそれぞれマッピングされた一以上のオブジェクトのうち、或るオブジェクトに対する第一のIOコマンドを受け、
    外部記憶装置に書かれる又は外部記憶装置から読まれるデータを記憶することができるメモリであって、前記記憶制御装置と前記複数の外部記憶装置とを結ぶ二以上の通信経路の要素別に割当てられた二以上のメモリ領域を持つメモリにおいて、前記或るオブジェクトにマッピングされている外部記憶装置への通信経路の要素に対応したメモリ領域で、前記受けた第一のIOコマンドに従うデータの取得又はそのデータの記憶領域の確保を試み、
    該試みに成功したならば、前記第一のIOコマンドの処理結果であるIO結果を該第一のIOコマンドの送信元に送信し、
    前記試みに失敗したならば、前記第一のIOコマンドに従うアクセスを行うための第二のIOコマンドを、前記マッピングされている外部記憶装置を有する外部ストレージサブシステムに送信し、その後に、前記IO処理結果を前記送信元に送信し、
    前記二以上の通信経路の各々の通信状況を監視し、
    監視の結果、通信状況がより悪い通信経路の要素に対して、メモリ領域容量をより多く割り当てる、
    記憶制御方法。
  18. 前記記憶制御装置は、一又は複数の外部ストレージサブシステムと通信可能な一以上の第一の通信ポートを有し、
    前記外部ストレージサブシステムは、前記記憶制御装置と通信可能な一以上の通信可能な第二の通信ポートを有し、
    前記通信経路の要素とは、該通信経路に属する第一の通信ポート、第二の通信ポート及び外部記憶装置のうちの少なくとも一つであり、
    前記通信状況とは、通信経路に発行された第二のIOコマンドのレスポンスタイムの測定値、又は複数回のレスポンスタイム測定値の統計である、
    請求項17記載の記憶制御方法。
  19. 前記二以上の通信経路の要素に割り当て可能なメモリ総容量は決まっており、
    各通信経路の通信状況を基に、前記各通信経路の要素に割り当てるメモリ領域容量比率を求め、前記各通信経路の要素のメモリ容量比率と、前記メモリ総容量とを基に、前記各通信経路の要素に割り当てるメモリ領域容量を求め、或る通信経路について少なくともメモリ領域容量に変更があった場合に、該或る通信経路に割り当てるメモリ領域容量と他の通信経路に割り当てるメモリ領域容量とを変更する、
    請求項17記載の記憶制御方法。
  20. 記憶制御装置の外部に存在するストレージサブシステムである外部ストレージサブシステムと前記記憶制御装置と前記記憶制御装置のホスト装置とを備えたストレージシステムの前記記憶制御装置において、
    前記外部ストレージサブシステムが、前記記憶制御装置と通信可能な一以上の通信可能な第一の通信ポートと、複数の記憶装置である複数の外部記憶装置とを有し、
    前記ホスト装置が、データを読み出す又はデータを書き込むための第一のIOコマンドを前記記憶制御装置に発行するようになっている場合、
    前記記憶制御装置が、
    前記ホスト装置と通信可能な第二の通信ポートと、
    一又は複数の外部ストレージサブシステムと通信可能な一以上の第三の通信ポートと、
    前記複数の外部記憶装置がそれぞれマッピングされた一以上のオブジェクトと、
    外部記憶装置に書かれる又は外部記憶装置から読まれるデータを記憶することができるメモリであって、前記記憶制御装置と前記複数の外部記憶装置とを結ぶ二以上の通信経路の要素別に割当てられた二以上のメモリ領域を持つメモリと、
    前記一以上のオブジェクトのうちの或るオブジェクトに対する第一のIOコマンドを受け、前記或るオブジェクトにマッピングされている外部記憶装置への通信経路の要素に対応したメモリ領域で、該第一のIOコマンドに従うデータの取得又はそのデータの記憶領域の確保を試み、該試みに成功したならば、前記第一のIOコマンドの処理結果であるIO結果を該第一のIOコマンドの送信元に送信し、前記試みに失敗したならば、前記第一のIOコマンドに従うアクセスを行うための第二のIOコマンドを、前記マッピングされている外部記憶装置を有する外部ストレージサブシステムに送信し、その後に、前記IO処理結果を前記送信元に送信するIO処理部と、
    前記二以上の通信経路の各々の通信状況を監視する監視部と、
    監視の結果、通信状況がより悪い通信経路の要素に対して、メモリ領域容量をより多く割り当てる割当て部と
    前記通信経路の要素とは、該通信経路に属する第一の通信ポート、第三の通信ポート及び外部記憶装置のうちの少なくとも一つであり、
    前記通信状況とは、通信経路に発行された第二のIOコマンドのレスポンスタイムの複数回の測定値の統計であり、
    前記監視部は、前記第一のIOコマンドに従うアクセスのための第二のIOコマンドとは異なるダミーの第二のIOコマンドを或る通信経路に発行し、該ダミーの第二のIOコマンドの応答を受けることで、前記或る通信経路でのレスポンスタイムを測定し、
    前記統計とは、前記複数回のレスポンスタイム測定値の平均値、又は、複数のレスポンスタイム測定値範囲のうち最も多く属するレスポンスタイム測定値が得られたレスポンスタイム測定値範囲であり、
    前記二以上の通信経路の要素に割り当て可能なメモリ総容量は決まっており、
    前記割当て部は、各通信経路の前記統計が所定値よりも大きいものには、高いメモリ領域容量比率を割り当て、前記統計が所定値よりも小さいものには、低いメモリ領域容量比率を割り当て、前記各通信経路の要素のメモリ容量比率と、前記メモリ総容量とを基に、前記各通信経路の要素に割り当てるメモリ領域容量を決定する、
    記憶制御装置。
JP2005374652A 2005-12-27 2005-12-27 記憶制御装置及び方法 Withdrawn JP2007179156A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005374652A JP2007179156A (ja) 2005-12-27 2005-12-27 記憶制御装置及び方法
US11/362,085 US7475169B2 (en) 2005-12-27 2006-02-27 Storage control system and method for reducing input/output processing time involved in accessing an external storage subsystem

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005374652A JP2007179156A (ja) 2005-12-27 2005-12-27 記憶制御装置及び方法

Publications (1)

Publication Number Publication Date
JP2007179156A true JP2007179156A (ja) 2007-07-12

Family

ID=38264576

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005374652A Withdrawn JP2007179156A (ja) 2005-12-27 2005-12-27 記憶制御装置及び方法

Country Status (2)

Country Link
US (1) US7475169B2 (ja)
JP (1) JP2007179156A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009217620A (ja) * 2008-03-11 2009-09-24 Hitachi Ltd 記憶制御装置及び方法
WO2010122679A1 (ja) 2009-04-23 2010-10-28 株式会社日立製作所 計算機システム及びその制御方法
WO2010122674A1 (ja) * 2009-04-23 2010-10-28 株式会社日立製作所 計算機システム及びその制御方法
JP2012516480A (ja) * 2009-04-14 2012-07-19 株式会社日立製作所 ストレージシステム、及びその制御方法、並びにプログラム

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070234107A1 (en) * 2006-03-31 2007-10-04 International Business Machines Corporation Dynamic storage data protection
JP4953753B2 (ja) * 2006-10-17 2012-06-13 キヤノン株式会社 情報処理装置及びその制御方法、プログラム
US20080189558A1 (en) * 2007-02-01 2008-08-07 Sun Microsystems, Inc. System and Method for Secure Data Storage
US20090150536A1 (en) * 2007-12-05 2009-06-11 Microsoft Corporation Application layer congestion control
JP5256948B2 (ja) * 2008-09-04 2013-08-07 富士通株式会社 キャッシュ論理検証装置、キャッシュ論理検証方法およびキャッシュ論理検証プログラム
JP2010097526A (ja) * 2008-10-20 2010-04-30 Hitachi Ltd キャッシュ構成管理システム、管理サーバおよびキャッシュ構成管理方法
JP2011008548A (ja) * 2009-06-25 2011-01-13 Fujitsu Ltd データ中継装置およびストレージシステム
US20120265932A1 (en) * 2011-04-13 2012-10-18 Jibbe Mahmoud K Method to increase the flexibility of configuration and/or i/o performance on a drive array by creation of raid volume in a heterogeneous mode
WO2013134206A1 (en) * 2012-03-05 2013-09-12 The Board Of Regents, The University Of Texas System Automatically bridging the semantic gap in machine introspection
US9239797B2 (en) * 2013-08-15 2016-01-19 Globalfoundries Inc. Implementing enhanced data caching and takeover of non-owned storage devices in dual storage device controller configuration with data in write cache
US10565109B2 (en) 2017-09-05 2020-02-18 International Business Machines Corporation Asynchronous update of metadata tracks in response to a cache hit generated via an I/O operation over a bus interface

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003205895A (ja) 2002-01-10 2003-07-22 Mitsubishi Heavy Ind Ltd 制振装置を備えた船舶
JP4080227B2 (ja) * 2002-03-28 2008-04-23 株式会社日立製作所 データ検証方法およびディスクアレイ装置
JP2004074749A (ja) 2002-08-22 2004-03-11 Mitsubishi Materials Corp ラミネート材及びラミネート缶蓋
US7263593B2 (en) * 2002-11-25 2007-08-28 Hitachi, Ltd. Virtualization controller and data transfer control method
JP2005266933A (ja) * 2004-03-16 2005-09-29 Fujitsu Ltd ストレージ管理システム及びストレージ管理方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009217620A (ja) * 2008-03-11 2009-09-24 Hitachi Ltd 記憶制御装置及び方法
JP2012516480A (ja) * 2009-04-14 2012-07-19 株式会社日立製作所 ストレージシステム、及びその制御方法、並びにプログラム
US8694725B2 (en) 2009-04-14 2014-04-08 Hitachi, Ltd. Storage system and control method thereof as well as program
WO2010122679A1 (ja) 2009-04-23 2010-10-28 株式会社日立製作所 計算機システム及びその制御方法
WO2010122674A1 (ja) * 2009-04-23 2010-10-28 株式会社日立製作所 計算機システム及びその制御方法
JPWO2010122674A1 (ja) * 2009-04-23 2012-10-25 株式会社日立製作所 計算機システム及びその制御方法
US8516215B2 (en) 2009-04-23 2013-08-20 Hitachi, Ltd. Computing system having a controller for controlling allocation of a storage area of a logical volume in a pool to a virtual volume and controlling methods for the same
US8751767B2 (en) 2009-04-23 2014-06-10 Hitachi, Ltd. Computer system and its control method
US8769235B2 (en) 2009-04-23 2014-07-01 Hitachi, Ltd. Computing system having a controller for controlling allocation of a storage area of a logical volume in a pool to a virtual volume and controlling methods for the same
JP5781925B2 (ja) * 2009-04-23 2015-09-24 株式会社日立製作所 計算機システム及びその制御方法
JP5801189B2 (ja) * 2009-04-23 2015-10-28 株式会社日立製作所 計算機システム及びその制御方法
US9201607B2 (en) 2009-04-23 2015-12-01 Hitachi, Ltd. Computer system and method for balancing usage rate of pool volumes

Also Published As

Publication number Publication date
US7475169B2 (en) 2009-01-06
US20070168565A1 (en) 2007-07-19

Similar Documents

Publication Publication Date Title
JP2007179156A (ja) 記憶制御装置及び方法
TWI575377B (zh) 具有負載平衡演算法之儲存系統及其操作方法
WO2017162179A1 (zh) 用于存储系统的负载再均衡方法及装置
US20070043919A1 (en) Information processing method and system
EP1571542A1 (en) Storage control system and method
JP5638744B2 (ja) コマンド・キュー・ローディング
US20070130423A1 (en) Data migration method and system
JP5635621B2 (ja) ストレージシステム及びストレージシステムのデータ転送方法
US8086768B2 (en) Storage system and control method of storage system
JP2007058346A (ja) ストレージシステム
US10938730B2 (en) Data transmission techniques between systems having different communication speeds
US8037274B2 (en) Apparatus for supporting creation of access path from host to logical volume
US10992532B1 (en) Automated network configuration changes for I/O load redistribution
US11768744B2 (en) Alerting and managing data storage system port overload due to host path failures
JP4484597B2 (ja) ストレージ装置及びストレージ装置の排他制御方法
JP4616899B2 (ja) 管理サーバ、プール増設方法および計算機システム
US11347439B2 (en) Managing I/O communications based on transceiver state
US11693800B2 (en) Managing IO path bandwidth
US11340809B1 (en) Redirecting i/o communications based on network topology
WO2017126097A1 (ja) 計算機システム、計算機
US11720254B2 (en) Managing I/O connections using virtual host ports
US11481147B1 (en) Buffer allocation techniques
US12086417B2 (en) Techniques for servicing I/O operations using redirection
US11941443B2 (en) Distributed storage workload management
US9658803B1 (en) Managing accesses to storage

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081104

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20090526