JP4935182B2 - コマンドキューイング制御装置、コマンドキューイングプログラム及びストレージシステム - Google Patents

コマンドキューイング制御装置、コマンドキューイングプログラム及びストレージシステム Download PDF

Info

Publication number
JP4935182B2
JP4935182B2 JP2006132936A JP2006132936A JP4935182B2 JP 4935182 B2 JP4935182 B2 JP 4935182B2 JP 2006132936 A JP2006132936 A JP 2006132936A JP 2006132936 A JP2006132936 A JP 2006132936A JP 4935182 B2 JP4935182 B2 JP 4935182B2
Authority
JP
Japan
Prior art keywords
command
output
storage queue
data transfer
transfer size
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
JP2006132936A
Other languages
English (en)
Other versions
JP2007304883A (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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation 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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2006132936A priority Critical patent/JP4935182B2/ja
Publication of JP2007304883A publication Critical patent/JP2007304883A/ja
Application granted granted Critical
Publication of JP4935182B2 publication Critical patent/JP4935182B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、上位装置から出力されるデータ転送コマンドをコマンド格納キューに一旦蓄積してからストレージ装置に出力するコマンドキューイング制御装置、コマンドキューイングプログラム及びストレージシステムに関する。
近年、ホストコンピュータとストレージ装置との間のDMA(Direct Memory Access)転送の高速化が検討されている。
ホストコンピュータは、例えば、512バイト、1Kバイトといった容量のブロックを単位とするリード/ライトコマンドを、ストレージ装置に発行することでアクセスを行う。ブロックサイズは、ホストコンピュータで実行されるアプリケーション毎に変わる。
アクセス速度を向上するため、ストレージ装置側のリード/ライト完了を待たずに、ホストコンピュータから複数のコマンドを発行してアクセスを行うコマンドキューイング方式が用いられる(例えば、特許文献1参照。)。例えば、シリアルATA規格のハードディスクでは、複数コマンドをキューに蓄積後、ディスクのシーク順に並び替えてから出力するネイティブコマンドキューイング方式が用いられている。
半導体ストレージにおいては、ハードディスクのようなシークは不要だが、なるべく多くの容量のデータ転送を一括して行い、データ転送完了の割込処理の回数を減らすことで性能を上げるため、コマンドキューイング方式として、主に次の2方式が用いられている。
(a)単純キューイング
ストレージ装置側がビジーならコマンドを蓄積し、そうでなければコマンドを出力する。
(b)マニュアルキューイング
強制的に一定数のコマンドをキューに蓄積する。但し、コマンド到着間隔が長いと一定数の蓄積に時間がかかるため、タイムアウト処理により蓄積を打ち切り、コマンドを出力する。
特開平9−258907号公報
しかし、上記いずれの方式もブロックサイズの変動によって転送速度が低下するという問題がある。
すなわち、単純キューイングでは、ブロックサイズが小さい場合、正味の転送時間が短いため、蓄積されるコマンド数が少なくなることから、アクセス速度の向上が難しくなる。
また、マニュアルキューイングで、上記単純キューイングの問題を解決するには、強制的にコマンド蓄積数を大きく設定すればよいが、逆にブロックサイズが大きい場合、ブロックサイズが小さい場合に比べてコマンド到着頻度が下がると予想され、コマンド蓄積までの時間が長くなる。異なるブロックサイズのコマンドが混在する状況では、タイムアウト処理の待ち時間の最適な設定が難しくなる。
従って、本発明の目的は、ブロックサイズに拘わらずデータ転送の高速化が可能なコマンドキューイング制御装置、コマンドキューイングプログラム及びストレージシステムを提供することにある。
本発明は、上記目的を達成するため、上位装置からストレージ装置へ送信されるデータ転送コマンドを蓄積する先入れ先出し方式のコマンド格納キューと、前記コマンド格納キューに蓄積された前記データ転送コマンドの総転送サイズを検出する総転送サイズ検出部と、前記総転送サイズ検出部の検出結果に基づいて前記コマンド格納キューに対する出力指示を行う出力判定部とを備えたことを特徴とするコマンドキューイング制御装置を提供する。
本発明は、上記目的を達成するため、ストレージ装置に送信するデータ転送コマンドを蓄積する先入れ先出し方式のコマンド格納キュー手段と、前記コマンド格納キュー手段に蓄積された前記データ転送コマンドの総転送サイズを検出する総転送サイズ検出手段と、前記総転送サイズ検出手段の検出結果に基づいて前記コマンド格納キュー手段に対する出力指示を行う出力判定手段の機能をコンピュータに実現させるためのコマンドキューイングプログラムを提供する。
本発明は、上記目的を達成するため、上位装置、ストレージ装置及びコマンドキューイング制御装置から構成されたストレージシステムであって、前記コマンドキューイング制御装置は、前記上位装置から出力されるデータ転送コマンドを蓄積し、前記ストレージ装置へ出力する先入れ先出し方式のコマンド格納キューと、前記コマンド格納キューに蓄積された前記データ転送コマンドの総転送サイズを検出する総転送サイズ検出部と、前記総転送サイズ検出部の検出結果に基づいて前記コマンド格納キューに対する出力指示を行う出力判定部とを備えたことを特徴とするストレージシステムを提供する。
上記構成のコマンドキューイング制御装置、コマンドキューイングプログラム及びストレージシステムによれば、コマンド格納キューに蓄積されるコマンド数は、ブロックサイズが小さいコマンドは多数蓄積され、ブロックサイズが大きいコマンドは少数蓄積される。結果として、コマンド格納キューの蓄積時間のバラツキが減り、安定する。従って、ブロックサイズが異なるデータ転送コマンドがコマンド格納キューに混在する場合に、コマンド数に基づいて出力指示を行うよりも、総転送サイズに基づいて出力指示を行うことにより、コマンド格納キューからコマンドを連続して出力した後に行われる、上位装置に対する出力完了割り込みの回数が安定して削減され、転送性能が向上する。
出力判定部は、総転送サイズが第1の所定値を超えた場合、又はコマンド格納キューから最後にデータ転送コマンドを出力してからの経過時間が第2の所定値を越えた場合に、コマンド格納キューに対して出力指示を行ってもよい。
コマンド格納キューに蓄積されるコマンド数を見ると、ブロックサイズが小さいコマンドは多数蓄積され、ブロックサイズが大きいコマンドは少数蓄積される。ブロックサイズが大きいコマンドほど到着頻度が下がると仮定すると、第1の所定値の総転送サイズを蓄積に要する時間のバラツキが小さくなり、第2の所定値によるタイムアウト処理でのコマンド待ちオーバーヘッドが減ることで、転送性能が向上する。
また、第2の所定値を最後にデータ転送コマンドを出力してからの経過時間に代えてが、最後にデータ転送コマンドが到着してからの経過時間としてもよい。これにより、総転送サイズの蓄積時間よりも、コマンドの到着間隔が安定していてバラツキが少ない場合に、コマンド待ち時間が削減され、転送性能が向上する。
本発明によれば、ブロックサイズに拘わらずデータ転送の高速化が可能となる。
[第1の実施の形態]
図1は、本発明の第1の実施の形態に係るストレージシステムを示す。このストレージシステム1は、上位装置としてのホストコンピュータ2と、コマンドキューイング制御装置3と、ストレージ装置4とを備えて構成されている。
コマンドキューイング制御装置3は、ホストコンピュータ2からの転送コマンドを入力とし、ストレージ装置4に対するデータ転送処理を行うものであり、コマンド格納キュー30、総転送サイズ検出部31A、コマンド判定部32及び出力判定部33Aから構成されている。
コマンド格納キュー30は、転送コマンドを入力して蓄積し、蓄積した転送コマンドを出力判定部33Aからの信号に従って古い順に出力する。
総転送サイズ検出部31Aは、コマンド格納キュー30に蓄積された転送コマンドのブロックサイズの合計値を算出し、算出結果を出力判定部33Aに出力する。なお、合計値は、出力判定部33Aからの指示により初期化する。
コマンド判定部32は、後述する図2のフローチャートに従い、コマンドの種別(例えばリード、ライト、その他)を判定し、結果を出力判定部33Aに出力する。
ストレージ装置4は、半導体ディスク装置、ハードディスク装置、光ディスク装置等を用いることができる。
(第1の実施の形態の動作)
図2は、出力判定部33Aのコマンド格納キュー30に対する出力指示のフローを示す。
コマンド判定部32が、ホストコンピュータ2からのコマンドを検出すると(S1:Yes)、出力判定部33Aは、コマンドをコマンド格納キュー30に蓄積する。
次に、コマンド判定部32は、到着したコマンドがリードコマンド、ライトコマンド、又はそれ以外のコマンドかを判定する(S2)。ここでは、リードコマンドとライトコマンドは、ホスト先頭アドレス、ストレージ先頭アドレス、転送サイズを各々表すフィールドを備えるものとする。なお、リードコマンドとライトコマンドは、ホスト先頭アドレス、ストレージ先頭アドレス、ストレージ終了アドレスからなるものでもよい。
上記ステップ2の判定において、リードコマンドまたはライトコマンドと判定された場合は(S2:Yes)、総転送サイズ検出部31Aは、コマンド格納キュー30に蓄積された各コマンドの、転送サイズのフィールドの合計値である総転送サイズを算出する(S3)。
次に、出力判定部33Aは、総転送サイズが第1の所定値を越えているか、または最後にコマンド格納キュー30からコマンドを出力してからの経過時間が第2の所定値を越えているかを判定し(S4)、いずれか一方の条件を満たしたならば、ステップ5へと進む。第2の所定値は、第1の所定値の転送サイズ分だけのコマンドがコマンド格納キュー30蓄積されるのに必要な予測時間を設定する。例えば、転送サイズが小さいコマンドほど到着頻度が高いと仮定して各到着時間を推定し、転送サイズ分の合計値を第2の所定値とする。
ステップS5において、出力判定部33Aは、ストレージ装置4がビジーであるかどうかを判定し(S5)、ビジーでなければ(S5:No)、コマンド格納キュー30の先頭コマンド(コマンド格納キュー30に蓄積された最も古いコマンド)を含む、連続する同種のコマンドを全て逐次出力する(S6)。例えば、先頭コマンドがリードコマンドであれば、それに続くリードコマンドを全て出力し、ライトコマンドが先頭となった時点で出力を中止する。
次に、出力判定部33Aは、上記ステップ6において出力されたコマンドに対応する転送サイズの合計値を、総転送サイズから減ずるように総転送サイズ検出部31に指示する(S7)。
(具体例)
図3(a)〜(f)は、具体例を示す。コマンド格納キュー30内には、図3(a)に示すように、リードコマンドR1、R2、ライトコマンドW1が蓄積されているとする。図3(b)に示すように、コマンド格納キュー30にライトコマンドW2が入力され、コマンド格納キュー30内の総転送サイズが第1の所定値を超えると、図3(c)に示すように、先行するコマンド(リード)と同一種類のコマンドであるリードコマンドR1,R2がコマンド格納キュー30から順次出力される。
次に、コマンド格納キュー30に、図3(d)に示すように、リードコマンドR3が入力され、続いて図3(e)に示すように、リードコマンドR4が入力され、コマンド格納キュー30内の総転送サイズが第1の所定値を超えると、図3(f)に示すように、先行するコマンド(ライト)と同一種類のコマンドであるライトコマンドW1、W2がコマンド格納キュー30から順次出力される。
(第1の実施の形態の効果)
第1の実施の形態によれば、総転送サイズが第1の所定値を超えているか、最後のコマンドを出力してからの経過時間が第2の所定値を超えている場合に、コマンド格納キュー30に格納されているコマンドを転送するので、ホストコンピュータ2に対する割り込み回数を減らすことができる。
[第2実施の形態]
図4は、本発明の第2の実施の形態に係るストレージシステムを示すブロック図である。本実施の形態は、第1の実施の形態とは総転送サイズ検出部31B及び出力判定部33Bが異なり、他は第1の実施の形態と同様に構成されている。
本実施の形態の総転送サイズ検出部31Bは、連続したリードコマンドの総転送サイズ、及び連続したライトコマンドの総転送サイズを検出するものである。
本実施の形態の出力判定部33Bは、連続したリードコマンドの総転送サイズ又は連続したライトコマンドの総転送サイズが第3の所定値を超えた場合、又は最後にコマンド格納キュー30からコマンドを出力してからの経過時間が第2の所定値を超えた場合に、コマンド格納キュー30からコマンドを出力させるものである。
(第2の実施の形態の動作)
図5は、出力判定部33Bのコマンド格納キュー30に対する出力指示のフローを示す。
コマンド判定部32が、ホストコンピュータ2からのコマンドを検出すると(S11:Yes)、出力判定部33Bは、コマンドをコマンド格納キュー30に蓄積する。
次に、コマンド判定部32は、到着したコマンドがリードコマンド、ライトコマンド、又はそれ以外のコマンドかを判定する(S12)。
上記ステップ12の判定において、リードコマンドまたはライトコマンドと判定された場合は(S12:Yes)、総転送サイズ検出部31Bは、コマンド格納キュー30に蓄積されたリードコマンドの総転送サイズ、及びライトコマンドの総転送サイズを算出する(S13)。
次に、出力判定部33Bは、リードコマンドの総転送サイズ又はライトコマンドの総転送サイズが第3の所定値を超えているか、または最後にコマンド格納キュー30からコマンドを出力してからの経過時間が第2の所定値を越えているかを判定し(S14)、いずれか一方の条件を満たしたならば、ステップ15へと進む。
上記ステップS15において、出力判定部33Bは、ストレージ装置4がビジーであるかどうかを判定し(S15)、ビジーでなければ(S15:No)、コマンド格納キュー30の先頭コマンド(コマンド格納キュー30に蓄積された最も古いコマンド)を含む、連続する同種のコマンドを全て逐次出力する(S16)。
次に、出力判定部33Bは、上記ステップ16において出力されたコマンドに対応する転送サイズの合計値を、リードコマンドの総転送サイズ、又はライトコマンドの総転送サイズから減ずるように総転送サイズ検出部31に指示する(S17)。
(具体例)
図6(a)〜(g)は、具体例を示す。コマンド格納キュー30内には、図6(a)に示すように、リードコマンドR1、R2が蓄積されているとする。図6(b)に示すように、コマンド格納キュー30にリードコマンドR3が入力され、コマンド格納キュー30内のリードコマンドの総転送サイズが第3の所定値を超えると、図6(c)に示すように、先行するコマンド(リード)と同一種類のコマンドであるリードコマンドR1、R2、R3がコマンド格納キュー30から順次出力される。
次に、コマンド格納キュー30に、図6(d)に示すように、ライトコマンドW1が入力され、続いて図6(e)に示すように、ライトコマンドW2が入力され、続いて図6(fに示すように、ライトコマンドW3入力され、コマンド格納キュー30内のライトコマンドの総転送サイズが第3の所定値を超えると、図3(g)に示すように、先行するコマンド(ライト)と同一種類のコマンドであるライトコマンドW1、W2、W3がコマンド格納キュー30から順次出力される。
(第2の実施の形態の効果)
第1の実施の形態の図2においては、ステップS4においてコマンド格納キュー30に蓄積されたリードコマンドとライトコマンドの転送サイズの合計値が第1の所定値を越えると、ステップS5を経てステップS6にてコマンドが出力される。しかし、リードコマンドかライトコマンドのいずれか一方しか出力されないため、実際に転送されるサイズは総転送サイズよりも小さくなる。これがあまりに小さすぎると、転送性能が向上しないこともあり得る。
そこで、総転送サイズとして、連続するリードコマンドの総転送サイズ、連続するライトコマンドの総転送サイズを個別に算出することとし、図2のステップS4の条件を、先頭コマンドと同じ種別のコマンドの総転送サイズが第3の所定値を越えるか、又は最後にコマンドを出力してからの経過時間が第2の所定値を越えているか、いずれか一方の条件を満たしたならばステップ15へと進む、とする。
これにより、転送サイズの計算量が増えるが、実際に転送されるサイズが第1の所定値以上であることが保証され、転送性能が確実に向上する。
なお、上記第2の実施の形態では、第3の所定値をリードコマンドとライトコマンドとで同一としたが、異なる値に設定してもよい。この構成によれば、ステップ4の条件を、先頭コマンドと同じ種別のコマンドの総転送サイズが、もしリードコマンドであれば第3の所定値Rを越え、もしライトコマンドであれば第3の所定値Wを越え、もしくは最後にコマンドを出力してからの経過時間が第2の所定値を越えているか、いずれか一方の条件を満たしたならばステップS5へと進むとする。これにより、リードコマンドとライトコマンドの到着頻度が異なる場合に、各々に適した所定値を設定することが可能となり、転送性能が向上する。
[第3の実施の形態]
図7は、本発明の第3の実施の形態に係るストレージシステムを示す。本実施の形態は、図1に示すコマンドキューイング制御装置3をプログラムによって構成したものである。
このストレージシステム1は、ホストコンピュータ2と、ストレージ装置4とを備える。ホストコンピュータ2は、文書作成プログラム等のアプリケーションプログラム21と、オペレーションシステム(OS)22と、OS22に組み込まれたファイルシステム23と、ストレージ装置4を制御するデバイスドライバ24とを有する。これらのプログラム21、OS22、ファイルシステム23及びデバイスドライバ24は、HDD等に格納されており、図示しないCPUによって実行される。なお、デバイスドライバ24等は、CD−ROM等の記録媒体からホストコンピュータ2内に取り込んでもよく、インターネット等のネットワークを介してホストコンピュータ2内に取り込んでもよい。
デバイスドライバ24は、第1の実施の形態の、コマンド格納キュー30、相転送サイズ検出部31A、コマンド判定部32及び出力判定部33Aにそれぞれ対応した機能を有するコマンド格納キュー手段240、総転送サイズ検出手段24、コマンド判定手段242及び出力判定手段243を備える。
(第3の実施の形態の効果)
第3の実施の形態によれば、総転送サイズが第1の所定値を超えているか、最後のコマンドを出力してからの経過時間が第2の所定値を超えている場合に、コマンド格納キュー30に格納されているコマンドを転送するので、ホストコンピュータ2のCPUに対する割り込み回数を減らすことができる。
なお、第2の実施の形態のコマンドキューイング制御装置3をプログラムによって実現してもよい。
また、第3の実施の形態では、コマンドキューイング制御装置3の全体をソフトウェアによって実現したが、一部をソフトウェアによって実現してもよい。
第1の所定値を1Kバイト、第2の所定値を100msとし、CPUとして、3.6GHzのXeon(登録商標)のものを2個搭載したサーバにより、大きさ512バイトのデータの単位時間あたりの入出力回数を計測したところ、従来方式で約65000に対し本方式で約85000が得られた。
なお、本発明は、上記実施の形態に限定されず、その要旨を変更しない範囲内で種々な変形が可能である。
例えば、第1及び第2の実施の形態では、第2の所定値を最後にコマンドを出力してからの経過時間としたが、最後にコマンドが到着してからの経過時間としてもよい。これにより、総転送サイズの蓄積時間よりも、コマンドの到着間隔が安定していてバラツキが少ない場合に、コマンド待ち時間が削減され、転送性能が向上する。
また、出力判定部は、コマンド格納キュー30に最後に到着したデータ転送コマンドの種別が、その直前に到着したデータ転送コマンドと異なる場合に、コマンド格納キュー30から出力するように指示してもよい。例えば、コマンド格納キュー30に同種コマンドが連続して到着した後に他の種類のコマンドが連続して到着する場合に、コマンド待ち時間が削減され、転送性能が向上する。
本発明の第1の実施の形態に係るストレージシステムを示すブロック図である。 本発明の第1の実施の形態に係る出力判定部のコマンド格納キューに対する出力指示のフローを示す図である。 (a)〜(f)は、本発明の第1の実施の形態に係る出力判定部のコマンド格納キューに対する出力指示の具体例を示す図である。 本発明の第2の実施の形態に係るストレージシステムを示すブロック図である。 本発明の第2の実施の形態に係る出力判定部のコマンド格納キューに対する出力指示のフローを示す図である。 (a)〜(g)は、本発明の第2の実施の形態に係る出力判定部のコマンド格納キューに対する出力指示の具体例を示す図である。 本発明の第3の実施の形態に係るストレージシステムを示すブロック図である。
符号の説明
1…ストレージシステム、2…ホストコンピュータ、
3…コマンドキューイング制御装置、4…ストレージ装置、
21…アプリケーションプログラム、22…オペレーティングシステム、
23…ファイルシステム、24…デバイスドライバ、30…コマンド格納キュー、
31A,31B…総転送サイズ検出部、32…コマンド判定部、
33A,33B…出力判定部、240…コマンド格納キュー手段、
241…総転送サイズ検出手段、242…コマンド判定手段、243…出力判定手段

Claims (11)

  1. 上位装置からストレージ装置へ送信されるデータ転送コマンドを蓄積する先入れ先出し方式のコマンド格納キューと、
    前記コマンド格納キューに蓄積された前記データ転送コマンドの総転送サイズを検出する総転送サイズ検出部と、
    前記総転送サイズ検出部の検出結果に基づいて前記コマンド格納キューに対する出力指示を行う出力判定部とを備えたことを特徴とするコマンドキューイング制御装置。
  2. 前記出力判定部は、前記総転送サイズが第1の所定値を超えた場合、又は前記コマンド格納キューから最後に前記データ転送コマンドを出力してからの経過時間が第2の所定値を越えた場合に、前記コマンド格納キューに対して出力指示を行うことを特徴とする請求項1に記載のコマンドキューイング制御装置。
  3. 上位装置からストレージ装置へ送信されるデータ転送コマンドを蓄積する先入れ先出し方式のコマンド格納キューと、
    前記データ転送コマンドの種別を判定するコマンド判定部と、
    前記コマンド格納キューに蓄積された前記データ転送コマンドの総転送サイズを検出する総転送サイズ検出部と、
    前記コマンド判定部の判定結果及び前記総転送サイズ検出部の検出結果に基づいて前記コマンド格納キューに対する出力指示を行う出力判定部とを備えたことを特徴とするコマンドキューイング制御装置。
  4. 前記出力判定部は、前記総転送サイズが第1の所定値を超えた場合、又は前記コマンド格納キューから最後に前記データ転送コマンドを出力してからの経過時間が第2の所定値を越えた場合に、前記コマンド格納キューに蓄積されているコマンドのうち、先頭コマンドと同種の、連続するコマンド群を全て逐次出力し、前記総転送サイズ検出部に対して、出力した前記コマンド群の転送サイズの合計値を、前記総転送サイズから減じる指示を行うことを特徴とする請求項3に記載のコマンドキューイング制御装置。
  5. 上位装置からストレージ装置へ送信されるデータ転送コマンドを蓄積する先入れ先出し方式のコマンド格納キューと、
    前記データ転送コマンドの種別を判定するコマンド判定部と、
    前記コマンド格納キューに蓄積された前記データ転送コマンドの総転送サイズを前記データ転送コマンドの種別毎に検出する総転送サイズ検出部と、
    前記総転送サイズ検出部の検出結果に基づいて前記コマンド格納キューに対する出力指示を行う出力判定部とを備えたことを特徴とするコマンドキューイング制御装置。
  6. 前記出力判定部は、ライトコマンドまたはリードコマンドの総転送サイズが第3の所定値を超えた場合、又は前記コマンド格納キューから最後に前記データ転送コマンドを出力してからの経過時間が第2の所定値を越えた場合に、前記コマンド格納キューに蓄積されている前記データ転送コマンドのうち、先頭コマンドと同種の、連続するコマンド群を全て逐次出力し、前記総転送サイズ検出部に対して、前記コマンド群の転送サイズの合計値を、対応する前記総転送サイズから減じる指示を行うことを特徴とする請求項5に記載のコマンドキューイング制御装置。
  7. 前記第2の所定値は、前記第1の所定値の転送サイズ分の前記データ転送コマンドが蓄積されるのに必要な予測時間であることを特徴とする請求項2、4又は6に記載のコマンドキューイング制御装置。
  8. 前記第2の所定値は、前記コマンド格納キューから最後に前記データ転送コマンドを出力してからの経過時間に代えて、前記コマンド格納キューに最後に前記データ転送コマンドが到着してからの経過時間とすることを特徴とする請求項2、4又は6に記載のコマンドキューイング制御装置。
  9. 前記出力判定部は、前記コマンド格納キューに最後に到着した前記データ転送コマンドの種別が、その直前に到着した前記データ転送コマンドと異なる場合、前記コマンド格納キューに対する出力指示を行うことを特徴とする請求項3又は5に記載のコマンドキューイング制御装置。
  10. ストレージ装置に送信するデータ転送コマンドを蓄積する先入れ先出し方式のコマンド格納キュー手段と、
    前記コマンド格納キュー手段に蓄積された前記データ転送コマンドの総転送サイズを検出する総転送サイズ検出手段と、
    前記総転送サイズ検出手段の検出結果に基づいて前記コマンド格納キュー手段に対する出力指示を行う出力判定手段の機能をコンピュータに実現させるためのコマンドキューイングプログラム。
  11. 上位装置、ストレージ装置及びコマンドキューイング制御装置から構成されたストレージシステムであって、
    前記コマンドキューイング制御装置は、
    前記上位装置から出力されるデータ転送コマンドを蓄積し、前記ストレージ装置へ出力する先入れ先出し方式のコマンド格納キューと、
    前記コマンド格納キューに蓄積された前記データ転送コマンドの総転送サイズを検出する総転送サイズ検出部と、
    前記総転送サイズ検出部の検出結果に基づいて前記コマンド格納キューに対する出力指示を行う出力判定部とを備えたことを特徴とするストレージシステム。
JP2006132936A 2006-05-11 2006-05-11 コマンドキューイング制御装置、コマンドキューイングプログラム及びストレージシステム Expired - Fee Related JP4935182B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006132936A JP4935182B2 (ja) 2006-05-11 2006-05-11 コマンドキューイング制御装置、コマンドキューイングプログラム及びストレージシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006132936A JP4935182B2 (ja) 2006-05-11 2006-05-11 コマンドキューイング制御装置、コマンドキューイングプログラム及びストレージシステム

Publications (2)

Publication Number Publication Date
JP2007304883A JP2007304883A (ja) 2007-11-22
JP4935182B2 true JP4935182B2 (ja) 2012-05-23

Family

ID=38838751

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006132936A Expired - Fee Related JP4935182B2 (ja) 2006-05-11 2006-05-11 コマンドキューイング制御装置、コマンドキューイングプログラム及びストレージシステム

Country Status (1)

Country Link
JP (1) JP4935182B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010033125A (ja) * 2008-07-25 2010-02-12 Hitachi Ltd ストレージ装置及びデータ転送方法
US8078848B2 (en) 2009-01-09 2011-12-13 Micron Technology, Inc. Memory controller having front end and back end channels for modifying commands

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03186953A (ja) * 1989-12-18 1991-08-14 Hitachi Ltd ディスクキャッシュメモリ制御方式
JPH05257614A (ja) * 1992-03-13 1993-10-08 Nippon Telegr & Teleph Corp <Ntt> ディスク入出力制御方法および装置
JP3250861B2 (ja) * 1993-03-09 2002-01-28 株式会社日立製作所 ディスク装置システム
JP3539802B2 (ja) * 1995-07-19 2004-07-07 株式会社リコー 情報記憶装置
JPH09258907A (ja) * 1996-03-25 1997-10-03 Mitsubishi Electric Corp 複数の記憶ディスク部を有した高可用性の外部記憶装置
JP2000132507A (ja) * 1998-10-27 2000-05-12 Internatl Business Mach Corp <Ibm> Scsiプロトコルにおけるコマンド処理方法およびそれに用いる装置
JP3282599B2 (ja) * 1998-12-17 2002-05-13 日本電気株式会社 コマンドキュー制御装置
JP3712567B2 (ja) * 1999-07-23 2005-11-02 富士通株式会社 記憶装置
JP2001184176A (ja) * 1999-12-27 2001-07-06 Toshiba Corp ディスク制御装置
JP2003162439A (ja) * 2001-11-22 2003-06-06 Hitachi Ltd ストレージシステム及びその制御方法
US7010645B2 (en) * 2002-12-27 2006-03-07 International Business Machines Corporation System and method for sequentially staging received data to a write cache in advance of storing the received data

Also Published As

Publication number Publication date
JP2007304883A (ja) 2007-11-22

Similar Documents

Publication Publication Date Title
JP4356765B2 (ja) 情報処理装置および方法、並びにプログラム
JP3810449B2 (ja) キュー装置
US6901461B2 (en) Hardware assisted ATA command queuing
US8495258B2 (en) Implementing storage adapter performance optimization with hardware accelerators offloading firmware for buffer allocation and automatically DMA
US20070162637A1 (en) Method, apparatus and program storage device for enabling multiple asynchronous direct memory access task executions
US8806071B2 (en) Continuous read burst support at high clock rates
TWI439925B (zh) 內嵌式系統及其執行緒與緩衝區管理方法
US6931501B1 (en) Method and apparatus for merging contiguous like commands
JP4935182B2 (ja) コマンドキューイング制御装置、コマンドキューイングプログラム及びストレージシステム
US20150331616A1 (en) Set head flag of request
US9471227B2 (en) Implementing enhanced performance with read before write to phase change memory to avoid write cancellations
US10346070B2 (en) Storage control apparatus and storage control method
US20070226382A1 (en) Method for improving direct memory access performance
US7249237B2 (en) Control method for data transfer control unit
CN103176753A (zh) 存储设备及其数据管理方法
JP2001125749A (ja) 外部記憶装置ドライバプログラムを記録した記録媒体、及び外部記憶装置アクセス機能を有する計算機
EP2096551A1 (en) Channel device, information processing system and data transfer method
JP2006031383A (ja) リアルタイム性能向上方式を実装したディスク装置
JP4867897B2 (ja) コマンドキューイング制御装置、コマンドキューイングプログラム及びストレージシステム
TWI435267B (zh) 處理器電路及讀取資料的方法
JP2007011661A (ja) ディスク装置及びディスク装置のキャッシュメモリ制御方法
EP2854039B1 (en) Method and apparatus for copying data using cache
JP5207374B2 (ja) データ処理装置
CN100371916C (zh) Scsi磁盘记录装置与方法
JP2006331008A (ja) メモリインタフェース

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110510

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110705

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110705

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: 20120124

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120206

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

Free format text: PAYMENT UNTIL: 20150302

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees