JP2017054303A - Disk array device, disk array system, control method, and control program - Google Patents

Disk array device, disk array system, control method, and control program Download PDF

Info

Publication number
JP2017054303A
JP2017054303A JP2015177653A JP2015177653A JP2017054303A JP 2017054303 A JP2017054303 A JP 2017054303A JP 2015177653 A JP2015177653 A JP 2015177653A JP 2015177653 A JP2015177653 A JP 2015177653A JP 2017054303 A JP2017054303 A JP 2017054303A
Authority
JP
Japan
Prior art keywords
data
stripe
parity
disk
written
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
JP2015177653A
Other languages
Japanese (ja)
Inventor
勝善 渡辺
Katsuyoshi Watanabe
勝善 渡辺
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 JP2015177653A priority Critical patent/JP2017054303A/en
Publication of JP2017054303A publication Critical patent/JP2017054303A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

PROBLEM TO BE SOLVED: To achieve an efficiency included by a read-modify-write without initialization of the entire stripes in either of the stripe not in the written state or the stripe in the already written state.SOLUTION: A disk array device includes: a plurality of disk devices containing a data stripe which is a stripe for writing data; a disk device containing a parity stripe being a stripe for writing a parity to a plurality of data stripes; and control means for, when data is not written in a stripe to be updated and the parity stripe, obtaining a writing command for any of the plurality of data stripes, correcting the predetermined data by data to be updated, writing the data after correction in a stripe to be updated, and generating a parity based on the predetermined parity, the predetermined data, and the data to be updated, and writing the generated parity in a parity stripe.SELECTED DRAWING: Figure 6

Description

本発明は、ディスクアレイ装置、ディスクアレイシステム、制御方法、および、制御プログラム、特に、データおよびそのパリティを格納するディスクアレイ装置、ディスクアレイシステム、制御方法、および、制御プログラムに関する。   The present invention relates to a disk array device, a disk array system, a control method, and a control program, and more particularly to a disk array device, a disk array system, a control method, and a control program that store data and its parity.

サーバ本体装置に使用されるHDD(Hardware Disk Drive)やSSD(Solid State Drive)などのディスク装置は、障害に対するデータの安全性を確保するため、RAID(Redundant Arrays of Independent Disks)を構築して運用されることが多い。   Disk devices such as HDDs (Hardware Disk Drives) and SSDs (Solid State Drives) used in the server main unit are built and operated with RAID (Redundant Arrays of Independent Disks) to ensure the safety of data against failures. Often done.

RAID5やRAID6構成のディスクアレイ装置は、多数台のディスク装置を接続する場合、アクセス処理高速化のために、Read Modify Write(以降、RMW)という技術を用いる。   When a large number of disk devices are connected, a disk array device having a RAID 5 or RAID 6 configuration uses a technique called Read Modify Write (hereinafter RMW) in order to speed up access processing.

RAIDにはいくつか種類があるが、例として、RAID5について説明する。RAID5でデータを書き込む場合、ディスクアレイ装置のコントローラは、データを分割し、分割したデータからパリティを生成しこれらを各ディスク装置に書き込む。データは特定の大きさでディスク装置に書かれる。この書き込む単位はストライプと呼ばれる。   Although there are several types of RAID, RAID 5 will be described as an example. When writing data using RAID 5, the controller of the disk array device divides the data, generates parity from the divided data, and writes these to each disk device. Data is written to the disk unit with a specific size. This writing unit is called a stripe.

n(nは3以上の整数)台のディスク装置で構成されるRAID5のディスクアレイ装置は、n−1台のディスク装置にデータを書き込み、残りの1台のディスク装置にパリティを書き込む。   A RAID 5 disk array device composed of n (n is an integer of 3 or more) disk devices writes data to n−1 disk devices and writes parity to the remaining one disk device.

図1は、3台のディスク装置で構成されるRAID5のディスクアレイ装置(破線内)の概念図である。このディスクアレイ装置の図示されないコントローラは、ディスク装置1、ディスク装置2にデータを分散して書き込む。コントローラは、データをデータ1とデータ2に分割し、データ1をディスク装置1に、データ2をディスク装置2に書き込む。さらに、コントローラは、データ1、データ2から計算により生成したパリティをディスク装置3に書き込む。   FIG. 1 is a conceptual diagram of a RAID 5 disk array device (inside the broken line) composed of three disk devices. A controller (not shown) of the disk array device distributes and writes data to the disk device 1 and the disk device 2. The controller divides the data into data 1 and data 2 and writes data 1 to the disk device 1 and data 2 to the disk device 2. Further, the controller writes the parity generated by calculation from data 1 and data 2 to the disk device 3.

データ1、データ2、パリティは、そのうちの何れか一つがディスク装置の障害で消失しても、他の2つから復元可能である。   Data 1, data 2, and parity can be restored from the other two even if one of them is lost due to a failure of the disk device.

図2は、4台のディスク装置で構成されるRAID5のディスクアレイ装置(破線内)の概念図である。このディスクアレイ装置の図示されないコントローラは、3台(ディスク装置1乃至3)にデータを書き込み、残りの1台(ディスク装置4)にパリティを書き込む。   FIG. 2 is a conceptual diagram of a RAID 5 disk array device (inside the broken line) composed of four disk devices. A controller (not shown) of the disk array device writes data to three units (disk devices 1 to 3) and writes parity to the remaining unit (disk device 4).

ここで、ディスク装置1のデータ1のみを上書きする場合、コントローラは、ディスク装置1に上書きするデータと、すでにディスク装置2と3に書かれているデータ2、データ3とからパリティを計算し、当該パリティをディスク装置4に書き込む。この場合、コントローラは、合計で以下の4回の読み書きを実行する。   Here, when overwriting only the data 1 of the disk device 1, the controller calculates the parity from the data to be overwritten on the disk device 1 and the data 2 and data 3 already written in the disk devices 2 and 3. The parity is written to the disk device 4. In this case, the controller executes the following four readings and writings in total.

ア) ディスク装置1にデータ1を書き込む。   A) Write data 1 to the disk unit 1.

イ) ディスク装置2のデータ2を読み込む。   B) Data 2 of the disk device 2 is read.

ウ) ディスク装置3のデータ3を読み込む。   C) Data 3 of the disk device 3 is read.

エ)読み込んだデータ2、3、および書き込んだデータ1から新たにパリティを生成し、ディスク装置4に書き込む。   D) Parity is newly generated from the read data 2 and 3 and the written data 1 and written to the disk device 4.

次に、RMWについて説明する。図3は、4台のディスク装置で構成されるRAID5のディスクアレイ装置におけるRMWを説明する為の概念図である。ここで、3台のディスク装置(ディスク装置1乃至3)に格納されたデータ1、データ2、データ3から生成されたパリティが、残り1台のディスク装置(ディスク装置4)に書かれているとする。そして、データのうち、データ1のみが上書きされるとする。   Next, RMW will be described. FIG. 3 is a conceptual diagram for explaining the RMW in a RAID 5 disk array device composed of four disk devices. Here, the parity generated from the data 1, data 2, and data 3 stored in the three disk devices (disk devices 1 to 3) is written in the remaining one disk device (disk device 4). And Then, it is assumed that only data 1 is overwritten.

ここでRMWを実行する場合、コントローラは、以下の手順を実行する。   Here, when executing RMW, a controller performs the following procedures.

ア) ディスク装置1のデータ1を読み込む。   A) Read data 1 of the disk unit 1.

イ) ディスク装置4のパリティを読み込む。   B) Read the parity of the disk unit 4.

ウ) ディスク装置1にデータを書き込む。   C) Write data to the disk unit 1.

エ)読み出したデータ1、パリティ、およびディスク装置1に書き込むデータから新たにパリティを生成し、ディスク装置4に書き込む。   D) A new parity is generated from the read data 1, parity, and data to be written to the disk device 1 and written to the disk device 4.

このように格納されているデータ(データ1乃至3)からパリティが生成されている場合は、コントローラは、データ2、データ3を読まずにパリティを生成する。4台のディスク装置でRMWを実行すると、4回の読み書きが行われる。この回数は、RMWを実行せずにパリティを生成する場合と同じ回数である。   When the parity is generated from the stored data (data 1 to 3), the controller generates the parity without reading the data 2 and the data 3. When RMW is executed with four disk devices, reading and writing are performed four times. This number of times is the same as the number of times when parity is generated without executing RMW.

図4は、5台のディスク装置で構成されるRAID5のディスクアレイ装置(破線内)の概念図である。ここで、4台のディスク装置(ディスク装置1乃至4)に格納されたデータ1、データ2、データ3、データ4から生成されたパリティが、残り1台のディスク装置(ディスク装置5)に書かれているとする。そして、データのうち、データ1のみが上書きされるとする。   FIG. 4 is a conceptual diagram of a RAID 5 disk array device (inside the broken line) composed of five disk devices. Here, the parity generated from the data 1, data 2, data 3, and data 4 stored in the four disk devices (disk devices 1 to 4) is written to the remaining one disk device (disk device 5). Suppose you are. Then, it is assumed that only data 1 is overwritten.

ディスク装置1のデータ1のみをRMWを使用しないで上書きする場合、コントローラは、ディスク装置1に上書きするデータと、ディスク装置2乃至4に書かれているデータ2、データ3、データ4とからパリティを計算し、パリティをディスク装置5に書き込む。この場合、コントローラは、合計で以下の5回の読み書きを実行する。   When only the data 1 of the disk device 1 is overwritten without using the RMW, the controller performs parity from the data to be overwritten on the disk device 1 and the data 2, data 3, and data 4 written in the disk devices 2 to 4. And the parity is written to the disk device 5. In this case, the controller executes the following five readings and writings in total.

ア) ディスク装置1にデータ1を書き込む。   A) Write data 1 to the disk unit 1.

イ) ディスク装置2のデータ2を読み込む。   B) Data 2 of the disk device 2 is read.

ウ) ディスク装置3のデータ3を読み込む。   C) Data 3 of the disk device 3 is read.

エ)ディスク装置4のデータ4を読み込む。   D) Data 4 of the disk device 4 is read.

エ)読み込んだデータ2、3、4、および書き込んだデータから新たにパリティを生成し、ディスク装置5に書き込む。   D) A new parity is generated from the read data 2, 3, 4 and the written data, and is written to the disk device 5.

図5は、5台のディスク装置で構成されるRAID5のディスクアレイ装置におけるRMWを説明する為の概念図である。ここで、4台のディスク装置(ディスク装置1乃至4)に格納されたデータ1、データ2、データ3、データ4から生成されたパリティが、残り1台のディスク装置(ディスク装置5)に書かれているとする。そして、データのうち、データ1のみが上書きされるとする。   FIG. 5 is a conceptual diagram for explaining the RMW in a RAID 5 disk array device composed of five disk devices. Here, the parity generated from the data 1, data 2, data 3, and data 4 stored in the four disk devices (disk devices 1 to 4) is written to the remaining one disk device (disk device 5). Suppose you are. Then, it is assumed that only data 1 is overwritten.

ここでRMWを実行する場合、コントローラは、以下の手順を実行する。   Here, when executing RMW, a controller performs the following procedures.

ア) ディスク装置1のデータ1を読み込む。   A) Read data 1 of the disk unit 1.

イ) ディスク装置4のパリティを読み込む。   B) Read the parity of the disk unit 4.

ウ) ディスク装置1にデータを書き込む。   C) Write data to the disk unit 1.

エ)読み出したデータ1、パリティ、およびディスク装置1に書き込むデータから新たにパリティを生成し、ディスク装置5に書き込む。   D) A new parity is generated from the read data 1, parity, and data to be written to the disk device 1, and is written to the disk device 5.

このように格納されているデータ(データ1乃至4)からパリティが生成されている場合は、コントローラは、データ2、データ3、データ4を読まずにパリティを生成する。5台のディスク装置でRMWを実行すると、4回の読み書きが行われる。この回数は、RMWを実行せずにパリティを生成する場合より一回少ない回数である。   When the parity is generated from the data (data 1 to 4) stored in this manner, the controller generates the parity without reading the data 2, the data 3, and the data 4. When RMW is executed with five disk devices, reading and writing are performed four times. This number is one less than when parity is generated without executing RMW.

このようにディスク装置が5台以上であって、書き込む箇所が少ない場合、RMWを使用した方が入出力の効率が良くなる場合がある。   Thus, when there are five or more disk devices and there are few places to be written, the use of RMW may improve the input / output efficiency.

上述のごとく、コントローラがRMWを使用した場合、RAIDを構成するディスク装置の数が増加しても、読み書きの回数は変わらない。そのため、RAIDを構築するディスク装置の台数が5台以上になると書き込みの際にRMWを使用した方が効率が良くなる場合がある。その場合、コントローラはRMWを使用する。   As described above, when the controller uses RMW, the number of times of reading and writing does not change even if the number of disk devices constituting the RAID increases. For this reason, when the number of disk devices constituting a RAID is 5 or more, it may be more efficient to use RMW for writing. In that case, the controller uses RMW.

ただし、ディスクアレイ装置がRMWを使う為には、ディスク装置に書かれたデータを元にパリティが作成されている必要がある。すなわち、RAIDの整合性が合っている必要がある。このため、ディスクアレイ装置は、システムセットアップ時に全面初期化作業を行い、全てのデータ、パリティを特定の値、例えば0、に設定することで整合性を合わせる。しかし、近年、ディスク装置の大容量化に伴い、この初期化時間が増大し、システムセットアップの時間がかかるという課題がある。   However, in order for the disk array device to use RMW, it is necessary to create parity based on the data written in the disk device. That is, the consistency of RAID needs to match. For this reason, the disk array device performs the entire initialization work at the time of system setup, and sets all data and parity to a specific value, for example, 0, thereby matching consistency. However, in recent years, with the increase in capacity of the disk device, there is a problem that this initialization time increases and it takes time for system setup.

また、運用時にバックグランドで初期化作業を実行するディスクアレイ装置が存在する。この作業をBack Ground Initialization(以降BGI)という。この場合、BGIが実行されると完了するまでRMWが使用できず、さらにBGI処理でシステム性能が著しく低下するという課題がある。   There is also a disk array device that performs initialization work in the background during operation. This operation is called Back Ground Initialization (hereinafter BGI). In this case, when the BGI is executed, the RMW cannot be used until the completion, and there is a problem that the system performance is remarkably deteriorated by the BGI processing.

特許文献1は、ディスク装置内のストライプのフォーマット処理を行いながらRMWを実行するディスクアレイ装置を開示する。この装置は、フォーマット処理中に書き込み要求が有ると、対象となるストライプ列がフォーマット処理されていれば、RMWで書き込みを行うが、フォーマット処理されていなければ、フォーマット列単位に書き込みを行う。ここで、ストライプ列とは、複数のディスク装置上のデータ書き込み用のストライプと、他の一つのディスク装置上のパリティ書き込み用のストライプからなる、ストライプのグループである。   Patent Document 1 discloses a disk array device that executes RMW while performing stripe formatting processing in the disk device. When there is a write request during the formatting process, this apparatus performs writing by RMW if the target stripe column has been formatted, but performs writing in units of format columns if it has not been formatted. Here, the stripe column is a group of stripes including a stripe for writing data on a plurality of disk devices and a stripe for writing parity on another disk device.

特許文献2は、パリティブロックに、パリティデータによって保護されている特定のパリティグループ内の位置を示す識別子を含むディスクアレイ装置を開示する。このディスクアレイ装置は、この情報を使用して書き込み時のディスクアクセス回数を削減する。   Patent Document 2 discloses a disk array device in which a parity block includes an identifier indicating a position in a specific parity group protected by parity data. This disk array device uses this information to reduce the number of disk accesses during writing.

特開2003−241904号公報JP 2003-241904 A 特開平07−306759号公報JP 07-306759 A

特許文献1のディスクアレイ装置は、フォーマット化されていないストライプ列の何れかのストライプにデータを書き込もうとするときは、ストライプ列内の全ストライプに書き込みを行う。すなわち、この場合、ディスクアレイ装置は、装置内でRAIDを構成するすべてのディスク装置に書き込みを行わなくてはならず、RMWが有する効率性を享受できない。   The disk array device of Patent Document 1 writes data to all stripes in a stripe column when data is to be written to any stripe in a non-formatted stripe column. That is, in this case, the disk array device must write to all the disk devices constituting the RAID in the device, and cannot enjoy the efficiency of the RMW.

本発明は、上記課題を解決するディスクアレイ装置、ディスクアレイシステム、制御方法、および、制御プログラムを提供することを目的とする。   An object of the present invention is to provide a disk array device, a disk array system, a control method, and a control program that solve the above-described problems.

本発明の1実施の形態の制御装置は、データ書き込み用ストライプであるデータストライプを包含する複数のディスク装置と、前記複数のデータストライプに対するパリティ書き込み用ストライプであるパリティストライプを包含するディスク装置と、前記複数のデータストライプの何れかへの書き込み命令を取得し、更新対象ストライプおよび前記パリティストライプにデータが書き込まれていなければ、所定データを更新対象データで修正し、修正後のデータを前記更新対象ストライプに書き込み、かつ、所定パリティ、前記所定データおよび前記更新対象データに基づいてパリティを生成し、生成したパリティを前記パリティストライプに書き込む制御手段と、を備える。   The control device according to one embodiment of the present invention includes a plurality of disk devices that include data stripes that are data write stripes, and a disk device that includes parity stripes that are parity write stripes for the plurality of data stripes; When a write command to one of the plurality of data stripes is acquired and no data is written in the update target stripe and the parity stripe, the predetermined data is corrected with the update target data, and the corrected data is updated with the update target Control means for writing to the stripe, generating parity based on the predetermined parity, the predetermined data, and the update target data, and writing the generated parity to the parity stripe.

本発明の1実施の形態の方法は、データ書き込み用ストライプであるデータストライプを包含する複数のディスク装置と、前記複数のデータストライプに対するパリティ書き込み用ストライプであるパリティストライプを包含するディスク装置における前記複数のデータストライプの何れかへの書き込み命令を取得し、更新対象ストライプおよび前記パリティストライプにデータが書き込まれていなければ、所定データを更新対象データで修正し、修正後のデータを前記更新対象ストライプに書き込み、かつ、所定パリティ、前記所定データおよび前記更新対象データに基づいてパリティを生成し、生成したパリティを前記パリティストライプに書き込む。   The method according to an embodiment of the present invention includes a plurality of disk devices that include data stripes that are data write stripes, and a plurality of disk devices that include parity stripes that are parity write stripes for the plurality of data stripes. If a write command to one of the data stripes is acquired and no data is written to the update target stripe and the parity stripe, the predetermined data is corrected with the update target data, and the corrected data is changed to the update target stripe. Writing, parity is generated based on the predetermined parity, the predetermined data, and the update target data, and the generated parity is written to the parity stripe.

本発明の1実施の形態のプログラムは、データ書き込み用ストライプであるデータストライプを包含する複数のディスク装置と、前記複数のデータストライプに対するパリティ書き込み用ストライプであるパリティストライプを包含するディスク装置を備えるコンピュータに、前記複数のデータストライプの何れかへの書き込み命令を取得し、更新対象ストライプおよび前記パリティストライプにデータが書き込まれていなければ、所定データを更新対象データで修正し、修正後のデータを前記更新対象ストライプに書き込み、かつ、所定パリティ、前記所定データおよび前記更新対象データに基づいてパリティを生成し、生成したパリティを前記パリティストライプに書き込む処理を実行させる。   A program according to an embodiment of the present invention is a computer including a plurality of disk devices that include data stripes that are data write stripes and a disk device that includes parity stripes that are parity write stripes for the plurality of data stripes. If a write command to any of the plurality of data stripes is acquired and no data is written in the update target stripe and the parity stripe, the predetermined data is corrected with the update target data, and the corrected data is Write to the update target stripe, generate parity based on the predetermined parity, the predetermined data, and the update target data, and execute a process of writing the generated parity to the parity stripe.

本発明にかかるディスクアレイ装置は、全ストライプの初期化を行わなくても、書き込みがなされていないストライプに対する書き込みも、既に書き込みがなされているストライプに対する書き込みも、RMWが有する効率性を達成する。   The disk array device according to the present invention achieves the efficiency of the RMW for writing to a stripe that has not been written and writing to a stripe that has already been written without initializing all stripes.

図1は、3台のディスク装置で構成されるRAID5のディスクアレイ装置(破線内)の概念図である。FIG. 1 is a conceptual diagram of a RAID 5 disk array device (inside the broken line) composed of three disk devices. 図2は、4台のディスク装置で構成されるRAID5のディスクアレイ装置(破線内)の概念図である。FIG. 2 is a conceptual diagram of a RAID 5 disk array device (inside the broken line) composed of four disk devices. 図3は、4台のディスク装置で構成されるRAID5のディスクアレイ装置におけるRMWを説明する為の概念図である。FIG. 3 is a conceptual diagram for explaining the RMW in a RAID 5 disk array device composed of four disk devices. 図4は、5台のディスク装置で構成されるRAID5のディスクアレイ装置(破線内)の概念図である。FIG. 4 is a conceptual diagram of a RAID 5 disk array device (inside the broken line) composed of five disk devices. 図5は、5台のディスク装置で構成されるRAID5のディスクアレイ装置におけるRMWを説明する為の概念図である。FIG. 5 is a conceptual diagram for explaining the RMW in a RAID 5 disk array device composed of five disk devices. 図6は、第1の実施の形態にかかるディスクアレイシステム80の構成図である。FIG. 6 is a configuration diagram of the disk array system 80 according to the first embodiment. 図7はストライプ列を説明する概念図である。FIG. 7 is a conceptual diagram illustrating a stripe row. 図8は、ディスク装置63に格納される情報を示す図である。FIG. 8 is a diagram showing information stored in the disk device 63. 図9は、コンピュータ装置40の構成図である。FIG. 9 is a configuration diagram of the computer device 40. 図10は、制御部62の動作概要を説明する為の概念図である。FIG. 10 is a conceptual diagram for explaining an outline of the operation of the control unit 62. 図11は、制御部62のデータ書き込み時の動作フローチャートである。FIG. 11 is an operation flowchart when the control unit 62 writes data. 図12は、第2の実施の形態にかかるディスクアレイ装置60の構成図である。FIG. 12 is a configuration diagram of a disk array device 60 according to the second exemplary embodiment.

<第1の実施の形態>
<構成>
図6は、本実施の形態にかかるディスクアレイシステム80の構成図である。ディスクアレイシステム80は、相互に接続されたディスクアレイ装置60と上位装置70を包含する。ディスクアレイシステム80は、複数のディスクアレイ装置60と複数の上位装置70を包含しても良い。さらに、ディスクアレイ装置60が、その装置の構成要素として上位装置70を取り込んでいても良い。
<First Embodiment>
<Configuration>
FIG. 6 is a configuration diagram of the disk array system 80 according to the present embodiment. The disk array system 80 includes a disk array device 60 and a host device 70 connected to each other. The disk array system 80 may include a plurality of disk array devices 60 and a plurality of host devices 70. Further, the disk array device 60 may incorporate the host device 70 as a component of the device.

上位装置70は、例えば、情報処理装置であり、ディスクアレイ装置60に対してデータの書き込み、読み込みを行う。   The host device 70 is, for example, an information processing device, and writes and reads data to and from the disk array device 60.

ディスクアレイ装置60は制御部62と、n(nは3以上の整数)台のディスク装置63を備える。   The disk array device 60 includes a control unit 62 and n (n is an integer of 3 or more) disk devices 63.

制御部62は、上位装置70から入出力命令を受け付けて、ディスク装置63に対する読み書きを実行する。また、制御部62は、n台のディスク装置63が、RAID、例えばRAID5、6、を構成するように制御する。   The control unit 62 receives an input / output command from the host device 70 and executes reading / writing on the disk device 63. In addition, the control unit 62 controls the n disk devices 63 so as to configure RAID, for example, RAID 5 and 6.

各ディスク装置63は、書き込み、読み込みの単位である所定サイズのストライプ64を1以上包含する。各ディスク装置63のストライプ64はストライプ列を構成する。図7はストライプ列を説明する概念図である。図7において、表中の各セルはストライプ64を、各行は各ストライプ列を、各列は各ディスク装置63を表す。   Each disk device 63 includes one or more stripes 64 of a predetermined size, which is a unit for writing and reading. The stripes 64 of each disk device 63 constitute a stripe row. FIG. 7 is a conceptual diagram illustrating a stripe row. In FIG. 7, each cell in the table represents a stripe 64, each row represents a stripe column, and each column represents a disk device 63.

ストライプ列は、ストライプ64のグループである。より具体的には、ストライプ列は、n−1台のディスク装置63上のデータ書き込み用ストライプ64(以降、データストライプ64)と、他の一つのディスク装置63上のパリティ書き込み用ストライプ64(以降、パリティストライプ64)からなる。ここで、パリティは、n−1個のデータストライプ64に格納されているデータから作成される冗長データである。   A stripe column is a group of stripes 64. More specifically, the stripe row includes data write stripes 64 (hereinafter referred to as data stripes 64) on n-1 disk devices 63 and parity write stripes 64 (hereinafter referred to as data stripes 64) on another disk device 63. , Parity stripe 64). Here, the parity is redundant data created from data stored in n−1 data stripes 64.

ディスクアレイ装置60が複数のストライプ列を包含するとき、各ストライプ列のパリティストライプ64は同一のディスク装置63、例えば、ディスク装置n、に格納されていても良いし、図3が例示すように異なるディスク装置63に格納されていても良い。図3の例において、ストライプ列1のパリティストライプ64はディスク装置nに格納されているが、ストライプ列2のパリティストライプ64はディスク装置n−1に格納されている。   When the disk array device 60 includes a plurality of stripe columns, the parity stripe 64 of each stripe column may be stored in the same disk device 63, for example, the disk device n, as shown in FIG. It may be stored in a different disk device 63. In the example of FIG. 3, the parity stripe 64 of the stripe column 1 is stored in the disk device n, but the parity stripe 64 of the stripe column 2 is stored in the disk device n-1.

図8は、ディスク装置63に格納される情報を示す図である。各ディスク装置63は、各ストライプ64及び、各ストライプ64に関連付けてフラグ65を格納している。フラグ65は、例えば、ストライプ64に一度も書き込みがされていない場合がオン、一度でも書き込みがされた場合をオフとする。なお、フラグ65は、ディスクアレイ装置60の立ち上げ時やディスク装置63への最初のアクセス時に、ディスクアレイ装置60の内部メモリに読み込まれていても良い。   FIG. 8 is a diagram showing information stored in the disk device 63. Each disk device 63 stores a flag 65 in association with each stripe 64 and each stripe 64. For example, the flag 65 is turned on when the stripe 64 has never been written, and turned off when the stripe 64 has been written. The flag 65 may be read into the internal memory of the disk array device 60 when the disk array device 60 is started up or when the disk device 63 is first accessed.

ディスクアレイ装置60の制御部62は、ファームウェアを含む論理回路で実現できる。ディスク装置63は、HDDやSSDで実現できる。   The control unit 62 of the disk array device 60 can be realized by a logic circuit including firmware. The disk device 63 can be realized by an HDD or an SSD.

更に、ディスクアレイ装置60は、プログラム43を備えるコンピュータ装置40で実現することも出来る。   Further, the disk array device 60 can be realized by the computer device 40 having the program 43.

図9は、コンピュータ装置40の構成図である。コンピュータ装置40は、バス45で相互に接続されたプロセッサ41、主記憶部42、補助記憶装置44を備える。ここで、例えば、主記憶部42は半導体メモリ、補助記憶装置44はHDDやSDDである。主記憶部42はプログラム43を記憶している。   FIG. 9 is a configuration diagram of the computer device 40. The computer device 40 includes a processor 41, a main storage unit 42, and an auxiliary storage device 44 that are connected to each other via a bus 45. Here, for example, the main storage unit 42 is a semiconductor memory, and the auxiliary storage device 44 is an HDD or an SDD. The main storage unit 42 stores a program 43.

プログラム43は、プロセッサ41で実行されることにより、プロセッサ41を制御部62として機能させる。補助記憶装置44は、そのまま、ディスク装置63として使用できる。   The program 43 is executed by the processor 41, thereby causing the processor 41 to function as the control unit 62. The auxiliary storage device 44 can be used as the disk device 63 as it is.

なお、ディスクアレイ装置60がコンピュータ装置40で実現されるとき、プロセッサ41はディスク装置63に入出力を行う業務処理プログラムを実行しても良い。この場合、ディスクアレイ装置60は、その装置内に上位装置70を取り込んでいることになる。   When the disk array device 60 is realized by the computer device 40, the processor 41 may execute a business processing program that performs input / output to / from the disk device 63. In this case, the disk array device 60 incorporates the host device 70 in the device.

<動作>
図10は、制御部62の動作概要を説明する為の概念図である。制御部62は、RMWを実行するのが効率的と判断すると、ディスク装置63上のデータを読む場合に、読み込み対象となるデータストライプ64に関連付けられたフラグ65を読む。当該フラグ65がオフなら、制御部62は、実際にディスク装置63に書かれているデータを読む。しかし、当該フラグ65がオンなら、制御部62は、実際にディスク装置63に書かれているデータを読まずに0が書かれているとみなす(図中ア))。さらに、制御部62は、読み込み対象となるデータストライプ64の属するストライプ列のパリティストライプ64に関連付けられたフラグ65を読む。当該フラグ65がオフなら、制御部62は、実際にディスク装置63に書かれているパリティを読む。しかし、当該フラグ65がオンなら、制御部62は、実際にディスク装置63に書かれているパリティを読まずに0が書かれているとみなす(図中イ))。
<Operation>
FIG. 10 is a conceptual diagram for explaining an outline of the operation of the control unit 62. When the controller 62 determines that it is efficient to execute the RMW, the controller 62 reads the flag 65 associated with the data stripe 64 to be read when reading data on the disk device 63. If the flag 65 is off, the control unit 62 reads data actually written in the disk device 63. However, if the flag 65 is on, the control unit 62 considers that 0 is written without actually reading the data written in the disk device 63 (A in the figure)). Further, the control unit 62 reads the flag 65 associated with the parity stripe 64 of the stripe column to which the data stripe 64 to be read belongs. If the flag 65 is off, the control unit 62 reads the parity actually written in the disk device 63. However, if the flag 65 is on, the control unit 62 considers that 0 has been written without actually reading the parity written in the disk device 63 (A in the figure)).

制御部62は、ディスク装置63にデータを書き込んだ場合、書き込んだデータストライプ64に関連付けられたフラグ65がオンならばオフにする(図中ウ))。さらに、制御部62は、ディスク装置63にパリティを書き込んだ場合、書き込んだパリティストライプ64に関連付けられたフラグ65がオンならばオフにする(図中エ))。   When writing data to the disk device 63, the control unit 62 turns it off if the flag 65 associated with the written data stripe 64 is on (c in the figure). Further, when the parity is written in the disk device 63, the control unit 62 turns it off if the flag 65 associated with the written parity stripe 64 is on (D in the figure).

一度データが書かれたデータストライプ64に関連付けられたフラグ65は、その後はオフのままである。なお、フラグ65は、ディスクアレイ装置60のリセット時や、上位装置70からの指示が有ったときオンに再設定される。   The flag 65 associated with the data stripe 64 once written with data remains off thereafter. The flag 65 is reset to ON when the disk array device 60 is reset or when there is an instruction from the host device 70.

この方法により、全面初期化やBGIを実行しなくても、制御部62は、初めて書き込みが行われるストライプ64に対しても、RMWと同等の効率的なデータ更新を行うことができる。   By this method, the control unit 62 can perform the efficient data update equivalent to the RMW even for the stripe 64 to which writing is performed for the first time, without performing the entire surface initialization or the BGI.

なお、突然の電源断等の障害により、ストライプ64やフラグ65の更新が完了せず、ストライプ64とフラグ65に不整合が生じる可能性がある。これは、図中のア)からエ)までの一連の作業が完了せずに作業が中断するような場合である。その対策として、制御部62は、障害が取り除かれ電源が正常になった時点で、再度、図中のア)から作業を開始し、エ)までの作業を実施する。   Note that due to a failure such as a sudden power interruption, the stripe 64 and the flag 65 may not be updated, and the stripe 64 and the flag 65 may be inconsistent. This is a case where the work is interrupted without completing a series of work from a) to d) in the figure. As a countermeasure, the control unit 62 starts the work from a) to d) again after the trouble is removed and the power supply becomes normal, and performs the work up to d).

図11は、制御部62のデータ書き込み時の動作フローチャートである。この動作は、上位装置70が、ディスクアレイ装置60に書き込み命令を発行した時に開始される。上位装置70の書き込み命令は、書き込み対象となるデータストライプ64のアドレスと、書き込みデータを指定する。   FIG. 11 is an operation flowchart when the control unit 62 writes data. This operation is started when the host device 70 issues a write command to the disk array device 60. The write command of the host device 70 designates the address of the data stripe 64 to be written and the write data.

まず、制御部62は、上位装置70から書き込み命令を受信し(S1)、RMWを使った方が効率的かどうか判断する(S2)。制御部62は、この判断を、公知の方法で行えば良い。   First, the control unit 62 receives a write command from the host device 70 (S1), and determines whether it is more efficient to use the RMW (S2). The control unit 62 may make this determination by a known method.

RMWを使用しない方が効率的と判断した場合(S2でNO)、制御部62は、通常の書き込みを行う(S11)。但し、制御部62は、書き込み後に、フラグ65の確認と更新を行う(S12)。すなわち、制御部62は、書き込みを行ったストライプ64のフラグ65がオンの場合は、オフに更新する。   When it is determined that it is more efficient not to use the RMW (NO in S2), the control unit 62 performs normal writing (S11). However, the controller 62 checks and updates the flag 65 after writing (S12). That is, when the flag 65 of the stripe 64 to which writing has been performed is on, the control unit 62 updates it to off.

RMWを使った方が効率的と判断した場合(S2でYES)、制御部62は、更新対象のデータストライプ64のフラグ65、及び、パリティストライプ64のフラグ65の確認を行う(S5)。すなわち、制御部62は、書き込み命令で指定された書き込み対象データストライプ64に関連付けられたフラグ65、及び、当該データストライプ64と同じストライプ列に属するパリティストライプ64に関連付けられたフラグ65を読み込んで値を検査する。   If it is determined that using RMW is more efficient (YES in S2), the control unit 62 checks the flag 65 of the data stripe 64 to be updated and the flag 65 of the parity stripe 64 (S5). That is, the control unit 62 reads the flag 65 associated with the write target data stripe 64 specified by the write command, and the flag 65 associated with the parity stripe 64 belonging to the same stripe column as the data stripe 64. Inspect.

両フラグ65がオフであった場合(S5でオフ/オフ)、制御部62は、RMWを実行する。制御部62は、公知の方法でこのRMWを実行すればよい。   When both the flags 65 are OFF (OFF / OFF in S5), the control unit 62 executes RMW. The controller 62 may execute this RMW by a known method.

すなわち、制御部62は、まず、データストライプ64、及び、パリティストライプ64の両方から、ディスク装置63に書き込まれている情報を読み込む(S9)。そして制御部62は、読み込んだデータ、読み込んだパリティ、書き込み命令で指定された書き込みデータから、更新データと更新パリティを生成する(S10)。その後、制御部62は、生成した更新データをデータストライプ64に、更新パリティをパリティストライプ64に書き込む(S5)。   That is, the control unit 62 first reads information written in the disk device 63 from both the data stripe 64 and the parity stripe 64 (S9). Then, the control unit 62 generates update data and update parity from the read data, the read parity, and the write data specified by the write command (S10). Thereafter, the control unit 62 writes the generated update data in the data stripe 64 and the update parity in the parity stripe 64 (S5).

RMWの実行後、制御部62は、書き込んだデータストライプ64とパリティストライプ64のフラグ65をオフにする(S6)。すなわち、制御部62は、書き込みを行ったストライプ64のフラグ65がオンの場合は、オフに更新する。ここで、制御部62は、受け取った書き込み命令の処理を終了する。   After executing the RMW, the control unit 62 turns off the flag 65 of the written data stripe 64 and parity stripe 64 (S6). That is, when the flag 65 of the stripe 64 to which writing has been performed is on, the control unit 62 updates it to off. Here, the control unit 62 ends the processing of the received write command.

両フラグ65がオンであった場合(S5でオン/オン)、制御部62は、データストライプ64、および、パリティストライプ64のどちらからも、ディスク装置63に書き込まれている情報の読み込みを行わない。制御部62は、所定データ、所定パリティ、書き込み命令で指定された書き込みデータから、更新データと更新パリティを生成し(S10)、前述した書き込み(S5)とフラグ65をオフにする処理(S6)を行い、処理を終了する。   When both flags 65 are on (on / on in S5), the control unit 62 does not read the information written in the disk device 63 from either the data stripe 64 or the parity stripe 64. . The control unit 62 generates update data and update parity from the predetermined data, the predetermined parity, and the write data designated by the write command (S10), and turns off the above-described write (S5) and flag 65 (S6). To finish the process.

なお、所定データ、所定パリティは、例えば、ともにストライプ64のサイズのゼロ値データである。所定データ、所定パリティは、データおよびパリティとして整合性が有れば、これらの値に限られない。すなわち、所定パリティの値が、ストライプ列の各データストライプ64に所定データが格納されている場合に生成されるパリティと同じになっていればよい。   The predetermined data and the predetermined parity are, for example, zero value data having the size of the stripe 64. The predetermined data and the predetermined parity are not limited to these values as long as the data and the parity are consistent. That is, it is only necessary that the value of the predetermined parity be the same as the parity generated when the predetermined data is stored in each data stripe 64 of the stripe column.

データストライプ64のフラグ65がオン、パリティストライプ64のフラグ65がオフであった場合(S5でオン/オフ)、制御部62は、パリティストライプ64からパリティの読み出しを行う(S7)。一方、制御部62は、データストライプ64からは、ディスク装置63に書き込まれている情報の読み込みは行わない。この理由は、ストライプ列の他のデータストライプ64にデータが書き込まれてはいるが、今回の書き込み対象データストライプ64には、未だ書き込みがなされていないからである。   When the flag 65 of the data stripe 64 is ON and the flag 65 of the parity stripe 64 is OFF (ON / OFF in S5), the control unit 62 reads the parity from the parity stripe 64 (S7). On the other hand, the control unit 62 does not read information written in the disk device 63 from the data stripe 64. This is because data has been written to the other data stripes 64 in the stripe column but has not yet been written to the data stripe 64 to be written this time.

その後、制御部62は、所定データ、読み込んだパリティ、書き込み命令で指定された書き込みデータから、更新データと更新パリティを生成し(S10)、前述した書き込み(S5)とフラグ65をオフにする処理(S6)を行い、処理を終了する。   Thereafter, the control unit 62 generates update data and update parity from the predetermined data, the read parity, and the write data designated by the write command (S10), and the process of turning off the writing (S5) and the flag 65 described above. (S6) is performed and the process is terminated.

<効果>
本実施の形態にかかるディスクアレイ装置60は、全ストライプ64の初期化を行わなくても、書き込みがなされていないストライプ64に対する書き込みも、既に書き込みがなされているストライプ64に対する書き込みも、RMWが有する効率性を達成する。すなわち、制御部62は、更新対象とならないデータストライプ64の読み込みを省略できる。
<Effect>
In the disk array device 60 according to the present embodiment, the RMW has both the write to the stripe 64 that has not been written and the write to the stripe 64 that has already been written without performing initialization of all the stripes 64. Achieve efficiency. That is, the control unit 62 can omit reading of the data stripe 64 that is not an update target.

したがって、本実施の形態にかかるディスクアレイ装置60は、BGIを行うことなく、システムのセットアップに費やす時間を大幅に削減することが可能となる。   Therefore, the disk array device 60 according to the present embodiment can greatly reduce the time spent for system setup without performing BGI.

その理由は、制御部62が、書き込みがなされていないストライプ64には、所定のデータとそれと整合性のある所定のパリティが格納されていたかのように動作するからである。   The reason is that the control unit 62 operates as if the predetermined data and the predetermined parity consistent with the predetermined data are stored in the unwritten stripe 64.

<第2の実施形態>
図12は、本実施の形態にかかるディスクアレイ装置60の構成図である。
<Second Embodiment>
FIG. 12 is a configuration diagram of the disk array device 60 according to the present embodiment.

ディスクアレイ装置60は、データ書き込み用ストライプ64であるデータストライプ64を包含する複数のディスク装置63を備える。ディスクアレイ装置60は、当該複数のデータストライプ64に対するパリティ書き込み用ストライプ64であるパリティストライプ64を包含するディスク装置63も備える。   The disk array device 60 includes a plurality of disk devices 63 including data stripes 64 that are data write stripes 64. The disk array device 60 also includes a disk device 63 including a parity stripe 64 that is a parity writing stripe 64 for the plurality of data stripes 64.

さらに、ディスクアレイ装置60は、制御部62も備える。制御部62は、複数のデータストライプ64の何れかへの書き込み命令を取得し、更新対象のデータストライプ64およびパリティストライプ64にデータが書き込まれていなければ、所定データを更新対象データで修正する。その後、制御部62は、修正後のデータを更新対象のデータストライプ64に書き込み、かつ、所定パリティ、所定データおよび更新対象データに基づいてパリティを生成し、生成したパリティをパリティストライプ64に書き込む。   Furthermore, the disk array device 60 also includes a control unit 62. The control unit 62 acquires a write command to any of the plurality of data stripes 64, and corrects the predetermined data with the update target data if no data is written in the update target data stripe 64 and the parity stripe 64. Thereafter, the control unit 62 writes the corrected data to the update target data stripe 64, generates parity based on the predetermined parity, the predetermined data, and the update target data, and writes the generated parity to the parity stripe 64.

本実施の形態にかかるディスクアレイ装置60は、全ストライプ64の初期化を行わなくても、書き込みがなされていないストライプ64に対する書き込みも、既に書き込みがなされているストライプ64に対する書き込みも、RMWが有する効率性を達成する。すなわち、制御部62は、更新対象とならないデータストライプ64の読み込みを省略できる。   In the disk array device 60 according to the present embodiment, the RMW has both the write to the stripe 64 that has not been written and the write to the stripe 64 that has already been written without performing initialization of all the stripes 64. Achieve efficiency. That is, the control unit 62 can omit reading of the data stripe 64 that is not an update target.

したがって、本実施の形態にかかるディスクアレイ装置60は、BGIを行うことなく、システムのセットアップに費やす時間を大幅に削減することが可能となる。   Therefore, the disk array device 60 according to the present embodiment can greatly reduce the time spent for system setup without performing BGI.

その理由は、制御部62が、書き込みがなされていないストライプ64には、所定のデータとそれと整合性のある所定のパリティが格納されていたかのように動作するからである。   The reason is that the control unit 62 operates as if the predetermined data and the predetermined parity consistent with the predetermined data are stored in the unwritten stripe 64.

以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。   While the present invention has been described with reference to the embodiments, the present invention is not limited to the above embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.

40 コンピュータ装置
41 プロセッサ
42 主記憶部
43 プログラム
44 補助記憶装置
45 バス
60 ディスクアレイ装置
62 制御部
63 ディスク装置
64 ストライプ
64 データストライプ
64 パリティストライプ
65 フラグ
70 上位装置
80 ディスクアレイシステム
40 Computer Device 41 Processor 42 Main Storage Unit 43 Program 44 Auxiliary Storage Device 45 Bus 60 Disk Array Device 62 Control Unit 63 Disk Device 64 Stripe 64 Data Stripe 64 Parity Stripe 65 Flag 70 Host Device 80 Disk Array System

Claims (10)

データ書き込み用ストライプであるデータストライプを包含する複数のディスク装置と、
前記複数のデータストライプに対するパリティ書き込み用ストライプであるパリティストライプを包含するディスク装置と、
前記複数のデータストライプの何れかへの書き込み命令を取得し、更新対象ストライプおよび前記パリティストライプにデータが書き込まれていなければ、所定データを更新対象データで修正し、修正後のデータを前記更新対象ストライプに書き込み、かつ、所定パリティ、前記所定データおよび前記更新対象データに基づいてパリティを生成し、生成したパリティを前記パリティストライプに書き込む制御手段と、を備えるディスクアレイ装置。
A plurality of disk devices including a data stripe that is a data writing stripe;
A disk device including a parity stripe that is a stripe for parity writing with respect to the plurality of data stripes;
When a write command to one of the plurality of data stripes is acquired and no data is written in the update target stripe and the parity stripe, the predetermined data is corrected with the update target data, and the corrected data is updated with the update target A disk array device comprising: control means for writing to the stripe, generating parity based on the predetermined parity, the predetermined data, and the update target data, and writing the generated parity to the parity stripe.
前記制御手段は、前記更新対象ストライプにデータが書き込まれておらず、前記パリティストライプにパリティが書き込まれていれば、所定データを更新対象データで修正し、修正後のデータを前記更新対象ストライプに書き込み、かつ、前記パリティストライプからパリティを読み出し、読み出したパリティ、前記所定データおよび更新対象データに基づいてパリティを生成し、生成したパリティを前記パリティストライプに書き込む、請求項1のディスクアレイ装置。   If no data is written in the update target stripe and parity is written in the parity stripe, the control unit corrects predetermined data with the update target data and converts the corrected data into the update target stripe. The disk array device according to claim 1, wherein the disk array device is written and parity is read from the parity stripe, parity is generated based on the read parity, the predetermined data, and update target data, and the generated parity is written to the parity stripe. 各ディスク装置は、自装置内のストライプに関連付けられた書き込みの有無を示すフラグを包含し、
前記制御手段は、書き込み対象ストライプに関連付けられた前記フラグをチェックすることで、当該ストライプの書き込みの有無を判定する、請求項1乃至請求項2の何れか1項のディスクアレイ装置。
Each disk unit includes a flag indicating whether or not there is a write associated with a stripe in its own unit,
3. The disk array device according to claim 1, wherein the control unit determines whether the stripe is written by checking the flag associated with the write target stripe. 4.
前記所定データおよび前記所定パリティデータは、0データである、請求項1乃至請求項3の何れか1項のディスクアレイ装置。   The disk array device according to any one of claims 1 to 3, wherein the predetermined data and the predetermined parity data are zero data. 請求項1乃至請求項4の何れか1項のディスクアレイ装置と、
前記ディスクアレイ装置に接続され、前記ディスクアレイ装置に対し読み書きを行う上位処理装置と、を包含するディスクアレイシステム。
The disk array device according to any one of claims 1 to 4, and
A disk array system including a host processor connected to the disk array device and reading / writing data from / to the disk array device.
データ書き込み用ストライプであるデータストライプを包含する複数のディスク装置と、前記複数のデータストライプに対するパリティ書き込み用ストライプであるパリティストライプを包含するディスク装置における前記複数のデータストライプの何れかへの書き込み命令を取得し、
更新対象ストライプおよび前記パリティストライプにデータが書き込まれていなければ、所定データを更新対象データで修正し、修正後のデータを前記更新対象ストライプに書き込み、かつ、所定パリティ、前記所定データおよび前記更新対象データに基づいてパリティを生成し、生成したパリティを前記パリティストライプに書き込む方法。
A write command to any of the plurality of data stripes in a plurality of disk devices including a data stripe that is a data writing stripe and a disk device including a parity stripe that is a parity writing stripe for the plurality of data stripes. Acquired,
If no data is written in the update target stripe and the parity stripe, the predetermined data is corrected with the update target data, the corrected data is written in the update target stripe, and the predetermined parity, the predetermined data, and the update target are written. A method of generating parity based on data and writing the generated parity in the parity stripe.
前記更新対象ストライプにデータが書き込まれておらず、前記パリティストライプにパリティが書き込まれていれば、所定データを更新対象データで修正し、修正後のデータを前記更新対象ストライプに書き込み、かつ、前記パリティストライプからパリティを読み出し、読み出したパリティ、前記所定データおよび更新対象データに基づいてパリティを生成し、生成したパリティを前記パリティストライプに書き込む、請求項6の方法。   If no data is written in the update target stripe and parity is written in the parity stripe, the predetermined data is corrected with the update target data, the corrected data is written in the update target stripe, and The method according to claim 6, wherein parity is read from a parity stripe, parity is generated based on the read parity, the predetermined data, and update target data, and the generated parity is written to the parity stripe. 各ディスク装置は、自装置内のストライプに関連付けられた書き込みの有無を示すフラグを包含し、
書き込み対象ストライプに関連付けられた前記フラグをチェックすることで、当該ストライプの書き込みの有無を判定する、請求項6乃至請求項7の何れか1項の方法。
Each disk unit includes a flag indicating whether or not there is a write associated with a stripe in its own unit,
The method according to any one of claims 6 to 7, wherein the presence or absence of writing of the stripe is determined by checking the flag associated with the write target stripe.
データ書き込み用ストライプであるデータストライプを包含する複数のディスク装置と、
前記複数のデータストライプに対するパリティ書き込み用ストライプであるパリティストライプを包含するディスク装置を備えるコンピュータに、
前記複数のデータストライプの何れかへの書き込み命令を取得し、更新対象ストライプおよび前記パリティストライプにデータが書き込まれていなければ、所定データを更新対象データで修正し、修正後のデータを前記更新対象ストライプに書き込み、かつ、所定パリティ、前記所定データおよび前記更新対象データに基づいてパリティを生成し、生成したパリティを前記パリティストライプに書き込む処理を実行させる、プログラム。
A plurality of disk devices including a data stripe that is a data writing stripe;
In a computer comprising a disk device including a parity stripe that is a parity write stripe for the plurality of data stripes,
When a write command to one of the plurality of data stripes is acquired and no data is written in the update target stripe and the parity stripe, the predetermined data is corrected with the update target data, and the corrected data is updated with the update target A program that writes to a stripe, generates parity based on predetermined parity, the predetermined data, and the update target data, and executes processing for writing the generated parity to the parity stripe.
前記コンピュータに、前記更新対象ストライプにデータが書き込まれておらず、前記パリティストライプにパリティが書き込まれていれば、所定データを更新対象データで修正し、修正後のデータを前記更新対象ストライプに書き込み、かつ、前記パリティストライプからパリティを読み出し、読み出したパリティ、前記所定データおよび更新対象データに基づいてパリティを生成し、生成したパリティを前記パリティストライプに書き込む処理を実行させる、請求項9のプログラム。   If no data is written in the update target stripe and parity is written in the parity stripe, the computer corrects the predetermined data with the update target data and writes the corrected data in the update target stripe. The program according to claim 9, wherein parity is read from the parity stripe, parity is generated based on the read parity, the predetermined data, and update target data, and a process of writing the generated parity to the parity stripe is executed.
JP2015177653A 2015-09-09 2015-09-09 Disk array device, disk array system, control method, and control program Pending JP2017054303A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015177653A JP2017054303A (en) 2015-09-09 2015-09-09 Disk array device, disk array system, control method, and control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015177653A JP2017054303A (en) 2015-09-09 2015-09-09 Disk array device, disk array system, control method, and control program

Publications (1)

Publication Number Publication Date
JP2017054303A true JP2017054303A (en) 2017-03-16

Family

ID=58320802

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015177653A Pending JP2017054303A (en) 2015-09-09 2015-09-09 Disk array device, disk array system, control method, and control program

Country Status (1)

Country Link
JP (1) JP2017054303A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021086289A (en) * 2019-11-26 2021-06-03 株式会社日立製作所 Distributed storage system and parity update method of distributed storage system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021086289A (en) * 2019-11-26 2021-06-03 株式会社日立製作所 Distributed storage system and parity update method of distributed storage system
JP7355616B2 (en) 2019-11-26 2023-10-03 株式会社日立製作所 Distributed storage systems and how to update parity in distributed storage systems

Similar Documents

Publication Publication Date Title
US9496051B2 (en) Efficient raid technique for reliable SSD
JP5923964B2 (en) Disk array device, control device, and program
TWI500039B (en) Outputting information of ecc corrected bits
US8103825B2 (en) System and method for providing performance-enhanced rebuild of a solid-state drive (SSD) in a solid-state drive hard disk drive (SSD HDD) redundant array of inexpensive disks 1 (RAID 1) pair
US9304685B2 (en) Storage array system and non-transitory recording medium storing control program
TWI703499B (en) Data storage device and method for sharing memory of controller thereof
US20170169905A1 (en) Dram row sparing
US9977626B2 (en) Implementing scattered atomic I/O writes
JP2010033287A (en) Storage subsystem and data-verifying method using the same
US9721669B2 (en) Data protection method, memory control circuit unit and memory storage apparatus
US20180157428A1 (en) Data protection of flash storage devices during power loss
US10127099B2 (en) Bad sector repair method and apparatus
JP2014096072A (en) Disk array having mirror configuration and rebuild method of the same
WO2019056948A1 (en) Storage medium management method, device and readable storage medium
JP2006318017A (en) Raid constitution conversion method, device and program, and disk array device using the same
JP2012155541A (en) Data storage device, memory control device, and memory control method
JPWO2018051505A1 (en) Storage system
JP6052288B2 (en) Disk array control device, disk array control method, and disk array control program
US11687251B2 (en) Dynamic repartition of memory physical address mapping
JP2017054303A (en) Disk array device, disk array system, control method, and control program
JP6556980B2 (en) Storage control device, storage control method, and storage control program
US10635534B2 (en) Nonvolatile memory module
JP2012174037A (en) Disk array device and control method thereof
JP2016189187A (en) Recording device and information processing device
JP2011008583A (en) Disk array controller and disk array device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180809

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190611

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190802

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20191210

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200306

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20200306

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20200316

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20200317

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20200703

C211 Notice of termination of reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C211

Effective date: 20200707

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20200908

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20201006

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20201201

C03 Trial/appeal decision taken

Free format text: JAPANESE INTERMEDIATE CODE: C03

Effective date: 20210112

C30A Notification sent

Free format text: JAPANESE INTERMEDIATE CODE: C3012

Effective date: 20210112