JP6051617B2 - 制御装置、ストレージ装置、制御方法及び制御プログラム - Google Patents

制御装置、ストレージ装置、制御方法及び制御プログラム Download PDF

Info

Publication number
JP6051617B2
JP6051617B2 JP2012144969A JP2012144969A JP6051617B2 JP 6051617 B2 JP6051617 B2 JP 6051617B2 JP 2012144969 A JP2012144969 A JP 2012144969A JP 2012144969 A JP2012144969 A JP 2012144969A JP 6051617 B2 JP6051617 B2 JP 6051617B2
Authority
JP
Japan
Prior art keywords
command
response
reference value
data amount
issued
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
JP2012144969A
Other languages
English (en)
Other versions
JP2014010519A (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 JP2012144969A priority Critical patent/JP6051617B2/ja
Priority to US13/834,831 priority patent/US20140006727A1/en
Publication of JP2014010519A publication Critical patent/JP2014010519A/ja
Application granted granted Critical
Publication of JP6051617B2 publication Critical patent/JP6051617B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • 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/0653Monitoring storage devices or systems
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Description

本件は制御装置、ストレージ装置、制御方法及び制御プログラムに関する。
例えば、Redundant Arrays of Inexpensive Disks(RAID)等のストレージシステムにおいて、Hard Disk Drive(HDD)等のディスク装置は、Controller Module(CM)のInput Output Controller(IOC)に接続されている。IOCはディスク装置とCMとのデータ転送を実施し、例えば、専用チップとして構成されている。
例えば、Serial Attached SCSI(SAS)規格に準拠したシステムにおいては、送信側は、クレジット(Credit)と呼ばれる送信許可を受信側から受け取ってからフレーム(Frame)を送信する。クレジットは、フレームを受け取るためのバッファが利用可能な状況にあるかどうかを知らせるために、受信側から送信側へ送られるReceiver Ready (RRDY)の一種である。
なお、クレジットは、IOCとディスク装置との間での送受信に使用され、CMのCentral Processing Unit(CPU)等がクレジットを検知することはない。
また、受信側においてバッファが利用できずフレームを受け取れない場合には、受信側はクレジットブロック(Credit Blocked)を送信し、受信不可であることを送信側に通知する。送信側においては、クレジットブロックを受け取るとデータ転送を中断し、再びクレジットを受信するまでデータ転送を待ち合わせる。
例えば、ストレージシステムにおけるデータのリード時には、受信側であるIOCから送信側であるディスク装置に対して、転送フレーム毎にクレジットを送信しつつデータ転送が実施される。
そして、例えば、一つのディスク装置に対するデータ流量を急激に増やした場合には、ハードの論理的な限界値に達していない場合であっても、その瞬間バスが高負荷状態になる。これにより、データリード開始時に受信側のIOCにおいてバッファ枯渇状態が生じ、IOCがディスク装置に対してクレジットブロックを発行する。
クレジットブロックを受けたディスク装置は、データ転送を中断し、その後、クレジットの発行を待ってデータ転送をやり直すこととなる。
特表2010−515156号公報 特開2010−102458号公報 特開平11−120091号公報
しかしながら、クレジットブロックによる中断後のデータ転送の再開時には、データ転送が中断された箇所ではなく、データの先頭から、再度、データの転送が行なわれる。このため、クレジットブロックが発生すると、データ転送に時間がかかってしまう。
また、前述の如く、クレジットブロックはIOCとディスク装置との間で行なわれる閉じた処理であるので、CMのCPUにはコマンドが遅延したという情報しか伝わらない。すなわち、CPUにおいてはクレジットブロックが発生していることが分からないため、クレジットブロックが多発する状況でもコマンドを発行し、データ転送の完了を待ち合わせることとなる。
クレジットブロックが複数回繰り返される状況においては、データ転送が規定のタイムアウト時間に間に合わずコマンドタイムアウトになる場合がある。このコマンドタイムアウトになると、例えば、統計加点を実施してディスクフォールト(Disk Fault)が生じ、装置停止に至るおそれも生じる。
近年、SAS規格が1.0から2.0に上がり、更に、3.0が登場する等、インタフェースのデータレートの高速化が著しい。これまでボトルネックとなっていた経路のデータレートが高速化することで、バスのボトルネックが解消され、装置のスループットは改善する。しかし、その代わりに、経路以外の箇所で新たなボトルネックが発生することが懸念される。
クレジットブロックによるデータ転送遅延も、従来においてはバスがボトルネックとなることで表面化していなかった問題であり、近年のバス性能の向上により顕在化したものと考えられる。
1つの側面では、本発明は、コマンドブロックの発生を抑制することを目的とする。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。
この制御装置の一観点によれば、送信先に対して発行したコマンドへの応答レスポンス時間に基づいて、比較基準値を設定する基準情報設定部と、コマンド発行時に、前記送信先に対して発行中のコマンドのデータ量を示す発行データ量と前記送信先から応答中のコマンドのデータ量を示す応答データ量との差分である差分データ量と前記比較基準値とを比較し、前記差分データ量が前記比較基準値を超えた場合に、前記コマンドをコマンドキューに格納し、前記差分データ量が前記比較基準値以下になるまで前記コマンドの発行を抑止する抑止部とが提供される。
データ転送速度を向上させることができる。
実施形態の一例としてのストレージシステムに備えられたCMの機能構成を模式的に示す図である。 実施形態の一例としてのストレージシステムのハードウェア構成を模式的に示す図である。 実施形態の一例としてのストレージシステムにおける基準情報を例示する図である。 実施形態の一例としてのストレージシステムにおける基準情報の引き上げ方法を説明する図である。 実施形態の一例としてのストレージシステムにおける基準情報の引き下げ方法を説明する図である。 実施形態の一例としてのストレージシステムのCMにおける要求コマンド発行時の処理を説明するフローチャートである。 実施形態の一例としてのストレージシステムのCMにおける応答コマンド受信時の処理を説明するフローチャートである。 実施形態の一例としてのストレージシステムのCMにおけるレスポンス平均値のリセット手法を説明するフローチャートである。
以下、図面を参照して本制御装置、ストレージ装置、制御方法及び制御プログラムに係る実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。又、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
図1は実施形態の一例としてのストレージシステム1に備えられたCMの機能構成を示す図、図2はそのハードウェア構成を示す図である。
本ストレージシステム1は、図2に示すように、ストレージ装置10を備え、1以上(図1に示す例では1つ)のホスト装置2に対して通信可能に接続されている。本ストレージシステム1においては、ホスト装置2とストレージ装置10とが、例えばInternet Small Computer System Interface(iSCSI)により接続されている。
ホスト装置2は、例えば、サーバ機能を備えたコンピュータ(情報処理装置)であり、ストレージ装置10との間において、SCSIコマンドやレスポンス等の各種データをTCP/IP等を用いて送受信する。このホスト装置2は、ストレージ装置10に対してリード/ライト等のディスクアクセスコマンドを送信することにより、ストレージ装置10が提供する記憶領域にデータの書き込みや読み出しを行なう。
ストレージ装置10は、図2に示すように、コントローラモジュール(以下CMという)30a,30b,エキスパンダ304,304及び記憶装置60を備える。
ストレージ装置10は、Local Area Network(LAN)等のネットワーク50を介してホスト装置2に接続されるとともに、図示しないドライブエンクロージャ等が接続される。
エキスパンダ304は、例えばSASエキスパンダであり、CM30a,30bにHDD60を接続するディスク接続機構である。
記憶装置60は、データを読み書き可能に格納する記憶装置であり、ホスト装置2から受信したデータを記憶可能な記憶部として機能する。本実施形態においては、記憶装置60としてHDDを用いる例について示す。以下、記憶装置60をHDD60と表す場合もある。
また、図2中においては、便宜上、ストレージ装置10に4つのHDD60を示しているが、これに限定されるものではなく、3つ以下もしくは5つ以上のHDD60を備えてもよい。そして、ストレージ装置10は、これらの複数のHDD60を組み合わせて、冗長化された1つのストレージとして管理する、Redundant Arrays of Inexpensive Disks(RAID)装置であってもよい。
エキスパンダ304は、HDD60や図示しないドライブエンクロージャ等と通信可能に接続するためのインタフェースであり、デバイスアダプタ等を備える。CM30a,30bは、このエキスパンダ304を介して、HDD60に対するデータの書き込みや読み出しを行なう。
CM30a,30bは、ストレージ装置10内の動作を制御するコントローラ(制御装置)であり、ホスト装置2からのリード/ライト等のコマンドを受け取り、種々の制御を行なう。CM30a,30bはそれぞれCA306を介して、それぞれネットワークに接続される。そして、これらのCM30a,30bは、ホスト装置2から送信されるリード/ライト等のコマンドを受信し、エキスパンダ304等を介してHDD60の制御を行なう。
CM30a,30bは、それぞれ、図2に示すように、複数(図2に示す例では2つ)のCA306を備えるとともに、CPU301,RAM302,ROM303,エキスパンダ304及びIOC305を備える。すなわち、CM30a,30bは互いに同様の構成を有している。又、CM30aとCM30bとは通信回線を介して相互に接続されている。これにより、CM30a,30bは冗長化された構成を形成する。
以下、CMを示す符号としては、複数のCMのうち1つを特定する必要があるときには符号30a,30bを用いるが、任意のCMを指すときには符号30を用いる。
また、図中、同一の符号は同一もしくは略同一の部分を示しているので、その詳細な説明は省略する。
CA306は、ホスト装置2等と通信可能に接続するインタフェースコントローラ(通信アダプタ)である。CA306は、ホスト装置2等から送信されたデータを受信したり、CM30から出力するデータをホスト装置2等に送信する。すなわち、CA306は、ホスト装置2等の外部装置との間でのデータの入出力(I/O)を制御する。
IOC305は、CM10とのHDD60との間においてデータ転送を実施し、例えば、専用チップとして構成されている。このIOC305は、HDD60との間でクレジット及びクレジットブロックを用いたフロー制御を行なう。
例えば、IOC305は、HDD60からのデータ(フレーム)受信時において、フレームの送信元であるHDD60に対して、フレームを受け取るためのバッファが利用可能な状況にある場合にクレジットを、又、バッファが利用可能な状態ではない場合に、クレジットブロックを送信する。
IOC305は、HDD60へのデータ送信時には、フレームの送信先であるHDD60からクレジットを受信した場合にフレームの送信を行ない、又、HDD60からクレジットブロックを受信した場合には、クレジットが送信されるまでフレームの発送を抑止する。又、その後、HDD60からクレジットを受信した場合には、先頭のフレームから再度データ送信を行なう。
このIOC305は、後述するディスク制御部12から発行(送信)を指示されるコマンドを送信先のHDD60に対して発行する。
ROM303は、CPU301が実行するプログラムや種々のデータを格納する記憶装置であり、例えば、フラッシュROMである。
RAM302は、種々のデータやプログラムを格納する記憶領域であって、CPU101がプログラムを実行する際に、データやプログラムを格納・展開して用いる。又、このRAM302は、ホスト装置2から受信したデータや、HDD60から読み出したデータを格納するバッファとしての機能を備える。ただし、これに限定されるものではなく、RAM302とは別にメモリを備え、このメモリをバッファとして機能させてもよい。
また、このRAM302には、図1に示すように、流量ブロック数401,コマンド流量基準値(基準情報,比較基準値)403及びコマンドキュー404が格納される。
コマンドキュー404は、ディスク制御部12からHDD60等に対して発行されるコマンドが登録される待ち行列であり、後述する抑止部132によって、コマンドが登録される。
後述するディスク制御部(コマンド発行指示部)12が、コマンドキュー404に登録されたコマンドを、その先頭に登録されているものから順番に、すなわち、First In, First Out(FIFO)で、IOC305に対して送信先のHDD60に発行するよう指示を行なう。
なお、流量ブロック数401及びコマンド流量基準値403については後述する。
CPU301は、種々の制御や演算を行なう処理装置であり、ROM303に格納されたプログラムを実行することにより、種々の機能を実現する。
例えば、CPU301は、システム制御部11としての機能を備え、RAIDの実現や、アラーム監視機能,経路制御機能,RAS機能等の種々の機能を実現する。
アラーム監視機能は、HDD60やシステム内に備えられた各機器から通知されるアラームを監視し、システム内における異常を検知する。経路制御機能は、コマンド等の転送経路を制御するものであり、例えば、ネットワーク経路上において異常が検知された場合に、異常発生箇所を回避する経路を決定し、この決定した経路でのデータ転送を行なう。RASは、信頼性/可用性/保守性を実現するための機能であり、例えば、キャッシュメモリ部の縮退やECC,各種エラー検出等を行なう。
なお、システム制御部11としての機能は、これらに限定されるものではなく、CMとして公知の種々の機能を備えてもよい。
さらに、CPU301は、図1に示すように、ディスク制御部12としての機能を備える。
ディスク制御部12は、HDD60へのアクセス制御等を行なう。例えば、ディスク制御部12は、ホスト装置2からのホストI/Oに応じてHDD60へのアクセス制御等を行なう。
このディスク制御部12は、HDD60との間において授受するコマンドの処理を行なう機能(コマンド処理機能)を備え、HDD60に対してリードコマンドやライトコマンド等の各種コマンド(要求コマンド)を発行する。
ディスク制御部12は、HDD60に対して要求コマンドを送信した場合には、その要求コマンドを送信してから、この要求コマンドに対する応答コマンドがHDD60から送信されるまでの経過時間を計時する。そして、ディスク制御部12は、この経過時間を所定のタイムアウト基準時間(例えば、5秒)と比較する。要求コマンドを送信してからの経過時間がタイムアウト基準時間を超えた場合には、ディスク制御部12はタイムアウトエラーが発生したと判断する。タイムアウトエラーが発生した場合には、ディスク制御12は、例えば、オペレータ等に対してタイムアウトエラーの通知を行なったり、要求コマンドの再送信を行なう。
なお、本実施形態においては、後述するレスポンス時間及びレスポンス平均値をリセットする間隔としてのリセット基準時間は、このタイムアウト基準時間に基づいて決定される。例えば、リセット基準時間(例えば、0.5秒)としては、タイムアウト基準時間の10分の1の値が用いられる。
また、ディスク制御部12は、図1に示すように、差分データ量管理部13,抑止部14,レスポンス時間算出部16及び基準情報設定部15としての機能を備える。
差分データ量管理部13は、CM30から配下の1以上のHDD60(送信先)に対して発行中のコマンドにかかる発行データ量と、これらの1以上のHDD60から当該CM30へ応答中のデータ(コマンド)にかかる応答データ量との差分である差分データ量を管理する。
本実施形態においては、差分データ量管理部13は、発行データ量及び応答データ量を、各コマンドデータを構成するブロック(1ブロック=512byte)の数(ブロック数)で管理する。そして、差分データ量管理部13は、発行データ量のブロック数と応答データ量のブロック数との差分である差分データ量を流量ブロック数401としてRAM302に格納する。
具体的には、ディスク制御部12がHDD60に対して要求コマンドを送信する際に、差分データ量管理部13は、要求コマンドにかかるデータ(要求コマンドデータ)を構成するブロック数を、流量ブロック数401の値に加算する。又、HDD60から応答コマンドを受信する際に、差分データ量管理部13は、応答コマンドにかかるデータ(応答コマンドデータ)を構成するブロック数を、流量ブロック数401の値から減算する。これにより、流量ブロック数401の値は、その時点における差分データ量をリアルタイムに表す。なお、以下、差分データ量をコマンド流量差分という場合がある。
また、差分データ量管理部13は、そのCM30に接続された複数のHDD60に対してそれぞれ要求コマンドを発行する場合には、これらの複数のHDD60に対する各要求コマンドのブロック数を流量ブロック数401に加算する。又、差分データ量管理部13は、そのCM30に接続された各HDD60からそれぞれ応答コマンドを受信する場合には、これらの各応答コマンドのブロック数を流量ブロック数401から減算する。
なお、発行中のコマンドデータ量は、CM30からHDD60に対してコマンドを発行する際に採取される。又、差分データ量管理部13は、HDD60からデータ応答を受信する際に応答データ量も採取する。なお、これらの発行データ量及び応答データ量は既知の種々の手法を用いて採取することができ、その詳細な説明は省略する。
例えば、CM30から4つのHDD60に対して、それぞれ、5,10,15,10Mbyteのデータのリード要求を発行する場合には、発行データ量=5+10+15+10=40Mbyte(81,920ブロック)となる。又、かかるリード要求に対する応答として、4つのHDD60から、それぞれ、5,10,15,10Mbyteのデータが送信されると、応答データ量=5+10+15+10=40Mbyte(81,920ブロック)となる。
そして、過負荷状態等の理由により、HDD60の少なくとも一部がリード要求に対する応答データを送信できない場合には、その時点において、発行データ量と応答データ量とに差分(差分データ量)が生じる。流量ブロック数401はこの差分データ量を示す。
抑止部14は、HDD60へのコマンドの発行を抑止する。具体的には、抑止部14は、コマンドの発行時において、発行する要求コマンドをコマンドキュー404に設定(登録)することにより、この要求コマンドがただちにIOC305に転送されることを抑止する。
抑止部14は、記差分データ量管理部13によって算出された流量ブロック数401の値を、RAM302に記憶されたコマンド流量基準値(基準情報,比較基準値)403と比較する。そして、差分データ量がコマンド流量基準値403以下である場合、すなわち、コマンド発行流量差分に余裕がある場合には、IOC305を介して、そのコマンドを送信先のHDD60に対して発行させる。又、抑止部14は、差分データ量がコマンド流量基準値403よりも大きい場合には、発行するコマンドをコマンドキュー404に設定する。
コマンドキュー404に登録されたコマンドは、ディスク制御部12が、コマンド発行が可能であると判断した場合に、その先頭に登録されているものから順番に、IOC305に送信先のHDD60に対して発行させる。
図3は実施形態の一例としてのストレージシステム1におけるコマンド流量基準値403を例示する図である。
図3に示す例では、コマンド流量基準値403は10Mbyte(20,480ブロック)であり、現在の差分データ量(コマンド流量差分)の値が7Mbyte(14,336ブロック)である。この現在の差分データ量の値(7Mbyte)はコマンド流量基準値403以下であるので、抑止部14はコマンドをコマンドキュー404に格納させることなく、ディスク制御部12がIOC305に送信元のHDD60に対してコマンドを発行させる。
また、後述するレスポンス時間算出部16によって算出されたレスポンス平均値がタイムアウト基準値以下である場合には、コマンド発行に余裕があると考えられる。このような場合にも、抑止部14は、HDD60へのコマンド発行の抑止を行なわず、すなわち、そのコマンドをコマンドキュー404に登録することなく、IOC305から送信先のHDD60へ送信させる。
レスポンス時間算出部16は、送信先のHDD60に対して発行したコマンドへの応答レスポンス時間の平均値を算出する。このレスポンス時間算出部16は、HDD60から応答コマンドを受信すると、その応答コマンドについて、対応する発行コマンドを発行してからの経過時間(レスポンス時間)を取得する。レスポンス時間算出部16は、取得したレスポンス時間をRAM302の所定の記憶領域に格納する。
そして、レスポンス時間算出部16は、RAM302に格納されている、先に受信した応答コマンドについてのレスポンス時間との平均値(レスポンス平均値)を算出する。レスポンス時間算出部16は、算出したレスポンス平均値もRAM302の所定の記憶領域に格納する。
また、RAM302に記憶されたレスポンス時間及びレスポンス平均値は、予め設定されたリセット基準時間(例えば、0.5秒)毎にリセットされる。これにより、レスポンス時間算出部16は、レスポンス平均値の算出時から最大でリセット基準時間(例えば、0.5秒)内に取得されたレスポンス時間の平均値を算出する。
レスポンス平均値としては、古い値を維持していても意味がなく、常に最新のコマンド流量基準値403に基づいた値を用いることが望ましい。しかしながら、本ストレージシステム1においては、後述の如く基準情報設定部15によりコマンド流量基準値403の値は常に変動する。このため、コマンド流量基準値403を変更するたびにレスポンス平均値をリセットすると、レスポンス平均値を算出するために平均をとるレスポンス時間の母数が少なくなる。これにより、レスポンス平均値が極端な値となる可能性がある。
そこで、本ストレージシステム1においては、ディスク制御部12は、リセット基準時間毎にタイマ割り込みを行ない、この割り込みのタイミングでレスポンス平均値をリセットする。このように、レスポンス平均値を定期的にリセットすることで、常に最新のレスポンス平均値を確認することができ、装置の信頼性を向上させることができる。
なお、リセット基準時間としては、例えば、前述したタイムアウト基準時間(例えば、5秒)の10分の1の値を用いる。
基準情報設定部15は、レスポンス時間算出部16によって算出されたレスポンス平均値及び差分データ量管理部13によって算出されたその時点でのコマンド流量差分の値に基づいてコマンド流量基準値403を設定する。
基準情報設定部(基準範囲設定部)15は、HDD60に対して発行したコマンドへの応答レスポンス時間に基づいて、コマンド流量基準値403を設定する。
ただし、基準情報設定部15は、HDD60からの応答コマンドデータ量が所定量(例えば、4Kbyte=8ブロック)以上である場合にのみコマンド流量基準値403を変更し、応答コマンドデータ量が所定量よりも小さい場合には、コマンド流量基準値403を変更しない。
データ量が所定量よりも小さい応答コマンドは、コマンドブロックが発生する可能性は低く、又、他のコマンドに影響を及ぼす可能性が低いことから、コマンド流量基準値403の変更処理の対象外とする。すなわち、コマンドブロックが発生する可能性のあるコマンドのみを対象とすることにより、影響範囲を狭める。
なお、この応答コマンドデータ量は、例えば、応答コマンドデータを構成するブロック数に代えてデータサイズで判断してもよく、適宜変更して実施することができる。
コマンド流量基準値403には下限値が設けられており、コマンド流量基準値403はこの下限値よりも小さく設定されることはない。下限値には、試験結果等に基づき、経験上、コマンド処理を余裕を持って実施できる値(例えば、5Mbyte)が設定される。
(a)コマンド流量基準値の引き上げ
基準情報設定部15は、レスポンス平均値が予め設定されたレスポンス基準値(所定の基準値)以下であって、且つ、コマンド流量差分がコマンド流量基準値403よりも大きい場合に、コマンド流量基準値403を引き上げる(値を増大させる)。
ここで、レスポンス基準値は、前述したタイムアウト値よりも小さい値であり、例えば、タイムアウト値に係数M(ただし、M<1)を乗算した値を用いる。本実施形態においては、レスポンス基準値として、タイムアウト値に0.9を乗算した値(M=0.9)である4.5(単位;秒)を用いる。
レスポンス平均値が予め設定されたレスポンス基準値以下であるということは、コマンド発行に余裕があると判断することができる。そこで、基準情報設定部15は、発行するコマンドのデータ量、すなわち、発行データ量を増大させるべく、コマンド流量基準値403を引き上げる。
差分データ量管理部13によって算出されたその時点でのコマンド流量差分(現在のコマンド流量差分)の値がコマンド流量基準値403よりも大きい場合に、その現在のコマンド流量差分の値を用いて、コマンド流量基準値403を置換する。
図4は実施形態の一例としてのストレージシステム1におけるコマンド流量基準値403の引き上げ方法を説明する図である。
この図4に示す例においては、レスポンス平均値が予め設定されたレスポンス基準値以下であり、且つ、コマンド流量差分(12Mbyte)がコマンド流量基準値403(10MByte)よりも大きい場合を示す。そして、変更前のコマンド流量基準値403は10Mbyteである。
このような場合には、基準情報設定部15は、コマンド流量基準値403を現在のコマンド流量差分で置換する。これにより、変更後のコマンド流量基準値403は12Mbyteとなる。
(b)コマンド流量基準値の引き下げ
また、基準情報設定部15は、レスポンス平均値が予め設定されたレスポンス基準値よりも大きく、且つ、コマンド流量差分がコマンド流量基準値403以下の場合に、コマンド流量基準値403を引き下げる(値を減少させる)。
レスポンス平均値が予め設定されたレスポンス基準値よりも大きいということは、コマンド発行に余裕が無くなりつつあり、タイムアウト基準時間に到達してタイムアウトエラーとなる可能性が高いと判断することができる。
そこで、基準情報設定部15は、発行するコマンドのデータ量、すなわち、発行データ量を減少させるべく、コマンド流量基準値403を引き下げる。
具体的には、コマンド流量基準値403を、差分データ量管理部13によって算出されたその時点でのコマンド流量差分の値に、係数k(ただし、k<1)を乗算した値を用いて置換する。
図5は実施形態の一例としてのストレージシステム1におけるコマンド流量基準値403の引き下げ方法を説明する図である。
この図5に示す例においては、レスポンス平均値が予め設定されたタイムアウト基準値よりも大きく、且つ、コマンド流量差分(9Mbyte)がコマンド流量基準値403(10MByte)以下の場合を示す。そして、変更前のコマンド流量基準値403は10Mbyteである。
このような場合には、基準情報設定部15は、現在のコマンド流量差分に係数k(例えば、k=0.9)を乗算した値(=8.1)を算出する。そして、基準情報設定部15は、コマンド流量基準値403をこの現在のコマンド流量差分に基づいて算出した値(8.1)で置換する。これにより、変更後のコマンド流量基準値403は8.1Mbyteである。
ただし、基準情報設定部15は、コマンド流量基準値403を下限値よりも小さくすることはない。前述の如く、コマンド流量基準値403は、試験結果等に基づき、経験上、コマンド処理を余裕を持って実施できる値(例えば、5Mbyte)が設定されるからである。
なお、レスポンス平均値が予め設定されたレスポンス基準値よりも大きく、且つ、コマンド流量差分がコマンド流量基準値403よりも大きい場合にも、基準情報設定部15は、発行するコマンドのデータ量、すなわち、発行データ量を減少させるべく、コマンド流量基準値403を引き下げることが望ましい。
例えば、基準情報設定部15は、差分データ量管理部13によって算出されたその時点でのコマンド流量差分の値に係数k(ただし、k<1)を乗算した値が、コマンド流量基準値403よりも小さくなる場合には、その値を用いて、コマンド流量基準値403を置換する。
また、レスポンス平均値が予め設定されたレスポンス基準値以下であって、且つ、コマンド流量差分がコマンド流量基準値403以下の場合には、コマンド流量基準値403を、その上限値に計数kを乗算した値で更新してもよく、又、コマンド流量基準値403を変更しないようにしてもよい。
さらに、コマンド流量差分がコマンド流量基準値403以下の場合には、基準情報設定部15は、コマンド流量基準値403を下限値に一致させる。
なお、これらの各機能を実現するためのプログラム(制御プログラム)は、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RW等),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
システム制御部11及びディスク制御部12(差分データ量管理部13,抑止部14レスポンス時間算出部16及び基準情報設定部15)としての機能を実現する際には、内部記憶装置(本実施形態ではCM30のRAM302やROM303)に格納された制御プログラムがコンピュータのマイクロプロセッサ(本実施形態ではCPU301)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。又、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とを備えており、本実施形態においては、CM30がコンピュータとしての機能を有しているのである。
上述の如く構成された実施形態の一例としてのストレージシステム1のCM30における要求コマンド発行時の処理を、図6に示すフローチャート(ステップA1〜A5)に従って説明する。以下、CM10からHDD60に対してリード要求を行なう例について説明する。
差分データ量管理部13は、HDD60に対して送信するリード要求コマンドにかかるデータ量(要求コマンドデータ量)を確認する。要求コマンドデータ量は、例えば、要求コマンドデータを構成するブロック数で判断する。
差分データ量管理部13は、要求コマンドデータのブロック数が所定量(例えば、4Kbyte=8ブロック)以上であるか否かを確認する(ステップA1)。
要求コマンドデータ量が所定量以上である場合に、以下のステップA2〜A4において行なう流量制御の対象とする。
データ量が所定量よりも小さい応答コマンドは、コマンドブロックが発生する可能性は低く、又、他のコマンドに影響を及ぼす可能性が低いことから、流量制御の対象外とする。すなわち、コマンドブロックが発生する可能性のあるコマンドのみを対象として流量制御を行なう。
流量に影響するのはコマンド辺りのサイズが大きいシーケンシャルIO(Sequential IO)であるので、このシーケンシャルIOを対象としてコマンド発行を抑制する。すなわち、流量のカウントを一定以上のサイズのコマンドに限定し、それ未満は流量制御の対象外とする。
ランダムIO(Random IO)は、コマンドあたりのサイズが小さく、流量の急増への影響度が低いので、流量管理の対象外として、キューイングせずにコマンドを発行する(サイズの小さいシーケンシャルIOも同様である)。
これにより、ランダムIOがシーケンシャルIOを追い抜くことになるが、コマンド順序の保障はRAID制御で実現することができるので、DiskDrvでコマンドの追い抜きが発生しても処理に影響は生じない。
HDD60に対する要求コマンドデータのブロック数が8ブロック以上である場合には(ステップA1のYESルート参照)、抑止部14が、差分データ量管理部13によって算出したコマンド流量差分をコマンド流量基準値403と比較する。すなわち、抑止部14は、コマンド流量差分がコマンド流量基準値403以下であるかを判断することにより、コマンド発行流量差分に余裕があるか否かを確認する(ステップA2)。
コマンド発行流量差分に余裕がある場合、すなわち、コマンド流量差分がコマンド流量基準値403以下である場合には(ステップA2のYESルート参照)、ディスク制御部12は、RAM402における流量ブロック数401の値に、ステップA1において確認した要求コマンドにかかるブロック数を加算する(ステップA3)。
ディスク制御部12は、その要求コマンドをIOC305に転送させ、対象のHDD60に対して発行させ(ステップA5)、処理を終了する。
一方、コマンド発行流量差分に余裕がない、すなわち、コマンド流量差分がコマンド流量基準値403よりも大きい場合には(ステップA2のNOルート参照)、抑止部14は、その要求コマンドをコマンドキュー404に設定(コマンドキューイング)し(ステップA4)、処理を終了する。要求コマンドをコマンドキュー404に設定することにより、その要求コマンドがただちにIOC305に転送されることがなくなる。
また、HDD60に対する要求コマンドデータのブロック数が7ブロック以下である場合には(ステップA1のNOルート参照)、ステップA2〜A4の流量制御を行なわずに、ステップA5において、IOC305を介して対象のHDD60に発行する。
前述の如く、データ量が所定量よりも小さい要求コマンドは、コマンドブロックが発生する可能性は低く、又、他のコマンドに影響を及ぼす可能性が低いことから、流量制御の対象外とするのである。
次に、実施形態の一例としてのストレージシステム1のCM30における応答コマンド受信時の処理を、図7に示すフローチャート(ステップB1〜B11)に従って説明する。以下、CM10からHDD60に対してリード要求を行なう例について説明する。以下、CM10からHDD60に発行されたリード要求に対する応答コマンドを受信する例について説明する。
差分データ量管理部13は、HDD60から受信するリード応答コマンドにかかるデータ量(応答コマンドデータ量)を確認する。応答コマンドデータ量は、例えば、応答コマンドデータを構成するブロック数で判断する。
差分データ量管理部13は、応答コマンドデータのブロック数が所定量(例えば、4Kbyte=8ブロック)以上であるか否かを確認する(ステップB1)。
応答コマンドデータ量が所定量以上である場合に、以下のステップB2〜B5,B9,B10において行なうコマンド流量基準値403の変更処理の対象とする。
データ量が所定量よりも小さい応答コマンドは、コマンドブロックが発生する可能性は低く、又、他のコマンドに影響を及ぼす可能性が低いことから、コマンド流量基準値403の変更処理の対象外とする。すなわち、コマンドブロックが発生する可能性のあるコマンドのみを対象とすることにより、影響範囲を狭める。
応答コマンドデータのブロック数が8ブロック以上である場合には(ステップB1のYESルート参照)、差分データ量管理部13は、流量ブロック数401から応答コマンドデータのブロック数(応答ブロック数)を減算することにより、流量ブロック数401を更新する。又、レスポンス時間算出部16が、RAM302に格納されている、先に受信した応答コマンドについてのレスポンス時間との平均値(レスポンス平均値)を算出する(ステップB2)。
基準情報設定部15は、算出されたレスポンス平均値と予め設定されたレスポンス基準値とを比較し、レスポンス平均値がレスポンス基準値を超えるか否かを確認する(ステップB3)。
レスポンス平均値がレスポンス基準値を超える場合には(ステップB3のYESルート参照)、コマンド流量基準値403が下限値に達しているか否かを確認する(ステップB4)。すなわち、コマンド流量基準値403を更に引き下げる余地があるか否かを確認する。
コマンド流量基準値403が下限値に達していない場合には(ステップB4のNOルート参照)、基準情報設定部15は、コマンド流量基準値403を引き下げる(ステップB5)。
このステップB5において、基準情報設定部15は、現在のコマンド流量差分の値、すなわち、流量ブロック数401の値とコマンド流量基準値403とを比較する。
流量ブロック数401の値が、コマンド流量基準値403以下である場合には、基準情報設定部15は、現在のコマンド流量差分に係数k(例えば、k=0.9)を乗算した値(=8.1)を算出する。そして、基準情報設定部15は、コマンド流量基準値403をこの現在のコマンド流量差分に基づいて算出した値(8.1)で置換することで、その値を引き下げる。
また、流量ブロック数401の値が、コマンド流量基準値403よりも大きい場合であって、現在のコマンド流量差分に係数kを乗算した値がコマンド流量基準値403よりも小さくなる場合にも、基準情報設定部15は、コマンド流量基準値403をこの現在のコマンド流量差分に基づいて算出した値で置換する。
なお、現在のコマンド流量差分に係数kを乗算した値がコマンド流量基準値403以上となる場合には、コマンド流量基準値403を、その上限値に計数kを乗算した値で更新してもよく、又、コマンド流量基準値403を変更しないようにしてもよい。
また、流量ブロック数401の値が、コマンド流量基準値403よりも小さい場合には、コマンド流量基準値403をその下限値に一致させる。すなわち、コマンド流量基準値403を下限値まで引き下げる。
その後、ステップB6において、ディスク制御部12が、コマンドキュー404に登録されている要求コマンド(キューイングコマンド)の有無を確認する(ステップB6)。キューイングコマンドがない場合には(ステップB6のNOルート参照)、処理を終了する。
キューイングコマンドがある場合には(ステップB6のYESルート参照)、次に、ステップB7において、コマンド流量差分がコマンド流量基準値403以下であるか否かを確認する。すなわち、コマンド発行流量に余裕があるか否かを確認する(ステップB7)。
コマンド流量差分が、コマンド流量基準値403以下である場合、すなわち、コマンド発行流量に余裕がある場合は(ステップB7のYESルート参照)、ディスク制御部12は、コマンドキュー404に設定された先頭の要求コマンドをIOC305に転送させる。すなわち、ディスク制御部12は、キューイングされているコマンドを対象のHDD60に対して発行させて(ステップB8)、処理を終了する。
コマンド流量差分が、コマンド流量基準値403より大きい場合、すなわち、コマンド発行流量に余裕がない場合は(ステップB7のNOルート参照)、要求コマンドを転送する余裕がないと判断し、そのまま処理を終了する。
また、応答コマンドデータのブロック数が7ブロック以下である場合には(ステップB1のNOルート参照)、ステップB2〜B5の処理をスキップし、基準情報設定部15がコマンド流量基準値403を変更することなく、ステップB6に移行する。データ量が所定量よりも小さい要求コマンドは、コマンドブロックが発生する可能性は低く、又、他のコマンドに影響を及ぼす可能性が低いことから、基準情報設定部15によるコマンド流量基準値403の変更処理の対象外とするのである。
さらに、レスポンス平均値がレスポンス基準値以下の場合には(ステップB3のNOルート参照)、基準情報設定部15は、現在のコマンド流量差分の値、すなわち、流量ブロック数401の値とコマンド流量基準値403とを比較する(ステップB9)。
流量ブロック数401の値がコマンド流量基準値403よりも大きい場合には(ステップB9のYESルート参照)、基準情報設定部15は、コマンド流量基準値403を、現在のコマンド流量差分を用いて置換する。これにより、基準情報設定部15はコマンド流量基準値403を引き上げる(ステップB10)。その後、ステップB6に移行する。
流量ブロック数401の値がコマンド流量基準値403以下の場合には(ステップB9のNOルート参照)、基準情報設定部15はコマンド流量基準値403を変更せずに(ステップB11)、ステップB6に移行する。ただし、コマンド流量差分がコマンド流量基準値403の下限値よりも小さい場合は、上限値を下限値に一致させるよう変更する。
また、コマンド流量基準値403が下限値に達している場合にも(ステップB4のYESルート参照)、ステップB11に移行し、基準情報設定部15はコマンド流量基準値403を変更せずに(ステップB11)、ステップB6に移行する。
次に、実施形態の一例としてのストレージシステム1のCM30におけるレスポンス平均値のリセット手法を、図8に示すフローチャート(ステップC1)を用いて説明する。
レスポンス時間算出部16には、タイマ割込みによりリセット基準時間(例えば、0.5秒)毎にリセット指示信号が入力される(ステップC1)。レスポンス時間算出部16は、このリセット指示信号が入力されると、RAM302に記憶されたレスポンス時間及びレスポンス平均値を削除(リセット)させるのである。これにより、RAM302には古いレスポンス時間やレスポンス平均値が残ることがなく、レスポンス時間算出部16は、リセット基準時間(例えば、0.5秒)内に取得されたレスポンス時間の平均値を算出する。すなわち、レスポンス時間算出部16は、本ストレージシステム11における最新の状態に合った、レスポンス時間の平均値を算出することができる。
このように、実施形態の一例としてのストレージシステム1によれば、ディスク制御部12が要求コマンドを発行する際において、差分データ量がコマンド流量基準値403よりも大きい場合に、抑止部14が、その要求コマンドをコマンドキュー404に登録する。これにより、要求コマンドがIOC305に転送されることを抑止し、IOC305のバッファへの要求コマンドにかかるデータの格納を阻止する。すなわち、IOC305がキャッシュフルの状態になることを未然に防ぎ、クレジットブロックの発生を抑止することができる。
これにより、CM30とHDD60との間におけるコマンド及びデータの転送効率を工場させることができる。又、コマンドタイムアウトの発生を防止することで、コマンドタイムアウトを契機とするディスクフォルトやCMパニックを防止することができる。
また、HDD60に対する要求コマンドデータのブロック数(データサイズ)が所定数(所定量)以下である場合には、抑止部14がその要求コマンドの発行を抑止せずに、IOC305を介して対象のHDD60に発行する。すなわち、データ量が所定量よりも小さい要求コマンドは流量制御の対象外とする。これにより、コマンド処理速度を向上させるとともに、CPU301の処理負荷を軽減することができる。
また、応答コマンドを受信する際に、基準情報設定部15が現在の差分データ量に基づいてコマンド流量基準値403を更新する。これにより、システムの転送状態に応じた最適なコマンド流量基準値403が設定される。例えば、レスポンス平均値がレスポンス基準値を超えていない場合には、コマンド処理性能に余裕があると判断し、コマンド流量基準値403を引き上げる。これにより、発行される要求コマンド数を増やすことができ、処理速度を向上させることができる。
また、基準情報設定部15は、コマンド流量基準値403を引き上げる際に、コマンド流量基準値403を、その時点での差分データ量で置換することで更新する。すなわち、レスポンス平均値がレスポンス基準値を超えていない状態、すなわち、データ転送性能が保障されている状態での差分データ量を新たなコマンド流量基準値403として使用する。これにより、データ性能保障がされた状態でコマンド流量基準値403を引き上げることができ、信頼性を向上させることができる。
さらに、基準情報設定部15は、コマンド流量基準値403を引き下げる際には、コマンド流量基準値403を、その時点での差分データ量に係数k(k<1)を乗算した値で置換する。これにより、その時点における差分データ量に合わせてコマンド流量基準値403を引き下げることができ、信頼性を向上させることができる。
そして、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上述した実施形態においては、要求コマンドや応答コマンドのコマンドデータ量をブロック単位で取り扱っているが、これに限定されるものではない。すなわち、コマンドデータ量は、例えば、コマンドを構成するブロック数に代えてデータサイズで取り扱ってもよく、適宜変更して実施することができる。
また、上述した実施形態では、2つのCM30a,30bやエキスパンダ304を備えて構成されているが、これに限定されるものではない。すなわち、1つもしくは3つ以上のCM30やエキスパンダ304を備えてもよい。
また、記憶装置60はHDDに限定されるものではなく、SSD(Solid State Drive)等の記憶装置であってもよい。
本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
送信先に対して発行したコマンドへの応答レスポンス時間に基づいて、比較基準値を設定する基準情報設定部と、
コマンド発行時に、前記送信先に対して発行中のコマンドにかかる発行データ量と前記送信先から応答中のデータにかかる応答データ量との差分である差分データ量と前記比較基準値とを比較し、前記差分データ量が前記比較基準値を超えた場合に、前記コマンドの発行を抑止する抑止部とを備えることを特徴とする、制御装置。
(付記2)
付記1において、前記基準情報設定部が、
前記応答レスポンス時間が所定のレスポンス基準値以下の場合に、前記比較基準値を増大させる、制御装置。
(付記3)
付記2において、前記基準情報設定部が、
前記応答レスポンス時間が所定のレスポンス基準値以下の場合に、前記比較基準値を前記差分データ量で置換することで変更する、制御装置。
(付記4)
付記1〜3のいずれか1項において、前記基準情報設定部が、
前記応答レスポンス時間が所定のレスポンス基準値よりも長い場合に、前記比較基準値を減少させる、制御装置。
(付記5)
付記4において、前記基準情報設定部が、
前記応答レスポンス時間が所定のレスポンス基準値よりも長い場合に、前記比較基準値を前前記差分データ量よりも小さい値で置換することで更新する、制御装置。
(付記6)
付記1〜5のいずれか1項において、前記基準情報設定部が、
前記送信先からの応答コマンドデータ量が所定量以上である場合に、前記比較基準値を変更する、制御装置。
(付記7)
付記1〜6のいずれか1項において、前記抑止部が、
前記コマンドをコマンドキューに格納することにより、当該コマンドの発行を抑止する、制御装置。
(付記8)
付記1〜7のいずれか1項において、前記送信先に対して発行したコマンドへの応答レスポンス時間の平均値を算出するレスポンス平均算出部を備え、
前記基準情報設定部が、
前記レスポンス平均算出部によって算出された、前記応答レスポンス時間の平均値に基づいて、前記比較基準値を設定する、制御装置。
(付記9)
付記8において、前記レスポンス平均算出部が、
当該算出時から所定期間内における前記応答レスポンス時間の平均値を算出する、制御装置。
(付記10)
記憶装置と、
前記記憶装置に対して発行したコマンドへの応答レスポンス時間に基づいて、比較基準値を設定する基準情報設定部と、
コマンド発行時に、前記送信先に対して発行中のコマンドにかかる発行データ量と前記送信先から応答中のデータにかかる応答データ量との差分である差分データ量と前記比較基準値とを比較し、前記差分データ量が前記比較基準値を超えた場合に、前記コマンドの発行を抑止する抑止部とを備える、ストレージ装置。
(付記11)
付記10において、前記基準情報設定部が、
前記応答レスポンス時間が所定のレスポンス基準値以下の場合に、前記比較基準値を増大させる、ストレージ装置。
(付記12)
付記11において、前記基準情報設定部が、
前記応答レスポンス時間が所定のレスポンス基準値以下の場合に、前記比較基準値を前記差分データ量で置換することで変更する、ストレージ装置。
(付記13)
付記10〜12のいずれか1項において、前記基準情報設定部が、
前記応答レスポンス時間が所定のレスポンス基準値よりも長い場合に、前記比較基準値を減少させる、ストレージ装置。
(付記14)
付記13において、前記基準情報設定部が、
前記応答レスポンス時間が所定のレスポンス基準値よりも長い場合に、前記比較基準値を前前記差分データ量よりも小さい値で置換することで更新する、ストレージ制御装置。
(付記15)
付記10〜14のいずれか1項において、前記基準情報設定部が、
前記送信先からの応答コマンドデータ量が所定量以上である場合に、前記比較基準値を変更する、ストレージ装置。
(付記16)
付記10〜15のいずれか1項において、前記抑止部が、
前記コマンドをコマンドキューに格納することにより、当該コマンドの発行を抑止する、ストレージ装置。
(付記17)
付記10〜16のいずれか1項において、前記送信先に対して発行したコマンドへの応答レスポンス時間の平均値を算出するレスポンス平均算出部を備え、
前記基準情報設定部が、
前記レスポンス平均算出部によって算出された、前記応答レスポンス時間の平均値に基づいて、前記比較基準値を設定する、ストレージ装置。
(付記18)
付記17において、前記レスポンス平均算出部が、
当該算出時から所定期間内における前記応答レスポンス時間の平均値を算出する、ストレージ装置。
(付記19)
送信先に対して発行したコマンドへの応答レスポンス時間に基づいて、比較基準値を設定する工程と、
コマンド発行時に、前記送信先に対して発行中のコマンドにかかる発行データ量と前記送信先から応答中のデータにかかる応答データ量との差分である差分データ量と前記比較基準値とを比較し、前記差分データ量が前記比較基準値を超えた場合に、前記コマンドの発行を抑止する工程とを備えることを特徴とする、制御方法。
(付記20)
付記19において、前記比較基準値を設定する工程は、
前記応答レスポンス時間が所定のレスポンス基準値以下の場合に、前記比較基準値を増大させる、制御方法。
(付記21)
付記20において、前記比較基準値を設定する工程は、
前記応答レスポンス時間が所定のレスポンス基準値以下の場合に、前記比較基準値を前記差分データ量で置換することで変更する、制御方法。
(付記22)
付記19〜21のいずれか1項において、前記比較基準値を設定する工程は、
前記応答レスポンス時間が所定のレスポンス基準値よりも長い場合に、前記比較基準値を減少させる、制御方法。
(付記23)
付記22において、前記比較基準値を設定する工程は、
前記応答レスポンス時間が所定のレスポンス基準値よりも長い場合に、前記比較基準値を前前記差分データ量よりも小さい値で置換する、制御方法。
(付記24)
付記19〜23のいずれか1項において、前記比較基準値を設定する工程は、
前記送信先からの応答コマンドデータ量が所定量以上である場合に、前記比較基準値を変更する、制御方法。
(付記25)
付記19〜24のいずれか1項において、前記コマンドの発行を抑止する工程は、
前記コマンドをコマンドキューに格納することにより、当該コマンドの発行を抑止する、制御方法。
(付記26)
付記19〜25のいずれか1項において、
前記送信先に対して発行したコマンドへの応答レスポンス時間の平均値を算出する工程を備え、
前記比較基準値を設定する工程は、算出された前記応答レスポンス時間の平均値に基づいて、前記比較基準値を設定する、制御方法。
(付記27)
付記26において、前記応答レスポンス時間の平均値を算出する工程は、
当該算出時から所定期間内における前記応答レスポンス時間の平均値を算出する、制御方法。
(付記28)
送信先に対して発行したコマンドへの応答レスポンス時間に基づいて、比較基準値を設定し、
コマンド発行時に、前記送信先に対して発行中のコマンドにかかる発行データ量と前記送信先から応答中のデータにかかる応答データ量との差分である差分データ量と前記比較基準値とを比較し、前記差分データ量が前記比較基準値を超えた場合に、前記コマンドの発行を抑止する、
処理をコンピュータに実行させる制御プログラム。
(付記29)
付記28において、前記応答レスポンス時間が所定のレスポンス基準値以下の場合に、前記比較基準値を増大させる、
処理をコンピュータに実行させる制御プログラム。
(付記30)
付記29において、前記応答レスポンス時間が所定のレスポンス基準値以下の場合に、前記比較基準値を前記差分データ量で置換することで変更する、
処理をコンピュータに実行させる制御プログラム。
(付記31)
付記28〜30のいずれか1項において、前記応答レスポンス時間が所定のレスポンス基準値よりも長い場合に、前記比較基準値を減少させる、
処理をコンピュータに実行させる制御プログラム。
(付記32)
付記31において、前記応答レスポンス時間が所定のレスポンス基準値よりも長い場合に、前記比較基準値を前前記差分データ量よりも小さい値で置換する、
処理をコンピュータに実行させる制御プログラム。
(付記33)
付記28〜32のいずれか1項において、前記送信先からの応答コマンドデータ量が所定量以上である場合に、前記比較基準値を変更する、
処理をコンピュータに実行させる制御プログラム。
(付記34)
付記28〜33のいずれか1項において、前記コマンドをコマンドキューに格納することにより、当該コマンドの発行を抑止する、
処理をコンピュータに実行させる制御プログラム。
(付記35)
付記28〜34のいずれか1項において、
前記送信先に対して発行したコマンドへの応答レスポンス時間の平均値を算出し、
算出された前記応答レスポンス時間の平均値に基づいて、前記比較基準値を設定する、
処理をコンピュータに実行させる制御プログラム。
(付記36)
付記35において、当該算出時から所定期間内における前記応答レスポンス時間の平均値を算出する、
処理をコンピュータに実行させる制御プログラム。
(付記37)
送信先に対して発行したコマンドへの応答レスポンス時間に基づいて、比較基準値を設定し、
コマンド発行時に、前記送信先に対して発行中のコマンドにかかる発行データ量と前記送信先から応答中のデータにかかる応答データ量との差分である差分データ量と前記比較基準値とを比較し、前記差分データ量が前記比較基準値を超えた場合に、前記コマンドの発行を抑止する、
処理をコンピュータに実行させる制御プログラムを記録したコンピュータ読取可能な記録媒体。
(付記38)
付記37において、前記応答レスポンス時間が所定のレスポンス基準値以下の場合に、前記比較基準値を増大させる、
処理をコンピュータに実行させる制御プログラムを記録したコンピュータ読取可能な記録媒体。
(付記39)
付記38において、前記応答レスポンス時間が所定のレスポンス基準値以下の場合に、前記比較基準値を前記差分データ量で置換することで変更する、
処理をコンピュータに実行させる制御プログラムを記録したコンピュータ読取可能な記録媒体。
(付記40)
付記37〜39のいずれか1項において、前記応答レスポンス時間が所定のレスポンス基準値よりも長い場合に、前記比較基準値を減少させる、
処理をコンピュータに実行させる制御プログラムを記録したコンピュータ読取可能な記録媒体。
(付記41)
付記40において、前記応答レスポンス時間が所定のレスポンス基準値よりも長い場合に、前記比較基準値を前前記差分データ量よりも小さい値で置換する、
処理をコンピュータに実行させる制御プログラムを記録したコンピュータ読取可能な記録媒体。
(付記42)
付記37〜41のいずれか1項において、前記送信先からの応答コマンドデータ量が所定量以上である場合に、前記比較基準値を変更する、
処理をコンピュータに実行させる制御プログラムを記録したコンピュータ読取可能な記録媒体。
(付記43)
付記37〜42のいずれか1項において、前記コマンドをコマンドキューに格納することにより、当該コマンドの発行を抑止する、
処理をコンピュータに実行させる制御プログラムを記録したコンピュータ読取可能な記録媒体。
(付記44)
付記37〜43のいずれか1項において、
前記送信先に対して発行したコマンドへの応答レスポンス時間の平均値を算出し、
算出された前記応答レスポンス時間の平均値に基づいて、前記比較基準値を設定する、
処理をコンピュータに実行させる制御プログラムを記録したコンピュータ読取可能な記録媒体。
(付記45)
付記44において、当該算出時から所定期間内における前記応答レスポンス時間の平均値を算出する、
処理をコンピュータに実行させる制御プログラムを記録したコンピュータ読取可能な記録媒体。
1 ストレージシステム
2 ホスト装置
10 ストレージ装置
11 システム制御部
12 ディスク制御部
13 差分データ量管理部
14 抑止部
15 基準情報設定部
16 レスポンス時間算出部
30,30a,30b CM(制御装置)
50 ネットワーク
60 HDD
301 CPU
302 RAM
303 ROM
304 エキスパンダ
305 IOC
306 CA
401 流量ブロック数
403 基準情報(比較基準値)
404 コマンドキュー

Claims (11)

  1. 送信先に対して発行したコマンドへの応答レスポンス時間に基づいて、比較基準値を設定する基準情報設定部と、
    コマンド発行時に、前記送信先に対して発行中のコマンドのデータ量を示す発行データ量と前記送信先から応答中のコマンドのデータ量を示す応答データ量との差分である差分データ量と前記比較基準値とを比較し、前記差分データ量が前記比較基準値を超えた場合に、前記コマンドをコマンドキューに格納し、前記差分データ量が前記比較基準値以下になるまで前記コマンドの発行を抑止する抑止部とを備えることを特徴とする、制御装置。
  2. 請求項1において、前記基準情報設定部が、
    前記応答レスポンス時間が所定のレスポンス基準値以下であり、且つ、前記差分データ量が前記比較基準値を超えている場合に、前記比較基準値を増大させる、制御装置
  3. 請求項2において、前記基準情報設定部が、
    前記応答レスポンス時間が所定のレスポンス基準値以下であり、且つ、前記差分データ量が前記比較基準値を超えている場合に、前記比較基準値を前記差分データ量で置換することで変更する、制御装置。
  4. 請求項1〜3のいずれか1項において、前記基準情報設定部が、
    前記応答レスポンス時間が所定のレスポンス基準値よりも長く、且つ、前記比較基準値が下限値に達していない場合に、前記比較基準値を減少させる、制御装置
  5. 請求項4において、前記基準情報設定部が、
    前記応答レスポンス時間が所定のレスポンス基準値よりも長く、且つ、前記比較基準値が下限値に達していない場合に、前記比較基準値を前前記差分データ量よりも小さい値で置換することで更新する、制御装置。
  6. 請求項1〜5のいずれか1項において、前記基準情報設定部が、
    前記送信先からの前記答データ量が所定量以上である場合に、前記比較基準値を変更する、制御装置
  7. 請求項1〜のいずれか1項において、前記送信先に対して発行したコマンドへの応答レスポンス時間の平均値を算出するレスポンス時間算出部を備え、
    前記基準情報設定部が、
    前記レスポンス時間算出部によって算出された、前記応答レスポンス時間の平均値に基づいて、前記比較基準値を設定する、制御装置。
  8. 請求項において、前記レスポンス時間算出部が、
    当該算出時から所定期間内における前記応答レスポンス時間の平均値を算出する、制御装置。
  9. 記憶装置と、
    前記記憶装置に対して発行したコマンドへの応答レスポンス時間に基づいて、比較基準値を設定する基準情報設定部と、
    コマンド発行時に、前記記憶装置に対して発行中のコマンドのデータ量を示す発行データ量と前記記憶装置から応答中のコマンドのデータ量を示す応答データ量との差分である差分データ量と前記比較基準値とを比較し、前記差分データ量が前記比較基準値を超えた場合に、前記コマンドをコマンドキューに格納し、前記差分データ量が前記比較基準値以下になるまで前記コマンドの発行を抑止する抑止部とを備える、ストレージ装置。
  10. 制御装置に備えられたプロセッサが、送信先に対して発行したコマンドへの応答レスポンス時間に基づいて、比較基準値を設定する工程と、
    前記プロセッサが、コマンド発行時に、前記送信先に対して発行中のコマンドのデータ量を示す発行データ量と前記送信先から応答中のコマンドのデータ量を示す応答データ量との差分である差分データ量と前記比較基準値とを比較し、前記差分データ量が前記比較基準値を超えた場合に、前記コマンドをコマンドキューに格納し、前記差分データ量が前記比較基準値以下になるまで前記コマンドの発行を抑止する工程とを備えることを特徴とする、制御方法。
  11. 送信先に対して発行したコマンドへの応答レスポンス時間に基づいて、比較基準値を設定し、
    コマンド発行時に、前記送信先に対して発行中のコマンドのデータ量を示す発行データ量と前記送信先から応答中のコマンドのデータ量を示す応答データ量との差分である差分データ量と前記比較基準値とを比較し、前記差分データ量が前記比較基準値を超えた場合に、前記コマンドをコマンドキューに格納し、前記差分データ量が前記比較基準値以下になるまで前記コマンドの発行を抑止する、
    処理をコンピュータに実行させる制御プログラム。
JP2012144969A 2012-06-28 2012-06-28 制御装置、ストレージ装置、制御方法及び制御プログラム Expired - Fee Related JP6051617B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012144969A JP6051617B2 (ja) 2012-06-28 2012-06-28 制御装置、ストレージ装置、制御方法及び制御プログラム
US13/834,831 US20140006727A1 (en) 2012-06-28 2013-03-15 Control apparatus and storage apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012144969A JP6051617B2 (ja) 2012-06-28 2012-06-28 制御装置、ストレージ装置、制御方法及び制御プログラム

Publications (2)

Publication Number Publication Date
JP2014010519A JP2014010519A (ja) 2014-01-20
JP6051617B2 true JP6051617B2 (ja) 2016-12-27

Family

ID=49779454

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012144969A Expired - Fee Related JP6051617B2 (ja) 2012-06-28 2012-06-28 制御装置、ストレージ装置、制御方法及び制御プログラム

Country Status (2)

Country Link
US (1) US20140006727A1 (ja)
JP (1) JP6051617B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6244972B2 (ja) * 2014-02-21 2017-12-13 富士通株式会社 ストレージ制御装置、ストレージ装置及びストレージ制御プログラム
US9547448B2 (en) 2014-02-24 2017-01-17 Netapp, Inc. System and method for transposed storage in raid arrays
JP6428048B2 (ja) * 2014-08-25 2018-11-28 富士通株式会社 通信システム,異常制御装置および異常制御方法
KR102652001B1 (ko) * 2019-05-22 2024-03-27 삼성전자주식회사 반도체 메모리 장치 및 반도체 메모리 장치의 동작 방법

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4995056A (en) * 1989-01-13 1991-02-19 International Business Machines Corporation System and method for data communications
US6563787B1 (en) * 1998-11-09 2003-05-13 Alcatel Canada Inc. Method and apparatus for providing data flow control of a transmission port
US20030026279A1 (en) * 2001-06-08 2003-02-06 Tetsuya Onoda Resource reservation scheme and packet scheduling scheme for file transfer
JP2003078550A (ja) * 2001-08-31 2003-03-14 Hitachi Ltd Tcp/ip通信中継装置およびtcp/ip通信の中継方法
JP2004139482A (ja) * 2002-10-21 2004-05-13 Hitachi Ltd 磁気ディスク制御装置のコマンド処理時間監視設定方法
JP4318914B2 (ja) * 2002-12-26 2009-08-26 富士通株式会社 ストレージシステム及びその動的負荷管理方法
JP4322068B2 (ja) * 2003-03-07 2009-08-26 富士通株式会社 ストレージシステム及びそのデイスク負荷バランス制御方法
US7643983B2 (en) * 2003-03-28 2010-01-05 Hewlett-Packard Development Company, L.P. Data storage system emulation
JP2006092070A (ja) * 2004-09-22 2006-04-06 Nec Corp ディスクアレイ装置及びその制御方法並びに制御プログラム
US7363451B2 (en) * 2005-10-11 2008-04-22 Lsi Logic Corporation Load balancing of disk drives
JP4362135B2 (ja) * 2007-02-13 2009-11-11 富士通株式会社 データ転送装置およびデータ転送方法
US9325583B2 (en) * 2009-01-27 2016-04-26 Hewlett Packard Enterprise Development Lp Method and system for optimizing network input/output performance
US20110071811A1 (en) * 2009-09-18 2011-03-24 International Business Machines Corporation Using event correlation and simulation in authorization decisions
US9467505B2 (en) * 2010-08-27 2016-10-11 Vmware, Inc. Saturation detection and admission control for storage devices

Also Published As

Publication number Publication date
US20140006727A1 (en) 2014-01-02
JP2014010519A (ja) 2014-01-20

Similar Documents

Publication Publication Date Title
US10896068B1 (en) Ensuring the fair utilization of system resources using workload based, time-independent scheduling
US8677181B2 (en) Storage apparatus and method of detecting power failure in storage apparatus
WO2017075075A1 (en) Dynamically adjusting an error correction effort level of a storage device
JP2011023016A5 (ja)
JP6379905B2 (ja) 制御装置および制御方法
JP6051617B2 (ja) 制御装置、ストレージ装置、制御方法及び制御プログラム
JP6464777B2 (ja) 情報処理装置及びプログラム
JP2017091456A (ja) 制御装置、制御プログラムおよび制御方法
WO2010140189A1 (en) Storage system and control methods for the same
JP2009217475A (ja) ストレージシステム,ストレージ装置,ストレージシステムの制御方法および制御プログラム
US11829803B2 (en) Methods for dynamic throttling to satisfy minimum throughput service level objectives and devices thereof
JP5492237B2 (ja) ビデオ配信サーバ、ssd制御方法
JP5399631B2 (ja) ドライブユニットにおける非データ伝送のための時間バジェティング
JP5949224B2 (ja) ストレージ制御装置、該プログラム及び該方法
JP6187150B2 (ja) ストレージ制御装置、ストレージ装置、及びストレージ制御プログラム
JP5823755B2 (ja) 記憶装置、およびプログラム
JP6481490B2 (ja) ストレージシステム、制御装置および制御プログラム
JP5505329B2 (ja) ディスクアレイ装置及びその制御方法
JP2023015488A (ja) データ中継装置、中継制御方法およびストレージシステム
JP6838299B2 (ja) ストレージ装置、ストレージ制御装置、及びストレージ制御プログラム
US9760423B2 (en) Storage system and control apparatus
US10908966B1 (en) Adapting target service times in a storage system
JP2020038475A (ja) ストレージ制御装置およびストレージ制御プログラム
US20090327469A1 (en) Method for Controlling Host Throughput to a Computer Storage Subsystem
JP2005276135A (ja) ディスク管理方法及びraidストレージシステム

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160509

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161114

R150 Certificate of patent or registration of utility model

Ref document number: 6051617

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees