(57)【要約】【課題】  動画の記録中にランダムアクセスが発生した場合にも書き込み速度が低下してしまうことを防止する。【解決手段】  フラッシュメモリを有するメモリ装置に対してファイルを記録する装置であって、所定量の動画データに対して付加情報を多重することによりストリームデータを生成する手段と、前記メモリ装置に対してディレクトリ用コマンドを発行することによりディレクトリデータを書き込むと共に、前記メモリ装置に対してストリーム用コマンドを発行することにより前記ストリームデータを含むファイルを書き込む制御手段とを備え、前記制御手段は、前記メモリ装置にランダムにアクセスして、前記メモリ装置に記録されたストリームデータに多重された付加情報を書き替える場合に、前記ディレクトリ用コマンドを発行することにより前記付加情報を書き替える。【選択図】  図１
2011199377.tif 000002
【特許請求の範囲】
【請求項１】
フラッシュメモリを有するメモリ装置に対してファイルを記録する装置であって、
所定量の動画データに対して付加情報を多重することによりストリームデータを生成する手段と、
前記メモリ装置に対してディレクトリ用コマンドを発行することによりディレクトリデータを書き込むと共に、前記メモリ装置に対してストリーム用コマンドを発行することにより前記ストリームデータを含むファイルを書き込む制御手段とを備え、
前記制御手段は、前記メモリ装置にランダムにアクセスして、前記メモリ装置に記録されたストリームデータに多重された付加情報を書き替える場合に、前記ディレクトリ用コマンドを発行することにより前記付加情報を書き替えることを特徴とする記録装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は記録装置に関し、特に、動画を記録する装置に関する。
【背景技術】
【０００２】
従来、動画をメモリカードなどのフラッシュメモリに対して記録する装置が知られている。この様な記録装置では、記録された動画信号をファイルとして管理する。フラッシュメモリは所定サイズの消去ブロックを単位として、データ書き込み処理を実行する前に消去処理を必要とする。
【０００３】
従って、消去ブロック未満のデータを書き換える際には、同じ消去ブロックにある書き替え対象以外のデータも含めて消去ブロック単位で書き換え処理を行う必要がある。そこで、例えば、書き替え対象となる消去ブロックのデータをバッファメモリへ一時退避させておき、バッファメモリ内で必要なデータを更新し、消去ブロック内のデータを消去後、再び書き込み処理を行う必要がある。この様に、データの書き替えを行う度に消去ブロックの消去処理が発生し、書き込み速度の低下が発生する。
【０００４】
例えば、動画信号を記録する場合、フラッシュメモリに対する書き込み速度が低下して、動画信号のデータレートより低くなると、記録エラーとなる。
【０００５】
そこで、特に書き替え回数が多い、いわゆるランダムライトとなるＦＡＴファイルシステムを使う際、ホストからコマンドを設定し、フラッシュメモリ内でキャッシュブロックを割り当て、高速アクセス可能にする技術が提案されている。（例えば、特許文献１参照）
さらに、ホストからフラッシュメモリにデータを書き込む際に、ファイルシステムのデータやディレクトリ、動画データ用にコマンドを用意しておくことも提案されている。この様に、ホストが扱うデータ毎にコマンドを用意しておき、フラッシュメモリ内部で例えばキャッシュブロック等を割り当てて、高速アクセスを可能にする。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−２６５８３９
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、高速アクセス用に用意されたデータを書き込む際には高速アクセスが可能になるが、動画データの記録中にランダムアクセスが必要となった場合、書き込み速度が低下することが考えられる。
【０００８】
例えば、通常、ファイルシステムによって管理されるファイルの上限サイズが決まっている。そのため、動画の記録中に、動画ファイルのサイズが上限のサイズを超えそうになると、一旦記録中のファイルをクローズし、新たファイルをオープンして記録を継続する必要がある。この様なファイルクローズ、オープン処理の際にランダムアクセスが発生した結果、書き込み速度が低下し、記録エラーとなることが考えられる。
【０００９】
本発明はこの様な問題点に鑑みてなされたものであり、動画の記録中にランダムアクセスが発生した場合にも書き込み速度が低下してしまうことを防止して、良好に動画データを記録可能な装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、フラッシュメモリを有するメモリ装置に対してファイルを記録する装置であって、所定量の動画データに対して付加情報を多重することによりストリームデータを生成する手段と、前記メモリ装置に対してディレクトリ用コマンドを発行することによりディレクトリデータを書き込むと共に、前記メモリ装置に対してストリーム用コマンドを発行することにより前記ストリームデータを含むファイルを書き込む制御手段とを備え、前記制御手段は、前記メモリ装置にランダムにアクセスして、前記メモリ装置に記録されたストリームデータに多重された付加情報を書き替える場合に、前記ディレクトリ用コマンドを発行することにより前記付加情報を書き替える構成とした。
【発明の効果】
【００１１】
本発明によれば、動画の記録中にランダムアクセスが発生した場合にも書き込み速度が低下してしまうことを防止することができる。
【図面の簡単な説明】
【００１２】
【図１】記録装置の構成を示す図である。
【図２】メモリ装置の記憶領域を示す図である。
【図３】メモリ装置の記憶領域を示す図である。
【図４】記録処理を示すフローチャートである。
【図５】書き込み処理を示すフローチャートである。
【図６】動画記録時におけるコマンドの様子を示す図である。
【発明を実施するための形態】
【００１３】
図１は本発明の実施形態における記録装置１００とメモリ装置２００の構成を示すブロック図である。図１の記録装置１００において、入力部１０１は装置外部から動画データを入力する。信号処理部１０２は入力された動画データに対してＭＰＥＧ方式等の公知の符号化処理を施して情報量を圧縮する。メモリ１０３は入力された動画データや符号化された動画データ、或いは、管理情報などの各種の情報を記憶する。システム制御部１０４はマイクロコンピュータを有し、不揮発性メモリ１０７に記憶されたプログラムを実行することで、記録装置１００の動作を制御する。また、システム制御部１０４は、メモリ装置２００に記録されるファイルを管理するためのファイルシステムを有する。操作部１０５は、電源スイッチや動画の記録開始、停止を指示するためのスイッチ等、各種のスイッチを備える。ユーザは操作部１０５を操作することにより、記録装置１００に対する動作を指示する。
【００１４】
不揮発性メモリ１０７は、システム制御部１０４を動作させるためのプログラムを記憶する。ＲＡＭ１０８はシステム制御部１０４の処理に必要な各種のデータを記憶する。メモリインターフェイス（ＩＦ）１０６は、不図示のコネクタを介してメモリ装置２００と通信を行い、メモリ装置２００に対して各種のコマンドやデータを送信すると共に、メモリ装置２００からの情報を受け取ってシステム制御部１０４に送る。また、バス１０９は、各部の間でデータを送受信する。
【００１５】
また、メモリ装置２００において、ホストＩＦ２０１は記録装置１００との間で通信を行い、記録装置１００からのコマンドに従ってデータの書き込みを実行する。コントローラ２０２は記録装置１００から送信されたコマンドに従ってデータの書き込みを制御する。バッファメモリ２０３は記録装置１００からコマンドを受信した際に、データを一時記憶するためのキャッシュブロックとして使用される。記憶部２０４はＮＡＮＤフラッシュメモリで構成され、ストリームデータやＦＡＴ、ディレクトリデータを記憶する。バス２０５は各部の間でデータを送受信する。
【００１６】
本実施形態では、メモリ装置２００は不図示の装着、排出機構により記録装置１００に対してユーザが自由に取り外しできるように構成している。しかし、メモリ装置２００を記録装置１００に内蔵する構成としてもよい。
【００１７】
また、メモリ装置２００がＰＣＭＣＩＡ規格のＰＣカードやＣＦカード等の場合は、記憶部２０４にその性能が記憶されていることもある。
【００１８】
次に、メモリ装置２００における記憶領域について説明する。図２（ａ）は記録装置１００から見た記憶部２０４の記憶領域を示し、図２（ｂ）はメモリ装置２００が実際に行う記憶部２０４の記憶領域の分割の様子を示している。図２（ａ）は記録装置１００が想定している記憶部２０４に対応し、図２（ｂ）はメモリ装置２００での実際の記憶部２０４の状態に対応する。
【００１９】
図２（ａ）において、ＲＵは記録単位であり、一つのアロケーションユニット（ＡＵ）が、複数のＲＵの集合として定義される。記録装置１００は、記憶部２０４に対し、ＲＵ単位に分け、ＲＵごとにデータの書き込みを指示する。
【００２０】
図２（ｂ）の各ページはコントローラ２０２が記憶部２０４に対して書き込みまたは読み出しをする際のアクセス単位である。一つの消去ブロックは複数のページからなり、コントローラ２０２はこの消去ブロックを単位として記憶部２０４のデータを消去する。
【００２１】
本実施形態では、ファイルシステムに従ってメモリ装置２００に記録したファイルを管理する。本実施形態では、ＦＡＴ（Ｆｉｌｅ  Ａｌｌｏｃａｔｉｏｎ  Ｔａｂｌｅ）ファイルシステムを用いる。
【００２２】
図３は、本実施形態のファイルシステムと記録装置、及びメモリ装置による記憶領域の配置を示している。３０１はＦＡＴファイルシステムによる論理的なデータの配置を示している。また、３０１は動画像記録装置１００が管理するＡＵ、ＲＵ様子を示し、３０３はメモリ装置２００の消去ブロック、ページの様子を示している。尚、本実施例ではクラスタサイズ＝ＲＵサイズとし、１ＲＵは３２ＫＢとする。また、１ＡＵは４ＭＢとする。
【００２３】
ＦＡＴファイルシステムによるデータの構成はＭＢＲ（Ｍａｓｔｅｒ  Ｂｏｏｔ  Ｒｅｃｏｒｄ）３０４、ＰＢＲ（Ｐａｒｔｉｔｉｏｎ  Ｂｏｏｔ  Ｒｅｃｏｒｄ）３０５、ＦＳＩＮＦＯ３０６、ＦＡＴＩ３０７、ＦＡＴII３０８、ルートディレクトリ３０９、データ領域３１０に分けられる。ＭＢＲ３０４はＰＢＲ３０５の位置情報を格納する領域である。ＰＢＲ３０５はＦＡＴＩ３０７の開始セクタのオフセットやＦＡＴ領域のサイズ、ルートディレクトリ３０９のクラスタ番号などを格納する領域である。ＦＳＩＮＦＯ３０６は空きクラスタ数などの情報を格納する領域である。ＦＡＴＩ３０７はデータ領域３１０のクラスタ（ＲＵ）の使用状況を示すテーブルデータを格納する領域である。ＦＡＴII３０８はＦＡＴＩ３０７のバックアップ領域である。ルートディレクトリ３０９はメモリ装置２００に記録されたディレクトリ情報を示すデータを記録する領域である。データ領域３１０はデータを格納する領域である。
【００２４】
本実施形態では、メモリ装置２００の初期化時に、図３に示すように、ＡＵサイズを消去ブロックサイズの整数倍とする、消去ブロックの境界にあわせて各領域を配置する、データ領域はＡＵ境界から開始するように初期化する。
【００２５】
そして、本実施形態では、メモリ装置２００に対してシステム制御部１０４がデータの書き込みの際に発行するコマンドとして、ＦＡＴ用コマンド、ディレクトリ用コマンド、ストリーム用コマンドがある。ＦＡＴデータの書き替え時にＦＡＴ用コマンドを発行することにより、メモリ装置２００が高速にＦＡＴデータの書き替えを行う。また、ディレクトリデータの書き替え時にディレクトリ用コマンドを発行することにより、メモリ装置２００が高速にディレクトリデータを書き替えることができる。また、動画データを含むストリームデータの書き込み時にストリーム用コマンドを発行することにより、メモリ装置２００が高速ストリームデータを書き込むことができる。図３に示す通り、ストリームデータはデータ領域に対して連続的に（シーケンシャルに）記録される。一方、ＦＡＴやディレクトリのデータを書き替える際には、ランダムなアクセスが発生する。本実施形態では、この様なランダムアクセスのＦＡＴデータやディレクトリデータを高速に書き替えるため、専用のＦＡＴ用コマンド、ディレクトリ用コマンドを用意する。
【００２６】
次に、記録装置１００による動画の記録動作について説明する。図４は記録動作を示すフローチャートである。図４の処理はシステム制御部１０４が各部を制御することにより実行される。
【００２７】
ユーザが操作部１０５を操作して記録開始を指示すると、まず、システム制御部１０４は、ＦＡＴ用コマンドとディレクトリ用コマンドをメモリ装置２００に発行する（Ｓ４０１）。そして、これから記録するストリームファイルのディレクトリエントリを書き込み、ファイルをオープンする（Ｓ４０２）。次に、動画データの符号化を開始して、符号化されたデータをメモリ１０３に蓄積していく（Ｓ４０３）。また、管理情報等の、付加データもメモリ１０３に記憶し、動画データと付加データが多重されたストリームデータを生成する。
【００２８】
本実施形態では、ＭＸＦ（Ｍａｔｅｒｉａｌ  Ｅｘｃｈａｎｇｅ  Ｆｏｒｍａｔ）に従ってストリームデータを記録する。ＭＸＦでは、所定量の動画データ毎に付加情報を多重する。この付加情報には、直前の付加情報の先頭からのオフセットアドレスと、このストリームファイルのフッタに付加される付加情報までのオフセットが格納される。この、フッタまでのオフセットは、ストリームの記録が終了してフッタのアドレスが確定するまでは無効データを記録しておく。そして、ファイルクローズ時に、各付加情報を更新する。
【００２９】
システム制御部１０４は、メモリ１０３に対して所定量のストリームデータが蓄積されると、メモリ装置２００に対してストリーム用コマンドとライトコマンドを発行する。そして、メモリ１０３に記憶されたストリームデータを読み出してメモリ装置２００に出力し、Ｓ４０２でオープンしたファイルに追加して記憶部２０４に書き込む。この際、ストリームデータのアドレスはクラスタのアライメントにあわせて追記する。
【００３０】
本実施形態では、メモリ装置２００におけるデータの書き込み速度（データレート）はストリームデータのデータレートよりも高い。そのため、メモリ装置２００に対するストリームデータの書き込み開始後、メモリ１０３に蓄積されるストリームデータが徐々に減っていくので、メモリ１０３に蓄積されたストリームデータが閾値よりも少なくなると書き込みを停止する。この様に、メモリ１０３に対して所定量のストリームデータが蓄積される毎に、ストリーム用コマンドとライトコマンドを発行してストリームデータをメモリ装置２００に記録する。
【００３１】
図６（ａ）に、この様な動画記録時における記録装置１００とメモリ装置２００の間のコマンドの様子を示す。６０１、６０２はそれぞれ、記録開始時におけるＦＡＴ、ディレクトリデータの書き込みシーケンスである。また、６０３、６０４はそれぞれ、ストリームデータの間欠的な書き込みシーケンスである。
【００３２】
次に、ストリームデータの記録中に、記録開始からのファイルサイズがファイルシステムにて規定されている上限のサイズに達したか否かを判別する（Ｓ４０５）。例えば、ＦＡＴ３２ファイルシステムの場合には、上限のサイズが４ギガバイトとなる。ファイルサイズが上限に達していない場合、記録停止の指示があったかどうかを判別する（Ｓ４０６）。
【００３３】
記録停止の指示がなければ、Ｓ４０３に戻り、そのまま記録を続ける。一方、記録停止の指示があると、動画データの符号化を停止して（Ｓ４０７）、メモリ装置２００に対するストリームデータの書き込みを停止する（Ｓ４０８）。そして、ストリームデータに多重してメモリ装置２００に記録された付加情報を書き替える（Ｓ４０９）。この付加情報の書き替え処理については後述する。そして、再度ＦＡＴ用コマンドとディレクトリ用コマンドを発行し、記録中のストリームファイルをクローズして処理を終了する（Ｓ４１０）。
【００３４】
また、Ｓ４０５で、記録中のストリームファイルのサイズが上限に達した場合、記録中のストリームデータに多重されてメモリ装置２００に記録された付加情報を書き替える。（Ｓ４１１）。そして、再度ＦＡＴ用コマンドとディレクトリ用コマンドを発行し、記録中のストリームファイルをクローズして処理を終了する（Ｓ４１０）。
【００３５】
ストリームデータに多重されて記録された付加情報は、記憶部２０４においてクラスタのアライメントに一致する領域に記録されない。そのため、Ｓ４０９、Ｓ４１１において、付加情報の書き替えを行う際に、記憶部２０４に対するランダムアクセスが発生する。特に、Ｓ４１１では、動画の記録中にランダムアクセスが発生するので、付加情報の書き替えを高速に行う必要がある。
【００３６】
そのため、本実施形態では、付加情報の書き替え時には、ディレクトリ用のコマンドを発行することにより、ストリームデータの記録中にランダムアクセスが必要になっても、高速に付加情報を書き替えられるようにした。
【００３７】
図５は、Ｓ４０４、Ｓ４０９、Ｓ４１１にて実行するデータの書き込み処理を示すフローチャートである。システム制御部１０４は、今回書き込むデータがランダムアクセスのデータ、即ちＳ４０９、Ｓ４１１における付加情報であるか否かを判別する（Ｓ５０１）。ランダムアクセスのデータではなく、ストリームデータの場合、システム制御部１０４はストリーム用コマンドをメモリ装置２００に発行し（Ｓ５０４）、続いてライトコマンドを発行する（Ｓ５０５）。Ｓ５０５で発行するライトコマンドのアドレスは、クラスタのアライメントに一致している。
【００３８】
一方、Ｓ５０１でランダムアクセスのデータを書き込む場合、ディレクトリ用コマンドを発行し、書き込む付加情報のアドレス、サイズをメモリ装置に通知する（Ｓ５０２）。そして、ライトコマンドを発行する（Ｓ５０３）。Ｓ５０３で発行するライトコマンドのアドレスはクラスタのアライメントに一致する必要はない。
【００３９】
この様に、本実施形態では、ストリームデータに多重されて記録された付加情報をランダムアクセスにより書き替える際、ストリーム用コマンドではなくディレクトリ用コマンドを発行する。そのため、メモリ装置２００により高速に付加情報の書き替えを実行させることができ、書き込み速度の低下を防ぐことができる。
【００４０】
この様に、本実施形態は、フラッシュメモリを有するメモリ装置に対してファイルを記録する装置であって、所定量の動画データに対して付加情報を多重することによりストリームデータを生成する手段を備える。また、メモリ装置に対してディレクトリ用コマンドを発行することによりディレクトリデータを書き込むと共に、前記メモリ装置に対してストリーム用コマンドを発行することにより前記ストリームデータを含むファイルを書き込む制御手段を備える。そして、制御手段は、前記メモリ装置にランダムにアクセスして、前記メモリ装置に記録されたストリームデータに多重された付加情報を書き替える場合に、前記ディレクトリ用コマンドを発行することにより前記付加情報を書き替える。
【図１】
2011199377.tif 000003
【図２】
2011199377.tif 000004
【図３】
2011199377.tif 000005
【図４】
2011199377.tif 000006
【図５】
2011199377.tif 000007
【図６】
2011199377.tif 000008