JP2008140519A - 制御装置及び記録装置 - Google Patents

制御装置及び記録装置 Download PDF

Info

Publication number
JP2008140519A
JP2008140519A JP2006327627A JP2006327627A JP2008140519A JP 2008140519 A JP2008140519 A JP 2008140519A JP 2006327627 A JP2006327627 A JP 2006327627A JP 2006327627 A JP2006327627 A JP 2006327627A JP 2008140519 A JP2008140519 A JP 2008140519A
Authority
JP
Japan
Prior art keywords
recording medium
recording
data
writing
control 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.)
Withdrawn
Application number
JP2006327627A
Other languages
English (en)
Inventor
Akihiro Tanabe
章弘 田邉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2006327627A priority Critical patent/JP2008140519A/ja
Publication of JP2008140519A publication Critical patent/JP2008140519A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】 記録装置が通信装置から受信したデータの記録を途中で失敗した場合でも、記録媒体を修復可能とする。
【解決手段】 記録装置が接続されると、通信装置は記録装置が有する記録媒体が正常に書き込み処理が終了された記録媒体であるかどうか調べる。書き込みが正常終了していない記録媒体の場合、過去に接続された記録装置から取得したデータの中に、対応するデータが存在するかどうか調べる。もし対応するデータが存在する場合には、書き込みが中断した場所からデータを書き込み、記録媒体を修復する。
【選択図】 図7

Description

本発明は、制御装置及び当該制御装置と接続して用いる記録装置に関する。特に、記録装置における記録が中断した場合の修復を容易にするための制御装置及び記録装置に関する。
近年のデジタルビデオカメラには、磁気テープ以外の記録媒体を使用するものが知られている。最近では、DVDなどのディスク状記録媒体を使用するデジタルビデオカメラが知られている(例えば、特許文献1、2参照)。
特開2003−101926号公報 特開2004−095164号公報
しかしながら、特許文献1、2に記載された従来技術では、デジタルビデオカメラがPC(パーソナルコンピュータ)から転送されたデータを記録媒体(光ディスク等)に書き込んでいる最中に、PCとの接続が切断された場合の問題点には着目していない。例えば、デジタルビデオカメラとPCとを接続するケーブル(例えばUSB(Universal Serial Bus)ケーブル)が、外れた場合などの問題点である。この場合、デジタルビデオカメラが記録媒体に書き込んでいるデータが突然途絶えてしまうため、デジタルビデオカメラは当該データの記録媒体への記録を正常に終了することができない可能性がある。さらに、デジタルビデオカメラ側の記録媒体が一回だけ書き込み可能な記録媒体である場合は、当該記録媒体の修復が不可能となる可能性がある。
そこで、本発明は、外部記録装置(デジタルビデオカメラ等)が制御装置(パーソナルコンピュータ等)から受信したデータの記録媒体への記録が途中で失敗した場合でも、当該記録媒体の修復を可能とすることを目的とする。
本発明に係る制御装置は、例えば、外部記録装置側の記録媒体が、書き込み処理が正常に終了された記録媒体であるか否かを判別する判別手段と、判別手段により、書き込み処理が正常に終了された記録媒体でないと判別された場合、記録媒体に書き込むべきデータが記憶装置に記憶されているか否かを検出する検出手段と、記録媒体に書き込むべきデータが記憶装置に記憶されていた場合、当該データを記録媒体に対して書き込む書き込み手段とを有することを特徴とする。
本発明に係る記録装置は、例えば、上記の制御装置からの書き込み命令に従い、制御装置から受信したデータを記録媒体に書き込む記録装置であって、データを記録媒体に書き込み中に制御装置との接続が解除された場合、記録媒体への書き込み処理を正常に終了可能であるか否かを判別する判別手段と、書き込み処理を正常に終了可能であると判別された場合に、書き込み処理を正常に終了させる終了手段と、書き込み処理を正常に終了可能でないと判別された場合に、書き込みを失敗したアドレスを記録する記録手段とを有することを特徴とする。
本発明によれば、外部記録装置が制御装置から受信したデータの記録を途中で失敗した場合でも、記録媒体を修復することができる。
以下、添付図面に従って、本発明の好適な実施形態を詳細に説明する。
図5は、本発明の一実施形態に係る記録装置制御システムの構成の一例を示す図である。
本実施形態の記録装置制御システムは、制御装置の一例であるPC(パーソナルコンピュータ)1504と、外部記録装置の一例であるDVC(デジタルビデオカメラ)1501とを有する。PC1504とDVC1501とは、ネットワークの一例であるUSB(Universal Serial Bus)1503を介して接続されている。
DVC1501は、DVD−RAM(8cm)等のディスク状記録媒体の一例である光ディスク1502に撮影した画像を記録する。光ディスク1502は、取り外し可能な記録媒体である。一方、PC1504は、記憶装置の一例であるハードディスクドライブを有している。本実施形態において、PC1504は、DVC1501とマスストレージプロトコルに従って通信する。本実施形態では、USBマスストレージクラスに準拠したプロトコルを「マスストレージプロトコル」と呼ぶ。
図4は、DVC1501が有する構成要素の一例を示す図である。なお、図4では、デジタルビデオカメラが当然備えている構成であっても、PC1504とのデータ伝送に使われない構成、例えばビデオ撮影及び撮影画像の処理に関する構成については省略する。
主制御部1401はバス1400を介して各構成要素と接続され、主制御部1401が制御プログラムを実行して各構成要素の制御を行うことにより、DVC1501の機能を実現する。制御プログラムは例えば主制御部1401内部もしくは他の場所に設けられる不揮発性記憶媒体に格納され、実行時に例えばRAMである内部メモリ1403に読み出される。
通信制御部1402は、PC1504と、USBデバイスコネクタ1410を介して接続された場合に、先に説明したマスストレージプロトコルに準拠した通信制御を行う。
入力操作制御部1404は、DVC1501の操作部1408に対してユーザが行った操作を判別し、主制御部1401で実行中の制御プログラムに対して通知する。操作部1408は、キー、ボタン、ダイヤル等を含み、ユーザは操作部1408を介してDVC1501に各種設定や指示を行うことができる。
表示制御部1406はDVC1501の表示部1412に対して表示する映像を生成し、また、表示を制御する。
記録再生制御部1405は、光ディスク1502、メモリカード1413に対するデータの記録、再生を制御する。メモリカード1413は、メモリカード以外の取り外し可能な記録媒体に置き換えてもよい。また、記録再生制御部1405は、これら記録媒体から読み出したデータを内部メモリ1403に転送する処理を制御する。内部メモリ1403に転送されたデータは、通信制御部1402を介して外部に送信されるか、表示制御部1406を介して表示部1412へ転送される。なお、メモリカード1413はオプションである。
ドライブ制御部1411は、光ディスク1502の取り出しやロード・アンロードなどの処理を制御するモジュールであり、その他フォーマットやファイナライズ処理などを行う。
図6は、PC1504が有する構成要素の一例を示すブロック図である。
主制御部(CPUで構成される)1601は、例えばハードディスクドライブ(HDD)1607に格納されるOSやデバイスドライバ、アプリケーションプログラム等を実行し、装置全体の制御を司る。入力操作制御部1604は、典型的にはマウス等のポインティングデバイスやキーボードで構成される入力装置1605からの入力を受け付け、入力内容を主制御部1601へ通知する。通信制御部1602は、USBホストコネクタ1606を有し、マスストレージプロトコルによる通信を含む、USBインタフェースを介した各種通信を制御する。内部メモリ1603は、例えばRAMであり、OSや各種アプリケーションを読み込んだり、バッファ領域として使用される。表示制御部1608は、CRTやLCD等で構成される表示部1609へのビデオ信号を出力したり、主制御部1601からの要求に対して内部のビデオメモリへの描画を行う。HDD1607は、OS及び本実施形態における主要な処理を行うアプリケーションプログラムを格納する。
<PC1504の動作の説明>
本実施形態において、PC1504は、主制御部1601が記録装置制御アプリケーションプログラムを実行することにより、本実施形態におけるデータ伝送機能を実現する。本実施形態において、記録装置制御アプリケーションプログラムは、受け持つ動作により以下のモジュールA及びモジュールBとに分割されているものとする。また、記録装置制御アプリケーションプログラムは、HDD1607に記憶されている。
モジュールA:デバイス認識時の処理を行い、デバイス情報を取得した後モジュールBを起動する。
モジュールB:モジュールAが取得したデバイス情報を元に、データ複製処理または光ディスクの修復を行う。
以降、各モジュールA及びBについて、順番に説明していく。
<モジュールA>
図7は、モジュールAの処理を説明するフローチャートである。
例えばユーザが、表示部1609に表示されている、記録装置制御アプリケーションのアイコンを入力装置1605のマウスを用いてダブルクリックする等して、アプリケーションの起動を指示する。この操作は、入力操作制御部1604を通じて主制御部1601へ通知される。主制御部1601は、HDD1607から記録装置制御アプリケーションを読み出し、内部メモリ1603へ読み込んで実行を開始する。まず、モジュールAが実行される。
S1701では、ATAPIコマンドセットを用いて、接続されているDVC1501の情報を取得する。
図8は、S1701における処理の詳細を示すフローチャートである。
S1801で、主制御部1601は、DVC1501がUSB1503に接続されているかどうかを、通信制御部1602から送られてくる情報に基づいて判別する。ここで、DVC1501が接続されていない場合、主制御部1601は処理をS1804に遷移させ終了処理を行う。
S1801でDVC1501が接続されていると判断された場合には、S1802に遷移する。そして、主制御部1601は、USBマスストレージクラスで規定されたCBW(Command Block Wrapper)にラッピングされたATAPIコマンドを、通信制御部1602から送信する。CBWの構成を図1に示す。
主制御部1601は、送信するデータがあれば、S1805にてデータを送信し、受信するデータがあればS1806にてデータを受信する。その後、何れの場合もS1803に処理を遷移させる。また、送信するデータも受信するデータもない場合、主制御部1601は処理をS1803に直接遷移させる。
S1803では、USBマスストレージクラスで規定されたCSW(Status Transport Wrapper)により、S1802で送信したコマンドの結果を受信し、処理を終える。CSWの構成を図2に示す。S1802で送信したコマンドの結果は、bCSWStatusフィールドに格納される。S1802で送信したコマンドが成功した場合にはbCSWStatusフィールドに00hが格納され、失敗した場合にはbCSWStatusフィールドに01hが格納される。
このような手順により、PC1504とDVC1501との間でコマンドの送受信を行う。このコマンド送受信処理は、以後の処理におけるコマンド送受信処理に共通して用いられる。
図7に戻って、S1701ではデバイスの情報を取得するため、ATAPIコマンドである、INQUIRYコマンド(Operation Code: 0x12)を発行する。INQUIRYコマンドの構成はここでは省略する。INQUIRYコマンドに応答してDVC1501より返されたレスポンスデータは、図10で示されるフィールド構成を有する。
Peripheral Device Type2001の値により、応答したデバイスのタイプが判別できる。本実施形態ではCD/DVD Logical Unitの識別番号である「0x5」が格納されているものとする。
Vendor Identification2002には、DVC1501のベンダー名など、ベンダー識別情報が記述されている。
Product Identification2003には、DVC1501のプロダクト名など、製品識別情報が記述されている。
Product Revision Level2004では、製品のリビジョン情報が記述されている。
主制御部1601は、図10に示すレスポンスデータをPC1504で取得し、処理をS1702に遷移させる。
S1702で、主制御部1601は、光ディスク1502の書き込み可能な領域データを取得すべく、ATAPIコマンドであるREAD TRACK INFORMATIONコマンド(Operation Code: 0x52)を送信する。
図11に、READ TRACK INFORMATIONコマンドに応答してデバイス(DVC1501)が送り返してくるレスポンスデータの構成を示す。
Damageビット2101は、ディスクがダメージディスクであるかどうかを示す1ビットの値がセットされるフィールドであり、1がセットされていればダメージディスクである。
LRA_Vビット2102に1がセットされている場合、Last Recorded Address2104が有効になり、NWA_Vビット2105に1がセットされていれば、Next Writable Address2103が有効になる。
Next Writable Address2103には、次に書き込み可能な論理アドレスが格納される。なお、ファイナライズ済みのディスクであれば、このフィールドの値は0x00となる。
Last Recorded Address2104には、光ディスク1502に記録可能な最終論理アドレスが格納される。
このような構成のレスポンスデータから、光ディスク1502の次に書き込み可能なアドレスと、書き込み可能な最終アドレスを取得することができる。
再び図7に戻り、S1703において、主制御部1601は、光ディスク1502の識別情報を取得するため、ATAPIコマンドのREAD DVD STRUCTUREコマンド(Operation Code: 0x51)を発行する。READ DVD STRUCTUREコマンドに応答してDVC1501から返されるレスポンスデータの構成を図12に示す。
Book Type2201には、メディアの種類の識別情報が格納される。
Disc Size2202には、メディアサイズ(8cmか12cm)を示す情報が格納される。Maximum Rate2203には、メディアの最大転送レートが格納される。
主制御部1601は、以上のフィールドから取得したメディアの属性情報を、内部メモリ1603に格納しておく。
S1704で、主制御部1601は、READ(10)コマンドを発行し、DVC1501に挿入されている光ディスク1502から、ファイルシステム情報を取得する。READ(10)コマンドの構成を図3に示す。本実施形態では、光ディスク1502としてDVDメディアを想定しているので、UDF(Universal Disk Format)のファイルシステムを想定しているが、他のファイルシステムに基づく記録媒体を使用しても良い。READ(10)コマンドに応答して、DVC1501から、UDF規格に準拠したファイルシステム情報が返送される。主制御部1601は、受信したファイルシステム情報を、内部メモリ1603に格納する。ファイルシステム情報の構成の一例を図18に示す。
ここでは、DVC1501及びPC1504がREAD TRACK INFOMATIONコマンドを実装しているものとして説明した。しかし、いずれかがこのコマンドを実装していない場合も想定される。このような場合には、S1704で説明したREAD(10)コマンドのみを使用して、同様のアドレス情報を取得することができる。
例えばS1704で図18に示したファイルシステム情報を取得し、ファイルシステムに記述されているアドレス及び長さ情報から、コンテンツが存在する最終アドレスにREAD(10)コマンドを発行してアクセスする。ここでエラーが返るか、0x00のみ書き込まれているようならば、最終アドレスにはコンテンツが正常に書き込まれていないことがわかる。そのため、アクセスするアドレスを順次戻しながらREAD(10)コマンドを発行し、エラーが返らないか、0x00以外の値が書き込まれている最初のアドレスを、正常にデータが書き込まれた最終アドレスとして特定することができる。従って、最終アドレスの次のアドレスが、次に書き込み可能な論理アドレスとして得られる。このように、記録媒体のファイルシステム情報と、実際に書き込まれているデータの整合性とに基づいて、書き込みを再開すべきアドレスを取得することが可能である。
S1705で、主制御部1601は、DVC1501に挿入されている光ディスク1502がダメージディスクであるかを判別する。S1702で取得した書き込み可能領域に関する情報から、Damageビット2101に1がセットされている場合には、ダメージディスクであることが判別できる。また、光ディスク1502に次の書き込み可能な領域が存在する場合には、ファイナライズしていないディスクであることが分かる。この場合にはダメージディスクであるかどうかは判別することができないが、ダメージディスクと同様にS1706へ処理を遷移させる。
ダメージディスクまたは未ファイナライズディスクである場合、主制御部1601は、S1706において、PC1504のHDD1607に記憶したディスクイメージデータをチェックする。ディスクイメージデータは光ディスク1502の論理アドレス情報を全て格納したデータであり、HDD1607の容量が許す範囲でいくつでも保持、蓄積できる。なお、本実施形態において、ディスクイメージデータは、光ディスク1502の論理アドレスだけでなく、S1703で取得したようなメディアの属性情報も含んでいるものとする。
主制御部1601は、S1706において、前述したS1703とS1704により取得した光ディスク1502の情報と、HDD1607内に保存されている複数のディスクイメージデータを比較する。そして、現在DVC1501にローディングされている光ディスク1502と同様のディスクイメージデータがHDD1607に保持されていると判断された場合にはS1707に遷移する。
S1707では、光ディスク1502がダメージディスクであり、HDD1607内に同一のディスクイメージデータが保存されていることが分かったため、主制御部1601は、修復機能をONにする。具体的には、修復機能のONを表すデータを例えば内部メモリ1603に格納する。
一方、S1705にて、ファイナライズディスクと判別された場合や、S1706で光ディスク1502と同一のディスクイメージがHDD1607に保存されていないと判断された場合、主制御部1601は処理をS1708に遷移させる。
S1708で、主制御部1601は、プログラムモジュールAの処理を終了して、プログラムモジュールBを起動する。
<モジュールB>
図9は、モジュールBの処理を説明するフローチャートである。
モジュールBの起動時、主制御部1601は、モジュールAの処理により取得した情報を用い、図13に示されるようなGUI画面2310を表示部1609に表示させる。
GUI画面2310は、DVC1501の記録媒体に記録された映像データ一覧を表示するデータ一覧領域2311を有する。また、データ一覧領域2311に表示されたデータが、DVC1501の記録媒体に存在することを、データ一覧領域2311のタイトルバー2313に示している。
一方、タイトルバー2314で示される記録先領域2312は、記録先の内容を示すための領域である。本例では、記録先は読み込み元と等しく、DVC1501であるため、記録先の内容は示されていない。
現在DVC1501にローディングされている光ディスク1502に対して修復機能がONに設定されている場合、GUI画面2310中にはディスク修復ボタン2302が選択可能に表示される。ディスク修復ボタン2302が表示されている場合、コピーボタン2301はグレイアウト表示されており、選択できない。
S1901で、主制御部1601は、GUI画面を介してユーザからコピー命令が入力されていないかどうかを判別する。具体的には、入力装置1605により、コピーボタン2301の選択、押下に相当する操作が入力操作制御部1604を介して入力されたかどうかを判別する。
コピー命令の入力が判別された場合、主制御部1601は、S1902でATAPIのREAD(10)コマンドを発行し、通信制御部1602を通じてDVC1501へ送信する。そして、コマンドに応答してDVC1501から送信されてくる、光ディスク1502から読み出されたデータを受信する。主制御部1601は、受信したデータを内部メモリ1603に一時的に格納した後、HDD1607に格納する。
なお、ATAPIのREAD(10)コマンドの発行から、応答データの受信までの処理は、図8を用いて説明したとおりである。
S1903において、主制御部1601は、光ディスク1502の最終アドレスまで読み込んだかどうか判別する。最終アドレスまで読み取っていなければ、S1902に戻って読み込み処理を繰り返す。
一方、最終アドレスまで読み込んだと判別される場合、主制御部1601は、読み込んだデータを、HDD1607内にはディスクイメージデータとして保存する。この際、ディスクイメージデータには、モジュールAの実行時に取得し、内部メモリ1603に格納しておいたディスクの属性情報を含める。
読み込みが終了すると、主制御部1601は、光ディスク1502の交換を促すメッセージダイアログ画面(図示せず)を表示部1609に表示させる。ユーザから、交換した旨の応答がダイアログ画面を通じて入力されると、主制御部1601は書き込み処理を開始する。
S1904において、主制御部1601は、HDD1607内に保存されたディスクイメージ情報に基づき、書き込みを開始する。書き込みはATAPIのWRITE(10)コマンドで行うものとする。WRITE(10)コマンドにより、論理アドレス0からセクタ単位で書き込みを行う。WRITE(10)コマンドの構成を図14に示す。
Operation Code2401には、WRITE(10)コマンドを示す固定値2Ahが入る。
Logical Block Address2402により指定された書き込み先の論理アドレスから、Transfer Length2403で示されるセクタ数だけ書き込みを行う。
S1904で、主制御部1601は、Logical Block Address2402に論理アドレス00hを指定し、所定のセクタ数をTransfer Length2403に指定したWRITE(10)コマンドを発行する。
S1905で、主制御部1601は、書き込んだセクタが最終アドレスかどうかを判断する。最終アドレスでなければ、S1904へ戻って書き込み先の論理アドレスを順次ずらしながら書き込み処理を継続する。
最終アドレスまで書き込みが行われたら、主制御部1601は書き込み処理を終了し、S1910において、ファイナライズ処理を行う。ファイナライズ処理は、ATAPIのCLOSE TRACK/RZONE/SESSION/BORDERコマンドを発行して行う。図15にCLOSE TRACK/RZONE/SESSION/BORDERコマンドを示す。
ファイナライズ処理が終了したら、再びS1901に戻りコピー命令の入力待ち状態となる。
説明が前後するが、S1904〜S1905における書き込み処理のループを実行中に、USBケーブルが外れる等、正常なデータ転送及び書き込み処理を阻害する事象が発生したとする。この場合、書き込みコマンド送信前の処理ステップ(S1801)で、DVC1501を検出できなくなる。そのため、S1804において書き込み処理が終了されてしまい、DVC1501で書き込み中だった光ディスク1502はダメージディスクとなる。
そして、モジュールBの実行に先立ち、モジュールAの実行時において、現在ローディング中の光ディスク1502がダメージディスクであるかどうかの判別を行ったわけである。
再び図9の説明に戻る。S1901において、ユーザよりコピー命令の入力がなかった場合、主制御部1601はS1906において、モジュールAの実行時に修復機能がONに設定されているか判別する。これは、修復機能のONを表すデータを例えば内部メモリ1603に格納されているかどうかを調べることによって実現できる。
主制御部1601は、修復機能がONに設定されていなければS1901に、修復機能がONに設定されていればS1907にそれぞれ処理を遷移させる。
S1907で、主制御部1601は、ユーザによりディスク修復命令が入力されたかどうかを判別する。すなわち、主制御部1601は、入力装置1605により、ディスク修復ボタン2302の選択、押下に相当する操作が入力操作制御部1604を介して入力されたかどうかを判別する。
主制御部1601は、ディスク修復命令が入力されたと判別されなければS1901に、入力されたと判別されればS1908にそれぞれ処理を遷移させる。
S1908で、主制御部1601は、S1904と同様、ATAPIのWRITE(10)コマンドを発行して、修復処理を実行する。
主制御部1601は、最初に発行するWRITE(10)コマンドのLogical Block Address2402には、モジュールAのS1702の処理で取得した、次に書き込み可能な論理アドレスをセットする。そして、主制御部1601は、WRITE(10)コマンドを、通信制御部1602を介してDVC1501へ送信する。
S1909で、主制御部1601は、S1908で書き込んだ論理アドレスが最終アドレスであればS1910に遷移してファイナライズ処理を行う。最終アドレスでなければ、S1908に戻り、書き込みを続ける。2回目以降の書き込み処理においては、WRITE(10)コマンドのLogical Block Address2402に前回指定した論理アドレスの次の論理アドレスを指定する。
このように、本実施形態では、DVC1501から読み込んだデータを、ディスク属性の情報と共にディスクイメージデータとして記憶しておく。そして、DVC1501にローディングされている記憶媒体が未ファイナライズであったり、ダメージディスクである場合、対応するディスクイメージデータを検索する。対応するディスクイメージデータが存在する場合には、ディスクイメージを利用して光ディスクに続きのデータを書き込む。
このような処理により、書き込み途中で処理が中断してしまった光ディスクを無駄にすることなく、修復することが可能となる。
なお、本実施形態においては、PC1504に実装されているHDD1607内にディスクイメージデータを格納することにしたが、PC1504が読み書き可能な記憶装置であれば、その設置場所についても、記憶装置の種別についても特に制限はない。例えば、HD−DVDやBD等の光学記録媒体を用いる記憶装置であっても良い。また、ケーブルで直接接続されたハードディスクドライブや、アクセス可能なネットワークに接続されたハードディスクドライブであってもよい。
<DVC1501の処理>
(ディスク認識処理)
DVC1501の電源投入時、またはディスクローディングの処理に実行するディスク認識処理について、図19のフローチャートを用いて説明する。
この処理は、例えば、DVC1501の電源投入時や、ユーザが光ディスクドライブの蓋を閉めた際などに、主制御部1401(図4)が実行する。
S2901で、主制御部1401は、ドライブ制御部1411を用い、光ディスク1502のローディング及びチェックを行う。ここで主制御部1401は、まず、光ディスク1502以外の場所に、ダメージディスクの書き込みアドレス情報が無いかチェックし、見つからなければ、光ディスク1502からダメージディスク情報を取得する。
光ディスク1502が、DVD−Rメディアなど、一回のみ書き込み可能なメディアの場合、ダメージディスク情報を光ディスク自体に書き込むと、その後修復できなくなる。そのため、将来の修復可能性を考慮し、ダメージディスク情報が光ディスク1502には記録されていない可能性がある。
そのため、主制御部1401は、例えばメモリカードなどのメモリカード1413がDVC1501に挿入されている場合、メモリカード1413にダメージディスク情報が記録されていないかチェックする。また、内部メモリ1403についてもチェックするようにしてもよい。
光ディスク1502以外の場所にダメージディスク情報が存在していない場合、主制御部1401は、図18に示したような光ディスクのファイルシステムをチェックする。そして、ファイルシステムに記載されているコンテンツの最終アドレスをチェックして、最終アドレスを指定したREAD(10)コマンドを発行して、記録再生制御部1405へ与える。
ファイルシステムに記載されている通り、正常にファイルが記録されているならば、最終アドレスにアクセスすることが可能であり、かつそこには何らかのデータ記録されているはずである。ここで、最終アドレスにデータが存在しないというエラーが記録再生制御部1405から返ってきた場合、主制御部1401は、ローディングされている光ディスク1502が正常に書き込まれていないダメージディスクであることが分かる。
S2902において、主制御部1401は、S2901の処理により、ローディング中の光ディスク1502が正常である場合にはそのまま処理を終える。一方、ローディング中の光ディスク1502がダメージディスクである場合、主制御部1401は、S2903において書き込み失敗アドレスの取得処理を行う。
S2903において、主制御部1401は、内部メモリ1403、メモリカード1413又は光ディスク1502に最後の書き込みアドレスが記録されている場合には処理を終える。それ以外の場合、主制御部1401は、S1704で行ったように、読み出しアドレスを順次戻しながらREAD(10)コマンドを発行し、最初に読み出しに成功したアドレスを取得して、処理を終える。ここで、読み出しに成功したとは、エラーが帰らないか、0x00以外の値が書き込まれていることである。
以上の光ディスク1502の認識処理が終了した後、USB1503を介してPC1504とのやり取りを行うことが可能となる。
(コマンド実行処理)
PC1504と接続された状態における、DVC1501の処理について、図16に示すフローチャートを用いて説明する。
S2601では、PC1504から送られてくるコマンドを通信制御部1402により受信する。ここで、受信するコマンドはATAPIコマンドであるとする。S2602において、主制御部1401は、PC1504からのデータ受信を伴わないコマンドであれば、処理をS2603に遷移させる。また、主制御部1401は、DVC1501からPC1504にデータを送る必要のあるコマンドの場合には、処理をS2604に遷移させる。また、主制御部1401は、PC1504からデータを受信する必要のあるコマンドであれば、処理をS2606に遷移させる。
S2603で主制御部1401は、データの送受信を伴わないコマンドの処理を行う。本実施形態において、S2603で処理を行うコマンドとしては、CLOSE TRACK/Rzone/SESSION/BORDERがある。CLOSE TRACK/Rzone/SESSION/BORDERを受信した場合、主制御部1401は、ドライブ制御部1411に対してファイナライズ処理命令を発行し、光ディスク1502のファイナライズ処理を実行する。
S2604で主制御部1401は、PC1504に対してデータを送信するためのコマンドを用意するための処理を実行する。本実施形態においてDVC1501がPC1504から受信するコマンドの多くはS2604で処理される。具体的には、INQUIRY、READ TRACK INFORMATION、READ DVD STRUCTURE、READ(10)の各コマンドがS2604で処理される。
主制御部1401は、これらのコマンドを受信すると、ドライブ制御部1411又は記録再生制御部1405に、コマンドに応じたデータを要求する命令を発行する。これに応答してドライブ制御部1411や記録再生制御部1405は、光ディスク1502または、ドライブ制御部1411で保持しているデータを読み出し、内部メモリ1403に一時的に格納する。S2605において、主制御部1401は、内部メモリ1403に格納されたデータを、通信制御部1402を介してPC1504に送信する。
S2606において、主制御部1401は、PC1504から送られてきたデータを内部メモリ1403に格納する。
S2607で主制御部1401は、受信したデータとコマンドに基づいて記録再生制御部1405に対して命令を実行する。本実施形態においては、WRITE(10)コマンドがS2606及びS2607で処理される。主制御部1401は、内部メモリ1403に格納されたデータを順次記録再生制御部1405を介して光ディスク1502に書き込む。
S2608において、主制御部1401は、受信したコマンドに基づく処理の結果を通知するCSWを生成し、PC1504へ送信する。上述の通り、CSWは、そのbCSWStatusフィールドに、コマンドが成功した場合には00hが、コマンドが失敗した場合には01hを有する。
以上、S2601〜S2608の処理をPC1504と接続している間、繰り返し行う。
(接続認識処理)
次に、DVC1501が、PC1504との接続を認識する際の処理について、図17に示すフローチャートを用いて説明する。
S2701において、主制御部1401は、DVC1501がPC1504と接続しているかどうかを、通信制御部1402を用いて確認する。ここで接続が確認された場合、繰り返しS2701の処理を行い、PC1504との接続を確認する。
PC1504との接続が確認できない場合、主制御部1401は、S2702において、光ディスク1502にデータ書き込み中かどうかを確認する。データ書き込み中でなければ処理を終了する。
データ書き込み中であれば、S2703で、主制御部1401は、正常に書き込み処理を終了可能であるか否かを判別する。具体的には、書き込まれていない領域、すなわち現在書き込み中のアドレスから最終論理アドレスまでの領域にコンテンツ情報を書き込む可能性があるかどうかを判別する。例えば、ファイルシステムにおいて、図18に示すファイルリストが生成されており、書き込み中である領域がフィールド2801で定義されるような、何もデータがない領域であれば、0x00の値を書き込むだけとなる。従って、フィールド2801への書き込みにはPC1504からのWRITE(10)コマンドを必要としない。このような、コンテンツが書き込まれない領域で書き込みが中断した場合、主制御部1401は、S2704において、光ディスク1502の残りの全セクタに対して0x00の値を書き込む。
一方、図18の他のフィールドのように、PC1504のデータを受信しないと書き込みができない領域が最終論理アドレスまでの間に存在する場合、その領域に書き込むデータはPC1504から受信する必要がある。
この場合、主制御部1401はS2705において、ローディング中の光ディスク1502がダメージディスクであることを示す情報を記録する。上述したように、ローディング中の光ディスク1502が一回のみ書き込み可能な場合、主制御部1401は光ディスク1502以外の場所、具体的には内部メモリ1403やメモリカード1413に記録する。この場合、主制御部1401は、光ディスク1502のファイル情報(例えば、図18に示すファイルリスト)と、書き込みを失敗したアドレスを記録する。また、ローディング中の光ディスク1502が再記録可能であれば、主制御部1401は記録再生制御部1405を介して光ディスク1502に書き込みを失敗したアドレスを記録する。
なお、ここではS2701において、書き込みが失敗する事象として、PCとの接続解除を検出する例を説明した。しかし、他の事象を検出することも可能である。例えばDVC1501のように複数の動作モード(例えば再生モードと記録モード)を有する装置では、モード切替や電源OFFをS2701で検出してもよい。もちろん、複数の事象のいずれかの発生を検出しても良い。
このように、本実施形態のDVC1501によれば、書き込みに失敗した場合、失敗した場所を特定可能な情報を記録するため、上述した修復処理をよりスムーズに行うことが可能となる。また、コンテンツを全て書き終えてから発生した書き込みエラーについては、DVC1501側で対処することが可能であるので、ディスクを無駄にすることがない。
[他の実施形態]
なお、上述の実施形態では、ネットワークインタフェースとしてUSBを用いた場合について説明したが、IEEE1394など、他の規格に準拠したネットワークインタフェースを用いる場合であっても、本発明を適用可能である。
また、上述の実施形態では、複製時にデータを書き込む記録媒体として、ディスク状記録媒体を用いる例について説明した。しかし、本発明は、書き込みの最中でエラーが発生した場合の修復方法として、ディスク状記録媒体に限らず任意の記録媒体を用いた複数処理に適用することができる。同様に、記録媒体の複製を生成する装置はDVC1501に限らず、PC1504とデータを送受信可能で、PC1504から受信したデータを記録媒体に記録可能な装置であればどのような装置でもよい。
上述の実施形態は、システム或は装置のコンピュータ(或いはCPU、MPU等)によりソフトウェア的に実現することも可能である。
従って、上述の実施形態をコンピュータで実現するために、該コンピュータに供給されるコンピュータプログラム自体も本発明を実現するものである。つまり、上述の実施形態の機能を実現するためのコンピュータプログラム自体も本発明の一つである。
なお、上述の実施形態を実現するためのコンピュータプログラムは、コンピュータで読み取り可能であれば、どのような形態であってもよい。例えば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等で構成することができるが、これらに限るものではない。
上述の実施形態を実現するためのコンピュータプログラムは、記憶媒体又は有線/無線通信によりコンピュータに供給される。プログラムを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記憶媒体、MO、CD、DVD等の光/光磁気記憶媒体、不揮発性の半導体メモリなどがある。
有線/無線通信を用いたコンピュータプログラムの供給方法としては、コンピュータネットワーク上のサーバを利用する方法がある。この場合、本発明を形成するコンピュータプログラムとなりうるデータファイル(プログラムファイル)をサーバに記憶しておく。プログラムファイルとしては、実行形式のものであっても、ソースコードであっても良い。
そして、このサーバにアクセスしたクライアントコンピュータに、プログラムファイルをダウンロードすることによって供給する。この場合、プログラムファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに分散して配置することも可能である。
つまり、上述の実施形態を実現するためのプログラムファイルをクライアントコンピュータに提供するサーバ装置も本発明の一つである。
上述の実施形態は、システム或は装置のコンピュータ(或いはCPU、MPU等)によりソフトウェア的に実現することも可能である。
従って、上述の実施形態をコンピュータで実現するために、該コンピュータに供給されるコンピュータプログラム自体も本発明の一つである。つまり、上述の実施形態の機能を実現するためのコンピュータプログラム自体も本発明の一つである。
なお、上述の実施形態を実現するためのコンピュータプログラムは、コンピュータで読み取り可能であれば、どのような形態であってもよい。例えば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等で構成することができるが、これらに限るものではない。
上述の実施形態を実現するためのコンピュータプログラムは、記憶媒体又は有線/無線通信によりコンピュータに供給される。プログラムを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記憶媒体、MO、CD、DVD等の光/光磁気記憶媒体、不揮発性の半導体メモリなどがある。
有線/無線通信を用いたコンピュータプログラムの供給方法としては、コンピュータネットワーク上のサーバを利用する方法がある。この場合、本発明を形成するコンピュータプログラムとなりうるデータファイル(プログラムファイル)をサーバに記憶しておく。プログラムファイルとしては、実行形式のものであっても、ソースコードであっても良い。
そして、このサーバにアクセスしたクライアントコンピュータに、プログラムファイルをダウンロードすることによって供給する。この場合、プログラムファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに分散して配置することも可能である。
つまり、上述の実施形態を実現するためのプログラムファイルをクライアントコンピュータに提供するサーバ装置も本発明の一つである。
また、上述の実施形態を実現するためのコンピュータプログラムを暗号化して格納した記憶媒体を配布し、所定の条件を満たしたユーザに、暗号化を解く鍵情報を供給し、ユーザの有するコンピュータへのインストールを許可してもよい。鍵情報は、例えばインターネットを介してホームページからダウンロードさせることによって供給することができる。
また、上述の実施形態を実現するためのコンピュータプログラムは、すでにコンピュータ上で稼働するOSの機能を利用するものであってもよい。
さらに、上述の実施形態を実現するためのコンピュータプログラムは、その一部をコンピュータに装着される拡張ボード等のファームウェアで構成してもよいし、拡張ボード等が備えるCPUで実行するようにしてもよい。
マスストレージクラスのCBWの構成を示す図である。 マスストレージクラスのCSWの構成を示す図である。 ATAPIのREAD(10)コマンドの構成を示す図である。 本発明の実施形態に係るデジタルビデオカメラが有する構成要素の一例を示す図である。 本発明の一実施形態に係る記録装置制御システムの構成の一例を示す図である。 本発明の実施形態に係るパーソナルコンピュータ有する構成要素の一例を示す図である。 本発明の実施形態に係る記録装置制御アプリケーションを構成するモジュールAの処理を説明するフローチャートである。 本発明の実施形態において、PCとデジタルビデオカメラとの間で行われるコマンドの受送信に係る処理の基本的な手順を説明するフローチャートである。 本発明の実施形態に係る記録装置制御アプリケーションを構成するモジュールBの処理を説明するフローチャートである。 INQUIRYコマンドに応答してデジタルビデオカメラより返されるレスポンスデータの構成を示す図である。 READ TRACK INFORMATIONコマンドに応答してデジタルビデオカメラより返されるレスポンスデータの構成を示す図である。 READ DVD STRUCTUREコマンドに応答してデジタルビデオカメラより返されるレスポンスデータの構成を示す図である。 本発明の実施形態に係る記録装置制御アプリケーションのGUI画面例を示す図である。 ATAPIのWRITE(10)コマンドの構成を示す図である。 ATAPIのCLOSE TRACK/Rzone/SESSION/BORDERコマンドの構成を示す図である。 本発明の実施形態に係るDVC1501が、PC1504と接続された状態で行う処理について説明するフローチャートである。 本発明の実施形態に係るDVC1501が、PC1504との接続を認識する際の処理について説明するフローチャートである。 本実施形態における光ディスク1502に記録されているファイルシステム情報の構成の一例を示す図である。 本発明の実施形態に係るDVC1501が電源投入時、またはディスクローディングの処理に実行するディスク認識処理について説明するフローチャートである。

Claims (10)

  1. 外部記録装置側の記録媒体が、書き込み処理が正常に終了された記録媒体であるか否かを判別する判別手段と、
    前記判別手段により、書き込み処理が正常に終了された記録媒体でないと判別された場合、前記記録媒体に書き込むべきデータが記憶装置に記憶されているか否かを検出する検出手段と、
    前記記録媒体に書き込むべきデータが前記記憶装置に記憶されていた場合、当該データを前記記録媒体に対して書き込む書き込み手段とを有することを特徴とする制御装置。
  2. 前記記憶装置は、前記制御装置に以前接続された外部記録装置から受信した、当該外部記録装置側の記録媒体に記録されたデータ及び当該記録媒体の識別情報を保持することを特徴とする請求項1に記載の制御装置。
  3. 前記記憶装置は、前記以前接続された外部記録装置から受信した、当該外部記録装置側の記録媒体に記録されたデータ及び当該記録媒体の識別情報を、ディスクイメージとして保持することを特徴とする請求項2に記載の制御装置。
  4. 前記検出手段は、前記外部記録装置側の記録媒体の識別情報と、前記記憶装置に記憶された識別情報とに基づいて、前記書き込むべきデータが記憶装置に記憶されているか否かを検出することを特徴とする請求項2又は請求項3に記載の制御装置。
  5. 前記判別手段により、書き込み処理が正常に終了された記録媒体でないと判別された記録媒体について、書き込みを再開すべきアドレスを取得する取得手段をさらに有し、
    前記書き込み手段は、前記取得手段が取得したアドレスから前記書き込みを開始することを特徴とする請求項1から4のいずれかに記載の制御装置。
  6. 前記取得手段は、前記記録媒体において次に書き込み可能な論理アドレスを、前記書き込みを再開すべきアドレスとして取得することを特徴とする請求項5に記載の制御装置。
  7. 前記取得手段は、前記外部記録装置が保持する書き込み失敗アドレスから、前記書き込みを再開すべきアドレスを取得することを特徴とする請求項5に記載の制御装置。
  8. 前記取得手段は、前記記録媒体のファイルシステム情報と、実際に書き込まれているデータとの整合性に基づいて、前記書き込みを再開すべきアドレスを取得することを特徴とする請求項5に記載の制御装置。
  9. 請求項1から8のいずれかに記載の制御装置からの書き込み命令に従い、前記制御装置から受信したデータを記録媒体に書き込む記録装置であって、
    前記データを前記記録媒体に書き込み中に前記制御装置との接続が解除された場合、前記記録媒体への書き込み処理を正常に終了可能であるか否かを判別する判別手段と、
    前記書き込み処理を正常に終了可能であると判別された場合に、前記書き込み処理を正常に終了させる終了手段と、
    前記書き込み処理を正常に終了可能でないと判別された場合に、書き込みを失敗したアドレスを記録する記録手段とを有することを特徴とする記録装置。
  10. 前記判別手段は、現在書き込み中のアドレスから最終論理アドレスまでの間に、前記制御装置から受信する必要のあるデータを書き込む必要があるか否かに基づいて、前記記録媒体への書き込み処理を正常に終了可能であるか否かを判別することを特徴とする請求項9に記載の制御装置。
JP2006327627A 2006-12-04 2006-12-04 制御装置及び記録装置 Withdrawn JP2008140519A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006327627A JP2008140519A (ja) 2006-12-04 2006-12-04 制御装置及び記録装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006327627A JP2008140519A (ja) 2006-12-04 2006-12-04 制御装置及び記録装置

Publications (1)

Publication Number Publication Date
JP2008140519A true JP2008140519A (ja) 2008-06-19

Family

ID=39601801

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006327627A Withdrawn JP2008140519A (ja) 2006-12-04 2006-12-04 制御装置及び記録装置

Country Status (1)

Country Link
JP (1) JP2008140519A (ja)

Similar Documents

Publication Publication Date Title
US8050905B2 (en) Automatic connection to an online service provider from a backup system
US7539783B2 (en) Systems and methods of media management, such as management of media to and from a media storage library, including removable media
JP3866892B2 (ja) 情報処理装置とその保守サービスシステム
JP2014038569A (ja) ディスク記録内容バックアップシステムおよびディスク記録内容バックアップ方法
CN101500081A (zh) 信息记录再现装置及备份拷贝方法
CN101366006A (zh) 用于数据备份应用程序的仿真组件
CN101393538B (zh) 信息再生系统、数据生成装置、数据再生装置
JP2003141813A (ja) 記録再生装置及び記録再生方法
WO2005114664A1 (ja) 画像データ管理方法及び管理プログラム
US20060280488A1 (en) Reproduction apparatus
JP2006237747A (ja) 情報処理装置及び撮像装装置、並びにシステム
US20080226264A1 (en) Recording medium handling apparatus and method
JP3647393B2 (ja) 記録再生装置及び該記録再生装置を備えた情報処理システム
JP2008140519A (ja) 制御装置及び記録装置
JP2008141725A (ja) 撮影装置及びその撮影装置に用いるファイル管理方法
JP2008041120A (ja) 情報処理装置及び情報処理方法
KR100754195B1 (ko) 멀티미디어 장치의 데이터 백업 방법
JP4750675B2 (ja) 記録再生装置
JP2005539306A (ja) データ記憶装置と民生用電子装置との直接接続
JP3890640B2 (ja) コマーシャル送出システムおよびコマーシャル送出方法
JP2009163587A (ja) バックアップ制御装置、コンテンツバックアップ方法、コンテンツ再生方法
JP2005182864A (ja) 記録再生装置及び記録再生方法
JP5239765B2 (ja) 電子計算機、電子計算機の外部ストレージデバイスの認識情報のネットワーク情報共有処理方法、及びコンピュータプログラム
JP4455479B2 (ja) 記録再生装置
JP2006293781A (ja) 記録再生装置、情報処理装置、情報処理システム

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20100302