JP2006268523A - Disk array device - Google Patents
Disk array device Download PDFInfo
- Publication number
- JP2006268523A JP2006268523A JP2005086466A JP2005086466A JP2006268523A JP 2006268523 A JP2006268523 A JP 2006268523A JP 2005086466 A JP2005086466 A JP 2005086466A JP 2005086466 A JP2005086466 A JP 2005086466A JP 2006268523 A JP2006268523 A JP 2006268523A
- Authority
- JP
- Japan
- Prior art keywords
- data
- cache
- flag
- cache memory
- parity
- 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.)
- Withdrawn
Links
Images
Abstract
Description
本発明は、ディスクアレイ装置に関し、特に、データの一時記憶手段としてキャッシュメモリを使用して高速処理を行うディスクアレイ装置に関する。 The present invention relates to a disk array device, and more particularly to a disk array device that performs high-speed processing using a cache memory as a temporary data storage unit.
ディスクアレイ装置とは、カリフォルニア大学バークレー校において考案された「RAIDアーキテクチャ」を用いた、複数の磁気ディスク装置を内蔵するファイル装置であり、データを格納する1台以上のデータディスクとそれらの冗長データを格納する1台以上の冗長ディスクによってデータが管理されている。 A disk array device is a file device that incorporates a plurality of magnetic disk devices using the “RAID architecture” devised at the University of California, Berkeley. One or more data disks that store data and their redundant data Data is managed by one or more redundant disks that store.
「RAIDアーキテクチャ」には、冗長データの生成にいくつかの方法が提唱されており、その冗長データの生成方法によってRAID1、3、4、5などに分類される。更に今日では複数台のディスクに故障が発生しても復旧が可能であるRAID6と呼ばれるより信頼性に重点をおいた方式も認知されている。RAIDアーキテクチャを記載の文献としては、特許文献1、特許文献2がある。
In the “RAID architecture”, several methods are proposed for generating redundant data, which are classified into
これらのうち、RAID3、4、5、6は冗長データをパリティ演算することにより求めている為、ライト動作時におけるパリティ生成によるオーバーヘッド(以降ライトペナルティ)が発生し、性能の面、特にライト性能で課題を残していた。 Among these, RAID 3, 4, 5, and 6 are obtained by performing parity operation on redundant data, so overhead due to parity generation during the write operation (hereinafter referred to as write penalty) occurs, and in terms of performance, particularly write performance. I left a challenge.
この問題を解決する一つの方法としてキャッシュメモリを使用することが一般に知られている。特に、キャッシュメモリを不揮発メモリとすることにより、ライトデータをキャッシュメモリに書き込んだ時点で完了とするFASTライト方式を用いることによりホストに対するレスポンスは飛躍的に高速化した。 It is generally known to use a cache memory as one method for solving this problem. In particular, by using a non-volatile memory as the cache memory, the response to the host has been dramatically increased by using the FAST write method that is completed when write data is written into the cache memory.
第1の問題点は、 FASTライト方式によってキャッシュメモリ上に書き込まれたデータに対するパリティデータの更新処理は、ホストコンピュータからの要求とは非同期に行われるため、その後のホストコンピュータからのライト動作がキャッシュメモリ上のデータにヒットした場合であっても、該当データがパリティデータ生成のために使用されているため更新できないことがあるという点である。 The first problem is that the update process of parity data for data written on the cache memory by the FAST write method is performed asynchronously with the request from the host computer, and the subsequent write operation from the host computer is cached. Even when data on the memory is hit, the data may not be updated because the data is used for generating parity data.
例えば、図4においてキャッシュメモリ上に更新前データD0nと新データD0n+1、更新前パリティデータPnがあり、それらを使って新パリティデータPn+1を生成しているとする。ここへ新データD0n+1に対する更に新しいデータD0n+2のライト要求が発生した場合、キャッシュヒットはするが、該当キャッシュページがビジー中のため、別にキャッシュページをオープンしそこに最新データD0n+2を格納しなくてはならない。その後、新パリティデータPn+1の生成が完了した後、更新前データとなったD0n+1と更新後データD0n+2とパリティデータPn+1から、再度新パリティデータPn+2を生成することになる。 For example, in FIG. 4, it is assumed that there is pre-update data D0n, new data D0n + 1, and pre-update parity data Pn on the cache memory, and new parity data Pn + 1 is generated using them. If a new data D0n + 1 write request for new data D0n + 1 occurs here, a cache hit occurs, but the corresponding cache page is busy, so another cache page must be opened and the latest data D0n + 2 stored therein. Don't be. Thereafter, after the generation of new parity data Pn + 1 is completed, new parity data Pn + 2 is generated again from D0n + 1, post-update data D0n + 2, and parity data Pn + 1 that have become pre-update data.
本ケースでは、新パリティデータPn+2を生成する為に、6回のリード転送と2回のライト転送が行われ、また、キャッシュページも余分に使用することとなった。 In this case, in order to generate new parity data Pn + 2, six read transfers and two write transfers are performed, and an extra cache page is used.
最近では、データの一括管理を目的として多数のホストコンピュータからの要求を処理する為に、ホストディレクタポートがますます増え、キャッシュメモリへのアクセスがボトルネックとなってしまうという問題がある。 Recently, in order to process requests from a large number of host computers for the purpose of batch management of data, there is an increasing number of host director ports, and there is a problem that access to the cache memory becomes a bottleneck.
本発明の目的は、キャッシュメモリを使用して高速処理を実現するディスクアレイ装置において、キャッシュメモリへの無駄なアクセスを極力なくし、キャッシュメモリのボトルネックを軽減するディスクアレイ装置を提供することにある。 An object of the present invention is to provide a disk array device that reduces unnecessary bottlenecks of the cache memory by minimizing unnecessary access to the cache memory in a disk array device that realizes high-speed processing using the cache memory. .
本発明のディスクアレイ装置は、キャッシュメモリを使って処理の高速化、及びパリティデータ生成を行うディスクアレイ装置において、ライトヒットしたキャッシュページが使用中であった場合においても、該当するデータがパリティデータ生成に使用しているのであれば、通常のライトヒット動作と同様にキャッシュページへの書き込みを可能としたことを特徴とするディスクアレイ装置。 In the disk array device of the present invention, in a disk array device that uses a cache memory to increase processing speed and generate parity data, even when a cache page that has been hit by write is in use, the corresponding data is parity data. A disk array device characterized in that if it is used for generation, writing to a cache page is possible in the same way as a normal write hit operation.
キャッシュメモリは、キャッシュページを管理する管理領域を有し、管理領域は、WTフラグ、MODフラグ、PGフラグ、TYPEフラグを有することを特徴とする。 The cache memory has a management area for managing cache pages, and the management area has a WT flag, a MOD flag, a PG flag, and a TYPE flag.
本発明のディスクアレイ装置は、ホストコンピュータからのライト転送において キャッシュヒットしたキャッシュページが既に使用中であったとしても、ある条件下の元で通常のキャッシュヒット動作と同様にライトデータを処理することが可能となり、更に、既に動作中である無駄な転送を中断させることにより、キャッシュメモリに対するアクセスを低減させ、キャッシュメモリのボトルネックを軽減することができるという効果がある。 The disk array device of the present invention processes write data in the same manner as a normal cache hit operation under a certain condition even when a cache page hit by a cache transfer in a write transfer from a host computer is already in use. Further, it is possible to reduce the access to the cache memory and reduce the bottleneck of the cache memory by interrupting useless transfer that is already in operation.
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。 Next, the best mode for carrying out the present invention will be described in detail with reference to the drawings.
図1は、キャッシュメモリを搭載したディスクアレイ装置の概略構成ブロック図である。 FIG. 1 is a schematic block diagram of a disk array device equipped with a cache memory.
図1を参照すると、ホストインターフェース1は、ホストコンピュータとの通信、データ転送を行う。
Referring to FIG. 1, the
ホストディレクタ10〜11は、ホストコンピュータからの要求に対してキャッシュメモリ20上に記録されているキャッシュ管理情報よりキャッシュヒット判定を行い、ヒットならば該当キャッシュページに対するアクセスを行い、ミスヒットならばディスクディレクタ30に対してディスクデータを要求する。
The
キャッシュメモリ20は、ホストディレクタ10、11、及びディスクディレクタ30からの要求に合わせてライトデータの書き込み、リードデータの返却を行う。また、本キャッシュメモリ20は、論理的に多数のキャッシュページを単位として管理されており、その管理情報もキャッシュメモリ20上に格納されている。更に、管理情報の中には、図3で示される様にWTフラグ、MODフラグ、PGフラグ、TYPEフラグが含まれている。
The
通信手段40は、ホストディレクタ10、11とディスクディレクタ30間の通信を可能とし、各々のディレクタに対し割り込みを発生されることが可能である。
The communication means 40 enables communication between the
ディスクディレクタ30は、ホストディレクタ10、11からの要求に従い、ディスク装置4〜8のデータの読み出しを行い、キャッシュメモリ20にデータをロードし、また、ホストディレクタ10、11によってFASTライトされたデータに対しては内蔵のEXORエンジン31によって適時パリティデータの生成を行う。また、パリティデータの生成後にFASTライトされたデータと生成されたパリティをディスク装置4〜8の該当ブロックに書き込む機能を有する。内蔵のEXORエンジン31は、ディスクディレクタ30の指示に従い転送を中断、再起動することが可能となっている。
The
以上詳細に実施例の構成を述べたが、図1のディスク装置4〜8は、当業者にとってよく知られており、また本発明とは直接関係しないので、その詳細な構成は省略する。 Although the configuration of the embodiment has been described in detail above, the disk devices 4 to 8 in FIG. 1 are well known to those skilled in the art and are not directly related to the present invention, so the detailed configuration is omitted.
次に、上述のように構成したディスクアレイ装置のキャッシュの制御方法について、図1を参照して説明する。 Next, a cache control method of the disk array device configured as described above will be described with reference to FIG.
ホストディレクタ10は、ホストインターフェース1を介してホストコンピュータからのライト要求を受け取る。ホストディレクタ10は、要求されたディスクの論理アドレスとレングスからキャッシュメモリ20の管理情報を検索し、キャッシュメモリ上に該当アドレスのデータが存在するかどうかを判定する(ヒット判定)。また、キャッシュページ毎の管理情報には、図3に示す様な情報が含まれており、ヒットしたキャッシュページが使用中(BUSY=‘1’)かどうか、使用中であればどのような転送で使用されているのかをWTフラグ、MODフラグ、PGフラグ、TYPEフラグより判断する。
The
使用中でなければ(BUSY=‘0’)、ホストディレクタ10が使用中であることを示すために、BUSY=‘1’、ID=‘10’として管理情報の更新を行い、これを、該当するキャッシュページ分実施し、転送長分のページが確保できたらホストコンピュータに対してデータ書き込み可能状態であることを通知し、ライト転送が開始される。
If it is not in use (BUSY = '0'), management information is updated with BUSY = '1' and ID = '10 'to indicate that the
キャッシュページが使用中であってもWT=‘0’且つMOD=‘1’且つPG=‘1’且つTYPE=‘0’の場合、つまり、ディスクディレクタ30によって、図4に示すような更新前データD0nと新データD0n+1と更新前パリティPnから新パリティPn+1を生成する転送が起動されているケースにおけるD0n+1に対するライトヒットの場合は、通信手段40を介してディスクディレクタ30に対して該当データのパリティ生成のための転送の中断を指示すると共にホストコンピュータに対してデータ書き込み可能状態であることを通知し、ライト転送が開始される。
Even when the cache page is in use, when WT = '0', MOD = '1', PG = '1', and TYPE = '0', that is, before update as shown in FIG. In the case of a write hit to D0n + 1 in the case where the transfer for generating the new parity Pn + 1 from the data D0n, the new data D0n + 1, and the pre-update parity Pn is started, the parity of the corresponding data is transmitted to the
ディスクディレクタ30は、ホストディレクタ10からの転送中断指示を受け取ると、該当する転送を行っているEXORエンジン31の転送を中断させる。このとき、キャッシュページは、使用中のままとし、いつでも該当キャッシュページが使用できるようにする。
When receiving the transfer interruption instruction from the
ホストコンピュータからのライト転送が正常に完了すると、ホストディレクタ10は、中断させていた転送のリスタートを通信手段40を使ってディスクディレクタ30に指示する。
When the write transfer from the host computer is normally completed, the
ディスクディレクタ30は、ホストディレクタ10からの指示を受け取ると、EXORエンジン31を使って中断された転送のリスタートを行い、ホストコンピュータから新たにライトされたデータD0n+2と更新前のデータD0nと更新前パリティデータPnから新パリティデータPn+2が生成される。
Upon receiving the instruction from the
また、キャッシュページが使用中である場合の別のケースとして、WT=‘0’且つPG=‘1’且つTYPE=‘1’の場合、つまり、ディスクディレクタ30によって、図2に示す様な同一パリティグループ(ここでは4データ+1パリティと仮定)内のデータがキャッシュ上に存在し、それらのデータD0n+1、D1n+1、D2n+1、D3n+1から新パリティPn+1を生成する転送が起動されている場合においても同様に、ホストディレクタ10がデータD0n+2を更新後に転送をリスタートすることにより、新パリティPn+2を得ることができる。
Further, as another case when the cache page is in use, when WT = '0', PG = '1', and TYPE = '1', that is, by the
1 ホストインターフェース
10、11 ホストディレクタ
20 キャッシュメモリ
30 ディスクディレクタ
31 EXORエンジン
40 通信手段
4〜8 ディスク装置
DESCRIPTION OF
Claims (2)
2. The disk array device according to claim 1, wherein the cache memory has a management area for managing the cache page, and the management area has a WT flag, a MOD flag, a PG flag, and a TYPE flag.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005086466A JP2006268523A (en) | 2005-03-24 | 2005-03-24 | Disk array device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005086466A JP2006268523A (en) | 2005-03-24 | 2005-03-24 | Disk array device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006268523A true JP2006268523A (en) | 2006-10-05 |
Family
ID=37204413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005086466A Withdrawn JP2006268523A (en) | 2005-03-24 | 2005-03-24 | Disk array device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006268523A (en) |
-
2005
- 2005-03-24 JP JP2005086466A patent/JP2006268523A/en not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10289556B2 (en) | Techniques to perform power fail-safe caching without atomic metadata | |
KR102403034B1 (en) | Dynamic garbage collection p/e policies for redundant storage blocks and distributed software stacks | |
US8595451B2 (en) | Managing a storage cache utilizing externally assigned cache priority tags | |
KR101702201B1 (en) | Optimized context drop for a solid state drive(ssd) | |
US7975168B2 (en) | Storage system executing parallel correction write | |
JP6882662B2 (en) | Migration program, information processing device and migration method | |
JP2001166993A (en) | Memory control unit and method for controlling cache memory | |
JP6192660B2 (en) | Computer-implemented process, computer program product, and apparatus for managing a staging area | |
TW201324154A (en) | Memory storage system, and central control device, management method and recovery method | |
JP2008015769A (en) | Storage system and writing distribution method | |
JP2005293205A (en) | Storage control device, control method, and control program | |
JP2007188499A (en) | Method and apparatus for reducing page replacement time in system using demand paging technique | |
KR20170042593A (en) | Flushing in file system | |
US9471253B2 (en) | Use of flash cache to improve tiered migration performance | |
JP4461089B2 (en) | Storage control apparatus and storage control method | |
JP2006099802A (en) | Storage controller, and control method for cache memory | |
JP2015052853A (en) | Storage controller, storage control method, and program | |
JP2006268523A (en) | Disk array device | |
JP2012022584A (en) | Data copying apparatus, data copying method, and storage device | |
JP2009054050A (en) | Raid apparatus, control unit for raid apparatus, and write-back control method for raid apparatus | |
JP2009163310A (en) | Disk array device, physical disk restoration method, and physical disk restoration program | |
KR101831126B1 (en) | The controlling method of the data processing apparatus in storage | |
JP2023110180A (en) | Storage apparatus and control method | |
JP2000047941A (en) | Disk cache controller | |
KR20220068263A (en) | Redundant-copy cache using heterogeneous memory types |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080603 |