説明

記録装置、記録方法および記録プログラム、記録再生装置、記録再生方法および記録再生プログラム、ならびに、撮像装置

【課題】 ハードディスクなどに記録を行う際に、振動や衝撃、落下などによる記録エラーが発生してもデータの記録が継続可能とし、記録エラー発生時の記録データが失われることを防ぐようにする。
【解決手段】 ハードディスクに対してデータを記録中に、振動や衝撃、落下などで記録処理がタイムアウトし記録エラーになると、データの記録先がハードディスクから不揮発性メモリに切り換えられ、データの記録が継続される。不揮発性メモリに書き込まれたデータは、例えばハードディスクの再生時など所定のタイミングで、ハードディスクに対して書き戻される。書き戻しが成功すると、不揮発性メモリ内の書き戻されたデータが削除される。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、ハードディスクといったランダムアクセス可能なディスク状記録媒体に対する落下や振動、衝撃などにより記録エラーが発生した場合に、記録処理を継続可能とすると共に、記録エラーによる記録データの損失が無いようにした記録装置、記録方法および記録プログラム、記録再生装置、記録再生方法および記録再生プログラム、ならびに、撮像装置に関する。
【背景技術】
【0002】
ランダムアクセス可能なディスク状記録媒体の一つであるハードディスクは、記録容量が大きくアクセス速度が高速であることから、コンピュータ装置などの記録媒体として従来から多く用いられていた。近年では、ハードディスクの小型化および大容量化に伴い、携帯用のビデオカメラやオーディオ機器などの記録媒体としての需要も、大幅に伸びている。
【0003】
ハードディスクでは、一般的に、ディスク表面に対してヘッドを近接させ、ディスクを高速に回転させると共にヘッドをディスクの径方向に移動させながらディスク上のアドレスにアクセスして、ディスクに対するデータの記録や、ディスクに記録されたデータの再生を行う。
【0004】
ハードディスクは、アクセスが機構的に行われるため、落下や振動、衝撃よりアクセスエラーを起こす可能性がある。すなわち、アクセス中のハードディスクに対して所定量以上の振動や衝撃、加速度が加えられると、ヘッドが例えばディスク面から所定距離以上離れる、ヘッドとディスクとが接触するなどにより、アクセス不能状態に陥ったり、ヘッドおよび/またはディスクを破損してしまうことがある。例えば、ハードディスク装置に振動などを検知するためのセンサを設け、所定量以上の振動を検知すると、記録再生を停止させてヘッドを安全領域に移動させることで、ヘッドとディスクの接触によるヘッドおよび/またはディスクの破損を避けるようにしたものもある。
【0005】
再生中にアクセスエラーが生じると、データの再生が中断されてしまうことになる。そこで、従来から、ハードディスクに記録されているデータを再生する際に、再生すべきデータの所定量を予めハードディスクから読み出してバッファリングしておくことで、ハードディスクからのデータの再生が途切れた場合に対処することが行われていた。例えば、ビデオデータの場合、ハードディスクに記録されたビデオデータを、再生時刻に対して所定時間分先のデータまでをハードディスクから先読みして、メモリに溜め込むようにする。
【0006】
また、ハードディスクは、ヘッドのシーク動作によってもアクセスが中断されてしまうことがある。特許文献1には、シーク動作に伴い発生する再生中断を回避するために、シークによるアクセスが必要となる箇所の先頭部分のデータを所定データ量だけメモリに保持し、シークによりディスク状記録媒体からのデータ再生が困難な期間の間、このメモリに保持したデータを出力するようにした技術が記載されている。
【特許文献1】特開2003−125358号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
ここで、略リアルタイムに供給される、ビデオデータやオーディオデータといった時間的に連続するストリームデータを、ハードディスクに対して記録する場合について考える。記録時も、再生時と同様に、記録中のハードディスクに一定量以上の振動や衝撃が加えられた場合、記録エラーが発生する可能性がある。従来では、記録中に記録エラーが発生した場合は記録を停止するしかなく、エラーにより記録できなかったデータを復帰させる方法がなかったという問題点があった。
【0008】
特に、携帯用のビデオカメラの記録媒体としてハードディスクを用いた場合に、落下や振動、衝撃などで記録が停止してしまうと、撮影自体がその時点で中断されてしまい、撮影を再び再開するまでの間の貴重な撮影チャンスを逸してしまうという問題点があった。
【0009】
また、撮影が中断された時点における、唯一無二の撮影タイミングで撮影されたデータが失われることになり、ビデオカメラの機能として問題があった。
【0010】
なお、記録時には、ディスク状記録媒体が未記録の状態であったり、十分な空き容量が存在する場合には、データを媒体上の連続したアドレスに記録することができ、シークによる問題は生じにくいものと考えられる。
【0011】
したがって、この発明の目的は、ハードディスクといったディスク状記録媒体を用いた場合に、落下や振動、衝撃などによる記録エラーが発生してもデータの記録が継続されると共に、記録エラー発生時の記録データが失われることを防ぐことができるようにした記録装置、記録方法および記録プログラム、記録再生装置、記録再生方法および記録再生プログラム、ならびに、撮像装置を提供することにある。
【課題を解決するための手段】
【0012】
第1の発明は、上述した課題を解決するために、ディスク状記録媒体にデータを記録する記録装置において、書き込み要求されたデータをディスク状記録媒体に書き込む記録部と、ディスク状記録媒体に対する書き込み要求されたデータの書き込みが正常に行われるか否かを判断する判断部と、記録部によるディスク状記録媒体に対するデータの書き込みを制御する制御部とを有し、制御部は、判断部により書き込み要求されたデータの書き込みが正常に行われないと判断された場合に、書き込み要求されたデータを不揮発性の記憶媒体に書き込むと共に、書き込み要求されたデータの管理情報を作成し保持するようにしたことを特徴とする記録装置である。
【0013】
また、第2の発明は、ディスク状記録媒体にデータを記録する記録方法において、書き込み要求されたデータをディスク状記録媒体に書き込む記録のステップと、ディスク状記録媒体に対する書き込み要求されたデータの書き込みが正常に行われるか否かを判断する判断のステップと、記録のステップによるディスク状記録媒体に対するデータの書き込みを制御する制御のステップとを有し、制御のステップは、判断のステップにより書き込み要求されたデータの書き込みが正常に行われないと判断された場合に、書き込み要求されたデータを不揮発性の記憶媒体に書き込むと共に、書き込み要求されたデータの管理情報を作成し保持するようにしたことを特徴とする記録方法である。
【0014】
また、第3の発明は、ディスク状記録媒体にデータを記録する記録方法をコンピュータ装置に実行させる記録プログラムにおいて、記録方法は、書き込み要求されたデータをディスク状記録媒体に書き込む記録のステップと、ディスク状記録媒体に対する書き込み要求されたデータの書き込みが正常に行われるか否かを判断する判断のステップと、記録のステップによるディスク状記録媒体に対するデータの書き込みを制御する制御のステップとを有し、制御のステップは、判断のステップにより書き込み要求されたデータの書き込みが正常に行われないと判断された場合に、書き込み要求されたデータを不揮発性の記憶媒体に書き込むと共に、書き込み要求されたデータの管理情報を作成し保持するようにした記録方法をコンピュータ装置に実行させることを特徴とする記録プログラムである。
【0015】
また、第4の発明は、ディスク状記録媒体にデータを記録し、ディスク状記録媒体からデータを再生する記録再生装置において、書き込み要求されたデータをディスク状記録媒体に書き込む記録部と、ディスク状記録媒体に書き込まれたデータを読み出し要求に基づき再生する再生部と、ディスク状記録媒体に対する書き込み要求されたデータの書き込みが正常に行われるか否かを判断する判断部と、記録部によるディスク状記録媒体に対するデータの書き込みと、再生部によるディスク状記録媒体からのデータの再生とを制御する制御部とを有し、制御部は、判断部により書き込み要求されたデータの書き込みが正常に行われないと判断された場合に、書き込み要求されたデータを不揮発性の記憶媒体に書き込むと共に、書き込み要求されたデータの管理情報を作成し保持するようにしたことを特徴とする記録再生装置である。
【0016】
また、第5の発明は、ディスク状記録媒体にデータを記録し、ディスク状記録媒体からデータを再生する記録再生方法において、書き込み要求されたデータをディスク状記録媒体に書き込む記録のステップと、ディスク状記録媒体に書き込まれたデータを読み出し要求に基づき再生する再生のステップと、ディスク状記録媒体に対する書き込み要求されたデータの書き込みが正常に行われるか否かを判断する判断のステップと、記録のステップによるディスク状記録媒体に対するデータの書き込みと、再生のステップによるディスク状記録媒体からのデータの再生とを制御する制御のステップとを有し、制御のステップは、判断のステップにより書き込み要求されたデータの書き込みが正常に行われないと判断された場合に、書き込み要求されたデータを不揮発性の記憶媒体に書き込むと共に、書き込み要求されたデータの管理情報を作成し保持するようにしたことを特徴とする記録再生方法である。
【0017】
また、第6の発明は、ディスク状記録媒体にデータを記録し、ディスク状記録媒体からデータを再生する記録再生方法をコンピュータ装置に実行させる記録再生プログラムにおいて、記録再生方法は、書き込み要求されたデータをディスク状記録媒体に書き込む記録のステップと、ディスク状記録媒体に書き込まれたデータを読み出し要求に基づき再生する再生のステップと、ディスク状記録媒体に対する書き込み要求されたデータの書き込みが正常に行われるか否かを判断する判断のステップと、記録のステップによるディスク状記録媒体に対するデータの書き込みと、再生のステップによるディスク状記録媒体からのデータの再生とを制御する制御のステップとを有し、制御のステップは、判断のステップにより書き込み要求されたデータの書き込みが正常に行われないと判断された場合に、書き込み要求されたデータを不揮発性の記憶媒体に書き込むと共に、書き込み要求されたデータの管理情報を作成し保持するようにした記録再生方法をコンピュータ装置に実行させることを特徴とする記録再生プログラムである。
【0018】
また、第7の発明は、撮像部で被写体を撮像して得られたビデオデータをディスク状記録媒体に記録し、ディスク状記録媒体からビデオデータを再生する撮像装置において、被写体を撮像してビデオデータを出力する撮像部と、書き込み要求されたビデオデータをディスク状記録媒体に書き込む記録部と、ディスク状記録媒体に書き込まれたビデオデータを読み出し要求に基づき再生する再生部と、ディスク状記録媒体に対する書き込み要求されたビデオデータの書き込みが正常に行われるか否かを判断する判断部と、記録部によるディスク状記録媒体に対するビデオデータの書き込みと、再生部によるディスク状記録媒体からのビデオデータの再生とを制御する制御部とを有し、制御部は、判断部により書き込み要求されたビデオデータの書き込みが正常に行われないと判断された場合に、書き込み要求されたデータを不揮発性の記憶媒体に書き込むと共に、書き込み要求されたビデオデータの管理情報を作成し保持するようにしたことを特徴とする撮像装置である。
【0019】
上述したように、この発明は、書き込み要求されたデータをディスク状記録媒体に書き込む際に、書き込み要求されたデータの書き込みが正常に行われるか否かを判断し、判断結果に基づき書き込み要求されたデータの書き込みが正常に行われないと判断された場合に、書き込み要求されたデータを不揮発性の記憶媒体に書き込むと共に、書き込み要求されたデータの管理情報を作成し保持するようにしているため、ディスク状記録媒体に対する書き込み要求されたデータの書き込みが正常に行われない場合でも、書き込み要求によるデータの書き込み処理を継続することができる。
【発明の効果】
【0020】
この発明は、上述のように、書き込み要求されたデータをディスク状記録媒体に書き込む際に、書き込み要求されたデータの書き込みが正常に行われるか否かを判断し、判断結果に基づき書き込み要求されたデータの書き込みが正常に行われないと判断された場合に、書き込み要求されたデータを不揮発性の記憶媒体に書き込むと共に、書き込み要求されたデータの管理情報を作成し保持するようにしているため、ディスク状記録媒体に対する書き込み要求されたデータの書き込みが正常に行われない場合でも、書き込み要求によるデータの書き込み処理を継続することができる効果がある。
【発明を実施するための最良の形態】
【0021】
以下、この発明の実施の第1の形態について説明する。この発明では、例えばハードディスクといったディスク状記録媒体に対するデータの記録中に記録エラーが発生した際や記録エラーの発生するおそれがある場合に、記録データを不揮発性メモリなどの他の記録媒体に記憶させ、記録データを退避させるようにする。さらに、この他の記録媒体に記憶された記録データを、所定のタイミングで、ディスク状記録媒体の本来書き込まれるべき位置に書き戻すようにしている。
【0022】
ディスク状記録媒体に記録データを記録中に落下や振動、衝撃などで記録エラーが発生したり、記録エラーが発生するおそれがある状況になっても記録を継続することができ、ディスク状記録媒体に対する記録エラーが発生した場合でも記録データが失われることがない。また、記録エラーに伴い不揮発性メモリなどの他の記録媒体に記憶された記録データを、後にディスク状記録媒体の所定位置に書き込むことで、恰も記録エラーが存在しなかったかの如く、ディスク状記録媒体から記録データの再生を行うことができる。
【0023】
先ず、理解を容易とするために、この発明の実施の第1の形態に適用可能なファイルシステムについて、概略的に説明する。この発明の実施の第1の形態では、ファイルシステムとして、FAT(File Allocation Table)を適用する。FATは、コンピュータ装置のOS(Operating System)の一つであるWindows(登録商標)で用いられるファイルシステムであって、エントリのサイズによってFAT16やFAT32と呼ばれる。
【0024】
図1は、FATファイルシステムに基づきフォーマットされたハードディスクのデータ構造の例を示す。図1Aは、FAT16でフォーマットした例を示す。ハードディスク全体は、LBA(Logical Block Address)モードにより、0から始まるLBAという論理的な通し番号でセクタ番号が指定される。ハードディスクの先頭セクタ(LBA=0)には、マスターブートレコード(MBR)が配置される。
【0025】
マスターブートレコードは、図2に一例が示されるように、起動コードと当該ハードディスクに対して割り当てられたパーティションの情報が記述される。図3は、マスターブートレコードにおいてパーティションの情報が記述されるパーティションテーブルの一例の構造を示す。パーティションテーブルは、パーティションに対するアクセスポインタがCHS(Cylinder/Head/Secter)モードおよびLBAモードで記述される。アクセスポインタは、CHSモードでは、開始セクタと終了セクタとで記述され、LBAモードでは、開始セクタとパーティションサイズとで記述される。
【0026】
マスターブートレコードの次に、所定の空き領域を介してパーティションが配置される。パーティションの先頭には、パーティションブートレコード(PBR)が配置され、ディスクパラメータ、最初のファイルを読み込むためのプログラムコードなどが記述される。パーティションブートレコードに続けて、FATが記述される。FATの次には、ルートディレクトリエントリが記述される。このルートディレクトリエントリは、FATにより管理されない領域である。ルートディレクトリエントリの次からがデータ領域とされ、FATにより管理されるクラスタが並べられる。
【0027】
なお、クラスタは、セクタを2n個(nは0以上の整数)集めたもので、FATにおいてデータを管理可能な最小単位である。また、1セクタのサイズは、ハードディスクの場合、512バイトが一般的に用いられる。
【0028】
図4は、FAT16におけるディレクトリエントリの一例の構造を示す。図4において、横方向の1目盛りは、8ビットを示す。ディレクトリエントリは、1のファイルに対して、先頭から、ファイル名、拡張子名および属性情報が記述され、予約領域を介して、さらにファイルの作成時刻および作成日時、最終アクセス日時、先頭クラスタ番号(高位側)、記録時刻および日付、先頭クラスタ番号(低位側)およびファイルサイズが記述される。このファイル情報が当該ディレクトリエントリが属するパーティションに記録されるファイル数分、記述される。
【0029】
なお、FAT32においては、VFAT(Virtual FAT)ファイルシステムにより、最長255文字までのファイル名を指定できるようになっている。VFATシステムでは、FAT16のディレクトリエントリを拡張し、FAT16ファイルシステムと互換性のあるファイル名を保持するディレクトリエントリに加えて、長いファイル名を記録するディレクトリエントリを設けている。
【0030】
図1Bは、FAT32でフォーマットした例を示す。この場合には、上述のFAT16でフォーマットした例に対して、ルートディレクトリエントリをデータ領域内に配置するようになっている点と、パーティションブートレコードの次に領域FSInfoが置かれる点とが異なっている。領域FSInfoは、空きクラスタ情報が記述される。
【0031】
FATファイルシステムは、データ領域に割り当てられたクラスタ全てと1対1で対応する要素(FATエントリ)が順番に並んだテーブルを用いて、記録領域の管理を行う。図5は、FAT32によるFATの例を示す。FAT32は、図5Aに例示されるように、1のエントリが32ビットのサイズを有する。図5A中、行および列で示されるクラスタ番号のそれぞれにFATエントリが対応付けられ、「RSV」は、予約クラスタを示し、「EOF」は、そのクラスタがファイルの終端であることを示す。FATエントリに16進表記で示される数値は、当該FATエントリで示されるクラスタに連結される次のクラスタのクラスタ番号を表している。
【0032】
FATファイルシステムでは、後述するディレクトリエントリに基づき先頭クラスタ番号を取得し、先頭クラスタ番号に基づきFATエントリを参照し、連結される次のクラスタのクラスタ番号を見つけながら、ファイルのアクセスを行う。
【0033】
図5Aの例では、第1のファイルは、先頭クラスタ番号がクラスタ番号「00000007」であって、クラスタ番号「00000008」と続き、クラスタ番号「00000009」でファイル終端となる(図5B参照)。第2のファイルは、先頭クラスタ番号がクラスタ番号「0000000A」であって、クラスタ番号「0000001F」、「00000025」、「00000031」と続き、クラスタ番号「00000030」でファイル終端となる(図5C参照)。第3のファイルは、先頭クラスタ番号がクラスタ番号「0000001B」であって、クラスタ番号「00000011」、「00000012」、「00000013」、「00000014」と続き、クラスタ番号「00000003」でファイル終端となる(図5D参照)。また、第4のファイルは、先頭クラスタ番号がクラスタ番号「0000002C」であって、クラスタ番号「0000002D」、「0000002E」、「0000002F」、「00000038」、「00000039」、「0000003A」と続き、クラスタ番号「0000003B」でファイル終端となる(図5E参照)。
【0034】
図6は、上述したファイルシステムを実現するための一例のアーキテクチャを示す。アプリケーション部10、ファイルシステム部11およびデバイスドライバ部12は、ホストCPU(Central Processing Unit)上で動作するプログラムである。記録媒体13は、ハードディスクや不揮発性メモリなどのハードウェアである。ファイルシステム部11は、例えばホストCPU上で動作するOS(Operating System)に含まれる。アプリケーション部10は、このOS上で動作するソフトウェアである。OSは、デバイスドライバ部12を介して、アプリケーション部10と記録媒体13との間の仲介を行う。
【0035】
なお、ハードディスクは、一般的には、記録媒体そのものであるハードディスク本体と、ハードディスクを駆動するためのドライブ装置とからなるハードディスクドライブ(HDD)として用いられる。
【0036】
アプリケーション部10は、記録媒体13に対してファイルレベルでアクセス要求を出す。このアクセス要求は、ファイルシステム部11に渡される。ファイルシステム部11は、アプリケーション部10から渡されたファイルレベルのアクセス要求を、FATファイルシステムに基づくクラスタレベルのアクセス要求に変換する。例えば、ファイルシステム部11は、ファイルレベルのアクセス要求に基づきFATを参照してアクセスを行うクラスタ番号を取得し、取得されたクラスタ番号からLBAを計算する。このクラスタレベルのアクセス要求は、デバイスドライバ部12に渡され、実際に記録媒体13にアクセスするためのセクタレベルのアクセス要求に変換される。デバイスドライバ部12は、セクタレベルのアクセス要求を、所定のインターフェイスを介して記録媒体13に渡す。
【0037】
アクセス要求に対するアクセス応答は、上述と逆の流れで行われる。すなわち、記録媒体13におけるセクタレベルのアクセス要求に対する応答が、セクタレベルのアクセス応答としてでバイスドライバ部12に返される。例えば、記録媒体13において、セクタに対するデータの書き込みが成功したか否か、あるいは、セクタからのデータの読み出しが成功したか否かといったセクタレベルの応答が、記録媒体13からデバイスドライバ部12に返される。
【0038】
デバイスドライバ部12は、このセクタレベルのアクセス応答を、クラスタレベルのアクセス応答、例えばLBA単位のアクセス応答に変換してファイルシステム部11に渡す。ファイルシステム部11では、このLBAに基づきクラスタ番号を求め、FATを参照して求められたクラスタ番号に対応するファイル情報を取得する。このファイル情報に基づき、ファイルレベルのアクセス応答がファイルシステム部11からアプリケーション部10に返される。
【0039】
次に、この発明の実施の第1の形態について説明する。この発明では、落下や振動、衝撃などにより、例えばハードディスクといったディスク状記録媒体に対するデータの書き込みが困難な期間に、ディスク状記録媒体に書き込むべきデータをフラッシュメモリなどの書き換え可能な不揮発性メモリに記憶および保持し、記録データの退避を行う。再生時には、ディスク状記録媒体の当該書き込み困難な期間に対応するアドレスからデータを再生する際には、記録時において当該期間に不揮発性メモリに記憶された対応するデータを再生する。
【0040】
さらに、不揮発性メモリに記憶され退避されたデータを、所定のタイミングで、ディスク状記録媒体の所定のアドレスに書き戻すことを試みる。データをディスク状記録媒体に対して書き戻すことに成功したら、不揮発性メモリに退避した当該データを不揮発性メモリから削除する。以降は、ディスク状記録媒体からの通常通りの再生が可能とされる。
【0041】
なお、ディスク状記録媒体に書き込むべきデータを不揮発性メモリに記憶する際に、不揮発性メモリに対して当該データが書き込まれるアドレスを、ディスク状記録媒体のアドレスと対応させることで、ディスク状記録媒体と不揮発性メモリとを用いて記録または再生する際に、恰もディスク状記録媒体のみにアクセスしているように見せることができる。
【0042】
図7を用いて、より具体的に説明する。図7Aは、FAT32によりフォーマットされたハードディスクの一例のデータ構造を示し、図7Bは、不揮発性メモリの一例のアドレス空間を示す。不揮発性メモリにおいても、ハードディスクに合わせて1セクタを512バイトとし、2n個のセクタを集めたクラスタ単位でデータが管理されるようにする。
【0043】
ハードディスクでは、セクタ単位でデータの書き込みがなされ、セクタへの書き込みが失敗すると、当該セクタに対して再度書き込みを行うように制御される。同一セクタに対する再書き込みを所定時間以上繰り返しても書き込みが成功しない場合、書き込み処理がタイムアウトエラーとなり、記録エラーが発生する。
【0044】
例えば、図7Aに例示されるように、アドレスLBA=X1からアドレスLBA=X2で示される範囲にデータを書き込もうとしたときに、落下や振動、衝撃などにより書き込み処理がタイムアウトしたものとする。この場合、アドレスLBA=X1からLBA=X2で示される範囲に書き込むべきデータを、不揮発性メモリのアドレスLBA=Y1からアドレスLBA=Y2の範囲に書き込み(図7B)、ハードディスクに書き込まれるべきデータを不揮発性メモリに退避させる。
【0045】
このとき、上位のシステムに対して、ハードディスクのアドレスLBA=X1からアドレスLBA=X2の範囲にデータの書き込みがなされているように通知する。これにより、ハードディスクに対する次の書き込みは、不揮発性メモリに対するデータの退避が行われた次のアドレスである、アドレスLBA=X3から行われることになる。
【0046】
所定のタイミングで、不揮発性メモリに書き込まれ退避されたデータをハードディスクに書き戻すことが試みられる。すなわち、ハードディスクに対して、不揮発性メモリへのデータの退避が行われなかったとした場合に書き込まれるべきハードディスク上のアドレスに、データの書き込みが試みられる。図7の例では、ハードディスクにおいてアドレスLBA=X1からアドレスLBA=X2の範囲に書き込むように要求され不揮発性メモリのアドレスLBA=Y1からアドレスLBA=Y2の範囲に退避されたデータが、ハードディスクのアドレスLBA=X1からアドレスLBA=X2の区間に書き込まれる。不揮発性メモリに書き込まれたデータのハードディスクに対する書き戻しが成功すると、不揮発性メモリ上の当該データが削除される。
【0047】
別の例として、不揮発性メモリのアドレスLBA=Y3からアドレスLBA=Y4の範囲のデータを、ハードディスクの対応する範囲であるアドレスLBA=X3からアドレスLBA=X4に書き戻す際の書き込み処理が失敗した場合、不揮発性メモリ上の当該データは削除されない。この場合には、ハードディスクにおけるアドレスLBA=X3からアドレスLBA=X4の間のデータにアクセスする際には、不揮発性メモリの対応するアドレスにアクセスする。
【0048】
次に、この発明の実施の第1の形態について、より詳細に説明する。図8は、この発明の実施の第1の形態に適用可能な、FATによるファイルシステムの一例の構成をより詳細に示す。なお、図8において、上述した図6と共通する部分には同一の符号を付し、詳細な説明を省略する。すなわち、図8におけるアプリケーション部10、ファイルシステム部11およびデバイスドライバ部12は、図6の説明に対応する。
【0049】
ファイルシステム部11は、記録制御部20と記録媒体制御部21とを有し、記録制御部20は、FAT制御部22、クラスタ制御部23およびディレクトリエントリ制御部24を有する。また、記録媒体制御部21は、位置算出部25を有する。
【0050】
ここでは、2の記録媒体13Aおよび13Bが用いられ、デバイスドライバ部12は、これら記録媒体13Aおよび13Bのそれぞれに対応するデバイスドライバ12Aおよび12Bを有する。一例として、記録媒体13Aは、ハードディスクであり、記録媒体13Bは、不揮発性メモリである。
【0051】
なお、上述したように、ハードディスクは、記録媒体そのものであるハードディスク本体と、ハードディスクを駆動するためのドライブ装置からなるハードディスクドライブとして用いられる。また、不揮発性メモリも同様に、記録または記憶媒体そのものとしての不揮発性メモリ本体と、不揮発性メモリを電気的に駆動する駆動回路とを含む。
【0052】
デバイスドライバ12Aおよび12Bは、それぞれ所定のインターフェイスを介して記録媒体13Aおよび13Bに接続される。記録媒体13Aがハードディスクであるこの例では、デバイスドライバ12Aは、例えばATA(AT Attachment)をインターフェイスとして記録媒体13Aと接続される。デバイスドライバ部12は、記録媒体13Aおよび13Bが接続されると、対応するデバイスドライバ12Aおよび12Bによりそれぞれの記録媒体の情報を取得し、記録媒体13Aおよび記録媒体13Bをシステムにマウントする。
【0053】
例えば、ハードディスクである記録媒体13Aが接続されると、記録媒体13Aにアクセスするために必要な情報が記録媒体13Aから取得され、記録媒体13Aがシステムにマウントされる。一例として、デバイスドライバ12Aにより記録媒体13AからMBRが読み込まれ、パーティションテーブルに基づきパーティション情報が取得される。そして、パーティションからFATおよびディレクトリエントリが読み込まれる。このようにして記録媒体13Aの情報が取得され、ドライブ情報26としてファイルシステム部11に保持されることで、記録媒体13のシステムへのマウントが行われる。ドライブ情報26は、例えばCPUのワークメモリとしてのRAM30に記憶され、保持される。
【0054】
不揮発性メモリである記録媒体13Bが接続された場合も同様に、記録媒体13Bにアクセスするために必要な情報がデバイスドライバ12Bにより記録媒体13Bから取得され、ドライブ情報27としてファイルシステム部11に保持されることで、記録媒体13Bのシステムへのマウントが行われる。
【0055】
ファイルシステム部11の動作の一例について概略的に説明する。ファイルシステム部11は、アプリケーション部10から、例えば記録媒体13Aにファイルを書き込む書き込み要求が渡されると、ディレクトリエントリ制御部24により、書き込み要求に基づき、書き込むファイルのディレクトリエントリ情報を作成する。このとき、ディレクトリエントリ制御部24は、FAT制御部22に対してファイル書き込み可能な空きクラスタの情報を要求する。ディレクトリエントリ制御部24は、この空きクラスタ情報に基づきファイル書き込みの際の先頭クラスタ番号をクラスタ制御部23に渡す。先頭クラスタ番号は、クラスタ制御部23から位置算出部25に渡され、位置算出部25は、渡されたクラスタ番号をLBAに変換してデバイスドライバ12Aに渡す。
【0056】
アプリケーション部10からファイルシステム部11に渡された記録データは、先ず、この先頭クラスタ番号で示されるクラスタに書き込まれる。以降、クラスタ制御部23は、位置制御部25とやりとりを行いデータを書き込むクラスタのクラスタ番号を指定し、指定されたクラスタ番号が位置算出部25でLBAに変換されて記録データが当該LBAに対して書き込まれると共に、データが書き込まれたクラスタのクラスタ番号がFAT制御部22に渡され、FATに登録される。
【0057】
このように、アプリケーション部10による記録媒体13に対するファイル単位のアクセス要求は、ファイルシステム部11において、記録制御部20でクラスタ単位のアクセス要求に変換され、さらに記録媒体制御部21でLBAに変換される。デバイスドライバ部12は、このLBAに基づき、例えばATAといった所定のプロトコルを用いたインターフェイスによるコマンドを生成し、このコマンドを記録媒体13に対して供給する。これにより、記録媒体13では、セクタ単位でのアクセスがなされる。
【0058】
例えば、データの書き込み時には、デバイスドライバ部12において所定のインターフェイスによるライトコマンドが生成され、このライトコマンドと記録データとが、記録媒体13に対して渡される。このようにして、記録媒体13に対してセクタ単位で記録データの書き込みがなされる。
【0059】
なお、実際には、RAM30の所定領域がバッファメモリとして確保され、記録データは、一旦、このバッファメモリに溜め込まれる。一例として、ファイルシステム部11は、例えばアプリケーション部10からの書き込み要求に基づき、バッファメモリを参照し記録データを書き込むためのクラスタ番号を決める。デバイスドライバ部12は、バッファメモリから記録データを読み出し、ライトコマンドと共に記録媒体13に渡す。
【0060】
図9は、この発明の実施の第1の形態による一例の記録処理を示すフローチャートである。以下では、図8における記録媒体13Aをハードディスクとし、ハードディスク13Aと記述する。また、図8における記録媒体13Bをフラッシュメモリといった書き換え可能な不揮発性メモリとし、不揮発性メモリ13Bと呼ぶ。これらハードディスク13Aおよび不揮発性メモリ13Bは、予めシステムにマウントされているものとする。また、不揮発性メモリ13Bは、予め、デバイスドライバ12Bによりハードディスク13Aと同様にセクタ単位でアクセスが可能なようにされると共に、ファイルシステム部11によりセクタに対してLBAが対応付けられ、管理される。なお、不揮発性メモリ13Bにおける1セクタのサイズは、ハードディスク13Aにおける1セクタのサイズと同一とする。
【0061】
このフローチャートによる各処理は、例えばシステムのOSの制御に基づきファイルシステム部11により実行される。より詳細には、ファイルシステム部11の位置算出部25において実行される。例えばアプリケーション部10によりファイルの書き込み要求が出されると、記録データがバッファメモリに所定に溜め込まれると共に、ステップS10で、書き込み処理に即したタイムアウト値が設定される。タイムアウト値は、例えば数秒乃至数十秒が設定される。タイムアウト値は、記録処理に先立ち予め設定しておいてもよい。
【0062】
ステップS11で、バッファに溜め込まれたNセクタ分の記録データがハードディスク13Aのセクタ番号Xで示されるセクタから書き込まれる。
【0063】
ハードディスク13Aへの記録データの書き込み処理は、例えば次のように行われる。ファイルシステム部11は、アプリケーション部10によるハードディスク13Aに対するファイルの記録要求に対して、上述したように、ディレクトリエントリを参照してファイル情報を作成または取得すると共に、FATを参照して記録データを書き込むクラスタ番号を取得し位置算出部25によりLBAを計算する。LBAは、デバイスドライバ12Aに渡され、ライトコマンドが生成される。デバイスドライバ12Aは、バッファメモリを制御してセクタ単位で記録データを読み出し、ハードディスク13Aに対して、指定されたセクタ番号のセクタから順次、記録データを書き込むように要求を出す。
【0064】
次のステップS12で、ハードディスク13Aに対する書き込みが成功したか否かが判断される。すなわち、ステップS11における書き込み結果を示すアクセス応答が、ハードディスク13Aからデバイスドライバ12Aを介してファイルシステム部11の位置算出部25に返される。若し、書き込みが成功したと判断されれば、処理はステップS13に移行され、書き込みが成功した旨がファイルシステム部11から上位、例えばアプリケーション部10やOSに通知され、Nセクタ分の記録処理が終了される。
【0065】
一方、若し、ステップS12でハードディスク13Aに対するNセクタ分の書き込みが成功しなかったと判断されたら、処理はステップS14に移行する。ステップS14では、書き込みが失敗したと判断された理由が、ステップS10で設定されたタイムアウト値に対するタイムアウトエラーであるか否かが判断される。例えば、ハードディスクから、インターフェイスに基づくコマンドにより書き込み失敗の理由が通知される。
【0066】
若し、ステップS14で、書き込みが失敗した理由がタイムアウトエラーではないと判断されたら、処理はステップS20に移行され、書き込みが失敗した旨がファイルシステム部11から上位、例えばアプリケーション部10やOSに通知され、Nセクタ分の記録処理が終了される。
【0067】
一方、ステップS14で、書き込みが失敗した理由がタイムアウトエラーであると判断されれば、処理はステップS15に移行され、不揮発性メモリ13Bの空き容量が確認される。不揮発性メモリ13Bの空き容量は、後述する退避情報(図10B参照)に基づき取得することができる。なお、この時点では、バッファに記憶されるNセクタ分の記録データは、バッファ内に保持されている。
【0068】
次のステップS16では、ステップS15で取得された不揮発性メモリ13Bの空き容量情報に基づき、ステップS12で書き込みが失敗していると判断されたNセクタ分の記録データを、不揮発性メモリ13Bに退避可能か否かが判断される。すなわち、不揮発性メモリ13BにNセクタ分以上の空き容量があれば、記録データの退避が可能であると判断できる。若し、不揮発性メモリ13BにNセクタ分のデータを書き込めるだけの空き容量が存在しない場合には、書き込みが失敗したとして処理がステップS20に移行され、書き込み失敗が上位に通知される。
【0069】
一方、ステップS16で、不揮発性メモリ13BにNセクタ分以上の空き容量が存在すると判断されたら、Nセクタ分の記録データの退避が可能であるとして処理はステップS17に移行される。ステップS17では、バッファに保持されているNセクタ分の記録データを、不揮発性メモリ13Bに対して、所定のセクタ番号Yで示されるセクタからNセクタ分、書き込む。
【0070】
例えば、ファイルシステム部11は、デバイスドライバ12Bに対してNセクタ分の記録データを不揮発性メモリ13Bに書き込むためのアドレスをLBAで指定すると共に、ハードディスク13Aに対する書き込みが失敗したNセクタ分の記録データをバッファから読み出してデバイスドライバ12Bに渡す。デバイスドライバ12Bは、不揮発性メモリ13Bに対して、LBAで与えられたアドレスを変換したセクタ番号が示すセクタから、Nセクタ分の記録データを順次書き込む。
【0071】
このとき、位置算出部25は、デバイスドライバ部12側には、不揮発性メモリ13BのアドレスをLBAで指定し、記録制御部20側には、クラスタ制御部23で指定されたクラスタ番号での書き込みが行われているように通知する。このように位置算出部25すなわち記録媒体制御部21においてアドレス情報を制御することで、記録データを不揮発性メモリ13Bに書き込みながら、当該記録データが恰もハードディスク13Aに記録されているかのように、上位側に見せることができる。これにより、ステップS12で落下や振動、衝撃などにより書き込みが成功しなかったとされた場合でも、記録を継続させることができる。
【0072】
ステップS18で、不揮発性メモリ13Bに対するNセクタ分の記録データの書き込みが成功したか否かが判断される。例えば、デバイスドライバ12Bから不揮発性メモリ13Bに対するセクタ単位での書き込み要求に対する不揮発性メモリ13Bからの応答に基づき、書き込み成功の可否を判断することができる。若し、書き込みに失敗したと判断されれば、処理はステップS20に移行され、書き込みを要求されたデータの書き込みが失敗した旨が上位に通知される。
【0073】
一方、ステップS18で、Nセクタ分の記録データの不揮発性メモリ13Bへの書き込みが成功したと判断されれば、処理はステップS19に移行される。ステップS19では、ハードディスク13Aに対する書き込みが失敗したNセクタ分の記録データを不揮発性メモリ13Bに書き込んだことによる、Nセクタ分の記録データの不揮発性メモリ13Bへの退避情報を作成する。そして、退避情報が作成されると、処理はステップS13に移行され、要求されたデータの書き込みが成功した旨が上位システムに通知される。
【0074】
上述した、ステップS10からステップS20までの一連の処理は、位置算出部25のアクセス要求単位で繰り返される。上述の例では、Nセクタ分の書き込みが完了したら、処理がステップS10またはステップS11に戻され、同様の処理により次のNセクタ分の記録データの記録がなされる。このとき、セクタ数を示しているNの値は、繰り返し毎に異なっていてよい。
【0075】
図10は、ステップS19で作成される一例の退避情報を示す。この退避情報は、図10Aに例示される、ハードディスク13Aから不揮発性メモリ13Bに対して書き込みが退避された記録データの、ハードディスク13Aに本来書き込まれるべきセクタのアドレス情報(退避元情報)と、不揮発性メモリ13Bに退避して書き込まれたセクタのアドレス情報(退避先情報)とが対応付けられたエントリからなるテーブルと、図10Bに例示される、不揮発性メモリ13Bの使用容量および/または空き容量を示す情報とからなる。
【0076】
なお、図10Bの不揮発性メモリ13Bの使用容量および/または空き容量を示す情報は、例えば不揮発性メモリ13Bにおいてハードディスク13Aから退避されたデータを書き込んだ容量に基づき取得される。一例として、不揮発性メモリ13Bがハードディスク13Aから退避されたデータを書き込むことにのみ用いられる場合には、ハードディスク13Aからの記録データの退避が全く行われていない状態では、不揮発性メモリ13Bの使用容量が0となる。
【0077】
退避元情報では、上述のステップS12において書き込みが成功しなかったと判断されたハードディスク13Aのアドレス情報が、開始LBAとして示され、書き込みがハードディスク13Aから不揮発性メモリ13Bに対して退避されたセクタ数が、セクタカウントとして示される。退避先情報についても同様に、上述のステップS17で不揮発性メモリ13Bへの書き込みが開始されたアドレスが開始LBAとして示され、不揮発性メモリ13Bに対して書き込まれたセクタ数が、セクタカウントとして示される。なお、ステップS12でハードディスク13Aに対して書き込みが試みられたNセクタ分の記録データが全て不揮発性メモリ13Bに退避された場合には、退避元情報と退避先情報とでセクタカウントが一致することになる。
【0078】
図10の例では、退避情報の1エントリは、2バイトのデータ長を有するエントリ番号と、退避元情報について、バイトのデータ長を有する開始LBAおよび4バイトのデータ長を有するセクタカウントと、退避先情報について、バイトのデータ長を有する開始LBAおよび4バイトのデータ長を有するセクタカウントとからなり、26バイトのデータ長を有する。すなわち、1の退避記録処理に費やされる退避情報の容量は、高々26バイトである。
【0079】
図10Aに示す退避情報と、図10Bに示す不揮発性メモリ13Bの空き容量に関する情報とは、それぞれ書き換え可能な不揮発性のメモリに保持される。この退避情報および空き容量情報を保持する不揮発性メモリは、ハードディスク13Aから退避した記録データを書き込む不揮発性メモリ13Bを兼用して用いてもよいし、別途、メモリを用意することもできる。以下、この退避情報および空き容量情報を保持するメモリを、退避情報保持メモリと呼ぶ。
【0080】
上述したステップS11による、バッファに溜め込まれた記録データをハードディスク13Aに書き込む処理は、ハードディスク13Aそのものと、当該ハードディスク13Aを駆動するためのドライブ装置からなるハードディスクドライブが有するキャッシュメモリの制御に応じて、図11に例示されるように、3種類の処理が考えられる。
【0081】
すなわち、一般的にドライブハードディスクは、内部にキャッシュメモリを有し、ハードディスクドライブに対して入出力されるデータを一時的にキャッシュメモリに溜め込み、キャッシュメモリに対するデータの書き込みおよびキャッシュメモリからのデータの読み出しのタイミングを所定に制御することで、ハードディスクドライブ内におけるハードディスクに対するアクセスを、見かけ上均一化することができる。また、キャッシュメモリに溜め込まれたデータを用いることで、ハードディスクにおけるセクタ書き込みエラーやセクタ読み出しエラーに対し、ある程度、対処できる。キャッシュメモリの制御は、例えばATAといった、ハードディスクドライブのインターフェイスからのコマンドによりなされる。
【0082】
図11Aは、ハードディスクドライブがキャッシュメモリを持たないか、キャッシュメモリの制御を行わない場合の例である。すなわち、セクタ書き込みが開始されると、単に、バッファに溜め込まれた記録データを、ハードディスク13Aのセクタ番号Xで示されるセクタからNセクタ分、書き込む(ステップS100)。
【0083】
図11Bおよび図11Cは、ハードディスクドライブにおいてキャッシュメモリの制御を行う場合の例である。図11Bの例では、バッファに溜め込まれた記録データを、ハードディスク13Aのセクタ番号Xで示されるセクタからNセクタ分書き込み(ステップS101)、次のステップS102で、ハードディスクドライブ内のキャッシュメモリに溜め込まれているデータを、ハードディスク13Aに所定に書き込む。
【0084】
図11Cの例では、セクタ書き込みが開始されると、先ず、ハードディスクドライブ内のキャッシュメモリの使用をOFFとし(ステップS103)、ハードディスクドライブに入力される記録データをキャッシュメモリに溜め込まないようにする。そして、ハードディスクドライブに入力された記録データを、ハードディスク13Aのセクタ番号Xで示されるセクタからNセクタ分書き込む(ステップS104)。Nセクタ分の記録データの書き込みが完了したら、ハードディスクドライブ内のキャッシュメモリの使用をONとする(ステップS105)。
【0085】
図11A、図11Bおよび図11Cで示した何れの場合であっても、落下や振動、衝撃などによりハードディスク13Aへの書き込み処理がタイムアウトエラーを起こす可能性は、存在する。タイムアウトエラーに対する対処方法は、これら3種類の場合に共通である。
【0086】
図12は、ハードディスク13Aに対して動画データファイル「M2U00001.MPG」、「M2U00002.MPG」および「M2U00003.MPG」を書き込んだ場合の一例のファイルレイアウトを示す。この図12の例では、クラスタ番号3で示されるクラスタにディレクトリエントリが書き込まれ、ディレクトリエントリに対してファイル「M2U00001.MPG」、「M2U00002.MPG」および「M2U00003.MPG」の情報がそれぞれ書き込まれる。
【0087】
例えば、ファイル「M2U00001.MPG」が、ディレクトリエントリの情報に基づき先頭クラスタ番号がクラスタ番号4とされ、クラスタ番号4からクラスタ番号Xまでの範囲に書き込まれる。
【0088】
次のファイル「M2U00002.MPG」は、ディレクトリエントリの情報に基づき先頭クラスタ番号がクラスタ番号X+1とされ、クラスタ番号X+1のクラスタから順次、データの書き込みがなされる。この図12の例では、このファイル「M2U00002.MPG」におけるクラスタ番号X+Nおよびクラスタ番号X+N+1で示すクラスタが、落下や振動、衝撃によるタイムアウトエラーで書き込みが行われていない。
【0089】
ハードディスク13Aに対する書き込みに際してタイムアウトエラーが発生すると、上述した図10のフローチャートに従い、記録データの記録先がハードディスク13Aから不揮発性メモリ13Bに切り換えられ、ハードディスク13Aのクラスタ番号X+Nおよびクラスタ番号X+N+1で示すクラスタに記録すべき記録データが、不揮発性メモリ13Bに退避される。位置算出部25は、デバイスドライバ部12には不揮発性メモリ13Bに対するLBAを指定し、上位、例えば記録制御部20には、ハードディスク13Aに書き込みがなされているような通知を行う。
【0090】
これにより、ハードディスク13Aにおいてクラスタ番号X+Nの先頭アドレスであるLBA=x1から、クラスタ番号X+N+1の末尾アドレスであるLBA=x2の範囲にはデータが記録されない状態とされる。
【0091】
以降、この例では次のクラスタからファイル「M2U00002.MPG」の終端クラスタ(クラスタ番号Y)まで、ハードディスク13Aに対して正常に書き込みがなされている。
【0092】
この実施の第1の形態では、不揮発性メモリ13Bに退避されたデータを、所定のタイミングでハードディスク13Aに書き戻すようにしている。不揮発性メモリ13Bに退避したデータをハードディスク13Aに書き戻すタイミングとしては、例えば、(1)ハードディスク13Aに記録されたデータの読み出し時が考えられる。また、(2)システムの起動時または終了時に書き戻しを行うことが考えられる。さらに、ハードディスク13Aのシステムに対するマウント時およびアンマウント時に書き戻しを行うことが考えられる。
【0093】
例えば、ハードディスク13Aを搭載した装置を、パーソナルコンピュータといったコンピュータ装置に所定のインターフェイスで接続した際に、ハードディスク13Aをコンピュータ装置に対してマウントすることで、ハードディスク13Aをコンピュータ装置の外部記憶装置として認識させるようにできる。また、システムに電源を投入したり、電源をOFFする際に、ハードディスク13Aのシステムに対するマウント処理およびアンマウント処理が行われる。このマウント時や、マウントを解除するアンマウント時に、ハードディスク13Aに対する書き戻しを行う。ハードディスク13Aを搭載した装置と、コンピュータ装置とを接続するインターフェイスとしては、USB(Universal Serial Bus)やIEEE1394(Institute Electrical and Electronics Engineers 1394)が考えられる。
【0094】
図13および図14は、(1)の、ハードディスク13Aからデータを読み出す際に、不揮発性メモリ13Bに書き込まれた記録データをハードディスク13Aに対して書き戻す一例の処理を示すフローチャートである。なお、図13および図14において、符号「A」および「B」は、対応する符号に処理が移行することを示す。
【0095】
フローチャートの実行に先立って、例えばアプリケーション部10からファイルシステム部11に対して、ハードディスク13Aから読み出すファイル名が渡される。ファイルシステム部11は、記録制御部20において、ディレクトリエントリを参照して渡されたファイル名のエントリを検索し、当該ファイルの先頭セクタ番号を取得する。ファイルシステム部11は、記録制御部20において、さらにFATを参照し、先頭クラスタ番号のクラスタに続くクラスタのクラスタ番号を順次取得し、読み出しを行うアクセス要求を生成する。一例として、クラスタ番号が連続したクラスタに対して連続的にアクセスするように、アクセス要求が生成される。
【0096】
ステップS30で、記録媒体制御部21は、図10に例示した退避情報を参照し、アクセスが要求されたLBAをチェックする。チェックの結果、次のステップS31で、(A)アクセスが要求された範囲のLBAのデータが全て不揮発性メモリ13Bに退避されているか、(B)当該範囲のLBAのデータが全て退避されずハードディスク13Aに書き込まれているか、(C)当該範囲のうち一部のLBAのデータが不揮発性メモリ13Bに退避されているかで、処理を分岐させる。
【0097】
ステップS31において、(A)の、アクセスが要求された範囲のLBAのデータが全て不揮発性メモリ13Bに退避していると判断された場合、処理はステップS32に移行される。ステップS32では、退避情報に基づき不揮発性メモリ13Bに対してアクセス要求がなされ、不揮発性メモリ13Bからデータの読み出しが行われる。次のステップS33で、ステップS32でのアクセス要求に応じて不揮発性メモリ13Bから読み出されたデータの、ハードディスク13Aに対する書き戻しが試みられる。
【0098】
一例として、上述した図12を参照し、ハードディスク13Aに対し、クラスタ番号X+Nおよびクラスタ番号X+N+1のクラスタの読み出しが要求された場合、退避情報に基づきハードディスク13Aのクラスタ番号X+Nの先頭アドレスであるLBA=x1からクラスタ番号X+N+1の末尾アドレスであるLBA=x2の範囲に対応するデータが全て、不揮発性メモリ13Bに退避されていることが分かる。記録媒体制御部21は、退避情報の退避先情報に基づき、ハードディスク13Aに対して読み出しが要求されたLBAに対応する、不揮発性メモリ13B上のアドレスにアクセスするようにデバイスドライバ12Bに対してアクセス要求を出す(ステップS32)。この要求に応じて、デバイスドライバ12Bにより、不揮発性メモリ13Bからデータが読み出される。読み出されたデータは、記録媒体制御部21に渡され、不揮発性メモリ13Bのアドレス情報がハードディスク13Aのアドレス情報に変換されて、上位に渡される。
【0099】
ステップS33では、記録媒体制御部21は、デバイスドライバ12Aに対して、ステップS32で不揮発性メモリ13Bから読み出されたデータを、退避情報の退避元情報に基づきハードディスク13AのアドレスLBA=x1からLBA=x2に書き込むように要求する。この要求に応じて、デバイスドライバ12Aにより、ハードディスク13Aに対してデータの書き込みが試みられる。
【0100】
ステップS33による、ハードディスク13Aに対する書き込みが成功したか否かが、ステップS34で判断される。若し、書き込みが成功したと判断されれば、処理はステップS35に移行され、書き込みが成功した分に対応して退避情報の変更を行う。例えば、図10Aの退避情報における対応するエントリが削除されると共に、図10Bの不揮発性メモリ13Bの使用容量および/または空き容量を示す情報が変更される。
【0101】
不揮発性メモリ13Bに書き込まれたデータのハードディスク13Aに対する書き戻しが成功した場合、このように退避情報が書き換えられて、書き戻しを行ったデータに関する情報が削除される。また、不揮発性メモリ13B上の書き戻しに成功した分のデータが削除される。
【0102】
一方、ステップS34で、例えばタイムアウトエラーやその他の原因によりハードディスク13Aに対する書き込みが失敗したと判断されれば、一連の書き戻し処理が終了され、退避情報が保持される。この場合には、上位から読み出しが要求されたデータは、不揮発性メモリ13Bから読み出されることになる。
【0103】
ステップS31で、(B)の、当該範囲のLBAのデータが全て退避されずハードディスク13Aに書き込まれていると判断された場合には、処理はステップS36に移行される。この場合には、上位から指示されたアドレスをそのまま用いて、ハードディスク13Aに対して読み出しのためのアクセスがなされる。上述した図12を参照して、例えばクラスタ番号3およびクラスタ番号4で示されるクラスタをアクセスするように要求された場合、退避情報に基づきこれらのクラスタのデータが不揮発性メモリ13Bに退避されていないことが分かる。記録媒体制御部21は、上位から読み出しを要求されたクラスタ番号からLBAを算出し、デバイスドライバ12Aに渡す。
【0104】
ステップS31で、(C)当該範囲のうち一部のLBAのデータが不揮発性メモリ13Bに退避されていると判断された場合には、処理はステップS37に移行される(図14参照)。ステップS37では、退避情報に基づき、ハードディスク13Aおよび不揮発性メモリ13Bのアクセス順序が算出される。
【0105】
例えば、図12を参照し、上位からクラスタ番号X+N−1からクラスタ番号X+N+2までの範囲を読み出すように要求された場合について考える。退避情報に基づき、要求されたクラスタ番号X+N−1からクラスタ番号X+N+2までの範囲のうち、クラスタ番号X+Nからクラスタ番号X+N+1に対応するLBA=x1からLBA=x2の範囲において、データの不揮発性メモリ13Bへの退避が行われているのが分かる。
【0106】
この例の場合、ステップS37において、退避情報に基づき、先ずクラスタ番号X+N−1で示されるクラスタをハードディスク13Aから読み出し、次にクラスタ番号X+Nからクラスタ番号X+N+1までのクラスタについては、不揮発性メモリ13Bの対応するアドレスからデータを読み出す。その次は、クラスタ番号X+N+2で示されるクラスタをハードディスク13Aから読み出すように、ハードディスク13Aおよび不揮発性メモリ13Bのアクセス順序を決める。
【0107】
ハードディスク13Aに対するアクセス要求を行う場合には(ステップS38)、処理はステップS39に移行されてハードディスク13Aへのアクセス要求がなされ、ハードディスク13Aからデータが読み出される。そして、処理はステップS40に移行され、読み出し要求された全てのアドレスからデータが読み出されたか否かが判断される。若し、要求された全てのアドレスからデータが読み出されていないと判断されたら、処理はステップS38に戻され、次のアクセス順のアドレスに対するアクセスが行われる。
【0108】
不揮発性メモリ13Bからデータを読み出す際には(ステップS38)、上述のステップS32〜ステップS35の処理と同様にして、退避情報に基づき、不揮発性メモリ13Bに対して読み出しアクセスを行い(ステップS41)、読み出されたデータをハードディスク13Aに書き戻す処理を行う(ステップS42)。ハードディスク13Aに対する書き戻しが成功したと判断されたら(ステップS43)、退避情報の対応するエントリと、不揮発性メモリ13Bの対応するデータが削除される(ステップS44)。そして、処理はステップS40に移行される。
【0109】
次に、(2)および(3)の、ハードディスク13Aのマウント時およびアンマウント時に書き戻しを行う一例の処理について、図15〜図17のフローチャートを用いて説明する。図15は、不揮発性メモリ13Bに書き込まれたデータのハードディスク13Aに対する書き戻しを、ハードディスク13Aのシステムへのマウント時に行う場合の一例の処理を示す。例えば、装置の電源を投入し、システムが起動される場合に、ハードディスク13Aのマウントが行われる。また、ハードディスク13Aを用いた装置が所定のインターフェイスでコンピュータ装置と接続され、ハードディスク13Aが当該コンピュータ装置の外部記憶装置として用いられている場合に、インターフェイスが切断された後、ハードディスク13Aを再び使用可能とさせる際に、ハードディスク13Aのマウントが行われる。
【0110】
例えば装置の電源投入時やインターフェイス切断時に、先ず、ハードディスク13Aに関連する処理以外の所定の処理がなされ(ステップS50)、次に、ハードディスク13Aがシステムにマウントされる(ステップS51)。なお、ハードディスク13Aを用いた装置が所定のインターフェイスでコンピュータ装置に接続されハードディスク13Aが当該コンピュータ装置の外部記憶装置として用いられた後に、インターフェイスが切断される場合には、当該コンピュータ装置側において予め、所定の手順で以てハードディスク13Aのアンマウント処理が行われているものとする。
【0111】
ハードディスク13Aがシステムにマウントされると、退避情報保持メモリが参照され、退避情報に基づき不揮発性メモリ13Bに書き込まれているデータをハードディスク13Aに書き戻す処理が行われる(ステップS52)。このステップS52の処理の詳細については、後述する。データのハードディスク13Aへの書き戻しが終了したら、ステップS53で他の所定の処理がなされる。
【0112】
図16は、不揮発性メモリ13Bに書き込まれたデータのハードディスク13Aに対する書き戻しを、ハードディスク13Aのシステムからのアンマウント時に行う場合の一例の処理を示す。例えば、装置の電源を切断し、システムが停止される場合に、ハードディスク13Aのアンマウントが行われる。また、ハードディスク13Aを用いた装置をコンピュータ装置の外部記憶装置として用いるために、当該ハードディスク13Aを用いた装置を所定のインターフェイスで当該コンピュータ装置に接続した際に、当該ハードディスク13Aを用いた装置においてハードディスク13Aがアンマウントされる。
【0113】
例えば装置の電源切断時やコンピュータ装置に対して所定のインターフェイスで接続された際に、先ず、バッファメモリやハードディスク13Aが有するキャッシュメモリに溜め込まれた、ハードディスク13Aに対して未書き込みの記録データがハードディスク13Aに対して所定に書き込まれ(ステップS60)、オープン中のファイルがクローズされる(ステップS61)。そして、退避情報保持メモリが参照され、退避情報に基づき不揮発性メモリ13Bに書き込まれているデータをハードディスク13Aに書き戻す処理が行われる(ステップS62)。データのハードディスク13Aに対する書き戻しが終了したら、ハードディスク13Aがシステムからアンマウントされ(ステップS63)、他の所定の処理がなされる。
【0114】
図17は、図15におけるステップS52、ならびに、図16におけるステップS62による、不揮発性メモリ13Bのデータをハードディスク13Aに書き戻す一例の処理を示す。先ず、ステップS70で、退避情報保持メモリに保持されている、不揮発性メモリ13Bの使用容量および/または空き容量の情報が取得される(図10B参照)。そして、次のステップS71で、取得された使用容量および/または空き容量の情報に基づき、不揮発性メモリ13Bにハードディスク13Aから退避された記録データが書き込まれているか否かが判断される。
【0115】
例えば、不揮発性メモリ13Bがハードディスク13Aから退避された記録データの書き込みにのみ、用いられている場合、不揮発性メモリ13Bの使用量が0であるか否かを調べる。
【0116】
若し、不揮発性メモリ13Bにハードディスク13Aから退避された記録データが書き込まれていないと判断されたら、不揮発性メモリ13Bからハードディスク13Aへのデータの書き戻しも行われず、図17のフローチャートによる処理が終了される。処理は、図15のステップS53や図16のステップS63の処理にそのまま移行されることになる。
【0117】
一方、ステップS71で、不揮発性メモリ13Bにハードディスク13Aから退避された記録データが書き込まれていると判断されれば、処理はステップS72に移行され、不揮発性メモリ13Bに書き込まれたデータのハードディスク13Aへの書き戻しが行われる。すなわち、図13のフローチャートを用いて説明したステップS32〜ステップS35の処理と同様にして、退避情報に基づき、不揮発性メモリ13Bに対して読み出しアクセスを行い、読み出されたデータをハードディスク13Aに書き戻す処理を行う(ステップS72)。ハードディスク13Aに対する書き戻しが成功したと判断されたら、退避情報の対応するエントリと、不揮発性メモリ13Bの対応するデータが削除され(ステップS73)、図17のフローチャートによる処理が終了される。
【0118】
次に、この発明の実施の第2の形態について説明する。この発明の実施の第2の形態は、上述した発明の実施の第1の形態を携帯用のビデオカメラ装置に適用した例である。図18は、この発明の実施の第2の形態による携帯用ビデオカメラ装置100の一例の構成を示す。
【0119】
このビデオカメラ装置100は、被写体からの光をCCD(Charge Coupled Device)やCMOS(Complementary Metal-Oxide Semiconductor)イメージセンサといった撮像素子で受光して、受光された光を光電変換により電気信号に変換し所定の処理を施してディジタルビデオデータとし、このディジタルビデオデータをハードディスクといったディスク状記録媒体に記録する。
【0120】
ディジタルビデオデータをディスク状記録媒体に記録する際に、落下や振動、衝撃によりタイムアウトエラーが発生したら、ビデオカメラ装置100が有する不揮発性メモリに記録データを書き込み、当該不揮発性メモリに記録データを退避させるようにする。不揮発性メモリに退避された記録データは、ディスク状記録媒体からディジタルビデオデータを再生する際や、ビデオカメラ装置100の電源を切断する際などに、ディスク状記録媒体に書き戻すようにする。
【0121】
また、このビデオカメラ装置100は、有線通信や無線通信により、それぞれ所定のインターフェイスを介して外部の機器と接続することができる。接続される外部の機器がパーソナルコンピュータなどのコンピュータ装置である場合には、ディジタルビデオデータが記録されるディスク状記録媒体を接続先機器にマウントし、接続先機器の外部記録媒体として用いることができるようにされている。ビデオカメラ装置100を接続先機器にマウントおよびアンマウントする際に、不揮発性メモリに退避した記録データをディスク状記録媒体に書き戻すようにする。
【0122】
図18において、CPU(Central Processing Unit)120は、ROM123に予め記憶されたプログラムデータに基づき、RAM121をワークメモリとして用いてこのビデオカメラ装置100の全体を制御する。CPU120は、ROM123からプログラムデータを読み出しRAM121上に展開して当該プログラムを実行する。このプログラムにより、図6および図8を用いて説明したアプリケーション部10、ファイルシステム部11およびデバイスドライバ部12が実現される。なお、図18では、CPU120とビデオカメラ装置100を構成する各部とが直接的に接続されるように示されているが、これはこの例に限らず、各部がバスに接続され、バスを介してコマンドやデータのやりとりを行うようにしてもよい。
【0123】
光学レンズ部110は、被写体からの光を光電変換部111が有する撮像素子に導くためのレンズ系、絞り調整機構、フォーカス調整機構、ズーム機構、シャッタ機構などを備え、被写体からの光を集光し光電変換部111に入射させる。絞り調整機構、フォーカス調整機構、ズーム機構、シャッタ機構は、CPU120の制御に基づきカメラ機能部115により制御される。光電変換部111は、例えばCCDやCMOSイメージセンサといった撮像素子を有し、光学レンズ部110を介して入射された光を光電変換により電気信号に変換し、さらに所定の信号処理を施し撮像信号として出力する。
【0124】
画像信号処理部112は、例えば、光電変換部111から出力された撮像信号をディジタル信号に変換する撮像信号処理部と、撮像信号処理部で撮像信号が変換されたディジタル信号に対して所定の信号処理を施すと共にベースバンドのディジタルビデオデータに変換するビデオ信号処理部と、ビデオ信号処理部で得られたベースバンドのディジタルビデオデータを所定の方式で圧縮符号化する圧縮符号化部とを有する。
【0125】
撮像信号処理部は、例えば光電変換部111から出力された撮像信号に対して、CDS(Correlated Double Sampling)回路により画像情報を有する信号だけをサンプリングすると共に、ノイズを除去し、AGC(Auto Gain Control)回路によりゲインを調整する。そして、A/D変換によりディジタル信号に変換する。また、撮像信号処理部は、光電変換部111から出力された撮像信号の情報をCPU120に送る。CPU120は、この情報に基づき光学レンズ部110を制御するための制御信号を生成し、フォーカス調整機構や絞り調整機構などの制御を行う。
【0126】
ビデオ信号処理部は、撮像信号処理部で得られたディジタル信号に対して所定の信号処理を施す。例えば、ビデオ信号処理部は、ディジタル信号に対して検波系の信号処理を施し、R(赤色)、G(緑色)およびB(青色)各色の成分を取り出す。そして、取り出された各色成分に基づきγ補正やホワイトバランス補正などの処理を行い、最終的に1本のベースバンドのディジタルビデオデータとして出力する。
【0127】
圧縮符号化部は、ビデオ信号処理部から出力されたベースバンドのディジタルビデオデータを、例えばMPEG2(Moving Pictures Experts Group 2)方式に従い圧縮符号化する。この例に限定されず、例えばH.264|AVCすなわちITU−T(International Telecommunication Union-Telecommunication Standarization Sector)勧告H.264あるいはISO(International Organization for Standarization)/IEC(International Electrotechnical Commission)国際標準14496−10(MPEG−4パート10)Advanced Video Codingに準じた圧縮符号化方式を用いることも考えられる。
【0128】
表示部114は、例えばLCD(Liquid Crystal Display)を表示素子として用い、画像信号処理部112から供給されたディジタルビデオデータに基づく表示を行うことができる。表示部114は、撮影時には撮影画像のモニタとして用いられ、再生時には、再生画像を映出させることができる。
【0129】
画像入出力部113は、画像信号処理部112から出力されたディジタルビデオデータを外部に出力する。外部から供給されたディジタルビデオデータを画像信号処理部112に供給することもできる。また、画像入出力部113にA/D変換部やD/A変換部を持たせ、画像信号処理部112から出力されたディジタルビデオデータをアナログビデオ信号に変換して出力したり、外部から供給されたアナログビデオ信号をディジタルビデオデータに変換して画像信号処理部112に供給するようにしてもよい。
【0130】
音声入出力部116は、マイクロフォン、スピーカといった音声の入出力手段を有し、外部の音声を音声信号に変換したり、音声信号を音声に変換する。また、音声入出力部116は、音声信号の入出力手段も有する。音声処理部117は、音声入出力部116から供給されるアナログ音声信号をA/D変換してディジタルオーディオデータとし、ノイズ除去や音質補正など所定の音声信号処理を施してベースバンドのディジタルオーディオデータとして出力する。ベースバンドのディジタルオーディオデータを所定の方式で圧縮符号化してもよい。また、音声信号処理部117は、供給されるディジタルオーディオデータに対して音質補正や音量調整などの所定の音声信号処理を施してD/A変換してアナログ音声信号とし、増幅処理などを行い音声入出力部116に供給する。
【0131】
操作入力部124は、このビデオカメラ装置100の動作をユーザが操作するための操作子が所定に設けられ、操作子に対する操作に応じた制御信号を出力するこの制御信号は、CPU120に供給される。CPU120は、ユーザ操作に応じてそうさ入力部124から供給された制御信号に基づきなされるプログラムの処理により、ビデオカメラ装置100の各部の動作を制御する。また、操作入力部124に、簡易的な表示部を設け、ビデオカメラ装置100の動作に関する所定の表示を行うようにしてもよい。
【0132】
ドライブ部126は、CPU120からの命令に基づき記録媒体の制御を行う。例えば、光電変換部111の撮像素子で撮像され画像信号処理部112で所定に圧縮符号化されたディジタルビデオデータを、CPU120の命令に基づき記録媒体に記録する。
【0133】
ドライブ部126に対して適用可能な記録媒体は、ランダムアクセス可能な記録媒体であれば特に種類を問わないが、ハードディスクなどの磁気ディスク、記録可能なタイプのDVD(Digital Versatile Disc)やCD(Compact Disc)、Blu−ray Disc(登録商標)といった光ディスク、光磁気ディスクといったディスク状記録媒体、半導体メモリが用いて好適である。
【0134】
ここで、半導体メモリとしてフラッシュメモリなどの書き換え可能な不揮発性メモリを用い、画像信号処理部112で圧縮符号化されたディジタルビデオデータを他の記録媒体、例えばハードディスクといったディスク状記録媒体に記録することで、この発明による、ディスク状記録媒体の記録エラーに対する記録データの退避処理が可能となる。
【0135】
なお、この図18の例では、ドライブ部126が各種記録媒体に共通なように示されているが、実際には、記録媒体毎にドライブ部が設けられる。また、図18に示した全ての記録媒体に対応している必要もなく、ビデオカメラ装置100は、例えば上述の不揮発性メモリとしての半導体メモリと、ハードディスク、記録可能なタイプの光ディスクおよび光磁気ディスクのうち少なくとも1とに対応していればよい。
【0136】
通信部125は、CPU120の制御に基づき、所定のプロトコルを用いて、有線および/または無線により外部機器との通信を行う。有線および/または無線通信のインターフェイスは、ディジタル通信が可能であれば特に種類を問わないが、有線通信としては、USB、IEEE1394、イーサネット(登録商標)などによるLAN(Local Area Network)などが考えられる。また、無線通信としては、IEEE802.11a/b/g、bluetoothなどが考えられる。また、USBやIEEE1394といったインターフェイスで、パーソナルコンピュータなどのホスト機能を有する外部機器と、このビデオカメラ装置100とを接続することで、ビデオカメラ装置100のドライブ部126に接続される記録媒体を、外部機器に対してマウントすることができる。
【0137】
センサ127は、ビデオカメラ装置100に加えられた加速度を検出する。センサ127の検出結果は、CPU120に渡される電源部130は、例えばバッテリからなり、このビデオカメラ装置100の各部に対して電源を供給する。電源部130による電源の供給のON/OFFは、例えば操作入力部124に対する所定の操作に応じて、CPU120により制御される。
【0138】
この実施の第2の形態によるビデオカメラ装置100の一例の動作について、概略的に説明する。なお、以下では、ストリームデータは、ビデオカメラ装置100に内蔵されるハードディスクドライブのハードディスクを記録媒体として記録されるものとする。また、ドライブ部126には、フラッシュメモリといった不揮発性メモリが他の記録媒体として接続されている。この場合、フラッシュメモリは、このビデオカメラ装置100に予め内蔵されるものとすると、好ましい。
【0139】
先ず、ビデオカメラ装置100の電源投入時には、図15のフローチャートを用いて説明したように、電源投入に伴い、ビデオカメラ装置100の各部で所定の処理が行われる(ステップS50)。例えばCPU120によりROM123からプログラムデータが読み込まれ、ファイルシステム部11やデバイスドライバ部12がプログラムにより形成されると共に、アプリケーション部10が起動される。また、ビデオカメラ装置100の各部が初期化される。そして、ドライブ部126に接続された記録媒体(この例では、ハードディスクおよびフラッシュメモリ)がCPU120によりシステムにマウントされ(ステップS51)、退避情報がCPU120に読み込まれる。退避情報は、例えばフラッシュメモリの所定の領域に記憶されている。CPU120は、退避情報に基づき、フラッシュメモリに退避データが存在すれば、当該退避データをハードディスクに書き戻す(ステップS53)。その後、さらに必要な処理が行われる(ステップS54)。
【0140】
記録時には、被写体からの光が光学レンズ部110を介して光電変換部111に入射され、撮像素子により電気信号に変換され、所定の信号処理により撮像信号として出力される。撮像信号は、画像信号処理部112に供給され、画像信号処理部112内の撮像信号処理部でディジタル信号に変換され、このディジタル信号は、ビデオ信号処理部で所定に信号処理されベースバンドのディジタルビデオデータとされる。このベースバンドのディジタルビデオデータは、表示部114に供給され表示素子に表示されると共に、画像入出力部113に供給される。
【0141】
また、画像信号処理部112は、撮像信号に基づくベースバンドのディジタルビデオデータを所定の方式で圧縮符号化して圧縮ディジタルビデオデータとする。
【0142】
また、音声入力部116が有するマイクロフォンにより音声が収音されてアナログ音声信号とされ、アナログ音声信号が音声信号処理部117でベースバンドのディジタルオーディオデータとされる。
【0143】
CPU120は、例えば、操作入力部124に対するユーザの記録開始操作に応じて、画像信号処理部112から供給された圧縮ディジタルビデオデータと、音声信号処理部117から供給されたベースバンドのディジタルオーディオデータとを所定に多重化してストリームデータとし、ドライブ部126に供給する。そして、CPU120は、ドライブ部126に対して、当該ストリームデータを記録媒体に記録するように命令を出す。ここでは、ストリームデータは、ファイルに格納されてハードディスクに記録されるものとする。
【0144】
CPU120は、プログラムにより実行されるファイルシステム部11(図8参照)の記録制御部20で、ハードディスク上のディレクトリエントリおよびFATを参照し、ストリームデータが格納されるファイルを記録するための先頭クラスタ番号が求められ、さらに、先頭クラスタ番号のクラスタから連続して記録データが記録されるクラスタのクラスタ番号が取得される。ファイルシステム部11の記録媒体制御部21は、記録制御部20で取得されたクラスタ番号をハードディスクのLBAに変換する。LBAは、CPU120によりプログラムにより実行されるデバイスドライバ部12のハードディスクに対応するデバイスドライバに渡される。デバイスドライバは、LBAと記録データとに基づきハードディスクに対して記録データを書き込むためのコマンドを生成し、このコマンドに基づきハードディスクに対して、例えばセクタ単位で記録データを書き込む。
【0145】
ストリームデータをハードディスクに記録している間、CPU120は、センサ127の出力信号を監視している。CPU120は、センサ127により検出された加速度が所定値以上で、ストリームデータのハードディスクへの記録に際して記録エラーが発生する可能性があるような落下や振動、衝撃が、ビデオカメラ装置100に対して加えられたと判断する。CPU120は、センサ127に所定値以上の加速度が検出されると、ストリームデータの記録先をハードディスクからフラッシュメモリに退避させる。
【0146】
この場合、記録エラーを事前に回避できるため、図9のフローチャートを用いて説明した処理のうち、ステップS15の不揮発性メモリの空き容量確認処理から、ステップS19の退避情報作成およびステップS13の書き込み成功通知までの処理が行われる。
【0147】
例えば、CPU120は、センサ127の検出結果に基づきビデオカメラ装置100に所定値以上の加速度が加えられたと判断したら、図9のステップS15により、ハードディスクに書き込む記録データの退避先であるフラッシュメモリの空き容量を確認し、退避可能であれば、ハードディスクに書き込むためのバッファメモリに記憶された記録データを、フラッシュメモリに書き込む(ステップS17)。書き込みが成功したら、退避情報を作成し、記憶されている退避情報を更新する(ステップS19)。退避情報は、例えばドライブ部126に別途、フラッシュメモリなどの不揮発性メモリを接続し、当該不揮発性メモリに書き込むことができる。これに限らず、記録データの退避先となるフラッシュメモリの所定の領域を退避情報を書き込むために確保することもできる。記録データのフラッシュメモリへの書き込みが成功したら、上位に対してその旨通知する(ステップS13)。
【0148】
CPU120は、センサ127からの検出結果に基づき、ビデオカメラ装置100に対して所定値以上の加速度が加えられている間、記録データのフラッシュメモリに対する退避記録を継続させる。そして、センサ127に検出される加速度が所定値を下回ったら、記録データのフラッシュメモリへの退避を終了し、記録データの記録先をフラッシュメモリからハードディスクに切り換える。
【0149】
ハードディスクに記録されたストリームデータの再生時には、図13を用いて説明したように、フラッシュメモリに退避された記録データのハードディスクに対する書き戻しを試みるようにする。例えば、操作入力部124に対するユーザの再生開始操作に応じて、CPU120は、退避情報を読み込む。そして、図13および図14のフローチャートを用いて説明したように、退避情報と読み出しアクセスを要求されたLBAとに基づき、ファイルシステム部11の記録媒体制御部21により、読み出しが要求されたデータの一部または全体がフラッシュメモリに退避されているか否かが判断される(ステップS30)。
【0150】
以降、読み出しが要求されたデータが全てフラッシュメモリに退避されていれば、ステップS32〜ステップS35の処理がなされ、フラッシュメモリから当該データが読み出されると共に、退避情報に基づき読み出されたデータをハードディスクに書き戻す処理が行われる。読み出しが要求されたデータがフラッシュメモリに退避されていなければ、ステップS36の処理により、当該データがハードディスクから読み出される。また、読み出しが要求されたデータの一部がフラッシュメモリに退避されていれば、ステップS37〜ステップS44(図14参照)の処理がなされ、退避情報に基づきハードディスクとフラッシュメモリとのアクセス順序が算出され、算出されたアクセス順序と退避情報とに基づき、ハードディスクおよびフラッシュメモリからデータが読み出されると共に、フラッシュメモリから読み出されたデータがハードディスクに書き戻される。
【0151】
通信部125に対してホスト機能を有する、例えばコンピュータ装置といった他の機器が接続された場合、ビデオカメラ装置100のドライブ部126に接続される記録媒体を当該他の機器にマウントすることができる。これにより、例えばドライブ部126に接続されるハードディスクに記録されるストリームデータを、当該他の機器に対して直接的に送信することや、当該他の機器側からビデオカメラ装置100に対してデータを送信し、ハードディスクに書き込むことができる。また、当該他の機器からビデオカメラ装置100を制御することも可能である。
【0152】
通信部125に対して、例えばUSBをインターフェイスとして用いてホスト機能を有する他の機器が接続されると、通信部125と当該他の機器の通信インターフェイスとの間でUSBによるプロトコルで以て所定のやりとりが行われ、通信が確立される。それと共に、CPU120は、図16のフローチャートを用いて説明したように、例えばバッファメモリに記憶されている未記録のデータがハードディスクに書き込まれ(ステップS60)、ファイルシステム部11により、オープン中のファイルが全てクローズされる(ステップS61)。また、CPU120により退避情報が読み込まれ、この退避情報に基づきフラッシュメモリに退避された記録データがハードディスクに所定に書き戻される。そして、ドライブ部126に接続されたハードディスクやフラッシュメモリがビデオカメラ装置100のシステムからアンマウントされ(ステップS63)、その後、さらに必要な処理が行われる(ステップS64)。このとき、例えば、接続された他の機器により、ハードディスクのマウント処理が行われる。
【0153】
ビデオカメラ装置100の電源切断時にも、図16のフローチャートを用いて説明したように、バッファメモリに記憶されている未記録データのハードディスクに対する書き込みが行われ、オープン中のファイルが全てクローズされ、退避情報に基づきフラッシュメモリに退避された記録データのハードディスクに対する書き戻しの処理が行われる。そして、ドライブ部126に接続されたハードディスクやフラッシュメモリのアンマウント処理がなされ、各部の初期化など、他の必要な処理がなされる。
【0154】
上述では、この発明が撮像素子で撮像された撮像信号に基づくビデオデータを、ハードディスクに記録するようにしたビデオカメラ装置100に適用した例について説明したが、これはこの例に限定されない。例えば、ビデオデータを記録する記録媒体は、ランダムアクセスが可能であり、且つ、装置に対する落下や振動、衝撃によって記録エラーが発生するようなものであれば、他の種類の記録媒体にも適用できる。
【0155】
例えば、記録可能なタイプのDVDやBlu−ray Discといった、記録可能な光ディスクを記録媒体として用いることができる。この場合でも、上述の処理と同様に、センサの検出結果に基づき落下や振動、衝撃により記録エラーを起こす可能性があるをと判断されるか、または、記録データの書き込みに際してタイムアウトエラーが発生した際に、フラッシュメモリに対して記録データを退避させて記録を継続させる。なお、これら記録可能な光ディスクは、一般的には、ビデオカメラ装置100に対して脱着可能とされている。そこで、記録媒体のイジェクト時にも、フラッシュメモリに退避された記録データを記録媒体に書き戻す処理を行うようにする。
【0156】
また、上述では、記録データの退避先を不揮発性メモリ13Bであるとして説明したが、これはこの例に限定されない。すなわち、記録データの退避先は、装置の電源を切断した際にも記憶内容が失われないような記録媒体であれば、他の種類の記録媒体を適用することができる。例えば、ハードディスク13A自体の空き領域を、記録データの退避先として用いることができる。この場合、例えば、図1Aや図1Bに示すハードディスクのデータ構造における、MBRとPBRとの間の空き領域を、記録データの退避先とすることが考えられる。
【0157】
さらに、上述では、センサ127で加速度を検出して落下や振動、衝撃の有無を判断するように説明したが、これはこの例に限定されない。例えば、センサ127は、ビデオカメラ装置100内部の温度を検知する温度センサであってもよい。ビデオカメラ装置100内が所定温度以上になったら、ハードディスク13Aにおいて記録エラーが発生する可能性が高くなるとして、ハードディスク13Aに書き込まれる記録データを不揮発性メモリ13Bに退避させることが考えられる。勿論、加速度センサおよび温度センサを共に設け、加速度センサの検出結果と温度センサの検出結果のうち何れか一方でも所定値を超えたら、ハードディスク13Aに書き込まれる記録データを不揮発性メモリ13Bに退避させるようにしてもよい。
【0158】
さらにまた、この発明は、図19に一例が示されるような、一般的な構成を有するコンピュータ装置200に対して適用することもできる。図19において、バス201に対してCPU210、RAM211およびROM212、ならびに、入出力インターフェイス220が接続される。CPU210は、ROM212に予め記憶されたプログラムに基づきRAM211をワークメモリとして用いてシステムを起動させ、後述するハードディスク224Bに予め記録されるプログラムデータを読み込んでRAM211に展開し、RAM211上に展開されたプログラムデータに基づきコンピュータ装置200の各部を制御する。
【0159】
入出力インターフェイス220は、接続される各入出力デバイスのデバイスコントローラとして機能するもので、実際には、入出力デバイスの種類に応じてそれぞれ設けられる。
【0160】
データの入力を受け付ける入力部221のデバイスとしては、例えばキーボード221A、マウス221Bといったポインティングデバイス、スキャナ221Cといった画像入力装置、マイクロフォン221Dといった音声入力装置が考えられる。勿論、CCDやCMOSイメージセンサを撮像素子として用いたビデオカメラも、入力デバイスとして用いることができる。なお、スキャナ221Cは、後述するUSBインターフェイス223AやIEEE1394インターフェイス223Bを接続インターフェイスとして用いて、画像データをコンピュータ装置200に送信する。また、マイクロフォン221Dを入力デバイスとして用いる場合、マイクロフォンから出力されたアナログ音声信号をディジタルオーディオデータに変換するA/D変換手段が必要となる。
【0161】
データの出力を行う出力部222のデバイスとしては、ディスプレイ222A、スピーカ222B、プリンタ装置222Cおよびプロッタ装置222Dが考えられる。ディスプレイ222Aは、実際には、CPU210で生成された表示制御信号をビデオ信号に変換するビデオ信号処理部(図示しない)を介して、コンピュータ装置200に対して接続される。スピーカ222Bを出力デバイスとして用いる場合、バス201を介して供給されたディジタルオーディオデータをアナログ音声信号に変換するD/A変換手段が必要となる。また、プリンタ装置222Cおよびプロッタ装置222Dは、後述するUSBインターフェイス223AやIEEE1394インターフェイス223B、さらに他のインターフェイスなどを接続インターフェイスとして用いて、バス201を介して供給される画像信号に基づく印刷を行う。
【0162】
外部とのデータ通信を行う通信部223のデバイスとしては、USBによる通信を司るUSBインターフェイス223A、IEEE1394による通信を司るIEEE1394インターフェイス223B、Bluetoothによる無線通信を司るBluetoothインターフェイス223Cおよび所謂無線LANによる無線通信を司るIEEE802.11a/b/gインターフェイス223Dが考えられる。各インターフェイスは、それぞれ所定のプロトコルを用いて接続先の相手機器と通信を行う。
【0163】
データを記録する記録部224のデバイスとしては、記録可能なタイプのDVDやBlu−ray Discといった光ディスク224A、ハードディスクといった磁気ディスク224B、MO(Magneto-Optical Disc)といった光磁気ディスク224C、書き換え可能で不揮発性のメモリであるフラッシュメモリなどの半導体メモリ224Dが考えられる。なお、光ディスク224Aや光磁気ディスク224Cは、対応するドライブ(図示しない)に装填して用いられる。また、ハードディスクは、記録媒体そのものであるハードディスク本体と、ハードディスクを駆動するためのドライブ装置とからなるハードディスクドライブ(HDD)として用いられる。
【0164】
このような構成を有するコンピュータ装置200において、例えばハードディスク(磁気ディスク224B)や、光ディスク224A、光磁気ディスク224Cに対してデータを記録する際に、タイムアウトエラーが発生した場合、図9などを用いて既に説明したような手順で以て、不揮発性メモリである半導体メモリ224Dに記録データを退避させるようにできる。
【0165】
さらにまた、この発明を適用可能な装置は、上述したビデオカメラ装置100やコンピュータ装置200に限られない。すなわち、この発明は、ハードディスクなどランダムアクセスが可能で、且つ、落下や振動、衝撃などにより記録エラーが発生する可能性がある記録媒体を用いる装置であれば、他の種類の装置にも適用することができる。例えば、音声信号をハードディスクや光ディスク、光磁気ディスクに記録するようにした録音機にこの発明を適用することができる。
【0166】
また、近年では、本来の電話機能の他に、ハードディスクを内蔵し、電波により受信した音楽データや、所定のインターフェイスにより有線でコンピュータ装置などに接続して音楽データなどをコンピュータ装置から転送することができるようにした携帯電話端末が普及の兆しを見せている。この発明は、このようなハードディスク内蔵の携帯電話端末にも適用させることができる。
【0167】
さらに、上述では、この発明がFATによるファイルシステムに適用されるように説明したが、これは一例であって、この例に限定されるものではない。すなわち、この発明は、ランダムアクセス可能な記録媒体に対して所定単位でアドレス管理を行うようなファイルシステムであれば、他のファイルシステムにも適用可能なものである。
【図面の簡単な説明】
【0168】
【図1】FATファイルシステムに基づきフォーマットされたハードディスクのデータ構造の例を示す略線図である。
【図2】マスターブートレコードの一例の構造を示す略線図である。
【図3】パーティションテーブルの一例の構造を示す略線図である。
【図4】FAT16におけるディレクトリエントリの一例の構造を示す略線図である。
【図5】FAT32によるFATの例を示す略線図である。
【図6】ファイルシステムを実現するための一例のアーキテクチャを示す略線図である。
【図7】この発明の実施の形態を説明するための略線図である。
【図8】この発明の実施の第1の形態に適用可能な、FATによるファイルシステムの一例の構成をより詳細に示すブロック図である。
【図9】この発明の実施の第1の形態による一例の記録処理を示すフローチャートである。
【図10】退避情報の一例を示す略線図である。
【図11】バッファに溜め込まれた記録データをハードディスクに書き込む処理を説明するためのフローチャートである。
【図12】ハードディスクに対して動画データファイル「M2U00001.MPG」、「M2U00002.MPG」および「M2U00003.MPG」を書き込んだ場合の一例のファイルレイアウトを示す略線図である。
【図13】ハードディスクからデータを読み出す際に、不揮発性メモリに書き込まれた記録データをハードディスクに書き戻す一例の処理を示すフローチャートである。
【図14】ハードディスクからデータを読み出す際に、不揮発性メモリに書き込まれた記録データをハードディスクに書き戻す一例の処理を示すフローチャートである。
【図15】ハードディスクのマウント時およびアンマウント時に書き戻しを行う一例の処理を説明するためのフローチャートである。
【図16】ハードディスクのマウント時およびアンマウント時に書き戻しを行う一例の処理を説明するためのフローチャートである。
【図17】ハードディスクのマウント時およびアンマウント時に書き戻しを行う一例の処理を説明するためのフローチャートである。
【図18】この発明の実施の第2の形態による携帯用ビデオカメラ装置1一例の構成を示すブロック図である。
【図19】一般的なコンピュータ装置の一例の構成を示すブロック図である。
【符号の説明】
【0169】
10 アプリケーション部
11 ファイルシステム部
12 デバイスドライバ部
13 記録媒体
13A ハードディスク
13B 不揮発性メモリ
20 記録制御部
21 記録媒体制御部
22 ディレクトリエントリ制御部
23 クラスタ制御部
24 FAT制御部
25 位置算出部
30 ワークメモリ
100 ビデオカメラ装置
110 光学レンズ部
111 光電変換部
112 画像信号処理部
114 表示部
116 音声入出力部
117 音声処理部
120 CPU
121 RAM
123 ROM
124 操作入力部
125 通信部
126 ドライブ部
127 センサ

【特許請求の範囲】
【請求項1】
ディスク状記録媒体にデータを記録する記録装置において、
書き込み要求されたデータをディスク状記録媒体に書き込む記録部と、
上記ディスク状記録媒体に対する上記書き込み要求されたデータの書き込みが正常に行われるか否かを判断する判断部と、
上記記録部による上記ディスク状記録媒体に対するデータの書き込みを制御する制御部と
を有し、
上記制御部は、
上記判断部により上記書き込み要求されたデータの上記書き込みが正常に行われないと判断された場合に、該書き込み要求されたデータを不揮発性の記憶媒体に書き込むと共に、該書き込み要求されたデータの管理情報を作成し保持するようにした
ことを特徴とする記録装置。
【請求項2】
請求項1に記載の記録装置において、
上記制御部は、
上記記憶媒体に書き込まれた上記書き込み要求されたデータを、所定のタイミングで、上記管理情報に基づき上記ディスク状記録媒体に書き込むようにした
ことを特徴とする記録装置。
【請求項3】
請求項2に記載の記録装置において、
上記所定のタイミングは、上記ディスク状記録媒体のアンマウント時である
ことを特徴とする記録装置。
【請求項4】
請求項3に記載の記録装置において、
上記所定のタイミングは、装置の電源切断処理時である
ことを特徴とする記録装置。
【請求項5】
請求項3に記載の記録装置において、
ホスト機能を有する機器と通信可能な通信部をさらに有し、
上記所定のタイミングは、上記通信部を介して上記ホスト機能を有する機器と接続を行う接続処理時である
ことを特徴とする記録装置。
【請求項6】
請求項2に記載の記録装置において、
上記所定のタイミングは、上記ディスク状記録媒体のマウント時である
ことを特徴とする記録装置。
【請求項7】
請求項6に記載の記録装置において、
上記所定のタイミングは、装置の電源投入処理時である
ことを特徴とする記録装置。
【請求項8】
請求項6に記載の記録装置において、
ホスト機能を有する機器と通信可能な通信部をさらに有し、
上記所定のタイミングは、上記通信部を介して接続された上記ホスト機能を有する機器が、該接続を解除したタイミングである
ことを特徴とする記録装置。
【請求項9】
請求項2に記載の記録装置において、
上記制御部は、
上記記憶媒体に書き込まれた上記書き込み要求されたデータが上記ディスク状記録媒体に書き込まれたら、上記記憶媒体から該書き込み要求されたデータを削除すると共に、上記管理情報の対応する情報を削除する
ことを特徴とする記録装置。
【請求項10】
請求項1に記載の記録装置において、
上記判断部は、
上記記録部による上記ディスク状記録媒体に対するデータの書き込みの際に記録エラーが発生したら、上記書き込み要求されたデータの書き込みが正常に行われないと判断する
ことを特徴とする記録装置。
【請求項11】
請求項10に記載の記録装置において、
上記記録エラーは、記録処理のタイムアウトである
ことを特徴とする記録装置。
【請求項12】
請求項1に記載の記録装置において、
上記ディスク状記録媒体に加えられる加速度、振動、および/または衝撃を検出するセンサ部をさらに有し、
上記判断部は、
上記センサ部により上記加速度、振動、および/または衝撃が検出されたら、上記書き込み要求されたデータの上記書き込みが正常に行われないと判断する
ことを特徴とする記録装置。
【請求項13】
請求項1に記載の記録装置において、
上記管理情報は、
少なくとも、上記書き込み要求に基づく上記ディスク状記録媒体上のアドレスを示すアドレス情報と、該書き込み要求されたデータを上記記憶媒体に書き込んだ際の該記憶媒体上のアドレスを示すアドレス情報とが関連付けられる
ことを特徴とする記録装置。
【請求項14】
請求項1に記載の記録装置において、
上記記憶媒体は、フラッシュメモリである
ことを特徴とする記録装置。
【請求項15】
ディスク状記録媒体にデータを記録する記録方法において、
書き込み要求されたデータをディスク状記録媒体に書き込む記録のステップと、
上記ディスク状記録媒体に対する上記書き込み要求されたデータの書き込みが正常に行われるか否かを判断する判断のステップと、
上記記録のステップによる上記ディスク状記録媒体に対するデータの書き込みを制御する制御のステップと
を有し、
上記制御のステップは、
上記判断のステップにより上記書き込み要求されたデータの上記書き込みが正常に行われないと判断された場合に、該書き込み要求されたデータを不揮発性の記憶媒体に書き込むと共に、該書き込み要求されたデータの管理情報を作成し保持するようにした
ことを特徴とする記録方法。
【請求項16】
ディスク状記録媒体にデータを記録する記録方法をコンピュータ装置に実行させる記録プログラムにおいて、
上記記録方法は、
書き込み要求されたデータをディスク状記録媒体に書き込む記録のステップと、
上記ディスク状記録媒体に対する上記書き込み要求されたデータの書き込みが正常に行われるか否かを判断する判断のステップと、
上記記録のステップによる上記ディスク状記録媒体に対するデータの書き込みを制御する制御のステップと
を有し、
上記制御のステップは、
上記判断のステップにより上記書き込み要求されたデータの上記書き込みが正常に行われないと判断された場合に、該書き込み要求されたデータを不揮発性の記憶媒体に書き込むと共に、該書き込み要求されたデータの管理情報を作成し保持する
ようにした記録方法をコンピュータ装置に実行させる
ことを特徴とする記録プログラム。
【請求項17】
ディスク状記録媒体にデータを記録し、ディスク状記録媒体からデータを再生する記録再生装置において、
書き込み要求されたデータをディスク状記録媒体に書き込む記録部と、
ディスク状記録媒体に書き込まれたデータを読み出し要求に基づき再生する再生部と、
上記ディスク状記録媒体に対する上記書き込み要求されたデータの書き込みが正常に行われるか否かを判断する判断部と、
上記記録部による上記ディスク状記録媒体に対するデータの書き込みと、上記再生部による上記ディスク状記録媒体からのデータの再生とを制御する制御部と
を有し、
上記制御部は、
上記判断部により上記書き込み要求されたデータの上記書き込みが正常に行われないと判断された場合に、該書き込み要求されたデータを不揮発性の記憶媒体に書き込むと共に、該書き込み要求されたデータの管理情報を作成し保持するようにした
ことを特徴とする記録再生装置。
【請求項18】
請求項17に記載の記録再生装置において、
上記制御部は、
上記記憶媒体に書き込まれた上記書き込み要求されたデータを、所定のタイミングで、上記管理情報に基づき上記ディスク状記録媒体に書き込むようにした
ことを特徴とする記録再生装置。
【請求項19】
請求項18に記載の記録再生装置において、
上記所定のタイミングは、上記再生部による、上記ディスク状記録媒体に書き込まれたデータの再生時である
ことを特徴とする記録再生装置。
【請求項20】
請求項18に記載の記録再生装置において、
上記所定のタイミングは、上記ディスク状記録媒体のアンマウント時である
ことを特徴とする記録再生装置。
【請求項21】
請求項20に記載の記録再生装置において、
上記所定のタイミングは、装置の電源切断処理時である
ことを特徴とする記録再生装置。
【請求項22】
請求項20に記載の記録再生装置において、
ホスト機能を有する機器と通信可能な通信部をさらに有し、
上記所定のタイミングは、上記通信部を介して上記ホスト機能を有する機器と接続を行う接続処理時である
ことを特徴とする記録再生装置。
【請求項23】
請求項18に記載の記録再生装置において、
上記所定のタイミングは、上記ディスク状記録媒体のマウント時である
ことを特徴とする記録再生装置。
【請求項24】
請求項23に記載の記録再生装置において、
上記所定のタイミングは、装置の電源投入処理時である
ことを特徴とする記録再生装置。
【請求項25】
請求項23に記載の記録再生装置において、
ホスト機能を有する機器と通信可能な通信部をさらに有し、
上記所定のタイミングは、上記通信部を介して接続された上記ホスト機能を有する機器が、該接続を解除したタイミングである
ことを特徴とする記録再生装置。
【請求項26】
請求項18に記載の記録再生装置において、
上記制御部は、
上記記憶媒体に書き込まれた上記書き込み要求されたデータが上記ディスク状記録媒体に書き込まれたら、上記記憶媒体から該書き込み要求されたデータを削除すると共に、上記管理情報の対応する情報を削除する
ことを特徴とする記録再生装置。
【請求項27】
請求項26に記載の記録再生装置において、
上記制御部は、
上記再生部により上記ディスク状記録媒体から読み出し要求に基づきデータが再生される際に、
上記管理情報に基づき、上記読み出し要求に示されるデータ範囲に含まれるデータが上記記憶媒体に書き込まれているとされれば、上記ディスク状記録媒体からのデータの再生時に、上記記憶媒体の上記読み出し要求に示されるデータ範囲に含まれるデータに対応する部分では該記憶媒体から対応する該データを読み出すようにした
ことを特徴とする記録再生装置。
【請求項28】
請求項17に記載の記録再生装置において、
上記判断部は、
上記記録部による上記ディスク状記録媒体に対するデータの書き込みの際に記録エラーが発生したら、上記書き込み要求されたデータの書き込みが正常に行われないと判断する
ことを特徴とする記録再生装置。
【請求項29】
請求項28に記載の記録再生装置において、
上記記録エラーは、記録処理のタイムアウトである
ことを特徴とする記録再生装置。
【請求項30】
請求項17に記載の記録再生装置において、
上記ディスク状記録媒体に加えられる加速度、振動、および/または衝撃を検出するセンサ部をさらに有し、
上記判断部は、
上記センサ部により上記加速度、振動、および/または衝撃が検出されたら、上記書き込み要求されたデータの上記書き込みが正常に行われないと判断する
ことを特徴とする記録再生装置。
【請求項31】
請求項17に記載の記録再生装置において、
上記管理情報は、
少なくとも、上記書き込み要求に基づく上記ディスク状記録媒体上のアドレスを示すアドレス情報と、該書き込み要求されたデータを上記記憶媒体に書き込んだ際の該記憶媒体上のアドレスを示すアドレス情報とが関連付けられる
ことを特徴とする記録再生装置。
【請求項32】
請求項17に記載の記録再生装置において、
上記記憶媒体は、フラッシュメモリである
ことを特徴とする記録再生装置。
【請求項33】
ディスク状記録媒体にデータを記録し、ディスク状記録媒体からデータを再生する記録再生方法において、
書き込み要求されたデータをディスク状記録媒体に書き込む記録のステップと、
ディスク状記録媒体に書き込まれたデータを読み出し要求に基づき再生する再生のステップと、
上記ディスク状記録媒体に対する上記書き込み要求されたデータの書き込みが正常に行われるか否かを判断する判断のステップと、
上記記録のステップによる上記ディスク状記録媒体に対するデータの書き込みと、上記再生のステップによる上記ディスク状記録媒体からのデータの再生とを制御する制御のステップと
を有し、
上記制御のステップは、
上記判断のステップにより上記書き込み要求されたデータの上記書き込みが正常に行われないと判断された場合に、該書き込み要求されたデータを不揮発性の記憶媒体に書き込むと共に、該書き込み要求されたデータの管理情報を作成し保持するようにした
ことを特徴とする記録再生方法。
【請求項34】
ディスク状記録媒体にデータを記録し、ディスク状記録媒体からデータを再生する記録再生方法をコンピュータ装置に実行させる記録再生プログラムにおいて、
上記記録再生方法は、
書き込み要求されたデータをディスク状記録媒体に書き込む記録のステップと、
ディスク状記録媒体に書き込まれたデータを読み出し要求に基づき再生する再生のステップと、
上記ディスク状記録媒体に対する上記書き込み要求されたデータの書き込みが正常に行われるか否かを判断する判断のステップと、
上記記録のステップによる上記ディスク状記録媒体に対するデータの書き込みと、上記再生のステップによる上記ディスク状記録媒体からのデータの再生とを制御する制御のステップと
を有し、
上記制御のステップは、
上記判断のステップにより上記書き込み要求されたデータの上記書き込みが正常に行われないと判断された場合に、該書き込み要求されたデータを不揮発性の記憶媒体に書き込むと共に、該書き込み要求されたデータの管理情報を作成し保持する
ようにした記録再生方法をコンピュータ装置に実行させる
ことを特徴とする記録再生プログラム。
【請求項35】
撮像部で被写体を撮像して得られたビデオデータをディスク状記録媒体に記録し、ディスク状記録媒体からビデオデータを再生する撮像装置において、
被写体を撮像してビデオデータを出力する撮像部と、
書き込み要求されたビデオデータをディスク状記録媒体に書き込む記録部と、
ディスク状記録媒体に書き込まれたビデオデータを読み出し要求に基づき再生する再生部と、
上記ディスク状記録媒体に対する上記書き込み要求されたビデオデータの書き込みが正常に行われるか否かを判断する判断部と、
上記記録部による上記ディスク状記録媒体に対するビデオデータの書き込みと、上記再生部による上記ディスク状記録媒体からのビデオデータの再生とを制御する制御部と
を有し、
上記制御部は、
上記判断部により上記書き込み要求されたビデオデータの上記書き込みが正常に行われないと判断された場合に、該書き込み要求されたデータを不揮発性の記憶媒体に書き込むと共に、該書き込み要求されたビデオデータの管理情報を作成し保持するようにした
ことを特徴とする撮像装置。
【請求項36】
請求項35に記載の撮像装置において、
上記制御部は、
上記記憶媒体に書き込まれた上記書き込み要求されたビデオデータを、所定のタイミングで、上記管理情報に基づき上記ディスク状記録媒体に書き込むようにした
ことを特徴とする撮像装置。
【請求項37】
請求項36に記載の撮像装置において、
上記所定のタイミングは、上記再生部による、上記ディスク状記録媒体に書き込まれたビデオデータの再生時である
ことを特徴とする撮像装置。
【請求項38】
請求項36に記載の撮像装置において、
上記所定のタイミングは、上記ディスク状記録媒体のアンマウント時である
ことを特徴とする撮像装置。
【請求項39】
請求項38に記載の撮像装置において、
上記所定のタイミングは、装置の電源切断処理時である
ことを特徴とする撮像装置。
【請求項40】
請求項38に記載の撮像装置において、
ホスト機能を有する機器と通信可能な通信部をさらに有し、
上記所定のタイミングは、上記通信部を介して上記ホスト機能を有する機器と接続を行う接続処理時である
ことを特徴とする撮像装置。
【請求項41】
請求項36に記載の撮像装置において、
上記所定のタイミングは、上記ディスク状記録媒体のマウント時である
ことを特徴とする撮像装置。
【請求項42】
請求項41に記載の撮像装置において、
上記所定のタイミングは、装置の電源投入処理時である
ことを特徴とする撮像装置。
【請求項43】
請求項41に記載の撮像装置において、
ホスト機能を有する機器と通信可能な通信部をさらに有し、
上記所定のタイミングは、上記通信部を介して接続された上記ホスト機能を有する機器が、該接続を解除したタイミングである
ことを特徴とする撮像装置。
【請求項44】
請求項36に記載の撮像装置において、
上記制御部は、
上記記憶媒体に書き込まれた上記書き込み要求されたビデオデータが上記ディスク状記録媒体に書き込まれたら、上記記憶媒体から該書き込み要求されたビデオデータを削除すると共に、上記管理情報の対応する情報を削除する
ことを特徴とする撮像装置。
【請求項45】
請求項44に記載の撮像装置において、
上記制御部は、
上記再生部により上記ディスク状記録媒体から読み出し要求に基づきビデオデータが再生される際に、
上記管理情報に基づき、上記読み出し要求に示されるビデオデータ範囲に含まれるビデオデータが上記記憶媒体に書き込まれているとされれば、上記ディスク状記録媒体からのビデオデータの再生時に、上記記憶媒体の上記読み出し要求に示されるビデオデータ範囲に含まれるビデオデータに対応する部分では該記憶媒体から対応する該ビデオデータを読み出すようにした
ことを特徴とする撮像装置。
【請求項46】
請求項35に記載の撮像装置において、
上記判断部は、
上記記録部による上記ディスク状記録媒体に対するビデオデータの書き込みの際に記録エラーが発生したら、上記書き込み要求されたビデオデータの書き込みが正常に行われないと判断する
ことを特徴とする撮像装置。
【請求項47】
請求項46に記載の撮像装置において、
上記記録エラーは、記録処理のタイムアウトである
ことを特徴とする撮像装置。
【請求項48】
請求項35に記載の撮像装置において、
上記ディスク状記録媒体に加えられる加速度、振動、および/または衝撃を検出するセンサ部をさらに有し、
上記判断部は、
上記センサ部により上記加速度、振動、および/または衝撃が検出されたら、上記書き込み要求されたビデオデータの上記書き込みが正常に行われないと判断する
ことを特徴とする撮像装置。
【請求項49】
請求項35に記載の撮像装置において、
上記管理情報は、
少なくとも、上記書き込み要求に基づく上記ディスク状記録媒体上のアドレスを示すアドレス情報と、該書き込み要求されたビデオデータを上記記憶媒体に書き込んだ際の該記憶媒体上のアドレスを示すアドレス情報とが関連付けられる
ことを特徴とする撮像装置。
【請求項50】
請求項35に記載の撮像装置において、
上記記憶媒体は、フラッシュメモリである
ことを特徴とする撮像装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate


【公開番号】特開2008−77780(P2008−77780A)
【公開日】平成20年4月3日(2008.4.3)
【国際特許分類】
【出願番号】特願2006−256723(P2006−256723)
【出願日】平成18年9月22日(2006.9.22)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Bluetooth
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】