JP2006146633A - Disk array controller and method, and disk array system - Google Patents

Disk array controller and method, and disk array system Download PDF

Info

Publication number
JP2006146633A
JP2006146633A JP2004336904A JP2004336904A JP2006146633A JP 2006146633 A JP2006146633 A JP 2006146633A JP 2004336904 A JP2004336904 A JP 2004336904A JP 2004336904 A JP2004336904 A JP 2004336904A JP 2006146633 A JP2006146633 A JP 2006146633A
Authority
JP
Japan
Prior art keywords
data
disk
bytes
disk array
cache memory
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
JP2004336904A
Other languages
Japanese (ja)
Inventor
Masaya Suenaga
雅也 末永
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 JP2004336904A priority Critical patent/JP2006146633A/en
Publication of JP2006146633A publication Critical patent/JP2006146633A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a disk array system or the like capable of normally executing a retry process even in any failure occurrence in writing. <P>SOLUTION: A disk adapter 20 has following first and second functions. The first function reads data C1 of 33,280 bytes (512 bytes × 65 sectors) that are the least common multiple of 512 and 520 from disks 51-52, rewrites a part or all of the data C1 to new data sent from a host computer to form data C2 (520 bytes × 64 sectors), and writes the data C2 into a memory. The second function reads the data C2 from the memory 12, converts them into data C3 (512 bytes × 65 sectors), and writes them into the disks 51-5n when failure occurs in the disk adapter 30 when the disk adapter 30 reads the data C2 and writes them into the disks 51-5n. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、複数のディスク装置を並列に接続し、全体をまとめて制御することにより、データ転送の高速化及びデータ障害耐久性の向上を図った、ディスクアレイシステム等に関する。なお、本明細書では、特許請求の範囲における「キャッシュメモリ」及び「ディスク装置」を、それぞれ「メモリ」及び「ディスク」と略称する。   The present invention relates to a disk array system or the like that achieves higher data transfer speed and improved data failure durability by connecting a plurality of disk devices in parallel and controlling the whole as a whole. In the present specification, “cache memory” and “disk device” in claims are abbreviated as “memory” and “disk”, respectively.

ディスクアレイシステムは、複数のディスクと、これらのディスクとホストコンピュータとの間で伝送されるデータを一時的に記憶するメモリと、メモリと複数のディスクとの間でのデータ転送を制御するとともに冗長構成を有する二つのディスクアダプタと、を備えている(例えば下記特許文献1)。   A disk array system is a redundant system that controls multiple disks, memory that temporarily stores data transmitted between these disks and the host computer, and data transfer between the memory and the multiple disks. And two disk adapters having a configuration (for example, Patent Document 1 below).

従来のディスクアレイシステムにおいて、ディスク及びメモリのアクセスの最小単位がそれぞれ別々の値に固定されているものがある。例えば図4[1]に示すように、ディスクでは1セクタが512バイトになっている。これに対して、メモリでは512バイトに8バイトのCRC(Cyclic Redundancy Check)を付加した520バイトが1セクタになっている。それぞれ1セクタがアクセスの最小単位である。   In some conventional disk array systems, the minimum unit of disk and memory access is fixed to different values. For example, as shown in FIG. 4 [1], one sector is 512 bytes in the disk. On the other hand, in the memory, 520 bytes obtained by adding 8-byte CRC (Cyclic Redundancy Check) to 512 bytes is one sector. Each sector is a minimum unit of access.

特表2002−520691号公報Japanese translation of PCT publication No. 2002-520691

しかしながら、従来のディスクアレイシステムでは次のような問題があった。   However, the conventional disk array system has the following problems.

図4[2]に示すように、メモリに保存された書き込みデータの前後のデータをディスクへ書き込んでいる最中に、そのディスクアダプタで障害が発生して転送が異常終了すると、もう一方のディスクアダプタ側からリトライすることになる。しかし、書き込みデータの前後のデータは以前に書き込まれたデータであるため、障害発生前にどこまで書き込まれたのかが判断できない。そのため、もう一度ディスクからデータを読み出して書き込むリトライ処理を実行できないため、前後のデータが失われてしまう可能性があった。   As shown in FIG. 4 [2], when data before and after the write data stored in the memory is being written to the disk, if the disk adapter fails and the transfer ends abnormally, the other disk You will retry from the adapter side. However, since the data before and after the write data is previously written data, it cannot be determined how far the data has been written before the failure occurred. For this reason, the retry process of reading and writing data from the disk once again cannot be executed, and the previous and subsequent data may be lost.

そこで、本発明の目的は、どのような書き込み時の障害発生に対しても正常なリトライ処理を実行できるディスクアレイシステム等を提供することにある。   SUMMARY OF THE INVENTION An object of the present invention is to provide a disk array system and the like that can execute normal retry processing in response to any writing failure.

本発明に係るディスクアレイ制御装置は、複数のディスクとメモリとの間で、データ転送を制御するとともに、冗長構成を有する複数のディスクアダプタから成る。ディスクは、アクセスの最小単位がAバイトに固定されている。メモリは、ディスクとホストコンピュータとの間で伝送されるデータを一時的に記憶するとともに、アクセスの最小単位がBバイトに固定されている。ただし、A,Bは自然数かつA≠Bである。そして、各ディスクアダプタは、次の第一及び第二の機能を有する。第一の機能は、A,Bの公倍数であるCバイトのデータC1をディスクから読み出し、このデータC1の一部又は全部をホストコンピュータから送られた新たなデータに書き換えてデータC2とし、このデータC2をメモリに書き込む。第二の機能は、他のディスクアダプタがデータC2をメモリから読み出してデータC3としてディスクに書き込んでいる時に他のディスクアダプタに障害が発生すると、データC2をメモリから読み出してデータC3としてディスクに書き込む。   The disk array control apparatus according to the present invention includes a plurality of disk adapters that control data transfer between a plurality of disks and memories and have a redundant configuration. The minimum access unit of the disk is fixed to A bytes. The memory temporarily stores data transmitted between the disk and the host computer, and the minimum unit of access is fixed to B bytes. However, A and B are natural numbers and A ≠ B. Each disk adapter has the following first and second functions. The first function is to read C-byte data C1 which is a common multiple of A and B from the disk, and rewrite a part or all of this data C1 with new data sent from the host computer to obtain data C2. Write C2 to memory. The second function is to read data C2 from the memory and write it to the disk as data C3 when another disk adapter is reading data C2 from the memory and writing it as data C3 to the disk. .

CはA,Bの公倍数であるから、C/AもC/Bも自然数になる。そのため、データC1〜C3は、Cバイトであるから、ディスクにもメモリにもアクセスが可能となる。本発明では、この性質を利用している。つまり、CバイトのデータC1をディスクから読み出し、このデータC1の一部又は全部をホストコンピュータから送られた新たなデータに書き換えてデータC2とし、このデータC2をメモリに書き込む。これにより、一のディスクアダプタがディスクへ書き込んでいる最中にどのような障害が発生しても、他のディスクアダプタがデータC2をメモリから読み出してデータC3としてディスクに書き込むことができる。   Since C is a common multiple of A and B, both C / A and C / B are natural numbers. Therefore, since the data C1 to C3 are C bytes, both the disk and the memory can be accessed. In the present invention, this property is utilized. That is, the C-byte data C1 is read from the disk, and a part or all of the data C1 is rewritten with new data sent from the host computer to obtain data C2, and the data C2 is written into the memory. Thus, no matter what failure occurs while one disk adapter is writing to the disk, the other disk adapter can read the data C2 from the memory and write it as data C3 to the disk.

CはA,Bの最小公倍数としてもよい。この場合は、アクセスするデータのバイト数が最小となる。また、BはAよりも大きく、これらのA,Bの差に相当するバイト数は誤り検出用データである、としてもよい。誤り検出用データは、例えばCRCである。具体的な数値例を述べれば、Aは512であり、Bは520であり、Cは33280である。   C may be the least common multiple of A and B. In this case, the number of bytes of data to be accessed is minimized. B may be larger than A, and the number of bytes corresponding to the difference between A and B may be error detection data. The error detection data is, for example, CRC. As a specific numerical example, A is 512, B is 520, and C is 33280.

換言すると、本発明は、1セクタが512バイトでアクセスされるディスクへの書き込み処理を65セクタ単位で管理することにより、データの書き込み中に障害が発生してもデータを失わずにリトライ処理を実行し得る、ディスクへの書き込み手段を提供するものである。   In other words, the present invention manages a write process to a disk accessed by 512 bytes in one sector in units of 65 sectors, so that a retry process can be performed without losing data even if a failure occurs during the data write. It provides a means for writing to a disc that can be executed.

また、本発明に係るディスクアレイ制御方法は、本発明に係るディスクアレイ制御装置の各機能を手順として表現したものである。本発明に係るディスクアレイシステムは、本発明に係るディスクアレイ制御装置に加えて、ディスク及びメモリを備えたものである。   The disk array control method according to the present invention expresses each function of the disk array control apparatus according to the present invention as a procedure. The disk array system according to the present invention includes a disk and a memory in addition to the disk array control apparatus according to the present invention.

本発明によれば、ディスク及びメモリの両方にアクセス可能となるバイト数でデータをディスクから読み出し、このデータの一部又は全部をホストコンピュータから送られた新たなデータに書き換えてメモリに書き込むことにより、一のディスクアダプタがディスクへ書き込んでいる最中にどのような障害が発生しても、他のディスクアダプタがデータをメモリから読み出してディスクに書き込むことができる。したがって、どのような書き込み時の障害発生に対しても正常にリトライ処理を実行し得るディスクアレイシステム等を提供できる。   According to the present invention, data is read from the disk with the number of bytes that can access both the disk and the memory, and a part or all of this data is rewritten to new data sent from the host computer and written to the memory. If any failure occurs while one disk adapter is writing to the disk, the other disk adapter can read the data from the memory and write it to the disk. Therefore, it is possible to provide a disk array system or the like that can normally execute a retry process in response to any writing failure.

図1は、本発明に係るディスクアレイシステムの一実施形態を示すブロック図である。図2は、本実施形態のディスクアレイシステムにおける2セクタ分の書き込み処理の動作を示す説明図である。以下、これらの図面に基づき説明する。   FIG. 1 is a block diagram showing an embodiment of a disk array system according to the present invention. FIG. 2 is an explanatory diagram showing the write processing operation for two sectors in the disk array system of this embodiment. Hereinafter, description will be given based on these drawings.

本実施形態のディスクアレイシステム10は、n個のディスク51〜5nと、メモリ12と、二つのディスクアダプタ20,30とを備えている。ディスク51〜5nは、アクセスの最小単位が1セクタすなわち512バイトに固定されている。メモリ12は、ディスク51〜5nとホストコンピュータ(図示せず)との間で伝送されるデータを一時的に記憶するとともに、アクセスの最小単位が1セクタすなわち520バイトに固定されている。ディスクアダプタ20,30は、ディスク51〜5nとメモリ12との間でデータ転送を制御するとともに、冗長構成を有する。   The disk array system 10 of this embodiment includes n disks 51 to 5n, a memory 12, and two disk adapters 20 and 30. In the disks 51 to 5n, the minimum access unit is fixed to one sector, that is, 512 bytes. The memory 12 temporarily stores data transmitted between the disks 51 to 5n and a host computer (not shown), and the minimum unit of access is fixed to 1 sector, that is, 520 bytes. The disk adapters 20 and 30 control data transfer between the disks 51 to 5n and the memory 12, and have a redundant configuration.

ディスクアダプタ20は、例えばコンピュータ及びそのプログラムによって実現された次の第一及び第二の機能を有する。第一の機能は、512,520の最小公倍数である33280バイト(512バイト×65セクタ)のデータC1をディスク51〜5nから読み出し、このデータC1の一部又は全部をホストコンピュータから送られた新たなデータに書き換えてデータC2(520バイト×64セクタ)とし、このデータC2をメモリに書き込む。第二の機能は、ディスクアダプタ30がデータC2をメモリ12から読み出してデータC3(512バイト×65セクタ)としてディスク51〜5nに書き込んでいる時にディスクアダプタ30に障害が発生すると、データC2をメモリ12から読み出してデータC3としてディスク51〜5nに書き込む。ディスクアダプタ30も、ディスクアダプタ20と同じ構成である。ディスクアダプタ20,30は、例えばマイクロコンピュータを含む1チップ又はマルチチップのICから成り、上記機能以外にも多数の機能を有している。   The disk adapter 20 has the following first and second functions realized by, for example, a computer and its program. The first function reads 33280 bytes (512 bytes × 65 sectors) of data C1 which is the least common multiple of 512 and 520 from the disks 51 to 5n, and a part or all of the data C1 is newly sent from the host computer. Data C2 (520 bytes × 64 sectors), and this data C2 is written into the memory. The second function is that when the disk adapter 30 reads the data C2 from the memory 12 and writes the data C2 to the disks 51 to 5n as the data C3 (512 bytes × 65 sectors), the data adapter C2 stores the data C2 in the memory. 12 is written to the disks 51 to 5n as data C3. The disk adapter 30 has the same configuration as the disk adapter 20. The disk adapters 20 and 30 are composed of, for example, a one-chip or multi-chip IC including a microcomputer, and have many functions in addition to the above functions.

次に、ディスクアダプタ20,30の作用について説明する。33280は512,520の最小公倍数であるから、33280/512も33280/520も自然数になる。そのため、データC1〜C3は、33280バイトであるから、ディスク51〜5nに及びメモリ12の両方にアクセス可能となる。本実施形態では、この性質を利用している。つまり、65セクタのデータC1をディスク51〜5nから読み出し、このデータC1の一部又は全部をホストコンピュータから送られた新たなデータに書き換えて64セクタのデータC2とし、このデータC2をメモリ12に書き込む。これにより、ディスクアダプタ20,30の一方が書き込み中にどのような障害が発生しても、ディスクアダプタ20,30の他方が64セクタのデータC2をメモリ12から読み出して65セクタのデータC3としてディスク51〜5nに書き込むことができる。   Next, the operation of the disk adapters 20 and 30 will be described. Since 33280 is the least common multiple of 512 and 520, 33280/512 and 33280/520 are natural numbers. Therefore, since the data C1 to C3 are 33280 bytes, both the disks 51 to 5n and the memory 12 can be accessed. In this embodiment, this property is used. That is, the 65-sector data C1 is read from the disks 51 to 5n, and a part or all of the data C1 is rewritten with new data sent from the host computer to obtain 64-sector data C2, and the data C2 is stored in the memory 12. Write. As a result, no matter what failure occurs while one of the disk adapters 20 and 30 is writing, the other of the disk adapters 20 and 30 reads the data C2 of 64 sectors from the memory 12 and stores it as the data C3 of 65 sectors. 51 to 5n can be written.

次に、ディスクアレイシステム10について更に詳しく説明する。   Next, the disk array system 10 will be described in more detail.

ディスクアレイシステム10は、ATA(AT Attachment)ディスクから成るディスク51〜5nを使用し、二つのディスクアダプタ20,30のどちらからでもディスク51〜5nに対してアクセスできる構成になっており、1セクタが512バイトで保存されるディスク51〜5nに対して、1セクタが520バイトで管理されるメモリ12上のデータを書き込むことに特徴を有する。また、ホストコンピュータとメモリ12及びディスクアダプタ20,30との間には、ホストアダプタ11が設けられている。ディスク50〜5nとディスクアダプタ20,30との間には、パス制御部40〜4nが設けられている。ここで、一例として、図4[2]に示すように2セクタ分(512バイト×2セクタ)のデータの書き込み処理方法について説明する。   The disk array system 10 uses disks 51 to 5n composed of ATA (AT Attachment) disks, and is configured to be able to access the disks 51 to 5n from either of the two disk adapters 20 and 30. Is characterized in that data on the memory 12 in which one sector is managed with 520 bytes is written to the disks 51 to 5n in which is stored with 512 bytes. A host adapter 11 is provided between the host computer and the memory 12 and the disk adapters 20 and 30. Between the disks 50 to 5n and the disk adapters 20 and 30, path controllers 40 to 4n are provided. Here, as an example, a data write processing method for two sectors (512 bytes × 2 sectors) will be described as shown in FIG.

ディスクアダプタ20は、MPU21、記憶回路22、アダプタ間通信制御部23、データ転送部24等から構成されたコントローラである。同様に、ディスクアダプタ30も、MPU31、記憶回路32、アダプタ間通信制御部33、データ転送部34等から構成されている。ディスクアダプタ20,30は、冗長構成となっていて通常はどちらからでも、パス制御部41〜4nがパスを切り替えることにより、ディスク51〜5nに対してコマンドを発行できる。   The disk adapter 20 is a controller that includes an MPU 21, a storage circuit 22, an inter-adapter communication control unit 23, a data transfer unit 24, and the like. Similarly, the disk adapter 30 includes an MPU 31, a storage circuit 32, an inter-adapter communication control unit 33, a data transfer unit 34, and the like. The disk adapters 20 and 30 have a redundant configuration, and the command can be issued to the disks 51 to 5n by the path control units 41 to 4n switching paths from either one.

図4[1]に示すように、メモリ12は、ホストコンピュータから送られてきた512バイトのデータに8バイトのCRCを付加した520バイト単位でデータを管理しており、データ転送中のエラーを検出できるようになっている。ディスク51〜5nは、512バイト単位でデータを保存している。   As shown in FIG. 4 [1], the memory 12 manages data in units of 520 bytes obtained by adding an 8-byte CRC to 512-byte data sent from the host computer, and an error during data transfer is managed. It can be detected. The disks 51 to 5n store data in units of 512 bytes.

従来技術では、図4[2]に示すように例えば2セクタ分(520バイト×2)のデータD2をディスク51〜5nに書き込むとき、予めディスク51〜5nから3セクタ(512バイト×3)のデータD1を読み出して記憶回路22に保存しておき、このデータD1に対してホストコンピュータから送られてきた2セクタ分(520バイト×2)のデータD2を書き換えて3セクタ(512バイト×3)のデータD3を生成し、これをディスク51〜5nに対して書き込む必要がある。   In the prior art, as shown in FIG. 4 [2], for example, when data D2 of 2 sectors (520 bytes × 2) is written to the disks 51-5n, 3 sectors (512 bytes × 3) from the disks 51-5n are previously stored. The data D1 is read and stored in the storage circuit 22, and the data D2 for two sectors (520 bytes × 2) sent from the host computer is rewritten with respect to the data D1, and three sectors (512 bytes × 3) are rewritten. Data D3 is generated and written to the disks 51 to 5n.

ここで、データD3をディスク51〜5nへ書き込んでいる最中にディスクアダプタ20に障害が発生した場合、アダプタ間通信制御部23,33で通信を行いディスクアダプタ30側から書き込みのリトライ処理を行うことになる。しかし、図4[2]に示すように、メモリ12に保存されたデータD2の前後で書き込み処理を行っている最中であると、データD3内のデータD2前後のデータが失われてしまう可能性がある。   Here, when a failure occurs in the disk adapter 20 while the data D3 is being written to the disks 51 to 5n, communication between the adapter communication control units 23 and 33 is performed to perform a write retry process from the disk adapter 30 side. It will be. However, as shown in FIG. 4 [2], if the writing process is being performed before and after the data D2 stored in the memory 12, the data before and after the data D2 in the data D3 may be lost. There is sex.

そこで、本実施形態では、図2に示すようにディスク51〜5nから予め65セクタ(512バイト×65)のデータC1を記憶回路22へ転送し、データC1に対してホストコンピュータから送られてきた2セクタ分(520バイト×2)のデータを書き換えて、64セクタ(520バイト×64)のデータC2を生成し、これをメモリ12に保存しておくとともに、生成したデータC2を65セクタ(512バイト×65)のデータC3としてディスク51〜5nに書き込む。これにより、書き込みの途中にディスクアダプタ20で障害が発生しても、メモリ12に保存してあるデータを使うことにより、ディスクアダプタ30側から正常にリトライ処理を実行できるので、上記の問題を解決できる。   Therefore, in the present embodiment, as shown in FIG. 2, 65 sectors (512 bytes × 65) of data C1 is transferred in advance from the disks 51 to 5n to the storage circuit 22, and the data C1 is sent from the host computer. The data of 2 sectors (520 bytes × 2) is rewritten to generate 64 sectors (520 bytes × 64) of data C2, which is stored in the memory 12, and the generated data C2 is stored in 65 sectors (512). Write to the disks 51 to 5n as data C3 of bytes × 65). As a result, even if a failure occurs in the disk adapter 20 during writing, the retry processing can be executed normally from the disk adapter 30 side by using the data stored in the memory 12, thus solving the above problem. it can.

また、ディスクアダプタ20,30は、メモリ12に書き込むべきデータがあることを検出するとそのデータをディスク51〜5nへ書き込む処理を行うとともに、ホストアダプタ11から読み出し要求を受けるとディスク51〜5nから必要なデータをメモリ12へ転送して終了報告を行う。パス制御部41は、ディスクアダプタ20,30のどちらのデータ転送部24,34からでもコマンド処理ができるように、パスの切り替えを制御している。   Further, when the disk adapters 20 and 30 detect that there is data to be written in the memory 12, the disk adapters 20 and 30 perform processing for writing the data to the disks 51 to 5n, and when the host adapter 11 receives a read request, the disk adapters 20 and 30 need Data is transferred to the memory 12 and an end report is made. The path control unit 41 controls path switching so that command processing can be performed from either of the data transfer units 24 and 34 of the disk adapters 20 and 30.

ホストアダプタ11は、ホストコンピュータとの間で、コマンド、データ及びステータスなどのやりとりを制御しており、ホストコンピュータから読み出しの要求があると、メモリ12にデータが存在するか否かを確認する。そして、メモリ12にデータが存在していれば(Cache Hit)、メモリ12からホストコンピュータへデータを転送する。一方、メモリ12にデータが存在しなければ(Cache Miss)、ディスクアダプタ20,30に対し、ディスク51〜5nからメモリ12へデータを取り込むように指示し、メモリ12からホストコンピュータへそのデータを転送する。ホストコンピュータから書き込み要求があれば、メモリ12へデータを転送し、ホストコンピュータへ終了報告を行う。   The host adapter 11 controls the exchange of commands, data, status, and the like with the host computer. When there is a read request from the host computer, the host adapter 11 checks whether data exists in the memory 12. If data exists in the memory 12 (Cache Hit), the data is transferred from the memory 12 to the host computer. On the other hand, if there is no data in the memory 12 (Cache Miss), the disk adapters 20 and 30 are instructed to take data from the disks 51 to 5n into the memory 12, and the data is transferred from the memory 12 to the host computer. To do. If there is a write request from the host computer, the data is transferred to the memory 12 and an end report is sent to the host computer.

図3は、ディスクアレイシステム10における動作の一例を示すフローチャートある。以下、図3を中心に図1乃至図3に基づき、ディスクアレイシステム10の動作を説明する。   FIG. 3 is a flowchart showing an example of the operation in the disk array system 10. The operation of the disk array system 10 will be described below with reference to FIGS.

一例として、図2に示すように、2セクタ分(520バイト×2)のデータの書き込み処理方法について述べる。ディスクアダプタ20は、メモリ12上に書き込むべきデータがあるか否かを定期的にチェックする(ステップ1)。書き込むデータを検出すると、書き込むデータのアドレスをディスク51〜5n上のアドレスに、MPU21が変換する(ステップ2)。その際、ディスク51〜5n上のアドレスが65セクタ境界であるか否かをチェックする(ステップ3)。65セクタ境界でなければ、アドレスを書き込みデータを含む65セクタ境界のアドレスに置き換えるとともに、データ転送長を65セクタ単位に置き換える(ステップ4)。続いて、65セクタ単位に変更したアドレスデータを、データ転送部24がディスク51〜5nから記憶回路22へ読み込む(ステップ5)。続いて、記憶回路22にあるディスク51〜5nから読み出したデータに対して、メモリ12にある書き込みデータを書き換えることにより、ディスク51〜5nに書き込む65セクタ単位のデータを生成し、そのデータでメモリ12を更新する(ステップ6)。続いて、メモリ12の65セクタ単位に変更したデータをディスク51〜5nに対して書き込む(ステップ7)。最後に、ホストアダプタ11に対して終了報告を行う(ステップ8)。   As an example, as shown in FIG. 2, a data write processing method for two sectors (520 bytes × 2) will be described. The disk adapter 20 periodically checks whether there is data to be written on the memory 12 (step 1). When the data to be written is detected, the MPU 21 converts the address of the data to be written into an address on the disks 51 to 5n (step 2). At this time, it is checked whether or not the addresses on the disks 51 to 5n are 65 sector boundaries (step 3). If it is not the 65 sector boundary, the address is replaced with the address of the 65 sector boundary including the write data, and the data transfer length is replaced with 65 sector units (step 4). Subsequently, the data transfer unit 24 reads the address data changed in units of 65 sectors from the disks 51 to 5n to the storage circuit 22 (step 5). Subsequently, by rewriting the write data in the memory 12 with respect to the data read from the disks 51 to 5n in the storage circuit 22, 65 sector data to be written to the disks 51 to 5n is generated, and the data is stored in the memory. 12 is updated (step 6). Subsequently, the data changed in units of 65 sectors in the memory 12 is written to the disks 51 to 5n (step 7). Finally, an end report is sent to the host adapter 11 (step 8).

本実施形態によれば、1セクタが512バイトでアクセスされるディスク51〜5nへの書き込み処理を65セクタ単位で管理することで、ディスクアダプタ20からの書き込み処理中にディスクアダプタ20で障害が発生した場合に、ディスクアダプタ30からリトライ処理を実行しても、データを失ってしまうことがない。   According to this embodiment, a failure occurs in the disk adapter 20 during the writing process from the disk adapter 20 by managing the writing process to the disks 51 to 5n in which one sector is accessed with 512 bytes in units of 65 sectors. In this case, even if the retry process is executed from the disk adapter 30, data is not lost.

なお、本発明は、言うまでもなく、上記実施形態に限定されない。例えば、CRCのサイズやデータ転送サイズなどは自由に変更してもよい。   Needless to say, the present invention is not limited to the above embodiment. For example, the CRC size, data transfer size, etc. may be freely changed.

本発明に係るディスクアレイシステムの一実施形態を示すブロック図である。1 is a block diagram showing an embodiment of a disk array system according to the present invention. 図1のディスクアレイシステムにおける2セクタ分の書き込み処理の動作を示す説明図である。FIG. 2 is an explanatory diagram showing a write processing operation for two sectors in the disk array system of FIG. 1. 図1のディスクアレイシステムにおける動作の一例を示すフローチャートある。2 is a flowchart showing an example of operation in the disk array system of FIG. 図4[1]は、メモリ及びディスクの1セクタ分のフォーマットを示す構成図である。図4[2]は、従来のディスクアレイシステムにおける2セクタ分の書き込み処理の動作を示す説明図である。FIG. 4 [1] is a configuration diagram showing the format of one sector of the memory and the disk. FIG. 4 [2] is an explanatory diagram showing the write processing operation for two sectors in the conventional disk array system.

符号の説明Explanation of symbols

10 ディスクアレイシステム
11 ホストアダプタ(ディスクアレイ制御装置)
12 メモリ(キャッシュメモリ)
20,30 ディスクアダプタ
21,31 MPU
22,32 記憶回路
23,33 アダプタ間通信制御部
24,34 データ転送部
41〜4n パス制御部
51〜5n ディスク(ディスク装置)
10 Disk array system 11 Host adapter (disk array controller)
12 Memory (cache memory)
20, 30 Disk adapter 21, 31 MPU
22, 32 Storage circuit 23, 33 Inter-adapter communication control unit 24, 34 Data transfer unit 41-4n Path control unit 51-5n Disk (disk device)

Claims (12)

A,Bを自然数かつA≠Bとしたとき、アクセスの最小単位がAバイトに固定された複数のディスク装置と、これらのディスク装置とホストコンピュータとの間で伝送されるデータを一時的に記憶するとともにアクセスの最小単位がBバイトに固定されたキャッシュメモリとの間で、データ転送を制御するとともに冗長構成を有する複数のディスクアダプタから成るディスクアレイ制御装置において、
前記各ディスクアダプタは、
前記A,Bの公倍数であるCバイトのデータC1を前記ディスク装置から読み出し、このデータC1の一部又は全部を前記ホストコンピュータから送られた新たなデータに書き換えてデータC2とし、このデータC2を前記キャッシュメモリに書き込む機能と、
他の前記ディスクアダプタが前記データC2を前記キャッシュメモリから読み出してデータC3として前記ディスク装置に書き込んでいる時に当該他のディスクアダプタに障害が発生すると、前記データC2を前記キャッシュメモリから読み出して前記データC3として前記ディスク装置に書き込む機能とを有する、
ことを特徴とするディスクアレイ制御装置。
When A and B are natural numbers and A ≠ B, a plurality of disk devices whose minimum unit of access is fixed to A bytes and data transmitted between these disk devices and the host computer are temporarily stored. And a disk array control device comprising a plurality of disk adapters having a redundant configuration and controlling data transfer with a cache memory whose minimum unit of access is fixed to B bytes.
Each disk adapter is
C-byte data C1 which is a common multiple of A and B is read from the disk device, and part or all of this data C1 is rewritten with new data sent from the host computer to obtain data C2. A function of writing to the cache memory;
If another disk adapter fails when another disk adapter reads the data C2 from the cache memory and writes the data C2 to the disk device as the data C3, the data C2 is read from the cache memory and the data Having a function of writing to the disk device as C3,
A disk array control device.
前記Cは前記A,Bの最小公倍数である、
請求項1記載のディスクアレイ制御装置。
C is the least common multiple of A and B.
The disk array control device according to claim 1.
前記Bは前記Aよりも大きく、これらのA,Bの差に相当するバイト数は誤り検出用データである、
請求項1又は2記載のディスクアレイ制御装置。
B is larger than A, and the number of bytes corresponding to the difference between A and B is error detection data.
3. The disk array control device according to claim 1 or 2.
前記Aは512であり、前記Bは520であり、前記Cは33280である、
請求項1乃至3のいずれかに記載のディスクアレイ制御装置。
The A is 512, the B is 520, and the C is 33280.
The disk array control apparatus according to claim 1.
A,Bを自然数かつA≠Bとしたとき、アクセスの最小単位がAバイトに固定された複数のディスク装置と、これらのディスク装置とホストコンピュータとの間で伝送されるデータを一時的に記憶するとともにアクセスの最小単位がBバイトに固定されたキャッシュメモリとの間で、データ転送を制御するとともに冗長構成を有する複数のディスクアダプタによるディスクアレイ制御方法において、
前記各ディスクアダプタは、前記A,Bの公倍数であるCバイトのデータC1を前記ディスク装置から読み出し、このデータC1の一部又は全部を前記ホストコンピュータから送られた新たなデータに書き換えてデータC2とし、このデータC2を前記キャッシュメモリに書き込み、
他の前記ディスクアダプタが前記データC2を前記キャッシュメモリから読み出してデータC3として前記ディスク装置に書き込んでいる時に当該他のディスクアダプタに障害が発生すると、前記データC2を前記キャッシュメモリから読み出して前記データC3として前記ディスク装置に書き込む、
ことを特徴とするディスクアレイ制御方法。
When A and B are natural numbers and A ≠ B, a plurality of disk devices whose minimum unit of access is fixed to A bytes and data transmitted between these disk devices and the host computer are temporarily stored. And a disk array control method using a plurality of disk adapters having a redundant configuration and controlling data transfer with a cache memory whose minimum unit of access is fixed to B bytes.
Each disk adapter reads C-byte data C1, which is a common multiple of A and B, from the disk device and rewrites part or all of the data C1 with new data sent from the host computer. And write this data C2 into the cache memory,
If another disk adapter fails when another disk adapter reads the data C2 from the cache memory and writes the data C2 to the disk device as the data C3, the data C2 is read from the cache memory and the data Write to the disk device as C3,
And a disk array control method.
前記Cは前記A,Bの最小公倍数である、
請求項5記載のディスクアレイ制御方法。
C is the least common multiple of A and B.
The disk array control method according to claim 5.
前記Bは前記Aよりも大きく、これらのA,Bの差に相当するバイト数は誤り検出用データである、
請求項5又は6記載のディスクアレイ制御方法。
B is larger than A, and the number of bytes corresponding to the difference between A and B is error detection data.
7. The disk array control method according to claim 5 or 6.
前記Aは512であり、前記Bは520であり、前記Cは33280である、
請求項5乃至7のいずれかに記載のディスクアレイ制御方法。
The A is 512, the B is 520, and the C is 33280.
The disk array control method according to claim 5.
A,Bを自然数かつA≠Bとしたとき、アクセスの最小単位がAバイトに固定された複数のディスク装置と、これらのディスク装置とホストコンピュータとの間で伝送されるデータを一時的に記憶するとともにアクセスの最小単位がBバイトに固定されたキャッシュメモリと、このキャッシュメモリと前記複数のディスク装置との間でのデータ転送を制御するとともに冗長構成を有する複数のディスクアダプタと、を備えたディスクアレイシステムにおいて、
前記各ディスクアダプタは、
前記A,Bの公倍数であるCバイトのデータC1を前記ディスク装置から読み出し、このデータC1の一部又は全部を前記ホストコンピュータから送られた新たなデータに書き換えてデータC2とし、このデータC2を前記キャッシュメモリに書き込む機能と、
他の前記ディスクアダプタが前記データC2を前記キャッシュメモリから読み出してデータC3として前記ディスク装置に書き込んでいる時に当該他のディスクアダプタに障害が発生すると、前記データC2を前記キャッシュメモリから読み出して前記データC3として前記ディスク装置に書き込む機能とを有する、
ことを特徴とするディスクアレイシステム。
When A and B are natural numbers and A ≠ B, a plurality of disk devices whose minimum unit of access is fixed to A bytes and data transmitted between these disk devices and the host computer are temporarily stored. And a plurality of disk adapters that control data transfer between the cache memory and the plurality of disk devices and have a redundant configuration. In a disk array system,
Each disk adapter is
C-byte data C1 which is a common multiple of A and B is read from the disk device, and part or all of this data C1 is rewritten with new data sent from the host computer to obtain data C2. A function of writing to the cache memory;
If another disk adapter fails when another disk adapter reads the data C2 from the cache memory and writes the data C2 to the disk device as the data C3, the data C2 is read from the cache memory and the data Having a function of writing to the disk device as C3,
A disk array system characterized by that.
前記Cは前記A,Bの最小公倍数である、
請求項9記載のディスクアレイシステム。
C is the least common multiple of A and B.
The disk array system according to claim 9.
前記Bは前記Aよりも大きく、これらのA,Bの差に相当するバイト数は誤り検出用データである、
請求項9又は10記載のディスクアレイシステム。
B is larger than A, and the number of bytes corresponding to the difference between A and B is error detection data.
The disk array system according to claim 9 or 10.
前記Aは512であり、前記Bは520であり、前記Cは33280である、
請求項9乃至11のいずれかに記載のディスクアレイシステム。
The A is 512, the B is 520, and the C is 33280.
The disk array system according to claim 9.
JP2004336904A 2004-11-22 2004-11-22 Disk array controller and method, and disk array system Pending JP2006146633A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004336904A JP2006146633A (en) 2004-11-22 2004-11-22 Disk array controller and method, and disk array system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004336904A JP2006146633A (en) 2004-11-22 2004-11-22 Disk array controller and method, and disk array system

Publications (1)

Publication Number Publication Date
JP2006146633A true JP2006146633A (en) 2006-06-08

Family

ID=36626229

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004336904A Pending JP2006146633A (en) 2004-11-22 2004-11-22 Disk array controller and method, and disk array system

Country Status (1)

Country Link
JP (1) JP2006146633A (en)

Similar Documents

Publication Publication Date Title
US6754765B1 (en) Flash memory controller with updateable microcode
US9304685B2 (en) Storage array system and non-transitory recording medium storing control program
US9940201B2 (en) Disk array having mirror configuration and rebuilding method therefor
US7587630B1 (en) Method and system for rapidly recovering data from a “dead” disk in a RAID disk group
JP4852315B2 (en) Data reliability improvement method and information processing apparatus using the method
JP4884721B2 (en) Storage system and storage control method that do not require storage device format
US7849258B2 (en) Storage apparatus and data verification method for the same
US8438429B2 (en) Storage control apparatus and storage control method
CN106168920A (en) Controlling a Redundant Array of Independent Disks (RAID) comprising read only flash data storage devices
JP2016149051A (en) Storage control device, storage control program, and storage control method
US8949528B2 (en) Writing of data of a first block size in a raid array that stores and mirrors data in a second block size
US9372633B2 (en) Indication of a destructive write via a notification from a disk drive that emulates blocks of a first block size within blocks of a second block size
US7921265B2 (en) Data access method, channel adapter, and data access control device
US8418029B2 (en) Storage control device and storage control method
JP4572859B2 (en) Cache memory control device, method and program, and disk array device
US20100325373A1 (en) Duplexing Apparatus and Duplexing Control Method
US10014983B2 (en) System, receiving device, and method
JP5213061B2 (en) Mirroring control device, mirroring control circuit, mirroring control method and program thereof
US9043544B2 (en) Writing of new data of a first block size in a raid array that stores both parity and data in a second block size
JP2006146633A (en) Disk array controller and method, and disk array system
JP6318769B2 (en) Storage control device, control program, and control method
JP5601053B2 (en) Control device, control module, and control method
US20180052749A1 (en) Information processing system and information processing method
CN117234414A (en) System and method for supporting redundant array of independent disks
JP2001100926A (en) Method of controlling disk array device

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080925

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080930

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081201

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090224