本発明は、複数のデータ記録再生用の入出力ポートを持ち、それぞれが比較的高いビットレートのストリームをストレージシステムに対して入出力しながら運用される放送・業務用のオーディオ・ビデオサーバー(以下AVサーバーという)に適用して好適なデータ記録再生装置及びデータ記録再生方法に関する。
詳しくは、複数の記録再生モードに基づいてデータを記録又は/及び再生する場合に、当該記録再生モードの選択に基づいて1つのコマンドを発行し、又は、1つのコマンドを複数に分割したマルチコマンドを発行してデータ記録再生ディスクアレイを管理制御するプロセッサユニットを備え、RAIDシステムの動作を遅延させることなく、複数の記録再生モードに基づくコマンド又はマルチコマンドを実行できるようにすると共に、複数の記録再生モードのいずれが選択された場合も、ハードディスクの実処理時間が許容処理時間を越えた場合、故障とみなされた当該ハードディスクを他のハードディスクから切り離してデータを修復する冗長処理に移行できるようにしたものである。
近年、デジタル信号処理技術の発達に伴いデータ記録再生装置においても、高速デジタル処理される場合が多くなってきた。データ記録再生装置の中で、放送・業務用のAVサーバーは、一般に複数の記録再生ポートを持ち、それぞれが比較的高いビットレートのストリームをストレージシステムに対して入出力するようになされる。ストレージシステムにはRAID(Redundant Arrays of Inexpensive Disc)システムが使用される。このようなAVサーバーシステムに対して求められるデータ処理条件(要素)として、画像・音声の破綻は、例えばON−AIR時の送出用であれば、絶対に許されないこと、システム規模にもよるが、あるレベルのレスポンス性能を満たすことが必要である。
図16は、従来例に係るAVサーバー10の構成例を示すブロック図である。図16に示すAVサーバー10は、サーバー用のプロセッサユニット20及びRAIDシステム30から構成される。RAIDシステム30には、データ記録用の、例えば、8個のハードディスクHDDj(j=1〜8)と、パリティデータ記録用のハードディスクHDDPと、これらの9個のハードディスクHDDj+HDDPの入出力を制御するための制御ユニット3を有している。
プロセッサユニット20には、イーサネット(R)を通じて上位のパーソナルコンピュータ(以下単にパソコン101という)に接続される。このプロセッサユニット20は、イーサネット(R)に接続可能な入出力ポートP0の他に、6チャンネルのデータ記録再生用の入出力ポートP1〜P6を有している。この6チャンネルの入出力ポートP1〜P6には、図示しないが放送出力機器設備の他に、ビデオテープレコーダ、ビデオ編集機、ビデオカメラ等のオーディオ・ビデオ(AV)機器が接続され、これらのAV機器と当該AVサーバー10との間でオーディオ・ビデオデータ(以下AVデータという)を入力し、又は、AVデータを出力するように使用される。プロセッサユニット20には、通信手段を通じてRAIDシステム(ストレージユニット)30が接続される。
プロセッサユニット20では、上位のパソコン101から、例えば、通常再生モードを受信すると、RAIDシステム30に対して1つのコマンドを発行する。プロセッサユニット20は、当該RAIDシステム30を管理制御するように動作する。RAIDシステム30では、通常再生モードに基づいてAVデータを記録再生するようになされる。この例で、RAIDシステム30は、プロセッサユニット20から発行される1つのコマンドに対して当該コマンド単位にタイムアウト閾値T1を設定し、当該タイムアウト閾値T1に基づいてデータ記録再生処理を実行する。また、RAIDシステム30は、データ再生時に故障を生じたハードディスクHDDjにおける再生データを修復する機能を有している。
図17はRAIDシステム30で使用されるハードディスクHDDjの内部構成例を示す斜視図である。
図17に示すハードディスクHDDjは、プリント基板40を有しており、このプリント基板40の上部にインシュレータ41及びディスクスタックアセンブリ42が重ね合わされ、このディスクスタックアセンブリ42上にカバー43が係合されて構成される。ディスクスタックアセンブリ42の内部には、2枚から10枚程度の磁気ディスク44が同一回転軸(スピンドル)に重ねて配置される。
ディスクスタックアセンブリ42の内部には、磁気ディスク44の他に、自動アクチュエータロック機構45、DCモータ46、ヘッドスタックアセンブリ47、ロータリポジショナアセンブリ48、リードライトアンプ49等が設けられる。ヘッドスタックアセンブリ47の先端には磁気ヘッド50が設けられる。
磁気ディスク44は、データ記録時及び再生時にDCモータ46によって同時に回転する。各ディスク面ごとに磁気ヘッド50を搭載したヘッドスタックアセンブリ47が設けられ、これをロータリーポジショナアッセンブリ(ヘッド位置決め装置)48により、ディスク半径方向に移動するように制御される。磁気ヘッド50は、磁気ディスク44を挟む形態で使用され、所要の位置でデータを記録又は再生するようになされる。磁気ヘッド50で読み出されたデータは、リードライトアンプ49等で増幅されて図16に示した制御ユニット3に出力される。制御ユニット3では磁気ヘッド50から読み出したデータに基づいて映像データ等を再生するようになされる。
図18は通常モード時のコマンドとデータとの関係例を示すタイムチャートである。図18に示す横軸は時間tであり、1つのコマンドに対するタイムスロットTSが設定される。TpはハードディスクHDDjの実処理時間であり、1つのコマンドに対するデータ(Data)の記録再生処理に要する時間である。
図18に示すタイムチャートにおいて、データをハードディスクHDDjで記録再生する場合、1タイムスロットTS以内にデータの記録再生処理を終了すると想定して、1タイムスロットTS毎にコマンド1A,2B,3C・・・等が発行され、1コマンド毎にデータ(Data)を記録再生処理するようになされる。例えば、同一映像素材を連続して記録再生処理する通常記録又は再生モード(以下単に通常モードという)においては、タイムスロット=Command1で、コマンド1Aを発行してデータ(Data)Aを記録再生処理し、Command2でコマンド2Bを発行してデータBを記録再生処理し、Command3でコマンド3Cを発行してデータCを記録再生処理する。このように、1タイムスロットTS毎にコマンドが発行されてデータを記録再生するようになされる。
ところで、RAIDシステム30で使用されるハードディスクHDDjの性能のバラつきが、図17に示したディスクタスクアッセンブリ内部の磁気ディスク44の部分的な欠損、サーボ動作の不安定による磁気ヘッド50のオントラック失敗等により、リトライ動作が発生し、応答速度(実処理時間Tp)がバラつくことがある。この問題に対して、ある程度の余裕を持たせてタイムアウト閾値T1を設定して応答時間の差を吸収するようになされる。
図19は、通常再生モード時のデータ記録再生処理例(故障時)を示すタイムチャートである。図19に示すハードディスクHDD7の例は、通常再生モードにおいて、タイムスロット=Command1で発行されたコマンド1Aに基づいて、データAの記録再生処理(以下コマンド1A処理という)を実行した場合であって、実処理時間TpがタイムスロットTSを越えている場合である。これは、ハードディスクHDD7において、デフェクト(欠損)が大きかったり、サーボ動作が不安定になったことによるものと考えられる。
このようなコマンド1A処理において、タイムアウト閾値T1を越えても、ハードディスクHDD7から制御ユニット3へ応答信号が通知されてこない場合は、ハードディスクHDD7を他のハードディスクHDD1〜HHD6、HDD8から切り離し、他のハードディスクHDD1〜HHD6、HDD8とパリティ専用のハードディスクHDDPを使用して、タイムスロットTS以内にデータAを構築するようになされる(縮退処理)。そして、ハードディスクHDD7がタイムスロット=Command2でコマンド1A処理を終了し、応答信号を制御ユニット3に通知した場合は、タイムスロット=Command3でコマンド3Cが発行され、コマンド3C処理から復帰させることになる。
なお、タイムスロット=Command2では、ハードディスクHDD7に対して、コマンド2Bは発行されず、当該ハードディスクHDD7を除く、他のハードディスクHDD1〜HHD6、HDD8とパリティ専用のハードディスクHDDPとにコマンド2Bが発行され、8台のハードディスクHDD1〜HDD6、HHD8と、HDDPとにより、そのタイムスロット=Command2内でデータBを再生し元データを構築するようになされる。タイムスロット=Command3では、コマンド3C処理に復帰したハードディスクHDD7を含めて9台のハードディスクHDD1〜HDD8とHDDPによりデータ記録再生処理に戻り正常動作となる。
また、通常記録モードにおいて、例えば、ハードディスクHDD7がタイムアウト閾値T1を越えても、応答信号が制御ユニット3に通知されてこない場合は、他のハードディスクHDD1〜HHD6、HDD8から当該ハードディスクHDD7を切り離し、他のハードディスクHDD1〜HHD6、HDD8とパリティ専用のハードディスクHDDPを使用して、タイムスロットTS以内にデータを記録するようになされる。そして、例えば、コマンド2B処理時に、応答信号が制御ユニット3に通知されてきたら、次のコマンド3C処理から記録処理に復帰させるようになされる。
データを記録できなかったハードディスクHDD7におけるコマンド2B処理に関しては、空き時間を利用して、他のハードディスクHDD1〜HHD6、HDD8とパリティ専用のハードディスクHDDPを使用して、リビルト処理を行い、データBを再構成するようになされる。このようなタイムアウト閾値T1に基づいて実処理時間Tpの遅いハードディスクHDDjを切り離す処理は、1コマンド単位に実行される。
図20は、従来例に係る特殊再生モード時のデータ記録再生処理例(エラー時)を示すタイムチャートである。
図20において、太線矢印は、特殊再生モード時に、故障を生じたハードディスクHDD7の処理時間の遅れを示している。ここに特殊再生モードとは、マルチコマンドをRAIDシステム30に発行して、再生フレーム単位での繋ぎ再生処理、シャトル処理又はNext再生処理等を非同期に実行させる動作をいう。特殊再生モードでは、通常再生モード時に1個のコマンドで処理されるデータAを、例えば、4個のデータA1〜A4に分割され、個々のデータA1〜A4を実行させるマルチコマンドが同時に発行される。また、特殊再生モードでは、ハードディスクHDDjにおける記録再生処理時間は、1タイムスロット内で終わることを前提となされる。
このような再生条件下で、プロセッサユニット20に特殊再生モードが設定されると、RAIDシステム30の制御ユニット3では、マルチコマンドを受信し、マルチコマンドに基づくコマンドA1処理〜コマンドA4処理を実行する。この場合も、タイムアウト閾値T1に基づいて実処理時間Tpの遅いハードディスクHDDjを切り離す処理が行われるが、その切り離し処理は、1コマンド単位に実行される。
この例では、何らかの原因により、ハードディスクHDD7に故障を生じた場合であって、ハードディスクHDD7が、タイムアウト閾値T1を越えて、マルチコマンドに基づくコマンドA1処理〜コマンドA4処理を実行している場合である。この場合、ハードディスクHDD7に係るコマンドA1処理〜コマンドA4処理が終了するのは、例えば、故障が無いとしたタイムスロット=Command4の終了タイミングである。マルチコマンドに対する実処理時間Tpは、通常のコマンドに対する実処理時間Tpよりも短くなるが、このような現象は、特に、マルチコマンドに対する実処理時間Tpがタイムアウト閾値T1よりも、短い場合に起こることが確認されている。
なお、この種のAVサーバー10に関連して、特許文献1には、記録再生装置及び記録再生方法が記載されている。この記録再生装置によれば、素材転送制御をする制御部を有した素材転送処理部と、複数のハードディスクを有するHDD−RAID部とを備え、制御部は、転送倍速レートで入力される第1の圧縮方式による圧縮素材をそのまま外部に転送しながら、第1の圧縮方式による圧縮素材を第2の圧縮方式に変換してハードディスクに記録する。ハードディスクに記録した圧縮素材は、データ再生時、圧縮方式変換処理され、入力時の転送レートで再生して外部に転送するようになされる。このように記録再生装置を構成すると、1倍速を越える素材転送を実現しながら、圧縮方式を変換することができるというものである。
また、特許文献2には、データ記録再生装置及びデータ記録再生方法が記載されている。このデータ記録再生装置によれば、ランダムアクセス可能な記録媒体と記録再生手段とを備え、記録再生手段は、記録媒体に対して時分割にファイルデータを記録すると共に、時分割にファイルデータを再生するようになされる。このようにデータ記録再生装置を構成すると、同一ファイルデータ内で数分〜数十分前に記録した部分を該ファイルデータ全体の記録を中断することなく、データを再生することができるというものである。
特開2001−110125号公報(第3頁 第1図)
特開2003−115160号公報(第3頁 第2図)
ところで、従来例に係るデータ記録再生装置によれば、次のような問題がある。
i.特許文献1及び2に係る記録再生装置を含めて図16に示したAVサーバー10に、特殊再生モードを設定して、複数のハードディスクHDDjでマルチコマンドに基づくデータを記録再生処理を非同期に実行させようとする場合であって、図20に示したように、あるハードディスクHDD7に係る記録再生処理が遅延すると、データBの記録再生処理に係るコマンド2Bの発行がタイムスロット=Command2〜Command4まで遅延してしまう現象が生じる。この現象が生じると、この現象が無くなるまで、データBに係る記録再生処理は実行されず、故障が無いとしたタイムスロット=Command2でデータBが転送されない状態を招くことになる。
ii.一般に、ハードディスクHDDjは、磁気ディスク44上の塵埃の影響や、磁気ヘッド50の劣化等の原因によって、リトライ処理が発生する場合やデフェクト部分の記録再生処理を実行する。従って、ディスク面の他の場所をアクセスした場合でも、リトライ処理により応答時間が遅延したり、エラーが発生する場合がある。ハードディスクHDDjによっては、図20に示した特殊再生モードを実行させる場合に、複数回のマルチコマンド毎に障害が発生するおそれが想定される。
iii.特に映像・音声用のデータは、実時間に対して連続性が求められる。このため、データ処理に係る待ち時間がAVサーバーシステムに対して決められているが、データ転送ができなかった場合(期間)は、その放送時間の映像・音声情報が無くなることになり、画像の乱れや音声ノイズが発生し、重大な動作欠陥となるおそれがある。
そこで、この発明は、このような従来の課題を解決したものであって、任意の記録再生モードのいずれが選択された場合も、ハードディスクの実処理時間が許容処理時間を越えた場合、故障とみなされた当該ハードディスクを切り離してデータを修復する冗長処理に実行できるようにしたデータ記録再生装置及びデータ記録再生方法を提供することを目的とする。
上述した課題は、任意の記録再生モードに基づいてデータを記録又は/及び再生する場合に、1つのコマンドに対して当該コマンド単位に許容処理時間を設定してデータ記録再生処理を実行する動作を第1の記録再生モードとし、1つのコマンドを2以上の可変数に分割して発行されるマルチコマンドに対して当該マルチコマンドのグループ毎に許容処理時間を設定してデータ記録再生処理を実行する動作を第2の記録再生モードとしたとき、第1又は第2の記録再生モードに基づいてデータを記録再生する複数のディスク記録再生装置を有し、かつ、データの修復機能を有したデータ記録再生ディスクアレイと、第1又は第2の記録再生モードの選択を受付けると共に、当該第1又は第2の記録再生モードの選択に基づいて1つのコマンドを発行し、又は、1つのコマンドを2以上の可変数に分割したマルチコマンドを当該マルチコマンドのグループ毎にグループ情報を付加して発行してデータ記録再生ディスクアレイを管理制御する情報管理制御装置とを備え、データ記録再生ディスクアレイには制御装置が設けられ、この制御装置は、グループ情報を用いてマルチコマンドに基づくデータを記録再生処理するディスク記録再生装置の実処理時間を検出して当該実処理時間を加算すると共に、予めマルチコマンドのグループ毎に設定された許容処理時間と、当該ディスク記録再生装置の実処理時間を加算して得られる累積処理時間とを逐次比較し、ディスク記録再生装置の累積処理時間が許容処理時間を越えた場合に、当該ディスク記録再生装置を他のディスク記録再生装置から切り離してデータを記録再生し修復する冗長処理に移行するデータ記録再生装置によって解決される。
本発明のデータ記録再生装置によれば、任意の記録再生モードに基づいてデータを記録又は/及び再生する場合に、情報管理制御装置は、予め第1又は第2の記録再生モードの選択を受付けると共に、当該第1又は第2の記録再生モードの選択に基づいて1つのコマンドを発行し、又は、1つのコマンドを2以上の可変数に分割したマルチコマンドを当該マルチコマンドのグループ毎にグループ情報を付加して発行してデータ記録再生ディスクアレイを管理制御する。その際に、データ記録再生ディスクアレイの制御装置は、グループ情報を用いてマルチコマンドに基づくデータを記録再生処理するディスク記録再生装置の実処理時間を検出して当該実処理時間を加算すると共に、予めマルチコマンドのグループ毎に設定された許容処理時間と、当該ディスク記録再生装置の実処理時間を加算して得られる累積処理時間とを逐次比較し、ディスク記録再生装置の累積処理時間が許容処理時間を越えた場合に、当該ディスク記録再生装置を他のディスク記録再生装置から切り離してデータを記録再生し修復する冗長処理に移行する。
例えば、情報管理制御装置は、第1の記録再生モードが選択された場合、1つのコマンドに対して当該コマンド単位に許容処理時間を設定し、当該許容処理時間に基づいてデータ記録再生処理を実行するようにデータ記録再生ディスクアレイを管理制御する。また、第2の記録再生モードが選択された場合は、マルチコマンドに対して当該マルチコマンドのグループ毎に許容処理時間を設定してデータ記録再生処理を実行するように、データ記録再生ディスクアレイを管理制御する。これを前提にして、複数のディスク記録再生装置を有し、かつ、データの修復機能を有したデータ記録再生ディスクアレイは、第1又は第2の記録再生モードに基づいてデータを記録再生する。
例えば、データ記録再生ディスクアレイは、第1の記録再生モードが選択された場合、1つのコマンドに対して当該コマンド単位に許容処理時間を設定し、当該許容処理時間に基づいてデータ記録再生処理を実行する。また、第2の記録再生モードが選択された場合は、マルチコマンドに対して当該マルチコマンドのグループ毎に許容処理時間を設定してデータ記録再生処理を実行する。
従って、情報管理制御装置は、データ記録再生ディスクアレイの動作を遅延させることなく、第1及び第2の記録再生モードに基づく1つのコマンド及びマルチコマンドを実行させることができる。しかも、第2の記録再生モードが選択された場合、データ記録再生ディスクアレイに備えられた制御装置は、マルチコマンドに基づくデータを記録再生処理するディスク記録再生装置の実処理時間を検出して加算すると共に、予めマルチコマンドのグループ毎に設定された許容処理時間と、当該ディスク記録再生装置の実処理時間を加算して得られる累積処理時間とを逐次比較する。この比較結果で、ディスク記録再生装置の累積処理時間が許容処理時間を越えた場合に、当該ディスク記録再生装置を他のディスク記録再生装置から切り離してデータを記録再生し修復する冗長処理に移行させることができる。
なお、第1の記録再生モードが選択された場合は、従来方式と同様にして、同制御装置は、1つのコマンドに基づくデータを記録再生処理するディスク記録再生装置の実処理時間を検出すると共に、予め設定された許容処理時間と、当該ディスク記録再生装置の実処理時間とを逐次比較する。この比較結果で、ディスク記録再生装置の実処理時間が許容処理時間を越えた場合に、当該ディスク記録再生装置を他のディスク記録再生装置から切り離してデータを記録再生し修復する冗長処理に移行する。
本発明に係るデータ記録再生方法は、1つのコマンドに対して当該コマンド単位に許容処理時間を設定してデータ記録再生処理を実行する動作を第1の記録再生モードとし、1つのコマンドを2以上の可変数に分割して発行されるマルチコマンドに対して当該マルチコマンドのグループ毎に許容処理時間を設定してデータ記録再生処理を実行する動作を第2の記録再生モードとしたとき、第1又は第2の記録再生モードに基づいてデータを記録再生する方法であって、第1又は第2の記録再生モードの選択を受付けると共に、当該第1又は第2の記録再生モードの選択に基づいて1つのコマンドを発行し、又は、1つのコマンドを2以上の可変数に分割したマルチコマンドを当該マルチコマンドのグループ毎にグループ情報を付加して発行し、ここで発行された1つのコマンド又はマルチコマンドに基づいてデータを記録及び/又は再生する際に、データ記録再生装置が、グループ情報を用いてマルチコマンドに基づくデータを記録再生処理するディスク記録再生系の実処理時間を検出して当該実処理時間を加算すると共に、予めマルチコマンドのグループ毎に設定された許容処理時間と、当該ディスク記録再生系の実処理時間を加算して得られる累積処理時間とを逐次比較し、ディスク記録再生系の累積処理時間が許容処理時間を越えた場合に、当該ディスク記録再生系を他のディスク記録再生系から切り離してデータを記録再生し修復する冗長処理に移行するものである。
本発明のデータ記録再生方法によれば、第1又は第2の記録再生モードに基づいてデータを記録再生する場合に、データ記録再生系の動作を遅延させることなく、第1の記録再生モードが選択された場合は、1つのコマンドに対して当該コマンド単位に許容処理時間を設定し、当該許容処理時間に基づいてデータ記録再生処理を実行することができる。
また、第2の記録再生モードが選択された場合は、マルチコマンドに対して当該マルチコマンドのグループ毎に許容処理時間を設定してデータ記録再生処理を実行することができる。しかも、第1又は第2の記録再生モードのいずれが選択された場合も、ディスク記録再生系の実処理時間が許容処理時間を越えた場合、故障とみなされた当該ディスク記録再生系を他のディスク記録再生系から切り離してデータを修復する冗長処理に移行させることができる。
本発明のデータ記録再生装置によれば、任意の記録再生モードに基づいてデータを記録又は/及び再生する場合に、当該記録再生モードの選択に基づいて1つのコマンドを発行し、又は、1つのコマンドを2以上の可変数に分割したマルチコマンドを当該マルチコマンドのグループ毎にグループ情報を付加して発行してデータ記録再生ディスクアレイを管理制御する情報管理制御装置を備え、グループ情報を用いてマルチコマンドに基づくデータを記録再生処理するディスク記録再生装置の実処理時間を検出して当該実処理時間を加算すると共に、予めマルチコマンドのグループ毎に設定された許容処理時間と、当該ディスク記録再生装置の実処理時間を加算して得られる累積処理時間とを逐次比較し、ディスク記録再生装置の累積処理時間が許容処理時間を越えた場合に、当該ディスク記録再生装置を他のディスク記録再生装置から切り離してデータを記録再生し修復する冗長処理に移行するものである。
この構成によって、データ記録再生ディスクアレイの動作を遅延させることなく、第1及び第2の記録再生モードに基づくコマンド又はマルチコマンドを実行させることができる。しかも、第1又は第2の記録再生モードのいずれが選択された場合も、ディスク記録再生装置の実処理時間が許容処理時間を越えた場合、故障とみなされた当該ディスク記録再生装置を他のディスク記録再生装置から切り離してデータを修復する冗長処理に移行させることができる。
本発明のデータ記録再生方法によれば、第1又は第2の記録再生モードに基づいてデータを記録再生する場合に、第1又は第2の記録再生モードの選択を受付けると共に、当該第1又は第2の記録再生モードの選択に基づいて1つのコマンドを発行し、又は、1つのコマンドを2以上の可変数に分割したマルチコマンドを当該マルチコマンドのグループ毎にグループ情報を付加して発行し、ここで発行された1つのコマンド又はマルチコマンドに基づいてデータを記録及び/又は再生する際に、グループ情報を用いてマルチコマンドに基づくデータを記録再生処理するディスク記録再生装置の実処理時間を検出して当該実処理時間を加算すると共に、予めマルチコマンドのグループ毎に設定された許容処理時間と、当該ディスク記録再生装置の実処理時間を加算して得られる累積処理時間とを逐次比較し、ディスク記録再生装置の累積処理時間が許容処理時間を越えた場合に、当該ディスク記録再生装置を他のディスク記録再生装置から切り離してデータを記録再生し修復する冗長処理に移行するようになされる。
この構成によって、データ記録再生系の動作を遅延させることなく、第1の記録再生モードが選択された場合は、1つのコマンドに対して当該コマンド単位に許容処理時間を設定し、当該許容処理時間に基づいてデータ記録再生処理を実行することができ、第2の記録再生モードが選択された場合は、マルチコマンドに対して当該マルチコマンドのグループ毎に許容処理時間を設定してデータ記録再生処理を実行することができる。しかも、第1又は第2の記録再生モードのいずれが選択された場合も、ディスク記録再生系の実処理時間が許容処理時間を越えた場合、故障とみなされた当該ディスク記録再生系を他のディスク記録再生系から切り離してデータを修復する冗長処理に移行させることができる。
続いて、この発明に係るデータ記録再生装置及びデータ記録再生方法の一実施の形態について、図面を参照しながら説明をする。
図1は、本発明に係る各実施例としてのAVサーバー100の構成例を示すブロック図である。
この実施例では、任意の記録再生モードに基づいてデータを記録又は/及び再生する場合に、当該記録再生モードの選択に基づいて1つのコマンドを発行し、又は、1つのコマンドを複数に分割したマルチコマンドを発行してデータ記録再生ディスクアレイを管理制御する情報管理制御装置を備える。そして、データ記録再生ディスクアレイの動作を遅延させることなく、第1及び第2の記録再生モードに基づくコマンド又はマルチコマンドを実行できるようにすると共に、第1又は第2の記録再生モードのいずれが選択された場合であっても、ディスク記録再生装置の実処理時間が許容処理時間を越えた場合に、故障とみなされた当該ディスク記録再生装置を他のディスク記録再生装置から切り離してデータを修復するコマンド冗長処理を実行できるようにしたものである。
図1に示すオーディオ・ビデオサーバー(以下AVサーバー100という)は、データ記録再生装置の一例を構成するものであり、任意の記録再生モードに基づいてデータを記録又は/及び再生する装置であり、放送業務等のマルチビデオサーバー(MPEGサーバー)に適用して好適である。このAVサーバー100は、複数のデータ記録再生用の入出力ポートを有しており、それぞれが比較的高いビットレートのストリームをストレージシステムに対して入出力するようになされる。ストレージシステムにはRAID(Redundant Arrays of Inexpensive Disc)システムが使用される。
図1において、AVサーバー100は、第1及び第2の記録再生モードに基づいてオーディオ・ビデオデータ(Data;以下AVデータという)を記録再生するために、情報管理制御装置の一例となるサーバー用のプロセッサユニット20と、データ記録再生ディスクアレイの一例となるRAIDシステム30とを有している。ここに、第1の記録再生モードとは、1つのコマンドに対して当該コマンド単位に許容処理時間(以下タイムアウト閾値T1という)を設定してデータ記録再生処理を実行する動作をいい、以下、通常モードという。通常モードには、通常記録モード及び通常再生モードが含まれる。通常再生モードには連続再生動作が含まれる。
また、第2の記録再生モードとは、1つのコマンドを複数に分割して発行されるマルチコマンドに対して当該マルチコマンドのグループ毎にタイムアウト閾値T1(許容処理時間)を設定してデータ記録再生処理を実行する動作をいい、以下、特殊モードという。特殊モードには、特殊記録モード及び特殊再生モードが含まれる。特殊再生モードには、再生フレーム単位での繋ぎ再生動作、シャトル動作及び、早送り(Next)再生動作等が含まれる。
プロセッサユニット20には、例えば、LAN(Local Area Network)等のイーサネット(R)を通じて上位のパーソナルコンピュータ(以下単にパソコン101という)に接続される。プロセッサユニット20は、上位のパソコン101から通常又は特殊モードの選択を受付けると共に、当該通常モードが選択された場合は、RAIDシステム30に対して1つのコマンドを発行し、特殊モードの選択された場合は、RAIDシステム30に対し1つのコマンドを複数に分割したマルチコマンドを発行して当該RAIDシステム30を管理制御するように動作する。例えば、プロセッサユニット20は、通常モード時のコマンドに対して、複数のコマンドを実行する際のマルチコマンドに関しては、当該マルチコマンドをグループ化して発行するようになされる。
このプロセッサユニット20は、イーサネット(R)に接続可能な入出力ポートP0の他に、Nチャンネル(CHi;i=1〜N)のデータ記録再生用の入出力ポートP1〜PNを有している。この例ではN=6チャンネル(CH1〜CH6)の場合であり、6CHの入出力ポートP1〜P6には、図示しないが放送出力機器設備の他に、ビデオテープレコーダ、ビデオ編集機、ビデオカメラ等のオーディオ・ビデオ(AV)機器が接続され、これらのAV機器と当該AVサーバー100との間でAVデータを入力し、又は、AVデータを出力するように使用される。
上述のプロセッサユニット20には、ファイバチャンネル(Fibre Channel)等の通信手段を通じてRAIDシステム(ストレージユニット)30が接続され、通常又は特殊モードに基づいてAVデータを記録再生するようになされる。また、RAIDシステム30は、データ再生時に故障を生じたハードディスクHDDjにおける再生データを修復する機能を有している。
この例で、RAIDシステム30は、通常モードが選択された場合、プロセッサユニット20から発行される1つのコマンドに対して当該コマンド単位にタイムアウト閾値T1を設定し、当該タイムアウト閾値T1に基づいてデータ記録再生処理を実行する。特殊モードが選択された場合は、プロセッサユニット20から発行されるマルチコマンドに対して当該マルチコマンドのグループ毎にタイムアウト閾値T1を設定する。このようにすると、RAIDシステム30は、グループ化されたマルチコマンドを1つのコマンドとして認識し、データ記録再生処理を実行する。この結果、各マルチコマンド毎に実処理時間Tp(応答時間)が長くなった場合でも、タイムアウト時間の加算による応答時間の遅れを防止できるようになる。
図2は、プロセッサユニット20の内部構成例を示すブロック図である。図2に示すプロセッサユニット20は、ファイル管理制御部21、CPU25、メモリ部22、インターフェース部23、6個のAV信号処理部EDi(i=1〜6)及び6個の記録再生制御部RPi(i=1〜6)を有している。
ファイル管理制御部21は入出力ポートP0に接続され、上位のパソコン101から通常又は特殊モードを入力し、通常又は特殊モードに基づいて映像/音声素材ファイルを管理するようになされる。ファイル管理制御部21はファイルマネージャボードを構成する。ファイル管理制御部21は、RAIDシステム30へ記録した映像及び音声データ基づくファイル情報を作成する。
ファイル管理制御部21には、システムバス24を通じてCPU25が接続され、ファイル管理制御部21、メモリ部22、インターフェース部23、AV信号処理部EDi及び記録再生制御部RPiの入出力を制御する。システムバス24は、図示しないバックプレーンボードを構成するようになされる。
メモリ部22にはファイル管理制御部21で作成されたファイル情報が記憶される。メモリ部22には、図示しないROM、RAM及び不揮発メモリが備えられる。ファイル情報は電源を切っても情報が消失されない不揮発メモリに格納される。ROMには、AVサーバー全体を制御するためのシステムプログラムが格納される。RAMは、ワークメモリとして使用される。CPU25は、プロセッサユニット全体を制御する。例えば、CPU25は、データ記録時、記録再生制御部PBiに記録命令を出力し、データ再生時には、記録再生制御部PBiに再生命令を出力する。
また、上述した6個の入出力ポートP1〜P6には、各々のAV信号処理部EDi(i=1〜6)が接続される。各々の入出力ポートPiには、SDI−I/Oインターフェース及びAES−I/Oインターフェースが設けられる。データ記録時、映像信号は、SDI−I/Oインターフェースから入力され、音声信号は、AES−I/Oインターフェースから入力される。データ再生時は、SDI−I/Oインターフェースから映像信号が出力され、AES−I/Oインターフェース等から音声信号が出力される。
各々のAV信号処理部EDiは、図示しないアナログ・デジタル(A/D)変換回路、エンコード回路(ENC)、デコード回路(DEC)及びデジタル・アナログ(D/A)変換回路を有しており、ビデオ・オーディオボードを構成するようになされる。データ記録時、A/D)変換回路は、アナログの映像信号をアナログ・デジタル(A/D)変換する。A/D変換後のデジタルの映像データは、エンコード回路によって、例えば、MPEG形式により符号化して圧縮処理するようになされる。音声信号は他の圧縮形式により同様な処理がなされる。圧縮後のデジタルの映像データDv及び音声データDaを以下、総称してMPEGデータともいう。
データ再生時には、デコード回路は、映像データDv及び音声データDaを復号化して伸長する。D/A変換回路は、伸長後のデジタルの映像データDv及び音声データDaをD/A変換してアナログの映像信号及び音声信号を出力するようになされる。
各々のAV信号処理部EDiには、記録再生制御部RPi(i=1〜6)が接続される。各々の記録再生制御部RPiは、図示しない記録コントローラ(REC)及び再生コントローラ(PB)を有しており、データマネージャボードを構成するようになされる。各々の記録再生制御部RPiは、CPU25から再生命令を受信すると、再生するファイル情報をファイル管理制御部21に問い合わせ、RAIDシステム30のアドレス情報に基づいてコマンドをRAIDシステム30に対して発行する。RAIDシステム30Aに対してマルチコマンドを発行する際に、記録再生制御部RPiは、例えば、マルチコマンドをグループ化するパラメータをコマンドに付加して発行する。コマンド自体は、CSI−3規格により発行する。
コマンド発行処理の他に、記録再生制御部RPiは、例えば、データ記録時、AV信号処理部EDiから出力されるMPEGデータをRAIDシステム30に記録する形式に変換したり、RAIDシステム30に記録される単位にMPEGデータを分割及びデータ並び換え処理等を実行するようになされる。記録形式変換後のMPEGデータは、システムバス24を介してインターフェース部23に転送される。データ再生時には、RAIDシステム30からMPEGデータを入力し、当該MPEGデータを図示しないメモリに一度取り込み、データ順序を元に戻して映像データDv及び音声データDaを再構築し、これらの映像/音声データDv及びDaをAV信号処理部EDiに出力するようになされる。
上述のシステムバス24には、インターフェース部23が接続され、データ記録時、記録形式変換後のMPEGデータをRAIDシステム30に出力するようになされる。例えば、MPEGデータは、当該インターフェース部23の通信プロトコルに基づいて所定の伝送信号SDv及びSDaに変換(光変調)され、ファイバケーブル等を通じてRAIDシステム30に送信される。
伝送信号SDvは映像データDvやコマンドを例えば、光変調した信号であり、伝送信号SDaは音声データDaやコマンドを例えば、光変調した信号である。データ再生時には、RAIDシステム30から所定の伝送信号SDv及びSDaに変換されたMPEGデータを入力するようになされる。上述のコマンドあるいはマルチコマンドは、インターフェース部23を介してRAIDシステム30A等に送信される。
図3は、RAIDシステム(Video)30Aの内部構成例を示すブロック図である。図3に示すRAIDシステム30は、AVデータを数バイト単位に分解し、データ記録再生処理を並列化して1台のハードディスクHDDjが故障しても、残りのハードディスクHDDj等から元のAVデータを復元し、修理し又は代替してデータ書き込み再生処理を継続できるようにしたものである。
この例では更に、マルチコマンド実行時にハードディスクHDDjが障害を起こしてコマンド処理時間(累積処理時間;応答時間)が長くなった場合であって、各マルチコマンドの処理過程で所定のタイムアウト閾値T1を越えた場合に、RAIDシステム30は、そのハードディスクHDDjを故障(タイムアウト)とみなして、切り離し、他のハードディスクHDDjでデータを記録再生する処理をするようになされる。このようにすると、次のコマンドの実行に影響の無いようすることができる。
図3に示すRAIDシステム30は、映像データDvを取り扱うビデオ用のRAIDシステム30Aと、音声データDaを取り扱うオーディオ用のRAIDシステム30Bから構成され、映像データDvと音声データDaとは、別々のユニットのハードディスクHDDjに記録される。RAIDシステム30A及び30Bは、ファイバケーブル等を通じて、図2に示したインターフェース部23に接続される。RAIDシステム30自体の構造はビデオ用もオーディオ用も同じである。ここではビデオ用のRAIDシステム30Aについて説明をする。
図3において、RAIDシステム30Aは、インターフェース部31、メモリ部32、データコントローラ33、データマルチプレクサ34、CPU35、パリティ演算部36、9個のメモリ&コントローラMCj(j=1〜9)、9個のSCSI−コントローラSPCj(j=1〜9)、及び、9個のハードディスクHDDj(j=1〜9)を有している。
インターフェース部31は、データ記録時、図2に示したインターフェース23から所定の伝送信号SDvに変換されたコマンドや映像データDvを入力してデータコントローラ33に転送する。データ再生時は、映像データDvをデータコントローラ33から入力し、映像データDvを所定の伝送信号SDvに変換した後にファイバケーブル等を通じて、プロセッサユニット20のインターフェース23へ転送するようになされる。
インターフェース部31にはデータコントローラ33が接続され、データ記録時にインターフェース部31を介して受信した伝送信号SDvをコマンドや元の映像データDvに戻すようになされる。データ再生時は、映像データDvを所定の伝送信号SDvに変換するようになされる。データコントローラ33は、元の映像データをメモリ部32に一旦書き込むようになされる。データコントローラ33は、インターフェース部31を介して受信したコマンドから、更に個々のハードディスクHDDjを具体的にアクセスするコマンドをSCSI−コントローラSPCjに発行する。
データコントローラ33には、メモリ部32及びCPU35が接続される。CPU35は制御装置の一例であり、コマンドに付加されたパラメータをデコードして、当該コマンドが単一のコマンドか、あるいは、マルチコマンドかを識別する。当該コマンドがマルチコマンドである場合は、指定されたグループに対して、もしエラー等が発生して応答が遅れた場合は、各コマンド単位ではなく、グループ化されたマルチコマンド全体に対して、タイムアウト閾値T1を設定して記録再生処理を実行するように、データコントローラ33及びデータマルチプレクサ34等を制御する。
例えば、CPU35は、マルチコマンドに基づくデータを記録再生処理するハードディスクHDDjの実処理時間Tpを検出して加算すると共に、予めマルチコマンドのグループ毎に設定されたタイムアウト閾値T1と、当該ハードディスクHDDjの実処理時間Tpを加算して得られる累積処理時間とを逐次比較し、ハードディスクHDDjの累積処理時間がタイムアウト閾値T1を越えた場合に、当該ハードディスクHDDjを他のハードディスクHDDjから切り離してデータを記録再生し修復する冗長処理に移行する。
メモリ部32は、図示しないROM、RAM及び不揮発メモリが備えられる。タイムアウト閾値T1は、電源を切っても情報が消失されない不揮発メモリに格納される。ROMには、RAIDシステム全体を制御するためのシステムプログラムが格納される。RAMは、ワークメモリとして使用される。CPU35は、RAIDシステム全体を制御する。
CPU35にはデータマルチプレクサ34が接続され、データ記録時、映像データDvをストライピング処理するようになされる。データ再生時には、個々のハードディスクHDDjから再生された映像データDvを元の映像データに再構築するようになされる。
この例で、データマルチプレクサ34には、パリティ演算部36及び8個のハードディスク専用のメモリ&コントローラMCj(j=1〜8)が接続される。各々のメモリ&コントローラMCjには、それぞれSCSI−コントローラSPCjが接続される。メモリ&コントローラMCjには、ストライピング処理後の映像データDvを書き込むようになされる。
各々のSCSI−コントローラSPCjには、複数のディスク記録再生装置の一例となるハードディスクHDDjが接続される。SCSI−コントローラSPCjは、通常又は再生モードに係るコマンドに基づいてそれぞれのハードディスクHDDjに対して、メモリ&コントローラMCjから読み出した映像データDvを記録するようになされる。データ再生時には、通常モード又は特殊モードに係るコマンドに基づいてハードディスクHDDjから映像データDvを再生するようになされる。
上述のパリティ演算部36には、メモリ&コントローラMC9が接続され、このメモリ&コントローラMC9には、更にSCSI−コントローラSPC9が接続され、このSCSI−コントローラSPC9には、パリティ専用のハードディスクHDD9が接続され、パリティデータDpだけを記録するようになされる。
例えば、パリティ演算部36は、データ記録時、映像データDvからパリティデータDpを演算するようになされる。演算されたパリティデータDpは、メモリ&コントローラMC9に書き込まれる。SCSI−コントローラSPC9は、メモリ&コントローラMC9からパリティデータDpを読み出してハードディスクHDD9に記録するようになされる。
また、データ再生時、いずれのハードディスクHDDjが故障した場合に、CPU35は、故障したハードディスクHDDjを切り離し、ここで切り離したハードディスクHDDjの再生データを修復すべくコマンド冗長処理を実行する。SCSI−コントローラSPC9は、CPU35からコマンド冗長命令を受信する。SCSI−コントローラSPC9は、ハードディスクHDD9からパリティデータDpを読み出してメモリ&コントローラMC9に書き込まれる。
メモリ&コントローラMC9は、パリティデータを読み出してパリティ演算部36に出力する。パリティ演算部36は、残りのハードディスクHDDjからの映像データDvとハードディスクHDDPからのパリティデータDpとを使用して故障したハードディスクHDDjの元の映像データDvを修復し再現するようになされる(コマンド冗長処理)。再現後の映像データDvはデータマルチプレクサ34に出力される。
このように、RAIDシステム30を構成すると、マルチコマンド実行時にハードディスクHDDjが障害を起こして累積処理時間(応答時間)が長くなった場合であって、各マルチコマンドの処理過程で所定のタイムアウト閾値T1を越えた場合に、そのハードディスクHDDjを故障(タイムアウト)とみなして、切り離し、他のハードディスクHDDjで映像データDvを記録再生することができる。
続いて、マルチコマンドをグループ化するパラメータの付加方法について説明をする。
図4は、第1の実施例に係るデータ再生時の再生命令(Extend)のコマンド例を示す表図である。図4に示すコマンド例によれば、再生命令は8ビットで、「0〜9」バイトのデータにより構成される。バイト「0」には、オペレーションコード(Operation Code(28H))として「00010100」が記述される。バイト「1」には、ロジック・ユニット番号等が記述され、バイト「2」〜「5」には、ロジック・ブロック・アドレス等(MSB)〜(LSB)が記述される。バイト「6」は空き領域である。バイト「7」、「8」には、データ長(MSB)〜(LSB)が記述される。バイト「9」でベンダユニーク(Vender Unique)等を記述するようになされる。
図5は、ベンダユニークにおけるマルチコマンドの記述例を示す表図である。この実施例では、図5に示す楕円で囲んだ9バイト目のビット「6」〜「7」がベンダユニークとして開放されており、この部分を使用すれば、一般のSCSI規格を逸脱せずにグループ化をすることができる。
図5に示すバイト「9」において、例えば、ビット「0」は、リンク(Link)記述領域に割り当てられ、ビット「1」には、フラグ(Flag)記述領域が割り当てられ、ビット「6」〜「7」を利用してベンダユニークを記述するようになされる。ベンダユニークには、コマンドのグループ情報を記述するようになされる。なお、ビット「2」〜「5」間は空き領域である。
図6は、第1の実施例に係るコマンドのグループ情報の記述例を示す表図である。
この実施例では、2つの記述方法が準備される。第1の方法によれば、ビット「6」〜「7」をフラグとして利用し、通常モードに係るコマンドではグループ情報として「0」を記述する。特殊モードに係るマルチコマンドではグループ情報として「1」を記述して、通常又は特殊モードの別を識別するようになされる。なお、マルチコマンドはキューイングされると同時に発行されてしまうので、オーダーキューイングにより使用すれば、コマンドの入れ替えも起こらず、マルチコマンドを識別できるようになる(方法1)。
第2の方法によれば、ビット「6」〜「7」の2ビットを分類して記述する。通常モードに係るコマンドでは、グループ情報として「00」を記述する。特殊モードに係るマルチコマンドにおいては、先頭のコマンドにグループ情報として「01」を記述する。その最後のコマンドにはグループ情報として「11」を記述し、その間のマルチコマンドについては、グループ情報として「10」を記述する。これにより、マルチコマンドを識別するようになされる(方法2)。
図6に示すコマンドの記述例によれば、コマンドCMD1〜CMD9に対して上述の第1及び第2の方法のいずれかを採用する場合によって、ベンダユニークにおけるコマンドのグループ情報の記述内容が異なってくる。第1の方法の場合、コマンドCMD1、CMD6及びCMD9は、通常モードに係るコマンドであるので、「00」が記述される。
これに対して、コマンドCMD2〜CMD5の4個は、グループ化して識別するために、特殊モードに係るマルチコマンドである旨のグループ情報として「01」が記述される。同様にして、コマンドCMD7〜CMD8の2個も、グループ化して識別するために、特殊モードに係るマルチコマンドである旨のグループ情報として「01」が記述される。
第2の方法の場合、コマンドCMD2〜CMD5の4個は、グループ化して識別するために、特殊モードに係るマルチコマンドである旨を示す先頭のコマンドCMD2にグループ情報として「01」が記述される。その最後のコマンドCMD5にはグループ情報として「11」を記述し、その間のマルチコマンドCMD3及びCMD4については、グループ情報として「10」を記述するようになされる。なお、コマンドCMD1、CMD6及びCMD9は、通常モードに係るコマンドであるので、「00」が記述される。
同様にして、コマンドCMD7〜CMD8の2個も、グループ化して識別するために、特殊モードに係るマルチコマンドである旨を示す先頭のコマンドCMD7に「01」が記述され、その最後のコマンドCMD8には「11」を記述するようになされる。
このように、ベンダユニークにおいて、コマンドのグループ情報を記述すると、RAIDシステム30A等では、第1及び第2の方法のいずれの場合も、コマンドCMD2〜5の4個のマルチコマンドのタイムアウト閾値T1に関して、4個のマルチコマンドをまとめて1つのタイムアウト閾値T1で処理するようになされる。同様にして、コマンドCMD7〜8の2個のマルチコマンドも同様に1つのタイムアウト閾値T1を適用して処理するようになされる。
図7は、第2の実施例に係る再生命令(Extend)のコマンド例を示す表図である。
図7に示すコマンド例によれば、図4に示したバイト「6」の空き領域を利用して、コマンドの数量や番号を記述すると共に、バイト「9」に係るユニークコマンドを別の方法により記述するようになされる。なお、第1の実施例に係るバイト「1」〜「5」及びバイト「7」、「8」と同じ名称のものは同じ機能を有するためその説明を省略する。
図7において、バイト「6」のビット「0」〜「3」の4ビットには、コマンド番号(Command No.)が記述され、マルチコマンドに関して何番目のコマンドであるか識別すようになされる。ビット「4」〜「7」の4ビットには、コマンドの数量(Command Value)が記述され、マルチコマンドが幾つで構成されているかの数を識別するようになされる。
また、バイト「9」のビット「2〜3」は、バージョン(Ver)の記述領域に割り当てられる。この「Ver」には、コマンドのバージョンを定義したとき、その仕様ランクを記述するようになされる。これは、グループ情報がユニークなコマンドのため、仕様が途中で変更された場合を考慮して、このパラメータにより、どの仕様ランクであるかRAIDシステム30で識別できるようにした。RAIDシステム30は、このバージョン情報に基づいて動作するようになる。
更に、バイト「9」のビット「4〜6」の3ビットは、グループID(Group ID)の記述領域に割り当てられる。「Group ID」には、マルチコマンドのグループ情報が記述される。同一グループの場合は、グループ情報として同じID「0x1」、「0x3」、「0x6」等が記述される。これは3ビットでインクリメントされるグループ情報が「0x1」〜「0x7」へと連続して使用する場合に、コマンド同士が混ざるのを防ぐ効果がある。
また、バイト「9」のビット「7」は、種類(Multi)の記述領域に割り当てられる。「Multi」には、コマンドの種類を示す識別フラグが記述される。この例で、識別フラグ=「0」で通常モードに係るコマンドを示し、識別フラグ=「1」で特殊モードに係るマルチコマンドを示すようになされる。
図8は、第2の実施例に係るコマンドのグループ情報の記述例を示す表図である。この実施例では、コマンドCMD1、4個のマルチコマンドCMD2〜5、コマンドCMD6、6個のマルチコマンドCMD7〜12、コマンドCMD13〜14、2個のマルチコマンドCMD15〜16及びコマンドCMD17〜18でRAIDシステム30をアクセスする場合を例に採る。
この例では、複数のコマンドに対して、図7に示したような「Multi」、「Group ID」、「Command Value」及び「Command No.」の記述領域に、グループ情報を記述するようになされる。この例で、コマンドCMD2〜CMD5は同一グループであり、「Multi」には「1」が記述される。「Group ID」には、グループ「1」を示すグループ情報=「0x1」が記述され、「Command Value」には数量「4」を示すグループ情報=「0x4」が記述され、「Command No.」には、連続番号「1」〜「4」を示すグループ情報=「0x1」〜「0x4」が記述される。
また、コマンドCMD7〜CMD12は同一グループであり、「Multi」には「1」が記述される。「Group ID」には、グループ「3」を示すグループ情報=「0x3」が記述され、「Command Value」には数量「6」を示すグループ情報=「0x6」が記述され、「Command No.」は、「0x1」〜「0x6」が記述される。コマンドCMD15〜CMD16は同一グループであり、「Multi」には「1」が記述される。「Group ID」には、グループ「6」を示すグループ情報=「0x6」が記述され、「Command Value」には数量「2」を示すグループ情報=「0x2」が記述され、「Command No.」は、「0x1」〜「0x2」が記述される。
なお、図8において、コマンドCMD1、CMD6、CMD13、CMD14及びCMD17、CMD18は通常モードに係るコマンドであり、「Multi」には「0」が記述される。「Group ID」には、コマンドCMD1に対してグループ「0」を示すグループ情報=「0x0」が記述される。
コマンドCMD6に対して、グループ「2」を示すグループ情報=「0x2」が記述され、コマンドCMD13に対してグループ「4」を示すグループ情報=「0x4」が記述され、コマンドCMD14に対してグループ「5」を示すグループ情報=「0x5」が記述され、コマンドCMD17に対して、グループ「7」を示すグループ情報=「0x7」が記述される。
グループ情報=「0x7」で「Group ID」が「0x0」にインクリメントされる。この結果で、コマンドCMD18に対して、グループ「0」を示すグループ情報=「0x0」が記述される。コマンドCMD1、CMD6、CMD13、CMD14及びCMD18、CMD19に関して、「Command Value」及び「Command No.」には、いずれも、グループ情報=「0x0」を記述するようになされる。
このように、図8に示したコマンドの記述例によれば、コマンドCMD2〜5は、グループ「1」として識別され、「Command Value」及び「Command No.」からマルチコマンド数と何番目のコマンドかをCPU35で識別できるようになる。ここではグループ化されたグループ「1」と「3」と「6」のマルチコマンドが、通常モードに係るコマンドと同様のタイムアウト閾値T1でタイムアウト管理されることになる。
図9は、データ記録時の記録命令のコマンド例を示す表図である。図9に示すコマンド例によれば、図7に示した再生命令のコマンド例と比較すると、バイト「0」には、コマンド名称=「Write」を示すオペレーションコード(Opration Code(2AH))が記述される。記録命令のコマンド例においても、再生命令のコマンド例と同様のパラメータを使用することで、マルチコマンドのグループ化を実現できる。なお、記録命令のコマンド例において、再生命令に係るバイト「1」〜「5」及びバイト「7」、「8」と同じ名称のものは同じ機能を有するためその説明を省略する。
記録命令及び再生命令のコマンド例において、オペレーションコードに関して、SCSIの「Read」と「Write」を使用する場合を説明したが、これに限られることはない。ベンダユニーク(Vendar Unique)で使用されていないOPコードの「29」、「2C」等を、専用のコマンドとして使用するにしてもよい(ダイレクト・アクセス・デバイス用のコマンドの一覧表を参照)。
図10A及びBは、各実施例に係る特殊再生モード時のコマンドとデータとの関係例を示すタイムチャートである。図10において、横軸は時間tであり、1つのコマンドに対するタイムスロットTSが設定される。
この実施例では、図10Aに示すように、タイムスロットTS=Coammnd1で映像データ(Data)Aを再生し、TS=Coammnd2で映像データBを再生し、TS=Coammnd3で映像データCを再生する場合を例に採る。この例で、特殊再生モードが選択されると、再生フレーム単位での繋ぎ再生処理、シャトル処理、Next再生処理等が非同期に実行される。この場合、図10Bに示すように、例えば、TS=Coammnd1でランダムな4箇所から映像素材(Data)を読み出すようになされる。
つまり、1個のコマンド1Aを発行して読み出されていた映像データAは、図10Bに示すように、4箇所の映像データA1、A2、A3、A4を読み出すようになされる。この分割された映像データA1、A2、A3、A4に対してマルチコマンドが同時に発行されるが、データ記録再生処理時間は、通常モード時の1回分のコマンド(130ms)で終わることを前提となされる(マルチコマンド処理)。
図11は、特殊再生モード時のデータ記録再生処理例(正常時)を示すタイムチャートである。図11において、横軸は時間tであり、タイムスロットTSが設定される。縦軸は、8台のハードディスクHDD1〜HDD8を示している。図中、タイムスロットTS=Coammnd1〜Coammnd5における太線のバーは、8台のハードディスクHDD1〜HDD8の各々の応答時間を示している。T1はタイムアウト閾値である。A1〜A4は、マルチコマンドに係るデータ記録再生処理(実処理時間Tp)を示しており、以下、コマンド1A処理〜コマンド4A処理と記述する。
この例で、TS=Coammnd1では、特殊再生モードに係るマルチコマンド処理がなされ、TS=Coammnd2〜Coammnd5では、通常再生モードに係るコマンド処理がなされる。この例は、いずれの8台のハードディスクHDD1〜HDD8が何らの故障を生ずることなく正常動作をする場合を挙げている。
この例では、図11に示すTS=Coammnd1で1個のコマンド1Aは4個のマルチコマンドA1,A2,A3,A4に分割されて発行され、TS=Coammnd1のタイムスロット内でタイムアウト閾値T1を越えることなく、8台のハードディスクHDD1〜HDD8が全て、コマンドA1処理〜コマンドA4処理(=コマンド1A処理)を終了する。その後、コマンド1A処理完了と共に、TS=Coammnd2では、次の映像データBの再生に係るコマンド2Bが発行される。同様にして、TS=Coammnd3では、次の映像データCの再生に係るコマンド3Cが発行され、TS=Coammnd4では、次の映像データDの再生に係るコマンド4Dが発行され、TS=Coammnd5では、次の映像データEの再生に係るコマンド5Eが各々発行される。
図12は、特殊再生モード時のデータ記録再生処理例(エラー時)を示すタイムチャートである。図12において、太線矢印は、故障を生じたハードディスクHDD7の処理時間の遅れを示している。
この実施例では、CPU35がマルチコマンドA1,A2,A3,A4に基づくコマンドA1処理〜コマンドA4処理を1つのコマンドブロックとして認識し、このブロックに対してタイムアウト閾値T1を設定することにより、マルチコマンド時のタイムアウト処理を改善するようになされる。
この再生条件下で、ハードディスクHDD7に故障を生じた場合である。つまり、ハードディスクHDD7は、何らかの原因により、タイムアウト閾値T1を越えて、マルチコマンドA1,A2,A3,A4に基づくコマンドA1処理〜コマンドA4処理を実行している場合である。他のハードディスクHDD1〜6及びHDD8は、コマンドA1処理〜コマンドA4処理を終了する。このような場合、コマンドA1処理〜コマンドA4処理をひとつのグループとしてタイムアウト閾値T1を越えたところで、他のハードディスクHDD1〜6及びハードディスクHDD8から当該ハードディスクHDD7を切り離すようになされる。
なお、TS=Coammnd3でハードディスクHDD7がコマンドA4処理を終了した場合、その満了時刻で、当該ハードディスクHDD7からCPU35へ「Coammnd1に係るデータ記録再生処理の終了」を示す応答信号(通知)を送信する。この通知を受信したCPU35は、TS=Coammnd4でハードディスクHDD7を他のハードディスクHDD1〜6及びHDD8に復帰するようになされる。
この間は、残りのハードディスクHDD1〜HDD6及びHDD8と、HDDPとにより、通常のタイミング130ms/コマンドで、TS=Coammnd2〜Coammnd3に係るデータ記録再生処理を実行するので、映像データDvの再生に遅れを生ずることなく、目標の転送レートを維持(発揮)できるようになる。
続いて、本発明に係るデータ記録再生方法について説明をする。この例では、プロセッサユニット20のCPU35における制御例と、RAIDシステム30のCPU35における制御例の2つに分けて説明をする。
[プロセッサユニットにおける制御例]
図13は、プロセッサユニット20のCPU25における制御例を示すフローチャートである。
この実施例では、通常再生又は特殊再生モードに基づいてAVデータを再生する場合に、この通常再生又は特殊再生モードの選択を受付けると共に、当該通常再生又は特殊再生モードの選択に基づいて1つのコマンドを発行し、又は、1つのコマンドを複数に分割したマルチコマンドを発行する場合を前提とする。
これらを制御条件にして、プロセッサユニット20では、図13に示すフローチャートのステップQ1でCPU25は、上位のパソコン101(アプリケーション)等から指定されるRAIDシステム制御に係る実行命令を受信待機する。このとき、ファイル管理制御部21は、例えば、パソコン101から通常又は特殊モードを入力し、通常又は特殊モードに基づいて映像/音声素材ファイルを管理する。ファイル管理制御部21でRAIDシステム制御に係る実行命令を入力した場合は、実行命令をCPU25に通知する。その後、ステップQ2に移行してCPU25は、当該実行命令が通常再生モードである場合、特殊再生モードである場合に基づいて制御を分岐する。
通常再生モードの実行命令が入力された場合は、ステップQ3に移行してCPU25は、RAIDシステム30に対して通常再生モードに係る1つのコマンドを発行するように各ポートを受け持つ記録再生制御部RPjに通知する。各ポートの記録再生制御部RPjは、CPU25から通知を受信してコマンドを発行する。このとき、当該ポートを受け持つ記録再生制御部RPiは、CPU25から再生命令を受信すると、再生するファイル情報をファイル管理制御部21に問い合わせ、RAIDシステム30のアドレス情報に基づいてコマンドをRAIDシステム30に対して発行する。
また、記録再生制御部RPiは、図4に示したようなコマンドを発行する。図6に示した例では、ベンダユニークには、通常モードを示すコマンドCMD1、CMD6及びCMD9に「00」が記述される。インターフェース部23は、通常再生モードに係る1つのコマンドを光変調等した伝送信号SDvをRAIDシステム30A等に送信する。
また、上述のステップQ2で特殊再生モードの実行命令が入力された場合は、ステップQ4に移行してCPU25は、ユニークなコマンドを作成するように各ポートを受け持つ記録再生制御部RPjに通知する。各ポートの記録再生制御部RPjは、CPU25から通知を受信してユニークなコマンドを作成する。このとき、記録再生制御部RPiは、マルチコマンドをグループ化するパラメータを発生する。
そして、ステップQ5に移行してCPU25は、パラメータとなるグループ情報をマルチコマンドに付加するように各ポートを受け持つ記録再生制御部RPjに通知する。このとき、各ポートの記録再生制御部RPjは、CPU25から通知を受信してグループ情報を生成し、マルチコマンドにパラメータとしてグループ情報を付加する処理を実行する。また、記録再生制御部RPiは、図6に示したコマンドCMD2〜CMD5の4個をグループ化して識別させるために、特殊モードに係るマルチコマンドである旨のグループ情報として「01」が記述される。同様にして、コマンドCMD7〜CMD8の2個も、グループ化して識別するために、特殊モードに係るマルチコマンドである旨のグループ情報として「01」が記述される(第1の方法)。
その後、ステップQ6に移行してCPU25は、グループ情報が付加されたマルチコマンドをRAIDシステム30に発行するように各ポートを受け持つ記録再生制御部RPjに通知する。各ポートの記録再生制御部RPjは、CPU25から通知を受信してマルチコマンドを発行する。コマンド自体は、CSI−3規格により発行する。このとき、インターフェース部23は、マルチコマンドを光変調等した伝送信号SDvをRAIDシステム30A等に送信する。これにより、プロセッサユニット20は、RAIDシステム30に対して、通常又は特殊モードの選択に基づく1つのコマンドを発行し、又は、1つのコマンドを複数に分割したマルチコマンドを発行することができる。
[RAIDシステムにおける制御例]
図14及び図15は、RAIDシステム30のCPU35における制御例(その1及び2)を各々示すフローチャートである。
この実施例で、プロセッサユニット20から発行された1つのコマンド又はマルチコマンドに基づいて映像データDvを再生する場合を前提として、通常再生モードが選択された場合は、プロセッサユニット20から発行される1つのコマンドに対して当該コマンド単位にタイムアウト閾値T1を設定し、当該タイムアウト閾値T1に基づいてデータ再生処理を実行する。また、特殊再生モードが選択された場合は、プロセッサユニット20から発行されるマルチコマンドに対して当該マルチコマンドのグループ毎にタイムアウト閾値T1を設定してデータ再生処理を実行する場合を例に挙げる。
<記録再生条件(機能)>
i.映像データDvの記録再生に関して、9台のハードディスクHDD1〜HDD8+HDDPを使用する。
ii.映像データDvは8台のハードディスクHDD1〜HDD8に振り分けて記録する。
iii.9台のハードディスクHDDjのうちパリティ演算専用にハードディスクHDDPを割り当て、8台のハードディスクHDD1〜HDD8の映像データDvから演算されるパリティデータDpだけを記録する。
いずれのハードディスクHDDjが故障した場合には、パリティデータから元データを再現する。これにより、冗長性を確保し、AVサーバー100の信頼性を確保する。8台の映像データ用のハードディスクHDD1〜8にデータをストライピング処理して記録再生する。これにより、ハードディスク1台当たりの実効転送レートの8倍の転送レートと容量を持つAVサーバー100を実現できるようになる。
これらを制御条件にして、図14に示すフローチャートのステップP1でRAIDシステム30は、プロセッサユニット20からのコマンド入力を待機する。コマンドを入力した場合は、ステップP2に移行して当該コマンドが通常再生モードに係る1つのコマンドか、又は、特殊再生モードに係るマルチコマンドであるかを判別する。このとき、データコントローラ33は、インターフェース部31を介して受信したコマンドをCPU35に出力する。
CPU35は、コマンドに付加されたパラメータをデコードして、当該コマンドが単一のコマンドか、あるいは、マルチコマンドかを識別する。この例で、当該コマンドがマルチコマンドである場合は、指定されたグループに対して、もしエラー等が発生して応答が遅れた場合は、各コマンド単位ではなく、グループ化されたマルチコマンド全体に対して、タイムアウト閾値T1を設定して記録再生処理を実行するように、データコントローラ33及びデータマルチプレクサ34等を制御する。
例えば、CPU35は、ユニークなコマンドをデコードして、更に個々のハードディスクHDDjを具体的にアクセスするコマンドをSCSI−コントローラSPCjに発行するようにデータコントローラ33を制御する。当該コマンドが特殊再生モードに係るマルチコマンドである場合は、ステップP3に移行して、パラメータからグループのコマンド構成を判断して、いくつのマルチコマンドに対して1つのタイムアウト閾値T1を適用するかを決定する。
その後、ステップP4に移行してCPU35は、グループコマンドを実行して、グループ全体のハードディスクHDDjにおけるコマンド処理時間(累積処理時間)Tpを取得する。このとき、各々のSCSI−コントローラSPCjは、特殊モードに係るコマンドに基づいてハードディスクHDDjから映像データDvを再生するようになされる。映像データDvは、メモリ&コントローラMCjを通じてデータマルチプレクサ34に出力される。
これらの処理に並行して、CPU35は、コマンド処理時間ΣTpを得るために、マルチコマンドに基づく映像データDvを再生処理する各々のハードディスクHDDjの実処理時間Tpを検出して加算する。コマンド処理時間ΣTpは、当該ハードディスクHDDjの実処理時間Tpを加算した累積処理時間(応答時間)である。このとき、CPU35は、メモリ部32の不揮発メモリからタイムアウト閾値T1を読み出す。
そして、ステップP5でCPU35は、予めマルチコマンドのグループ毎に設定されたタイムアウト閾値T1と、グループ全体のハードディスクHDDjにおけるコマンド処理時間ΣTpとを逐次比較する。このコマンド処理時間ΣTpがタイムアウト閾値T1を越えない場合は、ステップP6に移行して通常の再生処理を実行する。
この処理で、CPU35は、パリティデータDpを使用せずにAVデータを再生するようになされる。例えば、データマルチプレクサ34では、個々のハードディスクHDDjから再生された映像データDvを元の映像データに再構築するようになされる。ストライピング処理された映像データDvは、メモリ部32に書き込まれる。データコントローラ33は、元の映像データをメモリ部32から読み出してインターフェース部31に出力する。インターフェース部31は、映像データDvを所定の伝送信号SDvに変換した後にファイバケーブル等を通じて、プロセッサユニット20のインターフェース23へ転送するようになされる。
上述のステップP5で、いずれかのハードディスクHDDjの実処理時間Tp又はコマンド処理時間ΣTpがタイムアウト閾値T1を越えた場合は、ステップP7に移行して、グループコマンドを実行しているハードディスクHDDjの中で、実処理時間Tpの加算値がタイムアウト閾値T1を越えてデータ記録再生処理を実行しているハードディスクHDDjを切り離すようになされる。図12に示した例によれば、ハードディスクHDD7が他のハードディスクHDD1〜HDD6、HDD8から切り離される。
その後、ステップP8に移行してCPU35は、切り離したハードディスクHDDj、この例ではHDD7の再生データを修復すべくコマンド冗長処理を実行する。このとき、CPU35はSCSI−コントローラSPC9にコマンド冗長命令を送信する。SCSI−コントローラSPC9は、CPU35からコマンド冗長命令を受信すると、ハードディスクHDD9からパリティデータDpを読み出してメモリ&コントローラMC9に書き込む。メモリ&コントローラMC9は、パリティデータDpを読み出してパリティ演算部36に出力する。パリティ演算部36は、残りのハードディスクHDD1〜HDD6、HDD8からの映像データDvとハードディスクHDDPからのパリティデータDpとを使用して故障したハードディスクHDD7の元の映像データDvを修復し再現するようになされる(コマンド冗長処理)。再現後の映像データDvはデータマルチプレクサ34に出力される。
なお、ステップP2で通常再生モードに係るコマンドが入力された場合は、従来方式と同様にして、ステップP9に移行してCPU35は、1コマンドに対してタイムアウト閾値T1を適用する。その後、ステップP10に移行してCPU35は、コマンド処理を実行して、ハードディスクHDDjにおける実処理時間Tpを取得する。このとき、CPU35は、1つのコマンドに基づく映像データを再生処理するハードディスクHDDjの実処理時間Tpを検出する。
その後、ステップP11に移行して、CPU35は、予め設定されたタイムアウト閾値T1と、当該ハードディスクHDDjの実処理時間Tpとを逐次比較する。この比較結果で、ハードディスクHDDjの実処理時間Tpがタイムアウト閾値T1を越えない場合は、ステップP12に移行して通常の再生処理を実行する。このとき、CPU35は、パリティデータDpを使用せずにAVデータを再生するようになされる。
また、ステップP11でハードディスクHDDjの実処理時間Tpがタイムアウト閾値T1を越えた場合に、ステップP13に移行してタイムアウト閾値T1を越えたハードディスクHDDjを他のハードディスクHDDjから切り離す。そして、ステップP14に移行してCPU35は、切り離したハードディスクHDDjの再生データを修復すべくコマンド冗長処理を実行する。このとき、CPU35は、残りのハードディスクHDDjからのAVデータとパリティ用のハードディスクHDDPからのパリティデータDpとを使用して故障したハードディスクHDDjのAVデータを修復する(コマンド冗長処理)。再現後の映像データDvはデータマルチプレクサ34に出力される。
データマルチプレクサ34では、再現後の映像データDvを元の映像データに再構築するようになされる。ストライピング処理された映像データDvは、メモリ部32に書き込まれる。データコントローラ33は、元の映像データDvをメモリ部32から読み出してインターフェース部31に出力する。インターフェース部31は、映像データDvを所定の伝送信号SDvに変換した後にファイバケーブル等を通じて、プロセッサユニット20のインターフェース23へ転送するようになされる。
また、プロセッサシステム20では、RAIDシステム30から所定の伝送信号SDv及びSDaに変換されたMPEGデータを入力すると、当該MPEGデータを図示しないメモリに一度取り込み、データ順序を元に戻して映像データDv及び音声データDaを再構築し、これらの映像/音声データDv及びDaをAV信号処理部EDiに出力するようになされる。各々のAV信号処理部EDiでは、デコード回路が映像データDv及び音声データDaを復号化して伸長する。D/A変換回路は、伸長後のデジタルの映像データDv及び音声データDaをD/A変換してアナログの映像信号及び音声信号を出力するようになされる。SDI−I/Oインターフェースから映像信号が出力され、AES−I/Oインターフェース等から音声信号が出力される。
このように、本発明に係る各実施例としてのAVサーバー及びデータ記録再生方法によれば、通常又は特殊モードに基づいてAVデータを記録又は/及び再生する場合に、9台のハードディスクHDD1〜HDD8+HDDPを有し、かつ、AVデータの修復機能を有したRAIDシステム30は、通常又は特殊モードに基づいてデータを記録再生する。RAIDシステム30は、特殊モードが選択された場合、マルチコマンドに対して当該マルチコマンドのグループ毎にタイムアウト閾値T1を設定してデータ記録再生処理を実行する。
しかも、特殊モードが選択された場合であって、RAIDシステム30に備えられたCPU35は、マルチコマンドに基づくデータを記録再生処理するハードディスクHDDjの実処理時間Tpを検出して加算すると共に、予めマルチコマンドのグループ毎に設定されたタイムアウト閾値T1と、当該ハードディスクHDDjの実処理時間Tpを加算して得られる累積処理時間とを逐次比較する。
この比較結果で、ハードディスクHDDjの累積処理時間がタイムアウト閾値T1を越えた場合に、当該ハードディスクHDDjを他のハードディスクHDDjから切り離してデータを記録再生し修復する冗長処理に移行させることができる。従って、プロセッサユニット20は、RAIDシステム30の動作を遅延させることなく、通常モードに基づく1つのコマンド処理及び特殊モードに基づくマルチコマンド処理を実行させることができる。
この実施例では、マルチコマンドをグループ化する方法に関して、コマンドからパラメータをデコードする場合について説明したが、これに限られることはなく、マルチコマンドをグループ化するための方法であれば、何であってもよい。本発明は、ハードウエアの変更無しに、プロセッサ側におけるコマンドの対応と、RAIDシステム30側における故障時の対応とをリンクさせるといったソフト変更のみで実現可能となるものである。
本発明は、複数のデータ記録再生用の入出力ポートを持ち、それぞれが比較的高いビットレートのストリームをストレージシステムに対して入出力しながら運用される放送・業務用のAVサーバーに適用して極めて好適である。
本発明に係る各実施例としてのAVサーバー100の構成例を示すブロック図である。
プロセッサユニット20の内部構成例を示すブロック図である。
RAIDシステム(Video)30A等の内部構成例を示すブロック図である。
第1の実施例に係るデータ再生時の再生命令(Extend)のコマンド例を示す表図である。
ベンダユニークにおけるマルチコマンドの記述例を示す表図である。
第1の実施例に係るコマンドのグループ情報の記述例を示す表図である。
第2の実施例に係る再生命令(Extend)のコマンド例を示す表図である。
第2の実施例に係るコマンドのグループ情報の記述例を示す表図である。
データ記録時の記録命令のコマンド例を示す表図である。
各実施例に係る特殊再生モード時のコマンドとデータとの関係例を示すタイムチャートである。
特殊再生モード時のデータ記録再生処理例(正常時)を示すタイムチャートである。
特殊再生モード時のデータ記録再生処理例(エラー時)を示すタイムチャートである。
プロセッサユニット20のCPU25における制御例を示すフローチャートである。
RAIDシステム30のCPU35における制御例(その1)を示すフローチャートである。
RAIDシステム30のCPU35における制御例(その2)を示すフローチャートである。
従来例に係るAVサーバー10の構成例を示すブロック図である。
RAIDシステム30で使用されるハードディスクHDDjの構造例を示す斜視図である。
通常モード時のコマンドとデータとの関係例を示すタイムチャートである。
通常再生モード時のデータ記録再生処理例(エラー時)を示すタイムチャートである。
従来例に係る特殊再生モード時のデータ記録再生処理例(エラー時)を示すタイムチャートである。
符号の説明
20・・・プロセッサユニット(情報管理制御装置)、21・・・ファイル管理制御部、22,32・・・メモリ部、23,31・・・インターフェース部、24・・・システムバス、25,35・・・CPU(制御装置)、30,30A,30B・・RAIDシステム(データ記録再生ディスクアレイ)、33・・・データコントローラ、34・・・データマルチプレクサ、36・・・パリティ演算部、100・・・AVサーバー