JP2001188658A - Disk control system and data rearranging method - Google Patents

Disk control system and data rearranging method

Info

Publication number
JP2001188658A
JP2001188658A JP37502699A JP37502699A JP2001188658A JP 2001188658 A JP2001188658 A JP 2001188658A JP 37502699 A JP37502699 A JP 37502699A JP 37502699 A JP37502699 A JP 37502699A JP 2001188658 A JP2001188658 A JP 2001188658A
Authority
JP
Japan
Prior art keywords
read
block
data
buffer
write
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
JP37502699A
Other languages
Japanese (ja)
Inventor
Kuniaki Motosawa
邦朗 本沢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP37502699A priority Critical patent/JP2001188658A/en
Publication of JP2001188658A publication Critical patent/JP2001188658A/en
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PROBLEM TO BE SOLVED: To remarkably enhance the reading performance by efficiently rearranging data in a disk control system in a log structuring writing system. SOLUTION: When a read request is generated to plural blocks (virtual addresses V2, V3) with continuous virtual addresses, physical addresses (p5, p81) of the blocks are calculated from an address mapping table 171 and read from a disk device 18. The blocks (data D5, D81) read from the physical addresses are transferred to a buffer 201 at a read requesting origin and written back in a bulk writing buffer 171. When a free space is not available in the bulk writing buffer 171, the contents of the bulk writing buffer 171 is written in the disk device 18 and pieces of data with continuous virtual addresses are stored in the disk device 18 again so that their physical addresses also becomes continuous.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明はディスク制御システ
ムおよびデータ再配置方法に関し、特にログ構造化書き
込み方式を用いたディスク制御システムおよび同システ
ムに適用されるデータ再配置方法に関する。
The present invention relates to a disk control system and a data relocation method, and more particularly to a disk control system using a log structured writing method and a data relocation method applied to the system.

【0002】[0002]

【従来の技術】近年、ディスクの高速化と信頼性向上の
観点から、RAID(Redundant Array
of Independent Disks)技術を
搭載した計算機システムが主流となっている。RAID
技術には0,1,10,5などの種類がある。
2. Description of the Related Art In recent years, RAID (Redundant Array) has been developed from the viewpoint of speeding up disks and improving reliability.
2. Description of the Related Art A computer system equipped with a technology of Independent Disks is mainly used. RAID
There are 0, 1, 10, and 5 types of technologies.

【0003】最近では、このようなRAIDの書き込み
性能を大幅に向上するための技術として、ログ構造化フ
ァイルシステム(LFS)技術が考えられている。ログ
構造化ファイルシステム技術とは、「シーケンシャルア
クセスは、ランダムアクセスに比較して非常に高速であ
る」というディスクの特性を利用した性能向上の手法で
ある。ランダムアクセス時の性能低下はディスクのシー
クおよび回転待ちによるもので出来れば無くしたい部分
である。そこで、ログ構造化ファイルシステム技術で
は、書き込みデータを蓄積するためのバッファを使用
し、複数の小さなブロックの書き込みデータを、一つの
大きな塊りのデータに変換して「まとめ書き」するとい
う手法が用いられる。これにより、ランダムな書き込み
をシーケンシャルな書き込みに変更することができ、書
き込み性能の向上を図ることが可能となる。
Recently, a log structured file system (LFS) technique has been considered as a technique for greatly improving such RAID write performance. The log-structured file system technology is a technique for improving performance utilizing the characteristics of a disk that "sequential access is much faster than random access". The performance degradation at the time of random access is caused by the seek and rotation wait of the disk, and is a part that should be eliminated if possible. Therefore, in the log-structured file system technology, a method of using a buffer for storing write data, converting the write data of a plurality of small blocks into one large chunk of data, and performing "collective writing". Used. Thus, random writing can be changed to sequential writing, and writing performance can be improved.

【0004】[0004]

【発明が解決しようとする課題】しかし、ログ構造化フ
ァイルシステム技術を使用した場合には、ライト要求順
にデータが並べられて書き込まれる。このため、ランダ
ムライトが発生すると、互いに論理アドレスが離れたデ
ータ同士が一つの物理領域に連続して書き込まれる。こ
れにより、ファイルシステム上では連続する領域が物理
的には離れた領域に書き込まれる結果となる。このよう
な領域に対するシーケンシャルリードはランダムリード
となり効率が悪い。
However, when the log structured file system technique is used, data is arranged and written in the order of write requests. Therefore, when a random write occurs, data whose logical addresses are separated from each other are continuously written in one physical area. This results in continuous areas being written to physically distant areas on the file system. Sequential reading for such an area becomes random reading and is inefficient.

【0005】このような状態を直すためには物理的にも
連続にデータが並ぶように定期的にデータを並べ替える
必要がある。しかしながら、このデータの並べ替え処理
は通常のライトやリードの処理とは別個に行われている
ため、並べ替えの目的のためのみで多くのI/O処理が
必要とされてしまい、これによりシステム性能の低下が
引き起こされることになる。
In order to correct such a state, it is necessary to periodically rearrange the data so that the data is physically continuously arranged. However, since this data rearrangement process is performed separately from the normal write and read processes, many I / O processes are required only for the purpose of rearrangement, and as a result, the system Performance degradation will be caused.

【0006】本発明は上述の事情に鑑みてなされたもの
であり、リード要求されたデータやライト要求されたデ
ータを利用して効率よくデータを並べ替えられるように
し、少ない負荷で、読み出し性能の大幅な向上を図るこ
とが可能なディスク制御システムおよびデータ再配置方
法を提供することを目的とする。
SUMMARY OF THE INVENTION The present invention has been made in view of the above circumstances, and enables data to be rearranged efficiently by using read requested data or write requested data, and achieves low read performance and low load. It is an object of the present invention to provide a disk control system and a data relocation method that can achieve a significant improvement.

【0007】[0007]

【課題を解決するための手段】上述の課題を解決するた
め、本発明は、書き込みデータをバッファに蓄積し、前
記バッファに蓄積された複数の書き込みデータのブロッ
クを、ディスク装置の連続した記憶領域から構成される
ストライプ単位で前記ディスク装置にまとめ書きするロ
グ構造化書き込み方式のディスク制御システムであっ
て、仮想アドレスが連続した複数のブロックに対してリ
ード要求が発生した際に、要求された複数のブロックを
リード要求元に転送すると共に、前記複数のブロックを
物理アドレスが連続するように、あるいは同一ストライ
プ内に格納されるように前記ディスク装置に書き戻す制
御手段を具備することを特徴とする。
In order to solve the above-mentioned problems, the present invention accumulates write data in a buffer, and stores a plurality of blocks of the write data accumulated in the buffer in a continuous storage area of a disk drive. A disk control system of a log-structured write system, which collectively writes data to the disk device in stripes composed of a plurality of virtual addresses, when a read request is issued to a plurality of blocks having continuous virtual addresses, And a control unit for writing back the plurality of blocks to the disk device so that physical addresses are consecutive or stored in the same stripe. .

【0008】このディスク制御システムにおいては、仮
想アドレスが連続しているブロック同士を物理アドレス
も連続するようにディスク装置に格納することができる
ので、読み出し性能の大幅な向上を図ることが可能とな
る。特に、リード要求があったブロックを対象としてい
るので、この目的のためにブロックをリードする必要が
なく、データ再配置のための負荷を低減することができ
る。
In this disk control system, blocks having continuous virtual addresses can be stored in the disk device so that physical addresses are also continuous, so that read performance can be greatly improved. . In particular, since a block requested to be read is targeted, it is not necessary to read the block for this purpose, and the load for data relocation can be reduced.

【0009】ディスク装置への書き戻しは、リード要求
された複数のブロックを書き込みデータとしてまとめ書
き用のバッファに書き込んでおくだけで、後に自動的に
行うことができる。もちろん、書き戻し専用のバッファ
を用意し、それを利用して書き戻しをしても良い。
Writing back to the disk device can be automatically performed later simply by writing a plurality of blocks for which reading has been requested as write data in the collective writing buffer. Of course, a buffer dedicated to writing back may be prepared, and writing back may be performed using the buffer.

【0010】また、仮想アドレスが連続する複数のブロ
ックを必ずしも物理アドレスが連続するように書き戻さ
ずとも、それらが同一ストライプ内に格納されるように
書き戻すだけでも、読み出し速度の向上を図ることがで
きる。
Further, it is possible to improve the reading speed by rewriting a plurality of blocks having continuous virtual addresses so that they are stored in the same stripe without necessarily writing back such that physical addresses are continuous. Can be.

【0011】また、リード要求されたブロックが、物理
アドレスが連続した状態でディスク装置に格納されてい
ないこと、あるいは同一ストライプに格納されていない
ことを条件に、前記書き戻しのための処理を行うように
することにより、無駄な処理が実行されることによる不
具合の発生を防止することができる。
The write-back process is performed on the condition that the block requested to be read is not stored in the disk device in a state where the physical addresses are continuous or is not stored in the same stripe. By doing so, it is possible to prevent the occurrence of a problem due to execution of useless processing.

【0012】また、リード要求されたブロックが格納さ
れているストライプ内の有効ブロック数に基づいて、書
き戻し処理を行うか否かを判定することが好ましい。こ
の場合、例えば全てのブロックが有効であるストライプ
に含まれていたブロックについては書き戻しを行わない
ようにすることにより、無効ブロックを含むストライプ
数の増大を効果的に防止することができる。
It is preferable to determine whether or not to perform a write-back process based on the number of valid blocks in a stripe in which a block requested to be read is stored. In this case, for example, by preventing writing back of blocks included in a stripe in which all blocks are valid, it is possible to effectively prevent an increase in the number of stripes including invalid blocks.

【0013】また、ディスクアクセスが頻発している時
などに書き戻し処理を行うと、かえって性能を低下させ
てしまう可能性があるので、ディスク装置に関する負荷
の状況を判断し、それに基づいて書き戻し処理を行うか
否かを判定することが好ましい。
Further, if write-back processing is performed when the disk access frequently occurs, the performance may be degraded, so that the load situation regarding the disk device is determined, and the write-back is performed based on the load state. It is preferable to determine whether or not to perform the processing.

【0014】また、本発明は、書き込みデータをバッフ
ァに蓄積し、前記バッファに蓄積された複数の書き込み
データのブロックを、ディスク装置の連続した記憶領域
から構成されるストライプ単位で前記ディスク装置にま
とめ書きするログ構造化書き込み方式のディスク制御シ
ステムであって、ライト要求が発生した際に、そのライ
ト要求されたブロックと仮想アドレスが連続している1
つ以上のブロックを前記ディスク装置からリードし、前
記リードしたブロックを前記ライト要求されたブロック
と共に前記バッファに書き込む制御手段とを具備するこ
とを特徴とする。
Further, according to the present invention, write data is stored in a buffer, and a plurality of blocks of write data stored in the buffer are collected in the disk device in stripe units formed of a continuous storage area of the disk device. This is a disk control system of a log structured writing system for writing, wherein when a write request occurs, the block and the virtual address for which the write request is continuous are 1
And a control unit that reads one or more blocks from the disk device and writes the read blocks together with the blocks requested to be written into the buffer.

【0015】このディスク制御システムにおいても、仮
想アドレスが連続しているブロック同士をバッファに書
き込むことで、それらを物理アドレスも連続するように
あるいは同一ストライプ内に格納されるようにディスク
に書き込むことができる。また、ライト要求があったブ
ロックはそのまま用いているので、並べ替えの目的のた
めにリードするブロック数を減らすことができる。
Also in this disk control system, by writing blocks having continuous virtual addresses to a buffer, they can be written to the disk so that physical addresses are also continuous or stored in the same stripe. it can. Further, since the block for which the write request has been made is used as it is, the number of blocks to be read for the purpose of rearrangement can be reduced.

【0016】また、本発明は、書き込みデータをバッフ
ァに蓄積し、前記バッファに蓄積された複数の書き込み
データのブロックを、ディスク装置の連続した記憶領域
から構成されるストライプ単位で前記ディスク装置にま
とめ書きするログ構造化書き込み方式のディスク制御シ
ステムであって、ライト要求されたブロックまたはリー
ド要求されたブロックのコピーを一時的に保持するため
のデフラグ用バッファと、リード要求またはライト要求
が発生した際に、要求されたブロックのコピーを前記デ
フラグ用バッファに書き込む手段と、前記デフラグ用バ
ッファ内の仮想アドレスが連続しているブロックを物理
アドレスも連続するように、あるいは同一ストライプ内
に格納されるように前記ディスク装置に書き戻す制御手
段とを具備することを特徴とする。
Further, according to the present invention, write data is stored in a buffer, and a plurality of blocks of write data stored in the buffer are collected in the disk device in stripe units formed of a continuous storage area of the disk device. A disk control system of a log structured write system for writing, wherein a defragmentation buffer for temporarily holding a copy of a block requested to be written or a block of a block requested to be read and a read request or a write request are generated Means for writing a copy of the requested block to the defragmentation buffer; and a block in which the virtual address in the defragmentation buffer is continuous so that the physical address is also continuous or stored in the same stripe. Control means for writing back to the disk device. The features.

【0017】このディスク制御システムにおいては、仮
想アドレスが連続しているブロックを物理アドレスも連
続するように、あるいは同一ストライプ内に格納される
ようにディスクにライトバックするために、デフラグ用
のバッファが上述の書き戻し用バッファとして用意され
ている。リードまたはライト要求が発生した際には、要
求されたブロックをデフラグ用バッファに書き込む。そ
の後、デフラグ用バッファ内の仮想アドレスが連続して
いるブロックを物理アドレスも連続するように、あるい
は同一ストライプ内に格納されるようにディスク装置に
書き戻す処理が行われる。デフラグ用バッファ上には、
複数回のリードあるいはライト要求されたブロックを保
持しておけるので、より多くのブロックを物理アドレス
が連続するように書き戻すことが可能となる。またデフ
ラグ用バッファはキャッシュとしても使えるので、リー
ド性能のさらなる向上を図ることができる。
In this disk control system, a buffer for defragmentation is used to write back a block in which virtual addresses are continuous to a disk so that physical addresses are also continuous or stored in the same stripe. It is provided as the write-back buffer described above. When a read or write request occurs, the requested block is written to the defragmentation buffer. Thereafter, a process of writing back to the disk device so that the physical addresses of the blocks in the defragmentation buffer where the virtual addresses are continuous is also continuous or stored in the same stripe. On the defragmentation buffer,
Since a block requested to be read or written a plurality of times can be held, it is possible to write back more blocks so that physical addresses are continuous. Since the defragmentation buffer can be used as a cache, the read performance can be further improved.

【0018】また、リード要求が発生した際に、リード
要求されたブロックと仮想アドレスが連続しているブロ
ックの先読みを実行し、前記先読みしたブロックを前記
リード要求されたブロックと共に前記デフラグ用バッフ
ァに書き込む先読み手段を設けることにより、さらに多
くのブロックを物理アドレスが連続するように書き戻す
ことが可能となる。また、リード高速化に関して先読み
による効果も期待できる。
Further, when a read request is issued, the prefetch of the block whose virtual address is continuous with the read requested block is executed, and the prefetched block is stored in the defragmentation buffer together with the read requested block. By providing the read-ahead means for writing, it is possible to write back more blocks so that the physical addresses are continuous. In addition, the effect of read-ahead can be expected with respect to speeding up the read.

【0019】また、ライト要求が発生した際に、ライト
要求されたブロックと仮想アドレスが連続している複数
のブロックを前記ディスク装置からリードし、リードし
たブロックを前記ライト要求されたブロックと共に前記
デフラグ用バッファに書き込む手段を設けることによ
り、さらに多くのブロックを物理アドレスが連続するよ
うに書き戻すことが可能となる。
When a write request occurs, a plurality of blocks whose virtual addresses are continuous with the write-requested block are read from the disk device, and the read block is read out together with the write-requested block by the defragmenter. By providing a means for writing data in the buffer for use, more blocks can be written back so that physical addresses are continuous.

【0020】[0020]

【発明の実施の形態】以下、図面を参照して本発明の実
施形態を説明する。図1には、本発明の一実施形態に係
るディスク制御システムを適用した計算機システムの構
成が示されている。この計算機システムはサーバ(PC
サーバ)として利用されるものであり、複数のCPU1
1を搭載することが出来る。これら各CPU11は図示
のようにプロセッサバス1を介してブリッジ12に接続
されている。ブリッジ12はプロセッサバス1とPCI
バス2を双方向で接続するためのブリッジLSIであ
り、ここには主メモリ13を制御するためのメモリコン
トローラも内蔵されている。主メモリ13には、オペレ
ーティングシステム、実行対象のアプリケーションプロ
グラム、およびドライバなどがロードされる。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 shows a configuration of a computer system to which a disk control system according to an embodiment of the present invention is applied. This computer system is a server (PC
Server 1) and a plurality of CPUs 1
1 can be mounted. Each of these CPUs 11 is connected to the bridge 12 via the processor bus 1 as shown. Bridge 12 is connected to processor bus 1 and PCI.
This is a bridge LSI for connecting the bus 2 bidirectionally, and also has a built-in memory controller for controlling the main memory 13. The main memory 13 is loaded with an operating system, an application program to be executed, a driver, and the like.

【0021】PCIバス2には、図示のように、RAI
Dコントローラ16、およびRAIDブースタカード
(RAID BOOSTER)17が接続されている。
RAIDコントローラ16によって制御されるディスク
装置18は複数のディスクドライブから構成されたディ
スクアレイであり、各種ユーザデータ等の記録等に用い
られる。
As shown, the PCI bus 2 has an RAI
A D controller 16 and a RAID booster card (RAID BOOSTER) 17 are connected.
The disk device 18 controlled by the RAID controller 16 is a disk array composed of a plurality of disk drives, and is used for recording various user data and the like.

【0022】ディスク装置18はRAIDコントローラ
16の制御により、RAID5構成のディスクアレイと
して機能する。このディスクアレイは、データ記憶用の
N台のディスク装置にパリティ記憶用のディスク装置を
1台付加したN+1台(ここでは、DISK0〜DIS
K4の5台)のディスクドライブから構成される。これ
らN+1台のディスクドライブはグループ化され、単一
の論理ディスクドライブとして使用される。
The disk device 18 functions as a disk array having a RAID 5 configuration under the control of the RAID controller 16. This disk array has N + 1 disks (here, DISK0 to DISK) obtained by adding one disk device for parity storage to N disk devices for data storage.
K4 disk drives). These N + 1 disk drives are grouped and used as a single logical disk drive.

【0023】ディスク装置18には、図示のように、デ
ータ(DATA)とそのパリティ(PARITY)とか
ら構成されるストライプ(パリティグループ)が割り当
てられ、かつパリティ位置はストライプ毎にN+1台の
ディスク装置に移動される。すなわち、物理ストライプ
S0では、DISK0〜DISK3それぞれの同一位置
に割り当てられたストライプユニット上のデータ(DA
TA)群のパリティ(PARITY)は、DISK4の
対応するストライプユニット上に記録されるが、次の物
理ストライプS1においては、そのストライプS1のデ
ータに対応するパリティ(PARITY)はDISK3
の対応するストライプユニット上に記録される。このよ
うにパリティをストライプ単位でN+1台のディスク装
置に分散させることによって、パリティディスクへのア
クセスの集中を防止することができる。
As shown in the figure, a stripe (parity group) composed of data (DATA) and its parity (PARITY) is assigned to the disk unit 18, and the parity position is N + 1 disk units for each stripe. Moved to That is, in the physical stripe S0, data (DA) on the stripe unit allocated to the same position of each of DISK0 to DISK3.
The parity (PARITY) of the TA) group is recorded on the corresponding stripe unit of DISK4. In the next physical stripe S1, the parity (PARITY) corresponding to the data of the stripe S1 is DISK3.
Is recorded on the corresponding stripe unit. By dispersing the parity in the stripe units among the N + 1 disk devices in this way, it is possible to prevent the concentration of accesses to the parity disk.

【0024】RAIDブースタカード(RAID BO
OSTER)17は、ログ構造化ファイルシステム技術
を使用することによって、ディスク装置18に対する書
き込み性能を向上させるためのものであり、PCIスロ
ットに装着可能なPCI拡張カードとして実現されてい
る。ここで、図2を参照して、RAIDブースタカード
(RAID BOOSTER)17、およびオペレーテ
ィングシステム(OS)に組み込んで使用されるRAI
Dブースタカード制御用ドライバによる書き込み制御の
原理を説明する。
RAID booster card (RAID BO
The OSTER 17 is for improving the write performance to the disk device 18 by using the log structured file system technology, and is realized as a PCI expansion card that can be inserted into a PCI slot. Here, referring to FIG. 2, a RAID booster card (RAID BOOSTER) 17 and an RAI incorporated and used in an operating system (OS)
The principle of write control by the D booster card control driver will be described.

【0025】ログ構造化ファイルシステム技術を使用し
た書き込み方式では、ホストから書き込み要求された論
理アドレスに従ってデータ書き込み位置を決定するので
はなく、ホストから書き込み要求された順番で書き込み
データを蓄積することによって複数の書き込みデータの
ブロックから構成される大きなデータブロックを構成
し、その大きなデータブロックを一括してディスク装置
18の空き領域に順番に「まとめ書き」する。「まとめ
書き」の単位はストライプである。つまり、「まとめ書
き」の度にストライプを生成し、そこに複数の書き込み
データのブロックがシーケンシャルに書き込まれる。こ
れにより、ランダムなアクセスを、シーケンシャルなア
クセスに変換するとが出来る。
In the writing method using the log structured file system technology, the data writing position is not determined according to the logical address requested by the host to write, but by storing the writing data in the order requested by the host. A large data block composed of a plurality of blocks of write data is formed, and the large data block is collectively written in a free area of the disk device 18 in a batch. The unit of “collective writing” is a stripe. In other words, a stripe is generated each time “collective writing” is performed, and a plurality of blocks of write data are sequentially written therein. As a result, random access can be converted to sequential access.

【0026】図2は、ファイルシステムを介して送られ
来るアプリケーションプログラムからの書き込みデータ
のブロックデータサイズが2KB、1ストライプユニッ
トのデータサイズが64KB、1ストライプ(パリティ
グループ)分のデータサイズが256KB(=64KB
・4)の場合の例である。基本的には、256KB分の
データがRAIDブースタカード(RAID BOOS
TER)17に蓄積された時点で、ディスク装置18に
対する書き込みが一度にまとめて行われる。
FIG. 2 shows that the block data size of write data from the application program sent via the file system is 2 KB, the data size of one stripe unit is 64 KB, and the data size of one stripe (parity group) is 256 KB ( = 64 KB
・ This is an example of the case of 4). Basically, 256KB of data is stored in a RAID booster card (RAID BOOS
When the data is stored in the TER 17, writing to the disk device 18 is performed at once.

【0027】なお、ディスク装置18が単一のディスク
ドライブから構成されている場合であっても、例えば
「まとめ書き」の単位であるストライプを1シリンダと
することなどにより、ランダムなライトをシーケンシャ
ルなライトに変換するとが出来る。
Even when the disk device 18 is composed of a single disk drive, random writing can be performed sequentially by setting a stripe as a unit of "collective writing" to one cylinder. Can be converted to light.

【0028】RAIDブースタカード(RAID BO
OSTER)17は上述の「まとめ書き」制御のための
コントローラであり、ここには、図1に示されているよ
うに、ログメモリ(まとめ書きバッファ)171、およ
びアドレスマッピングテーブル172などが搭載されて
いる。
RAID booster card (RAID BO
OSTER) 17 is a controller for the above-mentioned "collective writing" control, and, as shown in FIG. 1, has a log memory (collective writing buffer) 171 and an address mapping table 172. ing.

【0029】まとめ書きバッファ171はアプリケーシ
ョンからの書き込みデータを蓄積するためのものであ
り、このまとめ書きバッファ171に1物理ストライプ
分の書き込みデータが蓄積された時点などに、ディスク
アレイ18への一括書き込みが行われる。
The collective write buffer 171 is for storing write data from the application. When the write data for one physical stripe is stored in the collective write buffer 171, the collective write buffer 171 collectively writes data to the disk array 18. Is performed.

【0030】アドレスマッピングテーブル172は、書
き込みデータの論理アドレスとディスクアレイ18上の
実際の書き込み位置との対応関係を管理するために使用
される。アドレスマッピングテーブル172によるアド
レスの管理は、所定サイズのデータブロック単位で行わ
れる。すなわち、アドレスマッピングテーブル172に
より、書き込み要求されたデータのブロック毎にその仮
想アドレス(論理ブロック番号)とそれに対応する物理
アドレス(物理ブロック番号)とが管理される。
The address mapping table 172 is used to manage the correspondence between the logical address of the write data and the actual write position on the disk array 18. The management of addresses by the address mapping table 172 is performed in data block units of a predetermined size. That is, the virtual address (logical block number) and the corresponding physical address (physical block number) are managed by the address mapping table 172 for each block of the data requested to be written.

【0031】ここで、RAIDブースタカード17を用
いた基本的なリード/ライト動作を説明する。
Here, a basic read / write operation using the RAID booster card 17 will be described.

【0032】リード要求が発生した際には以下のように
動作する。
When a read request is issued, the following operation is performed.

【0033】1)リード要求をデータの管理単位である
ブロックに分解する。
1) The read request is decomposed into blocks, which are data management units.

【0034】2)各ブロックについてアドレスマッピン
グテーブル172を索いて物理アドレスを求める。
2) The physical address is obtained by searching the address mapping table 172 for each block.

【0035】3)各ブロックについてディスクにリード
要求を発行する。
3) Issue a read request to the disk for each block.

【0036】また、ライト要求が発生した際には以下の
ように動作する。
When a write request is issued, the following operation is performed.

【0037】1)ライト要求をデータの管理単位である
ブロックに分解する。
1) The write request is decomposed into blocks, which are data management units.

【0038】2)各ブロックをまとめ書きバッファ17
1に書き込む。
2) Batch write buffer 17 for each block
Write to 1.

【0039】3)まとめ書きバッファ171に空き領域
がなくなった際に、内容をディスクの連続領域にライト
する。また、アドレスマッピングテーブル171の内容
を更新する。
3) When there is no more free space in the batch write buffer 171, the contents are written to a continuous area of the disk. Further, the contents of the address mapping table 171 are updated.

【0040】この書き込み方式では、ランダムライトを
まとめて1つの連続した領に書き込むため、ランダムラ
イトした領域については仮想アドレスが連続するブロッ
クが物理的に離れた(別々の)ストライプに含まれる結
果となる。このような領域に対するシーケンシャルリー
ドは物理的にランダムリードになり効率が悪い。このよ
うな状態を直すためには物理的にも連続にデータが並ぶ
ようにデータを並び替える必要がある。この処理をここ
では再配置処理と呼ぶことにする。
In this writing method, random writes are collectively written in one continuous area. Therefore, in a randomly written area, a result in which blocks having consecutive virtual addresses are included in physically separated (separate) stripes is obtained. Become. Sequential reading for such an area is physically random reading and is inefficient. In order to correct such a state, it is necessary to rearrange the data so that the data is physically continuously arranged. This processing will be referred to herein as relocation processing.

【0041】本実施形態による再配置処理では、リード
要求されたデータやライト要求されたデータがそのまま
データの並べ替えに使用される。以下、具体的に説明す
る。
In the rearrangement processing according to the present embodiment, the data requested to be read or the data requested to be written is used as it is for rearranging the data. Hereinafter, a specific description will be given.

【0042】(リード時の再配置処理#1)まず、図3
のフローチャートを参照して、リード要求が発生した際
の動作について説明する。
(Relocation Processing at Read Time # 1) First, FIG.
The operation when a read request occurs will be described with reference to the flowchart of FIG.

【0043】1)リード要求をデータの管理単位である
ブロックに分解する(ステップS101)。 2)各ブロックについてアドレスマッピングテーブル1
72を索いて物理アドレスを求める(ステップS10
2)。 3)各ブロックについてディスク装置18にリード要求
を発行する(ステップS103)。 4)1)でリード要求が複数のブロックに分解できた場
合には、ディスク装置18からリードしたデータをまと
め書きバッファ171にライトバックする。この時、各
ブロックの仮想アドレスが連続するようにライトする
(ステップS104)。
1) The read request is decomposed into blocks, which are data management units (step S101). 2) Address mapping table 1 for each block
72 to determine a physical address (step S10).
2). 3) A read request is issued to the disk device 18 for each block (step S103). 4) If the read request can be divided into a plurality of blocks in 1), the data read from the disk device 18 is written back to the collective write buffer 171. At this time, writing is performed so that the virtual addresses of each block are continuous (step S104).

【0044】この結果、まとめ書きバッファ171の内
容をディスク装置18にライトした際に、今回リードし
た、仮想アドレスが連続しているブロックが、物理アド
レスも連続して格納されることになる。
As a result, when the contents of the collective writing buffer 171 are written to the disk device 18, the block read this time and having continuous virtual addresses is also stored with the physical addresses continuously.

【0045】例えば、一回のリード要求で、仮想アドレ
スV2〜V3に対して要求があった場合を図4乃至図6
を用いて説明する。図4の状態で仮想アドレスV2〜V
3に対してリード要求があると以下のように処理され
る。
For example, FIG. 4 to FIG. 6 show a case where a single read request is issued to virtual addresses V2 to V3.
This will be described with reference to FIG. In the state of FIG. 4, virtual addresses V2 to V
When a read request is issued to the device No. 3, the process is performed as follows.

【0046】1)リード要求をV2とV3の2つのブロ
ックに分解する(Vi:仮想アドレス)。 2)アドレスマッピングテーブル171より、V2が物
理アドレスp5、V3が物理アドレスp81に格納され
ていることがわかる(pi:物理アドレス)。 3)ディスク装置18にp5とp81に格納されている
データのリード要求を発行する。 4)図5のように、p5とp81のリード結果をリード
要求元のバッファ201にライトすると共に、まとめ書
きバッファ171にもライトバックする。この時、各ブ
ロックの仮想アドレスが連続するようにする。 5)図6では、V100とV101のデータD100お
よびD101がライトされて空き領域が無くなったた
め、まとめ書きバッファ171の内容がディスク装置1
8にライトされる。また、アドレスマッピングテーブル
172の内容も変更される。これによって、V2とV3
は物理アドレスが連続した領域に格納される。
1) The read request is decomposed into two blocks, V2 and V3 (Vi: virtual address). 2) From the address mapping table 171, it can be seen that V2 is stored in the physical address p5 and V3 is stored in the physical address p81 (pi: physical address). 3) A request to read data stored in p5 and p81 is issued to the disk device 18. 4) As shown in FIG. 5, the read results of p5 and p81 are written in the buffer 201 that has issued the read request, and also written back to the collective write buffer 171. At this time, the virtual addresses of each block are made continuous. 5) In FIG. 6, since the data D100 and D101 of V100 and V101 have been written and there is no free space, the contents of the collective write buffer
8 is written. Also, the contents of the address mapping table 172 are changed. This allows V2 and V3
Is stored in the area where the physical addresses are continuous.

【0047】このように、仮想アドレスが連続した複数
のブロックに対してリード要求が発生した際には、要求
された複数のブロックをリード要求元に転送すると共
に、まとめ書きバッファ171を通じてディスク装置1
8に書き戻すことにより、仮想アドレスが連続している
データを物理アドレスも連続するようにディスク装置1
8に格納し直すことができる。また、その目的のためだ
けに、データをディスクからリードする必要がない。
As described above, when a read request is issued for a plurality of blocks having continuous virtual addresses, the requested plurality of blocks are transferred to the read request source, and the disk device 1
8 so that the data having the continuous virtual address is changed so that the physical address is also continuous.
8 can be stored again. Also, there is no need to read data from the disk just for that purpose.

【0048】仮想アドレスが連続しているデータが物理
アドレスでは連続していない場合、これは同一シリンダ
上に格納されていない可能性が高くなる。この場合に、
複数のブロックに対してリードアクセスが要求される
と、ディスクアクセスはランダムアクセスとなり、1つ
のブロックをリードする度にシークと回転待ちが必要と
なる。例えば、図4の状態で、V2とV3のブロックに
対するリード要求が発生した場合、p5とp81をリー
ドすることになる。これらが別シリンダに格納されてい
るとすると、p5とp81をリードするために2回のシ
ーク時間と回転待ち時間が必要となってしまう。
If data having continuous virtual addresses is not continuous at physical addresses, it is highly likely that the data is not stored on the same cylinder. In this case,
When read access is requested for a plurality of blocks, disk access becomes random access, and seek and rotation wait are required every time one block is read. For example, in the state of FIG. 4, if a read request is issued to the blocks V2 and V3, p5 and p81 are read. If these are stored in different cylinders, two seek times and a rotation waiting time are required to read p5 and p81.

【0049】対して、物理アドレスが連続していると、
ディスクの同一シリンダ上に格納される可能性が高くな
る。同一シリンダ上に格納された複数のブロックに対し
てリードアクセスする際は、シークと回転待ちの回数を
減らせる可能性がある。本発明によって図6の状態にし
た後、V2とV3のブロックに対するリード要求が発生
した場合には、p100とp101を連続的にリードす
ればよく(シーケンシャルリード)、1回のシーク時間
と回転待ち時間で済むことになる。
On the other hand, if the physical addresses are consecutive,
It is more likely to be stored on the same cylinder of the disk. When performing read access to a plurality of blocks stored on the same cylinder, the number of seeks and rotation waits may be reduced. After the state shown in FIG. 6 according to the present invention, when a read request for the blocks V2 and V3 occurs, it is only necessary to read p100 and p101 continuously (sequential read), one seek time and rotation wait. It takes time.

【0050】ディスク装置18では、転送するデータ量
が少ないとすると、1回のアクセス時間中で、シーク時
間や回転待ち時間等の機械系装置の動作時間が、占める
割合が高い。あるディスク装置を例にとると、2KByte
のデータをリードする場合に、データ転送時間が130
μsであるのに対して、シーク平均時間は5.2ms、
回転待ち平均時間は2.99msとなっている。そのた
め、本発明によって図4の状態から図6の状態にするこ
とにより得られる効果は大きい。
In the disk device 18, assuming that the amount of data to be transferred is small, the operating time of the mechanical device such as the seek time and the rotation waiting time occupies a high ratio in one access time. Taking a disk device as an example, 2KByte
Data read time is 130
μs, the seek average time is 5.2 ms,
The average rotation waiting time is 2.99 ms. Therefore, the effect obtained by changing the state of FIG. 4 to the state of FIG. 6 according to the present invention is great.

【0051】(リード時の再配置#2)図7は、リード
データの書き戻しによる再配置処理の第2の例を示すフ
ローチャートである。
(Relocation at Read # 2) FIG. 7 is a flowchart showing a second example of the relocation process by rewriting read data.

【0052】本例では、図3のステップS104の代わ
りに、次のようなステップS105の処理が行われる。
In this example, the following step S105 is performed instead of step S104 in FIG.

【0053】すなわち、前述のステップS104は以下
の通りであった。 4)1)でリード要求が複数のブロックに分解できた場
合には、ディスクからのリードしたデータをまとめ書き
バッファ171にライトバックする。この時、各ブロッ
クの仮想アドレスが連続するようにライトする(ステッ
プS104)。これを以下のようにする。
That is, step S104 described above was as follows. 4) If the read request can be divided into a plurality of blocks in 1), the data read from the disk is written back to the collective write buffer 171. At this time, writing is performed so that the virtual addresses of each block are continuous (step S104). This is done as follows.

【0054】4)1)でリード要求が複数のブロックに
分解できた場合には、ディスクからリードしたデータを
まとめ書きバッファ171にライトバックする。この
時、各ブロックを同一ストライプ内にライトバックする
(ステップS105)。
4) If the read request can be divided into a plurality of blocks in 1), the data read from the disk is written back to the collective write buffer 171. At this time, each block is written back in the same stripe (step S105).

【0055】ここで、一回のリード要求で、仮想アドレ
スV2〜V3に対して要求があった場合を例示して具体
的に説明する。
Here, a case where a single read request is made to the virtual addresses V2 to V3 will be specifically described by way of example.

【0056】仮想アドレスV2とV3のデータD5、D
81を、図8のようにまとめ書きバッファ171にライ
トバックしたとする。この状況は、例えば、D81のデ
ータが最初にディスク装置18からリードされ、D5の
データのリードが完了する前に、V1000のデータD
1000がライトされた場合等に発生する。
Data D5 and D of virtual addresses V2 and V3
Assume that 81 has been written back to the collective write buffer 171 as shown in FIG. This situation is, for example, that the data D81 is first read from the disk device 18 and the data D1000 of the V1000 is read before the reading of the data D5 is completed.
It occurs when 1000 is written.

【0057】その後、空き領域が無くなった等の理由
で、まとめ書きバッファ171の内容が図9のようにデ
ィスク装置18にライトされ、アドレスマッピングテー
ブル172の内容も変更される。
Thereafter, the contents of the collective write buffer 171 are written to the disk device 18 as shown in FIG. 9 because the free space is exhausted, and the contents of the address mapping table 172 are also changed.

【0058】図9の場合、図6の場合とは異なり、V2
とV3は物理アドレスが連続した領域に格納されていな
い。ところが、この場合でも同様のリード要求が発生し
た場合に、図4の状態に比べて次にようにリードアクセ
ス時間を短縮できる可能性がある。
In the case of FIG. 9, unlike the case of FIG.
And V3 are not stored in the area where the physical addresses are continuous. However, even in this case, when a similar read request occurs, there is a possibility that the read access time can be shortened as compared with the state of FIG.

【0059】a)異なるディスクドライブに格納された
場合 例えば、図5のディスク装置18が4台のディスクドラ
イブ0〜3から構成されたディスクアレイであった場合
を考える。各ディスクドライブ0〜3には、(物理アド
レス/ディスクドライブ番号)の剰余のブロックを格納
するものとする。この時、V2とV3のデータD5とD
81は別のディスクドライブに格納されている。そのた
め、これらのリード要求の際にストライピング技術を用
いることによって、図4の状態よりもディスクアクセス
時間を短縮できる可能性がある。
A) Case of storage in different disk drives For example, consider the case where the disk device 18 of FIG. 5 is a disk array composed of four disk drives 0 to 3. Each of the disk drives 0 to 3 stores a surplus block of (physical address / disk drive number). At this time, data D5 and D5 of V2 and V3
81 is stored in another disk drive. Therefore, by using the striping technique at the time of these read requests, there is a possibility that the disk access time can be reduced as compared with the state of FIG.

【0060】b)同一ディスクドライブに格納された場
合 例えば、D81とD5が、複数のディスクドライブから
構成されたディスクアレイの同一ディスクドライブ上に
格納された場合を考える。一般にディスクアレイのスト
ライプエレメント(1台のディスクドライブ上の複数の
ブロックからなる連続領域。複数のディスクドライブの
対応するストライプエレメントの組でストライプが構成
される。)は、アクセス高速化のため、同一シリンダ上
に配置される。そのため、D81とD5も同一シリンダ
上に配置される。この状態でV2とV3のリード要求が
発生した場合は、エレベータソート技術によって一回の
シークと回転待ちでディスクリードを行える可能性があ
る。その結果、ディスクアクセス時間を短縮できる可能
性がある。
B) Case in which D81 and D5 are stored in the same disk drive of a disk array composed of a plurality of disk drives. Generally, a stripe element of a disk array (a continuous area composed of a plurality of blocks on one disk drive; a stripe is formed by a set of corresponding stripe elements of a plurality of disk drives) is the same for speeding up access. It is arranged on a cylinder. Therefore, D81 and D5 are also arranged on the same cylinder. If a read request for V2 and V3 occurs in this state, there is a possibility that a disk read can be performed with a single seek and rotation wait by the elevator sort technique. As a result, there is a possibility that the disk access time can be reduced.

【0061】a)、b)いずれの場合も、本発明でライ
トバックする以前にa)、b)の状態にない場合は、本
発明によって、アクセス時間を改善できる可能性があ
る。
In both cases a) and b), if the state is not a) or b) before write-back in the present invention, the access time may be improved by the present invention.

【0062】(リード時の再配置処理#1,#2への適
用)次に、リード時の再配置処理#1,#2への適用例
について説明する。リード時の再配置処理#1,#2で
は、リードしたデータをまとめ書きバッファ171にラ
イトした。本例では、このライトを行う際に以下の条件
を付ける。
(Application to Relocation Processes # 1 and # 2 During Read) Next, an example of application to relocation processes # 1 and # 2 during read will be described. In the relocation processes # 1 and # 2 at the time of reading, the read data is written to the collective write buffer 171. In this example, the following conditions are set when performing this writing.

【0063】条件a)リード要求されたブロックが、物
理アドレスが連続して格納されていなかった場合に、ま
とめ書きバッファ171にライトする。
Condition a) If the physical address of the block requested to be read is not continuously stored, the block is written to the collective write buffer 171.

【0064】すなわち、図10のフローチャートに示さ
れているように、アドレスマッピングテーブル172を
用いて、リード要求されたブロックが、物理アドレスも
連続して格納されているかどうか判定する(ステップS
111)。そして、物理アドレスが連続して格納されて
いなかった場合にのみ、まとめ書きバッファ171への
ライトバックを行う(ステップS112)。
That is, as shown in the flowchart of FIG. 10, it is determined using the address mapping table 172 whether or not the read-requested block also stores the physical address continuously (step S).
111). Then, only when the physical addresses are not stored consecutively, write back to the collective write buffer 171 is performed (step S112).

【0065】例えば、図6の状態で、一回のリード要求
で、仮想アドレスV2〜V3に対して要求があった場合
は、まとめ書きバッファ171にはライトしない。これ
によって、ディスクアクセス時間を短縮できる場合のみ
に、リード時の再配置処理#1,#2を行うことができ
る。特に、ディスクの負荷が高い場合には、十分な効果
が得られる場合にのみ再配置処理#1,#2を行なう必
要があり、上述の条件a)はその選択基準とできる。
For example, in the state shown in FIG. 6, when there is a request for virtual addresses V2 to V3 in one read request, the data is not written in the collective write buffer 171. As a result, only when the disk access time can be reduced, the relocation processes # 1 and # 2 at the time of reading can be performed. In particular, when the load on the disk is high, the relocation processes # 1 and # 2 need to be performed only when a sufficient effect is obtained, and the above condition a) can be used as a selection criterion.

【0066】条件b)リード要求されたブロックが、同
一ストライプ内に格納されていなかった場合に、まとめ
書きバッファ171にライトする。
Condition b) If the block requested to be read is not stored in the same stripe, write to the collective write buffer 171.

【0067】すなわち、図11のフローチャートに示さ
れているように、アドレスマッピングテーブル172を
用いてリード要求されたブロックの物理アドレスを索
き、その結果から、各ブロックのディスク装置上の格納
位置を調べ、それが同一ストライプ内であるかを判定す
る(ステップS113)。そして、同一ストライプ内に
格納されていなかった場合にのみ、まとめ書きバッファ
171へのライトバックを行う(ステップS114)。
That is, as shown in the flowchart of FIG. 11, the physical address of the block requested to be read is searched using the address mapping table 172, and the storage position of each block on the disk device is determined from the result. A check is made to determine whether or not they are within the same stripe (step S113). Then, only when the data is not stored in the same stripe, write back to the collective write buffer 171 is performed (step S114).

【0068】例えば、図9の状態で、一回のリード要求
で、仮想アドレスV2〜V3に対して要求があった場合
は、これらが同一ストライプ内に格納されているため、
まとめ書きバッファ171にはライトしない。
For example, in the state shown in FIG. 9, if there is a request for virtual addresses V2 to V3 in one read request, these are stored in the same stripe.
It does not write to the batch write buffer 171.

【0069】これによって、ディスクアクセス時間を短
縮できる場合のみに、リード時の再配置処理#1,#2
を行うことができる。
As a result, only when the disk access time can be reduced, read rearrangement processes # 1 and # 2
It can be performed.

【0070】条件c)リード要求されたブロックが格納
されているストライプの有効ブロック数によって、ライ
トする/しないを判定する。
Condition c) Whether to write or not to write is determined based on the number of valid blocks in the stripe in which the block requested to be read is stored.

【0071】リード要求されたブロックを、リード時の
再配置処理#1,#2によってまとめ書きバッファ17
1にライトすると、それまで格納されていたブロックの
領域は無効となる。例えば、図5でのp5およびp81
のブロックは無効となる。そのようなブロックの領域
は、そのブロックが含まれるストライプ中の全てのブロ
ックが無効になるまで、新たなまとめ書きのための空き
ストライプとして使用できない。
The block requested to be read is subjected to the batch write buffer 17 by the rearrangement processes # 1 and # 2 at the time of reading.
When it is written to 1, the area of the block stored until then becomes invalid. For example, p5 and p81 in FIG.
Block becomes invalid. The area of such a block cannot be used as a free stripe for a new batch write until all blocks in the stripe containing the block become invalid.

【0072】例えば、p80〜p83が同一ストライプ
であったとすると、p80、p82、p83が無効にな
るまでp81は新たに使用できない。また、このストラ
イプの利用率は3/4となる。無効ブロックを含む利用
率が低いストライプが増えると、新たなライトを行うた
めの空きストライプが減ってゆき、延いては空きストラ
イプがなくなってしまう。その結果、RAID BOO
STER17では、無効なブロックを含む複数(M個)
のストライプ中の有効ブロックを1個以上(N個、N<
M)のストライプに詰め込んで、空きストライプを作る
処理(リパック処理)が必要となってしまう。このリパ
ック処理は、ディスクアクセスを伴うためにできるだけ
避けたい処理である。
For example, if p80 to p83 are the same stripe, p81 cannot be used until p80, p82 and p83 become invalid. Further, the utilization rate of this stripe is 3/4. As the number of stripes including an invalid block with a low utilization rate increases, the number of empty stripes for performing a new write decreases, and eventually, the number of empty stripes disappears. As a result, RAID BOO
In STER17, a plurality (M) including invalid blocks
1 or more effective blocks in the stripe (N, N <N
A process (packing process) for creating an empty stripe by packing into the M) stripes is required. This repacking process is a process that should be avoided as much as possible because it involves disk access.

【0073】そこで、まとめ書きバッファ171へのラ
イトバックを行う前に、図12のフローチャートに示さ
れているように、まず、リード要求されたブロックが格
納されているストライプの有効ブロック数を調べる(ス
テップS115)。これはアドレスマッピングテーブル
172を物理アドレスから索けば可能である。たとえ
ば、アドレスマッピングテーブル172で管理されてい
るブロック(有効ブロック)それぞれの物理アドレスの
値を、1ストライプを構成するブロック数で割ったとき
の商を求めることにより、各ブロックが格納されている
物理ストライプ番号を算出する。そして、リード要求さ
れたブロックが格納されている物理ストライプ番号と一
致するブロック数を調べることにより、有効ブロック数
を算出することができる。
Therefore, before writing back to the collective write buffer 171, first, as shown in the flowchart of FIG. 12, the number of effective blocks of the stripe storing the block requested to be read is checked ( Step S115). This can be done by searching the address mapping table 172 from the physical address. For example, the quotient obtained by dividing the value of the physical address of each block (valid block) managed by the address mapping table 172 by the number of blocks constituting one stripe is obtained, thereby obtaining the physical address in which each block is stored. Calculate the stripe number. Then, the number of valid blocks can be calculated by checking the number of blocks that match the physical stripe number in which the read requested block is stored.

【0074】もちろん、各ストライプ毎に有効ブロック
数の値を管理する専用のテーブルを用意しておき、ライ
トの度にさのテーブルの更新処理を行って常に最新の有
効ブロックの数を得られるようにしてもよい。
Of course, a dedicated table for managing the value of the number of valid blocks is prepared for each stripe, and the table is updated every time writing is performed so that the latest number of valid blocks can always be obtained. It may be.

【0075】そして、有効ブロック数が所定値X以上の
ストライプであるか否かを判断し(ステップS11
6)、有効ブロック数が所定値Xよりも少ないストライ
プであった場合にのみ、そのストライプから読み出され
たブロックをまとめ書きバッファ171へライトバック
する(ステップS117)。これにより、例えば全ての
ブロックが有効であるストライプに含まれていたブロッ
クはライトバックしない等の条件を付けることができる
ようになり、リパック処理の発生頻度を抑制することが
できる。
Then, it is determined whether or not the number of effective blocks is a stripe having a predetermined value X or more (step S11).
6) Only when the number of valid blocks is a stripe smaller than the predetermined value X, the blocks read from the stripe are written back to the collective write buffer 171 (step S117). As a result, for example, it is possible to set a condition such as not to write back a block included in a stripe in which all blocks are valid, and it is possible to suppress the occurrence frequency of the repacking process.

【0076】条件d)システムの負荷の状況によりライ
トする。
Condition d) Write according to the load status of the system.

【0077】CPU負荷、ディスクリード負荷、ディス
クライト負荷、ディスクリード/ライト負荷等の状況を
観測する手段を用意する。これらが、ある一定以上であ
った場合は、リード時の再配置処理#1,#2は行わな
い。
A means is provided for observing conditions such as CPU load, disk read load, disk write load, disk read / write load, and the like. If these are equal to or more than a certain value, the rearrangement processes # 1 and # 2 at the time of reading are not performed.

【0078】即ち、図13のフローチャートに示されて
いるように、例えばディスクリード/ライトの負荷が高
いか否かによってシステム負荷の状況を判断し(ステッ
プS118)、負荷が小さい場合にのみ、まとめ書きバ
ッファ171へのリードデータのライトバックを実行す
る(ステップS119)。ディスクアクセスが頻発して
いる際に再配置処理#1,#2を行うと、かえって性能
を低下させてしまう可能性があるが、上記条件d)の適
用により、この問題を回避することができる。
That is, as shown in the flowchart of FIG. 13, the status of the system load is determined based on, for example, whether or not the load of disk read / write is high (step S118). The write-back of the read data to the write buffer 171 is executed (Step S119). If the relocation processes # 1 and # 2 are performed during frequent disk accesses, the performance may be degraded. However, by applying the above condition d), this problem can be avoided. .

【0079】なお、再配置処理#1,#2では、リード
要求されたデータをまとめ書きバッファ171にライト
したが、ディスク装置18へのライトバック専用のバッ
ファを設け、そのバッファを介してディスク装置18へ
のライトバックを行うようにしても良い。
In the relocation processes # 1 and # 2, the read-requested data is written to the collective write buffer 171. However, a buffer dedicated to writing back to the disk device 18 is provided, and the disk device is connected via the buffer. The write-back to 18 may be performed.

【0080】(ライト時の再配置処理#3)次に、図1
4のフローチャートを参照して、ライト時の再配置処理
#3について説明する。ライト要求が発生した際には、
以下のように動作する。 1)ライト要求をデータの管理単位であるブロックに分
解する(ステップS201)。 2)各ブロックをまとめ書きバッファ171にライトす
る(ステップS202)。 3)ライト要求されたブロックと仮想アドレスが連続し
ているブロックを1つ以上リードするディスクリードを
発行する(ステップS203)。 4)仮想アドレスが連続している、ライト要求によりラ
イトしたブロックと3)でリード要求したブロックを、
物理アドレスが連続するようにまとめ書きバッファ17
1にライトする(ステップS204)。
(Relocation Process at Write Time # 3) Next, FIG.
The relocation process # 3 at the time of writing will be described with reference to the flowchart of FIG. When a write request occurs,
It works as follows. 1) The write request is decomposed into blocks, which are data management units (step S201). 2) Write each block to the batch write buffer 171 (step S202). 3) Issue a disk read to read one or more blocks whose virtual addresses are continuous with the block for which the write request was made (step S203). 4) A block in which the virtual address is continuous and which is written by the write request and a block in which the read is requested in 3) are
Batch write buffer 17 so that physical addresses are continuous
Write 1 (step S204).

【0081】この結果、まとめ書きバッファ171の内
容をディスク装置18にライトした際に、今回ライト要
求があったブロックに加えて、新たにリードした仮想ア
ドレスが連続しているブロックが、物理アドレスも連続
して格納されることになる。
As a result, when the contents of the collective write buffer 171 are written to the disk device 18, in addition to the block for which the write request has been made this time, the block in which the newly read virtual address is continuous has the physical address. It will be stored continuously.

【0082】例えば、一回のライト要求で、仮想アドレ
スV2〜V3に対して要求があった場合を図15乃至図
18を用いて説明する。図15の状態で仮想アドレスV
2〜V3に対してライト要求があると以下のように処理
される。
For example, a case where there is a request for virtual addresses V2 to V3 in one write request will be described with reference to FIGS. The virtual address V in the state of FIG.
When there is a write request for 2 to V3, the processing is performed as follows.

【0083】1)ライト要求をV2とV3の2つのブロ
ックに分解する。 2)ライト要求元バッファ301の内容をまとめ書きバ
ッファ171にライトする。 3)ライト要求されたデータの仮想アドレスと連続して
いる、V4およびV5のブロックの物理アドレスをアド
レスマッピングテーブル171により索く。V4、V5
は各々p3、p83であるので、それらのディスクリー
ドを発行する。
1) Decompose a write request into two blocks, V2 and V3. 2) Write the contents of the write request source buffer 301 to the collective write buffer 171. 3) The physical addresses of the V4 and V5 blocks, which are continuous with the virtual address of the data requested to be written, are found from the address mapping table 171. V4, V5
Are p3 and p83, respectively, and issue their disk reads.

【0084】4)D1000、D1001とD3、D8
3を、図16に示すように、物理アドレスが連続するよ
うにまとめ書きバッファ171にライトする。 5)空き領域が無くなった等の理由でまとめ書きバッフ
ァ171の内容が、図17に示すように、ディスク装置
18にライトされる。また、アドレスマッピングテーブ
ル171の内容も変更される。これによって、V2〜V
4は物理アドレスが連続した領域に格納される。
4) D1000, D1001 and D3, D8
3 is written to the collective write buffer 171 so that the physical addresses are continuous as shown in FIG. 5) The contents of the collective write buffer 171 are written to the disk device 18 as shown in FIG. Also, the contents of the address mapping table 171 are changed. As a result, V2 to V
4 is stored in an area where the physical addresses are continuous.

【0085】本処理により、仮想アドレスが連続してい
るデータを物理アドレスも連続するようにディスクに格
納し直すことができる。また、その目的のために、ライ
ト要求があったデータも用いるため、全てのデータをデ
ィスクからリードする必要がない。仮想アドレスが連続
しているデータを物理アドレスも連続するようにディス
クに格納することの利点は上述した通りである。
According to this processing, data with continuous virtual addresses can be stored again on the disk so that physical addresses are also continuous. Further, for that purpose, data for which a write request has been made is used, so that it is not necessary to read all data from the disk. The advantage of storing data having continuous virtual addresses on a disk so that physical addresses are also continuous is as described above.

【0086】次に、ライトデータを用いた再配置処理#
1に対する適用例について説明する。 a)上述の例では、データをまとめ書きバッファ171
にライトバックする際に、物理アドレスが連続するよう
に書き込んだが、リードデータを用いた再配置処理#2
の場合と同様に、各ブロックを同一ストライプ内にライ
トバックするようにしてもよい。
Next, relocation processing using write data #
An example of application to No. 1 will be described. a) In the above-described example, the data is collectively written into the buffer 171.
When writing back, the physical address is written so as to be continuous, but relocation processing using read data # 2
Similarly to the above case, each block may be written back in the same stripe.

【0087】b)ライト要求と仮想アドレスが連続して
いるブロックを1つ以上リードするディスクリードを発
行するか否かを以下の条件で判定する。
B) It is determined under the following conditions whether or not to issue a disk read for reading one or more blocks in which a write request and a virtual address are continuous.

【0088】b−a)ライト要求が発生した際に、ライ
トするブロックと仮想アドレスが連続しているブロック
に注目する。そのブロックが、それと仮想アドレスが連
続している他のブロックと物理アドレスも連続して格納
されていない場合に、ディスクリードを発行する。すな
わち、アドレスマッピングテーブル172を用いて、ラ
イト要求されたブロックと仮想アドレスが連続している
1以上のブロックを調べ、それら調べられたブロックが
物理アドレスが連続して格納されているかどうか判定す
る。そして、物理アドレスが連続して格納されていなか
った場合にのみ、ディスクリードを発行する。
B-a) When a write request is issued, attention is paid to a block in which a block to be written and a virtual address are continuous. A disk read is issued when the physical address of the block is not consecutively stored with another block having a virtual address continuous with the block. That is, by using the address mapping table 172, one or more blocks in which the write-requested block and the virtual address are continuous are checked, and it is determined whether the checked block stores the physical address continuously. Then, a disk read is issued only when the physical address is not stored continuously.

【0089】b−b)ライト要求が発生した際に、ライ
トするブロックと仮想アドレスが連続しているブロック
に注目する。そのブロックが、それと仮想アドレスが連
続している他のブロックと、同一ストライプ上に格納さ
れていない場合に、ディスクリードを発行する。すなわ
ち、アドレスマッピングテーブル172を用いて、ライ
ト要求されたブロックと仮想アドレスが連続している1
以上のブロックを調べ、それら調べられたブロックが同
一ストライプ内に格納されているかどうか判定する。そ
して、同一ストライプ内に格納されていなかった場合に
のみ、ディスクリードを発行する。
Bb) When a write request is issued, attention is paid to a block in which a write address and a virtual address are continuous. If the block is not stored on the same stripe as another block whose virtual address is continuous with the block, a disk read is issued. In other words, using the address mapping table 172, the block where the write request is made and the virtual address
The above blocks are checked to determine whether the checked blocks are stored in the same stripe. Then, a disk read is issued only when the data is not stored in the same stripe.

【0090】b−c)ライト要求が発生した際に、ライ
ト要求と仮想アドレスが連続しているブロックに注目。
仮想アドレスが連続しているブロックが格納されている
ストライプの有効ブロック数によって、ディスクリード
を発行する。すなわち、アドレスマッピングテーブル1
72を用いて、ライト要求されたブロックと仮想アドレ
スが連続しているブロックを調べ、その調べられたブロ
ックが格納されているストライプの有効ブロック数を判
定する。そして、例えば全てのブロックが有効であるス
トライプであった場合には、ディスクリードを発行しな
い。
Bc) When a write request is generated, pay attention to a block in which the write request and the virtual address are continuous.
A disk read is issued according to the number of effective blocks in a stripe in which blocks having consecutive virtual addresses are stored. That is, the address mapping table 1
Using 72, a block in which the write-requested block and the virtual address are continuous is checked, and the number of valid blocks in the stripe in which the checked block is stored is determined. Then, for example, if all the blocks are valid stripes, no disk read is issued.

【0091】b−d)システムの負荷の状況によりディ
スクリードを発行する。
Bd) Issue a disk read according to the status of the system load.

【0092】すなわち、例えばディスクリード/ライト
の負荷が高いか否かによってシステム負荷の状況を判断
し、負荷が小さい場合にのみ、ディスクリードを発行す
るようにする。
That is, the state of the system load is determined based on, for example, whether the load of the disk read / write is high, and the disk read is issued only when the load is small.

【0093】これらb−a)〜b−d)の条件により、
リードデータによる再配置処理で説明した各条件の場合
と同様の効果を得ることができる。
Under these conditions of ba) to bd),
The same effect as in the case of each condition described in the rearrangement processing using read data can be obtained.

【0094】また、ライト要求があったデータをディス
クにライトしなければならなくなった際に、リード要求
が完了しているブロックのリードデータのみを、ディス
ク装置18にライトバックすることが好ましい。つま
り、まとめ書きバッファ171からディスク装置18へ
の書き込みが必要とされた時点までに、ディスク装置1
8からのリード処理が完了したブロックのみをライトバ
ックする。これにより、要求されたライト処理の完了
が、リード処理のために遅れることを防ぐことができ
る。これは、特にディスク装置18の負荷が高いときに
有効である。
When it is necessary to write the data requested to be written to the disk, it is preferable to write back only the read data of the block for which the read request has been completed to the disk device 18. In other words, by the time writing from the collective write buffer 171 to the disk device 18 is required, the disk device 1
Only the blocks for which read processing from step 8 has been completed are written back. This can prevent the completion of the requested write processing from being delayed due to the read processing. This is particularly effective when the load on the disk device 18 is high.

【0095】(デフラグバッファを用いた再配置処理#
4)次に、デフラグバッファを用いた再配置処理#4に
ついて説明する。本例では、仮想アドレスが連続してい
るブロックを物理アドレスも連続するようにディスクに
ライトバックするため、複数のブロックを一時的に保持
するバッファを用意する。ここではそれをデフラグバッ
ファと呼ぶことにする。これを図18に示す。図18に
示されているように、RAID BOOSTER17に
は、デフラグバッファ173が設けられている。このデ
フラグバッファ173は、再配置処理のみならず、リー
ド処理の高速化のためのキャッシュとしても利用され
る。
(Relocation processing using defragmentation buffer #
4) Next, the relocation processing # 4 using the defragmentation buffer will be described. In this example, a buffer for temporarily holding a plurality of blocks is prepared in order to write back a block in which virtual addresses are continuous to a disk so that physical addresses are also continuous. Here, it is called a defragmentation buffer. This is shown in FIG. As shown in FIG. 18, the RAID BOOSTER 17 is provided with a defragmentation buffer 173. The defragment buffer 173 is used as a cache for speeding up read processing as well as relocation processing.

【0096】以下、リードおよびライト要求が発生した
場合の動作を図19のフローチャートを参照して説明す
る。
The operation when a read and write request has occurred will be described below with reference to the flowchart of FIG.

【0097】1)リード要求あるいはライト要求が発生
した場合、リードデータあるいはライトデータのコピー
をデフラグバッファ173に書き込む(ステップS21
1)。デフラグバッファ173は上述のようにキャッシ
ュとしても使う。 2)デフラグバッファ173上に一定数以上の有効ブロ
ックが格納された等をトリガとして、デフラグバッファ
173内の仮想アドレスが連続している有効ブロックを
物理アドレスも連続するようにディスク装置18にライ
トバックする(ステップS212)。
1) When a read request or a write request occurs, a copy of the read data or the write data is written to the defragment buffer 173 (step S21).
1). The defrag buffer 173 is also used as a cache as described above. 2) When a fixed number or more of valid blocks are stored in the defragment buffer 173 as a trigger, the valid blocks in the defrag buffer 173 where the virtual addresses are continuous are written back to the disk device 18 so that the physical addresses are also continuous. (Step S212).

【0098】以下では、図18の状態で、V2、V3に
ライト要求が発生した場合の例を図20を用いて説明す
る。 1)ライト要求をV2とV3の2つのブロックに分解す
る。 2)ライト要求元バッファ301の内容をまとめ書きバ
ッファ171とデフラグバッファ173にライトする。 3)デフラグバッファ173上に一定数以上の有効ブロ
ックが格納された等とトリガとして、次の処理を行う。
デフラグバッファ173内のブロックで仮想アドレスが
連続しているブロックV2、V3およびV100、V1
01を、図21に示すように、各々物理アドレスも連続
するようにディスク装置18にライトバックする。ま
た、アドレスマッピングテーブル172も更新する。
Hereinafter, an example in which a write request is issued to V2 and V3 in the state of FIG. 18 will be described with reference to FIG. 1) Break the write request into two blocks, V2 and V3. 2) Write the contents of the write request source buffer 301 to the collective write buffer 171 and the defrag buffer 173. 3) The following processing is performed as a trigger when a certain number or more of effective blocks are stored in the defragmentation buffer 173 or the like.
Blocks V2, V3 and V100, V1 in the defragment buffer 173 where virtual addresses are continuous.
01 is written back to the disk device 18 so that each physical address is also continuous as shown in FIG. Also, the address mapping table 172 is updated.

【0099】本例によると、仮想アドレスが連続してい
るデータを物理アドレスも連続するようにディスク装置
18に格納し直すことができる。また、再配置処理#1
〜#3に比べ、デフラグバッファ173を用いるので、
RAID BOOSTER17本来のまとめ書き動作に
与える影響が少ない。また、デフラグバッファ173に
は、複数回のリードおよびライト要求されたデータを格
納できるため、複数回のアクセスに渡って仮想アドレス
の連続性を見ることができる。これは、データアクセス
にローカリティがある場合やディスクのバックアップ等
で連続的にシーケンシャルアクセスが行われる際に、特
に有効となる。
According to this example, data having continuous virtual addresses can be stored again in the disk device 18 so that physical addresses are also continuous. Also, relocation processing # 1
Since # 3 uses the defragmentation buffer 173,
The effect on the original collective write operation of the RAID BOOSTER 17 is small. Further, since the defragment buffer 173 can store data requested to be read and written a plurality of times, the continuity of the virtual address can be seen over a plurality of accesses. This is particularly effective when there is locality in data access or when sequential access is performed continuously for backup of a disk or the like.

【0100】(デフラグバッファを用いた再配置処理#
4への適用)次に、デフラグバッファを用いた再配置処
理#4への適用例について説明する。 a)リード要求が発生した際に、要求されたブロックと
仮想アドレスが連続しているブロックの先読みを発行す
る。リード要求されたブロックと先読みしたブロックを
デフラグバッファ173に書き込んでおく。すなわち、
図22のフローチャートに示されているように、リード
要求が発生した場合には(ステップS221のYE
S)、リード要求と仮想アドレスが連続しているブロッ
クをアドレスマッピングテーブル172を参照して調
べ、リード要求されたブロックをリードすると共に、仮
想アドレスが連続しているブロックの先読みも実行する
(ステップS222)。そして、リード要求されたブロ
ックと、先読みしたブロックをデフラグバッファ173
に書き込む(ステップS223)。
(Relocation processing using defragmentation buffer #
Next, an example of application to relocation processing # 4 using a defragmentation buffer will be described. a) When a read request is issued, a prefetch of a block in which a virtual address is continuous with a requested block is issued. The read-requested block and the pre-read block are written in the defrag buffer 173. That is,
As shown in the flowchart of FIG. 22, when a read request occurs (YE in step S221).
S): A block in which the read request and the virtual address are continuous is checked with reference to the address mapping table 172, and the read-requested block is read, and the prefetch of the block in which the virtual address is continuous is executed (step S). S222). Then, the read-requested block and the pre-read block are stored in the defragmentation buffer 173.
(Step S223).

【0101】これにより、仮想アドレスが連続してい
る、より多くのブロックを物理アドレスも連続させて格
納することができる。また、先読み効果も期待できる。
なお、先読み処理はリード時の再配置処理にも適用する
ことができる。
As a result, it is possible to store a larger number of blocks having consecutive virtual addresses with the physical addresses also being consecutive. Also, a look-ahead effect can be expected.
Note that the pre-reading process can be applied to the rearrangement process at the time of reading.

【0102】b)ライト要求が発生した際に、ライトす
るブロックの仮想アドレスと連続している複数のブロッ
クをリードする。ライトするブロックとリードしたブロ
ックをデフラグバッファ173に書き込む。すなわち、
図23のフローチャートに示されているように、ライト
要求が発生した場合には(ステップS231のYE
S)、ライト要求と仮想アドレスが連続している各ブロ
ックの物理アドレスをアドレスマッピングテーブル17
2を参照して調べ、それらブロックをディスク装置18
からリードする(ステップS232)。そして、ライト
要求されたブロックと、リードした各ブロックをデフラ
グバッファ173に書き込む(ステップS234)。
B) When a write request occurs, a plurality of blocks that are continuous with the virtual address of the block to be written are read. The block to be written and the read block are written to the defragment buffer 173. That is,
As shown in the flowchart of FIG. 23, when a write request occurs (YE in step S231).
S) The physical address of each block in which the write request and the virtual address are continuous is stored in the address mapping table 17.
2 and check those blocks and store them in the disk drive 18.
(Step S232). Then, the write requested block and each read block are written to the defragment buffer 173 (step S234).

【0103】これにより、仮想アドレスが連続してい
る、より多くのブロックを物理アドレスも連続させて格
納することができる。また、キャッシュ効果も期待でき
る。
As a result, more blocks with continuous virtual addresses can be stored with their physical addresses also being contiguous. In addition, a cache effect can be expected.

【0104】c)デフラグバッファ173内の仮想アド
レスが連続しているブロックをライトバックする際に、
同一ストライプ内にライトバックする。上述した通り、
物理アドレスが連続していなくても、ディスクアクセス
時間を短縮できる可能性がある。
C) When writing back a block in the defragmentation buffer 173 where virtual addresses are continuous,
Write back in the same stripe. As mentioned above,
Even if the physical addresses are not consecutive, there is a possibility that the disk access time can be reduced.

【0105】d) a)の場合にリード要求されたブロ
ックと、それと仮想アドレスが連続しているブロックと
に注目する。これら各ブロックが、それと仮想アドレス
が連続しているブロックと物理アドレスも連続するよう
に格納されていないこと、あるいは、仮想アドレスが連
続しているブロックと同一ストライプに格納されていな
いことを条件に、先読みを行い、デフラグバッファ17
3に書き込む。
D) Attention is paid to the block requested to be read in the case of a) and the block where the virtual address is continuous with the block. On the condition that each of these blocks is not stored in such a way that the physical address and the block in which the virtual address is continuous are also stored in the same stripe, or that these blocks are not stored in the same stripe as the block in which the virtual address is continuous. , Read ahead, and defrag buffer 17
Write to 3.

【0106】e) b)の場合にライト要求されたブロ
ックと仮想アドレスが連続しているブロックに注目す
る。このブロックが、それと仮想アドレスが連続してい
るブロックと物理アドレスも連続するように格納されて
いないこと、あるいは、仮想アドレスが連続しているブ
ロックと同一ストライプに格納されていないことを条件
に、リードしてデフラグバッファ173に書き込む。
E) In the case of b), attention is paid to the block whose virtual address is continuous with the block for which the write request is made. On the condition that this block is not stored in such a manner that the physical address and the block in which the virtual address is continuous are also stored in a continuous manner, or that the block is not stored in the same stripe as the block in which the virtual address is continuous. Read and write to the defrag buffer 173.

【0107】f)システムの負荷に応じて、デフラグバ
ッファ173内で仮想アドレスが連続しているブロック
をディスク装置18にライトバックする。負荷が高い場
合には、デフラグバッファ173が一杯になると、適宜
データを捨てる。また、a)およびb)の処理もシステ
ムが高負荷状態の場合は実行しない。
F) Write back blocks in the defragmentation buffer 173 having continuous virtual addresses to the disk device 18 according to the load of the system. When the load is high, when the defragmentation buffer 173 is full, the data is appropriately discarded. Further, the processes a) and b) are not executed when the system is in a high load state.

【0108】g)システムのメモリ使用量に応じて、デ
フラグバッファ173のサイズを動的に変更する。これ
は、特に主メモリ13の記憶領域を用いてデフラグバッ
ファ173を構成した場合に好適である。もちろん、R
AID BOOSTER17の動作は内蔵のプロセッサ
によって制御されるものであるので、RAID BOO
STER17内のメモリ使用量に応じて、デフラグバッ
ファ173のサイズを動的に変更してもよい。どちらの
場合も、空きメモリが多い場合は、デフラグバッファ1
73のサイズを大きくして、効果を大きくすることがで
きる。空きメモリが少ない場合は、デフラグバッファ1
73のサイズを小さくして、他の部分の処理を優先させ
ることができる。
G) The size of the defragment buffer 173 is dynamically changed according to the memory usage of the system. This is particularly suitable when the defragment buffer 173 is configured using the storage area of the main memory 13. Of course, R
Since the operation of the AID BOOSTER 17 is controlled by the built-in processor, the RAID BOO
The size of the defragment buffer 173 may be dynamically changed according to the memory usage in the STER 17. In either case, if there is a lot of free memory, defrag buffer 1
By increasing the size of 73, the effect can be enhanced. If there is little free memory, defrag buffer 1
By reducing the size of 73, it is possible to give priority to the processing of other parts.

【0109】[0109]

【発明の効果】以上説明したように、本発明によれば、
リード要求されたデータやライト要求されたデータを利
用することにより、効率よくデータの再配置処理を行う
ことができ、少ない負荷で、読み出し性能の大幅な向上
を図ることが可能となる。
As described above, according to the present invention,
By using the data requested to be read or the data requested to be written, data can be efficiently rearranged, and the read performance can be greatly improved with a small load.

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

【図1】本発明の一実施形態に係る計算機システムの構
成を示すブロック図。
FIG. 1 is a block diagram showing a configuration of a computer system according to an embodiment of the present invention.

【図2】同実施形態の計算機システムに設けられたディ
スク装置に対する書き込み処理の原理を説明するための
図。
FIG. 2 is an exemplary view for explaining the principle of a writing process to a disk device provided in the computer system of the embodiment.

【図3】同実施形態の計算機システムに設けられたディ
スク装置に適用される第1のデータ再配置処理の手順を
説明するフローチャート。
FIG. 3 is an exemplary flowchart illustrating the procedure of a first data relocation process applied to a disk device provided in the computer system of the embodiment.

【図4】図3のデータ再配置処理によるデータ並べ替え
動作を説明するための第1の図。
FIG. 4 is a first diagram for explaining a data rearrangement operation by the data rearrangement processing of FIG. 3;

【図5】図3のデータ再配置処理によるデータ並べ替え
動作を説明するための第2の図。
FIG. 5 is a second diagram for explaining a data rearrangement operation by the data rearrangement processing of FIG. 3;

【図6】図3のデータ再配置処理によるデータ並べ替え
動作を説明するための第3の図。
FIG. 6 is a third diagram for explaining a data rearranging operation by the data rearrangement processing of FIG. 3;

【図7】同実施形態の計算機システムに設けられたディ
スク装置に適用される第2のデータ再配置処理の手順を
説明するフローチャート。
FIG. 7 is an exemplary flowchart illustrating the procedure of a second data relocation process applied to the disk device provided in the computer system of the embodiment.

【図8】図7のデータ再配置処理によるデータ並べ替え
動作を説明するための第1の図。
FIG. 8 is a first diagram for explaining a data rearrangement operation by the data rearrangement processing of FIG. 7;

【図9】図7のデータ再配置処理によるデータ並べ替え
動作を説明するための第2の図。
FIG. 9 is a second diagram for explaining a data rearranging operation by the data rearrangement process of FIG. 7;

【図10】図3および図7の各データ再配置処理の実行
の有無を決定するための判定処理の手順を示すフローチ
ャート。
FIG. 10 is a flowchart showing a procedure of a determination process for determining whether or not each data relocation process of FIGS. 3 and 7 is to be performed;

【図11】図3および図7の各データ再配置処理の実行
の有無を決定するための判定処理の他の手順を示すフロ
ーチャート。
FIG. 11 is a flowchart showing another procedure of the determination processing for determining whether or not each data relocation processing of FIGS. 3 and 7 is to be executed;

【図12】図3および図7の各データ再配置処理の実行
の有無を決定するための判定処理のさらに他の手順を示
すフローチャート。
FIG. 12 is a flowchart showing still another procedure of a determination process for determining whether or not to execute each data relocation process of FIGS. 3 and 7;

【図13】図3および図7の各データ再配置処理の実行
の有無を決定するための判定処理の別の手順を示すフロ
ーチャート。
FIG. 13 is a flowchart illustrating another procedure of a determination process for determining whether or not each data relocation process of FIGS. 3 and 7 is to be performed;

【図14】同実施形態の計算機システムに設けられたデ
ィスク装置に適用される第3のデータ再配置処理の手順
を説明するフローチャート。
FIG. 14 is an exemplary flowchart explaining the procedure of a third data relocation process applied to the disk device provided in the computer system of the embodiment.

【図15】図14のデータ再配置処理によるデータ並べ
替え動作を説明するための第1の図。
FIG. 15 is a first diagram for explaining a data rearrangement operation by the data rearrangement processing of FIG. 14;

【図16】図14のデータ再配置処理によるデータ並べ
替え動作を説明するための第2の図。
FIG. 16 is a second diagram for explaining a data rearranging operation by the data rearrangement processing of FIG. 14;

【図17】図14のデータ再配置処理によるデータ並べ
替え動作を説明するための第3の図。
FIG. 17 is a third diagram for explaining the data rearranging operation by the data rearrangement process of FIG. 14;

【図18】同実施形態の計算機システムに設けられたデ
ィスク装置に適用される第4のデータ再配置処理を行う
ための機能構成を示すブロック図。
FIG. 18 is an exemplary block diagram showing a functional configuration for performing a fourth data relocation process applied to a disk device provided in the computer system of the embodiment.

【図19】同実施形態の計算機システムに設けられたデ
ィスク装置に適用される第4のデータ再配置処理の手順
を説明するフローチャート。
FIG. 19 is an exemplary flowchart explaining the procedure of fourth data relocation processing applied to the disk device provided in the computer system of the embodiment.

【図20】図19のデータ再配置処理によるデータ並べ
替え動作を説明するための第1の図。
20 is a first diagram for explaining a data rearranging operation by the data rearrangement processing of FIG. 19;

【図21】図19のデータ再配置処理によるデータ並べ
替え動作を説明するための第2の図。
FIG. 21 is a second diagram for explaining the data rearranging operation by the data rearrangement process of FIG. 19;

【図22】図19のデータ再配置処理の実行の有無を決
定するための判定処理の手順を示すフローチャート。
FIG. 22 is a flowchart showing the procedure of a determination process for determining whether or not to execute the data relocation process of FIG. 19;

【図23】図19のデータ再配置処理の実行の有無を決
定するための判定処理の他の手順を示すフローチャー
ト。
FIG. 23 is a flowchart showing another procedure of the determination processing for determining whether or not to execute the data relocation processing of FIG. 19;

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

11…CPU 13…主メモリ 16…RAIDコントローラ 17…RAIDブースタ 171…ログメモリ(まとめ書きバッファ) 172…アドレスマッピングテーブル 173…デフラグバッファ DESCRIPTION OF SYMBOLS 11 ... CPU 13 ... Main memory 16 ... RAID controller 17 ... RAID booster 171 ... Log memory (batch writing buffer) 172 ... Address mapping table 173 ... Defrag buffer

Claims (19)

【特許請求の範囲】[Claims] 【請求項1】 書き込みデータをバッファに蓄積し、前
記バッファに蓄積された複数の書き込みデータのブロッ
クを、ディスク装置の連続した記憶領域から構成される
ストライプ単位で前記ディスク装置にまとめ書きするロ
グ構造化書き込み方式のディスク制御システムであっ
て、 仮想アドレスが連続した複数のブロックに対してリード
要求が発生した際に、要求された複数のブロックをリー
ド要求元に転送すると共に、前記複数のブロックを物理
アドレスが連続するように、あるいは同一ストライプ内
に格納されるように前記ディスク装置に書き戻す制御手
段を具備することを特徴とするディスク制御システム。
1. A log structure for accumulating write data in a buffer, and collectively writing a plurality of blocks of the write data accumulated in the buffer to the disk device in stripe units composed of a continuous storage area of the disk device. When a read request is issued to a plurality of blocks having continuous virtual addresses, the requested plurality of blocks are transferred to a read request source, and the plurality of blocks are transferred to the read request source. A disk control system comprising control means for writing back to the disk device so that physical addresses are continuous or stored in the same stripe.
【請求項2】 前記制御手段は、前記複数のブロックを
前記バッファに書き込む手段を含み、 前記バッファを介して前記ディスク装置への書き戻しが
行われることを特徴とする請求項1記載のディスク制御
システム。
2. The disk control according to claim 1, wherein said control means includes means for writing said plurality of blocks to said buffer, and writing back to said disk device is performed via said buffer. system.
【請求項3】 前記制御手段は、リード要求されたブロ
ックが、物理アドレスが連続した状態で前記ディスク装
置に格納されていない場合に、前記書き戻しのための処
理を行うことを特徴とする請求項1記載のディスク制御
システム。
3. The method according to claim 1, wherein the control unit performs the write-back process when the read-requested block is not stored in the disk device in a state where the physical addresses are continuous. Item 2. The disk control system according to Item 1.
【請求項4】 前記制御手段は、リード要求されたブロ
ックが、前記ディスク装置の同一ストライプ上に格納さ
れていない場合に、前記書き戻しのための処理を行うこ
とを特徴とする請求項1記載のディスク制御システム。
4. The system according to claim 1, wherein the control unit performs the write-back process when the block requested to be read is not stored on the same stripe of the disk device. Disk control system.
【請求項5】 リード要求されたブロックが格納されて
いるストライプ内の有効ブロック数を検出し、その検出
された有効ブロック数に応じて前記制御手段による書き
戻し処理を行うか否かを決定する手段をさらに具備する
ことを特徴とする請求項1記載のディスク制御システ
ム。
5. A method for detecting the number of valid blocks in a stripe in which a block requested to be read is stored, and determining whether or not to perform a write-back process by the control unit according to the detected number of valid blocks. 2. The disk control system according to claim 1, further comprising means.
【請求項6】 前記ディスク装置に関する負荷の状況を
判定し、その判定結果に応じて前記制御手段による書き
戻し処理を行うか否かを決定する手段をさらに具備する
ことを特徴とする請求項1記載のディスク制御システ
ム。
6. The apparatus according to claim 1, further comprising: means for judging a load condition of the disk device, and deciding whether or not to perform a write-back process by the control means according to the judgment result. A disk control system as described.
【請求項7】 書き込みデータをバッファに蓄積し、前
記バッファに蓄積された複数の書き込みデータのブロッ
クを、ディスク装置の連続した記憶領域から構成される
ストライプ単位で前記ディスク装置にまとめ書きするロ
グ構造化書き込み方式のディスク制御システムであっ
て、 ライト要求が発生した際に、そのライト要求されたブロ
ックと仮想アドレスが連続している1つ以上のブロック
を前記ディスク装置からリードするためのリード処理を
実行し、前記リードしたブロックを前記ライト要求され
たブロックと共に前記バッファに書き込む制御手段とを
具備することを特徴とするディスク制御システム。
7. A log structure for accumulating write data in a buffer, and collectively writing a plurality of blocks of the write data accumulated in the buffer to the disk device in stripe units composed of a continuous storage area of the disk device. A disk control system of a generalized write system, wherein when a write request is issued, a read process for reading from the disk device one or more blocks in which the write-requested block and the virtual address are contiguous. Control means for executing and writing the read block into the buffer together with the block requested to be written.
【請求項8】 前記制御手段は、前記リードしたブロッ
クと前記ライト要求されたブロックが物理アドレスが連
続するように、あるいは前記ディスク装置の同一ストラ
イプ内に書き込まれるように前記バッファに書き込むこ
とを特徴とする請求項7記載のディスク制御システム。
8. The control means writes the read block and the write-requested block to the buffer such that physical addresses are continuous or written in the same stripe of the disk device. The disk control system according to claim 7, wherein
【請求項9】 前記制御手段は、ライト要求と仮想アド
レスが連続しているブロックが、それと仮想アドレスが
連続している他のブロックと物理アドレスも連続して格
納されていない場合に、前記ディスク装置からのリード
処理を行うことを特徴とする請求項7記載のディスク制
御システム。
9. The controller according to claim 1, wherein the block in which the write request and the virtual address are continuous is not stored in the disk in a case where the physical address and the other block in which the virtual address is continuous and the physical address are not stored continuously. 8. The disk control system according to claim 7, wherein read processing from the device is performed.
【請求項10】 前記制御手段は、ライト要求と仮想ア
ドレスが連続しているブロックが、それと仮想アドレス
が連続している他のブロックと、同一ストライプ内に格
納されていない場合に、前記ディスク装置からのリード
処理を行うことを特徴とする請求項7記載のディスク制
御システム。
10. The disk device according to claim 1, wherein the block in which the write request and the virtual address are consecutive is not stored in the same stripe as another block in which the virtual address and the virtual address are consecutive. 8. The disk control system according to claim 7, wherein read processing is performed from a disk.
【請求項11】 ライト要求されたブロックと仮想アド
レスが連続しているブロックが格納されているストライ
プ内の有効ブロック数を検出し、その検出された有効ブ
ロック数に応じて前記制御手段によるリード処理を行う
か否かを決定する手段をさらに具備することを特徴とす
る請求項7記載のディスク制御システム。
11. The number of valid blocks in a stripe in which a block whose virtual address is continuous with the block requested to be written is detected, and the read processing by the control means is performed according to the detected number of valid blocks. 8. The disk control system according to claim 7, further comprising means for determining whether or not to perform.
【請求項12】 前記ディスク装置に関する負荷の状況
を判定し、その判定結果に応じて前記制御手段によるリ
ード処理を行うか否かを決定する手段をさらに具備する
ことを特徴とする請求項7記載のディスク制御システ
ム。
12. The apparatus according to claim 7, further comprising: means for judging a load condition of the disk device, and deciding whether to perform a read process by the control means according to the judgment result. Disk control system.
【請求項13】 前記制御手段は、前記バッファから前
記ディスク装置への書き込みが必要とされた時点まで
に、前記ディスク装置からのリード処理が完了したブロ
ックのみを前記ディスク装置に書き戻すことを特徴とす
る請求項7記載のディスク制御システム。
13. The method according to claim 1, wherein the control unit writes back only blocks for which read processing from the disk device has been completed to the disk device by the time when writing from the buffer to the disk device is required. The disk control system according to claim 7, wherein
【請求項14】 前記ディスク装置のデータを並べ替え
るためのデフラグ用バッファと、 リード要求が発生した際に、リード要求されたブロック
と仮想アドレスが連続しているブロックの先読みを実行
し、前記先読みしたブロックを前記リード要求されたブ
ロックと共に前記デフラグ用バッファに書き込む先読み
手段とをさらに具備し、 前記デフラグ用バッファ内の仮想アドレスが連続してい
るブロックを物理アドレスも連続するように、あるいは
同一ストライプ内に格納されるように前記ディスク装置
に書き戻すことを特徴とする請求項1記載のディスク制
御システム。
14. A defragmentation buffer for rearranging data of the disk device, and when a read request is generated, prefetching of a block whose virtual address is continuous with a block requested to be read is executed. And a read-ahead means for writing the read block together with the read-requested block into the defragmentation buffer, wherein the virtual address in the defragmentation buffer is continuous so that the physical address is also continuous, or the same stripe is used. 2. The disk control system according to claim 1, wherein data is written back to said disk device so as to be stored in the disk drive.
【請求項15】 前記ディスク装置のデータを並べ替え
るためのデフラグ用バッファと、 ライト要求が発生した際に、ライト要求されたブロック
と仮想アドレスが連続している複数のブロックを前記デ
ィスク装置からリードし、リードしたブロックを前記ラ
イト要求されたブロックと共に前記デフラグ用バッファ
に書き込む手段をさらに具備し、 前記デフラグ用バッファ内の仮想アドレスが連続してい
るブロックを物理アドレスも連続するように、あるいは
同一ストライプ内に格納されるように前記ディスク装置
に書き戻すことを特徴とする請求項7記載のディスク制
御システム。
15. A defragmentation buffer for rearranging data of the disk device, and, when a write request occurs, a plurality of blocks in which a write-requested block and a virtual address are continuous are read from the disk device. And a means for writing the read block together with the write-requested block to the defragmentation buffer, so that the virtual address in the defragmentation buffer is continuous so that the physical address is also continuous or the same. 8. The disk control system according to claim 7, wherein data is written back to said disk device so as to be stored in a stripe.
【請求項16】 書き込みデータをバッファに蓄積し、
前記バッファに蓄積された複数の書き込みデータのブロ
ックを、ディスク装置の連続した記憶領域から構成され
るストライプ単位でまとめ書きするログ構造化書き込み
方式のディスク制御システムに適用されるデータ再配置
方法であって、 仮想アドレスが連続した複数のブロックに対してリード
要求が発生した際に、要求された複数のブロックをリー
ド要求元に転送すると共に、前記複数のブロックを物理
アドレスが連続するように、あるいは同一ストライプ内
に格納されるように前記ディスク装置に書き戻すことを
特徴とするデータ再配置方法。
16. Writing data is accumulated in a buffer,
A data relocation method applied to a disk control system of a log-structured writing method in which a plurality of blocks of write data accumulated in the buffer are collectively written in a stripe unit composed of a continuous storage area of a disk device. When a read request is issued for a plurality of blocks having consecutive virtual addresses, the plurality of requested blocks are transferred to a read request source, and the plurality of blocks are arranged so that physical addresses are consecutive, or A data relocation method, wherein data is written back to the disk device so that the data is stored in the same stripe.
【請求項17】 書き込みデータをバッファに蓄積し、
前記バッファに蓄積された複数の書き込みデータのブロ
ックを、ディスク装置の連続した記憶領域から構成され
るストライプ単位でまとめ書きするログ構造化書き込み
方式のディスク制御システムに適用されるデータ再配置
方法であって、 ライト要求が発生した際に、そのライト要求されたブロ
ックと仮想アドレスが連続している1つ以上のブロック
を前記ディスク装置からリードし、前記リードしたブロ
ックを前記ライト要求されたブロックと共に前記バッフ
ァに書き込むことを特徴とするデータ再配置方法。
17. Writing data is stored in a buffer,
A data relocation method applied to a disk control system of a log-structured writing method in which a plurality of blocks of write data accumulated in the buffer are collectively written in a stripe unit composed of a continuous storage area of a disk device. When a write request is issued, one or more blocks whose virtual address is continuous with the write-requested block are read from the disk device, and the read block is written together with the write-requested block. A data relocation method characterized by writing to a buffer.
【請求項18】 リード要求が発生した際に、リード要
求されたブロックと仮想アドレスが連続しているブロッ
クの先読みを実行し、前記先読みしたブロックを前記リ
ード要求されたブロックと共に、前記ディスク装置のデ
ータを並べ替えるために用意されたデフラグ用バッファ
に書き込む先読みステップをさらに具備し、 前記デフラグ用バッファ内の仮想アドレスが連続してい
るブロックを物理アドレスも連続するように、あるいは
同一ストライプ内に格納されるように前記ディスク装置
に書き戻すことを特徴とする請求項16記載のデータ再
配置方法。
18. When a read request is issued, a read-ahead is performed for a block whose virtual address is continuous with a block for which a read request is made, and the read-ahead block and the read-requested block are read out of the disk device. A prefetching step of writing data to a defragmentation buffer prepared for rearranging data, wherein a block in the defragmentation buffer where virtual addresses are continuous is stored so that physical addresses are also continuous or in the same stripe. 17. The data relocation method according to claim 16, wherein the data is written back to the disk device so that the data is rewritten.
【請求項19】 ライト要求が発生した際に、ライト要
求されたブロックと仮想アドレスが連続している複数の
ブロックを前記ディスク装置からリードし、リードした
ブロックを前記ライト要求されたブロックと共に、前記
ディスク装置のデータを並べ替えるために用意されたデ
フラグ用バッファに書き込むステップをさらに具備し、 前記デフラグ用バッファ内の仮想アドレスが連続してい
るブロックを物理アドレスも連続するように、あるいは
同一ストライプ内に格納されるように前記ディスク装置
に書き戻すことを特徴とする請求項17記載のデータ再
配置方法。
19. When a write request is issued, a plurality of blocks in which a virtual address is continuous with a block for which a write request is made are read from the disk device, and the read block is read together with the block for which the write request is made. The method further comprises a step of writing data in a defragmentation buffer prepared for rearranging data of the disk device, wherein a block in which virtual addresses are continuous in the defragmentation buffer is set so that physical addresses are also continuous, or in a same stripe. 18. The data relocation method according to claim 17, wherein the data is written back to the disk device so as to be stored in the disk device.
JP37502699A 1999-12-28 1999-12-28 Disk control system and data rearranging method Pending JP2001188658A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP37502699A JP2001188658A (en) 1999-12-28 1999-12-28 Disk control system and data rearranging method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP37502699A JP2001188658A (en) 1999-12-28 1999-12-28 Disk control system and data rearranging method

Publications (1)

Publication Number Publication Date
JP2001188658A true JP2001188658A (en) 2001-07-10

Family

ID=18504843

Family Applications (1)

Application Number Title Priority Date Filing Date
JP37502699A Pending JP2001188658A (en) 1999-12-28 1999-12-28 Disk control system and data rearranging method

Country Status (1)

Country Link
JP (1) JP2001188658A (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003296038A (en) * 2002-03-21 2003-10-17 Network Appliance Inc Method for writing continuous arrays of stripes in raid storage system
JP2006520032A (en) * 2003-02-12 2006-08-31 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Storage medium having reserved area for file system data and application startup data
JP2009217700A (en) * 2008-03-12 2009-09-24 Toshiba Corp Disk array device and optimization method of physical arrangement
JP2010055369A (en) * 2008-08-28 2010-03-11 Hitachi Ltd Storage system, logical storage area allocating method, and computer system
JP2010086185A (en) * 2008-09-30 2010-04-15 Fujitsu Ten Ltd Method and program for writing continuity guarantee
JP2013229081A (en) * 2012-04-26 2013-11-07 Toshiba Corp File processing device and file processing method
WO2015145667A1 (en) * 2014-03-27 2015-10-01 株式会社日立製作所 Storage system
US9224422B2 (en) 2012-07-04 2015-12-29 Fujitsu Limited Control method and system
JP2018173802A (en) * 2017-03-31 2018-11-08 日本電気株式会社 Storage system, data sorting method, and program
WO2019062103A1 (en) * 2017-09-30 2019-04-04 深圳市华德安科技有限公司 Method of mounting disk array, android device and storage medium
WO2019124320A1 (en) * 2017-12-20 2019-06-27 Necプラットフォームズ株式会社 Storage controller, storage array device, data depositing method, and recording medium
US11436256B2 (en) 2020-01-20 2022-09-06 Fujitsu Limited Information processing apparatus and information processing system

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003296038A (en) * 2002-03-21 2003-10-17 Network Appliance Inc Method for writing continuous arrays of stripes in raid storage system
JP2010079928A (en) * 2002-03-21 2010-04-08 Netapp Inc Method for writing contiguous array of stripe in raid system
US7930475B1 (en) 2002-03-21 2011-04-19 Netapp, Inc. Method for writing contiguous arrays of stripes in a RAID storage system using mapped block writes
US7979633B2 (en) 2002-03-21 2011-07-12 Netapp, Inc. Method for writing contiguous arrays of stripes in a RAID storage system
JP2006520032A (en) * 2003-02-12 2006-08-31 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Storage medium having reserved area for file system data and application startup data
JP2009217700A (en) * 2008-03-12 2009-09-24 Toshiba Corp Disk array device and optimization method of physical arrangement
JP2010055369A (en) * 2008-08-28 2010-03-11 Hitachi Ltd Storage system, logical storage area allocating method, and computer system
JP2010086185A (en) * 2008-09-30 2010-04-15 Fujitsu Ten Ltd Method and program for writing continuity guarantee
JP2013229081A (en) * 2012-04-26 2013-11-07 Toshiba Corp File processing device and file processing method
US9224422B2 (en) 2012-07-04 2015-12-29 Fujitsu Limited Control method and system
WO2015145667A1 (en) * 2014-03-27 2015-10-01 株式会社日立製作所 Storage system
JPWO2015145667A1 (en) * 2014-03-27 2017-04-13 株式会社日立製作所 Storage system
US10649691B2 (en) 2014-03-27 2020-05-12 Hitachi, Ltd. Storage system
JP2018173802A (en) * 2017-03-31 2018-11-08 日本電気株式会社 Storage system, data sorting method, and program
WO2019062103A1 (en) * 2017-09-30 2019-04-04 深圳市华德安科技有限公司 Method of mounting disk array, android device and storage medium
WO2019124320A1 (en) * 2017-12-20 2019-06-27 Necプラットフォームズ株式会社 Storage controller, storage array device, data depositing method, and recording medium
JP2019113890A (en) * 2017-12-20 2019-07-11 Necプラットフォームズ株式会社 Storage controller, storage array apparatus, data storage method and program
US11099985B2 (en) 2017-12-20 2021-08-24 Nec Platforms, Ltd. Storage controller, storage array device, data depositing method, and storage medium
US11436256B2 (en) 2020-01-20 2022-09-06 Fujitsu Limited Information processing apparatus and information processing system

Similar Documents

Publication Publication Date Title
US9081690B2 (en) Storage system and management method of control information therein
US9251052B2 (en) Systems and methods for profiling a non-volatile cache having a logical-to-physical translation layer
JP3697149B2 (en) How to manage cache memory
US10102117B2 (en) Systems and methods for cache and storage device coordination
US8924659B2 (en) Performance improvement in flash memory accesses
US20120198152A1 (en) System, apparatus, and method supporting asymmetrical block-level redundant storage
US9792073B2 (en) Method of LUN management in a solid state disk array
US20020118582A1 (en) Log-structure array
US20090089501A1 (en) Method of prefetching data in hard disk drive, recording medium including program to execute the method, and apparatus to perform the method
KR20150105323A (en) Method and system for data storage
JP2015518987A (en) Specialization of I / O access patterns for flash storage
US8694563B1 (en) Space recovery for thin-provisioned storage volumes
JPH06236322A (en) Cache system for disk array
WO2001075581A1 (en) Using an access log for disk drive transactions
JP2001188658A (en) Disk control system and data rearranging method
US9921913B2 (en) Flushing host cache data before rebuilding degraded redundant virtual disk
US9471252B2 (en) Use of flash cache to improve tiered migration performance
US20020073277A1 (en) Data storage system and a method of storing data including a multi-level cache
US11579786B2 (en) Architecture utilizing a middle map between logical to physical address mapping to support metadata updates for dynamic block relocation
JP3431581B2 (en) Disk control system and data relocation method
JP6451770B2 (en) Storage control device and storage control program
US10853257B1 (en) Zero detection within sub-track compression domains
CN113722131A (en) Method and system for facilitating fast crash recovery in a storage device
JP3785127B2 (en) Disk array control device and data writing method in disk array control device
EP4033346B1 (en) Affinity-based cache operation for a persistent storage device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040915

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070717

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070731

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071204