(57)【要約】【課題】転送要求コマンドを発行してデータ転送を要求するホスト装置と、開始命令を受けてから終了命令を受けるまで転送動作を実行するメモリカードとの間のデータ転送を制御するメモリコントローラにおいて、ホスト装置とメモリカードとの同期を取りつつ、読出転送レートに影響を及ぼすオーバーヘッドの発生を抑えることを目的とする。【解決手段】転送動作の実行によりメモリカードから転送されたデータ量がホスト装置からのコマンドにより指定されるデータ量に達するとメモリカードへのクロック供給を停止し、その後メモリカードへのクロック信号供給を停止した状態で受け付けられた後続のコマンドが先行のコマンドに応じたデータ転送の終了アドレスの次のアドレスを開始アドレスとして指定している場合、メモリカードへのクロック信号供給を再開するクロック開始終了制御部１０を備える。【選択図】    図３
2006127492.tif 000002
【特許請求の範囲】
【請求項１】
データ量を指定したコマンドを発行してデータ転送を要求するホスト装置と、転送開始命令を受けてから転送終了命令を受けるまで転送動作を実行するメモリカードとの間のデータ転送を制御するメモリカードコントローラであって、
ホスト装置からのコマンドを受け付ける受付手段と、
転送動作の実行により転送されたデータ量が、データ転送を要求する先行コマンドにより指定されるデータ量に達すると、メモリカードにおける転送動作を一時停止させる一時停止手段と、
メモリカードの転送動作を一時停止させた状態にあるとき受け付けられた後続のコマンドが、前記先行コマンドに応じたデータ転送の終了アドレスの次のアドレスに対するデータ転送を要求するコマンドである場合、前記一時停止させた状態からメモリカードにおける転送動作を再開させる再開手段と
を備えることを特徴とするメモリカードコントローラ。
【請求項２】
前記データ転送とは、メモリカードからのデータ読み出しであり、
前記メモリカードにおける転送動作とは、データ読み出し動作であることを特徴とする請求項１に記載のメモリカードコントローラ。
【請求項３】
前記メモリカードにおけるデータ読み出し動作の一時停止及び再開は、メモリカードへのクロック信号の供給停止及び再供給により制御される
ことを特徴とする請求項２に記載のメモリカードコントローラ。
【請求項４】
前記メモリカードコントローラは更に、転送開始命令、及び転送終了命令の発行により、メモリカードにおけるデータ読み出し動作の開始終了を制御する命令発行手段を備え、
ここで、前記一時停止させた状態で所定時間経過した場合、前記再開手段は、クロック信号の供給を再開して一時停止状態を解除させ、前記命令発行手段は、転送終了命令を発行してメモリカードにおけるデータ読み出し動作を終了させる
ことを特徴とする請求項３に記載のメモリカードコントローラ。
【請求項５】
前記後続のコマンドがメモリカードへのアクセスを必要としないコマンドである場合、前記一時停止手段は、前記一時停止させた状態を維持する
ことを特徴とする請求項３に記載のメモリカードコントローラ。
【請求項６】
前記メモリカードコントローラは更に、転送開始命令、及び転送終了命令の発行により、メモリカードにおける転送動作の開始終了を制御する命令発行手段を備え、
ここで、前記後続のコマンドが、データ書き込み、及び、前記先行のコマンドに応じたデータ読み出しの終了アドレスと連続しないアドレスからのデータ読み出しの何れかを要求するコマンドである場合、前記再開手段は、クロック信号の供給を再開して一時停止状態を解除させ、前記命令発行手段は、転送終了命令を発行してメモリカードにおけるデータ読み出し動作を終了させた後に、前記後続のコマンドに応じた転送開始命令を発行する
ことを特徴とする請求項３に記載のメモリカードコントローラ。
【請求項７】
前記データ転送とは、メモリカードへのデータ書き込みであり、
前記メモリカードにおける転送動作とは、データ書き込み動作である
ことを特徴とする請求項１に記載のメモリカードコントローラ。
【請求項８】
前記メモリカードにおけるデータ書き込み動作の一時停止及び再開は、メモリカードへの書き込みデータ供給の停止及び再供給により制御される
ことを特徴とする請求項７に記載のメモリカードコントローラ。
【請求項９】
前記メモリカードコントローラは更に、前記一時停止させた状態で所定時間経過した場合に、転送終了命令を発行してメモリカードにおけるデータ書き込み動作を終了させる命令発行手段を備える
ことを特徴とする請求項８に記載のメモリカードコントローラ。
【請求項１０】
前記後続のコマンドがメモリカードへのアクセスを必要としないコマンドである場合、前記一時停止手段は、前記一時停止させた状態を維持する
ことを特徴とする請求項８に記載のメモリカードコントローラ。
【請求項１１】
前記メモリカードコントローラは更に、前記後続のコマンドが、データ読み出し、及び、前記先行のコマンドに応じたデータ書き込みの終了アドレスと連続しないアドレスからのデータ書き込みの何れかを要求するコマンドである場合、転送終了命令を発行してメモリカードにおけるデータ書き込み動作を終了させた後に、前記後続のコマンドに応じた転送開始命令を発行する命令発行手段を備える
ことを特徴とする請求項８に記載のメモリカードコントローラ。
【請求項１２】
請求項１に記載のメモリカードコントローラと、
ホスト装置と接続する第１インターフェース手段と、
１枚以上のメモリカードを取り付ける第２インターフェース手段とを備え、
ここで、前記メモリカードコントローラは、第１インターフェース手段から入力されるコマンドに基づいて、第２インターフェース手段に取り付けられたメモリカードへアクセスすること
ことを特徴とするメモリカードドライブ装置。
【請求項１３】
データ量を指定したコマンドを発行してデータ転送を要求するホスト装置と、転送開始命令を受けてから転送終了命令を受けるまで転送動作を実行するメモリカードとの間のデータ転送を制御するメモリカードコントローラのプログラムであって、
転送動作の実行により転送されたデータ量が、先行コマンドにより指定されるデータ量に達すると、メモリカードにおける転送動作を一時停止させるステップと、
メモリカードの転送動作を一時停止させた状態にあるとき、前記先行コマンドに応じたデータ転送の終了アドレスの次のアドレスに対するデータ転送を要求する後続のコマンドが受け付けられた場合に、前記一時停止させた状態からメモリカードにおける転送動作を再開させるステップと
をメモリカードコントローラのプロセッサに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホスト装置とメモリカードとの間のデータ転送を制御するメモリカードドライブ装置に関し、特に、大容量データの転送を制御する技術の改良に関する。
【背景技術】
【０００２】
プロフェッショナル用途の映像機器分野では、大容量の高品質動画像データに対応することが要請される。そこで、プロフェッショナル用途の映像機器で記録媒体としてメモリカードを用いる場合には、複数のメモリカードを連装することができるメモリカードドライブ装置の使用が提案されている。複数のメモリカードを連装することにより、メモリカードアレイを形成する技術についての先行技術としては、特許文献１に記載されているものがある。
【０００３】
以下に、メモリカードとしてＳＤメモリーカード（以下、「ＳＤカード」という。）を用いたＰＣカード形態のメモリカードドライブ装置について説明する。
ＰＣカード形態のメモリカードドライブ装置を用いる場合、映像機器（以下、「ホスト装置」という。）とメモリカードドライブ装置とは、カードバスを介して接続し、ホスト装置からは、一般のＰＣカードに対するアクセスと同一手順で、ＡＴＡコマンドを用いてデータの書き込み、及び読み出し（以下、まとめて「データ転送」という。）が要求される。通常、ＡＴＡコマンドによる制御では、データ転送を開始する先頭論理アドレスと転送セクタ数が指示される。
【０００４】
一方、ＳＤカードへのデータ転送指示には、ＳＤコマンドを用いる必要がある。ＳＤコマンドによる制御では、転送の開始を指示するＳＤコマンド（以下、「転送開始命令」）が発行されてから、転送の終了を指示するＳＤコマンド（以下、「転送終了命令」）が発行されるまでの期間に、継続してデータ転送が実行される。
このような装置間のインターフェースの違いから、メモリカードドライブ装置では、図８に示すようにＳＤカードの動作を制御する必要がある。
【０００５】
図８は、ＰＣカード形態のメモリカードドライブ装置によるメモリカードからのデータ読み出し動作の一例を示すタイミングチャートである。
ホスト装置からは、（ａ）の段に示すＡ[１]、Ａ[２]、Ａ[３]、Ａ[４]のタイミングで、メモリカードドライブ装置へＡＴＡコマンドが発行される。これに応じてメモリカードドライブ装置では、（ｃ）の段に示すように、ＡＴＡコマンドを解釈してＳ[１]、Ｓ[２]、Ｓ[３]、Ｓ[４]のタイミングで転送開始命令と読み出し先頭論理アドレスとをＳＤカードへアサートする。
【０００６】
転送開始命令を受けたＳＤカードでは、（ｅ）の段で黒く塗り潰したタイミングで、先頭論理アドレスを物理アドレスへ変換し、（ｆ）の段に示すタイミングで、内部の不揮発性メモリに記録されているデータを、変換した物理アドレスから読み出して転送する。
ＡＴＡコマンドで要求されたデータ量のデータがＳＤから転送されると、メモリカードドライブ装置では、（ｃ）の段で黒く塗り潰したタイミングで、ＳＤカードに対して、転送終了命令を発行してＳＤカードの読み出し動作を終了させると共に、（ｂ）の段に示すように、ホスト装置へ転送終了割り込みを発行する。これにより、ホスト装置とＳＤカードとで同期してデータ転送動作を実行することができる。
【０００７】
このように、ホスト装置からデータ転送を要求するＡＴＡコマンドが発行される毎に、メモリカードドライブ装置が、転送開始命令、及び転送終了命令のＳＤコマンドを適したタイミングで発行してＳＤカードの動作を制御することで、ホスト装置からは、メモリカードドライブ装置に取り付けられた複数のＳＤカードを、１枚のＰＣカードと同一視してデータ転送を実行することができる。
【特許文献１】特開2002-189992号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、メモリカードドライブ装置でＡＴＡコマンドをＳＤコマンドへ変換する処理と、メモリカードで論理アドレスを物理アドレスへ変換する処理は、ＡＴＡコマンドが発行される度に必要となるため、ＳＤカードから直接データを読み出す場合に比較して、転送レートを劣化させるオーバーヘッドとなっている。
ところで、高品質な動画データは、そのデータ量が数百メガバイトから数ギガバイトにもなることがある。本来ＳＤコマンドを用いた制御では、連続する領域に書き込まれている大容量データを読み出す場合、大容量データの先頭アドレスを指定して転送開始命令を発行し、データの末尾まで読み出したときに転送終了命令を発行すればよい。
【０００９】
しかし、ＡＴＡコマンドを用いた制御では、一度に転送可能なデータが最大６４ｋバイトに制限される。そのため、このような大容量のデータをＳＤカードから読み出そうとすると、ホスト装置は、何百、何千個ものＡＴＡコマンドを繰り返し発行することとなる。ここで、複数のＡＴＡコマンドにおいて、メモリカードの連続する領域に対するデータ転送が要求されていたとしても、ホスト装置とメモリカードとの読み出し動作を同期させるために、メモリカードドライブ装置は、６４ｋバイトのデータが読み出される毎に、メモリカードにおけるデータ転送動作を終了させる必要がある。
【００１０】
この結果、大容量データの読み出しでは、ＳＤカードから直接データを読み出す場合に比べて、転送レートにおけるオーバーヘッドの影響が顕著となるという問題がある。特に、連装した複数のメモリカードをアレイ化して、データ読み出しを並列化する場合、１個のＡＴＡコマンドに応じて各メモリカードから読み出されるデータ長は、連装数が多いほど更に小さくなるので、オーバーヘッドが転送レートに及ぼす影響はより大きなものとなる。
【００１１】
本発明の目的は、読み出し可能なデータ長が短いコマンドを用いてホスト装置から大容量データの読み出しが指示される場合に、ホスト装置とメモリカードとの同期を取りつつ、オーバーヘッドが読み出し転送レートに及ぼす影響を抑えることが出来るメモリカードコントローラ、メモリカードドライブ装置、及びプログラムを提供することである。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、本発明に係るメモリカードコントローラは、データ量を指定したコマンドを発行してデータ転送を要求するホスト装置と、転送開始命令を受けてから転送終了命令を受けるまで転送動作を実行するメモリカードとの間のデータ転送を制御するメモリカードコントローラであって、ホスト装置からのコマンドを受け付ける受付手段と、転送動作の実行により転送されたデータ量が、データ転送を要求する先行コマンドにより指定されるデータ量に達すると、メモリカードにおける転送動作を一時停止させる一時停止手段と、メモリカードの転送動作を一時停止させた状態にあるとき受け付けられた後続のコマンドが、前記先行コマンドに応じたデータ転送の終了アドレスの次のアドレスに対するデータ転送を要求するコマンドである場合、前記一時停止させた状態からメモリカードにおける転送動作を再開させる再開手段とを備えることを特徴としている。
【発明の効果】
【００１３】
上記の構成によって、本発明に係るメモリカードコントローラは、連続する領域に対するデータ転送を要求するコマンドが、ホスト装置から続けて発行される場合、コマンドを受け付ける度に転送開始命令を発行する必要がないので、メモリカードコントローラにおけるコマンドの変換、及びメモリカードにおけるアドレス変換等のオーバーヘッドとなる処理を低減することができる。その一方で、先行コマンドに応じたデータ転送が完了してから、ホスト装置で後続のコマンドの発行処理がなされている間は、メモリカードにおけるデータ転送動作が一時停止しているので、ホスト装置とメモリカードとのデータ転送動作の同期が失われることがない。
【００１４】
すなわち、ホスト装置とメモリカードとの同期を取りつつ、オーバーヘッドとなる処理が転送レートに及ぼす影響を抑えることが出来る。
また、前記データ転送とは、メモリカードからのデータ読み出しであり、前記メモリカードにおける転送動作とは、データ読み出し動作であるとしてもよい。
これによって、メモリカードからのデータ読み出し時に、ホスト装置とメモリカードとの同期を取りつつ、メモリカードに対する転送開始命令の発行数を減らすことができるので、オーバーヘッドが読み出し転送レートに及ぼす影響を抑えることが出来る。
【００１５】
また、前記メモリカードにおけるデータ読み出し動作の一時停止及び再開は、メモリカードへのクロック信号の供給停止及び再供給により制御されるとしてもよい。
これによって、メモリカードにおける読み出し動作の一時停止、及び再開を高速に実現することが可能なる。従って、読み出し動作の一時停止、及び再開の処理が、転送レートへ及ぼす悪影響を抑えることがきる。
【００１６】
また、前記メモリカードコントローラは更に、転送開始命令、及び転送終了命令の発行により、メモリカードにおけるデータ読み出し動作の開始終了を制御する命令発行手段を備え、ここで、前記一時停止させた状態で所定時間経過した場合、前記再開手段は、クロック信号の供給を再開して一時停止状態を解除させ、前記命令発行手段は、転送終了命令を発行してメモリカードにおけるデータ読み出し動作を終了させるとしてもよい。
【００１７】
メモリカードの連続する領域に記録されている大容量のデータを読み出す場合には、ホスト装置から頻繁にコマンドが発行されることが想定される。そこで、ホスト装置からコマンドが発行されない状態が所定時間以上続けば、大容量のデータの読み出しが終了したと仮定し、一時停止させていた読み出し動作を終了させる。その後、先行するコマンドと連続性のないコマンドが発行されるであろうが、読み出し動作を終了させてあるので、このようなコマンドを迅速に処理することができる。また、読み出し動作を一時停止させた状態が所定時間以上に継続されることがなく、メモリカードの動作が安定する。
【００１８】
また、前記後続のコマンドがメモリカードへのアクセスを必要としないコマンドである場合、前記一時停止手段は、前記一時停止させた状態を維持するとしてもよい。
これによって、更に次のコマンドが、先行コマンドに応じたデータ転送の終了アドレスと連続したアドレスに対するデータ転送を要求するコマンドである場合に、メモリカードに対する転送開始命令の発行数を減らすことができるので、オーバーヘッドが転送レートに及ぼす影響を抑えることが出来る。
【００１９】
また、前記メモリカードコントローラは更に、転送開始命令、及び転送終了命令の発行により、メモリカードにおける転送動作の開始終了を制御する命令発行手段を備え、ここで、前記後続のコマンドが、データ書き込み、及び、前記先行のコマンドに応じたデータ読み出しの終了アドレスと連続しないアドレスからのデータ読み出しの何れかを要求するコマンドである場合、前記再開手段は、クロック信号の供給を再開して一時停止状態を解除させ、前記命令発行手段は、転送終了命令を発行してメモリカードにおけるデータ読み出し動作を終了させた後に、前記後続のコマンドに応じた転送開始命令を発行するとしてもよい。
【００２０】
これによって、先行コマンドに応じたデータ転送の終了アドレスと連続したアドレスに対するデータ転送を要求するコマンドが続けて発行されない場合にも、転送終了命令の発行のみで対処できるので、大幅な転送レートの低下を引き起こすことがない。
また、前記データ転送とは、メモリカードへのデータ書き込みであり、前記メモリカードにおける転送動作とは、データ書き込み動作であるとしてもよい。
【００２１】
これによって、メモリカードへのデータ書き込み時に、ホスト装置とメモリカードとの同期を取りつつ、メモリカードに対する転送開始命令の発行数を減らすことができるので、オーバーヘッドが書き込み転送レートに及ぼす影響を抑えることが出来る。
また、前記メモリカードにおけるデータ書き込み動作の一時停止及び再開は、メモリカードへの書き込みデータ供給の停止及び再供給により制御されるとしてもよい。
【００２２】
これによって、メモリカードにおける書き込み動作の一時停止、及び再開を高速に実現することが可能なる。従って、書き込み動作の一時停止、及び再開の処理が、転送レートへ及ぼす悪影響を抑えることがきる。
また、前記メモリカードコントローラは更に、前記一時停止させた状態で所定時間経過した場合に、転送終了命令を発行してメモリカードにおけるデータ書き込み動作を終了させる命令発行手段を備えるとしてもよい。
【００２３】
メモリカードの連続する領域へ大容量のデータを書き込む場合には、ホスト装置から頻繁にコマンドが発行されることが想定される。そこで、ホスト装置からコマンドが発行されない状態が所定時間以上続けば、大容量のデータの書き込みが終了したと仮定し、書き込み動作を一時停止させた状態を終了させる。その後、先行するコマンドと連続性のないコマンドが発行されるであろうが、書き込み動作を一時停止させた状態を終了させてあるので、このようなコマンドを迅速に処理することができる。また、書き込み動作を一時停止させた状態が所定時間以上に継続されることがなく、メモリカードの動作が安定する。
【００２４】
また、前記後続のコマンドがメモリカードへのアクセスを必要としないコマンドである場合、前記一時停止手段は、前記一時停止させた状態を維持するとしてもよい。
これによって、更に次のコマンドが、先行コマンドに応じたデータ転送の終了アドレスと連続したアドレスに対するデータ転送を要求するコマンドである場合に、メモリカードに対する転送開始命令の発行数を減らすことができるので、オーバーヘッドが転送レートに及ぼす影響を抑えることが出来る。
【００２５】
また、前記メモリカードコントローラは更に、前記後続のコマンドが、データ読み出し、及び、前記先行のコマンドに応じたデータ書き込みの終了アドレスと連続しないアドレスからのデータ書き込みの何れかを要求するコマンドである場合、転送終了命令を発行してメモリカードにおけるデータ書き込み動作を終了させた後に、前記後続のコマンドに応じた転送開始命令を発行する命令発行手段を備えるとしてもよい。
【００２６】
これによって、先行コマンドに応じたデータ転送の終了アドレスと連続したアドレスに対するデータ転送を要求するコマンドが続けて発行されない場合にも、転送終了命令の発行のみで対処できるので、大幅な転送レートの低下を引き起こすことがない。
上記目的を達成するために、本発明に係るメモリカードドライブ装置は、請求項１に記載のメモリカードコントローラと、ホスト装置と接続する第１インターフェース手段と、１枚以上のメモリカードを取り付ける第２インターフェース手段とを備え、ここで、前記メモリカードコントローラは、第１インターフェース手段から入力されるコマンドに基づいて、第２インターフェース手段に取り付けられたメモリカードへアクセスすることことを特徴としている。
【００２７】
上記の構成によって、本発明に係るメモリカードドライブ装置は、連続する領域に対するデータ転送を要求するコマンドが、ホスト装置から続けて発行される場合、コマンドを受け付ける度に転送開始命令を発行する必要がないので、メモリカードコントローラにおけるコマンドの変換、及びメモリカードにおけるアドレス変換等のオーバーヘッドとなる処理を低減することができる。その一方で、先行コマンドに応じたデータ転送が完了してから、ホスト装置で後続のコマンドの発行処理がなされている間は、メモリカードにおけるデータ転送動作が一時停止しているので、ホスト装置とメモリカードとのデータ転送動作の同期が失われることがない。
【００２８】
すなわち、ホスト装置とメモリカードとの同期を取りつつ、オーバーヘッドとなる処理が転送レートに及ぼす影響を抑えることが出来る。
上記目的を達成するために、本発明に係るプログラムは、データ量を指定したコマンドを発行してデータ転送を要求するホスト装置と、転送開始命令を受けてから転送終了命令を受けるまで転送動作を実行するメモリカードとの間のデータ転送を制御するメモリカードコントローラのプログラムであって、転送動作の実行により転送されたデータ量が、先行コマンドにより指定されるデータ量に達すると、メモリカードにおける転送動作を一時停止させるステップと、メモリカードの転送動作を一時停止させた状態にあるとき、前記先行コマンドに応じたデータ転送の終了アドレスの次のアドレスに対するデータ転送を要求する後続のコマンドが受け付けられた場合に、前記一時停止させた状態からメモリカードにおける転送動作を再開させるステップとをメモリカードコントローラのプロセッサに実行させることを特徴としている。
【００２９】
上記の構成によって、本発明に係るプログラムは、連続する領域に対するデータ転送を要求するコマンドが、ホスト装置から続けて発行される場合、コマンドを受け付ける度に転送開始命令を発行する必要がないので、メモリカードコントローラにおけるコマンドの変換、及びメモリカードにおけるアドレス変換等のオーバーヘッドとなる処理を低減することができる。その一方で、先行コマンドに応じたデータ転送が完了してから、ホスト装置で後続のコマンドの発行処理がなされている間は、メモリカードにおけるデータ転送動作が一時停止しているので、ホスト装置とメモリカードとのデータ転送動作の同期が失われることがない。
【００３０】
すなわち、ホスト装置とメモリカードとの同期を取りつつ、オーバーヘッドとなる処理が転送レートに及ぼす影響を抑えることが出来る。
【発明を実施するための最良の形態】
【００３１】
以下、本発明に係るメモリカードドライブ装置の実施形態について説明する。先ず始めに、本発明に係るメモリカードドライブ装置を使用した撮影再生システムについて説明する。図１は、本発明に係るメモリカードドライブ装置を使用した撮影再生システムを示す図である。図１に示す撮影再生システムは、デジタルビデオテープと同等の映像品質、音声品質で撮影した映像及び音声を動画像データとしてメモリカードへ記録し、再生するシステムである。
【００３２】
動画像データの撮影機能、及び表示機能を有するホスト装置としては、ＰＣＭＣＩＡカードスロットを有するパソコンやビデオカメラ等の映像機器を用いることができる。また、メモリカードとしてはＳＤカードを用いる。
図１において、本発明に係るメモリカードドライブ装置は、メモリカードドライブ２００である。このメモリカードドライブ２００は、ＳＤカードを取り付け可能なＳＤスロットを４口備えており、ＳＤスロットにＳＤカード３００ａ〜３００ｄを取り付けた状態で、ホスト装置１００ａ又はホスト装置１００ｂのＰＣＭＣＩＡカードスロットに挿入して使用される。
【００３３】
図２は、本発明に係る撮影再生システムを構成する各装置のデータ転送に関する内部構成を示す図である。ホスト装置１００ａは、映像信号入出力手段１０１、信号処理手段１０２、ドライブ制御手段１０３を備え、これらの構成により動画像データの書き込み、読み出し等のデータ転送をメモリカードドライブ２００に要求する。ここではホスト装置１００ａの内部構成を示しているが、ホスト装置１００ｂも同様の構成を備える。
【００３４】
映像信号入出力手段１０１は、録画、再生等の動作状態に応じて、ホスト装置が有するカメラモジュール、及びディスプレイモジュールとの映像信号の入出力を制御する。信号処理手段１０２は、映像信号入出力手段１０１から入力される映像信号を圧縮符号化して動画像データを生成する機能と、ＳＤカードから読み出された動画像データを復元して映像信号を生成する機能とを有するコーデックである。ドライブ制御手段１０３は、ＡＴＡコマンドの発行によりメモリカードドライブ２００を制御する機能を有し、メモリカードドライブ２００の外部インターフェース部１とカードバス規格でデータを送受信する。一般に、データ転送を要求するＡＴＡコマンドには、書き込み、読み出し等の動作を指定するコマンド部と、データ転送先の先頭セクタの論理アドレスと、転送すべきセクタ数とが含まれる。ここでホスト装置１００ａ、１００ｂは、メモリカードドライブ２００に連装された４枚のＳＤカードを１つの仮想ドライブとして認識し、データ転送先の先頭セクタの論理アドレスと、転送すべきセクタ数とを、仮想ドライブ上の論理アドレスを用いて定めてＡＴＡコマンドを発行する。ここでいうセクタは、ＳＤカード上の記録ブロックと１対１で対応する。ＡＴＡコマンドは本来ディスク媒体を対象としたコマンドであるため、ホスト装置１００ａ、１００ｂは、データ転送先等の指定をセクタを用いて表現している。
【００３５】
メモリカードドライブ２００は、外部インターフェース部１、及びメモリカードコントローラ２を備える。
外部インターフェース部１は、カードバス規格によって、ホスト装置のドライブ制御手段１０３とデータを送受信する機能を有する。
メモリカードコントローラ２は、ホスト装置からのＡＴＡコマンドに応じて、ＳＤスロットに取り付けられたＳＤカード３００ａ〜３００ｄの動作を制御する機能を有する。メモリカードコントローラ２によるＳＤカード３００ａ〜３００ｄの制御には、ＳＤコマンドが用いられる。データ転送の開始時には、メモリカードコントローラ２は、ＡＴＡコマンドにより示される仮想ドライブの論理アドレスを各ＳＤカードの論理アドレスに変換して、変換した論理アドレスと共に書き込み、読み出し等のデータ転送開始を指示するＳＤコマンドをＳＤカードへ発行する。書き込み開始を指示した場合は、その後、書き込みデータを順次ＳＤカードへ転送していく。データ転送の終了時には、メモリカードコントローラ２は、データ転送終了を指示するＳＴＯＰ命令をＳＤカードへ発行し、データ転送完了を示す転送終了割り込みをホスト装置へアサートする。
【００３６】
メモリカードコントローラ２は更に、ＳＤカードへのクロック信号の供給を制御する機能を有し、クロック信号の供給を停止することでＳＤカードの動作を一時的に中断させ、クロック信号の供給を再開することで一時的に中断していたＳＤカードの動作を再開させることができる。
尚、メモリカードコントローラ２は、ＳＤカード３００ａ〜３００ｄをストライピングによって並列動作させることで、２５Ｍｂｐｓの帯域でデータを転送する。ここでストライピングとは、書き込むべきデータを記録ブロック単位に分割して複数のメモリカードに並列して書き込むことである。本実施形態では、４枚のＳＤカードが連装されているので、書き込むべきデータは４分割される。
【００３７】
具体的には、メモリカードコントローラ２は、ＳＤカード３００ａ〜３００ｄを０〜３のカード番号を付して管理しており、データ書き込み時には、書き込むべきセクタ番号を４で割った剰余を書き込みカード番号として、書き込みカード番号で管理しているＳＤカードにデータを書き込ませる。読み出し時は、セクタ番号を４で割った剰余を読み出しカード番号として、読み出しカード番号で管理しているＳＤカードからデータを読み出させる。かかるストライピングにより、ＳＤカード３００ａ〜３００ｄは１つの仮想ドライブを構成する。このようなストライピングでは、データ転送すべきセクタ数が、メモリカードの連装数以上であれば、データ転送効率が高くなる。
【００３８】
ＳＤカード３００ａ〜３００ｄは、書替え可能な不揮発性メモリを内蔵したメモリカードであり、クロック信号に同期して不揮発性メモリに対するデータの記録再生を行う。ＳＤカード３００ａ〜３００ｄの動作は、メモリカードドライブ２００から発行されるＳＤコマンドにより制御される。
メモリカードコントローラ２から書き込み開始命令が発行されると、ＳＤカード３００ａ〜３００ｄは、不揮発性メモリの物理アドレスと論理アドレスとの対応を示す相関表を読み出し、ＳＤコマンドと共にアサートされた論理アドレスを物理アドレスに変換し、メモリカードコントローラ２を介して転送されてくるデータを、変換した物理アドレスから書き込んでいく。書き込み動作時にメモリカードコントローラ２からＳＴＯＰ命令が発行されると、ＳＤカード３００ａ〜３００ｄは、データの書き込み動作を終了して、書き込み結果に応じて相関表を更新する。
【００３９】
メモリカードコントローラ２から読み出し開始命令が発行されると、ＳＤカード３００ａ〜３００ｄは、不揮発性メモリの物理アドレスと論理アドレスとの対応を示す相関表を読み出し、ＳＤコマンドと共にアサートされた論理アドレスを物理アドレスに変換し、変換した物理アドレスから不揮発性メモリに記録されているデータを読み出してメモリカードコントローラ２へ転送する。読み出し動作時にメモリカードコントローラ２からＳＴＯＰ命令が発行されると、ＳＤカード３００ａ〜３００ｄは、データの読み出し動作を終了する。以上が本発明に係るメモリカードドライブ装置を使用した撮影再生システムについての説明である。
【００４０】
次に、本発明に係るメモリカードドライブ２００の内部構成の詳細について説明する。図３は、メモリカードドライブ２００の構成の詳細を示す図である。
外部インターフェース部１は、内部にＰＣＩターゲット３と、ＰＣＩバスマスター４とを備える。ＰＣＩターゲット３は、ホスト装置１００ａ、１００ｂとのＡＴＡコマンドの送受信を担当し、ＰＣＩバスマスター４は、ホスト装置１００ａ、１００ｂとの間で、ＤＭＡ（Direct  Memory  Access）転送によりデータを送受信する。ここでは、高い転送レートを得る為にＤＭＡ転送を用いているが、データの送受信には、他の転送方式を用いても良い。
【００４１】
メモリカードコントローラ２は、コマンド解析部５、コマンド格納部６、コマンド変換部７、及びデータメモリ１１を備える。
コマンド解析部５は、ＰＣＩターゲット３で受け付けられたＡＴＡコマンドを解析し、先頭セクタの論理アドレスと転送すべきセクタ数とをコマンドから分離する。コマンド格納部６は、過去に受け付けられたＡＴＡコマンドを格納し一時保持する。データメモリ１１は、ＳＤカードとＰＣＩバスマスター４との間のバッファメモリである。
【００４２】
コマンド変換部７は、内部に、連続性照合部８、コマンド開始終了制御部９、及びクロック開始終了制御部１０を備え、コマンド解析部５で解析されたＡＴＡコマンドに対応して、ＳＤコマンドの発行、及びＳＤカードへのクロック供給を制御することで、ＳＤカード３００ａの動作を制御する。尚、図３においては煩雑さを避けるため、ＳＤカード３００ａとのインターフェースに係る構成のみ図示しているが、メモリカードコントローラ２は、実際にはＳＤカード３００ｂ〜３００ｄのそれぞれに対してもコマンド変換部７と同様の構成を備えており、これらがストライピングの制御を実現している。
【００４３】
連続性照合部８は、連続したセクタに対するデータ読み出しを要求するＡＴＡコマンドが続けて発行されているか否かを判定し、判定結果に応じて、コマンド開始終了制御部９、及びクロック開始終了制御部１０にＳＤカード３００ａの動作制御処理を実行させる。
コマンド開始終了制御部９は、ＡＴＡコマンドの種類に応じてＳＤコマンドを発行することで、ＳＤカード３００ａの書き込み、読み出し動作を開始、及び終了させる。
【００４４】
クロック開始終了制御部１０は、読み出し動作中のＳＤカード３００ａへのクロック信号の供給を停止及び再開することで、ＳＤカード３００ａにおける読み出し動作を、一時停止及び再開させる。ここでクロック開始終了制御部１０が、クロック信号の供給を停止させる期間は、先行するＡＴＡコマンドにより要求されたデータが読み出されてから、後続するＡＴＡコマンドが受け付けられるまでの期間である。以上が、本発明に係るメモリカードドライブ２００の内部構成の詳細についての説明である。
【００４５】
続いて、上述のメモリカードコントローラ２における処理の詳細について、図４を参照しながら説明する。図４は、メモリカードコントローラ２の処理手順を示すフローチャートである。
メモリカードコントローラ２は、電源投入後、ステップＳ１及びステップＳ１６からなるループ処理において、ＰＣＩターゲット３においてＡＴＡコマンドが受け付けられるのを待ち受け、ＡＴＡコマンドが受け付けられると（ステップＳ１：Ｙｅｓ）、ステップＳ２以降の処理を実行する。
【００４６】
ステップＳ２の処理では、コマンド解析部５は、受け付けられたＡＴＡコマンドを解析して、データ転送先の先頭セクタの論理アドレスと、転送すべきセクタ数とを取得する。以下、電源投入後、Ｉ（Ｉは自然数）番目に受け付けられたＡＴＡコマンドの解析により得られた転送先の論理アドレスをＸ［Ｉ］、転送すべきセクタ数をＹ［Ｉ］と標記する。
ステップＳ３では、ＳＤカードへクロック信号が供給されているか否かを、連続性照合部８において判定する。
【００４７】
ステップＳ３の判定でＳＤカードへクロック信号が供給されている状態であれば（ステップＳ３：Ｎｏ）、コマンド開始終了制御部９は、ＡＴＡコマンドによる要求に応じて、論理アドレスＸ［Ｉ］からの書き込み又は読み出しの開始命令であるＳＤコマンドを、ＳＤカードへ発行する（ステップＳ４）。
ステップＳ４で発行されたＳＤコマンドが書き込み開始命令であれば（ステップＳ５：Ｎｏ）、ＳＤカードではコマンドに応じて書き込み動作が開始され、メモリカードコントローラ２では、ステップＳ６〜ステップＳ８の処理によりＳＤカードにおける書き込み動作を制御する。
【００４８】
ステップＳ６〜ステップＳ８の処理では、コマンド開始終了制御部９が、書き込み動作中のＳＤカードへ供給される書き込みデータ量を監視し、供給したデータ量がＡＴＡコマンドから得られたセクタ数Ｙ［Ｉ］に達すると（ステップＳ６：Ｙｅｓ）、ＳＤカードへＳＴＯＰ命令のＳＤコマンドを発行し（ステップＳ７）、ＳＴＯＰ命令に応じてＳＤカードにおいて書き込み動作が終了して、論理アドレスと物理アドレスとの対応を示す相関表が更新されると、メモリカードコントローラ２は、ホスト装置に対してコマンド実行完了を示す割り込みをアサートする（ステップＳ８）。ステップＳ６〜ステップＳ８の処理の実行後は、ステップＳ１及びステップＳ１６からなるループ処理に処理が戻る。
【００４９】
ステップＳ４で発行されたＳＤコマンドが読み出し開始命令であれば（ステップＳ５：Ｙｅｓ）、ＳＤカードではコマンドに応じて読み出し動作が開始され、メモリカードコントローラ２では、ステップＳ９〜ステップＳ１１の処理によりＳＤカードにおける読み出し動作を制御する。
ステップＳ９〜ステップＳ１１の処理では、クロック開始終了制御部１０が、読み出し動作中のＳＤカードから読み出され転送されてくるデータ量を監視し、読み出されたデータ量がＡＴＡコマンドから得られたセクタ数Ｙ［Ｉ］に達すると（ステップＳ９：Ｙｅｓ）、ＳＤカードへのクロック信号供給を停止すると共に、転送先の論理アドレスＸ［Ｉ］とセクタ数Ｙ［Ｉ］との和を算出し、算出した値を連続開始アドレスＺとしてコマンド格納部６へ記録する。（ステップＳ１０）。ここで記録された連続開始アドレスＺの値は、再度ステップＳ１０の処理が実行され新たな値が通知されるまでは、コマンド格納部６において保持される。尚、連続開始アドレスＺを算出しコマンド格納部６へ記録する処理は、ＳＤカードでの読み出し動作実行中、即ち読み出されたデータ量がセクタ数Ｙ［Ｉ］に達する前に実行するとしてもよい。これにより、転送レートに影響することなく連続開始アドレスＺの算出及び記録が処理できる。
【００５０】
クロック信号供給が停止され、ＳＤカードが読み出し動作実行状態のまま一時停止すると、メモリカードコントローラ２は、ホスト装置に対してコマンド実行完了を示す割り込みをアサートする（ステップＳ１１）。ステップＳ９〜ステップＳ１１の処理の実行後は、ステップＳ１及びステップＳ１６からなるループ処理に処理が戻る。
上記のステップＳ９〜ステップＳ１１の処理が実行された後に、新たなＡＴＡコマンドが受け付けられた場合（ステップＳ１：Ｙｅｓ）の処理手順では、ステップＳ１０においてＳＤカードへのクロック信号供給が停止されているために、ステップＳ３の判定後、ステップＳ１２〜ステップＳ１５の処理が実行される。
【００５１】
ステップＳ１２の処理では、現在処理中の新たなＡＴＡコマンドが、現在一時停止状態にあるＳＤカードの読み出し動作が再開された場合に読み出されるデータを要求する読み出しコマンドであるか否かを判定するために、連続性照合部８が１）及び２）の条件が共に満たされるか否かを判定する。
１）現在処理中の新たなＡＴＡコマンドが読み出しを要求するコマンドである。
２）以前のＡＴＡコマンドの処理においてステップＳ１０が実行されたときにコマンド格納部６へ記録された連続開始アドレスＺと、現在処理中の新たなＡＴＡコマンドに基づいてステップＳ２で取得された転送先の論理アドレスＸ［Ｉ］とが一致する。
【００５２】
上記１）及び２）の条件が共に満たされることが、連続性照合部８から通知されると（ステップＳ１２：Ｙｅｓ）、クロック開始終了制御部１０は、ＳＤカードへのクロック信号の供給を再開する（ステップＳ１３）。クロック信号供給が再開されるとＳＤカードでは一時停止していた読み出し動作が再開される。これに応じて、メモリカードコントローラ２では、ステップＳ９〜ステップＳ１１の処理によりＳＤカードにおける読み出し動作を制御する。
【００５３】
上記１）及び２）の条件の少なくとも一方が満たされない場合（ステップＳ１２：Ｎｏ）、即ち、現在処理中の新たなＡＴＡコマンドが、現在一時停止状態にあるＳＤカードの読み出し動作が再開された場合に読み出されるデータを要求する読み出しコマンドではなかった場合、連続性照合部８は、３）の条件が満たされるか否かを判定する（ステップＳ１４）。
【００５４】
３）現在処理中のＡＴＡコマンドが、ＳＤカードへのメモリアクセスを要するコマンドである。
上記３）の条件が満たされることが、連続性照合部８から通知されると（ステップＳ１４：Ｙｅｓ）、クロック開始終了制御部１０は、ＳＤカードへのクロック信号の供給を再開し、コマンド開始終了制御部９は、ＳＤカードへＳＴＯＰ命令のＳＤコマンドを発行する（ステップＳ１５）。ステップＳ１５の処理実行に応じて、ＳＤカードにおいて一時停止していた読み出し動作が終了すると、メモリカードコントローラ２では、ステップＳ４以降の処理が順に実行される。
【００５５】
上記３）の条件が満たされない場合（ステップＳ１４：Ｎｏ）、メモリカードコントローラ２では、ＳＤカードへのクロック信号供給を停止した状態を維持したまま、ＳＤカードへのメモリアクセスが発生しないＡＴＡコマンドにより要求された処理を実行してから、ステップＳ１１の処理で、コマンド実行完了を示す割り込みをホスト装置へアサートし、その後、ステップＳ１及びステップＳ１６からなるループ処理にで更に次のＡＴＡコマンドを待ち受ける。
【００５６】
尚、ＳＤカードへのメモリアクセスを必要としないＡＴＡコマンドとしては、具体的には、ＩＤＥＮＴＦＹ−ＤＥＶＩＣＥコマンド等がある。
以上の処理の流れのうち、ステップＳ１１の処理でホスト装置にコマンド実行完了を示す割り込みをアサートする処理の流れでは、ＳＤカードへのクロック信号供給を停止した状態で、ステップＳ１及びステップＳ１６からなるループ処理へ処理手順が移る。このクロック信号供給を停止した状態で、所定時間（例えば、１秒）の間、次のＡＴＡコマンドが受け付けられなかった場合（ステップＳ１６：Ｙｅｓ）、クロック開始終了制御部１０がＳＤカードへのクロック信号の供給を再開し、続けてコマンド開始終了制御部９がＳＤカードへＳＴＯＰ命令のＳＤコマンドを発行する（ステップＳ１７）ことで、ＳＤカードにおいて一時停止していた読み出し動作を終了させる。
【００５７】
以上が、メモリカードコントローラ２における処理の詳細についての説明である。上述のメモリカードコントローラ２の処理手順は、専用ハードウェアによる実装、若しくは、当該処理手順を、コンピュータ記述言語で記述しマイクロプロセッサに実行させることで実現することができる。
続いて、上述のように構成されたメモリカードドライブ２００の動作例を、図５及び図６を参照しながら説明する。図５は、メモリカードドライブ２００の処理シーケンスを示す図であり、図６は、読み出し動作の詳細を示すタイミングチャートである。
【００５８】
図５及び図６において、Ａ［ｋ］（ｋは自然数）は、メモリカードドライブ２００の電源投入後、ｋ番目に受けられるＡＴＡコマンドを示し、ＤＡＴ［ｋ］は、ｋ番目のＡＴＡコマンドに同期したデータ転送を示し、Ｓ［ｋ］は、ｋ番目のＡＴＡコマンドに対応してＳＤカードへ発行されるＳＤコマンドを示す。
また、図６において、（ａ）の段は、ホスト装置におけるＡＴＡコマンド発行処理のタイミングを示し、（ｂ）の段は、ＡＴＡコマンドに対応した転送が完了したことを示す割り込みの発生タイミングを示し、（ｃ）の段は、メモリカードドライブ２００におけるＳＤコマンドの発行処理のタイミングを示し、（ｄ）の段は、ＳＤカードへのクロック信号の供給の様子を示し、（ｅ）の段は、論理アドレスから物理アドレスへの変換等のＳＤカード内部処理の動作タイミングを示し、（ｆ）の段は、データが転送されるタイミングを示している。
【００５９】
ここで、Ａ［１］〜Ａ[４]の４つのＡＴＡコマンドは、何れもデータの読み出しを要求するＡＴＡコマンドであるが、Ａ［１］〜Ａ［３］により読み出しが要求されるデータは、一連の動画像データであり、ＳＤカードにおいて論理アドレスが連続した記録領域に記録されている。そのため、Ａ［２］及びＡ［３］のＡＴＡコマンドでは、読み出し開始セクタの番号が、それぞれ直前のＡＴＡコマンド（即ち、Ａ［１］及びＡ［２］）による読み出しの終了セクタの番号と連続している。一方、Ａ［４］のＡＴＡコマンドは、Ａ［１］〜Ａ［３］とは関連のないデータの読み出しを要求するコマンドであり、Ａ［４］の読み出し開始セクタの番号は、Ａ［３］による読み出しの終了セクタの番号と連続していない。
【００６０】
先ず、ホスト装置により発行されたＡ［１］のＡＴＡコマンドに応じた一連の動作について説明する。Ａ［１］は、リード命令と開始アドレスと読み出しセクタ数から構成されており、Ａ［１］を受け付けたメモリカードドライブ２００は、Ａ［１］を解析して、読み出し開始命令と開始アドレスからなるＳ［１］をＳＤカードへ発行する。Ｓ［１］を受け付けたＳＤカードは、論理アドレスから物理アドレスへの変換等の内部処理を処理した後に、ＤＡＴ［１］のデータ転送を実行する。ＤＡＴ［１］のデータ転送が始まると、メモリカードドライブ２００は、クロック開始終了制御部１０により転送データ量を監視し、ＤＡＴ［１］の転送データ量がＡ［１］から得られた読み出しセクタ数に達すると、ＳＤカードへのクロック信号供給を停止し、ホスト装置へ割り込みをアサートする。また、このときクロック開始終了制御部１０では、Ａ［１］の開始セクタ番号と読み出しセクタ数との合計が算出され、コマンド格納部６へ記録される。以上の一連のシーケンスにより、ホスト装置側では、Ａ［１］に応じた読み出しが完了し、もう一方のＳＤカード側では、クロック信号供給の停止により、読み出し動作が一時停止した状態を維持することになり、それ以上のデータが読み出されなくなる。これにより、ホスト装置とＳＤカードとの間でデータ転送の同期が保たれる。
【００６１】
次に、割り込み発生によりＡ［１］に応じたＤＡＴ［１］の転送完了が検知されたホスト装置は、Ａ［２］を発行する。Ａ［２］を受け付けたメモリカードドライブ２００は、コマンド解析部５及び連続性照合部８においてＡ［２］を解析し、Ａ［１］とＡ［２］との連続性を照合する。ここでいう連続性の照合は、Ａ［２］がリード命令であり、且つ、Ａ［２］の開始セクタ番号が、コマンド格納部６に記録されているＡ［１］の開始セクタ番号と読み出しセクタ数との合計に等しいことを確認することで確認される。メモリカードドライブ２００は、連続性を確認した後、クロック開始終了制御部１０によりＳＤカードへのクロック信号供給を再開する。クロック信号の供給が再開されると、ＳＤカードでは一時停止していた読み出し動作が再開され、これにより発生するデータ転送がＡ［２］に対応したデータ転送ＤＡＴ［２］となる。ＤＡＴ［２］のデータ転送が始まると、メモリカードドライブ２００は、クロック開始終了制御部１０により転送データ量を監視し、転送データ量がＡ［２］から得られた読み出しセクタ数に達すると、ＳＤカードへのクロック信号供給を停止し、ホスト装置へ割り込みをアサートする。また、このときクロック開始終了制御部１０では、Ａ［２］の開始アドレスと読み出しセクタ数との合計が記録される。以上の一連のシーケンスにより、ホスト装置側では、Ａ［２］に応じた読み出しが完了し、ＳＤカード側では、読み出し動作が、再度、一時停止した状態となり、それ以上のデータが読み出されなくなる。
【００６２】
この後、Ａ［２］に応じたＤＡＴ［２］の転送処理の完了が検知されたホスト装置からは、Ａ［３］を発行され、以降、ホスト装置、メモリカードドライブ２００、及びＳＤカード間で、Ａ［２］に応じたシーケンスと同様のシーケンスが処理される。その結果、コマンド格納部６では、Ａ［３］の開始アドレスと読み出しセクタ数との合計が記録された状態となり、ＳＤカードでは読み出し動作が一時停止した状態となり、ホスト装置では、Ａ［３］に応じた割り込みが発生した状態となる。
【００６３】
このような状態から、割り込み発生によりＡ［３］に応じたＤＡＴ［３］の転送完了が検知されたホスト装置は、この次に、Ａ［４］を発行する。Ａ［４］を受け付けたメモリカードドライブ２００は、コマンド解析部５及び連続性照合部８においてＡ［４］を解析し、Ａ［３］とＡ［４］との連続性を照合する。しかし、Ａ［４］は、リード命令であるものの、Ａ［４］の開始セクタ番号が、コマンド格納部６に記録されているＡ［３］の開始セクタ番号と読み出しセクタ数との合計と等しくないために、Ａ［３］とＡ［４］との連続性は確認されない。そこで、メモリカードドライブ２００は、ＳＤカードへのクロック信号供給を再開すると同時に、ＳＴＯＰ命令を発行する。これにより、ＳＤカードでは、一時停止していた読み出し動作が終了する。その後、メモリカードドライブ２００は、読み出し開始命令と開始アドレスからなるＳ［４］をＳＤカードへ発行する。Ｓ［４］を受け付けたＳＤカードは、論理アドレスから物理アドレスへの変換等の内部処理を処理した後に、ＤＡＴ［４］のデータ転送を実行する。ＤＡＴ［４］のデータ転送が始まると、メモリカードドライブ２００は、クロック開始終了制御部１０により転送データ量を監視し、ＤＡＴ［４］の転送データ量がＡ［４］から得られた読み出しセクタ数に達すると、ＳＤカードへのクロック信号供給を停止し、ホスト装置へ割り込みをアサートする。また、このときクロック開始終了制御部１０では、Ａ［４］の開始セクタ番号と読み出しセクタ数との合計を算出し、コマンド格納部６の記録を更新する。以上の一連のシーケンスにより、ホスト装置側では、Ａ［４］に応じた読み出しが完了し、ＳＤカード側では、読み出し動作が一時停止した状態となり、それ以上のデータが読み出されなくなる。
【００６４】
本動作例では、ホスト装置はＡ［４］の後に、新たなＡＴＡコマンドを発行しない。メモリカードドライブ２００では、ＳＤカードへのクロック信号の供給停止後、時間経過をカウントしているが、次のＡＴＡコマンドが受け付けられないため、所定時間経過するとＳＤカードへのクロック信号供給を再開すると同時に、ＳＴＯＰ命令を発行する。これにより、ＳＤカードでは、一時停止していた読み出し動作が終了する。このようなシーケンスにより、ＳＤカードは、クロック信号が供給されていて、ＳＤコマンドを待ち受ける状態となる。以上が、メモリカードドライブ２００の動作例についての説明である。
【００６５】
上述の動作例では、Ａ［１］及びＡ［４］に応じた一連のシーケンスで、メモリカードドライブ２００でのＳＤコマンド発行処理、及びＳＤカード内部でのアドレス変換処理といったデータ転送のオーバーヘッドとなる処理が発生している。しかし、Ａ［２］及びＡ［３］に応じた一連のシーケンスでは、これらのオーバーヘッドとなる処理が発生しない。
【００６６】
ここで、メモリカードドライブ２００でのＳＤコマンド発行処理、及びＳＤカード内部でのアドレス変換処理の実行に要する時間を値ｕとし、ＤＡＴ［１］〜ＤＡＴ［４］のそれぞれで表されるデータ転送に要する時間をｔとすると、Ａ［１］の発行後、Ａ［１］に対応する割り込みの発生までの一連の処理にかかる時間は、（ｕ＋ｔ）となる。これに対して、Ａ［２］及びＡ［３］では、それたの発行後、対応する割り込みが発生するまでの一連の処理にかかる時間は、ｔのみとなる。
【００６７】
従って、Ａ［１］〜Ａ［３］に対応する一連の処理では、図８に示した従来の動作に比較して２ｕ短縮されている。
特に、図１に示すように複数のＳＤカードを連装する場合、１つのＡＴＡコマンドによって１枚のＳＤカードから読み出されるセクタ数は、ストライピングにより連装数に反比例して少なくなるので、データ転送に要する時間ｔの値も、同様に小さくなる。この結果、連装数にかかわらず一定の値となるｕと、連装数に反比例して小さくなるｔとの差が小さくなる。ここでｔ＝ｕとなる連装数を例として説明すると、Ａ［１］〜Ａ［３］に対応する一連の処理には、図８に示す従来の動作で６ｕの時間が必要となるが、本実施形態では４ｕの時間で完了する。これを転送レートで比較すると６ｕ／４ｕとなり、本実施形態に係るメモリカードドライブ２００は、従来例に比べて、転送レートが５０％向上していることがわかる。
【００６８】
本実施形態におけるこのような転送レートの向上は、Ａ［２］とＡ［３］の様に、読み出し開始セクタが先行するＡＴＡコマンドの読み出し終了セクタと連続するＡＴＡコマンドが、多く続くほど、より高い効率が得られる。例えば、８個のＡＴＡコマンドで、読み出し開始セクタが先行するＡＴＡコマンドの読み出し終了セクタと連続する場合には、ｔ＝ｕとなる連装数で従来例に比較して、転送レートが７８％向上する。
【００６９】
以上のように本実施形態では、ＳＤカードにおいて論理アドレスが連続した記録領域に記録されている一連の動画像データを読み出す際に、動画像データのサイズが１つのＡＴＡコマンドに応じて読み出し可能な６４ｋバイトを超えていると、ホスト装置からは、複数のＡＴＡコマンドにより分割して動画像データの読み出しが要求される。しかし、メモリカードコントローラがＳＤカードへのクロック信号供給を制御することで、ＳＤカードにおいては、連続した１度の読み出し動作として処理される。
【００７０】
これによって、ＡＴＡコマンドからＳＤコマンドへの変換処理、及び論理アドレスから物理アドレスの変換処理といったオーバーヘッドとなる処理によって、読み出しレートへ及ぼされる悪影響を抑え、読み出しレートの向上を図ることができる。
また、本実施形態では、連続領域に記録されている大容量データの読み出しが、ホスト装置では複数のＡＴＡコマンドに応じた複数の読み出し動作として分割して処理され、ＳＤカードでは一組の転送開始命令及びＳＴＯＰ命令による一続きの読み出し動作として処理される。しかし、ホスト装置でデータ転送が受け入れられない期間は、ＳＤカードにおける読み出し動作が一時停止するため、ホスト装置とＳＤカードとの読み出し動作の同期が失われることがない。
【００７１】
尚、本実施形態では、ＳＤカードの読み出し動作時に転送レートを向上させる構成について説明したが、本発明は、ＳＤカードの書き込み動作の制御についても、同様に適用可能である。
以下、書き込み及び読み込みの両方の転送レートを向上させる変形例について説明する。図７は、本実施形態の変形例に係るメモリカードコントローラによるデータ転送制御の処理手順を示すフローチャートである。本図に示すフローチャートでは、図４に示すフローチャートと比較して、ステップＳ１８が追加され、書き込み処理に係るステップＳ５〜ステップＳ８の処理手順が削除され、また、ステップＳ１２の判定がステップＳ１９の判定に変更されていることに特徴がある。
【００７２】
そのため、ＳＤカードへクロック信号を供給している状態でＡＴＡコマンドが受け付けられると、そのＡＴＡコマンドが書き込み及び読み込みの何れを要求するコマンドであったとしても、ステップＳ１８の処理において、ＡＴＡコマンドの種類が書き込み要求及び読み出し要求の何れであるかを、コマンド格納部６に記録された後に、ステップＳ９〜ステップＳ１１の処理でデータ転送が制御される。
【００７３】
また、ＳＤカードへのクロック信号供給を停止している状態でＡＴＡコマンドが受け付けられた時に、ステップＳ１９で判定される連続性の照合条件が、以下のＡ）及びＢ）に変更され、これらの条件が共に満たされる場合にステップＳ１３の処理の流れが実行される。
Ａ）現在処理中の新たなＡＴＡコマンドの種類が、コマンド格納部６に記録されている以前に処理されたＡＴＡコマンドの種類と一致する。
Ｂ）以前のＡＴＡコマンドの処理においてステップＳ１０が実行されたときにコマンド格納部６へ記録された連続開始アドレスＺと、現在処理中の新たなＡＴＡコマンドに基づいてステップＳ２で取得された転送先の論理アドレスＸ［Ｉ］とが一致する。
【００７４】
これによって本変形例は、書き込み、読み出し何れの処理であっても、連続するセクタに対する同じ種類のＡＴＡコマンドが続けて発行されると、書き込み及び読み込みの何れの場合にも転送レートを向上させることができる。
（その他の変形例）
尚、本発明を上記の実施形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
【００７５】
（１）本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
【００７６】
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。
【００７７】
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
（２）上記実施形態では、ＳＤカードをメモリカードとして用いるメモリカードドライブ装置について説明した。しかし、本発明は、ホスト装置から発行されるコマンドと異なる仕様のコマンドでの命令が必要なメモリカードであれば、どのようなメモリカードを使用しても、上述の実施形態と同様の効果を奏することはもちろんのことである。
【００７８】
（３）上記実施形態では、ＳＤカードへのクロック信号供給を停止してから時間をカウントし、所定時間経過後にタイムアウト処理として、ＳＤカードのデータ転送動作を終了させるとしたが、タイムアウト処理の実行は、最後に処理したＡＴＡコマンドを受け付けてから所定時間経過後に実行するとしてもよい。
（４）上記実施形態では、ホスト装置とカードバスを介して接続するとしたが、ＰＣＩバスや、ＳＣＳＩを介してホスト装置と接続するとしてもよい。
【００７９】
（５）上記実施形態の変形例では、書き込み動作についても、ＳＤカードへのクロック信号供給を停止させることで、一時停止させる構成について説明したが、書き込み動作の一時停止は、ＳＤカードからの書き込みデータの供給を停止することでも実現可能である。
（６）上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【００８０】
本発明の適用例としては、ＳＤカードへのデータ転送を制御するＰＣカード形態のメモリカードドライブ装置等がある。
【図面の簡単な説明】
【００８１】
【図１】本発明に係るメモリカードドライブ装置を使用した撮影再生システムを示す図。
【図２】本発明に係る撮影再生システムを構成する各装置の内部構成を示す図。
【図３】メモリカードドライブ２００の構成の詳細を示す図。
【図４】本実施形態に係るメモリカードコントローラにおける処理手順を示すフローチャート。
【図５】メモリカードドライブ２００の処理シーケンスを示す図。
【図６】本実施形態に係るメモリカードコントローラによる読み出し動作の一例を示すタイミングチャート。
【図７】本実施形態の変形例に係るメモリカードコントローラによるデータ転送制御の処理手順を示すフローチャート。
【図８】従来のメモリカードコントローラの動作例を示すタイミングチャート。
【符号の説明】
【００８２】
１        外部インターフェース部
２        メモリカードコントローラ
３        ＰＣＩターゲット
４        ＰＣＩバスマスター
５        コマンド解析部
６        コマンド格納部
７        コマンド変換部
８        連続性照合部
９        コマンド開始終了制御部
１０        クロック開始終了制御部
１１        データメモリ
１００ａ、ｂ  ホスト装置
１０１        映像信号入出力手段
１０２        信号処理手段
１０３        ドライブ制御手段
２００        メモリカードドライブ
３００ａ〜ｄ  ＳＤカード
【図１】
2006127492.tif 000003
【図２】
2006127492.tif 000004
【図３】
2006127492.tif 000005
【図４】
2006127492.tif 000006
【図５】
2006127492.tif 000007
【図６】
2006127492.tif 000008
【図７】
2006127492.tif 000009
【図８】
2006127492.tif 000010