JPH06259198A - ディスク装置システム - Google Patents

ディスク装置システム

Info

Publication number
JPH06259198A
JPH06259198A JP4805193A JP4805193A JPH06259198A JP H06259198 A JPH06259198 A JP H06259198A JP 4805193 A JP4805193 A JP 4805193A JP 4805193 A JP4805193 A JP 4805193A JP H06259198 A JPH06259198 A JP H06259198A
Authority
JP
Japan
Prior art keywords
command
commands
queue
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
JP4805193A
Other languages
English (en)
Other versions
JP3250861B2 (ja
Inventor
Jun Matsumoto
純 松本
Soichi Isono
聡一 磯野
Takashi Oeda
高 大枝
Naoto Matsunami
直人 松並
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP04805193A priority Critical patent/JP3250861B2/ja
Publication of JPH06259198A publication Critical patent/JPH06259198A/ja
Application granted granted Critical
Publication of JP3250861B2 publication Critical patent/JP3250861B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

(57)【要約】 【目的】 ディスク装置システムにおけるコマンド処理
を高速化することにある。 【構成】 上位計算機からのコマンドを受けるコマンド
・スケジュ−ラ32は、到着コマンドが待機するコマン
ド待機キュー33と、コマンドの並び変えに用いるコマ
ンド並び変えキュー34と、キューを制御するキュー制
御部35と、キューのサイズを制限するキューサイズ制
限手段36と、実行順最適化制御部37とを有する。実
行順最適化制御部37は、連続領域をアクセスするコマ
ンドを並び変える、連続領域アクセスコマンド並び変え
手段38と、多重実行可能なコマンドを並び変える多重
実行可能性並び変え手段39とを有し、上位計算機から
送出されたコマンドをデータのアドレスにより連続領域
をアクセスするように並び変えることと、多重実行が可
能なように並び変える。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ハ−ド・ディスク、光
ディスク及び半導体ディスク等のディスク装置を使用す
るディスク装置システムにおける、大容量データの高速
書き込み、読み出し処理に関する。複数ディスク装置で
構成されるディスクアレイのコマンド処理にも適する。
【0002】
【従来の技術】ファイルシステムの大容量化とトランザ
クション性能の向上が求められる中、大量のデ−タを高
速に処理する一方式として特開平2−236714号公
報に開示されるアレイ型ディスク駆動機構システム及び
方法がある。この方式を図10を用いて説明する。
【0003】図10において、10はRead/Wri
teコマンドを発行する上位計算機、11はデ−タの分
配・集合制御を行うアレイ・コントロ−ラである。11
の中で、12は上位計算機とのコマンド及びデ−タの授
受を行う上位計算機I/F部、13はタスク実行管理を
行うタスク制御部、14はコマンド多重処理の最適化を
行うコマンド処理管理部、及び上位計算機12からのコ
マンドをディスクアレイのコマンドに再編成するアドレ
ス変換や各ディスク装置へのコマンド生成、発行、終了
処理を行うコマンド処理部、15は割込み処理部、16
〜20はディスクとのコマンド及びデ−タ授受を行うデ
ィスク装置I/F部、21〜25はデ−タの書き込み、
読みだしを行うディスク装置である。なお、ここで扱う
コマンドはSCSIコマンドであり、それ自体がコマン
ドの種類、論理ブロックアドレス(以下LBAと記
す)、転送長の3つの要素を持っている。
【0004】まず、図10に示すアレイ・コントロ−ラ
11によって複数のドライブ装置21〜25を多重動作
(並行に動作させること)させる。上位計算機10から
転送されるコマンド・デ−タは、アレイ・コントロ−ラ
11のコマンド処理管理部15にて、各ディスク装置に
所定の単位で振り分けるためにアドレス変換される。各
コマンドをファーストイン・ファーストアウト方式(以
下FIFO方式と記す)により到着順にタスク制御管理
部13や割込み処理部15の管理の下で、ディスク装置
I/F部16〜20を介して、各ディスク装置21〜2
5に書き込む。コマンド・デ−タの読み出しの場合に
は、各ディスク装置21〜25から読み出された分割さ
れたコマンド・デ−タをアレイ・コントロ−ラ11で1
つのデ−タに統合し、上位計算機10に送出する。
【0005】
【発明が解決しようとする課題】かかる従来の方法にお
いては以下の課題がある。
【0006】すなわち、従来のコマンドを到着順に処理
するFIFO方式では、上位計算機が複数ディスクに対
してRead/Writeコマンドを実行する場合、連
続データをアクセスする複数のコマンド列中に、該連続
データに無関係なデータをアクセスするコマンドが混在
するような場合、その混入毎にヘッドシークが発生し、
著しく連続データ転送特性を低下させるという課題があ
る。
【0007】また、あるコマンドがディスク装置0とデ
ィスク装置1の2台のディスクを使用するような場合、
ディスク装置0がアクセス待ちをしていると、ディスク
装置1は未使用にもかかわらず、そのコマンドに確保さ
れたままになっているために、後から到着するコマンド
がディスク装置1を利用することができず、多重動作が
制限されるという課題がある。
【0008】本発明の目的は、コマンドの実行順序を変
更して、処理の高速化を実現したディスク装置システム
を提供することである。
【0009】
【課題を解決するための手段】上記の目的を達成するた
め、ディスク装置と上記ディスク装置を制御するディス
ク制御装置とを有し、外部からの、データの読み出しま
たは書き込みのコマンドを受けて、上記データの読み出
しまたは書き込みを行うディスク装置システムにおい
て、上記ディスク制御装置は、上記コマンドを受信する
受信手段と、上記コマンドを蓄積する第一コマンドキュ
ーと、上記蓄積されたコマンドの実行時間の総和を短縮
するように上記コマンドの実行順序を変更する実行順制
御手段とを有することとしたものである。
【0010】
【作用】コマンドが第一コマンドキューに入り、上記蓄
積されたコマンドの実行時間の総和を短縮するように上
記コマンドの実行順序を変更することにより、高速化が
図れる。
【0011】たとえば、実行順制御手段が第一コマンド
キューのコマンド群について、連続領域アクセス可能性
を考慮して並び変え、並び変えが終わったコマンドから
実行を開始することで、連続領域アクセスデータをまと
めて処理することができる。
【0012】これにより、分断された連続領域アクセス
データをまとめて1つのコマンド群として処理すること
で、ディスクヘッドのシーク等を減らすことができ、高
速化を実現することである。
【0013】また、第一コマンドキューのコマンド群に
ついて多重実行可能性を考慮して、並び変え、並び変え
が終わったコマンドから実行を開始することで、コマン
ドを多重実行することができる。
【0014】これにより、複数のディスク装置が極力多
重実行可能なように、コマンドを並び変えられるので、
ディスクの稼働率を上げ、1コマンドあたりの平均処理
時間を短縮することができる。
【0015】
【実施例】本発明の第一実施例を図1〜4、11を用い
て説明する。
【0016】図11に示す本ディスク装置システム(デ
ィスクアレイ)は、Read/Writeコマンドを発
行する上位計算機10から、コマンドを受けてデ−タの
分配・集合制御を行うアレイ・コントロ−ラ11(ディ
スク制御装置)と、デ−タの書き込み、読みだしを行う
ディスク装置21〜25とを有する。アレイ・コントロ
−ラ11は、上位計算機とのコマンド及びデ−タの授受
を行う上位計算機I/F部12と、タスク実行管理を行
うタスク制御部13と、コマンド多重処理の最適化を行
うコマンド処理並びに管理、及び上位計算機10からの
コマンドをディスクアレイのコマンドに再編成するアド
レス変換や各ディスク装置へのコマンド生成、発行、終
了処理を行うコマンド処理及び管理部141と、割込み
処理部15と、ディスクとのコマンド及びデ−タ授受を
行うディスク装置I/F部16〜20とを有する。な
お、ここで扱うコマンドはSCSIコマンドであり、そ
れ自体がコマンドの種類、論理ブロックアドレス(以下
LBAと記す)、転送長の3つの要素を持っている。
【0017】まず、図11に示すアレイ・コントロ−ラ
11によって複数のドライブ装置21〜25を多重動作
(並行に動作させること)させる。上位計算機10から
転送されるコマンド・デ−タは、アレイ・コントロ−ラ
11のコマンド処理管理部15にて、各ディスク装置に
所定の単位で振り分けるためにアドレス変換される。各
コマンドをファーストイン・ファーストアウト方式(以
下FIFO方式と記す)により到着順にタスク制御管理
部13や割込み処理部15の管理の下で、ディスク装置
I/F部16〜20を介して、各ディスク装置21〜2
5に書き込む。コマンド・デ−タの読み出しの場合に
は、各ディスク装置21〜25から読み出された分割さ
れたコマンド・デ−タをアレイ・コントロ−ラ11で1
つのデ−タに統合し、上位計算機10に送出する。
【0018】図1は、コマンド処理及び管理部141の
詳細を表わした図である。
【0019】コマンド処理及び管理部141は、上位計
算機からのRead/Writeコマンドを受信する上
位計算機コマンド受信部30(受信手段)と、Read
/Writeコマンドの持つLBAと転送長から、上位
計算機が送出したコマンドをアレイディスクのコマンド
に再編成するアドレス変換部31と、Read/Wri
teコマンドの実行順を並び変えるコマンド・スケジュ
−ラ32とを有する。
【0020】コマンド・スケジュ−ラ32は、到着コマ
ンドが待機するコマンド待機キュー33(第2コマンド
キュー)と、コマンドの並び変えに用いるコマンド並び
変えキュー34(第1コマンドキュー)と、コマンド待
機キュー33、コマンド並び変えキュー34を制御する
キュー制御部35(キュー制御手段)と、キューのサイ
ズを制限するキューサイズ制限手段36と、実行順最適
化制御部37(実行順制御手段)とを有する。
【0021】コマンドの実行順最適化制御部37は、連
続領域をアクセスするコマンドを並び変える、連続領域
アクセスコマンド並び変え手段38と、多重実行可能な
コマンドを並び変える多重実行可能性並び変え手段39
とを有する。
【0022】図2のフローチャートに基いて、図1の全
体動作を説明する。
【0023】図1に示す上位計算機コマンド受信部30
はRead/Writeコマンドを受信し(図2フロー
チャート200)、アドレス変換部31はアレイディス
クにデータを分配するアドレス変換をコマンドに施す
(同202)。コマンド・スケジューラ32はコマンド
を取り入れ、それを到着順にコマンド待機キュー33に
セットする(同204)。コマンドはコマンド待機キュ
ー33を通過して、コマンド並び変えキュー34に入
る。ある条件を設けることによって、キューサイズ制限
手段36はコマンド待機キューのコマンド通過を停止す
る。したがって、コマンド並び変えキュー内のコマンド
数は限定される(同206)。尚この条件には、例えば
タイマーによってある一定時間経過後にキューを制限す
るタイミングを送出する方法及び、コマンド並び変えキ
ューに到着するコマンド数をあらかじめ限定しておく方
法がある。また、これから到着するコマンドは、コマン
ド並び変えキュー34で前に到着したコマンドの並び変
えが終了するまで、コマンド待機キュー33で待機す
る。コマンド並び変えキュー内のコマンドについては到
着順を前提に(同208)、初めに連続領域アクセス可
能性(同210)、次に多重実行可能性(同212)の
有無をチェックし、両方存在する場合は連続領域アクセ
ス可能性を優先的に考慮してコマンドを並び変え、連続
領域をアクセスしないコマンドについてのみ多重実行可
能性を考慮してコマンドを並び変える。またどちらか一
方が存在する場合は、独立してコマンドの並び変えを実
施する(同214)。また、並び変えが終わったコマン
ドから実行を開始する(同216)。コマンド並び変え
キューが空になったら(同218)、コマンド待機キュ
ー33のコマンド通過停止を解除し、待機していた新し
いコマンドをコマンド並び変えキュー34に入れ、以下
これまでの動作が繰り返される。
【0024】第一実施例として多重実行可能性のみを考
慮した場合を説明する。
【0025】図3は図1のコマンド・スケジューラ32
に当たる。図3において、33は到着コマンドが待機す
るコマンド待機キュー、34はコマンドの並び変えに用
いるコマンド並び変えキュー、40は33、34のキュ
ーを制御するキュー制御部、41はキューのサイズを制
限するタイミングを決定するタイマー、42はアドレス
のビット・パターン作成部である。43は先頭コマンド
及び並び変えが終了したコマンドのビット・パターンを
読み取る第一ビット・パターン読み取り部、44はまだ
並び変えていないコマンドのビット・パターンを読み取
る第二ビット・パターン読み取り部、45は43、44
で読み取ったビット・パターンを比較する比較器であ
る。
【0026】図4のフローチャートに基いて、図3全体
の動作を説明する。
【0027】図3に示すコマンド・スケジューラはアド
レス変換されたRead/Writeコマンドを取り入
れ(図4のフローチャート300、302)、それを到
着順にコマンド待機キュー33に入れる。この時、ビッ
ト・パターン作成部42はコマンド固有のLBAを元に
当該コマンドが使用するディスク装置を示すビット・パ
ターンを作成する。ここでビット・パターンは使用する
ディスク装置を1、使用しないディスクを0で表わし、
図10のディスク装置の左からそれぞれ対応させたビッ
ト列である。例えば、0から2番のディスク装置を使用
し、3、4番のディスク装置を使用しない場合、ビット
・パターンは11100となる。また、ビット・パター
ン作成部42は作成したビット・パターンをコマンドに
対応づけて保持する(同304)。そこで、第一ビット
・パターン読み取り部43はキューの先頭コマンドのビ
ット・パターンを読み取り、反転する(同308)。反
転したビット・パターンに1がある場合、つまり空いて
いるディスク装置がある場合は、第二ビット・パターン
読み取り部44が、並び変える残りのコマンドのビット
・パターンを読み取り、比較器45がそれを第一ビット
・パターン読み取り部のビット・パターンとビット毎に
比較し(同310)、一致する1の最も多いコマンドを
選択する。その後キュー制御部40はそのコマンドを先
頭コマンドの後に並び変える(同312)。また、並び
変えたコマンドから実行が開始され(同314)、コマ
ンド並び変えキューが空になったら(同316)、コマ
ンド待機キュー33のコマンド通過停止を解除し、待機
していた新しいコマンドをコマンド並び変えキュー34
に入れ、以下これまでの動作が繰り返される。ビット・
パターンの使用はディスクアクセスの多重度を上げるた
めに、使用するディスク装置ができるだけ重ならないよ
うにコマンドを選択する並び変え方式において、簡便で
有効な手段である。
【0028】具体例として、図3に示すような10個の
Read/Writeコマンドがコマンド並び変えキュ
ー34に到着している場合のコマンド並び変え動作を示
す。ここでC#はコマンドの到着番号を、(####
#)は各コマンドのビット・パターンを表わしている。
まず、第一ビット・パターン読み取り部43はC1のビ
ット・パターン11100(ディスク0、1、2番を使
用する)を読み取り、この情報を反転して00011を
得る。次に第二ビット・パターン読み取り部44がC2
からC10までのビット・パターンを読み取り、比較器
45がこの反転ビット・パターンと一致もしくは一致す
る1の多い(0は全て対応していなければならない)コ
マンドを検索する。この例では対応するコマンドがない
ので、C2が2番目のコマンドになる。こんどは第一ビ
ット・パターン読み取り部43がC2のビット・パター
ン00101を読み取り、このビット・パターンを反転
して11010を得る。ここで、C1の時と同様に、第
二ビット・パターン読み取り部44がC3からC10ま
でのビット・パターンを読み取り、比較器45が対応す
るコマンドを検索する。すると、11000のC9が見
つかり、実行順を入れかえ、C2の次に配置する。この
C2とC9は多重実行である。さらに多重実行できる可
能性を判断するため、キュ−制御部40がC2とC9の
EOR(両方0のビットをマスクする)00010を作
り、第一ビット・パターン読み取り部43がこれを読み
取る。また、第二ビット・パターン読み取り部42がC
3からC8、C10のビット・パタ−ンを読み取り、比
較器43が対応するコマンドを検索するが、ないのでキ
ュー制御部35がC3を4番目のコマンドに並び変え
る。以下この操作が繰り返される。並び変えた結果を図
9(a)に示す。
【0029】この具体例によれば、各コマンド処理を極
力多重動作で行うため、たとえば上記例の場合、コマン
ド処理時間を全てのコマンドで等しく1と仮定すると、
実行順を変える前と変えた後では、10コマンドの処理
時間合計は本発明未使用時の10が、本発明使用により
6に削減され、40%の改善効果がある。したがって、
この多重実行最適化によって、コマンドのI/Oスルー
プットを上げることができる。
【0030】また、キューを2つ設けることで、並び変
えたコマンドが全て実行されてから新しいコマンドの並
び変えが行われるため、キューを1つしか用いなかった
従来の場合に見られたコマンドの沈み込み(例えば、優
先度が低いコマンドは、いつまでもキューの中に実行さ
れないで残る現象)を解消することができる。
【0031】第二実施例として連続領域アクセス可能性
のみを考慮した場合を説明する。
【0032】図5のコマンドスケジューラ532は図1
のコマンド・スケジューラ32に相当する。図5におい
て、33は到着コマンドが待機するコマンド待機キュ
ー、34はコマンドの並び変えに用いるコマンド並び変
えキュー、50は33、34のキューを制御するキュー
制御部、41はキューのサイズを制限するタイミングを
決定するタイマー、51は連続領域判定アドレス作成手
段である。537は、実行順最適化制御部である。51
の中で52は先頭コマンド及びまだ並び変えが終了して
いないコマンドの内、コマンド・ナンバーの若いものの
アドレスを読み取る第一アドレス読み取り部、53は5
2に入るコマンド転送長を読み取る転送長読み取り部、
54は第一アドレス読み取り部52で読み取ったコマン
ドの先頭アドレスに転送長を加えて、連続する領域のア
ドレスを算出する加算機、56はまだ並び変えていない
コマンドのアドレスを読み取る第二アドレス読み取り
部、57は51と56のアドレスを比較する比較器であ
る。
【0033】図6のフローチャートに基いて、図5全体
の動作を説明する。
【0034】図5に示すコマンド・スケジューラはアド
レス変換されたRead/Writeコマンドを取り入
れ(図6のフローチャート400、402)、それを到
着順にコマンド待機キュー33に入れる。コマンドは最
初コマンド待機キューを通過してコマンド並び変えキュ
ー34に入り、タイマー41が一定時間経過後、並び変
えるキューサイズを制限する(同404)。この後到着
する新しいコマンドはコマンド待機キューで待機する。
次に第一アドレス読み取り部52はコマンド並び変えキ
ュー先頭のコマンドが持つアドレスを読み取り、転送長
読み取り部53はその転送長を読み取り(同406)、
読み取ったアドレスに転送長を加算器54で加えること
で、連続する領域のアドレスを算出する(同408)そ
して、第二アドレス読み取り部55は並び変える残りの
コマンドが持つアドレスを読み取り、比較器56がそれ
を連続領域判定アドレス作成手段51と比較し(同41
0)、一致するコマンドを先頭コマンドの後に並び変え
る(同412)。また、実行順が決定したコマンドから
実行が開始され(同414)、コマンド並び変えキュー
が空になったら(同416)、コマンド待機キュー33
のコマンド通過停止を解除し、待機していた新しいコマ
ンドをコマンド並び変えキューに入れ、以下これまでの
動作が繰り返される。
【0035】具体例として、図5に示すような10個の
Read/Writeコマンドがコマンド並び変えキュ
ー34に到着している場合のコマンド並び変え動作を示
す。C#はコマンドの到着番号を、(#、#)は左がコ
マンドの持つアドレス、右が転送長を表わしている。ま
ず、連続領域判定アドレス作成手段51の中の第一アド
レス読み取り部52がC1のアドレス0を読み取り、転
送長読み取り部53がC1の転送長16ブロック(1ブ
ロック=512B)を読み取り、加算機54はアドレス
0に16を加えて16を算出する。次に、第二アドレス
読み取り部55がC2からC10までのアドレスを読み
取り、比較器56が連続領域判定アドレス作成手段51
で算出された値16と等しいアドレスを持つコマンドを
検索する。すると、C3が見つかるので、キュー制御部
50がC3をC1の後に並び変える。さらに連続領域ア
クセスできる可能性を判断するため、第一アドレス読み
取り部52がC3のアドレス16を読み取り、転送長読
み取り部53がC3の転送長16ブロックを読み取る。
前述と同様な操作でコマンドを検索するとC6が見つか
る。ここまでで、コマンドはC1、C3、C6の順に並
び変えられる。この後C6について再び連続領域アクセ
スの可能性を判断すると、今度は対応するコマンドがな
いため、C2がC6の後に並び変えられる。以下この操
作が繰り返される。並び変えた結果を図9(b)に示
す。
【0036】この具体例によれば、1つのコマンドに対
するアクセス回数を1とすると、実行順を変える前では
連続領域アクセスが可能なコマンド群はC8、C9のみ
で、アクセス回数は9であるが、実行順を変えた後では
連続領域アクセスが可能なコマンド群として、C1、C
3、C6及びC5、C7、C10も加わるので、アクセ
ス回数は5である。一般的に、十分たくさんのコマンド
を連続化することでディスク列全てにアクセスし、ヘッ
ドシーク時間を短縮することができる。また長いデータ
に他のコマンドが混入する場合のヘッドシーク時間増加
を防止する効果もある。
【0037】さらに、長いデータをアクセスする場合、
ディスク装置の持つプリフェッチ・バッファをきかせる
ことができる。すなわち、アドレスが連続しない短いデ
ータを有するコマンドの場合、コマンドごとにプリフェ
ッチ・バッファの内容を書き換える必要が生じる。書き
換えの回数が増えることにより処理時間が延びる。
【0038】本実施例はディスクアレイのみならず、単
体のディスク装置に対しても有効なものである。
【0039】第三実施例として多重実行可能性のみを考
慮した場合を説明する。
【0040】図7は図1のコマンド・スケジューラ32
に当たる。図7において、61〜70はk台のディスク
装置の組合せに対応した各コマンド到着キュー(n台の
ディスク装置からk台のディスク装置を選ぶ全ての組合
せの数だけ用意したキュー)、71〜80はコマンド到
着キューがコマンドをコマンド実行キューに送出したこ
とを示すフラグ、81は並び変えを終了したコマンドが
実行を待つコマンド実行キューである。60はコマンド
到着キュー61〜70及びフラグ71〜80の制御をす
るキュー制御部、42はアドレスのビット・パターン作
成部、82はコマンドの並び変えテーブル参照手段であ
る。
【0041】次に図8のフローチャートに基いて図7全
体の動作を説明する。
【0042】図7に示すコマンド・スケジューラ732
はアドレス変換されたRead/Writeコマンドを
取り入れ(図8のフローチャート500、502)、ビ
ット・パターン作成部42はコマンド固有のLBAを元
に当該コマンドが使用するディスクを示すビット・パタ
ーンを作成する。次に、キュー制御部60でそのビット
・パターンに対応した各コマンド到着キュー61〜70
に振り分けられる(同504、506)。コマンド到着
キュー先頭のコマンドが全てそろったら、キュー制御部
60がコマンド・ナンバーの最も若いコマンドを選択し
(同508)、そのコマンドをコマンド実行キュー81
にセットし、フラグ71〜80のうちコマンドを送出し
たキューのフラグを立てる(同510)。コマンドを送
出したキューと対応するキューをコマンド並び変えテー
ブル参照手段82で参照し(同512)、対応するコマ
ンドがなければ次に若いコマンド・ナンバーのコマンド
をコマンド実行キュー81に送出し、フラグ71〜80
のうちコマンドを送出したキューのフラグを立てる(同
510)。対応するコマンドがあれば、そのコマンドを
コマンド実行キュー81に送出し、フラグ71〜80の
うちコマンドを送出したキューのフラグを立てる(同5
14)。以上の操作をコマンド到着キュー61〜70の
全てのフラグ70〜80が立つまで行う(同516)。
コマンド実行キュー81に並び変えたコマンドが到着し
だい、コマンドを実行し(同518)、コマンド実行キ
ュー81が空になったら(同520)、各コマンド到着
キュー61〜70の全てのフラグ71〜80を解除する
(同522)。そして、再びコマンド到着キュー61〜
70の中で、最も若いコマンド・ナンバーのコマンドが
コマンド実行キュー81に送出され、以下これまでの動
作が繰り返される。
【0043】具体例として、図7に示すような2台のデ
ィスク装置にアクセスする複数のRead/Write
コマンドがコマンド到着キュー61〜70に到着してい
る場合のコマンド並び変え動作を示す。ここで、C#は
コマンドの到着番号を表わしている。732は、コマン
ドスケジューラ、61〜70は到着コマンドが待機する
コマンド待機キュー、60は61〜70のキューを制御
するキュー制御部、737は、実行順最適化制御部であ
る。まず、コマンド到着キュー61〜70の先頭にコマ
ンドが全てそろった状態で、キュー制御部60がコマン
ド・ナンバーの最も若いC1をコマンド実行キュー81
にセットし、フラグ71を立てる。C1は0番と1番の
ディスク装置を使用するので、このコマンドと多重実行
可能なコマンドをコマンド並び変えテーブル参照手段8
2において対応づける(図8のテーブル参照)。する
と、3番と4番のディスク装置を使用するコマンドが適
切ということから、キュー制御部60がC7をコマンド
実行キューに送出し、フラグ80を立てる。次に、キュ
ー制御部60がフラグのまだ立っていないコマンド到着
キューの内、コマンド・ナンバーの最も若いC2をコマ
ンド実行キュ−に送出し、フラグ76を立てる。C7の
操作と同様にC2と多重実行可能なコマンドを検索する
とC10が見つかり、キュー制御部60がC10をコマ
ンド実行キュー81に送出し、フラグ79を立てる。以
下この操作が繰り返される。並び変えた結果を図9
(c)に示す。
【0044】この具体例によれば、全てのコマンド処理
を多重動作で行うため、コマンド処理時間を全て等しく
1と仮定すると、実行順を変える前では10コマンドの
処理時間が、実行順を変えた後では5となる。一般に実
行順を変える前は、コマンド処理時間はコマンドの並び
方によって5〜10の範囲(完全に多重実行する場合か
ら1コマンドも多重実行しない場合まで)で変化するの
が、実行順を変えた後では必ず5となるため、最大50
%の改善効果がある。
【0045】第四実施例として第二実施例の変形例を説
明する。
【0046】図5のコマンド・スケジューラ32に連続
領域でまとめたコマンド群を1つのコマンドとみなす手
段を付加する方法がある。これは図9の(b)からも明
らかなように、連続領域アクセス可能なコマンド群を1
つのコマンドに再構成することで全体の処理コマンド数
を減少し、まとめたコマンドについてはそのデータの大
きさに関係なくディスク装置のプリフェッチ・バッファ
が有効利用できることで、プリフェッチ・ミスヒット
(連続していないデータの場合、プリフェッチ・バッフ
ァにデータが無いことが多いためミスヒットが生じやす
い)が避けられ、さらに、ディスク装置の回転待ち時間
も回避したWrite処理の高速化が実現できる。
【0047】また、特にディスクアレイでは、Writ
e時特有のパリティー更新に伴うRead処理を削減す
ることができるため(データのアドレスが連続していな
い場合は、例えば、データが異なるとパリティディスク
も異なる場合があるため、データごとにパリティディス
クを読む必要が生じる)、Write処理の高速化が実
現できる。
【0048】以上の説明より、連続領域アクセス可能性
及び多重実行可能性双方を考慮したコマンドの並び変え
も、図1に示す構成に第一実施例と第二実施例を用いる
ことも可能である。また、第三実施例と第二実施例を用
いることによっても第一実施例と第二実施例を用いる場
合と同様な効果がもたらされる。また、第二実施例の代
わりに第四実施例を用いることでさらに大きな効果がも
たらされる。効果としては、実行順を変える前ではコマ
ンド全てが各々Read/Writeアクセスする場合
でも実行順を変えることで、連続領域アクセス可能なコ
マンドと多重実行可能なコマンドに整理されることから
コマンド実行時間が短縮される。
【0049】
【発明の効果】本発明によれば、コマンドの実行時間の
総和が短縮できる。
【0050】また、連続領域アクセス可能なコマンドを
まとめて実行することで、ディスク装置のヘッドシーク
と回転待ちを短縮するという効果がある。
【0051】また、コマンドを多重実行することで、デ
ィスク装置の稼動率を上げ、従来に対し最大50%のI
/Oスループット改善効果がある。
【0052】さらに、キューのサイズを制限し、その中
でコマンドの並び変えを行い、並び変えた順に実行する
ため、実行されないコマンドがいつまでもキュー内に残
ってしまうコマンドの沈み込みを防止するという効果が
ある。
【図面の簡単な説明】
【図1】本発明に係るコマンド処理及び管理部のブロッ
ク図である。
【図2】本発明に係るフローチャートである。
【図3】コマンド・スケジューラの第一実施例を示すブ
ロック図である。
【図4】本発明に係るフローチャートである。
【図5】コマンド・スケジューラの第二実施例を示すブ
ロック図である。
【図6】本発明に係るフローチャートである。
【図7】コマンド・スケジューラの第三実施例を示すブ
ロック図である。
【図8】本発明に係るフローチャートである。
【図9】各実施例によるコマンドの並び変え結果を示す
説明図である。
【図10】ディスクアレイの基本構成を示すブロック図
である。
【図11】ディスクアレイの基本構成を示すブロック図
である。
【符号の説明】
10・・・ ・・・上位計算機、 11・・・ ・・・アレイ・コント
ローラ、12・・・ ・・・上位計算機I/F、 13・・・ ・・・
タスク制御部、14・・・ ・・・コマンド処理及び管理部、
15・・・ ・・・割込み処理部、16〜20・・・ ・・・ディス
ク装置I/F、 21〜25・・・ ・・・ディスク装置、2
9・・・ ・・・実行順最適化コマンド処理及び管理部、30・
・・ ・・・上位計算機コマンド受信部、 31・・・ ・・・アド
レス変換部、32・・・ ・・・コマンド・スケジューラ、
33・・・ ・・・コマンド待機キュー、34・・・ ・・・コマンド
並び変えキュー、 35・・・ ・・・キュー制御部、36・・・
・・・キューサイズ制限手段、 37・・・ ・・・実行順最適
化制御部、38・・・ ・・・連続領域アクセス可能性並び変
え手段、39・・・ ・・・多重実行可能性並び変え手段、
40・・・ ・・・キュー制御部、41・・・ ・・・タイマー、 4
2・・・ ・・・ビット・パターン作成部、43・・・ ・・・第一ビ
ット・パターン読み取り部、44・・・ ・・・第二ビット・
パターン読み取り部、45・・・ ・・・比較器、 50・・・ ・
・・キュー制御部、51・・・ ・・・連続領域判定アドレス作
成手段、52・・・ ・・・第一アドレス読み取り部、 53・
・・ ・・・転送長読み取り部、54・・・ ・・・加算機、 55・
・・ ・・・第二アドレス読み取り部、56・・・ ・・・比較器、
60・・・ ・・・キュー制御部、61〜70・・・ ・・・コマン
ド到着キュー、 71〜80・・・ ・・・フラグ、81・・・ ・
・・コマンド実行キュー、82・・・ ・・・コマンド並び変え
テーブル参照手段。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 大枝 高 神奈川県横浜市戸塚区吉田町292番地 株 式会社日立製作所マイクロエレクトロニク ス機器開発研究所内 (72)発明者 松並 直人 神奈川県横浜市戸塚区吉田町292番地 株 式会社日立製作所マイクロエレクトロニク ス機器開発研究所内

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】ディスク装置と上記ディスク装置を制御す
    るディスク制御装置とを有し、外部からの、データの読
    み出しまたは書き込みのコマンドを受けて、上記データ
    の読み出しまたは書き込みを行うディスク装置システム
    において、 上記ディスク制御装置は、 上記コマンドを受信する受信手段と、 上記コマンドを蓄積する第一コマンドキューと、 上記蓄積されたコマンドの実行時間の総和を短縮するよ
    うに上記コマンドの実行順序を変更する実行順制御手段
    とを有することを特徴とするディスク装置システム。
  2. 【請求項2】請求項1記載のディスク装置システムにお
    いて、 上記実行順制御手段は、上記コマンドが処理対象とする
    データのアドレスを調べ、アドレスが連続するコマンド
    を抽出し、上記アドレスが連続するように、上記コマン
    ドの実行順序を変更することを特徴とするディスク装置
    システム。
  3. 【請求項3】請求項1記載のディスク装置システムにお
    いて、 上記ディスク装置システムは、複数のディスク装置を有
    し、 上記実行順制御手段は、上記コマンドが処理対象とする
    ディスク装置を調べ、異なるディスク装置を処理対象と
    するコマンドが連続するように、上記コマンドの実行順
    序を変更し、 異なるディスク装置が並行して処理をすることを特徴と
    するディスク装置システム。
  4. 【請求項4】請求項1記載のディスク装置システムにお
    いて、 上記実行順制御手段は、 上記コマンドが処理対象とするデータのアドレスを調
    べ、アドレスが連続するコマンドを抽出し、上記アドレ
    スが連続するように、上記コマンドの実行順序を変更
    し、 次に、上記連続するアドレスを有する複数のコマンドは
    1つのコマンドとみなして、上記コマンドが処理対象と
    するディスク装置を調べ、異なるディスク装置を処理対
    象とするコマンドが連続するように、上記コマンドの実
    行順序を変更することを特徴とするディスク装置システ
    ム。
  5. 【請求項5】請求項1、2、3または4記載のディスク
    装置システムにおいて、 予め定められた条件を満たしたときに、上記第一コマン
    ドキューにコマンドを蓄積することを停止するキューサ
    イズ制限手段と、 制限されて、上記第1コマンドキューに蓄積されなくな
    ったコマンドを蓄積する第二コマンドキューと、 第一コマンドキューに蓄積したコマンドの並び変えが終
    了後、上記コマンドを送出し、次に、第二コマンドキュ
    ーにあるコマンドを第一コマンドキューに送るキュー制
    御手段とを有することを特徴とするディスク装置システ
    ム。
  6. 【請求項6】請求項1記載のディスク装置システムにお
    いて、 上記キューサイズ制限手段は、第一コマンドキューにコ
    マンドを蓄積することを、コマンド数が一定値に達した
    場合、または一定時間が経過した場合、または特定のコ
    マンドを外部から受信した場合に停止することを特徴と
    するディスク装置システム。
JP04805193A 1993-03-09 1993-03-09 ディスク装置システム Expired - Lifetime JP3250861B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP04805193A JP3250861B2 (ja) 1993-03-09 1993-03-09 ディスク装置システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP04805193A JP3250861B2 (ja) 1993-03-09 1993-03-09 ディスク装置システム

Publications (2)

Publication Number Publication Date
JPH06259198A true JPH06259198A (ja) 1994-09-16
JP3250861B2 JP3250861B2 (ja) 2002-01-28

Family

ID=12792545

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04805193A Expired - Lifetime JP3250861B2 (ja) 1993-03-09 1993-03-09 ディスク装置システム

Country Status (1)

Country Link
JP (1) JP3250861B2 (ja)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10275059A (ja) * 1996-04-30 1998-10-13 Matsushita Electric Ind Co Ltd 記憶デバイス制御装置及び管理システム
WO1999050849A1 (fr) * 1998-03-27 1999-10-07 Sony Corporation Dispositifs et procedes de sortie de donnees, et d'entree/sortie de donnees
JP2003263276A (ja) * 2002-03-08 2003-09-19 Toshiba Corp ディスクシステムおよびディスクアクセス方法
KR100618790B1 (ko) * 1999-09-29 2006-09-06 삼성전자주식회사 기록 매체의 성능 향상을 위한 연속 기록방법 및 그 회로
WO2007043617A1 (ja) * 2005-10-12 2007-04-19 Nec Corporation I/o要求処理システム及び方法
JP2007304883A (ja) * 2006-05-11 2007-11-22 Fuji Xerox Co Ltd コマンドキューイング制御装置、コマンドキューイングプログラム及びストレージシステム
US7320050B2 (en) 2004-01-27 2008-01-15 Hitachi Global Storage Technologies Netherlands B.V. Data transmission control method and storage device
US7363391B2 (en) 2006-03-02 2008-04-22 Hitachi, Ltd. Storage system for queuing I/O commands and control method therefor
US7370142B2 (en) 2004-03-01 2008-05-06 Hitachi, Ltd. Command control method in network storage system
US7376784B2 (en) 2004-01-26 2008-05-20 Hitachi Global Storage Technologies Netherlands B.V. System and method for selecting command for execution in HDD based on benefit
JP2009032323A (ja) * 2007-07-26 2009-02-12 Toshiba Corp ディスク記憶装置
JP2009054056A (ja) * 2007-08-28 2009-03-12 Hakko Denki Kk 通信コマンド最適化方法、プログラム及びプログラマブル表示器
JP2009145967A (ja) * 2007-12-11 2009-07-02 Hitachi Ltd バックアップ装置及び方法並びにファイル読出し装置
JP2010152571A (ja) * 2008-12-25 2010-07-08 Kyocera Mita Corp Raidドライバ及びこれを備えた電子機器並びにraidに対するアクセス要求調停方法
JP2010218583A (ja) * 2010-07-05 2010-09-30 Nec Corp I/o処理装置及び方法
JP2010537322A (ja) * 2007-08-24 2010-12-02 マイクロソフト コーポレーション 直接大容量記憶装置ファイルインデックス処理
WO2011007459A1 (ja) * 2009-07-17 2011-01-20 株式会社日立製作所 ストレージ装置及びその制御方法
JP2012514809A (ja) * 2009-01-09 2012-06-28 マイクロン テクノロジー, インク. コマンドの変更
WO2012093475A1 (ja) * 2011-01-05 2012-07-12 富士通株式会社 情報転送装置および情報転送装置の情報転送方法
JP2014526735A (ja) * 2011-09-11 2014-10-06 マイクロソフト コーポレーション 検証されたデータセットの不揮発性媒体ジャーナリング

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10275059A (ja) * 1996-04-30 1998-10-13 Matsushita Electric Ind Co Ltd 記憶デバイス制御装置及び管理システム
WO1999050849A1 (fr) * 1998-03-27 1999-10-07 Sony Corporation Dispositifs et procedes de sortie de donnees, et d'entree/sortie de donnees
KR100618790B1 (ko) * 1999-09-29 2006-09-06 삼성전자주식회사 기록 매체의 성능 향상을 위한 연속 기록방법 및 그 회로
JP2003263276A (ja) * 2002-03-08 2003-09-19 Toshiba Corp ディスクシステムおよびディスクアクセス方法
US7376784B2 (en) 2004-01-26 2008-05-20 Hitachi Global Storage Technologies Netherlands B.V. System and method for selecting command for execution in HDD based on benefit
US7320050B2 (en) 2004-01-27 2008-01-15 Hitachi Global Storage Technologies Netherlands B.V. Data transmission control method and storage device
US7370142B2 (en) 2004-03-01 2008-05-06 Hitachi, Ltd. Command control method in network storage system
WO2007043617A1 (ja) * 2005-10-12 2007-04-19 Nec Corporation I/o要求処理システム及び方法
US7707332B2 (en) 2005-10-12 2010-04-27 Nec Corporation I/O-request processing system and method
US7363391B2 (en) 2006-03-02 2008-04-22 Hitachi, Ltd. Storage system for queuing I/O commands and control method therefor
JP2007304883A (ja) * 2006-05-11 2007-11-22 Fuji Xerox Co Ltd コマンドキューイング制御装置、コマンドキューイングプログラム及びストレージシステム
JP2009032323A (ja) * 2007-07-26 2009-02-12 Toshiba Corp ディスク記憶装置
JP2010537322A (ja) * 2007-08-24 2010-12-02 マイクロソフト コーポレーション 直接大容量記憶装置ファイルインデックス処理
JP2009054056A (ja) * 2007-08-28 2009-03-12 Hakko Denki Kk 通信コマンド最適化方法、プログラム及びプログラマブル表示器
JP2009145967A (ja) * 2007-12-11 2009-07-02 Hitachi Ltd バックアップ装置及び方法並びにファイル読出し装置
JP2010152571A (ja) * 2008-12-25 2010-07-08 Kyocera Mita Corp Raidドライバ及びこれを備えた電子機器並びにraidに対するアクセス要求調停方法
US8347032B2 (en) 2008-12-25 2013-01-01 Kyocera Document Solutions Inc. Image forming apparatus and access request arbitration method for a RAID driver
JP2012514809A (ja) * 2009-01-09 2012-06-28 マイクロン テクノロジー, インク. コマンドの変更
US8966231B2 (en) 2009-01-09 2015-02-24 Micron Technology, Inc. Modifying commands
WO2011007459A1 (ja) * 2009-07-17 2011-01-20 株式会社日立製作所 ストレージ装置及びその制御方法
US8352681B2 (en) 2009-07-17 2013-01-08 Hitachi, Ltd. Storage system and a control method for accelerating the speed of copy processing
JP2010218583A (ja) * 2010-07-05 2010-09-30 Nec Corp I/o処理装置及び方法
WO2012093475A1 (ja) * 2011-01-05 2012-07-12 富士通株式会社 情報転送装置および情報転送装置の情報転送方法
JPWO2012093475A1 (ja) * 2011-01-05 2014-06-09 富士通株式会社 情報転送装置および情報転送装置の情報転送方法
JP2014526735A (ja) * 2011-09-11 2014-10-06 マイクロソフト コーポレーション 検証されたデータセットの不揮発性媒体ジャーナリング
US9229809B2 (en) 2011-09-11 2016-01-05 Microsoft Technology Licensing Llc Nonvolatile media journaling of verified data sets

Also Published As

Publication number Publication date
JP3250861B2 (ja) 2002-01-28

Similar Documents

Publication Publication Date Title
JPH06259198A (ja) ディスク装置システム
JP4375435B2 (ja) 予知型データ移行を行う階層ストレージシステム
US6944707B2 (en) Storage subsystem, information processing system and method of controlling I/O interface
EP2361404B1 (en) Method and system for queuing transfers of multiple non-contiguous address ranges with a single command
EP0732659B1 (en) Controlling (n+i) I/O channels with (n) data managers in a homogeneous software programming environment
CN110058932B (zh) 一种用于数据流驱动计算的存储方法和存储系统
KR100415861B1 (ko) 디스크 제어기로부터 디스크 드라이브로 명령을 보낼것인가를 판단하는 방법, 디스크 제어기 및 프로그램을저장하는 기록매체
US5715452A (en) Process of transferring file, process of gaining access to data and process of writing data
US5745915A (en) System for parallel reading and processing of a file
CN1680917A (zh) 用于跟踪完成表中更大量未完成指令的方法和处理器
US5752256A (en) Disk array apparatus and method for dividing and reading/writing partial data across a plurality of drive groups utilizing parallel processing
JP4804175B2 (ja) I/oコマンドをキューイングするストレージシステム及びその制御方法
JP2557199B2 (ja) インターフェース・システムおよび方法
US10452557B2 (en) Storage apparatus, computer system, and method for improved read operation handling
US20150339074A1 (en) Assigning device adaptors to use to copy source extents to target extents in a copy relationship
JP2003131908A (ja) 記憶制御装置
JP2001125829A (ja) コントローラ装置、ディスクコントローラ、補助記憶装置、コンピュータ装置、および補助記憶装置の制御方法
CN1795442A (zh) 用于在主存储器和存储装置之间传送数据的方法和设备
Flynn et al. Operating Systems
EP3293625B1 (en) Method and device for accessing file, and storage system
JPH06161846A (ja) ファイル管理装置
Soloviev Prefetching in segmented disk cache for multi-disk systems
JPH09223049A (ja) ディスクアレイ装置
EP0478337B1 (en) Process of storing data on, or retrieving data from a plurality of disks
CN1744063A (zh) 资源管理装置

Legal Events

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

Free format text: PAYMENT UNTIL: 20071116

Year of fee payment: 6

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

Year of fee payment: 7

Free format text: PAYMENT UNTIL: 20081116

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

Year of fee payment: 7

Free format text: PAYMENT UNTIL: 20081116

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

Year of fee payment: 8

Free format text: PAYMENT UNTIL: 20091116

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

Free format text: PAYMENT UNTIL: 20101116

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20101116

Year of fee payment: 9

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

Year of fee payment: 10

Free format text: PAYMENT UNTIL: 20111116

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

Free format text: PAYMENT UNTIL: 20111116

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20121116

Year of fee payment: 11

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

Year of fee payment: 11

Free format text: PAYMENT UNTIL: 20121116

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

Year of fee payment: 12

Free format text: PAYMENT UNTIL: 20131116

EXPY Cancellation because of completion of term