JP4314651B2 - Disk array device and data recording / reproducing method - Google Patents
Disk array device and data recording / reproducing method Download PDFInfo
- Publication number
- JP4314651B2 JP4314651B2 JP24047998A JP24047998A JP4314651B2 JP 4314651 B2 JP4314651 B2 JP 4314651B2 JP 24047998 A JP24047998 A JP 24047998A JP 24047998 A JP24047998 A JP 24047998A JP 4314651 B2 JP4314651 B2 JP 4314651B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- time slot
- disk
- array device
- input
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、例えば動画像及び音声信号を記録再生するいわゆるビデオサーバシステム等に好適なディスクアレイ装置及びデータ記録再生方法に関する。
【0002】
【従来の技術】
例えば複数のHDD(ハードディスクドライブ)によって並列冗長構成されたディスクアレイ装置は、一般にRAID(Redundant Array of Inexpensive Disks)と呼ばれている。
【0003】
図9には、上記RAIDと呼ばれるディスクアレイ装置の概念を示す。
【0004】
この図9において、ディスクアレイ装置は、入力されたデータ100を、ディスクアレイコントローラ101にてある所定単位長さ毎のデータ列D0〜D15に分割(ストライピング)し、それら所定単位長さ毎のデータ列D0〜D15)を当該各所定単位長さ毎に複数のHDD111〜118に振り分けて格納する。なお、当該所定単位長さはストライピング幅と呼ばれ、また、このストライピング幅のデータ列をデータ格納用HDDの台数分だけ集めたものはアレイブロッキングファクタ(以下、ABFと記す)と呼ばれる。
【0005】
このストライピングと同時に、ディスクアレイコントローラ101は、入力データを分割するときに、複数のHDD111〜118にまたがるデータの列に対してエラー訂正符号を生成し、このエラー訂正符号をHDD119に格納する。このように、図9のディスクアレイ装置においては、エラー訂正符号を格納しておき、後にこのエラー訂正符号を用いたエラー訂正を行うことで、単体のHDDの場合よりも高い性能と信頼性を実現している。なお、図中のPn(nは0〜15)は、n番目のデータ列に対するエラー訂正符号を示す。この図9の例では、HDDをHDD111〜118及び119の9個としたが更に多数或いは少数であってもよい。
【0006】
図10には、一般的なディスクアレイ装置の構造を示す。
【0007】
この図10において、一般的なディスクアレイ装置は、データの入出力インターフェース部131、データキャッシュ部(キャッシュメモリ)132、CPU(中央処理装置)部133、ストライピング・ECC部134、データタイミングコントローラ151、各HDD間の非同期性を吸収するための複数の専用バッファメモリ部135〜138、複数のデータストリームコントローラ139〜142、複数のSCSIプロトコルコントローラ(以下、SPCと呼ぶ)143〜146、複数のHDD部147〜150から構成される。
【0008】
入力されたデータは、入出力インターフェイス部131及びデータキャッシュ部132を介してストライピング・ECC部134に送られる。
【0009】
ストライピング・ECC部134では、入力されたデータを分割(ストライピング)する。このストライピングされたデータは、バッファメモリ135〜137及びSPC143〜145を介して、複数のHDD部147〜149に格納される。また、ストライピング・ECC部134では、データを分割(ストライピング)するときに複数のHDD部147〜149にまたがるデータ列に対してエラー訂正符号を生成し、バッファメモリ138及びSPC146を介して、HDD部150に格納する。
【0010】
HDD部147〜150へのデータの読み書きは、バッファメモリ部135〜138及びSPC143〜146を通して行われ、これらバッファメモリ部135〜138及びSPC143〜146におけるデータの読み書きの制御は、それぞれ対応するデータストリームコントローラ139〜142によりなされる。また、このデータストリームコントローラ139〜142におけるデータの読み書きのタイミングは、ストライピング・ECC部134が発生する。
【0011】
なお、ディスクアレイ装置内部のHDD部147〜150は、同時に動作すると言っても、それぞれのHDD部からのデータ転送の開始タイミングや終了タイミングは、必ずしも一致しない。このため、図示は省略するが、このタイミングの違いを吸収するためのバッファメモリ部135〜138を各HDD部147〜150を制御するSPC143〜146の直後にも設けるようにしてもよい。
【0012】
データタイミングコントローラ151は、入出力インターフェイス部131へのデータの読み書きのタイミングコントロールと、データキャッシュ部132のタイミングコントロールと、ストライピング・ECC部134へのデータの読み書きのタイミングコントロールを行っている。
【0013】
CPU部133は、CPUバスを通して、入出力インターフェイス部131、ストライピング・ECC部134、データストリームコントローラ139〜142、SPC143〜146の動作をコントロールする。
【0014】
図11には、上述したように構成されるRAIDのディスクアレイ装置を、動画像及び音声蓄積用の蓄積メディアとして用いた、ビデオサーバシステムの概略構成を示す。
【0015】
この図11に示すビデオサーバシステムは、蓄積メディアとしてのディスクアレイ装置(以下、RAID129と記す)に対して、複数の入出力装置121〜124が時分割多重でアクセス可能となされている。なお、以下、入出力装置121〜124のことを、IOP(Input Output Processor)121〜124と呼ぶことにする。各IOP121〜124は、映像及び音声データの入出力が行われ、また、上位アプリケーションからのコントロールを受ける。これらIOP121〜124は、タイムスロット生成部125で生成されたタイムスロットに従い、データパスを介して、時分割多重でRAID129にアクセス可能となされている。データパスとしては、内部バスであったり、SCSI(Small Computer System Interface)、ファイバチャンネル等のネットワーク、いわゆるSBXバスなどが挙げられる。
【0016】
【発明が解決しようとする課題】
ところで、一般に、動画像や音声などの大量のデータを一度に転送するには、いわゆるRAID−3構成のディスクアレイ装置が適していると言われているが、当該ディスクアレイ装置は以下に挙げる問題点があり、ビデオサーバシステム用の蓄積メディアとして求められる性能を満たすことができない。
【0017】
第1の問題点として、書き込み時のオーバーヘッドが発生する。
【0018】
すなわち、ディスクアレイ装置では、書き込み時にオーバーヘッドが生じることがあり、書き換えるデータが前記ABF(アレイブロッキングファクタ)の境界内に丁度収まらない場合は、書き換える前のデータとパリティを読み出し、新しいパリティを計算して書き込む必要があるため、書き込み時にオーバーヘッドが発生することがある。
【0019】
第2の問題点として、HDD単体がリアルタイム性を保証していない。
【0020】
すなわち、HDD単体は、読み書きに対してリトライを行うことを前提にしており、リアルタイム性確保が困難である。例えば、データ読み出しの際に何らかの理由で読み出しに失敗したとしても、ディスクアレイ装置のエラー訂正機能によってある程度のリアルタイム性は確保できるが、一方で、書き込みに失敗したような場合にHDDにてリトライが行われると、リアルタイム性が確保できないことになる。また、単にHDD単体のリトライを禁止したとしても、例えば時間が足りないという理由等によって、HDDへの書き込みに失敗することがある。なお、このような場合、書き込みには失敗したが、HDD自体に欠陥があるわけではなく、したがって、次にその部分からデータを読み出した時、当該HDDからはエラーのサインが返送されてこないので、全く関係無いデータが読み出されてくることになり、その結果、データを復元できなくなるという事態に陥る。
【0021】
第3の問題点として、障害回復時の性能低下を防ぐ機構を有していない。
【0022】
すなわち、一般の計算機用のディスクアレイ装置は、障害回復時の性能低下を防ぐ機構を有しておらず、障害回復のデータ再構築(リビルド)時には、ディスクアレイに対する読み書きができない。しかし、ビデオサーバシステム用、特に放送用のビデオサーバシステムでは、障害回復時の機能低下が最小限になるようにしなければならない。
【0023】
上述したように、従来のディスクアレイ装置においては、上記第1及び第2の問題点により、一定時間内に読み書きが終了する保証がない。すなわち、連続するデータの読み書きが途絶えないために、さらに時分割多重アクセスする映像/音声入出力装置の同期性やリアルタイム性を保証することができない。一般には、第1及び第2の問題点を回避するためには、キャッシュメモリ(データキャッシュ部132)の量を増やす必要があると言われているが、キャッシュメモリの量を増やしたとしても、必ずヒットする保証がないので、100%リアルタイム性を保証するものではない。
【0024】
そこで、本発明はこのような状況に鑑みてなされたものであり、書き込み時のオーバーヘッドの発生を防止し、リアルタイム性を保証し、障害回復時の性能低下を防ぐことが可能なディスクアレイ装置及びデータ記録再生方法を提供することを目的とする。
【0025】
【課題を解決するための手段】
本発明のディスクアレイ装置は、複数のディスクドライブによって構成され、タイムスロットに従い時分割多重アクセスされるディスクアレイ装置において、上記ディスクアレイ装置に入力されたデータを一時的に保持するリングバッファ構造の第1のバッファメモリからのデータ又は上記入力されたデータを分割して上記複数のディスクドライブに順次に供給し、上記複数のディスクドライブから供給されたデータを結合するデータ分割結合手段と、上記複数のディスクドライブの動作状況及び上記タイムスロットを管理すると共に、上記第1のバッファメモリ、上記データ分割結合手段から出力される上記複数のディスクドライブからのデータを結合したデータを一時的に保持するリングバッファ構造の第2のバッファメモリの読み書き及び上記複数のディスクドライブの記録再生動作を制御する制御手段とを有し、上記制御手段は、上記ディスクドライブに対するデータ書き込みが失敗したときの上記ディスクドライブ単体での再書き込みを禁止して書き込まれるはずの箇所を管理し、当該データ書き込みが失敗したときのタイムスロットにおける上記入力されたデータを上記第1のバッファメモリに保持させ、次の空きタイムスロットを使って上記第1のバッファメモリに保持されたデータを上記ディスクドライブの対応箇所に再度書き込み制御し、データの再構築を行う際には、空きタイムスロットを使って上記ディスクドライブから上記再構築を行おうとするデータを読み出してエラー訂正後に上記第2のバッファメモリに保持させ、次の空きタイムスロットを使って上記第2のバッファメモリに保持されたデータを上記ディスクドライブに書き込み制御することにより、上述の課題を解決する。
【0026】
また、本発明のディスクアレイ装置は、複数のディスクドライブによって構成され、タイムスロットに従い時分割多重アクセスされるディスクアレイ装置において、上記ディスクアレイ装置に入力されたデータを分割して上記複数のディスクドライブに順次に供給し、上記複数のディスクドライブから供給されたデータを結合するデータ分割結合手段と、上記データ分割結合手段から供給され上記ディスクドライブへ記録されるデータを一時的に保持する少なくとも2個1組の第1の先入れ先出しメモリと、上記ディスクドライブから再生されたデータを一時的に保持する少なくとも2個1組の第2の先入れ先出しメモリと、ディスクドライブの動作状況及び上記タイムスロットを管理すると共に、上記ディスクドライブの記録再生動作及び上記第1,第2の先入れ先出しメモリをバンク切り替え制御する制御手段とを有し、上記制御手段は、上記ディスクドライブに対するデータ書き込みが失敗したときの上記ディスクドライブ単体での再書き込みを禁止して書き込まれるはずの箇所を管理し、当該データ書き込みが失敗したときのタイムスロットにおける上記データ分割結合手段から供給されたデータを上記第1の先入れ先出しメモリに保持させ、次の空きタイムスロットを使って上記第1の先入れ先出しメモリに保持されたデータを上記ディスクドライブの対応箇所に再度書き込み制御し、データの再構築を行う際には、空きタイムスロットを使って上記ディスクドライブから上記再構築を行おうとするデータを読み出してエラー訂正後に上記第2の先入れ先出しメモリに保持させ、次の空きタイムスロットを使って上記第2の先入れ先出しメモリに保持されたデータを上記ディスクドライブに書き込み制御することにより、上述の課題を解決する。
【0027】
【発明の実施の形態】
本発明の好ましい実施の形態について、図面を参照しながら説明する。
【0028】
先ず、第1の実施の形態から説明する。
【0029】
本発明の第1の実施の形態では、論理ブロックの大きさを「1セクタ(通常512バイト)×HDDの数」の整数倍に最適化し、ABF(アレイブロッキングファクタ)と書き換えデータの大きさとを一致させて、書き込み時のオーバーヘッドを無くことにより、転送レートの低下を防ぐようにしている。これにより、本実施の形態では、書き込み時のオーバーヘッドを緩和するためのデータキャッシュの必要を無くしている。
【0030】
また、本発明の第1の実施の形態では、HDD単体のリトライ及びリアサインを禁止して、一定の時間内に読み書きが終了することを保証するようにしており、これにより連続データの読み書きを途切れることなく実行することと、複数チャンネルによる時分割多重を保証している。すなわち、本実施の形態では、書き込み時にエラーの起こった場所を例えばCPUが管理し、データの再構築を後から行うことにして、データの信頼性を保つことを可能にしている。
【0031】
さらに、本発明の第1の実施の形態では、障害回復の性能低下を避けるために、後述するリトライ用テンポラリバッファメモリとリビルド用バッファメモリを備え、通常運用時のデータの流れと障害回復時のデータの流れを分けるようにしている。これにより、書き込み時にエラーが発生したHDDへのデータ修復を、システムのためのタイムスロットや、空いているタイムスロットを使って素早く回復することを可能にし、例えばHDDを交換してデータの修復を行う場合もその運用効率を高めることを可能にしている。
【0032】
以下、本発明の第1の実施の形態のディスクアレイ装置の構成及び動作を、例えば前記図11に示したようなビデオサーバシステムの蓄積メディアとして使用する場合を例に挙げて説明する。
【0033】
図1には、本発明の第1の実施の形態のディスクアレイ装置の概略構成を示す。
【0034】
この図1において、入出力インターフェイス部2では、本実施の形態のディスクアレイ装置と前記図11に示したビデオサーバシステムのIOP121〜124との間における、コマンド/ステータス及び入出力データの送受を制御する。この入出力インターフェイス部2に入力されたデータは、選択スイッチ4を介して、或いは後述するリトライ用テンポラリバッファメモリ21及び選択スイッチ4を介して、ストライピング・ECC部7に送られる。
【0035】
ストライピング・ECC部7では、入力されたデータを分割(ストライピング)する。このストライピングされたデータは、HDDコントロール部10〜13を介して、複数のHDD部15〜18に格納される。また、ストライピング・ECC部7では、データを分割(ストライピング)するときに複数のHDD部15〜18にまたがるデータ列に対してエラー訂正符号を生成する。このエラー訂正符号は、HDDコントロール部14を介して、HDD部19に格納される。
【0036】
リトライ用テンポラリバッファメモリ21とリビルド用バッファメモリ22は、本実施の形態のディスクアレイ装置においてリトライとリビルドを効率よく行うために設けられている。リトライ用テンポラリバッファメモリ21は、リングバッファ構造になっており、入出力インターフェイス部2からのデータが書き込まれる。一方、リビルド用バッファメモリ22もリングバッファ構造になっており、各HDD15〜18から読み出され、HDD部19からのエラー訂正符号によりエラー訂正されたデータが書き込まれる。これらリトライ用テンポラリバッファメモリ21からのデータや、リビルド用バッファメモリ22からのデータは、選択スイッチ4に送られる。詳細は後述するが、本実施の形態では、例えば各HDD15〜19で読み書きにエラーが起きた場合、空いているタイムスロットを使い、リトライ用テンポラリバッファメモリ21やリビルド用バッファメモリ22からのデータを用いてデータの再構築(エラー時の回復動作やリビルド動作)を行うようにしている。なお、リトライ用テンポラリバッファメモリ21とリビルド用バッファメモリ22は、前記図10に示したようないわゆるキャッシュメモリ(データキャッシュ部132)ではない。すなわち、リトライ用テンポラリバッファメモリ21に保存されるデータは、入出力インターフェイス部2から選択スイッチ4に送られるデータのコピーであり、また、リビルド用バッファメモリ22に保存されるデータは、ストライピング・ECC部7から入出力インターフェイス部2に送られるデータのコピーであり、いわゆるキャッシュメモリの場合のようなキャッシュヒット等の複雑な制御を必要としない。
【0037】
データタイミングコントローラ3は、入出力インターフェイス部2におけるデータの読み書きのタイミングコントロールと、ストライピング・ECC部7におけるデータの読み書きのタイミングコントロールと、リトライ用テンポラリバッファメモリ21におけるデータの読み書きのタイミングコントロールと、リビルド用バッファメモリ22におけるデータの読み書きのタイミングコントロールと、さらに、入出力インターフェイス部2からストライピング・ECC部7へ送られるデータとリトライ用テンポラリバッファメモリ21からストライピング・ECC部7へ送られるデータとリビルド用バッファメモリ22からストライピング・ECC部7へ送られるデータを選択スイッチ4にて切替選択する際の選択切替タイミングのコントロールを行う。
【0038】
各HDD部15〜19へのデータの読み書きは、各HDDコントロール部10〜14を通して行われ、また、これらHDDコントロール部10〜14における各HDD15〜19へのデータの読み書きのタイミングは、ストライピング・ECC部7が発生する。
【0039】
CPU部5は、CPUバスを通して、入出力インターフェイス部2、データタイミングコントローラ3、ストライピング・ECC部7、各HDDコントロール部10〜14の動作をコントロールする。また、CPU部5は、CPUバス及び入出力インターフェイス部2を通して、前記図11のIOP121〜124との間でコマンドとステータスの送受を行う。さらに、詳細は後述するが、CPU部5は、各HDD15〜19への書き込みエラーが起きた場合に、HDDのエラー箇所を管理し、データの再構築を後から行う。
【0040】
次に、図2には、HDDコントロール部10〜14の構成を示す。
【0041】
この図2において、インプット用とアウトプット用のFIFO(first-in first-out)メモリ43,44は、ストライピング・ECC部7から供給されるデータやストライピング・ECC部7へ送るデータを一時蓄積するためと、HDDの非同期性の吸収のために設けられている。
【0042】
SPC42は、SCSIバスを通してHDDを制御する。
【0043】
当該SPC42とデータストリームコントローラ41は、CPUバスを介して、図1のCPU部5によりコントロールされる。
【0044】
また、データストリームコントローラ41は、ストライピング・ECC部7からのタイミングコントロールに従い、インプットFIFOメモリ43とアウトプットFIFOメモリ44へのデータの読み書きのタイミング制御や、SPC42へデータの読み書きのタイミング制御を行う。
【0045】
次に、図3を用い、前記図11のビデオサーバシステムの構成を参照しながら、リトライ用テンポラリバッファメモリ21を用いた書き込みエラー時の回復動作例を説明する。
【0046】
ここで、本実施の形態のディスクアレイ装置は、前記図11のビデオサーバシステムのタイムスロット生成部125により生成されたタイムスロットに従って、前記IOP121〜124により時分割多重でアクセスされる。図3の例では、各タイムスロットを、タイムスロットTS1,TS2,TS3,・・・のように表しており、これらタイムスロットが前記図11のIOP121〜124の4つとシステム用の1つの5つにより時分割多重でアクセスされる。また、この図3の例では、図11の各IOP121〜124から図1のHDD部へのデータの書き込みが行われているものとする。このような条件において、例えばタイムスロットTS3でHDD部への書き込みが失敗したとする。
【0047】
このとき、CPU部5は、HDDコントロール部を介してHDD単体でのリトライを行わないように制御し、タイムスロットTS3が書き込まれるはずであったHDD部上の箇所を管理する。またこのときのCPU部5は、データタイミングコントローラ3を介して、リトライ用テンポラリバッファメモリ21をクリアさせずに、入力されたデータすなわちHDD部への書き込みが失敗したときのタイムスロットTS3のデータを保持させる。その後は、次のタイムスロットTS4に進み、通常のデータの読み書きが行われる。
【0048】
次に、IOPからの読み書き要求のない空いているタイムスロットがあったとき、CPU部5は、データタイミングコントローラ3を介して、選択スイッチ4を制御してデータの流れを切り替えさせると共に、リトライ用テンポラリバッファメモリ21からのデータをストライピング・ECC部7に送り、さらにHDDコントロール部を制御して、対応するHDD部へ再度書き込み(リトライ)を行わせる。図3の例では、上記IOPからの読み書き要求のない空いているタイムスロットとして、システム用のタイムスロットTS7でリトライが行われる。その後は、次のタイムスロットTS8に進み、通常のデータの読み書きが行われる。
【0049】
次に、図4を用い、前記図11のビデオサーバシステムの構成を参照しながら、リビルド用バッファメモリ22を用いたリビルド動作例を説明する。
【0050】
ここで、IOPからの読み書き要求のない空いているタイムスロットがあったとき、CPU部5は、HDDコントロール部を介してHDD部からリビルドデータを読み出させ、さらに、ストライピング・ECC部7を制御して当該HDD部から読み出されたリビルド用データをエラー訂正させると共に、データタイミングコントローラ3を制御してそのエラー訂正後のリビルド用データをリビルド用バッファメモリ22に保持させる。図4の例では、上記IOPからの読み書き要求のない空いているタイムスロットとして、システム用のタイムスロットTS2でHDDからリビルド用データを読み出し、リビルド用バッファメモリ22に保持させる。その後は、次のタイムスロットTS4に進み、通常のデータの読み書きが行われる。
【0051】
次に、IOPからの読み書き要求のない次の空いているタイムスロットがあったとき、CPU部5は、データタイミングコントローラ3を制御してリビルド用バッファメモリ22が保持しているリビルド用データを読み出させ、さらに、データタイミングコントローラ3を介して選択スイッチ4を制御してデータの流れを切り替えさせると共に、上記リビルド用バッファメモリ22からのリビルド用データをストライピング・ECC部7に送ってパリティを付加させ、その後HDDコントロール部を制御して、対応するHDD部へリビルドデータを書き込ませる。図4の例では、上記IOPからの読み書き要求のない次の空いているタイムスロットとして、システム用のタイムスロットTS7でリビルドデータのHDD部への書き込みを行わせる。その後は、次のタイムスロットTS8に進み、通常のデータの読み書きが行われる。
【0052】
なお、本実施の形態において、なぜこのようにリビルドを2つのタイムスロットに分けて行うかというと、HDDのシークタイムは、HDDの実際の読み書きの時間に対して極端に長く、1つのタイムスロット内でリビルド作業を行うと、1回にリビルドすることのできるデータ量が、10分の1程度になってしまい、非常に効率が悪くなるからである。
【0053】
上述したように、本発明の第1の実施の形態では、リトライ用テンポラリバッファメモリ21とリビルド用バッファメモリ22を備えることで、通常運用時のデータの流れと障害回復時のデータの流れを分けることができる。これにより、障害回復の作業が、通常のディスクアレイ装置における読み書きに影響を与えないようにすることが可能になっている。
【0054】
この第1の実施の形態では、以上のようにして、HDDのデータの再構築を効率よく行うことができる。
【0055】
次に、本発明の第2の実施の形態について説明する。
【0056】
本発明の第2の実施の形態では、前述した第1の実施の形態と同様に、論理ブロックの大きさを「1セクタ(通常512バイト)×HDDの数」の整数倍に最適化し、ABF(アレイブロッキングファクタ)と書き換えデータの大きさとを一致させて、書き込み時のオーバーヘッドを無くことにより、転送レートの低下を防ぐようにしている。これにより、当該第2の実施の形態においては、書き込み時のオーバーヘッドを緩和するためのデータキャッシュの必要を無くしている。
【0057】
また、本発明の第2の実施の形態では、前述した第1の実施の形態と同様に、HDD単体のリトライ及びリアサインを禁止して、一定の時間内に読み書きが終了することを保証するようにしており、これにより連続データの読み書きを途切れることなく実行することと、複数チャンネルによる時分割多重を保証している。すなわち、この第2の実施の形態においても、書き込み時にエラーの起こった場所をCPUが管理し、データの再構築を後から行うことにして、データの信頼性を保つことを可能にしている。
【0058】
さらに、本発明の第2の実施の形態では、障害回復の性能低下を避けるために、各HDDのためのバッファを複数組用意し、通常運用時のデータの流れと障害回復時のデータの流れをマルチプレクサを用いて切り替え、これら複数組のバッファを使い分けるようにしている。これにより、書き込み時のエラーが起こったHDDへのデータ修復を、システムのためのタイムスロットや、空いているタイムスロットを使って素早く回復することを可能にし、例えばHDDを交換してデータの修復を行う場合もその運用効率を高めることを可能にしている。
【0059】
図5には、本発明の第2の実施の形態のディスクアレイ装置の概略構成を示す。なお、この第2の実施の形態においても、ディスクアレイ装置を前記図11に示したようなビデオサーバシステムの蓄積メディアとして使用する場合を例に挙げて説明する。以下、この第2の実施の形態では、前述した第1の実施の形態と異なる部分を中心に説明する。
【0060】
図1において、入出力インターフェイス部52では、本実施の形態のディスクアレイ装置と前記図11に示したビデオサーバシステムのIOP121〜124との間における、コマンド/ステータス及び入出力データの送受を制御する。この入出力インターフェイス部52に入力されたデータは、ストライピング・ECC部57に送られる。
【0061】
ストライピング・ECC部57では、前記第1の実施の形態の場合と同様に、入力されたデータを分割(ストライピング)する。このストライピングされたデータは、HDDコントロール部60〜63を介して、複数のHDD部65〜68に格納される。また、ストライピング・ECC部57では、複数のHDD部65〜68にまたがるデータ列に対してエラー訂正符号を生成する。このエラー訂正符号は、HDDコントロール部64を介して、HDD部69に格納される。
【0062】
データタイミングコントローラ53は、入出力インターフェイス部52におけるデータの読み書きのタイミングコントロールと、ストライピング・ECC部57におけるデータの読み書きのタイミングコントロールを行う。
【0063】
各HDD部65〜69へのデータの読み書きは、各HDDコントロール部60〜64を通して行われ、また、これらHDDコントロール部60〜64における各HDD65〜69へのデータの読み書きのタイミングは、ストライピング・ECC部57が発生する。
【0064】
CPU部55は、CPUバスを通して、入出力インターフェイス部52、データタイミングコントローラ53、ストライピング・ECC部57、各HDDコントロール部60〜64の動作をコントロールする。また、CPU部55は、CPUバス及び入出力インターフェイス部2を通して、前記図11のIOP121〜124との間でコマンドとステータスの送受を行う。さらに、CPU部55は、HDD部への書き込みエラーが起きた場合に、HDD部のエラー箇所を管理し、データの再構築を後から行う。
【0065】
次に、図6には、HDDコントロール部60〜64の構成を示す。
【0066】
この図6において、本実施の形態の場合、HDDコントロール部60〜64は、インプットFIFOメモリを2個1組以上(図6の例ではインプットFIFOメモリ77〜79の3個)、アウトプットFIFOを2個1組(図6の例ではアウトプットFIFOメモリ80及び81の1組)備えている。このように、インプットFIFOを2個1組以上、アウトプットFIFOを2個1組設けるのは、後述するようにリビルドを効率よく行うためである。すなわち、インプット/アウトプットFIFO77〜81は、図5のストライピング・ECC部57から供給されるデータや、ストライピング・ECC部57へ送るデータと、HDDの非同期性の吸収のためにある。
【0067】
選択スイッチ71は、ストライピング・ECC部57からのデータをインプットFIFO77〜78の何れかに振り分けるための切替スイッチであり、選択スイッチ72は、アウトプットFIFO80,81の何れかのデータをストライピング・ECC部75に切り替えて供給するための切替スイッチである。
【0068】
SPC76は、SCSIバスを通して、HDDを制御する。
【0069】
当該SPC76とデータストリームコントローラ75は、CPUバスを介して、図1のCPU部5によりコントロールされる。
【0070】
また、データストリームコントローラ75は、ストライピング・ECC部57からのタイミングコントロールに従い、インプットFIFOメモリ77〜79とアウトプットFIFOメモリ80,81へのデータの読み書きのタイミング制御や、これらインプットFIFOメモリ77〜79とアウトプットFIFOメモリ80,81のバンク切り替え制御(選択スイッチ71,72の切替制御)、SPC76へデータの読み書きのタイミング制御を行う。
【0071】
本実施の形態によれば、上述の図5及び図6のように構成することで、前述の図10に示した従来例の構成のデータキャッシュ部132のキャッシュメモリに比べて、メモリスピードがデータ格納用のHDD台数分の1で済み、メモリ自体のコストも安く、回路構成もシンプルにすることができる。
【0072】
次に、図7を用い、前記図11のビデオサーバシステムの構成を参照しながら、当該第2の実施の形態の構成における書き込みエラー時の回復(システムリトライ)動作例を説明する。
【0073】
この第2の実施の形態においても第1の実施の形態と同様に、タイムスロットTS1,TS2,TS3,・・・が前記図11のIOP121〜124の4つとシステム用の1つの5つにより時分割多重でアクセスされる。また、図7の例では、図11の各IOP121〜124から図5のHDD部へのデータの書き込みが、通常状態で例えばインプットFIFO77を通して行われているものとする。このような条件において、例えばタイムスロットTS3でHDD部への書き込みが失敗したとする。
【0074】
このとき、CPU部55は、HDDコントロール部を介してHDD部単体でのリトライを行わないように制御し、タイムスロットTS3が書き込まれるはずであったHDD部上の箇所を管理する。またこのときのCPU部55は、HDDコントロール部内のインプットFIFO77のデータをクリアさせずに、そのHDD部への書き込みが失敗したときのタイムスロットTS3のデータを保持させる。次に、CPU部55は、データストリームコントローラ75を制御し、次のタイムスロットTS4からは、インプットFIFO78経由でSPC76にデータを送り、HDD部に書き込みが行われるように制御する。
【0075】
その後、IOPからの読み書き要求のない空いているタイムスロットがあったとき、CPU部55は、データストリームコントローラ75を制御し、インプットFIFO77からSPC76にデータを送り、HDD部へ再度書き込み(リトライ)を行わせる。図7の例では、上記IOPからの読み書き要求のない空いているタイムスロットとして、システム用のタイムスロットTS7でリトライが行われる。その後は、CPU部55は、データストリームコントローラ75を制御し、次のタイムスロットTS8からはインプットFIFO77経由でSPC76にデータを送り、HDD部に書き込みが行われるように制御する。
【0076】
次に、図8を用い、前記図11のビデオサーバシステムの構成を参照しながら、第2の実施の形態におけるリビルド動作例を説明する。
【0077】
ここで、各IOP121〜124へのデータの読み出しは、通常状態で例えばアウトプットFIFO80を通して行われているものとする。
【0078】
このような条件において、IOPからの読み書き要求のない空いているタイムスロットがあったとき、CPU部55は、SPC76を介してHDD部からリビルドデータを読み出させ、さらに、データストリームコントローラ75を制御し、当該HDD部から読み出されたリビルドデータをアウトプットFIFO80に保持させる。図8の例では、上記IOPからの読み書き要求のない空いているタイムスロットとして、システム用のタイムスロットTS2でHDD部からリビルドデータを読み出し、アウトプットFIFO80に保持させる。
【0079】
次に、CPU部55は、データストリームコントローラ75を制御し、次のタイムスロットTS3からは、HDD部から読み出されたデータをアウトプットFIFO81経由でIOPに送るように制御する。
【0080】
次に、IOPからの読み書き要求のない次の空いているタイムスロットがあったとき、CPU部55は、データストリームコントローラ75を制御して、アウトプットFIFO80からリビルドデータを読み出し、そのリビルドデータをストライピング・ECC部57に送ってパリティを付加させ、その後、データストリームコントローラ75を制御して、そのリビルドデータをインプットFIFO79を通し、さらにSPC76を介してHDD部へ書き込ませる。図8の例では、上記IOPからの読み書き要求のない次の空いているタイムスロットとして、システム用のタイムスロットTS7で、既にアウトプットFIFO80に保持されているリビルドデータを読み出し、さらにインプットFIFO79を通してHDD部に書き込みを行わせる。
【0081】
その後、CPU部55は、データストリームコントローラ75を制御し、次のタイムスロットTS8からは、HDD部から読み出されたデータをアウトプットFIFO80経由でIOPに送るように制御する。
【0082】
なお、この第2の実施の形態においても前記第1の実施の形態と同様に、なぜこのようにリビルドを2つのタイムスロットに分けて行うかというと、HDDのシークタイムは、HDDの実際の読み書きの時間に対して極端に長く、1つのタイムスロット内でリビルド作業を行うと、1回にリビルドすることのできるデータ量が、10分の1程度になってしまい、非常に効率が悪くなるからである。
【0083】
また、当該第2の実施の形態では、インプット用とアウトプット用のFIFOを複数組用意することで、通常運用時のデータの流れと障害回復時のデータの流れを分けることができるようにしている。これにより、障害回復の作業が、通常のディスクアレイ装置における読み書きに影響を与えないようにすることが可能になっている。
【0084】
第2の実施の形態では、以上のようにして、HDDのデータの再構築を効率よく行うことができる。
【0085】
すなわち、上述した本発明の各実施の形態によれば、ディスクアレイ装置をビデオサーバシステムに適用することで、以下に示すような、
(1)大容量であること
(2)高い転送レートを実現すること
(3)高い信頼性を持つこと
(4)ランダムアクセス性が良いこと
(5)同時に複数のチャンネルから同一素材にアクセスできること
(6)データの連続性を損なわないこと
(7)障害回復時を効率よく行えること
(8)障害回復時に、性能が低下しないこと
などの各性能を満たすことが可能である。
【0086】
【発明の効果】
以上の説明で明らかなように、本発明のディスクアレイ装置においては、入力データ及び出力データ用のリングバッファ構造の第1,第2のバッファメモリと、データを分割して複数のディスクドライブに順次に供給し複数のディスクドライブから供給されたデータを結合するデータ分割結合手段と、ディスクドライブの動作状況及び処理タイムスロットを管理すると共に各バッファメモリの読み書き及びディスクドライブの記録再生動作を制御する制御手段とを有し、空きタイムスロットを使い、第1,第2のバッファメモリからのデータを用いてデータの再構築を行うことにより、書き込み時のオーバーヘッドの発生を防止でき、また、リアルタイム性を保証でき、障害回復時の性能低下を防ぐことが可能である。
【0087】
また、本発明のディスクアレイ装置は、データを分割して複数のディスクドライブに順次に供給し複数のディスクドライブから供給されたデータを結合するデータ分割結合手段と、ディスクドライブの記録及び再生データ用の少なくとも2個1組の第1,第2の先入れ先出しメモリと、ディスクドライブの動作状況及び処理タイムスロットを管理すると共にディスクドライブの記録再生動作及び第1,第2の先入れ先出しメモリをバンク切り替え制御する制御手段とを有し、空きタイムスロットを使い、第1,第2の先入れ先出しメモリからのデータを用いてデータの再構築を行うことにより、書き込み時のオーバーヘッドの発生を防止でき、また、リアルタイム性を保証でき、障害回復時の性能低下を防ぐことが可能である。
【図面の簡単な説明】
【図1】ビデオサーバシステムに適用可能な本発明の第1の実施の形態のディスクアレイ装置の概略構成を示すブロック回路図である。
【図2】第1の実施の形態のディスクアレイ装置内のHDDコントロール部の概略構成を示すブロック回路図である。
【図3】第1の実施の形態のディスクアレイ装置においてHDDへの書き込みエラーが発生した時の回復(リトライ)動作の説明に用いる図である。
【図4】第1の実施の形態のディスクアレイ装置においてリビルド動作の説明に用いる図である。
【図5】ビデオサーバシステムに適用可能な本発明の第2の実施の形態のディスクアレイ装置の概略構成を示すブロック回路図である。
【図6】第2の実施の形態のディスクアレイ装置内のHDDコントロール部の概略構成を示すブロック回路図である。
【図7】第2の実施の形態のディスクアレイ装置においてHDDへの書き込みエラーが発生した時の回復(リトライ)動作の説明に用いる図である。
【図8】第2の実施の形態のディスクアレイ装置においてリビルド動作の説明に用いる図である。
【図9】ディスクアレイ装置の概念説明に用いる図である。
【図10】従来の一般的なディスクアレイ装置の概略構成を示すブロック回路図である。
【図11】ビデオサーバシステムの概略構成を示すブロック回路図である。
【符号の説明】
2,52 入出力インターフェイス部、 3,53 データタイミングコントローラ、 4,71,72 選択スイッチ、 5,55 CPU部、 7,57ストライピング・ECC部、 10〜14,60〜64 HDDコントロール部、 15〜9,65〜69 HDD部、 21 リトライ用テンポラリバッファメモリ、 22 リビルド用バッファメモリ、 43,77〜79 インプットFIFO、 44,80,81 アウトプットFIFO、 41,75 データストリームコントローラ、 42,76 SPC[0001]
BACKGROUND OF THE INVENTION
The present invention is suitable for a so-called video server system for recording and reproducing moving images and audio signals, for example. Na Disk array device And data recording / reproducing method About.
[0002]
[Prior art]
For example, a disk array device configured in parallel and redundantly by a plurality of HDDs (hard disk drives) is generally called RAID (Redundant Array of Inexpensive Disks).
[0003]
FIG. 9 shows the concept of the disk array device called RAID.
[0004]
In FIG. 9, the disk array device divides (stripes) input data 100 into data strings D0 to D15 for each predetermined unit length in the
[0005]
Simultaneously with the striping, when the
[0006]
FIG. 10 shows the structure of a general disk array device.
[0007]
10, a general disk array device includes a data input /
[0008]
The input data is sent to the striping /
[0009]
The striping /
[0010]
Data reading / writing to the
[0011]
Even if the
[0012]
The
[0013]
The CPU 133 controls the operations of the input /
[0014]
FIG. 11 shows a schematic configuration of a video server system in which the RAID disk array device configured as described above is used as a storage medium for storing moving images and audio.
[0015]
In the video server system shown in FIG. 11, a plurality of input /
[0016]
[Problems to be solved by the invention]
By the way, it is generally said that a disk array device having a so-called RAID-3 configuration is suitable for transferring a large amount of data such as moving images and sounds at one time. However, the disk array device has the following problems. Therefore, the performance required as a storage medium for a video server system cannot be satisfied.
[0017]
As a first problem, overhead at the time of writing occurs.
[0018]
That is, in the disk array device, there may be an overhead at the time of writing. When the data to be rewritten does not fit within the boundary of the ABF (array blocking factor), the data and parity before rewriting are read and a new parity is calculated. May cause overhead when writing.
[0019]
As a second problem, the HDD alone does not guarantee real-time performance.
[0020]
That is, the HDD alone is premised on retrying reading and writing, and it is difficult to ensure real-time performance. For example, even if data reading fails for some reason, the error correction function of the disk array device can ensure a certain degree of real-time performance. On the other hand, if writing fails, the HDD can retry. If done, real-time performance cannot be ensured. Even if the HDD alone is prohibited from being retried, writing to the HDD may fail due to, for example, insufficient time. In such a case, the writing has failed, but the HDD itself is not defective. Therefore, the next time data is read from that portion, no error sign is returned from the HDD. As a result, unrelated data is read out, and as a result, the data cannot be restored.
[0021]
As a third problem, it does not have a mechanism for preventing performance degradation during failure recovery.
[0022]
That is, a general disk array device for computers does not have a mechanism for preventing performance degradation at the time of failure recovery, and cannot read / write data from / to the disk array at the time of data reconstruction (rebuild) for failure recovery. However, in a video server system, in particular, a broadcast video server system, it is necessary to minimize the deterioration of the function upon failure recovery.
[0023]
As described above, in the conventional disk array device, there is no guarantee that reading and writing will be completed within a certain time due to the first and second problems. That is, since continuous reading / writing of continuous data is not interrupted, it is not possible to guarantee the synchronism and real-time property of the video / audio input / output device that performs further time division multiple access. In general, it is said that it is necessary to increase the amount of cache memory (data cache unit 132) in order to avoid the first and second problems, but even if the amount of cache memory is increased, Since there is no guarantee that it will always hit, it does not guarantee 100% real-time performance.
[0024]
Therefore, the present invention has been made in view of such a situation, and it is possible to prevent the occurrence of overhead at the time of writing, guarantee real-time performance, and prevent performance degradation at the time of failure recovery. Na Disk array device And data recording / reproducing method The purpose is to provide.
[0025]
[Means for Solving the Problems]
The disk array device of the present invention comprises a plurality of disk drives, and in a disk array device that is time-division multiplexed access according to a time slot, a ring buffer structure that temporarily holds data input to the disk array device. A data dividing and combining means for dividing the data from one buffer memory or the inputted data and sequentially supplying the divided data to the plurality of disk drives, and combining the data supplied from the plurality of disk drives; A ring buffer that manages the operation status of the disk drive and the time slot, and temporarily holds data obtained by combining the data from the plurality of disk drives output from the first buffer memory and the data division and coupling means Read / write second buffer memory of structure And control means for controlling recording and reproducing operation of the fine said plurality of disk drives, said control means, when the data writing to the disk drive has failed The above-mentioned disk drive is prohibited from being rewritten and the place where it should be written is managed. Holding the input data in the time slot in the first buffer memory; next Data stored in the first buffer memory using the empty time slot is transferred to the disk drive. Corresponding part of When data is rewritten and data is reconstructed, the data to be reconstructed is read from the disk drive using an empty time slot. After error correction The above-mentioned problem is solved by controlling the data held in the second buffer memory and writing the data held in the second buffer memory to the disk drive using the next empty time slot.
[0026]
The disk array device according to the present invention comprises a plurality of disk drives, and is divided into data input to the disk array device in a time-division multiple access according to time slots. And a data dividing / combining means for combining the data supplied from the plurality of disk drives and at least two for temporarily holding data supplied from the data dividing / combining means and recorded on the disk drive A set of first first-in first-out memories, at least two sets of second first-in first-out memories temporarily holding data reproduced from the disk drive, the operating status of the disk drive and the time slot are managed. , Recording / reproducing operation of the disk drive and Serial first, and a control means for the second first-in-first-out memory bank switching control, said control means, when the data writing to the disk drive has failed The above-mentioned disk drive is prohibited from being rewritten and the place where it should be written is managed. Holding the data supplied from the data dividing and coupling means in the time slot in the first first-in first-out memory; next Data stored in the first first-in first-out memory using an empty time slot is transferred to the disk drive. Corresponding part of When data is rewritten and data is reconstructed, the data to be reconstructed is read from the disk drive using an empty time slot. After error correction The above-described problem is solved by controlling the data stored in the second first-in first-out memory in the second first-in first-out memory and writing the data held in the second first-in first-out memory to the disk drive using the next empty time slot.
[0027]
DETAILED DESCRIPTION OF THE INVENTION
A preferred embodiment of the present invention will be described with reference to the drawings.
[0028]
First, the first embodiment will be described.
[0029]
In the first embodiment of the present invention, the size of the logical block is optimized to be an integral multiple of “1 sector (usually 512 bytes) × the number of HDDs”, and the ABF (array blocking factor) and the size of the rewrite data are set. By matching, the overhead at the time of writing is eliminated to prevent the transfer rate from decreasing. As a result, in this embodiment, the need for a data cache for reducing overhead during writing is eliminated.
[0030]
In the first embodiment of the present invention, retry and reassignment of a single HDD is prohibited, and it is ensured that reading and writing are completed within a certain time, thereby interrupting reading and writing of continuous data. And time division multiplexing with multiple channels is guaranteed. In other words, in this embodiment, for example, the CPU manages the location where an error has occurred during writing, and the data is reconstructed later, so that the reliability of the data can be maintained.
[0031]
Furthermore, the first embodiment of the present invention includes a retry temporary buffer memory and a rebuild buffer memory, which will be described later, in order to avoid a failure recovery performance degradation. The data flow is divided. As a result, it is possible to quickly restore data to the HDD in which an error has occurred during writing using a time slot for the system or a free time slot. For example, the HDD can be replaced to restore the data. It also makes it possible to increase the operational efficiency.
[0032]
The configuration and operation of the disk array device according to the first embodiment of the present invention will be described below by taking as an example a case where it is used as a storage medium of a video server system as shown in FIG.
[0033]
FIG. 1 shows a schematic configuration of the disk array device according to the first embodiment of the present invention.
[0034]
In FIG. 1, an input /
[0035]
The striping /
[0036]
The retry temporary buffer memory 21 and the
[0037]
The data timing controller 3 controls the data read / write timing control in the input /
[0038]
Data reading / writing to the
[0039]
The CPU unit 5 controls the operations of the input /
[0040]
Next, FIG. 2 shows the configuration of the HDD control units 10-14.
[0041]
In FIG. 2, FIFO (first-in first-out)
[0042]
The SPC 42 controls the HDD through the SCSI bus.
[0043]
The SPC 42 and the data stream controller 41 are controlled by the CPU unit 5 in FIG. 1 via the CPU bus.
[0044]
Further, the data stream controller 41 controls the timing of data reading / writing to the
[0045]
Next, a recovery operation example at the time of a write error using the retry temporary buffer memory 21 will be described with reference to FIG. 3 while referring to the configuration of the video server system of FIG.
[0046]
Here, the disk array device of the present embodiment is accessed by the
[0047]
At this time, the CPU unit 5 controls not to retry the HDD alone via the HDD control unit, and manages the location on the HDD unit where the time slot TS3 should have been written. Further, the CPU unit 5 at this time does not clear the temporary buffer memory 21 for retry via the data timing controller 3, but stores the input data, that is, the data of the time slot TS3 when writing to the HDD unit fails. Hold. Thereafter, the process proceeds to the next time slot TS4, and normal data reading and writing are performed.
[0048]
Next, when there is an empty time slot without a read / write request from the IOP, the CPU unit 5 controls the
[0049]
Next, a rebuild operation example using the
[0050]
Here, when there is an empty time slot without a read / write request from the IOP, the CPU unit 5 reads the rebuild data from the HDD unit via the HDD control unit, and further controls the striping /
[0051]
Next, when there is a next free time slot without a read / write request from the IOP, the CPU unit 5 controls the data timing controller 3 to read the rebuild data held in the
[0052]
In the present embodiment, the reason why rebuilding is performed in two time slots in this way is that the seek time of the HDD is extremely longer than the actual read / write time of the HDD, and one time slot This is because the amount of data that can be rebuilt at one time is reduced to about one-tenth and the efficiency becomes very low.
[0053]
As described above, the first embodiment of the present invention includes the retry temporary buffer memory 21 and the
[0054]
In the first embodiment, the HDD data can be efficiently reconstructed as described above.
[0055]
Next, a second embodiment of the present invention will be described.
[0056]
In the second embodiment of the present invention, as in the first embodiment described above, the size of the logical block is optimized to be an integral multiple of “1 sector (usually 512 bytes) × the number of HDDs”, and ABF By reducing the (array blocking factor) and the size of the rewritten data and eliminating the overhead during writing, a decrease in the transfer rate is prevented. As a result, in the second embodiment, the need for a data cache for reducing overhead during writing is eliminated.
[0057]
Further, in the second embodiment of the present invention, as in the first embodiment described above, retry and reassignment of a single HDD are prohibited to ensure that reading and writing are completed within a certain time. This ensures continuous reading / writing of continuous data and time division multiplexing using a plurality of channels. That is, also in the second embodiment, the CPU manages the place where an error has occurred at the time of writing, and the data is reconstructed later, so that the reliability of the data can be maintained.
[0058]
Furthermore, in the second embodiment of the present invention, a plurality of buffers for each HDD are prepared in order to avoid a failure recovery performance, and the data flow during normal operation and the data flow during failure recovery are prepared. Are switched using a multiplexer, and these plural sets of buffers are used properly. This makes it possible to quickly restore data to the HDD in which an error has occurred during writing using a time slot for the system or a free time slot. For example, the data can be restored by replacing the HDD. This makes it possible to improve the operational efficiency.
[0059]
FIG. 5 shows a schematic configuration of the disk array device according to the second embodiment of the present invention. In the second embodiment, the case where the disk array device is used as a storage medium of the video server system as shown in FIG. 11 will be described as an example. Hereinafter, in the second embodiment, a description will be given centering on portions that are different from the first embodiment described above.
[0060]
In FIG. 1, an input /
[0061]
The striping /
[0062]
The
[0063]
Data reading / writing to the
[0064]
The
[0065]
Next, FIG. 6 shows the configuration of the
[0066]
6, in the case of the present embodiment, the
[0067]
The
[0068]
The
[0069]
The
[0070]
The
[0071]
According to the present embodiment, by configuring as shown in FIG. 5 and FIG. 6, the memory speed is higher than that of the cache memory of the data cache unit 132 having the configuration of the conventional example shown in FIG. It only needs to be one-tenth the number of HDDs for storage, the cost of the memory itself is low, and the circuit configuration can be simplified.
[0072]
Next, a recovery (system retry) operation example at the time of a write error in the configuration of the second embodiment will be described with reference to FIG. 7 while referring to the configuration of the video server system of FIG.
[0073]
Also in the second embodiment, as in the first embodiment, the time slots TS1, TS2, TS3,... Are generated by four
[0074]
At this time, the
[0075]
Thereafter, when there is an empty time slot without a read / write request from the IOP, the
[0076]
Next, referring to FIG. 8, an example of the rebuild operation in the second embodiment will be described with reference to the configuration of the video server system in FIG.
[0077]
Here, it is assumed that reading of data to each of the
[0078]
Under these conditions, when there is an empty time slot without a read / write request from the IOP, the
[0079]
Next, the
[0080]
Next, when there is a next free time slot without a read / write request from the IOP, the
[0081]
Thereafter, the
[0082]
In the second embodiment, as in the first embodiment, the reason why the rebuild is divided into two time slots is as follows. The seek time of the HDD is the actual HDD time. If the rebuild operation is performed in one time slot that is extremely long with respect to the read / write time, the amount of data that can be rebuilt at one time is reduced to about one-tenth, which is very inefficient. Because.
[0083]
In the second embodiment, by preparing a plurality of sets of input and output FIFOs, the data flow during normal operation and the data flow during failure recovery can be separated. Yes. As a result, it is possible to prevent the failure recovery operation from affecting reading and writing in a normal disk array device.
[0084]
In the second embodiment, HDD data can be efficiently reconstructed as described above.
[0085]
That is, according to each embodiment of the present invention described above, by applying the disk array device to the video server system, as shown below,
(1) Large capacity
(2) Realizing a high transfer rate
(3) Having high reliability
(4) Good random accessibility
(5) The same material can be accessed from multiple channels simultaneously.
(6) Do not impair data continuity
(7) To be able to efficiently recover from a failure
(8) No performance degradation at the time of failure recovery
It is possible to satisfy each performance.
[0086]
【The invention's effect】
As is apparent from the above description, in the disk array device of the present invention, the first and second buffer memories having a ring buffer structure for input data and output data, and the data are sequentially divided into a plurality of disk drives. Data dividing and coupling means for combining the data supplied from the plurality of disk drives to the disk and managing the operation status and processing time slot of the disk drive and controlling the reading / writing of each buffer memory and the recording / reproducing operation of the disk drive And reconstructing the data using the data from the first and second buffer memories using an empty time slot, so that the occurrence of overhead during writing can be prevented, and real-time performance can be improved. It is possible to guarantee, and it is possible to prevent performance degradation at the time of failure recovery.
[0087]
Further, the disk array device of the present invention includes a data division / combining means for dividing and supplying data to a plurality of disk drives in sequence and combining the data supplied from the plurality of disk drives, and for recording and reproduction data of the disk drive. The first and second first-in first-out memories of at least two sets, the operation status and processing time slot of the disk drive are managed, and the recording / reproducing operation of the disk drive and the first and second first-in first-out memories are controlled by bank switching. Control means, using empty time slots, and reconstructing data using the data from the first and second first-in first-out memories, can prevent the occurrence of overhead at the time of writing. Can be ensured, and it is possible to prevent performance degradation during failure recovery.
[Brief description of the drawings]
FIG. 1 is a block circuit diagram showing a schematic configuration of a disk array device according to a first embodiment of the invention applicable to a video server system.
FIG. 2 is a block circuit diagram showing a schematic configuration of an HDD control unit in the disk array device according to the first embodiment;
FIG. 3 is a diagram used for explaining a recovery (retry) operation when a write error to the HDD occurs in the disk array device according to the first embodiment;
FIG. 4 is a diagram used for explaining a rebuild operation in the disk array device according to the first embodiment;
FIG. 5 is a block circuit diagram showing a schematic configuration of a disk array device according to a second embodiment of the invention applicable to a video server system.
FIG. 6 is a block circuit diagram showing a schematic configuration of an HDD control unit in the disk array device according to the second embodiment;
FIG. 7 is a diagram used for explaining a recovery (retry) operation when an HDD write error occurs in the disk array device according to the second embodiment;
FIG. 8 is a diagram used for explaining a rebuild operation in the disk array device according to the second embodiment;
FIG. 9 is a diagram used to explain the concept of a disk array device.
FIG. 10 is a block circuit diagram showing a schematic configuration of a conventional general disk array device.
FIG. 11 is a block circuit diagram showing a schematic configuration of a video server system.
[Explanation of symbols]
2,52 I / O interface unit, 3,53 Data timing controller, 4,71,72 selection switch, 5,55 CPU unit, 7,57 striping / ECC unit, 10-14, 60-64 HDD control unit, 15- 9, 65-69 HDD section, 21 retry temporary buffer memory, 22 rebuild buffer memory, 43, 77-79 input FIFO, 44, 80, 81 output FIFO, 41, 75 data stream controller, 42, 76 SPC
Claims (9)
上記ディスクアレイ装置に入力されたデータを一時的に保持するリングバッファ構造の第1のバッファメモリからのデータ又は上記入力されたデータを分割して上記複数のディスクドライブに順次に供給し、上記複数のディスクドライブから供給されたデータを結合するデータ分割結合手段と、
上記複数のディスクドライブの動作状況及び上記タイムスロットを管理すると共に、上記第1のバッファメモリ、上記データ分割結合手段から出力される上記複数のディスクドライブからのデータを結合したデータを一時的に保持するリングバッファ構造の第2のバッファメモリの読み書き及び上記複数のディスクドライブの記録再生動作を制御する制御手段とを有し、
上記制御手段は、上記ディスクドライブに対するデータ書き込みが失敗したときの上記ディスクドライブ単体での再書き込みを禁止して書き込まれるはずの箇所を管理し、当該データ書き込みが失敗したときのタイムスロットにおける上記入力されたデータを上記第1のバッファメモリに保持させ、次の空きタイムスロットを使って上記第1のバッファメモリに保持されたデータを上記ディスクドライブの対応箇所に再度書き込み制御し、データの再構築を行う際には、空きタイムスロットを使って上記ディスクドライブから上記再構築を行おうとするデータを読み出してエラー訂正後に上記第2のバッファメモリに保持させ、次の空きタイムスロットを使って上記第2のバッファメモリに保持されたデータを上記ディスクドライブに書き込み制御する
ディスクアレイ装置。In a disk array device configured by a plurality of disk drives and accessed in a time-division multiple access according to time slots,
The data from the first buffer memory having a ring buffer structure that temporarily holds the data input to the disk array device or the input data is divided and sequentially supplied to the plurality of disk drives. Data dividing and combining means for combining data supplied from the disk drives of
Manages the operation status of the plurality of disk drives and the time slots, and temporarily holds data obtained by combining the data from the plurality of disk drives output from the first buffer memory and the data dividing / combining means. Control means for controlling reading / writing of the second buffer memory having a ring buffer structure and recording / reproducing operations of the plurality of disk drives,
The control means manages a portion that should be written by prohibiting rewriting of the disk drive alone when data writing to the disk drive fails, and the input in the time slot when the data writing fails The stored data is held in the first buffer memory, and the data held in the first buffer memory is controlled to be written again to the corresponding part of the disk drive by using the next empty time slot, and the data is reconstructed. Is performed, the data to be reconstructed is read from the disk drive using an empty time slot, stored in the second buffer memory after error correction, and the second empty time slot is used to store the first data. Write the data held in the buffer memory 2 to the above disk drive Control disk array device.
請求項1記載のディスクアレイ装置。The disk array device according to claim 1, wherein a theoretical block size as a unit of data read / write with respect to the data processing device is optimized to an integral multiple of sector size x number of storage means.
請求項1記載のディスクアレイ装置。The disk array device according to claim 1, wherein the control means prohibits retry and reassignment in a time slot other than the empty time slot.
請求項1記載のディスクアレイ装置。2. The disk array device according to claim 1, further comprising: an input / output interface unit that is time-division-multiplexed accessed by the plurality of input / output devices in a server having the plurality of input / output devices.
上記ディスクアレイ装置に入力されたデータを分割して上記複数のディスクドライブに順次に供給し、上記複数のディスクドライブから供給されたデータを結合するデータ分割結合手段と、
上記データ分割結合手段から供給され上記ディスクドライブへ記録されるデータを一時的に保持する少なくとも2個1組の第1の先入れ先出しメモリと、
上記ディスクドライブから再生されたデータを一時的に保持する少なくとも2個1組の第2の先入れ先出しメモリと、
ディスクドライブの動作状況及び上記タイムスロットを管理すると共に、上記ディスクドライブの記録再生動作及び上記第1,第2の先入れ先出しメモリをバンク切り替え制御する制御手段とを有し、
上記制御手段は、上記ディスクドライブに対するデータ書き込みが失敗したときの上記ディスクドライブ単体での再書き込みを禁止して書き込まれるはずの箇所を管理し、当該データ書き込みが失敗したときのタイムスロットにおける上記データ分割結合手段から供給されたデータを上記第1の先入れ先出しメモリに保持させ、次の空きタイムスロットを使って上記第1の先入れ先出しメモリに保持されたデータを上記ディスクドライブの対応箇所に再度書き込み制御し、データの再構築を行う際には、空きタイムスロットを使って上記ディスクドライブから上記再構築を行おうとするデータを読み出してエラー訂正後に上記第2の先入れ先出しメモリに保持させ、次の空きタイムスロットを使って上記第2の先入れ先出しメモリに保持されたデータを上記ディスクドライブに書き込み制御する
ディスクアレイ装置。In a disk array device configured by a plurality of disk drives and accessed in a time-division multiple access according to time slots,
Data division and coupling means for dividing the data input to the disk array device and sequentially supplying the divided data to the plurality of disk drives, and combining the data supplied from the plurality of disk drives;
A set of at least two first-in-first-out memories that temporarily hold data supplied from the data dividing and coupling means and recorded in the disk drive;
A second first-in first-out first-in-first-out memory for temporarily holding data reproduced from the disk drive;
A control means for managing the operation status of the disk drive and the time slot, and for controlling the bank switching of the recording / reproducing operation of the disk drive and the first and second first-in first-out memories,
The control means manages a portion that should be written by prohibiting rewriting of the disk drive alone when data writing to the disk drive fails, and the data in the time slot when the data writing fails The data supplied from the division coupling means is held in the first first-in first-out memory, and the data held in the first first-in first-out memory is written again to the corresponding part of the disk drive using the next empty time slot. When data is reconstructed, the data to be reconstructed is read from the disk drive using an empty time slot, and is stored in the second first-in first-out memory after error correction , and the next empty time slot Stored in the second first-in first-out memory The disk array device for writing control data to the disk drive.
請求項5記載のディスクアレイ装置。6. The disk array device according to claim 5, wherein a theoretical block size as a unit of data read / write with respect to the disk array device is optimized to an integral multiple of sector size × number of disk drives.
請求項5記載のディスクアレイ装置。6. The disk array device according to claim 5, wherein the control means prohibits retry and reassignment in a time slot other than the empty time slot.
請求項5記載のディスクアレイ装置。6. The disk array device according to claim 5, further comprising: an input / output interface unit that is time-division-multiplexed accessed by the plurality of input / output devices of the server including the plurality of input / output devices.
上記ディスクアレイ装置に入力されたデータを一時的に保持するリングバッファ構造の第1のバッファメモリからのデータ又は上記入力されたデータを分割して上記複数のディスクドライブに順次に供給し、上記複数のディスクドライブから供給されたデータを結合するデータ分割結合工程と、
上記複数のディスクドライブの動作状況及び上記タイムスロットを管理すると共に、上記第1のバッファメモリ、上記データ分割結合手段から出力される上記複数のディスクドライブからのデータを結合したデータを一時的に保持するリングバッファ構造の第2のバッファメモリの読み書き及び上記複数のディスクドライブの記録再生動作を制御する制御工程とを有し、
上記制御工程では、上記ディスクドライブに対するデータ書き込みが失敗したときの上記ディスクドライブ単体での再書き込みを禁止して書き込まれるはずの箇所を管理し、当該データ書き込みが失敗したときのタイムスロットにおける上記入力されたデータを上記第1のバッファメモリに保持させ、次の空きタイムスロットを使って上記第1のバッファメモリに保持されたデータを上記ディスクドライブの対応箇所に再度書き込み制御し、データの再構築を行う際には、空きタイムスロットを使って上記ディスクドライブから上記再構築を行おうとするデータを読み出してエラー訂正後に上記第2のバッファメモリに保持させ、次の空きタイムスロットを使って上記第2のバッファメモリに保持されたデータを上記ディスクドライブに書き込み制御する
データ記録再生方法。In a data recording / reproducing method of a disk array device constituted by a plurality of disk drives and time-division multiplexed access according to a time slot,
The data from the first buffer memory having a ring buffer structure that temporarily holds the data input to the disk array device or the input data is divided and sequentially supplied to the plurality of disk drives. A data dividing and combining step for combining the data supplied from the disk drives;
Manages the operation status of the plurality of disk drives and the time slots, and temporarily holds data obtained by combining the data from the plurality of disk drives output from the first buffer memory and the data dividing / combining means. A control process for controlling reading / writing of the second buffer memory having a ring buffer structure and recording / reproducing operations of the plurality of disk drives,
In the control process, when the data writing to the disk drive fails , the rewriting of the disk drive alone is prohibited and the place that should be written is managed, and the input in the time slot when the data writing fails The stored data is held in the first buffer memory, and the data held in the first buffer memory is controlled to be written again to the corresponding part of the disk drive by using the next empty time slot, and the data is reconstructed. Is performed, the data to be reconstructed is read from the disk drive using an empty time slot, stored in the second buffer memory after error correction, and the second empty time slot is used to store the first data. 2 Write the data stored in the buffer memory to the above disk drive Data recording and reproducing method for viewing control.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24047998A JP4314651B2 (en) | 1998-08-26 | 1998-08-26 | Disk array device and data recording / reproducing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24047998A JP4314651B2 (en) | 1998-08-26 | 1998-08-26 | Disk array device and data recording / reproducing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000066845A JP2000066845A (en) | 2000-03-03 |
JP4314651B2 true JP4314651B2 (en) | 2009-08-19 |
Family
ID=17060133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP24047998A Expired - Fee Related JP4314651B2 (en) | 1998-08-26 | 1998-08-26 | Disk array device and data recording / reproducing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4314651B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11275653B2 (en) | 2020-03-02 | 2022-03-15 | Kabushiki Kaisha Toshiba | Magnetic disk device |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100453196B1 (en) * | 2002-05-22 | 2004-10-15 | (주)쎄트렉아이 | Software buffering method, a real-time data storing device thereby, and the storage media thereof |
KR100594430B1 (en) | 2004-12-14 | 2006-06-30 | 한국전자통신연구원 | Asynchronous I/O method in the network |
JP2006285803A (en) * | 2005-04-04 | 2006-10-19 | Sony Corp | Data storage device, reconstruction control device, reconstruction control method, program and storage medium |
JP2006285889A (en) * | 2005-04-05 | 2006-10-19 | Sony Corp | Data storage device, reconstruction control device, reconstruction control method, program and storage medium |
JP4979332B2 (en) * | 2006-10-11 | 2012-07-18 | 株式会社ソニー・コンピュータエンタテインメント | Multiplexer and information processing apparatus |
US8549912B2 (en) | 2007-12-18 | 2013-10-08 | Teradyne, Inc. | Disk drive transport, clamping and testing |
US7996174B2 (en) | 2007-12-18 | 2011-08-09 | Teradyne, Inc. | Disk drive testing |
US8238099B2 (en) | 2008-04-17 | 2012-08-07 | Teradyne, Inc. | Enclosed operating area for disk drive testing systems |
US8117480B2 (en) | 2008-04-17 | 2012-02-14 | Teradyne, Inc. | Dependent temperature control within disk drive testing systems |
US20090262455A1 (en) | 2008-04-17 | 2009-10-22 | Teradyne, Inc. | Temperature Control Within Disk Drive Testing Systems |
US7945424B2 (en) | 2008-04-17 | 2011-05-17 | Teradyne, Inc. | Disk drive emulator and method of use thereof |
US8041449B2 (en) | 2008-04-17 | 2011-10-18 | Teradyne, Inc. | Bulk feeding disk drives to disk drive testing systems |
US7848106B2 (en) | 2008-04-17 | 2010-12-07 | Teradyne, Inc. | Temperature control within disk drive testing systems |
US8095234B2 (en) | 2008-04-17 | 2012-01-10 | Teradyne, Inc. | Transferring disk drives within disk drive testing systems |
US8102173B2 (en) | 2008-04-17 | 2012-01-24 | Teradyne, Inc. | Thermal control system for test slot of test rack for disk drive testing system with thermoelectric device and a cooling conduit |
US8305751B2 (en) | 2008-04-17 | 2012-11-06 | Teradyne, Inc. | Vibration isolation within disk drive testing systems |
US8160739B2 (en) | 2008-04-17 | 2012-04-17 | Teradyne, Inc. | Transferring storage devices within storage device testing systems |
JP2011524060A (en) | 2008-06-03 | 2011-08-25 | テラダイン、 インコーポレイテッド | How to handle storage devices |
US7995349B2 (en) | 2009-07-15 | 2011-08-09 | Teradyne, Inc. | Storage device temperature sensing |
US8687356B2 (en) | 2010-02-02 | 2014-04-01 | Teradyne, Inc. | Storage device testing system cooling |
US8547123B2 (en) | 2009-07-15 | 2013-10-01 | Teradyne, Inc. | Storage device testing system with a conductive heating assembly |
US8116079B2 (en) | 2009-07-15 | 2012-02-14 | Teradyne, Inc. | Storage device testing system cooling |
US7920380B2 (en) | 2009-07-15 | 2011-04-05 | Teradyne, Inc. | Test slot cooling system for a storage device testing system |
US8466699B2 (en) | 2009-07-15 | 2013-06-18 | Teradyne, Inc. | Heating storage devices in a testing system |
US8628239B2 (en) | 2009-07-15 | 2014-01-14 | Teradyne, Inc. | Storage device temperature sensing |
US9779780B2 (en) | 2010-06-17 | 2017-10-03 | Teradyne, Inc. | Damping vibrations within storage device testing systems |
US8687349B2 (en) | 2010-07-21 | 2014-04-01 | Teradyne, Inc. | Bulk transfer of storage devices using manual loading |
US9001456B2 (en) | 2010-08-31 | 2015-04-07 | Teradyne, Inc. | Engaging test slots |
JP5643238B2 (en) | 2012-01-06 | 2014-12-17 | 日本電気株式会社 | Disk array control device, disk array device, and disk array control method |
US9459312B2 (en) | 2013-04-10 | 2016-10-04 | Teradyne, Inc. | Electronic assembly test system |
US11226390B2 (en) | 2017-08-28 | 2022-01-18 | Teradyne, Inc. | Calibration process for an automated test system |
US10948534B2 (en) | 2017-08-28 | 2021-03-16 | Teradyne, Inc. | Automated test system employing robotics |
US10725091B2 (en) | 2017-08-28 | 2020-07-28 | Teradyne, Inc. | Automated test system having multiple stages |
US10845410B2 (en) | 2017-08-28 | 2020-11-24 | Teradyne, Inc. | Automated test system having orthogonal robots |
US10983145B2 (en) | 2018-04-24 | 2021-04-20 | Teradyne, Inc. | System for testing devices inside of carriers |
US10775408B2 (en) | 2018-08-20 | 2020-09-15 | Teradyne, Inc. | System for testing devices inside of carriers |
US11754596B2 (en) | 2020-10-22 | 2023-09-12 | Teradyne, Inc. | Test site configuration in an automated test system |
US11867749B2 (en) | 2020-10-22 | 2024-01-09 | Teradyne, Inc. | Vision system for an automated test system |
US11953519B2 (en) | 2020-10-22 | 2024-04-09 | Teradyne, Inc. | Modular automated test system |
US11899042B2 (en) | 2020-10-22 | 2024-02-13 | Teradyne, Inc. | Automated test system |
US11754622B2 (en) | 2020-10-22 | 2023-09-12 | Teradyne, Inc. | Thermal control system for an automated test system |
US12007411B2 (en) | 2021-06-22 | 2024-06-11 | Teradyne, Inc. | Test socket having an automated lid |
-
1998
- 1998-08-26 JP JP24047998A patent/JP4314651B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11275653B2 (en) | 2020-03-02 | 2022-03-15 | Kabushiki Kaisha Toshiba | Magnetic disk device |
Also Published As
Publication number | Publication date |
---|---|
JP2000066845A (en) | 2000-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4314651B2 (en) | Disk array device and data recording / reproducing method | |
US5124987A (en) | Logical track write scheduling system for a parallel disk drive array data storage subsystem | |
EP0727750B1 (en) | Continuous data server apparatus and data transfer scheme enabling multiple simultaneous data accesses | |
US6859888B2 (en) | Data storage array apparatus storing error information without delay in data access, and method, program recording medium, and program for the same | |
US5632012A (en) | Disk scrubbing system | |
JP3181398B2 (en) | Array type recording device | |
EP0541992B1 (en) | Data reconstruction in a storage device array system | |
JP2501752B2 (en) | Storage device of computer system and method of storing data | |
US5442752A (en) | Data storage method for DASD arrays using striping based on file length | |
KR100275900B1 (en) | Method for implement divideo parity spare disk in raid sub-system | |
JPH0724039B2 (en) | Storage subsystem and method of reclaiming part of a parity group | |
JP2006259894A (en) | Storage control device and method | |
US6301711B1 (en) | System and method for the network support of full motion video using a redundant array of inexpensive disks | |
US5862313A (en) | Raid system using I/O buffer segment to temporary store striped and parity data and connecting all disk drives via a single time multiplexed network | |
EP1310875A2 (en) | Disk array subsystem and data generation method therefor | |
JP4499193B2 (en) | Recording / reproducing apparatus and recording / reproducing method | |
JPH10133828A (en) | Disk array device for multi-media server | |
US5742625A (en) | Data storage system and parity generation method for data storage system | |
JPH09330178A (en) | Data recording and reproducing device | |
JPH10254645A (en) | Storage device and storage device subsystem | |
JP3584665B2 (en) | Library storage device using portable media | |
JP2006285802A (en) | Data storage device, reconstruction control device, reconstruction control method, program and storage medium | |
JP3250859B2 (en) | Disk array device, computer system and data storage device | |
JP4269403B2 (en) | Data recording / reproducing apparatus and method of using time slot | |
JP3552471B2 (en) | Data recording / reproducing apparatus and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050304 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071114 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071204 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080204 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080408 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080605 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081104 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090105 |
|
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: 20090428 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090511 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120529 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |