説明

バスインタフェース装置

【課題】ホスト装置と他装置との間の伝送速度の高速化を実現し、容易に導入可能なバスインタフェース装置を提供する。
【解決手段】本発明の一例であるバスインタフェース装置は、第1端子P1から入力される第1信号と第2端子P2から入力される第2信号とに基づいて定まる第1状態を論理0、第2状態を論理1、第1状態及び第2状態よりもバスインタフェースの消費電流が小さくなる第3状態をローパワーと判断する判断手段6と、第3端子P3から出力される第3信号と第4端子P4から出力される第4信号とに基づいて定まる論理状態によって入力に対する応答又は情報を外部に出力する出力手段9とを具備する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ホスト装置と他装置との間の伝送に用いられるバスインタフェース装置に関する。
【背景技術】
【0002】
ホスト装置とメモリ装置との間の伝送方式として、シングルエンド方式がある。
【0003】
また、ホスト装置とメモリ装置との間の伝送方式として、例えばUSBなどの差動方式がある。差動方式は、高速シリアル転送を用いたバスインタフェースである。
【0004】
文献1(特開2004−78879号公報)に記載の多機能小型メモリカードインタフェースは、主に、デジタル情報の入力及び出力を支援する。文献1の多機能小型メモリカードインタフェースは、デジタル情報の保存に用いるメモリカードI/O機能モジュール、デジタル情報機能の保存に用いるメモリ、メモリカードI/O機能モジュール及びメモリカード間に接続するメインコントローラを含む。文献1の多機能小型メモリカードインタフェースは、同時に4ピン及び8ピンを備えた設計である。4ピン設計は、基本のUSBインタフェースに用いられる。8ピンの設計は、SFMIインタフェースと呼ばれ、4ビットの双方向指令/データ/状態バス、パルス同時信号、システムインタフェース及びメモリカード挿入設置探知信号及び電源、アースにより組成され、合計8組の接点を備える。
【0005】
文献2(特開2005−217916号公報)に記載の情報記憶装置は、ホストから電源と共にセットアップコマンドが供給されると、セットアップコマンド及び端子群の状態から、どの仕様の通信プロトコルに対応したコマンドであるかを判断し、判断した仕様向けにモード設定すると共に、対応する応答回路にアクセスし、ホストに対して判断した仕様の通信プロトコルに対応した応答を行う。
【特許文献1】特開2004−78879号公報
【特許文献2】特開2005−217916号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
シングルエンド方式の入出力(I/O)は、動作周波数の上限に限界があり、またノイズに弱いため、データ伝送レートを上げようとした場合に、実装によって特性が変わり、設計が困難となる。また、シングルエンド方式においては、ホスト装置とメモリ装置とが別構成の場合に、標準のインタフェース方式を用いることが困難である。
【0007】
本発明は、ホスト装置と他装置との間の伝送速度の高速化を実現し、容易に導入可能なバスインタフェース装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
本願発明の一態様によれば、バスインタフェース装置は、第1信号線との接続に用いられる第1端子と、第2信号線との接続に用いられる第2端子と、第3信号線との接続に用いられる第3端子と、第4信号線との接続に用いられる第4端子と、第1端子から入力される第1信号と第2端子から入力される第2信号とに基づいて、コマンドパケットに含まれているパケットの開始位置を示すパターン、クロック同期をとるためのパターン、コマンドの開始位置を示すパターン、コマンド、パケットの終了位置を示すパターンを識別する識別手段と、コマンドパケットに対するレスポンスパケットに含まれるパケットの開始位置を示すパターン、クロック同期をとるためのパターン、レスポンスの開始位置を示すパターン、レスポンス、パケットの終了位置を示すパターンに基づいて、コマンドパケットの終了位置を示すパターンの受信後に、レスポンスパケットの開始位置を示すパターンが出力されるように、第3端子と前記第4端子とに、第3信号と第4信号とを出力する出力手段とを具備する。
【発明の効果】
【0009】
本発明においては、ホスト装置と他装置との間の伝送速度の高速化を実現し、容易に導入可能なバスインタフェース装置を提供することができる。
【発明を実施するための最良の形態】
【0010】
以下、図面を参照しながら本発明の各実施の形態について説明する。なお、以下の説明において、略同一の機能及び構成を有する構成要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
【0011】
(第1の実施の形態)
本実施の形態においては、ホスト装置と他装置との間の伝送の高速化について説明する。なお、以下においては、他装置が例えばSDTMメモリカードなどのようなメモリカードの場合について説明するが、他装置としては各種メモリ装置、SDIOTMカード、SDTMエンベディドデバイスなどでもよい。
【0012】
図1は、本実施の形態に係るホスト装置とメモリカードとの間のバスインタフェース装置の一例を示すブロック図である。
【0013】
ホスト装置1は、メモリカード2と、4本の信号線B1〜B4を介して信号の授受を行う。ホスト装置1とメモリカード2との間は、差動方式によりデータ伝送が行なわれる。ホスト装置1は、ホストコントローラ3を具備する。
【0014】
メモリカード2は、複数の信号端子(例えば第1ピン乃至第9ピン)P1〜P9、カードコントローラ4、メモリ5を具備する。なお、図1では、9つの信号端子P1〜P9がある場合を図示しているが、この信号端子の数は4つ以上であればよい。
【0015】
メモリカード2のカードコントローラ4は、ホスト装置1から、信号線B1,B2及び2つの入力用の信号端子(ここでは、P1及びP2とする)経由で、信号を入力する。
【0016】
また、メモリカード2のカードコントローラ4は、入力用の信号端子P1,P2とは異なる2つの出力用の信号端子(ここでは、P3及びP4とする)、及び信号線B3,B4経由で、ホスト装置1に、信号を出力する。
【0017】
本実施の形態においては、信号線B1,B2の組を用いてホスト装置1からメモリカード2へ伝送パケットが送信され、信号線B3,B4の組を用いてメモリカード2からホスト装置1へ伝送パケットが送信される。本実施の形態においては、ホスト装置1とメモリカード2との間で少なくとも4ビットでの伝送が必要となる。2本の信号線が単方向の伝送に用いられる。ホスト装置1からメモリカード2へ2本1組、メモリカード2からホスト装置1へ2本1組、合計4本の信号線B1〜B4の信号が、メモリカード2の4ビットデータバスに割り当てられる。
【0018】
さらに、カードコントローラ3は、バスB1,B2から受信した信号の電圧が4種の状態のうちいずれの状態であるか判断する判断部6、判断された状態から受信したパケットの内容を識別する識別部7、メモリカード2のクロックを制御するクロック制御部8、ホスト装置1に送信されるパケットに対応する信号を信号端子P3,P4を用いて出力する出力部9を具備する。
【0019】
図2は、信号線B1,B2(信号端子P1,P2)の信号の状態と、信号から定まる状態の定義(ファンクション定義)と、シンボルとの関係の一例を示す図である。なお、バスB3(P3),B4(P4)の信号の状態と、信号から定まる状態の定義との関係も、図2と同様であるとする。
【0020】
また、図3は、差動信号のレベルの一例を示す図である。
【0021】
信号線B1及び信号端子P1にHighレベルの電圧が印加され、信号線B2及び信号端子P2にGNDレベルの電圧が印加された場合を論理1と表し、信号線B1及び信号端子P1にGNDレベルの電圧が印加され、信号線B2及び信号端子P2にHighレベルの電圧が印加された場合を論理0と表す。
【0022】
論理1はシンボルL1で表される。論理0はシンボルL0で表される。
【0023】
信号線B1がGND、信号線B2がGNDの状態はローパワーと定義され、シンボルLPで表される。
【0024】
信号線B1がHigh、信号線B2がHighの状態は割り込みと定義され、シンボルINTで表される。
【0025】
同様に、信号線B3及び信号端子P3にHighレベルの電圧が印加され、信号線B4及び信号端子P4にGNDレベルの電圧が印加された場合を論理1と表し、信号線B3及び信号端子P3にGNDレベルの電圧が印加され、信号線B4及び信号端子P4にHighレベルの電圧が印加された場合を論理0と表す。信号線B3がGND、信号線B4がGNDの状態はローパワーと定義される。信号線B3がHigh、信号線B4がHighの状態は割り込みと定義される。
【0026】
図4は、4ビットで差動方式を使用する場合の差動回路の一例を示す回路図である。
【0027】
ホスト装置1の差動回路出力バッファ10の端子D1,D2は、それぞれバスB1,B2経由で、メモリカード2の差動回路入力バッファ11の端子D3,D4と接続されている。メモリカード2の差動回路出力バッファ12の端子D1,D2は、それぞれバスB3,B4経由で、ホスト装置1の差動回路入力バッファ13の端子D3,D4と接続されている。
【0028】
差動回路出力バッファ10,12は、出力制御端子OEを持つ。差動回路入力バッファ11,13は、入力制御端子IEを持つ。出力制御端子OEは、信号線から切り離すため(トライステート)に用いられ、入力制御端子IEは、信号線の変化が差動回路入力バッファ11,13からの出力DIに影響を与えないようにするために用いられる。
【0029】
図5は、本実施の形態に係るコマンドパケットとレスポンスパケットとに係る応答タイミングの一例を示す図である。
【0030】
コマンドパケットCMD_PKは、SP、SYNC、CP、CNT、コマンド、CRC、EPをこの順序で送信することにより、ホスト装置1からメモリカード2に送信される。
【0031】
一方、コマンドパケットCMD_PKに対するレスポンスパケットRSP_PKは、SP、SYNC、CP、レスポンス、STS、CRC、EPを、この順序で送信することにより、メモリカード2からホスト装置1に送信される。
【0032】
これらのシンボルは、論理0と論理1を1ビット又は複数ビット組み合わせて表現される。また、シンボルは順番によっても識別される。例えば、SYNCの次にはCPが続くことを決めておくことで識別を容易にできるため、シンボルを短く定義し、同じパターンを重複して定義することも可能である。
【0033】
SP(Start Pattern)は、パケットの開始位置を示すパターンである。
【0034】
SYNC(Synchronize Pattern)は、ホスト装置1とメモリカード2との間でクロック同期をとるために用いられるパターンである。受信側となるホスト装置1又はメモリカード2は、このSYNCに同期するように、入力サンプリングクロックを調整し、ロックする。本実施の形態において、SYNCは、可変長であるとする。
【0035】
CP(Control Pattern)は、コマンドパケットCMD_PKの場合には、コマンドの開始位置を示し、レスポンスパケットRSP_PKの場合には、レスポンスの開始位置を示すパターンである。
【0036】
CNT(Timing Control Information)は、コマンドを有効とするタイミングを指定する情報パターンである。
【0037】
差動方式の場合、コマンド・データ間のタイミング調整が難しい。そこで、どのタイミングでコマンドを有効とするかを識別するための情報として、CNTをコマンドパケットCMD_PKに付加する。
【0038】
例えば、コマンドがアボートコマンドの場合、データ転送が完了して正常終了させるのか、データ転送中にアボートするのかを、CNTによって指定する。差動方式では、細かなタイミング調整を制御しないため、CNTによってコマンドを有効とするタイミングを指定可能とする必要がある。CNTを用いることにより、厳密なコマンド・データ間のタイミングを規定する必要がなくなる。
【0039】
コマンド(Command Information)は、SDTMコマンドとして定義された各種のコマンド番号を示し、コマンドを識別する情報を表す。
【0040】
レスポンス(Response Information)は、例えばコマンド番号と同じものを返すことで、どのコマンドに対するレスポンスであるかを識別可能とする。
【0041】
STS(Status Code)は、コマンドを実行した結果のエラー情報及び定義された各種ステータス情報である。
【0042】
CRCは、コマンドパケットCMD_PKの場合、CPからコマンドまでのCRCコードを表し、レスポンスパケットRSP_PKの場合、CPからSTSまでのCRCコードを表す。SYNCは可変長であるため、CRCによる誤り検出・訂正の対象にはされない。
【0043】
EP(End Pattern)は、パケットの終了位置を示すパターンである。
【0044】
本実施の形態において、受信側がEPを受信した後に、論理0の状態を検出している場合、受信側は、送信側がビジーであると判断する。
【0045】
以下において、図5におけるホスト装置1のホストコントローラ3と、メモリカード2のカードコントローラ4とによる伝送タイミングについて説明する。
【0046】
ホストコントローラ3及びカードコントローラ4は、通常、論理1の状態を維持する。
【0047】
ホストコントローラ3は、論路0及び論理1に基づくコマンドパケットCMD_PKを、信号線B1,B2経由で、カードコントローラ4に送信する。
【0048】
カードコントローラ4の判断部6は、信号端子P1によって入力された第1信号の電圧と信号端子P2によって入力された第2信号の電圧と、図2の関係とに基づいて論理0、論理1、ローパワー、割り込みのいずれの状態であるか判断する。
【0049】
カードコントローラ4の識別部7は、判断部6によって判断された論理0と論理1とのパターンから、コマンドパケットCMD_PKのSP、SYNC、CP、CNT、コマンド、CRC、EPを識別する。
【0050】
カードコントローラ4のクロック制御部8は、識別部7によってコマンドパケットCMD_PKのSYNCが識別された後、この識別されたSYNCのパターンに同期するように、入力サンプリングクロックを調整し、ロックする。
【0051】
カードコントローラ4の出力部9は、例えば図2の関係に基づいて、識別部7によってコマンドパケットCMD_PKのCPが識別された後、レスポンスパケットRSP_PKのSP、SYNCを、信号線B3,B4経由で、ホストコントローラ3に送信する。レスポンスパケットRSP_PKのSYNCの長さは、可変である。
【0052】
さらに、出力部9は、識別部7によってコマンドパケットCMD_PKのEPが識別された後、レスポンスパケットRSP_PKのCP、レスポンス、STS、CRC、EPを、信号線B3,B4経由で、ホストコントローラ3に送信する。
【0053】
さらに、出力部9は、メモリカード2がビジーの場合、レスポンスパケットRSP_PKのEPの後に、論理0を、信号線B3,B4経由でホストコントローラ3に送信し、ビジー状態が解除された場合、論理0を論理1に切り換えて、信号線B3,B4経由でホストコントローラ3に送信する。
【0054】
例えば、メモリ5がNANDフラッシュTMメモリの場合、メモリ5とカードコントローラ4との間の通信は、NANDフラッシュTMメモリ用のインタフェースによって行われる。したがって、ここでは図示しないが、メモリ5とカードコントローラ4とは8ビットの入出力(I/O)線により接続されている。メモリ5がNANDフラッシュTMメモリであって、カードコントローラ4がメモリ5にデータを書き込む際には、カードコントローラ4は、これらI/O線を介してデータ入力コマンド80H、カラムアドレス、ページアドレス、データ、およびプログラムコマンド10Hをメモリ5に順次入力する。ここで、コマンド80Hの“H”は16進数を示すものであり、実際には“10000000”という8ビットの信号が、8ビットのI/O線にパラレルに与えられる。つまり、このNANDフラッシュTMメモリ用のインタフェースでは、複数ビットのコマンドがパラレルに与えられる。
【0055】
また、NANDフラッシュTMメモリ用のインタフェースでは、メモリ5に対するコマンドとデータが同じI/O線を共用して通信されている。このように、例えば、ホスト装置1内のホストコントローラ3とメモリカード2とが通信するインタフェースと、メモリ5とカードコントローラ4とが通信するインタフェースとは異なるとすることができる。
【0056】
以上説明した本実施の形態においては、コマンドパケットの受信中に、レスポンスパケットに含まれているクロック同期をとるためのパターンが送信され、コマンドパケットの終了位置を示すパターンの受信後に、レスポンスパケットの開始位置を示すパターンが送信されるように、レスポンスパケットが送信される。
【0057】
本実施の形態においては、差動方式を採用することにより、ホスト装置1とメモリカード2との間で、ノイズの影響を受けにくいデータ伝送を行なうことができる。
【0058】
本実施の形態においては、コマンドパケットCMD_PKの受信途中で、レスポンスパケットRSP_PKの送信を開始する。すなわち、コマンドパケットCMD_PKのCP受信後に、レスポンスパケットRSP_PKのSPが送信され、コマンドパケットCMD_PKのEP受信後に、レスポンスパケットRSP_PKのCPが送信される。これにより、ホスト装置1とメモリカード2との間のハンドシェークが行われる。
【0059】
さらに、本実施の形態においては、ホスト装置1とメモリカード2との間のバス長を長くすることができ、設計の自由度を増すことができる。
【0060】
本実施の形態においては、ホスト装置1は、メモリカード2に対して、コマンドパケットCMD_PKを送信中であっても、メモリカード2からレスポンスパケットRSP_PKのSYNCを受信することができるため、同期に必要な時間を無視できるため伝送速度を早くすることができる。
【0061】
(第2の実施の形態)
本実施の形態においては、上記第1の実施の形態におけるホスト装置1及びメモリカード2によるマルチプルブロックライト転送について説明する。
【0062】
図6は、マルチプルブロックライト転送の伝送タイミングの一例を示す図である。
【0063】
最初にホスト装置1とメモリカード2との間で伝送されるコマンドパケットCMD_PK及びレスポンスパケットRSP_PKの伝送タイミングについては、上記第1の実施の形態の場合と同様である。
【0064】
ホストコントローラ3は、レスポンスパケットRSP_PK受信後、メモリカード2がビジーでない場合、ライトデータパケットWDT_PKの送信を開始する。
【0065】
ライトデータパケットWDT_PKは、SP、SYNC、DP、書き込み対象のデータブロック、CRC、EPをこの順序で送信することにより、ホスト装置1からメモリカード2に送信される。
【0066】
DP(Data Pattern)は、データブロックの開始位置を示すパターンである。
【0067】
データブロックは、1データブロックのデータを表すパターンである。データブロックの大きさは、例えば512バイトである。
【0068】
すなわち、ライトデータパケットWDT_PKの転送では、DPの後に1データブロックのデータが転送され、CRCが付加される。
【0069】
カードコントローラ4の識別部7は、判断部6によって判断された論理0と論理1とのパターンから、ライトデータパケットWDT_PKのSP、SYNC、DP、データブロック、CRC、EPを識別する。
【0070】
カードコントローラ4のクロック制御部8は、識別部7によってライトデータパケットWDT_PKのSYNCが識別された後、この識別されたSYNCのパターンに同期するように、入力サンプリングクロックを調整し、ロックする。
【0071】
カードコントローラ4の出力部9は、識別部7によってライトデータパケットWDT_PKのDPが識別された後、ライトデータステータスパケットWST_PKのSP、SYNCを、信号線B3,B4経由で、ホストコントローラ3に送信する。ライトデータステータスパケットWST_PKのSYNCの長さは、可変である。
【0072】
さらに、出力部9は、識別部7によってライトデータパケットWDT_PKのEPが識別された後、ライトデータステータスパケットWST_PKのDP、STS、CRC、EPを、信号線B3,B4経由で、ホストコントローラ3に送信する。STSは、CRCステータスコードとする。具体的には、カードコントローラ4は、ライトデータパケットWDT_PKのCRCを用いてライトデータパケットWDT_PKのデータブロックに誤りがないか検出する。この検出結果が、ライトデータステータスパケットWST_PKのSTSとしてホストコントローラ3に送信される。
【0073】
さらに、出力部9は、メモリカード2がビジーの場合、ライトデータステータスパケットWST_PKのEPの後に、論理0を、信号線B3,B4経由でホストコントローラ3に送信し、ビジー状態が解除された場合、論理0を論理1に切り換えて、信号線B3,B4経由でホストコントローラ3に送信する。これにより、メモリカード2がビジーであるか、あるいはビジー解除であるかが、メモリカード2からホスト装置1に通知される。
【0074】
ホストコントローラ3は、データステータスパケットWST_PKの受信後、メモリカード2がビジーでない場合、次のライトデータパケットWDT_PKを、メモリカード2に送信する。
【0075】
本実施の形態では、ホスト装置1からメモリカード2にライトデータパケットWDT_PKが送信されている途中であっても、データステータスパケットWST_PKのSYNCは、メモリカード2からホスト装置1に送信される。これにより、ホスト装置1とメモリカード2との同期に必要な時間を節約できる。
【0076】
本実施の形態において、データステータスパケットWST_PKのSYNCは可変長であり、メモリカード2はライトデータパケットWDT_PKのEPを受信することで、データステータスパケットWST_PKのDPを送信する。データステータスパケットWST_PKのDP送信後、論理0を示す信号がメモリカード2からホスト装置1に出力され、論理0から論理1の信号への変化により、ホスト装置1から次のライトデータパケットWDT_PKが送信される。
【0077】
以上説明した本実施の形態では、ライトデータパケットの受信中に、ライトデータステータスパケットに含まれるクロック同期をとるためのパターンが送信され、ライトデータパケットの終了位置を示すパターンの受信後に、ステータスの開始位置を示すパターンが送信されるように、ライトデータステータスパケットが出力される。
【0078】
(第3の実施の形態)
本実施の形態においては、ライトデータパケットWDT_PKをホスト装置1からメモリカード2に送信する前に、転送量(例えば送信するライトデータパケットWDT_PK又はデータブロックの数など)を示すコマンドパケットCMD_PK1を予め送信しておくマルチプルブロックライト転送について説明する。
【0079】
図7は、転送量を予め通知しておくマルチプルブロックライト転送の伝送タイミングの一例を示す図である。以下においては、ホスト装置1からメモリカード2に転送されるデータブロックが2つの場合を例として説明するが、データブロックの数が1又は3以上の場合も同様である。
【0080】
本実施の形態においては、まず、ホスト装置1は、メモリカード2に、転送量(転送するデータブロックが2つである旨)を示すコマンドパケットCMD_PK1を送信する。メモリカード2は、上記第1の実施の形態で説明したタイミングで、受信したコマンドパケットCMD_PK1に対するレスポンスパケットRSP_PK1をホスト装置1に送信する。
【0081】
ホスト装置1は、レスポンスパケットRSP_PK1受信後、メモリカード2に、次のコマンドパケットCMD_PK2を送信する。このコマンドパケットCMD_PK2は、図6のコマンドパケットCMD_PKに相当する。メモリカード2は、上記第1の実施の形態で説明したタイミングで、受信したコマンドパケットCMD_PK2に対するレスポンスパケットRSP_PK2をホスト装置1に送信する。その後、メモリカード2は、ビジーの場合、論理0の状態をホスト装置1に送信し、ビジーが解除された場合、論理0を論理1に切り換える。
【0082】
ホスト装置1は、レスポンスパケットRSP_PK2受信後、メモリカード2がビジーでない場合に、メモリカード2に、最初のライトデータパケットWDT_PK1を送信する。メモリカード2は、上記第2の実施の形態で説明したタイミングで、受信した最初のライトデータパケットWDT_PK1に対するデータステータスパケットWST_PK1をホスト装置1に送信する。その後、メモリカード2は、ビジーの場合、論理0をホスト装置1に送信し、ビジーが解除された場合、論理0を論理1に切り換える。
【0083】
ホスト装置1は、データステータスパケットWST_PK1受信後、メモリカード2がビジーでない場合に、メモリカード2に、最後のライトデータパケットWDT_PK2を送信する。メモリカード2は、上記第2の実施の形態で説明したタイミングで、受信した最後のライトデータパケットWDT_PK2に対するデータステータスパケットWST_PK2をホスト装置1に送信する。その後、メモリカード2は、ビジーの場合、論理0の状態をホスト装置1に送信し、ビジーが解除された場合、論理0を論理1に切り換える。
【0084】
差動方式では、コマンド発行によりタイミングを取ることが困難である。このため、本実施の形態では、コマンドパケットCMD_PK1(CMD1)により転送量を予めホスト装置1からメモリカード2に通知して転送を行うとしている。
【0085】
なお、図8に示すように、ホスト装置1は、メモリカード2がビジーではなく、かつ、ホスト装置1からメモリカード2に論理1が通知されている期間に、転送を止める旨を示すコマンドCMD3をメモリカード2に発行し、マルチプルブロックライト転送を止めるとしてもよい。
【0086】
(第4の実施の形態)
本実施の形態においては、上記第1の実施の形態におけるホスト装置1及びメモリカード2によるマルチプルブロックリード転送について説明する。
【0087】
本実施の形態において、ホスト装置1は、読み出し処理を待ち状態としたい場合、メモリカード2に論理0を送信する。
【0088】
メモリカード2の出力部9は、ホスト装置1から読み出し処理の待ち状態を通知されていなければ、読み出し対象のデータブロックを含むリードデータパケットRDT_PKの出力を開始する。
【0089】
リードデータパケットRDT_PKは、SP、SYNC、DP、読み出し対象のデータブロック、CRC、EPをこの順序で送信することにより、メモリカード2からホスト装置1に送信される。
【0090】
図9は、マルチプルブロックリード転送の伝送タイミングの一例を示す図である。
【0091】
最初のホスト装置1とメモリカード2との間のコマンドパケットCMD_PK及びレスポンスパケットRSP_PKの伝送タイミングについては、上記第1の実施の形態の場合と同様である。
【0092】
カードコントローラ4の出力部9は、読み出しコマンドを含むコマンドパケットCMD_PKをホスト装置1から受信した後、読み出し対象のデータブロックを含むリードデータパケットRDT_PK1を、信号線B3,B4経由で、ホストコントローラ3に送信する。
【0093】
ホストコントローラ3は、メモリカード2からのリードデータパケットRDT_PK1の受信を開始し、1ブロック分のデータを読み込む。ホストコントローラ3は、データを読み込んだ後、次のブロックデータが読み込める状態にない場合、メモリカード2に論理0の状態を送信することでメモリカード2の次のブロックデータの送信を待たせることができる。ホストコントローラ3は、次のブロックデータが読み込める準備ができしだい、メモリカード2に論理1の状態を送信することで待ち状態を解除する。また、ホストコントローラ3は、リードデータパケットRDT_PK1のCRCを用いて受信データに誤りがないかどうかを確認する。ホストコントローラ3は、誤りを発見した場合、読み込んだエラーを含むブロックデータを破棄し、リード転送を一旦中断させる。
【0094】
カードコントローラ4の出力部9は、ホスト装置1から受信している論理0が論理1に切り換えられた場合、次のリードデータパケットRDT_PK2を、信号線B3,B4経由で、ホストコントローラ3に送信する。
【0095】
差動方式では、ホスト装置がデータを受信できないときにクロックを停止するような動作が困難である。このため、本実施の形態では、リードデータパケットRDT_PK2の受信中にホスト装置1からメモリカード2へ論理0が送信された場合を、リードウェイトと定義している。
【0096】
メモリカード2は、リードデータパケットRDT_PK1のデータブロックを転送し終わり、リードデータパケットRDT_PK1のEPを送信した後、ホスト装置1から論理0を受信している場合、リードウェイトであると認識する。メモリカード2は、ホスト装置1から受信している論理0が論理1に切り換わるのを待ち、次のリードデータパケットRDT_PK2を送信する。
【0097】
(第5の実施の形態)
本実施の形態においては、転送量(例えば、読み出しを行うデータブロック又はリードデータパケットRDT_PKの数など)を示すコマンドパケットCMD_PK1(CMD1)を予めホスト装置1からメモリカード2に送信するマルチプルブロックリード転送について説明する。
【0098】
図10は、ホスト装置1がメモリカード2から受信するリードデータパケットRDT_PKに関する転送量を予めホスト装置1からメモリカード2に転送しておくマルチプルブロックリード転送の伝送タイミングの一例を示す図である。以下においては、メモリカード2からホスト装置1に転送されるデータブロックが3つの場合を例として説明するが、転送されるデータブロックの数が1、2又は4以上の場合も同様である。
【0099】
本実施の形態においては、まず、ホスト装置1は、メモリカード2に、転送量(転送するデータブロックが3つである旨)を示すコマンドパケットCMD_PK1を送信する。メモリカード2は、上記第1の実施の形態で説明したタイミングで、受信したコマンドパケットCMD_PK1に対するレスポンスパケットRSP_PK1をホスト装置1に送信する。
【0100】
ホスト装置1は、レスポンスパケットRSP_PK1受信後、メモリカード2に、次のコマンドパケットCMD_PK4を送信する。メモリカード2は、上記第1の実施の形態で説明したタイミングで、受信したコマンドパケットCMD_PK4に対するレスポンスパケットRSP_PK4をホスト装置1に送信する。
【0101】
メモリカード2は、リードデータパケットRDT_PKを送信後、ホスト装置1がリードウェイトか否か判断し、リードウェイトでない場合、次のリードデータパケットRDT_PK1をホスト装置1に送信する。リードデータパケットRDT_PKを送信後ホスト装置1がリードウェイトの場合には、メモリカード2は、リードウェイトが解除されるまで待ち、リードウェイトが解除されてから次のリードデータパケットRDT_PK1をホスト装置に送信する。
【0102】
以下、同様の動作が、コマンドパケットCMD_PK1の示す転送量の分(第2のリードデータパケットRDT_PK2及び第3のリードデータパケットRDT_PK3)について、繰り返される。
【0103】
差動方式においては、コマンド発行によりタイミングを取ることが困難であるが、本実施の形態では、ホスト装置1からメモリカード2に読み出し対象のデータブロックに関する転送量が予め通知される。
【0104】
なお、図11に示すように、ホスト装置1は、リードデータパケットRDT_PKが送信されている間にマルチプルブロックリード転送をアボートする旨を示すコマンドパケットCMD_PK3(CMD3)を、メモリカード2に発行し、これによりマルチプルブロックリード転送をアボートしてもよい。
【0105】
(第6の実施の形態)
本実施の形態においては、ホスト装置1とメモリカード2とのウェイクアップについて説明する。
【0106】
図12は、ホスト装置1とメモリカード2とのウェイクアップの伝送タイミングの一例を示す図である。
【0107】
本実施の形態では、論理1及び論理2の状態よりもバスインタフェースの消費電流が小さくなる状態を、ローパワーと定義する。
【0108】
ホストコントローラ3は、メモリカード2への伝送内容を、論理1(L1)からローパワー(LP)とすることにより、メモリカード及びインタフェースに関するローパワーモードへの遷移要求をメモリカード2に通知する。
【0109】
カードコントローラ4は、ホストコントローラ3からローパワー遷移要求を通知されると、メモリカード2をローパワーモードに遷移させ、ホスト装置1へローパワー(LP)を送信することでローパワー状態になったことを通知する。この手順により、メモリカード2が未使用状態のときは低消費電力状態にしておくことができる。
【0110】
メモリカード2からのイベント要求としては、例えば、自動決済装置とワイヤレス接続されたメモリカード2がホストにアクセス要求を行い、メモリカード2に内蔵している情報に基づき自動決済が実施されるような場合が想定される。
【0111】
ここで、メモリカード2にイベントが発生し、イベント発生をホストコントローラ3に通知したい場合には、カードコントローラ4は、ホストコントローラ3への通知内容を、ローパワー(LP)から割り込み(INT)に変更する。
【0112】
ホストコントローラ3は、メモリカード2から割り込み(INT)が通知されると、カードコントローラ4への通知内容を、ローパワー(LP)から論理1(L1)に切り換える。ホストコントローラ3は、論理1(L1)を受信すると、信号線B3,B4の割り込み(INT)出力を論理1(L1)に変更する。これでバスインタフェースは通信可能な状態となり、ホスト装置1は信号線B1,B2にコマンドを送出できる状態となる。
【0113】
(第7の実施の形態)
本実施の形態においては、シングルエンド方式の入出力(I/O)と差動方式の入出力(I/O)とを切り換え可能なホスト装置とメモリカードについて説明する。なお、本実施の形態に係るホスト装置及びメモリカードは、上記各実施の形態の機能を実現可能であるとする。
【0114】
図13は、シングルエンド方式の入出力(I/O)と差動方式の入出力(I/O)とを切り換え可能なホスト装置とメモリカードの一例を示す回路図である。
【0115】
ホスト装置において、差動回路出力バッファ14の端子D1,D2は、それぞれバスB1,B2と接続されている。
【0116】
ホスト装置において、シングルエンド双方向性I/Oバッファ15は、バスB1に接続されており、シングルエンド双方向性I/Oバッファ16は、バスB2に接続されている。
【0117】
メモリカードにおいて、差動回路入力バッファ17の端子D3,D4は、それぞれバスB1,B2と接続されている。
【0118】
メモリカードにおいて、シングルエンド双方向性I/Oバッファ18は、バスB1に接続されており、シングルエンド双方向性I/Oバッファ19は、バスB2に接続されている。
【0119】
なお、バスB3,B4に対しては、バスB1,B2の場合と逆方向となる状態で、差動回路出力バッファ20、差動回路入力バッファ21、シングルエンド双方向I/Oバッファ22〜25が接続されている。
【0120】
シングルエンド双方向性I/Oバッファ15,16,18,19,22〜25は、出力制御端子OEと入力制御端子IEとを持つ。出力制御端子OEは、信号線から切り離すため(トライステート)に用いられる。入力制御端子IEは信号線の変化が端子DIに影響を与えないために用いられる。
【0121】
ホスト装置のホストコントローラ26は、シングルエンド方式による伝送を行なう場合には、シングルエンド双方向性I/Oバッファ15,16,24,25を選択し、差動方式による伝送を行なう場合には、差動回路出力バッファ14及び差動回路入力バッファ21を選択する伝送方式の切り換え部27を具備する。
【0122】
同様に、メモリカードのカードコントローラ28は、シングルエンド方式による伝送を行なう場合には、シングルエンド双方向性I/Oバッファ18,19,22,23を選択し、差動方式による伝送を行なう場合には、差動回路入力バッファ17及び差動回路出力バッファ20を選択する伝送方式の切り換え部29を具備する。
【0123】
シングルエンド方式では、一つのバス(一つのピン)が双方向で用いられる。差動方式では、2つの信号線(2つのピン)で1つの状態が判断されるため、2つの信号線(2つのピン)の組が単方向の伝送に用いられる。そして、差動方式の場合、ホスト装置からメモリカードへの送信に2つの信号線を用い、メモリカードからホスト装置への送信に2つの信号線を用いることで、双方向の伝送を可能としている。したがって、差動方式の場合には、4ビットが必要となる。
【0124】
以下においては、図13におけるホストコントローラ26を具備するホスト装置とカードコントローラ28を具備するメモリカードとの間のデータ転送について説明する。
【0125】
図14は、ホスト装置とメモリカードとの構成の一例を示すブロック図である。
【0126】
メモリカード30は、NANDフラッシュTMメモリ(以下、単にフラッシュメモリと記載する)チップ31、このフラッシュメモリチップ31を制御するカードコントローラ32、および複数の信号ピン(第1ピン乃至第9ピン)33を備えている。
【0127】
複数の信号ピン33は、カードコントローラ32と電気的に接続されている。複数の信号ピン33における第1ピン乃至第9ピンに対する信号の割り当ての一例を、図15に示す。
【0128】
データ0乃至データ3は、第7ピン、第8ピン、第9ピン、および第1ピンにそれぞれ割り当てられている。第1ピンは、また、カード検出信号に対しても割り当てられている。さらに、第2ピンはコマンドに割り当てられ、メモリカード30がレスポンスを返すピンとしても使用される。第3ピンおよび第6ピンは接地電圧Vssに、第4ピンは電源電圧Vddに、第5ピンはクロック信号に割り当てられている。
【0129】
また、メモリカード30は、ホスト装置34に設けられたスロットに対して挿抜可能なように形成されている。ホスト装置34に設けられたホストコントローラ(図示せず)は、これら第1ピン乃至第9ピンを介してメモリカード30内のカードコントローラ32と各種信号およびデータを通信する。例えば、メモリカード30にデータが書き込まれる際には、ホストコントローラは、書き込みコマンドを、第2ピンを介してカードコントローラ32にシリアルな信号として送出する。このとき、カードコントローラ32は、第5ピンに供給されているクロック信号に応答して、第2ピンに与えられる書き込みコマンドを取り込む。レスポンス応答は、同じ第2ピンを用いてホスト装置34に通知される。
【0130】
ここで、前述したように、書き込みコマンドは、第2ピンのみを利用してカードコントローラ32にシリアルに入力される。書き込みデータは、データ0乃至データ3を用いてホスト装置34からメモリカード30に転送される。複数の信号ピン33とそれに対するバスインタフェース35は、ホスト装置34内のホストコントローラとメモリカード30とが通信するのに使用される。
【0131】
これに対し、フラッシュメモリ31とカードコントローラ32との間の通信は、NANDフラッシュTMメモリ用のインタフェースによって行われる。したがって、ここでは図示しないが、フラッシュメモリ31とカードコントローラ32とは8ビットの入出力(I/O)線により接続されている。
【0132】
第2ピンはシングルエンド方式のレスポンスに割り当てられている。第2ピンは、コマンドとレスポンスの両方に割り当てられている。
【0133】
シングルエンド方式では、第5ピンに供給されているクロック信号に応答してデータが入出力される。
【0134】
本実施の形態の差動方式では、例えば、第7ピン、第8ピンが差動信号の入出力に割り当てられ、第9ピン、第1ピンが差動データの出力に割り当てられる。
【0135】
本実施の形態の差動方式では、コマンド、レスポンスは差動信号で転送される。このため、シングルエンド方式においてコマンド、レスポンスに割り当てられている第2ピンは、本実施の形態の差動方式ではコマンド、レスポンスの入出力に使用しなくてもよい。
【0136】
本実施の形態の差動方式では、入力サンプリングクロックはSYNCに基づいてホスト装置及びメモリカードの内部で生成される。このため、シングルエンド方式でクロック信号に割り当てられている第5ピンは、本実施の形態の差動方式においてクロックの入力に使用しなくてもよい。
【0137】
本実施の形態において、シングルエンド方式と差動方式の切り換えは、例えば、ホスト装置からメモリカードへのコマンドにより行われる。
【0138】
以上説明した各実施の形態は、上記の構成そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。
【図面の簡単な説明】
【0139】
【図1】本発明の第1の実施の形態に係るホスト装置とメモリカードとの間のバスインタフェース装置の一例を示すブロック図。
【図2】信号線B1,B2の信号の状態と、信号から定まる状態の定義と、シンボルとの関係の一例を示す図。
【図3】差動信号のレベルの一例を示す図。
【図4】4ビットで差動方式を使用する場合の差動回路の一例を示す回路図。
【図5】第1の実施の形態に係るコマンドパケットとレスポンスパケットとに係る応答タイミングの一例を示す図。
【図6】本発明の第2の実施の形態に係るマルチプルブロックライト転送の伝送タイミングの一例を示す図。
【図7】本発明の第3の実施の形態に係る転送量を予め通知しておくマルチプルブロックライト転送の伝送タイミングの一例を示す図。
【図8】転送を止める旨を示すコマンドCMDを用いるマルチプルブロックライト転送の伝送タイミングの一例を示す図。
【図9】本発明の第4の実施の形態に係るマルチプルブロックリード転送の伝送タイミングの一例を示す図。
【図10】本発明の第5の実施の形態に係る転送量を予めホスト装置からメモリカードに転送しておくマルチプルブロックリード転送の伝送タイミングの一例を示す図。
【図11】転送を止める旨を示すコマンドCMD12を用いるマルチプルブロックリード転送の伝送タイミングの一例を示す図。
【図12】本発明の第6の実施の形態に係るホスト装置とメモリカードとのウェイクアップの伝送タイミングの一例を示す図。
【図13】本発明の第7の実施の形態に係るシングルエンド方式の入出力と差動方式の入出力とを切り換え可能なホスト装置とメモリカードの一例を示す回路図。
【図14】第7の実施の形態に係るホスト装置とメモリカードとの構成の一例を示すブロック図。
【図15】第7の実施の形態に係るシングルエンド方式の第1ピン乃至第9ピンに対する信号の割り当ての一例を示す図。
【符号の説明】
【0140】
1…ホスト装置、2…メモリカード、3,26…ホストコントローラ、4,28…カードコントローラ、5…メモリ、6…判断部、7…識別部、8…クロック制御部、9…出力部、10,12,14,20…差動回路出力バッファ、11,13,17,21…差動回路入力バッファ、15,16,18,19,22,23,24,25…シングルエンド双方向性I/Oバッファ、27,29…切り換え部

【特許請求の範囲】
【請求項1】
第1信号線との接続に用いられる第1端子と、
第2信号線との接続に用いられる第2端子と、
前記第1端子から入力される第1信号と前記第2端子から入力される第2信号とに基づいて定まる第1状態を論理0、第2状態を論理1、前記第1状態及び前記第2状態よりもバスインタフェースの消費電流が小さくなる第3状態をローパワーと判断する判断手段と、
第3信号線との接続に用いられる第3端子と、
第4信号線との接続に用いられる第4端子と、
前記第3端子から出力される第3信号と前記第4端子から出力される第4信号とに基づいて定まる論理状態によって入力に対する応答又は情報を外部に出力する出力手段と
を具備するバスインタフェース装置。
【請求項2】
第1信号線との接続に用いられる第1端子と、
第2信号線との接続に用いられる第2端子と、
第3信号線との接続に用いられる第3端子と、
第4信号線との接続に用いられる第4端子と、
前記第1端子から入力される第1信号と前記第2端子から入力される第2信号とに基づいて、コマンドパケットに含まれているパケットの開始位置を示すパターン、クロック同期をとるためのパターン、コマンドの開始位置を示すパターン、コマンド、パケットの終了位置を示すパターンを識別する識別手段と、
前記コマンドパケットに対するレスポンスパケットに含まれるパケットの開始位置を示すパターン、クロック同期をとるためのパターン、レスポンスの開始位置を示すパターン、レスポンス、パケットの終了位置を示すパターンに基づいて、前記コマンドパケットの入力中に、前記レスポンスパケットに含まれている前記クロック同期をとるためのパターンを出力し、前記コマンドパケットの終了位置を示すパターンの入力後に、前記レスポンスパケットの開始位置を示すパターンが出力されるように、前記第3端子から出力される第3信号と前記第4端子から出力される第4信号とを用いて前記レスポンスパケットを出力する出力手段と
を具備することを特徴とするバスインタフェース装置。
【請求項3】
請求項2記載のバスインタフェース装置において、
前記コマンドは、ライトコマンドであり、
前記識別手段は、前記出力手段によって前記レスポンスパケットが送信された後、前記第1端子から入力される第1信号と前記第2端子から入力される第2信号とに基づいて、ライトデータパケットに含まれているパケットの開始位置を示すパターン、クロック同期をとるためのパターン、ライトデータの開始位置を示すパターン、ライトデータブロック、パケットの終了位置を示すパターンを識別し、
前記出力手段は、前記ライトデータパケットに対するライトデータステータスパケットに含まれるパケットの開始位置を示すパターン、クロック同期をとるためのパターン、ステータスの開始位置を示すパターン、ステータス、パケットの終了位置を示すパターンに基づいて、前記ライトデータパケットの入力中に、前記ライトデータステータスパケットに含まれるクロック同期をとるためのパターンを出力し、前記ライトデータパケットの終了位置を示すパターンの入力後に、前記ステータスの開始位置を示すパターンが出力されるように、前記第3信号と前記第4信号とを用いて前記ライトデータステータスパケットを出力する
ことを特徴とするバスインタフェース装置。
【請求項4】
請求項2記載のバスインタフェース装置において、
前記コマンドは、リードコマンドであり、
前記前記出力手段は、前記リードコマンドを含む前記コマンドパケットに対するリードデータパケットに含まれるパケットの開始位置を示すパターン、クロック同期をとるためのパターン、リードデータの開始位置を示すパターン、リードデータブロック、パケットの終了位置を示すパターンに基づいて、前記第3信号と前記第4信号とを用いてリードデータパケットを出力する
ことを特徴とするバスインタフェース装置。
【請求項5】
請求項2乃至請求項4のいずれか1項に記載のバスインタフェース装置において、
前記識別手段は、前記第1端子から入力される第1信号と前記第2端子から入力される第2信号とに基づいて、ローパワー状態への遷移要求を識別し、
前記出力手段は、ローパワーを受信した場合に、前記第3端子と前記第4端子とに、ローパワーの状態に遷移したことを示す前記第3信号と前記第4信号とを出力する
ことを特徴とするバスインタフェース装置。
【請求項6】
請求項5記載のバスインタフェース装置において、
前記第1端子から入力される第1信号と前記第2端子から入力される第2信号とに基づいて定まる第1状態を論理0、第2状態を論理1、前記第1状態及び前記第2状態よりもバスインタフェースの消費電流が小さくなる第3状態をローパワーと判断する判断手段
をさらに具備し、
前記出力手段は、前記第3信号と前記第4信号に基づいて定まる第4状態を割り込み通知と定め、前記ローパワー状態への遷移要求を解除させ動作状態に復帰するために、前記第3信号と前記第4信号とを用いて前記割り込み通知を出力する
ことを特徴とするバスインタフェース装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2008−186077(P2008−186077A)
【公開日】平成20年8月14日(2008.8.14)
【国際特許分類】
【出願番号】特願2007−16708(P2007−16708)
【出願日】平成19年1月26日(2007.1.26)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】