JP6052288B2 - ディスクアレイ制御装置、ディスクアレイ制御方法及びディスクアレイ制御プログラム - Google Patents
ディスクアレイ制御装置、ディスクアレイ制御方法及びディスクアレイ制御プログラム Download PDFInfo
- Publication number
- JP6052288B2 JP6052288B2 JP2014524569A JP2014524569A JP6052288B2 JP 6052288 B2 JP6052288 B2 JP 6052288B2 JP 2014524569 A JP2014524569 A JP 2014524569A JP 2014524569 A JP2014524569 A JP 2014524569A JP 6052288 B2 JP6052288 B2 JP 6052288B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- stripe
- parity
- data block
- block
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1059—Parity-single bit-RAID5, i.e. RAID 5 implementations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/10—Indexing scheme relating to G06F11/10
- G06F2211/1002—Indexing scheme relating to G06F11/1076
- G06F2211/1061—Parity-single bit-RAID4, i.e. RAID 4 implementations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
M(≧3)台の記憶装置をパリティ付きストライプセットとして動作させるための制御部と、
前記パリティ付きストライプセットの各ストライプに含まれる複数のデータブロックのそれぞれについて、状況値を記憶可能な状況値記憶部と、
を含み、
前記制御部は、
前記パリティ付きストライプセットの或るデータブロックにALL0データを書き込むべきときに、当該データブロックにALL0データを書き込むことなく、前記状況値記憶部に、当該データブロックの状況値として第1所定値を記憶させ、
前記パリティ付きストライプセットの或るストライプに関するパリティの算出時に、その算出に必要とされるデータのうち、前記第1所定値が前記状況値として前記状況値記憶部に記憶されている各データブロックのデータについては、各データブロックを有する記憶装置にアクセスすることなく、各データブロックのデータがALL0データであるとして前記ストライプに関するパリティを算出する。
M(≧3)台の記憶装置をパリティ付きストライプセットとして動作させるための方法であって、
コンピュータが、
前記パリティ付きストライプセットの各ストライプに含まれる複数のデータブロックのそれぞれについて、状況値を記憶可能なテーブルをメモリ上に用意し、
前記パリティ付きストライプセットの或るデータブロックにALL0データを書き込むべきときに、当該データブロックにALL0データを書き込むことなく、前記テーブルに、当該データブロックの状況値として第1所定値を記憶させ、
前記パリティ付きストライプセットの或るストライプのパリティブロックへ書き込むパリティの算出時に、その算出に必要とされるデータのうち、前記第1所定値が前記状況値として前記テーブルに記憶されている各データブロックのデータについては、各データブロックを有する記憶装置にアクセスすることなく、各データブロックのデータがALL0データであるとして前記ストライプに関するパリティを算出する。
コンピュータを、
M(≧3)台の記憶装置をパリティ付きストライプセットとして動作させるための制御部と、
前記パリティ付きストライプセットの各ストライプに含まれる複数のデータブロックのそれぞれについて、状況値を記憶可能な状況値記憶部と、
を含む装置であって、
前記制御部が、
前記パリティ付きストライプセットの或るデータブロックにALL0データを書き込むべきときに、当該データブロックにALL0データを書き込むことなく、前記状況値記憶部に、当該データブロックの状況値として第1所定値を記憶させ、
前記パリティ付きストライプセットの或るストライプに関するパリティの算出時に、その算出に必要とされるデータのうち、前記第1所定値が前記状況値として前記状況値記憶部に記憶されている各データブロックのデータについては、各データブロックを有する記憶装置にアクセスすることなく、各データブロックのデータがALL0データであるとして前記ストライプに関するパリティを算出する
装置として動作させる。
コントローラ11がホスト60から受信するライトコマンドは、RAID5ボリュームのブロックサイズの整数倍のサイズの、書き込み開始位置が或るブロックの先頭位置と一致しているデータの書き込みを要求するコマンドである。コントローラ11は、全ディスク50が正常に機能している場合にのみ、ライトコマンドを受け付ける(受信したライトコマンドに応答する)。換言すれば、ディスクアレイ制御装置10は、RAID5ボリューム(M台のディスク50)がストレージとして機能し得る場合であっても、RAID5ボリュームの冗長性が失われている場合には、ライトコマンドを受け付けない装置となっている。
コントローラ11がホスト60から受信するリードコマンドは、RAID5ボリュームのブロックサイズの整数倍のサイズの、読み出し開始位置が或るブロックの先頭位置と一致しているデータの読み出しを要求するコマンドである。尚、コントローラ11は、M台のディスク50が全て正常に機能している場合と、M−1台のディスク50が正常に機能している場合とに、リードコマンドを受け付ける。
データ破棄コマンドは、或るアドレス範囲内のデータの破棄(“0”クリア)を指示するためにホスト60が送信するコマンド(アドレス範囲の指定情報を含むコマンド)である。
リビルドコマンドは、或るディスク50が故障した場合に、そのディスク50を正常な新ディスク50に交換してから、コントローラ11に対して送信されるコマンドである。
一貫性チェックコマンドは、各ストライプ内のデータに一貫性があるか否かをチェックすることを要求するコマンドである。尚、「或るストライプ内のデータに一貫性がある」とは、「或るストライプの各データブロック上のデータから算出したパリティと当該ストライプのパリティブロック上のパリティとが一致する」ということである。
上記したディスクアレイ制御装置10は、各種の変形を行えるものである。例えば、ディスクアレイ制御装置10を、ハードディスクドライブ50ではない記憶装置(SSD(Solid State Drive)等)をパリティ付きストライプセットとして機能させる装置に変形することが出来る。また、制御プログラム13をパーソナルコンピュータ用のものにプログラミングしなおすことにより、ディスクアレイ制御装置10が行っているものと同様の制御をパーソナルコンピュータに行わせることも出来る。
11 コントローラ
12、15 Flashメモリ
13 制御プログラム
16 状況管理テーブル
50 ハードディスクドライブ
60 ホスト
Claims (9)
- M(≧3)台の記憶装置をパリティ付きストライプセットとして動作させるための制御部と、
前記パリティ付きストライプセットの各ストライプに含まれる複数のデータブロックのそれぞれについて、状況値を記憶可能な状況値記憶部と、
を含み、
前記制御部は、
前記パリティ付きストライプセットの或るデータブロックに対する初期化コマンドまたはデータ破棄コマンドを受信した場合に、当該データブロックにALL0データを書き込むことなく、前記状況値記憶部に、当該データブロックの状況値として第1所定値を記憶させ、
前記パリティ付きストライプセットの或るストライプに関するパリティの算出時に、その算出に必要とされるデータのうち、前記第1所定値が前記状況値として前記状況値記憶部に記憶されている各データブロックのデータについては、各データブロックを有する記憶装置にアクセスすることなく、各データブロックのデータがALL0データであるとして前記ストライプに関するパリティを算出し、
複数のストライプのそれぞれについて、そのストライプのデータに一貫性があるか否かのチェックを実行すべきことが指示された場合に、前記状況値記憶部に記憶されている全データブロックの前記状況値が前記第1所定値となっている各ストライプについては、前記チェックを省略する
ことを特徴とするディスクアレイ制御装置。 - 前記制御部は、
或るデータブロックのデータに対する読み出し要求を受信したときに、当該データブロックを有する記憶装置が故障しており、且つ、当該データブロックと同じストライプの他のデータブロックの中に前記第1所定値が前記状況値として前記状況値記憶部に記憶されている幾つかのデータブロックがあった場合、前記第1所定値が前記状況値として前記状況値記憶部に記憶されている各データがALL0データであるとして前記データブロックのデータの生成し、生成したデータを前記読み出し要求の送信元に返送する
ことを特徴とする請求項1に記載のディスクアレイ制御装置。 - 前記制御部は、
前記M台の記憶装置の中の1台が新記憶装置に交換されてから前記パリティ付きストライプセットのリビルドが指示された場合、前記状況値記憶部に記憶されている全データブロックの前記状況値が前記第1所定値となっている各ストライプについては、前記新記憶装置に対する復旧処理を省略する
ことを特徴とする請求項1に記載のディスクアレイ制御装置。 - M(≧3)台の記憶装置をパリティ付きストライプセットとして動作させるためのディスクアレイ制御方法であって、
コンピュータが、
前記パリティ付きストライプセットの各ストライプに含まれる複数のデータブロックのそれぞれについて、状況値を記憶可能なテーブルをメモリ上に用意し、
前記パリティ付きストライプセットの或るデータブロックに対する初期化コマンドまたはデータ破棄コマンドを受信した場合に、当該データブロックにALL0データを書き込むことなく、前記テーブルに、当該データブロックの状況値として第1所定値を記憶させ、
前記パリティ付きストライプセットの或るストライプのパリティブロックへ書き込むパリティの算出時に、その算出に必要とされるデータのうち、前記第1所定値が前記状況値として前記テーブルに記憶されている各データブロックのデータについては、各データブロックを有する記憶装置にアクセスすることなく、各データブロックのデータがALL0データであるとして前記ストライプに関するパリティを算出し、
複数のストライプのそれぞれについて、そのストライプのデータに一貫性があるか否かのチェックを実行すべきことが指示された場合に、前記テーブルに記憶されている全データブロックの前記状況値が前記第1所定値となっている各ストライプについては、前記チェックを省略する
ことを特徴とするディスクアレイ制御方法。 - 前記コンピュータが、
或るデータブロックのデータに対する読み出し要求を受信したときに、当該データブロックを有する記憶装置が故障しており、且つ、当該データブロックと同じストライプの他のデータブロックの中に前記第1所定値が前記状況値として前記テーブルに記憶されている幾つかのデータブロックがあった場合、前記第1所定値が前記状況値として前記テーブルに記憶されている各データがALL0データであるとして前記データブロックのデータの生成し、生成したデータを前記読み出し要求の送信元に返送する
ことを特徴とする請求項4に記載のディスクアレイ制御方法。 - 前記コンピュータが、
前記M台の記憶装置の中の1台が新記憶装置に交換されてから前記パリティ付きストライプセットのリビルドが指示された場合、前記テーブルに記憶されている全データブロックの前記状況値が前記第1所定値となっている各ストライプについては、前記新記憶装置に対する復旧処理を省略する
ことを特徴とする請求項4に記載のディスクアレイ制御方法。 - コンピュータを、
M(≧3)台の記憶装置をパリティ付きストライプセットとして動作させるための制御部と、
前記パリティ付きストライプセットの各ストライプに含まれる複数のデータブロックのそれぞれについて、状況値を記憶可能な状況値記憶部と、
を含む装置であって、
前記制御部が、
前記パリティ付きストライプセットの或るデータブロックに対する初期化コマンドまたはデータ破棄コマンドを受信した場合に、当該データブロックにALL0データを書き込むことなく、前記状況値記憶部に、当該データブロックの状況値として第1所定値を記憶させ、
前記パリティ付きストライプセットの或るストライプに関するパリティの算出時に、その算出に必要とされるデータのうち、前記第1所定値が前記状況値として前記状況値記憶部に記憶されている各データブロックのデータについては、各データブロックを有する記憶装置にアクセスすることなく、各データブロックのデータがALL0データであるとして前記ストライプに関するパリティを算出する
装置として動作させ、
複数のストライプのそれぞれについて、そのストライプのデータに一貫性があるか否かのチェックを実行すべきことが指示された場合に、前記状況値記憶部に記憶されている全データブロックの前記状況値が前記第1所定値となっている各ストライプについては、前記チェックを省略する
ことを特徴とするディスクアレイ制御プログラム。 - 前記制御部は、
或るデータブロックのデータに対する読み出し要求を受信したときに、当該データブロックを有する記憶装置が故障しており、且つ、当該データブロックと同じストライプの他のデータブロックの中に前記第1所定値が前記状況値として前記状況値記憶部に記憶されている幾つかのデータブロックがあった場合、前記第1所定値が前記状況値として前記状況値記憶部に記憶されている各データがALL0データであるとして前記データブロックのデータの生成し、生成したデータを前記読み出し要求の送信元に返送する
ことを特徴とする請求項7に記載のディスクアレイ制御プログラム。 - 前記制御部は、
前記M台の記憶装置の中の1台が新記憶装置に交換されてから前記パリティ付きストライプセットのリビルドが指示された場合、前記状況値記憶部に記憶されている全データブロックの前記状況値が前記第1所定値となっている各ストライプについては、前記新記憶装置に対する復旧処理を省略する
ことを特徴とする請求項7に記載のディスクアレイ制御プログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2012/067916 WO2014010077A1 (ja) | 2012-07-13 | 2012-07-13 | ディスクアレイ制御装置、ディスクアレイ制御方法及びディスクアレイ制御プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2014010077A1 JPWO2014010077A1 (ja) | 2016-06-20 |
JP6052288B2 true JP6052288B2 (ja) | 2016-12-27 |
Family
ID=49915579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014524569A Active JP6052288B2 (ja) | 2012-07-13 | 2012-07-13 | ディスクアレイ制御装置、ディスクアレイ制御方法及びディスクアレイ制御プログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6052288B2 (ja) |
WO (1) | WO2014010077A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6556980B2 (ja) * | 2014-03-04 | 2019-08-07 | 日本電気株式会社 | ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム |
WO2018131067A1 (ja) * | 2017-01-10 | 2018-07-19 | 株式会社日立製作所 | 記憶ドライブの故障により消失したデータを復元する装置 |
CN112947858B (zh) * | 2021-02-25 | 2023-04-25 | 浪潮电子信息产业股份有限公司 | 一种raid 5校验值的更新方法、装置和介质 |
CN116795295B (zh) * | 2023-08-16 | 2023-11-17 | 苏州浪潮智能科技有限公司 | 磁盘阵列中的数据处理方法及装置、存储介质、电子设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3711631B2 (ja) * | 1996-06-10 | 2005-11-02 | 株式会社日立製作所 | コンピュータシステムのディスクアレイ装置 |
JP2011048553A (ja) * | 2009-08-26 | 2011-03-10 | Nec Corp | ストレージ装置、および同装置における実容量割当て方法、ならびに実容量割当てプログラム |
-
2012
- 2012-07-13 WO PCT/JP2012/067916 patent/WO2014010077A1/ja active Application Filing
- 2012-07-13 JP JP2014524569A patent/JP6052288B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JPWO2014010077A1 (ja) | 2016-06-20 |
WO2014010077A1 (ja) | 2014-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5923964B2 (ja) | ディスクアレイ装置、制御装置、およびプログラム | |
US8799745B2 (en) | Storage control apparatus and error correction method | |
JP6175684B2 (ja) | Nandフラッシュメモリ上のデータの記憶のためのアーキテクチャ | |
US20050229033A1 (en) | Disk array controller and information processing apparatus | |
US10120769B2 (en) | Raid rebuild algorithm with low I/O impact | |
EP1703397A2 (en) | Storage control apparatus and method | |
JP2010015197A (ja) | ストレージ制御装置、データ復元装置およびストレージシステム | |
US10067833B2 (en) | Storage system | |
JP2006139478A (ja) | ディスクアレイシステム | |
JP2014096072A (ja) | ミラー構成を有するディスクアレイ及びそのリビルド方法 | |
US9378092B2 (en) | Storage control apparatus and storage control method | |
JP6052288B2 (ja) | ディスクアレイ制御装置、ディスクアレイ制御方法及びディスクアレイ制御プログラム | |
WO2014188479A1 (ja) | ストレージ装置及びストレージ装置の制御方法 | |
JP4788492B2 (ja) | ストレージ装置の容量拡張方法、プログラム、およびストレージ装置 | |
JP5040331B2 (ja) | 記憶装置、記憶装置の制御方法、及び記憶装置の制御プログラム | |
JP2005107838A (ja) | ディスクアレイコントローラ及びログ情報記録方法 | |
US10073633B2 (en) | Data storage system and method for a plurality of disk arrays | |
JP6556980B2 (ja) | ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム | |
JP6175771B2 (ja) | ディスクアレイ装置、バッドセクタ修復方法および修復プログラム | |
JP2012174037A (ja) | ディスクアレイ装置及びその制御方法 | |
JP2005346212A (ja) | ディスクアレイコントローラおよび情報処理装置 | |
JP6318769B2 (ja) | ストレージ制御装置、制御プログラム、および制御方法 | |
JP2017054303A (ja) | ディスクアレイ装置、ディスクアレイシステム、制御方法、および、制御プログラム | |
JP6876288B2 (ja) | ストレージ管理装置、ストレージシステム、ストレージ管理方法およびプログラム | |
JP6859599B2 (ja) | ディスクアレイ制御装置、ディスクアレイ制御方法およびディスクアレイ制御プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160329 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160530 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20161101 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161114 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6052288 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |