JP3908482B2 - 入出力制御装置及び入出力制御方法並びに情報記憶システム - Google Patents

入出力制御装置及び入出力制御方法並びに情報記憶システム Download PDF

Info

Publication number
JP3908482B2
JP3908482B2 JP2001189566A JP2001189566A JP3908482B2 JP 3908482 B2 JP3908482 B2 JP 3908482B2 JP 2001189566 A JP2001189566 A JP 2001189566A JP 2001189566 A JP2001189566 A JP 2001189566A JP 3908482 B2 JP3908482 B2 JP 3908482B2
Authority
JP
Japan
Prior art keywords
queue
priority
request
input
queued
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001189566A
Other languages
English (en)
Other versions
JP2003006135A (ja
Inventor
小登美 間宮
和彦 池内
秀治郎 大黒谷
実希夫 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2001189566A priority Critical patent/JP3908482B2/ja
Priority to US09/962,072 priority patent/US6799228B2/en
Publication of JP2003006135A publication Critical patent/JP2003006135A/ja
Application granted granted Critical
Publication of JP3908482B2 publication Critical patent/JP3908482B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は入出力制御装置及び入出力制御方法並びに情報記憶システムに係り、特に、上位装置から複数の下位装置への入出力を制御するための入出力制御装置及び入出力制御方法並びに情報記憶システムに関する。
【0002】
ハードディスクドライブ等のディスク装置を使用してデータを管理するストレージシステムがある。このようなストレージシステム(情報記憶システム)では、ディスク装置の破損からデータを保護するため、RAID構成としたものがある。RAID構成は、ディスクドライブを複数設け、データを冗長することによりデータの一部が破損しても元のデータを復元できるようにしている。
【0003】
このとき、メインフレームシステムからの入出力要求が異なるディスクドライブに対するものである場合がある。このような場合、効率よく入出力が行なえるようにメインフレームシステムとストレージシステムとの間に入出力制御装置を介在させ、複数のディスクドライブに同時にアクセスできるようにしていた。
【0004】
このようなメインフレームシステムからの入出力要求の中には優先して実行してもらいたい要求も存在している。このため、このような入出力要求に対しては優先して実行する機構が求められている。
【0005】
【従来の技術】
ストレージシステムでは、入出力要求は入出力キューされた後、要求するデバイスに設けられたデバイスキューに分配されている。
【0006】
図1は従来の一例のキューを説明するための図である。
【0007】
上位装置1からの入出力要求は、要求順にキャッシュキュー2にキューされてる。キャッシュキュー2にキューされた要求は、要求された順にディスクドライブ4a、4b毎に設けられたデバイスキュー3a、3bにキューされ、対応するディスクドライブ4a、4bで要求が実行される。このとき、デバイスキュー3a、3bでは、対応する要求の優先順に基づいて要求のデバイスキュー3a、3bへのキューの順序を変更していた。これにより、優先される要求が優先して実行されるようになっている。
【0008】
【発明が解決しようとする課題】
しかし、従来のシステムでは、上位装置1からの要求は、キャッシュキュー2を通ってデバイスキュー3a、3bに分配されていた。このため、キャッシュキュー2の最優先要求の要求先であるディスクドライブ4aのデバイスキュー3aに空きがない場合には、次の要求の要求先であるディスクドライブ4bのデバイスキュー3bに空きがあってもキューイングが待たされるため、要求に遅延が生じ、応答時間が保証できないなどの問題点があった。
【0009】
本発明は上記の点に鑑みてなされたもので、デバイスと効率よくデータの転送を行なえる入出力制御装置及び入出力制御方法並びに情報記憶システム入出力制御装置を提供することを目的とする。
【0010】
【課題を解決するための手段】
本発明は、上位装置から複数の下位装置への入出力要求を制御する入出力制御装置であって、上位装置からの入出力要求を複数の下位装置毎にキューする第1のキュー管理部と、第1のキュー管理部に複数の下位装置毎にキューされた入出力要求を複数の下位装置毎にキューする第2のキュー管理部と、上位装置からの入出力要求を上位装置によって付与された優先順位に基づいて第1のキュー管理部にキューさせ、第1のキュー管理部にキューされた待ち要求を、上位装置によって付与された優先順位が第2のキュー管理部にキューされた要求の上位装置によって付与された優先順位のうち最も高い優先順位より高いときには第2のキュー管理部の最上位の位置にキューさせ、待ち要求の上位装置によって付与された優先順位が第2のキュー管理部にキューされた要求の上位装置によって付与された優先順位のうち最も高い優先順位より低い優先順位であるときには前記第2のキュー管理部の最下位の位置にキューさせる制御部とを有することを特徴とする。
【0012】
さらに、デバイスキューで同じ優先順位の要求があった場合、後の要求を最下位にキューする。
【0013】
本発明によれば、上位装置からの入出力要求を上位装置によって付与された優先順位に基づいて第1のキュー管理部にキューさせ、第1のキュー管理部にキューされた待ち要求を、上位装置によって付与された優先順位が第2のキュー管理部にキューされた要求の上位装置によって付与された優先順位のうち最も高い優先順位より高いときには第2のキュー管理部の最上位の位置にキューさせ、待ち要求の上位装置によって付与された優先順位が第2のキュー管理部にキューされた要求の上位装置によって付与された優先順位のうち最も高い優先順位より低い優先順位であるときには待ち要求を前記第2のキュー管理部の最下位の位置にキューさせることにより、上位装置によって付与された優先順位が高い要求を優先して処理でき、また、上位装置によって付与された優先順位が低い要求であっても大幅に待たせることなく処理できる。
【0014】
また、本発明によれば、同じ優先順位の要求があった場合、後の要求を最下位にキューすることにより、優先順位が低い要求が大幅に待たされることがなくなるため、優先順位の低い要求の応答時間の大幅な遅延を防止できる。
【0015】
【発明の実施の形態】
図2は本発明の一実施例のシステム構成図を示す。
【0016】
本実施例のシステム100は、ホストコンピュータ101とストレージシステム102とが複数のチャネルCH1〜CHnを通して通信可能な構成とされている。ホストコンピュータシステム101からは複数のチャネルCH1〜CHnを介してストレージシステム102にデータのリード/ライトの要求がなされる。
【0017】
図3はホストコンピュータ101からストレージシステム102に供給されるデータの構成図を示す。
【0018】
ホストコンピュータ101とストレージシステム102との間で転送されるデータ111は、冗長RAIDグループ番号部112、論理ボリューム番号部113、開始アドレス部114、ブロック数部115、リード/ライトデータ部116、キャッシュアドレス部117、優先順位部118、メインフレームシステム/ホスト識別情報部119を含む構成とされている。
【0019】
冗長RAIDグループ番号部112には、データのリード/ライトを行なう先の冗長RAIDグループの番号が設定される。論理ボリューム番号部113には、データのリード/ライトを行なう先の論理ボリューム番号が設定される。
【0020】
開始アドレス部114には、データのリード/ライトを行なう先の開始アドレスが設定される。ブロック数部115には、リード/ライトデータのブロック数が設定される。
【0021】
リード/ライトデータ部116には、リード/ライトデータが設定される。キャッシュアドレス部117には、リード/ライトデータが記憶されるストレージシステム102のキャッシュメモリのキャッシュアドレスが設定される。
【0022】
優先順位部118には、リード/ライトデータの優先順位が設定される。優先順位は、ホストコンピュータ101側でOSが処理を効率よく行なえる順序でリード/ライトが行なえるように設定する。メインフレームシステム/ホスト識別情報119は、リード/ライトの指示元がメインフレームシステムか、ホストかを識別するための識別情報が設定される。
【0023】
上記構成のデータ111がストレージシステム102とホストコンピュータ1−2とで転送される。
【0024】
図2に戻って説明を続ける。
【0025】
ストレージシステム102は、コントローラ121及びディスクドライブ部122を含む構成とされている。コントローラ121は、図2に示すホストコンピュータ101からのリード/ライト要求を受信し、ディスクドライブ部122にデータをライトしたり、ディスクドライブ部122からデータを読み出したりする処理を行なう。なお、コントローラ121とディスクドライブ部122とは、SCSIインタフェースにより接続されている。
【0026】
ディスクドライブ部122は、例えば、複数のハードディスクドライブから構成され、コントローラ121からの指示に従い、磁気ディスク媒体にデータを記録したり、磁気ディスク媒体に記録したデータを再生したりする。
【0027】
図4はコントローラ121のブロック構成図、図5はコントローラ121の機能ブロック図を示す。
【0028】
コントローラ121は、チャネルアダプタCA1〜CAn、複数の管理モジュール(Centralized Module)CM1〜CMk、デバイスアダプタDA1〜DAmを含む構成とされている。チャネルアダプタCA1〜CAnは、チャネルアダプタ用ファームウェア140により制御される。複数の管理モジュール(Centralized Module)CM1〜CMkは、各々管理モジュール用ファームウェア141により制御される。デバイスアダプタDA1〜DAmは、デバイスアダプタ用ファームウェア142により制御される。
【0029】
チャネルアダプタCA1〜CAnは、ホストコンピュータ101のチャネルCH1〜CHnに対応して設けられ、各々CPU131を内蔵している。チャネルアダプタCA1〜CAnは、図5に示すようにチャネルアダプタ用ファームウェア140によりCPU131を動作させることにより主にインタフェース制御機能143、コマンド処理機能144を実行している。
【0030】
インタフェース制御機能143は、主にストレージシステム102とホストコンピュータ101とのインタフェース制御を行なう。また、コマンド処理機能144は、主にコマンドの解析、管理を行なう。
【0031】
複数の管理モジュール(Centralized Module)CM1〜CMkは、チャネルアダプタCA1〜CAnとデバイスアダプタDA1〜DAmとのインタフェース制御を行なう。管理モジュールCM1〜CMkは、各々が少なくともCPU151及びキャッシュメモリ152を含む構成とされている。各管理モジュールCM1〜CMkは、その配下のシステムの動作を制御する。管理モジュールCM1〜CMkでは、管理モジュール用ファームウェア141によりCPU151を動作させることによりリソース管理機能146及びキャッシュメモリ管理機能147を実行している。リソース管理機能146は、リソースの管理を行なう。
【0032】
また、キャッシュメモリ管理機能147は、デバイスアダプタDA1〜DAmとディスクドライブ部122とがSCSIインタフェースで接続されていることから、デバイスキューの優先制御をSCSIデバイスの標準機能であるQueue TAG機能を用いることにより実現している。Queue TAG機能には、Simple Queue(リオーダリング有り)、Head of Queue(キューの先頭に並ぶ)の2つのTAGが用意されている。この2つのTAGを用いてデバイスキューへの優先制御を行なっている。
【0033】
図6はコントローラ121でのキューの状態を示す図である。
【0034】
コントローラ121は、キャッシュキュー171、DAキュー172、デバイスキュー173を含む構成とされている。キャッシュキュー171は、管理モジュールCM1〜CMkに形成され、ホストコンピュータ101からの要求を順次に配列したキューである。また、DAキュー172は、特許請求の範囲の第1の管理部を構成しており、管理モジュールCM1〜CMkに形成されている。DAキュー172には、キャッシュキュー171からの要求をデバイスアダプタDA1〜DAm毎に配列したキューである。
【0035】
キュー管理テーブル150を用いて上記DAキュー172及びデバイスキュー173のキュー管理を行なう。
【0036】
図7はキュー管理テーブル150のデータ構成図を示す。
【0037】
キュー管理テーブル150は、冗長RAIDグループ♯1〜♯N毎にDAキューテーブル181及びデバイスキューテーブル182が設定されている。
【0038】
DAキューテーブル181は、DAキュー172にキューされた要求に関する情報が記憶されている。DAキュー172にキューされた要求に関する情報は、図2に示すデータ構成と同様な構成である。デバイスキューテーブル182は、デバイスキュー173にキューされた要求に関する情報が記憶されている。デバイスキュー173にキューされた要求に関する情報は、図2に示すデータ構成と同様な構成である。また、デバイスアダプタDA1〜DAmでは、このデバイスキューテーブル182にキューされた順に処理を行う。
【0039】
なお、DAキュー172、デバイスキュー173は、後に説明するようにCPU151によりホストコンピュータ101で付与された優先順位に基づいて優先順位が変更される。
【0040】
デバイスアダプタDA1〜DAmは、ディスクドライブ部122とのインタフェース制御を行なうモジュールであり、例えば、2ポートのFC−ALインタフェースを装備する。デバイスアダプタDA1〜DAmには、CPU191が内蔵されている。
【0041】
デバイスアダプタDA1〜DAmは、DAファームウェア142に基づいてCPU161を動作させることにより主にRAID制御機能148及びインタフェース機能149を実行する。RAID制御機能148は、CMファームウェア141と協働してRAID制御を行なう。インタフェース制御機能149は、ディスクドライブ部122とのインタフェース制御を行なう。
【0042】
次にCPU151によるDAキュー172及びデバイスキュー173の優先順位の変更処理について説明する。
【0043】
まず、ホストコンピュータ101からディスクドライブ部122への入出力要求時の動作を説明する。なお、ここでは、ホストコンピュータ101は、メインフレームシステムとする。また、優先処理は、メインフレームシステムからの要求に対してのみ行い、オープンシステムからの要求に対しては行なわないように制御される。CPU151は、メインフレームシステム或いはオープンシステムからの図3に示すような要求に関する情報を参照して、その情報中のメインフレームシステム/オープンシステム識別情報欄を参照することにより、要求がメインフレームシステムからのものか、オープンシステムからのものかを判定して、要求がメインフレームシステムのものである場合には以下に示す優先処理を行ない、オープンシステムからのものである場合には、要求はDAキュー172、デバイスキュー173の最下位にキューする。
【0044】
図8はホストコンピュータ101からの要求に対する処理フローチャートを示す。
【0045】
ホストコンピュータ101は、図3に示すようなデータにより要求が行なわれる。CPU151は、ホストコンピュータ101から要求を受信すると、ステップS1―0で優先処理の対象か否か判断を行う。ステップS1―0で優先処理の対象である場合には、ステップS1−1でホストコンピュータ101からの要求の論理ボリューム番号と優先順位を調べる。
【0046】
次に、CPU151は、ステップS1−2でデバイスキュー172にキューされているデータの個数がN以下か否かを判定する。デバイスキュー172にキューされているデータの個数は、キュー管理テーブル150のデバイスキューテーブル165に格納されたデータ個数を計数することにより求めることができる。
【0047】
ステップS1−2でデバイスキュー165にキューされているデータの個数がNより大きい場合には、ステップS1−3でDAキューの優先順位に応じた順位に要求データを割り込ませる。なお、Nは、デバイスキュー可能なデータの最大の個数に相当するものである。要求データをDAキューに割り込ませた後、ステップ1−4で要求データをDAキューを管理するDAキューテーブルに記憶させる。
【0048】
また、ステップS1−2でデバイスキューしているデータの個数がN以下の場合には、ステップS1−5でデバイスキューテーブルを参照し、ステップS1−6で要求データの優先順位がデバイスキューテーブルに記憶された最高順位より高いか否かを判定する。
【0049】
ステップS1−6でデバイスキューテーブルに記憶された最高順位より高い場合には、ステップS1−7で「head of queue TAG」機能によりデバイスキューの最高順位に要求データを割り込ませる。
【0050】
また、ステップS1−6でデバイスキューテーブルに記憶された最高順位より低い場合には、ステップS1−8で「simple queue TAG」機能によりデバイスキューの最下位に要求データをキューする。
【0051】
ステップS1−7またはS1−6でデバイスキューに要求データをキューすると、ステップS1−9で要求データをデバイスキューテーブルに記憶する。
【0052】
以上のようにデバイスキューに空きがある場合には、要求データはDAキューを行なわずに、直接デバイスキューの優先順位に応じた位置にキューされる。このため、高速に要求を実行できる。また、デバイスキューに空きがない場合には、要求データはデバイスキューの優先順位に応じた位置にキューされる。よって、優先順位が高い要求は高速に実行される。
【0053】
次に、応答時の動作を説明する。
【0054】
図9はホストコンピュータ101への要求に対する応答時の処理フローチャートを示す。
【0055】
CPU151は、ステップS2−1でディスクドライブ部122から応答があると、デバイスキューテーブルを参照して、デバイスキューの空きキューの論理ボリューム番号を調べ、対応するデバイスキューを確認する。
【0056】
次に、CPU151は、ステップS2−2でDAキューに待ちはあるか否かを判定する。ステップS2−2でDAキューに待ちキューがなければ、応答すべきキューがないので、そのまま処理を終了する。
【0057】
また、ステップS2−2でDAキューに待ちがあれば、ステップS2−3でデバイスキューテーブルを参照して、ステップS2−4でDAキューの最優先順位がデバイスキューの最優先順位より高いか否かを判定する。ステップS2−4で、DAキューの最優先順位がデバイスキューの最優先順位より高い場合には、ステップS2−5で「head of queue TAG」機能によりデバイスキューの最高順位に要求データを割り込ませる。
【0058】
また、ステップS2−4でデバイスキューテーブルに記憶された最高順位より低い場合には、ステップS2−6で「simple queue TAG」機能によりデバイスキューの最下位に要求データをキューする。
【0059】
ステップS2−5またはS2−6でデバイスキューに要求データをキューすると、ステップS2−7で要求データをDAキューテーブルから削除し、デバイスキューテーブルに記憶する。
【0060】
上記ステップS2−1〜S2−7を繰り返して応答を行なう。
【0061】
次に、上記の優先処理をさらに具体的に説明する。
【0062】
図10は優先処理の具体例を説明するための図である。
【0063】
図10において、状況欄の♯1〜♯14は、処理手順を示している。また、イベント欄は、CPU151に対して発生したイベントを示している。さらに、DAキュー状態欄は、DAキューの状態を示しており、右側ほど優先された位置となる。また、デバイスキュー状態欄は、デバイスキュー状態を示しており、右側ほど優先された位置となる。
【0064】
さらに、最高レベル欄は、デバイスキューの最優先順位を示している。なお、イベント欄、DAキュー欄、デバイスキュー欄、最高レベル欄の数字は、優先順位を示しており、大きいほど優先順位が高いものとする。また、ここでは、デバイスキューの最大データ数Nを「4」とする。
【0065】
まず、状況♯1は初期状態であり、デバイスキューに優先順位「5」の要求が1個、設定されているものとする。次に状況♯2で優先順位「6」の要求が発生する。
【0066】
次に状況♯3で優先順位「6」の要求が最優先されてディスクデバイス部121に送られる。優先順位「6」の要求は、デバイスキューには優先順位「5」のイベントが1個キューされているだけであるので、デバイスキューにキューされる。このとき、優先順位が「5」より高いので、優先順位「5」のイベントより優先順位の高い、位置にキューされる。このとき、優先順位「6」がデバイスキューの最高優先順位とされる。
【0067】
次に、状況♯4で優先順位「7」の要求a(以下、「7a」)が発生すると、状況♯5で要求7aがデバイスキューの最優先順位にキューされる。次に、状況♯6で優先順位「7」の要求b(以下、「7b」)が発生すると、状況♯7で要求7bがデバイスキューの最下位順位にキューされる。このとき、同じ優先順位の要求「7a」、「7b」があった場合、二つ目の要求「7b」は最下位にキューされる。
【0068】
次に、状況♯8で優先順位「4」の要求があると、このとき、デバイスキューには、デバイスキューの最大キューの数である4個の要求が既にキューされているので、新たに供給された優先順位「4」の要求は、DAキューにキューされる。次に状況♯9で優先順位「2」の要求があると、優先順位「4」より低いレベルであるので、DAキューの最後尾にキューされる。
【0069】
次に状況♯10で優先順位「3」の要求があると、優先順位「3」は優先順位「4」よりレベルが低く、優先順位「2」よりレベルが高いので、DAキューの優先順位「4」の要求と優先順位「2」の要求との間にキューされる。次に、状況♯11でデバイスキューの最優先順位「7」の要求7aが終了すると、要求の個数が3個になるので、DAキューの最優先順位「4」の要求がデバイスキューにキューされる。このとき、優先順位「4」はデバイスキューの最優先順位「7」より低いので、デバイスキューの最下位にキューされる。また、デバイスキューには、優先順位「7」の要求7bが存在するので、最高優先順位は、「7」のままである。このため、優先順位「6」以下の要求はすべて最下位の位置にキューされる。
【0070】
状況♯12でデバイスキューの最優先順位に位置する優先順位「6」の要求が終了すると、要求の個数が3個になるので、DAキューの最優先順位「3」の要求がデバイスキューにキューされる。このとき、優先順位「3」はデバイスキューの最優先順位「7」より低いので、デバイスキューの最下位にキューされる。
【0071】
状況♯13でデバイスキューの最優先順位に位置する優先順位「5」の要求が終了すると、要求の個数が3個になるので、DAキューの最優先順位「2」の要求がデバイスキューにキューされる。このとき、優先順位「2」はデバイスキューの最優先順位「7」より低いので、デバイスキューの最下位にキューされる。状況♯14で優先順位「7」の要求「7b」が終了すると、DAキューに待ちキューは存在しないので、デバイスキューの要求の個数が優先順位「4」、「3」、「2」の要求の3個になる。これにより、最高優先順位が「4」になる。このため、次の要求は、優先順位が「5」以上であれば、デバイスキューの最高順位に位置し、優先順位が「4」以下であれば、デバイスキューの最下位順位に位置する。
これにより、デバイスキューテーブルにキューされるキューの順序を優先順位に応じてデバイスキューテーブルにキューさせることができる。
【0072】
具体的には以上のようにして優先順位が決定され、要求が順次実行されることになる。
【0073】
また、他のホストからのアクセスについては以下の様に扱うことも考えられる。メインフレーム/オープンシステム共用ボリュームについては、優先制御対象ではないとして処理し、上記優先制御による不平等を避ける。
【0074】
さらに、上記優先制御の有効/無効は、保守画面から設定可能とする。このために、例えば、3つのパラメータを定義する。
【0075】
まず、第1のパラメータとして、優先制御をホストインタフェースに対して無効とするフラグを設ける。このフラグがオンの場合、優先制御をサポートしていることを、ホストに返す。また、このフラグがオフの場合、優先制御機能をサポートしていないことを、ホストに返す。
【0076】
さらに、第2のパラメータとして上記優先制御機能の内部動作の有効/無効モードを制御するフラグを設ける。このフラグは、本機能に関する内部の動作モードを有効又は無効モードにするものである。無効モードの場合、上記優先制御機能をサポートしていない内部動作と同様になる。但し、ホストインタフェースの動作には影響しないとする。
【0077】
また、第3のパラメータとして上記優先制御機能に関連して内部処理時間監視機能の有効/無効を制御するフラグを設ける。このフラグは活性状態で変更できるようにし、監視時間経過時にビジー応答するかどうかの判定条件に加える。このフラグがオンの場合、内部処理時間監視によるビジー応答は行わない。但し、時間監視や内部ログはフラグのオン/オフに関わらず行うようにする。
【0078】
以上の3つのパラメータを設定することにより、優先制御機能の操作性を向上させることができる。
【0079】
また、ホストコンピュータ101からの入出力要求で行われるデバイス動作は基本的に優先順位を持つものである。しかし、優先順位を持たない入出力要求は、優先制御レベル最低として取り扱うようにする。
【0080】
ただし、上記優先制御対象となり得るのは、ホストコンピュータ101からの入出力要求に起因する処理とする。このため、要求が優先制御対象かどうかの判断を行う必要がある。
【0081】
判断は例えば、DTCにより行なうようにする。
【0082】
図11にDTCの機能ブロック図を示す。
DTC200は、図6に示すDAキュー172とデバイスキュー173との間に設けられている。DTC200は、ホスト入出力キュー201、内部処理キュー202、タイムシェアリング部203を含む構成とされている。
DTC200は、ホスト入出力キュー201、内部処理キュー202をタイムシェアリングしている。
【0083】
内部処理キュー202は、例えば、リビルド処理、ライトバック処理、EC/OPC処理などで生じた要求がキューされる。内部処理キュー202にキューされた要求は、ホスト入出力キュー201にキューされた要求とは同期しないで処理される。タイムシェアリング部203は、内部処理キュー202にキューされた要求をホスト入出力キュー201にキューされた要求に優先してデバイスキュー173にキューする。
また、プリフェッチ処理は、該当領域のホストアクセスに先行して処理されなければならないため、プリフェッチ処理の優先順位は先読み機能を起動したホスト入出力要求のレベルを引き継ぐものとする。
【0084】
上記本実施例の優先制御によれば、例えば、バッチ処理実行中のオンライン要求の応答時間を保証することが可能となる。よって、オンラインライン処理を24時間行い、日中は、オンライン処理とバッチ処理とを並行して行なう場合に有効な機能となる。
【0085】
(付記1) 上位装置から複数の下位装置への入出力要求を制御する入出力制御装置であって、
前記上位装置によって予め割り当てられた優先順位に基づいて前記入出力要求の順位を前記複数の下位装置毎に制御する優先順位管理部を有することを特徴とする入出力制御装置。
【0086】
(付記2) 前記優先順位管理部は、前記上位装置からの前記入出力要求の順位を前記複数の下位装置毎に管理する第1の管理部と、
前記下位装置への入出力を管理する第2の管理部とを有することを特徴とする付記1記載の入出力制御装置。
【0087】
(付記3) 前記優先順位管理部は、同じ優先順位の要求があった場合、後の要求を最下位にキューすることを特徴とする付記1又は2記載の入出力制御装置。
【0088】
(付記4) 前記優先順位管理部は、前記上位装置からの前記入出力要求に予め付与された優先順位に基づいて前記第1の管理部に配列された前記入出力要求の順位を変更することを特徴とする付記2記載の入出力制御装置。
(付記5) 前記優先順位管理部は、前記入出力要求に予め付与された優先順位に基づいて前記第2の管理部に配列された前記入出力要求の順位を変更することを特徴とする付記2乃至4のいずれか一項記載の入出力制御装置。
【0089】
(付記6) 前記優先順位管理部は、前記入出力要求に基づいて優先管理を有効又は無効とすることを特徴とする付記1乃至5のいずれか一項記載の入出力制御装置。
【0090】
(付記7) 前記優先順位管理部は、設定により時間監視を有効又は無効にできることを特徴とする付記1乃至6のいずれか一項記載の入出力制御装置。
【0091】
(付記8) 上位装置から複数の下位装置への入出力要求を制御する入出力制御方法であって、
前記上位装置によって予め割り当てられた優先順位に基づいて前記入出力要求の順位を前記複数の下位装置毎に制御することを特徴とする入出力制御方法。
【0092】
(付記9) 前記上位装置からの前記入出力要求の順位を前記複数の下位装置毎に管理する第1の管理手順と、
前記下位装置への入出力を管理する第2の管理手順とを有することを特徴とする付記8記載の入出力制御方法。
【0093】
(付記10) 同じ優先順位の要求があった場合、後の要求を最下位にキューすることを特徴とする付記8又は9記載の入出力制御方法。
【0094】
(付記11) 前記入出力要求に基づいて優先管理を有効又は無効とすることを特徴とする付記8乃至10のいずれか一項記載の入出力制御方法。
【0095】
(付記12) 設定により時間監視を有効又は無効にできることを特徴とする付記8乃至12のいずれか一項記載の入出力制御方法。
【0096】
(付記13) 上位装置から複数の情報記憶装置への入出力要求を制御する情報記憶システムであって、
前記上位装置によって予め割り当てられた優先順位に基づいて前記入出力要求の順位を前記複数の下位装置毎に制御する優先順位管理部を有することを特徴とする情報記憶システム。
【0097】
(付記14) 前記優先順位管理部は、前記上位装置からの前記入出力要求の順位を前記複数の下位装置毎に管理する第1の管理部と、
前記下位装置への入出力を管理する第2の管理部とを有することを特徴とする付記13記載の情報記憶システム。
【0098】
(付記15) 同じ優先順位の要求があった場合、後の要求を最下位にキューすることを特徴とする付記13又は14記載の情報記憶システム。
【0099】
(付記16) 前記優先順位管理部は、前記入出力要求に予め付与された優先順に基づいて前記第2の管理部に配列された前記入出力要求の順位を変更することを特徴とする付記13又は14記載の情報記憶システム。
【0100】
(付記17) 前記優先順位管理部は、前記入出力要求に基づいて優先管理を有効又は無効とすることを特徴とする付記13乃至16のいずれか一項記載の情報記憶システム。
【0101】
(付記18) 前記優先順位管理部は、設定により時間監視を有効又は無効にできることを特徴とする付記13乃至17のいずれか一項記載の情報記憶システム。
【0102】
【発明の効果】
上述の如く、本発明によれば、上位装置からの入出力要求を上位装置によって付与された優先順位に基づいて第1のキュー管理部にキューさせ、第1のキュー管理部にキューされた待ち要求を、上位装置によって付与された優先順位が第2のキュー管理部にキューされた要求の上位装置によって付与された優先順位のうち最も高い優先順位より高いときには第2のキュー管理部の最上位の位置にキューさせ、待ち要求の上位装置によって付与された優先順位が第2のキュー管理部にキューされた要求の上位装置によって付与された優先順位のうち最も高い優先順位より低い優先順位であるときには待ち要求を前記第2のキュー管理部の最下位の位置にキューさせることにより、上位装置によって付与された優先順位が高い要求を優先して処理でき、また、上位装置によって付与された優先順位が低い要求であっても大幅に待たせることなく処理できる等の特長を有する。
【0103】
また、本発明によれば、デバイスキューにおいて同じ優先順位の要求があった場合、後の要求を最下位にキューすることにより、優先順位が低い要求が大幅に待たされることがなくなるため、優先順位の低い要求の応答時間の大幅な遅延を防止できる等の特長を有する。
【図面の簡単な説明】
【図1】従来の一例のキューを説明するための図である。
【図2】本発明の一実施例のシステム構成図である。
【図3】ホストコンピュータ101からストレージシステム102に供給されるデータの構成図である。
【図4】コントローラ121のブロック構成図である。
【図5】コントローラ121の機能ブロック図である。
【図6】コントローラ121でのキューの状態を示す図である。
【図7】キュー管理テーブル150のデータ構成図である。
【図8】ホストコンピュータ101からの要求に対する処理フローチャートである。
【図9】ホストコンピュータ101への要求に対する応答時の処理フローチャートである。
【図10】優先処理の具体例を説明するための図である。
【図11】DTCの機能ブロック図を示す。
【符号の説明】
100 システム
101 ホストコンピュータ
102 ストレージシステム
121 コントローラ
122 ディスクドライブ部
131、151、191 CPU
140 CAファームウェア
141 CMファームウェア
142 DAファームウェア
144 インタフェース制御機能
145 コマンド処理機能
146 リソース管理機能
147 キャッシュメモリ管理機能
148 RAID制御機能
149 インタフェース制御機能
150 キュー管理テーブル

Claims (4)

  1. 上位装置から複数の下位装置への入出力要求を制御する入出力制御装置であって、
    前記上位装置からの前記入出力要求を前記複数の下位装置毎にキューする第1のキュー管理部と、
    前記第1のキューに前記複数の下位装置毎にキューされた前記入出力要求を前記複数の下位装置毎にキューする第2のキュー管理部と、
    前記上位装置からの前記入出力要求を前記上位装置によって付与された優先順位に基づいて前記第1のキュー管理部にキューさせ、前記第1のキュー管理部にキューされた待ち要求を、前記上位装置によって付与された優先順位が前記第2のキュー管理部にキューされた要求の前記上位装置によって付与された優先順位のうち最も高い優先順位より高いときには前記第2のキュー管理部の最上位の位置にキューさせ、前記待ち要求の前記上位装置によって付与された優先順位が前記第2のキュー管理部にキューされた要求の前記上位装置によって付与された優先順位のうち最も高い優先順位より低い優先順位であるときには前記第2のキュー管理部の最下位の位置にキューさせる制御部とを有することを特徴とする入出力制御装置。
  2. 前記第2のキュー管理部は、同じ優先順位の要求があった場合、後の要求を最下位にキューすることを特徴とする請求項1記載の入出力制御装置。
  3. 上位装置から複数の下位装置への入出力要求を制御する入出力制御方法であって、
    前記上位装置からの前記入出力要求を前記複数の下位装置毎にキューする第1のキュー管理部と、
    前記第1のキュー管理部に前記複数の下位装置毎にキューされた前記入出力要求を前記複数の下位装置毎にキューする第2のキュー管理部とを有し、
    前記上位装置からの前記入出力要求を前記上位装置によって付与された優先順位に基づいて前記第1のキュー管理部にキューさせ、前記第1のキュー管理部にキューされた待ち要求を、前記上位装置によって付与された優先順位が前記第2のキュー管理部にキューされた要求の前記上位装置によって付与された優先順位のうち最も高い優先順位より高いときには前記第2のキュー管理部の最上位の位置にキューさせ、前記待ち要求の前記上位装置によって付与された優先順位が前記第2のキュー管理部にキューされた要求の前記上位装置によって付与された優先順位のうち最も高い優先順位より低い優先順位であるときには前記待ち要求を前記第2のキュー管理部の最下位の位置にキューさせることを特徴とする入出力制御方法。
  4. 上位装置から複数の情報記憶装置への入出力要求を制御する情報記憶システムであって、
    前記上位装置からの前記入出力要求を前記複数の下位装置毎にキューする第1のキュー管理部と、
    前記第1のキュー管理部に前記複数の下位装置毎にキューされた前記入出力要求を前記複数の下位装置毎にキューする第2のキュー管理部と、
    前記上位装置からの前記入出力要求を前記上位装置によって付与された優先順位に基づいて第1のキュー管理部にキューさせ、前記第1のキュー管理部にキューされた待ち要求を、前記上位装置によって付与された優先順位が前記第2のキュー管理部にキューされた要求の前記上位装置によって付与された優先順位のうち最も高い優先順位より高いときには前記第2のキュー管理部の最上位の位置にキューさせ、前記待ち要求の前記上位装置によって付与された優先順位が前記第2のキュー管理部にキューされた要求の前記上位装置によって付与された優先順位のうち最も高い優先順位より低い優先順位であるときには前記第2のキュー管理部の最下位の位置にキューさせる制御部とを有することを特徴とする情報記憶システム。
JP2001189566A 2001-06-22 2001-06-22 入出力制御装置及び入出力制御方法並びに情報記憶システム Expired - Fee Related JP3908482B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001189566A JP3908482B2 (ja) 2001-06-22 2001-06-22 入出力制御装置及び入出力制御方法並びに情報記憶システム
US09/962,072 US6799228B2 (en) 2001-06-22 2001-09-26 Input/output control apparatus, input/output control method and information storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001189566A JP3908482B2 (ja) 2001-06-22 2001-06-22 入出力制御装置及び入出力制御方法並びに情報記憶システム

Publications (2)

Publication Number Publication Date
JP2003006135A JP2003006135A (ja) 2003-01-10
JP3908482B2 true JP3908482B2 (ja) 2007-04-25

Family

ID=19028468

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001189566A Expired - Fee Related JP3908482B2 (ja) 2001-06-22 2001-06-22 入出力制御装置及び入出力制御方法並びに情報記憶システム

Country Status (2)

Country Link
US (1) US6799228B2 (ja)
JP (1) JP3908482B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210094299A (ko) * 2020-01-21 2021-07-29 주식회사 케이티 양자키 할당 우선 순위를 고려하는 양자 통신 시스템, 장치 및 방법

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7396538B2 (en) * 2002-09-26 2008-07-08 Endovascular Devices, Inc. Apparatus and method for delivery of mitomycin through an eluting biocompatible implantable medical device
US7114029B1 (en) 2002-10-31 2006-09-26 Western Digital Technologies, Inc. Disk drive employing a multi-phase rotational position optimization (RPO) algorithm
US7082494B1 (en) * 2002-12-24 2006-07-25 Western Digital Technologies, Inc. Disk drive executing a preemptive multitasking operating system comprising tasks of varying priority
JP2005301442A (ja) * 2004-04-07 2005-10-27 Hitachi Ltd ストレージ装置
US7730256B2 (en) * 2005-08-22 2010-06-01 Broadcom Corporation Dual work queue disk drive controller
JP4792335B2 (ja) * 2006-06-16 2011-10-12 富士通株式会社 Raid装置、raid制御プログラムおよびキャッシュ管理方法
US8078848B2 (en) 2009-01-09 2011-12-13 Micron Technology, Inc. Memory controller having front end and back end channels for modifying commands
WO2014002126A1 (en) * 2012-06-25 2014-01-03 Hitachi, Ltd. Computer system and method of controlling i/o with respect to storage apparatus
US9372818B2 (en) * 2013-03-15 2016-06-21 Atmel Corporation Proactive quality of service in multi-matrix system bus
JP6372297B2 (ja) * 2014-10-16 2018-08-15 富士通株式会社 情報処理装置および情報処理装置の制御方法
US10795608B2 (en) 2016-02-19 2020-10-06 Hitachi, Ltd. Computer, communication driver, and communication control method
US20190339905A1 (en) * 2016-03-17 2019-11-07 Hitachi, Ltd. Storage apparatus and information processing method
US20190129876A1 (en) * 2017-10-26 2019-05-02 Intel Corporation Devices and methods for data storage management

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2839530B2 (ja) 1989-02-21 1998-12-16 富士通株式会社 メモリ割当て優先度の動的変更処理方式
JPH07239824A (ja) 1994-02-28 1995-09-12 Nec Home Electron Ltd 情報処理装置
JP2611746B2 (ja) * 1994-12-19 1997-05-21 日本電気株式会社 入出力インタフェース装置及びその制御方法
US5937205A (en) * 1995-12-06 1999-08-10 International Business Machines Corporation Dynamic queue prioritization by modifying priority value based on queue's level and serving less than a maximum number of requests per queue
US6654837B1 (en) * 1999-12-28 2003-11-25 Intel Corporation Dynamic priority external transaction system
US6633954B1 (en) * 2000-03-31 2003-10-14 Emc Corporation Method for enhancing host application performance with a DASD using task priorities

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210094299A (ko) * 2020-01-21 2021-07-29 주식회사 케이티 양자키 할당 우선 순위를 고려하는 양자 통신 시스템, 장치 및 방법
KR102287186B1 (ko) 2020-01-21 2021-08-05 주식회사 케이티 양자키 할당 우선 순위를 고려하는 양자 통신 시스템, 장치 및 방법

Also Published As

Publication number Publication date
US20020199038A1 (en) 2002-12-26
JP2003006135A (ja) 2003-01-10
US6799228B2 (en) 2004-09-28

Similar Documents

Publication Publication Date Title
US7631218B2 (en) RAID system and Rebuild/Copy back processing method thereof
JP4472617B2 (ja) Raidシステム、raidコントローラ及びそのリビルド/コピーバック処理方法
JP3908482B2 (ja) 入出力制御装置及び入出力制御方法並びに情報記憶システム
JP4322068B2 (ja) ストレージシステム及びそのデイスク負荷バランス制御方法
JP3617632B2 (ja) Raid制御装置及びその制御方法
US6272571B1 (en) System for improving the performance of a disk storage device by reconfiguring a logical volume of data in response to the type of operations being performed
CN102203743A (zh) 直接-附接的/网络-附接的存储设备
CN102215268A (zh) 一种迁移文件数据的方法和装置
JP5882557B2 (ja) 要求優先順位シーク・マネージャ
JP2010049502A (ja) ストレージサブシステム、及びこれを有するストレージシステム
JP3617631B2 (ja) ストレージ制御装置及びその制御方法
JP2000181773A (ja) 記憶装置システム
US10152242B1 (en) Host based hints
JP4719801B2 (ja) デバイス管理装置、デバイス初期化方法、デバイス初期化プログラムおよびデバイスシステム
JP2008016024A (ja) キャッシュされたデータのダイナミック適応フラッシング
JP5594942B2 (ja) 好適なゾーン・スケジューリング
JP2006323541A (ja) データ転送回路及びデータ転送方法
JP4373450B2 (ja) Raid制御装置及びその制御方法
JP4379836B2 (ja) 入出力制御装置
KR100347527B1 (ko) 단일 광채널 중재루프를 이용한 래이드 시스템의 구조
WO2014059800A1 (zh) 数据交互方法及装置
JP2011232962A (ja) ディスクアレイ装置およびミラードキャッシュ制御方法
JP5915215B2 (ja) 仮想テープ装置及び仮想テープ装置の制御方法
JPH10240450A (ja) 記憶装置システム
JP2000172570A5 (ja) 情報記録装置並びにこの装置におけるデータの入出力方法及び再構築方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051003

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060425

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060621

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070116

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070118

R150 Certificate of patent or registration of utility model

Ref document number: 3908482

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110126

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110126

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120126

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130126

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130126

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140126

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees