JP2004094547A - Raidコントローラ及びraidコントローラにおけるディスクアレイ制御方法 - Google Patents
Raidコントローラ及びraidコントローラにおけるディスクアレイ制御方法 Download PDFInfo
- Publication number
- JP2004094547A JP2004094547A JP2002254133A JP2002254133A JP2004094547A JP 2004094547 A JP2004094547 A JP 2004094547A JP 2002254133 A JP2002254133 A JP 2002254133A JP 2002254133 A JP2002254133 A JP 2002254133A JP 2004094547 A JP2004094547 A JP 2004094547A
- Authority
- JP
- Japan
- Prior art keywords
- data
- error
- parity
- divided
- raid controller
- 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
Classifications
-
- 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/109—Sector level checksum or ECC, i.e. sector or stripe level checksum or ECC in addition to the RAID parity calculation
Abstract
【課題】ディスクアレイに記録されたデータを有効に活用する。
【解決手段】本発明は、ライトデータをストライプサイズに分割する手段(22)と、分割された複数のストライプサイズのデータからパリティデータを生成する手段(24)と、分割された複数のストライプサイズのデータの誤りをそれぞれ検出するための複数の誤り検出用コードをそれぞれ生成する手段(23)と、分割された複数のストライプサイズのデータ及び誤り検出用コードの組を、対応するディスクアレイ装置に書き込む手段(25)とを具備するRAIDコントローラ、である。
【選択図】 図2
【解決手段】本発明は、ライトデータをストライプサイズに分割する手段(22)と、分割された複数のストライプサイズのデータからパリティデータを生成する手段(24)と、分割された複数のストライプサイズのデータの誤りをそれぞれ検出するための複数の誤り検出用コードをそれぞれ生成する手段(23)と、分割された複数のストライプサイズのデータ及び誤り検出用コードの組を、対応するディスクアレイ装置に書き込む手段(25)とを具備するRAIDコントローラ、である。
【選択図】 図2
Description
【0001】
【発明の属する技術分野】
本発明は、ディスクアレイを制御するRAIDコントローラ及びRAIDコントローラにおけるディスクアレイ制御方法に関する。
【0002】
【従来の技術】
従来より、ディスクアレイを制御する方法としてRAIDによる手法が広く知られている。このRAIDにおいては、書き込みの対象となるデータをストライプサイズの複数のデータに分割し、この分割されたデータの排他的論理和の値をパリティデータとする。
【0003】
そして、これらストライプサイズの複数のデータ及びパリティデータを、それぞれディスクアレイにストライピングすることにより書き込む。そして、読み出し時には、ディスクアレイにそれぞれ書き込まれた複数のデータ及びパリティデータを読み出し、この読み出された複数のデータの排他的論理和の値が読み出されたパリティデータの値に一致するか否かを判断することにより、データに誤りがあるか否かを判断することができる。
【0004】
上述のRAID機能においては、例えば、ディスクアレイを構成するディスクのうち、1つのディスクが故障してアクセス不能になった場合に、残りのディスクアレイのデータ及びパリティデータからアクセス不能になったディスクのデータを復元することができるため、ディスクアレイを構成するディスクのうちの1台が縮退しても、正常にデータのリード/ライトを行なうことができるという冗長機能を有する。
【0005】
【発明が解決しようとする課題】
上述のように、従来のRAID機能においては、特定のディスク或いは特定のストライプ内における障害により一部のデータが正しく書きこめなかった場合、上述のパリティデータを使用した整合性チェックにより、データに誤りがあることは検出することができる。
【0006】
しかしながら、どのストライプのデータに誤りがあるのかを特定することができないため、他のディスクに書き込まれたデータを有効に活用することができないという問題があった。
【0007】
本発明は、上記実情に鑑みてなされたものであり、ディスクアレイに記録されたデータを有効に活用することができるRAIDコントローラ及びRAIDコントローラにおけるディスクアレイ制御方法を提供することを目的とする。
【0008】
【課題を解決するための手段】
したがって、上記目的を達成するために、本発明によれば、ライトデータをストライプサイズに分割する手段と、前記分割された複数のストライプサイズのデータからパリティデータを生成する手段と、前記分割された複数のストライプサイズのデータの誤りをそれぞれ検出するための複数の誤り検出用コードをそれぞれ生成する手段と、前記分割された複数のストライプサイズのデータ及び誤り検出用コードを、対応するディスクアレイ装置に書き込む手段とを具備することを特徴とするRAIDコントローラ、である。
【0009】
また、本発明は、ディスクアレイ装置からストライプサイズに分割された複数のデータ及びパリティデータ、これら複数のデータ及びパリティデータの誤りをそれぞれ検出するための複数の誤り検出用コードを読み出す手段と、前記読み出されたパリティデータを使用して、前記読み出された複数のデータに誤りがあるか否かを判断する手段と、誤りがあると判断された場合に、前記複数のデータ及びパリティデータのうち、いずれのデータに誤りがあるかを、前記複数のデータ及びパリティデータに対応する前記複数の誤り検出用コードを使用して、決定する手段と、前記複数のデータ及びパリティデータのち、前記誤りがあると決定されたデータ以外のデータを使用して、前記誤りがあると決定されたデータを復元する手段とを具備することを特徴とするRAIDコントローラ、である。
【0010】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態に係るディスクアレイ制御装置におけるRAIDコントローラについて説明する。
【0011】
図1は、本発明の一実施の形態に係るRAIDコントローラを使用したディスクアレイ制御装置を示す図である。
【0012】
同図に示すように、ホストが接続されるシステムバス1には、ディスクアレイ9a〜9cを制御するためのRAIDコントローラ2が接続されている。
【0013】
RAIDコントローラ2は、I/Fコントローラ3、CPU4、ROM5、RAM6、HDDコントローラ8を具備し、これらはローカルバス7に接続されている。
【0014】
I/Fコントローラ3は、システムバス(PCIバス)1とローカルバス7との間を接続するためのブリッジである。
【0015】
.CPU4は、ディスクアレイ9a〜9bの制御全般を司るものであり、システムバス1及びSCSIバス10の制御などを行なう。
【0016】
ROM5は、CPU4の制御を行なうプログラムを格納する。
【0017】
RAM6は、CPU4が実行するプログラムのワークエリアと、システムバス1からのデータの格納及び処理、HDDコントローラ8のデータバッファとして使用するメモリである。
【0018】
HDDコントローラ8は、ディスクアレイ9a〜9cを制御するためのコントローラである。
【0019】
同図に示すように、本発明の実施の形態においては、ホストからのライトデータは、2つのデータ(DATAn−0,DATAn−1)に分割され、これら2つのデータ(DATAn−0,DATAn−1)及びこれら2つのデータ(DATAn−0,DATAn−1)に対応する2つのCRC(Cyclic Redundancy Check)コード(CRCn−0,CRCn−1)は、(DATAn−0, CRCn−0)を1つのストライプ単位としてディスク9aに書き込まれ、(DATAn−1,CRCn−1)を1つのストライプ単位としてディスク9bに書き込まれる。
【0020】
また、2つのデータ(DATAn−0,DATAn−1)の排他的論理和の値であるパリティデータ(DATAn−P)及びこのパリティデータ(DATAn−P)のCRCコード(CRCn−P)が1つのストライプ単位としてディスク9cに書き込まれる。
【0021】
図2は、本発明の実施の形態に係るRAIDコントローラの機能ブロック図を示す図である。
【0022】
同図に示すように、本発明の実施の形態に係るRAIDコントローラ2は、データ送受信部21、データ分割部22、CRCコード生成部23、パリティデータ生成部24、データリード/ライト部25、誤りデータ判断部26、誤りデータ決定部27及び誤りデータ復元部28を有する。
【0023】
データ送受信部21は、ホストからのライトデータを受信するとともに、誤りデータ復元部28において復元されたリードデータをホストに送信する。
【0024】
データ分割部22は、データ送受信部21において受信されたデータをディスクアレイ9a〜9cのストライプサイズの2つのデータに分割する。
【0025】
パリティデータ生成部24は、データ分割部22において分割された2つのデータについてのパリティデータを生成する。具体的には、2つのデータについて排他的論理和を算出し、この算出された値をパリティデータとする。
【0026】
CRCコード生成部23は、データ分割部22において分割された2つのデータ及びパリティデータ生成部24において生成されたパリティデータそれぞれについて、誤り検出用のCRCコードを生成する。
【0027】
データリード/ライト部25は、CRCコード生成部23によって生成された2つのCRCコード、パリティデータ生成部24によって生成されたパリティデータ及びデータ分割部22によって分割された2つのデータをストライピングすることにより書き込む。また、ディスクアレイ9a〜9cか2つのデータ、パリティデータ及びこれらに対応するCRCコードを読み出す。
【0028】
誤りデータ判断部26は、読み出されたパリティデータを使用して、読み出された2つのデータに誤りがあるか否かの判断を行なう。具体的には、2つのデータの排他的論理和の値が、パリティデータと一致しない場合には、誤りであると判断する。
【0029】
誤りデータ決定部27は、誤りデータ判断部26において、誤りがあると判断された場合に、2つのデータ及びパリティデータのうち、いずれのデータに誤りがあるかを、2つのデータ及びパリティデータに対応する2つのCRCコードを使用して、決定する
誤りデータ復元部28は、2つのデータ及びパリティデータのうち、誤りがあると決定されたデータ以外のデータを使用して、誤りがあると決定されたデータを復元する。
【0030】
次に、本発明の実施の形態に係るRAIDコントローラのデータの書き込み動作を図3のフロチャート、図4のライト時におけるデータの流れを説明するための図を参照して説明する。
【0031】
ホストからのライトデータ31を受信すると、この受信されたライトデータ31は、ディスクアレイ9a〜9cのストライプサイズの2つのデータ31−1,31−2に分割される(S1)。
【0032】
次に、この2つのデータ31−1、31−2からパリティデータを生成する(S2)。具体的には、2つのデータ31−1,31−2について排他的論理和を算出し、この算出された値をパリティデータ32とする。
【0033】
その後、2つのデータ31−1,31−2及びパリティデータ32のそれぞれについてCRC33−1、33−2、33−3を生成する(S3)。そして、分割されたデータ(31−1、31−2)及びパリティデータ32及びこれらに対応するCRCコード(33−1〜33−3)を1つのストライピングで書き込む(S4)。
【0034】
ストライピングの単位は、図4に示すように、(データ31−1、CRCコード33−1)、(データ31−1、CRCコード31−2)、(パリティデータ32、CRCコード33−3)の3組である。
【0035】
次に、本発明の実施の形態に係るRAIDコントローラのデータの読み出し動作を図5のフロチャート、図6のリード時におけるデータの流れを説明するための図を参照して説明する。
【0036】
ホストからの読み出し要求を受信すると、RAIDコントローラは、読み出し要求において要求されたデータ及びこれに対応するパリティデータCRCコードを読み出す(S21)。ここでは、データ31−1、31−2。パリティデータ32及びこれらに対応するCRCコード33−1〜33−3が読み出されるものとする。
【0037】
次に、読み出されたデータ31−1、31−2の排他的論理和の結果値がパリティデータ32の値に等しいか否かの判断が行なわれる(S22)。S22におえる判断の結果、一致していると判断された場合には読み出されたデータは正しいデータであると判断される(S23)。
【0038】
一方、S22において、一致していないと判断された場合には、次に、CRCコード33−1〜33−3を使用して、どのデータ31−1〜31−3に誤りがあるか否かを決定する(S24)。
【0039】
すなわち、データ31−1はCRCコード33−1、データ31−2はCRCコード33−2、データ33−3はCRCコード33−3を使用して、誤りがチェックされる。ここでは、データ31−2に誤りがあると決定されたものとする。
【0040】
次に、誤りあると決定されたデータ31−2以外のデータ31−1及びパリティデータ32を使用して、誤りがあると決定されたデータ31−2を復元する(S25)。
【0041】
したがって、本発明の実施の形態に係るRAIDコントローラによれば、一部のデータに誤りがあっても、誤りのあるデータを特定し、データを復元することができるので、ディスクアレイに記録されたデータを有効に利用することができるとともに、ディスクアレイの信頼性を高めることができる。
【0042】
なお。上述の実施の形態においては、3つのディスク9a〜9cを有するディスクアレイについて説明したが、これに限られるものではないことはいうまでもない。
【0043】
また、誤り検出用コードとして、CRCコードを例にとり説明したが、パリティデータ、ハミング符号などを用いてもよい。
【0044】
さらに、本願発明は、上記各実施形態に限定されるものでなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば実施形態に示される全構成要件から幾つかの構成要件が省略されることで発明が抽出された場合には、その抽出された発明を実施する場合には省略部分が周知慣用技術で適宜補われるものである。
【0045】
【発明の効果】
以上詳記したように、本発明によれば、ディスクアレイに記録されたデータを有効に活用することができる。
【図面の簡単な説明】
【図1】本発明の一実施の形態に係るRAIDコントローラを使用したディスクアレイ制御装置を示す図である。
【図2】本発明の実施の形態に係るRAIDコントローラの機能ブロック図を示す図である。
【図3】本発明の実施の形態に係るRAIDコントローラのデータの書き込み動作を説明するためのフロチャートである。
【図4】ライト時におけるデータの流れを説明するための図である。
【図5】本発明の実施の形態に係るRAIDコントローラのデータの読み出し動作を説明するためのフロチャートである。
【図6】リード時におけるデータの流れを説明するための図である。
【符号の説明】
1…システムバス、
2…RAIDコントローラ、
3…I/Fコントローラ、
4…CPU、
5…ROM、
6…RAM、
7…ローカルバス、
8…HDDコントローラ、
9a〜9c…ディスク、
10…SCSIバス、
21…データ送受信部、
22…データ分割部、
23…CRCコード生成部、
24…パリティデータ生成部、
25…データリード/ライト部、
26…誤りデータ判断部、
27…誤りデータ決定部、
28…誤りデータ復元部。
【発明の属する技術分野】
本発明は、ディスクアレイを制御するRAIDコントローラ及びRAIDコントローラにおけるディスクアレイ制御方法に関する。
【0002】
【従来の技術】
従来より、ディスクアレイを制御する方法としてRAIDによる手法が広く知られている。このRAIDにおいては、書き込みの対象となるデータをストライプサイズの複数のデータに分割し、この分割されたデータの排他的論理和の値をパリティデータとする。
【0003】
そして、これらストライプサイズの複数のデータ及びパリティデータを、それぞれディスクアレイにストライピングすることにより書き込む。そして、読み出し時には、ディスクアレイにそれぞれ書き込まれた複数のデータ及びパリティデータを読み出し、この読み出された複数のデータの排他的論理和の値が読み出されたパリティデータの値に一致するか否かを判断することにより、データに誤りがあるか否かを判断することができる。
【0004】
上述のRAID機能においては、例えば、ディスクアレイを構成するディスクのうち、1つのディスクが故障してアクセス不能になった場合に、残りのディスクアレイのデータ及びパリティデータからアクセス不能になったディスクのデータを復元することができるため、ディスクアレイを構成するディスクのうちの1台が縮退しても、正常にデータのリード/ライトを行なうことができるという冗長機能を有する。
【0005】
【発明が解決しようとする課題】
上述のように、従来のRAID機能においては、特定のディスク或いは特定のストライプ内における障害により一部のデータが正しく書きこめなかった場合、上述のパリティデータを使用した整合性チェックにより、データに誤りがあることは検出することができる。
【0006】
しかしながら、どのストライプのデータに誤りがあるのかを特定することができないため、他のディスクに書き込まれたデータを有効に活用することができないという問題があった。
【0007】
本発明は、上記実情に鑑みてなされたものであり、ディスクアレイに記録されたデータを有効に活用することができるRAIDコントローラ及びRAIDコントローラにおけるディスクアレイ制御方法を提供することを目的とする。
【0008】
【課題を解決するための手段】
したがって、上記目的を達成するために、本発明によれば、ライトデータをストライプサイズに分割する手段と、前記分割された複数のストライプサイズのデータからパリティデータを生成する手段と、前記分割された複数のストライプサイズのデータの誤りをそれぞれ検出するための複数の誤り検出用コードをそれぞれ生成する手段と、前記分割された複数のストライプサイズのデータ及び誤り検出用コードを、対応するディスクアレイ装置に書き込む手段とを具備することを特徴とするRAIDコントローラ、である。
【0009】
また、本発明は、ディスクアレイ装置からストライプサイズに分割された複数のデータ及びパリティデータ、これら複数のデータ及びパリティデータの誤りをそれぞれ検出するための複数の誤り検出用コードを読み出す手段と、前記読み出されたパリティデータを使用して、前記読み出された複数のデータに誤りがあるか否かを判断する手段と、誤りがあると判断された場合に、前記複数のデータ及びパリティデータのうち、いずれのデータに誤りがあるかを、前記複数のデータ及びパリティデータに対応する前記複数の誤り検出用コードを使用して、決定する手段と、前記複数のデータ及びパリティデータのち、前記誤りがあると決定されたデータ以外のデータを使用して、前記誤りがあると決定されたデータを復元する手段とを具備することを特徴とするRAIDコントローラ、である。
【0010】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態に係るディスクアレイ制御装置におけるRAIDコントローラについて説明する。
【0011】
図1は、本発明の一実施の形態に係るRAIDコントローラを使用したディスクアレイ制御装置を示す図である。
【0012】
同図に示すように、ホストが接続されるシステムバス1には、ディスクアレイ9a〜9cを制御するためのRAIDコントローラ2が接続されている。
【0013】
RAIDコントローラ2は、I/Fコントローラ3、CPU4、ROM5、RAM6、HDDコントローラ8を具備し、これらはローカルバス7に接続されている。
【0014】
I/Fコントローラ3は、システムバス(PCIバス)1とローカルバス7との間を接続するためのブリッジである。
【0015】
.CPU4は、ディスクアレイ9a〜9bの制御全般を司るものであり、システムバス1及びSCSIバス10の制御などを行なう。
【0016】
ROM5は、CPU4の制御を行なうプログラムを格納する。
【0017】
RAM6は、CPU4が実行するプログラムのワークエリアと、システムバス1からのデータの格納及び処理、HDDコントローラ8のデータバッファとして使用するメモリである。
【0018】
HDDコントローラ8は、ディスクアレイ9a〜9cを制御するためのコントローラである。
【0019】
同図に示すように、本発明の実施の形態においては、ホストからのライトデータは、2つのデータ(DATAn−0,DATAn−1)に分割され、これら2つのデータ(DATAn−0,DATAn−1)及びこれら2つのデータ(DATAn−0,DATAn−1)に対応する2つのCRC(Cyclic Redundancy Check)コード(CRCn−0,CRCn−1)は、(DATAn−0, CRCn−0)を1つのストライプ単位としてディスク9aに書き込まれ、(DATAn−1,CRCn−1)を1つのストライプ単位としてディスク9bに書き込まれる。
【0020】
また、2つのデータ(DATAn−0,DATAn−1)の排他的論理和の値であるパリティデータ(DATAn−P)及びこのパリティデータ(DATAn−P)のCRCコード(CRCn−P)が1つのストライプ単位としてディスク9cに書き込まれる。
【0021】
図2は、本発明の実施の形態に係るRAIDコントローラの機能ブロック図を示す図である。
【0022】
同図に示すように、本発明の実施の形態に係るRAIDコントローラ2は、データ送受信部21、データ分割部22、CRCコード生成部23、パリティデータ生成部24、データリード/ライト部25、誤りデータ判断部26、誤りデータ決定部27及び誤りデータ復元部28を有する。
【0023】
データ送受信部21は、ホストからのライトデータを受信するとともに、誤りデータ復元部28において復元されたリードデータをホストに送信する。
【0024】
データ分割部22は、データ送受信部21において受信されたデータをディスクアレイ9a〜9cのストライプサイズの2つのデータに分割する。
【0025】
パリティデータ生成部24は、データ分割部22において分割された2つのデータについてのパリティデータを生成する。具体的には、2つのデータについて排他的論理和を算出し、この算出された値をパリティデータとする。
【0026】
CRCコード生成部23は、データ分割部22において分割された2つのデータ及びパリティデータ生成部24において生成されたパリティデータそれぞれについて、誤り検出用のCRCコードを生成する。
【0027】
データリード/ライト部25は、CRCコード生成部23によって生成された2つのCRCコード、パリティデータ生成部24によって生成されたパリティデータ及びデータ分割部22によって分割された2つのデータをストライピングすることにより書き込む。また、ディスクアレイ9a〜9cか2つのデータ、パリティデータ及びこれらに対応するCRCコードを読み出す。
【0028】
誤りデータ判断部26は、読み出されたパリティデータを使用して、読み出された2つのデータに誤りがあるか否かの判断を行なう。具体的には、2つのデータの排他的論理和の値が、パリティデータと一致しない場合には、誤りであると判断する。
【0029】
誤りデータ決定部27は、誤りデータ判断部26において、誤りがあると判断された場合に、2つのデータ及びパリティデータのうち、いずれのデータに誤りがあるかを、2つのデータ及びパリティデータに対応する2つのCRCコードを使用して、決定する
誤りデータ復元部28は、2つのデータ及びパリティデータのうち、誤りがあると決定されたデータ以外のデータを使用して、誤りがあると決定されたデータを復元する。
【0030】
次に、本発明の実施の形態に係るRAIDコントローラのデータの書き込み動作を図3のフロチャート、図4のライト時におけるデータの流れを説明するための図を参照して説明する。
【0031】
ホストからのライトデータ31を受信すると、この受信されたライトデータ31は、ディスクアレイ9a〜9cのストライプサイズの2つのデータ31−1,31−2に分割される(S1)。
【0032】
次に、この2つのデータ31−1、31−2からパリティデータを生成する(S2)。具体的には、2つのデータ31−1,31−2について排他的論理和を算出し、この算出された値をパリティデータ32とする。
【0033】
その後、2つのデータ31−1,31−2及びパリティデータ32のそれぞれについてCRC33−1、33−2、33−3を生成する(S3)。そして、分割されたデータ(31−1、31−2)及びパリティデータ32及びこれらに対応するCRCコード(33−1〜33−3)を1つのストライピングで書き込む(S4)。
【0034】
ストライピングの単位は、図4に示すように、(データ31−1、CRCコード33−1)、(データ31−1、CRCコード31−2)、(パリティデータ32、CRCコード33−3)の3組である。
【0035】
次に、本発明の実施の形態に係るRAIDコントローラのデータの読み出し動作を図5のフロチャート、図6のリード時におけるデータの流れを説明するための図を参照して説明する。
【0036】
ホストからの読み出し要求を受信すると、RAIDコントローラは、読み出し要求において要求されたデータ及びこれに対応するパリティデータCRCコードを読み出す(S21)。ここでは、データ31−1、31−2。パリティデータ32及びこれらに対応するCRCコード33−1〜33−3が読み出されるものとする。
【0037】
次に、読み出されたデータ31−1、31−2の排他的論理和の結果値がパリティデータ32の値に等しいか否かの判断が行なわれる(S22)。S22におえる判断の結果、一致していると判断された場合には読み出されたデータは正しいデータであると判断される(S23)。
【0038】
一方、S22において、一致していないと判断された場合には、次に、CRCコード33−1〜33−3を使用して、どのデータ31−1〜31−3に誤りがあるか否かを決定する(S24)。
【0039】
すなわち、データ31−1はCRCコード33−1、データ31−2はCRCコード33−2、データ33−3はCRCコード33−3を使用して、誤りがチェックされる。ここでは、データ31−2に誤りがあると決定されたものとする。
【0040】
次に、誤りあると決定されたデータ31−2以外のデータ31−1及びパリティデータ32を使用して、誤りがあると決定されたデータ31−2を復元する(S25)。
【0041】
したがって、本発明の実施の形態に係るRAIDコントローラによれば、一部のデータに誤りがあっても、誤りのあるデータを特定し、データを復元することができるので、ディスクアレイに記録されたデータを有効に利用することができるとともに、ディスクアレイの信頼性を高めることができる。
【0042】
なお。上述の実施の形態においては、3つのディスク9a〜9cを有するディスクアレイについて説明したが、これに限られるものではないことはいうまでもない。
【0043】
また、誤り検出用コードとして、CRCコードを例にとり説明したが、パリティデータ、ハミング符号などを用いてもよい。
【0044】
さらに、本願発明は、上記各実施形態に限定されるものでなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば実施形態に示される全構成要件から幾つかの構成要件が省略されることで発明が抽出された場合には、その抽出された発明を実施する場合には省略部分が周知慣用技術で適宜補われるものである。
【0045】
【発明の効果】
以上詳記したように、本発明によれば、ディスクアレイに記録されたデータを有効に活用することができる。
【図面の簡単な説明】
【図1】本発明の一実施の形態に係るRAIDコントローラを使用したディスクアレイ制御装置を示す図である。
【図2】本発明の実施の形態に係るRAIDコントローラの機能ブロック図を示す図である。
【図3】本発明の実施の形態に係るRAIDコントローラのデータの書き込み動作を説明するためのフロチャートである。
【図4】ライト時におけるデータの流れを説明するための図である。
【図5】本発明の実施の形態に係るRAIDコントローラのデータの読み出し動作を説明するためのフロチャートである。
【図6】リード時におけるデータの流れを説明するための図である。
【符号の説明】
1…システムバス、
2…RAIDコントローラ、
3…I/Fコントローラ、
4…CPU、
5…ROM、
6…RAM、
7…ローカルバス、
8…HDDコントローラ、
9a〜9c…ディスク、
10…SCSIバス、
21…データ送受信部、
22…データ分割部、
23…CRCコード生成部、
24…パリティデータ生成部、
25…データリード/ライト部、
26…誤りデータ判断部、
27…誤りデータ決定部、
28…誤りデータ復元部。
Claims (8)
- ライトデータをストライプサイズに分割する手段と、
前記分割された複数のストライプサイズのデータからパリティデータを生成する手段と、
前記分割された複数のストライプサイズのデータの誤りをそれぞれ検出するための複数の誤り検出用コードをそれぞれ生成する手段と、
前記分割された複数のストライプサイズのデータ及び誤り検出用コードの組を、対応するディスクアレイ装置に書き込む手段と
を具備することを特徴とするRAIDコントローラ。 - ディスクアレイ装置からストライプサイズに分割された複数のデータ及びパリティデータ、これら複数のデータ及びパリティデータの誤りをそれぞれ検出するための複数の誤り検出用コードを読み出す手段と、
前記読み出されたパリティデータを使用して、前記読み出された複数のデータに誤りがあるか否かを判断する手段と、
誤りがあると判断された場合に、前記複数のデータ及びパリティデータのうち、いずれのデータに誤りがあるかを、前記複数のデータ及びパリティデータに対応する前記複数の誤り検出用コードを使用して、決定する手段と、
前記複数のデータ及びパリティデータのち、前記誤りがあると決定されたデータ以外のデータを使用して、前記誤りがあると決定されたデータを復元する手段と
を具備することを特徴とするRAIDコントローラ。 - 前記誤り検出用コードは、CRC(Cyclic Redundancy Check)コードであることを特徴とする請求項1又は請求項2記載のRAIDコントローラ。
- 前記分割されたストライプサイズのデータ及びこの分割されたストライプサイズのデータに対応する誤り検出用コードの組は、1つのストライピングデータであることを特徴とする請求項1又は請求項2記載のRAIDコントローラ。
- 前記パリティデータは、前記分割された複数のストライプサイズのデータの排他的論理和の値であることを特徴とする請求項1記載のRAIDコントローラ。
- 前記誤りがあるか否かの判断は、前記読み出された複数のデータの排他的論理和の値が前記読み出されたパリティデータに一致するか否かにより判断することを特徴とする請求項2記載のRAIDコントローラ。
- ライトデータをストライプサイズに分割し、
前記分割された複数のストライプサイズのデータからパリティデータを生成し、
前記分割された複数のストライプサイズのデータの誤りをそれぞれ検出するための複数の誤り検出用コードをそれぞれ生成し、
前記分割された複数のストライプサイズのデータ及び誤り検出用コードを、対応するディスクアレイ装置に書き込むことを特徴とするRAIDコントローラにおけるディスクアレイ制御方法。 - ディスクアレイ装置からストライプサイズに分割された複数のデータ及びパリティデータ、これら複数のデータ及びパリティデータの誤りをそれぞれ検出するための複数の誤り検出用コードを読み出し、
前記読み出されたパリティデータを使用して、前記読み出された複数のデータに誤りがあるか否かを判断し、
誤りがあると判断された場合に、前記複数のデータ及びパリティデータのうち、いずれのデータに誤りがあるかを、前記複数のデータ及びパリティデータに対応する前記複数の誤り検出用コードを使用して、決定し、
前記複数のデータ及びパリティデータのち、前記誤りがあると決定されたデータ以外のデータを使用して、前記誤りがあると決定されたデータを復元することを特徴とするRAIDコントローラにおけるディスクアレイ制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002254133A JP2004094547A (ja) | 2002-08-30 | 2002-08-30 | Raidコントローラ及びraidコントローラにおけるディスクアレイ制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002254133A JP2004094547A (ja) | 2002-08-30 | 2002-08-30 | Raidコントローラ及びraidコントローラにおけるディスクアレイ制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004094547A true JP2004094547A (ja) | 2004-03-25 |
Family
ID=32059953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002254133A Pending JP2004094547A (ja) | 2002-08-30 | 2002-08-30 | Raidコントローラ及びraidコントローラにおけるディスクアレイ制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004094547A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101976177A (zh) * | 2010-08-19 | 2011-02-16 | 北京同有飞骥科技有限公司 | 一种垂直型分组并行集中校验的磁盘阵列的构建方法 |
CN101976175A (zh) * | 2010-08-19 | 2011-02-16 | 北京同有飞骥科技有限公司 | 一种水平型分组并行集中校验的磁盘阵列的构建方法 |
CN102063270A (zh) * | 2010-12-28 | 2011-05-18 | 成都市华为赛门铁克科技有限公司 | 一种写操作方法及装置 |
JP2013521555A (ja) * | 2010-03-01 | 2013-06-10 | エクスタス グローバル リミテッド | 分散型の記憶および通信 |
-
2002
- 2002-08-30 JP JP2002254133A patent/JP2004094547A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013521555A (ja) * | 2010-03-01 | 2013-06-10 | エクスタス グローバル リミテッド | 分散型の記憶および通信 |
CN101976177A (zh) * | 2010-08-19 | 2011-02-16 | 北京同有飞骥科技有限公司 | 一种垂直型分组并行集中校验的磁盘阵列的构建方法 |
CN101976175A (zh) * | 2010-08-19 | 2011-02-16 | 北京同有飞骥科技有限公司 | 一种水平型分组并行集中校验的磁盘阵列的构建方法 |
CN102063270A (zh) * | 2010-12-28 | 2011-05-18 | 成都市华为赛门铁克科技有限公司 | 一种写操作方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6928578B2 (en) | System, method, and computer program for selectable or programmable data consistency checking methodology | |
US10152249B2 (en) | Data memory device and controller with interface error detection and handling logic | |
US6629273B1 (en) | Detection of silent data corruption in a storage system | |
US8601348B2 (en) | Error checking addressable blocks in storage | |
US7017107B2 (en) | Storage array employing scrubbing operations at the disk-controller level | |
US7062704B2 (en) | Storage array employing scrubbing operations using multiple levels of checksums | |
US8707122B1 (en) | Nonvolatile memory controller with two-stage error correction technique for enhanced reliability | |
US7131050B2 (en) | Optimized read performance method using metadata to protect against drive anomaly errors in a storage array | |
US7315976B2 (en) | Method for using CRC as metadata to protect against drive anomaly errors in a storage array | |
US8171379B2 (en) | Methods, systems and media for data recovery using global parity for multiple independent RAID levels | |
US20020124129A1 (en) | Method for using RAM buffers with multiple accesses in flash-based storage systems | |
US20060136777A1 (en) | Unit, method and program for detecting imprecise data | |
US7793168B2 (en) | Detection and correction of dropped write errors in a data storage system | |
KR20140018393A (ko) | 데이터 무결성을 제공하기 위한 방법 및 장치 | |
KR20140013095A (ko) | 데이터 무결성을 제공하기 위한 방법 및 장치 | |
US7302603B2 (en) | Host-initiated data reconstruction for improved RAID read operations | |
JP2008539474A (ja) | パワーセーフディスクストレージ装置、システム及び方法 | |
US20130198585A1 (en) | Method of, and apparatus for, improved data integrity | |
JP2006139478A (ja) | ディスクアレイシステム | |
JP2006172320A (ja) | データ複製制御装置 | |
US20070036055A1 (en) | Device, method and program for recovering from media error in disk array device | |
US7308601B2 (en) | Program, method and apparatus for disk array control | |
US8489976B2 (en) | Storage controlling device and storage controlling method | |
JP4469822B2 (ja) | ディスクアレイ装置およびディスクアレイ装置のデータ管理方法 | |
JP2004094547A (ja) | Raidコントローラ及びraidコントローラにおけるディスクアレイ制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041216 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050104 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050510 |