本発明は、磁気デイスク等のストレージ装置を使用してデータの入出力を行うストレージシステム及びその動的負荷管理方法に関し、特に、入出力コマンドの処理量を管理して、コマンド処理の滞留を防止するためのストレージシステム及びその動的負荷管理方法に関する。 The present invention prevents relates to a storage system and its dynamic load management method to input and output data using a storage device such as a magnetic disk, in particular, manages the processing of input and output commands, the residence of the command processing It relates to a storage system and its dynamic load management method for.
磁気デイスク、光磁気デイスク、光デイスク等の記憶媒体を利用したストレージ装置では、データ処理装置の要求で、記憶媒体を実アクセスする。 Magnetic disk, magneto-optical disc, the storage device using a storage medium such as an optical disc is a request of the data processing device, for actual access the storage medium. データ処理装置が、大容量のデータを使用する場合には、複数のストレージ機器と制御装置とを備えたストレージシステムを利用する。 Data processing apparatus, when using a large volume of data utilize the storage system comprising a plurality of storage devices and a control device.
このようなストレージシステムでは、大量のアクセスに対し、システム内でリソース配分をダイナミックに最適化し、上位装置からのアクセスに対し、安定な性能を実現するDTC(Dynamic Traffic Control)機能を備えている。 In such a storage system, with respect to a large amount of access, to optimize resource allocation dynamically in the system, for access from the host device, a DTC (Dynamic Traffic Control) function of realizing a stable performance. 図19は、従来技術の構成図、図20は、従来技術の説明図である。 Figure 19 is a block diagram of a prior art, FIG. 20 is an explanatory view of a prior art.
図19に示すように、ストレージコントローラ100は、ホストI/Oコマンドに応じて、複数のストレージ装置(磁気デイスク装置)110をアクセス制御する。 As shown in FIG. 19, the storage controller 100, in response to the host I / O command, controlling access to the plurality of storage devices (magnetic disk device) 110. このストレージコントローラ100は、コマンド処理機能102、DTC機能104、デイスクドライバ106、デバイスアダプタ108を有する。 This storage controller 100, the command processing function 102, DTC function 104, disk driver 106, having a device adapter 108. コマンド処理機能102は、ホストI/Oコマンドと内部I/Oコマンドを受ける。 Command processing function 102 receives the host I / O command and the internal I / O command.
内部I/Oコマンドは、ホストI/Oのバックグラウンドで実行するI/O制御であり、例えば、ホストからの連続ブロック群のコピー指示に応じて、ホストI/Oのバックグラウンドで、順次コピーを行うOPC(One Point Copy)や、RAID再構築のリビルドや、データバックアップのためのコピーバック等がある。 Internal I / O command is an I / O control to run in the background of the host I / O, for example, in response to successive blocks of the copy instruction from the host, in the background of the host I / O, sequentially copying and OPC (One Point copy) to perform, and the rebuilding of RAID rebuild, there is a copy-back or the like for data backup.
DTC機能104は、ドライバ106、デバイスアダプタ108を介しストレージ装置110に発行するコマンド数を制御する。 DTC function 104, driver 106, and controls the number of commands to be issued to the storage device 110 via the device adapter 108. 図20に示すように、従来技術では、DTC機能104は、各コマンドの応答時間(ストレージ装置110へのコマンド発行からストレージ装置110から応答を受けるまでの時間)を測定し、応答時間の平均を計算し、この平均応答時間が、所定時間より早い場合には、単位時間の発行コマンド数を増加し、所定時間より遅い場合には、単位時間の発行コマンド数を減少する。 As shown in FIG. 20, in the prior art, DTC function 104 measures the response time of each command (the time from issuance of a command to the storage device 110 until it receives a response from the storage device 110), an average response time calculated, the average response time, is earlier than a predetermined time, increases the number of issued commands unit time, if slower than a predetermined time, reducing the number of issued commands unit time. 決定された発行コマンド数を越えたコマンドは、キュー待ちする。 Command exceeding the number determined issued command is queued.
コマンド処理機能102は、ホストI/O(ランダム、シーケンシャル)の受け入れ制限を付けず、優先して処理し、DTC104に渡す。 Command processing function 102, the host I / O (random, sequential) without the acceptance limits, and preferentially processed, and passes the DTC104. 内部I/Oは、ホストI/Oのバックグラウンドで処理し、DTC104に渡す。 Internal I / O processes in the background of the host I / O, passes the DTC104. DTC104は、ドライバ106、デバイスアダプタ108を介し、ストレージ装置110に発行コマンド数を越えない数のコマンドを発行する。 DTC104 the driver 106, via the device adapter 108 issues a number of commands that does not exceed the number of issued commands to the storage device 110.
このように、DTC104は、ストレージ装置110のレスポンス時間に応じて、起動数(コマンド数)を動的に変更し、I/Oコマンドの実行の最適化を行っていた。 Thus, DTC104, depending on the response time of the storage device 110, start number (number of commands) dynamically changes has been performed to optimize the execution of the I / O command.
従来技術では、ホストI/Oを全て受け入れているため、システム性能以上のホストI/Oを受け付けた場合には、内部のタイムアウト時間(例えば、25秒)内に、ホストI/Oを実行できず、ホストにタイムアウトで返答していた。 In the prior art, since the receiving all host I / O, when receiving host I / O over system performance, internal timeout period (e.g., 25 seconds) in a, can perform host I / O It not, had responded in time-out to the host. このため、ホストは、このI/O要求の実行待ちの状態が長くなり、且つタイムアウトに応じて、その時点で再度、ホストI/Oを発する必要があった。 Therefore, the host, the state of awaiting execution of I / O requests becomes long, and in response to timeout, again at that time, it was necessary to issue a host I / O.
又、OPC等の内部I/Oが、コマンド処理部102で、内部バッファ領域の排他権(Extent排他という)を獲得したまま、DTC104で待たされることがあり、後発のホストI/Oコマンドが、Extent排他を獲得できず、スリープし、最悪の場合には、内部のタイムアウトが同様に発生してしまうという問題もあった。 Further, the internal I / O such as the OPC, the command processing unit 102, while acquiring exclusive right internal buffer area (called Extent exclusion), may be kept waiting in DTC104, host I / O command of generic, You can not win the Extent exclusive, to sleep, in the worst case, there is also a problem that the inside of the time-out occurs in the same way.
更に、従来のDTCが、過去のストレージ装置(デイスク装置)からのレスポンス時間のみで新たな起動数を決定しているため、一時的にデイスク装置からのレスポンスの遅延が発生した場合には、デイスク装置への新たなコマンド発行を必要以上に絞ってしまうという問題もあり、ストレージ装置の性能をフルに使用することが困難であった。 Furthermore, conventional DTC is, if because it determines the new numbers start with only the response time from the past in the storage device (disk device), the delay of response from the temporary disk device occurs, disk There is also a problem that squeezing a new command is issued to the device unnecessarily, it is difficult to use the performance of the storage device to the full.
従って、本発明の目的は、ホストI/Oの受け付けを調整して、受け付けたホストI/Oの処理遅延によるタイムアウトを防止するためのストレージシステム及びその動的負荷管理方法を提供することにある。 Accordingly, an object of the present invention, by adjusting the reception of the host I / O, is to provide a storage system and its dynamic load management method for preventing a time-out due to processing delay of the host I / O accepted .
又、本発明の他の目的は、システム性能以上のホストI/Oのコマンド処理の受け付けを抑止し、受け付けたホストI/Oの処理遅延によるタイムアウトを防止するためのストレージシステム及びその動的負荷管理方法を提供することにある。 Another object of the present invention is to prevent the acceptance of the command process of the system performance over the host I / O, storage to prevent time-out due to processing delay of the host I / O accepted system and its dynamic load to provide a management method.
更に、本発明の他の目的は、Extent排他前に負荷管理を行い、ホストI/O処理を妨げずに、受け付けたホストI/Oの処理遅延によるタイムアウトを防止するためのストレージシステム及びその動的負荷管理方法を提供することにある。 Furthermore, another object of the present invention performs load management prior Extent exclusively, without interfering with the host I / O processing, the storage system for preventing time-out due to processing delay of the host I / O has been accepted and the dynamic and to provide a load management method.
更に、本発明の他の目的は、ストレージ装置に着目した流量管理を行い、ハード性能以上のストレージ装置へのコマンド発行を抑止し、ストレージ装置の性能をフルに使用するためのストレージシステム及びその動的負荷管理方法を提供することにある。 Furthermore, another object of the present invention performs flow management focusing on the storage device, to suppress the command issuing to the hard performance or more storage devices, a storage system and its movement to use the performance of the storage device to the full and to provide a load management method.
この目的の達成のため、本発明のストレージシステムは、複数のストレージ装置と、前記複数のストレージ装置をアクセスするためのデバイスアダプターと、前記ストレージ装置のデータの一部を保持するキャッシュメモリと、 RAID構成のRaid論理ユニット単位でアクセスする前記ホスト I/O要求に応じたコマンド処理を実行し、前記処理結果に応じて、前記ストレージ装置をアクセスするアクセス実行処理を実行するコントローラとを有し、前記コントローラは、前記ホストI/O要求を解読し、解読結果により、前記キャッシュメモリを参照して、前記ホストI/O要求に対する応答を行うとともに、前記キャッシュメモリで処理できない前記ホストI/O要求に対し、指定された前記ストレージ装置へのアクセス依頼を行う To achieve these objects, a storage system of the present invention includes a cache memory for holding a plurality of storage devices, a device adapter for accessing said plurality of storage devices, a portion of data of said storage device, RAID executes the command processing corresponding to the host I / O request to access by Raid units of logical units of the configuration, according to the processing result, and a controller that performs access execution process of accessing the storage device, wherein the controller decodes the host I / O request, the decoded result, the referring to the cache memory, with a response to the host I / O requests, that can not be processed in the cache memory the host I / O request against performs access request to the specified the storage device コマンド処理を実行し、前記アクセス依頼されたI/O要求の要求内容を解釈し、 前記Raid論理ユニットのストレージ装置を特定し、アクセスコマンドを発行するアクセス実行処理を実行し、前記コントローラは、前記アクセス依頼された前記ホスト I/O要求の要求パラメータから、 要求転送長とコマンド種別とを用いて、前記Raid論理ユニットの負荷を予測するとともに、前記ストレージ装置の実行中のコマンド数と実行中のデータ転送数とから、 前記ストレージ装置の実際の負荷を、前記ストレージ装置毎に計算し、前記予測負荷と前記実際の負荷とから前記Raid論理ユニット毎のシステム負荷を計算し、前記システム負荷が所定の閾値を越えた場合に、前記ホストから依頼されたI/O要求の受け付けを抑止する。 Executes the command processing, interprets the request content of the access the I / O request requested to identify the storage device of the Raid logical unit, executes the access execution process of issuing an access command, said controller, said execution request parameters of the accessed request host I / O request, using a request transfer length and command type, the Raid in together when predicting the load of the logical unit, the number of commands being executed in the storage device number of data transfer from the in, the actual load of the storage device, and calculates for each of the storage device, and calculates the estimated load and the actual the Raid system load for each logical unit and a load, said system load There when it exceeds a predetermined threshold value, it suppresses the reception of the I / O request requested from the host.
本発明の動的システム負荷管理方法は、コントローラが、 RAID構成のRaid論理ユニット単位でアクセスする前記ホストI/O要求を解読し、解読結果により、複数の前記ストレージ装置のデータの一部を保持するキャッシュメモリを参照して、前記ホストI/O要求に対する応答を行うとともに、前記キャッシュメモリで処理できない前記ホストI/O要求に対し、指定された前記ストレージ装置へのアクセス依頼を行うコマンド処理ステップと、前記コントローラが、前記アクセス依頼されたI/O要求の要求内容を解釈し、前記Raid論理ユニットのストレージ装置を特定し、アクセスコマンドを発行するアクセス実行ステップと、前記コントローラが、前記アクセス依頼された前記ホスト I/O要求の要求パラメータから、 Dynamic system load management method of the present invention, the controller is held, and decrypting the host I / O request to access by Raid units of logical units in the RAID configuration, the decoding result, a part of data of a plurality of said storage device with reference to the cache memory, with a response to the host I / O request, said to said can not be processed by the cache memory the host I / O request, the command processing step of performing an access request to the specified the storage device If the controller interprets the request content of the access the I / O request requested to identify the storage device of the Raid logical unit, and access execution step of issuing an access command, said controller, said access request from the request parameter of the host I / O requests that are, 要求転送長とコマンド種別とを用いて、前記Raid論理ユニットの負荷を予測するとともに、前記ストレージ装置の実行中のコマンド数と実行中のデータ転送数とから、 前記ストレージ装置の実際の負荷を、前記ストレージ装置毎に計算し、前記予測負荷と前記実際の負荷とから前記Raid論理ユニット毎のシステム負荷を計算するシステム負荷計算ステップと、前記コントローラが、前記システム負荷が所定の閾値を越えた場合に、前記ホストから依頼されたI/O要求の受け付けを抑止するステップとを有する。 By using the request transfer length and command type, the Raid in together when predicting the load of the logical unit, and a number of data transfer in progress and the number of commands being executed in the storage device, the actual load of the storage device and it calculates for each of the storage device, and the system load calculation step of calculating a system load of each of the Raid logical unit from said estimated load and the actual load, the controller, the system load exceeds the predetermined threshold value If the, and a step of suppressing the reception of the I / O request requested from the host.
本発明では、従来、ホストI/O要求を管理していないかったが、ストレージシステムのシステム負荷を越えるホストI/O要求に対しては、ホストI/O要求を処理せず、エラー応答し、ホストにコマンドのリトライを行わせるようにした。 In the present invention, conventionally, although Tsu or no control over the host I / O requests for the host I / O requests exceeds the system load of the storage system, without processing the host I / O request, and an error response and so as to perform the retry of the command to the host. これにより、システム内でのコマンド処理の停滞を抑止する。 Accordingly, to suppress stagnation of command processing in the system. 又、システム負荷を、アクセス実行前と後との両方の負荷から計算するため、正確にシステム自体の負荷を管理できる。 Further, the system load, for calculating from both load before and after access execution, can be managed accurately load of the system itself.
又、本発明では、好ましくは、前記コマンド処理部は、前記ホストI/O要求と内部I/O要求とを、前記システム負荷に従い、調整し、調整されたI/O要求の解析、資源獲得処理を行い、前記アクセス実行部を起動する。 In the present invention, preferably, the command processing unit, the host I / O request and the internal I / O request, in accordance with the system load, adjusted, the adjusted I / O request analysis, resource acquisition performs processing, activates the access execution unit. これにより、内部資源獲得前に、I/O要求の調整を行うことができ、ホストI/Oの処理を妨げずに、より早く、タイムアウトエラーの発生を防止できる。 Thus, prior to acquisition internal resources, it is possible to adjust the I / O request, without disturbing the processing of the host I / O, faster, it is possible to prevent occurrence of time-out error.
又、本発明では、好ましくは、前記コマンド処理部は、前記ホストI/O要求を調整する第1のI/O制御モジュールと、前記内部I/O要求を調整する第2のI/O制御モジュールとを有し、前記システム負荷が所定の閾値を越えた場合に、前記ホストから依頼されたI/O要求の受け付けを抑止するとともに、前記内部I/O要求を待ち合わせる。 In the present invention, preferably, the command processing unit, the host I / O requests and the first I / O control module for adjusting the second I / O control for adjusting the internal I / O request and a module, when the system load exceeds a predetermined threshold value, to deter acceptance of the I / O request requested from the host, waits for the internal I / O request.
これにより、ホストI/Oの調整と、内部I/Oの調整を別に分けたので、ホストI/O要求を妨げることなく、内部I/O要求を早期に実行できる。 Thus, the adjustment of the host I / O, since broken into adjustment of the internal I / O, without interfering with the host I / O request, it performs an internal I / O requests quickly.
更に、本発明では、好ましくは、前記コマンド処理部は、前記I/O要求のパラメータから前記ストレージ装置を含むアクセス実行部の処理時間を予測し、前記予測負荷を得るとともに、前記コマンド処理結果から前記ストレージ装置を含むアクセス実行部の処理時間を計算し、前記実際の負荷を得る。 Further, in the present invention, preferably, the command processing unit, said predicting the processing time of the access executing unit including the storage device from the parameters of the I / O request, together with obtaining the estimated load, from the command processing result calculate the processing time of the access executing unit including the storage device, obtaining the actual load.
これにより、アクセス実行部でのハード使用量が不確定な段階で、予測負荷を予測できる。 Thus, hard usage in the access execution unit uncertain stages, can be predicted estimated load.
更に、本発明では、好ましくは、前記コマンド処理部は、前記ホストI/O要求を優先するとともに、前記システム負荷から、前記内部I/O処理の前記システム負荷に対する割合を制御する。 Further, in the present invention, preferably, the command processing unit is configured to give priority to the host I / O request, from the system load, for controlling the ratio of the system load of the internal I / O processing. これにより、内部I/O要求を、早期に処理できる。 Thus, the internal I / O request can be processed quickly.
更に、本発明では、好ましくは、前記コマンド処理部は、前記実際の負荷に応じて、前記アクセス実行部のコマンド処理量を制御する。 Further, in the present invention, preferably, the command processing unit, in response to said actual load, and controls the command processing of the access executing section. これにより、アクセス実行部のハード性能以上のコマンド発行を抑止でき、ストレージ装置のタイムアウトを防止できる。 Thus, the command issuing more hard properties of the access executing unit can suppress and prevent a timeout of the storage device.
更に、本発明では、前記コマンド処理部は、ハードウェアで規定される前記アクセス実行部の単位処理時間と、前記I/O要求の処理数とから前記負荷を予測する。 Further, in the present invention, the command processing unit predicts the load from the unit processing time of the access executing section defined by the hardware, the processing speed of the I / O request. これにより、負荷予測が可能となり、且つ精度も高い。 This enables the load prediction, and the accuracy is high.
更に、本発明では、前記ストレージ装置のデータの一部を保持するキャッシュメモリを更に設け、前記コマンド処理部は、前記ホストI/O要求に対し、キャッシュメモリを参照して、前記キャッシュメモリで処理できないホストI/Oに対し、前記システム負荷が所定の閾値を越えた場合に、前記ホストから依頼されたI/O要求の受け付けを抑止する。 Further, in the present invention, further provided with a cache memory for holding a part of data of said storage device, said command processing unit, the host I / O request to, by referring to the cache memory, processed in the cache memory the host I / O that can not be, if the system load exceeds a predetermined threshold value, suppresses reception of I / O request requested from the host.
キャッシュヒットのI/O要求を除外することにより、より正確な、ホストI/O要求の管理が可能となる。 By excluding the cache hit I / O request, more accurate, it is possible to manage the host I / O requests.
更に、本発明では、好ましくは、前記コマンド処理部は、前記ホストI/O要求に対し、キャッシュメモリを参照して、前記キャッシュメモリで処理するフロントモジュールと、前記キャッシュメモリで処理できないホストI/Oと内部I/Oに対し、前記システム負荷が所定の閾値を越えた場合に、前記ホストI/O要求の受け付けを抑止するIO制御モジュールと、前記IO制御モジュールで調整されたI/O要求の解析及び資源獲得を行うバックエンドモジュールとを有する。 Further, in the present invention, preferably, the command processing section, with respect to the host I / O request, with reference to the cache memory, a front module for processing in the cache memory, can not be processed by the cache memory host I / to O and internal I / O, when the system load exceeds a predetermined threshold value, the host I / O and IO control module to prevent the acceptance of the request, adjusted I / O request by the IO control module and a back-end module for performing analysis and resource acquisition.
これにより、コマンド処理の流れの中で、容易に、ホストI/O要求の管理が可能となる。 Thus, in the flow of command processing, easily, it is possible to manage the host I / O requests.
更に、本発明では、好ましくは、前記コマンド処理部は、前記依頼されたI/O要求の前記アクセス実行部の負荷を予測する流量予測モジュールと、前記アクセス実行部の実際の負荷を管理する実負荷管理モジュールと、前記予測負荷と前記実際の負荷とからシステム負荷を計算する負荷統計モジュールとを有する。 Further, in the present invention, preferably, the command processing unit manages a flow prediction module that predicts the load of the access executing section of the requested I / O request, the actual load of the access executing section real It has a load management module, and a load statistics module that calculates the system load from said actual load and the predicted load. これにより、システム負荷の計算を高速且つ容易に実行できる。 This allows fast and easy to perform a calculation of system load.
以下、本発明の実施の形態を、ストレージシステム、動的システム負荷管理構成、システム負荷管理、動的システム負荷制御、閾値調整処理、他の実施の形態の順で説明する。 Hereinafter, the embodiments of the present invention, a storage system, the dynamic system load management configuration, system load management, dynamic system load control, the threshold adjustment processing will be described in other embodiments.
図1は、本発明の一実施の形態のストレージシステムの構成図であり、磁気デイスクを使用したRAID(Redundant Arrays of Inexpensive Disk)システムを示す。 Figure 1 is a block diagram of a storage system of an embodiment of the present invention, showing a RAID (Redundant Arrays of Inexpensive Disk) system using a magnetic disk. 図1に示すように、ストレージシステムは、一対の磁気デイスクコントローラ(以下、コントローラという)1、2と、この一対のコントローラ1、2にFC_AL(Fiber Channel Arbitrated Loop)4−1,4−2で接続された多数のデバイスエンクロージャー5−1〜5−8とからなる。 As shown in FIG. 1, the storage system, a pair of the magnetic disk controller (hereinafter, controller called) and 1,2, to the pair of controllers 1 and 2 in FC_AL (Fiber Channel Arbitrated Loop) 4-1,4-2 made from the connected multiple devices enclosures 5-1 to 5-8 Prefecture.
このデバイスエンクロージャー5−1〜5−8の各々は、15台の磁気デイスク装置(ストレージ装置)50を内蔵する。 Each of the device enclosure 5-1 to 5-8 has a built-in 15 single magnetic disk device (storage device) 50. 各磁気デイスク装置50は、一対のFC_AL4−1、4−2に接続される。 Each magnetic disk device 50 is connected to a pair of FC_AL4-1,4-2.
コントローラ1、2は、直接又はネットワーク機器を介し、クライアントやサーバー等のホスト3に接続され、ホスト3の大量のデータを、RAIDデイスクドライブ(磁気デイスク装置)へ高速かつ、ランダムに読み書きが出来るシステムである。 Controller 1 and 2, via a direct or network equipment, connected to the host 3, such as the client or server, a large amount of data of the host 3, high-speed and the RAID disk drive (magnetic disk device), randomly reading and writing can be system it is.
一対のコントローラ1、2は、同一の構成を有する。 A pair of controllers 1 and 2 have the same configuration. 従って、コントローラ1の構成を説明し、コントローラ2の構成の説明は省略する。 Therefore, to explain the structure of the controller 1, it is omitted description of the configuration of the controller 2. コントローラ1は、CA(Channel Adapter)11、12と、CM(Centralized Module)10、15〜19と、DA(Device Adapter)13、14のファンクションモジュールによって構成されている。 The controller 1 includes a CA (Channel Adapter) 11,12, and CM (Centralized Module) 10,15~19, is constituted by a function module DA (Device Adapter) 13,14.
CA(Channel Adapter)11、12は、ホストを結ぶホスト・インタフェースの制御をつかさどる回路であり、例えば、ファイバーチャネル回路(FC)やDMA(Direct Memory Access)回路等で構成される。 CA (Channel Adapter) 11,12 is a circuit for controlling the host interface connecting the host, for example, a fiber channel circuit (FC) and DMA (Direct Memory Access) circuit and the like. DA(Device Adapter)13、14は、デイスクデバイス(磁気デイスク装置)50を制御するため、デイスクデバイスとコマンド、データのやり取りを行う回路であり、例えば、ファイバーチャネル回路(FC)やDMA回路等で構成される。 DA (Device Adapter) 13, 14 is to control the disk device (magnetic disk device) 50, disk devices and commands, a circuit for exchanging data, for example, a fiber channel circuit (FC) and DMA circuit, constructed.
CM(Centralized Module)は、CPU10と、メモリー(RAM)15と、フラッシュメモリ(プログラムメモリ)17と、IOブリッジ回路18とを有する。 CM (Centralized Module) includes a CPU 10, a memory (RAM) 15, a flash memory (program memory) 17, and an IO bridge circuit 18. メモリー15は、バッテリーでバックアップされ、その一部が、キャッシュメモリ16として使用される。 Memory 15 is backed up by a battery, a part thereof is used as a cache memory 16.
CPU10は、内部バス19を介し、メモリー15、フラッシュメモリ17、IOブリッジ回路18に接続される。 CPU10 is via the internal bus 19, memory 15, is connected to the flash memory 17, IO bridge circuit 18. このメモリー15は、CPU10のワーク領域に使用され、フラッシュメモリ17は、CPU10が実行するプログラムを格納する。 The memory 15 is used to CPU10 of the work area, the flash memory 17 stores programs that CPU10 executes. このプログラムとして、カーネル、BIOS(Basic Input/Output System),ファイルアクセスプログラム(リード/ライトプログラム)、RAID管理プログラム等を格納する。 As this program, kernel, BIOS (Basic Input / Output System), the file access program (read / write program), stores the RAID management program. CPU10は、このプログラムを実行し、リード/ライト処理、RAID管理処理等を実行する。 CPU10 executes the program, the read / write processing, executes the RAID management processing or the like.
一対のPCI(Personal Computer Interface)バス20、21は、CA11,12と、DA13,14とを接続するとともに、IOブリッジ回路18を介し、CPU10、メモリー15を接続する。 A pair of PCI (Personal Computer Interface) bus 20 and 21, the CAs 11 and 12, along with connecting the DA13,14, via the IO bridge circuit 18 connects CPU 10, a memory 15. 更に、PCIバス20、21には、PCI−ノードリンクブリッジ回路30が接続される。 Additionally, the PCI bus 20 and 21, PCI to node link bridge circuit 30 is connected.
コントローラ1のPCI−ノードリンクブリッジ回路30は、コントローラ2のPCI−ノードリンクブリッジ回路と接続され、コントローラ1,2間のコマンド、データの交信を行う。 PCI- node link bridge circuit 30 of the controller 1 is connected to the PCI- node link bridge circuit of the controller 2 performs the command between the controller 1 and 2, the communication of the data.
例えば、コントローラ1は、デバイスエンクロージャー5−1〜5−4のデイスク装置50を担当し、コントローラ2は、デバイスエンクロージャー5−5〜5−8のデイスク装置50を担当する。 For example, the controller 1 is responsible for the disk device 50 of the device enclosure 5-1 to 5-4, the controller 2 is responsible for disk devices 50 of the device enclosure 5-5~5-8. 図1では、デバイスエンクロージャー5−1〜5−4のデイスク装置50と、デバイスエンクロージャー5−5〜5−8のデイスク装置50とが、RAID5の構成を有する。 In Figure 1, a disk device 50 of the device enclosures 5-1 to 5-4, and the disk device 50 of the device enclosure 5-5~5-8, having the configuration of RAID5.
キャッシュメモリ16は、各々、担当するデイスク装置のデータの一部を格納し、ホストからのライトデータを格納する。 Cache memory 16, respectively, stores a part of data of the responsible disk device, and stores the write data from the host. CPU10は、CA11,12を介しホストからのリード要求を受けて、キャッシュメモリ16を参照し、物理デイスクへのアクセスが必要かを判定し、必要であれば、デイスクアクセス要求をDA13,14に要求する。 CPU10 receives a read request from the host via the CAs 11 and 12, with reference to the cache memory 16, and determines whether access to the physical disk is required, if necessary, requests the disk access request to DA13,14 to.
又、CPU10は、ホストからのライト要求を受けて、ライトデータをキャッシュメモリ16に書込み、且つ内部でスケジュールされるライトバック等をDA13,14に要求する。 Further, CPU 10 receives a write request from the host to request writes the write data in the cache memory 16, and write-back or the like which is scheduled internally DA13,14.
図2は、図1のCPU10が実行するIOコマンド処理モジュールと負荷の関係図、図3は、図2のIOコマンド処理モジュールの構成図である。 Figure 2 is a relationship diagram of the IO command processing module and load CPU10 executes in FIG. 1, FIG. 3 is a block diagram of the IO command processing module of FIG.
図2に示すように、IOコマンド処理は、大きく分けて、ストレージ装置へのアクセスが必要かを判定するフロントエンド処理モジュール40、ストレージ装置へのアクセスの処理を行うバックエンド処理モジュール44と、バックエンド処理モジュール44へのIOコマンドの受け付け量を制御するI/O制御モジュール42とからなる。 As shown in FIG. 2, IO command processing is roughly front-end processing module 40 determines whether the required access to the storage device, the back-end processing module 44 for processing access to the storage device, back made from the I / O control module 42 which controls the reception of IO commands to end processing module 44. フロントエンド処理モジュール40は、キャッシュメモリ16(図1参照)の参照、リード、ライトを行うキャッシュ制御モジュール48を有する。 Front end processing module 40 includes a cache control module 48 to perform reference of the cache memory 16 (see FIG. 1), read, and write.
このバックエンド処理モジュール44に対する負荷は、ホストI/Oによるものと、内部(ローカル)I/Oによるものである。 Load on the back-end processing module 44, and by the host I / O, is due to internal (local) I / O. ホスト3からのI/Oコマンドによるものとしては、ライトコマンド実行後のライトバック81(キャッシュからのライトバック)のコマンド、プリフェッチ82(リードされたデータの近辺のデータを前もってステージングする)のコマンド、ホストI/Oコマンド83である。 The by I / O commands from the host 3, command of the write command after executing the write-back 81 commands (write back from the cache), (advance stage data in the vicinity of the read data) prefetching 82, a host I / O command 83.
内部コマンド(ローカルコマンド)としては、ホストからのコピー指示に応じて、順次コピーするワンポイントコピー80によるコマンド、外部指示に応じて、RAIDレベルを変更するマイグレーション84によるコマンド、デイスクデバイスの増設による容量拡張のためのLDE(Logical Device Expansion)85によるコマンド、物理デイスクのフォーマットをバックグラウンドで行うクイックフォーマット86によるコマンド、再構築やコピーバック87によるコマンドがある。 The internal command (local command) in response to the copy instruction from the host, the command by one point copy 80 sequentially copies, according to an external instruction, command due to migration 84 to change the RAID level, capacity by adding a disk device command by the quick format 86 to carry out commands according to LDE (Logical Device expansion) 85 for expansion, the format of the physical disk in the background, there is a command by the reconstruction and copyback 87.
本発明では、I/O制御モジュール42からの情報と、バックエンドモジュール44からの情報に基づき、システム負荷を計算し、I/O制御モジュール42を制御するシステム負荷管理モジュール46を設けている。 In the present invention, the information from the I / O control module 42, based on information from the back-end module 44, calculates the system load, is provided with a system load management module 46 which controls the I / O control module 42. 図3により、詳細に説明する。 The Figure 3 will be described in detail.
図3に示すように、I/O制御モジュール42は、ホスト−IO(H−IO)制御モジュール60と、ローカルIO(L−IO)制御モジュール61とからなる。 As shown in FIG. 3, I / O control module 42 includes a host -IO (H-IO) control module 60, consisting of a local IO (L-IO) control module 61..
ホスト−IO制御モジュール60は、ホストI/Oの受付量を調節するモジュールである。 Host -IO control module 60 is a module to adjust the acceptance of a host I / O. フロントエンドモジュール40のキャッシュ制御モジュール48で、ミスヒット(対象データがキャッシュメモリ16に存在しない)と判断した後にコールされ、システム負荷管理モジュール46のシステム負荷状態を判断し、ホストI/Oの受付量を調節する。 The cache control module 48 of the front end module 40, miss-hit (target data does not exist in the cache memory 16) is called after it is determined that, to determine the system load status of the system load management module 46, reception of the host I / O to adjust the amount. 受付量の調節は、ホスト3へのBusy/Q-Full応答にて行う。 Adjusting reception amount is performed by Busy / Q-Full response to the host 3.
又、ローカルIO制御モジュール61は、ローカルI/Oの起動量を調節するモジュールである。 The local IO control module 61 is a module to adjust the starting amount of local I / O. ローカルI/Oを受け付けた時点で、システム負荷管理モジュール46の負荷状態を判断し、起動量を調節する。 At the time of accepting the local I / O, to determine the load condition of the system load management module 46 to adjust the start amount. 起動量の調節は、待ち合わせ(キューイング)にて行う。 Adjustment of the starting amount is carried out in waiting (queuing).
I/O制御モジュール42で、起動許可されたI/Oコマンドに対し、BE(BackEnd)−ACB(Access Control Block)の獲得処理62で、BE−ACBが獲得され、バックエンドモジュール44へのアクセスが可能となる。 In I / O control module 42, to I / O commands invoked allowed, in acquisition process 62 of BE (BackEnd) -ACB (Access Control Block), BE-ACB is acquired, access to the back end module 44 it is possible. バックエンドモジュール44では、I/Oコマンドの要求内容の解釈処理70を行い、この解釈(デイスクへのコマンド分割)に従い、制御用の各資源の獲得処理72が行われる。 In the back-end module 44 performs interpretation processing 70 requests the contents of the I / O command, in accordance with this interpretation (command division into disk), acquisition processing 72 for each resource for control. 資源獲得処理72は、内部バッファ領域(Extent)、ローカルバッファ、ワークメモリ等を獲得し、排他権を設定する。 Resource acquisition process 72, an internal buffer area (Extent), local buffer, acquires a work memory or the like, sets the exclusive right.
この資源獲得後、Disk(デイスク)/FC(ファイバーチャネル)ドライバ73にデイスクコマンドを発行する。 After the resource acquisition, it issues a disk command to Disk (disk) / FC (Fiber Channel) driver 73. ドライバ73からPCIバス20(21)より、DA13(14)に、デイスクコマンドが送信され、更に、FC_AL4−1(4−2)を通して、磁気デイスク装置50にデイスクコマンドが伝達される。 Than PCI bus 20 (21) from the driver 73, the DA13 (14), disk command is sent further through FC_AL4-1 (4-2), disk command is transmitted to the magnetic disk device 50. これにより、磁気デイスク装置50は、このデイスクコマンドを実行する。 Thus, the magnetic disk device 50 performs the disk command.
一方、システム負荷管理モジュール46は、流量予測モジュール74と、実負荷管理モジュール76と、負荷統計モジュール78とからなる。 On the other hand, the system load management module 46, a flow rate prediction module 74, an actual load management module 76, consisting of the load statistics module 78.. 流量予測モジュール74は、ハード使用量の不確定な段階で、ハード使用量の予測を行う。 Flow rate prediction module 74, an indeterminate phase of hard usage to predict the hard usage. 即ち。 In other words. 流量予測モジュール74は、バックエンドモジュール44へI/Oを要求した時点で、I/O要求の各パラメータ(転送数/Read/Write/RAIDレベルなど)により一意な点数(ハード使用量の予測値)を計算し、負荷統計モジュール78に情報(予測値)を反映する。 Flow rate prediction module 74, at the time of requesting the I / O to the back-end module 44, a unique number (hard usage predicted values by the parameters of the I / O request (such as the number of transfer / Read / Write / RAID Level) ) was calculated to reflect the load statistics module 78 information (prediction value).
実負荷管理モジュール76は、ハード使用量が確定した段階で、ハード使用量(実負荷)を計算する。 Actual load management module 76, at the stage where hard usage is determined, calculates hard usage (the actual load). 即ち、実負荷管理モジュール76は、デイスク装置50/FC_AL4−1(ハード)へ起動している転送量を管理し、ハードのタイムアウトが発生しないように起動調整する。 That is, the actual load management module 76 manages the transfer amount is up to the disk device 50 / FC_AL4-1 (hard), starts adjusted such timeouts hard does not occur. またハードの実負荷情報を計算し、負荷統計モジュール78に反映する。 Also calculate the actual load information of the hard, reflecting the load statistics module 78.
負荷統計モジュール78は、RLU(Raid Logical Unit)単位で、負荷の統計を行い、過負荷状態に遷移したときに、H−IO/L−IO制御モジュール60,61に抑止通知を行う。 Load Statistics module 78, in RLU (Raid Logical Unit) unit, performs statistical load, when the transition to the overload state, the suppression notification to the H-IO / L-IO control module 60, 61.
図4乃至図6は、システム負荷管理の動作説明図である。 4 to 6 is a diagram illustrating the operation of the system load management.
図4に示すように、システム負荷管理モジュール46のバックエンドの流量管理によって、バックエンドモジュール44に発行できるコマンドサイズ上限が決定される。 As shown in FIG. 4, the back-end flow control of the system load management module 46, the command size limit that can be issued to the back end module 44 is determined. この上限以上のデータをバックエンドモジュール44に発行しないために、IO制御モジュール42により発行コマンドの制限を行う。 In order not to issue this limit more data to the back-end module 44 performs the limitation of issuing commands by the IO control module 42. IO制御モジュール42は、前述のように、ホストI/Oを制限するH−IO制御モジュール60と、ローカルI/Oを制限するL−IO制御モジュール61で構成されている。 IO control module 42, as described above, the H-IO control module 60 to limit the host I / O, is composed of a L-IO control module 61 to limit the local I / O.
I/O要求を受け付けたIO制御モジュール42は、発行可能コマンドサイズ上限(閾値)をチェックし、閾値以下の場合には、即座にバックエンドモジュール44にコマンドを発行するが、閾値以上の場合には、前に出したコマンドが完了し、バックエンドモジュール44で実行中のコマンドサイズが閾値以下になるまで、コマンドの発行を抑止する。 IO control module 42 that has received the I / O request, checks can be issued commands size limit (threshold), if less than the threshold value, but immediately issues a command to the back-end module 44, in the case of more than the threshold value It is to command issued before completion, until the command size running on back end module 44 is below the threshold, to inhibit issuance of the command.
抑止方法としては、ホストI/Oの場合には、コマンド発行元に対し、エラー復帰する。 As a deterrent method, when the host I / O is to command issuer, to error recovery. エラーを受けたフロントエンドモジュール40は、ホスト3に対しQfull/BUSY等(設定による)を返す。 Front end module has received an error 40 returns Qfull / BUSY or the like (by setting) to the host 3. ローカルI/Oの場合には、L−IO制御モジュール61内で、コマンドはキューにつながれ、待ちあわせを行う。 If the local I / O is in the L-IO control module 61, the command is coupled to the queue and performs queuing. この場合、コマンド再実行のタイミングは、前のコマンドの実行完了時(バックエンドモジュール44からの復帰時)に、再度閾値チェックを行った時となる。 In this case, the timing of the command re-executed, at completion of execution of the previous command (when returning from the back end module 44), and when performing the threshold value checked again.
図5に示すように、ホストI/Oについては、ホストI/Oの受け付け時に、キャッシュヒットデータについては制限を行わず、即時実行する。 As shown in FIG. 5, for host I / O, when reception of the host I / O, without limitation on the cache hit data and immediate execution. キャッシュミスヒットデータや、ライトバックデータついては、最終的にライトバックデータとしてH−IO制御モジュール60を呼び出し、バックエンドモジュール44へのコマンド投入可否を問い合わせる。 And a cache miss data, For write-back data, and finally call the H-IO control module 60 as write-back data, querying the command put whether the back-end module 44. プリフェッチ、リードデータについても、同様にH−IO制御モジュール60を呼び出す。 Prefetch, also read data similarly invoke the H-IO control module 60.
一方、図6に示すように、システム負荷が100%を超えた場合には、キャッシュシュ制御モジュール48からH−IO制御モジュール60への問い合わせに対し、BUSYエラー復帰する。 On the other hand, as shown in FIG. 6, when the system load exceeds 100%, the response to the inquiry from the cache Gerhard control module 48 to the H-IO control module 60, to BUSY error recovery. キャッシュ制御モジュール48は、BUSYエラーによって、上位へのエラー復帰、ライトバックの待ち合わせなどの異常処理を行う。 Cache control module 48, the BUSY error, performs error recovery to the higher, the abnormality processing such as waiting for write-back.
このように、システム負荷に従い、ホストI/Oについても管理を行うことで、システム性能以上のコマンド処理を受け付けない。 Thus, in accordance with system load, by performing also manage the host I / O, not accept the system performance above command processing. 又、Extent排他前に負荷管理を実施することで、ホストI/O処理を妨げない。 Further, by carrying out the load management prior Extent exclusive, it does not interfere with the host I / O processing.
更に、デイスク装置に着目した流量管理を実施し、ハード性能以上のデイスクコマンド発行を抑止する。 Furthermore, implementing the flow management focusing on the disk device, to suppress disk command issued over hard properties. 内部のタイマ監視と連携し、システム負荷を管理することで、内部タイムアウト多発(パス切れ)を防止する。 Cooperation with internal timer monitoring, by managing the system load, to prevent internal timeout multiple (path disconnection).
即ち、個々のホストI/O,ローカルI/O毎に負荷の重みを予測算出する管理と、ハード実負荷を、総合的に管理することで、システム全体の抱える負荷をリアルタイムに把握でき、システム性能をフルに引き出し,正確な負荷管理を実現できる。 That is, each host I / O, and management of predicting calculates the weight of the load for each local I / O, a hard actual load, by comprehensively manage, can grasp the load facing the entire system in real time, the system Pull the performance full, it can be realized accurate load management.
又、これらの問題以外のDTCの利点に関しては,そのまま継承する。 In addition, with regard to the DTC advantage of other than these problems, as it is inherited. 即ち、ローカルI/Oを、より制限し、ホストI/O処理を極力妨げないようにする。 That is, the local I / O, and more limited, so as not to hinder as much as possible host I / O processing. システム負荷状態により、動的に内部I/O(デイスク装置へのコマンド)の発行数を制限する。 The system load conditions, dynamically limits the number of issued internal I / O (command to the disk device). 更に、OPCとRebuild/Copybackについて、制御の違いを考慮し、別管理として負荷管理を実施する。 Additionally, the OPC and Rebuild / the Copyback, considering the difference in control, to implement load management as a separate administration.
次に、前述のシステム負荷管理機構を使用した動的システム負荷管理を具体的に説明する。 Next, specifically described dynamic system load management using the aforementioned system load management mechanism. 図7は、図2及び図3のシステム負荷管理モジュール46の詳細構成図、図8は、図7の実負荷管理モジュール76のテーブル構成図、図9は、図7の総合(システム)負荷の説明図、図10は、図8の実負荷の説明図である。 Figure 7 is a detailed block diagram of a system load management module 46 of FIG. 2 and FIG. 3, FIG. 8 is a table configuration diagram of actual load management module 76 of FIG. 7, FIG. 9 is a general in FIG. 7 (system) of the load illustration, FIG. 10 is an explanatory view of the actual load of FIG.
先ず、図3及び図7に示すように、流量予測モジュール74は、前述のように、ハード使用量の不確定の段階で、負荷予測を行う。 First, as shown in FIGS. 3 and 7, the flow rate prediction module 74, as described above, uncertain stage of hard usage, for load prediction. この予測において、個々のI/O要求は、要求転送長、RAIDの種類、コマンド種別等により、使用するデイスク装置の位置やFC_ALループなどが異なり、また,ハードを占有する時間も異なる。 In this prediction, the individual I / O request, the request transfer length, type of RAID, the command type, and the like, different position and FC_AL loop of the disk apparatus to be used, also different times to occupy hard.
そのため、ホストのアクセス単位であるRLU(Raid Logical Unit)単位の負荷を正確にもとめるには、個々のI/O要求が持つ、これら各ハードを、それぞれどのくらい使用するかという情報を、ハード資源単位(個々のデイスク装置/ファィバーチャネル単位)に統計を行い、各RLUを構成するハード資源の統計値を元に、RLU単位の負荷率を求める必要がある。 Therefore, the load of RLU (Raid Logical Unit) unit that is an access unit of the host accurately finding has individual I / O requests, each of these hardware, information as to use how much each hard resource units perform statistics (individual disk device / file I channel unit), based on the statistics of the hard resources constituting each RLU, it is necessary to obtain the load factor of RLU units.
しかし、I/O要求が、各ハードをそれぞれどのくらい使用するかという情報は、要求受け付け時点では確定せず、要求内容を解釈し、制御用の各資源を獲得し、ハード(デイスク装置)毎に、コマンドを分割して始めて判断できる。 However, I / O request, information as to use how much each hard respectively, not determined at the time the request is accepted, interprets the request content, acquire the resources for the control, for each hard (disk device) , it can be judged begun by dividing the command. 即ち、図3のデイスクドライバへ起動する直前に判明する。 In other words, it turns out just before the start to the disk driver of Figure 3.
予測負荷は、I/O要求受け付け時点〜デイスクドライバ73へコマンド起動するまでの、ハード使用量が不確定なフェーズ(図3参照)で予測するため、要求転送長、RAIDの種類、コマンド種別などのパラメータから、ハード使用量を予測する方法にて統計を行う。 Prediction load until the command starts the I / O request reception time-disc driver 73, because the hard usage to predict an indeterminate phase (see FIG. 3), the request transfer length, type of RAID, command type, etc. from parameters, it performs statistical by a method of predicting the hard usage.
なお、この予測値は、デイスクドライバ73へのコマンド起動前の実際のハード使用量が確定した時点で、実負荷管理モジュール76による実際のハード使用量へと変わり、統計に反映される。 Incidentally, the predicted value, when the actual hardware used amount before the command starts to disk driver 73 is confirmed, turned into actual hardware usage by actual load management module 76 is reflected in the statistics.
この流量予測モジュール74の予測値の統計は、RLU単位である。 Statistics predicted value of the flow rate prediction module 74 is the RLU unit. 即ち、図9に示すように、あるRLUに起動された1つのコマンドだけを考えると、RLUを構成する一部のデイスク装置のみの起動であり、RLUとしてはアクセスの偏りが生じている。 That is, as shown in FIG. 9, when considering only one command invoked in some RLU, a start of only a part of the disk device constituting the RLU, deviation access has occurred as RLU. しかし、本来RAIDは,ストライピング手法を採用しており、特定デイスク装置へのアクセスの集中を防止し、負荷を分散させ、性能を向上させている。 However, RAID is inherently adopts a striping technique, to prevent concentration of access to a specific disk device, to distribute the load, thereby improving the performance. このため、フロントエンドモジュール40から複数のコマンドが起動され、バックエンドの負荷が上がる程、構成する各デイスク装置の負荷は分散し、均等化される。 Therefore, it is activated a plurality of commands from the front end module 40, as the load of the back-end increases, the load is distributed in the disk devices that constitute, are equalized.
これを利用し、流量予測モジュール74は、個々のデイスク装置単位で統計を行うのではなく、低負荷時には多少の誤差が生じるが、煩雑な処理を行う必要がないRLU単位による統計を行い、処理の高速化を図る。 Using this, the flow rate prediction module 74, instead of performing statistical individual disk device unit, but low load some of the error occurs, performs statistical by RLU units need not perform complicated processing, processing improve the speed. そして、RLU単位に統計を行った場合、個々のデイスク装置の負荷は、RAID(RLU)を構成するデイスク装置の台数分の1という値で求める。 When performing the statistics RLU units, the load of each disk device is determined by the value of 1 in the number of times corresponding to the number of disk devices that constitute the RAID (RLU).
流量予測モジュール74は、RLU単位の加点制を採用し、フロントエンドモジュール40から起動されたパラメータをもとに、負荷要素であるデイスクコマンド数とデータ転送数の予測値を求め、それを時間換算し、最終的に1μs当たり1点として統計を行う。 Flow rate prediction module 74 employs a point addition system of RLU units, based on the parameters invoked from the front end module 40, obtains a predicted value of the number of disk commands and number of data transfer is a load element, converted it time and, for final statistical as 1 point per 1 [mu] s. 具体的に、説明する。 Specifically, it will be explained.
先ず、デイスクコマンド数によるハード使用量の予測値は、デイスク装置の平均アクセス時間×デイスク装置へのコマンド数から計算する。 First, the predicted value of the hard usage by the number of disk commands is calculated from the number of commands to the average access time × disk device of the disk device. 例えば、デイスク装置への1コマンドに対する平均アクセス時間を、5msとすると、デイスク装置への1コマンドは、5ms=5,000点に換算する。 For example, the average access time for one command to the disk device, when 5 ms, 1 command to the disk device is converted into 5 ms = 5,000 points. 又、デイスク装置のコマンド数は、フロントエンドモジュール40から起動されたデータ数を元に求める。 Further, the command number of the disk device obtains the number of data is started from the front end module 40 to the original.
データ転送数によるハード使用量の予測値は、デイスク装置とFC_ALの転送能力から、1Blockの点数を予め求めておき、この点数に、転送ブロック数を掛けて、計算する。 Predicted value of the hard usage by the number of data transfer, the transfer capability of the disk apparatus and FC_AL, obtained in advance a score of 1Block, this number is multiplied by the number of transfer blocks is calculated. そして、I/O要求の予測負荷(予測点数)は、RLU単位で、以下のようにして計算する。 The estimated load of I / O requests (prediction points) are in RLU units is calculated as follows.
図1の実施の形態の構成での例により、更に、具体的に、説明する。 The example of the configuration of the embodiment of FIG. 1, further specifically be described. 先ず、転送能力を説明する。 First, a description will be given of the transfer capability. 図1のCPU10からデイスク装置50へのルートは、PCIバス20,21、FC_AL4−1,デイスク装置50のルートである。 Route from CPU10 to disk device 50 in FIG. 1, PCI bus 20,21, FC_AL4-1, is the root of the disk device 50. 各ルート要素の転送能力が、転送能力となる。 Transfer capacity of the root element, the transfer capacity.
先ず、図1のPCIバス能力の論理値は528MB/sであるが、実測では、約200MB/sである。 First, although the logical value of the PCI bus capabilities of FIG. 1 is a 528MB / s, the actual measurement is about 200MB / s. 図1の構成では、コントローラ当り2本のPCIバス20,21が実装されており、各PCIバスには5個のPCIデバイス11,12,13,14,30が接続されている。 In the configuration of FIG. 1, the controller per two PCI buses 20, 21 are mounted, five PCI devices 11,12,13,14,30 are connected to each PCI bus. これを元に,1個のデバイス(DA13,14)が使用できる能力を計算すると、200MB/s÷5=40MB/sとなる。 Based on this, when one device (DA13,14) to calculate the power available, the 200MB / s ÷ 5 = 40MB / s.
次に、バックエンドのFC_AL能力は200MB/sであるが、両コントローラから同時にアクセスした場合、2分の1の性能となるため、FC1ポート当り100MB/sとなる。 Next, FC_AL ability of back-end is a 200MB / s, when accessed simultaneously from both controllers, since the first performance of the 2 minutes, the FC1 ports per 100MB / s. ただし、PCI転送能力が性能ネックとなるため、FC能力は、PCI能力と同じ40MB/sとなる。 However, since the PCI transfer capability becomes the performance bottleneck, FC capacity is the same 40MB / s and PCI capability.
更に、図1のデイスク装置単体のデータ転送能力は、約50MB/s〜80MB/sであるが、FC1ポートには1〜60台のデイスク装置50が接続されるため、デイスク装置1台当りのデータ転送能力は、FC能力を,接続(担当する)デイスク装置の台数で分割した能力と考える。 Further, the data transfer capability of the disk apparatus alone of Figure 1 is about 50MB / s~80MB / s, of 1 to 60 units in FC1 port for the disk device 50 is connected, the disk device per vehicle data transfer capability, the FC capacity, connected considered (responsible for) the ability divided by the number of disk devices.
そのため、デイスク装置1台当りのデータ転送能力は、40MB/s÷接続(担当する)デイスク装置の台数となる。 Therefore, the data transfer capability of the disk device per unit becomes 40MB / s ÷ connection (charge) number of disk devices. 例えば、2つのコントローラ1,2で、8つのデバイスエンクロージャー5−1〜5−8(デイスク装置120台)の構成時、FC1ポート当り担当するデイスク装置は通常30台のため、デイスク装置1台のデータ転送能力は、1.33MB/s(=40÷30)となる。 For example, the two controllers 1 and 2, when configuring the eight devices enclosures 5-1 to 5-8 (disk device 120 units), the disk device in charge per FC1 port for normal 30 units, disk device of one data transfer capability becomes 1.33MB / s (= 40 ÷ 30).
又、デイスク装置50の1コマンド当りの処理時間は、前述の平均アクセス時間の5msとする。 Further, the processing time per command of the disk device 50, a 5ms average access time described above. 同様に、デイスク装置50のコマンド処理能力を考えると、デイスク装置50に、アクセス速度を向上するためのコマンド並び替え機能があるため、デイスク装置へ多数のコマンドを起動した方が、性能が向上する。 Similarly, given the command processing capability of the disk device 50, a disk device 50, since there is a command reordering function to improve the access speed, is better to start a number of commands to the disk device is improved performance .
ただし、あまり多くのコマンドを起動しすぎると、デイスク装置内のファームオーバヘッドが増加し、性能がダウンしてしまう。 However, too much to start too much of command, farm overhead is increased in the disk device, the performance will be down. 図1のデイスク装置の測定では、約80個のコマンドを、デイスク装置へ起動したときに最大性能がでていることが判明したため、デイスク装置50のコマンド能力は、80個とする。 In the measurement of the disk device of FIG. 1, about 80 pieces of command, because it was found that the maximum performance is out when starting to disk device, command capability of the disk apparatus 50, and 80.
例えば、2CM(コントローラ)−8DE(デバイスエンクロージャー)モデルの場合、FCポート当たり30台のデイスク装置50を担当したとすると、FC能力40MB/sを、30台で割った1.33MB/sが、デイスク装置単体のデータ転送能力であり、1Block(=512Byte)当り,376点(376μs)となる。 For example, if the 2CM (controller) -8DE (Device enclosures) model, assuming that charge of the FC port per 30 units of the disk device 50, the FC capacity 40MB / s, is 1.33MB / s divided by 30 units, a disk device single data transfer capability, 1Block (= 512Byte) per a 376-point (376μs).
起動時のパラメータ(要求転送量、RAID構成、コマンド種別)により、デイスクコマンド点数、データ転送点数は、実際の処理同様に計算される。 Parameters during startup (request transfer amount, RAID configuration, command type), disk command count, the data transfer number is calculated similarly actual processing. 例えば、RAID5(3+1, Normal)、40KBのReadコマンドの場合には、予測点数は、以下のように計算される。 For example, RAID5 (3 + 1, Normal), in the case of a Read command of 40KB, the prediction score is calculated as follows.
次に、実負荷管理モジュール76を説明する。 Next, the actual load management module 76. フロントモジュール40からのRLUに対する1つの要求は、複数(または1つ)のデイスク(FC)コマンドへ変換されデイスクドライバ73(図3参照)へ起動される。 One request for RLU from the front module 40 is activated to a plurality (or one) is converted into the disk (FC) command disk driver 73 (see FIG. 3). この時点になると、ハード使用量は、予測によるものではなく、実際のハード使用量が確定する。 When this point, hard usage, not by the prediction, the actual hardware usage is determined. 実負荷管理モジュール76は、各ハード資源の性能限界時(ハード能力限界点)の調節用の情報としても使用するため、予測時に行うRLU単位の統計ではなく、各ハード資源単位(デイスク装置単位)での統計を実施する。 Actual load management module 76, when the performance limits of the hardware resources to be used as information for adjusting the (hardware capability limit point), not the statistics RLU units performed at the time of the prediction, each hard resource units (disk device units) carrying out the statistics in.
実負荷管理モジュール76の統計は、図7に示すように、デイスク装置単位の加点制で、デイスクドライバ73−1へ起動されたデータ転送数を時間換算し、点数は、流量予測モジュール74と同じく、1μs当り1点として統計を行う。 Statistics of actual load management module 76, as shown in FIG. 7, in the point addition system of the disk device unit, converts the number of data transfers that have been started to disk driver 73-1 times, scores, like flow prediction module 74 performs a statistical as 1 point per 1 [mu] s.
具体的には、デイスク装置50への1コマンドは、5ms(平均アクセスTime)と考え,5,000点とする。 Specifically, 1 command to the disk device 50 is believed to 5 ms (average access Time), and 5,000 points. 又、流量予測モジュール74と同様に、デイスク/FCの転送能力から1Blockの点数を予め求めておき、それを元に加点する。 Further, similarly to the flow rate prediction module 74, previously obtained a score of 1Block from transfer capability of the disk / FC, for point addition it back. この1Blockの点数は、前述と同様に、376点である。 The score of this 1Block, like above, is 376 points. そして、前述の予測と同様に、デイスク装置単位で、デイスクコマンド点数と、データ転送点数を求め、これを加算して、実負荷点数を計算する。 Then, as in the previously described prediction, in the disk device unit, obtains the disk command count, the data transfer count, and adding this to calculate the actual load number.
更に、ハード能力限界点を超えるI/O要求をハードへ依頼すると、デイスク装置のタイムアウトが発生してしまうため、実負荷管理モジュール76は、バックエンドモジュール44から起動されたつぶつぶのI/O要求毎に、対象のデイスク装置負荷が、ハード能力を超えないよう管理を行う。 Furthermore, when a request for I / O requests than the hardware capability limit point to the hard, because the time-out of the disk device occurs, the actual load management module 76, pebbly of I / O requests that are launched from the back end module 44 each, disk device load in question is to manage so as not to exceed the hardware capability.
図10に示すように、実負荷管理モジュール76は、ハード能力超えをチェックした結果、ハード能力以下の場合は、ハードに起動をかけ、ハード能力を超えている場合は、デイスクドライバ73−1で負荷が下がるのを待つ待ち合わせ(キューイング)を行う。 As shown in FIG. 10, the actual load management module 76, a result of checking beyond hardware capability, the following cases hardware capability, over start hard, if it exceeds the hardware capability, with the disk driver 73-1 do the waiting (queuing) to wait for the load is lowered. その後、デイスク装置50からの終了割込みの延長で、負荷がハード能力以下となった場合に、待ち合わせ中のI/O要求をハード能力限界まで起動する。 Thereafter, an extension of completion interrupt from the disk device 50, when the load is equal to or less than a hardware capability, activates the I / O requests in waiting until hardware capability limit.
実負荷管理モジュール76のハード能力限界の判断は、図8に示すように、デイスク装置単位に、以下の2つの要素毎に量を管理し、それぞれの閾値をチェックすることで、ハード能力限界を超えたかどうか判断する。 The determination of the hardware capability limit of the actual load management module 76, as shown in FIG. 8, the disk device unit, and manage the amount for every two factors: By checking the respective thresholds, the hardware capability limit it is determined whether or not exceeded.
図8に示すように、各デイスク装置単位のテーブル76−1は、実負荷ポイントとして、ハード限界能力ポイント(=FC性能(40MB/S)÷デイスク装置台数×4秒)、実負荷のトータルポイント、実行中ポイント(図10のFCドライバ73−2起動後の負荷ポイント)、待ちポイント(図10のデイスクドライバ73−1起動後、FCドライバ73−2起動前の待ち負荷ポイント)とで、デイスクドライバを管理し、デイスク装置のコマンド数として、限界コマンド数(80コマンド)、トータルコマンド数、実行中コマンド数(図10のFCドライバ73−2起動後のコマンド数ポイント)、待ちコマンド数(図10のデイスクドライバ73−1起動後、FCドライバ73−2起動前の待ちコマンド数ポイント)を管理する。 As shown in FIG. 8, Table 76-1 of the disk device unit, as a real load point, the hard limit capacity point (= FC performance (40MB / S) ÷ disk device number × 4 seconds), point total actual load (FC driver 73-2 load point after starting in FIG. 10) executed in point (after the disk driver 73-1 starts in FIG. 10, FC driver 73-2 starts before the waiting load point) wait point out and, disc manage driver, as the number of commands the disk device, the limit number of commands (80 commands), total number of commands, executing command number (FC driver 73-2 command number of points after the start of FIG. 10), number of wait command (Fig. 10 disk driver 73-1 after the start-up of, to manage the FC driver 73-2 start before the wait command number of points).
即ち、実負荷管理モジュール76は、バックエンドモジュール44からデイスクドライバ73−1に、デイスクコマンドが発行されると、前述のコマンド数ポイントと、データ転送数ポイントを計算し、更に、実負荷ポイントを計算する。 That is, the actual load management module 76, the disk driver 73-1 from the back-end module 44, the disk command is issued, and the command number of points described above to calculate the data transfer number of points, further, the actual load points calculate. そして、実負荷管理モジュール76は、テーブル76−1の待ちポイント、トータルポイントを更新する。 The actual load management module 76 waits point table 76-1, to update the total point. 図10に示すように、デイスクドライバ73−1からFCドライバ73−2に、デイスクコマンドが起動されると、テーブル76−1の待ちポイント、実行中ポイントに移す。 As shown in FIG. 10, the FC driver 73-2 from the disk driver 73-1, the disk command is invoked, the waiting point table 76-1, into action in point.
次に、図7に戻り、予測負荷と実負荷との統合を行う負荷統計モジュール78を説明する。 Next, returning to FIG. 7, for explaining the load statistics module 78 which performs integration of the predicted load and actual load. 負荷統計モジュール78は、予測負荷と実負荷の統合を、負荷チェックがRLU単位であり負荷チェック時の処理を軽くするため、RLU単位で管理する。 Load Statistics module 78, the integration of the predicted load and the actual load, the load check is to lighten the processing at the time of load check is RLU units managed in RLU units.
ただし、図7及び図9に示すように、負荷統計モジュール78の統計は、RLUに属するデイスク装置の中で一番負荷が高いものを代表として管理する。 However, as shown in FIGS. 7 and 9, the statistical load statistics module 78 manages as a representative for the least load in the disk devices belonging to the RLU is high. RLUに属するデイスク装置内の負荷が変動し、負荷が一番高いデイスク装置番号が変わった場合は、代表のデイスク装置も入れ換え処理を実施し、常に一番負荷の高いデイスク装置を代表とする。 Load in the disk devices belonging to the RLU varies, if the load is changed highest disk device number, performed also exchanged process representative of the disk device, always most heavily loaded disk device is representative.
負荷統計モジュール78が、図7に示すように、予想負荷点と実負荷点を合算して、総合負荷点を計算する。 Load Statistics module 78, as shown in FIG. 7, by summing the expected load point and the actual loading point, to calculate the total load point. 総合負荷点を計算するタイミングは、予測負荷、または、実負荷が更新されるたび(即ち、内部I/Oが処理されるたび)に行うことができる。 Timing for calculating the total load point can be performed in the prediction load, or each time the actual load is updated (i.e., each time the internal I / O is processed). 又、更新毎に行うと処理が重くなるため、以下のタイミング時にのみ実施すると良い。 Further, since the processing performed in each update becomes heavier, may only be implemented when the following timings.
(1)RLU単位の予測負荷点が、毎500,000ポイント境界を跨ぎ変動した場合。 (1) If the prediction loading point of RLU units, which fluctuates straddles every 500,000 points boundary.
(2)実負荷の代表デイスク装置(一番高負荷なデイスク装置)が入換わった場合(尚、代表デイスク装置の入換えは、各デイスク装置の値が100,000ポイント境界を跨いだときに、代表デイスク装置のポイントと比較し、代表を超えていた場合に実施する)。 (2) If the actual load of the representative disk device (most high-load disk device) is changed input (Note, exchanging process of the representative disk device, when the value of each disk device is straddling 100,000 points boundary, representative compared with the point of the disk device, it carried out if it exceeds the typical).
(3)実負荷の代表デイスク装置の値が、100,000ポイント境界を跨ぎ変動した場合。 (3) If the value of the actual load of the representative disk device is varied straddling 100,000 points boundary.
図7の負荷統計モジュール78の閾点は、システム能力限界点を設定する。 Threshold point of the load statistics module 78 in FIG. 7 sets the system capacity limit point. 例えば、コントローラ間通信のタイマ値である20秒(20,000,000μs)から求めた値、20,000,000点とする。 For example, the value given by the 20 seconds which is the timer value of the inter-controller communication (20,000,000μs), and 20,000,000 points.
又、負荷統計モジュール78は、負荷の割合(%)を求めることができる。 The load statistics module 78 may determine the proportion of load (%). 負荷の割合は、(総合負荷点÷閾点×100)の式で計算する。 Load percentage is calculated by the equation (total load point ÷ threshold point × 100).
図11は、図3のH−IO制御モジュール60のホストI/O処理フロー図、図12は、図7及び図8で説明したハード能力限界点とシステム能力限界点の説明図、図13は、図11のH−IO制御モジュール60とシステム負荷管理モジュール46の処理の流れ図、図14は、IO制御モジュール42とシステム負荷管理モジュール46の処理の流れ図である。 11, the host I / O process flow diagram of a H-IO control module 60 of FIG. 3, FIG. 12, FIGS. 7 and hardware capability limit point and illustration of a system capacity limit point described in FIG. 8, FIG. 13 , process flow diagram of H-IO control module 60 and the system load management module 46, 14 in FIG. 11 is a flow diagram of the processing of the IO control module 42 and the system load management module 46.
図12に示すように、システムの負荷が高くなると、次の2つの限界点が現れる。 As shown in FIG. 12, when the system load is high, two limit points of the following appears. 第1は、ハード能力限界点である。 The first is the hardware capability limit point. 即ち、これ以上ハードに処理を要求しても、ハードの処理能力をオーバしてしまい、特定時間以内に処理が完了しなくなる境界点である。 That is, even if a processing request more hard and will be over the hard capacity, which is a boundary point is handled within a specific time to be incomplete. 例えば、デイスク装置の能力が、10MB/sの能力であり、ハード処理の時間監視を5秒とした場合、50MBの要求を超えると、ハードのタイムアウトが発生してしまう。 For example, the ability of the disk device, a capability of 10MB / s, when the 5 seconds time monitoring of hardware process, exceeds 50MB request timeout hard occurs. ハード能力限界点に達した場合、オーバした要求は、前述のドライバ73で待たせる。 When reaching the hardware capability limit point, request-over, to wait in the aforementioned driver 73.
例えば、デイスク装置の時間監視が7秒であり、そのうち3秒をデイスク装置内のコマンド並び替え、ポジショニング等の時間として、残り4秒をデータ転送分と考えた場合、ハード能力限界点は、4秒(4,000,000μs)から求め、4,000,000点とする。 For example, the time monitoring 7 seconds of the disk device, of which a command reordering in the disk device 3 seconds, as the time of positioning, etc., when considering the remaining four seconds with the data transfer amount, the hard capacity limit point, 4 determined from the second (4,000,000μs), and 4,000,000 points.
第2に、システム能力限界点である。 Second, a system capacity limit point. ハード能力の限界を超えてもさらに要求がき続けた場合、ドライバ73で待ちが出始め、システムの監視時間(CA11,12のコマンドタイムアウト検出(25秒)、または、コントローラ間のタイムアウト(20秒))以内に、処理が完了しなくなる境界点を、システム能力限界点という。 If continued can also request further beyond the limits of the hardware capabilities, started out waiting driver 73, the monitoring time of the system (CAs 11 and 12 of the command timeout detection (25 s), or a timeout between the controller (20 seconds) ) within the process is the boundary points to be incomplete, that the system capacity limit point. システム能力限界点に達した場合、オーバしたホスト要求は、前述のBusy/Q-Fullで、ホスト応答させる。 When reaching the system capacity limit point, the host request over is the aforementioned Busy / Q-Full, to host response. また、ローカルI/Oの場合は、負荷が限界点を下回るまで要求を待たせる。 Also, local I / O is loaded to wait for a request before below the limit point.
例えば、フロントモジュール40で行っているホストコマンド処理の時間監視が25秒、コントローラ間を跨いだクロスアクセス時のコントローラ間通信の時間監視が20秒である場合には、システム能力限界点は、短い方の20秒(20,000,000μs)から求め、20,000,000点となる。 For example, if the time monitoring of the host command process performed by the reception module 40 is 25 seconds, the time monitoring of the inter-controller communications during cross access straddling between controllers is 20 seconds, the system capacity limit point is shorter square 20 seconds of the request from (20,000,000μs), the 20,000,000 points.
次に、システム負荷制御を、図11のI/O制御モジュール42の処理フロー図及び図13のI/O制御モジュール42とシステム負荷管理モジュール46の処理フロー図で説明する。 Next, the system load control will be described in the processing flow diagram of the I / O control module 42 and the system load management module 46 of the process flow diagram, and Figure 13 the I / O control module 42 of FIG. 11.
(S10)I/O制御モジュール42は、I/O要求を受け付けると、システム負荷管理モジュール46から負荷統計モジュール78の総合負荷点と閾点(図7参照)を問い合わせる。 (S10) I / O control module 42 accepts an I / O request, query the total load point of the load statistics module 78 from the system load management module 46 and threshold point (see FIG. 7).
(S12)I/O制御モジュール42は、総合負荷点が、閾点(システム能力限界点)を超えているかを判定する。 (S12) I / O control module 42 determines whether the total load point exceeds the threshold point (system capacity limit point).
(S14)総合負荷点が、閾点を越えている場合には、図4、図6、図12で説明したように、システム負荷が高負荷のため、ホストに、Busy/Qfullを返答し、バックエンドへの起動を行わず、終了する。 (S14) total load point, if it exceeds the threshold point is 4, 6, as described with reference to FIG. 12, because the system load is high load, the host, and returns the Busy / Qfull, without the start-up of the back-end, to the end.
(S16)総合負荷点が、閾点を越えていない場合には、図5で説明したように、システム負荷が高負荷でないため、バックエンドモジュール44へI/O要求を発行し、終了する。 (S16) total load point, if it does not exceed the threshold point, as described in FIG. 5, since the system load is not heavily loaded, issues an I / O request to the back end module 44 is terminated.
図13で具体的に説明する。 Specifically described in FIG. 13. 過負荷でない通常負荷の場合には、ホスト3からのリード要求が、フロントエンドモジュール40でキャッシュヒットと判定されると、キャッシュメモリ16のデータがホスト3に転送され、流量管理の対象とならない。 In the case of normal load is not overloaded, the read request from the host 3, the in the front end module 40 is determined to be a cache hit, the data of the cache memory 16 is transferred to the host 3, not subject to flow control.
リード要求でも、キャッシュミスヒットの場合には、バックエンドモジュール44へリード要求が発行されるとともに、流量予測モジュール74で負荷予測値を計算され、負荷統計モジュール78の予測値に加算される。 Also read request, when a cache mishit, together with a read request to the back end module 44 is issued, is calculated the load prediction value at a rate prediction module 74, it is added to the prediction value of the load statistics module 78. 更に、実負荷モジュール76は、予測値を減点し、これを実負荷点に加点する(減点した予測値を実負荷値に移す)。 Furthermore, actual load module 76 (transfer the predicted value deducted the actual load value) which is deducted the predicted value, which is added point to the actual load point. I/OでのI/O処理が終了すると、実負荷点を減点する。 When I / O processing in the I / O is completed, the deduction of the actual load point. これとともに、デイスク装置からホストへリードデータが転送される。 Along with this, the read data is transferred from the disk device to the host.
同様に、過負荷でない通常負荷の場合には、ホスト3からのライト要求が到来すると、フロントエンドモジュール40でキャッシュメモリ16に、ライトデータが書き込まれ、流量管理の対象とならない。 Similarly, in the case of normal load it is not overloaded, when a write request from the host 3 arrives, the cache memory 16 in the front end module 40, the write data is written, not subject to flow control.
ライトバック等のローカルI/O要求は、バックエンドモジュール44へ伝達されるとともに、流量予測モジュール74で負荷予測値を計算され、負荷統計モジュール78の予測値に加算される。 Local I / O request write back or the like, while being transferred to the back end module 44, is calculated the load prediction value at a rate prediction module 74, it is added to the prediction value of the load statistics module 78. 更に、実負荷モジュール76は、予測値を減点し、これを実負荷点に加点する(減点した予測値を実負荷値に移す)。 Furthermore, actual load module 76 (transfer the predicted value deducted the actual load value) which is deducted the predicted value, which is added point to the actual load point. I/OでのI/O処理が終了すると、実負荷点を減点する。 When I / O processing in the I / O is completed, the deduction of the actual load point. これとともに、デイスク装置からホストへライト完了が転送される。 At the same time, write completion is transferred from the disk device to the host.
一方、過負荷の場合には、ホスト3からのリード要求が、フロントエンドモジュール40でキャッシュヒットと判定されると、キャッシュメモリ16のデータがホスト3に転送され、流量管理の対象とならないが、リード要求でも、キャッシュミスヒットの場合には、バックエンドモジュール44へリード要求が発行されず、ホスト3へBusy/Qfullが返答される。 On the other hand, in the case of overload, the read request from the host 3, the in the front end module 40 is determined to be a cache hit, the data of the cache memory 16 is transferred to the host 3, but not subject to flow control, also read request, when a cache miss is not issued a read request to the back end module 44, Busy / Qfull is response to the host 3. ライトバックを含むローカルI/Oも、L−IO制御モジュール61で、待ちキューに待ち合わせされる。 Local I / O including a write back is also an L-IO control module 61, is waiting in the wait queue.
次に、図14により、ハード能力限界制御を説明する。 Next, referring to FIG. 14, illustrating the hardware capability limit control. バックエンドモジュール44で、デイスクコマンドが作成されると、前述のように、実負荷管理モジュール76で、各デイスク装置毎のテーブル76−1を参照し、ハード能力点をチエックする。 In the back-end module 44, the disk command is created, as described above, in the actual load management module 76 refers to the table 76-1 for each disk device, to check the hardware capability point. 即ち、実負荷管理モジュール76は、トータルポイント又はトータルコマンド数のいずれかが、限界値を越えているかを判定し、越えていないと、テーブル76−1の実行中ポイント、実行中コマンド数に加点し、I/Oを起動する。 That is, the actual load management module 76, either the number of total points or total command, determines whether it exceeds the limit value, when not exceeded, the running point of the table 76-1, the point addition to the running speed command and, to start the I / O.
一方、限界値を越えていると、テーブル76−1の待ちポイント、待ちコマンド数に加点し、待ちキューに待ち合わせする。 On the other hand, if it exceeds the limit value, the waiting point table 76-1, and added points to the number of wait command to waiting in a waiting queue. これを、デイスクコマンド分繰り返し、終了する。 This, disk command worth repeating, to the end.
又、起動I/Oから終結割り込みが、デイスク/FCドライバ73に到来すると、実負荷管理モジュール76は、実行中ポイント、実行中コマンド数を減点する。 Also, termination interrupt from start I / O is, when arriving to the disk / FC driver 73, the actual load management module 76, a running point, running to deduction the number of commands. デイスク/FCドライバ73は、待ちキューに待ちコマンドがあるかを判定し、無ければ、終了する。 Disk / FC driver 73, it is determined whether or not there is a wait command to wait queue, if not, to the end.
待ちキューに待ちコマンドがあると、待ちキューの先頭を参照し、実負荷管理モジュール76で、各デイスク装置毎のテーブル76−1を参照し、ハード能力点をチエックする。 If there is waiting in the wait queue command, with reference to the head of the wait queue, in actual load management module 76 refers to the table 76-1 for each disk device, to check the hardware capability point. 即ち、実負荷管理モジュール76は、トータルポイント又はトータルコマンド数のいずれかが、限界値を越えているかを判定し、越えていないと、テーブル76−1の待ちポイント、待ちコマンド数を減点し、且つ実行中ポイント、実行中コマンド数に加点し、待ちキューの先頭をデキューし、I/Oを起動する。 That is, the actual load management module 76, either the number of total points or total command, determines whether it exceeds the limit value, then deducted when not exceeded, wait point table 76-1, the number of wait command, and running point, and point addition to the number of command execution, dequeues the head of the wait queue, it starts the I / O.
一方、限界値を越えていると、このルーチンを脱出する。 On the other hand, if it exceeds the limit value, to escape the routine.
次に、ローカルI/Oの割合を制御する閾値調整処理を説明する。 Next, the threshold adjustment processing for controlling the rate of local I / O. 図15は、L−IO制御モジュール61とシステム負荷管理モジュール46との関係図、図16は、システム負荷とローカルI/Oの閾値の説明図である。 Figure 15 is a graph showing the relationship between L-IO control module 61 and the system load management module 46, FIG. 16 is an illustration of a system load and the threshold of the local I / O. ここでは、ローカルI/Oの閾値を可変に制御する。 Here, variably controls the threshold of the local I / O.
図15に示すように、負荷統計(RLU)モジュール78で負荷割合(=(総合負荷数÷閾点)×100)からローカルI/Oの閾値(割合)を計算する。 As shown in FIG. 15, calculates the load ratio load statistics (RLU) module 78 (= (total number of loads ÷ threshold point) × 100) from the local I / O threshold (percentage). L−IO制御モジュール61は、このローカルI/Oの閾値を取得し、(アクセス対象RLUに関する現在のコマンドサイズ+これから発行しようとするコマンドサイズ)が,この閾値を超えているかどうかを判断する。 L-IO control module 61 acquires the threshold of the local I / O, (command size to be current command size + future issues related to the access target RLU) it is determined whether it exceeds the threshold.
このローカルI/Oの制御アルゴリズムとして、ホストI/Oを最優先とするため、ホストI/OとローカルI/Oとで閾値に違いを持たせ、ローカルI/Oを早期に制限する。 As the control algorithm of the local I / O, since the highest priority host I / O, the host I / O and a local I / O to have a difference in threshold, limiting the local I / O prematurely. 即ち、ホストI/Oがあるときには、極力ローカルI/Oの割合を下げるが、ホストI/Oがないときには,ローカルI/Oをできるだけ実行する。 That is, when there is a host I / O is minimized reducing the percentage of local I / O, when there is no host I / O performs as possible local I / O.
このために、L−IO制御モジュール61は、図16に示すように、ローカルI/Oの負荷全体に占める割合を制限し、最大でも閾値の70%(Webから設定可能な値)とし、ホストI/Oがある場合には、システム負荷が閾値の60%を超えた時点で、ローカルI/Oの割合を制限する。 For this, L-IO control module 61, as shown in FIG. 16, to limit the percentage of the total load on the local I / O, and 70% threshold even at the maximum (configurable from Web value), the host If there are I / O is at the time when the system load exceeds 60% threshold, limiting the rate of local I / O.
又、ホストI/Oの負荷割合が非常に高くなった場合でも、最低限のローカルI/Oを実行するために、ローカルI/Oの最低閾値を10%と制御する。 Further, even if the load percentage of the host I / O is very high, in order to perform a minimum of local I / O, and controls the 10% minimum threshold of local I / O. 全体負荷が低くなるに応じて、ローカルI/Oの割合の制限をやめ、最終的には,閾値の最大の70%に戻す。 Depending on the total load becomes lower, stop limit for the ratio of the local I / O, ultimately, back to the maximum 70% threshold.
更に、OPCなど完了時間保証しなければならないローカルI/Oについては、時間保証に必要な転送性能を確保するために、最低限、一定時間毎にコマンドを実行するように制御する。 Further, for the local I / O must be completed time guarantees such as OPC, in order to ensure transfer performance required for time-guaranteed, minimum, and controls to execute the command every predetermined time. ローカルI/Oの閾値を変動させるタイミングは、ローカルI/Oコマンド発行時と完了時とする。 The timing for varying the threshold of the local I / O is the time and completion time of the local I / O command issue.
図16で説明すると、記号「▼」は、ホストI/Oがあり、システム負荷が60%を超えたため、ローカルI/Oの割合を下げる。 With reference to FIG 16, symbol "▼", there is a host I / O, because the system load exceeds 60%, decrease the percentage of local I / O. 記号「△」は、システム負荷が50%以下となったため、ローカルI/Oの割合を上げる(但し、60%までとする)。 The symbol "△", because the system load becomes 50% or less, increasing the proportion of local I / O (however, be up to 60%). 記号「△2」は、ホストI/O負荷がないため、ローカルI/Oの割合を70%まで戻す。 The symbol "△ 2", there is no host I / O load, and returns the ratio of the local I / O to 70%.
又、図3及び図15のL−IO制御モジュール61は、キューの優先度制御を行う。 Further, L-IO control module 61 of FIG. 3 and FIG. 15 performs priority control of the queue. 即ち、待ち合わせキューには、優先度を持ったものを3種類持ち、どのキューにも、待ち合わせコマンドが存在する場合には、優先度の高いコマンドから実行する。 That is, the waiting queue has three those with priority, in any queue, if the waiting command exists, executes the higher priority command.
キューの種別としては、以下の3種類のものがある。 The types of queues are of the three types.
優先度高(時間保証あり)のキューは、CGIから設定可能な2種類のモード(時間優先設定、ホストI/O優先)を持ち、時間優先の場合には、さらにコマンド完了通知をまたずに一定時間毎にバックエンドモジュールにコマンド発行する。 Queue high priority (with time-guaranteed) are settable from CGI 2 modes (time priority setting, the host I / O priority) has, in the case of time priority, further without waiting for the command completion notification to issue commands to the back-end module at regular time intervals. この結果、システム負荷の上昇が懸念されるが、その場合には、ホストI/Oを制限することで、時間保証を行う。 As a result, although increase in system load is a concern, in this case, by limiting the host I / O, performs time-guaranteed. 対象I/Oは、OPCである。 Target I / O is an OPC.
次に、優先度高(時間保証無し)のキューは、優先度低のキューに優先し実行するが、時間保証は行わず、ホストI/Oをより優先させる。 Next, a queue of high priority (time no guarantee) is run in preference to low priority queue, time guarantees is not performed, thereby more preferentially host I / O. 対象I/Oは、Rebuild/Copyback、LDE、Migrationである。 Target I / O is, Rebuild / Copyback, LDE, a Migration.
更に、優先度低のキューは、優先度高のキューがある場合には実行しないキューであり、対象I/Oは、Quick Formatである。 Furthermore, low priority queue, if there is a high priority queue is a queue that does not run, the target I / O is a Quick Format.
次に、L−IO制御モジュール61が、自己で閾値管理を行う場合のローカルI/O処理を説明する。 Then, L-IO control module 61, illustrating a local I / O processing when performing threshold management self. 図17及び図18は、L−IO制御モジュール61の処理フロー図である。 17 and 18 is a process flow diagram of a L-IO control module 61. 前述のように、L−IO制御モジュール61は、ローカルI/Oの起動量を調節するモジュールであり、ローカルI/Oを受け付けた時点で、システム負荷管理モジュール46の負荷状態を判断し、起動量を調節する。 As mentioned above, L-IO control module 61 is a module to adjust the starting amount of local I / O, at the time of accepting the local I / O, to determine the load condition of the system load management module 46, starting to adjust the amount. 起動量の調節は、待ち合わせ(キューイング)にて行う。 Adjustment of the starting amount is carried out in waiting (queuing).
図17は、ローカルI/Oとして、Rebuildで説明する。 Figure 17 is a local I / O, is described in Rebuild. ローカルI/O実行時には、Extent排他前に,L−IO制御モジュール61を呼び出し、コマンド発行可能かどうかをチエックする。 When local I / O execution before Extent exclusively, calls the L-IO control module 61, to check whether the command can be issued.
図17に示すように、Rebuild87で、ローカルI/Oのコマンドを作成すると、L−IO制御モジュール61に問い合わせる。 As shown in FIG. 17, in Rebuild87, when you create a command in the local I / O, it queries the L-IO control module 61. L−IO制御モジュール61は、システム負荷管理モジュール46の流量予測モジュール74で、予測値を計算させ、負荷統計モジュール78の予測値に加点する。 L-IO control module 61 at a flow rate prediction module 74 of system load management module 46, to calculate the predicted value, to point addition to the predicted value of the load statistics module 78.
L−IO制御モジュール61は、前述の図15のローカルI/O実行の閾値を超えているかを判定し、越えている場合には、L−IO制御モジュール61に対し発行したコマンドは、L−IO制御モジュール61内でキューされる。 L-IO control module 61, the command determines whether exceeds the threshold of the local I / O execution of FIG. 15 described above, if it exceeds the issued to L-IO control module 61, L- is queue IO control module within 61. 一方、ローカルI/O実行の閾値を越えていない場合には、Rebuild87にコマンド実行を指示し、Rebuild87が、バックエンドモジュール44に、I/O起動を行う。 On the other hand, if it does not exceed the threshold value of the local I / O execution instructs the command execution Rebuild87, Rebuild87 is the back-end module 44 performs the I / O start.
又、図18に示すように、バックエンドモジュール44へのコマンドにより、I/Oが完了すると、Rebuild87に通知される。 Further, as shown in FIG. 18, the command to the back-end module 44, the I / O is completed is notified to Rebuild87. これにより、システム負荷管理モジュール46は、これにより、実負荷値を減算する。 Thus, the system load management module 46, thereby subtracting the actual load value.
そして、L−IO制御モジュール61は、次のコマンドを待ちキューから外し、前述の図15のローカルI/O実行の閾値を超えているかを判定し、越えている場合には、L−IO制御モジュール61に対し発行したコマンドは、L−IO制御モジュール61内でキューされる。 Then, L-IO control module 61 removed from the queue wait for the next command, it is determined whether or exceeds the threshold of the local I / O execution of FIG. 15 described above, if it exceeds the L-IO control command issued to the module 61 is queued in the L-IO control module 61. 一方、ローカルI/O実行の閾値を越えていない場合には、Rebuild87にコマンド実行を指示し、Rebuild87が、バックエンドモジュール44に、I/O起動を行う。 On the other hand, if it does not exceed the threshold value of the local I / O execution instructs the command execution Rebuild87, Rebuild87 is the back-end module 44 performs the I / O start.
このように、L−IO制御モジュール61は、自己の閾値内で、ローカルI/Oの発行の調整を行い、バックエンドの負荷が閾値以下になり、ローカルI/Oが実行できる状態になると、次のステージ(コマンド)が呼び出される。 Thus, L-IO control module 61, in its threshold, to adjust the issuance of a local I / O, the load of the back-end is below the threshold, when a state results in which the local I / O can be executed, the next stage (command) is called. これにより、ローカルI/Oについても、図3に示した、Extent排他獲得処理72、及びバックエンド44へのコマンド発行処理が継続される。 Thus, for the local I / O, as shown in FIG. 3, the command issuing process to Extent exclusion acquisition processing 72 and the back-end 44, is continued.
尚、ホストI/Oを実行するために必要なローカルI/Oについては、ホストI/Oと同様に,H−IO制御モジュール60を使用する。 Note that the local I / O required to perform host I / O, as with the host I / O, using the H-IO control module 60. この時、ホストI/Oを実行するために必要なコマンドが,すでにL−IO制御モジュール61内にキューイングされている場合には、即時実行させることができる。 In this case, the commands necessary to perform the host I / O, if it is queued to already L-IO control module 61 can be executed immediately.
前述の実施の形態では、図1のような冗長構成のRAIDで説明したが、これ以外の冗長構成のストレージシステムに適用できる。 In the above embodiments have been described in the RAID redundant configuration shown in FIG. 1, it can be applied to other storage systems redundant. 又、物理デイスクは、磁気デイスク、光デイスク、光磁気デイスク、各種のストレージデバイスを適用できる。 Also, the physical disk can be applied magnetic disk, optical disk, magneto-optical disc, various storage devices.
又、システム負荷として、コマンドの処理量を、予測値と実負荷値の両方で管理しているが、予測値を使用しても良い。 Further, as the system load, the processing amount of the command, but is managed by both the predicted values and the actual load value, it may be used predictive value.
以上、本発明を実施の形態により説明したが、本発明の趣旨の範囲内において、本発明は、種々の変形が可能であり、本発明の範囲からこれらを排除するものではない。 Although the present invention was described using the embodiments, within the meaning of the present invention, the present invention is capable of various modifications are not excluded from the scope of the present invention.
(付記1)ホストから依頼されたI/O要求に応じて、接続されたストレージ装置をアクセスし、I/O要求を実行するストレージシステムにおいて、前記I/O要求に応じたコマンド処理を実行するコマンド処理部と、前記処理結果に応じて、前記ストレージ装置をアクセスするアクセス実行部とを有し、前記コマンド処理部は、前記依頼されたI/O要求の前記アクセス実行部の負荷を予測するととともに、前記アクセス実行部の実際の負荷を管理し、前記予測負荷と前記実際の負荷とからシステム負荷を計算し、前記システム負荷が所定の閾値を越えた場合に、前記ホストから依頼されたI/O要求の受け付けを抑止することを特徴とするストレージシステム。 (Supplementary Note 1) in accordance with the I / O request requested from the host to access the connected storage device in the storage system to perform the I / O request, executes the command processing corresponding to the I / O request a command processing section, in accordance with the processing result, and a access execution unit for accessing said storage device, said command processing unit, when predicting the load of the access executing section of the requested I / O request together to manage the actual load of the access execution unit, the calculates the system load from the estimated load and the actual load, if the system load exceeds a predetermined threshold value, requested from the host I / storage system, characterized in that to prevent the acceptance of O requests.
(付記2)前記コマンド処理部は、前記ホストI/O要求と内部I/O要求とを、前記システム負荷に従い、調整し、調整されたI/O要求の解析、資源獲得処理を行い、前記アクセス実行部を起動することを特徴とする付記1のストレージシステム。 (Supplementary Note 2) The command processing unit, and said host I / O request and the internal I / O request, in accordance with the system load, adjusted analysis of the adjusted I / O request, performs a resource acquisition process, the Appendix 1 of the storage system, characterized in that starting the access execution unit.
(付記3)前記コマンド処理部は、前記ホストI/O要求を調整する第1のI/O制御モジュールと、前記内部I/O要求を調整する第2のI/O制御モジュールとを有し、前記システム負荷が所定の閾値を越えた場合に、前記ホストから依頼されたI/O要求の受け付けを抑止するとともに、前記内部I/O要求を待ち合わせることを特徴とする付記2のストレージシステム。 (Supplementary Note 3) The command processing unit includes a first I / O control module for adjusting the host I / O requests, and a second I / O control module for adjusting the internal I / O request , wherein when the system load exceeds a predetermined threshold, said to deter acceptance of the I / O request requested from the host, Appendix 2 of the storage system, characterized in that to wait for the internal I / O request.
(付記4)前記コマンド処理部は、前記I/O要求のパラメータから前記ストレージ装置を含むアクセス実行部の処理時間を予測し、前記予測負荷を得るとともに、前記コマンド処理結果から前記ストレージ装置を含むアクセス実行部の処理時間を計算し、前記実際の負荷を得ることを特徴とする付記1のストレージシステム。 (Supplementary Note 4) The command processing unit, said predicting the processing time of the access executing unit including the storage device from the parameters of the I / O request, together with obtaining the estimated load, including the storage device from the command processing result Appendix 1 of the storage system, characterized in that to calculate the processing time of the access executing section to obtain the actual load.
(付記5)前記コマンド処理部は、前記ホストI/O要求を優先するとともに、前記システム負荷から、前記内部I/O処理の前記システム負荷に対する割合を制御することを特徴とする付記1のストレージシステム。 (Supplementary Note 5) The command processing unit, said with priority host I / O request, from said system load, Appendix 1 of storage and controlling the ratio of the system load of the internal I / O processing system.
(付記6)前記コマンド処理部は、前記実際の負荷に応じて、前記アクセス実行部のコマンド処理量を制御することを特徴とする付記1のストレージシステム。 (Supplementary Note 6) The command processing unit, in response to said actual load, Appendix 1 of the storage system and controlling the command processing of the access executing section.
(付記7)前記コマンド処理部は、ハードウェアで規定される前記アクセス実行部の単位処理時間と、前記I/O要求の処理数とから前記負荷を予測することを特徴とする付記1のストレージシステム。 (Supplementary Note 7) The command processing unit, Appendix 1 of storage, characterized by prediction and the access executing section unit processing time defined by the hardware, the load from the processing speed of the I / O request system.
(付記8)前記ストレージ装置のデータの一部を保持するキャッシュメモリを更に設け、前記コマンド処理部は、前記ホストI/O要求に対し、キャッシュメモリを参照して、前記キャッシュメモリで処理できないホストI/Oに対し、前記システム負荷が所定の閾値を越えた場合に、前記ホストから依頼されたI/O要求の受け付けを抑止することを特徴とする付記1のストレージシステム。 (Supplementary Note 8) further cache memory for holding a part of data of the storage device provided, the command processing unit, the host I / O request to, by referring to the cache memory, can not be processed by the cache memory host to I / O, wherein when the system load exceeds the predetermined threshold value, Appendix 1 of the storage system, characterized in that to prevent the acceptance of the I / O request requested from the host.
(付記9)前記コマンド処理部は、前記ホストI/O要求に対し、キャッシュメモリを参照して、前記キャッシュメモリで処理するフロントモジュールと、前記キャッシュメモリで処理できないホストI/Oと内部I/Oに対し、前記システム負荷が所定の閾値を越えた場合に、前記ホストI/O要求の受け付けを抑止するIO制御モジュールと、前記IO制御モジュールで調整されたI/O要求の解析及び資源獲得を行うバックエンドモジュールとを有することを特徴とする付記8のストレージシステム。 (Supplementary Note 9) The command processing unit, with respect to the host I / O request, with reference to the cache memory, a front module for processing in the cache memory, can not be processed by the cache memory host I / O and internal I / O contrast, when the system load exceeds a predetermined threshold value, the IO control module to prevent the acceptance of the host I / O request, analysis and resource acquisition of the IO control module is adjusted by the I / O request storage system according to Supplementary note 8, characterized in that it comprises a back-end module for.
(付記10)前記コマンド処理部は、前記依頼されたI/O要求の前記アクセス実行部の負荷を予測する流量予測モジュールと、前記アクセス実行部の実際の負荷を管理する実負荷管理モジュールと、前記予測負荷と前記実際の負荷とからシステム負荷を計算する負荷統計モジュールとを有することを特徴とする付記1のストレージシステム。 (Supplementary Note 10) The command processing unit includes a flow rate prediction module that predicts the load of the access executing section of the requested I / O request, the actual load management module for managing the actual load of the access execution unit, Appendix 1 of the storage system; and a load statistics module that calculates the system load from said actual load and the predicted load.
(付記11)ホストから依頼されたI/O要求に応じて、接続されたストレージ装置をアクセスし、I/O要求を実行するストレージシステムの動的システム負荷管理方法において、前記I/O要求に応じたコマンド処理を実行するコマンド処理ステップと、前記処理結果に応じて、前記ストレージ装置をアクセスするアクセス実行ステップと、前記依頼されたI/O要求の前記アクセス実行ステップの負荷を予測するととともに、前記アクセス実行ステップの実際の負荷を管理し、前記予測負荷と前記実際の負荷とからシステム負荷を計算するシステム負荷計算ステップと、前記システム負荷が所定の閾値を越えた場合に、前記ホストから依頼されたI/O要求の受け付けを抑止するステップとを有することを特徴とする動的システム負荷 (Supplementary Note 11) in response to the I / O request requested from the host to access the connected storage device, in a dynamic system load management method of a storage system to perform the I / O request, the I / O request a command processing step of executing the corresponding command processing according to the processing result, the access execution step of accessing said storage device, when predicting the load of the access execution step of the requested I / O request with, wherein managing the actual load of the access execution step, said the system load calculating step of calculating a system load from the estimated load and the actual load, if the system load exceeds a predetermined threshold value, a request from the host dynamic system load, characterized in that a step of suppressing the reception of I / O request 理方法。 Management method.
(付記12)前記コマンド処理ステップは、前記ホストI/O要求と内部I/O要求とを、前記システム負荷に従い、調整するステップと、調整されたI/O要求の解析、資源獲得処理を行い、前記アクセス実行ステップを起動するステップとを有することを特徴とする付記11の動的システム負荷管理方法。 (Supplementary Note 12) said command processing step, and said host I / O request and the internal I / O request, in accordance with the system load, performs the steps of adjusting, analysis of the adjusted I / O request, the resource acquisition process , dynamic system load management method according to Supplementary note 11, characterized in that it comprises the step of activating the access execution step.
(付記13)前記コマンド処理ステップは、前記ホストI/O要求を調整する第1のI/O制御ステップと、前記内部I/O要求を調整する第2のI/O制御ステップとを有し、前記システム負荷が所定の閾値を越えた場合に、前記ホストから依頼されたI/O要求の受け付けを抑止するとともに、前記内部I/O要求を待ち合わせることを特徴とする付記12の動的システム負荷管理方法。 (Supplementary Note 13) The command processing step includes a first I / O control step of adjusting the host I / O requests, and a second I / O control step of adjusting the internal I / O request , when the system load exceeds a predetermined threshold value, to deter acceptance of the I / O request requested from the host, according to note 12, characterized in that waits for the internal I / O requests dynamic system load management method.
(付記14)前記システム負荷計算ステップは、前記I/O要求のパラメータから前記ストレージ装置を含むアクセス実行部の処理時間を予測し、前記予測負荷を得るとともに、前記コマンド処理結果から前記ストレージ装置を含むアクセス実行部の処理時間を計算し、前記実際の負荷を得るステップからなることを特徴とする付記11の動的システム負荷管理方法。 (Supplementary Note 14) The system load calculating step, the predicted processing time of the access executing unit including the storage device from the parameters of the I / O request, together with obtaining the estimated load, said storage device from said command processing result the processing time of the access executing section including calculated, dynamic system load management method according to Supplementary note 11, characterized in that it comprises the step of obtaining the actual load.
(付記15)前記コマンド処理ステップは、前記ホストI/O要求を優先するとともに、前記システム負荷から、前記内部I/O処理の前記システム負荷に対する割合を制御するステップからなることを特徴とする付記11の動的システム負荷管理方法。 Appendix (Supplementary Note 15) said command processing step, with priority to the host I / O requests, characterized by comprising the step of from the system load, for controlling the ratio of the system load of the internal I / O processing dynamic system load management method of 11.
(付記16)前記コマンド処理ステップは、前記実際の負荷に応じて、前記アクセス実行ステップのコマンド処理量を制御するステップを更に有することを特徴とする付記11の動的システム負荷管理方法。 (Supplementary Note 16) said command processing step, in response to said actual load, dynamic system load management method according to Supplementary Note 11 further comprising the step of controlling the command processing of the access execution step.
(付記17)前記システム負荷計算ステップは、ハードウェアで実行される前記アクセス実行ステップの単位処理時間と、前記I/O要求の処理数とから前記負荷を予測するステップを有することを特徴とする付記11の動的システム負荷管理方法。 (Supplementary Note 17) The system load calculation step is characterized by having a unit processing time of the access execution steps performed by the hardware, the step of predicting the load from the processing speed of the I / O request dynamic system load management method according to Supplementary note 11.
(付記18)前記コマンド処理ステップは、前記I/O要求に対し、前記ストレージ装置のデータの一部を保持するキャッシュメモリを参照するステップを有し、前記抑止ステップは、前記キャッシュメモリで処理できないホストI/Oに対し、前記システム負荷が所定の閾値を越えた場合に、前記ホストから依頼されたI/O要求の受け付けを抑止するステップからなることを特徴とする付記11の動的システム負荷管理方法。 (Supplementary Note 18) said command processing step, to said I / O request, comprising the step of referring to the cache memory for holding a part of data of the storage device, the restraining step can not be processed in the cache memory the host I / O, when the system load exceeds a predetermined threshold value, the dynamic system load Appendix 11, characterized in that it comprises the step of inhibiting the acceptance of the I / O request requested from the host Management method.
(付記19)前記コマンド処理ステップは、前記ホストI/O要求に対し、キャッシュメモリを参照して、前記キャッシュメモリで処理するフロント処理ステップと、前記キャッシュメモリで処理できないホストI/Oと内部I/Oに対し、前記システム負荷が所定の閾値を越えた場合に、前記ホストI/O要求の受け付けを抑止するIO制御ステップと、前記IO制御ステップで調整されたI/O要求の解析及び資源獲得を行うバックエンドステップとを有することを特徴とする付記18の動的システム管理方法。 (Supplementary Note 19) said command processing step, with respect to the host I / O request, with reference to the cache memory, a front processing step for processing in the cache memory, can not be processed by the cache memory host I / O and internal I / O to, wherein when the system load exceeds the predetermined threshold value, the host I / O and IO control step of suppressing the reception of the request, analysis and resources of the IO control adjusted I / O request in step dynamic system management method according to Supplementary note 18, characterized in that it comprises a back-end step of acquiring.
(付記20)前記システム負荷計算ステップは、前記依頼されたI/O要求の前記アクセス実行ステップの負荷を予測する流量予測ステップと、前記アクセス実行ステップの実際の負荷を管理する実負荷管理ステップと、前記予測負荷と前記実際の負荷とからシステム負荷を計算する負荷統計ステップとを有することを特徴とする付記11の動的システム負荷管理方法。 (Supplementary Note 20) The system load calculating step, the flow rate prediction step of predicting the load of the access execution step of the requested I / O request, the actual load management step of managing the actual load of the access execution step the predicted load and dynamic system load management method according to Supplementary note 11, characterized in that it comprises a load statistic calculating the system load from said actual load.
このように、本発明では、従来、ストレージシステムで管理していなかったホストI/O要求を、ストレージシステムのシステム負荷に応じて管理し、システム負荷を越えるホストI/O要求に対しては、ホストI/O要求を処理せず、エラー応答し、ホストにコマンドのリトライを行わせるようにした。 Thus, in the present invention, conventionally, a host I / O requests that did not manage the storage system manages according to the system load of the storage system, the host I / O requests exceeding system load, host without processing I / O requests, error response, and so as to perform the retry of the command to the host. これにより、システム内でのコマンド処理の停滞を抑止できる。 This allows inhibiting the stagnation of command processing in the system.
又、システム負荷を、アクセス実行前と後との両方の負荷から計算するため、正確にシステム自体の負荷を管理できる。 Further, the system load, for calculating from both load before and after access execution, can be managed accurately load of the system itself.
【図1】本発明の一実施の形態のストレージシステムの構成図である。 1 is a configuration diagram of a storage system according to an embodiment of the present invention.
【図2】本発明の一実施の形態のコマンド処理部の構成図である。 2 is a configuration diagram of a command processing section of the embodiment of the present invention.
【図3】図2の本発明の一実施の形態のコマンド処理部の詳細構成図である。 3 is a detailed block diagram of a command processing section of one embodiment of the present invention in FIG.
【図4】図2のIO制御部の動作説明図である。 4 is an explanatory view of the operation of the IO control unit of FIG.
【図5】図4のH−IO制御部の低負荷時の動作説明図である。 5 is a diagram for describing operation of the low load of the H-IO control unit of FIG.
【図6】図4のH−IO制御部の高負荷時の動作説明図である。 6 is a diagram for describing operation of the high load of the H-IO control unit of FIG.
【図7】図3のシステム負荷管理部の構成図である。 7 is a block diagram of a system load management unit of FIG.
【図8】図7の実負荷管理部のテーブルの説明図である。 8 is an explanatory diagram of a table of actual load management unit of FIG.
【図9】図7のRLU負荷の説明図である。 FIG. 9 is an explanatory diagram of the RLU load of FIG.
【図10】図7の実負荷管理部の実負荷の説明図である。 Is an illustration of the actual load of the actual load management unit of FIG. 10 FIG.
【図11】図4のH−IO制御部の処理フロー図である。 11 is a process flow diagram of a H-IO control unit of FIG.
【図12】図7の能力限界点の説明図である。 12 is an explanatory view of a capacity limit point in FIG.
【図13】図3のIO制御部とシステム負荷管理部との処理の流れ図である。 13 is a flow diagram of the processing of the IO control unit and the system load management unit of FIG.
【図14】図3のシステム負荷管理部とバックエンドモジュールの処理の流れ図である。 14 is a flow diagram of the processing of the system load management unit and the back-end module of FIG.
【図15】図3のL−IO制御部の説明図である。 15 is an explanatory view of the L-IO control unit of FIG.
【図16】図15のローカルI/O要求の閾値制御の動作説明図である。 16 is an explanatory view of the operation of the threshold control of the local I / O requests in FIG.
【図17】図3のL−IO制御部とシステム負荷管理部との処理の流れ図である。 17 is a flow diagram of the processing of the L-IO control unit and the system load management unit of FIG.
【図18】図3のL−IO制御部とシステム負荷管理部とバックエンドの処理の流れ図である。 18 is a flow diagram of the L-IO control unit and the system load management unit and the back-end processing of FIG.
【図19】従来技術の構成図である。 FIG. 19 is a block diagram of a conventional technology.
【図20】従来技術のDTC処理の流れ図である。 Figure 20 is a flow diagram of a prior art DTC process.
前記システム負荷が所定の閾値を越えた場合に、前記ホストから依頼されたI/O要求の受け付けを抑止する ことを特徴とするストレージシステム。 Storage system, wherein the system load when it exceeds a predetermined threshold value, suppresses the reception of the I / O request requested from the host.
前記コントローラは、前記システム負荷に従い、前記ホストI/O要求の受け付けの制御を行うとともに、前記ホストI/O以外の内部I/O要求の起動量を調整する ことを特徴とする請求項1のストレージシステム。 The controller in accordance with the system load, performs control of reception of the host I / O requests, according to claim 1, characterized in that adjusting the starting amount of the internal I / O requests other than the host I / O storage system.
前記コントローラは、前記実際の負荷に応じて、前記アクセス実行処理のコマンド処理量を制御する ことを特徴とする請求項1のストレージシステム。 Wherein the controller, a storage system of claim 1, wherein depending on the actual load, and controls the command processing of the access execution process.
前記コントローラが、前記システム負荷が所定の閾値を越えた場合に、前記ホストから依頼されたI/O要求の受け付けを抑止するステップとを有する ことを特徴とする動的システム負荷管理方法。 It said controller, when the system load exceeds a predetermined threshold, dynamic system load management method characterized by a step of suppressing the reception of the I / O request requested from the host.


For Black Friday only, we are offering our customers 10% off site wide!!!
This is the perfect opportunity to purchase those packaging items you have had your eye on. Whether you are after gift boxes, gift bags, ribbon or tissue paper, now is the time to buy it.
The sale is on for one day only, on Friday 23rd November 2018 from 8am till midnight - so act fast! Use code BLACK18 to redeem the offer.
This discount code does not apply to delivery costs and is redeemable against plain stock orders only. The offer is not applicable on print or bespoke orders. See Terms and Conditions for details.


Summer or winter, this charming Cape Cod cottage provides a welcome shelter from the elements! Plenty of portholes allow a full flock of feathered friends to settle in and set up housekeeping. Weight 2 lbs. MDF wood. 9 1/4" x 5 1/8" x 28" high.


We are the place to visit when you're in need of fast personal short term loans. We make it possible for you to get a cheap and quick short term loans all in one stop. When you are looking for offers with bad credit then you can still get a short term loans in southeast fairbanks census area. When you are desperate for low cost cash then a short term loans advance is available so you can rest easy with your situation. We offer a nationwide cash advance, short term loans, with an short term loans application and online customer service.
We had the very first short term loans that provided completely online cash short term loans to customers in the southeast fairbanks census area. We have a very easy and easy to get a short term loans thanks to our website and the online application process. Our office offers paycheck short term loans small for all our customers. We offer a nationwide short term loans process that is inexpensive for all. If you are looking for a fast short term loans we offer a no fax loan.
We are unique in offering a quick short term loans to all new customers who want to test out our program. We know exactly what our customer's want that's why we have a speedy overnight cash short term loans. With a short term loans it makes it simple to get a fax free short term loans. When you are looking to apply for a short term loans then we can get you your cash short term. We have an outstanding customer service team to help answer all of your short term loans questions.


• chemical testing, including physiology, pharmacology, analytical techniques, and the admissibility of chemical test evidence.
Extensive scientific material is included on the effects of alcohol on the body and the chemical testing methods and devices used to determine alcohol concentration. Volume 4 is a comprehensive Practice Guide, authored by prominent drunk driving defense attorney Richard Essen that provides step-by-step guidance for maintaining a drunk driving practice and handling a case, from pretrial preparation through trial. Included in the set is a Statutory Appendix of drunk driving-related provisions from all 50 states, the District of Columbia, and the Uniform Vehicle Code.


Sometimes you just want to keep it simple—especially when you're on a budget.
Nashville's food scene is on fire with fine-dining, celebrity chefs, and classy cocktails around every corner. But sometimes you just want to keep it simple—especially when you're on a budget. You are going to need that extra cash for parking, bar tabs, and to tip the bands on Broadway right? Thankfully, Nashville has us covered there too. We've compiled a list of ten of the best local menu items that can be had in downtown for $10 or less.
Two eggs cooked to order, bacon or sausage patties, white cheddar Weisenberger grits, and a biscuit.
Hand Battered chicken breast tenders, deep fried and served with your choice of ranch or honey mustard.