JP2000020398A - Disk storage device and disk controller to be applied to the same - Google Patents

Disk storage device and disk controller to be applied to the same

Info

Publication number
JP2000020398A
JP2000020398A JP10180380A JP18038098A JP2000020398A JP 2000020398 A JP2000020398 A JP 2000020398A JP 10180380 A JP10180380 A JP 10180380A JP 18038098 A JP18038098 A JP 18038098A JP 2000020398 A JP2000020398 A JP 2000020398A
Authority
JP
Japan
Prior art keywords
write command
host system
data
data transfer
disk
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
JP10180380A
Other languages
Japanese (ja)
Inventor
Yuu Kasebayashi
祐 加瀬林
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP10180380A priority Critical patent/JP2000020398A/en
Publication of JP2000020398A publication Critical patent/JP2000020398A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To improve the performance of write command processing by realizing the case of write command processing, in which a CPU is not concerned, at the time of executing a write cache function, resultingly shortening write command processing time. SOLUTION: When the result of cache discrimination due to a cache discriminating circuit 12 for a write command shows cache hit, a disk controller 8 performs processing from the start of data transfer to the end of the command only through respective circuits 10-17 composed of hardware while a CPU 5 is not concerned in. In the case of not cache hit, processing from the start of data transfer, in which a firmware including the CPU 5 is concerned, to the end of the command is executed.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、ハードディスクド
ライブなどのディスク記憶装置に関し、特にホストシス
テムとドライブとのATインターフェースを構成するデ
ィスクコントローラに関する。
[0001] 1. Field of the Invention [0002] The present invention relates to a disk storage device such as a hard disk drive, and more particularly to a disk controller constituting an AT interface between a host system and a drive.

【0002】[0002]

【従来の技術】従来、ハードディスクドライブ(HD
D)は、ホストシステム(パーソナルコンピュータな
ど)からのリード/ライトコマンドに応じて、記録媒体
であるディスク上にデータを記録し、そのディスクから
データを再生する機構を備えている。HDDは、ホスト
システムとの間でリード/ライトデータを転送するため
のATインターフェース機能を有する。具体的には、デ
ィスクコントローラ(HDC)と呼ばれるLSI(1チ
ップの集積回路)により、前記のインターフェース機能
が実現されている。
2. Description of the Related Art Conventionally, a hard disk drive (HD)
D) has a mechanism for recording data on a disk as a recording medium and reproducing data from the disk in response to a read / write command from a host system (such as a personal computer). The HDD has an AT interface function for transferring read / write data to and from a host system. Specifically, the interface function is realized by an LSI (one-chip integrated circuit) called a disk controller (HDC).

【0003】図10に示すように、ディスクコントロー
ラ80は、DRAM(リード/ライトICメモリ)から
なるバッファメモリ9を制御して、ホストシステム2と
ディスク4との間のデータ転送制御を実行している。デ
ィスクコントローラ80は、リードコマンドに応じてデ
ィスク4から読出したデータをバッファメモリ9に格納
した後に、ホストシステム2側にセクタ(ブロック)単
位で転送する。一方、ライトコマンドに応じて、ホスト
システム2から転送されたデータをセクタ単位でバッフ
ァメモリ9に格納した後に、このバッファメモリ9から
ディスク4にデータを転送する。
As shown in FIG. 10, a disk controller 80 controls a buffer memory 9 composed of a DRAM (read / write IC memory) to execute data transfer control between the host system 2 and the disk 4. I have. The disk controller 80 stores the data read from the disk 4 in response to the read command in the buffer memory 9 and then transfers the data to the host system 2 side by sector (block). On the other hand, after the data transferred from the host system 2 is stored in the buffer memory 9 in sector units in response to the write command, the data is transferred from the buffer memory 9 to the disk 4.

【0004】近年のディスクコントローラ80は、ホス
トシステム2からのコマンドCMDをデコード(判別)
し、バッファメモリ9の状態がデータ転送可能である場
合には、HDDのメイン制御装置であるCPU(マイク
ロプロセッサ)の介在なしにデータ転送制御を自動的に
実行する機能を備えている(ステートマシン機能)。
A recent disk controller 80 decodes (determines) a command CMD from the host system 2.
When the buffer memory 9 is in a state where data transfer is possible, a function is provided for automatically executing data transfer control without the intervention of a CPU (microprocessor) which is a main control device of the HDD (state machine). function).

【0005】ここで、コマンドCMDがリードコマンド
の場合には、ホストシステム2からの要求データがバッ
ファメモリ9からホストシステム2へ転送されるデータ
転送処理が終了した時点で、当該コマンド処理は自動的
に終了となる。一方、ライトコマンドの場合には、ホス
トシステム2からの要求データの転送が終了した場合で
も、ディスク4上にデータが書き込まれるまで、コマン
ド処理は終了とはならない。
If the command CMD is a read command, the command processing is automatically executed when the data transfer processing in which the request data from the host system 2 is transferred from the buffer memory 9 to the host system 2 ends. Ends. On the other hand, in the case of a write command, even if the transfer of the requested data from the host system 2 ends, the command processing does not end until the data is written on the disk 4.

【0006】以下図10と図11を参照して、ライトコ
マンド処理を説明する。ホストシステム2からライトコ
マンドが発行されると、HDC80はライトコマンドに
伴う要求データ(以下ホストデータHDと呼ぶ)をセク
タ単位で受信し、バッファメモリ9に格納する。当該ラ
イトコマンドに伴う全てのホストデータHD(D1とす
る)がバッファメモリ9に格納されると(データ転送の
終了)、HDC80はディスク4へのデータ転送(書込
み処理)を実行する。このディスク4へ転送されるデー
タを、便宜的にディスクデータDDと呼ぶことにする。
Hereinafter, the write command processing will be described with reference to FIGS. 10 and 11. When a write command is issued from the host system 2, the HDC 80 receives request data (hereinafter, referred to as host data HD) accompanying the write command in sector units and stores it in the buffer memory 9. When all host data HD (D1) associated with the write command is stored in the buffer memory 9 (end of data transfer), the HDC 80 executes data transfer (write processing) to the disk 4. The data transferred to the disk 4 is called disk data DD for convenience.

【0007】ここで、HDC80は、ステータスレジス
タ81を内蔵しており、コマンド処理中ではBUSYフ
ラグ(BSY)をセットしている。HDC80は、ディ
スク4上にすべてのデータが書き込まれて、ディスクデ
ータDDの転送が終了すると、ステータスレジスタ81
のBSYをクリアして、割り込み信号(IRQ)をホス
トシステム2に出力する。この時点で、最初のライトコ
マンド(要求データD1)のコマンド処理は終了とな
る。従って、ホストシステム2は、次のライトコマンド
(要求データD2)を発行する。以下同様の手順でコマ
ンド処理が実行される(図11のタイミングチャートを
参照)。
The HDC 80 has a built-in status register 81 and sets a BUSY flag (BSY) during command processing. When all data is written on the disk 4 and the transfer of the disk data DD is completed, the HDC 80
And outputs an interrupt signal (IRQ) to the host system 2. At this point, the command processing of the first write command (request data D1) ends. Therefore, the host system 2 issues the next write command (request data D2). Thereafter, the command processing is executed in the same procedure (see the timing chart of FIG. 11).

【0008】このようなライトコマンド処理方式では、
ディスクデータDDの転送処理はホストデータHDの転
送処理と比較して多くの処理時間を要する。そこで、ラ
イトコマンド処理のパフォーマンスを向上させる方式と
して、ライトキャッシュ機能(モード)が開発されてい
る。このライトキャッシュ機能は、図5 に示すように、
ホストデータHDの転送が終了した時点で、ステータス
レジスタ81のBSYをクリアしてIRQを出力する。
従って、ホストシステム側は、データ転送の終了でライ
トコマンドが終了となるため、短時間に次のライトコマ
ンドを発行することができる。
In such a write command processing method,
The transfer processing of the disk data DD requires a longer processing time than the transfer processing of the host data HD. Therefore, a write cache function (mode) has been developed as a method for improving the performance of write command processing. This write cache function, as shown in Figure 5,
When the transfer of the host data HD is completed, the BSY of the status register 81 is cleared and the IRQ is output.
Therefore, since the write command ends at the end of the data transfer, the host system can issue the next write command in a short time.

【0009】[0009]

【発明が解決しようとする課題】前述したように、ライ
トキャッシュ方式であれば、ライトコマンド処理の開始
から終了までの処理時間を短縮化できるため、ライトコ
マンド処理のパフォーマンスを向上させることが可能と
なる。ライトキャッシュ方式では、バッファメモリの状
態がデータ転送可能な場合には、前記ステートマシン機
能により自動的にコマンド処理を終了できる。しかし、
バッファメモリにディスクデータDDが転送されずに残
っている場合には、バッファメモリの状態がデータ転送
可能になるまでコマンド処理は待機の状態となる。要す
るに、最終的にはCPUがライトコマンドの終了を判定
し、コマンド処理が終了した時点でホストシステムは次
のライトコマンドの発行を行なう事ができる。従って、
ライトキャッシュ機能を有するHDCであっても、実際
上ではCPUがコマンド処理の終了判定に関与するた
め、必ずしもコマンド処理に要する実行時間の短縮化に
は限界がある。
As described above, with the write cache method, the processing time from the start to the end of the write command processing can be shortened, so that the performance of the write command processing can be improved. Become. In the write cache method, if the state of the buffer memory is such that data transfer is possible, the command processing can be automatically terminated by the state machine function. But,
If the disk data DD remains in the buffer memory without being transferred, the command processing is in a standby state until the buffer memory becomes ready for data transfer. In short, the CPU finally determines the end of the write command, and when the command processing ends, the host system can issue the next write command. Therefore,
Even in the case of an HDC having a write cache function, the CPU is actually involved in determining the end of the command processing, so that there is a limit in reducing the execution time required for the command processing.

【0010】そこで、本発明の目的は、ライトキャッシ
ュ機能の実行時に、CPUが関与しないライトコマンド
処理の場合を実現して、結果的にライトコマンド処理時
間の短縮化を図り、ライトコマンド処理のパフォーマン
スを向上させる事にある。
Therefore, an object of the present invention is to realize a write command process in which the CPU is not involved in executing the write cache function, thereby shortening the write command processing time and improving the performance of the write command process. Is to improve.

【0011】[0011]

【課題を解決するための手段】本発明は、特にATイン
ターフェースを有するHDDのディスクとホストシステ
ム間のデータ転送を制御し、ホストシステムからのデー
タ転送が終了した時点でライトコマンドの終了を指示す
るライトキャッシュ機能を有するディスクコントローラ
に関する。
The present invention controls data transfer between a disk of an HDD having an AT interface and a host system, and instructs the end of a write command when data transfer from the host system is completed. The present invention relates to a disk controller having a write cache function.

【0012】本発明のディスクコントローラは、ホスト
システムから受信したライトコマンドの内容がキャッシ
ュヒットの条件を満足するか否かを判定するキャッシュ
判定手段と、キャッシュヒットの条件を満足するライト
コマンドの場合には、ホストシステムからのデータ転送
が終了した時点でライトコマンドの終了を指示するため
の信号をホストシステムに送信する専用手段と、キャッ
シュヒットの条件を満足しないライトコマンドの場合に
は当該ライトコマンドに伴うデータの転送が終了し、か
つ前記バッファメモリからディスクへのデータ転送を開
始してバッファメモリに次のライトコマンドに伴うデー
タの格納領域を確保した後にライトコマンドの終了を指
示するための処理を実行する制御手段とを有する。
A disk controller according to the present invention comprises: a cache determination unit for determining whether the content of a write command received from a host system satisfies a cache hit condition; Means for transmitting a signal for instructing the end of the write command to the host system when the data transfer from the host system is completed, and in the case of a write command that does not satisfy the cache hit condition, A process for instructing the end of the write command after the transfer of the accompanying data is completed and the data transfer from the buffer memory to the disk is started to secure a data storage area for the next write command in the buffer memory. And control means for executing.

【0013】具体的には、キャッシュヒットの条件は、
ライトコマンドに伴うデータのアドレスが直前のライト
コマンドに伴うデータのアドレスに連続するシーケンシ
ャルアドレスであることである。専用手段は、CPUが
関与する事なく、ライトコマンドの終了処理を実行する
ハードウエアである。一方、制御手段はCPUとプログ
ラムとからなるファームウェアである。
Specifically, the conditions for a cache hit are:
That is, the address of the data associated with the write command is a sequential address that is continuous with the address of the data associated with the immediately preceding write command. The dedicated means is hardware that executes write command termination processing without involving the CPU. On the other hand, the control means is firmware including a CPU and a program.

【0014】このような構成により、CPUのコマンド
終了の判定処理を伴うことなく、ライトコマンドに伴う
データ転送が終了した時点でライトコマンド処理を終了
する処理を実行できる。従って、ライトコマンド処理に
要する時間を短縮化し、ライトコマンド処理のパフォー
マンスを大幅に向上させる事ができる。
With such a configuration, it is possible to execute the processing for terminating the write command processing at the time when the data transfer accompanying the write command has been completed, without involving the command termination judgment processing of the CPU. Therefore, the time required for the write command processing can be reduced, and the performance of the write command processing can be greatly improved.

【0015】[0015]

【発明の実施の形態】以下図面を参照して、本発明の実
施の形態を説明する。図1は、本実施形態に関係するH
DDの要部を示すを示すブロック図であり、図2から図
4は同実施形態のライトコマンド処理を説明するための
フローチャートであり、図6は同実施形態のバッファコ
ントロール回路の動作を説明するための概念図である。 (HDD及びディスクコントローラの構成)HDDは、
図1に示すように、大別して記録媒体であるディスク
4、CPU5、ROM6、EEPROM7、ディスクコ
ントローラ(HDC)8、及びバッファメモリ(DRA
M)9を有する。ROM6はCPU5の動作に必要なプ
ログラムを格納しているリードオンリメモリである。本
実施形態では、CPU5とROM6のプログラムとを合
わせて、ハードウエアと対比してファームウエアと呼ぶ
場合がある。EEPROM7は、CPU5による制御処
理(本実施形態ではライトコマンド処理に限定してい
る)に必要な各種のパラメータを格納する不揮発性メモ
リである。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a diagram showing H related to the present embodiment.
FIG. 2 is a block diagram illustrating a main part of the DD, FIGS. 2 to 4 are flowcharts for explaining a write command process of the embodiment, and FIG. 6 illustrates an operation of a buffer control circuit of the embodiment. FIG. (Configuration of HDD and Disk Controller)
As shown in FIG. 1, the recording medium is roughly classified into a disk 4, a CPU 5, a ROM 6, an EEPROM 7, a disk controller (HDC) 8, and a buffer memory (DRA).
M) 9. The ROM 6 is a read-only memory that stores programs necessary for the operation of the CPU 5. In the present embodiment, the CPU 5 and the program in the ROM 6 may be referred to as firmware in comparison with hardware. The EEPROM 7 is a non-volatile memory that stores various parameters required for control processing (limited to write command processing in the present embodiment) by the CPU 5.

【0016】本実施形態のディスクコントローラ8は、
バッファメモリ(DRAM)9を含めた1チップのLS
Iであり、コマンド処理に必要な各種の回路10〜17
を有する。これらの回路を前記ファームウエアに対比し
て、ハードウエアと呼ぶ場合がある。
The disk controller 8 of the present embodiment comprises:
One-chip LS including buffer memory (DRAM) 9
I, and various circuits 10 to 17 necessary for command processing
Having. These circuits may be referred to as hardware in contrast to the firmware.

【0017】ディスクコントローラ8は、コマンドデコ
ード回路10、ホスト転送処理回路11、ライトコマン
ド終了制御回路13、バッファコントロール回路14、
ホスト処理コントロール回路16、及びディスク処理コ
ントロール回路17を有する。ホスト転送処理回路11
は、後述するキャッシュ判定回路12を含む。また、バ
ッファコントロール回路14は、転送制御カウンタ15
A(以下カウンタAと呼ぶ)及び転送制御カウンタ15
B(以下カウンタBと呼ぶ)を含む。
The disk controller 8 includes a command decode circuit 10, a host transfer processing circuit 11, a write command end control circuit 13, a buffer control circuit 14,
It has a host processing control circuit 16 and a disk processing control circuit 17. Host transfer processing circuit 11
Includes a cache determination circuit 12 described later. The buffer control circuit 14 includes a transfer control counter 15
A (hereinafter referred to as counter A) and transfer control counter 15
B (hereinafter referred to as counter B).

【0018】コマンドデコード回路10は、ホストシス
テム2から発行されたライトコマンドなどのコマンドを
判別する。ホスト転送処理回路11は、コマンドデコー
ド回路10により判別されたコマンドに従って、ホスト
システム2とバッファメモリ9間のデータの自動転送処
理を実行する。ホストシステム2とバッファメモリ9間
のデータ転送は、ATインターフェース3を介して行わ
れる。キャッシュ判定回路12はキャッシュアドレス判
別機能を有し、本実施形態ではライトコマンドに伴うア
ドレスが連続するシーケンシャルアドレスであるか否か
を判別する。即ち、キャッシュ判定回路12は、受信し
たライトコマンドのアドレス(ライトデータの論理アド
レス)が、直前のライトコマンドのアドレスに連続する
シーケンシャルアドレスの場合にキャッシュヒットであ
ると判定する。
The command decode circuit 10 determines a command such as a write command issued from the host system 2. The host transfer processing circuit 11 executes an automatic transfer process of data between the host system 2 and the buffer memory 9 according to the command determined by the command decode circuit 10. Data transfer between the host system 2 and the buffer memory 9 is performed via the AT interface 3. The cache determination circuit 12 has a cache address determination function, and in this embodiment, determines whether or not an address accompanying a write command is a continuous sequential address. That is, the cache determination circuit 12 determines that a cache hit has occurred when the address of the received write command (the logical address of the write data) is a sequential address that is continuous with the address of the immediately preceding write command.

【0019】ライトコマンド終了制御回路13は、デー
タ転送の終了及びバッファメモリ9の空き状況を確認
し、ステータスレジスタ(図10を参照)のBUSYを
クリアし、IRQを生成してコマンドを自動終了する機
能を有する。バッファコントロール回路14はカウンタ
A,Bを使用して、バッファメモリ9のデータの入出力
を制御する。ホスト処理コントロール回路16は、後述
するように、カウンタBのカウント値をカウンタAに加
算したり、カウンタBを初期化する機能を有する。ディ
スク処理コントロール回路17は、バッファメモリ9と
ディスク4間のデータ転送処理(ディスクデータの転
送)を実行する。
The write command end control circuit 13 confirms the end of data transfer and the availability of the buffer memory 9, clears the BUSY of the status register (see FIG. 10), generates an IRQ, and automatically ends the command. Has functions. The buffer control circuit 14 controls the input and output of data in the buffer memory 9 using the counters A and B. The host processing control circuit 16 has a function of adding the count value of the counter B to the counter A and initializing the counter B, as described later. The disk processing control circuit 17 executes data transfer processing (disk data transfer) between the buffer memory 9 and the disk 4.

【0020】なお、本実施形態では直接関係しないた
め、ディスク4に対するデータのリード/ライト動作に
必要なヘッドなどの機構やリード/ライト回路は説明か
ら省略する。 (ディスクコントローラの動作)以下図1以外に、図2
から図4のフローチャート及び図6を参照して、本実施
形態のディスクコントローラの動作を説明する。
In the present embodiment, since there is no direct relationship, mechanisms such as a head and a read / write circuit required for data read / write operation on the disk 4 are omitted from the description. (Operation of Disk Controller) In addition to FIG.
4 to FIG. 4 and FIG. 6, the operation of the disk controller of the present embodiment will be described.

【0021】まず、HDC8はアイドル状態でホストシ
ステム2からコマンドを受信すると、コマンドデコード
回路10によりコマンドを解読し、ライトコマンドであ
るか否かを判別する(ステップS1)。ここでは、ホス
トシステム2からライトコマンドが発行された場合を想
定する。ホスト転送処理回路11は、ライトコマンドに
伴うホストデータをセクタ単位(ブロック単位)でバッ
ファメモリ9へ転送する。
First, when the HDC 8 receives a command from the host system 2 in the idle state, the command decode circuit 10 decodes the command and determines whether or not the command is a write command (step S1). Here, it is assumed that a write command is issued from the host system 2. The host transfer processing circuit 11 transfers host data accompanying the write command to the buffer memory 9 in sector units (block units).

【0022】ここで、本実施形態では、キャッシュ判定
回路12が受信したライトコマンドのキャッシュヒット
の判別処理を実行する(ステップS2)。最初のライト
コマンドまたは次のライトコマンドに伴うアドレスがシ
ーケンシャルアドレスでなければ、キャッシュヒットし
ないことになる(ステップS3のNO)。このとき、バ
ッファコントロール回路14は、カウンタBを使用し
て、バッファメモリ9の入力を制御する(図3のステッ
プS14)。ホスト転送処理回路11は、ホストデータ
HDの転送を開始する(ステップS15)。バッファコ
ントロール回路14は、カウンタBから得られるバッフ
ァメモリ9のポインタ(ホストポインタ)に基づいてバ
ッファメモリ9の使用可能な格納領域を確認しながら、
バッファメモリ9に転送されるホストデータを格納す
る。
Here, in the present embodiment, the cache determination circuit 12 executes a cache hit determination process of the received write command (step S2). If the address accompanying the first write command or the next write command is not a sequential address, no cache hit occurs (NO in step S3). At this time, the buffer control circuit 14 controls the input of the buffer memory 9 using the counter B (step S14 in FIG. 3). The host transfer processing circuit 11 starts transferring the host data HD (Step S15). The buffer control circuit 14 checks the available storage area of the buffer memory 9 based on the pointer (host pointer) of the buffer memory 9 obtained from the counter B,
The host data stored in the buffer memory 9 is stored.

【0023】カウンタBはホストデータが転送される度
に更新される。カウンタBが更新されるときは、ホスト
データの転送が実行されても、カウンタAは更新されず
にカウント値(ライトポインタ)を維持している。カウ
ンタAは、ホストデータの転送処理だけでなく、ディス
ク処理コントロール回路17によるバッファメモリ9か
らディスク4へのデータ転送処理(ディスクデータDD
の転送)に使用される。このカウンタBを使用したホス
トデータの転送処理は、カウンタAを使用したディスク
データの転送処理とは独立に実行される。即ち、新たに
転送されたホストデータは、バッファメモリ9に格納さ
れるだけで、直ちにディスク4へは転送されない。
The counter B is updated every time host data is transferred. When the counter B is updated, the counter A maintains the count value (write pointer) without being updated even when the transfer of the host data is executed. The counter A performs not only the host data transfer processing but also the data transfer processing (disk data DD) from the buffer memory 9 to the disk 4 by the disk processing control circuit 17.
Used for transfer). The host data transfer process using the counter B is executed independently of the disk data transfer process using the counter A. That is, newly transferred host data is only stored in the buffer memory 9 and is not immediately transferred to the disk 4.

【0024】ここで、最初のライトコマンドの場合に
は、ディスクデータ(前のライトコマンドに伴うホスト
データ)の転送処理は実行されない。従って、本実施形
態ではキャッシュヒットがない場合には、CPU5がホ
ストデータの転送終了をチェックして確認すると、ステ
ータスレジスタのBUSYをクリアし、IRQを生成し
てライトコマンドを終了する(ステップS28−S3
3)。このとき、CPU5は、バッファメモリ9の少な
くとも1ブロック分(1セクタ分)の空き領域の存在を
確認した後にコマンド終了処理を実行する(ステップS
30,S31)。
Here, in the case of the first write command, the transfer processing of the disk data (host data accompanying the previous write command) is not executed. Therefore, in the present embodiment, when there is no cache hit, when the CPU 5 checks and confirms the end of the transfer of the host data, the BUSY of the status register is cleared, the IRQ is generated, and the write command ends (step S28-). S3
3). At this time, the CPU 5 executes the command end processing after confirming the existence of the free area of at least one block (one sector) of the buffer memory 9 (step S).
30, S31).

【0025】次に、続けてライトコマンドが発行された
場合について説明する。前述と同様にキャッシュヒット
しない場合には、カウンタBを使用したホストデータの
転送処理が自動的に実行される。ここで、図3のフロー
チャートを参照して、CPU5によるファームウエアに
よる処理手順を説明する。CPU5はライトコマンドを
受信したときに、キャッシュヒットの判定結果を参照
し、キャッシュヒットの場合にはアイドル状態に戻る
(ステップS20〜S22)。
Next, a case where a write command is subsequently issued will be described. If a cache hit does not occur as described above, host data transfer processing using the counter B is automatically executed. Here, the processing procedure by the firmware by the CPU 5 will be described with reference to the flowchart of FIG. When receiving the write command, the CPU 5 refers to the determination result of the cache hit, and in the case of the cache hit, returns to the idle state (steps S20 to S22).

【0026】一方、キャッシュヒットしない場合には、
CPU5は、前のライトコマンドで転送されたデータの
ディスク4側のライト処理の終了をチェックする(ステ
ップS22,S23)。このライト処理とは、前のライ
トコマンドでバッファメモリ9に格納されたデータをデ
ィスク4上に書き込む処理(ディスクデータの転送処
理)である。CPU5は、そのライト処理が終了するま
で待機して終了した後に、次のライトコマンドに対する
ライト処理の準備処理を実行する(ステップS24のY
ES,S24)。この準備処理とは、ディスク4上に書
き込むためのアドレス(トラックとセクタにより指定さ
れる物理アドレス)へのシーク処理、および書き込み処
理に必要な各種のパラメータの設定処理である。
On the other hand, if there is no cache hit,
The CPU 5 checks the end of the write processing on the disk 4 side of the data transferred by the previous write command (steps S22 and S23). This write process is a process of writing the data stored in the buffer memory 9 by the previous write command onto the disk 4 (disk data transfer process). The CPU 5 waits until the write processing is completed, and after that, performs preparation processing for the write processing for the next write command (Y in step S24).
ES, S24). The preparation process is a process of seeking an address (a physical address specified by a track and a sector) for writing on the disk 4 and a process of setting various parameters necessary for the writing process.

【0027】この準備処理の後に、CPU5は、ホスト
システム2から転送されたホストデータをバッファメモ
リ9からディスク4へ転送するディスクデータの転送処
理を開始する(ステップS27)。このとき、前述した
ように、最初の1ブロック分のホストデータは、ホスト
転送処理回路11によりバッファメモリ9に転送されて
いると想定する(ステップS14,S15を参照)。C
PU5は、ホスト処理コントロール回路16を制御し
て、カウンタBのカウント値をカウンタAに加算して、
カウンタBを初期化する。即ち、ホストデータの転送処
理に使用するカウンタをカウンタAに変更するカウンタ
設定処理を実行する(ステップS25)。
After the preparation processing, the CPU 5 starts a disk data transfer processing for transferring the host data transferred from the host system 2 from the buffer memory 9 to the disk 4 (step S27). At this time, as described above, it is assumed that the host data for the first block has been transferred to the buffer memory 9 by the host transfer processing circuit 11 (see steps S14 and S15). C
The PU 5 controls the host processing control circuit 16 to add the count value of the counter B to the counter A,
Initialize the counter B. That is, a counter setting process for changing the counter used for the host data transfer process to the counter A is executed (step S25).

【0028】カウンタ設定処理後に、CPU5は、残り
のホストデータの転送処理およびディスクデータの転送
処理を開始する(ステップS26,S27)。ホストデ
ータの転送処理及びディスクデータの転送処理が開始さ
れると、バッファコントロール回路14はカウンタAを
使用して、バッファメモリ9の入出力を制御する(図4
のステップS16,S17)。具体的には、例えばカウ
ンタAの値が「0」で、カウンタBの値が「1」の場合
にカウンタ設定処理により、カウンタAの値は「1」と
なる。この時、カウンタBは初期化される(値が0)。
そして、図6に示すように、最初の1ブロック分のデー
タの後に、残りの3ブロック分のホストデータHDがバ
ッファメモリ9に転送されると、カウンタAの値が
「4」となる。CPU5は、カウンタAによるポインタ
により、ホストデータの転送終了をチェックし、さらに
バッファメモリ9の少なくとも1ブロック分(1セクタ
分)の空き領域の存在を確認した後にコマンド終了処理
を実行する(ステップS28〜S33)。
After the counter setting processing, the CPU 5 starts the transfer processing of the remaining host data and the transfer processing of the disk data (steps S26 and S27). When the host data transfer processing and the disk data transfer processing are started, the buffer control circuit 14 controls the input / output of the buffer memory 9 using the counter A (FIG. 4).
Steps S16 and S17). Specifically, for example, when the value of the counter A is “0” and the value of the counter B is “1”, the value of the counter A becomes “1” by the counter setting process. At this time, the counter B is initialized (the value is 0).
Then, as shown in FIG. 6, when the host data HD for the remaining three blocks is transferred to the buffer memory 9 after the data for the first block, the value of the counter A becomes “4”. The CPU 5 checks the end of the transfer of the host data by the pointer of the counter A, and executes the command end process after confirming the existence of the free area of at least one block (one sector) in the buffer memory 9 (step S28). To S33).

【0029】一方、図2のステップS2のキャッシュヒ
ットの判定処理において、キャッシュヒットした場合に
は、バッファコントロール回路14はカウンタAを使用
して、ホストデータ転送におけるバッファメモリ9の入
出力制御を実行する(ステップS3〜S5)。このと
き、バッファコントロール回路14はカウンタAが示す
ポインタにより、バッファメモリ9の空き領域をチェッ
クする(ステップS6,S7)。即ち、当該ライトコマ
ンドによるホストデータの転送が可能である場合(ホス
トデータを格納できる空き領域が存在する)に、1ブロ
ック単位に転送されるホストデータをバッファメモリ9
に格納する(ステップS8,S9)。ここで、バッファ
メモリ9の空き領域が存在しない場合には、ホストデー
タ転送処理は待機状態となる。
On the other hand, in the cache hit judging process in step S2 of FIG. 2, if a cache hit occurs, the buffer control circuit 14 executes the input / output control of the buffer memory 9 in the host data transfer using the counter A. (Steps S3 to S5). At this time, the buffer control circuit 14 checks the free area of the buffer memory 9 using the pointer indicated by the counter A (steps S6 and S7). That is, when the host data can be transferred by the write command (there is a free area in which the host data can be stored), the host data transferred in units of one block is stored in the buffer memory 9.
(Steps S8 and S9). Here, when there is no free area in the buffer memory 9, the host data transfer processing enters a standby state.

【0030】以上のように、ライトコマンドのキャッシ
ュ判定結果がキャッシュヒットの場合には、CPU5
(ファームウエア)が関与する事なく、図1に示すHD
C8のハードウエアにより、自動的にホストデータの転
送処理が実行される。そして、当該ハードウエアに含ま
れるライトコマンド終了制御回路13により、バッファ
メモリ9に次のライトコマンドに必要な少なくとも1ブ
ロック分の空き領域の存在を確認した後に、コマンド終
了処理を実行する。即ち、ステータスレジスタのBUS
Yをクリアし、IRQを生成してライトコマンドを終了
する(ステップS11−S13)。 (本実施形態の変形例)前述したように、ライトコマン
ドのキャッシュ判定結果がキャッシュヒットの場合に
は、CPU5が関与する事なく、ホスト転送処理回路1
1により1ブロック単位のホストデータが自動転送処理
される。さらに、ライトコマンド終了制御回路13によ
り、データ転送の終了とバッファメモリ9の空き状況が
チェックされて、ライトコマンドの終了処理(BUSY
のクリアとIRQの生成)が実行される。この場合、バ
ッファコントロール回路14はカウンタAを使用して、
前記のホストデータ転送及びディスク処理コントロール
回路17によるディスクデータの転送処理におけるバッ
ファメモリ9の入出力制御を実行している。
As described above, when the cache determination result of the write command is a cache hit, the CPU 5
(Firmware) without involvement
The transfer process of the host data is automatically executed by the hardware of C8. Then, after the write command end control circuit 13 included in the hardware confirms that there is at least one block of free area necessary for the next write command in the buffer memory 9, the command end processing is executed. That is, the BUS of the status register
Y is cleared, an IRQ is generated, and the write command ends (steps S11-S13). (Modification of this Embodiment) As described above, when the cache determination result of the write command is a cache hit, the host transfer processing circuit 1 can be executed without involving the CPU 5.
By 1, the host data of one block unit is automatically transferred. Further, the end of data transfer and the availability of the buffer memory 9 are checked by the write command end control circuit 13, and the end processing of the write command (BUSY
Clearing and generation of an IRQ). In this case, the buffer control circuit 14 uses the counter A to
The input / output control of the buffer memory 9 in the host data transfer and disk data transfer processing by the disk processing control circuit 17 is executed.

【0031】このような本実施形態の変形例として、キ
ャッシュヒットの判定結果に関係なく、バッファコント
ロール回路14はカウンタBを使用することなく、カウ
ンタAのみを使用したコマンド処理方式を、図7から図
9を参照して説明する。
As a modification of this embodiment, the buffer control circuit 14 uses a command processing method using only the counter A without using the counter B, regardless of the result of the cache hit determination. This will be described with reference to FIG.

【0032】まず、図7に示すHDC8のハードウエア
による手順において、HDC8はアイドル状態でホスト
システム2からコマンドを受信すると、コマンドデコー
ド回路10によりコマンドを解読し、ライトコマンドで
あるか否かを判別する(ステップS40)。ライトコマ
ンドの場合には、ホスト転送処理回路11は、ライトコ
マンドに伴う1ブロック分のホストデータをバッファメ
モリ9へ転送する(ステップS41)。
First, in the hardware procedure of the HDC 8 shown in FIG. 7, when the HDC 8 receives a command from the host system 2 in an idle state, the HDC 8 decodes the command by the command decode circuit 10 and determines whether or not it is a write command. (Step S40). In the case of a write command, the host transfer processing circuit 11 transfers one block of host data accompanying the write command to the buffer memory 9 (step S41).

【0033】この後に、キャッシュ判定回路12により
ライトコマンドのキャッシュヒットの判別処理が実行さ
れて、判別結果がキャッシュヒットでない場合には、C
PU5であるファームウエア側の処理を待機する状態と
なる(ステップS43のNOから図8の処理へ)。
Thereafter, the cache determination circuit 12 executes a cache hit determination process for the write command.
The process is in a state of waiting for the process on the firmware side, which is PU5 (from NO in step S43 to the process in FIG. 8).

【0034】ファームウエア側では、図8に示すよう
に、CPU5は、ライトコマンドを受信したときに、キ
ャッシュヒットの判定結果を参照し、キャッシュヒット
の場合にはアイドル状態に戻る(ステップS60〜S6
2)。一方、キャッシュヒットしない場合には、CPU
5は、前述したように、前のライトコマンドで転送され
たデータのディスク4側のライト処理の終了をチェック
する(ステップS62,S63)。CPU5は、そのラ
イト処理が終了するまで待機して終了した後に、次のラ
イトコマンドに対するライト処理の準備処理を実行する
(ステップS64のYES,S65)。
On the firmware side, as shown in FIG. 8, when receiving the write command, the CPU 5 refers to the determination result of the cache hit, and returns to the idle state in the case of the cache hit (steps S60 to S6).
2). On the other hand, if there is no cache hit,
5 checks the end of the write processing on the disk 4 side of the data transferred by the previous write command, as described above (steps S62 and S63). The CPU 5 waits until the write processing is completed, and after that, executes preparation processing for the write processing for the next write command (YES in step S64, S65).

【0035】この準備処理の後に、CPU5は、ホスト
システム2から転送されたホストデータをバッファメモ
リ9からディスク4へ転送するディスクデータの転送処
理を開始する(ステップS27)。このとき、カウンタ
Aが1ブロック分のデータ転送として、インクリメント
される(ステップS66)。そして、前述したように、
CPU5は、残りのホストデータの転送処理およびディ
スクデータの転送処理を開始する(ステップS67,S
68)。ホストデータの転送処理及びディスクデータの
転送処理が開始されると、バッファコントロール回路1
4はカウンタAを使用して、バッファメモリ9の入出力
を制御する(図9のステップS54,S55)。CPU
5は、カウンタAによるポインタにより、ホストデータ
の転送終了をチェックし、さらにバッファメモリ9の少
なくとも1ブロック分(1セクタ分)の空き領域の存在
を確認した後にコマンド終了処理を実行する(ステップ
S69〜S74)。
After the preparation process, the CPU 5 starts a disk data transfer process for transferring the host data transferred from the host system 2 from the buffer memory 9 to the disk 4 (step S27). At this time, the counter A is incremented as one block of data transfer (step S66). And, as mentioned above,
The CPU 5 starts the transfer processing of the remaining host data and the transfer processing of the disk data (steps S67 and S67).
68). When the host data transfer process and the disk data transfer process are started, the buffer control circuit 1
4 controls the input / output of the buffer memory 9 using the counter A (steps S54 and S55 in FIG. 9). CPU
5 checks the end of the transfer of the host data by the pointer of the counter A, and executes the command end process after confirming the existence of an empty area of at least one block (one sector) in the buffer memory 9 (step S69). To S74).

【0036】一方、図2のステップS42のキャッシュ
ヒットの判定処理において、キャッシュヒットした場合
には、カウンタAが1ブロック分のデータ転送として、
インクリメントされる(ステップS43,S44)。そ
して、ホスト転送処理回路11により、残りのホストデ
ータの転送処理が開始される(ステップS45)。この
とき、バッファコントロール回路14はカウンタAが示
すポインタにより、バッファメモリ9の空き領域をチェ
ックする(ステップS46)。即ち、当該ライトコマン
ドによるホストデータの転送が可能である場合(ホスト
データを格納できる空き領域が存在する)に、1ブロッ
ク単位に転送されるホストデータをバッファメモリ9に
格納する(ステップS47,S48)。ここで、バッフ
ァメモリ9の空き領域が存在しない場合には、ホストデ
ータ転送処理は待機状態となる。
On the other hand, in the cache hit judging process of step S42 in FIG. 2, if a cache hit occurs, the counter A determines that one block of data has been transferred.
It is incremented (steps S43, S44). Then, the transfer processing of the remaining host data is started by the host transfer processing circuit 11 (step S45). At this time, the buffer control circuit 14 checks the free area of the buffer memory 9 using the pointer indicated by the counter A (step S46). That is, when the transfer of the host data by the write command is possible (there is a free area where the host data can be stored), the host data transferred in units of one block is stored in the buffer memory 9 (steps S47 and S48). ). Here, when there is no free area in the buffer memory 9, the host data transfer processing enters a standby state.

【0037】そして、ライトコマンド終了制御回路13
により、バッファメモリ9に次のライトコマンドに必要
な少なくとも1ブロック分の空き領域の存在を確認した
後に、コマンド終了処理を実行する。即ち、ステータス
レジスタのBUSYをクリアし、IRQを生成してライ
トコマンドを終了する(ステップS50−S53)。
Then, the write command end control circuit 13
Thus, after confirming the existence of at least one block of free area necessary for the next write command in the buffer memory 9, the command end processing is executed. That is, the status register BUSY is cleared, an IRQ is generated, and the write command is terminated (steps S50-S53).

【0038】以上のように本実施形態及びその変形例に
よれば、ライトコマンドのキャッシュ判定結果がキャッ
シュヒットの場合には、CPU5(ファームウエア)が
関与する事なく、図1に示すHDC8のハードウエアに
より、自動的にホストデータの転送処理が実行される。
即ち、ライトコマンドに伴うデータのアドレスが、前の
ライトコマンドのアドレスに連続するシーケンシャルア
ドレスの場合には、バッファメモリに格納領域があれ
ば、データ転送の開始からコマンドの終了まで自動的に
実行される。一方、キャッシュヒットしない場合には、
データ転送の開始からコマンドの終了までをCPU(フ
ァームウエア)が関与して処理される。従って、ホスト
データの転送処理の終了時にコマンドの終了処理を実行
できるいわゆるライトキャッシュ機能を実現できる。一
方、キャッシュヒットしない場合には、CPUの関与に
よるデータ転送処理により、バッファメモリ9にディス
クデータ転送処理前のデータに新たなホストデータをオ
ーバーライトするような事態を確実に防止する事ができ
る。
As described above, according to the present embodiment and its modification, when the cache determination result of the write command is a cache hit, the hardware of the HDC 8 shown in FIG. The transfer processing of the host data is automatically executed by the software.
That is, if the address of the data accompanying the write command is a sequential address that is consecutive to the address of the previous write command, if there is a storage area in the buffer memory, the data is automatically executed from the start of data transfer to the end of the command. You. On the other hand, if there is no cache hit,
From the start of data transfer to the end of the command, the CPU (firmware) is involved in processing. Therefore, a so-called write cache function capable of executing a command end process at the end of the host data transfer process can be realized. On the other hand, when a cache hit does not occur, a situation in which new host data is overwritten with data before the disk data transfer processing in the buffer memory 9 can be reliably prevented by the data transfer processing involving the CPU.

【0039】[0039]

【発明の効果】以上詳述したように本発明によれば、ハ
ードディスクドライブなどのディスク記憶装置のライト
コマンド処理時に、キャッシュヒットの条件に基づいて
CPUが関与しないライトコマンド処理であるライトキ
ャッシュ機能を実現できる。従って、結果的にライトコ
マンド処理時間の短縮化を図り、ライトコマンド処理の
パフォーマンスを向上させることが可能となる。
As described above in detail, according to the present invention, a write cache function that is a write command process that does not involve the CPU based on a cache hit condition at the time of write command processing of a disk storage device such as a hard disk drive is provided. realizable. Therefore, as a result, the write command processing time can be reduced, and the performance of the write command processing can be improved.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の実施形態に関係するHDDの要部を示
すを示すブロック図。
FIG. 1 is an exemplary block diagram showing a main part of an HDD according to an embodiment of the present invention.

【図2】同実施形態のライトコマンド処理を説明するた
めのフローチャート。
FIG. 2 is an exemplary flowchart for explaining write command processing according to the embodiment;

【図3】同実施形態のライトコマンド処理を説明するた
めのフローチャート。
FIG. 3 is an exemplary flowchart for explaining write command processing according to the embodiment;

【図4】同実施形態のライトコマンド処理を説明するた
めのフローチャート。
FIG. 4 is an exemplary flowchart for explaining write command processing according to the embodiment;

【図5】従来のライトキャッシュ機能を説明するための
タイミングチャート。
FIG. 5 is a timing chart for explaining a conventional write cache function.

【図6】同実施形態のバッファコントロール回路の動作
を説明するための概念図。
FIG. 6 is an exemplary conceptual diagram for explaining the operation of the buffer control circuit of the embodiment.

【図7】同実施形態の変形例に関係するフローチャー
ト。
FIG. 7 is a flowchart relating to a modification of the embodiment.

【図8】同実施形態の変形例に関係するフローチャー
ト。
FIG. 8 is a flowchart relating to a modification of the embodiment.

【図9】同実施形態の変形例に関係するフローチャー
ト。
FIG. 9 is a flowchart relating to a modification of the embodiment.

【図10】従来のディスクコントローラの構成を説明す
るためのブロック図。
FIG. 10 is a block diagram for explaining a configuration of a conventional disk controller.

【図11】従来のディスクコントローラの動作を説明す
るためのタイミングチャート。
FIG. 11 is a timing chart for explaining the operation of a conventional disk controller.

【符号の説明】[Explanation of symbols]

1…ハードディスクドライブ(HDD) 2…ホストシステム 3…ホストインターフェース 4…ディスク 5…CPU 6…ROM 7…EEPROM 8…ディスクコントローラ(HDC) 9…バッファメモリ(DRAM) 10…コマンドデコード回路 11…ホスト転送処理回路 12…キャッシュ判定回路 13…ライトコマンド終了制御回路 14…バッファコントロール回路 15A…転送制御カウンタ(カウンタA) 15B…転送制御カウンタ(カウンタB) 16…ホスト処理コントロール回路 17…ディスク処理コントロール回路 DESCRIPTION OF SYMBOLS 1 ... Hard disk drive (HDD) 2 ... Host system 3 ... Host interface 4 ... Disk 5 ... CPU 6 ... ROM 7 ... EEPROM 8 ... Disk controller (HDC) 9 ... Buffer memory (DRAM) 10 ... Command decoding circuit 11 ... Host transfer Processing circuit 12 Cache determination circuit 13 Write command end control circuit 14 Buffer control circuit 15A Transfer control counter (counter A) 15B Transfer control counter (counter B) 16 Host processing control circuit 17 Disk processing control circuit

Claims (10)

【特許請求の範囲】[Claims] 【請求項1】 ホストシステムからのライトコマンドに
応じて前記ホストシステムから転送されたデータをバッ
ファメモリに格納するデータ転送制御を実行し、かつ前
記ホストシステムからのデータ転送が終了した時点で前
記ライトコマンドの終了を指示するライトキャッシュ機
能を有するディスクコントローラを備えたディスク記憶
装置であって、 前記ディスクコントローラは、 前記ライトキャッシュ機能の有効時に、前記ホストシス
テムから受信した前記ライトコマンドの内容がキャッシ
ュヒットの条件を満足するか否かを判定するキャッシュ
判定手段と、 前記キャッシュヒットの条件を満足するライトコマンド
の場合に、前記ホストシステムからのデータ転送が終了
した時点で前記ライトコマンドの終了を指示するための
信号を前記ホストシステムに送信する専用手段とを具備
したことを特徴とするディスク記憶装置。
1. A data transfer control for storing data transferred from the host system in a buffer memory in response to a write command from the host system, and when the data transfer from the host system is completed, the write operation is performed. A disk storage device comprising a disk controller having a write cache function for instructing termination of a command, wherein the disk controller, when the write cache function is enabled, a content of the write command received from the host system is a cache hit. Cache determination means for determining whether the condition of the cache hit is satisfied; and in the case of a write command satisfying the condition of the cache hit, instructing the end of the write command when data transfer from the host system is completed. Signal for the And a dedicated means for transmitting to the storage system.
【請求項2】 データを記録するための記録媒体として
ディスクを有するディスク記憶装置に適用し、前記ディ
スクとホストシステム間のデータ転送を制御するための
バッファメモリを有し、前記ホストシステムからのデー
タ転送が終了した時点で前記ライトコマンドの終了を指
示するライトキャッシュ機能を有するディスクコントロ
ーラであって、 前記ライトキャッシュ機能の有効時に、前記ホストシス
テムから受信した前記ライトコマンドの内容がキャッシ
ュヒットの条件を満足するか否かを判定するキャッシュ
判定手段と、 前記キャッシュヒットの条件を満足するライトコマンド
の場合には、前記ホストシステムからのデータ転送が終
了した時点で前記ライトコマンドの終了を指示するため
の信号を前記ホストシステムに送信する専用手段と、 前記キャッシュヒットの条件を満足しないライトコマン
ドの場合には、当該ライトコマンドに伴うデータの転送
が終了し、かつ前記バッファメモリから前記ディスクへ
のデータ転送を開始して前記バッファメモリに次のライ
トコマンドに伴うデータの格納領域を確保した後に前記
ライトコマンドの終了を指示するための処理を実行する
制御手段とを具備したことを特徴とするディスクコント
ローラ。
The present invention is applied to a disk storage device having a disk as a recording medium for recording data, and has a buffer memory for controlling data transfer between the disk and a host system, wherein data from the host system is transmitted. A disk controller having a write cache function for instructing the end of the write command at the time of completion of transfer, wherein when the write cache function is enabled, the content of the write command received from the host system determines a cache hit condition. A cache determining means for determining whether or not the write command is satisfied; and a write command which satisfies the cache hit condition, instructing the end of the write command when data transfer from the host system is completed. Dedicated to send signals to the host system If the write command does not satisfy the cache hit condition, the data transfer accompanying the write command ends, and the data transfer from the buffer memory to the disk is started. A controller for executing processing for instructing termination of the write command after securing a storage area for data accompanying the write command.
【請求項3】 前記キャッシュヒットの条件は、前記ラ
イトコマンドに伴うデータのアドレスが直前のライトコ
マンドに伴うデータのアドレスに連続するシーケンシャ
ルアドレスである事を特徴とする請求項1記載のディス
ク記憶装置または請求項2記載のディスクコントロー
ラ。
3. The disk storage device according to claim 1, wherein the condition of the cache hit is a sequential address in which a data address associated with the write command is continuous with an address of data associated with the immediately preceding write command. Alternatively, the disk controller according to claim 2.
【請求項4】 ホストシステムからのライトコマンドに
応じて前記ホストシステムから転送されたデータをバッ
ファメモリに格納するデータ転送制御を実行し、かつ前
記ホストシステムからのデータ転送が終了した時点で前
記ライトコマンドの終了を指示するライトキャッシュ機
能を有するディスクコントローラを備えたディスク記憶
装置であって、 前記ディスクコントローラは、 前記ライトキャッシュ機能の有効時で、ライトコマンド
に伴うデータのアドレスが直前のライトコマンドに伴う
データのアドレスに連続するシーケンシャルアドレスで
あることをキャッシュヒットの条件とした場合に、前記
ホストシステムから受信した前記ライトコマンドの内容
が前記キャッシュヒットの条件を満足するか否かを判定
するキャッシュ判定手段と、 前記キャッシュヒットの条件を満足するライトコマンド
の場合に機能する第1のカウンタ手段及びライトコマン
ドの終了を指示するための信号を出力する出力手段を備
えて、前記第1のカウンタ手段により前記ホストシステ
ムからのデータ転送を処理し、前記データ転送が終了し
た時点で前記出力手段から前記ライトコマンドの終了を
指示するための信号を前記ホストシステムに出力する専
用手段と、 前記キャッシュヒットの条件を満足しないライトコマン
ドの場合に、前記ホストシステムからのデータ転送を処
理するための第2のカウンタ手段と前記キャッシュヒッ
トの条件を満足しないライトコマンドの場合に、前記第
2のカウンタ手段を機能させて前記ホストシステムから
のデータ転送を実行すると共に、前記バッファメモリに
対するオーバーライトを回避するように前記バッファメ
モリから前記ディスクへのデータ転送を実行し、前記ホ
ストシステムからのデータ転送が終了した時点で前記ラ
イトコマンドの終了を指示するための信号を前記ホスト
システムに出力する制御手段とを具備したことを特徴と
するディスク記憶装置。
4. A data transfer control for storing data transferred from the host system in a buffer memory in response to a write command from the host system, and when the data transfer from the host system ends, the write operation is performed. A disk storage device comprising a disk controller having a write cache function for instructing the end of a command, wherein the disk controller is configured such that, when the write cache function is enabled, an address of data accompanying the write command corresponds to a previous write command. A cache determination that determines whether or not the content of the write command received from the host system satisfies the condition of the cache hit, when the condition of the cache hit is that the address is a sequential address continuous to the address of the accompanying data. Means A first counter functioning in the case of a write command that satisfies the cache hit condition, and an output means for outputting a signal for instructing the end of the write command; A dedicated means for processing the data transfer from the host system and outputting a signal for instructing the end of the write command from the output means to the host system when the data transfer is completed; and the cache hit condition is not satisfied. In the case of a write command, the second counter means for processing the data transfer from the host system and in the case of a write command which does not satisfy the cache hit condition, the second While executing data transfer from the system, A data transfer from the buffer memory to the disk is performed so as to avoid overwriting, and a signal for instructing the end of the write command is sent to the host system when the data transfer from the host system is completed. A disk storage device comprising: a control unit for outputting.
【請求項5】 データを記録するための記録媒体として
ディスクを有するディスク記憶装置に適用し、前記ディ
スクとホストシステム間のデータ転送を制御するための
バッファメモリを有し、前記ホストシステムからのデー
タ転送が終了した時点で前記ライトコマンドの終了を指
示するライトキャッシュ機能を有するディスクコントロ
ーラであって、 前記ライトキャッシュ機能の有効時で、ライトコマンド
に伴うデータのアドレスが直前のライトコマンドに伴う
データのアドレスに連続するシーケンシャルアドレスで
あることをキャッシュヒットの条件とした場合に、前記
ホストシステムから受信した前記ライトコマンドの内容
が前記キャッシュヒットの条件を満足するか否かを判定
するキャッシュ判定手段と、 前記ホストシステムから前記バッファメモリへのデータ
転送及び前記バッファメモリから前記ディスクへのデー
タ転送の両方を処理するための第1のカウンタ手段と、 前記ホストシステムから前記バッファメモリへのデータ
転送を処理するための第2のカウンタ手段と、 前記キャッシュヒットの条件を満足するライトコマンド
の場合には、前記第1のカウンタ手段により当該ライト
コマンドに伴うデータ転送を実行し、当該データ転送が
終了した時点で前記ライトコマンドの終了を指示するた
めの信号を前記ホストシステムに送信する専用手段と、 前記キャッシュヒットの条件を満足しないライトコマン
ドの場合には、前記第2のカウンタ手段により当該ライ
トコマンドに伴うデータ転送を開始し、前記第1のカウ
ンタ手段により前記バッファメモリから前記ディスクへ
のデータ転送を実行して前記バッファメモリにデータの
格納領域を確保する処理を実行し、前記バッファメモリ
へのデータ転送が終了した時点で当該ライトコマンドの
終了を指示するための処理を実行する制御手段とを具備
したことを特徴とするディスクコントローラ。
5. A disk storage device having a disk as a recording medium for recording data, comprising a buffer memory for controlling data transfer between the disk and a host system, wherein the data from the host system is provided. A disk controller having a write cache function for instructing the end of the write command when transfer is completed, wherein when the write cache function is enabled, the address of the data accompanying the write command is the data address of the data associated with the immediately preceding write command. A cache determining unit that determines whether or not the content of the write command received from the host system satisfies the cache hit condition, when the condition of the cache hit is that the address is a sequential address continuous with the address; From the host system First counter means for processing both data transfer to the buffer memory and data transfer from the buffer memory to the disk; and second counter for processing data transfer from the host system to the buffer memory. Means, and in the case of a write command satisfying the cache hit condition, executing data transfer accompanying the write command by the first counter means, and terminating the write command when the data transfer ends. Dedicated means for transmitting a signal for instructing to the host system; and in the case of a write command which does not satisfy the cache hit condition, data transfer accompanying the write command is started by the second counter means, A first counter means for transferring the data from the buffer memory to the disk; A process of executing a data transfer process to secure a data storage area in the buffer memory, and executing a process for instructing the end of the write command when the data transfer to the buffer memory is completed. And a disk controller.
【請求項6】 前記専用手段は専用回路群からなるハー
ドウエア構成であり、前記制御手段は予め用意されたプ
ログラムにより動作するCPUを有するファームウェア
構成であることを特徴とする請求項1,4のいずれか記
載のディスク記憶装置または請求項2,5のいずれか記
載のディスクコントローラ。
6. The apparatus according to claim 1, wherein said dedicated means has a hardware configuration including a dedicated circuit group, and said control means has a firmware configuration having a CPU that operates according to a program prepared in advance. A disk storage device according to any one of claims 1 to 5, and a disk controller according to any one of claims 2 and 5.
【請求項7】 前記専用手段は、前記ホストシステムか
らのデータ転送が終了下時点で、かつ前記バッファメモ
リに次のライトコマンドに伴うデータの格納領域を確保
した後に前記ライトコマンドの終了を指示するための信
号を出力擦る事を特徴とする請求項1,4のいずれか記
載のディスク記憶装置または請求項2,5のいずれか記
載のディスクコントローラ。
7. The exclusive means instructs the end of the write command at the time when the data transfer from the host system is completed and after securing a data storage area for the next write command in the buffer memory. The disk controller according to any one of claims 1 and 4, or a disk controller according to any one of claims 2 and 5, wherein a signal for outputting the signal is rubbed.
【請求項8】 データを記録するための記録媒体として
ディスクを有するディスク記憶装置に適用し、前記ディ
スクとホストシステム間のデータ転送を制御するための
バッファメモリを有し、前記ホストシステムからのデー
タ転送が終了した時点で前記ライトコマンドの終了を指
示するライトキャッシュ機能を有するディスクコントロ
ーラのコマンド処理方法であって、 前記ホストシステムから発行されたライトコマンドを受
信するステップと、前記ライトキャッシュ機能の有効時
で、ライトコマンドに伴うデータのアドレスが直前のラ
イトコマンドに伴うデータのアドレスに連続するシーケ
ンシャルアドレスであることをキャッシュヒットの条件
とした場合に、前記ホストシステムから受信した前記ラ
イトコマンドの内容がキャッシュヒットの条件を満足す
るか否かを判定するステップと、 前記キャッシュヒットの条件を満足するライトコマンド
の場合には、前記ホストシステムからのデータ転送が終
了した時点で前記ライトコマンドの終了を指示するため
の信号を前記ホストシステムに送信するステップとから
なることを特徴とするコマンド処理方法。
8. The present invention is applied to a disk storage device having a disk as a recording medium for recording data, and has a buffer memory for controlling data transfer between the disk and a host system, wherein data from the host system is What is claimed is: 1. A disk controller command processing method having a write cache function for instructing the end of said write command at the time of completion of transfer, comprising: receiving a write command issued from said host system; When the condition of the cache hit is that the address of the data associated with the write command is a sequential address that is consecutive to the address of the data associated with the immediately preceding write command, the content of the write command received from the host system is Cash hit Determining whether the condition of the cache hit is satisfied; and, in the case of a write command satisfying the condition of the cache hit, instructing the end of the write command when the data transfer from the host system is completed. And transmitting the signal to the host system.
【請求項9】 前記キャッシュヒットの条件を判定する
ステップにおいて、前記キャッシュヒットの条件を満足
しないライトコマンドの場合には、当該ライトコマンド
に伴うデータの転送を開始すると共に、前記バッファメ
モリから前記ディスクへのデータ転送を開始して前記バ
ッファメモリの格納領域を確保するステップと、 前記ライトコマンドに伴うデータ転送が終了した時点で
前記ライトコマンドのの終了を指示するための処理を実
行するステップとを有することを特徴とする請求項8記
載のコマンド処理方法。
9. In the step of judging the condition of the cache hit, when the write command does not satisfy the condition of the cache hit, the transfer of data accompanying the write command is started and the disk memory is read from the buffer memory. Starting a data transfer to the buffer memory to secure a storage area in the buffer memory; and executing a process for instructing the end of the write command when the data transfer accompanying the write command ends. 9. The command processing method according to claim 8, comprising:
【請求項10】 ライトキャッシュ機能の有効時におい
て、ライトコマンドを受けるとホストシステムからの1
ブロック分のデータ転送を実行し、その後にキャッシュ
がヒット(シーケンシャルアドレス)した場合は1ブロ
ック分の転送処理カウンタを更新し、当該ホストシステ
ムからの残りのデータ転送を開始し、そのデータ転送が
終了するとバッファ内に1ブロック分の容量が空くのを
待ってからコマンド終了処理(BUSYのクリア、IR
Qの発生)を自動的に実行する機能を有するディスクコ
ントローラと、 キャッシュがヒットしない場合には、前のコマンドのメ
ディアへの書込み処理を終了させてから、前記転送処理
カウンタを1ブロック分更新してから残りのホストデー
タ転送を実行し、このコマンドでのメディアへの書込み
処理を開始し、前記コマンド終了処理を行なうステップ
を実行する制御手段とを具備したことを特徴とするディ
スク記憶装置。
10. When a write command is received while the write cache function is enabled, one from the host system is received.
When data transfer for a block is executed and the cache hits (sequential address) thereafter, the transfer processing counter for one block is updated, the remaining data transfer from the host system is started, and the data transfer ends. Then, after waiting for the capacity of one block in the buffer to become free, the command end processing (BUSY clear, IR
Q), and if the cache does not hit, terminate the process of writing the previous command to the media, and then update the transfer process counter by one block. Control means for executing the remaining host data transfer after that, starting the write processing on the medium by this command, and executing the command end processing.
JP10180380A 1998-06-26 1998-06-26 Disk storage device and disk controller to be applied to the same Pending JP2000020398A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10180380A JP2000020398A (en) 1998-06-26 1998-06-26 Disk storage device and disk controller to be applied to the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10180380A JP2000020398A (en) 1998-06-26 1998-06-26 Disk storage device and disk controller to be applied to the same

Publications (1)

Publication Number Publication Date
JP2000020398A true JP2000020398A (en) 2000-01-21

Family

ID=16082232

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10180380A Pending JP2000020398A (en) 1998-06-26 1998-06-26 Disk storage device and disk controller to be applied to the same

Country Status (1)

Country Link
JP (1) JP2000020398A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7073017B2 (en) 2004-02-25 2006-07-04 Hitachi, Ltd. Efficient update of firmware in a disk-type storage device
US8064596B2 (en) 2005-06-01 2011-11-22 Sony Corportion Stream control device, stream encryption/decryption device, and stream encryption/decryption method
US9003119B2 (en) 2011-03-18 2015-04-07 Fujitsu Limited Control apparatus and method, and storage apparatus
US9146803B2 (en) 2011-03-18 2015-09-29 Fujitsu Limited Storage apparatus, control apparatus, and storage apparatus control method
WO2016071954A1 (en) * 2014-11-04 2016-05-12 株式会社日立製作所 Semiconductor memory device and storage apparatus comprising semiconductor memory device

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7073017B2 (en) 2004-02-25 2006-07-04 Hitachi, Ltd. Efficient update of firmware in a disk-type storage device
US8064596B2 (en) 2005-06-01 2011-11-22 Sony Corportion Stream control device, stream encryption/decryption device, and stream encryption/decryption method
US9003119B2 (en) 2011-03-18 2015-04-07 Fujitsu Limited Control apparatus and method, and storage apparatus
US9146803B2 (en) 2011-03-18 2015-09-29 Fujitsu Limited Storage apparatus, control apparatus, and storage apparatus control method
WO2016071954A1 (en) * 2014-11-04 2016-05-12 株式会社日立製作所 Semiconductor memory device and storage apparatus comprising semiconductor memory device
JPWO2016071954A1 (en) * 2014-11-04 2017-08-10 株式会社日立製作所 Semiconductor memory device and storage apparatus having semiconductor memory device
US10310764B2 (en) 2014-11-04 2019-06-04 Hitachi, Ltd. Semiconductor memory device and storage apparatus comprising semiconductor memory device

Similar Documents

Publication Publication Date Title
EP2280347B1 (en) Information processing apparatus, control method of the information processing apparatus, and recording medium
JPH09504392A (en) ATA interface architecture using state machine
JP5027610B2 (en) Apparatus and method for controlling arithmetic processing with nonvolatile memory
US5860089A (en) Disk system with command processing function
JPH11175381A (en) Information recording and reproducing device
EP0017666B1 (en) Methods of operating direct access storage means
JP2000020398A (en) Disk storage device and disk controller to be applied to the same
JPS5832417B2 (en) Data transfer control method
KR970005742B1 (en) Interface circuit for data transfer control
JP2530113B2 (en) Interface circuit for data transfer control and magnetic disk device
US6996667B2 (en) Method and apparatus for rewriting program executed in disk drive
US5459870A (en) Interface circuit for controlling data transfers
JP2544039B2 (en) Disk drive parallel operation method
JP2002342038A (en) Disk device controlling execution order of commands
JP2848099B2 (en) Multiple drive control method
JP3594265B2 (en) Disk cache device
JP2748056B2 (en) Disk controller
JP3428551B2 (en) A disk control device for performing a partial write process, a disk subsystem, a control method for the disk control device, and a recording medium on which a program is recorded.
JP2541158B2 (en) Information processing system
JPH08255058A (en) Disk cache controller
JPH05241736A (en) File control method for magnetic tape storage device
JP2959544B2 (en) Magnetic disk drive
JPH11187079A (en) Data transfer circuit and printer system using the same
JP2732951B2 (en) Data transfer control method
JP2001084216A (en) Data prefetch system, prefetch method and recording medium