JP5987498B2 - ストレージ仮想化装置、ストレージ仮想化方法及びストレージ仮想化プログラム - Google Patents

ストレージ仮想化装置、ストレージ仮想化方法及びストレージ仮想化プログラム Download PDF

Info

Publication number
JP5987498B2
JP5987498B2 JP2012144351A JP2012144351A JP5987498B2 JP 5987498 B2 JP5987498 B2 JP 5987498B2 JP 2012144351 A JP2012144351 A JP 2012144351A JP 2012144351 A JP2012144351 A JP 2012144351A JP 5987498 B2 JP5987498 B2 JP 5987498B2
Authority
JP
Japan
Prior art keywords
storage
commands
incomplete
access request
port
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
Application number
JP2012144351A
Other languages
English (en)
Other versions
JP2014010476A (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 JP2012144351A priority Critical patent/JP5987498B2/ja
Priority to US13/898,541 priority patent/US9367492B2/en
Priority to EP13169456.4A priority patent/EP2680126A2/en
Publication of JP2014010476A publication Critical patent/JP2014010476A/ja
Application granted granted Critical
Publication of JP5987498B2 publication Critical patent/JP5987498B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1657Access to multiple memories
    • 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/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/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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Description

本発明は、複数のストレージ装置を仮想化するためのストレージ仮想化装置、ストレージ仮想化方法及びストレージ仮想化プログラムに関する。
近年、殆どの作業(業務)がコンピュータを利用して行われるようになったため、データを保存しておくために使用されるストレージ装置の台数も増大している。そして、多数のストレージ装置を管理することは大変なことなので、システム管理者の負担の軽減等を目的として、ストレージを仮想化することが行われている。
ストレージの仮想化は、図1に模式的に示したように、複数のストレージ装置と複数のサーバとを、複数のストレージ仮想化装置(図示略)からなるストレージ仮想化装置クラスタを介して接続することにより行われる。
ストレージ仮想化装置は、複数のストレージ装置内の全論理ユニットを、仮想的な1つのストレージプールとして統合的に管理し、そのストレージプールより、サーバからは1つのストレージ装置に見える任意サイズの仮想ボリュームを切り出せる装置である。
ストレージ仮想化装置は、或る仮想モジュールに対するアクセス要求をサーバから受信した場合、内部に設定されているマッピング情報を参照することにより、受信したアクセス要求に応じたコマンドの発行先とすべきストレージポートを特定する。そして、ストレージ仮想化装置は、特定したストレージポートに対してコマンドを発行する。
特開2004−295860号公報 特開2005−326935号公報
ストレージ装置のストレージポートは、或る程度の数のコマンドをキューイングすることができる。ただし、大量のコマンドが連続的に入力された結果としてストレージポートでQueue Fullが発生した場合(ストレージポート内のコマンドキューが満杯となった場合)、ストレージポートはコマンドを受け付けない状態となる。
ストレージ仮想化装置と接続されるストレージ装置(図1参照)は、通常、冗長化された2つのストレージポートを有している。従って、一方のストレージポートでQueue Fullが発生しても、他方のストレージポートを利用することにより、ストレージ装置内の論理ユニットにアクセスすることが出来る。ただし、或るストレージポートでQueue Fullが発生している場合、それまで2つのストレージポートで受信していたコマンドをQueue Fullが発生していない方のストレージポートのみで受信することになるため、当該ストレージポートにQueue Fullが発生し易くなる。
そして、或るストレージ装置の全てのストレージポートでQueue Fullが発生した場合、そのストレージ装置(内の論理ユニット)が関係する全ての論理ボリュームが利用できなくなる。例えば、図1におけるストレージ装置#1の2つのストレージポートでQueue Fu
llが発生し、ストレージ装置#1が関係する論理ボリュームが2つ存在していた場合には、図2に模式的に示したように、それら2つの論理ボリュームが利用できなくなる。
従って、ストレージ仮想化装置を用いたシステム(図1)には、いずれのストレージ装置のいずれのストレージポートでもQueue Fullが発生しないことが望まれる。しかしながら、いずれのストレージポートでもQueue Fullが発生しないようにストレージ仮想化装置を設計/運用することは極めて困難であるため、そのような設計/運用が出来ていないのが現状である。
開示の技術の課題は、ストレージ装置のストレージポートでQueue Fullが発生することを抑制できるストレージ仮想化装置及びストレージ仮想化方法と、コンピュータをストレージ装置のストレージポートでQueue Fullが発生することを抑制できる装置として機能させること出来るストレージ仮想化とを提供することにある。
開示の技術の一態様のストレージ仮想化装置は、
複数のストレージ装置の複数のストレージポートに接続されるストレージ仮想化装置であって、
前記複数のストレージポートのそれぞれについて、各ストレージポートを有する前記
ストレージ装置による処理が未完了のコマンドの数である処理未完コマンド数を記憶する第1記憶部と、
前記複数のストレージポートのいずれかに接続されている他のストレージ仮想化装置から、前記他のストレージ仮想化装置において計数された各ストレージポートの処理未完コマンド数を取得し、ストレージポート毎に、前記他のストレージ仮想化装置から取得した処理未完コマンド数及び前記第1記憶部から取得した処理未完コマンド数の総和である処
理未完コマンド総数を第2記憶部に記憶させる制御部と、
前記複数のストレージ装置のいずれかに対するアクセス要求を受信したときに、受信したアクセス要求に対応するストレージポートの処理未完コマンド総数を前記第2記憶部から取得し、取得した処理未完コマンド総数が規定数を超えている場合、当該アクセス要求に対するアクセス要求応答処理の完了タイミングを遅延させるアクセス要求処理部と、
を備える。
また、開示の技術の一態様のストレージ仮想化方法は、複数のストレージ装置を1つ以上の仮想ボリュームとして機能させるためのストレージ仮想化方法であって、
複数のストレージ装置を1つ以上の仮想ボリュームとして機能させるためのストレージ仮想化方法であって、
前記複数のストレージ装置の複数のストレージポートと接続された第1のストレージ仮想化装置が、
前記複数のストレージポートのそれぞれについて、各ストレージポートを有する前記
ストレージ装置による処理が未完了のコマンドの数である処理未完コマンド数を第1記憶部に記憶し、
前記複数のストレージポートのいずれかに接続されている他のストレージ仮想化装置から、前記他のストレージ仮想化装置において計数された各ストレージポートの処理未完コマンド数を取得し、ストレージポート毎に、前記他のストレージ仮想化装置から取得した処理未完コマンド数及び前記第1記憶部から取得した処理未完コマンド数の総和である処
理未完コマンド総数を第2記憶部に記憶し、
前記複数のストレージ装置のいずれかに対するアクセス要求を受信したときに、受信したアクセス要求に対応するストレージポートの処理未完コマンド総数を前記第2記憶部から取得し、取得した処理未完コマンド総数が規定数を超えている場合、当該アクセス要求に対するアクセス要求応答処理の完了タイミングを遅延させる。
前記複数のストレージ装置の複数のストレージポートと接続された第1のストレージ仮想化装置が、
前記複数のストレージポートのそれぞれについて、そのストレージポートに対して自ストレージ仮想化装置から発行されたが、そのストレージポートを有する前記ストレージ装置による処理が未完了のコマンドの数である処理未完コマンド数を計数し、
前記複数のストレージポートのいずれかに接続されている他の各ストレージ仮想化装置から、周期的に、各ストレージ仮想化装置が各ストレージポートについて計数した前記処理未完コマンド数を取得して、ストレージポート毎に、他の各ストレージ仮想化装置から取得した処理未完コマンド数及び自身が計数している処理未完コマンド数の総和である処理未完コマンド総数を算出して管理し、
サーバからのアクセス要求を受信したときに、当該アクセス要求に応じたストレージポートに関する前記処理未完コマンド総数が規定数を超えていなかった場合には、当該ストレージポートに対するコマンドの発行処理を含むアクセス要求応答処理をその完了を遅らせない形で実行し、当該処理未完コマンド総数が前記規定数を超えている場合には、前記アクセス要求応答処理をその完了を遅らせる形で実行する。
また、開示の技術の一態様のストレージ仮想化プログラムは、
複数のストレージ装置の複数のストレージポートに接続されたコンピュータに、
前記複数のストレージポートのそれぞれについて、各ストレージポートを有する前記ストレージ装置による処理が未完了のコマンドの数である処理未完コマンド数を第1記憶部に記憶させ、
前記複数のストレージポートのいずれかに接続されている他のストレージ仮想化装置から、前記他のストレージ仮想化装置において計数された各ストレージポートの処理未完コマンド数を取得させ、ストレージポート毎に、前記他のストレージ仮想化装置から取得した処理未完コマンド数及び前記第1記憶部から取得した処理未完コマンド数の総和である
処理未完コマンド総数を第2記憶部に記憶させ、
前記複数のストレージ装置のいずれかに対するアクセス要求を受信したときに、受信したアクセス要求に対応するストレージポートの処理未完コマンド総数を前記第2記憶部から取得させ、取得した処理未完コマンド総数が規定数を超えている場合、当該アクセス要求に対するアクセス要求応答処理の完了タイミングを遅延させる。
開示の技術を用いてストレージを仮想化すれば、ストレージ装置のストレージポートでQueue Fullが発生することを抑制できる。
図1は、ストレージを仮想化したシステムの説明図である。 図2は、ストレージを仮想化したシステムで生ずる問題の説明図である。 図3は、第1実施形態に係るストレージ仮想化装置の構成及び使用形態の説明図である。 図4は、第1実施形態に係るストレージ仮想化装置の構成図である。 図5は、第1実施形態に係るストレージ仮想化装置のクラスタ制御部が実行する情報交換処理の流れ図である。 図6は、第1実施形態に係るストレージ仮想化装置の仮想ボリューム制御部が実行する仮想ボリューム制御処理の流れ図である。 図7は、第2実施形態に係るストレージ仮想化装置の機能ブロック図である。 図8は、第2実施形態に係るストレージ仮想化装置の仮想ボリューム制御部が実行するライト要求応答処理の流れ図である。 図9は、第3実施形態に係るストレージ仮想化装置の機能ブロック図である。 図10は、第3実施形態に係るストレージ仮想化装置の仮想ボリューム制御部が実行するライト要求応答処理の流れ図である。 図11は、第3実施形態に係るストレージ仮想化装置の機能の説明図である。
以下、本発明の、幾つかの実施の形態について、図面を参照して詳細に説明する。
《第1実施形態》
まず、図3及び図4を用いて、第1実施形態に係るストレージ仮想化装置10の用途及び構成を説明する。
図3に示してあるように、本実施形態に係るストレージ仮想化装置10は、複数のサーバ80と複数のストレージ装置50との間を接続するストレージ仮想化装置クラスタ1の構成要素として使用される装置である。
ストレージ仮想化装置10は、自身に接続された複数のストレージ装置50を、1つ以上の仮想ボリュームとして機能させる装置である。図3に示してあるように、ストレージ仮想化装置10は、クラスタ制御部11、記憶部12及び仮想ボリューム制御部13を備える。また、ストレージ仮想化装置10は、他のストレージ仮想化装置10との間の通信用のポート15(例えば、LANポート)、サーバ80との間の通信用のポート16(例えば、ファイバーチャネルポート)を備える。さらに、ストレージ仮想化装置10は、複数のストレージ装置50の複数のストレージポート51と接続される2つのポート17(例えば、SAS(Serial Attached SCSI)ポート)を備える。
尚、図3には、複数のディスクドライブと、ストレージポート51を有する2つのコントローラモジュール(CM)とを備えたストレージ装置50を示してあるが、ストレージ仮想化装置10は、ストレージポート51を1つしか有さないストレージ装置50(図示略)にも接続できる。
また、本実施形態に係るストレージ仮想化装置10は、実際には、図4に示したように、一般的な構成を有するコンピュータ20のHDD(Hard Disk Drive)23に、CD−
ROM等の可搬型記録媒体(図示略)からストレージ仮想化プログラム30をインストールした装置となっている。ストレージ仮想化装置10のクラスタ制御部11及び仮想ボリューム制御部13(図3)は、いずれも、ストレージ仮想化プログラム30に従って特定の処理を実行しているCPU(Central Processing Unit)21に相当するものである。
また、記憶部12は、このコンピュータ20のHDD23及びRAM(Randum Access Memory)22に相当するものであり、ポート15〜17は、コンピュータ20が備える各種インタフェース回路(図4における“IF”)に相当するものである。
以下、本実施形態に係るストレージ仮想化装置10の構成及び動作をさらに具体的に説明する。
ストレージ仮想化装置10(図3)には、コマンド数差を計数しながら、或るストレージポート51に対して多数のコマンドを発行し、当該ストレージポート51が、コマンドを受け付けられなくなった時点(Queue Fullとなった時点)のコマンド数差(以下、キューイング可能コマンド数と表記する)を出力する機能が付与されている。尚、コマンド数差とは、発行したコマンド数と応答が得られたコマンド数との間の差(“発行したコマンド数”−“応答が得られたコマンド数”)のことである。
ストレージ仮想化装置クラスタ1の運用開始時(セットアップ時)には、上記機能を利用して、各ストレージ仮想化装置10と接続される各ストレージポート51についてのキューイング可能コマンド数が計測される。その後、“キューイング可能コマンド数>上閾値>下閾値”が成立する上閾値と下閾値とがストレージポート51毎に決定され、各ストレージポート51について決定された上閾値及び下閾値が、各ストレージ仮想化装置10の記憶部12内に登録される。
尚、上閾値及び下閾値の決定時には、キューイング可能コマンド数のみならず、後述するステップS102の処理(図5)の実行周期やサーバ80からのアクセス要求の頻度が考慮される。また、キューイング可能コマンド数を既に計測しているストレージポート51と仕様が同一であることが分かっている各ストレージポート51については、キューイング可能コマンド数の計測が省略される。そして、そのような各ストレージポート51についての上閾値及び下閾値としては、他の同仕様のストレージポート51についてのキューイング可能コマンド数の計測結果から定めた上閾値及び下閾値が登録される。
ストレージ仮想化装置クラスタ1の運用開始時には、マスタ仮想化装置(詳細は後述)として動作させるストレージ仮想化装置10を設定(指定)する作業や、仮想ボリュームを登録する作業(各仮想ボリュームと実際のディスクドライブとの対応関係を示すマッピング情報を各ストレージ仮想化装置10の記憶部12に登録する作業)も行われる。
上記のような各種作業(以下、セットアップ作業と表記する)が完了すると、ストレージ仮想化装置10の各部が実際に機能する状態となる。
まず、クラスタ制御部11の動作を説明する。尚、以下の説明において、マスタ仮想化装置とは、マスタ仮想化装置として動作している(マスタ仮想化装置として動作すべきことが設定されている)ストレージ仮想化装置10のことである。また、スレーブ仮想化装置とは、マスタ仮想化装置ではないストレージ仮想化装置10のことである。
セットアップ作業が完了すると、マスタ仮想化装置内のクラスタ制御部11は、図5に示した手順の情報交換処理を開始する。
すなわち、この情報交換処理を開始した、マスタ仮想化装置内のクラスタ制御部11は、まず、所定のコマンド数差提供要求の送信により各ストレージポート51に関するコマンド数差を各スレーブ仮想装置(他の各ストレージ仮想化装置10)から取得する(ステップS101)。
各ストレージポート51に関するコマンド数差(発行したコマンド数と応答が得られたコマンド数との間の差)の更新手順については後述するが、各コマンド数差は、各ストレージ仮想化装置10内の記憶部12に記憶されている。また、コマンド数差提供要求は、スレーブ仮想化装置内のクラスタ制御部11が受信する要求となっており、スレーブ仮想化装置内のクラスタ制御部11は、コマンド数差提供要求を受信した場合、記憶部12から各ストレージポート51に関するコマンド数差を読み出してマスタ仮想化装置に返送する。
ステップS101の処理を終えたクラスタ制御部11は、ストレージポート51毎に、各スレーブ仮想化装置から取得した各コマンド数差及び自身が記憶部12内の情報として管理しているコマンド数差の総和である処理未完コマンド総数を算出する(ステップS102)。すなわち、マスタ仮想化装置内のクラスタ制御部11は、『或るストレージポート51にいずれかのストレージ仮想化装置10から入力されたが、ストレージ装置50内
での処理が完了していないコマンドの数』に相当する処理未完コマンド総数を、ストレージポート51毎に、算出する。
クラスタ制御部11は、ステップS102にて、算出した各ストレージポート51に関する処理未完コマンド総数で記憶部12内の各ストレージポート51に関する処理未完コマンド総数を書き換える処理も行う。
さらに、クラスタ制御部11は、ステップS102にて、算出した各処理未完コマンド総数を、他の各ストレージ仮想化装置10(スレーブ仮想化装置)に配布する処理も行う。そして、各種処理未完コマンド総数がマスタ仮想化装置から配布された各スレーブ仮想化装置内では、クラスタ制御部11により、配布された各ストレージポート51に関する処理未完コマンド総数で、記憶部12内の対応する処理未完コマンド総数を書き換える処理が行われる。
ステップS102の処理を終えたクラスタ制御部11は、規定時間の経過を待機(ステップS103)してから、再びステップS101以降の処理を実行する。
次に、仮想ボリューム制御部13の動作を説明する。
セットアップ作業が完了すると、各ストレージ仮想化装置10(マスタ/スレーブ仮想化装置)内の仮想ボリューム制御部13は、仮想ボリュームに対するアクセス要求を或るサーバ80から受信した際に、図6に示した手順の仮想ボリューム制御処理を開始する状態となる。
すなわち、アクセス要求をサーバ80から受信した仮想ボリューム制御部13は、まず、マッピング情報を参照することにより、当該アクセス要求に応答するためのコマンドを発行するストレージポート51(以下、アクセス対象ポートと表記する)を特定する(ステップS201)。そして、仮想ボリューム制御部13は、アクセス対象ポートに関するものとして記憶部12に記憶されている処理未完コマンド総数と上閾値とを比較する(ステップS201)。
アクセス対象ポートに関する処理未完コマンド総数がアクセス対象ポートに関する上閾値以下であった場合(ステップS201;NO)、仮想ボリューム制御部13は、アクセス対象ポートをリザーブすると共に、他の各ストレージ仮想化装置10にリザーブ通知を送信する(ステップS203)。
次いで、仮想ボリューム制御部13は、受信したアクセス要求で指定されている内容のリード/ライト処理をストレージ装置50(内のCM)に行わせるためのリード/ライトコマンドを、アクセス対象ポートに対して発行する(ステップS204)。
また、仮想ボリューム制御部13は、記憶部12に記憶されている、アクセス対象ポートに関するコマンド数差を更新する処理(ステップS205)を行う。既に説明したように、コマンド数差は、発行したコマンド数と応答が得られたコマンド数との間の差(“発行したコマンド数”−“応答が得られたコマンド数”)である。そのため、このステップS205では、アクセス対象ポートに関するコマンド数差に“1”を加算する処理が行われる。
ステップS205の処理を終えた仮想ボリューム制御部13は、アクセス対象ポートからライト/リード処理の完了応答(ライト処理が完了した旨の情報、リード処理により読み出されたデータ)が送信されてくるのを待機する(ステップS206)。
完了応答を受信した仮想ボリューム制御部13は、アクセス対象ポートのリザーブを解除すると共に、他の各ストレージ仮想化装置10にリザーブ解除通知を送信する(ステップS207)。続くステップS208にて、仮想ボリューム制御部13は、アクセス対象ポートに関するコマンド数差を更新する処理(記憶部12内のアクセス対象ポートに関するコマンド数差から“1”を減ずる処理)を行う。
そして、仮想ボリューム制御部13は、アクセス要求の送信元サーバ80に対して、正常応答(ライト処理が完了した旨の情報、リード処理より読み出されたデータ)を返送(ステップS209)してから、この仮想ボリューム制御処理を終了する。
一方、処理未完コマンド総数が上閾値を超えていた場合(ステップS201;YES)、仮想ボリューム制御部13は、アクセス対象ポートに関する処理未完コマンド総数が、アクセス対象ポートに関する下閾値以下の値となるのを待機する(ステップS202)。
すなわち、仮想ボリューム制御部13は、アクセス対象ポート内にキューイングされているコマンドの処理が進み、情報交換処理(図5)により、アクセス対象ポートに関する処理未完コマンド総数がアクセス対象ポートに関する下閾値以下の値に書き換えられるのを待機する。
そして、仮想ボリューム制御部13は、アクセス対象ポートに関する処理未完コマンド総数が、アクセス対象ポートに関する下閾値以下の値となったときに(ステップS202;YES)、既に説明したステップS203〜S209の処理を実行してから、この仮想ボリューム制御処理を終了する。
以上、説明したように、本実施形態に係るストレージ仮想化装置10は、各ストレージポート51に関するコマンド数差(自身が発行したコマンド数から応答が得られたコマンド数を減じた値)を常時計数している。そして、マスタ仮想化装置は、周期的に、各スレーブ仮想化装置から各ストレージポート51に関するコマンド数差を取得し、ストレージポート51毎に、自身が計数したコマンド数差と各スレーブ仮想化装置が計数したコマンド数差の総和である処理未完コマンド総数を算出する。また、マスタ仮想化装置は、算出結果を内部(記憶部12)に記憶すると共に各スレーブ仮想化装置に配布し、各ストレージポート51に関する処理未完コマンド総数が配布された各スレーブ仮想化装置は、それらの値を内部(記憶部12)に記憶する。
また、ストレージ仮想化装置10(マスタ/スレーブ仮想化装置)は、サーバ80からのアクセス要求を受信した場合、アクセス対象ポートに関する処理未完コマンド総数と、キューイング可能コマンド数に基づき定められているアクセス対象ポートに関する上閾値とを比較する(図6;ステップS201)。そして、ストレージ仮想化装置10は、処理未完コマンド総数が上閾値を超えていた場合(ステップS201;YES)には、処理未完コマンド総数が下閾値(<上閾値)以下となるのを待って(ステップS202;NO)から、受信したアクセス要求に対する実際の処理(ステップS203〜S209)を開始する。
要するに、ストレージ仮想化装置クラスタ1内の各ストレージ仮想化装置10は、複数のストレージポート51のそれぞれについて、そのストレージポート51内のキューに残っているコマンド数にほぼ相当する処理未完コマンド総数を保持した状態で動作する。そして、各ストレージ仮想化装置10は、アクセス対象ポートが、コマンドが集中的に入力されるとQueue Fullが発生しそうな状態にある場合、アクセス対象ポートのキュー内のコマンドがある程度処理されるのを待ってから、アクセス対象ポートに対してコマンドを発
行する。
本実施形態に係るストレージ仮想化装置10は、以上のように動作するものとなっている。従って、ストレージ仮想化装置10を用いてストレージを仮想化すれば、ストレージ装置50のストレージポート51でQueue Fullが殆ど発生することがないシステムを、簡単に(各ストレージ装置50の性能等を考慮したシステム設計が不必要な形で)、構築できる。
《第2実施形態》
以下、第2実施形態に係るストレージ仮想化装置の構成及び動作を、上記した第1実施形態に係るストレージ仮想化装置10と異なる部分を中心に、説明する。
図7に、第2実施形態に係るストレージ仮想化装置10Bの機能ブロック図を示す。尚、ストレージ仮想化装置10Bは、ストレージ仮想化装置10と同様の形態(図3)で使用されるものである。また、ストレージ仮想化装置10Bも、ストレージ仮想化装置10と同様に、コンピュータ20に、ストレージ仮想化プログラム30(但し、第1実施形態のそれとは内容が異なるもの)をインストールした装置となっている。
図7に示してあるように、ストレージ仮想化装置10Bは、クラスタ制御部11、記憶部12及び仮想ボリューム制御部13Bを備える。また、ストレージ仮想化装置10Bは、他のストレージ仮想化装置10Bとの間の通信用のポート15、サーバ80(図3参照)との間の通信用のポート16、複数のストレージ装置50の複数のストレージポート51(図3参照)と接続される2つのポート17を備える。
このストレージ仮想化装置10Bのクラスタ制御部11、記憶部12、ポート15〜17は、それぞれ、ストレージ仮想化装置10のクラスタ制御部11、記憶部12、ポート15〜17と同じものである。ただし、ストレージ仮想化装置10Bの記憶部12の一部の記憶領域(図4のRAM22の一部の記憶領域)は、キャッシュメモリ12Bとして使用されている。
仮想ボリューム制御部13Bは、仮想ボリューム制御部13に、キャッシュメモリ12Bを利用する機能を付加したユニット(機能ブロック)である。
以下、仮想ボリューム制御部13Bの動作を、リード要求に対する動作とライト要求に対する動作とに分けて、説明する。
・リード要求に対する動作
リード要求を受信した場合、仮想ボリューム制御部13Bは、まず、キャッシュメモリ12B上に当該リード要求で読み出しが要求されているデータが存在しているか否かを判断する。
リード要求で読み出しが要求されているデータがキャッシュメモリ12B上に存在していた場合、仮想ボリューム制御部13Bは、キャッシュメモリ12Bから当該データを読み出す。そして、仮想ボリューム制御部13Bは、読み出したデータをリード要求の送信元サーバ80に返送してから、受信したリード要求に対する処理を終了する。
一方、リード要求で読み出しが要求されているデータがキャッシュメモリ12B上に存在していなかった場合、仮想ボリューム制御部13Bは、上記した仮想ボリューム制御処理(図6)に、ストレージ装置50から読み出したデータをキャッシュするステップを加えたものに相当する処理を行う。そして、当該処理を終えた仮想ボリューム制御部13B
は、受信したリード要求に対する処理を終了する。
・ライト要求に対する動作
ライト要求を受信した場合、仮想ボリューム制御部13Bは、図8に示した手順のライト要求応答処理を実行する。
すなわち、ライト要求を受信した仮想ボリューム制御部13Bは、まず、受信したライト要求をキャッシュメモリ12Bにキャッシュする(ステップS301)。
続くステップS302にて、仮想ボリューム制御部13Bは、既に説明したステップS201の処理(図6)と同内容の処理(判断)を行う。そして、仮想ボリューム制御部13Bは、アクセス対象ポートに関する処理未完コマンド総数がアクセス対象ポートに関する上閾値以下であった場合(ステップS302;NO)には、ライト要求の送信元サーバ80に正常応答(書込完了通知)を返送する(ステップS304)。
その後、仮想ボリューム制御部13Bは、ステップS305〜S310にて、それぞれ、既に説明したステップS203〜S208の処理と同じ処理を行う。そして、ステップS310の処理を終えた仮想ボリューム制御部13Bは、このライト要求応答処理を終了する。
一方、処理未完コマンド総数が上閾値を超えていた場合(ステップS302;YES)、仮想ボリューム制御部13Bは、アクセス対象ポートに関する処理未完コマンド総数が、アクセス対象ポートに関する下閾値以下の値となるのを待機する(ステップS303)。
そして、仮想ボリューム制御部13Bは、アクセス対象ポートに関する処理未完コマンド総数が、アクセス対象ポートに関する下閾値以下の値となったときに(ステップS302;YES)、ステップS304以降の処理を実行する。
以上の説明から明らかなように、このストレージ仮想化装置10Bも、仮想ボリューム制御部13と同様に、アクセス対象ポートに関する処理未完コマンド総数が上閾値を超えていた場合には、当該処理未完コマンド総数が下閾値以下となるのを待ってから、受信したアクセス(リード/ライト)要求に対する実際の処理を開始する装置となっている。従って、ストレージ仮想化装置10Bを用いてストレージを仮想化すれば、ストレージ装置50のストレージポート51でQueue Fullが殆ど発生することがないシステムを、簡単に(各ストレージ装置50の性能等を考慮したシステム設計が不必要な形で)、構築できる。
また、ストレージ仮想化装置10Bは、キャッシュメモリ12Bを利用してアクセス要求に応答する。従って、ストレージ仮想化装置10Bは、ストレージ仮想化装置10よりもアクセス要求に対する応答が早い装置となっていると言うことも出来る。
《第3実施形態》
以下、第3実施形態に係るストレージ仮想化装置の構成及び動作を、上記した第1実施形態に係るストレージ仮想化装置10と異なる部分を中心に、説明する。
図9に、第3実施形態に係るストレージ仮想化装置10Cの構成を示す。尚、このストレージ仮想化装置10Cも、ストレージ仮想化装置10、10Bと同様の形態(図3)で使用されるものである。また、ストレージ仮想化装置10Cも、ストレージ仮想化装置10、10Bと同様に、コンピュータ20に、ストレージ仮想化プログラム30(但し、第
1、第2実施形態のそれとは内容が異なるもの)をインストールした装置となっている。
図9に示してあるように、ストレージ仮想化装置10Cは、クラスタ制御部11、記憶部12及び仮想ボリューム制御部13Cを備える。また、ストレージ仮想化装置10Cは、他のストレージ仮想化装置10Cとの間の通信用のポート15、サーバ80(図3参照)との間の通信用のポート16、複数のストレージ装置50の複数のストレージポート51(図3参照)と接続される2つのポート17を備える。
ストレージ仮想化装置10Cのクラスタ制御部11、記憶部12、ポート15〜17は、ストレージ仮想化装置10のクラスタ制御部11、記憶部12、ポート15〜17と同じものである。
仮想ボリューム制御部13Cは、サーバ80からのアクセス要求を受信した際に、図10に示した手順の仮想ボリューム制御処理を行うユニット(機能ブロック)である。
すなわち、アクセス要求をサーバ80から受信した仮想ボリューム制御部13Cは、マッピング情報を参照することにより、当該アクセス要求に応答するためのコマンドの送信先ストレージポート51(以下、アクセス対象ポートと表記する)を特定する(ステップS401)。そして、仮想ボリューム制御部13Cは、アクセス対象ポートをリザーブすると共に、他の各ストレージ仮想化装置10(図10では、仮想化装置)にリザーブ通知を送信する(ステップS401)。
次いで、仮想ボリューム制御部13Cは、受信したアクセス要求で指定されている内容のリード/ライト処理をストレージ装置50(内のCM)に行わせるためのリード/ライトコマンドを、アクセス対象ポートに対して発行する(ステップS402)。
また、仮想ボリューム制御部13Cは、記憶部12に記憶されている、アクセス対象ポートに関するコマンド数差を更新する(ステップS403)。より具体的には、仮想ボリューム制御部13Cは、アクセス対象ポートに関するコマンド数差に“1”を加算する。
ステップS403の処理を終えた仮想ボリューム制御部13Cは、アクセス対象ポートからライト/リード処理の完了応答(ライト処理が完了した旨の情報、リード処理により読み出されたデータ)が送信されてくるのを待機する(ステップS404)。
そして、完了応答を受信した仮想ボリューム制御部13Cは、アクセス対象ポートのリザーブを解除すると共に、他の各ストレージ仮想化装置10にリザーブ解除通知を送信する(ステップS405)。また、仮想ボリューム制御部13Cは、アクセス対象ポートに関するコマンド数差を更新する処理(記憶部12内のアクセス対象ポートに関するコマンド数差から“1”を減ずる処理)を行う(ステップS406)。
その後、仮想ボリューム制御部13Cは、アクセス対象ポートに関するものとして記憶部12に記憶されている処理未完コマンド総数と上閾値とを比較する(ステップS407)。
処理未完コマンド総数が上閾値以下であった場合(ステップS407;NO)、仮想ボリューム制御部13Cは、アクセス要求の送信元サーバ80に対して、正常応答(ライト処理が完了した旨の情報、リード処理より読み出されたデータ)を返送する(ステップS409)。そして、仮想ボリューム制御部13Cは、この仮想ボリューム制御処理を終了する。
一方、処理未完コマンド総数が上閾値を超えていた場合(ステップS407;YES)、仮想ボリューム制御部13Cは、アクセス対象ポートに関する処理未完コマンド総数が、アクセス対象ポートに関する下閾値以下の値となるのを待機する(ステップS408)。
そして、仮想ボリューム制御部13Cは、アクセス対象ポートに関する処理未完コマンド総数が、アクセス対象ポートに関する下閾値以下の値となったときに(ステップS408;YES)、アクセス要求の送信元サーバ80に正常応答を返送(ステップS409)してから、仮想ボリューム制御処理を終了する。
以上、説明したように、ストレージ仮想化装置10Cも、ストレージ仮想化装置10、10Bと同様に、各ストレージポート51に関するコマンド数差を常時計数している。そして、マスタ仮想化装置は、図11に模式的に示してあるように、周期的に、各スレーブ仮想化装置から各ストレージポート51に関するコマンド数差(図11では、“差”)を取得し、ストレージポート51毎に、自身が計数したコマンド数差と各スレーブ仮想化装置が計数したコマンド数差の総和である処理未完コマンド総数(図11では、“総数”)を算出する。また、マスタ仮想化装置は、算出結果を内部(記憶部12)に記憶すると共に各スレーブ仮想化装置に配布し、各ストレージポート51に関する処理未完コマンド総数が配布された各スレーブ仮想化装置も、それらの値を内部(記憶部12)に記憶する。
また、ストレージ仮想化装置10C(マスタ/スレーブ仮想化装置)は、サーバ80からのアクセス要求を受信した場合、アクセス対象ポートに対してコマンドを発行する。発行したコマンドに対する完了応答が得られた場合、ストレージ仮想化装置10Cは、処理未完コマンド総数が上閾値を超えているか否かを判断する。すなわち、アクセス対象ポートのキュー内の処理待ちコマンド数(≒処理未完コマンド総数)が上閾値を超えているか否かを判断する。
そして、ストレージ仮想化装置10Cは、処理未完コマンド総数が上閾値を超えていた場合には、処理未完コマンド総数が下閾値以下となるまで待ってから、完了応答をアクセス要求の送信元サーバ80に返送する。
本実施形態に係るストレージ仮想化装置10Cは、以上のように動作するものとなっている。そして、アクセス要求に対する完了応答の返送を遅らせば、サーバ80の次のアクセス要求の送信タイミングを遅らせることが出来る。従って、ストレージ仮想化装置10Cを用いてストレージを仮想化すれば、ストレージ装置50のストレージポート51でQueue Fullが殆ど発生することがないシステムを、簡単に(各ストレージ装置50の性能等を考慮したシステム設計が不必要な形で)、構築できることになる。
《変形形態》
上記した各実施形態に係るストレージ仮想化装置(10、10B又は10C)は、各種の変形を行うことが出来るものである。例えば、各実施形態に係るストレージ仮想化装置を、下閾値が上閾値と一致している装置(両閾値として同じ値が設定される装置、1つの値が下閾値及び上閾値として使用される装置等)に変形することが出来る。
ストレージ仮想化装置10Cを、キャッシュメモリを備えた装置に変形することも出来る。各実施形態に係るストレージ仮想化装置を、マスタ/スレーブの区別がない装置、つまり、“処理未完コマンド総数を他のストレージ仮想化装置から取得しない装置であって、他の各ストレージ仮想化装置から周期的にコマンド数差を取得して処理未完コマンド総数を算出する装置”に変形することも出来る。
また、ストレージ仮想化装置として機能させるコンピュータ20の構成が図4に示したものでなくても良いことや、ストレージ仮想化装置を、コンピュータ20にプログラムをインストールした装置ではなく、専用の装置として実現しても良いことなどは、当然のことである。
以上、開示した技術に関し、更に以下の付記を開示する。
(付記1) 複数のストレージ装置の複数のストレージポートに接続されるストレージ仮想化装置であって、
前記複数のストレージポートのそれぞれについて、各ストレージポートを有する前記ストレージ装置による処理が未完了のコマンドの数である処理未完コマンド数を記憶する第1記憶部と、
前記複数のストレージポートのいずれかに接続されている他のストレージ仮想化装置から、前記他のストレージ仮想化装置において計数された各ストレージポートの処理未完コマンド数を取得し、ストレージポート毎に、前記他のストレージ仮想化装置から取得した処理未完コマンド数及び前記第1記憶部から取得した処理未完コマンド数の総和である処
理未完コマンド総数を第2記憶部に記憶させる制御部と、
前記複数のストレージ装置のいずれかに対するアクセス要求を情報処理装置から受信したときに、受信したアクセス要求に対応するストレージポートの処理未完コマンド総数を前記第2記憶部から取得し、取得した処理未完コマンド総数が規定数を超えている場合、当該アクセス要求に対するアクセス要求応答処理の完了タイミングを遅延させるアクセス要求処理部と、
を備えることを特徴とするストレージ仮想化装置。
(付記2) 前記アクセス要求処理部は、前記情報処理装置から受信したアクセス要求に応じたストレージポートに関する前記処理未完コマンド総数が前記規定数を超えている場合、当該ストレージポートに対するコマンドの発行処理を行った後、当該コマンドに対する応答の前記情報処理装置への返送を、前記処理未完コマンド総数が第2規定数以下となるまで遅らせる
ことを特徴とする付記1記載のストレージ仮想化装置。
(付記3) 前記アクセス要求処理部は、受信したアクセス要求に応じたストレージポートに関する前記処理未完コマンド総数が前記規定数を超えていた場合、当該処理未完コマンド総数が第2規定数以下となるまで、受信したアクセス要求についてのアクセス要求応答処理の開始を遅らせる
ことを特徴とする付記1記載のストレージ仮想化装置。
(付記4) ライト要求に対して前記アクセス要求処理部が行う前記アクセス要求応答処理が、当該ライト要求をメモリへ記憶し、当該ライト要求に対する応答完了を前記情報処理装置へ通知してから、当該ライト要求に応じたストレージポートに対してコマンドを発行する処理である
ことを特徴とする付記1から3のいずれか一項に記載のストレージ仮想化装置。
(付記5) 前記規定数が、ストレージポート毎に定められている値である
ことを特徴とする付記1から4のいずれか一項に記載のストレージ仮想化装置。
(付記6) 前記第2規定数が前記規定数と同じ値である
ことを特徴とする付記1から5のいずれか一項に記載のストレージ仮想化装置。
(付記7) 複数のストレージ装置を1つ以上の仮想ボリュームとして機能させるためのストレージ仮想化方法であって、
前記複数のストレージ装置の複数のストレージポートと接続された第1のストレージ仮想化装置が、
前記複数のストレージポートのそれぞれについて、各ストレージポートを有する前記ストレージ装置による処理が未完了のコマンドの数である処理未完コマンド数を第1記憶部に記憶し、
前記複数のストレージポートのいずれかに接続されている他のストレージ仮想化装置から、前記他のストレージ仮想化装置において計数された各ストレージポートの処理未完コマンド数を取得し、ストレージポート毎に、前記他のストレージ仮想化装置から取得した処理未完コマンド数及び前記第1記憶部から取得した処理未完コマンド数の総和である処
理未完コマンド総数を第2記憶部に記憶し、
前記複数のストレージ装置のいずれかに対するアクセス要求を情報処理装置から受信したときに、受信したアクセス要求に対応するストレージポートの処理未完コマンド総数を前記第2記憶部から取得し、取得した処理未完コマンド総数が規定数を超えている場合、当該アクセス要求に対するアクセス要求応答処理の完了タイミングを遅延させる
ことを特徴とするストレージ仮想化方法。
(付記8) 前記第1のストレージ装置は、受信したアクセス要求に応じたストレージポートに関する前記処理未完コマンド総数が前記規定数を超えていた場合、当該処理未完コマンド総数が第2規定数以下となるまで、受信したアクセス要求についてのアクセス要求応答処理の開始を遅らせる
ことを特徴とする付記7記載のストレージ仮想化方法。
(付記9) 前記第1のストレージ装置は、受信したアクセス要求に応じたストレージポートに関する前記処理未完コマンド総数が前記規定数を超えている場合、当該ストレージポートに対するコマンドの発行処理を行った後、当該コマンドに対する応答の前記情報処理装置への返送を当該処理未完コマンド総数が第2規定数以下となるまで遅らせる
ことを特徴とする付記7記載のストレージ仮想化方法。
(付記10) 複数のストレージ装置の複数のストレージポートに接続されたコンピュータに、
前記複数のストレージポートのそれぞれについて、各ストレージポートを有する前記ストレージ装置による処理が未完了のコマンドの数である処理未完コマンド数を第1記憶部に記憶させ、
前記複数のストレージポートのいずれかに接続されている他のストレージ仮想化装置から、前記他のストレージ仮想化装置において計数された各ストレージポートの処理未完コマンド数を取得させ、ストレージポート毎に、前記他のストレージ仮想化装置から取得した処理未完コマンド数及び前記第1記憶部から取得した処理未完コマンド数の総和である
処理未完コマンド総数を第2記憶部に記憶させ、
前記複数のストレージ装置のいずれかに対するアクセス要求を受信したときに、受信したアクセス要求に対応するストレージポートの処理未完コマンド総数を前記第2記憶部から取得させ、取得した処理未完コマンド総数が規定数を超えている場合、当該アクセス要求に対するアクセス要求応答処理の完了タイミングを遅延させる
ことを特徴とするストレージ仮想化プログラム。
(付記11) 複数のストレージ装置を1つ以上の仮想ボリュームとして機能させるストレージ仮想化装置クラスタであって、
それぞれ、前記複数のストレージ装置の複数のストレージポートと接続された第1ストレージ仮想化装置と1台以上の第2ストレージ仮想化装置とを含み、
前記第1ストレージ仮想化装置は、
前記複数のストレージポートのそれぞれについて、そのストレージポートに対して自ストレージ仮想化装置から発行されたが、そのストレージポートを有する前記ストレージ装置による処理が未完了のコマンドの数である処理未完コマンド数を計数する計数部と、
前記複数のストレージポートのいずれかに接続されている他の各ストレージ仮想化装置
から、周期的に、各ストレージ仮想化装置が各ストレージポートについて計数した前記処理未完コマンド数を取得し、ストレージポート毎に、他の各ストレージ仮想化装置から取得した処理未完コマンド数及び前記計数部により計数されている処理未完コマンド数の総和である処理未完コマンド総数を算出して各第2ストレージ仮想化装置に送信すると共に管理する管理部と、
情報処理装置からのアクセス要求を受信したときに、当該アクセス要求に応じたストレージポートに対するコマンドの発行処理を含むアクセス要求応答処理を行うアクセス要求応答部であって、前記管理部により管理されている当該ストレージポートに関する前記処理未完コマンド総数が規定数を超えている場合には、受信したアクセス要求についてのアクセス要求応答処理の完了を遅らせるアクセス要求応答部と、
を備え、
前記第2ストレージ仮想化装置は、
前記複数のストレージポートのそれぞれについて、そのストレージポートに対して自ストレージ仮想化装置から発行されたが、そのストレージポートを有する前記ストレージ装置による処理が未完了のコマンドの数である処理未完コマンド数を計数する第2計数部と、
前記第2計数部により計数されている各ストレージポートについての処理未完コマンド数を前記第1ストレージ仮想化装置に対して送信する送信部と、
前記第1ストレージ仮想化装置から送信されてきた各ストレージポートに関する処理未完コマンド総数を管理する第2管理部と、
情報処理装置からのアクセス要求を受信したときに、当該アクセス要求に応じたストレージポートに対するコマンドの発行処理を含むアクセス要求応答処理を行うアクセス要求応答部であって、前記第2管理部により管理されている当該ストレージポートに関する前記処理未完コマンド総数が前記規定数を超えている場合には、受信したアクセス要求についてのアクセス要求応答処理の完了を遅らせる第2アクセス要求応答部と、
を備える
ことを特徴とするストレージ仮想化装置クラスタ。
1 ストレージ仮想化装置クラスタ
10、10B、10C ストレージ仮想化装置
11 クラスタ制御部
12 記憶部
12B キャッシュメモリ
13、13B,13C 仮想ボリューム制御部
15、16、17 ポート
20 コンピュータ
21 CPU
22 RAM
23 HDD
30 ストレージ仮想化プログラム
50 ストレージ装置
51 ストレージポート
80 サーバ

Claims (6)

  1. 複数のストレージ装置の複数のストレージポートに接続されるストレージ仮想化装置であって、
    前記複数のストレージポートのそれぞれについて、各ストレージポートを有する前記ストレージ装置による処理が未完了のコマンドの数である処理未完コマンド数を記憶する第1記憶部と、
    前記複数のストレージポートのいずれかに接続されている他のストレージ仮想化装置から、前記他のストレージ仮想化装置において計数された各ストレージポートの処理未完コマンド数を取得し、ストレージポート毎に、前記他のストレージ仮想化装置から取得した処理未完コマンド数及び前記第1記憶部から取得した処理未完コマンド数の総和である処理未完コマンド総数を第2記憶部に記憶させる制御部と、
    前記複数のストレージ装置のいずれかに対するアクセス要求を情報処理装置から受信したときに、受信したアクセス要求に対応するストレージポートの処理未完コマンド総数を前記第2記憶部から取得し、取得した処理未完コマンド総数が規定数を超えている場合、当該アクセス要求に対するアクセス要求応答処理の完了タイミングを遅延させるアクセス要求処理部と、
    を備えることを特徴とするストレージ仮想化装置。
  2. 前記アクセス要求処理部は、前記情報処理装置から受信したアクセス要求に応じたストレージポートに関する前記処理未完コマンド総数が前記規定数を超えている場合、当該ストレージポートに対するコマンドの発行処理を行った後、当該コマンドに対する応答の前記情報処理装置への返送を、前記処理未完コマンド総数が第2規定数以下となるまで遅らせる
    ことを特徴とする請求項1記載のストレージ仮想化装置。
  3. 前記アクセス要求処理部は、受信したアクセス要求に応じたストレージポートに関する前記処理未完コマンド総数が前記規定数を超えていた場合、当該処理未完コマンド総数が第2規定数以下となるまで、受信したアクセス要求についてのアクセス要求応答処理の開始を遅らせる
    ことを特徴とする請求項1記載のストレージ仮想化装置。
  4. ライト要求に対して前記アクセス要求処理部が行う前記アクセス要求応答処理が、当該ライト要求をメモリへ記憶し、当該ライト要求に対する応答完了を前記情報処理装置へ通知してから、当該ライト要求に応じたストレージポートに対してコマンドを発行する処理である
    ことを特徴とする請求項1から3のいずれか一項に記載のストレージ仮想化装置。
  5. 複数のストレージ装置を1つ以上の仮想ボリュームとして機能させるためのストレージ仮想化方法であって、
    前記複数のストレージ装置の複数のストレージポートと接続された第1のストレージ仮想化装置が、前記複数のストレージポートのそれぞれについて、各ストレージポートを有する前記ストレージ装置による処理が未完了のコマンドの数である処理未完コマンド数を第1記憶部に記憶し、
    前記複数のストレージポートのいずれかに接続されている他のストレージ仮想化装置から、前記他のストレージ仮想化装置において計数された各ストレージポートの処理未完コマンド数を取得し、ストレージポート毎に、前記他のストレージ仮想化装置から取得した処理未完コマンド数及び前記第1記憶部から取得した処理未完コマンド数の総和である処
    理未完コマンド総数を第2記憶部に記憶し、
    前記複数のストレージ装置のいずれかに対するアクセス要求を受信したときに、受信したアクセス要求に対応するストレージポートの処理未完コマンド総数を前記第2記憶部から取得し、取得した処理未完コマンド総数が規定数を超えている場合、当該アクセス要求に対するアクセス要求応答処理の完了タイミングを遅延させる
    ことを特徴とするストレージ仮想化方法。
  6. 複数のストレージ装置の複数のストレージポートに接続されたコンピュータに、
    前記複数のストレージポートのそれぞれについて、各ストレージポートを有する前記ストレージ装置による処理が未完了のコマンドの数である処理未完コマンド数を第1記憶部に記憶させ、
    前記複数のストレージポートのいずれかに接続されている他のストレージ仮想化装置から、前記他のストレージ仮想化装置において計数された各ストレージポートの処理未完コマンド数を取得させ、ストレージポート毎に、前記他のストレージ仮想化装置から取得した処理未完コマンド数及び前記第1記憶部から取得した処理未完コマンド数の総和である
    処理未完コマンド総数を第2記憶部に記憶させ、
    前記複数のストレージ装置のいずれかに対するアクセス要求を受信したときに、受信したアクセス要求に対応するストレージポートの処理未完コマンド総数を前記第2記憶部から取得させ、取得した処理未完コマンド総数が規定数を超えている場合、当該アクセス要求に対するアクセス要求応答処理の完了タイミングを遅延させる
    ことを特徴とするストレージ仮想化プログラム。
JP2012144351A 2012-06-27 2012-06-27 ストレージ仮想化装置、ストレージ仮想化方法及びストレージ仮想化プログラム Expired - Fee Related JP5987498B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012144351A JP5987498B2 (ja) 2012-06-27 2012-06-27 ストレージ仮想化装置、ストレージ仮想化方法及びストレージ仮想化プログラム
US13/898,541 US9367492B2 (en) 2012-06-27 2013-05-21 Storage virtualization apparatus causing access request process to be delayed based on incomplete count and storage virtualization method
EP13169456.4A EP2680126A2 (en) 2012-06-27 2013-05-28 Storage virtualization apparatus, storage virtualization method and storage virtualization program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012144351A JP5987498B2 (ja) 2012-06-27 2012-06-27 ストレージ仮想化装置、ストレージ仮想化方法及びストレージ仮想化プログラム

Publications (2)

Publication Number Publication Date
JP2014010476A JP2014010476A (ja) 2014-01-20
JP5987498B2 true JP5987498B2 (ja) 2016-09-07

Family

ID=48576236

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012144351A Expired - Fee Related JP5987498B2 (ja) 2012-06-27 2012-06-27 ストレージ仮想化装置、ストレージ仮想化方法及びストレージ仮想化プログラム

Country Status (3)

Country Link
US (1) US9367492B2 (ja)
EP (1) EP2680126A2 (ja)
JP (1) JP5987498B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2518884A (en) * 2013-10-04 2015-04-08 Ibm Network attached storage system and corresponding method for request handling in a network attached storage system
US10002090B2 (en) * 2015-04-08 2018-06-19 Microsemi Semiconductor Ulc Method for improving the performance of synchronous serial interfaces
US10996897B2 (en) 2016-08-25 2021-05-04 Microsoft Technology Licensing, Llc Storage virtualization for directories
US11507534B2 (en) 2017-05-11 2022-11-22 Microsoft Technology Licensing, Llc Metadata storage for placeholders in a storage virtualization system
JP6955159B2 (ja) 2017-11-21 2021-10-27 富士通株式会社 ストレージシステム、ストレージ制御装置およびプログラム
US11841833B2 (en) * 2022-01-19 2023-12-12 Kyndryl, Inc. File reorganization

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2972583B2 (ja) * 1996-07-29 1999-11-08 四国日本電気ソフトウェア株式会社 Scsi・tcq制御方式
US6694390B1 (en) * 2000-09-11 2004-02-17 Intel Corporation Managing bus transaction dependencies
JP4322068B2 (ja) * 2003-03-07 2009-08-26 富士通株式会社 ストレージシステム及びそのデイスク負荷バランス制御方法
US7089381B2 (en) * 2003-09-24 2006-08-08 Aristos Logic Corporation Multiple storage element command queues
JP2005326935A (ja) 2004-05-12 2005-11-24 Hitachi Ltd 仮想化ストレージを備える計算機システムの管理サーバおよび障害回避復旧方法
JP4542173B2 (ja) * 2008-05-21 2010-09-08 富士通株式会社 ストレージ装置、ディスクコントローラ、及びコマンド発行制御方法
JP4701267B2 (ja) * 2008-06-04 2011-06-15 株式会社日立製作所 ストレージシステムおよびその管理方法
WO2011074591A1 (ja) * 2009-12-17 2011-06-23 日本電気株式会社 ストレージ装置、ストレージ制御装置、ストレージ制御方法及びプログラム
US8799534B2 (en) * 2011-12-27 2014-08-05 Hitachi, Ltd. Storage apparatus and method for controlling same

Also Published As

Publication number Publication date
EP2680126A2 (en) 2014-01-01
JP2014010476A (ja) 2014-01-20
US20140006725A1 (en) 2014-01-02
US9367492B2 (en) 2016-06-14

Similar Documents

Publication Publication Date Title
US9785381B2 (en) Computer system and control method for the same
US8639899B2 (en) Storage apparatus and control method for redundant data management within tiers
JP5987498B2 (ja) ストレージ仮想化装置、ストレージ仮想化方法及びストレージ仮想化プログラム
JP5951582B2 (ja) 外部キャッシュデバイスでのハイパーバイザのi/oステージング
US9003150B2 (en) Tiered storage system configured to implement data relocation without degrading response performance and method
JP5658197B2 (ja) 計算機システム、仮想化機構、及び計算機システムの制御方法
US20130117744A1 (en) Methods and apparatus for providing hypervisor-level acceleration and virtualization services
EP2857952A1 (en) Method for processing input/output request, host, server, and virtual machine
US10176098B2 (en) Method and apparatus for data cache in converged system
CN104951239B (zh) 高速缓存驱动器、主机总线适配器及其使用的方法
US9104317B2 (en) Computer system and method of controlling I/O with respect to storage apparatus
US8799573B2 (en) Storage system and its logical unit management method
US11513849B2 (en) Weighted resource cost matrix scheduler
US20140115255A1 (en) Storage system and method for controlling storage system
US9798661B2 (en) Storage system and cache control method
US7853757B2 (en) Avoiding failure of an initial program load in a logical partition of a data storage system
JP6353981B2 (ja) ストレージシステム、及び、記憶制御方法
US11016698B2 (en) Storage system that copies write data to another storage system
US10154113B2 (en) Computer system
JP4373450B2 (ja) Raid制御装置及びその制御方法
US11687443B2 (en) Tiered persistent memory allocation
US8719496B2 (en) Storage apparatus and method for executing exclusive extent processing in parallel using counter values
TW201546614A (zh) 電子裝置以及資料寫入方法
WO2017163322A1 (ja) 管理計算機、および計算機システムの管理方法
WO2016121004A1 (ja) ストレージ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150319

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160223

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160421

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: 20160712

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160725

R150 Certificate of patent or registration of utility model

Ref document number: 5987498

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees