(57)【要約】【課題】単一のホストコントローラによって複数のカードスロットを制御するホスト機器において、メモリカードの切り替えにおける書き込み等中断時に要するデータ退避用バッファメモリを削減する。【解決手段】ホストコントローラは、メモリカードに対する書き込み等のための準備処理等を複数の単位処理に分割して実行可能である。そして、メモリカード（カード１）に対して書き込み等を行っている期間に、新たなメモリカード（カード２）に対して、準備処理を１単位処理分実行する新カード準備分割処理Ｐ１１，Ｐ１２，Ｐ１３を繰り返し実行する。これにより、カード２に対する準備処理に起因する書き込み等中断時間が分散され、１回あたりの書き込み等中断時間が削減される。【選択図】図３
2009054103.tif 000002
【特許請求の範囲】
【請求項１】
ホストコントローラと、
メモリカードが挿入可能な複数のカードスロットと、
前記ホストコントローラと前記複数のカードスロットとの間に設けられており、前記ホストコントローラの指示に従って前記ホストコントローラからの信号線の接続先を前記複数のカードスロットの間で切り替えることによって、制御対象となるカードスロットを切り替えるスロット切替手段とを備え、
前記ホストコントローラは、
前記カードスロットに挿入されたメモリカードに対する書き込みまたは読み出しのための準備処理を、複数の単位処理に分割して実行可能であり、かつ、
第１のカードスロットに挿入されたメモリカードに対して書き込みまたは読み出しを行っている期間に第２のカードスロットに新たなメモリカードが挿入された場合において、
前記スロット切替手段によって、制御対象を前記第１のカードスロットから前記第２のカードスロットに切り替えるステップ（ａ）と、
前記新たなメモリカードに対する前記準備処理を、１単位処理分、実行するステップ（ｂ）と、
前記スロット切替手段によって、制御対象を前記第２のカードスロットから前記第１のカードスロットに切り替えるステップ（ｃ）とを含む、新カード準備分割処理を、繰り返し実行する
ことを特徴とするホスト機器。
【請求項２】
請求項１において、
前記スロット切替手段は、
前記ホストコントローラからの制御信号線の接続先を、前記複数のカードスロットの間で切り替える制御用セレクタと、
前記ホストコントローラからのデータ転送信号線の接続先を、前記複数のカードスロットの間で切り替えるデータ転送用セレクタとを備え、
前記制御用セレクタと前記データ転送用セレクタとは、互いに独立して切替動作が可能であるものであり、
前記ホストコントローラは、
実行する前記新カード準備分割処理において、ステップ（ｂ）における単位処理が、データ転送を伴わないものであるとき、
ステップ（ａ）において、前記データ転送用セレクタによって、データ転送信号線の接続先を前記第１のカードスロットに維持しつつ、前記制御用セレクタによって、制御信号線の接続先を前記第１のカードスロットから前記第２のカードスロットに切り替え、
ステップ（ｃ）において、前記制御用セレクタによって、制御信号線の接続先を前記第２のカードスロットから前記第１のカードスロットに切り替える
ことを特徴とするホスト機器。
【請求項３】
請求項１において、
前記準備処理は、当該メモリカードの初期化処理を含む
ことを特徴とするホスト機器。
【請求項４】
請求項１において、
前記準備処理を分割した各単位処理は、１つのコマンドを実行する処理である
ことを特徴とするホスト機器。
【請求項５】
請求項１において、
前記ホストコントローラは、
前記第２のカードスロットに新たなメモリカードが挿入されたタイミングで、前記新カード準備分割処理の実行を開始する
ことを特徴とするホスト機器。
【請求項６】
請求項１において、
前記ホストコントローラは、
前記第２のカードスロットに新たなメモリカードが挿入された後、前記第１のカードスロットのメモリカードの空き容量または未読み出し容量が所定値以下になったタイミングで、前記新カード準備分割処理の実行を開始する
ことを特徴とするホスト機器。
【請求項７】
デジタルビデオカメラである、請求項１記載のホスト機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のカードスロットを有するホスト機器において、単一ホストコントローラによって複数のメモリカードを制御する技術に関するものである。
【背景技術】
【０００２】
近年、メモリカード（以下、適宜、単に「カード」と記す）の大容量化に伴い、高画質の録画データを直接メモリカードに記録可能なデジタルビデオカメラなど、メモリカードとの間で連続的に大量のデータ送受信を行う機器が登場している。このような機器では、例えばメモリカードが録画データで満杯になった後、別のメモリカードに手動で入れ替える間は、データを保存できず、録画もできないなどの不便がある。特に監視カメラなど、録画の連続性が要求され、少しの中断も許されないような機器においては、録画したデータを途切れることなくメモリカードに書き込み保存することは必須の機能となる。これには、単純に録画データを一時保存するバッファメモリを大量に用意することによって対応することは可能だが、一方、コスト面において大きな問題となる。
【０００３】
この問題に対しては、複数のカードスロットを機器に搭載すればよい。これにより、一方のスロットにおいてメモリカードへの書き込みを行っている間に、他方のスロットにおいてカード入れ替えを行うことが可能になる。すなわち、少なくともいずれか一方のスロットにメモリカードが挿入されている状態にしておくことによって、録画データの書き込み先が常に確保される。
【０００４】
ところが、通常、メモリカードへのコマンド発行などを制御するホストコントローラは１個のスロットしか扱うことができないため、複数のカードスロットを機器に搭載する場合には、ホストコントローラをスロットと同じ数だけ用意し、１つのホストコントローラが１つのスロットを専用的に制御する構成にする必要がある。しかし、このようにホストコントローラを複数搭載することは、ホストコントローラ自体のコストに加えて、チップの面積の増加にもつながり、コスト面において大きな問題となる。
【０００５】
この問題を解決するために、特許文献１に示すホスト機器は、単一ホストコントローラによって複数のカードスロットを扱う手段を備えている。具体的には、ホストコントローラの接続先スロットを切り替えるセレクタを設けて、適切なタイミングでセレクタを操作してスロットを切り替えることにより、各スロットに挿入された複数のメモリカードを入れ替えることなく同時に使用可能としている。これにより、ホストコントローラを複数搭載することなく複数のスロットを制御できるので、メモリカードが満杯になった場合でも予め別スロットに挿入しておいたメモリカードへ連続して書き込むことが可能となる。
【特許文献１】特開２００６―２４２１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述の従来技術では、次のような問題がある。
【０００７】
一般に、メモリカードはスロット挿入後すぐに使用できるわけではなく、メモリカードを初期化する処理として、規定のシーケンスに従って複数の初期化用コマンドをメモリカードに発行する処理が必要であり、さらにファイル・アロケーション・テーブル（ＦＡＴ）の読み込み処理などを行った後で初めて、メモリカードにデータを書き込むことが可能となる。このため、メモリカードが満杯になった後、別のメモリカードに書き込みを始める前までに行うカード初期化やＦＡＴ読み込みの間は、書き込みが中断されることになる。
【０００８】
たとえ、次に使用するメモリカードを、書き込み直前ではなく、現在使用中のメモリカードが満杯になるよりも前に初期化する場合であっても、上述の従来技術では、複数のメモリカードに同時にアクセスすることはできず、メモリカードへの書き込みと新たなメモリカードの初期化とを同時に処理することはできないため、書き込みは中断される。読み出しの場合にも、同様に、中断が必要になる。
【０００９】
すなわち、上述の従来技術では、メモリカードを入れ替える間の書き込み中断を回避することはできるが、新たなメモリカードが書き込み可能となるまでの間の書き込み中断は避けることができない。なお、ＳＤ（Secure Digital）カードの場合、カードの初期化に要する時間は約１秒間であり、ＦＡＴの読み込み処理と合わせると少なくとも３秒程度の時間が書き込み可能となるまでに必要となる。したがって、３秒分のデータを退避可能な大容量のバッファメモリを用意しなければならない。
【００１０】
前記の問題に鑑み、本発明は、単一のホストコントローラによって複数のカードスロットを制御するホスト機器において、メモリカードの切り替え時における、書き込みまたは読み出し中断時に使用するデータ退避用のバッファメモリを、従来よりも削減することを目的とする。
【課題を解決するための手段】
【００１１】
本発明は、ホスト機器として、ホストコントローラと、メモリカードが挿入可能な複数のカードスロットと、前記ホストコントローラと前記複数のカードスロットとの間に設けられており、前記ホストコントローラの指示に従って前記ホストコントローラからの信号線の接続先を前記複数のカードスロットの間で切り替えることによって、制御対象となるカードスロットを切り替えるスロット切替手段とを備え、前記ホストコントローラは、前記カードスロットに挿入されたメモリカードに対する書き込みまたは読み出しのための準備処理を、複数の単位処理に分割して実行可能であり、かつ、第１のカードスロットに挿入されたメモリカードに対して書き込みまたは読み出しを行っている期間に、第２のカードスロットに新たなメモリカードが挿入された場合において、前記スロット切替手段によって、制御対象を前記第１のカードスロットから前記第２のカードスロットに切り替えるステップ（ａ）と、前記新たなメモリカードに対する前記準備処理を、１単位処理分、実行するステップ（ｂ）と、前記スロット切替手段によって、制御対象を前記第２のカードスロットから前記第１のカードスロットに切り替えるステップ（ｃ）とを含む、新カード準備分割処理を、繰り返し実行するものである。
【００１２】
本発明によると、ホストコントローラは、メモリカードに対する書き込みまたは読み出しのための準備処理を、複数の単位処理に分割して実行可能である。そして、メモリカードに対して書き込みまたは読み出しを行っている期間に、新たなメモリカードに対して、準備処理を１単位処理分実行する新カード準備分割処理が、繰り返し実行される。このため、メモリカードに対する書き込みまたは読み出しと、新たなメモリカードに対する１単位処理分の準備処理とが、交互に行われることになる。これにより、新たなメモリカードに対する準備処理に起因する書き込みまたは読み出し中断時間が分散されることになり、１回あたりの書き込みまたは読み出し中断時間が削減されるので、メモリカードの切り替え時における、書き込みまたは読み出し中断時に使用するデータ退避用のバッファメモリを、従来よりも大幅に削減することができる。
【００１３】
また、前記本発明に係るホスト機器において、前記スロット切替手段は、前記ホストコントローラからの制御信号線の接続先を前記複数のカードスロットの間で切り替える制御用セレクタと、前記ホストコントローラからのデータ転送信号線の接続先を前記複数のカードスロットの間で切り替えるデータ転送用セレクタとを備え、前記制御用セレクタと前記データ転送用セレクタとは、互いに独立して切替動作が可能であるものであり、前記ホストコントローラは、実行する前記新カード準備分割処理において、ステップ（ｂ）における単位処理がデータ転送を伴わないものであるとき、ステップ（ａ）において、前記データ転送用セレクタによって、データ転送信号線の接続先を前記第１のカードスロットに維持しつつ、前記制御用セレクタによって、制御信号線の接続先を前記第１のカードスロットから前記第２のカードスロットに切り替え、ステップ（ｃ）において、前記制御用セレクタによって、制御信号線の接続先を前記第２のカードスロットから前記第１のカードスロットに切り替えるものとしてもよい。
【００１４】
この発明によると、スロット切替手段において、制御信号線の接続先を切り替える制御用セレクタと、データ転送信号線の接続先を切り替えるデータ転送用セレクタとは、互いに独立して切替動作が可能である。そして、新カード準備分割処理において、実行する単位処理がデータ転送を伴わないものであるとき、データ転送信号線の接続先を替えないで、制御信号線の接続先のみが切り替えられる。これにより、データ転送を伴わない単位処理を実行する期間において、メモリカードに対する書き込みまたは読み出しを継続することが可能になり、書き込みまたは読み出し中断時間を削減することができるので、アクセス効率を大幅に向上させることができる。
【発明の効果】
【００１５】
本発明によると、新たなメモリカードに対する準備処理に起因する書き込みまたは読み出し中断時間が分散され、１回あたりの書き込みまたは読み出し中断時間が削減されるので、メモリカードの切り替え時における、書き込みまたは読み出し中断時に使用するデータ退避用のバッファメモリを、従来よりも大幅に削減することができる。
【００１６】
また、本発明によると、データ転送を伴わない単位処理を実行する期間において、メモリカードに対する書き込みまたは読み出しを継続することが可能になり、書き込みまたは読み出し中断時間を削減することができるので、アクセス効率が大幅に向上する。
【発明を実施するための最良の形態】
【００１７】
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。
【００１８】
（実施形態１）
図１は本発明の実施形態１に係るホスト機器の構成を示すブロック図である。図１において、ホスト機器１０は、ホストコントローラ１１と、メモリカードが挿入可能な２個のカードスロット１２ａ，１２ｂと、ホストコントローラ１１とカードスロット１２ａ，１２ｂとの間に設けられたセレクタ１３とを備えている。スロット切替手段としてのセレクタ１３は、ホストコントローラ１１の指示に従って、ホストコントローラからの信号線の接続先をカードスロット１２ａ，１２ｂの間で切り替えることによって、ホストコントローラ１１の制御対象となるカードスロットを切り替える機能を有する。このホスト機器１０は例えば、デジタルビデオカメラに相当し、撮影された録画データを、バッファメモリを介してメモリカード３０ａ，３０ｂに書き込む、といった動作を実行する。またここでは、メモリカード３０ａ，３０ｂはＳＤカードとする。
【００１９】
ホストコントローラ１１とセレクタ１３とは、カード制御用の信号線であるＣＭＤ線２１、データ転送用の信号線であるＤＡＴ線２２、およびセレクタ制御用の信号線であるＳＥＬ線２３によって接続されている。セレクタ１３とカードスロット１２ａとは、ＣＭＤ線２１ａおよびＤＡＴ線２２ａによって接続されており、セレクタ１３とカードスロット１２ｂとは、ＣＭＤ線２１ｂおよびＤＡＴ線２２ｂによって接続されている。また、クロック信号線であるＣＬＫ線２４は、ホストコントローラ１１とカードスロット１２ａ，１２ｂとの間を直接接続している。
【００２０】
ホストコントローラ１１は、ＳＥＬ線２３の信号を操作することにより、ＣＭＤ線２１の接続先をＣＭＤ線２１ａとＣＭＤ線２１ｂのいずれかに切り替えることができる。その際セレクタ１３は、ＣＭＤ線２１とＤＡＴ線２２が常に同じカードスロットに接続されるように、ＤＡＴ線２２の接続先についても、ＤＡＴ線２２ａとＤＡＴ線２２ｂの間で切り替えを行う。
【００２１】
また、メモリカード３０ａがカードスロット１２ａに挿入された場合、ＣＭＤ線２１ａ、ＤＡＴ線２２ａおよびＣＬＫ線２４の全ての信号線がメモリカード３０ａの対応するピンに接続される。同様に、メモリカード３０ｂがカードスロット１２ｂに挿入された場合、ＣＭＤ線２１ｂ、ＤＡＴ線２２ｂおよびＣＬＫ線２４の全ての信号線がメモリカード３０ｂの対応するピンに接続される。
【００２２】
なお、メモリカードの有無の検出は、ＳＥＬ線２３の状態に関係なく、各カードスロットで独立して常時行えることとする。例えば、ホストコントローラ１１は、カードスロットにメモリカードが挿入されたとき、割り込みがかかるように構成されている。あるいは、ホストコントローラ１１は、ポーリングによって、カードスロットへのメモリカードの挿入を検出する。
【００２３】
以上のように構成されたホスト機器１０について、以下、図２のフローチャートを参照して、その動作を説明する。ここでは、第１のカードスロットとしてのカードスロット１２ａに挿入されたメモリカード３０ａ（カード１）に対して録画データの書き込みを行っている期間に、第２のカードスロットとしてのカードスロット１２ｂに新たなメモリカード３０ｂ（カード２）が挿入された場合を想定する。そしてこの場合において、書き込みによってカード１が満杯になり、カード２への書込みを開始するまでのホストコントローラ１１の動作を説明する。
【００２４】
なお、ホストコントローラ１１は、カードスロットに挿入されたメモリカードに対する書き込みのための準備処理を、複数の単位処理に分割して実行可能であるものとする。ここでは、準備処理は、メモリカードの初期化処理であるものとし、また、分割した各単位処理は、コマンド単位の処理であるものとする。また図２において、ステップＳ１０３，Ｓ１０４およびＳ１０５が、新カード準備分割処理に相当する。
【００２５】
（Ｓ１０１）カード１に対してライトコマンドを発行し、録画データを書き込む。なお、この段階でバッファメモリに退避している録画データは全てカード１へ書き込んでおく。
【００２６】
（Ｓ１０２）カード２が挿入されているか否か、および挿入されている場合は初期化が完了しているか否かをチェックする。未挿入または初期化済みの場合はステップＳ１０６を実施する。
【００２７】
（Ｓ１０３）ステップＳ１０２においてカード２の初期化が完了していないとき、ＳＥＬ線２３の信号を変更してセレクタ１３を操作することによって、信号線の接続先をカードスロット１２ｂに切り替える。すなわち、ホストコントローラ１１は、セレクタ１３によって、制御対象をカードスロット１２ａからカードスロット１２ｂに切り替える。
【００２８】
（Ｓ１０４）カード２に対して、直前に発行した初期化コマンドなどカード初期化状態を参照した上で、適切な初期化コマンドを１つ発行する。なお、この間はカード１に対する書き込みは中断されている。
【００２９】
（Ｓ１０５）ＳＥＬ線２３の信号を変更してセレクタ１３を操作することによって、信号線の接続先をカードスロット１２ａに切り替える。すなわち、ホストコントローラ１１は、セレクタ１３によって、制御対象をカードスロット１２ｂからカードスロット１２ａに切り替える。
【００３０】
（Ｓ１０６）カード１が満杯になっているか否かをチェックする。まだ空きがあるときは、ステップＳ１０１に戻って書き込みを継続する。
【００３１】
（Ｓ１０７）ステップＳ１０６においてカード１が満杯であるとき、ＳＥＬ線２３の信号を変更してセレクタ１３を操作することによって、信号線の接続先をカードスロット１２ｂに切り替える。
【００３２】
（Ｓ１０８）カード２の初期化が完了しているか否かをチェックする。なお、カード２が挿入されていないときは、処理を停止する。
【００３３】
（Ｓ１０９）ステップＳ１０８においてカード２の初期化が完了していないときは、カード２の初期化処理を完了させる。
【００３４】
（Ｓ１１０）ステップＳ１０９の実行後、あるいは、ステップＳ１０８においてカード２の初期化が完了しているときは、カード２に対してライトコマンドを発行し、録画データを書き込む。なお実際は、書き込みの前にＦＡＴの読み込み処理などが必要となる。
【００３５】
なお、ＳＤカードの場合、初期化コマンドの１つであるＡＣＭＤ４１について、通常はカードからのＢＵＳＹ解除を待っている間は信号線を接続した状態でＡＣＭＤ４１を繰り返し発行する。ところが本実施形態では、ＡＣＭＤ４１を発行した（Ｓ１０４）後、カードスロット１２ａに接続を切り替え（Ｓ１０５）、再度カードスロット１２ｂに接続を戻して（Ｓ１０３）ＡＣＭＤ４１を発行する（Ｓ１０４）、といった動作を行う。
【００３６】
図３は上述した本実施形態における動作を概念的に示すタイミングチャートである。図３に示すように、カード１への書き込みの途中で、カード２に対して、図２のステップＳ１０３，Ｓ１０４およびＳ１０５からなる新カード準備分割処理Ｐ１１，Ｐ１２，Ｐ１３が、繰り返し実行される。これにより、カード初期化に伴う書き込み中断時間を分散させ、一回あたりの書き込み中断時間を削減することができる。
【００３７】
ここで、下記前提条件の下で、本実施形態の手法を用いることによって削減可能なバッファメモリのサイズを検討する。なお、メモリカードはＳＤカードとする。
【００３８】
＜前提条件＞
（１）カードへの書き込みレートは２ＭＢ／秒
（２）録画データのレートは１．５ＭＢ／秒
（３）カード初期化全体にかかる最大時間は２秒
（４）カード初期化中の最大データ転送サイズは５１２Ｂｙｔｅ
（５）ＦＡＴの読み込みにかかる最大時間は３秒
（６）カードへのクロックは２５ＭＨｚ
（７）カードとの間のデータ転送のバス幅は４ｂｉｔ
（８）録画開始前に１つのカードのみＦＡＴ読み込みなども完了し、すぐにデータの書き込みを開始できる状態になっている。
（９）書き込み中のカードが満杯になるタイミングよりも充分な時間だけ前に別のカードスロットへカードが挿入される。
【００３９】
まず、従来の場合に必要なバッファメモリサイズを計算する。図８に示すように、カード１が満杯になった後、カード２への書き込みを開始するまでのカード切り替え時には、カード初期化処理が必要となる。さらに、その後は通常、ＦＡＴの読み込み処理を行う。前提条件（３），（５）より、これらの処理にかかる最大時間は、次式により５秒となる。
２秒＋３秒＝５秒  …（１）
【００４０】
また、録画データのレートは前提条件（２）より１．５ＭＢ／秒なので、５秒間で生成されるデータは、次式により７．５ＭＢとなる。
１．５ＭＢ／秒×５秒＝７．５ＭＢ  …（２）
【００４１】
通常、バッファメモリとしては最大の時間を要した場合でも対応可能なだけのサイズを用意しておく必要があるため、従来のホスト機器において必要なバッファメモリのサイズは、７．５ＭＢとなる。
【００４２】
次に、本実施形態において必要なバッファメモリのサイズを計算する。本実施形態では、図３に示すように、カード１へ書き込みを行っている間に、カード２の初期化処理を１コマンドずつ並行して行うため、カード満杯後のカード切り替え時以外でも書き込み中断が発生し、バッファメモリを使用する必要がある。書き込み中断時間はカード初期化コマンド１つ分だけ発生し、前提条件（４），（６），（７）より、最大の中断時間は、次式により０．００００４秒となる。
５１２Ｂｙｔｅ×８÷４ｂｉｔ÷２５ＭＨｚ＝０．００００４秒  …（３）
【００４３】
録画データのレートは前提条件（２）より１．５ＭＢ／秒なので、０．００００４秒間で生成されるデータは、次式により０．００００６ＭＢとなる。
１．５ＭＢ／秒×０．００００４秒＝０．００００６ＭＢ  …（４）
【００４４】
また、カード１が満杯になった後、カード２への書込みを開始するまでのカード切り替え時には、ＦＡＴの読み込み処理のみが必要となる。前提条件（５）より、この処理にかかる最大時間は３秒となる。録画データのレートは前提条件（２）より１．５ＭＢ／秒なので、３秒間で生成されるデータは次式により４．５ＭＢとなる。
１．５ＭＢ／秒×３秒＝４．５ＭＢ  …（５）
【００４５】
バッファメモリとしては、上のいずれか大きい方のサイズ分だけ用意しておけばよいため、式（４），（５）より、必要なバッファメモリのサイズは、４．５ＭＢとなる。
【００４６】
以上のように、本実施形態の手法を用いることによって、必要なバッファメモリのサイズが７．５ＭＢから４．５ＭＢとなり、削減されるバッファメモリのサイズは次式により３ＭＢとなる。
７．５ＭＢ−４．５ＭＢ＝３ＭＢ  …（６）
【００４７】
以上のように本実施形態によると、ホストコントローラ１１は、メモリカードに対する書き込みの初期化処理を、コマンド単位の処理に分割して実行可能である。そして、メモリカードに対して書き込みを行っている期間に、新たなメモリカードに対して、初期化処理を１コマンド分実行する新カード準備分割処理が、繰り返し実行される。このため、メモリカードに対する書き込みと、新たなメモリカードに対する１コマンド分の初期化処理とが、交互に行われることになる。これにより、新たなメモリカードに対する初期化処理に起因する書き込み中断時間が分散されることになり、１回あたりの書き込み中断時間が削減されるので、メモリカードの切り替え時における、書き込み中断時に使用するデータ退避用のバッファメモリを、従来よりも大幅に削減することができる。
【００４８】
（実施形態２）
図４は本発明の実施形態２に係るホスト機器の構成を示すブロック図であり、図１と共通の構成要素には図１と同一の符号を付している。図４において、ホスト機器４０は、ホストコントローラ４１と、メモリカードが挿入可能な２個のカードスロット１２ａ，１２ｂと、ホストコントローラ４１とカードスロット１２ａ，１２ｂとの間に設けられたＣＭＤセレクタ４３ａおよびＤＡＴセレクタ４３ｂとを備えている。制御用セレクタとしてのＣＭＤセレクタ４３ａは、ホストコントローラ４１からの制御信号線すなわちＣＭＤ線２１の接続先を、カードスロット１２ａ，１２ｂの間で切り替える。データ転送用セレクタとしてのＤＡＴセレクタ４３ｂは、ホストコントローラ４１からのデータ転送信号線すなわちＤＡＴ線２２の接続先を、カードスロット１２ａ，１２ｂの間で切り替える。ＣＭＤセレクタ４３ａおよびＤＡＴセレクタ４３ｂによって、ホストコントローラ４１の制御対象となるカードスロットを切り替える機能を有するスロット切替手段４３が構成されている。このスロット切替手段４３は、ホストコントローラ１１の指示に従って、ホストコントローラ１１からの信号線の接続先をカードスロット１２ａ，１２ｂの間で切り替える。実施形態１と同様に、ホスト機器４０は例えば、デジタルビデオカメラに相当し、撮影された録画データを、バッファメモリを介してメモリカード３０ａ，３０ｂに書き込む、といった動作を実行する。またここでは、メモリカード３０ａ，３０ｂはＳＤカードとする。
【００４９】
ホストコントローラ４１とＣＭＤセレクタ４３ａとは、ＣＭＤ線２１、およびセレクタ制御用の信号線であるＳＥＬ線５３ａによって接続されている。そしてＣＭＤセレクタ４３ａとカードスロット１２ａとは、ＣＭＤ線２１ａによって接続されており、ＣＭＤセレクタ４３ａとカードスロット１２ｂとは、ＣＭＤ線２１ｂによって接続されている。同様に、ホストコントローラ４１とＤＡＴセレクタ４３ｂとは、ＤＡＴ線２２、およびセレクタ制御用の信号線であるＳＥＬ線５３ｂによって接続されている。そしてＤＡＴセレクタ４３ｂとカードスロット１２ａとは、ＤＡＴ線２２ａによって接続されており、ＤＡＴセレクタ４３ｂとカードスロット１２ｂとは、ＤＡＴ線２２ｂによって接続されている。また、ＣＬＫ線２４は、ホストコントローラ４１とカードスロット１２ａ，１２ｂとの間を直接接続している。
【００５０】
ホストコントローラ４１は、ＳＥＬ線５３ａの信号を操作することにより、ＣＭＤ線２１の接続先をＣＭＤ線２１ａとＣＭＤ線２１ｂのいずれかに切り替えることができる。また、ホストコントローラ４１は、ＳＥＬ線５３ｂの信号を操作することにより、ＤＡＴ線２２の接続先をＤＡＴ線２２ａとＤＡＴ線２２ｂのいずれかに切り替えることができる。なお、ＳＥＬ線５３ａの信号操作およびＳＥＬ線５３ｂの信号操作はそれぞれ独立したタイミングで行える。
【００５１】
また、メモリカード３０ａがカードスロット１２ａに挿入された場合、ＣＭＤ線２１ａ、ＤＡＴ線２２ａおよびＣＬＫ線２４の全ての信号線がメモリカード３０ａの対応するピンに接続される。同様に、メモリカード３０ｂがカードスロット１２ｂに挿入された場合、ＣＭＤ線２１ｂ、ＤＡＴ線２２ｂおよびＣＬＫ線２４の全ての信号線がメモリカード３０ｂの対応するピンに接続される。
【００５２】
なお、実施形態１と同様に、メモリカードの有無の検出は、ＳＥＬ線の状態に関係なく各カードスロットで独立して常時行えることとする。
【００５３】
以上のように構成されたホスト機器４０について、以下、図５のフローチャートを参照して、その動作を説明する。ここでは、第１のカードスロットとしてのカードスロット１２ａに挿入されたメモリカード３０ａ（カード１）に対して録画データの書き込みを行っている期間に、第２のカードスロットとしてのカードスロット１２ｂに新たなメモリカード３０ｂ（カード２）が挿入された場合を想定する。そしてこの場合において、書き込みによってカード１が満杯になり、カード２への書き込みを開始するまでのホストコントローラ４１の動作を説明する。
【００５４】
なお、実施形態１と同様に、ホストコントローラ４１は、カードスロットに挿入されたメモリカードに対する書き込みのための準備処理を、複数の単位処理に分割して実行可能であるものとする。ここでは、準備処理は、メモリカードの初期化処理であるものとし、また、分割した各単位処理は、コマンド単位の処理であるものとする。また図５において、ステップＳ２０３，Ｓ２０４およびＳ２０５が、新カード準備分割処理に相当する。
【００５５】
図５に示す動作は、基本的には、図２に示す動作と同様である。異なるのは、実行する新カード準備分割処理において、ステップＳ２０４における単位処理がデータ転送を伴わないものであるとき（ここでは、発行するコマンドがＤＡＴ線を使用しないものであるとき）、ステップＳ２０３において、ＤＡＴ線２２の接続先を切り替えないで、ＣＭＤ線２１の接続先のみをカードスロット１２ａからカードスロット１２ｂに切り替える、という点である。
【００５６】
（Ｓ２０１）カード１に対してライトコマンドを発行し、録画データを書き込む。なお、この段階でバッファメモリに退避している録画データは全てカード１へ書き込んでおく。
【００５７】
（Ｓ２０２）カード２が挿入されているか否か、および挿入されている場合は初期化が完了しているか否かをチェックする。未挿入または初期化済みの場合はステップＳ２０６を実施する。
【００５８】
（Ｓ２０３）ステップＳ２０２においてカード２の初期化が完了していないとき、ＳＥＬ線５３ａの信号を変更してＣＭＤセレクタ４３ａを操作することによって、ＣＭＤ線２１の接続先をカードスロット１２ｂに切り替える。この場合、ステップＳ２０４において発行する初期化コマンドがＤＡＴ線を使用しないコマンドであるときは、ＤＡＴ線２２の接続先はカードスロット１２ａに維持したままにする。一方、ステップＳ２０４において発行する初期化コマンドがＤＡＴ線を使用するコマンドであるときは、さらに、ＳＥＬ線５３ｂの信号を変更してＤＡＴセレクタ４３ｂを操作することによって、ＤＡＴ線２２の接続先もカードスロット１２ｂに切り替える。
【００５９】
（Ｓ２０４）カード２に対して、直前に発行した初期化コマンドなどのカード初期化状態を参照した上で、適切な初期化コマンドを１つ発行する。なお、発行する初期化コマンドがＤＡＴ線を使用しないコマンドであるときは、この間はカード１に対する書き込みは中断されずに継続されている。一方、発行する初期化コマンドがＤＡＴ線を使用するコマンドであるときは、この間はカード１に対する書き込みは中断されている。
【００６０】
（Ｓ２０５）ＳＥＬ線５３ａの信号を変更してＣＭＤセレクタ４３ａを操作することによって、ＣＭＤ線２１の接続先をカードスロット１２ａに切り替える。ただし、ステップＳ２０３において、ＤＡＴ線２２の接続先もカードスロット１２ｂに切り替えていた場合は、さらにＳＥＬ線５３ｂの信号を変更してＤＡＴセレクタ４３ｂを操作することによって、ＤＡＴ線２２の接続先もカードスロット１２ａに切り替える。
【００６１】
（Ｓ２０６）カード１が満杯になっているか否かをチェックする。まだ空きがあるときは、ステップＳ２０１に戻って書き込みを継続する。
【００６２】
（Ｓ２０７）ステップＳ２０６においてカード１が満杯であるとき、ＳＥＬ線５３ａ，５３ｂを操作して信号線の接続先をカードスロット１２ｂに切り替える。
【００６３】
（Ｓ２０８）カード２の初期化が完了しているか否かをチェックする。なお、カード２が挿入されていないときは、処理を停止する。
【００６４】
（Ｓ２０９）ステップＳ２０８においてカード２の初期化が完了していないときは、カード２の初期化処理を完了させる。
【００６５】
（Ｓ２１０）ステップＳ２０９の実行後、あるいは、ステップＳ２０８においてカード２の初期化が完了しているときは、カード２に対してライトコマンドを発行し、録画データを書き込む。なお実際は、カードへの書き込みの前にＦＡＴの読み込み処理などが必要となる。
【００６６】
図６は上述した本実施形態における動作を概念的に示すタイミングチャートである。図６に示すように、カード１への書き込みの途中で、カード２に対して、図５のステップＳ２０３，Ｓ２０４およびＳ２０５からなる新カード準備分割処理Ｐ２１，Ｐ２２，Ｐ２３が、繰り返し実行される。そして、新カード準備分割処理Ｐ２１，Ｐ２２では、ステップＳ２０４における単位処理がデータ転送を伴わないものであるため、ＤＡＴ線の切替が行われておらず、したがって、この期間、カード１への書き込みが中断されずに継続して行われている。すなわち、本実施形態によると、カード１への書き込み処理におけるデータ転送と同時に、データ転送を伴わない単位処理を行う新カード準備分割処理が実行可能となるので、書き込み中断時間を削減することができる。
【００６７】
ここで、実施形態１で示した前提条件の下で、本実施形態２の手法を用いることによって削減可能なバッファメモリのサイズを検討する。本実施形態では図６に示すように、実施形態１と同じく、カード１へ書き込みを行っている間にカード２の初期化処理を１コマンドずつ並行して行っており、削減可能なバッファメモリのサイズは実施形態１と同じになる。すなわち、本実施形態の手法を用いることによって、必要なバッファメモリのサイズを３ＭＢ分削減することができる。本実施形態が実施形態１と異なる点は、初期化用コマンドのうちＤＡＴ線を使用しないコマンドについては、書き込みと同時に実行できるため、アクセス効率が向上している点である。
【００６８】
以上のように本発明によると、スロット切替手段４０において、ＣＭＤ線の接続先を切り替えるＣＭＤセレクタ４３ａと、ＤＡＴ線の接続先を切り替えるＤＡＴセレクタ４３ｂとは、互いに独立して切替動作が可能である。そして、新カード準備分割処理において、実行する単位処理がデータ転送を伴わないものであるとき、ＤＡＴ線の接続先を替えないで、ＣＭＤ線の接続先のみが切り替えられる。これにより、データ転送を伴わないコマンドを実行する期間において、メモリカードに対する書き込みを継続することが可能になり、書き込み中断時間を削減することができるので、アクセス効率を大幅に向上させることができる。
【００６９】
図７は本発明に係るホスト機器に相当するデジタルビデオカメラの一例の外観図である。図７のデジタルビデオカメラ１は、２個のカードスロット２ａ，２ｂを備えており、録画データをカードスロット２ａ，２ｂに挿入されたメモリカード３ａ，３ｂに記録することができる。
【００７０】
なお、上述の実施形態１，２では、複数の単位処理に分割して実行する準備処理として、カードの初期化処理のみを対象としたが、ＦＡＴの読み込みなどその他の処理に関しても、同様に分割して処理するようにしてもよい。これにより、さらに書き込み中断時間を短縮することができ、バッファメモリのサイズを削減することができる。
【００７１】
また、上述の実施形態１，２では、各単位処理において１つのコマンドを実行するものとしたが、本発明はこれに限られるものではなく、例えば、各単位処理において複数個のコマンドを実行するようにしてもよい。
【００７２】
また、上述の実施形態１，２では、各カードスロットへのクロック線は共通であり切り替えられない構成になっていたが、ＣＭＤ線やＤＡＴ線と同様に、セレクタによって切り替え可能にし、非接続カードにはクロックが供給されない形態にすることも可能である。ただしこの場合、ＳＤカードのＡＣＭＤ４１については、カード２のＢＵＳＹ解除待ち中にカード１に切り替えている間は、カード２にクロックが供給されず、カード内部での初期化処理が実施されない。このため、初期化完了までに時間がかかることになる。
【００７３】
また、上述の実施形態１および２では、メモリカードがＳＤカードである場合について説明したが、本発明はこれに限られるものではなく、例えば、コンパクトフラッシュ（登録商標）カード、スマートメディアカード、メモリースティック、ｘＤピクチャーカード等その他のメモリカードについても同様の効果が得られる。
【００７４】
また、上述の実施形態１および２では、新たなメモリカードが挿入されたタイミングで、新カード準備分割処理の実行を開始するものとしたが、本発明において、新カード準備分割処理の実行を開始するタイミングは、これに限られるものではない。書き込みを行っているメモリカードが満杯になるよりも充分な時間だけ前のタイミングであれば、任意のタイミングで実施可能である。例えば、新たなメモリカードが挿入された後、書き込みを行っているメモリカードの空き容量が所定値以下になったタイミングで、新カード準備分割処理の実行を開始するようにすればよい。
【００７５】
また、上述の実施形態２では、メモリカードへの書き込みを中断せずに行う処理としてカード初期化のみを対象としたが、カードステータスを取得するコマンドＣＭＤ１３などＤＡＴ線を使用しない全てのコマンドに関して、同様の手法によって書き込みと同時に実施することができる。
【００７６】
また、上述の実施形態１および２では、機器で生成したデータをメモリカードへ書き込む場合を対象としたが、メモリカード内のデータを読み出して機器で使用する場合であっても、同様の手法が適用可能である。すなわち、ホストコントローラは、カードスロットに挿入されたメモリカードに対する読み出しのための準備処理を、複数の単位処理に分割して実行可能とする。そして、メモリカードからの読み出しを行っている期間に新たなメモリカードが挿入された場合において、スロット切替、１単位処理分の準備処理の実行およびスロット切替を行う新カード準備分割処理を、繰り返し実行する。これにより、読み出し中断時間を分散させることができ、読み出し中断中に使用するデータの先読み用バッファメモリのサイズを削減することが可能である。これは例えば、メモリカード内の動画データを途切れることなくホスト機器上で再生する場合などに有用である。
【００７７】
またこの場合も、新カード準備分割処理の実行を開始するタイミングは、新たなメモリカードが挿入されたタイミングでよい。あるいは、読み出しを行っているメモリカードの未読み出し容量がなくなるよりも充分な時間だけ前のタイミングであれば、任意のタイミングで実施可能である。例えば、新たなメモリカードが挿入された後、読み出しを行っているメモリカードの未読み出し容量が所定値以下になったタイミングで、新カード準備分割処理の実行を開始するようにすればよい。
【００７８】
また、上述の実施形態１および２では、カードスロットの個数が２つの場合について説明を行ったが、カードスロットが３個以上の場合においても、本発明は同様に実施可能である。
【産業上の利用可能性】
【００７９】
本発明は、単一ホストコントローラによって複数のメモリカードを制御するホスト機器全般に広く適用可能であり、特に、動画などの大容量データをカードに記録する機器において有用である。
【図面の簡単な説明】
【００８０】
【図１】本発明の実施形態１に係るホスト機器の構成を示す図である。
【図２】本発明の実施形態１におけるカード切り替え前後のホストコントローラの処理を表すフローチャートである。
【図３】本発明の実施形態１におけるカード切り替え前後の動作を概念的に示すタイミングチャートである。
【図４】本発明の実施形態２に係るホスト機器の構成を示す図である。
【図５】本発明の実施形態２におけるカード切り替え前後のホストコントローラの処理を表すフローチャートである。
【図６】本発明の実施形態２におけるカード切り替え前後の動作を概念的に示すタイミングチャートである。
【図７】本発明に係るホスト機器に相当するデジタルビデオカメラの外観図である。
【図８】従来のカード切り替え前後の動作を示すタイミングチャートである。
【符号の説明】
【００８１】
１  デジタルビデオカメラ
２ａ，２ｂ  カードスロット
３ａ，３ｂ  メモリカード
１０，４０  ホスト機器
１１，４１  ホストコントローラ
１２ａ，１２ｂ  カードスロット
１３  セレクタ（スロット切替手段）
２１，２１ａ，２１ｂ  ＣＭＤ線（制御信号線）
２２，２２ａ，２２ｂ  ＤＡＴ線（データ転送信号線）
２３，５３ａ，５３ｂ  ＳＥＬ線
２４  ＣＬＫ線
３０ａ，３０ｂ  メモリカード
４３  スロット切替手段
４３ａ  ＣＭＤセレクタ（制御用セレクタ）
４３ｂ  ＤＡＴセレクタ（データ転送用セレクタ）
Ｓ１０３，Ｓ１０４，Ｓ１０５  新カード準備分割処理
Ｓ２０３，Ｓ２０４，Ｓ２０５  新カード準備分割処理
Ｐ１１，Ｐ１２，Ｐ１３，Ｐ２１，Ｐ２２，Ｐ２３  新カード準備分割処理
【図１】
2009054103.tif 000003
【図２】
2009054103.tif 000004
【図３】
2009054103.tif 000005
【図４】
2009054103.tif 000006
【図５】
2009054103.tif 000007
【図６】
2009054103.tif 000008
【図７】
2009054103.tif 000009
【図８】
2009054103.tif 000010