JP2003330628A - Raidコントローラ、raidコントロール方法、その方法を実行するためのプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な媒体、並びにraidボード、データ記録装置およびデータ再生装置 - Google Patents

Raidコントローラ、raidコントロール方法、その方法を実行するためのプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な媒体、並びにraidボード、データ記録装置およびデータ再生装置

Info

Publication number
JP2003330628A
JP2003330628A JP2002141817A JP2002141817A JP2003330628A JP 2003330628 A JP2003330628 A JP 2003330628A JP 2002141817 A JP2002141817 A JP 2002141817A JP 2002141817 A JP2002141817 A JP 2002141817A JP 2003330628 A JP2003330628 A JP 2003330628A
Authority
JP
Japan
Prior art keywords
data
storages
predetermined
block
raid
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
JP2002141817A
Other languages
English (en)
Inventor
Satoru Hida
悟 飛田
Seiji Tanizawa
成司 谷澤
Ichiro Shimada
一郎 嶋田
Masayuki Tamura
雅之 田村
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2002141817A priority Critical patent/JP2003330628A/ja
Publication of JP2003330628A publication Critical patent/JP2003330628A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/105On the fly coding, e.g. using XOR accumulators

Abstract

(57)【要約】 【課題】パリティ生成のための余分なデータ転送を省略
し、転送レートの低下を防止する。 【解決手段】RAID構成とされたHD装置132a〜
132eに対するデータの書き込みを制御する。ブリッ
ジ・CPUブロック121は、記録すべきデータを所定
単位の長さのデータに分割する。FCコントロールブロ
ック122は、分割されたそれぞれのデータを、HD装
置132a〜132dに振り分けて書き込む。ブリッジ
・CPUブロック121は、パリティエンジン部123
aに、スヌープコマンドを供給する。パリティエンジン
部123aは、セカンダリPCIバス124に読み出さ
れ、HD装置132a〜132dに書き込まれるデータ
をスヌープし、そのデータに基づいてパリティを生成す
る。FCコントロールブロック122は、SDRAM1
23bからパリティを読み出し、HD装置132eに書
き込む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、RAID(Redun
dant Arrays of Inexpensive Disks)構成とされた複数
のストレージに対するデータの書き込み読み出しを制御
するRAIDコントローラ、RAIDコントロール方
法、その方法を実行するためのプログラムおよびそのプ
ログラムを記録したコンピュータ読み取り可能な媒体、
並びにRAIDボード、データ記録装置およびデータ再
生装置に関する。
【0002】詳しくは、この発明は、データの記録時に
は複数のストレージに書き込まれるデータをスヌープし
てパリティを生成し、データの再生時には複数のストレ
ージから読み出されるデータおよびパリティをスヌープ
して失われたデータを復元することによって、パリティ
生成やデータ復元のための余分なデータ転送を省略し、
転送レートの低下を防止するようにしたRAIDコント
ローラ等に係るものである。
【0003】
【従来の技術】近年、ハードディスク等のノンリニアア
クセス可能な記録媒体を用いて映像、音声を記録再生す
るビデオサーバと呼ばれる装置が普及しつつある。この
ようなビデオサーバに用いられるデータ記録再生装置に
は、1988年にpatterson等によって発表された論文
(”A Case for Redundant Arrays of Inexpensive Dis
ks (RAID)”,ACM SIGMOND Conference,Chicago,III,Ju
n.1-3,1998.)に提唱されているハードディスク装置(以
下、「HD装置」という)を複数台用いて構成されたR
AID(Redundant Arrays of Inexpensive Disks)技術
が用いられている。
【0004】上記論文の中でRAIDは、RAID−1
からRAID−5まで5つに分類されている。RAID
−3は、入力データを一定の長さに分割して複数のHD
装置に記録すると共に、各HD装置の互いに対応するデ
ータブロックの排他的論理和であるパリティを生成して
他の1台のHD装置に書き込む方式である。RAID−
5は、入力データの分割単位(ブロック)を大きくし
て、1つの分割データをデータブロックとして1つのH
D装置に記録すると共に、各HD装置の互いに対応する
データブロックの排他的論理和をとった結果(パリテ
ィ)をパリティブロックとして他のHD装置に記録する
とともに、パリティブロックを他のHD装置に分散する
方式である。
【0005】
【発明が解決しようとする課題】このようにRAID技
術を用いたデータ記録再生装置は、RAID構成とされ
た複数のストレージ(HD装置)と、この複数のストレ
ージに対する書き込み読み出しを制御するRAIDコン
トローラ(ディスク・アレイ・コントローラ)とから構
成されている。
【0006】従来のRAIDコントローラは、パリティ
を計算するために、全てのデータをRAIDコントロー
ラ内のキャッシュメモリに予め転送し、ストライピング
のためのデータの並べ換えをしながらパリティを生成す
る。そして、その後に、このキャッシュメモリ内のデー
タおよびパリティをストレージ順に書き込んでいく方式
をとっている。この場合、各々のデータの転送が2回行
われることになり、転送レートの低下を招いていた。
【0007】この発明の目的は、パリティ生成やデータ
復元のための余分なデータ転送を省略し、転送レートの
低下を防止することにある。
【0008】
【課題を解決するための手段】この発明に係るRAID
コントローラは、RAID構成とされた複数のストレー
ジに対するデータの書き込みを制御するRAIDコント
ローラであって、記録すべきデータを分割して所定単位
の長さのデータを形成するデータ分割手段と、このデー
タ分割手段で形成された所定単位の長さのデータを複数
のストレージのうち所定の複数の第1のストレージに振
り分けて書き込む第1の書き込み手段と、所定の複数の
第1のストレージにそれぞれ書き込まれる所定単位の長
さのデータをスヌープし、このデータに基づいてパリテ
ィを生成するパリティ生成手段と、このパリティ生成手
段で生成されたパリティを複数のストレージのうち所定
の複数の第1のストレージとは異なる第2のストレージ
に書き込む第2の書き込み手段とを備えるものである。
【0009】また、この発明に係るRAIDコントロー
ル方法は、RAID構成とされた複数のストレージに対
するデータの書き込みを制御するRAIDコントロール
方法であって、記録すべきデータを分割して所定単位の
長さのデータを形成するステップと、この形成された所
定単位の長さのデータを複数のストレージのうち所定の
複数の第1のストレージに振り分けて書き込むステップ
と、所定の複数のストレージにそれぞれ書き込まれる所
定単位の長さのデータをスヌープし、このデータに基づ
いてパリティを生成するステップと、この生成されたパ
リティを複数のストレージのうち所定の複数の第1のス
トレージとは異なる第2のストレージに書き込むステッ
プとを備えるものである。
【0010】また、この発明に係るプログラムは、上述
のRAIDコントロール方法をコンピュータに実行させ
るためのものである。また、この発明に係るコンピュー
タ読み取り可能な媒体は、上述のプログラムを記録した
ものである。
【0011】また、この発明に係るRAIDボードは、
RAID構成とされた複数のストレージに対するデータ
の書き込みを制御するRAIDボードであって、ホスト
CPUが接続されたプライマリバスとインタフェースを
行って、セカンダリバスとブリッジする、ローカルCP
Uを備える第1のブロックと、セカンダリバスに接続さ
れ、複数のストレージとインタフェースを行う第2のブ
ロックと、セカンダリバスに接続され、RAIDを形成
する際に必要なパリティを生成するための第3のブロッ
クとを有するものである。
【0012】そして、第1のブロックは、ホストCPU
より供給される書き込みコマンドに基づいて、記録すべ
きデータを分割して所定単位の長さのデータを形成し、
この所定単位の長さのデータを、複数のストレージのう
ち所定の複数の第1のストレージに振り分けて書き込む
ためのコマンドを第2のブロックに供給し、複数の第1
のストレージにそれぞれ書き込まれる所定単位の長さの
データをスヌープするためのコマンドを第3のブロック
に供給し、第3のブロックで生成されるパリティを複数
のストレージのうち所定の複数の第1のストレージとは
異なる第2のストレージに書き込むためのコマンドを第
2のブロックに供給する。第3のブロックは、この第1
のブロックより供給されるコマンドに基づいて複数の第
1のストレージにそれぞれ書き込まれる所定単位の長さ
のデータをスヌープし、このデータに基づいてパリティ
を生成する。第2のブロックは、第1のブロックより供
給されるコマンドに基づいて、第1のブロックで形成さ
れた所定単位の長さのデータを、複数の第1のストレー
ジに転送して書き込むと共に、第3のブロックで生成さ
れたパリティを第2のストレージに転送して書き込む。
【0013】また、この発明に係るデータ記録装置は、
RAID構成とされた複数のストレージと、この複数の
ストレージに対するデータの書き込みを制御するRAI
Dコントローラとを備えるものである。そして、RAI
Dコントローラは、記録すべきデータを分割して所定単
位の長さのデータを形成するデータ分割手段と、このデ
ータ分割手段で形成された所定単位の長さのデータを複
数のストレージのうち所定の複数の第1のストレージに
振り分けて書き込む第1の書き込み手段と、所定の複数
のストレージにそれぞれ書き込まれる所定単位の長さの
データをスヌープし、このデータに基づいてパリティを
生成するパリティ生成手段と、このパリティ生成手段で
生成されたパリティを複数のストレージのうち所定の複
数の第1のストレージとは異なる第2のストレージに書
き込む第2の書き込み手段とを有するものである。
【0014】この発明においては、RAID構成とされ
た複数のストレージに対するデータの書き込みが制御さ
れる。記録すべきデータは、所定単位の長さのデータに
分割される。この所定単位の長さのデータが、複数の第
1のストレージに振り分けて書き込まれる。また、この
複数の第1のストレージにそれぞれ書き込まれる所定単
位のデータがスヌープされ、このデータに基づいてパリ
ティが生成される。そして、このパリティが、第2のス
トレージに書き込まれる。
【0015】例えば、RAIDボードを構成する第1の
ブロックは、ホストCPUより供給される書き込みコマ
ンドに基づいて、記録すべきデータを分割して所定単位
の長さのデータを形成する。そして、この第1のブロッ
クは、RAIDボードを構成する第2のブロックに、デ
ータの書き込みコマンドを供給する。第2のブロック
は、第1のブロックで形成された所定単位の長さのデー
タを、セカンダリバスを介して受け取り、複数の第1の
ストレージに振り分けて書き込む。
【0016】また、第1のブロックは、RAIDボード
を構成する第3のブロックにスヌープのコマンドを供給
する。第3のブロックは、上述したように第1のブロッ
クで形成され、セカンダリバスを介して第2のブロック
で受け取られる所定単位の長さのデータをスヌープし、
このデータに基づいてパリティを生成する。第3のブロ
ックでパリティが生成された後、第1のブロックは、第
2のブロックにパリティの書き込みコマンドを供給す
る。第2のブロックは、第3のブロックで生成されたパ
リティをセカンダリバスを介して受け取り、第2のスト
レージに書き込む。
【0017】このように、複数の第1のストレージに書
き込まれる所定単位の長さのデータをスヌープし、この
データに基づいてパリティを生成するものであり、余分
なデータ転送を省略でき、記録時の転送レートの低下を
防止できる。
【0018】この発明に係るRAIDコントローラは、
RAID構成とされた複数のストレージからのデータの
読み出しを制御するRAIDコントローラであって、複
数のストレージのうち所定の複数の第1のストレージよ
りそれぞれ所定単位の長さのデータを読み出すと共に、
複数のストレージのうち所定の複数の第1のストレージ
とは異なる第2のストレージよりパリティを読み出す読
み出し手段と、この読み出し手段で読み出されたデータ
をスヌープし、このデータに基づいて複数の第1のスト
レージのうち故障したストレージに書き込まれていた所
定単位の長さのデータを復元するデータ復元手段とを備
えるものである。
【0019】この発明に係るRAIDコントロール方法
は、RAID構成とされた複数のストレージからのデー
タの読み出しを制御するRAIDコントロール方法であ
って、複数のストレージのうち所定の複数の第1のスト
レージよりそれぞれ所定単位の長さのデータを読み出す
と共に、複数のストレージのうち所定の複数の第1のス
トレージとは異なる第2のストレージよりパリティを読
み出すステップと、この読み出されたデータをスヌープ
し、このデータに基づいて複数の第1のストレージのう
ち故障したストレージに書き込まれていた所定単位の長
さのデータを復元するステップとを備えるものである。
【0020】また、この発明に係るプログラムは、上述
のRAIDコントロール方法をコンピュータに実行させ
るためのものである。また、この発明に係るコンピュー
タ読み取り可能な媒体は、上述のプログラムを記録した
ものである。
【0021】また、この発明に係るRAIDボードは、
RAID構成とされた複数のストレージに対するデータ
の書き込みを制御するRAIDボードであって、ホスト
CPUが接続されたプライマリバスとインタフェースを
行って、セカンダリバスとブリッジする、ローカルCP
Uを備える第1のブロックと、セカンダリバスに接続さ
れ、複数のストレージとインタフェースを行う第2のブ
ロックと、セカンダリバスに接続され、復元データを生
成するための第3のブロックとを有するものである。
【0022】そして、第1のブロックは、ホストCPU
より供給される読み出しコマンドに基づいて、複数のス
トレージのうち所定の複数の第1のストレージよりそれ
ぞれ所定単位の長さのデータを読み出してセカンダリバ
ス上のアドレス空間の所定メモリ領域に書き込むと共
に、複数のストレージのうち複数の第1のストレージと
は異なる第2のストレージよりパリティを読み出してセ
カンダリバス上のアドレス空間の所定のメモリ領域に書
き込むためのコマンドを第2のブロックに供給し、所定
の複数の第1のストレージより読み出される所定単位の
長さのデータおよび第2のストレージより読み出される
パリティをスヌープするためのコマンドを第3のブロッ
クに供給し、第3のブロックで生成される復元データを
セカンダリバス上のアドレス空間の所定のメモリ領域に
書き込むためのコマンドを第3のブロックに供給する。
第2のブロックは、第1のブロックより供給されるコマ
ンドに基づいて、所定の複数の第1のストレージよりそ
れぞれ所定単位の長さのデータを読み出すと共に第2の
ストレージよりパリティを読み出し、この読み出された
データおよびパリティをセカンダリバス上のアドレス空
間の所定のメモリ領域に書き込む。第3のブロックは、
第1のブロックより供給されるコマンドに基づいて、第
2のブロックで読み出されたデータをスヌープし、この
データに基づいて復元データを生成し、この復元データ
をセカンダリバス上のアドレス空間の所定のメモリ領域
に書き込む。
【0023】また、この発明に係るデータ再生装置は、
RAID構成とされた複数のストレージと、この複数の
ストレージからのデータの読み出しを制御するRAID
コントローラとを備え、RAIDコントローラは、複数
のストレージのうち所定の複数の第1のストレージより
それぞれ所定単位の長さのデータを読み出すと共に、複
数のストレージのうち所定の複数の第1のストレージと
は異なる第2のストレージよりパリティを読み出す読み
出し手段と、この読み出し手段で読み出されたデータを
スヌープし、このデータに基づいて複数の第1のストレ
ージのうち故障したストレージに書き込まれていた所定
単位の長さのデータを復元するデータ復元手段とを備え
るものである。
【0024】この発明においては、RAID構成とされ
た複数のストレージからのデータの読み出しが制御され
る。複数の第1のストレージより所定単位の長さのデー
タが読み出される。また、第2のストレージよりパリテ
ィが読み出される。これら読み出されたデータがスヌー
プされ、このデータに基づいて、故障したストレージに
書き込まれていた所定単位の長さのデータが復元され
る。
【0025】例えば、RAIDボードを構成する第1の
ブロックは、ホストCPUより供給される読み出しコマ
ンドに基づいて、RAIDボードを構成する第2のブロ
ックに読み出しコマンドを供給する。第2のブロック
は、複数の第1のストレージより所定単位の長さのデー
タを読み出し、また第2のストレージよりパリティを読
み出し、それぞれセカンダリバス上のアドレス空間の所
定のメモリ領域に書き込む。この際、複数の第1のスト
レージのうち故障したストレージがある場合に、そのス
トレージより所定単位の長さのデータを読み出す代わり
に、第2のストレージよりパリティを読み出す。
【0026】また、第1のブロックは、RAIDボード
を構成する第3のブロックにスヌープのコマンドを供給
する。第3のブロックは、上述したように第2のブロッ
クで読み出されたデータ(パリティも含む)をスヌープ
し、このデータに基づいて、上述したように故障したス
トレージに書き込まれていた所定単位の長さのデータの
復元データを生成する。第3のブロックで復元データが
生成された後、第1のブロックは、第3のブロックに、
復元データをセカンダリバスバス上のアドレス空間の所
定のメモリ領域に書き込むためのコマンドを供給する。
第3のブロックは、復元データをその所定のメモリ領域
に書き込む。
【0027】このように、複数の第1のストレージより
読み出される所定単位の長さのデータおよび第2のスト
レージより読み出されるパリティをスヌープし、このデ
ータに基づいて故障したストレージのデータを復元する
ものであり、余分なデータ転送を省略でき、再生時の転
送レートの低下を防止できる。
【0028】
【発明の実施の形態】以下、図面を参照しながら、この
発明の実施の形態について説明する。図1は、実施の形
態としてのデータ記録再生装置10の構成を示してい
る。このデータ記録再生装置10は、ホストコンピュー
タのCPU(ホストCPU)が接続されるPCI(Perip
heral Component Interconnect)バス、つまりプライマ
リPCIバス11に接続されるRAIDコントローラを
構成するRAIDボード12と、このRAIDボード1
2に接続されるディスク装置13とで構成されている。
【0029】RAIDボード12とディスク装置13と
は、シリアルインタフェースの一つであるファイバーチ
ャネル(Fiber Channel)によって接続されている。ディ
スク装置13は、ファイバーチャネル・インタフェース
(FC I/F)131と、このインタフェース131
に並列的に接続され、RAID構成とされた複数のスト
レージとしての5台のHD装置132a〜132eとを
有している。本実施の形態においては、例えば上述した
RAID−3が採用される。HD装置132a〜132
dは複数の第1のストレージを構成し、後述するように
記録すべきデータが分割されて形成された所定単位の長
さのデータが振り分けて書き込まれる。また、HD装置
132eは第2のストレージを構成し、後述するように
パリティが書き込まれる。
【0030】また、RAIDボード12は、プライマリ
PCIバス11とインタフェースを行って、セカンダリ
バスPCIバス124とブリッジする、第1のブロック
としてのブリッジ・CPUブロック121を有してい
る。このブリッジ・CPUブロック121はCPU(ロ
ーカルCPU)を備えている。
【0031】また、RAIDボード12は、セカンダリ
PCIバス124に接続され、上述したディスク装置1
3とインタフェースを行う、第2のブロックとしてのフ
ァイバーチャネル・コントロールブロック(FCコント
ロールブロック)122を有している。
【0032】また、RAIDボード12は、セカンダリ
PCIバス124に接続され、記録時にRAIDを構成
する際に必要なパリティを生成し、再生時に故障したH
D装置に書き込まれていた所定単位の長さのデータを復
元する、第3のブロックとしてのパリティエンジンブロ
ック123を有している。このパリティエンジンブロッ
ク123は、さらにパリティエンジン部123aとSD
RAM(Synchronous Dynamic RAM)123bとで構成さ
れている。
【0033】図2は、パリティエンジン部123aの構
成を示している。このパリティエンジン部123aは、
セカンダリPCIバス124に接続されるPCIインタ
フェース(PCI I/F)141と、SDRAM12
3bの書き込みおよび読み出しを制御するSDRAMコ
ントローラ144とを有している。
【0034】また、パリティエンジン部123aは、ア
ドレス比較ブロック142と、FIFO(first-in firs
t-out)・EOR(exclusive OR)ブロック143とを有し
ている。
【0035】FIFO・EORブロック143は、セカ
ンダリPCIバス124を介して転送されるデータを取
り込むFIFOメモリ(W・FIFO)143aと、こ
のFIFOメモリ143aで取り込まれたデータと排他
的論理和を取るために、SDRAM123bよりSDR
AMコントローラ144を介して読み出されたデータを
取り込むFIFOメモリ(SR・FIFO)143bと
を有している。
【0036】また、FIFO・EORブロック143
は、FIFOメモリ143aに取り込まれたデータとF
IFOメモリ143bに取り込まれたデータとの排他的
論理和を取るための排他的論理和回路(EOR)143
cと、この排他的論理和回路143cの出力を取り込む
FIFOメモリ(EOR・FIFO)143dとを有し
ている。このFIFOメモリ143dに取り込まれたデ
ータは、SDRAMコントローラ144をSDRAM1
23bの所定領域に書き込まれる。
【0037】また、FIFO・EORブロック143
は、SDRAM123bよりSDRAMコントローラ1
44を介して読み出されたパリティまたは復元データを
取り込むFIFOメモリ(R・FIFO)143eを有
している。このFIFOメモリ143eに取り込まれた
パリティまたは復元データはPCIインタフェース14
1を介してセカンダリPCIバス124に送出される。
【0038】また、アドレス比較ブロック142には、
PCIインタフェース141からスヌープコマンドが供
給される。このアドレス比較ブロック142は、複数の
アドレス比較ユニット142aを持っている。
【0039】スヌープコマンドには、スヌープすべきデ
ータが書き込まれている、あるいはスヌープすべきデー
タ(パリティも含む)が書き込まれる、セカンダリPC
Iバス124上のアドレス空間の所定のメモリ領域の最
初を示すPCIアドレスが含まれている。複数のアドレ
ス比較ユニット142aには、上述のスヌープコマンド
に含まれているPCIアドレスが格納される。
【0040】アドレス比較ブロック142aは、PCI
インタフェース141より、セカンダリPCIバス12
4より抽出されるPCIアドレスが供給される。各アド
レス比較ユニット142aは、このように供給されるP
CIアドレスを自己が格納しているPCIアドレスと比
較し、セカンダリPCIバス124を介して転送される
データがスヌープすべきデータであるか否かを判定す
る。
【0041】PCIアドレスが一致したアドレス比較ユ
ニット142a、つまり活性アドレス比較ユニット14
2aは、PCIアドレスが一致し、セカンダリPCIバ
ス124を介して転送されるデータがスヌープすべきデ
ータであると判定するときは、上述のFIFO・EOR
ブロック143を制御し、FIFOメモリ143aにセ
カンダリPCIバス124を介して転送されるデータを
取り込ませる。
【0042】その場合、活性アドレス比較ユニット14
2aは、SDRAMコントローラ144に、SDRAM
アドレスを供給する。これに対応して、SDRAMコン
トローラ144は、SDRAM123bの所定メモリ領
域から、FIFOメモリ143aで取り込まれたデータ
と排他的論理和を取るためのデータを読み出し、FIF
Oメモリ143bに取り込ませる。
【0043】そして、FIFOメモリ143a,143
bに取り込まれたデータは排他的論理和回路143cに
供給されて排他的論理和の演算がされる。そして、その
演算結果としてのデータはFIFOメモリ143dに取
り込まれ、その後にこのデータはSDRAMコントロー
ラ144を介してSDRAM123bの所定メモリ領域
に供給されて書き込まれる。
【0044】このように、SDRAM123bの所定メ
モリ領域に排他的論理和の演算結果としてのデータが書
き込まれることで、活性アドレス比較ユニット142a
の制御によるスヌープに係る一連の動作が終了する。こ
の終了時に、活性アドレス比較ユニット142aは、ス
ヌープエンドを示すインターラプトを発生する。このイ
ンターラプトは、PCTインタフェース141を介して
セカンダリPCIバス124に送出され、ブリッジ・C
PUブロック121のローカルCPUに供給される。
【0045】アドレス比較ブロック142の、スヌープ
コマンドに含まれているPCIアドレスが格納された複
数のアドレス比較ユニット142aの全てが上述した活
性アドレス比較ユニット142aとなり、それぞれの制
御によるスヌープに係る一連の動作が終了する場合、S
DRAM123bの所定のメモリ領域には、記録時には
パリティが書き込まれた状態となり、一方再生時には、
故障したHD装置の復元データが書き込まれた状態とな
る。
【0046】また、上述したように、各アドレス比較ユ
ニット142aはスヌープに係る一連の動作が終了した
ときスヌープエンドを示すインターラプトを発生する。
このインターラプトは、セカンダリPCIバス124を
介して、ブリッジ・CPUブロック121のローカルC
PUに供給される。したがって、このローカルCPU
は、スヌープコマンドに含まれているPCIアドレスが
格納された複数のアドレス比較ユニット142aの全て
からインターラプトが送られてくることで、SDRAM
123bに、パリティまたは復元データの生成されたこ
とを知ることができる。
【0047】図1のデータ記録再生装置10の動作につ
いて説明する。最初に、記録時の動作を説明する。ま
ず、図3Aに示すように、ホストCPUは、プライマリ
PCIバス11を介してブリッジ・CPUブロック12
1のローカルCPUに書き込みコマンド(Write cmd)を
供給する。
【0048】図9Aは、ホストCPUからブリッジ・C
PUブロック121への読み出し/書き込みのコマンド
のフォーマットを示している。「Read/Write」は、書き
込みであるか読み出しであるかを示す。「PCI Addres
s」は、書き込みのときは、記録すべきデータが記録さ
れているプライマリPCIバス11上のアドレス空間に
あるメモリ領域の最初のアドレスを示し、読み出しのと
きは再生したデータを記録するプライマリPCIバス1
1上のアドレス空間にあるメモリ領域の最初のアドレス
を示す。「Length」は、データ長を示す。「Logical Di
sk Block Address」は、データの書き込みまたは読み出
しを行うためのディスク装置13の論理ディスクブロッ
クアドレスを示す。「Logical Disk Name」は、ディス
ク装置13のドライブ名を示す。図9Bは、書き込みコ
マンド(Write cmd)の一例を示している。
【0049】この書き込みコマンド(Write cmd)を受け
取ったローカルCPUは、記録すべきデータを所定単位
の長さのデータ、例えば1kバイトの長さのデータに分
割する。また、ローカルCPUは、その書き込みコマン
ド(Write cmd)を、図3Aに示すように、各ストライプ
(Stripe)毎の書き込みコマンド(S0 write cmd,S1 writ
e cmd,S2 write cmd,S3 write cmd)に変換し、この書き
込みコマンドをセカンダリPCIバス124を介してF
Cコントロールブロック122に供給する。
【0050】図10Aは、ローカルCPUからFCコン
トロールブロック122への読み出し/書き込みのコマ
ンドのフォーマットを示している。「Read/Write」は、
書き込みであるか読み出しであるかを示す。「PCI Addr
ess」は、書き込みのときは、記録すべきデータが記録
されているセカンダリPCIバス124上のアドレス空
間にあるメモリ領域の最初のアドレスを示し、読み出し
のときは再生したデータを記録するセカンダリPCIバ
ス124上のアドレス空間にあるメモリ領域の最初のア
ドレスを示す。「Length」は、データ長を示す。「Phys
ical Disk Block Address」は、データの書き込みまた
は読み出しを行うための各HD装置の物理ブロックアド
レスを示す。「Physical Disk Name」は、ディスク装置
13内の個々のHD装置の物理ディスク名を示す。図1
0Bは、書き込みコマンド(S0 write cmd,S1 write cm
d,S2 write cmd,S3 write cmd)の一例を示している。
【0051】また、書き込みコマンド(Write cmd)を受
け取ったローカルCPUは、図3Aに示すように、各ス
トライプ(Stripe)毎のスヌープコマンド(S0 snoop cm
d,S1snoop cmd,S2 snoop cmd,S3 snoop cmd)を発生し、
パリティエンジン部123aに供給する。このようにパ
リティエンジン部123aにスヌープコマンド(S0 sno
op cmd,S1 snoop cmd,S2 snoop cmd,S3 snoop cmd)が供
給されるとき、パリティエンジン部123aのアドレス
比較ブロック142内の複数個、本実施の形態では4個
のアドレス比較ユニット142a(図2参照)のそれぞ
れに、スヌープコマンド(S0 snoop cmd,S1 snoop cmd,
S2 snoop cmd,S3 snoop cmd)のそれぞれに含まれるPC
Iアドレスが抽出されて格納される。
【0052】図11Aは、ローカルCPUからパリティ
エンジン部123aへのスヌープコマンドのフォーマッ
トを示している。「PCI Address」は、書き込みのとき
は、スヌープすべきデータが記録されているセカンダリ
PCIバス124上のアドレス空間にあるメモリ領域の
最初のアドレスを示し、読み出しのときは再生したデー
タを記録するセカンダリPCIバス124上のアドレス
空間にあるメモリ領域の最初のアドレスを示す。「Leng
th」は、データ長を示す。図11Bは、スヌープコマン
ド(S0 snoop cmd,S1 snoop cmd,S2 snoop cmd,S3 snoo
p cmd)の一例を示している。
【0053】ローカルCPUから書き込みコマンド(S0
write cmd,S1 write cmd,S2 writecmd,S3 write cmd)
を受け取ったFCコントロールブロック122は、その
書き込みコマンドに基づいて、ブリッジ・CPUブロッ
ク121で分割された所定単位の長さのデータS0,S
1,S2,S3をセカンダリPCIバス124上のアド
レス空間にあるメモリ領域を順次指定することで取り出
し、HD装置132a〜132dに順次振り分けて書き
込む(図4の参照)。
【0054】上述したようにパリティエンジン部123
aのアドレス比較ブロック142内の4個のアドレス比
較ユニット142a(図2参照)のそれぞれには、スヌ
ープコマンド(S0 snoop cmd,S1 snoop cmd,S2 snoop c
md,S3 snoop cmd)のそれぞれに含まれるPCIアドレス
が抽出されて格納されている。そのため、ブリッジ・C
PUブロック121で分割された1kバイトの長さのデ
ータS0,S1,S2,S3をセカンダリPCIバス1
24上のアドレス空間にあるメモリ領域を順次指定し
て、当該セカンダリPCIバス124上に読み出すと
き、これらのデータS0,S1,S2,S3はパリティ
エンジン部123aに順次スヌープされる(図4の参
照)。
【0055】パリティエンジン部123aは、データS
0,S1,S2,S3をスヌープする毎に、スヌープに
係る一連の動作を行って、パリティを生成する。すなわ
ち、まず、図5Aに示すように、セカンダリPCIバス
124から、データS0が、パリティエンジン部123
aにおけるFIFO・EORブロック143のFIFO
メモリ143aに取り込まれる。このとき、図5Bに示
すように、SDRM123bからオール0のデータが読
み出されて、FIFO・EORブロック143のFIF
Oメモリ143bに取り込まれる(図4の参照)。こ
れらFIFOメモリ143a,143bに取り込まれた
データは排他的論理和回路143cに供給されて排他的
論理和の演算が行われ、図5Cに示すように、その演算
結果(データS0)がSDRAM123bに供給されて
書き込まれる(図4の参照)。
【0056】次に、図5Aに示すように、セカンダリP
CIバス124からデータS1がFIFO・EORブロ
ック143のFIFOメモリ143aに取り込まれる。
このとき、図5Bに示すように、SDRM123bから
データS0が読み出されて、FIFO・EORブロック
143のFIFOメモリ143bに取り込まれる(図4
の参照)。これらFIFOメモリ143a,143b
に取り込まれたデータは排他的論理和回路143cに供
給されて排他的論理和の演算が行われ、図5Cに示すよ
うに、その演算結果(データ(S0+S1))がSDR
AM123bに供給されて書き込まれる(図4の参
照)。
【0057】次に、図5Aに示すように、セカンダリP
CIバス124からデータS2がFIFO・EORブロ
ック143のFIFOメモリ143aに取り込まれる。
このとき、図5Bに示すように、SDRM123bから
データ(S0+S1)が読み出されて、FIFO・EO
Rブロック143のFIFOメモリ143bに取り込ま
れる(図4の参照)。これらFIFOメモリ143
a,143bに取り込まれたデータは排他的論理和回路
143cに供給されて排他的論理和の演算が行われ、図
5Cに示すように、その演算結果(データ(S0+S1
+S2))がSDRAM123bに供給されて書き込ま
れる(図4の参照)。
【0058】次に、図5Aに示すように、セカンダリP
CIバス124からデータS3がFIFO・EORブロ
ック143のFIFOメモリ143aに取り込まれる。
このとき、図5Bに示すように、SDRM123bから
データ(S0+S1+S2)が読み出されて、FIFO
・EORブロック143のFIFOメモリ143bに取
り込まれる(図4の参照)。これらFIFOメモリ1
43a,143bに取り込まれたデータは排他的論理和
回路143cに供給されて排他的論理和の演算が行わ
れ、図5Cに示すように、その演算結果(パリティP=
データ(S0+S1+S2+S3))がSDRAM12
3bに供給されて書き込まれる(図4の参照)。
【0059】上述したようにパリティエンジン部123
aにおけるアドレス比較ブロック142の各アドレス比
較ユニット142aは、スヌープに係る一連の動作が終
了したときスヌープエンドを示すインターラプトを発生
する。このインターラプトはブリッジ・CPUブロック
121のローカルCPUに供給される。したがって、ロ
ーカルCPUは、4個のアドレス比較ユニット142a
の全てからインターラプトが送られてくることで、パリ
ティPが生成されてSDRAM123bに書き込まれた
ことを知ることができる。
【0060】このようにSDRAM123bにパリティ
Pが格納された状態で、図3Bに示すように、ブリッジ
・CPUブロック121のローカルCPUは、FCコン
トロールブロック122に、パリティPの書き込みコマ
ンド(P Write cmd)をセカンダリPCIバス124を介
して供給する。図10Cは、書き込みコマンド(P Write
cmd)の一例を示している。
【0061】ローカルCPUから書き込みコマンド(P
write cmd)を受け取ったFCコントロールブロック12
2は、その書き込みコマンドに基づいて、セカンダリP
CIバス124経由でSDRAM123bよりパリティ
Pを読み出し、HD装置132eに書き込む(図4、図
5の参照)。
【0062】次に、再生時の動作を説明する。この場
合、データS1が書き込まれたHD装置(HD1)13
2bが故障しており、ブリッジ・CPUブロック121
のローカルCPUはその旨を把握しているものとする。
【0063】まず、図6Aに示すように、ホストCPU
は、プライマリPCIバス11を介してブリッジ・CP
Uブロック121のローカルCPUに読み出しコマンド
(Read cmd)を供給する。図9Cは、読み出しコマンド(R
ead cmd)の一例を示している。
【0064】この読み出しコマンド(Read cmd)を受け取
ったローカルCPUは、その読み出しコマンド(Read cm
d)を、図6Aに示すように、各ストライプ(Stripe)毎の
読み出しコマンド(S0 read cmd,P read cmd,S2 read c
md,S3 read cmd)に変換し、この読み出しコマンドをセ
カンダリPCIバス124を介してFCコントロールブ
ロック122に供給する。
【0065】この場合、HD装置132bが故障してい
るので、HD装置132bからデータS1を読み出すコ
マンドの代わりに、HD装置132eからパリティPを
読み出すコマンドを発生する。パリティエンジン部12
3aは、パリティPのダミー転送用にダミーメモリエリ
アを持っている。ダミーメモリエリアとは、パリティエ
ンジン部123a内に搭載された機能の一つであり、P
CIバスのアドレス空間上に確保されたメモリ領域であ
る。このメモリ領域はFCコントロールブロック122
から書き込み可能であるが、書き込まれたデータはその
まま捨てられるものである。スヌープ用のPCIトラン
ザクションを発生するために使われる。図10Dは、読
み出しコマンド(S0 read cmd,P read cmd,S2 read cm
d,S3 readcmd)の一例を示している。
【0066】また、読み出しコマンド(Read cmd)を受け
取ったローカルCPUは、図6Aに示すように、各スト
ライプ(Stripe)毎のスヌープコマンド(S0 snoop cmd,P
snoop cmd,S2 snoop cmd,S3 snoop cmd)を発生し、パ
リティエンジン部123aに供給する。このようにパリ
ティエンジン部123aにスヌープコマンド(S0 snoop
cmd,P snoop cmd,S2 snoop cmd,S3 snoop cmd)が供給
されるとき、パリティエンジン部123aのアドレス比
較ブロック142内の複数個、本実施の形態では4個の
アドレス比較ユニット142a(図2参照)のそれぞれ
に、スヌープコマンド(S0 snoop cmd,P snoop cmd,S2
snoop cmd,S3 snoop cmd)のそれぞれに含まれるPCI
アドレスが抽出されて格納される。図11Cは、スヌー
プコマンド(S0 snoop cmd,P snoop cmd,S2 snoop cmd,
S3 snoop cmd)の一例を示している。
【0067】ローカルCPUから読み出しコマンド(S0
read cmd,P read cmd,S2 read cmd,S3 read cmd)を受
け取ったFCコントロールブロック122は、その読み
出しコマンドに基づいて、HD装置132a,132
e,132c,132dより、データS0、パリティ
P、データS2、データS3を順次読み出し、セカンダ
リPCIバス124上のアドレス空間のコマンドで指定
されたメモリ領域に書き込む(図7の参照)。
【0068】上述したようにパリティエンジン部123
aのアドレス比較ブロック142内の4個のアドレス比
較ユニット142a(図2参照)のそれぞれには、スヌ
ープコマンド(S0 snoop cmd,P snoop cmd,S2 snoop cm
d,S3 snoop cmd)のそれぞれに含まれるPCIアドレス
が抽出されて格納されている。そのため、HD装置13
2a,132e,132c,132dから、セカンダリ
PCIバス124上にデータS0、パリティP、データ
S2、データS3を読み出すとき、これらのデータS
0,P,S2,S3はパリティエンジン部123aに順
次スヌープされる(図7の参照)。
【0069】パリティエンジン部123aは、データS
0,P,S2,S3をスヌープする毎に、スヌープに係
る一連の動作を行って、復元データS1を生成する。す
なわち、まず、図8Aに示すように、セカンダリPCI
バス124から、データS0が、パリティエンジン部1
23aにおけるFIFO・EORブロック143のFI
FOメモリ143aに取り込まれる。このとき、図8B
に示すように、SDRM123bからオール0のデータ
が読み出されて、FIFO・EORブロック143のF
IFOメモリ143bに取り込まれる(図7の参
照)。これらFIFOメモリ143a,143bに取り
込まれたデータは排他的論理和回路143cに供給され
て排他的論理和の演算が行われ、図8Cに示すように、
その演算結果(データS0)がSDRAM123bに供
給されて書き込まれる(図7の参照)。
【0070】次に、図8Aに示すように、セカンダリP
CIバス124からパリティPがFIFO・EORブロ
ック143のFIFOメモリ143aに取り込まれる。
このとき、図8Bに示すように、SDRM123bから
データS0が読み出されて、FIFO・EORブロック
143のFIFOメモリ143bに取り込まれる(図7
の参照)。これらFIFOメモリ143a,143b
に取り込まれたデータは排他的論理和回路143cに供
給されて排他的論理和の演算が行われ、図8Cに示すよ
うに、その演算結果(データ(S0+P))がSDRA
M123bに供給されて書き込まれる(図7の参
照)。
【0071】次に、図8Aに示すように、セカンダリP
CIバス124からデータS2がFIFO・EORブロ
ック143のFIFOメモリ143aに取り込まれる。
このとき、図8Bに示すように、SDRM123bから
データ(S0+P)が読み出されて、FIFO・EOR
ブロック143のFIFOメモリ143bに取り込まれ
る(図7の参照)。これらFIFOメモリ143a,
143bに取り込まれたデータは排他的論理和回路14
3cに供給されて排他的論理和の演算が行われ、図8C
に示すように、その演算結果(データ(S0+P+S
2))がSDRAM123bに供給されて書き込まれる
(図7の参照)。
【0072】次に、図8Aに示すように、セカンダリP
CIバス124からデータS3がFIFO・EORブロ
ック143のFIFOメモリ143aに取り込まれる。
このとき、図8Bに示すように、SDRM123bから
データ(S0+P+S2)が読み出されて、FIFO・
EORブロック143のFIFOメモリ143bに取り
込まれる(図7の参照)。これらFIFOメモリ14
3a,143bに取り込まれたデータは排他的論理和回
路143cに供給されて排他的論理和の演算が行われ、
図8Cに示すように、その演算結果(復元データS1=
データ(S0+P+S2+S3))がSDRAM123
bに供給されて書き込まれる(図7の参照)。
【0073】上述したようにパリティエンジン部123
aにおけるアドレス比較ブロック142の各アドレス比
較ユニット142aは、スヌープに係る一連の動作が終
了したときスヌープエンドを示すインターラプトを発生
する。このインターラプトはブリッジ・CPUブロック
121のローカルCPUに供給される。したがって、ロ
ーカルCPUは、4個のアドレス比較ユニット142a
の全てからインターラプトが送られてくることで、復元
データS1が生成されてSDRAM123bに書き込ま
れたことを知ることができる。
【0074】このようにSDRAM123bに復元デー
タS1が格納された状態で、図6Bに示すように、ブリ
ッジ・CPUブロック121のローカルCPUは、パリ
ティエンジン部123aに、復元データS1の転送コマ
ンド(S1 transfer cmd)をセカンダリPCIバス124
を介して供給する。
【0075】図12Aは、ローカルCPUからパリティ
エンジン部123aへの転送コマンドのフォーマットを
示している。「PCI Address」は、転送されたデータを
書き込むセカンダリPCIバス124上のアドレス空間
にあるメモリ領域の最初のアドレスを示す。「Length」
は、データ長を示す。「SDRAM Address」は、転送すべ
きデータが書き込まれているSDRAM123bのメモ
リ領域の最初のアドレスを示している。図12Bは、転
送コマンド(S1 transfer cmd)の一例を示している。
【0076】ローカルCPUから転送コマンド(S1 tra
nsfer cmd)を受け取ったパリティエンジン部123a
は、その転送コマンドに基づいて、セカンダリPCIバ
ス124経由でSDRAM123bより復元データS1
を読み出し、セカンダリPCIバス124上のアドレス
空間のコマンドで指定されたメモリ領域に書き込む(図
7、図8の参照)。
【0077】なお、上述では、HD装置132bが故障
した場合を示したが、HD装置132a、132cある
いは132dが故障した場合には、その故障したHD装
置からのデータの読み出しの代わりにHD装置132e
からパリティPが読み出され、それぞれ復元データS
0,S2あるいはS3が生成される。また、HD装置1
32a〜132eのいずれも故障していないときは、ス
ヌープ動作によるデータ復元処理は不要となる。
【0078】このように、本実施の形態においては、デ
ータの書き込み時にはHD装置132a〜132dに書
き込まれるデータS0〜S3をスヌープしてパリティP
を生成し、読み出し時にはHD装置132a〜132e
(故障したものは除く)から読み出されるデータおよび
パリティPをスヌープして失われたデータを復元する。
したがって、パリティ生成やデータ復元のための余分な
データ転送を省略でき、転送レートの低下を防止でき
る。
【0079】なお、上述実施の形態においては、HD装
置132a〜132eのRAID構成としてRAID−
3を採用したものを示したが、この発明は、記録すべき
データを分割して複数のストレージ(ハードディスク装
置)に振り分けて記録すると共に、それらのデータから
パリティを生成して他のストレージに記録する、その他
のレベルのRAID構成、例えばRAID−4、RAI
D−5等を採用するものにも同様に適用することができ
る。
【0080】また、上述実施の形態においては、ストレ
ージがHD装置であるものを示したが、この発明は、ス
トレージがHD装置であるものに限定されない。その他
の複数のデータ記録再生器がRAID構成されるもので
あってもよい。
【0081】
【発明の効果】この発明によれば、データの記録時には
複数のストレージに書き込まれるデータをスヌープして
パリティを生成し、データの再生時には複数のストレー
ジから読み出されるデータおよびパリティをスヌープし
て失われたデータを復元するものであり、パリティ生成
やデータ復元のための余分なデータ転送を省略でき、転
送レートの低下を防止できる。
【図面の簡単な説明】
【図1】実施の形態としてのデータ記録再生装置の構成
を示すブロック図である。
【図2】パリティエンジン部の概略構成を示すブロック
図である。
【図3】記録時のコマンドの流れを説明するための図で
ある。
【図4】記録時のデータの流れを説明するための図であ
る。
【図5】記録時のパリティ生成処理を説明するための図
である。
【図6】再生時のコマンドの流れを説明するための図で
ある。
【図7】再生時のデータの流れ(HD1故障時)を説明
するための図である。
【図8】再生時の復元データの生成処理を説明するため
の図である。
【図9】ホストCPUからのコマンドを説明するための
図である。
【図10】ローカルCPUからFCコントロールブロッ
クへのコマンドを説明するための図である。
【図11】ローカルCPUからパリティエンジン部への
スヌープコマンドを説明するための図である。
【図12】ローカルCPUからパリティエンジン部への
復元データの転送コマンドを説明するための図である。
【符号の説明】
10・・・データ記録再生装置、11・・・プライマリ
PCIアドレス、12・・・RAIDボード、13・・
・ディスク装置、121・・・ブリッジ・CPUブロッ
ク(第1のブロック)、122・・・ファイバーチャネ
ル・コントロールブロック(第2のブロック)、123
・・・パリティエンジンブロック(第3のブロック)、
123a・・・パリティエンジン部、123b・・・S
DRAM、124・・・セカンダリPCIバス、131
・・・ファイバーチャネル・インタフェース、132a
〜132e・・・HD装置、141・・・PCIインタ
フェース、142・・・アドレス比較ブロック、142
a・・・アドレス比較ユニット、143・・・FIFO
・EORブロック、144・・・SDRAMコントロー
───────────────────────────────────────────────────── フロントページの続き (72)発明者 嶋田 一郎 東京都品川区北品川6丁目7番35号 ソニ ー株式会社内 (72)発明者 田村 雅之 東京都品川区北品川6丁目7番35号 ソニ ー株式会社内 Fターム(参考) 5B065 BA01 CA07 CA11 CA30 EA02 EA12 (54)【発明の名称】 RAIDコントローラ、RAIDコントロール方法、その方法を実行するためのプログラムおよ びそのプログラムを記録したコンピュータ読み取り可能な媒体、並びにRAIDボード、データ 記録装置およびデータ再生装置

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 RAID構成とされた複数のストレージ
    に対するデータの書き込みを制御するRAIDコントロ
    ーラであって、 記録すべきデータを分割して所定単位の長さのデータを
    形成するデータ分割手段と、 上記データ分割手段で形成された上記所定単位の長さの
    データを上記複数のストレージのうち所定の複数の第1
    のストレージに振り分けて書き込む第1の書き込み手段
    と、 上記所定の複数の第1のストレージにそれぞれ書き込ま
    れる上記所定単位の長さのデータをスヌープし、該デー
    タに基づいてパリティを生成するパリティ生成手段と、 上記パリティ生成手段で生成されたパリティを上記複数
    のストレージのうち上記所定の複数の第1のストレージ
    とは異なる第2のストレージに書き込む第2の書き込み
    手段とを備えることを特徴とするRAIDコントロー
    ラ。
  2. 【請求項2】 RAID構成とされた複数のストレージ
    に対するデータの書き込みを制御するRAIDコントロ
    ール方法であって、 記録すべきデータを分割して所定単位の長さのデータを
    形成するステップと、上記形成された所定単位の長さの
    データを上記複数のストレージのうち所定の複数の第1
    のストレージに振り分けて書き込むステップと、上記所
    定の複数のストレージにそれぞれ書き込まれる上記所定
    単位の長さのデータをスヌープし、該データに基づいて
    パリティを生成するステップと、 上記生成されたパリティを上記複数のストレージのうち
    上記所定の複数の第1のストレージとは異なる第2のス
    トレージに書き込むステップとを備えることを特徴とす
    るRAIDコントロール方法。
  3. 【請求項3】 RAID構成とされた複数のストレージ
    に対するデータの書き込みを制御するために、 記録すべきデータを分割して所定単位の長さのデータを
    形成するステップと、上記形成された所定単位の長さの
    データを上記複数のストレージのうち所定の複数の第1
    のストレージに振り分けて書き込むステップと、 上記所定の複数のストレージにそれぞれ書き込まれる上
    記所定単位の長さのデータをスヌープし、該データに基
    づいてパリティを生成するステップと、 上記生成されたパリティを上記複数のストレージのうち
    上記所定の複数の第1のストレージとは異なる第2のス
    トレージに書き込むステップとを有するRAIDコント
    ロール方法をコンピュータに実行させるためのプログラ
    ムを記録したコンピュータ読み取り可能な媒体。
  4. 【請求項4】 RAID構成とされた複数のストレージ
    に対するデータの書き込みを制御するために、 記録すべきデータを分割して所定単位の長さのデータを
    形成するステップと、上記形成された所定単位の長さの
    データを上記複数のストレージのうち所定の複数の第1
    のストレージに振り分けて書き込むステップと、 上記所定の複数のストレージにそれぞれ書き込まれる上
    記所定単位の長さのデータをスヌープし、該データに基
    づいてパリティを生成するステップと、 上記生成されたパリティを上記複数のストレージのうち
    上記所定の複数の第1のストレージとは異なる第2のス
    トレージに書き込むステップとを有するRAIDコント
    ロール方法をコンピュータに実行させるためのプログラ
    ム。
  5. 【請求項5】 RAID構成とされた複数のストレージ
    に対するデータの書き込みを制御するRAIDボードで
    あって、 ホストCPUが接続されたプライマリバスとインタフェ
    ースを行って、セカンダリバスとブリッジする、ローカ
    ルCPUを備える第1のブロックと、 上記セカンダリバスに接続され、上記複数のストレージ
    とインタフェースを行う第2のブロックと、 上記セカンダリバスに接続され、RAIDを形成する際
    に必要なパリティを生成するための第3のブロックとを
    有し、 上記第1のブロックは、上記ホストCPUより供給され
    る書き込みコマンドに基づいて、記録すべきデータを分
    割して所定単位の長さのデータを形成し、該所定単位の
    長さのデータを、上記複数のストレージのうち所定の複
    数の第1のストレージに振り分けて書き込むためのコマ
    ンドを上記第2のブロックに供給し、上記複数の第1の
    ストレージにそれぞれ書き込まれる所定単位の長さのデ
    ータをスヌープするためのコマンドを上記第3のブロッ
    クに供給し、上記第3のブロックで生成されるパリティ
    を上記複数のストレージのうち上記所定の複数の第1の
    ストレージとは異なる第2のストレージに書き込むため
    のコマンドを上記第2のブロックに供給し、 上記第3のブロックは、上記第1のブロックより供給さ
    れるコマンドに基づいて上記複数の第1のストレージに
    それぞれ書き込まれる所定単位の長さのデータをスヌー
    プし、該データに基づいて上記パリティを生成し、 上記第2のブロックは、上記第1のブロックより供給さ
    れるコマンドに基づいて、上記第1のブロックで形成さ
    れた上記所定単位の長さのデータを上記複数の第1のス
    トレージに転送して書き込むと共に、上記第3のブロッ
    クで生成された上記パリティを上記第2のストレージに
    転送して書き込むことを特徴とするRAIDボード。
  6. 【請求項6】 RAID構成とされた複数のストレージ
    と、該複数のストレージに対するデータの書き込みを制
    御するRAIDコントローラとを備え、 上記RAIDコントローラは、 記録すべきデータを分割して所定単位の長さのデータを
    形成するデータ分割手段と、 上記データ分割手段で形成された上記所定単位の長さの
    データを上記複数のストレージのうち所定の複数の第1
    のストレージに振り分けて書き込む第1の書き込み手段
    と、 上記所定の複数のストレージにそれぞれ書き込まれる上
    記所定単位の長さのデータをスヌープし、該データに基
    づいてパリティを生成するパリティ生成手段と、 上記パリティ生成手段で生成されたパリティを上記複数
    のストレージのうち上記所定の複数の第1のストレージ
    とは異なる第2のストレージに書き込む第2の書き込み
    手段とを有することを特徴とするデータ記録装置。
  7. 【請求項7】 RAID構成とされた複数のストレージ
    からのデータの読み出しを制御するRAIDコントロー
    ラであって、 上記複数のストレージのうち所定の複数の第1のストレ
    ージよりそれぞれ所定単位の長さのデータを読み出すと
    共に、上記複数のストレージのうち上記所定の複数の第
    1のストレージとは異なる第2のストレージよりパリテ
    ィを読み出す読み出し手段と、 上記読み出し手段で読み出されたデータをスヌープし、
    該データに基づいて上記複数の第1のストレージのうち
    故障したストレージに書き込まれていた上記所定単位の
    長さのデータを復元するデータ復元手段とを備えること
    を特徴とするRAIDコントローラ。
  8. 【請求項8】 RAID構成とされた複数のストレージ
    からのデータの読み出しを制御するRAIDコントロー
    ル方法であって、 上記複数のストレージのうち所定の複数の第1のストレ
    ージよりそれぞれ所定単位の長さのデータを読み出すと
    共に、上記複数のストレージのうち上記所定の複数の第
    1のストレージとは異なる第2のストレージよりパリテ
    ィを読み出すステップと、 上記読み出されたデータをスヌープし、該データに基づ
    いて上記複数の第1のストレージのうち故障したストレ
    ージに書き込まれていた上記所定単位の長さのデータを
    復元するステップとを備えることを特徴とするRAID
    コントロール方法。
  9. 【請求項9】 RAID構成とされた複数のストレージ
    からのデータの読み出しを制御するために、 上記複数のストレージのうち所定の複数の第1のストレ
    ージよりそれぞれ所定単位の長さのデータを読み出すと
    共に、上記複数のストレージのうち上記所定の複数の第
    1のストレージとは異なる第2のストレージよりパリテ
    ィを読み出すステップと、 上記読み出されたデータをスヌープし、該データに基づ
    いて上記複数の第1のストレージのうち故障したストレ
    ージに書き込まれていた上記所定単位の長さのデータを
    復元するステップとを有するRAIDコントロール方法
    をコンピュータに実行させるためのプログラムを記録し
    たコンピュータ読み取り可能な媒体。
  10. 【請求項10】 RAID構成とされた複数のストレー
    ジからのデータの読み出しを制御するために、 上記複数のストレージのうち所定の複数の第1のストレ
    ージよりそれぞれ所定単位の長さのデータを読み出すと
    共に、上記複数のストレージのうち上記所定の複数の第
    1のストレージとは異なる第2のストレージよりパリテ
    ィを読み出すステップと、 上記読み出されたデータをスヌープし、該データに基づ
    いて上記複数の第1のストレージのうち故障したストレ
    ージに書き込まれていた上記所定単位の長さのデータを
    復元するステップとを有するRAIDコントロール方法
    をコンピュータに実行させるためのプログラム。
  11. 【請求項11】 RAID構成とされた複数のストレー
    ジに対するデータの書き込みを制御するRAIDボード
    であって、 ホストCPUが接続されたプライマリバスとインタフェ
    ースを行って、セカンダリバスとブリッジする、ローカ
    ルCPUを備える第1のブロックと、 上記セカンダリバスに接続され、上記複数のストレージ
    とインタフェースを行う第2のブロックと、 上記セカンダリバスに接続され、復元データを生成する
    ための第3のブロックとを有し、 上記第1のブロックは、上記ホストCPUより供給され
    る読み出しコマンドに基づいて、上記複数のストレージ
    のうち所定の複数の第1のストレージよりそれぞれ所定
    単位の長さのデータを読み出して上記セカンダリバス上
    のアドレス空間の所定のメモリ領域に書き込むと共に、
    上記複数のストレージのうち上記複数の第1のストレー
    ジとは異なる第2のストレージよりパリティを読み出し
    て上記セカンダリバス上のアドレス空間の所定のメモリ
    領域に書き込むためのコマンドを上記第2のブロックに
    供給し、上記所定の複数の第1のストレージより読み出
    される上記所定単位の長さのデータおよび上記第2のス
    トレージより読み出される上記パリティをスヌープする
    ためのコマンドを上記第3のブロックに供給し、上記第
    3のブロックで生成される復元データを上記セカンダリ
    バス上のアドレス空間の所定のメモリ領域に書き込むた
    めのコマンドを上記第3のブロックに供給し、 上記第2のブロックは、上記第1のブロックより供給さ
    れるコマンドに基づいて、上記所定の複数の第1のスト
    レージよりそれぞれ上記所定単位の長さのデータを読み
    出すと共に上記第2のストレージより上記パリティを読
    み出し、該読み出されたデータおよびパリティを上記セ
    カンダリバス上のアドレス空間の所定のメモリ領域に書
    き込み、 上記第3のブロックは、上記第1のブロックより供給さ
    れるコマンドに基づいて、上記第2のブロックで読み出
    されたデータをスヌープし、該データに基づいて上記復
    元データを生成し、該復元データを上記セカンダリバス
    上のアドレス空間の所定のメモリ領域に書き込むことを
    特徴とするRAIDボード。
  12. 【請求項12】 RAID構成とされた複数のストレー
    ジと、該複数のストレージからのデータの読み出しを制
    御するRAIDコントローラとを備え、 上記RAIDコントローラは、 上記複数のストレージのうち所定の複数の第1のストレ
    ージよりそれぞれ所定単位の長さのデータを読み出すと
    共に、上記複数のストレージのうち上記所定の複数の第
    1のストレージとは異なる第2のストレージよりパリテ
    ィを読み出す読み出し手段と、 上記読み出し手段で読み出されたデータをスヌープし、
    該データに基づいて上記複数の第1のストレージのうち
    故障したストレージに書き込まれていた上記所定単位の
    長さのデータを復元するデータ復元手段とを備えること
    を特徴とするデータ再生装置。
JP2002141817A 2002-05-16 2002-05-16 Raidコントローラ、raidコントロール方法、その方法を実行するためのプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な媒体、並びにraidボード、データ記録装置およびデータ再生装置 Pending JP2003330628A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002141817A JP2003330628A (ja) 2002-05-16 2002-05-16 Raidコントローラ、raidコントロール方法、その方法を実行するためのプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な媒体、並びにraidボード、データ記録装置およびデータ再生装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002141817A JP2003330628A (ja) 2002-05-16 2002-05-16 Raidコントローラ、raidコントロール方法、その方法を実行するためのプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な媒体、並びにraidボード、データ記録装置およびデータ再生装置

Publications (1)

Publication Number Publication Date
JP2003330628A true JP2003330628A (ja) 2003-11-21

Family

ID=29702296

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002141817A Pending JP2003330628A (ja) 2002-05-16 2002-05-16 Raidコントローラ、raidコントロール方法、その方法を実行するためのプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な媒体、並びにraidボード、データ記録装置およびデータ再生装置

Country Status (1)

Country Link
JP (1) JP2003330628A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104412189A (zh) * 2012-04-30 2015-03-11 Xio股份有限公司 可配置的连接器式服务器扩充的控制系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104412189A (zh) * 2012-04-30 2015-03-11 Xio股份有限公司 可配置的连接器式服务器扩充的控制系统

Similar Documents

Publication Publication Date Title
US6745310B2 (en) Real time local and remote management of data files and directories and method of operating the same
JP3249868B2 (ja) アレイ形式の記憶装置システム
KR100793224B1 (ko) Raid 시스템, raid 컨트롤러 및 그 재구성/재복사처리 방법
US7975168B2 (en) Storage system executing parallel correction write
JP3316500B2 (ja) 移動されたデータの完全性を維持しながらraidセットにおけるドライブ数の拡張
US7228381B2 (en) Storage system using fast storage device for storing redundant data
JPWO2006123416A1 (ja) ディスク故障復旧方法及びディスクアレイ装置
JPH10111767A (ja) 大容量記憶装置
JP2006252126A (ja) ディスクアレイ装置及びその再構築方法
JP2001134487A (ja) ディスクアレイ装置
JP3096392B2 (ja) Raidを使用する、フル・モーション・ビデオのネットワーク・サポートの方法および装置
JP2927282B2 (ja) ディスクアレイ装置
JP2003316525A (ja) ディスクアレイ制御装置
JP4398596B2 (ja) ディスクアレイ装置
JP2004326357A (ja) 冗長化ブロックを有する記憶システム、並びに、当該記憶システムの制御装置、制御方法、プログラム及び記録媒体
JP2003330628A (ja) Raidコントローラ、raidコントロール方法、その方法を実行するためのプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な媒体、並びにraidボード、データ記録装置およびデータ再生装置
JP2012174037A (ja) ディスクアレイ装置及びその制御方法
JP3250859B2 (ja) ディスクアレイ装置、コンピュータシステム及びデータ記憶装置
JP2009104410A (ja) データ記録装置,データ記録装置の内部制御方法及びデータ記録システム
JP3555871B2 (ja) ディスクアレイ装置
JP2002175157A (ja) ディスクアレイ装置
JP3615250B2 (ja) ディスクアレイ装置
JP2006277042A (ja) アレイコントローラ、ディスクアレイ制御方法及びプログラム
JPH11119915A (ja) ディスクアレイ装置
JP2001175422A (ja) ディスクアレイ装置