ホストと順次通信する複数の取り外し可能な不揮発性メモリ・カード
【課題】データが読み書きされる2つ以上の非常に小型のカプセル入り電子回路カードは、ホスト・システムの2つ以上のソケットに取り外し可能に挿入された場合に、それらの使用の柔軟性および効率性を最大にする。
【解決手段】コマンドおよび応答信号は、ホストとソケットの全てとの間に共通に接続されている単一の回路により該ホストとカードとの間で伝えられる。システムの初期化時には、該コマンドおよび状態回路を一つずつ順次各ソケットに接続することで相対カード・アドレスが各カードに書込まれていると確認され、初期化時にカード・アドレスをセットする速く簡単な方法である。ホストは、カードとの間でソケットの全てと共通に接続されている少なくとも2つの異なるデータ・ラインを介してデータを転送し、各カードは、使用することのできる並列データ・ラインの数についてのホスト読出し可能な指示を蓄積することでデータ転送速度を高める。
【解決手段】コマンドおよび応答信号は、ホストとソケットの全てとの間に共通に接続されている単一の回路により該ホストとカードとの間で伝えられる。システムの初期化時には、該コマンドおよび状態回路を一つずつ順次各ソケットに接続することで相対カード・アドレスが各カードに書込まれていると確認され、初期化時にカード・アドレスをセットする速く簡単な方法である。ホストは、カードとの間でソケットの全てと共通に接続されている少なくとも2つの異なるデータ・ラインを介してデータを転送し、各カードは、使用することのできる並列データ・ラインの数についてのホスト読出し可能な指示を蓄積することでデータ転送速度を高める。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子回路カードと、ホスト装置に配線される1つ以上のカード・ソケットを有するシステムにおけるそれらの使用とに関し、特に、フラッシュEEPROM(電気的に消去可能でプログラマ可能なリード・オンリー・メモリ)等のかなりの量の書き直し可能な不揮発性メモリを包含する小型カプセル入りカードおよびそれらが並列カード・ソケットに取り外し可能に挿入されたときに動作するシステムに関する。
【背景技術】
【0002】
パーソナルコンピュータ、ノートブック型コンピュータ、パーソナルエレクトロニックアシスタント、セルラー電話機、カメラおよびその他の取り外しできるデータ記憶装置を必要とする電子装置からの数メガバイトのデータを蓄積するために不揮発性半導体フラッシュEEPROMシステムを包含する小型カードが普及している。その様なメモリ・カードのアプリケーションは急速に増えつつあり、現在はインターネットからダウンロードされた音楽を蓄積するために使用されている。音楽データは、普通は、良く知られているMP−3アルゴリズムによるなどして圧縮された形でインターネットを介して伝送され、後にアナログ演奏装置で解凍され再生されるようにカード上にその圧縮された形で蓄積される。メモリ・カード・スロット(ソケット)を有する非常に小型の電池給電式携帯用プレーヤーが普及し始めている。インターネットの帯域幅およびそれへの接続が増大し、メモリ・カードの記憶容量が増大し、そしてデータ圧縮アルゴリズムの効率が向上するので将来はビデオおよびその他の大容量データを蓄積したり転送したりするのにその様なカードを用いるようになるであろう。
【0003】
これらのおよびその他のアプリケーションに特に適するカードは、長さが32ミリメートル、幅が24ミリメートル、そして厚さが1.4ミリメートルに過ぎないマルチメディアカード(“MMC”)である。MMCのための物理的および電気的仕様は、カリフォルニア州クパチーノのマルチメディアカード協会(MultiMediaCard Association(“MMCA”))により随時更新され刊行される“マルチメディアカード・システム仕様”において与えられている。この仕様の、それぞれ1999年6月付けおよび2000年1月付けのバージョン2.11版および2.2版は、この言及によりここに明確に取り入れられている。単一のカードで64メガバイトにおよぶいろいろな記憶容量を有するMMC製品が、本願の譲受人であるカリフォルニア州サニーベールのサンディスク コーポレーションから現在入手できる。それらの製品は、サンディスク コーポレーションにより刊行された2000年4月付けの“マルチメディアカード製品マニュアル”改訂2版に記載されており、このマニュアルはこの言及によりここに明確に取り入れられる。該MMC製品の電気的動作の一定の局面も、共に1998年11月4日に出願され、サンディスク コーポレーションに譲渡された、トーマス N.トゥームおよびミッキー・ホルツマンの同時係属出願中の米国特許出願第09/185,649号(特許文献1)および第09/186,064号(特許文献2)に記載されている。物理的なカード構造およびその製造方法が、サンディスク コーポレーションに譲渡された米国特許第6,040,622号(特許文献3)に記載されている。これらの両方の特許出願および特許もこの言及によりここに明確に取り入れられる。
【0004】
MMC製品は、1つはデータの転送のため、1つはコマンドを受け取って応答(状態指示)を送るため、1つはクロック信号を受け取るため、そして3つは電力を受け取るため、合計6つの電気接点だけを使用するシリアル・インタフェースを有する。将来の使用のために1つの予備の接点が含まれている。少数の接点は、ホスト・システム、特に携帯用のもの、との該カードの使用を簡単にすると共に、該カードのサイズを小さくすることを可能にする。もちろん、種々のフォーマットを有する他のもっと大きなメモリ・カードで行われているように複数の接点を通して並列にデータを転送するのとは対照的に、該カードへそして該カードからデータを転送できる速度は単一のデータ接点の使用によって与えられたクロック周波数については限られている。ホスト・システムは、しばしば、2つ以上のMMC製品を同時に使用するために2つ以上のソケットを提供する。複数の挿入されたメモリ・カードの全てのデータ接点は1つのラインによってホスト・プロセッサに接続され、全てのコマンド/応答接点は同様にホスト・プロセッサに1つのラインによって接続され、そしてカードの全てのクロック接点は一緒に共通のクロック源に接続される。
【0005】
ホストは、システム初期化ルーチンの一部として、複数のシステム・ソケットに挿入されたどのカードにも特有のアドレスを割り当てることを要求される。特有のカード識別(“CID”)番号がその製造業者によって、それがホストにより読出され得るように、各カードのレジスタに蓄積されるが、その番号は非常に大きなバイナリー・サイズを有する。カードのアドレスは各コマンドに先行するか、或いは、例えば、単一のコマンド/応答ラインを介して全てのカードに送られる他のアーギュメントに含まれるので、非常に大きなアドレスの使用は複数のカード・システムの動作を顕著に遅くすることがある。典型的なシステムで使用されるほんの数個のカードをアドレス指定するために長い製造業者識別子の伝送は不要である。例えば、2つのカードをアドレス指定するには1ビットが、4つまでのカードには2ビットが、必要であるに過ぎない。従って、初期化時に、小さな相対カード・アドレスが、相対カード・アドレス・レジスタ(“RCA”)と称される、この目的のために設けられている内部カード・レジスタに書込まれる。
【0006】
ホストが最初に各カードをアドレス指定してその様なアドレスを割り当てることができるように、ホストは、全てのカードからのビットの組み合わせが1つのカードを除いて他の全てのカードが不活性となるという結果を与えるまで、システムの全てのカードにそれらの製造業者識別コードを1ビットずつ同時に送るように命じる。その後、相対アドレスがホストにより、その残っている1つのカードのRCAに書込まれ、その後、このプロセスは、どのカードにも特有の小さなアドレスが与えられるまで、残っているカードのために反復される。これらのアドレスは、後にホストがシステム内の該カードに個別にアクセスするためにホストにより使用される。この初期化手法はシーメンス・アクチエンゲゼルシャフトの特許協力条約(“PCT”)国際公開第WO97/38370号(特許文献4)にさらに開示されており、この公開公報はこの言及によりここに明確に取り入れられる。
【0007】
128メガバイトの単一カード・データ記憶容量を有するMMC製品が近い将来に市販されると期待されている。この大容量およびそれ以上が、MMC製品より大きな他のフラッシュEEPROMカードで現在市販されている。現在のMP3圧縮アルゴリズムを使用して、1時間以上の音楽を1つの128メガバイト・カードに蓄積することができる。そして、その様なカードの記憶容量がさらに増大するにつれて、且つ/または圧縮アルゴリズムがデータ・ファイルのサイズをさらに小さくするにつれて、もっと長い時間の音楽やその他のタイプのディジタル・データを個々のカードに蓄積することができるようになる。小型の不揮発性メモリ・カードを使用する種々の方法が考慮されているので、それらの構造およびインターネットでの使用、並びに単一のカード・ソケットを有するホスト・システムおよび2つ以上のソケットを持っていて2つ以上のメモリ・カードを同時に利用するホストでのそれらの使用の柔軟性および効率性を最大にすることが望ましい。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】米国特許出願第09/185,649号
【特許文献2】米国特許出願第09/186,064号
【特許文献3】米国特許第6,040,622号
【特許文献4】国際公開第WO97/38370号
【発明の概要】
【0009】
新しい不揮発性メモリ・カードが開発されており、それは、他の改良事項の中でも、カードとのデータ転送速度を増大させる電気接点を追加すると共にシステムの複数のカードの各々に相対アドレスを割り当てる方法を変更する。この新しい製品はセキュア・ディジタル(“SD”)メモリ・カードと称され、本発明のいろいろな局面を具現化するカードの具体的な例である。SDカードのサイズおよび形状は平面図ではMMCと同じにされるのが好ましいけれども、SDカードの厚さは、MMCと同じ1.4ミリメートルであっても良いし、或いはMMCのそれより大きくされても良く、一例は2.1ミリメートルでSDカードの外部接点は僅かにへこまされる。SDカードは追加の外部電気接点を包含するけれども、SDカードを受け入れるように設計されているソケットがMMCカードも受け入れるようにするために他の接点の位置はMMCカードのそれと同じである。SDカードとの電気的インタフェースは、両方のタイプのカードを収容するためにホストの動作に変更を殆ど加えなくて済むようにするために、さらに、上記で参考として引用されたその仕様のバージョン2.11に記載されているMMC製品と、大体、後戻り両立するようにされる。
【0010】
本発明の一つの局面に従って、ホスト・システムとカードとは、複数のSDカード、または同様のホスト・インタフェースを有する他の電子回路カードの各々に、今MMC製品のために必要な時間より短い時間で相対アドレスを割り当てさせるように、修正される。具体的には、別のコマンド/応答ラインがホストとシステムのカード・ソケットの各々との間に接続される。ホストは、システム初期化時に、カードの個々のコマンド/応答ラインを介してホストと各カードとの間の通信によりカードへの特有の相対アドレスの割り当てを制御する。しかし、この初期化後に、ソケットのコマンド/応答ラインの全ては互いに接続されて、ホストはMMCと同じように単一のコマンド/応答ラインを通して全てのカードと通信する。従って、MMCは、初期化後のその動作のこの局面においては依然としてSDカードと両立する。MMC製品のコマンド/応答接点に接続されているオープンドレイン回路を無くすことによってSDカードは簡単化される。この新手法の一時性は、全てのカード・ソケットが単一の共通コマンド/応答ラインに配線で接続されているシステムを、該共通コマンド/応答ラインを介して個々のカードとの通信のためにホストによって後に使用される相対アドレスで各カードを初期化する限られた目的のために固定通信システムに改造する。チップ選択ラインを各ソケットに付け加えることなどによってカードを個別にアドレス指定する他の手法は、SDカードと、それらとのホスト・インタフェースとに対する更なる修正を必要とするので、MMC製品は修正されたシステムでは使用され得ない。
【0011】
本発明のもう一つの局面に従って、SDカードは、MMC製品で使用される単一のデータ接点の代わりに、2つ以上のデータ接点を有する。そのとき、ホストとアドレス指定されたカードとの間で同時に2ビット以上のデータを転送するためにホスト・プロセッサと各カード・ソケットとの間に2つ以上のデータ・ラインが包含される。ホストにより読出し可能な情報が、そのカードのデータ接点の数を示すために、各カードに永久的に蓄積される。このとき、ホストは、それとそのカードとの間で該カードが支援する全ての利用可能なデータ・ラインを通してデータを転送するように適応する。ホストはいろいろな数の共通する複数のデータ・ラインを介して自分自身といろいろなカードとの間でデータを転送できるので、複数のカード・システムのカードが全て同じ数のデータ接点を持つ必要はない。修正されたシステムは、複数のデータ・ラインのうちの1つだけを介してデータを転送することにより、現存するMMC製品で動作することができる。異なる数のデータ接点を有するカードを入れ替えることができ、また、ホストは、その特性を読出して、そのカードが接続された該システムのデータ・ラインの全てを介するデータ転送を構成することによりその新しいカードに順応するので、本発明のこの局面は単一カード・ソケットを有するシステムにも応用されることができる。
【0012】
本発明の別の局面に従って、一度に1ビット等の一定数の連続するデータ・ビットを複数のデータ・ラインの各々を通して順次交互に向け、その後にその複数のラインからのデータ・ストリームを該複数のラインからのデータ・ビットの逆結合を実行することによって復元することによって、1ビット幅ストリームなどのシリアル・データ・ストリームが2つ以上のデータ経路(ライン)を通して並列に伝送される。変動する数のデータ・ラインに適応することが必要であるとき、特にカード上のデータ・ピンの数(1本から何らかの倍数、例えば4本まで、変動することのある数)に等しい数のデータ・ラインを介してホストと特定のメモリ・カードとの間でデータが伝送されるとき、この手法は有益である。1つの特定の実施形態では、ホストは、アドレス指定されたカード内のレジスタからホストとそのカードとの間でデータの伝送が始まる前にその数を読出すことによって、データ・ラインの数に適応する。
【0013】
上述した局面の各々を単独で利用することもでき、或いは改良された電子カード・システムにおいてそれらを組み合わせることもできる。本発明は、ホストと複数のメモリ・カードとの間のシリアル通信とそれらの間での固定通信とを、それらの間のシリアル通信だけを使用する既存システムとの両立性を維持しながら、システムの性能および柔軟性を改良する形態で組み合わせることを含む。
【0014】
本発明の付加的な特徴および利点は、その特定の実施形態についての以下の説明に包含されており、この説明は添付図面と関連させて考慮されるべきである。
【図面の簡単な説明】
【0015】
【図1】現存するMMCカードと、該カードが挿入されるソケットとを示す。
【図2】図1の現存するMMCカードの略ブロック図である。
【図3】図1および2に示されている複数のMMCカードおよびソケットを利用する現存するメモリ・システムを示す。
【図4】本発明の第1の局面に従って、複数のコマンド/応答ラインが接続されている複数のメモリ・カード・ソケットを利用するメモリ・システムを示す。
【図5A】図4のシステムのスイッチング・エレメントの操作可能な状態を示す。
【図5B】図4のシステムのスイッチング・エレメントの操作可能な状態を示す。
【図5C】図4のシステムのスイッチング・エレメントの操作可能な状態を示す。
【図5D】図4のシステムのスイッチング・エレメントの操作可能な状態を示す。
【図6】図4および5A〜Dのメモリ・システムの動作を示す流れ図である。
【図7】本発明の第2の局面に従って、メモリ・カードと該カードが挿入されるソケットとを示す。
【図8】図7に示されているタイプの複数のメモリ・カード・ソケットを利用すると共にそれらに接続されている複数のデータ・ラインを有するメモリ・システムを示す。
【図9】図7に示されているメモリ・カードで使用される図2のMMCカードの略図の1エレメントに対する修正を示す。
【図10A】図8のメモリ・システムを通るデータの流れを示す。
【図10B】図8のメモリ・システムを通るデータの流れを示す。
【図10C】図8のメモリ・システムを通るデータの流れを示す。
【図10D】図8のメモリ・システムを通るデータの流れを示す。
【図10E】図8のメモリ・システムを通るデータの流れを示す。
【図11】図7〜9のメモリ・システムの動作の一つの局面を示す流れ図である。
【図12】図7〜9のメモリ・システムの動作のもう一つの局面を示す流れ図である。
【発明を実施するための形態】
【0016】
MMC製品およびシステムについての説明
図1を参照すると、上述の従来の技術の欄で説明されたタイプの現存するMMCカード10はソケット20のスロット19に挿入可能である。カード10は、該カードの表面においてその短いエッジのうちの1つに沿って延在する7つの電気接点11〜17の列を包含している。ソケット20は、それぞれのライン21〜27に接続されている7つの填め合い接点ピン1〜7を包含している。カード接点12は、ホストからコマンド信号を順次受け取って応答(状態信号)をホストに順次送る。従って、填め合いソケット・ピン2はコマンド/応答(“CMD”)ライン22と接続されている。シリアル・データはその不揮発性メモリに蓄積されるべくカード接点17を通して受信され、そして、シリアル・データは該メモリから読出されるときに接点17を通して送られる。カード接点17と填め合うソケット・ピン7に接続されているライン27は、該ソケットのシリアル・データ(“DAT”)ラインである。これらの2つのライン22および27は、ソケット・ピン5を通してカード接点15と接続されているクロック信号入力ライン25と共に、ホスト・コンピュータとの、またはカード10内のメモリ・システムを動作させるための他の装置とのインタフェースを提供する。3つのカード接点13,14および16は、ホスト・システムまたは装置から動作電圧を受け取り、それぞれのソケット・ピン3,4および6を通して外部ライン23(“Vss”)、24(“Vdd”)および26(“Vss2 ”)に接続されている。カード接点11、従って、ソケット・ピン1およびライン21は、使用されないけれども、考えられる将来の使用のために包含された。
【0017】
各MMCカード10内のメモリおよびコントローラ・システムの関連する部分が図2に示されている。フラッシュEEPROMセルのアレイ31は、デジタル・データの不揮発性蓄積を提供する。コントローラ33は、アレイ31の動作を管理すると共にカード接点12〜17を通してホスト・システムとインタフェースする。接点17を通して順次受け取られたデータは、レジスタ35に書込まれ、データ蓄積バッファ・メモリ36へ、バッファ36からコントローラ33へ、次にメモリ・セル・アレイ31へ並列に転送されてそこに蓄積される。逆に、メモリ・セル・アレイ31から読出されたデータは、コントローラ33によりバッファ36へ並列に、そしてバッファ36から並列にレジスタ35へ転送される。読出されたデータは次にカード接点17を通してレジスタ35の外へ順次転送される。
【0018】
同様に、ホストからのコマンドは、接点12を通して順次送られてレジスタ37に蓄積され、次にコントローラ33によって並列に読出される。状態情報は、コントローラ33によってレジスタ39に並列にロードされ、その後にカード接点12を通して順次読出される。従って、この様にして転送されるコマンドおよび応答のタイプは多数ある。例えば、もしホストがデータをアレイ31に書込みたいならば、それはCMDライン22を通して書込みコマンドを送り、次に、書込まれるべきデータがDATライン27を通して送られる。命令された書込み動作が完了した後、コントローラ33はその状態指示をレジスタ39に書込み、その後、ホストはその状態を読出してその命令された動作が完了していることを確認することができる。
【0019】
他の数個のレジスタがMMCカード10に設けられ、そのうちの3個が図2に示されている。メモリ・カード識別CIDレジスタ41は、ユーザにより書き直されることはできなくて、各カードに特有の識別子をホストに提供するために読出し専用である。相対カード・アドレス・レジスタRCA42は、マルチカード・システムにおいて初期化時にホストにより、そして該カードがシステムに追加されまたは交換されるときに、後に共通CMDライン22上のコマンドがそのカードへのものであるか否か判定するために各カードにより使用されるアドレスを書込まれる。相対アドレスは、特有のアドレスを持つ必要のあるシステム内のカードの数により、数ビットの長さであればよい。これは、CIDレジスタ41に蓄積される製造業者の特有の識別子より遙かに短いので、その使用はカードをアドレス指定する動作を高速化する。ホストからの各コマンドは該システム内の1つのカードのRCAレジスタ42に前もって書込まれてあった相対アドレスを伴い或いは包含しており、そのカードは応答して該コマンドを実行するが、他の相対アドレスがそのRCAレジスタ42に書込まれている該システムの他のカードは応答しない。
【0020】
カード特有データ・レジスタ43(“CSD”)は、データ・フォーマット、データ・アクセス特性についての情報と、特定のメモリ・アレイ31およびコントローラ33の類似情報とを包含する。このデータの殆どは、製造業者によって書込まれ、ユーザによって書き直されることはできない。CSDレジスタ・データは、システムのカードと通信するときにそのパラメータをセットするためにホストにより使用され、転送されるデータのフォーマット、そのデータがどの様にアクセスされるか、等の事柄を含んでいる。
【0021】
その様なメモリ・システムが図3に示されており、そこでは、パーソナルコンピュータ、手持ち式オーガナイザ、デジタルカメラ、オーディオ再生システム、或いは類似タイプの装置であることのできるホスト装置51は、ライン22〜27を介して、それぞれのMMCカード59,61および63を受け入れる複数のカード・ソケット53,55および57と接続されている。その様なマルチカード・システムはその様なソケットを少なくとも2つ、そしてしばしばそれよりもっと多くを、包含する。上述されたように、コマンドおよび応答は、システム内の各々のソケットのピン2と接続されている単一のCMDライン22を介して伝えられる。ソケットに挿入されたカード59,61または63のうちの1つのRCAレジスタ42(図2)に蓄積されている特有の相対アドレスは、それらのカードのうちの、該コマンドを受け取ってそれに対して作用するべき1つだけをアドレス指定するために、該コマンドと共にまたはその一部分として、ホスト51により送られる。同様に、データは、各々のソケットのピン7と接続されている単一のDATライン21を介してホストとカードとの間で転送される。定周波数クロック信号も単一のライン25を介してホストから各ソケットのピン5へ接続されている(図3には示されていない)。MMC仕様は、クロックが20メガヘルツまでであることを要求している。
【0022】
各カードのRCAレジスタ42に特有の相対アドレスを書込むためにホストにより現在使用されている手法は、何らかの相対アドレスが存在する前にホストがそれらを一度に一つアドレス指定することを可能にするために各カード内の回路構成を使用する。ホストは、各カードのCIDレジスタ41に永久的に書込まれているその製造業者の識別番号を一度に1ビットずつ読出すように各カードに命令する。各カードは、その識別コードの1ビットに従ってオープンドレイン回路を通して共通コマンドおよび応答ライン22の電圧に影響を及ぼす傾向がある。もしそのライン電圧が、読出されたビット値により生じさせられるであろうものとは違っているならば、カードは不活性状態に転換する。該カードのうちの1つだけが依然として接続されているとホストが判定したとき、それはコマンドおよび応答ライン22を通して特有の相対アドレスをそのカードのRCAレジスタ42に書込む。すると、このカードは自分自身をコマンドおよび応答ライン22から切り離し、そして該プロセスは、システム内のどのカードのCIDレジスタにも特有の相対アドレスが書込まれるまで、残っているカードのために続く。
【0023】
SDカードおよびシステムについての説明
複数のコマンド/応答ラインの使用
カードの内部回路構成を顕著に変更することを必要とせずに個々のアドレスを複数のカードに割り当てることを容易にする修正されたシステムが図4に示されており、ここで図1〜3のそれと共通のエレメントには同じ参照番号が与えられている。ホスト51’は、ホスト51(図3)と似ているけれども、メモリ・カードのコマンド/応答ラインと異なるようにインタフェースするコントローラ52を含む。各々のソケットのピン2に共通のコマンドおよび応答ラインが接続される代わりに、別々のライン71,73および75がそれぞれのソケット53,55および57のピン2に接続されている。別々のコマンド/応答ライン71,73および75の各々は、回路69内のホストからの制御信号に応答してコントローラ52の単一のコマンド/応答ライン67を個々のライン71,73および75の間で切り換えるスイッチング論理65の一出力である。スイッチング論理65の許容される接続が図5A〜Dに示されている。スイッチング論理65は、図5A〜Cに示されているように、個々のソケットのコマンド/応答ライン71,73または75のうちのいずれか1つをそれ自身によりライン67にそれぞれ接続させるべく選択することができる。これらの場合のいずれにおいても、信号は論理65を通してライン67とライン71,73,75等のうちの選択された1つとの間で両方向に進む。図5Dに示されているもう一つの接続では、ライン71,73,75等の全ては、ホストが全てのカード・ソケットにコマンドを同時に放送できるように、一緒にライン67に接続される。しかし、ホストがカードから応答を受け取るときには論理65は一度に唯一のカード・ソケットのコマンド/応答ラインだけがライン67に接続されることを好ましくは許す。もちろん、個々の3つのソケットのコマンド/応答ラインが示されているけれども、システムがカード・ソケットを2つだけ包含するならば2つのその様なラインが使用される。もしシステムが4つ以上のカード・ソケットを包含するならば、4つ以上のコマンド/応答ラインが、各ソケットに1つずつ、使用される。
【0024】
図4のシステムのソケットに挿入された各カードのRCAレジスタに特有の相対アドレスを書込むためにシステムによって実行されるステップが図6に示されている。このルーチンは、システムがパワーアップされるときまたはその他の方法で初期化されるときに実行される。それは、新しいカードがソケットに挿入されたときにも、そのカードに関してだけ、初期化後に実行される。カードが挿入されまたは取り外されるときにホストに警告するために独立のカード検出回路(図示せず)がホスト51’とカード・ソケット53,55および57(図4)の各々との間に接続される。
【0025】
初期化プロセスの第1のステップ77は、スイッチング論理65にコマンド/応答ライン71,73または75のうちの1つをライン67に接続させる。次のステップ79では、ホスト51’は、選択されたコマンド/応答ラインが接続されているソケットに挿入されたカードのCIDレジスタ41を読出す。このプロセスにおける目的はそのソケット内にカードが存在するか否か判定することであり、それはステップ81で行われるけれども、CIDは、ホストに読出されて、それが一般にはホストがそれと通信するために利用することのできる該カードに関する情報を包含しているので、蓄積される。もしそのソケットにおいてカードが検出されなければ、ステップ83により示されているように、論理65はコマンド/応答ライン71,73または75のうちの違う1つを選択するように切り換えられ、そしてステップ79および81は新たに選択されたコマンド/応答ラインが接続されているソケットの中にカードが存在するか否か判定するために反復される。
【0026】
アドレス指定されたソケット内にカードが検出されたとき、ホストは、ステップ84により示されているように、該カードから相対アドレスを要求する。これより前に、特定の実施形態では、アドレス指定されたカードは自分自身のアドレスを作ってそれをそのRCAレジスタに書込んでいる。そのとき、ホストは、アドレス指定されたソケットの中のカードからそのアドレスを読出し、そして、ステップ85により示されているように、その提案されたアドレスが前もって他のカードに割り当てられているか否かを調べるために、それが維持しているカード・アドレスのテーブルをチェックする。もしその提案されたアドレスが特有であると判定されたならば、それはそのカードのRCAレジスタにとどまり、そして、ホストは、ステップ86により示されているように、それを、それが維持しているカード・アドレスのテーブルにソケット番号に従って追加する。特定の例では、カードは、該カードに含まれている乱数発生器から32ビット・アドレスを作る。この多数のビットでは、特にほんの数枚のカードだけを有する普通のシステムでは、1つのカードが他のと同じアドレスを提案することはありそうもない。しかし、もしステップ85において前のアドレスとの衝突が存在すると判定されたならば、ホストは該カードにもう一つのアドレスを作らせてそのRCAレジスタに蓄積させ、そして自分自身でその新しいアドレスに関してステップ84および85を反復する。
【0027】
各カードがそれ自身のアドレスを作る代わりに、好ましくはないけれども、ホストは、一度に1つのカードをアドレス指定して多数の考えられるアドレスのうちの特有の1つをそのアドレス指定されたカードのRCAレジスタに書込むことによって各カードに特有の相対アドレスを割り当てることができる。
【0028】
アドレス割り当てプロセスが1つのカードについて完了した後、ステップ87により示されている次のステップ、論理65は次の個々のソケットと接続するようにインクリメントされるか(ステップ83)または、もし該プロセスが全てのソケットについて達成されているならば、論理65は、ステップ89により示されているように、図5Dに示されている状態に切り換えられる。ソケット53,55および57内の各カードのRCAレジスタに特有の相対アドレスが書込まれていることが確かめられた後、システムは全てのコマンド/応答ライン71,73および75を一緒に接続することによって図3に示されている状態に戻される。その後、ホストは、MMCシステムの場合と同じく全てのCMD1、CMD2、およびCMDnラインを介してシステム内の全てのカードに同時にコマンドを送るけれども、スイッチング論理65の性質の故に一度に唯一のカードから応答信号を受け取るように接続される。
【0029】
このシステムの利点は、初期化時に各カードを順番にアドレス指定させるためにMMCで使用される回路構成を無くすることによってSDカードを簡単にできることである。同時に、図4および5のシステムで現存するMMCカードを使用することもできる。それが望ましいときには、ホストは、各カードから読出されるCIDなどから、SDカードまたはMMCカードがそのシステムのソケットの各々に存するか否か知る。その後、ホストは、そのソケット内のカードに適する通信プロトコルおよびルーチンを各ソケットに対して使用する。アドレス割り当てルーチンとカード・リセット動作とは、例えば、他のシーケンスと同じく、異なっている。SDカードのクロック・レートは、25メガヘルツまで、高くされることができるので、ホストは、もし1つがシステムで使われているならば、MMCカードのもっと低いクロック・レートを選ぶ。ホストが両方のタイプのカードで動作する能力を備えているときには、ユーザはシステムのソケットのうちの1つに挿入されるメモリ・カードが新しいSDカードであるのか現存するMMCカードであるのか区別する必要はない。
【0030】
図4および5のシステムの個々のソケットのコマンド/応答ラインは、今MMCシステムで行われているように相対アドレスをコマンドと共にまたはその一部分として含ませる代わりに全てのコマンドを個々のソケットに向けるために使用されることもできるけれども、その場合にはその新しいシステムはMMCカードとは両立しなくて、ホストが各々のタイプのカードと極めて異なるように通信することを必要とする。
【0031】
新しいSDカードのシステムのもう一つの利点は、与えられたアドレスのカードが挿入されているソケットをホストが知ることである。その理由は、そのソケットへのCMDラインがアクティブである間に該アドレスがカードのRCAレジスタにロードされることである。このことは、1つのカードが交換され或いは新しいカードが追加されたという事態を処理することを容易にする。SDカードでは、新しいカードだけがその初期化の一部分としてアドレスを割り当ててもらう必要がある。MMCシステムでは、唯一のCMDラインが存在するので、ホストは特定のカードが挿入されたソケットを知ることができない。MMCシステムへのカードの置換または追加は、システム内の全てのカードを初期化することを必要にし、従って、システムが動作を継続できる前に遅延を生じさせる。
【0032】
選択できるデータ・バス幅
本発明の第2の局面が図7〜12に示されており、そこに新しいSDカードのデータ転送の特徴が記述されている。ホストと個々のカードとの間でデータが転送される速度は、それを介してデータが同時に転送される各カード・ソケットに接続されるデータ・ラインの数を増やすことによって高められる。この例では、4つのデータ・ラインが示されており、それはデータ転送の速度を4まで高めるのに役立つ。データはホストとMMCカードとの間で複数のデータ・ラインのうちの1つだけを介して転送される。SDカードの特定の実施形態では一度に使用されるデータ・ラインの数は1または4である。
【0033】
SDカード90と填め合いソケット100とが図7に示されている。図4〜6に関連して上述した本発明の第1の局面は図1のMMCカード10と同じ数の接点を有するカードで実施されても良いけれども、本発明のこの局面は、増大された数の電気接点をSDカードに持たせる。SDカード90は図1のMMCカード10と同じ接点11〜17を同じ相対位置に有するけれども、データの伝送のために追加された2つの新しい接点91および92も有する。MMCカードの予備接点11も今はSDカードによってデータ転送のために使用される。従って、4つの接点11,17,91および92がSDカードによってカード90内のメモリへデータを転送し、又、該メモリから外へデータを転送するために使用される。填め合いソケット100(図7)は同様に、図1のソケット20と同じピン1〜7に加えて2つの追加のピン8および9を有する。その結果として、各カード・ソケットに4つのデータ・ライン27(ピン7)、101(ピン8)、102(ピン9)、および21(ピン1)が接続される。
【0034】
修正されたシステムが図8に示されており、そこではホスト51”は、2つ以上のデータ・ラインを介して、ソケット100(図7)の構造をそれぞれ有する複数のソケット104,106および108の各々に同時にデータを転送することを可能にするように修正されている。4つのデータ・ライン21,27,101および102は該ソケットの各々およびマルチプレクサ105にスイッチング論理回路110,111,112および113を通して共通に接続されている。ソケット106〜108のうちの1つに挿入されたカードに蓄積されるべきライン107のデータの単一のストリームは、該マルチプレクサにより、ライン109のホスト・コントローラ52’からの制御信号に応答して、4つのスイッチング論理回路110〜113の間で時間順時に交互に切り換えられる。同様に、データがカードから読出されるときには、マルチプレクサ105が回路110〜113の間で切り替わることにより、その様な単一のデータ・ストリームがライン107で組み立てられる。
【0035】
スイッチング論理回路110〜113のうちの1つがカード・ソケットに接続されている複数のデータ・ラインの各々のために設けられている。即ち、回路110がデータ・ラインDAT0のために、回路111がデータ・ラインDAT1のために、回路112がデータ・ラインDAT2のために、そして回路113がデータ・ラインDAT3のために設けられている。それらはホスト・コントローラ52’へのライン114上の信号によって制御される。複数のソケット104,106および108のうちのいずれか1つに存するカードへの書込み動作の間、スイッチング論理回路110〜113の各々の4つの出力は全てその入力に接続されている。従って、書込まれるべきデータは全てのソケットへ放送される。しかし、カードのうちの1つからデータが読出されるときには、回路110〜113の各々は、読まれるメモリ・カードが挿入されているソケットに接続されている出力ラインだけを入力ラインに接続するように切り換えられる。
【0036】
複数のデータ・ラインを収容するために、図2のデータ・レジスタ35およびその動作は、特定の例において、図9および10A〜Eに示されているように、SDカードにおいて修正される。書込み中、ホスト・コントローラ52’(図8)はライン107に単一のデータ・ストリームを生じさせる。その様なストリームが図10Aに示されており、そこでは文字A、B、C等は各々1つのデータ・ビットを表す。マルチプレクサ105は、論理回路110〜113を一度に一つずつライン107に1ビットだけの転送のために順次接続する。これは、メモリ・カードが4つのデータ接点を持っていて、従って、4つのデータ・ラインDAT0、DAT1、DAT2、およびDAT3の全てが使用される場合について図10Bに示されている。マルチプレクサ105は、データ・ラインDAT0を介して第1ビットAを、データ・ラインDAT1を介して第2ビットBを、データ・ラインDAT2を介して第3ビットCを、DAT3を介して第4ビットDを送り、次に再び開始してビットEをデータ・ラインDAT0に送る、等々。これら4つのデータ・ストリームは、データ・レジスタ35’によって受け取られて、図10Aのデータ・シーケンスに組み立て直され、それは次に回路38’を通して並列に図2のバッファ36のようなデータ・バッファへ転送される。各々のシリアル・データ・ストリームは、そのビットをそのブロックのデータから計算された巡回冗長検査(“CRC”)ビットも各々含むブロックに蓄積することにより好ましくはそのそれぞれのデータ・ラインを介して送られる。各ブロックは、特定の例では、スタート・ビットと、その次のデータと、その次のCRCおよび次のストップ・ビットとを含む。
【0037】
どのデータ・ラインのデータ転送速度も限られているけれども、複数のデータ・ラインを介するデータの同時転送は、おおよそデータ・ラインの数に等しい倍数だけその速度を高める。例えば、2つのデータ・ラインが使用されるならば、図10Aのそれの2分の1の速度を有する図10Cに示されているデータ・ストリームがライン107で供給される。そのとき、マルチプレクサ105はこのストリームをデータ・ラインDAT0およびDAT1の間で切り換え、その結果は図10Dに示されているデータ・ストリームとなる。アドレス指定されたカード内のデータ・レジスタ35’は、その2つのストリームDAT0およびDAT1を図10Cのそれに組み立て直し、そのデータをライン38’を介して並列に転送する。データ・ラインが1つだけ使用されるならば、マルチプレクサ105は依然としてDAT0等の単一のデータ・ラインと接続され、それを介して、減少したデータ転送速度を有するライン107のデータ・ストリームが図10Eに示されているように向けられる。
【0038】
逆に、データがメモリから読出されるときには、データは、レジスタ35’に並列にロードされ、使用されるデータ・ラインの数に応じて、図10B、10Dまたは10Eに示されているフォーマットのうちの1つでデータ・ラインを介して送られる。該データ・ラインのうちの2つ以上を介してデータが送られるならば、使用されるデータ・ラインの数に応じて、結果として図10A、10Cまたは10Eのうちの1つのそれに対応するライン107のデータ・ストリームを生じさせるために、マルチプレクサ105は使用されるデータ・ラインをあちらこちらに切り換える。
【0039】
図8のシステムは、1つ、2つまたは該システムに設けられているデータ・ラインの数(この例では4つのその様なライン)までの他の任意の数である変化する数のデータ・ライン接点を有するカードを受け入れることができると共に、該システムにおいてその様なカードを自由に混ぜ合わせたり交換したりできることが望ましい。或るアプリケーションについては、システムのデータ・ラインの数(この場合には4)により与えられる高いデータ転送速度は不要である。それらのアプリケーションについては、SDカードの1つのバージョンは、もっと少ない数のデータ・ピンを有するように作られる。それに伴ってカード内のインタフェース回路構成の量も減少し、従って、カードのコストが減少する。1つだけを有するのと同じく、2つのアクティブなデータ・ピンを有するカードが有益である。
【0040】
同じシステムでいろいろな数のデータ・ラインを有するカードを使えるように、ホストがどれだけの数のデータ・ラインを介してそのカードと通信できるかを判定するためにホストにより読出される読出し専用フィールドを個々のカードに設けるのが好ましい。特定の実施形態では、これは、MMCカードについて図2に示されているレジスタに付加されるSDカード構成レジスタ(“SCR”)に含まれる。ホスト51”は、パワーアップ時に、他の何らかのときの初期化のときに或いは新しいカードがソケットに挿入される毎に、このフィールドを読出し、その後にアドレス指定されたデータを該カードが収容できる数のデータ・ラインを介して各カードへ転送する。追加される各データ・ラインのために必要な追加の回路構成を設けるためには何らかのコストが必要なので、或るカードは少数のデータ・ラインで働くように設計される。逆に、ホストは、可能な数より少ない数のデータ・ラインで動作するように設計されることができる。特定のアプリケーションについてデータ転送の追加される速度が不要であるならば、カードにおいてもホスト・システムにおいても高いデータ転送速度を与えるために追加される複雑さおよびコストを避けることができる。
【0041】
ホストと1つ以上のメモリ・カードとの間のデータ・バスの幅を動的に選択できるということの結果として、それとシステムに挿入されたメモリ・カードとの間のデータ転送速度を最大にすることができる。データ・ストリームを複数のデータ・ラインに分配する他の手法も確かに可能であるけれども、上述すると共に図10A〜10Eに示されている手法は、ホストをいろいろなデータ・バス幅を有するカードに適合させるために、カードが交換されまたは追加されるときに動的にその様にするために、そして個々のカードの最大数のデータ・ラインを用いることによって種々のバス幅を有するカードの混合物のうちの各々と通信するためにも、好ましい。もう一つの手法は、複数の連続したデータ・ビットを各データ・ラインに沿って交互に送ることである。しかし、これはパケット等の跡をたどるために何らかのオーバヘッドを必要とする。特にいろいろな数のデータ・ラインを有するカードにシステムが順応する必要があるときに、上述したように、複数の並列データ経路を通して1つのデータ・ストリームの連続したビットを一度に1ビットずつ交互にするのがもっと簡単である。実際、このデータ転送手法は、ここで説明されるメモリ・システム以外の他のアプリケーションも有する。
【0042】
図11のフローチャートは、図7〜10Eのメモリ・システムを動作させる方法の1つの局面を示しており、ここでホスト51”は2つ以上のソケット104,106および108に挿入された各カードがそれで動作するように設計されているところのデータ・ラインの数を確かめる。第1のステップ121において、ホストは、既にそのRCAレジスタ42(図2)に書込まれている該カードの相対アドレスによりコマンド/応答ライン22を介して該カードのうちの1つをアドレス指定する。次に、ステップ125において、該カードのためのデータ・ラインの数がホストによってそのSCRレジスタから読出される。この数は、ステップ125により示されているように、好ましくはテーブルの形でホストにより蓄積される。システムのソケット内の全てのカードが読まれたならば、プロセスは終了するけれども、もしそうでなければ、ステップ129はシステムの該カードのうちの他のをアドレス指定し、この他のカードについてステップ123および125が反復される。
【0043】
図12は、ホスト51”がシステム内のカードのためのデータ・ラインの数についての蓄積されているデータをどの様に使うかを示している。ステップ131により示されているように、特定のカード・ソケットがホストによりアドレス指定される毎に、ホストは、図11のプロセスにより作成された内部テーブルからそのカードのためのデータ・ラインの数を読出す。これはステップ133により示されている。次に、ホストは、ステップ135により示されているように、そのテーブルから読出された4つのデータ・ラインDAT0、DAT1、DAT2およびDAT3の数に関するデータをマルチプレクサ105により転送させる。次のステップ137において、データは、その数のデータ・ラインを介して該カードへまたは該カードから、転送される。特定の例において、データ・ラインを1つだけ有するカードの場合には、ホストは好ましくはライン27(DAT0)を介して該カードとデータを転送するが、その理由としては、それがMMC製品と同じカード接点17を利用することによってシステムをMMCカードと両立させることにあるからである。MMCカードは図8〜10EのシステムにおいてSDカードと同じように使用されることができる。ホストは、該カードがMMCカードであるのかSDカードであるのかを判定し、そしてもしSDカードであるならば、それが使用するデータ・ラインの数と、システムが効率よく動作することを可能にする該カードに関する他の情報とを判定するために、初期化中は好ましくはDAT0ラインだけを介して各カードと通信する。
【0044】
図8のシステムは、MMC設計による単一のコマンド/応答ライン22(図示せず)または図4〜6に関連して上述した複数のコマンド/応答ライン・システムのいずれかを使用することができる。この選択はカードの構造や回路構成に影響を及ぼさない。
【0045】
本発明の種々の局面がその特定の実施形態に関連して説明してきたけれども、本発明が添付されている請求項の最大の範囲内で保護を受ける権利があることが理解されるであろう。特に、本発明は特定の数のデータ・ラインやメモリ・カードを有するシステムには限定されず、上記の記述で使用された数は例証の目的のために選択されたに過ぎない。
【技術分野】
【0001】
本発明は、電子回路カードと、ホスト装置に配線される1つ以上のカード・ソケットを有するシステムにおけるそれらの使用とに関し、特に、フラッシュEEPROM(電気的に消去可能でプログラマ可能なリード・オンリー・メモリ)等のかなりの量の書き直し可能な不揮発性メモリを包含する小型カプセル入りカードおよびそれらが並列カード・ソケットに取り外し可能に挿入されたときに動作するシステムに関する。
【背景技術】
【0002】
パーソナルコンピュータ、ノートブック型コンピュータ、パーソナルエレクトロニックアシスタント、セルラー電話機、カメラおよびその他の取り外しできるデータ記憶装置を必要とする電子装置からの数メガバイトのデータを蓄積するために不揮発性半導体フラッシュEEPROMシステムを包含する小型カードが普及している。その様なメモリ・カードのアプリケーションは急速に増えつつあり、現在はインターネットからダウンロードされた音楽を蓄積するために使用されている。音楽データは、普通は、良く知られているMP−3アルゴリズムによるなどして圧縮された形でインターネットを介して伝送され、後にアナログ演奏装置で解凍され再生されるようにカード上にその圧縮された形で蓄積される。メモリ・カード・スロット(ソケット)を有する非常に小型の電池給電式携帯用プレーヤーが普及し始めている。インターネットの帯域幅およびそれへの接続が増大し、メモリ・カードの記憶容量が増大し、そしてデータ圧縮アルゴリズムの効率が向上するので将来はビデオおよびその他の大容量データを蓄積したり転送したりするのにその様なカードを用いるようになるであろう。
【0003】
これらのおよびその他のアプリケーションに特に適するカードは、長さが32ミリメートル、幅が24ミリメートル、そして厚さが1.4ミリメートルに過ぎないマルチメディアカード(“MMC”)である。MMCのための物理的および電気的仕様は、カリフォルニア州クパチーノのマルチメディアカード協会(MultiMediaCard Association(“MMCA”))により随時更新され刊行される“マルチメディアカード・システム仕様”において与えられている。この仕様の、それぞれ1999年6月付けおよび2000年1月付けのバージョン2.11版および2.2版は、この言及によりここに明確に取り入れられている。単一のカードで64メガバイトにおよぶいろいろな記憶容量を有するMMC製品が、本願の譲受人であるカリフォルニア州サニーベールのサンディスク コーポレーションから現在入手できる。それらの製品は、サンディスク コーポレーションにより刊行された2000年4月付けの“マルチメディアカード製品マニュアル”改訂2版に記載されており、このマニュアルはこの言及によりここに明確に取り入れられる。該MMC製品の電気的動作の一定の局面も、共に1998年11月4日に出願され、サンディスク コーポレーションに譲渡された、トーマス N.トゥームおよびミッキー・ホルツマンの同時係属出願中の米国特許出願第09/185,649号(特許文献1)および第09/186,064号(特許文献2)に記載されている。物理的なカード構造およびその製造方法が、サンディスク コーポレーションに譲渡された米国特許第6,040,622号(特許文献3)に記載されている。これらの両方の特許出願および特許もこの言及によりここに明確に取り入れられる。
【0004】
MMC製品は、1つはデータの転送のため、1つはコマンドを受け取って応答(状態指示)を送るため、1つはクロック信号を受け取るため、そして3つは電力を受け取るため、合計6つの電気接点だけを使用するシリアル・インタフェースを有する。将来の使用のために1つの予備の接点が含まれている。少数の接点は、ホスト・システム、特に携帯用のもの、との該カードの使用を簡単にすると共に、該カードのサイズを小さくすることを可能にする。もちろん、種々のフォーマットを有する他のもっと大きなメモリ・カードで行われているように複数の接点を通して並列にデータを転送するのとは対照的に、該カードへそして該カードからデータを転送できる速度は単一のデータ接点の使用によって与えられたクロック周波数については限られている。ホスト・システムは、しばしば、2つ以上のMMC製品を同時に使用するために2つ以上のソケットを提供する。複数の挿入されたメモリ・カードの全てのデータ接点は1つのラインによってホスト・プロセッサに接続され、全てのコマンド/応答接点は同様にホスト・プロセッサに1つのラインによって接続され、そしてカードの全てのクロック接点は一緒に共通のクロック源に接続される。
【0005】
ホストは、システム初期化ルーチンの一部として、複数のシステム・ソケットに挿入されたどのカードにも特有のアドレスを割り当てることを要求される。特有のカード識別(“CID”)番号がその製造業者によって、それがホストにより読出され得るように、各カードのレジスタに蓄積されるが、その番号は非常に大きなバイナリー・サイズを有する。カードのアドレスは各コマンドに先行するか、或いは、例えば、単一のコマンド/応答ラインを介して全てのカードに送られる他のアーギュメントに含まれるので、非常に大きなアドレスの使用は複数のカード・システムの動作を顕著に遅くすることがある。典型的なシステムで使用されるほんの数個のカードをアドレス指定するために長い製造業者識別子の伝送は不要である。例えば、2つのカードをアドレス指定するには1ビットが、4つまでのカードには2ビットが、必要であるに過ぎない。従って、初期化時に、小さな相対カード・アドレスが、相対カード・アドレス・レジスタ(“RCA”)と称される、この目的のために設けられている内部カード・レジスタに書込まれる。
【0006】
ホストが最初に各カードをアドレス指定してその様なアドレスを割り当てることができるように、ホストは、全てのカードからのビットの組み合わせが1つのカードを除いて他の全てのカードが不活性となるという結果を与えるまで、システムの全てのカードにそれらの製造業者識別コードを1ビットずつ同時に送るように命じる。その後、相対アドレスがホストにより、その残っている1つのカードのRCAに書込まれ、その後、このプロセスは、どのカードにも特有の小さなアドレスが与えられるまで、残っているカードのために反復される。これらのアドレスは、後にホストがシステム内の該カードに個別にアクセスするためにホストにより使用される。この初期化手法はシーメンス・アクチエンゲゼルシャフトの特許協力条約(“PCT”)国際公開第WO97/38370号(特許文献4)にさらに開示されており、この公開公報はこの言及によりここに明確に取り入れられる。
【0007】
128メガバイトの単一カード・データ記憶容量を有するMMC製品が近い将来に市販されると期待されている。この大容量およびそれ以上が、MMC製品より大きな他のフラッシュEEPROMカードで現在市販されている。現在のMP3圧縮アルゴリズムを使用して、1時間以上の音楽を1つの128メガバイト・カードに蓄積することができる。そして、その様なカードの記憶容量がさらに増大するにつれて、且つ/または圧縮アルゴリズムがデータ・ファイルのサイズをさらに小さくするにつれて、もっと長い時間の音楽やその他のタイプのディジタル・データを個々のカードに蓄積することができるようになる。小型の不揮発性メモリ・カードを使用する種々の方法が考慮されているので、それらの構造およびインターネットでの使用、並びに単一のカード・ソケットを有するホスト・システムおよび2つ以上のソケットを持っていて2つ以上のメモリ・カードを同時に利用するホストでのそれらの使用の柔軟性および効率性を最大にすることが望ましい。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】米国特許出願第09/185,649号
【特許文献2】米国特許出願第09/186,064号
【特許文献3】米国特許第6,040,622号
【特許文献4】国際公開第WO97/38370号
【発明の概要】
【0009】
新しい不揮発性メモリ・カードが開発されており、それは、他の改良事項の中でも、カードとのデータ転送速度を増大させる電気接点を追加すると共にシステムの複数のカードの各々に相対アドレスを割り当てる方法を変更する。この新しい製品はセキュア・ディジタル(“SD”)メモリ・カードと称され、本発明のいろいろな局面を具現化するカードの具体的な例である。SDカードのサイズおよび形状は平面図ではMMCと同じにされるのが好ましいけれども、SDカードの厚さは、MMCと同じ1.4ミリメートルであっても良いし、或いはMMCのそれより大きくされても良く、一例は2.1ミリメートルでSDカードの外部接点は僅かにへこまされる。SDカードは追加の外部電気接点を包含するけれども、SDカードを受け入れるように設計されているソケットがMMCカードも受け入れるようにするために他の接点の位置はMMCカードのそれと同じである。SDカードとの電気的インタフェースは、両方のタイプのカードを収容するためにホストの動作に変更を殆ど加えなくて済むようにするために、さらに、上記で参考として引用されたその仕様のバージョン2.11に記載されているMMC製品と、大体、後戻り両立するようにされる。
【0010】
本発明の一つの局面に従って、ホスト・システムとカードとは、複数のSDカード、または同様のホスト・インタフェースを有する他の電子回路カードの各々に、今MMC製品のために必要な時間より短い時間で相対アドレスを割り当てさせるように、修正される。具体的には、別のコマンド/応答ラインがホストとシステムのカード・ソケットの各々との間に接続される。ホストは、システム初期化時に、カードの個々のコマンド/応答ラインを介してホストと各カードとの間の通信によりカードへの特有の相対アドレスの割り当てを制御する。しかし、この初期化後に、ソケットのコマンド/応答ラインの全ては互いに接続されて、ホストはMMCと同じように単一のコマンド/応答ラインを通して全てのカードと通信する。従って、MMCは、初期化後のその動作のこの局面においては依然としてSDカードと両立する。MMC製品のコマンド/応答接点に接続されているオープンドレイン回路を無くすことによってSDカードは簡単化される。この新手法の一時性は、全てのカード・ソケットが単一の共通コマンド/応答ラインに配線で接続されているシステムを、該共通コマンド/応答ラインを介して個々のカードとの通信のためにホストによって後に使用される相対アドレスで各カードを初期化する限られた目的のために固定通信システムに改造する。チップ選択ラインを各ソケットに付け加えることなどによってカードを個別にアドレス指定する他の手法は、SDカードと、それらとのホスト・インタフェースとに対する更なる修正を必要とするので、MMC製品は修正されたシステムでは使用され得ない。
【0011】
本発明のもう一つの局面に従って、SDカードは、MMC製品で使用される単一のデータ接点の代わりに、2つ以上のデータ接点を有する。そのとき、ホストとアドレス指定されたカードとの間で同時に2ビット以上のデータを転送するためにホスト・プロセッサと各カード・ソケットとの間に2つ以上のデータ・ラインが包含される。ホストにより読出し可能な情報が、そのカードのデータ接点の数を示すために、各カードに永久的に蓄積される。このとき、ホストは、それとそのカードとの間で該カードが支援する全ての利用可能なデータ・ラインを通してデータを転送するように適応する。ホストはいろいろな数の共通する複数のデータ・ラインを介して自分自身といろいろなカードとの間でデータを転送できるので、複数のカード・システムのカードが全て同じ数のデータ接点を持つ必要はない。修正されたシステムは、複数のデータ・ラインのうちの1つだけを介してデータを転送することにより、現存するMMC製品で動作することができる。異なる数のデータ接点を有するカードを入れ替えることができ、また、ホストは、その特性を読出して、そのカードが接続された該システムのデータ・ラインの全てを介するデータ転送を構成することによりその新しいカードに順応するので、本発明のこの局面は単一カード・ソケットを有するシステムにも応用されることができる。
【0012】
本発明の別の局面に従って、一度に1ビット等の一定数の連続するデータ・ビットを複数のデータ・ラインの各々を通して順次交互に向け、その後にその複数のラインからのデータ・ストリームを該複数のラインからのデータ・ビットの逆結合を実行することによって復元することによって、1ビット幅ストリームなどのシリアル・データ・ストリームが2つ以上のデータ経路(ライン)を通して並列に伝送される。変動する数のデータ・ラインに適応することが必要であるとき、特にカード上のデータ・ピンの数(1本から何らかの倍数、例えば4本まで、変動することのある数)に等しい数のデータ・ラインを介してホストと特定のメモリ・カードとの間でデータが伝送されるとき、この手法は有益である。1つの特定の実施形態では、ホストは、アドレス指定されたカード内のレジスタからホストとそのカードとの間でデータの伝送が始まる前にその数を読出すことによって、データ・ラインの数に適応する。
【0013】
上述した局面の各々を単独で利用することもでき、或いは改良された電子カード・システムにおいてそれらを組み合わせることもできる。本発明は、ホストと複数のメモリ・カードとの間のシリアル通信とそれらの間での固定通信とを、それらの間のシリアル通信だけを使用する既存システムとの両立性を維持しながら、システムの性能および柔軟性を改良する形態で組み合わせることを含む。
【0014】
本発明の付加的な特徴および利点は、その特定の実施形態についての以下の説明に包含されており、この説明は添付図面と関連させて考慮されるべきである。
【図面の簡単な説明】
【0015】
【図1】現存するMMCカードと、該カードが挿入されるソケットとを示す。
【図2】図1の現存するMMCカードの略ブロック図である。
【図3】図1および2に示されている複数のMMCカードおよびソケットを利用する現存するメモリ・システムを示す。
【図4】本発明の第1の局面に従って、複数のコマンド/応答ラインが接続されている複数のメモリ・カード・ソケットを利用するメモリ・システムを示す。
【図5A】図4のシステムのスイッチング・エレメントの操作可能な状態を示す。
【図5B】図4のシステムのスイッチング・エレメントの操作可能な状態を示す。
【図5C】図4のシステムのスイッチング・エレメントの操作可能な状態を示す。
【図5D】図4のシステムのスイッチング・エレメントの操作可能な状態を示す。
【図6】図4および5A〜Dのメモリ・システムの動作を示す流れ図である。
【図7】本発明の第2の局面に従って、メモリ・カードと該カードが挿入されるソケットとを示す。
【図8】図7に示されているタイプの複数のメモリ・カード・ソケットを利用すると共にそれらに接続されている複数のデータ・ラインを有するメモリ・システムを示す。
【図9】図7に示されているメモリ・カードで使用される図2のMMCカードの略図の1エレメントに対する修正を示す。
【図10A】図8のメモリ・システムを通るデータの流れを示す。
【図10B】図8のメモリ・システムを通るデータの流れを示す。
【図10C】図8のメモリ・システムを通るデータの流れを示す。
【図10D】図8のメモリ・システムを通るデータの流れを示す。
【図10E】図8のメモリ・システムを通るデータの流れを示す。
【図11】図7〜9のメモリ・システムの動作の一つの局面を示す流れ図である。
【図12】図7〜9のメモリ・システムの動作のもう一つの局面を示す流れ図である。
【発明を実施するための形態】
【0016】
MMC製品およびシステムについての説明
図1を参照すると、上述の従来の技術の欄で説明されたタイプの現存するMMCカード10はソケット20のスロット19に挿入可能である。カード10は、該カードの表面においてその短いエッジのうちの1つに沿って延在する7つの電気接点11〜17の列を包含している。ソケット20は、それぞれのライン21〜27に接続されている7つの填め合い接点ピン1〜7を包含している。カード接点12は、ホストからコマンド信号を順次受け取って応答(状態信号)をホストに順次送る。従って、填め合いソケット・ピン2はコマンド/応答(“CMD”)ライン22と接続されている。シリアル・データはその不揮発性メモリに蓄積されるべくカード接点17を通して受信され、そして、シリアル・データは該メモリから読出されるときに接点17を通して送られる。カード接点17と填め合うソケット・ピン7に接続されているライン27は、該ソケットのシリアル・データ(“DAT”)ラインである。これらの2つのライン22および27は、ソケット・ピン5を通してカード接点15と接続されているクロック信号入力ライン25と共に、ホスト・コンピュータとの、またはカード10内のメモリ・システムを動作させるための他の装置とのインタフェースを提供する。3つのカード接点13,14および16は、ホスト・システムまたは装置から動作電圧を受け取り、それぞれのソケット・ピン3,4および6を通して外部ライン23(“Vss”)、24(“Vdd”)および26(“Vss2 ”)に接続されている。カード接点11、従って、ソケット・ピン1およびライン21は、使用されないけれども、考えられる将来の使用のために包含された。
【0017】
各MMCカード10内のメモリおよびコントローラ・システムの関連する部分が図2に示されている。フラッシュEEPROMセルのアレイ31は、デジタル・データの不揮発性蓄積を提供する。コントローラ33は、アレイ31の動作を管理すると共にカード接点12〜17を通してホスト・システムとインタフェースする。接点17を通して順次受け取られたデータは、レジスタ35に書込まれ、データ蓄積バッファ・メモリ36へ、バッファ36からコントローラ33へ、次にメモリ・セル・アレイ31へ並列に転送されてそこに蓄積される。逆に、メモリ・セル・アレイ31から読出されたデータは、コントローラ33によりバッファ36へ並列に、そしてバッファ36から並列にレジスタ35へ転送される。読出されたデータは次にカード接点17を通してレジスタ35の外へ順次転送される。
【0018】
同様に、ホストからのコマンドは、接点12を通して順次送られてレジスタ37に蓄積され、次にコントローラ33によって並列に読出される。状態情報は、コントローラ33によってレジスタ39に並列にロードされ、その後にカード接点12を通して順次読出される。従って、この様にして転送されるコマンドおよび応答のタイプは多数ある。例えば、もしホストがデータをアレイ31に書込みたいならば、それはCMDライン22を通して書込みコマンドを送り、次に、書込まれるべきデータがDATライン27を通して送られる。命令された書込み動作が完了した後、コントローラ33はその状態指示をレジスタ39に書込み、その後、ホストはその状態を読出してその命令された動作が完了していることを確認することができる。
【0019】
他の数個のレジスタがMMCカード10に設けられ、そのうちの3個が図2に示されている。メモリ・カード識別CIDレジスタ41は、ユーザにより書き直されることはできなくて、各カードに特有の識別子をホストに提供するために読出し専用である。相対カード・アドレス・レジスタRCA42は、マルチカード・システムにおいて初期化時にホストにより、そして該カードがシステムに追加されまたは交換されるときに、後に共通CMDライン22上のコマンドがそのカードへのものであるか否か判定するために各カードにより使用されるアドレスを書込まれる。相対アドレスは、特有のアドレスを持つ必要のあるシステム内のカードの数により、数ビットの長さであればよい。これは、CIDレジスタ41に蓄積される製造業者の特有の識別子より遙かに短いので、その使用はカードをアドレス指定する動作を高速化する。ホストからの各コマンドは該システム内の1つのカードのRCAレジスタ42に前もって書込まれてあった相対アドレスを伴い或いは包含しており、そのカードは応答して該コマンドを実行するが、他の相対アドレスがそのRCAレジスタ42に書込まれている該システムの他のカードは応答しない。
【0020】
カード特有データ・レジスタ43(“CSD”)は、データ・フォーマット、データ・アクセス特性についての情報と、特定のメモリ・アレイ31およびコントローラ33の類似情報とを包含する。このデータの殆どは、製造業者によって書込まれ、ユーザによって書き直されることはできない。CSDレジスタ・データは、システムのカードと通信するときにそのパラメータをセットするためにホストにより使用され、転送されるデータのフォーマット、そのデータがどの様にアクセスされるか、等の事柄を含んでいる。
【0021】
その様なメモリ・システムが図3に示されており、そこでは、パーソナルコンピュータ、手持ち式オーガナイザ、デジタルカメラ、オーディオ再生システム、或いは類似タイプの装置であることのできるホスト装置51は、ライン22〜27を介して、それぞれのMMCカード59,61および63を受け入れる複数のカード・ソケット53,55および57と接続されている。その様なマルチカード・システムはその様なソケットを少なくとも2つ、そしてしばしばそれよりもっと多くを、包含する。上述されたように、コマンドおよび応答は、システム内の各々のソケットのピン2と接続されている単一のCMDライン22を介して伝えられる。ソケットに挿入されたカード59,61または63のうちの1つのRCAレジスタ42(図2)に蓄積されている特有の相対アドレスは、それらのカードのうちの、該コマンドを受け取ってそれに対して作用するべき1つだけをアドレス指定するために、該コマンドと共にまたはその一部分として、ホスト51により送られる。同様に、データは、各々のソケットのピン7と接続されている単一のDATライン21を介してホストとカードとの間で転送される。定周波数クロック信号も単一のライン25を介してホストから各ソケットのピン5へ接続されている(図3には示されていない)。MMC仕様は、クロックが20メガヘルツまでであることを要求している。
【0022】
各カードのRCAレジスタ42に特有の相対アドレスを書込むためにホストにより現在使用されている手法は、何らかの相対アドレスが存在する前にホストがそれらを一度に一つアドレス指定することを可能にするために各カード内の回路構成を使用する。ホストは、各カードのCIDレジスタ41に永久的に書込まれているその製造業者の識別番号を一度に1ビットずつ読出すように各カードに命令する。各カードは、その識別コードの1ビットに従ってオープンドレイン回路を通して共通コマンドおよび応答ライン22の電圧に影響を及ぼす傾向がある。もしそのライン電圧が、読出されたビット値により生じさせられるであろうものとは違っているならば、カードは不活性状態に転換する。該カードのうちの1つだけが依然として接続されているとホストが判定したとき、それはコマンドおよび応答ライン22を通して特有の相対アドレスをそのカードのRCAレジスタ42に書込む。すると、このカードは自分自身をコマンドおよび応答ライン22から切り離し、そして該プロセスは、システム内のどのカードのCIDレジスタにも特有の相対アドレスが書込まれるまで、残っているカードのために続く。
【0023】
SDカードおよびシステムについての説明
複数のコマンド/応答ラインの使用
カードの内部回路構成を顕著に変更することを必要とせずに個々のアドレスを複数のカードに割り当てることを容易にする修正されたシステムが図4に示されており、ここで図1〜3のそれと共通のエレメントには同じ参照番号が与えられている。ホスト51’は、ホスト51(図3)と似ているけれども、メモリ・カードのコマンド/応答ラインと異なるようにインタフェースするコントローラ52を含む。各々のソケットのピン2に共通のコマンドおよび応答ラインが接続される代わりに、別々のライン71,73および75がそれぞれのソケット53,55および57のピン2に接続されている。別々のコマンド/応答ライン71,73および75の各々は、回路69内のホストからの制御信号に応答してコントローラ52の単一のコマンド/応答ライン67を個々のライン71,73および75の間で切り換えるスイッチング論理65の一出力である。スイッチング論理65の許容される接続が図5A〜Dに示されている。スイッチング論理65は、図5A〜Cに示されているように、個々のソケットのコマンド/応答ライン71,73または75のうちのいずれか1つをそれ自身によりライン67にそれぞれ接続させるべく選択することができる。これらの場合のいずれにおいても、信号は論理65を通してライン67とライン71,73,75等のうちの選択された1つとの間で両方向に進む。図5Dに示されているもう一つの接続では、ライン71,73,75等の全ては、ホストが全てのカード・ソケットにコマンドを同時に放送できるように、一緒にライン67に接続される。しかし、ホストがカードから応答を受け取るときには論理65は一度に唯一のカード・ソケットのコマンド/応答ラインだけがライン67に接続されることを好ましくは許す。もちろん、個々の3つのソケットのコマンド/応答ラインが示されているけれども、システムがカード・ソケットを2つだけ包含するならば2つのその様なラインが使用される。もしシステムが4つ以上のカード・ソケットを包含するならば、4つ以上のコマンド/応答ラインが、各ソケットに1つずつ、使用される。
【0024】
図4のシステムのソケットに挿入された各カードのRCAレジスタに特有の相対アドレスを書込むためにシステムによって実行されるステップが図6に示されている。このルーチンは、システムがパワーアップされるときまたはその他の方法で初期化されるときに実行される。それは、新しいカードがソケットに挿入されたときにも、そのカードに関してだけ、初期化後に実行される。カードが挿入されまたは取り外されるときにホストに警告するために独立のカード検出回路(図示せず)がホスト51’とカード・ソケット53,55および57(図4)の各々との間に接続される。
【0025】
初期化プロセスの第1のステップ77は、スイッチング論理65にコマンド/応答ライン71,73または75のうちの1つをライン67に接続させる。次のステップ79では、ホスト51’は、選択されたコマンド/応答ラインが接続されているソケットに挿入されたカードのCIDレジスタ41を読出す。このプロセスにおける目的はそのソケット内にカードが存在するか否か判定することであり、それはステップ81で行われるけれども、CIDは、ホストに読出されて、それが一般にはホストがそれと通信するために利用することのできる該カードに関する情報を包含しているので、蓄積される。もしそのソケットにおいてカードが検出されなければ、ステップ83により示されているように、論理65はコマンド/応答ライン71,73または75のうちの違う1つを選択するように切り換えられ、そしてステップ79および81は新たに選択されたコマンド/応答ラインが接続されているソケットの中にカードが存在するか否か判定するために反復される。
【0026】
アドレス指定されたソケット内にカードが検出されたとき、ホストは、ステップ84により示されているように、該カードから相対アドレスを要求する。これより前に、特定の実施形態では、アドレス指定されたカードは自分自身のアドレスを作ってそれをそのRCAレジスタに書込んでいる。そのとき、ホストは、アドレス指定されたソケットの中のカードからそのアドレスを読出し、そして、ステップ85により示されているように、その提案されたアドレスが前もって他のカードに割り当てられているか否かを調べるために、それが維持しているカード・アドレスのテーブルをチェックする。もしその提案されたアドレスが特有であると判定されたならば、それはそのカードのRCAレジスタにとどまり、そして、ホストは、ステップ86により示されているように、それを、それが維持しているカード・アドレスのテーブルにソケット番号に従って追加する。特定の例では、カードは、該カードに含まれている乱数発生器から32ビット・アドレスを作る。この多数のビットでは、特にほんの数枚のカードだけを有する普通のシステムでは、1つのカードが他のと同じアドレスを提案することはありそうもない。しかし、もしステップ85において前のアドレスとの衝突が存在すると判定されたならば、ホストは該カードにもう一つのアドレスを作らせてそのRCAレジスタに蓄積させ、そして自分自身でその新しいアドレスに関してステップ84および85を反復する。
【0027】
各カードがそれ自身のアドレスを作る代わりに、好ましくはないけれども、ホストは、一度に1つのカードをアドレス指定して多数の考えられるアドレスのうちの特有の1つをそのアドレス指定されたカードのRCAレジスタに書込むことによって各カードに特有の相対アドレスを割り当てることができる。
【0028】
アドレス割り当てプロセスが1つのカードについて完了した後、ステップ87により示されている次のステップ、論理65は次の個々のソケットと接続するようにインクリメントされるか(ステップ83)または、もし該プロセスが全てのソケットについて達成されているならば、論理65は、ステップ89により示されているように、図5Dに示されている状態に切り換えられる。ソケット53,55および57内の各カードのRCAレジスタに特有の相対アドレスが書込まれていることが確かめられた後、システムは全てのコマンド/応答ライン71,73および75を一緒に接続することによって図3に示されている状態に戻される。その後、ホストは、MMCシステムの場合と同じく全てのCMD1、CMD2、およびCMDnラインを介してシステム内の全てのカードに同時にコマンドを送るけれども、スイッチング論理65の性質の故に一度に唯一のカードから応答信号を受け取るように接続される。
【0029】
このシステムの利点は、初期化時に各カードを順番にアドレス指定させるためにMMCで使用される回路構成を無くすることによってSDカードを簡単にできることである。同時に、図4および5のシステムで現存するMMCカードを使用することもできる。それが望ましいときには、ホストは、各カードから読出されるCIDなどから、SDカードまたはMMCカードがそのシステムのソケットの各々に存するか否か知る。その後、ホストは、そのソケット内のカードに適する通信プロトコルおよびルーチンを各ソケットに対して使用する。アドレス割り当てルーチンとカード・リセット動作とは、例えば、他のシーケンスと同じく、異なっている。SDカードのクロック・レートは、25メガヘルツまで、高くされることができるので、ホストは、もし1つがシステムで使われているならば、MMCカードのもっと低いクロック・レートを選ぶ。ホストが両方のタイプのカードで動作する能力を備えているときには、ユーザはシステムのソケットのうちの1つに挿入されるメモリ・カードが新しいSDカードであるのか現存するMMCカードであるのか区別する必要はない。
【0030】
図4および5のシステムの個々のソケットのコマンド/応答ラインは、今MMCシステムで行われているように相対アドレスをコマンドと共にまたはその一部分として含ませる代わりに全てのコマンドを個々のソケットに向けるために使用されることもできるけれども、その場合にはその新しいシステムはMMCカードとは両立しなくて、ホストが各々のタイプのカードと極めて異なるように通信することを必要とする。
【0031】
新しいSDカードのシステムのもう一つの利点は、与えられたアドレスのカードが挿入されているソケットをホストが知ることである。その理由は、そのソケットへのCMDラインがアクティブである間に該アドレスがカードのRCAレジスタにロードされることである。このことは、1つのカードが交換され或いは新しいカードが追加されたという事態を処理することを容易にする。SDカードでは、新しいカードだけがその初期化の一部分としてアドレスを割り当ててもらう必要がある。MMCシステムでは、唯一のCMDラインが存在するので、ホストは特定のカードが挿入されたソケットを知ることができない。MMCシステムへのカードの置換または追加は、システム内の全てのカードを初期化することを必要にし、従って、システムが動作を継続できる前に遅延を生じさせる。
【0032】
選択できるデータ・バス幅
本発明の第2の局面が図7〜12に示されており、そこに新しいSDカードのデータ転送の特徴が記述されている。ホストと個々のカードとの間でデータが転送される速度は、それを介してデータが同時に転送される各カード・ソケットに接続されるデータ・ラインの数を増やすことによって高められる。この例では、4つのデータ・ラインが示されており、それはデータ転送の速度を4まで高めるのに役立つ。データはホストとMMCカードとの間で複数のデータ・ラインのうちの1つだけを介して転送される。SDカードの特定の実施形態では一度に使用されるデータ・ラインの数は1または4である。
【0033】
SDカード90と填め合いソケット100とが図7に示されている。図4〜6に関連して上述した本発明の第1の局面は図1のMMCカード10と同じ数の接点を有するカードで実施されても良いけれども、本発明のこの局面は、増大された数の電気接点をSDカードに持たせる。SDカード90は図1のMMCカード10と同じ接点11〜17を同じ相対位置に有するけれども、データの伝送のために追加された2つの新しい接点91および92も有する。MMCカードの予備接点11も今はSDカードによってデータ転送のために使用される。従って、4つの接点11,17,91および92がSDカードによってカード90内のメモリへデータを転送し、又、該メモリから外へデータを転送するために使用される。填め合いソケット100(図7)は同様に、図1のソケット20と同じピン1〜7に加えて2つの追加のピン8および9を有する。その結果として、各カード・ソケットに4つのデータ・ライン27(ピン7)、101(ピン8)、102(ピン9)、および21(ピン1)が接続される。
【0034】
修正されたシステムが図8に示されており、そこではホスト51”は、2つ以上のデータ・ラインを介して、ソケット100(図7)の構造をそれぞれ有する複数のソケット104,106および108の各々に同時にデータを転送することを可能にするように修正されている。4つのデータ・ライン21,27,101および102は該ソケットの各々およびマルチプレクサ105にスイッチング論理回路110,111,112および113を通して共通に接続されている。ソケット106〜108のうちの1つに挿入されたカードに蓄積されるべきライン107のデータの単一のストリームは、該マルチプレクサにより、ライン109のホスト・コントローラ52’からの制御信号に応答して、4つのスイッチング論理回路110〜113の間で時間順時に交互に切り換えられる。同様に、データがカードから読出されるときには、マルチプレクサ105が回路110〜113の間で切り替わることにより、その様な単一のデータ・ストリームがライン107で組み立てられる。
【0035】
スイッチング論理回路110〜113のうちの1つがカード・ソケットに接続されている複数のデータ・ラインの各々のために設けられている。即ち、回路110がデータ・ラインDAT0のために、回路111がデータ・ラインDAT1のために、回路112がデータ・ラインDAT2のために、そして回路113がデータ・ラインDAT3のために設けられている。それらはホスト・コントローラ52’へのライン114上の信号によって制御される。複数のソケット104,106および108のうちのいずれか1つに存するカードへの書込み動作の間、スイッチング論理回路110〜113の各々の4つの出力は全てその入力に接続されている。従って、書込まれるべきデータは全てのソケットへ放送される。しかし、カードのうちの1つからデータが読出されるときには、回路110〜113の各々は、読まれるメモリ・カードが挿入されているソケットに接続されている出力ラインだけを入力ラインに接続するように切り換えられる。
【0036】
複数のデータ・ラインを収容するために、図2のデータ・レジスタ35およびその動作は、特定の例において、図9および10A〜Eに示されているように、SDカードにおいて修正される。書込み中、ホスト・コントローラ52’(図8)はライン107に単一のデータ・ストリームを生じさせる。その様なストリームが図10Aに示されており、そこでは文字A、B、C等は各々1つのデータ・ビットを表す。マルチプレクサ105は、論理回路110〜113を一度に一つずつライン107に1ビットだけの転送のために順次接続する。これは、メモリ・カードが4つのデータ接点を持っていて、従って、4つのデータ・ラインDAT0、DAT1、DAT2、およびDAT3の全てが使用される場合について図10Bに示されている。マルチプレクサ105は、データ・ラインDAT0を介して第1ビットAを、データ・ラインDAT1を介して第2ビットBを、データ・ラインDAT2を介して第3ビットCを、DAT3を介して第4ビットDを送り、次に再び開始してビットEをデータ・ラインDAT0に送る、等々。これら4つのデータ・ストリームは、データ・レジスタ35’によって受け取られて、図10Aのデータ・シーケンスに組み立て直され、それは次に回路38’を通して並列に図2のバッファ36のようなデータ・バッファへ転送される。各々のシリアル・データ・ストリームは、そのビットをそのブロックのデータから計算された巡回冗長検査(“CRC”)ビットも各々含むブロックに蓄積することにより好ましくはそのそれぞれのデータ・ラインを介して送られる。各ブロックは、特定の例では、スタート・ビットと、その次のデータと、その次のCRCおよび次のストップ・ビットとを含む。
【0037】
どのデータ・ラインのデータ転送速度も限られているけれども、複数のデータ・ラインを介するデータの同時転送は、おおよそデータ・ラインの数に等しい倍数だけその速度を高める。例えば、2つのデータ・ラインが使用されるならば、図10Aのそれの2分の1の速度を有する図10Cに示されているデータ・ストリームがライン107で供給される。そのとき、マルチプレクサ105はこのストリームをデータ・ラインDAT0およびDAT1の間で切り換え、その結果は図10Dに示されているデータ・ストリームとなる。アドレス指定されたカード内のデータ・レジスタ35’は、その2つのストリームDAT0およびDAT1を図10Cのそれに組み立て直し、そのデータをライン38’を介して並列に転送する。データ・ラインが1つだけ使用されるならば、マルチプレクサ105は依然としてDAT0等の単一のデータ・ラインと接続され、それを介して、減少したデータ転送速度を有するライン107のデータ・ストリームが図10Eに示されているように向けられる。
【0038】
逆に、データがメモリから読出されるときには、データは、レジスタ35’に並列にロードされ、使用されるデータ・ラインの数に応じて、図10B、10Dまたは10Eに示されているフォーマットのうちの1つでデータ・ラインを介して送られる。該データ・ラインのうちの2つ以上を介してデータが送られるならば、使用されるデータ・ラインの数に応じて、結果として図10A、10Cまたは10Eのうちの1つのそれに対応するライン107のデータ・ストリームを生じさせるために、マルチプレクサ105は使用されるデータ・ラインをあちらこちらに切り換える。
【0039】
図8のシステムは、1つ、2つまたは該システムに設けられているデータ・ラインの数(この例では4つのその様なライン)までの他の任意の数である変化する数のデータ・ライン接点を有するカードを受け入れることができると共に、該システムにおいてその様なカードを自由に混ぜ合わせたり交換したりできることが望ましい。或るアプリケーションについては、システムのデータ・ラインの数(この場合には4)により与えられる高いデータ転送速度は不要である。それらのアプリケーションについては、SDカードの1つのバージョンは、もっと少ない数のデータ・ピンを有するように作られる。それに伴ってカード内のインタフェース回路構成の量も減少し、従って、カードのコストが減少する。1つだけを有するのと同じく、2つのアクティブなデータ・ピンを有するカードが有益である。
【0040】
同じシステムでいろいろな数のデータ・ラインを有するカードを使えるように、ホストがどれだけの数のデータ・ラインを介してそのカードと通信できるかを判定するためにホストにより読出される読出し専用フィールドを個々のカードに設けるのが好ましい。特定の実施形態では、これは、MMCカードについて図2に示されているレジスタに付加されるSDカード構成レジスタ(“SCR”)に含まれる。ホスト51”は、パワーアップ時に、他の何らかのときの初期化のときに或いは新しいカードがソケットに挿入される毎に、このフィールドを読出し、その後にアドレス指定されたデータを該カードが収容できる数のデータ・ラインを介して各カードへ転送する。追加される各データ・ラインのために必要な追加の回路構成を設けるためには何らかのコストが必要なので、或るカードは少数のデータ・ラインで働くように設計される。逆に、ホストは、可能な数より少ない数のデータ・ラインで動作するように設計されることができる。特定のアプリケーションについてデータ転送の追加される速度が不要であるならば、カードにおいてもホスト・システムにおいても高いデータ転送速度を与えるために追加される複雑さおよびコストを避けることができる。
【0041】
ホストと1つ以上のメモリ・カードとの間のデータ・バスの幅を動的に選択できるということの結果として、それとシステムに挿入されたメモリ・カードとの間のデータ転送速度を最大にすることができる。データ・ストリームを複数のデータ・ラインに分配する他の手法も確かに可能であるけれども、上述すると共に図10A〜10Eに示されている手法は、ホストをいろいろなデータ・バス幅を有するカードに適合させるために、カードが交換されまたは追加されるときに動的にその様にするために、そして個々のカードの最大数のデータ・ラインを用いることによって種々のバス幅を有するカードの混合物のうちの各々と通信するためにも、好ましい。もう一つの手法は、複数の連続したデータ・ビットを各データ・ラインに沿って交互に送ることである。しかし、これはパケット等の跡をたどるために何らかのオーバヘッドを必要とする。特にいろいろな数のデータ・ラインを有するカードにシステムが順応する必要があるときに、上述したように、複数の並列データ経路を通して1つのデータ・ストリームの連続したビットを一度に1ビットずつ交互にするのがもっと簡単である。実際、このデータ転送手法は、ここで説明されるメモリ・システム以外の他のアプリケーションも有する。
【0042】
図11のフローチャートは、図7〜10Eのメモリ・システムを動作させる方法の1つの局面を示しており、ここでホスト51”は2つ以上のソケット104,106および108に挿入された各カードがそれで動作するように設計されているところのデータ・ラインの数を確かめる。第1のステップ121において、ホストは、既にそのRCAレジスタ42(図2)に書込まれている該カードの相対アドレスによりコマンド/応答ライン22を介して該カードのうちの1つをアドレス指定する。次に、ステップ125において、該カードのためのデータ・ラインの数がホストによってそのSCRレジスタから読出される。この数は、ステップ125により示されているように、好ましくはテーブルの形でホストにより蓄積される。システムのソケット内の全てのカードが読まれたならば、プロセスは終了するけれども、もしそうでなければ、ステップ129はシステムの該カードのうちの他のをアドレス指定し、この他のカードについてステップ123および125が反復される。
【0043】
図12は、ホスト51”がシステム内のカードのためのデータ・ラインの数についての蓄積されているデータをどの様に使うかを示している。ステップ131により示されているように、特定のカード・ソケットがホストによりアドレス指定される毎に、ホストは、図11のプロセスにより作成された内部テーブルからそのカードのためのデータ・ラインの数を読出す。これはステップ133により示されている。次に、ホストは、ステップ135により示されているように、そのテーブルから読出された4つのデータ・ラインDAT0、DAT1、DAT2およびDAT3の数に関するデータをマルチプレクサ105により転送させる。次のステップ137において、データは、その数のデータ・ラインを介して該カードへまたは該カードから、転送される。特定の例において、データ・ラインを1つだけ有するカードの場合には、ホストは好ましくはライン27(DAT0)を介して該カードとデータを転送するが、その理由としては、それがMMC製品と同じカード接点17を利用することによってシステムをMMCカードと両立させることにあるからである。MMCカードは図8〜10EのシステムにおいてSDカードと同じように使用されることができる。ホストは、該カードがMMCカードであるのかSDカードであるのかを判定し、そしてもしSDカードであるならば、それが使用するデータ・ラインの数と、システムが効率よく動作することを可能にする該カードに関する他の情報とを判定するために、初期化中は好ましくはDAT0ラインだけを介して各カードと通信する。
【0044】
図8のシステムは、MMC設計による単一のコマンド/応答ライン22(図示せず)または図4〜6に関連して上述した複数のコマンド/応答ライン・システムのいずれかを使用することができる。この選択はカードの構造や回路構成に影響を及ぼさない。
【0045】
本発明の種々の局面がその特定の実施形態に関連して説明してきたけれども、本発明が添付されている請求項の最大の範囲内で保護を受ける権利があることが理解されるであろう。特に、本発明は特定の数のデータ・ラインやメモリ・カードを有するシステムには限定されず、上記の記述で使用された数は例証の目的のために選択されたに過ぎない。
【特許請求の範囲】
【請求項1】
電子回路カードを動作させる方法であって、
前記電子回路カードの電気接点を通る1つ以上のデータ経路を利用するステップであって、前記データ経路は、前記電子回路カードにビットを転送したり、前記電子回路カードからビットを転送したりすることができるように動作可能に接続されるステップと、
1つ以上のデータ経路数についての指示を前記電子回路カード内に蓄積するステップと、
前記電子回路カードの1つ以上のデータ経路を介して蓄積された指示に対して外部からのアクセスを提供するステップと、
を含む方法。
【請求項2】
請求項1記載の方法において、
ソケットに結合されたホストからクロック信号を受け取るステップをさらに含み、前記クロック信号は、ビットを同時に転送可能であるデータ経路数には依存しない方法。
【請求項3】
請求項1または2のいずれか記載の方法において、
前記電子回路カードは、転送されるビットが蓄積される書き直し可能な不揮発性メモリを含む方法。
【請求項4】
請求項3記載の方法において、
マルチメディアカード(MMC)タイプを有する前記電子回路カードに対応して、複数のデータ経路のうちの1つだけを介してソケットへのビットを受け取る方法。
【請求項5】
請求項3記載の方法において、
ホストにビットを転送することは、前記指示に対応する数のデータ経路を通してシリアル・データ・ストリームの個々のビットを順次向けることを含む方法。
【請求項6】
メモリ・システムであって、
複数の外部接点をそれぞれ有する複数の装置であって、1つ以上の接点により、1つ以上のデータ経路を介して装置内で書き直し可能な不揮発性メモリにビットを転送できたり、前記メモリからビットを転送できたりし、また1つの接点により、前記メモリを動作させるためにコマンドを受け取ったり、応答信号を前記メモリから送ったりし、且つ前記メモリを動作させるクロック信号を受け取ったりする複数の装置と、
前記装置がそれぞれ挿入可能な複数のソケットであって、2つ以上のデータ・ピンと、コマンドおよび応答信号のためのピンと、クロック信号のためのピンとを含む複数の対応するピンと電気的に接触する接点を有する複数のソケットと、
前記装置と複数のソケットのコマンドおよび応答信号のためのピンとの間で装置のコマンドおよび応答信号を伝える経路と、複数のソケットのそれぞれのクロック信号のためのピンと接続された経路を介して一定周波数のクロック信号を伝える経路と、複数のソケットのそれぞれの2つ以上のデータ・ピンと接続される2つ以上のデータ伝達経路とを有するホストシステムと、を備え、
複数の装置は、ビットを同時に転送可能であるデータ経路数についての指示をそれぞれ蓄積し、前記蓄積された指示は前記ホストにより前記コマンドおよび応答を伝える経路を介して読出し可能であり、
前記ホストは、それぞれの装置に蓄積された指示に従って複数のソケットに挿入された個々の装置とビットを転送するメモリ・システム。
【請求項7】
請求項6記載のメモリ・システムにおいて、
前記ホストシステムは、前記ホストによってそれぞれのソケットのいずれか1つまたは全ての前記コマンドおよび応答信号のためのピンに選択的に接続可能であるコマンドおよび応答信号を伝える単一の経路を含み、複数の装置は、前記装置のアドレスが、単一の装置が挿入されているソケットの前記コマンドおよび応答信号のためのピンに接続されているときに、前記ホストにより単一の装置への前記コマンドおよび応答を伝える経路を通して固有であると確認されるアドレス・レジスタをそれぞれ含み、前記ホストは、複数の装置の個々の装置の前記アドレス・レジスタに蓄積されたアドレスを前記コマンドおよび応答を伝える経路で送ることにより複数のソケットの全ての前記コマンドおよび応答信号のためのピンに接続されたときに、前記コマンドおよび応答を伝える経路を通して複数の装置の個々の装置に付加的なコマンドを送ったり、個々の装置から付加的な応答信号を受け取ったりするメモリ・システム。
【請求項8】
書き直し可能な不揮発性メモリを備えるカードであって、前記メモリは、前記メモリと外部ホストとの間で1つ以上の接点の第1のグループを通して1つ以上のデータ経路を介してビットを同時に転送可能である1つ以上の接点の第1のグループと、前記メモリを動作させるために外部ホストからコマンドを受け取ったり、前記メモリの動作の状態についての信号を外部ホストに送ったりする1つ以上の接点の第2のグループと、前記メモリが動作するクロック信号を受け取る1つ以上の接点の第3のグループとを含む複数の接点と、前記データ経路数についての指示を永久的に蓄積するレジスタ・フィールドと、蓄積された指示に従って前記データ経路数のデータ経路を通して前記メモリからビットを読出し且つ前記メモリにビットを書込むように接続されるインタフェース回路とを有するカード。
【請求項9】
請求項8記載のカードにおいて、
前記カードはカプセル化され、前記カプセル化されたカードはその長さが32mm、幅が24mm、厚さが1.4または2.1mmのいずれかであるカード。
【請求項10】
請求項8に記載されたカードにそれぞれ従う複数のカードであって、データ経路数と対応する蓄積された指示とは、少なくとも2つの異なる数を含む複数のカード。
【請求項11】
請求項10記載の複数のカードにおいて、
前記少なくとも2つの異なる数は、1および4を含むカード。
【請求項12】
ビットをメモリカードからホスト装置に伝送する方法であって、
前記メモリカードと前記ホスト装置との間の、前記メモリカードが前記ホスト装置にビットを伝送することのできる第1の数のデータ経路についての指示を前記ホスト装置に供給するステップと、
第1の数のデータ経路が1データ経路よりも大きい場合には、前記メモリカードで、第1の数のデータ経路の各データ経路にビットのそれぞれの部分を供給し、且つ第1の数のデータ経路を介して前記ホスト装置にビットのそれぞれの部分を伝送するステップと、
第1の数のデータ経路が1データ経路である場合には、そのデータ経路を介して前記メモリカードから前記ホスト装置にビットを伝送するステップと、
を含む方法。
【請求項13】
請求項12記載の方法において、
第1の数は前記メモリカードに蓄積され、その蓄積された第1の数は前記ホスト装置によって読出される方法。
【請求項14】
請求項12または13のいずれか記載の方法において、
それぞれの部分は第2の数のビットを各々含み、前記第2の数のビットは、第1の数のデータ経路中のデータ経路に順次供給されている連続したビットの数である方法。
【請求項1】
電子回路カードを動作させる方法であって、
前記電子回路カードの電気接点を通る1つ以上のデータ経路を利用するステップであって、前記データ経路は、前記電子回路カードにビットを転送したり、前記電子回路カードからビットを転送したりすることができるように動作可能に接続されるステップと、
1つ以上のデータ経路数についての指示を前記電子回路カード内に蓄積するステップと、
前記電子回路カードの1つ以上のデータ経路を介して蓄積された指示に対して外部からのアクセスを提供するステップと、
を含む方法。
【請求項2】
請求項1記載の方法において、
ソケットに結合されたホストからクロック信号を受け取るステップをさらに含み、前記クロック信号は、ビットを同時に転送可能であるデータ経路数には依存しない方法。
【請求項3】
請求項1または2のいずれか記載の方法において、
前記電子回路カードは、転送されるビットが蓄積される書き直し可能な不揮発性メモリを含む方法。
【請求項4】
請求項3記載の方法において、
マルチメディアカード(MMC)タイプを有する前記電子回路カードに対応して、複数のデータ経路のうちの1つだけを介してソケットへのビットを受け取る方法。
【請求項5】
請求項3記載の方法において、
ホストにビットを転送することは、前記指示に対応する数のデータ経路を通してシリアル・データ・ストリームの個々のビットを順次向けることを含む方法。
【請求項6】
メモリ・システムであって、
複数の外部接点をそれぞれ有する複数の装置であって、1つ以上の接点により、1つ以上のデータ経路を介して装置内で書き直し可能な不揮発性メモリにビットを転送できたり、前記メモリからビットを転送できたりし、また1つの接点により、前記メモリを動作させるためにコマンドを受け取ったり、応答信号を前記メモリから送ったりし、且つ前記メモリを動作させるクロック信号を受け取ったりする複数の装置と、
前記装置がそれぞれ挿入可能な複数のソケットであって、2つ以上のデータ・ピンと、コマンドおよび応答信号のためのピンと、クロック信号のためのピンとを含む複数の対応するピンと電気的に接触する接点を有する複数のソケットと、
前記装置と複数のソケットのコマンドおよび応答信号のためのピンとの間で装置のコマンドおよび応答信号を伝える経路と、複数のソケットのそれぞれのクロック信号のためのピンと接続された経路を介して一定周波数のクロック信号を伝える経路と、複数のソケットのそれぞれの2つ以上のデータ・ピンと接続される2つ以上のデータ伝達経路とを有するホストシステムと、を備え、
複数の装置は、ビットを同時に転送可能であるデータ経路数についての指示をそれぞれ蓄積し、前記蓄積された指示は前記ホストにより前記コマンドおよび応答を伝える経路を介して読出し可能であり、
前記ホストは、それぞれの装置に蓄積された指示に従って複数のソケットに挿入された個々の装置とビットを転送するメモリ・システム。
【請求項7】
請求項6記載のメモリ・システムにおいて、
前記ホストシステムは、前記ホストによってそれぞれのソケットのいずれか1つまたは全ての前記コマンドおよび応答信号のためのピンに選択的に接続可能であるコマンドおよび応答信号を伝える単一の経路を含み、複数の装置は、前記装置のアドレスが、単一の装置が挿入されているソケットの前記コマンドおよび応答信号のためのピンに接続されているときに、前記ホストにより単一の装置への前記コマンドおよび応答を伝える経路を通して固有であると確認されるアドレス・レジスタをそれぞれ含み、前記ホストは、複数の装置の個々の装置の前記アドレス・レジスタに蓄積されたアドレスを前記コマンドおよび応答を伝える経路で送ることにより複数のソケットの全ての前記コマンドおよび応答信号のためのピンに接続されたときに、前記コマンドおよび応答を伝える経路を通して複数の装置の個々の装置に付加的なコマンドを送ったり、個々の装置から付加的な応答信号を受け取ったりするメモリ・システム。
【請求項8】
書き直し可能な不揮発性メモリを備えるカードであって、前記メモリは、前記メモリと外部ホストとの間で1つ以上の接点の第1のグループを通して1つ以上のデータ経路を介してビットを同時に転送可能である1つ以上の接点の第1のグループと、前記メモリを動作させるために外部ホストからコマンドを受け取ったり、前記メモリの動作の状態についての信号を外部ホストに送ったりする1つ以上の接点の第2のグループと、前記メモリが動作するクロック信号を受け取る1つ以上の接点の第3のグループとを含む複数の接点と、前記データ経路数についての指示を永久的に蓄積するレジスタ・フィールドと、蓄積された指示に従って前記データ経路数のデータ経路を通して前記メモリからビットを読出し且つ前記メモリにビットを書込むように接続されるインタフェース回路とを有するカード。
【請求項9】
請求項8記載のカードにおいて、
前記カードはカプセル化され、前記カプセル化されたカードはその長さが32mm、幅が24mm、厚さが1.4または2.1mmのいずれかであるカード。
【請求項10】
請求項8に記載されたカードにそれぞれ従う複数のカードであって、データ経路数と対応する蓄積された指示とは、少なくとも2つの異なる数を含む複数のカード。
【請求項11】
請求項10記載の複数のカードにおいて、
前記少なくとも2つの異なる数は、1および4を含むカード。
【請求項12】
ビットをメモリカードからホスト装置に伝送する方法であって、
前記メモリカードと前記ホスト装置との間の、前記メモリカードが前記ホスト装置にビットを伝送することのできる第1の数のデータ経路についての指示を前記ホスト装置に供給するステップと、
第1の数のデータ経路が1データ経路よりも大きい場合には、前記メモリカードで、第1の数のデータ経路の各データ経路にビットのそれぞれの部分を供給し、且つ第1の数のデータ経路を介して前記ホスト装置にビットのそれぞれの部分を伝送するステップと、
第1の数のデータ経路が1データ経路である場合には、そのデータ経路を介して前記メモリカードから前記ホスト装置にビットを伝送するステップと、
を含む方法。
【請求項13】
請求項12記載の方法において、
第1の数は前記メモリカードに蓄積され、その蓄積された第1の数は前記ホスト装置によって読出される方法。
【請求項14】
請求項12または13のいずれか記載の方法において、
それぞれの部分は第2の数のビットを各々含み、前記第2の数のビットは、第1の数のデータ経路中のデータ経路に順次供給されている連続したビットの数である方法。
【図1】
【図2】
【図3】
【図4】
【図5A】
【図5B】
【図5C】
【図5D】
【図6】
【図7】
【図8】
【図9】
【図10A】
【図10B】
【図10C】
【図10D】
【図10E】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5A】
【図5B】
【図5C】
【図5D】
【図6】
【図7】
【図8】
【図9】
【図10A】
【図10B】
【図10C】
【図10D】
【図10E】
【図11】
【図12】
【公開番号】特開2012−94165(P2012−94165A)
【公開日】平成24年5月17日(2012.5.17)
【国際特許分類】
【出願番号】特願2011−264249(P2011−264249)
【出願日】平成23年12月2日(2011.12.2)
【分割の表示】特願2002−520082(P2002−520082)の分割
【原出願日】平成13年8月14日(2001.8.14)
【出願人】(592012513)サンディスク コーポレイション (173)
【氏名又は名称原語表記】SanDisk Corporation
【Fターム(参考)】
【公開日】平成24年5月17日(2012.5.17)
【国際特許分類】
【出願日】平成23年12月2日(2011.12.2)
【分割の表示】特願2002−520082(P2002−520082)の分割
【原出願日】平成13年8月14日(2001.8.14)
【出願人】(592012513)サンディスク コーポレイション (173)
【氏名又は名称原語表記】SanDisk Corporation
【Fターム(参考)】
[ Back to top ]