JPH08328759A - 入出力処理システム - Google Patents

入出力処理システム

Info

Publication number
JPH08328759A
JPH08328759A JP7130555A JP13055595A JPH08328759A JP H08328759 A JPH08328759 A JP H08328759A JP 7130555 A JP7130555 A JP 7130555A JP 13055595 A JP13055595 A JP 13055595A JP H08328759 A JPH08328759 A JP H08328759A
Authority
JP
Japan
Prior art keywords
input
output
disk
logical disk
disk device
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.)
Granted
Application number
JP7130555A
Other languages
English (en)
Other versions
JP3201219B2 (ja
Inventor
Takashi Sakakura
隆史 坂倉
Shinya Fushimi
信也 伏見
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP13055595A priority Critical patent/JP3201219B2/ja
Priority to US08/629,842 priority patent/US5761526A/en
Publication of JPH08328759A publication Critical patent/JPH08328759A/ja
Application granted granted Critical
Publication of JP3201219B2 publication Critical patent/JP3201219B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

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

Abstract

(57)【要約】 【目的】 通常のディスク装置を利用し高速データ転送
サブシステムを実現する。 【構成】 ソフトウェア制御によるディスク間同期コス
トを低減したストライプトディスクとタイムアウトによ
る同期制御手段、さらに、ユーザメモリを使用しないデ
ータ転送手段により高速大量データ転送システムを実現
する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は計算機システムにおける
入出力処理システムに関し、特に大量データを高速に入
出力するための入出力処理システムに関する。
【0002】
【従来の技術】近年、磁気ディスク記憶装置の小型化、
低価格化に伴い、RAIDと呼ばれるディスクサブシス
テムがパーソナルコンピュータやワークステーションに
普及してきた。RAIDは複数のディスク装置で論理的
なディスク装置を構成して性能や信頼性の向上を図るも
ので、使用目的によって、一般的にRAID0レベルか
らRAID5レベルに区分される構成方式のいずれかが
採用される。RAIDは一般的にディスクコントローラ
の機能として実現され、パーソナルコンピュータではS
CSIホストアダプタの機能として実現されることが多
い。
【0003】一方、ハードウェアによらずソフトウェア
による制御で、複数のディスク装置により論理的なディ
スク装置を構成する技術も知られている。IBM社のロ
ジカルボリュームマネージャ、ベリタス社のボリューム
マネージャなどが、その代表的な製品であり、これらに
おいては、ディスクコンカティネーティング、ディスク
ミラーリング、ディスクストライピング等の機能が提供
されている。また、製品によってはRAID機能を全て
カバーすべく試みているものもある。
【0004】RAIDシステムにおいては、大量で高速
な入出力のためにはRAID3レベルあるいはRAID
0レベルが用いられる。RAID3レベルはバイトイン
ターリーブ構成でパリティデータを付加したデータレイ
アウト構成をとる。RAID0レベルはソフトウェアに
よるディスクストライピングと同等でパリティデータが
付加されない。
【0005】ディスクストライピングやRAIDにより
期待できる入出力性能上の効果は、インターリーブ配置
されたデータに対して複数のディスク装置を含むような
データサイズの入出力要求があった時に、各々の当該デ
ィスク装置に入出力要求を振り分け、ディスク装置を並
列動作させることによってもたらされるユーザから見た
入出力性能の向上と、論理ディスク装置に対するコンカ
レントアクセスを複数のディスク装置に振り分けること
によってもたらされるシステムとしてのスループット性
能の向上があるが、大量データの高速入出力のためには
前者の効果を追求することになる。
【0006】ところで、ストライプ構成された論理ディ
スク装置に対する入出力は、それぞれの当該ディスク装
置に振り分けられるが、1回の論理ディスク装置に対す
る入出力ごとに振り分けられた全ての入出力に対して同
期をとらねばならない。並列に動作するディスク装置の
処理時間にばらつきがあると、処理終了の待ち合わせ時
間をそのばらつきの分だけ必要になり、論理ディスク装
置の入出力性能の劣化につながる。この同期を乱す要因
としては、個々のディスク装置そのものの性能差、シー
ク(位置決め)、回転待ち等に起因する動的な性能のば
らつき、データバスの待ち合わせ等がある。
【0007】ディスク装置間の待ち合わせのオーバーヘ
ッドを削減するためにRAIDシステムにおいては、例
えば、RAID3レベルの適用されたシステムでは、均
質なディスク装置でシステムを構成し、ディスクの回転
待ちによる同期の乱れをなくすため、全てのディスクの
回転を同期させ、各ディスク装置への入出力命令の遅延
を吸収するために、データを配置するセクタ位置を少し
ずつずらすといった技術が知られているが、これには、
一つのハードウェアサブシステムとしてRAIDを設計
できるという前提が実現条件となる(MICHELLE
Y.KIM,“Synchronized Disk
Interleaving”,IEEE TRANS
ACTIONS ON COMPUTERS.VOL.
C−35,NO.11,NOVEMBER 198
6)。
【0008】また、さらに細かい視点で、ディスク装置
間の同期を乱す要因として、ディスク装置のヘッドの位
置ずれ補正をとりあげ、ある基準となるディスクにおい
て、位置ずれ補正が必要になった時点で、ディスクアレ
イを構成する全てのディスク装置に位置ずれ補正を促す
コマンドを発行し、位置ずれ補正による同期の乱れを最
小限に押さえる技術が特開平5−27910に開示され
ている。
【0009】また、特開平5−257611号公報に
は、RAIDシステムにおいて、論理ディスク装置をソ
フトウェア制御により、柔軟な構成で実現することが開
示されている。即ち、ディスクアレイのパーティショニ
ングを目的として、柔軟に1つあるいは複数のディスク
アレイ上にRAIDレベルの異なる論理ディスク装置を
混在させ、なおかつ、ディスク装置間の同期を乱すこと
による性能劣化を押さえるデータレイアウト方法につい
ての技術が開示されている。
【0010】
【発明が解決しようとする課題】以上のように、従来に
おいては、論理ディスク装置をソフトウエア制御により
論理ディスク装置を構成するものは存在したが、最適な
論理ディスク装置を構成するために、論理ディスク装置
を構成するディスク装置の性能を測定して、そのデータ
を基に、論理ディスク装置を構成する技術はなかった。
【0011】本発明は、効率のよい入出力処理システム
を提供し、システム全体のスループットを向上させるこ
とを目的とする。より具体的には、RAIDを使用せず
に、一般的なディスク装置を使用して最適な論理ディス
ク装置を構成して入出力システムの性能を向上させるこ
とを目的とする。また、画像データのような大量データ
の処理においては、1回の入出力データ量が非常に大き
なものとなるが、この場合1回の入出力命令に対し指定
された大量のデータが完全に転送されるのを待つより
も、指定された量よりも少ないデータを受取り、より早
期に処理が開始できる入出力処理システムを提供するこ
とを目的とする。さらに、入出力装置間の転送におい
て、効率のよい転送が可能な入出力システムを提供する
ことを目的とする。
【0012】
【課題を解決するための手段】第1の発明に係わる入出
力処理システムは、入出力システムを構成する複数のデ
ィスク装置の性能特性をシステム管理者から与えられる
性能データもしくは前記ディスク装置を動作させて性能
を計測する性能計測手段により収集する性能データ収集
手段と、この性能データ収集手段で収集した性能データ
を基に前記複数のディスク装置を用いて論理ディスク装
置を構成する論理ディスク構成手段と、を有する論理デ
ィスク制御手段を設け、前記論理ディスク構成手段は、
前記論理ディスク装置を構成する各ディスク装置の1ス
トライプ分のデータ入出力に要する応答時間が均等にな
るストライプ幅を設定した論理ディスク管理データを生
成し、前記論理ディスク制御手段がこの論理ディスク管
理データにより前記論理ディスク装置を制御するように
したものである。
【0013】第2の発明に係わる入出力処理システム
は、入出力装置に対する入出力命令発行時に、入出力装
置の動作に要する制限時間を設定する制限時間設定手段
と、設定した制限時間が経過したら前記入出力命令によ
り起動された入出力動作を終了させる手段と、をもうけ
るようにしたものである。
【0014】第3の発明に係わる入出力処理システム
は、前記制限時間設定手段で設定される時間を設定する
タイマと、このタイマからの制限時間終了を受け入出力
動作を終了させる手段と、を入出力装置の制御をする制
御装置に設けるようにしたものである。
【0015】第4の発明に係わる入出力処理システム
は、前記入出力装置を複数のディスク装置から構成され
た論理ディスク装置で構成するようにしたものである。
【0016】第5の発明に係わる入出力処理システム
は、第1の発明における入出力システムにおいて、入出
力装置に対する入出力命令発行時に、この入出力命令の
処理に関する制限時間を設定する制限時間設定手段と、
設定した制限時間が経過したら前記入出力命令により起
動された入出力動作を終了させる処理終了手段と、を設
けようにしたものである。
【0017】第6の発明に係わる入出力処理システム
は、前記性能計測手段が、各ディスク装置に対する入出
力命令実行時の応答時間が、最短、あるいは、最長とな
る条件を設定して、入出力命令を実行し、その応答時間
を計測するようにしたものである。
【0018】第7の発明に係わる入出力処理システム
は、前記性能計測手段が、システムへのディスク装置追
加時にこのディスク装置に対する初期化処理の一部とし
てこのディスク装置の性能測定を行うようにしたもので
ある。
【0019】第8の発明に係わる入出力処理システム
は、前記性能収集手段が、複数のディスク装置が接続さ
れた入出力バスの構成、バス転送性能をシステム管理者
より与えられたシステム構成データ、あるいは、前記性
能計測手段により前記バスに接続された入出力装置を実
際に動作させることによってバス性能データを収集し、
前記論理ディスク構成手段が、この収集した性能データ
を基に、各々のディスク性能と接続されたバス転送性能
を考慮して、論理ディスク装置を構成するようにしたも
のである。
【0020】第9の発明に係わる入出力処理システム
は、前記論理ディスク構成手段が、論理ディスク装置を
構成するディスク装置に割り当てられる1回あたりの入
出力命令におけるデータ転送量をそのディスク装置の1
トラックの中に収めるようにしたものである。
【0021】第10の発明に係わる入出力処理システム
は、前記論理ディスク構成手段が、外内周部で性能差の
ある均質な複数のディスク装置により論理ディスクを構
成する時は、各々のディスク装置の外内周部を交互に組
合せて構成することにより論理ディスク装置の見かけの
入出力性能がデータの配置されたディスク上の位置によ
らず均一となるようにしたものである。
【0022】第11の発明に係わる入出力処理システム
は、前記論理ディスク制御手段が、論理ディスク装置に
対する入出力要求があった場合、その論理ディスク装置
を構成する全てのディスク装置への入出力命令発行直前
のそのディスク装置のヘッド位置等の状態を動的に判断
して、その論理ディスク装置への入出力命令実行時間が
最短となるように入出力命令の発行をするようにしたも
のである。
【0023】第12の発明に係わる入出力処理システム
は、前記論理ディスク制御手段が、複数のディスク装置
の各々に複数回の入出力要求が発生する入出力サイズで
論理ディスク装置に対して入出力要求がある場合は、こ
の論理ディスク装置を構成するディスク装置の性能特
性、および、ディスクが接続された入出力バスの特性を
判断し、必要に応じて、同一ディスク装置への複数入出
力要求をより少ない入出力要求回数とする、あるいは、
該複数ディスク装置への入出力要求中に同期ポイントを
設けることにより、該論理ディスク装置への入出力時間
が最短となるように入出力命令を発行するようにしたも
のである。
【0024】第13の発明に係わる入出力処理システム
は、前記論理ディスク制御手段が、システム管理者より
与えられた性能を満たす論理ディスク装置を自動的に構
成するようにしたものである。
【0025】第14の発明に係わる入出力処理システム
は、入出力装置に対するデータ転送制御を行うデータ転
送ドライバを備え、このデータ転送ドライバは入出力命
令の入出力対象装置に論理ディスク装置が含まれている
場合は、システムメモリ上にデータ転送用の2面バッフ
ァを確保してデータ転送を行うようにしたものである。
【0026】第15の発明に係わる入出力処理システム
は、入出力装置の接続される入出力バスの制御をするバ
スアービタを設け、このバスアービタはデータ転送元及
びデータ転送先の装置のIDを登録するソースレジスタ
及びデステイニレジスタを備え、前記データ転送ドライ
バは、入出力命令の入出力対象装置に論理ディスク装置
が含まれていない場合は、前記バスアービタを駆動させ
ることによりシステムメモリを利用せずにデータ転送を
行うようにしたものである。
【0027】第16の発明に係わる入出力処理システム
は、前記データ転送ドライバが、入出力命令で指定され
た入力装置と出力装置のデータ転送速度に差がある場合
は、システムメモリ上にデータ転送用のバッファを確保
して前記バスアービタを駆動するようにしたものであ
る。
【0028】第17の発明に係わる入出力処理システム
は、前記論理ディスク装置を構成する複数のディスク装
置が各々異なる入出力バスに接続されて複数の論理ディ
スク装置を構成する入出力処理システムにおいて、前記
各入出力バスに接続された各々のディスク装置を制御す
るディスク制御装置に同じ入出力バスに接続されたディ
スク装置間での複写手段を設け、異なる論理ディスク装
置間でデータの複写を行うようにしたものである。
【0029】
【作用】第1の発明に係わる入出力処理システムにおい
ては、性能データ収集手段がシステム管理者が提供する
入出力装置の性能データもしくは性能計測手段が実際に
入出力データを動作させることにより得る性能データを
収集する。得られた性能データを基に論理ディスク構成
手段が論理ディスクを構成する各ディスク装置の1スト
ライプ分のデータ入出力に要する応答時間が均等になる
ように論理ディスクを構成するための論理ディスク構成
データを生成する。こうして得られた論理ディスク構成
データを用いて論理ディスク制御手段が論理ディスクを
制御する。
【0030】第2の発明に係わる入出力処理システムに
おいては、制限時間設定手段により入出力命令出指定さ
せた入出力装置の動作に要する時間を設定し、設定され
た制限時間が経過すると入出力命令を終了させる手段に
より入出力動作を未完了状態であっても終了させる。
【0031】第3の発明に係わる入出力処理システムに
おいては、入出力装置の制御をする制御装置に設けられ
たタイマに制限時間を設定し、このタイマから制限時間
が経過したことを通知されると同じく制御装置に設けら
れた入出力動作を終了させる手段により入出力動作をた
とえ実行中であっても終了させる。
【0032】第4の発明に係わる入出力処理システムに
おいては、複数のディスク装置で構成された論理ディス
ク装置に対する入出力命令の発行時に制限時間設定手段
により入出力動作に要する制限時間を設定し、設定され
た制限時間を経過すると入出力動作を終了させる手段に
より動作を終了させる。
【0033】第5の発明に係わる入出力処理システムに
おいては、第1の発明により構成された論理ディスク装
置に対する入出力命令の発行時に制限時間設定手段によ
り入出力動作に要する制限時間を設定し、設定された制
限時間を経過すると入出力動作を終了させる手段により
動作を終了させる。
【0034】第6の発明に係わる入出力処理システムに
おいては、入出力装置を実際に動作させて性能を計測す
る性能計測手段が、性能を測定する際に、入出力命令に
対する応答時間が最短、あるいは、最長となる条件を設
定して入出力命令を実行して応答時間(性能)を計測す
る。
【0035】第7の発明に係わる入出力処理システムに
おいては、入出力装置を実際に動作させて性能を計測す
る性能計測手段が、システムに初めてディスク装置が導
入される時には必ず必要な初期化に合わせて、初期化の
一部として性能を計測する。
【0036】第8の発明に係わる入出力処理システムに
おいては、性能収集手段が入出力装置の性能の計測に加
えて、入出力装置の接続されたバスの性能をシステム管
理者より与えられるバスの性能データもしくは性能計測
手段により実際に入出力装置を動作させることにより得
る性能データを収集し、論理ディスク構成手段が得られ
た性能データを基にして論理ディスク構成データを生成
する。
【0037】第9の発明に係わる入出力処理システムに
おいては、論理ディスク構成手段が論理ディスクを構成
する各ディスク装置に対する1回の入出力命令のデータ
転送量が各ディスク装置の1トラックの中に収まるよう
に論理ディスク構成データを生成する。
【0038】第10の発明に係わる入出力処理システム
においては、論理ディスク構成手段が、性能収集手段で
収集した性能データを参照した結果、ディスク装置の内
周部と外周部で性能に差があると判断した場合には、各
々のディスク装置の外内周部を交互に組み合わせた構成
の論理ディスク装置を構成する。
【0039】第11の発明に係わる入出力処理システム
においては、論理ディスク制御手段が、論理ディスク装
置をアクセスする場合に、論理ディスクを構成する各デ
ィスク装置のその時点のヘッド位置を認識して、入出力
命令としての実行時間が最少となるようにディスク装置
への起動順序を決定する。
【0040】第12の発明に係わる入出力処理システム
においては、論理ディスク制御手段が、論理ディスクを
構成する各ディスク装置に対する入出力命令が複数回の
入出力命令に分割しなくてはならないサイズで要求され
たときは、論理ディスク構成データを参照して入出力装
置に対する入出力命令数が前記分割数よりも少ない回数
で済むように制御する。
【0041】第13の発明に係わる入出力処理システム
においては、論理ディスク構成手段が、論理ディスク構
成データを自動的に生成する。
【0042】第14の発明に係わる入出力処理システム
においては、データ転送ドライバが、入出力命令の対象
とする入出力装置に論理ディスク装置が含まれている場
合には、システムメモリ上に2面バッファを確保して、
アプリケーションプログラムではデータ転送バッファを
意識せずに済むデータ転送を行う。
【0043】第15の発明に係わる入出力処理システム
においては、データ転送ドライバが、入出力命令の対象
とする入出力装置に論理ディスク装置が含まれていない
場合には、データ転送元及びデータ転送先の入出力装置
のIDをバスアービタの対応するレジスタに登録する。
以降、バスアービタは、入力側装置と出力側装置とにバ
スの使用権を与えてシステムメモリを使用せずにデータ
転送を行う。
【0044】第16の発明に係わる入出力処理システム
においては、データ転送ドライバが、入出力命令の対象
とする入出力装置の論理ディスク装置が含まれていなく
て、且つ入力側装置と出力側装置の転送速度に差がある
と判断すると、システムメモリ上にデータ転送用のバッ
ファを確保した上で、バスアービタを駆動する。
【0045】第17の発明に係わる入出力処理システム
においては、ディスク制御装置に設けられた複写手段に
より同一ディスク制御装置に接続されたディスク装置間
での複写を行う。
【0046】
【実施例】
実施例1.図1は本発明を適用したハードウェアシステ
ムの構成を示す図である。図において、101は本シス
テム全体の処理をするCPU、102はCPU101が
処理する命令及びデータが格納されるメモリ、103は
時間を計測するシステムタイマで、各々メモリバス10
4に接続されている。メモリバス104はブリッジ10
6を介してローカルバス(主たる入出力バス)107に
接続されている。このローカルバス107はバスアービ
タ105により制御される。また、ローカルバス107
には、DMAコントローラを備えたSCSIバスアダプ
タ109を介して同じ構成の4式のSCSIバス112
と高速デバイス108が接続されている。この高速デバ
イス108は、DMAインターフェースを有する装置
で、例えば、ソートプロセッサのようにディスク装置か
ら受け取った大量のデータに対して即時的なデータ処理
を行い、処理結果をディスク装置へ再び出力するもので
ある。さらに、各SCSIバス112には、ディスクコ
ントローラ110を介して同じ構成の4台のディスク装
置111が接続されている。本実施例では、ディスク装
置111は同一のものが使用されているが、もちろん、
異種のものが接続されても構わない。
【0047】図2は本発明のソフトウェア構成を示す図
である。図において、201はディスク装置111、ま
たは、論理ディスク装置から、高速デバイス108へ、
あるいは、逆に高速デバイス108からディスク装置1
11または論理ディスク装置へデータ転送を行う制御プ
ログラムである。この制御プログラム201は1ユーザ
アプリケーションプログラムとして動作する。202は
オペレーティングシステムであるが、本実施例において
は、オペレーティングシステム202はフレームワーク
として主に利用され、オペレーティングシステム自体の
機能はほとんど使用されない。制御プログラム201も
実質的にはデータ転送ドライバ203に制御を依頼す
る。つまり、「デバイスAのオフセット1MB目から3
0MBのデータをデバイスBに書き込め」という形で指
令を出すのみである。データ転送ドライバ203は、そ
の名の通り、疑似ドライバとしてカーネルに組み込まれ
る。204はソフトウェア制御によって、複数のディス
ク装置を使用して論理ディスク装置を構成して、オーバ
ーヘッドを排して、より小さい応答時間、つまり、より
高速な大量データ転送、あるいは、ある制限時間内での
確実な応答を得るためのソフトウェアである(このソフ
トウエアが論理ディスク制御手段の一部で、以後、この
ソフトウェアをボリュームマネージャと呼ぶ)。205
はディスク装置111のコントロールを行うディスクド
ライバ(論理ディスク制御手段の一部)、206は高速
デバイス108のコントロールを行うデバイスドライバ
(論理ディスク制御手段の一部)である。なお、バスア
ービタ105のデータ転送機能を利用する場合のコント
ロールは、データ転送ドライバ203が直接行う。な
お、論理ディスク制御手段は、論理ディスク装置を制御
するだけでなく、論理ディスク装置以外の入出力装置も
制御する。
【0048】ここで、本発明の中核となるボリュームマ
ネージャ204の機能について説明する。ボリュームマ
ネージャ204は、複数のディスク装置により論理ディ
スク装置を構成することにより、実際のディスク装置よ
りも大きな連続データ領域を持つ論理ディスク装置を提
供したり、論理ディスク装置への書き込みを複数のディ
スク装置に反映することによるディスクミラーリング
や、ストライプ構成された論理ディスク装置を構成し
て、入出力性能の高速化等を行う。つまり、ボリューム
マネージャ204は自身の管理下におかれたディスク装
置からシステム管理者の指示によって論理ディスク装置
を構成し、ユーザは論理ディスク装置に対して、アクセ
スを行い、ボリュームマネージャ204の管理するディ
スク装置に直接アクセスすることはない。もちろんシス
テム管理者は全てのディスク装置をボリュームマネージ
ャ204の管理下に置く必要はない。
【0049】ボリュームマネージャ204について、も
う少し説明をしておく。ボリュームマネージャ204
は、ディスク装置をシステムに導入するディスク導入手
段207、このディスク導入手段207がディスク導入
時にディスク装置から読み取ったディスクラベルとシス
テムのディスク属性ファイルから生成されるディスク管
理データ210、このディスク導入手段が起動するディ
スク装置の性能を測定する性能計測手段、この性能計測
手段で測定した性能データ209及び、この性能データ
209とディスク管理データ210とから論理ディスク
構成データを生成する論理ディスク構成手段213、論
理ディスク構成手段213で生成された論理ディスク構
成データを用いて論理ディスク装置へのアクセス時のイ
ンタフェースを司どる論理ディスク入出力インタフェー
スから構成される。
【0050】ここで、ディスクストライピングという技
術につき整理しておく。理解を容易にするために、2台
の全く均等なディスク装置が、十分に高速な入出力バス
に接続されているとすると、あるサイズの連続した大量
データは、例えば128セクタ分のサイズ(以後、この
データ量単位をチャンクと呼ぶ。)に区切られ、チャン
クは1番目から交互に、各々のディスク装置に順番に格
納される。このようにストライプ構成された論理ディス
ク装置の先頭に2つのチャンクを含む入出力サイズで入
出力要求を発行すると、入出力要求は2つのディスク装
置に振り分けられ処理されるので、見かけの入出力性能
は2倍になる。
【0051】さて、例えば、システム管理者が通常のデ
ィスク装置の2倍の性能のディスク装置が必要となり、
通常のディスク装置2台とボリュームマネージャ204
を利用してこれを実現する場合で説明する。システム管
理者は、ボリュームマネージャ204をシステムに導入
する。ボリュームマネージャ204は、ディスク導入手
段207に対して、新規2台のディスク装置の導入指示
を与え、ボリュームマネージャ204の管理下に登録す
る。登録要求を受けるとボリュームマネージャ204は
ディスク装置111の初期化を行い、論理ディスク装置
とするための管理メタデータ(ディスク管理データ21
0)を書き込む。この状態では、まだ、論理ディスク装
置としての構成は、なされていない。システム管理者は
さらに、ボリュームマネージャ204に2台でストライ
プ構成の論理ディスク装置を構成するように、論理ディ
スク構成手段213に依頼する。論理ディスク構成手段
213は論理ディスク構成データ210を生成し、これ
によって初めてユーザは論理ディスク装置を利用できる
ようになる。ユーザが論理ディスク装置にアクセスする
場合は、論理ディスク入出力インターフェース212に
オペレーティングシステム202を経由してアクセスす
る。入出力要求を受けるとボリュームマネージャ204
は論理ディスク装置の論理ディスク構成データを参照し
て、論理ディスク装置を構成する実際のディスク装置1
11に対し、入出力命令を出す。
【0052】以下、順次本入出力処理システムの動作に
つき説明していく。最初に、システムへのディスク装置
を導入する時に行われる、ディスク装置単体の性能の計
測、バス能力の計測等について説明する。先ず、概要に
ついて説明する。これは、ディスク装置等の性能を性能
計測手段208(性能データ収集手段の一部)によっ
て、ディスク装置の入出力サイズによる応答性能、ディ
スクアドレスによる応答性能、ディスクキャッシュ効果
等の推定を行い、ストライプを構成する各ディスク装置
の性能特性を知るものである。具体的には、上記パラメ
ータを用いてディスク装置に対して、入出力動作を実行
させてその応答時間(性能データ209の一部)を測定
することによって行い、その結果を記録する。そして、
その測定した各ディスク装置の性能データ209を基
に、ディスクストライプを構成するディスク装置の1ス
トライプ分のデータ入出力に要する応答時間が各々均等
になるように各ディスク装置に配置すべきデータ量、つ
まり、ストライプ幅を決定し、それに沿った論理ディス
ク構成データ211を論理ディスク構成手段213によ
り、即ちストライピング構成の論理ディスク装置を構成
する。こうして構成された論理ディスク装置に対しての
入出力要求は、ストライプを構成する各々のディスク装
置に振り分けられ、各々の入出力装置は均等なある時間
で応答するので、大まかには、単純にディスク装置に対
して入出力する場合に比較して、見かけの応答時間はス
トライプを構成するディスク装置台数分の1となる。
【0053】ボリュームマネージャ204は、その後に
システム管理者によって要求される論理ディスク装置構
成要求時にこの計測された性能データ209を基に、要
求された論理ディスク装置性能を確保できるかどうかを
判断する。ディスク装置の導入はディスク装置接続の後
システムを立ち上げ、ディスク接続確認後、フォーマッ
ト(初期化)を行うコマンド投入によって行われるが、
書き込みデータとしてフォーマット用データを用いるこ
とにより、ディスク性能測定とディスク装置の初期化を
兼ねる。これは、単なるフォーマットではなくて、ボリ
ュームマネージャ204の管理下に置くための、メタデ
ータ(ディスク管理データ210)が書き込まれる。図
3に示すのはディスク装置111に対して行った性能測
定の結果である。これは前記メタデータとして該ディス
ク装置上に格納されたものをそのままきり出したスナッ
プショットである。
【0054】図3において、501はシステムの中で該
ディスク装置111を特定する名前、502は、このデ
ィスク装置111の型式を特定するインデックス情報で
ある。ボリュームマネージャ204はディスク装置11
1の諸元についてのカタログデータを持ったデータベー
スをシステム管理者から与えられて、あるいは、ディス
ク装置111のラベル情報を読み出すことにより、この
情報を得る。これにより、ディスク回転数、各シリンダ
における、1トラックあたりのセクタ数などを知ること
ができる。503はディスク装置111の容量、504
はシーク、回転待ちなしの場合のアクセスタイム、50
5は最も遠い位置からシークし、1回転待った場合のア
クセスタイムで、マイクロ秒で記されている。この計測
は、基準位置へコマンド発行した後、次セクタ、あるい
は、最も遠いセクタへのアクセス命令を発行し、基準位
置へのアクセス完了から、計測位置へのアクセス完了ま
での経過時間を測定することによって行う。506から
507までの10個のデータは0シリンダから、100
MB毎の位置で転送速度を計測したものがKB/Sで記
されている。これらのディスク性能データ209は後に
説明する論理ディスク構成の際に参照/利用される。な
お、本実施例で使用したディスク装置は読み出し性能と
書き込み性能に差がないものとする。
【0055】一般に、システムにディスク装置を新規に
導入する時には、不良セクタの発見や、ラベル情報の書
き込みのために、フォーマットと呼ばれる処理を行う
が、この実施例ではこのフォーマット時に、上記のよう
に性能計測手段208によりディスク装置の性能データ
209を収集する作業を兼ねて行うことができるにして
いるので、性能計測に要するコストを低減でき、システ
ム管理者の負担を低減できる。
【0056】次に、入出力バスのスループット性能の測
定について説明する。この測定は、ディスク装置の入出
力性能や同期動作を妨げる要因となり得る入出力バスの
データ転送性能(性能データ209の一部)や同一バス
上での競合を考慮して、論理ディスクの構成を行うため
のものである。システム管理者により与えられた、入出
力バスのデータ転送能力及び構成データから、もしく
は、複数の入出力バスに各々接続された全てのディスク
装置を含めた入出力装置を組み合わせて駆動し、負荷を
かけ、各々の入出力装置の入出力動作の応答時間を測定
することにより、各々の入出力バス、さらにそれらが接
続された上位の入出力バスのデータ転送能力に余裕があ
るか、あるいは、転送能力の限界値はどれほどかを知
り、ストライプ構成の論理ディスク装置への入出力時
に、並列動作するディスク装置のデータ転送により共有
する入出力バスのデータ転送能力の限界となることを回
避するように、論理ディスク装置をストライプ構成する
ディスク装置を選択して構成することにより、論理ディ
スク装置への入出力時に入出力バスネックとなることに
よる性能劣化を回避するためのものである。
【0057】従って、この測定は、単なるスループット
性能だけでなく、入出力バス競合の発生条件を測定対象
バスに接続された入出力装置に対して、起動する順番に
よって規定して、実際にバス競合を発生させ、各々の入
出力装置の入出力レイテンシを測定するものである。こ
れにより、バスアービトレーションポリシー等を知り、
ストライプを構成するディスク装置の入出力起動時に不
要なバス競合を避けるための、起動遅延を挿入するとい
った適用が可能であるが、本実施例では、ディスク装置
が接続されるSCSIバス112、ローカルバス107
のスループット性能を計測して、ストライプ構成される
論理ディスク装置に対する入出力時に、各入出力バスの
スループット性能の限界を超えないようにストライプを
構成する。SCSIバス112については、接続された
入出力装置、本実施例では、たまたま、同一のディスク
装置4台が全てのSCSIバス112に同様に接続され
ているが、該バスに接続された、入出力装置を全て起動
して一定時間に得た入出力データの総量を計算すること
により、スループット性能の限界値を知る。これを、デ
ィスク装置一つを動作させた場合のスループット性能と
比較して、何台のディスク装置まで、バス転送速度の制
約を受けずに動作可能かを知る。本実施例の場合ディス
ク装置の最大転送速度が2MB/sで、SCSIバス1
12の最大転送速度は8MB/sであるのでSCSIバ
ス112に接続された4台のディスク装置を同時に動作
させても、単純にはバス転送速度の制約を受けないこと
がわかる。
【0058】同様に、ローカルバス107の転送速度を
全てのディスク装置、及び、高速デバイス108を動作
させることにより計測したところ、40MB/sで、全
ての入出力デバイスの転送速度の合計に相当し、結局、
本実施例の入出力バスと入出力装置の構成においては、
全ての入出力装置に対してどのように入出力動作を実行
しても入出力バスの転送速度による制約を受けないこと
がわかる。
【0059】ところが、本実施例とは異なり、例えば、
SCSIバスの転送速度が本実施例のSCSIバスの転
送速度より遅く、そのSCSIバスの転送速度では2台
分のディスク装置しか、ディスク装置の最大転送速度で
は動作できないのであれば、ストライプ構成で同一の論
理ディスク装置を構成するディスク装置を3台以上、同
一SCSIバス上に接続されたディスク装置では構成し
ないようにすることになる。
【0060】次に、論理ディスク装置の構成方法につい
て説明する。図4は、ストライプ構成の論理ディスク装
置を構成する論理ディスク構成手段213の動作を説明
するフローチャートである。以下、この図を参照しなが
ら説明する。ステップ601において、ユーザ、つま
り、入出力装置を管理するシステム管理者は、必要とす
るストライプ構成の論理ディスク装置の性能、例えば、
8MB/Sと、アプリケーションプログラムが論理ディ
スク装置のアクセスの際に発行する入出力サイズ、例え
ば、512KB、及び、必要とする論理ディスク装置の
サイズ、例えば、1GBを入力する。これにより、本入
出力処理システムは、指定された仕様を満たす論理ディ
スク装置の構成を試みる。ここで、入出力サイズを指定
するのは、ストライプ数、及び、ストライプ幅が入出力
サイズによって制限されるためである。つまり、入出力
サイズは、上述のチャンクサイズの倍数でないと、ディ
スクストライピングによる性能向上が得られないためで
ある。
【0061】次に、ステップ602において、性能計測
手段208によって得たディスク装置の性能データ20
9から、指定された論理ディスク装置の性能を達成する
のに何台のディスク装置の並列動作が必要か、つまり、
ストライプのWAY数を決定する。WAY数が決定した
ら、ステップ603で本入出力処理システムの管理する
ディスク装置上の空き領域を探し、必要なWAY数分の
異なるディスク装置上に、ストライプを構成可能かどう
か調べる。ただし、指定された性能基準を満たすのに、
ディスクストライピングの必要のない場合もあるので、
この時は、単にディスク装置上の空き領域を探すことに
なる。その後ステップ604で、与えられた入出力サイ
ズによって、この出入力サイズをチャンクサイズとする
ストライプ構成の論理ディスク装置を構成した場合に、
性能上の効果があるか、あるいは、要求された性能水準
はディスクストライピングを必要としないのかを判断
し、ストライプ幅の制約により効果がない、あるいは、
ディスクストライピングの必要のない場合は、ディスク
領域を確保の上期待できる論理ディスク装置性能を、ス
テップ610でユーザに報告して終了する。
【0062】2WAY以上のディスクストライピングが
有効な場合はさらに、ステップ605で同種のディスク
装置でストライプ構成が可能か否かを判断し、構成する
ことが可能な場合には、ステップ606でこのディスク
装置が内外周部で性能差があるか否かを判断し、内外周
部で性能差がある場合には、ステップ607でさらにス
トライプを構成するディスク装置が同一のオフセット位
置から使用可能か否かを判断する。そして、同一のオフ
セット位置から使用可能であれば、ステップ608でデ
ィスク装置を交互に逆方向にストライプ構成するように
する。また、ステップ605またはステップ606また
はステップ607で否と判断したときは、ステップ60
8でストライプ幅で個々のディスク装置の応答速度を平
均化するようストライプ構成をする。
【0063】ステップ609における動作を以下に補足
して説明する。ディスクストライピングは次のように構
成される。まず、チャンクサイズを決定するが、指定さ
れた入出力サイズが、論理ディスク装置の性能を達成す
るのに必要なストライプ幅の総計より大きくない限り、
入出力サイズがそのままチャンクサイズとする。一方、
入出力サイズが大きすぎる場合は、必要に応じて、入出
力サイズの自然数分の1をチャンクサイズとする。い
ま、入出力サイズとして512KBが指定されていると
する。この場合、例えば、ディスク装置の性能データ2
09から、平均32KBストライプ幅の4WAYで性能
達成が可能と考えるとチャンクサイズは、512KBの
1/4の128KBとする。すでに取得しているディス
ク装置の性能データ209から、ストライプを構成する
ディスク装置の当該位置のデータ転送速度を得て、そ
の、逆数の比で、当該チャンクを分割して、各々のスト
ライプ幅とする。これにより、該論理ディスク装置に対
する入出力動作の実行時には、各々のストライプを構成
するディスク装置の応答時間は平均化される。
【0064】次に、ステップ608における動作を補足
して説明する。ステップ608におけるディスクストラ
イピングは次のように構成される。この場合も最初にチ
ャンクサイズ、及び、各ディスク装置のストライプ幅が
決定されるが、偶数個用意されるストライプ構成された
ディスク装置の同一の使用領域の先頭からと、最後尾か
ら交互にストライプが構成され、そのストライプ幅は1
トラック分とする。ディスク装置の性能情報の502に
より示される当該位置のトラックの含むセクタ数より、
該先頭位置と最後尾位置の1トラックのサイズを知り、
(先頭トラックのサイズ+最後尾トラックのサイズ)×
ストライプWAY数/2がチャンクサイズとなる。従っ
て、ストライプ幅は各々の入出力時点でトラックあたり
のサイズになる。
【0065】以上のように、論理ディスク装置を構成す
るための論理ディスク構成データ211を生成登録した
ならば、推奨する入出力サイズ、つまり、内部で決定さ
れたチャンクサイズと期待できる、この論理ディスク装
置の性能をステップ610で報告して終了する。あらか
じめ与えられた性能水準と入出力サイズにより、ディス
クストライピングの必要がない場合、あるいは、効果が
ない場合は、推奨する入出力サイズとして、単体ディス
ク装置に対して、与えられた性能水準を満たすのに必要
な入出力サイズを報告し、効果がない場合は、期待でき
る性能として単体ディスクの性能を報告する。
【0066】図5、図6は以上のようにして構成された
論理ディスク装置、及び、論理ディスク装置を構成する
各ストライプ構成されたディスク装置の管理情報の一部
である。これら管理情報は本入出力処理システムの管理
する全てのディスク装置111上にメタデータとしてそ
のコピーが格納され、必要に応じて、本入出力処理シス
テムの管理するメモリ102上に読み出される。便宜の
ため図には一般的な表形式で書かれているが、実際のデ
ィスク装置、メモリ上には、プログラムで管理されたテ
ンプレートに従い格納される。
【0067】以下、図5、図6に示す、ステップ608
の実行により構成された論理ディスク装置及びストライ
プ構成されたディスク装置の管理情報について説明す
る。図5において、701は該論理ディスク装置のデバ
イスノード名である。アプリケーションプログラムはこ
のノードをディスク装置としてアクセスする。702は
該論理ディスクのサイズ、つまり、容量を示している。
703は、該論理ディス装置の構成情報として4WAY
のストライプ構成であることを示し、704は、ストラ
イプを構成するディスク装置とそのディスク装置の領域
を示していて、各々、c0t0d0−0、c1t0d0
−0、c2t0d0−0、c3t0d0−0という名称
で特定されている。理解を容易にするために、c0t0
d0がディスク装置を特定し、−0が領域番号を特定す
るようにしているが、これは論理的なものであるので、
ハードウェア上のアドレスを特定するものではない。ま
た、図6には、704に示すディスク装置のの領域情
報、つまり、リージョン情報へのインデックスc0t0
d0−0によって特定されるリージョン情報が示されて
いる。801は該リージョン名、802は該リージョン
が配置される物理ディスク装置名、803はリージョン
の開始オフセット、804は該リージョンのサイズ、8
05は該リージョンにおけるデータの配置方向、805
には該リージョンにおけるストライプ幅を示している。
【0068】次に、図5、図6に示される管理情報(論
理ディスク構成データ211)を持つ論理ディスク装置
に対して入出力動作を要求された時の動作につき説明す
る。アプリケーションプログラム(制御プログラム20
1もアプリケーションプログラムの1つである)から本
論理ディスク装置に対してアクセスする時は、入出力サ
イズとしてチャンクサイズ、及び、論理ディスク装置に
対するオフセット値が与えられる。言い替えると、アプ
リケーションプログラムはあらかじめ、ボリュームマネ
ージャ204に対してチャンクサイズを問い合わせるこ
とができる。ボリュームマネージャ204は問い合わせ
要求を受けると指定された論理ディスク装置のチャンク
サイズ等の属性を報告する。本入出力処理システムは、
入出力要求を受けとると、論理ディスク装置の管理デー
タ211を参照して、この論理ディスク装置は4WAY
のストライプ構成で、704で示されるリージョンから
構成されていることを知る。また、リージョン情報から
この論理ディスク装置がストライプ構成されていること
を知ると、入力された論理ディスク装置に対するオフセ
ット値から、このオフセットはストライプ何チャンク分
に当たるかを計算し、ストライプを構成する各々のディ
スク装置に対し、配置方向がリバースである、つまり、
逆方向のリージョンについては、該リージョンの最後尾
からオフセットチャンク数分のトラックサイズの累計を
オフセットとし、該トラックのトラックサイズを入出力
サイズとして、該ディスク装置に入出力命令を発行す
る。順方向のリージョンに対してはリージョンの先頭か
ら、同様に、オフセットを計算し、該トラックのトラッ
クサイズを入出力サイズとして入出力命令を発行する。
論理ディスク装置を構成する全てのリージョンについ
て、ディスクドライバ205の保持する該ディスク装置
のヘッド位置から、最もヘッド位置の遠いものから入出
力を起動し、その全ての入出力の完了を待つことによっ
て、この論理ディスク装置への入出力動作は終了する。
ただし、リージョン内の各々の位置のトラックサイズは
すでに説明したように、本入出力処理システムがディス
ク装置の種類毎に備えるデータベースによって得る。
【0069】以上のように、この実施例によれば、シス
テムに接続されているディスク装置の性能特性を性能収
集手段がシステム管理者の与えるデータもしくは性能計
測手段により収集し、収集したデータを基に、論理ディ
スク構成手段により論理ディスクを構成し、論理ディス
ク制御手段により論理ディスクを動作させるので、論理
ディスクを構成する各ディスクの1ストライプ分のデー
タ入出力に要する応答時間が均等となり、論理ディスク
装置の性能向上を図ることができる。
【0070】また、システムにディスク装置を新規に導
入する時には、不良セクタの発見や、ラベル情報の書き
込みのために、必ず実行されるフォーマット処理を兼ね
て、性能計測手段208によりディスク装置の性能デー
タ209を収集する作業を行うことができるにしている
ので、性能データ209の収集に要するコストを低減す
ることができると共にシステム管理者の負担を低減でき
る。
【0071】また、実際にシステムに装着されているデ
ィスク装置各々の、最大アクセス時間、最小アクセス時
間、及び、転送速度を、実際に個々の装置に対して入出
力動作を実行し、その応答時間を測定して、測定したデ
ータを一覧表にしたテーブルを用いて論理ディスクを構
成するので最適な論理ディスク装置を構成できる。
【0072】さらに、ディスク装置の入出力性能や同期
動作を妨げる要因となり得る入出力バスのデータ転送性
能や同一バス上での競合を考慮して、論理ディスク装置
を構成するために、システム管理者により与えられた入
出力バスのデータ転送能力及び構成データを用いて、も
しくは、性能計測手段により複数の入出力バスに接続さ
れた全てのディスク装置を含めた入出力装置を組み合わ
せて動作させることにより、負荷をかけ、各々の入出力
装置の入出力動作における応答時間を測定することによ
り、各々の入出力バス、さらにそれらが接続された上位
の入出力バスのデータ転送能力に余裕があるか、あるい
は、転送能力の限界値はどれほどかを知り、ストライプ
構成の論理ディスク装置への入出力時に、並列動作する
ディスク装置のデータ転送により共有する入出力バスの
データ転送能力の限界となることを回避するように、論
理ディスク装置をストライプ構成するディスク装置を選
択して構成するようにしたので、構成された論理ディス
ク装置に対する入出力動作時に入出力バスネックとなる
ことによる性能劣化を回避することができる。
【0073】また、論理ディスク装置のストライプを構
成する1チャンク分のデータをディスク装置上の1トラ
ックに収まるように配置することにより、ヘッドシーク
のコスト(位置決めに要する時間)をシーケンシャルア
クセスにおいて、その方向によらず平均化する手段を設
けるようにしたので、外周から内周方向へシークして
も、内周から外周方向にシークしても、読みだし時のデ
ィスクキャッシュ効果を除き差がなくなるので、より柔
軟にディスクストライプを構成できる。
【0074】さらに、内外周部で性能差のある複数のデ
ィスク装置でストライプ構成する場合には、内外周部が
交互に組み合わされるようにストライプを構成すること
により、ストライプ構成された論理ディスク装置の読み
だし/書き込み位置に関わらず、均一な入出力応答時間
を得ることができる。
【0075】さらに、ストライプ構成された論理ディス
ク装置に対して入出力要求があった場合に、そのアクセ
ス要求位置へのディスクヘッドの現位置からの距離と各
ストライプを構成するディスク装置の性能的に有利な入
出力サイズを考慮して、その論理ディスク装置としての
入出力動作が最も短時間に終了するように、全ての必要
とされるディスク装置への入出力命令の発行順序を制御
するようにしたので、論理ディスク装置としての入出力
動作の効率が向上する。
【0076】さらに、論理ディスク装置を構成するWA
Y数、ストライプ幅等の要素を自動的に生成するように
したので、システム管理者の負荷を軽減し、容易に最適
な論理ディスクを構成できる。
【0077】実施例2.本実施例は、実施例1で説明し
たようにして構成された論理ディスク装置に対して、複
数のチャンクを含む入出力サイズで入出力要求があった
場合、同一のディスク装置に対する複数の入出力動作を
取りまとめて行うものである。この実施例は、ストライ
プ構成された論理ディスク装置に対して複数のチャンク
を含む入出力サイズで入出力要求があった時、同一ディ
スク装置に対して発行される複数回の入出力命令をを1
回にまとめた方が、その論理ディスク装置への入出力動
作がより速く終了するならば、全体性能として、論理デ
ィスク装置の入出力性能を向上させることができること
を前提にするものである。しかしながら、論理ディスク
装置を構成するディスク装置、及び、その接続された入
出力バスの優先度決定方式、あるいは、ディスク装置を
ドライブするデバイスドライバの特性によって、必ずし
も、ディスク装置への入出力命令をとりまとめて発行す
ることが、全体性能の向上につながらないことがあり、
このような場合においては、必要に応じて積極的にディ
スク装置間の動作を同期する、同期ポイントを挿入する
ことにより、論理ディスク装置に対する入出力時間の向
上を図る。
【0078】本実施例においては、複数の入出力命令を
纏めて1つの入出力命令とするので、所謂データチェー
ニング機能を必要とするが、ディスクドライバ205、
及び、SCSIバスアダプタ109に、メモリとのデー
タ転送時のスキャッタリング/ギャザリング機能を持た
せ、DMAリストにより、このデータチェーニングを実
現している。
【0079】実施例1で説明した論理ディスク装置で
は、シーク方向が逆になるデータ配置方向のリージョン
を含んでいるので、必ずしも入出力命令ををまとめるこ
とが性能的に有利とならないため、この入出力命令の取
りまとめは行わない。もし、実施例1の論理ディスク装
置が図4で説明したステップ609の実行により構成さ
れた論理ディスク装置であれば、本実施例において、入
出力バスは転送能力に十分余裕を持つので、有利である
と判断され、同一ディスク装置上の複数の入出力命令の
取りまとめが行われる。
【0080】実施例3. 本実施例は、本発明の入出力
処理システムにおける高速処理を実現するためのさらに
他の実施例である。図7はその実現手段をディスクコン
トローラ110上に設けた構成を示すブロック図であ
る。図において、301はSCSI制御部、304はデ
ィスク制御部、305はタイマ部である。本実施例にお
いては、ディスクコントローラ110上にタイマ部30
5を設けるようにしたが、メモリバス104に接続され
たシステムタイマ103を用いることにより実現するこ
とも可能である。
【0081】まず、本実施例におけるディスクドライバ
205とディスクコントローラ110の動作について説
明する。ディスクコントローラ110はSCSIベンダ
ユニークコマンド(制限時間設定手段の一部)によりデ
ィスクドライバ205から、SCSIバスアダプタ10
9、SCSIインターフェース301、SCSI制御部
302を経由して、タイマ部305(制限時間設定手段
の一部)にセットするタイムアウト値を受け取ることが
できる。該コマンドによってタイマ中のカウンタレジス
タ(図示せず)にタイムアウト値がセットされた後、リ
ード、または、ライトコマンドをイニシエータ(コマン
ドの発行元)から受け取ることを契機にカウントダウン
を始める。カウンタレジスタが0になるとタイマ部10
5はカウントダウンを停止し、SCSI制御部302に
対してカウント値が0になったことを報告する。この報
告を受けるとSCSI制御部302はコントローラ内部
バスのアボートラインをアサートする。また、ディスク
制御部304はいかなるフェーズであっても、SCSI
制御部302から参照可能な内部レジスタ(図示せず)
に、中断時フェーズ、転送済みデータ量などを記録して
動作を中止する。SCSI制御部302は、SCSIバ
ス112上でディスコネクトされていればイニシエータ
とリコネクトの上ステータスフェーズに遷移して、転送
済みデータ量(ステータス情報)をメッセージとして送
出する。なお、全てのデータ転送完了時になおタイマ動
作中であれば、SCSI制御部302がカウンタレジス
タを0にリセットする。
【0082】次に、本実施例の詳細な動作を説明する。
ディスクドライバ205はタイムアウト値を設定時に次
のように動作する。ディスクドライバ205の使用者プ
ログラム、即ち本実施例におけるデータ転送ドライバ2
03、あるいは、ボリュームマネージャ204は、ディ
スクドライバ205にデータ転送時のタイムアウト動作
を要求するときには、ディスクドライバ205のデータ
転送サブルーチンコール時に、ディスクドライバ205
が自由に利用できる、システムに共通なブロックデバイ
スコントロールテーブル(ディスク装置のようにブロッ
ク単位で転送を行うデバイスを制御するためのテーブ
ル)のフィールドを使用してタイムアウト値をセットす
る。タイムアウト値がセットされるとディスクドライバ
205はSCSIバスアダプタ109に対し、リード/
ライトコマンドの発行を要求する前に、該タイムアウト
値を渡し、上述のベンダユニークコマンドの発行を要求
する。続いて、リード/ライトコマンドの発行を要求す
るとディスクドライバ205は、SCSIバスアダプタ
109から処理の終了を割り込みによって通知される迄
スリープ状態となる。処理終了の通知を受けると、ディ
スクドライバ205は、上述のコントロールテーブル中
のタイムアウト値を0にリセットし、転送済みのデータ
転送量をコントロールテーブル中に用意されている、デ
ータ転送量(ステータス情報)として報告する。
【0083】次に、本実施例をストライプ構成された論
理ディスク装置に対して適用した具体的な例について説
明する。ところで、本実施例における入出力処理システ
ムは制御プログラム201によりディスク装置をストラ
イプ構成として高速化し、高速デバイス108へのデー
タ供給、また、高速デバイス108からの出力を論理デ
ィスクディスクへの書き込みを行うが、高速デバイス1
08の処理能力を有効に活用するために、特にデータ転
送開始時に当たっては、実際に送られるデータ量より
も、より、処理開始までのレイテンシを小さくすること
に主眼をおくものである。また、もともと大量データを
扱うので、多少入出力オペレーションの回数が増えても
全体性能に影響しない。
【0084】制御プログラム201がデータ転送ドライ
バ203を通して、必要と判断すると、ストライプ構成
の論理ディスク装置に対して、タイムアウト値と入出力
サイズを与える。ボリュームマネージャ204はタイム
アウト値を上述のブロックデバイスコントロールテーブ
ルを通して受け取ると、ストライプを構成するディスク
装置の入出力起動時に各々のディスク装置について用意
されるコントロールテーブルのタイムアウトフィールド
にデータ転送ドライバ203から受け取ったタイムアウ
ト値を設定する。図8は4台のディスク装置でストライ
プ構成された論理ディスク装置に対し、タイムアウト値
を設定して読み出しを実行したときに、タイムアウト発
生後、ボリュームマネージャ204が4台のディスク装
置に対して同期を取り、各々ディスク装置からデータ転
送量を受け取った状態を模式的に表したものである。図
8において、901は第1のディスク装置、902,9
03,904はそれぞれ、第2、第3、第4のディスク
装置を表し、上下方向は各ディスクのデータ転送の進捗
を表す。横方向の点線は該論理ディスクの1チャンク分
のデータ量を表す。従って、この例においては、ストラ
イプ構成された論理ディスク装置に対して4チャンク分
が入出力サイズとして渡されたことになる。本発明によ
る入出力処理システムにおいては、実施例2で、すでに
説明したように、可能で、かつ、有効ならば複数の同一
ディスク装置への入出力命令は取りまとめられる。この
図8において、各ディスク装置には4チャンク分の入出
力命令が取りまとめられて渡され、この、入出力命令に
対してタイムアウト値が渡される。既に、説明したよう
に、ディスクドライバ205、及び、SCSIバスアダ
プタ109には、データチェーニング機能を有している
ので転送先または転送元のメモリアドレスが連続してい
なくても問題はない(図8において平面をメモリ空間と
見立てると横方向が連続である)。
【0085】タイムアウト発生後、ボリュームマネージ
ャ204が4台のディスク装置901〜903の同期を
とった後の図8に示される各ディスク装置の転送状況
は、904に示す第4のディスク装置を除いて未完であ
る。しかし、いずれのディスク装置も905で示す第3
チャンクまでについてはデータ転送を完了しているので
ボリュームマネージャ204は3チャンク分のデータ転
送が完了したことを、データ転送ドライバ203に報告
する。本実施例においては、論理ディスク装置に対し
て、余りに短いタイムアウト設定をするとデータ転送量
が0となる可能性があることがわかる。従って利用者と
しては、入出力サイズとして、入出力要求を出す論理デ
ィスク装置の複数チャンク分を与え、それに見合ったタ
イムアウト値を与えることが有効である。本実施例で
は、制限時間設定による入出力動作の終了を実施してい
るが、図8に示すようにほぼ全てのディスク装置のデー
タ転送は同期している。
【0086】複数チャンク分の入出力サイズでリード/
ライトを行った時にストライプを構成する同一のディス
ク装置に対する入出力の取りまとめが、その、有効性か
ら行われない場合には、1チャンク分ずつ、ボリューム
マネージャ204はディスク装置間の同期をとる。全て
のディスク装置への入出力命令発行時には上位指定のタ
イムアウト値を設定するが、第2チャンク以降の入出力
命令発行時には、第1チャンクの入出力命令発行から同
期取得時点までの経過時間をシステムタイマにより計測
し、これを該タイムアウト値から減じて、第2チャンク
の入出力命令発行時にタイムアウト値として設定する。
以降、該タイムアウト値が0になるまでこれを繰り返
す。なお、本実施例においては、SCSIのベンダユニ
ークコマンドを用いて時間設定をする例を示したが、必
ずしも、ベンダユニークコマンドを使う必要はなく、ま
たSCSIインタフェースを用いる必要もない。
【0087】以上のように、入出力動作の制限時間を設
定する制限時間設定手段と設定した制限時間が経過する
と入出力動作を終了させる手段を設け、指定されたデー
タ量の入出力動作の完了前に、指定された制限時間に達
した時は、入出力動作を終了させ、その時点での転送済
みデータ量を報告するようにしたので、アプリケーショ
ンプログラムの入出力同期待ちによる処理遅延を回避す
ることができる。
【0088】また、入出力制御装置にタイマ機能、入出
力動作を終了させる手段、及び、入出力中断時のステー
タス報告手段(転送済みデータ量の報告)を設けるよう
にしたので、機能の実現が容易にできる。
【0089】また、複数のディスク装置で構成される論
理ディスク装置において、この複数のディスク装置を並
列動作させる場合に、ディスク装置間の入出力完了の同
期を入出力動作の制限時間を設定することによりとるよ
うにすることにより、ユーザの希望した時間までに、こ
の論理ディスク装置に対する入出力処理を完了すること
ができる。つまり、論理ディスク装置を構成するディス
ク装置各々に対して、上位から与えられた同じ制限時間
を設定して入出力命令を発行し、その完了を待ち、全て
のディスク装置から応答があった時点で、各々の、入出
力動作完了ステータスをまとめて上位に報告することに
より、各々のディスク装置の入出力の完了状態はまちま
ちである可能性があるが、ユーザの希望した時間内に論
理ディスク装置に対する入出力動作を終了させることが
できる。
【0090】さらに、ストライプ構成された論理ディス
ク装置に、複数のディスク装置間の同期方法として、こ
の実施例で説明した同期方法を適用することにより、設
定する制限時間により論理ディスク装置に対する入出力
動作の応答時間は保証され、かつ、入出力動作の完了ス
テータスのばらつきの少ない、つまり、応答時間に見合
ったデータ量設定であれば、全てのディスク装置におけ
る入出力動作が完了する可能性が高くなる。
【0091】実施例4. 本実施例は、本発明の入出力
処理システムにおける高速処理を実現するためのさらに
他の実施例である。本実施例では、上記実施例1〜実施
例3で説明した入出力システムにおいて、入出力装置間
のデータ転送を高速に行うための機構について説明す
る。
【0092】従来、入出力装置間でデータ転送する時に
は、データ転送制御を行うユーザープログラムのデータ
空間に転送元からデータを読み込み、読み込んだデータ
を転送先の装置に書き込むといった操作が行われてい
た。ユーザープログラムの有するメモリ空間は、システ
ムのメモリ管理下におかれ、データ転送の際システムの
メモリ管理にとって負担となり、場合によってユーザプ
ログラムのデータ空間にはデバイスからDMA動作でき
ないこともあり、これがデータ転送速度を結果的に低下
させていた。これをシステムの物理メモリ上に、システ
ムの関知しないデータ転送用のバッファメモリ領域を確
保し、カーネル空間で実行される制御プロセスからコン
トロールして、データ転送することにより、メモリ管理
へ負担を掛けることによる性能低下を防ぐことができ
る。
【0093】図9は、この高速転送を、論理ディスクを
含まないデバイス間での実現するためのバスアービタ1
05の例で、図において401、402は各々データ転
送の転送元、転送先となる高速デバイス108のローカ
ルバス107上のIDが登録される、システム上のメモ
リ空間にマップされたバスアービタのソースレジスタ、
デステイニレジスタ、403はローカルバスを制御する
論理回路である。図10は、論理ディスクを含まない入
出力装置間の高速転送を行うデータ転送ドライバ203
の処理の流れを示すフローチャート図である。図11
は、論理ディスクを含む入出力装置間の高速転送を行う
バスアービタ105の処理の流れを示すフローチャート
図である。
【0094】制御プログラム201により、データ転送
ドライバ203に対し、転送元デバイス、その種別、及
び、データオフセット、転送先デバイス、その種別、及
び、データオフセット、そして、転送データ量を指定さ
れるとデータ転送ドライバ203は図10のフローチャ
ート図に示す論理に従って動作する。以後、図を参照し
ながら説明する。ステップ1001でデータ転送ドライ
バ203は、制御プログラム201より渡されたデバイ
ス種別(通常デバイス、高速デバイス、論理ディスク装
置のいずれか)から、転送元、あるいは、転送先のデバ
イスに論理ディスク装置を含んでいるか否かを判断す
る。論理ディスク装置を含む場合は、本実施例の場合、
ボリュームマネージャ、及び、ディスクドライバに後述
するバスアービタ105にインターフェースを設けてい
ないので、バスアービタ105によるデータ転送機能は
利用せず、データ転送ドライバ203が管理するシステ
ムのメモリ102とデバイスドライバ(ディスクドライ
バ205、高速デバイスドライバ206)を利用して、
ステップ1004でデバイスを制御する。
【0095】ステップ1004に示す処理につき説明す
る。ところで、データ転送ドライバ203は、データ転
送処理のためのスタテイックなメモリ領域をシステム上
に確保している。このメモリはシステム初期化時に例え
ば2MB物理アドレス上連続に、ページング対象外ペー
ジとして確保されていて、カーネル空間として仮想空間
にマップされている。これを2面バッファとして運用し
てデータ転送を行う。ストライプ構成された論理ディス
ク装置のチャンクサイズが128KBであれば8チャン
ク分の入出力サイズの指定が可能である。この処理の特
徴的なところは制御プログラム201より発せられた、
1本のコンテキストで非同期のダブルバッファ処理を行
うことである。論理ディスク装置はボリュームマネージ
ャ204により管理され、非同期インターフェースを持
つ複数のディスク装置の入出力を管理するが、すでに説
明したように、論理ディスク装置の入出力結果を同期的
に利用者に返さねばならぬため非同期のデバイス同士の
同期を取っている。このため、データ転送ドライバ20
3が論理ディスク装置にアクセスするときはコールし
て、その処理の終了を待たねばならない。従って、2面
バッファの非同期運用を行うため本処理は、以下のよう
にしている。
【0096】一方、データ転送対象デバイスに論理ディ
スク装置を含まない時、高速デバイス同士のデータ転
送、あるいは、ディスクストライピングが有効でないケ
ースのディスク装置と高速デバイスとのデータ転送がこ
れに当たるが、この場合は、データ転送機能を有するバ
スアービタ105を用いてデータ転送を行う。以下、こ
の場合の動作について説明する。
【0097】ステップ1002において、データ転送ド
ライバ203によりデバイス間の転送速度の差がないと
判断された場合、つまり、高速デバイス同士のデータ転
送の場合について説明する。高速デバイス108はDM
Aコントローラを有するので、バスアービタ105によ
りハンドシェークすることでメモリ102を介在させず
にデータ転送を行うことができる。ステップ1005で
データ転送ドライバはシステムのメモリ空間にマップさ
れたバスアービタ105のソースレジスタ401、デス
テイニレジスタ402に、転送元、転送先となる高速デ
バイス108のローカルバス107上のID(デバイス
アドレス)を登録する。さらに、転送元の高速デバイス
108に対し指定された入出力サイズ、あらかじめ、シ
ステムから与えられた未使用の物理メモリ空間のアドレ
スでリード要求を発行する。また、転送先の高速デバイ
ス108に対し、同様に、サイズ、アドレスを渡し、ラ
イト要求を発行する。これにより、2つのデバイスから
バスにバス獲得要求がだされるが、該IDはソースレジ
スタ401、デステイニレジスタ402に登録されてい
る。さらに、ソースレジスタ401、デステイニレジス
タ402にメモリ102の使用ビット(このビットにつ
いては後述する)は立っていないので、バスアービタ1
05は、ステップ1102、双方のバス要求が揃った時
点で1104双方のバスグラント信号をアサートするこ
とにより、メモリの介在なしのデータ転送が行われる。
データ転送の終了の後、データ転送ドライバはアービタ
のソース/デステイニレジスタをクリアする。
【0098】データ転送ドライバ203は、ステップ1
002でデバイス間の転送速度に差があると判断された
場合、つまり、ディスク装置111と高速デバイス10
8の一方がが転送元で他方が転送先となっている場合に
は、システムが提供するメモリアロケータにより、物理
アドレス上連続でページアウトされないメモリ102の
エリアを、入出力サイズ分確保し、ステップ1003で
バスアービタ105のソースレジスタ401、デステイ
ニレジスタ402に、各々のIDとメモリ使用ビットフ
ラグをORして登録する。この後、ステップ1005で
双方のデバイスに転送データサイズ、確保したメモリの
アドレスを渡し、各々、リード/ライト要求を発行す
る。バスアービタ105は、ステップ1102でメモリ
使用指示があるので、ソースデバイスからのバス要求に
対しては、ステップ1103でバスグラント信号をアサ
ートし、ソースデバイスのデータ転送終了を意味するビ
ットをソースレジスタ401にORする。転送先のデバ
イスは、バス要求が認められるまでバス要求を繰り返
す。バスアービタ105は、バスフリーでかつソースデ
バイスのデータ転送終了が転送終了ビットがONである
ことを確認すると、ステップ1106でグラント信号を
アサートする。これにより、転送先デバイスは転送用に
確保したメモリ102に転送されている転送元のデータ
を自デバイスに書き込む。これによりデータ転送が行わ
れる。データ転送の終了の後、データ転送ドライバ20
3はバスアービタ105のソースレジスタ401、デス
テイニレジスタ402をクリアし、データ転送のために
確保したメモリ102を解放する。
【0099】以上のように、データ転送ドライバがデー
タ転送用の2面バッファを確保してデータ転送を行うよ
うにしたので、入出力装置間のデータ転送を、より高速
で行うことができる。即ち、システムのメモリ管理への
負担の少ない、言い替えるとシステムのメモリ管理へ負
担を掛けることによる性能低下を防ぐデータ転送方式を
提供するすることができる。
【0100】また、各入出力装置の制御をする制御装置
に設けられたDMAコントローラをコントロールしメモ
リを介さずに、各々の入出力装置のデータ転送をバス上
で同期させるコントローラを主たる入出力バスに備える
ことにより、無駄なメモリへのデータ転送を除くことが
できる。
【0101】また、データ転送を行う制御プログラム
(データ転送ドライバ)が、入出力装置間の速度差を吸
収するために、主たる入出力バスに接続されるデータ転
送コントローラ(バスアービタ)にシステムからメモリ
を確保して与えるようにしたので、データ転送コントロ
ーラはこのメモリを利用してデバイス間の転送速度調節
をすることことができるようになり、入出力装置間のデ
ータ転送を効率良く高速に行える。
【0102】実施例5.本実施例は、実施例1〜実施例
4で構成された入出力システムにおいて、各デバイスの
持つDMAコントローラを制御することにより(当然の
ことながら、デバイス間でのDMA転送レートは、一致
させる必要はある)、メモリ102を介さずに各々のデ
バイスのデータ転送をバス上で同期させる制御ローカル
バス107上に備えるようにして、無駄なメモリ102
へのデータ転送を避ける例である。本実施例において
は、各々のSCSIバス上の異なるディスク装置で4つ
のストライプディスクを持つ論理ディスク装置を構成す
ることが多いが、データ整理のために論理ディスク装置
の配置を変更する必要が発生することも多い。この時、
ボリュームマネージャ204は、データ移動先の対応す
るディスク装置が同一のSCSIバス上にあれば、全て
のストライプディスク装置に対して移動先のディスク装
置を複写先として、SCSIのコピーコマンドを発行す
ることにより、データを複写し、複写元を未使用とする
ことにより、論理ディスク装置のデータ配置を変更する
ことができる。
【0103】この実施例は、例えば、主たる入出力バス
(ローカルバス)に複数のSCSIバスが接続され、各
々のSCSIバスには複数のディスク装置が接続され、
さらに、各々のSCSIバスから1つずつディスク装置
を使用するように複数のストライプ構成の論理ディスク
装置を構成したシステムに適用される。このようなシス
テムにおいて、論理ディスク装置間のデータ転送が必要
となったときは、同一のバスに接続されたディスク装置
は、2つの論理ディスク装置は同一のストライプ幅で構
成されているので、各々対応するストライプ同士で、S
CSIのコピーコマンドを利用することにより、この論
理ディスク装置間でデータ転送を行うことにより、高速
で、システムへの負担の少ないデータ転送を実現でき
る。また、高速デバイスをSCSIコントローラ機能を
備えた複数の入出力ポートを有する高速デバイスとする
ことによって、種類の異なる入出力装置間にも適用でき
る。
【0104】なお、上記各実施例においては、入出力イ
ンタフェースとしてSCSIを例にとり説明したが、イ
ンタフェースは特にSCSIである必要はなく、他のイ
ンタフェースを用いてもよいことは言うまでもない。ま
た、上記実施例5は、ディスク装置間の複写をSCSI
のCOPYコマンドを用いて説明したが、ディスク制御
装置にSCSIのCOPYコマンド相当の機能を実現す
ればよい。
【0105】
【発明の効果】以上のように本発明によれば、システム
に接続されているディスク装置の性能特性を性能収集手
段がシステム管理者の与えるデータもしくは性能計測手
段により収集し、収集したデータを基に、論理ディスク
構成手段により論理ディスクを構成し、論理ディスク制
御手段により論理ディスクを動作させるので、論理ディ
スクを構成する各ディスクの1ストライプ分のデータ入
出力に要する応答時間が均等となり、論理ディスク装置
の性能向上を図ることができる。
【0106】また、入出力命令の処理に要する入出力装
置の実行時間を制限時間設定手段により規定し、制限時
間が経過すると入出力命令を終了させる手段を設けたの
で、入出力動作の同期を時間を基準にコントロールする
ことが可能となり、アプリケーションプログラムでの余
分な待ち時間を削減することができる、且つ大量のデー
タ転送を行う際の処理を効率良く行うことができる。
【0107】また、入出力制御装置に入出力命令の制限
時間を設定するタイマとこのタイマが設定時間を経過す
ると実行中の入出力命令を終了させる手段を設けるよう
にしたので、処理の実現を容易に行うことができる。
【0108】また、複数のディスク装置で構成される論
理ディスク装置において、この複数のディスク装置を並
列動作させる場合に、ディスク装置間の入出力完了の同
期を入出力動作の制限時間を設定することによりとるよ
うにすることにより、ユーザの希望した時間までに、こ
の論理ディスク装置に対する入出力処理を完了すること
ができる。
【0109】さらに、ストライプ構成された論理ディス
ク装置に、複数のディスク装置間の同期方法として、こ
の実施例で説明した同期方法を適用することにより、設
定する制限時間により論理ディスク装置に対する入出力
動作の応答時間は保証され、かつ、入出力動作の完了ス
テータスのばらつきの少ない、つまり、応答時間に見合
ったデータ量設定であれば、全てのディスク装置におけ
る入出力動作が完了させることができる。
【0110】また、性能計測手段でディスク装置の性能
を計測する際に、入出力命令に対する応答時間が最短あ
るいは最長となる条件を設定して行うようにしたので、
論理ディスク構成装置が論理ディスクを構成する際に性
能が最適になる論理ディスク装置を構成することができ
る。
【0111】また、システムにディスク装置を導入する
際に、初期化に一部として性能計測手段により性能を計
測するようにしたのでシステムとしての効率を向上させ
ることができる。
【0112】また、性能計測手段に入出力装置の性能だ
けでなく、入出力バスの性能を計測する手段を設け、性
能収集手段を構成するようにしたのでシステム全体の入
出力性能を向上させることができる。
【0113】また、論理ディスク構成手段が、1台のデ
ィスク装置に対する1回の入出力命令で行うデータ量を
そのディスク装置の1トラックに収まるように論理ディ
スク構成データを構成するようにしたので、論理ディス
ク装置を構成するディスク装置のシーク方向が順方向と
逆方向での性能差がなくなる。
【0114】また、論理ディスク構成手段が内外周での
性能に差があるディスク装置が論理ディスク装置に含ま
れているときは、内外周を交互に組み合わせて論理ディ
スクを構成するようにするので、各ストライプに対して
均等な処理時間となり、処理効率を向上させることがで
きる。
【0115】また、論理ディスク制御手段がディスク装
置に指令を出すときに、各ディスク装置のヘッド位置を
考慮して入出力実行時間が最少となるように制御するの
で処理効率が向上する。
【0116】また、同一のディスク装置に対する複数の
入出力命令を纏めるようにしたので、命令実行に伴う処
理時間を減少させることができるので入出力処理を向上
させることができる。
【0117】また、論理ディスク装置の構成を自動的に
行うようにしたので、論理ディスクの構成が容易にな
る。
【0118】また、データ転送ドライバが入出力命令の
対象賭する入出力装置に論理ディスク装置が含まれてい
る場合は、2面バッファをシステムメモリ上に確保して
データ転送を行うようにしたので、アプリケーションプ
ログラムでメモリを確保する必要がなく、通常アプリケ
ーション上のバッファメモリを介して行われていたデバ
イス間のデータ転送を、システムの仮想記憶に負担を掛
けないページ管理外のメモリを使用して、あるいは、若
干の特殊ハードウェアを付加することによりメモリを使
用せずにデータ転送することを可能にし、大量高速デー
タ転送をシステムへの負担を軽減し、なおかつ、高速に
実行できる。
【0119】また、入出力バスの制御をするバスアービ
タに入出力装置の並列動作をさせる手段を設け、入出力
命令の対象に論理ディスク装置が含まれていない場合に
は、このバスアービタを動作させるようにしてシステム
メモリを使用せずにデータ転送をすることができるよう
にしたので、データ転送を高速にできる。
【0120】また、データ転送ドライバに入出力命令の
対象となる入出力装置間に速度性能差がある場合には、
システムメモリにデータ転送用のバッファを確保してバ
スアービタを動作させるようにしたので、アプリケーシ
ョンでメモリを確保する必要のない効率のよいデータ転
送を行うことができる。
【0121】また、ディスク装置を制御するディスク制
御装置に同一バスに接続されたディスク装置間の複写手
段を設けるようにしたので、論理ディスク装置のバック
アップが容易に実現できる。
【図面の簡単な説明】
【図1】 本発明による入出力処理システムの適用され
るシステムのハードウエアの構成の一例を示す図であ
る。
【図2】 本発明による入出力処理システムの適用され
るシステムのソフトウェアの構成の一例を示す図であ
る。
【図3】 本発明による性能計測手段によって作成され
たディスクの性能データの一例を示す図である。
【図4】 本発明によるボリュームマネージャの行う論
理ディスク装置を自動的に構成するための処理の流れを
示す図である。
【図5】 本発明による論理ディスク管理データの一例
を示す図である。
【図6】 本発明による論理ディスク構成データの一例
を示す図である。
【図7】 本発明におけるよるディスクコントローラの
構成を示すブロック図である。
【図8】 本発明における論理ディスク装置の動作状況
の一例を示す図である。
【図9】 本発明におけるバスアービタの構成を示すブ
ロック図である。
【図10】 本発明によるデータ転送ドライバの処理の
流れの一例を示す図である。
【図11】 本発明におけるバスアービタの処理の流れ
の一例を示す図である。
【符号の説明】
105 バスアービタ、108 高速デバイス、109
SCSIホストアダプタ、110 ディスクコントロ
ーラ、201 データ転送制御プログラム、203 デ
ータ転送ドライバ、204 ボリュームマネージャ、2
08 性能計測手段、209 性能データ、210 デ
ィスク管理データ、211 論理ディスク構成データ、
212 論理ディスク入出力インターフェース、213
論理ディスク構成手段、302 SCSIコントロー
ルロジック、304 ディスクコントロールロジック、
305 タイマ、401 ソースレジスタ、402 デ
ステイニレジスタ、403 バスアービトレーションロ
ジック。

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】 入出力システムを構成する複数のディス
    ク装置の性能特性をシステム管理者から与えられる性能
    データもしくは前記ディスク装置を動作させて性能を計
    測する性能計測手段により収集する性能データ収集手段
    と、この性能データ収集手段で収集した性能データを基
    に前記複数のディスク装置を用いて論理ディスク装置を
    構成する論理ディスク構成手段と、を有する論理ディス
    ク制御手段を備え、 前記論理ディスク構成手段は、前記論理ディスク装置を
    構成する各ディスク装置の1ストライプ分のデータ入出
    力に要する応答時間が均等になるストライプ幅を設定し
    た論理ディスク管理データを生成し、前記論理ディスク
    制御手段は、前記論理ディスク管理データにより前記論
    理ディスク装置を制御することを特徴とする入出力処理
    システム。
  2. 【請求項2】 入出力装置に対する入出力命令発行時
    に、前記入出力装置の動作に要する制限時間を設定する
    制限時間設定手段と、設定した制限時間が経過したら前
    記入出力命令により起動された入出力動作を終了させる
    手段と、を備えたことを特徴とする入出力処理システ
    ム。
  3. 【請求項3】 前記制限時間設定手段で設定される時間
    を設定するタイマと、このタイマからの制限時間終了を
    受け入出力動作を終了させる手段と、を入出力装置の制
    御をする制御装置に設けたことを特徴とする請求項2に
    記載の入出力処理システム。
  4. 【請求項4】 前記入出力装置は複数のディスク装置か
    ら構成された論理ディスク装置であることを特徴とする
    請求項2または請求項3に記載の入出力処理システム。
  5. 【請求項5】 請求項1に記載の入出力システムにおい
    て、入出力装置に対する入出力命令発行時に、この入出
    力命令の処理に関する制限時間を設定する制限時間設定
    手段と、設定した制限時間が経過したら前記入出力命令
    により起動された入出力動作を終了させる処理終了手段
    と、を設けたことを特徴とする入出力処理システム。
  6. 【請求項6】 前記性能計測手段は、各ディスク装置に
    対する入出力命令実行時の応答時間が、最短、あるい
    は、最長となる条件を設定して、入出力命令を実行し、
    その応答時間を計測することを特徴とする請求項1また
    は請求項5に記載の入出力処理システム。
  7. 【請求項7】 前記性能計測手段は、システムへのディ
    スク装置追加時にこのディスク装置に対する初期化処理
    の一部としてこのディスク装置の性能測定を行うことを
    特徴とする請求項1または請求項5または請求項6に記
    載の入出力処理システム。
  8. 【請求項8】 前記性能収集手段は、複数のディスク装
    置が接続された入出力バスの構成、バス転送性能をシス
    テム管理者より与えられたシステム構成データ、あるい
    は、前記性能計測手段により前記バスに接続された入出
    力装置を実際に動作させることによってバス性能データ
    を収集し、前記論理ディスク構成手段が、この収集した
    性能データを基に、各々のディスク性能と接続されたバ
    ス転送性能を考慮して、論理ディスク装置を構成するこ
    とを特徴とする請求項1または請求項5乃至請求項7の
    いずれかに記載の入出力処理システム。
  9. 【請求項9】 前記論理ディスク構成手段は、論理ディ
    スク装置を構成するディスク装置に割り当てられる1回
    あたりの入出力命令におけるデータ転送量をそのディス
    ク装置の1トラックの中に収めることを特徴とする請求
    項1または請求項5乃至請求項9のいずれかに記載の入
    出力処理システム。
  10. 【請求項10】 前記論理ディスク構成手段は、外内周
    部で性能差のある均質な複数のディスク装置により論理
    ディスクを構成する時は、各々のディスク装置の外内周
    部を交互に組合せて構成することにより論理ディスクの
    見かけの入出力性能がデータの配置されたディスク装置
    上の位置によらず均一となることを特徴とする請求項9
    に記載の入出力処理システム。
  11. 【請求項11】 前記論理ディスク制御手段は、論理デ
    ィスク装置に対する入出力要求があった場合、その論理
    ディスク装置を構成する全てのディスク装置への入出力
    命令発行直前のそのディスク装置のヘッド位置等の状態
    を動的に判断して、その論理ディスク装置への入出力命
    令実行時間が最短となるように入出力命令を発行するこ
    とを特徴とする請求項1または請求項5乃至請求項10
    のいずれかに記載の入出力処理システム。
  12. 【請求項12】 前記論理ディスク制御手段は、複数の
    ディスク装置の各々に複数回の入出力要求が発生する入
    出力サイズで論理ディスク装置に対して入出力要求があ
    った時は、この論理ディスク装置を構成するディスク装
    置の性能特性、および、ディスクが接続された入出力バ
    スの特性を判断し、必要に応じて、同一ディスク装置へ
    の複数入出力要求をより少ない入出力要求回数とする、
    あるいは、該複数ディスク装置への入出力要求中に同期
    ポイントを設けることにより、該論理ディスク装置への
    入出力時間が最短となるように入出力命令を発行するこ
    とを特徴とする請求項11に記載の入出力処理システ
    ム。
  13. 【請求項13】 前記論理ディスク制御手段は、システ
    ム管理者より与えられた性能を満たす論理ディスク装置
    を自動的に構成することを特徴とする請求項1または請
    求項5乃至請求項12のいずれかに記載の入出力処理シ
    ステム。
  14. 【請求項14】 入出力装置に対するデータ転送制御を
    行うデータ転送ドライバを備え、このデータ転送ドライ
    バは入出力命令の入出力対象装置に論理ディスク装置が
    含まれている場合は、システムメモリ上にデータ転送用
    の2面バッファを確保してデータ転送を行うことを特徴
    とする請求項1乃至請求項13のいずれかに記載の入出
    力処理システム。
  15. 【請求項15】 入出力装置の接続される入出力バスの
    制御をするバスアービタを設け、このバスアービタはデ
    ータ転送元及びデータ転送先の装置のIDを登録するソ
    ースレジスタ及びデステイニレジスタを備え、前記デー
    タ転送ドライバは、入出力命令の入出力対象装置に論理
    ディスク装置が含まれていない場合は、前記バスアービ
    タを駆動させることによりシステムメモリを利用せずに
    データ転送を行うことを特徴とする請求項14に記載の
    入出力処理システム。
  16. 【請求項16】 前記データ転送ドライバは、入出力命
    令で指定された入力装置と出力装置のデータ転送速度に
    差がある場合は、システムメモリ上にデータ転送用のバ
    ッファを確保して前記バスアービタを駆動することを特
    徴とする請求項14に記載の入出力処理システム。
  17. 【請求項17】 前記論理ディスク装置を構成する複数
    のディスク装置が各々異なる入出力バスに接続されて複
    数の論理ディスク装置を構成する請求項1または請求項
    5乃至請求項13のいずれかに記載の入出力処理システ
    ムにおいて、前記各入出力バスに接続された各々のディ
    スク装置を制御するディスク制御装置に同じ入出力バス
    に接続されたディスク装置間での複写手段を設け、異な
    る論理ディスク装置間でデータの複写を行うことを特徴
    とする入出力処理システム。
JP13055595A 1995-05-29 1995-05-29 入出力処理システム Expired - Fee Related JP3201219B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP13055595A JP3201219B2 (ja) 1995-05-29 1995-05-29 入出力処理システム
US08/629,842 US5761526A (en) 1995-05-29 1996-04-10 Apparatus for forming logical disk management data having disk data stripe width set in order to equalize response time based on performance

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13055595A JP3201219B2 (ja) 1995-05-29 1995-05-29 入出力処理システム

Publications (2)

Publication Number Publication Date
JPH08328759A true JPH08328759A (ja) 1996-12-13
JP3201219B2 JP3201219B2 (ja) 2001-08-20

Family

ID=15037078

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13055595A Expired - Fee Related JP3201219B2 (ja) 1995-05-29 1995-05-29 入出力処理システム

Country Status (2)

Country Link
US (1) US5761526A (ja)
JP (1) JP3201219B2 (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0918286A2 (en) * 1997-11-21 1999-05-26 Alps Electric Co., Ltd. Disk array apparatus
JP2001290681A (ja) * 2000-04-05 2001-10-19 Nec Corp ファイルデータ格納装置及び方法並びに記録媒体
US7191285B2 (en) 2003-04-26 2007-03-13 International Business Machines Corporation Configuring memory for a RAID storage system
WO2008026497A1 (fr) * 2006-08-28 2008-03-06 Nec Corporation Dispositif de commande de matrice de disques, procédé de commande de matrice de disques et programme de commande de matrice de disques
JP2008090414A (ja) * 2006-09-29 2008-04-17 Nec Personal Products Co Ltd ディスク装置の書き込み制御方法およびディスク書き込み装置
US7552278B2 (en) 2005-06-24 2009-06-23 Fujitsu Limited Disk array access dynamic control device and method
JP2009211162A (ja) * 2008-02-29 2009-09-17 Toshiba Corp 情報処理装置および起動制御方法
JP2009211584A (ja) * 2008-03-06 2009-09-17 Nec Corp ファイルシステム制御装置
US7689836B2 (en) 2003-07-08 2010-03-30 Fujitsu Microelectronics Limited Encryption device
WO2013084562A1 (ja) * 2011-12-08 2013-06-13 シャープ株式会社 電子装置
JP2014120125A (ja) * 2012-12-19 2014-06-30 Fujitsu Ltd 情報処理装置、ストレージ装置、情報処理システム、入出力方法及び入出力プログラム
US9626153B2 (en) 2014-09-16 2017-04-18 Fujitsu Limited Control device and control method

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0991230A (ja) * 1995-09-26 1997-04-04 Matsushita Electric Ind Co Ltd データ転送システム
US6078989A (en) * 1996-10-04 2000-06-20 Sony Corporation Disc array control method and disc array control apparatus
US5897661A (en) * 1997-02-25 1999-04-27 International Business Machines Corporation Logical volume manager and method having enhanced update capability with dynamic allocation of storage and minimal storage of metadata information
US6216211B1 (en) * 1997-06-13 2001-04-10 International Business Machines Corporation Method and apparatus for accessing mirrored logical volumes
US6021462A (en) * 1997-08-29 2000-02-01 Apple Computer, Inc. Methods and apparatus for system memory efficient disk access to a raid system using stripe control information
EP1744316A1 (en) * 1997-10-21 2007-01-17 Sony Corporation Recording and/or reproduction apparatus, file management method and providing medium
JP2914367B2 (ja) * 1997-12-05 1999-06-28 日本電気株式会社 ディスクアレイ装置
US6654881B2 (en) * 1998-06-12 2003-11-25 Microsoft Corporation Logical volume mount manager
US6665786B2 (en) * 1998-09-21 2003-12-16 Microsoft Corporation Dynamic disk partition management
JP2000200152A (ja) * 1999-01-06 2000-07-18 Toshiba Corp 磁気ディスク装置
US6336173B1 (en) 1999-04-01 2002-01-01 International Business Machines Corporation Storing and tracking multiple copies of data in data storage libraries
US6336172B1 (en) 1999-04-01 2002-01-01 International Business Machines Corporation Storing and tracking multiple copies of data in a data storage library system
JP3254434B2 (ja) * 1999-04-13 2002-02-04 三菱電機株式会社 データ通信装置
JP3440219B2 (ja) * 1999-08-02 2003-08-25 富士通株式会社 入出力装置及びディスク・タイムシェアリング方法
US6684231B1 (en) * 1999-11-29 2004-01-27 Microsoft Corporation Migration of friendly volumes
US6553387B1 (en) * 1999-11-29 2003-04-22 Microsoft Corporation Logical volume configuration data management determines whether to expose the logical volume on-line, off-line request based on comparison of volume epoch numbers on each extents of the volume identifiers
US6629202B1 (en) * 1999-11-29 2003-09-30 Microsoft Corporation Volume stacking model
US6839827B1 (en) 2000-01-18 2005-01-04 International Business Machines Corporation Method, system, program, and data structures for mapping logical blocks to physical blocks
US6647473B1 (en) * 2000-02-16 2003-11-11 Microsoft Corporation Kernel-based crash-consistency coordinator
US7150018B2 (en) 2000-02-16 2006-12-12 Microsoft Corporation Method and system for deterministic ordering of software modules
US6473775B1 (en) 2000-02-16 2002-10-29 Microsoft Corporation System and method for growing differential file on a base volume of a snapshot
US6862661B2 (en) * 2001-06-26 2005-03-01 International Business Machines Corporation Object oriented approach to a redundant array storage system
KR100392382B1 (ko) * 2001-07-27 2003-07-23 한국전자통신연구원 동적 크기 변경 및 메타 데이터 양의 최소화를 위한 논리볼륨 관리 방법
US20030028719A1 (en) * 2001-08-06 2003-02-06 Rege Satish L. Disc drives divided into multiple logical containers
US7336700B2 (en) * 2001-09-20 2008-02-26 Lockheed Martin Corporation System bus transceiver interface
US7191271B2 (en) * 2001-09-20 2007-03-13 Lockheed Martin Corporation Two level multi-tier system bus
US7788396B2 (en) * 2001-11-28 2010-08-31 Interactive Content Engines, Llc Synchronized data transfer system
US7107272B1 (en) * 2002-12-02 2006-09-12 Storage Technology Corporation Independent distributed metadata system and method
CA2682814C (en) 2004-07-12 2011-11-08 Kabushiki Kaisha Toshiba Storage device and host apparatus
US8363519B2 (en) * 2006-06-30 2013-01-29 Seagate Technology Llc Hot data zones
US7610507B2 (en) * 2006-09-08 2009-10-27 Agere Systems Inc. High-speed redundant disk controller methods and systems
US11275509B1 (en) * 2010-09-15 2022-03-15 Pure Storage, Inc. Intelligently sizing high latency I/O requests in a storage environment
WO2013063253A1 (en) 2011-10-26 2013-05-02 X-Ray Optical Systems, Inc. Support structure and highly aligned monochromating x-ray optics for x-ray analysis engines and analyzers

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2804115B2 (ja) * 1988-09-19 1998-09-24 株式会社日立製作所 ディスクファイルシステム
US5233618A (en) * 1990-03-02 1993-08-03 Micro Technology, Inc. Data correcting applicable to redundant arrays of independent disks
JP2625609B2 (ja) * 1991-07-10 1997-07-02 インターナショナル・ビジネス・マシーンズ・コーポレイション ディスク記憶装置
JP3160106B2 (ja) * 1991-12-23 2001-04-23 ヒュンダイ エレクトロニクス アメリカ ディスクアレーの区分け方法
US5442752A (en) * 1992-01-24 1995-08-15 International Business Machines Corporation Data storage method for DASD arrays using striping based on file length
JP3289939B2 (ja) * 1992-03-02 2002-06-10 優 喜連川 データ分配方式
US5619690A (en) * 1993-06-21 1997-04-08 Hitachi, Ltd. Computer system including a computer which requests an access to a logical address in a secondary storage system with specification of a local address in the secondary storage system
US5572661A (en) * 1994-10-05 1996-11-05 Hewlett-Packard Company Methods and system for detecting data loss in a hierarchic data storage system
US5664187A (en) * 1994-10-26 1997-09-02 Hewlett-Packard Company Method and system for selecting data for migration in a hierarchic data storage system using frequency distribution tables
US5613085A (en) * 1994-12-27 1997-03-18 International Business Machines Corporation System for parallel striping of multiple ordered data strings onto a multi-unit DASD array for improved read and write parallelism

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0918286A2 (en) * 1997-11-21 1999-05-26 Alps Electric Co., Ltd. Disk array apparatus
EP0918286A3 (en) * 1997-11-21 2000-10-18 Alps Electric Co., Ltd. Disk array apparatus
US6223300B1 (en) 1997-11-21 2001-04-24 Alps Electric Co., Ltd. Disk array apparatus
JP2001290681A (ja) * 2000-04-05 2001-10-19 Nec Corp ファイルデータ格納装置及び方法並びに記録媒体
JP2009163773A (ja) * 2003-04-26 2009-07-23 Internatl Business Mach Corp <Ibm> Raidストレージ・システム用にメモリを構成すること
US7191285B2 (en) 2003-04-26 2007-03-13 International Business Machines Corporation Configuring memory for a RAID storage system
US7689836B2 (en) 2003-07-08 2010-03-30 Fujitsu Microelectronics Limited Encryption device
US7552278B2 (en) 2005-06-24 2009-06-23 Fujitsu Limited Disk array access dynamic control device and method
WO2008026497A1 (fr) * 2006-08-28 2008-03-06 Nec Corporation Dispositif de commande de matrice de disques, procédé de commande de matrice de disques et programme de commande de matrice de disques
JP2008090414A (ja) * 2006-09-29 2008-04-17 Nec Personal Products Co Ltd ディスク装置の書き込み制御方法およびディスク書き込み装置
JP2009211162A (ja) * 2008-02-29 2009-09-17 Toshiba Corp 情報処理装置および起動制御方法
JP2009211584A (ja) * 2008-03-06 2009-09-17 Nec Corp ファイルシステム制御装置
WO2013084562A1 (ja) * 2011-12-08 2013-06-13 シャープ株式会社 電子装置
JP2015038668A (ja) * 2011-12-08 2015-02-26 シャープ株式会社 電子装置
JP2014120125A (ja) * 2012-12-19 2014-06-30 Fujitsu Ltd 情報処理装置、ストレージ装置、情報処理システム、入出力方法及び入出力プログラム
US9626153B2 (en) 2014-09-16 2017-04-18 Fujitsu Limited Control device and control method

Also Published As

Publication number Publication date
JP3201219B2 (ja) 2001-08-20
US5761526A (en) 1998-06-02

Similar Documents

Publication Publication Date Title
JP3201219B2 (ja) 入出力処理システム
EP0768599B1 (en) On-line disk array reconfiguration
US6341342B1 (en) Method and apparatus for zeroing a transfer buffer memory as a background task
EP0664907B1 (en) Disk array controller utilizing command descriptor blocks for control information
JP4219602B2 (ja) 記憶制御装置および記憶制御装置の制御方法
US5469548A (en) Disk array controller having internal protocol for sending address/transfer count information during first/second load cycles and transferring data after receiving an acknowldgement
JP3944449B2 (ja) 計算機システム、磁気ディスク装置、および、ディスクキャッシュ制御方法
EP0428021B1 (en) Method for data distribution in a disk array
JP3176157B2 (ja) ディスクアレイ装置及びそのデータ更新方法
US7730257B2 (en) Method and computer program product to increase I/O write performance in a redundant array
US6330642B1 (en) Three interconnected raid disk controller data processing system architecture
JP3431972B2 (ja) 仮想ディスクシステム
JP3713788B2 (ja) 記憶装置および記憶装置システム
JP2004213064A (ja) Raid装置及びその論理デバイス拡張方法
KR20140099827A (ko) 명령-푸시 모델을 사용함으로써 데이터 저장 시스템에서 기록 레이턴시를 감소시키는 방법 및 시스템
JPH04233625A (ja) ディスクセクタ解析方法
WO1994009435A9 (en) Disk array controller utilizing command descriptor blocks for control information
US20120221809A1 (en) Storage apparatus and data processing method of the same
US7725664B2 (en) Configuration definition setup method for disk array apparatus, and disk array apparatus
JP2004171437A (ja) ストレージ制御装置及びその制御方法
US7162576B2 (en) Storage system
JP4252102B2 (ja) 計算機システムおよび二次記憶装置
JP2003131818A (ja) クラスタ構成ストレージにおけるクラスタ間raid構成
JP3454183B2 (ja) ディスクアレイ装置
US6801954B1 (en) Method and apparatus to concurrently operate on multiple data movement transactions in a disk array subsystem

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080622

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20080622

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090622

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100622

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees