JP2022522012A - メモリにおける拡張データクロック動作 - Google Patents

メモリにおける拡張データクロック動作 Download PDF

Info

Publication number
JP2022522012A
JP2022522012A JP2021550236A JP2021550236A JP2022522012A JP 2022522012 A JP2022522012 A JP 2022522012A JP 2021550236 A JP2021550236 A JP 2021550236A JP 2021550236 A JP2021550236 A JP 2021550236A JP 2022522012 A JP2022522012 A JP 2022522012A
Authority
JP
Japan
Prior art keywords
data clock
memory
command
data
host
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.)
Granted
Application number
JP2021550236A
Other languages
English (en)
Other versions
JP7508470B2 (ja
JPWO2020180677A5 (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 JP2022522012A publication Critical patent/JP2022522012A/ja
Publication of JPWO2020180677A5 publication Critical patent/JPWO2020180677A5/ja
Priority to JP2024097486A priority Critical patent/JP2024133504A/ja
Application granted granted Critical
Publication of JP7508470B2 publication Critical patent/JP7508470B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/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/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • 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/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/4074Power supply or voltage generation circuits, e.g. bias voltage generators, substrate voltage generators, back-up power, power control 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/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/4093Input/output [I/O] data interface arrangements, e.g. data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • 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/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 
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1028Power efficiency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/45Caching of specific data in cache memory
    • 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/2227Standby or low power modes
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/023Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/14Implementation of control logic, e.g. test mode decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50012Marginal testing, e.g. race, voltage or current testing of timing
    • 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)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Human Computer Interaction (AREA)
  • Memory System (AREA)
  • Power Sources (AREA)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
  • Communication Control (AREA)
  • Dram (AREA)

Abstract

データクロックを改善して電力消費を低減するための方法および装置が提示される。装置は、リンクを介してホストからデータクロックを受信し、データクロックをホストと同期させるように構成されたメモリを含む。メモリは、書込みデータをキャプチャするためにまたは読取りデータを出力するためにデータクロックに基づいてトグルするように構成されたクロックツリーバッファと、データクロックがホストとメモリとの間で同期している間にデータクロックサスペンドコマンドを検出するように構成されたコマンドデコーダとを含む。クロックツリーバッファは、コマンドデコーダがデータクロックサスペンドコマンドを検出したことに応答して、データクロックに基づいてトグリングを無効化するように構成される。ホストは、データクロックがホストとメモリとの間で同期している間にデータクロックサスペンドコマンドをリンクを介してメモリに与えるように構成されたメモリコントローラを含む。

Description

米国特許法第119条に基づく優先権の主張
本特許出願は、本出願の譲受人に譲渡され、参照により本明細書に明確に組み込まれる、2020年2月27日に出願された「ENHANCED DATA CLOCK OPERATIONS IN MEMORY」と題する非仮出願第16/803,977号、および2019年3月1日に出願された「ENHANCED DATA CLOCK OPERATIONS IN MEMORY」と題する仮出願第62/812,689号の優先権を主張する。
本開示は、一般に、拡張データクロック動作を有する方法および装置に関し、より詳細には、データクロックが常時オンモードである間に電力消費を低減するためのデータクロックサスペンドモードを有する方法および装置に関する。
コンピューティングデバイス(たとえば、ラップトップ、モバイルフォンなど)は、テレフォニー、ワイヤレスデータアクセス、およびカメラ/ビデオ機能などの様々な機能を実行するための1つまたはいくつかのプロセッサを含み得る。メモリは、コンピューティングデバイスの重要な構成要素である。1つのプロセッサは、上述のコンピューティング機能を実行するためにメモリに結合され得る。たとえば、1つのプロセッサは、コンピューティング機能を実行する、および/またはこれらのコンピューティング機能などを処理するなどのための一時データをメモリ内に記憶するために、メモリから命令をフェッチし得る。
メモリは、半導体ダイ上に1つのプロセッサとともに埋め込まれてもよく、または異なる半導体ダイの一部であってもよい。メモリは様々な機能を実行し得る。たとえば、メモリはキャッシュ、レジスタファイル、またはストレージとして使用され得る。メモリは様々な種類のものであり得る。たとえば、メモリは、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、磁気ランダムアクセスメモリ(MRAM)、NANDフラッシュ、またはNORフラッシュなどであり得る。
コンピューティングデバイスが速度の増加とともにより多くの機能を実行するという需要が増大するにつれて、電力の問題も増大する。省電力化はモバイルコンピューティングデバイスにおいて特に関心の対象となり得るが、非モバイルデバイスも電力消費を低減して廃熱の発生を低減させることから利益を得る場合がある。したがって、様々な種類のコンピューティングデバイスが、電力消費を削減したメモリシステムから利益を得る場合がある。したがって、電力消費を低減するための方式が望ましい。
この概要は、いくつかの例示的な態様の特徴を特定するものであり、開示する主題の排他的または包括的な説明ではない。以下の詳細な説明を読み、その一部を形成する図面を見れば、追加の特徴および態様が説明され、当業者に明らかになるであろう。
少なくとも1つの実施形態による装置は、リンクを介してホストからデータクロックを受信し、データクロックをホストと同期させるように構成されたメモリを含み、メモリは、書込みデータをキャプチャするためにまたは読取りデータを出力するためにデータクロックに基づいてトグルするように構成されたクロックツリーバッファと、データクロックがホストとメモリとの間で同期している間にデータクロックサスペンドコマンドを検出するように構成されたコマンドデコーダとをさらに備える。クロックツリーバッファは、コマンドデコーダがデータクロックサスペンドコマンドを検出したことに応答して、データクロックに基づいてトグリングを無効化するように構成される。
少なくとも1つの実施形態による別の装置は、リンクを介してメモリに結合されたホストを含む。ホストは、データクロックをメモリと同期させ、データクロックに基づいて書込みデータを出力するかまたは読取りデータをキャプチャするように構成される。ホストは、データクロックがホストとメモリとの間で同期している間にデータクロックサスペンドコマンドをリンクを介してメモリに与えるように構成されたメモリコントローラを含む。データクロックサスペンドコマンドは、クロックツリーバッファのトグリングを無効化するようにメモリに通知し、クロックツリーバッファは、データクロックに基づいてトグルするように構成される。メモリコントローラは、データクロックサスペンドコマンドを与えた後にデータクロックをトグルするようにさらに構成される。
リンクを介してホストに結合されたメモリのためのデータクロックの電力を低減する方法は、リンクを介してホストとメモリとの間でデータクロックを同期させるステップと、メモリのクロックツリーバッファによって、書込みデータをキャプチャするためにまたは読取りデータを出力するためにデータクロックに基づいてトグルするステップと、リンクを介してホストによってメモリに、データクロックがホストとメモリとの間で同期している間にデータクロックサスペンドコマンドを与えるステップと、クロックツリーバッファによって、データクロックサスペンドコマンドに応答してデータクロックに基づいてトグリングを無効化するステップと、ホストによって、データクロックサスペンドコマンドを与えた後にデータクロックをトグルするステップとを含む。
リンクを介してホストに結合されたメモリのためのデータクロックの電力を低減する別の方法は、リンクを介してホストによってメモリに、データクロック同期コマンドを与えるステップと、リンクを介してホストによってメモリに、データクロックを同期させた後にデータクロックサスペンドコマンドを与えるステップとを含む。データクロックサスペンドコマンドは、データクロックに基づいてトグルするデータクロックバッファを無効化するようにメモリに通知する。方法は、ホストによって、データクロックサスペンドコマンドを与えた後にデータクロックをトグルするステップをさらに含む。
リンクを介してホストに結合されたメモリのためのデータクロックの電力を低減する別の方法は、メモリによって、リンクを介してホストからデータクロックを受信するステップと、メモリによって、データクロックをホストと同期させるステップと、メモリのクロックツリーバッファによって、書込みデータをキャプチャするためにまたは読取りデータを出力するためにデータクロックに基づいてトグルするステップと、メモリによって、データクロックがメモリとホストとの間で同期している間にデータクロックサスペンドコマンドを検出するステップと、データクロックサスペンドコマンドを検出したことに応答して、データクロックに基づいてクロックツリーバッファのトグリングを無効化するステップとを含む。
次に装置および方法の様々な態様が、例として、限定としてではなく、添付の図面を参照しながら詳細な説明において提示される。
本開示のいくつかの態様による、少なくとも1つのプロセッサと、メモリと、少なくとも1つのプロセッサおよびメモリを結合するリンクとを組み込んだ装置を示す図である。 本開示のいくつかの態様による、図1のリンクを介してホストによってメモリに与えられたデータクロック同期(WCK2CK)コマンドを示す図である。 本開示のいくつかの態様による、データサスペンド(WCK SUSPEND)モードでのデータクロック(WCK)同期の波形を示す図である。 本開示のいくつかの態様による、図1のリンクを介したホストとメモリとの間のデータクロック(WCK)サスペンドモードの動作および通信を示す図である。 本開示のいくつかの態様による、データクロック同期(WCK2CK)サスペンドモードを動作させる図1の拡張データクロックモジュールを含むメモリコントローラの部分を示す図である。 本開示のいくつかの態様による、データクロック(WCK)サスペンドモードを動作させる図1のメモリI/Oモジュール160の部分を示す図である。 本開示のいくつかの態様による、図1のリンク190を介してホストに結合されたメモリのためのデータクロック(WCK)の電力を低減する方法を示す図である。 本開示のいくつかの態様による、図1のリンクを介してホストに結合されたメモリのためのデータクロック(WCK)の電力を低減する方法を示す図である。
添付の図面に関して以下に記載する詳細な説明は、様々な構成について説明するものであり、本明細書で説明する概念が実践され得る唯一の構成を表すものではない。詳細な説明は、様々な概念の完全な理解を与えるための具体的な詳細を含む。しかしながら、これらの概念がこれらの具体的な詳細なしに実践され得ることは、当業者には明らかであろう。いくつかの事例では、そのような概念を不明瞭にすることを回避するために、よく知られている構造および構成要素がブロック図の形態で示される。
本明細書で使用する場合、動詞「結合する」の様々な時制における「に結合された」という用語は、特定の意図された機能を動作させるために、要素Aが要素Bに直接接続されること、または他の要素が要素Aと要素Bとの間に接続され得ること(すなわち、要素Aが要素Bと間接的に接続されること)を意味することがある。電気的構成要素の場合、「に結合された」という用語は、ワイヤ、トレース、または他の導電性材料が要素Aおよび要素B(ならびにそれらの間で電気的に接続される任意の構成要素)を電気的に接続するために使用されることを意味するために本明細書で使用されることもある。いくつかの例では、「に結合された」という用語は、特定の意図された機能を動作させるための、要素Aと要素Bとの間の電気エネルギーの伝達を意味する。
いくつかの例では、「電気的に接続された」という用語は、要素Aと要素Bとの間を流れる電流を有すること、またはそのような電流を有するように構成可能であることを意味する。たとえば、要素Aおよび要素Bは、ワイヤ、トレース、または他の導電性材料および構成要素に加えて、レジスタ、トランジスタ、またはインダクタを介して接続され得る。さらに、無線周波数機能の場合、要素Aおよび要素Bはキャパシタを介して「電気的に接続され」得る。
「第1の」、「第2の」、「第3の」などの用語は、参照しやすいように用いられ、実質的な意味をもたないことがある。同様に、構成要素/モジュールの名称は、参照しやすいように採用されることがあり、構成要素/モジュールを限定しないことがある。たとえば、そのような非限定的な名称は、「クロックツリー」バッファ、「コマンド」デコーダ、「メモリモード」レジスタ、および/または「メモリ」コントローラを含み得る。本開示で提示するモジュールおよび構成要素は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアの組合せにおいて実装され得る。
「バスシステム」という用語は、「バスシステム」に結合された要素が直接または間接的にそれらの間で情報を交換し得ることを規定し得る。そのような様式では、「バスシステム」は、複数の物理接続ならびにバッファ、ラッチ、レジスタなどの介在ステージを包含し得る。モジュールは、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアの組合せにおいて実装され得る。
拡張データクロック動作を有するメモリを組み込んだ方法および装置が提示される。ホストとメモリとの間のデータクロックは、ホストがメモリにアクセスする(たとえば、読み取るまたは書き込む)ために同期し得る。同期すると、データクロックは常時オンモードになり得るか、または同期を維持するために自走し得る。メモリはデータクロックによって駆動されるクロックツリーを含み得るので、ホストがメモリにアクセスしていないときでも、データクロックが常時オンモードで動作しているときには、クロックツリーは電力を消費する。
拡張データクロック動作は、データクロックが常時オンモードであり、トグルしている間に、メモリがクロックツリーをゲート制御することを可能にするように提示される。データクロックは、ホストとメモリとの間で同期したままである。有利には、データクロックが同期したままであるので、再同期のためのサイクルを追加することなしに、メモリがクロックツリーをゲート制御するときの電力が低減される。
低電力ダブルデータレート(LPDDR)シンクロナスダイナミックランダムアクセスメモリ(SDRAM)の非限定的な例として、方法および装置が本開示で提示される。たとえば、電子デバイス技術合同協議会(JEDEC:Joint Electronic Device Engineering Council)によって公表されたLPDDR仕様に従って動作するLPDDRメモリ。そのようなLPDDR仕様はLPDDR5であり得る。
図1は、本開示のいくつかの態様による、ホスト110と、メモリ150と、ホスト110およびメモリ150を結合するリンク190とを組み込んだ装置100を示す。装置100は、たとえば、コンピューティングシステム(たとえば、サーバ、データセンタ、デスクトップコンピュータ)、モバイルコンピューティングデバイス(たとえば、ラップトップ、セルフォン、ビークルなど)、モノのインターネットデバイス、仮想現実(VR)システム、または拡張現実(AR)システムなどのうちの1つであり得る。ホスト110は、データ処理、データ通信、グラフィックディスプレイ、カメラ、ARまたはVRレンダリング、画像処理などのうちの1つなどのコンピューティング機能を実行するためにリンク190を介してメモリ150に結合された少なくとも1つのプロセッサ120を含み得る。たとえば、メモリ150は、少なくとも1つのプロセッサ120が上述のコンピューティング機能を実行するための命令またはデータを記憶し得る。少なくとも1つのプロセッサ120は、処理論理の集合または1つもしくは複数の中央処理ユニットであり得る。たとえば、少なくとも1つのプロセッサ120は、上述のコンピューティング機能を実装するように構成された、中央処理ユニット(CPU)122、グラフィック処理ユニット(GPU)123、またはデジタル信号プロセッサ(DSP)124であり得る。
図1は、ホストがバスシステム115を介してメモリコントローラ130に結合された少なくとも1つのプロセッサ120を含み、少なくとも1つのプロセッサ120がメモリコントローラ130およびリンク190を介してメモリ150に結合されることを示す。メモリは、LPDDR DRAM(たとえば、LPDDR5)であり得る。ホスト110、メモリ150、および/またはリンク190は、LPDDR(たとえば、LPDDR5)仕様に従って動作し得る。以下で提示するように、メモリ150は、リンク190を介してホスト110からデータクロック(たとえば、WCK)を受信し、データクロックWCKをホスト110と同期させる(たとえば、ホスト110からのコマンドおよびアドレスクロックと同期させる)ように構成され得る。
メモリコントローラ130は、拡張データクロックモジュール132およびホストI/Oモジュール134を含み得る。拡張データクロックモジュール132は、いつデータクロックサスペンドモードなどの拡張データクロック動作が有益であるかを決定し、データクロックサスペンドコマンドを発行してデータクロックサスペンドモードに入るように構成され得る。ホストI/Oモジュール134は、リンク190上で信号を駆動し、受信するように構成され得る。ホストI/Oモジュール134は、PHYレイヤとして知られていることがあり、電気的特性(たとえば、電圧レベル、位相、遅延、周波数など)を制御するか、またはリンク190上のシグナリングの電気的特性に基づいて信号を受信するように構成され得る。いくつかの例では、ホストI/Oモジュール134は、データクロックWCKに基づいてリンク190を介して書込みデータをメモリ150に出力するように構成され得る。たとえば、ホストI/Oモジュール134は、データクロックWCKと同期した書込みデータを出力するように構成され得る。いくつかの例では、ホストI/Oモジュール134は、データクロックWCKに基づいてリンク190を介してメモリ150から読取りデータをキャプチャするように構成され得る。たとえば、ホストI/Oモジュール134は、読取りデータをキャプチャするための(たとえば、サンプリングするための)バッファがクロック制御されるかまたはデータクロックWCKに基づくように構成され得る。
いくつかの例では、リンク190は、ホスト110およびメモリ150が異なるダイ上にある、ホスト110とメモリ150との間のチップ間リンクまたはダイ間リンクであってもよい。いくつかの例では、リンク190は、ホスト110およびメモリ150が同じダイ上にある、ダイ内リンクであってもよい。たとえば、リンク190は、ホスト110からメモリ150への単方向信号(たとえば、データクロック(WCK)、コマンドおよびアドレス(CA)、CAクロック(CLK)など)と、双方向指向性信号(データ(DQ)、データストローブ(DQS)など)とを送信するための信号線を含む、複数の信号線を含んでもよい。たとえば、CAは、CASシグナリング/ピン、チップ選択(CS)シグナリング/ピン、および列アドレス(CA)シグナリングを含み得る。リンク190およびホスト110とメモリ150との間のシグナリングは、JEDEC DRAM仕様(たとえば、LPDDR5)に従い得る。いくつかの例では、メモリ150は、書込み動作の場合は(たとえば、DQにおいて受信された)書込みデータをキャプチャするためにまたはサンプリングするために、かつ読取り動作の場合は(たとえば、DQにおいて出力された)読取りデータをトグルするために、データクロックWCKを使用し得る。したがって、メモリ150は、書込みデータをキャプチャするためにまたは読取りデータを出力するためにデータクロックWCKを利用し得る。
図1は、バスシステム172を介して結合された、メモリI/Oモジュール160と、メモリアレイ162と、モードレジスタ170と、コマンドデコーダ173とを有するメモリ150を示す。メモリI/Oモジュール160は、リンク190上で信号を駆動し、受信するように構成され得る。メモリI/Oモジュール160は、PHYレイヤとして知られていることがあり、電気的特性(たとえば、電圧レベル、位相、遅延、周波数など)を制御するか、またはリンク190上のシグナリングの電気的特性に基づいて信号を受信するように構成され得る。たとえば、メモリI/Oモジュール160は、データクロックWCKに基づいてリンク190を介してホスト110から書込みデータをキャプチャする(たとえば、サンプリングする)ように構成され得る。いくつかの例では、メモリI/Oモジュール160は、データクロックWCKに基づいてクロック制御された書込みデータをキャプチャするためにバッファをクロック制御するように構成され得る。いくつかの例では、メモリI/Oモジュール160は、データクロックWCKに基づいてリンク190を介して読取りデータをホスト110に出力するように構成され得る。たとえば、ホストI/Oモジュール134は、出力する読取りデータをデータクロックWCKと同期させるように構成され得る。
メモリアレイ162は、データを記憶する複数のメモリセル(たとえば、DRAMメモリセル)を含み得る。少なくとも1つのプロセッサは、リンク190を介して、メモリアレイ162に記憶されたデータを読み取りかつ/またはメモリアレイ162にデータを書き込み得る。メモリアレイ162は、複数のメモリバンク180-1~180-Mに配置され得る。メモリアレイ162は、READコマンドまたはWRITEコマンドを介してアクセスされ(たとえば、読み取られまたは書き込まれ)得る。
モードレジスタ170は、メモリ150の動作、シグナリング特性、および/または情報についての値を記憶するレジスタまたはレジスタを含み得る。モードレジスタ170は、モードレジスタ読取り(MRR)コマンドまたはモードレジスタ書込み(MRW)コマンドを介してアクセスされ(たとえば、読み取られまたは書き込まれ)ることがあり、MRRコマンドおよびMRWコマンドは、READコマンドおよびWRITEコマンドとは異なる(たとえば、MRRコマンドおよびMRWコマンドはメモリアレイ162(図1)にアクセスしない)。たとえば、メモリコントローラ130は、リンク190を介してMRWコマンドを発行して、読取りまたは書込み動作のためにメモリ150をセットアップし得る。MRWコマンドに応答して、メモリ150は、MRWコマンドによって与えられたオペランドまたはOPをモードレジスタ170に記憶する。
いくつかの例では、MRRコマンドおよびMRWコマンドはメモリアレイ162にアクセスしない。たとえば、モードレジスタ170に書き込まれるまたはモードレジスタ170から読み取られるオペランドは、メモリアレイ162に書き込まれないまたはメモリアレイ162から読み取られない。モードレジスタ170はWCKサスペンドレジスタ171を含む。WCKサスペンドレジスタ171は、データクロック(WCK)サスペンドコマンドの情報を記憶するように構成され得る。たとえば、WCKサスペンドレジスタ171は、メモリ150がデータクロック(WCK)サスペンドコマンドなどの拡張データクロックWCK動作をサポートするまたは可能にするかどうかを示す値を記憶するように構成され得る。
書込み動作の場合、少なくとも1つのプロセッサ120は、バスシステム115を介して書込み要求をメモリコントローラ130に発行し得る。メモリコントローラ130は、リンク190のCAおよびCLKを介してWRITEコマンドをメモリ150に発行し得る。書込みデータは、リンク190のDQを介してメモリコントローラ130によって与えられ、データクロックWCKによってクロック制御される。応答して、メモリ150は、WRITEコマンドによってアドレス指定されたメモリアレイ162に書込みデータを記憶する。
読取り動作の場合、少なくとも1つのプロセッサ120は、バスシステム115を介して読取り要求をメモリコントローラ130に発行し得る。メモリコントローラ130は、リンク190のCA(たとえば、クロックCLK、アドレス、コマンド)を介してREADコマンドをメモリ150に発行し得る。応答して、メモリ150は、READコマンドによってアドレス指定されたメモリアレイ162に記憶されたデータを少なくとも1つのプロセッサ120に出力する。データは、リンク190のDQを介して出力され、データクロックWCK(および/またはRDQS)によってクロック制御され得る。メモリ150(たとえば、メモリI/Oモジュール160)は、ホスト110からデータクロックWCKを受信し、内部クロックツリーを使用して、DQをクロック制御するために内部データクロックWCKを駆動およびバッファし得る。
データクロックWCKは、CAクロックCLKとは異なる周波数で動作し得る。たとえば、データクロックWCKは、LPDDR5に従って、CLKの周波数の2倍または4倍で動作し得る。メモリ150は、WCKクロックツリーの周波数をCLKと一致させるために周波数分割器を使用し得る。そのような機能は、CAクロックCLKの状態と内部WCKクロックツリーの状態の同期を必要とし得る。このプロセスは(たとえば、LPDDR5仕様では)WCK2CK同期として知られていることがあり、いくつかの同期サイクルを必要とし得る。
ホスト110(たとえば、メモリコントローラ130)は、リンク190を介してWCK2CK SYNCコマンドを発行することによって、WCK2CK同期を開始し得る。WCK2CK SYNCコマンドはCASコマンドであり得る。たとえば、コマンドおよびアドレス(CA)のCAS信号をトグルすることは、読取りまたは書込みコマンドに先行する。たとえば、読取りまたは書込みコマンドは、WCK2CK SYNCコマンドのCASコマンドの直後に続くことができる。応答して、ホスト110およびメモリ150は、データクロックWCKクロッキング(たとえば、トグリング)との同期サイクルに関与する。
WCK2CK同期を介して同期を確立すると、データクロックWCKは同期を保つために常時オン(たとえば、自走)になり得る。データクロックWCKがクロック制御する(たとえば、トグルする)限り、データクロックWCKはホスト110とメモリ150との間で同期したままとなるであろう。WCK2CK同期は、メモリ150が電源切断、自己リフレッシュ電源切断、ディープスリープ、またはリセットのためのコマンドを受信することによって終了され得る。データクロックWCKのそのような常時オンモードは、後続の読取りおよび書込みコマンドが再同期を必要としなくなるので、性能を改善するであろう。しかしながら、データクロックWCKがトグルすると、メモリ150がアイドルである(たとえば、読取りまたは書込みを行っていない)ときでも、メモリ150は内部WCKクロックツリーのトグリングに起因する電流を引き込み続ける。
コマンドデコーダ173は、リンク190を介してホスト110(たとえば、メモリコントローラ130)によって与えられた様々なコマンドを復号するように構成され得る。たとえば、コマンドデコーダ173は、読取りコマンド、書込みコマンド、および上記で提示した様々なWCK2CKコマンドを復号するように構成され得る。
図2は、本開示のいくつかの態様による、図1のリンク190を介してホスト110によってメモリ150に与えられたデータクロック同期(WCK2CK SYNC)コマンドを示す図である。図2は、CASコマンドとして発行されたWCK2CK SYNCコマンドの図210と、(WCK2CK SYNC)CASコマンドのモードの図220とを含む。図210は、(WCK2CK SYNC)CASコマンドが任意のバンク構成上で動作可能であることを示す。クロックCK立上りエッジにおいて、CSピンは高であり、WCK2CK SYNCコマンドのオペランドはアドレスCA0~CA6において与えられる。クロックCK立下りエッジにおいて、追加のオペランドが入力される。オペランド(たとえば、WCK2CK SYNCコマンドのいくつかの態様を示す変数、フィールド、または値)は、LPDDR5仕様によって規定されるように、DC0~DC3、WS_WR、WS_RD、WS_FS、WRX、WXS、B3を含み得る。たとえば、論理1におけるWS_WRは、書込みコマンドがWCK2CK SYNCコマンドの直後に続くことを示し得る。論理1におけるWS_RDは、読取りコマンドがWCK2CK SYNCコマンドの直後に続くことを示し得る。WS_FSは、高速同期を示し得る。WRXおよびWXSは、Write X機能を示し得る(たとえば、WRXおよび/またはWXSは、Write X機能用のオペランドであり得る)。B3は、読取りバースト開始アドレスを示し得る。
図220は、(WCK2CK SYNC)CASコマンドのモードがWRITE用のWCK2CK SYNC(たとえば、WS_WRは論理1である)、READ用のWCK2CK SYNC(たとえば、WS_RDは論理1である)、FAST WCK2CK SYNC(たとえば、WS_FSは論理1である)、およびWCK2CK SYNC OFF(WCK同期を終了し、メモリ150内の内部WCKクロックツリーをオフにするためのコマンド)を含み得ることを示す。(WCK2CK SYNC)CASコマンドは、データクロックサスペンド(WCK SUSPEND)モードでさらに拡張される。たとえば、(WCK2CK SYNC)CASコマンドは、論理1におけるWS_WR、論理0におけるWS_RD、および論理1におけるWS_FSによって、WCK SUSPENDモードに入り得る。参照しやすいように、そのようなWCK SUSPENDモードを有するWCK2CK SYNCコマンドは、データクロック(WCK)サスペンドコマンドと呼ばれることがある。データクロック(WCK)サスペンドコマンドは、データクロックWCKがクロック制御(たとえば、トグル)し続けていても、メモリ150に対する少なくとも1つの内部WCKクロックツリーをオフにするようにメモリ150にシグナリングする。そのような様式では、少なくとも1つの内部WCKクロックツリーがトグリングを停止し、WCK同期が維持されている間に電力消費が節約される。新しいWCK同期は、WCK SUSPENDモードの後に読取りまたは書込み動作を実行することを必要としない。
LPDDR5デュアルランク構成の場合、メモリコントローラ130は、LPDDR5 WCK2CK SYNCブロードキャスト機能を有する拡張データクロック(WCK)動作を可能にするように構成され得る。たとえば、CAS-WCK_SUSは、より良いコマンドおよびアドレス(CA)バス効率のために、両方のランク(Rank 0および1)に一緒にブロードキャストされる。
いくつかの例では、モードレジスタ170(図1)は、データサスペンド(WCK SUSPEND)モードがサポートまたは有効化されることを示すためのフィールドを含み得る。たとえば、図1のWCKサスペンドレジスタ171を参照されたい。ホスト110(たとえば、メモリコントローラ130)は、モードレジスタ170内のWCKサスペンドレジスタ171を読み取るために、かつメモリ150がクロックデータサスペンド(WCK SUSPEND)モードをサポートするかどうかをWCKサスペンドレジスタ171に記憶された値またはオペランドに基づいて決定するために、リンク190を介してモードレジスタ読取り(MRR)コマンドを発行し得る。
いくつかの例では、クロックデータサスペンド(WCK SUSPEND)モードは、後続の読取りまたは書込みコマンドによって終了され得る。(クロックデータサスペンドモードである間の)後続の読取りまたは書込みコマンドに応答して、メモリ150は少なくとも1つの内部WCKクロックツリートグリングを再開し得る。クロックデータサスペンド(WCK SUSPEND)モードを終了するために追加のクロックサイクルが必要とされないので、性能は失われない。
図3は、本開示のいくつかの態様による、WCK SUSPENDモードでのWCK同期の波形を示す。図3では、読取り動作が例として与えられる。書込み動作は同様の様式で実装され得る。T0において(およびクロックCKの立下りエッジであるT0_fにおいて)、ホスト110(たとえば、メモリコントローラ130)は、論理1におけるWS_RDによって、リンク190を介してWCK2CK SYNCコマンドをメモリ150に発行する。直後のクロックサイクルT1において、ホスト110(たとえば、メモリコントローラ130)は、リンク190を介して読取りコマンドをメモリ150に発行する。結果として、ホスト110およびメモリ150はデータクロックWCK同期(WCK2CK)サイクルに入る。Tb1において、データクロックWCKは、ホスト110とメモリ150との間で同期している。その後、ホスト110は、同期を保つためにデータクロックWCKをクロック制御(たとえば、トグル)し続ける。ホスト110(たとえば、メモリコントローラ130)は、さらなるデータクロックWCK同期なしに、リンク190を介して追加の読取りまたは書込みコマンドをメモリ150に発行し得る。
Td0において(およびクロックCKの立下りエッジであるTd0_fにおいて)、ホスト110(たとえば、メモリコントローラ130)は、WCK SUSPENDモードに入るために、リンク190を介して(WCK SUSPENDモードを指定する)クロックデータサスペンド(WCK SUSPEND)コマンドをメモリ150に発行する。応答して、メモリ150は少なくとも1つの内部WCKクロックツリーがトグルするのを停止し得る。そのような様式では、メモリ150内の電力消費が低減される。
WCK SUSPENDモードに入った後に、Te0において、ホスト110は(メモリコントローラ130を介して)読取りコマンド(または書込みコマンド)を発行する。読取り/書込みコマンドに応答して、メモリ150が1つまたは複数の内部WCKクロックツリートグリングを開始し、読取り/書込み動作が正常に始まる。読取り/書込み動作に対する変更はない。
図4は、本開示のいくつかの態様による、図1のリンク190を介したホスト110とメモリ150との間のデータクロック(WCK)サスペンドモードの動作および通信を示す。402において、ホスト110(たとえば、メモリコントローラ130)は、リンク190を介してモードレジスタ読取りコマンドをメモリ150に与える。たとえば、モードレジスタ読取りコマンドは、モードレジスタ170のWCKサスペンドレジスタ171を読み取るように指示され得る。404において、メモリ150は、たとえば、モードレジスタ170のWCKサスペンドレジスタ171に記憶されたデータクロック(WCK)サスペンドコマンドの情報をリンク190を介してホスト110に与える。データクロック(WCK)サスペンドコマンドの情報は、メモリ150がデータクロック(WCK)サスペンドコマンドをサポートするかどうかを示し得る。
410において、ホスト110(たとえば、メモリコントローラ130)は、リンク190を介してデータクロック同期(WCK2CK SYNC)コマンドをメモリ150に与える。図3のT0を参照されたい。たとえば、図2の図220を参照すると、WCK2CK SYNCコマンドは、論理0におけるWS_WR、論理1におけるWS_RD、および論理0におけるWS_FSのオペランドを有する、READ用のWCK2CK SYNCであり得る。ホスト110(たとえば、メモリコントローラ130)は、書込みデータを出力するために(たとえば、書込みデータと同期させるために)および/または読取りデータをキャプチャするために(たとえば、読取りデータをサンプリングするために)データクロックWCKを使用するように構成され得る。メモリ150(たとえば、メモリI/Oモジュール160)は、データクロックWCKを受信するように構成され、書込みデータをキャプチャする(たとえば、書込みデータをサンプリングする)および/または読取りデータを出力する(たとえば、読取りデータと同期させる)ように構成され得る。メモリ150は、1つまたは複数のクロックツリーバッファを組み込んだ1つまたは複数の内部データクロックツリーを含み得る。クロックツリーバッファは、書込みデータをキャプチャするためにまたは読取りデータを出力するためにデータクロックWCKに基づいてトグルする(たとえば、データクロックWCKを用いてトグルする)ように構成される。1つまたは複数のクロックツリーバッファは、たとえば、書込みデータをキャプチャすることおよび/または読取りデータを出力すること(たとえば、読取りデータと同期させること)を実行するために、メモリ150内の内部データクロックWCKを駆動するように構成される。
420において、ホスト110およびメモリ150は(たとえば、WCK2CK同期において)同期している。たとえば、Tb0とTb1との間の同期サイクルを参照されたい。たとえば、メモリコントローラ130は、データクロックWCKをメモリ150と同期させるために(たとえば、CAクロックCLKをメモリ150の内部データクロックと同期させるために、たとえば、両方が同じ状態になるように)、LPDDR5仕様に従って同期サイクルを実行するように構成され得る。430において、ホスト110(たとえば、メモリコントローラ130)はリンク190を介してデータクロック(WCK)サスペンドコマンドをメモリ150に与え、メモリ150はデータクロック(WCK)サスペンドモードに入る。たとえば、メモリ150は、ホスト110とメモリ150との間のデータクロック(たとえば、WCK)を同期させた後におよび/またはデータクロック(たとえば、WCK)がホスト110とメモリ150との間で同期している間に、データクロック(WCK)サスペンドコマンドを受信し復号するように構成され得る。図3のTd0を参照されたい。ホスト110(たとえば、メモリコントローラ130)は、データクロック(WCK)サスペンドコマンドを与えた後にデータクロックWCKをトグルし続けるように構成され得る。データクロック(WCK)サスペンドコマンドに応答して、メモリ150はデータクロック(WCK)サスペンドモードに入り得る。たとえば、メモリ150は、電力消費を低減するために、データクロックWCKに基づいてクロックツリートグリングを無効化するように構成され得る。
440において、ホスト110(たとえば、メモリコントローラ130)は、データクロック(WCK)サスペンドコマンドを与えた後に、ホスト110とメモリ150との間の同期を実行することなしに、リンク190を介して読取り(または書込み)コマンドをメモリ150に与える。図3のTe0を参照されたい。Te0における読取りコマンドは、Td0においてデータクロック(WCK)サスペンドコマンドを与えた後にホスト110によって与えられる。ホスト110およびメモリ150は、(430において)Td0においてデータクロック(WCK)サスペンドコマンドを与えることと(440において)Td0において読取りまたは書込みコマンドを与えることとの間でデータクロックWCKの同期を実行しない(同期サイクルなし)。ホスト110がデータクロック(WCK)をトグルする限り、データクロックWCKがデータクロック(WCK)同期サスペンドモードにおいて同期したままであるので、430と440との間で同期サイクルが必要とされない。読取り(または書込み)コマンドに応答して、メモリ150は読取り(または書込み)動作を実行する。メモリ150は、読取りデータを出力する(たとえば、読取りデータと同期させる)ためにおよび/または書込みデータをキャプチャするために、データクロックWCKに基づいて1つまたは複数のクロックツリーバッファトグリングによって電力供給されるクロックを使用し得る。
図5は、本開示のいくつかの態様による、データクロック同期(WCK2CK)サスペンドモードを動作させる図1の拡張データクロックモジュール132を含むメモリコントローラ130の部分を示す。図5は、メモリコントローラ130がメモリコマンドモジュール506と、メモリアクセスキューモジュール508と、拡張データクロックモジュール132とを含むことを示す。拡張データクロックモジュール132は、WCKサスペンドサポート決定モジュール502およびWCKサスペンド使用決定モジュール504のうちの一部または全部を含み得る。モジュールはバスシステム510によって結合され、モジュールはバスシステム510を介して通信する。バスシステム510はさらに、ホストI/Oモジュール134に結合される。
メモリコマンドモジュール506は、リンク190を介して(およびホストI/Oモジュール134を介して)様々なコマンドをメモリ150に与えるように構成され得る。たとえば、メモリコマンドモジュール506は、モードレジスタ読取りコマンド(たとえば、データクロックサスペンドコマンドの情報用、図4の402を参照)、データクロック(WCK)同期コマンド(図4の410を参照)、データクロック(WCK)サスペンドコマンド(たとえば、データクロックサスペンドコマンドの情報に基づくおよび/またはデータクロックWCKがホスト110とメモリ150との間で同期している間、図4の430を参照)、および/または読取り(もしくは書込み)動作を実行するようにメモリ150に命令するための読取り(もしくは書込み)コマンド(たとえば、データクロックサスペンドコマンドを与えた後におよび/またはデータクロックサスペンドコマンドを与えることと読取りもしくは書込みコマンドを与えることとの間でデータクロックWCKの同期を実行することなしに、図4の440を参照)を与えるように構成され得る。メモリアクセスキューモジュール508は、たとえば、1つまたは複数の記憶要素であってもよく、1つまたは複数のメモリアクセスコマンドまたは命令を記憶するように構成され得る。
WCKサスペンドサポート決定モジュール502は、メモリ150がデータクロック(WCK)サスペンドモードなどの拡張データクロック動作をサポートするかどうかを決定するように構成され得る。たとえば、図4の402において、WCKサスペンドサポート決定モジュール502は、メモリ150のモードレジスタ170(たとえば、WCKサスペンドレジスタ171)に記憶されたデータクロック(WCK)サスペンドモジュールの情報を受信し得る。データクロック(WCK)サスペンドモジュールの情報は、メモリ150がデータクロックサスペンドコマンドをサポートするかどうかを示し得る。
WCKサスペンド使用決定モジュール504は、データクロックサスペンドコマンドの情報に基づいて、データクロック(WCK)サスペンドモードを使用するかどうか(たとえば、データクロック(WCK)サスペンドコマンドを与えるかどうか)を決定するように構成され得る。メモリ150がデータクロック(WCK)サスペンドモードをサポートすることをデータクロックサスペンドコマンドの情報が示す場合、WCKサスペンド使用決定モジュール504は、データクロック(WCK)サスペンドモードによる省電力化がデータクロック(WCK)モードに入ることを正当化するのに十分であるかどうかを決定するために、メモリアクセスキューモジュール508を調査し得る。WCKサスペンド使用決定モジュール504は、メモリアクセスキューモジュール508に記憶されたコマンドまたは命令のタイプ、数、タイミング(たとえば、タイミングの差)に基づいてそのような決定を行い得る。
たとえば、メモリアクセスコマンドまたは命令が頻繁に行われることが決定された場合、そのような場合の省電力化はデータクロック(WCK)サスペンドモードに入ることを正当化しないことがある。代替として、メモリアクセスキューモジュール508から、次のメモリアクセス(読取りまたは書込み)が第1の時間期間の後に必要であると決定された場合、ホスト110(たとえば、WCKサスペンド使用決定モジュール504)は、省電力化がデータクロック(WCK)サスペンドモードに入ることを正当化するであろうと決定し、リンク190を介して(およびホストI/Oモジュール134を介して)データクロック(WCK)サスペンドコマンド(たとえば、論理1におけるWS_WRおよびWS_FSならびに論理0におけるWS_RDのオペランド)をメモリ150に与えることをメモリコマンドモジュール506に行わせることがある。言い換えれば、(次の)読取りまたは書込みコマンドは、データクロック(WCK)サスペンドコマンドの後の第1の時間期間にまたはそれよりも後に与えられ得る。たとえば、ホスト110は、データクロック(WCK)サスペンドコマンドを与えた後、第1の時間期間の後に(次の)読取りまたは書込みコマンドを与えるように構成され得る。
代替として、(次の)読取りまたは書込みコマンドが第1の時間期間よりも長い第2の時間期間の後に与えられることになる場合、WCKサスペンド使用決定モジュール504は、データクロック同期(WCK2CK)を終了することがより多くの電力を節約する可能性があると決定するように構成され得る。そのような場合、ホスト110(たとえば、WCKサスペンド使用決定モジュール504)は、データクロック(WCK)サスペンドコマンドを与えることをメモリコマンドモジュール506に行わせないことを選ぶことがある。ホスト110(たとえば、WCKサスペンド使用決定モジュール504)は、データクロック同期(WCK2CK)を終了する(たとえば、電源切断する)命令をリンク190を介してメモリ150に与えることをメモリコマンドモジュール506に行わせることがある。そのような様式では、ホスト110は、データクロック(WCK)サスペンドコマンドを与えた後、第1の時間期間と第2の時間期間との間に(次の)読取りまたは書込みコマンドをリンク190を介してメモリ150に与えるように構成され得る。
図6は、本開示のいくつかの態様による、データクロック(WCK)サスペンドモードを動作させる図1のメモリI/Oモジュール160の部分を示す。図6は、メモリI/Oモジュール160がWCKバッファ602と、CAバッファ606と、DQバッファ608とを含むことを示す(メモリI/Oモジュール160は、これらのバッファの複数のインスタンスを含み得る)。図6はさらに、メモリI/Oモジュール160がクロックツリー603と、WCKサスペンド制御モジュール605とを含むことを示す。
WCKバッファ602は、データクロックWCKを受信するように構成され、クロックツリー603に出力するように構成された入力バッファ/受信機であり得る。クロックツリー603は、受信されたデータクロックWCKを用いてトグルするように構成されてもよく、内部WCKをDQバッファ608に出力する。クロックツリー603は、書込みデータをキャプチャするためにまたは読取りデータを出力するためにデータクロックWCKに基づいてトグルする(たとえば、データクロックWCKを用いてトグルする)ように構成された1つまたは複数のクロックツリーバッファ604を含む。いくつかの例では、クロックツリーバッファ604は、WCKバッファ602の後(たとえば、WCKバッファ602から直接または間接的に出力を受信した後)(すなわち、メモリI/Oモジュール160の後)であり得る。DQバッファ608は、リンク190のDQから書込みデータを受信し、リンク190のDQに読取りデータを出力するように構成された入力/出力バッファであってもよい。DQバッファ608は、内部WCKによってクロック制御される(または内部WCKに基づいてクロック制御される)ように構成され得る。たとえば、DQバッファ608は、(データクロックWCKに基づく)内部WCKに基づいて書込みデータをキャプチャする(たとえば、サンプリングする)ように構成され、かつ/または(データクロックWCKに基づく)内部WCKに基づいて出力する(たとえば、出力を内部WCKと同期させる)ように構成され得る。
CAバッファ606は、リンク190からコマンドおよびアドレス入力を受信するように構成され、コマンドデコーダ173に出力するように構成された入力バッファ/受信機であり得る。コマンドデコーダ173は、たとえば、モードレジスタ読取りコマンド(たとえば、データクロックサスペンドコマンドの情報用、図4の402を参照)、データクロック同期(たとえば、WCK2CK)コマンド(図4の410を参照)、データクロック(WCK)サスペンドコマンド(たとえば、データクロック(WCK)サスペンドコマンドの情報に基づくおよび/またはデータクロックWCKがホスト110とメモリ150との間で同期している間、図4の430を参照)、および/または読取り(もしくは書込み)動作を実行するようにメモリ150に命令するための読取り(もしくは書込み)コマンド(たとえば、データクロック(WCK)サスペンドコマンドを検出することと読取りまたは書込みコマンドを検出することとの間でデータクロックWCKの同期を実行することなしに、データクロック(WCK)サスペンドコマンドを検出した後に、図4の440を参照)を検出するように構成され得る。
いくつかの例では、データクロック(WCK)サスペンドコマンドは、クロックツリーバッファ604のトグリングを無効化するようにメモリ150に通知し、クロックツリーバッファ604は、データクロックWCKに基づいてトグルするように構成される。したがって、コマンドデコーダ173がデータクロック(WCK)サスペンドコマンドを検出したことに応答して、WCKサスペンド制御モジュール605はクロックツリーバッファ604がトグルするのを無効化する。したがって、クロックツリーバッファ604は、コマンドデコーダ173がデータクロック(WCK)サスペンドコマンドを検出したことに応答して、データクロックWCKに基づいてトグリングを無効化するように構成される。そのような様式では、クロックツリー603によって消費されるクロック制御電力が節約される。
いくつかの例では、データクロック(WCK)サスペンドコマンドの後の読取りまたは書込みコマンドは、クロックツリーバッファ604のトグリングを開始するようにメモリ150に通知する。したがって、コマンドデコーダ173がデータクロック(WCK)サスペンドコマンドの後の読取りまたは書込みコマンドを検出したことに応答して、WCKサスペンド制御モジュール605はクロックツリーバッファ604がデータクロックWCKに基づいてトグリングを開始するのを有効化する。したがって、クロックツリーバッファ604は、コマンドデコーダ173が(データクロック(WCK)サスペンドコマンドの後の)読取りまたは書込みコマンドを検出したことに応答して、データクロックWCKに基づいてトグリングを開始するように構成される。さらに、メモリ150は、コマンドデコーダ173が読取りまたは書込みコマンドを検出したことに応答して、読取り(または書込み)動作を実行する(たとえば、図1のメモリアレイ162から読み取るまたは図1のメモリアレイ162に書き込む)ように構成される。そのような様式では、追加の同期サイクルが必要とされないので、メモリ150の性能は妨げられない。
図7は、本開示のいくつかの態様による、図1のリンク190を介してホスト110に結合されたメモリ150のためのデータクロック(WCK)の電力を低減する方法を示す。図7の動作は、たとえば、図1~図6で提示された装置100(たとえば、メモリ150)によって実装され得る。矢印は動作の間の特定の関係を示すが、必ずしも逐次的な関係を示すとは限らない。
710において、データクロックがリンクを介してホストからメモリによって受信される。たとえば、図1および図6を参照すると、WCKバッファは、リンク190を介してホスト110からデータクロックWCKを受信する。720において、データクロックがメモリによってホストと同期される。たとえば、図3のTb0とTb1との間の同期サイクルおよび図4の420を参照されたい。730において、メモリのクロックツリーバッファが、書込みデータをキャプチャするためにまたは読取りデータを出力するためにデータクロックに基づいてトグルされる。たとえば、クロックツリーバッファ604は、書込みデータをキャプチャするためにまたは読取りデータを出力するためにデータクロックWCKに基づいてトグルすることを参照されたい。
740において、データクロックがメモリとホストとの間で同期している間に、データクロックサスペンドコマンドがメモリによって検出される。たとえば、図4の430を参照されたい。さらに、図6を参照すると、コマンドデコーダ173は、データクロック(WCK)サスペンドコマンド(たとえば、論理1におけるWS_WRおよびWS_FSならびに論理0におけるWS_RDのオペランドを有するWCK2CKコマンド)を検出する。750において、データクロックサスペンドコマンドを検出したことに応答して、データクロックに基づいてクロックツリーバッファのトグリングが無効化される。図6を参照すると、コマンドデコーダ173がデータクロック(WCK)サスペンドモードを検出したことに応答して、WCKサスペンド制御モジュール605によってクロックツリーバッファ604のトグリングが無効化される。
760において、データクロックサスペンドコマンドを検出した後に、読取りまたは書込みコマンドがメモリによって検出される。たとえば、図4の440を参照されたい。図6を参照すると、コマンドデコーダ173は、データクロックWCKサスペンドコマンドを検出した後に読取り(または書込み)コマンドを検出する。770において、読取りまたは書込みコマンドを検出したことに応答して、クロックツリーバッファによってデータクロックに基づいてトグリングが開始される。図6を参照すると、クロックツリーバッファ604は、コマンドデコーダ173が読取りまたは書込みコマンドを検出したことに応答して、(WCKサスペンド制御モジュール605によって有効化された)データクロックWCKに基づいてトグリングを開始する。
780において、読取りまたは書込みコマンドに応答して、データクロックサスペンドコマンドを検出することと読取りまたは書込みコマンドを検出することとの間のデータクロックの同期を実行することなしに、読取りまたは書込み動作がメモリによって実行される。たとえば、図4の440を参照されたい。メモリ150は、データクロック(WCK)サスペンドコマンドを検出することと読取りまたは書込みコマンドを検出することとの間のデータクロックWCKの同期を実行することなしに、読取りまたは書込みコマンドに従って読取りまたは書込み動作を実行する。ホスト110およびメモリ150はWCK2CKモード(データクロック同期モード)のままであるので、そのような同期は必要とされない。790において、データクロックサスペンドコマンドの情報がメモリモードレジスタによって記憶される。図1を参照すると、モードレジスタ170は、メモリ150がデータクロック(WCK)サスペンドコマンドなどの拡張データクロックWCK動作をサポートするかどうかに関する情報を記憶するWCKサスペンドレジスタ171を含む。
図8は、本開示のいくつかの態様による、図1のリンク190を介してホスト110に結合されたメモリ150のためのデータクロック(WCK)の電力を低減する方法を示す。図8の動作は、たとえば、図1~図6で提示された装置100(たとえば、ホスト110)によって実装され得る。矢印は動作の間の特定の関係を示すが、必ずしも逐次的な関係を示すとは限らない。図7および図8の動作は、本開示で提示されるように組み合わされ得る。
810において、データクロック同期コマンドがリンクを介してホストによってメモリに与えられる。たとえば、図4の410を参照されたい。図5を参照すると、メモリコマンドモジュール506は、リンク190を介してデータクロック同期コマンド(たとえば、READ用のWCK2CKまたはWRITE用のWCK2CK、図2を参照)をメモリ150に与える。820において、データクロックを同期させた後に、データクロックサスペンドコマンドがリンクを介してホストによってメモリに与えられる。データクロックサスペンドコマンドは、データクロックに基づいてトグルするデータクロックバッファを無効化するようにメモリに通知する。たとえば、図4の430を参照されたい。図5を参照すると、メモリコマンドモジュール506は、データクロックをメモリ150と同期(たとえば、図4の420)した後に、リンク190を介してデータクロック(WCK)サスペンドコマンドをメモリ150に与える。図6を参照すると、コマンドデコーダ173は、データクロック(WCK)サスペンドコマンドを検出し、データクロックWCKに基づいてトグルするクロックツリーバッファ604がトグルするのを無効化することをWCKサスペンド制御モジュール605に行わせる。
830において、データクロックサスペンドコマンドを与えた後に、データクロックがホストによってトグルされる。図3を参照すると、ホスト110は、Td0においてデータクロックサスペンドコマンドを与えた後にデータクロックWCKをトグルし続ける。したがって、ホスト110およびメモリ150はデータクロック同期モード(WCK2CKモード)のままであり、後続の読取りまたは書込み動作のために同期サイクルが必要とされない。
840において、データクロックサスペンドコマンドを与えることと読取りまたは書込みコマンドを与えることとの間のデータクロックの同期を実行することなしに、データクロックサスペンドコマンドの後に読取りまたは書込みコマンドがリンクを介してホストによってメモリに与えられる。たとえば、図4の440を参照されたい。850において、データクロックサスペンドコマンドの情報に応答して、データクロックサスペンドコマンドが与えられる。たとえば、図4の430を参照されたい。
付録I、II、およびIIIが添付され、その全体が参照により組み込まれる。
前述の説明は、いかなる当業者も本明細書で説明する様々な態様を実践することが可能になるように提供される。これらの態様の様々な修正は当業者に容易に明らかになり、本明細書で定義する一般原理は他の態様に適用され得る。したがって、特許請求の範囲は、本明細書に示された態様に限定されるものではなく、クレーム文言と一致するすべての範囲を与えられるべきであり、単数形での要素への言及は、そのように明記されていない限り、「唯一無二の」ではなく、「1つまたは複数の」を意味するものとする。「例示的」という語は、本明細書では「例、事例、または例示として機能すること」を意味するために使用される。本明細書で「例示的」として説明するいかなる態様も、必ずしも他の態様よりも好ましいまたは有利なものと解釈されるべきではない。別段に明記されていない限り、「いくつかの」という用語は、1つまたは複数を指す。「A、B、またはCのうちの少なくとも1つ」、「A、B、またはCのうちの1つまたは複数」、「A、B、およびCのうちの少なくとも1つ」、「A、B、およびCのうちの1つまたは複数」、および「A、B、C、またはそれらの任意の組合せ」などの組合せは、A、B、および/またはCの任意の組合せを含み、複数のA、複数のB、または複数のCを含み得る。具体的には、「A、B、またはCのうちの少なくとも1つ」、「A、B、またはCのうちの1つまたは複数」、「A、B、およびCのうちの少なくとも1つ」、「A、B、およびCのうちの1つまたは複数」、および「A、B、C、またはそれらの任意の組合せ」などの組合せは、Aのみ、Bのみ、Cのみ、AおよびB、AおよびC、BおよびC、またはAおよびBおよびCであってもよく、任意のそのような組合せは、A、B、またはCのうちの1つまたは複数のメンバーを含み得る。当業者に知られているか、または後に知られることになる、本開示全体にわたって説明する様々な態様の要素に対するすべての構造的および機能的均等物が、参照により本明細書に明確に組み込まれ、特許請求の範囲によって包含されるものとする。さらに、本明細書で開示したものは、そのような開示が特許請求の範囲に明示的に列挙されているかどうかにかかわらず、公に供されるものではない。「モジュール」、「機構」、「要素」、「デバイス」などの語は、「手段」という語の代用ではないことがある。したがって、いかなるクレーム要素も、その要素が「のための手段」という句を使用して明確に列挙されていない限り、ミーンズプラスファンクションとして解釈されるべきではない。
100 装置
110 ホスト
115 バスシステム
120 プロセッサ
122 中央処理ユニット(CPU)
123 グラフィック処理ユニット(GPU)
124 デジタル信号プロセッサ(DSP)
130 メモリコントローラ
132 拡張データクロックモジュール
134 ホストI/Oモジュール
150 メモリ
160 メモリI/Oモジュール
162 メモリアレイ
170 モードレジスタ
171 WCKサスペンドレジスタ
172 バスシステム
173 コマンドデコーダ
180-1~180-M メモリバンク
190 リンク
210 図
220 図
502 WCKサスペンドサポート決定モジュール
504 WCKサスペンド使用決定モジュール
506 メモリコマンドモジュール
508 メモリアクセスキューモジュール
510 バスシステム
602 WCKバッファ
603 クロックツリー
604 クロックツリーバッファ
605 WCKサスペンド制御モジュール
606 CAバッファ
608 DQバッファ

Claims (49)

  1. 装置であって、
    リンクを介してホストからデータクロックを受信し、前記データクロックを前記ホストと同期させるように構成されたメモリを備え、前記メモリが、
    書込みデータをキャプチャするためにまたは読取りデータを出力するために前記データクロックに基づいてトグルするように構成されたクロックツリーバッファと、
    前記データクロックが前記ホストと前記メモリとの間で同期している間にデータクロックサスペンドコマンドを検出するように構成されたコマンドデコーダとをさらに備え、前記クロックツリーバッファが、前記コマンドデコーダが前記データクロックサスペンドコマンドを検出したことに応答して、前記データクロックに基づいてトグリングを無効化するように構成される、
    装置。
  2. 前記コマンドデコーダが、前記データクロックサスペンドコマンドを検出することと読取りまたは書込みコマンドを検出することとの間の前記データクロックの同期を実行することなしに、前記データクロックサスペンドコマンドを検出した後に前記読取りまたは書込みコマンドを検出するようにさらに構成され、前記クロックツリーバッファが、前記コマンドデコーダが前記読取りまたは書込みコマンドを検出したことに応答して、前記データクロックに基づいてトグリングを開始するようにさらに構成される、請求項1に記載の装置。
  3. 前記メモリが、前記読取りまたは書込みコマンドに応答して読取りまたは書込み動作を実行するように構成される、請求項2に記載の装置。
  4. 前記メモリが、前記データクロックサスペンドコマンドの情報を記憶するように構成されたメモリモードレジスタをさらに備える、請求項1に記載の装置。
  5. 前記データクロックサスペンドコマンドの前記情報が、前記メモリが前記データクロックサスペンドコマンドをサポートするかどうかを示す、請求項4に記載の装置。
  6. 前記メモリが、低電力ダブルデータレートダイナミックランダムアクセスメモリ仕様に従って動作するように構成される、請求項3に記載の装置。
  7. 前記データクロックサスペンドコマンドが、論理1におけるWS_WR、WS_RD、およびWS_FSのオペランドを含む、請求項6に記載の装置。
  8. 前記ホスト、前記メモリ、および前記リンクを組み込んだ、コンピューティングシステム、モバイルコンピューティングシステム、モノのインターネットデバイス、仮想現実システム、または拡張現実システムのうちの1つをさらに備え、前記ホストが、前記コンピューティングシステム、前記モバイルコンピューティングシステム、前記モノのインターネットデバイス、前記仮想現実システム、または前記拡張現実システムのうちの前記1つのコンピューティング機能を実行するために前記メモリに結合された少なくとも1つのプロセッサをさらに備える、請求項6に記載の装置。
  9. 前記メモリがLPDDR5メモリを含む、請求項8に記載の装置。
  10. 前記クロックツリーバッファが、前記データクロックを受信するように構成されたデータクロックバッファから直接または間接的に出力を受信するように構成される、請求項8に記載の装置。
  11. 装置であって、
    リンクを介してメモリに結合されたホストを備え、前記ホストが、データクロックを前記メモリと同期させ、前記データクロックに基づいて書込みデータを出力するかまたは読取りデータをキャプチャするように構成され、
    前記ホストが、
    前記データクロックが前記ホストと前記メモリとの間で同期している間にデータクロックサスペンドコマンドを前記リンクを介して前記メモリに与えることであって、前記データクロックサスペンドコマンドが、クロックツリーバッファのトグリングを無効化するように前記メモリに通知し、前記クロックツリーバッファが、前記データクロックに基づいてトグルするように構成される、与えることと、
    前記データクロックサスペンドコマンドを与えた後に前記データクロックをトグルすることと
    を行うように構成されたメモリコントローラを備える、装置。
  12. 前記メモリコントローラが、前記データクロックサスペンドコマンドを与えた後に読取りまたは書込みコマンドを前記リンクを介して前記メモリに与えるようにさらに構成され、前記読取りまたは書込みコマンドが、データクロックバッファのトグリングを開始するように前記メモリに通知する、請求項11に記載の装置。
  13. 前記メモリコントローラが、前記データクロックサスペンドコマンドを与えることと前記読取りまたは書込みコマンドを与えることとの間の前記データクロックの同期を実行することなしに、前記メモリにアクセスするための前記読取りまたは書込みコマンドを与えるように構成される、請求項12に記載の装置。
  14. 前記メモリコントローラが、前記データクロックサスペンドコマンドの情報についてのモードレジスタ読取りコマンドを前記リンクを介して前記メモリに与えるように構成され、前記データクロックサスペンドコマンドの前記情報に基づいて前記データクロックサスペンドコマンドを与えるように構成される、請求項13に記載の装置。
  15. 前記データクロックサスペンドコマンドの前記情報が、前記メモリが前記データクロックサスペンドコマンドをサポートするかどうかを示す、請求項14に記載の装置。
  16. 前記メモリコントローラが、低電力ダブルデータレートダイナミックランダムアクセスメモリ仕様に従って動作するように構成される、請求項14に記載の装置。
  17. 前記データクロックサスペンドコマンドが、論理1におけるWS_WRおよびWS_FSならびに論理0におけるWS_RDのオペランドを含む、請求項16に記載の装置。
  18. 前記ホスト、前記メモリ、および前記リンクを組み込んだ、コンピューティングシステム、モバイルコンピューティングシステム、モノのインターネットデバイス、仮想現実システム、または拡張現実システムのうちの1つをさらに備え、前記ホストが、前記コンピューティングシステム、前記モバイルコンピューティングシステム、前記モノのインターネットデバイス、前記仮想現実システム、または前記拡張現実システムのうちの前記1つのコンピューティング機能を実行するために前記メモリに結合された少なくとも1つのプロセッサをさらに備える、請求項16に記載の装置。
  19. 前記メモリがLPDDR5メモリを含む、請求項18に記載の装置。
  20. 前記読取りまたは書込みコマンドが、前記データクロックサスペンドコマンドの後の第1の時間期間と第2の時間期間との間にある、請求項18に記載の装置。
  21. リンクを介してホストに結合されたメモリのためのデータクロックの電力を低減する方法であって、
    前記メモリによって、前記リンクを介して前記ホストから前記データクロックを受信するステップと、
    前記メモリによって、前記データクロックを前記ホストと同期させるステップと、
    前記メモリのクロックツリーバッファによって、書込みデータをキャプチャするためにまたは読取りデータを出力するために前記データクロックに基づいてトグルするステップと、
    前記メモリによって、前記データクロックが前記メモリと前記ホストとの間で同期している間にデータクロックサスペンドコマンドを検出するステップと、
    前記データクロックサスペンドコマンドを検出したことに応答して、前記データクロックに基づいて前記クロックツリーバッファのトグリングを無効化するステップと
    を含む方法。
  22. 前記メモリによって、前記データクロックサスペンドコマンドを検出した後に読取りまたは書込みコマンドを検出するステップと、
    前記クロックツリーバッファによって、前記読取りまたは書込みコマンドを検出したことに応答して、前記データクロックに基づいてトグリングを開始するステップと
    をさらに含む、請求項21に記載の方法。
  23. 前記メモリによって、前記読取りまたは書込みコマンドに応答して、前記データクロックサスペンドコマンドを検出することと前記読取りまたは書込みコマンドを検出することとの間の前記データクロックの同期を実行することなしに、読取りまたは書込み動作を実行するステップ
    をさらに含む、請求項22に記載の方法。
  24. メモリモードレジスタによって、前記データクロックサスペンドコマンドの情報を記憶するステップ
    をさらに含む、請求項21に記載の方法。
  25. 前記データクロックサスペンドコマンドの前記情報が、前記メモリが前記データクロックサスペンドコマンドをサポートするかどうかを示す、請求項24に記載の方法。
  26. 前記メモリが、低電力ダブルデータレートダイナミックランダムアクセスメモリ仕様に従って動作する、請求項23に記載の方法。
  27. 前記データクロックサスペンドコマンドが、論理1におけるWS_WRおよびWS_FSならびに論理0におけるWS_RDのオペランドを含む、請求項26に記載の方法。
  28. 前記リンクがLPDDR5仕様に従って動作する、請求項27に記載の方法。
  29. 前記メモリがLPDDR5メモリを含む、請求項28に記載の方法。
  30. 前記ホストが前記LPDDR5仕様に従って動作する、請求項29に記載の方法。
  31. リンクを介してホストに結合されたメモリのためのデータクロックの電力を低減する方法であって、
    前記リンクを介して前記ホストと前記メモリとの間で前記データクロックを同期させるステップと、
    前記メモリのクロックツリーバッファによって、書込みデータをキャプチャするためにまたは読取りデータを出力するために前記データクロックに基づいてトグルするステップと、
    前記リンクを介して前記ホストによって前記メモリに、前記データクロックが前記ホストと前記メモリとの間で同期している間にデータクロックサスペンドコマンドを与えるステップと、
    前記クロックツリーバッファによって、前記データクロックサスペンドコマンドに応答して、前記データクロックに基づいてトグリングを無効化するステップと、
    前記ホストによって、前記データクロックサスペンドコマンドを与えた後に前記データクロックをトグルするステップと
    を含む方法。
  32. 前記リンクを介して前記ホストによって前記メモリに、前記データクロックサスペンドコマンドを与えることと読取りまたは書込みコマンドを与えることとの間の前記データクロックの同期を実行することなしに、前記データクロックサスペンドコマンドの後に前記読取りまたは書込みコマンドを与えるステップをさらに含む、請求項31に記載の方法。
  33. 前記メモリによって、前記読取りまたは書込みコマンドに応答して前記クロックツリーバッファのトグリングを開始するステップをさらに含む、請求項32に記載の方法。
  34. 前記メモリによって、前記読取りまたは書込みコマンドに応答して前記読取りまたは書込み動作を実行するステップをさらに含む、請求項33に記載の方法。
  35. 前記リンクを介して前記ホストによって前記メモリに、モードレジスタ読取りコマンドを与えるステップと、
    前記リンクを介して前記メモリによって前記ホストに、前記モードレジスタ読取りコマンドに応答して前記データクロックサスペンドコマンドの情報を与えるステップと
    をさらに含む、請求項31に記載の方法。
  36. 前記データクロックサスペンドコマンドの前記情報が、前記メモリが前記データクロックサスペンドコマンドをサポートするかどうかを示す、請求項35に記載の方法。
  37. 前記データクロックサスペンドコマンドを与えるステップが、前記データクロックサスペンドコマンドの前記情報に応答したものである、請求項36に記載の方法。
  38. 前記ホスト、前記メモリ、および前記リンクが、低電力ダブルデータレートダイナミックランダムアクセスメモリ仕様に従って動作する、請求項37に記載の方法。
  39. 前記データクロックサスペンドコマンドが、論理1におけるWS_WRおよびWS_FSならびに論理0におけるWS_RDのオペランドを含む、請求項38に記載の方法。
  40. 前記ホストがLPDDR5仕様に従って動作する、請求項39に記載の方法。
  41. リンクを介してホストに結合されたメモリのためのデータクロックの電力を低減する方法であって、
    前記リンクを介して前記ホストによって前記メモリに、データクロック同期コマンドを与えるステップと、
    前記リンクを介して前記ホストによって前記メモリに、前記データクロックを同期させた後にデータクロックサスペンドコマンドを与えるステップであって、前記データクロックサスペンドコマンドが、前記データクロックに基づいてトグルするデータクロックバッファを無効化するように前記メモリに通知する、ステップと、
    前記ホストによって、前記データクロックサスペンドコマンドを与えた後に前記データクロックをトグルするステップと
    を含む方法。
  42. 前記リンクを介して前記ホストによって前記メモリに、前記データクロックサスペンドコマンドを与えることと読取りまたは書込みコマンドを与えることとの間の前記データクロックの同期を実行することなしに、前記データクロックサスペンドコマンドの後に前記読取りまたは書込みコマンドを与えるステップ
    をさらに含む、請求項41に記載の方法。
  43. 前記メモリが、前記読取りまたは書込みコマンドに応答して前記データクロックバッファのトグリングを開始する、請求項42に記載の方法。
  44. 前記メモリが、前記読取りまたは書込みコマンドに応答して読取りまたは書込み動作を実行する、請求項43に記載の方法。
  45. 前記リンクを介して前記ホストによって前記メモリに、前記データクロックサスペンドコマンドの情報についてのモードレジスタ読取りコマンドを与えるステップ
    をさらに含む、請求項42に記載の方法。
  46. 前記データクロックサスペンドコマンドの前記情報が、前記メモリが前記データクロックサスペンドコマンドをサポートするかどうかを示す、請求項45に記載の方法。
  47. 前記データクロックサスペンドコマンドを与えるステップが、前記データクロックサスペンドコマンドの前記情報に応答したものである、請求項46に記載の方法。
  48. 前記ホスト、前記メモリ、および前記リンクが、低電力ダブルデータレートダイナミックランダムアクセスメモリ仕様に従って動作する、請求項41に記載の方法。
  49. 前記データクロックサスペンドコマンドが、論理1におけるWS_WRおよびWS_FSならびに論理0におけるWS_RDのオペランドを含む、請求項41に記載の方法。
JP2021550236A 2019-03-01 2020-02-28 メモリにおける拡張データクロック動作 Active JP7508470B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2024097486A JP2024133504A (ja) 2019-03-01 2024-06-17 メモリにおける拡張データクロック動作

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962812689P 2019-03-01 2019-03-01
US62/812,689 2019-03-01
US16/803,977 2020-02-27
US16/803,977 US11175836B2 (en) 2019-03-01 2020-02-27 Enhanced data clock operations in memory
PCT/US2020/020374 WO2020180677A1 (en) 2019-03-01 2020-02-28 Enhanced data clock operations in memory

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2024097486A Division JP2024133504A (ja) 2019-03-01 2024-06-17 メモリにおける拡張データクロック動作

Publications (3)

Publication Number Publication Date
JP2022522012A true JP2022522012A (ja) 2022-04-13
JPWO2020180677A5 JPWO2020180677A5 (ja) 2023-02-14
JP7508470B2 JP7508470B2 (ja) 2024-07-01

Family

ID=72236931

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021550236A Active JP7508470B2 (ja) 2019-03-01 2020-02-28 メモリにおける拡張データクロック動作
JP2024097486A Pending JP2024133504A (ja) 2019-03-01 2024-06-17 メモリにおける拡張データクロック動作

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2024097486A Pending JP2024133504A (ja) 2019-03-01 2024-06-17 メモリにおける拡張データクロック動作

Country Status (8)

Country Link
US (2) US11175836B2 (ja)
EP (2) EP3931830B1 (ja)
JP (2) JP7508470B2 (ja)
KR (1) KR20210131342A (ja)
CN (1) CN113519025A (ja)
BR (1) BR112021016211A2 (ja)
ES (1) ES2967120T3 (ja)
WO (1) WO2020180677A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7539487B2 (ja) 2022-07-08 2024-08-23 チャンシン メモリー テクノロジーズ インコーポレイテッド 制御装置、メモリ、信号処理方法及び電子機器

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11175836B2 (en) 2019-03-01 2021-11-16 Qualcomm Incorporated Enhanced data clock operations in memory
US11587633B2 (en) * 2020-06-23 2023-02-21 Micron Technology, Inc. Direct testing of in-package memory
US12061795B2 (en) * 2021-05-07 2024-08-13 Micron Technologies, Inc. Repair element availability communication
US11914532B2 (en) * 2021-08-31 2024-02-27 Apple Inc. Memory device bandwidth optimization
US20230176608A1 (en) * 2021-12-08 2023-06-08 Advanced Micro Devices, Inc. Read clock start and stop for synchronous memories
TWI846376B (zh) * 2022-03-23 2024-06-21 南韓商三星電子股份有限公司 記憶體裝置、操作記憶體裝置的方法、操作記憶體控制器的方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6898683B2 (en) 2000-12-19 2005-05-24 Fujitsu Limited Clock synchronized dynamic memory and clock synchronized integrated circuit
US6781911B2 (en) 2002-04-09 2004-08-24 Intel Corporation Early power-down digital memory device and method
US8964779B2 (en) * 2007-11-30 2015-02-24 Infineon Technologies Ag Device and method for electronic controlling
JP4962396B2 (ja) * 2008-04-23 2012-06-27 日本電気株式会社 パケット処理装置
WO2012021380A2 (en) 2010-08-13 2012-02-16 Rambus Inc. Fast-wake memory
JP5642524B2 (ja) 2010-12-13 2014-12-17 ピーエスフォー ルクスコ エスエイアールエルPS4 Luxco S.a.r.l. 半導体装置
US9098281B2 (en) 2011-03-09 2015-08-04 Rambus Inc. Power-management for integrated circuits
JP5819678B2 (ja) * 2011-08-30 2015-11-24 ルネサスエレクトロニクス株式会社 Usbハブ及びusbハブの制御方法
US9658642B2 (en) 2013-07-01 2017-05-23 Intel Corporation Timing control for unmatched signal receiver
KR102272259B1 (ko) 2015-07-01 2021-07-06 삼성전자주식회사 커맨드 연동 클럭 생성 스키마를 갖는 반도체 메모리 장치
US10169262B2 (en) 2015-07-14 2019-01-01 Qualcomm Incorporated Low-power clocking for a high-speed memory interface
KR20180034738A (ko) * 2016-09-26 2018-04-05 삼성전자주식회사 메모리 장치 및 그것의 분주 클록 보정 방법
CN115798538A (zh) 2016-10-31 2023-03-14 英特尔公司 针对存储设备识别和功率管理控制应用片选
KR102679157B1 (ko) * 2018-10-30 2024-06-27 삼성전자주식회사 모드 레지스터 쓰기 명령을 이용하여 쓰기 클럭의 듀티 사이클의 트레이닝을 수행하는 시스템 온 칩, 시스템 온 칩의 동작 방법, 및 시스템 온 칩을 포함하는 전자 장치
US11175836B2 (en) 2019-03-01 2021-11-16 Qualcomm Incorporated Enhanced data clock operations in memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7539487B2 (ja) 2022-07-08 2024-08-23 チャンシン メモリー テクノロジーズ インコーポレイテッド 制御装置、メモリ、信号処理方法及び電子機器

Also Published As

Publication number Publication date
EP3931830C0 (en) 2023-12-13
EP4290521A2 (en) 2023-12-13
JP7508470B2 (ja) 2024-07-01
US20200278802A1 (en) 2020-09-03
CN113519025A (zh) 2021-10-19
BR112021016211A2 (pt) 2021-10-05
TW202101193A (zh) 2021-01-01
JP2024133504A (ja) 2024-10-02
US20220027067A1 (en) 2022-01-27
ES2967120T3 (es) 2024-04-26
EP4290521A3 (en) 2024-03-13
WO2020180677A1 (en) 2020-09-10
KR20210131342A (ko) 2021-11-02
US11662919B2 (en) 2023-05-30
EP3931830A1 (en) 2022-01-05
EP3931830B1 (en) 2023-12-13
US11175836B2 (en) 2021-11-16

Similar Documents

Publication Publication Date Title
JP7508470B2 (ja) メモリにおける拡張データクロック動作
US6781911B2 (en) Early power-down digital memory device and method
US6532522B1 (en) Asynchronous request/synchronous data dynamic random access memory
US9343127B1 (en) Memory device having an adaptable number of open rows
US8005995B2 (en) Command interface systems and methods
JP2000137983A (ja) 半導体記憶装置
US20120030396A1 (en) Decoupled Memory Modules: Building High-Bandwidth Memory Systems from Low-Speed Dynamic Random Access Memory Devices
JP2006018797A (ja) 集積回路装置における待機電力を低減させる方法、集積回路のキャッシュ付きメモリアレイを動作させる方法、および集積回路装置
US10573371B2 (en) Systems and methods for controlling data strobe signals during read operations
US11295803B2 (en) Memory with dynamic voltage scaling
US11829640B2 (en) Asynchronous arbitration across clock domains for register writes in an integrated circuit chip
US9030895B2 (en) Memory device with pin register to set input/output direction and bitwidth of data signals
US20180181335A1 (en) Apparatus and method to speed up memory frequency switch flow
US11493949B2 (en) Clocking scheme to receive data
CN116343856A (zh) 快速自刷新退出功率状态
TWI856065B (zh) 記憶體中的增強型資料時鐘操作
JP3489497B2 (ja) メモリコントローラ
US20240193109A1 (en) Apparatus and method to reduce memory power consumption in a memory phy in a memory controller
AN et al. High Performance Design and Implemantion of DDR SDRAM Controller

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230206

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240502

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: 20240520

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240619

R150 Certificate of patent or registration of utility model

Ref document number: 7508470

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150