JP4322068B2 - ストレージシステム及びそのデイスク負荷バランス制御方法 - Google Patents

ストレージシステム及びそのデイスク負荷バランス制御方法 Download PDF

Info

Publication number
JP4322068B2
JP4322068B2 JP2003294058A JP2003294058A JP4322068B2 JP 4322068 B2 JP4322068 B2 JP 4322068B2 JP 2003294058 A JP2003294058 A JP 2003294058A JP 2003294058 A JP2003294058 A JP 2003294058A JP 4322068 B2 JP4322068 B2 JP 4322068B2
Authority
JP
Japan
Prior art keywords
request
access
host
internal
disk
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.)
Expired - Lifetime
Application number
JP2003294058A
Other languages
English (en)
Other versions
JP2004295860A (ja
Inventor
和彦 池内
実希夫 伊藤
秀治郎 大黒谷
一馬 高津
克彦 長嶋
幸治 内田
明人 小林
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2003294058A priority Critical patent/JP4322068B2/ja
Priority to US10/788,218 priority patent/US7159071B2/en
Publication of JP2004295860A publication Critical patent/JP2004295860A/ja
Application granted granted Critical
Publication of JP4322068B2 publication Critical patent/JP4322068B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2206/00Indexing scheme related to dedicated interfaces for computers
    • G06F2206/10Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
    • G06F2206/1012Load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、磁気デイスク等のストレージ装置を使用してデータの入出力を行うストレージシステム及びそのデイスク負荷バランス制御方法に関し、特に、ホストI/Oコマンドと内部I/Oコマンドとをバランス処理し、コマンド処理の滞留を防止するためのストレージシステム及びそのデイスク負荷バランス制御方法に関する。
磁気デイスク、光磁気デイスク、光デイスク等の記憶媒体を利用したストレージ装置では、データ処理装置の要求で、記憶媒体を実アクセスする。データ処理装置が、大容量のデータを使用する場合には、複数のストレージ機器と制御装置とを備えたストレージシステムを利用する。
このようなストレージシステムでは、大量のアクセスに対し、システム内でリソース配分をダイナミックに最適化し、上位装置からのアクセスに対し、安定な性能を実現するDTC(Dynamic Traffic Control)機能を備えている。図24は、従来技術の構成図、図25は、従来技術の説明図である。
図24に示すように、ストレージコントローラ100は、ホストI/Oコマンドに応じて、複数のストレージ装置(磁気デイスク装置)110をアクセス制御する。このストレージコントローラ100は、コマンド処理機能102、DTC機能104、デイスクドライバ106、デバイスアダプタ108を有する。コマンド処理機能102は、ホストI/Oコマンドと内部I/Oコマンドを受ける。
内部I/Oコマンドは、ホストI/Oのバックグラウンドで実行するI/O制御であり、例えば、ホストからの連続ブロック群のコピー指示に応じて、ホストI/Oのバックグラウンドで、順次コピーを行うOPC(One Point Copy)や、RAID再構築のリビルドや、リビルドによって使用したスペアデイスク上のデータを、保守作業によって交換された新規デイスクに書き戻すためのコピーバック等がある。
DTC機能104は、ドライバ106、デバイスアダプタ108を介しストレージ装置110に発行するコマンド数を制御する。図25に示すように、従来技術では、DTC機能104は、各コマンドの応答時間(ストレージ装置110へのコマンド発行からストレージ装置110から応答を受けるまでの時間)を測定し、応答時間の平均を計算し、この平均応答時間が、所定時間より早い場合には、単位時間の発行コマンド数を増加し、所定時間より遅い場合には、単位時間の発行コマンド数を減少する。決定された発行コマンド数を越えたコマンドは、キュー待ちする。
コマンド処理機能102は、ホストI/O(ランダム、シーケンシャル)の受け入れ制限を付けず、優先して処理し、DTC104に渡す。内部I/Oは、ホストI/Oのバックグラウンドで処理し、DTC104に渡す。DTC104は、ドライバ106、デバイスアダプタ108を介し、ストレージ装置110に発行コマンド数を越えない数のコマンドを発行する。
このように、DTC104は、ストレージ装置110のレスポンス時間に応じて、起動数(コマンド数)を動的に変更し、I/Oコマンドの実行の最適化を行っていた(例えば、特許文献1参照)。
特開2001−43032号公報
従来技術では、物理デイスク単位に、1個以上のコマンドをグループとして、このグループを超えて処理順序が前後しないこと前提に、時間を基準として管理するであった。即ち、デイスク装置の処理時間からある所定時間内に、デイスク処理が完了するからを見極めるものであり、処理時間が早ければ、それだけ多くのデイスク要求を発行するものであった。
ところが、ストライプ制御を行うRAID構成では、データが複数のデイスクに分散しているため、個別のデイスクの負荷制御を行っても、RAIDグループに対応するRLU(Raid Logical Unit)としてのレスポンス時間にそのまま反映されるわけでない。即ち、RLU単位の制御では、処理の順序性が保証されないことや、複数のデイスクのアクセスによって1つの処理が完了する場合があり、単純に時間を測定しても、有効に機能しないという問題があった。
即ち、従来の時間を用いたDTC制御では、1時的なデイスクの遅れにより、他の処理を遅らせるおそれがあり、ホストI/Oのタイムアウトが発生しやすくなる。
従って、本発明の目的は、RAID構成におけるデイスクの負荷バランスを効率良く制御するためのストレージシステム及びそのデイスク負荷バランス制御方法を提供することにある。
又、本発明の他の目的は、RAID構成におけるホストI/Oのコマンド処理の遅延によるタイムアウトを防止するためのストレージシステム及びそのデイスク負荷バランス制御方法を提供することにある。
更に、本発明の他の目的は、RAID構成におけるホストI/O要求と、内部I/O要求をバランス良く、負荷管理を行い、ホストI/O処理を妨げずに、受け付けたホストI/Oの処理遅延によるタイムアウトを防止するためのストレージシステム及びそのデイスク負荷バランス制御方法を提供することにある。
更に、本発明の他の目的は、DTC処理のオーバーヘッドを削減し、ストレージ装置の性能を充分に使用するためのストレージシステム及びそのデイスク負荷バランス制御方法を提供することにある。
更に、本発明の他の目的は、かかるデイスク負荷バランスを利用して、最適なライトバックスケジュール制御を行うためのストレージシステム及びそのデイスク負荷バランス制御方法を提供することにある。
この目的の達成のため、本発明のストレージシステムは、ホストから依頼されたI/O要求と内部で発生したI/O要求とに応じて、接続された複数のデイスク装置をアクセスし、I/O要求を実行するストレージシステムにおいて、RLU(RAID 論理ユニット)単位で、前記複数のデイスク装置のデータの一部を格納するキャッシュメモリと、前記RLU単位の前記I/O要求に応じたコマンド処理を実行するコマンド処理部と、前記処理結果に応じて、前記デイスク装置に、前記ホストI/O要求によるアクセス要求を、前記内部I/O要求によるアクセス要求より優先して、発行するアクセス実行部とを有し、前記コマンド処理部は、前記ホストI/O要求に対し、前記キャッシュメモリを参照し、前記複数のデイスク装置へのアクセスが必要かを判定し、前記アクセスが必要な前記ホストI/O要求と、前記キャッシュメモリを使用するための前記内部I/O要求とのアクセス要求を前記アクセス実行部に発行し、前記アクセス実行部は、前記デイスク装置に発行し、且つ前記デイスク装置がアクセス処理を完了していない仕掛り数を、前記ホストI/O要求によるアクセス要求による数と、前記内部I/O要求によるアクセス要求による数とを個別に管理する仕掛り部と、前記発行された前記RLU単位でのアクセス要求を、前記デイスク装置単位のコマンドに分割し、前記複数のデイスク装置をアクセスする制御部とを有し、前記仕掛り部を参照して、前記優先発行する前記ホストI/O要求によるアクセス要求の仕掛り数が、前記ホストI/O要求の制限値を越えた場合に、前記内部I/O要求によるアクセス要求を、前記内部I/O要求の仕掛り数の制限値まで、前記制御部に発行する。
又、本発明のデイスク負荷バランス制御方法は、ホストから依頼されたI/O要求と内部で発生したI/O要求とに応じて、接続された複数のデイスク装置をアクセスし、I/O要求を実行するためのコントローラのデイスク負荷バランス制御方法において、前記コントローラが、前記ホストI/O要求に対し、RLU(RAID 論理ユニット)単位で、前記複数のデイスク装置のデータの一部を格納するキャッシュメモリを参照し、前記複数のデイスク装置へのアクセスが必要かを判定し、前記アクセスが必要な前記ホストI/O要求と、前記キャッシュメモリを使用するための前記内部I/O要求とのアクセス要求をアクセス実行部に発行するステップと、前記コントローラの前記アクセス実行部が、前記I/O要求に応じて、前記デイスク装置に、前記ホストI/O要求によるアクセス要求を、前記内部I/O要求によるアクセス要求より優先して発行するステップと、前記コントローラの前記アクセス実行部が、前記デイスク装置に発行し、且つ前記デイスク装置がアクセス処理を完了していない仕掛り数を、前記ホストI/O要求によるアクセス要求による数と、前記内部I/O要求によるアクセス要求とによる数とを個別に管理するステップとを有し、前記発行ステップは、前記個別に管理された仕掛り数を参照して、前記優先発行する前記ホストI/O要求によるアクセス要求の仕掛り数が、前記ホストI/O要求の制限値を越えた場合に、前記内部I/O要求によるアクセス要求を、前記内部I/O要求の仕掛り数の制限値まで発行するステップと、前記発行された前記RLU単位でのアクセス要求を、前記デイスク装置単位のコマンドに分割し、前記複数のデイスク装置をアクセスするステップとを有するステップを有する。
本発明では、ホストI/O(ホストリード)と、内部I/O(プリフェッチ、ライトバック)とを個別に負荷管理するので、仮想デイスク(RLU)への処理要求の発行数を個別に制限できるため、ホストI/Oを優先して、ホストI/Oと内部I/Oとのバランスを制御できる。
又、本発明では、好ましくは、前記アクセス実行部は、前記ホストI/O要求によるアクセス要求の仕掛り数をカウントする第1のカウンタと、前記内部I/O要求によるアクセス要求の仕掛り数をカウントする第2のカウンタとを有し、前記I/O要求が前記ホストI/O要求によるアクセス要求であるか前記内部I/O要求によるアクセス要求であるかを判定し、前記判定結果に応じて、前記第1又は第2のカウンタを参照して、前記仕掛り数を個別に制限する。この形態では、カウンタで個別に仕掛り数を管理し、制限するため、容易に正確に仕掛り数の個別制限が可能となる。
又、本発明では、好ましくは、前記アクセス実行部は、前記ホストI/O要求によるアクセス要求の仕掛り数の制限値を越えた前記ホストI/O要求によるアクセス要求を待たせるための第1の待ちキューと、前記内部I/O要求によるアクセス要求の仕掛り数の制限値を越えた前記内部I/O要求によるアクセス要求を待たせるための第2の待ちキューとを有する。この形態では、待ちアクセス要求も個別管理するため、仕掛り数の個別管理を待ちアクセス要求にも適用できる。
又、本発明では、好ましくは、前記アクセス実行部は、前記仕掛り中の前記ホストI/O要求によるアクセス要求の第1のリストと、前記仕掛り中の前記内部I/O要求によるアクセス要求の第2のリストとを有し、前記アクセス要求を受けた時に、前記第1又は第2のリストを参照し、前記アクセス要求の優先度を判定し、優先度の高い前記アクセス要求を前記デイスク装置に発行する。この形態では、個別管理しつつ、I/O優先度制御が可能となる。
又、本発明では、好ましくは、前記アクセス実行部は、前記第1のリストと前記第2のリストとに、前記アクセス要求を、優先度順に格納する。これにより、I/O優先度判定が容易となり、I/O優先度制御を高速化できる。
又、本発明では、好ましくは、前記アクセス実行部は、前記アクセス要求を前記デイスク装置に発行したことに応じて、前記第1又は第2のカウンタをインクリメントし、前記デイスク装置からの前記アクセス要求に対する応答に対し、前記第1又は第2のカウンタをデクリメントする。これにより、正確に仕掛り数の制限を個別にできる。
又、本発明では、好ましくは、前記アクセス実行部は、前記アクセス要求を、前記デイスク装置を論理的に示すRLU単位で発行する。これにより、RAID構成において、負荷管理が容易となる。
又、本発明では、好ましくは、前記アクセス実行部は、前記アクセス要求を所定数発行する毎に、リビルド又はコピーバックの少なくとも一方のアクセス要求を発行する。これにより、ホストI/Oのレスポンスを維持しつつ、リビルド/コピーバックの終了時間を保証できる。
又、本発明では、好ましくは、前記アクセス実行部は、前記両仕掛り数がゼロである時に、前記リビルド又はコピーバックの少なくとも一方のアクセス要求を発行する。これにより、一層、ホストI/Oのレスポンスを維持しつつ、リビルド/コピーバックの終了時間を保証できる。
更に、本発明では、好ましくは、前記アクセス実行部は、前記リビルド又はコピーバックの少なくとも一方のアクセス要求を、前記アクセス要求を所定数発行していない時に、待ちキューに待たせる。これにより、リビルド/コピーバックのスケジュールを変更せず、ホストI/Oのレスポンスを維持しつつ、リビルド/コピーバックの終了時間を保証できる。
更に、本発明では、好ましくは、前記コマンド処理部は、所定のスケジュールに従う、前記内部I/O要求であるライトバック要求処理を行うとともに、前記ライトバック要求処理英は、前記アクセス実行部から前記デイスク装置を論理的に示すRLU単位の負荷状況を受け、前記内部I/O要求の負荷の少ないRLUを優先してライトバック要求を発行する。
更に、本発明では、好ましくは、前記アクセス実行部は、対象とするRLUに対する内部I/Oの待ち数が小さい時に、前記負荷が比較的軽いと判定し、前記ライトバック要求処理に前記対象RLUのライトバック要求発行を許可する。
更に、本発明では、好ましくは、前記アクセス実行部は、対象とするRLUに対する内部I/Oの待ち数が大きい時に、前記アクセス実行部でのライトバック要求数と、前記内部I/Oの仕掛り数の上限値を基準としたライトバック許容値との比較結果から、前記RLUの負荷状況を判定する。
以上、説明したように、本発明によれば、ホストI/O(ホストリード)と、内部I/O(プリフェッチ、ライトバック)とを個別に負荷管理するので、仮想デイスク(RLU)2への処理要求の発行数を個別に制限でき、ホストI/Oを優先して、ホストI/Oと内部I/Oとの負荷バランスを制御できる。
又に、リビルド/コピーバックについては、専用の負荷制御機構を設け、通常I/Oとリビルド/コピーバック間での負荷調整を行うため、ある程度のホストI/Oのレスポンスを維持しながら、リビルド/コピーバックの終了時間を保証できる。
更に、ライトバックを、負荷の軽いRLUに優先して行うので、デイスク装置を有効利用でき、且つ早期に必要なキャッシュ領域を開放できる。
以下、本発明の実施の形態を、ストレージシステム、動的負荷制御の第1の実施の形態、動的負荷制御の第2の実施の形態、動的負荷制御を利用したライトバックスケジュール制御、他の実施の形態の順で説明する。
[ストレージシステム]
図1は、本発明の一実施の形態のストレージシステムの構成図であり、磁気デイスクを使用したRAID(Redundant Arrays of Inexpensive Disk)システムを示す。図1に示すように、ストレージシステムは、磁気デイスクコントローラ(以下、コントローラという)1と、このコントローラ1にFC_AL(Fiber Channel Arbitrated Loop)4で接続されたデバイスエンクロージャー2とからなる。
このデバイスエンクロージャー2は、複数台の磁気デイスク装置(ストレージ装置)20〜2Pを内蔵する。各磁気デイスク装置20〜2Pは、一対のFC_AL4に接続される。
コントローラ1は、直接又はネットワーク機器を介し、クライアントやサーバー等のホスト3に接続され、ホスト3の大量のデータを、RAIDデイスクドライブ(磁気デイスク装置)へ高速かつ、ランダムに読み書きが出来るシステムである。
コントローラ1は、CA(Channel Adapter)10と、CM(Centralized Module)12,14と、DA(Device Adapter)16のファンクションモジュールによって構成されている。
CA(Channel Adapter)10は、ホストを結ぶホスト・インタフェースの制御をつかさどる回路であり、例えば、ファイバーチャネル回路(FC)やDMA(Direct Memory Access)回路等で構成される。DA(Device Adapter)16は、デイスクデバイス(磁気デイスク装置)20〜2Pを制御するため、デイスクデバイスとコマンド、データのやり取りを行う回路であり、例えば、ファイバーチャネル回路(FC)やDMA回路等で構成される。
CM(Centralized Module)は、CPU12と、メモリー(RAM)14と、図示しないプログラムメモリとを有する。メモリー14は、バッテリーでバックアップされ、その一部が、キャッシュメモリ18として使用される。
CPU12が実行する制御モジュールは、CA10をドライブするCM−CAドライバ30と、ストレージ装置へのアクセスが必要かを判定するフロントエンド処理モジュール32と、ストレージ装置へのアクセスの処理を行うバックエンド処理モジュール36と、DA40をドライブするCM−DAドライバ40と、システム制御を行うシステム制御モジュール38とからなる。
フロントエンド処理モジュール32は、リソース管理を行うリソースモジュール(図示せず)と、キャッシュメモリ18の参照、リード、プリフェッチ、ライトバックを行うキャッシュ制御モジュール34を有する。
バックエンド処理モジュール36に対する負荷は、ホストI/Oによるものと、ホストI/Oに付随する内部I/Oと、ホストI/Oに付随しない内部I/Oとがある。ホスト3からのI/Oコマンドに付随するものとしては、ライトコマンド実行後のライトバック(キャッシュからのライトバック)のコマンド、プリフェッチ(リードされたデータの近辺のデータを前もってステージングする)のコマンドである。ホストI/Oに付随しない内部コマンドとしては、システム制御モジュール38からの再構築やコピーバックによるコマンドがある。
本発明では、バックエンド処理モジュール36において、これらのI/O要求をバランス制御するDTCモジュール(図2にて、後述する)を設けている。
この構成の基本的動作を説明する。キャッシュメモリ18は、各々、担当するデイスク装置(RLU単位)のデータの一部を格納し、ホストからのライトデータや、プリフェッチされたデータを格納する。CPU12は、CA10を介しホストからのリード要求を受けて、キャッシュメモリ18を参照し、物理デイスクへのアクセスが必要かを判定し、必要であれば、デイスクアクセス要求をDA16に要求する。又、CPU12は、ホストからのライト要求を受けて、ライトデータをキャッシュメモリ18に書込み、且つ内部でスケジュールされるライトバック等をDA16に要求する。
[動的負荷制御の第1の実施の形態]
図2は、本発明の動的負荷制御機構(DTC)の第1の実施の形態の機能ブロック図、図3は、そのACBの説明図、図4は、動的負荷制御機構の説明図、図5は、バックエンド処理でのI/O種別の説明図である。
図5に示すように、本発明では、バックエンドモジュール36に要求するI/O種別を、ホストI/Oと、内部I/Oに分類する。ホストI/Oは、ホストI/Oと同期するバックエンド処理であり、ホストのリード要求、ライトスルーモード時のライト要求が相当する。内部I/Oは、内部スケジュールのバックエンド処理であり、プリフェッチ、ライトバック等が相当する。
図2に示すように、フロントエンドモジュール32のキャッシュ制御モジュール34で、ホストのリード要求がミスヒット(対象データがキャッシュメモリ18に存在しない)と判断した場合や、内部スケジュールで、リード要求に伴うプリフェッチ、ライト要求に伴うライトバックが発生した場合に、フロントエンドモジュール32は、バックエンドへの起動許可を行い、バックエンドへ起動許可されたI/Oコマンドに対し、BE(BackEnd)−ACB(Access Control Block)の獲得処理42で、BE−ACB(図3参照)が獲得され、バックエンドモジュール36へのアクセスが可能となる。
図3に示すように、このACBは、優先度とI/O要求内容からなり、ホストリードに常に優先度が付され、リード以外の内部I/Oは、低優先度とする。このホスト3は、リード要求に、ホストリードの優先度を付する。又、内部I/Oも内部I/O間での優先度を付する。
バックエンドモジュール36では、I/Oコマンドの要求内容の解釈処理50を行い、この解釈(ホストリードかそれ以外かのI/O種別等)に従い、制御用の各資源の獲得処理52が行われる。資源獲得処理52は、内部バッファ領域(Extent)等を獲得し、排他権を設定する。
この資源獲得後、DTC(動的負荷制御)処理54で、負荷制御をRLU単位で行う。DTC54は、ホストI/Oの待ちキュー63と、内部I/Oの待ちキュー64と、ホストI/Oの仕掛りリスト65と、そのリストの仕掛りI/O数をカウントするホストI/Oカウンタ67と、内部I/Oの仕掛りリスト66と、その仕掛りI/O数をカウントする内部I/Oカウンタ68とを有する。
待ちキュー63、64は、デイスク装置(RLU単位)へのI/O要求を待たせるためのキューであり、仕掛りリスト65、66は、デイスク装置(RLU単位)へ発行し、処理が完了していないI/O要求のリストであり、カウンタ67、68は、デイスク装置(RLU単位)へ発行し、処理が完了していないI/O要求数である。本発明では、図4に示すように、これらを、ホストI/Oと、内部I/Oとに個別に持ち、各々の発行個数を個別に管理する。
上位層からの要求処理60は、図6で説明するように、上位層からのI/O要求が、ホストI/Oか内部I/Oかに応じて、優先度、仕掛り数カウンタ67、68を参照し、I/O要求の下位層への発行制御を行う。下位層からの要求処理62は、図7で説明するように、下位層からの完了応答が、ホストI/Oか内部I/Oかに応じて、待ちキュー63、64を参照し、I/O要求の下位層への発行制御を行う。
バックエンドモジュール36は、更に、ストライプ/冗長制御モジュール56を有し、このモジュール56は、RLU単位のI/O要求を,デイスク単位のコマンドに分割し、Disk(デイスク)ドライバ40−1/FC(ファイバーチャネル)ドライバ40−2にデイスクコマンドを発行する。ドライバ40からDA16に、デイスクコマンドが送信され、更に、FC_AL4を通して、磁気デイスク装置2(20〜2P)にデイスクコマンドが伝達される。これにより、磁気デイスク装置2(20〜2P)は、このデイスクコマンドを実行する。このDA16は、磁気デイスク装置2にデイスクコマンドを発行する際に、DTC54で指定されたタグ(Head of QueueやSimple Queue)を用いる。尚、Head of Queueは、デイスクでのリオーダリング対象とせずに、キューにつなぐ意味を持ち、Simple Queueは、デイスクでのリオーダリングの対象となる。
図6は、図2の上位層からの要求処理フロー図である。
(S10)上位層からI/O要求を受けると、そのACBの優先度と、そのI/O要求の種別(ホストI/O,内部I/O)の仕掛りリスト65又は66中のACBの最高優先度と比較する。
(S12)I/O要求のACBの優先度が、そのI/O要求の種別(ホストI/O,内部I/O)の仕掛りリスト65又は66中のACBの最高優先度より高い場合には、ACBにHead of Queue(Queueの先頭)を付し、下位層(ここでは、ストライプ/冗長制御モジュール56)に処理要求を発行する。更に、そのI/O種別の仕掛りリスト65又は66の先頭に、このACBをエンキューし、そのI/O種別の仕掛り数カウンタ67又は68の値をインクリメントする。そして、終了する。
(S14)I/O要求のACBの優先度が、そのI/O要求の種別(ホストI/O,内部I/O)の仕掛りリスト65又は66中のACBの最高優先度以下の場合には、そのI/O種別の仕掛り数カウンタ67又は68の値が、上限値(n又はm)であるかを判定する。
(S16)上限値以下なら、ACBにSimple Queue(特別でないQueue)を付し、下位層(ここでは、ストライプ/冗長制御モジュール56)に処理要求を発行する。更に、そのI/O種別の仕掛りリスト65又は66の優先度の位置に、このACBをエンキューする。そして、終了する。
(S18)上限値以上なら、ACBをそのI/O種別の待ちキュー63又は64の優先度の位置に、エンキューする。即ち、待ちキューにおいて、先頭のACBが、待ちとなっているホスト、内部のそれぞれのI/Oで最も高い優先度となるようにし、先頭ACBからデキューすることで、待ちを優先度順に解除する。これにより、I/O優先度制御する。そして、終了する。
次に、図7により、図2の下位層からの応答処理を説明する。
(S20)下位層から処理完了は、そのACBとともに、通知される。処理完了のACBからI/O種別を判定し、判定されたI/O種別の仕掛りリスト(キュー)65又は66から処理完了したACBをデキューする。
(S22)そして、そのI/O種別の待ちキュー63又は64を参照し、待ちキュー63又は64に待ちACBがない場合には、終了する。
(S24)一方、待ちキュー63又は64に待ちACBがある場合には、そのI/O種別の待ちキュー63又は64の先頭ACBをデキューし、ACBにSimple Queueを設定し、下位層に処理要求する。そして、そのI/O種別の仕掛りリスト65又は66の優先度の位置に、このACBをエンキューし、そのI/O種別の仕掛り数カウンタ67又は68の値をインクリメントする。そして、終了する。
このように、DTC60が、ホストI/O(ホストリード)と、内部I/O(プリフェッチ、ライトバック)とを個別に負荷管理するので、図8に示すように、仮想デイスク(RLU)2への処理要求の発行数を個別に制限できる。このため、ホストI/Oを優先して、ホストI/Oと内部I/Oとのバランスを制御できる。
具体的には、ホストI/Oは、最優先度が付されるため、ホストI/Oは、仮想デイスク2で優先的に処理され、且つホストI/Oは、仕掛り数を制限され、仮想デイスク2に発行される。一方、待ちキュー63のホストI/Oの待ちがなくなると、内部I/Oの待ちキュー64から内部I/Oから、仕掛り数を制限され、仮想デイスク2に発行される。
この間に、ホストI/Oが到来すると、ホストI/Oが仮想デイスク2に発行される。ホストI/Oは、最大で、内部I/Oの仕掛り数分しか待たされず、ホストI/Oのタイムアウトを防止して、内部I/Oを実行できる。又、デイスクデバイス2は、例えば、最大16コマンドの待ちキューを持ち、連続処理ができるように、コマンドをリオーダリングするため、従来のように連続処理を意識したI/O要求の発行制御を行う必要がない。
又、リオーダリングにより、ホストI/Oが優先処理されれば、ホストI/Oの待ち時間は更に短縮できる。更に、ホストI/Oも仕掛り数の制限がなされるため、処理能力を越えた過剰なホストI/Oの発行を抑止でき、デイスクデバイスの能力を最大限引き出すことができる。
しかも、I/O種別毎に、待ちキューの検索を行うため、DTCのオーバーヘッドを削減でき、且つ仕掛りキュー、待ちキューも優先度順に格納するため、後続のI/O要求の優先度判定が簡単となり、高速な負荷バランス制御が可能となる。
[動的負荷制御の第2の実施の形態]
図9は、本発明の動的負荷制御機構(DTC)の第2の実施の形態の機能ブロック図、図10は、その上位層からの要求処理フロー図、図11は、その下位層からの応答処理フロー図、図12は、図10及び図11の再開判定処理フロー図、図13は、図9のリビルド/コピーバック要求処理フロー図、図14は、第2の実施の形態の動作説明図、図15は、図9のリビルド動作の説明図、図16は、コピーバック動作の説明図である。
図5に示すように、本発明では、バックエンドモジュール36に要求するI/O種別を、ホストI/Oと、内部I/Oに分類する。ホストI/Oは、ホストI/Oと同期するバックエンド処理であり、ホストのリード要求、ライトスルーモード時のライト要求が相当する。内部I/Oは、内部スケジュールのバックエンド処理であり、プリフェッチ、ライトバック等が相当する。
この実施の形態は、図2以下で説明した第1の実施の形態に加え、リビルド/コピーバックの専用負荷制御機構を設けたものである。図15に示すように、リビルド動作は、故障デイスクのデータを復元し、予備又は新デイスクに格納するものである。図15は、RAID5のリビルド動作を示し、故障デイスク#0以外のデイスク#1〜#3のデータをキャッシュメモリに読出し、データのXORを取り、復元データを作成し、予備又は新デイスクHSに書き込む。
一方、コピーバック動作は、図16に示すように、データをコピーデイスクにコピーするものである。即ち、図16は、RAID5のコピーバック動作を示し、デイスクHSのデータをキャッシュメモリに読み込み、新デイスクNewに書き込むものである。
この実施の形態では、リビルド/コピーバックの終了時間を保証しつつ、ホストI/Oのレスポンスを維持するものである。
図9に示すように、フロントエンドモジュール32のキャッシュ制御モジュール34で、ホストのリード要求がミスヒット(対象データがキャッシュメモリ16に存在しない)と判断した場合や、内部スケジュールで、リード要求に伴うプリフェッチ、ライト要求に伴うライトバックが発生した場合や、システム制御モジュール38のスケジュールでリビルド/コピーバックの要求が発生した場合に、フロントエンドモジュール32は、バックエンドへの起動許可を行い、バックエンドへ起動許可されたI/Oコマンドに対し、BE(BackEnd)−ACB(Access Control Block)の獲得処理42で、BE−ACB(図3参照)が獲得され、バックエンドモジュール36へのアクセスが可能となる。
図3に示したように、このACBは、優先度とI/O要求内容からなり、ホストリードに常に優先度が付され、リード以外の内部I/Oは、低優先度とする。このホスト3は、リード要求に、ホストリードの優先度を付する。又、内部I/Oも内部I/O間での優先度を付する。
バックエンドモジュール36では、I/Oコマンドの要求内容の解釈処理50を行い、この解釈(ホストリードか内部I/Oかリビルド/コピーバックかのI/O種別等)に従い、制御用の各資源の獲得処理52が行われる。資源獲得処理52は、内部バッファ領域(Extent)等を獲得し、排他権を設定する。
この資源獲得後、DTC(動的負荷制御)処理54で負荷制御をRLU単位で行う。DTC54は、ホストI/Oの待ちキュー63と、内部I/Oの待ちキュー64と、ホストI/Oの仕掛りリスト65と、そのリストの仕掛りI/O数をカウントするホストI/Oカウンタ67と、内部I/Oの仕掛りリスト66と、その仕掛りI/O数をカウントする内部I/Oカウンタ68とを有する。更に、第2の実施の形態では、リビルド/コピーバックの待ちキュー72を有する。
待ちキュー63、64,72は、デイスク装置(RLU単位)へのI/O要求を待たせるためのキューであり、仕掛りリスト65、66は、デイスク装置(RLU単位)へ発行し、処理が完了していないI/O要求のリストであり、カウンタ67、68は、デイスク装置(RLU単位)へ発行し、処理が完了していないI/O要求数である。本実施の形態でも、図4に示したように、これらを、ホストI/Oと、内部I/Oとに個別に持ち、各々の発行個数を個別に管理する。
上位層からの要求処理60は、図10で説明するように、上位層からのI/O要求が、ホストI/Oか内部I/Oかに応じて、優先度、仕掛り数カウンタ67、68を参照し、I/O要求の下位層への発行制御を行うとともに、リビルド/コピーバック再開判定処理70(図12にて後述)を行う。下位層からの要求処理62は、図11で説明するように、下位層からの完了応答が、ホストI/Oか内部I/Oかに応じて、待ちキュー63、64を参照し、I/O要求の下位層への発行制御を行うとともに、リビルド/コピーバック再開判定処理70を行う。
又、I/O処理数カウンタ69と、これを使用して、リビルド/コピーバック要求処理を行うモジュール74(図13にて後述)とが設けられている。
バックエンドモジュール36は、更に、ストライプ/冗長制御モジュール56を有し、このモジュール56は、RLU単位のI/O要求を,デイスク単位のコマンドに分割し、Disk(デイスク)ドライバ40−1/FC(ファイバーチャネル)ドライバ40−2にデイスクコマンドを発行する。ドライバ40からDA16に、デイスクコマンドが送信され、更に、FC_AL4を通して、磁気デイスク装置2(20〜2P)にデイスクコマンドが伝達される。これにより、磁気デイスク装置2(20〜2P)は、このデイスクコマンドを実行する。
図10は、図9の上位層からの要求処理フロー図である。
(S30)上位層からI/O要求を受けると、そのACBの優先度と、そのI/O要求の種別(ホストI/O,内部I/O)の仕掛りリスト65又は66中のACBの最高優先度と比較する。
(S32)I/O要求のACBの優先度が、そのI/O要求の種別(ホストI/O,内部I/O)の仕掛りリスト65又は66中のACBの最高優先度より高い場合には、ACBにHead of Queue(Queueの先頭)を付し、下位層(ここでは、ストライプ/冗長制御モジュール56)に処理要求を発行する。更に、そのI/O種別の仕掛りリスト65又は66の先頭に、このACBをエンキューし、そのI/O種別の仕掛り数カウンタ67又は68の値をインクリメントする。そして、ステップS40に進む。
(S34)I/O要求のACBの優先度が、そのI/O要求の種別(ホストI/O,内部I/O)の仕掛りリスト65又は66中のACBの最高優先度以下の場合には、そのI/O種別の仕掛り数カウンタ67又は68の値が、上限値(n又はm)であるかを判定する。
(S36)上限値以下なら、ACBにSimple Queue(特別でないQueue)を付し、下位層(ここでは、ストライプ/冗長制御モジュール56)に処理要求を発行する。更に、そのI/O種別の仕掛りリスト65又は66の優先度の位置に、このACBをエンキューする。そして、ステップS40に進む。
(S38)上限値以上なら、ACBをそのI/O種別の待ちキュー63又は64の優先度の位置に、エンキューする。即ち、待ちキューにおいて、先頭のACBが、待ちとなっているホスト、内部のそれぞれのI/Oで最も高い優先度となるようにし、先頭ACBからデキューすることで、待ちを優先度順に解除する。これにより、I/O優先度制御する。そして、終了する。
(S40)図12のリビルド/コピーバック再開判定処理を行い、終了する。
次に、図12により、リビルド/コピーバック再開判定処理を説明する。
(S50)通常I/O(ホスト/内部I/O)の処理数(DA16に発行したI/O要求数)をカウントするカウンタ69の処理数を「1」デクリメントする。
(S52)リビルド/コピーバックの待ちキュー72を参照し、リビルド/コピーバックの待ちがあるかを判定する。リビルド/コピーバックの待ちが無い場合には、再開判定処理を終了する。
(S54)カウンタ69の通常I/O処理数が「0」であるかを判定する。「0」でない場合には、再開判定処理を終了する。
(S56)カウンタ69の通常I/O処理数が「0」である場合には、所定数の通常I/O処理を行ったため、リビルド/コピーバックの待ちキュー72の先頭のリビルド/コピーバックを下位層へ要求し、カウンタ69の通常I/O処理数を所定のI/O比(例えば、45)に初期化し、再開判定処理を終了する。
次に、図11により、図9の下位層からの応答処理を説明する。
(S60)下位層から処理完了は、そのACBとともに、通知される。処理完了のACBからI/O種別を判定し、判定されたI/O種別の仕掛りリスト(キュー)65又は66から処理完了したACBをデキューする。
(S62)そして、そのI/O種別の待ちキュー63又は64を参照し、待ちキュー63又は64に待ちACBがない場合には、ステップS66に進む。
(S64)一方、待ちキュー63又は64に待ちACBがある場合には、そのI/O種別の待ちキュー63又は64の先頭ACBをデキューし、ACBにSimple Queueを設定し、下位層に処理要求する。そして、そのI/O種別の仕掛りリスト65又は66の優先度の位置に、このACBをエンキューし、そのI/O種別の仕掛り数カウンタ67又は68の値をインクリメントする。そして、図12のリビルド/コピーバック再開判定処理を行い、終了する。
(S66)待ちキュー63又は64に待ちACBが無い場合には、仕掛り数カウンタ67及び68を参照し、ホスト/インターナルとも、仕掛り数が「0」であるかを判定する。ホスト/インターナルの少なくとも一方の仕掛り数がゼロでない場合には、終了する。
(S68)ホスト/インターナルの仕掛り数が「0」であれば、待ちキュー72のリビルド/コピーバックを全て下位層に要求する。そして、カウンタ69の通常I/O処理数を所定のI/O比(例えば、45)に初期化し、処理を終了する。
次に、図13により、リビルド/コピーバック要求処理74を説明する。
(S70)システム制御モジュール38(図1参照)からリビルド/コピーバックのI/O要求を受けると、仕掛り数カウンタ67及び68を参照し、ホスト/インターナルとも、仕掛り数が「0」であるかを判定する。ホスト/インターナルの両方の仕掛り数がゼロである場合には、ステップS74に進む。
(S72)ホスト/インターナルの仕掛り数の少なくとも一方が「0」でなければ、カウンタ69の通常I/O処理数が「0」であるかを判定する。通常I/O処理数が「0」でなければ、リビルド/コピーバックの待ちキュー72にエンキューし、処理を終了する。
(S74)ホスト/インターナルの仕掛り数が「0」である場合や通常I/O処理数が「0」であれば、要求されたリビルド/コピーバックを下位層に要求する。そして、カウンタ69の通常I/O処理数を所定のI/O比(例えば、45)に初期化し、処理を終了する。
このように、DTC60が、ホストI/O(ホストリード)と、内部I/O(プリフェッチ、ライトバック)とを個別に負荷管理するので、図14に示すように、仮想デイスク(RLU)2への処理要求の発行数を個別に制限できる。このため、ホストI/Oを優先して、ホストI/Oと内部I/Oとのバランスを制御できる。
具体的には、ホストI/Oは、最優先度が付されるため、ホストI/Oは、仮想デイスク2で優先的に処理され、且つホストI/Oは、仕掛り数を制限され、仮想デイスク2に発行される。一方、待ちキュー63のホストI/Oの待ちがなくなると、内部I/Oの待ちキュー64から内部I/Oから、仕掛り数を制限され、仮想デイスク2に発行される。
この間に、ホストI/Oが到来すると、ホストI/Oが仮想デイスク2に発行される。ホストI/Oは、最大で、内部I/Oの仕掛り数分しか待たされず、ホストI/Oのタイムアウトを防止して、内部I/Oを実行できる。又、デイスクデバイス2は、例えば、最大16コマンドの待ちキューを持ち、連続処理ができるように、コマンドをリオーダリングするため、従来のように連続処理を意識したI/O要求の発行制御を行う必要がない。
又、リオーダリングにより、ホストI/Oが優先処理されれば、ホストI/Oの待ち時間は更に短縮できる。更に、ホストI/Oも仕掛り数の制限がなされるため、処理能力を越えた過剰なホストI/Oの発行を抑止でき、デイスクデバイスの能力を最大限引き出すことができる。
しかも、I/O種別毎に、待ちキューの検索を行うため、DTCのオーバーヘッドを削減でき、且つ仕掛りキュー、待ちキューも優先度順に格納するため、後続のI/O要求の優先度判定が簡単となり、高速な負荷バランス制御が可能となる。
又、リビルド/コピーバックについては、専用の負荷制御機構を設け、ホスト/インターナルI/Oの仕掛り数が「0」の場合に、リビルド/コピーバックのI/O要求を下位層に発行し、且つ通常I/O処理数がI/O比に到達する毎に、リビルド/コピーバックのI/O処理を発行する。
このため、通常I/Oとリビルド/コピーバック間での負荷調整が可能となり、且つある程度のホストI/Oのレスポンスを維持しながら、リビルド/コピーバックの終了時間を保証できる。
このI/O比は、調整可能であり、I/O比を大きく(例えば、45)とると、ホスト性能重視の性能に、I/O比を小さく(例えば、15)とすると、リビルド完了時間重視の性能に変更できる。
[動的負荷処理制御を前提としたキャッシュバックスケジュール処理]
次に、ホストI/Oと内部I/Oとを個別に処理数を管理する前述の動的負荷管理において、内部I/Oを効率的に実行制御するためのキャッシュバックスケジューリング制御を説明する。
図17は、本発明の第3の実施の形態の動的負荷管理制御のシステム構成図、図18は、本発明の第3の実施の形態の動的負荷制御機構の機能ブロック図、図19は、図18のライトバックモジュールの処理フロー図、図20は、図18の負荷確認処理モジュールの処理フロー図、図21は、図18のプリフェッチモジュールの処理フロー図、図22及び図23は、図18の構成の動作説明図である。
前述の図2乃至図8の動的負荷制御は、RLU単位に行うことを説明した。図17に示すように、2つの仮想デイスク(RLU)2−1、2−2を、1つのコントローラ1(図1参照)が担当する場合には、DTC60が、各RLU2−1、2−1に、ホストI/O(ホストリード)と、内部I/O(プリフェッチ、ライトバック)とを個別に負荷管理する。即ち、仮想デイスク(RLU)2−1、2−2への処理要求の発行数を個別に制限する。
具体的には、ホストI/Oは、最優先度が付されるため、ホストI/Oは、仮想デイスク2−1、2−2で優先的に処理され、且つホストI/Oは、仕掛り数を制限され、仮想デイスク2−1、2−2に発行される。一方、待ちキュー63−1、63−2のホストI/Oの待ちがなくなると、内部I/Oの待ちキュー64−1、64−2から内部I/Oが、仕掛り数を制限され、仮想デイスク2−1、2−2に各々、発行される。
この間に、ホストI/Oが到来すると、ホストI/Oが仮想デイスク2−1、2−2に発行される。ホストI/Oは、最大で、内部I/Oの仕掛り数分しか待たされず、ホストI/Oのタイムアウトを防止して、内部I/Oを実行できる。
このような負荷制御を行う構成において、内部I/Oであるライトバック処理は、ホストI/Oが一定時間途切れた時に、所定のスケジュールに従い、実行され、通常、キャッシュメモリ18(図1参照)の必要性の低い(例えば、最も古く使用された)領域を対象として、実行される。
この場合に、実際のキャッシュ領域は、仮想デイスク(RLU)上のあるLBA(論理ブロックアドレス)の範囲を割り当てて運用される。ライトバックによってダーテイデータ(必要性の低い、例えば、最も古く使用されたデータ)をデイスクに書き戻すことで、キャッシュ領域の割り当てを開放して、別な仮想デイスク(RLU)上のLBAの範囲に対して割り当てることが可能となる。
前述の内部I/OとホストI/Oを個別に管理する方法では、複数の仮想デイスクに、キャッシュ領域を割り当てる場合に、効率的に、キャッシュ領域を開放するライトバック処理が望ましい。
図18は、かかる効率的なライトバック制御を行うためのフロントエンド及びバックエンドモジュールの機能ブロック図であり、図2に示したものと同一のものは、同一の記号で示してある。
即ち、フロントエンドモジュール32のキャッシュ制御モジュール34は、ホストのリード要求がミスヒット(対象データがキャッシュメモリ18に存在しない)か否かを判断するモジュール34−1と、内部スケジュールで、リード要求に伴うプリフェッチを要求するモジュール34−3と、ライト要求にキャッシュメモリに書き込まれたデータや最も古いデータ等のダーテイデータを、キャッシュメモリからデイスクに書き戻すライトバックモジュール34−2を有する。
このモジュールの要求により、フロントエンドモジュール32は、バックエンドへの起動許可を行い、バックエンドへ起動許可されたI/Oコマンドに対し、BE(BackEnd)−ACB(Access Control Block)の獲得処理42で、BE−ACB(図3参照)が獲得され、バックエンドモジュール36へのアクセスが可能となる。
バックエンドモジュール36では、I/Oコマンドの要求内容の解釈処理50を行い、この解釈(ホストリードかそれ以外かのI/O種別等)に従い、制御用の各資源の獲得処理52が行われる。資源獲得処理52は、内部バッファ領域(Extent)等を獲得し、排他権を設定する。
この資源獲得後、DTC(動的負荷制御)処理54で、負荷制御をRLU単位で行う。図17で示したように、DTC54は、RLU毎に、ホストI/Oの待ちキュー63と、内部I/Oの待ちキュー64と、ホストI/Oの仕掛りリスト65と、そのリストの仕掛りI/O数をカウントするホストI/Oカウンタ67と、内部I/Oの仕掛りリスト66と、その仕掛りI/O数をカウントする内部I/Oカウンタ68とを有する。
待ちキュー63、64は、デイスク装置(RLU単位)へのI/O要求を待たせるためのキューであり、仕掛りリスト65、66は、デイスク装置(RLU単位)へ発行し、処理が完了していないI/O要求のリストであり、カウンタ67、68は、デイスク装置(RLU単位)へ発行し、処理が完了していないI/O要求数である。ホストI/Oと、内部I/Oとに個別に持ち、各々の発行個数を個別に管理する。
上位層からの要求処理60は、図6で説明したように、上位層からのI/O要求が、ホストI/Oか内部I/Oかに応じて、優先度、仕掛り数カウンタ67、68を参照し、I/O要求の下位層への発行制御を行う。下位層からの要求処理62は、図7で説明したように、下位層からの完了応答が、ホストI/Oか内部I/Oかに応じて、待ちキュー63、64を参照し、I/O要求の下位層への発行制御を行う。
バックエンドモジュール36は、更に、ストライプ/冗長制御モジュール56を有し、このモジュール56は、RLU単位のI/O要求を,デイスク単位のコマンドに分割し、Disk(デイスク)ドライバ40−1/FC(ファイバーチャネル)ドライバ40−2にデイスクコマンドを発行する。ドライバ40からDA16に、デイスクコマンドが送信され、更に、FC_AL4を通して、磁気デイスク装置2(20〜2P)にデイスクコマンドが伝達される。これにより、磁気デイスク装置2(20〜2P)は、このデイスクコマンドを実行する。
このDA16は、磁気デイスク装置2にデイスクコマンドを発行する際に、DTC54で指定されたタグ(Head of QueueやSimple Queue)を用いる。尚、Head of Queueは、デイスクでのリオーダリング対象とせずに、キューにつなぐ意味を持ち、Simple Queueは、デイスクでのリオーダリングの対象となる。
このライトバック処理を効率的に行うため、ある仮想デイスク(RLU)について、その内部I/Oの負荷状態を確認して,free状態あるいはbusy状態を判別する処理モジュール80を設ける。本処理を以降で負荷確認処理と呼ぶ。
又、キャッシュ制御34のライトバックモジュール34−2には、ライトバックをバックエンドモジュール36に要求する前に、上記の負荷確認処理80を呼び出して、freeであればライトバックを、バックエンドモジュール36に要求し、busyであれば、対象となった仮想デイスク(RLU)へのライトバックを保留し、別の仮想デイスク(RLU)についてライトバックすべきキャッシュデータ(ダーテイデータ)が残っているかどうかを検索するという機能を追加する。
具体的に、図19乃至図23を用いて、説明する。先ず、図19は、キャッシュ制御34のライトバックスケジュール処理フロー図である。
(S80)内部スケジュールに従い、ライトバックモジュール34−2が起動されると、先ず、キャッシュメモリ(領域)18のデータについて、ダーテイデータ(ライトバックすべきデータ、例えば、古いデータ)があるかをデータキューから判定する。ダーテイデータが、キャッシュメモリ(領域)にない場合には、終了する。
(S82)ある仮想デイスク(RLU)のダーテイデータがある場合には、そのRLUについて、データ負荷確認処理80を呼び出す。そして、図20で説明するように、そのRLUについて、その内部I/Oの負荷状態を確認して,フリー状態あるいはビジー状態かを判別する処理を行わせる。
(S84)フリー状態であれば、バックエンドモジュール36に、ライトバックを要求し、終了する。
(S86)一方、ビジー状態であれば、対象となった仮想デイスク(RLU)へのライトバックを保留し、別の仮想デイスク(RLU)についてライトバックすべきキャッシュデータ(ダーテイデータ)が残っているかどうかを検索する。そして、ステップS80に戻る。
次に、図20により、負荷確認処理80を説明する。
(S90)対象となる仮想デイスク(RLU)について、DTC54の内部I/Oの待ちキュー64の待ち数を確認して、待ちがなかったら(=0)であれば、フリー状態と判断する。
(S92)一方、そのRLUの内部I/Oの待ちキュー64に、待ちがあったら(待ち数が「0」でない)、次の条件について判断する。対象となる仮想ディスク(RLU)について、バックエンド以降での処理中ライトバック数(即ち、内部I/Oの待ちキュー64内のライトバックの待ち数+内部I/Oの仕掛りリスト66のライトバックの仕掛り数)aを求める。次に、内部I/Oの仕掛りI/O数の上限値(図4の「m」)に、ある比率(以降、ライトバック許容比率と記述)を掛けた値bを求める。
(S94)ステップS92の「a」と「b」とを比較して、処理中ライトバック数aが、ライトバック許容値bと同じか多ければ,ビジー状態と、そうでなければフリー状態と判断する。尚、ライトバック許容比率は、0%よりも大きい値(100%を超えても構わない)を取り得る。
この処理の動作を説明する。前述のように、キャッシュ領域は、仮想デイスク(RLU)上のあるLBAの範囲を割り当てて、運用されるので、ライトバックによってダーテイデータをデイスクに書き戻すことで、キャッシュ領域の割り当てを開放して、別な仮想デイスク(RLU)上のLBAの範囲に対して割り当てることが可能となる。
そのため、内部I/Oの負荷の高い仮想デイスク(RLU)よりも、内部I/Oの負荷の低い仮想デイスク(RLU)に優先して,ライトバックを行った方が、デイスクの使用効率が良くなり、又、より早くキャッシュ領域を開放できる。これを実現するため負荷確認処理として、上述のステップS90の対象仮想デイスクの待ち数の条件判断1を行う。
また、この機能を実現させるための要件として、プリフェッチモジュール34−3のプリフェッチ要求は、ホストリード性能に関わるため、バックエンドモジュール36への処理要求を待たせてはならないということがある。一方、ライトバックのスケジュールは一定時間おきに行われるため、本機能によってライトバックを保留させても、後で再度スケジュールされる。
ここで、上述のステップS90の条件だけでは、プリフェッチの数が多いと、負荷確認処理80が,慢性的にビジー状態と判別するため,ライトバック要求がバックエンド処理36に要求されにくくなる。このようなプリフェッチの数が多くても、ライトバックを要求できるように、即ち前述の現象を回避するために、負荷確認処理として、上述のステップS92,94の条件判断2を行う。
尚、図21でプリフェッチモジュールの処理を説明する。
(S100)先ず、対象となる仮想デイスク(RLU)のプリフェッチが必要かを判定する。プリフェッチが必要でない場合には、終了する。
(S102)対象仮想デイスク(RLU)のプリフェッチが必要であれば、そのRLUについて、図6で説明した仕掛り数の判定条件により、プリフェッチの要求が可能かを判定する。
(S104)フリー状態(プリフェッチ可能)であれば、バックエンドモジュール36に、ライトバックを要求し、終了する。
(S106)一方、ビジー状態(プリフェッチ否)であれば、対象となった仮想デイスク(RLU)へのプリフェッチを保留し、別の仮想デイスク(RLU)についてプリフェッチが必要かを判定する。そして、ステップS100に戻る。
図22、図23により、前述のライトバック制御を説明する。図22に示すように、内部I/Oの仕掛り上限値が「24」であり、ライトバック許容比率が75%である場合を想定すると、判定条件2のライトバック要求許容数は、b=「18」となる。
条件判定1で、ある仮想デイスク(RLU)に対して、ライトバックのみでバックエンド36に、制限値である24のI/O処理要求があった場合には、24I/O全てがバックエンド以降で処理中となり、この状態での負荷確認処理は、ビジー状態と判断し、上記ライトバックのいずれかが完了するまでの間、ビジー状態と判断する。
又、ある仮想デイスク(RLU)に対して、プリフェッチのみで,バックエンド36へ制限値である24個のI/Oの処理要求があった場合には、24I/O全てがバックエンド36以降で処理中となり、この状態での負荷確認処理は、判定条件2でフリー状態と判断する。
更に、プリフェッチがバックエンド以降で処理中であっても、あと18個のI/O(制限値24の75%)のライトバックを、バックエンド36が受け付けるまでフリー状態と判断する。そして、18個のライトバックをバックエンド36で受け付けたら、ビジー状態となる。
そして、図23に示すように、ある仮想デイスク(RLU)で、フリー状態で、ライトバックを順次発行し、ビジー状態となると、他の仮想デイスク(RLU)のライトバックに移行する。このため、I/O要求の待ちの多い、即ち、内部I/Oの負荷の高い仮想デイスク(RLU)よりも、I/O要求の少ない、即ち、内部I/Oの負荷の低い仮想デイスク(RLU)に優先して,ライトバックを行って、デイスクの使用効率を向上し、又、より早くキャッシュ領域を開放できる。
又、内部I/Oの発行数の制限を考慮して、内部I/Oであるライトバックのバックエンドでの処理数を、内部I/Oの仕掛り数の上限値を基準として、許容するため、プリフェッチが多発しても、ライトバックの発行を保留される事態を防止でき、早期にキャッシュ領域を開放し、ホストのデータライト、プリフェッチの領域を確保し易くできる。
[他の実施の形態]
前述の実施の形態では、図1のような冗長構成のRAIDで説明したが、これ以外の冗長構成のストレージシステムに適用できる。又、物理デイスクは、磁気デイスク、光デイスク、光磁気デイスク、各種のストレージデバイスを適用できる。
又、内部I/Oとして、ホストI/Oのバックグラウンドで、順次コピーするワンポイントコピー等を適用しても良い。
更に、図18の実施の形態において、プリフェッチ34−3の発行要求を、ライトバックと同様に、負荷確認処理80を利用して、制御することもできる。
以上、本発明を実施の形態により説明したが、本発明の趣旨の範囲内において、本発明は、種々の変形が可能であり、本発明の範囲からこれらを排除するものではない。
(付記1)ホストから依頼されたI/O要求と内部で発生したI/O要求とに応じて、接続されたデイスク装置をアクセスし、I/O要求を実行するストレージシステムにおいて、前記I/O要求に応じたコマンド処理を実行するコマンド処理部と、前記処理結果に応じて、前記デイスク装置にアクセス要求を発行するアクセス実行部とを有し、前記アクセス実行部は、前記デイスク装置に発行し、且つ前記デイスク装置がアクセス処理を完了していない仕掛り数を、前記ホストI/O要求によるアクセス要求による数と、前記内部I/O要求によるアクセス要求とによる数とを個別に制限することを特徴とするストレージシステム。
(付記2)前記アクセス実行部は、前記ホストI/O要求によるアクセス要求の仕掛り数をカウントする第1のカウンタと、前記内部I/O要求によるアクセス要求の仕掛り数をカウントする第2のカウンタとを有し、前記I/O要求が前記ホストI/O要求によるアクセス要求であるか前記内部I/O要求によるアクセス要求であるかを判定し、前記判定結果に応じて、前記第1又は第2のカウンタを参照して、前記仕掛り数を個別に制限することを特徴とする付記1のストレージシステム。
(付記3)前記アクセス実行部は、前記ホストI/O要求によるアクセス要求の仕掛り数の制限値を越えた前記ホストI/O要求によるアクセス要求を待たせるための第1の待ちキューと、前記内部I/O要求によるアクセス要求の仕掛り数の制限値を越えた前記内部I/O要求によるアクセス要求を待たせるための第2の待ちキューとを有することを特徴とする付記1のストレージシステム。
(付記4)前記アクセス実行部は、前記仕掛り中の前記ホストI/O要求によるアクセス要求の第1のリストと、前記仕掛り中の前記内部I/O要求によるアクセス要求の第2のリストとを有し、前記アクセス要求を受けた時に、前記第1又は第2のリストを参照し、前記アクセス要求の優先度を判定し、優先度の高い前記アクセス要求を前記デイスク装置に発行することを特徴とする付記1のストレージシステム。
(付記5)前記アクセス実行部は、前記第1のリストと前記第2のリストとに、前記アクセス要求を、優先度順に格納することを特徴とする付記4のストレージシステム。
(付記6)前記アクセス実行部は、前記アクセス要求を前記デイスク装置に発行したことに応じて、前記第1又は第2のカウンタをインクリメントし、前記デイスク装置からの前記アクセス要求に対する応答に対し、前記第1又は第2のカウンタをデクリメントすることを特徴とする付記2のストレージシステム。
(付記7)前記アクセス実行部は、前記アクセス要求を、前記デイスク装置を論理的に示すRLU単位で発行することを特徴とする付記1のストレージシステム。
(付記8)前記アクセス実行部は、前記アクセス要求を所定数発行する毎に、リビルド又はコピーバックの少なくとも一方のアクセス要求を発行することを特徴とする付記1のストレージシステム。
(付記9)前記アクセス実行部は、前記両仕掛り数がゼロである時に、前記リビルド又はコピーバックの少なくとも一方のアクセス要求を発行することを特徴とする付記8のストレージシステム。
(付記10)前記アクセス実行部は、前記リビルド又はコピーバックの少なくとも一方のアクセス要求を、前記アクセス要求を所定数発行していない時に、待ちキューに待たせることを特徴とする付記8のストレージシステム。
(付記11)前記コマンド処理部は、所定のスケジュールに従う、前記内部I/O要求であるライトバック要求処理を行うとともに、前記ライトバック要求処理英は、前記アクセス実行部から前記デイスク装置を論理的に示すRLU単位の負荷状況を受け、前記内部I/O要求の負荷の少ないRLUを優先してライトバック要求を発行することを特徴とする付記1のストレージシステム。
(付記12)前記アクセス実行部は、対象とするRLUに対する内部I/Oの待ち数が小さい時に、前記負荷が比較的軽いと判定し、前記ライトバック要求処理に前記対象RLUのライトバック要求発行を許可することを特徴とする付記11のストレージシステム。
(付記13)前記アクセス実行部は、対象とするRLUに対する内部I/Oの待ち数が大きい時に、前記アクセス実行部でのライトバック要求数と、前記内部I/Oの仕掛り数の上限値を基準としたライトバック許容値との比較結果から、前記RLUの負荷状況を判定することを特徴とする付記11のストレージシステム。
(付記14)ホストから依頼されたI/O要求と内部で発生したI/O要求とに応じて、接続されたデイスク装置をアクセスし、I/O要求を実行するためのデイスク負荷バランス制御方法において、前記I/O要求に応じて、前記デイスク装置にアクセス要求を発行するステップと、前記デイスク装置に発行し、且つ前記デイスク装置がアクセス処理を完了していない仕掛り数を、前記ホストI/O要求によるアクセス要求による数と、前記内部I/O要求によるアクセス要求とによる数とを個別に制限するステップとを有することを特徴とするデイスク負荷バランス制御方法。
(付記15)前記制限ステップは、前記ホストI/O要求によるアクセス要求の仕掛り数をカウントする第1のカウンタと、前記内部I/O要求によるアクセス要求の仕掛り数をカウントする第2のカウンタとを、前記I/O要求が前記ホストI/O要求によるアクセス要求であるか前記内部I/O要求によるアクセス要求であるかの判定結果に応じて、前記ホストI/O要求によるアクセス要求の仕掛り数をカウントする第1のカウンタと、前記内部I/O要求によるアクセス要求の仕掛り数をカウントする第2のカウンタとを参照して、前記仕掛り数を個別に制限するステップからなることを特徴とする付記14のデイスク負荷バランス制御方法。
(付記16)前記ホストI/O要求によるアクセス要求の仕掛り数の制限値を越えた前記ホストI/O要求によるアクセス要求を第1の待ちキューに待たせる第1の待ちキューステップと、前記内部I/O要求によるアクセス要求の仕掛り数の制限値を越えた前記内部I/O要求によるアクセス要求を第2の待ちキューに待たせるための第2の待ちキューステップとを更に有することを特徴とする付記14のデイスク負荷バランス制御方法。
(付記17)前記アクセス要求発行ステップは、前記仕掛り中の前記ホストI/O要求によるアクセス要求の第1のリストと、前記仕掛り中の前記内部I/O要求によるアクセス要求の第2のリストとを、前記アクセス要求を受けた時に、参照し、前記アクセス要求の優先度を判定し、優先度の高い前記アクセス要求を前記デイスク装置に発行するステップを更に有することを特徴とする付記14のデイスク負荷バランス制御方法。
(付記18)前記第1のリストと前記第2のリストとに、前記アクセス要求を、優先度順に格納することを特徴とする付記17のデイスク負荷バランス制御方法。
(付記19)前記アクセス要求を前記デイスク装置に発行したことに応じて、前記第1又は第2のカウンタをインクリメントし、前記デイスク装置からの前記アクセス要求に対する応答に対し、前記第1又は第2のカウンタをデクリメントするステップを更に有することを特徴とする付記15のデイスク負荷バランス制御方法。
(付記20)前記アクセス実行発行ステップは、前記アクセス要求を、前記デイスク装置を論理的に示すRLU単位で発行するステップからなることを特徴とする付記14のデイスク負荷バランス制御方法。
(付記21)前記アクセス要求を所定数発行する毎に、リビルド又はコピーバックの少なくとも一方のアクセス要求を発行するステップを更に有することを特徴とする付記14のデイスク負荷バランス制御方法。
(付記22)前記両仕掛り数がゼロである時に、前記リビルド又はコピーバックの少なくとも一方のアクセス要求を発行するステップを更に有することを特徴とする付記21のデイスク負荷バランス制御方法。
(付記23)前記リビルド又はコピーバックの少なくとも一方のアクセス要求を、前記アクセス要求を所定数発行していない時に、待ちキューに待たせるステップを更に有することを特徴とする付記21のデイスク負荷バランス制御方法。
(付記24)前記アクセス要求発行ステップは、所定のスケジュールに従う、前記内部I/O要求であるライトバック要求発行処理を行い、且つ前記デイスク装置を論理的に示すRLU単位の負荷状況を判定し、前記内部I/O要求の負荷の少ないRLUを優先してライトバック要求を発行するステップを含むことを特徴とする付記14のデイスク負荷バランス制御方法。
(付記25)前記ライトバック要求発行ステップは、対象とするRLUに対する内部I/Oの待ち数が小さい時に、前記負荷が比較的軽いと判定し、前記対象RLUのライトバック要求発行を許可することを特徴とする付記24のデイスク負荷バランス制御方法。
(付記26)前記ライトバック要求発行ステップは、対象とするRLUに対する内部I/Oの待ち数が大きい時に、前記ライトバック要求数と、前記内部I/Oの仕掛り数の上限値を基準としたライトバック許容値との比較結果から、前記RLUの負荷状況を判定することを特徴とする付記24のデイスク負荷バランス制御方法。
以上、説明したように、本発明によれば、複数のデイスク装置にデータが分散したRAID構成のストレージシステムにおいて、RLU単位に、ホストI/O(ホストリード)と、キャッシュメモリを利用するための内部I/O(プリフェッチ、ライトバック)とを個別に負荷管理するので、仮想デイスク(RLU)への処理要求の発行数を個別に制限でき、RLU単位のホストI/Oを優先して、且つホストI/O処理を妨げずに、内部I/Oを処理し、ホストI/Oと内部I/Oとの負荷バランスを制御できる。
更に、リビルド/コピーバックについては、専用の負荷制御機構を設け、通常I/Oとリビルド/コピーバック間での負荷調整を行うため、ある程度のホストI/Oのレスポンスを維持しながら、リビルド/コピーバックの終了時間を保証できる。
本発明の一実施の形態のストレージシステムの構成図である。 本発明のDTCの第1の実施の形態の機能ブロック図である。 図2のACBの詳細構成図である。 図2の負荷制限機構の説明図である。 図2のホストI/Oと内部I/Oの説明図である。 図2のDTCの上位層からの要求処理フロー図である。 図2のDTCの下位層からの応答処理フロー図である。 図2の第1の実施の形態の動作説明図である。 本発明のDTCの第2の実施の形態の機能ブロック図である。 図9のDTCの上位層からの要求処理フロー図である。 図9のDTCの下位層からの応答処理フロー図である。 図10及び図11のリビルド/コピーバック再開判定処理フロー図である。 図9のDTCのリビルド/コピーバック要求処理フロー図である。 図9のDTCの動作説明図である。 図9のリビルド動作の説明図である。 図9のコピーバック動作の説明図である。 本発明の第3の実施の形態のシステム構成図である。 図17のDTCの第3の実施の形態の機能ブロック図である。 図18のライトバック要求処理フロー図である。 図18の負荷確認処理フロー図である。 図18のプリフェッチ要求処理フロー図である。 図18のライトバック判定処理の動作説明図である。 図18のライトバック処理動作の説明図である。 従来技術の構成図である。 従来技術のDTC処理の流れ図である。
符号の説明
1 ストレージコントローラ
2 仮想デイスク
3 ホスト
4 FC_AL
10 チャネルアダプター
16 デバイスアダプター
12 CPU
14 メモリ
18 キャッシュメモリ
32 フロントエンド
36 バックエンド
54 DTC
60 上位層からの要求処理
62 下位層からの応答処理
63,64 待ちキュー
65,66 仕掛りリスト
67,68 仕掛り数カウンタ
69 I/O処理数カウンタ
70 リビルド/コピーバック再開判定処理
74 リビルド/コピーバック要求処理
34−1 ライトバック要求処理
80 負荷確認処理

Claims (6)

  1. ホストから依頼されたI/O要求と内部で発生したI/O要求とに応じて、接続された複数のデイスク装置をアクセスし、I/O要求を実行するストレージシステムにおいて、
    RLU(RAID 論理ユニット)単位で、前記複数のデイスク装置のデータの一部を格納するキャッシュメモリと、
    前記RLU単位の前記I/O要求に応じたコマンド処理を実行するコマンド処理部と、
    前記処理結果に応じて、前記デイスク装置に、前記ホストI/O要求によるアクセス要求を、前記内部I/O要求によるアクセス要求より優先して、発行するアクセス実行部とを有し、
    前記コマンド処理部は、
    前記ホストI/O要求に対し、前記キャッシュメモリを参照し、前記複数のデイスク装置へのアクセスが必要かを判定し、前記アクセスが必要な前記ホストI/O要求と、前記キャッシュメモリを利用するための前記内部I/O要求とのアクセス要求を前記アクセス実行部に発行し、
    前記アクセス実行部は、
    前記デイスク装置に発行し、且つ前記デイスク装置がアクセス処理を完了していない仕掛り数を、前記ホストI/O要求によるアクセス要求による数と、前記内部I/O要求によるアクセス要求による数とを個別に管理する仕掛り部と、
    前記発行された前記RLU単位でのアクセス要求を、前記デイスク装置単位のコマンドに分割し、前記複数のデイスク装置をアクセスする制御部とを有し、
    前記仕掛り部を参照して、前記優先発行する前記ホストI/O要求によるアクセス要求の仕掛り数が、前記ホストI/O要求の制限値を越えた場合に、前記内部I/O要求によるアクセス要求を、前記内部I/O要求の仕掛り数の制限値まで、前記制御部に発行する
    ことを特徴とするストレージシステム。
  2. 前記アクセス実行部は、前記アクセス要求を所定数発行する毎に、リビルド又はコピーバックの少なくとも一方のアクセス要求を発行する
    ことを特徴とする請求項1のストレージシステム。
  3. 前記コマンド処理部は、所定のスケジュールに従う、前記内部I/O要求であるライトバック要求処理を行うとともに、
    前記ライトバック要求処理は、前記アクセス実行部から前記デイスク装置を論理的に示すRLU単位の負荷状況を受け、前記内部I/O要求の負荷の少ないRLUを優先してライトバック要求を発行する
    ことを特徴とする請求項1のストレージシステム。
  4. ホストから依頼されたI/O要求と内部で発生したI/O要求とに応じて、接続された複数のデイスク装置をアクセスし、I/O要求を実行するためのコントローラのデイスク負荷バランス制御方法において、
    前記コントローラが、前記ホストI/O要求に対し、RLU(RAID 論理ユニット)単位で、前記複数のデイスク装置のデータの一部を格納するキャッシュメモリを参照し、前記複数のデイスク装置へのアクセスが必要かを判定し、前記アクセスが必要な前記ホストI/O要求と、前記キャッシュメモリを使用するための前記内部I/O要求とのアクセス要求をアクセス実行部に発行するステップと、
    前記コントローラの前記アクセス実行部が、前記I/O要求に応じて、前記デイスク装置に、前記ホストI/O要求によるアクセス要求を、前記内部I/O要求によるアクセス要求より優先して発行するステップと、
    前記コントローラの前記アクセス実行部が、前記デイスク装置に発行し、且つ前記デイスク装置がアクセス処理を完了していない仕掛り数を、前記ホストI/O要求によるアクセス要求による数と、前記内部I/O要求によるアクセス要求とによる数とを個別に管理するステップとを有し
    前記発行ステップは、
    前記個別に管理された仕掛り数を参照して、前記優先発行する前記ホストI/O要求によるアクセス要求の仕掛り数が、前記ホストI/O要求の制限値を越えた場合に、前記内部I/O要求によるアクセス要求を、前記内部I/O要求の仕掛り数の制限値まで発行するステップと、
    前記発行された前記RLU単位でのアクセス要求を、前記デイスク装置単位のコマンドに分割し、前記複数のデイスク装置をアクセスするステップとを有する
    ことを特徴とするデイスク負荷バランス制御方法。
  5. 前記コントローラが、前記アクセス要求を所定数発行する毎に、リビルド又はコピーバックの少なくとも一方のアクセス要求を発行するステップを更に有する
    ことを特徴とする請求項4のデイスク負荷バランス制御方法。
  6. 前記アクセス実行部は、
    前記ホストI/O要求によるアクセス要求の仕掛り数をカウントする第1のカウンタと、
    前記内部I/O要求によるアクセス要求の仕掛り数をカウントする第2のカウンタと、
    前記ホストI/O要求によるアクセス要求の仕掛り数の制限値を越えた前記ホストI/O要求によるアクセス要求を待たせるための第1の待ちキューと、
    前記内部I/O要求によるアクセス要求の仕掛り数の制限値を越えた前記内部I/O要求によるアクセス要求を待たせるための第2の待ちキューとを有し、
    前記I/O要求が、前記ホストI/O要求によるアクセス要求であるか前記内部I/O要求によるアクセス要求であるかを判定し、前記判定結果に応じて、前記第1又は第2のカウンタを参照して、前記仕掛り数を個別に制限する
    ことを特徴とする請求項1のストレージシステム。
JP2003294058A 2003-03-07 2003-08-18 ストレージシステム及びそのデイスク負荷バランス制御方法 Expired - Lifetime JP4322068B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003294058A JP4322068B2 (ja) 2003-03-07 2003-08-18 ストレージシステム及びそのデイスク負荷バランス制御方法
US10/788,218 US7159071B2 (en) 2003-03-07 2004-02-26 Storage system and disk load balance control method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003061517 2003-03-07
JP2003294058A JP4322068B2 (ja) 2003-03-07 2003-08-18 ストレージシステム及びそのデイスク負荷バランス制御方法

Publications (2)

Publication Number Publication Date
JP2004295860A JP2004295860A (ja) 2004-10-21
JP4322068B2 true JP4322068B2 (ja) 2009-08-26

Family

ID=33421420

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003294058A Expired - Lifetime JP4322068B2 (ja) 2003-03-07 2003-08-18 ストレージシステム及びそのデイスク負荷バランス制御方法

Country Status (2)

Country Link
US (1) US7159071B2 (ja)
JP (1) JP4322068B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2565789A1 (en) 2011-08-31 2013-03-06 Fujitsu Limited RAID storage system and method for the parallel execution of a rebuild process

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4429780B2 (ja) * 2004-03-31 2010-03-10 富士通株式会社 記憶制御装置、制御方法、および制御プログラム。
US7277991B2 (en) * 2004-04-12 2007-10-02 International Business Machines Corporation Method, system, and program for prefetching data into cache
US20050240934A1 (en) * 2004-04-21 2005-10-27 Hewlett-Packard Development Company, L.P. Task management based on system utilization
JP4815825B2 (ja) * 2005-03-10 2011-11-16 日本電気株式会社 ディスクアレイ装置及びその再構築方法
US20060236149A1 (en) * 2005-04-14 2006-10-19 Dell Products L.P. System and method for rebuilding a storage disk
JP2006318012A (ja) * 2005-05-10 2006-11-24 Hitachi Ltd ディスク制御システム
US8745326B2 (en) * 2005-06-02 2014-06-03 Seagate Technology Llc Request priority seek manager
JP4817783B2 (ja) 2005-09-30 2011-11-16 富士通株式会社 Raidシステム及びそのリビルド/コピーバック処理方法
JP4472617B2 (ja) 2005-10-28 2010-06-02 富士通株式会社 Raidシステム、raidコントローラ及びそのリビルド/コピーバック処理方法
US8924467B2 (en) * 2005-12-28 2014-12-30 International Business Machines Corporation Load distribution in client server system
JP2008059315A (ja) * 2006-08-31 2008-03-13 Hitachi Ltd 負荷分散方法及び計算機システム
JP2008083845A (ja) * 2006-09-26 2008-04-10 Hitachi Ltd ストレージ装置及びストレージシステム並びにデータ読出し方法
JP2008083939A (ja) * 2006-09-27 2008-04-10 Hitachi Ltd 計算機システム及び動的ポート割当方法
US7711894B1 (en) * 2007-02-12 2010-05-04 Juniper Networks, Inc. Dynamic disk throttling in a wide area network optimization device
US7849259B1 (en) * 2007-02-14 2010-12-07 Marvell International Ltd. Disk controller response handler for write commands
JP2008250961A (ja) * 2007-03-30 2008-10-16 Nec Corp 記憶媒体の制御装置、データ記憶装置、データ記憶システム、方法、及び制御プログラム
JP2008268994A (ja) * 2007-04-16 2008-11-06 Hitachi Ltd 計算機システム、負荷分散方法及び管理計算機
US7870335B2 (en) * 2007-06-26 2011-01-11 Seagate Technology Llc Host adaptive seek technique environment
US7797487B2 (en) * 2007-06-26 2010-09-14 Seagate Technology Llc Command queue loading
US9329800B2 (en) * 2007-06-29 2016-05-03 Seagate Technology Llc Preferred zone scheduling
US8234444B2 (en) * 2008-03-11 2012-07-31 International Business Machines Corporation Apparatus and method to select a deduplication protocol for a data storage library
JP2010009442A (ja) * 2008-06-30 2010-01-14 Fujitsu Ltd ディスクアレイシステム、ディスク制御装置及びその再構築処理方法
JP5056668B2 (ja) * 2008-08-14 2012-10-24 富士通株式会社 データ転送装置、およびデータ転送方法
WO2010033877A1 (en) * 2008-09-19 2010-03-25 Oracle International Corporation Storage-side storage request management
US8024498B2 (en) 2008-12-15 2011-09-20 International Business Machines Corporation Transitions between ordered and ad hoc I/O request queueing
JP4843687B2 (ja) * 2009-01-09 2011-12-21 富士通株式会社 バックアップ制御装置、ストレージシステム、バックアップ制御プログラム及びバックアップ制御方法
JP2010211428A (ja) * 2009-03-10 2010-09-24 Fujitsu Ltd ストレージ装置、中継装置、及びコマンド発行制御方法
US9886211B2 (en) 2009-10-07 2018-02-06 International Business Machines Corporation Selecting a virtual tape server in a storage system to provide data copy while minimizing system job load
US8478945B2 (en) 2010-02-01 2013-07-02 International Business Machines Corporation Dynamic management of destage tasks in a storage controller
JP2011238038A (ja) * 2010-05-11 2011-11-24 Nec Corp ディスクアレイ装置、ディスクアレイ装置制御方式、及び、ディスクアレイ装置制御プログラム
CN102754090B (zh) * 2010-06-17 2015-09-16 株式会社日立制作所 包括多个微处理器的存储系统以及用于在该存储系统中分担处理的方法
JP2012018481A (ja) * 2010-07-06 2012-01-26 Fujitsu Ltd ディスクアレイ装置およびディスクアレイ制御方法
US8468318B2 (en) * 2010-09-15 2013-06-18 Pure Storage Inc. Scheduling of I/O writes in a storage environment
US9122606B2 (en) 2011-11-21 2015-09-01 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for distributing tiered cache processing across multiple processors
JP5899893B2 (ja) * 2011-12-19 2016-04-06 富士通株式会社 ストレージ装置、コマンド実行制御方法、およびプログラム
US8751861B2 (en) 2012-02-08 2014-06-10 Lsi Corporation System and method for improved rebuild in RAID
JP5987498B2 (ja) 2012-06-27 2016-09-07 富士通株式会社 ストレージ仮想化装置、ストレージ仮想化方法及びストレージ仮想化プログラム
JP6051617B2 (ja) * 2012-06-28 2016-12-27 富士通株式会社 制御装置、ストレージ装置、制御方法及び制御プログラム
JP6060277B2 (ja) * 2012-12-26 2017-01-11 華為技術有限公司Huawei Technologies Co.,Ltd. ディスクアレイ・フラッシュ方法及びディスクアレイ・フラッシュ装置
JP6213130B2 (ja) * 2013-10-09 2017-10-18 富士通株式会社 ストレージ制御装置、ストレージ制御プログラム及びストレージ制御方法
JP2015111334A (ja) * 2013-12-06 2015-06-18 富士通株式会社 ストレージ制御装置、ストレージ制御プログラム、およびストレージ制御方法
US9542346B2 (en) * 2014-01-14 2017-01-10 Netapp, Inc. Method and system for monitoring and analyzing quality of service in a storage system
JP6366013B2 (ja) * 2014-04-30 2018-08-01 パナソニックIpマネジメント株式会社 画像記録装置及び画像記録方法
JP6369235B2 (ja) 2014-09-02 2018-08-08 富士通株式会社 ストレージ制御装置およびストレージ制御プログラム
US10481805B1 (en) * 2015-06-30 2019-11-19 EMC IP Holding Company LLC Preventing I/O request timeouts for cloud-based storage systems
JP2017027479A (ja) * 2015-07-24 2017-02-02 富士通株式会社 データ読出し方法及び情報処理システム
US10241725B2 (en) 2015-10-30 2019-03-26 International Business Machines Corporation Workload balancing in a distributed storage system
US10268714B2 (en) 2015-10-30 2019-04-23 International Business Machines Corporation Data processing in distributed computing
WO2017168690A1 (ja) * 2016-03-31 2017-10-05 株式会社日立製作所 ストレージ装置、及び方法
US10048874B1 (en) * 2016-06-29 2018-08-14 EMC IP Holding Company LLC Flow control with a dynamic window in a storage system with latency guarantees
JP6957845B2 (ja) * 2016-09-13 2021-11-02 富士通株式会社 ストレージ制御装置及びストレージ装置
US10860214B2 (en) * 2017-11-17 2020-12-08 Stormagic Limited Systems and methods for memory load balancing
CN111858399B (zh) * 2019-04-30 2023-11-24 贵州白山云科技股份有限公司 一种数据传输方法、装置、计算机可读存储介质和计算机设备
US11163657B2 (en) * 2020-02-13 2021-11-02 EMC IP Holding Company LLC Method and apparatus for avoiding redundant data recovery

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS615332A (ja) * 1984-06-06 1986-01-11 Fujitsu Ltd 磁気デイスク装置の制御方式
JP3024686B2 (ja) * 1991-03-08 2000-03-21 日本電信電話株式会社 記憶サブシステム
JPH05233388A (ja) 1992-02-19 1993-09-10 Chubu Nippon Denki Software Kk ディスク装置の負荷分散情報作成装置
JPH0863298A (ja) 1994-08-18 1996-03-08 Hitachi Ltd ディスクアレイ装置
JP3183781B2 (ja) * 1994-09-20 2001-07-09 富士通株式会社 ライブラリ装置及びライブラリシステム
JPH09114599A (ja) * 1995-10-13 1997-05-02 Matsushita Electric Ind Co Ltd ディスクスケジューリング装置
US6073218A (en) * 1996-12-23 2000-06-06 Lsi Logic Corp. Methods and apparatus for coordinating shared multiple raid controller access to common storage devices
US6195724B1 (en) * 1998-11-16 2001-02-27 Infineon Technologies Ag Methods and apparatus for prioritization of access to external devices
US6591338B1 (en) * 1999-05-03 2003-07-08 3Ware, Inc. Methods and systems for mirrored disk arrays
JP3440219B2 (ja) * 1999-08-02 2003-08-25 富士通株式会社 入出力装置及びディスク・タイムシェアリング方法
CA2284947C (en) * 1999-10-04 2005-12-20 Storagequest Inc. Apparatus and method for managing data storage
JP3975684B2 (ja) 2000-03-29 2007-09-12 富士通株式会社 ディスク入出力スケジュール装置および方法
JP2002023962A (ja) 2000-07-07 2002-01-25 Fujitsu Ltd ディスク装置及び制御方法
JP3987295B2 (ja) * 2001-03-19 2007-10-03 株式会社東芝 処理最適化方法、コンピュータ、及び記憶装置
JP4049297B2 (ja) * 2001-06-11 2008-02-20 株式会社ルネサステクノロジ 半導体記憶装置
JP4318914B2 (ja) * 2002-12-26 2009-08-26 富士通株式会社 ストレージシステム及びその動的負荷管理方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2565789A1 (en) 2011-08-31 2013-03-06 Fujitsu Limited RAID storage system and method for the parallel execution of a rebuild process
US9015434B2 (en) 2011-08-31 2015-04-21 Fujitsu Limited Storage system, and apparatus and method for controlling storage

Also Published As

Publication number Publication date
US20040230742A1 (en) 2004-11-18
US7159071B2 (en) 2007-01-02
JP2004295860A (ja) 2004-10-21

Similar Documents

Publication Publication Date Title
JP4322068B2 (ja) ストレージシステム及びそのデイスク負荷バランス制御方法
JP4318914B2 (ja) ストレージシステム及びその動的負荷管理方法
US6665740B1 (en) Logical volume selection in a probability-based job scheduler
US7555599B2 (en) System and method of mirrored RAID array write management
US8627040B2 (en) Processor-bus-connected flash storage paging device using a virtual memory mapping table and page faults
JP4922496B2 (ja) I/o要求に優先順位を与える方法
US7577787B1 (en) Methods and systems for scheduling write destages based on a target
US7321955B2 (en) Control device, control method and storage medium recording a control program for controlling write-back schedule of data from cache memory to a plurality of storage devices
EP2686774B1 (en) Memory interface
EP1323045B1 (en) Dynamic priority external transaction system
US6845426B2 (en) Disk cache control for servicing a plurality of hosts
US6799228B2 (en) Input/output control apparatus, input/output control method and information storage system
US9465745B2 (en) Managing access commands by multiple level caching
JP2007102436A (ja) ストレージ制御装置およびストレージ制御方法
JP2007102314A (ja) ディスクキャッシュ制御装置
JPH05189316A (ja) ディスクキャッシュ制御方法
US8364893B2 (en) RAID apparatus, controller of RAID apparatus and write-back control method of the RAID apparatus
US7003637B2 (en) Disk array device with utilization of a dual-bus architecture dependent on data length of cache access requests
JP2008192020A (ja) Raid制御装置及びその制御方法
US5918243A (en) Computer mechanism for reducing DASD arm contention during parallel processing
JP3793682B2 (ja) コマンドキューイングの機能を持つ記憶装置
US7143209B2 (en) Storage control apparatus and control method thereof
US20240028202A1 (en) Optimizing Backend Workload Processing in a Storage System
JP5333932B2 (ja) ディスクアレイ装置及びその制御方法
JPH11134252A (ja) 情報記憶サブシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051026

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080610

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080811

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090130

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090602

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090602

R150 Certificate of patent or registration of utility model

Ref document number: 4322068

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120612

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120612

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130612

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130612

Year of fee payment: 4

EXPY Cancellation because of completion of term