JP2006268523A - Disk array device - Google Patents

Disk array device Download PDF

Info

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
Application number
JP2005086466A
Other languages
Japanese (ja)
Inventor
Hiroyuki Hagiwara
博之 萩原
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2005086466A priority Critical patent/JP2006268523A/en
Publication of JP2006268523A publication Critical patent/JP2006268523A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a disk array device for reducing a bottleneck of a cache memory by eliminating useless access to the cache memory as much as possible. <P>SOLUTION: A WT flag, an MOD flag, a PG flag and a TYPE flag are provided in management information for managing the cache memory 20, data on a cache page used for parity generation are data written from a host by fast writing, it is possible to recognize that parity update by the data is not completed, and in this case, the parity is updated by write data from the host in the same manner as that of a normal cache hit. <P>COPYRIGHT: (C)2007,JPO&INPIT

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 RAID 1, 3, 4, 5, etc. according to the redundant data generating method. Furthermore, today, a method called RAID 6 that can be restored even if a failure occurs in a plurality of disks is recognized as a method that emphasizes reliability. As documents describing the RAID architecture, there are Patent Document 1 and Patent Document 2.

これらのうち、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.

特開2000−112668号公報JP 2000-112668 A 特開2003−228461号公報JP 2003-228461 A

第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 host interface 1 performs communication and data transfer with a host computer.

ホストディレクタ10〜11は、ホストコンピュータからの要求に対してキャッシュメモリ20上に記録されているキャッシュ管理情報よりキャッシュヒット判定を行い、ヒットならば該当キャッシュページに対するアクセスを行い、ミスヒットならばディスクディレクタ30に対してディスクデータを要求する。   The host directors 10 to 11 make a cache hit determination based on the cache management information recorded on the cache memory 20 in response to a request from the host computer, access the corresponding cache page if it is a hit, and disk if it is a miss. Disk data is requested to the director 30.

キャッシュメモリ20は、ホストディレクタ10、11、及びディスクディレクタ30からの要求に合わせてライトデータの書き込み、リードデータの返却を行う。また、本キャッシュメモリ20は、論理的に多数のキャッシュページを単位として管理されており、その管理情報もキャッシュメモリ20上に格納されている。更に、管理情報の中には、図3で示される様にWTフラグ、MODフラグ、PGフラグ、TYPEフラグが含まれている。   The cache memory 20 writes write data and returns read data in response to requests from the host directors 10 and 11 and the disk director 30. The cache memory 20 is logically managed in units of a large number of cache pages, and the management information is also stored on the cache memory 20. Further, the management information includes a WT flag, a MOD flag, a PG flag, and a TYPE flag as shown in FIG.

通信手段40は、ホストディレクタ10、11とディスクディレクタ30間の通信を可能とし、各々のディレクタに対し割り込みを発生されることが可能である。   The communication means 40 enables communication between the host directors 10 and 11 and the disk director 30 and can generate an interrupt for each director.

ディスクディレクタ30は、ホストディレクタ10、11からの要求に従い、ディスク装置4〜8のデータの読み出しを行い、キャッシュメモリ20にデータをロードし、また、ホストディレクタ10、11によってFASTライトされたデータに対しては内蔵のEXORエンジン31によって適時パリティデータの生成を行う。また、パリティデータの生成後にFASTライトされたデータと生成されたパリティをディスク装置4〜8の該当ブロックに書き込む機能を有する。内蔵のEXORエンジン31は、ディスクディレクタ30の指示に従い転送を中断、再起動することが可能となっている。   The disk director 30 reads data from the disk devices 4 to 8 according to a request from the host directors 10 and 11, loads the data into the cache memory 20, and converts the data that has been FAST-written by the host directors 10 and 11. In contrast, the built-in EXOR engine 31 generates parity data in a timely manner. In addition, it has a function of writing data that has been FAST-written after the generation of parity data and the generated parity into the corresponding blocks of the disk devices 4-8. The built-in EXOR engine 31 can be interrupted and restarted in accordance with an instruction from the disk director 30.

以上詳細に実施例の構成を述べたが、図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 host director 10 receives a write request from the host computer via the host interface 1. The host director 10 searches the management information of the cache memory 20 from the requested logical address and length of the disk, and determines whether or not the data at the corresponding address exists in the cache memory (hit determination). In addition, the management information for each cache page includes information as shown in FIG. 3, and whether the hit cache page is in use (BUSY = '1') or not, and what kind of transfer is in use. It is determined from the WT flag, the MOD flag, the PG flag, and the TYPE flag.

使用中でなければ(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 host director 10 is in use. The cache page is executed, and when the page for the transfer length is secured, the host computer is notified that the data can be written, and the write transfer is started.

キャッシュページが使用中であっても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 disk director 30 via the communication means 40. The interrupt of the transfer for generation is instructed and the host computer is notified that the data can be written, and the write transfer is started.

ディスクディレクタ30は、ホストディレクタ10からの転送中断指示を受け取ると、該当する転送を行っているEXORエンジン31の転送を中断させる。このとき、キャッシュページは、使用中のままとし、いつでも該当キャッシュページが使用できるようにする。   When receiving the transfer interruption instruction from the host director 10, the disk director 30 interrupts the transfer of the EXOR engine 31 performing the corresponding transfer. At this time, the cache page remains in use so that the corresponding cache page can be used at any time.

ホストコンピュータからのライト転送が正常に完了すると、ホストディレクタ10は、中断させていた転送のリスタートを通信手段40を使ってディスクディレクタ30に指示する。   When the write transfer from the host computer is normally completed, the host director 10 instructs the disk director 30 to restart the interrupted transfer using the communication means 40.

ディスクディレクタ30は、ホストディレクタ10からの指示を受け取ると、EXORエンジン31を使って中断された転送のリスタートを行い、ホストコンピュータから新たにライトされたデータD0n+2と更新前のデータD0nと更新前パリティデータPnから新パリティデータPn+2が生成される。   Upon receiving the instruction from the host director 10, the disk director 30 restarts the interrupted transfer using the EXOR engine 31, and newly writes the data D0n + 2 written before from the host computer, the data D0n before update, and the data before update. New parity data Pn + 2 is generated from the parity data Pn.

また、キャッシュページが使用中である場合の別のケースとして、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 disk director 30, the same as shown in FIG. Similarly, when data in a parity group (assumed to be 4 data + 1 parity here) exists in the cache and a transfer for generating new parity Pn + 1 from these data D0n + 1, D1n + 1, D2n + 1, D3n + 1 is activated. When the host director 10 updates the data D0n + 2 and restarts the transfer, a new parity Pn + 2 can be obtained.

キャッシュメモリを搭載したディスクアレイ装置の概略構成ブロック図である。It is a schematic block diagram of a disk array device equipped with a cache memory. 最新データが全てキャッシュ上に存在する場合のパリティ生成を説明するための図である。It is a figure for demonstrating the parity production | generation when all the newest data exist on a cache. キャッシュメモリ上の管理情報を示す図である。It is a figure which shows the management information on a cache memory. 通常のパリティ生成イメージ(タイプ0)を説明するための図である。It is a figure for demonstrating a normal parity production | generation image (type 0).

符号の説明Explanation of symbols

1 ホストインターフェース
10、11 ホストディレクタ
20 キャッシュメモリ
30 ディスクディレクタ
31 EXORエンジン
40 通信手段
4〜8 ディスク装置
DESCRIPTION OF SYMBOLS 1 Host interface 10, 11 Host director 20 Cache memory 30 Disk director 31 EXOR engine 40 Communication means 4-8 Disk apparatus

Claims (2)

キャッシュメモリを使って処理の高速化、及びパリティデータ生成を行うディスクアレイ装置において、ライトヒットしたキャッシュページが使用中であった場合においても、該当するデータがパリティデータ生成に使用しているのであれば、通常のライトヒット動作と同様に前記キャッシュページへの書き込みを可能としたことを特徴とするディスクアレイ装置。 In a disk array device that uses cache memory to increase processing speed and generate parity data, even if the cache page that was hit by write is in use, the corresponding data is used for parity data generation. For example, the disk array device can write to the cache page in the same manner as a normal write hit operation. 前記キャッシュメモリは、前記キャッシュページを管理する管理領域を有し、前記管理領域は、WTフラグ、MODフラグ、PGフラグ、TYPEフラグを有することを特徴とする請求項1記載のディスクアレイ装置。
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.
JP2005086466A 2005-03-24 2005-03-24 Disk array device Withdrawn JP2006268523A (en)

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)

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