JP2001075741A - Disk control system and data maintenance method - Google Patents

Disk control system and data maintenance method

Info

Publication number
JP2001075741A
JP2001075741A JP24885999A JP24885999A JP2001075741A JP 2001075741 A JP2001075741 A JP 2001075741A JP 24885999 A JP24885999 A JP 24885999A JP 24885999 A JP24885999 A JP 24885999A JP 2001075741 A JP2001075741 A JP 2001075741A
Authority
JP
Japan
Prior art keywords
write data
log memory
disk
data
error
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
JP24885999A
Other languages
Japanese (ja)
Inventor
Kazunori Sekido
一紀 関戸
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 JP24885999A priority Critical patent/JP2001075741A/en
Publication of JP2001075741A publication Critical patent/JP2001075741A/en
Pending legal-status Critical Current

Links

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

PROBLEM TO BE SOLVED: To improve the writing performance into a disk device and the maintainability of data. SOLUTION: Written data are stored in a log memory 171 built in a raid booster card (RAID BOOSTER) 17, and when data for one parity block are prepared, the data are collectively written in a raid disk array. The written data are stored in the log memory 171 of the card 17 and its copy also is stored in a main memory 13 of this computer system. When a fault is detected in the memory 171 or the card 17, the copy of the written data stored in the main memory 13 is quickly written in the disk array.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は計算機システムで用
いられるディスク制御システムおよびデータ保全方法に
関し、特にログメモリに蓄積された書き込みデータを一
括してディスク装置に書き込む機能を有するディスク制
御システムおよびそのデータ保全方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a disk control system and a data preservation method used in a computer system, and more particularly, to a disk control system having a function of collectively writing write data stored in a log memory to a disk device and its data. Conservation methods.

【0002】[0002]

【従来の技術】近年、ディスクの高速化と信頼性向上の
観点から、RAID(Redundant Array
of Independent Disks)技術を
搭載したPCサーバが主流となっている。RAID技術
には0,1,10,5などの種類があるが、その中でも
価格容量比の良さと優れた耐障害性から、RAID5が
広く利用されている。RAID5は、データとパリティ
を含むパリティグループを複数台のディスク装置に対し
て横断配置したディスクアレイから構成されている。R
AID5のディスクアレイは、データ記憶用の複数のデ
ィスク装置にパリティ記憶用のディスク装置を1台付加
したN+1(Nは2以上)台のディスク装置を含んでお
り、且つパリティをストライプ単位でN+1(Nは2以
上)台のディスク装置に分散させることによってパリテ
ィディスクへのアクセスの集中を防止できるようにして
いる。
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.
PC servers equipped with technology of Independent Disks) have become mainstream. RAID technology includes types such as 0, 1, 10, and 5. Among them, RAID 5 is widely used because of its good price / capacity ratio and excellent fault tolerance. RAID5 is composed of a disk array in which a parity group including data and parity is arranged across a plurality of disk devices. R
The disk array of AID5 includes N + 1 (N is 2 or more) disk devices in which one disk device for parity storage is added to a plurality of disk devices for data storage, and parity is N + 1 (N + 1) in stripe units. N is 2 or more) so that the concentration of accesses to the parity disk can be prevented by distributing the disk devices to two or more disk devices.

【0003】しかし、RAID5ではデータを更新する
場合、次の処理がRAIDコントローラで行われる。
However, when updating data in RAID 5, the following processing is performed in the RAID controller.

【0004】(1)古いデータと古いパリティデータを
読み出す (2)新しいデータを加え、新しいパリティを算出する (3)新しいデータと新しいパリティデータを書き込む この内、古いデータの読み出し、古いパリティデータの
読み出し、新しいパリティデータの書き込みは本来必要
のない処理で、RAID5の書き込みペナルティと呼ば
れている。結局RAID5では、信頼性の向上と引き替
えに書き込み性能を犠牲にしている。このため、RAI
D5を使ったPCサーバでは、書き込み性能(特にラン
ダム書き込み)が悪く、それを意識したシステム構築が
必要であった。なお、最新RAIDコントローラではこ
の書き込みペナルティを軽減する仕組みを持っている
が、ランダム書き込みに対しては大きな改善は見込めな
い。
(1) Read old data and old parity data (2) Add new data and calculate new parity (3) Write new data and new parity data Among them, read old data and read old parity data Reading and writing of new parity data are essentially unnecessary processes and are called RAID5 write penalties. After all, in RAID 5, write performance is sacrificed in exchange for improvement in reliability. Therefore, RAI
In the PC server using D5, the writing performance (particularly, random writing) is poor, and it is necessary to construct a system that is aware of this. Although the latest RAID controller has a mechanism for reducing the write penalty, a great improvement cannot be expected for random write.

【0005】[0005]

【発明が解決しようとする課題】そこで、最近では、R
AIDの書き込み性能を大幅に向上するための技術とし
て、ログ構造化ファイルシステム技術が考えられてい
る。ログ構造化ファイルシステム技術とは、「シーケン
シャルアクセスは、ランダムアクセスに比較して非常に
高速である」というディスクの特性を利用した性能向上
の手法である。ランダムアクセス時の性能低下はディス
クのシークおよび回転待ちによるもので出来れば無くし
たい部分である。そこで、ログ構造化ファイルシステム
技術では、書き込みデータを蓄積するためのログメモリ
を使用し、複数の小さなブロックの書き込みデータを、
一つの大きいブロックのデータに変換して「まとめ書
き」するという手法が用いられる。
Therefore, recently, R
As a technique for greatly improving the AID writing performance, a log structured file system technique is considered. 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, the log structured file system technology uses a log memory to store the write data, and writes the write data of a plurality of small blocks.
A technique of converting the data into data of one large block and performing “collective writing” is used.

【0006】しかし、ログ構造化ファイルシステム技術
を使用した場合には、書き込みデータをディスクに「ま
とめ書き」するため、アプリケーションへ書き込み完了
を報告する時点と、実際にディスクへの書き込みを行う
時点が異なる。そのため、本来はディスクに既に記録さ
れているべき書き込みデータがログメモリ上にしか残っ
ていないので、そのデータに関する保全性には十分な配
慮が必要である。
However, when the log structured file system technology is used, the write data is "collectively written" to the disk. Therefore, there is a time when the write completion is reported to the application and a time when the actual write to the disk is performed. different. For this reason, write data that should have been already recorded on the disk remains only in the log memory, so that sufficient consideration must be given to the integrity of the data.

【0007】本発明はこのような事情に鑑みてなされた
ものであり、ディスク装置に対する書き込み性能の向上
とデータの保全性の向上を実現することが可能なディス
ク制御システムおよびデータ保全方法を提供することを
目的とする。
The present invention has been made in view of such circumstances, and provides a disk control system and a data maintenance method capable of realizing an improvement in write performance to a disk device and an improvement in data integrity. The purpose is to:

【0008】[0008]

【課題を解決するための手段】上述の課題を解決するた
め、本発明は、計算機システムに設けられたディスク装
置を制御するためのディスク制御システムにおいて、書
き込みデータを蓄積するためのログメモリを有し、前記
ログメモリに蓄積された書き込みデータを一括して前記
ディスク装置に書き込むための制御手段と、前記ログメ
モリに蓄積された書き込みデータの複製を保持する手段
とを具備し、前記書き込みデータの複製を用いて、前記
ログメモリ内の書き込みデータの保全性を確保すること
を特徴とする。
In order to solve the above-mentioned problems, the present invention provides a disk control system for controlling a disk device provided in a computer system, which has a log memory for storing write data. Control means for writing the write data stored in the log memory to the disk device at a time; and means for holding a copy of the write data stored in the log memory. The duplication is used to ensure the integrity of the write data in the log memory.

【0009】このディスク制御システムにおいては、書
き込みデータをログメモリのみならず、その複製を計算
機システムのメモリなど保持することにより、書き込み
データを2重化することが出来る。このため、ログメモ
リに対する正常なデータ入出力が行われないようなエラ
ーが発生した場合でも、たとえばエラー検出時に書き込
みデータの複製をディスク装置に書き込む処理を自動的
に行うこと等により、書き込みデータの複製を利用して
本来の書き込みデータの内容を復元することが出来る。
よって、ディスク装置に対する書き込み性能の向上とデ
ータの保全性の向上を実現することが可能となる。特
に、データとパリティを含むパリティグループが複数台
のディスク装置に対して横断配置されているディスクア
レイの制御に適用することにより、書き込み性能と信頼
性の向上を高い次元で両立することが可能となる。
In this disk control system, the write data can be duplicated by holding not only the log data but also a copy of the write data in the memory of the computer system. For this reason, even when an error occurs in which normal data input / output to / from the log memory is not performed, for example, when an error is detected, a process of writing a copy of the write data to the disk device is automatically performed. The original contents of the write data can be restored using the copy.
Therefore, it is possible to improve the write performance to the disk device and the data integrity. In particular, by applying to the control of a disk array in which a parity group including data and parity is traversed with respect to a plurality of disk devices, it is possible to improve write performance and reliability at a high level. Become.

【0010】ログメモリのエラーの検出は、ログメモリ
のエラーを示すエラーステータス情報を保持するステー
タスメモリを制御手段に設け、そのステータスメモリを
定期的にチェックすることによって行うことが好まし
い。通常、計算機システムでは、メモリエラーなどが発
生するとリセット信号が自動的に発行されることによっ
て計算機システム自体を停止されてしまうことが多い。
しかし、上述のようにポーリングによるエラー検出手法
を利用することにより、ログメモリのエラーを制御手段
内に閉じ込めることが可能となり、書き込みデータの複
製を利用したデータの復旧処理を効率よく行うことが可
能となる。
The detection of the error in the log memory is preferably performed by providing a status memory for holding error status information indicating an error in the log memory in the control means and periodically checking the status memory. Usually, in a computer system, when a memory error or the like occurs, a reset signal is automatically issued, so that the computer system itself is often stopped.
However, by using the error detection method by polling as described above, errors in the log memory can be confined in the control means, and data recovery processing using duplication of write data can be performed efficiently. Becomes

【0011】また、本発明は、計算機システムに設けら
れたディスク装置を制御するためのディスク制御システ
ムにおいて、書き込みデータを蓄積するためのログメモ
リを有し、前記ログメモリに蓄積された書き込みデータ
を一括して前記ディスク装置に書き込むための制御手段
と、前記ディスク装置のエラーを検出するエラー検出手
段と、前記エラー検出手段によるエラー検出に応答し
て、前記ログメモリに蓄積されている書き込みデータを
退避する手段とを具備し、前記退避した書き込みデータ
を用いて、前記ログメモリに蓄積されている書き込みデ
ータの保全性を確保することを特徴とする。
According to the present invention, there is provided a disk control system for controlling a disk device provided in a computer system, comprising a log memory for storing write data, and storing the write data stored in the log memory. Control means for writing to the disk device in a lump, error detecting means for detecting an error of the disk device, and writing data stored in the log memory in response to error detection by the error detecting means. An evacuation means for ensuring the integrity of the write data stored in the log memory using the saved write data.

【0012】この計算機システムにおいては、ディスク
装置のエラーによって一括書き込みが行われなかった場
合には、ログメモリに蓄積されている書き込みデータの
退避が行われ、これにより、ディスク装置に書き出され
ておらずログメモリにのみ残っている書き込みデータの
内容が自動的にバックアップされる。よって、ディスク
障害が発生しても書き込みデータの内容を復元すること
が可能となるので、アプリケーションへ書き込み完了を
報告する時点と、実際にディスクへの書き込みを行う時
点が異なるシステムにおける、書き込みデータの保全性
の向上を図ることが可能となる。
In this computer system, if batch writing is not performed due to an error in the disk device, the write data stored in the log memory is saved, whereby the data is written out to the disk device. The contents of the write data remaining only in the log memory are automatically backed up. Therefore, even if a disk failure occurs, it is possible to restore the contents of the write data, so that the time at which the write completion is reported to the application is different from the time at which the actual write to the disk is performed in the system. It is possible to improve the maintainability.

【0013】[0013]

【発明の実施の形態】以下、図面を参照して本発明の実
施形態を説明する。
Embodiments of the present invention will be described below with reference to the drawings.

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

【0015】PCIバス2には、図示のように、SCS
Iコントローラ14、RAIDコントローラ16、およ
びRAIDブースタカード(RAID BOOSTE
R)17が接続されている。SCSIコントローラ14
によって制御されるディスク装置(HDD)15は、オ
ペレーティングシステムなどを記録するために使用され
るシステムディスクである。また、RAIDコントロー
ラ16によって制御されるディスクアレイ18は、各種
ユーザデータ等の記録に用いられる。
As shown, the PCI bus 2 has an SCS
I controller 14, RAID controller 16, and RAID booster card (RAID BOOSTE
R) 17 is connected. SCSI controller 14
(HDD) 15 is a system disk used to record an operating system and the like. The disk array 18 controlled by the RAID controller 16 is used for recording various user data and the like.

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

【0017】グループ化されたディスク装置には、図示
のように、データ(DATA)とそのパリティ(PAR
ITY)とから構成されるストライプ(パリティグルー
プ)が割り当てられ、かつパリティ位置はストライプ毎
にN+1台のディスク装置に移動される。すなわち、ス
トライプS0では、DISK0〜DISK3それぞれの
同一位置に割り当てられたストライプユニット上のデー
タ(DATA)群のパリティ(PARITY)は、DI
SK4の対応するストライプユニット上に記録される
が、次のストライプS1においては、そのストライプS
1のデータに対応するパリティ(PARITY)はDI
SK3の対応するストライプユニット上に記録される。
このようにパリティをストライプ単位でN+1台のディ
スク装置に分散させることによって、パリティディスク
へのアクセスの集中を防止することができる。
As shown, data (DATA) and its parity (PAR) are stored in the grouped disk devices.
ITY), and the parity position is moved to N + 1 disk devices for each stripe. That is, in the stripe S0, the parity (PARITY) of the data (DATA) group on the stripe unit assigned to the same position of each of DISK0 to DISK3 is DI
It is recorded on the corresponding stripe unit of SK4, but in the next stripe S1, that stripe S
The parity (PARITY) corresponding to 1 data is DI
It is recorded on the corresponding stripe unit of SK3.
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.

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

【0019】ログ構造化ファイルシステム技術を使用し
た書き込み方式では、ホストから書き込み要求された論
理アドレスに従ってデータ書き込み位置を決定するので
はなく、ホストから書き込み要求された順番で書き込み
データを蓄積することによって書き込み用の大きなデー
タブロックを構成し、その大きなデータブロックを一括
してディスクアレイ18の空き領域に上から順番に「ま
とめ書き」する。これにより、ランダムなアクセスをシ
ーケンシャルなアクセスに変換するとが出来る。ここ
で、「まとめ書き」の単位をパリティグループ1つ分の
データ容量とし、その書き出し位置をパリティグループ
の先頭に合わせることにより、RAIDコントローラ1
6では「まとめ書き」の書き込みデータだけからパリテ
ィを計算できるようになる。よって、先に述べた古いデ
ータの読み出し、古いパリティデータの読み出し、新し
いパリティデータの書き込み(書き込みペナルティ)が
発生しなくなり、書き込み性能が向上する。
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 of writing requested by the host. A large data block for writing is formed, and the large data block is collectively written in a free area of the disk array 18 from the top in order. This makes it possible to convert random access into sequential access. Here, the unit of “collective writing” is the data capacity of one parity group, and the write start position is aligned with the head of the parity group, thereby making the RAID controller 1
In No. 6, parity can be calculated only from the write data of “collective writing”. Therefore, the above-described reading of old data, reading of old parity data, and writing of new parity data (write penalty) do not occur, and the write performance is improved.

【0020】図2は、ファイルシステムを介して送られ
来るアプリケーションプログラムからの書き込みデータ
のブロックデータサイズが2KB、1ストライプユニッ
トのデータサイズが64KB、1ストライプ(パリティ
グループ)分のデータサイズが256KB(=64KB
・4)の場合の例である。256KB分のデータがRA
IDブースタカード(RAID BOOSTER)17
に蓄積された時点で、ディスクアレイ18に対する書き
込みが一度にまとめて行われる。
FIG. 2 shows that the block data size of the 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). 256KB of data is RA
ID Booster Card (RAID BOOSTER) 17
At this time, writing to the disk array 18 is performed at once.

【0021】RAIDブースタカード(RAID BO
OSTER)17には、図1に示されているように、ロ
グメモリ171、アドレスマッピングテーブル172、
ECCステータスレジスタ173、DMAエンジン17
4、MPU175、バッテリ176などが搭載されてい
る。
RAID booster card (RAID BO)
OSTER) 17, as shown in FIG. 1, a log memory 171, an address mapping table 172,
ECC status register 173, DMA engine 17
4, MPU 175, battery 176, and the like.

【0022】ログメモリ171はアプリケーションから
の書き込みデータを蓄積するためのものであり、このロ
グメモリ171に1パリティグループ分の書き込みデー
タが蓄積された時点でディスクアレイ18への一括書き
込みが行われる。アドレスマッピングテーブル172
は、書き込みデータの論理アドレスとディスクアレイ1
8上の実際の書き込み位置との対応関係を管理するため
に使用される。すなわち、書き込み要求された論理アド
レスの値と実際に書き込まれた物理アドレスとの対応関
係がアドレスマッピングテーブル172にて管理される
ことになる。
The log memory 171 is for accumulating write data from an application, and when write data for one parity group is accumulated in the log memory 171, collective writing to the disk array 18 is performed. Address mapping table 172
Is the logical address of the write data and the disk array 1
8 is used to manage the correspondence with the actual write position. That is, the correspondence between the value of the logical address requested to be written and the actually written physical address is managed by the address mapping table 172.

【0023】ログメモリ171とアドレスマッピングテ
ーブル172はRAIDブースタカード(RAID B
OOSTER)17上に搭載されたメモリ上に実現され
ており、そのメモリの内容はバッテリ176によってバ
ックアップされている。
The log memory 171 and the address mapping table 172 are stored in a RAID booster card (RAID B).
OOSTER) 17 is implemented on a memory mounted thereon, and the contents of the memory are backed up by a battery 176.

【0024】ECCステータスレジスタ173は、ログ
メモリ171のエラーを示すエラーステータス情報を保
持するためのエラーステータスレジスタであり、CPU
11によってリードすることが出来る。DMAエンジン
174は、ログメモリ171と主メモリ12等との間の
データ転送をDMA転送によって行うために用いられ
る。MPU175はRAIDブースタカード(RAID
BOOSTER)17内の各ユニットの制御に使用さ
れる。
The ECC status register 173 is an error status register for holding error status information indicating an error in the log memory 171.
11 can be read. The DMA engine 174 is used for performing data transfer between the log memory 171 and the main memory 12 by DMA transfer. MPU175 is a RAID booster card (RAID
BOOSTER) 17 is used to control each unit.

【0025】図3には、RAIDブースタカード(RA
ID BOOSTER)17を用いてディスク制御を行
うためのハードウェアとソフトウェアの関係が示されて
いる。
FIG. 3 shows a RAID booster card (RA
The relationship between hardware and software for performing disk control using the ID BOOSTER 17 is shown.

【0026】本実施形態のディスク制御システムは、R
AIDブースタカード(RAIDBOOSTER)17
と制御ソフトウェアとから構成されている。制御ソフト
ウェアは、ログ構造化処理を行うためのフィルタードラ
イバ23と、RAIDブースタカード(RAID BO
OSTER)17を制御するためのカードドライバ25
とから構成されている。
The disk control system according to the present embodiment has an R
AID Booster Card (RAIDBOOSTER) 17
And control software. The control software includes a filter driver 23 for performing a log structuring process and a RAID booster card (RAID BO).
OSTER) 17 for controlling the card driver 25
It is composed of

【0027】フィルタードライバ23はOSのファイル
システム22とRAIDコントローラドライバ24との
間に位置しており、アプリケーションプログラム21か
らの書き込みデータはフィルタードライバ23によって
自動的に取得される。取得された書き込みデータは、カ
ードドライバ25を通じてログメモリ171に蓄積され
る。ログメモリ171にパリティグループ1つ分のデー
タが蓄積されると、フィルタードライバ23の制御下、
RAIDコントローラドライバ24を通じてRAIコン
トローラ16に書き込みデータが転送される。
The filter driver 23 is located between the file system 22 of the OS and the RAID controller driver 24, and the write data from the application program 21 is automatically acquired by the filter driver 23. The acquired write data is accumulated in the log memory 171 through the card driver 25. When data for one parity group is accumulated in the log memory 171, under the control of the filter driver 23,
Write data is transferred to the RAI controller 16 through the RAID controller driver 24.

【0028】(書き込みデータに対する保全性の向上)
次に、本実施形態のデータ保全機能について説明する。
(Improvement of the integrity of write data)
Next, the data security function of the present embodiment will be described.

【0029】上述したように、RAIDブースタカード
(RAID BOOSTER)17による性能向上のポ
イントは、アプリケーションからの書き込みデータを溜
めて、一括してディスクアレイ18へ「まとめ書き」す
ることにある。よって、本来はディスクアレイ18に記
録されているべき書き込みデータがログメモリ171上
にしか残っていないので、そのデータに関する保全性に
は十分な配慮が必要である。そこで、本実施形態では、
以下の対策を行っている。
As described above, the point of the performance improvement by the RAID booster card (RAID BOOSTER) 17 is to collect write data from the application and collectively write the data to the disk array 18 collectively. Therefore, since write data which should be originally recorded in the disk array 18 remains only in the log memory 171, sufficient consideration must be given to the integrity of the data. Therefore, in this embodiment,
The following measures are taken.

【0030】(1)バッテリによるメモリのバックアッ
プ バッテリモジュール176をRAIDブースタカード1
7に内蔵しており、停電などの障害に対してもバッテリ
バックアップで72時間(通常使用時)メモリ内容のバ
ックアップが可能である。
(1) Backup of Memory by Battery Battery module 176 is connected to RAID booster card 1
7 so that the contents of the memory can be backed up for 72 hours (during normal use) with a battery backup even in the event of a power failure or the like.

【0031】(2)ECCによるデータ保護 RAIDブースタカード17上のメモリはECCで保護
されており、メモリの1ビットエラーが発生してもそれ
を修復でき、データを失うことはない。
(2) Data Protection by ECC The memory on the RAID booster card 17 is protected by ECC, so that even if a 1-bit error occurs in the memory, it can be repaired and data is not lost.

【0032】(3)書き込みデータの2重化 上記の対策だけでは、メモリの2ビットエラーを含むR
AIDブースタカード17そのものの障害により、ログ
メモリ171に保存された書き込みデータは失われてし
まう。そこで、書き込みデータに関しては以下の処理を
行って、さらにデータの保全性を高めている。
(3) Duplication of Write Data Only with the above measures, R
Due to the failure of the AID booster card 17 itself, the write data stored in the log memory 171 is lost. Therefore, the following processing is performed on the write data to further improve data integrity.

【0033】(a)書き込みデータはRAIDブースタ
カード17のログメモリ171内だけではなく、本計算
機システムの主メモリ13にもそのコピーを作成する。
書き込みデータのコピーは、主メモリ13上にログメモ
リコピーエリアとして確保された作業領域上に記録され
る。
(A) The write data is copied not only in the log memory 171 of the RAID booster card 17 but also in the main memory 13 of the computer system.
A copy of the write data is recorded on a work area secured on the main memory 13 as a log memory copy area.

【0034】(b)通常のPCIボードでは、障害が発
生した場合にリセット信号を発生し、サーバも止めてし
まう(フェイルストップ)。しかし、RAIDブースタ
カード17では、障害があった場合でも、それによる影
響がそのカード内だけに閉じ込め計算機本体まで波及し
ないように制御し(障害隔離)、計算機内のソフトウェ
アはそのまま実行できるようにする。そのために、前述
のECCステータスレジスタ173を用意し、ログメモ
リ171の状態をソフトウェアから監視できるようにし
ている。
(B) In a normal PCI board, when a failure occurs, a reset signal is generated and the server is stopped (fail stop). However, in the RAID booster card 17, even if a failure occurs, the influence of the failure is controlled so as not to be confined to the card and spread to the computer main body (fault isolation), so that the software in the computer can be directly executed. . For this purpose, the aforementioned ECC status register 173 is prepared so that the state of the log memory 171 can be monitored from software.

【0035】(c)計算機側の制御ソフトウェアは常に
ECCステータスレジスタ173を用いてRAIDブー
スタカード17の状態をチェックし、ログメモリ171
やカードの障害を検出した場合には、速やかに主メモリ
13上の書き込みデータのコピーをディスクアレイ18
へ書き出す。
(C) The control software on the computer always checks the status of the RAID booster card 17 by using the ECC status register 173, and the log memory 171
When a failure of the card or the card is detected, a copy of the write data on the main memory 13 is immediately copied to the disk array 18.
Write to

【0036】この対策により、RAIDブースタカード
17が故障した場合でさえも、そのとき計算機側の制御
ソフトウェアが動作中であれば、書き込みデータを失う
ことはない。
With this measure, even if the RAID booster card 17 fails, the write data will not be lost if the control software on the computer side is operating at that time.

【0037】(4)ディスク障害時のダンプファイル 本実施形態では書き込みデータをディスクアレイ18に
「まとめ書き」するため、アプリケーションへ書き込み
完了を報告する時点と、実際にディスクアレイ18への
書き込みを行う時点が異なる。そのため、ディスクアレ
イ18への書き込み時にディスク障害が発生した場合、
ディスクアレイ18へ書かれているべきデータがログメ
モリ171上に残ってしまう。
(4) Dump File at Disk Failure In this embodiment, the write data is "collectively written" to the disk array 18, so that the writing completion is reported to the application and the writing to the disk array 18 is actually performed. The time is different. Therefore, if a disk failure occurs during writing to the disk array 18,
Data to be written to the disk array 18 remains on the log memory 171.

【0038】そこで、ディスク障害の場合には溜めてい
た書き込みデータをシステムディスク15などへダンプ
ファイルとして保存しておき、ディスク障害が回復した
時点で自動的にそのダンプファイルをディスクアレイ1
8へ書き込むことにより、アプリケーションから見たデ
ータの整合性を確保している。
In the event of a disk failure, the stored write data is stored as a dump file in the system disk 15 or the like, and when the disk failure is recovered, the dump file is automatically stored in the disk array 1.
8, data consistency as seen from the application is ensured.

【0039】(書き込みデータの2重化)次に、図4乃
至図6を参照して、書き込みデータの2重化による処理
の原理を説明する。ここでは、説明を簡単にするため
に、ディスクアレイ18がN+1(N=3)台のディス
クから構成されており、1ストライプユニットとアプリ
ケーションからの書き込みデータのブロックデータサイ
ズが等しいものと仮定する。
(Duplicate of Write Data) Next, with reference to FIG. 4 to FIG. 6, the principle of processing by duplicating write data will be described. Here, for simplicity of description, it is assumed that the disk array 18 is composed of N + 1 (N = 3) disks, and that the block data size of one stripe unit and the write data from the application are equal.

【0040】図4に示されているように、アプリケーシ
ョンからの書き込みデータは、RAIDブースタカード
(RAID BOOSTER)17のログメモリ171
に記録されると共に、主メモリ13のログメモリコピー
エリア131上にそのコピーが作成される。そして、シ
ステムの運用が進むにつれてログメモリ171に書き込
みデータが蓄積されていき、ログメモリ171に1パリ
ティグループ分の書き込みデータが蓄積されると、図5
に示すように、ディスクアレイ18へのまとめ書きが行
われる。
As shown in FIG. 4, the write data from the application is stored in the log memory 171 of the RAID booster card (RAID BOOSTER) 17.
And a copy thereof is created on the log memory copy area 131 of the main memory 13. Then, as the operation of the system proceeds, the write data is accumulated in the log memory 171, and when the write data for one parity group is accumulated in the log memory 171, FIG.
As shown in (1), collective writing to the disk array 18 is performed.

【0041】もしログメモリ171に1パリティグルー
プ分の書き込みデータが揃う以前に、ログメモリ171
のエラーを含むRAIDブースタカード17の障害が発
生すると、それまでにログメモリ171に記録した書き
込みデータを利用することが出来なくなる。この場合に
は、図6に示すように、ログメモリコピーエリア131
上に記録されているコピーデータを利用して、ディスク
アレイ18への書き込みが行われる。この時、コピーデ
ータには任意のデータをダミーデータとして追加するこ
とにより1パリティグループ分の書き込みデータが作成
され、それが「まとめ書き」される。これにより、ログ
メモリ171のエラーを含むRAIDブースタカード1
7の障害発生時においても、RAIDコントローラ16
は、「まとめ書き」の書き込みデータだけからパリティ
を計算することが出来る。
Before the write data for one parity group is prepared in the log memory 171, the log memory 171
When the failure of the RAID booster card 17 including the error described in (1) occurs, the write data recorded in the log memory 171 up to that time cannot be used. In this case, as shown in FIG.
Writing to the disk array 18 is performed using the copy data recorded above. At this time, write data for one parity group is created by adding arbitrary data as dummy data to the copy data, and the data is "collectively written". As a result, the RAID booster card 1 including the error in the log memory 171
7, the RAID controller 16
Can calculate the parity only from the write data of “collective writing”.

【0042】(データ書き込み処理)次に、図7のフロ
ーチャートを参照して、本実施形態におけるデータ書き
込み処理の手順を説明する。
(Data Write Processing) Next, the procedure of the data write processing in this embodiment will be described with reference to the flowchart of FIG.

【0043】OSのファイルシステム22を介してアプ
リケーションプログラム21からの書き込みデータを取
得すると、フィルタードライバ23は、まず、カードド
ライバ25を起動して、書き込みデータをログメモリ1
71に書き込む為のDMA転送の実行をカードドライバ
25に要求する(ステップS101)。次いで、フィル
タードライバ23は、アプリケーションプログラム21
から取得した書き込みデータを、そのフィルタードライ
バ23の作業領域上などに割り当てられているログメモ
リコピーエリア131にコピーし、書き込みデータの複
製を作成する(ステップS102)。この後、フィルタ
ードライバ23は、カードドライバ25からDMA完了
通知が返されるのを所定時間待った後(ステップS10
3)、ログメモリ171を含むRAIDブースタカード
(RAID BOOSTER)17が正常であるか否か
を判断する(ステップS104)。
When obtaining write data from the application program 21 via the file system 22 of the OS, the filter driver 23 first activates the card driver 25 and stores the write data in the log memory 1.
A request is made to the card driver 25 to execute a DMA transfer for writing to the memory 71 (step S101). Next, the filter driver 23
Is copied to the log memory copy area 131 allocated on the work area of the filter driver 23 or the like, and a copy of the write data is created (step S102). Thereafter, the filter driver 23 waits for a predetermined time until a DMA completion notification is returned from the card driver 25 (step S10).
3) It is determined whether the RAID booster card (RAID BOOSTER) 17 including the log memory 171 is normal (step S104).

【0044】この場合、例えば、ログメモリ171また
はRAIDブースタカード17自体の障害によってDM
Aによる書き込みが正常に終了されず、所定時間経過し
てもDMA完了通知が返されなかった場合には、ログメ
モリ171にデータを書き込むことが出来ない何らかの
障害(ログメモリエラー)が発生したと判断される。ま
た、たとえDMA完了通知が所定時間内に返却された場
合であっても、ECCステータスレジスタ173を参照
して、もし2ビットエラーの発生を示すエラーステータ
スが設定されていれば、ログメモリエラーが発生してい
ると判断される。
In this case, for example, due to a failure of the log memory 171 or the RAID booster card 17 itself, the DM
If the writing by A is not completed normally and the DMA completion notification is not returned even after the lapse of a predetermined time, it is determined that some failure (log memory error) in which data cannot be written to the log memory 171 has occurred. Is determined. Even if the DMA completion notification is returned within a predetermined time, if an error status indicating the occurrence of a 2-bit error is set by referring to the ECC status register 173, a log memory error will be generated. It is determined that it has occurred.

【0045】このようなログメモリエラーが発生してお
らず、RAIDブースタカード(RAID BOOST
ER)17が正常動作している場合には(ステップS1
04のYES)、フィルタードライバ23は、アプリケ
ーションプログラム21に対して書き込み完了を報告す
る(ステップS105)。そして、フィルタードライバ
23は、1パリティグループ分の書き込みデータがログ
メモリ171に揃ったか否かを判断し(ステップS10
6)、揃った場合には、パリティグループの一括書き込
み処理を実行し、1パリティグループ分の書き込みデー
タをディスクアレイ18に「まとめ書き」して処理を終
了する(ステップS107)。1パリティグループ分の
書き込みデータがログメモリ171に揃っていない場合
には、ステップS107を実行せずに処理を終了する。
When such a log memory error has not occurred, the RAID booster card (RAID BOOST
ER) 17 is operating normally (step S1)
04, YES), the filter driver 23 reports the completion of writing to the application program 21 (step S105). Then, the filter driver 23 determines whether or not the write data for one parity group has been collected in the log memory 171 (step S10).
6) If all the data are collected, the batch write processing of the parity group is executed, and the write data of one parity group is "collectively written" to the disk array 18 and the processing is terminated (step S107). If the write data for one parity group is not available in the log memory 171, the process ends without executing step S107.

【0046】一方、ログメモリエラーの発生が検出され
た場合、つまりRAIDブースタカード(RAID B
OOSTER)17が正常動作していない場合には(ス
テップS104のNO)、フィルタードライバ23は、
ステップS102の実行以前にログメモリコピーエリア
131に既に存在しているコピーデータに対してダミー
データを加えることより、1パリティグループ分の書き
込みデータを作成する(ステップS108)。そして、
フィルタードライバ23は、パリティグループの一括書
き込み処理を実行し、ステップS108で作成した1パ
リティグループ分の書き込みデータをディスクアレイ1
8に「まとめ書き」した後(ステップS109)、アプ
リケーションプログラム21に対して書き込みエラーの
発生を通知して処理を終了する(ステップS110)。
On the other hand, when occurrence of a log memory error is detected, that is, when a RAID booster card (RAID B
If the OOSTER) 17 is not operating normally (NO in step S104), the filter driver 23
By adding dummy data to the copy data already existing in the log memory copy area 131 before the execution of step S102, write data for one parity group is created (step S108). And
The filter driver 23 executes a parity group batch write process, and writes the write data for one parity group created in step S108 to the disk array 1.
After the “collective writing” in step 8 (step S109), the application program 21 is notified of the occurrence of a write error, and the process ends (step S110).

【0047】このように、ログメモリ171に書き込み
データを記録する度に障害検出を行い、障害発生が検出
された場合には即座にコピーデータをディスクアレイ1
8に書き込み、かつ書き込みを要求したホストシステム
側にはエラーを返すことにより、書き込みデータの保全
性の向上を図ることが可能となる。
As described above, a failure is detected each time write data is recorded in the log memory 171, and when a failure is detected, the copy data is immediately transferred to the disk array 1.
By writing an 8 and returning an error to the host system requesting the writing, it is possible to improve the integrity of the write data.

【0048】(データ読み出し処理)次に、図8のフロ
ーチャートを参照して、本実施形態におけるデータ読み
出し処理の手順を説明する。
(Data Read Processing) Next, the procedure of the data read processing in the present embodiment will be described with reference to the flowchart of FIG.

【0049】OSのファイルシステム22を介してアプ
リケーションプログラム21からのデータ読み出しの要
求を受け取ると、フィルタードライバ23は、まず、リ
ード要求されたデータがログメモリ171に存在してい
るか否かを判断する(ステップS201)。この判断
は、書き込み要求を受けてログメモリ171に記録した
書き込みデータの中で、リード要求された論理アドレス
と一致する書き込みデータがあるか否かを調べることに
よって行われる。
Upon receiving a data read request from the application program 21 via the OS file system 22, the filter driver 23 first determines whether or not the read requested data exists in the log memory 171. (Step S201). This determination is made by checking whether there is any write data that matches the logical address requested to be read among the write data recorded in the log memory 171 in response to the write request.

【0050】リード要求されたデータがログメモリ17
1に存在しないならば(ステップS201のNO)、フ
ィルタードライバ23は、RAIDコントローラドライ
バ24を介してRAIDコントローラ16を制御し、デ
ィスクアレイ18から該当するデータを読み出す(ステ
ップS206)。この場合、ディスクアレイ18には書
き込み要求順にデータがシーケンシャルに書き込みれて
いるので、どの物理アドレスからデータを読み出すか
は、フィルタードライバ23がアドレスマッピングテー
ブル172を参照することによって決定する。データ読
み出し後、フィルタードライバ23は、アプリケーショ
ンプログラム21にリード完了を通知して処理を終了す
る(ステップS207)。
The data requested to be read is stored in the log memory 17.
If not present (step S201: NO), the filter driver 23 controls the RAID controller 16 via the RAID controller driver 24 and reads the corresponding data from the disk array 18 (step S206). In this case, since data is sequentially written to the disk array 18 in the order of write requests, the physical address from which to read data is determined by the filter driver 23 by referring to the address mapping table 172. After reading the data, the filter driver 23 notifies the application program 21 of the read completion, and ends the processing (step S207).

【0051】リード要求されたデータがログメモリ17
1に存在する場合には(ステップS201のYES)、
フィルタードライバ23は、カードドライバ25を起動
して、リード要求されたデータを読み出すためのDMA
転送の実行をカードドライバ25に要求する(ステップ
S202)。そして、フィルタードライバ23は、カー
ドドライバ25からDMA完了通知が返されるのを所定
時間待った後(ステップS203)、ログメモリ171
を含むRAIDブースタカード(RAID BOOST
ER)17が正常であるか否かを判断する(ステップS
204)。
The data requested to be read is stored in the log memory 17.
1 (YES in step S201),
The filter driver 23 activates the card driver 25 to read the data requested to be read.
It requests the card driver 25 to execute the transfer (step S202). Then, the filter driver 23 waits for a predetermined time for the DMA completion notification to be returned from the card driver 25 (step S203), and then returns to the log memory 171.
RAID Booster Card (RAID BOOST)
ER) 17 is determined to be normal (step S)
204).

【0052】例えば、ログメモリ171またはRAID
ブースタカード17自体の障害によってDMAによる読
み出しが正常に終了されず、所定時間経過してもDMA
完了通知が返されなかった場合には、ログメモリ171
からデータを読み出すことが出来ない何らかの障害(ロ
グメモリエラー)が発生したと判断される。また、ステ
ップS204ではECCステータスレジスタ173のチ
ェックも行われ、2ビットエラーの発生を示すエラース
テータスが設定されている場合には、ログメモリエラー
が発生していると判断される。
For example, the log memory 171 or RAID
Due to the failure of the booster card 17 itself, the reading by the DMA is not completed normally and the DMA
If no completion notification is returned, the log memory 171
It is determined that some failure (log memory error) in which data cannot be read from the server has occurred. In step S204, the ECC status register 173 is also checked. If an error status indicating the occurrence of a 2-bit error is set, it is determined that a log memory error has occurred.

【0053】このようなログメモリエラーが発生してお
らず、RAIDブースタカード(RAID BOOST
ER)17が正常動作している場合には(ステップS2
04のYES)、フィルタードライバ23は、アプリケ
ーションプログラム21に対してリード完了を報告して
処理を終了する(ステップS205)。
When such a log memory error has not occurred, the RAID booster card (RAID BOOST
ER) 17 is operating normally (step S2)
04 (YES), the filter driver 23 reports the read completion to the application program 21 and ends the processing (step S205).

【0054】ログメモリエラーの発生が検出された場
合、つまりRAIDブースタカード(RAID BOO
STER)17が正常動作していない場合には(ステッ
プS204のNO)、フィルタードライバ23は、ログ
メモリコピーエリア131に存在しているコピーデータ
に対してダミーデータを加えることより、1パリティグ
ループ分の書き込みデータを作成する(ステップS20
8)。そして、フィルタードライバ23は、パリティグ
ループの一括書き込み処理を実行し、ステップS208
で作成した1パリティグループ分の書き込みデータをデ
ィスクアレイ18に「まとめ書き」した後(ステップS
209)、アプリケーションプログラム21に対して書
き込みエラーの発生を通知して処理を終了する(ステッ
プS210)。
When the occurrence of a log memory error is detected, that is, when a RAID booster card (RAID BOO
If the (STER) 17 is not operating normally (NO in step S204), the filter driver 23 adds dummy data to the copy data existing in the log memory copy area 131, so that one parity group is added. Is created (step S20).
8). Then, the filter driver 23 executes a batch write process of the parity group, and executes step S208.
After the write data for one parity group created at step S is “collectively written” to the disk array 18 (step S
209), the occurrence of a write error is notified to the application program 21, and the process is terminated (step S210).

【0055】このように、データ読み出し時においても
障害検出を行い、障害発生が検出された場合には即座に
コピーデータをディスクアレイ18に書き込むことによ
り、書き込みデータの保全性の向上を図ることが可能と
なる。
As described above, the failure is detected even at the time of data reading, and when the failure is detected, the copy data is immediately written to the disk array 18, thereby improving the integrity of the write data. It becomes possible.

【0056】(ディスク障害時のダンプファイル)次
に、ディスク障害発生時に、ログメモリ171の内容を
ダンプファイルとして退避する処理について説明する。
この退避処理は、図7、図8で説明した「パリティグル
ープの一括書き込み処理」の中で行われる。
(Dump File When Disk Failure Occurs) Next, processing for saving the contents of the log memory 171 as a dump file when a disk failure occurs will be described.
This save processing is performed in the “parity group batch write processing” described with reference to FIGS. 7 and 8.

【0057】以下、「パリティグループの一括書き込み
処理」の手順を図9に示す。
FIG. 9 shows the procedure of the "parity group batch write process".

【0058】フィルタードライバ23は、まず、RAI
Dコントローラドライバ24を起動して、1パリティグ
ループ分のデータを一括してディスクアレイ18に書き
込むためのDMA転送をRAIDコントローラドライバ
24に要求する(ステップS301)。RAIDコント
ローラ16は、1パリティグループ分のデータからパリ
ティを自動生成し、空き領域の先頭ストライプへの書き
込みを試行する。
The filter driver 23 first sets the RAI
The D controller driver 24 is activated, and requests the RAID controller driver 24 to perform a DMA transfer for collectively writing data for one parity group to the disk array 18 (step S301). The RAID controller 16 automatically generates a parity from the data of one parity group, and tries to write the parity to the first stripe of the free area.

【0059】そして、フィルタードライバ23は、RA
IDコントローラドライバ24からDMA完了通知が返
されるのを所定時間待った後(ステップS302)、R
AIDコントローラドライバ24からの完了ステータス
の内容を調べること等によって、ディスクアレイ18に
障害が発生しているか否かを判断する(ステップS30
3)。ディスクアレイ18に何らかの障害が発生してお
り、ディスクアレイ18への書き込みが失敗した場合に
は(ステップS303のYES)、フィルタードライバ
23は、ログメモリ171に蓄積されている書き込みデ
ータをシステムディスク15にダンプファイルとして退
避する(ステップS304)。この場合、ダンプファイ
ルが最後まで正しく保存できたか否かを確認できるよう
にするため、図10に示すように、ダンプファイルの先
頭と末尾にはシーケンス番号などの識別子が埋め込まれ
る。
Then, the filter driver 23
After waiting for a predetermined time until the DMA completion notification is returned from the ID controller driver 24 (step S302), R
By examining the contents of the completion status from the AID controller driver 24, it is determined whether or not a failure has occurred in the disk array 18 (step S30).
3). If any failure has occurred in the disk array 18 and writing to the disk array 18 has failed (YES in step S303), the filter driver 23 sends the write data stored in the log memory 171 to the system disk 15 Is saved as a dump file (step S304). In this case, an identifier such as a sequence number is embedded at the beginning and end of the dump file as shown in FIG. 10 so that it can be checked whether or not the dump file has been correctly saved to the end.

【0060】(ダンプファイルを用いたデータ復元処
理)次に、図11のフローチャートを参照して、ダンプ
ファイルを用いたデータ復元処理について説明する。
(Data Restoring Process Using Dump File) Next, a data restoring process using a dump file will be described with reference to a flowchart of FIG.

【0061】すなわち、計算機システムが再起動され、
フィルタードライバ23がロードされると、フィルター
ドライバ23は、まず、システムディスク15にダンプ
ファイルが存在するか否か、および存在する場合にはそ
のダンプファイルの内容が正しいものであるか否かの判
断処理を行う(ステップS401)。ダンプファイルの
書き込み途中でシステムがダウンしてしまった場合など
のように、正しくないダンプファイルが記録されてしま
う場合があるからである。
That is, the computer system is restarted,
When the filter driver 23 is loaded, the filter driver 23 first determines whether a dump file exists on the system disk 15 and, if so, whether the contents of the dump file are correct. Processing is performed (step S401). This is because an incorrect dump file may be recorded, such as when the system goes down while writing the dump file.

【0062】ダンプファイルの内容が正しいものである
か否かの判定は、前述のシーケンス番号をチェックする
ことによって行うことが出来る。ダンプファイルの先頭
および末尾の双方にシーケンス番号が記録されていれ
ば、正しいダンプファイルであると判断される。この場
合、フィルタードライバ23は、パリティグループの一
括書き込み処理を実行し、ダンプファイル内の1パリテ
ィグループ分のデータをディスクアレイ18に書き込む
(ステップS402)。なお、もしダンプファイル内の
データが1パリティグループ分に足らない場合には、ダ
ミーデータを追加した後に一括書き込み処理を実行すれ
ばよい。
Whether or not the contents of the dump file are correct can be determined by checking the above-mentioned sequence number. If a sequence number is recorded at both the beginning and end of the dump file, it is determined that the dump file is correct. In this case, the filter driver 23 executes a parity group batch write process, and writes data for one parity group in the dump file to the disk array 18 (step S402). If the data in the dump file is not enough for one parity group, the batch write processing may be executed after adding the dummy data.

【0063】以上のように、本実施形態においては、書
き込みデータの2重化、ディスク障害時のダンプファイ
ル作成、等の機能を設けることにより、書き込みデータ
の保全性を向上させることが可能となり、十分な書き込
み性能と十分な信頼性を得ることができる。また、RA
IDブースタカード17の機能はRAIDコントローラ
内に搭載することも可能ではあるが、本実施形態のよう
にRAIDブースタカード17をPCIカードとして実
現することにより、既存のRAIDコントローラに何ら
変更を加えることなく、書き込み性能の向上とデータ保
全性の向上を容易に実現することが出来る。
As described above, in this embodiment, by providing functions such as duplication of write data and creation of a dump file in the event of a disk failure, the integrity of write data can be improved. Sufficient writing performance and sufficient reliability can be obtained. Also, RA
Although the function of the ID booster card 17 can be installed in the RAID controller, by implementing the RAID booster card 17 as a PCI card as in the present embodiment, the existing RAID controller can be changed without any change. In addition, it is possible to easily realize an improvement in write performance and an improvement in data integrity.

【0064】なお、本実施形態では、RAIDコントロ
ーラにてパリティを生成するようにしたが、RAIDブ
ースタカード17でパリティを生成するようにしてもよ
い。また、バックアップファイルは不揮発性の記録媒体
であれば、どこに保存するようにしてもよい。さらに、
本実施形態によるデータ保全方法は、RAID5のディ
スクアレイに特に有効ではあるが、他のRAID方式の
ディスクアレイや単一のディスク装置など、ログメモリ
171を用いて「まとめ書き」を行う構成を適用可能な
あらゆるディスクサブシステムに応用することができ
る。
In this embodiment, the parity is generated by the RAID controller. However, the parity may be generated by the RAID booster card 17. The backup file may be stored anywhere as long as it is a non-volatile recording medium. further,
The data preservation method according to the present embodiment is particularly effective for a RAID 5 disk array, but applies a configuration in which “collective writing” is performed using the log memory 171 such as another RAID type disk array or a single disk device. It can be applied to any possible disk subsystem.

【0065】[0065]

【発明の効果】以上説明したように、本発明によれば、
書き込みデータの2重化、ディスク障害時のダンプファ
イル作成、等の機能を設けることにより、ディスク装置
に対する書き込み性能の向上とデータの保全性の向上を
実現することが可能となる。
As described above, according to the present invention,
By providing functions such as duplication of write data and creation of a dump file in the event of a disk failure, it is possible to achieve an improvement in write performance to a disk device and an improvement in data integrity.

【図面の簡単な説明】[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 “collective writing” performed by the system of the embodiment.

【図3】同実施形態のシステムにおけるハードウェアと
ソフトウェアの関係を示す図。
FIG. 3 is an exemplary view showing a relationship between hardware and software in the system according to the embodiment;

【図4】同実施形態のシステムにおいて実行される書き
込みデータのコピー処理を説明するため図。
FIG. 4 is an exemplary view for explaining write data copy processing which is executed in the system of the embodiment.

【図5】同実施形態のシステムにおいて実行されるログ
データの一括書き込み処理を説明するための図。
FIG. 5 is an exemplary view for explaining batch write processing of log data executed in the system of the embodiment.

【図6】同実施形態のシステムにおいて実行されるコピ
ーデータの一括書き込み処理を説明するための図。
FIG. 6 is an exemplary view for explaining batch data write processing executed in the system according to the embodiment;

【図7】同実施形態のシステムによって実行されるデー
タ書き込み時の一連の処理の流れを示すフローチャー
ト。
FIG. 7 is an exemplary flowchart illustrating a flow of a series of processes performed by the system according to the embodiment when writing data.

【図8】同実施形態のシステムによって実行されるデー
タ読み出し時の一連の処理の流れを示すフローチャー
ト。
FIG. 8 is an exemplary flowchart showing the flow of a series of processes performed by the system of the embodiment when reading data.

【図9】同実施形態のシステムにおいて実行される一括
書き込み処理の手順を示すフローチャート。
FIG. 9 is an exemplary flowchart illustrating the procedure of a batch write process executed in the system of the embodiment.

【図10】同実施形態のシステムにおいてディスク障害
時に作成されるダンプファイルの一例を示す図。
FIG. 10 is an exemplary view showing an example of a dump file created when a disk failure occurs in the system of the embodiment.

【図11】同実施形態のシステムにおいて実行されるリ
ブート時の動作を示す図。
FIG. 11 is an exemplary view showing an operation at the time of reboot executed in the system of the embodiment.

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

11…CPU 13…主メモリ 15…システムディスク 16…RAIDコントローラ 17…RAIDブースタカード 18…ディスクアレイ 23…フィルタードライバ 25…カードドライバ 131…ログメモリコピーエリア 171…ログメモリ 173…ECCステータスレジスタ DESCRIPTION OF SYMBOLS 11 ... CPU 13 ... Main memory 15 ... System disk 16 ... RAID controller 17 ... RAID booster card 18 ... Disk array 23 ... Filter driver 25 ... Card driver 131 ... Log memory copy area 171 ... Log memory 173 ... ECC status register

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G11B 20/18 572 G11B 20/18 572F ──────────────────────────────────────────────────続 き Continued on the front page (51) Int.Cl. 7 Identification symbol FI Theme coat ゛ (Reference) G11B 20/18 572 G11B 20/18 572F

Claims (11)

【特許請求の範囲】[Claims] 【請求項1】 計算機システムに設けられたディスク装
置を制御するためのディスク制御システムにおいて、 書き込みデータを蓄積するためのログメモリを有し、前
記ログメモリに蓄積された書き込みデータを一括して前
記ディスク装置に書き込むための制御手段と、 前記ログメモリに蓄積された書き込みデータの複製を保
持する手段とを具備し、 前記書き込みデータの複製を用いて、前記ログメモリ内
の書き込みデータの保全性を確保することを特徴とする
ディスク制御システム。
1. A disk control system for controlling a disk device provided in a computer system, comprising: a log memory for storing write data; and collectively storing the write data stored in the log memory. Control means for writing to the disk device; and means for holding a copy of the write data stored in the log memory, and using the copy of the write data, to maintain the integrity of the write data in the log memory. A disk control system characterized by securing.
【請求項2】 前記ログメモリのエラーを検出するエラ
ー検出手段と、 前記エラー検出手段によるエラー検出に応答して、前記
書き込みデータの複製を前記ディスク装置に書き込む手
段とをさらに具備することを特徴とする請求項1記載の
ディスク制御システム。
2. The apparatus according to claim 1, further comprising: an error detecting unit that detects an error in the log memory; and a unit that writes a copy of the write data to the disk device in response to the error detection by the error detecting unit. The disk control system according to claim 1, wherein
【請求項3】 前記制御手段は、前記ログメモリのエラ
ーを示すエラーステータス情報を保持するステータスメ
モリを有し、 前記エラー検出手段は、前記ステータスメモリを定期的
にチェックすることにより前記ログメモリのエラーの有
無を検出することを特徴とする請求項2記載のディスク
制御システム。
3. The control unit has a status memory that holds error status information indicating an error of the log memory. The error detection unit periodically checks the status memory to check the log memory. 3. The disk control system according to claim 2, wherein presence or absence of an error is detected.
【請求項4】 前記ディスク装置は、データとパリティ
を含むパリティグループが複数台のディスク装置に対し
て横断配置されているディスクアレイから構成されてお
り、 前記制御手段は、前記ログメモリに1パリティグループ
分の書き込みデータが揃う度に前記1パリティグループ
の単位で前記ディスクアレイへの書き込みを行うことを
特徴とする請求項1記載のディスク制御システム。
4. The disk device comprises a disk array in which a parity group including data and parity is arranged across a plurality of disk devices, and the control means stores one parity in the log memory. 2. The disk control system according to claim 1, wherein writing to the disk array is performed in units of the one parity group each time write data for a group is prepared.
【請求項5】 計算機システムに設けられたディスク装
置を制御するためのディスク制御システムにおいて、 書き込みデータを蓄積するためのログメモリを有し、前
記ログメモリに蓄積された書き込みデータを一括して前
記ディスク装置に書き込むための制御手段と、 前記ディスク装置のエラーを検出するエラー検出手段
と、 前記エラー検出手段によるエラー検出に応答して、前記
ログメモリに蓄積されている書き込みデータを退避する
手段とを具備し、 前記退避した書き込みデータを用いて、前記ログメモリ
に蓄積されている書き込みデータの保全性を確保するこ
とを特徴とするディスク制御システム。
5. A disk control system for controlling a disk device provided in a computer system, comprising a log memory for storing write data, and collectively storing the write data stored in the log memory. A control unit for writing to the disk device; an error detection unit for detecting an error of the disk device; and a unit for saving write data stored in the log memory in response to the error detection by the error detection unit. A disk control system comprising: using the saved write data to ensure the integrity of the write data stored in the log memory.
【請求項6】 前記計算機システムの再起動時に、前記
退避した書き込みデータを前記ディスク装置に書き込む
データ復元手段をさらに具備することを特徴とする請求
項5記載のディスク制御システム。
6. The disk control system according to claim 5, further comprising a data restoring unit that writes the saved write data to the disk device when the computer system is restarted.
【請求項7】 前記計算機システムの再起動時に、前記
退避した書き込みデータの正当性を判定する手段をさら
に具備し、 前記データ復元手段による前記ディスク装置への書き込
みは、前記退避した書き込みデータの正当性が確認され
たときに実行されることを特徴とする請求項6記載のデ
ィスク制御システム。
7. The system according to claim 1, further comprising: a unit for judging the validity of the saved write data when the computer system is restarted. 7. The disk control system according to claim 6, wherein the disk control system is executed when the performance is confirmed.
【請求項8】 計算機システムに設けられたディスク装
置を制御するためのディスク制御システムに適用される
データ保全方法であって、 書き込みデータをログメモリに蓄積すると共に、前記書
き込みデータの複製を保持するステップと、 前記ログメモリに蓄積された書き込みデータを一括して
前記ディスク装置に書き込むステップとを具備し、 前記書き込みデータの複製を用いて、前記ログメモリ内
の書き込みデータの保全性を確保することを特徴とする
データ保全方法。
8. A data security method applied to a disk control system for controlling a disk device provided in a computer system, wherein write data is stored in a log memory and a copy of the write data is held. And collectively writing the write data stored in the log memory to the disk device, and using the copy of the write data to ensure the integrity of the write data in the log memory. A data preservation method characterized by the following.
【請求項9】 前記ログメモリのエラーを検出するエラ
ー検出ステップと、 前記ログメモリのエラー検出に応答して、前記書き込み
データの複製を前記ディスク装置に書き込むステップと
をさらに具備することを特徴とする請求項8記載のデー
タ保全方法。
9. The method according to claim 1, further comprising: an error detection step of detecting an error of the log memory; and a step of writing a copy of the write data to the disk device in response to the error detection of the log memory. 9. The data security method according to claim 8, wherein
【請求項10】 計算機システムに設けられたディスク
装置を制御するためのディスク制御システムに適用され
るデータ保全方法であって、 書き込みデータをログメモリに蓄積するステップと、 前記ログメモリに蓄積された書き込みデータを一括して
前記ディスク装置に書き込むステップと、 前記ディスク装置のエラーを検出するステップと、 前記ディスク装置のエラー検出に応答して、前記ログメ
モリに蓄積されている書き込みデータを退避するステッ
プとを具備し、 前記退避した書き込みデータを用いて、前記ログメモリ
に蓄積されている書き込みデータの保全性を確保するこ
とを特徴とするデータ保全方法。
10. A data security method applied to a disk control system for controlling a disk device provided in a computer system, comprising: a step of storing write data in a log memory; and a step of storing write data in the log memory. Collectively writing the write data to the disk device; detecting an error in the disk device; and evacuating the write data stored in the log memory in response to the error detection in the disk device. Using the saved write data to secure the integrity of the write data stored in the log memory.
【請求項11】 前記計算機システムの再起動時に、前
記退避した書き込みデータを前記ディスク装置に書き込
むステップをさらに具備することを特徴とする請求項1
0記載のデータ保全方法。
11. The method according to claim 1, further comprising the step of writing the saved write data to the disk device when the computer system is restarted.
0 Data security method.
JP24885999A 1999-09-02 1999-09-02 Disk control system and data maintenance method Pending JP2001075741A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24885999A JP2001075741A (en) 1999-09-02 1999-09-02 Disk control system and data maintenance method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24885999A JP2001075741A (en) 1999-09-02 1999-09-02 Disk control system and data maintenance method

Publications (1)

Publication Number Publication Date
JP2001075741A true JP2001075741A (en) 2001-03-23

Family

ID=17184495

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24885999A Pending JP2001075741A (en) 1999-09-02 1999-09-02 Disk control system and data maintenance method

Country Status (1)

Country Link
JP (1) JP2001075741A (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003099291A (en) * 2001-09-21 2003-04-04 Hitachi Ltd Network storage system and its control method
US6785783B2 (en) * 2000-11-30 2004-08-31 International Business Machines Corporation NUMA system with redundant main memory architecture
JP2006268403A (en) * 2005-03-24 2006-10-05 Fujitsu Ltd Data storage system and equivalence control method for log data of storage control unit
JP2008140059A (en) * 2006-11-30 2008-06-19 Canon Inc Data input and output device
JP2011524555A (en) * 2008-12-04 2011-09-01 株式会社日立製作所 Storage system having volatile memory and nonvolatile memory
JP2013506190A (en) * 2009-09-29 2013-02-21 マイクロン テクノロジー, インク. Stripe-based memory operation
JP2015130037A (en) * 2014-01-07 2015-07-16 日本電気株式会社 Raid controller, raid device, and information processing apparatus using the same
CN111400084A (en) * 2019-01-02 2020-07-10 慧荣科技股份有限公司 Method and apparatus for dynamic recovery management of fault-tolerant raid
US11853103B2 (en) 2019-05-28 2023-12-26 Denso Corporation Vehicular device
US11884283B2 (en) 2019-05-31 2024-01-30 Denso Corporation Vehicle device

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6785783B2 (en) * 2000-11-30 2004-08-31 International Business Machines Corporation NUMA system with redundant main memory architecture
JP2003099291A (en) * 2001-09-21 2003-04-04 Hitachi Ltd Network storage system and its control method
JP2006268403A (en) * 2005-03-24 2006-10-05 Fujitsu Ltd Data storage system and equivalence control method for log data of storage control unit
JP2008140059A (en) * 2006-11-30 2008-06-19 Canon Inc Data input and output device
JP2011524555A (en) * 2008-12-04 2011-09-01 株式会社日立製作所 Storage system having volatile memory and nonvolatile memory
JP2013506190A (en) * 2009-09-29 2013-02-21 マイクロン テクノロジー, インク. Stripe-based memory operation
JP2015130037A (en) * 2014-01-07 2015-07-16 日本電気株式会社 Raid controller, raid device, and information processing apparatus using the same
CN111400084A (en) * 2019-01-02 2020-07-10 慧荣科技股份有限公司 Method and apparatus for dynamic recovery management of fault-tolerant raid
CN111400084B (en) * 2019-01-02 2023-06-20 慧荣科技股份有限公司 Method and apparatus for dynamic recovery management for fault tolerant disk arrays
US11853103B2 (en) 2019-05-28 2023-12-26 Denso Corporation Vehicular device
US11884283B2 (en) 2019-05-31 2024-01-30 Denso Corporation Vehicle device

Similar Documents

Publication Publication Date Title
US7069465B2 (en) Method and apparatus for reliable failover involving incomplete raid disk writes in a clustering system
US6330642B1 (en) Three interconnected raid disk controller data processing system architecture
US7818556B2 (en) Storage apparatus, control method, and control device which can be reliably started up when power is turned on even after there is an error during firmware update
US7421535B2 (en) Method for demoting tracks from cache
US6523087B2 (en) Utilizing parity caching and parity logging while closing the RAID5 write hole
JP3129732B2 (en) Storage array with copy-back cache
US7152184B2 (en) Storage device, backup method and computer program code of this storage device
US5951691A (en) Method and system for detection and reconstruction of corrupted data in a data storage subsystem
US7047358B2 (en) High-performance log-structured RAID
US7055058B2 (en) Self-healing log-structured RAID
US7590884B2 (en) Storage system, storage control device, and storage control method detecting read error response and performing retry read access to determine whether response includes an error or is valid
US6243827B1 (en) Multiple-channel failure detection in raid systems
US5734814A (en) Host-based RAID-5 and NV-RAM integration
US6604171B1 (en) Managing a cache memory
CN112181298B (en) Array access method, array access device, storage equipment and machine-readable storage medium
US7293138B1 (en) Method and apparatus for raid on memory
JP7318367B2 (en) Storage control device and storage control program
JP2001075741A (en) Disk control system and data maintenance method
JPH09269871A (en) Data re-redundancy making system in disk array device
US7529776B2 (en) Multiple copy track stage recovery in a data storage system
US7577804B2 (en) Detecting data integrity
US7529966B2 (en) Storage system with journaling
CN112119380A (en) Parity recording with bypass
JP3944280B2 (en) Failure recovery method and apparatus
JP2002169660A (en) Data storage array apparatus, its control method, program recording medium and program

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: 20070501

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070515

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070713

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071127