JP4419211B2 - 記録媒体制御装置及び記録媒体制御方法 - Google Patents
記録媒体制御装置及び記録媒体制御方法 Download PDFInfo
- Publication number
- JP4419211B2 JP4419211B2 JP15702699A JP15702699A JP4419211B2 JP 4419211 B2 JP4419211 B2 JP 4419211B2 JP 15702699 A JP15702699 A JP 15702699A JP 15702699 A JP15702699 A JP 15702699A JP 4419211 B2 JP4419211 B2 JP 4419211B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- command
- recording medium
- input
- processing unit
- 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
【発明の属する技術分野】
本発明は、ディスク状記録媒体に対する制御を行う記録媒体制御装置及び記録媒体制御方法に関する。
【0002】
【従来の技術】
近年、いわゆるCATV(CAble TeleVision,Community Antenna TeleVision)等の普及による情報提供の多チャンネル化にともない、従来のVTR(Video Tape Recorder)とは異なり、映像データ及び/又は音声データ(以下、映像・音声データと記す。)の記録及び/又は再生(以下、記録再生と記す。)を行う1台の映像・音声データ記録再生装置から複数の映像・音声データを、同時に記録再生することや、さらには記録しつつ再生することといった要求が高まりつつある。このような要求を満たすため、例えばハードディスク(以下、HDと記す。)等のランダムアクセスが可能である記録媒体を用い、この記録媒体に対して映像・音声データを記録再生するビデオサーバ(またはAV(Audio and/or Video)サーバ)と呼ばれる装置が普及しつつある。
【0003】
一般に、放送局内におけるビデオサーバは、記録媒体に対して記録再生する映像・音声データの画質や音質に対する要求から、必要とされるデータの転送レートが高い必要があるとともに、長時間のデータを記録するために記録媒体が大容量である必要がある。
【0004】
そこで、映像・音声データを蓄積するとともに、並列処理が可能である複数のHD装置を含むデータ記録再生装置を用いることによって、データの転送レートの高速化や大容量化を図る試みや、HDにパリティデータを記録しておくことによって、いずれかのHD装置が故障した場合にも信頼性を確保できるようにする試みがなされている。
【0005】
この試みにより、近年では例えば、放送局が提供しようとする番組の内容や放送形態により要求されているチャンネル数が異なる場合であっても、複数の映像・音声データからなる素材データを分散的に記録しておき、多チャンネル送出を同時に行ったり、同一の素材データを再生時間をずらして多チャンネルで再生することによって、いわゆるVOD(Video On Demand)やNVOD(Near Video On Demand)等のシステムを構築するといったように、多様な使用形態に対応可能であるマルチチャンネルビデオサーバを実現することが可能となっている。
【0006】
このようなビデオサーバに用いられるデータ記録再生装置には、1988年にDavid A. Pattersonらにより発表された論文である“A Case for Redundant Arrays of Inexpensive Disks(RAID), ACM SIGMOND Conference, Chicago, III, Jun.1-3, 1988”において提唱されている複数のHDからなるハードディスクドライブ(以下、HDDと記す。)をさらに複数台用いて構成されるRAID(Redundant Arrays of Inexpensive Disks)技術が用いられている。
【0007】
この論文中でRAIDは、RAID−1乃至RAID−5の5つに分類されている。RAID−1は、2つのHDDに同一の内容を書き込むいわゆるミラード・ディスクと呼ばれる方式である。また、RAID−2及びRAID−3は、入力データを一定の長さに分割して複数のHDDに記録する方式である。RAID−2は、エラー訂正符号としてハミング符号を用いる。一方、RAID−3は、各HDDの互いに対応するデータブロックの排他的論理和であるパリティデータを生成して他の1台のHDDに書き込む。さらに、RAID−4及びRAID−5は、データの分割単位であるブロックを大きくし、1つの分割データをデータブロックとして1つのHDDに記録するとともに、各HDDの互いに対応するデータブロックの排他的論理和をとった結果であるパリティデータをパリティブロックとしてHDDに記録する方式である。RAID−4は、パリティブロックを同一のHDDに書き込む。一方、RAID−5は、パリティブロックを複数のHDDに分散して書き込む。
【0008】
このようなデータ記録再生装置を用いたビデオサーバの一具体例としては、内部に入出力処理部を複数備えるとともに、それらの入出力処理部により例えばHDに対する映像・音声データの記録再生を行うものがある。このような、ビデオサーバにおいては、複数の入出力処理部それぞれが、バスの使用権を許可するために割り当てられたタイムスロット内で動作するようになされており、外部から入力されたデータを処理して、HDといったノンリニアアクセスが可能な記録媒体にデータを送信するとともに、この記録媒体から再生されたデータを処理して外部に出力する。このため、ビデオサーバは、長い時間で見ると複数の入出力処理部が恰も同時或いは並列に処理を行っているように動作する。
【0009】
このようなビデオサーバとしては、複数台のHDDと、入出力処理部から供給されるコマンドデータに基づいてHDDを制御するCPUとを有するRAID部を備えるものがある。RAID部は、CPUの制御のもとに、入出力処理部から供給されたデータに所定の処理を施してHDDに記録するとともに、HDDから読み出したデータに所定の処理を施して入出力処理部に出力する。
【0010】
このようなビデオサーバにおけるRAID部は、コマンドに関わる全ての処理を各入出力処理部に割り当てられたタイムスロットの期間内で終了する。
【0011】
具体的に説明するために、1タイムスロット期間における任意のRAID部の動作を説明する。
【0012】
RAID部は、図18に示すように、ステップS101において、図示しないタイムスロット発生回路から割り当てられたタイムスロットによりバスの使用権を得た任意の入出力処理部から供給されたコマンドデータを受け取り、そのタイムスロット期間の先頭において図示しないCPUにコマンドデータを供給する。
【0013】
次に、RAID部は、ステップS102において、CPUによりコマンドの解釈を行い、コマンドデータに含まれる情報であるHDDの論理アドレス(LBA)に基づいて、HDDのシーク動作を開始させる。
【0014】
次に、RAID部は、ステップS103において、コマンドを実行し、所定の処理を行う。
【0015】
1タイムスロット期間でこのような一連の処理を行うRAID部においてCPUは、図19に示すような動作を行う。
【0016】
CPUは、同図に示すように、まず期間T1において、コマンドの解釈を行う。
【0017】
次に、CPUは、期間T2において、HDDに対してコマンドを発行する。HDDは、これに応じてシーク動作を開始する。
【0018】
次に、CPUは、期間T3において、待機状態とされる。このとき、HDDは、シーク動作を行い、データの書き込み又は読み出しを行う。
【0019】
次に、CPUは、期間T4において、HDDによる処理結果を受け取る。
【0020】
そして、CPUは、期間T5における空き時間中のうち、例えば1タイムスロット期間が終了する10ミリ秒前からの期間T6において、ステータスデータを設定・発行する。
【0021】
このような動作を行うRAID部を備えるビデオサーバは、処理対象とする映像・音声データが、図20に示すように、4つの映像・音声ファイルA,B,C,Dとして任意のHDDに記録されており、例えば4つの入出力処理部のうち、第1の入出力処理部が映像・音声ファイルAを処理対象とし、第2の入出力処理部が映像・音声ファイルBを処理対象とし、第3の入出力処理部が映像・音声ファイルCを処理対象とし、第4の入出力処理部が映像・音声ファイルDを処理対象としている場合に、以下のようにして、これらの映像・音声ファイルA,B,C,Dに対してアクセスする。
【0022】
ビデオサーバにおいては、例えばあるタイムスロット期間で第1の入出力処理部が映像・音声ファイルAの処理対象領域A1にアクセスすると、次のタイムスロット期間では第2の入出力処理部が映像・音声ファイルBの処理対象領域B1にアクセスし、次のタイムスロット期間では第3の入出力処理部が映像・音声ファイルCの処理対象領域C1にアクセスし、次のタイムスロット期間では第4の入出力処理部が映像・音声ファイルDの処理対象領域D1にアクセスする。ビデオサーバにおいては、以下同様にして、次のタイムスロット期間では第1の入出力処理部が映像・音声ファイルAの処理対象領域A2にアクセスし、次のタイムスロット期間では第2の入出力処理部が映像・音声ファイルBの処理対象領域B2にアクセスし、次のタイムスロット期間では第3の入出力処理部が映像・音声ファイルCの処理対象領域C2にアクセスし、次のタイムスロット期間では第4の入出力処理部が映像・音声ファイルDの処理対象領域D2にアクセスする。
【0023】
このとき、HDDは、処理対象領域A1,B1,C1,D1,A2,B2,C2,D2の順序に沿って図示しないヘッドを駆動する。
【0024】
【発明が解決しようとする課題】
ところで、上述した従来のビデオサーバのRAID部のように、HDDを備えて制御する従来のディスク制御装置においてHDDは、ある処理対象領域にアクセスした後、次の処理が行われるまでヘッドの位置を変更することはなかった。
【0025】
そのため、ディスク制御装置においては、HDDに対する処理が行われない期間、電流が流れているヘッドが変更されず、ヘッドの劣化を招くことがあった。
【0026】
またこのような場合、ディスク制御装置においては、電流が流れているヘッドが変更されないことから、ディスクとヘッドとの間で局所的に熱が発生し、ディスクを損傷させることがあった。
【0027】
さらに、ディスク制御装置においては、HDD内部の温度変化といった環境の経時変化に伴い、ディスク形状の変化が生じることがあった。そのため、ディスク制御装置においては、例えば次の処理時にある処理対象領域にヘッドを移動させる際に、正確にアクセスできない場合があった。
【0028】
本発明は、このような実情に鑑みてなされたものであり、HDDを効率的に制御することにより信頼性を確保する記録媒体制御装置及び記録媒体制御方法を提供することを目的とする。
【0033】
【課題を解決するための手段】
上述した目的を達成する本発明にかかる記録媒体制御装置は、ノンリニアアクセスが可能な記録媒体に対するデータの書き込み及び/又は読み出しを行うデータ書き込み及び/又は読み出し手段と、データ書き込み及び/又は読み出し手段の動作を伴う記録媒体に対するアクセスがなされない期間が所定期間継続したことを検知した場合に、記録媒体の全領域を対象とした無作為位置に、データ書き込み及び/又は読み出し手段を制御して移動させるための第1の移動コマンドと、データ書き込み及び/又は読み出し手段が記録媒体に対して過去の一定期間のうち、現時点に近い時点にアクセスした位置ほど重み付けを大きくして得られる荷重平均値を算出し、該算出した荷重平均値に基づいて決定される目標位置又はこの目標位置の近傍位置に、データ書き込み及び/又は読み出し手段を制御して移動させるための第2の移動コマンドとを発行する第1の処理と、入出力処理部から発行されたコマンドが実行可能な状態である場合に、該コマンドが実行可能な状態であることを入出力処理部に通知するための状態通知コマンドを発行し、該状態通知コマンドを入出力処理部に通知する第2の処理とを実行する制御手段とを備え、第1の移動コマンド及び第2の移動コマンドは、それぞれ、データ書き込み及び/又は読み出し手段を記録媒体に対してシークさせるための第1のシークコマンド及び第2のシークコマンドであり、制御手段は、データ書き込み及び/又は読み出し手段の動作を伴う記録媒体に対するアクセスがなされない期間が上記所定期間継続したことを検知した場合には、第1のシークコマンド及び第2のシークコマンドを発行し、データ書き込み及び/又は読み出し手段の動作を伴う記録媒体に対するアクセスがなされない期間が上記所定期間継続していないことを検知した場合には、状態通知コマンドを発行して入出力処理部に通知する。
【0034】
このような本発明にかかる記録媒体制御装置は、発行した状態通知コマンドにより状態を外部に通知するとともに、データ書き込み及び/又は読み出し手段の動作を伴う記録媒体に対するアクセスがなされない期間が所定期間継続したことを検知した場合に、データ書き込み及び/又は読み出し手段を、発行した第1の移動コマンドにより記録媒体の全領域を対象とした無作為位置に移動させた後、発行した第2の移動コマンドにより記録媒体に対して過去にアクセスした位置に基づいて決定される目標位置又はその近傍位置に移動させる。
【0035】
また、上述した目的を達成する本発明にかかる記録媒体制御方法は、ノンリニアアクセスが可能な記録媒体に対するデータの書き込み及び/又は読み出しを制御する記録媒体制御方法であって、制御手段により、記録媒体に対するデータの書き込み及び/又は読み出しを行うデータ書き込み及び/又は読み出し手段の動作を伴う記録媒体に対するアクセスがなされない期間が所定期間継続したことを検知した場合に、記録媒体の全領域を対象とした無作為位置に、データ書き込み及び/又は読み出し手段を制御して移動させるための第1の移動コマンドと、データ書き込み及び/又は読み出し手段が記録媒体に対して過去の一定期間のうち、現時点に近い時点にアクセスした位置ほど重み付けを大きくして得られる荷重平均値を算出し、該算出した荷重平均値に基づいて決定される目標位置又はこの目標位置の近傍位置に、データ書き込み及び/又は読み出し手段を制御して移動させるための第2の移動コマンドとを発行する第1の処理と、入出力処理部から発行されたコマンドが実行可能な状態である場合に、該コマンドが実行可能な状態であることを入出力処理部に通知するための状態通知コマンドを発行し、該状態通知コマンドを入出力処理部に通知する第2の処理とを実行し、第1の移動コマンド及び第2の移動コマンドは、それぞれ、データ書き込み及び/又は読み出し手段を記録媒体に対してシークさせるための第1のシークコマンド及び第2のシークコマンドであり、制御手段は、記録媒体に対するアクセスがなされない期間が上記所定期間継続したことを検知した場合には、第1のシークコマンド及び第2のシークコマンドを発行し、データ書き込み及び/又は読み出し手段の動作を伴う記録媒体に対するアクセスがなされない期間が上記所定期間継続していないことを検知した場合には、状態通知コマンドを発行して入出力処理部に通知する。
【0036】
このような本発明にかかる記録媒体制御方法は、発行した状態通知コマンドにより状態を外部に通知するとともに、データ書き込み及び/又は読み出し手段の動作を伴う記録媒体に対するアクセスがなされない期間が所定期間継続したことを検知した場合に、データ書き込み及び/又は読み出し手段を、発行した第1の移動コマンドにより記録媒体の全領域を対象とした無作為位置に移動させた後、発行した第2の移動コマンドにより記録媒体に対して過去にアクセスした位置に基づいて決定される目標位置又はその近傍位置に移動させる。
【0037】
【発明の実施の形態】
以下、本発明を適用した具体的な実施の形態について図面を参照しながら詳細に説明する。
【0038】
この実施の形態は、本発明にかかる記録媒体制御装置及び記録媒体制御方法を、映像及び/又は音声データ(以下、映像・音声データと記す。)を含むデータを記録媒体に対して記録及び/又は再生(以下、記録再生と記す。)するいわゆるA/V(Audio/Video)サーバに適用したものである。
【0039】
図1に示すA/Vサーバ1は、4つの入出力処理部(In Out Processor)101,102,103,104と、タイムスロット発生回路20と、5つのRAID部301,302,303,304,305と、バス50,60とを備える。A/Vサーバシステム1は、このように4つの入出力処理部101,102,103,104を有しており、4系統の入出力処理を行うことができる。なお、以下の説明では、4つの入出力処理部101,102,103,104のうち任意の入出力処理部を指す場合には、これらを総称して入出力処理部10と記し、5つのRAID部301,302,303,304,305のうち任意のRAID部を指す場合には、これらを総称してRAID部30と記すものとする。
【0040】
入出力処理部10は、図2(A)に示す記録系処理部10aと、同図(B)に示す再生系処理部10bとにより構成される。
【0041】
記録系処理部10aは、入力したデータDINをRAID部30に記録等するための処理を行う入力処理部として機能する。この入出力処理部10aは、入力回路11と、シリアル−パラレル変換処理回路12と、5つのメモリ131,132,133,134,135と、5つのバス出力処理回路141,142,143,144,145とを有する。
【0042】
入力回路11は、例えば、SMPTE(Society of Motion Picture and Television Engineers)−259Mで規格化されているSDI(Serial Digital Interface)に準拠したデータやSMPTE−305Mで規格化されているSDTI(Serial Digital Transfer Interface)に準拠したデータである映像・音声データを含むデータDINを入力して映像・音声データを取り出す。また、入力回路11は、必要に応じて、取り出した映像・音声データを所定のフォーマットにエンコードする。具体的には、入力回路11は、取り出した映像・音声データについてMPEG(Moving Picture Experts Group)方式による圧縮符号化を行う。ただし、この入力回路11においては、圧縮符号化に拘泥せずとも、RAID部30に記録しやすいフォーマットに変換すればよい。入力回路11により処理が施された映像・音声データは、後段のシリアル−パラレル変換処理回路12に供給される。
【0043】
シリアル−パラレル変換処理回路12は、入力回路11から入力したシリアルデータである映像・音声データを5つのRAID部301,302,303,304,305のそれぞれに書き込むことができるように、シリアル−パラレル変換処理を行う。このシリアル−パラレル変換処理回路12によりシリアル−パラレル変換処理がなされて得られたパラレルデータの各映像・音声データは、後段のメモリ131,132,133,134,135に随時分配されて供給される。
【0044】
メモリ131,132,133,134,135は、RAID部301,302,303,304,305に対応して備えられ、それぞれ、シリアル−パラレル変換処理回路12から出力されてくる各映像・音声データを一時的に格納する。メモリ131,132,133,134,135は、それぞれ、シリアル−パラレル変換処理回路12から出力されてくる各映像・音声データを随時入力するとともに、後述するタイムスロット発生回路20からのタイムスロットTSLが割り当てられると、保持している各映像・音声データが所定のタイムロット期間内で読み出される。これらのメモリ131,132,133,134,135から読み出された各映像・音声データは、それぞれ、後段のバス出力処理回路141,142,143,144,145に供給される。
【0045】
バス出力処理回路141,142,143,144,145は、RAID部301,302,303,304,305に対応して備えられ、それぞれ、各映像・音声データをRAID部30内のハードディスクドライブ(以下、HDDと記す。)に書き込むためのコマンドを各映像・音声データに付加し、バス50に出力する。
【0046】
ここで、バス50は、SBX(Spydar Bus eXtension)バスと呼ばれるものであり、データを記録する方向にのみデータを伝送する。このバス50は、シリアル−パラレル変換処理回路12でシリアル−パラレル変換された各映像・音声データを個別に伝送する複数のバスにより構成されている。そのため、メモリ131,132,133,134,135から出力された各映像・音声データは、バス出力処理回路141,142,143,144,145によって、バス50の伝送フォーマットにしたがうように、例えばRAID部30内のHDDへの書き込みを指示するコマンド等が付加され、バス50を構成する各データに対応するバスを介してRAID部30に出力される。
【0047】
一方、再生系処理部10bは、RAID部30に記録されていたデータを外部へ出力するための処理を行う出力処理部として機能する。この再生系処理部10bは、5つのバス入力処理回路151,152,153,154,155と、5つのメモリ161,162,163,164,165と、パラレル−シリアル変換処理回路17と、出力回路18とを有する。
【0048】
バス入力処理回路151,152,153,154,155は、RAID部301,302,303,304,305に対応して備えられ、それぞれ、RAID部301,302,303,304,305からバス60を介して送られてきた各映像・音声データを入力し、これらの映像・音声データから、コマンドに対応して付加されているステータスデータを抜き出す。バス入力処理回路151,152,153,154,155により処理が施された各映像・音声データは、後段のメモリ161,162,163,164,165に供給される。
【0049】
ここで、バス60は、バス50と同様にSBXバスであり、データを再生する方向にのみデータを伝送する。このバス60は、RAID部301,302,303,304,305から出力された各映像・音声データを個別に伝送する複数のバスにより構成されている。そのため、RAID部301,302,303,304,305から出力された各映像・音声データは、それぞれ、バス60を構成する各データに対応するバスを介してバス入力処理回路151,152,153,154,155に供給される。A/Vサーバ1においては、上述したバス50とバス60を備えることによって、バス入力系のデータと出力系のデータとが衝突するといったエラーを引き起こす要因が少なく、割り当てられたタイムスロットに基づいてデータを伝送することで、データの記録再生を同時に行うようにみなすことができる。
【0050】
メモリ161,162,163,164,165は、RAID部301,302,303,304,305に対応して備えられ、それぞれ、バス入力処理回路151,152,153,154,155から出力されてくる各映像・音声データを一時的に格納する。メモリ161,162,163,164,165は、それぞれ、バス入力処理回路151,152,153,154,155から出力されてくる各映像・音声データを随時入力するとともに、後述するタイムスロット発生回路20からのタイムスロットTSLが割り当てられると、保持している各映像・音声データが所定のタイムロット期間内で読み出される。これらのメモリ161,162,163,164,165から読み出された各映像・音声データは、それぞれ、後段のパラレル−シリアル変換処理回路17に供給される。
【0051】
パラレル−シリアル変換処理回路17は、メモリ161,162,163,164,165のそれぞれから入力したパラレルデータである映像・音声データをパラレル−シリアル変換処理を行う。このパラレル−シリアル変換処理回路17によりパラレル−シリアル変換処理がなされて得られたシリアルデータの映像・音声データは、後段の出力回路18に供給される。
【0052】
出力回路18は、例えば、パラレル−シリアル変換処理回路17から入力した映像・音声データを所定の復号処理によりデコードする。具体的には、出力回路18は、映像・音声データをSDIに準拠したデータやSDTIに準拠したデータである映像・音声データを含むデータDOUTにデコードし、データDOUTを外部へと出力する。
【0053】
このような記録系処理部10a及び再生系処理部10bからなる入出力処理部10は、入力したデータDINをRAID部30に供給するために、データDINに対して所定の処理を施し、バス50に出力する。また、入出力処理部10は、RAID部30からバス60を介して供給された映像・音声データに対して所定の処理を施し、データDOUTとして出力する。
【0054】
タイムスロット発生回路20は、所定時間を1つのサイクルとし、1つのサイクルを分割して設定されるタイムスロットTSLを発生する。このタイムスロットTSLとしては、例えばNTSC(National Television System Committee)のデータの場合には、4フレーム分の時間である133ミリ秒であり、例えばPAL(Phase Alternation by Line)のデータの場合には、4フレーム分の時間である160ミリ秒である。タイムスロット発生回路20は、入出力処理部10が有するメモリ131,132,133,134,135或いはメモリ161,162,163,164,165に対してタイムスロットTSLを順次割り当てることによって、バス50,60に対する入出力処理部10の使用権を管理する。
【0055】
RAID部30は、いわゆるRAID(Redundant Arrays of Inexpensive Disks)構成をとる複数のHDDを有しており、各種データを格納及び管理するものである。RAID部30は、図3に示すように、シリアル−パラレル変換処理回路(S/P)31と、記録用データコントローラ32と、コマンド用FIFO(First-In First-Out)33と、データマルチ/デマルチプレクサ34と、パリティ演算回路35と、5つのメモリコントローラ361,362,363,364,365と、5つのSCSI(Small Computer System Interface)プロトコルコントローラ(SPC)371,372,373,374,375と、5つのHDD381,382,383,384,385と、CPU(Central Processing Unit)39と、ステータス用FIFO40と、再生用データコントローラ41と、パラレル−シリアル変換処理回路(P/S)42とを有する。
【0056】
シリアル−パラレル変換処理回路31は、任意の入出力処理部10からバス50を構成する1本のバスを介して供給される映像・音声データを、5つのHDD381,382,383,384,385のそれぞれに書き込むことができるように、シリアル−パラレル変換処理を行う。このシリアル−パラレル変換処理回路31によりシリアル−パラレル変換処理がなされて得られたパラレルデータの各映像・音声データは、後段の記録用データコントローラ32に供給される。
【0057】
記録用データコントローラ32は、シリアル−パラレル変換処理回路31から供給された映像・音声データのうち、コマンドデータを分離する。この記録用データコントローラ32により分離されたコマンドデータは、後段のコマンド用FIFO33に供給される。また、記録用データコントローラ32により分離された映像・音声データは、後段のデータマルチ/デマルチプレクサ34に供給される。
【0058】
コマンド用FIFO33は、記録用データコントローラ32から供給されたコマンドデータを蓄積する。このコマンド用FIFO33に蓄積されたコマンドデータは、所定のタイミングで後段のCPU39に供給される。
【0059】
データマルチ/デマルチプレクサ34は、データの記録時には、記録用データコントローラ32から供給された映像・音声データを分配し、この分配された映像・音声データをそれぞれメモリコントローラ361,362,363,364やパリティ演算回路35に供給する。また、データマルチ/デマルチプレクサ34は、データの再生時には、パリティ演算回路35から供給されたパリティデータに基づいて、メモリコントローラ361,362,363,364から供給された映像・音声データに対してエラー検出及びエラー訂正処理を行い、これらの映像・音声データを合成して再生用データコントローラ41に供給する。
【0060】
パリティ演算回路35は、データの記録時には、データマルチ/デマルチプレクサ34から供給された映像・音声データに基づいて、4つのHDD381,382,383,384に記録するデータのパリティデータを演算して生成する。このパリティ演算回路35により生成されたパリティデータは、後段のメモリコントローラ365に供給される。また、パリティ演算回路35は、データの再生時には、メモリコントローラ365から供給されたパリティデータをデータマルチ/デマルチプレクサ34に供給する。
【0061】
メモリコントローラ361,362,363,364,365は、HDD381,382,383,384,385に対応して備えられる。メモリコントローラ361,362,363,364は、データの記録時には、それぞれ、データマルチ/デマルチプレクサ34から供給された映像・音声データを一時的に保持してバッファリングする。これらのメモリコントローラ361,362,363,364によりバッファリングされた各映像・音声データは、後段のSCSIプロトコルコントローラ371,372,373,374に供給される。また、メモリコントローラ365は、パリティ演算回路35から供給されたパリティデータを一時的に保持してバッファリングする。メモリコントローラ365によりバッファリングされたパリティデータは、後段のSCSIプロトコルコントローラ375に供給される。
【0062】
さらに、メモリコントローラ361,362,363,364は、データの再生時には、それぞれ、SCSIプロトコルコントローラ371,372,373,374から供給された映像・音声データを一時的に保持してバッファリングする。これらのメモリコントローラ361,362,363,364によりバッファリングされた各映像・音声データは、データマルチ/デマルチプレクサ34に供給される。また、メモリコントローラ365は、SCSIプロトコルコントローラ375から供給されたパリティデータを一時的に保持してバッファリングする。メモリコントローラ365によりバッファリングされたパリティデータは、パリティ演算回路35に供給される。
【0063】
SCSIプロトコルコントローラ371,372,373,374,375は、HDD381,382,383,384,385に対応して備えられる。SCSIプロトコルコントローラ371,372,373,374は、それぞれ、HDD381,382,383,384に接続され、データの記録時には、メモリコントローラ361,362,363,364から供給された各映像・音声データを、HDD381,382,383,384に書き込む。また、SCSIプロトコルコントローラ375は、HDD385に接続され、メモリコントローラ365から供給されたパリティデータを、HDD385に書き込む。
【0064】
一方、データの再生時には、SCSIプロトコルコントローラ371,372,373,374は、それぞれ、HDD381,382,383,384から映像・音声データを読み出し、メモリコントローラ361,362,363,364に供給する。また、SCSIプロトコルコントローラ375は、HDD385からパリティデータを読み出し、メモリコントローラ365に供給する。
【0065】
記録媒体であるHDD381,382,383,384,385は、例えば、放送業務用として記録されるべきデータが確実に記録されるとともに、記録されているデータが確実に再生されるように冗長性を持たせてあり、例えばRAID−3の構成、すなわち、データを複数のディスクに分けて並行転送することで転送性能を高め、さらにパリティディスクを設けた構成をとる。HDD381,382,383,384,385は、それぞれ、データ書き込み及び/又は読み出し手段である図示しないヘッドを有し、このヘッドを移動させてデータの記録再生を行う。
【0066】
CPU39は、RAID部30の各部を制御する制御手段である。CPU39は、コマンド用FIFO33からコマンドデータを入力する。また、CPU39は、コマンドデータに対応する一連の動作が正常に終了した場合には、その旨を示すステータスデータを発行し、このステータスデータをステータス用FIFO40に供給する。
【0067】
ステータス用FIFO40は、CPU39から供給されたステータスデータを蓄積する。このステータス用FIFO40に蓄積されたステータスデータは、所定のタイミングで後段の再生用データコントローラ41に供給される。
【0068】
再生用データコントローラ41は、データの記録時には、同期信号を生成し、この同期信号にステータス用FIFO40から供給されたステータスデータを付加してパラレル−シリアル変換処理回路42に供給する。また、再生用データコントローラ41は、データの再生時には、同期信号を生成し、この同期信号にステータス用FIFO40から供給されたステータスデータとデータマルチ/デマルチプレクサ34から供給された映像・音声データとを付加してパラレル−シリアル変換処理回路42に供給する。
【0069】
パラレル−シリアル変換処理回路42は、再生用データコントローラ41から供給されたパラレルデータをバス60を構成する1本のバスに出力するために、パラレル−シリアル変換処理を行う。このパラレル−シリアル変換処理回路42によりパラレル−シリアル変換処理がなされて得られたシリアルデータは、バス60を介して所定の入出力処理部10に出力される。
【0070】
つぎに、このようなA/Vサーバ1におけるデータの記録処理及びデータの再生処理について説明する。
【0071】
A/Vサーバ1は、以下のようにして、外部より入力されたデータDINを記録する。
【0072】
A/Vサーバ1においては、任意の入出力処理部10に入力されたデータDINは、入力回路11にて映像・音声データが取り出される。映像・音声データは、シリアル−パラレル変換処理回路12によりパラレルデータに変換され、メモリ131,132,133,134,135でバッファリングされる。そして、バッファリングされているデータは、それぞれ、タイムスロット発生回路20から割り当てられたタイムスロットTSLの期間に、バス出力処理回路141,142,143,144,145に供給されてコマンドデータが付加され、図4に示すように、バス50を介して全てのRAID部30へ転送される。
【0073】
RAID部30に転送されてきたデータは、記録用データコントローラ32によりコマンドデータと映像・音声データとに分離される。コマンドデータは、コマンド用FIFO33を経てCPU39に供給される。また、映像・音声データは、データマルチ/デマルチプレクサ34を介してメモリコントローラ361,362,363,364に供給され、バッファリングされる。これらのメモリコントローラ361,362,363,364に供給された映像・音声データは、コマンドデータが供給されたCPU39の制御のもとに読み出され、SCSIプロトコルコントローラ371,372,373,374を経てHDD381,382,383,384に記録される。同時に、パリティ演算回路35にて生成されたパリティデータは、メモリコントローラ365に供給されてバッファリングされた後、CPU39の制御のもとに読み出され、SCSIプロトコルコントローラ375を経てHDD385に記録される。このとき、映像・音声データ及びパリティデータは、先に図4に示したように、全てのHDD381,382,383,384,385の同じ論理アドレス(以下、LBAと記す。)に記録される。CPU39は、データの記録動作が正常に行われた場合には、その旨を示すステータスデータを発行してステータス用FIFO40に供給する。ステータスデータは、所定のタイミングでステータス用FIFO40から読み出され、バス60を介して対応する入出力処理部10へ転送される。
【0074】
A/Vサーバ1は、このような処理を行うことによって、外部から入力したデータDINをRAID部30に記録することができる。
【0075】
一方、A/Vサーバ1は、以下のようにして、HDD381,382,383,384に記録されているデータを再生して外部に出力する。
【0076】
すなわち、A/Vサーバ1においては、データを再生させる任意の入出力処理部10は、タイムスロット発生回路20により割り当てられたタイムスロットTSLの期間に、先に図4に示したように、コマンドデータをバス50を介してRAID部30に出力することによって、データの再生要求を行う。
【0077】
RAID部30では、入出力処理部10から供給されたコマンドデータは、コマンド用FIFO33を経てCPU39に供給される。HDD381,382,383,384に記録されている映像・音声データと、HDD385に記録されているパリティデータは、コマンドデータが供給されたCPU39の制御のもとに読み出される。このとき、映像・音声データ及びパリティデータは、全てのHDD381,382,383,384,385の同じLBAから読み出される。映像・音声データは、それぞれ、SCSIプロトコルコントローラ371,372,373,374及びメモリコントローラ361,362,363,364を経てデータマルチ/デマルチプレクサ34に供給される。また、パリティデータは、SCSIプロトコルコントローラ375、メモリコントローラ365及びパリティ演算回路35を経てデータマルチ/デマルチプレクサ34に供給される。これらの映像・音声データは、データマルチ/デマルチプレクサ34によって、パリティデータに基づいてエラー検出及びエラー訂正処理が施された後、合成されて再生用データコントローラ41に供給される。CPU39は、データの再生動作が正常に行われた場合には、その旨を示すステータスデータを発行してステータス用FIFO40に供給する。ステータスデータは、所定のタイミングでステータス用FIFO40から読み出されて再生用データコントローラ41に供給され、同期信号及び映像・音声データに付加される。これらの同期信号、映像・音声データ及びステータスデータは、バス60を介して再生要求を行った入出力処理部10へ転送される。
【0078】
再生要求を行った入出力処理部10においては、RAID部30から出力されたデータは、バス60を介してバス入力処理回路151,152,153,154,155に供給されてステータスデータが抜き出され、メモリ161,162,163,164,165に供給される。メモリ161,162,163,164,165に供給されたデータは、バッファリングされた後、パラレル−シリアル変換処理回路17にてシリアルデータに変換される。このシリアルデータは、出力回路18に供給されて所定の処理が施され、データDOUTとして外部に出力される。
【0079】
このようにして、A/Vサーバ1は、内部素材を再生して外部に出力することができる。
【0080】
このようなA/Vサーバ1においては、任意の入出力処理部10がRAID部30に対してアクセスし、RAID部30における処理を行い、その結果を入出力処理部10がRAID部30から受け取るまでに3タイムスロット期間を要するいわゆる3タイムスロットシーケンスと、2タイムスロット期間を要するいわゆる2タイムスロットシーケンスとがある。
【0081】
まず、3タイムスロットシーケンスの具体例として、入出力処理部101乃至入出力処理部104が、順次、RAID部30に対するデータの記録又は再生を行う様子を図5及び図6を参照して説明する。
【0082】
A/Vサーバ1においては、図5に示すように、入出力処理部101乃至入出力処理部104が、3タイムスロットシーケンスで順次、RAID部30に対してデータの記録を行う。
【0083】
すなわち、任意であるX番目のタイムスロット期間に、タイムスロット発生回路20から入出力処理部101に対してタイムスロットTSLが割り当てられ、入出力処理部101がバス50の使用権を得てRAID部30に対して、データの書き込みを指示するライトコマンドデータ(W)及びデータを出力したものとすると、RAID部30は、次のX+1番目のタイムスロット期間に、入出力処理部101から出力されたデータを上述したHDD381,382,383,384,385に書き込み記録する。
【0084】
ここで、X+1番目のタイムスロット期間は、入出力処理部102に対してバス50の使用権が割り当てられた期間であることから、入出力処理部102は、RAID部30に対して、ライトコマンドデータ(W)及びデータを出力する。
【0085】
RAID部30は、次のX+2番目のタイムスロット期間に、入出力処理部101から出力されたデータの書き込みが終了した旨のステータスデータ(S)を、バス60の使用権を得た入出力処理部101に対して出力するとともに、X+1番目のタイムスロット期間に入出力処理部102から出力されたデータをHDD381,382,383,384,385に書き込み記録する。また、X+2番目のタイムスロット期間は、入出力処理部103に対してバス50の使用権が割り当てられた期間であることから、入出力処理部103は、RAID部30に対して、ライトコマンドデータ(W)及びデータを出力する。
【0086】
RAID部30は、次のX+3番目のタイムスロット期間に、入出力処理部102から出力されたデータの書き込みが終了した旨のステータスデータ(S)を、バス60の使用権を得た入出力処理部102に対して出力するとともに、X+2番目のタイムスロット期間に入出力処理部103から出力されたデータをHDD381,382,383,384,385に書き込み記録する。同様に、X+3番目のタイムスロット期間は、入出力処理部104に対してバス50の使用権が割り当てられた期間であることから、入出力処理部104は、RAID部30に対して、ライトコマンドデータ(W)及びデータを出力する。
【0087】
このように、A/Vサーバ1においては、3タイムスロット期間で任意の入出力処理部10とRAID部30との処理が完結し、入出力処理部101乃至入出力処理部104が、順次、RAID部30に対してデータの記録を行う。
【0088】
また、A/Vサーバ1においては、図6に示すように、入出力処理部101乃至入出力処理部104は、3タイムスロットシーケンスで順次、RAID部30からデータを再生する。
【0089】
すなわち、任意であるX番目のタイムスロット期間に、タイムスロット発生回路20から入出力処理部101に対してタイムスロットTSLが割り当てられ、入出力処理部101がバス50の使用権を得てRAID部30に対して、データの読み出しを指示するリードコマンドデータ(R)を出力したものとすると、RAID部30は、次のX+1番目のタイムスロット期間に、このリードコマンドデータに応じてHDD381,382,383,384,385からデータを読み出し再生する。
【0090】
ここで、X+1番目のタイムスロット期間は、入出力処理部102に対してバス50の使用権が割り当てられた期間であることから、入出力処理部102は、RAID部30に対して、リードコマンドデータ(R)を出力する。
【0091】
RAID部30は、次のX+2番目のタイムスロット期間に、読み出したデータとステータスデータ(S)を、バス60の使用権を得た入出力処理部101に対して出力するとともに、X+1番目のタイムスロット期間に入出力処理部102から出力されたリードコマンドデータに応じてHDD381,382,383,384,385からデータを読み出し再生する。また、X+2番目のタイムスロット期間は、入出力処理部103に対してバス50の使用権が割り当てられた期間であることから、入出力処理部103は、RAID部30に対して、リードコマンドデータ(R)を出力する。
【0092】
RAID部30は、次のX+3番目のタイムスロット期間に、読み出したデータとステータスデータ(S)を、バス60の使用権を得た入出力処理部102に対して出力するとともに、X+2番目のタイムスロット期間に入出力処理部103から出力されたリードコマンドデータに応じてHDD381,382,383,384,385からデータを読み出し再生する。同様に、X+3番目のタイムスロット期間は、入出力処理部104に対してバス50の使用権が割り当てられた期間であることから、入出力処理部104は、RAID部30に対して、リードコマンドデータ(R)を出力する。
【0093】
このように、A/Vサーバ1においては、3タイムスロット期間で任意の入出力処理部10とRAID部30との処理が完結し、入出力処理部101乃至入出力処理部104は、順次、RAID部30からデータを再生する。
【0094】
さらに、A/Vサーバ1においては、2タイムスロットシーケンスの場合、図7に示すように、入出力処理部101乃至入出力処理部104が、順次、RAID部30に対してデータの記録を行う。この場合、任意の入出力処理部10は、先に図5に示した3タイムスロットシーケンスでのデータの記録動作とは異なり、データを予めRAID部30に出力しておき、そのデータと連続して、割り当てられたタイムスロット期間にコマンドデータを出力する。
【0095】
すなわち、入出力処理部101は、任意であるX番目のタイムスロット期間に、記録しようとするデータをRAID部30に対して出力し、メモリコントローラ361,362,363,364,365に保持させる。そして、入出力処理部101は、次のX+1番目のタイムスロット期間に、データの書き込みを指示するライトコマンドデータ(W)をRAID部30に出力する。RAID部30は、ライトコマンドデータに応じて、メモリコントローラ361,362,363,364,365に保持しているデータをHDD381,382,383,384,385に書き込み記録する。また、入出力処理部102は、記録しようとするデータをRAID部30に出力し、メモリコントローラ361,362,363,364,365に保持させる。
【0096】
RAID部30は、次のX+2番目のタイムスロット期間に、入出力処理部101から出力されたデータの書き込みが終了した旨のステータスデータ(S)を、入出力処理部101に対して出力する。また、入出力処理部102は、ライトコマンドデータ(W)をRAID部30に出力する。RAID部30は、このライトコマンドデータに応じて、入出力処理部102から出力されてメモリコントローラ361,362,363,364,365に保持しているデータをHDD381,382,383,384,385に書き込み記録する。さらに、入出力処理部103は、記録しようとするデータをRAID部30に出力し、メモリコントローラ361,362,363,364,365に保持させる。
【0097】
次のX+3番目のタイムスロット期間では、RAID部30は、入出力処理部102から出力されたデータの書き込みが終了した旨のステータスデータ(S)を、入出力処理部102に対して出力する。また、入出力処理部103は、ライトコマンドデータ(W)をRAID部30に出力する。RAID部30は、このライトコマンドデータに応じて、入出力処理部103から出力されてメモリコントローラ361,362,363,364,365に保持しているデータをHDD381,382,383,384,385に書き込み記録する。さらに、入出力処理部104は、記録しようとするデータをRAID部30に出力し、メモリコントローラ361,362,363,364,365に保持させる。
【0098】
同様にして、次のX+4番目のタイムスロット期間では、RAID部30は、入出力処理部103から出力されたデータの書き込みが終了した旨のステータスデータ(S)を、入出力処理部103に対して出力する。また、入出力処理部104は、ライトコマンドデータ(W)をRAID部30に出力する。RAID部30は、このライトコマンドデータに応じて、入出力処理部104から出力されてメモリコントローラ361,362,363,364,365に保持しているデータをHDD381,382,383,384,385に書き込み記録する。
【0099】
このように、A/Vサーバ1においては、2タイムスロット期間で任意の入出力処理部10とRAID部30との処理が完結し、入出力処理部101乃至入出力処理部104が、順次、RAID部30に対してデータの記録を行う。
【0100】
さらにまた、A/Vサーバ1においては、図8に示すように、入出力処理部101乃至入出力処理部104が、2タイムスロットシーケンスで順次、RAID部30からデータを再生する。
【0101】
すなわち、任意であるX番目のタイムスロット期間に、入出力処理部101がRAID部30に対して、データの読み出しを指示するリードコマンドデータ(R)を出力したものとすると、RAID部30は、このリードコマンドデータに応じてHDD381,382,383,384,385からデータを読み出し再生する。
【0102】
次のX+1番目のタイムスロット期間では、RAID部30は、読み出したデータとステータスデータ(S)を、入出力処理部101に対して出力する。また、入出力処理部102は、RAID部30に対して、リードコマンドデータ(R)を出力し、これに応じて、RAID部30は、HDD381,382,383,384,385からデータを読み出し再生する。
【0103】
同様にして、次のX+2番目のタイムスロット期間では、RAID部30は、入出力処理部102から出力されたリードコマンドデータに応じて読み出したデータとステータスデータ(S)を、入出力処理部102に対して出力する。また、入出力処理部103は、RAID部30に対して、リードコマンドデータ(R)を出力し、これに応じて、RAID部30は、HDD381,382,383,384,385からデータを読み出し再生する。
【0104】
さらに同様にして、次のX+3番目のタイムスロット期間では、RAID部30は、入出力処理部103から出力されたリードコマンドデータに応じて読み出したデータとステータスデータ(S)を、入出力処理部103に対して出力する。また、入出力処理部104は、RAID部30に対して、リードコマンドデータ(R)を出力し、これに応じて、RAID部30は、HDD381,382,383,384,385からデータを読み出し再生する。
【0105】
このように、A/Vサーバ1においては、2タイムスロット期間で任意の入出力処理部10とRAID部30との処理が完結し、入出力処理部101乃至入出力処理部104が、順次、RAID部30からデータを再生する。
【0106】
A/Vサーバ1においては、RAID部30のCPU39は、1タイムスロット期間に、図9に示すような動作を行う。
【0107】
CPU39は、同図に示すように、まず期間T1において、コマンドの解釈を行う。
【0108】
次に、CPU39は、期間T2において、HDD381,382,383,384,385に対してコマンドを発行する。HDD381,382,383,384,385は、これに応じて図示しないヘッドを駆動させシーク動作を開始する。
【0109】
次に、CPU39は、期間T3において、待機状態とされる。このとき、HDD381,382,383,384,385は、シーク動作を行い、データの書き込み又は読み出しを行う。
【0110】
次に、CPU39は、期間T4において、HDD381,382,383,384,385による処理結果を受け取る。
【0111】
そして、CPU39は、期間T5における空き時間中のうち、例えば1タイムスロット期間が終了する10ミリ秒前からの期間T6において、ステータスデータを設定・発行する。
【0112】
A/Vサーバ1においてHDD381,382,383,384,385は、データの書き込み又は読み出しのためにシーク動作を行うことでビジー状態となる期間T2乃至期間T4以外の期間である期間T1,T5,T6からなる期間T7において、後述するアフタートリートメントシーク(After Treatment Seek)動作を行う。
【0113】
このアフタートリートメントシーク動作を説明するために、図10乃至図12を参照して説明する。
【0114】
A/Vサーバ1において映像・音声データは、例えば図10に示すように、RAID部30のHDD381に対して、映像・音声ファイルFL1,FL2,FL3,FL4,・・・,FLnとしてマッピングされている。なお、A/Vサーバ1において入出力処理部101,102,103,104は、それぞれ、上述したように、全てのRAID部30のHDD381,382,383,384,385の同じLBAに対して同時にアクセスする。そのため、映像・音声データは、HDD382,383,384,385に対しても、HDD381と同様に、映像・音声ファイルFL1,FL2,FL3,FL4,・・・,FLnとしてマッピングされている。このことから以下では、HDD381,382,383,384,385のうち任意のHDDについて説明する。
【0115】
ここで、例えば図11に示すように、任意のHDDに対して、3つの映像・音声ファイルFLA,FLB,FLCが連続して記録されているとともに、これらの映像・音声ファイルFLA,FLB,FLCとは離隔されて1つの映像・音声ファイルFLDが記録されており、入出力処理部101が映像・音声ファイルFLAを処理対象とし、入出力処理部102が映像・音声ファイルFLBを処理対象とし、入出力処理部103が映像・音声ファイルFLCを処理対象とし、入出力処理部104が映像・音声ファイルFLDを処理対象としている場合を考える。
【0116】
このような場合、A/Vサーバ1においては、RAID部30は、任意のタイムスロット期間に、入出力処理部103が映像・音声ファイルFLCの処理対象領域FLC1にアクセスするためのコマンドデータを受け取ると、このコマンドデータに含まれる情報であるLBAに基づいて、HDDの図示しないヘッドをシークさせ、映像・音声ファイルFLCの処理対象領域FLC1にアクセスする。
【0117】
RAID部30は、コマンドデータに応じた処理を実行した後、CPU39により上述した期間T7が所定の時間以上であると判別した場合には、アフタートリートメントシーク動作を実行し、HDDのヘッドを目標位置であるホームポジションZにシークさせる。
【0118】
そして、RAID部30は、次のタイムスロット期間に、入出力処理部104が映像・音声ファイルFLDの処理対象領域FLD1にアクセスするためのコマンドデータを受け取ると、このコマンドデータに含まれる情報であるLBAに基づいて、ホームポジションZの位置からHDDのヘッドをシークさせ、映像・音声ファイルFLDの処理対象領域FLD1にアクセスする。
【0119】
RAID部30は、コマンドデータに応じた処理を実行した後、CPU39により上述した期間T7が所定の時間以上であると判別した場合には、再びアフタートリートメントシーク動作を実行し、HDDのヘッドをホームポジションZにシークさせる。
【0120】
そして、RAID部30は、次のタイムスロット期間に、入出力処理部101が映像・音声ファイルFLAの処理対象領域FLA2にアクセスするためのコマンドデータを受け取ると、このコマンドデータに含まれる情報であるLBAに基づいて、ホームポジションZの位置からHDDのヘッドをシークさせ、映像・音声ファイルFLAの処理対象領域FLA2にアクセスする。
【0121】
このように、A/Vサーバ1は、RAID部30における次の処理に対する予備動作としてのアフタートリートメントシーク動作を行うことによって、任意の映像・音声ファイルからHDD上でのLBAが互いに大きく離隔している映像・音声ファイルへアクセスする際にも、ヘッドの移動距離を小さくすることができる。
【0122】
A/Vサーバ1においては、ホームポジションZとして、例えば予め設定したHDD上の任意のLBAである固定ポイントを設定する。また、A/Vサーバ1においては、HDDのヘッドを同一位置に頻繁にシークさせることによる電気的な負荷やHDDの物理的な損傷を防止するために、例えば設定した固定ポイントを中心として±3%程度の領域といった固定ポイントの近傍の領域をホームポジションZとしてもよい。A/Vサーバ1においては、例えばHDDの全領域に対する中央付近に固定ポイントを設定することによって、ヘッドの移動距離を平均的なシーク距離に近づけることもできる。さらに、A/Vサーバ1においては、RAID部30のCPU39により1タイムスロット又は数タイムスロット毎に例えば乱数を発生し、この乱数により求まるLBAをホームポジションZとするようにしてもよい。
【0123】
ところが、A/Vサーバ1においては、ホームポジションZとして、固定ポイントを用いることにより以下のような問題を起こす場合がある。
【0124】
例えば図12に示すように、任意のHDDに対して、4つの映像・音声ファイルFLE,FLF,FLG,FLHが連続して記録されており、入出力処理部101が映像・音声ファイルFLEを処理対象とし、入出力処理部102が映像・音声ファイルFLFを処理対象とし、入出力処理部103が映像・音声ファイルFLGを処理対象とし、入出力処理部104が映像・音声ファイルFLHを処理対象としている場合を考える。
【0125】
このような場合、A/Vサーバ1においては、RAID部30は、任意のタイムスロット期間に、入出力処理部101が映像・音声ファイルFLEの処理対象領域FLE1にアクセスするためのコマンドデータを受け取ると、このコマンドデータに含まれる情報であるLBAに基づいて、HDDのヘッドをシークさせ、映像・音声ファイルFLEの処理対象領域FLE1にアクセスする。
【0126】
RAID部30は、コマンドデータに応じた処理を実行した後、CPU39により上述した期間T7が所定の時間以上であると判別した場合には、アフタートリートメントシーク動作を実行し、HDDのヘッドをホームポジションZにシークさせる。
【0127】
そして、RAID部30は、次のタイムスロット期間に、入出力処理部102が映像・音声ファイルFLFの処理対象領域FLF1にアクセスするためのコマンドデータを受け取ると、このコマンドデータに含まれる情報であるLBAに基づいて、ホームポジションZの位置からHDDのヘッドをシークさせ、映像・音声ファイルFLFの処理対象領域FLF1にアクセスする。
【0128】
RAID部30は、コマンドデータに応じた処理を実行した後、CPU39により上述した期間T7が所定の時間以上であると判別した場合には、再びアフタートリートメントシーク動作を実行し、HDDのヘッドをホームポジションZにシークさせる。
【0129】
このように、A/Vサーバ1においては、ホームポジションZとして固定ポイントを用いたアフタートリートメントシーク動作を行うことによって、例えば連続した映像・音声ファイルの処理対象領域間といったように、HDDのヘッドを小規模範囲で移動させればよい場合にも、HDDのヘッドを一度ホームポジションZまで移動させる必要がある。そのため、A/Vサーバ1においては、アフタートリートメントシーク動作を行うことによって、任意の映像・音声ファイルから大きく離隔された映像・音声ファイルへのHDDのヘッドの直接の移動は防止されるが、HDDのヘッドの中規模範囲での移動が頻繁に行われることになる。
【0130】
そこで、A/Vサーバ1においては、ホームポジションZとして、以下に示すようなホットポイントという概念を用い、アフタートリートメントシーク動作を行う。
【0131】
ホットポイントとは、換言すると、最近の所定期間の中で、HDDのヘッドが頻繁にアクセスしている位置を示すものである。A/Vサーバ1においては、このホットポイントを、次式(1)に示す平均値の算出式又は次式(2)に示す荷重平均値の算出式を用いて算出する。
【0132】
【数1】
【0133】
【数2】
【0134】
上式(1)において、“n”は、最近の所定期間にHDDのヘッドがアクセスした位置をサンプルしたサンプル数である。A/Vサーバ1においては、ホットポイントを算出するために、例えばn=40サンプルを用いる。また、“Pk”は、HDDのヘッドがnサンプルのうちk番目にアクセスした位置をLBAで表したものである。さらに、“Z”は、HDDのLBAで表されるホットポイントである。
【0135】
一方、上式(2)において、“n”、“Pk”及び“Z”は、それぞれ、上式(1)と同様である。また、“ak”は、HDDのヘッドがアクセスした位置に対して重み付けするための係数であり、“Pk”に対する重み係数である。A/Vサーバ1においては、ホットポイントを算出するために、この“ak”の値として、例えばHDDのヘッドが現時点に近い時点にてアクセスした位置、すなわち、時間的に新しくアクセスした位置ほど大きい値を用いる。なお、A/Vサーバ1においては、この“ak”は、必ずしも用いる必要はない。さらに、“A”は、ホットポイントを算出するために“Pk”に対して“ak”を積算して重み付けを行った場合における“n”に対する係数である。
【0136】
このように、A/Vサーバ1は、最近の所定期間内にHDDのヘッドが過去にアクセスした位置の平均値や荷重平均値のように、HDDのヘッドが過去にアクセスした位置に基づいて、ホットポイントを算出して決定する。
【0137】
ホームポジションZとしてホットポイントがとり得る具体例を図13乃至図15に示す。
【0138】
例えば図13に示すように、任意のHDDに対して、4つの映像・音声ファイルFLI,FLJ,FLK,FLLが連続して記録されており、入出力処理部101が映像・音声ファイルFLIを処理対象とし、入出力処理部102が映像・音声ファイルFLJを処理対象とし、入出力処理部103が映像・音声ファイルFLKを処理対象とし、入出力処理部104が映像・音声ファイルFLLを処理対象としている場合を考え、4つの映像・音声ファイルFLI,FLJ,FLK,FLL内の処理対象領域がほぼ等しい回数でアクセスされたものとする。
【0139】
このような場合、ホームポジションZは、同図に示すように、映像・音声ファイルFLJと映像・音声ファイルFLKとの境界近傍のLBAに位置される。
【0140】
また、例えば図14に示すように、任意のHDDに対して、4つの映像・音声ファイルFLM,FLN,FLO,FLPが連続して記録されており、入出力処理部101が映像・音声ファイルFLMを処理対象とし、入出力処理部102が映像・音声ファイルFLNを処理対象とし、入出力処理部103が映像・音声ファイルFLOを処理対象とし、入出力処理部104が映像・音声ファイルFLPを処理対象としている場合を考え、4つの映像・音声ファイルFLM,FLN,FLO,FLP内の処理対象領域がほぼ等しい回数でアクセスされた場合にも、図13に示した場合と同様に、ホームポジションZは、映像・音声ファイルFLNと映像・音声ファイルFLOとの境界近傍のLBAに位置される。
【0141】
さらに、例えば図15に示すように、任意のHDDに対して、3つの映像・音声ファイルFLQ,FLR,FLSが連続して記録されているとともに、これらの映像・音声ファイルFLQ,FLR,FLSとは離隔されて1つの映像・音声ファイルFLTが記録されており、入出力処理部101が映像・音声ファイルFLQを処理対象とし、入出力処理部102が映像・音声ファイルFLRを処理対象とし、入出力処理部103が映像・音声ファイルFLSを処理対象とし、入出力処理部104が映像・音声ファイルFLTを処理対象としている場合を考え、4つの映像・音声ファイルFLQ,FLR,FLS,FLT内の処理対象領域がほぼ等しい回数でアクセスされたものとすると、ホームポジションZは、映像・音声ファイルFLQと映像・音声ファイルFLTとの間の領域の約25%程度のLBAに位置される。
【0142】
ただし、ホットポイントを上式(2)により算出する場合には、ホームポジションZの位置は、“ak”の値に応じて、若干変化することはいうまでもない。
【0143】
このようなホットポイントをホームポジションZとするアフタートリートメントシーク動作を実行するA/Vサーバ1においてRAID部30は、1タイムスロット期間に、図16に示すような一連の工程を行う。
【0144】
RAID部30は、同図に示すように、ステップS1において、タイムスロット発生回路20から割り当てられたタイムスロットTSLによりバス50,60の使用権を得た任意の入出力処理部10から供給されたコマンドデータを受け取り、そのタイムスロット期間の先頭においてCPU39にコマンドデータを供給する。
【0145】
次に、RAID部30は、ステップS2において、CPU39によりコマンドの解釈を行い、コマンドデータに含まれる情報であるHDDのLBAに基づいて、HDD381,382,383,384,385のシーク動作を開始させる。
【0146】
次に、RAID部30は、ステップS3において、コマンドを実行し、所定の処理を行う。この処理は、先に図9に示した期間T3に相当するものであるが、RAID部30のCPU39は、待機状態とされるこの期間T3において、ホットポイントを上式(1)又は上式(2)により算出する。
【0147】
次に、RAID部30は、ステップS4において、上述した期間T7として、HDD381,382,383,384,385のヘッドをホームポジションZまで移動するのに要する空き時間があるか否かをCPU39により判別する。
【0148】
ここで、期間T7として、HDD381,382,383,384,385のヘッドを算出したホットポイントであるホームポジションZまで移動するのに要する十分な時間がないと判別された場合には、RAID部30は、1タイムスロット期間の処理を終了する。
【0149】
一方、期間T7として、HDD381,382,383,384,385のヘッドをホームポジションZまで移動するのに要する十分な時間があると判別された場合には、RAID部30は、ステップS5において、CPU39がHDD381,382,383,384,385を制御してアフタートリートメントシーク動作を実行し、1タイムスロット期間の処理を終了する。
【0150】
A/Vサーバ1は、このような一連の処理を経ることによって、1タイムスロット期間における処理を終了する。
【0151】
このように、A/Vサーバ1は、アフタートリートメントシーク動作を行うことによって、任意の映像・音声ファイルからHDD上でのLBAが互いに離隔している映像・音声ファイルへアクセスする際にも、ヘッドの移動距離を小さくすることができる。特に、A/Vサーバ1は、ホームポジションZをホットポイントとすることによって、ヘッドの移動距離を小規模なもののみとすることができる。したがって、A/Vサーバ1は、ヘッドを大きく駆動する必要がなく、シーク時間を短縮することができ、RAID部30における全ての処理を1タイムスロット期間内で完結させることができる。また、A/Vサーバ1は、アフタートリートメントシーク動作を行うことによって、ヘッドを大きく駆動することに起因するシーク外れを引き起こす確率を低くすることができる。さらに、A/Vサーバ1は、アフタートリートメントシーク動作を行うことによって、ヘッドを大きく駆動する必要がないことから、シーク処理のための時間を十分にとることができ、リトライ回数を増やすことができる。そのため、A/Vサーバ1は、シークエラーを少なくすることができる。
【0152】
さて、A/Vサーバ1は、HDD381,382,383,384,385のそれぞれが動作しない期間、電流が流れているヘッドが変更されないことに起因するヘッドの劣化やディスクの損傷、内部の温度変化といった環境の経時変化に伴うディスク形状の変化等に対応することができる。一般に、これらに対応する措置としては、以下に示すHDDの自動シーク動作がある。
【0153】
このHDDの自動シーク動作とは、あるコマンドを実行した後、例えば500ミリ秒の間、次のコマンドが入力されない場合、すなわち、例えば入出力処理部10からのコマンドデータやRAID部30は自発的に発行するコマンドデータといったHDDの動作の有無を問わない全てのコマンドが入力されない場合に、HDDが自動的にシーク動作を行うものである。このHDDの自動シーク動作は、例えば、電流が流れているヘッドを変更することによって、ヘッドの劣化を防止するために行われる。また、HDDの自動シーク動作は、例えば、ヘッドを異なるトラックに移動することによって、ヘッドとディスクとの間で局所的に発生する熱によるディスクの損傷を防止するためにも行われる。さらに、HDDの自動シーク動作は、例えば、ヘッドを異なるトラックに移動してサーボ情報を更新することによって、HDD内部の温度変化といった環境の経時変化に伴うディスク形状の変化に起因するシーク外れを防止するためにも行われる。
【0154】
ところが、A/Vサーバ1においては、このHDDの自動シーク動作が行われている最中に、RAID部30に対して入出力処理部10からコマンドデータが発行されると、HDD381,382,383,384,385がそれぞれ動作するまでに、通常よりも例えば最大30ミリ秒程度遅れる現象が生じる。
【0155】
そこで、A/Vサーバ1においては、HDD381,382,383,384,385のそれぞれが動作しない期間、以下に示すインテリジェント・パトロール・シーク(Intelligent Patrol Seek)動作処理を含むインテリジェント・パトロール処理と、状態通知コマンドであるテスト・ユニット・レディ(Test Unit Ready;以下、TURと略記する。)・コマンドデータを用いたバックアップ・TUR処理とによるバックアップ処理を行う。
【0156】
まず、インテリジェント・パトロール処理におけるインテリジェント・パトロール・シーク動作処理について説明する。
【0157】
A/Vサーバ1は、このインテリジェント・パトロール・シーク動作処理を実行することを許可するフラグが真であり且つ以下に示す条件のうちのいずれかを満たす場合、インテリジェント・パトロール・シーク動作処理を行う。
【0158】
第1の条件としては、RAID部30が、任意の入出力処理部10から供給された例えばリードコマンドデータ等のHDD381,382,383,384,385のヘッドの駆動を伴ってヘッドをアクセスさせるコマンドを実行した後、例えば15タイムスロット期間、同様にHDD381,382,383,384,385を動作させるコマンドが入出力処理部10から供給されない場合、すなわち、空きタイムスロットが例えば15タイムスロット期間継続した場合である。
【0159】
第2の条件としては、RAID部30が最初のインテリジェント・パトロール・シーク動作処理を実行した後、空きタイムスロットが400タイムスロット期間継続した場合である。
【0160】
A/Vサーバ1は、これらの2つの条件のうちのいずれかを満たす場合、以下のようにしてインテリジェント・パトロール・シーク動作処理を実行する。なお、以下では、インテリジェント・パトロール・シーク動作処理を実行することを許可するフラグが真であることを前提として説明する。
【0161】
まず、A/Vサーバ1は、空きタイムスロットが例えば15タイムスロット期間継続したことをRAID部30のCPU39が検知すると、このCPU39によって、HDD381,382,383,384,385のヘッドをシークさせるためのシークコマンドデータを2つ発行する。
【0162】
すなわち、A/Vサーバ1においては、RAID部30のCPU39によって、例えばHDD381,382,383,384,385のそれぞれの全領域を対象として乱数を発生して無作為にLBAを割り出し、第1の移動コマンドである1つ目のシークコマンドデータによって、そのLBAにヘッドをシークさせる。続いて、A/Vサーバ1においては、RAID部30のCPU39により上述したホットポイントを算出し、第2の移動コマンドである2つ目のシークコマンドデータによって、このホットポイント又はホットポイントの例えば±3%程度の近傍領域にヘッドをシークさせる。
【0163】
このように、A/Vサーバ1においては、1つ目のシークコマンドデータによって、HDD381,382,383,384,385のそれぞれのヘッドを大きく駆動させ、サーボ情報を更新し、2つ目のシークコマンドデータによって、上述したアフタートリートメントシーク動作と同様に、次の処理時にヘッドを不必要に大きく駆動させないようにホットポイント又はホットポイントの近傍領域にヘッドを移動させる。
【0164】
なお、A/Vサーバ1においては、インテリジェント・パトロール・シーク動作処理の際に用いるホットポイントは、RAID部30のCPU39により上式(1)又は上式(2)を用いて算出する。ただし、A/Vサーバ1においては、算出したホットポイントが、HDD381,382,383,384,385のそれぞれの全領域の0%乃至12.5%内のLBAとなった場合には、ホットポイントを12.5%の位置とする。また、A/Vサーバ1においては、算出したホットポイントが、HDD381,382,383,384,385のそれぞれの全領域の87.5%乃至100%内のLBAとなった場合には、ホットポイントを87.5%の位置とする。このようにすることによって、A/Vサーバ1においては、次の処理時にヘッドを不必要に大きく駆動させる確率をさらに低減することができる。また、上式(1)又は上式(2)におけるサンプル数“n”が0の場合には、A/Vサーバ1においては、ホットポイントを、HDD381,382,383,384,385のそれぞれの全領域の25%のLBAとする。
【0165】
A/Vサーバ1においては、HDD381,382,383,384,385のそれぞれが動作しない期間、このようなインテリジェント・パトロール・シーク動作処理を行うことによって、電流が流れているヘッドが変更されないことに起因するヘッドの劣化やディスクの損傷、内部の温度変化といった環境の経時変化に伴うディスク形状の変化等に対応することができる。
【0166】
また、A/Vサーバ1においては、インテリジェント・パトロール・シーク動作処理を行い、ヘッドをディスク上でシークさせることによって、ハードウェアのエラーやシーク外れといったHDD381,382,383,384,385のエラーを検出することができる。
【0167】
さらに、A/Vサーバ1においては、このようなインテリジェント・パトロール・シーク動作処理のように、RAID部30のCPU39によりシークコマンドデータのみを発行するのではなく、例えば2つの再生コマンドである2つのリードコマンドデータや2つの記録コマンドである2つのライトコマンドデータを発行するようにしてもよい。A/Vサーバ1においては、このようにインテリジェント・パトロール・シーク動作処理の際に他のコマンドデータをも用いたインテリジェント・パトロール処理を行うことによって、ヘッドをディスク上でシークさせることのみでは検出できないHDD381,382,383,384,385のエラーを検出することができる。
【0168】
つぎに、バックアップ・TUR処理について説明する。
【0169】
A/Vサーバ1においては、TUR・コマンドデータは、RAID部30の状態を入出力処理部10に通知するためのものである。A/Vサーバ1においては、RAID部30が使用可能な状態、すなわち、入出力処理部10から発行されたコマンドデータを実行することが可能な状態にある場合のみ、RAID部30は、入出力処理部10に対してステータスデータとして“GOOD”を返す。また、A/Vサーバ1においては、TUR・コマンドデータは、1タイムスロットで終了しないコマンドの処理が正常に実行されているかを検査するためにも用いられる。さらに、A/Vサーバ1においては、入出力処理部10がRAID部30に対して要求することがない場合に、そのときのタイムスロットでTUR・コマンドデータを発行することによって、RAID部30が空きタイムスロットであることを判断し、例えば再構築動作等の自動処理を行うこともできる。
【0170】
A/Vサーバ1においては、このようなTUR・コマンドデータを用い、以下に示すいずれかの場合、バックアップ・TUR処理を行う。
【0171】
第1の場合としては、バックアップ・TUR処理を実行することを許可するフラグの真偽に拘わらず、RAID部30が、任意の入出力処理部10から供給された例えばリードコマンドデータ等のHDD381,382,383,384,385を動作させるコマンドを実行した後、例えば12タイムスロット期間の空きタイムスロットにてバックアップ・TUR処理を実行する。
【0172】
第2の場合としては、バックアップ・TUR処理を実行することを許可するフラグが真である場合、RAID部30が、検知した全ての空きタイムスロットにおいてバックアップ・TUR処理を実行する。
【0173】
A/Vサーバ1は、これらの2つの場合のうちのいずれかにおいて、RAID部30のCPU39により運用可能である全てのHDDに対して、TUR・コマンドデータを1つ発行する。
【0174】
A/Vサーバ1においては、HDD381,382,383,384,385のそれぞれが動作しない期間、このようなバックアップ・TUR処理を行うことによって、上述したHDDの自動シーク動作を行わせないようにすることができる。
【0175】
A/Vサーバ1においては、このようなインテリジェント・パトロール処理と、バックアップ・TUR処理とによるバックアップ処理を図17に示す一連の工程にしたがって実行する。
【0176】
まず、A/Vサーバ1においては、同図に示すように、ステップS11において、RAID部30のCPU39により空きタイムスロットであるか否かを検知する。
【0177】
ここで、空きタイムスロットでない場合には、A/Vサーバ1は、バックアップ処理を行わず、入出力処理部10から供給されたコマンドデータに基づいて通常の処理を行う。
【0178】
一方、空きタイムスロットである場合には、A/Vサーバ1においては、ステップS12において、RAID部30のCPU39によりインテリジェント・パトロール処理を実行するための上述した2つの条件のうちのいずれかを満たしているか否かを判別する。
【0179】
ここで、条件を満たしていないと判別した場合には、A/Vサーバ1においては、ステップS13において、RAID部30のCPU39によりTUR・コマンドデータをHDD381,382,383,384,385に対して発行してバックアップ・TUR処理を実行し、バックアップ処理を終了する。
【0180】
一方、条件を満たしていると判別した場合には、A/Vサーバ1においては、ステップS14において、RAID部30のCPU39の制御のもとに、HDD381,382,383,384,385のヘッドを駆動してインテリジェント・パトロール処理を実行し、バックアップ処理を終了する。
【0181】
このような一連の処理を行うことによって、A/Vサーバ1においては、バックアップ処理を実行する。
【0182】
A/Vサーバ1においては、このようなインテリジェント・パトロール処理と、バックアップ・TUR処理とによるバックアップ処理を行うことによって、HDD381,382,383,384,385のそれぞれが動作しない期間、電流が流れているヘッドが変更されないことに起因するヘッドの劣化やディスクの損傷、内部の温度変化といった環境の経時変化に伴うディスク形状の変化等に対応することができる。
【0183】
また、A/Vサーバ1においては、インテリジェント・パトロール処理と、バックアップ・TUR処理とによるバックアップ処理が実行されるタイミングと、コマンドデータが入出力処理部10からRAID部30に対して供給されるタイミングとが重複することから、例えば上述したHDDの自動シーク動作を実行している最中に、入出力処理部10からRAID部30に対してコマンドデータが発行されることがなく、入出力処理部10からRAID部30に対して供給されるコマンドデータの実行処理時間が予想以上に長くなることを防止することができる。
【0184】
さらに、A/Vサーバ1においては、例えばHDDの自動シーク動作を実行した場合には、HDDのヘッドの位置を把握することは困難であるが、インテリジェント・パトロール処理を行うことによって、HDDのヘッドをホットポイントに移動させることができ、次の処理を効率的に行うことができる。
【0185】
さらにまた、A/Vサーバ1においては、インテリジェント・パトロール処理を行うことによって、HDD381,382,383,384,385のエラーを検出することができ、例えば、CPU39が、HDD381,382,383,384,385のそれぞれにおけるエラーの発生頻度や発生確率等に応じて、選択的にHDDを使用停止にするといったように、エラーに対応した適切な処理を行うことができる。
【0186】
なお、本発明は、上述した実施の形態に限定されるものではなく、例えば、A/Vサーバでなくてもよく、RAID部30のように、HDDを有して制御するディスク制御装置を備える機器であれば適用することができる。
【0187】
また、本発明においては、バックアップ処理として、インテリジェント・パトロール処理と、バックアップ・TUR処理とを行うものとして説明したが、上述したHDDの自動シーク動作を行わないようにすることが可能であるHDDを用いる場合には、バックアップ処理として、インテリジェント・パトロール処理のみを行うようにすればよい。
【0188】
さらに、本発明においては、A/Vサーバ1が4つの入出力処理部101,102,103,104と5つのRAID部301,302,303,304,305とを備えるものとして説明したが、入出力処理部及びRAID部は、いくつであってもよい。この場合、本発明は、RAID部の数に応じて、入出力処理部が有するメモリ、バス出力処理回路、バス入力処理回路、入出力処理部とRAID部とを結ぶバスの構成を変更すればよい。
【0189】
さらにまた、本発明は、RAID部30が5つのHDD381,382,383,384,385を有するものとして説明したが、HDDの数はこれに限定されるものではなく、HDDの数に応じて、メモリコントローラやSCSIプロトコルコントローラの数を変更すればよい。
【0190】
また、本発明は、記録媒体としてHDDを用いるものとして説明したが、例えば光ディスクや光磁気ディスクといったシーク動作を要する記録媒体であっても適用することもできる。
【0191】
このように、本発明は、その趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【0192】
【発明の効果】
以上詳細に説明したように、本発明にかかる記録媒体制御装置は、ノンリニアアクセスが可能な記録媒体に対するデータの書き込み及び/又は読み出しを行うデータ書き込み及び/又は読み出し手段と、記録媒体の全領域を対象とした無作為位置に、データ書き込み及び/又は読み出し手段を制御して移動させるための第1の移動コマンドと、データ書き込み及び/又は読み出し手段が記録媒体に対して過去にアクセスした位置に基づいて決定される目標位置又はこの目標位置の近傍位置に、データ書き込み及び/又は読み出し手段を制御して移動させるための第2の移動コマンドとを発行する制御手段とを備える。
【0193】
したがって、本発明にかかる記録媒体制御装置は、データ書き込み及び/又は読み出し手段を、発行した第1の移動コマンドにより記録媒体の全領域を対象とした無作為位置に移動させた後、発行した第2の移動コマンドにより記録媒体に対して過去にアクセスした位置に基づいて決定される目標位置又はその近傍位置に移動させることによって、次の処理の実行を妨げることなく、負荷を除去するとともに記録媒体の状態変化にも対応した動作を行うことができ、高い信頼性を確保することができる。
【0194】
また、本発明にかかる記録媒体制御方法は、ノンリニアアクセスが可能な記録媒体に対するデータの書き込み及び/又は読み出しを制御する記録媒体制御方法であって、記録媒体に対するデータの書き込み及び/又は読み出しを行うデータ書き込み及び/又は読み出し手段を記録媒体の全領域を対象とした無作為位置に制御して移動させるための第1の移動コマンドと、データ書き込み及び/又は読み出し手段が記録媒体に対して過去にアクセスした位置に基づいて決定される目標位置又はこの目標位置の近傍位置にデータ書き込み及び/又は読み出し手段を制御して移動させるための第2の移動コマンドとを発行する。
【0195】
したがって、本発明にかかる記録媒体制御方法は、記録媒体に対するデータの書き込み及び/又は読み出しを行うデータ書き込み及び/又は読み出し手段を、発行した第1の移動コマンドにより記録媒体の全領域を対象とした無作為位置に移動させた後、発行した第2の移動コマンドにより記録媒体に対して過去にアクセスした位置に基づいて決定される目標位置又はその近傍位置に移動させることによって、次の処理の実行を妨げることなく、負荷を除去するとともに記録媒体の状態変化にも対応した動作を行うことが可能となり、高い信頼性を確保することができる。
【0196】
さらに、本発明にかかる記録媒体制御装置は、ノンリニアアクセスが可能な記録媒体に対するデータの書き込み及び/又は読み出しを行うデータ書き込み及び/又は読み出し手段と、状態を外部に通知するための状態通知コマンドを発行するとともに、データ書き込み及び/又は読み出し手段の動作を伴う記録媒体に対するアクセスがなされない期間が所定期間継続したことを検知した場合に、記録媒体の全領域を対象とした無作為位置に、データ書き込み及び/又は読み出し手段を制御して移動させるための第1の移動コマンドと、データ書き込み及び/又は読み出し手段が記録媒体に対して過去にアクセスした位置に基づいて決定される目標位置又はこの目標位置の近傍位置に、データ書き込み及び/又は読み出し手段を制御して移動させるための第2の移動コマンドとを発行する制御手段とを備える。
【0197】
したがって、本発明にかかる記録媒体制御装置は、発行した状態通知コマンドにより状態を外部に通知するとともに、データ書き込み及び/又は読み出し手段の動作を伴う記録媒体に対するアクセスがなされない期間が所定期間継続したことを検知した場合に、データ書き込み及び/又は読み出し手段を、発行した第1の移動コマンドにより記録媒体の全領域を対象とした無作為位置に移動させた後、発行した第2の移動コマンドにより記録媒体に対して過去にアクセスした位置に基づいて決定される目標位置又はその近傍位置に移動させることによって、次の処理の実行を妨げることなく、負荷を除去するとともに記録媒体の状態変化にも対応して動作することができ、高い信頼性を確保することができる。
【0198】
さらにまた、本発明にかかる記録媒体制御方法は、ノンリニアアクセスが可能な記録媒体に対するデータの書き込み及び/又は読み出しを制御する記録媒体制御方法であって、状態を外部に通知するための状態通知コマンドを発行するとともに、記録媒体に対するデータの書き込み及び/又は読み出しを行うデータ書き込み及び/又は読み出し手段の動作を伴う記録媒体に対するアクセスがなされない期間が所定期間継続したことを検知した場合に、記録媒体の全領域を対象とした無作為位置に、データ書き込み及び/又は読み出し手段を制御して移動させるための第1の移動コマンドと、データ書き込み及び/又は読み出し手段が記録媒体に対して過去にアクセスした位置に基づいて決定される目標位置又はこの目標位置の近傍位置に、データ書き込み及び/又は読み出し手段を制御して移動させるための第2の移動コマンドとを発行する。
【0199】
したがって、本発明にかかる記録媒体制御方法は、発行した状態通知コマンドにより状態を外部に通知するとともに、データ書き込み及び/又は読み出し手段の動作を伴う記録媒体に対するアクセスがなされない期間が所定期間継続したことを検知した場合に、データ書き込み及び/又は読み出し手段を、発行した第1の移動コマンドにより記録媒体の全領域を対象とした無作為位置に移動させた後、発行した第2の移動コマンドにより記録媒体に対して過去にアクセスした位置に基づいて決定される目標位置又はその近傍位置に移動させることによって、次の処理の実行を妨げることなく、負荷を除去するとともに記録媒体の状態変化にも対応して動作することが可能となり、高い信頼性を確保することが可能となる。
【図面の簡単な説明】
【図1】本発明の実施の形態として示すA/Vサーバの構成を説明するブロック図である。
【図2】同A/Vサーバが備える入出力処理部の内部構成を説明するブロック図である。
【図3】同A/Vサーバが備えるRAID部の内部構成を説明するブロック図である。
【図4】同入出力処理部が同RAID部にアクセスする様子を説明する図である。
【図5】同A/Vサーバにおける動作内容を説明する図であって、3タイムスロットシーケンスでデータの記録を行う際の処理を説明する図である。
【図6】同A/Vサーバにおける動作内容を説明する図であって、3タイムスロットシーケンスでデータの再生を行う際の処理を説明する図である。
【図7】同A/Vサーバにおける動作内容を説明する図であって、2タイムスロットシーケンスでデータの記録を行う際の処理を説明する図である。
【図8】同A/Vサーバにおける動作内容を説明する図であって、2タイムスロットシーケンスでデータの再生を行う際の処理を説明する図である。
【図9】同RAID部が有するCPUが1タイムスロット期間に行う動作を説明する図である。
【図10】同RAID部が有する任意のHDDへの映像・音声ファイルのマッピングの一例を説明する図である。
【図11】同HDDへのアクセスの一例を説明する図であって、固定ポイントをホームポジションとした場合の同HDDへのアクセスの一例を説明する図である。
【図12】同HDDへのアクセスの一例を説明する図であって、固定ポイントをホームポジションとした場合の問題点を説明する図である。
【図13】同HDDへのアクセスの一例を説明する図であって、ホットポイントをホームポジションとした場合の同HDDへのアクセスの一例を説明する図である。
【図14】同HDDへのアクセスの他の一例を説明する図であって、ホットポイントをホームポジションとした場合の同HDDへのアクセスの他の一例を説明する図である。
【図15】同HDDへのアクセスのさらに他の一例を説明する図であって、ホットポイントをホームポジションとした場合の同HDDへのアクセスのさらに他の一例を説明する図である。
【図16】同RAID部が1タイムスロット期間に行う一連の処理を説明するフローチャートである。
【図17】同A/Vサーバがバックアップ処理を実行する際の一連の処理を説明するフローチャートである。
【図18】同RAID部が1タイムスロット期間に行う一連の処理を説明するフローチャートである。
【図19】同RAID部が有するCPUが1タイムスロット期間に行う動作を説明する図である。
【図20】同RAID部が有する任意のHDDへのアクセスの一例を説明する図である。
【符号の説明】
1 A/Vサーバ、 101,102,103,104 記録ポート、 20 タイムスロット発生回路、 301,302,303,304,305 RAID部、361,362,363,364,365 メモリコントローラ、 381,382,383,384,385 HDD、 39 CPU
Claims (8)
- ノンリニアアクセスが可能な記録媒体に対するデータの書き込み及び/又は読み出しを行うデータ書き込み及び/又は読み出し手段と、
上記データ書き込み及び/又は読み出し手段の動作を伴う上記記録媒体に対するアクセスがなされない期間が所定期間継続したことを検知した場合に、上記記録媒体の全領域を対象とした無作為位置に、上記データ書き込み及び/又は読み出し手段を制御して移動させるための第1の移動コマンドと、上記データ書き込み及び/又は読み出し手段が上記記録媒体に対して過去の一定期間のうち、現時点に近い時点にアクセスした位置ほど重み付けを大きくして得られる荷重平均値を算出し、該算出した荷重平均値に基づいて決定される目標位置又はこの目標位置の近傍位置に、上記データ書き込み及び/又は読み出し手段を制御して移動させるための第2の移動コマンドとを発行する第1の処理と、入出力処理部から発行されたコマンドが実行可能な状態である場合に、該コマンドが実行可能な状態であることを上記入出力処理部に通知するための状態通知コマンドを発行し、該状態通知コマンドを上記入出力処理部に通知する第2の処理とを実行する制御手段と
を備え、
上記第1の移動コマンド及び上記第2の移動コマンドは、それぞれ、上記データ書き込み及び/又は読み出し手段を上記記録媒体に対してシークさせるための第1のシークコマンド及び第2のシークコマンドであり、
上記制御手段は、上記データ書き込み及び/又は読み出し手段の動作を伴う上記記録媒体に対するアクセスがなされない期間が上記所定期間継続したことを検知した場合には、上記第1のシークコマンド及び上記第2のシークコマンドを発行し、
上記データ書き込み及び/又は読み出し手段の動作を伴う上記記録媒体に対するアクセスがなされない期間が上記所定期間継続していないことを検知した場合には、上記状態通知コマンドを発行して上記入出力処理部に通知する記録媒体制御装置。 - 上記制御手段は、上記第1の移動コマンド及び上記第2の移動コマンドとして、さらに上記データ書き込み及び/又は読み出し手段を移動させて上記記録媒体に記録されているデータを再生させるための第1の再生コマンド及び第2の再生コマンドを発行する請求項1記載の記録媒体制御装置。
- 上記制御手段は、上記第1の移動コマンド及び上記第2の移動コマンドとして、さらに上記データ書き込み及び/又は読み出し手段を移動させて上記記録媒体に対してデータを記録させるための第1の記録コマンド及び第2の記録コマンドを発行する請求項1記載の記録媒体制御装置。
- 上記制御手段は、乱数値を発生し、上記乱数値を上記無作為位置とする請求項1記載の記録媒体制御装置。
- ノンリニアアクセスが可能な記録媒体に対するデータの書き込み及び/又は読み出しを制御する記録媒体制御方法であって、
制御手段により、記録媒体に対するデータの書き込み及び/又は読み出しを行うデータ書き込み及び/又は読み出し手段の動作を伴う上記記録媒体に対するアクセスがなされない期間が所定期間継続したことを検知した場合に、上記記録媒体の全領域を対象とした無作為位置に、上記データ書き込み及び/又は読み出し手段を制御して移動させるための第1の移動コマンドと、上記データ書き込み及び/又は読み出し手段が上記記録媒体に対して過去の一定期間のうち、現時点に近い時点にアクセスした位置ほど重み付けを大きくして得られる荷重平均値を算出し、該算出した荷重平均値に基づいて決定される目標位置又はこの目標位置の近傍位置に、上記データ書き込み及び/又は読み出し手段を制御して移動させるための第2の移動コマンドとを発行する第1の処理と、入出力処理部から発行されたコマンドが実行可能な状態である場合に、該コマンドが実行可能な状態であることを上記入出力処理部に通知するための状態通知コマンドを発行し、該状態通知コマンドを上記入出力処理部に通知する第2の処理とを実行し、
上記第1の移動コマンド及び上記第2の移動コマンドは、それぞれ、上記データ書き込み及び/又は読み出し手段を上記記録媒体に対してシークさせるための第1のシークコマンド及び第2のシークコマンドであり、
上記制御手段は、上記記録媒体に対するアクセスがなされない期間が上記所定期間継続したことを検知した場合には、上記第1のシークコマンド及び上記第2のシークコマンドを発行し、
上記データ書き込み及び/又は読み出し手段の動作を伴う上記記録媒体に対するアクセスがなされない期間が上記所定期間継続していないことを検知した場合には、上記状態通知コマンドを発行して上記入出力処理部に通知する記録媒体制御方法。 - 上記第1の移動コマンド及び上記第2の移動コマンドとして、さらに上記データ書き込み及び/又は読み出し手段を移動させて上記記録媒体に記録されているデータを再生させるための第1の再生コマンド及び第2の再生コマンドを発行する請求項5記載の記録媒体制御方法。
- 上記第1の移動コマンド及び上記第2の移動コマンドとして、さらに上記データ書き込み及び/又は読み出し手段を移動させて上記記録媒体に対してデータを記録させるための第1の記録コマンド及び第2の記録コマンドを発行する請求項5記載の記録媒体制御方法。
- 発生した乱数値を上記無作為位置とする請求項5記載の記録媒体制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15702699A JP4419211B2 (ja) | 1999-06-03 | 1999-06-03 | 記録媒体制御装置及び記録媒体制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15702699A JP4419211B2 (ja) | 1999-06-03 | 1999-06-03 | 記録媒体制御装置及び記録媒体制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000347814A JP2000347814A (ja) | 2000-12-15 |
JP4419211B2 true JP4419211B2 (ja) | 2010-02-24 |
Family
ID=15640571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP15702699A Expired - Fee Related JP4419211B2 (ja) | 1999-06-03 | 1999-06-03 | 記録媒体制御装置及び記録媒体制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4419211B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7137038B2 (en) * | 2003-07-29 | 2006-11-14 | Hitachi Global Storage Technologies Netherlands, B.V. | System and method for autonomous data scrubbing in a hard disk drive |
JP4476021B2 (ja) * | 2004-05-24 | 2010-06-09 | 株式会社日立製作所 | ディスクアレイシステム |
-
1999
- 1999-06-03 JP JP15702699A patent/JP4419211B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000347814A (ja) | 2000-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0727750B1 (en) | Continuous data server apparatus and data transfer scheme enabling multiple simultaneous data accesses | |
US20020138694A1 (en) | Magnetic disc drive, method for recording data, and method for reproducing data | |
US7016601B1 (en) | Method and apparatus for storing different types of data on the same storing medium | |
US20030115409A1 (en) | Recording and playback apparatus and recording and playback method | |
US6308007B1 (en) | Recording and reproducing device | |
US6223249B1 (en) | Apparatus and method for controlling access to one or more disc storage devices | |
US6185368B1 (en) | Redundant disk array with real-time lost data reconstruction | |
JP4419211B2 (ja) | 記録媒体制御装置及び記録媒体制御方法 | |
JP3080584B2 (ja) | マルチメディア用記録システム | |
KR19990037505A (ko) | 데이터 저장 및 송신 장치 | |
JPH09330178A (ja) | データ記録再生装置 | |
JP2001291374A (ja) | データ記録再生装置及び方法 | |
US20100241802A1 (en) | Storage unit, data write method and data write program | |
JP2000348468A (ja) | データ記録再生装置及びデータ記録再生方法 | |
JP3586892B2 (ja) | 多チャンネル映像再生装置およびその制御方法 | |
JP4269403B2 (ja) | データ記録再生装置及びタイムスロットの使用方法 | |
JP2000347813A (ja) | データ記録再生装置及びデータ記録再生方法 | |
JP3552471B2 (ja) | データ記録再生装置および方法 | |
JP2001167527A (ja) | 情報記録再生装置 | |
JPH11232048A (ja) | データ処理装置およびデータ処理方法 | |
JP4325073B2 (ja) | データ記録再生装置及び方法 | |
JP4174906B2 (ja) | 記録再生装置及び信号入力方法 | |
JP4320929B2 (ja) | データ記録再生装置及びデータ記録再生動作制御方法 | |
JP3455698B2 (ja) | ディスク装置、映像音声データ処理装置及び映像音声制御方法 | |
Tanabe et al. | High-speed optical library system using digital versatile disk random access memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060215 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081014 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081215 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090310 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090507 |
|
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: 20091110 |
|
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: 20091123 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121211 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121211 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |