(57)【要約】【課題】ホスト装置と他装置との間の伝送速度の高速化を実現し、容易に導入可能なバスインタフェース装置を提供する。【解決手段】本発明の一例であるバスインタフェース装置は、第１端子Ｐ１から入力される第１信号と第２端子Ｐ２から入力される第２信号とに基づいて定まる第１状態を論理０、第２状態を論理１、第１状態及び第２状態よりもバスインタフェースの消費電流が小さくなる第３状態をローパワーと判断する判断手段６と、第３端子Ｐ３から出力される第３信号と第４端子Ｐ４から出力される第４信号とに基づいて定まる論理状態によって入力に対する応答又は情報を外部に出力する出力手段９とを具備する。【選択図】      図１
2008186077.tif 000002
【特許請求の範囲】
【請求項１】
第１信号線との接続に用いられる第１端子と、
第２信号線との接続に用いられる第２端子と、
前記第１端子から入力される第１信号と前記第２端子から入力される第２信号とに基づいて定まる第１状態を論理０、第２状態を論理１、前記第１状態及び前記第２状態よりもバスインタフェースの消費電流が小さくなる第３状態をローパワーと判断する判断手段と、
第３信号線との接続に用いられる第３端子と、
第４信号線との接続に用いられる第４端子と、
前記第３端子から出力される第３信号と前記第４端子から出力される第４信号とに基づいて定まる論理状態によって入力に対する応答又は情報を外部に出力する出力手段と
を具備するバスインタフェース装置。
【請求項２】
第１信号線との接続に用いられる第１端子と、
第２信号線との接続に用いられる第２端子と、
第３信号線との接続に用いられる第３端子と、
第４信号線との接続に用いられる第４端子と、
前記第１端子から入力される第１信号と前記第２端子から入力される第２信号とに基づいて、コマンドパケットに含まれているパケットの開始位置を示すパターン、クロック同期をとるためのパターン、コマンドの開始位置を示すパターン、コマンド、パケットの終了位置を示すパターンを識別する識別手段と、
前記コマンドパケットに対するレスポンスパケットに含まれるパケットの開始位置を示すパターン、クロック同期をとるためのパターン、レスポンスの開始位置を示すパターン、レスポンス、パケットの終了位置を示すパターンに基づいて、前記コマンドパケットの入力中に、前記レスポンスパケットに含まれている前記クロック同期をとるためのパターンを出力し、前記コマンドパケットの終了位置を示すパターンの入力後に、前記レスポンスパケットの開始位置を示すパターンが出力されるように、前記第３端子から出力される第３信号と前記第４端子から出力される第４信号とを用いて前記レスポンスパケットを出力する出力手段と
を具備することを特徴とするバスインタフェース装置。
【請求項３】
請求項２記載のバスインタフェース装置において、
前記コマンドは、ライトコマンドであり、
前記識別手段は、前記出力手段によって前記レスポンスパケットが送信された後、前記第１端子から入力される第１信号と前記第２端子から入力される第２信号とに基づいて、ライトデータパケットに含まれているパケットの開始位置を示すパターン、クロック同期をとるためのパターン、ライトデータの開始位置を示すパターン、ライトデータブロック、パケットの終了位置を示すパターンを識別し、
前記出力手段は、前記ライトデータパケットに対するライトデータステータスパケットに含まれるパケットの開始位置を示すパターン、クロック同期をとるためのパターン、ステータスの開始位置を示すパターン、ステータス、パケットの終了位置を示すパターンに基づいて、前記ライトデータパケットの入力中に、前記ライトデータステータスパケットに含まれるクロック同期をとるためのパターンを出力し、前記ライトデータパケットの終了位置を示すパターンの入力後に、前記ステータスの開始位置を示すパターンが出力されるように、前記第３信号と前記第４信号とを用いて前記ライトデータステータスパケットを出力する
ことを特徴とするバスインタフェース装置。
【請求項４】
請求項２記載のバスインタフェース装置において、
前記コマンドは、リードコマンドであり、
前記前記出力手段は、前記リードコマンドを含む前記コマンドパケットに対するリードデータパケットに含まれるパケットの開始位置を示すパターン、クロック同期をとるためのパターン、リードデータの開始位置を示すパターン、リードデータブロック、パケットの終了位置を示すパターンに基づいて、前記第３信号と前記第４信号とを用いてリードデータパケットを出力する
ことを特徴とするバスインタフェース装置。
【請求項５】
請求項２乃至請求項４のいずれか１項に記載のバスインタフェース装置において、
前記識別手段は、前記第１端子から入力される第１信号と前記第２端子から入力される第２信号とに基づいて、ローパワー状態への遷移要求を識別し、
前記出力手段は、ローパワーを受信した場合に、前記第３端子と前記第４端子とに、ローパワーの状態に遷移したことを示す前記第３信号と前記第４信号とを出力する
ことを特徴とするバスインタフェース装置。
【請求項６】
請求項５記載のバスインタフェース装置において、
前記第１端子から入力される第１信号と前記第２端子から入力される第２信号とに基づいて定まる第１状態を論理０、第２状態を論理１、前記第１状態及び前記第２状態よりもバスインタフェースの消費電流が小さくなる第３状態をローパワーと判断する判断手段
をさらに具備し、
前記出力手段は、前記第３信号と前記第４信号に基づいて定まる第４状態を割り込み通知と定め、前記ローパワー状態への遷移要求を解除させ動作状態に復帰するために、前記第３信号と前記第４信号とを用いて前記割り込み通知を出力する
ことを特徴とするバスインタフェース装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホスト装置と他装置との間の伝送に用いられるバスインタフェース装置に関する。
【背景技術】
【０００２】
ホスト装置とメモリ装置との間の伝送方式として、シングルエンド方式がある。
【０００３】
また、ホスト装置とメモリ装置との間の伝送方式として、例えばＵＳＢなどの差動方式がある。差動方式は、高速シリアル転送を用いたバスインタフェースである。
【０００４】
文献１（特開２００４−７８８７９号公報）に記載の多機能小型メモリカードインタフェースは、主に、デジタル情報の入力及び出力を支援する。文献１の多機能小型メモリカードインタフェースは、デジタル情報の保存に用いるメモリカードＩ／Ｏ機能モジュール、デジタル情報機能の保存に用いるメモリ、メモリカードＩ／Ｏ機能モジュール及びメモリカード間に接続するメインコントローラを含む。文献１の多機能小型メモリカードインタフェースは、同時に４ピン及び８ピンを備えた設計である。４ピン設計は、基本のＵＳＢインタフェースに用いられる。８ピンの設計は、ＳＦＭＩインタフェースと呼ばれ、４ビットの双方向指令／データ／状態バス、パルス同時信号、システムインタフェース及びメモリカード挿入設置探知信号及び電源、アースにより組成され、合計８組の接点を備える。
【０００５】
文献２（特開２００５−２１７９１６号公報）に記載の情報記憶装置は、ホストから電源と共にセットアップコマンドが供給されると、セットアップコマンド及び端子群の状態から、どの仕様の通信プロトコルに対応したコマンドであるかを判断し、判断した仕様向けにモード設定すると共に、対応する応答回路にアクセスし、ホストに対して判断した仕様の通信プロトコルに対応した応答を行う。
【特許文献１】特開２００４−７８８７９号公報
【特許文献２】特開２００５−２１７９１６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
シングルエンド方式の入出力（Ｉ／Ｏ）は、動作周波数の上限に限界があり、またノイズに弱いため、データ伝送レートを上げようとした場合に、実装によって特性が変わり、設計が困難となる。また、シングルエンド方式においては、ホスト装置とメモリ装置とが別構成の場合に、標準のインタフェース方式を用いることが困難である。
【０００７】
本発明は、ホスト装置と他装置との間の伝送速度の高速化を実現し、容易に導入可能なバスインタフェース装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本願発明の一態様によれば、バスインタフェース装置は、第１信号線との接続に用いられる第１端子と、第２信号線との接続に用いられる第２端子と、第３信号線との接続に用いられる第３端子と、第４信号線との接続に用いられる第４端子と、第１端子から入力される第１信号と第２端子から入力される第２信号とに基づいて、コマンドパケットに含まれているパケットの開始位置を示すパターン、クロック同期をとるためのパターン、コマンドの開始位置を示すパターン、コマンド、パケットの終了位置を示すパターンを識別する識別手段と、コマンドパケットに対するレスポンスパケットに含まれるパケットの開始位置を示すパターン、クロック同期をとるためのパターン、レスポンスの開始位置を示すパターン、レスポンス、パケットの終了位置を示すパターンに基づいて、コマンドパケットの終了位置を示すパターンの受信後に、レスポンスパケットの開始位置を示すパターンが出力されるように、第３端子と前記第４端子とに、第３信号と第４信号とを出力する出力手段とを具備する。
【発明の効果】
【０００９】
本発明においては、ホスト装置と他装置との間の伝送速度の高速化を実現し、容易に導入可能なバスインタフェース装置を提供することができる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照しながら本発明の各実施の形態について説明する。なお、以下の説明において、略同一の機能及び構成を有する構成要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
【００１１】
（第１の実施の形態）
本実施の形態においては、ホスト装置と他装置との間の伝送の高速化について説明する。なお、以下においては、他装置が例えばＳＤTMメモリカードなどのようなメモリカードの場合について説明するが、他装置としては各種メモリ装置、ＳＤＩＯTMカード、ＳＤTMエンベディドデバイスなどでもよい。
【００１２】
図１は、本実施の形態に係るホスト装置とメモリカードとの間のバスインタフェース装置の一例を示すブロック図である。
【００１３】
ホスト装置１は、メモリカード２と、４本の信号線Ｂ１〜Ｂ４を介して信号の授受を行う。ホスト装置１とメモリカード２との間は、差動方式によりデータ伝送が行なわれる。ホスト装置１は、ホストコントローラ３を具備する。
【００１４】
メモリカード２は、複数の信号端子（例えば第１ピン乃至第９ピン）Ｐ１〜Ｐ９、カードコントローラ４、メモリ５を具備する。なお、図１では、９つの信号端子Ｐ１〜Ｐ９がある場合を図示しているが、この信号端子の数は４つ以上であればよい。
【００１５】
メモリカード２のカードコントローラ４は、ホスト装置１から、信号線Ｂ１，Ｂ２及び２つの入力用の信号端子（ここでは、Ｐ１及びＰ２とする）経由で、信号を入力する。
【００１６】
また、メモリカード２のカードコントローラ４は、入力用の信号端子Ｐ１，Ｐ２とは異なる２つの出力用の信号端子（ここでは、Ｐ３及びＰ４とする）、及び信号線Ｂ３，Ｂ４経由で、ホスト装置１に、信号を出力する。
【００１７】
本実施の形態においては、信号線Ｂ１，Ｂ２の組を用いてホスト装置１からメモリカード２へ伝送パケットが送信され、信号線Ｂ３，Ｂ４の組を用いてメモリカード２からホスト装置１へ伝送パケットが送信される。本実施の形態においては、ホスト装置１とメモリカード２との間で少なくとも４ビットでの伝送が必要となる。２本の信号線が単方向の伝送に用いられる。ホスト装置１からメモリカード２へ２本１組、メモリカード２からホスト装置１へ２本１組、合計４本の信号線Ｂ１〜Ｂ４の信号が、メモリカード２の４ビットデータバスに割り当てられる。
【００１８】
さらに、カードコントローラ３は、バスＢ１，Ｂ２から受信した信号の電圧が４種の状態のうちいずれの状態であるか判断する判断部６、判断された状態から受信したパケットの内容を識別する識別部７、メモリカード２のクロックを制御するクロック制御部８、ホスト装置１に送信されるパケットに対応する信号を信号端子Ｐ３，Ｐ４を用いて出力する出力部９を具備する。
【００１９】
図２は、信号線Ｂ１，Ｂ２（信号端子Ｐ１，Ｐ２）の信号の状態と、信号から定まる状態の定義（ファンクション定義）と、シンボルとの関係の一例を示す図である。なお、バスＢ３（Ｐ３），Ｂ４（Ｐ４）の信号の状態と、信号から定まる状態の定義との関係も、図２と同様であるとする。
【００２０】
また、図３は、差動信号のレベルの一例を示す図である。
【００２１】
信号線Ｂ１及び信号端子Ｐ１にＨｉｇｈレベルの電圧が印加され、信号線Ｂ２及び信号端子Ｐ２にＧＮＤレベルの電圧が印加された場合を論理１と表し、信号線Ｂ１及び信号端子Ｐ１にＧＮＤレベルの電圧が印加され、信号線Ｂ２及び信号端子Ｐ２にＨｉｇｈレベルの電圧が印加された場合を論理０と表す。
【００２２】
論理１はシンボルＬ１で表される。論理０はシンボルＬ０で表される。
【００２３】
信号線Ｂ１がＧＮＤ、信号線Ｂ２がＧＮＤの状態はローパワーと定義され、シンボルＬＰで表される。
【００２４】
信号線Ｂ１がＨｉｇｈ、信号線Ｂ２がＨｉｇｈの状態は割り込みと定義され、シンボルＩＮＴで表される。
【００２５】
同様に、信号線Ｂ３及び信号端子Ｐ３にＨｉｇｈレベルの電圧が印加され、信号線Ｂ４及び信号端子Ｐ４にＧＮＤレベルの電圧が印加された場合を論理１と表し、信号線Ｂ３及び信号端子Ｐ３にＧＮＤレベルの電圧が印加され、信号線Ｂ４及び信号端子Ｐ４にＨｉｇｈレベルの電圧が印加された場合を論理０と表す。信号線Ｂ３がＧＮＤ、信号線Ｂ４がＧＮＤの状態はローパワーと定義される。信号線Ｂ３がＨｉｇｈ、信号線Ｂ４がＨｉｇｈの状態は割り込みと定義される。
【００２６】
図４は、４ビットで差動方式を使用する場合の差動回路の一例を示す回路図である。
【００２７】
ホスト装置１の差動回路出力バッファ１０の端子Ｄ１，Ｄ２は、それぞれバスＢ１，Ｂ２経由で、メモリカード２の差動回路入力バッファ１１の端子Ｄ３，Ｄ４と接続されている。メモリカード２の差動回路出力バッファ１２の端子Ｄ１，Ｄ２は、それぞれバスＢ３，Ｂ４経由で、ホスト装置１の差動回路入力バッファ１３の端子Ｄ３，Ｄ４と接続されている。
【００２８】
差動回路出力バッファ１０，１２は、出力制御端子ＯＥを持つ。差動回路入力バッファ１１，１３は、入力制御端子ＩＥを持つ。出力制御端子ＯＥは、信号線から切り離すため（トライステート）に用いられ、入力制御端子ＩＥは、信号線の変化が差動回路入力バッファ１１，１３からの出力ＤＩに影響を与えないようにするために用いられる。
【００２９】
図５は、本実施の形態に係るコマンドパケットとレスポンスパケットとに係る応答タイミングの一例を示す図である。
【００３０】
コマンドパケットCMD_PKは、ＳＰ、ＳＹＮＣ、ＣＰ、ＣＮＴ、コマンド、ＣＲＣ、ＥＰをこの順序で送信することにより、ホスト装置１からメモリカード２に送信される。
【００３１】
一方、コマンドパケットCMD_PKに対するレスポンスパケットRSP_PKは、ＳＰ、ＳＹＮＣ、ＣＰ、レスポンス、ＳＴＳ、ＣＲＣ、ＥＰを、この順序で送信することにより、メモリカード２からホスト装置１に送信される。
【００３２】
これらのシンボルは、論理０と論理１を１ビット又は複数ビット組み合わせて表現される。また、シンボルは順番によっても識別される。例えば、ＳＹＮＣの次にはＣＰが続くことを決めておくことで識別を容易にできるため、シンボルを短く定義し、同じパターンを重複して定義することも可能である。
【００３３】
ＳＰ（Start Pattern）は、パケットの開始位置を示すパターンである。
【００３４】
ＳＹＮＣ（Synchronize Pattern）は、ホスト装置１とメモリカード２との間でクロック同期をとるために用いられるパターンである。受信側となるホスト装置１又はメモリカード２は、このＳＹＮＣに同期するように、入力サンプリングクロックを調整し、ロックする。本実施の形態において、ＳＹＮＣは、可変長であるとする。
【００３５】
ＣＰ（Control Pattern）は、コマンドパケットCMD_PKの場合には、コマンドの開始位置を示し、レスポンスパケットRSP_PKの場合には、レスポンスの開始位置を示すパターンである。
【００３６】
ＣＮＴ（Timing Control Information）は、コマンドを有効とするタイミングを指定する情報パターンである。
【００３７】
差動方式の場合、コマンド・データ間のタイミング調整が難しい。そこで、どのタイミングでコマンドを有効とするかを識別するための情報として、ＣＮＴをコマンドパケットCMD_PKに付加する。
【００３８】
例えば、コマンドがアボートコマンドの場合、データ転送が完了して正常終了させるのか、データ転送中にアボートするのかを、ＣＮＴによって指定する。差動方式では、細かなタイミング調整を制御しないため、ＣＮＴによってコマンドを有効とするタイミングを指定可能とする必要がある。ＣＮＴを用いることにより、厳密なコマンド・データ間のタイミングを規定する必要がなくなる。
【００３９】
コマンド（Command Information）は、ＳＤTMコマンドとして定義された各種のコマンド番号を示し、コマンドを識別する情報を表す。
【００４０】
レスポンス（Response Information）は、例えばコマンド番号と同じものを返すことで、どのコマンドに対するレスポンスであるかを識別可能とする。
【００４１】
ＳＴＳ（Status Code）は、コマンドを実行した結果のエラー情報及び定義された各種ステータス情報である。
【００４２】
ＣＲＣは、コマンドパケットCMD_PKの場合、ＣＰからコマンドまでのＣＲＣコードを表し、レスポンスパケットRSP_PKの場合、ＣＰからＳＴＳまでのＣＲＣコードを表す。ＳＹＮＣは可変長であるため、ＣＲＣによる誤り検出・訂正の対象にはされない。
【００４３】
ＥＰ（End Pattern）は、パケットの終了位置を示すパターンである。
【００４４】
本実施の形態において、受信側がＥＰを受信した後に、論理０の状態を検出している場合、受信側は、送信側がビジーであると判断する。
【００４５】
以下において、図５におけるホスト装置１のホストコントローラ３と、メモリカード２のカードコントローラ４とによる伝送タイミングについて説明する。
【００４６】
ホストコントローラ３及びカードコントローラ４は、通常、論理１の状態を維持する。
【００４７】
ホストコントローラ３は、論路０及び論理１に基づくコマンドパケットCMD_PKを、信号線Ｂ１，Ｂ２経由で、カードコントローラ４に送信する。
【００４８】
カードコントローラ４の判断部６は、信号端子Ｐ１によって入力された第１信号の電圧と信号端子Ｐ２によって入力された第２信号の電圧と、図２の関係とに基づいて論理０、論理１、ローパワー、割り込みのいずれの状態であるか判断する。
【００４９】
カードコントローラ４の識別部７は、判断部６によって判断された論理０と論理１とのパターンから、コマンドパケットCMD_PKのＳＰ、ＳＹＮＣ、ＣＰ、ＣＮＴ、コマンド、ＣＲＣ、ＥＰを識別する。
【００５０】
カードコントローラ４のクロック制御部８は、識別部７によってコマンドパケットCMD_PKのＳＹＮＣが識別された後、この識別されたＳＹＮＣのパターンに同期するように、入力サンプリングクロックを調整し、ロックする。
【００５１】
カードコントローラ４の出力部９は、例えば図２の関係に基づいて、識別部７によってコマンドパケットCMD_PKのＣＰが識別された後、レスポンスパケットRSP_PKのＳＰ、ＳＹＮＣを、信号線Ｂ３，Ｂ４経由で、ホストコントローラ３に送信する。レスポンスパケットRSP_PKのＳＹＮＣの長さは、可変である。
【００５２】
さらに、出力部９は、識別部７によってコマンドパケットCMD_PKのＥＰが識別された後、レスポンスパケットRSP_PKのＣＰ、レスポンス、ＳＴＳ、ＣＲＣ、ＥＰを、信号線Ｂ３，Ｂ４経由で、ホストコントローラ３に送信する。
【００５３】
さらに、出力部９は、メモリカード２がビジーの場合、レスポンスパケットRSP_PKのＥＰの後に、論理０を、信号線Ｂ３，Ｂ４経由でホストコントローラ３に送信し、ビジー状態が解除された場合、論理０を論理１に切り換えて、信号線Ｂ３，Ｂ４経由でホストコントローラ３に送信する。
【００５４】
例えば、メモリ５がＮＡＮＤフラッシュTMメモリの場合、メモリ５とカードコントローラ４との間の通信は、ＮＡＮＤフラッシュTMメモリ用のインタフェースによって行われる。したがって、ここでは図示しないが、メモリ５とカードコントローラ４とは８ビットの入出力（Ｉ／Ｏ）線により接続されている。メモリ５がＮＡＮＤフラッシュTMメモリであって、カードコントローラ４がメモリ５にデータを書き込む際には、カードコントローラ４は、これらＩ／Ｏ線を介してデータ入力コマンド８０Ｈ、カラムアドレス、ページアドレス、データ、およびプログラムコマンド１０Ｈをメモリ５に順次入力する。ここで、コマンド８０Ｈの“Ｈ”は１６進数を示すものであり、実際には“１０００００００”という８ビットの信号が、８ビットのＩ／Ｏ線にパラレルに与えられる。つまり、このＮＡＮＤフラッシュTMメモリ用のインタフェースでは、複数ビットのコマンドがパラレルに与えられる。
【００５５】
また、ＮＡＮＤフラッシュTMメモリ用のインタフェースでは、メモリ５に対するコマンドとデータが同じＩ／Ｏ線を共用して通信されている。このように、例えば、ホスト装置１内のホストコントローラ３とメモリカード２とが通信するインタフェースと、メモリ５とカードコントローラ４とが通信するインタフェースとは異なるとすることができる。
【００５６】
以上説明した本実施の形態においては、コマンドパケットの受信中に、レスポンスパケットに含まれているクロック同期をとるためのパターンが送信され、コマンドパケットの終了位置を示すパターンの受信後に、レスポンスパケットの開始位置を示すパターンが送信されるように、レスポンスパケットが送信される。
【００５７】
本実施の形態においては、差動方式を採用することにより、ホスト装置１とメモリカード２との間で、ノイズの影響を受けにくいデータ伝送を行なうことができる。
【００５８】
本実施の形態においては、コマンドパケットCMD_PKの受信途中で、レスポンスパケットRSP_PKの送信を開始する。すなわち、コマンドパケットCMD_PKのＣＰ受信後に、レスポンスパケットRSP_PKのＳＰが送信され、コマンドパケットCMD_PKのＥＰ受信後に、レスポンスパケットRSP_PKのＣＰが送信される。これにより、ホスト装置１とメモリカード２との間のハンドシェークが行われる。
【００５９】
さらに、本実施の形態においては、ホスト装置１とメモリカード２との間のバス長を長くすることができ、設計の自由度を増すことができる。
【００６０】
本実施の形態においては、ホスト装置１は、メモリカード２に対して、コマンドパケットCMD_PKを送信中であっても、メモリカード２からレスポンスパケットRSP_PKのＳＹＮＣを受信することができるため、同期に必要な時間を無視できるため伝送速度を早くすることができる。
【００６１】
（第２の実施の形態）
本実施の形態においては、上記第１の実施の形態におけるホスト装置１及びメモリカード２によるマルチプルブロックライト転送について説明する。
【００６２】
図６は、マルチプルブロックライト転送の伝送タイミングの一例を示す図である。
【００６３】
最初にホスト装置１とメモリカード２との間で伝送されるコマンドパケットCMD_PK及びレスポンスパケットRSP_PKの伝送タイミングについては、上記第１の実施の形態の場合と同様である。
【００６４】
ホストコントローラ３は、レスポンスパケットRSP_PK受信後、メモリカード２がビジーでない場合、ライトデータパケットWDT_PKの送信を開始する。
【００６５】
ライトデータパケットWDT_PKは、ＳＰ、ＳＹＮＣ、ＤＰ、書き込み対象のデータブロック、ＣＲＣ、ＥＰをこの順序で送信することにより、ホスト装置１からメモリカード２に送信される。
【００６６】
ＤＰ（Data Pattern）は、データブロックの開始位置を示すパターンである。
【００６７】
データブロックは、１データブロックのデータを表すパターンである。データブロックの大きさは、例えば５１２バイトである。
【００６８】
すなわち、ライトデータパケットWDT_PKの転送では、ＤＰの後に１データブロックのデータが転送され、ＣＲＣが付加される。
【００６９】
カードコントローラ４の識別部７は、判断部６によって判断された論理０と論理１とのパターンから、ライトデータパケットWDT_PKのＳＰ、ＳＹＮＣ、ＤＰ、データブロック、ＣＲＣ、ＥＰを識別する。
【００７０】
カードコントローラ４のクロック制御部８は、識別部７によってライトデータパケットWDT_PKのＳＹＮＣが識別された後、この識別されたＳＹＮＣのパターンに同期するように、入力サンプリングクロックを調整し、ロックする。
【００７１】
カードコントローラ４の出力部９は、識別部７によってライトデータパケットWDT_PKのＤＰが識別された後、ライトデータステータスパケットWST_PKのＳＰ、ＳＹＮＣを、信号線Ｂ３，Ｂ４経由で、ホストコントローラ３に送信する。ライトデータステータスパケットWST_PKのＳＹＮＣの長さは、可変である。
【００７２】
さらに、出力部９は、識別部７によってライトデータパケットWDT_PKのＥＰが識別された後、ライトデータステータスパケットWST_PKのＤＰ、ＳＴＳ、ＣＲＣ、ＥＰを、信号線Ｂ３，Ｂ４経由で、ホストコントローラ３に送信する。ＳＴＳは、ＣＲＣステータスコードとする。具体的には、カードコントローラ４は、ライトデータパケットWDT_PKのＣＲＣを用いてライトデータパケットWDT_PKのデータブロックに誤りがないか検出する。この検出結果が、ライトデータステータスパケットWST_PKのＳＴＳとしてホストコントローラ３に送信される。
【００７３】
さらに、出力部９は、メモリカード２がビジーの場合、ライトデータステータスパケットWST_PKのＥＰの後に、論理０を、信号線Ｂ３，Ｂ４経由でホストコントローラ３に送信し、ビジー状態が解除された場合、論理０を論理１に切り換えて、信号線Ｂ３，Ｂ４経由でホストコントローラ３に送信する。これにより、メモリカード２がビジーであるか、あるいはビジー解除であるかが、メモリカード２からホスト装置１に通知される。
【００７４】
ホストコントローラ３は、データステータスパケットWST_PKの受信後、メモリカード２がビジーでない場合、次のライトデータパケットWDT_PKを、メモリカード２に送信する。
【００７５】
本実施の形態では、ホスト装置１からメモリカード２にライトデータパケットWDT_PKが送信されている途中であっても、データステータスパケットWST_PKのＳＹＮＣは、メモリカード２からホスト装置１に送信される。これにより、ホスト装置１とメモリカード２との同期に必要な時間を節約できる。
【００７６】
本実施の形態において、データステータスパケットWST_PKのＳＹＮＣは可変長であり、メモリカード２はライトデータパケットWDT_PKのＥＰを受信することで、データステータスパケットWST_PKのＤＰを送信する。データステータスパケットWST_PKのＤＰ送信後、論理０を示す信号がメモリカード２からホスト装置１に出力され、論理０から論理１の信号への変化により、ホスト装置１から次のライトデータパケットWDT_PKが送信される。
【００７７】
以上説明した本実施の形態では、ライトデータパケットの受信中に、ライトデータステータスパケットに含まれるクロック同期をとるためのパターンが送信され、ライトデータパケットの終了位置を示すパターンの受信後に、ステータスの開始位置を示すパターンが送信されるように、ライトデータステータスパケットが出力される。
【００７８】
（第３の実施の形態）
本実施の形態においては、ライトデータパケットWDT_PKをホスト装置１からメモリカード２に送信する前に、転送量（例えば送信するライトデータパケットWDT_PK又はデータブロックの数など）を示すコマンドパケットCMD_PK1を予め送信しておくマルチプルブロックライト転送について説明する。
【００７９】
図７は、転送量を予め通知しておくマルチプルブロックライト転送の伝送タイミングの一例を示す図である。以下においては、ホスト装置１からメモリカード２に転送されるデータブロックが２つの場合を例として説明するが、データブロックの数が1又は３以上の場合も同様である。
【００８０】
本実施の形態においては、まず、ホスト装置１は、メモリカード２に、転送量（転送するデータブロックが２つである旨）を示すコマンドパケットCMD_PK1を送信する。メモリカード２は、上記第１の実施の形態で説明したタイミングで、受信したコマンドパケットCMD_PK1に対するレスポンスパケットRSP_PK1をホスト装置１に送信する。
【００８１】
ホスト装置１は、レスポンスパケットRSP_PK1受信後、メモリカード２に、次のコマンドパケットCMD_PK2を送信する。このコマンドパケットCMD_PK2は、図６のコマンドパケットCMD_PKに相当する。メモリカード２は、上記第１の実施の形態で説明したタイミングで、受信したコマンドパケットCMD_PK2に対するレスポンスパケットRSP_PK2をホスト装置１に送信する。その後、メモリカード２は、ビジーの場合、論理０の状態をホスト装置１に送信し、ビジーが解除された場合、論理０を論理１に切り換える。
【００８２】
ホスト装置１は、レスポンスパケットRSP_PK2受信後、メモリカード２がビジーでない場合に、メモリカード２に、最初のライトデータパケットWDT_PK1を送信する。メモリカード２は、上記第２の実施の形態で説明したタイミングで、受信した最初のライトデータパケットWDT_PK1に対するデータステータスパケットWST_PK1をホスト装置１に送信する。その後、メモリカード２は、ビジーの場合、論理０をホスト装置１に送信し、ビジーが解除された場合、論理０を論理１に切り換える。
【００８３】
ホスト装置１は、データステータスパケットWST_PK1受信後、メモリカード２がビジーでない場合に、メモリカード２に、最後のライトデータパケットWDT_PK2を送信する。メモリカード２は、上記第２の実施の形態で説明したタイミングで、受信した最後のライトデータパケットWDT_PK2に対するデータステータスパケットWST_PK2をホスト装置１に送信する。その後、メモリカード２は、ビジーの場合、論理０の状態をホスト装置１に送信し、ビジーが解除された場合、論理０を論理１に切り換える。
【００８４】
差動方式では、コマンド発行によりタイミングを取ることが困難である。このため、本実施の形態では、コマンドパケットCMD_PK1（CMD1）により転送量を予めホスト装置１からメモリカード２に通知して転送を行うとしている。
【００８５】
なお、図８に示すように、ホスト装置１は、メモリカード２がビジーではなく、かつ、ホスト装置１からメモリカード２に論理１が通知されている期間に、転送を止める旨を示すコマンドCMD3をメモリカード２に発行し、マルチプルブロックライト転送を止めるとしてもよい。
【００８６】
（第４の実施の形態）
本実施の形態においては、上記第１の実施の形態におけるホスト装置１及びメモリカード２によるマルチプルブロックリード転送について説明する。
【００８７】
本実施の形態において、ホスト装置１は、読み出し処理を待ち状態としたい場合、メモリカード２に論理０を送信する。
【００８８】
メモリカード２の出力部９は、ホスト装置１から読み出し処理の待ち状態を通知されていなければ、読み出し対象のデータブロックを含むリードデータパケットRDT_PKの出力を開始する。
【００８９】
リードデータパケットRDT_PKは、ＳＰ、ＳＹＮＣ、ＤＰ、読み出し対象のデータブロック、ＣＲＣ、ＥＰをこの順序で送信することにより、メモリカード２からホスト装置１に送信される。
【００９０】
図９は、マルチプルブロックリード転送の伝送タイミングの一例を示す図である。
【００９１】
最初のホスト装置１とメモリカード２との間のコマンドパケットCMD_PK及びレスポンスパケットRSP_PKの伝送タイミングについては、上記第１の実施の形態の場合と同様である。
【００９２】
カードコントローラ４の出力部９は、読み出しコマンドを含むコマンドパケットCMD_PKをホスト装置１から受信した後、読み出し対象のデータブロックを含むリードデータパケットRDT_PK1を、信号線Ｂ３，Ｂ４経由で、ホストコントローラ３に送信する。
【００９３】
ホストコントローラ３は、メモリカード２からのリードデータパケットRDT_PK1の受信を開始し、１ブロック分のデータを読み込む。ホストコントローラ３は、データを読み込んだ後、次のブロックデータが読み込める状態にない場合、メモリカード２に論理０の状態を送信することでメモリカード２の次のブロックデータの送信を待たせることができる。ホストコントローラ３は、次のブロックデータが読み込める準備ができしだい、メモリカード２に論理１の状態を送信することで待ち状態を解除する。また、ホストコントローラ３は、リードデータパケットRDT_PK1のＣＲＣを用いて受信データに誤りがないかどうかを確認する。ホストコントローラ３は、誤りを発見した場合、読み込んだエラーを含むブロックデータを破棄し、リード転送を一旦中断させる。
【００９４】
カードコントローラ４の出力部９は、ホスト装置１から受信している論理０が論理１に切り換えられた場合、次のリードデータパケットRDT_PK2を、信号線Ｂ３，Ｂ４経由で、ホストコントローラ３に送信する。
【００９５】
差動方式では、ホスト装置がデータを受信できないときにクロックを停止するような動作が困難である。このため、本実施の形態では、リードデータパケットRDT_PK2の受信中にホスト装置１からメモリカード２へ論理０が送信された場合を、リードウェイトと定義している。
【００９６】
メモリカード２は、リードデータパケットRDT_PK1のデータブロックを転送し終わり、リードデータパケットRDT_PK1のＥＰを送信した後、ホスト装置１から論理０を受信している場合、リードウェイトであると認識する。メモリカード２は、ホスト装置１から受信している論理０が論理１に切り換わるのを待ち、次のリードデータパケットRDT_PK2を送信する。
【００９７】
（第５の実施の形態）
本実施の形態においては、転送量（例えば、読み出しを行うデータブロック又はリードデータパケットRDT_PKの数など）を示すコマンドパケットCMD_PK1（CMD1）を予めホスト装置１からメモリカード２に送信するマルチプルブロックリード転送について説明する。
【００９８】
図１０は、ホスト装置１がメモリカード２から受信するリードデータパケットRDT_PKに関する転送量を予めホスト装置１からメモリカード２に転送しておくマルチプルブロックリード転送の伝送タイミングの一例を示す図である。以下においては、メモリカード２からホスト装置１に転送されるデータブロックが３つの場合を例として説明するが、転送されるデータブロックの数が１、２又は４以上の場合も同様である。
【００９９】
本実施の形態においては、まず、ホスト装置１は、メモリカード２に、転送量（転送するデータブロックが３つである旨）を示すコマンドパケットCMD_PK1を送信する。メモリカード２は、上記第１の実施の形態で説明したタイミングで、受信したコマンドパケットCMD_PK1に対するレスポンスパケットRSP_PK1をホスト装置１に送信する。
【０１００】
ホスト装置１は、レスポンスパケットRSP_PK1受信後、メモリカード２に、次のコマンドパケットCMD_PK4を送信する。メモリカード２は、上記第１の実施の形態で説明したタイミングで、受信したコマンドパケットCMD_PK4に対するレスポンスパケットRSP_PK4をホスト装置１に送信する。
【０１０１】
メモリカード２は、リードデータパケットRDT_PKを送信後、ホスト装置１がリードウェイトか否か判断し、リードウェイトでない場合、次のリードデータパケットRDT_PK1をホスト装置１に送信する。リードデータパケットRDT_PKを送信後ホスト装置１がリードウェイトの場合には、メモリカード２は、リードウェイトが解除されるまで待ち、リードウェイトが解除されてから次のリードデータパケットRDT_PK1をホスト装置に送信する。
【０１０２】
以下、同様の動作が、コマンドパケットCMD_PK1の示す転送量の分（第２のリードデータパケットRDT_PK2及び第３のリードデータパケットRDT_PK3）について、繰り返される。
【０１０３】
差動方式においては、コマンド発行によりタイミングを取ることが困難であるが、本実施の形態では、ホスト装置１からメモリカード２に読み出し対象のデータブロックに関する転送量が予め通知される。
【０１０４】
なお、図１１に示すように、ホスト装置１は、リードデータパケットRDT_PKが送信されている間にマルチプルブロックリード転送をアボートする旨を示すコマンドパケットCMD_PK3（CMD3）を、メモリカード２に発行し、これによりマルチプルブロックリード転送をアボートしてもよい。
【０１０５】
（第６の実施の形態）
本実施の形態においては、ホスト装置１とメモリカード２とのウェイクアップについて説明する。
【０１０６】
図１２は、ホスト装置１とメモリカード２とのウェイクアップの伝送タイミングの一例を示す図である。
【０１０７】
本実施の形態では、論理１及び論理２の状態よりもバスインタフェースの消費電流が小さくなる状態を、ローパワーと定義する。
【０１０８】
ホストコントローラ３は、メモリカード２への伝送内容を、論理１（Ｌ１）からローパワー（ＬＰ）とすることにより、メモリカード及びインタフェースに関するローパワーモードへの遷移要求をメモリカード２に通知する。
【０１０９】
カードコントローラ４は、ホストコントローラ３からローパワー遷移要求を通知されると、メモリカード２をローパワーモードに遷移させ、ホスト装置１へローパワー（ＬＰ）を送信することでローパワー状態になったことを通知する。この手順により、メモリカード２が未使用状態のときは低消費電力状態にしておくことができる。
【０１１０】
メモリカード２からのイベント要求としては、例えば、自動決済装置とワイヤレス接続されたメモリカード２がホストにアクセス要求を行い、メモリカード２に内蔵している情報に基づき自動決済が実施されるような場合が想定される。
【０１１１】
ここで、メモリカード２にイベントが発生し、イベント発生をホストコントローラ３に通知したい場合には、カードコントローラ４は、ホストコントローラ３への通知内容を、ローパワー（ＬＰ）から割り込み（ＩＮＴ）に変更する。
【０１１２】
ホストコントローラ３は、メモリカード２から割り込み（ＩＮＴ）が通知されると、カードコントローラ４への通知内容を、ローパワー（ＬＰ）から論理１（Ｌ１）に切り換える。ホストコントローラ３は、論理１（Ｌ１）を受信すると、信号線Ｂ３，Ｂ４の割り込み（ＩＮＴ）出力を論理１（Ｌ１）に変更する。これでバスインタフェースは通信可能な状態となり、ホスト装置１は信号線Ｂ１，Ｂ２にコマンドを送出できる状態となる。
【０１１３】
（第７の実施の形態）
本実施の形態においては、シングルエンド方式の入出力（Ｉ／Ｏ）と差動方式の入出力（Ｉ／Ｏ）とを切り換え可能なホスト装置とメモリカードについて説明する。なお、本実施の形態に係るホスト装置及びメモリカードは、上記各実施の形態の機能を実現可能であるとする。
【０１１４】
図１３は、シングルエンド方式の入出力（Ｉ／Ｏ）と差動方式の入出力（Ｉ／Ｏ）とを切り換え可能なホスト装置とメモリカードの一例を示す回路図である。
【０１１５】
ホスト装置において、差動回路出力バッファ１４の端子Ｄ１，Ｄ２は、それぞれバスＢ１，Ｂ２と接続されている。
【０１１６】
ホスト装置において、シングルエンド双方向性Ｉ／Ｏバッファ１５は、バスＢ１に接続されており、シングルエンド双方向性Ｉ／Ｏバッファ１６は、バスＢ２に接続されている。
【０１１７】
メモリカードにおいて、差動回路入力バッファ１７の端子Ｄ３，Ｄ４は、それぞれバスＢ１，Ｂ２と接続されている。
【０１１８】
メモリカードにおいて、シングルエンド双方向性Ｉ／Ｏバッファ１８は、バスＢ１に接続されており、シングルエンド双方向性Ｉ／Ｏバッファ１９は、バスＢ２に接続されている。
【０１１９】
なお、バスＢ３，Ｂ４に対しては、バスＢ１，Ｂ２の場合と逆方向となる状態で、差動回路出力バッファ２０、差動回路入力バッファ２１、シングルエンド双方向Ｉ／Ｏバッファ２２〜２５が接続されている。
【０１２０】
シングルエンド双方向性Ｉ／Ｏバッファ１５，１６，１８，１９，２２〜２５は、出力制御端子ＯＥと入力制御端子ＩＥとを持つ。出力制御端子ＯＥは、信号線から切り離すため（トライステート）に用いられる。入力制御端子ＩＥは信号線の変化が端子ＤＩに影響を与えないために用いられる。
【０１２１】
ホスト装置のホストコントローラ２６は、シングルエンド方式による伝送を行なう場合には、シングルエンド双方向性Ｉ／Ｏバッファ１５，１６，２４，２５を選択し、差動方式による伝送を行なう場合には、差動回路出力バッファ１４及び差動回路入力バッファ２１を選択する伝送方式の切り換え部２７を具備する。
【０１２２】
同様に、メモリカードのカードコントローラ２８は、シングルエンド方式による伝送を行なう場合には、シングルエンド双方向性Ｉ／Ｏバッファ１８，１９，２２，２３を選択し、差動方式による伝送を行なう場合には、差動回路入力バッファ１７及び差動回路出力バッファ２０を選択する伝送方式の切り換え部２９を具備する。
【０１２３】
シングルエンド方式では、一つのバス（一つのピン）が双方向で用いられる。差動方式では、２つの信号線（２つのピン）で１つの状態が判断されるため、２つの信号線（２つのピン）の組が単方向の伝送に用いられる。そして、差動方式の場合、ホスト装置からメモリカードへの送信に２つの信号線を用い、メモリカードからホスト装置への送信に２つの信号線を用いることで、双方向の伝送を可能としている。したがって、差動方式の場合には、４ビットが必要となる。
【０１２４】
以下においては、図１３におけるホストコントローラ２６を具備するホスト装置とカードコントローラ２８を具備するメモリカードとの間のデータ転送について説明する。
【０１２５】
図１４は、ホスト装置とメモリカードとの構成の一例を示すブロック図である。
【０１２６】
メモリカード３０は、ＮＡＮＤフラッシュTMメモリ（以下、単にフラッシュメモリと記載する）チップ３１、このフラッシュメモリチップ３１を制御するカードコントローラ３２、および複数の信号ピン（第１ピン乃至第９ピン）３３を備えている。
【０１２７】
複数の信号ピン３３は、カードコントローラ３２と電気的に接続されている。複数の信号ピン３３における第１ピン乃至第９ピンに対する信号の割り当ての一例を、図１５に示す。
【０１２８】
データ０乃至データ３は、第７ピン、第８ピン、第９ピン、および第１ピンにそれぞれ割り当てられている。第１ピンは、また、カード検出信号に対しても割り当てられている。さらに、第２ピンはコマンドに割り当てられ、メモリカード３０がレスポンスを返すピンとしても使用される。第３ピンおよび第６ピンは接地電圧Ｖssに、第４ピンは電源電圧Ｖddに、第５ピンはクロック信号に割り当てられている。
【０１２９】
また、メモリカード３０は、ホスト装置３４に設けられたスロットに対して挿抜可能なように形成されている。ホスト装置３４に設けられたホストコントローラ（図示せず）は、これら第１ピン乃至第９ピンを介してメモリカード３０内のカードコントローラ３２と各種信号およびデータを通信する。例えば、メモリカード３０にデータが書き込まれる際には、ホストコントローラは、書き込みコマンドを、第２ピンを介してカードコントローラ３２にシリアルな信号として送出する。このとき、カードコントローラ３２は、第５ピンに供給されているクロック信号に応答して、第２ピンに与えられる書き込みコマンドを取り込む。レスポンス応答は、同じ第２ピンを用いてホスト装置３４に通知される。
【０１３０】
ここで、前述したように、書き込みコマンドは、第２ピンのみを利用してカードコントローラ３２にシリアルに入力される。書き込みデータは、データ０乃至データ３を用いてホスト装置３４からメモリカード３０に転送される。複数の信号ピン３３とそれに対するバスインタフェース３５は、ホスト装置３４内のホストコントローラとメモリカード３０とが通信するのに使用される。
【０１３１】
これに対し、フラッシュメモリ３１とカードコントローラ３２との間の通信は、ＮＡＮＤフラッシュTMメモリ用のインタフェースによって行われる。したがって、ここでは図示しないが、フラッシュメモリ３１とカードコントローラ３２とは８ビットの入出力（Ｉ／Ｏ）線により接続されている。
【０１３２】
第２ピンはシングルエンド方式のレスポンスに割り当てられている。第２ピンは、コマンドとレスポンスの両方に割り当てられている。
【０１３３】
シングルエンド方式では、第５ピンに供給されているクロック信号に応答してデータが入出力される。
【０１３４】
本実施の形態の差動方式では、例えば、第７ピン、第８ピンが差動信号の入出力に割り当てられ、第９ピン、第１ピンが差動データの出力に割り当てられる。
【０１３５】
本実施の形態の差動方式では、コマンド、レスポンスは差動信号で転送される。このため、シングルエンド方式においてコマンド、レスポンスに割り当てられている第２ピンは、本実施の形態の差動方式ではコマンド、レスポンスの入出力に使用しなくてもよい。
【０１３６】
本実施の形態の差動方式では、入力サンプリングクロックはＳＹＮＣに基づいてホスト装置及びメモリカードの内部で生成される。このため、シングルエンド方式でクロック信号に割り当てられている第５ピンは、本実施の形態の差動方式においてクロックの入力に使用しなくてもよい。
【０１３７】
本実施の形態において、シングルエンド方式と差動方式の切り換えは、例えば、ホスト装置からメモリカードへのコマンドにより行われる。
【０１３８】
以上説明した各実施の形態は、上記の構成そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。
【図面の簡単な説明】
【０１３９】
【図１】本発明の第１の実施の形態に係るホスト装置とメモリカードとの間のバスインタフェース装置の一例を示すブロック図。
【図２】信号線Ｂ１，Ｂ２の信号の状態と、信号から定まる状態の定義と、シンボルとの関係の一例を示す図。
【図３】差動信号のレベルの一例を示す図。
【図４】４ビットで差動方式を使用する場合の差動回路の一例を示す回路図。
【図５】第１の実施の形態に係るコマンドパケットとレスポンスパケットとに係る応答タイミングの一例を示す図。
【図６】本発明の第２の実施の形態に係るマルチプルブロックライト転送の伝送タイミングの一例を示す図。
【図７】本発明の第３の実施の形態に係る転送量を予め通知しておくマルチプルブロックライト転送の伝送タイミングの一例を示す図。
【図８】転送を止める旨を示すコマンドCMDを用いるマルチプルブロックライト転送の伝送タイミングの一例を示す図。
【図９】本発明の第４の実施の形態に係るマルチプルブロックリード転送の伝送タイミングの一例を示す図。
【図１０】本発明の第５の実施の形態に係る転送量を予めホスト装置からメモリカードに転送しておくマルチプルブロックリード転送の伝送タイミングの一例を示す図。
【図１１】転送を止める旨を示すコマンドCMD12を用いるマルチプルブロックリード転送の伝送タイミングの一例を示す図。
【図１２】本発明の第６の実施の形態に係るホスト装置とメモリカードとのウェイクアップの伝送タイミングの一例を示す図。
【図１３】本発明の第７の実施の形態に係るシングルエンド方式の入出力と差動方式の入出力とを切り換え可能なホスト装置とメモリカードの一例を示す回路図。
【図１４】第７の実施の形態に係るホスト装置とメモリカードとの構成の一例を示すブロック図。
【図１５】第７の実施の形態に係るシングルエンド方式の第１ピン乃至第９ピンに対する信号の割り当ての一例を示す図。
【符号の説明】
【０１４０】
１…ホスト装置、２…メモリカード、３，２６…ホストコントローラ、４，２８…カードコントローラ、５…メモリ、６…判断部、７…識別部、８…クロック制御部、９…出力部、１０，１２，１４，２０…差動回路出力バッファ、１１，１３，１７，２１…差動回路入力バッファ、１５，１６，１８，１９，２２，２３，２４，２５…シングルエンド双方向性Ｉ／Ｏバッファ、２７，２９…切り換え部
【図１】
2008186077.tif 000003
【図２】
2008186077.tif 000004
【図３】
2008186077.tif 000005
【図４】
2008186077.tif 000006
【図５】
2008186077.tif 000007
【図６】
2008186077.tif 000008
【図７】
2008186077.tif 000009
【図８】
2008186077.tif 000010
【図９】
2008186077.tif 000011
【図１０】
2008186077.tif 000012
【図１１】
2008186077.tif 000013
【図１２】
2008186077.tif 000014
【図１３】
2008186077.tif 000015
【図１４】
2008186077.tif 000016
【図１５】
2008186077.tif 000017