JPH1185661A - 2次記憶装置およびハードディスク装置の制御方法 - Google Patents

2次記憶装置およびハードディスク装置の制御方法

Info

Publication number
JPH1185661A
JPH1185661A JP25790697A JP25790697A JPH1185661A JP H1185661 A JPH1185661 A JP H1185661A JP 25790697 A JP25790697 A JP 25790697A JP 25790697 A JP25790697 A JP 25790697A JP H1185661 A JPH1185661 A JP H1185661A
Authority
JP
Japan
Prior art keywords
command
queue
hard disk
sequential read
registered
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.)
Pending
Application number
JP25790697A
Other languages
English (en)
Inventor
Hiroki Kanai
宏樹 金井
Yoshifumi Takamoto
良史 高本
Akira Fujibayashi
昭 藤林
Hiroaki Odawara
宏明 小田原
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 JP25790697A priority Critical patent/JPH1185661A/ja
Publication of JPH1185661A publication Critical patent/JPH1185661A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 ディスク制御装置におけるハードディスク装
置の制御について、コマンド発行回数を低減し、コマン
ドの応答劣化なく、制御処理時間を短縮する。 【解決手段】 ハードディスク装置(HD)3はディスク制
御装置2からシーケンシャルリードコマンド(SRC)を受け
ると、コマンドキュー39とコマンド管理テーブル37に登
録する。SRCはHD3の識別子、HD3内のリード開始アドレ
ス、転送処理の繰り返し回数、転送処理毎の転送データ
長を持つ。コマンドキュー内のSRCを実行すると、SRC管
理テーブル40に少なくともSRCのタグと既処理回数を登
録し、一回目の読出し、転送を行い、既処理回数を1に
更新し、再度SRCをコマンドキューに登録する。登録で
きないときは再登録待ちキュー41に登録し、コマンドキ
ューが空いたら該キューに登録する。このようにしてSR
Cを既処理回数が繰り返し回数に達するまで読出し、転
送を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、2次記憶装置に係
わり、特に、ディスク制御装置とハードディスク装置か
らなる2次記憶装置と、ハードディスク装置の制御方法
に関する。
【0002】
【従来の技術】計算機システムでは、データの記憶に2
次記憶装置を用いている。2次記憶装置の代表例として
はディスクアレイが挙げられる。2次記憶装置は、大局
的には、ホストとディスク制御装置とハードディスク装
置から構成される。ホストは、ホストインタフェースを
介してディスク制御装置と接続し、また、ディスク制御
装置は、ディスクインタフェースを介してハードディス
ク装置と接続する。ホストは、ディスク制御装置にコマ
ンド形式で指示をし、ディスク制御装置は、受領コマン
ドに応じてハードディスク装置をアクセスしホストに応
答する。
【0003】一般に、データのアクセス特性には、シー
ケンシャルアクセスとランダムアクセスがある。近年、
データウエアハウスやマルチメディアなどのアプリケー
ションにより、シーケンシャルアクセス特性が重要とな
っている。シーケンシャルアクセスは、数百キロバイト
からメガバイトオーダの大容量データを、連続したアド
レスから順次アクセスする。以下、ディスク制御装置と
ハードディスク装置の従来動作の詳細について、ホスト
が、ハードディスク装置のデータを読込む(以下リード
と呼ぶ)場合を例にとり、特に、シーケンシャルアクセ
ス時について説明する。
【0004】ホストは、データのリードに先立ち、ホス
ト上のメモリにリードデータを格納するデータ格納領域
を確保する必要がある。従って、ディスク制御装置のリ
ード要求は、確保したメモリ単位(以下入出力管理単位
と呼ぶ)で行うことになる。
【0005】代表的なオペレーティングシステムでは、
入出力管理単位は数kBから数十kB程度である。例え
ば、MSDOSでは、入出力管理単位であるクラスタ
は、2kBから32kBである。このような入出力管理
単位の例は、アンダースタンディング I/Oサブシス
テムズ,アダプテック プレス,1996(Understand
ing I/O Subsystems FirstEdition,Adaptec Press,19
96)記載されている。入出力管理単位以上のデータをリ
ードする場合、ホストは、入出力管理単位毎に複数のリ
ードコマンドを発行する。
【0006】ホストからのリードコマンドを受信したデ
ィスク制御装置は、当該データがキャッシュ上にあるか
検査する。キャッシュ上にある場合は、直ちに当該デー
タをキャッシュからホストに転送する。このため、ハー
ドディスク装置にアクセスする必要がなく、例えば、2
ms程度の短い応答時間で処理できる。一方、当該データ
がキャッシュ上に存在しない場合は、始めに、当該デー
タをハードディスク装置からキャッシュ上に転送しなけ
ればならない。ハードディスク装置の動作には機械的動
作であるシークやサーチをともなう。典型的にはシーク
サーチ時間は、10msから20ms程度であり、データがキ
ャッシュにある場合のディスク制御装置の動作に比べ5
倍から10倍程度遅い。従って、ホストからのリードアク
セスにハードディスク装置のアクセスがともなう場合
は、リード性能が悪化し問題となる。
【0007】シーケンシャルアクセスの場合は、ホスト
からのリード要求は、連続したアドレスを順次アクセス
していく。ディスク制御装置が、次にホストから要求さ
れるであろうデータを予測し、あらかじめ、ハードディ
スク装置からキャッシュ上にデータを転送しておくこと
で、実際に、ホストがデータを要求した場合には、キャ
ッシュ上にデータがあるので、短い応答時間での処理が
可能となる。この動作は、一般に先読みとして知られて
いる。これにより、ディスク制御装置は、ハードディス
ク装置のシーク時間やサーチ時間を隠蔽し、ホストへの
応答時間を見かけ上短縮するために、シーケンシャルリ
ードアクセスを高速に処理できる。そこで、ディスク制
御装置は、ホストから受信したリードコマンドの履歴か
ら、アクセス特性を判定し、シーケンシャルアクセスを
検出した場合には、先読みを行い、性能を改善する。
【0008】次に、ディスク制御装置のハードディスク
装置からのデータリードについて説明する。ディスク制
御装置とハードディスク装置間のディスクインタフェー
スは、通常、コマンドを用いて指示を行う。ディスクイ
ンタフェースの代表例としてはSCSIが、挙げられ
る。SCSIについての詳細は、SCSIバス規格(AN
SI X3.131-1986)に記載されており、SCSIバスを用
いた従来例として特願平5−249069が挙げられ
る。
【0009】ディスク制御装置は、データリードに先立
ち、メモリ上にデータ格納領域を確保する。通常、メモ
リ内のキャッシュ領域に確保する。この結果、ディスク
制御装置は、確保できたメモリ容量の範囲内でハードデ
ィスク装置からデータリードを指示することになる。通
常、メモリは、数十キロバイト単位で管理する。リード
アクセスのためのハードディスク装置へのコマンド発行
処理や管理単位のメモリ確保は、制御プロセッサが行
う。このように、管理単位毎にハードディスク装置から
のリードアクセスを行う。従って、従来のディスク制御
装置は、大容量のデータをシーケンシャルにアクセスす
る場合にも、ディスク制御装置内のメモリのキャッシュ
領域を管理単位毎に分割して、この分割単位毎にハード
ディスク装置にリードコマンドを発行していた。
【0010】本来、大容量のデータをアクセスする場
合、シーケンシャルアクセスであることから、ハードデ
ィスク装置へのリード要求は、1回のコマンドにより指
示可能のはずである。しかし、従来は複数回のコマンド
を発行していたため、ディスク制御装置のハードディス
ク装置のリード処理量が大きく、制御プロセッサがシス
テムのボトルネックとなるという問題点があった。
【0011】
【発明が解決しようとする課題】本発明の主な課題は、
ディスク制御装置におけるハードディスク装置の制御に
係わる処理時間を短縮することである。ディスク制御装
置の処理時間を短縮するためには、処理量の低減が有効
であり、このためには、コマンドの発行回数を低減する
必要がある。コマンド発行回数を低減するためには、管
理サイズを増やし、1回のコマンドでより多くのデータ
を読み込むことが行われている。しかし、この場合は、
1回のリード処理時間が長くなるため、同一ハードディ
スク装置に複数のリードコマンドを発行した場合には、
待ち時間が増大し、応答時間が劣化するという別の問題
が発生する。特に、近年のハードディスク装置の大容量
化にともない、同一のハードディスク装置への同時アク
セスが多発する傾向が強くなっている。そこで、本発明
の課題は、コマンドの応答時間を劣化させることなく、
コマンド発行回数を低減し、ディスク制御装置における
ハードディスク装置の制御処理時間を短縮することにあ
る。
【0012】
【課題を解決するための手段】上記課題を解決するた
め、本発明は、ハードディスク装置と、ディスク制御装
置と、該ハードディスク装置と該ディスク制御装置を接
続するディスクインタフェースからなる2次記憶装置に
おいて、前記ディスク制御装置は、前記ハードディスク
装置の識別子と該ハードディスク装置内のリード開始ア
ドレスと転送処理の繰り返し回数と転送処理毎の転送デ
ータ長を有するシーケンシャルリードコマンドを前記ハ
ードディスク装置に発行するようにしている。
【0013】さらに、前記ハードディスク装置には、制
御プロセッサとメモリを有し、該メモリ内に、コマンド
管理テーブルと、処理待ちの受信コマンド用のコマンド
キューと、該コマンドキューへの再登録待ちコマンド用
の再登録待ちキューと、少なくとも処理繰り返し回数と
処理実行回数を保持するシーケンシャルリードコマンド
管理テーブルを設けるようにしている。
【0014】また、ハードディスク装置の制御方法であ
り、ディスク制御装置から受信したシーケンシャルリー
ドコマンドを前記コマンドキュー及びコマンド管理テー
ブルに登録し、実行したとき、シーケンシャルリードコ
マンド管理テーブルへの登録を行い、転送データ長の転
送処理を終了するとシーケンシャルリードコマンド管理
テーブル内の転送処理の実行回数をインクリメントし、
実行回数と該シーケンシャルリードコマンドの繰り返し
回数と比較判定し、実行回数が繰り返し回数に達するま
では、シーケンシャルリードコマンドを再度受信コマン
ド用のコマンドキューに登録することで、転送データ長
の転送を繰り返し回数実行するようにしている。
【0015】さらに、シーケンシャルリードコマンドを
再度受信コマンド用のコマンドキューに登録する際に、
該コマンドキューが満杯でありコマンドキューを登録不
可能な場合は、該シーケンシャルリードコマンドを再登
録待ちコマンド用の再登録待ちキューに登録し、前記コ
マンドキューに空きが発生した時点に、該シーケンシャ
ルリードコマンドを前記コマンドキューに登録するよう
にしている。
【0016】さらに、前記ディスク制御装置からシーケ
ンシャルリードキャンセルコマンドを受信したとき、コ
マンドキュー、または、再登録待ちキューから該当シー
ケンシャルリードコマンドをキューから削除するように
している。
【0017】
【発明の実施の形態】本発明の実施例を図を用いて以下
に説明する。図1は、本発明に係わるディスク制御装置
とハードディスク装置からなる2次記憶装置の構成を示
している。ディスク制御装置2とホストプロセッサ1
は、ホストインタフェース4で接続される。ホストイン
タフェース4は、SCSI、または、ファイバチャネ
ル、または、SCSIプロトコルをマッピングしたファ
イバチャネルを用いる場合について述べるが、これに限
らない。ディスク制御装置2は、制御プロセッサ20と
ホスト制御部21とメモリ22とディスク制御部23、
および、各部を接続するバス24から構成する。ホスト
制御部21は、ホストインタフェース4の通信制御を行
う。ディスク制御部23は、ディスクインタフェース5
の通信制御を行う。ディスクインタフェース5も、ホス
トインタフェース同様、SCSIまたはファイバチャネ
ルを用いる。メモリ22内には、ハードディスク装置3
の制御を行うディスク制御プログラムと、ホストプロセ
ッサからのアクセス特性の判定と先読みを指示する先読
み判定プログラムと、先読みの管理に使用する先読み管
理テーブルとデータを格納するキャッシュ領域がある。
先読み判定プログラムは、ハードディスク装置3の連続
したアドレスへのアクセスが連続して発生した場合は、
シーケンシャルアクセスと判定し、先読みを指示する。
この指示により制御プロセッサ20はシーケンシャルリ
ードコマンドを生成し、リードされるデータを格納する
領域をメモリ22のキャッシュ領域に確保する。
【0018】ハードディスク装置3は、ハードディスク
装置全体を制御する制御プロセッサ30と、ディスク制
御装置2と接続するディスクインタフェース5の制御を
行うディスクインタフェース制御部31と、各種の情報
の格納やキャッシュとして用いるメモリ34と、ディス
クの制御を行うディスク制御部32と、各部を接続する
バス33、および、実際にデータを記憶するディスク4
2から構成する。メモリ34内には、制御プロセッサ3
0上で実行するコマンド処理プログラム35と、データ
を格納してキャッシュとして使用するキャッシュ領域3
6と、ディスク制御装置2から受信したコマンドの管理
を行うコマンド管理テーブル37と、実行待ち状態のコ
マンドを格納するコマンドキュー39と、コマンドキュ
ー39に登録中のコマンド数を管理するコマンドキュー
管理情報38と、シーケンシャルリードコマンドの処理
状態を管理するためのシーケンシャルリードコマンド管
理テーブル40と、コマンドをコマンドキュー39に再
登録するための再登録待ちキュー41とがある。
【0019】シーケンシャルリードコマンドは、シーケ
ンシャルリードコマンド管理テーブル40をもとに実行
され、コマンドで指定した回数まで、リード処理を繰り
返す。一回のリード処理が終わると再度コマンドキュー
に登録する。コマンドキュー39が満杯の場合は、再登
録待ちキュー41に登録する。本実施例は、ハードディ
スク装置3に再登録待ちキュー41とシーケンシャルリ
ードコマンド管理テーブル40を設けたところに特徴が
ある。これにより、1つのシーケンシャルリードコマン
ドで、リード処理を繰り返し実行できるようになるた
め、ディスク制御装置2におけるリードコマンドの処理
回数を低減でき処理量の低減を実現できる。
【0020】図2は、ディスク制御装置2がハードディ
スク装置3へのシーケンシャルリード指示に用いるコマ
ンド例である。本実施例では、ディスクインタフェース
としてSCSIを用いた場合を示している。該コマンド
は、SCSIで規定されるコマンドディスクリプタブロ
ック(CDB)を使用する。バイト0は、コマンドフィ
ールドであり、ベンダユニークコードのうちのC1(1
6進数)のベンダユニークコードを用いている。バイト
1は、ハードディスク装置3の識別子であるロジカルユ
ニットナンバ(LUN)(3ビット)である。バイト2
からバイト5は、ハードディスク装置3内のリード開始
アドレスを示す論理ブロックアドレスである。バイト6
とバイト7は、転送データ長であり、バイト8は処理繰
り返し回数であり、バイト9はコントロールバイトを示
すフィールドである。
【0021】本実施例では、処理繰り返し回数を指示す
るフィールドを設けることで、転送データ長で示したデ
ータ長の転送を行う処理を処理繰り返し回数分だけ繰り
返して転送することを指示できるところに特徴がある。
従って、本コマンドを用いると1回のコマンド発行で、
処理繰り返し回数分のコマンドを発行したのと同等のデ
ータをリードできる。バイト6とバイト7で示す転送デ
ータ長は、1回のコマンド処理毎に転送するデータ長を
ブロック数で示しており、全リード長は、(転送データ
長)×(処理繰り返し回数)となる。従来のリードコマ
ンドは、フィールドで指示する転送データ長が全リード
長である点が異なる。
【0022】ハードディスク装置3の制御プロセッサ3
0は、コマンドを受信すると、該コマンドのコマンドデ
ィスクリプタブロックの一部またはすべての情報を用い
て、受信コマンドをコマンドキュー39とコマンド管理
テーブルに登録する。図3は、コマンドキュー39のフ
ォーマットを示した構成図である。図中の括弧内に、各
フィールドの一例を示した。ハードディスク装置3が受
信したコマンドは、本フォーマット301でキューの再
後尾に接続する。本フォーマットは、少なくとも、コマ
ンド間でのユニークな管理番号を示すタグフィールド
と、キューのスケジューリング方法を示すキューフィー
ルドと、リードやライト等のコマンド種別を示すコマン
ドフィールドと、アクセス開始するアドレスを示す先頭
論理ブロックアドレスフィールドと、ブロック数(転送
データ長)フィールドと、実際にコマンドの詳細を格納
したコマンド管理テーブル37内のアドレスを示すフィ
ールドの各フィールドからなる。
【0023】図4は、コマンド管理テーブル37の詳細
を示したテーブルの構成例である。コマンド管理テーブ
ル37は、少なくとも、コマンド間でのユニークな管理
番号を示すタグと、コマンド発行もとであるイニシエー
タ(ここではディスク管理装置のこと)のID番号と、コ
マンドディスクリプタ(図2のバイト0〜9)から構成
する。さらに、本実施例では、コマンドがシーケンシャ
ルリードコマンドの場合は、対応するタグの、シーケン
シャルリード管理テーブルへのアドレスを格納しておく
ところに特徴がある。制御プロセッサ30はコマンド処
理プログラムにより、新規コマンドを受信時にコマンド
(シーケンシャルリードコマンドを含む)を管理テーブ
ルに登録し、シーケンシャルリードコマンドについては
シーケンシャルリードコマンドテーブルに必要な情報を
登録する。また、コマンド終了時にはコマンド(シーケ
ンシャルリードコマンドを含む)を管理テーブルから削
除し、シーケンシャルリードコマンドについてはシーケ
ンシャルリードコマンドテーブルから該コマンドの情報
を削除する。また、実際のコマンド処理時には、本コマ
ンド管理テーブルを参照して、コマンドの詳細情報を取
得する。この際、シーケンシャルリードコマンドに関し
ては、対応するシーケンシャルリード管理テーブルへの
アドレスを用いることで、シーケンシャルリード管理テ
ーブルからのコマンド処理情報の取得を短時間で実行で
きる。
【0024】次に、シーケンシャルリードコマンドの処
理情報を管理するシーケンシャルリードコマンド管理テ
ーブル40の詳細について、図5を用いて説明する。該
シーケンシャルリードコマンド管理テーブル40は、少
なくとも、コマンド間でのユニークな管理番号を示すタ
グと、既処理回数(実行回数)から構成する。 本実施
例の場合は、コマンド間でのユニークな管理番号を示す
タグと、開始(先頭)論理ブロックアドレスと、転送デ
ータ長(ブロック数)と、処理回数(処理繰り返し回
数)と、既処理回数(実行回数)から構成している。シ
ーケンシャルリードコマンドは、1回の処理終了時に、
処理繰り返し回数と既処理回数を比較判定して、コマン
ドをコマンドキュー39に再登録するかを判断する。
【0025】以下、図6から図8のフローチャートを用
いて、ハードディスク装置3のシーケンシャルリードの
処理フローを説明する。一連の処理は、制御プロセッサ
30がメモリ34内のコマンド処理プログラム35を実
行して行う。始めに、ハードディスク装置3がディスク
制御装置2からコマンドを受信した時の処理を図6を用
いて説明する。制御プロセッサ30は、ディスクインタ
フェース制御部31からコマンド受信通知を受けると、
新規コマンド受信時処理を開始する。本処理は、受信コ
マンドのコマンドキュー39への登録を行う。
【0026】始めにコマンドキュー39をロックする
(ステップ61)。コマンドキュー39にコマンドの登
録が可能かどうかを調べるために、コマンドキュー39
が満杯かどうか判定する(ステップ62)。コマンドキ
ュー39が満杯でコマンドを登録できない場合は、ディ
スク制御装置2にQUEUE FULLステータスを応答し、コマ
ンドを実行出来ないことを通知する(ステップ63)。
他方、コマンドキュー39に空きがありコマンドを登録
可能な場合は、さらに、再登録待ちキュー41を調べ、
コマンド空き待ち状態の再キューイングコマンドがある
か判定する(ステップ64)。コマンド空き待ち状態の
再キューイングコマンドがある場合は、ステップ63を
処理する。再キューイングコマンドがない場合は、受信
コマンドをコマンドキュー39に登録するとともに、コ
マンド登録数をインクリメントしコマンドキュー管理情
報38を更新する(ステップ65)。さらに、コマンド
管理テーブル37にタグとコマンドディスクリプタを登
録する(ステップ66)。ステップ63またはステップ
66処理後は、コマンドキュー39のロックを解除し
(ステップ67)、新規コマンド受信時処理を終了す
る。
【0027】次に、ハードディスク装置3がコマンド処
理を開始する時の処理を図7を用いて説明する。コマン
ド処理を開始すると、始めにコマンドキュー39をロッ
クする(ステップ71)。キューから先頭コマンドを取
得する(ステップ72)。さらに、コマンドキュー39
のコマンド登録数をデクリメントしキュー管理情報を更
新する(ステップ73)。次に、再登録待ちキュー41
を調べ、キュー空き待ちのコマンドがあるか判定する
(ステップ74)。空き待ち状態のコマンドがない場合
は後述のステップ77に進む。一方、空き待ち状態のコ
マンドがある場合は、再登録待ちキュー41に登録され
ている先頭のコマンドをコマンドキュー39に再登録す
る(ステップ75)。さらに、コマンドキュー39のコ
マンド登録数をインクリメントしキュー管理情報38を
更新する(ステップ76)。続いて、コマンドキュー3
9のロックを解除する(ステップ77)。ステップ72
で取得したコマンドの解析を行う(ステップ78)。解
析結果に応じて各コマンドの処理を行う。
【0028】本実施例では、コマンドキュー39からの
コマンド取得時に、再登録待ちコマンドがあるか判定し
再登録することで、コマンドキュー39が満杯のため
に、再登録待ち状態にあるコマンドを、コマンドキュー
39に空きが発生した時点で、直ちに再登録できるよう
にしたところに特徴がある。この結果、ディスク制御装
置2からの新規コマンドによりコマンドキュー39が満
杯になり、再登録待ち状態のコマンドが処理できないデ
ッドロック状態を回避できる。
【0029】次に、シーケンシャルリードコマンドの処
理フローを図8を用いて説明する。コマンド解析により
シーケンシャルリードコマンドを識別すると、シーケン
シャルリードコマンドの処理を開始する。はじめに、該
シーケンシャルリードコマンドが、シーケンシャルリー
ドコマンド管理テーブル40に登録済みかどうか判定す
る(ステップ81)。判定は、シーケンシャルリードコ
マンド管理テーブル40に該コマンドと同じタグがある
かで判定できる。未登録の場合はシーケンシャルリード
コマンド管理テーブル40に登録を行う(ステップ8
2)。次に、シーケンシャルリードコマンド管理テーブ
ル40から読み込みアドレスと転送データ長(ブロック
数)を取得する(ステップ83)。転送データ長分のデ
ータをバッファに読み込み指示する(ステップ84)。
読み込み完了後(ステップ85)、ディスクインタフェ
ース制御部31にディスク制御装置2への転送を指示す
る(ステップ86)。転送終了の報告を待ち、転送終了
の報告があった(ステップ87)後、シーケンシャルリ
ードコマンド管理テーブル40を更新する。すなわち、
転送の実行回数(既処理数)をインクリメントし、読み
込みアドレスに、今回の転送データ長(ブロック数)を
加える(ステップ88)。次に、繰り返し判定を行う
(ステップ89)。判定は、実行回数と繰り返し回数を
比較し、実行回数が繰り返し回数より少ない場合は、コ
マンドキュー39への再登録処理に進み(図中A)、実
行回数が繰り返し回数に達している場合は、コマンド処
理終了に進む。
【0030】図中Aのコマンドキュー39への再登録処
理は、キューの変更にそなえ、コマンドキュー39にロ
ックをかけ(ステップ90)、キューが満杯かを判定す
る(ステップ91)。コマンドキュー39に空きがある
ならば、該コマンドをコマンドキュー39に再登録する
(ステップ92)。図には示していないが、この際、コ
マンドキュー管理情報38の登録コマンド数もインクリ
メントする。一方、コマンドキュー39が満杯で、登録
不可の場合は、該コマンドを再登録待ちキュー41に登
録する(ステップ93)。コマンドキュー39のロック
解除し(ステップ94)終了する。ステップ89の繰り
返し判定の結果、次の転送がない場合には、シーケンシ
ャルリードコマンド管理テーブル38から、該コマンド
の情報を削除し更新する(ステップ95)。図には示し
ていないが、この際、コマンド管理テーブル37からも
該コマンドの情報を削除し更新する。以上で、シーケン
シャルリードコマンド処理を終了する。
【0031】次に、ディスク制御装置2が、先読みを行
うために、ハードディスク装置3に対し、シーケンシャ
ルリードコマンドを発行した後に、該シーケンシャルリ
ードコマンドを中止する場合の、ハードディスク装置2
の処理について説明する。図9は、ハードディスク装置
2が、コマンドをキャンセルするコマンド(シーケンシ
ャルリードキャンセルコマンド)を受信した場合のフロ
ーを示している。始めに、コマンドキュー39をロック
する(ステップ901)。次に、当該コマンドがコマン
ドキュー39にあるか調べる(ステップ902)。コマ
ンドキュー39にある場合は、コマンドキュー39から
当該コマンドを削除する(ステップ903)。一方、コ
マンドキュー39にない場合は、つづいて、当該コマン
ドが再登録待ちキュー41にあるか調べる(ステップ9
05)。再登録待ちキュー41にある場合は、再登録待
ちキュー41から当該コマンドを削除する(ステップ9
06)。一方、コマンドキュー39、再登録待ちキュー
41ともに、該当コマンドがなく、現在処理中のコマン
ドが該当コマンドである場合は、処理を中止する(ステ
ップ907)。最後に、コマンドキュー39のロックを
解除した後(ステップ904)、コマンド管理テーブル
37から当該コマンドの管理情報を削除する(ステップ
908)。図には示していないが、コマンドキュー管理
情報38やシーケンシャルリードコマンド管理情報40
からも当該コマンドに関する情報を削除することは言う
までもない。以上により、ディスク制御装置2は、一
度、発行した先読み指示を、中止することが可能となる
ため、先読みの予測が誤った場合に、ハードディスク装
置の無駄な動作を中止することができる。
【0032】次に、シーケンシャルリードコマンドの実
行例を、主に図10に示すシーケンシャルリードコマン
ド管理テーブルの変化を追って説明する。ハードディス
ク装置が受信したシーケンシャルリードコマンドは、図
10(a)に示すように、開始論理ブロックアドレスが
‘0’、転送データ長(ブロック数)が‘4’、処理繰
り返し回数(処理回数)‘3’であるとする。受信した
シーケンシャルリードコマンドは、前述した図6のフロ
ーにしたがって、コマンドキュー39とコマンドキュー
管理テーブル38に登録される。コマンドキュー39内
のシーケンシャルリードコマンドが実行段階に至ると、
前述した図7のフローにしたがって、処理が行われ、コ
マンドの解析が行われ、実行されるコマンドがシーケン
シャルリードコマンドであると判断される。シーケンシ
ャルリードコマンドの処理が開始されると、図8のフロ
ーにしたがって処理が進められ、シーケンシャルリード
コマンド管理テーブルへの登録が行われ、テーブル内容
は図10(a)のようになる。
【0033】ディスク42からの一回目のデータの読み
取りと、そのデータの転送が行われ、終了すると、シー
ケンシャルリードコマンド管理テーブルは図10(b)
のように更新される。すなわち、開始論理ブロックアド
レスは‘4’に変化し、既処理数(転送の実行回数)は
‘1’に変化する。
【0034】そして、既処理数は‘1’であり、処理回
数‘3’に達していないので、シーケンシャルリードコ
マンドを再度コマンドキュー39に登録するが、コマン
ドキューが満杯であったとすると、このコマンドを再登
録待ちキュー41に登録する。コマンドキュー39内の
コマンドが実行され、コマンドキューに空きができる
と、再登録待ちキュー41に登録されたシーケンシャル
リードコマンドがコマンドキュー41の後尾に登録され
る。
【0035】再びシーケンシャルリードコマンドの実行
段階に至ると、前述の処理が再度行われ、ディスク42
からの二回目のデータの読み取りと、そのデータの転送
が終了すると、シーケンシャルリードコマンド管理テー
ブルは図10(c)のように更新される。すなわち、開
始論理ブロックアドレスは‘8’に変化し、既処理数
(転送の実行回数)は‘2’に変化する。そして、既処
理数は‘2’であり、処理回数‘3’に達していないの
で、シーケンシャルリードコマンドを再度コマンドキュ
ー39に登録する。今度はコマンドキューに空きがあ
り、コマンドキュー39の後尾に登録されたとする。
【0036】コマンドキュー39内のシーケンシャルリ
ードコマンドが再び実行段階に至ると、前述の処理が再
度行われ、ディスク42からの三回目のデータの読み取
りと、そのデータの転送が終了すると、シーケンシャル
リードコマンド管理テーブルは図10(d)のように更
新される。すなわち、開始論理ブロックアドレスは‘1
2’に変化し、既処理数(転送の実行回数)は‘3’に
変化する。ここで、既処理数は‘3’であり、処理回数
‘3’に達しているので、シーケンシャルリードコマン
ド管理テーブル38から、該コマンドの情報を削除し、
かつ、コマンド管理テーブル37からも該コマンドの情
報を削除する。これにより、シーケンシャルリードコマ
ンドの実行は終了する。
【0037】
【発明の効果】ディスクインタフェースは、少なくとも
該ハードディスク装置の識別子と該ハードディスク装置
内のリード開始アドレスと転送処理の繰り返し回数と転
送処理毎の転送データ長からなるシーケンシャルリード
コマンドを備えるようにしたので、ディスク制御装置の
制御プロセッサで処理する複数のコマンド発行回数を低
減することができる。また、ハードディスク装置は、受
信したシーケンシャルリードコマンドを複数回繰り返し
て実行することができる。さらに、ハードディスク装置
は、シーケンシャルリードコマンドで指定された転送デ
ータ長の転送を該コマンドで指定された繰り返し回数だ
け実行するようにしたので、受信コマンドを指示された
繰り返し回数だけ実行することができる。さらに、ハー
ドディスク装置は、シーケンシャルリードコマンドを再
度受信コマンド用のコマンドキューに登録する際に、該
コマンドキューが満杯でありコマンドキューを登録不可
能な場合は、該コマンドを再登録待ちコマンド用の再登
録待ちキューに登録し、前記コマンドキューに空きが発
生した時点に、該コマンドを該コマンドキューに登録す
るようにしたので、コマンドキューが満杯時になった場
合にもコマンドの再登録をすることができる。
【図面の簡単な説明】
【図1】本発明に係わる2次記憶装置の一例を示すブロ
ック構成図である。
【図2】コマンドの一例を示す図である。
【図3】ハードディスク装置のコマンドキューのキュー
のフォーマントの一例を示す図である。
【図4】ハードディスク装置のコマンド管理テーブルの
一例を示す図である。
【図5】ハードディスク装置のシーケンシャルリードコ
マンド管理テーブルの一例を示す図である。
【図6】ハードディスク装置のコマンド処理に関するコ
マンド受信時のキュー登録の一例を示すフローチャート
である。
【図6】ハードディスク装置のコマンド処理に関するコ
マンド受信時のキュー登録の一例を示すフローチャート
である。
【図7】ハードディスク装置のコマンド処理に関するコ
マンド処理時の一例を示すフローチャートである。
【図8】ハードディスク装置のコマンド処理に関するシ
ーケンシャルリードコマンド処理の一例を示すフローチ
ャートである。
【図9】ハードディスク装置のコマンド処理に関するシ
ーケンシャルリードコマンド中止処理の一例を示すフロ
ーチャートである。
【図10】シーケンシャルリードコマンドの実行例にお
けるシーケンシャルリードコマンド管理テーブルの変化
過程を示す図である。
【符号の説明】
1 ホストプロセッサ 2 ディスク制御装置 3 ハードディスク装置 4 ホストインタフェース 5 ディスクインタフェース 20、30 制御プロセッサ 21 ホスト制御部 22、34 メモリ 23 ディスク制御部 31 ディスクインタフェース制御部 32 ディスク制御部 35 コマンド処理プログラム 36 キャッシュ領域 37 コマンド管理テーブル 38 コマンドキュー管理情報 39 コマンドキュー 40 シーケンシャルリードコマンド管理テーブル 41 再登録待ちキュー 201 コマンド 301 キュー
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成9年12月1日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】図面の簡単な説明
【補正方法】変更
【補正内容】
【図面の簡単な説明】
【図1】本発明に係わる2次記憶装置の一例を示すブロ
ック構成図である。
【図2】コマンドの一例を示す図である。
【図3】ハードディスク装置のコマンドキューのキュー
のフォーマントの一例を示す図である。
【図4】ハードディスク装置のコマンド管理テーブルの
一例を示す図である。
【図5】ハードディスク装置のシーケンシャルリードコ
マンド管理テーブルの一例を示す図である。
【図6】ハードディスク装置のコマンド処理に関するコ
マンド受信時のキュー登録の一例を示すフローチャート
である。
【図7】ハードディスク装置のコマンド処理に関するコ
マンド処理時の一例を示すフローチャートである。
【図8】ハードディスク装置のコマンド処理に関するシ
ーケンシャルリードコマンド処理の一例を示すフローチ
ャートである。
【図9】ハードディスク装置のコマンド処理に関するシ
ーケンシャルリードコマンド中止処理の一例を示すフロ
ーチャートである。
【図10】シーケンシャルリードコマンドの実行例にお
けるシーケンシャルリードコマンド管理テーブルの変化
過程を示す図である。
【符号の説明】 1 ホストプロセッサ 2 ディスク制御装置 3 ハードディスク装置 4 ホストインタフェース 5 ディスクインタフェース 20、30 制御プロセッサ 21 ホスト制御部 22、34 メモリ 23 ディスク制御部 31 ディスクインタフェース制御部 32 ディスク制御部 35 コマンド処理プログラム 36 キャッシュ領域 37 コマンド管理テーブル 38 コマンドキュー管理情報 39 コマンドキュー 40 シーケンシャルリードコマンド管理テーブル 41 再登録待ちキュー 201 コマンド 301 キュー
───────────────────────────────────────────────────── フロントページの続き (72)発明者 小田原 宏明 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 ハードディスク装置と、ディスク制御装
    置と、該ハードディスク装置と該ディスク制御装置を接
    続するディスクインタフェースからなる2次記憶装置に
    おいて、 前記ディスク制御装置は、前記ハードディスク装置の識
    別子と該ハードディスク装置内のリード開始アドレスと
    転送処理の繰り返し回数と転送処理毎の転送データ長を
    有するシーケンシャルリードコマンドを前記ハードディ
    スク装置に発行すること特徴とする2次記憶装置。
  2. 【請求項2】 請求項1記載の2次記憶装置において、 前記ハードディスク装置は、制御プロセッサとメモリを
    有し、該メモリ内に、コマンド管理テーブルと、処理待
    ちの受信コマンド用のコマンドキューと、該コマンドキ
    ューへの再登録待ちコマンド用の再登録待ちキューと、
    少なくとも処理繰り返し回数と処理実行回数を保持する
    シーケンシャルリードコマンド管理テーブルを設けたこ
    とを特徴とした2次記憶装置。
  3. 【請求項3】 請求項2記載のハードディスク装置の制
    御方法であって、 ディスク制御装置から受信した請求項1記載のシーケン
    シャルリードコマンドを前記コマンドキュー及びコマン
    ド管理テーブルに登録し、実行したとき、シーケンシャ
    ルリードコマンド管理テーブルへの登録を行い、転送デ
    ータ長の転送処理を終了するとシーケンシャルリードコ
    マンド管理テーブル内の転送処理の実行回数をインクリ
    メントし、実行回数と該シーケンシャルリードコマンド
    の繰り返し回数と比較判定し、実行回数が繰り返し回数
    に達するまでは、シーケンシャルリードコマンドを再度
    受信コマンド用のコマンドキューに登録することで、転
    送データ長の転送を繰り返し回数実行することを特徴と
    するハードディスク装置の制御方法。
  4. 【請求項4】 請求項3記載のハードディスク装置の制
    御方法において、シーケンシャルリードコマンドを再度
    受信コマンド用のコマンドキューに登録する際に、該コ
    マンドキューが満杯でありコマンドキューを登録不可能
    な場合は、該シーケンシャルリードコマンドを再登録待
    ちコマンド用の再登録待ちキューに登録し、前記コマン
    ドキューに空きが発生した時点に、該シーケンシャルリ
    ードコマンドを前記コマンドキューに登録することを特
    徴とするハードディスク装置の制御方法。
  5. 【請求項5】 請求項3または請求項4記載のハードデ
    ィスク装置の制御方法において、 前記ディスク制御装置からシーケンシャルリードキャン
    セルコマンドを受信したとき、コマンドキュー、また
    は、再登録待ちキューから該当シーケンシャルリードコ
    マンドをキューから削除することを特徴としたハードデ
    ィスク装置の制御方法。
  6. 【請求項6】 請求項1または請求項2記載の2次記憶
    装置において、 前記ディスクインタフェースはSCSIであることを特
    徴とする2次記憶装置。
  7. 【請求項7】 請求項1または請求項2記載の2次記憶
    装置において、 前記ディスクインタフェースはファイバチャネルである
    ことを特徴とする2次記憶装置。
  8. 【請求項8】 請求項1または請求項2記載の2次記憶
    装置において、 前記ディスクインタフェースはSCSIプロトコルをマ
    ッピングしたファイバチャネルであることを特徴とする
    2次記憶装置。
JP25790697A 1997-09-05 1997-09-05 2次記憶装置およびハードディスク装置の制御方法 Pending JPH1185661A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25790697A JPH1185661A (ja) 1997-09-05 1997-09-05 2次記憶装置およびハードディスク装置の制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25790697A JPH1185661A (ja) 1997-09-05 1997-09-05 2次記憶装置およびハードディスク装置の制御方法

Publications (1)

Publication Number Publication Date
JPH1185661A true JPH1185661A (ja) 1999-03-30

Family

ID=17312842

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25790697A Pending JPH1185661A (ja) 1997-09-05 1997-09-05 2次記憶装置およびハードディスク装置の制御方法

Country Status (1)

Country Link
JP (1) JPH1185661A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003501746A (ja) * 1999-06-09 2003-01-14 クロジック コーポレーション ホスト・システムとホスト・アダプタとの間でi/oブロックを自動的に転送するための方法および装置
US7991975B2 (en) 2007-03-30 2011-08-02 Nec Corporation Storage medium control unit, data storage device, data storage system, method, and control program
WO2015111148A1 (ja) * 2014-01-22 2015-07-30 株式会社日立製作所 ストレージ装置およびストレージ装置制御方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003501746A (ja) * 1999-06-09 2003-01-14 クロジック コーポレーション ホスト・システムとホスト・アダプタとの間でi/oブロックを自動的に転送するための方法および装置
US7991975B2 (en) 2007-03-30 2011-08-02 Nec Corporation Storage medium control unit, data storage device, data storage system, method, and control program
WO2015111148A1 (ja) * 2014-01-22 2015-07-30 株式会社日立製作所 ストレージ装置およびストレージ装置制御方法

Similar Documents

Publication Publication Date Title
US7484017B1 (en) Dequeuing from a host adapter two-dimensional queue
US6542960B1 (en) System and method for parity caching based on stripe locking in raid data storage
US4430701A (en) Method and apparatus for a hierarchical paging storage system
US6374327B2 (en) Method of data migration
US6425051B1 (en) Method, system, program, and data structures for enabling a controller accessing a storage device to handle requests to data in a first data format when the storage device includes data in a second data format
US4636946A (en) Method and apparatus for grouping asynchronous recording operations
JP2784464B2 (ja) 階層キャッシュ・システム
US20020178331A1 (en) Prestaging data into cache in preparation for data transfer operations
US7266538B1 (en) Methods and apparatus for controlling access to data in a data storage system
US5813025A (en) System and method for providing variable sector-format operation to a disk access system
JPH0241054B2 (ja)
JPH0241056B2 (ja)
JPH08314848A (ja) マイクロプロセッサのオーバーヘッドを短縮させて、二つの装置間でデータを転送する方法および装置
US20200334145A1 (en) Storage device, computer system, and operation method of storage device configured to arbitrarily stop garbage collection
JP2004185349A (ja) ジャーナルログを利用した更新データ書込方法
JPS6149709B2 (ja)
JPH0147813B2 (ja)
US5696931A (en) Disc drive controller with apparatus and method for automatic transfer of cache data
JPH0816541A (ja) 周辺装置の処理能力を利用する方法及び装置
US6105076A (en) Method, system, and program for performing data transfer operations on user data
JPH06236322A (ja) ディスクアレイ用キャッシュシステム
US7284085B2 (en) Managing configuration data in a flash configuration space in flash memory within a host interface port
US5293618A (en) Method for controlling access to a shared file and apparatus therefor
US7376786B2 (en) Command stack management in a disk drive
JP2769429B2 (ja) 読み取り要求サービス方法及びデ−タ処理システム