JP2009223863A - コンピュータシステム及びコマンド実行頻度制御方法 - Google Patents

コンピュータシステム及びコマンド実行頻度制御方法 Download PDF

Info

Publication number
JP2009223863A
JP2009223863A JP2008070794A JP2008070794A JP2009223863A JP 2009223863 A JP2009223863 A JP 2009223863A JP 2008070794 A JP2008070794 A JP 2008070794A JP 2008070794 A JP2008070794 A JP 2008070794A JP 2009223863 A JP2009223863 A JP 2009223863A
Authority
JP
Japan
Prior art keywords
command
priority
storage
management table
host
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.)
Pending
Application number
JP2008070794A
Other languages
English (en)
Inventor
Ken Tokoro
憲 所
Takahiko Takeda
貴彦 武田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2008070794A priority Critical patent/JP2009223863A/ja
Priority to US12/149,444 priority patent/US7958324B2/en
Publication of JP2009223863A publication Critical patent/JP2009223863A/ja
Pending 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Abstract

【課題】本発明のコンピュータシステムは、ホストから発行されるコマンドとストレージから発行されるコマンドとの、実行頻度を調節することができる。
【解決手段】ホスト3に設けられる外部マネージャ4は、ホスト内のコマンド発行部4Aから発行されるホストコマンドに優先度を設定する。ストレージ1に設けられる内部マネージャ6は、ストレージ内のコマンド発行部7Aから発行される内部コマンドに優先度を設定する。内部マネージャ6は、ホストコマンドの優先度及び内部コマンドの優先度に基づいて、ホストコマンドの実行頻度と内部コマンドの実行頻度とを調整する。
【選択図】図1

Description

本発明は、コンピュータシステム及びコマンド実行頻度制御方法に関する。
例えば、企業等では、多種多量のデータを取り扱うために、比較的大規模な記憶容量を有する記憶制御装置を用いてデータを管理する。記憶制御装置は、例えば、ハードディスク装置のような多数の記憶装置を備えている。記憶制御装置は、RAID(Redundant Array of Inexpensive Disks)に基づく記憶領域を、ホストコンピュータ(以下、ホスト)に提供することができる。論理ボリュームは、記憶装置の有する記憶領域を使用することにより生成される。ホストは、所望の論理ボリュームを指定してリードコマンドやライトコマンドを発行する。これにより、ホストは、所望の論理ボリュームからデータを読み出したり、所望の論理ボリュームにデータを書き込む。
記憶制御装置は、複数の論理ボリュームを備えており、各論理ボリューム毎にそれぞれ異なる処理を実行可能である。従って、例えば、第1の論理ボリュームから第2の論理ボリュームにデータをコピーさせながら、同時に、ホストから受領したライトデータを第3の論理ボリュームに書き込むことができる。
このため、記憶制御装置内で実行されている他の処理のために、ホストから発行されたコマンドの処理が遅れ、応答性能が低下する可能性がある。この問題に直接関係する技術ではないが、一つの従来技術として、記憶制御装置の有する複数の通信ポートを優先ポートと非優先ポートとに分類し、優先ポートに到着したコマンドを優先的に処理するシステムは知られている(特許文献1)。
特開2002−108567号公報
前記従来技術では、優先ポートで受信したコマンドを優先的に処理するため、優先ポートを使用するホストへの応答性能を改善することができる。しかし、従来技術は、ホストと記憶制御装置との間のI/O(Input/Output)制御を行うものであり、記憶制御装置内または記憶制御装置間のI/O制御を行うものではない。
従って、記憶制御装置内で実行される処理、または、複数の記憶制御装置間で実行される処理のために、ホストから発行されるコマンドの処理が遅れてしまい、記憶制御装置の応答性能が低下する場合がある。
本発明は、上記の問題点に鑑みてなされたもので、本発明の目的は、ホストコンピュータから発行されるコマンドの実行頻度と記憶制御装置内で発行されるコマンドの実行頻度とを制御することができるコンピュータシステム及びコマンド実行頻度制御方法を提供することにある。本発明の更なる目的は、後述する実施の形態の記載から明らかになるであろう。
上記課題を解決すべく、本発明の第1観点に従うコンピュータシステムは、ホストコンピュータと、ホストコンピュータにより利用される複数の記憶制御装置とを備えるコンピュータシステムであって、ホストコンピュータに設けられる第1管理部であって、第1管理テーブルに基づいて、ホストコンピュータから発行される第1コマンドに第1優先度を対応付ける第1管理部と、複数の記憶制御装置のうち少なくともいずれか一つの所定の記憶制御装置に設けられ、所定の記憶制御装置から発行される第2コマンドとホストコンピュータから発行される第1コマンドとをそれぞれ受領する第2管理部であって、(1)第2管理テーブルに基づいて第2コマンドに第2優先度を設定し、(2)さらに、第1コマンドの実行頻度と第2コマンドの実行頻度とを、第1優先度と第2優先度とに基づいてそれぞれ制御し、(3)さらに、第1コマンドまたは第2コマンドのうちいずれか所定のコマンドの実行頻度を、予め設定される目標値に一致させるべく、第1優先度または第2優先度の少なくともいずれか一方を調節する、第2管理部と、を備える。
第2観点では、第1観点において、第1管理部は、ユーザからの指示に基づいて第1管理テーブル及び第2管理テーブルをそれぞれ設定し、第2管理部は、所定のコマンドの実行頻度と目標値との差分に基づいて、第1管理テーブルの内容及び第2管理テーブルの内容をそれぞれ更新させることにより、第1優先度または第2優先度の少なくともいずれか一方を調節する。
第3観点では、第1観点または第2観点のいずれかにおいて、第2管理部は、所定のコマンドの実行頻度の変化が少なくなるように、第1優先度と第2優先度のうちいずれか一方の優先度の値を調節する。
第4観点では、第1〜第3観点のいずれかにおいて、第1管理部は、所定のコマンドの実行頻度に関する情報をユーザに提示することができる。
第5観点では、第1〜第4観点のいずれかにおいて、第1管理部は、第2管理部から所定のコマンドの実行頻度に関する情報を取得し、取得した情報をユーザに提示する。
第6観点では、第1〜第5観点のいずれかにおいて、第1管理テーブル及び第2管理テーブルは、第1コマンド及び第2コマンドの各コマンド毎に予め優先度の値がそれぞれ対応付けられているコマンド別優先度管理テーブルと、優先度の値毎に予め起動比率が対応付けられている優先度別起動比率管理テーブルと、をそれぞれ備えている。
第7観点では、第1〜第6観点のいずれかにおいて、第2コマンドは、所定の記憶制御装置を含む複数の記憶制御装置によって処理される。
第8観点に従うコマンド実行頻度制御方法は、ホストコンピュータから発行されるコマンドが記憶制御装置内で実行される頻度と記憶制御装置内で発行されるコマンドが記憶制御装置内で実行される頻度とを制御するためのコマンド実行頻度制御方法であって、第1管理テーブルに基づいて、ホストコンピュータから発行される第1コマンドに第1優先度を対応付けるステップと、第2管理テーブルに基づいて、記憶制御装置から発行される第2コマンドに第2優先度を対応付けるステップと、第1優先度の設定される第1コマンドと第2優先度の設定される第2コマンドとをそれぞれ受領するステップと、第1コマンドの実行頻度と第2コマンドの実行頻度とを、第1優先度と第2優先度とに基づいてそれぞれ制御するステップと、第1コマンドまたは第2コマンドのうちいずれか所定のコマンドの実行頻度を、予め設定される目標値に一致させるべく、第1優先度または第2優先度の少なくともいずれか一方を調節するステップと、をそれぞれ実行する。
本発明の手段、機能、ステップの全部または一部は、コンピュータシステムにより実行されるコンピュータプログラムとして構成可能な場合がある。本発明の構成の全部または一部がコンピュータプログラムから構成された場合、このコンピュータプログラムは、例えば、各種記憶媒体に固定して配布等することができ、あるいは、通信ネットワークを介して送信することもできる。
図1は、本発明の実施形態の全体概要を示す構成説明図である。図1に示す構成は、本発明の理解及び実施に必要な程度で、本発明の概要を示しており、本発明の範囲を図1に示す構成に限定するものではない。
本実施形態では、後述のように、ホスト3内の管理部(外部マネージャ4)とストレージ1内の管理部(内部マネージャ6)とが連携して動作することにより、ホスト3から発行されるコマンドの実行頻度とストレージ1内で発行されるコマンドの実行頻度とを調節する。
図1に示すコンピュータシステムは、例えば、複数のストレージ1,2と、少なくとも一つのホスト3とを備える。なお、図示の構成に代えて、例えば、複数のホスト3と一つのストレージとからコンピュータシステムを構成してもよいし、あるいは、一つのホスト3と、一つのストレージ1と、複数のストレージ2とからコンピュータシステムを構成してもよい。
ストレージ1,2は「記憶制御装置」に該当する。また、ストレージ1は「所定の記憶制御装置」に該当する。さらに、後述の外部マネージャ4は「第1管理部」に、内部マネージャ6は「第2管理部」に、それぞれ該当する。
先にホスト3の構成から説明する。ホスト3は、例えば、サーバコンピュータのようなコンピュータ装置として構成されており、マイクロプロセッサやメモリ等のコンピュータ資源を備えている。ホスト3は、例えば、外部マネージャ4と、アプリケーションプログラム5とを備える。このほかに、ホスト3は、オペレーティングシステムや各種ドライバ等のコンピュータプログラムを備える。
本実施形態では、第1ストレージ1をコンピュータシステムの中心として考える。従って、第1ストレージ1の外部に設けられている管理機能を外部マネージャ4と呼び、第1ストレージ1内に設けられている管理機能を内部マネージャ6と呼ぶ。
アプリケーションプログラム5は、例えば、顧客管理プログラム、電子メール管理プログラム、売上げ管理プログラム、文書管理プログラム等のような各種アプリケーション用のプログラムである。ホスト3には複数のアプリケーションプログラム5を設けることができるが、説明の便宜上、一つだけ示す。なお、図1の例では、アプリケーションプログラム5は、ストレージ1内の論理ボリューム8Aを使用するものとする。
外部マネージャ4は、例えば、コマンド発行部4Aと、優先度設定部4Bと、管理テーブル4Cと、テーブル設定部4Dとを備える。コマンド発行部4Aは、アプリケーションプログラム5からの要求に対応する一つまたは複数のコマンドを発行する。
例えば、アプリケーションプログラム5が論理ボリューム8A内のデータの読み出しを要求する場合、コマンド発行部4Aは、ストレージ1内の論理ボリューム8Aに向けて、リードコマンドを発行する。例えば、アプリケーションプログラム5が論理ボリューム8Aへのデータの書込みを要求する場合、コマンド発行部4Aは、論理ボリューム8Aに向けてライトコマンドを発行する。
優先度設定部4Bは、コマンド発行部4Aから発行される各種コマンドについて、優先度をそれぞれ設定する。「第1管理テーブル」としての管理テーブル4Cは、例えば、複数のテーブルを含んで構成することができる。
例えば、管理テーブル4Cを構成する一つのテーブルには、各コマンドの種別毎に優先度が予め対応付けられている。管理テーブル4Cを構成する別の一つのテーブルには、各優先度毎の起動比率が予め対応付けられている。例えば、優先度が高くなるほど起動比率が大きくなるように設定される。つまり、優先されるべきコマンドの起動比率は高く設定される。
このように構成される管理テーブル4Cを参照することにより、各コマンドに設定されている優先度を検出することができ、その優先度に設定されている起動比率を得ることができる。つまり、管理テーブル4Cを用いることにより、各コマンド別の起動比率が求められる。
なお、第1ストレージ1の内部マネージャ6に設けられている管理テーブル6Dも、管理テーブル4Cと同様に、各コマンド別の優先度を管理するためのテーブルと、各優先度毎に起動比率を管理するためのテーブルとが設けられている。各管理テーブル4C,6Dには、コンピュータシステム内で使用される全てのコマンドについて、それぞれの優先度が設定されている。
テーブル設定部4Dは、ユーザからの指示に基づいて、各管理テーブル4C,6Dをそれぞれ設定する。ユーザは、例えば、各優先度毎の起動比率を外部マネージャ4に手動で入力することができる。テーブル設定部4Dは、ユーザの指示に応じて管理テーブル4Cを設定し、さらに、管理テーブル6Dも設定する。
また、テーブル設定部4Dは、内部マネージャ6からの要求に基づいて、管理テーブル4Cの内容を再設定する。つまり、後述のように、内部マネージャ6が所定のコマンドに設定されている優先度の変更を要求すると、テーブル設定部4Dは、管理テーブル4Cの内容を更新させる。
ストレージ1,2について説明する。ストレージ1,2とホスト3とは、例えば、FC_SAN(Fibre Channel_Storage Area Network)やIP_SAN(Internet Protocol_SAN)等の通信ネットワークを介して接続される。なお、IP_SANには、例えば、iSCSI(internet Small Computer System Interface)やFCoE(Fibre Channel over Ethernet(Ethernetは登録商標))が含まれる。
「記憶制御装置」としてのストレージ1,2は、例えば、コントローラと、コントローラによって制御される複数の記憶装置とを備えて構成される。コントローラの提供する機能には、例えば、内部マネージャ6及びバックアップ処理部7がある。
記憶装置としては、例えば、ハードディスク装置、半導体メモリ装置、光ディスク装置、光磁気ディスク装置、磁気テープ装置、フレキシブルディスク装置等の、データを読み書き可能な種々の装置を利用可能である。記憶装置としてハードディスク装置を用いる場合、例えば、FC(Fibre Channel)ディスク、SCSI(Small Computer System Interface)ディスク、SATAディスク、ATA(AT Attachment)ディスク、SAS(Serial Attached SCSI)ディスク等を用いることができる。
記憶装置として半導体メモリ装置を用いる場合、例えば、フラッシュメモリ、FeRAM(Ferroelectric Random Access Memory)、MRAM(MagnetoresistiveRandom Access Memory)、相変化メモリ(Ovonic Unified Memory)、RRAM(Resistance RAM)」等の種々のメモリ装置を利用可能である。
記憶装置の有する物理的記憶領域上に、論理ボリューム8A,8Bが形成される。論理ボリューム8A,8Bは、例えば、RAID5やRAID6のような冗長化された物理的記憶領域上に設けることができる。なお、以下の説明では、「論理ボリューム」を「ボリューム」と略記する場合がある。
内部マネージャ6は、例えば、起動順序制御部6Aと、コマンド実行部6Bと、優先度更新部6Cと、管理テーブル6Dと、優先度設定部6Eとを備えている。起動順序制御部6Aは、各コマンドに対応付けられる起動比率に基づいて、各コマンドの実行を制御するものである。例えば、起動比率が60%のコマンドC1と、起動比率がそれぞれ20%ずつのコマンドC2,C3とがある場合、起動順序制御部6Aは、コマンドC1が10回に6回の頻度で実行され、各コマンドC2,C3が10回に2回ずつの頻度で実行されるように、制御する。
コマンド実行部6Bは、起動順序制御部6Aによって選択されたコマンドを実行する機能である。説明の便宜上一つのみ示すが、コマンド実行部6Bは、各コマンド毎にそれぞれ用意することができる。
優先度設定部6Eは、ストレージ1の内部で発行されるコマンドに、優先度を設定するための機能である。優先度設定部6Eは、管理テーブル6Dに基づいて、ストレージ1内部で発行されるコマンドに所定の優先度を設定する。
上述の通り、本実施例では、ホスト3から発行されるコマンドと、ストレージ1内で発行されるコマンドとの2種類のコマンドが実行される。ホスト3から発行されるコマンドは「第1コマンド」に該当し、ストレージ1内で発行されるコマンドは「第2コマンド」に該当する。以下の説明では、理解を容易にするために、ホスト3から発行されるコマンドを「ホストコマンド」と、ストレージ1内部で発行されるコマンドを「内部コマンド」と、それぞれ呼ぶことにする。
内部コマンドとして、本実施例では、バックアップ処理部7で使用されるコマンドを例に挙げる。本実施例では、例えば、ストレージ1内の論理ボリューム8Bとストレージ2内の論理ボリューム8Cとの間でデータをコピーするためのコマンドが、コマンド発行部7Aから発行される。
上述の通り、管理テーブル6Dには、各コマンド毎に優先度が予めそれぞれ設定されている。そこで、優先度設定部6Eは、管理テーブル6Dを参照することにより、コマンド発行部7Aから発行される内部コマンドに優先度を設定する。
起動順序制御部6Aは、ホスト3から受信したホストコマンドとバックアップ処理部7から受領した内部コマンドとのそれぞれの実行頻度(起動順序)を、ホストコマンドの優先度(第1優先度)と内部コマンドの優先度(第2優先度)とに基づいて制御する。
優先度更新部6Cは、例えば、内部コマンドの実行頻度が予め設定される目標値に一致するように、ホストコマンドに設定される優先度または内部コマンドに設定される優先度のいずれか又は双方を調整する。
例えば、内部コマンドの実行頻度が目標値に達していない場合、優先度更新部6Cは、内部コマンドの優先度を上げるか、あるいは、ホストコマンドの優先度を下げることができる。例えば、内部コマンドの実行頻度が目標値を超えている場合、優先度更新部6Cは、内部コマンドの優先度を下げるか、あるいは、ホストコマンドの優先度を上げることができる。
なお、優先度更新部6Cは、ホストコマンドの実行頻度が目標値に一致するように、ホストコマンドの優先度または内部コマンドの優先度のいずれか又は両方を調整することも可能である。
後述の実施例で明らかとなるように、優先度更新部6Cは、制御対象のコマンドの実行頻度が急激に変化しないように、ホストコマンドの優先度または内部コマンドの優先度のいずれか又は両方を変化させることができる。
第1ストレージ1は、複数の論理ボリューム8A,8Bを備えている。一方の論理ボリューム8Aは、ホスト3に提供されている。アプリケーションプログラム5は、論理ボリューム8Aにアクセスして、データの読み書きを行う。
他方の論理ボリューム8Bは、第2ストレージ2内の論理ボリューム8Cとコピーペアを形成する。バックアップ処理部7は、定期的に又は不定期に、論理ボリューム8Bの記憶内容と論理ボリューム8Cの記憶内容との差分データを、論理ボリューム8Bから論理ボリューム8Cに転送させる。これにより、論理ボリューム8Bの記憶内容と論理ボリューム8Cの記憶内容は一致する。
ホスト3による論理ボリューム8Aへのアクセス処理と、各論理ボリューム8B,8C間のコピー処理とは、全く無関係とする構成でもよいし、両方の処理が関連を有する構成でもよい。
例えば、論理ボリューム8Aを正ボリューム、論理ボリューム8Bを副ボリューム、論理ボリューム8Cをバックアップボリュームとして使用することもできる。論理ボリューム8Aの記憶内容は、副ボリュームである論理ボリューム8Bにも記憶される。さらに、論理ボリューム8Bの記憶内容を、第2ストレージ2内の論理ボリューム8Cにコピーさせる。これにより、データのバックアップを複数設けることができ、耐障害性を向上させることができる。
本実施例によるコンピュータシステムは、以下のように動作する。アプリケーションプログラム5からの要求に応じてホストコマンドが発行される場合、優先度設定部4Bは、管理テーブル4Cを参照して、そのホストコマンドに優先度を設定する。管理テーブル4C,6Dには、各ホストコマンド及び各内部コマンドのそれぞれに関する優先度と、各優先度毎の起動比率とが管理されている。コマンド発行部4Aは、優先度の設定されたホストコマンドを第1ストレージ1に送信する。
第1ストレージ1の内部では、バックアップ処理部7が、バックアップスケジュールに基づいて、バックアップ用の内部コマンドを発行する。優先度設定部6Eは、管理テーブル6Dを参照することにより、その内部コマンドに優先度を設定する。コマンド発行部7Aは、優先度の設定された内部コマンドを内部マネージャ6に送信する。
起動順序制御部6Aは、ホストコマンド及び内部コマンドをそれぞれ受信し、待機キューに格納させる。起動順序制御部6Aは、ホストコマンドの優先度と内部コマンドの優先度とに基づいて、待機キューからホストコマンド又は内部コマンドを所定の頻度で取り出し、コマンド実行部6Bに引き渡す。コマンドの実行結果は、そのコマンドの発行元に送信される。
優先度更新部6Cは、ホストコマンドまたは内部コマンドのうち制御対象のコマンドの実行頻度が目標値に一致するか否かを監視している。優先度更新部6Cは、制御対象コマンドの実行頻度が目標値と一致しない場合、または、ユーザから指示があった場合、のいずれかの場合に、ホストコマンドの優先度または内部コマンドの優先度のいずれか一方又は両方を変更させる。優先度更新部6Cからの要求によって、各管理テーブル4C,6Dの内容はそれぞれ更新される。
このように構成される本実施形態では、外部マネージャ4と内部マネージャ6とが連携して動作することにより、ホストコマンドの実行頻度と内部コマンドの実行頻度とを自動的に調整することができる。従って、バックアップ処理のようなバックグラウンドで行われる処理によって、ホストコマンドに関する応答性能が低下するのを抑制でき、サービス品質の低下を防止して、使い勝手を改善することができる。以下、本実施形態を詳細に説明する。
図2は、本実施例によるコンピュータシステムの全体概要を示す説明図である。先に図1との対応関係について説明すると、第1ストレージ10は図1中の第1ストレージ1に、第2ストレージ20は図1中の第2ストレージ2に、ホスト30は図1中のホスト3に、それぞれ対応する。
このコンピュータシステムは、例えば、第1ストレージ10と、第2ストレージ20と、ホスト30と、管理サーバ40とを備えている。各ストレージ10,20とホスト30とは、第1通信ネットワークCN10を介して相互通信可能に接続されている。第1ストレージ10と第2ストレージ20とは、第2通信ネットワークCN20を介して相互通信可能に接続される。第1通信ネットワークCN1及び第2通信ネットワークCN20は、例えば、FC_SANやIP_SANのように構成される。管理サーバ40と、各ストレージ10,20及びホスト30とは、第3通信ネットワークCN30を介して相互通信可能に接続されている。第3通信ネットワークCN30は、例えば、LAN(Local Area Network)のように構成することができる。なお、第1通信ネットワークCN10のみで、各ストレージ10,20と、ホスト30と、管理サーバ40とを相互通信可能に接続する構成でもよい。
ホスト30は、例えば、マイクロプロセッサ31と、メモリ32と、I/O用通信インターフェース33と、管理用通信インターフェース34と、補助記憶装置35とを備えて構成される。
管理サーバ40は、コンピュータシステムの状態を管理する装置である。管理サーバ40は、例えば、マイクロプロセッサやメモリ及び通信インターフェース等を含んで構成されており、各ストレージ10,20やホスト30の状態を監視する。監視対象の情報としては、例えば、キャッシュメモリ使用量、ボリューム使用量、I/O量等を挙げることができる。
第1ストレージ10は、例えば、コントローラ100と記憶装置搭載部120(以下、HDU120)とを備えている。コントローラ100は、ストレージ装置10の動作を制御するものである。コントローラ100は、例えば、チャネルアダプタ110(以下、CHA110)と、ディスクアダプタ111(以下、DKA111)と、キャッシュメモリ112(図中、CM)と、共有メモリ(図中、SM)113と、接続制御部(図中、SW)114と、サービスプロセッサ115(以下、SVP115)とを備える。
CHA110は、ホスト30または第2ストレージ20との間でデータ通信を行う装置である。CHA110は、少なくとも一つ以上の通信ポートを備える。通信ポートには、例えば、IP(Internet Protocol)アドレスやWWN(World Wide Name)のようなネットワークアドレスが対応付けられている。
DKA111は、HDU120が有するディスクドライブ121との間でデータ授受を行う装置である。DKA111は、CHA110と同様に、CPUやメモリ等を備えたマイクロコンピュータシステムとして構成される。DKA111は、例えば、CHA110がホスト30から受信したデータを、所定のディスクドライブ121に書込む。また、DKA111は、所定のディスクドライブ121からデータを読み出し、ホスト30または第2ストレージ20に送信することもできる。DKA111は、ディスクドライブ121との間でデータ入出力を行う場合、論理的なアドレス(LBA:Logical Block Address))を物理的なアドレスに変換する。
DKA111は、ディスクドライブ121がRAIDに従って管理されている場合、RAID構成に応じたデータアクセスを行う。例えば、DKA111は、同一のデータを別々のディスクドライブ群(RAIDグループ)にそれぞれ書き込んだり(RAID1)、あるいは、パリティ計算を実行して、データ及びパリティをディスクドライブ群に書き込む(RAID5、RAID6等)。
キャッシュメモリ112は、ホスト30または第2ストレージ20から受信したデータを記憶する。また、キャッシュメモリ112は、ディスクドライブ121から読み出されたデータを記憶する。
共有メモリ113には、第1ストレージ10の作動に使用するための各種制御情報等が格納される。また、共有メモリ113には、ワーク領域が設定されるほか、後述する各種テーブル類も格納される。
なお、ディスクドライブ121のいずれか一つあるいは複数を、キャッシュ用のディスクとして使用してもよい。また、キャッシュメモリ112と共有メモリ113とは、それぞれ別々のメモリとして構成することもできるし、同一のメモリの一部の記憶領域をキャッシュ領域として使用し、他の記憶領域を制御領域として使用することもできる。
接続制御部114は、各CHA110,各DKA111,キャッシュメモリ112及び共有メモリ113を相互に接続させる。接続制御部114は、例えば、クロスバスイッチ等として構成される。
HDU120は、複数のディスクドライブ121を備える。ディスクドライブ121としては、例えば、ハードディスクドライブ、フラッシュメモリデバイス、フレキシブルディスクドライブ、磁気テープドライブ、半導体メモリドライブ、光ディスクドライブ等のような各種記憶装置及びこれらの均等物を用いることができる。
例えば、複数のディスクドライブ121の物理的記憶領域を一つにまとめてRAIDグループ122を構成することができる。このRAIDグループ122の物理的記憶領域に、固定サイズまたは可変サイズの論理ボリューム123を少なくとも一つ以上設けることができる。なお、一つのディスクドライブ121の物理的記憶領域に一つまたは複数の論理ボリューム123を設けることもできる。図中では、論理ボリュームを「LDEV(Logical DEVice)」と表示する場合がある。
SVP115は、LAN等の内部ネットワークを介して、各CHA110とそれぞれ接続されている。SVP115は、CHA110を介して、共有メモリ113やDKA111とデータ授受を行うことができる。SVP115は、第1ストレージ10内の各種情報を収集し、管理サーバ40に提供する。
第2ストレージ20も第1ストレージ10と同様に構成可能である。第2ストレージ20は、コントローラ200とHDU220とを備える。HDU220は、複数のディスクドライブ221を備えている。論理ボリューム223は、ディスクドライブ221の有する物理的記憶領域を利用して生成される。
第1ストレージ10と第2ストレージ20とは、同一構成としてもよいし、異なる構成であってもよい。例えば、第1ストレージ10と第2ストレージ20とが、ベンダ、機種、型式、キャッシュメモリサイズ等の点で異なっている場合でも、本発明を適用することができる。
図3は、外部マネージャ301と内部マネージャ101の構成をそれぞれ簡略化して示す説明図である。上述の通り、本実施例では、ストレージ装置をコンピュータシステムの中心に据えているため、ストレージ10,20の外部に位置する管理機能を外部マネージャと呼び、ストレージ内の管理機能を内部マネージャと呼ぶ。
「第1管理部」としての外部マネージャ301は、例えば、コマンド優先度管理テーブルT30と、起動比率管理テーブルT31と、コピー完了時間T32とを備える。これらの各テーブルT30〜T32は「第1管理テーブル」に該当する。各テーブルT30〜T31の詳細は、図5と共に後述する。
「第2管理部」としての内部マネージャ101は、コントローラ100内に設けられている。内部マネージャ101は、例えば、コマンド優先度管理テーブルT10と、起動比率管理テーブルT11と、目標値管理テーブルT12とを備える。コントローラ100は、コピー管理テーブルT13及びボリューム管理テーブルT14を備える。各テーブルT10〜T14の詳細は、図6,図7と共に後述する。
図4は、ホストコマンドの起動比率(実行頻度)と内部コマンドの起動比率(実行頻度)とが段階的に調整されていく様子を示す説明図である。ここで、ホストコマンドとは、ホスト30から発行されるコマンドを意味する。内部コマンドとは、ストレージ装置の内部で発行されるコマンドを意味する。内部コマンドは、例えば、第1ストレージ10内で発行される。
図4では、リモートコピーを例に挙げて説明する。リモートコピーとは、一方のストレージから他方のストレージにデータをコピーさせる処理である。これにより、物理的に離れた複数のストレージ内に同一のデータを保持させることができる。
リモートコピーは、初期コピー(形成コピー)と、更新コピーとに大別される。初期コピーは、リモートコピーのペアを形成する複数の論理ボリューム間において、記憶内容を同一にする処理である。つまり、初期コピーとは、コピー元ボリュームに記憶されている全ブロックデータを、コピー先ボリュームに転送して記憶させる処理である。更新コピーとは、初期コピー完了後に生じたライトデータをコピー元ボリューム及びコピー先ボリュームの両方に書き込む処理である。
図4(a)では、第1ストレージ10内の第1ボリューム123(PVOL1)から第2ストレージ20内の第2ボリューム223(SVOL2)に向けてデータがコピーされている。つまり、ボリューム123(PVOL1)がコピー元ボリューム、ボリューム223(SVOL2)がコピー先ボリュームであり、コピー元ボリューム(PVOL1)からコピー先ボリューム(SVOL2)に向けて初期コピーが実行されている。
図4(b)では、初期コピーの途中で、別のリモートコピーペア(PVOL2とSVOL1)について更新コピーが実行されている。ホスト30から送信された更新データは、第1ストレージ10内の第2ボリューム(PVOL2)と、第2ストレージ20内の第1ボリューム(SVOL1)とにそれぞれ書き込まれる。もしも、初期コピーに関するコマンドの優先度が高い場合、ストレージ10,20の各種資源(キャッシュメモリ量や通信帯域等)の多くが初期コピーのために使用される。この場合、更新コピーに割り当てられる資源の量は少なくなり、応答性能は低下する。
図4(c)では、初期コピーの優先度を低下させることにより、あるいは、更新コピーの優先度を上げることにより、初期コピーの起動比率と更新コピーの起動比率とを調節している。
なお、図4では、更新コピーがホストコマンドによって実行され、初期コピーが内部コマンドにより実行される場合を例に挙げたが、これとは逆に、更新コピーを内部コマンドにより実行し、初期コピーをホストコマンドにより実行することもできる。さらに、リモートコピーに限らず、例えば、データマイグレーション処理等にも適用できる。データマイグレーション処理とは、例えば、データの価値の変動に応じて、そのデータの記憶先を変更する処理である。
図5は、外部マネージャ301によって使用される各テーブルT30〜T31の構成例を示す説明図である。
コマンド優先度管理テーブルT30は、各コマンド別にそれぞれ対応付けられる優先度を管理するテーブルである。コマンド優先度管理テーブルT30は、例えば、各コマンドを識別するためのコマンド欄C300と、各コマンドに設定される優先度を示す優先度欄C301とを備える。
コマンド欄C300には、ホストコマンド及び内部コマンドがそれぞれ登録される。コマンド欄C300には、コンピュータシステム内で使用される全てのホストコマンド及び全ての内部コマンドを事前に登録することができる。つまり、コンピュータシステム内で使用される全てのコマンドについて、予め優先度を設定する構成でもよい。これに代えて、コマンド欄C300に一部のホストコマンド及び一部の内部コマンドのみを事前に登録する構成でもよい。この場合、コマンド欄C300に登録されていないコマンドには、初期値として予め用意されている優先度を用いる構成とすればよい。
優先度欄C301には、例えば、P0〜P15の16段階で優先度が設定される。本実施例では、優先度の値が小さくなるほど優先して実行される。なお、16段階に限らず、16未満または17以上の段階で優先度を設定する構成でもよい。
起動比率管理テーブルT31は、各優先度毎の起動比率を管理するテーブルである。この管理テーブルT31は、例えば、優先度が設定される優先度欄C310と、起動比率が設定される起動比率欄C311とを備えている。
コピー完了時間T32は、コピー処理に要する時間tcを管理する。コピー完了に要する時間であるから、コピー所要時間とも呼ぶ。コピー処理としては、例えば、初期コピー、バックアップコピー等を挙げることができる。コピー所要時間tcは、例えば、ユーザによって設定される。例えば、コピー処理の開始から8時間以内にコピー処理の終了を希望するユーザは、コピーtcとして8時間を設定する。
図6は、内部マネージャ101により使用される各テーブルT10〜T12の構成例を示す説明図である。コマンド優先度管理テーブルT10は、コマンド優先度管理テーブルT30と同様に、各コマンドを識別するためのコマンド欄C100と、各コマンド毎の優先度を示す優先度欄C101とを備える。この管理テーブルT10は、外部マネージャ301により使用される管理テーブルT30と同一構成である。つまり、本実施例では、先に管理テーブルT30が作成され、管理テーブルT30の内容が外部マネージャ301から内部マネージャ101に送信される。これにより、内部マネージャ101は、管理テーブルT30と同一内容の管理テーブルT10を作成する。
起動比率管理テーブルT11は、各優先度毎の起動比率をそれぞれ管理するテーブルである。この管理テーブルT11は、各優先度を示す優先度欄C110と、各優先度毎の起動比率を示す起動比率欄C111とを備える。図6に示す起動比率管理テーブルT11は、図5に示す管理テーブルT31と同一である。
目標値管理テーブルT12は、制御対象の処理(制御対象のコマンド)についての目標値を管理するテーブルである。本実施例では、コピーコマンドを制御対象にする場合を説明する。目標値管理テーブルT12は、例えば、コピー対象のトラック数LTを示す欄C120と、目標コピー速度VCSを示す欄C121と、実測されたコピー速度VCAを示す欄C122とを備えている。目標コピー速度VCSは、コピー対象の全トラック数をコピー完了時間tcで除算することにより、求めることができる。後述のように、内部マネージャ101は、目標値管理テーブルT12を用いることにより、コマンドの優先度を変更させる。
図7は、第1ストレージ10内の第1コントローラ100に記憶されている、他の管理テーブルT13,T14の構成例を示す。コピー管理テーブルT13は、論理ボリューム間のコピーを管理するためのテーブルである。
コピー管理テーブルT13は、例えば、各コピーペアを識別するための番号欄C130と、コピー元ボリュームを識別するためのコピー元ボリューム欄C131と、コピー先ボリュームを識別するためのコピー先ボリューム欄C132と、差分を管理するための情報を識別するための差分管理欄C133と、コピーペアの状態を示すための状態欄C134と、その他の欄C135とを備えて構成することができる。
差分管理欄C133は、コピー元ボリュームとコピー先ボリュームとの間の差分データを管理するための情報を特定する。差分データを管理するための情報としては、例えば、差分ビットマップ等を挙げることができる。
その他の欄C135では、例えば、コピーの進捗状況やコピー開始時刻、終了予定時刻等を管理することができる。
ボリューム管理テーブルT14は、第1ストレージ10及び第2ストレージ20の有する論理ボリュームを管理するためのテーブルである。本実施例では、第1ストレージ10が代表ストレージとして、第2ストレージ20内の論理ボリューム223も一緒に管理する場合を説明する。
ボリューム管理テーブルT14は、例えば、番号欄C140と、LUN欄C141と、サイズ欄C142と、VDEV番号欄C143と、PDEV番号欄C144と、アクセス経路情報欄C145と、その他の欄C146とを備える。
LUN欄C141は、各論理ボリュームに対応付けられるLUN(Logical Unit Number)を管理する。サイズ欄C142は、各論理ボリュームの記憶容量を管理する。VDEV欄C143は、各論理ボリュームが対応付けられている中間記憶デバイス(VDEV:Virtual DEVice)を管理する。PDEV欄C144は、各論理ボリュームが対応付けられている物理的記憶デバイス(PDEV:Physical DEVice)を管理する。アクセス経路情報欄C145は、論理ボリュームにアクセスするための経路を管理する。
中間記憶デバイスとは、図2に示すRAIDグループ122が該当する。物理的記憶デバイスとは、図2に示すディスクドライブ121が該当する。中間記憶デバイス122は、物理的記憶デバイス121の有する物理的記憶領域を仮想化したものである。この仮想化された物理的記憶領域の一部を利用して、論理ボリューム123が形成される。
ここで、後述のように、第1ストレージ10内には、2種類の中間記憶デバイス122を設けることができる。一つの種類の中間記憶デバイス122は、第1ストレージ10内のディスクドライブ121に直接対応付けられている。ディスクドライブ121に直接対応付けられている中間記憶デバイス122を用いて生成される論理ボリューム123を、内部ボリュームと呼ぶことができる。
他の一つの種類の中間記憶デバイス122は、図16に示すように、第2ストレージ20内の論理ボリューム223に対応付けられており、第1ストレージ10内のディスクドライブ121とは無関係である。第1ストレージ10の外部に存在する論理ボリューム223に対応付けられる中間記憶デバイス122を用いて生成される論理ボリューム123Vを、外部ボリュームと呼ぶことができる。
外部ボリューム123Vは、中間記憶デバイス122を介して、第2ストレージ20内の論理ボリューム223に対応付けられる。外部ボリューム123V内のデータは、実際には、その外部ボリューム123Vに対応する論理ボリューム223を構成するディスクドライブ221に記憶されている。
第1ストレージ10の第1コントローラ100が、外部ボリューム123Vを書込先とするライトコマンドをホスト30から受信した場合を説明する。第1コントローラ100は、ボリューム管理テーブルT14を参照して、書込先を第2ストレージ20内の論理ボリューム223に変更する。そして、第1コントローラ100は、その論理ボリューム223にアクセスするための経路を特定し、その論理ボリューム223に向けてライトコマンド及びライトデータを送信する。第2ストレージ20の第2コントローラ200は、第1コントローラ100から受信したライトデータをキャッシュメモリに記憶し、そのライトデータを論理ボリューム223に書き込む。
第1コントローラ100が、外部ボリューム123Vを読出し先とするリードコマンドをホスト30から受信した場合、第1コントローラ100は、外部ボリューム123Vに対応する論理ボリューム223からデータを読み出して、ホスト30に送信する。
このように、第1ストレージ10は、第2ストレージ20の有する記憶資源(論理ボリューム223)を、それがあたかも第1ストレージ10の内部ボリュームであるかのようにホスト30に見せかけることができ、実際、内部ボリュームであるかのように使用することができる。第1ストレージ10が内部ボリューム123に提供する各種の機能は、外部ボリューム123Vにも同様にして提供される。
図8は、リモートコピー処理の動作を示すフローチャートである。第1ストレージ10をコピー元ストレージ、第2ストレージ20をコピー先ストレージとする。第1ストレージ10内の論理ボリューム123が正ボリューム(コピー元ボリューム)であり、第2ストレージ20内の論理ボリューム223が副ボリューム(コピー先ボリューム)であるとする。なお、説明の便宜上、コピー元ボリュームは、第1ストレージ10の内部ボリューム123であるとする。
以下に示す各フローチャートは、本発明の理解及び実施に必要な範囲で各処理の概要をそれぞれ示しており、実際のコンピュータプログラムと相違する可能性がある。また、いわゆる当業者であれば、図示されたステップの変更や削除、順番の入れ替え、新たなステップの追加を容易に行うことができるであろう。
まず最初に、初期コピーが実行される(S10,S11,S20)。第1ストレージ10の第1コントローラ100は、正ボリューム123の記憶内容を第2ストレージ20に転送する(S10)。第2ストレージ20の第2コントローラ200は、第1ストレージ10から受信したデータを副ボリューム223に記憶させる(S20)。正ボリューム123に記憶されている全データを副ボリューム223に書き込むまで、S10,S20が繰り返し実行される(S11)。
初期コピーが完了すると(S11:YES)、ホスト30からの更新に応じて(S12:YES)、更新コピーが実行される。第1コントローラ100は、ホスト30から受信したデータをキャッシュメモリ112に記憶させた後で(S13)、ホスト30に更新完了を報告する(S14)。即ち、正ボリューム123に対応するディスクドライブ121にデータを記憶させる前に、ホスト30に処理完了を報告する。ディスクドライブ121へのデータの書込みは、別のタイミングで行われる。このような非同期式の処理に代えて、ホスト30から受信したデータをディスクドライブ121に書き込んだ後で、ホスト30に処理完了を報告する構成でもよい。
第1コントローラ100は、正ボリューム123に書き込まれたデータについて、差分管理を行う(S15)。差分管理とは、初期コピーの完了後に生じた差分データの位置等を管理する処理である。
第1コントローラ100は、所定のタイミングで、更新データを副ボリューム223に送信する(S16)。第2コントローラ200は、更新データを受信すると(S21:YES)、受信した更新データを副ボリュームに記憶させる(S23)。
所定のタイミングとしては、例えば、更新データが所定量以上蓄積された場合等を挙げることができる。なお、正ボリューム12への更新データ書込みと同時に、副ボリューム223に更新データを書き込むようにしてもよい。
第1コントローラ100は、デステージ処理を行う(S17)。デステージ処理とは、キャッシュメモリ112に記憶された更新データを、正ボリューム123に対応するディスクドライブ121に書き込む処理である。図示は省略するが、第2コントローラ200も、適当なタイミングでデステージ処理を行う。
このように、リモートコピー処理は、初期コピー処理と更新コピー処理とを含んで構成される。コンピュータシステムには、リモートコピーのペアを複数設けることができ、各コピーペア毎にそれぞれ並列的に動作可能である。従って、あるコピーペアが初期コピーを実施している最中に、別のコピーペアが更新コピーを行う場合がある。あるコピーペア間の初期コピーがストレージの資源の多くを使用している場合、他のコピーペアに関する更新コピーの処理が遅れる可能性がある。
そこで、本実施例では、図9以下に示すように、ホストコマンド(例えば、更新コピーの契機となる更新要求等)と内部コマンド(例えば、初期コピー等)の起動比率を調整し、ホスト30への応答性能を改善する。
図9は、本実施例による動作の全体概要を示すフローチャートである。図8に示す処理は、各設定値等を設定するための準備段階(S30〜S33)と、設定された値に基づいて制御を行う実行段階(S34)と、制御の実行結果に応じて設定値を見直す修正段階(S35〜S38)とに分けることができる。
ユーザは、キーボードスイッチ等のユーザインターフェースを介して、外部マネージャ301に目標値及び起動比率をそれぞれ設定する(S30)。本実施例では、目標値を算出するための基礎データとして、図5に示すコピー完了時間tcの値が、ユーザにより設定される。続けてユーザは、各優先度別の起動比率を設定する(S30)。ユーザは、各優先度毎に、起動比率をそれぞれ設定することができる。ユーザから入力された時間tcは、テーブルT32に登録される(S30)。同様に、ユーザから入力された起動比率は、起動比率テーブルT31に登録される(S30)。
S30で設定された目標値(コピー完了時間tc)及び起動比率は、外部マネージャ301から内部マネージャ101に送信される。内部マネージャ101は、受信した起動比率を起動比率管理テーブルT11に登録する(S31)。さらに、内部マネージャ101は、図11で述べるように、コピー完了時間tc等に基づいて、目標値管理テーブルT12を作成する(S31)。
なお、ユーザが各コマンド毎に優先度を設定できる構成としてもよい。さらに、ユーザによる起動比率の設定を廃止してもよい。例えば、各優先度別の起動比率は、固定値としてもよいし、起動比率設定プログラム等によって自動的に設定及び変更する構成としてもよい。
ホスト30がホストコマンドを発行する場合、外部マネージャ301は、コマンド優先度管理テーブルT30を用いることにより、そのホストコマンドに対応する優先度を該ホストコマンドに設定する(S32)。
第1ストレージ10の第1コントローラ100が内部コマンドを発行する場合、内部マネージャ101は、コマンド優先度管理テーブルT10を用いることにより、その内部コマンドに対応する優先度を該内部コマンドに設定する(S33)。
内部マネージャ101は、ホストコマンド及び内部コマンドをそれぞれ受領し、ホストコマンドの優先度及び内部コマンドの優先度に応じて、各コマンドの起動比率を制御する(S34)。
図10を参照する。図10は、起動比率に応じて、コマンドの実行順序をスケジューリングする様子を示す説明図である。内部マネージャ101は、各優先度P0〜Pn毎のキューQ0〜Qnを備えている。内部マネージャ101に受信されたコマンドCMDは、設定されている優先度に応じたキューに格納される。図10中、ホストコマンドをCMD(H)と、内部コマンドをCMD(S)と表示している。
内部マネージャ101は、各キューQ0〜Qnを順番に検索し、キューにコマンドCMDが格納されている場合は、そのコマンドをキューから取り出して起動させる。この際、内部マネージャ101は、各キューQ0〜Qnから起動されるコマンドの数が、各優先度P0〜Pnの起動比率R0〜Rnとなるように、調節する。
図9に戻る。内部マネージャ101は、目標値である目標コピー速度VCSと実測値である実測コピー速度VCAとを比較し、両者が一致するか否かを判定する。目標値と実測値が一致しない場合(S35:NO)、優先度更新処理が実行される(S36)。優先度更新処理では、図13で後述するように、目標値と実測値とが一致するようにして、かつ、起動比率の変化ができるだけ少なくなるようにして、コマンドに対応付けられる優先度を変更する(S36)。
目標値と実測値とが一致する場合(S35:YES)、外部マネージャ301は、ユーザの希望に応じて、モニタ情報をユーザに提供する(S37)。ここで、モニタ情報とは、コマンドの起動比率制御に関する情報であり、例えば、目標値VCS及び実測値VCA等が含まれている。
ユーザは、モニタ情報に基づいて目標値を再設定するか否かを判断する(S38)。ユーザが現在の目標値に満足せず、再設定を希望する場合(S38:NO)、S30に戻る。ユーザが現在の目標値に満足している場合(S38:YES)、S32に戻る。なお、ユーザが目標値の再設定について判断する構成に代えて、予め用意された閾値等に基づいて、目標値を自動的に制御する構成としてもよい。
図11は、目標値管理テーブルT12を作成するための処理を示す。この処理は、図9中のS30内で実行される。ユーザは、コピー完了時間tcを外部マネージャ301に設定する(S50)。外部マネージャ301は、コピー完了時間tcを内部マネージャ101に送信する(S51)。
内部マネージャ101は、コピー完了時間tcを受信すると(S52)、例えば、コピー管理テーブルT13等を参照することにより、コピー対象トラック数LTを検出する(S53)。内部マネージャ101は、コピー対象トラック数をコピー完了時間tcで除算することにより、目標コピー速度VCSを算出する(S54)。内部マネージャ101は、S54で算出された目標コピー速度VCSとS53で検出したコピー対象トラック数LTとを、目標値管理テーブルT12にそれぞれ登録する(S55)。
図12は、各優先度別に起動比率をそれぞれ設定するための処理を示すフローチャートである。この処理は、図9中のS30内で実行される。まず最初に、ユーザは、各優先度毎の起動比率を外部マネージャ301に設定する(S60)。
外部マネージャ301は、ユーザにより設定された起動比率を起動比率管理テーブルT31に登録し(S61)、さらに、その起動比率を内部マネージャ101に送信する(S62)。内部マネージャ101は、外部マネージャ301から受信した起動比率を、起動比率管理テーブルT11に登録する(S63)。
図13及び図14は、図9中にS36で示される、優先度更新処理のフローチャートである。優先度更新処理では、以下に述べるように、目標値と実測値との差に基づいて、ホストコマンドまたは内部コマンドのいずれかの優先度を低下または増加させる。
内部マネージャ101は、目標値管理テーブルT12から目標コピー速度VCS及び実測コピー速度VCAをそれぞれ取得する(S70,S71)。以下、説明の便宜上、目標コピー速度VCSを目標値VCSと、実測コピー速度VCAを実測値VCAと、それぞれ呼ぶ。
次に、内部マネージャ101は、目標値VCSと実測値VCAの大小関係を判定する(S72)。目標値VCSと実測値VCAとが一致する場合(VCS=VCA)、本処理は終了する。目標値VCSが実測値VCAを超えている場合(VCS>VCA)、つまり、ストレージ内部のコピー処理(初期コピーまたはバックアップコピー等)の速度VCAが目標値VCSよりも低い場合は、図14で後述する。
目標値VCSが実測値VCA未満の場合(VCS<VCA)、つまり、実際のコピー速度VCAの方が目標値VCSを超えている場合、内部コマンドの優先度を下げるか、または、ホストコマンドの優先度を上げることが考えられる。
そこで、内部マネージャ101は、ホストコマンドの優先度を上げた場合における、内部コマンドの起動比率RIに対するホストコマンドの起動比率RHuの比Ra(Ra=RHu/RI)を算出する(S73)。
さらに、内部マネージャ101は、内部コマンドの優先度を下げた場合における、内部コマンドの起動比率RIdに対するホストコマンドの起動比率RHの比Rb(Rb=RH/RId)を算出する(S74)。
内部マネージャ101は、S73で求めたRaとS74で求めたRbとを比較し、RaがRbよりも大きいか否かを判定する(S75)。RaがRbよりも大きい場合(S75:YES)、内部マネージャ101は、内部コマンドの優先度を低下させる(S76)。
Ra>Rbが成立する場合とは、ホストコマンドの優先度を上げた場合の変化Raの方が、内部コマンドの優先度を下げる場合の変化Rbよりも大きい場合である。従って、内部マネージャ101は、変動をできるだけ低減すべく、内部コマンドの優先度を低下させる(S76)。これにより、内部コマンドの起動比率RIが低下し、ストレージ10,20間で実行されるコピー処理の速度を相対的に低下させることができる。
RaがRbよりも小さい場合(S75:NO)、内部マネージャ101は、ホストコマンドの優先度を増加させる(S77)。これにより、ホスト30から発行されるホストコマンドの起動比率RHが上昇し、ストレージ10,20間で実行されるコピー処理の速度を相対的に低下させることができる。
図14は、目標値VCSが実測値VCAを超えている場合(VCS>VCA)のフローチャートを示す。ストレージ10,20間のコピー処理の実測値VCAが目標値VCSよりも低い場合、ホストコマンドの優先度を低下させるか、または、内部コマンドの優先度を増加させることにより、対応する。
そこで、内部マネージャ101は、ホストコマンドの優先度を下げた場合における、内部コマンドの起動比率RIに対するホストコマンドの起動比率RHdの比Ra(Ra=RHd/RI)を算出する(S80)。
さらに、内部マネージャ101は、内部コマンドの優先度を上げた場合における、内部コマンドの起動比率RIuに対するホストコマンドの起動比率RHの比Rb(Rb=RH/RIu)を算出する(S81)。
図13で述べたと同様に、内部マネージャ101は、S80で求めたRaとS81で求めたRbとを比較し、RaがRbよりも大きいか否かを判定する(S82)。RaがRbよりも大きい場合(S82:YES)、内部マネージャ101は、ホストコマンドの優先度を低下させる(S83)。
ホストコマンドの優先度を下げる場合の変化Raの方が、内部コマンドの優先度を上げる場合の変化Rbよりも大きい場合であるため、内部マネージャ101は、変動をできるだけ低減すべく、ホストコマンドの優先度を低下させる(S83)。これにより、ホストコマンドの起動比率RHが低下し、ストレージ10,20間で実行されるコピー処理の速度を相対的に高めることができる。
RaがRbよりも小さい場合(S82:NO)、内部マネージャ101は、内部コマンドの優先度を増加させる(S84)。これにより、ストレージ10,20間で実行されるコピー処理の速度を相対的に上昇させることができる。
図15は、ホストコマンドの優先度を変更させる処理のフローチャートである。この処理は、例えば、図13中のS77及び図14中のS83において、ホストコマンドの優先度を変更する場合に実行される。
内部マネージャ101は、優先度の変更対象であるホストコマンドの番号と、優先度を増加または減少させる要求とをそれぞれ取得する(S90)。つまり、内部マネージャ101は、優先度の変更対象となっているホストコマンドを特定するための情報と、そのホストコマンドの優先度を増加させるのか、それとも減少させるのかを特定するための情報とを、それぞれ取得する(S90)。
内部マネージャ101は、S90で取得した情報に基づいて、コマンド優先度管理テーブルT10を更新させる(S91)。内部マネージャ101は、外部マネージャ301にコマンド優先度管理テーブルT30の更新を要求する(S92)。外部マネージャ301は、内部マネージャ101からの要求を受信すると(S93)、コマンド優先度管理テーブルT30を更新する(S94)。
本実施例では、ユーザから入力される設定値は、外部マネージャ301に設定された後で、内部マネージャ101に伝達される。コマンド起動比率の制御が開始された後では、内部マネージャ101がストレージ側の管理テーブルT10を更新した後で、外部マネージャ301に伝達する。
本実施例は、上述のように構成されるため、外部マネージャ301と内部マネージャ101とが連携して動作し、ホストコマンドの起動比率(実行頻度)と内部コマンドの起動比率(実行頻度)とを自動的に調整できる。
この結果、例えば、初期コピー処理やバックアップ処理、あるいはデータマイグレーション処理等のような、バックグラウンドで行われる処理によって、ホストコマンドに関する応答性能が低下するのを抑制することができ、サービス品質の低下を防止して、使い勝手を改善することができる。
本実施例では、ホストコマンドまたは内部コマンドの優先度を増減する場合に、いずれか変化量の少ない方のコマンドの優先度を変更する。つまり、本実施例では、優先度の変更による影響の少ない方のコマンドについて、その優先度を変化させる。従って、起動比率を段階的に変化させることができ、ストレージ10,20の動作の安定を保ちながら、より適切にコマンドの起動比率を調節することができる。
図16,図17を参照して第2実施例を説明する。本実施例を含む以下の各実施例は、第1実施例の変形例に該当する。以下、第1実施例と重複する説明は割愛する。本実施例では、内部ボリューム123と外部ボリューム123Vとを分けて、ボリュームの種類毎に優先度を変更する。そのために、本実施例では、各コマンド毎のIOPSを(Input Output Per Second)目標値として採用する。
図16は、本実施例によるコンピュータシステムの概要を示す説明図である。本実施例の第1ストレージ10には、内部ボリューム123と、外部ボリューム123Vとが設けられている。上述の通り、外部ボリューム123Vは、第2ストレージ20内の論理ボリューム223にVDEV122を介して対応付けられている。
ホスト30は、内部ボリューム123及び外部ボリューム123Vの両方にアクセスすることができる。内部マネージャ101は、内部ボリューム123に関するコマンドと、外部ボリューム123Vに関するコマンドとの両方を監視する。
図17は、内部マネージャ101により使用されるテーブルを示す。本実施例の目標値管理テーブルT12Aは、内部ボリューム123及び外部ボリューム123Vのそれぞれについて、目標値及び実測値をIOPSの値で設定する。つまり、内部ボリューム123については、目標値IOPS(IS)及び実測値IOPS(IA)が設定されており、外部ボリューム123Vについては、目標値IOPS(ES)及び実測値IOPS(EA)が設定されている。
このように構成される本実施例においても、第1実施例と同様に、複数種類のコマンド間で起動比率を調整することができる。つまり、本実施例では、内部ボリューム123に関するコマンドの起動比率と外部ボリューム123Vに関するコマンドの起動比率とを、段階的に調整することができる。例えば、内部ボリューム123に関するコマンドをホストコマンドとして捉え、外部ボリューム123に関するコマンドを内部コマンドとして捉えることができる。これにより、第1実施例で述べた方法で、複数種類のコマンド間において、起動比率を制御することができる。
図18は、第3実施例によるコンピュータシステムで使用される目標値管理テーブルT12Bを示す。本実施例では、各コマンド種別毎にそれぞれIOPSの比率を目標値として管理する。
図18において、ホストコマンドはH−CMDと示されており、内部コマンドはI−CMDとして示されている。(HS)はホストコマンドに関する設定値を示し、(IS)は内部コマンドに関する設定値を示す。(HA)はホストコマンドに関する実測値を示し、(IA)は内部コマンドに関する実測値を示す。
このように構成される本実施例によれば、各コマンド毎に、それぞれの起動比率を自動的に調整することができ、使い勝手が向上する。
図19〜図21に基づいて第4実施例を説明する。本実施例では、第2ストレージ20内に内部マネージャ201を設ける。図19は、本実施例のコンピュータシステムを示す説明図である。
第1ストレージ10に内部マネージャは設けられておらず、第2ストレージ20に内部マネージャ201が設けられている。ホスト30の外部マネージャ301は、第1ストレージ10の第1コントローラ100を介して、内部マネージャ201と通信できるようになっている。
図20は、目標値設定処理を示すフローチャートである。ユーザが外部マネージャ301にコピー完了時間tcを設定すると(S50)、外部マネージャ301は、コピー完了時間tcを第1ストレージ10の第1コントローラ100に送信する(S100)。
第1ストレージ10の第1コントローラ100は、コピー完了時間tcを内部マネージャ201に送信する(S101)。以下、図11と共に上述した通り、内部マネージャ201は目標値管理テーブルT12を作成する(S52〜S55)。
図21は、内部マネージャ201が実測値を取得する処理のフローチャートである。外部マネージャ301は、未だコピーされていないトラックの数を、第1ストレージ10の第1コントローラ100から取得する(S110)。
外部マネージャ301は、未コピートラック数を第1コントローラ100を介して内部マネージャ201に通知する(S111)。内部マネージャ201は、未コピートラック数に基づいて、実測値VCAを算出する(S112)。
このように構成される本実施例も第1実施例と同様の効果を奏する。
図22は、第5実施例によるコンピュータシステムの全体構成を示す説明図である。本実施例では、第1ストレージ10に第1内部マネージャ101Aを設け、第2ストレージ20に第2内部マネージャ201Aを設ける。
第1内部マネージャ101Aは、コマンド優先度管理テーブルT10を保持しており、第1ストレージ10内で発行される内部コマンドに優先度を設定する。第2内部マネージャ201Aは、起動比率管理テーブルT11を保持しており、起動比率に応じて各コマンドの起動をスケジューリングする。
このように構成される本実施例も第1実施例と同様の効果を奏する。さらに、本実施例では、第1内部マネージャ101Aと第2内部マネージャ201Aとによって内部マネージャの機能を分担して実行する。従って、各ストレージ10,20の負担を軽減することができる。
なお、本発明は、上述した各実施例に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。
本発明の実施形態を示す概念図である。 本実施例によるコンピュータシステムの全体構成を示すブロック図である。 外部マネージャ及び内部マネージャの構成を示す説明図である。 複数のコマンドの起動比率が調整される様子を示す説明図である。 外部マネージャの使用するテーブルの構成を示す説明図である。 内部マネージャの使用するテーブルの構成を示す説明図である。 第1コントローラの有するテーブルの構成を示す説明図である。 リモートコピー処理を示すフローチャートである。 起動比率を制御する処理の全体を示すフローチャートである。 コマンドの起動をスケジューリングする様子を示す説明図である。 目標値設定処理のフローチャートである。 起動比率設定処理のフローチャートである。 優先度更新処理のフローチャートである。 図13に続くフローチャートである。 コマンドの優先度を変更する処理を示すフローチャートである。 第2実施例に係るコンピュータシステムの概要を示す説明図である。 内部マネージャの保持するテーブルの構成を示す説明図である。 第3実施例に係るコンピュータシステムで使用される目標値管理テーブルを示す説明図である。 第4実施例に係るコンピュータシステムの概要を示す説明図である。 目標値設定処理のフローチャートである。 実測値取得処理のフローチャートである。 第5実施例に係るコンピュータシステムの概要を示す説明図である。
符号の説明
1:第1ストレージ、2:第2ストレージ、3:ホストコンピュータ、4:外部マネージャ、4A:コマンド発行部、4B:優先度設定部、4C:管理テーブル、4D:テーブル設定部、5:アプリケーションプログラム、6:内部マネージャ、6A:起動順序制御部、6B:コマンド実行部、6C:優先度更新部、6D:管理テーブル、6E:優先度設定部、7:バックアップ処理部、7A:コマンド発行部、8A,8B,8C:論理ボリューム、10:第1ストレージ、20:第2ストレージ、30:ホストコンピュータ、31:マイクロプロセッサ、32:メモリ、33:I/O用通信インターフェース、34:管理用通信インターフェース、35:補助記憶装置、40:管理サーバ、100:第1コントローラ、101,101A:内部マネージャ、110:チャネルアダプタ、111:ディスクアダプタ、112:キャッシュメモリ、113:共有メモリ、114:接続制御部、115:サービスプロセッサ、120:記憶装置搭載部、121:ディスクドライブ(PDEV)、122:RAIDグループ(VDEV)、123:論理ボリューム(LDEV)、123V:外部ボリューム、200:第2コントローラ、201,201A:内部マネージャ、221:ディスクドライブ、223:論理ボリューム、301:外部マネージャ。

Claims (8)

  1. ホストコンピュータと、前記ホストコンピュータにより利用される複数の記憶制御装置とを備えるコンピュータシステムであって、
    前記ホストコンピュータに設けられる第1管理部であって、第1管理テーブルに基づいて、前記ホストコンピュータから発行される第1コマンドに第1優先度を対応付ける第1管理部と、
    前記複数の記憶制御装置のうち少なくともいずれか一つの所定の記憶制御装置に設けられ、前記所定の記憶制御装置から発行される第2コマンドと前記ホストコンピュータから発行される前記第1コマンドとをそれぞれ受領する第2管理部であって、(1)第2管理テーブルに基づいて前記第2コマンドに第2優先度を設定し、(2)さらに、前記第1コマンドの実行頻度と前記第2コマンドの実行頻度とを、前記第1優先度と前記第2優先度とに基づいてそれぞれ制御し、(3)さらに、前記第1コマンドまたは前記第2コマンドのうちいずれか所定のコマンドの実行頻度を、予め設定される目標値に一致させるべく、前記第1優先度または前記第2優先度の少なくともいずれか一方を調節する、第2管理部と、
    を備えるコンピュータシステム。
  2. 前記第1管理部は、ユーザからの指示に基づいて前記第1管理テーブル及び前記第2管理テーブルをそれぞれ設定し、
    前記第2管理部は、前記所定のコマンドの前記実行頻度と前記目標値との差分に基づいて、前記第1管理テーブルの内容及び前記第2管理テーブルの内容をそれぞれ更新させることにより、前記第1優先度または前記第2優先度の少なくともいずれか一方を調節するものである、請求項1に記載のコンピュータシステム。
  3. 前記第2管理部は、前記所定のコマンドの前記実行頻度の変化が少なくなるように、前記第1優先度と前記第2優先度のうちいずれか一方の優先度の値を調節する、請求項1または請求項2のいずれかに記載のコンピュータシステム。
  4. 前記第1管理部は、前記所定のコマンドの前記実行頻度に関する情報をユーザに提示することができる、請求項1〜請求項3のいずれかに記載のコンピュータシステム。
  5. 前記第1管理部は、前記第2管理部から前記所定のコマンドの前記実行頻度に関する情報を取得し、この取得した情報をユーザに提示する、請求項1〜請求項4のいずれかに記載のコンピュータシステム。
  6. 前記第1管理テーブル及び前記第2管理テーブルは、前記第1コマンド及び前記第2コマンドの各コマンド毎に予め優先度の値がそれぞれ対応付けられているコマンド別優先度管理テーブルと、前記優先度の値毎に予め起動比率が対応付けられている優先度別起動比率管理テーブルと、をそれぞれ備えている、請求項1〜請求項5のいずれかに記載のコンピュータシステム。
  7. 前記第2コマンドは、前記所定の記憶制御装置を含む複数の記憶制御装置によって処理される、請求項1〜請求項6のいずれかに記載のコンピュータシステム。
  8. ホストコンピュータから発行されるコマンドが記憶制御装置内で実行される頻度と前記記憶制御装置内で発行されるコマンドが前記記憶制御装置内で実行される頻度とを制御するためのコマンド実行頻度制御方法であって、
    第1管理テーブルに基づいて、前記ホストコンピュータから発行される第1コマンドに第1優先度を対応付けるステップと、
    第2管理テーブルに基づいて、前記記憶制御装置から発行される第2コマンドに第2優先度を対応付けるステップと、
    前記第1優先度の設定される前記第1コマンドと前記第2優先度の設定される前記第2コマンドとをそれぞれ受領するステップと、
    前記第1コマンドの実行頻度と前記第2コマンドの実行頻度とを、前記第1優先度と前記第2優先度とに基づいてそれぞれ制御するステップと、
    前記第1コマンドまたは前記第2コマンドのうちいずれか所定のコマンドの実行頻度を、予め設定される目標値に一致させるべく、前記第1優先度または前記第2優先度の少なくともいずれか一方を調節するステップと、
    をそれぞれ実行するコマンド実行頻度制御方法。
JP2008070794A 2008-03-19 2008-03-19 コンピュータシステム及びコマンド実行頻度制御方法 Pending JP2009223863A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008070794A JP2009223863A (ja) 2008-03-19 2008-03-19 コンピュータシステム及びコマンド実行頻度制御方法
US12/149,444 US7958324B2 (en) 2008-03-19 2008-05-01 Computer system and command execution frequency control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008070794A JP2009223863A (ja) 2008-03-19 2008-03-19 コンピュータシステム及びコマンド実行頻度制御方法

Publications (1)

Publication Number Publication Date
JP2009223863A true JP2009223863A (ja) 2009-10-01

Family

ID=41090016

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008070794A Pending JP2009223863A (ja) 2008-03-19 2008-03-19 コンピュータシステム及びコマンド実行頻度制御方法

Country Status (2)

Country Link
US (1) US7958324B2 (ja)
JP (1) JP2009223863A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013524334A (ja) * 2010-09-09 2013-06-17 株式会社日立製作所 コマンドの起動を制御するストレージ装置及びその方法
WO2016194171A1 (ja) * 2015-06-03 2016-12-08 株式会社日立製作所 ストレージシステム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201022935A (en) * 2008-12-12 2010-06-16 Sunplus Technology Co Ltd Control system for accessing memory and method of the same
JP5836903B2 (ja) * 2012-09-04 2015-12-24 株式会社東芝 情報処理装置
JP5826728B2 (ja) * 2012-09-07 2015-12-02 株式会社東芝 情報処理装置
KR102114453B1 (ko) 2013-07-19 2020-06-05 삼성전자주식회사 모바일 장치 및 그것의 제어 방법
US10061628B2 (en) * 2014-03-13 2018-08-28 Open Text Sa Ulc System and method for data access and replication in a distributed environment utilizing data derived from data access within the distributed environment

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10198607A (ja) * 1997-01-08 1998-07-31 Hitachi Ltd データ多重化システム
JP2001222380A (ja) * 2000-02-07 2001-08-17 Hitachi Ltd 外部記憶装置とそれを備えた情報処理システム
JP2002108567A (ja) * 2000-09-28 2002-04-12 Hitachi Ltd 記憶制御装置
JP2002278704A (ja) * 2001-03-19 2002-09-27 Toshiba Corp 処理最適化方法、コンピュータ、及び記憶装置
JP2002358259A (ja) * 2001-05-31 2002-12-13 Toshiba Corp 優先度制御機能を有するファイルサーバ、同サーバにおけるファイルアクセス方法及びファイルアクセスプログラム
JP2007188267A (ja) * 2006-01-12 2007-07-26 Hitachi Ltd 記憶制御装置及びその制御方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10198607A (ja) * 1997-01-08 1998-07-31 Hitachi Ltd データ多重化システム
JP2001222380A (ja) * 2000-02-07 2001-08-17 Hitachi Ltd 外部記憶装置とそれを備えた情報処理システム
JP2002108567A (ja) * 2000-09-28 2002-04-12 Hitachi Ltd 記憶制御装置
JP2002278704A (ja) * 2001-03-19 2002-09-27 Toshiba Corp 処理最適化方法、コンピュータ、及び記憶装置
JP2002358259A (ja) * 2001-05-31 2002-12-13 Toshiba Corp 優先度制御機能を有するファイルサーバ、同サーバにおけるファイルアクセス方法及びファイルアクセスプログラム
JP2007188267A (ja) * 2006-01-12 2007-07-26 Hitachi Ltd 記憶制御装置及びその制御方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013524334A (ja) * 2010-09-09 2013-06-17 株式会社日立製作所 コマンドの起動を制御するストレージ装置及びその方法
WO2016194171A1 (ja) * 2015-06-03 2016-12-08 株式会社日立製作所 ストレージシステム

Also Published As

Publication number Publication date
US20090240902A1 (en) 2009-09-24
US7958324B2 (en) 2011-06-07

Similar Documents

Publication Publication Date Title
EP2251788B1 (en) Data migration management apparatus and information processing system
US20060236056A1 (en) Storage system and storage system data migration method
US7096338B2 (en) Storage system and data relocation control device
US7581061B2 (en) Data migration using temporary volume to migrate high priority data to high performance storage and lower priority data to lower performance storage
US8799600B2 (en) Storage system and data relocation control device
EP2399190B1 (en) Storage system and method for operating storage system
US8639899B2 (en) Storage apparatus and control method for redundant data management within tiers
JP4842909B2 (ja) ストレージシステム及びデータ再配置制御装置
JP4648751B2 (ja) 記憶制御システム及び記憶制御方法
WO2013042163A1 (en) Storage system and data migration processing control method
JP2007316995A (ja) 記憶システム及びデータ管理方法
US20110066801A1 (en) Storage system and method for controlling the same
JP2006099748A (ja) ストレージシステム及びデータ再配置制御装置。
JP2006085398A (ja) ストレージ装置及びストレージ装置のデバイス切替制御方法
JP4643597B2 (ja) ストレージシステム及びデータ再配置制御装置
JP2008276626A (ja) 記憶制御装置及び記憶制御装置の制御方法
US8352766B2 (en) Power control of target secondary copy storage based on journal storage usage and accumulation speed rate
JP2008134712A (ja) ファイル共有システム、ファイル共有装置及びファイル共有用ボリュームの移行方法
JP2009223863A (ja) コンピュータシステム及びコマンド実行頻度制御方法
JP2007072519A (ja) ストレージシステム及びストレージシステムの制御方法
US11614900B2 (en) Autonomous storage provisioning

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100818

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120522

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120723

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130312