着脱可能な電子回路カードのモジュール間の効率的な接続
複数のモジュールがカードのバスに並列に接続される着脱可能な電子回路カードを使用することによって、各モジュールがそれぞれ独立してホストとコマンドおよびデータをやり取りすることができるようにする。本発明の第1の態様によると、これは、各モジュールとホストとの対話を容易にすることができるコントローラ間インターフェイスによって実現される。第1のセットの実施形態において、これらのモジュールは単一カード上にあり、第2のセットの実施形態において、これらのモジュールは複数のカードに分散され、第1のカードはホストに装着され、他のカードはホストには直接装着されずに、第1のカードに装着される。以上のどの場合においても、ホストにはこれら複数のモジュールが単一のモジュールを搭載した単一のカードに見える。本発明のさらに別の態様において、このカードまたはカード群は、ホストと複数のプロトコルで通信可能である。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般的には、着脱可能な電子回路カードの構造と使い方とに関し、より具体的には、単一カード上または個々のカード上のカードモジュール間の接続に関する。
【背景技術】
【0002】
普及しつつある市販のさまざまな不揮発性メモリカードは、極めて小形であり、それぞれ異なる機械的および/または電気的インターフェイスを有する。このような不揮発性メモリカードの例として、本願の譲受人である米国カリフォルニア州サニーベールのサンディスク コーポレイションから入手可能なマルチメディアカード(MMC)およびセキュアデジタル(SD)メモリカードが挙げられる。これ以外にも、国際標準化機構(ISO)および国際電気標準会議(IEC)の規格に準拠するカードがあり、例えば、広く施行されている規格としてISO/IEC7816規格が知られている。
【0003】
MMCに対する物理的および電気的仕様は、「マルチメディアカードシステム仕様」に定められ、この仕様は、米国カリフォルニア州クーペルティーノのマルチメディアカード協会(MMCA)によって時々更新されて発行されている。この仕様の1999年6月、2000年1月、および2001年6月付けのそれぞれのバージョン2.11、2.2、および3.1が、明確に本願明細書において参照により援用されている。単一カードの記憶容量が最大128メガバイトまでのさまざまな記憶容量を有するMMC製品がサンディスク コーポレイションから現在入手可能である。これらの製品は、サンディスク コーポレイションから2000年4月に発行された「マルチメディアカード製品マニュアル」の第2版に記載されている。このマニュアルの内容が、明確に本願明細書において参照により援用されている。MMC製品の電気的動作のいくつかの態様は、サンディスクコーポレイションに譲渡された1998年11月4日出願のトーマス・N・トゥームスおよびミッキー・ホルツマンによる同時係属中の米国特許出願第09/185,649号(特許文献1)および第09/186,064号(特許文献2)にも記載されている。カードの物理的構造および製造方法は、サンディスク コーポレイションに譲渡された米国特許第6,040,622号(特許文献3)に記載されている。これらの特許および特許出願も、本願明細書において参照により援用されている。
【0004】
より新しいSDカードはMMCカードと同様であり、追加のメモリチップを収容するために厚さが増している以外は同じ寸法である。これらのカードの主な相違点は、SDカードが、カードとホスト間のデータ転送をより高速化するために追加のデータ接点を含んでいる点である。SDカードを受け入れるように設計されたソケットがMMCカードも受け入れるように、SDカードのその他の接点はMMCカードの接点と同じである。本願明細書において参照により援用されている2002年2月21日公開のヨーラム・シダー、ミッキー・ホルツマン、およびヨシー・ピントの国際公開特許出願第WO02/15020号(特許文献4)に記載されているように、SDカードとの電気的および機能的インターフェイスはさらにSDカードを受け入れるように設計されたソケットがMMCカードも受け入れるようになっている。SDカードの特定の態様は、本願明細書において参照により援用されている2000年8月17日出願の米国特許出願第09/641,023号(特許文献5)に記載されている。(SDカードの仕様は、SD協会(SDA)の会員企業から入手可能である。)
【0005】
ISO/IEC7816規格に準拠して製造されたカードは、MMCおよびSDカードとは形状および表面接点の位置が異なり、また電気的インターフェイスも異なる。ISO/IEC7816規格は、全体のタイトルが「IDカード−端子付きICカード」であり、1994年から2000年にわたって発行されたパート1〜10から成る。この規格のコピーはスイス国ジュネーブのISO/IECから入手可能である。この規格の内容が、明確に本願明細書において参照により援用されている。ISO/IEC7816カードは、不正な方法でのデータの読み出しを極めて困難または不可能にする安全な方法でデータを格納する必要があるアプリケーションで特に役立つ。小形のISO/IEC7816カードは、多くの用途の中でも特に携帯電話で広く使用されている。
【0006】
最近、それぞれ異なる機能を有する複数のモジュールをホストに接続することができるカードについての記載がある。これらのカードは、複数のモジュールが単一のカードに搭載されている場合と、これらのモジュールが複数のカードに分散されている場合とがある。後者の場合、本願明細書において参照により援用されている2000年9月1日出願の同時係属中の米国特許出願第09/653,062号(特許文献6)に記載されているように、第1のカードはホストに直接装着され、その他のカードはホストには直接装着されず、第1のカードに装着される。これらのモジュールとして、例えばメモリモジュールおよび入出力モジュールが挙げられ、この場合、両モジュールを単一のコンビカードに搭載するか、或いはメモリカードの一端をホストに装着し、もう一方の端を入出力カードに装着するように設計する。このようなマルチモジュールカードは、高速、効率的、かつ簡便な方法でホストと連係するように設計する必要がある。
【特許文献1】米国特許出願第09/185,649号
【特許文献2】米国特許出願第09/186,064号
【特許文献3】米国特許第6,040,622号
【特許文献4】国際公開特許出願第WO02/15020号
【特許文献5】米国特許出願第09/641,023号
【特許文献6】米国特許出願第09/653,062号
【特許文献7】米国特許出願第09/924,185号
【特許文献8】米国特許出願第10/302,009号
【発明の開示】
【0007】
したがって、本発明は、簡潔に総括すると、複数のモジュールがカードのバスに並列に接続される着脱可能な電子回路カードを使用することによって、各モジュールがそれぞれ独立してホストとコマンドおよびデータをやり取りすることができるようにする。本発明の第1の態様によると、これは、各モジュールとホストとの対話を容易にすることができるコントローラ間インターフェイスによって実現される。第1のセットの実施形態において、これらのモジュールは単一のカード上にあり、第2のセットの実施形態において、これらのモジュールは複数のカードに分散され、第1のカードがホストに装着され、他のカードはホストには直接装着されずに、第1のカードに装着される。以上のどの場合においても、ホストにはこれら複数のモジュールが単一のモジュールを搭載した単一のカードに見える。本発明のさらに別の態様において、このカード(またはカード群)は、ホストと複数のプロトコルで通信可能である。
【0008】
例示的な実施形態の説明において、不揮発性の大容量記憶装置を備えるメモリモジュールと別個の入出力モジュールとがSDタイプの着脱可能な電子回路カードに搭載されているものと想定されている。これらのモジュールはそれぞれ固有のコントローラを有し、これらのコントローラは主カードバス(SDバス)に並列に接続され、このバスを介して各コントローラはコマンドおよびデータをホストとやり取りすることができる。一般には、これらのモジュールはそれぞれ異なる1セットの正規コマンドを有する。これらのモジュールは一部の共通コマンド、例えばリセットコマンド、を共有しうるが、各モジュールはモジュール固有のコマンド群を有する。これらのコントローラのバスへの並列接続を容易にするために、本発明は1セットのコントローラ間ラインを導入する。SDまたはMMCプロトコルとSPIプロトコルの両方を使用することができるカードに基づく例示的な実施形態において、このようなラインを3本使用する。これらのラインによって、一方のコントローラはもう一方のコントローラに対して、バス上のデータを無視するように指示することも、割り込みコマンドの発行許容時間を通知することも、或いは不正コマンドに関連するフラグの設定および設定解除を管理することもできる。また、本発明はマルチカードの実施形態で実施することも可能であり、この場合、一方のモジュールが装着されていることも装着されていないこともあるので、装着されてアクティブ状態であることを一方のコントローラはもう一方のコントローラにこれらのラインで通知することができる。
【0009】
単一カードの実施形態において、特定の規格に準拠しホストに装着可能な単一のカードにすべてのモジュールが搭載される。マルチカードの実施形態において、第1のカード(メモリカードなど)は、ホストに装着可能であるばかりでなく、入出力カードなどの追加のカードを1つまたは複数装着するためのコネクタをさらに含む。複数カードの場合では、主カードバスおよびコントローラ間インターフェイスがどちらもコネクタインターフェイスをまたいで延在するので、第2のカードが装着された場合でも、動作は単一カードの実施形態と同じである。
【0010】
例示的な実施形態の説明において、各モジュールはホストとの通信に複数のプロトコル、具体的にはSDまたはMMCプロトコルおよびSPIプロトコル、を使用することができると想定されているが、これ以外のプロトコルも使用しうる。コントローラ間の複数のラインは、使用するプロトコルに応じて異なる機能を果たすことができる。コントローラ間のこれらのラインは、並列に接続されているモジュールを単一の実体として動作するようにホストに見せるので、SDおよびMMCプロトコルでは、すべてのモジュールが1つの共通の相対カードアドレス(RCA)を共有し、SPIプロトコルでは、すべてのモジュールが同じチップセレクト(CS)信号に反応する。
【0011】
本発明の他の詳細、特徴、および利点は、添付図面と共に解釈されるべきである以下の説明から明らかになるであろう。
【発明を実施するための最良の形態】
【0012】
図1aを参照すると、ホスト電子システム31は、前に背景技術の欄で要約したメモリカードなどの市販されている1つまたは複数種類の着脱可能な電子回路カードをユーザが着脱しうるソケット33を含むものとして示されている。ソケット33は、ホスト31に組み込まれているものでも、物理的に離れていてケーブルまたはケーブルレス手段で接続されるものでもよい。ホスト31は、このようなカードを装着することができるソケット33を有するデスクトップまたはノートブック形態のパーソナルコンピュータでもよい。このようなカードソケットを内蔵したホストシステムの他の例として、ハンドヘルドコンピュータ、電子手帳、他の携帯情報端末(PDA)、携帯電話、音楽プレーヤーなどのさまざまな携帯用電子装置が挙げられる。また、自動車用ラジオおよび全地球測位システム(GPS)の受信器にもこのようなメモリカード用ソケットを備えることができる。本発明による改良は、メモリカードソケットを有する多様なホストシステムに適用可能である。
【0013】
本願明細書に記載されている各例において、SDカードについて説明されているが、本発明は特定の種類の着脱可能な電子回路カードによる実装だけに限定されるものではないことを理解されたい。図2において、SDカード35および嵌合ソケット33の物理的構成が示されている。SDカードは矩形であり、縦横寸法が24×32ミリメートル、厚さが2.1ミリメートルあり、カードの長辺に沿って厚さ1.4ミリメートルの幅狭のレール(図2には図示せず)がある。本発明は、さまざまな寸法のカードによって実現しうるが、長さが51ミリメートル未満、幅が40ミリメートル未満、および厚さが3ミリメートル未満のカードによって実現すると実用性が高い。
【0014】
SDカード35は9つの表面電気接点10〜18を含む。ホストシステムのソケット33に挿入すると、接点13、14および16が電源(VSS、VDDおよびVSS2 )に接続される。カードの接点15は、ホストからのクロック信号(CLK)を受信する。接点12は、ホストからコマンド(CMD)を受け取り、応答および状態信号をホストに送り返す。その他の接点10、11、17および18(それぞれDAT2、DAT3、DAT0、およびDAT1)は、不揮発性メモリに記憶するデータを並列に受信し、データをメモリからホストに並列に送出する。使用するデータ接点の数としてこれより少ない数を選択してもよく、例えば、単一のデータ接点17を選択することも可能である。ホストとカードとの間の最大データ転送速度は、使用される並列データ経路の数(および最大クロックレート)によって制限される。前述した背景技術の欄に記載されているMMCカードは、同様の接点配置とインターフェイスとを有するが、データピン10および18がなく、また接点11を使用せずに、予備として設けてある。MMCカードの縦横寸法はSDカードと同じであり、動作も同様であるが、カードの厚さがわずか1.4ミリメートルであり、単一のデータ接点17を有する。カード35の接点は、それぞれソケット33のピン20〜28を介してそのホストシステムに接続される。本発明と互換可能なメモリカードの他の拡張機能は、2001年8月2日出願の米国特許出願第09/924,185号(特許文献7)に記載されている。この特許出願は、本願明細書において参照により援用されている。
【0015】
本発明は、図1aの実施形態のカード35などの着脱可能な電子回路カードに基づき、このカード35は、参照符号36で示されているようなメモリモジュールに加え、入出力モジュール37を含む。入出力モジュール37は、他のシステム39と通信経路41を介して直接通信しうる。通信経路41は、赤外線または無線周波数信号を用いるような無線通信経路にすることも、有線接続を含むこともできる。有線の場合には、ワイヤに装着されたプラグを着脱可能に収容するために、カード35は外付けソケットを含む。無線の場合、無線周波数通信を使用する場合には、カード35はアンテナを内蔵し、赤外線通信を使用する場合には、カード35は赤外線放出・検出器を備える。無線周波数データ通信のための先端的な規格がBluetooth仕様として発行されている。この仕様は、ウィルソンおよびクロンズによってドクター・ドブズ・ジャーナルの2000年3月号(62頁から始まる)および2000年4月号(58頁から始まる)に「InsideBluetoothPart I」および「Inside BluetoothPart II」という表題の2つの記事で論じられている。これらの2つの記事の内容が、本願明細書において参照により援用されている。他の無線方式として、WiFeなどの802.11プロトコルに基づく方式、および超広帯域(UWB)技術に基づく方式が挙げられる。通信経路41上のデータ転送は通常、双方向であるが、データ転送を一方向に限り、もう一方の方向を特定の用途に使用することもできる。
【0016】
用途によっては、入射信号41の発信元が明確に外部システム39でなくてもよい。例えば、入出力モジュール37をカメラモジュールとして機能させるために、入出力モジュール37がカードに一体化された光センサまたはレンズを備えることもできる。この場合、信号41は入射する放射線であり、カードはスタンドアロンユニットを形成するので、ホスト以外の実体とケーブルまたはアンテナを介して交信する必要はない。
【0017】
図1aの例示的な実施形態において、入出力モジュール37を含むコンビカード35は、背景技術の欄に記載されているようなSDメモリカードに基づくので、このようなSDメモリカードと互換性がある。この互換性は、機械的、電気的、電源、信号方式、およびソフトウェアの互換性を含む。コンビカード35の目的は、高速データ入出力を低消費電力でモバイル電子装置に提供することである。基本的な目的は、コンビカード非対応のホストに挿入されたコンビカードがその装置またはそのソフトウェアに物理的損傷または混乱を引き起こさないようにすることである。この場合、I/Oモジュールの機能は、単に無視されるべきである。コンビカード対応ホストに挿入されたカードの検出は、前に援用されているMMC仕様のバージョン2.11または米国特許出願第09/641,023号(特許文献5)に記載されている通常の手段といくつかの拡張機能によって行われる。この状態において、コンビカードはアイドル状態であり、引き込まれる電力量は少ない(1秒あたり平均15mA)。ホストによるカードの通常の初期化および呼び掛けのとき、カードはカード自身をコンビカード装置として同定する。次に、ホストソフトウェアはカード情報をタプル(リンクリスト)形式で取得し、カードのI/O機能(群)の起動を許容しうるかどうかを判定する。この決定は、所要電力または該当するソフトウェアドライバの可用性などのパラメータに基づく。カードが許容される場合、カードのフルパワーアップと、カードに組み込まれたI/Oおよび機能(群)の起動が可能になる。図1aの例示的な実施形態の動作の詳細は、同時係属中の2002年11月21日出願の米国特許出願第10/302,009号(特許文献8)に記載されている。この特許出願は、本願明細書において参照により援用されている。
【0018】
図1bに示されている本発明の別の例示的な実施形態では、メモリモジュールおよび入出力モジュールが別々のカードに搭載されている。この代替の例示的な実施形態は、図2に参照符号36で示されているようなコネクタの追加によってメモリカード35などのメモリカードを変更するステップを含み、変更後のカードは、図1bに参照符号35’で識別されている。入出力カード37の嵌合コネクタにコネクタ36を装着することによって、2つのカードを機械的および電気的に結合している。この構成において、第2のカード37は該当する規格、この例ではSDまたはSD IOカード規格、に機能的に準拠するが、機械的には必ずしも準拠させる必要はなく、第1のカード35’を物理的アダプタとして使用することもできる。入出力カード37は、通信経路41を介して他のシステム39と直接通信する。カードへのカード装着の機械的態様を含む図1bの例示的な実施形態の動作の詳細は、前に援用されている同時係属中の2000年9月1日出願の米国特許出願第09/653,062号(特許文献6)に記載されている。
【0019】
図1aおよび図1bの例示的な実施形態および以下の説明の大半は、2つのモジュール、具体的にはメモリモジュールおよび入出力モジュール、に基づいているが、より一般的には、より多くのモジュールを図1aのように単一カードに搭載することも、図1bのように複数のカードに分散させることもできる。ただし、どちらの場合も、ホストに装着されるのは1つのカードだけである。例えば、図1aの35に複数のI/Oモジュールを搭載することができ、或いは図1bにおいてカード37に複数の入出力モジュールを搭載することも、35’に複数の入出力カードを装着することもできる。一般的に、本発明のさまざまな態様の説明において、単一のカードがホストに接続されている。このカードは、そのカード自体に複数のモジュールを搭載する(コンボカード)か、或いはそのカードを介して、モジュールを搭載した1つまたは複数のカードをホストに接続する。
【0020】
この例示的な実施形態について、前に援用されている米国特許出願第09/186,064号(特許文献2)に記載されているように、カード(またはカード群)が複数のプロトコルでホストとやり取りすることができる場合についても説明する。具体的には、これらのプロトコルは、例示的な実施形態において、MMCまたはSD(前に参照により援用されているMMC仕様のバージョン2.11または米国特許出願第09/641,023号(特許文献5)に記載されている)プロトコルおよびSPIプロトコルである。
【0021】
図3は、該当するSDカード規格に準拠し、メモリモジュールと入出力モジュールとを備えたコンビカード35の1つの例示的な実施形態のブロック図である。このメモリモジュールには、コントローラ301のみが明示的に示され、同様にI/Oモジュールにはコントローラ303のみが示されている。ここでは、I/Oモジュール(複数のI/O機能を収容可能)は、選択された特定のカード種別と協動するように設計され、かつ前に援用されているような適切な仕様に準拠する。また、前述したように、この実施形態は、前に援用されている文献に説明されているように、SDバスモードおよびSPIバスモードの両方をサポートするものと見なされる。これらのモジュールがデータおよびコマンドをホストとやり取りするためのバス構造が331で示されている。特に、このバスはSD規格に準拠し、クロックラインCLK、コマンドラインCMD、データラインDAT0〜3、および電源ラインVddおよびVssを含む。破線307は、2枚のカードによる実装例の場合、ホストに直接接続されるメモリカード(35’)と、このメモリカードに接続される入出力カード(37)との間の境界を示す。この場合も、バス331は両カードにわたって延在し、両コントローラに接続される。
【0022】
以下の説明の範囲は、I/O拡張スロット付きのSDカードの機能的特性と、関連する電気的およびタイミング事項とを主に規定する。図3の実施形態において、メモリコントローラ301とI/Oコントローラ303の両方がホストとの通信用の同じバスに接続されている。したがって、各モジュールはそれぞれ個別にホストとやり取りすることができるが、ホストに見えるのは単一のカードだけである。この結果、前述した例示的なプロトコルの場合、SDまたはMMCモードでは、カードに対して単一の相対カードアドレス(RCA)が定義され、SPIモードでは、カード(またはカード群)に搭載されているモジュールが複数であっても、そのカードに対して単一のチップセレクト(CS)信号のみが使用される。ホストに並列に接続された複数のモジュールをホストには単一のカードと見せながら動作させるために、この2つのコントローラの間に接続333が実装される。
【0023】
この例示的な接続は3本の制御ラインA、B、およびCを有し、これらの制御ラインを介してコントローラ同士が信号をやり取りすることによって、各モジュールはホストからのどのコマンドおよびデータがどのモジュール宛てであるかを区別することができる。両モジュールはホストによって同じ相対カードアドレス(RCA)またはチップセレクト(CS)信号によって識別されるが、多くのコマンドは一方のモジュールだけに固有であるので、これらの制御ラインは各モジュールがホストとのこのような対話を容易に行えるようにする。例えば、ホストがI/Oモジュール固有のコマンドの送出後に何らかのデータを送出すると、メモリモジュールはこのコマンドを不正と解釈しうる。しかし、制御ライン333によってI/Oコントローラ303はメモリコントローラ301に対して、そのコマンドが不正ではなく、I/Oモジュール宛てのコマンドであるので、メモリモジュールが後続データを無視するように指示することができる。この例示的な実施形態において、大半のコマンドが一方または他方のモジュールに固有であり、両モジュールに共通のコマンドの数が少ないと想定している。このような共通のコマンドの例として、カードリセットコマンド、カード全体に対するRCAの設定に関連するコマンド、CS信号に関連するコマンド、および大半の独立モジュールをホストには単一のカードとして見せながら機能させるための他のコマンドが挙げられる。これ以外に両モジュールに共通しうるコマンドとして、米国特許出願第10/302,009号(特許文献8)に詳述されているモジュール間のDMAタイプの転送に関連するコマンドなどが挙げられる。
【0024】
インターフェイス制御ラインについてより詳細に説明し、最初にライン[A]について説明する。ライン[A]は図3では、INT_PER_IGNOR_DIとも表記され、デュアル機能を有し、すなわちSDモードの通信では、VALID MEMORYINTERRUPT PERIODラインとして機能し、SPIモードでは、IGNORE DI INPUTSラインとして機能する。SPIモードでは、データおよびコマンド/応答がシリアルに送られ、入力はCMD(現在はデータ入力、すなわちDI)ラインで行われ、出力はDAT0(現在はデータ出力、すなわちDO)ラインで行われる。両モジュールが並列に接続され、両モジュールがSDバス331上で受信するために、一方のモジュールに送られたデータ/コマンドがもう一方のモジュールによって解釈されることもありうる。SPIモードでは、一方のコントローラはもう一方のコントローラに対して、DI入力を無視するようにライン[A]で指示する。デフォルトは、プルアップモードとして実装される。一方のコントローラ(IOまたはメモリ)は「0」を設定することによって、もう一方のコントローラに対して、DI入力を無視するように指示する。制御ライン[A]を使用する理由は、一方のコントローラに送られたデータがもう一方のコントローラによってコマンドとして解釈されうるからである。両コントローラがデータを同時に受け取ることはないので、I/Oからメモリへの送出、およびメモリからI/Oへの送出に同じ制御ライン[A]を使用する。
【0025】
図4aは、I/Oコントローラからメモリコントローラに対して、DIを無視するように指示する例である。I/Oコントローラはコマンドを受け取った後にデータを受け取るので、I/Oコントローラはコマンド応答の最終ビットからTARIクロック後にライン[A]のゼロへのアサートを開始する。I/Oコントローラは、最終ビジービットからTABSクロック(図5に定義)後にライン[A]を解放する。メモリコントローラはライン[A]で「低」を検知すると、以降I/Oコントローラがライン[A]を解放するまで、メモリコントローラはDI入力を無視する。
【0026】
図4bは、I/OコントローラにDIを無視させるために、I/Oコントローラからメモリコントローラに送られる指示の一例である。メモリコントローラはコマンドを受け取った後にデータを受け取るので、メモリコントローラはコマンド応答の最終ビットからTARIクロック後にライン[A]のゼロへのアサートを開始する。最終ビジービットからTABSクロック後に、メモリコントローラはライン[A]を解放する。I/Oコントローラはライン[A]上で「低」を検知すると、以降メモリコントローラがライン[A]を解放するまで、I/OコントローラはDI入力を無視する。SPIモードでのライン[A]のバスタイミングの一例を図5に示し、図中の記号を図6の表1に定義する。
【0027】
SDモードでは、ライン[A]は、図7に示されているように、VALID MEMORY INTERRUPT PERIOD信号をメモリモジュールからI/Oモジュールに送るために使用される。この信号は、I/Oコントローラ303がSDバスプロトコルに従って割り込み信号をホストに送信することができることを通知する。というのは、割り込み許容期間外にI/Oモジュールが割り込み信号をホストにバス331で送ると、メモリモジュールとホストとの間でやり取りされているデータを破損しうるからである。I/Oコントローラ303は、割り込み信号をホストに送る前に、このラインをチェックする必要がある。「1」は有効な割り込み期間を示し、「0」は有効な割り込み期間でないことを示す。前に援用されているさまざまな文献に記載されているように、SPIモードおよび1ビット(すなわち、狭幅)SDモードでは、ピン8(DAT1)が割り込み信号として使われる。4ビット(すなわち、広幅)SDモードでは、ピン8(DAT1)がデータ転送用および割り込み信号用に使われる。ライン[A]は、4ビットSDモードでの動作中におけるピン8でのバス競合を防止するために使用される。メモリからI/Oへのライン[A]での通知は、次のようにタイミングが特殊である。
1)1ビット(狭幅)SDモードでは、ライン[A]は常に「高」である。
2)4ビット(広幅)SDモードでは、ライン[A]が「高」になってからTAIPクロック後に割り込み期間が始まる。ライン[A]が「低」になってからTASEクロック後に割り込み期間が終了する。I/Oコントローラは、最初の2クロックで割り込み信号を「低」に駆動し、3番目のクロックで割り込み信号を「高」に駆動し、4番目のクロックで割り込み信号の駆動を停止する。
広幅バスのSDモードにおける読み出しコマンドのライン[A]でのバスタイミングを図8に示す。4ビットのデータ転送モードでは、メモリコントローラはデータブロック間の割り込み期間をサポートしない。
【0028】
ライン[B]は、図3においてCMD_RESP_IO_DETとも表記され、複数の機能を有し、すなわち装置がコマンド応答期間にあるときは、コマンド応答通知ラインとして機能し、装置がコマンド応答期間にないときは、I/Oカード検出ラインとして機能する。図9に模式的に示されているように、コマンド応答期間でないときは、メモリコントローラはライン[B]で入力モードになり、I/Oコントローラはライン[B]を使用してI/Oカードの存在を通知する。勿論、単一カードの実施形態において、I/Oモジュールは同一カード上にあるので、I/Oモジュールは常に存在するが、図1bの37などのモジュールが別のカードにある場合は、ホストに直接接続されているカード(すなわち、35’)は、第2のカード(すなわち、37)が装着されていることをこの通知によって知ることができる。この通知がないと、コマンドに対する応答がバス331上にない場合、カード37が存在しないのか、或いはコントローラ303が単に応答していないのかがコントローラ301には不明である。コマンドの最終ビットの1クロック後からコマンドの終了後数クロックまでの間を除き、I/Oカードのコントローラ303は、ライン[B]を常に「低」に駆動する。以降、このコマンドの最終ビットの1クロック後からコマンドの終了後数クロックまでの間の期間を「応答期間」と称する。I/Oカードが接続されていない場合、このラインはプルアップされている。タイミングの限界問題を排除するために、メモリコントローラは、応答期間終了から数クロック後のライン[B]をI/Oカード検出通知と見なす。
【0029】
コマンド応答期間中、ライン[B]は、一方のコントローラが応答中であり、もう一方のコントローラが応答する必要がないことを前者のコントローラから後者のコントローラに通知するために使用される。これによって、システムバス上のトラフィックの管理が容易になり、両コントローラからの同時応答が防止される。コマンド応答期間中、SDおよびSPIの両モードにおいて、ライン[B]は、コマンドが応答されることを通知する。デフォルトでは、メモリコントローラおよびI/Oコントローラは入力モードになる。一方のコントローラ(I/Oまたはメモリ)はライン[B]を「低」に駆動することによって、コマンド応答を送出することをもう一方のコントローラに通知する。I/Oコントローラ303が応答する場合およびメモリコントローラ301が応答する場合ついて、この処理を模式的に図10aおよび図10bにそれぞれ示す。図11は、ライン[B]上のセンスおよびドライブ期間の例示的なタイミング図である。
【0030】
応答をホストに送るコントローラは、以前設定したエラーフラグおよび不正コマンドフラグの設定解除も応答処理の一環としてさらに行う。もう一方のコントローラにそのエラーフラグおよび不正コマンドフラグを設定解除するようにライン[B]で指示するので、この知識を2つのコントローラ間で共有することができる。例示的な一実施形態において、ライン[B]での通知は、コマンド応答の開始ビットの半ビット前に開始され、4クロック期間継続する(図14を参照)。その後、コマンドの最終ビットの2クロック後からコマンドの最終ビットの32ビット後までの期間に、I/Oコントローラの応答を開始することができ、またメモリコントローラの応答は、コマンドの最終ビットの2クロック後からコマンドの最終ビットの16ビット後までの期間に開始することができる。
【0031】
以下に説明する付加機能において、カード検出ロジックを制御するために、ライン[B]をライン[C]と併用することができる。
【0032】
ライン[C]は、図3ではILLEG_CMDとも表記され、SDモードで使用され、デュアル機能を有する。SD仕様によると、不正コマンドがコントローラに送られると、そのコントローラは次のコマンドで前のコマンドが不正であったことを通知する。また、不正コマンドフラグによってフラグが設定されるので、この情報を次の(正規)コマンドで送ることができる。ただし、この次のコマンドの宛て先が同じモジュールとは限らないので、この不正コマンド情報をコントローラ間で共有する必要がある。例えば、不正コマンドがメモリモジュール宛てであり、次の正規コマンドがI/Oモジュール宛てであった場合、不正コマンド情報が共有されていなければ、I/Oモジュールは前の不正コマンドについての知識がないことになる。この処理を模式的に図12に示す。(この不正コマンドフラグの設定解除については、ライン[B]に関して前に説明している。)
【0033】
より具体的には、デフォルトでは、メモリコントローラおよびI/Oコントローラは入力モードになる。一方のコントローラが不正コマンドの受信を検出すると、そのコントローラは不正コマンドフラグを設定する。この不正コマンドの最終ビットのTCEIクロック後にライン[C]を「低」に駆動することによって、もう一方のコントローラにその不正コマンドフラグを設定するように指示する。一方のコントローラが不正コマンドの受信を検出すると、そのコントローラはライン[C]をチェックする。ライン[C]が「高」であると、そのコントローラはライン[C]を「低」に駆動する一方、ライン[C]が「低」であると(すなわち、もう一方のコントローラが既にライン[C]を駆動していると)、そのコントローラはそのラインを駆動しない。
【0034】
ライン[C]を「低」に駆動したコントローラは、次の2つの状況においてライン[C]の駆動を停止する。
1)正規コマンドへの応答の送出処理中に、コントローラは不正コマンドフラグを設定解除する。不正コマンドフラグの設定解除を通知するために、ライン[C]は、正規コマンドの受信後、応答開始ビットのTCRSサイクル後まで解放される。図13は、不正コマンドを受信したメモリコントローラがライン[C]の「低」への駆動を開始する一例である。(図13および14の例示的なバスタイミング値を図15の表2に示す。)正規コマンドの受信後、メモリコントローラはライン[C]の駆動を停止する。不正コマンドの後に正規コマンドを受信したI/Oコントローラも同じ処理を行う。
2)不正コマンドの受信後、コントローラは不正コマンドフラグを設定し、ライン[C]を「低」に駆動する。次の正規コマンドがもう一方のコントローラによって受け付けられると、このコントローラはライン[B]を「低」に駆動することによって、第1のコントローラに不正コマンドおよびエラーフラグの設定解除を指示する。第1のコントローラは、ライン[B]の立下りエッジからTCBSクロック後にライン[C]を解放し、エラーフラグを設定解除する。図14は、不正コマンドを受信したメモリコントローラがライン[C]の「低」への駆動を開始する一例である。I/Oコントローラによる正規コマンドの受信後、I/Oコントローラはライン[B]の駆動を開始する。この結果として、メモリコントローラはエラーフラグを設定解除し、ライン[C]の駆動を停止する。不正コマンドがI/Oコントローラに送られた後に正規コマンドを受信したメモリコントローラによって同じ処理が行われる。
【0035】
コントローラ間接続の電気的特性をより詳細に図16〜20に説明する。図16は、SDモードでの制御ライン[A]のタイミング図であり、図18の表3は、図16のさまざまなパラメータを示す。図17は、SDおよびSPIモードでの制御ライン[B、C]、およびSPIモードでのライン[A]のタイミング図であり、図19の表4は、図17のさまざまなパラメータを示す。図20は、コントローラ間インターフェイスの概要を示すピンの記述である。
【0036】
2つのモジュール、具体的にはメモリモジュールおよび入出力モジュールについて、本発明のさまざまな態様を説明してきたが、本発明は前述したものとは異なる数および種類のモジュールにも適用され、各モジュールのコントローラをそれぞれ独立してシステムバスに並列接続しながら、ホストには単一のモジュールカードとして見せることができる。また、既に述べたように、これらのモジュールは(図1aのように)単一カード内にあっても、(図1bのように)複数のカードに分散していてもよい。複数のカードによる実施形態において、システムバス(図3の331)およびコントローラ間インターフェイス(図3の333)はどちらもカード間接続をまたいで延在する。また、本発明は、図1bなどのマルチカードの実施形態において、カードにコントローラがない場合にも適用される。例えば、図3のカード35’にコントローラ301がない場合は、カード35においてライン[A〜C]がVssに設定される。これによって、カード35’は、カード37をホストに装着するためのアダプタとして振る舞うことができる。
【0037】
本発明の別の態様において、カードシステムを複数のプロトコルで動作することができる。このようなプロトコルが2つの場合についての例示的な実施形態が説明されているが、より一般的には、これより多い数のプロトコルを使用することも、或いは単一のプロトコルを使用することもできる。例示的なプロトコルは、SDまたはMMCプロトコルおよびSPIプロトコルであり、これらのプロトコルについては、前に援用されているMMC仕様のバージョン2.11または米国特許出願第09/641,023号(特許文献5)により詳しく説明されている。この例示的な実施形態において、さまざまな場合におけるメモリコントローラに対する要件と制御ラインA、B、およびCの用途とがより詳細に説明されている。動作概念を明確にするために、I/Oコントローラに対する要件も説明されている。
【0038】
SPIモードでは、カードは、不正コマンドを含む、すべてのコマンドに応答するように物理仕様に規定されている。メモリ/入出力コンビカードにおいて、メモリコントローラは、I/O固有のコマンドを無視する。同様に、I/Oコントローラは、メモリ固有のコマンドを無視する。マルチカードの実施形態において、I/Oコントローラが接続されていない(ライン[B]で検出されていない)場合、メモリコントローラはI/O関連のコマンドを無視しないが、I/O関連のコマンドがメモリコントローラに送られてくると不正コマンドとして応答する。SPIモードでは、CSがアサートされている場合は、カードがDOピン(DAT0)を「高」に駆動する必要があるとSDの物理仕様に規定されている。マルチモジュールの場合、各コントローラはそれ自身のDO出力のみを必要(すなわち、コマンドへの応答、またはデータの送出)に応じて有効にするが、それ以外の場合は、各コントローラは入力モードになる。前述した仕様に記載されているように、ホストはこのラインを高に維持する。ホストから見ると、カード/バスは、単一モジュールカードに対する仕様に規定されているように振る舞い続ける。
【0039】
両コントローラが並列にSDバスに接続されるので、一方のコントローラに送られたデータがもう一方のコントローラによってコマンドと解釈されうる。SPIモードで正規の周期的な冗長検査(CRC)を使用しないと、この誤解釈の可能性はさらに高くなる。(例えば、援用されているMMC仕様に記載されているように、好ましい実施形態において、SDバスで転送されるSDまたはMMCの各トークンはCRCビットで保護される一方、SPIモードでは、信頼性の高いデータリンクが組み込まれたシステムでは、非保護モードを使用可能であり、このモードでは、CRCの生成および検証機能を実装するために必要なハードウェアまたはファームウェアを省くことができる。)このために、メモリとI/Oコントローラとの間に制御ライン[A]が設けられている。例示的な実施形態において、両コントローラが同時にデータを受信することはないので、I/Oコントローラからメモリへの送出と、メモリコントローラからI/Oコントローラへの送出とに同じ制御ライン[A]が使われる。データ受信の場合は、各側がラインをアサート(「低」)し、これ以外の状態ではプルアップレジスタによってラインが高に維持される。
【0040】
SPIモードにするために、ホストはCMD0+(CS=0)をI/Oモジュールおよびメモリモジュールの両方に送る。メモリコントローラに対するRESETコマンドがI/Oコントローラに対するRESETコマンドと異なる場合でも、例えばI/OモジュールのRESETコマンドがCMD0でなくても、CMD0+(CS=0)が両モジュールに送られる。I/OコントローラはSPIモードになるが、CMD0コマンドには応答しない。周期的な冗長検査(CRC)をオンおよびオフにするためのコマンドCRC_ON_OFFは、メモリに対する正規コマンドであるので、メモリコントローラはこのコマンドに応答するが、I/Oコントローラはこのコマンドに応答しない。I/Oコントローラはこのコマンドを識別し、このコマンドの引数に応じてCRCチェック機能を有効または無効にする必要がある。コマンドのCRCエラーが検出された場合(かつCRC検出が有効になっている場合)は、両コントローラにおいてエラーフラグが設定される。両カードを初期化すると、両カードが応答しようとする。I/Oコントローラは指定クロック数の間、例えば16クロックの間、ライン[B]を「受信」するが、この期間中にメモリコントローラからの応答が現れなかった場合にのみ、I/Oコントローラは応答する。この指定期間中にメモリコントローラからの応答を検出すると、I/OモジュールはそのCRCエラーフラグをリセットするだけで、I/Oモジュール自身では応答しない。同様に、一方のコントローラが不正コマンドを検出すると、そのコントローラは応答として不正コマンド応答を返す。
【0041】
SDモードでは、メモリ/入出力コンビカードのメモリコントローラは、I/O固有のコマンドを無視する。逆に、I/Oコントローラは、I/Oコマンドクラス以外のすべてのコマンドを無視する。ただし、共通のコマンド(リセットコマンド(CMD0)や相対カードアドレス(RCA)およびチップセレクト(CS)関連のコマンドなど)以外のすべてのコントローラに共通なコマンド(クラス9)は例外とする。I/Oコントローラが接続されていない(ライン[B]で検出されていない)場合、メモリコントローラはI/O関連コマンドを無視せず、メモリコントローラに不正コマンドが送られてきたかのように応答する。
【0042】
メモリコントローラは、相対カードアドレス(RCA)の設定に関連するコマンドが正規コマンドであると、このコマンドに応答する。この場合、I/Oコントローラは、該当するコマンド応答をCMDライン上で「受信」する。設定されたクロック数以内に有効な(CRCが正しい)応答が検出されると(かつコマンドがI/Oコントローラに対して正規であると)、I/OコントローラはRCAを採用する。ライン[B]は、メモリコントローラが応答することをI/Oコントローラに通知する。
【0043】
メモリコントローラは、RCA設定コマンドが正規コマンドであると、このコマンドに応答する。この場合、I/Oコントローラは、コマンド応答をCMDライン上で「受信」する。所定のクロック数以内に有効な(CRCが正しい)応答が検出されると(かつコマンドがI/Oコントローラに対する不正コマンドであると)、I/OコントローラはRCAを採用せず、不正コマンドフラグを設定しない。ライン[B]は、メモリコントローラが応答することをI/Oコントローラに通知する。
【0044】
RCA設定コマンドの最終ビット後の許容応答期間内にメモリコントローラが応答せず、コマンドがI/Oコントローラに対する正規コマンドであると、I/Oコントローラが応答する。メモリコントローラは、この応答をCMDライン上で「受信」する。有効なRCAであると、I/Oコントローラは必要であればこのRCAを採用する。ライン[B]は、I/Oコントローラが応答することをメモリコントローラに通知する。許容応答期間内にメモリコントローラが応答せず、コマンドがI/Oコントローラに対する正規コマンドでない場合は、I/Oコントローラは応答しない。I/Oコントローラは不正コマンドフラグを設定し、不正コマンドが検出されたことをメモリコントローラにライン[C]で通知する。
【0045】
ホストには単一のカードと見えながら機能するように、すべてのモジュールに共通なコマンドチップセレクト関連のコマンド(CMD7)の処理は、相対カードアドレスの設定に使用されるコマンド(CMD3)についての前の段落で説明した処理と同様に行われる。
【0046】
ホストから/ホストへのメモリモジュールへ/メモリモジュールからのデータの転送中、I/Oモジュールから割り込みを発生させることができる。割り込み有効期間中にのみ割り込みの送信を許容するために、メモリコントローラは有効なメモリ割り込み期間をライン[A]でI/Oに通知する。「実際の」割り込み期間の前に割り込み期間の通知を行うので、割り込み期間を極めて正確にすることができる。これは、メモリコントローラからI/Oコントローラへの経路遅延(パッド遅延、コネクタ遅延などによる)を見越して行われる。
【0047】
コマンドにCRCエラーがあると、対応するエラーフラグが両コントローラに設定され、どちらのコントローラも応答しない。SD仕様によると、次のコマンドへの応答によってCRCエラービットが通知され、CRCエラーフラグへの応答としてカードからの次のコマンド応答が返される。次のどちらかの場合は、CRCフラグが一方のコントローラにおいて設定解除される。1)そのコントローラが応答としてCRCエラーを返した場合、または2)応答期間中にそのコントローラがカード上のもう一方のコントローラからのコマンド応答通知をライン[B]で検出した場合である。
【0048】
一方のコントローラが不正コマンドを検出すると、このコントローラは自身の不正コマンドフラグを設定し、応答しない。SD仕様によると、次のコマンドへの応答によって不正コマンドエラーを通知する必要がある。したがって、もう一方のコントローラもライン[C]を使用してその不正フラグを設定する。不正フラグを設定したコントローラは、ライン[C]を「0」に駆動する。ライン[C]で「0」への変化を検出すると、もう一方のコントローラがその不正フラグを設定する。その後、両コントローラは、CRCエラーの場合についての最終段落に記載されているように振る舞う。不正コマンドフラグへの応答として、カードから次のコマンド応答が返される。次のどちらかの場合は、不正コマンドフラグは設定解除される。1)そのコントローラが応答として不正コマンド応答を返した場合、または2)応答期間中にそのコントローラがカード上のもう一方のコントローラからのコマンド応答通知をライン[B]で検出した場合である。両カードがそれぞれの不正コマンドフラグを設定解除すると、両カードはそれぞれのライン[C]のドライバを入力モードに設定する。ライン[C]についての各コントローラに対する1セットの「ルール」は、以下のように要約することができる。
a)自身の不正フラグを(不正コマンドの受信後に)設定した場合には、ライン[C]を「低」にアサートする。
b)自身の不正フラグを設定解除したときは、ライン[C]をアサート解除する(入力モードになる)。
c)不正コマンドが検出されたか、またはライン[C]で「1」から「0」への変化が検出された場合は、不正フラグを設定する。
d)応答として不正コマンド応答(SDモードではR1、R5、またはR6、或いはSPIモードではR1、R2、R3、またはR5)を返した場合、または応答期間中にCMD RESPONDをライン[B]で検出した場合は、不正フラグを設定解除する。
【0049】
本発明のさまざまな態様を特定の実施形態に関して説明してきたが、本発明は添付の特許請求の範囲の全範囲内においてその権利が保護されるべきことが理解できよう。
【図面の簡単な説明】
【0050】
【図1a】不揮発性メモリモジュールおよび入出力モジュールが1枚のコンビカードの実施形態で使用されるシステムを示す。
【図1b】不揮発性メモリモジュールおよび入出力モジュールが2枚のカードの実施形態で使用されるシステムを示す。
【図2】一例としてのカードおよびこのカードが挿入されるシステムソケットのピンの割り当てを示す。
【図3】メモリ/入出力コンビカードの例示的な構成のブロック図である。
【図4a】I/Oコントローラがメモリコントローラに対してホストデータを無視するように指示するときのSPIモードでのライン[A]の使用法の概略図である。
【図4b】メモリコントローラがI/Oコントローラに対してホストデータを無視するように指示するときのSPIモードでのライン[A]の使用法の概略図である。
【図5】SPIモードでのライン[A]のバスタイミング図である。
【図6】タイミング図の記号の表である。
【図7】メモリコントローラがI/Oコントローラに対して有効な割り込み期間を通知するときのSDモードでのライン[A]の使用法の概略図である。
【図8】SD広幅バスモードでのライン[A]のバスタイミング図である。
【図9】第2のカードが装着されていることを第1のカードのコントローラに対してコマンド応答期間外に通知するときのライン[B]の使用法の概略図である。
【図10a】I/Oコントローラが応答していることをメモリコントローラに通知するときのライン[B]の使用法の概略図である。
【図10b】メモリコントローラが応答していることをI/Oコントローラに通知するときのライン[B]の使用法の概略図である。
【図11】ライン[B]上のセンス期間およびドライブ期間のバスタイミング図である。
【図12】不正コマンドフラグを設定するように一方のコントローラが別のコントローラに指示するときのライン[C]の使用法のブロック図である。
【図13】メモリコントローラに対する不正コマンドとその後の正規コマンドのライン[C]のバスタイミング図である。
【図14】カード検出ロジックを制御するためにライン[B]と併用されるライン[C]のバスタイミング図である。
【図15】例示的なバスタイミング図の表である。
【図16】SDモードでの制御ライン[A]のタイミング図である。
【図17】SDおよびSPIモードでの制御ライン[B、C]、およびSPIモードでのライン[A]のタイミング図である。
【図18】SDモードでのライン[A]のパラメータの表である。
【図19】SDおよびSPIモードでのライン[B、C]、およびSPIモードでのライン[A]のパラメータの表である。
【図20】コントローラ間インターフェイスのピンの記述である。
【技術分野】
【0001】
本発明は、一般的には、着脱可能な電子回路カードの構造と使い方とに関し、より具体的には、単一カード上または個々のカード上のカードモジュール間の接続に関する。
【背景技術】
【0002】
普及しつつある市販のさまざまな不揮発性メモリカードは、極めて小形であり、それぞれ異なる機械的および/または電気的インターフェイスを有する。このような不揮発性メモリカードの例として、本願の譲受人である米国カリフォルニア州サニーベールのサンディスク コーポレイションから入手可能なマルチメディアカード(MMC)およびセキュアデジタル(SD)メモリカードが挙げられる。これ以外にも、国際標準化機構(ISO)および国際電気標準会議(IEC)の規格に準拠するカードがあり、例えば、広く施行されている規格としてISO/IEC7816規格が知られている。
【0003】
MMCに対する物理的および電気的仕様は、「マルチメディアカードシステム仕様」に定められ、この仕様は、米国カリフォルニア州クーペルティーノのマルチメディアカード協会(MMCA)によって時々更新されて発行されている。この仕様の1999年6月、2000年1月、および2001年6月付けのそれぞれのバージョン2.11、2.2、および3.1が、明確に本願明細書において参照により援用されている。単一カードの記憶容量が最大128メガバイトまでのさまざまな記憶容量を有するMMC製品がサンディスク コーポレイションから現在入手可能である。これらの製品は、サンディスク コーポレイションから2000年4月に発行された「マルチメディアカード製品マニュアル」の第2版に記載されている。このマニュアルの内容が、明確に本願明細書において参照により援用されている。MMC製品の電気的動作のいくつかの態様は、サンディスクコーポレイションに譲渡された1998年11月4日出願のトーマス・N・トゥームスおよびミッキー・ホルツマンによる同時係属中の米国特許出願第09/185,649号(特許文献1)および第09/186,064号(特許文献2)にも記載されている。カードの物理的構造および製造方法は、サンディスク コーポレイションに譲渡された米国特許第6,040,622号(特許文献3)に記載されている。これらの特許および特許出願も、本願明細書において参照により援用されている。
【0004】
より新しいSDカードはMMCカードと同様であり、追加のメモリチップを収容するために厚さが増している以外は同じ寸法である。これらのカードの主な相違点は、SDカードが、カードとホスト間のデータ転送をより高速化するために追加のデータ接点を含んでいる点である。SDカードを受け入れるように設計されたソケットがMMCカードも受け入れるように、SDカードのその他の接点はMMCカードの接点と同じである。本願明細書において参照により援用されている2002年2月21日公開のヨーラム・シダー、ミッキー・ホルツマン、およびヨシー・ピントの国際公開特許出願第WO02/15020号(特許文献4)に記載されているように、SDカードとの電気的および機能的インターフェイスはさらにSDカードを受け入れるように設計されたソケットがMMCカードも受け入れるようになっている。SDカードの特定の態様は、本願明細書において参照により援用されている2000年8月17日出願の米国特許出願第09/641,023号(特許文献5)に記載されている。(SDカードの仕様は、SD協会(SDA)の会員企業から入手可能である。)
【0005】
ISO/IEC7816規格に準拠して製造されたカードは、MMCおよびSDカードとは形状および表面接点の位置が異なり、また電気的インターフェイスも異なる。ISO/IEC7816規格は、全体のタイトルが「IDカード−端子付きICカード」であり、1994年から2000年にわたって発行されたパート1〜10から成る。この規格のコピーはスイス国ジュネーブのISO/IECから入手可能である。この規格の内容が、明確に本願明細書において参照により援用されている。ISO/IEC7816カードは、不正な方法でのデータの読み出しを極めて困難または不可能にする安全な方法でデータを格納する必要があるアプリケーションで特に役立つ。小形のISO/IEC7816カードは、多くの用途の中でも特に携帯電話で広く使用されている。
【0006】
最近、それぞれ異なる機能を有する複数のモジュールをホストに接続することができるカードについての記載がある。これらのカードは、複数のモジュールが単一のカードに搭載されている場合と、これらのモジュールが複数のカードに分散されている場合とがある。後者の場合、本願明細書において参照により援用されている2000年9月1日出願の同時係属中の米国特許出願第09/653,062号(特許文献6)に記載されているように、第1のカードはホストに直接装着され、その他のカードはホストには直接装着されず、第1のカードに装着される。これらのモジュールとして、例えばメモリモジュールおよび入出力モジュールが挙げられ、この場合、両モジュールを単一のコンビカードに搭載するか、或いはメモリカードの一端をホストに装着し、もう一方の端を入出力カードに装着するように設計する。このようなマルチモジュールカードは、高速、効率的、かつ簡便な方法でホストと連係するように設計する必要がある。
【特許文献1】米国特許出願第09/185,649号
【特許文献2】米国特許出願第09/186,064号
【特許文献3】米国特許第6,040,622号
【特許文献4】国際公開特許出願第WO02/15020号
【特許文献5】米国特許出願第09/641,023号
【特許文献6】米国特許出願第09/653,062号
【特許文献7】米国特許出願第09/924,185号
【特許文献8】米国特許出願第10/302,009号
【発明の開示】
【0007】
したがって、本発明は、簡潔に総括すると、複数のモジュールがカードのバスに並列に接続される着脱可能な電子回路カードを使用することによって、各モジュールがそれぞれ独立してホストとコマンドおよびデータをやり取りすることができるようにする。本発明の第1の態様によると、これは、各モジュールとホストとの対話を容易にすることができるコントローラ間インターフェイスによって実現される。第1のセットの実施形態において、これらのモジュールは単一のカード上にあり、第2のセットの実施形態において、これらのモジュールは複数のカードに分散され、第1のカードがホストに装着され、他のカードはホストには直接装着されずに、第1のカードに装着される。以上のどの場合においても、ホストにはこれら複数のモジュールが単一のモジュールを搭載した単一のカードに見える。本発明のさらに別の態様において、このカード(またはカード群)は、ホストと複数のプロトコルで通信可能である。
【0008】
例示的な実施形態の説明において、不揮発性の大容量記憶装置を備えるメモリモジュールと別個の入出力モジュールとがSDタイプの着脱可能な電子回路カードに搭載されているものと想定されている。これらのモジュールはそれぞれ固有のコントローラを有し、これらのコントローラは主カードバス(SDバス)に並列に接続され、このバスを介して各コントローラはコマンドおよびデータをホストとやり取りすることができる。一般には、これらのモジュールはそれぞれ異なる1セットの正規コマンドを有する。これらのモジュールは一部の共通コマンド、例えばリセットコマンド、を共有しうるが、各モジュールはモジュール固有のコマンド群を有する。これらのコントローラのバスへの並列接続を容易にするために、本発明は1セットのコントローラ間ラインを導入する。SDまたはMMCプロトコルとSPIプロトコルの両方を使用することができるカードに基づく例示的な実施形態において、このようなラインを3本使用する。これらのラインによって、一方のコントローラはもう一方のコントローラに対して、バス上のデータを無視するように指示することも、割り込みコマンドの発行許容時間を通知することも、或いは不正コマンドに関連するフラグの設定および設定解除を管理することもできる。また、本発明はマルチカードの実施形態で実施することも可能であり、この場合、一方のモジュールが装着されていることも装着されていないこともあるので、装着されてアクティブ状態であることを一方のコントローラはもう一方のコントローラにこれらのラインで通知することができる。
【0009】
単一カードの実施形態において、特定の規格に準拠しホストに装着可能な単一のカードにすべてのモジュールが搭載される。マルチカードの実施形態において、第1のカード(メモリカードなど)は、ホストに装着可能であるばかりでなく、入出力カードなどの追加のカードを1つまたは複数装着するためのコネクタをさらに含む。複数カードの場合では、主カードバスおよびコントローラ間インターフェイスがどちらもコネクタインターフェイスをまたいで延在するので、第2のカードが装着された場合でも、動作は単一カードの実施形態と同じである。
【0010】
例示的な実施形態の説明において、各モジュールはホストとの通信に複数のプロトコル、具体的にはSDまたはMMCプロトコルおよびSPIプロトコル、を使用することができると想定されているが、これ以外のプロトコルも使用しうる。コントローラ間の複数のラインは、使用するプロトコルに応じて異なる機能を果たすことができる。コントローラ間のこれらのラインは、並列に接続されているモジュールを単一の実体として動作するようにホストに見せるので、SDおよびMMCプロトコルでは、すべてのモジュールが1つの共通の相対カードアドレス(RCA)を共有し、SPIプロトコルでは、すべてのモジュールが同じチップセレクト(CS)信号に反応する。
【0011】
本発明の他の詳細、特徴、および利点は、添付図面と共に解釈されるべきである以下の説明から明らかになるであろう。
【発明を実施するための最良の形態】
【0012】
図1aを参照すると、ホスト電子システム31は、前に背景技術の欄で要約したメモリカードなどの市販されている1つまたは複数種類の着脱可能な電子回路カードをユーザが着脱しうるソケット33を含むものとして示されている。ソケット33は、ホスト31に組み込まれているものでも、物理的に離れていてケーブルまたはケーブルレス手段で接続されるものでもよい。ホスト31は、このようなカードを装着することができるソケット33を有するデスクトップまたはノートブック形態のパーソナルコンピュータでもよい。このようなカードソケットを内蔵したホストシステムの他の例として、ハンドヘルドコンピュータ、電子手帳、他の携帯情報端末(PDA)、携帯電話、音楽プレーヤーなどのさまざまな携帯用電子装置が挙げられる。また、自動車用ラジオおよび全地球測位システム(GPS)の受信器にもこのようなメモリカード用ソケットを備えることができる。本発明による改良は、メモリカードソケットを有する多様なホストシステムに適用可能である。
【0013】
本願明細書に記載されている各例において、SDカードについて説明されているが、本発明は特定の種類の着脱可能な電子回路カードによる実装だけに限定されるものではないことを理解されたい。図2において、SDカード35および嵌合ソケット33の物理的構成が示されている。SDカードは矩形であり、縦横寸法が24×32ミリメートル、厚さが2.1ミリメートルあり、カードの長辺に沿って厚さ1.4ミリメートルの幅狭のレール(図2には図示せず)がある。本発明は、さまざまな寸法のカードによって実現しうるが、長さが51ミリメートル未満、幅が40ミリメートル未満、および厚さが3ミリメートル未満のカードによって実現すると実用性が高い。
【0014】
SDカード35は9つの表面電気接点10〜18を含む。ホストシステムのソケット33に挿入すると、接点13、14および16が電源(VSS、VDDおよびVSS2 )に接続される。カードの接点15は、ホストからのクロック信号(CLK)を受信する。接点12は、ホストからコマンド(CMD)を受け取り、応答および状態信号をホストに送り返す。その他の接点10、11、17および18(それぞれDAT2、DAT3、DAT0、およびDAT1)は、不揮発性メモリに記憶するデータを並列に受信し、データをメモリからホストに並列に送出する。使用するデータ接点の数としてこれより少ない数を選択してもよく、例えば、単一のデータ接点17を選択することも可能である。ホストとカードとの間の最大データ転送速度は、使用される並列データ経路の数(および最大クロックレート)によって制限される。前述した背景技術の欄に記載されているMMCカードは、同様の接点配置とインターフェイスとを有するが、データピン10および18がなく、また接点11を使用せずに、予備として設けてある。MMCカードの縦横寸法はSDカードと同じであり、動作も同様であるが、カードの厚さがわずか1.4ミリメートルであり、単一のデータ接点17を有する。カード35の接点は、それぞれソケット33のピン20〜28を介してそのホストシステムに接続される。本発明と互換可能なメモリカードの他の拡張機能は、2001年8月2日出願の米国特許出願第09/924,185号(特許文献7)に記載されている。この特許出願は、本願明細書において参照により援用されている。
【0015】
本発明は、図1aの実施形態のカード35などの着脱可能な電子回路カードに基づき、このカード35は、参照符号36で示されているようなメモリモジュールに加え、入出力モジュール37を含む。入出力モジュール37は、他のシステム39と通信経路41を介して直接通信しうる。通信経路41は、赤外線または無線周波数信号を用いるような無線通信経路にすることも、有線接続を含むこともできる。有線の場合には、ワイヤに装着されたプラグを着脱可能に収容するために、カード35は外付けソケットを含む。無線の場合、無線周波数通信を使用する場合には、カード35はアンテナを内蔵し、赤外線通信を使用する場合には、カード35は赤外線放出・検出器を備える。無線周波数データ通信のための先端的な規格がBluetooth仕様として発行されている。この仕様は、ウィルソンおよびクロンズによってドクター・ドブズ・ジャーナルの2000年3月号(62頁から始まる)および2000年4月号(58頁から始まる)に「InsideBluetoothPart I」および「Inside BluetoothPart II」という表題の2つの記事で論じられている。これらの2つの記事の内容が、本願明細書において参照により援用されている。他の無線方式として、WiFeなどの802.11プロトコルに基づく方式、および超広帯域(UWB)技術に基づく方式が挙げられる。通信経路41上のデータ転送は通常、双方向であるが、データ転送を一方向に限り、もう一方の方向を特定の用途に使用することもできる。
【0016】
用途によっては、入射信号41の発信元が明確に外部システム39でなくてもよい。例えば、入出力モジュール37をカメラモジュールとして機能させるために、入出力モジュール37がカードに一体化された光センサまたはレンズを備えることもできる。この場合、信号41は入射する放射線であり、カードはスタンドアロンユニットを形成するので、ホスト以外の実体とケーブルまたはアンテナを介して交信する必要はない。
【0017】
図1aの例示的な実施形態において、入出力モジュール37を含むコンビカード35は、背景技術の欄に記載されているようなSDメモリカードに基づくので、このようなSDメモリカードと互換性がある。この互換性は、機械的、電気的、電源、信号方式、およびソフトウェアの互換性を含む。コンビカード35の目的は、高速データ入出力を低消費電力でモバイル電子装置に提供することである。基本的な目的は、コンビカード非対応のホストに挿入されたコンビカードがその装置またはそのソフトウェアに物理的損傷または混乱を引き起こさないようにすることである。この場合、I/Oモジュールの機能は、単に無視されるべきである。コンビカード対応ホストに挿入されたカードの検出は、前に援用されているMMC仕様のバージョン2.11または米国特許出願第09/641,023号(特許文献5)に記載されている通常の手段といくつかの拡張機能によって行われる。この状態において、コンビカードはアイドル状態であり、引き込まれる電力量は少ない(1秒あたり平均15mA)。ホストによるカードの通常の初期化および呼び掛けのとき、カードはカード自身をコンビカード装置として同定する。次に、ホストソフトウェアはカード情報をタプル(リンクリスト)形式で取得し、カードのI/O機能(群)の起動を許容しうるかどうかを判定する。この決定は、所要電力または該当するソフトウェアドライバの可用性などのパラメータに基づく。カードが許容される場合、カードのフルパワーアップと、カードに組み込まれたI/Oおよび機能(群)の起動が可能になる。図1aの例示的な実施形態の動作の詳細は、同時係属中の2002年11月21日出願の米国特許出願第10/302,009号(特許文献8)に記載されている。この特許出願は、本願明細書において参照により援用されている。
【0018】
図1bに示されている本発明の別の例示的な実施形態では、メモリモジュールおよび入出力モジュールが別々のカードに搭載されている。この代替の例示的な実施形態は、図2に参照符号36で示されているようなコネクタの追加によってメモリカード35などのメモリカードを変更するステップを含み、変更後のカードは、図1bに参照符号35’で識別されている。入出力カード37の嵌合コネクタにコネクタ36を装着することによって、2つのカードを機械的および電気的に結合している。この構成において、第2のカード37は該当する規格、この例ではSDまたはSD IOカード規格、に機能的に準拠するが、機械的には必ずしも準拠させる必要はなく、第1のカード35’を物理的アダプタとして使用することもできる。入出力カード37は、通信経路41を介して他のシステム39と直接通信する。カードへのカード装着の機械的態様を含む図1bの例示的な実施形態の動作の詳細は、前に援用されている同時係属中の2000年9月1日出願の米国特許出願第09/653,062号(特許文献6)に記載されている。
【0019】
図1aおよび図1bの例示的な実施形態および以下の説明の大半は、2つのモジュール、具体的にはメモリモジュールおよび入出力モジュール、に基づいているが、より一般的には、より多くのモジュールを図1aのように単一カードに搭載することも、図1bのように複数のカードに分散させることもできる。ただし、どちらの場合も、ホストに装着されるのは1つのカードだけである。例えば、図1aの35に複数のI/Oモジュールを搭載することができ、或いは図1bにおいてカード37に複数の入出力モジュールを搭載することも、35’に複数の入出力カードを装着することもできる。一般的に、本発明のさまざまな態様の説明において、単一のカードがホストに接続されている。このカードは、そのカード自体に複数のモジュールを搭載する(コンボカード)か、或いはそのカードを介して、モジュールを搭載した1つまたは複数のカードをホストに接続する。
【0020】
この例示的な実施形態について、前に援用されている米国特許出願第09/186,064号(特許文献2)に記載されているように、カード(またはカード群)が複数のプロトコルでホストとやり取りすることができる場合についても説明する。具体的には、これらのプロトコルは、例示的な実施形態において、MMCまたはSD(前に参照により援用されているMMC仕様のバージョン2.11または米国特許出願第09/641,023号(特許文献5)に記載されている)プロトコルおよびSPIプロトコルである。
【0021】
図3は、該当するSDカード規格に準拠し、メモリモジュールと入出力モジュールとを備えたコンビカード35の1つの例示的な実施形態のブロック図である。このメモリモジュールには、コントローラ301のみが明示的に示され、同様にI/Oモジュールにはコントローラ303のみが示されている。ここでは、I/Oモジュール(複数のI/O機能を収容可能)は、選択された特定のカード種別と協動するように設計され、かつ前に援用されているような適切な仕様に準拠する。また、前述したように、この実施形態は、前に援用されている文献に説明されているように、SDバスモードおよびSPIバスモードの両方をサポートするものと見なされる。これらのモジュールがデータおよびコマンドをホストとやり取りするためのバス構造が331で示されている。特に、このバスはSD規格に準拠し、クロックラインCLK、コマンドラインCMD、データラインDAT0〜3、および電源ラインVddおよびVssを含む。破線307は、2枚のカードによる実装例の場合、ホストに直接接続されるメモリカード(35’)と、このメモリカードに接続される入出力カード(37)との間の境界を示す。この場合も、バス331は両カードにわたって延在し、両コントローラに接続される。
【0022】
以下の説明の範囲は、I/O拡張スロット付きのSDカードの機能的特性と、関連する電気的およびタイミング事項とを主に規定する。図3の実施形態において、メモリコントローラ301とI/Oコントローラ303の両方がホストとの通信用の同じバスに接続されている。したがって、各モジュールはそれぞれ個別にホストとやり取りすることができるが、ホストに見えるのは単一のカードだけである。この結果、前述した例示的なプロトコルの場合、SDまたはMMCモードでは、カードに対して単一の相対カードアドレス(RCA)が定義され、SPIモードでは、カード(またはカード群)に搭載されているモジュールが複数であっても、そのカードに対して単一のチップセレクト(CS)信号のみが使用される。ホストに並列に接続された複数のモジュールをホストには単一のカードと見せながら動作させるために、この2つのコントローラの間に接続333が実装される。
【0023】
この例示的な接続は3本の制御ラインA、B、およびCを有し、これらの制御ラインを介してコントローラ同士が信号をやり取りすることによって、各モジュールはホストからのどのコマンドおよびデータがどのモジュール宛てであるかを区別することができる。両モジュールはホストによって同じ相対カードアドレス(RCA)またはチップセレクト(CS)信号によって識別されるが、多くのコマンドは一方のモジュールだけに固有であるので、これらの制御ラインは各モジュールがホストとのこのような対話を容易に行えるようにする。例えば、ホストがI/Oモジュール固有のコマンドの送出後に何らかのデータを送出すると、メモリモジュールはこのコマンドを不正と解釈しうる。しかし、制御ライン333によってI/Oコントローラ303はメモリコントローラ301に対して、そのコマンドが不正ではなく、I/Oモジュール宛てのコマンドであるので、メモリモジュールが後続データを無視するように指示することができる。この例示的な実施形態において、大半のコマンドが一方または他方のモジュールに固有であり、両モジュールに共通のコマンドの数が少ないと想定している。このような共通のコマンドの例として、カードリセットコマンド、カード全体に対するRCAの設定に関連するコマンド、CS信号に関連するコマンド、および大半の独立モジュールをホストには単一のカードとして見せながら機能させるための他のコマンドが挙げられる。これ以外に両モジュールに共通しうるコマンドとして、米国特許出願第10/302,009号(特許文献8)に詳述されているモジュール間のDMAタイプの転送に関連するコマンドなどが挙げられる。
【0024】
インターフェイス制御ラインについてより詳細に説明し、最初にライン[A]について説明する。ライン[A]は図3では、INT_PER_IGNOR_DIとも表記され、デュアル機能を有し、すなわちSDモードの通信では、VALID MEMORYINTERRUPT PERIODラインとして機能し、SPIモードでは、IGNORE DI INPUTSラインとして機能する。SPIモードでは、データおよびコマンド/応答がシリアルに送られ、入力はCMD(現在はデータ入力、すなわちDI)ラインで行われ、出力はDAT0(現在はデータ出力、すなわちDO)ラインで行われる。両モジュールが並列に接続され、両モジュールがSDバス331上で受信するために、一方のモジュールに送られたデータ/コマンドがもう一方のモジュールによって解釈されることもありうる。SPIモードでは、一方のコントローラはもう一方のコントローラに対して、DI入力を無視するようにライン[A]で指示する。デフォルトは、プルアップモードとして実装される。一方のコントローラ(IOまたはメモリ)は「0」を設定することによって、もう一方のコントローラに対して、DI入力を無視するように指示する。制御ライン[A]を使用する理由は、一方のコントローラに送られたデータがもう一方のコントローラによってコマンドとして解釈されうるからである。両コントローラがデータを同時に受け取ることはないので、I/Oからメモリへの送出、およびメモリからI/Oへの送出に同じ制御ライン[A]を使用する。
【0025】
図4aは、I/Oコントローラからメモリコントローラに対して、DIを無視するように指示する例である。I/Oコントローラはコマンドを受け取った後にデータを受け取るので、I/Oコントローラはコマンド応答の最終ビットからTARIクロック後にライン[A]のゼロへのアサートを開始する。I/Oコントローラは、最終ビジービットからTABSクロック(図5に定義)後にライン[A]を解放する。メモリコントローラはライン[A]で「低」を検知すると、以降I/Oコントローラがライン[A]を解放するまで、メモリコントローラはDI入力を無視する。
【0026】
図4bは、I/OコントローラにDIを無視させるために、I/Oコントローラからメモリコントローラに送られる指示の一例である。メモリコントローラはコマンドを受け取った後にデータを受け取るので、メモリコントローラはコマンド応答の最終ビットからTARIクロック後にライン[A]のゼロへのアサートを開始する。最終ビジービットからTABSクロック後に、メモリコントローラはライン[A]を解放する。I/Oコントローラはライン[A]上で「低」を検知すると、以降メモリコントローラがライン[A]を解放するまで、I/OコントローラはDI入力を無視する。SPIモードでのライン[A]のバスタイミングの一例を図5に示し、図中の記号を図6の表1に定義する。
【0027】
SDモードでは、ライン[A]は、図7に示されているように、VALID MEMORY INTERRUPT PERIOD信号をメモリモジュールからI/Oモジュールに送るために使用される。この信号は、I/Oコントローラ303がSDバスプロトコルに従って割り込み信号をホストに送信することができることを通知する。というのは、割り込み許容期間外にI/Oモジュールが割り込み信号をホストにバス331で送ると、メモリモジュールとホストとの間でやり取りされているデータを破損しうるからである。I/Oコントローラ303は、割り込み信号をホストに送る前に、このラインをチェックする必要がある。「1」は有効な割り込み期間を示し、「0」は有効な割り込み期間でないことを示す。前に援用されているさまざまな文献に記載されているように、SPIモードおよび1ビット(すなわち、狭幅)SDモードでは、ピン8(DAT1)が割り込み信号として使われる。4ビット(すなわち、広幅)SDモードでは、ピン8(DAT1)がデータ転送用および割り込み信号用に使われる。ライン[A]は、4ビットSDモードでの動作中におけるピン8でのバス競合を防止するために使用される。メモリからI/Oへのライン[A]での通知は、次のようにタイミングが特殊である。
1)1ビット(狭幅)SDモードでは、ライン[A]は常に「高」である。
2)4ビット(広幅)SDモードでは、ライン[A]が「高」になってからTAIPクロック後に割り込み期間が始まる。ライン[A]が「低」になってからTASEクロック後に割り込み期間が終了する。I/Oコントローラは、最初の2クロックで割り込み信号を「低」に駆動し、3番目のクロックで割り込み信号を「高」に駆動し、4番目のクロックで割り込み信号の駆動を停止する。
広幅バスのSDモードにおける読み出しコマンドのライン[A]でのバスタイミングを図8に示す。4ビットのデータ転送モードでは、メモリコントローラはデータブロック間の割り込み期間をサポートしない。
【0028】
ライン[B]は、図3においてCMD_RESP_IO_DETとも表記され、複数の機能を有し、すなわち装置がコマンド応答期間にあるときは、コマンド応答通知ラインとして機能し、装置がコマンド応答期間にないときは、I/Oカード検出ラインとして機能する。図9に模式的に示されているように、コマンド応答期間でないときは、メモリコントローラはライン[B]で入力モードになり、I/Oコントローラはライン[B]を使用してI/Oカードの存在を通知する。勿論、単一カードの実施形態において、I/Oモジュールは同一カード上にあるので、I/Oモジュールは常に存在するが、図1bの37などのモジュールが別のカードにある場合は、ホストに直接接続されているカード(すなわち、35’)は、第2のカード(すなわち、37)が装着されていることをこの通知によって知ることができる。この通知がないと、コマンドに対する応答がバス331上にない場合、カード37が存在しないのか、或いはコントローラ303が単に応答していないのかがコントローラ301には不明である。コマンドの最終ビットの1クロック後からコマンドの終了後数クロックまでの間を除き、I/Oカードのコントローラ303は、ライン[B]を常に「低」に駆動する。以降、このコマンドの最終ビットの1クロック後からコマンドの終了後数クロックまでの間の期間を「応答期間」と称する。I/Oカードが接続されていない場合、このラインはプルアップされている。タイミングの限界問題を排除するために、メモリコントローラは、応答期間終了から数クロック後のライン[B]をI/Oカード検出通知と見なす。
【0029】
コマンド応答期間中、ライン[B]は、一方のコントローラが応答中であり、もう一方のコントローラが応答する必要がないことを前者のコントローラから後者のコントローラに通知するために使用される。これによって、システムバス上のトラフィックの管理が容易になり、両コントローラからの同時応答が防止される。コマンド応答期間中、SDおよびSPIの両モードにおいて、ライン[B]は、コマンドが応答されることを通知する。デフォルトでは、メモリコントローラおよびI/Oコントローラは入力モードになる。一方のコントローラ(I/Oまたはメモリ)はライン[B]を「低」に駆動することによって、コマンド応答を送出することをもう一方のコントローラに通知する。I/Oコントローラ303が応答する場合およびメモリコントローラ301が応答する場合ついて、この処理を模式的に図10aおよび図10bにそれぞれ示す。図11は、ライン[B]上のセンスおよびドライブ期間の例示的なタイミング図である。
【0030】
応答をホストに送るコントローラは、以前設定したエラーフラグおよび不正コマンドフラグの設定解除も応答処理の一環としてさらに行う。もう一方のコントローラにそのエラーフラグおよび不正コマンドフラグを設定解除するようにライン[B]で指示するので、この知識を2つのコントローラ間で共有することができる。例示的な一実施形態において、ライン[B]での通知は、コマンド応答の開始ビットの半ビット前に開始され、4クロック期間継続する(図14を参照)。その後、コマンドの最終ビットの2クロック後からコマンドの最終ビットの32ビット後までの期間に、I/Oコントローラの応答を開始することができ、またメモリコントローラの応答は、コマンドの最終ビットの2クロック後からコマンドの最終ビットの16ビット後までの期間に開始することができる。
【0031】
以下に説明する付加機能において、カード検出ロジックを制御するために、ライン[B]をライン[C]と併用することができる。
【0032】
ライン[C]は、図3ではILLEG_CMDとも表記され、SDモードで使用され、デュアル機能を有する。SD仕様によると、不正コマンドがコントローラに送られると、そのコントローラは次のコマンドで前のコマンドが不正であったことを通知する。また、不正コマンドフラグによってフラグが設定されるので、この情報を次の(正規)コマンドで送ることができる。ただし、この次のコマンドの宛て先が同じモジュールとは限らないので、この不正コマンド情報をコントローラ間で共有する必要がある。例えば、不正コマンドがメモリモジュール宛てであり、次の正規コマンドがI/Oモジュール宛てであった場合、不正コマンド情報が共有されていなければ、I/Oモジュールは前の不正コマンドについての知識がないことになる。この処理を模式的に図12に示す。(この不正コマンドフラグの設定解除については、ライン[B]に関して前に説明している。)
【0033】
より具体的には、デフォルトでは、メモリコントローラおよびI/Oコントローラは入力モードになる。一方のコントローラが不正コマンドの受信を検出すると、そのコントローラは不正コマンドフラグを設定する。この不正コマンドの最終ビットのTCEIクロック後にライン[C]を「低」に駆動することによって、もう一方のコントローラにその不正コマンドフラグを設定するように指示する。一方のコントローラが不正コマンドの受信を検出すると、そのコントローラはライン[C]をチェックする。ライン[C]が「高」であると、そのコントローラはライン[C]を「低」に駆動する一方、ライン[C]が「低」であると(すなわち、もう一方のコントローラが既にライン[C]を駆動していると)、そのコントローラはそのラインを駆動しない。
【0034】
ライン[C]を「低」に駆動したコントローラは、次の2つの状況においてライン[C]の駆動を停止する。
1)正規コマンドへの応答の送出処理中に、コントローラは不正コマンドフラグを設定解除する。不正コマンドフラグの設定解除を通知するために、ライン[C]は、正規コマンドの受信後、応答開始ビットのTCRSサイクル後まで解放される。図13は、不正コマンドを受信したメモリコントローラがライン[C]の「低」への駆動を開始する一例である。(図13および14の例示的なバスタイミング値を図15の表2に示す。)正規コマンドの受信後、メモリコントローラはライン[C]の駆動を停止する。不正コマンドの後に正規コマンドを受信したI/Oコントローラも同じ処理を行う。
2)不正コマンドの受信後、コントローラは不正コマンドフラグを設定し、ライン[C]を「低」に駆動する。次の正規コマンドがもう一方のコントローラによって受け付けられると、このコントローラはライン[B]を「低」に駆動することによって、第1のコントローラに不正コマンドおよびエラーフラグの設定解除を指示する。第1のコントローラは、ライン[B]の立下りエッジからTCBSクロック後にライン[C]を解放し、エラーフラグを設定解除する。図14は、不正コマンドを受信したメモリコントローラがライン[C]の「低」への駆動を開始する一例である。I/Oコントローラによる正規コマンドの受信後、I/Oコントローラはライン[B]の駆動を開始する。この結果として、メモリコントローラはエラーフラグを設定解除し、ライン[C]の駆動を停止する。不正コマンドがI/Oコントローラに送られた後に正規コマンドを受信したメモリコントローラによって同じ処理が行われる。
【0035】
コントローラ間接続の電気的特性をより詳細に図16〜20に説明する。図16は、SDモードでの制御ライン[A]のタイミング図であり、図18の表3は、図16のさまざまなパラメータを示す。図17は、SDおよびSPIモードでの制御ライン[B、C]、およびSPIモードでのライン[A]のタイミング図であり、図19の表4は、図17のさまざまなパラメータを示す。図20は、コントローラ間インターフェイスの概要を示すピンの記述である。
【0036】
2つのモジュール、具体的にはメモリモジュールおよび入出力モジュールについて、本発明のさまざまな態様を説明してきたが、本発明は前述したものとは異なる数および種類のモジュールにも適用され、各モジュールのコントローラをそれぞれ独立してシステムバスに並列接続しながら、ホストには単一のモジュールカードとして見せることができる。また、既に述べたように、これらのモジュールは(図1aのように)単一カード内にあっても、(図1bのように)複数のカードに分散していてもよい。複数のカードによる実施形態において、システムバス(図3の331)およびコントローラ間インターフェイス(図3の333)はどちらもカード間接続をまたいで延在する。また、本発明は、図1bなどのマルチカードの実施形態において、カードにコントローラがない場合にも適用される。例えば、図3のカード35’にコントローラ301がない場合は、カード35においてライン[A〜C]がVssに設定される。これによって、カード35’は、カード37をホストに装着するためのアダプタとして振る舞うことができる。
【0037】
本発明の別の態様において、カードシステムを複数のプロトコルで動作することができる。このようなプロトコルが2つの場合についての例示的な実施形態が説明されているが、より一般的には、これより多い数のプロトコルを使用することも、或いは単一のプロトコルを使用することもできる。例示的なプロトコルは、SDまたはMMCプロトコルおよびSPIプロトコルであり、これらのプロトコルについては、前に援用されているMMC仕様のバージョン2.11または米国特許出願第09/641,023号(特許文献5)により詳しく説明されている。この例示的な実施形態において、さまざまな場合におけるメモリコントローラに対する要件と制御ラインA、B、およびCの用途とがより詳細に説明されている。動作概念を明確にするために、I/Oコントローラに対する要件も説明されている。
【0038】
SPIモードでは、カードは、不正コマンドを含む、すべてのコマンドに応答するように物理仕様に規定されている。メモリ/入出力コンビカードにおいて、メモリコントローラは、I/O固有のコマンドを無視する。同様に、I/Oコントローラは、メモリ固有のコマンドを無視する。マルチカードの実施形態において、I/Oコントローラが接続されていない(ライン[B]で検出されていない)場合、メモリコントローラはI/O関連のコマンドを無視しないが、I/O関連のコマンドがメモリコントローラに送られてくると不正コマンドとして応答する。SPIモードでは、CSがアサートされている場合は、カードがDOピン(DAT0)を「高」に駆動する必要があるとSDの物理仕様に規定されている。マルチモジュールの場合、各コントローラはそれ自身のDO出力のみを必要(すなわち、コマンドへの応答、またはデータの送出)に応じて有効にするが、それ以外の場合は、各コントローラは入力モードになる。前述した仕様に記載されているように、ホストはこのラインを高に維持する。ホストから見ると、カード/バスは、単一モジュールカードに対する仕様に規定されているように振る舞い続ける。
【0039】
両コントローラが並列にSDバスに接続されるので、一方のコントローラに送られたデータがもう一方のコントローラによってコマンドと解釈されうる。SPIモードで正規の周期的な冗長検査(CRC)を使用しないと、この誤解釈の可能性はさらに高くなる。(例えば、援用されているMMC仕様に記載されているように、好ましい実施形態において、SDバスで転送されるSDまたはMMCの各トークンはCRCビットで保護される一方、SPIモードでは、信頼性の高いデータリンクが組み込まれたシステムでは、非保護モードを使用可能であり、このモードでは、CRCの生成および検証機能を実装するために必要なハードウェアまたはファームウェアを省くことができる。)このために、メモリとI/Oコントローラとの間に制御ライン[A]が設けられている。例示的な実施形態において、両コントローラが同時にデータを受信することはないので、I/Oコントローラからメモリへの送出と、メモリコントローラからI/Oコントローラへの送出とに同じ制御ライン[A]が使われる。データ受信の場合は、各側がラインをアサート(「低」)し、これ以外の状態ではプルアップレジスタによってラインが高に維持される。
【0040】
SPIモードにするために、ホストはCMD0+(CS=0)をI/Oモジュールおよびメモリモジュールの両方に送る。メモリコントローラに対するRESETコマンドがI/Oコントローラに対するRESETコマンドと異なる場合でも、例えばI/OモジュールのRESETコマンドがCMD0でなくても、CMD0+(CS=0)が両モジュールに送られる。I/OコントローラはSPIモードになるが、CMD0コマンドには応答しない。周期的な冗長検査(CRC)をオンおよびオフにするためのコマンドCRC_ON_OFFは、メモリに対する正規コマンドであるので、メモリコントローラはこのコマンドに応答するが、I/Oコントローラはこのコマンドに応答しない。I/Oコントローラはこのコマンドを識別し、このコマンドの引数に応じてCRCチェック機能を有効または無効にする必要がある。コマンドのCRCエラーが検出された場合(かつCRC検出が有効になっている場合)は、両コントローラにおいてエラーフラグが設定される。両カードを初期化すると、両カードが応答しようとする。I/Oコントローラは指定クロック数の間、例えば16クロックの間、ライン[B]を「受信」するが、この期間中にメモリコントローラからの応答が現れなかった場合にのみ、I/Oコントローラは応答する。この指定期間中にメモリコントローラからの応答を検出すると、I/OモジュールはそのCRCエラーフラグをリセットするだけで、I/Oモジュール自身では応答しない。同様に、一方のコントローラが不正コマンドを検出すると、そのコントローラは応答として不正コマンド応答を返す。
【0041】
SDモードでは、メモリ/入出力コンビカードのメモリコントローラは、I/O固有のコマンドを無視する。逆に、I/Oコントローラは、I/Oコマンドクラス以外のすべてのコマンドを無視する。ただし、共通のコマンド(リセットコマンド(CMD0)や相対カードアドレス(RCA)およびチップセレクト(CS)関連のコマンドなど)以外のすべてのコントローラに共通なコマンド(クラス9)は例外とする。I/Oコントローラが接続されていない(ライン[B]で検出されていない)場合、メモリコントローラはI/O関連コマンドを無視せず、メモリコントローラに不正コマンドが送られてきたかのように応答する。
【0042】
メモリコントローラは、相対カードアドレス(RCA)の設定に関連するコマンドが正規コマンドであると、このコマンドに応答する。この場合、I/Oコントローラは、該当するコマンド応答をCMDライン上で「受信」する。設定されたクロック数以内に有効な(CRCが正しい)応答が検出されると(かつコマンドがI/Oコントローラに対して正規であると)、I/OコントローラはRCAを採用する。ライン[B]は、メモリコントローラが応答することをI/Oコントローラに通知する。
【0043】
メモリコントローラは、RCA設定コマンドが正規コマンドであると、このコマンドに応答する。この場合、I/Oコントローラは、コマンド応答をCMDライン上で「受信」する。所定のクロック数以内に有効な(CRCが正しい)応答が検出されると(かつコマンドがI/Oコントローラに対する不正コマンドであると)、I/OコントローラはRCAを採用せず、不正コマンドフラグを設定しない。ライン[B]は、メモリコントローラが応答することをI/Oコントローラに通知する。
【0044】
RCA設定コマンドの最終ビット後の許容応答期間内にメモリコントローラが応答せず、コマンドがI/Oコントローラに対する正規コマンドであると、I/Oコントローラが応答する。メモリコントローラは、この応答をCMDライン上で「受信」する。有効なRCAであると、I/Oコントローラは必要であればこのRCAを採用する。ライン[B]は、I/Oコントローラが応答することをメモリコントローラに通知する。許容応答期間内にメモリコントローラが応答せず、コマンドがI/Oコントローラに対する正規コマンドでない場合は、I/Oコントローラは応答しない。I/Oコントローラは不正コマンドフラグを設定し、不正コマンドが検出されたことをメモリコントローラにライン[C]で通知する。
【0045】
ホストには単一のカードと見えながら機能するように、すべてのモジュールに共通なコマンドチップセレクト関連のコマンド(CMD7)の処理は、相対カードアドレスの設定に使用されるコマンド(CMD3)についての前の段落で説明した処理と同様に行われる。
【0046】
ホストから/ホストへのメモリモジュールへ/メモリモジュールからのデータの転送中、I/Oモジュールから割り込みを発生させることができる。割り込み有効期間中にのみ割り込みの送信を許容するために、メモリコントローラは有効なメモリ割り込み期間をライン[A]でI/Oに通知する。「実際の」割り込み期間の前に割り込み期間の通知を行うので、割り込み期間を極めて正確にすることができる。これは、メモリコントローラからI/Oコントローラへの経路遅延(パッド遅延、コネクタ遅延などによる)を見越して行われる。
【0047】
コマンドにCRCエラーがあると、対応するエラーフラグが両コントローラに設定され、どちらのコントローラも応答しない。SD仕様によると、次のコマンドへの応答によってCRCエラービットが通知され、CRCエラーフラグへの応答としてカードからの次のコマンド応答が返される。次のどちらかの場合は、CRCフラグが一方のコントローラにおいて設定解除される。1)そのコントローラが応答としてCRCエラーを返した場合、または2)応答期間中にそのコントローラがカード上のもう一方のコントローラからのコマンド応答通知をライン[B]で検出した場合である。
【0048】
一方のコントローラが不正コマンドを検出すると、このコントローラは自身の不正コマンドフラグを設定し、応答しない。SD仕様によると、次のコマンドへの応答によって不正コマンドエラーを通知する必要がある。したがって、もう一方のコントローラもライン[C]を使用してその不正フラグを設定する。不正フラグを設定したコントローラは、ライン[C]を「0」に駆動する。ライン[C]で「0」への変化を検出すると、もう一方のコントローラがその不正フラグを設定する。その後、両コントローラは、CRCエラーの場合についての最終段落に記載されているように振る舞う。不正コマンドフラグへの応答として、カードから次のコマンド応答が返される。次のどちらかの場合は、不正コマンドフラグは設定解除される。1)そのコントローラが応答として不正コマンド応答を返した場合、または2)応答期間中にそのコントローラがカード上のもう一方のコントローラからのコマンド応答通知をライン[B]で検出した場合である。両カードがそれぞれの不正コマンドフラグを設定解除すると、両カードはそれぞれのライン[C]のドライバを入力モードに設定する。ライン[C]についての各コントローラに対する1セットの「ルール」は、以下のように要約することができる。
a)自身の不正フラグを(不正コマンドの受信後に)設定した場合には、ライン[C]を「低」にアサートする。
b)自身の不正フラグを設定解除したときは、ライン[C]をアサート解除する(入力モードになる)。
c)不正コマンドが検出されたか、またはライン[C]で「1」から「0」への変化が検出された場合は、不正フラグを設定する。
d)応答として不正コマンド応答(SDモードではR1、R5、またはR6、或いはSPIモードではR1、R2、R3、またはR5)を返した場合、または応答期間中にCMD RESPONDをライン[B]で検出した場合は、不正フラグを設定解除する。
【0049】
本発明のさまざまな態様を特定の実施形態に関して説明してきたが、本発明は添付の特許請求の範囲の全範囲内においてその権利が保護されるべきことが理解できよう。
【図面の簡単な説明】
【0050】
【図1a】不揮発性メモリモジュールおよび入出力モジュールが1枚のコンビカードの実施形態で使用されるシステムを示す。
【図1b】不揮発性メモリモジュールおよび入出力モジュールが2枚のカードの実施形態で使用されるシステムを示す。
【図2】一例としてのカードおよびこのカードが挿入されるシステムソケットのピンの割り当てを示す。
【図3】メモリ/入出力コンビカードの例示的な構成のブロック図である。
【図4a】I/Oコントローラがメモリコントローラに対してホストデータを無視するように指示するときのSPIモードでのライン[A]の使用法の概略図である。
【図4b】メモリコントローラがI/Oコントローラに対してホストデータを無視するように指示するときのSPIモードでのライン[A]の使用法の概略図である。
【図5】SPIモードでのライン[A]のバスタイミング図である。
【図6】タイミング図の記号の表である。
【図7】メモリコントローラがI/Oコントローラに対して有効な割り込み期間を通知するときのSDモードでのライン[A]の使用法の概略図である。
【図8】SD広幅バスモードでのライン[A]のバスタイミング図である。
【図9】第2のカードが装着されていることを第1のカードのコントローラに対してコマンド応答期間外に通知するときのライン[B]の使用法の概略図である。
【図10a】I/Oコントローラが応答していることをメモリコントローラに通知するときのライン[B]の使用法の概略図である。
【図10b】メモリコントローラが応答していることをI/Oコントローラに通知するときのライン[B]の使用法の概略図である。
【図11】ライン[B]上のセンス期間およびドライブ期間のバスタイミング図である。
【図12】不正コマンドフラグを設定するように一方のコントローラが別のコントローラに指示するときのライン[C]の使用法のブロック図である。
【図13】メモリコントローラに対する不正コマンドとその後の正規コマンドのライン[C]のバスタイミング図である。
【図14】カード検出ロジックを制御するためにライン[B]と併用されるライン[C]のバスタイミング図である。
【図15】例示的なバスタイミング図の表である。
【図16】SDモードでの制御ライン[A]のタイミング図である。
【図17】SDおよびSPIモードでの制御ライン[B、C]、およびSPIモードでのライン[A]のタイミング図である。
【図18】SDモードでのライン[A]のパラメータの表である。
【図19】SDおよびSPIモードでのライン[B、C]、およびSPIモードでのライン[A]のパラメータの表である。
【図20】コントローラ間インターフェイスのピンの記述である。
【特許請求の範囲】
【請求項1】
ホストシステムに接続可能な電子回路カードにおいて、
第1のコントローラを含む第1のモジュールと、
第2のコントローラを含む第2のモジュールと、
前記第1のコントローラおよび前記第2のコントローラの両方を並列に接続するバス構造であって、前記カードがホストに接続されているときに、データおよびコマンドを前記ホストと前記第1および第2のモジュールとの間でやり取りすることができるバス構造と、
前記2つのモジュールがホストには単一ユニットとして見えながらそれぞれ独立してホストと対話することができるように、信号をやり取りするために前記第1のコントローラと前記第2のコントローラとの間に接続される1つまたは複数の制御ラインと、
を備えるホストシステムに接続可能な電子回路カード。
【請求項2】
前記モジュールの一方は、メモリモジュールである請求項1記載のカード。
【請求項3】
前記モジュールの一方は、入出力モジュールである請求項1記載のカード。
【請求項4】
前記カードは、機能的および機械的にSDカード規格、SD IOカード規格、またはSDカード規格とSD IOカード規格の両方に準拠する請求項1記載のカード。
【請求項5】
前記制御ラインの数は、3本である請求項4記載のカード。
【請求項6】
前記モジュールは、ホストと複数のプロトコルで対話することができる請求項1記載のカード。
【請求項7】
前記複数のプロトコルは、SDプロトコルを含む請求項6記載のカード。
【請求項8】
前記複数のプロトコルは、SPIプロトコルを含む請求項6記載のカード。
【請求項9】
前記複数のプロトコルは、MMCプロトコルを含む請求項6記載のカード。
【請求項10】
前記バス構造は、SDカードおよびSD IOカード規格に準拠する請求項1記載のカード。
【請求項11】
前記コマンドは、前記モジュールの一方によって受け付けられるが、他方によって受け付けられないコマンドを1つまたは複数含む請求項1記載のカード。
【請求項12】
前記カードは、前記ホストに接続されているときに、前記モジュールの両方が同じ相対カードアドレスによって識別される請求項1記載のカード。
【請求項13】
前記モジュールの両方は、同じチップセレクト信号に反応する請求項1記載のカード。
【請求項14】
前記コントローラの一方は、もう一方のコントローラに、バス構造上のデータを無視するように前記制御ラインで指示することができる請求項1記載のカード。
【請求項15】
前記コントローラの一方は、もう一方のコントローラに、割り込み信号の発行許容期間を前記制御ラインで通知することができる請求項1記載のカード。
【請求項16】
前記コントローラの一方は、もう一方のコントローラに、不正コマンドの受信を前記制御ラインで通知することができる請求項1記載のカード。
【請求項17】
前記コントローラの一方は、もう一方のコントローラに、不正コマンドフラグを設定解除するように前記制御ラインで指示することができる請求項16記載のカード。
【請求項18】
前記コントローラの一方は、もう一方のコントローラに、エラーフラグを設定解除するように前記制御ラインで指示することができる請求項1記載のカード。
【請求項19】
前記第1のコントローラに接続されていることを前記第2のコントローラが前記第1のコントローラに前記制御ラインで通知することができる請求項1記載のカード。
【請求項20】
前記制御ラインの数は、3本である請求項1記載のカード。
【請求項21】
電子回路カードシステムにおいて、
第1のコントローラを含む、ホストに接続可能な第1のカードと、
第2のコントローラを含む、前記第1のカードに接続可能な第2のカードと、
前記第1および第2のカードが接続されているときに、前記第1のコントローラおよび前記第2のコントローラの両方を並列に接続するバス構造であって、前記カードの両方が接続され、かつ前記第1のカードがホストに接続されているときに、データおよびコマンドを前記ホストと前記第1および第2のコントローラとの間でやり取りするためのバス構造と、
前記第1および第2のカードが接続されているときに、前記2つのカードがホストには単一のカードとして見えながらそれぞれ独立してホストと対話することができるように、信号をやり取りするために前記第1のコントローラと前記第2のコントローラとの間に接続される1つまたは複数の制御ラインと、
を備える電子回路カードシステム。
【請求項22】
前記カードの一方は、メモリモジュールを収容する請求項21記載のシステム。
【請求項23】
前記カードの一方は、入出力モジュールを収容する請求項21記載のシステム。
【請求項24】
前記第1のカードは、機能的および機械的にSDカード規格、SD IOカード規格、またはSDカード規格とSD IOカード規格の両方に準拠する請求項21記載のシステム。
【請求項25】
前記制御ラインの数は、3本である請求項24記載のシステム。
【請求項26】
前記第2のカードは、機能的にSDカード規格に準拠する請求項21記載のシステム。
【請求項27】
前記第2のカードは、機能的にSD IOカード規格に準拠する請求項21記載のシステム。
【請求項28】
前記カードは、ホストと複数のプロトコルで対話することができる請求項21記載のシステム。
【請求項29】
前記複数のプロトコルは、SDプロトコルを含む請求項28記載のシステム。
【請求項30】
前記複数のプロトコルは、SPIプロトコルを含む請求項28記載のシステム。
【請求項31】
前記複数のプロトコルは、MMCプロトコルを含む請求項28記載のシステム。
【請求項32】
前記バス構造は、SDカードおよびSD IOカード規格に準拠する請求項21記載のシステム。
【請求項33】
前記複数のコマンドは、前記コントローラの一方によって受け付けられるが、他方のコントローラによって受け付けられないコマンドを1つまたは複数含む請求項21記載のシステム。
【請求項34】
前記第1のカードがホストに接続され、かつ前記第2のカードが前記第1のカードに接続されているときに、前記カードの両方が同じ相対カードアドレスによって識別される請求項21記載のシステム。
【請求項35】
前記カードの両方は、同じチップセレクト信号に反応する請求項21記載のシステム。
【請求項36】
前記コントローラの一方は、もう一方のコントローラに、バス構造上のデータを無視するように前記制御ラインで指示することができる請求項21記載のシステム。
【請求項37】
前記コントローラの一方は、もう一方のコントローラに、割り込み信号の発行許容期間を前記制御ラインで通知することができる請求項21記載のシステム。
【請求項38】
前記コントローラの一方は、もう一方のコントローラに、不正コマンドの受信を前記制御ラインで通知することができる請求項21記載のシステム。
【請求項39】
前記コントローラの一方は、もう一方のコントローラに、不正コマンドフラグを設定解除するように前記制御ラインで指示することができる請求項38記載のシステム。
【請求項40】
前記コントローラの一方は、もう一方のコントローラに、エラーフラグを設定解除するように前記制御ラインで指示することができる請求項21記載のシステム。
【請求項41】
前記第1のコントローラに接続されていることを前記第2のコントローラが前記第1のコントローラに前記制御ラインで通知することができる請求項21記載のシステム。
【請求項42】
前記制御ラインの数は、3本である請求項21記載のシステム。
【請求項43】
ホストシステムに接続可能な第1の電子回路カードにおいて、
第1のコントローラを含む第1のモジュールと、
第2のコントローラを含む第2のモジュールを有する、第2の電子回路カードを装着するためのコネクタと、
前記第1のコントローラと、前記第2のコントローラを接続するためのコネクタとを並列に接続するバス構造であって、前記第1のカードがホストと前記第2のカードとに接続されているときに、データおよびコマンドを前記ホストと前記第1および第2のモジュールとの間でやり取りするためのバス構造と、
前記2つのモジュールがホストには単一のユニットとして見えながらそれぞれ独立してホストと対話することができるように、信号をやり取りするために前記第1のコントローラと前記第2のコントローラを接続するためのコネクタとの間に接続される1つまたは複数の制御ラインと、
を備えるホストシステムに接続可能な第1の電子回路カード。
【請求項44】
前記カードは、機能的および機械的にSDカード規格、SD IOカード規格、またはSDカード規格とSD IOカード規格の両方に準拠する請求項43記載のカード。
【請求項45】
前記制御ラインの数は、3本である請求項43記載のカード。
【請求項46】
前記カードは、ホストと複数のプロトコルで対話することができる請求項43記載のカード。
【請求項47】
前記バス構造は、SDカードおよびSD IOカード規格に準拠する請求項43記載のカード。
【請求項48】
第2の電子回路カードに接続可能な第1の電子回路カードにおいて、
第1のコントローラを含む第1のモジュールと、
第2のコントローラを含む第2のモジュールを有し、ホストシステムに接続可能な第2の電子回路カードを装着するためのコネクタと、
前記第1のコントローラと、前記第2のコントローラを接続するための前記コネクタとを並列に接続するバス構造であって、前記第1のカードが前記第2のカードに接続され、かつ前記第2のカードがホストに接続されているときに、データおよびコマンドを前記ホストと前記第1および第2のモジュールとの間でやり取りするためのバス構造と、
前記2つのモジュールがホストには単一のユニットとして見えながらそれぞれ独立してホストと対話することができるように、信号をやり取りするために前記第1のコントローラと前記第2のコントローラを接続するためのコネクタとの間に接続される1つまたは複数の制御ラインと、
を備える第2の電子回路カードに接続可能な第1の電子回路カード。
【請求項49】
前記カードは、機能的にSDカード規格、SD IOカード規格、またはSDカード規格とSD IOカード規格の両方に準拠する請求項48記載のカード。
【請求項50】
前記カードは、機械的にSDカード規格に準拠しない請求項49記載のカード。
【請求項51】
前記制御ラインの数は、3本である請求項48記載のカード。
【請求項52】
前記カードは、ホストと複数のプロトコルで対話することができる請求項48記載のカード。
【請求項53】
前記バス構造は、SDカードおよびSD IOカード規格に準拠する請求項48記載のカード。
【請求項54】
システムにおいて、
ホストと、
第1のコントローラを含む第1のモジュールを有し、前記ホストシステムに接続可能な第1の電子回路カードと、
第2のコントローラを含む第2のモジュールと、
前記第1および第2のモジュールがホストに接続されているときに、前記第1のコントローラおよび前記第2のコントローラの両方を並列に接続するバス構造であって、データおよびコマンドを前記ホストと前記第1および第2のコントローラとの間でやり取りすることができるバス構造と、
前記第1および第2のモジュールがホストに接続されているときに、前記2つのモジュールがホストには単一カードとして見えながらそれぞれ独立してホストと対話することができるように、信号をやり取りするために前記第1のコントローラと前記第2のコントローラとの間に接続される1つまたは複数の制御ラインと、
を備えるシステム。
【請求項55】
前記第1の電子回路カードは、前記第2のモジュールをさらに含む請求項54記載のシステム。
【請求項56】
前記第2のカードは、機能的にSDカード規格、SD IOカード規格、またはSDカードとSD IOカード規格の両方に準拠する請求項55記載のシステム。
【請求項57】
前記第2のカードは、機械的にSDカード規格に準拠しない請求項E.4記載のシステム。
【請求項58】
前記第2のモジュールを含む第2の電子回路カードをさらに備え、前記第2のカードがコネクタを介して前記第1のカードに接続され、前記第1のカードを介して前記ホストに接続される請求項54記載のシステム。
【請求項1】
ホストシステムに接続可能な電子回路カードにおいて、
第1のコントローラを含む第1のモジュールと、
第2のコントローラを含む第2のモジュールと、
前記第1のコントローラおよび前記第2のコントローラの両方を並列に接続するバス構造であって、前記カードがホストに接続されているときに、データおよびコマンドを前記ホストと前記第1および第2のモジュールとの間でやり取りすることができるバス構造と、
前記2つのモジュールがホストには単一ユニットとして見えながらそれぞれ独立してホストと対話することができるように、信号をやり取りするために前記第1のコントローラと前記第2のコントローラとの間に接続される1つまたは複数の制御ラインと、
を備えるホストシステムに接続可能な電子回路カード。
【請求項2】
前記モジュールの一方は、メモリモジュールである請求項1記載のカード。
【請求項3】
前記モジュールの一方は、入出力モジュールである請求項1記載のカード。
【請求項4】
前記カードは、機能的および機械的にSDカード規格、SD IOカード規格、またはSDカード規格とSD IOカード規格の両方に準拠する請求項1記載のカード。
【請求項5】
前記制御ラインの数は、3本である請求項4記載のカード。
【請求項6】
前記モジュールは、ホストと複数のプロトコルで対話することができる請求項1記載のカード。
【請求項7】
前記複数のプロトコルは、SDプロトコルを含む請求項6記載のカード。
【請求項8】
前記複数のプロトコルは、SPIプロトコルを含む請求項6記載のカード。
【請求項9】
前記複数のプロトコルは、MMCプロトコルを含む請求項6記載のカード。
【請求項10】
前記バス構造は、SDカードおよびSD IOカード規格に準拠する請求項1記載のカード。
【請求項11】
前記コマンドは、前記モジュールの一方によって受け付けられるが、他方によって受け付けられないコマンドを1つまたは複数含む請求項1記載のカード。
【請求項12】
前記カードは、前記ホストに接続されているときに、前記モジュールの両方が同じ相対カードアドレスによって識別される請求項1記載のカード。
【請求項13】
前記モジュールの両方は、同じチップセレクト信号に反応する請求項1記載のカード。
【請求項14】
前記コントローラの一方は、もう一方のコントローラに、バス構造上のデータを無視するように前記制御ラインで指示することができる請求項1記載のカード。
【請求項15】
前記コントローラの一方は、もう一方のコントローラに、割り込み信号の発行許容期間を前記制御ラインで通知することができる請求項1記載のカード。
【請求項16】
前記コントローラの一方は、もう一方のコントローラに、不正コマンドの受信を前記制御ラインで通知することができる請求項1記載のカード。
【請求項17】
前記コントローラの一方は、もう一方のコントローラに、不正コマンドフラグを設定解除するように前記制御ラインで指示することができる請求項16記載のカード。
【請求項18】
前記コントローラの一方は、もう一方のコントローラに、エラーフラグを設定解除するように前記制御ラインで指示することができる請求項1記載のカード。
【請求項19】
前記第1のコントローラに接続されていることを前記第2のコントローラが前記第1のコントローラに前記制御ラインで通知することができる請求項1記載のカード。
【請求項20】
前記制御ラインの数は、3本である請求項1記載のカード。
【請求項21】
電子回路カードシステムにおいて、
第1のコントローラを含む、ホストに接続可能な第1のカードと、
第2のコントローラを含む、前記第1のカードに接続可能な第2のカードと、
前記第1および第2のカードが接続されているときに、前記第1のコントローラおよび前記第2のコントローラの両方を並列に接続するバス構造であって、前記カードの両方が接続され、かつ前記第1のカードがホストに接続されているときに、データおよびコマンドを前記ホストと前記第1および第2のコントローラとの間でやり取りするためのバス構造と、
前記第1および第2のカードが接続されているときに、前記2つのカードがホストには単一のカードとして見えながらそれぞれ独立してホストと対話することができるように、信号をやり取りするために前記第1のコントローラと前記第2のコントローラとの間に接続される1つまたは複数の制御ラインと、
を備える電子回路カードシステム。
【請求項22】
前記カードの一方は、メモリモジュールを収容する請求項21記載のシステム。
【請求項23】
前記カードの一方は、入出力モジュールを収容する請求項21記載のシステム。
【請求項24】
前記第1のカードは、機能的および機械的にSDカード規格、SD IOカード規格、またはSDカード規格とSD IOカード規格の両方に準拠する請求項21記載のシステム。
【請求項25】
前記制御ラインの数は、3本である請求項24記載のシステム。
【請求項26】
前記第2のカードは、機能的にSDカード規格に準拠する請求項21記載のシステム。
【請求項27】
前記第2のカードは、機能的にSD IOカード規格に準拠する請求項21記載のシステム。
【請求項28】
前記カードは、ホストと複数のプロトコルで対話することができる請求項21記載のシステム。
【請求項29】
前記複数のプロトコルは、SDプロトコルを含む請求項28記載のシステム。
【請求項30】
前記複数のプロトコルは、SPIプロトコルを含む請求項28記載のシステム。
【請求項31】
前記複数のプロトコルは、MMCプロトコルを含む請求項28記載のシステム。
【請求項32】
前記バス構造は、SDカードおよびSD IOカード規格に準拠する請求項21記載のシステム。
【請求項33】
前記複数のコマンドは、前記コントローラの一方によって受け付けられるが、他方のコントローラによって受け付けられないコマンドを1つまたは複数含む請求項21記載のシステム。
【請求項34】
前記第1のカードがホストに接続され、かつ前記第2のカードが前記第1のカードに接続されているときに、前記カードの両方が同じ相対カードアドレスによって識別される請求項21記載のシステム。
【請求項35】
前記カードの両方は、同じチップセレクト信号に反応する請求項21記載のシステム。
【請求項36】
前記コントローラの一方は、もう一方のコントローラに、バス構造上のデータを無視するように前記制御ラインで指示することができる請求項21記載のシステム。
【請求項37】
前記コントローラの一方は、もう一方のコントローラに、割り込み信号の発行許容期間を前記制御ラインで通知することができる請求項21記載のシステム。
【請求項38】
前記コントローラの一方は、もう一方のコントローラに、不正コマンドの受信を前記制御ラインで通知することができる請求項21記載のシステム。
【請求項39】
前記コントローラの一方は、もう一方のコントローラに、不正コマンドフラグを設定解除するように前記制御ラインで指示することができる請求項38記載のシステム。
【請求項40】
前記コントローラの一方は、もう一方のコントローラに、エラーフラグを設定解除するように前記制御ラインで指示することができる請求項21記載のシステム。
【請求項41】
前記第1のコントローラに接続されていることを前記第2のコントローラが前記第1のコントローラに前記制御ラインで通知することができる請求項21記載のシステム。
【請求項42】
前記制御ラインの数は、3本である請求項21記載のシステム。
【請求項43】
ホストシステムに接続可能な第1の電子回路カードにおいて、
第1のコントローラを含む第1のモジュールと、
第2のコントローラを含む第2のモジュールを有する、第2の電子回路カードを装着するためのコネクタと、
前記第1のコントローラと、前記第2のコントローラを接続するためのコネクタとを並列に接続するバス構造であって、前記第1のカードがホストと前記第2のカードとに接続されているときに、データおよびコマンドを前記ホストと前記第1および第2のモジュールとの間でやり取りするためのバス構造と、
前記2つのモジュールがホストには単一のユニットとして見えながらそれぞれ独立してホストと対話することができるように、信号をやり取りするために前記第1のコントローラと前記第2のコントローラを接続するためのコネクタとの間に接続される1つまたは複数の制御ラインと、
を備えるホストシステムに接続可能な第1の電子回路カード。
【請求項44】
前記カードは、機能的および機械的にSDカード規格、SD IOカード規格、またはSDカード規格とSD IOカード規格の両方に準拠する請求項43記載のカード。
【請求項45】
前記制御ラインの数は、3本である請求項43記載のカード。
【請求項46】
前記カードは、ホストと複数のプロトコルで対話することができる請求項43記載のカード。
【請求項47】
前記バス構造は、SDカードおよびSD IOカード規格に準拠する請求項43記載のカード。
【請求項48】
第2の電子回路カードに接続可能な第1の電子回路カードにおいて、
第1のコントローラを含む第1のモジュールと、
第2のコントローラを含む第2のモジュールを有し、ホストシステムに接続可能な第2の電子回路カードを装着するためのコネクタと、
前記第1のコントローラと、前記第2のコントローラを接続するための前記コネクタとを並列に接続するバス構造であって、前記第1のカードが前記第2のカードに接続され、かつ前記第2のカードがホストに接続されているときに、データおよびコマンドを前記ホストと前記第1および第2のモジュールとの間でやり取りするためのバス構造と、
前記2つのモジュールがホストには単一のユニットとして見えながらそれぞれ独立してホストと対話することができるように、信号をやり取りするために前記第1のコントローラと前記第2のコントローラを接続するためのコネクタとの間に接続される1つまたは複数の制御ラインと、
を備える第2の電子回路カードに接続可能な第1の電子回路カード。
【請求項49】
前記カードは、機能的にSDカード規格、SD IOカード規格、またはSDカード規格とSD IOカード規格の両方に準拠する請求項48記載のカード。
【請求項50】
前記カードは、機械的にSDカード規格に準拠しない請求項49記載のカード。
【請求項51】
前記制御ラインの数は、3本である請求項48記載のカード。
【請求項52】
前記カードは、ホストと複数のプロトコルで対話することができる請求項48記載のカード。
【請求項53】
前記バス構造は、SDカードおよびSD IOカード規格に準拠する請求項48記載のカード。
【請求項54】
システムにおいて、
ホストと、
第1のコントローラを含む第1のモジュールを有し、前記ホストシステムに接続可能な第1の電子回路カードと、
第2のコントローラを含む第2のモジュールと、
前記第1および第2のモジュールがホストに接続されているときに、前記第1のコントローラおよび前記第2のコントローラの両方を並列に接続するバス構造であって、データおよびコマンドを前記ホストと前記第1および第2のコントローラとの間でやり取りすることができるバス構造と、
前記第1および第2のモジュールがホストに接続されているときに、前記2つのモジュールがホストには単一カードとして見えながらそれぞれ独立してホストと対話することができるように、信号をやり取りするために前記第1のコントローラと前記第2のコントローラとの間に接続される1つまたは複数の制御ラインと、
を備えるシステム。
【請求項55】
前記第1の電子回路カードは、前記第2のモジュールをさらに含む請求項54記載のシステム。
【請求項56】
前記第2のカードは、機能的にSDカード規格、SD IOカード規格、またはSDカードとSD IOカード規格の両方に準拠する請求項55記載のシステム。
【請求項57】
前記第2のカードは、機械的にSDカード規格に準拠しない請求項E.4記載のシステム。
【請求項58】
前記第2のモジュールを含む第2の電子回路カードをさらに備え、前記第2のカードがコネクタを介して前記第1のカードに接続され、前記第1のカードを介して前記ホストに接続される請求項54記載のシステム。
【図1a】
【図1b】
【図2】
【図3】
【図4a】
【図4b】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10a】
【図10b】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図1b】
【図2】
【図3】
【図4a】
【図4b】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10a】
【図10b】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【公表番号】特表2007−535021(P2007−535021A)
【公表日】平成19年11月29日(2007.11.29)
【国際特許分類】
【出願番号】特願2006−543874(P2006−543874)
【出願日】平成16年11月30日(2004.11.30)
【国際出願番号】PCT/US2004/040122
【国際公開番号】WO2005/062242
【国際公開日】平成17年7月7日(2005.7.7)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Bluetooth
【出願人】(506197901)サンディスク コーポレイション (175)
【Fターム(参考)】
【公表日】平成19年11月29日(2007.11.29)
【国際特許分類】
【出願日】平成16年11月30日(2004.11.30)
【国際出願番号】PCT/US2004/040122
【国際公開番号】WO2005/062242
【国際公開日】平成17年7月7日(2005.7.7)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Bluetooth
【出願人】(506197901)サンディスク コーポレイション (175)
【Fターム(参考)】
[ Back to top ]