JP3597766B2 - Disk array device control method - Google Patents

Disk array device control method Download PDF

Info

Publication number
JP3597766B2
JP3597766B2 JP2000266365A JP2000266365A JP3597766B2 JP 3597766 B2 JP3597766 B2 JP 3597766B2 JP 2000266365 A JP2000266365 A JP 2000266365A JP 2000266365 A JP2000266365 A JP 2000266365A JP 3597766 B2 JP3597766 B2 JP 3597766B2
Authority
JP
Japan
Prior art keywords
data
writing
area
disk
storage data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2000266365A
Other languages
Japanese (ja)
Other versions
JP2001100926A (en
Inventor
幸一 田中
健司 村岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2000266365A priority Critical patent/JP3597766B2/en
Publication of JP2001100926A publication Critical patent/JP2001100926A/en
Application granted granted Critical
Publication of JP3597766B2 publication Critical patent/JP3597766B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【産業上の利用分野】
本発明は、いわゆるRAID(Redundant Array of Inexpensive Disks)と呼ばれるディスクアレイ装置に係わり、ディスク装置のアクセス処理性能、特に、データ書き込み処理の高速化に関する。
【0002】
【従来の技術】
コンピュータを構成する要素のうち、駆動機構を有するハードディスク装置(ディスク装置またはドライブとも呼ばれる)は、他の電子部品に比べ故障率が高く、また、データを書き込む手段として用いられるため、その故障が与える影響は、大きい。そのため、信頼性の向上が要望されていた。そのような要望に応えるものとして、特開平2−236714号公報に記載されているものがある。これは、複数のディスク装置を有し、書き込むべき格納データの書き込み時には、格納データの書き込みに加えて、冗長データを生成し、書き込む。
【0003】
冗長データは、1台のディスク装置が故障して、そのディスク装置上の格納データが読めなくなったときに、他の故障していないディスク装置上の格納データと冗長データとから読めなくなったデータが再現できるように生成される。生成された冗長データは、当該冗長データを生成するのに使われた格納データを格納しているディスク装置とは異なる、別のディスク装置へ書き込まれる。
【0004】
このように構成された、複数のディスク装置からなるものは、ディスクアレイ装置、もしくは、RAIDと呼ばれる。これによれば、アレイを構成する任意のディスク装置が故障しても、他のディスク装置の格納データと前記冗長データから該障害ディスク装置上の格納データを修復でき、ハードディスク装置のデータ保全性の向上が図れる。
【0005】
【発明が解決しようとする課題】
RAIDは、データ保全性が向上する半面、格納データの書き込みには、常に上記冗長データの生成と書き込みとを伴い、そのために書き込み処理時間が増大し、書き込み完了の報告を外部にするのが遅れて、性能が低下してしまうという問題点が指摘されていた。
【0006】
そのため、ディスク装置への書き込みが少ない(読み込み処理が多くの割合を占める)システムにおいてしか、事実上向かないものであった。
【0007】
この対策として、ディスク制御装置内にキャッシュメモリを用意し、キャッシュメモリへの書き込みが完了すると、ただちにホストコンピュータに書き込み完了を報告し、その後、冗長データを生成し、格納データと冗長データをディスク装置に書き込むシステムもある。
【0008】
しかし、このシステムは、高価なキャッシュメモリを用いるために、システムが高価になるという問題がある。
【0009】
本発明の目的は、コストを上昇させることなく、上記書き込み処理時の性能低下(ライトペナルティ)を防いだディスクアレイ装置を提供することにある。
【0010】
本発明の他の目的は、上記の目的に加えて、RAIDの特徴であるデータの保全性も維持できるディスクアレイ装置を提供することにある。
【0011】
【課題を解決するための手段】
上記目的を達成するために、複数のディスク装置を備え、当該複数のディスク装置のうち少なくとも1つは、他のディスク装置に書き込まれた格納データを読み出すことができないときに、読み出すことができない当該データを再現するための冗長データを書き込む冗長データ領域を有するディスクアレイ装置において、上記ディスク装置のうちの少なくとも1つは、上記格納すべき格納データを書き込む領域が、当該格納データを一時的に書き込むためのテンポラリ領域と、当該テンポラリ領域に書き込まれた当該格納データを最終的に書き込むための格納データ領域とに分割されており、外部から受付けた、上記ディスク装置に書き込むべき格納データは、冗長データを作成することなく、一旦、上記テンポラリ領域に書き込み、当該テンポラリ領域への書き込みが完了した時点で、外部へ書き込み完了を報告するテンポラリ領域書き込み手段と、上記書き込み完了の報告後、テンポラリ領域上の上記格納データに基づいて、冗長データを生成する生成手段と、当該冗長データを上記冗長データ領域に格納し、当該格納データを上記格納データ領域に書き込むデータ領域書き込み手段とを有することとしたものである。
【0012】
また、外部から格納すべき格納データを受付けたときに、複数の上記ディスク装置を選択し、当該格納データを書き込むテンポラリ領域を、当該ディスク装置にあるテンポラリ領域とし、複数のテンポラリ領域の各々に同一の格納データを多重に書き込む手段と、上記テンポラリ領域から上記格納データを読み出す際に、一方のディスク装置から上記格納データを読み出すことができないときは、他方のディスク装置から読み出す手段とを有することとしたものである。
【0013】
また、外部から格納すべき格納データを受付けたときに、当該格納データを書き込むテンポラリ領域を、最終的に当該格納データを書き込むべき格納データ領域を有するディスク装置とは異なるディスク装置にあるテンポラリ領域から選択する手段を有することとしたものである。
【0014】
【作用】
外部からの格納すべき格納データは、冗長データを作成することなく一旦テンポラリ領域に書き込み、この書き込みが完了した時点で外部(例えば、ホストコンピュータ)へ書き込み完了を報告し、テンポラリ領域上の格納データを、その後読み出して、冗長データを生成し、格納データと、冗長データとをそれぞれのデータ領域に書き込む。これにより、キャッシュメモリを用いずに、外部へのレスポンスが高速化される。
【0015】
また、複数のディスク装置上のテンポラリ領域に2重書きをし、その後、同一格納データへの読み込み要求を受けた場合、テンポラリ領域から該当格納データを読み込むこととすると、格納データの保全性が高まる。
【0016】
このときに、テンポラリ領域からの読み出しにおいて、2重書きしているディスク装置のうちで、現在読み出し/書き込み動作を行っていないディスク装置(このディスク装置はドライブビジーになっていないと呼ばれる)を選択することにより、ドライブビジーによる遅延を回避し、高速に書き込み動作を行うことができる。
【0017】
また、テンポラリ領域から格納データ領域に格納データを書き込む際に、古い格納データとテンポラリ領域にある新しい格納データと冗長データとを読みだして、新たに冗長データを生成する必要がある。当該格納データを書き込むテンポラリ領域を、最終的に当該格納データを書き込むべき格納データ領域を有するディスク装置とは異なるディスク装置にあるテンポラリ領域から選択すると、各ドライブを多重動作できることにより、テンポラリ領域から格納データ領域への書き込みが高速化する。
【0018】
このときに、選択するテンポラリ領域として、現在読み出し/書き込み動作を行っていないディスク装置にあるものから選択することにより、ドライブビジーによる遅延を回避し、高速に書き込み動作を行える。
【0019】
【実施例】
以下、本発明に係わるディスクアレイ装置の一実施例について説明する。
【0020】
図1は、本実施例に係わるディスクアレイ装置の全体構成を示した図である。図中ディスクアレイ装置101は、制御回路102、上位インタフェース回路103、小型ディスクインタフェース回路104、磁気ディスク装置111より構成される。また制御回路102は、マイクロプロセッサ105、プログラム用メモリ106、データバッファ107、冗長情報生成回路108、不揮発性メモリ109から構成されている。また、不揮発性メモリ109は、テンポラリ領域管理テーブル110を有する。
【0021】
図2は、ディスクアレイ装置内の磁気ディスク装置の構成を示した図である。ディスクアレイ装置101内の全ての磁気ディスク装置111は、ユーザデータを最終的に格納するデータ領域201と、ユーザデータを一時的に書き込むテンポラリ領域202より構成される。データ領域201とテンポラリ領域202のサイズは任意である。
【0022】
図3は、本実施例に係わるソフトウエア構成図である。これは、図1に示す、マイクロプロセッサ105と、マイクロプロセッサ105が実行するマイクロプログラムが格納されているプログラム用メモリ106とにより実行される。ただし、バックグラウンドデータ書き込み処理304のうち冗長データの生成は、冗長情報生成回路108が行う。スケジュラー301によりディスクアレイ装置101全体が制御される。スケジュラー301によりホストI/F制御部302、ホストコマンド実行部303、バックグランドデータ書き込み処理部304は制御される。また、ホストコマンド実行部303は、コマンド判定部305を通して、リードコマンド処理306、ライトコマンド処理307、制御系コマンド処理308を利用することによりホストコマンドを実行する。
【0023】
図4は、本実施例に係わるテンポラリ領域管理テーブル110の構成を示した図である。図中、本管理テーブルは、上位装置指定情報401、制御部管理情報402、テンポラリ領域管理情報403、およびテンポラリ領域のうち使われているものと空いているものを確認するためのネクストポインタ404から構成されている。ネクストポインタ404には、2種類のチェインがあり、1つは、テンポラリ領域のうち使われているものを結んだチェインであり、もう1つは、空いているものを結んだチェインである。
【0024】
上位装置指定情報401は、論理LBA(LBA:Logical Block Address)405、論理LEN(LEN:LENgth)406から構成される。制御部管理情報402は、物理ドライブNo.407、物理LBA408、物理LEN409から構成される。テンポラリ領域管理情報403は、テンポラリ領域として使用される物理ドライブNo.410、その磁気ディスク装置内の物理LBA411、および物理LEN412から構成される。ネクストポインタ404を確認することによりテンポラリ領域の空きを確認することが可能である。
【0025】
次に上位装置からライトコマンドを受取り、テンポラリ領域に対して2重書きを行う各処理について図5,図7を用いて説明する。
【0026】
上位装置501からライトデータ502を受け取ると、制御部503は、まずライトデータ502のブロック長を確認し(図7、701)、しきい値よりブロック長が大きかった場合は、テンポラリ領域に格納せずに、通常のライト処理(702)を実施する。つまり上位装置501からのライトデータ502は、通常のライト領域508へ格納し、また、作成されたパリティデータは、通常のパリティライト領域509へ書き込む。ライトデータ502のサイズが大きいときは、ライトペナルティは小さいから直接、最終的な格納場所に格納することとしたものである。
【0027】
しきい値よりブロック長が小さい場合は、テンポラリ領域をネクストポインタ404(図4)を使用して確保する(703)。確保する際には、実際にデータを書く物理的な磁気ディスク装置と重ならないように管理している。異なるディスク装置とすることにより、バックグラウンドで処理するときに、テンポラリ領域にある新データと実際にデータを書く位置にある旧データとが異なるディスク装置であるために、並列に読みだすことができ、冗長データを生成する処理が高速化する。さらに、テンポラリ領域を確保する際は、格納データを書き込むテンポラリ領域を、現に読み出しもしくは書き込み動作を行っていないディスク装置にあるテンポラリ領域から選択するようにする。こうすることにより、ドライブビジーによる遅延を回避し、高速に書き込み動作を行うことができる。
【0028】
もし、テンポラリ領域に空きが無く確保できなかった場合(704)には、通常のライト処理(702)を実施する。空きテンポラリ領域が確保できた場合、テンポラリ領域511のうちの領域506/507に対して2重書きを実施する。
【0029】
次にテンポラリ領域に対して2重書きしているユーザデータを読み込み、パリティデータを生成し、データ領域に書き込む処理について図6,図8を用いて説明する。
【0030】
制御部603は、バックグランド処理で、まずテンポラリ領域管理テーブル611よりすでに2重書きされているユーザデータが格納されている領域605/606のアドレスを確保し(図8、801)、今現在リードおよびライト処理を行っていない方のテンポラリ領域から、データをリードする(802)。つまり、2重書きされているユーザデータが格納されている領域605/606のうち、例えばデータが格納されている領域606が格納されている磁気ディスク装置がリード処理で使用されている場合、別のデータが格納されている領域605をリードすることになる。こうすることにより、ドライブビジーによる遅延を回避し、高速に読み出し動作を行うことができる。
【0031】
磁気ディスク装置の障害により1つのテンポラリ領域からデータがリードできなかった場合(803)には、2重書きしている別のテンポラリ領域からデータをリードする(804)。このように、2重書きしていることにより、ディスク装置が故障してもデータを保持することができ、データの保全性が高まる。
【0032】
テンポラリ領域から読み出されたデータと、変更する必要のあるパリティデータ608により、冗長情報生成回路604で新しいパリティデータを生成し(805)、データは、607へ、パリティデータは、608へ書き込まれる(806)。データ領域へ格納データを書き込む場合に、上記格納データ領域を有するディスク装置で書き込みエラーが発生したときは、当該ディスク装置を自動的に切り離し、このディスク装置への書き込みは以後行わないこととする。
【0033】
尚、以上の実施例においては、記憶媒体として磁気ディスク装置を用いたディスクアレイ装置の例を示したが、他の記録媒体、たとえば、光ディスクを用いた場合でも同様に実現できる。
【0034】
【発明の効果】
本発明によれば、いわゆるRAID4,5におけるライトペナルティによる書き込み処理性能の低下を防ぐことができるようになり、ディスク装置への書き込みが少ない(読み込み処理が多くの割合を占める)システムであるかどうかによらず、RAID利用によるシステムの性能向上を図ることが可能となる。
【0035】
また、従来のOS(Unix等)と同じインタフェースをとることができ、アプリケーションに対して、テンポラリ領域を意識させないので、既存のアプリケーションを活用することが可能であると言う効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例に係わるディスクアレイ装置のブロック図。
【図2】本発明の一実施例に係わる磁気ディスク装置内の格納領域の説明図。
【図3】本発明の一実施例に係わるソフトウエア構成図。
【図4】本発明の一実施例に係わるテンポラリ領域管理テーブルの説明図。
【図5】本発明の一実施例に係わる書き込み動作の説明図。
【図6】本発明の一実施例に係わるバックグランド時の書き込み動作の説明図。
【図7】本発明の一実施例に係わるテンポラリ領域へのデータ書き込み処理のフロー図。
【図8】本発明の一実施例に係わるテンポラリ領域からデータ領域へのデータ書き込み処理のフロー図。
【符号の説明】
101 ディスクアレイ装置
102 制御回路
103 上位インタフェース回路
104 小型ディスクインタフェース回路
105 マイクロプロセッサ
106 プログラム用メモリ
107 データバッファ
108 冗長情報生成回路
109 不揮発性メモリ
110 テンポラリ領域管理テーブル
111 磁気ディスク装置
201 データ領域
202 テンポラリ領域
301 スケジュラー
302 ホストI/F制御部
303 上位装置コマンド実行部
304 バックグランドデータ書き込み処理
305 コマンド判定部
306 リードコマンド処理
307 ライトコマンド処理
308 制御系コマンド処理
[0001]
[Industrial applications]
The present invention relates to a disk array device called a so-called RAID (Redundant Array of Inexpensive Disks), and relates to an access processing performance of a disk device, in particular, to speeding up a data writing process.
[0002]
[Prior art]
Among the components constituting a computer, a hard disk device having a drive mechanism (also called a disk device or a drive) has a higher failure rate than other electronic components, and is used as a means for writing data, so that the failure causes The impact is great. Therefore, improvement in reliability has been demanded. Japanese Patent Application Laid-Open No. 2-236714 discloses a device that meets such a demand. It has a plurality of disk devices and, when writing storage data to be written, generates and writes redundant data in addition to writing the storage data.
[0003]
When one disk device fails and the data stored on the disk device cannot be read, the redundant data is the data that cannot be read from the redundant data and the data stored on the other failed disk device. Generated to be reproducible. The generated redundant data is written to another disk device different from the disk device storing the storage data used to generate the redundant data.
[0004]
A device composed of a plurality of disk devices configured in this manner is called a disk array device or RAID. According to this, even if any disk device constituting the array fails, the stored data on the failed disk device can be restored from the stored data of the other disk device and the redundant data, and the data integrity of the hard disk device can be restored. Improvement can be achieved.
[0005]
[Problems to be solved by the invention]
In RAID, although data integrity is improved, writing of stored data always involves generation and writing of the above-mentioned redundant data, which increases the write processing time and delays the external reporting of write completion. Therefore, the problem that the performance is reduced has been pointed out.
[0006]
Therefore, it is practically only suitable for a system in which writing to the disk device is small (read processing accounts for a large proportion).
[0007]
As a countermeasure against this, a cache memory is prepared in the disk controller, and when the writing to the cache memory is completed, the completion of writing is immediately reported to the host computer, and then the redundant data is generated. Some systems write to.
[0008]
However, this system has a problem that the system becomes expensive because an expensive cache memory is used.
[0009]
SUMMARY OF THE INVENTION An object of the present invention is to provide a disk array device which prevents the performance degradation (write penalty) during the write processing without increasing the cost.
[0010]
Another object of the present invention is to provide a disk array device that can maintain data integrity, which is a feature of RAID, in addition to the above objects.
[0011]
[Means for Solving the Problems]
In order to achieve the above object, a plurality of disk devices are provided, and at least one of the plurality of disk devices cannot read stored data written to another disk device when the data cannot be read. In a disk array device having a redundant data area for writing redundant data for reproducing data, in at least one of the disk devices, the area for writing the storage data to be stored temporarily writes the storage data. And a storage data area for finally writing the storage data written in the temporary area, and the storage data received from the outside and to be written to the disk device is redundant data. Without writing the temporary data to the temporary area, When the writing to the polar area is completed, a temporary area writing means for reporting the completion of writing to the outside, and a generating means for generating redundant data based on the stored data on the temporary area after the completion of the writing is reported. And a data area writing means for storing the redundant data in the redundant data area and writing the stored data in the stored data area.
[0012]
Further, when storage data to be stored is received from the outside, a plurality of the disk devices are selected, a temporary area in which the storage data is written is set as a temporary area in the disk device, and the same as each of the plurality of temporary regions. Means for writing the storage data in a multiplex manner, and means for reading the storage data from the temporary area when the storage data cannot be read from one of the disk apparatuses when reading the storage data from the temporary area. It was done.
[0013]
Further, when storage data to be stored is received from the outside, a temporary area in which the storage data is to be written is temporarily moved from a temporary area in a disk device different from the disk device having the storage data region in which the storage data is to be written. A means for selecting is provided.
[0014]
[Action]
The storage data to be stored from the outside is temporarily written to a temporary area without creating redundant data, and when this writing is completed, the completion of the writing is reported to the outside (for example, a host computer), and the storage data on the temporary area is stored. Is read out thereafter to generate redundant data, and the stored data and the redundant data are written to the respective data areas. This speeds up the response to the outside without using the cache memory.
[0015]
In addition, when a double write is performed in a temporary area on a plurality of disk devices, and thereafter a read request for the same storage data is received, if the storage data is read from the temporary area, the integrity of the storage data is improved. .
[0016]
At this time, in reading from the temporary area, a disk device that is not currently performing a read / write operation (this disk device is not called a drive busy) is selected from disk devices that are being double-written. By doing so, a delay due to drive busy can be avoided, and a high-speed write operation can be performed.
[0017]
When writing storage data from the temporary area to the storage data area, it is necessary to read out old storage data, new storage data and redundant data in the temporary area, and newly generate redundant data. When the temporary area in which the storage data is to be written is selected from a temporary area in a disk device different from the disk device having the storage data area to which the storage data is to be finally written, each drive can be multiplexed and stored in the temporary area. Speeds up writing to the data area.
[0018]
At this time, by selecting a temporary area to be selected from a disk device that is not currently performing a read / write operation, a delay due to drive busy can be avoided, and a high-speed write operation can be performed.
[0019]
【Example】
Hereinafter, an embodiment of a disk array device according to the present invention will be described.
[0020]
FIG. 1 is a diagram illustrating an overall configuration of a disk array device according to the present embodiment. In the figure, a disk array device 101 includes a control circuit 102, an upper interface circuit 103, a small disk interface circuit 104, and a magnetic disk device 111. The control circuit 102 includes a microprocessor 105, a program memory 106, a data buffer 107, a redundant information generation circuit 108, and a nonvolatile memory 109. The non-volatile memory 109 has a temporary area management table 110.
[0021]
FIG. 2 is a diagram showing a configuration of a magnetic disk device in the disk array device. All the magnetic disk devices 111 in the disk array device 101 are composed of a data area 201 for finally storing user data and a temporary area 202 for temporarily writing user data. The sizes of the data area 201 and the temporary area 202 are arbitrary.
[0022]
FIG. 3 is a software configuration diagram according to the present embodiment. This is executed by the microprocessor 105 shown in FIG. 1 and the program memory 106 in which the microprogram executed by the microprocessor 105 is stored. However, the generation of redundant data in the background data writing processing 304 is performed by the redundant information generation circuit 108. The scheduler 301 controls the entire disk array device 101. The scheduler 301 controls the host I / F control unit 302, the host command execution unit 303, and the background data write processing unit 304. The host command execution unit 303 executes the host command by using the read command processing 306, the write command processing 307, and the control command processing 308 through the command determination unit 305.
[0023]
FIG. 4 is a diagram illustrating a configuration of the temporary area management table 110 according to the present embodiment. In the figure, the management table includes a host device designation information 401, a control unit management information 402, a temporary area management information 403, and a next pointer 404 for confirming which of the temporary areas are used and which are free. It is configured. The next pointer 404 has two types of chains. One is a chain connecting used ones of the temporary area, and the other is a chain connecting vacant ones.
[0024]
The higher-level device designation information 401 includes a logical LBA (Logical Block Address) 405 and a logical LEN (LEN: Length) 406. The control unit management information 402 includes a physical drive No. 407, a physical LBA 408, and a physical LEN 409. The temporary area management information 403 includes a physical drive No. used as a temporary area. 410, a physical LBA 411 and a physical LEN 412 in the magnetic disk device. By checking the next pointer 404, it is possible to check the vacancy of the temporary area.
[0025]
Next, each process of receiving a write command from the host device and performing double writing on the temporary area will be described with reference to FIGS.
[0026]
Upon receiving the write data 502 from the host device 501, the control unit 503 first checks the block length of the write data 502 (701 in FIG. 7), and if the block length is larger than the threshold value, stores the block length in the temporary area. Instead, the normal write processing (702) is performed. That is, the write data 502 from the host device 501 is stored in the normal write area 508, and the created parity data is written in the normal parity write area 509. When the size of the write data 502 is large, the write penalty is small, so that it is stored directly in the final storage location.
[0027]
If the block length is smaller than the threshold value, a temporary area is secured using the next pointer 404 (FIG. 4) (703). When the data is secured, the data is managed so as not to overlap with a physical magnetic disk device in which data is actually written. By using different disk devices, when processing in the background, the new data in the temporary area and the old data at the position where the data is actually written are different disk devices, so they can be read in parallel. Accordingly, the processing for generating redundant data is sped up. Further, when securing a temporary area, a temporary area in which storage data is to be written is selected from a temporary area in a disk device that is not currently performing a read or write operation. By doing so, a delay due to drive busy can be avoided, and a high-speed write operation can be performed.
[0028]
If there is no free space in the temporary area (704), normal write processing (702) is performed. If an empty temporary area can be secured, double writing is performed on the areas 506/507 of the temporary area 511.
[0029]
Next, a process of reading user data that is double-written in the temporary area, generating parity data, and writing the parity data in the data area will be described with reference to FIGS.
[0030]
In the background processing, the control unit 603 first secures the address of the area 605/606 in which the already duplicated user data is stored from the temporary area management table 611 (801 in FIG. 8). Then, data is read from the temporary area on which the write processing has not been performed (802). In other words, if the magnetic disk device in which the area 606 storing data is stored in the area 605/606 in which the double-written user data is stored is used in the read processing, for example, Is read from the area 605 in which the data is stored. By doing so, a delay due to drive busy can be avoided, and a high-speed read operation can be performed.
[0031]
If data cannot be read from one temporary area due to a failure of the magnetic disk device (803), data is read from another double-written temporary area (804). As described above, due to the double writing, data can be retained even if the disk device fails, and data integrity is improved.
[0032]
Based on the data read from the temporary area and the parity data 608 that needs to be changed, new parity data is generated by the redundant information generation circuit 604 (805), and the data is written to 607 and the parity data is written to 608. (806). When writing storage data to the data area, if a write error occurs in a disk device having the storage data area, the disk device is automatically disconnected, and writing to the disk device is not performed thereafter.
[0033]
In the above embodiment, an example of a disk array device using a magnetic disk device as a storage medium has been described. However, the present invention can be similarly realized when another recording medium, for example, an optical disk is used.
[0034]
【The invention's effect】
According to the present invention, it is possible to prevent a decrease in write processing performance due to a so-called write penalty in RAID4 and RAID5, and to determine whether or not the system has a small number of writes to the disk device (a large amount of read processing). Regardless of this, it is possible to improve the performance of the system by using RAID.
[0035]
Further, the same interface as that of a conventional OS (Unix or the like) can be used, and there is an effect that an existing application can be used because an application is not made aware of a temporary area.
[Brief description of the drawings]
FIG. 1 is a block diagram of a disk array device according to an embodiment of the present invention.
FIG. 2 is an explanatory diagram of a storage area in a magnetic disk device according to one embodiment of the present invention.
FIG. 3 is a software configuration diagram according to an embodiment of the present invention.
FIG. 4 is an explanatory diagram of a temporary area management table according to an embodiment of the present invention.
FIG. 5 is an explanatory diagram of a write operation according to one embodiment of the present invention.
FIG. 6 is an explanatory diagram of a write operation in the background according to one embodiment of the present invention.
FIG. 7 is a flowchart of a process of writing data to a temporary area according to an embodiment of the present invention.
FIG. 8 is a flowchart of a process of writing data from a temporary area to a data area according to an embodiment of the present invention.
[Explanation of symbols]
101 Disk Array Device 102 Control Circuit 103 Upper Interface Circuit 104 Small Disk Interface Circuit 105 Microprocessor 106 Program Memory 107 Data Buffer 108 Redundancy Information Generation Circuit 109 Nonvolatile Memory 110 Temporary Area Management Table 111 Magnetic Disk Drive 201 Data Area 202 Temporary Area 301 scheduler 302 host I / F control unit 303 host device command execution unit 304 background data write processing 305 command determination unit 306 read command processing 307 write command processing 308 control command processing

Claims (4)

複数のディスク装置を備え、当該複数のディスク装置のうち少なくとも1つは、他のディスク装置に書き込まれた格納データを読み出すことができないときに、読み出すことができない当該データを再現するための冗長データを書き込む冗長データ領域を有するディスク装置であるように構成されたディスクアレイ装置の制御方法であって、
少なくとも2つのディスク装置の各々において、格納すべき格納データを書き込む領域を、当該格納データを一時的に書き込むためのテンポラリ領域と、当該テンポラリ領域に書き込まれた当該格納データを最終的に書き込むための格納データ領域とに分割するステップと、
外部から受付けた、ディスク装置に格納すべき格納データを、冗長データを作成する前に、一旦、上記複数のテンポラリ領域の各々に、同一の格納データを多重に書き込み、当該テンポラリ領域への書き込みが完了した時点で、外部へ書き込み完了を報告するテンポラリ領域書き込みステップと、
上記書き込み完了の報告後、テンポラリ領域上の上記格納データに基づいて、冗長データを生成する生成ステップと、
当該冗長データを上記冗長データ領域に格納し、当該格納データを、上記テンポラリ領域書き込みステップにより書き込んだテンポラリ領域を有するディスク装置とは異なるディスク装置にある格納データ領域に書き込むデータ領域書き込みステップと
を有することを特徴とするディスクアレイ装置の制御方法。
A plurality of disk devices, and at least one of the plurality of disk devices has a redundant data for reproducing the data that cannot be read when storage data written to another disk device cannot be read; A method of controlling a disk array device configured to be a disk device having a redundant data area for writing
In each of the at least two disk devices, an area for writing storage data to be stored is defined as a temporary area for temporarily writing the storage data, and a temporary area for finally writing the storage data written in the temporary area. Dividing into storage data areas ;
Before the storage data to be stored in the disk device received from the outside and the redundant data are created, the same storage data is once written in a multiplex manner in each of the plurality of temporary areas, and the writing to the temporary area is not performed. Upon completion, a temporary area writing step for reporting completion of writing to the outside,
A generating step of generating redundant data based on the stored data in the temporary area after the completion of the writing is reported;
A data area writing step of storing the redundant data in the redundant data area and writing the stored data to a storage data area in a disk device different from the disk device having the temporary area written in the temporary area writing step; A method for controlling a disk array device, comprising:
請求項1記載のディスクアレイ装置の制御方法において、更に、
外部から受付けた、ディスク装置に格納すべき格納データが、あらかじめ定められたデータ長よりも大きいか否か判定するステップを有するディスクアレイ装置の制御方法。
2. The method for controlling a disk array device according to claim 1, further comprising:
A method for controlling a disk array device, comprising: determining whether storage data to be stored in a disk device, which is received from outside, is longer than a predetermined data length.
請求項1記載のディスクアレイ装置の制御方法において、
外部から格納すべき格納データを受付けたときに、当該格納データを書き込むテンポラリ領域を、最終的に当該格納データを書き込む格納データ領域を有するディスク装置とは異なるディスク装置にあるテンポラリ領域から選択するステップを有するディスクアレイ装置の制御方法。
2. The method for controlling a disk array device according to claim 1, wherein
A step of selecting a temporary area for writing the storage data from a temporary area on a disk device different from the disk device having the storage data area for writing the storage data when receiving storage data to be stored from outside; A method for controlling a disk array device having:
請求項1記載のディスクアレイ装置の制御方法において、
外部から格納すべき格納データを受付けたときに、当該格納データを書き込むテンポラリ領域を、読み出しもしくは書き込み動作を行っていないディスク装置にあるテンポラリ領域から選択するステップを有するディスクアレイ装置の制御方法。
2. The method for controlling a disk array device according to claim 1, wherein
A method for controlling a disk array device, comprising the step of, when receiving storage data to be stored from the outside, selecting a temporary area in which the storage data is to be written, from a temporary area in a disk device that is not performing a read or write operation.
JP2000266365A 2000-09-04 2000-09-04 Disk array device control method Expired - Fee Related JP3597766B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000266365A JP3597766B2 (en) 2000-09-04 2000-09-04 Disk array device control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000266365A JP3597766B2 (en) 2000-09-04 2000-09-04 Disk array device control method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP31061293A Division JP3597550B2 (en) 1993-12-10 1993-12-10 Disk array device

Publications (2)

Publication Number Publication Date
JP2001100926A JP2001100926A (en) 2001-04-13
JP3597766B2 true JP3597766B2 (en) 2004-12-08

Family

ID=18753462

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000266365A Expired - Fee Related JP3597766B2 (en) 2000-09-04 2000-09-04 Disk array device control method

Country Status (1)

Country Link
JP (1) JP3597766B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3898968B2 (en) 2002-03-15 2007-03-28 インターナショナル・ビジネス・マシーンズ・コーポレーション Information recording method and information recording system

Also Published As

Publication number Publication date
JP2001100926A (en) 2001-04-13

Similar Documents

Publication Publication Date Title
US7809979B2 (en) Storage control apparatus and method
US7698604B2 (en) Storage controller and a method for recording diagnostic information
US6523087B2 (en) Utilizing parity caching and parity logging while closing the RAID5 write hole
JP2501752B2 (en) Storage device of computer system and method of storing data
US8402210B2 (en) Disk array system
US20050229033A1 (en) Disk array controller and information processing apparatus
US5457791A (en) Storage system and method of control
US20070061514A1 (en) Disk array with spare logic drive created from spare physical drives
US20070002482A1 (en) Storage system, storage control device, and storage control method
JPH05505264A (en) Non-volatile memory storage of write operation identifiers in data storage devices
US20060236161A1 (en) Apparatus and method for controlling disk array with redundancy
JP4491330B2 (en) Disk array device, data recovery method and data recovery program
JP2002049511A (en) Allocation changing method for address and external storage subsystem using the same
JPH08249218A (en) File controller and data write method
JP2000020248A (en) Disk fault recovering method, disk driver, and recording medium
JP3597766B2 (en) Disk array device control method
JP3597550B2 (en) Disk array device
JP5505329B2 (en) Disk array device and control method thereof
JP2004185477A (en) Optical storage medium array device and data transfer method
JP3573599B2 (en) Data recovery method for disk array
JP2868003B1 (en) Magnetic disk drive
JP2000172570A5 (en) Information recording device and data input / output method and reconstruction method in this device
JP2001109586A (en) Disk array device
JP2002123372A (en) Disk array device with cache memory, its error- controlling method and recording medium with its control program recorded thereon
KR100205289B1 (en) Method of preventing loss of recording data

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040413

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040603

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040831

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040909

LAPS Cancellation because of no payment of annual fees