JP2013077062A - ディスクアレイ装置およびディスクアレイ制御用プログラム - Google Patents

ディスクアレイ装置およびディスクアレイ制御用プログラム Download PDF

Info

Publication number
JP2013077062A
JP2013077062A JP2011215267A JP2011215267A JP2013077062A JP 2013077062 A JP2013077062 A JP 2013077062A JP 2011215267 A JP2011215267 A JP 2011215267A JP 2011215267 A JP2011215267 A JP 2011215267A JP 2013077062 A JP2013077062 A JP 2013077062A
Authority
JP
Japan
Prior art keywords
disk
data
disk device
raid
redundant code
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.)
Granted
Application number
JP2011215267A
Other languages
English (en)
Other versions
JP5440884B2 (ja
Inventor
Shigeru Suganuma
滋 菅沼
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 JP2011215267A priority Critical patent/JP5440884B2/ja
Priority to US13/628,148 priority patent/US9081738B2/en
Publication of JP2013077062A publication Critical patent/JP2013077062A/ja
Application granted granted Critical
Publication of JP5440884B2 publication Critical patent/JP5440884B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1096Parity calculation or recalculation after configuration or reconfiguration of the system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】、冗長符号の演算を行なう演算装置を低コストにすると共に、当該演算装置の演算負荷を小さくすること。
【解決手段】ディスクアレイ装置は、データを書き込む第1ディスク装置と、当該データおよび演算子に基づいて冗長符号を生成する演算部と、冗長符号を書き込む第2ディスク装置とを有し、第1ディスク装置と第2ディスク装置とをそれぞれ所定数有する。また、演算部で生成する冗長符号を生成する際に用いられる演算子の種類の数が前記第2ディスク装置の装置数より1つ以上少ない。前記演算部は、第1ディスク装置および記第2ディスク装置のうち、任意の前記所定数以下のディスク装置のデータが消失した場合に当該消失したデータの復旧が可能である冗長符号を生成する。
【選択図】図1

Description

本発明は、情報処理装置の外部装置として用いられるディスクアレイ装置およびディスクアレイ制御用プログラムに関する。
ディスクアレイ装置では、データの喪失を防ぐために、データに冗長符号を付加して記録するものが開発されている。このようなディスクアレイ装置は通常、冗長性と制御方式により、RAID(Redundant Arrays of Inexpensive Disks、又はRedundant Arrays of Independent Disks)0からRAID5まで、6種類に分類される。
更に今日では、下記非特許文献1の論文に基づく技術をディスクアレイ装置に実装することにより、RAID6やダブル・パリティ(Double Parity)などと呼ばれる、多冗長性をもつディスクアレイ装置も実現されている。
James S.Plank,「A Tutorial on Reed−Solomon Coding for Fault-Tolerance in RAID−like Systems」(Software-Practice and Experience,Volume 27,Number 9,September 1997,page 995-1012)
ディスクアレイ装置では、冗長性を高めることにより装置としての信頼性を高めることが可能であり、このように信頼性を高めることにより、記録された情報が失われるデータ喪失の発生確率を下げることが可能になる。ただし、冗長性は装置の記録容量とトレードオフの関係にあり、冗長性を高めると、実際の情報を記録するのに使用できる容量が削減される。また、冗長性を高めると、冗長符号の演算に必要な演算回路の大規模化および当該演算回路のコストの上昇を招き、結果として、ディスクアレイ装置の単価も上昇する。
例えば、RAID1の構成は、冗長性が高く冗長演算がほぼ不要のため、高信頼性用途に用いられる。このRAID1は、同じデータを2台のディスク装置に記録する方式であり、これはミラーリングとも呼ばれる。
ただしRAID1では、ミラーリングされた2台のディスク装置が共に故障するような事態が生じた場合、データ喪失が発生する可能性がある。例えば、12台のディスク装置でRAIDを構築する場合、RAID1構成では、ディスク装置が故障する確率をpとすると、6×p×pの確率でデータ喪失が発生する。これは、任意の2台のディスクの組み合わせ数72の内、ミラーリングされたディスクの組み合わせの6通りで故障が発生した場合のみ、データ喪失が発生することを意味している。
以上のような複数のディスク装置の故障に対応するためには、非特許文献1の論文に基づく多冗長構成のディスクアレイを構築する必要がある。例えば、RAID6と呼ばれる方式では任意の2台のディスク装置に故障が発生しても、データを復旧することが可能である。
ただし、RAID6の方式でも、3台以上のディスクで障害が発生した場合、データ喪失が発生する可能性がある。
非特許文献1には、任意のm台のディスク装置に故障が発生しても、データの復元が可能なディスクアレイ装置の構成方法が示されている。より詳細には、非特許文献1では、ガロア拡大体を用いたリード・ソロモン(Reed-Solomon)符号に類似した方法で、冗長符号を付与する方法が示されている。
図9は、非特許文献1に記載されている方法を、n台のデータを記録するディスク装置(データディスク装置)と、同じくn台の冗長符号を記録するディスク装置(冗長ディスク装置)を有するディスクアレイ装置に実装する方式を説明するための図である。図9において、ガロア拡大体の演算子Tは、ガロア拡大体の原子根に対応し、Tの添え字は他の根に対応する。また、非特許文献1およびリード・ソロモン符号では、ガロア拡大体の根に対応する演算子を、変換行列TおよびTのべき乗の形で表現する。
図10は、非特許文献1に記載されている方法を6台のデータディスク装置に対して、6台の冗長ディスク装置を有するディスクアレイ装置に実装した場合の具体例である。図10に示すように、ガロア拡大体として、gf(2^4)を使用している。
図11は、図10に示すように非特許文献1に記載されている方法をディスクアレイ装置に実装した場合の問題点を説明するための図である。図11においては、データディスク装置d1およびd6、および冗長ディスク装置c2、c3、c5、c6に障害が発生した場合のデータ復旧方法を示している。
図11に示すように、冗長ディスク装置が故障している行については、元データの復元に当該冗長ディスク装置に記録されている冗長符号を利用できないため、冗長ディスク装置のある行を用いて、データの復旧を行っている。データの復旧を行うためには、冗長ディスク装置のある行と、故障したデータディスク装置のある行との交点にある演算子を抽出し、部分行列を求める。この求めた部分行列から逆行列を求めることで、故障したデータディスク装置のデータを求めることができる。
しかし、図11に示すように、抽出した部分行列の各要素がすべてIとなっており、行列が非正則であるため、逆行列が求められない。即ち、データの復旧が行えなくなっている。このため非特許文献1に記載の方法に基づき、データの復旧が行えないという問題を回避するためには、符号化に用いるガロア拡大体を、より周期の長い体に変更する必要がある。例えば、gf(2^8)を用いれば、前述の問題は解決するがgf(2^8)は、gf(2^4)に比べ演算が複雑になり、装置の回路実装コストが高くなる、および演算負荷が高くなるという問題が発生する。
本発明は、上記事情に鑑みてなされたものであり、その目的は、冗長符号の演算を行なう演算装置を低コストにすると共に、当該演算装置の演算負荷を小さくすることができるディスクアレイ装置およびディスクアレイ制御用プログラムを提供することにある。
本発明は、上位装置から送信されるデータを書き込む第1ディスク装置と、前記第1ディスク装置に書き込むデータおよび演算子に基づいて冗長符号を生成する演算部と、前記演算部で生成した冗長符号を書き込む第2ディスク装置と、を有するディスクアレイ装置であって、前記第1ディスク装置と前記第2ディスク装置とをそれぞれ所定数有し、前記演算部で生成する冗長符号を生成する際に用いられる演算子の種類の数が前記第2ディスク装置の装置数より1つ以上少ないものであり、前記演算部は、前記第1ディスク装置および前記第2ディスク装置のうち、任意の前記所定数以下のディスク装置のデータが消失した場合に当該消失したデータの復旧が可能である冗長符号を生成することを特徴とする。
他の本発明は、上位装置から送信されるデータを書き込む第1ディスク装置と、前記第1ディスク装置に書き込むデータおよび演算子に基づいて冗長符号を生成する演算部と、前記演算部で生成した冗長符号を書き込む第2ディスク装置と、を有するディスクアレイ装置であって、前記第1ディスク装置と前記第2ディスク装置とをそれぞれ所定数有するディスクアレイ装置に、前記第1ディスク装置および前記第2ディスク装置のうち、任意の前記所定数以下のディスク装置のデータが消失した場合に当該消失したデータの復旧が可能である冗長符号を前記第2ディスク装置の装置数より1つ以上少ない種類の数の演算子を用いて生成する機能を実現させるディスクアレイ制御用プログラムである。
他の本発明は、上位装置から送信されるデータを書き込む第1ディスク装置と、前記第1ディスク装置に書き込むデータおよび演算子に基づいて冗長符号を生成する演算部と、前記演算部で生成した冗長符号を書き込む第2ディスク装置と、を有し、前記データと前記冗長符号とを2×n(任意の自然数)台のディスク装置にそれぞれ書き込むディスクアレイ装置であって、前記演算部で生成する冗長符号を生成する際に用いられる演算子の種類の数が前記nより1つ以上少ないものであり、前記データを書き込んだ第1ディスク装置及び前記第2ディスク装置のうち、任意のn台以下の第1ディスク装置及び第2ディスク装置のデータが消失した場合に当該消失したデータの復旧が可能である冗長符号を生成することを特徴とする。
他の本発明は、上位装置から送信されるデータを書き込む第1ディスク装置と、前記第1ディスク装置に書き込むデータおよび演算子に基づいて冗長符号を生成する演算部と、前記演算部で生成した冗長符号を書き込む第2ディスク装置と、を有し、前記データと前記冗長符号とを2×n(任意の自然数)台のディスク装置にそれぞれ書き込むディスクアレイ装置に、前記データを書き込んだ第1ディスク装置及び前記第2ディスク装置のうち、任意のn台以下の第1ディスク装置及び第2ディスク装置のデータが消失した場合に当該消失したデータの復旧が可能である冗長符号を、前記nより1つ以上少ない種類の数の演算子を用いて生成する機能を実現させるディスクアレイ制御用プログラムである。
本発明によると、冗長符号の演算を行なう演算装置を低コストにすると共に、当該演算装置の演算負荷を小さくすることができるディスクアレイ装置およびディスクアレイ制御用プログラムを提供できる。
本発明の実施の形態に係るディスクアレイ装置の構成を示す図である。 同実施の形態に係る冗長符号の演算行列を示す図である。 同実施の形態に係るRAID演算の変換行列の一例を示す図である。 同実施の形態に係るRAIDの構成を示す図である。 同実施の形態に係るRAID演算子の構成を示す図である。 同実施の形態に係るRRAIDエンジンの処理の例を説明するための図である。 同実施の形態に係るRAIDエンジンの処理と従来術との対比を説明するための図である。 本発明の他の実施の形態に係るディスクアレイ装置の構成を示す図である。 従来技術を説明するための図である。 従来技術を説明するための図である。 従来技術の問題点を説明するための図である。
図1は、本発明を適用したディスクアレイ装置の構成を示す図である。同図に示すように、ディスクアレイ装置1は、RAIDコントローラ11、インタフェース111、演算部であるRAIDエンジン13、および複数のディスク装置1211〜1243を有している。
RAIDコントローラ11は内部エンジン経路131を介してRAIDエンジン13と通信可能に構成されている。また、RAIDコントローラ11はインタフェース111を介して上位装置(例えば、サーバ:図示を省略する。)と、内部ディスク経路121〜124を介してディスク装置1211〜1243とそれぞれ通信可能に接続されている。複数のディスク装置1211〜1213,1221〜1223,1231〜1233及び1241〜1243は、内部経路121,122,123及び124を介してそれぞれRAIコントローラ11に接続されている。
RAIDコントローラ11は、ディスクアレイ装置1内の各装置を制御する。また、RAIDコントローラ11はインタフェース111を介して上位装置からコマンドを受信し、当該コマンドに応じた処理を実行する。例えば、上位装置からインタフェース111を介してライトコマンドを受信した場合、複数のディスク装置1211〜1243のうちの所定のディスク装置(データディスク装置又は第1ディスク装置ともいう)へデータをライトすると共に所定のディスク装置へ当該データから演算した冗長符号を所定のディスク装置(冗長ディスク装置又は第2ディスク装置ともいう)へ書き込む。本実施の形態においては、データを書き込むディスク装置と、当該データから演算された冗長符号を書き込むディスク装置とは同数となるように構成されている。言い換えれば、データと冗長符号とを2×n(任意の自然数)台のディスク装置にそれぞれ書き込むように構成されている。更に、RAIDコントローラ11は、冗長符号の演算および、ディスク故障時にデータ復旧処理を行なうためRAIDエンジン13を制御する。
RAIDエンジン13は、例えば、LSI(Large Scale Integration)であり、内部エンジン経路131を介してRAIDコントローラ11からデータ、冗長符号データ、又は演算指示を受け取り、内部でRAID演算(ガロア拡大体演算)を実施する。RAIDエンジン13は、RAID演算を実施した後、当該演算結果を再び内部エンジン経路131を介してRAIDコントローラ11に送り返す。
図2は、本発明で用いるRAID演算を実施するための冗長符号の演算行列を示している。なお、同図においては、演算子として、Tのべき乗を用いており、Tのべき乗がIと等しくならない限り拡張が可能である。
例えば、gf(2^4)では、Tの15乗未満であれば独立であるため、Tの14乗までの実装、即ち、16台のデータディスクに対して、16台の冗長ディスクを付与する構成が可能である。
図3は本実施の形態におけるディスクアレイ装置1が実行する、RAID演算の変換行列(演算行列)を示している。
図3に示すように、変換行列は、演算子として単位演算子Iと、ガロア拡大体の根に対応する演算子TおよびTの2乗から4乗までの、5つの演算子のみで構成されている。これは、図10を参照して説明した従来技術の変換行列の演算子が11種類必要であったことに比べ、大幅に演算子の数が減少している。なお、この実施の形態では、上述のように大幅に演算子の数が減少しているが、演算子は、1つ以上少なくなるように構成すれば演算の負荷を減少する効果を得ることができる。
また、図3においては、入力データd1〜d6にベクトル変換を施し、冗長符号c1〜c6を演算している。
図4は、RAIDエンジン13の構成を示す図である。同図に示すように、RAIDエンジン13は、入出力インタフェース132、RAIDエンジン出力バス1321、RAIDバッファ133、RAIDエンジン内部バス1331〜1336、演算行列134、RAID演算子13411〜13466、RAID加算機1341〜1346、演算格納バッファ13417〜13467、RAID演算出力バス1351〜1356、RAID演算出力バッファ135、および、RAIDエンジン出力バス1322を有している。
なお、入出力インタフェース132は、内部エンジン経路131を介してRAIDコントローラ11と通信可能に接続されている。
次に、RAIDエンジン13のRAID演算処理を説明する。
RAIDエンジン13は、入出力インタフェース132を介してRAIDコントローラ11から受け取ったデータおよびコマンドをRAIDエンジン出力バス1321を介してRAIDバッファ133へ送付する。
RAIDバッファ133は、受け取ったデータおよびコマンドを、RAIDエンジン内部バス1331〜1336を介して演算行列134内部の、各RAID演算子13411〜13466に送付する。
RAID演算子13411〜13466は、行列状に配置されており、RAIDエンジン内部バス1331〜1336を用いて、同一列の演算子にデータをブロードキャストすることが可能である。
RAID演算子13411〜13466は、個々にガロア拡大体の演算子として機能する。RAIDエンジン内部バス1331〜1336より入力されたデータに対して、各々固有の演算子を作用させ、その演算結果をRAIDエンジン加算機1341〜1346に出力する。
RAIDエンジン加算機1341〜1346は、RAID演算子13411〜13466から入力されたガロア拡大体の値を加算し、演算格納バッファ13417〜13467に出力する。
演算格納バッファ13417〜13467は、RAIDエンジン加算機1341〜1346から入力された演算結果をRAID演算出力バス1351〜1356を介して、RAIDエンジン出力バッファ135に出力する。
RAIDエンジン出力バッファ135は、RAIDエンジン出力バス1322を介して、入出力インタフェース132へ演算結果を出力する。
入出力インタフェース132は、RAIDエンジン出力バッファ135から入力された演算結果をRAIDエンジン経路131経由でRAIDコントローラ11へ送付する。以上のように、RAID演算処理が実施される。
なお、図4を参照して説明した変換行列は、6行6列の行列式の場合を示しているが、当該変換行列はあくまで一実施の形態であり、6行6列の行列式に固定されるものではない。
また、図4においては、各RAID演算子13411〜13466を、変換行列Tのべき乗の形で記述している。本実施の形態ではgf(2^4)のガロア拡大体を演算するロジックを想定しているが、これは、gf(2^4)のガロア拡大体のベクトル変換が、ガロア拡大体gf(2^4)の原始多項式x^4+x+1=0に基づく同伴行列Tとそのべき乗行列によって演算可能なことが、非特許文献1に示されているからである。
また、本実施の形態では、ガロア拡大体(2^4)を用いているが、他のガロア拡大体を用いることも可能である。
図5は、図4の各RAID演算子13411〜13466の構成を示す図である。図5においては、一例として、RAID演算子13411の構成を示している。なお、他のRAID演算子13412〜13466の構成は、RAID演算子13411の構成と同様であるため詳細な説明を省略する。
図5に示すように、RAID演算子RO(13411)はガロア拡大体gf(2^4)上の演算子として、4行4列の変換行列RO2として表現される。RAID演算子ROは、入力バッファRO1、演算入力バスRO11〜RO14、加算機RO21〜RO24、出力バッファRO13、出力バスR131を有している。
次に、RAID演算子RO(13411)の動作について説明する。
図5に示すように、データは入力バスRO115を介して入力バッファRO1に入力される。ガロア拡大体gf(2^4)上では、データは4bitベクトルで表される。入力バッファRO1に入力されたデータは、演算子入力バスRO11〜RO14を介して変換行列RO2に入力される。
変換行列RO2は入力値を加算機RO21〜RO24によりベクトル変換し、当該ベクトル変換した演算結果を出力バッファRO3に出力する。
このように出力バッファRO3に加算機RO21〜RO24から入力された演算結果は、出力バスRO131により、既述のRAIDエンジン加算機1341に出力される。以上のようにRAID演算子RO(13411)が動作する。
なお、本実施の形態では、変換行列RO2としてガロア拡大体(2^4)の原始多項式x^4+x+1=0に基づく同伴行列Tを用いるが、この構成に限定されるものではない。
次に、図6を参照して、本実施の形態におけるRAIDエンジン13が実行する冗長符号の演算方法の一例を説明する。同図においては、RAIDエンジン13は、データd1〜d6の入力に対して、演算行列134で変換を行い、冗長符号c1〜c6を演算し、この演算結果をRAIDコントローラ11へ出力するように構成されている。
次に、図7を参照して、既述の図11を参照して説明した従来技術との対比を説明する。この対比を明確にするため、図11と同様に、データd1,d6と冗長符号c2,c3,c5,c6が障害で失われた場合に、当該データd1,d6と冗長符号c2,c3,c5,c6を復旧する方法で説明する。
図7に示すように、RAIDエンジン13において、データd2,d3,d4,d5と冗長符号c1,c4が入力された場合、行列変換を行なって、データd1,d6を復旧することができ、この処理と同時に、冗長符号c2,c3,c5,c6を再計算する処理も実施することができる。
以上のように構成されたディスクアレイ装置1によると、ディスクアレイ装置1によると、冗長符号を記録するディスク装置の装置数(以下、n台ともいう。)以下のディスク装置(データディスク装置及び冗長ディスク装置)のデータが喪失しても、当該データを復旧することが可能になる。
他方、ディスクアレイ装置1は、いかなるn台の組み合わせ故障に対してもデータが保証できるため、RAID1構成よりも高い信頼性を保証することが可能である。
また、ディスクアレイ装置1は、非特許文献1に記載されている方式より、冗長符号の演算が容易である。特に非特許文献1に記載されている方法では、ディスク装置の冗長度が大きくなると同時に、演算に採用するガロア拡大体も多値対応のものを使用する必要がある。これによりは、同方法では、実演算に対しては演算ビット数の増大となり、演算リソースを浪費する。これに対して、ディスクアレイ装置1は、必要なガロア拡大体を少ないビット数で表示可能であり、演算リソースを削減することが可能である。
たとえば、データディスク装置6台、冗長符号ディスク装置6台で構成するディスクアレイ装置の場合、非特許文献1の論文の構成では、図11で示したように、ガロア拡大体としてgf(2^5)以上の符号を使用しなくてはならない。なぜならば図10の行列式から、周期16以上のガロア拡大体が必要であるからである。gf(2^4)のガロア拡大体の周期は15=2^4−1であるため、図10の実装には不十分である。また、この技術を実装した場合、ガロア拡大体の値がデータのビット幅に依存するため、gf(2^8)やgf(2^16)が用いられる。これらは、gf(2^4)に比べて、演算が複雑であり、計算リソースを浪費する。
これに対して、ディスクアレイ装置1は、gf(2^4)を使用する場合でも、16台のデータディスク装置と16台の冗長符号ディスク装置まで実装可能であり、演算コストを大幅に削減することが可能である。
(他の実施の形態)
図8、本発明の他の実施の形態におけるディスクアレイ装置の構成を示す図である。なお、上述した実施の形態とは、RAIDコントローラ11の内部の構成が異なるのみであるため、他の構成については同一の符号を付し、詳細な説明は省略する。
同図に示すように、RAIDコントローラ11は、RAIDプロセッサ112とRAIDエンジンプログラム1121を有している。RAIDエンジンプログラム1121は、既述のRAIDエンジン13が実施するRAID演算処理と同様な処理を行なうためのプログラムである。
したがって、ディスクアレイ装置1は、RAIDプロセッサ112がRAIDエンジンプログラム1121を実行することにより、既述のRAIDエンジン13が実行するRAID演算処理を行なうようになっている。
このように、RAIDプロセッサ112が、RAIDエンジンプログラム1121に従い、RAID演算処理を実施するように構成しても、ディスクアレイ装置1は、上述の実施の形態と同様な効果を奏することができる。
なお、本発明は上述の実施の形態に限定されるものではなく、その実施に際して様々な変形が可能である。
上記実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
上位装置から送信されるデータを書き込む第1ディスク装置と、
前記第1ディスク装置に書き込むデータおよび演算子に基づいて冗長符号を生成する演算部と、
前記演算部で生成した冗長符号を書き込む第2ディスク装置と、を有するディスクアレイ装置であって、
前記第1ディスク装置と前記第2ディスク装置とをそれぞれ所定数有し、
前記演算部で生成する冗長符号を生成する際に用いられる演算子の種類の数が前記第2ディスク装置の装置数より1つ以上少ないものであり、
前記演算部は、前記第1ディスク装置および前記第2ディスク装置のうち、任意の前記所定数以下のディスク装置のデータが消失した場合に当該消失したデータの復旧が可能である冗長符号を生成することを特徴とするディスクアレイ装置。
(付記2)
上位装置から送信されるデータを書き込む第1ディスク装置と、
前記第1ディスク装置に書き込むデータおよび演算子に基づいて冗長符号を生成する演算部と、
前記演算部で生成した冗長符号を書き込む第2ディスク装置と、を有するディスクアレイ装置であって、
前記第1ディスク装置と前記第2ディスク装置とをそれぞれ所定数有するディスクアレイ装置に、
前記第1ディスク装置および前記第2ディスク装置のうち、任意の前記所定数以下のディスク装置のデータが消失した場合に当該消失したデータの復旧が可能である冗長符号を前記第2ディスク装置の装置数より1つ以上少ない種類の数の演算子を用いて生成する機能を実現させるディスクアレイ制御用プログラム。
(付記3)
上位装置から送信されるデータを書き込む第1ディスク装置と、
前記第1ディスク装置に書き込むデータおよび演算子に基づいて冗長符号を生成する演算部と、
前記演算部で生成した冗長符号を書き込む第2ディスク装置と、を有し、
前記データと前記冗長符号とを2×n(任意の自然数)台のディスク装置にそれぞれ書き込むディスクアレイ装置であって、
前記演算部で生成する冗長符号を生成する際に用いられる演算子の種類の数が前記nより1つ以上少ないものであり、
前記データを書き込んだ第1ディスク装置及び前記第2ディスク装置のうち、任意のn台以下の第1ディスク装置及び第2ディスク装置のデータが消失した場合に当該消失したデータの復旧が可能である冗長符号を生成することを特徴とするディスクアレイ装置。
(付記4)
上位装置から送信されるデータを書き込む第1ディスク装置と、
前記第1ディスク装置に書き込むデータおよび演算子に基づいて冗長符号を生成する演算部と、
前記演算部で生成した冗長符号を書き込む第2ディスク装置と、を有し、
前記データと前記冗長符号とを2×n(任意の自然数)台のディスク装置にそれぞれ書き込むディスクアレイ装置に、
前記データを書き込んだ第1ディスク装置及び前記第2ディスク装置のうち、任意のn台以下の第1ディスク装置及び第2ディスク装置のデータが消失した場合に当該消失したデータの復旧が可能である冗長符号を、前記nより1つ以上少ない種類の数の演算子を用いて生成する機能を実現させるディスクアレイ制御用プログラム。
冗長的にデータを記憶するディスクアレイ装置およびディスクアレイ制御用プログラムに広く適用可能である。
1 ・・・ディスクアレイ装置
11 ・・・RAIDコントローラ
111 ・・・上位インタフェース
112 ・・・RAIDプロセッサ
1121 ・・・RAIDエンジン(プログラム)
12 ・・・ディスクプール
121〜124 ・・・内部ディスク経路
1211〜1243・・・ディスク
13 ・・・RAIDエンジン(ハードウェア)
131 ・・・RAIDエンジン経路
132 ・・・入出力インタフェース
1321 ・・・RAIDエンジン入力バス
1322 ・・・RAIDエンジン出力バス
133 ・・・RAIDバッファ
134 ・・・演算行列
1341〜1346・・・RAIDエンジン内部バス
13411〜13466・・・RAID演算子
13417 ・・・演算格納バッファ
13427 ・・・演算格納バッファ
13437 ・・・演算格納バッファ
13447 ・・・演算格納バッファ
13457 ・・・演算格納バッファ
13467 ・・・演算格納バッファ
135 ・・・RAIDエンジン出力バッファ
1351〜1356・・・RAID演算出力バス
RO(134111)・・・入力バッファ
RO11〜RO14・・・演算子入力バス
RO15 ・・・入力バス
RO2 ・・・変換行列
RO21〜RO24・・・加算機
RO3 ・・・出力バッファ
RO31 ・・・出力バス

Claims (4)

  1. 上位装置から送信されるデータを書き込む第1ディスク装置と、
    前記第1ディスク装置に書き込むデータおよび演算子に基づいて冗長符号を生成する演算部と、
    前記演算部で生成した冗長符号を書き込む第2ディスク装置と、を有するディスクアレイ装置であって、
    前記第1ディスク装置と前記第2ディスク装置とをそれぞれ所定数有し、
    前記演算部で生成する冗長符号を生成する際に用いられる演算子の種類の数が前記第2ディスク装置の装置数より1つ以上少ないものであり、
    前記演算部は、前記第1ディスク装置および前記第2ディスク装置のうち、任意の前記所定数以下のディスク装置のデータが消失した場合に当該消失したデータの復旧が可能である冗長符号を生成することを特徴とするディスクアレイ装置。
  2. 上位装置から送信されるデータを書き込む第1ディスク装置と、
    前記第1ディスク装置に書き込むデータおよび演算子に基づいて冗長符号を生成する演算部と、
    前記演算部で生成した冗長符号を書き込む第2ディスク装置と、を有するディスクアレイ装置であって、
    前記第1ディスク装置と前記第2ディスク装置とをそれぞれ所定数有するディスクアレイ装置に、
    前記第1ディスク装置および前記第2ディスク装置のうち、任意の前記所定数以下のディスク装置のデータが消失した場合に当該消失したデータの復旧が可能である冗長符号を前記第2ディスク装置の装置数より1つ以上少ない種類の数の演算子を用いて生成する機能を実現させるディスクアレイ制御用プログラム。
  3. 上位装置から送信されるデータを書き込む第1ディスク装置と、
    前記第1ディスク装置に書き込むデータおよび演算子に基づいて冗長符号を生成する演算部と、
    前記演算部で生成した冗長符号を書き込む第2ディスク装置と、を有し、
    前記データと前記冗長符号とを2×n(任意の自然数)台のディスク装置にそれぞれ書き込むディスクアレイ装置であって、
    前記演算部で生成する冗長符号を生成する際に用いられる演算子の種類の数が前記nより1つ以上少ないものであり、
    前記データを書き込んだ第1ディスク装置及び前記第2ディスク装置のうち、任意のn台以下の第1ディスク装置及び第2ディスク装置のデータが消失した場合に当該消失したデータの復旧が可能である冗長符号を生成することを特徴とするディスクアレイ装置。
  4. 上位装置から送信されるデータを書き込む第1ディスク装置と、
    前記第1ディスク装置に書き込むデータおよび演算子に基づいて冗長符号を生成する演算部と、
    前記演算部で生成した冗長符号を書き込む第2ディスク装置と、を有し、
    前記データと前記冗長符号とを2×n(任意の自然数)台のディスク装置にそれぞれ書き込むディスクアレイ装置に、
    前記データを書き込んだ第1ディスク装置及び前記第2ディスク装置のうち、任意のn台以下の第1ディスク装置及び第2ディスク装置のデータが消失した場合に当該消失したデータの復旧が可能である冗長符号を、前記nより1つ以上少ない種類の数の演算子を用いて生成する機能を実現させるディスクアレイ制御用プログラム。
JP2011215267A 2011-09-29 2011-09-29 ディスクアレイ装置およびディスクアレイ制御用プログラム Expired - Fee Related JP5440884B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011215267A JP5440884B2 (ja) 2011-09-29 2011-09-29 ディスクアレイ装置およびディスクアレイ制御用プログラム
US13/628,148 US9081738B2 (en) 2011-09-29 2012-09-27 Disk array device, disk array control method, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011215267A JP5440884B2 (ja) 2011-09-29 2011-09-29 ディスクアレイ装置およびディスクアレイ制御用プログラム

Publications (2)

Publication Number Publication Date
JP2013077062A true JP2013077062A (ja) 2013-04-25
JP5440884B2 JP5440884B2 (ja) 2014-03-12

Family

ID=47993767

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011215267A Expired - Fee Related JP5440884B2 (ja) 2011-09-29 2011-09-29 ディスクアレイ装置およびディスクアレイ制御用プログラム

Country Status (2)

Country Link
US (1) US9081738B2 (ja)
JP (1) JP5440884B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11880573B2 (en) 2018-12-18 2024-01-23 Nec Platforms, Ltd. Disk array device, disk array control device, and disk array control method

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000207136A (ja) * 1998-12-31 2000-07-28 Lsi Logic Corp 複数ドライブ故障トレラントraidアルゴリズム
JP2000259359A (ja) * 1999-03-04 2000-09-22 Toshiba Corp Raid装置および記録媒体
JP2006003971A (ja) * 2004-06-15 2006-01-05 Nec Corp 冗長化ドライブ群並びにこれを用いた書込み方法及び読出し方法
JP2007200027A (ja) * 2006-01-26 2007-08-09 Sony Corp データ蓄積装置及びエラー訂正方法
JP2008186400A (ja) * 2007-01-31 2008-08-14 Fujitsu Ltd Raid装置及びガロア体を用いたデータ復元装置
JP2008204247A (ja) * 2007-02-21 2008-09-04 Fujitsu Ltd ストレージ制御装置、ストレージ制御方法
WO2009050761A1 (ja) * 2007-10-15 2009-04-23 Fujitsu Limited ストレージシステム、ストレージ制御装置、ストレージシステムの制御方法及びそのプログラム
JP2011008426A (ja) * 2009-06-24 2011-01-13 Nec Corp ディスクアレイ装置、ディスクアレイ装置制御方法、及びディスクアレイ装置用プログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5278115B2 (ja) * 2009-03-31 2013-09-04 日本電気株式会社 冗長符号生成方法及び装置、データ復元方法及び装置、並びにraid記憶装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000207136A (ja) * 1998-12-31 2000-07-28 Lsi Logic Corp 複数ドライブ故障トレラントraidアルゴリズム
JP2000259359A (ja) * 1999-03-04 2000-09-22 Toshiba Corp Raid装置および記録媒体
JP2006003971A (ja) * 2004-06-15 2006-01-05 Nec Corp 冗長化ドライブ群並びにこれを用いた書込み方法及び読出し方法
JP2007200027A (ja) * 2006-01-26 2007-08-09 Sony Corp データ蓄積装置及びエラー訂正方法
JP2008186400A (ja) * 2007-01-31 2008-08-14 Fujitsu Ltd Raid装置及びガロア体を用いたデータ復元装置
JP2008204247A (ja) * 2007-02-21 2008-09-04 Fujitsu Ltd ストレージ制御装置、ストレージ制御方法
WO2009050761A1 (ja) * 2007-10-15 2009-04-23 Fujitsu Limited ストレージシステム、ストレージ制御装置、ストレージシステムの制御方法及びそのプログラム
JP2011008426A (ja) * 2009-06-24 2011-01-13 Nec Corp ディスクアレイ装置、ディスクアレイ装置制御方法、及びディスクアレイ装置用プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11880573B2 (en) 2018-12-18 2024-01-23 Nec Platforms, Ltd. Disk array device, disk array control device, and disk array control method

Also Published As

Publication number Publication date
US9081738B2 (en) 2015-07-14
JP5440884B2 (ja) 2014-03-12
US20130086319A1 (en) 2013-04-04

Similar Documents

Publication Publication Date Title
US8327080B1 (en) Write-back cache protection
US7779335B2 (en) Enhanced error identification with disk array parity checking
CN103793182B (zh) 用于可扩展存储保护的系统和方法
JP4905161B2 (ja) Raid装置及びガロア体を用いたデータ復元装置
US7529970B2 (en) System and method for improving the performance of operations requiring parity reads in a storage array system
US7669107B2 (en) Method and system for increasing parallelism of disk accesses when restoring data in a disk array system
US20080022150A1 (en) Method and system for improved buffer utilization for disk array parity updates
US20120166909A1 (en) Method and apparatus for increasing data reliability for raid operations
JPH10111767A (ja) 大容量記憶装置
US8239625B2 (en) Parity generator for redundant array of independent discs type memory
JP5170010B2 (ja) ディスクアレイ装置、ディスクアレイ装置制御方法、及びディスクアレイ装置用プログラム
JP5440884B2 (ja) ディスクアレイ装置およびディスクアレイ制御用プログラム
US20090210744A1 (en) Enhanced raid level 3
JP5360666B2 (ja) 複数のディスクアレイのi/o動作を実行する方法及びシステム
JP5278115B2 (ja) 冗長符号生成方法及び装置、データ復元方法及び装置、並びにraid記憶装置
JP3991947B2 (ja) 2種類のパリティと複数のデータ復旧方式とを有するディスクアレイ装置
JP2012185575A (ja) ストレージシステム及びリビルド処理高速化方法
JP6734305B2 (ja) ディスクアレイコントローラ、ストレージ装置、ストレージ装置の復旧方法、及びディスクアレイコントローラの復旧プログラム
JP6777330B2 (ja) ディスクアレイ制御装置、ディスクアレイ装置、ディスクアレイ装置の制御方法及びプログラム
JP2010224803A (ja) ディスクアレイ装置
Jing et al. Tolerating triple disk failures in triple-parity RAID
Tau et al. Parity placement schemes to facilitate recovery from triple column disk failure in disk array systems
Chen et al. Using Flash to Tolerate Track Failures in RAID
JPH05224967A (ja) 誤り訂正装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130822

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130828

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131021

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: 20131121

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131204

R150 Certificate of patent or registration of utility model

Ref document number: 5440884

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees