(57)【要約】【課題】特にメモリカードとホスト側間の全体的なデータの転送速度を向上させることができる情報処理装置およびその制御方法を提供する。【解決手段】位相が異なる複数のサンプリングクロックを生成するクロック生成手段と、複数のサンプリングクロックの各々で入力データをサンプリングする複数のデータ入力手段と、データ入力手段がサンプリングした複数のデータ値をサンプリング単位で比較するデータ比較手段と、データ比較手段による比較結果に基づき、位相ずれに関する情報を集める位相ずれ集計手段と、位相ずれ集計手段が集めた位相ずれに関する情報を通知する通知手段とを有するホストコントローラと、通知手段から通知された情報を基にホストコントローラを制御する制御手段とを備える。【選択図】図２
2011134008.tif 000002
【特許請求の範囲】
【請求項１】
位相が異なる複数のサンプリングクロックを生成するクロック生成手段と、
前記複数のサンプリングクロックの各々で入力データをサンプリングする複数のデータ入力手段と、
前記データ入力手段がサンプリングした複数のデータ値をサンプリング単位で比較するデータ比較手段と、
前記データ比較手段による比較結果を基に、位相ずれに関する情報を集める位相ずれ集計手段と、
前記位相ずれ集計手段が集めた位相ずれに関する情報を通知する通知手段と
を有するホストコントローラと、
前記通知手段から通知された情報を基に前記ホストコントローラを制御する制御手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記位相ずれに関する情報は、データブロックの単位で集計される位相ずれの回数であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記位相ずれ集計手段は、前記複数のサンプリングクロックの位相の内中心となる位相を有するサンプリングクロックでサンプリングされたデータと、前記中心となる位相に対して前または後の位相を有するサンプリングクロックの一方でサンプリングされたデータのみが異なる場合に、位相ずれとして集計することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記通知手段により通知された前記位相ずれの回数が予め定められる設定値以上となったことを基点に、前記制御手段が所定の制御を開始することを特徴とする請求項２または請求項３に記載の情報処理装置。
【請求項５】
前記複数のサンプリングクロックでサンプリングしたデータ間で値の変化がない変化無し期間を集計する変化無し期間集計手段をさらに備え、
前記通知手段は、前記変化無し期間集計手段が集計した前記変化無し期間をステータスとして通知し、
前記制御手段は、前記通知手段から通知された前記変化無し期間が予め定められる設定値以上となったことを基点に、所定の制御を開始することを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記入力データは、ＳＤ（Secure Digital）カードから入力されるデータであって、前記所定の制御は、前記ＳＤカードに対するキャリブレーションを前記ホストコントローラに開始させる制御であることを特徴とする請求項４または請求項５に記載の情報処理装置。
【請求項７】
前記複数のサンプリングクロックの位相の内中心となる位相を有するサンプリングクロックでサンプリングされたデータと、前記中心となる位相に対して前および後の位相を有するサンプリングクロックでサンプリングされたデータの両方とが異なる場合に、エラーと判定するエラー判定手段と、
前記エラー判定手段によりエラーと判定された判定結果を前記制御手段に通知するエラー通知手段とを
さらに備えることを特徴とする請求項１ないし請求項６のいずれか１項に記載の情報処理装置。
【請求項８】
ホストコントローラと該ホストコントローラを制御する制御手段とを備える情報処理装置の制御方法であって、
前記ホストコントローラが、
位相が異なる複数のサンプリングクロックを生成するクロック生成ステップと、
前記複数のサンプリングクロックの各々で入力データをサンプリングする複数のデータ入力ステップと、
前記データ入力ステップにおいてサンプリングした複数のデータ値をサンプリング単位で比較するデータ比較ステップと、
前記データ比較ステップにおける比較結果を基に、位相ずれに関する情報を集める位相ずれ集計ステップと、
前記位相ずれ集計ステップにおいて集めた位相ずれに関する情報を通知する通知ステップと、を実行し、
前記制御手段が、
前記通知ステップで通知された情報を基に前記ホストコントローラを制御する
ことを特徴とする情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリカードのホストコントローラを有する情報処理装置およびその制御方法に関する。
【背景技術】
【０００２】
現在のＳＤ（Secure Digital）カードは従来よりも転送速度がさらに高速化されてきているため、従前は固定であったデータ受信時の遅延量が定められなくなり、サンプリング位置の位相設定が必要になっている。位相設定にはデータ転送前に受信データと期待値とを比較することにより調整を行なうキャリブレーションという方法が一般的である。
【０００３】
一方、特許文献１に開示の技術のように、ビット位相同期回路で、位相の異なる複数（３つ）のクロックを生成してデータをラッチし、この３つのデータにより位相比較を行った上でクロックを決定することにより、短時間でビット同期をとれるようにした従来技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０２−２５０５３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、キャリブレーション後のデータ転送中に位相がずれた場合はそのずれを検知することができなかったので、従来は、短い転送間隔で再キャリブレーションを行なわなければならなかった。また、特許文献１に開示の技術は、上記比較結果から、選択可能なクロックの中の１つを決定するものにすぎず、データ受信時の遅延量が定められないような転送速度が高速なデータ通信に適用することはできない。
【０００６】
本発明は、上記に鑑みてなされたものであって、特にメモリカードとホスト側間の全体的なデータの転送速度を向上させることができる情報処理装置およびその制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、情報処理装置であって、位相が異なる複数のサンプリングクロックを生成するクロック生成手段と、前記複数のサンプリングクロックの各々で入力データをサンプリングする複数のデータ入力手段と、前記データ入力手段がサンプリングした複数のデータ値をサンプリング単位で比較するデータ比較手段と、前記データ比較手段による比較結果に基づき、位相ずれに関する情報を集める位相ずれ集計手段と、前記位相ずれ集計手段が集めた位相ずれに関する情報を通知する通知手段とを有するホストコントローラと、前記通知手段から通知された情報を基に前記ホストコントローラを制御する制御手段とを備えることを特徴とする。
【０００８】
また、本発明は、ホストコントローラと該ホストコントローラを制御する制御手段とを備える情報処理装置の制御方法であって、前記ホストコントローラが、位相が異なる複数のサンプリングクロックを生成するクロック生成ステップと、前記複数のサンプリングクロックの各々で入力データをサンプリングする複数のデータ入力ステップと、前記データ入力ステップにおいてサンプリングした複数のデータ値をサンプリング単位で比較するデータ比較ステップと、前記データ比較ステップにおける比較結果を基に、位相ずれに関する情報を集める位相ずれ集計ステップと、前記位相ずれ集計ステップにおいて集めた位相ずれに関する情報を通知する通知ステップと、を実行し、前記制御手段が、前記通知ステップで通知された情報を基に前記ホストコントローラを制御することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、転送中のデータをサンプリングし、位相ずれを検知することにより、再キャリブレーションの必要性を判断するための判断情報をホスト側に通知することができる。ホスト側は、この情報を基に位相ずれが起きた場合にのみ再キャリブレーションを開始させればよいので、結果として、全体的なデータの転送速度を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、本発明にかかる情報処理装置の一実施形態としてのノートブック型パーソナルコンピュータの外観を示す図である。
【図２】図２は、ホストコントローラ２の概略構成を示すブロック図である。
【図３】図３は、３種の位相の異なるサンプリングクロックを用いて、ＳＤカードからの入力データをサンプリングする際のタイミング（データ取得タイミング）の一例を示す図である。
【図４】図４は、図３に示すタイミングでサンプリングしたときのサンプリングデータ値を示す図である。
【図５】図５は、３種の位相の異なるサンプリングクロックを用いて、ＳＤカードからの入力データをサンプリングする際のエラー検知を説明するためのタイミング図である。
【図６】図６は、３種の位相の異なるサンプリングクロックを用いて、ＳＤカードからの入力データをサンプリングする際の変化無しデータ検知を説明するためのタイミング図である。
【図７】図７は、制御部において特徴的な処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下に、本発明にかかる情報処理装置について、図面に基づいて詳細に説明する。なお、以下に説明する諸実施形態により本発明が限定されるものではない。
【００１２】
図１は、本発明にかかる情報処理装置の一実施形態としてのノートブック型パーソナルコンピュータ（以下、ＰＣ１と称す）の外観を示す図である。
【００１３】
ＰＣ１は、本体１１と、表示ユニット１２とを備えている。本体１１は、キーボード１３と、ポインティングデバイスであるタッチパッド１４とを備えている。本体１１内部には、メイン回路基板、同図符号２で示す破線部分のＳＤ（Secure Digital）カードホストコントローラ（詳細は後述；以下、ホストコントローラと称す）、ＯＤＤユニット（Optical Disk Device）、ＳＤカードスロット等が収容されている。
【００１４】
ＳＤカードスロットは、本体１１の周壁に設けられている。この周壁には、ＳＤカードスロット用の開口部１５が設けられている。ユーザは、この開口部１５を通じて本体１１の外部からＳＤカード３をカードスロットに挿抜することが可能である。
【００１５】
ＰＣ１には、ホストコントローラ２を制御するためのデバイスドライバであるホストドライバがインストールされており、このホストドライバとホストコントローラ２により、ＳＤカードスロットに装着されたＳＤカード３に対するリード／ライト処理やキャリブレーション処理等を行う。
【００１６】
なお、本実施形態では、ホストコントローラ２をＰＣ１に内蔵する構成としているが、ホストコントローラ２を、ＵＳＢインターフェースやその他のインターフェースを介して外付けされるＳＤカードリーダ／ライタ等に内蔵させた構成とすることもできる。また、本実施形態では、ホストコントローラ２の制御対象としてＳＤカードを例に挙げ説明するが、これに限らず、データ受信時の遅延量が固定されておらず、サンプリング位置の位相設定が必要になるその他のメモリカードであってもよい。
【００１７】
また、情報処理装置としては、上記のようなパーソナルコンピュータに限らず、携帯電話、ＰＤＡ（Personal Digital Assistant）、デジタルスチルカメラ、デジタルビデオカメラ、デジタルテレビジョン受像機等もあり、これらについても本発明を適用することができる。
【００１８】
次に、ホストコントローラ２の構成について、図２を用いて説明する。図２は、ホストコントローラ２の概略構成を示すブロック図である。なお、ホストコントローラ２は、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）などによるハードウェアとして構成することができる。
【００１９】
ホストコントローラ２は、ＰＣ１のＣＰＵ（図示せず）が実行するホストドライバにより制御される。ホストドライバによる各種要求は、制御部２１内のシステムバスインターフェース（図示せず）を通じて、制御部２１に渡される。例えば、キャリブレーションの際は、ホストドライバからキャリブレーションコマンド発行要求が制御部２１に渡され、このキャリブレーションコマンド発行要求に対して、制御部２１が規定のキャリブレーション処理を行うための制御をする。
【００２０】
サンプリングクロック生成部２２は、制御部２１により位相設定レジスタ２３に設定された位相設定に従って、受信データサンプリング用のクロック位相をシフトさせた３種の位相の異なるサンプリングクロック（ＣＬＫ  Ｌ，ＣＬＫ  Ｃ，  ＣＬＫ  Ｒ）を生成し、Ｉ／Ｏコントローラ２４に供給する。なお、各サンプリングクロックは、その位相が、前回のキャリブレーションにより受信データを正しく受信できたサンプリングクロック位相の範囲内となるよう生成するものとする。また、ＳＤカードの場合、そのデータラインは４ラインあるので、それぞれのラインで、同様に位相の異なる３つのクロックでデータをサンプリングする。以下では、説明の簡単のため、１ライン分を代表として説明するが、実際は４つのデータラインの各々について各処理が行われる。
【００２１】
Ｉ／Ｏコントローラ２４は、ＳＤカードスロットに装着されたＳＤカード３に対するコマンドを、ＳＤバスプロトコルに従ったコマンドとしてＳＤカード３に送信し、ＳＤカード３からのデータを受信する。また、データ入力部（Ｌ）２５、データ入力部（Ｃ）２６、データ入力部（Ｒ）２７を備え、これらはそれぞれ、サンプリングクロック生成部２２からの３種のサンプリングクロックＣＬＫ  Ｌ，ＣＬＫ  Ｃ，  ＣＬＫ  Ｒで、ＳＤカード３からの受信データをサンプリングし、制御部２１へ渡す。ＰＣ１のＣＰＵからＳＤカード３へのアクセス時には、データ入力部（Ｃ）２６でサンプリングされた受信データが、制御部２１内のシステムバスインターフェースを介してＰＣ１のＣＰＵへ送られる。なお、ＰＣ１のＣＰＵは、ホストドライバを実行することによりホストコントローラ２を制御する制御手段としても機能するものであり、本明細書では、このＣＰＵとホストドライバの組をホストコントローラ２に対してホスト側と称す。
【００２２】
制御部２１は、本実施形態における特徴的機能を実現する構成要素として図２に示す、データ比較部２８、エラー判定部２９、エラー通知部３０、位相ずれ集計部３１、変化無し期間集計部３２、ステータス通知部３３を備える。
【００２３】
データ比較部２８は、データ入力部（Ｌ）２５、データ入力部（Ｃ）２６、データ入力部（Ｒ）２７でサンプリングしたデータをサンプリング単位で比較し、比較結果をエラー判定部２９、位相ずれ集計部３１および変化無し期間集計部３２に送る。位相ずれ集計部３１は、このデータ比較部２８による３つのデータ入力の比較結果に基づいて位相ずれの有無を判断し、データのブロック単位で、データブロックの終了時まで、位相ずれを集計する。エラー判定部２９は、データ比較部２８による３つのデータ入力の比較結果からエラーを判定する。変化無し期間集計部３２は、入力データが変化しない期間を集計する。ステータス通知部３３は、位相ずれ集計部３１および変化無し期間集計部３２による集計結果に基づくステータスをホスト側へ通知する。エラー通知部３０は、エラー判定部２９によりエラーが検知された場合にホスト側へエラー通知をする。なお、制御部２１の動作の詳細は後述する。
【００２４】
ここで、３種の位相の異なるサンプリングクロックを用いたデータサンプリングおよび位相ずれの集計について、図３、図４を用いて説明する。図３は、３種の位相の異なるサンプリングクロック（ＣＬＫ  Ｌ，ＣＬＫ  Ｃ，  ＣＬＫ  Ｒ）を用いて、ＳＤカード３からの入力データをサンプリングする際のタイミング（データ取得タイミング）の一例を示す図である。また、図４は、図３に示すタイミングでサンプリングしたときのサンプリングデータ値を示す図である。
【００２５】
図３に示すサンプリングクロックＣＬＫ  Ｌは、基本クロックＣＬＫ  Ｃに対してその位相を予め定められる１単位分だけ遅らせたクロックであり、ＣＬＫ  Ｒは、ＣＬＫ  Ｃに対してその位相を１単位分進めたクロックである（なお、以下では、基本クロックＣＬＫ  Ｃの位相を中央とし、これに対し遅らせた位相を左、進めた位相を右と表現する）。３種のサンプリングクロックＣＬＫ  Ｌ，ＣＬＫ  Ｃ，  ＣＬＫ  Ｒで順にデータをサンプリングした結果をＳａｍｐ１＿Ｌ／Ｓａｍｐ１＿Ｃ／Ｓａｍｐ１＿Ｒ、Ｓａｍｐ２＿Ｌ／Ｓａｍｐ２＿Ｃ／Ｓａｍｐ２＿Ｒ、…、ＳａｍｐＮ＿Ｌ／ＳａｍｐＮ＿Ｃ／ＳａｍｐＮ＿Ｒとする。なお、図面では、各サンプリングタイミング毎に、３種のサンプリングクロックによるサンプリング結果をＳａｍｐ１＿＊、Ｓａｍｐ２＿＊、…、ＳａｍｐＮ＿＊として表記している。
【００２６】
図３に示すサンプリングタイミングでは、Ｓａｍｐ１＿Ｌ＝１，Ｓａｍｐ１＿Ｃ＝１，Ｓａｍｐ１＿Ｒ＝１、…、ＳａｍｐＮ−１＿Ｌ＝０，ＳａｍｐＮ−１＿Ｃ＝０，ＳａｍｐＮ−１＿Ｒ＝１、ＳａｍｐＮ＿Ｌ＝１，ＳａｍｐＮ＿Ｃ＝１，ＳａｍｐＮ＿Ｒ＝０のようにサンプリングデータ値が得られ、図４に示される値となる。この例では、データ比較部２８にて、ＳａｍｐＮ−１、ＳａｍｐＮの２箇所については、３種のクロックに対するサンプリングデータ値が異なることがわかる。よって、位相ずれ集計部３１による位相ずれの集計にて、このデータの位相ずれ回数は２回と集計され、この値がステータスとしてステータス通知部３３によりホスト側に通知される。ここで、ホスト側での位相ずれ設定値（位相ずれ回数の上限値）が２であった場合には、位相ずれ回数が位相ずれ設定値の２以上になるため、ホスト側の制御により再キャリブレーションが行なわれる。このように、ホストは、３つの入力データの比較結果に基づく位相ずれ回数が、ホスト側で定めている設定値を超えた場合には再度キャリブレーションが必要であると判断することができる。
【００２７】
続いて、データサンプリング時のエラー検知について、図５を用いて説明する。図５は、３種の位相の異なるサンプリングクロック（ＣＬＫ  Ｌ，ＣＬＫ  Ｃ，  ＣＬＫ  Ｒ）を用いて、ＳＤカード３からの入力データをサンプリングする際のエラー検知を説明するためのタイミング図である。なお、同図に示す、ｓａｍｐＤ＿Ｌ，ｓａｍｐＤ＿Ｃ，ｓａｍｐＤ＿Ｒは、同図の符号５０で示す範囲で、サンプリングクロックＣＬＫ  Ｌ，ＣＬＫ  Ｃ，  ＣＬＫ  Ｒでサンプリングされたサンプリングデータ値を表わす。
【００２８】
データ取得に失敗し、位相ずれであると判断ができない場合はエラーを検知し通知させることを可能とした。本来位相ずれが無い場合、位相を変えた３つのクロックではそれぞれ同じ値が取得できるはずである（図３のＳａｍｐ１＿＊など）。しかし、図５に示すＤａｔａ  Ａ，Ｄａｔａ  Ｂ，Ｄａｔａ  Ｃのようなデータをサンプリングしデータ比較を行なった場合、データ比較で不一致となる。しかし、通常の位相ずれは、図５のＤａｔａＡやＤａｔａＢのように、中央のサンプリングデータ値（ＳａｍｐＤ＿Ｃ）と、その左のサンプリングデータ値（ＳａｍｐＤ＿Ｌ）またはその右のサンプリングデータ値（ＳａｍｐＤ＿Ｒ）とが異なった場合でも、中央のサンプリングデータ値（ＳａｍｐＤ＿Ｃ）と、その右のサンプリングデータ値（ＳａｍｐＤ＿Ｒ）またはその左のサンプリングデータ値とは同じ値になるはずである。ところが、ＤａｔａＣでは、中央のサンプリングデータ値（ＳａｍｐＤ＿Ｃ）とその右のサンプリングデータ値（ＳａｍｐＤ＿Ｒ）とで値が異なり、さらに、中央のサンプリングデータ値（ＳａｍｐＤ＿Ｃ）とその左のサンプリングデータ値（ＳａｍｐＤ＿Ｌ）の間でも値が異なっている。このようなケースがあることから、図中の中央と左並びに中央と右のデータを比較することで、位相ずれの場合と、他の要因でデータ取得に不具合がある場合とを区別することができる。
【００２９】
本実施形態のホストコントローラ２では、図５に示すようなサンプリングデータが得られた場合、エラー判定部２９が次の判定をする。
【００３０】
（１）ＤａｔａＡの場合のように、中央のサンプリングデータ値とその左サンプリングデータ値が等しく、かつ、中央のサンプリングデータ値とその右のサンプリングデータ値が異なる場合、位相ずれと判定する。
【００３１】
（２）ＤａｔａＢの場合のように、中央のサンプリングデータ値とその左のサンプリングデータ値が異なり、かつ、中央のサンプリングデータ値とその右のサンプリングデータ値が等しい場合、位相ずれと判定する。
【００３２】
（３）ＤａｔａＣの場合のように、中央のサンプリングデータ値とその左のサンプリングデータ値が異なり、かつ、中央のサンプリングデータ値とその右のサンプリングデータ値も異なる場合、この場合、データの有効幅が狭いか大きくシフトし中央のサンプリングポイントがデータの有効領域からはみ出したと考えられるため、エラーと判定する。
【００３３】
以上のように３種のサンプリングクロックでサンプリングしたデータの比較を行い、位相ずれでないデータ不一致の場合には、エラーとして検出する。そして、エラー判定部２９によりエラーを検知した場合には、エラー通知部３０が、データ受信のエラーとしてホスト側に通知する。このエラー通知を受けたホスト側は、ＳＤカード３からのデータを取り直すことになる。
【００３４】
次に、データサンプリング時の変化無しデータ検知について、図６を用いて説明する。図６は、３種の位相の異なるサンプリングクロック（ＣＬＫ  Ｌ，ＣＬＫ  Ｃ，  ＣＬＫ  Ｒ）を用いて、ＳＤカード３からの入力データをサンプリングする際の変化無しデータ検知を説明するためのタイミング図である。
【００３５】
変化があまり起こらないデータの場合には、実際に位相ずれが生じていたとしてもそれを検出できないことが起こり、位相ずれの検出性能が低下してしまう。そこで、本実施形態では、変化無し期間集計部３２を設けた。この変化無し期間集計部３２を備えることで、データ変化の状況を把握することが可能となる。さらにこの変化無し期間集計部３２は、入力データのピーク値や変化率などの情報も併せて、位相ずれの検出性能が劣化していることを示す情報をステータスとしてステータス通知部３３に送る。そして、ステータス通知部３３が、ホスト側にその通知を行なうことにより、ホストは再チューニングが必要であると判断することができる。
【００３６】
具体的には、図６のようにＤａｔａが全て“１”の場合には、Ｓａｍｐ＿Ｎ−１や、Ｓａｍｐ＿Ｎで位相ずれが起こっていてもデータに変化がないため、制御部２１は、位相ずれ回数の集計や位相ずれ回数の通知を行なうことができない。そこで、３種のサンプリングクロックごとのデータ変化の有無（変化が無い場合）を、変化無し期間集計部３２にてカウントする。図６に示す例では変化無し期間はＮ−１となりこの値を通知する。また、入力データのレベル（Ｈｉ／Ｌｏ）と併せてこの変化無し期間を集計し保持しておくことで、入力データのピーク値や変化率をホスト側に示すことも可能となる。ホスト側は、ステータス通知部３３からの情報を基に、例えば、変化無し期間が予め定められる設定値以上となったときに、再キャリブレーションのための制御を開始する。
【００３７】
次に、本実施形態の制御部２１において特徴的な処理の流れを、図７を用いて説明する。図７は、その一連の処理を示すフローチャートである。なお、以下に説明する処理の流れは一例であって、これに限定されるものではない。
【００３８】
はじめに、データ入力部（Ｌ）２５、データ入力部（Ｃ）２６、データ入力部（Ｒ）２７でサンプリングされた入力データが、順次データ比較部２８に入力される（ステップＳ７０１）。
【００３９】
続いて、データ比較部２８では、入力された３つの入力データを比較し、３つのデータが一致している／中央と左のデータが一致していない／中央と右のデータが一致していない／中央と両側のデータが一致していないことを示す比較結果をエラー判定部２９、位相ずれ集計部３１および変化無し期間集計部３２に送る（ステップＳ７０２）。
【００４０】
続いて、データ比較部２８から比較結果を受けたエラー判定部２９は、この比較結果を基にエラー判定を行う（ステップＳ７０３）。具体的には、比較結果が、中央と両側のデータが一致していないことを示すものである場合、エラーであると判定し（本ステップでＹｅｓの判定）、ステップＳ７０７へ移行し、ステータス通知部３３が、ホスト側へエラー通知を行う。
【００４１】
一方、比較結果が上記と異なる場合、すなわち、比較結果が、３つのデータが一致している／中央と左のデータが一致していない／中央と右のデータが一致していないことを示すものである場合、位相ずれ集計部３１が、データ比較部２８から受けた比較結果を基に位相ずれ回数を集計する（ステップＳ７０４）。
【００４２】
また、変化無し期間集計部３２も同様に、データ比較部２８から受けた比較結果を基に変化無し期間を集計する（ステップＳ７０５）。
【００４３】
最後に、ステータス通知部３３が、位相ずれ集計部３１による集計結果および変化無し期間集計部３２による集計結果をステータスとして、ステータス通知部３３がホスト側へ通知する（ステップＳ７０６）。
【００４４】
以上のように、本実施形態では、位相ずれの回数、データの変化無し状況、エラー検出をホスト側に通知するので、ホスト側は再キャリブレーションが必要と判断される場合にのみキャリブレーションを行なえばよいので、全体的なデータ転送効率を向上させることができる。
【００４５】
なお、上記実施形態では、３種の位相の異なるサンプリングクロックで、入力データをサンプリングし、サンプリングしたデータを比較することにより比較結果を得ているが、３種に限るものではなく、さらに多数種類のサンプリングクロックを用いて実施することも可能である。
【符号の説明】
【００４６】
１…ＰＣ、２…ホストコントローラ、３…ＳＤカード、１１…（ＰＣ１の）本体、１２…表示ユニット、１３…キーボード、１４…タッチパッド、１５…開口部、２１…制御部、２２…サンプリングクロック生成部、２３…位相設定レジスタ、２４…Ｉ／Ｏコントローラ、２５…データ入力部（Ｌ）、２６…データ入力部（Ｃ）、２７…データ入力部（Ｒ）、２８…データ比較部、２９…エラー判定部、３０…エラー通知部、３１…位相ずれ集計部、３２…変化無し期間集計部、３３…ステータス通知部
【図１】
2011134008.tif 000003
【図２】
2011134008.tif 000004
【図３】
2011134008.tif 000005
【図４】
2011134008.tif 000006
【図５】
2011134008.tif 000007
【図６】
2011134008.tif 000008
【図７】
2011134008.tif 000009