JP2005332236A - I/oコマンド投入数の動的変換システム - Google Patents
I/oコマンド投入数の動的変換システム Download PDFInfo
- Publication number
- JP2005332236A JP2005332236A JP2004150478A JP2004150478A JP2005332236A JP 2005332236 A JP2005332236 A JP 2005332236A JP 2004150478 A JP2004150478 A JP 2004150478A JP 2004150478 A JP2004150478 A JP 2004150478A JP 2005332236 A JP2005332236 A JP 2005332236A
- Authority
- JP
- Japan
- Prior art keywords
- host
- command
- storage device
- switch
- input
- 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
Links
Images
Abstract
【課題】 本発明はI/Oコマンド投入数の動的変換システムに関し、複数のホスト間での負荷バランスをとることができるI/Oコマンド投入数の動的変換システムを提供することを目的としている。
【解決手段】 少なくとも1台のホスト1と記憶装置4とがスイッチ2を介して接続されたシステムにおいて、前記スイッチ2は、前記ホスト1からのI/O発行数を規制する閾値を持ち、前記I/O発行数が前記規制値になるまで、ホストからのI/O発行を受け付けるように構成される。
【選択図】 図1
【解決手段】 少なくとも1台のホスト1と記憶装置4とがスイッチ2を介して接続されたシステムにおいて、前記スイッチ2は、前記ホスト1からのI/O発行数を規制する閾値を持ち、前記I/O発行数が前記規制値になるまで、ホストからのI/O発行を受け付けるように構成される。
【選択図】 図1
Description
本発明はI/Oコマンド投入数の動的変換システムに関し、更に詳しくはFC(ファイバチャネル)複数パスで接続されたホスト−記憶装置間において、各パスに対する最大コマンド発行数(最大スロットル値)を状況に応じて可変させることにより、記憶装置の最大性能を引き出すことが可能になるようにしたI/Oコマンド投入数の動的変換システムに関する。
最大スロットル値の設定は、スイッチ経由で複数ホストと接続する場合、各々のパス毎に固定で設定している。図3は従来システムの構成例を示すブロック図である。図において、1はホスト(サーバ)であり、NO.1とNO.2の2台設けられている例を示す。各ホスト1内には、各々2個(NO.1とNO.2)のHBA(Host Bus Adaptor)カード1aが設けられている。これにHBAカード1a毎に最大スロットル値として20が与えられている。ここで、最大スロットル値とは、HBAカードから発行することができるI/Oコマンドの最大値をいう。
2はスイッチである。該スイッチ2は、イン側スイッチ2aと、アウト側スイッチ2bとから構成されている。イン側スイッチ2aは4個あり、アウト側スイッチ2bは2個ある。これらイン側スイッチ2aは、それぞれHBAカードと信号線3で接続されている。スイッチ2bには、それぞれNO.1ホストとNO.2ホストのHBAカード1aからのI/Oコマンドが入力されるようになっている。
4はRAID装置である。該RAID装置4には、アクセス対象のデバイス7が設けられている。5はアウト側スイッチ2bとRAID装置4側を接続するFCケーブルである。6は該FCケーブル5が接続される装置側FCポート、7はアクセス対象のデバイスである。図では、デバイスが5個単位でアクセス対象となっている場合を示している。このように構成されたシステムの動作を説明すれば、以下の通りである。
ホスト1からデータの書き込み又は読み出しのためのI/Oコマンドが発行されると、このI/Oコマンドはスイッチ2を介してRAID装置4に入り、デバイス7へのデータの書き込み、又はデバイス7からのデータの読み出しが行なわれる。この際、アウト側スイッチ2bに入力できるI/Oコマンドの数は合計40個である。即ち、ホストNO.1とNO.2からの最大I/O発行数は40である。
従来のこの種のシステムとしては、例えば第2レベルキャッシュの存在する環境で、外部データ・トラフィックをマルチプロセッサ・コンピュータシステムに結合するために、I/Oコマンド及びI/Oデータのストリームを、プロセッサ・バスを介してコンピュータ・システムに結合する技術が知られている(例えば特許文献1参照)。また、読み取り要求に対応する蓄積装置にスケジューリングされるI/Oコマンドのアクセス負荷の総和が、該蓄積装置が単位時間内に処理できる量を越える場合に、該蓄積装置へスケジューリングされているI/Oコマンドの中から該読み取り要求よりも優先度の高いI/Oコマンドを取り出し、その代わりに該読み取り要求に対応するI/Oコマンドを所望の蓄積装置へスケジューリングする技術が知られている(例えば特許文献2参照)。
特開平10−171712号公報(第6頁、第7頁、図1、図2)
特開平10−003357号公報(第4頁、第5頁、図2)
前述した従来のシステムでは、上位側(ホスト)での設定では、HBAカード1a毎のI/O発行数は20+20=40I/O数発行できる設定になっている。ホストNO.1のHBAカード1aが20I/O数発行していても、ホストNO.2のHBAカード1aがビジー(BUSY)状態で1I/O数であった場合、2台のホスト1のRAID装置4に対するI/O発行数は合計21I/O数となり、RAID装置としての最大値40に対してRAID装置の最大性能を引き出せないという問題があった。
また、HBAカード1a毎に最大スロットル値を20に設定する必要がある。図3に示す構成図の場合、4枚個々に設定する必要がある。なお、RAID装置4側の最大I/O数40は、1パス最大値はHBAカードあたり40/2=20となる。このように設定した場合、RAID装置4側の1つのパスを共有する複数のホスト間での負荷バランスがとれないため、RAID装置4の最大性能を引き出せないという問題があった。
本発明はこのような課題に鑑みてなされたものであって、複数のホスト間での負荷バランスをとることができるI/Oコマンド投入数の動的変換システムを提供することを目的としている。
ホスト側の設定はデフォルト値(例えば255)とし、スイッチ2内でアクセス対象のデバイス7にI/Oコマンドを投入する際のRAID装置4側の1パスあたりの最大値を守りつつ負荷バランスをとるようにした。
具体的には、以下のような機構を設けている。
1.スイッチ2内にテーブルを持つ
本テーブルにはデバイス7側のパス毎のコマンド投入の最大値が記載されている。
2.デバイス7側のパス毎にカウンタを持ち、デバイス7側にI/Oコマンドを投入した時に+1、デバイス7側からのコマンド処理完了で−1する。
3.上記カウンタがデバイス7側の最大値になったら、以降はホスト1に対してはビジーを返すようにする。
1.スイッチ2内にテーブルを持つ
本テーブルにはデバイス7側のパス毎のコマンド投入の最大値が記載されている。
2.デバイス7側のパス毎にカウンタを持ち、デバイス7側にI/Oコマンドを投入した時に+1、デバイス7側からのコマンド処理完了で−1する。
3.上記カウンタがデバイス7側の最大値になったら、以降はホスト1に対してはビジーを返すようにする。
(1)請求項1記載の発明は、少なくとも1台のホストと記憶装置とがスイッチを介して接続されたシステムにおいて、前記スイッチは、前記ホストからのI/O発行数を規制する閾値を持ち、前記I/O発行数が前記規制閾値になるまで、ホストからのI/O発行を受け付けるように構成されたことを特徴とする。
(2)請求項2記載の発明は、前記ホスト側の設定はデフォルト値とし、前記スイッチ内で記憶装置にI/Oコマンドを投入する際の記憶装置側1パスあたりの最大値を保持しつつ、負荷バランスをとることを特徴とする。
(3)請求項3記載の発明は、前記スイッチ内にテーブルを持ち、該テーブルには記憶装置側のパス毎のI/Oコマンド投入数の最大値が記憶されていることを特徴とする。
(4)請求項4記載の発明は、前記記憶装置側のパス毎にカウンタを持ち、記憶装置側にI/Oコマンドを投入した時に+1、記憶装置側からのI/Oコマンド処理完了で−1することを特徴とする。
(4)請求項4記載の発明は、前記記憶装置側のパス毎にカウンタを持ち、記憶装置側にI/Oコマンドを投入した時に+1、記憶装置側からのI/Oコマンド処理完了で−1することを特徴とする。
(5)請求項5記載の発明は、前記カウンタのカウント値が記憶装置側の最大値になったら、以降はホストに対してはビジーを返すことを特徴とする。
(1)請求項1記載の発明によれば、I/O発行数を規制する閾値を持ち、前記I/O発行数がこの閾値になるまで、他のホストからのI/O発行数を受け付けることができるので、複数のホスト間での負荷のバランスをとることができる。
(2)請求項2記載の発明によれば、スイッチ内で記憶装置側1パスあたりの最大値を保持しつつ負荷バランスをとることができる。
(3)請求項3記載の発明によれば、スイッチ内に設けたテーブルに記憶されているI/Oコマンド投入数の最大値を超えないように制御することができる。
(3)請求項3記載の発明によれば、スイッチ内に設けたテーブルに記憶されているI/Oコマンド投入数の最大値を超えないように制御することができる。
(4)請求項4記載の発明によれば、I/Oコマンドを投入した時に+1、記憶装置側のI/Oコマンド投入で−1の演算を行なうようにすることで、カウンタのカウント値が処理することができるI/Oコマンド数を示すことができる。
(5)請求項5記載の発明によれば、カウンタが記憶装置側の最大値になったらホスト側にビジーを返すことにより、I/Oコマンドの投入を控えるようにすることができる。
以下、図面を参照して本発明の実施の形態例を詳細に説明する。
図1は本発明の一実施の形態例を示すブロック図である。図3と同一のものは、同一の符号を付して示す。図3に示す従来構成として異なる点は、スイッチ2内にカウンタを設けた点である。図において、1はホスト(サーバ)、1aはホスト1内に設けられたHBAカードである。ホスト1はNO.1とNO.2の2台設けられており、各ホスト1にはHBAカード1aがNO.1とNO.2の2枚設けられている。なお、ホスト1の数は2台に限るものではなく、任意の数のホストを用いることができる。各HBAカード1aには最大スロットル値の初期値255が与えられている。3は各HBAカード1aとスイッチ2間に設けられたFCケーブルである。
図1は本発明の一実施の形態例を示すブロック図である。図3と同一のものは、同一の符号を付して示す。図3に示す従来構成として異なる点は、スイッチ2内にカウンタを設けた点である。図において、1はホスト(サーバ)、1aはホスト1内に設けられたHBAカードである。ホスト1はNO.1とNO.2の2台設けられており、各ホスト1にはHBAカード1aがNO.1とNO.2の2枚設けられている。なお、ホスト1の数は2台に限るものではなく、任意の数のホストを用いることができる。各HBAカード1aには最大スロットル値の初期値255が与えられている。3は各HBAカード1aとスイッチ2間に設けられたFCケーブルである。
スイッチ2において、2aはFCケーブル3と接続されるイン側スイッチ、2cはそれぞれのイン側スイッチ2aと接続される最大カウント値40のアップダウンカウンタである。該アップダウンカウンタ2cには、それぞれNO.1のHBAカード1aとNO.2のHBAカード1aの出力が接続されている。即ち、各HBAカード1aからはI/Oコマンドが出力され、アップダウンカウンタ2cに入る。カウンタ2cにはテーブルが設けられており、当該カウンタで処理できるI/Oコマンド数が記憶されている。
2bはアップダウンカウンタ2cの出力が接続されるアウト側スイッチである。4はデータを記憶するRAID装置である。該RAID装置4において、7はアクセス対象のデバイスである。6はFCケーブル5が接続される装置側FCポートである。該FCポート6には、ホストNO.1とホストNO.2からの最大I/Oコマンド発行数40が設定される。該装置側FCポート6を介してホスト1からのI/Oコマンドが入力される。I/Oコマンドは、ライト(W)コマンドとリード(R)コマンドからなる。このように構成されたシステムの動作を、図2に示すフローチャートを用いて説明すれば、以下の通りである。図2は本発明の動作の一例を示すフローチャートである。システム構成としては、図1に示すものを用いる。
先ず、ホスト1に搭載されているHBAカードの設定値がデフォルト値である255であるかどうかチェックする(S1)。デフォルト値が255でなかった時にはデフォルト値を255に設定する(S2)。デフォルト値が255であった場合、スイッチ2はホストNO.1又はホストNO.2からI/Oコマンドを受け付ける(S3)。I/Oコマンドの受け取りを確認したら、スイッチ2内のカウンタ値を+1する(S4)。そして、カウント値を確認して40になるまで+1する(S5)。カウント値が40以下であったら、ステップS1に戻り、次のI/Oコマンドの発行を待ち、同様のI/Oコマンドに対する処理を実行する。
ここで、処理の結果カウント値が40以上になったら、スイッチ2はホストNO.1又はホストNO.2に対してビジー応答を返す(S6)。このビジーを受信したHBAカード1aはI/Oコマンドの発行を控える。従ってカウンタ2cの値が増加することはない。カウント値が40未満の場合には、ホストNO.1又はホストNO.2に対してリトライを返す。スイッチ2は、ホストNO.1又はホストNO.2のI/O発行処理が1個完了するのを待つ(S7)。ホストNO.1又はホストNO.2のI/O発行処理が1個完了したら、カウンタ2cはスイッチ2内のカウント値を−1にする(S8)。カウント値を確認し、40まで+1する(S9)。そして、ステップS3に戻り、ホストNO.1又はホストNO.2からのI/Oコマンドの受け付け待ちとなる。
以上、説明したように、本発明によれば、カウンタ2cのカウント値は、I/Oコマンドが発行されると+1され、RAID装置4側からの応答が返されると−1される。このようにして、カウンタ2cのカウント値が40になるまでは、図に示すシステムは、I/Oコマンドを受けて処理することができるので、負荷のバランスをとることができる。即ち、本発明はI/O発行数を規制する閾値を持ち、前記I/O発行数がこの閾値になるまで、他のホストからのI/O発行数を受け付けることができるので、複数のホスト間での負荷のバランスをとることができる。
また、スイッチ内で記憶装置1側1パスあたりの最大値を保持しつつ負荷バランスをとることができる。
また、スイッチ内に設けたテーブルに記憶されているI/Oコマンド投入数の最大値を超えないように制御することができる。
また、スイッチ内に設けたテーブルに記憶されているI/Oコマンド投入数の最大値を超えないように制御することができる。
また、I/Oコマンドを投入した時に+1、記憶装置側のI/Oコマンド投入で−1の演算を行なうようにすることで、カウンタのカウント値が処理することができるI/Oコマンド数を示すことができる。
また、カウンタが記憶装置側の最大値になったらホスト側にビジーを返すことにより、I/Oコマンドの投入を控えるようにすることができる。
上述の実施の形態例では、記憶装置としてRAID装置を用いた場合を例にとって説明したが、本発明はこれに限るものではなく、その他の各種の記憶装置を用いることができる。即ち、I/Oコマンドで動作する記憶装置については同様に適用することができる。
上述の実施の形態例では、記憶装置としてRAID装置を用いた場合を例にとって説明したが、本発明はこれに限るものではなく、その他の各種の記憶装置を用いることができる。即ち、I/Oコマンドで動作する記憶装置については同様に適用することができる。
1 ホスト
1a HBAカード
2 スイッチ
2a イン側スイッチ
2b アウト側スイッチ
2c カウンタ
3 FCケーブル
4 RAID装置
5 FCケーブル
6 装置側FCポート
7 アクセス対象デバイス
1a HBAカード
2 スイッチ
2a イン側スイッチ
2b アウト側スイッチ
2c カウンタ
3 FCケーブル
4 RAID装置
5 FCケーブル
6 装置側FCポート
7 アクセス対象デバイス
Claims (5)
- 少なくとも1台のホストと記憶装置とがスイッチを介して接続されたシステムにおいて、
前記スイッチは、前記ホストからのI/O発行数を規制する閾値を持ち、前記I/O発行数が前記規制閾値になるまで、ホストからのI/O発行を受け付けるように構成されたことを特徴とするI/Oコマンド投入数の動的変換システム。 - 前記ホスト側の設定はデフォルト値とし、前記スイッチ内で記憶装置にI/Oコマンドを投入する際の記憶装置側1パスあたりの最大値を保持しつつ、負荷バランスをとることを特徴とする請求項1記載のI/Oコマンド投入数の動的変換システム。
- 前記スイッチ内にテーブルを持ち、該テーブルには記憶装置側のパス毎のI/Oコマンド投入数の最大値が記憶されていることを特徴とする請求項2記載のI/Oコマンド投入数の動的変換システム。
- 前記記憶装置側のパス毎にカウンタを持ち、記憶装置側にI/Oコマンドを投入した時に+1、記憶装置側からのI/Oコマンド処理完了で−1することを特徴とする請求項2記載のI/Oコマンド投入数の動的変換システム。
- 前記カウンタのカウント値が記憶装置側の最大値になったら、以降はホストに対してはビジーを返すことを特徴とする請求項4記載のI/Oコマンド投入数の動的変換システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004150478A JP2005332236A (ja) | 2004-05-20 | 2004-05-20 | I/oコマンド投入数の動的変換システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004150478A JP2005332236A (ja) | 2004-05-20 | 2004-05-20 | I/oコマンド投入数の動的変換システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005332236A true JP2005332236A (ja) | 2005-12-02 |
Family
ID=35486852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004150478A Pending JP2005332236A (ja) | 2004-05-20 | 2004-05-20 | I/oコマンド投入数の動的変換システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005332236A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8145834B2 (en) | 2008-05-21 | 2012-03-27 | Fujitsu Limited | Storage apparatus, disk controller, and command issue control method |
JP2015026183A (ja) * | 2013-07-25 | 2015-02-05 | 富士通株式会社 | ストレージ制御装置、ストレージ制御プログラム、およびストレージ制御方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08171457A (ja) * | 1994-12-20 | 1996-07-02 | Matsushita Electric Ind Co Ltd | データ転送制御装置 |
JP2001067297A (ja) * | 1999-07-26 | 2001-03-16 | Internatl Business Mach Corp <Ibm> | ディスク・ドライブへコマンドを出すかどうかを決定する方法及びディスク・コントローラ |
JP2003122508A (ja) * | 2001-10-15 | 2003-04-25 | Hitachi Ltd | ボリューム管理方法及び装置 |
WO2003036501A1 (en) * | 2001-09-28 | 2003-05-01 | Maranti Networks, Inc. | Enforcing quality of service in a storage network |
JP2003316522A (ja) * | 2002-04-26 | 2003-11-07 | Hitachi Ltd | 計算機システムおよび計算機システムの制御方法 |
-
2004
- 2004-05-20 JP JP2004150478A patent/JP2005332236A/ja active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08171457A (ja) * | 1994-12-20 | 1996-07-02 | Matsushita Electric Ind Co Ltd | データ転送制御装置 |
JP2001067297A (ja) * | 1999-07-26 | 2001-03-16 | Internatl Business Mach Corp <Ibm> | ディスク・ドライブへコマンドを出すかどうかを決定する方法及びディスク・コントローラ |
WO2003036501A1 (en) * | 2001-09-28 | 2003-05-01 | Maranti Networks, Inc. | Enforcing quality of service in a storage network |
JP2005507201A (ja) * | 2001-09-28 | 2005-03-10 | マランティ ネットワークス インコーポレイテッド | 記憶ネットワーク中のサービスの品質の実行 |
JP2003122508A (ja) * | 2001-10-15 | 2003-04-25 | Hitachi Ltd | ボリューム管理方法及び装置 |
JP2003316522A (ja) * | 2002-04-26 | 2003-11-07 | Hitachi Ltd | 計算機システムおよび計算機システムの制御方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8145834B2 (en) | 2008-05-21 | 2012-03-27 | Fujitsu Limited | Storage apparatus, disk controller, and command issue control method |
JP2015026183A (ja) * | 2013-07-25 | 2015-02-05 | 富士通株式会社 | ストレージ制御装置、ストレージ制御プログラム、およびストレージ制御方法 |
US9727279B2 (en) | 2013-07-25 | 2017-08-08 | Fujitsu Limited | Storage control apparatus controlling issuable number of requests and storage control method thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4775846B2 (ja) | 物理リンクの割当てを制御するコンピュータシステム及び方法 | |
US9135190B1 (en) | Multi-profile memory controller for computing devices | |
US7395392B2 (en) | Storage system and storage control method | |
US11837319B2 (en) | Multi-port memory device and a method of using the same | |
US8583842B2 (en) | Data transfer device and data transfer system | |
US7058740B2 (en) | Effective bus utilization using multiple buses and multiple bus controllers | |
US7409486B2 (en) | Storage system, and storage control method | |
US8312234B2 (en) | Storage system configured from plurality of storage modules and method for switching coupling configuration of storage modules | |
US8156260B2 (en) | Data transfer device and method for selecting instructions retained in channel unit based on determined priorities due to the number of waiting commands/instructions | |
TWI688864B (zh) | 儲存設備及儲存方法 | |
JP2005332236A (ja) | I/oコマンド投入数の動的変換システム | |
US20060277326A1 (en) | Data transfer system and method | |
JP2009093225A (ja) | ストレージ制御装置、方法及びプログラム並びにストレージ装置 | |
WO2005098632A2 (en) | Device to allow multiple data processing channels to share a single disk drive | |
US7716392B2 (en) | Computer system having an I/O module directly connected to a main storage for DMA transfer | |
CN101290556A (zh) | 磁盘阵列共享装置 | |
JP4983133B2 (ja) | 入出力制御装置およびその制御方法、並びにプログラム | |
CN113127399B (zh) | 一种通用串列汇流排装置以及存取方法 | |
KR100779723B1 (ko) | 아이디이 컨트롤 시스템 | |
US20180329853A1 (en) | Multi-channel dimms | |
JP2002116883A (ja) | ディスクアレイ制御装置 | |
JP2000132527A (ja) | プロセッサ間通信制御装置 | |
KR20220097586A (ko) | 메모리 모듈, 메인 보드, 및 서버 장치 | |
KR20150008828A (ko) | 디바이스 확장 기능을 갖는 확장형 멀티 디바이스 베이 시스템 | |
JP2022145964A (ja) | 記憶システム及びその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061218 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091110 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100108 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100427 |