JP5855726B2 - クロック転送低電力シグナリングシステム - Google Patents

クロック転送低電力シグナリングシステム Download PDF

Info

Publication number
JP5855726B2
JP5855726B2 JP2014200774A JP2014200774A JP5855726B2 JP 5855726 B2 JP5855726 B2 JP 5855726B2 JP 2014200774 A JP2014200774 A JP 2014200774A JP 2014200774 A JP2014200774 A JP 2014200774A JP 5855726 B2 JP5855726 B2 JP 5855726B2
Authority
JP
Japan
Prior art keywords
clock
signal
memory
phase
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014200774A
Other languages
English (en)
Other versions
JP2015038802A (ja
Inventor
ウェア,フレデリック,エー.
パルマー,ロバート,イー.
ポールトン,ジョン,ダブリュー.
Original Assignee
ラムバス・インコーポレーテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ラムバス・インコーポレーテッド filed Critical ラムバス・インコーポレーテッド
Publication of JP2015038802A publication Critical patent/JP2015038802A/ja
Application granted granted Critical
Publication of JP5855726B2 publication Critical patent/JP5855726B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/04Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1066Output synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/109Control signal input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1093Input synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/225Clock input buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0855Overlapped cache accessing, e.g. pipeline
    • G06F12/0857Overlapped cache accessing, e.g. pipeline by multiple requestors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2254Calibration
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Dram (AREA)
  • Memory System (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Description

優先権主張
本願は、以下の米国特許出願に対する優先権を主張するものである:
(i)2009年1月12日に出願された「4.3 GB/S Mobile Meomory Interface with Power-Efficient Bandwidth Scaling」という名称の米国仮特許出願第61/144,135号、および
(ii)2009年3月2日に出願された「Mesochronous Low-Power Signaling System」という名称の米国仮特許出願第61/156,872号。
上記特許出願は、参照により本明細書に援用される。
本明細書における開示は、一般にはデータ通信システムに関し、特に低電力用途での高速シグナリングに関する。
メソクロナス(mesochronous)クロック信号は、多くの場合、同期メモリシステムでのシグナリング動作のタイミングをとるために使用される。同じクロックソースを使用して、メモリコントローラおよびメモリ装置の両方内での送/受信タイミングを提供することにより、周波数ドリフトが回避され、タイミング装置が比較的単純かつロバストになる。クロック基準はコントローラとメモリとの間の空間内に分配されるが、2つのチップのクロック領域は一般に、互いに対して任意の位相オフセットを有し、同期通信を可能にするためには、この位相オフセットを補償しなければならない。厄介なことに、チップ間の位相オフセットは、主にクロックを様々な送信回路および受信回路にファンアウトするために各チップ内に設けられるクロックバッファ回路により、温度および電圧に伴って実質的にドリフトする傾向を有する。
多くの近代のメモリシステムは、ストローブまたは他のソース同期タイミング信号を送信して、受信側装置内でのデータサンプリングを制御し、実質的に送信側装置のクロック領域を受信側装置に拡張することにより、チップ間位相ドリフトを管理する。不都合なことに、この手法は、通常、追加の信号ドライバ、ピン、および精密に配線された信号線(ストローブ線とデータ線との伝播時間が合うように)が必要であるため、かなりの電力/コストペナルティを有する。
別の手法は、位相ロックループ(PLL)または遅延ロックループ(DLL)をメモリコントローラおよび各メモリ装置内に設けて、基準クロックと分配クロック(すなわち、様々な受信回路および送信回路に分配される名目上は同位相の多数のクロック)との位置合わせを維持することにより、ドリフト位相オフセットを補償することである。この構成により、環境により各クロックバッファ遅延に誘発されるドリフトにも拘わらず、略固定された位相関係をチップ間で維持し得る。
PLL/DLL手法は、ソース同期構成の多くのペナルティ(特に、貴重なピンを使うこと)を回避するが、PLL回路およびDLL回路は大きな電力を消費する傾向を有し、アイドル期間中であっても電力を消費する(位相ロックを維持するために)と共に、ディセーブルされた節電状態から起きる際に位相ロックを復元するためにかなりの時間および追加の電力を必要とする。これらすべての欠点は、性能需要および集中的なトランザクションプロファイルにより、ロックループ動作を停止させることが難しく、やはりロックループ回路の大きなアイドル電力が、貴重なバッテリの寿命を短くするモバイル用途(例えば、携帯電話、ラップトップコンピュータ等)で特に問題である。
本明細書における開示は、同様の参照番号が同様の要素を指す添付図面の図において、限定ではなく例として示される。
クロック停止低電力モードを有するメモリシステムの一般化された実施形態を示す。 クロック停止低電力モードを有するメモリシステムの一般化された実施形態を示す。 図1の一時停止可能なクロックメモリ装置内の例示的な消費電力プロファイルを、同じ使用状況下の連続クロックPLL/DLLに基づくメモリ装置の例示的な消費電力プロファイルと対比する。 図1の一時停止可能なクロックメモリ装置内の例示的な消費電力プロファイルを、同じ使用状況下の連続クロックPLL/DLLに基づくメモリ装置の例示的な消費電力プロファイルと対比する。 メモリ側およびコントローラ側I/O回路およびシステムクロックアーキテクチャの実施形態をさらに詳細に示す。 メモリ装置のピン(または他の相互接続構造)において見られるシステムクロック信号およびデータ信号ならびにメモリ側送信器に与えられるバッファクロック信号を示す、図2Aを参照して説明したメモリ側タイミング構成を示す。 図2Aにおける任意のドリフト補償非直列化器を実施するために使用し得るドリフト補償非直列化器の実施形態を示す。 図2Aにおける任意のドリフト補償非直列化器を実施するために使用し得るドリフト補償非直列化器のタイミング図を示す。 図3Aのドリフト補償非直列化器内に適用し得るパケット位置合わせ回路の実施形態を示す。 図3Aのドリフト補償非直列化器内に適用し得るパケット位置合わせ回路の調整方法を示す。 図3Aのドリフト補償非直列化器内に適用し得るパケット位置合わせ回路の調整方法を示す。 図2Aの任意のドリフト補償非直列化器を実施するために使用し得るドリフト補償非直列化器の実施形態を示す。 図2Aの任意のドリフト補償非直列化器を実施するために使用し得るドリフト補償非直列化器のタイミング図を示す。 図3Fのドリフト補償非直列化器内に適用し得るパケット位置合わせ回路の実施形態を示す。 図2Aのメモリ装置内の非直列化回路を実施するために使用し得る非直列化回路の実施形態を示す。 図2Aのメモリ装置内の直列化回路を実施するために使用し得る直列化回路の実施形態を示す。 図2Aの実施形態内のデータリンクDQ0およびDQ1のドリフト補償非直列化器内の受信クロック位相を較正する例示的な手法を示す。 様々なデータ選択パスに関する詳細のない図5Aのビット内クロック位相配置の特定の実施形態を示す。 例示的な位相選択器により選択された、いくつかのクロック位相の例示的な関係およびデータアイシュムーに対するパス−フェイル境界を示し、最終的な受信クロック位相を決定する手法を実証する。 細かいおよび粗いデータアイ境界ならびに周期的タイミング較正動作中のドリフトの追跡に使用し得る細かいデータアイの中心と粗いデータアイフェイル境界とのオフセットを示す。 ドリフト補償非直列化器較正の例示的なビット位置合わせ(またはパケットフレーム調整)段階を示す。 ドリフト補償非直列化器較正の例示的なビット位置合わせ(またはパケットフレーム調整)段階を示す。 図2Aの様々なシグナリングリンク内のパケット位置合わせ回路に適用された場合、コントローラ−コアクロック領域に同時転送するために、メモリコアから検索された元のマルチパケット値の部分をなすパケットを位置合わせする、ワード待ち時間値を決定するために実行される例示的なパケット位置合わせ動作を示す。 メモリ装置内の各シグナリングリンク対間のクロス結合ループバックパスに頼る例示的な直列化器較正手順を示す。 メモリ装置内の各シグナリングリンク対間のクロス結合ループバックパスに頼る例示的な直列化器較正手順を示す。 メモリ装置内の各シグナリングリンク対間のクロス結合ループバックパスに頼る例示的な直列化器較正手順を示す。 メモリ装置内の各シグナリングリンク対間のクロス結合ループバックパスに頼る例示的な直列化器較正手順を示す。 メモリ装置内の各シグナリングリンク対間のクロス結合ループバックパスに頼る例示的な直列化器較正手順を示す。 ドリフト補償直列化器を周期的に較正するために使用される例示的な動作シーケンスを示す。 ドリフト補償非直列化器を周期的に較正するために使用される例示的な動作シーケンスを示す。 図3Aおよび図3Cを参照して説明した6ビット位相調整回路に対応する位置合わせカウンタの実施形態を示す。 周期的タイミング較正回路の実施形態を示す。 周期的タイミング較正回路の実施形態に対応する状態図を示す。 コントローラI/Oクロックおよびメモリ装置に転送されるデータレートシステムクロックのクロック停止論理を明示的に示す、図2Aの実施形態内で使用される例示的なクロック構成を示す。 図11Aのクロックアーキテクチャのクロック停止(またはクロック一時停止)動作の例示的なタイミング図である。 クロック停止論理回路のより詳細な実施形態を示す。 クロック停止論理回路のより詳細な実施形態に対応するタイミング図を示す。 代替のクロック停止アーキテクチャを示す。 代替のクロック停止アーキテクチャに対応する回路を示す。 代替のクロック停止アーキテクチャに対応するタイミング図を示す。 クロック停止低電力モードへの入出を含む間隔中のメモリコントローラでのクロック信号、クロックイネーブル信号、およびコマンド/アドレス信号の例示的なタイミング図である。 メモリ装置の観点からのクロック停止モード入出を示す。 メモリ装置の観点からのクロック停止モード入出を示す。 クロック停止間隔を非整数のコアクロックサイクルに拡張可能な代替の実施形態によるクロック停止入出を示す。 メモリコントローラ内のコアクロック信号とメモリ装置内のコアクロック信号との位相オフセットの調整が可能な位相位置合わせ回路の実施形態に関する。 メモリコントローラ内のコアクロック信号とメモリ装置内のコアクロック信号との位相オフセットの調整が可能な位相位置合わせ回路の実施形態に関する。 メモリコントローラ内のコアクロック信号とメモリ装置内のコアクロック信号との位相オフセットの調整が可能な位相位置合わせ回路の実施形態に関する。 周期的タイミング較正モードに入出する際にクロックグリッチを回避するために使用される例示的なクロック停止動作を示す。 周期的タイミング較正モードに入出する際にクロックグリッチを回避するために使用される例示的なクロック停止動作を示す。 クロック停止なしでグリッチのない位相ジャンプが可能な周期的タイミング較正を実行する代替の方法に関する。 クロック停止なしでグリッチのない位相ジャンプが可能な周期的タイミング較正を実行する代替の方法に関する。 クロック停止なしでグリッチのない位相ジャンプが可能な周期的タイミング較正を実行する代替の方法に関する。 クロック停止なしでグリッチのない位相ジャンプが可能な周期的タイミング較正を実行する代替の方法に関する。 クロック停止なしでグリッチのない位相ジャンプが可能な周期的タイミング較正を実行する代替の方法に関する。 クロック停止なしでグリッチのない位相ジャンプが可能な周期的タイミング較正を実行する代替の方法に関する。 単一のコントローラICおよび複数のメモリICを有するクロックを一時停止可能なメモリシステムの実施形態を示す。 図2Aに示されるメモリ側I/Oインタフェースに対応するインタフェースを実施するモジュール搭載バッファICを有するクロック一時停止可能なメモリシステムの実施形態を示す。 図1Aおよび図2Aのメモリシステム内に利用し得る階層電力モードを示す例示的な状態図である。 図2Aの実施形態に対応するメモリシステムアーキテクチャを示すが、漸減電力モードでの回路シャットダウンに関するさらなる詳細を示す。 低電力モードでディセーブルし得るバイアス回路を有する差動増幅器の実施態様を示す。 メモリ書き込み要求およびメモリ読み取り要求のそれぞれの入力に応答して、書き込みイネーブル信号および読み取りイネーブル信号(EnWおよびEnR)のコマンドに基づくアサーションを示すタイミング図である。 電力低減モードへの入出を示すタイミング図であり、電力低減モードから出ることはメモリ書き込み要求によりトリガされる。
メモリアクセストランザクション間のアイドル期間中にメソクロナス送受信クロックを停止させ、再開させることができる、ストローブのない同期メモリシステムが、いくつかの実施形態において開示される。この動作により、アイドル期間中の消費電力を、連続クロック設計と比較して劇的に低減することができる。さらに、アイドル時間は、特に電力の影響を受けやすいモバイル装置において、合計でアクティブメモリトランザクション時間(アクティブ時間)を大幅に超えることが多いため、アイドル時の消費電力を低減可能なことにより、はるかに低い正味消費電力をもたらすことができる。
アイドル時のクロック停止(またはクロック一時停止)を通して達成される相当な節電にも拘わらず、メソクロナスシグナリングシステムでの送受信クロックの停止は、連鎖的な問題を生じさせる。まず、PLLは一般に、位相ロックの再確立に過度に長い時間を必要とし、さらには一般に、確実なデータレートシグナリングを開始するためには、そのシグナリングの開始前に位相較正を完了する必要がある非較正状態でリロックすることになるため、メモリ側PLLでの位相ロックの損失は、即時の性能問題を呈する。さらに、メモリ側PLLの除去は、メモリ装置内の環境に誘発される広範囲にわたる位相ドリフトならびに送受信クロックにメモリ装置内で必要な重要なタイミングエッジの損失に始まる厄介な問題を呈する。すなわち、オンメモリPLLは従来、温度/電圧により誘発される位相ドリフトの補償および比較的低周波数のシステムクロックの周波数(または位相数)の低減によるデータレートシグナリングに必要なタイミングエッジの提供という二重の機能を実行する。
これら問題にも拘わらず、PLL/DLL回路は、本明細書において開示されるメモリ装置クロックアーキテクチャから省かれ、メモリ装置タイミング領域の位相は、メモリコントローラタイミング領域に対して自由にドリフトし得る。さらに、メモリ装置に複雑なドリフト補償回路を抱え込ませることに代えて、メモリコントローラのタイミング領域とメモリ装置のタイミング領域とのドリフトする位相オフセットは、メモリコントローラ内の回路により補償される。後述するように、オンメモリPLLがない場合、メモリ装置の位相ドリフトは、単位間隔(すなわち、ビットまたはシンボルの送信に割り当てられた時間間隔であり、データシグナリングレートまたはデータレートの逆数である。単位間隔は、本明細書では、ビット時間またはシンボル時間とも呼ばれる)をはるかに超えて延び、タイミング補償努力およびクロック開始/停止調整にかなりの複雑性を加え得る。
メモリ側PLL/DLLの省略およびそれに伴う従来のオンメモリPLLの第2の機能−比較的低周波数のシステムクロック信号からのデータレートタイミング信号の生成−の損失は、システムクロック構成自体の変更により中和される。より具体的には、データレートタイミングエッジを提供するために、オンメモリPLL/DLLによる周波数逓倍(または位相分配)を受けなければならない低周波数システムクロックを分配することに代えて、データレートクロック信号自体が、システムクロック信号として分配され、それにより、メモリ装置内での周波数逓倍(または位相分配)PLL/DLL回路の必要性を回避する。この手法は、送信および高周波数クロックのオンチップ分配に関わる消費電力が潜在的により高いという欠点があるが、メモリ側PLL/DLLの省略により、従来の設計を悩ませるロック損失考慮がなくなると共に、限定ではなく例えば、本明細書において説明されるドリフト補償回路およびクロック停止/開始管理回路と組み合わせられた場合、性能へのペナルティがごくわずかな状態で高速に入出し得るクロック停止低電力モードを可能にする。最終的には、集中的なメモリアクセスプロファイル(例えば、携帯電話および他のモバイル装置でのように、比較的短いアクティブメモリアクセス時間の間に散在する頻繁なアイドル期間)を示す用途では、アイドル時の節電は、いかなるアクティブ時消費電力の増大を大幅に上回り、節減はシステム内のメモリ装置の数で乗算される。
図1Aおよび図1Bは、クロック停止低電力モードを有するメモリシステム100の一般化された実施形態を示す。このメモリシステムは、シグナリングリンク102およびシステムクロックリンク108を介して互いに結合されたメモリコントローラ101およびメモリ装置103を含む。メモリコントローラ自体は、コントローラコア105および入/出力(I/O)インタフェース107(またはPHY:物理インタフェース)を含み、メモリ装置も同様に、メモリコア131およびI/Oインタフェース133を含む。メモリ装置およびメモリコントローラ内のI/Oインタフェース(すなわち、「メモリ側」および「コントローラ側」I/Oインタフェース)は、1つまたは複数のデータリンク106を介する双方向データ転送ならびに1つまたは複数のコマンド/アドレス(CA)リンク104を介する単方向コマンド(または要求または命令)転送をサポートするシグナリング回路(117、119、137、139)を含む。コントローラ側I/Oインタフェースは、クロックリンク108を介してメモリ装置に転送され、クロックバッファ135および内部クロックパス136を介してメモリ側シグナリング回路137および139に分配されるシステムクロック信号(システムクロック、SCK)を生成するクロック生成器115をさらに含む。クロック生成器は、内部クロックパス110を介してコントローラ側シグナリング回路117および119に分配されるコントローラ側クロックセットも生成する。
メモリ装置103に関して、メモリコア131は、1つまたは複数のバンクに構成されるコア記憶装置アレイ132ならびにメモリコントローラからのメモリアクセスコマンドおよびアドレスに応答して、コア記憶装置アレイへの読み書きアクセスを管理するアクセス回路134を含む。後述する実施形態では、コア記憶装置アレイは、データ損失を回避するために時折のリフレッシュが必要なダイナミックランダムアクセスメモリ(DRAM)であることが前提とされるが、代替の実施形態では、スタティックランダムアクセスメモリ(SRAM)および様々な形態の不揮発性メモリ(例えば、フラッシュメモリ、相変化メモリ等)を含むが、これらに限定されない略あらゆる記憶技術を使用し得る。使用される記憶技術に関わりなく、コマンドリンク104(まとめて「コマンドパス」)を介してメモリ装置に伝達されるコマンドおよびアドレス値(コマンド/アドレス値またはCA値)は、コア記憶装置アレイ132のアドレス指定領域内でデータ取得(メモリ読み取り)およびデータ記憶(不揮発性セルプログラミングを含むメモリ書き込み)の動作を実行するために使用される。検索されたデータは、本明細書では「読み取りデータ」と呼ばれ、データリンク106(まとめて、「データパス」)を介してメモリコントローラに戻され、逆に、記憶またはプログラムすべきデータ(「書き込みデータ」)は、データパスを介してメモリコントローラから提供される。場合によっては、行アクティブ化コマンド(コア記憶装置アレイ内の記憶セルからラッチセンス増幅器バンクへのデータ転送を命令する)、リフレッシュコマンド、消去コマンド(例えば、フラッシュメモリまたは他の電気的に消去可能な不揮発性メモリの場合)等のデータのないコマンドならびに様々な構成コマンドおよび/または動作モードコマンドを、コマンドパスを介して発行し得る。
図1の実施形態に戻り、メモリ側クロック構成のいくつかの特徴が強調される。第1に、クロックバッファ135から出力されるクロック信号(すなわち、バッファクロック信号)は、システムクロック信号を位相遅延させたものであり、周波数逓倍または多位相クロック生成は、メモリ装置内で行われず、システムクロック信号自体の周波数が、メモリ側I/O回路内のデータ伝送レートおよびサンプリングレート、ひいてはシグナリングリンク102のシグナリングレートを確立する。したがって、低周波数システムクロックを分配し、クロック周波数を逓倍するか、またはクロック周波数PLL/DLL回路を設けて、追加のクロック位相を生成することによりデータレートクロック信号を生成する従来の手法と異なり、データレートクロック信号自体(すなわち、データリンクを介して送信された各シンボルの各タイミングエッジを含むクロック信号)が、システムクロック信号としてメモリ装置に供給される。この手法の1つの結果は、所望の利得を達成するために、クロックバッファ135を形成する増幅器チェイン内に追加のバッファ増幅器が必要になり得(すなわち、利得は周波数に伴って降下する傾向を有し、それにより、追加の利得段がより高いクロック周波数で必要になり得)、それにより、低周波数多位相クロック信号の分配とは対照的に、メモリ装置全体を通してデータレートクロック信号を分配するために追加の電力が必要になり得ることである。上述したように、従来のクロック分配構成をより大きな電力を消費し得るものと置換することの想定される欠点にも拘わらず、周波数逓倍PLL/DLLの省略は、位相ロックの再取得に関連する通常の時間遅延ペナルティを生じさせずに、低電力モードクロック停止状態とアクティブモードクロック状態との高速遷移を可能にする。結果として、比較的短いアイドル期間中(メモリアクセスアクティビティバースト間)であっても、性能への影響がごくわずかな状態で、クロック停止低電力モードに入り得る。多くの用途では、合計アイドル時間は合計アクティブメモリアクセス時間を大幅に超えるため、アクティブ時の電力のわずかな増大を犠牲にして、アイドル時間中の電力を大幅に低減することにより、消費電力のかなりの正味低減がもたらされ得る。この結果は、図1のクロック一時停止可能なメモリ装置の例示的な消費電力プロファイルを同じ使用状況下の連続クロックPLL/DLLに基づくメモリ装置の例示的な消費電力プロファイルと対比する図1Cおよび図1Dにグラフで示される。示されるように、クロック一時停止可能なメモリでのアクティブ時の電力がいくらか高いにも拘わらず、アイドル時の消費電力のかなりの低減により、メモリ側タイミング領域をシステムクロック信号の位相に固定するために利用されるオンメモリロックループの大きなアイドル消費電力という欠点を有する連続クロックメモリよりもはるかに低い正味消費電力がもたらされる。
メモリ側クロック構成の別の特徴は、クロック分配回路が全体的に、メモリ装置内の開ループであり、上述したように、システムクロック信号とメモリ側I/Oセルに分配されるバッファクロック信号との間の時間により変化する(すなわち、ドリフトする)位相遅延を補償するロックループ回路がないことである。さらに、システムクロック−バッファクロック位相遅延の大きさおよび環境からの影響の受けやすさの両方が、データレートクロック信号の周波数を高くするためにクロックバッファ内に設けられる増幅器の追加段により増大する。すなわち、クロックバッファ内の各増幅器段は、環境依存性(例えば、温度依存性かつ/または電圧依存性)伝播遅延を示す傾向を有するため、増幅器段の追加により、正味のシステムクロック−バッファクロックタイミングスキューが増大するのみならず、タイミングスキューの変化率(すなわち、ドリフト率)も増大する。バッファクロック信号は、サンプリング動作および送信動作のタイミングをとるためにメモリ側I/Oセル内に適用されるため、バッファクロック信号の位相ドリフトは、メモリ装置により送信される読み取りデータ信号の対応する位相ドリフトとして現れる(そのような信号を正確に受信すべき場合、入力書き込みデータ信号の位相を変更する必要がある)。最後に、クロックバッファ遅延は数ビット時間のオーダであり得、温度および電圧の隅部の間(すなわち、許容される最小電圧および温度と最大電圧および温度との間)のクロックバッファ遅延の正味変化は、シンボル時間(またはビット時間)を容易に超え得るため、送信クロック位相または受信クロック位相は、1つまたは複数のビット時間境界を超えて隣接するビット時間中にドリフトし得る。データサンプリング時間をビット境界間に適宜中心に置き得るが、1つまたは複数の整数ビット時間だけずれ得るため、これはさらなるタイミング複雑性を生じさせる。したがって、その他の点では正しく受信されたデータは、受信器側直列化回路により並列データビットセット(本明細書ではパケットと呼ばれる)に不適当にフレーム化される恐れがある。
メモリ装置内のクロック分配構成は開ループであるが、それにも関わらず、システム全体の閉ループタイミング補償構造が、メモリコントローラとメモリ装置との間の伝送に鑑みて実行される較正動作中の位相、ビット、およびパケットの位置合わせ情報の取得を通して行われることに留意されたい。したがって、多構成要素(マルチIC)閉ループは、メモリ装置へのシステムクロック信号の転送およびコントローラにより管理されるタイミング較正動作を通しての(メモリ側の送信回路および受信回路に適用された)転送されたクロック信号のメモリ側位相を示す情報の取得において行われる。
クロック停止低電力モード
引き続き図1Aを参照すると、コントローラコア105は、ホストインタフェースを介して(例えば、プロセッサまたは他のメモリアクセス要求装置から)受信したメモリアクセス要求を入れるトランザクションキュー109(または要求キュー)と、トランザクションキューの状態を監視する電力モードコントローラ111を含む。トランザクションキューが空になると、電力モードコントローラは、最後の(すなわち、最後にキューから出される)トランザクションが完了する前に、追加のトランザクション要求が受信され(キューに入れられ)るか否かに応じて、低電力クロック停止モードになる準備をする。最後のトランザクションが完了する前に、追加のトランザクション要求が受信される場合、電力モードコントローラは、クロックイネーブル信号114をデアサート(または一時停止信号をアサート)して、システムクロックおよび好ましくは(必須ではないが)コントローラ側シグナリングクロックの切り替えを一時停止する。結果として生じるクロック停止またはクロック一時停止は、メモリ側およびコントローラ側のI/O回路内のすべての送信クロックおよび受信クロックが切り替えを停止し、ひいては双安定論理状態間の消費電力範囲を通してクロック動作回路の駆動を回避するため、メモリ装置およびメモリコントローラ内の即時節電をもたらす。
図1Bはクロック停止の効果を示す。最後のメモリトランザクションがクロックサイクル「0」において開始されたと想定すると、電力モードコントローラは、空のトランザクションキューを検出し、メモリ装置およびコントローラ側I/O回路の内部動作が完了する時間までクロックサイクルをカウントし始める。この例では、その時間は、トランザクションが開始されてから24システムクロックサイクル後、ひいてはシステムクロックサイクル24において生じる。その後間もなく、この場合、メモリ装置への最後の無演算(NOP)コマンドの送信を保証するのに十分に長い時間後に、システムクロックおよびコントローラI/Oクロックは手際よく停止され、論理ハイまたはロー状態に留まる。この時点で、メモリシステムはアイドルであり、クロック停止低電力状態である。コントローラコア内の低周波数クロックは発振し続け、したがって、後に提出されたトランザクション要求を受信することが可能である。この例では、トランザクションは、システムクロックサイクル44の少し前のある時点でキューに入れられる。したがって、電力モードコントローラは、キューに入ったトランザクションを検出し、クロックサイクル44においてシグナリングクロック(システムクロックおよびコントローラ側I/Oクロック)を再開し、無演算コマンドをメモリ装置に送信できるようにし、その後、この例では、コア記憶装置アレイの選択されたバンク(B)に向けられるアクティブ化コマンドとして示されるアクティブコマンド転送を可能にする。したがって、電力モードコントローラは、空のトランザクションキューを検出し、最後のトランザクションが完了するのに十分に長い時間待った上でメソクロナスシグナリングクロックを停止し、次に、新たにキューに入ったトランザクションを検出した上でシグナリングクロックを再開することにより、メモリアクセストランザクション間のアイドル期間での消費電力を低減する。この例では、クロック停止間隔は、停止されなければシステムクロック信号の16サイクル分にわたり、その時間中の合計システム消費電力を大幅に低減する。実際の用途では、数ミリ秒のアイドル期間にわたるシグナリングクロックの停止ですら、停止しない場合には数百万のクロックトランザクションに必要な消費電力が回避される。合計ではアクティブメモリトランザクション時間を大幅に超える複数のアイドル期間中の節減の累積は、性能ペナルティがわずかな状態で大幅な節電をもたらす。
クロックおよびドリフト補償
図2Aは、メモリ側およびコントローラ側I/O回路およびシステムクロックアーキテクチャの実施形態をさらに詳細に示す。限定ではなく、明確にするために、特定の数および種類のシグナリングリンク、クロック周波数、クロック周波数比、および直列化深度(serialization depth)が、図2Aおよび続く関連図に示される。例えば、差動シグナリングリンクが、8つのデータリンク(DQ[0〜7])、2つのコマンド/アドレスリンク(CA[0,1])、データマスクリンク(DM)、およびシステムクロックリンク(SCK)のそれぞれを実施するために提供される一方で、シングルエンドリンクが、一対の相対的に低いシグナリングレートの側波帯リンク(SL[0,1])を実施するために使用される。あるいは、各差動リンクは、シングルエンドリンク(またはその逆)であってもよく、より多数または少数のリンクを使用して、コマンドパスおよび/またはデータパスを実施してもよく、データマスクリンク(単方向コマンドパスの部分として考えられ得る)および関連付けられた回路を一緒に省いてもよい。データリンクまたはコマンドリンクのうちの一方を介する帯域外シグナリングを優先して、専用側波帯リンクを省いてもよい。
クロック周波数およびクロック周波数比に関して、システムクロックアーキテクチャは、400MHz基準クロック信号(REFCK1)により駆動され、この基準クロック信号は、PLL回路161内で8で乗算されて、本明細書では、PCK8またはコントローラ側I/Oクロック(「PCK8」内の「8」は、基準クロック信号の8倍であることを示す)とも呼ばれる位相分配した3.2GHzコントローラ側I/Oクロック信号セットを生成する。コントローラ側I/Oクロックを駆動することに加え、3.2GHz PLL出力が、分周器165において2で分周されて、システムクロックSCK(本明細書では、PCK4とも呼ばれる)が生成され、分周器163において8で分周されて、システムクロックおよびコントローラ側I/Oクロックと位相位置合わせされるが、コアのクロック動作のために低い周波数を有し、ひいては低電力論理演算が可能なコントローラ側コアクロック信号(PCK1)が生成される。そのようなすべての場合において、コアのタイミング領域とI/Oタイミング領域とで、異なるクロック周波数および異なるクロック周波数比を使用し得る。同じ周波数クロックが各シグナリングリンクに利用されるが、代替として、異なるI/Oクロック周波数を適用して、異なる信号クラスに異なるシグナリングレート(例えば、コマンド/アドレス信号には半データレートクロック)を達成してもよい。さらに、示される実施態様では、1.6GHzシステムクロック周波数は、データリンクおよびコマンドリンクの3.2Gb/s(ギガビット毎秒)の半分である。本明細書では時折、「半ビットレート」または「半シンボルレート」クロック信号と呼ばれるが、それにも関わらず、各サイクル内の立ち上がりエッジおよび立ち下がりエッジ(または差動システムクロック実施態様では、2つの180°オフセットされた立ち上がりエッジ)を使用して、各(1/3.2GHz)データ間隔でデータを送信またはサンプリングし得るため、システムクロックは「データレート」クロック信号とみなされる。半ビットレート(半シンボルレート)システムクロックが、以下の例示的な実施形態の多くにおいて転送されるが、代替として、全ビットレートクロック(この例では、3.2GHz)をシステムクロックとしてメモリ装置に転送してもよい。
引き続き、8:1直列化が、各シグナリングリンクを介してのビット直列伝送のために、コア供給の8ビット幅パケットの情報の直列化に適用され、対応する1:8非直列化が、相手方のコアへの送信のために直列ビットシーケンスを8ビット幅データに復元するために適用される。例えば、8つの8ビットパケットの書き込みデータ(Wdata[0][0〜7]−Wdata[7][0〜7])が、400MHzコントローラコアクロック(PCK1)の各期間中に直列化され、8つの各データリンクDQ[0〜7]を介して各8ビットシーケンス内で3.2Gb/sで送信され、それにより、合計データ帯域幅3.2GB/s(3.2ギガバイト毎秒)を提供する。メモリ装置において、各8ビット長書き込みデータパケットは、400MHzメモリコアクロック(MCK1)というサイクル時間中に(ビット毎に)サンプリングされ、並列パケットに変換され、それにより、コントローラコアのようなメモリコアが、低周波数領域でデータのバイトサイズパケットに対して演算できるようにする。逆のメモリ装置内での直列化およびメモリコントローラ内での非直列化は、メモリ装置からメモリコントローラへの読み取りデータ送信において実行され、それにより、両装置コアによる比較的低周波数のクロック領域(この例では400MHz)での演算を可能にしながら、比較的狭い8リンクデータパスを介するメモリコアからコントローラコアへの3.2GB/sデータ転送を可能にする。同様の直列化演算および非直列化演算は、コマンド/アドレスリンクおよびデータマスクリンクのそれぞれで単方向で実行される。すべてのこのような場合、異なる直列化深度(すなわち、パケット毎により多数または少数のビット)を、一般にそれに対応してコアとI/Oとのクロック比を変更して、任意またはすべてのリンクに適用し得る(深度=1:事実上、直列化または非直列化がまったくない、を含む)。
開ループメモリ側クロック分配を使用するメソクロナスクロック動作
すべてのシステムタイミングエッジは共通のクロック信号(すなわち、それ自体は基準クロック信号REFCK1から導出されるPLLの出力)から導出されるため、システム内の様々なクロックはメソクロナスである。すなわち、様々なクロックは、任意の逓倍/分周を考慮した後同じ周波数を有するが、クロックがメモリコントローラおよびメモリ装置内の様々な適用点に達するために必要な伝播時間が異なることにより潜在的に異なる位相を有する。一般に、オンダイまたはチップ間導電体を介したそのような伝播時間は、動作中のシステム温度および電圧範囲にわたって比較的一定のままである。しかし、メモリコントローラおよびメモリ装置内のクロック線を駆動するために設けられるバッファ増幅器等の能動構成要素を通る伝播時間は、環境変化(少なくとも温度および電圧)により大きく影響されがちであり、したがって、様々な分配クロック間の、その他の点では比較的安定した位相関係に環境により誘発されるドリフトをもたらす。
特にメモリ側クロックアーキテクチャを参照すると、システムクロックは、バッファ223を介して受信され、増幅器229によりグローバルクロック線230に駆動される。グローバルクロック線を駆動するために比較的大きな利得が必要であるため、増幅器229は、実質的に環境の影響を受けやすい伝播遅延をそれぞれ示す複数の段を含む傾向を有する。システムクロックの比較的高い周波数(すなわち、クロックは、オンメモリPLL設計の低いシステムクロック周波数とは対照的に、最悪の場合のデータ信号と同じ上部スペクトル成分を有する)は一般に、所望の信号利得を達成するために(すなわち、利得は一般に周波数の増大に伴いロールオフする)、追加の増幅器段が必要であり得るため、この環境の影響の受けやすさを増大させる。したがって、本明細書ではメモリ側I/OクロックまたはMCK4と呼ばれる、結果として生成されるバッファクロック信号は、入力システムクロック信号に対して実質的な位相遅延を示すのみならず、メモリ装置の温度および電圧の動作範囲にわたり1つまたは複数の単位間隔(ビット時間)を超えるドリフトを生じさせ得る環境影響の受けやすさも示す。さらに、オンメモリPLL/DLLの帰還ループ内のクロックバッファを増大させることにより、ドリフトする増幅器遅延を補償する従来の設計とは対照的に、増幅されたシステムクロック信号(すなわち、バッファクロック信号、MCK4)の開ループ分配は、クロック増幅器内のいかなる位相ドリフトも、メモリ側送信クロックよび受信クロックの位相ドリフトに直接変換され、ひいては、メモリ装置により送信される読み取りデータ信号の対応する位相ドリフトとして現れる(そのような信号を正確に受信すべき場合、入力書き込みデータ信号の位相を変更する必要がある)ことを意味する。最後に、クロックバッファ遅延(すなわち、要素223、229を通しての遅延)は、数ビット時間のオーダであり得、温度および電圧の隅部の間(すなわち、許容される最小電圧および温度と最大電圧および温度との間)のクロックバッファ遅延の正味変化は、ビット時間を容易に超え得るため、送信クロック位相または受信クロック位相は、1つまたは複数のビット時間境界を超えて隣接するビット時間中にドリフトし得る。データサンプリング時間をビット境界(データアイのエッジ)間に適宜中心に置き得るが、整数のビット時間だけずれ得るため、これはさらなるタイミング複雑性を生じさせる。したがって、その他の点では正しく受信されたデータは、メモリ側またはコントローラ側の非直列化回路により並列データビットパケット(例えば、8ビットパケット、16ビットパケット等)に不適当にフレーム化される恐れがある。
図2Bは、上述されたメモリ側タイミング構成を示し、図2Aのメモリ装置のピン(または他の相互接続構造)に現れるシステムクロック信号およびデータ信号ならびにメモリ側直列化器235(またはシングルビット送信器)に適用されるバッファメモリI/OクロックMCK4を示す。示されるように、メモリI/Oクロックは、メモリI/Oクロックの位相、ひいてはデータリンク(DQ)のうちの1つに駆動される読み取りデータ信号の位相がシステムクロック信号に対して自由にドリフトするように、システムクロックに対して時間変化する遅延を示す。より詳細には、システムクロックとメモリI/Oクロックとの第1の時間遅延(または位相オフセット)が、第1の電圧・温度点(v0,t0)において発生し、温度および電圧が時間の経過に伴って新しい点(v1,t1)および(v2,t2)にドリフトした場合、システムクロックとメモリI/Oクロックの位相オフセットは、ビット時間だけ、またはビット時間を超えて前(ドリフト−)後(ドリフト+)にドリフトする。単一データリンクでの位相ドリフトおよびメモリI/Oクロックのインスタンスが示されるが、同様の位相ドリフトは、示される大きさおよび方向から独立した大きさおよび方向で、他のデータリンクにも生じ得る。例えば、システムクロック信号に対する位相ドリフトは、例えば、各シグナリングリンクに関連付けられた環境の影響を受けやすいローカルクロックバッファおよびローカルクロックバッファがもたらし得る潜在的に異なる伝播遅延により、データリンク毎に異なり得る。
コントローラ側直列化/非直列化回路内のドリフト補償
図2Aの実施形態では、タイミング補償回路が、コントローラ側直列化/非直列化回路と共に設けられて、メモリ側I/O回路内の自由にドリフトする送受信クロック位相を補償する。より詳細には、タイミング補償回路は、コントローラ側I/Oタイミング領域を、リンク単位で、ドリフトするメモリ側I/Oタイミング領域と位置合わせして、ビット内サンプリング位相誤差のみならず、メモリ側位相ドリフトがビット境界を越える場合に生じるビット時間位置合わせずれおよび様々なリンクでの異なるビット時間位置合わせずれに起因するリンク毎のパケット位置合わせずれも補償する。実際には、タイミング補償回路は、補償されない場合にはデータ直列化/非直列化誤差(すなわち、ビットの、シグナリングリンクの反対側での異なるビット境界でのパケットへのフレーム化ビット)の原因となる恐れがあるビット境界を跨ぐドリフトおよびパケットがメモリコントローラまたはメモリ装置内のコアのクロック領域とI/O回路のクロック領域との間でパケットが転送される際の領域を跨ぐ誤差を含め、相手方のメモリ側I/O回路内の送受信クロックの位相ドリフトを補償するドリフト追跡送受信クロック位相を各コントローラ側I/O回路内に確立する。
図2Aの実施形態では、各ドリフト補償非直列化器は、ビット内位相ドリフトを補償する位相選択非直列化器192と、ここでは、ビット境界を跨ぐドリフトを補償し(ビット位置合わせ)、コントローラコアへの転送の同期をとるために異なるリンクを介して受信されるパケットを位置合わせする(パケット位置合わせ)パケット/ビット位置合わせ回路194とを含む。ドリフト補償直列化器は、メモリ装置に流れる情報のタイミングを調整する同様の回路を含み、ビット内調整(位相選択直列化器191)およびビット/パケット位置合わせ(193)を提供して、メモリ装置内でのサンプリング、ビットフレーム化、およびリンク毎のパケット位置合わせのタイミングを適宜とるために、出力データストリームをプレスキューさせる。
図3Aおよび図3Bは、図2Aに示される任意のドリフト補償非直列化を実施するための使用し得るドリフト補償非直列化器186の実施形態およびタイミング図を示す。したがって、図2Aにおいて参照される8つの非直列化器のうちの所与の1つに捧げられた各入力信号および出力信号は、同じ信号の別個のインスタンスがその他の7つの非直列化器に入出力されることを示すために、図3Aおよび図3Bではインデックス「[i]」(すなわち、i=0,1,2,・・・,7)により示される。したがって、非直列化器186はデータリンクDQ[i]に結合されて、直列データ信号を受信し、8ビット幅データパケットRdata[i][7:0]を出力する。非直列化器は、6ビットの位相調整信号PhAdj[i][5:0]および3ビットのビット調整信号BitAdj[i][2:0]をさらに受信する。非直列化器は、他のすべての非直列化器と共に、コントローラコアクロックPCK1および多位相コントローラI/OクロックPCK8も受信する。図示の実施形態では、コントローラI/Oクロックは3段リング発振器により生成され、したがって、PCK8サイクル時間内に位相分配された3つの異なるクロック信号のセットを出力する。換言すれば、図3Aの実施形態では、コントローラI/Oクロックは、0°、120°、および240°のクロック位相およびそれぞれを補足する180°、300°、および60°のクロック位相を含み、それにより、6つのクロック位相のセットを提供し、この6つのクロック位相のセットから、PCK8サイクル内で任意の位相オフセット(すなわち、クロック位相また位相角度)を有する位相シフトされた受信クロックPCK8[i]を合成し得る。一実施態様では、例えば、位相補間回路271が、6つの可能な位相調整クロック位相対(すなわち、0°/60°、60°/120°、120°/180°、180°/240°、240°/300°、または300°/0°)のうちの1つを選択することにより、6ビットの位相調整値のうちの最上位3ビット(MSB)に応答し、位相調整値の最下位3ビットに応答して、選択されたクロック位相対を補間(または混合)し、それにより、位相調整値の各インクリメントまたはデクリメントを使用して60°/8または7.5°位相ステップ(または分解能)を提供する。代替の実施形態では、より多数または少数のクロック位相を提供してもよく(それに対応して、選択可能なクロック位相対の数に合うように、必要に応じて位相選択ビット数を変更して)、かつ/またはより細かいもしくは粗い位相補間を提供してもよい。位相補間回路271はそれ自体、限定ではなく例として、MSBにより選択された位相ベクトルを受信するようにそれぞれ結合された入力と、共通して結合された出力と、位相調整値の最下位3ビットの相補的なインスタンスにより制御される各駆動強度とを有する増幅器を含む任意の種類の位相シフト回路により実施し得る。より一般には、代替の実施形態では、コントローラI/OクロックPCK8に対して選択可能な位相オフセットを提供可能な任意の種類の回路を使用し得る。最後に、補間回路のトポロジに関わりなく、図1Aのトポロジ内に含まれる補間(または位相シフト)回路は、ソースコントローラI/OクロックPCK8が停止した場合、補間クロックPCK8[i]をグリッチのない(すなわち、ショート(ラント)パルスまたは無効論理レベルのない)状態にすることが可能である。一例として、いくつかの実施形態では、補間クロックのグリッチなしの開始および停止が、PCK8[0°]およびPCK8[180°]波形の追加の1サイクル遅延コピー対を補間回路に分配することにより可能である。同様の構成を使用して、図3Fを参照して後述するコントローラ側送信クロック位相のグリッチのない開始および停止を保証し得る。
後述するように、受信クロック位相をまず、ある範囲の値を通して(または二部もしくは他の検索パターンを通して)位相調整値をステッピングさせて、結果として生成される、誤差のないデータ受信をもたらすクロック位相を、ビット誤差をもたらすクロック位相から(すなわち、パスクロック位相をフェイルクロック位相から)区別することにより較正し得る。一実施形態では、例えば、データアイの開く側と閉じる側(またはあるデータアイの閉じる側および続くデータアイの開く側)でパス/フェイル境界上にあるクロック位相(すなわち、誤差のない受信およびビット誤差のそれぞれをもたらす隣接クロック位相)が識別され、これら境界を中心とする位相は、較正受信クロックPCK8[i]として選択される。その後、受信クロック位相は、境界位相を再テストして、同じパス(またはフェイル)結果になることを確認し、パス/フェイル境界の変更により示される任意のドリフトを打ち消すように、最後の受信クロック位相の位相調整値をインクリメントまたはデクリメントすることにより、メモリ側(またはシステム全体の)位相ドリフトを考慮するように周期的に(または時折)調整し得る。
フロップ段(またはラッチ)283が、受信クロック信号RCK8[i]の遷移に応答して逐次ロードされる8ビットシフトレジスタを形成する。フレームクロック信号RCK1[i]は、8サイクルの受信クロック信号毎に1回循環し、シフトレジスタの内容を並列出力レジスタ285に並列に転送し、それにより、1:8直列/並列変換を行うために使用される。ビット位置合わせ回路は、受信クロック(RCK8[i])の立ち下がりエッジをカウントするモジュロ8カウンタ(3ビット幅レジスタ273およびインクリメント論理275により形成される)と、3ビットのビット調整値(RxBitAdj[2:0])を3ビットのモジュロ8カウンタ出力に加算する加算回路277とを含み、受信クロック信号とフレームクロック信号との位置合わせに対する選択可能な制御を提供する。より詳細には、ビット調整値がゼロ(すなわち、RxBitAdj[i][2:0]=000b、「b」は二進数を示す)の場合、カウンタ値が3から4に(011bから100bに)遷移する都度、加算器出力(278)のMSBはハイになり、2つの受信クロックサイクル後に(フロップ段279および281により)、フレームクロック(RCK1[i])信号の対応する立ち上がりエッジにおいて、並列出力レジスタの内容のロードをトリガする。ビット調整信号をインクリメントする都度、加算器MSB(ひいてはRCK1[i])は1ビット時間ずつ早くハイになり、それにより、RCK1[i](またはRCK1[i]の立ち上がり遷移)を8つのRCK8[i]サイクルのうちの任意のサイクルの立ち下がりエッジと位置合わせすることができ、ひいては、直列−並列フレーム化を入力直列ビットストリーム内の8つの可能なパケットフレーム境界のうちの任意の境界にシフトさせることができる。図示の実施形態では、RCK1[i]の各立ち上がりエッジは、RCK8[i]信号の立ち下がりエッジと位置合わせされ、それにより、並列レジスタへの転送は、シフトレジスタに新しい8ビットパケットがロードされてから半RCK8[i]サイクル後(かつ後続パケットの最初のビットがシフトレジスタにロードされる半RCK8[i]サイクル前)に行われる。
図3Bは、多位相コントローラI/OクロックPCK8(そのうちの0°クロック位相のみが示される)ならびにPCK8[0°]に対して任意の位相オフセット288および線DQ[i]上の入力データ波形に対して直交(すなわち、中ビット時間が中心に置かれた)位置合わせを行うために例示的な位相オフセット291を有する位相シフト受信クロックRCK8[i]のインスタンスで開始される、上述したタイミング構成を示す。モジュロ8カウンタ(すなわち、RCK1a[i])の最上位ビット出力は、8サイクルの受信クロック信号毎に1回循環し、立ち下がり受信クロックエッジと位置合わせして遷移する。考察したように、フレームクロックRCK1[i]は、ビット調整値RxBitAdj[i][2:0]の値に従って、カウンタ出力後、N+2の受信クロックサイクル後に遷移する(フロップ段279、281の直列結合により)。但し、Nは0〜7の範囲である。したがって、ビット調整値がゼロ(000b)である場合、フレームクロック信号は、未処理のカウンタ出力から2サイクル後に遷移し、示される図では、データビット12(任意の付番の)がシフトレジスタのバックエンドにロードされてから半サイクル後に遷移する。したがって、RxBitAdj[i][2:0]の場合、5〜12と付番された8ビットがシフトレジスタフロップ283から並列出力レジスタ285に並列に転送され、これらビットをビット4と5との間および12と13との間のそれぞれに開始ビット境界および終了ビット境界があるパケットとしてフレーム化する。この例を続けると、RxBitAdj=1(001b)である場合、ビット6〜13がパケットにフレーム化され、RxBitAdj=2(010b)である場合、ビット7〜14がパケットにフレーム化され、BitAdj=7(111b)まで以下同様に続き、BitAdj=7の場合、ビット12〜19がパケットにフレーム化される。
引き続き図3Aおよび図3Bを参照すると、コアクロックおよびフレームクロックが、受信クロックとコントローラI/Oクロックとのビット内位相オフセットおよびある整数(0〜7)の受信クロックサイクル分を基本のフレームクロック位相(RCK1a[i])に加算することにより達成されるビット幅オフセットにより、互いに対して任意の位相を有することが分かる。したがって、ドリフト補償非直列化器からコントローラコアへのデータ転送は、クロック領域がフレームクロック領域からコントローラコアクロック領域に渡ることを含む。この転送は、8つのドリフト補償非直列化器のそれぞれ内に存在し得る潜在的に異なるフレームクロック領域によりさらに複雑化する。さらに、メモリコントローラ(または同じクロック生成回路を共有する複数の同じダイまたは別個のダイのメモリコントローラ)が、2つ以上のメモリ装置と通信している場合、データタイミングのばらつきは、単一のメモリ装置の場合の最悪の場合よりも一層大きくなり得る。したがって、ビット内サンプリング位相調整用の位相調整回路およびパケットフレーム化境界制御用のビット位置合わせ回路に加えて、パケット位置合わせ回路が設けられて、コントローラコア領域に同時に転送するために、各データリンクを介して受信したパケットの集合を位置合わせする。すなわち、8つのパケットが、メモリコアからメモリ側I/O回路に位置合わせされて転送されるにも関わらず、様々なデータリンク間の位相差により、パケットがメモリコントローラに時間的に互い違いに到着することになり、したがって、互いに対して(かつコントローラコアクロックMCK1に対して)異なるビットオフセットでパケットがフレーム化されることになり得る。その結果、元々位置合わせされていたパケットのうちの1つまたは複数は、他のパケットよりも先にコアクロック(PCK1)のラッチエッジに対して利用可能になり得、早く到着したパケットの転送を遅らせて、後に到着する(待ち時間のより長い)パケットと位置合わせする機構がない場合、メモリコアから検索された元の複数パケットメモリワード(例えば、この例では8バイト値)の構成パケットを、コントローラコアに転送される際、2つ以上のメモリワードに時間的に散在する(すなわち、構成パケット間のメモリ側タイミング関係が失われる)可能性があることを意味する。したがって、一実施形態では、パケットをコントローラI/O回路からコントローラコアに転送する際に、メモリ−コアパケット位置合わせが維持(または復元)されることを保証する回路。図3Aの実施形態では、例えば、そのようなパケット位置合わせ回路は、フレームクロック(またはFIFOクロックFCK1[i]と呼ばれるフレームクロックを1ビット時間的に進ませたもの)によりロードされ、コントローラコアクロックPCK1によりアンロードされ、最悪の場合のタイミング条件下での最長待ち時間パケットと最短待ち時間パケットとのフレーム化時間間隔に広がる整数のコアクロックサイクルに等しい数のパケットを保持するのに十分な深度のパケット幅の先入れ先出し(FIFO)バッファ287により実施される。
図3Cおよび図3Dは、図3Aのパケット位置合わせ回路287を実施するために使用し得るFIFOに基づくパケット位置合わせ回路290の実施形態および対応するタイミング図を示す。パケット位置合わせ回路290は、4パケット深度バッファ299と、ロード回路291と、アンロード回路301とを含む。ロード回路291は、2ビットロードカウントを出力するモジュロ4ロードカウンタ292(すなわち、インクリメント論理293および2ビットレジスタ294により実施されるカウントシーケンス=0,1,2,3,0,1,・・・)と、パケット調整値RxPktAdj[i][1:0]をロードカウントに加算し、それにより、ロードカウントを0〜3のフレームクロックサイクルだけ進められるようにする(すなわち、実際には、4つの可能な初期カウント値のうちの任意の値にロードカウントを調整できるようにする)2ビット加算器295と、加算器調整されたロードカウントを復号化して、立ち上がりFCK1エッジに応答して入力パケットP[i][7:0]をロードすべき4深度バッファ299内の4つのパケットレジスタのうちの1つを選択する2:4復号器297とを含む。実際には、ロード回路291は、4深度バッファへの「ロードポインタ」の回転を実施して、順番に次々と1つのパケットレジスタを選択し(加算器調整されたカウントが3(11b)から0(00b)にロールオーバーする際に、最後のパケットレジスタから最初のパケットレジスタにラップする)、加算器295は、パケット調整値RxPktAdj[i][1:0]に従って、ポインタを任意の開始パケットレジスタ位置まで進められるようにする。
引き続き図3Cを参照すると、アンロード回路301は、コアクロック信号(PCK1)の立ち上がりエッジに応答して2ビットカウントシーケンスすなわち「アンロードカウント」を生成するモジュロ4アンロードカウンタ302(インクリメント論理303および2ビットレジスタ304により形成される)と、アンロードカウントに応答して4深度バッファの4つのパケットレジスタ出力(SEL0〜SEL3)のうちの1つを次々と選択する4:1マルチプレクサ305とを含む。したがって、ロード回路291は、FCK1に応答して、パケットレジスタをラウンドロビン様式で(すなわち、バッファ299の4つのパケットレジスタを通して順次回転する)ロードし、アンロード回路301は、ロード回路の回転後、PCK1に応答してラウンドロビン様式でパケットレジスタをアンロードする。入力パケット調整値は、ロード回路により実施される回転ポインタを、アンロード回路により実施される回転ポインタよりも、所望の数のPCK1クロックサイクルだけ先行させられるようにする。後述するように、較正動作を実行して、各リンクのFIFOロードとアンロードとの最小待ち時間を決定し、次に、最悪の場合の最小値に合うように各リンクのロードとアンロードとの間の待ち時間を設定することにより、すべてのリンクを位置合わせし得る。
図3Dは、リンクDQ[0]およびDQ[7]上の例示的なタイミングデータタイミングパターンのパケット調整値を調整する効果を示す。より詳細には、コントローラコアクロック(PCK1)を参照として使用して、リンクDQ[0]のFIFOロードクロックが、PCK1サイクルのある割合分だけPCK1を遅延したものであると想定され、リンクDQ[7]のFIFOロードクロックが、おおよそ同じ割合だけPCK1に先行するものと想定される。さらに、説明のために、パケット調整値00、01、10、および11により、パケットレジスタ出力SEL0、SEL1、SEL2、およびSEL3のそれぞれが初期選択されるものと想定される。実際の動作において、ロードカウンタ292を所定の状態に初期化する回路がない場合、パケット調整値は、4つの可能な初期ロードカウンタ状態(00、01、10、11)のうちの任意の状態だけオフセットされた初期パケットレジスタ出力選択をもたらし得る。
データ読み取り動作(または較正データ送信)により、各データリンク上にパケット「i」(「Pkti」)を含む入力パケットシーケンスがもたらされると想定すると、FCK1[0]の遅延位相により、対象パケットが、PCK1の立ち上がりエッジNの後、少ししてから受信され(例えば、コントローラコアが、パケット「i」の返信をもたらした要求または他の送信を発行してからN番目のPCK1サイクルの開始を示す)、パケット調整値RxPktAdj[0][1:0]に従って4つのパケットレジスタ(flop0、flop1、flop2、またはflop3)のうちの1つにロードされることになる。すなわち、パケット調整値が00である場合、パケット「i]はflop0にロードされ(出力SEL0を有する)、4つのFCK1サイクル中、そこに留まる。同様に、パケット調整値が01、10、または11の場合、パケット「i」は、示されるように、flop1(SEL1)、flop2(SEL2)、またはflop3(SEL3)にロードされる。
例のために、アンロードポインタが、PCK1のサンプリング(立ち上がり)エッジNにおいてflop0で点される(すなわち、パケットレジスタ出力SEL0がマルチプレクサ305により選択される)(そして、PCK1エッジN+1、N+2、N+3のそれぞれにおいてflop1、flop2、flop3で点される)と想定し、パケット「i」がflop0にロードされるとさらに想定すると、パケットがPCK1サンプリングエッジNの直後(したがって、flop0がコア領域にアンロードされた直後)にロードされるため、略4つの完全なPCK1サイクルが、FCK1[0]の立ち上がりエッジ0においてパケット「i」をflop0にロードしてから、PCK1の立ち上がりエッジN+4においてパケット「i」をflop0からアンロードするまでに(アンロードはサンプリングインジケータ312で示される)発生しなければならないことが分かる。コア論理の観点から、データを(コア領域に)返す要求/コマンド出力(コア領域からの)からの往復待ち時間に必要なコアクロックサイクル数は、パケット調整値が「01」に設定される場合には、「00」に設定される場合よりも3つ分少ない(すなわち、(N+4)−(N+1)=3)。実際には、本明細書では最小リンク待ち時間と呼ばれるリンク[0]の最小往復待ち時間は、パケット調整=01の場合、N+1クロックサイクルであり、パケット調整値がインクリメントされ、アンロードポインタよりもさらに先にロードポインタをパケットレジスタflop2、flop3、flop0のそれぞれに進めるにつれて、N+2、N+3、N+4と漸増する。
引き続き図3Dを参照すると、FCK1[7]のロードエッジはPCK1のflop0サンプリングエッジの直前に発生するため、リンクDQ[7]の最小リンク待ち時間は「N」回のPCK1サイクルであり、リンクパケット調整値(RxPktAdj[7][1:0])が「00」である場合に発生する。パケット調整値が01、10、11にインクリメントされる際、リンク待ち時間は、N+1、N+2、N+3に対応する数のPCK1サイクルだけ増大する。
図3Dの例示的なタイミング図が実証するように、異なるリンクは異なる最小リンク待ち時間を示し得る。さらにまた、各データリンク上のi番目のパケットは、メモリ装置コアから検索された(または較正動作においてコントローラコアから発行された)同じ複数パケットワードの構成要素であるため、コアクロック信号の同じサンプリングエッジに応答してすべてのi番目のパケットをコントローラコア領域に転送することにより、i番目のパケット間の時間的関係を維持することが重要である。図3Dから分かるように、この「パケット位置合わせ」動作は実際には、個々の最小待ち時間が何であり得るかに関わりなく、すべてのシグナリングリンクのリンク待ち時間を均一にするというものである。
図3Eは、すべてのデータリンクにわたって、本明細書では最小システム待ち時間と呼ばれる均等なリンク待ち時間を確立する一例を提供する。この動作は一般に、特に情報を単方向に搬送するために使用されるいくつかのシグナリングリンク(例えば、コマンド、データマスク)が時折、メモリコントローラに情報を返すために使用される場合、すべてのシグナリングリンクに拡張し得る。
まず、各データリンクのリンク待ち時間(この例では、読み取りデータ待ち時間)が、パケット調整値の各設定について特定される。これは、例えば、各リンク上で、所定のビットパターンを有する(異なるパターンのパケットが先行または後続する)パケットを受信するように構成し、次に、パケットを受信する前に発生するPCK1サイクル数をカウントすることにより達成し得る。一例として、一実施形態(さらに詳細に後述する)では、メモリ装置はデータループバックモードになり、1つのリンク(例えば、奇数リンク)により送信されるデータパケットが、別のリンク(例えば、相手方の偶数リンク)で受信され、したがって、異なる各パケット調整値の往復待ち時間を特定できるように、メモリ側コアインタフェースにおいてデータをループバックする。別の実施形態では、決定性(例えば、前に書き込まれたか、または他の様式で予測可能な)読み取りデータパターンの返信を要求する読み取りコマンドがメモリ装置に発行され、それにより、各リンクおよび各パケット調整値での往復待ち時間(コントローラコアからの読み取りコマンドを出力してから、コントローラコア内で期待されるデータを取得するまで)を特定できるようにする。どのように達成されようとも、各リンクの各パケット調整値での相対リンク待ち時間(この例では、読み取りデータ待ち時間)値(例えば、コアクロックサイクル数)を含め、リンク待ち時間データセットが得られる。図3Eの323において示される例では、リンク待ち時間データは、リンクDQ[0]およびDQ[7]について図3Dに示される例示的なリンク待ち時間を、リンクDQ[1]についての同様のデータと一緒に反映する。示されるように、DQ[1]のリンク待ち時間はリンクDQ[0]のリンク待ち時間に一致するが、異なるパケット調整値(2つのPCK1サイクルだけ回転する)で発生し、少なくとも1つの実施形態では、ロードカウンタおよびアンロードカウンタの初期状態が全くの任意であることを実証する。
図3Eを続けると、コントローラコア内のプロセッサ(または代替として、ホストプロセッサまたは他の上流コントローラ)は、325において、各リンクの最小リンク待ち時間を特定し(この例では、DQ[0]、DQ[1]リンクの場合、N+1 PCK1サイクル、リンク[7]の場合、N PCK1サイクル)、次に、327において、最悪の場合(すなわち、最大)のリンク待ち時間に基づいて最小システム待ち時間を特定し得る。図示の実施形態では、例えば、最小システム待ち時間は、この場合、N+1 PCK1サイクルである、個々のリンク待ち時間のうちの最大の待ち時間として特定される。その後、329において、各リンクのパケット調整値(RxPktAdj[i][1:0])が、最小システム待ち時間に対応する値を使用してプログラムされる(例えば、後述するように、パケット位置合わせカウンタ内で)。したがって、図示の特定の例では、リンクDQ[0]、DQ[1]、およびDQ[7]のパケット調整値のそれぞれは、「01」、「11」、および「01」であるようにプログラムされて、パケット−コア転送を最小システム待ち時間に位置合わせする。特に、DQ[7]にさらに低い待ち時間を設定する(RxPktAdj[7]=「00」)機会があるにも関わらず、そのリンクの動作が実際には、より遅い(より待ち時間の長い)リンクとの位置合わせを達成するために、PCK1サイクルだけ遅延することに留意する。
ドリフト補償非直列化回路および直列化回路内で使用し得る例示的な位相位置合わせ回路、ビット位置合わせ回路、およびパケット位置合わせ回路について説明したが、本明細書において説明される原理から逸脱せずに、多くの代替の回路実施を使用して、説明される結果を達成し得ることに留意されたい。例えば、様々な種類の遅延回路および他の種類の位相シフト回路を使用して、所望の受信クロック位相および送信クロック位相を生成し得る。さらに、ビット位置合わせに関して、図3Aおよび図3Fに示される加算回路(277および345)に代えて、追加のシフトレジスタ段を設けてもよく、マルチプレクサが、シフトパイプライン内の異なる点で出力を選択する(したがって、選択可能なnbit遅延を行う。但し、「n」はトラバースされる追加のシフトレジスタ段の選択可能な数であり、tbitはビット時間間隔である)。同様に、パケット位置合わせに関して、追加の並列レジスタを、マルチプレクサと共に設けて、異なるワード位置合わせを選択できるようにし得る。より一般には、FIFOバッファ構成に代えて、複数のPCK1エッジ(例えば、図3Dに示されるように、N、N+1、N+2、N+3、N+4)から、データを単一のパケットレジスタからコア領域に転送するために、1つを選択するサイクルスキップ回路。
図3Fおよび図3Gは、図2Aに示される任意のドリフト補償直列化を実施するために使用し得るドリフト補償直列化器185の実施形態およびタイミング図を示す。図3Aのドリフト補償非直列化器のように、ドリフト補償直列化器は、パケット位置合わせ、ビット位置合わせ、およびビット内タイミング位相調整を、すべて非直列化とは逆の順序で実行する回路を含む。実際には、ドリフト補償直列化器は、互いに対して各シグナリングリンクのパケット(パケット位置合わせ)、各パケットのビット(ビット位置合わせ)、およびデータレート送信クロック信号のビット内位相をプレスキューして、各リンクのデータ送信を位置合わせし、それにより、相手方のメモリ側受信回路が、すべていかなる位相メモリ側タイミング補償回路も必要とせずに、所望のビット内の時点に各ビットをサンプリングし、メモリコントローラにより意図されるパケットフレーム化に従って各ビット群をパケットにフレーム化し、同じ複数パケットデータワードの部分を形成するすべてのパケットを同期してメモリコア領域に転送できるようにする。したがって、コントローラコアクロック(PCK1)に応答して、パケット位置合わせFIFO371に送信データパケットシーケンス(Tdata[i][7:0]ひいてはこの例では、各8ビットパケット)がロードされ、クロック信号(TCK[i])のバッファ遅延インスタンス(FCK1[i])に応答して並列レジスタ367にアンロードされ(すなわち、パケットがFIFOまたはキューの先頭部から取り出され)、それにより、コントローラコアからの同じ複数パケットワードからのパケットを、必要に応じて異なる時間にコントローラI/O領域にロードして、異なるリンクにわたるコントローラコア−メモリコア伝播時間左を補償できるようにする。並列レジスタ367の内容は、図3Aの非直列化器内でフレームクロック信号RCK1[i]と同じように生成されるデフレームクロック信号TCK1[i]に応答して直列出力シフトレジスタ365にロードされる。すなわち、デフレームクロック信号は、ビットレート送信クロック信号TCK8[i]をモジュロ8カウンタ(レジスタ341およびインクリメント論理343により形成される)内で8で分周し、加算器345において、3ビットのビット調整値をカウンタ出力に加算し、それにより、モジュロ8カウンタの出力を0〜7の範囲の値だけオフセットできるようにし、ひいては、8つの可能なビット境界のうちの任意の境界でデフレーム化を行えるようにすることにより生成される。8サイクルのTCK8[i]毎に1回循環する加算器出力のMSBは、送信クロックの立ち下がりエッジと同期した後、フロップ段351内のTCK8[i]はデフレームクロックTCK1[i]を形成する。デフレームクロックは、立ち下がりTCK8[i]エッジでトリガする一続きの3つのフリップフロップ(353、355、357)を通してシフトされ、最後の2つのフロップ段(357、355)の出力が、ANDゲート359の反転入力および非反転入力に供給されて、デフレームクロックサイクル毎に1回、単一TCK8[i]サイクルロードパルスLD[i]を生成する。ロードパルスは、ロードパルスがハイになった場合、並列レジスタ367の内容が直列シフトレジスタ365にロードされ、半TCK8[i]サイクル後に(立ち下がりエッジでトリガするフロップ段361により)、ビット単位で出力フロップ363内にシフトされ、DQ[i]リンク上に駆動されるように、直列出力シフトレジスタ365内のフロップ段のロード可能な入力に供給される。図3Aの非直列化器と同様に、補間回路364(または他のクロック位相シフタ)が設けられて、送信クロック信号TCK8[8]とコントローラI/OクロックPCK8との間に較正ビット内(またはサイクル内)タイミングオフセットを可能にする。このドリフト追跡位相オフセットを確立し調整するために適用される較正動作について後述する。図3Aのドリフト補償非直列化器を参照して考察したように、いくつかの実施形態では、補間クロックTCK8[i]のグリッチなしの開始および停止が、PCK8[0°]波形およびPCK8[180°]波形の追加の2サイクル遅延した一対のコピーを補間回路364に分配することにより可能であるが、グリッチのない演算を保証するために、代替の技法を使用してもよい。
図3Gは、上述した様々なクロック信号、制御信号、およびデータ信号のタイミング関係を示す。より詳細には、PCK8領域とTCK8[i]領域との任意の位相関係が、所与のデータパケットをデフレーム化して、直列出力ストリーム内の増加的にビットシフトされる位置を送信するためのロードパルスLD[i]のタイミングおよびビット調整信号TxBitAdj[i][2:0]への依存性とともに、334において示される(多位相PCK8クロック信号の0°クロック位相のみが示されることに留意する)。より詳細には、並列レジスタ内のデータパケットは、ビット調整値TxBitAdj[i][2:0]に従って異なるデフレーム間隔で直列出力レジスタに転送され、したがって、出力直列ビットストリーム内でパケット境界をビット幅でシフトさせることができる。すなわち、ビット調整値がゼロ(TxBitAdj[i]=0または000b)である場合、並列レジスタ367内のデータパケットは、ビット19(任意に割り当てられた番号)の送信終了時に直列出力シフトレジスタ365内にロードされて、次に、ビット21〜28として送信される。TxBitAdj[i]=1である場合、パケットは、ビット20の送信終了時に、1ビット時間後に直列出力シフトレジスタ内にロードされ、次に、ビット22〜29として送信される。引き続き、TxBitAdj[i]=2,3,4,・・・,7である場合、並列レジスタからのパケットは、TxBitAdj[i]=0の場合よりも対応するビット時間数後(すなわち、2、3、4、・・・、または7ビット時間後)に、直列出力シフトレジスタ内にロードされ、次に、直列ビットストリーム内のビット23〜30、24〜31、25〜32、・・・、または28〜35として、対応するビット時間数後に送信される。
図3Hは、図3Fのパケット位置合わせ回路371を実施するために使用し得るFIFOに基づくパケット位置合わせ回路380の実施形態を示す。パケット位置合わせ回路は一般に、図3C〜図3Eを参照して説明したようにではなるが、逆方向で動作し、実際には、必要に応じて伴うパケット(すなわち、同じ出力データワードまたはコマンドワードに属するパケット)間に位置合わせずれを確立して、メモリ側コアへの位置合わせされた転送を保証する。したがって、パケット位置合わせ回路380は、パケットレジスタflop0〜flop3(図3Hではそれぞれの出力SEL0〜SEL3で示される)を有する4深度FIFOバッファ351ならびにFIFOバッファのロードおよびアンロードを行うためのロード回路381(またはロードポインタ)およびアンロード回路383(またはアンロードポインタ)を含む。図示の実施形態では、ロード回路381は、一般に図3Cのロードポインタ291の対応する要素と同じに機能するが、FCK1[i]に代えてPCK1によりクロック制御されるモジュロ4カウンタ384(インクリメント論理385およびレジスタ386により形成される)ならびに2:4復号器(387)を含む。アンロード回路383は、一般に図3Cのアンロードポインタ301の対応する構成要素を参照して説明したように機能するが、PCK1に代えてFCK1[i]によりクロック制御されるモジュロ4カウンタ390(インクリメント論理391およびレジスタ392により形成される)ならびに4:1マルチプレクサ395を含むと共に、0、1、2、または3(0〜3)FCK1サンプリングエッジだけロードシーケンスを進められるようにする2ビット加算器393を含む。この構成により、FIFOバッファ382のパケットレジスタは、PCK1の後続エッジに応答して循環する順番でロードし、FCK1[i]の後続エッジに応答して循環する順番でアンロードされ、ロード−アンロード待ち時間は、モジュロ4アンロードカウンタ390の出力に加算されるTxPktAdj[i][1:0]を介して調整可能である。したがって、前に較正されたドリフト補償非直列化器を介して送信データを検索することにより(例えば、ループバックまたはライト・リードバックを介して)、送信パケット調整値の各設定に対応する待ち時間値を、各シグナリングリンクに決定し得、最小リンク待ち時間を確認し、コントローラ−メモリシグナリングのシステムリンク待ち時間を確立するために使用し得る。その後、システムリンク待ち時間値を使用して、直列化器およびメモリ側コアクロック領域への転送時に均一な位置合わせを保証するように、各シグナリングリンクの送信パケット調整値をプログラムするか、または他の様式で確立し得る。
図4Aおよび図4Bは、図2Aのメモリ装置内の任意の非直列化回路および直列化回路を実施するために使用し得る非直列化回路400および直列化回路415のそれぞれの実施形態を示す。示されるように、コアメモリクロックMCK1は、調整なしでパケットフレームクロックおよびデフレームクロックとして使用することができ、他の位相調整回路またはビット調整回路を設ける必要はない。MCK4信号はデータレートの半分で発振するため、MCK4の立ち上がりエッジおよび立ち下がりエッジ(またはMCK4の立ち上がりエッジおよび相補的なクロック/MCK4の立ち下がりエッジ(またはこの逆))を両方とも使用して、メモリ側直列化回路および非直列化回路内のデータ送受信のタイミングをとることができ、それにより、データレートタイミングを行うことができる。
図4Aの例示的な非直列化器400実施形態では、入力データ信号(書き込みデータ、コマンド/アドレス情報、較正情報等を運び得る)は、メモリ側I/OクロックMCK4の立ち上がりエッジおよび立ち下がりエッジのそれぞれに応答して、偶数データフロップ401および奇数データフロップ403に交互にクロック制御される。その後、偶数データフロップおよび奇数データフロップ内で捕捉されたデータは一緒に、偶数データシフトレジスタ402および奇数データシフトレジスタ404内にシフトされ、各シフトレジスタは、この8ビットパケット例では、4つのフロップ段を有する。4サイクルのMCK4信号毎に1回、偶数および奇数のシフトレジスタに完全なデータパケットがロードされた後、MCK1の立ち上がりエッジを使用して、並列出力パケットレジスタ405内でデータパケット(シフトレジスタ402、404の出力において並列で利用可能)をラッチし、したがって、受信データRdata[i][7:0](例えば、書き込みデータ、較正データ、構成データ、コマンド/アドレス情報、データマスク情報等)として、メモリコア領域インタフェースへのパケットの転送を行う。
図4Bの例示的な直列化器415では、8ビット送信データパケットTdata[i][7:0]が、MCK1サイクル毎に1回生成されるロードパルス430に応答して、4段2ビット幅シフトレジスタ416(パケットの偶数ビットおよび奇数ビットのそれぞれの一対の単一ビットシフトレジスタとして見ることができる)内に並列ロードされる。その後、シフトレジスタの先頭部(すなわち、フロップ段R01)にある2ビットが、所与のMCK4サイクルの低位相および高位相のそれぞれで出力ドライバに適用され(ひいては、リンクDQ[i]に駆動され)、それから、次のビット対が、後続するMCK4サイクルでの送信のために転送される。示されるように、MCK4サイクルの高位相中に出力のためにビット保持時間が提供されることを保証するために、フリップフロップ421が設けられ、フリップフロップ421がなくとも十分な保持時間が提供される場合、フリップフロップ421を省き得る。
ロードパルス430は、任意の数の方法で生成し得るが、示される実施形態では、フロップ423およびANDゲート425により生成される。より詳細には、ANDゲート425は、反転入力においてフロップ423の出力を受信し、非反転入力においてMCK1を受信し、したがって、コアクロックMCK1の各立ち上がりエッジに従ってMCK4の第1のサイクルに及ぶパルスを生成する。ANDゲート425からのパルスは、フロップ427にバッファリングされ、立ち下がりMCK4エッジによりトリガされるフロップ429にMCK4半サイクル分遅れてタイミング再取得して、ロードパルス430をもたらす前に、十分な保持時間を保証する。ロードパルス自体は、マルチプレクサ段M01、M23、およびM45に供給され、それにより、シフトレジスタの構成要素レジスタR01、R23、およびR45に、直列化すべきパケットの構成ビットを(すなわち、ビット0、1をR01に、ビット2、3をR23に、ビット4、5をR45に)並列ロードすることができ、その一方で、パケットのビット6、7は入力段レジスタR67に同時にロードされる。
代替の実施形態では、図4Aおよび図4Bの直列化回路および非直列化回路内で、様々な実施詳細を変更し得る。例えば、データレートクロック(示される例では、半ビットレートクロック)を使用してシフトレジスタをクロック制御して、8:1直列化を達成することに代えて、一続きの2:1マルチプレクサおよびフリップフロップ段を設け、連続した段において、MCK1のハイおよびロー位相に応答して8ビットパケットのうちの4ビット部分を交互に選択し(段1)、MCK4を2分周したもののハイおよびロー位相に応答して各4ビット部分のうちの2ビット部分を交互に選択し(段2)、出力段においてMCK4のハイおよびロー位相に応答して各2ビット部分のうちの1ビットを交互に選択し得る。同様の構成を利用して、入力段において個々のビットを結合してパケットの2ビット部分にし、第2の段においてビット対を結合してパケットの4ビット部分にし、次に、第3の段においてパケットの4ビット部分を結合して、1:8非直列化を実行し得る。メモリコントローラ内のドリフト補償直列化器および非直列化器も同様に、データレートクロックによりクロック制御されるシフトレジスタではなく、連続した2:1多重化(または逆多重化)段を使用して実施し得る。その場合、ビット調整は、オフセット値を周波数分周されたローカルクロックに加算することにより行い得る。
較正
図2Aのメモリシステムでは、ドリフト補償非直列化器および直列化器のそれぞれ内のクロック位相回路、ビット位置合わせ回路、およびパケット位置合わせ回路の較正は、較正中のシグナリングリンクを介して送信されるデータに基づいて実行される。一実施形態では、初期較正動作が実行されて、ドリフト補償非直列化器内での確実な動作、次にドリフト補償直列化器内での確実な動作を確立し、その後、周期的(または時折の)タイミング較正動作が、メモリ側タイミングドリフト(より一般には、システム全体のタイミングドリフト)を追跡するのに十分な頻度で実行されて、較正設定を付加的に調整する。一実施形態では、例えば、図3Aに示されるドリフト補償非直列化回路(および、例えば図4Bに示される相手方のメモリ側直列化回路)が、その他の点では単方向的なリンク(例えば、制御/アドレスおよびデータマスク)のそれぞれに設けられ、それにより、同一の較正手順を各シグナリングリンクに対して実行することができる。代替の実施形態では、メモリ装置からメモリコントローラへの別の返送パス(例えば、側波帯リンク)を使用して、単方向コントローラ−メモリリンクを較正し得る。その場合、単方向リンクを介してコントローラから送信されるデータは、メモリコントローラに送信するための代替の返送パスに切り替え可能にルーティングし得、それにより、メモリコントローラが、元々送信されたデータがメモリ装置により適宜受信されたか否かを判断することができる。
各ドリフト補償非直列化および直列化の初期較正に関する一般的な手法では、まず受信/送信クロック位相を較正し(RxPhAdj[i]およびTxPhAdj[i]を調整し)、その後ビット位置合わせ(RxBitAdj[i]およびTxBitAdj[i])、そして次にパケット位置合わせ(RxPktAdj、TxPktAdj[i])が続けられる。図5Aは、例えば、データリンクDQ0およびDQ1のドリフト補償非直列化器内の受信クロックを較正する(それにより、確実なメモリ−コントローラシグナリングを保証する)様式を示すが、同じ手順をすべてのシグナリングリンクに対して同時に実行されることを理解されたい。較正サポート回路として、メモリコントローラは、各シグナリングリンクにデータ選択(多重化)回路および照合回路を含むと共に、ビット内位相調整、ビット位置合わせ、およびワード位置合わせのための較正データパターンソースを含む。メモリ装置も、データ選択回路および較正データソースを含むと共に、対になったリンク間にループバック相互接続を含み、1つのシグナリングリンクを介して受信されたデータを、対になった相手方のリンクを介してメモリコントローラに返送できるようにする。
図5Aを続けると、メモリコントローラは、側波帯リンク(例えば、図2Aに示される側波帯リンクSL)を介して較正コマンドをメモリ装置に発行し、データセレクタ(マルチプレクサ)477eおよび477oを介して、DQ[0]およびDQ[1]シグナリングリンクのそれぞれを介してメモリコントローラに送信すべき較正データソースとして、較正データソース471からパターンセットAを選択する。偶数番号リンクDQ[0]の較正データパス全体は、内部データ較正データパス472からマルチプレクサ477eおよび473eを通りメモリ側直列化器235eへの陰影の付いたデータフローで示される。結果として生成される直列ビットストリームは、1.6GHzのメモリI/Oクロックのレートの2倍で発生し、したがって、3.2Gb/s送信を各差動リンク上にもたらす差動メモリI/Oクロック(MCK4)の立ち上がりエッジおよび立ち下がりエッジに応答して送信される。メモリコントローラに到着すると、ビットシーケンスは位相選択非直列化器192eおよびビット/パケット位置合わせ回路194eに提供され、これら回路において、受信クロックRCK8[i]およびフレームクロック信号RCK1[i]の初期位相(例えば、RxPhAdj[i]=000000b、RxBitAdj[i]=000b)に応答してサンプリングされ非直列化(パケットにフレーム化)され、初期パケット調整値(RxPktAdj[i]=00b)に従ってパケット位置合わせされる。一実施形態では、パターンセットAを形成するデータシーケンスは、受信データを照合回路453eに提供して、受信データが期待されるシーケンスに一致するか否かを判断し得るように、所定のものであるか、または少なくとも予測可能なものである(例えば、決定論的に生成される)。一実施態様では、この評価は、ビットシーケンスのみに対して実行され、したがって、一致/不一致の判断は、個々のビットが誤差なくサンプリングされるかのみに依存し、いかなるビットまたはパケットの位置合わせずれも考慮しない。較正データは、並列較正パスを通して奇数番号および偶数番号のシグナリングリンク内で同時に流れる。したがって、示される奇数番号のリンク(DQ[1])の較正データは、奇数番号リンクのI/O回路および較正サポート回路(477o、473o、235o、192o、194o)を通って伝播して、照合回路453oに到着する。
図5Bは、様々なデータ選択パスに関する詳細のない、図5Aのビット内クロック位相構成の特定の実施形態を示す。示されるように、疑似乱数ビットシーケンス(PRBS)回路501は、パターンセットAとして、決定論的なビットパターンを生成し、このビットパターンは直列化されて(235)、シグナリングリンク(DQ[i])を介して送信され、ドリフト補償非直列化器186内で受信される。照合回路453内の状態機械505(またはビットシーケンサまたは他の制御論理)はまず、メモリ側PRBS回路501と同じ(すなわち、同じPRBS多項式を計算する)ように実装されるコントローラ側PRBS回路503に対するシードイネーブル信号(「Seed」)をアサートし、それにより、メモリ側およびコントローラ側のPRBS回路を同期させることができる。入力データシーケンスが、初期受信クロック位相により適宜サンプリングされる場合、コントローラ側PRBS回路の出力は、シーディング(すなわち、PRBSレジスタチェイン内にシフトした)後、コントローラ側PRBS入力に見られるメモリ側PRBSの出力を照合する。したがって、データ受信に誤差がない場合、状態機械はシード信号をデアサートし、新しくシーディングされたコントローラ側PRBS出力が引き続き、パターンセットAに対応する受信データシーケンスとビット毎に照合される。この構成により、状態機械505は、コントローラ側PRBS出力が送信されたデータシーケンスに一致するか否かに従って、初期受信クロック位相(例えば、RxPhAdj[i]=000000bにより選択される)のパス/フェイル状態を評価し得る。その後、受信クロック位相を進め(例えば、増加的に、または二分もしくは他の探索パターンに従って)、新しいクロック位相での適切なデータ受信を再テストし得る。データアイの両端またはあるデータアイが閉じ、続くデータアイが開く箇所にパス−フェイル境界(すなわち、パステスト結果およびフェイルテスト結果をもたらす隣接するクロック位相)を決定することにより、最終的なクロック位相は、様々なパスクロック位相の中から、例えば、2つのパス−フェイル境界のメジアンまたは境界のうちの1つから、アイ幅に従って潜在的に選択される特定のオフセットにあるクロック位相として選択し得る。図5Cはこの手法を実証し、例示的な位相選択回路(すなわち、6つのクロック位相のうちの2つを選択するために3ビット、選択されたクロック位相対を補間するために3ビット)により選択された48個のクロック位相の例示的な関係と、データアイシュムー(すなわち、互いに重ねられた連続したデータアイプロット)に相対するパス−フェイル境界とを示す。図示の例では、位相調整設定0〜10および38〜47のクロック位相はフェイルであり、位相調整設定11〜37はパスである。したがって、最終的な受信クロック位相は、パス/フェイル境界の平均またはメジアンとして、この場合、位相調整値24((10+38)/2、または(11+37)/2)として選択し得る。あるいは、パス−フェイル境界の差を、単位間隔の尺度として使用し((37−11)×7.5°=202.5°)、したがって、本明細書では半UIオフセットと呼ばれることがある(しかし、必ずしも厳密には単位間隔の半分である必要はない)限られた数のエッジ−中心オフセットを選択するために使用してもよい。この手法では、パス/フェイル境界に位置合わせされたクロック位相と較正されたサンプリング点(公称データアイ中間点)に位置合わせされたクロック位相とを高速で切り替えることができる。そのような「位相跳躍」は、周期的タイミング較正動作を加速化するために特に有用である。例えば、後述する一実施形態では、周期的タイミング較正は、受信クロック位相からパス−フェイル境界クロック位相(「境界位相」)に位相跳躍させて、パス−フェイル境界が最後のタイミング較正動作からドリフトしたか否かを判断することにより実行される。ドリフトした場合、境界位相はドリフトの方向にインクリメントまたはデクリメントされる。境界位相を更新した後、更新された境界位相に対して一定の位相跳躍が実行されて、それに対応して受信クロック位相が更新(インクリメントまたはデクリメントされた)され、受信クロック位相に対する周期的タイミング較正を完了する。
一実施形態では、周期的タイミング較正は、メモリ側保守動作(例えば、DRAMリフレッシュ)の背後に隠されるか、または潜在的に短いアイドル間隔中に実行され、したがって、パス−フェイル境界のドリフトを検出できるようにする比較的短いテストパターンの送信を含む。短いテストパターンが含むのは、よりランダムなデータシーケンスに存在する(より長い疑似乱数ビットシーケンスで表されるような)限られた数のスペクトル成分のみであり得るため、初期較正中よりも周期的タイミング較正(PTC)中はより開かれたデータアイ(異なるパス/フェイル境界を有する)を認め得る。一実施形態では、PTCパス−フェイル境界は、受信クロックの初期較正後に特定されて、ドリフトの検出に使用し得る(例えば、境界位相を再テストすることにより)。PTC境界クロック位相は、ドリフトに応答してインクリメントおよびデクリメントされるため、それに対応して、受信クロック位相もインクリメントおよびデクリメントされ、それにより、PTCフェイル境界に対して受信クロック位相を一定のオフセットに維持し、システムドリフトを補償する。この動作は、図5Dにおいて概念的に示され、図5Dは、スペクトルがより完全な初期較正テストパターンから生じるより小さなデータアイに重ねられた、スペクトル制限されたPCTテストパターンから生じるより大きなデータアイと、PTC境界位相と受信クロック位相とのオフセットとを示す。送信クロック較正に続き、同様の動作を実行して(後述)、送信クロック位相をより細かく調整すると共に、周期的送信タイミング較正中にロックステップでクロック位相をインクリメントおよびデクリメントして、PTC境界位相を決定し得る。
図6Aおよび図6Bは、ドリフト補償非直列化較正の例示的なビット位置合わせ(またはパケットフレーム化)段階を示す。受信クロック較正と同様に、ビット位置合わせ動作は、所定の較正データパターン、この場合では、所定のビット位置に単一の「1」ビットを有する8ビットパケットにより形成されるフレーム化パターンであるパターンセットBの出力を開始する、メモリコントローラからメモリ装置への側波帯コマンドで開始される。データ送信パスは本質的に、図5Aと同じである(メモリ側マルチプレクサ段、直列化器、データリンク、コントローラ側非直列化器、およびビット/パケット位置合わせ回路を通り、照合回路453に辿り付くグレーの輪郭で示される)が、各リンクの照合回路の出力は、図5Aの受信クロック構成動作での補間クロック位相に代えて、ビット/パケット位置合わせ回路に送信されるビット位置合わせ値(RxBitAdj[i])を調整する。図6Bは、例えば、照合回路453内の状態機械505により実行される全体的なビット位置合わせ動作を示す。示されるように、状態機械は、初期フレーム値(例えば、BitAdj=000)において入力パケットを評価して、論理「1」ビットがパケット内の意図されるビット位置に現れるか否かを判断する。現れない場合、状態機械は、実際の論理「1」ビット位置と所望の「1」ビット位置とのビットオフセットを特定し、それに従ってビット調整値を調整する。図6Bに示されるビット位置合わせずれ(またはパケットフレーム化誤差)の2つの例のうちの最初の例では、論理「1」ビットは、元々送信されたビット位置ゼロ(1000 0000b)ではなくビット位置7(0000 0001b)にフレーム化される。その場合、有限状態機械は、1ビットのビット変位を特定し、それに従ってビット調整値をRxBitAdj[i]=001bに設定し、それにより、入力ビットシーケンス内での論理「1」の1ビット右シフト(またはフレーム化境界の1ビット左シフト)を実行して、論理「1」ビットを正しいビット位置(ビット位置ゼロ)に位置決めし、それにより意図されるパケット−パケットフレーム化を確立する。2つの位置合わせずれの例のうちの第2の例では、論理「1」はビット位置2に現れるため、6というビット調整(RxBitAdj[i]=110)が適用されて、意図されるパケットフレーム化境界にする。
引き続き図6Bおよび図3Aを参照すると、ビット位置合わせが、必要なビットシフトに応じて(受信クロックの所望の位相を確立するために使用される位相遅延と併せて)、所与のパケットを、異なる時間に(すなわち、コアクロック信号の異なるエッジに応答して)異なるコアクロック領域に転送可能な状態にするように、コアクロック領域に対してフレームクロックを遅延させることにより実行されることが分かる。したがって、メモリコアから検索された同じマルチパケット値の部分をなすパケットが、位置合されずに、異なるコアクロックサイクルに応答してコア領域に転送される恐れがある。この結果を回避するために、図6Cに示されるパケット位置合わせ動作が実行されて、様々なリンクのパケット位置合わせ回路に適用された場合、メモリコアから検索された元のマルチパケット値の部分をなすパケットを、コントローラコアクロック領域に同時に転送するために位置合わせするパケット待ち時間値が決定される。位相位置合わせおよびビット位置合わせと同様に、パケット位置合わせ較正は、4パケットの各シーケンスの区別を可能にする較正データソース(パターンセットC)を選択する、メモリコントローラからメモリ装置へのコマンドで開始される。例えば、一実施形態では、パターンセットCは、1つまたは複数の「1」ビットを有するパケット(「P1」)の後に3つのゼロ値パケット(「P0」)が続く4パケットシーケンスである。したがって、状態機械505は、例えば、その他のリンクの同様の信号を受信し、最も待ち時間が長いリンクの待ち時間に相対するローカルパケット待ち時間を示す「相対待ち時間」値を返す論理回路に論理パケット待ち時間を出力することにより、他のリンクの待ち時間に相対するP1パケット受信の待ち時間を特定し得る。状態機械505は、これに応答して、相対待ち時間指示に従ってI/O−コアパケット転送時間を遅延させ、それにより、P1パケットがすべてのリンクでコア領域に同時に(すなわち、同じPCK1エッジに応答して)転送されるように、最も待ち時間が長いリンクのP1転送時間を合わせる。
ドリフト補償非直列化器内の受信クロック位相、ビット位置合わせ、およびパケット位置合わせを較正した後、同様の動作を実行して、ドリフト補償直列化器内の送信クロック位相、ビット位置合わせ、およびパケット位置合わせが較正される。一般に、これら動作は、較正データをメモリコントローラから較正中のドリフト補償直列化器を介してメモリ装置に送信し、次に、先に較正されたドリフト補償非直列化器を介してメモリ装置から送信された較正データを受信することにより実行される。より詳細には、一実施形態では、データループバックパスが、メモリ装置内に設けられて、メモリコアに負荷を掛けずに、メモリコントローラにより送信された較正データをメモリコントローラに戻せるようにする。この構成は、較正データの返送を加速化し、タイミング較正動作を部分的または完全にメモリコア内のメモリリフレッシュまたは他のオーバーヘッド動作の背後に隠せる(すなわち、並行に実行できる)ようにする。代替の実施形態では、書き込みおよびリードバック動作を使用して、データリンクの完全ループテストを確立し得る(したがって、ループバックパスの必要性がなくなる)が、そのような構成は、一般に、書き込みおよび読み取り動作の開始が可能になるには、その前にコマンドパスを動作可能する必要があるという点で全体較正手順を複雑にする。データパス較正前に信頼性の高いコマンドパスシグナリングを確立することが可能であるが(例えば、側波帯リンクを介して調整される較正動作:コマンドパスを介してコマンドを送信し、コマンドが適宜受信されたか否かを評価することを通して)、この複雑性は、ループバック手法を通して回避される。
図7A、図7B、および図8A〜図8Cは、メモリ装置内の各シグナリングリンク対間にクロス結合されたループバックパスに頼る例示的な直列化較正手順を示す。一般に、直列化較正手順は非直列化較正と同じ順番を辿り、クロック位相調整で開始され、ビット位置合わせ(パケットフレーム化)が続き、そして最後にリンク間パケット位置合わせが続く。
図7Aは、ドリフト補償非直列化器内の送信クロック位相の較正中の較正データフローを示す。まず、較正データソースが、マルチプレクサ451eを介して選択され、初期パケット位置合わせ値、ビット位置合わせ値、および送信位相値(例えば、すべての値はゼロ)を使用してドリフト補償直列化器(191e、193e)内で直列化される。データは、偶数番号のシグナリングリンク(この例ではDQ[0])を介して搬送され、相手方のメモリ側非直列化器236e内で受信されパケット化され、次に、ループバックパス240およびマルチプレクサ473oを介して、偶数/奇数リンク対のうちの相手方リンク(すなわち、DQ[1])のデータ送信回路および直列化器にルーティングされる。続けて、データは、奇数番号のリンクの先に較正されたドリフト補償非直列化器(192o、194o)内で受信され、照合回路453oに提供され、次に照合回路453oは、テスト中の送信クロック位相のパス−フェイル判定を行う。図7Bは、ソースから宛先までの較正データの全体の流れを示す。より詳細には、図示の例では、較正データシーケンスは、コントローラ側PRBS生成器571により発信され、テスト中の送信位相調整設定(TxRhAdj[i])を使用してメモリ装置に送信される。メモリ装置で受信されると、較正データシーケンスは、切り替え可能に形成されたループバックパス(572)を通してメモリコントローラにループバックされ、メモリコントローラ内で受信され、次に、コントローラ側PRBSチェッカ回路503に送信される。図示の特定の実施形態では、送信較正および受信較正中に、同じPRBSチェッカ回路503が利用されるが、代替の実施形態では、別個の(または少なくとも異なるように構成された)チェッカ回路を使用してもよい。メモリ−コントローラ転送は先に較正されているため、テスト中の送信クロック位相のパスまたはフェイルの結果は、コントローラ側送信クロックと未補償メモリ側受信回路クロック信号との位相位置合わせが不適切であることが原因であると想定し得る。したがって、線形(または二分探索または他の探索)シーケンスを通して送信クロック位相をインクリメントすることにより、送信クロック位相のパス−フェイル境界を識別し、対応する送信クロック位相を、それら境界の中間点として、または境界のうちの一方からの所定のオフセットとして選択し得る(例えば、パス−フェイル境界間のクロック位相の範囲に基づいて)。偶数番号シグナリングリンクのそれぞれの送信クロック位相が完了した後、メモリコントローラは、側波帯リンクを介して、多重化構成を切り替えるコマンドを発行して、奇数番号のシグナリングリンクにより送信されたデータを、偶数番号のシグナリングリンク(すなわち、ループバックパス242およびマルチプレクサ473eを含む)を介してループバックできるようにし、偶数番号のシグナリングリンク内の照合回路が奇数リンク送信クロックの位相を調整できるようにする。
偶数および奇数の送信クロック位相が較正された後、メモリコントローラは、ドリフト補償非直列化器に実行される動作に対応するビット位置合わせ動作およびパケット位置合わせ動作への準備として、偶数リンク非直列化器236eと奇数リンク直列化器235oとの間にメモリ側ループバックパスを再確立する別の側波帯リンクコマンドを発行する。この構成は図8A、図8B、および図8Cに示され、全体のデータフローパス(図8A)ならびに偶数ループシグナリングパス内のビット/パケット位置合わせ回路に提供されるビット位置合わせ信号(図8B)およびパケット位置合わせ信号(図8C)を示す。偶数番号のシグナリングリンク内のビット/パケット位置合わせが完了した後、メモリ装置データマルチプレクサは再び切り替えられて(例えば、メモリコントローラからの側波帯リンクコマンドに応答して)、奇数番号のシグナリングリンク内のビット/パケット位置合わせを較正できるようにする。
周期的タイミング較正
初期タイミング較正作業において、ドリフト補償直列化/非直列化回路に対して位相、ビットおよびパケットの位置合わせ動作が完了した後、メモリ装置とメモリコントローラとの間での完全なデータレートデータ転送を使用して、アクティブメモリ動作を開始し得る。上述したように、メモリ装置内にドリフト補償回路がないことは、初期位相較正が、温度および電圧(または他の環境要因)の変化に応答して所望の位置合わせから比較的高速にドリフトするため、比較的頻繁な補正を必要とすることを意味する。この補正を提供するために、周期的または時折のタイミング較正動作が実行される。
図9Aおよび図9Bは、ドリフト補償直列化器およびドリフト補償非直列化器のそれぞれを周期的に較正するために使用される例示的な動作シーケンスを示す。まず図9Aを参照すると、較正データを送信する前に、メモリコントローラは、ここでは較正されているコマンドパスを介してループバックイネーブルコマンドを発行して、偶数から奇数の番号のシグナリングリンクへのループバックフローを確立すると共に、クロック選択信号(EdgeClkSel)に応答して送信クロックの位相をシフトさせて、パス/フェイル境界に関して記録されたパスクロック位相に一致させる。この時点で、メモリコントローラは、境界位相送信クロック信号に応答して、パターンソースFから選択されたデータ、すなわち、限られた回数だけ送信し得る予測可能または所定の値のシーケンスを送信する。パターンソースは、メモリ装置の相手方の非直列化器内で受信され、テスト中のリンク対のうちの偶数リンクの直列化器にループバックされ(すべてのリンク対で同時に行われる)、次に、メモリコントローラに返送され、ドリフト補償非直列化器内で受信され(前に較正された受信クロック位相を使用して)、照合回路473oに供給されて、期待値と比較される。パターンの不一致がこの時点で検出される場合、メモリコントローラは、パス/フェイル境界がパス/フェイル境界のパス位相の方向にドリフトしたと推測し、したがって、パス/フェイル境界値に記録されたクロック位相を、位相ドリフトを辿る方向にインクリメントする。その後、この時点でシフトされているパス/フェイル境界に対して所定のオフセットだけ位相跳躍することにより、送信クロック位相のインクリメント(調整)が行われ、ドリフトを補償する。パス/フェイル境界の前に確認されたパス位相について、パターン一致が検出される場合、前に確認されたフェイル位相をテストして(デクリメントされた境界位相を使用してデータパターンFの送信を繰り返す)、コントローラ−メモリ位相が逆方向にドリフトしたか否かが判断される。フェイル位相がここではパスした場合、フェイル境界方向へのドリフトが推測され、パス/フェイル境界に記録されたクロック位相は、位相ドリフトを辿るようにデクリメントされる。その後、この時点でデクリメントされているパス/フェイル境界に対して所定のオフセットだけ位相跳躍することにより、送信クロック位相のデクリメント(調整)が行われ、ドリフトが補償される。パス境界位相においてパターン一致が検出され、フェイル境界位相でパターン不一致が検出される場合、パス/フェイル境界は、最後の較正動作からドリフトしなかったものとみなされ、したがって、パス/フェイル境界または送信クロック位相の位相調整値の変更は記録されない。
上述した較正手法では、各較正更新での位相のインクリメント、デクリメント、または現状維持が可能であるが、代替の実施形態では、各較正動作は、較正中のクロック位相をデクリメントまたはインクリメントし得(現状維持状態なし)、したがって、制御回路(例えば、状態機械)の実装がより単純であるという恩恵の代償として、いくらかのクロックディザリングを潜在的に受ける。そのような実施形態では、いくつかの較正動作の結果を蓄積してから適用して、優勢投票に従って位相更新を決定し得る。いずれの場合でも、境界とサンプリングクロック位相との間で行う必要がある位相跳躍は1回のみである。
コントローラ側送信クロック位相の周期的タイミング較正が、偶数番号のシグナリングリンクに対して完了した後、メモリコントローラは、CAリンクを介して較正コマンドを発行して、データ多重化方向を逆にし、同じ較正動作が偶数番号のリンクに対して実行される。
偶数リンクおよび奇数リンクの送信クロック位相に対して周期的タイミング較正動作を完了した後、対応する周期的タイミング較正動作が、図9Bに示されるように実行されて、偶数リンクおよび奇数リンクの受信クロック位相が調整される。一実施形態では、受信クロック構成は、送信クロック位相調整の直後に続けられるため、奇数リンク非直列化器から偶数リンク直列化器へのメモリ側ループバックパスはすでに確立されている。メモリ側ループバックパスがまだ確立されていない場合、メモリコントローラは、コマンドパスを介してコマンドを発行して、ループバックパスを確立する。いずれの場合でも、奇数から偶数へのループバックパスが確立された後、メモリコントローラは、奇数番号のシグナリングリンクを介して(すなわち、マルチプレクサ451o、パケット/ビット位置合わせ回路193o、および位相シフト直列化器191oを介して)パターンFデータ(または他の周期的タイミング較正データ)の送信を開始し、偶数リンク非直列化器を介してループバックされたデータを受信する。送信クロックと同様に、受信クロック位相は、周期的タイミング較正中に、前に記録されたパス/フェイル境界に対してオフセットされて、パス/フェイル境界が移動したか否か、移動した場合はどの方向に移動したかが判断される。すなわち、パス境界位相がやはりパス結果をもたらすが、フェイル境界位相がこの場合にはフェイル結果に代えてパス結果をもたらす場合、パス−フェイル境界のビット調整値は、フェイル境界位相の方向にシフトされて位相ドリフトを打ち消し、この時点でシフトされているパス/フェイル境界と受信クロックとの位相オフセットが一定に維持されるため、受信クロック位相に対応するシフトをもたらす。パス−フェイル位相がフェイル結果をもたらす場合、パス−フェイル境界のビット調整値は、パス境界位相の方向にシフトされ、受信クロック位相に同様のシフトをもたらし、位相ドリフトを打ち消す。パス/フェイル境界に移動がない場合、受信クロック位相は変更されないまま残される。送信クロック位相に関して考察したように、代替の実施形態では、受信クロック位相を各更新でインクリメントまたはデクリメントし得る(すなわち、現状維持状態なし)。周期的タイミング較正が、偶数番号リンクの受信クロックに対して完了した後、メモリコントローラは、メモリ装置にコマンドを発行して、データループバック接続を逆にし(それにより、偶数番号シグナリングリンクにより送信されるデータを、奇数番号シグナリンクを介してループバックできるようにし)、それにより、同じ周期的タイミング較正シーケンスを奇数番号リンクの受信クロックに対して実行できるようにする。
引き続き図9Aおよび図9Bを参照すると、代替の実施形態では、送信タイミング較正にループバック構成を使用する代わりに、メモリ書き込みおよびリードバック動作(コア記憶装置アレイではなく所定のレジスタを対象とした動作を含む)を実行して、送信クロック位相の周期的較正(調整)を行ってもよい。同様に、メモリ読み取り動作および/またはメモリ−コントローラパターン送信(すなわち、図6Aを参照して上述したような)を使用して、受信クロック位相を周期的に較正(調整)し得る。そのような実施形態では、ループバック回路を部分的または全体的に省き、様々なリンク対の偶数および奇数番号リンクを逐次較正するのではなく、すべてのリンクを潜在的に同時に較正し得る。いずれの場合でも、リンク単位のドリフト補償が可能な同じ位相、ビット、およびパケット位置合わせ値を、上述したようにコントローラ側較正回路内に保持し得る。
一実施形態では、コントローラ側較正回路により保持されるビット調整値は、アップ/ダウン位置合わせカウンタ内に保持されて、位相調整値のオーバーフロー(またはアンダーフロー)をビット調整値に持ち越せる(またはビット調整値から借用できる)ようにし、同様に、ビット調整値のオーバーフロー/アンダーフローをパケット調整値に持ち越せる(またはパケット調整値から借用できる)ようにする。この構成は、図3Aおよび図3Cを参照して説明された6ビット位相調整回路に対応する位置合わせカウンタ実施形態(551)において図10Aに示される。すなわち、64個の可能な位相調整値のうちの48個のみが使用されるため(すなわち、位相調整ビットの上位3ビットが、6個の可能なクロック位相対のうちの1つを選択するために使用されるため、2つの位相選択値が使用されないままになり、したがって、合計で16個の位相調整値が使用されないままになる)、位相調整フィールド553に対してモジュロ48カウント(すなわち、47から0へのインクリメントおよび0から47へのデクリメント)を行う回路が、位相カウンタ内に設けられる。したがって、47という位相調整値がインクリメントされる場合、結果として生じるロールオーバーにより、ビット調整フィールド555に持ち越され、実際に、クロックの位相を所与のビット時間内の最も待ち時間の長いエッジからより待ち時間の長いビット時間内の最も待ち時間の短い(最も進められた)エッジに進める。同様に、位相を、位相調整フィールドが最大カウント(47)に達し、ビット調整フィールドも最大カウント(7)に達した点に進めた場合、クロックエッジ内の続くインクリメントはパケット境界を越え、位相調整値およびビット調整値は効率的にゼロにリセットされ、パケット調整フィールド557はインクリメントされ、それにより、より待ち時間の長いパケット間隔内の最初のビット時間内の最も進められたクロック位相が選択される。アンダーフローする位相調整値に応答してビット調整値から借用(デクリメント)し(0から47へのデクリメント)、アンダーフローするビット調整値に応答してパケット調整値から借用して、同様のアンダーフローが行われる。
引き続き図10Aを参照すると、位置合わせカウンタ551は、インクリメント/デクリメント信号(「inc/dec」)、ロード信号(「load」)、および更新信号(「update」)を受信する入力ならびに位置合わせカウント値(すなわち、図示の実施形態では12ビットカウント値)をカウンタにロードできるようにする並列ポートを含む。一実施形態では、インクリメント/デクリメント信号は、周期的タイミング較正中に適用され、更新信号のトリガエッジに応答して、位置合わせカウント(カウンタの内容)をインクリメントまたはデクリメントする。ロード信号は、初期較正中にアサートされて、初期較正中に決定された位置合わせ値(例えば、メモリコントローラコア内のプロセッサまたは他の回路により決定されるアイエッジ間のメジアンまたは他の統計的中心点)を位置合わせカウンタにロードできるようにする。
図10Bは、周期的タイミング較正中に、奇数/偶数シグナリングリンク対、この例ではDQ[0]およびDQ[1]の送信クロック位相および受信クロック位相のそれぞれの位置合わせカウンタを更新するために利用し得る回路構成を示す。示されるように、2つの位置合わせカウンタが、4つのクロック位相のそれぞれに、すなわち、リンク毎に4つの位置合わせカウンタが提供され、したがって、リンク対毎に8つの位置合わせカウンタ(551Tx0、551Tb0、551Rx0、5515Rb0、551Tx1、551Tb1、551Rx1、551Rb1)が提供される。例えば、リンクDQ[0]を参照すると(リンクDQ[1]は同一に実施される)、送信クロック位置合わせカウンタ551Tx0は、送信クロック位相を制御するため(ビット位置合わせおよびパケット位置合わせを含む)に設けられ、その一方で、送信境界位置合わせカウンタ551Tb0は、対応するPTC境界位相(すなわち、スペクトル制限されたPTCテストパターンが適用される場合にパス/フェイル境界にあると決定された送信クロック位相)を制御(かつ記録)するために設けられる。同様に、受信クロック位置合わせカウンタ551Rx0は、受信クロック位相を制御するために設けられ、受信境界位置合わせカウンタ551Rb0は、対応するPTC境界位相(すなわち、PTCテストパターンが適用される場合にパス/フェイル境界にあると決定された受信クロック位相)を制御(かつ記録)するために設けられる。
図示の実施形態では、各位置合わせカウンタ(まとめて551)は、上記初期較正シーケンス中に初期化される。一実施形態では、例えば、クロック位相の位置合わせカウンタは、各リンクの最後の較正クロック位相が決定されるまで、コントローラコア回路により繰り返し並列ロードされる。その後、PTC境界位相の位置合わせカウンタに同様に、各リンクのパス/フェイル境界に対応する最後の境界位相(スペクトル制限されたPTCテストパターンに応答して決定される)が決定されるまで、コントローラコア回路により繰り返し並列ロードし得る。
図10Bを続けると、マルチプレクサが、位置合わせカウンタ(575で示される)の各クロック位相/境界位相対に関連して設けられて、対応するドリフト補償直列化器185/185またはドリフト補償非直列化器186/186に提供する位置合わせカウントを、クロック位相位置合わせカウンタからの位置合わせカウントまたは境界位相位置合わせカウンタからの位置合わせカウントのいずれかから選択する。上述した較正クロック選択信号(CalClkSel)は、位置合わせカウント選択を制御するために提供される。図示の特定の例では、較正クロック選択信号は4ビット信号であり、各ビットが、4対の位置合わせカウンタのそれぞれ1つのマルチプレクサ575に供給され、それにより、両データリンクの非直列化器および直列化器に境界位相(PTCの場合)またはクロック位相(ライブデータ送信/受信の場合)のいずれかを選択できるようにする。示されるように、状態機械571(周期的および/または初期タイミング較正に関連して上述した有限状態機械と同じまたは少なくともその部分であり得る)は、較正クロック選択信号ならびに比較回路573(例えば、上述した照合回路の部分)の出力も受信する。図10C(状態機械571の例示的な状態図)および図10Bを参照すると、すべての較正クロック選択ビットがデアサートされた状態のままである限り、状態機械は動作モード581のままであり、一対のデータ選択信号をマルチプレクサ576(例えば、初期および周期的タイミング較正動作を参照して上述したデータ選択マルチプレクサに一般に対応する)に出力して、DQ[0]およびDQ[1]直列化器(185、185)のそれぞれに送信される送信データTxD[0]およびTxD[1]を供給するコアデータ線Tdata[0][7:0]およびTdata[1][7:0]を選択する。較正クロック選択ビットのうちの任意の1つがアサートされる(すなわち、CalClkSel>0000b)場合、状態機械は周期的タイミング較正(PTC)モード583に遷移し、PTCテストパターンが、リンク直列化器185/185に送信される送信データのソースとして選択される(マルチプレクサ576を介して)と共に、較正中のリンクに従って、評価のために非直列化器186または非直列化器186の出力を選択する制御信号がマルチプレクサ574に発行される。すなわち、リンクDQ[1]に対応する2つのCalClkSelビットのうちのいずれかがアサートされる場合、状態機械は、比較回路573に供給すべきものとしてDQ[1]非直列化器からのデータ(すなわち、RxD[1])を選択する。その他の場合、DQ[0]非直列化器からのデータ(RxD[0])が比較回路に供給される。PTCテストパターンがリンク直列化器により送信され、リンク非直列化器により受信され、比較回路内で期待値と比較された後、状態機械は、比較結果がパス状況を示すか、それともフェイル状況を示すかに従って、クロック位相インクリメント状態585またはクロック位相デクリメント状態587のいずれかに遷移する(しかし、状況に応じて、インクリメント/デクリメントとパス/フェイルとの対応性を逆にし得る)。インクリメント状態では、状態機械はインクリメント/デクリメント出力「inc/dec」をハイにして、インクリメント動作を示し、更新信号(図10Aに示されるが、示される回路要素を曖昧にしないように、図10Bからは省かれている)をアサートして、対応する境界位相クロックカウンタおよびクロック位相クロックカウンタをインクリメントできるようにする。同様に、デクリメント状態では、状態機械はインクリメント/デクリメントの出力をローにして、デクリメント動作を指定し、更新信号をアサートして、CalClkSel選択される位置合わせカウンタ対をデクリメントできるようにする。この動作により、初期較正時に位置合わせカウンタにロードされるクロック位相および対応するPTC境界位相は一緒に、PTC境界位相の移動により示されるタイミングドリフト情報を使用してインクリメントおよびデクリメントされて、各シグナリングリンクのサンプリングクロックおよび送信クロックを調整する。
クロック停止低電力モード
図11Aは、図2Aの実施形態内で使用される例示的なクロック構成を示し、コントローラI/Oクロック(PCK8)のクロック停止論理601およびクロックバッファ603ならびにメモリ装置に転送されたデータレートシステムクロック(PCK4)のクロック停止論理605およびクロックバッファ607を明示的に示す。PCK4クロック停止論理605の詳細図610を参照すると、クロックイネーブル信号(ENPCK4)は、コントローラコア内の電力モード論理によりアサートおよびデアサート(この例では、論理ハイおよびローのそれぞれ)、PCK4クロックをイネーブルおよびディセーブル(すなわち、開始および停止)する。一実施形態では、電力モード論理は、アサートまたはデアサートされた場合、クロックイネーブル信号が、整数のPCK1サイクルにわたってアサートまたはデアサートされた状態を保つように、コントローラコアクロックPCK1によりクロック制御される。この構成により、クロックイネーブル信号がローになり、クロック停止低電力モードを確立し、後に立ち上がってクロックを再開する際に、コントローラコアクロック(PCK1)とメモリコアクロック(MCK1)との位相関係が維持され、それにより、クロックが停止され再開された場合であっても、初期較正中に確立されたビット位置合わせおよびパケット位置合わせを保持することが保証される。この特定の例では、コントローラコアおよびメモリコアが同じレートでクロック制御されることに留意する。代替の実施形態では、コントローラコアおよびメモリコアを異なるレートでクロック制御してもよい(したがって、異なる深度の直列化および非直列化パイプラインを駆動してもよい)。その場合、クロック停止間隔は、最長期間を有する整数のコアクロック信号に制限し得る。例えば、コントローラコアクロックレートが800MHzに増大されるが、メモリコアクロックレートが400MHzのままである場合、クロック停止間隔を、整数のメモリコアクロックサイクル(この例では、2.5nS)に制限し、それにより、コントローラコアクロックとメモリコアクロックとの位相が維持されることを保証し得る。
図11Bは、図11Aのクロック制御アーキテクチャのクロック停止(またはクロック一時停止)動作の例示的なタイミング図である。図示の波形は、メモリコントローラクロックおよびメモリ装置コアクロックPCK1およびMCK1ならびにシステムクロックPCK4およびクロック生成回路PCK4i内に本質的に存在するシステムクロックを含む。クロックイネーブル信号ENPCK4およびクロックイネーブル信号のタイミング再取得版であるENPCK4rも示される。
本質的には、クロックイネーブル信号は、内部PCK4iクロックをゲーティングし、それにより、PCK4システムクロックの切り替えをイネーブルまたはディセーブルするために使用される。コントローラコアクロック領域およびシステムクロック領域は、互いに対して任意の位相オフセットを有することが可能である(かつクロックイネーブル信号はPCK1のエッジに対して任意の位相オフセットを有し得る)ため、クロックイネーブル信号は、PCK4iクロックが任意の状態である間に立ち上がりまたは立ち下がりになり得、したがって、システムクロックをゲーティングするために直接適用された場合、PCK4iクロックの論理ハイ状態中にクロックをオフまたはオンにゲーティングし、それにより、望ましくないラント(すなわち、短縮)パルスをシステムクロック線上にもたらす恐れがある。この結果(ラントパルス生成)は、タイミング再取得されたクロックイネーブル信号(ENPCK4r)とのコントローラコアクロックの立ち上がりエッジおよび立ち下がりエッジの一定の位相オフセットを維持しながら、コア領域クロックイネーブル信号(ENPCK4)のタイミングを再取得してPCK4iクロック領域にするタイミング再取得論理611(詳細図610に示される)を含めることにより、図11Aのクロック停止論理内で回避される。より詳細には、図示の実施形態では、システムクロックは、PCK4iの論理ロー位相中にのみオンまたはオフにゲーティングされ、それにより、ラントパルスは生成されず、それでもやはり、タイミング再取得クロックイネーブル信号のデアサートとアサートとの時間間隔は、整数のコアクロックサイクルとして維持され、それにより、メモリコアクロックとコントローラコアクロックとの較正補償された位相関係が保持される。
図11Aおよび図11Bを続けると、タイミング再取得クロックイネーブル信号は、ゲート613においてPCK4iとAND演算され、したがって、デアサートされた場合、整数のコントローラコアクロック(PCK1)に対応するいくつかのパルスが、PCK4波形に現れないようにする。この動作により、PCK4はゲートオフされ(抑制される:切り替えが阻止される)、したがって、正確に停止し、整数のPCK1サイクル(この例では、1サイクル)に対応する間隔にわたって停止した状態を保つ。PCK4はメモリ装置内で受信され、開ループクロック分配回路(例えば、バッファ223および229により形成される)を通って伝播して、データレートクロック信号MCK4をもたらし(周波数変更なしで)、最終的にメモリ側送信クロックおよび受信クロックをもたらすため、PCK4を正確に停止(または一時停止)することにより、それに対応して、これらクロックも同様に正確に停止され、それにより、メモリ側直列化器および非直列化器の動作が正確に中断される。相手方のコントローラ側非直列化器および直列化器の動作も、クロック停止論理601内のコントローラ側I/Oクロックの停止により正確に中断される。
一実施形態では、メモリ分周回路225は、2サイクルのMCK4クロック毎に最上位ビットが切り替わり、したがって、メモリ側コアクロックMCK1として出力される、4状態モジュロ4カウンタ(例えば、614として示されるインクリメント論理616および状態レジスタ621を含む)により実施される。モジュロ4カウンタは一般に、カウンタ出力において示される4つの状態(MSBが略述される)のうちの任意の状態で電源投入され得ることに留意すると、MCK1とコントローラコアクロックPCK1との位相関係は、1サイクルのMCK4信号、したがって2ビット時間だけ位相離間された4つの初期位相オフセットのうちの任意の1つをとり得る。図2A(および図11A)の実施形態では、PCK1とMCK4との初期位相関係は、それが何であれ、ドリフト補償直列化器および非直列化器内のビット調整値およびパケット調整値の初期較正により説明される。PCK1はPCK4/MCK4信号の停止中、切り替わり続けるため、PCK4とPCK1とのクロック比(この例では、4)に等しい数のPCK4パルスを抑制しないPCK4/MCK4の任意の停止は、クロック再開時にPCK1とMCK1との位相関係を変更し、ひいてはコントローラコアクロック領域に対するビットおよびパケットの同期が失われることになる。一方、整数のPCK1サイクル中にPCK4を正確に停止させることにより、抑制されるPCK4(ひいてはMCK4)パルスの数は、PCK4とPCK1クロック比に等しいことが保証され、したがって、初期較正設定が位置合わせされたPCK1とMCK1との位相関係が維持されるため、クロック再開時に、誤差のない適宜フレーム化されパケット位置合わせされたデータをコントローラコア領域に転送することが可能である。この結果は、MCK4のエッジと併せてモジュロ2カウンタの状態(00、01、10、11、00、・・・)により図11Bに示され、クロック停止間隔中にPCK4クロックパルスのN(PCK4とPCK1との比)個の抑制により、クロック再開時にPCK1とMCK1との位相関係が保持されることを示す(「」は乗算を示す)。
図11Cおよび図11Dは、システムクロックのクロック停止論理605のより詳細な実施形態および対応するタイミング図を示す。クロック停止論理は、図11Aのゲート613に対応する論理ANDゲート613ならびにフリップフロップ631、633、635、637、639、641、645、647、論理要素632、634、636、およびマルチプレクサ638、643により形成されるタイミング再取得論理を含む。考察したように、タイミング再取得回路は、コントローラコアからのクロックイネーブル信号ENPCK4のタイミングを再取得して、システムクロックPCK4の領域にするように機能する。この動作での初期ステップは、コアクロック信号を使用してクロックイネーブル信号をサンプリングし、それにより、ENPCK4内の任意の遷移をコアクロック信号の遷移と位置合わせして、クロックイネーブル信号イネーブル信号を表す信号(すなわち、クロックイネーブルサンプル)が、少なくとも1つのコアクロックサイクルにわたって安定に保持されることを保証することである。さらに、ワンタイムロードスキップ演算がシステム初期化時に実行されて(ロードスキップ信号(LD−SKIP)に応答して)、PCK4領域内で生成され、PCK4cと呼ばれる同じ周波数のクロック信号に対するPCK1信号の位相を特定される。より詳細には、ロードスキップが立ち上がる時、マルチプレクサ638はPCK4cをフロップ段639の入力に渡し、それにより、PCK1の保証立ち上がりエッジによりPCK4cをサンプリングできるようにする。本明細書ではスキップ信号と呼ばれるフロップ段639の出力は、ロードスキップのデアサートによりラッチされ、PCK4cがPCK1立ち上がりエッジにおいてハイであったか、それともローであったかに応じてそれぞれ論理「1」または「0」である。PCK4cとPCK1との位相関係は、システム動作中変更されないままであるため、ロードスキップをアサートするのは、スキップ信号の状態を復元するために、電源投入時(またはシステムリセット時)に1回のみである。
続けると、クロックイネーブル信号ENPCK4は、PCK1の立ち上がりエッジに応答してフロップ段637によりサンプリングされ、整数のPCK1サイクルにわたって同じ状態をも保つことが保証される、立ち上がりPCK1エッジに位置合わせされたクロックイネーブル信号ENPCK4aが生成される。ENPCK4a自体は、続く立ち下がりPCK1エッジに応答してフロップ641内でサンプリングされて、これもまた整数のPCK1サイクルにわたった同じ状態を保つことが保証された立ち下がりPCK1エッジに位置合わせされたクロックイネーブル信号ENPCK4bが生成される。図11Dに示されるように、2つのPCK1位置合わせクロックイネーブル信号ENPCK4aおよびENPCK4bは、同じ時間間隔にわたって有効であるが、交互の状況で、すなわち、スキップ信号がハイである場合(ENPCK4a)およびスキップ信号がローである場合(ENPCK4b)での、PCK1位置合わせクロックイネーブル信号のインスタンスを表す。したがって、2つのPCK1位置合わせクロックイネーブル信号を、スキップ信号の状態に従ってマルチプレクサ643内で選択することにより、同じ開始時間および停止時間を有するPCK1位置合わせクロックイネーブル信号が選択され、いずれの場合でも、タイミング再取得フロップ段645に出力される。さらに、選択されたPCK1位置合わせクロックイネーブル信号は、タイミング再取得フロップ段645のトリガ入力に供給される直交クロック信号PCK4d(すなわち、PCK1およびPCK4cと同じ周波数を有するが、PCK4cに対して直交位相関係を有するクロック信号)の立ち上がりエッジに及ぶことが保証される。最後に、PCK4dの各エッジは、データレートクロックPCK4iの立ち下がりエッジに応答して生成されるため(フロップ631により)、タイミング再取得フロップ段645をトリガし、それにより、PCK1位置合わせクロックイネーブル信号をサンプリングするために使用されるPCK4dの立ち上がりエッジは、PCK4iがローになった直後に発生する。この設計により、タイミング再取得クロックイネーブル信号ENPCK4cが、PCK4iの次の立ち下がりエッジにより別のタイミング再取得フロップ段647でサンプリングされて、PCK4をオンオフにゲーティングするために使用される最終的なタイミング再取得クロックイネーブル信号を生成する前に、セットアップ時間および保持時間の完全な(または略完全な)PCK4iクロックサイクルが提供される。図11Dに示されるように、正味の結果として、最終的なタイミング再取得クロックイネーブル信号ENPCK4rが、PCK4iの立ち下がりエッジに応答してのみ、かつ最後の状態変更から整数のPCK1クロックサイクルが経過した後でのみ変化する。この動作により、PCK4出力上の問題のあるラントパルスが回避され、PCK1とPCK4とのクロック位相関係は、クロック停止および再開を通して維持され、それにより、メモリコントローラ内のドリフト補償直列化および非直列化回路の較正状態が保持される。
図11Cおよび図11Dに示される技法および回路は、コントローラ側I/OクロックPCK8のクロック停止論理内に適用することも可能であり、それにより、PCK8クロック線上のラントパルスを回避し、2:1クロック比を考慮して、クロック停止中にディセーブル(または抑制)されるPCK8パルスの数がディセーブルされるPCK4パルスの数に一致することを保証する。
図11E〜図11Gは、代替のクロック停止アーキテクチャ650、対応する回路、およびタイミング図を示す。図11Aのアーキテクチャ内の別個のPCK4クロック停止回路およびPCK8クロック停止回路とは対照的に、クロック停止アーキテクチャ650は、最後のPCK8クロック位相をもたらし、周波数分周後にシステムクロック信号PCK4をもたらす内部PCK8クロック位相(PCK8i)の切り替えをディセーブルする単一のクロック停止論理回路651を含む。クロック停止回路601および605がなく、複数のクロックイネーブル信号に代えて単一のクロックイネーブル信号(ENPCK8/4)が設けられることを除き、アーキテクチャ650の機能要素は一般に、図11Aにおいて同様に付番される相手方を参照して説明されたように動作する。図11Aの実施形態と同様に、コントローラコアクロックPCK1はPCK8iクロック位相(ひいてはPCK8クロックおよびPCK4クロック)が停止した後でも切り替わり続け得る。
図11Fは、図11Eのクロック停止回路651を実施するために使用し得るクロック停止回路670の実施形態を示す。示されるように、コントローラコア領域からのクロックイネーブル信号(ENPCK8/4)は、フリップフロップ671内でベースラインPLL出力位相PLL[0°](コアクロックに対して8×周波数を有するクロック位相)に応答してサンプリングされ、それにより、タイミング再取得イネーブル信号672として、クロックイネーブル信号をPLL出力クロック領域にタイミング再取得する。代替の実施形態では、最終的にPLL出力クロック領域とのタイミングを再取得する前に、一連のタイミング領域を通してクロックイネーブル信号を転送する段になったタイミング再取得回路を含め、他のタイミング再取得回路を使用して、クロックイネーブル信号のタイミングを再取得し得る。タイミング再取得イネーブル信号672は、PLL[0°]の立ち下がりエッジに応答してサンプリングされて、PLL[0°]クロック信号の論理ロー半サイクルの開始時にクロック0イネーブル信号(clk0−en)をローにする。マルチプレクサ674(または他の選択回路)は、クロック0イネーブル信号がローになったことに応答して、PLL[0°]から対応するPCK8i出力(PCK8i[0°])を切り離し、PCK8i出力を接地に結合して、出力ローを保持し、クロック停止を行う。タイミング再取得クロックイネーブル信号672は同様に、PLL[60°]の立ち下がりエッジによりサンプリングされて、PLL[60°]クロック信号の論理ロー半サイクルの開始時にクロック1イネーブル信号(clk1−en)をローにする。マルチプレクサ676は、クロック1イネーブル信号がローになったことに応答して、PCK8i[60°]出力をPLL[60°]から切り離し、出力を接地に結合する。最後に、タイミング再取得クロックイネーブル信号680のより大きく遅延したもの(例えば、クロック0イネーブル信号のバッファ遅延インスタンスにより生成される)は、PLL[120°]の立ち下がりエッジに応答してサンプリングされて、PLL[120°]クロック信号の論理ロー半サイクルの開始時にクロック2イネーブル信号(clk2−en)をローにする。マルチプレクサ678は、クロック2イネーブル信号がローになったことに応答して、PCK8i[120°]出力をPLL[120°]から切り離し、出力を接地に結合する。図11Gの陰影の付いたクロック停止領域に示されるように(破線の輪郭で抑制されたクロックパルスを示す)、クロックイネーブル信号がローになることに応答してPCK8iクロック位相を正確に停止することにより、それに対応して、PCK8[0°,60°,120°]クロック位相、PCK4クロック位相、ひいてはメモリ側クロックMCK4(およびMCK1、図示せず)の正確な停止がもたらされる。停止(または一時停止またはディセーブル)されるすべてのクロックの正確な再開も同様に、クロックイネーブル信号(ENPCK8/4)の立ち上がりにより達成される。すなわち、クロックイネーブル信号の立ち上がりエッジ(各PLL出力位相のセットアップ時間および保持時間の要件を満たすために必要に応じてさらにタイミング再取得される)は、PLLクロック位相の立ち下がりエッジに応答してサンプリングされて再びイネーブルされ、各PLLクロック位相の論理ロー間隔の開始時にマルチプレクサの選択を切り替えて、PLLクロック位相を対応するPCK8iクロックノードにグリッチなしで再結合することができる。図11Fおよび図11Gに特に示されないが、0°、60°、および120°のPLLクロックの相補的なインスタンス(180°、240°、および300°)も同様に、クロック0イネーブル信号、クロック1イネーブル信号、およびクロック2イネーブル信号のそれぞれの状態に従ってディセーブルおよびイネーブルし得る。上述した様々な実施形態でのように、代替の実施形態では、より多数または少数のPLL出力位相を生成してもよい。
クロック停止モードの開始および終了−システム動作
一実施形態では、メモリコントローラが要求されたすべてのメモリトランザクションを完了し、そのため、仕事がなくなった場合は常に、クロック停止低電力モードが開始される。一実施形態では、このアイドル状態は、保留中トランザクションのキュー(「トランザクションキュー」)を監視し、したがって、トランザクションキューが空であるときが通知されるメモリコントローラコア内の電力モード論理により決定される。キューが空の場合にコントローラI/Oクロックおよびシステムクロックを即座に停止するのではなく、電力モード論理は少なくとも、キューから引き出された最後のトランザクション(すなわち、最終トランザクション)が、少なくともメモリ装置およびコントローラI/O回路の観点から完了するのに十分に長い時間を待ってから、クロックイネーブル信号ENPCK4およびENPCK8をデアサートして、コントローラI/Oクロック信号およびシステムクロック信号(PCK8およびPCK4のそれぞれ)を正確に停止させる。
図12Aは、クロック停止低電力モードの開始および終了を含む間隔中のメモリコントローラでのクロック信号、クロックイネーブル信号、およびコマンド/アドレス信号の例示的なタイミング図である。クロック信号は、コントローラコアクロックPCK1、システムクロック信号SCK(メモリコントローラ内のPCK4)、およびコントローラI/OクロックPCK8を含む。上述した例示的な実施形態を続けると、データおよびコマンドは3.2Gb/s、すなわち、0.625nSシステムクロックサイクル当たり2ビットかつ2.5nS(ナノ秒)コアクロックサイクル当たり8ビットで送信される。この構成により、8:1直列化パイプラインが確立され、出力情報は、所与のコアクロック信号サイクル中に8ビットパケット(すなわち、1バイト)として各ドリフト補償直列化器に提示され、その間、前に提示されたパケットのビットは、同じコアクロックサイクル中に、各ビット時間(ビット時間またはtBIT=tPCK8(PCK8期間))で直列送信される。したがって、図12Aに示されるように、tPCK1=tPKT=4SCK=8BITであり、「」は乗算を示す。代替の実施形態では、異なる送信周波数、クロック比、直列比、およびパケットサイズを選択してもよい。
メモリコントローラ内で、データパケットおよびコマンド/アドレス(CA)ビットのそれぞれは、8ビット幅データ線およびCA線を介してI/O回路に供給される。一実施形態では、各メモリアクセスコマンドおよび対応するアドレスは、2つの8ビットパケットにパッキングされ、したがって、単一のパケット時間で2つのCA線(CA[0]およびCA[1])を介して送信し得る。送信すべきパケットが残っていない場合、「NOP」コマンドパケットとして示される「無演算」コマンド(例えば、ゼロ充填パケット)が、コマンドパス(CA[0]、CA[1])を介してメモリ装置に送信され、コントローラコアは、コマンドパス上で送信される最後のメモリアクセスコマンド(「最終コマンド」)の完了までのカウントダウンを開始する。カウントダウン中、クロック停止モードは保留中であると言え、コントローラコア内の電力モード論理は、最終書き込み動作の場合、すべてのクロックが引き続き切り替わり、書き込みデータをメモリコア内に記憶するため、または最終メモリ読み取りコマンドの場合、読み取りデータをメモリコアから返して、非直列化し、コントローラI/O−コアインタフェースに提示するために必要なタイミングエッジを提供するクロック停止前状態にある。最終コマンドに関連付けられたすべての動作がメモリ装置およびコントローラI/O回路内で完了するときまでに、新しいトランザクションがトランザクションキュー内に配置されない場合、電力モード論理は、システムクロックおよびコントローラI/OクロックPCK4(SCK)およびPCK8のそれぞれのクロックイネーブル信号ENPCK4およびENPCK8をデアサートする。
図12A内では、クロック停止モードの開始は、最後に残っていたメモリアクセス要求を16ビット幅トランザクションキュー(T−「Queue[15:0])から8ビット幅コマンド線Cadata[0][7:0]およびCadata[1][7:0]を介してコントローラI/O回路に転送される(取り出されるまたはキューから出される)ことにより開始する。コマンドデータ線自体は、パケット位置合わせ回路(すなわち、パケット位置合わせFIFOまたはスキップ回路)内に実装し得、所与のシグナリングリンクのコアクロック領域からフレームクロック領域に横断できるようにする。したがって、連続した各コマンドは、NOPであれメモリアクセスコマンド(OP)であれ、コアクロック(PCK1)の立ち下がりエッジに応答してパケット位置合わせ回路内で転送し、較正された(かつリンクに固有の)数のビット時間後にフレームクロック領域に転送し、次に、直列化して、CA[0]リンクおよびCA[1]リンクを介して送信し得る。したがって、「OP0]で示される最終動作は、時間702において、トランザクションキューからコマンド線に転送され、時間704から開始して(立ち下がりPCK1エッジに応答して)、パケット位置合わせ回路を横断して転送され、次に、PCK1サイクルに、デフレームクロック信号(図3DのTCK1[i])とPCK1とのビット単位のオフセットを加えたものに対応する直列化遅延tSERIAL後、パケット位置合わせ回路からコントローラ側非直列化回路内の直列シフトレジスタ(例えば、図3Dに示されるフロップ段315により形成される)に転送される。その後、データは、ビット単位で直列シフトレジスタからシフトアウトされて、CA[0]/CA[1]シグナリングリンクを介しての直列データ送信を行う。
異なるシグナリングリンク間のビット変動性は、図12Aにおいて、CA[0]およびCA[1]シグナリングリンクの直列化遅延の4ビット時間差により強調される。すなわち、リンクCA[0](すなわち、PCK1とTCK1[i]との間)のコアクロックとデフレームクロックとのビット単位のオフセットはゼロであり、OP0の下位パケットは、CA[0]リンクの場合、トランザクションキューからCA[0]パケット位置合わせ回路に転送された後、1つのPCK1サイクル中に直列シフトレジスタに転送され、したがって、時間706に開始して、CA[0]シグナリングリンクを介してビット直列送信される。したがって、直列化遅延tSERIALは、PCK1サイクル1個分、すなわち8ビット時間である。対照的に、リンクCA[1](すなわち、PCK1とTCK1[i+1]との間)の場合、コアクロックとデフレームクロックとの間に4ビットオフセットが存在し、OP0の上位パケットをトランザクションキューからCA[1]パケット位置合わせ回路に転送した後、パケットがCA[1]シグナリングリンクを介して送信される前に(時間708において開始される)、12ビット時間直列化遅延が経過(または発生)する。全体的に、8ビット時間直列化遅延と12ビット時間直列化遅延との差は、CA[0]およびCA[1]リンクの送信クロック間に存在し得るいかなるサブビット時間位相オフセット(すなわち、TCK8[i]とTCK8[i+1]との位相オフセット)も考慮せずに、OP0の下位パケットと上位パケットとのコントローラ側送信の間4ビット時間オフセット(またはビット変動)をもたらす。全体的に、ビット変動およびサブビット位相オフセットは、関連付けられたコマンド/アドレスパケットおよびデータパケットを時間的に互い違いに送信させて、メモリ側データサンプリング、非直列化、およびI/O−コア転送をすべて、メモリ側クロック調整回路なしで行えるようにする。図12Aに示されないが、同様のビット変動およびサブビット位相オフセットがコントローラ側データ非直列化器内で許容されて、メモリ側クロック調整回路なしでのメモリ側コア−I/O転送、直列化、およびデータ送信を可能にする。
図12Aのクロック停止例を続けると、最終メモリアクセス動作(すなわち、OP0)をトランザクションキューからリンクCA[0]およびCA[1]のコマンド線に転送した後すぐに、電力モード論理は、トランザクションキューが空であると判断し、したがって、システムクロックおよびコントローラI/Oクロックのクロックイネーブル信号をデアサートするまでのカウントダウンを開始する。一実施形態では、カウントダウン時間は、動作固有であるため、tCA(OP)−ENとして指定され、「OP」は、メモリアクセス要求の性質(例えば、アクティブ化もしくはプレチャージ等の行動作またはメモリの読み書き等の列動作であるが、プログラム時間および消去時間等の、メモリ記憶装置の他の非DRAM型に特定の動作時間が適用されてもよい)を示す。あるいは、実行中の動作のタイプに関係なく、一定のカウントダウン時間を適用してもよい。いずれの場合でも、目標は、最後のメモリアクセス動作を完了するために十分なクロックエッジが、メモリ装置およびコントローラI/O回路に提供されることを保証することである。一般に、トランザクションキューが空になってからの間の最悪の場合の待ち時間は、メモリ読み取り動作で発生し、メモリ読み取り動作は、コマンド直列化時間(最悪の場合のビット変動を含む)、コマンドパスを介しての伝播、メモリ装置のデータ検索・直列化待ち時間(本明細書では、まとめてCAS待ち時間と呼ばれる)、デーパス上の読み取りデータ伝播時間、および最後にコントローラ側データ非直列化時間を含む。動作固有の実施形態では、電力モード論理は、最終動作に基づいてレジスタバンク(またはルックアップテーブル)をインデックス付け、それにより、カウントダウン値(例えば、クロックイネーブル信号をデアサートする前に発生すべきコアクロックサイクル数)を検索する。一定カウント実施形態の場合、カウントダウン値を、実行時、製造時、または設計時のメモリ読み取り動作の最悪の場合の時間の測定に基づいてシステム開始時にプログラムしてもよく、システム製造時にワンタイムレジスタをプログラムすることによりプログラムしてもよく、または最悪の場合のカウント値をハードワイヤードで実装してもよい。
どのように実施されようとも、新しいメモリアクセス要求が、クロック停止までのカウントダウン中(すなわち、電力モード論理クロック停止保留モードにある間)にトランザクションキュー内に挿入(または他の様式で受信)される場合、保留中のクロック停止はアボートされ、電力モード論理はアクティブモードに戻り、空の状態についてトランザクションキューを引き続き監視する。しかし、カウントダウンの完了前に新しいメモリアクセス要求がトランザクションキュー内に配置されない場合、電力モード論理はクロックイネーブル信号ENPCK4およびENPCK8をデアサートし、それにより、クロック停止動作をトリガする。
上述したように、ENPCK4およびENPCK8は、コアクロック領域内で生成されるため、PCK4クロックおよびPCK8クロックが正確に停止する(または一時停止もしくはディセーブル)することを保証するために、PCK4領域およびPCK8領域内でタイミング再取得される。さらに、PCK4領域およびPCK8領域(すなわち、システムクロック領域およびコントローラI/Oクロック領域)が互いに位相オフセットすることが許される実施形態(例えば、図2Aの実施形態でのように)では、タイミング再取得されたクロックイネーブル信号ENPCK4rおよびENPCK8rのデアサート時間は異なり得るため、結果として、PCK4クロックおよびPCK8クロックのクロック停止時間が異なることになる。図12Aの例示的なタイミング図では、このクロック停止時間の変動は、PCK4クロック停止時間とPCK8クロック停止時間との2ビット時間(2つのPCK8サイクル、1つのPCK4サイクル)オフセットとして示される。すなわち、PCK8クロック停止論理でのタイミング再取得された遅延tC8DL(またはディセーブル待ち時間)は、PCK4クロック停止論理内のタイミング再取得された遅延tC4DLよりも2ビット時間長い。両クロックは、整数のPCK1サイクル中に停止するため、同じ2ビット時間オフセットがクロック再開にも当てはまるため、PCK8およびPCK4の各クロック領域での任意のクロック比(この例では、2:1)を考慮した後、同数のクロックパルスが生成される。
コントローラI/Oクロックを停止する際の1つの大きな問題が、様々なコントローラ側直列化/非直列化回路内で許されるビット変動により示される。すなわち、ビット変動が、異なるシグナリングリンクのコントローラ側タイミング領域間で許されるため(実際には、必要に応じてこれら領域を互い違いにさせて、相手方の非補償メモリ側タイミング領域との位置合わせを達成する)、異なるリンクのパケット境界自体がオフセットする。クロック停止の観点から、コントローラI/Oクロックがどこで停止するかに関係なく、1つまたは複数のCAパケットは部分的にしか直列化され得ず、実際には、クロック停止間隔のいずれかの側(例えば、711および712)に見られる部分にパケットを断片化し得る。しかし、PCK8は整数のPCK1サイクルで正確に停止するため、パケットの残りの部分(712)はクロック再開時に適宜直列化され、新しいパケットが、コントローラ側デフレームクロッククロックとコアクロックPCK1との予め確立された関係を反映するパケット境界においてデフレーム化されて送信される。すなわち、コントローラコアクロック(PCK1)とデフレームクロック(例えば、TCK8[i])とのビット単位(およびビット内位相)オフセットは維持され、それにより、任意のクロック停止断片化パケットの残りのビットは、まるでクロック停止がなかったかのように送信され、新しいパケットがデフレーム化される。視覚的に、これは、開始クロック境界に沿って図12Aの図をスライスし、クロック再開後に見られる図の部分を左にシフトさせて、クロック停止境界に並べることでイメージすることができる。分かるように、パケットフレーム境界は維持され、すべてのクロック停止断片化パケットは、クロック再開時に全体になる。
これまで説明したクロック転送アーキテクチャを考えると、任意の数のシステムクロックパルスがメモリ装置に飛行中(すなわち、クロックリンク上で伝播中)であり得るため、所与のシグナリングリンク上でビットを受信または送信できるようにするために使用される特定のシステムクロックは一般に、コントローラI/Oクロックの公称的に位置合わせされたエッジから時間的にオフセットする。すなわち、コントローラI/Oクロックエッジおよびシステムクロックエッジが、コントローラ側クロック生成器から同時に出力されると想定すると、I/Oクロックエッジは一般に、コントローラ側I/O回路内のデータ受信イベントのタイミングをとるために適用され、その間、システムクロックエッジはまだメモリ装置またはメモリ装置I/O回路への伝播途中である。クロック停止の観点から、これは、システムクロックおよびコントローラI/Oクロックがメモリコントローラにおいて同時に停止した場合であっても、それにも拘わらず、システムクロックパイプが長ければ長いほど、排出により長い時間がかかるため、メモリ装置がコントローラI/O回路よりも多数のクロックエッジを経験する(クロック比を考慮して)ことを意味する。そして同様に、クロック開始の観点からも、システムクロックおよびコントローラI/Oクロックが同時に開始された場合、コントローラI/O回路は、メモリ側クロックパイプラインがより長いことにより、メモリ側I/O回路よりも先にクロックパルスの受信を開始することになる。これは、コントローラI/O回路により送信され得るパケットの任意の残りの部分が、システムクロックエッジが、入力データをサンプリングするために到着する前(または後)にメモリ装置に到着し得るため、断片化パケットの管理に対して大きな課題を呈する。より一般的には、クロック再開時に送信される任意のコマンドまたはデータパケットのビットが、受信のタイミングをとるため、クロックエッジが利用可能になる前にメモリ装置に到着する場合、抜け落ちる恐れがある。一実施形態では、この複雑性は、(i)クロック停止まで先行する間隔中およびクロック再開に続く間隔中に無演算(NOPまたはno−op)コマンドを送信すること、および(ii)コントローラ側コアクロック(PCK1)とメモリ側コアクロック(MCK1)との位相関係がクロック停止間隔を通して維持されることを保証することにより管理される。第1に、クロック停止間隔の直前および直後にno−op送信を送信することにより、転送クロックパイプラインが充填されるため、意味あるコマンドまたはデータが抜け落ちないことが保証される。すなわち、no−opコマンドと併せてデータが送信されず、メモリアクセスコマンドが指定されないため、クロック再開時に最初に送信されるビットが損失したとしても、その損失は重要ではない。第2に、PCK1とMCK1との位相関係を維持することにより、初期較正時に確立されるコントローラ側フレーム/デフレームクロック信号とメモリ側フレーム/デフレームクロック信号との関係が、クロック再開時に維持される。すなわち、意味のある(すなわち、no−opではない)コマンド(CA)およびデータが最終的に、コマンドパスおよびデータパスを介して送信される場合、そのコマンドおよびデータは受信側装置により適宜フレーム化されることになり、相手方のフレーム/デフレームクロックを再位置合わせする必要なく、システムの継続動作が可能である。さらに、メモリ装置内の開ループクロック分配アーキテクチャにより、メモリ側送信クロックおよび受信クロックの位相は、クロック停止を通して実質的に変更されないままであり、したがって、クロック停止前のコントローラ側直列化/非直列化回路内で行われた位相調整が、クロック再開後も有効であり、それにより、クロック再開時にデータおよびコマンドを即時に、かつ確実に送信することができる。
図12Aを続けると、クロック停止後、コアクロックは実行(すなわち、発振、切り替え)し続け、したがって、コントローラコアは、ホスト要求のメモリトランザクションを受信しキューに配置し続け、電力モード論理は、トランザクションキューを監視し続けて、新しいトランザクション要求が保留中であるか否か、および新しいトランザクション要求が保留中であるときを判断し得る。新しいトランザクション要求がキューに配置されたことを検出した場合、電力モード論理はクロック開始保留状態に遷移し、続く立ち上がりPCK1エッジにおいてクロックイネーブル信号ENPCK4およびENPCK8をハイに(アサート)する。PCK4およびPCK8のクロック停止論理は、コア領域クロックイネーブル信号のアサートに応答して、それぞれのタイミング再取得遅延(またはイネーブル待ち時間)tC4ELおよびtC8EL後にタイミング再取得クロックイネーブル信号ENPCK4rおよびENPCK8rを立ち上げる。示される特定の例では、デアサートおよびリアサートタイミング再取得遅延は一致する(すなわち、tC4DL=tC4EL、tC8DL=tC8EL)。これは、この例でのように、ENPCK4信号およびENPCK8信号が整数のPCK1クロックサイクルである限り当てはまる。ENPCK4またはENPCK8のデアサート時間が整数のPCK1サイクルではない場合、クロック停止論理は、対応するクロックイネーブル信号のタイミングを再取得して、整数のPCK1クロック停止間隔を実施するが、クロック停止タイミング再取得遅延およびクロック開始タイミング遅延は一致しない。
タイミング再取得した遅延が経過した後、PCK4およびPCK8の各クロック停止回路は、タイミング再取得クロックイネーブル信号ENPCK4rおよびENPCK8rのそれぞれを立ち上げ、それにより、システムクロック(SCK、PCK4)およびコントローラコアクロックを切り替え開始できるようにする。考察したように、コントローラコアは、再開間隔にある数のno−opコマンドをパディングして、新しくキューに配置されたメモリトランザクション要求に対応するメモリコマンドが送信される前に、システムクロックパルスがコントローラI/O回路に達することを保証する。したがって、新しいトランザクション要求(「OP1」として示される)は、キューに配置された後、ある数のコアクロックサイクル(この例では、2サイクル遅延後)まで、コマンド線に転送されず、したがって、no−opコマンドが再開時に送信される。電力モード論理は、新しくキューに配置されたトランザクション要求OP1を検出した場合、再開カウントダウンを開始し、カウントダウンが終了する前にPCK1サイクル1個分、OP1をキューから取り出せるようにし(したがって、no−opをパディングする時間を提供し)、それにより、再開カウントダウンの終了時の直列化器への転送に間に合うように、OP1をコマンド線にロードする。その後(間隔tEN−CA(OP))、OP1コマンドは直列化され、CA[0]およびCA[1]リンクを介して送信され、クロック再開後にデフレームクロックエッジとコアクロックエッジとの較正位置合わせ(ひいてはリンク間ビット変動)を維持する。
図12Bおよび図12Cは、メモリ装置の観点からのクロック停止モードの開始および終了を示す。まず、クロック再開後のメモリ書き込み動作を示す図12Bを参照すると、時間720において、最終動作が受信され、トランザクションされ、その後、時間722において、クロック停止までカウントダウンされる。示されるカウントダウン間隔が、上述したようにコントローラ内の電力モード論理により実行され、クロック停止イベントが最終コマンドOP0の到着後に保留されていることを単に示すために、図12Bのメモリ側タイミング図上に重ねられていることに留意する。示されるように、no−opコマンドシーケンスがOP0に続き、それにより、メモリ側データ直列化/非直列化回路およびコア論理が、クロック停止発生前にOP0により指定された動作を完了できるようにする。カウントダウン間隔が経過した後、クロックは示されるように停止し、メモリ装置のクロック停止低電力動作を行う。クロック停止はCAリンク上のフレーム境界に一致するものとして示されるが、これはシステム動作下で所要ではないことに留意する。その代わり、任意の数のシステムクロックパルスが、メモリ装置への送信途中であり得(クロックリンク上の波形パイプラインの深度および開ループクロック分配アーキテクチャのオンメモリクロック待ち時間に応じて)、したがって、実装固有(複数のメモリ装置が存在し、メモリコントローラから異なる場所に配置される場合、実装固有かつ/または装置の場所に固有)のフレーム境界間の時間でクロック停止をもたらす。上述したように、この結果は、一実施形態では、no−opを送信して、クロック停止の際に、データパケットまたは意味のあるコマンドパケットがメモリ側非直列化/直列化回路を通って伝播しない(すなわち、断片化しない)ことを保証することを通して説明される。クロック再開時(この例では、システムクロックサイクル52における)に、1つまたは複数のno−opコマンドが受信され、開始シーケンスをパディングし、それにより、メモリアクセスコマンドおよび/またはデータが到着する前に、クロックエッジがメモリ側I/O回路内に到着する。図示の例では、書き込みコマンド(WR)および付随するバンクアドレス(Ba:メモリコア内の複数のメモリバンクのうちの1つを選択する)および列アドレス(Ca:選択されたバンクのセンス増幅器内に存在するデータページ内の複数の列のうちの1つを選択する)を受信する前に、少なくとも1つの完全なno−opコマンドが受信される。書き込みコマンドの登録後、時間tWRD(データへの書き込みコマンド)において、書き込みデータパケットおよび対応するデータマスク間ケットが、間隔tBL(バースト長またはバースト時間)中に受信される。全体として、合計で32バイトおよび32ビットの対応するマスクが受信され、メモリコアに転送され、書き込みコマンドに関連して指定されたバンク内に書き込まれる(列オフセットから開始して)。
図12Cは、本質的には図12Bと同じであるが、メモリ読み取り動作の状況でのクロック停止モード開始/終了を示す。この場合、時間tCL(列アドレスストローブ(CAS)待ち時間)が、メモリ読み取り(すなわち、メモリコアのバンクアドレスBaおよび列アドレスCaからのデータ読み取りコマンド)が登録されてから、32バイトの読み取りデータが出力される(間隔tBL中に各データリンク上で送信される4つの直列化パケット)までに経過する。
図13は、クロック停止間隔を分数または非整数のコアクロックサイクルに延長可能な代替の実施形態によるクロック停止の開始および終了を示す。考察したように、クロック停止間隔を整数のコアクロックサイクルに制限することにより、クロック停止後にメモリ側コアクロックが再開する際、メモリ側コアクロック(MCK)とコントローラコアクロック(PCK1)との位相関係が維持されることが保証される。MCK1が、少なくとも図2Aの実施形態では、MCK4からMCK1を生成するために使用される4分周回路の4つの可能な状態に従って、PCK1に対して4つの可能な関係のうちの1つを有することを想起すると、整数コアクロック制約が解除される場合、メモリコアクロックが、クロック再開時にコントローラコアクロックに対して4つの可能な位相関係のうちの1つを有し得ることが分かる。メモリ側直列化/非直列化回路の観点から、これは、クロック停止間隔を知らない場合、MCK1に対して4つの異なるn2ビット時間オフセット(すなわち、MCK1に対して0、2、4、または6ビット時間のオフセット)のうちの1つを有してそれぞれ位置合わせされる4つのパケットフレーム/デフレームクロックのうちの任意の1つが当てはまり得ることを意味する。したがって、一実施形態では、メモリ装置は、クロック再開時に4つのパケットフレーム/デフレームクロックのうちの1つを選択することができる4:1マルチプレクサを含む。さらに、クロック再開時にゼロ値である無演算コマンドを送信することに代えて、メモリコントローラは、図13において「NCK」コマンドとして示される、no−opコマンドとクロック位置合わせコマンドとを組み合わせたコマンドを送信する。一例として、各NCKコマンドは、NCKパケット内の所定のビット位置に一対の「1」を含み得る(例えば、「11 00 00 00」)。クロック開始時に4つの可能なフレーム/デフレームクロックのそれぞれを使用して入力コマンドストリームをフレーム化し、4つの異なる方法でフレーム化されたパケットを、期待されるNCKパケット値と比較することにより、期待されたNCKをもたらしたフレームクロックを、先に進めるメモリ側フレーム/デフレームクロックとして選択し得る。
チップ間コアクロック位相オフセットの調整
図11Aを参照して考察したように、所定の電源オン/リセット状態を強制する回路がない場合、メモリ側コアクロックMCK1を生成する(すなわち、メモリ側I/Oクロック(MCK4)を4で分周することにより)ために設けられる例示的なモジュロ4カウンタ(225、616)は、4つの可能な状態(00、01、10、11)のうちの任意の1つに電源投入し得、したがって、MCK1とコントローラ側コアクロック(PCK1)との間に可能な4つの位相関係のうちの1つを任意に確立し得る。各MCK4サイクルは2ビット時間に及ぶため、4つの可能な位相MCK1〜PCK1位相関係は、互いに均等に2ビット時間位相オフセットで離間される(システムクロックリンクを介する伝播またはクロックバッファ遅延によるいかなる位相オフセットも考慮しない)。一実施形態では、MCK1〜PCK1位相関係は電源投入(またはリセット)時に設定され、その後、メモリコントローラのドリフト補償直列化/非直列化回路内のビット位置合わせ回路およびパケット位置合わせ回路の較正を通しての変更なしで説明される。これは、状況によっては待ち時間の増大に繋がり得るため、MCK4分周器225が、初期較正中に、最も待ち時間の長いデータリンクの位相がコントローラ側コアクロック領域に相対して進められ(図3DのFCK1[0]のタイミングを2ビット時間進めることをイメージする)、したがって、最悪の場合のリンクタイミングを低減すると共に、最短読み取り待ち時間を延ばす状態に調整される代替の実施形態では、待ち時間の利点を達成し得る。
図14Aは、図11Aを参照して説明されるモジュロ4カウンタ614(すなわち、インクリメント論理616および2ビットレジスタ621により形成される)と共に、2ビットコアクロック調整値(CoreCkAdj[1:0])をカウント出力に加算して、クロック分周器出力を生成するモジュロ4加算器751を示すクロック分周器の実施形態を示す。この構成により、クロック分周器出力を任意の初期値(モジュロ4カウンタ614の電源投入/リセット時に決定される)から4つの可能な出力状態(00、01、10、11)のうちの任意の1つにシフトさせ、それにより、MCK1(すなわち、分周器出力のMSB)の位相をPCK1に相対して2ビット時間インクリメント(またはPCK1の直交ステップ)で調整することができる。図14Bはこの結果を示し、コアクロック調整値の4つの設定(MCK1の下付き文字として示される)のそれぞれの場合のPCK1に相対するMCK1の例示的な4つの位相を示す。理解し易くするために、モジュロ4カウンタ614が最初に、状態「00b」で電源投入され、そのため、MCK4の最初の立ち上がりエッジ(655に示されるように、PCK4の最初の立ち上がりエッジからいくらかの遅延期間後に発生する)において、分周器出力が、コアクロック調整値の状態に応じて「00」から「01」に、「01」から「10」に、「10」から「11」に、または「11」から「00」に遷移して、位相調整可能なMCK1を生成すると想定される。示されるように、コアクロック調整値の各インクリメントの正味の効果は、MCK1をPCK1に相対して2ビット時間進めることである。
図14Cは、コアクロック調整値CoreCkAdj[1:0]の4つの設定のそれぞれの場合でのPCK1エッジに相対するコントローラ側パケットフレーム境界の例示的な位置合わせを示す。図示の例では、読み取りデータが、リンクDQ[7]上で最小の待ち時間で返され、リンクDQ[0]上で最大の待ち時間で返されると想定すると共に、DQ[0]を介して到着するパケットがPCK1サンプリングエッジの直後にフレーム化される一方で、DQ[7]を介して到着するパケットがPCK1サンプリングエッジの直前にフレーム化されるとさらに想定する。図3C〜図3Eを参照して上述したパケット位置合わせ技法を利用する実施形態では、システム読み取り待ち時間は、最小でも最悪の場合、したがって、MCK100(すなわち、CoreCkAdj[1:0]=「00」)の場合に示されるリンクDQ[0]のN+1待ち時間(N+1個のPCKサイクル)に設定される。しかし、メモリ側コアクロックの位相を2ビット時間前進させることにより(すなわち、MCK01に示されるように)、すべての入力パケットは、PCK1サンプリングエッジよりも2ビット時間先に到着し、したがって、エッジN+1に代えてPCK1のN番目のサンプリングエッジに応答してサンプリングすることができ、それにより、システム読み取り待ち時間を1つのPCK1クロックサイクルだけ低減する(すなわち、待ち時間がPCK1サイクル1個分のシステム読み取り待ち時間にする)。MCK1がさらに2ビット時間間隔進められ(MCK10)、さらに多くのコントローラ側マージン(ひいては潜在的により多くのドリフト許容差)を提供する場合、同様の結果が達成される。しかし、MCK1がさらに2ビット時間間隔進められた場合(MCK11に示される)、PCK1直列化境界がなくなり(すなわち、コアからのデータが、そのように進められた時間において直列化の準備ができておらず)、1サイクル遅延したMCK1エッジに関してデータが直列化されることになり、したがって、MCK100の場合よりもメモリコントローラに到着する待ち時間がさらに長くなる。
図14Cに実証されるように、すべてではないが、いくつかのコアクロック調整設定を使用して、システム待ち時間の短縮を達成し得る。したがって、一実施形態では、各コアクロック調整設定が、例えば、上述したビット位置合わせ動作およびパケット位置合わせ動作を実行して、各設定で達成可能な最小システム待ち時間を特定することにより順にテストされる。2つ以上の設定が同じ最小システム待ち時間をもたらす場合、同じ最小待ち時間をもたらすこれら設定のメジアン設定または他の統計的に中心の設定を選択して、いずれの方向でも最大のドリフト許容差を提供し得る。図14Cの例では、同じ最小をもたらす2つのコアクロック位置合わせ設定があるため、追加の情報を収集して、2つの設定のうちのいずれが最大のドリフト許容差を提供するのかを判断し(その設定を較正結果として選択し)てもよく、または所定の選択を行ってもよい(例えば、常に最高値のコアクロック調整または最小の待ち時間をもたらす最後にテストされた調整を選択する)。
再び図14Aを参照すると、一実施形態では、コアクロック調整設定(CoreCkAdj[1:0])は、側波帯リンクを介してメモリ装置に通信され、それにより、設定をコントローラ側非直列化器較正の終了時かつコントローラ側直列化器較正の前に修正することが可能である。あるいは、完全な較正を実行し(非直列化器および直列化器)、その後、コアクロック調整を実行し、必要に応じて繰り返してもよい。
メモリ側コアクロック調整が、互いに相対してメモリ側コアクロックおよびコントローラ側コアクロックの位相をシフトさせることを考えると、メモリ側コアクロックではなくむしろコントローラ側コアクロックの位相をシフトすることにより、同じ相対位相シフトを代替として達成し得ることが分かる。一実施形態では、例えば、図2Aの8分周回路163は、PCK1の位相を8つの分周器状態のうちの任意の状態に進めることができ、したがって、PCK1をMCK1に相対してシフトできるように変更される。別の実施形態では、図2Aの2分周回路165は、PCK4の位相を半サイクル(実際には、反転された)進めることができるように変更される。さらに、クロック位相シフトに代えて、コントローラ側PCK4クロック停止論理内である数(1、2、または3)のPCK4パルスを抑制して、MCK1とPCK1との初期位相関係を設定して、上記待ち時間利点を達成する調整メカニズム。さらに別の実施形態では、位相シフト回路(例えば、補間器)をPLLの出力に設けて、転送クロックを、所望の(かつ実現可能な)分解能で位相ステッピングさせて、完全に較正されたドリフト許容差を有する短縮システム待ち時間を確立し得る(例えば、位相設定をステッピングまたは探索して、最小待ち時間窓の境界を見つけ、境界間に中心に置かれた最終位相を確立する)。
グリッチのない位相跳躍
一実施形態では、上記クロック停止論理は、周期的タイミング較正動作の開始時および終了時に利用されて、位相跳躍中に、クロック停止論理が使用されない場合にはコントローラ側の受信クロックおよび送信クロックに発生する恐れのあるグリッチを抑制(またはマスキング)する。すなわち、図15Aに示されるように、所与のリンクRCK8[i]のデータサンプリングクロックの位相が、ライブデータ(RCK8[i]LIVE)の受信に使用されるアイ中心位相から、タイミングドリフト(RCK8[i]PTC)の検出に使用される境界位相に急に遷移する(すなわち、CalClkSelアサートに応答しての位相跳躍)場合、非直列化器フレーム化論理をグリッチするのに十分に短いラントクロックパルス775が、正味クロック波形RCK8[i]NETにより示されるように、クロック線上に出現し得る。より詳細には、ラントパルス775の持続時間は、短すぎて、パケットフレーム回路内での不定動作として現れ(すなわち、フレームクロックの生成に使用されるカウンタ回路によりカウントされる場合もあれば、カウントされない場合もある)、それにより、ライブデータ転送に戻る(すなわち、周期的タイミング較正を終了する)際にパケットフレーム誤差をもたらす恐れがある。一般に、そのようなクロックグリッチおよび結果として生じる論理グリッチは、PTC位相跳躍動作中にコントローラ側クロックを抑制することにより回避し得る。
図15Bは、PTC前のクロック停止動作を示すタイミング図および結果として生成されるグリッチのないクロック波形(RCK8[i]NET)である。一般に、単一コアクロックサイクルクロック停止間隔が、ライブ動作(すなわち、実行時読み書きデータ転送)とPTC動作との遷移毎に挿入される。クロック停止間隔は、受信クロックがディセーブルである間に、ライブモードとPTCモードとのクロック位相選択遷移を行えるようにし、クロック停止間隔中にいかなる潜在的なラントパルスならびに他のすべての受信クロックパルスを抑制し、それにより、位相跳躍を非直列化器フレーム化論理にとってトランスペアレントにする。クロック再開時、受信クロックパルスは、新しい(PTC)クロック位相にも拘わらず、フレーム化論理により誤差なくカウントされる。この動作は、通常通りに付番されたパルスにより図15Bに示され、パルス0、1、および2はライブモード受信クロック位相(RCK8[i]LIVE)に応答してカウントされ、パルス3、4、5、6、7等は、PTCモード受信クロック位相(RCK8[i]PTC)に応答してカウントされる。ライブモードクロックおよびPTCモードクロックで抑制されたパルスは、グレーの陰影778内に示される。PTCモードクロックが、ライブモードクロックと並行して切り替わるものとして示されて、2つのクロック位相のオフセットを実証することに留意する。実際には、正味クロック結果RCK8[i]NETのみがRCK8[i]クロック線上に現れる。抑制されたラントパルス780を含む正味抑制パルスも、781においてグレーで示される。最後に、PTCモードからライブモードへの戻り位相跳躍でのラントパルスを回避するため、別の単一PCK1サイクルクロック停止動作が、782に示されるように実行される。
図16A〜図16Fは、クロック停止なしでグリッチのない位相跳躍が可能な周期的タイミング較正を実行する代替の様式に関する。一般に、この代替の手法は、PTCモードへのまたはPTCモードからの任意の遷移において、1つまたは複数の半ビット時間(または半単位間隔(UI))位相跳躍を優先して、任意の位相跳躍をなくす全く異なるクロックドリフト検出を含む。後述するように、各半UI位相跳躍を、前のクロック位相よりも半UI分先行する新しいクロック位相への遷移に制限することにより、すべてのクロックパルスの持続時間が少なくとも半UIであり、したがって、RCK8[i]クロックパルスのパルス幅よりも短いものがないことが保証される。最後に、一実施形態では、PTCモードの終了は、連続したコアクロックサイクルで実行される一続きの3つの半UI位相跳躍を含み、それにより、PTCモードへのまたはPTCモードからの遷移の際に、単位間隔2つ分(40.5UI=2UI)の全体的なコントローラ側位相前進をもたらす。したがって、メモリ側フレーム化論理およびデフレーム化論理に対するパケットフレーム化の同期を維持するために、メモリコントローラは、PTCモードを終了する際に、単位間隔2つ分(2ビット時間)だけフレームクロックを遅延させる。
図16Aは、アイ開口中ではなくデータアイ間の遷移で捕捉されるシグナリング波形のサンプルに基づく周期的タイミング較正を示す。一般に、データ値の入力シーケンスは、データアイ中間点において受信クロック信号(RCK)に応答してサンプリングして、搬送されたデータ値(d,di+1、di+2,di+3,・・・)に対応するデータサンプルシーケンス(s,si+1,si+2、si+3,・・・)をもたらし得る。さらに、シグナリング波形をオーバーサンプリングし、データアイの遷移(エッジ)でのサンプル、すなわち「エッジサンプル」(e,ei+1,ei+2,ei+3,・・・)をさらに捕捉することにより、エッジサンプルが先行または後続のデータサンプルのいずれかと一致しない場合に常に、位相情報を得ることができる。より詳細には、単位間隔が、定義により、シグナリング波形内の連続したエッジ間の時間であるため、波形が単位間隔毎に2回サンプリングされる、すなわち、サンプリングクロック信号に応答して1回サンプリングされて、データサンプルを生成し、サンプリングクロック(またはエッジクロック)を半UI分シフトしたものに応答して再びサンプリングされて、エッジサンプルを生成される場合、エッジサンプルと先行または後続するデータサンプルとの不一致は、実際に、シグナリング波形に遷移が発生し(「1」から「0に、またはこの逆に)、エッジサンプルが理想的なエッジサンプリング点よりも遅くまたは早く捕捉されたことを示す。この結果は、2つの早期/晩期の不均等性により図16Aに示され、eがsと等しくない場合、サンプルは、sからsi+1に遷移した後に捕捉され、したがって、遅く、eがsi+1と等しくない場合、サンプルは、sからsi+1に遷移する前に捕捉され、したがって、早い。したがって、所与の時間間隔(または所定数のエッジサンプル)にわたって得られる早期/晩期指示の大半により、エッジクロック(ひいてはサンプリングクロック)が理想的なサンプリング点よりも早いことが示されるか、または遅いことが示されるかを判断し、それに従ってエッジクロックおよびサンプリングクロックの位相を調整することにより、位相誤差情報を生成し得る。
一実施形態では、上記早期/晩期の判断は、周期的タイミング較正(PTC)動作中に、オーバーサンプリングなしで、及び、オーバーサンプリングに代えて、既知のデータパターンを送信し、半UI分だけシフトした受信クロック(すなわち、エッジクロック)を使用して対応するエッジサンプルを生成することにより行われる。図16Bは、排他的NOR(XNOR)ゲート803においてエッジサンプルセット(e,e,・・・,en−1)を既知のデータサンプル(d,d,・・・,dn−1,d)と比較し、結果として生成されるサンプル早期/サンプル晩期(sE/sL)を投票論理804に供給する位相誤差検出器801の実施形態を示す。一実施形態では、投票論理は、優勢な(大半の投票を構成する)指示が早期であるか、それとも晩期であるかに従って、位相インクリメント/デクリメント信号(「Inc/Dec」)を生成し、受信クロック信号の位置合わせカウントを更新するインクリメント/デクリメント信号を出力する組み合わせ論理回路である。
図16Cは、コントローラ側ドリフト補償非直列化器の周期的タイミング較正中に位相更新を行うために実行される例示的な動作シーケンスを示す。821において開始され、受信クロックは半UI(0.5UI)だけ位相前進する。その後、所定の(または予測可能)なテストデータパターンのメモリ側送信が開始される。一実施態様では、例えば、テストパターン送信を開始するサイドリンクコマンドがメモリ装置に発行される。あるいは、メモリ装置を上記ループバックモードにし、テストパターンをメモリコントローラからメモリ装置に送信し、次に、ループバック動作でメモリ装置からメモリコントローラにテストパターンを再送信し得る。いずれの場合でも、823において、メモリコントローラは、半UI分シフトされた受信クロックを使用して入力テストパターンをサンプリングして、825において、エッジサンプルシーケンスを生成する。エッジサンプルは、判断ブロック827において評価されて、クロック早期指示が優勢であるか(e<>d)、それともクロック晩期指示が優勢であるか(e<>di+1)が判断される。クロック早期指示が大半を構成する場合、受信クロックは、所望のサンプリング点よりも遅いとみなされ、828において、対応する位置合わせカウントがデクリメントされて、クロック位相を前進させる。逆に、クロック晩期指示が大半を構成する場合、受信クロックは所望のサンプリング点よりも早いとみなされ、829において、対応する位置合わせカウントがインクリメントされて、クロック位相を遅延させる。その後、受信クロックは、831において、1.5UIだけ進められて、較正前の位相を復元する。一実施形態では、この位相前進は、一続きの3つの0.5UI位相前進動作により行われて、図16Dおよび図16Eを参照して後述するように、較正前位相を復元する。最後に、833において、2ビット時間遅延がフレームクロック生成器に導入されて、受信クロックの2UI分の位相前進に起因する追加パルスを補償する。この動作について、図16Fを参照してさらに詳細に説明する。
図16Dは、位相前進信号(「Adv0.5UI」)に応答して、グリッチのない0.5UI位相前進を提供するクロック位相シフト回路の実施形態を示す。示されるように、回路は、ビットレート受信クロック(RCK8[i])の立ち上がりエッジおよび立ち下がりエッジ(ポジティブエッジおよびネガティブエッジ)のそれぞれによりクロック制御される、リング結合された差動エッジトリガフリップフロップ対841、843を含む。ポジティブエッジトリガフリップフロップ841の反転出力および非反転出力は、ネガティブエッジトリガフリップフロップ843の対応する反転入力および非反転入力に結合され、その一方で、ネガティブエッジトリガフリップフロップ843の反転出力および非反転出力は、ポジティブエッジトリガフリップフロップ841の非反転入力および反転入力にクロス結合される。この構成により、ポジティブエッジトリガフリップフロップ841のポジティブ(非反転)出力およびネガティブ(反転)出力は、ビットレートクロック(RCK8[i])の各立ち上がりエッジに応答して遷移し、2ビット時間毎に1回循環し、その一方で、ネガティブエッジトリガフリップフロップ843のポジティブ出力またはネガティブ出力は、ビットレートクロックの各立ち下がりエッジに応答して遷移し、2ビット時間毎に1回循環するが、ポジティブエッジトリガフリップフロップ841の出力に対して直交関係(半UIオフセット)にある。したがって、図16Eに示されるように、2UI間隔(すなわち、半ビットレートクロックサイクルの1サイクル)内で半UI位相オフセットで位相分布する4つの半ビットレートクロック信号:iCK_PおよびiCK_N(ポジティブおよびネガティブ「同相」クロック)ならびにqCK_PおよびqCK_N(ポジティブおよびネガティブ「直交」クロック)が生成される。図16Dに示されるように、4つのクロック信号は、マルチプレクサ847の入力ポートに供給され、2ビット(モジュロ4)カウンタ845の出力に応答して、出力されるものが選択される。一実施形態では、カウンタ845は、グレーコードカウンタ(例えば、カウントシーケンス=00,01,11,10,00,・・・)として実施されて、出力グリッチを回避し、位相前進信号(「Adv0.5UI」)に応答して前進して、順番に異なるクロック信号を選択して、ある半ビットレートクロックから次への位相跳躍を行う。この動作により、かつ各位相跳躍をある半ビットレートクロックから、半ビットレートクロックを半UIだけ前進させたもの(すなわち、矢印850により示されるように、iCK_PからqCK_N、qCK_NからiCK_N、iCK_NからqCK_P、および最後にqCK_Pから再びiCK_P)への跳躍に制限することにより、851および853に示されるように、最悪の場合(最短持続時間)のラントパルスの持続時間が、前進信号がいつインクリメントされようとも、少なくとも0.5UIであることが保証される。したがって、すべての論理回路が0.5UI間隔のクロックエッジに決定論的に応答可能(すなわち、データレート周波数クロックによりクロック制御可能)であることを保証することにより、明確でグリッチのない回路動作が保証される。
引き続き図16Dを参照すると、所与の半ビットレートクロックから半UI遅延クロックに戻る0.5UI位相跳躍(すなわち、周期的タイミング較正が完了した後にライブ動作を復元することが一般に望まれるため)が、グリッチのない同じ結果をもたらさないことが分かる。すなわち、不定の持続時間のラントパルスが、位相跳躍がいつ開始されるかに応じて生成され得る。一実施形態では、そのようなラントパルスは、連続したコアクロックサイクルで実行される一続きの3つの追加の半UI位相跳躍−合計で1.5UIにより、元(PTC前)のクロック位相への復帰を行うことにより回避される。最後に、4つの0.5UI位相前進の正味結果(1つがPTC中のエッジクロックを提供し、3つがデータサンプリングクロック位相を復元する)が、結果として生成されるクロックの位相を2単位間隔だけ前進させることであるため、ビットフレームクロックの生成に使用されるカウンタ回路は、2単位間隔だけ遅延されて、メモリ側パケットフレーム化との同期を維持する。この効果は、一続きの4つの半UI位相跳躍が、相手方のメモリ側クロック(MCK4)に対するコントローラ側クロック(RCK4)内の2つの追加のビットタイミングエッジになることを示す図16Fに概念的に示される。一実施形態では、フレームクロック遅延回路が、図3Aの非直列化器内に設けられて、PTCモード終了時にフレームクロック信号RCK1およびFCK1の生成に使用されるモジュロ8カウンタから2を減算し、それにより、適切なパケットフレーム境界を復元する。
図16Dに戻ると、位相跳躍回路の1つの結果が、半ビットレート受信クロックRCK4[i]をもたらすことであることが分かる。一実施形態では、この結果は、半ビットレートクロックの立ち上がりエッジおよび立ち下がりエッジの両方に応答して、データをクロックイン/クロックアウトするように、コントローラ側直列化/非直列化回路を変更することにより達成される。一実施形態では、例えば、図4Aおよび図4Bの半ビットレート直列化/非直列化回路はメモリコントローラ内に実装されて、MCK1に代えて、位置合わせカウントにより制御されるパケットフレームクロックを適用する。
図16A〜図16Fについてコントローラ側受信クロックタイミングを参照して説明したが、相手方の0.5UI位相跳躍動作(および送信クロック生成回路)を実行して、送信クロック位相の周期的タイミング較正を行ってもよい。例えば、送信クロック位相を0.5UIだけ位相前進させ、次に、結果として生成されるメモリ側で捕捉されるエッジサンプルを受信する(例えば、ループバックを介して)ことにより、同じインクリメント/デクリメント判断を行うことができ、この場合、エッジサンプルにより、早期メモリ側サンプリング時点が示される場合、送信クロック位相を前進させ(すなわち、データ位相を前進させ、メモリ側サンプリング時点を事実上、遅延させ)、エッジサンプルにより、晩期メモリ側サンプリング時点が示される場合、送信クロック位相をデクリメントする。同様に、PTC終了時、送信クロックの位相を、一続きの0.5UI位相跳躍で1.5UIだけ前進させて、較正前送信位相(ここではエッジドリフトに従って調整されている)を復元し得る。最後に、コントローラ側デフレーム回路を、カウント2つ分遅延させて、4つの0.5UI位相跳躍に起因する2つのタイミングエッジの追加(メモリ側タイミングに相対する)を補正し得る。
低電力クロック停止モードを有するメモリシステムのシステム応用
低電力クロック停止モードを有するメモリシステムについて、メモリコントローラおよび単一のメモリ装置の文脈の中でこれまで説明してきた。そのような密に結合されたコントローラ/メモリシステムは、いくつかのモバイル用途で使用し得るが、単一のメモリコントローラ集積回路(コントローラIC)は代替として、様々なアーキテクチャで配置された複数のメモリ装置(メモリIC)を制御することもできる。さらに、1つまたは複数のメモリICの別個の群をそれぞれ制御する複数のメモリコントローラチャネルを単一のICに実装してもよく、それにより、複数のコントローラ側I/O回路および開ループメモリ側クロック分配回路にクロック信号を生成することが可能である。
図17Aは、単一のコントローラIC751および複数のメモリIC755〜755n−1を有するクロック一時停止可能なメモリシステム750の実施形態を示す。図示の実施形態では、メモリ装置(まとめて755)は、メモリモジュール753(一般に、バックプレーンまたはマザーボードに着脱可能に接続するためのエッジコネクタを有し、それにより、追加のメモリモジュールが挿入された場合にメモリ容量の拡大が可能な回路基板)上に配置され、図2Aに示されるようなI/Oインタフェースおよび開ループクロック分配装置を個々に含む。その場合、示される各シグナリングリンク群(752)は、メモリコントローラとメモリ装置のそれぞれ1つとの間に点ツー点接続を含み得、専用クロックCAおよびデータリンクを(必要な場合には、データマスクも)含み得る。あるいは、いくつかまたはすべてのシグナリングリンクをメモリモジュールのすべてのメモリ装置に分配し得る(例えば、マルチドロップ式ですべてのメモリ装置に結合されたクロックリンクおよび/またはマルチドロップ式ですべてのメモリ装置に結合されたコマンドリンク)。さらに、各シグナリングリンクを複数のメモリ装置に結合し(例えば、データリンク[0〜N−1]が複数のメモリモジュール753のそれぞれの第1のメモリICに結合され、データリンク[N+1〜2N]が、メモリモジュールのそれぞれの第2のメモリICに結合される等のように、データリンクがいくつかのメモリモジュールにわたってメモリ装置の一部分に結合される)、それにより、マルチドロップデータパスおよび/またはコマンドパスを確立し得る。後者の場合、所与のメモリアクセストランザクションに選択されたメモリモジュール(または同じモジュール上の2つ以上のそのような群から選択されるメモリ装置群)に応じて、追加のタイミング補償値を適用し得る。その場合、パケット、ビット、および位相の調整値を、各群に保持される別個の位置合わせレジスタセットを使用して、所与のメモリアクセストランザクションの標的であるメモリ装置群に応じて動的に切り替え得る。
図17Bは、この場合には、図2Aに示されるメモリ側I/Oインタフェースに対応するインタフェース777を実施するモジュール搭載バッファIC775を有する別のメモリシステム実施形態を示す。この構成により、クロック停止低電力モードを有する高速シグナリングシステムをメモリコントローラ771とバッファIC775との間に実施し、より従来的なインタフェース729を、バッファICと、メモリモジュール773上にバッファIC775に沿って配置されたメモリ装置781〜781N−1、782〜782N−1との間に実施し得る。一実施形態では、例えば、コマンド/アドレス値は、バンクアドレス、行アドレス、および列アドレスのみならず、バッファIC775がコマンドを転送すべき個々のメモリ装置781、782(またはメモリ装置群)のアドレスも含む。バッファICは、最終的にアドレス選択されたメモリ装置(またはメモリ装置群)に分配する入力書き込みデータおよびメモリコントローラに転送すべき読み取りデータを入れるためのデータ入出力バッファをさらに含み得る。一例として、一実施形態では、バッファIC−メモリ装置インタフェースは、リンクの保全性を維持するためにオンメモリPLL/DLLを必要としない比較的遅いシグナリングインタフェースであり、または標準のストローブに基づくシグナリングを使用して実施してもよい。
階層電力モード
一実施形態では、上述したメソクロナス低電力シグナリングシステムは、アクティブ動作モード(アクティブモード)および上述したクロック停止低電力モードに加えて、2つの他の電力モード:信号送信器および受信器内のバイアス電流源が遮断される電力者遮断モードおよびコントローラ側PLL(図2Aの要素161)を、コントローラコア内の論理回路と共にディセーブルし得る大規模電力遮断モードをサポートする。すべての電力モード間の遷移は、コントローラコアからのコマンドトラフィックに応答して、上述した電力モード論理により管理し得る。電力モード(本明細書では電力状態とも呼ばれる)を使用して、終了待ち時間の増大と引き替えに消費電力の低減を得る。以下の表(表1)に、アクティブモード(P4)ならびに3つの低電力モードを示して、一実施態様でのメモリコントローラ電力状態性能をまとめる。
Figure 0005855726
示されるように、P4(アクティブ)モードでは、4.3GB/s(ギガバイト毎秒)DQ帯域幅が114.7mW(3.3mW/Gb/s)で提供される。P3モードでは、クロック分配は、上述したように一時停止され、DQ出力ドライバ、入力増幅器、およびデータサンプラをさらにディセーブルし得る。P2モードでは、すべての送受信器がディセーブルされ(クロック送信回路およびクロック受信回路を含む)、クロック乗算器のみがアクティブである。P1モードでは、漏れ電力のみが消費される。各電力状態の開始待ち時間をプログラム可能にし(最小のゼロ並列(PCK1)クロックサイクルで)、状態遷移のフロー制御の増強を提供し得る。高速電力状態遷移時間により、ピーク帯域幅が必要ない場合、バースト転送を効率的に使用することが可能である。メモリアクセスポリシーおよびトラフィックプロファイルの詳細により、電力状態の利用および最大効率が決まる。上述したように、コントローラ−メモリシグナリングインタフェースがアイドルの場合、ルートにおけるクロック分配を同期して一時停止させ、メモリコントローラおよびメモリ装置の両方内で下流回路を正確に停止し、上記表に示される高速電力状態遷移時間を可能にすることにより、電力が節減される。
異なる電力モード間の遷移は、例えば、トランザクションキュー109の状態(空か、もしくは入っているか)および/またはホストプロセッサもしくはホストコントローラからの明示的な電力関連制御信号に基づいて図1Aの電力モード論理111により管理し得る。例えば、図18Aに示される一実施形態では、電力モード論理111は、メモリアクセス要求のない時間が増大するにつれて、漸進的に低い電力モードに−アクティブ(P4)からクロック停止(P3)、電力遮断(P2)、そして大規模電力遮断(P1)に遷移する状態機械を含む。したがって、トランザクションキューが最初に空であり、最後にキューから出されたトランザクションが完了した(すなわち、トランザクションに関連するすべてのI/O動作が完了した)場合、電力モード論理は、アクティブ状態からアイドル状態に遷移し、クロックイネーブル信号をデアサートして、システムクロック信号およびコントローラI/Oクロック信号を一時停止させる。その後、トランザクションキューが、所定またはプログラムされた数のメモリアクセスサイクルにわたって空のままであり続ける場合、電力モード論理は、アイドル状態から電力遮断状態に遷移し、メモリ装置およびメモリコントローラ内の送信器および受信器をディセーブルする信号を発行する。トランザクションキューが、電力遮断モードP2になった後、長い時間間隔(例えば、プログラム可能な別の時間間隔)にわたって空のままである場合、またはさらなる低電力モードになる明示的なホストコマンドを受信する場合、電力モード論理は、コントローラ側コア内の回路(例えば、ホスト側データパスとインタフェースする回路)と共に、コントローラ側PLLの動作をディセーブルすることにより、大規模電力遮断状態になり得る。コントローラコアクロックがPLLにより生成される実施形態では、代替のクロックソースを、ホストプロセッサまたはホストコントローラからの任意のメモリアクセス要求またはウェイクアップ/パワーアップコマンドに応答するために必要な回路に切り替え可能に設け得る(例えば、マルチプレクサを介して)ことに留意する。図2Aに示されるようにPCK8信号を分周することによりコントローラコアクロックを生成することに代えて、基準クロック信号または復元された基準クロック信号をコントローラコアクロックとして使用することができ、それにより、PLLが遮断された後であっても、コアクロックのクロック可用性を保証する。
引き続き図18Aを参照すると、メモリアクセス要求または明示的なウェイクアップ/パワーアップコマンドがホストコントローラ/ホストプロセッサから受信された場合、電力モード論理は、これに応答して、コントローラ側PLLおよび他のディセーブルされていたコントローラコア回路をオンにする。その後、電力モード論理は、コントローラ側およびメモリ側のクロック、コマンド/アドレス送信器、および相手方のメモリ側受信器をイネーブルすることにより、システムを電力遮断状態P2からクロック停止状態P3に遷移させる。最後に、電力モード論理は、システムクロック信号およびコントローラI/Oクロック信号を切り替えられるようにすることにより、システムをクロック停止(アイドル)状態P3からアクティブ状態P4に遷移させる。
図18Bは、図2Aの実施形態に対応するメモリシステムアーキテクチャ790を示すが、P4、P3、およびP2電力モードでシャットダウンされた回路に関してさらに詳細に示す。まず、メモリ側I/O回路793を参照すると、読み取りイネーブル信号および書き込みイネーブル信号(EnRおよびEnW)が、メモリコアから提供されて、実行中の列動作に従ってデータ線231およびマスク線241の信号受信器(234)ならびにデータ線231の信号送信器233のイネーブルおよびディセーブルを選択的に行う。すなわち、書き込みデータまたは書き込みマスクを受信しないアクティブモード(P4)でのメモリ読み取り動作中、メモリコア論理内の要求復号化論理は、書き込みイネーブル信号(EnW)をローにして、書き込みデータ受信器および書き込みマスク受信器内の電力消費回路を遮断し、それにより、消費電力を低減する。同様に、読み取りデータが送信されないアクティブモードでのメモリ書き込み動作中、メモリコア論理は読み取りイネーブル信号(EnR)をローにして、読み取りデータ送信器内の電力消費回路を遮断する。
一実施形態では、I/O増幅器の遮断は、データ信号を受信/送信するために設けられる差動またはシングルエンド受信器/送信器内の1つまたは複数のバイアス電流源をディセーブルすることにより行われる。図18Cは、そのような受信器または送信器の部分を形成し得る差動増幅器810の例示的な実施形態を示す。示されるように、増幅器810は、受動または能動プルアップ負荷811と、差動結合された入力トランジスタ813a/813bと、バイアス電流源815と、遮断トランジスタ817とを含む。書き込みイネーブルまたは読み取りイネーブル信号(全体的に「En」)がハイになる場合、遮断トランジスタ817は導通状態に切り替えられて、バイアス電流源815内にDCバイアス電流を流せるようにし、それにより、差動増幅器の出力ノード(outP、outN)を、増幅器の入力ノードinPおよびinNに適用される差動信号に従って差動的にハイおよびローにすることができる。イネーブル信号がローになった場合、遮断トランジスタ817は実質的に非導通状態に切り替えられ、DCバイアス電流の流れをディセーブルし、したがって、増幅器を低電力状態にする。代替の実施形態では、遮断は、遮断トランジスタまたは他の切り替え要素を、限定ではなく例として、バイアス電流源815内が挙げられる、増幅器810内の他の場所に含めることにより行い得る。
図18Bに示される信号受信器234および送信器233が、入出力信号の増幅以上のことを行ってもよく、したがって、図18Cの例示的な増幅器に加えて(または代替として)回路を含み得ることに留意されたい。例えば、受信回路および/または送信回路(「受信器/送信器」)は、レベルシフト動作(例えば、シグナリングリンク上で搬送される小振幅信号と、非直列化回路に提供されるか、または直列化回路から受信される論理レベル信号との間のでシフト)をさらに実行し得る。受信器/送信器は、タイミングのとられたサンプリング/出力動作の実行、電圧増幅/減衰ありもしくはなしの電流駆動の増大、スルーレート制御の提供、電圧調整の供給等を行い得る。これら動作のうちの任意またはすべての動作は、安定状態(「DC」)電流源またはイネーブル信号に応答して素早くディセーブルおよびイネーブル(オンオフ)を行うことができる他の電力消費回路を使用し得る。
図18Dは、メモリ書き込み要求およびメモリ読み取り要求のそれぞれの入力に応答して、書き込みイネーブル信号および読み取りイネーブル信号(EnWおよびEnR)のコマンドに基づくアサーションを示すタイミング図である。メモリ側I/Oクロック信号(MCK4)、コマンド/アドレス信号、データマスク、およびデータ読み/書き信号はすべて、図12A〜図12Cを参照して上述したような全体的なタイミング関係を有する。示される特定のコマンドシーケンスでは、バンクアドレス(Ba)および列アドレス(Ca)を含む列書き込みコマンド(WR)が、時間821において、メモリ装置内で受信され、対応する書き込みデータが、後に、所定の時間tRWDにおいて到着する。要求復号化論理は、書き込みコマンドに応答して、書き込みイネーブル間隔(tWR−ENW)が経過した後、書き込みイネーブル信号(EnW)をハイにし、それにより、書き込みデータ入力前にデータ入力受信器(すなわち、書き込みデータ受信器およびデータマスク受信器)が動作できるようにし、受信器が安定化する時間tENW−Dを提供する。書き込みデータを受信した後、続く書き込み要求が受信されず、したがって、すぐに続く(すなわち、連続する)書き込みデータ受信がスケジュールされない場合、要求復号化論理は、時間間隔tD−ENW後に書き込みイネーブル信号をデアサートして、データ入力受信器を低電力状態に戻し得る。特定の時間間隔が、単に例として示され、異なるtWRD、TWR−ENW、tENW−D、およびtD−ENW間隔を代替の実施形態において実施し得ることに留意する。
引き続き図18Dを参照すると、バンクアドレス(Ba)および列アドレス(Ca)を含む列読み取りコマンド(RD)が、時間823において、メモリ装置内で受信され、対応する読み取りデータは、後に、所定の時間tCLにおいて出力される。要求復号化論理は、読み取りコマンドに応答して、読み取りイネーブル間隔(tRD−ENR)が経過した後、読み取りイネーブル信号(EnR)をハイにし、それにより、読み取りデータ送信前にデータ出力送信器(すなわち、読み取りデータ送信器)が動作できるようにし、送信器が安定化する時間tENR−Qを提供する。読み取りデータを受信した後、続く読み取り動作が受信されず、したがって、すぐに続く(すなわち、連続する)読み取りデータ送信がスケジュールされない場合、要求復号化論理は、時間間隔tQ−ENR後に読み取りイネーブル信号をデアサートして、データ出力送信器を低電力状態に戻し得る。特定の時間間隔が、単に例として示され、異なるtCL、tRD−ENR、tENR−Q、およびtQ−ENR間隔を代替の実施形態において実施し得ることに留意する。
図18Bに戻ると、トランザクションキューが、クロック停止低電力モードP3(すなわち、アイドルモード)に遷移した後に引き続き空のままであると判断された場合、電力遮断信号またはコマンド(PD)が、コントローラコア内の電力モード論理によりアサートされる。電力遮断信号は、電力モードドライバ795、リンク(PM[1])、および受信器797を介してメモリ装置に転送され、受信器797内のイネーブル論理回路799内で受信され、受信に応答して、イネーブル論理回路799はコマンドイネーブル信号EnCK/CAをローにする。コマンドイネーブル信号は入力受信器223a/223b、システムクロックインタフェース221、およびコマンド/アドレスインタフェース243内に供給され、したがって、ローになった場合、対応するクロックの入力受信器およびコマンド/アドレスリンクをディセーブルして、本明細書では電力遮断モードP2と呼ばれるさらなる低電力状態を確立する。
図18Eは、電力遮断モードの開始および終了を示すタイミング図であり、終了はメモリ書き込み要求によりトリガする。示されるように、最後のコマンドメモリアクセス要求(OP)が、時間833から始まって受信され、クロック停止低電力モードに入る前の間隔tCA(OP)−CK中に(すなわち、クロックサイクル32において)処理される。上述したように、tCA(OP)−CK間隔は異なるコマンドで異なってもよく、トランザクションキューから出された最後のメモリアクセス要求を完了するために必要な時間(すなわち、完了するための供給クロックエッジ数)を表す。メモリ読み取り動作は、例えば、行プレチャージコマンドよりも終了までにより多数のクロック数を必要とし得る。
トランザクションキューが、クロック停止後、所定またはプログラムされた時間間隔(tCK−PM)にわたって空のままであり続けた場合、コントローラ側電力モード論理は電力遮断信号(PD)をアサートし、その結果、短時間後(すなわち、遅延tPM−EN後)に、コマンドイネーブル信号EnCk/CAがデアサートされ、それにより、システムクロックの入力受信器およびコマンド/アドレスリンクをディセーブルし、電力遮断モードを確立する。
電力遮断モード(P2)が代替または追加として、コマンド/アドレスパスを介して送信されるコマンドに応答してもよいことに留意されたい。そのような構成では、P4またはP3モードである間に他の動作を示す1つまたは複数のコマンドと共に、電力遮断制御を含めることができる(例えば、1つまたは複数の埋め込みビットとして)。コマンド経路上で受信するコマンドを介して電力遮断モードになった後、電力遮断信号を使用して、コマンドパスおよびクロック信号受信器の再イネーブルをトリガし、それにより、クロック停止モード(P3)への再遷移を行う。
新しいメモリアクセス要求が、コントローラ側トランザクションキュー内に入った場合、電力モード論理は、電力遮断信号をローにして、電力遮断モードからクロック停止モード(すなわち、P2からP3)に遷移できるようにする。メモリ側イネーブル論理(図18Bの799)は、電力遮断信号のデアサートに応答して、短時間後(すなわち、間隔tPM−EN後)、コマンドイネーブル信号をハイにし、クロックの入力受信器およびコマンド/アドレスリンクをイネーブルし、それにより、アクティブモードに戻すためにメモリ装置を準備する。したがって、コマンドイネーブル信号がハイになってから時間間隔(tEN−CK)後、システムクロックは、メモリ装置のクロック停止モードからアクティブモード(P3からP4)への遷移を再開する。その後間もなく、アクティブモードへの復帰をトリガするメモリアクセス要求が、コマンドパスを介してメモリ装置内で受信され、その後、所定の時間後、対応するデータが受信される。図示の特定の実施形態では、メモリアクセス要求は、書き込みイネーブル信号がアサートされて、書き込みデータ受信器の入力増幅器が、示された時間において書き込みデータを受信できるようにするような列書き込み要求である。メモリアクセス要求は、代替として、図18Dに示されるように、列読み取り要求(この場合、読み取りイネーブル信号は、時間tRD−ENR後にハイになり、読み取りデータ増幅器の動作をイネーブルする)または行アクセス要求であってもよい。
図18A〜図18Eを参照して説明された電力モード遷移およびサポート回路を考慮して、電力モード制御のさらなる改良を提供し得ることに留意されたい。例えば、システムクロックの入力受信器およびコマンド/アドレスリンクは、単一の制御信号によりイネーブルされるものとして示されるが、代替の実施形態では、別個のイネーブル信号をリンクに対して設け、それにより、一方のリンクを他方のリンクの前または後にディセーブル/イネーブルし、または互いに独立してリンクをイネーブルすることが可能であり得る。さらに、特にクロックバッファ229および227がかなりの電流を消費する回路(例えば、電流モード論理)により実施される場合、クロックリンクの入力受信器をイネーブルするために適用される信号(または1つもしくは複数の追加のイネーブル信号)を、さらにクロックバッファ229および227に供給し得る。さらに、電力モード信号は、専用リンクを介して供給されるものとして示されるが、代替として、電力遮断信号は、共有リンクを介して送信して(例えば、図2に示される側波帯リンクに時間多重化して)、ピン数を低減し得る。コントローラ側回路内に、電力遮断信号をコントローラコアクロック信号または別のコントローラ側タイミング信号と同期させる論理回路を設けてもよい。さらに、図18Bには特に示されていないが、追加のイネーブル信号を提供して、実行中の動作および電力モードに従ってコントローラ側の送信回路および受信回路を選択的にイネーブルしてもよい。例えば、読み取りイネーブル信号および書き込みイネーブル信号(EnR、EnW)に対応する信号を、コントローラコア論理からデータ受信器およびデータ/マスク送信回路(例えば、図18Bの要素188、187)に提供して、メモリ読み取り動作中にデータ/マスク送信器をディセーブルし(かつデータ受信器をイネーブルし)、メモリ書き込み動作中にデータ受信器をディセーブル(かつデータ/マスク送信器をイネーブル)し得る。電力遮断信号は、コマンド/アドレス直列化207内のコマンド/アドレス送信器、任意のクロック送信器175、およびオンチップクロック分配回路173を選択的にイネーブルし、それにより、メモリコントローラ内の電力遮断モード(P2)をイネーブルし、クロック停止動作自体に加えて、節電を提供するために使用することもできる。コントローラ側読み取りイネーブル/書き込みイネーブル信号および電力遮断信号のタイミングは一般に、図18Dおよび図18Eにおいて相手方であるメモリ側信号について示されるタイミングに対応する。
上記選択肢および代替に加えて、クロック停止モードから電力遮断モードに遷移する前に発生すべきtCK−PM時間間隔は、システム動作ポリシーまたは用途要件に従ってプログラム可能に選択し得る(例えば、コントローラ側電力モード論理内のレジスタ内にプログラムし得る)。より一般には、図18Dおよび図18Eに示されるすべてのタイミング間隔は、単なる例として提供され、必ずしも原寸に比例せず、動作要件を満たすために必要に応じて変更し得る。
物理的な実施形態の電子表現
本明細書において開示される様々な集積回路、ダイ、およびパッケージを、コンピュータ支援設計ツールを使用して説明し得、挙動特徴、レジスタ転送特徴、論理構成要素特徴、トランジスタレイアウトジオメトリック特徴、および/または他の特徴に関して、様々なコンピュータ可読媒体に具現されるデータおよび/または命令として表現(または表)され得ることに留意されたい。
1つまたは複数のコンピュータ可読媒体を介してコンピュータシステム内で受信された場合、上記回路のそのようなデータおよび/または命令に基づく表現は、そのような回路の物理的発現の表現またはイメージを生成するネットリスト生成プログラム、配置配線プログラム等が挙げられるが、これらに限定されない1つまたは複数の他のコンピュータプログラムと併せて、コンピュータシステム内の処理エンティティ(例えば、1つまたは複数のプロセッサ)により処理し得る。そのような表現またはイメージはその後、例えば、装置組立プロセスにおいて回路の様々な構成要素を形成するために使用される1つまたは複数のマスクの生成を可能にすることにより、装置の組立に使用し得る。
上記説明および添付図面において、本発明の完全な理解を提供するために、特定の用語および図面記号を記した。場合によっては、用語および記号は、本発明を実施するために必要ない特定の詳細を暗示し得る。例えば、任意の特定の数のビット、信号パス幅、シグナリング周波数、動作周波数、構成要素回路、または構成要素装置等は、代替の実施形態では、上述したものと異なってもよい。また場合によっては、周知の回路および装置は、本発明を不必要に曖昧にしないために、ブロック図の形態で示される。さらに、回路要素またはブロックの相互接続は、バスまたは単一の信号線として示すことができる。各バスは、代替として単一の信号線であってもよく、単一の信号線のそれぞれが、代替としてバスであってもよい。シングルエンドとして示され説明される信号およびシグナリングパスは、差動であってもよく、またはこの逆であってもよい。信号駆動回路は、信号駆動回路が、信号駆動回路と信号受信回路との間に結合される信号線上の信号をアサート(または状況により明示的に表明または示される場合、デアサート)する場合、信号を信号受信回路に「出力」すると言われる。表現「タイミング信号」は、本明細書では、集積回路装置内の1つまたは複数の動作のタイミングを制御する信号を指すために使用され、クロック信号、ストローブ信号等を含む。「クロック信号」は、本明細書では、1つまたは複数の集積回路装置上の回路間で動作を調整するために使用される周期的タイミング信号を指すために使用され、自励発振信号およびゲート(すなわち、一時停止または停止が可能な)発振信号の両方を含む。「ストリーブ信号」は、本明細書では、遷移して、ストローブ中である装置または回路への入力にデータが存在することを示し、したがって、バーストデータ送信中に周期性を示し得るが、(パーク状態からの遷移または他の制限されたプリアンブルもしくはポストアンブル遷移を除く)、データ送信がない場合、安定状態に留まるタイミング信号を指すために使用される。用語「結合」は、本明細書では、直接接続ならびに1つまたは複数の介在回路または構造を通しての接続を表現するために使用される。集積回路素子の「プログラム」は、例えば、ホスト命令に応答して、制御値を装置内のレジスタもしくは他の記憶回路にロードし、それにより、装置の動作態様を制御すること、ワンタイムプログラミング動作(例えば、装置製造中での構成回路内のフューズを飛ばすこと)を通して装置構成を確立もしくは装置の動作態様を制御すること、および/または装置の1つもしくは複数の選択されたピンもしくは他の接触構造を基準電圧線に接続して(ストラッピングとも呼ばれる)、特定の装置構成もしくは装置の動作態様を確立することを含み得るが、これらに限定されない。用語「例示的な」および「実施形態」は、好ましさまたは要件ではなく例を表すために使用される。
本発明について、本発明の特定の実施形態を参照して説明したが、広義の主旨および範囲から逸脱せずに、様々な変形および変更を行い得ることが明らかであろう。例えば、任意の実施形態の特徴または態様を、少なくとも実施可能な場合、他の任意の実施形態と組み合わせて、または相手方の特徴もしくは態様に代えて適用し得る。したがって、本明細書および図面は、限定的な意味ではなくむしろ例示的な意味で考えられるべきである。

Claims (17)

  1. メモリコントローラであって、
    第1タイミング信号をメモリ装置に出力するドライバ回路であって、前記第1タイミング信号は前記メモリ装置から前記メモリコントローラへのデータ信号の送信のタイミングをとる、ドライバ回路と、
    制御信号が第1の状態の場合に前記第1タイミング信号をイネーブルし、前記制御信号が第2の状態の場合に前記第1タイミング信号をディセーブルする制御回路と、
    前記第1タイミング信号を生成し、かつコントローラコアクロック信号を生成するクロック生成回路と
    を備え、
    前記制御回路は、前記第1タイミング信号がディセーブルされる間隔が、前記コントローラコアクロック信号の整数サイクルだけ延長するための回路を備え、前記整数は1以上であり、
    メモリアクセストランザクションが未完のままであるか否かに応じて、前記制御信号を前記第1の状態または前記第2状態のいずれかで出力するモード制御回路をさらに備える、メモリコントローラ。
  2. 前記データ信号で搬送されるデータの各ビットは、それぞれのビット時間中、前記メモリ装置の出力において有効であり、前記データ信号と前記第1タイミング信号との間の位相オフセットは少なくとも前記ビット時間だけドリフトすることが許される、請求項1に記載のメモリコントローラ。
  3. 前記第1タイミング信号を生成するクロック生成回路をさらに備え、前記第1タイミング信号は、前記メモリ装置から前記メモリコントローラに送信された前記データ信号で搬送されるデータの各ビットに対してそれぞれの遷移を含む、請求項1に記載のメモリコントローラ。
  4. 前記第1タイミング信号は、差動タイミング信号を含む、請求項1に記載のメモリコントローラ。
  5. 前記第1タイミング信号を生成し、かつ第2タイミング信号を生成するクロック生成回路と、
    前記第2タイミング信号に応答して、前記メモリ装置からの前記データ信号をサンプリングする受信回路と
    をさらに備える、請求項1に記載のメモリコントローラ。
  6. 前記制御回路は、前記第2タイミング信号を選択的にイネーブルおよびディセーブルする回路を備える、請求項5に記載のメモリコントローラ。
  7. 前記第2タイミング信号を選択的にイネーブルおよびディセーブルする前記回路は、前記制御信号に応答し、前記制御信号が前記第1の状態である場合に前記第2タイミング信号をイネーブルし、前記制御信号が前記第2の状態である場合に前記第2タイミング信号をディセーブルする、請求項6に記載のメモリコントローラ。
  8. メモリアクセス要求を保存するトランザクションキューをさらに備え、前記モード制御回路は、前記トランザクションキューが空であるか否かに少なくとも部分的に基づいて、前記制御信号を前記第1の状態または前記第2の状態のいずれかで出力する回路を備える、請求項に記載のメモリコントローラ。
  9. メモリアクセス要求を保存するトランザクションキューをさらに備え、前記モード制御回路は、(i)前記トランザクションキューが空であり、かつ(ii)前記トランザクションキュー内に以前入れられたメモリアクセス要求に関する情報が、前記第1タイミング信号または前記第2タイミング信号によりクロック制御される回路内で処理されるべき状態で残っていない場合に、前記制御信号を前記第2状態で出力する回路を備える、請求項に記載のメモリコントローラ。
  10. 前記第1タイミング信号を生成し、かつコントローラコアクロック信号を生成するクロック生成回路をさらに備え、前記第1タイミング信号は、切り替えがイネーブルの時は、前記コントローラコアクロック信号のサイクルごとに所定数のパルスを示し、切り替えがディセーブルの時は、前記第1タイミング信号のパルス数が抑制され、前記制御回路は、前記抑制されたパルス数が、前記コントローラコアクロック信号のサイクルごとの前記所定数のパルスの整数倍Nになるようにする回路を備え、Nは1以上である、請求項1に記載のメモリコントローラ。
  11. 前記第1タイミング信号をディセーブルする前に、1つ以上の無演算指示を前記メモリ装置に出力する回路をさらに備える、請求項1に記載のメモリコントローラ。
  12. 前記制御信号の前記第2の状態から前記第1の状態への遷移に続き、1つ以上の無演算指示を前記メモリ装置に出力する回路をさらに備える、請求項1に記載のメモリコントローラ。
  13. 前記制御回路は、電力遮断信号を前記メモリ装置に出力して、前記メモリ装置内のタイミング信号受信機を漸減電力状態にする回路を備え、前記タイミング信号受信機は、前記第1タイミング信号を受信するために前記メモリ装置内に設けられる、請求項1に記載のメモリコントローラ。
  14. メモリコントローラ内で動作する方法であって、
    メモリ装置から前記メモリコントローラへのデータ信号の送信のタイミングをとるために第1タイミング信号を前記メモリ装置に出力すること、および、
    メモリアクセストランザクションが未完のままであるか否かに応じて、前記第1タイミング信号を選択的にイネーブルおよびディセーブルすることであって、前記第1タイミング信号がディセーブルされる間隔が、コントローラコアクロック信号の整数サイクルにわたり延長することを含み、前記整数は1以上であること
    を含む、方法。
  15. 前記メモリアクセストランザクションが未完のままであるか否かに応じて前記第1タイミング信号を選択的にイネーブルおよびディセーブルすることは、メモリアクセス要求がトランザクションキュー内に入れられたままで残っているか否かを特定することを含む、請求項14に記載の方法。
  16. 前記第1タイミング信号を前記メモリ装置に出力することは、前記メモリ装置にクロック信号を出力することを含む、請求項14に記載の方法。
  17. 前記第1タイミング信号は、前記メモリ装置から前記メモリコントローラに送信された前記データ信号内で搬送されたデータの各ビットに対してそれぞれの遷移を含む、請求項14に記載の方法。

JP2014200774A 2009-01-12 2014-09-30 クロック転送低電力シグナリングシステム Active JP5855726B2 (ja)

Applications Claiming Priority (14)

Application Number Priority Date Filing Date Title
US14413509P 2009-01-12 2009-01-12
US61/144,135 2009-01-12
US15687209P 2009-03-02 2009-03-02
US61/156,872 2009-03-02
US17747809P 2009-05-12 2009-05-12
US17759909P 2009-05-12 2009-05-12
US17746709P 2009-05-12 2009-05-12
US17760609P 2009-05-12 2009-05-12
US17759609P 2009-05-12 2009-05-12
US61/177,606 2009-05-12
US61/177,599 2009-05-12
US61/177,596 2009-05-12
US61/177,467 2009-05-12
US61/177,478 2009-05-12

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2011545343A Division JP5627603B2 (ja) 2009-01-12 2009-07-09 クロック転送低電力シグナリングシステム

Publications (2)

Publication Number Publication Date
JP2015038802A JP2015038802A (ja) 2015-02-26
JP5855726B2 true JP5855726B2 (ja) 2016-02-09

Family

ID=42316691

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2011545344A Pending JP2012515376A (ja) 2009-01-12 2009-07-09 クロック転送低電力シグナリングシステム
JP2011545343A Active JP5627603B2 (ja) 2009-01-12 2009-07-09 クロック転送低電力シグナリングシステム
JP2011545345A Pending JP2012515377A (ja) 2009-01-12 2009-07-09 クロック転送低電力シグナリングシステム
JP2014200774A Active JP5855726B2 (ja) 2009-01-12 2014-09-30 クロック転送低電力シグナリングシステム

Family Applications Before (3)

Application Number Title Priority Date Filing Date
JP2011545344A Pending JP2012515376A (ja) 2009-01-12 2009-07-09 クロック転送低電力シグナリングシステム
JP2011545343A Active JP5627603B2 (ja) 2009-01-12 2009-07-09 クロック転送低電力シグナリングシステム
JP2011545345A Pending JP2012515377A (ja) 2009-01-12 2009-07-09 クロック転送低電力シグナリングシステム

Country Status (6)

Country Link
US (12) US8432768B2 (ja)
EP (5) EP2356657A4 (ja)
JP (4) JP2012515376A (ja)
KR (3) KR101375466B1 (ja)
CN (3) CN102257571A (ja)
WO (5) WO2010080172A1 (ja)

Families Citing this family (210)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7095789B2 (en) 2004-01-28 2006-08-22 Rambus, Inc. Communication channel calibration for drift conditions
US8422568B2 (en) 2004-01-28 2013-04-16 Rambus Inc. Communication channel calibration for drift conditions
US20070260841A1 (en) * 2006-05-02 2007-11-08 Hampel Craig E Memory module with reduced access granularity
WO2009076097A1 (en) * 2007-12-06 2009-06-18 Rambus Inc. Edge-based loss-of-signal detection
US9431091B2 (en) 2008-06-06 2016-08-30 Uniquify, Inc. Multiple gating modes and half-frequency dynamic calibration for DDR memory controllers
WO2010080172A1 (en) 2009-01-12 2010-07-15 Rambus Inc. Clock-forwarding low-power signaling system
CN102171967A (zh) * 2009-03-25 2011-08-31 松下电器产业株式会社 接口电路
US9565036B2 (en) * 2009-06-30 2017-02-07 Rambus Inc. Techniques for adjusting clock signals to compensate for noise
WO2011025557A1 (en) 2009-08-31 2011-03-03 Rambus Inc. Forwarding signal supply voltage in data transmission system
EP2302519B1 (en) * 2009-09-09 2013-01-16 ST-Ericsson SA Dynamic frequency memory control
US8804411B1 (en) * 2009-09-11 2014-08-12 Micron Technology, Inc Dual mode clock and data scheme for memory programming
JP5017348B2 (ja) * 2009-10-26 2012-09-05 ザインエレクトロニクス株式会社 送信装置、受信装置、送受信システムおよび画像表示システム
US8924767B2 (en) * 2009-12-17 2014-12-30 Texas Instruments Incorporated Minimizing the use of chip routing resources when using timestamped instrumentation data by transmitting the most significant bits of the timestamp in series and transmitting the least significant bits of the timestamp in parallel
JP5377275B2 (ja) * 2009-12-25 2013-12-25 キヤノン株式会社 情報処理装置又は情報処理方法
JP5448795B2 (ja) * 2009-12-25 2014-03-19 キヤノン株式会社 情報処理装置又は情報処理方法
US8351559B1 (en) * 2010-04-13 2013-01-08 Smsc Holdings S.A.R.L. Sample time correction for multiphase clocks
KR101083681B1 (ko) * 2010-07-02 2011-11-16 주식회사 하이닉스반도체 비휘발성 메모리 장치
US8824222B2 (en) * 2010-08-13 2014-09-02 Rambus Inc. Fast-wake memory
KR101139603B1 (ko) * 2010-08-24 2012-04-27 광운대학교 산학협력단 클럭 게이팅 집적 회로 장치의 소비 전력 예측 방법
US9213657B2 (en) * 2010-08-25 2015-12-15 Rambus Inc. Memory controller with fast reacquisition of read timing to support rank switching
US10401900B2 (en) 2010-11-09 2019-09-03 Rambus Inc. Using a stuttered clock signal to reduce self-induced voltage noise
US8625586B2 (en) * 2010-12-31 2014-01-07 Stmicroelectronics International N.V. Generic bus de-multiplexer/port expander with inherent bus signals as selectors
US8935550B2 (en) * 2011-01-21 2015-01-13 Broadcom Corporation System and method for selectively placing portions of a physical layer into low power mode
KR101201871B1 (ko) * 2011-01-31 2012-11-15 에스케이하이닉스 주식회사 반도체 장치 및 반도체 시스템
US8942056B2 (en) 2011-02-23 2015-01-27 Rambus Inc. Protocol for memory power-mode control
WO2012122381A2 (en) * 2011-03-09 2012-09-13 Rambus Inc. Power-management for integrated circuits
GB2489002A (en) * 2011-03-14 2012-09-19 Nujira Ltd Delay adjustment to reduce distortion in an envelope tracking transmitter
US8760945B2 (en) 2011-03-28 2014-06-24 Samsung Electronics Co., Ltd. Memory devices, systems and methods employing command/address calibration
US8611486B2 (en) * 2011-04-08 2013-12-17 Silicon Image, Inc. Adjustment of clock signals regenerated from a data stream
US9088276B2 (en) * 2011-05-31 2015-07-21 Ati Technologies Ulc Pre-emphasis control circuit for adjusting the magnitude of a signal over a period according to a fraction of a bit-time
US8760188B2 (en) * 2011-06-30 2014-06-24 Silicon Image, Inc. Configurable multi-dimensional driver and receiver
US9071243B2 (en) 2011-06-30 2015-06-30 Silicon Image, Inc. Single ended configurable multi-mode driver
US8995207B2 (en) 2011-08-12 2015-03-31 Qualcomm Incorporated Data storage for voltage domain crossings
US9129666B1 (en) * 2011-08-25 2015-09-08 Rambus Inc. Robust commands for timing calibration or recalibration
CN103918237B (zh) * 2011-09-30 2018-03-06 英特尔公司 在高速通信链路的训练期间减小电源噪声的方法和系统
KR101214369B1 (ko) 2011-10-05 2012-12-27 (주) 와이팜 인에이블 신호를 이용하여 동기화하는 칩 및 이에 적용되는 동기화 방법
KR101898150B1 (ko) * 2011-10-25 2018-09-13 에스케이하이닉스 주식회사 집적회로 칩 및 이를 포함하는 시스템
US9235537B2 (en) 2011-10-26 2016-01-12 Rambus Inc. Drift detection in timing signal forwarded from memory controller to memory device
US9008734B2 (en) * 2011-11-21 2015-04-14 Broadcom Corporation Wireless communication device having reduced power consumption
CN104011620B (zh) * 2011-12-21 2017-07-07 英特尔公司 分立存储器部分中的电源管理
US9285826B2 (en) * 2011-12-22 2016-03-15 Intel Corporation Deterministic clock crossing
US9563597B2 (en) 2012-03-19 2017-02-07 Rambus Inc. High capacity memory systems with inter-rank skew tolerance
US8836394B2 (en) 2012-03-26 2014-09-16 Rambus Inc. Method and apparatus for source-synchronous signaling
US9160415B2 (en) * 2012-05-01 2015-10-13 Broadcom Corporation Open-loop frequency lock methods for fast boot-up time
US9197531B1 (en) * 2012-05-09 2015-11-24 Altera Corporation Methods and apparatus of time stamping for multi-lane protocols
US10902890B2 (en) * 2012-06-22 2021-01-26 Intel Corporation Method, apparatus and system for a per-DRAM addressability mode
US9331845B2 (en) * 2012-06-29 2016-05-03 Taiwan Semiconductor Manufacturing Co., Ltd. System and method for chip system timing compensation
US9418037B2 (en) * 2012-07-11 2016-08-16 Infineon Technologies Ag SPI interface and method for serial communication via an SPI interface having an SPI protocol handler for evaluating signal transitions of SPI signals
US9411750B2 (en) 2012-07-30 2016-08-09 International Business Machines Corporation Efficient calibration of a low power parallel data communications channel
EP2932610A4 (en) 2012-09-07 2016-10-05 Univ Virginia Patent Found SMALL POWER TRIGGER SOURCE
US20140075091A1 (en) * 2012-09-10 2014-03-13 Texas Instruments Incorporated Processing Device With Restricted Power Domain Wakeup Restore From Nonvolatile Logic Array
US8843794B2 (en) * 2012-09-24 2014-09-23 Intel Corporation Method, system and apparatus for evaluation of input/output buffer circuitry
EP3651154A1 (en) * 2012-11-30 2020-05-13 INTEL Corporation Apparatus, method and system for providing termination for multiple chips of an integrated circuit package
EP2741442A1 (en) 2012-12-07 2014-06-11 Dialog Semiconductor B.V. Automatic clock calibration of a remote unit using phase drift
US9110134B2 (en) 2012-12-27 2015-08-18 Intel Corporation Input/output delay testing for devices utilizing on-chip delay generation
US9377510B2 (en) 2012-12-28 2016-06-28 Nvidia Corporation System for reducing peak power during scan shift at the global level for scan based tests
US9395414B2 (en) * 2012-12-28 2016-07-19 Nvidia Corporation System for reducing peak power during scan shift at the local level for scan based tests
US9222981B2 (en) * 2012-12-28 2015-12-29 Nvidia Corporation Global low power capture scheme for cores
CN105122720B (zh) * 2013-02-21 2018-02-06 高通股份有限公司 用于在10gbase‑t系统中数据辅助定时恢复的方法和装置
US8966416B2 (en) 2013-03-07 2015-02-24 Cadence Design Systems, Inc. Finite-state machine encoding during design synthesis
US11334509B2 (en) 2013-03-12 2022-05-17 Uniquify, Inc. Continuous adaptive data capture optimization for interface circuits
US8941423B2 (en) * 2013-03-12 2015-01-27 Uniquify, Incorporated Method for operating a circuit including a timing calibration function
US20140281662A1 (en) 2013-03-12 2014-09-18 Uniquify, Inc. Dynamically adaptive bit-leveling for data interfaces
CN107302350B (zh) * 2013-03-15 2020-11-27 高通股份有限公司 用于调谐电压的方法和设备
US20140312928A1 (en) * 2013-04-19 2014-10-23 Kool Chip, Inc. High-Speed Current Steering Logic Output Buffer
US9123408B2 (en) * 2013-05-24 2015-09-01 Qualcomm Incorporated Low latency synchronization scheme for mesochronous DDR system
US9436630B2 (en) * 2013-06-11 2016-09-06 Western Digital Technologies, Inc. Using dual phys to support multiple PCIe link widths
US9658642B2 (en) * 2013-07-01 2017-05-23 Intel Corporation Timing control for unmatched signal receiver
US9335784B2 (en) * 2013-08-30 2016-05-10 Cavium, Inc. Clock distribution circuit with distributed delay locked loop
US9939881B2 (en) * 2013-09-17 2018-04-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management in a configurable bus
US9021154B2 (en) * 2013-09-27 2015-04-28 Intel Corporation Read training a memory controller
US8963597B1 (en) * 2013-10-02 2015-02-24 Nanya Technology Corporation Cross-domain enablement method and electronic apparatus
CN103500585B (zh) * 2013-10-09 2017-11-03 无锡纳讯微电子有限公司 一种用于控制单次可编程存储器的控制电路及其控制方法
CN105531766A (zh) * 2013-10-15 2016-04-27 拉姆伯斯公司 负载减小的存储模块
JP6774160B2 (ja) * 2013-12-06 2020-10-21 キヤノン株式会社 情報処理装置、並びに、データ転送装置の制御方法
KR101925694B1 (ko) * 2013-12-26 2018-12-05 인텔 코포레이션 멀티칩 패키지 링크
US9252940B2 (en) * 2014-02-21 2016-02-02 Intel Corporation Phase tracking for a sampling clock
JP2015176214A (ja) * 2014-03-13 2015-10-05 株式会社東芝 通信装置
US9459650B2 (en) 2014-03-17 2016-10-04 Qualcomm Incorporated Clock pulse generator for multi-phase signaling
US9203391B2 (en) 2014-04-22 2015-12-01 Qualcomm Incorporated Pulse-width modulation data decoder
US20150310902A1 (en) * 2014-04-23 2015-10-29 Texas Instruments Incorporated Static Power Reduction in Caches Using Deterministic Naps
KR102200489B1 (ko) * 2014-05-30 2021-01-11 삼성전자주식회사 비휘발성 메모리 장치 및 그것을 포함하는 저장 장치
KR102289001B1 (ko) * 2014-06-09 2021-08-13 삼성전자주식회사 솔리드 스테이드 드라이브 및 그것의 동작 방법
US9478268B2 (en) * 2014-06-12 2016-10-25 Qualcomm Incorporated Distributed clock synchronization
KR20150142852A (ko) * 2014-06-12 2015-12-23 에스케이하이닉스 주식회사 다중 위상 클럭을 생성하는 반도체 시스템 및 이의 트레이닝 방법
KR102248279B1 (ko) * 2014-06-13 2021-05-07 삼성전자주식회사 불휘발성 메모리 및 메모리 컨트롤러를 포함하는 스토리지 장치, 그리고 불휘발성 메모리 및 메모리 컨트롤러 사이의 통신을 중개하는 리타이밍 회로의 동작 방법
US9515686B2 (en) * 2014-08-11 2016-12-06 Samsung Electronics Co., Ltd. Signal transmitting circuit using common clock, and storage device therewith
US9647824B2 (en) * 2014-10-24 2017-05-09 Silicon Laboratories Inc. System and apparatus for clock retiming with catch-up mode and associated methods
US9317639B1 (en) * 2014-10-27 2016-04-19 Freescale Semiconductor, Inc. System for reducing power consumption of integrated circuit
US9711192B2 (en) * 2014-11-03 2017-07-18 Samsung Electronics Co., Ltd. Memory device having different data-size access modes for different power modes
FR3029661B1 (fr) * 2014-12-04 2016-12-09 Stmicroelectronics Rousset Procedes de transmission et de reception d'un signal binaire sur un lien serie, en particulier pour la detection de la vitesse de transmission, et dispositifs correspondants
US9251890B1 (en) * 2014-12-19 2016-02-02 Globalfoundries Inc. Bias temperature instability state detection and correction
US9577818B2 (en) * 2015-02-04 2017-02-21 Teradyne, Inc. High speed data transfer using calibrated, single-clock source synchronous serializer-deserializer protocol
US9652430B2 (en) * 2015-02-10 2017-05-16 Nxp Usa, Inc. Configurable serial and pulse width modulation interface
US9509318B2 (en) * 2015-03-13 2016-11-29 Qualcomm Incorporated Apparatuses, methods, and systems for glitch-free clock switching
KR20160123708A (ko) * 2015-04-17 2016-10-26 에스케이하이닉스 주식회사 이미지 센싱 장치
US20160316263A1 (en) * 2015-04-21 2016-10-27 Samsung Electronics Co., Ltd. Display apparatus, and method of operating the display apparatus
TWI566256B (zh) * 2015-05-06 2017-01-11 瑞昱半導體股份有限公司 記憶體系統及其記憶體實體介面電路
US9614533B2 (en) 2015-06-19 2017-04-04 Intel Corporation Digital phase control with programmable tracking slope
US9222976B1 (en) * 2015-06-22 2015-12-29 Xilinx, Inc. Methods and circuits for debugging multiple IC packages
US10430215B1 (en) * 2015-06-25 2019-10-01 Cadence Design Systems, Inc. Method and system to transfer data between hardware emulator and host workstation
KR20170009291A (ko) * 2015-07-16 2017-01-25 에스케이하이닉스 주식회사 클록 생성 장치 및 이를 포함하는 반도체 장치
DE102015009245B4 (de) * 2015-07-17 2020-07-09 Infineon Technologies Ag Vorrichtung zum vorsehen einer anpassbaren totzeit in ein pwm-signal
US10042416B2 (en) * 2015-07-20 2018-08-07 Sandisk Technologies Llc Memory system and method for adaptive auto-sleep and background operations
CN105070311A (zh) * 2015-07-23 2015-11-18 安徽华东光电技术研究所 一种多信号跨板级时钟域的处理方法
US10417003B1 (en) * 2015-08-31 2019-09-17 Ambarella, Inc. Data unit synchronization between chained pipelines
US9698967B2 (en) 2015-09-11 2017-07-04 Apple Inc. Dual path source synchronous interface
US9705620B2 (en) * 2015-09-18 2017-07-11 Qualcomm Incorporated Synchronization of endpoints using tunable latency
WO2017052575A1 (en) * 2015-09-25 2017-03-30 Intel Corporation Extending multichip package link off package
US9940050B2 (en) * 2015-10-05 2018-04-10 Mediatek Inc. Apparatus and method to speed up memory frequency switch flow
US10436837B2 (en) * 2015-10-19 2019-10-08 Globalfoundries Inc. Auto test grouping/clock sequencing for at-speed test
JP6711590B2 (ja) * 2015-10-30 2020-06-17 キヤノン株式会社 メモリを制御する情報処理装置
US9474034B1 (en) * 2015-11-30 2016-10-18 International Business Machines Corporation Power reduction in a parallel data communications interface using clock resynchronization
WO2017100078A1 (en) * 2015-12-08 2017-06-15 Rambus Inc. Low power signaling interface
US10381055B2 (en) * 2015-12-26 2019-08-13 Intel Corporation Flexible DLL (delay locked loop) calibration
US9645604B1 (en) 2016-01-05 2017-05-09 Bitfury Group Limited Circuits and techniques for mesochronous processing
US9660627B1 (en) 2016-01-05 2017-05-23 Bitfury Group Limited System and techniques for repeating differential signals
US9514264B1 (en) 2016-01-05 2016-12-06 Bitfury Group Limited Layouts of transmission gates and related systems and techniques
US9607674B1 (en) * 2016-01-06 2017-03-28 Qualcomm Incorporated Pulse latch reset tracking at high differential voltage
KR102510446B1 (ko) 2016-01-15 2023-03-15 삼성전자주식회사 외부 클락을 이용하여 비디오 동기 신호를 발생시키는 디스플레이 컨트롤러, 이를 포함하는 애플리케이션 프로세서, 및 이를 포함하는 전자 시스템
US10141044B2 (en) * 2016-02-02 2018-11-27 Mediatek Inc. Memory interface circuit having signal detector for detecting clock signal
US9917589B2 (en) 2016-02-02 2018-03-13 Samsung Electronics Co., Ltd. Transmitter circuit and receiver circuit for operating under low voltage
KR102475816B1 (ko) * 2016-03-17 2022-12-09 에스케이하이닉스 주식회사 집적회로
WO2017162269A1 (en) * 2016-03-22 2017-09-28 Telefonaktiebolaget Lm Ericsson (Publ) Low power high speed interface
TWI605694B (zh) * 2016-03-25 2017-11-11 智原科技股份有限公司 接收器損失信號的去雜訊裝置與方法
KR20170111572A (ko) 2016-03-29 2017-10-12 삼성전자주식회사 반도체 메모리 장치 및 이의 동작 방법
US9673963B1 (en) * 2016-04-12 2017-06-06 Keyssa Systems, Inc. Multi-protocols and multi-data rates communications
US9846554B1 (en) * 2016-08-04 2017-12-19 Sandisk Technologies Llc Storage system and method for grouping blocks based on deterministic data patterns
CN109831191B (zh) * 2016-09-13 2021-10-26 华为技术有限公司 一种多路时钟分发电路及电子设备
US10129012B2 (en) * 2016-09-19 2018-11-13 Sandisk Technologies Llc Tuning circuitry and operations for non-source-synchronous systems
KR20180032039A (ko) * 2016-09-21 2018-03-29 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US10305495B2 (en) * 2016-10-06 2019-05-28 Analog Devices, Inc. Phase control of clock signal based on feedback
US10496309B2 (en) * 2016-11-13 2019-12-03 Intel Corporation Input/output (I/O) loopback function for I/O signaling testing
US10761559B2 (en) * 2016-12-13 2020-09-01 Qualcomm Incorporated Clock gating enable generation
US10437774B2 (en) 2017-01-26 2019-10-08 Skyworks Solutions, Inc. Low noise serial interfaces with gated clock
US10403352B2 (en) * 2017-02-22 2019-09-03 Micron Technology, Inc. Apparatuses and methods for compute in data path
US10775833B2 (en) * 2017-03-03 2020-09-15 Texas Instruments Incorporated Meeting setup/hold times for a repetitive signal relative to a clock
US11269764B2 (en) 2017-03-21 2022-03-08 Western Digital Technologies, Inc. Storage system and method for adaptive scheduling of background operations
US10635335B2 (en) 2017-03-21 2020-04-28 Western Digital Technologies, Inc. Storage system and method for efficient pipeline gap utilization for background operations
US11188456B2 (en) 2017-03-21 2021-11-30 Western Digital Technologies Inc. Storage system and method for predictive block allocation for efficient garbage collection
US10056909B1 (en) * 2017-05-01 2018-08-21 Everspin Technologies, Inc. Single-lock delay locked loop with cycle counter and method therefore
US10997096B2 (en) 2017-05-22 2021-05-04 Intel Corporation Enumerated per device addressability for memory subsystems
US10063234B1 (en) * 2017-07-13 2018-08-28 Micron Technology, Inc. Half-frequency command path
US10353455B2 (en) 2017-07-27 2019-07-16 International Business Machines Corporation Power management in multi-channel 3D stacked DRAM
US10218391B1 (en) * 2017-08-02 2019-02-26 Qualcomm Incorporated Systems and methods providing a low-power mode for serial links
KR102244921B1 (ko) * 2017-09-07 2021-04-27 삼성전자주식회사 저장 장치 및 그 리프레쉬 방법
US10476658B1 (en) * 2017-09-25 2019-11-12 Cadence Design Systems, Inc. Method and system for implementing high speed source synchronous clock alignment
KR102585218B1 (ko) * 2017-09-28 2023-10-05 삼성전자주식회사 비휘발성 메모리 장치 및 그것을 포함하는 저장 장치
US10082823B1 (en) * 2017-10-11 2018-09-25 Integrated Device Technology, Inc. Open loop solution in data buffer and RCD
US10579578B2 (en) 2017-10-24 2020-03-03 Micron Technology, Inc. Frame protocol of memory device
CN109800186B (zh) * 2017-11-17 2022-06-24 英业达科技有限公司 控制系统及其控制方法
US10720197B2 (en) 2017-11-21 2020-07-21 Samsung Electronics Co., Ltd. Memory device for supporting command bus training mode and method of operating the same
KR20190066844A (ko) * 2017-12-06 2019-06-14 삼성전자주식회사 메모리 장치, 메모리 컨트롤러, 및 이들을 포함하는 스토리지 장치
US10339997B1 (en) 2017-12-18 2019-07-02 Micron Technology, Inc. Multi-phase clock division
KR102493964B1 (ko) * 2017-12-18 2023-02-01 삼성전자주식회사 스토리지 컨트롤러, 그것을 포함하는 스토리지 장치, 및 스토리지 컨트롤러의 동작 방법
US10402121B2 (en) * 2017-12-21 2019-09-03 Apple Inc. Systems and methods for reducing performance state change latency
US10740003B2 (en) 2018-03-23 2020-08-11 International Business Machines Corporation Latency-agnostic memory controller
WO2019198863A1 (ko) * 2018-04-09 2019-10-17 엘지전자 주식회사 클록 동기 시스템 및 이를 구비하는 이동 단말기
KR102490577B1 (ko) * 2018-04-17 2023-01-25 에스케이하이닉스 주식회사 수신 회로, 이를 이용하는 반도체 장치 및 반도체 시스템
US10928870B2 (en) * 2018-05-29 2021-02-23 Marvell Asia Pte, Ltd. Apparatus and methods for temperature-based memory management
US10936046B2 (en) * 2018-06-11 2021-03-02 Silicon Motion, Inc. Method for performing power saving control in a memory device, associated memory device and memory controller thereof, and associated electronic device
US10635628B2 (en) * 2018-06-29 2020-04-28 Intel Corporation Host controller apparatus, host controller device, and method for a host controller for determining information related to a time shift for transmitting instructions on a command and address bus, host controller and computer system
US10720224B2 (en) * 2018-07-18 2020-07-21 Micron Technology, Inc. Protocol independent testing of memory devices using a loopback
US11112819B2 (en) * 2018-08-28 2021-09-07 Microchip Technology Incorporated Method of clock gate analysis for improved efficiency of electronic circuitry system designs and related systems, methods and devices
JP2020048054A (ja) * 2018-09-19 2020-03-26 キオクシア株式会社 受信装置、通信システム、及びクロック再生方法
US10705984B1 (en) * 2018-09-26 2020-07-07 Cadence Design Systems, Inc. High-speed low VT drift receiver
US10971198B2 (en) * 2018-11-05 2021-04-06 SK Hynix Inc. Semiconductor system and method of operating the same
US11467620B1 (en) * 2018-12-12 2022-10-11 Cadence Design Systems, Inc. Architecture and methodology for tuning clock phases to minimize latency in a serial interface
CN109449741B (zh) * 2018-12-29 2020-10-13 深圳市大族数控科技有限公司 激光能量控制系统和方法
WO2020176448A1 (en) * 2019-02-27 2020-09-03 Rambus Inc. Low power memory with on-demand bandwidth boost
US11169191B2 (en) * 2019-03-29 2021-11-09 Rohde & Schwarz Gmbh & Co. Kg Method and apparatus for estimating a phase relation between binary signals
KR20200140019A (ko) 2019-06-05 2020-12-15 삼성전자주식회사 반도체 장치, 반도체 시스템 및 반도체 장치의 동작 방법
US11178055B2 (en) * 2019-06-14 2021-11-16 Intel Corporation Methods and apparatus for providing deterministic latency for communications interfaces
US11355005B2 (en) * 2019-07-22 2022-06-07 Battelle Memorial Institute Aquatic organism tracking devices, systems and associated methods
CN110413041B (zh) * 2019-07-29 2020-11-17 珠海零边界集成电路有限公司 一种芯片时钟电路及其控制方法
US11561726B2 (en) * 2019-08-27 2023-01-24 Micron Technology, Inc. Read refresh via signal calibration for non-volatile memories
KR20210027595A (ko) * 2019-08-29 2021-03-11 삼성디스플레이 주식회사 표시 장치 및 표시 장치의 구동 방법
US11487339B2 (en) * 2019-08-29 2022-11-01 Micron Technology, Inc. Operating mode register
US11374586B2 (en) * 2019-10-13 2022-06-28 Ultraleap Limited Reducing harmonic distortion by dithering
KR20210045009A (ko) * 2019-10-16 2021-04-26 삼성전자주식회사 인터페이싱 장치, 인터페이싱 장치를 포함하는 반도체 장치 및 반도체 장치의 통신 방법
US11221980B2 (en) * 2019-10-31 2022-01-11 Sigmasense, Llc. Low voltage drive circuit operable to convey data via a bus
US11038666B1 (en) * 2019-12-11 2021-06-15 Qualcomm Incorporated Open-loop, super fast, half-rate clock and data recovery for next generation C-PHY interfaces
CN111193509B (zh) * 2019-12-31 2023-06-16 上海循态量子科技有限公司 源同步数据采样点自动校准方法及系统
US11217298B2 (en) * 2020-03-12 2022-01-04 Micron Technology, Inc. Delay-locked loop clock sharing
US20200233821A1 (en) * 2020-03-23 2020-07-23 Intel Corporation Unidirectional information channel to monitor bidirectional information channel drift
US11493949B2 (en) * 2020-03-27 2022-11-08 Qualcomm Incorporated Clocking scheme to receive data
KR20210123683A (ko) * 2020-04-03 2021-10-14 삼성전자주식회사 신호 수신기 및 그것의 동작 방법
CN111507053A (zh) * 2020-04-30 2020-08-07 深圳探科技术有限公司 集成电路仿真中数据通信的方法、模块、存储介质及系统
CN111757051B (zh) * 2020-05-20 2022-07-26 惠州市德赛西威智能交通技术研究院有限公司 一种数据传输方法、智能终端及雷达系统
WO2021247083A1 (en) * 2020-06-01 2021-12-09 Intel Corporation Chip-to-chip interface of a multi-chip module (mcm)
KR20220019944A (ko) 2020-08-11 2022-02-18 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
US20220066975A1 (en) * 2020-09-01 2022-03-03 Texas Instruments Incorporated Bit stream transformation in parallel data interfaces
US11775185B2 (en) * 2020-09-17 2023-10-03 Micron Technology, Inc. Power budget arbitration for multiple concurrent access operations in a memory device
CN112379981A (zh) * 2020-11-12 2021-02-19 中国人民解放军海军工程大学 面向分布式实时仿真任务的无锁同步方法
CN114647598A (zh) * 2020-12-18 2022-06-21 马来西亚瑞天芯私人有限公司 一种时钟系统和时钟同步的方法
US11360918B1 (en) * 2020-12-21 2022-06-14 Otis Elevator Company Real-time processing system synchronization in a control system
US11063596B1 (en) * 2021-01-07 2021-07-13 Global Unichip Corporation Frame decoding circuit and method for performing frame decoding
US11882160B1 (en) * 2021-05-13 2024-01-23 Ethemnovia Inc. Asymmetric data transmission using efficiency features
CN113519026B (zh) * 2021-06-03 2023-05-02 长江存储科技有限责任公司 具有数据掩码的高速存储器器件
US11662381B2 (en) * 2021-08-18 2023-05-30 International Business Machines Corporation Self-contained built-in self-test circuit with phase-shifting abilities for high-speed receivers
US11775004B2 (en) 2021-09-10 2023-10-03 International Business Machines Corporation Phase aligning and calibrating clocks from one phase lock loop (PLL) for a two-chip die module
CN116185908A (zh) * 2021-11-29 2023-05-30 慧荣科技股份有限公司 接口电路、存储器控制器及校正多个信号处理装置的方法
US11854602B2 (en) * 2021-12-08 2023-12-26 Advanced Micro Devices, Inc. Read clock start and stop for synchronous memories
US12002541B2 (en) 2021-12-08 2024-06-04 Advanced Micro Devices, Inc. Read clock toggle at configurable PAM levels
CN114389737A (zh) * 2021-12-17 2022-04-22 中铁第四勘察设计院集团有限公司 时钟同步方法、装置、电子设备和存储介质
US20230305737A1 (en) * 2022-03-22 2023-09-28 Silicon Laboratories Inc. External Nonvolatile Memory with Additional Functionality
US11962310B1 (en) * 2022-09-14 2024-04-16 Apple Inc. Synchronization between data and clock signals in high-speed interfaces
US11979480B2 (en) 2022-09-20 2024-05-07 International Business Machines Corporation Quadrature circuit interconnect architecture with clock forwarding
CN115877914B (zh) * 2023-01-17 2024-02-20 北京象帝先计算技术有限公司 信号控制方法、采样方法、装置、系统及电子设备
CN116595386B (zh) * 2023-07-18 2023-10-24 芯耀辉科技有限公司 一种存储器的训练控制方法及系统

Family Cites Families (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US775998A (en) * 1904-02-08 1904-11-29 Charles G Streich Lumber-wagon.
JPS62154915A (ja) * 1985-12-27 1987-07-09 Hitachi Comput Eng Corp Ltd 半導体集積回路装置
JP2540643B2 (ja) 1990-03-09 1996-10-09 富士通株式会社 Ramの非同期デ―タアクセス方式
JPH05342085A (ja) * 1992-06-09 1993-12-24 Mitsubishi Electric Corp メモリアクセス制御回路
JP3284281B2 (ja) * 1993-03-12 2002-05-20 株式会社日立製作所 半導体記憶装置
US5615376A (en) * 1994-08-03 1997-03-25 Neomagic Corp. Clock management for power reduction in a video display sub-system
JPH08221315A (ja) 1995-02-15 1996-08-30 Hitachi Ltd 情報処理装置
US6209071B1 (en) * 1996-05-07 2001-03-27 Rambus Inc. Asynchronous request/synchronous data dynamic random access memory
JP2935694B2 (ja) * 1997-04-25 1999-08-16 松下電器産業株式会社 半導体集積回路およびシステム、並びにクロック信号とデータ信号との間のスキューを低減する方法
WO1999019785A1 (en) * 1997-10-10 1999-04-22 Rambus Incorporated Apparatus and method for generating a distributed clock signal using gear ratio techniques
US6359815B1 (en) 1998-03-12 2002-03-19 Hitachi, Ltd. Data transmitter
JP2000003589A (ja) * 1998-06-12 2000-01-07 Mitsubishi Electric Corp 同期型半導体記憶装置
JP3880206B2 (ja) * 1998-07-16 2007-02-14 富士通株式会社 集積回路装置
JP3868126B2 (ja) * 1998-09-17 2007-01-17 富士通株式会社 集積回路装置
MY122426A (en) * 1998-10-29 2006-04-29 Matsushita Electric Ind Co Ltd Memory controller for controlling an integrated memory undergoing logical state transitions
KR100301809B1 (ko) * 1998-11-24 2001-09-06 김영환 데이터 입출력 버퍼 제어회로_
EP1156420B1 (en) * 1998-12-15 2005-07-06 Matsushita Electric Industrial Co., Ltd. Clock phase adjustment method, and integrated circuit and design method therefor
JP2000187612A (ja) * 1998-12-22 2000-07-04 Nkk Corp データフェッチタイミング切り替え回路
JP3266127B2 (ja) 1999-01-25 2002-03-18 日本電気株式会社 同期式半導体記憶装置
CN100387030C (zh) * 1999-05-28 2008-05-07 基础能源公司 开-关键控及具有动态路由和配置的节点到节点信息传递的无线收发器网络
US6388480B1 (en) * 1999-08-30 2002-05-14 Micron Technology, Inc. Method and apparatus for reducing the lock time of DLL
JP4707204B2 (ja) * 1999-10-08 2011-06-22 富士通セミコンダクター株式会社 半導体記憶装置
US6910146B2 (en) * 1999-12-31 2005-06-21 Intel Corporation Method and apparatus for improving timing margin in an integrated circuit as determined from recorded pass/fail indications for relative phase settings
US6581165B1 (en) * 2000-01-14 2003-06-17 Applied Micro Circuits Corporation System for asynchronously transferring timed data using first and second clock signals for reading and writing respectively when both clock signals maintaining predetermined phase offset
JP4045064B2 (ja) * 2000-03-30 2008-02-13 富士通株式会社 半導体記憶装置
US6615307B1 (en) * 2000-05-10 2003-09-02 Micron Technology, Inc. Flash with consistent latency for read operations
JP2002007201A (ja) * 2000-06-21 2002-01-11 Nec Corp メモリシステム、メモリインターフェース及びメモリチップ
US6898683B2 (en) 2000-12-19 2005-05-24 Fujitsu Limited Clock synchronized dynamic memory and clock synchronized integrated circuit
US6973151B2 (en) * 2001-02-15 2005-12-06 Intel Corporation Dynamic phase aligning interface
JP4817510B2 (ja) * 2001-02-23 2011-11-16 キヤノン株式会社 メモリコントローラ及びメモリ制御装置
JP2002298580A (ja) * 2001-03-28 2002-10-11 Mitsubishi Electric Corp 半導体記憶装置
JP4727073B2 (ja) * 2001-07-09 2011-07-20 富士通セミコンダクター株式会社 半導体メモリ
JP2003050739A (ja) * 2001-08-06 2003-02-21 Matsushita Electric Ind Co Ltd メモリ制御装置
JP3732128B2 (ja) * 2001-08-13 2006-01-05 シャープ株式会社 メモリ制御装置
JP3861650B2 (ja) * 2001-10-11 2006-12-20 富士ゼロックス株式会社 インターフェース回路
EP1446910B1 (en) * 2001-10-22 2010-08-11 Rambus Inc. Phase adjustment apparatus and method for a memory device signaling system
EP1865648B1 (en) * 2001-10-22 2012-12-05 Rambus Inc. Phase adjustment apparatus and method for a memory device signalling system
US6496043B1 (en) 2001-12-13 2002-12-17 Lsi Logic Corporation Method and apparatus for measuring the phase of captured read data
JP4104886B2 (ja) 2002-03-20 2008-06-18 株式会社ルネサステクノロジ 半導体装置
US7103730B2 (en) 2002-04-09 2006-09-05 Intel Corporation Method, system, and apparatus for reducing power consumption of a memory
US6897699B1 (en) * 2002-07-19 2005-05-24 Rambus Inc. Clock distribution network with process, supply-voltage, and temperature compensation
JP4222803B2 (ja) 2002-09-11 2009-02-12 Necエレクトロニクス株式会社 データ処理装置およびデータ処理回路
US7198197B2 (en) * 2002-11-05 2007-04-03 Rambus, Inc. Method and apparatus for data acquisition
US6815977B2 (en) * 2002-12-23 2004-11-09 Intel Corporation Scan cell systems and methods
US6836166B2 (en) * 2003-01-08 2004-12-28 Micron Technology, Inc. Method and system for delay control in synchronization circuits
JP4140054B2 (ja) 2003-01-22 2008-08-27 日本電気株式会社 半導体集積回路
US7486718B2 (en) * 2003-08-04 2009-02-03 Marvell International Ltd. Architectures, circuits, systems and methods for reducing latency in data communications
JP4526841B2 (ja) * 2004-03-09 2010-08-18 ルネサスエレクトロニクス株式会社 メモリ制御装置およびこれを備えたデータ処理システム
US7298188B2 (en) * 2004-04-30 2007-11-20 Fujitsu Limited Timing adjustment circuit and memory controller
US7535958B2 (en) * 2004-06-14 2009-05-19 Rambus, Inc. Hybrid wired and wireless chip-to-chip communications
US7065001B2 (en) * 2004-08-04 2006-06-20 Micron Technology, Inc. Method and apparatus for initialization of read latency tracking circuit in high-speed DRAM
JP2006099569A (ja) * 2004-09-30 2006-04-13 Kyocera Mita Corp メモリインタフェース回路及びクロック制御方法
EP1705815B1 (en) * 2005-03-22 2011-08-24 Infineon Technologies AG A digital clock switching means
JP4623507B2 (ja) * 2005-04-18 2011-02-02 ルネサスエレクトロニクス株式会社 通信用半導体集積回路および携帯通信端末
DE102005019041B4 (de) * 2005-04-23 2009-04-16 Qimonda Ag Halbleiterspeicher und Verfahren zur Anpassung der Phasenbeziehung zwischen einem Taktsignal und Strobe-Signal bei der Übernahme von zu übertragenden Schreibdaten
JP4763360B2 (ja) * 2005-06-30 2011-08-31 アラクサラネットワークス株式会社 半導体装置
KR20070030691A (ko) * 2005-09-13 2007-03-16 가부시끼가이샤 르네사스 테크놀로지 반도체 집적회로 장치
JP4795032B2 (ja) * 2006-01-30 2011-10-19 エルピーダメモリ株式会社 タイミング調整回路及び半導体装置
JP2007243735A (ja) * 2006-03-09 2007-09-20 Elpida Memory Inc Dll回路及びそれを備えた半導体装置
US8121237B2 (en) * 2006-03-16 2012-02-21 Rambus Inc. Signaling system with adaptive timing calibration
JP4878215B2 (ja) * 2006-05-26 2012-02-15 ルネサスエレクトロニクス株式会社 インタフェース回路及びメモリ制御装置
CN101490562B (zh) 2006-07-10 2012-12-19 株式会社日立高新技术 液体输送设备
JP4447583B2 (ja) * 2006-07-24 2010-04-07 富士通マイクロエレクトロニクス株式会社 半導体装置
KR100805698B1 (ko) * 2006-08-31 2008-02-21 주식회사 하이닉스반도체 반도체 메모리 장치
US7423456B2 (en) 2006-12-01 2008-09-09 Micron Technology, Inc. Fast response time, low power phase detector circuits, devices and systems incorporating the same, and associated methods
EP2102754B1 (en) 2006-12-20 2013-03-20 Nxp B.V. Clock generation for memory access without a local oscillator
EP2140454A2 (en) * 2007-04-19 2010-01-06 Rambus, Inc. Clock synchronization in a memory system
US7545190B2 (en) * 2007-05-01 2009-06-09 Advanced Micro Devices, Inc. Parallel multiplexing duty cycle adjustment circuit with programmable range control
US7890788B2 (en) * 2007-07-09 2011-02-15 John Yin Clock data recovery and synchronization in interconnected devices
JP5188119B2 (ja) * 2007-07-30 2013-04-24 キヤノン株式会社 メモリコントローラ
JP4955484B2 (ja) * 2007-08-24 2012-06-20 ルネサスエレクトロニクス株式会社 回路設計装置、回路設計方法、及び、回路設計プログラム
EP2223227B1 (en) * 2007-10-22 2013-02-27 Rambus Inc. Low-power source-synchronous signaling
JP5614791B2 (ja) * 2008-02-28 2014-10-29 日本電気株式会社 伝送方法、伝送回路及び伝送システム
JP5174493B2 (ja) * 2008-03-06 2013-04-03 株式会社日立製作所 半導体集積回路装置及びアイ開口マージン評価方法
KR101499176B1 (ko) * 2008-04-08 2015-03-06 삼성전자주식회사 클럭 신호의 위상 튜닝 방법 및 그 장치
JP5456275B2 (ja) 2008-05-16 2014-03-26 ピーエスフォー ルクスコ エスエイアールエル カウンタ回路、レイテンシカウンタ及びこれを備える半導体記憶装置、並びに、データ処理システム
WO2010080172A1 (en) * 2009-01-12 2010-07-15 Rambus Inc. Clock-forwarding low-power signaling system
US9882661B1 (en) * 2016-12-22 2018-01-30 Intel IP Corporation Closed loop calibration by frequency separation

Also Published As

Publication number Publication date
US11960344B2 (en) 2024-04-16
US20110239030A1 (en) 2011-09-29
US20110239031A1 (en) 2011-09-29
JP2012515376A (ja) 2012-07-05
JP2015038802A (ja) 2015-02-26
EP2353058B1 (en) 2017-06-14
US20230244293A1 (en) 2023-08-03
US8737162B2 (en) 2014-05-27
CN102257569A (zh) 2011-11-23
JP5627603B2 (ja) 2014-11-19
EP2353058A4 (en) 2014-04-09
KR20110113737A (ko) 2011-10-18
WO2010080172A1 (en) 2010-07-15
EP2351037A1 (en) 2011-08-03
US8432768B2 (en) 2013-04-30
CN102257572A (zh) 2011-11-23
US20150227188A1 (en) 2015-08-13
US20200012332A1 (en) 2020-01-09
US9229523B2 (en) 2016-01-05
JP2012515408A (ja) 2012-07-05
US8918667B2 (en) 2014-12-23
US10331193B2 (en) 2019-06-25
WO2010080176A1 (en) 2010-07-15
EP2351037A4 (en) 2011-12-28
US20180067538A1 (en) 2018-03-08
US20210232203A1 (en) 2021-07-29
US20110235459A1 (en) 2011-09-29
KR101375466B1 (ko) 2014-03-18
US20160147281A1 (en) 2016-05-26
US10901485B2 (en) 2021-01-26
US20110235764A1 (en) 2011-09-29
WO2010080174A1 (en) 2010-07-15
US8918669B2 (en) 2014-12-23
CN102257569B (zh) 2014-10-22
US11556164B2 (en) 2023-01-17
EP2370975A4 (en) 2012-02-29
CN102257571A (zh) 2011-11-23
EP2370975A1 (en) 2011-10-05
KR20110113736A (ko) 2011-10-18
EP2370975B1 (en) 2016-09-28
JP2012515377A (ja) 2012-07-05
KR20110113738A (ko) 2011-10-18
EP3258386A1 (en) 2017-12-20
US9753521B2 (en) 2017-09-05
US20150074437A1 (en) 2015-03-12
EP3258386B1 (en) 2019-05-01
WO2010080175A1 (en) 2010-07-15
WO2010080173A1 (en) 2010-07-15
EP2356657A1 (en) 2011-08-17
EP2353058A1 (en) 2011-08-10
EP2356657A4 (en) 2011-12-07
US9043633B2 (en) 2015-05-26
US20110235763A1 (en) 2011-09-29

Similar Documents

Publication Publication Date Title
JP5855726B2 (ja) クロック転送低電力シグナリングシステム
US9110596B2 (en) Fast-wake memory

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150820

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150825

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151105

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151209

R150 Certificate of patent or registration of utility model

Ref document number: 5855726

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250