(57)【要約】【課題】高速転送が可能なメモリカード１、高速転送が可能なホストデバイス２、および、高速転送が可能なサンプリングクロックの調整方法を提供する。【解決手段】  メモリカード１は、コマンド信号、レスポンス信号、データ信号およびステータス信号を、クロック信号と同期して送受信するための制御を行うメモリコントローラ１１と、クロック信号をサンプリングクロック信号として位相を調整するためにホストデバイス２が使用するチューニングパターン信号を送信するためのチューニングパターン信号を記憶するメモリ側パターン信号記憶部１５とを有し、第１のチューニングパターン信号をコマンドライン３２を介して、第２のチューニングパターン信号をデータライン２１を介して、同時に送信する。【選択図】  図６
2010157058.tif 000002
【特許請求の範囲】
【請求項１】
ホストデバイスと接続され、前記ホストデバイスと、コマンド信号およびレスポンス信号をコマンドラインを介して送受信し、データ信号およびステータス信号をデータラインを介して送受信し、クロック信号をクロックラインを介して受信するメモリデバイスであって、
不揮発性半導体メモリ部と、
前記コマンド信号、前記レスポンス信号、前記データ信号および前記ステータス信号を、前記クロック信号と同期して送受信するための制御を行うメモリコントローラと、
前記クロック信号をサンプリングクロック信号として位相を調整するために前記ホストデバイスが使用するチューニングパターン信号を送信するための、前記チューニングパターン信号、を記憶するメモリ側パターン信号記憶部と、を有することを特徴とするメモリデバイス。
【請求項２】
前記メモリ側パターン信号記憶部が、第１のチューニングパターン信号と、第２のチューニングパターン信号とを記憶し、
前記メモリコントローラが、前記第１のチューニングパターン信号を前記コマンドラインを介して、前記第２のチューニングパターン信号を前記データラインを介して、互いに重複期間を設けて、前記ホストデバイスに送信することを特徴とする請求項１に記載のメモリデバイス。
【請求項３】
前記第１のチューニングパターン信号と前記第２のチューニングパターン信号とは、前記コマンドラインと前記データラインとの相互干渉を検知するパターン信号であることを特徴とする請求項２に記載のメモリデバイス。
【請求項４】
前記メモリ側パターン信号記憶部が、前記第１のチューニングパターン信号と前記第２のチューニングパターン信号とからなるチューニングパターン信号セットを複数組記憶し、前記ホストデバイスからのコマンドによって前記複数組のうちひとつを選択し送信することを特徴とする請求項３に記載のメモリデバイス。
【請求項５】
前記データ信号、前記レスポンス信号および前記ステータス信号に付加して前記ホストデバイスに送信する、前記ホストデバイスが前記サンプリングクロック信号の位相を微調整するための同期用ヘッダ信号を出力する同期用ヘッダ信号出力部を有することを特徴とする請求項１から請求項４のいずれか１項に記載のメモリデバイス。
【請求項６】
前記同期用ヘッダ信号が「０１０１」のデータからなる４ビット信号であることを特徴とする請求項５に記載のメモリデバイス。
【請求項７】
前記メモリコントローラは、前記ホストデバイスからの前記コマンド信号としてチューニングコマンドを受信した場合に、前記レスポンス信号および前記データ信号に前記チューニングパターン信号を送信することを特徴とする請求項１から請求項６のいずれか１項に記載のメモリデバイス。
【請求項８】
前記不揮発性半導体メモリ部が、ＮＡＮＤ型フラッシュメモリ部であることを特徴とする請求項１から請求項７のいずれか１項に記載のメモリデバイス。
【請求項９】
メモリカードであることを特徴とする請求項１から請求項８のいずれか１項に記載のメモリデバイス。
【請求項１０】
不揮発性半導体メモリ部を有するメモリデバイスと接続され、前記メモリデバイスと、コマンド信号およびレスポンス信号をコマンドラインを介して送受信し、データ信号をデータラインを介して送受信し、ステータス信号をデータラインを介して受信し、クロック信号をクロックラインを介して送信する、ホストデバイスであって、
クロック信号を発生するクロックと、
前記コマンド信号および前記データ信号を前記クロック信号と同期して送信し、前記レスポンス信号、前記データ信号およびステータス信号を、前記クロック信号の位相を調整したサンプリングクロック信号と同期して受信するための制御を行うホストコントローラと、
前記サンプリングクロック信号の位相を調整するサンプリングクロック調整部と、
前記サンプリングクロック信号の位相を調整するために前記メモリデバイスから送信されるチューニングパターン信号と同じパターンの前記チューニングパターン信号を予め記憶するホスト側パターン信号記憶部と、を有することを特徴とするホストデバイス。
【請求項１１】
前記ホスト側パターン信号記憶部に、第１のチューニングパターン信号と、第２のチューニングパターン信号とを記憶し、
前記メモリデバイスから、前記コマンドラインを介して受信する前記第１のチューニングパターン信号、および、前記第１のチューニングパターン信号と重複期間を有して前記データラインを介して受信する前記第２のチューニングパターン信号を、前記ホスト側パターン信号記憶部に予め記憶する前記第１のチューニングパターン信号および前記第２のチューニングパターン信号と、比較して相違の有無を検知する相互干渉検出部を有し、前記相違が発生しないように前記サンプリングクロックの前記位相を調整するサンプリングクロック調整部を有することを特徴とする請求項１０に記載のホストデバイス。
【請求項１２】
前記ホスト側パターン信号記憶部が、前記第１のチューニングパターン信号と前記第２のチューニングパターン信号とからなるチューニングパターン信号セットを複数組記憶し、いずれの前記チューニングパターン信号セットを使用するか前記コマンド信号によって前記メモリデバイスに通知することを特徴とする請求項１１に記載のホストデバイス。
【請求項１３】
前記メモリデバイスから受信した前記データ信号または前記コマンド信号に付加された同期用ヘッダ信号にもとづき、前記サンプリングクロック信号の前記位相を微調整するサンプリングクロック微調整部を有することを特報とする請求項１０から請求項１３のいずれか１項に記載のホストデバイス。
【請求項１４】
前記メモリデバイスの前記不揮発性半導体メモリ部が、ＮＡＮＤ型フラッシュメモリ部であることを特徴とする請求項１０から請求項１３のいずれか１項に記載のホストデバイス。
【請求項１５】
前記メモリデバイスがメモリカードであることを特徴とする請求項１０から請求項１４のいずれか１項に記載のホストデバイス。
【請求項１６】
サンプリングクロックの調整方法であって、
前記サンプリングクロック信号が、不揮発性半導体メモリ部を有するメモリデバイスと接続され、前記メモリバイスと、コマンド信号およびレスポンス信号をコマンドラインを介して送受信し、データ信号をデータラインを介して送受信し、ステータス信号をデータラインを介して受信し、クロック信号をクロックラインを介して送信する、ホストデバイスが前記メモリデバイスから前記データ信号を受信するサンプリングポイントを決定するものであり、
前記クロック信号の位相を調整して前記サンプリングクロック信号の位相の初期値を設定するサンプリングクロック信号設定ステップと、
前記メモリデバイスに、前記コマンドラインを介して前記クロック信号から前記サンプリングクロック信号の前記位相を調整するためのチューニング用コマンドを送信するチューニング用コマンド送信ステップと、
前記チューニング用コマンドを受信した前記メモリデバイスから、前記コマンドラインを介して送信されたレスポンス信号として第１のチューニングパターン信号を受信するチューニングパターン信号受信ステップと、
前記受信した前記第１のチューニングパターン信号にもとづき、前記サンプリングクロック信号を調整するサンプリングクロック調整ステップと、を有することを特徴とするサンプリングクロックの調整方法。
【請求項１７】
前記チューニングパターン信号受信ステップにおいて、前記メモリデバイスから、前記データ信号を送受信する前記データラインを介して、前記第２のチューニングパターン信号を、前記第１のチューニングパターン信号と重複して受信し、
前記メモリデバイスから受信した前記第１のチューニングパターン信号および前記第２のチューニングパターン信号と、ホスト側パターン信号記憶部に記憶する前記第１のチューニングパターン信号および前記第２のチューニングパターン信号とを比較し、前記コマンドラインと前記データラインとの相互干渉を検知する相互干渉検知ステップと、
前記比較結果が一致するようにサンプリングクロックを調整または微調整するサンプリングクロック調整／微調整ステップと、を有することを特徴とする請求項１６に記載のサンプリングクロックの調整方法。
【請求項１８】
前記メモリデバイスから、前記データラインを介して同期用ヘッダ信号が付加された前記データ信号、前記データラインを介して同期用ヘッダ信号が付加された前記ステータス信号、または、前記コマンドラインを介して前記同期用ヘッダ信号が付加されたレスポンス信号を受信する同期用ヘッダ信号受信ステップと、
前記同期用ヘッダ信号に基づき、前記データ信号、ステータス信号およびレスポンス信号を受信するサンプリングポイントを微調整するサンプリングクロック微調整ステップを有することを特徴とする請求項１６または請求項１７に記載のサンプリングクロックの調整方法。
【請求項１９】
前記メモリデバイスの前記不揮発性半導体メモリ部が、ＮＡＮＤ型フラッシュメモリ部であることを特徴とする請求項１６から請求項１８のいずれか１項に記載のサンプリングクロックの調整方法。
【請求項２０】
前記メモリデバイスがメモリカードであることを特徴とする請求項１６から請求項１９のいずれか１項に記載のサンプリングクロックの調整方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体メモリ部を有するメモリデバイス、前記メモリデバイスと接続するホストデバイスおよび前記ホストデバイスのサンプリングクロックの調整方法に関し、特に、データ転送のためのサンプリングクロックを調整するホストデバイスと接続するメモリデバイス等に関する。
【背景技術】
【０００２】
近年、半導体メモリ部を有するメモリデバイス、例えば、不揮発性の半導体メモリ部を有するメモリカードの開発が行われ、メモリカードが接続されるホストデバイスであるデジタルカメラ等の情報機器の外部記憶装置として普及している。メモリデバイスをホストデバイスと組み込み一体化した、いわゆる埋め込み型メモリシステムの用途も広がっている。
【０００３】
メモリデバイスとホストデバイスとにより構成されるモリシステムにおいては、ホストデバイスとメモリデバイスとは、クロック信号をクロックラインを介して送受信し、コマンド信号およびレスポンス信号をコマンドラインを介して送受信し、データ信号およびステータス信号をデータラインを介して、送受信する。
【０００４】
ホストデバイスがメモリデバイスからデータを読み出す、言い換えれば、リードする場合、ホストデバイスはメモリデバイスにクロックラインを介してクロック信号を送信し、メモリデバイスはホストデバイスから供給されたクロック信号に同期してデータを出力し、ホストデバイスはクロック信号に同期してデータ信号を取り込む。
【０００５】
ホストデバイスとメモリデバイスとの間のデータの転送速度、すなわち、書き込み速度および読み出し速度の高速化が要求されている。しかし、転送速度が速くなる、すなわち、クロック信号の周波数が高くなると、ホストデバイスのクロック信号出力からホストデバイスへのデータ入力までの時間であるリードディレイ時間の影響が顕著となってくる。すると、ホストデバイスは送信したクロック信号に同期していてはデータを取り込むタイミングを正確に取ることが容易ではなくなる。
【０００６】
このため、例えば、特開２００８−９０５５６公報には、ホスト機器からアクセスされるメモリカードにおいて、クロック入力回路が、ホスト機器からクロックラインを介して第１クロック信号を受け取り、データ入出力回路がライトタイミング調整モードにてホスト機器からデータラインを介して第２クロック信号を受け取り、リードタイミング調整モードにて第３クロック信号を出力するメモリカードが開示されている。
【特許文献１】特開２００８−９０５５６公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、高速転送が可能なカードデバイス、高速転送が可能なホストデバイス、および、高速転送が可能なサンプリングクロックの調整方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本願発明の一態様によれば、ホストデバイスと接続され、ホストデバイスと、コマンド信号およびレスポンス信号をコマンドラインを介して送受信し、データ信号をデータラインを介して送受信し、クロック信号をクロックラインを介して受信し、ステータス信号をデータラインを介して送信する、メモリデバイスであって、不揮発性半導体メモリ部と、コマンド信号、レスポンス信号、データ信号およびステータス信号を、クロック信号と同期して送受信するための制御を行うメモリコントローラと、クロック信号をサンプリングクロック信号として位相を調整するためにホストデバイスが使用するチューニングパターン信号を送信するための、チューニングパターン信号、を記憶したメモリ側パターン信号記憶部と、を有することを特徴とするメモリデバイスが提供される。
【０００９】
本願発明の別の一態様によれば、不揮発性半導体メモリ部を有するメモリデバイスと接続され、メモリデバイスと、コマンド信号およびレスポンス信号をコマンドラインを介して送受信し、データ信号をデータラインを介して送受信し、ステータス信号をデータラインを介して受信し、クロック信号をクロックラインを介して送信する、ホストデバイスであって、コマンド信号およびデータ信号をクロック信号と同期して送信し、レスポンス信号、データ信号およびステータス信号を、クロック信号の位相を調整したサンプリングクロック信号と同期して受信するための制御を行うホストコントローラと、サンプリングクロック信号の位相を調整するサンプリングクロック調整部と、サンプリングクロック信号の位相を調整するためにメモリデバイスから送信されるチューニングパターン信号を記憶したホスト側パターン信号記憶部と、を有することを特徴とするホストデバイスが提供される。
【００１０】
さらに、本願発明の別の一態様によれば、サンプリングクロックの調整方法であって、サンプリングクロック信号が、不揮発性半導体メモリ部を有するメモリデバイスと接続され、メモリバイスと、コマンド信号およびレスポンス信号をコマンドラインを介して送受信し、データ信号をデータラインを介して送受信し、ステータス信号をデータラインを介して受信し、クロック信号をクロックラインを介して送信する、ホストデバイスがメモリデバイスからデータ信号を受信するサンプリングポイントを決定するものであり、クロック信号の位相を調整してサンプリングクロック信号の位相の初期値を設定するサンプリングクロック信号設定ステップと、メモリデバイスに、コマンドラインを介してクロック信号からサンプリングクロック信号の位相を調整するためのチューニング用コマンドを送信するチューニング用コマンド送信ステップと、チューニング用コマンドを受信したメモリデバイスから、コマンドラインを介して送信されたレスポンス信号として第１のチューニングパターン信号を受信するチューニングパターン信号受信ステップと、受信した第１のチューニングパターン信号にもとづき、サンプリングクロック信号を調整するサンプリングクロック調整ステップと、を有することを特徴とするサンプリングクロックの調整方法が提供される。
【発明の効果】
【００１１】
本発明は、高速転送が可能なカードデバイス、高速転送が可能なホストデバイス、および、高速転送が可能なサンプリングクロックの調整方法を提供するものである。
【発明を実施するための最良の形態】
【００１２】
＜第１の実施の形態＞  
以下、本発明の第１の実施の形態のメモリデバイスであるメモリカード１、ホストデバイス２、ホストデバイス２のサンプリングクロックの調整方法について図面を参照して説明する。  
図１は、本発明の第１の実施の形態のメモリカードとホストデバイスとからなるメモリシステムの全体構成を示す構成図であり、図２は、第１の実施の形態のメモリカードの構成を示す構成図であり、図３は第１の実施の形態のホストデバイスの構成を示す構成図であり、図４は、第１の実施の形態のホストデバイスのサンプリングクロック調整部の構成を示す構成図である。
【００１３】
図１に示す本実施の形態のメモリカード１は、ホストデバイス２に接続可能であり、ホストデバイス２に接続されホストデバイス２の外部記憶装置として用いられるＳＤメモリカード（登録商標）である。ホストデバイス２としては、画像データまたは音楽データなどの各種データを処理するパーソナルコンピュータおよびデジタルカメラ等を含む情報処理装置が挙げられる。
【００１４】
メモリカード１は、不揮発性のメモリからなるメモリ部１４と、メモリ部１４および伝送信号の送受信等を制御するメモリコントローラ１１と、データの入出力のための、コマンド（以下、「ＣＭＤ」ともいう。）ライン３２、クロック（以下、「ＣＬＫ」ともいう。）ライン３３およびデータ（以下、「ＤＡＴ」ともいう。）ライン３１を有するＩ／Ｏセル１２と、コネクタ１３（ピン１乃至ピン９を含む）とを備えている。
【００１５】
ホストデバイス２は、接続されたメモリカード１との間で信号の送受信を行うための、コマンドライン３２、クロックライン３３およびデータライン３１を有するＩ／Ｏセル２２と、伝送信号の送受信の制御等を行うホストコントローラ２１とを有している。
【００１６】
コネクタ１３は、メモリカード１がホストデバイス２に装着されると、ホストデバイス２と信号線（ライン）を介して電気的に接続される。すなわち、より厳密にはコマンドライン等の信号線は、ホストデバイス側信号線と、メモリカード側信号線とから構成されている。コネクタ１３に含まれるピン１乃至ピン９に対する信号線の割り当ては、ＳＤメモリカード（登録商標）の規格で規定されている。
【００１７】
例えば、データ信号を送受信するための４本のデータラインであるデータＤＡＴ０、ＤＡＴ１、ＤＡＴ２、ＤＡＴ３はそれぞれ、ピン７、ピン８、ピン９、ピン１に割り当てられている。また、ピン１は、カード検出信号ＣＤにも割り当てられている。コマンド信号と、このコマンド信号に対するメモリカード１の応答信号であるレスポンス信号（以下、「ＲＥＳ」ともいう。）は、ピン２に割り当てられている。クロック信号は、ピン５に割り当てられている。電源電圧ＶＤＤはピン４に、接地電圧ＶＳＳ１はピン３に、接地電圧ＶＳＳ２はピン６に割り当てられている。
【００１８】
以下、説明を簡単にするために、データラインを１本のみ使用する場合を例に説明する。なお、コマンド信号およびレスポンス信号はコマンドラインを介して送受信され、データ信号およびステータス信号（以下、「ＳＴＡＴＵＳ」ともいう。）はデータラインを介して送受信され、クロック信号はクロックラインを介して送受信される。ここで、コマンド信号はホストデバイス２からメモリカード１への動作指示であるコマンドを伝送する信号であり、レスポンス信号およびステータス信号はコマンド信号に対するメモリカードからホストデバイスへの信号である。そして、コマンド信号、レスポンス信号、データ信号およびステータス信号の送受信のタイミングはクロック信号をもとに決定される。
【００１９】
次に、図２を用いて、メモリカード１の構成について説明する。本実施の形態のメモリカード１は、すでに説明した構成要素に加えて、バス１０で他の構成要素と接続されたチューニングパターン信号を記憶するメモリ側パターン信号記憶部１５を有している。なお、メモリ側パターン信号記憶部１５は独立した構成要素ではなく、メモリコントローラ１１等の一部であってもよい。チューニングパターン信号は、ホストデバイス２がクロック信号をサンプリングクロック信号として位相を調整するために使用される信号であり、さらに本実施の形態のメモリシステム３においては信号線間の相互干渉を検出するための信号でもあるが、その詳細は後述する。
【００２０】
なお、本実施の形態のメモリカード１においては、メモリ部１４は、不揮発性の半導体メモリであり、ＮＡＮＤ型フラッシュメモリにより構成されている。ホストデバイス２から送信されたデータはメモリ部１４に記憶される。
【００２１】
次に図３を用いてホストデバイス２の構成について説明する。本実施の形態のホストデバイス２は、すでに説明した構成要素に加えて、バス２０で他の構成要素と接続されたホストＣＰＵ２６、ホストドライバ２７、クロック２３、ホスト側パターン信号記憶部２４、サンプリングクロック調整部２５Ａ、に加えて、相互干渉検出部２８とチューニングパターン受信部２９を有している。
【００２２】
なお、ホスト側パターン信号記憶部２４は図示しないシステムメモリの内部ブロックであり、相互干渉検出部２８はホストＣＰＵ２６が実行するプログラムの機能であり、サンプリングクロック調整部２５とチューニングパターン受信部２９とはホストコントローラ２１の内部ブロックであるが、説明のためにそれぞれ独立した構成要素としている。
【００２３】
クロック２３はメモリシステム３の動作の基本周波数となるクロック信号を供給する。クロック信号周波数は、例えば、２５ＭＨｚまたは５０ＭＨｚのように切り替えが可能である。ホスト側パターン信号記憶部２４は、メモリ側パターン信号記憶部１５と同じパターンのチューニングパターン信号を記憶する。サンプリングクロック調整部２５Ａは、チューニングパターン信号を用いてクロック信号をサンプリングクロック信号として位相を調整する。そして、ホストＣＰＵ２６、言い換えれば相互干渉検出部２８はチューニングパターン受信部２８が受信したチューニングパターンを読み出し、システムメモリ上のホスト側パターン信号記憶部２４のチューニングパターンと比較を行うことで信号線間の相互干渉、例えば、コマンドラインとデータラインとの間のクロストークによる転送エラーを検出する。どの２本のライン間でエラーが発生したのかは、チューニングパターンの不一致が発生した場所から特定することができる。
【００２４】
そして、図４に示すように、サンプリングクロック調整部２５Ａは、ＤＬＬ（Delay Locked Loop）４１と、マルチプレクサ４２と、レジスタ４３とを有する。ＤＬＬ４１は、複数の位相がずれたタップをもち、クロック２３から入力されたクロック信号の位相を調整、言い換えれば、クロック信号から位相が特定ずれたサンプリングクロックを生成する。マルチプレクサ４２は、ＤＬＬ４１の複数の位相タップから、ひとつを選択する。レジスタ４３は、マルチプレクサ４２が選択した位相タップ位置を記憶する。
【００２５】
次に、図５および図６を用いて、本発明の第１の実施の形態のメモリデバイスであるメモリカード１、ホストデバイス２、ホストデバイス２のサンプリングクロックの調整方法について説明する。図５は、本発明の第１の実施の形態のサンプリングクロックの調整方法の処理の流れを説明するためのフローチャートであり、図６は、本発明の第１の実施の形態のサンプリングクロックの調整方法のタイミングチャートである。なお、図６のチューニングパターンコマンドは、第２の実施の形態で説明する同期用ヘッダ信号に関するパラメータＨが付加されている例を示しているが、パラメータＨが付加されていないコマンドを用いてもよい。パラメータＨはヘッダーの有無を切り換えるコマンド引数である。
【００２６】
なお、ホスデバイス２には、長いデータが連続的に受信可能なように十分に大きなサイズのバッファを準備しておく。バッファサイズが小さいと転送を中断するため、中断時間によりデータのタイミングがずれ、サンプリングエラーを発生してしまう可能性がある。
【００２７】
以下、図５のフローチャートに従い説明する。  
＜ステップＳ１０＞  サンプリングクロック信号設定ステップ  
ホストデバイス２にメモリカード１が接続されると、ホストデバイス２はメモリカード１から、コマンド信号およびレスポンス信号を介して、メモリカード１の基本情報、例えば、容量、対応転送速度、動作電圧等を取得する。そして、ホストデバイス２は、メモリカード１が対応している転送速度等をもとに、クロック信号の位相を調整してサンプリングクロック信号の位相の初期値を設定、すなわち、DLL４１の複数の位相タップから、ひとつを選択し、レジスタ４３に記憶する。サンプリングクロック信号の位相の初期値はゼロ、すなわち、クロック信号と同じであってもよい。なお、ホストデバイス２の信号送受信はホストコントローラ２１が制御する。
【００２８】
＜ステップＳ１１＞  チューニング用コマンド送信ステップ  
ホストデバイス２は、チューニングパターンを読み出すコマンドであるチューニング用コマンドをコマンドラインを介してメモリカード１に送信する。チューニング用コマンドは、図６に示すように、メモリカードの規格により定められた仕様に従ったデータ列から構成されている。
【００２９】
＜ステップＳ１２＞  チューニングパターン信号送信ステップ  
メモリカード１は、チューニング用コマンドを受信すると、コマンドラインを介してレスポンス信号として、第１のチューニングパターン信号を送信する。そして、本実施の形態のメモリカード１は、第１のチューニングパターン信号の送信と重複期間を設けて、データとしての第２のチューニングパターン信号をデータラインを介してホストデバイスに送信する。ここで、重複期間を設けて、とは、第１のチューニングパターン信号がコマンドラインを流れる期間と、第２のチューニングパターン信号がデータラインを流れる期間とが、少なくとも一部、重複していることを意味し、第１のチューニングパターン信号と第２のチューニングパターン信号とは、同時に送信されるか、または、オーバーラップ期間を設けて送信される。
【００３０】
なお、チューニングパターンはそれぞれのデータラインに特定のパターンを有している。たとえば４本のデータライン有する場合に、メモリコントローラ１１は、コマンドラインと４本のデータラインとの間で、互いに重複期間を設けて相互干渉を検出可能なチューニングパターン信号を送信することで、相互干渉検出部２８は任意の２本のライン間の相互干渉の影響を検出できる。
【００３１】
第１のチューニングパターン信号および第２のチューニングパターン信号は、予めメモリ側パターン信号記憶部１５に記憶されている。図６に示すように、チューニングパターン信号は、メモリカードの規格により定められた仕様に従ったもので、通常のレスポンスと異なり、データ長に近い長いレスポンスである。長いレスポンスの例としては、例えば、ＳＤメモリカード（登録商標）の仕様では、Ｒ２レスポンスとして定義されている。例えば、第１のチューニングパターン信号は１２０ｂｉｔのデータ列であり、第２のチューニングパターン信号は１２８ｂｉｔのデータ列である。
【００３２】
第２のチューニングパターン信号は、第１のチューニングパターン信号との相互干渉の影響を検出するために、特に相互干渉が発生しやすい特定の確認パターンにより構成されている。例えば、第１のチューニングパターン信号が「０」が連続するときに、第２のチューニングパターン信号は「０１」の繰り返しとする。もちろん、ひとつのチューニングパターン信号は同じパターンの繰り返しでなく、種々のパターンを含んでいても良い。転送条件等により、クロストークが発生しやすい信号パターンは異なるためである。
【００３３】
なお、チューニングパターン信号は規格により予め定められているパターンを、メモリカード１またはホストデバイス２の製造時に、メモリ側パターン信号記憶部１５またはホスト側パターン信号記憶部２４に記憶しておいても良いし、メモリカード１がホストデバイス２に接続されたときに、ホストデバイス２のホスト側パターン信号記憶部２４等からメモリカード１に送信されメモリ側パターン信号記憶部１５に記憶してもよい。後述の方式では、メモリシステムの種類に応じたチューニングパターン信号を使用することができる。
【００３４】
また、メモリシステム３においては、第１のチューニングパターン信号と第２のチューニングパターン信号とからなるチューニングパターン信号セットを複数組用いてもよい。転送環境に応じて最適のチューニングパターン信号セットを選択することができる。すなわち、ホスト側パターン信号記憶部２４およびメモリ側パターン信号記憶部１５が、それぞれ複数組のチューニングパターン信号セットを記憶しておいて、ホストコントローラが、いずれのチューニングパターン信号セットを使用するかを前記コマンドの引数によって前記メモリデバイスに通知する。
【００３５】
＜チューニングパターン信号受信ステップ＞  
ホストデバイス２は、第１のチューニングパターン信号をコマンドラインを介して、第２のチューニングパターン信号をデータラインを介して、重複期間を有して、受信する。
【００３６】
＜相互干渉検知ステップ＞  
ホストデバイス２の相互干渉検出部２８は、チューニングパターン受信部２８から、メモリカード１から受信した第１のチューニングパターン信号および第２のチューニングパターン信号を読み出し、ホスト側パターン信号記憶部２４に予め記憶してある第１のチューニングパターン信号および第２のチューニングパターン信号とを比較し、コマンドラインとデータラインとの相互干渉を検知する。
【００３７】
すなわち、相互干渉検出部２８でもあるホストＣＰＵ２６は、ホストソフトウエアなどにより、受信した第１のチューニングパターン信号とホスト側パターン信号記憶部２４に記憶されている第１のチューニングパターン信号とを比較して、相違点、すなわち、エラーの有無を検知すると同時に、受信した第２のチューニングパターン信号とホスト側パターン信号記憶部２４に記憶されている第２のチューニングパターン信号とを比較して、相違点、すなわち、エラーの有無を検知する。
【００３８】
＜ステップＳ１４＞  サンプリングクロック調整ステップ
ホストデバイス２は相互干渉検出部２８が干渉を検出した場合（Ｓ１３、Ｙｅｓ）、すなわち、エラーを検出した場合には、サンプリングクロック調整部２５Ａが、サンプリングポイント、すなわち、サンプリングクロックの位相を調整して、入力に最適なサンプリングポイントを特定し、転送エラーが発生するような相互干渉が発生しないように変更する。すなわち、サンプリングクロック調整部２５Ａのマルチプレクサ４２は、ＤＬＬ４１から選択する位相タップを切り替える。
【００３９】
最適なサンプリング位置はデータの中央であるが、それを決定する方法がいくつかある。第１の方法は、オーバーサンプリング結果から中央となるクロックを特定する方法あり、ＨＷ（Hard ware）化が必要であるが、高速に補正が可能である。第２の方法は、遅延がもっとも少ないタップから遅延の多い方向に順次移動させながら、チューニングパターンを読み込み、すべてのパターンが正常に読み込める最小の遅延位置、すなわち、位相を記憶する方法である。あるいは、遅延がもっとも大きいタップから遅延の少なくなる方向に順次移動させながら、チューニングパターンを読み込み、すべてのパターンが正常に読み込める最大の遅延位置を記憶する方法である。第２の方法では、最小の遅延位置と最大の遅延位置の中間を、最適なサンプリングポイントとして設定するため、ＦＷ（Firm ware）による制御が可能である。
【００４０】
また、ホストデバイス２は、例えば、メモリカード１が対応している範囲でクロック周波数を低下する等の転送条件を変更してもよい。
【００４１】
＜ステップＳ１５、Ｓ１６＞  データ送受信ステップ
メモリカード１は、データ転送を開始し、ホストデバイス２はデータを受信する。なお、データラインを介してのデータ受信だけでなく、コマンドラインを介してのコマンド信号およびレスポンス信号の受信、データラインを介してのステータス信号の受信にも、調整されたサンプリングクロックを用いてサンプリングタイミングが決定される。
【００４２】
そして、終了、例えば、メモリカード１がホストデバイス２から取り外されるまで、データ転送は継続される。
【００４３】
以上の説明のように、本実施の形態のメモリカード１は、チューニングパターンコマンドを受信すると、メモリ側パターン信号記憶部１５に記憶されているチューニングパターン信号をホストデバイス２に送信する。このため、ホストデバイスは、信号の受信により適したサンプリング位置を特定することができる。さらに、メモリカード１は、チューニングパターン信号として、レスポンスパターンである第１のチューニングパターン信号と、データパターン信号である第２のチューニングパターン信号とを同時に出力することによって、ホストデバイス２はコマンドラインとデータラインとの相互干渉の影響を確認し、より適したサンプリング位置を特定、すなわち、サンプリングクロック信号の位相を調整する。このため、メモリカード１およびホストデバイス２は高速転送が可能である。
【００４４】
なお、本実施の形態では、メモリデバイスとしてＳＤメモリカード（登録商標）を有するメモリシステム３等を例として説明したが、同様のデータ転送システムをもつメモリシステムであれば、他のメモリカード、メモリデバイスまたは内部メモリ等を有するメモリシステムにも適用可能であり、メモリシステム３等と同様の作用効果を奏することができる。
【００４５】
＜第２の実施の形態＞  
以下、本発明の第２の実施の形態のメモリデバイスであるメモリカード１Ａ、ホストデバイス２Ａ、ホストデバイス２Ａのサンプリングクロックの調整方法について図面を参照して説明する。本実施の形態のメモリカード１Ａおよびホストデバイス２Ａは第１の実施の形態のメモリカード１およびホストデバイス２に類似しているため同じ構成要素には同じ符号を付し説明は省略する。
【００４６】
図７は、本発明の第２の実施の形態のメモリカードの構成を示す構成図であり、図８は第２の実施の形態のホストデバイスの構成を示す構成図であり、図９は、第２の実施の形態のホストデバイスのサンプリングクロック調整部２５の構成を示す構成図である。
【００４７】
図７に示すように、本実施の形態のメモリシステム３Ａのメモリカード１Ａは、データ信号、レスポンス信号、およびステータス信号に付加してホストデバイス２Ａに送信する同期用ヘッダ信号を出力する同期用ヘッダ信号出力部１６を有する。なお、同期用ヘッダ信号出力部１６は独立した構成要素ではなく、メモリコントローラ１１等の一部であってもよい。そして、図８に示すように、本実施の形態のメモリシステム３Ａのホストデバイス２Ａは、同期用ヘッダ信号にもとづいてサンプリングクロック信号の位相を微調整するためのサンプリングクロック微調整部２５Ｂを有するサンプリングクロック調整部２５を有する。
【００４８】
第１の実施の形態のメモリシステム３では、システムの起動時にチューニングパターン信号を用いて、サンプリングクロックを調整することにより、高速転送を実現している。しかし、メモリシステム起動後に、温度または電圧の変動により、リードディレイ時間が変動し、最適のサンプリングポイントと、サンプリングクロックの位相とが時間的経過と共にずれる可能性がある。
【００４９】
本実施の形態のメモリシステム３Ａでは、メモリカード１Ａの同期用ヘッダ信号出力部１６が出力する同期用ヘッダ信号をもとに、てホストデバイス２Ａのサンプリングクロック微調整部２５Ｂがサンプリングクロックを微調整する。なお、チューニングパターン信号と異なり、同期用ヘッダ信号は、例えば、４ビットの短いデータであるため、データ転送時に付加しても転送速度の低下を招くことはない。すなわち、比較的長いデータ長のデータを転送する場合は、途中でチューニングを行うためには、データ転送を中断しなければならない。しかし、同期ヘッダ信号によりチューニングを行う場合はデータ転送を中断する必要がないため、長いデータ長のデータを転送することができる。すなわち、メモリシステム３Ａにおいては、メモリシステム３Ａの起動時にチューニングパターン信号を用いて、サンプリングクロックの調整を行い、以降は同期ヘッダ信号を用いてリアルタイムでサンプリングクロックの微調整を行う。
【００５０】
同期用ヘッダ信号出力部１６は、予め記憶している同期用ヘッダ信号を出力してもよいし、生成した同期用ヘッダ信号を出力してもよい。同期用ヘッダ信号としては、「０１０１」のデータからなる４ビット信号が、データ長が短く、かつ、同期のための必要最小限の機能を有しているため、好ましい。
【００５１】
次に、図９を用いてサンプリングクロック調整部２５の構成を説明する。サンプリングクロック調整部２５は、サンプリングクロック調整部２５Ａとサンプリングクロック微調整部２５Ｂとから構成されている。サンプリングクロック調整部２５Ａは、第１の実施の形態のホストデバイス２のサンプリングクロック調整部２５Ａと同じである。すなわち、サンプリングクロック調整部２５Ａは、ＤＬＬ４１と、マルチプレクサ４２と、レジスタ４３とを有する。ＤＬＬ４１は、複数の位相がずれたタップをもち、クロック回路から入力されたクロック信号の位相を調整、言い換えれば、クロック信号から位相が特定ずれたサンプリングクロックを生成する。マルチプレクサ４２は、ＤＬＬ４１の複数の位相タップから、ひとつを選択する。レジスタ４３は、マルチプレクサ４２が選択した位相タップ位置を記憶する。
【００５２】
そして、サンプリングクロック微調整部２５Ｂは、ディレイライン集合４５と、フリップフロップ（以下、「ＦＦ」という。）集合４６と、マルチプレクサ４７と、レジスタ４８とで構成されている。ディレイライン集合４５は複数のディレイライン４５Ａから構成されており、サンプリングクロックを微調整し、さらに細かなディレイで位相がずれたサンプリングクロックを生成する。ＦＦ集合４６は、複数のＦＦ１６Ａから構成されており、ディレイライン４５Ａで生成されたオーバーサンプリングクロックで取り込んだデータを保持する。マルチプレクサ４７は、複数のオーバーサンプリングクロックから、ひとつを選択する。レジスタ４８は、オーバーサンプリングクロックの中から、サンプリングクロックとして選択したタップ位置を記憶する。ＦＦ４４は、入力データのサンプリング結果を保持する。
【００５３】
次に、図１０から図１４を用いて、本発明の第２の実施の形態のメモリデバイスであるメモリカード１Ａ、ホストデバイス２Ａ、ホストデバイス２Ａのサンプリングクロックの調整方法について説明する。図１０は、本発明の第２の実施の形態のサンプリングクロックの調整方法の処理の流れを説明するためのフローチャートであり、図１１は、本発明の第２の実施の形態のサンプリングクロックの調整方法を説明するための説明図であり、図１２から図１４は、本発明の第２の実施の形態のサンプリングクロックの調整方法のタイミングチャートである。
【００５４】
以下、図１０のフローチャートに従い説明する。  
＜ステップＳ２０〜ステップＳ２４＞  
第１の実施の形態のメモリシステム３の、ステップＳ１０からステップＳ１４と同様であるため、説明は省略する。
【００５５】
＜ステップＳ２５＞  送信ステップ  
メモリシステム３Ａにおいては、図６に示したように、チューニングパターンコマンドには、同期用ヘッダ信号に関するパラメータＨが付加されている。同期用ヘッダ信号に関するパラメータＨがＯＮの場合には、メモリカード１Ａは、図１２から図１４に示すように、同期用ヘッダ信号出力部１６が出力する同期用ヘッダ信号を、レスポンス信号、ステータス（CRC Status）信号、データ（リードデータブロック）信号に同期ヘッダを付加して送信する。なお、複数のデータラインを有するメモリシステムでは、メモリカード１Ａはすべてのデータラインに出力する信号に同期ヘッダを付加することが好ましい。
【００５６】
＜ステップＳ２６＞  同期用ヘッダ信号確認ステップ  
ホストデバイス２Ａは、メモリカード１から受信した信号に同期用ヘッダ信号が付加されていることを確認する。
【００５７】
＜ステップＳ２７＞  サンプリングクロック微調整ステップ  
メモリカード１から受信した信号に同期用ヘッダ信号が付加されていた場合（Ｓ２６：Ｙｅｓ）には、サンプリングクロック微調整部２５Ｂが、サンプリングクロックの微調整を行う。
【００５８】
図１１に示すタイミングチャートでは、サンプリングクロックがＡの位置であり、データの前よりにずれている。サンプリングクロック微調整部２５Ｂでは、同期用ヘッダ信号の最初の０を検出し、矢印で示す多数のタップによりデータをオーバーサンプリングする。すなわち、サンプリング位置Ａより少し前からオーバーサンプリングを行う。図１１では２ビット分のデータをまたがるようにオーバーサンプリングしている。データはセンターで取るのが最適であるので、オーバーサンプリング結果から、Ｂのサンプリング位置が最適であるとわかるので、サンプリングクロック微調整部２５Ｂでは、サンプリングクロックの位相を微調整してデータサンプリング位置をＢに変更して、レジスタ４８に記憶する。すなわち、データのＨレベルとＬレベルの両方ができるだけ中心位置になるような近いところをデータサンプリング位置として選択する。
【００５９】
なお、図１５は、第２の実施の形態のメモリカード１において、クロック周波数が変更となった場合のオーバーサンプリングの対応を説明するための図である。図５（Ａ）に示すクロック周波数から、図５（Ｂ）に示すようにクロック周波数が半分になった場合には、サンプリング数を一定にするため、サンプリング間隔を倍にする。すなわち、ホストデバイスは使用する周波数に応じて、サンプリング間隔を変える。
【００６０】
第２の実施の形態のメモリシステム３Ａでは、同期ヘッダ信号は、カードからホストへの転送単位、具体的には、レスポンス、ＣＲＣ Status 、および リードデータブロックの３つに追加される。そして、ホストデバイス２Ａは、次の同期ヘッダ信号を受信するまでは、データサンプリング位置Ｂによりデータを取り込み、次の同期ヘッダ信号を受信すると再度、サンプリングクロックを微調整する。
【００６１】
なお、すでに説明したように、同期ヘッダ信号の送信データに追加は、コマンドにより、オン・オフが切り替えられる。
【００６２】
以上の説明のように、メモリシステム３Ａにおいては、同期ヘッダ信号をメモリカード１Ａからホストデバイス２Ａへの送信情報単位に追加するため、リードディレイ時間が変化しても、リアルタイムでのサンプリングクロックの微調整が可能となる。このため、メモリカード１Ａおよびホストデバイス２Ａは、第１の実施の形態のメモリカード１およびホストデバイス２よりも、さらに安定した高速転送が可能である。また、メモリカード１Ａはデータディレイ時間の変動が許容されるため設計が容易化される。また、ＨＷ化により、リアルタイムでサンプリングクロックの補正が可能になり、長い連続的なデータ転送が可能である。
【００６３】
また、本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を変えない範囲において、種々の変更、改変等が可能である。
【図面の簡単な説明】
【００６４】
【図１】第１の実施の形態のメモリカードとホストデバイスとからなるメモリシステムの全体構成を示す構成図である。
【図２】第１の実施の形態のメモリカードの構成を示す構成図である。
【図３】第１の実施の形態のホストデバイスの構成を示す構成図である。
【図４】第１の実施の形態のホストデバイスのサンプリングクロック調整部の構成を示す構成図である。
【図５】第１の実施の形態のサンプリングクロックの調整方法の処理の流れを説明するためのフローチャートである。
【図６】第１の実施の形態のサンプリングクロックの調整方法のタイミングチャートである。
【図７】第２の実施の形態のメモリカードの構成を示す構成図である。
【図８】第２の実施の形態のホストデバイスの構成を示す構成図である。
【図９】第２の実施の形態のホストデバイスのサンプリングクロック微調整部の構成を示す構成図である。
【図１０】第２の実施の形態のサンプリングクロックの調整方法の処理の流れを説明するためのフローチャートである。
【図１１】第２の実施の形態のサンプリングクロックの調整方法を説明するための説明図である。
【図１２】第２の実施の形態のサンプリングクロックの調整方法のタイミングチャートである。
【図１３】第２の実施の形態のサンプリングクロックの調整方法のタイミングチャートである。
【図１４】第２の実施の形態のサンプリングクロックの調整方法のタイミングチャートである。
【図１５】第２の実施の形態のメモリカードにおいて、クロック周波数が変更となった場合のオーバーサンプリングの対応を説明するための図である
【符号の説明】
【００６５】
１、１Ａ…メモリカード、２、２Ａ…ホストデバイス、３、３Ａ…メモリシステム、３Ａ…メモリシステム、１０…バス、１１…メモリコントローラ、１２…Ｉ／Ｏセル、１３…コネクタ、１４…メモリ部、１５…メモリ側パターン信号記憶部、１６…同期用ヘッダ信号出力部、２０…バス、２１…ホストコントローラ、２２…Ｉ／Ｏセル、２３…クロック、２４…ホスト側パターン信号記憶部、２５…サンプリングクロック調整部、２５Ａ…サンプリングクロック調整部、２５Ｂ…サンプリングクロック微調整部、２６…ホストＣＰＵ、２７…ホストドライバ、２８…相互干渉検出部、２９…チューニングパターン受信部、３１…データライン、３２…コマンドライン、３３…クロックライン、４１…ＤＬＬ、４２…マルチプレクサ、４３…レジスタ、４４…フリップフロップ、４５…ディレイライン集合、４５Ａ…ディレイライン、４６…ＦＦ集合、４６Ａ…フリップフロップ、４７…マルチプレクサ、４８…レジスタ
【図１】
2010157058.tif 000003
【図２】
2010157058.tif 000004
【図３】
2010157058.tif 000005
【図４】
2010157058.tif 000006
【図５】
2010157058.tif 000007
【図６】
2010157058.tif 000008
【図７】
2010157058.tif 000009
【図８】
2010157058.tif 000010
【図９】
2010157058.tif 000011
【図１０】
2010157058.tif 000012
【図１１】
2010157058.tif 000013
【図１２】
2010157058.tif 000014
【図１３】
2010157058.tif 000015
【図１４】
2010157058.tif 000016
【図１５】
2010157058.tif 000017