(57)【要約】【課題】記録媒体から読み出すデータの信頼性を確保しつつ、不要なチューニング処理によるパフォーマンス低下を防止する。【解決手段】記録再生装置は、記録媒体に対してクロック信号を出力と共に、クロック信号を遅延させることにより得られたタイミング信号に応じて、記録媒体から送信されたデータを取得する。また記録再生装置は、記録媒体に対するアクセス要求に応じて、所定のデータ列を有する所定のデータの出力命令を記録媒体に出力するように制御する。このとき記録再生装置は、所定のデータの出力命令に応じて記録媒体から送信されて取得されたデータが所定のデータ列を有していることを確認する。【選択図】図５
2014238776.tif 000002
【特許請求の範囲】
【請求項１】
記録媒体に対してクロック信号を出力する出力手段と、
前記記録媒体に命令を送信すると共に、前記クロック信号を遅延させることにより得られたタイミング信号に応じて、前記記録媒体から送信されたデータを取得する通信手段と、
前記記録媒体に対するアクセス要求に応じて、所定のデータ列を有する所定のデータの出力命令を前記記録媒体に出力するように前記通信手段を制御する制御手段と、を有し、
前記制御手段は、前記所定のデータの出力命令に応じて前記記録媒体から送信されて前記通信手段により取得されたデータが前記所定のデータ列を有していることを確認する
ことを特徴とする記録再生装置。
【請求項２】
前記制御手段は、前記記録媒体に対するアクセス要求が所定の条件を満たす場合に、前記出力命令を前記記録媒体に出力するように前記通信手段を制御することを特徴とする請求項１に記載の記録再生装置。
【請求項３】
前記制御手段は、前記アクセス要求に応じた命令が前記通信手段から前記記録媒体に送信される前に、前記所定のデータの出力命令に応じて前記記録媒体から送信されて前記通信手段により取得されたデータが前記所定のデータ列を有していることを確認することを特徴とする請求項１に記載の記録再生装置。
【請求項４】
前記制御手段は、前記取得されたデータが前記所定のデータ列を有している場合、前記アクセス要求に応じた命令を前記記録媒体に送信するように、前記通信手段を制御することを特徴とする請求項３に記載の記録再生装置。
【請求項５】
前記制御手段は、前記取得されたデータが前記所定のデータ列を有していない場合、前記タイミング信号の位相の調整処理を実行することを特徴とする請求項１に記載の記録再生装置。
【請求項６】
前記制御手段は、前記調整処理において、前記所定のデータの出力命令を複数回出力し、前記複数回の出力命令それぞれに対して前記記録媒体から送信されるデータを、異なる遅延量により前記クロック信号を遅延させることにより得られた前記タイミング信号に応じて取得するように前記通信手段を制御し、前記異なる遅延量により遅延されたタイミング信号に応じて取得されたデータに基づいて前記タイミング信号の遅延量を設定することを特徴とする請求項５に記載の記録再生装置。
【請求項７】
前記通信手段は、前記クロック信号の位相を、前記クロック信号の周期よりも短い所定の期間ずつ遅延させることにより変更可能な遅延手段を有し、前記制御手段は、前記遅延手段による遅延量を変更することにより前記タイミング信号の位相を変更することを特徴とする請求項１に記載の記録再生装置。
【請求項８】
前記制御手段は、前記記録媒体に対するアクセス要求に応じて、前記所定のデータの出力命令を複数回出力し、前記複数回の出力命令それぞれに対して前記記録媒体から送信されるデータを、現在の位相、及び、現在の位相よりも前後にそれぞれ前記所定の期間ずつ異なる位相のタイミング信号に応じて取得するように前記通信手段を制御し、前記取得されたデータがそれぞれ前記所定のデータ列を有していることを確認することを特徴とする請求項７に記載の記録再生装置。
【請求項９】
前記アクセス要求は、前記記録媒体に対するデータの書き込み要求と、前記記録媒体からのデータの読み出し要求とを含むことを特徴とする請求項１から８の何れか１項に記載の記録再生装置。
【請求項１０】
記録再生装置の出力手段が、記録媒体に対してクロック信号を出力する出力工程と、
前記記録再生装置の通信手段が、前記記録媒体に命令を送信すると共に、前記クロック信号を遅延させることにより得られたタイミング信号に応じて、前記記録媒体から送信されたデータを取得する通信工程と、
前記記録再生装置の制御手段が、前記記録媒体に対するアクセス要求に応じて、所定のデータ列を有する所定のデータの出力命令を前記記録媒体に出力するように前記通信工程の動作を制御する制御工程と、を有し、
前記制御手段は前記制御工程において、前記所定のデータの出力命令に応じて前記記録媒体から送信されて前記通信工程において取得されたデータが前記所定のデータ列を有していることを確認する
ことを特徴とする記録再生装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は記録再生装置及び制御方法に関し、特に記録媒体に対するデータ書き込み／読み出しに係るタイミング制御技術に関する。
【背景技術】
【０００２】
従来、メモリカード等の記録媒体に画像データや音声データ等を書き込み、あるいは記録媒体に記録されたデータを読み出して再生する装置が存在する。このような記録媒体が接続される装置（ホスト装置）と記録媒体との間におけるデータの読み書きは、ホスト装置で発生されるクロック信号に合わせて行われる。データの読み書きやコマンドに対するレスポンスはクロック信号の１つのクロックパルスを送信してから、書き込みあるいは読み出しの対象となるデータの送受信あるいはレスポンスの受信が行われる。このため、クロックパルスとデータやレスポンスとは完全に同期したタイミングで送受信されるものではない。例えば、ＳＤメモリカードからデータの読み出しを行う場合、ホスト装置からカードにクロックパルスが与えられてからデータ送信が行われるまでは、規格化された固定値の分だけ遅延することになる。このため、ホスト装置はクロックパルスの送信から固定値分遅延させて記録媒体から送信されたデータをラッチすることで、記録媒体から送信されたデータを取得している。
【０００３】
一方で、近年このような記録媒体に対する読み書きデータレートの向上に伴い、クロックパルスの送信を高速化する必要があり、データ取得のためのクロックパルスからの遅延量は、固定値で規定することが困難になっている。これに対し、ＳＤメモリカードの高速規格であるＵＨＳ−Ｉ（Ultra High Speed）では、高速クロックを使用してデータの読み出しを行う場合、カードごとにデータラッチのタイミングを調整した上でデータ読み出しを行うことが規定されている。該ラッチタイミングの調整作業はチューニングと呼ばれる（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１５７０５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
記録媒体に対するチューニングに係る処理は、一般的にはホスト装置のシステム起動時あるいはホスト装置において記録媒体が認識された際に行われる。しかしながら、クロックパルスからの遅延量は記録媒体の温度等の外的要因によって変動しうるため、起動時や媒体認識時のチューニングが有効とならない可能性があった。即ち、起動時や媒体認識時にチューニングが行われたとしても、外的要因による遅延量の変動によって、データの読み書きが失敗する可能性があった。
【０００６】
そこで、起動時や媒体確認時以外のタイミングで再度チューニングを行う方法が考えられる。しかし、チューニング処理を行う間はデータの書き込みや読み出しができないため、過度にチューニングに係る処理を実行することは、反対にデータの書き込み／読み出し効率を低下させる可能性があった。
【０００７】
本発明は、上述の問題点に鑑みてなされたものであり、記録媒体から読み出すデータの信頼性を確保しつつ、不要なチューニング処理によるパフォーマンス低下を防止する記録再生装置及び制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
前述の目的を達成するために、本発明の記録再生装置は、以下の構成を備えることを特徴とする。具体的には記録再生装置は、記録媒体に対してクロック信号を出力する出力手段と、記録媒体に命令を送信すると共に、クロック信号を遅延させることにより得られたタイミング信号に応じて、記録媒体から送信されたデータを取得する通信手段と、記録媒体に対するアクセス要求に応じて、所定のデータ列を有する所定のデータの出力命令を記録媒体に出力するように通信手段を制御する制御手段と、を有し、制御手段は、所定のデータの出力命令に応じて記録媒体から送信されて通信手段により取得されたデータが所定のデータ列を有していることを確認することを特徴とする。
【発明の効果】
【０００９】
このような構成により本発明によれば、記録媒体から読み出すデータの信頼性を確保しつつ、不要なチューニング処理によるパフォーマンス低下を防止することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係るデジタルカメラ１００の機能構成を示したブロック図
【図２】本発明の実施形態に係るメモリカードコントローラ１１３の内部構成を示したブロック図
【図３】本発明の実施形態に係るデジタルカメラ１００において実行されるチューニング処理を例示したフローチャート
【図４】本発明の実施形態に係るチューニング処理による遅延段数の決定方法を説明するための図
【図５】本発明の実施形態１に係るデジタルカメラ１００において実行される遅延チェック処理を例示したフローチャート
【図６】本発明の実施形態１に係る遅延チェック処理による動作を説明するための図
【図７】本発明の実施形態２に係るデジタルカメラ１００において実行される遅延チェック処理を例示したフローチャート
【図８】本発明の実施形態２に係る遅延チェック処理において、受信結果の判断に使用されるパターンを例示した図
【発明を実施するための形態】
【００１１】
［実施形態１］
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下に説明する一実施形態は、記録再生装置の一例としての、接続されたメモリカードに対してデータの書き込み／読み出しが可能なデジタルカメラに、本発明を適用した例を説明する。しかし、本発明は、記録媒体に対するデータの書き込み／読み出しが可能な任意の機器（ホスト装置）に適用可能である。
【００１２】
《デジタルカメラ１００の構成》
図１は、本発明の実施形態に係るデジタルカメラ１００の機能構成を示すブロック図である。
【００１３】
メインマイコン１１８は、例えばＣＰＵである。メインマイコン１１８は、デジタルカメラ１００が有する各ブロックの動作を制御する。具体的にはメインマイコン１１８は、ＲＯＭ１１９に記憶された、各ブロックに対して後述の各種シーケンスを実行させるためのプログラムを読み出し、ＳＤＲＡＭ１１６に展開して実行することにより各ブロックの動作を制御する。またメインマイコン１１８は、後述の液晶ドライバ１１２を制御することで液晶パネル１１１の表示制御も行う。
【００１４】
ＲＯＭ１１９は、例えば電気的にデータの消去・記録が可能な不揮発性メモリである。ＲＯＭ１１９は、デジタルカメラ１００が有する各ブロックの動作プログラムだけでなく、各ブロックの動作において必要となる定数等の情報を記憶する。
【００１５】
撮像素子１０３は、例えばＣＣＤやＣＭＯＳセンサである。撮像素子１０３は、撮影レンズ１０１により撮像面に結像された被写体像を光電変換し、アナログ画像信号を出力する。撮影レンズ１０１により結像される被写体像の光量は、メインマイコン１１８による絞り１０２の開口量制御により制限される。撮像素子１０３により出力されたアナログ画像信号は、Ａ／Ｄ変換器１０４によりＡ／Ｄ変換処理が適用されることで、デジタルの画像データに変換される。得られた画像データは、画像処理部１０５においてガンマ補正、ホワイトバランス補正、ノイズリダクションに係る処理が適用された後、フレームメモリ１０６に非圧縮画像データとして格納される。このような撮影レンズ１０１、絞り１０２、撮像素子１０３、Ａ／Ｄ変換器１０４、画像処理部１０５、及びフレームメモリ１０６により、本実施形態のデジタルカメラ１００の撮像部が構成される。
【００１６】
ＪＰＥＧ符号化部１０８は、本実施形態のデジタルカメラ１００が静止画像を記録する際の符号化形式（ＪＰＥＧ形式）に従って、非圧縮画像データを圧縮符号化し、ＪＰＥＧ静止画像データを生成する。またＭＰＥＧ符号化部１０９は、本実施形態のデジタルカメラ１００が動画像を記録する際の動画符号化形式（ＭＰＥＧ形式）に従って、非圧縮画像データをフレームとして圧縮符号化し、ＭＰＥＧ動画像データを生成する。ＪＰＥＧ符号化部１０８及びＭＰＥＧ符号化部１０９により生成された各種データは、データバス１０７を介してＳＤＲＡＭ１１６に一時的に書き込まれる。
【００１７】
ＳＤＲＡＭ１１６は、揮発性メモリである。ＳＤＲＡＭ１１６には、ＪＰＥＧ符号化部１０８及びＭＰＥＧ符号化部１０９により生成されたデータに加え、液晶パネル１１１への表示用に変換された画像データが格納される。またＳＤＲＡＭ１１６は、メモリカード１１５へのデータ書き込みにおいて、書き込み状況に応じたデータ読み出し、及びメモリカード１１５との間の記録速度の調停を行うためのバッファメモリ空間として利用される。
【００１８】
液晶パネル１１１は、例えばＬＣＤ等のデジタルカメラ１００が有する表示装置である。上述したように、液晶パネル１１１の表示制御はメインマイコン１１８により行われる。具体的にはメインマイコン１１８からの命令を受けた液晶ドライバ１１２が、ＳＤＲＡＭ１１６に格納されている表示用の画像データを液晶表示信号に変換して液晶パネル１１１に出力することで、表示制御が行われる。また液晶パネル１１１は、画素数変換回路１１０により液晶パネル１１１の表示画素数に変更された非圧縮画像データが液晶表示信号に変換されて入力されることで、電子ビューファインダとして機能する（スルー表示）。
【００１９】
メモリカード１１５は、デジタルカメラ１００に着脱可能に接続されることで、データの書き込み／読み出しが可能な記録媒体である。本実施形態ではメモリカード１１５は、ＮＡＮＤ型フラッシュメモリで構成されているメモリカードであり、ＰＣ互換性を持つＦＡＴ（File Allocation Table）ファイルシステムに準拠したフォーマットでデータの管理がなされる。メモリカード１１５は、カードスロット１１４を介してデジタルカメラ１００に接続される。カードスロット１１４は、カード検出スイッチを有しており、カードスロット１１４にメモリカード１１５が装着されたことを検出すると、検出信号をメインマイコン１１８に出力する。
【００２０】
メモリカード１１５へのデータの書き込み、及びメモリカード１１５からのデータの読み出し等の通信は、メモリカードコントローラ１１３により行われる。メモリカードコントローラ１１３は、データの書き込み時はＳＤＲＡＭ１１６から記録用のデータを読み出し、メモリカード１１５への書き込みを行う。またメモリカードコントローラ１１３は、データの読み出し時はメモリカード１１５からデータを読み出し、ＳＤＲＡＭ１１６に格納する。
【００２１】
〈メモリカードコントローラ１１３の構成〉
ここで、本実施形態のメモリカードコントローラ１１３の詳細構成について図２（ａ）を用いて詳細を説明する。
【００２２】
メモリカードコントローラ１１３は、メモリカード１１５へのデータの書き込み及び読み出しにおいて、ＣＬＫライン、ＣＭＤライン、及びＤＡＴラインを介して信号及びデータの送受信を行う。具体的には、クロック源２０１は、読み書きのタイミング制御に利用される、クロックパルスで構成されたクロック信号（ＣＬＫ信号）をＣＬＫラインを介して出力する。ホストコントローラ２０２は、読み書きに係るコマンド信号の出力、及びメモリカード１１５からのコマンドに対するレスポンス信号の受信を、ＣＭＤラインを介して行う。またホストコントローラ２０２は、メモリカード１１５に書き込むデータ、あるいはメモリカード１１５から読み出したデータを、ＤＡＴラインを介して送受信する制御を行う。
【００２３】
データの読み書きにおいて、上述したようにクロックパルスとデータの送受信のタイミングは異なる。このため、遅延素子２０３は例えばメモリカード１１５からのデータの読み出し時にクロック信号の位相をメインマイコン１１８の制御に従って遅延させ、メモリカード１１５から出力されたデータをラッチするタイミング信号を生成する。そしてフリップフロップ２０４は、遅延素子２０３から出力されたタイミング信号に従って、メモリカード１１５から出力されたデータをラッチする。なお、コマンドの入出力、及びデータの送受信に応じたＣＭＤラインとＤＡＴラインとの間の切り替えは、信号分岐部２０５により行われる。
【００２４】
さらに、遅延素子２０３の内部構成について、図２（ｂ）を用いて説明する。遅延素子２０３は、所定数の遅延回路２０６と、各遅延回路２０６からの出力のうちの１つを選択するセレクタ２０７とで構成される。本実施形態の遅延素子２０３は、１５個の遅延回路２０６を有し、遅延段数を１６段階に変更可能であるものとして説明する。各遅延回路２０６は、クロック源２０１が出力したクロック信号、あるいは直前の遅延回路２０６から出力されたクロック信号を、所定の時間だけ遅延させる。本実施形態では各遅延回路２０６における遅延量は、クロック源２０１からの出力されるクロックパルス周期の１／１６の期間であるとし、全ての遅延回路２０６で遅延がなされることでクロックパルスは１周期分の遅延量となるものとする。セレクタ２０７は、メインマイコン１１８からの指示に応じて、クロック源２０１及び各遅延回路２０６のいずれかが出力したクロック信号を、フリップフロップ２０４の動作クロック（ラッチクロック）として出力する。このように、セレクタ２０７が選択するクロック信号を変更することで、フリップフロップ２０４の動作クロックが有する遅延量を調整可能である。
【００２５】
また、本実施形態のデジタルカメラ１００は、操作入力部１１７を有する。操作入力部１１７は、デジタルカメラ１００が備えるユーザインタフェースである。操作入力部１１７は、デジタルカメラ１００に設けられた各種操作キーがユーザによって操作された場合、該操作により出力される信号を受信し、操作に対応する制御信号をメインマイコン１１８に出力する。
【００２６】
《動作概要》
以下、まず本実施形態のデジタルカメラ１００の各ブロックの動作について、その概要を説明する。
【００２７】
デジタルカメラ１００が動画撮影モードで起動されると、メインマイコン１１８は、動画撮影の待機状態に各ブロックを制御する。具体的にはメインマイコン１１８は、撮像部を駆動させて撮像動作を開始させ、順次得られた画像データを液晶パネル１１１に表示させ、スルー表示状態とする。
【００２８】
撮影待機状態において撮影開始指示に対応する制御信号を操作入力部１１７から受信すると、メインマイコン１１８は、ＭＰＥＧ符号化部１０９を制御し、非圧縮画像データの符号化処理を開始させる。そして、符号化処理により生成された動画像データに係るデータを順次ＳＤＲＡＭ１１６に格納させる。メインマイコン１１８は、ＳＤＲＡＭ１１６に格納された動画像データのデータ量が、メモリカード１１５への書き込みを開始する閾値に達したかを監視し、達した場合に書き込み処理を開始する。
【００２９】
メモリカードコントローラ１１３は、メインマイコン１１８からの書き込み指示に応じて、ＳＤＲＡＭ１１６から動画像データを読み出し、カードスロット１１４を介してメモリカード１１５に書き込む。このとき、メモリカードコントローラ１１３のホストコントローラ２０２は、メモリカード１１５に対して繰り返し書き込みコマンドを発行する。これにより、動画像データは所定量ずつＳＤＲＡＭ１１６から読み出されてメモリカード１１５に書き込まれる。
【００３０】
本実施形態では、メモリカード１１５に書き込み可能なデータレートは、ＭＰＥＧ符号化部１０９により符号化された動画像データがフレームメモリ１０６に格納される際のデータレートよりも大きいものとする。この場合、メモリカードコントローラ１１３による書き込み処理が開始されると、ＳＤＲＡＭ１１６に格納されている、未記録の動画像データのデータ量は徐々に減少する。メインマイコン１１８は、メモリカードコントローラ１１３による書き込みが開始された後、ＳＤＲＡＭ１１６に格納されている動画像データのデータ量が所定値まで減少したことを検出すると、メモリカードコントローラ１１３による書き込み処理を停止させる。また、その後ＳＤＲＡＭ１１６に格納されている動画像データのデータ量が書き込み処理を開始する閾値に達すると、メインマイコン１１８は再びメモリカードコントローラ１１３にメモリカード１１５への書き込みを開始させる。
【００３１】
このように、動画像データの撮影開始指示がなされた後、メモリカードコントローラ１１３はメモリカード１１５に対して間欠的に動画像データを書き込む。
【００３２】
また撮影中に撮影終了、即ち記録停止の指示に対応する制御信号を操作入力部１１７から受信すると、メインマイコン１１８は、ＭＰＥＧ符号化部１０９による符号化処理を停止させる。そしてメインマイコン１１８は、メモリカードコントローラ１１３にＳＤＲＡＭ１１６に残存する未記録の動画像データのメモリカード１１５への書き込みを実行させた後、メモリカード１１５への記録処理を停止させる。
【００３３】
また撮影待機状態において静止画記録指示に対応する制御信号を操作入力部１１７から受信すると、メインマイコン１１８は撮像部に静止画記録の指示に対応する１画面分の非圧縮画像データを出力させる。メインマイコン１１８は該非圧縮画像データをＪＰＥＧ符号化部１０８に符号化させ、得られた静止画像データをＳＤＲＡＭ１１６に格納させる。そしてメモリカードコントローラ１１３はメインマイコン１１８の制御の下、ＳＤＲＡＭ１１６に格納された静止画像データをメモリカード１１５に書き込む処理を行う。
【００３４】
《チューニング処理》
以下、上述のような構成を有する本実施形態のデジタルカメラ１００において実行される遅延段数の調整処理であるチューニング処理について図３のフローチャートを用いて詳細を説明する。本チューニング処理は、例えば、デジタルカメラ１００にメモリカード１１５が接続されてから記録処理の開始指示がなされるまでの間、あるいはデジタルカメラ１００の起動後から記録処理の開始指示がなされるまでの間に実行されるものとして説明する。なお、本チューニング処理の実行中は、記録処理の開始指示がなされたとしても、メインマイコン１１８は記録処理を実行しないものとする。また、本チューニング処理は、メインマイコン１１８がメモリカードコントローラ１１３を制御することにより、メモリカードコントローラ１１３の各ブロックが対応する処理を実行する。このため、メインマイコン１１８は、メモリカードコントローラ１１３における処理において取得されたデータ等を参照可能であるものとして説明する。
【００３５】
Ｓ３０１で、メインマイコン１１８は、メモリカードコントローラ１１３のクロック源２０１にクロック信号の送信を開始させる。またメインマイコン１１８は遅延素子２０３におけるクロック信号の遅延段数（１６段階）を「１」に設定する。
【００３６】
Ｓ３０２で、ホストコントローラ２０２は、メモリカード１１５にテストデータを送信させる、テストデータ送信コマンドをメモリカード１１５に対して発行し、ＣＭＤラインを介して送信する。テストデータは、予め定められたパターンの６４バイトのデータ列であり、メモリカード１１５は受信しているクロック信号に同期して該データ列を送信するものとする。
【００３７】
Ｓ３０３で、フリップフロップ２０４は、遅延素子２０３により供給されるラッチタイミングでメモリカード１１５からＤＡＴラインを介して受信したデータをラッチする。遅延素子２０３により供給されるラッチタイミングは、現在設定されている遅延段数に従って遅延素子２０３がクロック信号を遅延させることで生成される。
【００３８】
Ｓ３０４で、メインマイコン１１８は、フリップフロップ２０４が受信したデータ列が、予め定められたパターン（メモリカード１１５が返却したデータ列のパターン）と一致するか否かを判断する。メインマイコン１１８は、受信したデータ列が予め定められたパターンと一致すると判断した場合は処理をＳ３０５に移し、一致しないと判断した場合は処理をＳ３０６に移す。
【００３９】
Ｓ３０５で、メインマイコン１１８は、例えばＳＤＲＡＭ１１６に格納されている受信結果テーブルに、現在の遅延段数に関連付けて受信成功の情報を記録する。一方、Ｓ３０４において受信したデータ列が予め定められたパターンと一致しないと判断した場合、メインマイコン１１８はＳ３０６で、現在の遅延段数に関連付けて受信失敗の情報を受信結果テーブルに記録する。
【００４０】
Ｓ３０７で、メインマイコン１１８は、遅延素子２０３に設定した遅延段数が最大遅延段数（本実施形態の場合１６）であるか否かを判断する。メインマイコン１１８は、遅延素子２０３に設定した遅延段数が最大遅延段数ではないと判断した場合、Ｓ３０８で１つ上の遅延段数を遅延素子２０３に設定し、処理をＳ３０２に戻す。またメインマイコン１１８は、遅延素子２０３に設定した遅延段数が最大遅延段数であると判断した場合、処理をＳ３０９に移す。
【００４１】
Ｓ３０９で、メインマイコン１１８は、ＳＤＲＡＭ１１６に格納されている受信結果テーブルを参照して最適遅延段数を決定し、該段数を遅延素子２０３に設定して本チューニング処理を完了する。Ｓ３０１乃至Ｓ３０８の処理により、例えば図４に示されるような受信結果テーブルが得られる。本ステップではメインマイコン１１８は、受信成功した遅延段数の範囲の中心を、最適遅延段数として決定する。図４の例では、遅延段数５から１６、及び１周期後の１が受信成功した遅延段数（位相）を示すため、中央値である１１が最適遅延段数として決定される。
【００４２】
このようにすることで、チューニング処理を実行することでメモリカードコントローラ１１３の遅延素子２０３がフリップフロップ２０４に最適なラッチタイミングを出力できるように、遅延素子２０３の遅延段数を設定することができる。即ち、ホストコントローラ２０２はメインマイコン１１８の制御の下、テストデータの出力命令を遅延段数を異ならせて複数回出力することで、各遅延段数について得られた複数回の出力データに基づいて、最適な遅延段数を設定することができる。
【００４３】
《遅延チェック処理》
ところで、このようにチューニング処理の実行により一時的に最適な遅延段数の設定はできるが、上述したように遅延素子による遅延量は温度等の要因によって変化する。即ち、設定した最適な遅延段数は温度変化により最適ではない、あるいはデータの受信エラーを生じうる段数となりうる。このため、本実施形態のデジタルカメラ１００では、静止画像データあるいは動画像データの記録処理中にラッチクロックの有効性をチェックする遅延チェック処理を実行する。
【００４４】
以下、本実施形態のデジタルカメラ１００において実行される遅延チェック処理について、図５のフローチャートを用いて詳細を説明する。なお、本遅延チェック処理は、上位層プログラムにおいてメモリカード１１５へのデータ書き込み開始要求がなされた際に開始されるものとして説明する。
【００４５】
Ｓ５０１で、メインマイコン１１８は、なされたデータ書き込み開始要求が遅延させる位相（遅延量）の有効性のチェックを実行する条件に該当するか否かを判断する。本実施形態ではデータ書き込み開始要求がなされた場合にＳ５０２以降のチェック処理を実行するものとして説明するが、チェックを実行する条件はこれに限られるものではない。チェックを実行する条件は、例えば前回のチェック実行から経過した時間が所定の時間に達した場合、書き込み開始要求が所定回数なされた場合、あるいは書き込みを行うデータ量が所定量以上の要求がなされた場合等について設定されてもよい。メインマイコン１１８は、なされたデータ書き込み開始要求がチェックを実行する条件に該当すると判断した場合は処理をＳ５０２に移し、該当しないと判断した場合は処理をＳ５０６に移す。
【００４６】
Ｓ５０２で、ホストコントローラ２０２は、テストデータ送信コマンドをメモリカード１１５に対して発行し、ＣＭＤラインを介して送信する。
【００４７】
Ｓ５０３で、フリップフロップ２０４は、遅延素子２０３により供給されるラッチタイミングでメモリカード１１５からＤＡＴラインを介して受信したデータをラッチする。遅延素子２０３により供給されるラッチタイミングは、上述のチューニング処理において設定された遅延段数に従って遅延素子２０３がクロック信号を遅延させることで生成される。
【００４８】
Ｓ５０４で、メインマイコン１１８は、フリップフロップ２０４が受信したデータ列が、予め定められたパターンと一致するか否かを判断する。メインマイコン１１８は、受信したデータ列が予め定められたパターンと一致すると判断した場合は処理をＳ５０６に移し、一致しないと判断した場合は処理をＳ５０５に移す。
【００４９】
Ｓ５０５で、メインマイコン１１８は、チューニング処理を再度実行し、最適な遅延段数の設定を行う。
【００５０】
Ｓ５０６で、メモリカードコントローラ１１３は、Ｓ５０１において受信したデータ書き込み要求をクロック信号に従って送出し、データ書き込みに係る記録処理を実行する。
【００５１】
このようにすることで本実施形態のデジタルカメラ１００では、メモリカードのマウント時やデジタルカメラ１００の起動時だけでなく、メモリカード１１５に対する記録処理の実行中に、ラッチタイミングの有効性をチェックすることができる。即ち、メモリカードコントローラ１１３における温度変化等の外的要因によって、好適なラッチが行えるクロック信号の遅延量が変化した場合であっても、再度遅延量の設定を行うことができる。
【００５２】
例えば図６に示されるように、ＳＤＲＡＭ１１６に格納された記録対象のデータが１６メガバイト（ＭＢ）を越えた場合に、メモリカードコントローラ１１３がメモリカード１１５への書き込みを開始するように設定されている場合を考える。
【００５３】
メインマイコン１１８は、ＳＤＲＡＭ１１６に格納されている未記録のデータが１６ＭＢを越えたタイミングで、メモリカードコントローラ１１３に対しテストデータ送信コマンドを送信する。メモリカードコントローラ１１３は、メモリカード１１５に対しテストデータ送信コマンドを発行し、メモリカード１１５からパターンデータを受け、メインマイコン１１８に送る。メインマイコン１１８は受信したデータ列がテストパターンと一致するか否かを判別する。判別の結果、受信したデータ列がテストパターンと一致した場合、メインマイコン１１８はメモリカードコントローラに対し、書き込みコマンドを発行する。メモリカードコントローラ１１３は、メインマイコン１１８からの書き込みコマンドに応じて、ＳＤＲＡＭ１１６から未記録のデータを読み出してメモリカード１１５への書き込みを開始する。その後、データの書き込みによりＳＤＲＡＭ１１６に蓄積されるデータのデータ量は徐々に減少して１６ＭＢを下回るが、１６ＭＢのデータの書き込み完了に伴い未記録のデータ量は上昇に転ずる。その後、再度データ量が１６ＭＢを越えたタイミングでデータ書き込み開始要求がなされるため、メモリカードコントローラ１１３は再びデータの書き込みを開始する。即ち、ＳＤＲＡＭ１１６に格納される未記録データのデータ量に応じてデータ書き込み開始要求が間欠的になされるため、本実施形態のデジタルカメラ１００では間欠的に遅延量の有効性をチェックすることができる。
【００５４】
なお、本実施形態ではメモリカード１１５へのデータ書き込み開始要求がなされた場合に遅延チェック処理を行うものとして説明したが、データ読み出し要求がなされた場合に遅延量の有効性チェックを行うものであってもよい。即ち、メモリカード１１５へのアクセス要求がなされた場合に遅延チェック処理が実行されてもよい。なお、チェック実行の条件は、データ書き込みについて上述したのと同様に、データ読み出しにおいても、前回の要求からの経過時間、要求回数、あるいは読み出しデータ量について条件が設定されてもよい。また、メインマイコン１１８がアクセス要求によるアクセスデータ量を積算するカウンタを有し、前回のテストパターン受信によるチェックから所定データ量のアクセスがあった後、最初にアクセス要求時がなされた際にチェックを実行する構成であってもよい。またデジタルカメラ１００に設定されている撮影モード、再生モード等のモードが切り換えられた後、最初にアクセス要求時がなされた際にチェックを実行する構成であってもよい。つまり、このような条件変更により、例えば小さいデータサイズのデータ書き込みを繰り返すアクセスが続く場合に、過度にテストパターン受信によるチェックが実行されることを回避することも可能である。
【００５５】
以上説明したように、本実施形態の記録再生装置は、記録媒体から読み出すデータの信頼性を確保しつつ、不要なチューニング処理によるパフォーマンス低下を防止することができる。具体的には記録再生装置は、記録媒体に対してクロック信号を出力と共に、クロック信号を遅延させることにより得られたタイミング信号に応じて、記録媒体から送信されたデータを取得する。また記録再生装置は、記録媒体に対するアクセス要求に応じて、所定のデータ列を有する所定のデータの出力命令を記録媒体に出力するように制御する。このとき記録再生装置は、所定のデータの出力命令に応じて記録媒体から送信されて取得されたデータが所定のデータ列を有していることを確認する。
【００５６】
［実施形態２］
上述した実施形態１ではメモリカード１１５へのアクセス要求がなされた際にテストデータ受信による遅延量の有効性チェックを行い、チェックの結果、テストデータの受信エラーがある場合に再チューニングの実行を決定するものとして説明した。本実施形態ではさらにチェック結果の信頼度を判断した上で、チューニング処理の実行有無を決定する手法について説明する。
【００５７】
なお、本実施形態のデジタルカメラ１００は、上述した実施形態１のデジタルカメラ１００と同様の構成を有するものとし、その機能構成の詳細説明は省略する。また、以下の説明において上述した実施形態１のチューニング処理あるいは遅延チェック処理と同様の処理を行うステップについては同一の参照番号を付して説明を省略するものとする。
【００５８】
《遅延チェック処理》
以下、本実施形態のデジタルカメラ１００において実行される遅延チェック処理について、図７のフローチャートを用いて詳細を説明する。なお、本遅延チェック処理は、上述した実施形態１と同様に上位層プログラムにおいてメモリカード１１５へのデータ書き込み開始要求がなされた際に開始されるものとして説明する。
【００５９】
Ｓ５０１においてデータ書き込み開始要求がチェックを実行する条件に該当すると判断した場合、メインマイコン１１８はＳ７０１で、テストデータの送信回数を示す変数Ｎに０を代入し、処理をＳ５０２に移す。
【００６０】
そしてＳ５０３においてホストコントローラ２０２が受信データをラッチすると、メインマイコン１１８はＳ７０２で、受信されたデータ列が予め定められたパターンと一致するかを判断する。メインマイコン１１８は、遅延素子２０３に現在設定されている遅延段数に関連付けて、該判断結果（受信成功／失敗）の情報をＳＤＲＡＭ１１６に格納されている受信結果判定テーブルに格納する。
【００６１】
Ｓ７０３で、メインマイコン１１８は、変数Ｎを１だけインクリメントする。そしてＳ７０４で変数Ｎが１であるか否かを判断する。メインマイコン１１８は、変数Ｎが１であると判断した場合、Ｓ７０５で本遅延チェック処理の開始時に遅延素子２０３に設定されていた遅延段数から１段階低い遅延段数を遅延素子２０３に設定し、処理をＳ５０２に戻す。またメインマイコン１１８は、変数Ｎが１ではないと判断した場合は処理をＳ７０６に移す。
【００６２】
Ｓ７０６で、メインマイコン１１８は、変数Ｎが２であるか否かを判断する。メインマイコン１１８は、変数Ｎが２であると判断した場合、Ｓ７０７で本遅延チェック処理の開始時に遅延素子２０３に設定されていた遅延段数から１段階高い遅延段数を遅延素子２０３に設定し、処理をＳ５０２に戻す。またメインマイコン１１８は、変数Ｎが２ではないと判断した場合は処理をＳ７０８に移す。
【００６３】
このように、本実施形態の遅延チェック処理では、遅延チェック処理の開始時に遅延素子２０３に設定されている遅延段数だけでなく、その前後の段数についてもテストデータの受信による遅延量の有効性チェックを行う。なお、本実施形態では前後１段階の遅延段数をチェック対象として設定するが、本発明の実施はこれに限られるものではない。即ち、チェック対象として設定する遅延段数の範囲は前後１段階より広くてもよい。つまり、Ｓ７０１乃至Ｓ７０７の処理はチューニング処理の再実行有無の判断処理であるため、チューニング処理において設定される遅延段数の範囲（全範囲）よりも狭い範囲に含まれる複数の遅延段数について実行されることで効率化が実現される。また、遅延チェック処理の開始時に設定されている遅延段数と連続する遅延段数がチェック対象として設定されなくてもよい。例えば、最後に実行されたチューニング処理において生成された受信結果テーブルにおいて受信成功の情報が関連付けられている境界値の段数（図４の例では遅延段数５と１）がチェック対象として選択されてもよい。
【００６４】
Ｓ７０８で、メインマイコン１１８は、ＳＤＲＡＭ１１６に格納された受信結果判定テーブルを参照し、３種類の遅延段数についての受信結果が図８に記載のパターン１乃至８のいずれに該当するかを判断する。
【００６５】
パターン１は、チェックを行った３種類の遅延段数の全てにおいてテストデータが正しく受信できた状態であるため、遅延チェック処理の開始時に遅延素子２０３に設定されていた遅延段数で問題なくデータ読み出しが可能であると判断できる。このためメインマイコン１１８は、遅延段数を遅延チェック処理の開始時に設定されていた遅延段数が遅延素子２０３に設定された状態で、Ｓ５０６に処理を移し、データ書き込みに係る記録処理を実行する。
【００６６】
一方、パターン２及び３、またはパターン４及び５は、遅延チェック処理の開始時に設定されていた遅延段数の前後の段数のいずれかにおいて、テストデータの受信エラーが生じた状態である。即ち、開始時に設定されていた遅延段数についてテストデータが正しく受信できたとしても、例えばデータ書き出し中に温度変化等の外的要因によって遅延量が有効でなくなりうる、信頼性の低いチェック結果を示している。このため、メインマイコン１１８は３種類の遅延段数についての受信結果が上記の４パターンに該当する場合、前後の段数のうちの受信成功の結果を示した遅延段数を新たな遅延段数に設定する。具体的にはメインマイコン１１８は、３種類の遅延段数についての受信結果がパターン２及び３のいずれかである場合、Ｓ７０９で遅延チェック処理の開始時に設定されていた遅延段数より１段階高い段数を遅延素子２０３に設定して処理をＳ５０６に移す。またメインマイコン１１８は、受信結果がパターン４及び５のいずれかである場合、Ｓ７１０で遅延チェック処理の開始時に設定されていた遅延段数より１段階低い段数を遅延素子２０３に設定して処理をＳ５０６に移す。
【００６７】
またさらに、パターン６乃至８は、３種類の遅延段数についてのテストデータの受信結果が信頼性が低い状態を示している。具体的にはパターン６では、遅延チェック処理の開始時に設定されていた遅延段数について受信エラーが生じているにも関わらず、前後１段階の段数については受信エラーが生じていない。またパターン７では、開始時に設定されていた遅延段数についてテストデータが正しく受信できているにも関わらず、前後１段階の段数について受信エラーが生じている。そしてパターン８では、３種類の遅延段数全てについて受信エラーが生じている。このような信頼性の低い結果が得られた場合、好適な遅延段数を簡易的に推定することができないため、メインマイコン１１８はＳ５０５でチューニング処理を再度実行し、最適な遅延段数の設定を行った後、処理をＳ５０６に移す。
【００６８】
このようにすることで、テストデータを用いた遅延量の有効性チェックの処理に要する処理時間は増加するものの、全段階についての詳細な有効性チェックを行うチューニング処理の実行頻度を低減することができる。また所定の遅延量について有効性のサンプリングを行うため、その傾向から簡易的に好適な遅延量の推定を行うことができる。
【００６９】
［その他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2014238776.tif 000003
【図２】
2014238776.tif 000004
【図３】
2014238776.tif 000005
【図４】
2014238776.tif 000006
【図５】
2014238776.tif 000007
【図６】
2014238776.tif 000008
【図７】
2014238776.tif 000009
【図８】
2014238776.tif 000010