(57)【要約】  本技術は、１コマンドに対して許容される処理時間より長い処理時間が必要な処理を実行することができるようにするデバイス制御装置、デバイス装置、制御方法、プログラム、およびデバイス制御システムに関する。ホスト機器の送信部は、所定の処理を分割して実行させる第１のコマンドをデバイス装置に送信する。ホスト機器の受信部は、第１のコマンドによるデバイス装置の分割処理が完了した後、処理の完了までに必要な残回数をデバイス装置から取得する。ホスト機器の送信部は、残回数だけ、第１のコマンドの送信を繰り返し実行する。本技術は、例えば、メモリカードを制御するデジタルカメラ等に適用できる。
2018084004.tif 000002
【特許請求の範囲】
【請求項１】
所定の処理を分割して実行させる第１のコマンドをデバイス装置に送信する送信部と、
前記第１のコマンドによる前記デバイス装置の分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス装置から取得する取得部と
を備え、
前記送信部は、前記残回数だけ、前記第１のコマンドの送信を繰り返し実行する
デバイス制御装置。
【請求項２】
前記取得部は、前記送信部が前記第１のコマンドを送信する度に、前記残回数を前記デバイス装置から取得する
請求項１に記載のデバイス制御装置。
【請求項３】
前記取得部は、前記分割処理が完了した旨の通知とともに、前記残回数を前記デバイス装置から取得する
請求項１に記載のデバイス制御装置。
【請求項４】
前記送信部は、前記第１のコマンドの実行結果と前記残回数を要求する第２のコマンドを前記デバイス装置に送信し、
前記取得部は、前記第２のコマンドに応じて返信される前記実行結果と前記残回数を前記デバイス装置から取得する
請求項１に記載のデバイス制御装置。
【請求項５】
デバイス装置の動作を制御するデバイス制御装置の、
送信部が、所定の処理を分割して実行させる第１のコマンドを前記デバイス装置に送信し、
取得部が、前記第１のコマンドによる前記デバイス装置の分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス装置から取得し、
前記送信部は、前記残回数だけ、前記第１のコマンドの送信を繰り返し実行する
制御方法。
【請求項６】
コンピュータを、送信部と取得部として機能させ、
前記送信部が、所定の処理を分割して実行させる第１のコマンドをデバイス装置に送信させ、
前記取得部が、前記第１のコマンドによる前記デバイス装置の分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス装置から取得し、
前記送信部は、前記残回数だけ、前記第１のコマンドの送信を繰り返し実行させる
プログラム。
【請求項７】
デバイス制御装置から、所定の処理を分割して実行させる第１のコマンドを取得する取得部と、
前記第１のコマンドによる分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス制御装置に送信する送信部と
を備え、
前記取得部は、前記残回数だけ、前記第１のコマンドを繰り返し取得する
デバイス装置。
【請求項８】
前記送信部は、前記取得部が前記第１のコマンドを取得する度に、前記残回数を前記デバイス制御装置に送信する
請求項７に記載のデバイス装置。
【請求項９】
前記送信部は、前記第１のコマンドによる分割処理が完了した旨の通知とともに、前記残回数を前記デバイス制御装置に送信する
請求項７に記載のデバイス装置。
【請求項１０】
前記取得部は、前記第１のコマンドの実行結果と前記残回数を要求する第２のコマンドを取得し、
前記送信部は、前記第２のコマンドに応じて、前記実行結果と前記残回数を前記デバイス制御装置に送信する
請求項７に記載のデバイス装置。
【請求項１１】
デバイス制御装置によって制御されるデバイス装置の、
取得部が、前記デバイス制御装置から、所定の処理を分割して実行させる第１のコマンドを取得し、
送信部が、前記第１のコマンドによる分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス制御装置に送信し、
前記取得部は、前記残回数だけ、前記第１のコマンドを繰り返し取得する
制御方法。
【請求項１２】
コンピュータを、取得部と送信部として機能させ、
前記取得部が、デバイス制御装置から、所定の処理を分割して実行させる第１のコマンドを取得させ、
前記送信部が、前記第１のコマンドによる分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス制御装置に送信させ、
前記取得部は、前記残回数だけ、前記第１のコマンドを繰り返し取得させる
プログラム。
【請求項１３】
デバイス装置と、それを制御するデバイス制御装置とからなり、
前記デバイス制御装置は、
所定の処理を分割して実行させる第１のコマンドを前記デバイス装置に送信する第１送信部と、
前記第１のコマンドによる前記デバイス装置の分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス装置から取得する第１取得部と
を備え、
前記デバイス装置は、
前記デバイス制御装置から、前記第１のコマンドを取得する第２取得部と、
前記第１のコマンドによる分割処理が完了した後、前記残回数を前記デバイス制御装置に送信する第２送信部と
を備え、
前記第１送信部は、前記残回数だけ、前記第１のコマンドの送信を繰り返し実行する
デバイス制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、デバイス制御装置、デバイス装置、制御方法、プログラム、およびデバイス制御システムに関し、特に、１コマンドに対して許容される処理時間より長い処理時間が必要な処理を実行することができるようにしたデバイス制御装置、デバイス装置、制御方法、プログラム、およびデバイス制御システムに関する。
【背景技術】
【０００２】
デバイス装置が、ホスト機器の制御の下、長時間を要する処理を実行する場合、デバイス装置は、例えば、その処理が完了するまでホスト機器から新たなコマンドを受け取ることのできない状態や、処理の進捗状況を確認するコマンドのような限定的なコマンドのみを受け取れる状態へ遷移する。このような長時間を要する処理の例としては、例えば、メモリカードに対して実施する全領域初期化処理（フォーマット処理）などがある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−３０８２４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、例えば、１コマンドを受信したときの処理時間が所定時間に規定され、上記のような状態遷移が用意されていない通信プロトコルもある。そのようなシステムにおいても、１コマンドに対して許容される処理時間より長い処理時間を必要とする処理を実行できることが求められる。【０００５】
本技術は、このような状況に鑑みてなされたものであり、１コマンドに対して許容される処理時間より長い処理時間が必要な処理を実行することができるようにするものである。
【課題を解決するための手段】
【０００６】
本技術の第１の側面のデバイス制御装置は、所定の処理をデバイス装置に実行させる場合に、前記処理を分割して実行させる第１のコマンドを前記デバイス装置に送信する送信部と、前記第１のコマンドによる前記デバイス装置の分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス装置から取得する取得部とを備え、前記送信部は、前記残回数だけ、前記第１のコマンドの送信を繰り返し実行する。【０００７】
本技術の第１の側面の制御方法は、デバイス装置の動作を制御するデバイス制御装置の、送信部が、所定の処理を分割して実行させる第１のコマンドを前記デバイス装置に送信し、取得部が、前記第１のコマンドによる前記デバイス装置の分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス装置から取得し、前記送信部は、前記残回数だけ、前記第１のコマンドの送信を繰り返し実行する。【０００８】
本技術の第１の側面のプログラムは、コンピュータを、送信部と取得部として機能させ、前記送信部が、所定の処理を分割して実行させる第１のコマンドをデバイス装置に送信させ、前記取得部が、前記第１のコマンドによる前記デバイス装置の分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス装置から取得し、前記送信部は、前記残回数だけ、前記第１のコマンドの送信を繰り返し実行させるものである。【０００９】
本技術の第１の側面においては、所定の処理を分割して実行させる第１のコマンドがデバイス装置に送信され、前記第１のコマンドによる前記デバイス装置の分割処理が完了した後、前記処理の完了までに必要な残回数が前記デバイス装置から取得される。また、前記残回数だけ、前記第１のコマンドの送信が繰り返し実行される。【００１０】
本技術の第２の側面のデバイス装置は、デバイス制御装置から、所定の処理を分割して実行させる第１のコマンドを取得する取得部と、前記第１のコマンドによる分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス制御装置に送信する送信部とを備え、前記取得部は、前記残回数だけ、前記第１のコマンドを繰り返し取得する。【００１１】
本技術の第２の側面の制御方法は、デバイス制御装置によって制御されるデバイス装置の、取得部が、前記デバイス制御装置から、所定の処理を分割して実行させる第１のコマンドを取得し、送信部が、前記第１のコマンドによる分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス制御装置に送信し、前記取得部は、前記残回数だけ、前記第１のコマンドを繰り返し取得する。【００１２】
本技術の第２の側面のプログラムは、コンピュータを、取得部と送信部として機能させ、前記取得部が、デバイス制御装置から、所定の処理を分割して実行させる第１のコマンドを取得させ、前記送信部が、前記第１のコマンドによる分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス制御装置に送信させ、前記取得部は、前記残回数だけ、前記第１のコマンドを繰り返し取得させるものである。【００１３】
本技術の第２の側面においては、デバイス制御装置から、所定の処理を分割して実行させる第１のコマンドが取得され、前記第１のコマンドによる分割処理が完了した後、前記処理の完了までに必要な残回数が前記デバイス制御装置に送信される。また、前記残回数だけ、前記第１のコマンドが繰り返し取得される。【００１４】
本技術の第３の側面のデバイス制御システムは、デバイス装置と、それを制御するデバイス制御装置とからなり、前記デバイス制御装置は、所定の処理を分割して実行させる第１のコマンドを前記デバイス装置に送信する第１送信部と、前記第１のコマンドによる前記デバイス装置の分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス装置から取得する第１取得部とを備え、前記デバイス装置は、前記デバイス制御装置から、前記第１のコマンドを取得する第２取得部と、前記第１のコマンドによる分割処理が完了した後、前記残回数を前記デバイス制御装置に送信する第２送信部とを備え、前記第１送信部は、前記残回数だけ、前記第１のコマンドの送信を繰り返し実行する。【００１５】
本技術の第３の側面においては、所定の処理を分割して実行させる第１のコマンドが、デバイス制御装置から前記デバイス装置に送信され、取得される。前記第１のコマンドによる前記デバイス装置の分割処理が完了した後、前記処理の完了までに必要な残回数が前記デバイス装置から前記デバイス制御装置に送信される。また、前記残回数だけ、前記第１のコマンドの送信が繰り返し実行される。【００１６】
なお、プログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。【００１７】
デバイス制御装置およびデバイス装置は、独立した装置であっても良いし、１つの装置を構成している内部ブロックであっても良い。
【発明の効果】
【００１８】
本技術の第１乃至第３の側面によれば、１コマンドに対して許容される処理時間より長い処理時間が必要な処理を実行することができる。【００１９】
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【００２０】
【図１】本技術を適用したデバイス制御システムの一実施の形態の構成例を示すブロック図である。
【図２】通信プロトコルの制約を説明する図である。
【図３】通信プロトコルの制約を説明する図である。
【図４】デバイス制御システム全体の分割制御処理を説明するフローチャートである。
【図５】ホスト機器側の分割制御処理を説明するフローチャートである。
【図６】デバイス装置側の分割制御処理を説明するフローチャートである。
【図７】分割制御処理の第１の変形例を説明するフローチャートである。
【図８】分割制御処理の第２の変形例を説明するフローチャートである。
【図９】デジタルカメラの一実施の形態の構成例を示すブロック図である。
【図１０】メモリカードのハードウエア構成例を示すブロック図である。
【図１１】FATファイルシステムを説明する図である。
【図１２】フォーマットコマンドの種類を説明する図である。
【図１３】コマンド“CMD49”のホスト-デバイス間の処理を説明する図である。
【図１４】コマンド“CMD49”のフィールド構成例を示す図である。
【図１５】コマンド“CMD49”の拡張レジスタのデータ例を示す図である。
【図１６】コマンド“CMD48”のホスト-デバイス間の処理を説明する図である。
【図１７】コマンド“CMD48”のフィールド構成例を示す図である。
【図１８】コマンド“CMD48”の拡張レジスタのデータ例を示す図である。
【図１９】コマンド“CMD48”および“CMD49”を用いた分割制御処理を説明するフローチャートである。
【図２０】本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【発明を実施するための形態】
【００２１】
以下、本技術を実施するための形態（以下、実施の形態という）について説明する。なお、説明は以下の順序で行う。
１．デバイス制御システムの構成例
２．デバイス制御システム全体の分割制御処理フロー
３．ホスト機器側の分割制御処理フロー
４．デバイス装置側の分割制御処理フロー
５．分割制御処理の第１の変形例
６．分割制御処理の第２の変形例
７．デジタルカメラへの適用例
８．コンピュータ構成例
【００２２】
＜１．デバイス制御システムの構成例＞
図１は、本技術を適用したデバイス制御システムの一実施の形態の構成例を示すブロック図である。
【００２３】
図１のデバイス制御システム１は、ホスト機器１０とデバイス装置２０とで構成される。
【００２４】
ホスト機器１０は、例えば、情報携帯端末、デスクトップ型コンピュータ、ノート型コンピュータ、携帯電話機、オーディオ装置、記録再生装置、撮像装置、家電装置などとされる。
【００２５】
デバイス装置２０は、例えば、フラッシュメモリ等の半導体メモリ、ハードディスク記憶装置などとされる。
【００２６】
ホスト機器１０は、デバイス装置２０を制御して、デバイス装置２０に所定の動作（処理）を実行させるデバイス制御装置である。ホスト機器１０は、制御部１１、送信部１２、および受信部１３を備える。
【００２７】
制御部１１は、例えばデバイス装置２０に行わせる動作を決定するなど、デバイス装置２０を制御する。送信部１２は、制御部１１の制御の下、デバイス装置２０へ所定のコマンド（制御コマンド）を送信する。受信部（取得部）１３は、デバイス装置２０から送信されてくるコマンド（返答コマンド）を受信（取得）し、制御部１１に供給する。
【００２８】
デバイス装置２０は、ホスト機器１０の制御に従って、所定の動作（処理）を実行する装置である。デバイス装置２０は、受信部２１、送信部２２、制御部２３、および、処理部２４を備える。
【００２９】
受信部（取得部）２１は、ホスト機器１０から送信されてくるコマンド（制御コマンド）を受信（取得）し、制御部２３に供給する。送信部２２は、制御部２３の制御の下、コマンド（返答コマンド）をホスト機器１０に送信する。
【００３０】
制御部２３は、受信部２１を介してホスト機器１０から送信されてきたコマンドに基づき、処理部２４に所定の処理を実行させる。制御部２３は、処理部２４の処理状態または処理結果等に応じて、ホスト機器１０に送信するコマンドを決定し、決定したコマンドの送信を送信部２２に指示する。処理部２４は、制御部２３の制御に従い、所定の処理を実行する。
【００３１】
以上のように構成されるデバイス制御システム１において、ホスト機器１０とデバイス装置２０は、所定の通信プロトコルに従って、コマンドを含むデータのやりとりを行う。なお、ホスト機器１０とデバイス装置２０との間の通信は、有線通信または無線通信のどちらでもよい。
【００３２】
ホスト機器１０とデバイス装置２０との間のコマンドのやりとりを規定した通信プロトコルでは、１回のコマンドを受信したときのデバイス装置２０側の処理時間が予め規定される。
【００３３】
例えば、１回のコマンドを受信したときのデバイス装置２０側の処理時間が１秒と規定されているとした場合、図２に示されるように、デバイス装置２０は、ホスト機器１０からのコマンドを受信してから１秒以内に、処理完了を表す完了通知（のコマンド）をホスト機器１０に返さなければならない。
【００３４】
このとき、図３に示されるように、規定された処理時間（図２の例では１秒）よりも長い処理時間（図３の例では４秒）を必要とする動作をデバイス装置２０に行わせたい場合が問題となる。即ち、ホスト機器１０が、処理完了が通知されるまで待ち続けてしまうと、タイムアウトとなり、規定処理時間より長い処理時間を必要とする処理を実現できない。
【００３５】
そこで、図１のデバイス制御システム１は、１コマンドに対する処理時間が一定の時間に予め規定された通信プロトコルを用いて、１コマンドに対する規定処理時間を変えずに、規定処理時間より長い処理時間を必要とする処理（機能）を実現する構成とされている。
【００３６】
ホスト機器１０は、規定処理時間より長い処理時間を必要とする処理を、規定処理時間以内の処理に分割して複数回実行させることにより、デバイス装置２０に、規定処理時間長い処理時間を必要とする処理を実行させることができる。
【００３７】
＜２．デバイス制御システム全体の分割制御処理フロー＞
図４は、ホスト機器１０とデバイス装置２０との間で実行される分割制御処理を示すフローチャートである。
【００３８】
なお、図４では、規定処理時間より長い処理時間を必要とする処理が処理Ｊであり、図２及び図３の例と同様に、規定処理時間を１秒として、処理Ｊが４秒の処理時間を必要とする処理であるとして説明する。この場合、処理Ｊを通常コマンドに割り当てられた規定処理時間以内の処理に分割して実行すると、全部で４回の分割処理が必要となる。
【００３９】
ホスト機器１０は、デバイス装置２０に、以下に説明するステップＳ１１乃至Ｓ１５の処理を、所定の回数（この例では、４回）だけ繰り返し実行させる。
【００４０】
図４では、分割された１回目のステップＳ１１乃至Ｓ１５の処理が、ステップＳ１１−１乃至Ｓ１５−１の処理として示されている。
【００４１】
分割された２回目のステップＳ１１乃至Ｓ１５の処理が、ステップＳ１１−２乃至Ｓ１５−２の処理として示されている。
【００４２】
分割された３回目のステップＳ１１乃至Ｓ１５の処理が、ステップＳ１１−３乃至Ｓ１５−３の処理として示されている。
【００４３】
分割された４回目のステップＳ１１乃至Ｓ１５の処理が、ステップＳ１１−４乃至Ｓ１５−４の処理として示されている。
【００４４】
具体的に説明すると、ホスト機器１０は、ステップＳ１１−１において、処理Ｊを実行させるコマンドであるコマンドＪをデバイス装置２０に送信する。
【００４５】
ステップＳ１２−１において、デバイス装置２０は、ホスト機器１０から送信されてきたコマンドＪを受信する。そして、デバイス装置２０は、処理Ｊを通常コマンドに割り当てられた規定処理時間以内の処理に分割し、分割した処理の一部を、規定処理時間内で実行する。
【００４６】
分割した処理が終了すると、ステップＳ１３−１において、デバイス装置２０は、処理完了を表す完了通知（のコマンド）をホスト機器１０に送信し、ホスト機器１０が、それを受信する。
【００４７】
ホスト機器１０は、完了通知を受信した後、ステップＳ１４−１において、処理Ｊの残り状況（進捗状況）を確認（要求）するコマンドであるコマンドKをデバイス装置２０に送信する。
【００４８】
デバイス装置２０は、ステップＳ１５−１において、受信したコマンドKに対する返答として、処理Ｊの完了までに必要な残りの実行回数（以下、残回数（RoC：Rest of Count）という。）を含むステータスをホスト機器１０に送信し、ホスト機器１０が、それを受信する。
【００４９】
次に、ホスト機器１０とデバイス装置２０は、２回目のステップＳ１１乃至Ｓ１５の処理であるステップＳ１１−２乃至Ｓ１５−２を実行する。ステップＳ１１−２乃至Ｓ１５−２では、デバイス装置２０は、４回に分割した処理のうちの２回目の処理を実行し、ステータスに含まれる残回数は“２”となる。
【００５０】
次に、ホスト機器１０とデバイス装置２０は、３回目のステップＳ１１乃至Ｓ１５の処理であるステップＳ１３−３乃至Ｓ１５−３を実行する。ステップＳ１１−３乃至Ｓ１５−３では、デバイス装置２０は、４回に分割した処理のうちの３回目の処理を実行し、ステータスに含まれる残回数は“１”となる。
【００５１】
次に、ホスト機器１０とデバイス装置２０は、４回目のステップＳ１１乃至Ｓ１５の処理であるステップＳ１３−４乃至Ｓ１５−４を実行する。ステップＳ１１−４乃至Ｓ１５−４では、デバイス装置２０は、４回に分割した処理のうちの４回目の処理を実行し、ステータスに含まれる残回数は“０”となる。
【００５２】
ホスト機器１０は、ステップＳ１５−４で受信したステータスに含まれる残回数が“０”であることを確認して、処理を終了する。
【００５３】
以上のように、ホスト機器１０は、処理Ｊの実行を指令するコマンドＪのデバイス装置２０への送信と、処理の残回数を含むステータスを確認するコマンドKのデバイス装置２０への送信とを繰り返す。
【００５４】
＜３．ホスト機器側の分割制御処理フロー＞
図５は、ホスト機器１０単体でみた場合のコマンドＪを実行させる分割制御処理のフローチャートである。
【００５５】
ホスト機器１０では、初めに、ステップＳ５１において、ホスト機器１０は、処理Ｊを実行させるコマンドＪをデバイス装置２０に送信する。
【００５６】
ステップＳ５２において、ホスト機器１０は、コマンドＪに対する処理完了を表す完了通知（のコマンド）をデバイス装置２０から受信する。
【００５７】
完了通知を受信後、ステップＳ５３において、ホスト機器１０は、処理Ｊの残り状況（進捗状況）を確認するコマンドであるコマンドKをデバイス装置２０に送信する。
【００５８】
ステップＳ５４において、ホスト機器１０は、コマンドKに対する返答として、処理Ｊの完了までに必要な残回数を含むステータスをデバイス装置２０から受信する。
【００５９】
ステップＳ５５において、ホスト機器１０は、受信したステータスに含まれる残回数がゼロより大きいかを判定する。
【００６０】
ステップＳ５５で、残回数がゼロより大きいと判定された場合、ホスト機器１０は、処理をステップＳ５１に戻し、上述したステップＳ５１乃至Ｓ５５の処理を繰り返す。
【００６１】
一方、ステップＳ５５で、残回数がゼロ以下、即ちゼロであると判定された場合、ホスト機器１０は、処理を終了する。
【００６２】
＜４．デバイス装置側の分割制御処理フロー＞
図６は、デバイス装置２０単体でみた場合のコマンドＪを実行させる分割制御処理のフローチャートである。
【００６３】
デバイス装置２０では、初めに、ステップＳ７１において、デバイス装置２０は、ホスト機器１０から送信されてきた、処理Ｊを実行させるコマンドＪを受信する。
【００６４】
ステップＳ７２において、デバイス装置２０は、１回目のコマンドＪの受信であるかを判定する。ステップＳ７２では、例えば、後述するステップＳ７７の残回数が内部メモリに記憶されていない場合、１回目のコマンドＪの受信であると判定される。
【００６５】
ステップＳ７２で、１回目のコマンドＪの受信であると判定された場合、処理はステップＳ７３に進み、デバイス装置２０は、１回当たりの処理時間が規定処理時間内に収まるように処理Ｊを分割した分割回数を計算し、ステップＳ７４において、１回目の分割処理を実行する。
【００６６】
一方、ステップＳ７２で、１回目のコマンドＪの受信ではない、換言すれば、２回目以降のコマンドＪの受信であると判定された場合、処理はステップＳ７５に進み、デバイス装置２０は、ｎ回目（ｎ＞１）の分割処理を実行する。
【００６７】
分割処理を終了すると、ステップＳ７６において、デバイス装置２０は、処理完了を表す完了通知（のコマンド）をホスト機器１０に送信し、ステップＳ７７において、残回数を１だけデクリメントした値を内部メモリに記憶する。
【００６８】
ステップＳ７８において、デバイス装置２０は、ホスト機器１０から送信されてきた、処理Ｊの残り状況（進捗状況）を確認するコマンドKを受信する。
【００６９】
ステップＳ７９において、デバイス装置２０は、コマンドKに対する返答として、内部メモリに記憶している残回数を含むステータスをホスト機器１０に送信して、処理を終了する。
【００７０】
以上のように、ホスト機器１０とデバイス装置２０は、規定処理時間以上の処理時間を必要とする処理Ｊを、通常コマンドに割り当てられた規定処理時間以内の処理に分割して、必要回数繰り返し実行することで、規定処理時間以上の処理時間を必要とする処理を実行することができる。
【００７１】
必要回数繰り返し実行されるコマンドＪは、通常コマンドと同じ規定処理時間内で処理が行われるので、タイムアウトが発生することがない。また、各コマンド間では、その他のコマンドの送受信および実行も可能である。
【００７２】
ただし、デバイス装置２０が、ｎ回の分割処理が必要な分割処理の途中で、他のコマンドを受信した場合、内部メモリに記憶されている残回数は一旦リセットされるので、コマンドＪの実行は、最初からやり直しとなる。
【００７３】
＜５．分割制御処理の第１の変形例＞
図７は、図４に示した分割制御処理の第１の変形例を示すフローチャートである。
【００７４】
図４を参照して説明した第１の通信処理では、処理Ｊの実行を指令するコマンドＪと、分割処理の残回数を含むステータスを確認するコマンドKの両方を、所定回数繰り返した。
【００７５】
しかし、ホスト機器１０は、例外的なエラー発生などの場合を除いて、１回目のコマンドKに対するステータスの受信で、コマンドＪの必要な実行回数を知ることができる。
【００７６】
そこで、図７に示されるように、ホスト機器１０は、最初のコマンドＪに対する完了通知を受信した後は、コマンドKを送信し、そのコマンドKに対する返答としてのステータスを取得するが、２回目以降のコマンドＪに対する完了通知を受信した後は、コマンドKをデバイス装置２０に送信しないようにしてもよい。
【００７７】
図４の分割制御処理と比較して、図７の第１の変形例では、２回目以降のステップＳ１４およびＳ１５の処理、換言すれば、２回目以降のコマンドKの送受信と、コマンドKに対する返答であるステータスの送受信が省略されている。
【００７８】
なお、上記の１回目のコマンドＪに対する完了通知を受信した後に加えて、処理Ｊ全体が完了したと想定される完了通知を受信した後、即ち図７のステップＳ１３−４の処理の後に、分割処理の残回数がゼロであることを確認するため、追加的に、コマンドKとその返信であるステータスを送受信するようにしてもよい。
【００７９】
また、ステップＳ１４およびＳ１５のコマンドKとステータスの送受信は、コマンドＪの完了通知を受信した後に、複数回に１回の割合で実行するようにしてもよい。
【００８０】
＜６．分割制御処理の第２の変形例＞
図８は、図４に示した分割制御処理の第２の変形例を示すフローチャートである。
【００８１】
図４を参照して説明した分割制御処理では、処理Ｊの実行を指令するコマンドＪと、処理の残回数を含むステータスを確認するコマンドKの両方を、所定回数繰り返した。
【００８２】
図８の第２の変形例では、図４の分割制御処理においてステップＳ１３でデバイス装置２０からホスト機器１０に送信される完了通知に、処理Ｊの完了までに必要な残回数がパラメータとして含んで送信される。これにより、第２の変形例では、ステップＳ１４およびＳ１５のコマンドKとステータスの送受信が省略されている。
【００８３】
具体的には、ステップＳ１１−１において、ホスト機器１０は、処理Ｊをデバイス装置２０に実行させるコマンドＪをデバイス装置２０に送信する。
【００８４】
ステップＳ１２−１において、デバイス装置２０は、ホスト機器１０から送信されてきたコマンドＪを受信し、処理Ｊを分割した分割処理の１回目を規定処理時間内で実行する。
【００８５】
ステップＳ１３’−１において、デバイス装置２０は、処理Ｊの完了までに必要な残回数をパラメータとして含む、処理完了を表す完了通知（のコマンド）をホスト機器１０に送信し、ホスト機器１０が、それを受信する。
【００８６】
以下同様の処理が、完了通知に含まれる残回数がゼロになるまで繰り返される。
【００８７】
以上のように、本技術の分割制御処理によれば、通常のコマンドが実行しうる環境において、タイムアウトを発生させることなく、１コマンドで許される処理時間より長い処理時間を必要とする処理を実行することができる。そして、各コマンド間では、その他のコマンドも受理し、実行することができる。
【００８８】
＜７．デジタルカメラへの適用例＞
次に、上述したデバイス制御システム１の制御を、具体的な装置に適用した例について説明する。
【００８９】
図９は、本技術を適用したデジタルカメラ（デジタルスチルカメラ）の一実施の形態の構成例を示すブロック図である。
【００９０】
このデジタルカメラ１００は、撮影した画像（または音声）のデータを、例えばSDカードなどで構成されるメモリカード１４６に記録したり、メモリカード１４６に記録された画像（または音声）のデータを再生したりする。
【００９１】
図９において、光学レンズ１０１は、カメラ機能部１０２の制御に基づいて、被写体の画像の光を集光し、集光した光を、光電変換部１０３に結像させる。
【００９２】
カメラ機能部１０２は、CPU（central processing unit）１４８の制御に基づいて、光学レンズ１０１による被写体の撮影動作を開始させたり、終了させたりする他、光学レンズ１０１のズーム率、取り込む光量などを適宜制御する。
【００９３】
光電変換部１０３は、例えば、CCD（charge-coupled device）またはCMOS（Complementary Metal Oxide Semiconductor）センサなどの光電変換素子により構成され、光学レンズ１０１から供給される光を電気的信号に変換し、画像信号処理部１０４に供給する。
【００９４】
画像信号処理部１０４は、光電変換部１０３から供給される信号に基づいて、画像のデータを生成する。画像信号処理部１０４は、例えば、CPU１４８の制御に基づいて、被写体の画像に対応するアナログの信号を、A/D（Analog to Digital）変換して、デジタルの画像のデータとし、その画像のデータに対して、例えば、ホワイトバランスの調整、欠陥画素の補間などの画像処理を適用する。また、画像信号処理部１０４は、CPU１４８の制御に基づいて、MEPG（Motion Picture Experts Group）、JPEG（Joint Photographic Expert Group）などの方式による画像のデータの圧縮符号化を行ったり、圧縮符号化された画像のデータの復号を行ったりする。
【００９５】
また、画像信号処理部１０４は、被写体の画像に対応するアナログの信号を、A/D変換して、ホワイトバランスを調整し、または欠陥画素を補間した画像のデータを、ディスプレイ１０６および画像入出力部１０５に供給する。より具体的には、画像信号処理部１０４は、その画像データを、ディスプレイ１０６の入力方式である、例えば、RGB（Red, Green, Blue）信号に変換して、ディスプレイ１０６に供給し、同様に、画像信号処理部１０４は、RGB信号を画像入出力部１０５にも供給する。
【００９６】
画像入出力部１０５は、例えば、外部の装置から供給される画像信号を、画像信号処理部１０４に供給し、また、画像信号処理部１０４から出力される画像のデータに対応する信号を、外部の装置に出力する。ディスプレイ１０６は、例えば、LCD（Liquid Crystal Display）などにより構成され、画像信号処理部１０４から出力される画像のデータに対応する信号に基づく画像を表示する。
【００９７】
音声入出力部１２１は、例えば、マイクロフォンなどにより集音された音声信号を、音声処理部１２２に供給し、また、音声処理部１２２から出力される音声のデータに対応する音声を、スピーカなどに出力する。音声処理部１２２は、CPU１４８の制御に基づいて、音声入出力部１２１から供給される音声の信号に基づいて、圧縮符号化された音声のデータを生成したり、圧縮符号化された音声のデータの復号を行ったりする。
【００９８】
RAM（Random Access Memory）１４１は、ドライブ１４５に装着されるメモリカード１４６から読み出されるプログラムなどのデータ、またはプログラムによる処理に伴って生成されるデータなどを記憶し、必要に応じてCPU１４８に供給する。ROM１４２は、予め記憶されているデータを、必要に応じてCPU１４８に供給する。
【００９９】
操作入力部１４３は、例えば、操作キーまたはボタンなどを有する構成とされ、ユーザにより入力された操作に対応する信号を、CPU１４８に出力する。
【０１００】
通信部１４４は、例えば、ネットワークカードなどにより構成され、Ethernet(登録商標)、USB（Universal Serial Bus）などの有線通信のインタフェース、または、IEEE８０２．１１a/b/g、Bluetooth(登録商標)などの無線通信のインタフェースとして機能し、CPU１４８の制御に基づいて、ネットワークに接続される他の装置との通信を行う。
【０１０１】
ドライブ１４５には、例えばSDカードなどのメモリカード１４６が装着される。ドライブ１４５は、装着されたメモリカード１４６にアクセスし、データを記録したり、記録したデータを読み出したりする。
【０１０２】
電源１４７は、デジタルカメラ１００を駆動させるために必要となる電力を供給する。
【０１０３】
CPU１４８は、各種の演算を行ってデータの処理を行い、デジタルカメラ１００全体の動作を制御する。
【０１０４】
以上のように構成されるデジタルカメラ１００において、デジタルカメラ１００を図１のホスト機器１０とし、メモリカード１４６を図１のデバイス装置２０として、上述した分割制御処理を行わせることができる。
【０１０５】
＜メモリカードのハードウエア構成例＞
図１０は、デバイス装置２０としてのメモリカード１４６のハードウエア構成例を示すブロック図である。
【０１０６】
メモリカード１４６は、ホストI/F１６１、カードコントローラ１６２、メモリI/F１６３、及び、フラッシュメモリ１６４を含んで構成される。
【０１０７】
ホストI/F１６１は、カードコントローラ１６２とホスト機器（デジタルカメラ１００）との間のインタフェース処理を行う。
【０１０８】
カードコントローラ１６２は、例えば、CPU（Central Processing Unit），ROM（Read Only Memory），RAM（Random Access Memory）などを備え、メモリカード１４６全体の動作を制御する。CPUは、ROMに格納された制御プログラムをRAM上にロードして、ホスト機器からの指令に基づき、フラッシュメモリ１６４へのデータの書き込み、および、フラッシュメモリ１６４からのデータの読み出しを実行する。RAMには、取得したデータを一時的に保持するレジスタ（後述する拡張レジスタを含む）が形成される。
【０１０９】
メモリI/F１６３は、カードコントローラ１６２とフラッシュメモリ１６４との間のインタフェース処理を行う。
【０１１０】
フラッシュメモリ１６４は、所定のデータを記録する。フラッシュメモリ１６４は、部分的にデータを電気的に消去し、書き直すことができる不揮発性メモリであるEEPROM（Electrically Erasable Programable ROM）の一種であり、例えば、NAND型のフラッシュメモリで構成されている。
【０１１１】
以下では、ホスト機器１０としてのデジタルカメラ１００が、デバイス装置２０としてのメモリカード１４６に行わせる、規定処理時間よりも長い処理時間を必要とする機能（処理）として、フォーマット処理の例について説明する。
【０１１２】
また、メモリカード１４６がSDカードである場合について説明する。
【０１１３】
メモリカード１４６には、FATファイルシステムにより、データが記録及び管理される。
【０１１４】
＜FATファイルシステム＞
図１１は、FATファイルシステムで管理されるメモリカード１４６の記録領域を示している。
【０１１５】
FATファイルシステムで管理されるメモリカード１４６の記録領域は、ファイル管理領域と、ユーザデータ領域と、キャッシュ領域とに分けられる。ファイル管理領域およびユーザデータ領域は、例えば、フラッシュメモリ１６４に形成され、キャッシュ領域は、例えば、カードコントローラ１６２内のRAMに形成される。
【０１１６】
ファイル管理領域のLBA(Logical Block Addressing)＝０の先頭セクタには、起動コード、各パーティションの先頭のセクタおよび終了セクタ、並びにサイズなどの情報を含むMBR(Master Boot Record)が配置されている。
【０１１７】
また、ファイル管理領域には、MBRに続いて、PBR（Partition Boot Record）、FAT（File Allocation Table）１、FAT2、ルートディレクトエントリが記録される。
【０１１８】
PBRは、メモリカード１４６のクラスタ数、パーティションの起動コードなどを含む情報とされ、例えば、オペレーティングシステムの起動時にメモリに読み込まれる。
【０１１９】
FAT1およびFAT2は、それぞれ、ファイルを構成するクラスタの連鎖情報を有するテーブルであり、ファイルシステムがファイルの読出しまたは書き込みを行うとき、FAT1またはFAT2が参照される。なお、通常FAT1とFAT2の記録内容は同様のものとされる（同じテーブルのコピーとされる）。
【０１２０】
ルートディレクトリエントリには、メモリカード１４６のルートディレクトリに記録されるファイルに対応するディレクトリエントリが格納される。例えば、メモリカード１４６のルートディレクトリに複数のファイルが記録される場合、ルートディレクトリエントリには、個々のファイルに関係する情報からなるディレクトリエントリが、複数のファイルのそれぞれに対して形成される。ディレクトリエントリのそれぞれには、対応するファイルの名称、そのファイルの作成日、そのファイルのサイズ、および、そのファイルの先頭クラスタ番号などの情報が格納される。
【０１２１】
ルートディレクトリエントリに続くユーザデータ領域には、画像データ等の実データがクラスタ単位に記録される。通常、複数のクラスタにより１つのファイルが構成されるが、このファイルを構成する複数のクラスタの連鎖情報が、上述したFAT1またはFAT2に記録されることになる。すなわちFAT1またはFAT2には、「当該パーティションに存在する複数のクラスタのうち、あるファイルの先頭が第何番目のクラスタであり、その次のクラスタは、第何番目のクラスタであり、・・・ファイルの最後のクラスタが第何番目のクラスタである」のような情報が記録される。
【０１２２】
＜フォーマットコマンドの種類＞
図１２は、デジタルカメラ１００のCPU１４８がメモリカード１４６のフォーマットを実行する場合のフォーマットコマンドの種類を示すテーブルである。
【０１２３】
CPU１４８が実行できるフォーマットの種類には、「Quick Format(Without File System)」、「Full Format(Without File System)」、「Quick Format(With File System)」、および「Full Format(With File System)」の４種類がある。
【０１２４】
「Quick Format(Without File System)」のフォーマットコマンドでは、CPU１４８（ファイルシステム）は、メモリカード１４６のキャッシュ領域のみを初期化する。
【０１２５】
「Full Format(Without File System)」のフォーマットコマンドでは、CPU１４８は、メモリカード１４６のユーザデータ領域とキャッシュ領域を初期化する。
【０１２６】
「Quick Format(With File System)」のフォーマットコマンドでは、CPU１４８は、メモリカード１４６のファイル管理領域とキャッシュ領域を初期化する。
【０１２７】
「Full Format(With File System)」のフォーマットコマンドでは、CPU１４８は、メモリカード１４６のファイル管理領域、ユーザデータ領域、およびキャッシュ領域を初期化する。
【０１２８】
メモリカード１４６がSDカードである場合、上述した分割制御処理を採用したフォーマット処理は、“SD Specifications Part1 Physical Layer Simplified Specification Version 5.00 (August 10, 2016)”で規定されている拡張機能用のコマンド”CMD48“および”CMD49“を利用して、実現することができる。
【０１２９】
コマンド“CMD48”および“CMD49”は、SDカードのRAM上に形成される拡張レジスタを介して、ホスト機器がデータを読み書きするコマンドであり、コマンド“CMD48”が、ホスト機器がSDカードからデータを読み出すコマンドであり、コマンド“CMD49”が、ホスト機器がSDカードにデータを書き込むコマンドである。
【０１３０】
＜コマンド“CMD49”の説明＞
初めに、図１３乃至図１５を参照して、ホスト機器１０であるデジタルカメラ１００（のCPU１４８）が、フォーマット処理の実行を命令するために用いられるコマンド“CMD49”について説明する。
【０１３１】
図１３は、コマンド“CMD49”を用いたホスト-デバイス間の処理を説明する図である。
【０１３２】
デジタルカメラ１００（のCPU１４８）は、拡張レジスタの５１２バイトのデータブロックに所定のデータをセットし、コマンド“CMD49”をメモリカード１４６に送信する。メモリカード１４６は、コマンド“CMD49”を受信すると、レスポンス“R1”をデジタルカメラ１００に返信した後、拡張レジスタから、５１２バイトのデータブロックを読み出す。
【０１３３】
メモリカード１４６は、５１２バイトのデータブロックを正しく受け取れたか否かを表すCRCステータスをデジタルカメラ１００に返信し、コマンド“CMD49”で命令された処理を実行している間、ビジー（Busy）状態とする。このビジー状態の最大時間は１秒である。
【０１３４】
コマンド“CMD49”のパラメータには、メモリカード１４６が読み出すべきデータ（有効データ）が記録された拡張レジスタ内の位置（読み出し位置）を指定するADDRと、読み出すべきデータ（有効データ）のデータ長を指定するLENなどが含まれている。拡張レジスタ内の、LENが示すデータ長以降のデータは無効なデータとなる。
【０１３５】
図１４は、コマンド“CMD49”のフィールド構成例を示している。
【０１３６】
“S”は、コマンドのスタートビットを示し、“T”は転送方向を示すビットであり、“INDEX”は、コマンド番号を表す。“INDEX”の“110001b”が２進数で「４９」を表す（最後の“b”は２進を表す）。
【０１３７】
“MIO”は、メモリ空間またはI/O空間のいずれかを表す。“MIO＝0”の場合、メモリ空間を表す。
【０１３８】
“FNO”は、拡張機能を識別する番号を表し、最大16個までの拡張機能が指定できる。例えば、フォーマット機能が１番に割り当てられている場合、“FNO=1”となる。
【０１３９】
“rsv”は、将来のための予備のビットである。
【０１４０】
“ADDR”は、１７ビットを用いて、拡張レジスタの読み出し位置を表す。
【０１４１】
“LEN”はデータ長を示している。９ビットのLENフィールドにより、拡張レジスタ内の読み出しが必要な有効データのデータ長が指定される。“1FFh”は、１６進で５１２を表す（最後の“h”は１６進を表す）。
【０１４２】
“CRC7”は、巡回冗長検査（cyclic redundancy check）コードを示し、“E”は、コマンドのエンドビットを示している。
【０１４３】
図１５は、コマンド“CMD49”を用いたフォーマット処理実行命令において、拡張レジスタの５１２バイトのデータブロックに記載されるデータ例を示している。
【０１４４】
なお、図１５では、５１２バイトのうち、先頭の４８バイトのみが示されている。
【０１４５】
先頭の１バイト（１バイト目）には、コマンド“CMD49”のFNO”で特定されるフォーマット機能を、実行するのか（“00h”）、または、停止するのか（“01h”）を指定する情報が入力される。
【０１４６】
次の１バイト（２バイト目）には、コマンド“CMD49”のFNO”で特定されるフォーマット機能の種類を指定する情報が入力される。この情報が“00h”である場合、フォーマットの種類が「Quick Format(Without File System)」を表し、“01h”である場合、「Full Format(Without File System)」を表し、“10h”である場合、「Quick Format(With File System)」を表し、“11h”である場合、「Full Format(With File System)」を表す。
【０１４７】
３バイト目以降は、将来のための予備（Reserved）とされる。予備は、“FFh”で表される。
【０１４８】
デジタルカメラ１００（のCPU１４８）は、以上のコマンド“CMD49”をメモリカード１４６に送信することにより、フォーマット処理の実行をメモリカード１４６に命令することができる。
【０１４９】
＜コマンド“CMD48”＞
次に、図１６乃至図１８を参照して、デバイス装置２０であるメモリカード１４６が、フォーマット処理の実行結果（ステータス）を返すために用いられるコマンド“CMD48”について説明する。
【０１５０】
図１６は、コマンド“CMD48”を用いたホスト-デバイス間の処理を説明する図である。
【０１５１】
デジタルカメラ１００（のCPU１４８）は、コマンド“CMD48”をメモリカード１４６に送信する。メモリカード１４６は、コマンド“CMD48”を受信すると、レスポンス“R1”をデジタルカメラ１００に返信した後、拡張レジスタの５１２バイトのデータブロックに、所定のデータを書き込む。
【０１５２】
デジタルカメラ１００は、拡張レジスタの５１２バイトのデータブロックに書き込まれたデータを読み出す。
【０１５３】
コマンド“CMD48”のパラメータには、メモリカード１４６が書き込むべきデータ（有効データ）の拡張レジスタ内の位置（書き込み位置）を指定するADDRと、書き込むデータ（有効データ）のデータ長を指定するLENなどが含まれている。拡張レジスタ内の、LENが示すデータ長以降のデータは無効なデータとなる。
【０１５４】
図１７は、コマンド“CMD48”のフィールド構成例を示している。
【０１５５】
コマンド番号を表す“INDEX”は、２進数で「４８」を表す“110000b”となっている（最後の“b”は２進を表す）。
【０１５６】
その他のパラメータは、コマンド“CMD49”と同様であるので、説明は省略する。
【０１５７】
図１８は、コマンド“CMD48”を受信したメモリカード１４６が、拡張レジスタ内の５１２バイトのデータブロックに記載するデータ例を示している。
【０１５８】
なお、図１８では、５１２バイトのうち、先頭の４８バイトのみが示されている。
【０１５９】
先頭から１６バイトは、将来のための予備（Reserved）とされる。予備は、“FFh”で表される。
【０１６０】
次の２バイト（１７，１８バイト目）には、フォーマット処理を成功したか否かを示す情報が入力される。この情報が“00h”である場合、フォーマット処理の成功を表し、“00h”以外である場合、フォーマット処理の失敗を表す。
【０１６１】
次の２バイト（１９，２０バイト目）には、フォーマット処理の完了までに必要な残りの実行回数（残回数）が入力される。
【０１６２】
次の１２バイト（２１ないし３２バイト目）は、将来のための予備（Reserved）とされる。
【０１６３】
次の２バイト（３３，３４バイト目）には、フォーマット種類「Quick Format(Without File System)」でフォーマット処理を実行した場合のコマンド“CMD49”発行の見積り回数が入力される。
【０１６４】
次の２バイト（３５，３６バイト目）には、フォーマット種類「Full Format(Without File System)」でフォーマット処理を実行した場合のコマンド“CMD49”発行の見積り回数が入力される。
【０１６５】
次の２バイト（３７，３８バイト目）には、フォーマット種類「Quick Format(With File System)」でフォーマット処理を実行した場合のコマンド“CMD49”発行の見積り回数が入力される。
【０１６６】
次の２バイト（３９，４０バイト目）には、フォーマット種類「Full Format(With File System)」でフォーマット処理を実行した場合のコマンド“CMD49”発行の見積り回数が入力される。
【０１６７】
次の２バイト（４１，４２バイト目）には、フォーマット種類「Full Format(With File System)」でフォーマット処理を実行した場合の見積り実行時間（秒）が入力される。
【０１６８】
４３バイト目以降は、将来のための予備（Reserved）とされる。
【０１６９】
以上より、デジタルカメラ１００（のCPU１４８）は、コマンド“CMD48”をメモリカード１４６に送信することにより、フォーマット処理の実行結果、残回数などをメモリカード１４６から取得することができる。
【０１７０】
＜コマンド“CMD48”および“CMD49”を用いた分割制御処理＞
上述したコマンド“CMD48”および“CMD49”を用いた、デジタルカメラ１００とメモリカード１４６との間のフォーマット処理を、図４に示した分割制御処理と対応させると、図１９に示すようになる。
【０１７１】
デジタルカメラ１００は、ステップＳ１１において、拡張レジスタの５１２バイトのデータブロックに、フォーマット処理の実行（１バイト目）と、フォーマット種類（２バイト目）をセットし、フォーマット機能を示す“FNO”を含むコマンド“CMD49”をメモリカード１４６に送信する。
【０１７２】
ステップＳ１２において、メモリカード１４６は、デジタルカメラ１００から送信されてきたコマンド“CMD49”を受信し、拡張レジスタを参照する。そして、メモリカード１４６は、フォーマット処理の一部を、最長１秒の処理時間内で実行する。
【０１７３】
メモリカード１４６は、フォーマット処理を実行中、ビジー状態を発行し、デジタルカメラ１００は、ビジー状態の終了をもって、ステップＳ１３における完了通知と認識する。
【０１７４】
デジタルカメラ１００は、ビジー状態が終了した後、ステップＳ１４において、フォーマット機能を示す“FNO”を含むコマンド“CMD48”をメモリカード１４６に送信する。
【０１７５】
メモリカード１４６は、ステップＳ１５において、コマンド“CMD48”に対する返答として、拡張レジスタの５１２バイトのデータブロックに、フォーマット処理の実行結果（１７および１８バイト目）、フォーマット処理完了までの残回数（１９および２０バイト目）などをセットし、デジタルカメラ１００が、この拡張レジスタのデータを読み出す。
【０１７６】
以上のステップＳ１１ないしＳ１５の処理が、フォーマット処理完了までの残回数がゼロになるまで、繰り返される。
【０１７７】
なお、コマンド“CMD48”および“CMD49”は拡張機能用のコマンドであるので、メモリカード１４６が、この拡張機能をサポートしているか否かが不明な場合もある。そのような場合には、デジタルカメラ１００は、コマンド“ACMD51”をメモリカード１４６に送信し、SD構成を示すレジスタを確認することにより、拡張機能をサポートしているか否かを確認した上で、上述の処理を開始することができる。あるいはまた、確認せずにコマンド“CMD49”を送信し、エラー等が発生した場合に、サポートしていないものとして処理を中止してもよい。
【０１７８】
また、デジタルカメラ１００は、コマンド“CMD49”によってフォーマット処理の実行を命令する前にコマンド“CMD48”を送信し、拡張レジスタの３３乃至４２バイト目に書き込まれる、各フォーマット処理の見積り回数や見積り実行時間を確認してもよい。これにより、デジタルカメラ１００は、各フォーマットの種類による処理時間の違いを確認し、どの種類のフォーマットを実行させるかを決定することができる。
【０１７９】
以上、説明したように、デジタルカメラ１００とメモリカード１４６との間の動作制御に、本技術の分割制御処理を適用することにより、１秒以上の処理時間が必要なフォーマット処理を実現することができる。
【０１８０】
また、繰り返し実行されるコマンド“CMD48”または“CMD49”の間に、新たなコマンドが発行された場合、コマンド“CMD48”および“CMD49”それぞれは、１コマンドで許容される処理時間内で処理を実行する通常コマンドであるので、メモリカード１４６は、その新たなコマンドを通常に受け付けることもできる。
【０１８１】
即ち、本技術によれば、ホスト機器であるデジタルカメラ１００から任意のコマンドを受理および処理できる状態を維持しながら、１コマンドで許容される処理時間より長い処理時間を必要とする処理を実行させることができる。
【０１８２】
なお、上述した実施の形態では、１コマンドで許容される処理時間より長い処理時間を必要とする処理の例としてフォーマット処理の例を説明した。
【０１８３】
しかしながら、本技術は、フォーマット処理以外の処理に適用することができることは言うまでもない。例えば、メモリカード１４６内のフラッシュメモリ１６４の使用回数を平滑化するウェアレベリング処理や、断片化を整理するデフラグ処理、デバイスの自律検査処理などにも、本技術は適用することができる。
【０１８４】
＜８．コンピュータ構成例＞
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているマイクロコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【０１８５】
図２０は、ホスト機器１０またはデバイス装置２０として、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【０１８６】
コンピュータにおいて、CPU（Central Processing Unit）２０１，ROM（Read Only Memory）２０２，RAM（Random Access Memory）２０３は、バス２０４により相互に接続されている。
【０１８７】
バス２０４には、さらに、入出力インタフェース２０５が接続されている。入出力インタフェース２０５には、入力部２０６、出力部２０７、記憶部２０８、通信部２０９、及びドライブ２１０が接続されている。
【０１８８】
入力部２０６は、キーボード、マウス、マイクロフォンなどよりなる。出力部２０７は、ディスプレイ、スピーカなどよりなる。記憶部２０８は、ハードディスクや不揮発性のメモリなどよりなる。通信部２０９は、ネットワークインタフェースなどよりなる。ドライブ２１０は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブル記録媒体２１１を駆動する。
【０１８９】
以上のように構成されるコンピュータでは、CPU２０１が、例えば、記憶部２０８に記憶されているプログラムを、入出力インタフェース２０５及びバス２０４を介して、RAM２０３にロードして実行することにより、上述した一連の処理が行われる。
【０１９０】
コンピュータでは、プログラムは、リムーバブル記録媒体２１１をドライブ２１０に装着することにより、入出力インタフェース２０５を介して、記憶部２０８にインストールすることができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して、通信部２０９で受信し、記憶部２０８にインストールすることができる。その他、プログラムは、ROM２０２や記憶部２０８に、あらかじめインストールしておくことができる。
【０１９１】
本明細書において、フローチャートに記述されたステップは、記載された順序に沿って時系列的に行われる場合はもちろん、必ずしも時系列的に処理されなくとも、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで実行されてもよい。
【０１９２】
また、本明細書において、システムとは、複数の構成要素（装置、モジュール（部品）等）の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、１つの筐体の中に複数のモジュールが収納されている１つの装置は、いずれも、システムである。
【０１９３】
本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０１９４】
例えば、上述した実施の形態の全てまたは一部を適宜組み合わせた形態を採用することができる。
【０１９５】
例えば、本技術は、１つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０１９６】
また、上述のフローチャートで説明した各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０１９７】
さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０１９８】
本明細書に記載された効果はあくまで例示であって限定されるものではなく、本明細書に記載されたもの以外の効果があってもよい。
【０１９９】
なお、本技術は以下のような構成も取ることができる。
（１）
所定の処理を分割して実行させる第１のコマンドをデバイス装置に送信する送信部と、
前記第１のコマンドによる前記デバイス装置の分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス装置から取得する取得部と
を備え、
前記送信部は、前記残回数だけ、前記第１のコマンドの送信を繰り返し実行する
デバイス制御装置。
（２）
前記取得部は、前記送信部が前記第１のコマンドを送信する度に、前記残回数を前記デバイス装置から取得する
前記（１）に記載のデバイス制御装置。
（３）
前記取得部は、前記分割処理が完了した旨の通知とともに、前記残回数を前記デバイス装置から取得する
前記（１）または（２）に記載のデバイス制御装置。
（４）
前記送信部は、前記第１のコマンドの実行結果と前記残回数を要求する第２のコマンドを前記デバイス装置に送信し、
前記取得部は、前記第２のコマンドに応じて返信される前記実行結果と前記残回数を前記デバイス装置から取得する
前記（１）または（２）に記載のデバイス制御装置。
（５）
前記デバイス装置はSDカードであり、
前記第１のコマンドは、コマンド“CMD49”であり、
前記第２のコマンドは、コマンド“CMD48”である
前記（４）に記載のデバイス制御装置。
（６）
デバイス装置の動作を制御するデバイス制御装置の、
送信部が、所定の処理を分割して実行させる第１のコマンドを前記デバイス装置に送信し、
取得部が、前記第１のコマンドによる前記デバイス装置の分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス装置から取得し、
前記送信部は、前記残回数だけ、前記第１のコマンドの送信を繰り返し実行する
制御方法。
（７）
コンピュータを、送信部と取得部として機能させ、
前記送信部が、所定の処理を分割して実行させる第１のコマンドをデバイス装置に送信させ、
前記取得部が、前記第１のコマンドによる前記デバイス装置の分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス装置から取得し、
前記送信部は、前記残回数だけ、前記第１のコマンドの送信を繰り返し実行させる
プログラム。
（８）
デバイス制御装置から、所定の処理を分割して実行させる第１のコマンドを取得する取得部と、
前記第１のコマンドによる分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス制御装置に送信する送信部と
を備え、
前記取得部は、前記残回数だけ、前記第１のコマンドを繰り返し取得する
デバイス装置。
（９）
前記送信部は、前記取得部が前記第１のコマンドを取得する度に、前記残回数を前記デバイス制御装置に送信する
前記（８）に記載のデバイス装置。
（１０）
前記送信部は、前記第１のコマンドによる分割処理が完了した旨の通知とともに、前記残回数を前記デバイス制御装置に送信する
前記（８）または（９）に記載のデバイス装置。
（１１）
前記取得部は、前記第１のコマンドの実行結果と前記残回数を要求する第２のコマンドを取得し、
前記送信部は、前記第２のコマンドに応じて、前記実行結果と前記残回数を前記デバイス制御装置に送信する
前記（８）または（９）に記載のデバイス装置。
（１２）
前記デバイス装置はSDカードであり、
前記第１のコマンドは、コマンド“CMD49”であり、
前記第２のコマンドは、コマンド“CMD48”である
前記（１１）に記載のデバイス装置。
（１３）
デバイス制御装置によって制御されるデバイス装置の、
取得部が、前記デバイス制御装置から、所定の処理を分割して実行させる第１のコマンドを取得し、
送信部が、前記第１のコマンドによる分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス制御装置に送信し、
前記取得部は、前記残回数だけ、前記第１のコマンドを繰り返し取得する
制御方法。
（１４）
コンピュータを、取得部と送信部として機能させ、
前記取得部が、デバイス制御装置から、所定の処理を分割して実行させる第１のコマンドを取得させ、
前記送信部が、前記第１のコマンドによる分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス制御装置に送信させ、
前記取得部は、前記残回数だけ、前記第１のコマンドを繰り返し取得させる
プログラム。
（１５）
デバイス装置と、それを制御するデバイス制御装置とからなり、
前記デバイス制御装置は、
所定の処理を分割して実行させる第１のコマンドを前記デバイス装置に送信する第１送信部と、
前記第１のコマンドによる前記デバイス装置の分割処理が完了した後、前記処理の完了までに必要な残回数を前記デバイス装置から取得する第１取得部と
を備え、
前記デバイス装置は、
前記デバイス制御装置から、前記第１のコマンドを取得する第２取得部と、
前記第１のコマンドによる分割処理が完了した後、前記残回数を前記デバイス制御装置に送信する第２送信部と
を備え、
前記第１送信部は、前記残回数だけ、前記第１のコマンドの送信を繰り返し実行する
デバイス制御システム。
【符号の説明】
【０２００】
１  デバイス制御システム，  １０  ホスト機器，  １１  制御部，  １２  送信部，  １３  受信部，  ２０  デバイス装置，  ２１  受信部，  ２２  送信部，  ２３  制御部，  ２４  処理部，  １００  デジタルカメラ，  １４８  CPU，  １４６  メモリカード，  １６２  カードコントローラ，  １６４  フラッシュメモリ，  ２０１  CPU，  ２０２  ROM，  ２０３  RAM，  ２０６  入力部，  ２０７  出力部，  ２０８  記憶部，  ２０９  通信部，  ２１０  ドライブ，  ２１１  リムーバブル記録媒体
【図１】
2018084004.tif 000003
【図２】
2018084004.tif 000004
【図３】
2018084004.tif 000005
【図４】
2018084004.tif 000006
【図５】
2018084004.tif 000007
【図６】
2018084004.tif 000008
【図７】
2018084004.tif 000009
【図８】
2018084004.tif 000010
【図９】
2018084004.tif 000011
【図１０】
2018084004.tif 000012
【図１１】
2018084004.tif 000013
【図１２】
2018084004.tif 000014
【図１３】
2018084004.tif 000015
【図１４】
2018084004.tif 000016
【図１５】
2018084004.tif 000017
【図１６】
2018084004.tif 000018
【図１７】
2018084004.tif 000019
【図１８】
2018084004.tif 000020
【図１９】
2018084004.tif 000021
【図２０】
2018084004.tif 000022
【国際調査報告】
2018084004.tif 000023
2018084004.tif 000024