JPH0628261A - Method and device for data transfer - Google Patents

Method and device for data transfer

Info

Publication number
JPH0628261A
JPH0628261A JP5088387A JP8838793A JPH0628261A JP H0628261 A JPH0628261 A JP H0628261A JP 5088387 A JP5088387 A JP 5088387A JP 8838793 A JP8838793 A JP 8838793A JP H0628261 A JPH0628261 A JP H0628261A
Authority
JP
Japan
Prior art keywords
data
disk
storage
blocks
segment
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
JP5088387A
Other languages
Japanese (ja)
Inventor
Tetsuhiko Fujii
哲彦 藤井
Akira Yamamoto
山本  彰
Tetsuzo Kobashi
徹三 小橋
Masahiko Sato
雅彦 佐藤
Takao Sato
孝夫 佐藤
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 JP5088387A priority Critical patent/JPH0628261A/en
Publication of JPH0628261A publication Critical patent/JPH0628261A/en
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To transfer discontinuous data blocks between a cache and a disk by single DMA transfer in a disk subsystem with a cache. CONSTITUTION:When data which are discontinuously present in a cache segment 131 are written on the disk, a microprocessor 100 supplies a bit map 150 as data transfer control information to a HDC 120. The HDC 120 writes data in an (i)th block of data sent from a DMAC 110 in a corresponding sector of the bit map 150 when an (i)th bit of the bit map 150 is 1 and stops the data when the (i)th bit is 0 to perform control so as to wait for the read/write head of the disk to pass the corresponding sector. Therefore, the performance of the disk subsystem is made high and a cache control program is simplified.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、記憶装置間のデータ転
送方法及び装置に関し、特にキャッシュメモリ付きディ
スクサブシステムにおけるディスクキャッシュメモリと
ディスクドライブとの間のデータ転送に好適な、データ
転送方法及び装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data transfer method and device between storage devices, and more particularly, to a data transfer method and device suitable for data transfer between a disk cache memory and a disk drive in a disk subsystem with a cache memory. Regarding the device.

【0002】[0002]

【従来の技術】従来の記憶装置間のデータ転送方法とし
て、例えば、ディスクドライブに格納されたデータの一
部を半導体メモリにコピーし、ディスクサブシステムの
アクセス時間の向上を図るようにディスクキャッシュメ
モリを備えたディスクサブシステムにおいて、ディスク
サブシステムに接続されたホストコンピュータから出力
されたデータライトコマンドに応答して、ライトデータ
をディスクキャッシュメモリに書き込むだけでデータ書
き込みを完了し、そのライトデータを後でディスクドラ
イブにライトする、ライトバックキャッシュ方式が知ら
れている。このような技術については、例えば、特開昭
55−154650号公報に開示されている。
2. Description of the Related Art As a conventional data transfer method between storage devices, for example, a part of data stored in a disk drive is copied to a semiconductor memory to improve access time of a disk subsystem. In the disk subsystem equipped with, in response to the data write command output from the host computer connected to the disk subsystem, the write data is completed only by writing the write data to the disk cache memory, and the write data is sent back. There is known a write-back cache method of writing to a disk drive with. Such a technique is disclosed in, for example, Japanese Patent Application Laid-Open No. 55-154650.

【0003】また、I/Oデバイスとメモリとの間のデ
ータ転送の一方法である、ダイレクトメモリアクセス
(DMA)転送については、例えば、定期刊行物「イン
ターフェース」1989年6月号、「割り込みとDMA
の考え方」、pp. 223-240、CQ出版社、1989年6
月1日発行に記載されている。ここには、DMAによる
データ転送に際し、転送すべきデータ領域の先頭アドレ
スと領域長とを指定し、これにより指定された連続領域
のデータ転送をCPUを介することなく行なうデータ転
送方法が開示されている。
Direct memory access (DMA) transfer, which is one method of data transfer between an I / O device and a memory, is described, for example, in the periodical publication "Interface", June 1989, "Interrupt and Interrupt". DMA
Way of Thinking ", pp. 223-240, CQ Publisher, June 1989.
It is described in the issue on the 1st of the month. This discloses a data transfer method in which, when data is transferred by DMA, the start address and the area length of a data area to be transferred are specified, and the data transfer of the continuous area specified by this is performed without passing through the CPU. There is.

【0004】[0004]

【発明が解決しようとする課題】一般に、ディスクキャ
ッシュメモリは複数のキャッシュセグメントで構成さ
れ、ディスクキャッシュメモリとディスクドライブとの
間のデータ転送は、このキャッシュセグメントのデータ
を転送単位として行われる。また、各キャッシュセグメ
ントのデータは、所定数の同一サイズデータブロックに
分割可能である。
Generally, the disk cache memory is composed of a plurality of cache segments, and the data transfer between the disk cache memory and the disk drive is performed by using the data of the cache segment as a transfer unit. Further, the data of each cache segment can be divided into a predetermined number of data blocks of the same size.

【0005】上述したライトバックキャッシュ方式を採
用したディスクキャッシュメモリにおいては、ホストコ
ンピュータからのライトデータが、ある1つのキャッシ
ュセグメントの一部にしか書き込まれない場合は、ディ
スクサブシステム内のディスクコントローラは、先ず、
ディスクドライブからそのキャッシュセグメントデータ
に対応するデータ(ディスクセグメントデータ)を読み
だして、ディスクキャッシュメモリ内のキャッシュセグ
メントに書き込み、その後で、ディスクコントローラ
が、ホストコンピュータからのライトデータをそのキャ
ッシュセグメントに書き込むのが一般的である。
In the disk cache memory adopting the above-mentioned write-back cache system, when the write data from the host computer is written in only a part of one certain cache segment, the disk controller in the disk subsystem is First,
The data (disk segment data) corresponding to the cache segment data is read from the disk drive and written to the cache segment in the disk cache memory, and then the disk controller writes the write data from the host computer to the cache segment. Is common.

【0006】このようなデータライト動作は、ディスク
からのデータ読みだし動作を含むため、ディスクサブシ
ステムのアクセス時間が大幅に遅くなるという問題を有
している。この問題を解決するために、ホストコンピュ
ータからのライトデータに対して、ある1つのキャッシ
ュセグメントが初めて割り当てられ、かつ、そのライト
データが、そのキャッシュセグメントの一部にしか書き
込まれない場合でも、対応するディスクセグメントデー
タをディスクドライブから読み出さず、そのライトデー
タを直接そのキャッシュセグメントに書き込むことが考
えられる。
Since such a data write operation includes a data read operation from the disk, it has a problem that the access time of the disk subsystem is significantly delayed. In order to solve this problem, even if a certain cache segment is allocated to the write data from the host computer for the first time and the write data is written only to a part of the cache segment, it is possible to deal with it. It is possible to write the write data directly to the cache segment without reading the write disk segment data from the disk drive.

【0007】しかし、キャッシュセグメントデータに
は、データの無い(無意味なデータを有する)データブ
ロック(以下、これを「空きデータブロック」と呼ぶ)
が含まれているため、ライトバック時にキャッシュセグ
メント全体のデータを一括してディスクドライブに書き
込むことはできない。また、ホストコンピュータからの
ライトデータがいくつか同じキャッシュセグメントに書
き込まれた後に、キャッシュセグメント内にディスクへ
の書き込みが完了していないデータブロック(以下、こ
れを「ダーティデータブロック」と呼ぶ)が飛び飛びに
存在し、これらダーティブロックの間に空きデータブロ
ック、または、ディスクへの書き込みが完了したデータ
ブロック(以下、これを「クリーンデーダブロック」と
呼ぶ)が存在する状態が発生する場合がある。これらの
場合には、1つのキャッシュセグメント内の飛び飛びの
データブロックのみをディスクドライブへ書き込むこと
が必要となる。従来技術の項において述べたように、1
回のDMA転送では連続した1つのデータ領域の転送し
か行なうことができない。従って、この飛び飛びのデー
タ転送をDMA転送を用いて行なうには、複数回のDM
A転送を必要とすることになる。複数回のDMA転送を
行うと、ディスクコントローラ内のマイクロプロセッサ
の割り込み動作が頻繁となり、マイクロプロセッサのオ
ーバヘッドが大きくなるという問題が生じることにな
る。
However, the cache segment data has no data block (has meaningless data) (hereinafter referred to as "empty data block").
, The data of the entire cache segment cannot be written to the disk drive at the time of write back. Also, after some write data from the host computer has been written to the same cache segment, data blocks that have not been completely written to the disk in the cache segment (hereinafter referred to as "dirty data blocks") are skipped. There may be a state in which there is a free data block between these dirty blocks, or a data block which has been written to the disk (hereinafter referred to as “clean data block”). In these cases, only discrete data blocks in one cache segment need to be written to the disk drive. As mentioned in the section of the prior art, 1
In one DMA transfer, only one continuous data area can be transferred. Therefore, in order to perform this random data transfer by using the DMA transfer, the DM transfer is performed a plurality of times.
A transfer will be required. When the DMA transfer is performed a plurality of times, the interrupt operation of the microprocessor in the disk controller becomes frequent and the overhead of the microprocessor increases.

【0008】以上、ディスクキャッシュからディスクド
ライブへのデータ転送について述べたが、ディスクドラ
イブからディスクキャッシュへのデータ転送を行なう場
合にも同様の問題が生じる。
Although the data transfer from the disk cache to the disk drive has been described above, the same problem occurs when data is transferred from the disk drive to the disk cache.

【0009】従って、本発明の目的は、不連続な複数の
データブロックをキャッシュメモリとディスクドライブ
との間で1回のDMA転送によって転送することができ
るデータ転送方法及び装置を提供することにある。
Therefore, an object of the present invention is to provide a data transfer method and device capable of transferring a plurality of discontinuous data blocks between a cache memory and a disk drive by one DMA transfer. .

【0010】また、本発明の別の目的は、キャッシュメ
モリとディスクドライブとの間での双方向のデータ転送
を1回のDMA転送によりおこなうことができるデータ
転送方法及び装置を提供することにある。
Another object of the present invention is to provide a data transfer method and apparatus capable of bidirectional data transfer between a cache memory and a disk drive by one DMA transfer. .

【0011】[0011]

【課題を解決するための手段】上記目的を達成するため
に、本発明では、ホストコンピュータと該ホストコンピ
ュータが利用するデータを保持し、連続する複数のデー
タブロックで構成されるディスクセグメントを有するデ
ィスク装置との間のデータ転送を制御するデータ転送装
置であって、ディスクセグメント内の連続する複数のデ
ータブロックにそれぞれ対応し、連続する複数のデータ
ブロックで構成されるキャッシュセグメントを有するデ
ィスクキャッシュメモリを備えたデータ転送制御装置
に、キャッシュセグメント内の連続する複数のデータブ
ロックにそれぞれ対応し、データ転送すべきデータブロ
ックを指示するための複数のビット位置を有するディス
クライト用ビットマップ、ディスクセグメント内の連続
する複数のデータブロックにそれぞれ対応し、データ転
送すべきデータブロックを指示するための複数のビット
位置を有するディスクリード用ビットマップを設ける。
ディスクキャッシュメモリのキャッシュセグメント内の
不連続なデータブロックをディスク装置の対応するディ
スクセグメント内のデータブロックに転送する際には、
ディスクライト用ビットマップを参照し、転送対象とな
るデータブロックのみを選択的にディスクキャッシュメ
モリからディスク装置へ転送する。また、ディスク装置
のディスクセグメント内の不連続なデータブロックをデ
ィスクキャッシュメモリの対応するキャッシュセグメン
ト内のデータブロックへ転送する際には、ディスクリー
ド用ビットマップを参照し、転送対象となるデータブロ
ックをディスク装置より読み出し、それらが書き込まれ
るべきキャッシュセグメント内の対応するデータブロッ
ク位置に転送する。
To achieve the above object, according to the present invention, a disk having a host computer and data used by the host computer and having a disk segment composed of a plurality of continuous data blocks is provided. A data transfer device for controlling data transfer to and from a device, comprising a disk cache memory having a cache segment corresponding to a plurality of continuous data blocks in a disk segment and having a plurality of continuous data blocks. In a data transfer control device provided, a disk write bitmap having a plurality of bit positions respectively corresponding to a plurality of consecutive data blocks in a cache segment and indicating a data block to be data transferred, Multiple consecutive databases Correspond to the click, providing a bitmap disc lead having a plurality of bit positions for instructing data blocks to be a data transfer.
When transferring discontinuous data blocks in the cache segment of the disk cache memory to data blocks in the corresponding disk segment of the disk device,
By referring to the disk write bitmap, only the data blocks to be transferred are selectively transferred from the disk cache memory to the disk device. When transferring a discontinuous data block in a disk segment of a disk device to a data block in the corresponding cache segment of the disk cache memory, refer to the disk read bitmap and select the data block to be transferred. Read from disk device and transfer to corresponding data block location in cache segment where they should be written.

【0012】本発明の一態様では、ディスクリード用ビ
ットマップとディスクライト用ビットマップは、互いに
共用して用いられる。
In one aspect of the present invention, the disk read bitmap and the disk write bitmap are used in common.

【0013】また、ディスクライト用ビットマップ、ま
たは、ディスクリード用ビットマップを用い、あるキャ
ッシュセグメント内の少なくとも1つのダーティデータ
ブロックのディスクドライブへの書き込みと、同一キャ
ッシュセグメント内の空きデータブロックへの少なくと
も1つのデータブロックの書き込みとを1つのDMA転
送処理内でおこなうことも可能である。
Further, by using a disk write bitmap or a disk read bitmap, at least one dirty data block in a certain cache segment is written to the disk drive and an empty data block in the same cache segment is written. It is also possible to write at least one data block in one DMA transfer process.

【0014】[0014]

【作用】このように、特別のビットマップを設けたこと
により、ホストコンピュータからのライトデータに対し
ては、ディスクドライブから読みだしたディスクセグメ
ントデータをコピーしていないキャッシュセグメントに
直接書き込むことが可能となり、ディスクサブシステム
のアクセス時間を速くできる。
As described above, by providing the special bitmap, it is possible to directly write the disk segment data read from the disk drive to the cache segment which is not copied, for the write data from the host computer. Therefore, the access time of the disk subsystem can be shortened.

【0015】また、キャッシュセグメント内のデータブ
ロックに飛び飛びに書き込まれたホストコンピュータか
らのライトデータを、1回のDMA転送で処理可能とな
り、ディスクサブシステムの処理時間を速くできる。
Further, write data from the host computer, which is written in discrete data blocks in the cache segment, can be processed by one DMA transfer, and the processing time of the disk subsystem can be shortened.

【0016】さらにまた、キャッシュセグメント内の飛
び飛びに書き込まれたダーティデータブロックをディス
クドライブに書き込む動作と、ディスクドライブから読
みだした少なくとも1つのデータブロックをキャッシュ
セグメント内の空きデータブロックに書き込む動作と
を、1回のDMA転送で処理可能となり、ディスクサブ
システムの処理時間をさらに速くできる。
Furthermore, an operation of writing the dirty data blocks written in the cache segment at random to the disk drive and an operation of writing at least one data block read from the disk drive to an empty data block in the cache segment. Processing can be performed by one DMA transfer, and the processing time of the disk subsystem can be further shortened.

【0017】[0017]

【実施例】先ず、図1〜図8を用いて本発明によるデー
タ転送の第1実施例について説明する。
First, a first embodiment of data transfer according to the present invention will be described with reference to FIGS.

【0018】図1〜図5では、ディスクライト用ビット
マップを用いて、ディスクキャッシュメモリ内の1つの
キャッシュセグメント中に存在する複数の不連続なダー
ティデータブロックを1回のDMA転送でディスクドラ
イブに書き込む方法を説明している。また、図6〜図8
では、ディスクリード用ビットマップを用いて、ディス
クドライブ内の1つのディスクセグメント中に存在する
複数の不連続なデータブロックを1回のDMA転送でキ
ャッシュセグメントに書き込む方法を説明している。
1 to 5, a plurality of discontinuous dirty data blocks existing in one cache segment in the disk cache memory are transferred to the disk drive by one DMA transfer by using the disk write bitmap. Describes how to write. Moreover, FIGS.
Describes a method of writing a plurality of discontinuous data blocks existing in one disk segment in a disk drive to a cache segment by one DMA transfer using a disk read bitmap.

【0019】図1は、本発明のデータ転送が適用された
ディスクキャッシュメモリ付きディスクサブシステムの
構成図である。
FIG. 1 is a block diagram of a disk subsystem with a disk cache memory to which the data transfer of the present invention is applied.

【0020】図1において、ディスクサブシステムは、
ディスクドライブ140とメモリコントローラ180で
構成される。メモリコントローラ180は、マイクロプ
ロセッサ100、ディスクキャッシュメモリ130、デ
ィスクキャッシュメモリ130を制御するDMAC11
0およびディスクドライブ140を制御するHDC12
0を含んでいる。また、1および3は、それぞれマイク
ロプロセッサ100からDMAC110およびHDC1
20へ制御信号を伝えるバスである。2は、ディスクキ
ャッシュメモリ130とDMAC110との間で制御信
号およびデータ転送を行うバス、4は、HDC120と
ディスクドライブ140との間で制御信号の伝達および
データの転送を行うバスである。5は、DMAC110
とHDC120との間でデータ転送を行うバスである。
In FIG. 1, the disk subsystem is
It is composed of a disk drive 140 and a memory controller 180. The memory controller 180 controls the microprocessor 100, the disk cache memory 130, and the DMAC 11 that controls the disk cache memory 130.
0 and the HDC 12 that controls the disk drive 140
Contains 0. In addition, 1 and 3 denote the microprocessor 100 to the DMAC 110 and the HDC 1 respectively.
It is a bus for transmitting a control signal to 20. Reference numeral 2 is a bus for transferring control signals and data between the disk cache memory 130 and the DMAC 110, and 4 is a bus for transferring control signals and data between the HDC 120 and the disk drive 140. 5 is DMAC110
And the HDC 120 are used for data transfer.

【0021】ディスクコントローラ180は、図2に示
すようにコマンドやデータの転送を行うバス6を介して
ホストコンピュータ190に接続されている。
The disk controller 180 is connected to the host computer 190 via the bus 6 for transferring commands and data as shown in FIG.

【0022】マイクロプロセッサ100は、本発明にな
るデータ転送処理の手順を記憶したマイクロプログラム
101とディスクライト用ビットマップ150とを有し
ている。また、ディスクキャッシュメモリ130は、代
表として131で示す複数のキャッシュセグメントで構
成されている。ディスクドライブ140内のデータは、
代表的に141で示す複数のディスクセグメントで管理
されている。
The microprocessor 100 has a microprogram 101 storing the procedure of data transfer processing according to the present invention and a disk write bitmap 150. Further, the disk cache memory 130 is composed of a plurality of cache segments indicated by 131 as a representative. The data in the disk drive 140 is
It is managed by a plurality of disk segments typified by 141.

【0023】図3には、キャッシュセグメント131、
およびディスクセグメント141の構成を示す。本実施
例では説明を簡単にするため、キャッシュセグメント1
31は、8つの連続したデータブロックc(1)−c
(8)で構成され、ディスクセグメント141は、8つ
の連続したデータブロックd(1)−d(8)で構成さ
れているとする。c(i)は、キャッシュセグメント1
31の第i番目のデータブロックであり、d(i)は、
ディスクセグメント141の第i番目のデータブロック
であることを意味する。ここで、1つのデータブロック
のサイズは、キャッシュセグメント131とディスクセ
グメント141とで同じSバイトとする。また、本実施
例では、Sバイトのデータブロックが、ディスクドライ
ブの1セクタ分のデータと一致するものとする。
In FIG. 3, the cache segment 131,
The structure of the disk segment 141 is shown. In this embodiment, to simplify the description, the cache segment 1
31 is eight consecutive data blocks c (1) -c
It is assumed that the disk segment 141 is composed of (8), and that the disk segment 141 is composed of eight continuous data blocks d (1) -d (8). c (i) is cache segment 1
31 is the i-th data block, and d (i) is
This means that it is the i-th data block of the disk segment 141. Here, the size of one data block is the same S bytes in the cache segment 131 and the disk segment 141. Further, in this embodiment, it is assumed that the S-byte data block matches the data of one sector of the disk drive.

【0024】キャッシュセグメント131は、ディスク
キャッシュメモリ130のアドレスxからx+8s−1
までの連続するデータブロックを格納している。ディス
クセグメント141は、ディスクドライブ140のデー
タブロックアドレスyからy+7までの連続するデータ
ブロックを格納している。
The cache segment 131 is from the address x of the disk cache memory 130 to x + 8s-1.
Stores consecutive data blocks up to. The disk segment 141 stores consecutive data blocks from the data block address y of the disk drive 140 to y + 7.

【0025】ここで、ホストコンピュータ190から、
ディスクドライブ140のディスクセグメント141内
のデータブロックd(4)に1データブロック分のデー
タを書き込むことを要求するデータライトコマンドが出
力されたとして、ディスクセグメント141に対応する
キャッシュセグメント131が、まだディスクキャッシ
ュメモリ130内に割り当てられていない場合、マイク
ロプログラム101は、ディスクキャッシュメモリ13
0内にキャッシュセグメント131を新たに確保して、
ディスクセグメント141用に割り当てる。キャッシュ
セグメント131が割り当てられた当初は、8つのデー
タブロックはすべて空きデータブロックである。ここ
で、マイクロプロセッサ100は、DMAC110を制
御して、ディスクキャッシュメモリ130内のキャッシ
ュセグメント131上のデータブロックc(4)に、ホ
ストコンピュータ190からバス6を経由して転送され
てくるデータを書き込む。
From the host computer 190,
Assuming that the data write command requesting to write the data of one data block to the data block d (4) in the disk segment 141 of the disk drive 140 is output, the cache segment 131 corresponding to the disk segment 141 is still in the disk. If it is not allocated in the cache memory 130, the microprogram 101 executes the disk cache memory 13
A new cache segment 131 is secured in 0,
Allocate for the disk segment 141. When the cache segment 131 is initially allocated, all eight data blocks are free data blocks. Here, the microprocessor 100 controls the DMAC 110 to write the data transferred from the host computer 190 via the bus 6 to the data block c (4) on the cache segment 131 in the disk cache memory 130. .

【0026】この時点で、マイクロプログラム101
は、ホストコンピュータ190にデータライト完了を報
告する。このとき、データブロックc(4)に書き込ま
れたデータは、まだディスクセグメント141内のデー
タブロックd(4)には書き込まれていない。マイクロ
プロセッサ100は、データブロックc(4)上のデー
タを後の適当な時期にディスクドライブ140内のディ
スクセグメント141のデータブロックd(4)に書き
込む。したがって、この時点では、キャッシュセグメン
ト131内のデータブロックc(4)のデータとディス
クセグメント141内のデータブロックd(4)内のデ
ータとは異なっている。
At this point, the microprogram 101
Reports the completion of data write to the host computer 190. At this time, the data written in the data block c (4) has not yet been written in the data block d (4) in the disk segment 141. The microprocessor 100 writes the data on the data block c (4) to the data block d (4) of the disk segment 141 in the disk drive 140 at an appropriate time later. Therefore, at this time, the data in the data block c (4) in the cache segment 131 and the data in the data block d (4) in the disk segment 141 are different.

【0027】次に、ホストコンピュータ190から、デ
ィスクドライブ140のディスクセグメント141内の
データブロックd(6)に1データブロック分のデータ
を書き込むことを要求するデータライトコマンドが出力
されたとする。すると、マイクロプログラム101は、
同様にして、ホストコンピュータ190から受け取った
データをキャッシュセグメント131のデータブロック
c(6)に書き込む。ここでも、キャッシュセグメント
131のデータブロックc(6)上のデータとディスク
セグメント141のデータブロックd(6)上のデータ
とは一般的に異なっている。この時点で、キャッシュセ
グメント131の8つのデータブロックは、図3に示す
ように、データブロックc(1),c(2),c
(3),c(5),c(7)およびc(8)が空きデー
タブロックであり、データブロックc(4)およびc
(6)が、ダーティデータブロックとなっている。
Next, it is assumed that the host computer 190 outputs a data write command requesting to write data for one data block to the data block d (6) in the disk segment 141 of the disk drive 140. Then, the microprogram 101
Similarly, the data received from the host computer 190 is written in the data block c (6) of the cache segment 131. Again, the data on data block c (6) of cache segment 131 and the data on data block d (6) of disk segment 141 are generally different. At this point, the eight data blocks in the cache segment 131 have the data blocks c (1), c (2), c as shown in FIG.
(3), c (5), c (7) and c (8) are empty data blocks, and data blocks c (4) and c (4)
(6) is a dirty data block.

【0028】キャッシュセグメント131内の各データ
ブロックがダーティデータブロックか否かを示すディス
クライト用ビットマップ150が、キャッシュセグメン
ト毎の管理情報として、図1に示すようにディスクコン
トローラ180内のメモリ(図1には図示していない)
内に作成される。本実施例では、ディスクライト用ビッ
トマップ150は、8ビットで構成され、各ビットが関
連するキャッシュセグメント131の各データブロック
に対応している。図1に示す例では、ダーティデータブ
ロックc(4)およびc(6)に対応するディスクライ
ト用ビットマップ150のビット4とビット6とが
“1”で、残りのビットが“0”となっている。
A disk write bitmap 150 indicating whether or not each data block in the cache segment 131 is a dirty data block is used as management information for each cache segment as shown in FIG. (Not shown in 1)
Created in. In the present embodiment, the disk write bitmap 150 is composed of 8 bits, and each bit corresponds to each data block of the associated cache segment 131. In the example shown in FIG. 1, bit 4 and bit 6 of the disk write bitmap 150 corresponding to the dirty data blocks c (4) and c (6) are "1" and the remaining bits are "0". ing.

【0029】ディスクキャッシュメモリ130からディ
スクドライブ140へのキャッシュセグメント131の
データ転送は、図4に示すフローチャートにしたがって
マイクロプログラム101が行う。ステップ301にお
いて、マイクロプログラム101は、HDC120にデ
ィスクドライブ140内のデータ書き込みすべきディス
クゼクメント141の先頭アドレスおよび転送データ長
を指定する。ステップ302で、マイクロプログラム1
01は、HDC120に書き込むべきダーティデータブ
ロックのセクタ番号、セクタ数およびディスクライト用
ビットマップ150の値を指定する。ステップ303
で、マイクロプログラム101は、DMAC110にデ
ータ転送を指示する。ステップ304で、DMAC11
0は、ディスクキャッシュメモリ130からキャッシュ
セグメント131のデータをリードする。ステップ30
5で、HDC120は、DMAC110からのデータを
ディスクドライブ140に書き込む。
Data transfer of the cache segment 131 from the disk cache memory 130 to the disk drive 140 is performed by the microprogram 101 according to the flowchart shown in FIG. In step 301, the microprogram 101 specifies to the HDC 120 the start address and transfer data length of the disk segment 141 in the disk drive 140 to which data should be written. In step 302, microprogram 1
01 designates the sector number of the dirty data block to be written to the HDC 120, the number of sectors, and the value of the disk write bitmap 150. Step 303
Then, the microprogram 101 instructs the DMAC 110 to transfer data. In step 304, DMAC11
0 reads the data of the cache segment 131 from the disk cache memory 130. Step 30
At 5, the HDC 120 writes the data from the DMAC 110 to the disk drive 140.

【0030】ディスクキャッシュメモリ130からディ
スクドライブ140へのHDC120によるキャッシュ
セグメント131の転送時には、図5に示すフローチャ
ートにしたがって、マイクロプログラム101は、ディ
スクライト用ビットマップ150に基づいて、データ転
送を行なうかどうかを判定する。
At the time of transferring the cache segment 131 from the disk cache memory 130 to the disk drive 140 by the HDC 120, whether the microprogram 101 transfers data based on the disk write bitmap 150 according to the flowchart shown in FIG. Determine whether

【0031】先ずステップ401で、何番目のデータブ
ロックを処理中かを示す値iに初期値1を設定する。
First, in step 401, an initial value 1 is set to a value i indicating which data block is being processed.

【0032】ステップ402では、i=8かどうかを判
定し、i>8であれば処理を終了する。iが8以下であ
れば、ステップ403に進み、ディスクライト用ビット
マップ150の第i番目のビット値が“1”か“0”か
をチェックする。ビット値が“1”であれば、ステップ
404に進み、DMAC110から送られてきた第i番
目のデータブロックC(i)のデータをセクタ番号y+
(i−1)のセクタ、すなわち、d(i)に書き込み、
ステップ405に進む。ステップ405では、iの値を
“1”だけインクリメントし、ステップ402へジャン
プする。ステップ403で、ビット値が“0”であれ
ば、ステップ406へ進み、第i番目のデータブロック
の書き込みを止め、それに対応するセクタを通過させ、
次のセクタがくるのを待つ。
In step 402, it is determined whether i = 8. If i> 8, the process ends. If i is 8 or less, the process proceeds to step 403 to check whether the i-th bit value of the disk write bitmap 150 is "1" or "0". If the bit value is "1", the process proceeds to step 404, where the data of the i-th data block C (i) sent from the DMAC 110 is sector number y +
Write to sector (i-1), i.e. d (i),
Go to step 405. In step 405, the value of i is incremented by “1” and the process jumps to step 402. If the bit value is "0" in step 403, the process proceeds to step 406, writing of the i-th data block is stopped, and the sector corresponding to it is passed,
Wait for the next sector.

【0033】以上の処理で、図1から明らかなように、
本実施例では、DMAC110は、ホストコンピュータ
190がライト要求するデータのすべてをディスクキャ
ッシュメモリ130から読みだし、HDC120へ伝え
る。HDC120は、ディスクライト用ビットマップ1
50のビット値にしたがってDMAC110からのデー
タからダーティデータブロックのみを選択し、それをデ
ィスクドライブ140のディスクセグメント141の対
応するデータブロック、すなわち、セクタに書き込む。
なお、HDC120は、ディスクドライブ140のリー
ド/ライトヘッド(図示していない)が検出したセクタ
パルスにより、現在のセクタを知ることができる。
With the above processing, as is clear from FIG.
In the present embodiment, the DMAC 110 reads all the data requested by the host computer 190 for write from the disk cache memory 130 and sends it to the HDC 120. HDC 120 uses bitmap 1 for disc writing
Only the dirty data block is selected from the data from the DMAC 110 according to the bit value of 50 and it is written to the corresponding data block, or sector, of the disk segment 141 of the disk drive 140.
The HDC 120 can know the current sector from the sector pulse detected by the read / write head (not shown) of the disk drive 140.

【0034】次に、ディスクドライブ140からディス
クキャッシュメモリ130へのデイスクセグメント14
1のデータ転送は、図6に示めすフローチヤートにした
がってマイクロプログラム101が行う。
Next, the disk segment 14 from the disk drive 140 to the disk cache memory 130.
The data transfer of No. 1 is performed by the microprogram 101 in accordance with the flow chart shown in FIG.

【0035】いま、ホストコンピュータ190からキャ
ッシュセグメント131のデータブロックc(3)から
c(7)までの対応するデータをディスクドライブから
読み出すことを要求するデータリードコマンドが出力さ
れたとする。この場合、キャッシュセグメント131の
データブロックc(4)およびc(6)は、ダーティデ
ータブロックであるので、ディスクドライブ140から
キャッュセグメント131へのデータは、キャッシユセ
グメント131のこれらダーティデータブロックを避け
て、空きデータブロックc(3)、c(5)およびc
(7)へのみ転送されなければならない。
It is assumed that the host computer 190 outputs a data read command requesting that the corresponding data blocks of the data blocks c (3) to c (7) of the cache segment 131 be read from the disk drive. In this case, since the data blocks c (4) and c (6) of the cache segment 131 are dirty data blocks, the data from the disk drive 140 to the cache segment 131 is the dirty data blocks of the cache segment 131. Avoid empty data blocks c (3), c (5) and c
Must only be forwarded to (7).

【0036】図6において、ステップ501で、マイク
ロプログラム101は、DMAC110にキャッシュセ
グメント131中の対象領域の先頭アドレス×+2s、
転送バイト数5sバイト、ディスクリード用ビットマッ
プの内容“00101010”を指定する。次に、ステ
ップ502で、HDC120にディスクセグメント14
1中の対象領域の先頭セクタ番号y+2及びセクタ数5
を指定する。ステップ503で、DMAC110とHD
C120それぞれにHDC120からDMAC110へ
のデータ転送を指定する。ステップ504で、HDC1
20はディスクドライブ140のディスクセグメント1
41中のセクタy+2から5セクタ分連続してデータを
読み出して、バス5を介してDMAC110に転送す
る。ステップ505で、DMAC110はHDC120
より受け取ったデータから、ディスクリード用ビットマ
ップ151のビット値が“1”であるデータブロックの
みキャッシュセグメント131に書き込み、ビット値が
“0”であるデータブロックは書き込みを行わないよう
制御する。すなわち、データブロック(セクタ)d
(4)およびd(6)のデータはそのまま捨て、データ
ブロックd(3)、d(5)およびd(7)のデータ
は、それぞれキャッシュセグルメント131のデータブ
ロックc(3)、c(5)およびc(7)に書き込む。
Referring to FIG. 6, in step 501, the microprogram 101 causes the DMAC 110 to start the start address of the target area in the cache segment 131 × + 2s,
The number of bytes to be transferred is 5 s, and the content of the disk read bitmap "00101010" is designated. Next, in step 502, the HDC 120 is configured to record the disk segment 14
Start sector number y + 2 of target area in 1 and number of sectors 5
Is specified. In step 503, DMAC 110 and HD
Data transfer from the HDC 120 to the DMAC 110 is designated for each C120. In step 504, HDC1
20 is a disk segment 1 of the disk drive 140
Data is continuously read from the sector y + 2 in 41 for 5 sectors and transferred to the DMAC 110 via the bus 5. In step 505, the DMAC 110 sets the HDC 120
Based on the received data, only the data block whose bit value of the disk read bitmap 151 is "1" is written in the cache segment 131, and the data block whose bit value is "0" is controlled not to be written. That is, the data block (sector) d
The data of (4) and d (6) are discarded as they are, and the data of data blocks d (3), d (5) and d (7) are respectively data blocks c (3), c (5) of the cache segment 131. ) And c (7).

【0037】図6に示すフローチャートにおけるデータ
の流れを図7に示す。図7から明らかなように、本実施
例では、HDC120は、ホストコンピュータ190が
リード要求するデータのすべてをディスクドライブ14
0から読みだし、DMAC110へ送る。DMAC11
0は、ディスクリード用ビットマップ151のビット値
にしたがってHDC120からのデータから空きデータ
ブロックのみを選択してディスクキャッシャメモリー1
30へ書き込む。
The data flow in the flow chart shown in FIG. 6 is shown in FIG. As is clear from FIG. 7, in the present embodiment, the HDC 120 outputs all the data read-requested by the host computer 190 to the disk drive 14.
It is read from 0 and sent to the DMAC 110. DMAC11
0 indicates that only the empty data block is selected from the data from the HDC 120 according to the bit value of the disk read bitmap 151, and the disk cache memory 1
Write to 30.

【0038】DMAC110は、図8に示すような処理
を行う。先ず、ステップ701で、iに値“1”を代入
する。次にステップ702に進み、iが処理すべきデー
タブロック数“5”を越えたかどうかを判定する。iが
“5”を越えていれば、終了する。iが“5”以下であ
れば、ステップ703へ進み、ディスクリード用ビット
マップ151の第iビットが、“1”か“0”かをチェ
ックする。ビット値が“1”であれば、ステップ704
へ進み、HDC120から送られてきたセクタ番号y+
(i+1)のセクタ、すなわち、データブロックd(i
+2)のデータを、ディスクキャッシュメモリ130の
先頭アドレスx+(i+1)sからsバイトのデータ、
すなわち、キャッシュセグメント131のデータブロッ
クc(i+2)にライトし、ステップ705へ進む。ス
テップ703で、ビット値が“0”であれば、ステップ
706へ進む。ステップ706では、HDC120から
送られてきたセクタ番号y+(i+1)のセクタ、すな
わち、データブロックd(i+2)のデータを、ディス
クキャッシュメモリ130の先頭アドレスx+(i+
1)sからsバイトのデータ、すなわち、キャッシュセ
グメント131のデータブロックc(i+2)にライト
するのを止め、ステップ705へ進む。ステップ705
では、iの値を“1”だけインクリメントし、ステツプ
702へジャンプする。ここで、iのインクリメント
は、1セクタ分のデータ転送を終える毎に行う。DMA
C110は、1セクタ分のデータ転送の完了を、自身が
処理したデータのバイト数をカウントすることによって
知ることができる。
The DMAC 110 performs the processing as shown in FIG. First, in step 701, the value “1” is assigned to i. Next, in step 702, it is determined whether i exceeds the number of data blocks to be processed, "5". If i exceeds "5", the process ends. If i is "5" or less, the process proceeds to step 703 to check whether the i-th bit of the disk read bitmap 151 is "1" or "0". If the bit value is "1", step 704
To the sector number y + sent from the HDC 120.
(I + 1) sector, that is, data block d (i
+2) data is s-byte data from the start address x + (i + 1) s of the disk cache memory 130,
That is, the data block c (i + 2) of the cache segment 131 is written, and the process proceeds to step 705. If the bit value is “0” in step 703, the process proceeds to step 706. In step 706, the sector of the sector number y + (i + 1), that is, the data of the data block d (i + 2) sent from the HDC 120 is transferred to the start address x + (i + of the disk cache memory 130.
1) Stop writing from s bytes of data to the data block c (i + 2) of the cache segment 131, and proceed to step 705. Step 705
Then, the value of i is incremented by "1" and the process jumps to step 702. Here, i is incremented every time data transfer for one sector is completed. DMA
The C110 can know the completion of data transfer for one sector by counting the number of bytes of data processed by itself.

【0039】以上述べた方法によって、キャッシユセグ
メント131上の不連続なデータ領域と、対応するディ
スクセグメント141上の不連続なデータ領域との間の
データ転送が、1回のDMA転送によって実現可能とな
る。本実施例では、ディスクキャッシュメモリ130へ
データをライトする場合には、DMAC110により、
ディスクドライブ140へデータをライトする場合に
は、HDC120により、それぞれのビットマップを用
いてデータを書き込むか否かの制御を行っている。
By the method described above, data transfer between the discontinuous data area on the cache segment 131 and the discontinuous data area on the corresponding disk segment 141 can be realized by one DMA transfer. Becomes In this embodiment, when writing data to the disk cache memory 130, the DMAC 110
When writing data to the disk drive 140, the HDC 120 controls whether or not to write the data using each bitmap.

【0040】いままで説明した本実施例におけるディス
クコントローラ180の具体的構成例を図9に示す。
FIG. 9 shows a concrete example of the configuration of the disk controller 180 in this embodiment described so far.

【0041】図9において、190はホストコンピュー
タ、180はディスクコントローラ、140はディスク
ドライブ、6はホストンピュータ190とディスクコン
トローラ180をつなぐバス、4はディスクコントロー
ラ180とディスクドライブ140をつなぐバス、10
0はMPU(マイクロプロセッサ)、102はディスク
ライト用ビットマップおよびディスクリード用ビットマ
ップを格納するメモリ、130はディスクキャッシュメ
モリ、110はDMAC、120はHDCである。18
2は、ホストコンピュータ190からのバス6が接続さ
れるホストインターフェースである。
In FIG. 9, 190 is a host computer, 180 is a disk controller, 140 is a disk drive, 6 is a bus connecting the host computer 190 and the disk controller 180, 4 is a bus connecting the disk controller 180 and the disk drive 140, 10
Reference numeral 0 is an MPU (microprocessor), 102 is a memory for storing a disk write bitmap and a disk read bitmap, 130 is a disk cache memory, 110 is a DMAC, and 120 is an HDC. 18
Reference numeral 2 is a host interface to which the bus 6 from the host computer 190 is connected.

【0042】図10は、ディスクコントローラ180内
のHDC120の機能ブロック図である。
FIG. 10 is a functional block diagram of the HDC 120 in the disk controller 180.

【0043】図10において、120はHDC、210
1はビットマップライト制御ブロック、2102はディ
スク制御部、2103はインタフェース制御部、210
4はビットマップデータを伝えるデータ線、2105は
セクタパルスを伝える信号線、2106はディスク制御
部がビットマップライト制御部に伝えるライトゲート信
号を伝える信号線、2107はHDCからディスクドラ
イブへのライトゲート信号を伝える信号線である。図1
1には、HDC120がビットマップディスクライトを
行うときの、タイミングチャートを示す。
In FIG. 10, 120 is HDC and 210
1 is a bitmap write control block, 2102 is a disk control unit, 2103 is an interface control unit, 210
Reference numeral 4 is a data line for transmitting bitmap data, 2105 is a signal line for transmitting a sector pulse, 2106 is a signal line for transmitting a write gate signal transmitted from the disk control unit to the bitmap write control unit, and 2107 is a write gate from the HDC to the disk drive. A signal line that conveys a signal. Figure 1
1 shows a timing chart when the HDC 120 performs bitmap disk write.

【0044】さらに、図12には、HDC120内のビ
ットマップディスクライト制御ブロックの回路図を示
す。図12中、2101はビットマップライト制御ブロ
ック、2301はセクタパルスを入力として、セクタ数
をカウントするセクタカウンタ、2302は、ビットマ
ップデータを保持するレジスタ、2303はセクタカウ
ンタ値の示すセクタに対応する、ビットマップデータ中
のビット値を選択して出力するマルチプレクサ、230
4はマルチプレクサの出力値と入力したライトゲート値
から、出力ライトゲート値を生成するゲートである。
Further, FIG. 12 shows a circuit diagram of a bitmap disc write control block in the HDC 120. In FIG. 12, reference numeral 2101 is a bit map write control block, 2301 is a sector counter that receives a sector pulse, and counts the number of sectors. 2302 is a register that holds bitmap data. 2303 is a sector indicated by the sector counter value. , A multiplexer for selecting and outputting a bit value in bitmap data, 230
A gate 4 generates an output write gate value from the output value of the multiplexer and the input write gate value.

【0045】図13は、ディスクコントローラ180内
のDMAC110の機能ブロック図である。
FIG. 13 is a functional block diagram of the DMAC 110 in the disk controller 180.

【0046】図13において、2401はビットマップ
ディスクリード制御ブロック、2402はビットマップ
データを伝送するデータ線、2403はデータライトス
トローブ信号を伝送する信号線、2404はライト可否
信号を伝送する信号線、2405はメモリ制御回路、2
406はRAS信号、2407はCAS信号、2408
はアドレスレジスタ、2409は不ドレスデコーダ、2
410はDMAアドレス発生回路、2411は転送カウ
ンタ、2412および2413はマルチプレクサ、24
14はDMA転送制御ブロック、2415はアービタ回
路、2416はECC生成回路、2417はECCチェ
ック回路、2418はマルチプレクサ、2419は、H
DC120やホストインタフェース制御部182と、デ
ータ転送の同期制御等を行うための信号線である。図1
4にDMAC110がビットマップディスクリードを行
うときの、タイミングチャートを示す。
In FIG. 13, reference numeral 2401 is a bitmap disk read control block, 2402 is a data line for transmitting bitmap data, 2403 is a signal line for transmitting a data write strobe signal, 2404 is a signal line for transmitting a write enable / disable signal, 2405 is a memory control circuit, 2
406 is a RAS signal, 2407 is a CAS signal, 2408
Is an address register, 2409 is a non-address decoder, 2
410 is a DMA address generation circuit, 2411 is a transfer counter, 2412 and 2413 are multiplexers, 24
14 is a DMA transfer control block, 2415 is an arbiter circuit, 2416 is an ECC generation circuit, 2417 is an ECC check circuit, 2418 is a multiplexer, 2419 is H.
A signal line for performing synchronous control of data transfer with the DC 120 and the host interface control unit 182. Figure 1
4 shows a timing chart when the DMAC 110 performs a bit map disk read.

【0047】さらに、図15には、DMAC110内の
ビットマップディスクリード制御ブロックの回路図を示
す。図15中、2401はビットマップディスクリード
制御ブロック、2601はバイトカウンタ、2602は
ブロックカウンタ、2603はビットマップデータを保
持するレジスタ、2604はブロックカウンタ値の示す
ビット値をビットマップデータから選択するマルチプレ
クサ、2605は信号線、2606及び2607はデー
タ線である。
Further, FIG. 15 shows a circuit diagram of the bitmap disk read control block in the DMAC 110. 15, 2401 is a bit map disk read control block, 2601 is a byte counter, 2602 is a block counter, 2603 is a register for holding bitmap data, 2604 is a multiplexer for selecting the bit value indicated by the block counter value from the bitmap data. , 2605 are signal lines, and 2606 and 2607 are data lines.

【0048】次に、図9乃至図15を用いてHDC12
0のビットマップディスクライト制御、及び、DMAC
110のビットマップディスクリード制御の動作につい
て説明する。
Next, the HDC 12 will be described with reference to FIGS.
Bitmap disk write control of 0 and DMAC
The bit map disk read control operation 110 will be described.

【0049】図10において、HDC120内のビット
マップライト制御ブロック2101は、ディスク制御ブ
ロック2102から、ビットマップライト制御に使用す
るビットマップデータをデータ線2104を通じて受け
取る。また、セクタパルスを信号2105を通じ、ライ
トゲート信号を信号線2106を通じて受け取る。ビッ
トマップディスクライト制御ブロック2101は、ビッ
トマップデータをレジスタ2302に保持する。また、
内部のセクタカウンタ2301で、信号線2105より
受け取ったセクタパルスを用いて、処理中のセクタが、
ビットマップに対応する連続したセクタ群の中の何番目
かという通算セクタ数をカウントする。これは、新たな
ビットマップディスクライトを行おうとするとき、セク
タカウンタを0にセットし、以降セクタパル2を入力す
る度に、セクタカウンタ値を1ずつインクリメントして
ゆけばよい。
In FIG. 10, the bitmap write control block 2101 in the HDC 120 receives the bitmap data used for bitmap write control from the disk control block 2102 through the data line 2104. Further, the sector pulse is received through the signal 2105 and the write gate signal is received through the signal line 2106. The bitmap disc write control block 2101 holds the bitmap data in the register 2302. Also,
The internal sector counter 2301 uses the sector pulse received from the signal line 2105 to determine that the sector being processed is
The total number of sectors, which is the number of the continuous sector group corresponding to the bitmap, is counted. This is done by setting the sector counter to 0 when performing a new bitmap disc write, and incrementing the sector counter value by 1 each time the sector pulse 2 is input thereafter.

【0050】マルチプレクサ2303は、セクタカウン
タ値と、ビットマップデータを入力とし、セクタカウン
タ値が示すセクタに対応するビット値、即ち、セクタカ
ウント値をiとすると、ビットマップデータ中の第i番
目のビット値を選択して出力する。ゲート2304は、
信号線2106から受け取ったライトゲート信号を、マ
ルチプレクサ2303の出力値aが、ライト可を示すと
きには、そのまま信号線2107へ出力し、aがライト
不可を示すときには、信号線2106から受け取ったラ
イトゲート信号の値に係わりなく、ライト不可を、信号
線2107へ出力する。ディスクライト用ビットマップ
のビット値とライトゲート信号との関係を図11に示
す。
The multiplexer 2303 receives the sector counter value and the bit map data as an input, and when the bit value corresponding to the sector indicated by the sector counter value, that is, the sector count value is i, the i-th bit in the bit map data. Select bit value and output. Gate 2304 is
The write gate signal received from the signal line 2106 is directly output to the signal line 2107 when the output value a of the multiplexer 2303 indicates that writing is possible, and the write gate signal received from the signal line 2106 when a indicates that writing is not possible. The write disable is output to the signal line 2107 regardless of the value of. FIG. 11 shows the relationship between the bit value of the disk write bitmap and the write gate signal.

【0051】次に、DMAC110のビットマップディ
スクリード制御機能を説明する。
Next, the bit map disk read control function of the DMAC 110 will be described.

【0052】DMAC110内のビットマップディスク
リード制御ブロック2401は、データ線2402より
ビットマップデータを、信号線2403よりデータライ
トストローブ信号を受け取り、信号線2404へディス
クキャッシャメモリに対するライト可否信号を出力す
る。
The bit map disk read control block 2401 in the DMAC 110 receives the bit map data from the data line 2402 and the data write strobe signal from the signal line 2403, and outputs the write enable / disable signal for the disk cache memory to the signal line 2404.

【0053】ビットマップディスクリード制御ブロック
2401は、データ線2402より受け取ったビットマ
ップデータを、内部のレジスタ2603に保持する。ま
た、内部のバイトカウンタ2601により、処理中のデ
ータブロック内の転送を完了したデータバイト数をカウ
ントし、ブロックカウンタ2602により、データブロ
ック群中の処理中のデータブロックを管理する。バイト
カウンタ2601は、信号線2403からデータライト
ストローブ信号を受け取ると、カウンタ値をインクリメ
ントする。データライトストローブ信号は、ディスクキ
ヤッシュメモリ130に対する所定バイト数の書き込み
の度に発生する。バイトカウンタ2601内のカウンタ
値は、1データブロック分のバイト数をカウントする
と、信号線2605を通じて、ブロックカウンタ260
2に信号を送る。ブロックカウンタ2602は、バイト
カウンタから信号を受け取ると、ブロックカウンタ値を
1だけインクリメントする。ブロックカウンタ2602
内のカウンタ値jは、現在処理中のデータブロックが、
ビットマップディスクリード制御対象のデータブロック
群の中の第j番目のブロックであることを示す。マルチ
プレクサ2604は、ブロックカウンタ2602からブ
ロックカウンタ値を、レジスタ2603からビットマッ
プデータを受け取り、ライト可否信号を出力する。ブロ
ックカウンタ値がjのときマルチプレクサ2604は、
ビットマップデータ中の第j番目のビット値を、選択し
て、信号線2404へライト可否信号として出力する。
The bitmap disk read control block 2401 holds the bitmap data received from the data line 2402 in the internal register 2603. Further, the internal byte counter 2601 counts the number of data bytes that have been transferred in the data block being processed, and the block counter 2602 manages the data block being processed in the data block group. When receiving the data write strobe signal from the signal line 2403, the byte counter 2601 increments the counter value. The data write strobe signal is generated each time a predetermined number of bytes are written to the disk cache memory 130. When the number of bytes for one data block is counted, the counter value in the byte counter 2601 is transmitted via the signal line 2605 to the block counter 260.
Send a signal to 2. Upon receiving the signal from the byte counter, the block counter 2602 increments the block counter value by 1. Block counter 2602
The counter value j in is the data block currently being processed is
Bitmap Indicates that it is the j-th block in the data block group for disk read control. The multiplexer 2604 receives the block counter value from the block counter 2602, the bitmap data from the register 2603, and outputs a write enable / disable signal. When the block counter value is j, the multiplexer 2604
The j-th bit value in the bitmap data is selected and output to the signal line 2404 as a write enable / disable signal.

【0054】ライト可否信号は、メモリ制御回路240
5を通じて、ディスクキャッシュメモリ130への書き
込み可否を制御するRAS信号、CAS信号等として、
ディスクキャッシユメモリ130へ出力される。ディス
クリード用ビットマップのビット値とRAS信号との関
係を図14に示す。
The write enable / disable signal is sent to the memory control circuit 240.
5, as a RAS signal, a CAS signal, etc. for controlling whether or not writing to the disk cache memory 130 is possible,
The data is output to the disk cache memory 130. FIG. 14 shows the relationship between the bit value of the disk read bitmap and the RAS signal.

【0055】以上に説明した構成のDMAC110、H
DC120を使用することにより、ディスクキャッシュ
メモリ130上に不連続な形で存在するダーティデータ
ブロックのディスクドライブへの書き込みや、ディスク
キャッシュメモリ上に不連続な形で存在する空きデータ
ブロックへのディスクドライブからのデータの読み込み
を、それぞれ1回のDMA転送で行うことが可能とな
り、ディスクコントローラ180のマイクロプログラム
101の処理をシンプルにすることができる。
The DMACs 110, H having the above-described structure
By using the DC 120, writing dirty data blocks that exist discontinuously in the disk cache memory 130 to the disk drive, and disk drives to empty data blocks that exist discontinuously in the disk cache memory. It is possible to read the data from the disk by one DMA transfer, and the processing of the microprogram 101 of the disk controller 180 can be simplified.

【0056】また、上述のDMAC−HDCのペア組合
せとペアとして2系統、ディスクコントローラ内に持つ
ことにより、キャッシュメモリ上の連続領域上に、ダー
ティデータブロックと空きデータブロックが不連続な形
で存在するときに、ダーティデータブロック上のデータ
のディスクへのライトと、空きデータブロックへのディ
スク上のデータの読み込みを、同一のディスク回転内
で、ブロック毎にリードライトを切り替えることによ
り、同時に行うことが可能である。
Also, by having the above-mentioned DMAC-HDC pair combination and two systems as a pair in the disk controller, a dirty data block and an empty data block exist in a discontinuous form in a continuous area on the cache memory. At the same time, writing the data on the dirty data block to the disk and reading the data on the disk to the empty data block are simultaneously performed by switching the read / write for each block within the same disk rotation. Is possible.

【0057】次に、本発明をキャッシュ付きディスクコ
ントローラ180に適用した第2の実施例を、図16乃
至図19を用いて説明する。第1の実施例では、不連続
なブロックのデータを転送する際に、データを読み出す
際には不連続なブロックを含む連続領域のデータ全体を
読みだし、ディスクドライブまたはディスクキャッシュ
メモリに書き込む際にそれぞれビットマップに従って、
データを書き込むか否かの制御を行っていたのに対し、
本実施例では、データを読み出す際にもビットマップに
従って、ディスクドライブまたはディスクキャッシュメ
モリに書き込みを行うべきデータブロックのみを選択し
て読み出すようにしている。
Next, a second embodiment in which the present invention is applied to the cached disk controller 180 will be described with reference to FIGS. 16 to 19. In the first embodiment, when transferring data in discontinuous blocks, when reading data, the entire data in a continuous area including discontinuous blocks is read out, and when writing to a disk drive or disk cache memory. According to each bitmap
While controlling whether to write data,
In the present embodiment, even when reading data, only the data block to be written to the disk drive or disk cache memory is selected and read according to the bit map.

【0058】以下、キャッシユセグメント131上の不
連続なダーティブロックのデータをディスクドライブに
ライトすることを1回のDMA転送で行う場合について
説明する。
Hereinafter, a case will be described in which writing of data of a discontinuous dirty block on the cache segment 131 to the disk drive is performed by one DMA transfer.

【0059】図16は、本発明を実施したキャッシユ付
きディスクサブシステムの構成と、データ転送時の動作
を示す図である。図17は、データ転送の手順を示す図
である。図18は、データ転送時のDMAC110の処
理を示すフローチャートである。図19は、データ転送
時のHDC120の処理を示すフローチャートである。
図16中、100はマイクロプロセッサ、110はキャ
ッシュメモリを制御するDMAC、120はディスクド
ライブを制御するHDC、130はキャッシュメモリ、
140はディスクドライブ、1と3は制御信号等を伝え
るバス、101はマイクロプログラム、150はディス
クライト用ビットマップ、131はディスクキャッシュ
セグメント、141はディスクセグメントである。
FIG. 16 is a diagram showing the configuration of a disk subsystem with a cache embodying the present invention and the operation during data transfer. FIG. 17 is a diagram showing a procedure of data transfer. FIG. 18 is a flowchart showing the processing of the DMAC 110 during data transfer. FIG. 19 is a flowchart showing the processing of the HDC 120 during data transfer.
In FIG. 16, 100 is a microprocessor, 110 is a DMAC that controls a cache memory, 120 is an HDC that controls a disk drive, 130 is a cache memory,
Reference numeral 140 is a disk drive, 1 and 3 are buses for transmitting control signals and the like, 101 is a micro program, 150 is a disk write bitmap, 131 is a disk cache segment, and 141 is a disk segment.

【0060】本実施例ではディスクキャッシュメモリ1
30の管理単位であるキャッシュセグメント131の大
きさは、説明の便宜上8セクタとする。もちろん本発明
はキャッシュセグメント131の大きさが8セクタ以外
の場合でも有効であることは言までもない。本実施例で
は、キャッュセグメント131がディスクドライブ14
0内のディスクセグメント141に対して割当てられて
いて、キャッシュセグメント131上の4番目と6番目
のブロックのデータを、ディスク上の対応するセクタに
書き込む処理を行う例について述べる。ディスクライト
用ビットマップ150の内容“00010100”は、
ビット値が“0”であるディスクキャッシュメモリ13
0上のデータブロック、即ち1、2、3、5、7、8番
目の計6個のデータブロックについては、当該データブ
ロック上のデータのディスクドライへのライトを行わ
ず、ビット値が“1”であるディスクキャッシュメモリ
上のデータブロック、即ち4番目と6番目のデータブロ
ックについては、ダーティデータブロックであり、当該
データブロックのデータをディスクドライブ上の対応す
るセクタにライトするための、制御情報である。
In this embodiment, the disk cache memory 1
The size of the cache segment 131, which is the management unit of 30, is 8 sectors for convenience of explanation. Needless to say, the present invention is effective even when the size of the cache segment 131 is other than 8 sectors. In this embodiment, the cache segment 131 is the disk drive 14
An example in which the data of the fourth and sixth blocks on the cache segment 131, which are allocated to the disk segment 141 in 0, are written to the corresponding sectors on the disk will be described. The content “00010100” of the disk write bitmap 150 is
Disk cache memory 13 whose bit value is "0"
For the data blocks on 0, that is, the first, second, third, fifth, seventh, and eighth data blocks, the data on the data blocks is not written to the disk drive, and the bit value is "1". The data block on the disk cache memory that is ", that is, the fourth and sixth data blocks are dirty data blocks, and control information for writing the data of the data block to the corresponding sector on the disk drive. Is.

【0061】データ転送時に、マイクロプロセッサ10
0は、まずDMAC110にバス1を通じて、データ転
送の対象領域であるキャッシュセグメント131の先頭
アドレスxと領域長8sとビットマップ150の内容
“00010100”を指定する(図17のステップ9
01)。次にマイクロプロセッサ100は、HDC12
0にバス3を通じて、データ転送の対象領域であるディ
スクセグメント141の先頭のセクタのセクタ番号yと
セクタ数8とビットマップ150の内容“000101
00”を指定する(ステップ902)。次にマイクロプ
ロセッサ100は、バス1とバス3を通じて、DMAC
1110とHDC120にディスクキャッシュメモリか
らディスクドライブへ、データ転送の開始を指示する
(ステップ903)。その後、DMA転送でデータ転送
が行なわれる(ステップ904)。
During data transfer, the microprocessor 10
First, 0 specifies the start address x of the cache segment 131, which is the target area for data transfer, the area length 8 s, and the content “00010100” of the bitmap 150, via the bus 1 to the DMAC 110 (step 9 in FIG. 17).
01). Next, the microprocessor 100
0 through the bus 3, the sector number y of the head sector of the disk segment 141 which is the target area of data transfer, the number of sectors 8 and the content of the bitmap 150 “000101”.
00 "is designated (step 902). Next, the microprocessor 100 sends the DMAC through the bus 1 and the bus 3.
Instruct the 1110 and HDC 120 to start data transfer from the disk cache memory to the disk drive (step 903). Thereafter, data transfer is performed by DMA transfer (step 904).

【0062】DMAC110は、図18に示すフローチ
ャートに従って以下のように動作する。まずステップ1
001で内部変数iに“1”を代入する。iは何番目の
ブロックを処理中かを示す内部変数である。次にステッ
プ1002に進み、iが対象領域内のブロック数8を越
えたかどうか判定する。i>8であれば、処理を終了す
る。i≦8であれば、ステッブ1003に進む。
The DMAC 110 operates as follows according to the flowchart shown in FIG. First step 1
At 001, "1" is assigned to the internal variable i. i is an internal variable indicating which block is being processed. Next, in step 1002, it is determined whether i exceeds the number of blocks in the target area, which is 8. If i> 8, the process ends. If i ≦ 8, the process proceeds to step 1003.

【0063】ステップ1003で、ビットマップの第i
ビットの値が1か否か判定する。値が“1”であれば、
ステップ1004へ進み、ディスクキャッシュメモリ上
のアドレスx+(i−1)sからsバイトのブロックの
データを読み出して、HDC120へ転送し、ステップ
1005へ進む。ビット値が“0”であれば、ステップ
1006へ進み、sバイト分のデータのデータ転送時間
だけ何もしないで待ち、その後、ステップ1005へ進
む。ステップ1005でiの値を1だけインクリメント
し、ステップ1002へジャンプする。
In step 1003, the i-th bit of the bitmap is
It is determined whether or not the bit value is 1. If the value is “1”,
The process proceeds to step 1004, the s-byte block data is read from the address x + (i-1) s on the disk cache memory, transferred to the HDC 120, and the process proceeds to step 1005. If the bit value is "0", the process proceeds to step 1006, waits without doing anything for the data transfer time of s bytes of data, and then proceeds to step 1005. In step 1005, the value of i is incremented by 1, and the process jumps to step 1002.

【0064】HDC120は図19に示すフローチャー
トに従って以下のように動作する。まずステップ110
1で内部変数jに“1”を代入する。jは何番目のブロ
ックを処理中かを示す内部変数である。次にステップ1
102に進み、jが対象領域内のブロック数8を越えた
かどうか判定する。j>8であれば、処理を終了する。
j≦8であれば、ステップ1103に進む。ステップ1
103で、ディスライト用ビットマップ150の第jビ
ットの値が“1”か否か判定する。値が“1”であれ
ば、ステップ1104へ進み、DMAC110から送ら
れてくるキャッシュメモリ上の第j番目のデータブロッ
クのデータをセクタ番号y+(i−1)のセクタにライ
トし、ステップ1105へ進む。ビット値が“0”であ
れば、ステツプ1106へ進み、セクタ番号y+(i−
1)のセクタに対して何もしないで1セクタ分ディスク
が回転するのを待ち、その後、ステップ1105へ進
む。ステツプ1105でiの値を1だけインクリメント
し、ステップ1102へジャンプする。
The HDC 120 operates as follows according to the flowchart shown in FIG. First, step 110
At "1", "1" is assigned to the internal variable j. j is an internal variable indicating which block is being processed. Next step 1
In step 102, it is determined whether j exceeds the number of blocks in the target area, which is 8. If j> 8, the process ends.
If j ≦ 8, the process proceeds to step 1103. Step 1
At 103, it is determined whether or not the value of the j-th bit of the write bitmap 150 is "1". If the value is "1", the process proceeds to step 1104, the data of the j-th data block on the cache memory sent from the DMAC 110 is written to the sector of sector number y + (i-1), and the process proceeds to step 1105. move on. If the bit value is "0", the process proceeds to step 1106 and the sector number y + (i-
Waiting for the disk to rotate for one sector without doing anything for the sector of 1), and then the process proceeds to step 1105. In step 1105, the value of i is incremented by 1, and the process jumps to step 1102.

【0065】以上によって、キャッシュセグメント13
1上の不連続なダーティブロックのデータのディスクへ
の書き込みを1回のDMA転送で行うことが可能とな
る。
By the above, the cache segment 13
It is possible to write the data of the discontinuous dirty block on 1 to the disk by one DMA transfer.

【0066】また、キャッシュセグメント上の不連続な
空ぎブロックへのディスクからのデータのを読み出しを
1回のDMA転送で行う場合には、上述したDMAC1
10とHDC120の果たした役割を入れ換えれること
により同様に行なえる。
Further, in the case of reading the data from the disk to the discontinuous empty blocks on the cache segment by one DMA transfer, the above-mentioned DMAC1
The same can be done by exchanging the roles played by 10 and HDC 120.

【0067】次に図20乃至図23を用いて、本発明の
第3の実施例である、キャッシュ付きディスクサブシス
テムを説明する。本実施例のポイントは、ディスクキャ
ッシュメモリ130上に、ディスク未反映のダーティデ
ータブロックと、有効なデータがまだ存在しない空きデ
ータブロックが、それぞれ不連続な形で存在するとき
に、ディスクドライブ内のディスクが一回転する間に、
ディスクのセクタとセクタの間で、キャッシャメモリか
らディスクドライブへのデータライトと、ディスクドラ
イブからキャツシュメモリへのデータリードとを、切り
替える。これによりディスクキャッシュメモリ上に不連
続な形で存在するダーティデータブロックのデータのデ
ィスクドライブへのライトと、ディスクキャシュメモリ
上に不連続な形で同時に存在する空きデータブロックへ
のディスクドライブ上のデータのリードとの、双方向の
データ転送を1回のDMA転送で起動して同時に行うこ
とにある。
Next, a disk subsystem with cache, which is a third embodiment of the present invention, will be described with reference to FIGS. The point of this embodiment is that when a dirty data block that has not been reflected on the disk and a free data block that does not yet have valid data exist in the disk cache memory 130 in discontinuous form, the data in the disk drive is While the disk makes one revolution,
Data writing from the cache memory to the disk drive and data reading from the disk drive to the cache memory are switched between the sectors of the disk. As a result, the data of the dirty data block that exists in the disk cache memory in a discontinuous manner is written to the disk drive, and the data on the disk drive in the empty data block that simultaneously exists in a discontinuous manner in the disk cache memory simultaneously. That is, the bidirectional data transfer with the read is started by one DMA transfer and simultaneously performed.

【0068】本実施例では、説明の便宜上、6セクタ分
の大きさを持つディスクセグメントと、6つのデータブ
ロックからなるキャッシュセグメントの場合について述
べている。しかし、本発明は、セグメントの大きさが6
以外の場合でも有効なことは言うまでもない。また、デ
イスクドライブ上で連続する複数個のディスクセグメン
トに対し、対応する複数個のキャッシュセグメントがキ
ャッシュメモリ上で、不連続な場合でも、前述の「イン
ターフェース」に記載の、DMAのオートロード・モー
ド等の技術を使用することにより、複数個のディスクセ
グメント、キャッシュセグメントに対する、双方向のデ
ータ転送を、ディスクセグメントの個数に等しい回数だ
けDMA転送を行うことにより、実現することができ
る。
In the present embodiment, for convenience of explanation, the case of a disk segment having a size of 6 sectors and a cache segment composed of 6 data blocks is described. However, in the present invention, the segment size is 6
Needless to say, it is effective in other cases. Further, even if a plurality of corresponding cache segments are discontinuous in the cache memory with respect to a plurality of consecutive disk segments on the disk drive, the DMA autoload mode described in the above “Interface” is used. By using such a technique, bidirectional data transfer to a plurality of disk segments and cache segments can be realized by performing DMA transfer the number of times equal to the number of disk segments.

【0069】図20は、本発明を適用した、キャッシュ
付きディスクサブシステムのシステム構成図である。図
20中、102はマイクロプロセッサ100のビットマ
ップ150,151を格納するメモリ、111と112
はそれぞれDMAC110の制御プログラムと制御メモ
リである。RBM1は、DMAC110が制御メモリ1
12内に保持する、リードマップであり、RBM1
(i)は、RBM1の第i番目のビット値である。WB
M1は、DMAC110が制御メモリ112内に保持す
る。ライトビットマップであり、WBM1(j)は、W
BM1の第j番目のビット値である。121と122は
それぞれHDC120の制御プログラムと制御メモリで
ある。RBM2とWBM2はそれぞれ、HDC120が
制御メモリ122内に保持する、ディスクリード用ビッ
トマップとディスクライト用ビットマップであり、RB
M2(k)とWBM2(l)はそれぞれ、RBM2の第
k番目のビット値、WBM2の第l番目のビット値であ
る。131はディスクキャッシュメモリ130内にある
キャッシュセクグメントであり、白抜きの箱は空きデー
タブロックを、ハッチング入りの箱はクリーンデータブ
ロックを、クロスハッチした箱はダーティデータブロッ
クを示す。図20中の7、8、9はそれぞれバスであ
る。
FIG. 20 is a system configuration diagram of a cached disk subsystem to which the present invention is applied. In FIG. 20, 102 is a memory for storing the bitmaps 150 and 151 of the microprocessor 100, and 111 and 112.
Are a control program and a control memory of the DMAC 110, respectively. In RBM1, the DMAC110 is the control memory 1
RBM1 is a lead map stored in 12
(I) is the i-th bit value of RBM1. WB
M1 is held in the control memory 112 by the DMAC 110. It is a write bitmap, and WBM1 (j) is W
It is the j-th bit value of BM1. 121 and 122 are a control program and a control memory of the HDC 120, respectively. RBM2 and WBM2 are a disk read bitmap and a disk write bitmap held by the HDC 120 in the control memory 122, respectively.
M2 (k) and WBM2 (l) are the kth bit value of RBM2 and the lth bit value of WBM2, respectively. Reference numeral 131 denotes a cache segment in the disk cache memory 130. A white box indicates an empty data block, a hatched box indicates a clean data block, and a cross-hatched box indicates a dirty data block. Reference numerals 7, 8 and 9 in FIG. 20 denote buses.

【0070】図21は、本実施例におけるキャッシュ付
きディスクサブシステムの一連の動作を示すフローチャ
ート、図22はDMAC110の制御プログラム111
の処理を表すフローチャート、図23はHDC120の
制御プログラム121の処理を表すフローチャートであ
る。
FIG. 21 is a flow chart showing a series of operations of the cached disk subsystem in this embodiment, and FIG. 22 is a control program 111 of the DMAC 110.
23 is a flowchart showing the process of FIG. 23, and FIG. 23 is a flowchart showing the process of the control program 121 of the HDC 120.

【0071】以下、これらの図を用いて説明する。Hereinafter, description will be given with reference to these figures.

【0072】まず、図20により全体を説明する、マイ
クロプロセッサ100は、ディスクキャッシュメモリ1
30上のキャッシュセグメント131の状態を、白身の
メモリ102内の管理テーブルを使用して管理する。こ
こで、キャッシュセグメント131は、1番目と3番目
のデータブロックがクリーンデータブロックであり、2
番目と5番目のデータブロックが空きデータブロックで
あり、4番目と6番目のデータブロックがダーティデー
タブロックである。ここでマイクロプロセッサ100は
キャッシュセグメント131の管理テーブルの情報を用
いて、キャッシュセグルント131のリードビットマッ
プRBMとライトビットマップWBMを作成する。RB
Mの第iビットは、キャッシュセグメント131のi番
目のデータブロックに対応し、対応するデータブロック
が空きデータブロックであるとき、対応するビットの値
を“1”とし、該当するデータブロックへ、ディスクド
ライブからデータをリードすることが必要であることを
指示する。WBMの第jビットは、キャッシュセグメン
ト131のj番目のデータブロックに対応し、対応する
データブロックがダーティデータブロックであるとき
に、対応するビットの値を“1”とし、該当するデータ
ブロックのデータをディスクへ書き込む必要があること
を指示する。ここで、キャッシュセグメント131は2
番目と5番目のデータブロックが空きデータブロックで
あるので、RBMは第2と第5のビット値が“1”とな
っている。またキャッシュセグメント131は4番目と
6番目のデータブロックがダーティデータブロックであ
るので、WBMは第4と第6のビット値が“1”となっ
ている。
First, the microprocessor 100 will be described with reference to FIG.
The state of the cache segment 131 on 30 is managed using the management table in the white memory 102. Here, in the cache segment 131, the first and third data blocks are clean data blocks, and 2
The fifth and fifth data blocks are empty data blocks, and the fourth and sixth data blocks are dirty data blocks. Here, the microprocessor 100 uses the information of the management table of the cache segment 131 to create the read bitmap RBM and the write bitmap WBM of the cache segment 131. RB
The i-th bit of M corresponds to the i-th data block of the cache segment 131, and when the corresponding data block is a free data block, the value of the corresponding bit is set to “1”, and the corresponding data block is written to the disk. Indicates that data needs to be read from the drive. The j-th bit of the WBM corresponds to the j-th data block of the cache segment 131, and when the corresponding data block is a dirty data block, the value of the corresponding bit is set to “1” and the data of the corresponding data block is set. Indicates that it should be written to disk. Here, the cache segment 131 is 2
Since the second and fifth data blocks are empty data blocks, the RBM has the second and fifth bit values of "1". Since the fourth and sixth data blocks of the cache segment 131 are dirty data blocks, the WBM has the fourth and sixth bit values of "1".

【0073】次に、図21により、一連の動作を示す。
マイクロプロセッサ100は、DMAC110に、キャ
ッシュセグメント131のリードビットマップRBMと
ライトビットマップWBM、キャッシュセグメント13
1の先頭アドレスxとキャッシュセグメント長6sバイ
トを送る(ステップ1501)。次に、マイクロプロセ
ッサ100は、HDC120に、キャッシュセグメント
131のリードビットマップRBMとライトビットマッ
プWBM、キャッシュセグメント131に対応するティ
スク上の領域であるディスクセグメント141の先頭セ
クタ番号y、領域内のセクタ数6を送る(ステップ15
02)。RBM1とWBM1、RBM2WBM2はそれ
ぞれ、DMAC110、HDC120がマイクロプロセ
ッサ100より受け取って、それぞれ自身の制御メモリ
112と制御メモリ122に保有する、RBMとWBM
のコピーである。次に、HDC120は、ステップ15
02で、マイクロプロセッサ100から、対象領域の先
頭セクタ番号yを受け取ると、ディスクドライブ140
を、対象領域の先頭セクタである。セクタ番号yのセク
タに位置付けする(ステップ1503)。
Next, FIG. 21 shows a series of operations.
The microprocessor 100 provides the DMAC 110 with the read bitmap RBM and the write bitmap WBM of the cache segment 131 and the cache segment 13.
The start address x of 1 and the cache segment length of 6 s bytes are sent (step 1501). Next, the microprocessor 100 causes the HDC 120 to read the read bitmap RBM and write bitmap WBM of the cache segment 131, the head sector number y of the disk segment 141 which is the area on the disk corresponding to the cache segment 131, and the sector in the area. Send number 6 (step 15)
02). RBM1 and WBM1 and RBM2 and WBM2 are respectively received by the DMAC 110 and HDC 120 from the microprocessor 100 and stored in their own control memory 112 and control memory 122, respectively.
Is a copy of. The HDC 120 then proceeds to step 15
02, when the start sector number y of the target area is received from the microprocessor 100, the disk drive 140
Is the head sector of the target area. The sector number y is positioned (step 1503).

【0074】次に、DMAC110とHDC120は、
それぞれ図22と図23に示したフローチャートに従い
ながら、動作する。その動作を以下、簡単に示す。DM
AC110は、リードビットマップRBM1とライトビ
ットマップWBM1に従い、HDC120から転送され
てくるデータのデータブロックへの書き込み動作、キャ
ッシュメモリ130のデータブロックのデータの読みだ
し及びHDC120へのデータ転送動作、及び1セクタ
分のディスク回転時間何もしないで待つ動作をディスク
ドライブ140でリード/ライトヘッドがセクタを切り
替わるのに同期して切り替えながら、連続的に行う(ス
テップ1504)。HDC120は、リードビットマッ
プRBM2とライトビットマップWBM2に従い、DM
AC110から転送されてくるデータの対応するセクタ
への書き込み動作、ディスクドライブ140上のセクタ
のデータの読みだし及びDMAC110へのデータ転送
動作、1セクタ分のディスク回転時間何もしないで待つ
動作を、リード/ライトヘッドがセクタを切り替わるの
に同期して切り替えながら、連続的に行う(ステップ1
505)。
Next, the DMAC 110 and HDC 120
It operates according to the flowcharts shown in FIGS. 22 and 23, respectively. The operation will be briefly described below. DM
The AC 110 writes the data transferred from the HDC 120 to the data block, reads the data in the data block of the cache memory 130 and transfers the data to the HDC 120 according to the read bitmap RBM1 and the write bitmap WBM1, and 1 The disk rotation time for the sector is continuously performed while switching the disk drive 140 in synchronism with the switching of the sector by the read / write head in the disk drive 140 (step 1504). The HDC 120 follows the DM according to the read bitmap RBM2 and the write bitmap WBM2.
The operation of writing the data transferred from the AC 110 to the corresponding sector, the reading of the data of the sector on the disk drive 140, the data transfer operation to the DMAC 110, and the operation of waiting the disk rotation time for one sector without doing anything, The read / write head is switched continuously in synchronization with the switching of sectors (step 1
505).

【0075】ステップ1504のDMAC110の動作
を、図22を用いて、詳細に説明する。iは今何番目の
データブロックを処理中かを表す、内部変数である。ま
ずステップ1601でiに値“1”を代入する。次にス
テップ1602に進み、RBM1の第iビットRBM1
(i)の値が“1”か“0”か判断する。ビット値が
“1”であれば、ステップ1603に進み、HDC12
0より転送されてくる、セクタ番号y+(i−1)のセ
クタのsバイトのデータをディスクキャッシュメモリ上
のアドレスx+(i−1)sから始まるsバイトの領
域、即ちキャッシュセグメント131中のi番目のデー
タブロックに書き込み、ステップ1607へ進む。もし
ステップ1602で、RBM1(i)の値が“0”であ
れば、ステップ1604へ進み、WBM1の第iビット
WBM1(i)の値が“1”か“0”か判定する。ビッ
ト値が“1”であれば、ステップ1605へ進み、ディ
スクキャッシュメモリ130上のアドレスx+(i−
1)sから始まるsバイトの領域、即ちキャッシュセグ
メント131中のi番目のデータブロックのデータを読
み出して、HDC120へ転送し、ステップ1607へ
進む。もしステップ1604で、WBM1(i)の値が
“0”であれば、ステップ1606へ進み、ディスクド
ライブ140側で、i番目のデータブロックに対応する
セクタ番号y+(i−1)のセクタをリード/ライトヘ
ッドが通過するのを待った後、ステイップ1607へ進
む。ステップ1607では、iの値を1だけインクリメ
ントして、ステップ1608へ進む。ステップ1608
では、iの値が、キャッシュセグメント131内のキャ
ッシュブロック数6を越えたか否か判定する。iが6よ
り大きければ、処理を終了する。iが6以下であれば、
ステップ1602へ進み、処理を継続する。
The operation of the DMAC 110 in step 1504 will be described in detail with reference to FIG. i is an internal variable indicating the number of the data block currently being processed. First, in step 1601, the value “1” is substituted for i. Next, proceeding to step 1602, i-th bit RBM1 of RBM1
It is determined whether the value of (i) is "1" or "0". If the bit value is “1”, the process proceeds to step 1603 and the HDC 12
The s-byte data of the sector of sector number y + (i-1) transferred from 0 is an s-byte area starting from the address x + (i-1) s on the disk cache memory, that is, i in the cache segment 131. Write to the second data block, and proceed to step 1607. If the value of RBM1 (i) is "0" in step 1602, the process proceeds to step 1604, and it is determined whether the value of the i-th bit WBM1 (i) of WBM1 is "1" or "0". If the bit value is “1”, the process proceeds to step 1605, and the address x + (i− on the disk cache memory 130.
1) The s-byte area starting from s, that is, the data of the i-th data block in the cache segment 131 is read and transferred to the HDC 120, and the process proceeds to step 1607. If the value of WBM1 (i) is "0" in step 1604, the process proceeds to step 1606, and the disk drive 140 reads the sector of sector number y + (i-1) corresponding to the i-th data block. / After waiting for the light head to pass, proceed to step 1607. In step 1607, the value of i is incremented by 1, and the process proceeds to step 1608. Step 1608
Then, it is determined whether or not the value of i exceeds the number of cache blocks 6 in the cache segment 131. If i is larger than 6, the process ends. If i is 6 or less,
The process proceeds to step 1602 to continue the process.

【0076】ステップ1505のHDC120の動作
を、図23を用いて、詳細に説明する。iは何番目のセ
クタを処理中かを表す内部変数である。まず、ステップ
1701でiに値“1”を代入する。次にステップ17
02に進み、RBM2の第i番目のビットRBM2
(i)の値が“1”か“0”か判定する。ビット値が
“1”であれば、ステップ1703へ進み、ディスクド
ライブ140からセクタ番号y(i−1)のセクタのs
バイトのデータを読み出してDMAC110へ転送し、
ステップ1707へ進む。ステップ1702で、ビット
値が“0”であれば、ステップ1704へ進み、WBM
2の第i番目のビットWBM2(i)の値が“1”か
“0”か判定する。ビット値が“1”であれば、ステッ
プ1705へ進み、DMAC110より転送されてく
る、キャッシュセグメント131上のi番目のデータブ
ロックのsバイトのデータを、ディスクドライブ140
のセクタ番号y+(i−1)のセクタに書き込み、ステ
ップ1707へ進む。ステップ1704で、ビット値が
“0”であれば、ステップ1706へ進み、ドィスクド
ライブ140のリード/ライトヘッドがセクタ番号y+
(i−1)のセクタを通過するのを待ち、ステップ17
07へ進む。ステップ1707では、iの値を1だけイ
ンクリメントし、ステップ1708へ進む。ステップ1
708では、iの値が、ディスクセグメント141の大
きさ6を越えたか否か判定する。iが6より大きければ
処理を終了する。iが6以下であれば、ステップ170
2へ進み、処理を継続する。
The operation of the HDC 120 in step 1505 will be described in detail with reference to FIG. i is an internal variable indicating which sector is being processed. First, in step 1701, the value “1” is assigned to i. Next step 17
02, the i-th bit RBM2 of RBM2
It is determined whether the value of (i) is "1" or "0". If the bit value is "1", the process advances to step 1703, and the s of the sector of sector number y (i-1) is read from the disk drive 140.
Read byte data and transfer to DMAC110,
Proceed to step 1707. If the bit value is “0” in step 1702, the process proceeds to step 1704 and the WBM
It is determined whether the value of the 2nd i-th bit WBM2 (i) is "1" or "0". If the bit value is "1", the process proceeds to step 1705, and the s-byte data of the i-th data block on the cache segment 131 transferred from the DMAC 110 is transferred to the disk drive 140.
Write to the sector of the sector number y + (i-1) and proceed to step 1707. If the bit value is "0" in step 1704, the process advances to step 1706, and the read / write head of the disk drive 140 determines the sector number y +.
Wait for the sector (i-1) to pass, and then step 17
Proceed to 07. In step 1707, the value of i is incremented by 1, and the process proceeds to step 1708. Step 1
At 708, it is determined whether the value of i exceeds the size 6 of the disk segment 141. If i is larger than 6, the process ends. If i is 6 or less, step 170
Go to 2 and continue processing.

【0077】ここまでに述べた方法によって、キャッシ
ュメモリ上に、ディスク未反映のダーテーデータブロッ
クと、有効なデータがまだ存在しない空きデータブロッ
クが、それぞれ不連続な形で存在するときに、ディスク
ドライブが一回転する間に、ディスクのセクタとセクタ
の間で、キャッシュメモリからディスクドライブへのデ
ータライトと、ディスクドライブからキャッシュメモリ
へのデータリードとを、切り替えることにより、キャッ
シュメモリ上に不連続な形で存在するダーティデータブ
ロックのデータのディスクへのライトと、やはりキャッ
シュメモリ上に不連続な形で存在する空きデータブロッ
クへのディスク上のデータのリードとの、双方向のデー
タ転送を1回のDMA転送で、同時に行うことが可能に
なる。
According to the method described so far, when the cache memory has dirty data blocks that have not been reflected on the disk and empty data blocks that do not yet contain valid data in the discontinuous form, Discontinuity on the cache memory by switching between writing data from the cache memory to the disk drive and reading data from the disk drive to the cache memory between the sectors of the disk while the drive makes one revolution. Bidirectional data transfer between writing of data of a dirty data block that exists in a random form to the disk and reading of data of the disk to a free data block that also exists in a discontinuous form in the cache memory The DMA transfer can be performed simultaneously by performing the DMA transfer once.

【0078】効果としては、(a)ライトバック機能を
有するキャッシュ付きディスクサブシステムの、キャッ
シュ制御プログラムのプログラミングが容易になるこ
と、(b)ディスク上の連続した領域に反応するキャッ
シュメモリ上の領域内に、それぞれ不連続な形で存在す
る、ダーティデータブロックのデータのディスクへのラ
イトと、空きデータブロックへのディスク上のデータの
リードを1回のDMA転送起動で、同時に行うことが可
能になることにより、キャッシュ付きディスクサブシス
テムのI/Oスループットが向上すること、が挙げられ
る。
As effects, (a) the programming of the cache control program of the cached disk subsystem having the write-back function is facilitated, and (b) the area on the cache memory which reacts to the continuous area on the disk. It is possible to simultaneously write dirty data block data to the disk and read the data on the disk to the empty data block on the disk by starting DMA transfer once. It is possible to improve the I / O throughput of the disk subsystem with cache.

【0079】なお、本実施例では、ディスクライト用ビ
ットマップとディスクリード用ビットマックとの2つを
用いているが、どちらか一方のみを用いても実現可能で
ある。
In this embodiment, the disk write bit map and the disk read bit map are used, but it is also possible to use only one of them.

【0080】次に、図24を用いて、本発明の第4の実
施例を説明する。
Next, a fourth embodiment of the present invention will be described with reference to FIG.

【0081】図24において、100はマイクロプロセ
ッサ、110はDMAC、130は記憶装置であるディ
スクキャッシュメモリ、131はディスクキャッシュメ
モリ130内の一連のデータセグメント、120はHD
C、140であるディスクドライブ、141はディスク
ドライブ140内の一連のデータブロックから構成され
るディスクセグメントである。150はディスイク用ビ
ットマップ、160は送信データ、1,3は制御線、
2,4,5はバスである。
In FIG. 24, 100 is a microprocessor, 110 is a DMAC, 130 is a disk cache memory as a storage device, 131 is a series of data segments in the disk cache memory 130, and 120 is HD.
C and 140 are disk drives, and 141 is a disk segment composed of a series of data blocks in the disk drive 140. 150 is a bitmap for disk, 160 is transmission data, 1 and 3 are control lines,
2, 4 and 5 are buses.

【0082】マイクロプロセッサ100は制御線1を通
じて、DMAC110に、ディスクキャッシュメモリ1
30内の一連のデータブロック131の範囲と、ディス
クライト用ビットマップ150の内容と、データの送信
開始指令を送る。次にコントローラ110は、処理Aを
実行する。処理Aの内容は次の通りである。ディスクキ
ャッシュメモリ130から一連のデータブロック131
のデータを全てDMAC110内に読み込む。次に、受
け取ったビットマップ情報に従って、読み込んだ一連の
データブロック内のダーティデータブロックのみを選択
して、送信データ160を作成して、送信データ160
をバス5を通じて送信する。ビットマップ情報は、第i
番目のビットが、一連のデータブロック内の第i番目の
データブロックに対応する。ビット値が“0”であれ
ば、DMAC110は読み込んだデータの中の、対応す
るデータブロックの値を捨てる。ビット値が“1”であ
れば、コントローラ110は読み込んだデータの中の、
対応するデータブロックの値を送信する。図24の例で
は、データブロックはデータブロックからブロック
までの計6ブロックである。受け取ったビットマップは
“010110”であるので、この場合、第1、第3、
第6のデータブロックのデータを捨て、第2、第4、第
5のブロックのデータから構成される、送信データ16
0を作成して、バス5を通じて送信データ160を送信
する。
The microprocessor 100 sends the DMAC 110 to the disk cache memory 1 through the control line 1.
A range of a series of data blocks 131 in 30, the contents of the disk write bitmap 150, and a data transmission start command are sent. Next, the controller 110 executes the process A. The contents of the process A are as follows. A series of data blocks 131 from the disk cache memory 130
All the data of the above are read into the DMAC 110. Next, according to the received bitmap information, only dirty data blocks in the read series of data blocks are selected to create the transmission data 160, and the transmission data 160 is created.
Is transmitted through the bus 5. The bitmap information is the i-th
The th bit corresponds to the i th data block in the series of data blocks. If the bit value is "0", the DMAC 110 discards the value of the corresponding data block in the read data. If the bit value is “1”, the controller 110 reads the data
Send the value of the corresponding data block. In the example of FIG. 24, the data block is a total of 6 blocks from the data block to the block. Since the received bitmap is "010110", in this case, the first, third,
The transmission data 16 is formed by discarding the data of the sixth data block and including the data of the second, fourth, and fifth blocks.
0 is created and the transmission data 160 is transmitted through the bus 5.

【0083】マイクロプロセッサ100は制御線3を通
じて、HDC120に、ディスクドライブ140内のデ
ィスクセグメント141の範囲と、ディスクライト用ビ
ットマップ150の情報と、データの受信指令を送る。
次にコントローラ120は、処理Bを実行する。処理B
の内容は次の通りである。コントローラ120はバス5
を通じて送られた受信データ160を受け取る。次に、
受け取ったビットマップ情報に従って、受け取った受信
データ中のデータブロックを、バス4を通じて、デイス
クセグメント141上のデータブロックに書き込む。ビ
ットマップ情報は、第i番目のビットが、一連のブロッ
クから構成されるディスクセグメント141の第i番目
のデータブロックに対応する。受信データ中の第j番目
のデータブロックは、ビットマップ中に現れる第j番目
の“1”に対応するデータブックに書書き込まれる。図
24では、ディスイクセグメント141は計6個の連続
するブロックにより構成されている。また、受信データ
は3つのデータブロックxyzから構成されている。受
け取ったビットマップは“010110”であるので、
この場合、受信データ中の第1のデータブロックx、第
2のデータブロックy、第3のデータブロックzは、そ
れぞれ、ディスクセグメント141内の第2番目のブロ
ック、第4番目のブロック、第5番目のブロックに書き
込まれる。
The microprocessor 100 sends the range of the disk segment 141 in the disk drive 140, the information of the disk write bitmap 150, and the data reception command to the HDC 120 through the control line 3.
Next, the controller 120 executes the process B. Process B
The contents of are as follows. Controller 120 is bus 5
Received reception data 160 sent through. next,
In accordance with the received bitmap information, the data block in the received data received is written to the data block on the disk segment 141 via the bus 4. In the bitmap information, the i-th bit corresponds to the i-th data block of the disk segment 141 composed of a series of blocks. The j-th data block in the received data is written and written in the data book corresponding to the j-th "1" appearing in the bitmap. In FIG. 24, the disk segment 141 is composed of a total of 6 consecutive blocks. The received data is composed of three data blocks xyz. Since the received bitmap is "010110",
In this case, the first data block x, the second data block y, and the third data block z in the received data are the second block, the fourth block, and the fifth block in the disk segment 141, respectively. Written to the second block.

【0084】これにより、不連続なデータブロックの転
送を、マイクロプロセッサ100が一度だけ、DMAC
110とHDC120へ、指示することにより、行うこ
とができる。本実施例は先の実施例に比べてバス5を通
過するデータの量を小さくするこができる利点がある。
なお、上述したDMAC110とHDC120の役割を
入れ換えれば、ほとんど同様にして、ディスクドライブ
140からディスクセグメント130へ不連絡なデータ
セグメントを詰めて転送することができる。
This allows the microprocessor 100 to transfer the discontinuous data block only once by the DMAC.
This can be done by instructing 110 and HDC 120. The present embodiment has an advantage that the amount of data passing through the bus 5 can be reduced as compared with the previous embodiments.
It should be noted that if the roles of the DMAC 110 and the HDC 120 described above are exchanged, the unconnected data segment can be packed and transferred from the disk drive 140 to the disk segment 130 in almost the same manner.

【0085】[0085]

【発明の効果】本発明により、デイスクキャッシュメモ
リ上の不連続なダーティデータブロックのデータをディ
スクにライトすることを、ディスクの特性を考慮した形
で、より対さなメモリ量とオーバヘッド、より簡単なプ
ログラムにより、1回のDMA転送で行うことができる
ようになり、ライトバック方式を採用したキャッシュ付
きディスクサブシステムの性能向上、制御プログラムの
オーバヘッド削減、制御プログラムの記述の容易化を図
ることができる。
According to the present invention, writing data of discontinuous dirty data blocks on the disk cache memory to the disk can be performed more easily by considering the characteristics of the disk in a more compatible memory amount and overhead. Program, it is possible to perform the DMA transfer once, and it is possible to improve the performance of the cached disk subsystem that employs the write-back method, reduce the overhead of the control program, and simplify the description of the control program. it can.

【0086】また、ディスクキャッシュメモリ上の不連
続な空きデータブロックに、対応するディスク上のデー
タをリードすることを、ディスクの特性を考慮した形
で、より小さなメモリ量とオーバヘッド、より簡単なプ
ログラムにより、1回のDMA転送で行うことができる
ようになり、ライトバック方式を採用したキャッュ付き
ディスクサブシステムの性能向上、制御プログラムのオ
ーバヘッド削減、制御プログラムの記述の容易化を図る
ことができる。
Further, by reading the data on the corresponding disk to the discontinuous free data blocks on the disk cache memory, a smaller memory amount, overhead, and a simpler program can be implemented in consideration of the characteristics of the disk. As a result, it is possible to perform the DMA transfer once, and it is possible to improve the performance of the disk subsystem with a cache that employs the write-back method, reduce the overhead of the control program, and simplify the description of the control program.

【0087】また、ディスクキャッシュメモリの不連続
なデーティデータブロックのデータのディスクへのライ
トと、前記ダーティデータブロックと排他的関係にある
キャッシュメモリ上の不連続な空きデータブロックへ
の、対応するディスク上のデータリードを同時に行うこ
とができるようなり、ライトバック方式を採用したキャ
ッシュ付きディスクサブシステムの大幅な性能向上、制
御プログラムのオーバヘッド削減、制御プログラムの記
述の容易化を図ることができる。
Further, the writing of the data of the discontinuous data block in the disk cache memory to the disk and the corresponding free data block in the cache memory having an exclusive relationship with the dirty data block are dealt with. Data can be read from the disk at the same time, and the performance of the cached disk subsystem that employs the write-back method can be significantly improved, the control program overhead can be reduced, and the control program can be easily written.

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

【図1】ディスクキャッシュメモリからディスクドライ
ブへの本発明になるデータ転送の第1実施例が適用され
たディスクサブシステムを示す図である。
FIG. 1 is a diagram showing a disk subsystem to which a first embodiment of data transfer according to the present invention from a disk cache memory to a disk drive is applied.

【図2】図1に示したディスクサブシステムとホストコ
ンピュータとの接続関係を示すブロック図である。
FIG. 2 is a block diagram showing a connection relationship between the disk subsystem shown in FIG. 1 and a host computer.

【図3】図1に示した実施例におけるディスクキャッシ
ュメモリ内のキャッシュセグメントとディスクドライブ
内のディスクセグメントの具体的構成例を示す図であ
る。
3 is a diagram showing a specific configuration example of a cache segment in a disk cache memory and a disk segment in a disk drive in the embodiment shown in FIG.

【図4】図1に示したディスクキャッシュメモリからデ
ィスクドライブへのデータ転送処理を示すフローチャー
ト図である。
FIG. 4 is a flowchart showing a data transfer process from the disk cache memory shown in FIG. 1 to a disk drive.

【図5】図4に示した処理において、図1に示したHD
Cによる具体的処理を示すフローチャート図である。
5 shows the HD shown in FIG. 1 in the processing shown in FIG.
It is a flowchart figure which shows the concrete process by C.

【図6】ディスクドライブからディスクキャッシュメモ
リへのデータ転送処理を示すフローチャート図である。
FIG. 6 is a flowchart showing a data transfer process from a disk drive to a disk cache memory.

【図7】ディスクドライブからディスクキャッシュメモ
リへの本発明になるデータ転送の第1実施例が適用され
たディスクサブシステムを示す図である。
FIG. 7 is a diagram showing a disk subsystem to which a first embodiment of data transfer according to the present invention from a disk drive to a disk cache memory is applied.

【図8】図6に示した処理において、図7に示したDM
ACによる具体的処理を示すフローチャート図である。
8 is a diagram showing the DM shown in FIG. 7 in the process shown in FIG.
It is a flowchart figure which shows the concrete process by AC.

【図9】図1及び図7に示したデータ転送を行うディス
クサブシステムの具体的構成例を示すブロック図であ
る。
9 is a block diagram showing a specific configuration example of a disk subsystem that performs the data transfer shown in FIGS. 1 and 7. FIG.

【図10】図9に示したハードディスクコントローラ
(HDC)の具体的構成例を示す図である。
10 is a diagram showing a specific configuration example of the hard disk controller (HDC) shown in FIG.

【図11】ビットマップデータと図10における出力信
号との関係を示すタイミングチャート図である。
11 is a timing chart showing the relationship between bitmap data and the output signal shown in FIG.

【図12】図10に示したビットマップライト制御ブロ
ックの具体的構成例を示す図である。
12 is a diagram showing a specific configuration example of the bitmap write control block shown in FIG.

【図13】図9に示したDMAコントローラ(DMA
C)の具体的構成例を示す図である。
FIG. 13 shows a DMA controller (DMA shown in FIG.
It is a figure which shows the specific structural example of C).

【図14】ビットマップデータと図13における出力信
号との関係を示すタイミングチャート図である。
14 is a timing chart showing the relationship between bitmap data and the output signal shown in FIG.

【図15】図13に示したビットマップディスクリード
制御ブロックの具体的構成例を示す図である。
15 is a diagram showing a specific configuration example of the bitmap disk read control block shown in FIG.

【図16】ディスクキャッシュメモリからディスクドラ
イブへの本発明になるデータ転送の第2の実施例が適用
されたディスクサブシステムを示す図である。
FIG. 16 is a diagram showing a disk subsystem to which a second embodiment of data transfer according to the present invention from a disk cache memory to a disk drive is applied.

【図17】図16に示したデータ転送処理を示すフロー
チャート図である。
FIG. 17 is a flowchart showing the data transfer process shown in FIG.

【図18】図17に示した処理の要部の具体的処理を示
すフローチャート図である。
FIG. 18 is a flowchart showing specific processing of a main part of the processing shown in FIG.

【図19】図17に示した処理の要部の具体的処理を示
すフローチャート図である。
FIG. 19 is a flowchart showing specific processing of a main part of the processing shown in FIG.

【図20】ディスクキャッシュメモリとディスクドライ
ブとの間での本発明になる双方向データ転送である第3
実施例が適用されたディスクサブシステムを示す図であ
る。
FIG. 20 is a third bidirectional data transfer according to the present invention between a disk cache memory and a disk drive.
It is a figure which shows the disk subsystem to which the Example was applied.

【図21】図20に示した双方向データ転送処理を示す
フローチャート図である。
21 is a flowchart showing the bidirectional data transfer processing shown in FIG.

【図22】図21に示した処理において、図20に示し
たDMACによる具体的処理を示すフローチャート図で
ある。
22 is a flowchart diagram showing specific processing by the DMAC shown in FIG. 20 in the processing shown in FIG. 21.

【図23】図21に示した処理において、図20に示し
たHDCによる具体的処理を示すフローチャート図であ
る。
23 is a flowchart showing a specific process by the HDC shown in FIG. 20 in the process shown in FIG.

【図24】ディスクキャッシュメモリとディスクドライ
ブとの間での本発明になるデータ転送である第4実施例
が適用されたディスクサブシステムを示す図である。
FIG. 24 is a diagram showing a disk subsystem to which a fourth embodiment of data transfer according to the present invention between a disk cache memory and a disk drive is applied.

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

100…マイクロプロセッサ、101…マイクロプログ
ラム、110…DMAC、120…HDC、130…デ
ィスクキャッシュメモリ、131…キャッシュセグメン
ト、140…ディスクドライブ、141…ディスクセグ
メント、150…ディスクライト用ビットマップ、15
1…ディスクリード用ビットマップ、180…ディスク
コントローラ。
100 ... Microprocessor, 101 ... Microprogram, 110 ... DMAC, 120 ... HDC, 130 ... Disk cache memory, 131 ... Cache segment, 140 ... Disk drive, 141 ... Disk segment, 150 ... Disk write bitmap, 15
1 ... Bit map for disk read, 180 ... Disk controller.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 佐藤 雅彦 神奈川県小田原市国府津2880番地 株式会 社日立製作所小田原工場内 (72)発明者 佐藤 孝夫 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Masahiko Sato 2880, Kozu, Odawara-shi, Kanagawa Hitachi Ltd. Odawara factory (72) Inventor Takao Sato 1099, Ozenji, Aso-ku, Kawasaki-shi, Kanagawa Hitachi Ltd. System Development Laboratory

Claims (14)

【特許請求の範囲】[Claims] 【請求項1】第1の記憶装置内の、連続する複数の記憶
ブロックで構成される第1の記憶領域に含まれる不連続
な記憶ブロックのデータを、第2の記憶装置内の、連続
する複数の記憶ブロックで構成される第2の記憶領域内
の対応する不連続な記憶ブロックに転送するデータ転送
方法であって、前記第1の記憶領域内の連続する複数の
記憶ブロックは、前記第2の記憶領域内の連続する複数
の記憶ブロックにそれぞれ対応し、前記第1の記憶領域
内の連続する複数の記憶ブロックにそれぞれ対応する複
数のビット位置を有するビットマップを作成して、デー
タ転送すべき不連続な記憶ブロックに対応するビット位
置に所定のビット値を設定し、前記第1の記憶領域か
ら、前記連続する複数の記憶ブロックを、第1の制御手
段によって読みだし、前記ビットマップの内容に基づい
て、前記読みだした複数の記憶ブロックから、前記デー
タ転送すべき不連続な記憶ブロックを、第2の制御手段
によって選択的に前記第2の記憶装置の前記第2の記憶
領域の対応する不連続な記憶ブロックに書き込むことに
より、1回のデータ転送起動によって、前記不連続な記
憶ブロックのデータ転送を行なうことを特徴とするデー
タ転送方法。
1. Data of discontinuous storage blocks included in a first storage area formed by a plurality of continuous storage blocks in a first storage device is continuously stored in a second storage device. A data transfer method of transferring to a corresponding discontinuous storage block in a second storage area configured by a plurality of storage blocks, wherein a plurality of consecutive storage blocks in the first storage area are Data transfer is performed by creating a bitmap having a plurality of bit positions respectively corresponding to a plurality of consecutive storage blocks in the second storage area and corresponding to a plurality of consecutive storage blocks in the first storage area. A predetermined bit value is set in a bit position corresponding to a discontinuous storage block to be read, and the plurality of consecutive storage blocks are read from the first storage area by the first control means. Based on the contents of the bit map, the discontinuous storage blocks to which the data is to be transferred are selectively selected from the plurality of read storage blocks by the second control means in the second storage device. The data transfer method is characterized in that the data transfer of the discontinuous storage block is performed by one-time data transfer activation by writing in the corresponding discontinuous storage block of the storage area.
【請求項2】前記選択的に読みだした不連続な記憶ブロ
ックを、前記第1の制御手段において連続な記憶ブロッ
クに変換して、前記第2の制御手段に転送し、前記ビッ
トマップの内容に基づいて、前記変換された連続な記憶
ブロックを、第2の制御手段において前記第2の記憶装
置の前記第2の記憶領域の対応する不連続な記憶ブロッ
クに書き込むことにより、1回のデータ転送起動によっ
て、前記不連続な記憶ブロックのデータ転送をおこなう
ことを特徴とする請求項1記載のデータ転送方法。
2. The contents of the bitmap are converted from the selectively read discontinuous storage blocks into continuous storage blocks in the first control means and transferred to the second control means. Based on the above, the converted continuous storage block is written in the corresponding discontinuous storage block of the second storage area of the second storage device by the second control means to write one data 2. The data transfer method according to claim 1, wherein data transfer of the discontinuous storage blocks is performed by transfer start.
【請求項3】前記第1および第2の記憶装置は、ディス
クキャッシュメモリおよびディスクドライブであり、前
記第1および第2の記憶領域は、キャッシュセグメント
およびディスクセグメントであり、前記第1および第2
の制御手段は、DMACおよびHDCであることを特徴
とする請求項2記載のデータ転送方法。
3. The first and second storage devices are a disk cache memory and a disk drive, and the first and second storage areas are a cache segment and a disk segment.
3. The data transfer method according to claim 2, wherein the control means is DMAC and HDC.
【請求項4】前記第1および第2の記憶装置は、ディス
クキャッシュメモリおよびディスクドライブであり、前
記第1および第2の記憶領域は、キャッシュセグメント
およびディスクセグメントであり、前記第1および第2
の制御手段は、ダイレクトメモリアクセスコントローラ
(DMAC)およびハードディスクコントローラ(HD
C)であることを特徴とする請求項1記載のデータ転送
方法。
4. The first and second storage devices are a disk cache memory and a disk drive, and the first and second storage areas are a cache segment and a disk segment.
Is a direct memory access controller (DMAC) and a hard disk controller (HD
The data transfer method according to claim 1, wherein the data transfer method is C).
【請求項5】第1の記憶装置内の、連続する複数の記憶
ブロックで構成される第1の記憶領域の内で不連続な記
憶ブロックのデータを、第2の記憶装置内の、連続する
複数の記憶ブロックで構成される第2の記憶領域の内の
対応する不連続な記憶ブロックに転送するデータ転送方
法であって、前記第1の記憶領域内の連続する複数の記
憶ブロックは、前記第2の記憶領域内の連続する複数の
記憶ブロックにそれぞれ対応し、前記第1の記憶領域内
の連続する複数の記憶ブロックにそれぞれ対応する複数
のビット位置を有するビットマップを作成して、データ
転送すべき不連続な記憶ブロックに対応するビット位置
に所定のビット値を設定し、前記ビットマップの内容に
基づいて、前記第1の記憶領域から、前記データ転送す
べき不連続な記憶ブロックを、第1の制御手段によって
選択的に読みだし、前記ビットマップの内容に基づい
て、前記選択的に読みだしたデータ転送すべき不連続な
記憶ブロックを、第2の制御手段によって前記第2の記
憶装置の前記第2の記憶領域の対応する不連続な記憶ブ
ロックに書き込むことにより、1回のデータ転送起動に
よって、前記不連続な記憶ブロックのデータ転送をおこ
なうことを特徴としたデータ転送方法。
5. The data of discontinuous storage blocks in a first storage area formed by a plurality of continuous storage blocks in the first storage device is continuously stored in the second storage device. A data transfer method of transferring to a corresponding discontinuous storage block in a second storage area formed by a plurality of storage blocks, wherein the plurality of consecutive storage blocks in the first storage area are: Data is created by creating a bitmap having a plurality of bit positions respectively corresponding to a plurality of consecutive storage blocks in the second storage area and corresponding to a plurality of consecutive storage blocks in the first storage area. A predetermined bit value is set in a bit position corresponding to a discontinuous storage block to be transferred, and the discontinuous storage to be transferred from the first storage area based on the content of the bitmap. The lock is selectively read by the first control means, and based on the contents of the bitmap, the selectively read discontinuous storage block to be transferred is transferred to the second control means by the second control means. Data transfer in which the data transfer of the discontinuous storage block is performed by one data transfer activation by writing in the corresponding discontinuous storage block of the second storage area of the second storage device. Method.
【請求項6】前記第1および第2の記憶装置は、ディス
クキャッシュメモリおよびディスクドライブであり、前
記第1および第2の記憶領域は、キャッシュセグメント
およびディスクセグメントであり、前記第1および第2
の制御手段は、DMACおよびHDCであることを特徴
とする請求項5記載のデータ転送方法。
6. The first and second storage devices are a disk cache memory and a disk drive, and the first and second storage areas are a cache segment and a disk segment, and the first and second storage areas.
6. The data transfer method according to claim 5, wherein the control means is a DMAC and an HDC.
【請求項7】第1の記憶装置内の、連続する複数の記憶
ブロックで構成される第1の記憶領域の内で不連続な記
憶ブロックのデータと、第2の記憶装置内の、連続する
複数の記憶ブロックで構成される第2の記憶領域の内の
不連続な記憶ブロックのデータとを、前記第1および第
2の記憶装置間で双方向に転送するデータ転送方法であ
って、前記第1の記憶領域内の連続する複数の記憶ブロ
ックは、前記第2の記憶領域内の連続する複数の記憶ブ
ロックにそれぞれ対応し、前記第1の記憶領域内の連続
する複数の記憶ブロックにそれぞれ対応する複数のビッ
ト位置を有する第1のビットマップを作成して、前記第
1の記憶装置から前記第2の記憶装置へデータ転送すべ
き不連続な記憶ブロックに対応するビット位置に所定の
ビット値を設定し、前記第2の記憶領域内の連続する複
数の記憶ブロックにそれぞれ対応する複数のビット位置
を有する第2のビットマップを作成して、前記第1の記
憶装置から前記第2の記憶装置へデータ転送すべき不連
続な記憶ブロックに対応するビット位置に所定のビット
値を設定し、前記第1の記憶領域から、前記連続する複
数の記憶ブロックを、第1の制御手段によって読みだ
し、前記第1のビットマップの内容に基づいて、前記読
みだした複数の記憶ブロックから、前記第2の記憶装置
へデータ転送すベき前記不連続な記憶ブロックを、第2
の制御手段によって選択的に前記第2の記憶装置の前記
第2の記憶領域の対応する不連続な記憶ブロックに書き
込み、前記第2のビットマップの内容に基づいて、前記
第2の記憶領域から、前記第1の記憶装置ヘデータ転送
すべき前記不連続な記憶ブロックを、前記第2の制御手
段によって選択的に読みだし、前記第2のビットマップ
の内容に基づいて、前記選択的に読みだした前記第1の
記憶装置へデータ転送すべき前記不連続な記憶ブロック
を、第1の制御手段によって前記第1の記憶装置の前記
第1の記憶領域の対応する不連続な記憶ブロックに書き
込むことにより、1回のデータ転送起動によって、前記
不連続な記憶ブロックのデータ転送を前記第1および第
2の記憶装置間で双方向におこなうことを特徴としたデ
ータ転送方法。
7. Data of discontinuous storage blocks in a first storage area formed by a plurality of continuous storage blocks in the first storage device and continuous data in a second storage device. A data transfer method for bidirectionally transferring data in a discontinuous storage block in a second storage area configured by a plurality of storage blocks between the first and second storage devices, comprising: The plurality of consecutive storage blocks in the first storage area respectively correspond to the plurality of consecutive storage blocks in the second storage area, and respectively correspond to the plurality of consecutive storage blocks in the first storage area. A first bit map having a plurality of corresponding bit positions is created, and predetermined bits are provided at bit positions corresponding to discontinuous storage blocks to be data-transferred from the first storage device to the second storage device. Set the value A second bitmap having a plurality of bit positions respectively corresponding to a plurality of consecutive storage blocks in the second storage area is created, and data is transferred from the first storage device to the second storage device. A predetermined bit value is set in a bit position corresponding to a discontinuous storage block to be formed, the plurality of consecutive storage blocks are read from the first storage area by the first control means, and the first control unit reads the first storage area. Based on the content of the bitmap of the second storage device, the second storage device is used to transfer data from the read storage blocks to the second storage device.
Selectively writing to the corresponding discontinuous storage blocks of the second storage area of the second storage device, and from the second storage area based on the contents of the second bitmap. , The discontinuous storage blocks to be transferred to the first storage device are selectively read by the second control means, and are selectively read based on the contents of the second bitmap. Writing the discontinuous storage blocks to be transferred to the first storage device to the corresponding discontinuous storage blocks of the first storage area of the first storage device by the first control means. According to the data transfer method, the data transfer of the discontinuous storage block is bidirectionally performed between the first and second storage devices by one data transfer activation.
【請求項8】前記第1および第2の記憶装置は、ディス
クキャッシュメモリおよびディスクドライブであり、前
記第1および第2の記憶領域は、キャッシュセグメント
およびディスクセグメントであり、前記第1および第2
の制御手段は、DMACおよびHDCであることを特徴
とする請求項7記載のデータ転送方法。
8. The first and second storage devices are a disk cache memory and a disk drive, and the first and second storage areas are a cache segment and a disk segment.
8. The data transfer method according to claim 7, wherein the control means is a DMAC and a HDC.
【請求項9】ホストコンピュータと該ホストコンピュー
タが利用するデータを保持し、連続する複数のデータブ
ロックで構成されるディスクセグメントを有するディス
ク装置との間のデータ転送を制御するデータ転送装置で
あって、前記ディスクセグメント内の連続する複数のデ
ータブロックにそれぞれ対応し、連続する複数のデータ
ブロックで構成されるキャッシュセグメントを有するデ
ィスクキャッシュメモリと、前記キャッシュセグメント
内の連続する複数のデータブロックにそれぞれ対応し、
データ転送すべきデータブロックを指示するための複数
のビット位置を有するディスクライト用ビットマップ
と、前記キャッシュセグメントから、前記連続する複数
のデータブロックを読み出す第1の制御手段と、前記デ
ィスクライト用ビットマップの内容に基づいて、前記読
みだした複数のデータブロックから、前記データ転送す
べき不連続なデータブロックを、選択的に前記ディスク
ドライブの前記ディスクセグメントの対応する不連続な
データブロックに書き込む第2の制御手段とを備え、前
記ホストコンピュータからの1回のデータ転送起動によ
って、前記不連続なデータブロックのデータ転送をおこ
なうことを特徴とするデータ転送装置。
9. A data transfer device for controlling data transfer between a host computer and a disk device that holds data used by the host computer and has a disk segment composed of a plurality of continuous data blocks. A disk cache memory corresponding to a plurality of consecutive data blocks in the disk segment and having a cache segment composed of a plurality of consecutive data blocks, and a plurality of consecutive data blocks in the cache segment. Then
A disk write bitmap having a plurality of bit positions for indicating a data block to be data transferred, a first control unit for reading the plurality of consecutive data blocks from the cache segment, and the disk write bit Writing the discontinuous data blocks to be transferred from the read plurality of data blocks to corresponding discontinuous data blocks of the disk segment of the disk drive based on the contents of the map; 2. A data transfer device comprising two control means, wherein data transfer of the discontinuous data block is performed by one data transfer activation from the host computer.
【請求項10】ホストコンピュータと該ホストコンピュ
ータが利用するデータを保持し、連続する複数のデータ
ブロックで構成されるディスクセグメントを有するディ
スク装置との間のデータ転送を制御するデータ転送装置
であって、前記ディスクセグメント内の連続する複数の
データブロックにそれぞれ対応し、連続する複数のデー
タブロックで構成されるキャッシュセグメントを有する
ディスクキャッシュメモリと、前記ディスクセグメント
内の連続する複数のデータブロックにそれぞれ対応し、
データ転送すべきデータブロックを指示するための複数
のビット位置を有するディスクリード用ビットマップ
と、前記ディスクセグメントから、前記連続する複数の
データブロックを読み出す第1の制御手段と、前記ディ
スクリード用ビットマップの内容に基づいて、前記読み
だした複数のデータブロックから、前記データ転送すべ
き不連続なデータブロックを、選択的に前記ディスクキ
ャッシュメモリの前記キャッシュセグメントの対応する
不連続なデータブロックに書き込む第2の制御手段とを
備え、1回のデータ転送起動によって、前記不連続なデ
ータブロックのデータ転送をおこなうことを特徴とする
データ転送装置。
10. A data transfer device for controlling data transfer between a host computer and a disk device that holds data used by the host computer and has a disk segment composed of a plurality of continuous data blocks. A disk cache memory corresponding to a plurality of consecutive data blocks in the disk segment and having a cache segment composed of a plurality of consecutive data blocks, and a plurality of consecutive data blocks in the disk segment. Then
A disk read bitmap having a plurality of bit positions for designating a data block to be data transferred, a first control unit for reading the plurality of consecutive data blocks from the disk segment, and the disk read bit Based on the contents of the map, the discontinuous data blocks to be transferred from the read plurality of data blocks are selectively written to the corresponding discontinuous data blocks of the cache segment of the disk cache memory. A data transfer apparatus comprising: a second control means, wherein data transfer of the discontinuous data block is performed by one data transfer activation.
【請求項11】ホストコンピュータと該ホストコンピュ
ータが利用するデータを保持し、連続する複数のデータ
ブロックで構成されるディスクセグメントを有するディ
スク装置との間のデータ転送を制御するデータ転送装置
であって、前記ディスクセグメント内の連続する複数の
データブロックにそれぞれ対応し、連続する複数のデー
タブロックで構成されるキャッシュセグメントを有する
ディスクキャッシュメモリと、前記キャッシュセグメン
ト内の連続する複数のデータブロックにそれぞれ対応
し、データ転送すべきデータブロックを指示するための
複数のビット位置を有するディスクライト用ビットマッ
プと、前記ディスクセグメント内の連続する複数のデー
タブロックにそれぞれ対応し、データ転送すべきデータ
ブロックを指示するための複数のビット位置を有するデ
ィスクリード用ビットマップと、前記キャッシュセグメ
ントから、前記連続する複数のデータブロックを読み出
し、前記ディスクライト用ビットマップの内容に基づい
て、前記読みだした複数のデータブロックから、前記デ
ィスクドライブへデータ転送すべき前記不連続なデータ
ブロックを、選択的に前記ディスクドライブの前記ディ
スクセグメントの対応する不連続なデータブロックに書
き込むとともに、前記ディスクリード用ビットマップの
内容に基づいて、前記ディスクセグメントから、前記デ
ィスクキャッシュメモリヘデータ転送すべき前記不連続
なデータブロックを、選択的に読み出し、前記ディスク
リード用ビットマップの内容に基づいて、前記選択的に
読みだした前記ディスクキャッシュメモリへデータ転送
すべき前記不連続なデータブロックを前記ディスクキャ
ッシュメモリの前記キャッシュセグメントの対応する不
連続なデータブロックに書き込む転送制御手段とを備え
たことを特徴とするデータ転送装置。
11. A data transfer device for controlling data transfer between a host computer and a disk device that holds data used by the host computer and has a disk segment composed of a plurality of continuous data blocks. A disk cache memory corresponding to a plurality of consecutive data blocks in the disk segment and having a cache segment composed of a plurality of consecutive data blocks, and a plurality of consecutive data blocks in the cache segment. A data write bitmap having a plurality of bit positions for indicating a data block to be transferred and a data block to be transferred corresponding to each of a plurality of consecutive data blocks in the disk segment. Do Disk read bitmap having a plurality of bit positions for reading, and the plurality of consecutive data blocks read from the cache segment, and the plurality of read data blocks based on the contents of the disk write bitmap. To selectively write the discontinuous data block to be transferred to the disk drive to the corresponding discontinuous data block of the disk segment of the disk drive, based on the contents of the disk read bitmap. And selectively read the discontinuous data blocks from the disk segment to be transferred to the disk cache memory, and selectively read the disk based on the contents of the disk read bitmap. Cash Data transfer apparatus characterized by comprising a transfer control means for writing said discontinuous data blocks to be data transferred to the Li in the corresponding discrete data blocks of said cache segment of the disk cache memory.
【請求項12】前記転送制御手段は、前記キャッシュメ
モリへのデータの書き込み及び読み出しを制御する第1
の制御手段と、前記ディスク装置へのデータの書き込み
及び読み出しを制御する第2の制御手段を含むことを特
徴とする請求項11記載のデータ転送装置。
12. The first transfer control means controls writing and reading of data to and from the cache memory.
12. The data transfer device according to claim 11, further comprising: a control unit for controlling the writing and reading of data to and from the disk device.
【請求項13】ホストコンピュータに接続されるディス
クコントローラにおけるデータ転送方法であって、前記
ホストコンピュータからのデータライト要求に応答し
て、ディスクキャッシュメモリに、連続する複数のデー
タブロックで構成されるキャッシュセグメントを割り当
て、前記キャッシュセグメントに対応するディスクライ
ト用ビットマップを作成し、該ディスクライト用ビット
マップは、前記キャッシュセグメント内の連続する複数
のデータブロックにそれぞれ対応する複数のビット位置
を有し、 前記ホストコンピュータから前記キャッシュセグメント
に前記データ転送すべき少なくとも1つのデータブロッ
クを書き込み、該ディスクライト用ビットマップ内の、
前記ホストコンピュータからデータ転送すべき少なくと
も1つのデータブロックに対応するビット位置に所定の
ビット値を設定し、 前記ディスクライト用ビットマップの内容に基づいて、
前記データ転送すべき少なくとも1つのデータブロック
を、ディスクドライブ内の、前記キャッシュセグメント
に対応するディスクセグメントの対応するデータブロッ
ク上に選択的に書き込むことを特徴とするデータ転送方
法。
13. A data transfer method in a disk controller connected to a host computer, comprising a cache composed of a plurality of consecutive data blocks in a disk cache memory in response to a data write request from the host computer. Allocating a segment and creating a disk write bitmap corresponding to the cache segment, the disk write bitmap having a plurality of bit positions respectively corresponding to a plurality of consecutive data blocks in the cache segment, Writing at least one data block to be transferred from the host computer to the cache segment, in the disk write bitmap,
A predetermined bit value is set in a bit position corresponding to at least one data block to be transferred from the host computer, and based on the contents of the disk write bitmap,
A data transfer method, wherein at least one data block to be transferred is selectively written on a corresponding data block of a disk segment corresponding to the cache segment in a disk drive.
【請求項14】請求項13記載のデータ転送方法におい
て、さらに、前記ディスクセグメントに対応するディス
クリード用ビットマップを作成し、該ディスクリード用
ビットマップは、前記ディスクセグメント内の連続する
複数のデータブロックにそれぞれ対応する複数のビット
位置を有し、 該ディスクリード用ビットマップ内の、前記ディスクド
ライブから前記ディスクキャッシュメモリヘデータ転送
すべき少なくとも1つのデータブロックに対応するビッ
ト位置に所定のビット値を設定し、前記ホストコンピュ
ータからのデータリード要求に応答して、前記ディスク
リード用ビットマップの内容に基づいて、データ転送す
べき少なくとも1つのデータブロックを、前記ディスク
セグメントから読みだして、前記キャッシュセグメント
の対応するデータブロック上に選択的に書き込むことを
特徴とするデータ転送方法。
14. The data transfer method according to claim 13, further comprising creating a disk read bitmap corresponding to the disk segment, wherein the disk read bitmap is a plurality of consecutive data in the disk segment. A plurality of bit positions respectively corresponding to blocks, and a predetermined bit value in a bit position corresponding to at least one data block to be transferred from the disk drive to the disk cache memory in the disk read bitmap. In response to a data read request from the host computer, based on the contents of the disk read bitmap, at least one data block to be transferred is read from the disk segment and the cache is read. Segment pairs A data transfer method characterized by selectively writing on a corresponding data block.
JP5088387A 1992-04-17 1993-04-15 Method and device for data transfer Pending JPH0628261A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5088387A JPH0628261A (en) 1992-04-17 1993-04-15 Method and device for data transfer

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP4-97658 1992-04-17
JP9765892 1992-04-17
JP5088387A JPH0628261A (en) 1992-04-17 1993-04-15 Method and device for data transfer

Publications (1)

Publication Number Publication Date
JPH0628261A true JPH0628261A (en) 1994-02-04

Family

ID=26429777

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5088387A Pending JPH0628261A (en) 1992-04-17 1993-04-15 Method and device for data transfer

Country Status (1)

Country Link
JP (1) JPH0628261A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009020833A (en) * 2007-07-13 2009-01-29 Internatl Business Mach Corp <Ibm> Technology for caching data
US7636807B2 (en) 2006-02-24 2009-12-22 Samsung Electronics Co., Ltd. Storage apparatus using nonvolatile memory as cache and mapping information recovering method for the storage apparatus
JP2010006066A (en) * 2008-06-27 2010-01-14 Toshiba Corp Image processing device and image processing method
WO2012032582A1 (en) 2010-09-10 2012-03-15 Hitachi, Ltd. Storage system and data transfer method of storage system
US8738842B2 (en) 2007-07-19 2014-05-27 Samsung Electronics Co., Ltd. Solid state disk controller and data processing method thereof
JP2015043226A (en) * 2014-10-15 2015-03-05 株式会社日立製作所 Storage system and data transfer method of storage system
US9977027B2 (en) 2014-06-13 2018-05-22 Aaa Scientific Limited Apparatus and method for preparing a ninhydrin reagent

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7636807B2 (en) 2006-02-24 2009-12-22 Samsung Electronics Co., Ltd. Storage apparatus using nonvolatile memory as cache and mapping information recovering method for the storage apparatus
JP2009020833A (en) * 2007-07-13 2009-01-29 Internatl Business Mach Corp <Ibm> Technology for caching data
US8738842B2 (en) 2007-07-19 2014-05-27 Samsung Electronics Co., Ltd. Solid state disk controller and data processing method thereof
JP2010006066A (en) * 2008-06-27 2010-01-14 Toshiba Corp Image processing device and image processing method
WO2012032582A1 (en) 2010-09-10 2012-03-15 Hitachi, Ltd. Storage system and data transfer method of storage system
US8316195B2 (en) 2010-09-10 2012-11-20 Hitachi, Ltd. Storage system and data transfer method of storage system
US8782337B2 (en) 2010-09-10 2014-07-15 Hitachi, Ltd. Storage system and data transfer method of storage system
US9304710B2 (en) 2010-09-10 2016-04-05 Hitachi, Ltd. Storage system and data transfer method of storage system
US9977027B2 (en) 2014-06-13 2018-05-22 Aaa Scientific Limited Apparatus and method for preparing a ninhydrin reagent
JP2015043226A (en) * 2014-10-15 2015-03-05 株式会社日立製作所 Storage system and data transfer method of storage system

Similar Documents

Publication Publication Date Title
US5553307A (en) Method and device for transferring noncontiguous blocks in one transfer start by creating bit-map indicating which block is to be transferred
US6330626B1 (en) Systems and methods for a disk controller memory architecture
US6401149B1 (en) Methods for context switching within a disk controller
US6636927B1 (en) Bridge device for transferring data using master-specific prefetch sizes
US20020184453A1 (en) Data bus system including posted reads and writes
JPS6138507B2 (en)
JPH04367023A (en) Duplex disk controller
US5813024A (en) Disk control method for use with a data storage apparatus having multiple disks
EP1631911B1 (en) Method and device for transferring data between a main memory and a storage device
JPH0628261A (en) Method and device for data transfer
JPS5832417B2 (en) Data transfer control method
JPH09179779A (en) Computer system and data transfer method
CA2370596C (en) Systems and methods for a disk controller memory architecture
JP2007011526A (en) Hdd controller and system provided therewith
JP2981711B2 (en) Disk storage device
JPH10178626A (en) Transmitting device, server device and transmitting method
US20010002481A1 (en) Data access unit and method therefor
JPH0448358A (en) Cache memory control system
JP2963696B2 (en) Data transfer control system
JPS6027014A (en) Magnetic disk controller
JPH11119922A (en) Data storage system and redundant data write control method
JP3241072B2 (en) Computer system
JP2826780B2 (en) Data transfer method
JP3678537B2 (en) Data transfer method and apparatus
JP2768022B2 (en) Memory controller