JP4474742B2 - データ記録再生装置およびデータ再記録処理方法 - Google Patents
データ記録再生装置およびデータ再記録処理方法 Download PDFInfo
- Publication number
- JP4474742B2 JP4474742B2 JP2000197000A JP2000197000A JP4474742B2 JP 4474742 B2 JP4474742 B2 JP 4474742B2 JP 2000197000 A JP2000197000 A JP 2000197000A JP 2000197000 A JP2000197000 A JP 2000197000A JP 4474742 B2 JP4474742 B2 JP 4474742B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- command
- read
- processing
- storage area
- 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 - Lifetime
Links
Images
Landscapes
- Television Signal Processing For Recording (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
Description
【発明の属する技術分野】
この発明は、データ記録再生装置とデータ再記録処理方法に関する。詳しくは、ランダムアクセス可能な記録媒体に記録されているデータを複数の記憶領域の1つに読み出すコマンド、および1つの記憶領域に読み出されたデータを用いて記録媒体へのデータの書き込みを行うコマンドを、記憶領域毎に発行することで、ランダムアクセス可能な記録媒体に記録されているデータを用いた再記録処理を行い、コマンドの発行は、1つの記憶領域に対するコマンドの発行後から該コマンドの処理完了前に、異なる記憶領域に対するコマンドを発行することにより、再記録処理の効率良く行うものである。
【0002】
【従来の技術】
従来、ランダムアクセスが可能な記録媒体例えばハードディスクに動画等の素材データを記録し、この記録媒体に記録された素材データから所望の部分を選択して新たなデータファイルを作成するノンリニア編集等が行われている。このようなデータの編集やファイルの作成あるいは不要となったファイルやデータの消去が繰り返し行われると、記録媒体上の未記録領域の細分化が進む。また、未記録領域の細分化が進むと、新たに記録するデータは記録媒体上に分散して記録されることとなる。このため、細分化された未記録領域にデータを記録したり、分散して記録されたデータを読み出す場合、例えばハードディスクの所望の位置まで信号記録再生用ヘッドを移動させるためのシーク時間や、所望の位置までディスクが回転されるまでの回転待ち時間が発生して、所望のデータを効率よく読み出すことができなくなってしまう。
【0003】
このため、例えば図12に示すように、細分化されたデータを記録媒体からバッファメモリに読み出すと共に、この読み出したデータを連続した領域に再配置する処理、いわゆるデフラグ処理が行われている。このデフラグ処理では、図13に示すように、デフラグ処理の対象であるデータをハードディスク等からバッファメモリに読み出すための「READコマンド発行」、発行されたREADコマンドを処理することによりREADコマンドで示されたデータをバッファメモリに読み出す「READ処理」、バッファメモリに読み出されたデータを再度ハードディスクに記録するための「WRITEコマンド発行」、発行されたWRITEコマンドを実行して、バッファメモリのデータをハードディスクに記録する「WRITE処理」の順序に処理が行われる。なお、動画等の映像データあるいは音声データのようにリアルタイムな再生を目的としたファイルのデフラグ処理は、A/Vコンパイル処理とも呼ばれている。
【0004】
【発明が解決しようとする課題】
ところで、ハードディスクに記録されたファイルのデータ量は、バッファメモリのメモリ容量よりも大きい場合が多く、ファイルのデータをバッファメモリに読み出したのち記録し直す操作を1回行うだけでは、このデフラグ(A/Vコンパイル)処理を完了することはできない。このため、デフラグ処理ではデータの再記録処理が繰り返し行われる。
【0005】
ここで、例えば1つのバッファメモリを用いてデフラグ処理を行うと共に、繰り返し行われる再記録操作を効率よく行うものとするために、「READ処理」の完了を待たず「WRITEコマンド発行」を行うと、READコマンドで示されたデータがバッファメモリに用意されていないうちに、ハードディスクへのデータの書き込みが行われて、READコマンドで示されたデータを正しく記録できない場合が生じてしまう。また、「WRITE処理」の完了を待たず「READコマンド発行」を行うと、バッファメモリに読み出されているデータが次のREADコマンドで示されたデータに書き換えられてしまうおそれもある。
【0006】
このため、1回の再配置で用いるデータのデータ量をバッファメモリのメモリ容量と等しくあるいはメモリ容量よりも少なく設定して、図14に示すように「READコマンド発行」、「READ処理」、「WRITEコマンド発行」、「WRITE処理」の順序に処理を行って1回の再記録操作を完了させたのち、次の再記録操作が行われている。
【0007】
このように、コマンドの発行とコマンドに応じた操作を順番に繰り返し行うものとした場合には、データの読み出しや書き込みが行われているときに次の操作の準備が行われていないため、ハードディスクの利用効率が低下して、デフラグ処理に要する時間が長くなってしまう。
【0008】
また、デフラグ処理だけでなく、記録されているデータを別の位置にコピーする場合にも同様に、バッファメモリへのデータの読み出しやバッファメモリに読み出されているデータを別の領域に書き込む処理が行われることから、コピー処理の場合にも処理時間が長くなってしまう。
【0009】
そこで、この発明では、効率よくデータの再記録処理を行うことができるデータ記録再生装置およびデータ再記録処理方法を提供ものである。
【0010】
【課題を解決するための手段】
この発明に係るデータ記録再生装置は、データを記憶する記憶領域を複数有するデータ記憶手段と、ランダムアクセス可能な記録媒体にデータを書き込み、あるいは記録媒体に記録されているデータを読み出す記録媒体処理手段と、記録媒体に記録されているデータをデータ記憶手段の1つの記憶領域に読み出すコマンド、および1つの記憶領域に読み出されたデータを用いて記録媒体へのデータの書き込みを行うコマンドを、記憶領域毎に発行して、記録媒体処理手段とデータ記憶手段の動作を制御する動作制御手段とを有し、動作制御手段では、データ記憶手段の1つの記憶領域に対するコマンドの発行後から該コマンドの処理完了前に、異なる記憶領域に対するコマンドを発行するものである。また、データ記録再生装置では、割り当てられた処理期間で、ランダムアクセス可能な記録媒体にデータを書き込み、あるいは記録媒体に記録されているデータを読み出すものである。
【0011】
次に、データ再記録方法は、ランダムアクセス可能な記録媒体に記録されているデータを複数の記憶領域の1つに読み出すコマンド、および1つの記憶領域に読み出されたデータを用いて記録媒体へのデータの書き込みを行うコマンドを、記憶領域毎に発行することで、ランダムアクセス可能な記録媒体に記録されているデータを用いた再記録処理を行うものとし、コマンドの発行は、1つの記憶領域に対するコマンドの発行後から該コマンドの処理完了前に、異なる記憶領域に対するコマンドを発行するものである。また、データ再記録方法では、割り当てられた処理期間で、ランダムアクセス可能な記録媒体にデータを書き込み、あるいは記録媒体に記録されているデータを読み出すものである。
【0012】
この発明においては、ランダムアクセス可能な記録媒体に記録されているデータ、例えばハードディスクに記録されているデータをバッファメモリの1つのバンクに読み出すREADコマンド、および1つのバンクに読み出されたデータをハードディスクに書き込むWRITEコマンドを、バンク毎に発行することで、データのコピー処理やデフラグ処理を行い、1つのバンクに対するコマンドが発行されてから、このコマンドの処理が完了前に、異なるバンクに対するコマンドが発行される。
【0013】
また、例えばハードディスクから1つのバンクにデータを読み出したのちハードディスクにこのデータを再記録させるエントリ情報を、バンク毎に順次設けてコマンドの発行を制御すると共に、このエントリ情報がFIFO(First In First Out)のデータ構造として管理されて、エントリ情報の古い順からコマンドの発行状態が判別されて、1つのバンクに対するコマンドが発行されてから、このコマンドの処理が完了前に、異なるバンクに対するコマンドが発行される。
【0014】
【発明の実施の形態】
以下、図を参照しながら、この発明の実施の一形態について説明する。図1はランダムアクセス可能な記録媒体を用いたデータ記録再生装置、例えばハードディスクを用いて映像および/または音声データ等の記録再生を行うAVディスクレコーダを用いたシステムの構成を示す図である。
【0015】
AVディスクレコーダ10には、映像および/または音声データ等を入力するためのデータ入力装置としてビデオカメラ100,110が接続されている。また、AVディスクレコーダ10の動作を制御して、記録されている映像および/または音声データの編集処理等を行うアプリケーション装置120が接続されている。
【0016】
図2はAVディスクレコーダ10の構成を示している。AVディスクレコーダ10の入出力処理部11aでは、ビデオカメラ100から、例えばSMPTE259Mで規格化されたシリアルディジタルインタフェース(SDI)フォーマットの形式として伝送されてきた素材の映像および/または音声データ(以下「入力データ」という)に対して符号化処理等を行い、データ量を削減して記録データWSaとする。また、ハードディスク30から読み出された再生データRSaが供給されたときには、この再生データRSaの復号化処理を行い、映像および/または音声データとして出力する。また、入出力処理部11bも入出力処理部11aと同様にビデオカメラ110からの入力データの符号化処理や読み出された再生データRSbの復号化処理等を行う。この入出力処理部11a,11bは、後述する制御部22から制御バス50を介して供給された制御信号CTa,CTbに基づいて制御される。
【0017】
入出力処理部11aあるいは入出力処理部11bで生成された記録データWSは、DMAバス51を介してバッファメモリ15の1つのバンクに供給される。また、ハードディスク30から読み出された再生データRSはバッファメモリ15に保持されたのち、DMAバス51を介して入出力処理部11aあるいは入出力処理部11bに供給される。
【0018】
DMAバス51はDMAコントローラ16によって制御されると共に、DMAコントローラ16の動作は制御部22から制御バス50を介して供給された制御信号CBDに基づいて制御される。
【0019】
バッファメモリ15に保持された記録データWSはSCSIバス52を介してハードディスク30に記録される。また、ハードディスク30から読み出された再生データRSはSCSIバス52を介してバッファメモリ15に保持される。
【0020】
ここで、バッファメモリ15に保持された記録データWSのハードディスク30への書き込みやハードディスク30に記録されたデータの読み出し、および入出力処理部11とバッファメモリ15間のデータ転送は、割り当てられた処理期間、例えば図示しないタイムスロット発生回路で発生されたタイムスロットの、割り当てられたタイムスロットで行われる。
【0021】
SCSIバス52はSCSIコントローラ35によって制御されると共に、SCSIコントローラ35の動作は制御部22から制御バス50を介して供給された制御信号CBSに基づいて制御される。
【0022】
外部インタフェース回路21には、アプリケーション装置120が接続されており、このアプリケーション装置120からの各種の制御信号CMを受け付けて、制御バス50を介して制御部22に供給する。
【0023】
制御部22では、入出力処理部11、DMAコントローラ16やSCSIコントローラ35を介してバッファメモリ15やハードディスク30を制御して、入出力処理部11に供給された入力データのデータ量を圧縮して記録データとしてハードディスク30に記録したり、ハードディスク30に記録されているデータを復号化して、映像および/または音声データとして出力させる。さらに、ハードディスク30での処理を効率よく行うことができるように、分断化して記録されているデータを連続する領域に再配置するデフラグ処理を行う。このデフラグ処理では、制御部22からSCSIコントローラ35に制御信号CBSとしてコマンドを供給すると共に、SCSIコントローラ35では、制御部22からのコマンドをバッファメモリ15やハードディスク30に応じたコマンドとしてバッファメモリ15やハードディスク30の動作を制御してデフラグ処理を行う。
【0024】
次に、ハードディスク30に記録されているデータのデフラグ処理について説明する。ここで、デフラグ処理を行う際には、バッファメモリ15の複数のバンクを用いるものとして、ハードディスク30に分散して記録されているデータを1つのバンクに読み出すと共に、この読み出したデータをハードディスク30の連続する領域に書き込むことで、データの再配置を行う。
【0025】
図3は、バッファメモリ15の2つのバンクA,Bを交互に使用してデフラグ処理を行う場合の動作を示している。ここで、デフラグ処理を行う場合の1つの操作、すなわちコマンド発行の操作や発行されたコマンドを実行する操作は1単位時間、例えば1タイムスロットで行うものとする。
【0026】
まずタイムスロットTS1では、バッファメモリ15のバンクAに対する処理状態を「READコマンド発行(RC-A)」とする。この「READコマンド発行(RC-A)」では、デフラグ処理の対象とした再配置するデータをハードディスク30からバッファメモリ15のバンクAに読み出すためのコマンドを、制御部22からSCSIコントローラ35を介して発行する。
【0027】
タイムスロットTS2では、タイムスロットTS1での「READコマンド発行」に応じた処理を実行する。ここで、バンクAに対する処理状態は図4に示すように「READコマンド発行」から処理の完了を確認する「READ完了待ち(RD-A)」に移行する。なお、バンクBに対する処理状態も図4と同様に遷移する。
【0028】
ここで、複数のバンクを用いてデフラグ処理を行う場合、コマンド発行が複数同時に行われることがないように、先に使用されたバンクの処理状態に応じて後に使用するバンクに対する処理状態を図5に示すように設定する。すなわち、先に使用されたバンクXの処理状態が「READコマンド発行(RC-X)」であるときには、後に使用するバンクYに対する処理状態を「READコマンド発行(RC-Y)」や「WRITEコマンド発行(WC-Y)」とすることができないと共に、「READ完了待ち(RD-X)」であるときには、後に使用するバンクに対する処理状態を「READコマンド発行(RC-Y)」の状態にできるものとする。また、先に使用されたバンクの処理状態が「WRITEコマンド発行(WC-X)」であるときには、後に使用するバンクに対する処理状態を「READコマンド発行(RC-Y)」や「WRITEコマンド発行(WC-Y)」とすることができないと共に、「WRITE完了待ち(WD-X)」であるときには、後に使用するバンクに対する処理状態を「READコマンド発行(RC-Y)」や「WRITEコマンド発行(WC-Y)」の状態にできるものとする。
【0029】
このため、タイムスロットTS2ではバンクAに対する処理状態が「READ完了待ち(RD-A)」であることから、バンクBに対する処理状態を「READコマンド発行(RC-B)」として、再配置する次のデータをハードディスク30からバッファメモリ15のバンクBに読み出すためのコマンド発行を行う。
【0030】
このタイムスロットTS2で、バンクAに対してのデータの読み出しが完了すると、次のタイムスロットTS3ではバンクAに対する処理状態を「WRITEコマンド発行(WC-A)」とする。この「WRITEコマンド発行(WC-A)」では、バンクAに読み出されているデータをハードディスク30の連続する領域に記録するコマンドを制御部22からSCSIコントローラ35を介して発行する。また、タイムスロットTS3では、タイムスロットTS2での「READコマンド発行(RC-B)」に応じた処理を実行すると共に、バンクBに対する処理状態は「READコマンド発行」から処理の完了を確認する「READ完了待ち(RD-B)」に移行する。
【0031】
タイムスロットTS4では、タイムスロットTS3での「WRITEコマンド発行」に応じた処理を実行する。また、バンクAに対する処理状態は「WRITEコマンド発行」から処理の完了を確認する「WRITE完了待ち(WD-A)」に移行する。さらに、タイムスロットTS3で、バンクBに対してのデータの読み出しが完了すると、次のタイムスロットTS4では、バンクAに対する処理状態がコマンド発行でないことから、バンクBに対する処理状態は「WRITEコマンド発行(WC-B)」に移行する。
【0032】
タイムスロットTS5では、タイムスロットTS4での「WRITEコマンド発行」に応じた処理を実行する。また、バンクBに対する処理状態は「WRITEコマンド発行」から処理の完了を確認する「WRITE完了待ち(WD-B)」に移行する。さらに、タイムスロットTS5ではバンクBに対する処理状態が「WRITE完了待ち(WD-B)」であることから、バンクAに読み出されているデータの書き込みがタイムスロットTS4で完了しているときには、次のタイムスロットTS5で、バンクAに対する処理状態を「READコマンド発行(RC-A)」として、再配置する次のデータをハードディスク30からバッファメモリ15のバンクAに読み出すためのコマンド発行を行う。
【0033】
タイムスロットTS6ではバンクAに対する処理状態が「READ完了待ち(RD-A)」であることから、バンクBに読み出されているデータの書き込みがタイムスロットTS5で完了しているときには、次のタイムスロットTS6で、バンクBに対する処理状態を「READコマンド発行(RC-B)」として、再配置する次のデータをハードディスク30からバッファメモリ15のバンクBに読み出すためのコマンド発行を行う。
【0034】
このように、タイムスロットTS1〜T4までの処理によって、バンクAを使用した1回の再配置が完了すると共に、タイムスロットTS2〜T5までの処理によって、バンクBを使用した1回の再配置が完了する。以下同様な処理を繰り返し行うことで、分断化して記録されているデータを連続した領域に再配置することができる。
【0035】
なお、「READ完了待ち」や「WRITE完了待ち」で、データの読み出しや書き込みが正しく完了したことを確認できない場合、図4に示すようにコマンド発行が再度行われる。なお、コマンド発行を再度行う場合にも、図5に示す条件を満たすタイミングでコマンド発行が行われる。
【0036】
このように、一方のバンクでコマンドが実行されているときに他方のバンクに対するコマンドを発行して、2つのバンクを同時に用いてデフラグ処理を行うことにより、5タイムスロットで2回の再配置が可能となる。このため、1つのバンクを用いて4タイムスロットで1回の再配置を行う場合や、2つのバンクを交互に用いて再配置を行う場合に比べて、効率良くデフラグ処理を行うことができる。
【0037】
ところで、上述したように1回のデータ読み出しで1つのバンクに読み出されたデータをハードディスク30に記録し直すものとした場合、1回のデータ読み出しで読み出されるデータ量が少ないときには、デフラグ処理中にバッファメモリ15からハードディスク30にデータを書き込む回数が多くなってしまう。このため、1回のデータの読み出しを行ったときにバンクに空き領域があるときには再度データの読み出しを行うことでバンクに保持されるデータ量を多いものとして、データ書き込みの際のデータ量を多くすることにより記録回数を少なくして効率よくデフラグ処理を行うものとしても良い。
【0038】
次に、1回のデータの読み出しではバンクに空き領域があるため、データの読み出しを2回行う場合のデフラグ処理について図6を用いて説明する。タイムスロットTS11では、バッファメモリ15のバンクAに対する処理状態を「READコマンド発行(RC-A)」とする。
【0039】
図7は、バンクAおよびバンクBに対する処理の状態遷移図を示しており、「READコマンド発行」を行ったときに、バンクに空き領域があるときには再度次のデータを読み出すための「READコマンド発行」を次のタイムスロットで行う場合を示している。
【0040】
タイムスロットTS11からタイムスロットTS12に進むと、タイムスロットTS12では、タイムスロットTS11での「READコマンド発行」に応じた処理を実行して、バンクAにハードディスク30から再配置するデータを読み出す。また、1回のデータの読み出しではバンクに空き領域があるため、バンクAに対する処理状態は、再度「READコマンド発行(RC-A)」となる。
【0041】
タイムスロットTS13では、タイムスロットTS12での「READコマンド発行」に応じた処理を実行する。また、バンクAの処理状態は、「READコマンド発行」が2度目あることから、「READコマンド発行」に応じた処理の完了を確認する「READ完了待ち(RD-A)」に移行する。
【0042】
ここで、図5に示したように、先に使用されたバンクXの処理状態が「READコマンド発行(RC-X)」であるときには、後に使用するバンクYに対する処理状態を「READコマンド発行(RC-Y)」や「WRITEコマンド発行(WC-Y)」とすることができないと共に、「READ完了待ち(RD-X)」であるときには、後に使用するバンクYに対する処理状態を「READコマンド発行(RC-Y)」とすることが可能である。このため、タイムスロットTS13では、バンクAの処理状態が「READ完了待ち(RD-A)」であることから、バンクBに対する処理状態を「READコマンド発行(RD-B)」とする。
【0043】
タイムスロットTS13で、バンクAに対してのデータ読み出しが完了すると、次のタイムスロットTS14では、バンクAに対する処理状態を「WRITEコマンド発行(WC-A)とする。また、タイムスロットTS14では、タイムスロットTS13での「READコマンド発行(RC-B)」に応じた処理を実行する。
【0044】
タイムスロットTS15では、タイムスロットTS14での「WRITEコマンド発行(WC-A)」に応じた処理を実行する。また、バンクAに対する処理状態は「WRITEコマンド発行」から処理の完了を確認する「WRITE完了待ち(WD-A)」に移行する。さらに、タイムスロットTS15ではバンクAに対する処理状態が「WRITE完了待ち(WD-A)」であることから、バンクBに対する処理状態を2度目の「READコマンド発行(RD-B)」とする。
【0045】
タイムスロットTS16では、タイムスロットTS15での「READコマンド発行(RC-B)」に応じた処理を実行すると共に、バンクBに対する処理状態は「READコマンド発行」から処理の完了を確認する「READ完了待ち(RD-B)」に移行する。さらに、タイムスロットTS16ではバンクBに対する処理状態が「READ完了待ち(RD-B)」であることから、バンクAに読み出されているデータの書き込みがタイムスロットTS15で完了しているときには、このタイムスロットTS16で、バンクAに対する処理状態を「READコマンド発行(RC-A)」として、再配置する次のデータをハードディスク30からバッファメモリ15のバンクAに読み出すためのコマンド発行を行う。
【0046】
このタイムスロットTS16で、バンクBに対してのデータの読み出しが完了すると、次のタイムスロットTS17ではバンクBに対する処理状態を「WRITEコマンド発行(WC-B)」とする。また、タイムスロットTS17では、タイムスロットTS16での「READコマンド発行(RC-B)」に応じた処理を実行する。
【0047】
タイムスロットTS18では、タイムスロットTS17での「WRITEコマンド発行(WC-B)」に応じた処理を実行する。また、バンクBに対する処理状態は「WRITEコマンド発行」から処理の完了を確認する「WRITE完了待ち(WD-B)」に移行する。さらに、タイムスロットTS18ではバンクBに対する処理状態が「WRITE完了待ち(WD-B)」であることから、バンクAに対する処理状態を2度目の「READコマンド発行(RD-A)」とする。
【0048】
タイムスロットTS19では、タイムスロットTS18での「READコマンド発行(RC-A)」に応じた処理を実行すると共に、バンクAに対する処理状態は「READコマンド発行」から処理の完了を確認する「READ完了待ち(RD-A)」に移行する。さらに、タイムスロットTS19ではバンクAに対する処理状態が「READ完了待ち(RD-A)」であることから、バンクBに読み出されているデータの書き込みがタイムスロットTS18で完了しているときには、このタイムスロットTS19で、バンクBに対する処理状態を「READコマンド発行(RC-A)」とする。
【0049】
このようにして、タイムスロットTS11〜T15の処理によってバンクAを用いた1回の再配置が完了すると共に、タイムスロットTS13〜T18の処理によってバンクBを用いた1回の再配置が完了する。
【0050】
以下同様な処理を行うことにより、2つのバンクを用いて「READコマンド発行」を2回実施することによりバンクのメモリ容量を有効に活用し、9タイムスロットで1サイクルの再配置を行うことができる。
【0051】
さらに、上述の場合には2つのバンクを用いてデフラグ処理を行うものとしたが、3つのバッファを用いるものとしても良い。ここで、図8に3つのバンクを使用したときの動作を示す。なお、3つのバンクA,B,Cの状態遷移は図4と同一であると共に、「READコマンド発行」や「WRITEコマンド」に応じた処理が2タイムスロットを要する場合の動作を示している。タイムスロットTS31では、バッファメモリ15のバンクAに対する処理状態を「READコマンド発行(RC-A)」とする。
【0052】
タイムスロットTS32では、タイムスロットTS31での「READコマンド発行(RC-A)」に応じた処理を実行する。また、図5に示す「コマンド発行」の判別条件に基づき、最初に使用されたバンクAの処理状態が「READコマンド発行(RC-A)」や「WRITEコマンド発行(WC-A)」でないことから、2番目に使用するバンクBに次のデータを読み出すため、バンクBに対する処理状態を「READコマンド発行(RC-B)」とする。
【0053】
タイムスロットTS33では、「READコマンド発行」に応じた処理が2タイムスロットを要することから、バンクAに対する処理状態を「READ完了待ち(RD-A)」とする。また、バンクBについては、タイムスロットTS32での「READコマンド発行(RC-B)」に応じた処理の実行中であり、バンクAおよびバンクBの処理状態は「WRITEコマンド発行(WC-A,WC-B)」の状態とならない。このため、図5に示す「コマンド発行」の判別条件に基づき、3番目に使用するバンクCに次のデータを読み出すため、バンクCに対する処理状態を「READコマンド発行(RC-C)」とする。
【0054】
このタイムスロットTS33で、バンクAに対してのデータの読み出しが完了すると、次のタイムスロットTS34ではバンクAに対する処理状態を「WRITEコマンド発行(WC-A)」とする。また、「READコマンド発行(RC-B)」に応じた処理も2タイムスロットを要することから、タイムスロットTS34でバンクBに対する処理状態は「READ完了待ち(RD-B)」となると共に、バンクCはタイムスロットTS33での「READコマンド発行(RC-C)」に応じた処理の実行中となる。
【0055】
タイムスロットTS34でバンクBに対してのデータの読み出しが完了してタイムスロットTS35となると、先に使用されたバンクAではタイムスロットTS34の「WRITEコマンド発行(WC-A)」に応じた処理が行われており、バンクAの処理状態が「READコマンド発行(RC-A)」や「WRITEコマンド発行(WC-A)」でないことから、バンクBの処理状態を「WRITEコマンド発行(WC-B)」とする。また、タイムスロットTS35でバンクCに対する処理状態は「READ完了待ち(RD-C)」となる。
【0056】
タイムスロットTS36では、「WRITEコマンド発行(WC-A)」に応じた処理が2タイムスロットを要することから、バンクAに対する処理状態を「WRITE完了待ち(WD-A)」とする。また、バンクBについては、タイムスロットTS35での「WRITEコマンド発行(WC-B)」に応じた処理の実行中であり、バンクAおよびバンクBの処理状態は「コマンド発行(RC-A,WC-A,RC-B,WC-B)」の状態とならない。このため、タイムスロットTS35でバンクCに対してのデータの読み出しが完了してタイムスロットTS36となると、バンクCに対する処理状態は「WRITEコマンド発行(WC-C)」となる。
【0057】
タイムスロットTS37では、バンクBに対する処理状態を「WRITE完了待ち(WD-B)」とする。また、バンクCについては、タイムスロットTS36での「WRITEコマンド発行(WC-C)」に応じた処理の実行中であり、バンクBおよびバンクCの処理状態は「コマンド発行(RC-B,WC-B,RC-C,WC-C)」の状態とならない。このため、バンクAに読み出されているデータの書き込みがタイムスロットTS36で完了しているときには、次のタイムスロットTS37で、バンクAに対する処理状態を「READコマンド発行(RC-A)」として、再配置する次のデータをハードディスク30からバッファメモリ15のバンクAに読み出すためのコマンド発行を行う。
【0058】
以下同様に処理することにより、READコマンドやWRITEコマンドに対する応答が2タイムスロットを要する場合に、3つのバンクを使用することでタイムスロット毎に順次READコマンドやWRITEコマンドを発行することが可能となり、3つのバンクを同時に用いてデフラグ処理を更に効率よく行うことができる。
【0059】
また、3つのバンクA,B,Cの状態遷移図が図7に示す場合であっても、図9に示すようにデフラグ処理を行うことができる。
【0060】
タイムスロットTS51では、バッファメモリ15のバンクAに対する処理状態を「READコマンド発行(RC-A)」とする。タイムスロットTS51からタイムスロットTS52に進むと、タイムスロットTS52では、タイムスロットTS51での「READコマンド発行」に応じた処理を実行して、バンクAにハードディスク30から再配置するデータを読み出す。また、1回のデータの読み出しではバンクに空き領域があるため、バンクAに対する処理状態は、再度「READコマンド発行(RC-A)」となる。
【0061】
タイムスロットTS53では、タイムスロットTS52での「READコマンド発行」に応じた処理を実行する。また、バンクAの処理状態は、「READコマンド発行」が2度目あることから、「READコマンド発行」に応じた処理の完了を確認する「READ完了待ち(RD-A)」に移行する。
【0062】
ここで、先に使用されたバンクAの処理状態が「READコマンド発行(RC-A)」や「WRITEコマンド発行(WC-A)」でないことから、次に使用するバンクBに対する処理状態を「READコマンド発行(RC-B)」とする。
【0063】
タイムスロットTS53で、バンクAに対してのデータ読み出しが完了すると、次のタイムスロットTS54では、バンクAに対する処理状態を「WRITEコマンド発行(WC-A)とする。また、タイムスロットTS54では、タイムスロットTS53での「READコマンド発行(RC-B)」に応じた処理を実行する。
【0064】
タイムスロットTS55では、タイムスロットTS54での「WRITEコマンド発行(WC-A)」に応じた処理を実行する。また、バンクAに対する処理状態は「WRITEコマンド発行」から処理の完了を確認する「WRITE完了待ち(WD-A)」に移行する。さらに、タイムスロットTS55ではバンクAに対する処理状態が「WRITE完了待ち(WD-A)」であることから、バンクBに対する処理状態を2度目の「READコマンド発行(RD-B)」とする。
【0065】
タイムスロットTS56では、タイムスロットTS55での「READコマンド発行(RC-B)」に応じた処理を実行すると共に、バンクBに対する処理状態は「READコマンド発行」から処理の完了を確認する「READ完了待ち(RD-B)」に移行する。さらに、タイムスロットTS56ではバンクBに対する処理状態が「READ完了待ち(RD-B)」であることから、バンクAに読み出されているデータの書き込みがタイムスロットTS55で完了しているときには、このタイムスロットTS56で、バンクCに対する処理状態を「READコマンド発行(RC-C)」として、再配置する次のデータをハードディスク30からバッファメモリ15のバンクCに読み出すためのコマンド発行を行う。
【0066】
このタイムスロットTS56で、バンクBに対してのデータの読み出しが完了すると、次のタイムスロットTS57ではバンクBに対する処理状態を「WRITEコマンド発行(WC-B)」とする。また、タイムスロットTS57では、タイムスロットTS56での「READコマンド発行(RC-B)」に応じた処理を実行する。
【0067】
タイムスロットTS58では、タイムスロットTS57での「WRITEコマンド発行(WC-B)」に応じた処理を実行する。また、バンクBに対する処理状態は「WRITEコマンド発行」から処理の完了を確認する「WRITE完了待ち(WD-B)」に移行する。さらに、タイムスロットTS58ではバンクBに対する処理状態が「WRITE完了待ち(WD-B)」であることから、バンクCに対する処理状態を2度目の「READコマンド発行(RD-A)」とする。
【0068】
タイムスロットTS59では、タイムスロットTS58での「READコマンド発行(RC-C)」に応じた処理を実行すると共に、バンクCに対する処理状態は「READコマンド発行」から処理の完了を確認する「READ完了待ち(RD-A)」に移行する。さらに、タイムスロットTS59ではバンクCに対する処理状態が「READ完了待ち(RD-A)」であることから、バンクBに読み出されているデータの書き込みがタイムスロットTS58で完了しているときには、このタイムスロットTS59で、バンクCに対する処理状態を「READコマンド発行(RC-A)」とする。以下同様な処理を行うことで、3つのバンクを用いてデフラグ処理を行うことができる。
【0069】
ところで、上述のように例えば3つのバンクを用いて各バンクの状態を制御するときには、いずれのバンクがどのような処理状態であるか示すエントリ情報を、制御部22内にFIFO(First In First Out)のデータ構造として管理することにより、容易に図8や図9に示す動作を行うことができる。
【0070】
図10は、エントリ情報の管理動作を示すフローチャートである。ハードディスク30にフラグメンテーション領域が生じて、この領域に対するデフラグ処理が開始されると、ステップST1では、図7の状態遷移図に基づいてFIFO内のエントリ情報を、コマンドの発行状況やデータの転送状況に応じて遷移させてステップST2に進む。
【0071】
ステップST2では、ステップST1で「WRITE完了待ち」の状態から「END」の状態に遷移して処理の完了したエントリ情報の領域を検出して、FIFO内のこの領域を解放したのちステップST3に進む。
【0072】
ステップST3では、デフラグ処理するデータが残っているか否かの判別が行われる。ここで、データが残っているときにはステップST4に進み、残っていないときにはステップST6に進む。
【0073】
ステップST4では、残っているデータのデフラグ処理を行うためにエントリ情報の領域をFIFOに確保できるか否かの判別を行い、確保できるときにはステップST5に進み、確保できないときにはステップST6に進む。
【0074】
ステップST5では、FIFOにエントリ情報の領域を確保して、この領域にエントリ情報を割り付ける。ここで、デフラグ処理を開始したときには、このステップST5によってFIFOにエントリ情報が最初に割り付けられてステップST6に進む。ここで、バッファメモリ15の3つのバンクを用いてデフラグ処理を行うことから、FIFOは各バンクの処理状態を管理できるように3つのエントリ情報のための領域を確保できるように構成する。また、バッファメモリ15のバンクの使用順序をバンクA,バンクB,バンクCの順としたときには、バンクAに対する処理状態が「READコマンド発行」であることを示すエントリ情報がFIFOの最初の領域に割り付けられる。
【0075】
ステップST6では、FIFO内にエントリ情報の領域が確保されているか否かを判別して、エントリ情報の領域が確保されていると判別したときにはステップST7に進む。
【0076】
ステップST7では、FIFO内の最古の領域のエントリ情報をコマンド発行判別用のエントリ情報に設定してステップST8に進む。
【0077】
ステップST8では、コマンド発行判別用のエントリ情報が「コマンド発行」の状態であるか否かを判別する。ここで、コマンド発行状態であると判別されたときにはステップST9に進み、エントリ情報で示されたコマンドを発行してステップST1に戻る。すなわち、エントリ情報が例えばバンクAに対する処理状態が「READコマンド発行」であることを示すときには、READコマンドを発行してステップST1に戻る。このように、ステップST1からステップST9までの処理によって上述の図9に示すタイムスロットTS51の処理が行われる。
【0078】
図11は、ステップST1のタイミングにおける制御部22内のエントリ情報を示しており、タイムスロットTS31では、バンクAに対するエントリ情報のみがFIFOに割り付けられる。なお、図11において、破線で囲まれていない「READコマンド発行(RC)」と「WRITEコマンド発行(WC)」は、FIFOに割り付けられて実行されていない状態であることを示しており、破線で囲まれた「READコマンド発行(RC)」と「WRITEコマンド発行(WC)」が実行されたことを示している。
【0079】
バンクAに対する「READコマンド発行(RC-A)」を実行してステップST1に戻ると、次のステップST1では、上述したようにエントリ情報を、コマンドの発行状況やデータの転送状況に応じて遷移させる。ここで、2回のデータ読み出しを行うことから、エントリ情報はバンクAに対する処理状態を「READコマンド発行(RC-A)」の状態で保持してステップST2に進むと共に、領域を開放するエントリ情報の領域がないことからステップST3に進む。
【0080】
また、デフラグ処理するデータが残っているときにはステップST3からステップST4に進むと共に、エントリ情報の領域は1つであることから、新たなエントリ情報の領域を確保できるものと判別されてステップST5に進む。
【0081】
ステップST5では、FIFOにエントリ情報の領域を新たに確保して、この領域にエントリ情報を割り付ける。すなわち、バンクAの次に使用されるバンクBの処理状態が「READコマンド発行」であることを示すエントリ情報が新たに確保された領域に割り付けられる。
【0082】
その後、ステップST6からステップST7に進むと、ステップST7ではFIFO内の最古の領域のエントリ情報をコマンド発行判別用のエントリ情報に設定してステップST8に進む。
【0083】
ステップST8では、コマンド発行判別用のエントリ情報がコマンド発行状態であるか否かを判別する。ここで、コマンド発行判別用のエントリ情報では、バンクAの処理状態が「READコマンド発行」であることが示されていることからステップST9に進み、最古の領域のエントリ情報で示されたコマンドを発行してステップST1に戻る。
【0084】
このように、ステップST1からステップST9までの処理が2回目に行われると図9に示すタイムスロットTS52の処理が行われることとなる。また、タイムスロットTS52の処理が行われたときには、図11に示すようにバンクAおよびバンクBのエントリ情報がFIFOに割り付けられている。
【0085】
バンクAに対する「READコマンド発行(RC-A)」を実行してステップST1に戻ると、次のステップST1では、バンクAのエントリ情報を「READコマンド発行」から次の状態である「READ完了待ち」に遷移させると共に、バンクBのエントリ情報すなわち「READコマンド発行」は実行されていないことからバンクBのエントリ情報を遷移させることなくステップST2に進み、さらに領域を開放するエントリ情報の領域がまだないことからステップST3に進む。
【0086】
また、デフラグ処理が完了していないデータが残っているときにはステップST3からステップST4に進むと共に、エントリ情報の領域は2つであることから、新たなエントリ情報の領域を確保できるものと判別されてステップST5に進む。
【0087】
ステップST5では、FIFOにエントリ情報の領域を新たに確保して、この領域にエントリ情報を割り付ける。すなわち、バンクBの次に使用されるバンクCの処理状態が「READコマンド発行」であることを示すエントリ情報が新たに確保された領域に割り付けられる。
【0088】
その後、ステップST6からステップST7に進むと、ステップST7ではFIFO内の最古の領域のエントリ情報をコマンド発行判別用のエントリ情報に設定してステップST8に進む。
【0089】
ステップST8では、コマンド発行判別用のエントリ情報がコマンド発行状態であるか否かを判別する。ここで、コマンド発行判別用のエントリ情報では、バンクAの処理状態が「READ完了待ち(RD-A)」であることが示されていることからステップST10に進む。
【0090】
ステップST10では、次に古いエントリ情報の領域がFIFOに確保されているか否かを判別し、確保されていないときにはステップST1に戻り、確保されているときにはステップST11に進む。ここで、バンクAに対するエントリ情報の後に、バンクBに対するエントリ情報の領域が確保されていることからステップST11に進む。
【0091】
ステップST11では、次に古い領域のエントリ情報をコマンド発行判別用のエントリ情報として設定してステップST8に戻る。すなわち、バンクBに対する処理状態が「READコマンド発行」であることを示すエントリ情報がコマンド発行判別用のエントリ情報として設定されてステップST8に戻る。このため次のステップST8ではコマンド発行状態であると判別されてステップST9に進み、エントリ情報で示されたコマンド、すなわちバンクBに対する「READコマンド発行(RC-A)」を実行してステップST1に戻る。以上の処理によって図9に示すタイムスロットTS53の処理が行われる。このタイムスロットTS53の処理が行われたときには、バンクAとバンクBおよびバンクCのエントリ情報がFIFOに割り付けられた状態となり、3つのエントリ情報がFIFOに割り付けられるとステップST4からステップST6に進む。
【0092】
また、タイムスロットTS55の処理が行われると、バンクAに対する処理状態が「WRITE完了待ち(WD-A)」から「END」に状態が遷移するので、ステップST2の処理によって、バンクAに対するエントリ情報の領域が解放されて、バンクBに対するエントリ情報の領域が最古となる。さらに、バンクCに対するエントリ情報の領域の後に、バンクAに対する新たなエントリ情報の領域が確保される。
【0093】
その後、デフラグ処理するデータがなくなるとステップST3からステップST6に進むと共に、各バンクの処理状態が「END」となってエントリ情報の領域が解放されて、ステップST6でFIFO内にエントリ情報の領域が確保されていないと判別されたときには、デフラグ処理を完了する。
【0094】
このように、エントリ情報をFIFOのデータ構造で管理すると共に、古い順からエントリ情報の内容を判別してコマンドが同時に発行されることがないように制御すると共に、バンクの処理状態が完了であることを示すエントリ情報の領域を順次開放して新たなエントリ情報の領域として用いるものとすれば、図9に示す3つのバンクを用いたデフラグ処理を簡単に実行することができる。なお、図10におけるステップST1での処理を変更して、図11に示す「READコマンド発行」の実行を2回から1回に変更すると共に「コマンド完了待ち」を2タイムスロットとするだけで、図8に示すデフラグ処理も簡単に行うことができる。
【0095】
また、制御部22に記憶するエントリ情報を、デフラグ処理中にAVディスクレコーダ10に対する電力の供給が停止されても、消去されることがないように記憶すれば、電力の供給が停止されてデフラグ処理が中断されても、記憶されているエントリ情報を利用して中断されたデフラグ処理を再開できる。
【0096】
また、上述の場合、AVディスクレコーダ10では、複数の入出力処理部11とハードディスク3間でのデータ転送を正しく行うことができるように、各入出力処理部11に対してタイムスロットを割り当てて、割り当てられたタイムスロットで対応する入出力処理部11とハードディスク30間でデータ転送を行うために、デフラグ処理も1タイムスロット毎にバンクの処理状態を遷移させるものとしている。しかし、エントリ情報をFIFOのデータ構造で管理すると共に、古い順からエントリ情報の内容を判別してコマンドが同時に発行されることがないように制御する、すなわち先に使用されているバンクに対してコマンドが発行されてからコマンドに対する処理が完了する前に次に使用されるバンクに対するコマンドを発行すると共に、1つのバンクに対する処理を完了したエントリ情報の領域を順次開放して新たなエントリ情報の領域として用いるものとすれば、タイムスロットを用いていないデータ処理装置であっても、上述の場合と同様にしてデフラグ処理を効率良く行うことができる。
【0097】
例えば、コンピュータ装置等でのデフラグ処理においても、複数のバンクを用いてデータの再配置を行うと共に、エントリ情報を利用してコマンドが同時に発行されないように制御すれば、コマンド処理中に次のコマンドを発行することができるので効率よくデフラグ処理を行うことが可能となる。
【0098】
なお、バッファメモリ15の複数のバンクに代えてバッファメモリを複数設けるものとして、上述のバンクと同様にバッファメモリを用いてデフラグ処理を行うものとしても良いことは勿論である。
【0099】
また、細分化されているデータを読み出して連続した領域に再配置するデフラグ処理だけでなく、ハードディスク30に記録されているデータを別の領域に再度記録するコピー処理の場合にも、上述のデフラグ処理の場合と同様にバッファメモリやバンクを用いると共にコマンド発行を行うことで効率よくコピー処理を行うことができる。またデフラグ処理やコピー処理が行われて再記録されるデータは、ハードディスク30から読み出されたデータに限られるものではなく、読み出されたデータの加工や修正等を行ってからハードディスク30に書き込むものとしても良い。さらに、ランダムアクセス可能な記録媒体は、ハードディスク30に限られるものではなく光ディスクや半導体メモリ等を用いるものとしても良いことは勿論である。
【0100】
【発明の効果】
この発明によれば、ランダムアクセス可能な記録媒体に記録されているデータを複数の記憶領域の1つに読み出すコマンド、および1つの記憶領域に読み出されたデータを用いて記録媒体へのデータの書き込みを行うコマンドが記憶領域毎に発行されて、ランダムアクセス可能な記録媒体に記録されているデータを用いた再記録処理が行われると共に、コマンドの発行は、1つの記憶領域に対するコマンドの発行後からコマンドの処理完了前に、異なる記憶領域に対するコマンドが発行される。このため、1つの記憶領域に対するデータの書き込みや読み出しが完了したときに、速やかに次の記憶領域に対するデータの書き込みや読み出しを行うことが可能となり、効率よく再記録処理を行うことができる。
【0101】
また、記録媒体から1つの記憶領域にデータを読み出したのち記録媒体に再記録させるエントリ情報が記憶領域毎に順次設けられて、コマンドの発行が制御されると共に、このエントリ情報がFIFO(First In First Out)のデータ構造として管理されて、エントリ情報の古い順からコマンドの発行状態の判別が行われて、1つの記憶領域に対するコマンドの発行後から該コマンドの処理完了前に、異なる記憶領域に対するコマンドが発行される。このため、コマンドの発行の制御を簡単に行うことができる。
【0102】
また、コマンドを発行して、記録媒体に記録されているデータが記憶領域に読み出されたのち、読み出されたデータとは異なる記録媒体の位置に再記録されるので、効率よくコピー処理を行うことができる。さらに、コマンドを発行して、記録媒体に分割して記録されているデータが記憶領域に読み出されたのち、記録媒体の連続する位置に再記録されるので、効率よくデフラグ処理を行うことができる。
【図面の簡単な説明】
【図1】システムの構成を示す図である。
【図2】AVディスクレコーダの構成を示す図である。
【図3】2つのバンクを用いたデフラグ処理を示す図である。
【図4】バンクの状態遷移図である。
【図5】コマンド発行条件を示す図である。
【図6】2つのバンクを用いてデータ読み出しを2回行う場合のデフラグ処理を示す図である。
【図7】空き領域の判別を含めた状態遷移図である。
【図8】3つのバンクを用いたデフラグ処理を示す図である。
【図9】3つのバンクを用いてデータ読み出しを2回行う場合のデフラグ処理を示す図である。
【図10】エントリ情報の管理動作を示すフローチャートである。
【図11】制御部内のエントリ情報を示す図である。
【図12】デフラグ処理を説明するための図である。
【図13】デフラグ処理での処理順序を示す図である。
【図14】従来のデフラグ処理動作を示す図である。
【符号の説明】
10・・・AVディスクレコーダ、11・・・入出力処理部、15・・・バッファメモリ、16・・・DMAコントローラ、21・・・外部インタフェース回路、22・・・制御部、30・・・ハードディスク、35・・・SCSIコントローラ、50・・・制御バス、51・・・DMAバス、52・・・SCSIバス、100,110・・・ビデオカメラ、120・・・アプリケーション装置
Claims (12)
- データを記憶する記憶領域を複数有するデータ記憶手段と、
割り当てられた処理期間の1つを1単位時間とし、1つの割り当てられた処理期間で、ランダムアクセス可能な記録媒体にデータを書き込み、あるいは前記記録媒体に記録されているデータを読み出す記録媒体処理手段と、
前記記録媒体に記録されているデータを前記データ記憶手段の1つの記憶領域に読み出す読み出しコマンド、および前記1つの記憶領域に読み出されたデータを用いて前記記録媒体へのデータの書き込みを行う書き込みコマンドを、前記1つの割り当てられた処理期間で前記記憶領域毎に発行して、前記記録媒体処理手段と前記データ記憶手段の動作を制御する動作制御手段とを有し、
前記動作制御手段では、前記1つの割り当てられた処理期間で、前記コマンドの発行を複数同時に行わず、前記データ記憶手段の複数の記憶領域のうち先に使用された1つの記憶領域の処理状態に応じて後に使用する異なる記憶領域の処理状態を設定することとし、
前記先に使用された1つの記憶領域の処理状態が前記読み出しコマンドの発行であるときには、前記後に使用する異なる記憶領域の処理状態を前記読み出しコマンドの発行および前記書き込みコマンドの発行としないで、前記1つの記憶領域に対する前記読み出しコマンドの発行後から該読み出しコマンドの処理完了前に、前記異なる記憶領域に対する前記読み出しコマンドを発行し、
前記先に使用された1つの記憶領域の処理状態が前記書き込みコマンドの発行であるときには、前記後に使用する異なる記憶領域の処理状態を前記読み出しコマンドの発行および前記書き込みコマンドの発行としないで、前記1つの記憶領域に対する前記書き込みコマンドの発行後から該書き込みコマンドの処理完了前に、前記異なる記憶領域に対する前記読み出しコマンド又は前記書き込みコマンドを発行することを特徴とするデータ記録再生装置。 - 前記動作制御手段では、前記1つの記憶領域に対する前記読み出しコマンドの発行後から該読み出しコマンドの処理完了前に、前記1つの割り当てられた処理期間で前記記録媒体に記録されているデータを前記データ記憶手段の1つの記憶領域に読み出したり、又は前記1つの記憶領域に対する前記書き込みコマンドの発行後から該書き込みコマンドの処理完了前に、前記1つの割り当てられた処理期間で前記1つの記憶領域に読み出されたデータを用いて前記記録媒体へのデータを書き込んだりすることの完了が確認できない場合、前記読み出しコマンド又は前記書き込みコマンドを再度発行することを特徴とする請求項1に記載のデータ記録再生装置。
- 前記1つの割り当てられた処理期間で、前記記録媒体に記録されているデータを前記データ記憶手段の1つの記憶領域に読み出したとき、前記1つの記憶領域に空き領域があるときには、前記1つの割り当てられた処理期間の次の割り当てられた処理期間で、再度前記記録媒体に記録されているデータを前記データ記憶手段の1つの記憶領域に読み出すことを特徴とする請求項1又は2に記載のデータ記録再生装置。
- 前記動作制御手段では、前記記録媒体から前記データ記憶手段の1つの記憶領域にデータを読み出したのち前記記録媒体に再記録させるエントリ情報を、前記記憶領域毎に順次設けて前記コマンドの発行を制御すると共に、前記エントリ情報をFIFO(First In First Out)のデータ構造として管理して、前記エントリ情報の古い順からコマンドの発行状態の判別を行い、前記データ記憶手段の1つの記憶領域に対する前記コマンドの発行後から該コマンドの処理完了前に、異なる記憶領域に対する前記コマンドを発行することを特徴とする請求項1〜3のいずれか1項に記載のデータ記録再生装置。
- 前記動作制御手段では、前記コマンドを発行して、前記記録媒体に記録されているデータを前記記憶領域に読み出したのち、前記読み出されたデータとは異なる前記記録媒体の位置に再記録させることを特徴とする請求項1〜4のいずれか1項に記載のデータ記録再生装置。
- 前記動作制御手段では、前記コマンドを発行して、前記記録媒体に分割して記録されているデータを前記記憶領域に読み出したのち、前記記録媒体の連続する位置に再記録させることを特徴とする請求項1〜5のいずれか1項に記載のデータ記録再生装置。
- 割り当てられた処理期間の1つを1単位時間とし、1つの割り当てられた処理期間で、ランダムアクセス可能な記録媒体にデータを書き込み、あるいは前記記録媒体に記録されているデータを読み出すものとし、
前記ランダムアクセス可能な記録媒体に記録されているデータを複数の記憶領域の1つに読み出す読み出しコマンド、および前記1つの記憶領域に読み出されたデータを用いて前記記録媒体へのデータの書き込みを行う書き込みコマンドを、前記1つの割り当てられた処理期間で前記記憶領域毎に発行することで、前記ランダムアクセス可能な記録媒体に記録されているデータを用いた再記録処理を行うものとし、
前記コマンドの発行は、前記1つの割り当てられた処理期間で、前記コマンドの発行を複数同時に行わず、前記データ記憶手段の複数の記憶領域のうち先に使用された1つの記憶領域の処理状態に応じて後に使用する異なる記憶領域の処理状態を設定することとし、
前記先に使用された1つの記憶領域の処理状態が前記読み出しコマンドの発行であるときには、前記後に使用する異なる記憶領域の処理状態を前記読み出しコマンドの発行および前記書き込みコマンドの発行としないで、前記1つの記憶領域に対する前記読み出しコマンドの発行後から該読み出しコマンドの処理完了前に、前記異なる記憶領域に対する前記読み出しコマンドを発行し、
前記先に使用された1つの記憶領域の処理状態が前記書き込みコマンドの発行であるときには、前記後に使用する異なる記憶領域の処理状態を前記読み出しコマンドの発行および前記書き込みコマンドの発行としないで、前記1つの記憶領域に対する前記書き込みコマンドの発行後から該書き込みコマンドの処理完了前に、前記異なる記憶領域に対する前記読み出しコマンド又は前記書き込みコマンドを発行することを特徴とするデータ再記録処理方法。 - 前記1つの記憶領域に対する前記読み出しコマンドの発行後から該読み出しコマンドの処理完了前に、前記1つの割り当てられた処理期間で前記記録媒体に記録されているデータを前記データ記憶手段の1つの記憶領域に読み出したり、又は前記1つの記憶領域に対する前記書き込みコマンドの発行後から該書き込みコマンドの処理完了前に、前記1つの割り当てられた処理期間で前記1つの記憶領域に読み出されたデータを用いて前記記録媒体へのデータを書き込んだりすることの完了が確認できない場合、前記読み出しコマンド又は前記書き込みコマンドを再度発行することを特徴とする請求項7に記載のデータ再記録処理方法。
- 前記1つの割り当てられた処理期間で、前記記録媒体に記録されているデータを前記データ記憶手段の1つの記憶領域に読み出したとき、前記1つの記憶領域に空き領域があるときには、前記1つの割り当てられた処理期間の次の割り当てられた処理期間で、再度前記記録媒体に記録されているデータを前記データ記憶手段の1つの記憶領域に読み出すことを特徴とする請求項7又は8に記載のデータ再記録処理方法。
- 前記記録媒体から前記1つの記憶領域にデータを読み出したのち前記記録媒体に再記録させるエントリ情報を、前記記憶領域毎に順次設けて前記コマンドの発行を制御すると共に、前記エントリ情報をFIFO(First In First Out)のデータ構造として管理して、前記エントリ情報の古い順からコマンドの発行状態の判別を行い、前記1つの記憶領域に対する前記コマンドの発行後から該コマンドの処理完了前に、異なる記憶領域に対する前記コマンドを発行することを特徴とする請求項7〜9のいずれか1項に記載のデータ再記録処理方法。
- 前記コマンドを発行して、前記記録媒体に記録されているデータを前記記憶領域に読み出したのち、前記読み出されたデータとは異なる前記記録媒体の位置に再記録することを特徴とする請求項7〜10のいずれか1項に記載のデータ再記録処理方法。
- 前記コマンドを発行して、前記記録媒体に分割して記録されているデータを前記記憶領域に読み出したのち、前記記録媒体の連続する位置に再記録することを特徴とする請求項7〜11のいずれか1項に記載のデータ再記録処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000197000A JP4474742B2 (ja) | 2000-06-29 | 2000-06-29 | データ記録再生装置およびデータ再記録処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000197000A JP4474742B2 (ja) | 2000-06-29 | 2000-06-29 | データ記録再生装置およびデータ再記録処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002014774A JP2002014774A (ja) | 2002-01-18 |
JP4474742B2 true JP4474742B2 (ja) | 2010-06-09 |
Family
ID=18695391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000197000A Expired - Lifetime JP4474742B2 (ja) | 2000-06-29 | 2000-06-29 | データ記録再生装置およびデータ再記録処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4474742B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2003241940A1 (en) * | 2002-05-31 | 2003-12-19 | Sharp Kabushiki Kaisha | Data duplicate recording device, data duplicate recording method, data duplicate recording program, and machine-readable recording medium containing the data duplicate recording program |
-
2000
- 2000-06-29 JP JP2000197000A patent/JP4474742B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2002014774A (ja) | 2002-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3629216B2 (ja) | デフラグメンテーション機能を有するディスク記憶システム、及び同システムにおけるデフラグメンテーション方法 | |
JP4736593B2 (ja) | データ記憶装置、データ記録方法、記録及び/又は再生システム、並びに、電子機器 | |
US6085020A (en) | Editing control apparatus and editing control method employing compressed audio-visual information | |
US7747144B2 (en) | Information processing apparatus, information processing method, recording medium, control | |
US7062682B2 (en) | Data recorder and data recording method avoiding data loss due to data transfer error | |
US20050259542A1 (en) | Reproduction device and method, recording medium, and program | |
JP4474742B2 (ja) | データ記録再生装置およびデータ再記録処理方法 | |
JP4719239B2 (ja) | ビデオサーバおよびファイル管理方法 | |
US20060117137A1 (en) | System and method to enable efficient communication with a dynamic information storage and retrieval system, or the like | |
JP4086718B2 (ja) | 情報処理方法及び情報処理装置 | |
JP4211563B2 (ja) | 再生記録装置 | |
JP4496790B2 (ja) | データ記憶装置及び方法、並びに記録再生システム | |
US6496311B1 (en) | Data recording/reproducing unit, data recording method, data reproducing method, data recording/reproducing method, hard disk controller, and AV-data recording/reproducing method | |
KR20030061948A (ko) | 정보 저장 장치 및 그를 이용한 파일 관리 방법 | |
JP2002197791A (ja) | 光記録媒体のデータコピー/移動方法及び装置 | |
JP2011086324A (ja) | ストレージ装置 | |
JP2590722B2 (ja) | 光ディスク制御装置 | |
JP4235658B2 (ja) | 情報処理方法及び情報処理装置 | |
JP2002042412A (ja) | 記録再生装置 | |
KR20030075528A (ko) | 광 디스크 기록 재생기의 메모리 운용 방법 및 장치 | |
JPH05242605A (ja) | ディスク制御装置 | |
WO2001080240A1 (fr) | Dispositif de controle de disques, procede de controle de disques et unite de disques | |
JPH1131359A (ja) | データ記録方法およびデータ記録装置 | |
US20080175114A1 (en) | Optical disc controller and optical disc drive system | |
JPH0156464B2 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060516 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070111 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20090916 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20091029 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091118 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091201 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100125 |
|
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: 20100216 |
|
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: 20100301 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130319 Year of fee payment: 3 |