JP4318914B2 - ストレージシステム及びその動的負荷管理方法 - Google Patents
ストレージシステム及びその動的負荷管理方法 Download PDFInfo
- Publication number
- JP4318914B2 JP4318914B2 JP2002377977A JP2002377977A JP4318914B2 JP 4318914 B2 JP4318914 B2 JP 4318914B2 JP 2002377977 A JP2002377977 A JP 2002377977A JP 2002377977 A JP2002377977 A JP 2002377977A JP 4318914 B2 JP4318914 B2 JP 4318914B2
- Authority
- JP
- Japan
- Prior art keywords
- request
- load
- host
- command
- storage 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/387—Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2206/00—Indexing scheme related to dedicated interfaces for computers
- G06F2206/10—Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
- G06F2206/1012—Load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Debugging And Monitoring (AREA)
Description
【発明の属する技術分野】
本発明は、磁気デイスク等のストレージ装置を使用してデータの入出力を行うストレージシステム及びその動的負荷管理方法に関し、特に、入出力コマンドの処理量を管理して、コマンド処理の滞留を防止するためのストレージシステム及びその動的負荷管理方法に関する。
【0002】
【従来の技術】
磁気デイスク、光磁気デイスク、光デイスク等の記憶媒体を利用したストレージ装置では、データ処理装置の要求で、記憶媒体を実アクセスする。データ処理装置が、大容量のデータを使用する場合には、複数のストレージ機器と制御装置とを備えたストレージシステムを利用する。
【0003】
このようなストレージシステムでは、大量のアクセスに対し、システム内でリソース配分をダイナミックに最適化し、上位装置からのアクセスに対し、安定な性能を実現するDTC(Dynamic Traffic Control)機能を備えている。図19は、従来技術の構成図、図20は、従来技術の説明図である。
【0004】
図19に示すように、ストレージコントローラ100は、ホストI/Oコマンドに応じて、複数のストレージ装置(磁気デイスク装置)110をアクセス制御する。このストレージコントローラ100は、コマンド処理機能102、DTC機能104、デイスクドライバ106、デバイスアダプタ108を有する。コマンド処理機能102は、ホストI/Oコマンドと内部I/Oコマンドを受ける。
【0005】
内部I/Oコマンドは、ホストI/Oのバックグラウンドで実行するI/O制御であり、例えば、ホストからの連続ブロック群のコピー指示に応じて、ホストI/Oのバックグラウンドで、順次コピーを行うOPC(One Point Copy)や、RAID再構築のリビルドや、データバックアップのためのコピーバック等がある。
【0006】
DTC機能104は、ドライバ106、デバイスアダプタ108を介しストレージ装置110に発行するコマンド数を制御する。図20に示すように、従来技術では、DTC機能104は、各コマンドの応答時間(ストレージ装置110へのコマンド発行からストレージ装置110から応答を受けるまでの時間)を測定し、応答時間の平均を計算し、この平均応答時間が、所定時間より早い場合には、単位時間の発行コマンド数を増加し、所定時間より遅い場合には、単位時間の発行コマンド数を減少する。決定された発行コマンド数を越えたコマンドは、キュー待ちする。
【0007】
コマンド処理機能102は、ホストI/O(ランダム、シーケンシャル)の受け入れ制限を付けず、優先して処理し、DTC104に渡す。内部I/Oは、ホストI/Oのバックグラウンドで処理し、DTC104に渡す。DTC104は、ドライバ106、デバイスアダプタ108を介し、ストレージ装置110に発行コマンド数を越えない数のコマンドを発行する。
【0008】
このように、DTC104は、ストレージ装置110のレスポンス時間に応じて、起動数(コマンド数)を動的に変更し、I/Oコマンドの実行の最適化を行っていた。
【0009】
【発明が解決しようとする課題】
従来技術では、ホストI/Oを全て受け入れているため、システム性能以上のホストI/Oを受け付けた場合には、内部のタイムアウト時間(例えば、25秒)内に、ホストI/Oを実行できず、ホストにタイムアウトで返答していた。このため、ホストは、このI/O要求の実行待ちの状態が長くなり、且つタイムアウトに応じて、その時点で再度、ホストI/Oを発する必要があった。
【0010】
又、OPC等の内部I/Oが、コマンド処理部102で、内部バッファ領域の排他権(Extent排他という)を獲得したまま、DTC104で待たされることがあり、後発のホストI/Oコマンドが、Extent排他を獲得できず、スリープし、最悪の場合には、内部のタイムアウトが同様に発生してしまうという問題もあった。
【0011】
更に、従来のDTCが、過去のストレージ装置(デイスク装置)からのレスポンス時間のみで新たな起動数を決定しているため、一時的にデイスク装置からのレスポンスの遅延が発生した場合には、デイスク装置への新たなコマンド発行を必要以上に絞ってしまうという問題もあり、ストレージ装置の性能をフルに使用することが困難であった。
【0012】
従って、本発明の目的は、ホストI/Oの受け付けを調整して、受け付けたホストI/Oの処理遅延によるタイムアウトを防止するためのストレージシステム及びその動的負荷管理方法を提供することにある。
【0013】
又、本発明の他の目的は、システム性能以上のホストI/Oのコマンド処理の受け付けを抑止し、受け付けたホストI/Oの処理遅延によるタイムアウトを防止するためのストレージシステム及びその動的負荷管理方法を提供することにある。
【0014】
更に、本発明の他の目的は、Extent排他前に負荷管理を行い、ホストI/O処理を妨げずに、受け付けたホストI/Oの処理遅延によるタイムアウトを防止するためのストレージシステム及びその動的負荷管理方法を提供することにある。
【0015】
更に、本発明の他の目的は、ストレージ装置に着目した流量管理を行い、ハード性能以上のストレージ装置へのコマンド発行を抑止し、ストレージ装置の性能をフルに使用するためのストレージシステム及びその動的負荷管理方法を提供することにある。
【0016】
【課題を解決するための手段】
この目的の達成のため、本発明のストレージシステムは、複数のストレージ装置と、前記複数のストレージ装置をアクセスするためのデバイスアダプターと、前記ストレージ装置のデータの一部を保持するキャッシュメモリと、RAID構成のRaid論理ユニット単位でアクセスする前記ホストI/O要求に応じたコマンド処理を実行し、前記処理結果に応じて、前記ストレージ装置をアクセスするアクセス実行処理を実行するコントローラとを有し、前記コントローラは、前記ホストI/O要求を解読し、解読結果により、前記キャッシュメモリを参照して、前記ホストI/O要求に対する応答を行うとともに、前記キャッシュメモリで処理できない前記ホストI/O要求に対し、指定された前記ストレージ装置へのアクセス依頼を行うコマンド処理を実行し、前記アクセス依頼されたI/O要求の要求内容を解釈し、前記Raid論理ユニットのストレージ装置を特定し、アクセスコマンドを発行するアクセス実行処理を実行し、前記コントローラは、前記アクセス依頼された前記ホストI/O要求の要求パラメータから、要求転送長とコマンド種別とを用いて、前記Raid論理ユニットの負荷を予測するとともに、前記ストレージ装置の実行中のコマンド数と実行中のデータ転送数とから、前記ストレージ装置の実際の負荷を、前記ストレージ装置毎に計算し、前記予測負荷と前記実際の負荷とから前記Raid論理ユニット毎のシステム負荷を計算し、前記システム負荷が所定の閾値を越えた場合に、前記ホストから依頼されたI/O要求の受け付けを抑止する。
【0017】
本発明の動的システム負荷管理方法は、コントローラが、RAID構成のRaid論理ユニット単位でアクセスする前記ホストI/O要求を解読し、解読結果により、複数の前記ストレージ装置のデータの一部を保持するキャッシュメモリを参照して、前記ホストI/O要求に対する応答を行うとともに、前記キャッシュメモリで処理できない前記ホストI/O要求に対し、指定された前記ストレージ装置へのアクセス依頼を行うコマンド処理ステップと、前記コントローラが、前記アクセス依頼されたI/O要求の要求内容を解釈し、前記Raid論理ユニットのストレージ装置を特定し、アクセスコマンドを発行するアクセス実行ステップと、前記コントローラが、前記アクセス依頼された前記ホストI/O要求の要求パラメータから、要求転送長とコマンド種別とを用いて、前記Raid論理ユニットの負荷を予測するとともに、前記ストレージ装置の実行中のコマンド数と実行中のデータ転送数とから、前記ストレージ装置の実際の負荷を、前記ストレージ装置毎に計算し、前記予測負荷と前記実際の負荷とから前記Raid論理ユニット毎のシステム負荷を計算するシステム負荷計算ステップと、前記コントローラが、前記システム負荷が所定の閾値を越えた場合に、前記ホストから依頼されたI/O要求の受け付けを抑止するステップとを有する。
【0018】
本発明では、従来、ホストI/O要求を管理していないかったが、ストレージシステムのシステム負荷を越えるホストI/O要求に対しては、ホストI/O要求を処理せず、エラー応答し、ホストにコマンドのリトライを行わせるようにした。これにより、システム内でのコマンド処理の停滞を抑止する。又、システム負荷を、アクセス実行前と後との両方の負荷から計算するため、正確にシステム自体の負荷を管理できる。
【0019】
又、本発明では、好ましくは、前記コマンド処理部は、前記ホストI/O要求と内部I/O要求とを、前記システム負荷に従い、調整し、調整されたI/O要求の解析、資源獲得処理を行い、前記アクセス実行部を起動する。これにより、内部資源獲得前に、I/O要求の調整を行うことができ、ホストI/Oの処理を妨げずに、より早く、タイムアウトエラーの発生を防止できる。
【0020】
又、本発明では、好ましくは、前記コマンド処理部は、前記ホストI/O要求を調整する第1のI/O制御モジュールと、前記内部I/O要求を調整する第2のI/O制御モジュールとを有し、前記システム負荷が所定の閾値を越えた場合に、前記ホストから依頼されたI/O要求の受け付けを抑止するとともに、前記内部I/O要求を待ち合わせる。
【0021】
これにより、ホストI/Oの調整と、内部I/Oの調整を別に分けたので、ホストI/O要求を妨げることなく、内部I/O要求を早期に実行できる。
【0022】
更に、本発明では、好ましくは、前記コマンド処理部は、前記I/O要求のパラメータから前記ストレージ装置を含むアクセス実行部の処理時間を予測し、前記予測負荷を得るとともに、前記コマンド処理結果から前記ストレージ装置を含むアクセス実行部の処理時間を計算し、前記実際の負荷を得る。
【0023】
これにより、アクセス実行部でのハード使用量が不確定な段階で、予測負荷を予測できる。
【0024】
更に、本発明では、好ましくは、前記コマンド処理部は、前記ホストI/O要求を優先するとともに、前記システム負荷から、前記内部I/O処理の前記システム負荷に対する割合を制御する。これにより、内部I/O要求を、早期に処理できる。
【0025】
更に、本発明では、好ましくは、前記コマンド処理部は、前記実際の負荷に応じて、前記アクセス実行部のコマンド処理量を制御する。これにより、アクセス実行部のハード性能以上のコマンド発行を抑止でき、ストレージ装置のタイムアウトを防止できる。
【0026】
更に、本発明では、前記コマンド処理部は、ハードウェアで規定される前記アクセス実行部の単位処理時間と、前記I/O要求の処理数とから前記負荷を予測する。これにより、負荷予測が可能となり、且つ精度も高い。
【0027】
更に、本発明では、前記ストレージ装置のデータの一部を保持するキャッシュメモリを更に設け、前記コマンド処理部は、前記ホストI/O要求に対し、キャッシュメモリを参照して、前記キャッシュメモリで処理できないホストI/Oに対し、前記システム負荷が所定の閾値を越えた場合に、前記ホストから依頼されたI/O要求の受け付けを抑止する。
【0028】
キャッシュヒットのI/O要求を除外することにより、より正確な、ホストI/O要求の管理が可能となる。
【0029】
更に、本発明では、好ましくは、前記コマンド処理部は、前記ホストI/O要求に対し、キャッシュメモリを参照して、前記キャッシュメモリで処理するフロントモジュールと、前記キャッシュメモリで処理できないホストI/Oと内部I/Oに対し、前記システム負荷が所定の閾値を越えた場合に、前記ホストI/O要求の受け付けを抑止するIO制御モジュールと、前記IO制御モジュールで調整されたI/O要求の解析及び資源獲得を行うバックエンドモジュールとを有する。
【0030】
これにより、コマンド処理の流れの中で、容易に、ホストI/O要求の管理が可能となる。
【0031】
更に、本発明では、好ましくは、前記コマンド処理部は、前記依頼されたI/O要求の前記アクセス実行部の負荷を予測する流量予測モジュールと、前記アクセス実行部の実際の負荷を管理する実負荷管理モジュールと、前記予測負荷と前記実際の負荷とからシステム負荷を計算する負荷統計モジュールとを有する。これにより、システム負荷の計算を高速且つ容易に実行できる。
【0032】
【発明の実施の形態】
以下、本発明の実施の形態を、ストレージシステム、動的システム負荷管理構成、システム負荷管理、動的システム負荷制御、閾値調整処理、他の実施の形態の順で説明する。
【0033】
[ストレージシステム]
図1は、本発明の一実施の形態のストレージシステムの構成図であり、磁気デイスクを使用したRAID(Redundant Arrays of Inexpensive Disk)システムを示す。図1に示すように、ストレージシステムは、一対の磁気デイスクコントローラ(以下、コントローラという)1、2と、この一対のコントローラ1、2にFC_AL(Fiber Channel Arbitrated Loop)4−1,4−2で接続された多数のデバイスエンクロージャー5−1〜5−8とからなる。
【0034】
このデバイスエンクロージャー5−1〜5−8の各々は、15台の磁気デイスク装置(ストレージ装置)50を内蔵する。各磁気デイスク装置50は、一対のFC_AL4−1、4−2に接続される。
【0035】
コントローラ1、2は、直接又はネットワーク機器を介し、クライアントやサーバー等のホスト3に接続され、ホスト3の大量のデータを、RAIDデイスクドライブ(磁気デイスク装置)へ高速かつ、ランダムに読み書きが出来るシステムである。
【0036】
一対のコントローラ1、2は、同一の構成を有する。従って、コントローラ1の構成を説明し、コントローラ2の構成の説明は省略する。コントローラ1は、CA(Channel Adapter)11、12と、CM(Centralized Module)10、15〜19と、DA(Device Adapter)13、14のファンクションモジュールによって構成されている。
【0037】
CA(Channel Adapter)11、12は、ホストを結ぶホスト・インタフェースの制御をつかさどる回路であり、例えば、ファイバーチャネル回路(FC)やDMA(Direct Memory Access)回路等で構成される。DA(Device Adapter)13、14は、デイスクデバイス(磁気デイスク装置)50を制御するため、デイスクデバイスとコマンド、データのやり取りを行う回路であり、例えば、ファイバーチャネル回路(FC)やDMA回路等で構成される。
【0038】
CM(Centralized Module)は、CPU10と、メモリー(RAM)15と、フラッシュメモリ(プログラムメモリ)17と、IOブリッジ回路18とを有する。メモリー15は、バッテリーでバックアップされ、その一部が、キャッシュメモリ16として使用される。
【0039】
CPU10は、内部バス19を介し、メモリー15、フラッシュメモリ17、IOブリッジ回路18に接続される。このメモリー15は、CPU10のワーク領域に使用され、フラッシュメモリ17は、CPU10が実行するプログラムを格納する。このプログラムとして、カーネル、BIOS(Basic Input/Output System),ファイルアクセスプログラム(リード/ライトプログラム)、RAID管理プログラム等を格納する。CPU10は、このプログラムを実行し、リード/ライト処理、RAID管理処理等を実行する。
【0040】
一対のPCI(Personal Computer Interface)バス20、21は、CA11,12と、DA13,14とを接続するとともに、IOブリッジ回路18を介し、CPU10、メモリー15を接続する。更に、PCIバス20、21には、PCI−ノードリンクブリッジ回路30が接続される。
【0041】
コントローラ1のPCI−ノードリンクブリッジ回路30は、コントローラ2のPCI−ノードリンクブリッジ回路と接続され、コントローラ1,2間のコマンド、データの交信を行う。
【0042】
例えば、コントローラ1は、デバイスエンクロージャー5−1〜5−4のデイスク装置50を担当し、コントローラ2は、デバイスエンクロージャー5−5〜5−8のデイスク装置50を担当する。図1では、デバイスエンクロージャー5−1〜5−4のデイスク装置50と、デバイスエンクロージャー5−5〜5−8のデイスク装置50とが、RAID5の構成を有する。
【0043】
キャッシュメモリ16は、各々、担当するデイスク装置のデータの一部を格納し、ホストからのライトデータを格納する。CPU10は、CA11,12を介しホストからのリード要求を受けて、キャッシュメモリ16を参照し、物理デイスクへのアクセスが必要かを判定し、必要であれば、デイスクアクセス要求をDA13,14に要求する。
【0044】
又、CPU10は、ホストからのライト要求を受けて、ライトデータをキャッシュメモリ16に書込み、且つ内部でスケジュールされるライトバック等をDA13,14に要求する。
【0045】
[動的システム負荷管理構成]
図2は、図1のCPU10が実行するIOコマンド処理モジュールと負荷の関係図、図3は、図2のIOコマンド処理モジュールの構成図である。
【0046】
図2に示すように、IOコマンド処理は、大きく分けて、ストレージ装置へのアクセスが必要かを判定するフロントエンド処理モジュール40、ストレージ装置へのアクセスの処理を行うバックエンド処理モジュール44と、バックエンド処理モジュール44へのIOコマンドの受け付け量を制御するI/O制御モジュール42とからなる。フロントエンド処理モジュール40は、キャッシュメモリ16(図1参照)の参照、リード、ライトを行うキャッシュ制御モジュール48を有する。
【0047】
このバックエンド処理モジュール44に対する負荷は、ホストI/Oによるものと、内部(ローカル)I/Oによるものである。ホスト3からのI/Oコマンドによるものとしては、ライトコマンド実行後のライトバック81(キャッシュからのライトバック)のコマンド、プリフェッチ82(リードされたデータの近辺のデータを前もってステージングする)のコマンド、ホストI/Oコマンド83である。
【0048】
内部コマンド(ローカルコマンド)としては、ホストからのコピー指示に応じて、順次コピーするワンポイントコピー80によるコマンド、外部指示に応じて、RAIDレベルを変更するマイグレーション84によるコマンド、デイスクデバイスの増設による容量拡張のためのLDE(Logical Device Expansion)85によるコマンド、物理デイスクのフォーマットをバックグラウンドで行うクイックフォーマット86によるコマンド、再構築やコピーバック87によるコマンドがある。
【0049】
本発明では、I/O制御モジュール42からの情報と、バックエンドモジュール44からの情報に基づき、システム負荷を計算し、I/O制御モジュール42を制御するシステム負荷管理モジュール46を設けている。図3により、詳細に説明する。
【0050】
図3に示すように、I/O制御モジュール42は、ホスト−IO(H−IO)制御モジュール60と、ローカルIO(L−IO)制御モジュール61とからなる。
【0051】
ホスト−IO制御モジュール60は、ホストI/Oの受付量を調節するモジュールである。フロントエンドモジュール40のキャッシュ制御モジュール48で、ミスヒット(対象データがキャッシュメモリ16に存在しない)と判断した後にコールされ、システム負荷管理モジュール46のシステム負荷状態を判断し、ホストI/Oの受付量を調節する。受付量の調節は、ホスト3へのBusy/Q-Full応答にて行う。
【0052】
又、ローカルIO制御モジュール61は、ローカルI/Oの起動量を調節するモジュールである。ローカルI/Oを受け付けた時点で、システム負荷管理モジュール46の負荷状態を判断し、起動量を調節する。起動量の調節は、待ち合わせ(キューイング)にて行う。
【0053】
I/O制御モジュール42で、起動許可されたI/Oコマンドに対し、BE(BackEnd)−ACB(Access Control Block)の獲得処理62で、BE−ACBが獲得され、バックエンドモジュール44へのアクセスが可能となる。バックエンドモジュール44では、I/Oコマンドの要求内容の解釈処理70を行い、この解釈(デイスクへのコマンド分割)に従い、制御用の各資源の獲得処理72が行われる。資源獲得処理72は、内部バッファ領域(Extent)、ローカルバッファ、ワークメモリ等を獲得し、排他権を設定する。
【0054】
この資源獲得後、Disk(デイスク)/FC(ファイバーチャネル)ドライバ73にデイスクコマンドを発行する。ドライバ73からPCIバス20(21)より、DA13(14)に、デイスクコマンドが送信され、更に、FC_AL4−1(4−2)を通して、磁気デイスク装置50にデイスクコマンドが伝達される。これにより、磁気デイスク装置50は、このデイスクコマンドを実行する。
【0055】
一方、システム負荷管理モジュール46は、流量予測モジュール74と、実負荷管理モジュール76と、負荷統計モジュール78とからなる。流量予測モジュール74は、ハード使用量の不確定な段階で、ハード使用量の予測を行う。即ち。流量予測モジュール74は、バックエンドモジュール44へI/Oを要求した時点で、I/O要求の各パラメータ(転送数/Read/Write/RAIDレベルなど)により一意な点数(ハード使用量の予測値)を計算し、負荷統計モジュール78に情報(予測値)を反映する。
【0056】
実負荷管理モジュール76は、ハード使用量が確定した段階で、ハード使用量(実負荷)を計算する。即ち、実負荷管理モジュール76は、デイスク装置50/FC_AL4−1(ハード)へ起動している転送量を管理し、ハードのタイムアウトが発生しないように起動調整する。またハードの実負荷情報を計算し、負荷統計モジュール78に反映する。
【0057】
負荷統計モジュール78は、RLU(Raid Logical Unit)単位で、負荷の統計を行い、過負荷状態に遷移したときに、H−IO/L−IO制御モジュール60,61に抑止通知を行う。
【0058】
図4乃至図6は、システム負荷管理の動作説明図である。
【0059】
図4に示すように、システム負荷管理モジュール46のバックエンドの流量管理によって、バックエンドモジュール44に発行できるコマンドサイズ上限が決定される。この上限以上のデータをバックエンドモジュール44に発行しないために、IO制御モジュール42により発行コマンドの制限を行う。IO制御モジュール42は、前述のように、ホストI/Oを制限するH−IO制御モジュール60と、ローカルI/Oを制限するL−IO制御モジュール61で構成されている。
【0060】
I/O要求を受け付けたIO制御モジュール42は、発行可能コマンドサイズ上限(閾値)をチェックし、閾値以下の場合には、即座にバックエンドモジュール44にコマンドを発行するが、閾値以上の場合には、前に出したコマンドが完了し、バックエンドモジュール44で実行中のコマンドサイズが閾値以下になるまで、コマンドの発行を抑止する。
【0061】
抑止方法としては、ホストI/Oの場合には、コマンド発行元に対し、エラー復帰する。エラーを受けたフロントエンドモジュール40は、ホスト3に対しQfull/BUSY等(設定による)を返す。ローカルI/Oの場合には、L−IO制御モジュール61内で、コマンドはキューにつながれ、待ちあわせを行う。この場合、コマンド再実行のタイミングは、前のコマンドの実行完了時(バックエンドモジュール44からの復帰時)に、再度閾値チェックを行った時となる。
【0062】
図5に示すように、ホストI/Oについては、ホストI/Oの受け付け時に、キャッシュヒットデータについては制限を行わず、即時実行する。キャッシュミスヒットデータや、ライトバックデータついては、最終的にライトバックデータとしてH−IO制御モジュール60を呼び出し、バックエンドモジュール44へのコマンド投入可否を問い合わせる。プリフェッチ、リードデータについても、同様にH−IO制御モジュール60を呼び出す。
【0063】
一方、図6に示すように、システム負荷が100%を超えた場合には、キャッシュシュ制御モジュール48からH−IO制御モジュール60への問い合わせに対し、BUSYエラー復帰する。キャッシュ制御モジュール48は、BUSYエラーによって、上位へのエラー復帰、ライトバックの待ち合わせなどの異常処理を行う。
【0064】
このように、システム負荷に従い、ホストI/Oについても管理を行うことで、システム性能以上のコマンド処理を受け付けない。又、Extent排他前に負荷管理を実施することで、ホストI/O処理を妨げない。
【0065】
更に、デイスク装置に着目した流量管理を実施し、ハード性能以上のデイスクコマンド発行を抑止する。内部のタイマ監視と連携し、システム負荷を管理することで、内部タイムアウト多発(パス切れ)を防止する。
【0066】
即ち、個々のホストI/O,ローカルI/O毎に負荷の重みを予測算出する管理と、ハード実負荷を、総合的に管理することで、システム全体の抱える負荷をリアルタイムに把握でき、システム性能をフルに引き出し,正確な負荷管理を実現できる。
【0067】
又、これらの問題以外のDTCの利点に関しては,そのまま継承する。即ち、ローカルI/Oを、より制限し、ホストI/O処理を極力妨げないようにする。システム負荷状態により、動的に内部I/O(デイスク装置へのコマンド)の発行数を制限する。更に、OPCとRebuild/Copybackについて、制御の違いを考慮し、別管理として負荷管理を実施する。
【0068】
[システム負荷管理]
次に、前述のシステム負荷管理機構を使用した動的システム負荷管理を具体的に説明する。図7は、図2及び図3のシステム負荷管理モジュール46の詳細構成図、図8は、図7の実負荷管理モジュール76のテーブル構成図、図9は、図7の総合(システム)負荷の説明図、図10は、図8の実負荷の説明図である。
【0069】
先ず、図3及び図7に示すように、流量予測モジュール74は、前述のように、ハード使用量の不確定の段階で、負荷予測を行う。この予測において、個々のI/O要求は、要求転送長、RAIDの種類、コマンド種別等により、使用するデイスク装置の位置やFC_ALループなどが異なり、また,ハードを占有する時間も異なる。
【0070】
そのため、ホストのアクセス単位であるRLU(Raid Logical Unit)単位の負荷を正確にもとめるには、個々のI/O要求が持つ、これら各ハードを、それぞれどのくらい使用するかという情報を、ハード資源単位(個々のデイスク装置/ファィバーチャネル単位)に統計を行い、各RLUを構成するハード資源の統計値を元に、RLU単位の負荷率を求める必要がある。
【0071】
しかし、I/O要求が、各ハードをそれぞれどのくらい使用するかという情報は、要求受け付け時点では確定せず、要求内容を解釈し、制御用の各資源を獲得し、ハード(デイスク装置)毎に、コマンドを分割して始めて判断できる。即ち、図3のデイスクドライバへ起動する直前に判明する。
【0072】
予測負荷は、I/O要求受け付け時点〜デイスクドライバ73へコマンド起動するまでの、ハード使用量が不確定なフェーズ(図3参照)で予測するため、要求転送長、RAIDの種類、コマンド種別などのパラメータから、ハード使用量を予測する方法にて統計を行う。
【0073】
なお、この予測値は、デイスクドライバ73へのコマンド起動前の実際のハード使用量が確定した時点で、実負荷管理モジュール76による実際のハード使用量へと変わり、統計に反映される。
【0074】
この流量予測モジュール74の予測値の統計は、RLU単位である。即ち、図9に示すように、あるRLUに起動された1つのコマンドだけを考えると、RLUを構成する一部のデイスク装置のみの起動であり、RLUとしてはアクセスの偏りが生じている。しかし、本来RAIDは,ストライピング手法を採用しており、特定デイスク装置へのアクセスの集中を防止し、負荷を分散させ、性能を向上させている。このため、フロントエンドモジュール40から複数のコマンドが起動され、バックエンドの負荷が上がる程、構成する各デイスク装置の負荷は分散し、均等化される。
【0075】
これを利用し、流量予測モジュール74は、個々のデイスク装置単位で統計を行うのではなく、低負荷時には多少の誤差が生じるが、煩雑な処理を行う必要がないRLU単位による統計を行い、処理の高速化を図る。そして、RLU単位に統計を行った場合、個々のデイスク装置の負荷は、RAID(RLU)を構成するデイスク装置の台数分の1という値で求める。
【0076】
流量予測モジュール74は、RLU単位の加点制を採用し、フロントエンドモジュール40から起動されたパラメータをもとに、負荷要素であるデイスクコマンド数とデータ転送数の予測値を求め、それを時間換算し、最終的に1μs当たり1点として統計を行う。具体的に、説明する。
【0077】
先ず、デイスクコマンド数によるハード使用量の予測値は、デイスク装置の平均アクセス時間×デイスク装置へのコマンド数から計算する。例えば、デイスク装置への1コマンドに対する平均アクセス時間を、5msとすると、デイスク装置への1コマンドは、5ms=5,000点に換算する。又、デイスク装置のコマンド数は、フロントエンドモジュール40から起動されたデータ数を元に求める。
【0078】
データ転送数によるハード使用量の予測値は、デイスク装置とFC_ALの転送能力から、1Blockの点数を予め求めておき、この点数に、転送ブロック数を掛けて、計算する。そして、I/O要求の予測負荷(予測点数)は、RLU単位で、以下のようにして計算する。
【0079】
予測点数=(デイスクコマンド数による予測点数+データ転送数による予測点数)/(RLU構成デイスク装置台数)
図1の実施の形態の構成での例により、更に、具体的に、説明する。先ず、転送能力を説明する。図1のCPU10からデイスク装置50へのルートは、PCIバス20,21、FC_AL4−1,デイスク装置50のルートである。各ルート要素の転送能力が、転送能力となる。
【0080】
先ず、図1のPCIバス能力の論理値は528MB/sであるが、実測では、約200MB/sである。図1の構成では、コントローラ当り2本のPCIバス20,21が実装されており、各PCIバスには5個のPCIデバイス11,12,13,14,30が接続されている。これを元に,1個のデバイス(DA13,14)が使用できる能力を計算すると、200MB/s÷5=40MB/sとなる。
【0081】
次に、バックエンドのFC_AL能力は200MB/sであるが、両コントローラから同時にアクセスした場合、2分の1の性能となるため、FC1ポート当り100MB/sとなる。ただし、PCI転送能力が性能ネックとなるため、FC能力は、PCI能力と同じ40MB/sとなる。
【0082】
更に、図1のデイスク装置単体のデータ転送能力は、約50MB/s〜80MB/sであるが、FC1ポートには1〜60台のデイスク装置50が接続されるため、デイスク装置1台当りのデータ転送能力は、FC能力を,接続(担当する)デイスク装置の台数で分割した能力と考える。
【0083】
そのため、デイスク装置1台当りのデータ転送能力は、40MB/s÷接続(担当する)デイスク装置の台数となる。例えば、2つのコントローラ1,2で、8つのデバイスエンクロージャー5−1〜5−8(デイスク装置120台)の構成時、FC1ポート当り担当するデイスク装置は通常30台のため、デイスク装置1台のデータ転送能力は、1.33MB/s(=40÷30)となる。
【0084】
又、デイスク装置50の1コマンド当りの処理時間は、前述の平均アクセス時間の5msとする。同様に、デイスク装置50のコマンド処理能力を考えると、デイスク装置50に、アクセス速度を向上するためのコマンド並び替え機能があるため、デイスク装置へ多数のコマンドを起動した方が、性能が向上する。
【0085】
ただし、あまり多くのコマンドを起動しすぎると、デイスク装置内のファームオーバヘッドが増加し、性能がダウンしてしまう。図1のデイスク装置の測定では、約80個のコマンドを、デイスク装置へ起動したときに最大性能がでていることが判明したため、デイスク装置50のコマンド能力は、80個とする。
【0086】
例えば、2CM(コントローラ)−8DE(デバイスエンクロージャー)モデルの場合、FCポート当たり30台のデイスク装置50を担当したとすると、FC能力40MB/sを、30台で割った1.33MB/sが、デイスク装置単体のデータ転送能力であり、1Block(=512Byte)当り,376点(376μs)となる。
【0087】
起動時のパラメータ(要求転送量、RAID構成、コマンド種別)により、デイスクコマンド点数、データ転送点数は、実際の処理同様に計算される。例えば、RAID5(3+1, Normal)、40KBのReadコマンドの場合には、予測点数は、以下のように計算される。
【0088】
デイスクコマンド点数:80Block(40KB)÷2×5ms×1=200ms(200,000点)
データ転送点数 :80Block(40KB)×376×1=30,080点
予測点数合計230,080点 (1デイスク当り57,520点)
次に、実負荷管理モジュール76を説明する。フロントモジュール40からのRLUに対する1つの要求は、複数(または1つ)のデイスク(FC)コマンドへ変換されデイスクドライバ73(図3参照)へ起動される。この時点になると、ハード使用量は、予測によるものではなく、実際のハード使用量が確定する。実負荷管理モジュール76は、各ハード資源の性能限界時(ハード能力限界点)の調節用の情報としても使用するため、予測時に行うRLU単位の統計ではなく、各ハード資源単位(デイスク装置単位)での統計を実施する。
【0089】
実負荷管理モジュール76の統計は、図7に示すように、デイスク装置単位の加点制で、デイスクドライバ73−1へ起動されたデータ転送数を時間換算し、点数は、流量予測モジュール74と同じく、1μs当り1点として統計を行う。
【0090】
具体的には、デイスク装置50への1コマンドは、5ms(平均アクセスTime)と考え,5,000点とする。又、流量予測モジュール74と同様に、デイスク/FCの転送能力から1Blockの点数を予め求めておき、それを元に加点する。この1Blockの点数は、前述と同様に、376点である。そして、前述の予測と同様に、デイスク装置単位で、デイスクコマンド点数と、データ転送点数を求め、これを加算して、実負荷点数を計算する。
【0091】
更に、ハード能力限界点を超えるI/O要求をハードへ依頼すると、デイスク装置のタイムアウトが発生してしまうため、実負荷管理モジュール76は、バックエンドモジュール44から起動されたつぶつぶのI/O要求毎に、対象のデイスク装置負荷が、ハード能力を超えないよう管理を行う。
【0092】
図10に示すように、実負荷管理モジュール76は、ハード能力超えをチェックした結果、ハード能力以下の場合は、ハードに起動をかけ、ハード能力を超えている場合は、デイスクドライバ73−1で負荷が下がるのを待つ待ち合わせ(キューイング)を行う。その後、デイスク装置50からの終了割込みの延長で、負荷がハード能力以下となった場合に、待ち合わせ中のI/O要求をハード能力限界まで起動する。
【0093】
実負荷管理モジュール76のハード能力限界の判断は、図8に示すように、デイスク装置単位に、以下の2つの要素毎に量を管理し、それぞれの閾値をチェックすることで、ハード能力限界を超えたかどうか判断する。
【0094】
図8に示すように、各デイスク装置単位のテーブル76−1は、実負荷ポイントとして、ハード限界能力ポイント(=FC性能(40MB/S)÷デイスク装置台数×4秒)、実負荷のトータルポイント、実行中ポイント(図10のFCドライバ73−2起動後の負荷ポイント)、待ちポイント(図10のデイスクドライバ73−1起動後、FCドライバ73−2起動前の待ち負荷ポイント)とで、デイスクドライバを管理し、デイスク装置のコマンド数として、限界コマンド数(80コマンド)、トータルコマンド数、実行中コマンド数(図10のFCドライバ73−2起動後のコマンド数ポイント)、待ちコマンド数(図10のデイスクドライバ73−1起動後、FCドライバ73−2起動前の待ちコマンド数ポイント)を管理する。
【0095】
即ち、実負荷管理モジュール76は、バックエンドモジュール44からデイスクドライバ73−1に、デイスクコマンドが発行されると、前述のコマンド数ポイントと、データ転送数ポイントを計算し、更に、実負荷ポイントを計算する。そして、実負荷管理モジュール76は、テーブル76−1の待ちポイント、トータルポイントを更新する。図10に示すように、デイスクドライバ73−1からFCドライバ73−2に、デイスクコマンドが起動されると、テーブル76−1の待ちポイント、実行中ポイントに移す。
【0096】
次に、図7に戻り、予測負荷と実負荷との統合を行う負荷統計モジュール78を説明する。負荷統計モジュール78は、予測負荷と実負荷の統合を、負荷チェックがRLU単位であり負荷チェック時の処理を軽くするため、RLU単位で管理する。
【0097】
ただし、図7及び図9に示すように、負荷統計モジュール78の統計は、RLUに属するデイスク装置の中で一番負荷が高いものを代表として管理する。RLUに属するデイスク装置内の負荷が変動し、負荷が一番高いデイスク装置番号が変わった場合は、代表のデイスク装置も入れ換え処理を実施し、常に一番負荷の高いデイスク装置を代表とする。
【0098】
負荷統計モジュール78が、図7に示すように、予想負荷点と実負荷点を合算して、総合負荷点を計算する。総合負荷点を計算するタイミングは、予測負荷、または、実負荷が更新されるたび(即ち、内部I/Oが処理されるたび)に行うことができる。又、更新毎に行うと処理が重くなるため、以下のタイミング時にのみ実施すると良い。
【0099】
(1)RLU単位の予測負荷点が、毎500,000ポイント境界を跨ぎ変動した場合。
【0100】
(2)実負荷の代表デイスク装置(一番高負荷なデイスク装置)が入換わった場合(尚、代表デイスク装置の入換えは、各デイスク装置の値が100,000ポイント境界を跨いだときに、代表デイスク装置のポイントと比較し、代表を超えていた場合に実施する)。
【0101】
(3)実負荷の代表デイスク装置の値が、100,000ポイント境界を跨ぎ変動した場合。
【0102】
図7の負荷統計モジュール78の閾点は、システム能力限界点を設定する。例えば、コントローラ間通信のタイマ値である20秒(20,000,000μs)から求めた値、20,000,000点とする。
【0103】
又、負荷統計モジュール78は、負荷の割合(%)を求めることができる。負荷の割合は、(総合負荷点÷閾点×100)の式で計算する。
【0104】
[動的システム負荷制御]
図11は、図3のH−IO制御モジュール60のホストI/O処理フロー図、図12は、図7及び図8で説明したハード能力限界点とシステム能力限界点の説明図、図13は、図11のH−IO制御モジュール60とシステム負荷管理モジュール46の処理の流れ図、図14は、IO制御モジュール42とシステム負荷管理モジュール46の処理の流れ図である。
【0105】
図12に示すように、システムの負荷が高くなると、次の2つの限界点が現れる。第1は、ハード能力限界点である。即ち、これ以上ハードに処理を要求しても、ハードの処理能力をオーバしてしまい、特定時間以内に処理が完了しなくなる境界点である。例えば、デイスク装置の能力が、10MB/sの能力であり、ハード処理の時間監視を5秒とした場合、50MBの要求を超えると、ハードのタイムアウトが発生してしまう。ハード能力限界点に達した場合、オーバした要求は、前述のドライバ73で待たせる。
【0106】
例えば、デイスク装置の時間監視が7秒であり、そのうち3秒をデイスク装置内のコマンド並び替え、ポジショニング等の時間として、残り4秒をデータ転送分と考えた場合、ハード能力限界点は、4秒(4,000,000μs)から求め、4,000,000点とする。
【0107】
第2に、システム能力限界点である。ハード能力の限界を超えてもさらに要求がき続けた場合、ドライバ73で待ちが出始め、システムの監視時間(CA11,12のコマンドタイムアウト検出(25秒)、または、コントローラ間のタイムアウト(20秒))以内に、処理が完了しなくなる境界点を、システム能力限界点という。システム能力限界点に達した場合、オーバしたホスト要求は、前述のBusy/Q-Fullで、ホスト応答させる。また、ローカルI/Oの場合は、負荷が限界点を下回るまで要求を待たせる。
【0108】
例えば、フロントモジュール40で行っているホストコマンド処理の時間監視が25秒、コントローラ間を跨いだクロスアクセス時のコントローラ間通信の時間監視が20秒である場合には、システム能力限界点は、短い方の20秒(20,000,000μs)から求め、20,000,000点となる。
【0109】
次に、システム負荷制御を、図11のI/O制御モジュール42の処理フロー図及び図13のI/O制御モジュール42とシステム負荷管理モジュール46の処理フロー図で説明する。
【0110】
(S10)I/O制御モジュール42は、I/O要求を受け付けると、システム負荷管理モジュール46から負荷統計モジュール78の総合負荷点と閾点(図7参照)を問い合わせる。
【0111】
(S12)I/O制御モジュール42は、総合負荷点が、閾点(システム能力限界点)を超えているかを判定する。
【0112】
(S14)総合負荷点が、閾点を越えている場合には、図4、図6、図12で説明したように、システム負荷が高負荷のため、ホストに、Busy/Qfullを返答し、バックエンドへの起動を行わず、終了する。
【0113】
(S16)総合負荷点が、閾点を越えていない場合には、図5で説明したように、システム負荷が高負荷でないため、バックエンドモジュール44へI/O要求を発行し、終了する。
【0114】
図13で具体的に説明する。過負荷でない通常負荷の場合には、ホスト3からのリード要求が、フロントエンドモジュール40でキャッシュヒットと判定されると、キャッシュメモリ16のデータがホスト3に転送され、流量管理の対象とならない。
【0115】
リード要求でも、キャッシュミスヒットの場合には、バックエンドモジュール44へリード要求が発行されるとともに、流量予測モジュール74で負荷予測値を計算され、負荷統計モジュール78の予測値に加算される。更に、実負荷モジュール76は、予測値を減点し、これを実負荷点に加点する(減点した予測値を実負荷値に移す)。I/OでのI/O処理が終了すると、実負荷点を減点する。これとともに、デイスク装置からホストへリードデータが転送される。
【0116】
同様に、過負荷でない通常負荷の場合には、ホスト3からのライト要求が到来すると、フロントエンドモジュール40でキャッシュメモリ16に、ライトデータが書き込まれ、流量管理の対象とならない。
【0117】
ライトバック等のローカルI/O要求は、バックエンドモジュール44へ伝達されるとともに、流量予測モジュール74で負荷予測値を計算され、負荷統計モジュール78の予測値に加算される。更に、実負荷モジュール76は、予測値を減点し、これを実負荷点に加点する(減点した予測値を実負荷値に移す)。I/OでのI/O処理が終了すると、実負荷点を減点する。これとともに、デイスク装置からホストへライト完了が転送される。
【0118】
一方、過負荷の場合には、ホスト3からのリード要求が、フロントエンドモジュール40でキャッシュヒットと判定されると、キャッシュメモリ16のデータがホスト3に転送され、流量管理の対象とならないが、リード要求でも、キャッシュミスヒットの場合には、バックエンドモジュール44へリード要求が発行されず、ホスト3へBusy/Qfullが返答される。ライトバックを含むローカルI/Oも、L−IO制御モジュール61で、待ちキューに待ち合わせされる。
【0119】
次に、図14により、ハード能力限界制御を説明する。バックエンドモジュール44で、デイスクコマンドが作成されると、前述のように、実負荷管理モジュール76で、各デイスク装置毎のテーブル76−1を参照し、ハード能力点をチエックする。即ち、実負荷管理モジュール76は、トータルポイント又はトータルコマンド数のいずれかが、限界値を越えているかを判定し、越えていないと、テーブル76−1の実行中ポイント、実行中コマンド数に加点し、I/Oを起動する。
【0120】
一方、限界値を越えていると、テーブル76−1の待ちポイント、待ちコマンド数に加点し、待ちキューに待ち合わせする。これを、デイスクコマンド分繰り返し、終了する。
【0121】
又、起動I/Oから終結割り込みが、デイスク/FCドライバ73に到来すると、実負荷管理モジュール76は、実行中ポイント、実行中コマンド数を減点する。デイスク/FCドライバ73は、待ちキューに待ちコマンドがあるかを判定し、無ければ、終了する。
【0122】
待ちキューに待ちコマンドがあると、待ちキューの先頭を参照し、実負荷管理モジュール76で、各デイスク装置毎のテーブル76−1を参照し、ハード能力点をチエックする。即ち、実負荷管理モジュール76は、トータルポイント又はトータルコマンド数のいずれかが、限界値を越えているかを判定し、越えていないと、テーブル76−1の待ちポイント、待ちコマンド数を減点し、且つ実行中ポイント、実行中コマンド数に加点し、待ちキューの先頭をデキューし、I/Oを起動する。
【0123】
一方、限界値を越えていると、このルーチンを脱出する。
【0124】
[閾値調整処理]
次に、ローカルI/Oの割合を制御する閾値調整処理を説明する。図15は、L−IO制御モジュール61とシステム負荷管理モジュール46との関係図、図16は、システム負荷とローカルI/Oの閾値の説明図である。ここでは、ローカルI/Oの閾値を可変に制御する。
【0125】
図15に示すように、負荷統計(RLU)モジュール78で負荷割合(=(総合負荷数÷閾点)×100)からローカルI/Oの閾値(割合)を計算する。L−IO制御モジュール61は、このローカルI/Oの閾値を取得し、(アクセス対象RLUに関する現在のコマンドサイズ+これから発行しようとするコマンドサイズ)が,この閾値を超えているかどうかを判断する。
【0126】
このローカルI/Oの制御アルゴリズムとして、ホストI/Oを最優先とするため、ホストI/OとローカルI/Oとで閾値に違いを持たせ、ローカルI/Oを早期に制限する。即ち、ホストI/Oがあるときには、極力ローカルI/Oの割合を下げるが、ホストI/Oがないときには,ローカルI/Oをできるだけ実行する。
【0127】
このために、L−IO制御モジュール61は、図16に示すように、ローカルI/Oの負荷全体に占める割合を制限し、最大でも閾値の70%(Webから設定可能な値)とし、ホストI/Oがある場合には、システム負荷が閾値の60%を超えた時点で、ローカルI/Oの割合を制限する。
【0128】
又、ホストI/Oの負荷割合が非常に高くなった場合でも、最低限のローカルI/Oを実行するために、ローカルI/Oの最低閾値を10%と制御する。全体負荷が低くなるに応じて、ローカルI/Oの割合の制限をやめ、最終的には,閾値の最大の70%に戻す。
【0129】
更に、OPCなど完了時間保証しなければならないローカルI/Oについては、時間保証に必要な転送性能を確保するために、最低限、一定時間毎にコマンドを実行するように制御する。ローカルI/Oの閾値を変動させるタイミングは、ローカルI/Oコマンド発行時と完了時とする。
【0130】
図16で説明すると、記号「▼」は、ホストI/Oがあり、システム負荷が60%を超えたため、ローカルI/Oの割合を下げる。記号「△」は、システム負荷が50%以下となったため、ローカルI/Oの割合を上げる(但し、60%までとする)。記号「△2」は、ホストI/O負荷がないため、ローカルI/Oの割合を70%まで戻す。
【0131】
又、図3及び図15のL−IO制御モジュール61は、キューの優先度制御を行う。即ち、待ち合わせキューには、優先度を持ったものを3種類持ち、どのキューにも、待ち合わせコマンドが存在する場合には、優先度の高いコマンドから実行する。
【0132】
キューの種別としては、以下の3種類のものがある。
【0133】
優先度高(時間保証あり)のキューは、CGIから設定可能な2種類のモード(時間優先設定、ホストI/O優先)を持ち、時間優先の場合には、さらにコマンド完了通知をまたずに一定時間毎にバックエンドモジュールにコマンド発行する。この結果、システム負荷の上昇が懸念されるが、その場合には、ホストI/Oを制限することで、時間保証を行う。対象I/Oは、OPCである。
【0134】
次に、優先度高(時間保証無し)のキューは、優先度低のキューに優先し実行するが、時間保証は行わず、ホストI/Oをより優先させる。対象I/Oは、Rebuild/Copyback、LDE、Migrationである。
【0135】
更に、優先度低のキューは、優先度高のキューがある場合には実行しないキューであり、対象I/Oは、Quick Formatである。
【0136】
次に、L−IO制御モジュール61が、自己で閾値管理を行う場合のローカルI/O処理を説明する。図17及び図18は、L−IO制御モジュール61の処理フロー図である。前述のように、L−IO制御モジュール61は、ローカルI/Oの起動量を調節するモジュールであり、ローカルI/Oを受け付けた時点で、システム負荷管理モジュール46の負荷状態を判断し、起動量を調節する。起動量の調節は、待ち合わせ(キューイング)にて行う。
【0137】
図17は、ローカルI/Oとして、Rebuildで説明する。ローカルI/O実行時には、Extent排他前に,L−IO制御モジュール61を呼び出し、コマンド発行可能かどうかをチエックする。
【0138】
図17に示すように、Rebuild87で、ローカルI/Oのコマンドを作成すると、L−IO制御モジュール61に問い合わせる。L−IO制御モジュール61は、システム負荷管理モジュール46の流量予測モジュール74で、予測値を計算させ、負荷統計モジュール78の予測値に加点する。
【0139】
L−IO制御モジュール61は、前述の図15のローカルI/O実行の閾値を超えているかを判定し、越えている場合には、L−IO制御モジュール61に対し発行したコマンドは、L−IO制御モジュール61内でキューされる。一方、ローカルI/O実行の閾値を越えていない場合には、Rebuild87にコマンド実行を指示し、Rebuild87が、バックエンドモジュール44に、I/O起動を行う。
【0140】
又、図18に示すように、バックエンドモジュール44へのコマンドにより、I/Oが完了すると、Rebuild87に通知される。これにより、システム負荷管理モジュール46は、これにより、実負荷値を減算する。
【0141】
そして、L−IO制御モジュール61は、次のコマンドを待ちキューから外し、前述の図15のローカルI/O実行の閾値を超えているかを判定し、越えている場合には、L−IO制御モジュール61に対し発行したコマンドは、L−IO制御モジュール61内でキューされる。一方、ローカルI/O実行の閾値を越えていない場合には、Rebuild87にコマンド実行を指示し、Rebuild87が、バックエンドモジュール44に、I/O起動を行う。
【0142】
このように、L−IO制御モジュール61は、自己の閾値内で、ローカルI/Oの発行の調整を行い、バックエンドの負荷が閾値以下になり、ローカルI/Oが実行できる状態になると、次のステージ(コマンド)が呼び出される。これにより、ローカルI/Oについても、図3に示した、Extent排他獲得処理72、及びバックエンド44へのコマンド発行処理が継続される。
【0143】
尚、ホストI/Oを実行するために必要なローカルI/Oについては、ホストI/Oと同様に,H−IO制御モジュール60を使用する。この時、ホストI/Oを実行するために必要なコマンドが,すでにL−IO制御モジュール61内にキューイングされている場合には、即時実行させることができる。
【0144】
[他の実施の形態]
前述の実施の形態では、図1のような冗長構成のRAIDで説明したが、これ以外の冗長構成のストレージシステムに適用できる。又、物理デイスクは、磁気デイスク、光デイスク、光磁気デイスク、各種のストレージデバイスを適用できる。
【0145】
又、システム負荷として、コマンドの処理量を、予測値と実負荷値の両方で管理しているが、予測値を使用しても良い。
【0146】
以上、本発明を実施の形態により説明したが、本発明の趣旨の範囲内において、本発明は、種々の変形が可能であり、本発明の範囲からこれらを排除するものではない。
【0147】
(付記1)ホストから依頼されたI/O要求に応じて、接続されたストレージ装置をアクセスし、I/O要求を実行するストレージシステムにおいて、前記I/O要求に応じたコマンド処理を実行するコマンド処理部と、前記処理結果に応じて、前記ストレージ装置をアクセスするアクセス実行部とを有し、前記コマンド処理部は、前記依頼されたI/O要求の前記アクセス実行部の負荷を予測するととともに、前記アクセス実行部の実際の負荷を管理し、前記予測負荷と前記実際の負荷とからシステム負荷を計算し、前記システム負荷が所定の閾値を越えた場合に、前記ホストから依頼されたI/O要求の受け付けを抑止することを特徴とするストレージシステム。
【0148】
(付記2)前記コマンド処理部は、前記ホストI/O要求と内部I/O要求とを、前記システム負荷に従い、調整し、調整されたI/O要求の解析、資源獲得処理を行い、前記アクセス実行部を起動することを特徴とする付記1のストレージシステム。
【0149】
(付記3)前記コマンド処理部は、前記ホストI/O要求を調整する第1のI/O制御モジュールと、前記内部I/O要求を調整する第2のI/O制御モジュールとを有し、前記システム負荷が所定の閾値を越えた場合に、前記ホストから依頼されたI/O要求の受け付けを抑止するとともに、前記内部I/O要求を待ち合わせることを特徴とする付記2のストレージシステム。
【0150】
(付記4)前記コマンド処理部は、前記I/O要求のパラメータから前記ストレージ装置を含むアクセス実行部の処理時間を予測し、前記予測負荷を得るとともに、前記コマンド処理結果から前記ストレージ装置を含むアクセス実行部の処理時間を計算し、前記実際の負荷を得ることを特徴とする付記1のストレージシステム。
【0151】
(付記5)前記コマンド処理部は、前記ホストI/O要求を優先するとともに、前記システム負荷から、前記内部I/O処理の前記システム負荷に対する割合を制御することを特徴とする付記1のストレージシステム。
【0152】
(付記6)前記コマンド処理部は、前記実際の負荷に応じて、前記アクセス実行部のコマンド処理量を制御することを特徴とする付記1のストレージシステム。
【0153】
(付記7)前記コマンド処理部は、ハードウェアで規定される前記アクセス実行部の単位処理時間と、前記I/O要求の処理数とから前記負荷を予測することを特徴とする付記1のストレージシステム。
【0154】
(付記8)前記ストレージ装置のデータの一部を保持するキャッシュメモリを更に設け、前記コマンド処理部は、前記ホストI/O要求に対し、キャッシュメモリを参照して、前記キャッシュメモリで処理できないホストI/Oに対し、前記システム負荷が所定の閾値を越えた場合に、前記ホストから依頼されたI/O要求の受け付けを抑止することを特徴とする付記1のストレージシステム。
【0155】
(付記9)前記コマンド処理部は、前記ホストI/O要求に対し、キャッシュメモリを参照して、前記キャッシュメモリで処理するフロントモジュールと、前記キャッシュメモリで処理できないホストI/Oと内部I/Oに対し、前記システム負荷が所定の閾値を越えた場合に、前記ホストI/O要求の受け付けを抑止するIO制御モジュールと、前記IO制御モジュールで調整されたI/O要求の解析及び資源獲得を行うバックエンドモジュールとを有することを特徴とする付記8のストレージシステム。
【0156】
(付記10)前記コマンド処理部は、前記依頼されたI/O要求の前記アクセス実行部の負荷を予測する流量予測モジュールと、前記アクセス実行部の実際の負荷を管理する実負荷管理モジュールと、前記予測負荷と前記実際の負荷とからシステム負荷を計算する負荷統計モジュールとを有することを特徴とする付記1のストレージシステム。
【0157】
(付記11)ホストから依頼されたI/O要求に応じて、接続されたストレージ装置をアクセスし、I/O要求を実行するストレージシステムの動的システム負荷管理方法において、前記I/O要求に応じたコマンド処理を実行するコマンド処理ステップと、前記処理結果に応じて、前記ストレージ装置をアクセスするアクセス実行ステップと、前記依頼されたI/O要求の前記アクセス実行ステップの負荷を予測するととともに、前記アクセス実行ステップの実際の負荷を管理し、前記予測負荷と前記実際の負荷とからシステム負荷を計算するシステム負荷計算ステップと、前記システム負荷が所定の閾値を越えた場合に、前記ホストから依頼されたI/O要求の受け付けを抑止するステップとを有することを特徴とする動的システム負荷管理方法。
【0158】
(付記12)前記コマンド処理ステップは、前記ホストI/O要求と内部I/O要求とを、前記システム負荷に従い、調整するステップと、調整されたI/O要求の解析、資源獲得処理を行い、前記アクセス実行ステップを起動するステップとを有することを特徴とする付記11の動的システム負荷管理方法。
【0159】
(付記13)前記コマンド処理ステップは、前記ホストI/O要求を調整する第1のI/O制御ステップと、前記内部I/O要求を調整する第2のI/O制御ステップとを有し、前記システム負荷が所定の閾値を越えた場合に、前記ホストから依頼されたI/O要求の受け付けを抑止するとともに、前記内部I/O要求を待ち合わせることを特徴とする付記12の動的システム負荷管理方法。
【0160】
(付記14)前記システム負荷計算ステップは、前記I/O要求のパラメータから前記ストレージ装置を含むアクセス実行部の処理時間を予測し、前記予測負荷を得るとともに、前記コマンド処理結果から前記ストレージ装置を含むアクセス実行部の処理時間を計算し、前記実際の負荷を得るステップからなることを特徴とする付記11の動的システム負荷管理方法。
【0161】
(付記15)前記コマンド処理ステップは、前記ホストI/O要求を優先するとともに、前記システム負荷から、前記内部I/O処理の前記システム負荷に対する割合を制御するステップからなることを特徴とする付記11の動的システム負荷管理方法。
【0162】
(付記16)前記コマンド処理ステップは、前記実際の負荷に応じて、前記アクセス実行ステップのコマンド処理量を制御するステップを更に有することを特徴とする付記11の動的システム負荷管理方法。
【0163】
(付記17)前記システム負荷計算ステップは、ハードウェアで実行される前記アクセス実行ステップの単位処理時間と、前記I/O要求の処理数とから前記負荷を予測するステップを有することを特徴とする付記11の動的システム負荷管理方法。
【0164】
(付記18)前記コマンド処理ステップは、前記I/O要求に対し、前記ストレージ装置のデータの一部を保持するキャッシュメモリを参照するステップを有し、前記抑止ステップは、前記キャッシュメモリで処理できないホストI/Oに対し、前記システム負荷が所定の閾値を越えた場合に、前記ホストから依頼されたI/O要求の受け付けを抑止するステップからなることを特徴とする付記11の動的システム負荷管理方法。
【0165】
(付記19)前記コマンド処理ステップは、前記ホストI/O要求に対し、キャッシュメモリを参照して、前記キャッシュメモリで処理するフロント処理ステップと、前記キャッシュメモリで処理できないホストI/Oと内部I/Oに対し、前記システム負荷が所定の閾値を越えた場合に、前記ホストI/O要求の受け付けを抑止するIO制御ステップと、前記IO制御ステップで調整されたI/O要求の解析及び資源獲得を行うバックエンドステップとを有することを特徴とする付記18の動的システム管理方法。
【0166】
(付記20)前記システム負荷計算ステップは、前記依頼されたI/O要求の前記アクセス実行ステップの負荷を予測する流量予測ステップと、前記アクセス実行ステップの実際の負荷を管理する実負荷管理ステップと、前記予測負荷と前記実際の負荷とからシステム負荷を計算する負荷統計ステップとを有することを特徴とする付記11の動的システム負荷管理方法。
【0167】
【発明の効果】
このように、本発明では、従来、ストレージシステムで管理していなかったホストI/O要求を、ストレージシステムのシステム負荷に応じて管理し、システム負荷を越えるホストI/O要求に対しては、ホストI/O要求を処理せず、エラー応答し、ホストにコマンドのリトライを行わせるようにした。これにより、システム内でのコマンド処理の停滞を抑止できる。
【0168】
又、システム負荷を、アクセス実行前と後との両方の負荷から計算するため、正確にシステム自体の負荷を管理できる。
【図面の簡単な説明】
【図1】本発明の一実施の形態のストレージシステムの構成図である。
【図2】本発明の一実施の形態のコマンド処理部の構成図である。
【図3】図2の本発明の一実施の形態のコマンド処理部の詳細構成図である。
【図4】図2のIO制御部の動作説明図である。
【図5】図4のH−IO制御部の低負荷時の動作説明図である。
【図6】図4のH−IO制御部の高負荷時の動作説明図である。
【図7】図3のシステム負荷管理部の構成図である。
【図8】図7の実負荷管理部のテーブルの説明図である。
【図9】図7のRLU負荷の説明図である。
【図10】図7の実負荷管理部の実負荷の説明図である。
【図11】図4のH−IO制御部の処理フロー図である。
【図12】図7の能力限界点の説明図である。
【図13】図3のIO制御部とシステム負荷管理部との処理の流れ図である。
【図14】図3のシステム負荷管理部とバックエンドモジュールの処理の流れ図である。
【図15】図3のL−IO制御部の説明図である。
【図16】図15のローカルI/O要求の閾値制御の動作説明図である。
【図17】図3のL−IO制御部とシステム負荷管理部との処理の流れ図である。
【図18】図3のL−IO制御部とシステム負荷管理部とバックエンドの処理の流れ図である。
【図19】従来技術の構成図である。
【図20】従来技術のDTC処理の流れ図である。
【符号の説明】
1、2 ストレージコントローラ
11、12 チャネルアダプター
13、14 デバイスアダプター
10、20 CPU
15,25 メモリ
16、26 キャッシュメモリ
4−1,4−2 FC_AL
5−1〜5−8 デバイスエンクロージャー
30、40 PCI−ノードブリッジ回路
20、21 PCIバス
50 物理デイスク装置(ストレージ装置)
40 フロントエンドモジュール
42 I/O制御モジュール
44 バックエンドモジュール
46 システム負荷管理モジュール
Claims (4)
- ホストから依頼されたホストI/O要求に応じて、接続されたストレージ装置をアクセスし、I/O要求を実行するストレージシステムにおいて、
複数の前記ストレージ装置と、
前記複数のストレージ装置をアクセスするためのデバイスアダプターと、
前記ストレージ装置のデータの一部を保持するキャッシュメモリと、
RAID構成のRaid論理ユニット単位でアクセスする前記ホストI/O要求に応じたコマンド処理を実行し、前記処理結果に応じて、前記ストレージ装置をアクセスするアクセス実行処理を実行するコントローラとを有し、
前記コントローラは、
前記ホストI/O要求を解読し、解読結果により、前記キャッシュメモリを参照して、前記ホストI/O要求に対する応答を行うとともに、前記キャッシュメモリで処理できない前記ホストI/O要求に対し、指定された前記ストレージ装置へのアクセス依頼を行うコマンド処理を実行し、
前記アクセス依頼されたI/O要求の要求内容を解釈し、前記Raid論理ユニットのストレージ装置を特定し、アクセスコマンドを発行するアクセス実行処理を実行し、
前記コントローラは、前記アクセス依頼された前記ホストI/O要求の要求パラメータから、要求転送長とコマンド種別とを用いて、前記Raid論理ユニットの負荷を予測するとともに、前記ストレージ装置の実行中のコマンド数と実行中のデータ転送数とから、前記ストレージ装置の実際の負荷を、前記ストレージ装置毎に計算し、前記予測負荷と前記実際の負荷とから前記Raid論理ユニット毎のシステム負荷を計算し、
前記システム負荷が所定の閾値を越えた場合に、前記ホストから依頼されたI/O要求の受け付けを抑止する
ことを特徴とするストレージシステム。 - 前記コントローラは、前記システム負荷に従い、前記ホストI/O要求の受け付けの制御を行うとともに、前記ホストI/O以外の内部I/O要求の起動量を調整する
ことを特徴とする請求項1のストレージシステム。 - 前記コントローラは、前記実際の負荷に応じて、前記アクセス実行処理のコマンド処理量を制御する
ことを特徴とする請求項1のストレージシステム。 - ホストから依頼されたホストI/O要求に応じて、接続されたストレージ装置をアクセスし、I/O要求を実行するストレージシステムの動的システム負荷管理方法において、
コントローラが、RAID構成のRaid論理ユニット単位でアクセスする前記ホストI/O要求を解読し、解読結果により、複数の前記ストレージ装置のデータの一部を保持するキャッシュメモリを参照して、前記ホストI/O要求に対する応答を行うとともに、前記キャッシュメモリで処理できない前記ホストI/O要求に対し、指定された前記ストレージ装置へのアクセス依頼を行うコマンド処理ステップと、
前記コントローラが、前記アクセス依頼されたI/O要求の要求内容を解釈し、前記Raid論理ユニットのストレージ装置を特定し、アクセスコマンドを発行するアクセス実行ステップと、
前記コントローラが、前記アクセス依頼された前記ホストI/O要求の要求パラメータから、要求転送長とコマンド種別とを用いて、前記Raid論理ユニットの負荷を予測するとともに、前記ストレージ装置の実行中のコマンド数と実行中のデータ転送数とから、前記ストレージ装置の実際の負荷を、前記ストレージ装置毎に計算し、前記予測負荷と前記実際の負荷とから前記Raid論理ユニット毎のシステム負荷を計算するシステム負荷計算ステップと、
前記コントローラが、前記システム負荷が所定の閾値を越えた場合に、前記ホストから依頼されたI/O要求の受け付けを抑止するステップとを有する
ことを特徴とする動的システム負荷管理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002377977A JP4318914B2 (ja) | 2002-12-26 | 2002-12-26 | ストレージシステム及びその動的負荷管理方法 |
US10/740,443 US7136970B2 (en) | 2002-12-26 | 2003-12-22 | Storage system and dynamic load management method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002377977A JP4318914B2 (ja) | 2002-12-26 | 2002-12-26 | ストレージシステム及びその動的負荷管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004206623A JP2004206623A (ja) | 2004-07-22 |
JP4318914B2 true JP4318914B2 (ja) | 2009-08-26 |
Family
ID=32677411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002377977A Expired - Fee Related JP4318914B2 (ja) | 2002-12-26 | 2002-12-26 | ストレージシステム及びその動的負荷管理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7136970B2 (ja) |
JP (1) | JP4318914B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10628083B2 (en) | 2016-09-27 | 2020-04-21 | Hitachi, Ltd. | Storage system and storage system management method |
Families Citing this family (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4322068B2 (ja) * | 2003-03-07 | 2009-08-26 | 富士通株式会社 | ストレージシステム及びそのデイスク負荷バランス制御方法 |
JP2005338893A (ja) * | 2004-05-24 | 2005-12-08 | Hitachi Ltd | データ処理システムおよびディスクアクセス制御方法並びにその処理プログラム |
US20060037018A1 (en) * | 2004-08-16 | 2006-02-16 | Dell Products L.P. | System, method and software providing an adaptive job dispatch algorithm for large distributed jobs |
US7263583B2 (en) * | 2004-10-05 | 2007-08-28 | International Business Machines Corporation | On demand, non-capacity based process, apparatus and computer program to determine maintenance fees for disk data storage system |
JP4568078B2 (ja) * | 2004-10-20 | 2010-10-27 | 三洋電機株式会社 | サーバ |
US7451259B2 (en) * | 2004-12-06 | 2008-11-11 | Nvidia Corporation | Method and apparatus for providing peer-to-peer data transfer within a computing environment |
JP4856983B2 (ja) * | 2006-03-02 | 2012-01-18 | 株式会社日立製作所 | ストレージシステム及びスケジューリング方法 |
JP2006318012A (ja) * | 2005-05-10 | 2006-11-24 | Hitachi Ltd | ディスク制御システム |
JP4842593B2 (ja) | 2005-09-05 | 2011-12-21 | 株式会社日立製作所 | ストレージ仮想化装置のデバイス制御引継ぎ方法 |
JP4472617B2 (ja) * | 2005-10-28 | 2010-06-02 | 富士通株式会社 | Raidシステム、raidコントローラ及びそのリビルド/コピーバック処理方法 |
US7469309B1 (en) * | 2005-12-12 | 2008-12-23 | Nvidia Corporation | Peer-to-peer data transfer method and apparatus with request limits |
JP4901310B2 (ja) * | 2006-05-31 | 2012-03-21 | 株式会社日立製作所 | 記憶制御装置及び記憶制御装置のコマンド実行数制御方法 |
JP4331742B2 (ja) | 2006-10-25 | 2009-09-16 | 株式会社日立製作所 | I/oの割り振り比率に基づいて性能を管理する計算機システム、計算機及び方法 |
JP4679494B2 (ja) * | 2006-11-22 | 2011-04-27 | Necシステムテクノロジー株式会社 | ディスクアレイ装置システム、ディスクアレイ装置制御方法、および、プログラム |
US8892780B2 (en) * | 2007-03-08 | 2014-11-18 | Oracle International Corporation | Management of shared storage I/O resources |
US8099564B1 (en) * | 2007-08-10 | 2012-01-17 | Xilinx, Inc. | Programmable memory controller |
JP5026212B2 (ja) * | 2007-09-28 | 2012-09-12 | 株式会社日立製作所 | 計算機システム並びに管理装置及び管理方法 |
US7886110B2 (en) * | 2007-12-27 | 2011-02-08 | Intel Corporation | Dynamically adjusting cache policy based on device load in a mass storage system |
US7962690B2 (en) * | 2008-01-04 | 2011-06-14 | International Business Machines Corporation | Apparatus and method to access data in a raid array |
JP2009217475A (ja) * | 2008-03-10 | 2009-09-24 | Fujitsu Ltd | ストレージシステム,ストレージ装置,ストレージシステムの制御方法および制御プログラム |
JP4542173B2 (ja) | 2008-05-21 | 2010-09-08 | 富士通株式会社 | ストレージ装置、ディスクコントローラ、及びコマンド発行制御方法 |
JP2009294949A (ja) | 2008-06-05 | 2009-12-17 | Hitachi Ltd | ストレージ装置及びその性能測定方法 |
WO2010033877A1 (en) * | 2008-09-19 | 2010-03-25 | Oracle International Corporation | Storage-side storage request management |
US9772798B2 (en) * | 2008-09-19 | 2017-09-26 | Oracle International Corporation | Method and system for implementing workload management by monitoring disk utilizations |
US8868831B2 (en) | 2009-09-14 | 2014-10-21 | Oracle International Corporation | Caching data between a database server and a storage system |
US9325583B2 (en) * | 2009-01-27 | 2016-04-26 | Hewlett Packard Enterprise Development Lp | Method and system for optimizing network input/output performance |
JP2010211428A (ja) * | 2009-03-10 | 2010-09-24 | Fujitsu Ltd | ストレージ装置、中継装置、及びコマンド発行制御方法 |
JP5347648B2 (ja) * | 2009-03-30 | 2013-11-20 | 富士通株式会社 | プログラム、情報処理装置及び状態出力方法 |
JP4814982B2 (ja) | 2009-06-25 | 2011-11-16 | 富士通株式会社 | ストレージ制御装置及びストレージ装置の動作制御方法 |
CN102577241B (zh) * | 2009-12-31 | 2014-07-30 | 华为技术有限公司 | 分布式缓存资源调度的方法、装置及*** |
JP5439608B2 (ja) * | 2010-04-21 | 2014-03-12 | 株式会社日立製作所 | ディスクアレイ装置及びトラフィック制御方法 |
US8863139B2 (en) | 2011-04-12 | 2014-10-14 | Hitachi, Ltd. | Management system and management method for managing a plurality of storage subsystems |
US9015411B2 (en) | 2011-12-02 | 2015-04-21 | Compellent Technologies | System and method for unbalanced raid management |
WO2013094007A1 (ja) * | 2011-12-19 | 2013-06-27 | 富士通株式会社 | 負荷分散システム |
JP6051617B2 (ja) * | 2012-06-28 | 2016-12-27 | 富士通株式会社 | 制御装置、ストレージ装置、制御方法及び制御プログラム |
US10152500B2 (en) | 2013-03-14 | 2018-12-11 | Oracle International Corporation | Read mostly instances |
US20150081400A1 (en) * | 2013-09-19 | 2015-03-19 | Infosys Limited | Watching ARM |
US9767178B2 (en) | 2013-10-30 | 2017-09-19 | Oracle International Corporation | Multi-instance redo apply |
JP2015184895A (ja) * | 2014-03-24 | 2015-10-22 | 富士通株式会社 | ストレージ制御装置、ストレージ装置、及びストレージ制御プログラム |
US9983831B2 (en) | 2014-07-22 | 2018-05-29 | Ngd Systems, Inc. | System and method for consistent performance in a storage device |
WO2016132428A1 (ja) * | 2015-02-16 | 2016-08-25 | 株式会社日立製作所 | ストレージ装置 |
US10481805B1 (en) * | 2015-06-30 | 2019-11-19 | EMC IP Holding Company LLC | Preventing I/O request timeouts for cloud-based storage systems |
US10678788B2 (en) | 2015-10-22 | 2020-06-09 | Oracle International Corporation | Columnar caching in tiered storage |
US10747752B2 (en) | 2015-10-23 | 2020-08-18 | Oracle International Corporation | Space management for transactional consistency of in-memory objects on a standby database |
US11657037B2 (en) | 2015-10-23 | 2023-05-23 | Oracle International Corporation | Query execution against an in-memory standby database |
US9792051B2 (en) * | 2016-02-24 | 2017-10-17 | Samsung Electronics Co., Ltd. | System and method of application aware efficient IO scheduler |
US10698771B2 (en) | 2016-09-15 | 2020-06-30 | Oracle International Corporation | Zero-data-loss with asynchronous redo shipping to a standby database |
US10891291B2 (en) | 2016-10-31 | 2021-01-12 | Oracle International Corporation | Facilitating operations on pluggable databases using separate logical timestamp services |
US11475006B2 (en) | 2016-12-02 | 2022-10-18 | Oracle International Corporation | Query and change propagation scheduling for heterogeneous database systems |
JP6822274B2 (ja) * | 2017-03-30 | 2021-01-27 | 富士通株式会社 | 情報処理システム、方法、及びプログラム |
US10691722B2 (en) | 2017-05-31 | 2020-06-23 | Oracle International Corporation | Consistent query execution for big data analytics in a hybrid database |
CN109725829B (zh) * | 2017-10-27 | 2021-11-05 | 伊姆西Ip控股有限责任公司 | 用于数据存储***的端到端QoS解决方案的***和方法 |
US11170002B2 (en) | 2018-10-19 | 2021-11-09 | Oracle International Corporation | Integrating Kafka data-in-motion with data-at-rest tables |
CN112231252B (zh) * | 2019-07-15 | 2024-04-30 | 美光科技公司 | 用于存储器子***的内部管理业务调节 |
US11687363B2 (en) * | 2019-07-15 | 2023-06-27 | Micron Technology, Inc. | Internal management traffic regulation for memory sub-systems |
US11567883B2 (en) * | 2021-06-04 | 2023-01-31 | Western Digital Technologies, Inc. | Connection virtualization for data storage device arrays |
US11507321B1 (en) | 2021-06-04 | 2022-11-22 | Western Digital Technologies, Inc. | Managing queue limit overflow for data storage device arrays |
JP2023015488A (ja) | 2021-07-20 | 2023-02-01 | 富士通株式会社 | データ中継装置、中継制御方法およびストレージシステム |
CN113778347B (zh) * | 2021-11-15 | 2022-04-15 | 广东睿江云计算股份有限公司 | 一种ceph***读写质量优化方法及服务端 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09258907A (ja) | 1996-03-25 | 1997-10-03 | Mitsubishi Electric Corp | 複数の記憶ディスク部を有した高可用性の外部記憶装置 |
US6493811B1 (en) * | 1998-01-26 | 2002-12-10 | Computer Associated Think, Inc. | Intelligent controller accessed through addressable virtual space |
US6456850B1 (en) * | 1999-08-17 | 2002-09-24 | Lucent Technologies Inc. | Method for preventing overload conditions in communication systems |
US6947985B2 (en) * | 2001-12-05 | 2005-09-20 | Websense, Inc. | Filtering techniques for managing access to internet sites or other software applications |
-
2002
- 2002-12-26 JP JP2002377977A patent/JP4318914B2/ja not_active Expired - Fee Related
-
2003
- 2003-12-22 US US10/740,443 patent/US7136970B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10628083B2 (en) | 2016-09-27 | 2020-04-21 | Hitachi, Ltd. | Storage system and storage system management method |
Also Published As
Publication number | Publication date |
---|---|
US20040133707A1 (en) | 2004-07-08 |
JP2004206623A (ja) | 2004-07-22 |
US7136970B2 (en) | 2006-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4318914B2 (ja) | ストレージシステム及びその動的負荷管理方法 | |
US10042563B2 (en) | Segmenting read requests and interleaving segmented read and write requests to reduce latency and maximize throughput in a flash storage device | |
JP4322068B2 (ja) | ストレージシステム及びそのデイスク負荷バランス制御方法 | |
JP4922496B2 (ja) | I/o要求に優先順位を与える方法 | |
US5426736A (en) | Method and apparatus for processing input/output commands in a storage system having a command queue | |
US8312121B2 (en) | Storage system comprising function for alleviating performance bottleneck | |
US7185168B2 (en) | System and method for quality of service management in a partitioned storage device or subsystem | |
US8429667B2 (en) | Storage system and method for controlling the same | |
US6324620B1 (en) | Dynamic DASD data management and partitioning based on access frequency utilization and capacity | |
US7730257B2 (en) | Method and computer program product to increase I/O write performance in a redundant array | |
US6665740B1 (en) | Logical volume selection in a probability-based job scheduler | |
US20030212865A1 (en) | Method and apparatus for flushing write cache data | |
JP3137554B2 (ja) | データ転送/管理システム及び方法 | |
JP2009015844A (ja) | 要求優先順位シーク・マネージャ | |
JPH09258907A (ja) | 複数の記憶ディスク部を有した高可用性の外部記憶装置 | |
US6799228B2 (en) | Input/output control apparatus, input/output control method and information storage system | |
JP3812405B2 (ja) | ディスクアレイシステム | |
JP5246872B2 (ja) | ストレージシステムおよびストレージ管理方法 | |
JP6848278B2 (ja) | ストレージ管理装置、性能調整方法及び性能調整プログラム | |
JP3793682B2 (ja) | コマンドキューイングの機能を持つ記憶装置 | |
US20090063769A1 (en) | Raid apparatus, controller of raid apparatus and write-back control method of the raid apparatus | |
JP6379841B2 (ja) | 情報処理装置、試験方法および試験制御プログラム | |
US20240201869A1 (en) | Efficient Execution Of I/O Operations In A Storage Environment | |
CN110874192B (zh) | 存储管理设备和存储管理方法 | |
JP2018045282A (ja) | ストレージ制御装置、ストレージシステムおよびストレージ制御プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051202 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080827 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080902 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081104 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090120 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090323 |
|
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: 20090526 |
|
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: 20090527 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120605 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120605 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130605 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130605 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |