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 PDFInfo
- 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
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
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にはいくつか種類があるが、例として、RAID5について説明する。RAID5でデータを書き込む場合、ディスクアレイ装置のコントローラは、データを分割し、分割したデータからパリティを生成しこれらを各ディスク装置に書き込む。データは特定の大きさでディスク装置に書かれる。この書き込む単位はストライプと呼ばれる。
Although there are several types of RAID,
n(nは3以上の整数)台のディスク装置で構成されるRAID5のディスクアレイ装置は、n−1台のディスク装置にデータを書き込み、残りの1台のディスク装置にパリティを書き込む。
A
図1は、3台のディスク装置で構成されるRAID5のディスクアレイ装置(破線内)の概念図である。このディスクアレイ装置の図示されないコントローラは、ディスク装置1、ディスク装置2にデータを分散して書き込む。コントローラは、データをデータ1とデータ2に分割し、データ1をディスク装置1に、データ2をディスク装置2に書き込む。さらに、コントローラは、データ1、データ2から計算により生成したパリティをディスク装置3に書き込む。
FIG. 1 is a conceptual diagram of a
データ1、データ2、パリティは、そのうちの何れか一つがディスク装置の障害で消失しても、他の2つから復元可能である。
図2は、4台のディスク装置で構成されるRAID5のディスクアレイ装置(破線内)の概念図である。このディスクアレイ装置の図示されないコントローラは、3台(ディスク装置1乃至3)にデータを書き込み、残りの1台(ディスク装置4)にパリティを書き込む。
FIG. 2 is a conceptual diagram of a
ここで、ディスク装置1のデータ1のみを上書きする場合、コントローラは、ディスク装置1に上書きするデータと、すでにディスク装置2と3に書かれているデータ2、データ3とからパリティを計算し、当該パリティをディスク装置4に書き込む。この場合、コントローラは、合計で以下の4回の読み書きを実行する。
Here, when overwriting only the
ア) ディスク装置1にデータ1を書き込む。
A) Write
イ) ディスク装置2のデータ2を読み込む。
B)
ウ) ディスク装置3のデータ3を読み込む。
C)
エ)読み込んだデータ2、3、および書き込んだデータ1から新たにパリティを生成し、ディスク装置4に書き込む。
D) Parity is newly generated from the
次に、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
ここでRMWを実行する場合、コントローラは、以下の手順を実行する。 Here, when executing RMW, a controller performs the following procedures.
ア) ディスク装置1のデータ1を読み込む。
A) Read
イ) ディスク装置4のパリティを読み込む。
B) Read the parity of the
ウ) ディスク装置1にデータを書き込む。
C) Write data to the
エ)読み出したデータ1、パリティ、およびディスク装置1に書き込むデータから新たにパリティを生成し、ディスク装置4に書き込む。
D) A new parity is generated from the
このように格納されているデータ(データ1乃至3)からパリティが生成されている場合は、コントローラは、データ2、データ3を読まずにパリティを生成する。4台のディスク装置でRMWを実行すると、4回の読み書きが行われる。この回数は、RMWを実行せずにパリティを生成する場合と同じ回数である。
When the parity is generated from the stored data (
図4は、5台のディスク装置で構成されるRAID5のディスクアレイ装置(破線内)の概念図である。ここで、4台のディスク装置(ディスク装置1乃至4)に格納されたデータ1、データ2、データ3、データ4から生成されたパリティが、残り1台のディスク装置(ディスク装置5)に書かれているとする。そして、データのうち、データ1のみが上書きされるとする。
FIG. 4 is a conceptual diagram of a
ディスク装置1のデータ1のみをRMWを使用しないで上書きする場合、コントローラは、ディスク装置1に上書きするデータと、ディスク装置2乃至4に書かれているデータ2、データ3、データ4とからパリティを計算し、パリティをディスク装置5に書き込む。この場合、コントローラは、合計で以下の5回の読み書きを実行する。
When only the
ア) ディスク装置1にデータ1を書き込む。
A) Write
イ) ディスク装置2のデータ2を読み込む。
B)
ウ) ディスク装置3のデータ3を読み込む。
C)
エ)ディスク装置4のデータ4を読み込む。
D)
エ)読み込んだデータ2、3、4、および書き込んだデータから新たにパリティを生成し、ディスク装置5に書き込む。
D) A new parity is generated from the
図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
ここでRMWを実行する場合、コントローラは、以下の手順を実行する。 Here, when executing RMW, a controller performs the following procedures.
ア) ディスク装置1のデータ1を読み込む。
A) Read
イ) ディスク装置4のパリティを読み込む。
B) Read the parity of the
ウ) ディスク装置1にデータを書き込む。
C) Write data to the
エ)読み出したデータ1、パリティ、およびディスク装置1に書き込むデータから新たにパリティを生成し、ディスク装置5に書き込む。
D) A new parity is generated from the
このように格納されているデータ(データ1乃至4)からパリティが生成されている場合は、コントローラは、データ2、データ3、データ4を読まずにパリティを生成する。5台のディスク装置でRMWを実行すると、4回の読み書きが行われる。この回数は、RMWを実行せずにパリティを生成する場合より一回少ない回数である。
When the parity is generated from the data (
このようにディスク装置が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で書き込みを行うが、フォーマット処理されていなければ、フォーマット列単位に書き込みを行う。ここで、ストライプ列とは、複数のディスク装置上のデータ書き込み用のストライプと、他の一つのディスク装置上のパリティ書き込み用のストライプからなる、ストライプのグループである。
特許文献2は、パリティブロックに、パリティデータによって保護されている特定のパリティグループ内の位置を示す識別子を含むディスクアレイ装置を開示する。このディスクアレイ装置は、この情報を使用して書き込み時のディスクアクセス回数を削減する。
特許文献1のディスクアレイ装置は、フォーマット化されていないストライプ列の何れかのストライプにデータを書き込もうとするときは、ストライプ列内の全ストライプに書き込みを行う。すなわち、この場合、ディスクアレイ装置は、装置内でRAIDを構成するすべてのディスク装置に書き込みを行わなくてはならず、RMWが有する効率性を享受できない。
The disk array device of
本発明は、上記課題を解決するディスクアレイ装置、ディスクアレイシステム、制御方法、および、制御プログラムを提供することを目的とする。 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の実施の形態>
<構成>
図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
上位装置70は、例えば、情報処理装置であり、ディスクアレイ装置60に対してデータの書き込み、読み込みを行う。
The
ディスクアレイ装置60は制御部62と、n(nは3以上の整数)台のディスク装置63を備える。
The
制御部62は、上位装置70から入出力命令を受け付けて、ディスク装置63に対する読み書きを実行する。また、制御部62は、n台のディスク装置63が、RAID、例えばRAID5、6、を構成するように制御する。
The
各ディスク装置63は、書き込み、読み込みの単位である所定サイズのストライプ64を1以上包含する。各ディスク装置63のストライプ64はストライプ列を構成する。図7はストライプ列を説明する概念図である。図7において、表中の各セルはストライプ64を、各行は各ストライプ列を、各列は各ディスク装置63を表す。
Each
ストライプ列は、ストライプ64のグループである。より具体的には、ストライプ列は、n−1台のディスク装置63上のデータ書き込み用ストライプ64(以降、データストライプ64)と、他の一つのディスク装置63上のパリティ書き込み用ストライプ64(以降、パリティストライプ64)からなる。ここで、パリティは、n−1個のデータストライプ64に格納されているデータから作成される冗長データである。
A stripe column is a group of
ディスクアレイ装置60が複数のストライプ列を包含するとき、各ストライプ列のパリティストライプ64は同一のディスク装置63、例えば、ディスク装置n、に格納されていても良いし、図3が例示すように異なるディスク装置63に格納されていても良い。図3の例において、ストライプ列1のパリティストライプ64はディスク装置nに格納されているが、ストライプ列2のパリティストライプ64はディスク装置n−1に格納されている。
When the
図8は、ディスク装置63に格納される情報を示す図である。各ディスク装置63は、各ストライプ64及び、各ストライプ64に関連付けてフラグ65を格納している。フラグ65は、例えば、ストライプ64に一度も書き込みがされていない場合がオン、一度でも書き込みがされた場合をオフとする。なお、フラグ65は、ディスクアレイ装置60の立ち上げ時やディスク装置63への最初のアクセス時に、ディスクアレイ装置60の内部メモリに読み込まれていても良い。
FIG. 8 is a diagram showing information stored in the
ディスクアレイ装置60の制御部62は、ファームウェアを含む論理回路で実現できる。ディスク装置63は、HDDやSSDで実現できる。
The
更に、ディスクアレイ装置60は、プログラム43を備えるコンピュータ装置40で実現することも出来る。
Further, the
図9は、コンピュータ装置40の構成図である。コンピュータ装置40は、バス45で相互に接続されたプロセッサ41、主記憶部42、補助記憶装置44を備える。ここで、例えば、主記憶部42は半導体メモリ、補助記憶装置44はHDDやSDDである。主記憶部42はプログラム43を記憶している。
FIG. 9 is a configuration diagram of the
プログラム43は、プロセッサ41で実行されることにより、プロセッサ41を制御部62として機能させる。補助記憶装置44は、そのまま、ディスク装置63として使用できる。
The
なお、ディスクアレイ装置60がコンピュータ装置40で実現されるとき、プロセッサ41はディスク装置63に入出力を行う業務処理プログラムを実行しても良い。この場合、ディスクアレイ装置60は、その装置内に上位装置70を取り込んでいることになる。
When the
<動作>
図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
制御部62は、ディスク装置63にデータを書き込んだ場合、書き込んだデータストライプ64に関連付けられたフラグ65がオンならばオフにする(図中ウ))。さらに、制御部62は、ディスク装置63にパリティを書き込んだ場合、書き込んだパリティストライプ64に関連付けられたフラグ65がオンならばオフにする(図中エ))。
When writing data to the
一度データが書かれたデータストライプ64に関連付けられたフラグ65は、その後はオフのままである。なお、フラグ65は、ディスクアレイ装置60のリセット時や、上位装置70からの指示が有ったときオンに再設定される。
The
この方法により、全面初期化やBGIを実行しなくても、制御部62は、初めて書き込みが行われるストライプ64に対しても、RMWと同等の効率的なデータ更新を行うことができる。
By this method, the
なお、突然の電源断等の障害により、ストライプ64やフラグ65の更新が完了せず、ストライプ64とフラグ65に不整合が生じる可能性がある。これは、図中のア)からエ)までの一連の作業が完了せずに作業が中断するような場合である。その対策として、制御部62は、障害が取り除かれ電源が正常になった時点で、再度、図中のア)から作業を開始し、エ)までの作業を実施する。
Note that due to a failure such as a sudden power interruption, the
図11は、制御部62のデータ書き込み時の動作フローチャートである。この動作は、上位装置70が、ディスクアレイ装置60に書き込み命令を発行した時に開始される。上位装置70の書き込み命令は、書き込み対象となるデータストライプ64のアドレスと、書き込みデータを指定する。
FIG. 11 is an operation flowchart when the
まず、制御部62は、上位装置70から書き込み命令を受信し(S1)、RMWを使った方が効率的かどうか判断する(S2)。制御部62は、この判断を、公知の方法で行えば良い。
First, the
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
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
両フラグ65がオフであった場合(S5でオフ/オフ)、制御部62は、RMWを実行する。制御部62は、公知の方法でこのRMWを実行すればよい。
When both the
すなわち、制御部62は、まず、データストライプ64、及び、パリティストライプ64の両方から、ディスク装置63に書き込まれている情報を読み込む(S9)。そして制御部62は、読み込んだデータ、読み込んだパリティ、書き込み命令で指定された書き込みデータから、更新データと更新パリティを生成する(S10)。その後、制御部62は、生成した更新データをデータストライプ64に、更新パリティをパリティストライプ64に書き込む(S5)。
That is, the
RMWの実行後、制御部62は、書き込んだデータストライプ64とパリティストライプ64のフラグ65をオフにする(S6)。すなわち、制御部62は、書き込みを行ったストライプ64のフラグ65がオンの場合は、オフに更新する。ここで、制御部62は、受け取った書き込み命令の処理を終了する。
After executing the RMW, the
両フラグ65がオンであった場合(S5でオン/オン)、制御部62は、データストライプ64、および、パリティストライプ64のどちらからも、ディスク装置63に書き込まれている情報の読み込みを行わない。制御部62は、所定データ、所定パリティ、書き込み命令で指定された書き込みデータから、更新データと更新パリティを生成し(S10)、前述した書き込み(S5)とフラグ65をオフにする処理(S6)を行い、処理を終了する。
When both
なお、所定データ、所定パリティは、例えば、ともにストライプ64のサイズのゼロ値データである。所定データ、所定パリティは、データおよびパリティとして整合性が有れば、これらの値に限られない。すなわち、所定パリティの値が、ストライプ列の各データストライプ64に所定データが格納されている場合に生成されるパリティと同じになっていればよい。
The predetermined data and the predetermined parity are, for example, zero value data having the size of the
データストライプ64のフラグ65がオン、パリティストライプ64のフラグ65がオフであった場合(S5でオン/オフ)、制御部62は、パリティストライプ64からパリティの読み出しを行う(S7)。一方、制御部62は、データストライプ64からは、ディスク装置63に書き込まれている情報の読み込みは行わない。この理由は、ストライプ列の他のデータストライプ64にデータが書き込まれてはいるが、今回の書き込み対象データストライプ64には、未だ書き込みがなされていないからである。
When the
その後、制御部62は、所定データ、読み込んだパリティ、書き込み命令で指定された書き込みデータから、更新データと更新パリティを生成し(S10)、前述した書き込み(S5)とフラグ65をオフにする処理(S6)を行い、処理を終了する。
Thereafter, the
<効果>
本実施の形態にかかるディスクアレイ装置60は、全ストライプ64の初期化を行わなくても、書き込みがなされていないストライプ64に対する書き込みも、既に書き込みがなされているストライプ64に対する書き込みも、RMWが有する効率性を達成する。すなわち、制御部62は、更新対象とならないデータストライプ64の読み込みを省略できる。
<Effect>
In the
したがって、本実施の形態にかかるディスクアレイ装置60は、BGIを行うことなく、システムのセットアップに費やす時間を大幅に削減することが可能となる。
Therefore, the
その理由は、制御部62が、書き込みがなされていないストライプ64には、所定のデータとそれと整合性のある所定のパリティが格納されていたかのように動作するからである。
The reason is that the
<第2の実施形態>
図12は、本実施の形態にかかるディスクアレイ装置60の構成図である。
<Second Embodiment>
FIG. 12 is a configuration diagram of the
ディスクアレイ装置60は、データ書き込み用ストライプ64であるデータストライプ64を包含する複数のディスク装置63を備える。ディスクアレイ装置60は、当該複数のデータストライプ64に対するパリティ書き込み用ストライプ64であるパリティストライプ64を包含するディスク装置63も備える。
The
さらに、ディスクアレイ装置60は、制御部62も備える。制御部62は、複数のデータストライプ64の何れかへの書き込み命令を取得し、更新対象のデータストライプ64およびパリティストライプ64にデータが書き込まれていなければ、所定データを更新対象データで修正する。その後、制御部62は、修正後のデータを更新対象のデータストライプ64に書き込み、かつ、所定パリティ、所定データおよび更新対象データに基づいてパリティを生成し、生成したパリティをパリティストライプ64に書き込む。
Furthermore, the
本実施の形態にかかるディスクアレイ装置60は、全ストライプ64の初期化を行わなくても、書き込みがなされていないストライプ64に対する書き込みも、既に書き込みがなされているストライプ64に対する書き込みも、RMWが有する効率性を達成する。すなわち、制御部62は、更新対象とならないデータストライプ64の読み込みを省略できる。
In the
したがって、本実施の形態にかかるディスクアレイ装置60は、BGIを行うことなく、システムのセットアップに費やす時間を大幅に削減することが可能となる。
Therefore, the
その理由は、制御部62が、書き込みがなされていないストライプ64には、所定のデータとそれと整合性のある所定のパリティが格納されていたかのように動作するからである。
The reason is that the
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。 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
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乃至請求項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.
前記ディスクアレイ装置に接続され、前記ディスクアレイ装置に対し読み書きを行う上位処理装置と、を包含するディスクアレイシステム。 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乃至請求項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.
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)
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 |
-
2015
- 2015-09-09 JP JP2015177653A patent/JP2017054303A/en active Pending
Cited By (2)
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 | |
US9977626B2 (en) | Implementing scattered atomic I/O writes | |
US20170169905A1 (en) | Dram row sparing | |
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 | |
US20230384947A1 (en) | Dynamic repartition of memory physical address mapping | |
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 | |
WO2014010077A1 (en) | Disk array control device, disk array control method, and disk array control program | |
JP2017054303A (en) | Disk array device, disk array system, control method, and control program | |
US20220318091A1 (en) | Storage system and operating method thereof | |
JP6556980B2 (en) | Storage control device, storage control method, and storage control program | |
US10635534B2 (en) | Nonvolatile memory module | |
US20160026548A1 (en) | Storage control device and storage system | |
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 |