(57)【特許請求の範囲】
【請求項１】
データを第1のデバイスから直列結合の第2のデバイスに転送するための装置であって、前記データはクロック信号の遷移によって画定される期間を有し、
前記第1のデバイスは、
第1の入力クロック信号に応答して、位相が互いに前記データに対し異なるシフトをもつ複数の第1の再生クロック信号を生成し、前記複数の第1の再生クロック信号のうちの少なくとも1つの信号に応答して第1の出力クロック信号を生成するように構成された、第1のクロック回路と、
前記第１の入力クロック信号に応じて前記データを受け取り第１の出力データを提供する第１の入出力回路と、
前記第１の出力データの転送を前記第１の出力クロック信号に同期させ、前記第1の出力クロック信号の遷移が前記第１の出力データの期間に生じるようにする、第1の同期回路と、
を備え、
前記第2のデバイスは、
前記第１のデバイスからの前記第1の出力クロック信号から導出された第2の入力クロック信号に応答して、位相が互いにデータに対し異なるシフトをもつ複数の第2の再生クロック信号を提供する、第2のクロック回路と、
前記第2の入力クロック信号に応答して、前記第1のデバイスから転送される前記第１の出力データを受け取るデータ入力回路と、
を備える、前記装置。
【請求項２】
前記第1のクロック回路は、
前記第1の入力クロック信号に応答して前記複数の第1の再生クロック信号を供給するための第1の位相同期ループ(PLL)と、
前記複数の第1の再生クロック信号のうちの少なくとも1つの信号に応答して前記第1の出力クロック信号を生成するための第1のクロック出力回路と、を備え、
前記第2のクロック回路は、
前記第2の入力クロック信号に応答して前記複数の第2の再生クロック信号を供給するための第2のPLLを備える請求項1に記載の装置。
【請求項３】
前記第1および第2のPLLは、それぞれ、第1および第2の制御信号に応答して選択的にイネーブルまたはディセーブルされるように構成される請求項2に記載の装置。
【請求項４】
前記第1のPLLがイネーブルされたときに、前記第1のPLLは、前記第1の入力クロック信号に応答して、前記複数の第1の再生クロック信号を生成し、
前記第2のPLLがイネーブルされた場合、前記第2のPLLは、前記第2の入力クロック信号に応答して、前記複数の第2の再生クロック信号を生成する請求項3に記載の装置。
【請求項５】
前記第1の入力クロック信号は、1つのクロック信号とその相補クロック信号とを含み、
前記第1の出力クロック信号は、1つのクロック信号とその相補クロック信号とを含む請求項１に記載の装置。
【請求項６】
前記第1のクロック回路は、前記1つのクロック信号とその相補クロック信号とを含む前記第1の入力クロック信号に応答して第1の内部クロック信号を供給するように構成され、
前記第1の出力クロック回路は、1つのクロック信号とその相補クロック信号とを含む第2の内部クロック信号を供給するように構成される請求項５に記載の装置。
【請求項７】
前記第1のPLLは、前記第1のPLLがイネーブルされたときに前記第1の内部クロック信号に応答して前記複数の第1の再生クロック信号を生成するようにさらに構成される請求項６に記載の装置。
【請求項８】
前記第1の同期回路は、前記第1のPLLがディセーブルされたときに前記データの転送を前記第1の内部クロック信号に同期させるようにさらに構成される請求項７に記載の装置。
【請求項９】
前記第2のデバイスの前記第1のデータ入力回路は、前記第2の内部クロック信号に応答して前記第1のデバイスから転送された前記データを受け取るように構成される請求項８に記載の装置。
【請求項１０】
前記第1のデバイスは、
第1のホルダーに識別情報を供給するための第1の識別情報供給器を備え、
前記第1の制御信号は、前記第1のホルダー内に保持されている前記識別情報に応答して供給され、前記第1の制御信号は前記第1のPLLをそれぞれイネーブル、ディセーブルする論理Highおよび論理Lowの一方である、請求項９に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、2007年12月14日に出願した米国仮特許出願第61/013,784号、2008年1月9日に出願した米国仮特許出願第61/019,907号、2008年3月26日に出願した米国仮特許出願第61/039,605号、2008年7月4日に出願した米国特許出願第12/168,091号、および2008年11月28日に出願した米国特許出願第12/325,074号からの優先権の利益を主張するものである。
【０００２】
本発明は、デバイスに関するものである。より具体的には、本発明は、複数のデバイスを有するシステムおよびそのようなシステム内で使用するクロックを再生するための方法に関するものである。また、本発明は、半導体デバイスにも関係するものである。より具体的には、本発明は、複数の半導体デバイスを有するシステムならびにそのようなシステム内で使用するためのタイミングおよびクロッキング方法に関するものである。
【背景技術】
【０００３】
電子機器は、例えば、メモリデバイスなどの半導体デバイスを使用する。メモリデバイスとしては、ランダムアクセスメモリ(RAM)、フラッシュメモリ(例えば、NANDフラッシュデバイス、NORフラッシュデバイス)、およびデータもしくは情報を格納するための他のタイプのメモリが挙げられる。
【０００４】
回路基板上のメモリシステムは、さまざまなアプリケーションの要件に合わせるために高密度と高速動作の両方を達成するように設計されている。高密度メモリシステムを回路基板上に実装するために使用できる2つの設計技術として、直列カスケード相互接続構成とマルチドロップバス相互接続構成がある。これらの設計技術では、多数のメモリデバイスを単一のメモリ制御デバイスに接続できるようにすることによって密度の問題を解決する。設計技術の1つは、複数のメモリデバイスがメモリコントローラに並列接続されているマルチドロップバス相互接続構成である。設計技術のもう1つは、複数のメモリデバイスの直列接続である。
【０００５】
メモリを備えるシステムでは、さまざまなクロッキング方法が使用されうる。共通ソースクロックを使用すると、クロック信号は、この配列構成の並列性により歪みを生じる可能性がある。その上、これは、いくつかのスキュー因子を有し、多数のデバイスがマルチドロップ方式で接続されると動作周波数範囲が制限され、高速アプリケーションでは使用できない。クロックの波形整形および再送を使用する、ソース同期クロッキングシステムでは、高い周波数動作範囲を利用することができ、共通同期クロックスキュー因子のいくつかを回避するが、システムの性能に重大な影響を及ぼさない他のスキュー因子が入り込む。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国仮特許出願第61/013,784号明細書
【特許文献２】米国仮特許出願第61/019,907号明細書
【特許文献３】米国仮特許出願第61/039,605号明細書
【特許文献４】米国特許出願第12/168,091号明細書
【特許文献５】米国特許出願第12/325,074号明細書
【特許文献６】国際公開第WO/2007/0109886号パンフレット
【特許文献７】国際公開第WO/2007/0134444号パンフレット
【特許文献８】国際公開第WO/2008/098342号パンフレット
【特許文献９】国際公開第WO/2007/036048号パンフレット
【特許文献１０】米国特許出願第12/034,686号明細書
【特許文献１１】米国特許出願第2007/0076502A1号明細書
【特許文献１２】国際公開第WO/2008/067652号パンフレット
【特許文献１３】国際公開第WO/2008/022454号パンフレット
【特許文献１４】国際公開第WO/2008/067636号パンフレット
【特許文献１５】国際公開第WO/2008/067659号パンフレット
【特許文献１６】国際公開第WO/2008/098367号パンフレット
【特許文献１７】米国仮特許出願第60/902,003号明細書
【特許文献１８】国際公開第WO/2008/109981号パンフレット
【特許文献１９】国際公開第WO/2008/074126号パンフレット
【非特許文献】
【０００７】
【非特許文献１】「Designing High Data Rate Interfaces」、IEEE 2004 VLSI Circuits Symposium、2004年6月16日
【発明の概要】
【課題を解決するための手段】
【０００８】
本発明の一態様によれば、入力クロック信号の遷移によって画定される期間を有するデータを転送するためのデバイスが提供される。デバイスは、クロック回路および同期回路を備える。クロック回路は、入力クロック信号に応答して複数の再生クロック信号を供給するように構成されている。複数の再生クロック信号の位相は、互いにデータに対し異なるシフトを生じる。クロック回路は、複数の再生クロック信号のうちの少なくとも1つの信号に応答して1つの出力クロック信号を生成するようにも構成されている。同期回路は、データの転送を再生クロック信号のうちの少なくとも1つの信号に同期させる。出力クロック信号の遷移は、データの期間に発生する。
【０００９】
例えば、複数の再生クロック信号の位相のそれぞれは、互いに対しシフトされた位相である。異なるシフト量の位相を有する再生クロック信号に応答して、クロック回路は、柔軟な位相シフト(flexible phase shifts)を有する出力クロック信号を生成することができる。
【００１０】
クロック回路は、入力クロック信号に応答して複数の再生クロック信号を供給するための位相同期ループ(PLL)と、複数の再生クロック信号のうちの少なくとも1つの信号に応答して1つの出力クロック信号を生成するためのクロック出力回路とを備えることができる。
【００１１】
例えば、PLLは、第1および第2の論理状態を有する制御信号に応答して選択的にイネーブルまたはディセーブルして、PLLをそれぞれイネーブルし、ディセーブルするように構成されている。PLLがイネーブルされている場合、PLLは、入力クロック信号に応答して複数の再生クロック信号を生成する。クロック出力回路は、複数の再生クロック信号のうちの少なくとも1つの信号に応答して1つの出力クロック信号を生成する。同期回路は、データの転送を再生クロック信号のうちの少なくとも1つの信号に同期させる。PLLがディセーブルされている場合、同期回路は、データの転送を入力クロック信号に同期させる。
【００１２】
有利には、PLLは、データとともに90°の倍数である位相シフトを持つ再生クロック信号を出力するようにさらに構成される。
【００１３】
例えば、デバイスは、1つのクロック信号とその相補クロック信号とを含む入力クロック信号を受け取る。入力クロック信号に応答して、クロック回路は、内部クロック信号を供給する。PLLは、PLLがイネーブルされたときに内部クロック信号に応答して複数の再生クロック信号を生成する。PLLがディセーブルされたとき、同期回路は、データの転送を内部クロック信号に同期させる。
【００１４】
デバイスは、デバイスに関連する識別情報を保持するためのホルダーをさらに備えることができ、その識別情報はデバイスを識別するために使用される。ホルダー内に保持されている識別情報に応答して、制御信号を送ることができる。制御信号は、論理Highおよび論理Lowの一方であり、これにより、PLLをそれぞれイネーブル、ディセーブルする。
【００１５】
デバイスは、この識別情報に基づいてデバイスの識別に応答してメモリにアクセスするためのアクセス回路をさらに備えることができる。
【００１６】
本発明の他の態様によれば、データを第1のデバイスから第2のデバイスに転送するための装置が提供され、データはクロック信号の遷移によって画定される期間を有する。第1のデバイスは、第1のクロック回路と第1の同期回路とを備える。第1のクロック回路は、第1の入力クロック信号に応答して複数の第1の再生クロック信号を供給し、複数の第1の再生クロック信号の位相が互いにデータに対し異なるシフトを生じ、複数の第1の再生クロック信号のうちの少なくとも1つの信号に応答して第1の出力クロック信号を生成するように構成される。第1の同期回路は、データの転送を複数の第1の再生クロック信号のうちの少なくとも1つの信号に同期させ、第1の出力クロック信号の遷移はデータの期間に発生する。第2のデバイスは、第1の出力クロック信号から導出された第2の入力クロック信号に応答して複数の第2の再生クロック信号を供給し、複数の第2の再生クロック信号の位相が互いにデータに対し異なるシフトを生じるように構成された第2のクロック回路と、第2の入力クロックに応答して第1のデバイスから転送されたデータを受け取るための第1のデータ入力回路とを備える。
【００１７】
例えば、第1のクロック回路は、第1の入力クロック信号に応答して複数の第1の再生クロック信号を供給するための第1の位相同期ループ(PLL)と、複数の第1の再生クロック信号のうちの少なくとも1つの信号に応答して第1の出力クロック信号を生成するための第1のクロック出力回路とを備える。第2のクロック回路は、第2の入力クロック信号に応答して複数の第2の再生クロック信号を供給するための第2のPLLを備える。
【００１８】
第1および第2のPLLは、それぞれ第1および第2の制御信号に応答して選択的にイネーブルまたはディセーブルされるように構成することができる。第1のPLLがイネーブルされた場合、第1のPLLは、第1の入力クロック信号に応答して、複数の第1の再生クロック信号を生成する。第2のPLLがイネーブルされた場合、第2のPLLは、第2の入力クロック信号に応答して、複数の第2の再生クロック信号を生成する。
【００１９】
本発明の他の態様によれば、提供されるシステムは、コントローラと、直列接続された複数のデバイスとを備え、その動作はクロック信号と同期する。これらのデバイスのそれぞれは、選択的にイネーブルされるように構成され、イネーブルされている間に入力クロック信号に応答して複数の再生クロック信号を供給する位相同期ループ(PLL)であって、再生クロック信号が入力クロック信号の異なる量で位相シフトされたバージョンの信号である、位相同期ループ(PLL)と、データの転送を再生クロック信号のうちの少なくとも1つの信号に同期させるための同期回路とを備える。
【００２０】
本発明の他の態様によれば、複数のデバイスで使用する方法が提供され、これら複数のデバイスのそれぞれは位相同期ループ(PLL)を備え、入力クロック信号に応答して一方のデバイスが他方のデバイスにデータを転送する。この方法は、制御信号に応答してPLLを選択的にイネーブルし、イネーブルされたPLLは入力クロック信号に応答して複数の再生クロック信号を出力し、再生クロック信号は入力クロック信号の異なる量で位相シフトされたバージョンの信号であるステップを含む。
【００２１】
本発明の他の態様によれば、クロック信号に従ってクロック同期するデータを転送するための方法であって、データはクロック信号の遷移によって画定される期間を有する、方法が提供され、この方法は、位相同期ループ(PLL)を選択的にイネーブルまたはディセーブルするステップと、PLLがイネーブルされている間に入力クロック信号に応答して再生クロック信号を供給するステップであって、再生クロック信号は入力クロック信号の位相シフトされたバージョンの信号であるステップと、データの転送を再生クロック信号に同期させるステップであって、再生クロック信号のクロック遷移はデータの期間に発生するステップとを含む。
【００２２】
本発明の他の態様によれば、データを第1のデバイスから第2のデバイスに転送するための方法であって、データはクロック信号に従ってクロック同期され、またデータはクロック信号の遷移によって画定される期間を有する、方法が提供され、この方法は、第1の入力クロック信号に応答して再生クロック信号を供給するステップであって、再生クロック信号は第1の入力クロック信号の位相シフトされたバージョンの信号であるステップと、データの転送を再生クロック信号に同期させるステップであって、再生クロック信号のクロック遷移はデータの期間に発生し、再生クロック信号は出力クロック信号として供給されるステップと、第1のデバイスからの出力クロック信号に応答して再生クロック信号を供給するステップであって、再生クロック信号は第1のデバイスからの出力クロック信号の位相シフトされたバージョンの信号であるステップと、第1のデバイスから転送されたデータを受け取るステップとを含む。
【００２３】
本発明の他の態様によれば、クロック信号に従ってクロック同期するデータを転送するための方法であって、データはクロック信号の遷移によって画定される期間を有する、方法が提供される。この方法は、位相同期ループ(PLL)を選択的にイネーブルまたはディセーブルするステップと、PLLがイネーブルされている間に入力クロック信号に応答して複数の再生クロック信号を供給するステップであって、再生クロック信号は入力クロック信号の異なる量で位相シフトされたバージョンの信号であるステップと、データの転送を再生クロック信号のうちの少なくとも1つの信号に同期させるステップとを含む。
【００２４】
本発明の他の態様によれば、データを第1のデバイスから第2のデバイスに転送するための方法であって、データはクロック信号に従ってクロック同期され、またデータはクロック信号の遷移によって画定される期間を有する、方法が提供される。第1のデバイスにおいて、この方法は、第1の入力クロック信号に応答して複数の再生クロック信号を供給するステップであって、再生クロック信号は第1の入力クロック信号の異なる量で位相シフトされたバージョンの信号であるステップと、データの転送を複数の再生クロック信号のうちの少なくとも1つの信号に同期させるステップであって、再生クロック信号のクロック遷移はデータの期間に発生し、再生クロック信号は出力クロック信号として供給されるステップとを含む。第2のデバイスにおいて、この方法は、第1のデバイスからの出力クロック信号に応答して複数の再生クロック信号を供給するステップであって、再生クロック信号は第1のデバイスからの出力クロック信号の異なる量で位相シフトされたバージョンの信号であるステップと、第1のデバイスから転送されたデータを受け取るステップとを含む。
【００２５】
本発明の一態様によれば、ソース同期クロッキングを採用する直列接続された複数のデバイスと通信するための装置が提供され、この装置は、直列接続されたデバイスの個数に関係する個数情報を検出するための情報検出器と、検出された個数情報に応答してクロック信号を生成し、生成されたクロック信号は装置とデバイスとの間の通信を同期させるために使用される、クロック生成器とを備える。
【００２６】
例えば、情報検出器は、複数の直列接続されたデバイスのうちの1つに関連付けられているデバイス識別子(ID)を検出し、検出されたデバイスIDを検出された個数情報としてクロック生成器に供給するための識別子検出器を備える。識別子検出器は、デバイスIDに含まれる複数のビットのうちの1つに関する情報を検出するためのビット情報検出器を備えることができる。
【００２７】
ビット情報検出器は、デバイスIDの最下位ビット(LSB)が「1」であるか「0」であるかを判定し、判定結果を検出された個数情報をとして供給し、整列クロック信号はこの判定結果に応答して生成されるビット数判定器を備えることができる。
【００２８】
装置は、ID割り当ての完了のステータスを示す信号を受け取り、そのID割り当てが完了しているかどうかを判定し、登録済みデバイスIDのLSBを判定するためにID割り当て完了のステータスをビット判定器に供給するためのモード検出器をさらに備えることができる。
【００２９】
例えば、クロック生成器は、デバイス識別子割り当てが完了しているか、または進行中であることを検出した結果に応答してデータとともにエッジ整列または中央整列のいずれかのクロック信号を生成し、装置はデバイスに入力されたデータおよびデバイスから出力されたデータを制御するためのストローブ信号を供給し、データはクロック信号と同期して伝送される。
【００３０】
本発明の他の態様によれば、ソース同期クロッキングを採用する直列接続された複数のデバイスの通信を行うための方法が提供され、この方法は、直列接続されたデバイスの個数に関係する個数情報を検出するステップと、検出された個数情報に応答してクロック信号を生成するステップであって、生成されたクロック信号はデバイスとの通信を同期させるために使用されるステップとを含む。
【００３１】
この方法は、直列接続されたデバイスのそれぞれに関連付けられている一意的なデバイス識別子(ID)を割り当てるステップであって、デバイスの割り当てられたIDは連続的であるステップと、複数の直列接続されたデバイスのうちの1つに関連付けられているデバイスIDを検出するステップと、検出されたデバイスIDを検出された個数情報として供給するステップとを含む。デバイスIDを検出するステップは、デバイスIDの完了の検出に応答してデバイスIDに含まれる複数のビットのうちの1つのビットに関する情報を検出するステップを含むことができる。
【００３２】
本発明の他の態様によれば、提供されるシステムは、ソース同期クロッキングを使用する複数の直列接続されたデバイスと、直列接続されたデバイスと通信するように構成されたコントローラを備え、コントローラは直列接続されたデバイスの個数に関係する個数情報を検出するための情報検出器と、検出された個数情報に応答してクロック信号を生成し、生成されたクロック信号はコントローラとデバイスとの間の通信を同期させるために使用される、クロック生成器とを備える。
【００３３】
本発明の一実施形態によれば、メモリコントローラおよび少なくとも1つの半導体デバイスを備えるシステムが提供される。
【００３４】
本発明の一実施形態によれば、選択的にイネーブルまたはディセーブルされるPLLを備えるデバイスが提供される。PLLは、イネーブルされた場合に、入力クロック信号およびその相補信号によって画定される基準クロック信号に対して90°、180°、270°、および360°だけ位相シフトされた複数の再生クロック信号を供給する。PLLは、選択的にイネーブルまたはディセーブルされる。複数の再生クロック信号の組合せのうちの1つに応答して、データが転送される。ディセーブルされた場合、クロックがPLLによって再生されず、基準信号に応答して、データが転送される。
【００３５】
本発明の他の実施形態によれば、メモリコントローラとメモリコントローラに直列接続された複数のメモリデバイスとを備えるシステムが提供される。複数のメモリデバイスは、複素のグループに分割される。メモリコントローラは、デバイスのオペレーションを同期させるためのクロック信号を供給する。1つのグループに属すデバイスは、ソース同期クロック構造および共通同期クロック構造によってもたらされるクロック信号によってクロック同期される。これらのデバイスのそれぞれは、イネーブル信号によって選択的にイネーブルされるPLLを備える。PLLは、イネーブルされると、データとともに90°の倍数だけ位相シフトされた複数の再生クロック信号を出力する。PLLがイネーブルされたデバイスのそれぞれは、再生クロック信号で動作する。PLLがディセーブルされた場合、そのデバイスは、入力クロック信号で動作する。ディセーブルされたPLLのデバイスは、消費電力を低減する。イネーブルされたPLLによって供給される再生クロック信号に応答して、ソース同期クロッキングのために直列接続の次のデバイスに出力クロック信号が供給される。複数のチップパッケージによって、複数のグループのデバイスが構造化される。クロック位相シフトによって、伝送されるべきデータとともに中央-エッジクロックがもたらされ、その結果、ある種のスキューは性能低下因子とはみなされない。
【００３６】
他の実施形態によれば、フラッシュメモリの柔軟なオペレーションが可能な半導体メモリデバイス、例えば、NANDフラッシュデバイスが提供される。
【００３７】
他の実施形態によれば、メモリコントローラとメモリコントローラに直列接続された複数のメモリデバイスとを備えるシステムが提供される。システムは、ソース同期クロック構造で動作する。メモリコントローラは、入力発振信号から90°、180°、270°、および360°の位相シフトを発生するPLL(位相同期ループ)を備える。これらの位相シフト信号のうちのいくつかは、クロック整列に使用される。これらのデバイスには、一意的な連続する識別子(ID)番号が割り当てられる。最後のデバイスのID番号の最下位ビットが、クロック整列の決定に使用され、データを含むエッジまたは中央整列クロックがメモリコントローラによって生成される。
【００３８】
一実施形態によれば、コントローラは、データとともに中央整列またはエッジ整列のクロックを供給する。直列接続されたデバイスのそれぞれは、データとともにエッジ整列または中央整列のクロックを供給することができる。供給されるクロックは、次のデバイスに転送される。
【００３９】
例えば、メモリデバイスは、データを格納するためにメモリまたはデータストレージ要素を備える。メモリとしては、ランダムアクセスメモリ(RAM)、フラッシュメモリ(例えば、NANDフラッシュデバイス、NORフラッシュデバイス)、およびデータもしくは情報を格納するための他のタイプのメモリが挙げられる。
【００４０】
本発明の他の態様および特徴は、本発明の特定の実施形態の以下の説明を検討した後、当業者に明らかになるであろう。
【００４１】
そこで、本発明の実施形態が以下で付属の図面を参照しつつ説明される。
【図面の簡単な説明】
【００４２】
【図１】複数のメモリデバイスがマルチドロップ方式で接続されている従来技術のシステムのブロック図である。
【図２】本発明の実施形態が適用可能であるフラッシュメモリを備えるグローバルシステムのブロック図である。
【図３】本発明の実施形態が適用可能である直列接続されている複数のメモリデバイスの配列構成のブロック図である。
【図４】図3に示されているデバイスのオペレーションを示す流れ図である。
【図５Ａ】デバイス識別子(ID)割り当てのオペレーションを示す図3の配列構成のブロック図である。
【図５Ｂ】通常モードのオペレーションを示す図3の配列構成のブロック図である。
【図６】図3に示されている配列構成で使用するための例示的なコマンドフォーマットのブロック図である。
【図７Ａ】シングルデータレート(SDR)オペレーションのタイミング図である。
【図７Ｂ】ダブルデータレート(DDR)オペレーションのタイミング図である。
【図８Ａ】共通同期クロック構造とともに、直列接続されている複数のメモリデバイスを有するシステムの一実施例のブロック図である。
【図８Ｂ】共通同期クロック構造とともに、直列接続されている複数のメモリデバイスを有するシステムの他の実施例のブロック図である。
【図９】図8Aおよび8Bに示されている複数のメモリデバイスのうちの1つのメモリデバイスのブロック図である。
【図１０Ａ】メモリコントローラと直列接続されている複数のメモリデバイスとを有するシステムの一実施例のブロック図である。
【図１０Ｂ】メモリコントローラと直列接続されている複数のメモリデバイスとを有するシステムの他の実施例のブロック図である。
【図１１】図10Aおよび10Bに示されている2つのデバイスのブロック図である。
【図１２】共通クロックソースを有する共通同期クロック構造を備える2つのデバイスのブロック図である。
【図１３】ソース同期クロック構造とともに、直列接続されている複数のメモリデバイスを有するシステムのブロック図である。
【図１４】図13に示されている複数のメモリデバイスのうちの1つのメモリデバイスのブロック図である。
【図１５】ソース同期クロック構造とともに、直列接続されている複数のメモリデバイスとメモリコントローラとを有するシステムのブロック図である。
【図１６】図15に示されている2つのデバイスのブロック図である。
【図１７】ソース同期クロック構造を備える2つのデバイスのブロック図である。
【図１８Ａ】図15に示されている直列接続されている複数のデバイスのうちの1つのデバイスのブロック図である。
【図１８Ｂ】図18Aに示されているデバイスのメモリコア回路を備える制御回路のブロック図である。
【図１８Ｃ】図18Aに示されているデバイスのクロックI/O回路のブロック図である。
【図１８Ｄ】図18Aに示されているデバイスのデータI/O回路のブロック図である。
【図１８Ｅ】図18Aに示されているデバイスのストローブI/O回路のブロック図である。
【図１９】図18A〜18Eに示されているようなソース同期クロック構造に対するタイミング図である。
【図２０Ａ】ソース同期クロック構造および共通同期クロック構造とともに、直列接続されている複数のメモリデバイスとメモリコントローラとを有するシステムのブロック図である。
【図２０Ｂ】ソース同期クロック構造および共通同期クロック構造とともに、直列接続されている複数のメモリデバイスとメモリコントローラとを有する他のシステムのブロック図である。
【図２１Ａ】ワイヤボンディングを使用するMCP(マルチチップパッケージ)構造の一実施例の断面図である。
【図２１Ｂ】シリコンスルーホールを使用するMCP構造の他の実施例の断面図である。
【図２２】MCPデバイスに対するハイブリッド同期クロック構造を備えるシステムのブロック図である。
【図２３Ａ】MCPデバイスに対する代替(alternate)ハイブリッド同期クロック構造を備える他のシステムのブロック図である。
【図２３Ｂ】MCPデバイスに対するさらなる代替ハイブリッド同期クロック構造を備える他のシステムのブロック図である。
【図２４Ａ】中央整列クロックを受け取って入力データを取り込み、中央整列ソース同期クロック出力を適宜供給する1つのメモリデバイスのブロック図である。
【図２４Ｂ】図24Aに示されているデバイスのクロックI/O回路のブロック図である。
【図２４Ｃ】図24Aに示されているデバイスのデータI/O回路のブロック図である。
【図２４Ｄ】図24Aに示されているデバイスのストローブI/O回路のブロック図である。
【図２５】ディセーブルされた位相同期ループ(PLL)として動作している図24A〜24Dに示されているデバイスのタイミング図である。
【図２６】イネーブルされたPLLとして動作している図24A〜24Dに示されているデバイスのタイミング図である。
【図２７】ソース同期クロック構造および共通同期クロック構造に基づくMCPデバイスに対する代替(alternate)クロック構造を備えるシステムのブロック図である。
【図２８】コントローラと第1のメモリデバイスとのソース同期信号の間の関係を示すタイミング図である。
【図２９Ａ】エッジ整列クロックまたは中央整列クロックのいずれかを使用して入力データを受け取ることができる1つのメモリデバイスのブロック図である。
【図２９Ｂ】図29Aに示されているデバイスのクロックI/O回路のブロック図である。
【図２９Ｃ】図29Aに示されているデバイスのデータI/O回路のブロック図である。
【図２９Ｄ】図29Aに示されているデバイスのストローブI/O回路のブロック図である。
【図３０】イネーブルされたPLLとして動作している図29A〜29Dに示されているデバイスのタイミング図である。
【図３１】ディセーブルされたPLLとして動作している図29A〜29Dに示されているデバイスの図に対するタイミング図である。
【図３２】ID割り当て前のソース同期クロック構造を備える複数のデバイスを有する例示的なシステムのブロック図である。
【図３３Ａ】ID割り当て後の複数のデバイスを有する例示的なシステムのブロック図である。
【図３３Ｂ】ID割り当て後の複数のデバイスを有する他の例示的なシステムのブロック図である。
【図３４Ａ】ソース同期クロックとともに使用する1つのメモリデバイスのブロック図である。
【図３４Ｂ】図34Aに示されているメモリコア回路を備える制御回路のブロック図である。
【図３４Ｃ】図34Aに示されているクロックI/O回路のブロック図である。
【図３４Ｄ】図34Aに示されているデータI/O回路のブロック図である。
【図３４Ｅ】図34Aに示されているストローブI/O回路のブロック図である。
【図３５Ａ】イネーブルされたPLLを伴う図34A〜34Eに示されているデバイスのタイミング図である。
【図３５Ｂ】ディセーブルされたPLLを伴う図34A〜34Eに示されているデバイスのタイミング図である。
【図３６Ａ】図34Aに示されているメモリコア回路を備える制御回路の他の実施例のブロック図である。
【図３６Ｂ】図34Aに示されているクロックI/O回路の他の実施例のブロック図である。
【図３７Ａ】イネーブルされたPLLを伴う図34A、34D〜34Eおよび36A、36Bに示されているデバイスのタイミング図である。
【図３７Ｂ】ディセーブルされたPLLを伴う図34A、34D〜34Eおよび36A、36Bに示されているデバイスのタイミング図である。
【図３８】ソース同期クロッキング方法で、直列接続されている複数のデバイスおよびコントローラを有するシステムの他の実施例を示す図である。
【図３９】それぞれのデバイスがPLLを備える、直列接続されている複数のデバイスを備えるソース同期クロッキングシステムの一実施例を示す図である。
【図４０Ａ】代替(alternate)PLLオンコントロールを有する直列接続されたデバイスにおける完全ソース同期クロッキング方法の一実施例を示す図である。
【図４０Ｂ】代替PLLオンコントロールを有する直列接続されたデバイスにおける完全ソース同期クロッキング方法の他の実施例を示す図である。
【図４１Ａ】直列接続された複数のデバイスのうちの最後のデバイスのID番号によるクロック整列決定の一実施例を示す流れ図である。
【図４１Ｂ】直列接続された複数のデバイスのうちの最後のデバイスのID番号によるクロック整列決定の他の実施例を示す流れ図である。
【図４２】例示的なパワーアップシーケンスにおけるID生成タイミングを示す図である。
【図４３Ａ】柔軟なデータ整列をサポートする本発明の一実施形態による例示的なメモリコントローラ論理構成を示す図である。
【図４３Ｂ】柔軟なデータ整列をサポートする本発明の一実施形態による例示的なメモリコントローラ論理構成を示す図である。
【図４４】図43Aに示されているメモリコントローラに対する信号のタイミング図である。
【図４５】図43Bに示されているメモリコントローラに対する信号のタイミング図である。
【図４６】例示的な一実施形態によるID生成後のメモリコントローラからのクロック生成のタイミング図である。
【図４７】例示的な一実施形態によるID生成後およびIDの最下位ビット(LSB)=0であるメモリコントローラからのクロック生成のタイミング図である。
【図４８】例示的な一実施形態によるID生成後およびIDのLSB=1であるメモリコントローラからのクロック生成のタイミング図である。
【図４９Ａ】柔軟なデータ整列をサポートする本発明の一実施形態によるメモリコントローラ論理構成の他の実施例を示す図である。
【図４９Ｂ】柔軟なデータ整列をサポートする本発明の一実施形態によるメモリコントローラ論理構成の他の実施例を示す図である。
【図５０】例示的な一実施形態によるID生成後のメモリコントローラからのクロック生成のタイミング図である。
【図５１】例示的な一実施形態によるID生成後およびIDのLSB=0であるメモリコントローラからのクロック生成のタイミング図である。
【図５２】例示的な一実施形態によるID生成後およびIDのLSB=1であるメモリコントローラからのクロック生成のタイミング図である。
【発明を実施するための形態】
【００４３】
本発明の例示的な実施形態の以下の詳細な説明では、本発明の実施形態の一部をなし、本発明を実施できる特定の例示的な実施形態が図で示されている、添付の図面を参照する。これらの実施形態は、当業者が本発明を実施できるように十分に詳しく説明されているが、他の実施形態を利用できること、また本発明の範囲から逸脱することなく論理的変更、機械的変更、電気的変更、および他の変更を行えることも理解されるであろう。したがって、以下の詳細な説明は、限定的な意味で解釈すべきではなく、本発明の範囲は、添付の特許請求の範囲により画定される。
【００４４】
上述のように、マルチドロップおよび直列接続構成は、密度問題を解決するための知られている設計技術である。
【００４５】
図1は、複数のメモリデバイスがマルチドロップ方式で接続されているシステムを示している。このシステムは、並列クロック分配に適合するように共通同期クロック構造を実装する。図示されているシステムでは、メモリコントローラ110は、Nを1より大きい整数とする、複数の(N個の)メモリデバイス120-1、120-2、...120-Nと通信する。メモリコントローラ110およびN個のメモリデバイスは、nビットのデータ線131とmビットの制御線133を通じて接続される。データ転送および制御信号は、メモリコントローラ110とN個のメモリデバイス120-1〜120-Nに接続された共通クロック線135上の共通クロックと同期する。同期クロックは、クロックソース140によって共通クロック線135に供給される。バスが並列性を有しているため、クロック信号は、負荷が大きく、大きく歪む。
【００４６】
複数のメモリデバイスの直列接続の一実施例は、「RamLink」であり、これは、1996年のIEEE標準となった。RamLinkは、実際には、相互接続の2つの代替方法を規定している。方法の1つは、直列接続されたデバイスの間をポイントツーポイントで通信する直列接続デバイスからなるRingLinkであり、これは拡張性が高いが、待ち時間が長い。他の方法は、少数のデバイスのマルチドロップ相互接続からなるSyncLinkである。
【００４７】
ハイブリッド型のRamLink構成は、IEEE標準の一部伴っている。RamLink構成に基づくメモリシステムは、プロセッサもしくはメモリコントローラおよび1つまたは複数のメモリモジュールからなる。メモリコントローラは、典型的には、それ自体プロセッサ内に組み込まれるか、またはプロセッサの随伴チップセットの一部として製造される。それぞれのメモリモジュールは、1つのリンク入力と1つのリンク出力とを有するスレーブインターフェースを有する。メモリモジュールは、コンポーネント間で単一指向性リンクを持つRingLinkと称されるRamLink信号伝達トポロジーの形態に配列される。それぞれのモジュール上の制御インターフェースは、スレーブインターフェースをメモリデバイス(RAM)にインターフェースさせる。このシステムでは、スレーブインターフェースとメモリデバイスとの間に、SyncLinkと称するもう1つのRamLink信号伝達トポロジーが使用される。データは、RingLinkにそって循環するパケットとして、プロセッサとモジュールとの間で転送される。プロセッサまたはメモリコントローラは、すべての要求バケットを生成し、スレーブ応答パケットの返却をスケジュールする役割を有する。
【００４８】
ハイブリッド型RamLink構成は、モジュールレベルのコンポーネント接続程度の速さでしか動作しえない。これは、マルチドロップバスであるため、単一モジュール内のSyncLink接続によって周波数の制限が行われ、これは図1に図示されているのと同じ方法である。RingLinkスレーブインターフェース回路において、ソース同期ストローブを使用して、受信データ信号のクロック同期処理を行う。つまり、受信データ信号に付随するストローブ信号「strobeIn」は、受信データをサンプリングするために使用される。回路側では、位相同期ループ(PLL)を使用して基準クロック信号から安定した局所的クロック信号を生成する。
【００４９】
本発明の一実施形態によれば、コントローラおよび接続されている複数のデバイスを有するシステムが提供され、これらのデバイスはクロック同期されている。直列接続された半導体デバイスを有する例示的なシステムについて説明する。
【００５０】
図2は、フラッシュメモリを備えるグローバルシステムを示している。図2を参照すると、メモリシステム140は、メモリコントローラ144を介してメインシステムまたはプロセッサ(ホストシステム)142と通信することがわかる。メモリシステム140は、直列接続された、または系列接続された複数のメモリデバイスを備える。メモリデバイスの例として、フラッシュデバイスが挙げられる。
【００５１】
図3は、直列接続された複数のメモリデバイスの配列構成を示している。図3を参照すると、この配列構成は、Nを整数とする、直列接続されたN個のメモリデバイス145-1、145-2、145-3、...および145-Nを含むことがわかる。直列接続されたメモリデバイス140-1〜140-Nは、図2のメモリシステム140に対応する。図2のメモリコントローラ144に対応するメモリコントローラ(図示されていない)は、データおよび情報の信号からなるグループをこの配列構成のメモリデバイスに送る。処理されるデータまたは情報は、第1のデバイス145-1のデータ入力Dnに送られ、直列接続された配列構成のデバイスを通して伝搬される。一実装において、最後のデバイス145-Nのデータ出力Qnは、その中にある伝搬されたデータまたは情報を使用するために他のデバイスまたはシステム(図示されていない)に接続される。他の実装では、最後のデバイス145-Nの出力は、メモリコントローラに接続されており、これにより、メモリコントローラは、最後のデバイス145-Nから返されたデータを使用することができる。
【００５２】
この配列構成のデバイス145-1〜145-Nのオペレーションは、図4に示されている。図4に示されている配列構成のデバイスは、図4に示されているように初期モードおよび通常モードで動作する。初期モードでは、デバイスは、デバイスアドレス(DA)またはデバイス識別子(ID)番号が割り当てられる。これ以降、通常モードでは、ID番号によって指定されたデバイスは、コマンドによって指定されたオペレーション(例えば、データライト、データリード)を実行する。
【００５３】
図5Aは、ID割り当てを示す図3の配列構成を示している。図3、4、および5Aを参照すると、初期モードでは、メモリコントローラは、初期ID(=0)を第1のデバイス145-1に供給することがわかる。この配列構成のメモリデバイス145-1、145-2、145-3、...、145-Nのそれぞれは、入力ID、IDiをそのIDレジスタ内に格納し、加算(つまり、IDi+1)を実行して、次のデバイスに対する出力ID、IDoを得る。例示されている実施例において、デバイス145-1、145-2、145-3、...、145-Nは連続する数「0」、「1」、「2」、...であるIDを割り当てられ、「N」は2進数「000」、「0001」、「0010」、...、および「...」でそれぞれ表される。それぞれのデバイスは、そのMSB(最上位ビット)を先頭に、そのLSB(最下位ビット)を最後に持ってくる。他の実装では、IDは、LSBを先頭に、MSBを最後に変更することができる。また、IDは、他の値(例えば、「1」)からの連続する数とすることができる。さらに、IDは、最大値から減分することができる。直列接続された複数のメモリデバイスにおけるID割り当ての例は、国際公開第WO/2007/0109886号(2007年10月4日)および国際公開第WO/2007/0134444(2007年11月29日)に取りあげられている。
【００５４】
図5Bは、通常モードオペレーションを示す図3の配列構成を示している。図3、4、および5Bを参照すると、通常モードでは、メモリコントローラは、特定のデバイスID番号、オペレーション命令、およびその他のものを含む制御情報(CI)をコマンドとして発行することがわかる。それぞれのメモリデバイス内に備えられているデバイスコントローラは、入力されたIDiとIDレジスタにおいて割り当てられているIDとを比較してIDマッチ判定を実行する。IDがマッチする場合、デバイスコントローラは、CIに含まれるコマンドを実行して、そのデバイスのメモリにアクセスする。コマンドのオペレーションの例としてメモリアクセスおよびデータ処理が挙げられる。それぞれのコマンドは、ID番号(つまり、デバイスアドレス)およびコマンドOPコード(これ以降、単に「OPコード」と称する)を含み、また、アドレス情報および/またはデータを含みうる。入力IDと登録IDとの間にマッチがない場合、デバイスはCIを出力コマンドCOとして次のデバイスに転送する。転送されたCOをCIとして受け取ったことに応答して、次のデバイスが、前のデバイスと類似のオペレーションを実行する。
【００５５】
図6は、図3に示されているように直列接続されたメモリデバイスで使用するための例示的なコマンドフォーマットの略図である。図6を参照すると、第1のコマンドフォーマット147-1は、ID番号およびOPコードを含んでいることがわかる。ID番号は、選択されたメモリデバイスを識別するために使用され、OPコードフィールドは、選択されたデバイスによって実行されるOPコードを格納する。第1のコマンドフォーマット147-1のコマンドは、例えば、レジスタ値を読み出すためのOPコードを含むコマンドに使用されうる。第2のコマンドフォーマット147-2は、ID番号、OPコードおよびデータを含む。第2のコマンドフォーマット147-2のコマンドは、例えば、データをレジスタに書き込むためのOPコードを含むコマンドに使用されうる。第3のコマンドフォーマット147-3は、ID番号、OPコード、および追加のアドレスを含む。追加のアドレスは、例えば、メモリセル内のロケーションをアドレッシングするための行および/または列アドレスを含みうる。第3のコマンドフォーマット147-3のコマンドは、例えば、選択されたメモリデバイスのメモリセルからデータを読み出すためのOPコードを含むコマンドに使用されうる。第4のコマンドフォーマット147-4は、ID番号、OPコード、追加のアドレス、およびデータを含む。第4のコマンドフォーマット147-4のコマンドは、例えば、選択されたメモリデバイスのメモリセルにデータを書き込むためのOPコードを含むコマンドに使用されうる。4つの例示的なコマンドフォーマット147-1、147-2、147-3、147-4はすべて、アドレッシングのためにID番号から始まることに留意されたい。前記の説明から、本明細書で使用されているような「コマンド」という用語は、コマンドがID番号、OPコード、追加のアドレス、データ、または直列接続されているメモリデバイスの配列構成の制御に関係する他の情報を含みうるので、コマンドOPコードを指すだけでないことは理解されるであろう。コマンドフォーマットの例は、国際公開第WO/2008/098342号(2008年8月21日)で開示されている。コマンドおよびオペレーションの例は、国際公開第WO/2007/036048号(2007年4月5日)および2008年2月21日に出願した「Serial Data Flow Control In Multiple Independent Serial Port」という表題の米国特許出願第12/034,686号において開示されている。
【００５６】
大きな記憶空間(または大容量記憶システム)を必要とするアプリケーション用に、複数のフラッシュメモリデバイスを使用するフラッシュメモリシステムを実装することができる。メモリコントローラは、フラッシュメモリデバイスのそれぞれにアクセスすることができ、フラッシュメモリを一度に1つだけ選択することができる。
【００５７】
例えば、HDDの代替となるUSBフラッシュドライブ、フラッシュメモリカード、およびソリッドステートドライブ(SSD)などのフラッシュメモリシステムで実装される多数のフラッシュデバイス上の信号品位を改善するために、直列接続NANDフラッシュメモリを実装することができる。直列接続されたNANDフラッシュメモリは、先進的であり、ポイントツーポイントのシリアルデバイス接続を使用することで高性能のフラッシュデバイスを実現する。
【００５８】
データは、クロック信号に応答して転送されうるか、または取り込まれうる。このオペレーションは、クロック信号の立ち上がりエッジおよび/または立ち下がりエッジに応じて実行することができる。メモリデバイスは、それぞれ図7Aおよび7Bに示されているようにシングルデータレート(SDR)オペレーションおよびダブルデータレート(DDR)オペレーションを実行することができる。また、メモリデバイスは、そのクロックサイクルにおいて2回より多く動作することが可能である。
【００５９】
図8Aは、並列クロック分配トポロジーに適合する共通同期クロック構造とともに、直列接続されている複数のメモリデバイスを有するシステムを示している。図8Aを参照すると、メモリコントローラ150は、Nを1より大きい整数とする、複数の(N個の)メモリデバイス152-1、152-2、...152-Nと通信することがわかる。メモリコントローラ150は第1のメモリデバイス152-1に接続されており、これにより、メモリコントローラ150によって供給される共通同期クロック信号CLKcsyc1に応答して残りのメモリデバイス152-2〜152-Nを通じて伝搬する制御および/またはデータに関する情報を送る。伝搬される情報は、最後のデバイス152-Nから他のデバイスまたは装置(図示されていない)に供給され、それによってさらなる処理を受ける。
【００６０】
図8Bは、システムがリング構造を形成している、共通同期クロック構造とともに、直列接続されている複数のメモリデバイスを有する他のシステムを示している。図示されている例示的なシステムにおいて、メモリコントローラ160は、複数の(N個の)メモリデバイス162-1、162-2、...160-Nと通信する。メモリコントローラ160は第1のメモリデバイス162-1に接続されており、これにより、メモリコントローラ160によって供給される共通同期クロック信号CLKcsyc2に応答して残りのメモリデバイス162-2〜162-Nを通じて伝搬する制御および/またはデータに関する情報を送る。このシステムでは、最後の(N番目の)メモリデバイス162-Nは、伝搬情報をメモリコントローラ160にフィードバックし、これにより、システムはリング型接続を形成する。必要ならば、伝搬される制御信号は、メモリコントローラ160に返される。
【００６１】
図9は、図8Aおよび8Bに示されている複数のメモリデバイスのうちの1つのメモリデバイスの詳細を示している。図8Aおよび8Bに示されているメモリデバイスのそれぞれは、同じ構造を有する。図9を参照すると、図8Aおよび8Bに示されているデバイスのうちのどれか1つを表す、デバイスiは、前のデバイスであるデバイス(i-1)から入力信号173を受け取るための入力回路172と、次のデバイスであるデバイス(i+1)に出力信号175を供給するための出力回路174と、クロック回路176と、メモリコア回路178とを有することがわかる。入力共通同期クロック信号CLKcsyc 177に応答して、クロック回路176は、クロックをこれらのオペレーションのために入力回路172、メモリコア回路178、および出力回路174に送出する。入力回路172および出力回路174は、クロック信号CLKcsycに応答してインターフェースオペレーションを実行する。
【００６２】
図10Aは、図8Aのシステムの詳細を示している。特定の実施例が、メモリコントローラ210および直列接続されている複数のメモリデバイス212-1〜212-4を備えている。例示的なシステムは、共通同期クロック構造を実装する直列接続されたメモリデバイスを有する。図示されている実施例は、4つのデバイスを示しているが、直列接続できるデバイスの数に限りはない。
【００６３】
図10Aを参照すると、メモリデバイス212-1〜212-4のそれぞれは、ハード配線された、または事前割り当てされたデバイスID番号を有しており、このため、IDマッチ判定結果に基づき通常モードオペレーションにおいて一度に1つのデバイスを選択することができることがわかる。メモリデバイスは、ポイントツーポイント接続を有する。メモリコントローラ210は、さまざまな情報を伝送するためのデバイスに接続された複数の出力を有する。これらのデバイスのそれぞれは、さまざまな情報を受け取り、転送するための複数の入力および出力を有する。
【００６４】
メモリコントローラ210は、データ出力DOC[0:3]、コマンドストローブ出力CSOC、データストローブ出力DSOC、チップセレクト出力/CEC、およびリセット出力/RSTCを有する。また、メモリコントローラ210は一対のクロック出力CKOCおよび/CKOCを有する。デバイスのそれぞれは、データ入力D[0:3]、コマンドストローブ入力CSI、データストローブ入力DSI、リセット入力/RST、チップイネーブル入力/CE、および一対のクロック入力CKおよび/CKを有する。また、デバイスのそれぞれは、データ出力Q[0:3]、コマンドストローブ出力CSO、データストローブ出力DSOを有する。1つのデバイスのデータ出力Q[0:3]、コマンドストローブ出力CSO、およびデータストローブ出力DSOは、それぞれ次のデバイスのデータ入力D[0:3]、コマンドストローブ入力CSI、およびデータストローブ入力DSIに結合される。
【００６５】
これらのデバイスは、チップイネーブル信号/SCE(これ以降、「/SCE信号」と称する)およびリセット信号/SRST(これ以降、「/SRT信号」と称する)を受け取る。また、これらのデバイスは、一対のクロック信号SCLKI(これ以降、「SCLKI信号」と称する)および相補クロック信号/SCLKI(これ以降、「/SCLKI信号」と称する)を受け取る。/SCE、/SRST、SCLKI、および/SCLKI信号は、メモリコントローラ210によってデバイス212-1〜212-4に共通に供給される。
【００６６】
メモリコントローラ210のデータ出力DOC[0:3]は、入力データDI1[0:3]を第1のデバイス212-1であるデバイス1のデータ入力D[0:3]に供給する。第1のデバイス212-1は、出力データDQ1[0:3]を次のデバイスに転送する。第2のデバイス212-2であるデバイス2は、出力データDQ1[0:3]を、前のデバイスであるデバイス1から伝送されたその入力データDI2[0:3]として受け取る。1つのデバイスのコマンドストローブ入力CSIおよびデータストローブ入力DSIは、コマンドストローブ入力信号SCSIおよびデータストローブ入力信号SCSOをそれぞれ受け取る。また、1つのデバイスのコマンドストローブ出力CSOおよびデータストローブ出力DSOは、コマンドストローブ出力信号SCSOおよびデータストローブ信号SDSOをそれぞれ次のデバイスに伝送する。データの転送は、それぞれのデバイスにおけるコマンドストローブ入力信号およびデータストローブ入力信号によって制御される。
【００６７】
これらのデバイスのそれぞれは、コマンドストローブ入力信号SCSI(これ以降、「SCSI信号」と称する)およびデータストローブ入力信号SDSI(これ以降、「SDSI信号」と称する)の遅延バージョンの信号、コマンドストローブ出力信号SCSO(これ以降、「SCSO信号」と称する)およびデータストローブ出力信号SDSO(これ以降、「SDSO信号」と称する)を次のデバイスに供給する。データおよびSCSI、SDSIの転送は、SCLKIおよび/SCLKI信号に応答して実行される。
【００６８】
直列接続されたデバイスを特徴とするアーキテクチャの詳細例は、米国特許出願第2007/0076502A1号(2007年4月5日)、および国際公開第WO/2007/036048号に取りあげられている。直列接続されたデバイスを特徴とするアーキテクチャの他の詳細例は、国際公開第WO/2008/067652号(2008年6月12日)および国際公開第WO/2008/022454号(2008年2月28日)に取りあげられている。
【００６９】
図10Bは、図8Bのシステムの詳細を示している。図10Aに示されているシステムの接続および構造は、図10Aに示されているシステムのものとほとんど同じである。違いは、出力データDQ4[0:3]および直列接続されている最後のデバイス(つまり、デバイス4)のSCSO4、SDSO4信号がメモリコントローラ220に供給される点である。SCSO4およびSDSO4信号は、メモリコントローラ220に適宜供給され、これにより、有効なデータ位置を検出できる。
【００７０】
特定の実施例において、SCKおよび/SCK信号は、マルチドロップ方式でメモリコントローラによってそれぞれのメモリデバイスに供給される。したがって、受信データがポイントツーポイントインターフェースにより単一コンポーネント(つまり、直列接続されたメモリデバイス、または他の任意の直列接続されたメモリ)に伝送されるとしても、クロック信号は、複数のメモリコンポーネントによって読み込まれる。その結果、この技術の実用的な実装では、動作周波数限界は、例えば、200MHz以下となりうる。
【００７１】
図11は、図10Aおよび10Bに示されているデバイスの詳細を示している。図11は、デバイスの一般的な実装を示している。入力および出力データは、nビット並列データである。
【００７２】
図11を参照すると、示されているのは、図10Aまたは8Bに示されているシステムのデバイスのうちの2つである。図11を参照すると、i番目のデバイス212-iであるデバイスiおよび次のデバイス212-(i+1)であるデバイス(i+1)は、リセット信号/SRST、チップイネーブル信号/SCE、および一対のクロック信号SCLKIおよび/SCLKIを通常受け取ることがわかる。デバイスiのデータ入力D[0:(n-1)]は、前のデバイスであるデバイス(i-1)(図示されていない)から入力データDIi[0:(n-1)]を受け取り、そのデータ出力Q[0:(n-1)]から出力データDQi[0:(n-1 )]を出力する。デバイスiからの出力データDQi[0:(n-1)]は、デバイス(i+1)のデータ入力Dに入力データDI(i+1)[0:(n-1)]として供給される。デバイス(i+1)は、次のデバイスであるデバイス(i+1)(図示されていない)に伝送されるそのデータ出力Qから出力データDQ(i+1)[0:(n-1)]を出力する。デバイスiのコマンドストローブ入力CSIおよびデータストローブ入力DSIは、コマンドストローブ入力信号SCSIiおよびデータストローブ入力信号SDSIiを、それぞれ、前のデバイスであるデバイス(i-1)から受け取る。デバイスiは、そのコマンドストローブ出力CSOからコマンドストローブ出力信号SCSOiを、そのデータストローブ出力DSOからデータストローブ出力信号SDSOiを、それぞれ出力する。デバイスiからのコマンドストローブ出力信号SCSOiおよびデータストローブ出力信号SDSOiは、デバイス(i+1)のコマンドストローブ入力CSIおよびデータストローブ入力DSIに、コマンドストローブ入力信号SCSI(i+1)およびデータストローブ入力信号SDSI(i+1)としてそれぞれ供給される。デバイス(i+1)は、コマンドストローブ出力信号SCSO(i+1)およびデータストローブ出力信号SDSO(i+1)を、それぞれ、次のデバイスであるデバイス(i+2)(図示せず)に出力する。
【００７３】
図12は、共通同期クロック構造を示している。図示されている実施例は、相互接続された2つのデバイスを含む。これらのデバイスのそれぞれは、図9に示されているような構造を有する。図示されている実施例において、デバイスは同じ構造を有している。これらのデバイスのうちの1つのデバイスについては、その出力インターフェース回路が示され、他のデバイスについては、その入力インターフェース回路が詳細に示されている。図12を参照すると、一方のデバイスであるデバイスiは複数のマルチプレクサ(Muxs)を有することがわかる。同様に、他方のデバイスであるデバイス(i+1)は、複数のデマルチプレクサ(DeMuxs)を有する。図示されている実施例では、デバイスiは、「送信機」として機能する。同様に、デバイス(i+1)は、「受信機」として機能する。クロックソース230は、共通同期クロック信号CLKcsycを両方のデバイス、つまりデバイスiとデバイス(i+1)に供給する。デバイスiからデータが転送され、デバイス(i+1)が受け取ったデータは、クロック信号CLKcsycによって同期される。
【００７４】
デバイスiにおいて、クロック信号CLKcsycがバッファに送られ、次いで、このバッファから、バッファリングされた出力クロック信号CLKb0が通常のようにマルチプレクサに供給され、オペレーションの多重化が行われる。データ(nビット)が、マルチプレクサによって多重化され、マルチプレクサのそれぞれから出力された多重化データは、差動出力バッファのそれぞれを通じて出力される。それぞれの差動出力データは、デバイスの一対のピンを通じて伝送され、デバイス(i+1)の一対のピンに接続されている配線に送られる。
【００７５】
デバイスiにおいて、クロック信号CLKcsycがバッファに送られ、次いで、このバッファから、バッファリングされた出力クロック信号CLKb1が通常のようにデマルチプレクサに供給され、オペレーションの逆多重化が行われる。その一対のピンで受け取ったデータは、バッファリングされた出力データを対応するデマルチプレクサに供給する対応する入力差動バッファに供給される。デマルチプレクサのそれぞれから逆多重化データ(nビット)が供給される。デバイスiのマルチプレクサおよびデバイス(i+1)のデマルチプレクサのオペレーションは、共通同期クロック信号CLKcsycによって同期される。
【００７６】
共通同期クロック構造は、図12に示されているようにいくつかのスキュー因子を有し、例えば、次のようなものがある。
(i)送信デバイスと受信デバイスにおけるtBUFF間の差(クロック入力パッドから同期回路内に配置されている最終クロックドライバへのクロック挿入時間)、
(ii)tTSを含む信号伝搬経路内の遅延(送信機出力遅延)、
(iii)tRS(受信機入力遅延)、
(iv)tFL(送信機と受信機との間のフライト時間)、ならびに複数の信号間のそれらの遅延の差異、
(v)tJITTER(電力レベル変動、クロック信号線上の瞬間的な電気的特性の変化、およびシステム内に存在する他の信号からの雑音を含む多くの因子によるクロックジッター)。
【００７７】
したがって、多数のデバイスがマルチドロップ方式で接続された場合に動作周波数範囲が限定される。
【００７８】
共通同期クロック構造には、遷移が遅い、雑音排除性が低い、クロックに位相シフトが生じる、伝送路効果およびメモリデバイス負荷のせいでクロック波形が歪むといった信号品位問題による欠点がある。したがって、図1に示されているような単一クロックソースを持つ共通同期クロック構造は、多数のデバイスが共通クロックによって駆動される場合には、高速アプリケーションに適用可能でないことがある。
【００７９】
性能を高めるために、差動クロックを使用することができる。差動クロックを採用しているDDRダイナミックランダムアクセスメモリ(DRAM)製品が、導入されている。厳格なタイミング条件およびデバイスとモジュールとの間の距離に対する制約条件があるため、並列(マルチドロップ)クロック分配方法が採用される場合がある。しかし、マルチドロップクロックは、SDRで転送されるアドレスおよび制御情報を取り込むためにしか使用されない。DDRデータは、リードオペレーションとライトオペレーションの両方において、データを供給しているいずれかのデバイスによって駆動されるソース同期クロックを使用して取り込まれる。
【００８０】
並列分配クロック構造の問題を解決するための他のアプローチとして、ソース同期クロック分配方法がある。ソース同期クロック分配方法がもたらすタイミングマージンは広くなっているが、これは、マルチドロップクロック構造におけるスキューのソースの多くが排除されているからである。ソース同期クロック構造では、クロックは、例えば、位相同期ループ(PLL)または遅延同期ループ(DLL)などのクロックリジェネレータによって調節することができる。ソース同期クロック構造を有する直列接続されたデバイスの場合、PLLは、短期的ジッター累積がなく、実際、入力クロック側にジッターフィルタリング機能を備えることができるため、有利である。ただし、PLLは、DLLに比べて複雑であり、ループ安定性が考慮されなければならない。
【００８１】
図13は、システムがリング構造を形成している、シリアルクロック分配トポロジーに適合するソース同期クロック構造とともに、直列接続されている複数のメモリデバイスを有するシステムを示している。図示されている例示的なシステムにおいて、メモリコントローラ260は、複数の(N個の)メモリデバイス262-1、262-2、...262-Nと通信する。メモリコントローラ260は第1のメモリデバイス262-1に接続されており、これにより、ソース同期クロック信号CLKssycに応答して残りのメモリデバイス262-2〜262-Nを通じて伝搬する制御および/またはデータに関する情報を送る。初期ソース同期クロック信号CLKssycは、メモリコントローラ260によって供給され、同期されたクロック信号は、デバイスによって、次のデバイスに供給される。このシステムでは、最後の(N番目の)メモリデバイス262-Nは、伝搬情報をメモリコントローラ260にフィードバックし、これにより、システムはリング型接続を形成する。必要ならば、伝搬される制御信号は、メモリコントローラ260に返される。
【００８２】
図14は、図13に示されている複数のメモリデバイスのうちの1つのメモリデバイスの詳細を示している。図14を参照すると、デバイスiは、入力信号283を受け取るための入力回路282、出力信号285を供給するための出力回路284、クロック回路286、およびメモリコア回路288を有していることがわかる。クロック回路286は、受信クロック信号の遅延を調節し、適切に同期させたクロック信号を生成するためのクロック再生器を備える。この目的のために、例えば、PLLまたはDLLを使用してクロックを調節または同期させるクロック再生器のさまざまな可能な実装がある。入力ソース同期クロック信号CLKcsyci 287に応答して、クロック回路286は、クロックをそれらの各オペレーションのために入力回路282、メモリコア回路288、および出力回路284に送出する。クロック回路286のクロックリジェネレータは、入力ソース同期クロック信号CLKssyci 287と同期した出力ソース同期クロック信号CLKcsyco 289を次のデバイスに供給する。出力クロック信号CLKssyco 289は、入力クロック信号CLKssyciの再生バージョンの信号である。入力回路222および出力回路284は、クロック回路286によって供給されるクロックに応答してインターフェースオペレーションを実行する。
【００８３】
図15は、図13に示されているように直列接続された複数のメモリデバイスおよびメモリコントローラを有するシステムを示している。システムは、ソース同期クロック構造を有する。このシステムにおいて、最後のデバイスはコントローラに接続されている。図15を参照すると、システムは、ソース同期クロック構造とともに、直列接続されている複数のメモリデバイス312-1〜312-4とメモリコントローラ310とを備えることがわかる。それぞれのデバイスは、図10Aのデバイスと類似しているが、クロッキングは、図10Aのものとは異なる。それぞれのデバイスは、前のコンポーネント(メモリデバイスまたは第1のメモリデバイス用のメモリコントローラまたはデバイス1)からクロック信号を受け取る。それぞれのデバイスは、内部クロックを発生するためにPLL(図示されていない)を有する。クロック同期用にPLLを有するデバイスを特徴とするアーキテクチャの詳細例は、国際公開第WO/2008/067636号(2008年6月12日)で取りあげられている。
【００８４】
図15に示されている実施例では、ソース同期クロック構造は、受信データを取り込むために位相シフトされた内部クロックを供給するか、または位相シフトされた出力クロックを供給するのにそれぞれのコンポーネント(例えば、デバイス)内にPLLを必要とする。例えば、受け取ったクロックのエッジが受け取ったデータの遷移と一致している場合、PLLは、90°のクロック位相シフトを発生してデータ入力信号D[0:3]のデータ有効ウィンドウ内で受け取った入力SCLKIおよび/SCLKI信号のセンタリングを行う必要がある。その一方で、SCLKIおよび/SCLKI信号の受け取ったクロックのエッジが、受け取ったデータの有効ウィンドウ内でセンタリングされる場合、90°位相シフトされたクロックは、出力クロック信号SCLKOおよび相補出力クロック信号/SCLKOを生成する必要がある(これ以降、それぞれ「SCLKO信号」および「/SCLKO信号」と称する)。以下の説明では、メモリデバイスがこの後者のモードで動作することが仮定される。
【００８５】
ライトオペレーションでは、メモリコントローラ310は、ライトコマンドおよびライトデータ(Q[0:3])をデバイスの直列接続に含まれる第1のデバイス(デバイス1、312-1)に伝送する。第1のデバイス312-1は、コントローラ310からの受信データと中央整列されている入力クロックで受信データD[0:3]を取り込む。第1のデバイス312-1が、メモリコントローラ310によってライトコマンドの一部として発行されたデバイスIDによって決定されるようなライトオペレーションの「ターゲット」または「指定」デバイスである場合、デバイスIDのマッチが判定された後、取り込まれたデータは、そのデバイスのメモリアレイ(図示されていない)内に書き込まれる。この場合、ライトコマンドおよびライトデータが、適宜、デバイスの直列接続に含まれる次のデバイスに再送されないようにできる。特定のデバイスを指定するためのID番号は、図6に示されており、例えば、「147-2」で表され、また入力データDI1[0:3]は、コマンドフォーマット147-2の「データ」である。
【００８６】
第1のデバイス312-1が、メモリコントローラ310によってライトコマンドの一部として発行されたデバイスIDによって決定されるようなライトオペレーションの「ターゲット」または「指定」デバイスでない場合、受信データは、90°シフトされたクロック出力CKOおよび/CKOとともに第2のコンポーネント(デバイス2、312-2)に再送されなければならない。第2のコンポーネント(デバイス2、312-2)は、受信データと中央整列されるクロックで第1のコンポーネント(デバイス1、312-1)から再送データを受け取る。この方法によって、データは、第1のコンポーネント(第1のデバイス312-1)から最後のコンポーネント(最後のデバイス312-3)に受け渡される。
【００８７】
出力データDQ[0:3]、デバイスの直列接続の最後のデバイス(つまり、デバイス4)のSCLKO、/SCLKO、SCSO、およびSDSO信号は、メモリコントローラ310にフィードバックされる。SCSOおよびSDSO信号は、メモリコントローラ310に供給され、これにより、有効なデータ点を検出できる。並列分配クロックと異なり、コントローラ310は、SCLKO、/SCLKO信号とともにSCSOおよびSDSO信号が入力として要求されるので、直列接続されたデバイスから正確な待ち時間を知ることはできない。
【００８８】
リードオペレーションでは、メモリコントローラ310は、指定デバイスのID番号とともにリードコマンドをデバイスの直列接続に含まれる第1のデバイスに発行する。ここでもまた、指定デバイスがデバイス1である場合、デバイスIDのマッチが判定された後、デバイス1は、コマンド(つまり、リード)を処理してそのデバイス内のメモリアレイにアクセスする。第1のデバイスのリードの結果は、90°シフトされたクロックの出力とともに第2のコンポーネント(デバイス2、312-2)に伝送される。次いで、第2のコンポーネント(デバイス2、312-2)は、入力データと中央整列されるクロックとともに第1のコンポーネントのリードの結果を受け取る。この流れによって、リードデータは、残りのデバイスからメモリコントローラ310に受け渡される。ID番号は、図6に示されているフォーマット147-3によって与えられる。アクセスは、そのコマンドフォーマットに含まれるアドレスに従って実行される。
【００８９】
図16は、図15に示されている2つデバイスを示している。図16を参照すると、1つのデバイス、つまりデバイスi、および次のデバイスであるデバイス(i+1)は、リセット信号/SRST、チップイネーブル信号/SCE、および一対のクロック信号SCLKIおよび/SCLKIを通常受け取ることがわかる。
【００９０】
デバイスiのクロック入力CKおよび/CKは、前のデバイスであるデバイス(i-1)(図示されていない)からそれぞれ入力クロック信号SCLKIiおよび/SCLKLiを受け取り、そのクロック出力CKOおよび/CKOからそれぞれ対応する出力クロック信号SCLKOiおよび/SCLKOiを出力する。デバイス(i+1)は、入力クロック信号SCLKI(i+1)および/SCLKI(i+1)として、それぞれ、デバイスiから出力クロック信号SCLKOiおよび/SCLKOiを受け取り、それぞれ、次のデバイスである、デバイス(i+2)(図示されていない)に転送される、そのクロック出力CKOおよび/CKOから出力クロック信号SCLKO(i+1)および/SCLKO(i+1)を出力する。
【００９１】
デバイスiのデータ入力Dは、前のデバイスであるデバイス(i-1)から入力データDIi[0:(n-1)]を受け取り、そのデータ出力Qから出力データDQi[0:(n-1)]を出力する。デバイスiからの出力データDQi[0:(n-1)]は、デバイス(i+1)のデータ入力Dに入力データDi(i+1)[0:(n-1)]として供給される。デバイス(i+1)は、次のデバイスであるデバイス(i+1)に伝送されるそのデータ出力Qから出力データDQ(i+1)[0:(n-1)]を出力する。デバイスiのコマンドストローブ入力CSIおよびデータストローブ入力DSIは、コマンドストローブ入力信号SCSIiおよびデータストローブ入力信号SDSIiを、それぞれ、前のデバイスであるデバイス(i-1)から受け取る。デバイスiは、そのコマンドストローブ出力CSOからコマンドストローブ出力信号SCSOiを、そのデータストローブ出力DSOからデータストローブ出力信号SDSOiを、それぞれ出力する。デバイスiからのコマンドストローブ出力信号SCSOiおよびデータストローブ出力信号SDSOiは、デバイス(i+1)のコマンドストローブ入力CSIおよびデータストローブ入力DSIに、コマンドストローブ入力信号SCSI(i+1)およびデータストローブ入力信号SDSI(i+1)としてそれぞれ供給される。デバイス(i+1)は、コマンドストローブ出力信号SCSO(i+1)およびデータストローブ出力信号SDSO(i+1)を、それぞれ、次のデバイスであるデバイス(i+2)(図示せず)に出力する。
【００９２】
図17は、PLLと併せてソース同期クロック構造を示している。図示されている実施例は、相互接続された2つのデバイスを含む。これらのうちの一方は送信機として機能し、他方は受信機として機能する。これらのデバイスのそれぞれは、図14に示されているような構造を有する。図示されている実施例において、デバイスは同じ構造を有している。これらのデバイスのうちの1つのデバイスについては、その出力インターフェース回路が示され、他のデバイスについては、その入力インターフェース回路が詳細に示されている。図17を参照すると、1つのデバイス312-i、つまりデバイス1(送信機)は、複数のマルチプレクサ(Muxs)、1つのPLL 316、1つのクロックマルチプレクサ、1つの差動入力バッファ、および複数の差動出力バッファを有することがわかる。
【００９３】
他方のデバイス312-(i+1)(受信機)であるデバイス(i+1)は、複数のデマルチプレクサ(DeMuxs)、複数の差動入力バッファを備える。
【００９４】
差動クロック信号CLKi(CKおよび/CK) 287は、差動入力バッファを通してデバイスiのPLLに入力され、次いで、デバイスiが再生された内部クロックをマルチプレクサに供給し、マルチプレクサのオペレーションを同期させる。再生されたクロックは、出力データがデータとクロック経路との間の遅延とマッチするように生成されるのとまったく同じ方法で出力クロックを生成するクロックマルチプレクサにも供給される。デバイス(i+1)に伝送する出力クロック信号を駆動するために、出力クロックが与えられる。デバイス(i+1)は、そのクロックを受け取って、それをデマルチプレクサに供給し、デマルチプレクサのオペレーションを同期させる。
【００９５】
マルチドロップクロック構造と比較すると、PLLを備えるソース同期クロック構造は、スキュー成分が少ない。これは、内部再生クロックが入力クロックと位相同期するので著しいクロック挿入遅延問題(tBUFFスキュー)を有しない。出力クロックと出力データは同一の経路を辿るため、2つのデバイスiと(i+1)との間のフライト時間スキュー(tFL)はもはや問題でなくなる。それに加えて、tJITTERは、PLLのフィルタリング動作によって低減されうる。
【００９６】
ソース同期クロック構造によって、マルチドロップクロック構造のものと比べて高い周波数動作範囲が得られる。例えば、800MHzを超える周波数でのオペレーションは、PLLジッターおよび位相誤差が適切に制御されている場合に達成されうる。これらの理由から、より高いデータリード帯域幅を形成するために直列接続されたメモリを有するシステムにおいて、ソース同期クロック構造が採用される。
【００９７】
ソース同期クロック構造の一実施例は、「Designing High Data Rate Interfaces」、IEEE 2004 VLSI Circuits Symposium、2004年6月16日において開示されている。
【００９８】
図18Aは、図15に示されている直列接続されたデバイスのうちの1つのデバイスを示している。図18Aを参照すると、さまざまな入力信号(例えば、SCLKIi、/SCLKIi、SCSIi、SDSIi信号)および入力データDIi[0:3]が、直列接続されたデバイスのi番目のデバイスである「デバイスi」312-iに供給され、そのデバイスは、さまざまな出力信号(例えば、SCLKOi、/SCLKOi、SCSOi、SDSOi信号)および出力データDQi[0:3]を供給することがわかる。特定の実施例において、データは4つのビット[0:3]を有する。データは、他の個数のビットを有していてもよい。
【００９９】
デバイス312-iは、位相同期ループ(PLL)を有するクロックI/O回路401、データI/O回路403、ストローブI/O回路405、およびメモリコア回路407を含む制御回路を備える。クロックI/O回路401は、SCLKIi、/SCLKIi信号をクロック入力CKおよび/CKで受け取り、クロック出力CKOおよび/CKOを通じてSCLKOi、/SCLKOi信号を出力する。クロックI/O回路401は、基準クロック信号Ref_clkをデータI/O回路403およびストローブI/O回路405に供給する。基準クロック信号Ref_clkは、内部クロック信号として供給される。クロックI/O回路401は、複数のクロック信号を発生する。特定の実施例において、クロックI/O回路401は、180°、270°、および360°の位相シフトされたクロック信号をデータI/O回路403およびストローブI/O回路405に出力する。
【０１００】
メモリコントローラ(例えば、図15に示されているメモリコントローラ310)からの基準電圧Vrefの信号SVREFが、データI/O回路403およびストローブI/O回路405に供給される。データI/O回路403は、入力データDIi[0:3]を受け取って、出力データDQi[0:3]を出力する。ストローブI/O回路405は、SCSIiおよびSDSIi信号を受け取って、SCSOiおよびSDSOi信号を出力する。制御回路407は、内部コマンドストローブ入力信号iCSIおよび内部データストローブ入力信号iDSIをストローブI/O回路405から受け取り、データI/O回路403から書き込むべきデータである「ライトデータ」を受け取る。制御回路407は、そのメモリ(図示されていない)から読み出された「リードデータ」をストローブI/O回路405に供給する。
【０１０１】
図18Bは、図18Aに示されているメモリコア回路407を備える制御回路の一実施例を示している。制御回路407は、図4および図5Aに示されているように初期モードでID割り当てオペレーションを実行し、図4および図5Bに示されているように通常モードでメモリアクセスオペレーションを実行する。
【０１０２】
図18Aおよび18Bを参照すると、ID割り当て回路491は、初期モードにおいてID割り当ておよびID番号計算を実行することがわかる。入力IDの番号、つまりIDiが、IDレジスタ492内に登録される。計算結果の数(つまり、IDi+1)は、デバイスiによって出力IDoとして次のデバイスに供給される。IDレジスタ492は、割り当てられたIDを保持する。その後、通常モードにおいて、図6に示されているようなフォーマットを有するコマンドは、IDマッチ判定器493およびコマンドインタプリタ495に供給される。IDマッチ判定器493は、入力ID番号がIDレジスタ491内に保持されている割り当て済みIDとマッチするかどうか、もしマッチしていれば、供給されるIDマッチ信号、つまり「IDマッチ」が論理「High」になる。マッチがない場合、IDマッチ信号は論理「Low」になる。IDiでIDマッチ判定があった場合、デバイスiは、指定またはターゲットデバイスである。IDマッチがなかった場合、デバイスiは、指定デバイスではない。OPコード復号器を備えるコマンドインタプリタ495は、入力コマンドに含まれるOPコードを復号化し、「High」レベルのIDマッチ信号に応答して、解釈されたコマンド(例えば、ライト、リード)を供給する。解釈されたコマンドおよびIDマッチ信号に応答して、モード信号生成器497が、「活性化(Primed)」信号を供給する。特定の実施例において、活性化信号は、IDマッチがない場合に論理「Low」である。IDマッチがある場合、活性化信号は、「High」および「Low」レベルであり、OPコードは、それぞれ、「リード」(つまり、コマンドはデータリードコマンドである)および「ライト」(つまり、コマンドはデータライトコマンドである)である。解釈されたコマンドに応答して、例えば、内部コマンドストローブ入力信号iCSIおよび内部データストローブ入力信号iDSIを受け取るメモリコア回路498にデータが書き込まれるか、またはそのメモリコア回路498からデータが読み出される。コマンドインタプリタの一実施例は、国際公開第WO/2008/067659号(2008年6月12日)で開示されている。IDマッチ判定器の一実施例は、米国特許出願第12/034,686号において開示されている。
【０１０３】
図18Cは、図18Aに示されているクロックI/O回路401の詳細を示している。図18Aおよび18Cを参照すると、SCLKIiおよび/SCLKIi信号が、入力バッファ411の「+」および「-」入力に供給され、次いで、これにより、基準クロック信号Ref_clkがPLL 413の基準クロック入力「Ref_clk入力」に供給されることがわかる。基準クロック信号Ref_clkは、SCLKIi信号が(例えば、「High」から「Low」に)遷移し、/SCLKIi信号が反対方向に(例えば、「Low」から「High」に)遷移したときに遷移する。PLL 413は、基準クロック信号Ref_clkの遷移と同期して動作する。
【０１０４】
PLL 413は、発振器を備え、それぞれバッファ414-1、414-2、414-3、および414-4を通じて入力基準クロック信号Ref_clkに関して、90°、180°、270°、および360°だけ位相シフトされた4つのクロック信号を生成する。Clk90、Clk180、Clk270、およびClk360によって参照される90°、180°、270°、および360°の4つの位相シフトされたクロック信号は、これ以降、「Clk90信号」、「Clk180信号」、「Clk270信号」、および「Clk360信号」とそれぞれ称される。Clk360信号は、PLL 413の発振入力「Osc_loop入力」に供給される。Clk360およびClk180信号は、それぞれセレクタ417および419の選択入力に供給される。セレクタ417および419のそれぞれは、「0」および「1」入力のところで、それぞれ、論理「0」および「1」信号を受け取る。セレクタ417において、その「0」または「1」入力が、Clk360信号に応答して選択され、その出力信号は、出力バッファ421を通じてSCLKOi信号として供給される。同様に、セレクタ419において、その「0」または「1」入力が、Clk180信号に応答して選択され、その出力信号は、出力バッファ423を通じて/SCLKOi信号として供給される。したがって、SCKOおよび/SCKO信号は、180°位相外れの相補差動クロック信号である。セレクタ417および419は、クロックとデータ経路との間の遅延をマッチさせる。
【０１０５】
図18Dは、図18Aに示されているデータI/O回路403を示している。図18Aおよび18Dを参照すると、基準電圧信号SVREFが、入力バッファ425の「-」入力に供給されることがわかる。入力データDIi[0:3]は、入力バッファ425の「+」入力に供給され、その出力<0:3>は、基準クロック信号Ref_clkの正のエッジと負のエッジでクロック同期するD型フリップフロップ(D-FF)461および463のデータ入力「D」に供給され、これによりDDRデータを取り込む。デバイスは、4ビットデータ経路を有しているけれども、単一ビットのみに対する回路が示されている。データを処理する回路要素のそれぞれは、実際のデバイス内で4回複製される。D-FF 461の4ビット出力Din1[0:3]は、ビット4、5、6、および7を含み、セレクタ465の「0」入力に供給される。同様に、D-FF 463の4ビット出力Din2[0:3]は、ビット0、1、2、および3を含み、セレクタ467の「0」入力に供給される。セレクタ465および467の「1」入力は、リードデータを、それぞれ、Rout1[0:3](ビット4、5、6、および7)ならびにRout2[0:3](ビット0、1、2、および3)として受け取る。セレクタ465および467は、「活性化」信号に従って選択オペレーションを実行する。活性化信号は、デバイスが/SCE信号によって選択されている間に、IDマッチ判定に応じてデバイスが選択されているときに「High」になり、選択されていないときに「Low」となる。セレクタ465および467からの選択された出力信号は、データラッチオペレーションに対し、それぞれ、Clk180およびClk360信号でクロック同期されたD-FF 369および471のデータ入力Dに供給される。D-FF 469の内部的にラッチされている出力データDo1[0:3]およびD-FF 471の内部的にラッチされている出力データDo0[0:3]は、それぞれ、Clk270信号に応答して選択オペレーションを実行する、セレクタ473の「1」および「0」入力に供給される。セレクタ473からの選択された出力<0:3>は、出力バッファ475を通じて出力データDQi[0:3]として供給される。
【０１０６】
図18Eは、図18Aに示されているストローブI/O回路405を示している。図18Aおよび18Eを参照すると、基準電圧信号SVREFが、入力バッファ(コンパレータ)427および429の「-」入力に供給されることがわかる。SCSIiおよびSDSIi信号は、それぞれ入力バッファ427および429の「+」入力に供給され、その出力は、D-FF 431および433のD入力に供給される。D-FF 431および433は、基準クロック信号Ref_clkに応答してラッチオペレーションを実行する。D-FF 431および433は、コア論理回路407に供給される内部コマンドストローブ入力信号iCSI(これ以降、「iCSI信号」と称する)および内部データストローブ入力信号iDSI信号(これ以降、「iDSI信号」と称する)を出力する。
【０１０７】
iCSI信号は、それぞれClk180およびClk360信号でクロック同期されるD-FF 437および439のD入力に供給される。D-FF 437および439は、それぞれセレクタ441の「1」および「0」入力に供給されるiCSO1およびiCSO0信号を出力する。Clk270信号に応答して、セレクタ441からの選択された出力信号が、出力バッファ443を通じてSCSOi信号として供給される。iDSI信号は、それぞれClk180およびClk360信号でクロック同期されるD-FF 445および447のD入力に供給される。同様に、D-FF 445から出力されるiDSO1信号およびD-FF 447から出力されるiDSO0信号は、セレクタ449の「1」および「0」入力に供給され、次いで、このセレクタが、Clk270信号に応答してiDSO1およびiDSO0のうちの一方を選択する。セレクタ449からの選択された出力信号は、出力バッファ451を通じてSDSOi信号として供給される。
【０１０８】
図19は、図18A〜18Eに示されているようなソース同期クロック構造に対するさまざまな信号およびデータを示している。図18A〜18Eおよび19を参照すると、それぞれのデバイスは、SCLKOi、/SCLKOi信号および出力データDQi[0:3]、SCSOiおよびSDSOi信号の間で90°位相差を確定するPLLを備え、これにより、次のデバイスのセンタリングされたクロックを供給することがわかる。図19に示されているように、出力データDQi[0:3]とSCLKOi、/SCLKOi信号との間に90°の位相差がある。
【０１０９】
前述のように、通常オペレーションモードでは、活性化信号は、IDマッチ判定およびオペレーションモードに応じて、論理「Low」(つまり、「0」)または「High」(つまり、「1」)状態を有する。非IDマッチ判定では、デバイスiは、データを次のデバイス(i+1)に送るだけである。活性化信号は、論理「0」状態にあり、したがって、D-FF 461および463からラッチされたデータ、Din1[0:3](つまり、ビット4、5、6、および7)ならびにDin2[0:3](つまり、ビット0、1、2、および3)は、セレクタ465および467によって選択され、出力データDQi[0:3]は、次のメモリデバイスに供給される。また、D-FF 461および463からラッチされたデータ、Din1[0:3](つまり、ビット4、5、6、および7)ならびにDin2[0:3](つまり、ビット0、1、2、および3)は、「活性化」信号制御(図示されていない)によってライトレジスタ481に書き込まれない。非IDマッチ判定の後、8ビット(ビット0〜7)の書き込まれたデータは、コア論理回路407に供給されない。しかし、IDマッチ判定がなされ、ライトオペレーションモードに入っている場合、D-FF 461および463からラッチされたデータ、Din1[0:3](つまり、ビット4、5、6、および7)ならびにDin2[0:3](つまり、ビット0、1、2、および3)は、ライトレジスタ481を通じてメモリコア回路498に書き込まれる。
【０１１０】
この場合、IDマッチ判定がなされ、リードオペレーションモードに入っている場合(活性化信号が論理「1」である)、コア論理回路407は、その中のデータストア要素にアクセスし、データを読み出し、そのリードデータがリードレジスタ483内に書き込まれる。リードデータは、Rout1[0:3](ビット4、5、6、および7)ならびにRout2[0:3](ビット0、1、2、および3)として、それぞれ、セレクタ465および467によって選択され、最終的に、出力データDQi[0:3]が次のデバイスに供給される。
【０１１１】
いくつかのアプリケーションに対して、直列接続されたメモリデバイスを有するシステムが採用される場合、直列接続メモリデバイスのすべての中のPLLは、次のデバイスに入力データを伝送できるようにオンにされるべきであるが、それは、すべての入力および出力バッファが使用されるからである。したがって、システム内に多数のメモリデバイスがある場合、PLLのオペレーションのせいで多量の電力を消費することになる。
【０１１２】
実施例では、この電力消費問題を、例えば、システムボード上のメモリの実装面積を縮小するためにマルチチップ構成で一般的にパッケージングされる、例えば、不揮発性フラッシュメモリなどのハイブリッド同期クロッキングを行うマルチスタック型チップベースのメモリの場合について解決する。これとともに、交互PLLオン/オフ制御機能を備える完全ソース同期クロッキングが導入される。
【０１１３】
上述のように、複数のメモリデバイスが接続されている。このようなデバイスは分割されて、複数のグループを形成し、それぞれのグループは、とりわけ、クロック構造によって特徴付けられる。
【０１１４】
PLLを有する直列接続されたデバイスを備えるシステムは、国際公開第WO/2008/098367号(2008年8月21日)で開示されている。開示されているシステムにおいて、すべてのデバイスのPLLは、オンになっているが、不要ならば、節電のため、すべてのデバイスのPLLをオフにする。
【０１１５】
図20Aは、直列接続された複数のメモリデバイスおよびメモリコントローラを有するシステムを示している。図示されている実施例では、デバイスはグループ化され、それぞれのグループはソース同期クロック構造と共通同期クロック構造との組合せを有する。最後のグループの最後のデバイスは、ソースコントローラに接続されず、他のコントローラまたは論理回路(図示されていない)に接続される。図20Aを参照すると、メモリコントローラ510は、グループ1〜N、512-1〜512-Nに含まれる複数のメモリデバイスと通信することがわかる。グループ1〜Nのそれぞれにおいて、複数のデバイス(例えば、4つのデバイス)が、図15に示されているように直列接続されている。メモリコントローラ510は、入力クロック信号SCLKI1をグループ1、512-1に、データおよび他の情報とともに送る。グループ1〜Nのそれぞれは、その出力クロック信号を次のグループに出力する。グループNは、直列接続の出力クロック信号SCLKONを出力する。
【０１１６】
図20Bは、デバイスがグループ化されている、直列接続された複数のメモリデバイスおよびメモリコントローラを有するシステムを示している。システムにおいて、それぞれのグループは、ソース同期クロック構造と共通同期クロック構造の組合せを有し、最後のグループの最後のデバイスはコントローラに接続されている。図示されている実施例において、メモリコントローラ520は、グループ1、2、...、Nに含まれている複数のメモリデバイスと通信する。グループ1〜Nのそれぞれにおいて、複数のデバイス(例えば、4つのデバイス)が、図15に示されているように直列接続されている。クロック転送経路は、図20Aのものと類似している。グループNからの出力クロック信号SCLKONは、メモリコントローラ520に供給される。また、データおよび他の情報を含む伝搬信号は、グループNの最後のデバイスからメモリコントローラ520にフィードバックされる。
【０１１７】
図20Aおよび20Bに示されているようなシステムにおいて、一方のグループ内のクロック構造は、他方のグループのと異なる場合がある。一方のグループ内の個別のデバイスは、他方のグループのものと異なるクロック構造を使用してクロック同期されうることもある。それぞれのメモリデバイスは、単一のダイもしくはチップ、またはマルチチップモジュール(MCM)またはマルチチップパッケージ(MCP)の形態の複数のダイもしくはチップを含むことができる。
【０１１８】
図21Aは、ワイヤボンディングを使用するマルチチップパッケージ(MCP)構造で実装されているような例示的システムを示している。図21Aを参照すると、システムは、配線盤である基板533上に垂直に積み重ねて実装された複数のメモリデバイス531-1〜531-4を有することがわかる。これらのデバイスは、絶縁体535によって分離されている。デバイス531-1〜531-4は、複数の接続パッド537を有する。基板533は、複数の接続パッド539を有する。デバイス531-1〜531-4のパッド537は、電線541によって基板533のパッド539および他のデバイスのパッドに接続されている。デバイス531-1〜531-4、基板533、および電線541は、MCPエンクロージャ(図示されていない)内に収納される。MCPエンクロージャは、システムコンポーネントの四方を固める封止媒体または樹脂を含むことができ、これにより、コンポーネントが中に固定される剛体パッケージが形成される。基板533は、デバイスの向側に他の接続パッドまたは端子(図示されていない)を有する。他の端子は、信号の送受信を行うために他のMCPまたはメモリコントローラに接続される。デバイス531-1〜531-4は、他のMCPのデバイス、またはメモリコントローラと通信することができる。特定の実施例において、システムは、4つのチップ(つまり、4つのメモリデバイス)を備えるが、システムは、任意の個数のチップを備える。
【０１１９】
図21Bは、シリコンスルーホールを使用するMCP構造の他の実施例を示している。図21Bを参照すると、メモリデバイス551-1〜551-3が、エンクロージャ(図示されていない)の内側の基板553に被さる形で互いの方向にそって平行に置かれていることがわかる。デバイスのそれぞれは、接続線と端子をシリコン基板上に有している。デバイスとデバイスとの間の端子は、シリコンスルーコネクタ555によって接続され、これにより、デバイスは信号を送信し、受信する。
【０１２０】
パッケージ内において、チップ入力および出力パッドならびに関連するESD(静電放電)構造からの負荷効果は、相互接続キャパシタンスに関わる主要因子である。しかし、負荷効果は、基板上のパッケージ間接続と比較して、モジュール内の接続の場合に厳しさがかなり低い。MCP内の2つのチップ間の距離は、パッケージ間接続の距離と比べてかなり短い。したがって、共通同期クロック構造は、MCP内において好適な解決策と言えるが、ソース同期クロック構造は、高い周波数でのオペレーション、例えば、200MHzを超える場合のパッケージ間相互接続に使用することができる。このアプローチを使用することで、1つのMCP内のすべてのPLLをオンにしなくてよい。高い周波数でのオペレーションと比較的低い消費電力の両方を達成することが可能である。
【０１２１】
図22は、MCP同士の間のソース同期クロッキングおよびMCP内の共通同期クロッキングに基づくMCPデバイスに対するハイブリッド同期クロック構造を備えるシステムを示している。図22を参照すると、複数の(N個の)MCP1〜MCPN、562-1〜562-Nが直列接続されており、メモリコントローラ(図示されていない)と通信することがわかる。特定の実施例において、MCPのそれぞれは、直列接続されている4つのデバイスを有する。
【０１２２】
それぞれのデバイスは、入力Dおよびデータ出力Qを有し、これにより、入力データを受け取り、出力データを転送する。それぞれのデバイスは、クロック信号を再生するためのPLLを備える。メモリコントローラは、データおよび命令に関するさまざまな情報を含む入力データ信号DIをMCP1、562-1に送る。また、メモリコントローラは、一対の入力クロック信号SCLKIおよび/SCLKIをMCP1に送り、入力クロック信号SCLKIおよび/SCLKIは通常、MCP1のすべてのデバイスに供給される。データ信号DIは、MCP1の第1のデバイスのデータ入力Dに供給され、クロック信号SCLKIおよび/SCLKIに応答してMCP1内のデバイスを通して伝搬される。
【０１２３】
図22に示されている特定の実施例では、MCP1〜MCPNのそれぞれにおいて、第1から第3までのデバイスのPLLがオフになっており(つまり、ディセーブルされており)、第4のデバイスのPLLはオンになっている(つまり、イネーブルされている)。論理「Low」および「High」レベルの電圧「Vss」(例えば、0ボルト)および「Vdd」(例えば、正電圧)が、それぞれオフおよびオンにされるPLLに印加される。それぞれのMCPの最後のデバイスは、クロック再生の機能を実行し、再生クロック信号が、次のMCPに供給される。図22に示されている特定の実施例において、それぞれのMPC内のクロック構造は、共通同期クロッキングである。しかし、MCP2〜MCPN、562-2〜562-Nの第1のデバイスは、前のMCPの最後のデバイスから再生クロック信号を受け取り、したがって、MCP1〜MCPNの第1のデバイスは、ソース同期クロック構造でクロック同期される。データおよび命令に関するさまざまな情報を含む入力データ信号DIは、MCP1〜MCPNのデバイスを通して伝搬され、MCPNの最後のデバイスが出力データDQを出力する。また、出力クロック信号SCLKOおよび/SCLKOが、MCPNの最後のデバイスから出力される。
【０１２４】
図22に示されているシステムでは、高い周波数におけるオペレーション性能を最適化するために、MCPの最後のデバイス(チップまたはコンポーネント)は、データに対する中央整列クロックとともに出力データを次のMCPに伝送するようにPLLをイネーブルしている。それぞれのMCP内の最後のデバイスのPLLは、論理レベル「High」の電圧Vddでオンにされ、PLLはイネーブルされる。それぞれのMCP内の他のデバイスのPLLは、論理レベル「Low」の電圧Vssでオフにされ、PLLはディセーブルされる。
【０１２５】
図22に示されているシステムにおいて、それぞれのMPC内のデバイスは、共通同期クロッキングする。すべてのMCPの入力および出力は、データとともに中央整列クロックで動作する。MCPは、ソース同期クロッキングで動作する。
【０１２６】
図22に示されている実施例では、それぞれのMCP内の1つのPLLのみがイネーブルされる。同じクロック構造を、プリント回路(PCB)上に直接実装された個別デバイスに適用することも可能である。すべてのデバイスまたはモジュール内でクロックの再生を必要とするわけではない。共通同期クロック構造は、複数の単一デバイスを駆動することができ、このため、いくつかのデバイスにおけるPLLをオフにすることで節電することができる。
【０１２７】
当業者には、MCP内のデバイスの数が、4つに限定されないこと、また複数のデバイスが1つのMCPに接続されうることは明白である。
【０１２８】
図23Aは、直列接続に基づくMCPデバイスに対するハイブリッド同期クロック構造を備える他のシステムを示している。図23Aを参照すると、複数の(N個の)MCP1〜MCPN、572-1〜572-Nが直列接続されており、メモリコントローラ(図示されていない)と通信することがわかる。MCPのそれぞれは、直列接続された複数のデバイス(4つ)を有する。それぞれのデバイスは、入力Dおよびデータ出力Qを有し、これにより、入力データを受け取り、出力データを転送する。それぞれのデバイスは、クロック信号を再生するためのPLLを備える。
【０１２９】
図23Aに示されている特定の実施例では、MCP1〜MCPNのそれぞれにおいて、第1および第3のデバイスのPLLは論理「Low」電圧Vssによってオフにされ(つまり、ディセーブルされ)、第2および第4のデバイスのPLLは論理「High」電圧Vddによってオンにされる(つまり、イネーブルされる)。ここで、第2のPLLはすべてオフにされる。
【０１３０】
メモリコントローラは、データおよび命令に関するさまざまな情報を含む入力データ信号DIをMCP1、572-1に送る。また、メモリコントローラは、一対の入力クロック信号SCLKIおよび/SCLKIをMCP1に送り、入力クロック信号SCLKIおよび/SCLKIは通常、MCP1の第1および第2のデバイスに供給される。第2のデバイス(イネーブルされたPLL)は、再生クロック信号SCLKO2および/SCLKO2を第3および第4のデバイスにふつうに供給する。第4のデバイス(イネーブルされたPLL)は、次のMCP、MCP2に供給される再生クロック信号を出力する。
【０１３１】
MCP1では、第3のデバイスは、ソース同期クロック構造でクロック同期され、第2および第4のデバイスは、共通同期クロック構造でクロック同期される。他のMCP1のそれぞれにおいて、第2および第4のデバイスは、共通同期クロック構造でクロック同期され、第1および第3のデバイスは、ソース同期クロック構造でクロック同期される。
【０１３２】
データ信号DIは、MCP1の第1のデバイスのデータ入力Dに供給され、クロック信号SCLKIおよび/SCLKIに応答してMCP1内のデバイスを通して伝搬される。データおよび命令に関するさまざまな情報を含む入力データ信号DIは、MCP1〜MCPNのデバイスを通して伝搬され、MCPNの最後のデバイスが出力データDQを出力する。また、SCLKOおよび/SCLKO信号が、MCPNの最後のデバイスから出力される。
【０１３３】
図23Bは、直列接続に基づくMCPデバイスに対するハイブリッド同期クロック構造の他のシステムを示している。図23Bを参照すると、複数(N)のMCP、MCP1〜MCPN、582-1〜582-Nが直列接続されていることがわかる。特定の実施例において、それぞれのMCPは、直列接続されている8つのデバイスを備える。それぞれのMCPにおいて、第1から第3、および第5から第7までのデバイスのPLLは、論理「Low」電圧Vssによってオフにされる(つまり、ディセーブルされる)。第4および第8のデバイスのPLLは、論理「High」電圧Vddによってオンにされる(つまり、イネーブルされる)。イネーブルされたPLLのそれぞれは、入力クロック信号に応答して再生クロック信号を次のデバイスに出力する。図23Bのシステムは、8チップパッケージベースである。最大動作周波数が、信号品位の問題を起こすことなく示されている事例に適用可能である場合には、任意の個数のデバイスおよびMCPを接続できる。
【０１３４】
図23Aおよび23Bに示されているシステムにおいて、それぞれのMCP内の2つのデバイス(チップまたはコンポーネント)はオンであり、高速オペレーションが可能である。
【０１３５】
上述のようなハイブリッド同期クロック構造を実現するために、それぞれのチップのPLLがオンにされるかどうかのデバイス選択方法が、通常オペレーションを開始する前に必要である。チップ(またはコンポーネント)のPLLを選択するための例示的な方法では、MCP内へのそれぞれのチップ(またはコンポーネント)に対し外部ピンを使用する。図22、23A、および23Bは、定電圧Vss、Vddによって、8つの事例のうちの2つとともに4つのデバイスのうちの1つおよび2つのデバイスの1つを選択する方法を示している。
【０１３６】
ソース同期クロック構造では、次の直列接続されているコンポーネントに対し、SCLKIおよび/SCLKI信号が入力データウィンドウの中央に整列され、SCLKOおよび/SCLKO信号も出力データの中央に整列されると仮定される。データのそのような整列は、位相シフトとともにPLLによって達成される。
【０１３７】
ハイブリッド同期クロック構造では、ソース同期クロック構造は、中央整列された入力および出力データをクロックとともに伝送する前述の構造と同じである。クロックの90°クロック位相シフトは、図18A〜18Dおよび19に示されているように出力段階で行われる。これは、共通同期クロック構造とともにMCPの外側でグローバルに、つまりMCPの内側でソース同期クロック構造を使用する必要がある。
【０１３８】
このようにして、ハイブリッド同期クロック構造においてPLLをディセーブルしているチップ(またはコンポーネント)は、共通同期クロック構造で入力信号を受け取るが、PLLがイネーブルされているデバイスは、クロックを再生してデューティサイクル補正および90°クロック位相シフトを行ってから、PLLがディセーブルされている次のデバイスに出力データを伝送する。
【０１３９】
図22、23A、および23Bに示されている例示的なシステムにおいて、第1のMCPは、他のデバイス、例えば、メモリコントローラからデータとともに中央整列クロックを受け取る。データがメモリコントローラによって供給される中央整列クロックの例は、2008年11月28日に出願した米国特許出願第12/325,074号において開示されている。
【０１４０】
図24Aは、図15に示されているような直列接続されたデバイスのうちの1つのデバイスの一実施例を示している。このデバイスは、ハイブリッド同期クロック構造で使用するものである。
【０１４１】
特定の実施例において、クロックは中央整列される。実施例では、PLLイネーブル信号PLL_EN(これ以降、「PLL_EN信号」と称する)は、PLLを制御して選択的にイネーブルまたはディセーブルするために用意されている。PLL_EN信号が、論理「High」または「Low」であるときに、PLLはイネーブル(オン)またはディセーブル(オフ)される。図示されている実施例において、さまざまな入力信号(例えば、SCLKIi、/SCLKIi、SCSIi、SDSIi信号)および入力データDIi[0:3]が、1つのデバイスに入力され、さまざまな出力信号(例えば、SCLKOi、/SCLKOi、SCSOi、SDSOi信号)および出力データDQi[0:3]が、1つのデバイスから出力される。
【０１４２】
図24Aのデバイスの構造は、図18Aの構造と類似している。図24Aに示されているデバイスの回路は、PLL_EN信号にさらに応答し、データおよび制御信号の選択の追加の機能を実行する。したがって、図18Aのデバイスの要素、回路、信号、および情報に対応する要素、回路、信号、および情報は、同じ参照記号によって示されている。
【０１４３】
図24Aを参照すると、デバイスは、PLLを有するクロックI/O回路601、データI/O回路603、ストローブI/O回路605、およびメモリコア回路607を含む制御回路を備えることがわかる。クロックI/O回路601は、SCLKIi、/SCLKIi信号およびPLL_EN信号を受け取る。クロックI/O回路601は、SCLKOi、/SCLKOi信号を出力する。クロックI/O回路601は、基準クロック信号Ref_clkをデータI/O回路603およびストローブI/O回路605に供給する。PLLを備えるクロックI/O回路601は、180°、270°、および360°の位相シフトされたクロック信号を出力する。PLL_EN信号も、データI/O回路603およびストローブI/O回路605に供給される。基準電圧信号SVREFは、データI/O回路603およびストローブI/O回路605に供給される。データI/O回路603は、入力データDIi[0:3]および180°、270°、および360°の位相シフトされたクロック信号を受け取る。データI/O回路603は、出力データDQi[0:3]を供給する。ストローブI/O回路605は、SCSIi、SDSIi信号および180°、270°、および360°の位相シフトされたクロック信号を受け取る。ストローブI/O回路605は、SCSOi、SDSOi信号を出力する。制御回路607は、内部コマンドストローブ入力信号iCSIおよび内部データストローブ入力信号iDSIをストローブI/O回路605から受け取り、データI/O回路603から書き込むべきデータを受け取る。制御回路607は、リードデータをデータI/O回路603に供給する。
【０１４４】
メモリコア回路607を伴う制御回路の構造は、図18Bに示されているメモリコア回路407を伴う制御回路の構造と類似している。制御回路607は、論理「High」または「Low」の活性化信号を供給する。
【０１４５】
図24Bは、図24Aに示されているクロックI/O回路601の詳細を示している。図24Aおよび24Bを参照すると、SCLKIiおよび/SCLKIi信号が、入力バッファ611の「+」および「-」入力に供給され、次いで、これにより、基準クロック信号Ref_clkが供給されることがわかる。基準クロック信号Ref_clkおよびPLL_EN信号が、発振器を含むPLL 613に供給される。PLL 613は、PLL_EN信号がそれぞれ論理「High」および論理「Low」であることに応答してオンおよびオフにされる。基準クロック信号Ref_clkに関して、90°、180°、270°、および360°だけ位相シフトされた4つのクロック信号が、それぞれ、バッファ614-1、614-2、614-3、および614-4を通じて出力される。PLL_EN信号は、それぞれセレクタ617、619と出力バッファ625、627との間に挿入されているセレクタ621、623の選択入力に供給される。セレクタ617および619のそれぞれの「0」および「1」入力には、それぞれ、論理「0」および「1」の電圧を与えられる。セレクタ621および623の「1」入力は、それぞれ、セレクタ617および619から選択された出力信号を受け取る。セレクタ621および623の「0」入力は、Lowレベル電圧Vss(論理「0」)を与えられる。360°の位相シフトされたクロック信号(つまり、Clk360信号)が、PLL 613の発振ループ入力およびセレクタ617の選択入力に供給される。セレクタ621および623からの選択された出力は、出力バッファ625および627を通して、それぞれ、SCLKOiおよび/SCLKOi信号として供給される。180°、270°、および360°の3つの位相シフトされたクロック信号(つまり、Clk180信号、Clk270信号、およびClk360信号)は、クロックI/O回路601から供給される。
【０１４６】
図24Cは、図24Aに示されているデータI/O回路603の詳細を示している。図24Aおよび24Cを参照すると、基準電圧信号SVREFが、入力バッファ629の「-」入力に供給されることがわかる。入力データDIi[0:3]は、入力バッファ629の「+」入力に供給され、その出力<0:3>は、基準クロック信号Ref_clkの正のエッジと負のエッジでクロック同期するD-FF 661および663のデータ入力「D」に供給され、これによりDDRデータを取り込む。デバイスは、4ビットデータ経路を有しているけれども、単一ビットのみに対する回路が示されている。データを処理する回路要素のそれぞれは、実際のデバイス内で4回複製される。D-FF 661の4ビット出力Din1[0:3]は、ビット4、5、6、および7を含み、セレクタ665の「0」入力に供給される。同様に、D-FF 663の4ビット出力Din2[0:3]は、ビット0、1、2、および3を含み、セレクタ667の「0」入力に供給される。セレクタ665および667は、「活性化」信号に従って選択オペレーションを実行する。活性化信号は、デバイスが/SCE信号によってイネーブルされている間に、IDマッチ判定およびデータリードオペレーションモードに応じてデバイスが選択されたときに「High」になる。セレクタ665および667からの選択された出力は、データラッチオペレーションに対し、それぞれ、Clk180およびClk360信号でクロック同期されたD-FF 669および671のデータ入力Dに供給される。D-FF 669の内部的にラッチされている出力データDo1[0:3]およびD-FF 671のデータDo0[0:3]は、それぞれ、Clk270信号に応答して選択オペレーションを実行する、セレクタ673の「1」および「0」入力に供給される。セレクタ673からの選択された出力<0:3>は、セレクタ633の「1」入力に供給される。
【０１４７】
基準クロック信号Ref_clkは、セレクタ631の選択入力に供給され、その「0」および「1」入力は、内部出力データido[0:3]およびido[4:7]をそれぞれセレクタ665および667の出力から受け取る。セレクタ631からの選択された出力信号は、セレクタ631と出力バッファ675との間に挿入されているセレクタ633の「0」入力に供給される。PLL_EN信号に応答して、セレクタ633は、セレクタ631またはセレクタ673から出力信号を選択し、選択された出力データ<0:3>は、出力バッファ675を通じて出力データDQi[0:3]として出力される。
【０１４８】
図24Dは、図24Aに示されているストローブI/O回路605の詳細を示している。図24Aおよび24Dを参照すると、基準電圧信号SVREFが、入力バッファ641および643の「-」入力に供給されることがわかる。SCSIiおよびSDSIi信号は、それぞれ入力バッファ641および643の「+」入力に供給され、その出力は、D-FF 645および647のD入力に供給される。D-FF 645および647は、基準クロック信号Ref_clkに応答してラッチオペレーションを実行する。D-FF 645および647は、メモリコア回路607を備える制御回路に供給される内部コマンドストローブ入力信号iCSI(これ以降、「iCSI信号」と称する)および内部データストローブ入力信号iDSI信号(これ以降、「iDSI信号」と称する)を出力する。
【０１４９】
iCSI信号は、D-FF 649、651、および653のD入力に供給される。iDSI信号は、D-FF 655、657、および659のD入力に供給される。D-FF 649および655は、Clk180信号でクロック同期される。D-FF 651および657は、Clk360信号でクロック同期される。D-FF 653および659は、基準クロック信号Ref_clkの反転バージョンの信号でクロック同期される。D-FF 649および651は、それぞれセレクタ677の「1」および「0」入力に供給されるiCSO1およびiCSO0信号を出力する。Clk270信号に応答して、iCSO1またはiCSO0が、セレクタ677によって選択され、選択された出力信号が、セレクタ687の「1」入力に供給され、その「0」入力は、D-FF 653の出力信号を受け取る。
【０１５０】
D-FF 655および657は、それぞれセレクタ679の「1」および「0」入力に供給されるiDSO1およびiDSO0信号を出力する。Clk270信号に応答して、iDSO1またはiDSO0が、セレクタ679によって選択され、選択された出力信号が、セレクタ689の「1」入力に供給され、その「0」入力は、D-FF 659の出力信号を受け取る。
【０１５１】
PLL_EN信号に応答して、D-FF 687は、セレクタ677またはD-FF 653の出力信号を選択し、選択された出力信号は、出力バッファ691を通じてSCSOi信号として出力される。同様に、PLL_EN信号に応答して、セレクタ689は、セレクタ679またはD-FF 659の出力信号を選択し、選択された出力信号は、出力バッファ693を通じてSDSOi信号として出力される。
【０１５２】
図25は、図24A〜24Dに示されているデバイスに対するさまざまな信号を示している。図25に示されている実施例において、PLL_EN信号が「Low」になった場合、PLL 613はオフになり(またはディセーブルされ)、Clk90信号、Clk180信号、Clk270信号、およびClk360信号は、生成されない。ディセーブルされたPLLのデバイスにおける入力データの取り込みは、SCSi信号と基準クロック信号のオーバーラップ期間に実行される。ディセーブルされたPLLのデバイスの間に、クロックの位相シフトはないが、データのホールド時間tHOLDおよびセットアップ時間tSETUPは、以下の関係式によって保証される。
tHOLD=tOUT-tINS+tDTD (1)
tSETUP=tCK×0.5-tHOLD (2)
ただし、tOUTは基準クロックから出力バッファまでの遅延であり、tINSはクロック挿入遅延であり、tDTDはデバイス間遅延であり、tCKはクロック周期である。
【０１５３】
上述のように、タイミングマージンは、バッファ経路遅延およびデバイス間距離に応じて変わり、したがって、共通同期クロック構造は、MCPまたはグループ内の内部でしか使用されない。
【０１５４】
図26は、図24A〜24Dに示されているデバイスに対するさまざまな信号を示している。特定の実施例において、クロックは中央整列される。実施例では、PLL_EN信号は、論理「High」であり、PLLをオンにするか、またはイネーブルする。
【０１５５】
図24A〜24D、25、および26を参照すると、PLL_EN信号が「High」になった場合、PLL 613はオンになり、Clk90信号、Clk180信号、Clk270信号、およびClk360信号が生成される。
【０１５６】
共通同期クロック構造とは異なり、ソース同期クロック構造では、図24B〜24Dに示されているような2入力セレクタを使用してクロックとデータ経路との間で90°の位相シフトおよび遅延マッチを持つ再生クロックを供給する。クロックの90°位相シフトとのこの遅延マッチにより、常に、セットアップおよびホールド時間は、DDRオペレーションではtCK×0.25値と同じである。
【０１５７】
ハイブリッド同期クロック構造がある。第1のアプローチは、2つのMCPの間にあり、メモリコントローラからのデータを伴う中央整列クロックに基づく。データを伴うエッジ整列クロックに対する他の方法についてここで説明する。データを伴う中央整列クロックの場合、これは、図22および図23A、23Bに示されているように入力データとSCLKIおよび/SCLKI信号との間に不平衡負荷を有する。この不平衡負荷効果(「D」およびCKおよび/CK接続を参照)のせいで、クロックとデータとの間の位相差が、メモリコントローラの開始点から変化する可能性がある。したがって、この代替方法が、それに対する解決策となる。すべての入力データおよび出力は、2つのディセーブルされたPLLコンポーネントの間を除き、クロックとエッジ整列されていると仮定される。
【０１５８】
図27は、本発明の一実施形態による他のシステムを示す。システムは、複数(N)のデバイスグループDGP1〜DGPNを備える。このシステムは、データを伴うエッジ整列クロックを有するハイブリッド同期クロック構造を実装する。それぞれのデバイスグループは、図22に示されているMCPベースのシステムのものと同じ構造を有する。図27に示されている特定の実施例では、それぞれのデバイスグループは、PLLを有する4つのデバイスを含む。第1のデバイスのPLLは、オンであり(イネーブルされており)、第2から第4までのデバイスのPLLは、オフになっている(ディセーブルされている)。第1のデバイスは、ソース同期クロック構造でクロック同期され、第2から第4までのデバイスは、第1のデバイスによって出力された再生クロック信号SCLKOおよび/SCLKOにより共通同期クロック構造でクロック同期される。入力データDIおよび一対の入力クロック信号SCLKIおよび/SCLKIは、MCPの入力側において同じ負荷効果を有し、したがって、コントローラから第1のMCPまでの接続負荷に対して同じ位相シフトを容易に保持することができる。
【０１５９】
図28は、コントローラとメモリデバイスとの間でやり取りされるさまざまな信号を示している。
【０１６０】
データを伴うエッジ整列クロックを形成するために、それぞれのMCPの最後のコンポーネントは、次のMCPにクロックを供給する。PLLまたはDLLがない場合、データを伴うエッジ整列クロックは、出力クロックと出力データとの間の遅延経路マッチにより実装できる。
【０１６１】
図29Aは、ハイブリッド同期クロック構造のインターフェースを有する1つのデバイスの他の実施例を示している。
【０１６２】
図示されている実施例において、さまざまな入力信号(例えば、SCLKIi、/SCLKIi、SCSIi、SDSIi信号)およびデータDIiが、1つのデバイスに入力され、さまざまな出力信号(例えば、SCLKOi、/SCLKOi、SCSOi、SDSOi信号)およびデータDQiが、1つのデバイスから出力される。図29Aを参照すると、デバイスは、PLLを備えるクロックI/O回路701、データI/O回路703、ストローブI/O回路705、およびメモリコア回路707を含む制御回路を備えることがわかる。クロックI/O回路701は、SCLKIi、/SCLKIi信号およびPLL_EN信号を受け取る。クロックI/O回路701は、2つの内部生成クロック信号Clk_en1およびClk_en2(これ以降、「Clk_en1クロック信号」および「Clk_en2クロック信号」とそれぞれ称する)をデータI/O回路703およびストローブI/O回路705に出力する。基準電圧信号SVREFは、データI/O回路703およびストローブI/O回路705に供給される。データI/O回路703は、入力データDIi[0:3]を受け取って、出力データDQi[0:3]を供給する。ストローブI/O回路705は、SCSIi、SDSIi信号を受け取って、SCSOi、SDSOi信号を出力する。制御回路707は、内部コマンドストローブ入力信号iCSI1および内部データストローブ入力信号iDS1をストローブI/O回路705から受け取り、データI/O回路703から書き込むべきデータを受け取る。制御回路707は、リードデータをデータI/O回路703に供給する。
【０１６３】
メモリコア回路707を伴う制御回路の構造は、図18Bに示されているメモリコア回路407を伴う制御回路の構造と類似している。制御回路707は、IDマッチおよびデータリードコマンドがある場合に論理「High」の活性化信号を供給する。
【０１６４】
図29Bは、図29Aに示されているクロックI/O回路701の詳細を示している。図29Aおよび29Bを参照すると、SCLKOiおよび/SCLKOi信号が、入力バッファ711に入力され、次いで、これにより、基準クロック信号Ref_clkが発振器を含むPLL 713の入力に供給されることがわかる。また、PLL_EN信号は、PLL 713のイネーブル入力「PLL_EN入力」に供給される。PLL 713は、基準クロック信号Ref_clkに関して、90°、180°、270°、および360°の4つの位相シフトされたクロック信号を発生する。Clk90信号、Clk180信号、Clk270信号、およびClk360信号は、PLL 713によって、各バッファ714-1、714-2、714-3、および714-4を通して供給される。360°位相シフトクロック信号Clk360は、PLL 713の発振入力「Osc_loop入力」に供給される。
【０１６５】
基準クロック信号Ref_clkおよび90°位相シフトクロック信号Clk90信号は、それぞれ、セレクタ715の「0」および「1」入力に供給され、その選択入力は、PLL_EN信号を受け取る。セレクタ715からの選択された信号は、Clk_en1クロック信号として供給される。基準クロック信号Ref_clkおよびバッファ755からの遅延バージョンのClk-dlyは、それぞれ、セレクタ725の「0」および「1」入力に供給され、PLL_EN信号に応答してセレクタ725によって選択される。セレクタ725からの選択されたクロックは、Clk_en2クロック信号として供給される。
【０１６６】
基準クロック信号Ref_clkは、セレクタ717の「0」入力にも供給され、その「1」入力と選択入力は、プルダウンされ(論理「0」)、したがって、セレクタ717は、常に、「0」入力の信号を選択し、その結果、基準クロック信号Ref_clkは、そこから選択された出力信号となる。セレクタ717の選択された出力信号は、セレクタ719および720の選択入力に供給される。セレクタ719の「0」および「1」入力には、それぞれ、論理「0」および「1」を与えられる。セレクタ720の「0」および「1」入力には、それぞれ、論理「1」および「0」を与えられる。セレクタ719および720からの選択された出力信号は、出力バッファ721および723を通して、それぞれ、SCLKOiおよび/SCLKOi信号として供給される。
【０１６７】
図29Cは、図29Aに示されているデータI/O回路703の詳細を示している。図29Aおよび29Cを参照すると、基準電圧信号SVREFが、入力バッファ(コンパレータ)727の「-」入力に供給されることがわかる。入力データDIi[0:3]は、入力バッファ725の「+」入力に供給され、その出力信号<0:3>は、それぞれ、Clk_en1クロック信号およびその反転バージョンの信号でクロック同期するD-FF 761および763のデータ入力Dに供給される。この実施例では、D-FF 763のデータラッチオペレーションは、D-FF 761のオペレーションからClk_en1クロック信号の位相に関して180°シフトされる。デバイスは、4ビットデータ経路を有しているけれども、単一ビットのみに対する回路が示されている。データを処理する回路要素のそれぞれは、実際のデバイス内で4回複製される。D-FF 761の4ビット出力データDin1[0:3]は、ビット4、5、6、および7を含み、セレクタ765の「0」入力に供給される。同様に、D-FF 763の4ビット出力データDin2[0:3]は、ビット0、1、2、および3を含み、セレクタ767の「0」入力に供給される。セレクタ765および767は、セレクタ765および767の選択入力に供給される「活性化」信号に従って選択オペレーションを実行する。特定の実施例において、活性化信号は、ID一致がない場合に論理「Low」である。IDマッチがあるときに、データリードおよびデータライトの場合に、活性化信号は、それぞれ、「High」および「Low」である。活性化信号に応答して、セレクタ765および767からの内部的に選択された出力データDo1[0:3]およびDo0[0:3]は、それぞれ、セレクタ773の「0」および「1」入力に供給され、その選択入力は、クロックI/O回路701からClk_en2を受け取る。セレクタ773からの選択された出力データ<0:3>は、出力バッファ775を通じて出力データDQi[0:3]として供給される。
【０１６８】
図29Dは、図29Aに示されているストローブI/O回路705の詳細を示している。図29Aおよび29Dを参照すると、基準電圧信号SVREFが、入力バッファ(コンパレータ)737および739の「-」入力に供給され、その「+」入力は、それぞれSCSIiおよびSDSIi信号を受け取ることがわかる。入力バッファ737および739の出力信号は、D-FF 741、781、および743、783のD入力に供給される。Clk_en1クロック信号は、それぞれ、D-FF 741および743のクロック入力およびD-FF 781および783の反転クロック入力に供給される。D-FF 741および743は、それぞれ、Clk_en1クロック信号に応答してiCSI1およびiDSI1信号を出力し、これらは制御回路707に供給される。iCSI1およびiDSI1信号は、それぞれ、セレクタ791および793の「0」入力に供給される。追加の内部コマンドストローブおよびデータストローブ入力信号iSCSI2およびiSDSI2は、D-FF 781および783から、それぞれ、セレクタ791および793の「1」入力に供給される。Clk_en2クロック信号は、セレクタ791および793の選択入力に供給される。セレクタ791は、Clk_en2クロック信号に応答して、iCSI1信号またはiCSI2信号を選択し、セレクタ791からの選択された出力信号は、出力バッファ751を通じてSCSOi信号として供給される。セレクタ793は、Clk_en2クロック信号に応答して、iDSI1信号またはiDSI2信号を選択し、セレクタ793からの選択された出力信号は、出力バッファ753を通じてSDSOi信号として供給される。
【０１６９】
メモリコア回路707を備える制御回路は、図18Bのものと同じ構造を有する。
【０１７０】
図29A〜29Dを参照すると、ライトオペレーション(活性化信号が論理「0」である)、D-FF 761および763からラッチされたデータ、Din1[0:3](つまり、ビット4、5、6、および7)ならびにDin2[0:3](つまり、ビット0、1、2、および3)は、ライトレジスタ795に書き込まれることがわかる。IDマッチ判定の後、8ビット(ビット0〜7)の書き込まれたデータは、制御回路707に供給され、その中に含まれるコアセルに書き込まれたデータを格納する。通常オペレーションのリードオペレーション(活性化信号が論理「1」である)では、IDマッチ判定後に、制御回路707は、その中のデータストア要素にアクセスし、データを読み出し、その読み出されたデータは、リードレジスタ797内に書き込まれる。書き込まれたデータは、Rout1[0:3](ビット4、5、6、および7)ならびにRout2[0:3](ビット0、1、2、および3)として、それぞれ、セレクタ765および767によって選択され、最終的に、出力データDQi[0:3]が次のメモリデバイスに供給される。リードオペレーションでは、D-FF 761および763からラッチされたデータ、Din1[0:3](つまり、ビット4、5、6、および7)ならびにDin2[0:3](つまり、ビット0、1、2、および3)は、ライトレジスタ795に書き込まれない。したがって、8ビット(ビット0〜7)の書き込まれたデータは、制御回路707に供給されない。
【０１７１】
図30は、図29A〜29Dに示されているデバイスに対するさまざまな信号を示している。図30は、エッジ整列クロックの事例とともに、ハイブリッド同期クロック構造におけるイネーブルされたPLLデバイスのオペレーションを示している。PLLは、PLL_EN信号が「High」であることによってイネーブルされる。
【０１７２】
図29A〜29Dおよび30を参照すると、PLL_EN信号が論理「High」レベルの電圧Vddによって供給されたときに、PLL 713は内部位相シフトされたクロック信号の生成を開始し、そのうちの1つの信号(90°位相シフトされたクロック信号Clk90)が、データI/O回路703のD-FF 761および763を含む回路である、データ入力側で入力データをラッチするために使用されることがわかる。データを伴うエッジ整列クロック信号は、クロックの位相シフトなしではセットアップ時間のマージンがなく、したがって、図29Cよび29Dに示されているように90°位相シフトクロック信号がそれぞれの入力ラッチに供給される必要がある。この場合、出力データ(DQi、SCSOi、およびSDSOi)とSCLKIiおよび/SCLKIi信号との間の位相差は、非常にクリティカルなので、クロックおよび入力データが次のデバイスの入力ラッチ段階に到達するときに、遅延クロック「Clk_dly」を使用して、出力データを送出し、次のデバイスにタイミングマージンを与えるようにする。それぞれのMCPの最後のコンポーネント(またはデバイス)のSCLKOiおよび/SCLKOi信号が、他のMCPに供給され、その一方で、同じMCP内の第1のコンポーネント(またはデバイス)の出力クロックは、同じMCP内への共通クロッキングの方法で他のコンポーネントに接続される。
【０１７３】
PLL_EN信号が論理「Low」(Vss)である場合、PLL 713は、ディセーブルされ、基準クロック信号Ref_clkは、入力データをラッチし、出力データをエッジ整列クロッキングを有する次のコンポーネントに伝送するために使用される。クロックと出力データとの間の遅延経路のマッチングを行うので、クロックと出力データのエッジ整列が達成される。次のコンポーネントにおいて、入力データは、図31に示されているように、2つのコンポーネントの間の1サイクル遅延でSCLKOiおよび/SCLKO信号によって取り込まれる。図31は、デバイスに対するさまざまな信号を示している。図31は、エッジ整列クロックの事例とともに、ハイブリッド同期クロック構造におけるディセーブルされたPLLデバイスのオペレーションを示している。PLLは、PLL_EN信号が「Low」であることによってディセーブルされる。
【０１７４】
混合クロッキングを使用すると、PLLにおける消費電力を低減することができ、MCPおよびグループ化されたデバイスの高速オペレーションが可能になる。
【０１７５】
完全ソース同期クロック構造を実装する第2の代替手段は、ハイブリッド同期クロッキングを有さない。
【０１７６】
ソース同期クロック構造のみを使用することで、PLLにおける電力消費を低減する手段がある。交互のPLLのオン/オフ(またはオフ/オン)オペレーションを使用して、データの取り込みおよび伝送を実現することができる。この場合、ソース同期クロック構造だけが、前の2つの事例と異なる完全な速度性能を得ることができるように考慮される。また、他の利点として、これを、MCPに限定されない、リング型接続システムを含むグループ化されたすべての接続システムに適用できるという点が挙げられる。単一コンポーネントパッケージでは、これは、前の2つの事例のような制限なしで適用することができる。
【０１７７】
図32は、完全ソース同期クロック構造を備えるシステムの一実施例を示している。図示されている実施例では、システムは、14個のデバイス799-1〜799-14を備え、それぞれがPLLを有している。デバイスのそれぞれは、バイナリコードである関連するIDを保持するためのIDレジスタを有する。この特定の実施例において、IDは、4ビット2進数である。デバイス799-1〜799-14へのID割り当てはないので、それらのIDレジスタは、初期ID(つまり、「0000」)を保持する。それぞれのデバイスのPLL_EN信号は、初期ID(つまり、「0」)のLSBに従って論理「High」である。したがって、すべてのデバイスのPLLはイネーブルされる(「オン」)。
【０１７８】
図33Aは、エッジ整列クロックと中央整列クロックを交互に切り替える、完全ソース同期クロック構造とともに、直列接続されている複数のデバイスの一実施例を示している。特定の実施例において、システムは、データとともにエッジ整列クロックを使用する。図33Aを参照すると、初期モードでは、デバイス799-1〜799-14は、それぞれ、ID番号「0000」〜「1101」を割り当てられることがわかる。それぞれのデバイスのPLL_EN信号は、そのデバイスに割り当てられたIDのLSBに従って論理「High」または「Low」である。図33Aに示されている特定の実施例において、第1、第3、...のデバイスのLSBは、「0」であり、それらのPLL_EN信号は、論理「High」である。第2、第4、...のデバイスのLSBは、「1」であり、それらのPLL_EN信号は、論理「Low」である。
【０１７９】
図33Bは、中央整列クロックとエッジ整列クロックを交互に切り替える、ソース同期クロック構造とともに、直列接続されている複数のデバイスの他の実施例を示している。特定の実施例において、システムは、データとともに中央整列クロックを使用する。図33Bを参照すると、初期モードでは、デバイス799-1〜799-14は、それぞれ、ID番号「0000」〜「1101」を割り当てられることがわかる。それぞれのデバイスのPLL_EN信号は、それらのデバイスに割り当てられたIDのLSBに従って論理「Low」または「High」である。この特定の実施例において、第1、第3、...のデバイスのPLL_EN信号は、論理「Low」である。第2、第4、...のデバイスのPLL_EN信号は、論理「High」である。図32、33A、および33Bに示されているシステムのそれぞれにおいて、デバイスの個数Nは、14(偶数)であるが、直列接続されるデバイスの個数に制限はない。図33Aおよび33Bに示されているように、N/2個のデバイスがイネーブルされ(オン)、他のN/2個のデバイスはディセーブルされる(オフ)。
【０１８０】
図34Aは、完全ソース同期クロッキングインターフェースを有する複数のデバイスのうちの1つを示している。図34Aを参照すると、デバイスは、PLLを備えるクロックI/O回路801、データI/O回路803、ストローブI/O回路805、およびメモリコア回路807を含む制御回路を備えることがわかる。クロックI/O回路801は、SCLKI、/SCLKI信号を受け取り、SCLKOi、/SCLKOi信号を出力する。クロックI/O回路801は、2つの内部生成クロック信号Clk_in1およびClk_in2(これ以降、「Clk_in1クロック信号」および「Clk_in2クロック信号」とそれぞれ称する)をデータI/O回路803およびストローブI/O回路805に供給する。基準電圧信号SVREFは、データI/O回路803およびストローブI/O回路805に供給される。データI/O回路803は、入力データDIi[0:3]を受け取って、出力データDQi[0:3]を供給する。ストローブI/O回路805は、SCSIi、SDSIi信号を受け取って、SCSOi、SDSOi信号を出力する。制御回路807は、内部コマンドストローブ入力信号iCSI1および内部データストローブ入力信号iDSI1をストローブI/O回路805から受け取り、データI/O回路803から書き込むべきデータを受け取る。制御回路807は、リードデータをデータI/O回路803に供給する。制御回路807は、PLL_EN信号をクロックI/O回路801、データI/O回路803、およびストローブI/O回路805に供給する。また、制御回路807は、ID割り当て完了信号をクロックI/O回路801に供給する。
【０１８１】
図34Bは、図34Aに示されているメモリコア回路807を備える制御回路を示している。図34Aおよび34Bを参照すると、ID割り当て回路371は、初期モードにおいてID割り当ておよびID計算を実行することがわかる。入力IDの番号、つまりIDiが、IDレジスタ372内に登録される。計算結果の数(つまり、IDi+1)は、デバイスiによって出力IDoとして次のデバイスに供給される。IDレジスタ372は、割り当てられたIDを保持する。
【０１８２】
IDレジスタ372は、割り当てられたIDiのLSB(最下位ビット)の論理状態を表す1ビット信号374をインバータ376に供給し、その反転された出力信号はPLL_EN信号として出力される。したがって、PLL_EN信号は、割り当てられたIDiのLSBの「0」または「1」に応答して論理状態「High」または「Low」を有する。また、ID割り当て回路371は、ID割り当ての完了後にID割り当て完了信号379を出力する。初期モードでは、IDレジスタ372が最初にリセットされ、すべてのIDレジスタ372は「0」である。したがって、PLL_EN信号は、論理「High」であり、すべてのデバイスのPLLは、図32に示されているようにイネーブルされる(オン)。IDの登録後、偶数のIDのLSBに応答して、PLL_EN信号は「High」になり、奇数のIDのLSBに応答して、PLL_EN信号は「Low」になる。図33Aに示されているように、「High」のPLL_EN信号に応答して、第1、第3、第5、...のデバイスのPLLはイネーブルされ(オン)、「Low」のPLL_EN信号に応答して、第2、第4、...のデバイスのPLLはディセーブルされる(オフ)。
【０１８３】
これ以降、通常モードにおいて、図6に示されているようなフォーマットを有するコマンドは、IDマッチ判定器373およびコマンドインタプリタ375に供給される。IDマッチ判定器373は、入力ID番号がIDレジスタ372内に保持されている割り当て済みIDとマッチするかどうか、もしマッチしていれば、供給されるIDマッチ信号が論理「High」になる。マッチがない場合、IDマッチ信号は論理「Low」になる。OPコード復号器を備えるコマンドインタプリタ375は、入力コマンドに含まれるOPコードを復号化し、「High」レベルのID一致信号に応答して、解釈されたコマンド(例えば、ライト、リード)を供給する。解釈されたコマンドおよびID一致信号に応答して、モード信号生成器377が、「活性化」信号を供給する。特定の実施例において、活性化信号は、IDマッチがないときに論理「Low」となり、IDマッチがあるときに論理「High」となり、OPコードは「リード」である(つまり、そのコマンドはデータリードコマンドである)。解釈されたコマンドに応答して、例えば、データストレージまたはメモリ要素(図示されていない)を有するメモリコア回路378にデータが書き込まれるか、またはそのメモリコア回路378からデータが読み出される。メモリコア回路378は、内部コマンドストローブ入力信号iCSI1および内部データストローブ入力信号iDSI1をストローブI/O回路805から受け取る。
【０１８４】
図34Cは、図34Aに示されているクロックI/O回路801の詳細を示している。図34Aおよび34Cを参照すると、PLL_EN信号は、PLL 813に供給されることがわかる。SCLKIiおよび/SCLKIi信号は、入力バッファ811の「+」および「-」入力に供給され、次いで、これにより、基準クロック信号Ref_clkがPLL 813の基準クロック入力「Ref_clk入力」に供給されることがわかる。PLL 813は、発振器を備え、それぞれバッファ814-1、814-2、814-3、および814-4を通じて入力基準クロック信号Ref_clkに関して、90°、180°、270°、および360°だけ位相シフトされた4つのクロック信号を生成する。Clk90、Clk180、Clk270、およびClk360によって参照される90°、180°、270°、および360°の4つの位相シフトされたクロック信号は、これ以降、「Clk90信号」、「Clk180信号」、「Clk270信号」、および「Clk360信号」とそれぞれ称される。Clk360信号は、PLL 813の発振入力「Osc_loop入力」に供給される。Clk360信号、基準クロック信号Ref_clk、およびPLL_EN信号が、それぞれ、セレクタ817の「1」、「0」、および選択入力に供給され、その出力信号は、セレクタ819および820の選択入力に供給される。
【０１８５】
セレクタ819の「0」および「1」入力は、それぞれ、論理「0」および「1」信号を受け取る。セレクタ820の「0」および「1」入力は、それぞれ、論理「1」および「0」信号を受け取る。セレクタ819の出力信号は、出力バッファ821を通じてSCLKOi信号として供給される。同様に、セレクタ820の出力信号は、出力バッファ823を通じて/SCLKOi信号として供給される。したがって、SCLKOiおよび/SCLKOi信号は、180°位相外れの相補差動クロック信号である。
【０１８６】
ID割り当て完了信号379およびPLL_EN信号は、ANDゲート853に供給され、その論理出力信号は、セレクタ815の選択入力に供給される。基準クロック信号Ref_clkおよびClk90信号は、それぞれ、セレクタ815の「0」および「1」入力に供給され、その選択出力信号は、Clk_in1クロック信号として供給される。また、PLL_EN信号は、セレクタ824の選択入力に供給され、「1」および「0」入力は、Clk270信号および基準クロック信号Ref_clkをそれぞれ受け取る。セレクタ824からの選択された出力信号は、Clk_in2クロック信号として供給される。
【０１８７】
図34Dは、図34Aに示されているデータI/O回路803を示している。図34Aおよび34Dを参照すると、基準電圧信号SVREFが、入力バッファ825の「-」入力に供給されることがわかる。入力データDIi[0:3]は、入力バッファ825の「+」入力に供給され、その出力データ<0:3>は、それぞれClk_in1クロック信号の正のエッジと負のエッジでクロック同期するD-FF 861および863のデータ入力「D」に供給され、これによりDDRデータを取り込む。デバイスは、4ビットデータ経路を有しているけれども、単一ビットのみに対する回路が示されている。データを処理する回路要素のそれぞれは、実際のデバイス内で4回複製される。D-FF 861の4ビット出力Din1[0:3]は、ビット4、5、6、および7を含み、セレクタ865の「0」入力に供給される。同様に、D-FF 863の4ビット出力Din2[0:3]は、ビット0、1、2、および3を含み、セレクタ867の「0」入力に供給される。セレクタ865および867は、その選択入力に供給される「活性化」信号に従って選択オペレーションを実行する。セレクタ865および867からの選択された出力信号は、内部データラッチオペレーションに対し、それぞれ、Clk_in1の負のエッジと正のエッジでクロック同期されたD-FF 881および883のデータ入力Dに供給される。
【０１８８】
セレクタ865からの内部的に選択された出力データDo1[0:3]およびD-FF 881の内部的にラッチされている出力データDo1_d[0:3]は、それぞれ、セレクタ885の「1」および「0」入力に供給される。セレクタ867からの内部的に選択された出力データDo0[0:3]およびD-FF 883の内部的にラッチされている出力データDo0_d[0:3]は、それぞれ、セレクタ887の「1」および「0」入力に供給される。セレクタ885および887の選択入力は、PLL_EN信号を受け取る。セレクタ885の選択された出力データ<0:3>は、セレクタ888の「1」入力に供給され、セレクタ887の選択された出力データ<0:3>は、セレクタ888の「0」入力に供給され、その選択入力は、内部クロック信号Clk_in2を受け取る。内部クロック信号Clk_in2に応答して、セレクタ888の選択された出力データ<0:3>は、出力バッファ890を通じて出力データDQi[0:3]として供給される。
【０１８９】
ライトオペレーションでは、D-FF 861および863からラッチされたデータ、Din1[0:3](つまり、ビット4、5、6、および7)ならびにDin2[0:3](つまり、ビット0、1、2、および3)は、ライトレジスタ895に供給される。リードオペレーションでは、メモリコア回路807を備える制御回路は、その中のデータストア要素にアクセスし、データを読み出し、その読み出されたデータは、リードレジスタ897内に書き込まれる。リードデータは、Rout1[0:3](ビット4、5、6、および7)ならびにRout2[0:3](ビット0、1、2、および3)として、それぞれ、セレクタ865および867によって選択され、最終的に、出力データDQi[0:3]が次のメモリデバイスに供給される。
【０１９０】
図34Eは、図34Aに示されているストローブI/O回路805を示している。図34Aおよび34Eを参照すると、基準電圧信号SVREFが、入力バッファ(コンパレータ)827および829の「-」入力に供給されることがわかる。SCSIiおよびSDSIi信号は、それぞれ、入力バッファ827および829の「+」入力に供給される。入力バッファ827の出力信号は、D-FF 831および835のD入力に供給される。入力バッファ829の出力信号は、D-FF 833および837のD入力に供給される。Clk_in1クロック信号は、D-FF 831および833のクロック入力およびD-FF 835および837の反転クロック入力に供給される。
【０１９１】
D-FF 831および833は、Clk_in1クロック信号の正のエッジに応答してラッチオペレーションを実行する。D-FF 835および837は、Clk_in1クロック信号の負のエッジに応答してラッチオペレーションを実行する。したがって、D-FF 835、837のラッチオペレーションは、Clk_in1クロック信号の180°位相シフトされたものである。D-FF 831および833は、制御回路807に供給される内部コマンドストローブ入力信号iCSI1(これ以降、「iCSI1信号」と称する)および内部データストローブ入力信号iDSI1信号(これ以降、「iDSI1信号」と称する)を出力する。D-FF 835および837は、他の内部コマンドストローブ入力信号iCSI2(これ以降、「iCSI2信号」と称する)および他の内部データストローブ入力信号iDSI2信号(これ以降、「iDSI2信号」と称する)を出力する。
【０１９２】
iCSI1およびiDSI1信号は、それぞれD-FF 862および864のD入力に供給され、その出力は、Clk_in1クロック信号の負のエッジでクロック同期される。iCSI2およびiDSI2信号は、それぞれD-FF 866および868のD入力に供給され、その出力は、Clk_in1クロック信号の正のエッジでクロック同期される。iCSI1信号およびD-FF 862からの出力信号iCSI1_dは、セレクタ871の「1」および「0」入力に供給される。iCSI2信号およびD-FF 866からの出力信号iCSI2_dは、セレクタ873の「1」および「0」入力に供給される。iDSI1信号およびD-FF 864からの出力信号iDSI1_dは、セレクタ875の「1」および「0」入力に供給される。iDSI2信号およびD-FF 868からの出力信号iDSI2_dは、セレクタ877の「1」および「0」入力に供給される。PLL_EN信号は、セレクタ871、873、875、および877の選択入力に供給される。セレクタ871および873の選択された出力信号は、それぞれ、セレクタ891の「1」および「0」入力に供給される。セレクタ875および877の選択された出力信号は、それぞれ、セレクタ893の「1」および「0」入力に供給される。Clk_in2クロック信号は、セレクタ891および893の選択入力に供給される。セレクタ891からの選択された出力信号は、出力バッファ843を通じてSCSOi信号として供給される。セレクタ893からの選択された出力信号は、出力バッファ851を通じてSDSOi信号として供給される。
【０１９３】
図35Aは、図34A〜34Eに示されているデバイスに対するさまざまな信号を示している。図34A〜34Eおよび35Aを参照すると、割り当てられたIDのLSBが「0」である場合、IDレジスタ372からの出力信号374は、論理「Low」であり、インバータ376の出力信号は、論理「High」であり、その結果、PLL_EN信号は論理「High」となる。割り当てられたIDのLSBが「1」である場合、IDレジスタ372からの出力信号374は、論理「High」であり、PLL_EN信号は、論理「Low」である。PLL_EN信号が論理「High」または「Low」であることに応答して、PLL 813は、ディセーブルまたはイネーブルされる。
【０１９４】
デバイスIDを割り当てる前に、すべてのメモリコンポーネントは、デフォルト値として「0000」のID番号を有する。したがって、すべてのコンポーネント(またはデバイス)のすべてのPLLはイネーブルされ、これにより、図32に示されているようにすべてのPLLがオンにされている状況でID割り当てオペレーションを開始することができる。PLLがオンである(イネーブルされている)か、またはオフであるか(ディセーブルされている)かを判定するために、IDのLSBが使用される。LSBが「0」である場合、これはPLLをオンにする。そうでなければ、LSBが「1」に等しい場合、これはPLLをオフにする。
【０１９５】
中央整列クロッキングとエッジ整列クロッキングとの切り替えは、パワーアップシーケンスのオペレーションの際に数百サイクルを必要とする。しかし、これは、コンポーネントのオペレーションの実際の実行には影響を及ぼさない。また、最後のデバイスのID番号(つまり、リング型接続に加わっているコンポーネント(またはデバイス)の総数)に応じて、最後の出力は、データを伴うエッジ整列クロックであるか、またはデータを伴う中央整列クロックとすることができる。
【０１９６】
パワーアップシーケンスにおいて、デバイスアドレス(DA)またはデバイス識別(ID)割り当てオペレーションは、PLLがイネーブルされているそれぞれのデバイス内へ自動的に実行されうる。したがって、このオペレーションについては、すべてのコンポーネントにおいてPLLがオンにされているとしても、それぞれのコンポーネントの入力側は、ID割り当て完了信号379の論理ゼロ状態によって図34Cに示されているような90°位相シフトされたクロック信号の代わりに基準クロック信号Ref_clkを有する。入力データはすでにメモリコントローラからデータを伴う中央整列クロックを有しており、前のコンポーネント(またはデバイス)はデータを伴う中央整列クロックを発生するからである。このような免除は、ID割り当て前にしか生じない。これは、ID割り当て完了信号379によって制御される。これが「Low」である場合、「Ref_clk」に接続されている「0」入力がイネーブルされる。これが「High」である場合、90°位相シフトされたクロックに接続されている「1」入力がイネーブルされる。メモリコントローラにおける中央整列クロックとエッジ整列クロックとの間のタイミング関係の制御で、このソース同期の方法をサポートする必要がある。すべてのオンになっているPLLの事例と比較すると、これにより、すべてのPLLがオンである事例と比較したときに消費電力が50%減少することがわかる。メモリコントローラにおける中央整列クロックとエッジ整列クロックとの間の制御の例は、2008年11月28日に出願した米国特許出願第12/325,074号において開示されている。
【０１９７】
図36Aは、図34Aに示されているメモリコア回路807を備える制御回路の他の実施例を示している。図34Aおよび36Aを参照すると、ID割り当て回路391は、初期モードにおいてID割り当ておよびID計算を実行することがわかる。入力IDの番号、つまりIDiが、IDレジスタ392内に登録される。計算結果の数(つまり、IDi+1)は、デバイスiによって出力IDoとして次のデバイスに供給される。IDレジスタ392は、割り当てられたIDを保持する。
【０１９８】
IDレジスタ392は、割り当てられたIDiのLSBの論理状態を表す1ビット信号394をインバータ396に供給し、その反転された出力信号はNANDゲート395に供給される。ID割り当て回路391は、ID割り当て完了信号399をNANDゲート395に供給し、その論理出力信号は、PLL_EN信号として供給される。PLL_EN信号およびID割り当て完了信号399は、ANDゲート853に供給される。また、PLL_EN信号は、PLL 813、ANDゲート853、およびセレクタ817、824に供給される。
【０１９９】
これ以降、通常モードでは、図36Aに示されている制御回路は、図34Bに示されている制御回路807のものと似たオペレーションを実行する。
【０２００】
図37Aは、PLLがイネーブルされている図34A、34C〜34Eおよび36に示されているデバイスのタイミング図である。図37Bは、PLLがディセーブルされている図34A、34C〜34Eおよび36に示されているデバイスのタイミング図である。
【０２０１】
図34A、34C〜34E、および37A、37Bを参照すると、PLL 813がオンにされると、入力データは、入力段階で90°位相シフトされたクロックでラッチされる。SCSOiおよびSDSOi信号およびDQi[0:3]などの出力信号は、90°の位相差でセンタリングされたクロックと整列される。このシフトされたクロックによって、次のデバイスは、PLLからのクロック位相変更なしで、入力データを取り込むことができる。つまり、この完全ソース同期クロック構造において、交互のPLLのオン(イネーブル)およびオフ(ディセーブル)が可能である。
【０２０２】
図34A〜34E、36Aおよび36Bに示されているデバイスを有するシステムでは、ディセーブルされたPLLを有するデバイスから、エッジ整列出力データを供給し、次いで、これを、前のデバイスに接続されているイネーブルされたPLLを有する次のデバイス内で再整列する。2つのタイミング関係(例えば、図35A、35B、および37A、37Bに示されている)は、完全ソース同期クロック構造内で繰り返される。
【０２０３】
例えば、コントローラおよび接続されている複数のデバイスを有すシステムでは、それらのデバイスは、ソース同期方法などの同期方法でクロック同期される。ソース同期クロック構造は、PLLジッターおよび位相誤差がきちんと制御される場合に、共通同期クロック構造と比べて高い周波数動作範囲、例えば、800MHzを超える周波数動作範囲をもたらしうる。これらの理由から、より高いデータリードおよびライト範囲および帯域幅を形成するために直列接続されたメモリを有するシステムにおいて、ソース同期クロック構造が採用される。
【０２０４】
クロッキングシステムでは、例えば、システムが適切に設計され、PLLジッターおよび位相誤差がきちんと制御される場合に、共通同期クロッキングシステムの動作範囲と比べて高い周波数動作範囲を利用できる。
【０２０５】
図38は、ソース同期クロッキング方法で、直列接続されている複数のデバイスおよびメモリコントローラ1410を有するシステムの他の実施例を示している。ソース同期クロッキング方法の一例は、2007年2月16日に出願した「Non-Volatile Memory System」という表題の米国仮特許出願第60/902,003号および国際公開第WO/2008/109981号(2008年9月18日)においてさらに詳しく説明されている。このシステムは、Nを1より大きい整数とする、直列接続された複数の(N個の)デバイス1420-1、1420-2、...1420-Nを備える。
【０２０６】
図38に示されている特定の実施例において、メモリコントローラ1410は、データ/アドレス/コマンド用のデータ出力接続DOC[0:7]、コマンドストローブ出力接続CSOC、データストローブ出力接続DSOC、チップイネーブル出力接続/CEC、基準電圧接続VREFC、およびリセット出力接続/RSTCを有する。また、メモリコントローラ1410は、一対のクロック出力接続CKOCおよび/CKOCを有する。デバイスのそれぞれは、データ入力D、コマンドストローブ入力CSI、データストローブ入力DSI、リセット入力/RST、チップイネーブル入力/CE、および一対のクロック入力CKおよび/CKを有する。また、デバイスのそれぞれは、データ出力Q、コマンドストローブ出力CSO、データストローブ出力DSOを有する。1つのデバイスのデータ出力Q、コマンドストローブ出力CSO、およびデータストローブ出力DSOは、それぞれ次のデバイスのデータ入力D、コマンドストローブ入力CSI、およびデータストローブ入力DSIに結合される。デバイス1420-1〜1420-Nは、チップイネーブル信号「/CE」、リセット信号「/RST」、および基準電圧「Vref」を、並列方式でメモリコントローラ1410から受け取る。データは、シリアルデータまたはパラレルデータとして供給され、伝送されうる。
【０２０７】
メモリコントローラ1410のデータ出力DOC[0:7]は、入力データDI1[0:7]を第1のデバイス1420-1のデータ入力Dに供給する。第1のデバイス1420-1は、出力データDO1[0:7]を第2のデバイス1420-2に供給する。第2のデバイス1420-2は、出力データDO1[0:7]を、第1のデバイス1420-1から伝送されたその入力データDI2[0:7]として受け取る。他のデバイスのそれぞれも同じ機能を実行する。
【０２０８】
1つのデバイスのコマンドストローブ入力CSIおよびデータストローブ入力DSIは、CSI信号およびDSI信号をそれぞれ受け取る。また、1つのデバイスのコマンドストローブ出力CSOおよびデータストローブ出力DSOは、CSO信号およびDSO信号をそれぞれ次のデバイスに伝送する。そのデータ転送は、それぞれのデバイスにおけるコマンドストローブ入力信号およびデータストローブ入力信号によって制御される。これらのデバイスのそれぞれは、CSI信号およびDSI信号の遅延バージョンの信号、CSO信号およびDSO信号を次のデバイスに供給する。データおよびCSI、DSIの転送は、クロック信号CKおよび/CKに応答して実行される。
【０２０９】
直列接続されたデバイスを特徴とするアーキテクチャの詳細例は、米国特許出願第2007/0076502号(2007年4月5日)、および国際公開第WO/2007/036048号に取りあげられている。直列接続されたデバイスを特徴とするアーキテクチャの他の詳細例は、国際公開第WO/2008/067652号および国際公開第WO/2008/022454号に取りあげられている。
【０２１０】
最後のデバイス(メモリデバイス1420-N)は、出力データDO[0:7]、コマンドストローブ出力信号CSO、データストローブ出力信号DSO、および一対の出力クロック信号CKOおよび/CKOを、それぞれ、メモリコントローラ1410の各受け取り側接続DIC、CSIC、DSIC、ならびにCKICおよび/CKICに供給する。
【０２１１】
図39は、直列接続されている複数のデバイスを備えるソース同期クロッキングシステムの一実施例を示している。このシステムは、コントローラ出力信号1510を生成するコントローラ(図示されていない)およびNを整数とする、直列接続された複数のデバイス1520-1、1520-2、...1520-Nを備える。図39の実施例では、デバイス1520-1、1520-2、...、1520-Nのそれぞれは、PLL 1522をクロック再整形器として備える。図39では、すべてのデバイスのPLL 1522は、デバイス識別子(ID)割り当ての前にオンになっている。PLL 1522は、入力されたクロックのタイプに関係なく、クロックを再整形し、これにより、それぞれのデバイスがそれ専用のクロックを生成する。PLL 1522は、デバイス1520-1、1520-2、...、1520-Nのそれぞれをイネーブルして、より明瞭な、または良好なクロック信号を次のデバイスに送る。生成されたクロック信号を使用することで、出力が同期化されて送出信号1530内に入れられ、コントローラに送られる。すべての入力および出力は、デバイスの内部PLL 1522によって制御される。
【０２１２】
コントローラ出力信号1510は、第1のデバイス1520-1に関して受信信号とみなされ、直列接続されているメモリデバイスの第1のデバイス1520-1に伝送される。差動クロック、CKおよび/CKは、PLL 1522に入力される内部基準クロックを作るために使用される。次いで、90°位相シフトされたクロックが、位相シフトされたクロックのデューティサイクル補正と併せて供給される。次いで、PLLによる追加のデータまたはクロック再整形なしでデータ取り込みが入力段階において実行されるようにコントローラからすでに中央整列されている入力クロックでデータが取り込まれる。PLL 1522を使用して、内部クロックを再生し、入力クロック信号CKおよび/CKから90°のクロックシフトで送出データを供給する。したがって、ソース同期クロックシステム上のすべてのデバイスは、出力データとともに中央整列クロックを生成する。
【０２１３】
第1のデバイス1520-1内のPLL 1522は、クロックを生成して、それを第2のデバイス1520-2に送る。第1のデバイス1520-1の読み出し結果(それがデータリードオペレーションであった場合)、または受信データの通過(それが転送オペレーションであった場合)は、90°シフトされたクロックの出力とともに第2のデバイス1520-2に伝送される。第2のデバイス1520-2は、入力クロックを受け取り、また、第1のデバイス1520-1から受け取った入力クロックに基づき新しいクロックを生成する。例えば、第2のデバイス1520-2は、第1のデバイス1520-1から通過データを受け取るか、または受信データと中央整列されたクロックとともに第1のデバイスの読み出し結果を受け取る。この流れによって、データは、第1のデバイス1520-1から最後のデバイス1520-Nへと通過し、複数の直列接続されたメモリデバイスから送出データ1530を供給するが、これはコントローラによってコントローラ入力データとみなされる。
【０２１４】
再整形されたクロック信号を使用することで、出力が同期化され、送出信号1530でコントローラに送られる。この場合、クロックも送られ、これにより、どれが有効な出力点であるかを判定する。一組の直列接続されたメモリデバイスの入力および出力におけるCKおよびCKO信号の位相は、異なる。周波数は、PLLが使用されるとしても変化しないため、同じままである。この実施例では、PLLは、移相器としてのみ使用される。図39の実施例では、CKOおよび/CKO信号が、DO信号とともにコントローラに送られるか、または返される。他の実施例では、DOは、他のコントローラに送ることができる。並列クロッキングと異なり、出力およびクロック信号は、入力端に無関係である。
【０２１５】
PLL 1522がない場合、クロックには単純なドライバが備えられ、多数の接続デバイスの出力のところで、デューティサイクルが修正されるか、または歪みを生じうる。実際、接続デバイスが多数ある場合、クロックは劣化して定常信号になる可能性がある。ダブルデータレート(DDR)がますます普及するにつれ、デューティサイクルが重要になってきており、クリティカルである場合すらある。PLLを使用するうえでの短所は、消費電力が大きくなる場合があることである。低電力のPLLを備えるデバイスであっても、PLLを備えないものと比べると消費する電力は大きい。しかし、PLLは、高周波オペレーションを確実なものとするために必要である。
【０２１６】
例えば、PLLは、メモリデバイスの総消費電力の約10%を占めることがある。デバイスが使用する電力が25mWであると仮定すると、PLLは2.5mWを占める。10個のデバイスを備えるシステムでは、PLLによる総消費電力は、デバイス全体の消費電力と同じである。したがって、本発明の実施形態では、同じ消費電力閾値の範囲内でより多くのデバイスを使用することができる。
【０２１７】
本発明のいくつかの実施形態は、図38または図39に示されているようなシステムにおけるソース同期クロッキング方法の背景状況において実装されうるメモリコントローラを備える。そのようなシステムのいくつかの実施形態では、オペレーション中、初期セットアップ後、および構成段階においてすべての第2のデバイスのPLLのみがオンにされる。
【０２１８】
本発明の一実施形態によれば、PLLの最大50%が動作しており、高周波数オペレーションを確実に保ちつつ節電することができる。例えば、3つの直列デバイスを備えるシステムでは、1つのデバイスがオフにされ、2つのデバイスがオンにされている一実施形態はある程度の電力を節約する。他の実施形態では、2つのデバイスをオフにし、1つのデバイスをオンにすることで、交互デバイス内のPLLをオフにする類似の配列構成においてさらなる節電が行われる。他の多くの場合において、デバイスの約50%は、それぞれの交互デバイスをオフにしたときにオフにされる。
【０２１９】
交互PLLをオン、オフする前に、動作可能な実装に先行する構成段階におけるデバイスPLLを示す、図39に示されているように、すべてのPLLをオンにする必要がある。これは、ID割り当ての前の状態であるが、それは、この時点では、どのデバイスが奇数番号のデバイスであり、どのデバイスが偶数番号のデバイスであるかが不明だからである。すべてのデバイスIDは、0000に初期設定される。したがって、ID割り当て前状態では、すべてのデバイスは、0000のIDを有し、すべてのデバイスのPLLは、図39に示されているように、オンにされる。
【０２２０】
直列接続されたデバイスにおけるID割り当ての例は、国際公開第WO/2007/0109886号(2007年10月4日)、国際公開第WO/2007/0134444号(2007年11月29日)、および国際公開第WO/2008/074126号(2008年6月26日)において開示されている。
【０２２１】
ID生成時に、それぞれのメモリデバイスが一意的なID番号を有しているとしても、これは、最後のデバイスがそのIDをコントローラに送るまで中央整列クロックであるクロック形状に影響を及ぼさない。クロックおよびデータのオペレーションの異常を回避するため、それぞれのメモリデバイスおよびコントローラにおけるある一定の待ち時間が考慮される。したがって、ID割り当てに際してはクロックの再整形はない。IDがそれぞれのメモリデバイスに割り当てられた後でも、すべてのPLLがイネーブルされる。最後のデバイスから最終ID番号を取得した後、コントローラは、そのクロックを変更しなければならない場合に、クロックの再整形を開始する。ID割り当てからクロック再整形までの間に、異常動作を防ぐ時間が十分ある。この追加の待ち時間によって、クロックとデータとの間の関係の急激な変化によって引き起こされる異常動作はない。
【０２２２】
図39に示されているように、初期セットアップ段階に、デバイスのすべてにおいてPLLがオンにされている間、そのセットアップに要する時間は、デバイスの総動作時間と比べて小さい。一実施例では、総時間の1〜5%未満がセットアップ段階に費やされる。電源のオン、オフが頻繁に繰り返される場合のみでも、セットアップ段階の消費電力はあまり重要でない。
【０２２３】
図40Aおよび40Bは、2つの異なる動作可能な実装における交互PLLオン制御を示している。交互PLLオン制御のいくつかの実施例によれば、パワーアップオペレーションの後に、PLL消費電力の約50%が低減されうる。パワーアップオペレーションは、例えば、直列接続されたメモリデバイスのID生成または割り当てを含む。
【０２２４】
第1の事例(図40A)と第2の事例(図40B)について異なるクロックが伝送される。図40Aは、デバイスに割り当てられたIDの最下位ビット(LSB)が「0」のときにデバイス(偶数番号のデバイス)のPLLがオンであることを示している。図40Bは、割り当てられたIDのLSBが「1」のときにデバイス(奇数番号のデバイス)のPLLがオンであることを示している。図40Aおよび40Bに示されている特定の実施例では、それぞれのデバイスに割り当てられたデバイスIDは、バイナリコードである。図40Aでは、複数のデバイス1620-1、1620-2、1620-3、1620-4、...、1620-Nが直列接続されている。奇数番号のデバイス1620-1、1620-3、...は、そのPLL 1622がオンにされているが、偶数番号のデバイス1620-2、1620-4、...は、そのPLL 1632がオフにされている。偶数ID番号(「0000」、「0010」、...)を持つデバイスのPLL 1622がオンにされている場合、データを伴う中央整列クロックが、次のデバイスに送られる。奇数ID番号(「0001」、「0011」、...)を持つデバイスのPLL 1632がオフにされている場合、データを伴うエッジ整列クロックが、次のデバイスに送られる。
【０２２５】
図40Bにおいて、奇数番号のデバイス1640-1、1640-3、...は、そのPLL 1642がオフにされているが、偶数番号のデバイス1640-2、1640-4、...は、そのPLL 1652がオンにされている。その場合、偶数ID番号(「0000」、「0010」、...)を持つデバイスのPLL 1642がオフにされている場合、データを伴うエッジ整列クロックが、次のデバイスに送られる。また、奇数ID番号(「0001」、「0011」、...)を持つデバイスのPLL 1652がオンにされている場合、データを伴う中央整列クロックが、次のデバイスに送られる。
【０２２６】
交互PLL制御アプローチにより、メモリコントローラは、通常のオペレーションの開始前に行われる検出に基づき異なるクロックおよびデータタイミング関係を予期する。
【０２２７】
図41Aは、事例1または図40Aに関して説明されているような第1の事例など、直列接続された複数のデバイスのうちの最後のデバイスのID番号によるクロック整列決定の一実施例を示す流れ図である。ステップ1711で、すべてのデバイスの状態がリセットされる。すべてのデバイスのPLLは、図39に示されているようにオンである。ステップ1712で、データを伴う中央整列クロックは、メモリコントローラから送られ、データを伴う中央整列クロックは、最後のメモリコンポーネント(最後のデバイス1620-N)からなど、メモリコントローラで受け取られる。ステップ1713で、直列接続されているデバイス1620-1から1620-N内のそれぞれのデバイスは、一意的な識別子、つまりIDを割り当てられる。例えば、デバイスIDは、順次割り当てることができる。ステップ1714で、メモリコントローラは、最後のデバイス1620-Nに割り当てられたID番号を受け取る。ステップ1715で、メモリコントローラは、最後のデバイスのID番号の最下位ビット(LSB)が「1」であるかどうかを判定する。
【０２２８】
図41Aのステップ1716に示されているように、最後のデバイスのIDのLSBが「1」である場合(例えば、「1101」(奇数番号ID):ステップ1715で「はい」)、データを伴うエッジ整列クロックは、メモリコントローラから供給され、データを伴うエッジ整列クロックは、最後のデバイス1620-Nからメモリコントローラに供給される。ステップ1717で、LSBが「0」である場合(例えば、「1100」(偶数番号ID):ステップ1715で「いいえ」)、データを伴うエッジ整列クロックは、メモリコントローラから第1のデバイス1620-1に供給され、データを伴う中央整列クロックは、メモリデバイス(例えば、ID「1100」の割り当て先のデバイス)からメモリコントローラに供給される。
【０２２９】
図41Bは、事例2または図40Bに関して説明されているような第2の事例など、直列接続された複数のデバイスのうちの最後のデバイスのID番号によるクロック整列決定の他の実施例を示す流れ図である。ステップ1721で、すべてのデバイスの状態がリセットされる。すべてのデバイスのPLLは、図39に示されているようにオンである。ステップ1722で、データを伴う中央整列クロックは、メモリコントローラから第1のデバイス1640-1に供給され、データを伴う中央整列クロックは、メモリコンポーネント(最後のデバイス1640-N)からなど、コントローラで受け取られる。ステップ1723で、直列接続されているデバイス内のそれぞれのデバイスは、一意的な識別子、つまりIDを割り当てられる。ステップ1724で、メモリコントローラは、最後のデバイス1640-Nに割り当てられたID番号を受け取る。ステップ1725で、メモリコントローラは、受け取ったID番号のLSBが「1」であるかどうかを判定する。ステップ1726に示されているように、最後のデバイスのIDのLSBが「1」である場合(例えば、「1101」:ステップ1725で「はい」)、データを伴う中央整列クロックは、最後のデバイス1640-Nからメモリコントローラに供給される。受け取ったIDのLSBが「0」である場合(例えば、「1100」:ステップ1725で「いいえ」)、ステップ1727で示されるようにデータを伴うエッジ整列クロックは、メモリコンポーネント(例えば、ID「1100」のデバイス)からメモリコントローラに供給される。
【０２３０】
図41Bの方法において、特にステップ1726および1727で、メモリコントローラにおける中央整列クロックの使用は、暗黙のうちに行われる。ID番号がリセットされた場合、中央整列クロックがコントローラ内で使用される。このクロックは、ID番号がメモリデバイスに割り当てられてしまうと変更されない。
【０２３１】
図41Aの流れ図は、事例1についてのものであり、そこでは、偶数番号LSB(LSB=0)のデバイスのPLLはオンになっている。図41Bの流れ図は、事例2についてのものであり、そこでは、LSB=1であるそれぞれのデバイスについて、PLL=オンである。それぞれの場合に、接続されているデバイスの個数が考慮される。デバイスの個数、および事例に応じて、エッジ整列または中央整列クロックが選択される。この方法のステップでは、直列接続されたデバイスのうちの最後のデバイスに割り当てられたID番号のLSBのみを考慮する。4つの異なる事例があり、コントローラは、それぞれの事例について異なるクロック制御を行う。4つの入力事例に対し2つの異なるオペレーションまたは出力事例、つまり、エッジ整列または中央整列のみがある。
【０２３２】
本発明の好ましい実施形態は、複数の直列メモリデバイス内のPLLに対する単一の交互オン/オフパターン(つまり、1つのオン、1つのオフ、1つのオン、1つのオフなど)を含む。他の実施形態では、他のパターンも実装することができるが、高周波オペレーションを行えない場合がある。それぞれのデバイスは、ID割り当て状態、受け取ったID割り当てコマンド、およびデバイスのID番号のLSBに基づいて、そのPLLがオンになっているか、オフになっているかを認識することができる。
【０２３３】
デバイスの個数に応じて、クロック整列は異なる。偶数番号のLSBのPLLがオンになっていて、一連のデバイスが偶数個数のデバイスを含む場合、最後のデバイスはエッジ整列クロックを有する。奇数個のデバイスについては、最後のデバイスが中央整列クロックを有する。奇数番号のLSBのPLLがオンになっていて、一連のデバイスが偶数個数のデバイスを含む場合、最後のデバイスは中央整列クロックを有する。奇数個のデバイスについては、最後のデバイスがエッジ整列クロックを有する。したがって、最後のクロック割り当ては、状況に基づいて変更されうる。
【０２３４】
図42は、例示的なパワーアップシーケンスにおけるID生成タイミングを示している。タイミング図は、VCC/VCCQ、/RST、/CE、Ck、/CK、CSI、DSI、およびDIを含む、パワーアップシーケンスにおいて互いに関する多数の信号の相対的状態を示している。また、示されているのは、信号DSO、DOの多数の集合である。図42に示されている特定の実施例では、Nはデバイスアドレス(この実施例ではN=30)であり、「Dev」は、デバイス番号を表し、「CTRL」は、コントローラを表す。
【０２３５】
本発明の一実施形態によるメモリコントローラは、どのクロック整列が割り当てられるべきかを決定する機能を有する。これは、交互PLLのどの配列構成(事例1または事例2)がオンにされるか(奇数または偶数)に基づき、また直列接続されているデバイスの総数に基づく。本発明の実施形態は、中央整列が送られるのか、それともエッジ整列信号が送られるのかを制御し、これを自動的な方法で実行する。
【０２３６】
本発明の一実施形態によるメモリコントローラは、どのようなタイプのクロックをメモリに伝送し、メモリから受け取るのかを、直列接続されているメモリデバイスの論理構成に応じて、決定することができる。本発明の実施形態は、交互PLL制御を用いて、完全ソース同期クロッキングアプローチと協働して使用することができる。いくつかのPLLが、そのロケーションまたはID割り当てに応じてオンまたはオフである。このアプローチには、本発明の一実施形態による新しいタイプのクロックコントローラが必要である。
【０２３７】
図43Aおよび43Bは、図40Aおよび41Aに関して事例1としてすでに説明されている、第1の事例におけるクロックに対する柔軟なデータ整列を用いるメモリコントローラの一実施例の回路図を示している。この論理回路の組合せは、単なる一例であり、当業者であれば、異なるタイプの回路構成を容易に作ることができる。事例1については、コントローラは、データを伴うエッジ整列を生成しなければならない。
【０２３８】
図43Aおよび43Bを参照すると、データを伴う中央整列クロックをメモリコントローラから供給するために、Clock_out 1901および/Clock_out 1902をClk360_out 1903と同期させることがわかる。DO(コマンド/アドレス/データ)1904、CSO(コマンドストローブ出力)1905、およびDSO(データストローブ出力)1906信号は、Clk270_out 1907と同期する。クロック発振器1911、PLL 1912、および複数の出力バッファを有するクロック発生器1910が、クロック信号を生成する。内部発生クロック信号「Clk_src」1913は、クロック発振器1911によってPLL 1912の基準クロック入力「Ref_clock」に供給され、次いで、これにより、90°、180°、270°、および360°による複数の位相シフトされたクロック信号を生成する。180°、270°、および360°位相シフトされたクロック信号は、各出力バッファを通じてClk180_out 1909、Clk270_out 1907、およびClk360_out 1903として供給される。Clk180_out 1909、Clk270_out 1907、およびClk360_out 1903は、内部発生クロック信号1913と同期する。Clk360_out 1903およびClk270_out 1907は、それぞれ「0」および「1」入力ならびに選択入力を有する2つのセレクタ1981および1982を備えるモード検出論理回路1980に供給される。セレクタ1981の「0」および「1」入力は、それぞれ、Clk360_out 1903およびClk270_out 1907を受け取る。セレクタ1982の「1」入力は、Clk270_out 1907を受け取り、セレクタ1982の「0」入力は、プルダウンされている。セレクタ1982の選択入力は、プルアップされており、したがって、その「1」入力は、常に、Clk270_outを選択された270クロック信号1983として出力するように選択される。
【０２３９】
制御論理回路1924は、さまざまな入力および出力接続を有する。制御論理回路1924の入力Icsiの内部コマンドストローブは、D型フリップフロップ(D-FF)1939から内部コマンドストローブ入力信号「icsi」1925を受け取る。同様に、入力Idsiの内部データストローブは、D-FF 1957から内部データストローブ入力信号「idsi」1915を受け取る。クロック入力Iclkは、Clk360_out 1903を受け取る。制御論理回路1924は、「ID_assignment_status」信号1933をその「Power_up_seq_done」出力から、ラッチID信号「Latch_ID」1927をそのOltid出力から供給する。「ID_assignment_status」信号1933は、ID割り当てが完了しているのか、それとも進行中なのかを示すステータスを表す。ID割り当てステータスは、パワーアップシーケンスに含まれる。
【０２４０】
「ID_assignment_status」信号1933は、セレクタ1981の選択入力に供給される。セレクタ1981からの選択された出力信号は、それぞれ「0」および「1」入力ならびに選択入力を有するセレクタ1921および1922の選択入力に供給される。セレクタ1921の「0」および「1」入力には、それぞれ、論理「0」および「1」信号を与えられる。セレクタ1922の「0」および「1」入力には、それぞれ、論理「1」および「0」信号を与えられる。セレクタ1921および1922の選択入力は、セレクタ1981から選択された出力信号を受け取る。セレクタ1921および1922の選択された出力信号は、各出力バッファ1923および1926を通して、Clock_out 1901および/Clock_out 1902として供給される。
【０２４１】
Clk360_out 1903も、コマンド/アドレス/データ発生器1928に供給され、次いで、これにより、ビット0〜7の8ビットデータが得られる。偶数ビット[0,2,4,6]の4つのビットおよび奇数ビット[1,3,5,7]の4つのビットが、それぞれD-FF 1929および1936のデータD入力に供給される。Clk180_out 1909は、D-FF 1929のクロック入力およびD-FF 1936の反転クロック入力に供給される。偶数ビット[0,2,4,6]および奇数ビット[1,3,5,7]は、それぞれD-FF 1929および1936内にラッチされる。D-FF 1929および1936は、それぞれ、偶数データビット「Even_d」および奇数データビット「Odd_d」をセレクタ1937の「1」および「0」入力に供給する。「Odd_d」は、「Even_d」から180°位相シフトされる。選択された270クロック信号1983に応答して、セレクタ1937は、偶数または奇数データビットを選択する。選択されたデータビットは、出力バッファ1938を通じてDO(コマンド/アドレス/データ)1904として供給される。
【０２４２】
制御論理回路1924は、コマンドストローブ出力およびデータストローブ出力信号を、それぞれ、コマンドストローブ出力回路1941およびデータストローブ出力回路1946に接続されている、その出力CSO_SRCおよびDSO_SRCから供給する。Clk360_out 1903に応答して内部生成されるコマンドストローブ出力信号は、コマンドストローブ出力回路1941の2つのD-FF 1942および1943のD入力に供給される。Clk180_out 1909は、D-FF 1942のクロック入力およびD-FF 1943の反転クロック入力に供給される。D-FF 1942および1943の出力信号は、それぞれ、「icso_1」および「icso_2」信号として、セレクタ1944の「1」および「0」入力に供給される。「icso_2」信号は、「icso_1」信号から180°位相シフトされる。選択された270クロック信号1983に応答して、セレクタ1944は、「icso_1」および「icso_2」信号のうちの1つを選択し、選択された信号は、出力バッファ1945を通じてCSO 1905として供給される。
【０２４３】
データストローブ出力回路1946は、2つのD-FFおよび1つのセレクタを含むコマンドストローブ出力回路1941と同じ構造を有する。Clk360_out 1903に応答して内部生成されるデータストローブ出力信号は、制御論理回路1924からデータストローブ出力回路1946の2つのD-FF 1947および1948のD入力に供給される。Clk180_out 1909は、D-FF 1947のクロック入力およびD-FF 1948の反転クロック入力に供給される。D-FF 1947および1948からの出力信号「idso_1」および「idso_2」は、それぞれ、セレクタ1949の「1」および「0」入力に供給される。「idso_2」は、「idso_1」信号から180°位相シフトされる。選択された270クロック信号1983に応答して、セレクタ1949は、「idso_1」および「idso_2」信号のうちの1つを選択し、選択された信号は、出力バッファ1951を通じてDSO(データストローブ出力)1906として供給される。
【０２４４】
最後の(N番目の)デバイス1420-N(図38を参照)は、CKOおよび/CKO信号をメモリコントローラ1410に送る。CKOおよび/CKO信号は、Clock_in 1934およびClock_in# 1935として差動入力バッファ1952の「+」および「-」入力に供給され、次いで、これにより、基準クロック信号Ref_clk 1953が供給される。基準クロック信号1953は、PLL 1970の基準クロック入力「Ref_clk」およびセレクタ1960の「0」入力に供給される。PLL 1970は、基準クロック信号1953に関して、90°、180°、270°、および360°の4つの位相シフトされたクロック信号を出力する。90°位相シフトされたクロック信号は、「Clk90_in」として、出力バッファを通じてセレクタ1960の「1」入力に供給される。360°位相シフトされたクロック信号は、「Clk360_in」として、出力バッファを通じてPLL 1970の「Osc_loop入力」に供給される。「Latch_ID」信号1927は、データレジスタ1940から8ビット「Idata [0:7]」の内部データ信号1968を受け取るコンポーネントIDレジスタ1920に供給される。コンポーネントIDレジスタ1920は、「Latch_ID」信号1927に応答して入力データを格納する。コンポーネントIDレジスタ1920は、登録されているIDの最下位ビット(LSB)を出力し、これにより「ID_assignment_status」信号1933を受け取るANDゲート1950に送る。ANDゲート1950は、論理出力信号をセレクタ1960の選択入力に供給し、基準クロック信号1953または90°位相シフトされたクロック信号「Clk90_in」を選択する。セレクタ1960からの選択されたクロック信号1959は、D-FF 1939および1957のクロック入力に供給される。
【０２４５】
最後の(N番目の)デバイス1420-N(図38を参照)は、DI信号1931、DSI信号1932、およびCSI信号1916をメモリコントローラ1410に送る。DI信号「データ/アドレス/コマンド入力」1931、DSI信号「データストローブ入力」1932、およびCSI信号「コマンド/ストローブ入力」1916が、メモリコントローラ1410に供給される。基準電圧Vref 1917は、メモリコントローラ1410自体の中で内部生成されるか、または発電機(図示されていない)から外部生成される。基準電圧Vrefは、差動入力バッファ1954の「-」入力に供給され、その「+」入力は、CSI 1916を受け取る。入力バッファ1954は、差動バッファ出力信号をD-FF 1939のD入力に出力し、このD-FFは選択されたクロック信号1959に応答して「icsi」信号1925を制御論理回路1924に出力する。
【０２４６】
DSI信号1932および基準電圧Vrefは、差動入力バッファ1955の「+」および「-」入力に供給され、その差動入力バッファ出力信号は、D-FF 1957のD入力に供給される。データ信号「D」1931および基準電圧Vrefは、差動入力バッファ1956の「+」および「-」入力に供給され、その差動入力バッファ出力信号1967は、ラッチ回路1961および1963の入力に供給される。回路1961は、直列接続された4つのD-FF 1965-6、1965-4、...、1965-0を含む。1つのD-FFのQ出力は、次のD-FFのD入力に結合される。同様に、回路1963は、直列接続された4つのD-FF 1965-7、1965-5、...、1965-1を含む。
【０２４７】
D-FF 1957の出力信号は、内部データストローブ入力信号「idsi」1915として供給される。「idsi」信号1915は、制御論理回路1924に供給され、また8つのANDゲート1958-7、1958-6、...、1958-0を有するデータストローブ入力回路1962に供給される。セレクタ1960からの選択されたクロック信号1959は、D-FF 1965-6、1965-4、...、1965-0のクロック入力およびD-FF 1965-7、1965-5、...1965-1の反転クロック入力に供給される。入力バッファ1956からの差動入力バッファ出力信号1967は、D-FF 1965-6のD入力に供給され、選択されたクロック信号1959に応答して回路1961の接続されているD-FFに順次転送される。また、入力バッファ1956からの差動入力バッファ出力信号1967は、D-FF 1965-7のD入力に供給され、クロック信号1959の反転されたバージョンの信号に応答して回路1963の接続されているD-FFに順次転送される。したがって、回路1963におけるデータ転送は、回路1961のデータ転送から180°位相シフトされている。D-FF 1965-7および1965-6の出力信号i7およびi6は、ANDゲート1958-7および1958-6にそれぞれ供給される。同様に、D-FF 1965-5、1965-4、...、1965-1、および1965-0の出力信号は、データストローブ入力回路1962の各ANDゲートに供給される。ANDゲート1958-7、1958-6、...、1958-0のそれぞれは、「idsi」信号1915を受け取る。ANDゲート1958-7、1958-6、...、1958-0のそれぞれの論理出力信号は、内部データ信号「Idata [0:7]」1968を出力するデータレジスタ1940に供給される。
【０２４８】
直列接続されているメモリデバイス上の最後のデバイスのID番号を取得する前に、メモリコントローラは、最後のデバイスの出力ポートから入力を取得することはしない。初期ID番号(例えば、「0000」)を伝送した後に、メモリコントローラの入力ポートは、入力データストリームを受け取る。ID割り当て完了の判定は、DSI(データストローブ入力)の立ち下がりエッジで実行される。
【０２４９】
メモリコントローラが直列接続されている複数のメモリデバイスのうちの最後のデバイスからID番号を取得した後、ID番号は、「Latch_ID」信号1927に応答して43Bに示されているように、Dポート1931を通じてコンポーネントIDレジスタ1920に、またデータレジスタ1940に格納される。このオペレーションが実行されている間、DSI 1932も受け取り、これにより、メモリコントローラにID番号の開始点と終了点とを知らせる。DSI信号の立ち下がりエッジから、「ID_assignment_status」信号1933により、ID番号がコンポーネントIDレジスタ1920に転送される際の1サイクル遅延に基づいて遷移点が決定される。「ID_assignment_status」信号1933は、D-FF 1957から「idsi」信号1915を受け取る制御論理回路1924によって供給される。メモリデバイスのID生成のため、DSIおよびDSOを使用してID番号を作成し、そのID番号を次のメモリデバイスに伝送する。「ID_assignment_status」信号1933が「High」状態にある場合、メモリコントローラは、ID生成オペレーションの終わり、つまり、デバイスID割り当ての完了を認識する。
【０２５０】
「ID_assignment_status」信号が「Low」の場合、すべてのデバイスのPLLはオンであり、最初にそれらすべてにID番号を割り当てる。「ID_assignment_status」信号が「High」の場合、すべてのIDが割り当てられており、PLLオンは、奇数または偶数番号のデバイスにのみ適用される。したがって、これは、ID割り当てステータス信号によって制御される。
【０２５１】
初期状態では、メモリコントローラは、直列制御デバイスにおいてどの事例が存在するかを判定するために必要な情報を知ることはない。このような理由から、CKO、/CKO、およびDO信号は、図43Bに示されているように、メモリコントローラにCK、/CK、およびDIとして供給される。パワーアップ前には、デバイスにはID番号が割り当てられていない。パワーアップ後の最初のオペレーションは、それぞれのデバイスがゼロ状態IDを持つようにデバイスIDをリセットする(例えば、「0000」)。
【０２５２】
図43Bに示されているように、「ID_assignment_status」信号1933ならびに最後のメモリデバイスに割り当てられたIDのLSB(コンポーネントIDレジスタ1920内に格納されている)は両方ともANDゲート1950に供給される。ANDゲート1950の出力に応答して、クロックセレクタ1960は、メモリコントローラについて供給されるクロックを選択する。移相器およびクロック再整形器である、PLL 1970の出力Clk90_inは、図43Bの実施例では、クロックセレクタ1960の入力に接続されている。一実施形態では、要素1960および1970は、両方とも、クロックコンフィギュレータの一部とみなせる。「ID_assignment_status」信号1933が「High」であることを検出するなどの方法によって、ANDゲート1950がID割り当ての完了を検出した場合、出力は、コンポーネントIDレジスタ1920のLSBである。ID割り当てが完了していない場合、クロックセレクタ1960は、基準クロック信号Ref_clk 1953を選択する。セレクタ1960は、選択されたクロック信号1959を供給する。
【０２５３】
ID割り当ての事例では、メモリデバイスのすべてのPLLは、ID生成時にオンにされ、直列接続されている複数のメモリデバイスのうちの最後のデバイスからのソース同期クロックはデータとともに中央整列される。図43Aおよび43Bに示されているように、メモリコントローラは、ID割り当てが完了したかどうかの検出結果に応じて、中央整列信号またはエッジ整列信号を供給する。
【０２５４】
図43Aに戻ると、メモリコントローラは、ID割り当てが完了しているかどうかを検出し、その検出結果に応答してクロック信号を生成するモード検出論理回路1980を備える。図43Aの実施例では、モード検出論理回路1980は、ID割り当てが完了していないことをモード検出論理回路が検出したことに応答してClk360_out 1903と整列した中央整列クロックを出力する。モード検出論理回路1980は、ID割り当てが完了しており、したがってシステムが通常動作モードに入っていることをモード検出論理回路が検出したことに応答してClk270_out 1907と整列したエッジ整列クロックを出力する。
【０２５５】
図44および図45は、ID割り当て(生成)オペレーション実行時のタイミング図を示している。開示では、「/」という記号は、相補信号に使用される(例えば、/clock)。
【０２５６】
図46は、例示的な一実施形態により、位相差がないClock_outおよび/Clock_outと同期したCSO/DSOおよびDOのような制御出力を伴うクロック生成のタイミング図を示している。「ID_assignment_status」を「High」状態とすることによって、クロック生成経路セレクタは、クロックとデータ制御およびデータ(CSO/DSO/DO)との間に位相差が生じないように「Clk270_out」に接続されている「1」入力を選択する。これは、ID割り当て後の通常オペレーション時に生じる。
【０２５７】
ID割り当て後の通常オペレーションでは、データへの入力クロック整列は、「コンポーネントIDレジスタ」に格納されている最後のコンポーネントIDのLSB(最下位ビット)によって判定される。IDのLSBが「0」である場合、クロックとデータ制御およびデータとの間のタイミング関係に変化はない。これは、ステータスが信号内のデータストローブに応答して変化する「ID_assignment_status」信号の状態変化を除き図45に示されているID生成前のタイミングと同じである。
【０２５８】
これからわかるように、直列接続されている複数のメモリデバイスのうちの最後のデバイスが、IDのLSBとして「0」を有する場合、最後のデバイスがオンPLLを有していることを意味する。図47は、例示的な一実施形態により、最後のデバイスがオンPLLを有しているため、データを伴う中央整列クロックに対するタイミング図を示している。他の事例では、IDのLSBが'1'である場合、最後のデバイスがオフPLLを有していることを意味する。したがって、データを伴うエッジ整列クロックが、それから生成される(図40Aの第1の事例を参照)。
【０２５９】
前の方で述べたように、本発明の一実施形態によるメモリコントローラは、交互PLLオン/オフに使用される事例に基づいて異なることがある。図43Aおよび43Bは、事例1として本明細書において参照されている実装とマッチするメモリコントローラを示していた。
【０２６０】
図49Aおよび49Bは、事例2として本明細書において参照されている実装とマッチする本発明の他の実施形態によるメモリコントローラを示している。図49Aおよび49Bに示されているメモリコントローラの構造は、図43Aおよび43Bの構造と類似している。図49Aおよび49Bに示されているメモリコントローラは、モード検出論理回路を有さず、またコンポーネントIDレジスタ2520によって供給されるIDのLSBを反転する追加のインバータ2521を有する。第2の事例のタイミング図は、すべてのメモリデバイスがオンPLLを有するので、ID生成時に第1の事例の場合と実質的に類似しているものとしてよい(図39を参照)。
【０２６１】
事例2実装とマッチする、図49Aおよび49Bに示されているメモリコントローラは、ID割り当て完了時と通常オペレーション時の両方において中央整列クロックおよびデータを生成する。ID割り当て前に、事例1のようにすべてのPLLがリセット段階でONであるため、LSB偶数「ON」アプローチを使用してすべてのIDをリセットできるようにしなければならず、これにより、異なるタイプのオペレーションを気にかける必要はなくなる。事例2では、奇数番号のPLLのみがオンにされる。
【０２６２】
図49Aおよび49Bを参照すると、クロック発生器2510は、クロック発振器2511およびPLL 2512を有していることがわかる。内部発生クロック信号「Clk_src」は、クロック発振器2511によってPLL 2512の基準クロック入力「Ref_clk」に供給され、次いで、これにより、90°、180°、270°、および360°による複数の位相シフトされたクロック信号を生成する。180°、270°、および360°位相シフトされたクロック信号は、各出力バッファを通じてClk180_out 2508、Clk270_out 2507、およびClk360_out 2503として供給される。Clk180_out 2508、Clk270_out 2507、およびClk360_out 2503は、内部発生クロック信号「Clk_src」と同期する。Clk360_out 2503は、2つのセレクタ2513および2514の選択入力に供給される。「0」および「1」論理信号は、それぞれ、セレクタ2513の「0」および「1」入力ならびに他のセレクタ2514の「1」および「0」入力に供給される。Clk360_out 2503に応答して、セレクタ2513および2514は、それぞれ「Clock out」2501および「Clock out#」2502として各出力バッファを通じて供給される相補出力信号を供給する。
【０２６３】
Clk360_out 2503も、ビット0〜7の8ビットデータを供給するコマンド/アドレス/データ発生器2580に供給される。データの偶数ビット[0,2,4,6]は、Clk180_out 2508でクロック同期されるD-FFに供給される。データの奇数ビット[1,3,5,7]は、Clk180_out 2508の反転バージョンの信号でクロック同期される他のD-FFに供給される。2つのD-FFは、それぞれ、偶数データビット「Even_d」および奇数データビット「Odd_d」をセレクタ2523の「1」および「0」入力に供給する。「Odd_d」は、「Even_d」から180°位相シフトされる。Clk270_out 2507に応答して、セレクタ2523は、偶数または奇数データビットを選択する。選択されたデータビットは、出力バッファを通じてDO(コマンド/アドレス/データ)2504として供給される。
【０２６４】
制御論理回路2530は、Clk360_out 2503、D-FF 2561から内部コマンドストローブ入力信号「icsi」2534、およびD-FF 2563から内部データストローブ入力信号「idsi」2565を受け取る。制御論理回路2530は、コマンドストローブ出力およびデータストローブ出力信号を、それぞれ、コマンドストローブ出力回路2541およびデータストローブ出力回路2551に接続されている、その出力CSO_SRCおよびDSO_SRCから供給する。内部生成コマンドストローブ出力信号が、コマンドストローブ出力回路2541の2つのD-FFに供給される。2つのD-FFは、Clk180_out 2508およびその反転バージョンの信号でクロック同期され、それぞれ、出力信号を「icso_1」および「icso_2」信号としてセレクタ2524に供給する。Clk270_out 2507に応答して、セレクタ2524は、「icso_1」および「icso_2」信号のうちの1つを選択し、選択された信号は、出力バッファを通じてCSO 2505として供給される。
【０２６５】
内部生成データストローブ出力信号は、制御論理回路2530からデータストローブ出力回路2551の2つのD-FFに供給される。2つのD-FFは、Clk180_out 2508およびその反転バージョンの信号でクロック同期され、出力信号を「idso_1」および「idso_2」としてセレクタ2525に供給する。Clk270_out 2507に応答して、セレクタ2525は、「idso_1」および「idso_2」信号のうちの1つを選択し、選択された信号は、出力バッファを通じてDSO 2506(データストローブ出力)として供給される。
【０２６６】
CSI 2536は、差動入力バッファによって基準電圧「Vref」2537と比較される。Vrefは、メモリコントローラ自体の中で内部生成されるか、または発電機(図示されていない)から外部生成される。差動バッファ出力信号は、セレクタ2560からの選択されたクロック信号出力2559に応答してD-FF 2561によってラッチされる。D-FF 2561の出力信号は、「icsi」信号2534として制御論理回路2530に供給される。
【０２６７】
同様に、DSI 2532は、差動入力バッファによって基準電圧Vref 2537と比較され、また差動バッファ出力信号は、選択されたクロック信号出力2559に応答してD-FF 2563によってラッチされる。D-FF 2563の出力信号は、「idsi」信号2565として制御論理回路2530および8つのANDゲートを有するデータストローブ入力回路2590に供給される。
【０２６８】
また、データ信号「DI」2531は、差動入力バッファによって基準電圧Vref 2537と比較され、差動バッファ出力信号は、直列接続されている4つのD-FFをそれぞれ含む2つのラッチ回路2591および2592に供給される。1つのD-FFのQ出力は、データラッチ回路のそれぞれにおいて次のD-FFのD入力に接続される。差動バッファ出力信号のデータは、選択されたクロック信号出力2559に応答して2つのデータラッチ回路2591および2592のそれぞれにおいて直列接続されているD-FFを通じてラッチされ、順次転送される。回路2592のD-FFは、選択されたクロック信号出力2559の反転バージョンの信号に応答してデータ転送を実行する。したがって、回路2592におけるデータ転送は、回路2591のデータ転送から180°位相シフトされている。例えば、回路2592の第1のD-FFの出力信号i7は、回路2591の第1のD-FFの出力信号i6から180°位相シフトされる。出力信号i7、i6、...、i1、およびi0は、データストローブ入力回路2590の各ANDゲートに供給される。データストローブ入力回路2590の8つのANDゲートは、通常、「idsi」信号2565を受け取り、8つのANDゲートの論理出力信号は、内部データ信号「Idata[0:7]」を出力するデータレジスタ2540に供給される。
【０２６９】
制御論理回路2530は、そのIcsi入力で、「icsi」信号2534を、そのIdsi入力で、「idsi」信号2565を、それぞれ、D-FF 2561および2563から受け取る。制御論理回路2530は、クロック発生器2510からそのIclk入力でClk360_out 2503を受け取る。制御論理回路2530は、「ID_assignment_status」信号2533をその「Power_up_seq_done」出力から、ラッチID信号「Latch_ID」をそのOltid出力から供給する。「ID_assignment_status」信号2533は、ID割り当て完了を表す。
【０２７０】
図43Aと類似の図49Aにおいて、データを伴う中央整列クロックをメモリコントローラから供給するために、Clock_out 2501および/Clock_out 2502をClk360_out 2503と同期させることがわかる。この同期処理は、「ID_assignment_status」信号2533の状態の影響を受けない。DO(コマンド/アドレス/データ)2504、CSO(コマンドストローブ出力)2505、およびDSO(データストローブ出力)2506信号は、Clk270_out 2507と同期する。クロック発生器2510は、PLL 2512などを使って、信号Clk360_out 2503およびClk270_out 2507を供給する。ここでもまた、クロック同期処理は、事例1のコントローラとは対照的に、「ID_assignment_status」信号2533の状態の影響を受けない。クロック出力は、モードの変化、つまり、ID割り当てモードか通常オペレーションモードかに関係なく無変更であるため、図49Aのメモリコントローラは、図43Aに示されているようなモード検出論理回路1980を必要としない。
【０２７１】
図49Bでは、オペレーションは図43Bのものに類似している。メモリコントローラが、データレジスタ2540へのDポート2531を通じて直列接続されている複数のメモリデバイスのうちの最後のデバイスからID番号を取得した後、登録されたID番号は、制御論理回路2530からの「Latch_ID」信号に応答してコンポーネントIDレジスタ2520内に格納される。このオペレーションが実行されている間、DSI 2532も受け取り、これにより、メモリコントローラにID番号の開始点と終了点とを知らせる。DSI信号の立ち下がりエッジから、「ID_assignment_status」信号2533により、ID番号がコンポーネントIDレジスタ2520に転送される際の1サイクル遅延に基づいて遷移点が決定される。メモリデバイスのID生成のため、DSIおよびDSOを使用してID番号を作成し、そのID番号を次のメモリデバイスに伝送する。「ID_assignment_status」2533が「High」状態にある場合、メモリコントローラは、ID生成オペレーションの終わりを認識する。
【０２７２】
図49Bに示されているように、「ID_assignment_status」信号2533および最後のメモリデバイスのLSBは、両方とも、コンパレータとして動作するANDゲート2550に供給される。ANDゲート2550の出力に応答して、セレクタ2560は、メモリコントローラによって供給されるクロックを構成するクロックコンフィギュレータとして動作する。PLL 2570は、セレクタ2560と通信することができる。一実施形態では、セレクタ2560およびPLL 2570は、両方とも、クロックコンフィギュレータの一部とみなせる。図49BのPLL 2570は、図43BのPLL 1970として位相シフトされたクロックを生成する機能を実行する。基準クロック信号「Ref_clk」および90°位相シフトされたクロック信号「Clk90_in」が、セレクタ2560に供給される。セレクタ2560は、ANDゲート2550の出力からその選択入力に供給される入力信号に応答して選択されたクロック信号2559を出力する。コンポーネントIDレジスタ2520内に格納されているIDのLSBがLowである場合、インバータ2521の出力信号はHighであり、次いで、ANDゲート2550は、「ID_assignment_status」信号2533がHighであることを検出するなどによって、ID割り当ての完了を検出する。ANDゲート2550の「High」出力信号に応答して、セレクタ2560は、Clk90_inを選択されたクロック信号2559として選択する。ID割り当てが完了していない(つまり、「ID_assignment_status」信号2533の論理ステータスがLowである)場合、クロックコンフィギュレータは、反対の出力を生成する(つまり、基準クロック信号「Ref_clk」が、選択されたクロック信号2559として供給される)。この論理によって、最後のメモリデバイス、またはメモリコンポーネントから受け取ることが予期されるクロック整列が決定される。
【０２７３】
事例2については、第1のデバイスのPLLがオフであるため、事例2の自動検出が可能である。事例1については、第1のデバイスのPLLがオンである場合、ID割り当てが進行中かどうかを判定するチェックを行わなければならず、ID割り当てが完了しているときのみ、事例1が存在しているかどうかを判定することができる。
【０２７４】
上述のように、コントローラは、事例1または事例2のシナリオの検出に応答して信号生成のタイプを変更することができる。直列接続されているデバイスの集合は、典型的には、混合設定を持たず、接続されている一連のデバイス内のそれぞれのデバイスは同じ設定を有する。本発明の好ましい一実施形態では、デバイスのすべてが事例1または事例2に基づいて制御されるが、同じ一連の接続されているデバイスにおいて2つのアプローチの混合アプローチはあり得ない。
【０２７５】
事例1または事例2を使用する決定は、典型的には、ユーザーが行い、コントローラは、単に、どの実装が実行されるかを検出するだけである。コントローラは、両方の事例に対する論理回路実装を含むことができるが、ユーザー選択に応じて一度に1つの事例のみを実装する。
【０２７６】
ユーザーは、コントローラ実装を決定することができる。図43Aおよび43Bの実施形態および図49Aおよび49Bの実施形態は、消費電力に関して同等である。2つの異なる実装を組み合わせて1つのコントローラにまとめることができるか、または別々のコントローラとして実装することができる。ユーザーは、使用されるアプローチ(奇数のPLLのオンまたはオフ)に応じてマッチしたコントローラを使用する。それぞれのデバイス接続には、マッチしたコントローラがなければならない。コントローラは、交互PLL電源投入の実施形態とマッチしていなければならない。
【０２７７】
通常、オンザフライで一方のアプローチから他方のアプローチに切り替える必要はない。パワーアップ後、アプローチが選択される。この選択は、メモリに記憶されるか、またはデバイスが毎回パワーアップするときに再実行されうる。しかし、パワーアップ時に選択を再割り当てするには、すべての接続されているデバイスに対するデバイスIDがリセットされなければならない。この主要な目的は、消費電力を低減することである。一実施形態が実装されている場合、他の実施形態に切り替える必要はない。
【０２７８】
コントローラは、それぞれのデバイスから構成情報を受け取るか、または取得することができるが、接続されているすべてのデバイスは同じ構成を有するので、最後のデバイスに対する構成情報のみあればよい。この構成情報に基づいて、コントローラは、構成スキームを検出し、それに応じて、送られる適切なクロック信号を決定することができる。
【０２７９】
これらの構成のうちの1つにおいて一緒に接続できるデバイスの個数に制限はない。知られている並列クロッキングアプローチの制限は、これらのデバイスがデイジーチェーンで接続されているとしても、クロック駆動性および信号品位の点で、デバイスをいくつでも無制限に一緒に接続することはできないというものである。本発明の一実施形態によれば、任意の数のデバイスを一緒に接続することができる。
【０２８０】
コントローラは、最後のデバイスのIDのLSB、および接続されているデバイスの個数に基づいて、構成情報決定することができる。コントローラは、事例1であるか、事例2であるかを判定するために最後のデバイスの構成を読み出すことができる。
【０２８１】
図50は、例示的な一実施形態によるID生成後のメモリコントローラからのクロック生成のタイミング図(出力信号、第2の事例)である。第2の事例では、ID割り当て後の出力信号のタイミングは、「ID_assignment_status」を除いてID割り当て時のタイミングに実質的に類似している。メモリコントローラの出力信号は、ID割り当て完了の状態によって制御されないからである。
【０２８２】
第2の事例のID生成後、IDのLSB=0のタイミング図(図51)は、IDのLSB=1の第1の事例のタイミング(図48)と実質的に類似している。IDのLSB=1(第2の事例)の場合の図52は、IDのLSB=1(第1の事例)の場合の図47と同じである。IDのLSBを有するマルチプレクサ制御は、第2の事例においてIDのLSBの反転後に実行される。これらの違いは、図43A、43Bおよび図49A、49Bに示されている。
【０２８３】
本発明の実施形態は、メモリコントローラの柔軟なクロック整列制御を提供するものとして説明することができる(データを伴う中央整列クロックおよびデータを伴うエッジ整列クロック)。最後のデバイスのID番号を使用することで、クロック整列の制御を決定することができる。ID割り当ての前および後で、IDのLSB=0および1に関係なく、結果として異なるタイミング図が得られる。エッジ整列方法では、クロックとデータ制御の間の同一の遅延経路を使用することができる。クロック構造は、SDRおよびDDRインターフェースで動作することができる。
【０２８４】
本明細書で説明されている実施形態は、直列接続されている複数のデバイスを参照している。直列接続されているデバイスの集合内のそれぞれのデバイスは、1つの物理デバイスであるか、または複数の並列接続物理デバイスを含む論理デバイスであるものとしてよい。直列で接続されている積層デバイスは、それぞれ、固有のID番号を割り当てられ、図40Aおよび40Bに示されているように、個別のデバイスとして表される。
【０２８５】
例えば、3つの並列接続デバイスが、複数の直列接続デバイス群の真ん中に備えられている場合、これら3つの並列接続デバイスは、本発明の一実施形態によりPLLに電力を供給するか、またはPLLを制御することに関して1つの論理デバイスとしてみなされる。したがって、並列接続デバイスを備えることが可能であるが、並列接続デバイスのそれぞれの集合は、1つの論理デバイスとして取り扱われる。複数の並列接続デバイスを含む、論理デバイスにおいて、そのPLLがオンにされる必要がある場合、複数の並列接続デバイス内の1つのPLLのみが、オンにされる必要がある。他のPLLをオンにすることも可能であるが、消費電力を無駄に増やすことになる。
【０２８６】
本発明の一実施形態によれば、交互直列接続デバイスのPLLは、デバイスが論理デバイスであろうと物理デバイスであろうと、またデバイスの総数に関係なく、オンにされる。本発明の実施形態では、デバイス接続を制御する一方法が説明されている。
【０２８７】
交互PLL電源供給のオン/オフ/オン/オフ(またはオフ/オン/オフ/オン)の代替も可能であるが、追加の回路が必要になる可能性が高い。最高周波数は、そのような他のアプローチによって制限される可能性がある。例えば、1つを除くすべてのPLLがオフにされた場合、システムのオペレーションは可能でない場合がある。
【０２８８】
ソース同期信号生成を用いると、接続は一方のデバイスと次のデバイスとの間に限られ、これはポイントツーポイント接続であるとみなすことができる。ポイントツーポイント接続では、高周波オペレーションが保証される。
【０２８９】
この技術は、例えばフラッシュデバイスなどの不揮発性デバイスに適用可能である。フラッシュデバイスは、例えば、NANDフラッシュ、NORフラッシュなどの任意のタイプのフラッシュメモリデバイスを含む。
【０２９０】
上述の実施例において、デバイスはメモリデバイスである。メモリデバイスは、揮発性メモリおよび不揮発性メモリのいずれか一方とすることができる。また、デバイスは、半導体デバイスであってもよく、そのオペレーションはクロック信号と同期する。
【０２９１】
半導体デバイスを使用する電子機器としては、例えば、デジタルカメラ、デジタルビデオカメラ、パーソナルデジタルアシスタント、モバイル型コンピュータ、オーディオおよび音楽装置、および携帯電話などのさまざまな電気的デバイスが挙げられる。
【０２９２】
上述の実施例において、デバイス、要素、および回路は、簡単のため、図に示されているように互いに接続されている。本発明の実用上のアプリケーションにおいては、要素、回路などは、互いに直接接続することができる。また同様に、要素、回路などは、デバイスまたは装置のオペレーションに必要な、他の要素、回路などを通じて互いに間接的に接続することもできる。したがって、実際の構成では、デバイス、要素、および回路は、互いに直接的もしくは間接的に結合、または接続される。
【０２９３】
本発明の上述の、および図示されている実施例は、例としてのみ取りあげられることを意図されている。当業者であれば、付属の請求項によってのみ画定される、本発明の範囲から逸脱することなく、特定の実施形態に改変、修正、および変更を加えることができる。
【符号の説明】
【０２９４】
Dn  データ入力
Qn  データ出力
110  メモリコントローラ
120-1、120-2、...120-N  メモリデバイス
131  nビットのデータ線
133  mビットの制御線
135  共通クロック線
140  クロックソース、メモリシステム
140-1〜140-N  メモリデバイス
142  メインシステムまたはプロセッサ(ホストシステム)
144  メモリコントローラ
145-1、145-2、145-3、...および145-N  メモリデバイス
147-1、147-2、147-3、...および147-N  コマンドフォーマット
150  メモリコントローラ
152-1、152-2、...152-N  メモリデバイス
160  メモリコントローラ
162-1、162-2、...160-N  メモリデバイス
172  入力回路
173  入力信号
174  出力回路
175  出力信号
176  クロック回路
177  入力共通同期クロック信号CLKcsyc
178  メモリコア回路
210  メモリコントローラ
212-1〜212-4  メモリデバイス
220  メモリコントローラ
222  入力回路
230  クロックソース
260  メモリコントローラ
262-1、262-2、...262-N  メモリデバイス
282  入力回路
283  入力信号
284  出力回路
285  出力信号
286  クロック回路
287  入力ソース同期クロック信号CLKcsyci
288  メモリコア回路
289  出力ソース同期クロック信号CLKcsyco
310  メモリコントローラ
312-1〜312-4  メモリデバイス
316  PLL
369および471  D-FF
371  ID割り当て回路
372  IDレジスタ
373  IDマッチ判定器
374  1ビット信号
375  コマンドインタプリタ
376  インバータ
377  モード信号生成器
378  メモリコア回路
379  ID割り当て完了信号
391  ID割り当て回路
392  IDレジスタ
394  1ビット信号
395  NANDゲート
399  ID割り当て完了信号
401  クロックI/O回路
403  データI/O回路
405  ストローブI/O回路
407  メモリコア回路
413  PLL
414-1、414-2、414-3、および414-4  バッファ
425  入力バッファ
427および429  入力バッファ(コンパレータ)
431および433  D-FF
437および439  D-FF
443  出力バッファ
445および447  D-FF
449  セレクタ
451  出力バッファ
461および463  D型フリップフロップ(D-FF)
465および467  セレクタ
481  ライトレジスタ
483  リードレジスタ
492  IDレジスタ
493  IDマッチ判定器
495  コマンドインタプリタ
498  メモリコア回路
510  メモリコントローラ
512-1〜512-N  グループ1〜N
520  メモリコントローラ
531-1〜531-4  メモリデバイス
533  基板
535  絶縁体
537  接続パッド
539  接続パッド
541  電線
551-1〜551-3  メモリデバイス
553  基板
555  シリコンスルーコネクタ
562-1〜562-N  MCP1〜MCPN
572-1〜572-N  MCP1〜MCPN
601  クロックI/O回路
603  データI/O回路
605  ストローブI/O回路
607  メモリコア回路
611  入力バッファ
613  PLL
614-1、614-2、614-3、および614-4  バッファ
617、619  セレクタ
621、623  セレクタ
625、627  出力バッファ
631  セレクタ
633  セレクタ
641および643  入力バッファ
645および647  D-FF
649、651、および653  D-FF
655、657、および659  D-FF
661および663  D-FF
665  セレクタ
667  セレクタ
669および671  D-FF
673  セレクタ
675  出力バッファ
677  セレクタ
679  セレクタ
687  セレクタ
689  セレクタ
693  出力バッファ
701  クロックI/O回路
703  データI/O回路
705  ストローブI/O回路
707  メモリコア回路
711  入力バッファ
713  PLL
714-1、714-2、714-3、および714-4  バッファ
715  セレクタ
717  セレクタ
719および720  セレクタ
721および723  出力バッファ
725  セレクタ
727  入力バッファ(コンパレータ)
737および739  入力バッファ(コンパレータ)
741、781、および743、783  D-FF
751  出力バッファ
753  出力バッファ
755  バッファ
761および763  D-FF
765  セレクタ
767  セレクタ
773  セレクタ
775  出力バッファ
781および783  D-FF
791および793  セレクタ
795  ライトレジスタ
797  リードレジスタ
799-1〜799-14  デバイス
801  クロックI/O回路
803  データI/O回路
805  ストローブI/O回路
807  メモリコア回路
813  PLL
814-1、814-2、814-3、および814-4  バッファ
815  セレクタ
817  セレクタ
819および820  セレクタ
821  出力バッファ
823  出力バッファ
824  セレクタ
825  入力バッファ
827および829  入力バッファ(コンパレータ)
831、833、835および837  D-FF
843  出力バッファ
851  出力バッファ
853  ANDゲート
861、862、863および864  D-FF
865  セレクタ
866および868  D-FF
867  セレクタ
871  セレクタ
873  セレクタ
875  セレクタ
877  セレクタ
881および883  D-FF
885  セレクタ
887  セレクタ
888  セレクタ
890  出力バッファ
891  セレクタ
893  セレクタ
895  ライトレジスタ
897  リードレジスタ
1410  メモリコントローラ
1420-1、1420-2、...1420-N  デバイス
1510  コントローラ出力信号
1520-1、1520-2、...1520-N  デバイス
1522  PLL
1530  送出データ
1620-1、1620-2、1620-3、1620-4、...、1620-N  デバイス
1622  PLL
1632  PLL
1640-1、1640-3、...  奇数番号のデバイス
1640-2、1640-4、...  偶数番号のデバイス
1642  PLL
1652  PLL
1901  Clock_out
1902  /Clock_out
1903  Clk360_out
1904  DO(コマンド/アドレス/データ)
1905  CSO(コマンドストローブ出力)
1906  DSO(データストローブ出力)
1907  Clk270_out
1909  Clk180_out
1910  クロック発生器
1911  クロック発振器
1912  PLL
1913  内部発生クロック信号「Clk_src」
1915  内部データストローブ入力信号「idsi」
1915  「idsi」
1916  CSI信号「コマンド/ストローブ入力」
1916  CSI信号
1917  基準電圧Vref
1920  コンポーネントIDレジスタ
1921および1922  セレクタ
1924  制御論理回路
1925  内部コマンドストローブ入力信号「icsi」
1925  信号「icsi」
1927  ラッチID信号「Latch_ID」
1927  「Latch_ID」信号
1929および1936  D-FF
1931  DI信号「データ/アドレス/コマンド入力」
1932  DSI信号「データストローブ入力」
1931  DI信号
1932  DSI信号
1933  「ID_assignment_status」信号
1933  「ID_assignment_status」信号
1934  Clock_in
1938  出力バッファ
1935  Clock_in#
1937  セレクタ
1939  D型フリップフロップ(D-FF)
1940  データレジスタ
1941  コマンドストローブ出力回路
1942および1943  D-FF
1944  セレクタ
1945  出力バッファ
1946  データストローブ出力回路
1947および1948  D-FF
1950  ANDゲート
1951  出力バッファ
1952  差動入力バッファ
1953  基準クロック信号
1954  差動入力バッファ
1955  差動入力バッファ
1956  差動入力バッファ
1957  D-FF
1958-7、1958-6、...、1958-0  ANDゲート
1959  クロック信号
1960  セレクタ
1961、1963  ラッチ回路
1962  データストローブ入力回路
1965-6、1965-4、...、1965-0  D-FF
1965-7、1965-5、...、1965-1  D-FF
1967  差動入力バッファ出力信号
1968  内部データ信号
1970  PLL
1980  モード検出論理回路
1981および1982  セレクタ
1983  270クロック信号
2501  「Clock out」
2502  「Clock out#」
2503  Clk360_out
2504  DO(コマンド/アドレス/データ)
2505  CSO
2506  DSO
2507  Clk270_out
2508  Clk180_out
2510  クロック発生器
2511  クロック発振器
2512  PLL
2513および2514  セレクタ
2520  コンポーネントIDレジスタ
2521  インバータ
2523  セレクタ
2524  セレクタ
2525  セレクタ
2530  制御論理回路
2531  データ信号「DI」
2532  DSI
2533  「ID_assignment_status」信号
2534  内部コマンドストローブ入力信号「icsi」
2536  CSI
2537  基準電圧「Vref」
2540  データレジスタ
2541  コマンドストローブ出力回路
2550  ANDゲート
2551  データストローブ出力回路
2559  クロック信号出力
2560  クロックセレクタ
2561  D-FF
2563  D-FF
2565  内部データストローブ入力信号「idsi」
2570  PLL
2580  コマンド/アドレス/データ発生器
2590  データストローブ入力回路
2591および2592  ラッチ回路
【図１】
0005432976.tif 000002
【図２】
0005432976.tif 000003
【図３】
0005432976.tif 000004
【図４】
0005432976.tif 000005
【図５Ａ】
0005432976.tif 000006
【図５Ｂ】
0005432976.tif 000007
【図６】
0005432976.tif 000008
【図７Ａ】
0005432976.tif 000009
【図７Ｂ】
0005432976.tif 000010
【図８Ａ】
0005432976.tif 000011
【図８Ｂ】
0005432976.tif 000012
【図９】
0005432976.tif 000013
【図１０Ａ】
0005432976.tif 000014
【図１０Ｂ】
0005432976.tif 000015
【図１１】
0005432976.tif 000016
【図１２】
0005432976.tif 000017
【図１３】
0005432976.tif 000018
【図１４】
0005432976.tif 000019
【図１５】
0005432976.tif 000020
【図１６】
0005432976.tif 000021
【図１７】
0005432976.tif 000022
【図１８Ａ】
0005432976.tif 000023
【図１８Ｂ】
0005432976.tif 000024
【図１８Ｃ】
0005432976.tif 000025
【図１８Ｄ】
0005432976.tif 000026
【図１８Ｅ】
0005432976.tif 000027
【図１９】
0005432976.tif 000028
【図２０Ａ】
0005432976.tif 000029
【図２０Ｂ】
0005432976.tif 000030
【図２１Ａ】
0005432976.tif 000031
【図２１Ｂ】
0005432976.tif 000032
【図２２】
0005432976.tif 000033
【図２３Ａ】
0005432976.tif 000034
【図２３Ｂ】
0005432976.tif 000035
【図２４Ａ】
0005432976.tif 000036
【図２４Ｂ】
0005432976.tif 000037
【図２４Ｃ】
0005432976.tif 000038
【図２４Ｄ】
0005432976.tif 000039
【図２５】
0005432976.tif 000040
【図２６】
0005432976.tif 000041
【図２７】
0005432976.tif 000042
【図２８】
0005432976.tif 000043
【図２９Ａ】
0005432976.tif 000044
【図２９Ｂ】
0005432976.tif 000045
【図２９Ｃ】
0005432976.tif 000046
【図２９Ｄ】
0005432976.tif 000047
【図３０】
0005432976.tif 000048
【図３１】
0005432976.tif 000049
【図３２】
0005432976.tif 000050
【図３３Ａ】
0005432976.tif 000051
【図３３Ｂ】
0005432976.tif 000052
【図３４Ａ】
0005432976.tif 000053
【図３４Ｂ】
0005432976.tif 000054
【図３４Ｃ】
0005432976.tif 000055
【図３４Ｄ】
0005432976.tif 000056
【図３４Ｅ】
0005432976.tif 000057
【図３５Ａ】
0005432976.tif 000058
【図３５Ｂ】
0005432976.tif 000059
【図３６Ａ】
0005432976.tif 000060
【図３６Ｂ】
0005432976.tif 000061
【図３７Ａ】
0005432976.tif 000062
【図３７Ｂ】
0005432976.tif 000063
【図３８】
0005432976.tif 000064
【図３９】
0005432976.tif 000065
【図４０Ａ】
0005432976.tif 000066
【図４０Ｂ】
0005432976.tif 000067
【図４１Ａ】
0005432976.tif 000068
【図４１Ｂ】
0005432976.tif 000069
【図４３Ａ】
0005432976.tif 000070
【図４３Ｂ】
0005432976.tif 000071
【図４４】
0005432976.tif 000072
【図４５】
0005432976.tif 000073
【図４６】
0005432976.tif 000074
【図４７】
0005432976.tif 000075
【図４８】
0005432976.tif 000076
【図４９Ａ】
0005432976.tif 000077
【図４９Ｂ】
0005432976.tif 000078
【図５０】
0005432976.tif 000079
【図５１】
0005432976.tif 000080
【図５２】
0005432976.tif 000081
【図４２】
0005432976.tif 000082