(57)【要約】【課題】外部装置との通信中に記録媒体が読み出し専用に変化しても、外部装置への影響を防止すると共に、継続可能なファイル転送（バックアップ）を中断することなく完了することができ、更にバックアップ先の記録媒体の損失も防止することが出来るようにする。【解決手段】代替ブロックが無くなった時点で読み取り専用となる記録媒体を使用する装置において、外部機器接続時に発生するエラーによって通信の中断を防止する。【選択図】図１
2015028714.tif 000002
【特許請求の範囲】
【請求項１】
第一の状態と第二の状態を有する記録媒体と、
外部装置と通信を行う通信手段と、
前記通信手段によって取得した要求を実行する実行手段と、
前記通信手段によって取得した要求が第一の要求と第二の要求の何れかを判定する判定手段と、
を備える通信装置において、
前記記録媒体が第一の状態の場合は、
前記実行手段の結果に応じて、第一、或いは第二の応答を送信し、
前記記録媒体が第二の状態の場合は、
前記判定手段が第一の要求の場合に、第一の応答を送信し、
前記判定手段が第二の要求の場合に、第二の応答を送信する
ことを特徴とする通信装置。
【請求項２】
不良ブロックを代替する代替ブロックの領域を有する記録媒体と、
前記代替ブロックの領域の残量を検出し、検出結果に応じて前記記録媒体の第一の状態ないし第二の状態を判定する状態判定手段と、
外部装置と通信を行う通信手段と、
前記通信手段によって取得した要求を実行する実行手段と、
前記通信手段によって取得した要求が第一の要求と第二の要求の何れかを判定する要求判定手段と、
を備える通信装置において、
前記記録媒体が第一の状態の場合は、
前記実行手段の結果に応じて、第一、或いは第二の応答を送信し、
前記記録媒体が第二の状態の場合は、
前記要求判定手段が第一の要求の場合は、第一の応答を送信し、
前記要求判定手段が第二の要求の場合は、第二の応答を送信する
ことを特徴とする通信装置。
【請求項３】
前記第一の状態とは書き込みが可能な状態であり、前記第二の状態とは書き込みが不可能な状態であることを特徴とする請求項１又は請求項２に記載の通信装置。
【請求項４】
前記第一の要求とは、前記記録媒体へのファイルデータの書き込み要求であり、前記第二の要求とは、前記記録媒体へのファイル属性の書き換え要求であることを特徴とする請求項１又は請求項２に記載の通信装置。
【請求項５】
前記第一の応答とは、前記要求が成功しなかったことを表す応答であり、前記第二の応答とは、前記要求が成功したことを表す応答であることを特徴とする請求項１又は請求項２に記載の通信装置。
【請求項６】
前記状態判定手段は、前記代替ブロックの領域が使用可能な状態の場合は第一の状態を判定し、前記代替ブロックの領域が使用不可能な状態の場合は第二の状態を判定することを特徴とする請求項１に記載の通信装置。
【請求項７】
前記代替ブロックの領域が使用不可能な状態とは、代替ブロックの領域の残量が、代替ブロックの領域の残量が無しとなった状態であることを特徴とする請求項６に記載の通信装置。
【請求項８】
前記代替ブロックの領域が使用不可能な状態とは、代替ブロックの領域の残量が、不良ブロックの代替するのに不十分な残量となった状態であることを特徴とする請求項６に記載の通信装置。
【請求項９】
前記通信手段とは、ＵＳＢマスストレージに代表される、コマンド実行においてファイルシステムを介在しないプロトコルであることを特徴とする請求項１又は請求項２に記載の通信装置。
【請求項１０】
前記通信手段とは、Ｐｉｃｔｕｒｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌに代表される、コマンド実行においてファイルシステムが介在するプロトコルであることを特徴とする請求項１又は請求項２に記載の通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部装置と接続する通信装置に関するものである。
【背景技術】
【０００２】
近年、撮像装置の記録媒体としてフラッシュメモリが用いられている。
【０００３】
このフラッシュメモリのデータフォーマットでは、ブロックと呼ばれる単位に区分されており、データの消去／書き込みをこのブロック単位で行っている。あるブロックのデータの消去／書き込み回数が所定回数以上になると、ブロックのデータの書き込みの信頼性が低下したり、場合によってはそのブロックが使用不能になることがある。
【０００４】
フラッシュメモリでは、代替ブロックと呼ばれる予備の領域が設けられている。そして、データの記録に使用するブロックで不良ブロックが生じた場合には、その不良ブロックを使用禁止にすると共に代替ブロックを使用することで、不良ブロックがある程度発生してもフラッシュメモリ自体が使用できなくなることを回避するための処置をしている。
【０００５】
しかし、ユーザが同じフラッシュメモリを長期間にわたり使用していると、フラッシュメモリのデータ書き換え回数の増加に伴って、記憶データの信頼性が低下したり、不良ブロックの数が多くなりフラッシュメモリ全体が使用不能になることがある。
【０００６】
従来のフラッシュメモリでは、特許文献１で開示されているように代替ブロックを使い切ってしまった場合、フラッシュメモリ内の全データを読み出し専用にする機能を備えている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平９−１６３２９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
記録媒体に記録されたファイルを外部装置に転送（バックアップ）する際に、転送が完了したファイルが転送済みであることを表すデータを書き込み（アーカイブ属性を書き換えて）、次回転送時に同ファイルを重複してバックアップしないようにすることが一般的に行われている。
【０００９】
ところが、上記先行技術において、外部装置へファイル転送中に記録媒体が読み出し専用に変化しても、記録媒体の挿抜を行っていない状況では、外部装置は読み出し専用かどうかを取得するコマンドを発行しないため、外部装置に読み出し専用になったことを通知できない。
【００１０】
そのため、読み出し専用になったことを通知していない外部装置は、バックアップ中にアーカイブ属性を書き換えるため書き込みコマンドを発行するが、読み出し専用に変化しているためエラー応答せざるを得ない。
【００１１】
この場合、外部装置はバックアップ中にエラーを受信することになり、全てのバックアップが完了していなくても途中で中止する。更に、より深刻な影響として、書き込み可能であるはずの記録媒体（と外部装置は認識している）からの想定外のエラーによって、外部装置がハングアップしたり異常動作の可能性がある。加えて、外部装置が受信ファイルを追記できない光ディスク等の記録媒体に書き込んでいた場合は、ディスクの損失も発生することになる。
【課題を解決するための手段】
【００１２】
本発明は上記の課題を解決するため、請求項１の発明は、第一の状態と第二の状態を有する記録媒体と、外部装置と通信を行う通信手段と、前記通信手段によって取得した要求を実行する実行手段と、前記通信手段によって取得した要求が第一の要求と第二の要求の何れかを判定する判定手段と、を備える通信装置において、前記記録媒体が第一の状態の場合は、前記実行手段の結果に応じて、第一、或いは第二の応答を送信し、前記記録媒体が第二の状態の場合は、前記判定手段が第一の要求の場合に、第一の応答を送信し、前記判定手段が第二の要求の場合に、第二の応答を送信することを特徴とする。
【００１３】
また、請求項２の発明は、不良ブロックを代替する代替ブロックの領域を有する記録媒体と、前記代替ブロックの領域の残量を検出し、検出結果に応じて前記記録媒体の第一の状態ないし第二の状態を判定する状態判定手段と、外部装置と通信を行う通信手段と、前記通信手段によって取得した要求を実行する実行手段と、前記通信手段によって取得した要求が第一の要求と第二の要求の何れかを判定する要求判定手段と、を備える通信装置において、前記記録媒体が第一の状態の場合は、前記実行手段の結果に応じて、第一、或いは第二の応答を送信し、前記記録媒体が第二の状態の場合は、前記要求判定手段が第一の要求の場合は、第一の応答を送信し、前記要求判定手段が第二の要求の場合は、第二の応答を送信することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、外部装置との通信中に記録媒体が読み出し専用に変化しても、外部装置への影響を防止すると共に、継続可能なファイル転送（バックアップ）を中断することなく完了することができ、更にバックアップ先の記録媒体の損失も防止することが出来る。
【図面の簡単な説明】
【００１５】
【図１】本発明を適用した通信装置の概略構成を示すブロック図である。
【図２】本発明を適用した通信装置の制御フローチャートである。
【図３】本発明を適用した通信装置の制御フローチャートである。
【図４】ＰＴＰの独自コマンドとして定義した場合の、アーカイブ属性変更コマンド仕様の図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照しながら本発明を説明する。なお、ここで示す実施の形態はあくまでも一例であって、必ずしもこの実施の形態に限定されるものではない。
【００１７】
図１は、本発明を実施した、第１、及び第２の実施形態において共通の、通信装置の概略構成を示すブロック図である。本実施例に係る接続方法は、図１に示すように、通信装置１００、外部装置１２０、接続ケーブル１３０の構成で実施される。通信装置１００と外部装置１２０は、接続ケーブル１３０を介して接続されている。１００は、本発明を適用した通信装置である。なお、以下実施の形態ではビデオカメラを例に取って説明するが、例えばスチルカメラ等の機器であってもよい。ビデオカメラ１００は、ＵＳＢ規格で規定された、デバイス機器として動作する。
【００１８】
１０１は、各部の動作を制御するＣＰＵであり、後述する記録媒体の情報取得、外部装置との通信処理を行う部分である。１０２は、前記ＣＰＵ１０１がワークエリアとして使用するＲＡＭである。また、記録媒体に記録されている全ファイルの属性情報が記録されているセクタ番号を一時的に保持することにも使用する。
【００１９】
１０３は、静止画像や動画ストリームを記録することが可能な記録媒体である。これは内蔵のものでも、着脱可能なものでもよい。記録媒体１０３は、不良ブロックのための代替ブロックを含む複数の記録ブロックを有する。記録媒体１０３は内部にコントローラを有し、記録先として指定された記録ブロックが不良ブロックである場合、代替ブロックにデータを記録する。また、記録媒体１０３は、代替ブロックを全て使い切ってしまった場合、読み出し専用の記録媒体に変更する。このとき、記録媒体１０３のコントローラは、ＣＰＵ１０１に対し、読み出し専用の記録媒体である旨の情報を出力する。
【００２０】
１０４は、記録媒体１０３が読み書き可能であるか読み出し専用であるかの判定と、記録媒体１０３の記録情報を取得する部分である。１０５は、外部装置１２０と通信を行う通信部であり、接続された外部装置１２０へのデータ送信や、外部装置１２０からコマンドやデータの受信を行う。１０６は、外部装置１２０から受信したコマンドが、ファイル属性情報の書き替え要求か否かを判定する部分である。外部装置１２０の一例として、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）を用いるが、例えばレコーダやＤＶＤライター等の機器でもよい。ＰＣ１２０は、ＵＳＢ規格で規定されたホスト機器として動作する。また、ＰＣ１２０は図示されないビデオカメラと通信を行う通信部、表示部、ＣＰＵ、ＲＡＭ等を含む。接続ケーブル１３０の一例として、ＵＳＢ規格に準拠した接続ケーブルを用いる。以下、ＵＳＢ規格に準拠した接続ケーブルを「ＵＳＢケーブル」という。ＵＳＢケーブルは、ＶＢＵＳ、Ｄ＋、Ｄ−、ＧＮＤの４つのラインを含んで構成されている。
【００２１】
＜第１の実施形態＞
図２に基づいて、本発明を実施したビデオカメラとＰＣとのＵＳＢケーブルでの接続において、記録媒体の状態に応じて、コマンドの応答内容を切替える制御を説明する。なお、以下実施の形態ではＵＳＢマスストレージクラスのプロトコルとコマンドを例にして説明するが、同様の処理を目的とした独自のプロトコル、独自のコマンドであっても構わない。また本実施例において、記録媒体のファイルシステムをＦＡＴ１６を例にして説明するが、本発明はファイルシステムを限定しない。
【００２２】
ステップＳ２０１でＵＳＢケーブルの接続を検出する。ケーブルの接続検出は、ＵＳＢ信号ラインＶＢＵＳの電圧がＨｉｇｈレベルの検出によって行う。この電圧は、ＵＳＢ規格に基づいて、ＵＳＢケーブルの反対側に接続されているＰＣによって印加される。通信の開始は、ＵＳＢのＤ＋信号ラインのプルアップ抵抗をＯＮに制御し、Ｄ＋信号をＨｉｇｈレベルに制御する。この信号ラインの電圧変化を接続相手のＰＣが検出して、ビデオカメラの接続を認識し、ＵＳＢ通信が開始される。
【００２３】
ステップＳ２０２では、ＵＳＢのＶＢＵＳ信号の電圧レベルを検出し、Ｌｏｗレベルであれば、ステップＳ２０３へ移行して通信を終了する。ＶＢＵＳ信号電圧がＨｉｇｈレベルであれば、通信を終了せずにステップＳ２０４へ移行する。
【００２４】
ステップＳ２０４では、記録媒体１０３が通信開始時に既に読み出し専用かどうか（書き込み不可かどうか）、或いは通信開始後に読み出し専用に変化したかを判定する。
【００２５】
ステップＳ２０５において、記録情報取得部１０４は、記録媒体１０３のファイルシステムの管理データであるＭＢＲに記載しているファイルシステムタイプを解析してファイルフォーマットを特定し、ＢＰＢ等の管理データに記載されているセクタサイズ、クラスタサイズ、ＦＡＴサイズ等を用いて、全てのファイルのディレクトリエントリのファイル属性（アトリビュート）が記録されているセクタ番号を抽出し、ＲＡＭ１０２に展開する。
【００２６】
ステップＳ２０６では、コマンドを受信したかどうかを判定して、受信していなければステップＳ２０２へ移行して、再び通信終了を判定する。
【００２７】
コマンドを受信していればステップＳ２０７へ移行して、コマンドがＷＲＩＴＥコマンドかどうかを確認する。
【００２８】
受信コマンドがＷＲＩＴＥコマンドでなければステップＳ２１２へ移行してコマンドを実行し、ステップＳ２１３でコマンド実行結果を送信する。
【００２９】
一方、ステップＳ２０７で受信したコマンドがＷＲＩＴＥコマンドであればステップＳ２０８へ移行して、記録媒体１０３が読み出し専用かを判定する。読み出し専用でなければステップＳ２１２へ移行して、ＷＲＩＴＥコマンドを実行する。
【００３０】
読み出し専用の記録媒体に対してＷＲＩＴＥコマンドが発行された場合はステップＳ２０９に移行し、ＷＲＩＴＥコマンドの書き込みアドレスから書き込みデータサイズの範囲内に、ステップＳ２０５でＲＡＭ１０２へ展開したセクタ番号が含まれていれば、ファイル属性の変更と判断して、コマンドを実行せずにステップＳ２１０へ移行して、コマンドが成功した応答をＰＣに送信する。
【００３１】
ステップＳ２０９で、ＷＲＩＴＥコマンドがその他のデータ書き込み（書き替え）と判断した場合は、ステップＳ２１１へ移行して、コマンドが実行できない（失敗した）応答をＰＣに送信する。
【００３２】
なお、ステップＳ２０９においてファイル属性の変更かどうかを判定するその他の一例を以下に挙げる。
【００３３】
マスストレージに相当する独自プロトコルにおける通信を用いる場合は、通信相手となる外部装置が限定され、外部装置の通信仕様が明確、且つ限定される。その場合に、外部装置から発行されるＷＲＩＴＥコマンドに相当するコマンドが、ファイル属性の変更に限定して発行されることが明確な場合は、セクタ番号を用いた判断を省略して、ＷＲＩＴＥコマンドは必ずファイル属性の変更であると判断しても良い。
【００３４】
＜第２の実施形態＞
図３に基づいて、本発明を実施したビデオカメラとＰＣとのＵＳＢケーブルでの接続において、記録媒体の状態に応じて、コマンドの応答内容を切替える制御を説明する。なお、以下実施の形態ではＵＳＢスチルイメージキャプチャデバイスクラスにおけるＰＴＰ（Ｐｉｃｔｕｒｅ−Ｔｒａｎｓｆｅｒ−Ｐｒｏｔｏｃｏｌ）のベンダユニーク（独自）コマンドを例にして説明するが、同様の処理を目的としたその他のプロトコル、コマンドであっても構わない。
【００３５】
ステップＳ３０１〜Ｓ３０３は、第１の実施形態に記載した図２におけるステップＳ２０１〜２０３と同内容のため省略する。
【００３６】
ステップＳ３０４では、コマンドを受信したかどうかを判定して、受信していなければステップＳ３０２へ移行して、再び通信終了を判定する。
【００３７】
コマンドを受信していればステップＳ３０５へ移行して、コマンドがＷＲＩＴＥ系コマンドかどうかを確認する。ＷＲＩＴＥ系コマンドとは、ＳｅｎｄＯｂｊｅｃｔに代表されるオブジェクトの書き込みや、オブジェクトの属性変更コマンドを含む。
【００３８】
受信コマンドがＷＲＩＴＥ系コマンドでなければステップＳ３１０へ移行してコマンドを実行し、ステップＳ３１１でコマンド実行結果を送信する。
【００３９】
一方、ステップＳ３０５で受信したコマンドがＷＲＩＴＥ系コマンドであればステップＳ３０６へ移行して、記録媒体１０３が読み出し専用かを判定する。読み出し専用でなければステップＳ３１０へ移行して、ＷＲＩＴＥ系コマンドを実行する。
【００４０】
読み出し専用の記録媒体に対してＷＲＩＴＥ系コマンドが発行された場合はステップＳ３０７に移行し、アーカイブ属性を変更するコマンドかどうかを判定する。ＰＴＰの規格ではアーカイブ属性を変更するコマンドは規定されていないが、ＭＳＮ（Ｍｏｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｎｉｂｂｌｅ）が９のコマンドコードをベンダユニーク（独自）コマンドとして使用できる。例えば図４のコマンドをアーカイブ属性の変更コマンドとして定義し、このコマンドを受信した場合はファイル属性の変更と判断して、コマンドを実行せずにステップＳ３０８へ移行して、コマンドが成功した応答をＰＣに送信する。
【００４１】
ステップＳ３０７で、ＷＲＩＴＥ系コマンドがオブジェクト書き込みやその他のデータ書き込み（書き替え）と判断した場合は、ステップＳ３０９へ移行して、コマンドが実行できない（失敗した）応答をＰＣに送信する。
【００４２】
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。
【００４３】
また、上述の実施形態の機能を実現するソフトウェアのプログラムを、記録媒体から直接、或いは有線／無線通信を用いてプログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのプログラムを実行する場合も本発明に含む。
【００４４】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。
【００４５】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００４６】
プログラムを供給するための記録媒体としては、例えば、ハードディスク、磁気テープ等の磁気記録媒体、光／光磁気記憶媒体、不揮発性の半導体メモリでもよい。
【００４７】
また、プログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムを記憶し、接続のあったクライアントコンピュータはがコンピュータプログラムをダウンロードしてプログラムするような方法も考えられる。
【符号の説明】
【００４８】
１００‥‥通信装置
１０１‥‥ＣＰＵ
１０２‥‥ＲＡＭ
１０３‥‥記録媒体
１０４‥‥記録情報取得部
１０５‥‥通信部
１０６‥‥要求判定部
１２０‥‥外部装置
１３０‥‥ＵＳＢケーブル
【図１】
2015028714.tif 000003
【図２】
2015028714.tif 000004
【図３】
2015028714.tif 000005
【図４】
2015028714.tif 000006