(57)【要約】方法または装置が、シリアル相互接続構成にある多数のデバイスを操作して、各デバイス用のデバイス識別子(ID)を確立する。入力信号が、第1デバイスへシリアル相互接続を介して入力を用いて送信され、入力は、またそこへ他の情報(例えばデータ、コマンド、制御信号など)を入力するために第1デバイスによって使用される。入力信号に応答して発生回路がデバイスIDを発生する。次いで、転送回路がデバイスIDに関連する出力信号を第1デバイスのシリアル出力を介して第2デバイスへ転送する。シリアル出力は、やはり第1デバイスによって使用されて、他の情報(例えば信号、データ)をシリアル相互接続構成にある他のデバイスに出力する。
2009538065.tif 000002
【特許請求の範囲】
【請求項１】
複数のデバイスを有するシリアル相互接続構成で構成されたデバイス用のデバイス識別子(ID)を確立するための装置であって、
前記デバイスのシリアル入力で受信した入力信号に応答してデバイスIDを生成し、前記デバイスのシリアル出力を介して、クロックと同期して、生成したデバイスIDに関連する出力信号を出力するID生成器を備える装置。
【請求項２】
前記デバイスで受信した前記入力信号は、前記デバイスの前記デバイスIDと関連する値を含み、前記出力信号に関連する前記生成したデバイスIDは、前記シリアル相互接続構成にある他のデバイスの前記デバイスIDに関連する値を含む請求項1に記載の装置。
【請求項３】
前記デバイスで受信した前記入力信号は、前記シリアル相互接続構成にある前のデバイスの前記デバイスIDに関連した値を含み、前記出力信号に関連する前記生成したデバイスIDは、前記シリアル相互接続構成にある前記デバイスの前記デバイスIDに関連した値を含む請求項1に記載の装置。
【請求項４】
前記複数のデバイスは、シリアルリンクに接続される請求項1に記載の装置。
【請求項５】
前記複数のデバイスは、メモリデバイスを含む請求項1に記載の装置。
【請求項６】
前記ID生成器は、
Nが1以上の整数であるNビットIDを決定し、前記NビットIDおよび所定の数Nが1以上に基づいて計算値を生成するID計算器と、
前記計算した値と一致する前記デバイスIDを提供するIDプロバイダとを備える請求項1に記載の装置。
【請求項７】
前記計算した値が前記NビットIDとある整数の計算結果である請求項6に記載の装置。
【請求項８】
前記IDプロバイダが、クロックと同期して前記NビットIDをシフトアウトするためのシフト回路を含む請求項6に記載の装置。
【請求項９】
前記NビットIDが前記入力信号に関連する請求項6に記載の装置。
【請求項１０】
前記入力信号中のコマンドに応答して前記NビットIDの生成を制御するID発生コントローラをさらに含む請求項6に記載の装置。
【請求項１１】
前記デバイスは前記シリアル入力でコマンドまたはデータ信号を受信し、前記シリアル出力で前記コマンドまたはデータ信号を送信する請求項1に記載の装置。
【請求項１２】
複数のデバイスのシリアル相互接続構成で構成されたデバイスであって、
前記デバイスのシリアル入力で受信した入力信号に応答してデバイスIDを発生し、
前記デバイスのシリアル出力を介して、クロックに同期して、発生したデバイスIDに関連する出力信号を出力するID発生器を含む、前記デバイスに対してデバイスIDを確立するデバイス識別子(ID)確立器を備えるデバイス。
【請求項１３】
前記複数のデバイスはそれぞれ、メモリデバイスを含む請求項12に記載のデバイス。
【請求項１４】
前記メモリデバイスは、ランダムアクセスメモリまたはフラッシュメモリである請求項13に記載のデバイス。
【請求項１５】
前記デバイスで受信した前記入力信号は、前記デバイスの前記デバイスIDと関連する値を含み、前記出力信号に関連する前記生成したデバイスIDは、前記シリアル相互接続構成にある他のデバイスの前記デバイスIDに関連する値を含む請求項12に記載のデバイス。
【請求項１６】
前記デバイスで受信した前記入力信号は、前記シリアル相互接続構成にある前のデバイスの前記デバイスIDに関連した値を含み、前記出力信号に関連する前記生成したデバイスIDは、前記シリアル相互接続構成にある前記デバイスの前記デバイスIDに関連した値を含む請求項12に記載のデバイス。
【請求項１７】
前記複数のデバイスは、シリアルリンクに接続される請求項12に記載のデバイス。
【請求項１８】
前記ID発生器は、
Nが1以上の整数である、NビットIDを生成するID生成器と、
前記NビットIDと所定の数に基づいて計算値を生成する計算器と、
前記計算値と一致する前記デバイスIDを提供するIDプロバイダとを備える請求項12に記載のデバイス。
【請求項１９】
前記計算値が前記NビットIDとある整数の計算結果である請求項18に記載のデバイス。
【請求項２０】
前記IDプロバイダが、クロックと同期して前記NビットIDをシフトアウトするためのシフト回路を含む請求項18に記載のデバイス。
【請求項２１】
前記NビットIDが前記入力信号に関連する請求項18に記載のデバイス。
【請求項２２】
前記入力信号中のコマンドに応答して前記NビットIDの生成を制御するID発生コントローラをさらに含む請求項18に記載のデバイス。
【請求項２３】
前記デバイスは前記シリアル入力でコマンドまたはデータ信号を受信し、前記シリアル出力で前記コマンドまたはデータ信号を送信する請求項12に記載のデバイス。
【請求項２４】
複数のデバイスのシリアル相互接続構成であって、
それぞれ、入力信号を受信し、出力信号を送信するシリアル入力およびシリアル出力と、
クロック信号を受信するクロック入力と、
前記デバイス用のデバイスIDを確立するためのデバイス識別子(ID)確立器とを備え、前記デバイスID確立器は前記デバイスの前記シリアル入力で受信した前記入力信号に応答してデバイスIDを発生するID発生器を有し、前記出力信号は、前記デバイスの前記シリアル出力を介して、クロックと同期して、発生されるデバイスIDに関連付けられるシリアル相互接続構成。
【請求項２５】
前記複数のデバイスは、シリアルリンクに接続される請求項24に記載のシリアル相互接続構成。
【請求項２６】
前記複数のデバイスのそれぞれは、メモリデバイスを含む請求項24に記載のシリアル相互接続構成。
【請求項２７】
前記メモリデバイスは、ランダムアクセスメモリまたはフラッシュメモリである請求項24に記載のシリアル相互接続構成。
【請求項２８】
前記デバイスで受信した前記入力信号は、前記デバイスの前記デバイスIDと関連する値を含み、前記出力信号に関連する前記生成したデバイスIDは、前記シリアル相互接続構成にある他のデバイスの前記デバイスIDに関連する値を含む請求項24に記載のシリアル相互接続構成。
【請求項２９】
前記デバイスで受信した前記入力信号は、前記シリアル相互接続構成にある前のデバイスの前記デバイスIDと関連する値を含み、前記出力信号に関連する前記生成したデバイスIDは、シリアル相互接続構成の前記デバイスの前記デバイスIDに関連する値を含む請求項24に記載のシリアル相互接続構成。
【請求項３０】
前記ID発生器は、
Nが1以上の整数である、NビットIDを生成するID生成器と、
前記NビットIDと所定の数に基づいて計算値を生成する計算器と、
前記計算値と一致する前記デバイスIDを提供するIDプロバイダとを備える請求項24に記載のシリアル相互接続構成。
【請求項３１】
前記計算値が前記NビットIDと整数の計算結果である請求項30に記載のシリアル相互接続構成。
【請求項３２】
前記IDプロバイダが、クロックと同期して前記NビットIDをシフトアウトするためのシフト回路を含む請求項30に記載のシリアル相互接続構成。
【請求項３３】
前記NビットIDが前記入力信号に関連する請求項30に記載のシリアル相互接続構成。
【請求項３４】
前記入力信号中のコマンドに応答して前記NビットIDの生成を制御するID発生コントローラをさらに含む請求項30に記載のシリアル相互接続構成。
【請求項３５】
前記デバイスは前記シリアル入力でコマンドまたはデータ信号を受信し、前記シリアル出力で前記コマンドまたはデータ信号を送信する請求項26に記載のシリアル相互接続構成。
【請求項３６】
複数のデバイスを有するシリアル相互接続構成で構成されたデバイス用のデバイス識別子(ID)を確立するための方法であって、
シリアル入力信号に応答してデバイスIDを発生するステップと、
前記デバイスのシリアル出力を介して前記デバイスIDに関連する信号を出力するステップとを含み、
前記発生および転送がクロックに同期している方法。
【請求項３７】
前記ID発生ステップに先立って、前記デバイスの前記デバイスIDを所定の値にリセットするステップをさらに含む請求項36に記載の方法。
【請求項３８】
前記デバイスIDをリセットするステップが全てのデバイスに対してパラレル方式で実行される請求項37に記載の方法。
【請求項３９】
前記ID発生ステップが、前記シリアル入力信号に含まれるIDは発生コマンドに応答している請求項36に記載の方法。
【請求項４０】
前記デバイスID発生ステップが、
Nが1以上の整数である、NビットIDを生成するステップと、
Nビットワードと所定の数に基づいて値を計算するステップと、
前記計算値に一致する前記デバイスIDを提供するステップとを含む請求項36に記載の方法。
【請求項４１】
前記計算値は前記NビットIDと整数の計算結果である請求項40に記載の方法。
【請求項４２】
前記デバイスIDを提供するステップは、クロックと同期して前記NビットIDをシフトアウトするステップを含む請求項40に記載の方法。
【請求項４３】
前記NビットIDは前記入力信号に関連する請求項40に記載の方法。
【請求項４４】
前記入力信号中のコマンドに応答して前記NビットIDの生成を制御するステップをさらに含む請求項40に記載の方法。
【請求項４５】
前記計算ステップは、前記NビットID値に前記整数値を加算するステップを含む請求項40に記載の方法。
【請求項４６】
前記計算ステップは、前記NビットIDから前記整数値を減算するステップを含む請求項40に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に半導体デバイスシステムに関するものである。より詳細には、本発明はデバイスのシリアル相互接続構成用にクロック信号と同期してデバイス識別子を確立するための装置および方法に関するものである。
【背景技術】
【０００２】
今日コンピュータベースシステムは、どこでも見い出すことができ、例えば携帯電話、ハンドヘルドコンピュータ、自動車、医療デバイス、パーソナルコンピュータ等、日常使用される多くのデバイスに入り込んできている。全体的に社会は、例えば小切手帳のバランスをとるような簡単な業務から天気予報など比較的複雑な業務まで、日常業務を処理するためにコンピュータベースシステムに相当依存している。技術が進歩するにつれて、業務はますますコンピュータベースシステムに移動される。これにより、社会はこれらのシステムにますます依存するようになる。
【０００３】
典型的なコンピュータベースシステムは、システムボードと、任意選択で1つまたは複数の表示ユニット、ディスクユニットなどの周辺デバイスとを備える。システムボードは、しばしば1つまたは複数のプロセッサと、メモリサブシステムと、シリアルデバイスインターフェース、ネットワークデバイスコントローラ、ハードディスクコントローラなどの他の回路とを含む。
【０００４】
特定のシステムボード上で使用されるプロセッサのタイプは、通常このシステムによって実行されるタスクのタイプに依存する。例えば自動車エンジンによって発生した排気をモニタし、空気/燃料混合気を調整して、エンジンが完全に燃料を燃焼するよう保証するといったタスクでは、このタスクの実行に合わせた簡便な専用プロセッサを使用することができる。他方、多くのユーザの管理や、多くの異なるアプリケーションの実行など、多くの異なるタスクを実行するシステムでは、高速演算を実行し、データを処理して、ユーザの要求に対してサービスを提供することに対する応答時間を最小化するように構成された、事実上汎用である1つまたは複数の複雑なプロセッサを使用することがある。
【０００５】
メモリサブシステムは、プロセッサによって使用される情報(例えば命令、データ値)を保持する記憶装置である。メモリサブシステムは、一般的にコントローラ回路と、1つまたは複数のデバイスとを含む。コントローラ回路は、通常プロセッサとメモリデバイスをインターフェースするように構成され、プロセッサがメモリデバイスへ情報を記憶し、かつメモリデバイスから情報を取り出すことを可能にする。メモリデバイスは、実際の情報を保持する。
【０００６】
プロセッサと同じように、メモリサブシステムに使用されるタイプのデバイスは、多くの場合コンピュータシステムによって実行されるタイプのタスクによってドライブされる。例えば、コンピュータシステムが、ディスクドライブの支援なしにブートし、頻繁には変わらない一組のソフトウェアルーチンを実行しなければならないタスクを有することがある。ここで、メモリサブシステムは、ソフトウェアルーチンを記憶するためにフラッシュメモリデバイスなどの不揮発性デバイスを使用することができる。他のコンピュータシステムでは、大部分の情報を保持するために大きな高速データ記憶を必要とする、非常に複雑なタスクを実行することもある。ここでメモリサブシステムは、情報を記憶するために高速高密度ダイナミックランダムアクセスメモリ(DRAM)デバイスを使用することができる。
【０００７】
フラッシュメモリデバイスに対する需要は、これらのデバイスが不揮発性記憶装置を必要とする種々の組み込みアプリケーションにうまく適合することから、著しく成長し続けている。例えば、フラッシュメモリは、デジタルカメラ、携帯電話、USBフラッシュドライブ、携帯音楽プレーヤなどの様々な消費者向けデバイスにおいて、これらのデバイスによって用いられるデータを記憶するために広範囲に使用される。フラッシュメモリに対する市場需要が、速度と密度の両方からみてフラッシュメモリ技術の過去数年にわたるすばらしい改善を導いてきた。これらの改善は、大量記憶用にディスクドライブを使用し続けてきたアプリケーションにおいて、フラッシュメモリベースのデバイスが、ハードディスクドライブをいつか置き換え得るという予測につながっている。
【０００８】
フラッシュデバイスの中には、例えばマルチプルフラッシュデバイスなどシリアルインターフェースを使用しているものもあり、これはデバイス中に含まれるメモリ上に読出し、書込み、消去動作などの動作を実行するのに使用される。これらの動作は、通常コマンドストリングを使用して、あるデバイス上で選択され、これらのコマンドストリングは複数のデバイスへシリアルで送られる。コマンドストリングは、通常選択されるべき動作を表すコマンドならびに他のパラメータを含む。例えば、書込み動作は、デバイスへ書込みコマンドと、書き込むべきデータと、データが書き込まれることになるメモリのアドレスとを含む情報ストリングをシリアルで送り込むことによって選択されることができる。
【０００９】
コマンドストリングは、このコマンドが1つのデバイス上で実行可能であるにすぎない場合でさえ、全てのデバイスに送られることがある。コマンドを実行すべきデバイスを選択するために、コマンドストリングは、コマンドが対象とするフラッシュデバイスを識別するデバイス識別子(ID)を含むことができる。コマンドストリングを受信している各デバイスは、そのデバイスに関連するIDとコマンドストリング中に含まれるデバイスIDを比較する。この2つが一致すると、デバイスはコマンドがそのデバイスを対象としていると見なし、コマンドを実行する。
【００１０】
上記構成に伴う問題は、デバイスIDを各デバイスに対して確立することに関わる。デバイスに対してデバイスIDを確立するのに使用可能な1つの技法は、デバイス中に内部の固有デバイスIDをハードワイヤすることである。しかし、この手法に伴う欠点は、大量のデバイスが生産される場合に、確実にそれぞれのデバイスが固有デバイスIDを含むようにするために、デバイスIDのサイズをかなり大きくする必要がある場合がある。大きなサイズのデバイスIDを扱うことは、デバイスの複雑さを著しく増す可能性があり、これによりデバイスを生産するコストを増加させるおそれが生じる。さらに、もはや使われなくなったデバイスに関連するデバイスIDを再利用することは、この方式の複雑さをさらに増す場合がある。
【００１１】
複数のデバイスにデバイスIDを割り当てる他の手法は、各デバイスに対して外部的にデバイスIDをハードワイヤすることに関するものである。ここで、デバイス用のデバイスIDを確立するために、デバイスIDはデバイス上に一定の状態で様々なピンを配線することによって規定される。デバイスは配線されたピンの状態を読出し、読出し状態からそのIDを確立する。しかし、この手法に伴う1つの欠点は、各デバイスに対してデバイスIDを割り当てるのに外部配線が必要とされることである。これは、メモリデバイスを保持する例えばプリント回路基板(PCB)の複雑さを増す可能性がある。この手法に伴う他の欠点は、デバイスIDの割当てのために専用とされるピンを必要とする場合があるということである。これは、そうでなければもっとうまく使用できる貴重な資源を消費するおそれを生じさせる。さらに、デバイスIDの割り当てのための専用ピンは、デバイスIDの割り当てにピンを使用しないとした場合よりも、デバイスに対してより大きなフットプリントを必要とすることがある。
【発明の概要】
【発明が解決しようとする課題】
【００１２】
従来技術の前記限界に対処することを目標とする解決策の1つは、例えばシリアル相互接続構成において、デバイスIDの特別な内部または外部ハードワイヤを必要としない方法で、デバイス用のデバイス識別子(ID)を自動的に確立することである。このような技法は、参照によりその教示がそのまま本明細書に組み込まれている、2006年9月15日に出願した関連の米国特許出願第11/521734号で教示される。手短に言うと、この技法は、シングルチップ、マルチドロップ、またはシリアル相互接続のデバイス構成に基づいて、入力ポートイネーブル(IPE)信号の役割が変わることを可能にする。シリアル入力(SI)およびシリアル出力(SO)機能は、当該動作の間中、タイミング制限なしに全てのデータタイプを送信および受信できる。追加のピンまたはメインピン配置からのピン機能の変更の必要もない。このID発生および割当て技法は、利用可能なピンの数に依存し、ピンの数はリンクポートの数によって決定される。したがって、例えばマルチインディペンデントシリアルリンク(MISL)では、シングルポートに対してサポートするデバイスの最大数は8デバイスである。デュアルポートの場合には、デバイスの最大数は64(つまり1ポートに対して3ピン)である。
【００１３】
シリアル相互接続構成のデバイス用のデバイス識別子を確立するための装置および方法が開示される。デバイスは、例えばダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、フラッシュメモリなどのメモリデバイスであってよい。このようなシリアル相互接続はマルチインディペンデントシリアルリンク(MISL)に実装されてよい。
【課題を解決するための手段】
【００１４】
本技法の態様では、このためにデバイス上に追加のハードピンを必要とせずに識別子をデバイスに割り当て可能となる。機能およびタイミング定義を用いると、各デバイスの識別子が、加算器などの関連した組合せ論理を含むデバイスによって自動的に生成される。
【００１５】
第1態様において、本発明は、複数のデバイスを有するシリアル相互接続構成で構成されたデバイス用のデバイス識別子(ID)を確立するための装置を提供する。装置は、デバイスのシリアル入力で受信した入力信号に応答してデバイスIDを生成し、デバイスのシリアル出力を介して、クロックと同期して、生成したデバイスIDに関連する出力信号を出力するID生成器(producer)を備える。
【００１６】
一実施例では、デバイスで受信した入力信号は、このデバイスのデバイスIDと関連する値を含み、出力信号に関連する生成したデバイスIDは、シリアル相互接続構成にある他のデバイスのデバイスIDに関連する値を含む。
【００１７】
他の実施例では、デバイスで受信した入力信号は、シリアル相互接続構成にある前のデバイスのデバイスIDに関連した値を含み、出力信号に関連する生成したデバイスIDは、シリアル相互接続構成にあるこのデバイスのデバイスIDに関連した値を含む。
【００１８】
さらなる実施形態では、ID生成器は、Nが1以上であるNビットIDを作成し、NビットIDおよび所定の数に基づいて計算値を生成するID計算器と、計算値と一致するデバイスIDを提供するID供給器とを備える。
【００１９】
例えばID計算器はNビットIDに1を加算する計算を実行し、加算結果がNビットIDとして提供される。代替として計算はNビットIDから1を減算することによって実行されることがあり、減算結果がNビットIDとして提供される。
【００２０】
本技法は、シリアル相互接続構成にある複数のデバイスの中の1つに結合しているデバイス用のデバイス識別子(ID)を発生するための装置も提供する。デバイスはデータを記憶するための少なくとも1つのセルと、シリアル入力データを受信するためのシリアル入力接続と、シリアル出力データを提供するためのシリアル出力接続とを有してよい。装置は、シリアル入力データに含まれるシリアルNビットIDデータを記録し、パラレルN(Nは1以上の整数である)ビットIDデータとして記録したNビットIDデータを提供するための入力記録回路と、Nビット計算データを提供するためにパラレルNビットIDデータおよび所与の数のデータに基づいて計算を実行する計算回路と、Nビット計算データを計算したパラレルNビットデータとして記録し、計算し記録したパラレルNビットデータをシリアルNビットデータとしてシリアルNビットデータ中に提供するパラレルシリアル回路とを含み、シリアルNビットデータは他のデバイスに結合している他の発生装置に含まれる入力記録回路に転送される。
【００２１】
例えば、デバイスは、新しいIDを発生するために、所与の数のデータをパラレルNビットIDデータに加算するための回路、またはパラレルNビットIDデータから所与の数のデータを減算するための回路を有する計算回路を含むメモリデバイスであることができる。
【００２２】
例えば加算回路または減算回路は、パラレル加算または減算を実行するNビット加算器または減算器を含むことができる。加算または減算したパラレルデータは、Nビットパラレルシリアルレジスタに送られて、次に他のメモリデバイスに転送されるシリアルIDを提供する。
【００２３】
装置は、ID発生イネーブル信号に応答して、他のメモリデバイスに結合している他の発生装置へ転送されるべきシリアルNビットデータを選択するセレクタを含むことができる。ID発生イネーブル信号は、シリアル入力データに含まれるコマンドに一致して発生されてよい。セレクタは、メモリデバイス中の記憶データ用セルから得られるデータを選択でき、ID発生イネーブル信号のステータスに一致して他のメモリデバイスへデータを転送することができる。
【００２４】
さらなる態様において、本発明は、複数のデバイスのシリアル相互接続構成で構成されたデバイスを提供し、このデバイスはデバイス用のデバイスIDを確立するためのデバイス識別子(ID)確立器を備える。デバイスID確立器は、デバイスのシリアル入力で受信した入力信号に応答してデバイスIDを発生し、デバイスのシリアル出力を介して、クロックと同期して、発生したデバイスIDに関連関連付けられた出力信号を出力するID発生器(generator)を含む。
【００２５】
他の態様では、本発明は複数のデバイスのシリアル相互接続構成を提供する。それぞれのデバイスは、それぞれ、入力信号を受信し、出力信号を転送するシリアル入力およびシリアル出力と、クロック信号を受信するクロック入力と、デバイス用のデバイスIDを確立するデバイス識別子(ID)確立器とを備え、デバイスID確立器はデバイスのシリアル入力で受信した入力信号に応答してデバイスIDを発生するID発生器を有し、出力信号は、デバイスのシリアル出力を介して、クロックと同期して、発生したデバイスIDに関連関連付けられる。
【００２６】
さらに別の態様において、本発明は、複数のデバイスを有するシリアル相互接続構成で構成されたデバイス用のデバイス識別子(ID)を確立するための方法を提供する。この方法は、シリアル入力信号に応答してデバイスIDを発生するステップと、デバイスのシリアル出力を介してデバイスIDに関連する信号を出力するステップとを含む。発生および転送はクロックに同期している。
【００２７】
添付の図面と合わせ持つ本発明の特定の実施形態の以下の概説から本発明の他の態様および特徴が当技術分野の通常の技術者には明らかになる。
【００２８】
本発明の実施形態が、次に添付の図面を参照して単に例として説明される。
【図面の簡単な説明】
【００２９】
【図１Ａ】シリアル相互接続構成で構成された複数のシングルポートデバイスを備えるデバイス構成のブロック図であり、そこに本発明の実施形態が実装されてよい。
【図１Ｂ】図1Aに示したデバイスの中の1つを示すブロック図である。
【図２Ａ】シリアル相互接続構成で構成されたデバイス間の通信を示すブロック図である。
【図２Ｂ】図2Aに示したシリアル相互接続構成で構成されたデバイス間の通信を示すタイミング図である。
【図３Ａ】シングルリンクによるID発生論理を例とするデバイスのブロック図である。
【図３Ｂ】メモリデバイスに対する信号のタイミング図である。
【図４Ａ】デュアルリンクによるID発生論理を例とするデバイスのブロック図である。
【図４Ｂ】デバイスに対する信号のタイミング図である。
【図５Ａ】本発明の実施形態によるデバイス用のIDを発生するのに用いることができる論理の高度なブロック図である。
【図５Ｂ】図5Aに示した論理の詳細ブロック図である。
【図５Ｃ】図5Aおよび5Bに示したID発生器のブロック図である。
【図６】デバイス番号(DN)レジスタおよびコマンドレジスタに対するクロック発生のタイミング図である。
【図７】ID発生のタイミング図である。
【図８】通常の動作モードでの待ち時間のタイミング図である。
【図９Ａ】出力ポートイネーブル信号によって制御されるID発生のタイミング図である。
【図９Ｂ】出力ポートイネーブル信号によるIDビット長の制御を示す図である。
【図１０】ID出力イネーブル信号、シフトクロック信号および他の信号のタイミング図である。
【図１１】ID発生および関係する信号のタイミング図である。
【図１２Ａ】ID一時レジスタの構成を示すブロック図である。
【図１２Ｂ】ID一時レジスタに対する信号のタイミング図である。
【図１３Ａ】本発明の第2実施形態によるデバイス用のIDを発生するのに用いることができる論理の高度なブロック図である。
【図１３Ｂ】図13Aに示した論理の詳細ブロック図である。
【図１３Ｃ】図13Aおよび13Bに示したID発生器のブロック図である。
【図１４】図13Aに示した実施形態のための出力ポートイネーブル信号によるIDビット長の制御を示す図である。
【図１５Ａ】本発明の第3実施形態によるデバイス用のIDを発生するのに用いることができる論理の高度なブロック図である。
【図１５Ｂ】図15Aに示した論理の詳細ブロック図である。
【図１５Ｃ】図15Aおよび15Bに示したID発生器のブロック図である。
【図１６】図15Aに示したID発生論理に対する信号のタイミング図である。
【図１７】図15Aに示した実施形態のための出力ポートイネーブル信号によるIDビット長の制御を示す図である。
【発明を実施するための形態】
【００３０】
一般に本発明はシリアル相互接続構成にある複数のデバイスを含むシステムを提供する。シリアル相互接続構成のデバイス用のデバイス識別子を確立するための装置および方法が開示される。このようなシリアル相互接続はマルチインディペンデントシリアルリンク(MISL)に実装されてよい。
【００３１】
本明細書で説明される技法による方法および装置は、シリアル相互接続にある複数のデバイスを有するメモリシステムに適用できる。デバイスは、例えばダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、フラッシュメモリなどのメモリデバイスであってもよい。
【００３２】
従来のメモリデバイスでは、IDの割当ては、通常追加のピンを使用して実行され、(0000)、(0001)、....、(1111)などの論理の組合せを作成する。このように通常、IDを割り当てることは、接続をカバーするためにピンの割当てが必須でなければならないことを意味する。
【００３３】
メモリデバイスに適用されるコマンドおよびデータの直列化は、より少ないピンを使用してデバイスに関連する様々な機能の実行を可能にする。特定のメモリデバイスへのID割当ては、デバイスに関連しているシリアル入力イネーブルおよび出力イネーブル信号ポートを使用して実行できる。ここで、デバイスIDに関連する数が、転送され、それぞれのデバイスにシリアルで1ずつインクリメントされることとしてもよい。込み入ったタイミングを発生する必要はない。エントリタイミングおよびエグジットタイミングはデバイスのID書込み動作を用いることができる。
【００３４】
一般に本発明の態様は、以下に説明するように、複数のデバイスを有するシリアル相互接続構成で構成されたデバイス用のデバイス識別子(ID)を確立するための方法およびデバイスコントローラを提供し、このデバイスコントローラは、第1デバイスのシリアル入力で受信した入力信号に応答して第1デバイスに関連するデバイスIDを発生し、デバイスIDに関連関連する出力信号を、第1デバイスのシリアル出力を介して、クロック信号に同期して、シリアル相互接続構成にある第2デバイスへ転送するID発生器を備える。
【００３５】
図面を参照して、本発明の実施形態が説明される。以下の説明では、同じ参照符号が、信号、入力および出力接続に対して使用される。例えば参照符号CLKはクロック信号およびクロック入力接続を表し、IPEは入力ポートイネーブル信号およびデバイスの入力ポートイネーブル入力接続を表し、OPEは出力イネーブル信号およびデバイスの出力ポートイネーブル接続を表し、CS#はチップ選択信号およびチップ選択入力接続を表し、IPEQはデバイスの入力ポートイネーブル出力接続および入力ポートイネーブル出力信号を表し、OPEQはデバイスの出力ポートイネーブル出力接続および出力イネーブル出力信号を表す。
【００３６】
図1Aは、様々な信号用の入力および出力を有するシリアル相互接続構成で構成された複数のシングルポートデバイスを含む例示のデバイス構成を示している。この特定の実施例では、デバイス構成は4つのデバイス0、1、2、および3(110-1、110-2、110-3、および110-4)を含む。相互接続されたデバイス110-1〜110-4のそれぞれは同じ構造を有する。メモリコントローラ(図示していない)は、チップ選択CS#、シリアル入力(SI)、入力ポートイネーブル(IPE)、出力ポートイネーブル(OPE)、クロックCLKならびにデバイスに提供される他の制御およびデータ情報(図示していない)を含む信号の集まりを提供する。メモリシステムは、このようなデバイスのシリアル相互接続構成と、シリアルで相互接続されたデバイスの動作を制御するメモリコントローラとを含むこととしてもよい。
【００３７】
図1Bは、図1Aに示したデバイス110-1〜110-4の任意の1つを表す1つのデバイス110-iを示す。デバイス110-iは、デバイスコントローラ130と、例えばランダムアクセスメモリ(RAM)、フラッシュメモリなどを含むメモリ120とを備える。例えばランダムアクセスメモリは、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、磁気抵抗ランダムアクセスメモリ(MRAM)でよく、フラッシュメモリはNAND型、NOR型、AND型および他の型のフラッシュメモリとすることができる。デバイスコントローラ130はデバイス識別子(ID)発生器140を有する。デバイス110-iは、シリアル入力ポート(SIP)接続、シリアル出力ポート(SOP)接続、チップ選択入力(CS#)およびクロック入力(CLK)を有する。SIPはデバイス110-iへ情報(例えばコマンド、アドレスおよびデータ情報)を転送するのに用いられる。SOPはデバイス110-iから情報を転送するのに用いられる。CLK入力はクロック信号を受信する。CS#入力はチップ選択信号CS#を受信しており、これは全てのデバイスで同時に動作できる。デバイスコントローラ130は、種々の制御および入力信号(例えばSI、IPE、OPE、CLK)に応答してメモリ120へのアクセスを伴うプロセス機能を実行し、次のデバイス110‐(i+1)へシリアル出力データを提供する。
【００３８】
図1Aおよび1Bを参照すると、SIPおよびSOPはシリアル相互接続構成にあるデバイス間に接続されており、その結果シリアル相互接続の前のデバイス110-(i-1)のSOPはシリアル相互接続のデバイス110-iのSIPに結合される。例えば、デバイス1、110-1のSOPは、デバイス2、110-2のSIPに結合される。4つのデバイス110-1〜110-4のそれぞれのCLK入力は、メモリコントローラ(図示していない)からクロック信号CLKを送り込む。クロック信号CLKは、共通リンクを介して全てのデバイスに分配される。さらに以下で説明されるように、クロック信号CLKは、とりわけデバイス110-iへの情報入力をそこに含まれる種々のレジスタの所でラッチするのに使用される。CS#入力は、デバイスを選択するための、従来のチップ選択入力である。CS#入力は、共通リンクに結合されており、これから、チップ選択信号CS#は、デバイス110-1〜110-4の全てに対して同時にアサートされ得るので、その結果デバイス全てが選択される。
【００３９】
さらにデバイス110-iは、入力ポートイネーブル(IPE)入力、出力ポートイネーブル(OPE)入力、入力ポートイネーブル出力(IPEQ)および出力ポートイネーブル出力(OPEQ)を有する。IPEは、デバイス110-iへ入力ポートイネーブル信号IPEiを入力するのに使用される。信号IPEiはデバイスによってSIPをイネーブルするのに使用され、その結果、IPEがアサートされると、情報はSIPを介してデバイス110-iへシリアルで入力される。同様に、OPEは、デバイス110-iへ出力ポートイネーブル信号OPEiを入力するのに使用される。OPEi信号はデバイスによってSOPをイネーブルするのに使用され、その結果、OPEがアサートされると、情報はSOPを介してデバイス110-iからシリアルで出力される。IPEQおよびOPEQは、それぞれデバイス110-iからIPEQiおよびOPEQi信号を出力する出力である。CS#およびCLK入力は、前記したようにそれぞれ4つのデバイス110-1〜110-4へチップ選択信号CS#およびクロック信号CLKを分配する別個のリンクに結合されている。
【００４０】
SIPおよびSOPは、前記したようにシリアル相互接続構成にある、前のデバイス110-(i-l)から次のデバイス110-(i+1)へ結合される。さらに、前のデバイス110-(i-1)のIPEQおよびOPEQ出力が、それぞれシリアル相互接続構成にある目下のデバイス110-iのIPEおよびOPE入力に結合される。この配置は、IPEおよびOPE信号を、シリアル相互接続構成にある1つのデバイスからその次のデバイスへ(例えばデバイス0、110-1からデバイス1、110-2へ)転送可能にする。
【００４１】
デバイス110-1〜110-4へ送信された情報は、CLK入力へ送り込まれる異なる時間のクロック信号CLKでラッチすることができる。例えばシングルデータレート(SDR)実装では、SIPでのデバイス110-iへの情報入力はクロック信号CLKの立ち上がりか立ち下がりの一方のエッジでラッチできる。代替として、ダブルデータレート(DDR)実装では、クロック信号CLKの立ち上がりと立ち下がりの両方のエッジが、SIPにおいて情報入力をラッチするのに使用できる。
【００４２】
図1Aにおけるデバイス110-1〜110-4の構成は、シリアル相互接続(例えば入力SIおよび出力SO)と従来のマルチドロップ接続(例えばCLKおよびCS#)の両方を含む。したがって、この構成はシリアル相互接続とマルチドロップ構成の混成と呼ぶことができ、それぞれの利点が実現されることができる。
【００４３】
ID発生器140はIDを発生して、シリアル相互接続構成にあるデバイスに対してデバイスIDを確立する。
【００４４】
図2Aおよび2Bは、シリアル相互接続で構成された3つのデバイス210-1〜210-3を示しており、添付のタイミング図でデバイス間に転送される信号を示している。チップ選択信号CS#(図示していない)が最初にアサートされてデバイスが選択される。IPEのアサートと、(クロック信号CLKの次の立ち上がりエッジに)デバイス210-1へのクロッキングデータによって、シリアル相互接続のこの第1デバイス210-1へ情報が送信される。入力ポートイネーブル信号IPEは、信号IPE_0によって示したように1サイクル未満内で第1デバイス210-1を介して第2デバイス210-2へ伝播される。この伝播により、情報が第1デバイス210-1にクロックされて入った1サイクル後に、この情報を第1デバイス210-1のSOPから第2デバイス210-2のSIP入力へクロック可能である。このプロセスはシリアル相互接続の後続のデバイスに対して繰り返される。例えば情報は、クロック信号CLKの第3立ち上がりエッジで、第1デバイス210-1におけるデータのラッチポイントからシリアル相互接続の第3デバイス210-3へ入力される。コントロール信号IPE_0、IPE_1、IPE_2は信号CLKの立ち上がりエッジと同期しており、これによってシリアル相互接続構成にある次のデバイスの所で確実にこれらの信号に対して適切なセットアップ時間が確保される。
【００４５】
図3Aおよび4Aは、それぞれシングルおよびデュアルリンクに対するシリアル相互接続構成にあるメモリデバイス用のデバイス識別子(ID)を発生する例示的動作を示している。図3Aはシングルリンク構成で接続されたデバイス310-1〜310-mおよび310-nを示し、図3Bは図3Aに示したデバイスに対する信号タイミングを示している。同様に図4Aはデュアルリンク構成で接続されたデバイス410-1〜410-mおよび410-nを示し、図4Bは図4Aに示したデバイスに対する信号タイミングを示している。ここで、nは2以上の整数であり、mはn-1である。図3Aおよび4Aに示した特定の実施例では、それぞれのデバイスは図1Bのそれと類似であるID発生器を有するデバイスコントローラを含む。
【００４６】
この例示的動作は、シリアル相互接続の2つの入力、SIPおよびSOP入力を用いてデバイスIDを発生するものであり、第1入力がシリアル入力を受信し、第2ポートが制御信号を受信するシリアル相互接続で他のポートと共に使用されるように適合させることができる。このID発生技法は、MISL適用例に限定されず、シリアル接続(例えばデイジーチェーン)システムがクロックを有する場合に、複数の既存の入力ピンを有する任意のシリアル相互接続構成(例えばデイジーカスケード接続)に適用可能である。
【００４７】
この実施形態では、IPEは1バイト単位に基づいてシリアル入力ストリームをキャッチする機能を有し、その結果チップ選択信号CS#が再びlowになってからOPEが選択されてシリアルID入力ストリームをラッチする。「write ID entry」コマンドによってOPEはIDビットの全数と同じサイクルからなる入力ストリームをキャッチする。IDビットは、内部のIDレジスタのサイズによって確立される。例えば、デバイスが12ビットIDレジスタを有している場合、OPEは12サイクルの間「high」状態を保持することになる。12ビットデバイスIDは、シリアル相互接続で最大4,096個のアドレスを可能にする。したがって、本実施形態はシリアル相互接続構成にある多数のデバイスに適応可能であり、その数は各デバイスの所のピンの数によって制限されない。さらに、それぞれのデバイスは、内部ハードワイヤ型デバイスIDの、追加の複雑さも必要としない。
【００４８】
図3Bおよび4Bにおいて、「IDGMS」で参照されるID発生モード設定期間は、IDビット長に対応する所定のクロックサイクル+8サイクル(コマンドビット長)+シリアルで相互接続デバイスの想定した数、に等しい時間間隔である。
【００４９】
OPE入力とOPEQ出力あるいはop1とop2の間の信号転送のためには、2サイクルより多い非重複時間区分が、IDインクリメントならびに隣接の次のデバイスへのデータ転送によって生じる動作競合を回避するために存在すべきである。OPEがそれぞれのデバイス310-1〜310-nでアサートされてから、ラッチされるID入力データがデバイスのIDレジスタ(例えば図5Aの「516」で参照される)に記憶され、この入力と同時にインクリメント動作が実行され、その後でOPEQ出力をアサートする。OPE信号の機能は、各メモリデバイス内のIDレジスタの定義済みビットの1ビットから最大数ビットまでIDビット数を確定することである。IDビット数およびIDレジスタの定義済みビット数が等しい(「固定IDビット」)場合には、IDビットの順序は関係ない。しかし、他の場合全てにおいてデバイスIDに相当する信号が、次のデバイスへ最下位ビット(LSB)で始まり、最上位ビット(MSB)で終わる順序で転送される。この理由は後で説明する。
【００５０】
図5Aおよび5Bは、シリアル相互接続で構成されたデバイス110-i内のデバイスコントローラ500のID発生に伴う例示的論理を示す。クロック発生器501はデバイスのCLK入力へ送られたクロック信号を受信し、「Clk_cmd」および「Clk_dn」を含む内部のクロック信号を提供する。コマンドクロック「Clk_cmd」が、コマンドシリアルビットのビット長に等しい多数回アサートされる。図6に示したように、例えばメモリシステムが1バイト単位のコマンドを有する場合、clk_cmdはシリアルコマンドビット長をラッチするのに8クロックサイクルを必要とし、次いで、受信されるその次のコマンドまでラッチしたデータを保持する。デバイス番号(DN)のクロック「clk_dn」がID入力をクロックして、これが入力DNレジスタ504およびID一時レジスタ518に記憶される。SIP入力で受信した受信および記憶している信号のシーケンスは、定義済みシーケンスに一致する。例えば、このデバイスは、デバイスIDに一致する信号を最初に受信するように構成されてよく、引き続いてコマンドビットを受信する。この順序の結果、多数のClk_dnサイクルが発生され、次いでClk_cmdがクロック発生器501によって発行される。
【００５１】
コマンドビットをデコードするために、シリアル入力コマンドストリームがコマンドクロック「clk_cmd」に応答してコマンドレジスタ502中にシフトされ、コマンドレジスタ502が次に記録したMビットコマンドデータをパラレルにインタプリタ503に送信する。コマンドインタプリタ503はコマンドデコーダであり、付加的制御を開始する内部コマンド信号を受け渡す。2つのこのようなコマンド信号(cmd_wr_id_entry、cmd_wr_id_exit)が示され、ID発生モードを開始および停止する働きをする。
【００５２】
ID write発生器がコマンド「write ID entry」を発行する前に、メモリコントローラ(図示していない)がシリアル相互接続構成のデバイスのリセット入力にリセット信号を送信する。リセット入力は共通に接続されている。シリアル相互接続構成にある全てのデバイスはリセット信号によってリセットされる。リセットすると、全てのデバイスはデフォルトで「write ID entry」コマンドを受け取ることができ、また全てのデバイスはデフォルトIDの「zero」を有する。その結果、シリアル相互接続の全てのデバイスが同時に選択可能で、「zero」のコマンド「ID numbers」を持つことによって、コマンド「write ID entry」が全てのデバイスに命令を与える。
【００５３】
入力DNレジスタ504は前のデバイスからの入力IDデータを記憶する。(ID発生モードではなく)通常動作の間、入力DNレジスタ504は、NビットIDレジスタ516(例えば10ビットレジスタ)内のデバイスID番号と比較されるべき、SIPからの入力IDストリームの内容を一時的に記憶する。デバイスID発生の間、入力DNレジスタ504はシリアル入力データを受信しない。代わりに、ID一時レジスタ518が、シリアルデータをキャッチし、ID発生イネーブルブロック506として例示したID生成器または確立器へそれを送信する。ビット数Nは、ID番号中のビット数に等しい整数であり、シリアル相互接続にある全てのデバイスを識別するのに適した任意の数に等しくすることができる。
【００５４】
ID比較器505は、通常のデバイス動作の間にデバイスに宛てられたデータおよびコマンド信号を識別する働きをする。比較器505は、入力DNレジスタ504の所でNビットIDレジスタ516に記憶したデバイスIDとそれぞれ入ってくるデータのID番号を比較し、「ID_match」信号を提供する。ID番号が同一か同等である場合に、ID_match信号は「1」に等しくなる。その他では「0」になる。結果として、シリアル相互接続にある各デバイスは、信号がそのデバイスに宛てられたものであるかどうかを、入ってくるID番号がそれぞれのデバイスに記憶されているデバイスIDと同等であるということによって決定する。
【００５５】
図5Cは、図5Aおよび5Bのデバイスコントローラ500のID発生器600を示す。ID発生コントローラ507からの「id_gen_en」(ID発生イネーブル)信号に応答して、ID発生イネーブルブロック506が、ID一時レジスタ518のNビット入力をNビット加算器508(例えば10ビット加算器)として例示した計算器と、NビットIDレジスタ516へ転送する。ID発生イネーブル信号に対する例示的信号タイミングが図7に示されている。この同時転送は、Nビット加算器508およびNビットIDレジスタ516の不必要な信号遷移を防止する。デバイスIDは、デバイスIDのシーケンスおよびワード長によりIDレジスタ516に記憶される。例えばNビットIDレジスタ516が長さ10ビットで、OPE信号が5-サイクルの「high」状態を持つ場合、NビットIDレジスタ516は、5ビットデバイスIDを記憶し、5ビットデバイスIDに対応する信号が次のデバイスへ転送される。IDレジスタ516の残りのビットは無視され、したがって値「0」か「don’t care」に維持する。
【００５６】
ID発生プロセスの間、前述した実施例では、Nビットシリアル入力は最初、ID一時レジスタ518に記憶され、その後でNビット加算器508およびNビットIDレジスタ516に転送されている。一時レジスタからの同時転送はシリアル-パラレル(STP)レジスタの制限に打ち勝つ。例として、IDビット数(例えば、5ビット)がIDレジスタと加算器(例えば、10ビット)のビット数未満である場合を考える。ID発生およびID割当てプロセスの間、5ビット(ビット0(LSB)からビット4(MSB)まで)はSTPレジスタの最初の5ビットにロードされ、次いで10ビット加算器にパラレルに提供される。当業者にはすぐにわかることだが、LSBはレジスタのビット4上に配置されることになり、これは加算器のLSBと一致しない。ビットの順序がたとえMSB(ビット0)からLSB(ビット4)に逆転したとしても、STPレジスタ内のMSBの位置は10ビット加算器のMSBの位置と一致しないことになる。したがって、どのビットが第1ビットとして割り当てられるかを問わず、従来のSTPレジスタは結果として間違ったデバイスIDを発生することになる。このSTPレジスタの制限は、デバイスIDに一致するビットが、LSBで始まり、MSBで終わる順序で次のデバイスへ確実に転送され、さらに、図12Aおよび12Bを参照して後で詳細に説明するように、それらをID一時レジスタで受信した順(ID一時レジスタ518のLSBからビット0へ)に記憶することによって克服される。
【００５７】
ID発生コントローラ507が入力信号CS#(CS_en)、cmd_wr_id_entryおよびcmd_wr_id_exitを受信し、ID発生モードを開始する「id_gen_en」信号を送信する。「id_gen_en」信号は、例えば、信号CS#がlowからhigh、そして再びlowへ切り換り(図7参照)、一方、同時に信号cmd_wr_id_entryがアサートされているとアサートされる。「id_gen_en」は、当業者には明らかなように、任意の他の信号CS#の遷移と同時にアサートすることができることを留意する。
【００５８】
図8は通常動作での待ち時間を示す。基本的にMISLは2つの隣接デバイス間に1サイクルの待ち時間を有する。しかし、「write ID entry」コマンドは、以下で説明する図9Aに示されるように、1サイクル待ち時間から「IDビット(IDレジスタビットサイズ)+2サイクル」へパスの変更を行っている。
【００５９】
図9Aおよび9Bは、出力ポートイネーブル(OPE)信号によってID発生制御の論理および信号タイミングを示している。この動作の下では、IDビット長は、OPE信号highの長さによって決定することができ、別のデバイス数も含むシリアル相互接続構成に適合させることができる。OPE信号の機能は、図5A、5Bおよび5Cを参照して下で説明される。代替として、OPE信号はIDビット長を決定するのに必要なく、代わりに、所定値、IDレジスタ516のビットサイズによって、または他の信号に関係した値によって決定されてよい。
【００６０】
図9Bでは、10ビットID一時レジスタ518、10ビットIDレジスタ516、10ビット加算器508および10ビットパラレル-シリアルレジスタ510として例示したIDプロバイダが、5ビットデバイスIDを発生している間で示されている。これらのレジスタの機能は、図5A、5Bおよび5Cを参照して下で説明される。最大デバイスID番号は、内部加算器508およびパラレル-シリアルレジスタ510のビットサイズによって決定される。さらにデバイスID番号は、シリアル相互接続構成で接続できるデバイスの最大数に影響する。例えば、10ビットデバイスIDは、シリアルバス上にシングルシリアル相互接続方式で1024デバイスまで接続を可能とする。
【００６１】
代替として、OPE入力は、IPEのではなく前のデバイスのID番号の入力データストリームを取り込むように構成されてもよい。このOPE入力の追加的機能は、ID発生モードに単純なタイミングをもたらす。図3Aおよび4Aに関する一実装では、図3Bおよび4Bに示したように「write ID entry」がアサートされ、チップ選択信号CS#が「low」から「high」、そして「low」に切り換わってからOPEが、それぞれのメモリデバイスに組み込まれたIDレジスタのビット長に等しい時間、high状態にアサートされる。
【００６２】
図5A〜5Cおよび9Bを参照すると、ID write発生器517は、「wr_id_en」信号を発生し、これはID発生モードにおいてNビットIDレジスタ516内の/ID発生イネーブルブロック506の出力をラッチする。この信号は、OPE信号の立ち下がりエッジによってセットされる。
【００６３】
スタティック加算器であるNビット加算器508は、ID発生ブロック506の入力と固定整数、例えば図5Aに示したように「+1」の加算演算を実行する。例えばNが8に等しい場合、加算器はID一時レジスタ518からの8ビット数と、整数「10000000」(LSBからMSBの順に)の和を計算することができる。その結果、加算器508はデバイスID番号のシーケンス中の次の番号を生成する。加算器508は、同様の「+1」演算を実行する他の論理回路と置き換えることができる。さらに、論理500は、後続のデバイスIDを発生するために、Nビット数に(後で説明するように)他の整数の減算または加算などの他の演算を実行するように構成されることができる。
【００６４】
その結果のIDデータは、パラレル-シリアルレジスタ510に書き込まれ、次いでデバイスのSOP出力を介してシリアル信号として次のデバイスへ転送される。シリアルID番号は、次のデバイスによってそのデバイスIDとして使用されてもよく、次のデバイスによってそのデバイスIDを発生するために処理されてもよい。代替として、この論理は、もし、その結果の値がNビットIDレジスタ516に記憶されているデバイスIDに関係するなら、シリアルID番号を変更するために追加的演算を含むことがある。
【００６５】
パラレル-シリアルレジスタ510では、入力はパラレル形式で送信され、出力はシリアル形式で送信される。ID発生コントローラ507からの「id_gen_en」信号に応答してパラレル-シリアルデータライト発生器509は、パラレル-シリアルレジスタ510のパラレル入力パスを駆動する「wr_data_pts」信号を提供する。そのパスはshift_clockの最初のクロックサイクルの立ち上がりエッジの後に若干の遅れを持ってSOPを介してIDデータをシリアルで送信してディセーブルされる。LSBビットは送信される最初のビットであり、MSBは送信される最後のビットである。
【００６６】
セレクタ(例えばマルチプレクサ)511Sは、id_gen_en信号に応じて2つのパスの内の1つを選択する。id_gen_enがゼロである場合、つまり通常の動作モードで、セレクタ511Sのトップ入力「0」すなわちSdata(メモリセルからのシリアルリードデータ)がSOPとして出力バッファ515Sに提供され、これは次のデバイスに対してSIPとして働く。他の場合(ID発生モード)、ボトム入力パス「1」が選択され、つまり、Sdata_id(シリアルidデータ)がSOPとして出力バッファ515Sに提供され、これは、図5Bに示したように次のデバイスに対してSIPとして働く。
【００６７】
次のデバイスへシリアルでID番号を送信するために、クロック信号に合わせてクロックしなければならない。データシフトクロック発生器512は、パラレル-シリアルレジスタ510へクロック信号「shift_clock」を提供して、それによってクロックと信号「Sdata_id」(シリアルIDデータ)の同期をとる。
【００６８】
シフトレジスタブロック513は、シフトクロックサイクル数を通知するために発生させるID出力イネーブル信号(「id_out_en」)を提供する。シフトレジスタブロック513は、シリアルデータラッチおよび加算演算を実行するのに十分なタイミングマージンを提供するために、IDレジスタのビット長+2サイクルに等しいビット数分OPE信号をシフトする。シフトレジスタブロック513は、信号「opei」をシフトし、セレクタ(例えばマルチプレクサ)511Qへシフトした「opei」を提供するために1サイクルシフトレジスタと、(N+2)サイクルシフトレジスタとを含む。シフトレジスタブロック513は、追加の1サイクルシフトレジスタと合わせて(N+1)サイクルシフトレジスタも含み、一緒にORゲートへシフトした信号「opei」を提供している。その結果の信号「id_out_en」は、データシフトクロック発生器512に提供される。
【００６９】
データシフトクロック発生器512で信号「shift_clock」をイネーブルし、OPEQ信号よりも1サイクル早くシフトクロックを発行させる信号「id_out_en」が生じる。図10に示したように、次のデバイスがOPE信号(つまり前のデバイスからのOPEQ信号)によって重ね合わされた第1クロック信号でデータをラッチするので、この機能は信号の適切なタイミングを保証する。合計でIDビット数+1サイクルとなるサイクル持続時間の間、シフトクロックが生成されて、(後続のデバイスが現在のデバイスのSOPから正しくないID番号を受信させられることになる)前のデータが保持されないことを保証する。図11は図5A、5Bおよび5Cに示した実施例を参照して本明細書で説明されるID発生プロセスに関連して様々な信号のタイミングを示している。
【００７０】
ID発生用のデバイスコントローラ500は、また複数の入力バッファを含む。一入力バッファ514-1はチップ選択信号CS#を受信し、そのバッファ後出力信号はインバータによって反転される。反転後CS#信号は、「CS_en」としてID発生コントローラ507へ提供される。別の入力バッファ514-2は、SIP入力からSIを受信し、それをコマンドレジスタ502、入力DNレジスタ504およびID一時レジスタ518へ提供する。別の入力バッファ514-3は、クロック信号「Clock」を受信し、そのバッファ後出力信号「Clocki」はクロック発生器501へ提供される。他の入力バッファ514-4および514-5は、それぞれIPEおよびOPEを受信し、それらのバッファ後出力信号はセレクタ511Eに提供され、この選択された出力信号はクロック発生器501に送り込まれる。
【００７１】
さらに、デバイスコントローラ500は、出力バッファ515Qを含み、これは次のデバイス(図示していない)のOPE入力へOPEQ信号を提供する。OPEQ信号は、シフトレジスタブロック513の1サイクルシフトレジスタと(N+2)サイクルシフトレジスタから出力信号の1つを選択するセレクタ(例えばマルチプレクサ)511Qからの選択された出力信号である。選択された出力信号(つまりOPEQ信号)は、次のデバイスOPE入力へ送信される。
【００７２】
例えば、図3A(および図4A)、図3B(および図4B)および図5A〜5Cを参照すると、デバイス310-1(410-1)では、最初のID番号または値「00000」(SIの)がNビットIDレジスタ516に記憶される。デバイス310-1(410-1)のNビット加算器508が、最初のID番号に+1を加算し、Nビット加算器508の「10000」出力データをパラレル-シリアルレジスタ510にラッチする。セレクタ511Qは、出力バッファ515Sに「10000」をSOP「10000」として提供し、これは次のデバイス310-2(410-2)のSIPに提供される。受信したID番号「10000」(SIの)は、デバイス310-2(410-2)のNビットIDレジスタ516に記憶され、「+1」加算がそのNビット加算器508で実行される。Nビット加算器508の「01000」出力データは、デバイス310-2(410-2)のパラレル-シリアルレジスタ510にラッチされる。セレクタ511Qは、出力バッファ515Sへ「01000」をSOP「01000」として提供し、これが次のデバイス310-3(410-3)のSIPに提供される。受信したID番号「01000」は、デバイス310-3(410-3)のNビットIDレジスタ516に記憶される。このプロセスが最後のデバイス310-n(410-n)に達するまで継続される。全てのビットの順序は、ID発生モードに対して、LSBが最初でMSBが最後である規則に従う。したがって、それぞれのデバイスで割り当てたデバイスIDは、受信したIDと同じである。発生したID(「+1」加算したIDまたは計算したID)は、シリアル相互接続構成にある次のデバイスのSIPに提供される。
【００７３】
表1は上で説明した実施形態によるデバイスおよび割り当てたID(LSB→MSB)を示す。
【００７４】
【表１】
2009538065.tif 000003
【００７５】
NビットIDレジスタ516は、ID発生モードではID番号で満たされる。この内容は、例えばハードリセットピンによって初期値設定にリセットされる。NビットIDレジスタ516の内容は、何か通常動作を開始する時は入力DNレジスタ504の入力IDストリームと比較される。
【００７６】
ID発生モードでは(また通常動作と対照的に)デバイスID値およびビットサイズは、変更されることがあるので、OPE信号がアサートされる時間の長さに従って決定される。ID一時レジスタ518は、シリアルデータ転送なしで指定したビット位置で各シリアルビットを記憶することによってこの機能に適応する。
【００７７】
図12Aは、図5A〜5Cに示したID一時レジスタ518を図示している。図12Bは、ID一時レジスタ518に対する信号タイミングを示している。図5A〜5C、12Aおよび12Bを参照すると、ID一時レジスタ518は、(n+1)クロック制御ブロックに対応する(n+1)ビット記憶を有する。DNクロック「clk_dn」に応答して、(n+1)クロック制御ブロックが、それぞれクロック「clk0」〜「clk(n)」を提供し、これが(n+1)ビット記憶に送り込まれる。シリアル入力SIがパラレルに(n+l)ビット記憶に送り込まれ、それがSIデータをクロック「clk0」〜「clk(n)」に応じて記憶する。記憶データはビットデータ「bit0」〜「bit(n)」として提供される。
【００７８】
Nビット加算器508が、受信したID番号を増加させる1つの方法を提供していることに留意されたい。シリアル相互接続構成において多数のデバイスで実装する場合、このID発生論理は、各デバイスに対して固有デバイスIDを提供する累積的影響があり、デバイスID番号はそれぞれのデバイスで「1」ずつ増える。代替として、種々の論理がnビット加算器508に代入されて、それぞれのデバイスで固有のデバイスIDを発生させることができる。
【００７９】
他の実施例では、デバイスコントローラのID発生に関連するID発生論理が、Nビット演算の結果としてデバイスIDを確立する。この代替案は、Nビット加算器508の出力が、NビットIDレジスタ516に転送され、NビットIDレジスタ516が、受信したID番号ではなく、この値を記憶し、図13Aおよび13Bに示したように、それによってデバイス用のデバイスIDを確立することを必要とする。図13Aおよび13Bのデバイスコントローラ700のID発生器710は、図13Cに示されている。図14では、10ビットID一時レジスタ518、10ビットIDレジスタ516、10ビット加算器508および10ビットパラレル-シリアルレジスタ510として例示したIDプロバイダが、5ビットデバイスIDを発生する間で図示されている。図9Bに示した実施形態とは違い、10ビットID一時レジスタ518が10ビット加算器508へIDビットを転送する。次いで、10ビット加算器508によって加算または計算されたIDがl0ビットIDレジスタ516および10ビットパラレル-シリアルレジスタ510に提供される。図13Aおよび13Bに示したデバイスコントローラ700の全ての動作は、前に説明したデバイスコントローラ500と同様である。
【００８０】
さらに実施形態を説明するために、例えば図3A(および4A)、図13A〜13Cおよび図14を参照すると、デバイス310-1(410-1)は「00000」(SIの)を受信する。Nビット加算器508は、SIP入力に+1を加算し、Nビット加算器508の「10000」出力データをNビットIDレジスタ516およびパラレル-シリアルレジスタ510にラッチする。セレクタ511Qは、「10000」をSOP「10000」として出力バッファ515Sに提供し、これは次のデバイス310-2(410-2)のSIPに提供される。デバイス310-2(410-2)で受信した「10000」(SIの)と「+1」の加算はNビット加算器508で実行される。Nビット加算器の「01000」出力データは、NビットIDレジスタ516およびパラレル-シリアルレジスタ510にラッチされる。セレクタ511Qは、「01000」をSOP「01000」として出力バッファ515Sに提供し、これは次のデバイス310-3(410-3)のSIPに提供される。このプロセスが最後のデバイス310-n(410-n)に達するまで継続される。全てのビットの順序は、ID発生モードに対してLSBが最初でMSBが最後である規則に従う。したがって、それぞれのデバイスで割り当てられたデバイスIDは、受信したIDと同じでない。発生したID(「+1」加算したIDまたは計算したID)は、現在のデバイスに対して割り当てられかつ、シリアル相互接続構成にある次のデバイスのSIPにも提供される。
【００８１】
表2は、図13Aおよび13Bに示した実施形態によるデバイスおよび割り当てたID(LSB→MSB)を示す。
【００８２】
【表２】
2009538065.tif 000004
【００８３】
さらに他の実施形態では、デバイスコントローラのID発生に関連するID発生論理が、Nビット減算演算の結果としてデバイスIDを確立する。例えば、図15Aおよび15Bに示したように、「N-ビット減算器」が受信したID番号から「1」を減算できる。図15Aおよび15Bのデバイスコントローラ800のID発生器810は、図15Cに示されている。デバイスコントローラ800は、図5Bおよび13Bに示したNビット加算器508の代わりにN-ビット減算器708を有する。
【００８４】
図3A〜3B、4A〜4Bおよび15A〜15Cを参照すると、デバイス310-1(410-1)で受信したSIPの入力ID番号または値「11111」が、NビットIDレジスタ516に記憶される。N-ビット減算器708はSIP入力から1を減算し、N-ビット減算器708の「11110」出力データをパラレル-シリアルレジスタ510にラッチする。セレクタ511Qは、「11110」をSOP「11110」として出力バッファ515Qに提供し、これは次のデバイス310-2(410-2)のSIPに提供される。「11110」(SIの)はこのデバイス310-2(410-2)のNビットIDレジスタ516に記憶され、「-1」減算がN-ビット減算器708で実行される。Nビット減算器708の「11101」出力データがパラレル-シリアルレジスタ510にラッチされる。セレクタ511Qが、「11101」をSOP「11101」として出力バッファ515Sに提供し、これは次のデバイス310-3(410-3)のSIPに提供される。このプロセスが最後のデバイス310-n(410-n)に達するまで継続される。全てのビットの順序は、ID発生モードに対してLSBが最初でMSBが最後である規則に従う。したがって、それぞれのデバイスで割り当てられたデバイスIDは、受信したIDと同じである。発生したID(「-1」減算したIDまたは計算したID)は、シリアル相互接続にある次のデバイスのSIPに提供される。
【００８５】
表3は上で説明した実施形態によるデバイスおよび割り当てたID(LSB→MSB)を示す。
【００８６】
【表３】
2009538065.tif 000005
【００８７】
この実施形態の「カウントダウン」ID発生により、信号のタイミングは図11に示したものとは異なる。図16は、図15A、15Bおよび15Cに示した実施形態を参照して本明細書で説明したID発生プロセスに関連する種々のタイミングを図示している。図17は、図15Aに示した実施形態に対してOPE信号によるIDビット長の制御を図示している。
【００８８】
図15A〜15C、16および17を参照すると、10ビットID一時レジスタ518は、IDビットを10ビットIDレジスタ516および10ビット減算器708に転送する。次いで減算器708によって減算または計算したIDは、10ビットパラレル-シリアルレジスタ510に提供される。このデバイスコントローラ800の全ての他の動作は、前に説明した図5A〜5Bおよび13A〜13Bの実施形態と同様である。
【００８９】
図13A、13Bおよび13Cに示した実施形態に図15A、15Bおよび15Cに示したN-ビット減算器708を共に実装することは当業者には明らかであろう。表4は上で説明した実施形態によるデバイスおよび割り当てたID(LSB→MSB)を示す。
【００９０】
【表４】
2009538065.tif 000006
【００９１】
同様に、システムを実装するために「1」以外の整数が、受信したID番号に加算または減算されて、非累積的なシーケンスのデバイス番号を一連のデバイスに与えることができることも明らかであろう。
【００９２】
上記のID発生論理および方法は、例えば、外部ハードピンの割当てなしでデバイス識別子を必要とするフラッシュメモリデバイスなどのメモリデバイスに組み込むことができる。ID発生論理の実施形態は、単独または個別デバイスとして実装されて、任意のメモリデバイスのID発生をサポートすることもできる。単独のデバイス実装に対して、ピンアロケーションは、選択したメモリデバイスの内部信号条件によって変更される。
【００９３】
デバイスID発生の前記実施形態は、本明細書で説明した原理を逸脱せずに、多くの異なるシステム中で実装するために変更できる。例えば、図5Aおよび5B参照すると、「write ID entry」に基づくコマンドは、CS#遷移lowからhigh、そしてlowによって、一緒に「write ID exit」を導入することができる。さらに、1つの専用のピンが割り当てられてよく、「entry mode enable」を受信して「write ID entry」コマンドの役割を代わりに行うこともできる。
【００９４】
ID発生exitの代替的方法としては、CS#遷移の代わりに、exitコマンドか、デバイス内のexit論理の実装を用いることである。
【００９５】
MISL(マルチインデペンデントシリアルリンク)を含むフラッシュメモリとは別に、本明細書で説明したこの技法は、接続したデバイスの1つを選択するためにID番号を必要とするシリアル相互接続構成にある任意のデバイスに対して、制限せずに適用することができる。
【００９６】
実施例に対して多くの変更例がある。アクティブ「high」または「low」論理信号は、それぞれアクティブ「low」または「high」論理信号に変更できる。論理「high」および「low」状態の信号は、それぞれlowおよびhigh供給電圧VssおよびVddによって表すことができる。
【００９７】
前記実施例では、デバイス要素および回路は簡略化するために図示したように互いに接続されている。メモリシステム、デバイス、要素、回路などへの実際の技術の適用では、互いに直接接続されあるいは連結されてもよい。その上、デバイス、要素、回路などは、メモリシステムの動作に必要な場合、他のデバイス、要素、回路などを介して互いに間接的に接続され、連結されてもよい。
【００９８】
前記説明では、本発明の実施形態の一貫した理解を提供するために、説明の目的で多くの細部が述べられている。しかし、本発明を実施するためにこれらの具体的な細部が必要ないということは当業者には明らかである。他の場合には、本発明を曖昧にしないために、周知の電気構造および回路はブロック図の形で示されている。例えば、本明細書で説明した本発明の実施形態が、ソフトウェアルーチン、ハードウェア回路、ファームウェア、またはその組合せなどとして実装されるかどうかに関して具体的細部は提供されない。
【００９９】
本発明の前記実施形態は単に例示であることを意図したものである。本明細書に添付の特許請求の範囲によってのみ定義される、本発明の範囲を逸脱せずに特定の実施形態に対して変更、修正および変形を当業者には実行し得る。
【符号の説明】
【０１００】
110-1    デバイス0
110-2    デバイス1
110-3    デバイス2
110-4    デバイス3
110-i    デバイスi
110-(i-1)    デバイス
120    メモリ
130    デバイスコントローラ
140    ID発生器
210-1    デバイス
210-2    デバイス
210-3    デバイス
310_1    デバイス
310_m    デバイス
310_n    デバイス
410_1    デバイス
410_m    デバイス
410_n    デバイス
500    デバイスコントローラ
501    クロック発生器
502    コマンドレジスタ
503    インタプリータ
504    入力DNレジスタ
505    ID比較器
506    ID発生イネーブルブロック
507    ID発生コントローラ
508    Nビット加算器
510    10ビットパラレル-シリアルレジスタ
516    NビットIDレジスタ
518    ID一時レジスタ
600    ID発生器
515S    出力バッファ
512    データシフトクロック発生器
500    デバイスコントローラの論理
510    パラレル-シリアルレジスタ
511E    セレクタ
515Q    出力バッファ
511Q    セレクタ
513    シフトレジスタブロック
514-1    入力バッファ
514-2    入力バッファ
514-3    入力バッファ
514-4    入力バッファ
514-5    入力バッファ
310-1    デバイス
410-1    デバイス
310-2    デバイス
410-2    デバイス
515-S    出力バッファ
508    Nビット加算器
310-3    デバイス
410-3    デバイス
310-n    デバイス
410-n    デバイス
700    デバイスコントローラ
708    N-ビット減算器
710    ID発生器
800    デバイスコントローラ
【図１Ａ】
2009538065.tif 000007
【図１Ｂ】
2009538065.tif 000008
【図２Ａ】
2009538065.tif 000009
【図２Ｂ】
2009538065.tif 000010
【図３Ａ】
2009538065.tif 000011
【図３Ｂ】
2009538065.tif 000012
【図４Ａ】
2009538065.tif 000013
【図４Ｂ】
2009538065.tif 000014
【図５Ａ】
2009538065.tif 000015
【図５Ｂ】
2009538065.tif 000016
【図５Ｃ】
2009538065.tif 000017
【図６】
2009538065.tif 000018
【図７】
2009538065.tif 000019
【図８】
2009538065.tif 000020
【図９Ａ】
2009538065.tif 000021
【図９Ｂ】
2009538065.tif 000022
【図１０】
2009538065.tif 000023
【図１１】
2009538065.tif 000024
【図１２Ａ】
2009538065.tif 000025
【図１２Ｂ】
2009538065.tif 000026
【図１３Ａ】
2009538065.tif 000027
【図１３Ｂ】
2009538065.tif 000028
【図１３Ｃ】
2009538065.tif 000029
【図１４】
2009538065.tif 000030
【図１５Ａ】
2009538065.tif 000031
【図１５Ｂ】
2009538065.tif 000032
【図１５Ｃ】
2009538065.tif 000033
【図１６】
2009538065.tif 000034
【図１７】
2009538065.tif 000035
【国際調査報告】
2009538065.tif 000036
2009538065.tif 000037