(57)【要約】【課題】連続的にカードアクセスが発生する場合に、再チューニングを行なわずとも高速書き込みの信頼性を確保することを可能とする。【解決手段】記録再生装置であって、記憶媒体に、データの送受信のためのクロックを供給するクロック供給手段と、前記クロックに応じて前記記憶媒体にデータを送信し、前記記憶媒体が前記クロック供給手段により供給されたクロックに応じて送信したデータを前記クロックに応じて受信する送受信手段と、前記送受信手段が前記記憶媒体からのデータを受信する場合に第一クロックを供給し、前記送受信手段が前記記憶媒体にデータを送信する場合に前記第一クロックよりも高速な第二クロックを供給するように制御する制御手段と、を備える。【選択図】図１
2018147260.tif 000002
【特許請求の範囲】
【請求項１】
記憶媒体に、データの送受信のためのクロックを供給するクロック供給手段と、
前記クロックに応じて前記記憶媒体にデータを送信し、前記記憶媒体が前記クロック供給手段により供給されたクロックに応じて送信したデータを前記クロックに応じて受信する送受信手段と、
前記送受信手段が前記記憶媒体からのデータを受信する場合に第一クロックを供給し、前記送受信手段が前記記憶媒体にデータを送信する場合に前記第一クロックよりも高速な第二クロックを供給するように制御する制御手段と、を備える
ことを特徴とする記録再生装置。
【請求項２】
前記制御手段は、前記送受信手段によるデータの送信、及び、前記送受信手段によるデータの受信に先だって、前記クロック供給手段が供給する前記クロックの速度を切替えることを特徴とする請求項１に記載の記録再生装置。
【請求項３】
前記送受信手段により送信されるデータには、前記記憶媒体にデータを書き込むためのコマンドが含まれ、前記送受信手段により受信されるデータには、前記コマンドに対して前記記憶媒体から送信されるレスポンスが含まれ、
前記制御手段は、前記送受信手段が前記コマンドを送信する場合に前記第二クロックを供給し、前記送受信手段が前記レスポンスを受信する場合に前記第一クロックを供給するように制御することを特徴とする請求項１または２に記載の記録再生装置。
【請求項４】
前記制御手段は、前記クロック供給手段から供給するクロックを、前記コマンドの送信の後に前記第一クロックに切替え、前記レスポンスの受信の後に前記第二クロックに切替えるように制御することを特徴とする請求項３に記載の記録再生装置。
【請求項５】
前記記憶媒体に記録されるデータを保持するメモリを更に備え、
前記送受信手段が送信するデータには、前記メモリが保持する前記記録されるデータが含まれ、前記送受信手段が受信するデータには、前記記録されるデータについて前記記憶媒体が行なった動作に関するステータスに関するデータが含まれることを特徴とする請求項１から４のいずれか１項に記載の記録再生装置。
【請求項６】
前記送受信手段は、前記記録されるデータを所定のサイズのブロック単位で前記記憶媒体に送信し、１ブロックに相当するデータの送信の度に前記ステータスに関するデータを受信することを特徴とする請求項５に記載の記録再生装置。
【請求項７】
前記制御手段は、前記クロック供給手段から供給するクロックを、前記１ブロックに相当するデータの送信の後に前記第一クロックに切替え、前記ステータスに関するデータの受信の後に前記第二クロックに切替えるように制御することを特徴とする請求項６に記載の記録再生装置。
【請求項８】
前記第一クロックは、該第一クロックに従って前記記憶媒体が動作した場合に想定される出力データの遅延が、前記第一クロックの立ち上がりまたは立ち下がりから所定の期間内に収まるように前記記憶媒体が動作する周波数を有することを特徴とする、請求項１から７のいずれか１項記載の記録再生装置。
【請求項９】
前記第二クロックは、該第二クロックに従って前記記憶媒体が動作した場合に想定される出力データの遅延が、前記第二クロックの立ち上がりまたは立ち下がりからの所定の遅延時間で規定されず、かつ、動作条件に応じて異なり得る周波数を有することを特徴とする、請求項１から８のいずれか１項記載の記録再生装置。
【請求項１０】
前記クロック供給手段は、同一のクロック源からの信号を用いて前記第一クロックと前記第二クロックとを供給することを特徴とする請求項１から９のいずれか１項に記載の記録再生装置。
【請求項１１】
前記データを生成する生成手段を更に備えることを特徴とする請求項１から１０のいずれか1項に記載の記録再生装置。
【請求項１２】
記憶媒体に、データの送受信のためのクロックを供給するクロック供給工程と、
前記クロックに応じて前記記憶媒体にデータを送信し、前記記憶媒体が前記クロック供給工程において供給されたクロックに応じて送信したデータを前記クロックに応じて受信する送受信工程と、
前記送受信工程において、前記記憶媒体からのデータを受信する場合に第一クロックを供給し、前記送受信工程において前記記憶媒体にデータを送信する場合に前記第一クロックよりも高速な第二クロックを供給するように制御する制御工程と
を含む、記録再生装置の制御方法。
【請求項１３】
コンピュータを請求項１から１１のいずれか１項に記載の記録再生装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録再生装置、記録再生装置の制御方法、及び、プログラムに関する。
【背景技術】
【０００２】
ＳＤメモリカードからデータの読み出しを行う場合、ホストからカードに与えられるクロックに対するカードからのデータ送信の遅延量は、規定された固定遅延量であった。したがって、ホスト側は送信クロック送信に対し規定量の遅延タイミングでデータラッチを行うことにより、カードアクセスを問題なく行うことができた。
【０００３】
しかし近年、メモリカードのアクセス速度向上に伴うクロックの高速化により、前述の遅延量は固定値としては規定できなくなっている。このためＳＤメモリカードの高速規格であるＵＨＳ−Ｉ（Ｕｌｔｒａ  Ｈｉｇｈ  Ｓｐｅｅｄ−１）においては、所定より高速のクロックを使用する場合は可変遅延量となり、データラッチのタイミングの調整が必要であることが規定されている。このラッチタイミングの調整作業はチューニングまたはキャリブレーションと呼ばれ、メモリカードのカードマウント時に行うのが一般的である。しかし前述の遅延量はカードの温度など外的要因によって変動するため、チューニングを行っていても、その後のカードアクセスの繰り返しによりカードの温度の変化に伴って遅延量が変化し、データの転送が失敗してしまう可能性がある。一方、チューニング中はカードのデータ転送ができないため、頻繁にチューニングを行なうことは転送効率の低下につながる。
【０００４】
特許文献１は、この課題の解決策を提案する。提案手法では、まず、カードから出力されるデータの受信（カード読み出し）に際し、キャリブレーション（チューニング）で得られた正確にデータ受信ができる位相の範囲内に互いに異なる３つの位相のデータ取り込みタイミングを設定する。その上で、１つのデータに対して異なる位相を持つ３つの同一周波数のクロックを用いてデータを取り込む。ここで、３つの位相で所定サイズ（５１２バイトなど）を受信したときに、中心の位相で取られたデータに対して、前位相、後位相で得られた各データが異なっている数を集計する。その集計結果から所定の数以上異なる数が出た位相がある場合は、該位相の反対方向に位相をシフトすることにより、遅延量の変化に追従するというものである。
【０００５】
しかしながら、キャリブレーションの実施から時間を置いて記録を開始する場合は、その時間の間に遅延量が変化している可能性がある。また３つの位相のタイミング間隔は、タイミングの差を作るための遅延素子の温度特性により変化し、たとえば正しくデータ受信ができない位相が、位相の間に入り込んでしまう可能性がある。これらの場合、中心の位相によるデータ受信は正しくデータ受信ができない位相のごく近傍で行われる状態となり、少しの遅延量の変化でデータの転送が正常にできなくなってしまう。したがって、特許文献１の提案手法の実施によってもカードアクセス中における再チューニングの発生による転送効率の低下をなくすことはできない。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−１３４００９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
そこで本発明は、連続的にカードアクセスが発生する場合に、再チューニングを行なわずとも高速書き込みの信頼性を確保することを可能とする技術を提供するものである。
【課題を解決するための手段】
【０００８】
上記課題を解決する本発明は、記録再生装置であって、
記憶媒体に、データの送受信のためのクロックを供給するクロック供給手段と、
前記クロックに応じて前記記憶媒体にデータを送信し、前記記憶媒体が前記クロック供給手段により供給されたクロックに応じて送信したデータを前記クロックに応じて受信する送受信手段と、
前記送受信手段が前記記憶媒体からのデータを受信する場合に第一クロックを供給し、前記送受信手段が前記記憶媒体にデータを送信する場合に前記第一クロックよりも高速な第二クロックを供給するように制御する制御手段と、を備える。
【発明の効果】
【０００９】
本発明によれば、連続的にカードアクセスが発生する場合に、再チューニングを行なわずとも高速書き込みの信頼性を確保することを可能とする技術を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】発明の実施形態に対応する記録再生装置の構成例を示すブロック図。
【図２】発明の実施形態に対応するホストコントローラ回路１１１の構成例を示すブロック図。
【図３】発明の実施形態に対応する記録再生装置の動作の一例を示すフローチャート。
【図４】発明の実施形態に対応する記録再生装置の動作の一例を示すシーケンスチャート。
【図５】発明の実施形態に対応する記録再生装置の動作時の信号状態の一例を示すタイミングチャート。
【図６】発明の実施形態に対応するクロックに対するデータの遅延を説明するための図。
【発明を実施するための形態】
【００１１】
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下に説明する実施形態では、記録再生装置の一例として、接続されたメモリカードに対してデータの書き込み／読み出しが可能なデジタルカメラに、本発明を適用した例を説明する。しかし、本発明は、記録媒体に対するデータの書き込み／読み出しが可能な任意の機器（ホスト装置）に適用可能であり、デジタルカメラに限定されず、例えば、パソコン、携帯電話、スマートフォン、ＰＤＡ、デジタルビデオカメラ、タブレット端末、携帯型メディアプレーヤ等の任意のホスト装置、情報処理装置、撮像装置、データ生成装置等として実施することもできる。
【００１２】
図１は、本実施形態のデジタルカメラ１００の構成の一例を示すブロック図であり、撮影レンズ１０１は、被写体像をとらえ、絞り１０２によって光量を所定量に制限した後、撮像素子１０３上に被写体像を結像させる。結像した被写体像は、Ａ／Ｄコンバータ１０４でデジタル化され、画像処理部１０５でガンマ補正やホワイトバランス補正、ノイズリダクション処理等が行われる。本実施形態において、撮影レンズ１０１から画像処理部１０５までの構成を撮像部１０と呼ぶことにする。以下の実施形態では、撮像部１０から出力される画像データを記憶媒体であるメモリカード１１２に書き込む場合等について説明する。しかし、本発明が適用可能な対象は画像データに限定されるものではなく、音声データ、動画像データと音声データとを含むマルチメディアデータ、或いは、その他のメモリカード１１２への書き込み対象となり得る任意のデータであってもよい。これらの種類のデータを総称して情報データと呼ぶことができる。本発明の実施形態としての記録再生装置は、情報データを生成するために、撮像部１０に追加してマイク、Ａ／Ｄ変換器、音声処理部を含む音声生成部等を更に備えることができる。
【００１３】
撮像部１０は、データバス１０６に非圧縮画像データおよび画像表示用のデータを出力し、当該データはメモリ１１３に格納される。メモリ１１３は、例えばＤＲＡＭとして構成されても良い。ディスプレイ１０９は、画像や各種情報を表示する表示部であって、例えば液晶パネルで構成される。ディスプレイドライバ１１０は、メモリ１１３に格納（保持）されている画像表示用のデータを、ディスプレイ１０９用の表示信号に変換してディスプレイ１０９に逐次転送して表示する。これによりディスプレイ１０９は電子ビューファインダとして機能し、画像表示を行うことができる。画像サイズ変換部１０７は、本体に設定されている動画解像度設定に応じて、メモリ１１３に格納されている非圧縮画像データの画像サイズを変換する。たとえば、設定が「７２０Ｐ」の場合、ＦＵＬＬ−ＨＤ（１９２０ｘ１０８０画素）の非圧縮画像データから１２８０ｘ７２０画素に変換を行い、再びメモリ（ＤＲＡＭ）１１３に格納する。また、設定が「ＦＵＬＬ−ＨＤ」の場合は、画像サイズ変換部１０７は動作を行わない。
【００１４】
符号化処理部１０８は、メモリ１１３に格納されている非圧縮画像データを動画として圧縮符号化し、符号化動画データを生成し、再びメモリ１１３に格納する。メモリ１１３は、前述の作業用メモリとしての空間を提供するとともに、ストリームバッファ１１３Ａとしてのメモリ空間を提供する。具体的に、符号化処理部１０８が生成した符号化動画データは、メモリカード１１２への転送状況に応じて、メモリ１１３へデータ蓄積され、またメモリ１１３からデータ読み出しが行なわれ、これによりメモリカード１１２の記録速度との調停を行うことができる。
【００１５】
メモリカード１１２は、デジタルカメラ１００本体に対して着脱が可能な、ＮＡＮＤ型フラッシュメモリおよびフラッシュコントローラで構成された記憶媒体として構成することができる。また、メモリカード１１２は、ＰＣ互換性を持つＦＡＴ（Ｆｉｌｅ  Ａｌｌｏｃａｔｉｏｎ  Ｔａｂｌｅ）ファイルシステムでフォーマットされている。符号化動画データは、該フォーマットに則り、ファイル化されてメモリカード１１２に記録される。ホストコントローラ回路１１１は、後述の制御部１１５からの指示に基づいてメモリカード１１２に対してコマンド信号を送信し、メモリ１１３からメモリカード１１２への送信対象データである符号化動画データの記録を実行する。また、ホストコントローラ回路１１１は、メモリカード１１２から符号化動画データを読み出し、メモリ１１３へ符号化動画データを書き込む一連の動作（転送）も制御する。
【００１６】
操作部１１４は、ユーザが行う不図示の操作キーなどを通じた操作を受け付けるユーザインタフェースである。操作部１１４は、例えば、動画の撮影開始および撮影停止を指示するトリガーキー、撮影モードや再生モードなどのカメラのモードを設定するモードスイッチ、および各種設定項目の設定キーを含むことができる。制御部１１５は、例えばＣＰＵ等の１以上のプロセッサにより構成され、後述のＲＯＭ１１６に格納されているプログラムを実行し、後述する本実施形態の各処理を実現する。また、ディスプレイドライバ１１０等を制御することにより表示制御も行う。ＲＯＭ１１６は、電気的に消去・記録可能な不揮発性メモリであって、前述のプログラム、本体の設定内容等が格納される。ＲＯＭ１１６は、ハードディスク等のデータ格納装置として構成されても良い。システムクロック生成部１１７は、ホストコントローラ回路１１１や制御部１１５などの各ブロックが使用するクロックを、それぞれのブロックが必要な周波数で生成・供給する。
【００１７】
なお、図１は、本発明がデジタルカメラとして機能する場合を考慮して撮影レンズ１０１から画像処理部１０５で構成される撮像部を含む構成を示した。しかし、発明の実施形態としては、メモリカード１１２へのデータの書き込みを制御する装置であればよいので、撮像部を有しない構成で、データ記録装置、データ書込装置、或いは、カードリーダライタ等として実現することもできる。
【００１８】
次に、図２を参照してホストコントローラ回路１１１の構成及び動作について説明する。図２は、ホストコントローラ回路１１１の構成の一例を示すブロック図である。図２において点線枠で示す範囲は、ホストコントローラ回路１１１を示している。また、メモリカード１１２、メモリ１１３、制御部１１５もそれぞれ、図１の同一記号を付したブロックを示している。
【００１９】
ホストコントローラ２０１は、制御部１１５からの指示により、メモリカード１１２へのデータの送受信動作を制御するとともに、ホストコントローラ回路１１１の全体の制御を行う。バッファ２０２は、システムクロック生成部１１７からホストコントローラ回路１１１内の各ブロックに動作クロックを分配するために必要な信号駆動能力を確保する。レスポンス判定部２０３は、ホストコントローラ２０１からメモリカード１１２にコマンドを送信した後、メモリカードが応答したことを示すために送り返してくるレスポンス信号を受信し、その内容を判定する。
【００２０】
メモリインターフェース２０４は、メモリカード１１２に対して書き込むためのデータをメモリ１１３から読み出したり、またメモリカード１１２から読み出したデータをメモリ１１３に書き込んだりするためのインターフェースである。ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ：巡回冗長検査）ステータス判定部２０５は、メモリ１１３からメモリカード１１２にデータを送信した後、テータの転送が成功したか否かを示すために送り返してくるＣＲＣステータス信号を受信し、その内容を判定する。
【００２１】
読み出しクロック生成部２０６は、メモリカード１１２からのデータ受信におけるタイミングの基となるクロック（第一クロック）を生成・供給する。書き込みクロック生成部２０７は、メモリカード１１２へのデータ送信におけるタイミングの基となるクロック（第二クロック）を生成・供給する。このとき、第一クロックと第二クロックとは、システムクロック生成部１１７から供給される同一のクロック源から生成することができる。また、本実施形態では、第二クロックを第一クロックよりも高速のクロックとすることができる。言い換えれば、第二クロックの周波数は、第一クロックの周波数よりも高くすることができる。
【００２２】
コマンドバッファ２０８は、ホストコントローラ２０１からのコマンド信号を受け、出力Ｄ−フリップフロップ２１４との協調動作により、書き込みクロック生成部２０７からの書き込みクロック信号のタイミングに合わせてコマンド信号（ＣＭＤ）を送出する。レスポンスバッファ２０９は、入力Ｄ−フリップフロップ２１５との協調動作により、メモリカード１１２からのレスポンス信号を読み出しクロック生成部２０６からの読み出しクロック信号のタイミングで取り込み、レスポンス信号をレスポンス判定部２０３に送出する。
【００２３】
またＷｒｉｔｅデータバッファ２１０は、メモリインターフェース２０４を通じてメモリ１１３から読み出したデータを、出力Ｄ−フリップフロップ２１６との協調動作により、書き込みクロック生成部２０７からの書き込みクロック信号のタイミングに合わせてＷｒｉｔｅデータとして送出する（ＤＡＴ）。Ｒｅａｄデータバッファ２１１は、入力Ｄ−フリップフロップ２１７との協調動作により、メモリカード１１２からのデータを、読み出しクロック生成部２０６からの読み出しクロック信号のタイミングで取り込み（ＤＡＴ）、該取り込んだデータを、メモリインターフェース２０４を通じてメモリ１１３に送出する。ステータスバッファ２１２は、入力Ｄ−フリップフロップ２１８との協調動作により、メモリカード１１２からのＣＲＣステータス信号を、読み出しクロック生成部２０６からの読み出しクロック信号のタイミングで取り込み（ＤＡＴ）、該信号をＣＲＣステータス判定部２０５に送出する。クロック切替器２１３は、メモリカード１１２に送出するカードクロック信号（ＣＬＫ）として、読み出しクロック生成部２０６からのクロック信号か書き込みクロック生成部２０７からのクロック信号かどちらを出力するかを切り替える。入出力バッファ群２１９は、ホストコントローラ回路１１１とメモリカード１１２との間の各信号通信に必要な信号駆動能力を確保するとともに、ホストコントローラ２０１の指示に基づき、データの入出力方向の切り替えを行う。
【００２４】
なお、本実施形態のメモリカード１１２は、ホスト―カード間でのアクセスに使用するクロックはホストからカードへ一方向に供給されており、ホストからカードへのデータ送信時は、データまたは信号の送信方向とクロック供給の方向が同一となるので、ホストはクロックに対してカード側の規格で定められたセットアップ―ホールド期間を満たすタイミングでデータを送信する。
【００２５】
一方、カードからホストへのデータ送信時は、クロックの周波数が所定値以下の場合、カードは、ホストから送られてくるクロックに対してカード側の規格で定められた遅延量以内のタイミングでデータをホストに送信する。以後、これを「固定遅延量モード」と呼ぶことにする。また、クロックの周波数が所定値より高い場合、カードからのデータの出力タイミングは、クロックの立ち上がり、立ち下がりからの最小遅延、最大遅延で規定されず、温度などの影響により、カードにクロックを出力してからデータを受けるまでの遅延時間が変化する。以後、これを「可変遅延量モード」と呼ぶことにする。
【００２６】
本実施形態においては、読み出しクロック生成部２０６が生成する第一クロックは「固定遅延量モード」となるクロック周波数を有するクロックとする。この第一クロックは、該第一クロックに従ってメモリカード１１２を動作させた場合に想定される出力データの遅延が、第一クロックの立ち上がりまたは立ち下がりから所定の期間内に収まるような周波数を有する。また、書き込みクロック生成部２０７が生成する第二クロックは「可変遅延量モード」となるクロック周波数を有するクロックとする。この第二クロックは、該第二クロックに従ってメモリカード１１２を動作させた場合に想定される出力データの遅延が、該第二クロックの立ち上がりまたは立ち下がりからの所定の遅延時間で規定されず、かつ、動作条件に応じて異なり得る周波数を有する。本実施形態では、例えば、後述する図５に示すように、第一クロックの周波数を１００ＭＨｚとし、第二クロックの周波数を２００ＭＨｚとすることができるが、これらはあくまで一例にすぎない。
【００２７】
ここで、図６を参照し、クロックとデータの遅延との関連について一例を説明する。図６（ａ）は、クロックの立ち上がりに対しデータが遅延する例を示し、図６（ｂ）はクロックの立ち下がりに対してデータが遅延する例を示している。
【００２８】
まず、図６（ａ）において、クロック６０１の立ち上がりに対し、データ６０２がＴｄ１だけ遅延している。この場合、タイミング６０３や６０５ではデータのラッチに失敗するが、タイミング６０４ではラッチに成功する。また、図６（ｂ）において、クロック６０６の立ち下がりに対し、データ６０７がＴｄ２だけ遅延している。この場合、タイミング６０８や６１０ではデータのラッチに失敗するが、タイミング６０９ではラッチに成功する。上記の固定遅延量モードでは、クロックの立ち上がりや立ち下がりからのデータの遅延量が規定の範囲内に収まるため、予め定められ位置でラッチすることによりデータを受信することができる。一方、可変遅延量モードでは、遅延量が条件によって変化するため、固定的なタイミングでラッチしてもデータを正確に受信することができない。但し、可変遅延量モードが問題となるのは上記のように、メモリカード１１２からのデータの読出し時であり、本実施形態では、データの読出し時には固定遅延量モードの低速のクロック周波数を使用するので、可変遅延量に起因してデータの受信に失敗するという問題は生じ得ない。
【００２９】
以上の構成における、本実施形態のデジタルカメラ１００のカメラ撮影モードにおける動作を説明する。図３は、本実施形態のデジタルカメラ１００のカメラ撮影モードにおける動作を示すフローチャートである。該フローチャートに対応する処理は、例えば、制御部１１５として機能する１以上のプロセッサが対応するプログラム（ＲＯＭ１１６等に格納）を実行し、ホストコントローラ回路１１１等の各ブロックの動作を制御することにより実現できる。
【００３０】
まず、デジタルカメラ１００の電源が投入され、デジタルカメラ１００の動作モードがカメラ撮影モードにセットされると、Ｓ３０１にて、メモリインターフェース２０４がメモリカード１１２からファイルシステム情報を読み出し、メモリカード１１２を記録可能な状態にするマウント処理を実行する。このように、電源投入後、メモリカード１１２へのデータの記録が開始される前に、マウント処理が実行される。続くＳ３０２では、制御部１１５は、ユーザが操作部１１４を操作して行なった記録指示を受付けたか否かを判定する。記録指示を受付けたと判定した場合、処理はＳ３０３に進む。一方、記録指示を受付けていないと判定された場合はＳ３０２に戻ってユーザからの指示の受付けを監視する。Ｓ３０３では、制御部１１５は撮像部を制御し記録指示に応じて動画の記録を開始し、生成された非圧縮画像データをメモリ１１３に格納する。続くＳ３０４では、符号化処理部１０８が、メモリ１１３に記憶された非圧縮画像データに対しＨ．２６４、ＭＰＥＧ−２等のフレーム間符号化、あるいはイントラ符号化を行ない、メモリ１１３上のストリームバッファ１１３Ａの領域に符号化ストリームデータを蓄積していく。
【００３１】
続くＳ３０５では制御部１１５は、ユーザが操作部１１４を操作して行なった録画停止の指示を受付けたか否かを判定する。もし、録画停止指示を受付けたと判定した場合、処理はＳ３０９に進む。一方、録画停止指示を受付けていないと判定した場合には、処理はＳ３０６に進む。まず、Ｓ３０６にて、制御部１１５はストリームバッファ１１３に蓄積された符号化ストリームデータの蓄積量が、所定量（例えば２ＭＢ）を超えたか否かを判定する。制御部１１５が、蓄積量が所定量を超えたと判定した場合、処理はＳ３０７に進む。一方、蓄積量が所定量を超えていないと判定した場合、蓄積量の監視を継続する。続くＳ３０７において、制御部１１５は、ホストコントローラ回路１１１に対して、所定量のデータをメモリカード１１２に書き込むためのＷｒｉｔｅコマンドを発行するように指示を出す。また、ホストコントローラ回路１１１は、メモリ１１３上のストリームバッファ１１３Ａからメモリカード１１２への符号化ストリームデータの書き込みを行う。なお、このＷｒｉｔｅコマンドによる動作の詳細は、後に述べる。その後、Ｓ３０８にて、ホストコントローラ２０１はＦＡＴアップデートを実行し、処理はＳ３０５に戻る。
【００３２】
また、Ｓ３０５にて録画停止指示を受付けたとして、処理はＳ３０９に進んだ場合、Ｓ３０９では、ホストコントローラ２０１がストリームバッファ１１３Ａに残っている符号化ストリームデータのメモリカード１１２への書き込みを実行する。その後、Ｓ３１０にて、ホストコントローラ２０１はＦＡＴアップデートを行ない、Ｓ３１１にて録画が停止する。その後処理はＳ３０２に戻り、ユーザからの録画開始操作待ちの状態になる。
【００３３】
以下に、Ｗｒｉｔｅコマンドによるデータの書き込み処理に関連する動作の詳細を述べる。図４は、Ｗｒｉｔｅコマンドによるデータの書き込み処理に関連する動作の詳細を示すシーケンスチャートである。また図５は、Ｗｒｉｔｅコマンド時の、ホストおよびメモリカードの間の信号状態を時間経過に沿って示すタイミングチャートである。
【００３４】
図４において、ホストコントローラ２０１、メモリカード１１２、制御部１１５はそれぞれ図１および図２の同一記号を付したブロックを示しており、それぞれの間でなされる操作および通信、データ転送などを時間の経過に沿って示している。Ｓ４０１にて、制御部１１５がホストコントローラ２０１に対しＷｒｉｔｅコマンドの実行を指示すると、Ｓ４０２にて、ホストコントローラ２０１はクロック切替器２１３を第二クロック側に切替える。次にＳ４０３にて、ホストコントローラ２０１は、メモリカードへクロック出力を開始する。
【００３５】
このときの、クロックの様子は、図５に示す通りである。図５では、メモリカード１１２の入出力ラインであるクロック（ＣＬＫ）、コマンド（ＣＭＤ）、データ（ＤＡＴ）を時間経過に対応させて示している。タイミング５０１において、ホストコントローラ２０１がクロック切替器２１３を第二クロック側に切替えて、クロック信号は２００ＭＨｚの信号となる。
【００３６】
図４に戻り、Ｓ４０４にて、ホストコントローラ２０１はコマンドバッファ２０８を制御し、メモリカードに対してＷｒｉｔｅコマンドを発行する。ホストコントローラ２０１は、Ｗｒｉｔｅコマンドの発行を完了すると、Ｓ４０５にてクロック切替器２１３を第一クロック側にセットし、メモリカード側からのコマンドレスポンス送信を待つ。
【００３７】
図５は、Ｓ４０４における処理に対応してタイミング５０２においてＣＭＤ上でＷｒｉｔｅコマンドがホスト側からカード側に対して発行されたことを示している。Ｗｒｉｔｅコマンドはタイミング５０２から５０３の間において発行される。そして、Ｗｒｉｔｅコマンドが完了すると、タイミング５０３において、ＣＬＫが１００ＭＨｚのクロック信号に切り替る。本実施形態において、第二クロックは、第一クロックの２倍の速度となっている。但し、第二クロックが第一クロックよりも高速であれば良く、必ずしも２倍に限定されるものではない。図５では、第二クロックを２００ＭＨｚとし、第一クロックを１００ＭＨｚとしている。
【００３８】
その後、Ｓ４０６にてメモリカード１１２からホストコントローラ回路１１１にコマンドレスポンスが送信され、レスポンスバッファ２０９がその受信を完了すると、レスポンス判定部２０３がコマンドレスポンスの内容を判定する。ここで、コマンドレスポンスにエラーを示す情報が含まれていた場合、Ｓ４０７にてホストコントローラ２０１から制御部１１５にエラー割り込みを入れ、コマンドレスポンスの内容を通知する。レスポンス判定部２０３がエラーを検出しなければＳ４０８にて、ホストコントローラ２０１はクロック切替器２１３を第二クロック側に切替える。図５は、タイミング５０３で１００ＭＨｚにクロック信号が切り替った後、ＣＭＤ上でメモリカード１１２からホストコントローラ回路１１１がレスポンスを受信することを示している。そして、タイミング５０４にてレスポンスの受信が完了すると、ＣＬＫが１００ＭＨｚから２００ＭＨｚに切り替る。
【００３９】
次にＳ４０９にて、ホストコントローラ２０１は、メモリインターフェース２０４を介してメモリ１１３から取得したデータのメモリカード１１２への送信を、Ｗｒｉｔｅデータバッファ２１０を介して開始する。なお、このデータ送信は所定サイズ（例えば、５１２バイト）の「ブロック」を１単位として行い、ブロック単位の通信が終了する度に、１ブロック分の受信データについてメモリカード１１２側が行なった動作に関するステータス、例えば、通信エラーがなかったか否かを示すＣＲＣステータスがメモリカード１１２からホストコントローラ２０１に返される。
【００４０】
具体的に、１ブロックのデータ送信が終了すると、ホストコントローラ２０１は、Ｓ４１０にてクロック切替器２１３を第一クロック側に切替え、メモリカード１１２側からのＣＲＣステータス送信を待つ。その後Ｓ４１１にてメモリカード１１２からホストコントローラ回路１１１にＣＲＣステータスが送信され、ステータスバッファ２１２においてその受信が完了する。その後ＣＲＣステータス判定部２０５がＣＲＣステータスの内容を判定する。もし、ブロック通信が失敗したことを示すエラー情報が含まれていた場合、Ｓ４１２にて、ホストコントローラ２０１は制御部１１５に転送エラーを示すエラー割り込みを入れ、ＣＲＣステータスの内容を通知する。次にＳ４１３にて、ホストコントローラ２０１はクロック切替器２１３を第二クロック側に切替える。
【００４１】
図５は、タイミング５０４で２００ＭＨｚにクロック信号が切り替った後、ＤＡＴ上でブロックデータの送信を行い、タイミング５０６にて１ブロック分のデータ送信が完了すると、ＣＬＫが２００ＭＨｚから１００ＭＨｚに切り替ることを示している。そして、ＣＬＫが１００ＭＨｚの間にステータスがメモリカード１１２からホストコントローラ回路１１１へ送信される。タイミング５０７でステータスの送信が完了すると、ＣＬＫが１００ＭＨｚから２００ＭＨｚに切り替る。
【００４２】
上述のＳ４０９からＳ４１３の動作は、Ｓ４０１におけるＷｒｉｔｅ指示に伴って制御部１１５からホストコントローラ２０１に通知された転送ブロック数に相当する回数だけ繰り返される。データ転送がすべて終了すると、Ｓ４１４にて、ホストコントローラ２０１は制御部１１５にＷｒｉｔｅコマンドの終了を示す終了割り込みを行なう。その後Ｓ４１５にて、制御部１１５はホストコントローラ２０１に対し、メモリカード１１２にデータ転送の終了を通知するためのＳｔｏｐコマンドの発行を指示する。続くＳ４１６では、ホストコントローラ２０１は、コマンドバッファ２０８を制御して、メモリカード１１２に対してＳｔｏｐコマンドを発行する。ホストコントローラ２０１は該コマンドの発行が完了すると、Ｓ４１７にてクロック切替器２１３を第一クロック側に切替えし、メモリカード１１２側からのコマンドレスポンス送信を待つ。
【００４３】
その後Ｓ４１８にてメモリカード１１２からホストコントローラ回路１１１にコマンドレスポンスが送信されると、レスポンスバッファ２０９が受信する。受信したコマンドレスポンスの内容は、レスポンス判定部２０３によって判定され、コマンドレスポンスにエラーを示す情報が含まれていた場合、Ｓ４１９にてホストコントローラ２０１が制御部１１５にエラー割り込みを行なってコマンドレスポンスの内容を通知する。該エラー通知がなければＳ４２０にて、ホストコントローラ２０１はクロック切替器２１３を第二クロック側に切替え、Ｓ４２１にて、クロックの出力が停止する。最後にＳ４２２にて、ホストコントローラ２０１から制御部１１５にＳ４０１からの一連のＷｒｉｔｅ指示の動作が終了したことを示すＷｒｉｔｅ終了割り込みを行なって一連の動作を終了する。
【００４４】
図５の下段では最終ブロックデータの書き込みが完了し、ＣＬＫが２００ＭＨｚから１００ＭＨｚに切り替った後、ステータスがメモリカード１１２からホストコントローラ回路１１１へ送信される。タイミング５０８でステータスの送信が完了すると、ＣＬＫが１００ＭＨｚから２００ＭＨｚに切り替り、タイミング５０９においてＳｔｏｐコマンドがＣＭＤ上でホストコントローラ回路１１１からメモリカード１１２へ送信される。コマンド送信がタイミング５１０で完了すると、ＣＬＫが１００ＭＨｚに切り替わり、メモリカード１１２からのレスポンスの送信がタイミング５１１まで行なわれる。レスポンスの受信が完了すると、ＣＬＫは再び２００ＭＨｚに切り替る。
【００４５】
以上の本実施形態の構成では、可変遅延量の影響を受けない、ホストコントローラ回路１１１からメモリカード１１２へのコマンド送信時および書込データ送信時は、「可変遅延量モード」となる高速クロック周波数によるアクセスを行う。その一方で、メモリカード１１２からのコマンドレスポンスやＣＲＣステータスの受信時、及び、読出データの受信時は「固定遅延量モード」となるクロック周波数でのアクセスとする。これにより、高速クロック周波数を用いるのがカードへの書き込み時に限定されるので、高速カード書き込みが連続して長時間発生している場合でも再チューニングを必要とせず、高速書き込みの信頼性を確保することができる。
【００４６】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００４７】
１０  撮影部、１１１  ホストコントローラ回路、１１２  メモリカード、１１３  メモリ、１１５  制御部、２０１  ホストコントローラ
【図１】
2018147260.tif 000003
【図２】
2018147260.tif 000004
【図３】
2018147260.tif 000005
【図４】
2018147260.tif 000006
【図５】
2018147260.tif 000007
【図６】
2018147260.tif 000008