ES2967120T3 - Operaciones de reloj de datos potenciadas en la memoria - Google Patents
Operaciones de reloj de datos potenciadas en la memoria Download PDFInfo
- Publication number
- ES2967120T3 ES2967120T3 ES20715575T ES20715575T ES2967120T3 ES 2967120 T3 ES2967120 T3 ES 2967120T3 ES 20715575 T ES20715575 T ES 20715575T ES 20715575 T ES20715575 T ES 20715575T ES 2967120 T3 ES2967120 T3 ES 2967120T3
- Authority
- ES
- Spain
- Prior art keywords
- memory
- data clock
- command
- data
- clock
- 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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 275
- 239000000872 buffer Substances 0.000 claims abstract description 60
- 230000004044 response Effects 0.000 claims abstract description 30
- 230000001360 synchronised effect Effects 0.000 claims abstract description 23
- 238000000034 method Methods 0.000 claims abstract description 22
- 238000001514 detection method Methods 0.000 claims description 12
- 230000009977 dual effect Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 17
- 238000004891 communication Methods 0.000 description 8
- 230000011664 signaling Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 5
- 230000009467 reduction Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 239000000725 suspension Substances 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 239000004020 conductor Substances 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000020169 heat generation Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000002918 waste heat Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4074—Power supply or voltage generation circuits, e.g. bias voltage generators, substrate voltage generators, back-up power, power control circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
- G11C7/222—Clock generating, synchronizing or distributing circuits within memory device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3237—Power saving characterised by the action undertaken by disabling clock generation or distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1689—Synchronisation and timing concerns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4076—Timing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4093—Input/output [I/O] data interface arrangements, e.g. data buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1066—Output synchronization
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/109—Control signal input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1093—Input synchronization
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
- G11C7/225—Clock input buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1028—Power efficiency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/45—Caching of specific data in cache memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/22—Control and timing of internal memory operations
- G11C2207/2227—Standby or low power modes
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/22—Control and timing of internal memory operations
- G11C2207/2254—Calibration
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/023—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/14—Implementation of control logic, e.g. test mode decoders
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
- G11C29/50012—Marginal testing, e.g. race, voltage or current testing of timing
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (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
Se presentan métodos y aparatos para mejorar el reloj de datos para reducir el consumo de energía. El aparato incluye una memoria configurada para recibir un reloj de datos desde un host a través de un enlace y para sincronizar el reloj de datos con el host. La memoria incluye un búfer de árbol de reloj configurado para alternar según el reloj de datos para capturar datos de escritura o para generar datos de lectura y un decodificador de comandos configurado para detectar un comando de suspensión del reloj de datos mientras el reloj de datos está sincronizado entre el host y la memoria. El búfer del árbol de reloj está configurado para deshabilitar la conmutación según el reloj de datos en respuesta a que el decodificador de comandos detecte el comando de suspensión del reloj de datos. el host incluye un controlador de memoria configurado para proporcionar un comando de suspensión del reloj de datos a la memoria a través del enlace mientras el reloj de datos está sincronizado entre el host y la memoria. (Traducción automática con Google Translate, sin valor legal)
Description
DESCRIPCIÓN
Operaciones de reloj de datos potenciadas en la memoria
Reivindicaciones de la prioridad en virtud de 35 U.S.C. §119
La presente Solicitud de Patente reivindica la prioridad de la Solicitud No N Provisional No. 16/803,977 titulada “OPERACIONES DEL RELOJ DE DATOS MEJORADAS EN MEMORIA” presentada el 27 de febrero de 2020, y la Solicitud Provisional No. 62/812,689 titulada “OPERACIONES DEL RELOJ DE DATOS MEJORADAS EN MEMORIA” presentada el 1 de marzo de 2019, y asignada al cesionario del presente.
Campo
La presente divulgación se refiere en general a los métodos y aparatos que tienen operaciones del reloj de datos potenciadas y, más particularmente, a los métodos y aparatos que tienen un modo de suspensión del reloj de datos para reducir el consumo de energía mientras un reloj de datos está en un modo siempre activo.
Antecedentes
Un dispositivo informático (por ejemplo, un ordenador portátil, un teléfono móvil, etc.) puede incluir uno o varios procesadores para realizar diversas funciones, tales como telefonía, acceso inalámbrico a datos, función de cámara/video, etc. Una memoria es un componente importante del dispositivo informático. Un procesador se puede acoplar a la memoria para realizar las funciones informáticas mencionadas anteriormente. Por ejemplo, un procesador puede buscar instrucciones de la memoria para realizar la función de cálculo y/o para almacenar dentro de la memoria datos temporales para procesar estas funciones de cálculo, etc.
La memoria se puede incorporar con un procesador en un troquel semiconductor o ser parte de un troquel semiconductora diferente. La memoria puede realizar varias funciones. Por ejemplo, la memoria se puede utilizar como caché, archivo de registro o almacenamiento. La memoria puede ser de varios tipos. Por ejemplo, la memoria puede ser memoria estática de acceso aleatorio (SRAM), memoria dinámica de acceso aleatorio (DRAM), memoria magnética de acceso aleatorio (MRAM), memoria flash NAND o memoria flash NOR, etc.
A medida que crece la demanda de que el dispositivo informático realice más funciones con una velocidad cada vez mayor, el problema de energía también crece. Si bien el ahorro de energía puede ser de particular interés en los dispositivos informáticos móviles, los dispositivos no móviles también se pueden beneficiar de un menor consumo de energía para reducir la generación de calor residual. Por lo tanto, los dispositivos informáticos de varios tipos se pueden beneficiar de los sistemas de memoria que tienen un menor consumo de energía. Por lo tanto, es deseable contar con planes para reducir el consumo de energía.
Se llama la atención sobre el documento US 2017/0004869 A1 que se relaciona con un dispositivo de memoria semiconductora que incluye un decodificador de comandos configurado para generar una señal de sincronización automática en respuesta a un comando para escribir datos en una celda de memoria o leer datos de una celda de memoria, y un circuito interno de generación de reloj de datos configurado para sincronizar en fase un segundo reloj, que tiene una frecuencia de reloj superior a la frecuencia de reloj de un primer reloj, con el primer reloj en respuesta a la señal de sincronización automática.
Además, se llama la atención sobre el documento WO 2018/081746 A1, que se refiere a un subsistema de memoria que activa la entrada y salida de un dispositivo de memoria desde el modo de baja energía con una línea de señal de selección de chip (CS). Para un sistema en el que el bus de comandos no tiene línea de señal de habilitación de reloj (CKE), el sistema puede activar modos de baja energía con CS en lugar de CKE. El modo de baja energía puede incluir un estado de apagado. El modo de baja energía puede incluir un estado de actualización automática. El dispositivo de memoria incluye una interfaz para el bus de comandos y recibe una señal CS combinada con la codificación de comandos en el bus de comandos para activar un cambio de estado de modo de baja energía. El dispositivo de memoria se puede configurar para monitorizar la señal CS y otras señales de comando seleccionadas mientras está en modo de baja energía. El sistema puede enviar un activador ODT mientras el dispositivo de memoria está en modo de baja energía, incluso sin una línea de señal ODT dedicada.
También se llama la atención sobre el documento US 2003/189868 A1 que se refiere a los métodos y dispositivos para un sistema de memoria. Un dispositivo de memoria digital puede recibir comandos de apagado durante la pendencia de un comando en modo activo, como una lectura o escritura en ráfaga, es decir, “temprana”. El dispositivo cierra algunos circuitos, tales como los registros de dirección y comando, inmediatamente después de recibir el comando de apagado temprano. Otros componentes del dispositivo, por ejemplo, los que participan en el mantenimiento de la lectura o escritura de ráfaga, permanecen activos al menos hasta que se haya completado su porción del comando. En algunas realizaciones, el comando de apagado temprano se puede emitir simultáneamente con un comando de modo activo como una opción para ese comando, liberando a un controlador de memoria de tener que programar y emitir comandos de apagado por separado.
Se divulga el documento WO 2017/011351 A1 que se refiere a métodos, aparatos y sistemas para uso en interfaces de comunicación adaptativa. Se proporciona una interfaz de comunicación adaptativa, en la que un reloj de alta velocidad proporcionado en un modo de operación de alta velocidad se suprime en un modo de operación de baja energía. En el modo de operación de baja energía, se utiliza un reloj de comando de baja velocidad para las transferencias de datos entre un dispositivo de memoria y un sistema en chip, procesador de aplicaciones u otro dispositivo. Un método para operar la interfaz de comunicación adaptativa puede incluir el uso de una señal de primer reloj para controlar las transmisiones de comandos a un dispositivo de memoria a través de un bus de comandos. En un primer modo de operación, la primera señal de reloj controla las transmisiones de datos a través de la interfaz de comunicación adaptativa. En un segundo modo de operación, la segunda señal de reloj controla las transmisiones de datos a través de la interfaz de comunicación adaptativa. La frecuencia de la segunda señal de reloj puede ser mayor que la frecuencia de la primera señal de reloj.
Por último, se llama la atención sobre el documento Mt46h32m16lf: “Mobile Low-Power DDR SDRAM”, 1 de enero de 2014.
Resumen
Este resumen identifica características de algunos aspectos de ejemplo y no es una descripción exclusiva o exhaustiva de la materia objeto divulgada. Se describen características y aspectos adicionales que se harán evidentes para las personas expertas en la materia al leer la siguiente descripción detallada y ver los dibujos que forman parte de la misma.
Un aparato de acuerdo con la reivindicación 1 comprende una memoria configurada para recibir un reloj de datos de un anfitrión a través de un enlace y para sincronizar el reloj de datos con el anfitrión, que comprende además; un búfer de árbol de reloj configurado para alternar en base a el reloj de datos para capturar datos de escritura o para generar datos de lectura; y un decodificador de comandos configurado para detectar un comando de suspensión de reloj de datos mientras el reloj de datos se sincroniza entre el anfitrión y la memoria. El búfer de árbol de reloj se configura para deshabilitar la alternancia en base a el reloj de datos en respuesta al decodificador de comandos que detecta el comando de suspensión de reloj de datos.
Otro aparato de acuerdo con la reivindicación 7 comprende un anfitrión acoplado a una memoria a través de un enlace. El anfitrión se configura para sincronizar un reloj de datos con la memoria y para generar datos de escritura o capturar datos de lectura basados en el reloj de datos. El anfitrión incluye un controlador de memoria configurado para proporcionar un comando de suspensión de reloj de datos a la memoria a través del enlace mientras el reloj de datos se sincroniza entre el anfitrión y la memoria. El comando de suspensión de reloj de datos notifica a la memoria que deshabilite la alternancia de un búfer de árbol de reloj, el búfer de árbol de reloj se configura para alternar en base a el reloj de datos. El controlador de memoria se configura además para alternar el reloj de datos después de proporcionar el comando de suspensión de reloj de datos.
Un método de acuerdo con la reivindicación 14 para reducir la energía de un reloj de datos para una memoria acoplada a un anfitrión a través de un enlace, comprende proporcionar, por un anfitrión a una memoria a través de un enlace, un comando de sincronización del reloj de datos y proporcionar, por el anfitrión a la memoria a través del enlace, un comando de suspensión de reloj de datos, después de sincronizar un reloj de datos. El comando de suspensión de reloj de datos notifica a la memoria que deshabilite un búfer de reloj de datos que alterna en base a el reloj de datos. El método incluye además alternar, por parte del anfitrión, el reloj de datos después de proporcionar el comando de suspensión de reloj de datos.
Otro método de acuerdo con la reivindicación 12 para reducir la energía de un reloj de datos para una memoria acoplada a un anfitrión a través de un enlace, comprende recibir un reloj de datos, por la memoria, de un anfitrión a través de un enlace; sincronizar, por la memoria, el reloj de datos con el anfitrión; alternancia, mediante un búfer de árbol de reloj de la memoria, basado en el reloj de datos para capturar datos de escritura o para generar datos de lectura; detectar, por la memoria, un comando de suspensión de reloj de datos mientras el reloj de datos se sincroniza entre la memoria y el anfitrión; y deshabilitar la alternancia del búfer de árbol de reloj en base a el reloj de datos, en respuesta a la detección del comando de suspensión de reloj de datos.
Breve descripción de los dibujos
Varios aspectos de los aparatos y métodos se presentarán ahora en la descripción detallada a modo de ejemplo, y no a modo de limitación, con referencia a los dibujos acompañantes, en los que:
La FIG. 1 ilustra un aparato que incorpora al menos un procesador, una memoria y un enlace que acopla al menos un procesador y la memoria, de acuerdo con ciertos aspectos de la divulgación.
La FIG. 2 ilustra un comando de sincronización del reloj de datos (WCK2CK) proporcionado por el anfitrión a la memoria a través del enlace de la FIG. 1, de acuerdo con ciertos aspectos de la divulgación.
La FIG. 3 ilustra las formas de onda de la sincronización del reloj de datos (WCK) con el modo de suspensión de datos (WCK SUSPEND), de acuerdo con ciertos aspectos de la presente divulgación.
La FIG. 4 ilustra las operaciones y comunicaciones del modo de suspensión del reloj de datos (WCK) entre el anfitrión y la memoria a través del enlace de la FIG. 1, de acuerdo con ciertos aspectos de la presente divulgación.
La FIG. 5 ilustra porciones del controlador de memoria, incluido el módulo de reloj de datos potenciado, de la FIG. 1 que opera en el modo de suspensión de sincronización de reloj de datos (WCK2CK), de acuerdo con ciertos aspectos de la presente divulgación.
La FIG. 6 ilustra porciones del módulo 160 de E/S de memoria de la FIG. 1 que opera en modo de suspensión del reloj de datos (WCK), de acuerdo con ciertos aspectos de la presente divulgación.
La FIG. 7 ilustra un método de reducción de la energía de un reloj de datos (WCK) para la memoria acoplada al anfitrión a través del enlace 190 de la FIG. 1, de acuerdo con ciertos aspectos de la divulgación.
La FIG. 8 ilustra un método de reducción de energía de un reloj de datos (WCK) para la memoria acoplada al anfitrión a través del enlace de la FIG. 1, de acuerdo con ciertos aspectos de la divulgación.
Descripción detallada
La descripción detallada que se presenta a continuación en relación con los dibujos adjuntos pretende ser una descripción de varias configuraciones y no pretende representar las únicas configuraciones en las que se pueden practicar los conceptos descritos en este documento. La descripción detallada incluye detalles específicos para proporcionar una comprensión profunda de varios conceptos. Sin embargo, será evidente para aquellos expertos en la técnica que estos conceptos se pueden practicar sin estos detalles específicos. En algunos casos, las estructuras y componentes bien conocidos se muestran en forma de diagrama de bloques para evitar oscurecer dichos conceptos.
Como se utiliza en el presente documento, el término “acoplado a” en los diversos tiempos del verbo “acoplar” puede significar que el elemento A está directamente conectado con el elemento B o que otros elementos pueden estar conectados entre los elementos A y B (es decir, que el elemento A está conectado indirectamente con el elemento B), para operar ciertas funciones previstas. En el caso de los componentes eléctricos, el término “acoplado a” también se puede utilizar en el presente documento para significar que se utiliza un cable, traza u otro material conductor de electricidad para conectar eléctricamente los elementos A y B (y cualquier componente conectado eléctricamente entre ellos). En algunos ejemplos, el término “acoplado a” significa una transferencia de energía eléctrica entre los elementos A y B, para operar ciertas funciones previstas.
En algunos ejemplos, el término “conectado eléctricamente” significa que tiene una corriente eléctrica o configurable para tener una corriente eléctrica que fluye entre los elementos A y B. Por ejemplo, los elementos A y B se pueden conectar a través de resistencias, transistores o un inductor, además de un cable, traza u otro material y componentes conductores de electricidad. Además, para las funciones de radiofrecuencia, los elementos A y B pueden estar “conectados eléctricamente” a través de un condensador.
Los términos “primero”, “segundo”, “tercero”, etc. se emplean para facilitar la referencia y pueden no tener significados sustantivos. Del mismo modo, los nombres de los componentes/módulos se pueden adoptar para facilitar la referencia y no pueden limitar los componentes/módulos. Por ejemplo, dichos nombres no limitantes pueden incluir búfer de “árbol de reloj”; decodificador de “comando”; registro de “modo de memoria”; y/o controlador de “memoria”. Los módulos y componentes presentados en la divulgación se pueden implementar en hardware, software o una combinación de hardware y software.
El término “sistema de buses” puede establecer que los elementos acoplados al “sistema de buses” pueden intercambiar información entre ellos, directa o indirectamente. De esta manera, el “sistema de bus” puede abarcar múltiples conexiones físicas, así como etapas intermedias como búferes, pestillos, registros, etc. Un módulo se puede implementar en hardware, software o una combinación de hardware y software.
Se presentan métodos y aparatos que incorporan memorias que tienen operaciones de reloj de datos potenciadas. Un reloj de datos entre un anfitrión y una memoria se puede sincronizar para que el anfitrión acceda (por ejemplo, lea o escriba) a la memoria. Una vez sincronizado, el reloj de datos puede estar en modo siempre activo o puede estar funcionando libremente para mantener la sincronización. Como la memoria puede incluir árboles de reloj controlados por el reloj de datos, los árboles de reloj consumen energía cuando el reloj de datos se ejecuta en el modo siempre activo, incluso cuando el anfitrión no está accediendo a la memoria.
Se presentan operaciones de reloj de datos mejoradas para permitir que la memoria acceda a los árboles de reloj mientras un reloj de datos está en un modo siempre activo y alternando. El reloj de datos permanece sincronizado entre el anfitrión y la memoria. Ventajosamente, la energía se reduce a medida que las puertas de la memoria registran los árboles sin agregar ciclos para la resincronización, ya que el reloj de datos permanece sincronizado.
Los métodos y aparatos se presentan en la presente divulgación por medio de ejemplos no limitantes de Memoria de Acceso Aleatorio Dinámico Síncrono (SDRA<m>) de Baja Tasa de Datos de Baja Energía (LPDDR). Por ejemplo, la memoria LPDDR que opera de acuerdo con la especificación de LPDDR promulgada por el Consejo Conjunto de Ingeniería de Dispositivos Electrónicos (JEDEC). Dicha especificación de LPDDR puede ser LPDDR5.
La FIG. 1 ilustra un aparato 100 que incorpora un anfitrión 110, una memoria 150 y un enlace 190 que acopla el anfitrión 110 y la memoria 150, de acuerdo con ciertos aspectos de la divulgación. El aparato 100 puede ser, por ejemplo, uno de sistemas informáticos (por ejemplo, servidores, centros de datos, ordenadores de escritorio), dispositivos informáticos móviles (por ejemplo, ordenadores portátiles, teléfonos celulares, vehículos, etc.), dispositivos de Internet de las Cosas, sistemas de realidad virtual (VR) o sistemas de realidad aumentada (AR), etc. El anfitrión 110 puede incluir al menos un procesador 120 acoplado a la memoria 150 a través del enlace 190 para realizar una función informática, tal como la de procesamiento de datos, comunicación de datos, visualización gráfica, cámara, renderizado AR o VR, procesamiento de imágenes, etc. Por ejemplo, la memoria 150 puede almacenar instrucciones o datos para que al menos un procesador 120 realice las funciones informáticas anteriormente mencionadas. El al menos un procesador 120 puede ser una colección de lógicas de procesamiento o una o más unidades centrales de procesamiento. Por ejemplo, al menos un procesador 120 puede ser una unidad 122 central de procesamiento (CPU), una unidad 123 de procesamiento gráfico (GPU) o un procesador 124 de señal digital (DSP) configurado para implementar las funciones informáticas anteriormente mencionadas.
La FIG. 1 ilustra que el anfitrión incluye al menos un procesador 120 acoplado a un controlador 130 de memoria a través de un sistema 115 de bus, el al menos un procesador 120 se acopla a la memoria 150 a través del controlador 130 de memoria y el enlace 190. La memoria puede ser una DRAM LPDDR (por ejemplo, LPDDR5). El anfitrión 110, la memoria 150 y/o el enlace 190 pueden funcionar de acuerdo con una especificación de LPDDR (por ejemplo, LPDDR5). Como se presenta a continuación, la memoria 150 se configura para recibir un reloj de datos (por ejemplo, WCK) del anfitrión 110 a través del enlace 190 y para sincronizar el reloj de datos WCK con el anfitrión 110 (por ejemplo, para sincronizar con un reloj de comandos y direcciones del anfitrión 110).
El controlador 130 de memoria puede incluir un módulo 132 de reloj de datos potenciado y un módulo 134 de E/S anfitrión. El módulo 132 de reloj de datos potenciado se puede configurar para determinar cuándo son beneficiosas las operaciones de reloj de datos mejorado, tales como un modo de suspensión del reloj de datos, y para emitir un comando de suspensión de reloj de datos para ingresar al modo de suspensión del reloj de datos. El módulo 134 de E/S anfitrión se puede configurar para accionar y recibir señales en el enlace 190. El módulo 134 de E/S anfitrión se puede conocer como una capa PHY y configurar para controlar características eléctricas (por ejemplo, niveles de voltaje, fase, retardos, frecuencias, etc.) o para recibir señales basadas en las características eléctricas de la señalización en el enlace 190. En algunos ejemplos, el módulo 134 de E/S anfitrión se puede configurar para generar datos de escritura a la memoria 150 a través del enlace 190 basado en un reloj de datos WCK. Por ejemplo, el módulo 134 de E/S anfitrión se puede configurar para generar datos de escritura sincronizados con el reloj de datos WCK. En algunos ejemplos, el módulo 134 de E/S anfitrión se puede configurar para capturar datos leídos de la memoria 150 a través del enlace 190 basado en un reloj de datos WCK. Por ejemplo, el módulo 134 de E/S anfitrión se puede configurar de tal manera que un búfer para capturar (por ejemplo, para muestrear) los datos de lectura se cronometren o basen en el reloj de datos WCK.
En algunos ejemplos, el enlace 190 puede ser un enlace chip a chip o un enlace de dado a dado entre el anfitrión 110 y la memoria 150, el anfitrión 110 y la memoria 150 en diferentes troqueles. En algunos ejemplos, el enlace 190 puede ser un enlace en troquel, el anfitrión 110 y la memoria 150 están en un mismo troquel. Por ejemplo, el enlace 190 puede incluir varias líneas de señal, que incluyen las líneas de señal para transmitir señales unidireccionales desde el anfitrión 110 hasta la memoria 150 (por ejemplo, reloj de datos (WCK), comando y dirección (CA), reloj de CA (CLK), etc.) y señales direccionales bidireccionales (datos (DQ), pulso de datos (DQS), etc.). Por ejemplo, el CA puede incluir una señalización/pin de CAS, una señalización/pin de selección de chip (CS) y una señalización de dirección de columna (CA). El enlace 190 y la señalización entre el anfitrión 110 y la memoria 150 pueden estar de acuerdo con la especificación de JEDEC DRAM (por ejemplo, LPDDR5). En algunos ejemplos, la memoria 150 puede utilizar el reloj de datos WCK para capturar o muestrear datos de escritura (por ejemplo, recibidos en los DQ) para la operación de escritura y para alternar los datos de lectura (por ejemplo, generados en los DQ) para la operación de lectura. Por lo tanto, la memoria 150 puede utilizar el reloj de datos WCK para capturar datos de escritura o para generar datos de lectura.
La FIG. 1 ilustra la memoria 150 con un módulo 160 de E/S de memoria, una matriz 162 de memoria, un registro 170 de modo y un decodificador 173 de comandos acoplado a través de un sistema 172 de bus. El módulo 160 de E/S de memoria se puede configurar para accionar y recibir señales en el enlace 190. El módulo 160 de E/S de memoria se puede conocer como una capa PHY y configurarse para controlar características eléctricas (por ejemplo, niveles de voltaje, fase, retardos, frecuencias, etc.) o para recibir señales basadas en las características eléctricas de la señalización en el enlace 190. Por ejemplo, el módulo 160 de E/S de memoria se puede configurar para capturar (por ejemplo, para muestrear) datos de escritura del anfitrión 110 a través del enlace 190 basado en el reloj de datos w Ck .
En algunos ejemplos, el módulo 160 de E/S de memoria se puede configurar en el búfer de reloj para capturar datos de escritura cronometrados en base a el reloj de datos WCK. En algunos ejemplos, el módulo 160 de E/S de memoria se puede configurar para generar datos de lectura al anfitrión 110 a través del enlace 190 basado en un reloj de datos WCK. Por ejemplo, el módulo 134 de E/S de anfitrión se puede configurar para sincronizar los datos de lectura de salida con el reloj de datos WCK.
La matriz 162 de memoria puede incluir múltiples celdas de memoria (por ejemplo, celdas de memoria DRAM) que almacenan datos. Al menos un procesador puede leer los datos almacenados y/o escribir datos en la matriz 162 de memoria, a través del enlace 190. La matriz 162 de memoria se puede disponer en varios bancos 180-1 a 180-M de memoria. Se puede acceder a la matriz 162 de memoria (por ejemplo, leer o escribir) a través de un comando READ o WRITE.
El registro 170 de modo puede incluir un registro o registro que almacena valores sobre operaciones, características de señalización y/o información de la memoria 150. Se puede acceder al registro 170 de modo (por ejemplo, leído o escrito) a través de un comando de lectura de registro de modo (MRR) o un comando de escritura de registro de modo (MRW), los comandos MRR y MRW son diferentes de los comandos READ y WRITE (por ejemplo, los comandos MRR y MRW no acceden a la matriz 162 de memoria (FIG. 1)). Por ejemplo, el controlador 130 de memoria puede emitir un mandato MRW a través del enlace 190 para configurar la memoria 150 para una operación de lectura o escritura. En respuesta al comando MRW, la memoria 150 almacena operandos u<o>P proporcionados por el comando MRW en el registro 170 de modo.
En algunos ejemplos, el comando MRR y el comando MRW no acceden a la matriz 162 de memoria. Por ejemplo, los operandos escritos o leídos en el registro 170 de modo no se escriben ni se leen en la matriz 162 de memoria. El registro 170 de modo incluye un registro 171 de suspensión WCK. El registro 171 de suspensión WCK se puede configurar para almacenar información de un comando de suspensión de reloj de datos (WCK). Por ejemplo, el registro 171 de suspensión WCK se puede configurar puede almacenar un valor que indique si la memoria 150 admite o habilita operaciones WCK de reloj de datos mejoradas, como el comando de suspensión de reloj de datos (WCK).
Para una operación de escritura, al menos un procesador 120 puede emitir una solicitud de escritura al controlador 130 de memoria a través del sistema 115 de bus. El controlador 130 de memoria puede emitir un comando WRITE a través de CA y CLK del enlace 190 a la memoria 150. Los datos de escritura son proporcionados por el controlador 130 de memoria a través de DQ del enlace 190, cronometrados por el reloj de datos WCK. En respuesta, la memoria 150 almacena los datos de escritura en la matriz 162 de memoria, direccionada por el comando WRITE.
Para una operación de lectura, al menos un procesador 120 puede emitir una solicitud de lectura al controlador 130 de memoria a través del sistema 115 de bus. El controlador 130 de memoria puede emitir un comando READ a través de CA (por ejemplo, reloj CLK, dirección, comando) del enlace 190 a la memoria 150. En respuesta, la memoria 150 genera los datos almacenados en la matriz 162 de memoria, direccionados por el comando READ, al menos a un procesador 120. Los datos se pueden emitir a través de DQ del enlace 190, cronometrados por el reloj de datos WCK (y/o RDQS). La memoria 150 (por ejemplo, el módulo 160 de E/S de memoria) puede recibir el reloj de datos WCK del anfitrión 110 y utilizar árboles de reloj internos para controlar y almacenar en búfer el reloj de datos interno WCK para cronometrar los DQ.
El reloj de datos WCK puede operar a una frecuencia diferente de la del reloj de CA CLK. Por ejemplo, el reloj de datos WCK puede operar a dos o cuatro veces una frecuencia de CLK, según LPDDR5. La memoria 150 puede utilizar un divisor de frecuencia para hacer coincidir la frecuencia de los árboles de reloj WCK con CLK. Dicha función puede requerir la sincronización de los estados del CLK del reloj de CA con los árboles de reloj WCK internos. El proceso se puede conocer como Sincronización WCK2CK (por ejemplo, en la especificación LPDDR5) y puede requerir varios ciclos de sincronización.
El anfitrión 110 (por ejemplo, el controlador 130 de memoria) puede iniciar la Sincronización WCK2CK al emitir un comando WCK2Ck SYn C, a través del enlace 190. El comando WCK2CK SYNC puede ser un comando CAS Por ejemplo, alternar una señal CAS del comando y la dirección (CA) que precede a un comando de lectura o escritura. Por ejemplo, el comando de lectura o escritura puede seguir inmediatamente al comando CAS del comando WCK2CK SYNC. En respuesta, el anfitrión 110 y la memoria 150 participan en ciclos de sincronización con el reloj de datos WCK que cronometran (por ejemplo, alternancia).
Una vez establecida la sincronización a través de la Sincronización WCK2CK, el reloj de datos WCK puede estar siempre encendido (por ejemplo, funcionando libremente) para mantener la sincronización. Mientras el reloj de datos WCK cronometra (por ejemplo, alterna), el reloj de datos WCK permanecerá sincronizado entre el anfitrión 110 y la memoria 150. La sincronización WCK2CK se puede exhibir por la memoria 150 al recibir comandos para apagado, apagado de actualización automática, comandos de suspensión profunda o reinicio. Dicho modo siempre activo del reloj de datos WCK mejoraría el rendimiento, ya que los comandos de lectura y escritura posteriores no requerirían resincronización. Sin embargo, a medida que el reloj de datos WCK se alterna, la memoria 150 continúa consumiendo corriente que surge de la alternancia de los árboles de reloj WCK internos, incluso cuando la memoria 150 está inactiva (por ejemplo, no lee ni escribe).
El decodificador 173 de comandos se puede configurar para decodificar varios comandos proporcionados por el anfitrión 110 (por ejemplo, el controlador 130 de memoria) a través del enlace 190. Por ejemplo, el decodificador 173 de comandos se puede configurar para decodificar un comando de lectura, un comando de escritura y los diversos comandos WCK2CK presentados anteriormente.
La FIG. 2 ilustra un comando de sincronización de reloj de datos (WCK2CK SYNC) proporcionado por el anfitrión 110 a la memoria 150 a través del enlace 190 de la FIG. 1, de acuerdo con ciertos aspectos de la divulgación. La FIG. 2 incluye un diagrama 210 del comando WCK2CK SYNC emitido como un comando CAS y un diagrama 220 de modos del comando CAS (WCK2CK SYNC). El diagrama 210 ilustra que el comando CAS (WCK2CK SYNC) es operable en cualquier configuración de banco. En un borde ascendente CK de reloj, un pin CS es alto y los operandos del comando WCK2CK SYNC se proporcionan en la dirección CA0-CA6. En un borde descendente CK de reloj, se introducen operandos adicionales. Los operandos (por ejemplo, variables, campos o valores que indican ciertos aspectos del comando WCK2CK SYNC) pueden incluir DC0-DC3, WS_WR, WS_RD, WS_FS, WRX, WXS, B3 según lo dispuesto por la especificación LPDDR5. Por ejemplo, WS_WR en lógica uno se puede indicar que un comando de escritura sigue inmediatamente al comando WCK2CK SYNC. El WS_RD A en lógica uno puede indicar que un comando de lectura sigue inmediatamente al comando WCK2CK SYNC. WS_FS puede indicar una sincronización rápida. WRX y WXS pueden indicar una función de Escritura X (por ejemplo, WRX y/o WXS pueden ser operandos para la función X de Escritura). B3 puede indicar una dirección de inicio de ráfaga de lectura.
El diagrama 220 ilustra que los modos del comando CAS (WCK2CK SYNC) pueden incluir WCK2CK SYNC para WRITE (por ejemplo, WS_WR es lógico), WCK2CK SYNC para READ (por ejemplo, WS_RD es lógica uno), FAST WCK2CK SYNC (por ejemplo, WS_FS es lógica uno) y WCK2CK Sy NC OFF (un comando para finalizar la sincronización WCK y desactivar los árboles de reloj WCK internos en la memoria 150). El comando CAS (WCK2CK SYNC) se potencia aún más con un modo de suspensión del reloj de datos (WCK SUSPEND). Por ejemplo, el comando CAS (WCK2CK SYNC) puede entrar en el modo WCK SUSPEND con WS_WR en la lógica uno, WS_RD en la lógica cero y WS_FS en la lógica uno. Para facilitar la referencia, un comando WCK2CK SYNC con dicho modo WCK SUSPEND se puede denominar comando de suspensión de reloj de datos (WCK). El comando de suspensión de reloj de datos (WCK) envía señales a la memoria 150 para apagar al menos un árbol de reloj WCK interno a la memoria 150, aunque el reloj de datos WCK continúe cronometrando (por ejemplo, alternar). De esta manera, al menos un árbol de reloj WCK interno deja de alternar y se ahorra consumo de energía mientras se mantiene la sincronización WCK. No se requiere ninguna nueva sincronización WCK para realizar una operación de lectura o escritura posterior al modo W<c>K SUSPEND.
Para la configuración de doble rango LPDDR5, el controlador 130 de memoria se puede configurar para habilitar las operaciones de reloj de datos potenciado (WCK) con la función de transmisión LPDDR5 WCK2CK SYNC. Por ejemplo, CASWCK_SUS se transmite a ambos rangos (rango 0 y 1) juntos para mejorar la eficiencia del bus de comando y dirección (CA).
En algunos ejemplos, el registro 170 de modo (FIG. 1) puede incluir un campo para indicar que se admite o habilita el modo de suspensión de datos (WCK SUSPEND). Véase, por ejemplo, el registro 171 de suspensión WCK en la FIG. 1. El anfitrión 110 (por ejemplo, el controlador 130 de memoria) puede emitir un comando de lectura de registro de modo (MRR) a través del enlace 190 para leer el registro 171 de suspensión WCK dentro del registro 170 de modo y para determinar si la memoria 150 admite el modo de suspensión de datos de reloj (WCK SUSPEND), basado en un valor u operando almacenado en el registro 171 de suspensión WCK.
En algunos ejemplos, el modo de suspensión de datos de reloj (WCK SUSPEND) puede salir por un comando de lectura o escritura subsiguiente. En respuesta al comando de lectura o escritura posterior (mientras está en el modo de suspensión de datos de reloj), la memoria 150 puede reiniciar al menos en la alternancia interna del árbol de reloj WCK. No se pierde rendimiento, ya que no se necesitan ciclos de reloj adicionales para salir del modo de suspensión de datos de reloj (WCK SUSPEND).
La FIG. 3 ilustra las formas de onda de la sincronización WCK con el modo WCK SUSPEND, de acuerdo con ciertos aspectos de la presente divulgación. En la FIG. 3, las operaciones de lectura se proporcionan como ejemplos. Las operaciones de escritura se pueden implementar de manera similar. En T<0>(y en T<0>_f, un borde descendente del reloj CK), el anfitrión 110 (por ejemplo, el controlador 130 de memoria) emite un comando WCK2CK SYNC a la memoria 150 a través del enlace 190, con WS_RD en la lógica uno. En un ciclo de reloj inmediatamente posterior, T<1>, el anfitrión 110 (por ejemplo, el controlador 130 de memoria) emite un comando de lectura a la memoria 150 a través del enlace 190. Como resultado, el anfitrión 110 y la memoria 150 entran en ciclos de sincronización WCK (WCK2CK) del reloj de datos. En Tb<1>, el reloj de datos WCK se sincroniza entre el anfitrión 110 y la memoria 150. Posteriormente, el anfitrión 110 continúa cronometrando (por ejemplo, para alternar) el reloj de datos WCK para mantener la sincronización. El anfitrión 110 (por ejemplo, el controlador 130 de memoria) puede emitir comandos de lectura o escritura adicionales a la memoria 150 a través del enlace 190 sin más sincronización WCK del reloj de datos.
En Td<0>(y en T<0>_f, un borde descendente del reloj CK), el anfitrión 110 (por ejemplo, el controlador 130 de memoria) emite un comando de suspensión de datos de reloj (WCK SUSPEND) (especificando el modo WCK SUSPEND) a la memoria 150 a través del enlace 190 para entrar en el modo WCK SUSPEND. En respuesta, la memoria 150 puede detener al menos un árbol de reloj WCK interno de alternar. De esta manera, se reduce el consumo de energía dentro de la memoria 150.
Después de entrar en el modo WCK SUSPEND, en Te<0>, el anfitrión 110 (a través del controlador 130 de memoria) emite un comando de lectura (o un comando de escritura). En respuesta al comando de lectura/escritura, la memoria 150 inicia la alternancia del árbol de reloj WCK interno y la operación de lectura/escritura comienza normalmente. No hay cambios en la operación de lectura/escritura.
La FIG. 4 ilustra las operaciones y comunicaciones del modo de suspensión del reloj de datos (WCK) entre el anfitrión 110 y la memoria 150 a través del enlace 190 de la FIG. 1, de acuerdo con ciertos aspectos de la presente divulgación. En 402, el anfitrión 110 (por ejemplo, el controlador 130 de memoria) proporciona un comando de lectura de registro de modo a la memoria 150 a través del enlace 190. Por ejemplo, se puede dirigir el modo de comando de lectura de registro para leer un registro 171 de suspensión WCD del registro 170 de modo. En 404, la memoria 150 proporciona al anfitrión 110 a través del enlace 190 información de un comando de suspensión de reloj de datos (WCK) almacenado, por ejemplo, en el registro 171 de suspensión WCD del registro 170 de modo. La información del comando de suspensión de reloj de datos (WCK) puede indicar si la memoria 150 admite el comando de suspensión de reloj de datos (WCK).
En 410, el anfitrión 110 (por ejemplo, el controlador 130 de memoria) proporciona un comando de sincronización de reloj de datos (WCK2CK SYNC) a la memoria 150 a través del enlace 190. Véase T<0>, FIG. 3. Por ejemplo, refiriéndose al diagrama 220 de la FIG. 2, el comando WCK2CK SYNC puede ser WCK2CK SYNC para READ con operandos WS_WR en lógica cero, WS_RD en lógica uno y WS_FS en lógica cero. El anfitrión 110 (por ejemplo, el controlador 130 de memoria) se puede configurar para utilizar el reloj de datos WCK para generar (por ejemplo, para sincronizar con) datos de escritura y/o datos de escritura de captura (por ejemplo, para muestrear) datos leídos. La memoria 150 (por ejemplo, el módulo 160 de E/S de memoria) se configura para recibir el reloj de datos WCK y configurar para capturar (por ejemplo, muestrear) datos de escritura y/o para generar (por ejemplo, para sincronizar con) datos de lectura. La memoria 150 incluye un árbol de reloj de datos que incorpora un búfer de árbol de reloj. El búfer de árbol de reloj se configura para alternar en base a el reloj de datos WCK (por ejemplo, alternar con el reloj de datos WCK) para capturar datos de escritura o generar datos de lectura. Uno o más búferes de árbol de reloj se configuran para impulsar el reloj de datos interno WCK dentro de la memoria 150 para realizar, por ejemplo, la captura de datos de escritura y/o la salida (por ejemplo, sincronización con) datos de lectura.
En 420, el anfitrión 110 y la memoria 150 se sincronizan (por ejemplo, en la sincronización WCK2CK). Véase, por ejemplo, ciclos de sincronización entre Tb<0>y Tb<1>. Por ejemplo, el controlador 130 de memoria se puede configurar para realizar los ciclos de sincronización de acuerdo con una especificación LPDDR5 para sincronizar el reloj de datos WCK con la memoria 150 (por ejemplo, para sincronizar con el reloj de CA CLK con el reloj de datos interno de la memoria 150; por ejemplo, ambos están en el mismo estado). En 430, el anfitrión 110 (por ejemplo, el controlador 130 de memoria) proporciona un comando de suspensión de reloj de datos (WCK) a la memoria 150 a través del enlace 190, y la memoria 150 entra en un modo de suspensión de reloj de datos (WCK). Por ejemplo, la memoria 150 se puede configurar para recibir y decodificar el comando de suspensión de reloj de datos (WCK), después de sincronizar el reloj de datos (por ejemplo, WCK) entre el anfitrión 110 y la memoria 150 y/o mientras el reloj de datos (por ejemplo, WCK) se sincroniza entre el anfitrión 110 y la memoria 150. Véase Td<0>, la FIG. 3. El anfitrión 110 (por ejemplo, el controlador 130 de memoria) se puede configurar para continuar alternando el reloj de datos WCK después de proporcionar el comando de suspensión de reloj de datos (WCK). En respuesta al comando de suspensión de reloj de datos (WCK), la memoria 150 puede entrar en un modo de suspensión del reloj de datos (WCK). Por ejemplo, la memoria 150 se puede configurar para deshabilitar la alternancia del árbol de reloj en base a el reloj de datos WCK, para reducir el consumo de energía.
En 440, el anfitrión 110 (por ejemplo, el controlador 130 de memoria) proporciona un comando de lectura (o escritura) a la memoria 150 a través del enlace 190, después de proporcionar el comando de suspensión de reloj de datos (WCK) y sin realizar la sincronización entre el anfitrión 110 y la memoria 150. Véase Te<0>, la FIG. 3. El comando d lectura en Teo es proporcionado por el anfitrión 110 después de proporcionar el comando de suspensión de reloj de datos (WCK) en Tdo. El anfitrión 110 y la memoria 150 no realizan la sincronización del reloj de datos WCK (sin ciclos de sincronización) entre proporcionar el comando de suspensión de reloj de datos (WCK) en Td<0>(en 430) y proporcionar el comando de lectura o escritura en Tdo (en 440). No se necesitaron ciclos de sincronización entre 430 y 440 porque el reloj de datos WCK permanece sincronizado en el modo de suspensión de sincronización del reloj de datos (WCK), siempre que el anfitrión 110 alterne el reloj de datos (WCK). En respuesta al comando de lectura (o escritura), la memoria 150 realiza una operación de lectura (o escritura). La memoria 150 puede utilizar relojes energizados por uno o más búferes de árbol de reloj que alternan en base a el reloj de datos WCK para generar (por ejemplo, sincronizar con) datos de lectura y/o capturar datos de escritura.
La FIG. 5 ilustra porciones del controlador 130 de memoria, que incluye el módulo 132 de reloj de datos potenciado, de la FIG. 1 que opera el modo de suspensión de sincronización de reloj de datos (WCK2CK), de acuerdo con ciertos aspectos de la presente divulgación. La FIG. 5 ilustra que el controlador 130 de memoria incluye un módulo 506 de comandos de memoria, un módulo 508 de cola de acceso a memoria y el módulo 132 de reloj de datos potenciado. El módulo 132 de reloj de datos potenciado puede incluir parte o la totalidad de un módulo 502 de determinación de soporte de suspensión WCK y un módulo 504 de determinación de uso de suspensión WCK. Los módulos se acoplan por un sistema 510 de bus, a través del cual se comunican los módulos. El sistema 410 de bus se acopla además al módulo 134 de E/S anfitrión.
El módulo 506 de comandos de memoria se puede configurar para proporcionar varios comandos a la memoria 150 a través del enlace 190 (y a través del módulo 134 de E/S anfitrión). Por ejemplo, el módulo 506 de comandos de memoria se puede configurar para proporcionar un comando de lectura de registro de modo (por ejemplo, para obtener información sobre el comando de suspensión de reloj de datos; consulte la FIG. 4 en 402), un comando de sincronización del reloj de datos (WCK) (consulte la FIG. 4 en 410), un comando de suspensión de reloj de datos (WCK) (por ejemplo, basado en la información del comando de suspensión de reloj de datos y/o mientras el WCK del reloj de datos se sincroniza entre el anfitrión 110 y la memoria 150; véase la FIG. 4 en 430), y/o un comando de lectura (o escritura) para indicar a la memoria 150 que realice una operación de lectura (o escritura) (por ejemplo, después de proporcionar el comando de suspensión de reloj de datos y/o sin realizar la sincronización del W<c>K del reloj de datos entre proporcionar el comando de suspensión de reloj de datos y proporcionar el comando de lectura o escritura; véase FIG. 4 en 440). El módulo 508 de cola de acceso a memoria puede ser, por ejemplo, uno o más elementos de almacenamiento y se puede configurar para almacenar uno o más comandos o instrucciones de acceso a memoria.
El módulo 502 de determinación de soporte de suspensión WCK se puede configurar para determinar si la memoria 150 admite operaciones de reloj de datos potenciadas, tales como el modo de suspensión del reloj de datos (WCK). Por ejemplo, en 402 de la FIG. 4, el módulo 502 de determinación de soporte de suspensión WCK puede recibir información del módulo de suspensión del reloj de datos (WCK) almacenado en el registro 170 de modo (por ejemplo, registro 171 de suspensión WCK) de la memoria 150. La información del módulo de suspensión del reloj de datos (WCK) puede indicar si la memoria 150 soporta el comando de suspensión de reloj de datos.
Se puede configurar el módulo 504 de determinación de uso de suspensión de WCK para determinar si se debe utilizar el modo de suspensión del reloj de datos (WCK) (por ejemplo, si se debe proporcionar el comando de suspensión de reloj de datos (WCK)), basado en la información del comando de suspensión de reloj de datos. En el caso de que la información del comando de suspensión de reloj de datos indique que la memoria 150 admite el modo de suspensión del reloj de datos (WCK), el módulo 504 de determinación de uso de suspensión WCK puede examinar el módulo 508 de cola de acceso a memoria para determinar si el ahorro de energía del modo de suspensión del reloj de datos (WCK) es suficiente para justificar la entrada en el modo de reloj de datos (WCK). El módulo 504 de determinación de uso de suspensión de<w>C<k>puede realizar dicha determinación en base a tipos, números, tiempo (por ejemplo, diferencia de temporización) de comandos o instrucciones almacenados en el módulo 508 de cola de acceso a memoria.
Por ejemplo, si se determina que los comandos o instrucciones de acceso a la memoria tienen lugar con frecuencia, el ahorro de energía en tal caso podría no justificar la entrada en el modo de suspensión del reloj de datos (WCK). Alternativamente, si se determinara que se necesita un siguiente acceso a memoria (lectura o escritura), desde el módulo 508 de cola de acceso a memoria, después de un primer período de tiempo, entonces el anfitrión 110 (por ejemplo, el módulo 504 de determinación de uso de suspensión WCK) podría determinar que un ahorro de energía justificaría la entrada en el modo de suspensión del reloj de datos (WCK) y haría que el módulo 506 de comandos de memoria proporcionara el comando de suspensión de reloj de datos (WCK) (por ejemplo, operandos de WS_WR y WS_FS en la lógica uno y WS_RD en la lógica cero) a la memoria 150 a través del enlace 190 (y a través del módulo de E/S del anfitrión 134). En otras palabras, se puede proporcionar un comando de lectura o escritura (siguiente) en el primer período de tiempo o más tarde después del comando de suspensión de reloj de datos (WCK). Por ejemplo, el anfitrión 110 se puede configurar para proporcionar el comando de lectura o escritura (siguiente) después del primer período de tiempo, después de proporcionar el comando de suspensión de reloj de datos (WCK).
Alternativamente, si el (siguiente) comando de lectura o escritura se proporcionara después de un segundo período de tiempo más largo que el primero, entonces el módulo 504 de determinación de uso de suspensión WCK se puede configurar para determinar que la salida de la sincronización del reloj de datos (WCK2CK) podría ahorrar más energía. En tal caso, el anfitrión 110 (por ejemplo, el módulo 504 de determinación de uso de suspensión WCK) podría optar por no hacer que el módulo 506 de comandos de memoria proporcione el comando de suspensión de reloj de datos (WCK). El anfitrión 110 (por ejemplo, el módulo 504 de determinación de uso de suspensión WCK) puede hacer que el módulo 506 de comandos de memoria proporcione una instrucción a la memoria 150 a través del enlace 190 para salir de la sincronización del reloj de datos (WCK2CK) (por ejemplo, apagado). De esta manera, el anfitrión 110 se puede configurar para proporcionar el comando de lectura o escritura (siguiente) a la memoria 150 a través del enlace 190 entre el primer período de tiempo y el segundo período de tiempo después de proporcionar el comando de suspensión de reloj de datos (WCK).
La FIG. 6 ilustra porciones del módulo 160 de E/S de memoria de la FIG. 1 que opera el modo de suspensión del reloj de datos (WCK), de acuerdo con ciertos aspectos de la presente divulgación. La FIG. 6 ilustra que el módulo 160 de E/S de memoria incluye un búfer 602 WCK, un búfer 606 CA y un búfer 608 DQ (el módulo 160 de E/S de memoria puede incluir varias instancias de estos búferes). La FIG. 6 ilustra además que el módulo 160 de E/S de memoria incluye un árbol 603 de reloj y el módulo 605 de control de suspensión WCK.
El búfer 602 WCK puede ser un búfer/receptor de entrada configurado para recibir el reloj de datos WCK y configurarse para generar al árbol 603 de reloj. El árbol 603 de reloj se puede configurar para alternar con el WCK del reloj de datos recibido y genera un WCK interno al búfer 608 DQ. El árbol 603 de reloj incluye uno o más búferes 604 de árbol de reloj configurados para alternar en base a el reloj de datos WCK (por ejemplo, alternar con el reloj de datos WCK) para capturar datos de escritura o generar datos de lectura. En algunos ejemplos, el búfer 604 de árbol de reloj puede estar después (por ejemplo, recibiendo una salida directa o indirectamente de) el búfer 602 WCK (es decir, después del módulo 160 de E/S de memoria). El búfer 608 DQ puede ser un búfer de entrada/salida configurado para recibir datos de escritura y generar datos de lectura a los DQ del enlace 190. El búfer 608 DQ se puede configurar para que sea cronometrado por el WCK interno (o cronometrado en base a el WCK interno). Por ejemplo, el búfer 608 DQ se puede configurar para capturar (por ejemplo, muestrear) datos de escritura basados en el WCK interno (que a su vez se basa en el reloj de datos WCK) y/o configurar para generar en base a (por ejemplo, para sincronizar salidas con) el WCK interno (que a su vez se basa en el reloj de datos WCK).
El búfer 606 CA puede ser un búfer/receptor de entrada configurado para recibir entradas de comando y direccionamiento del enlace 190 y configurado para generar al decodificador 173 de comandos. El decodificador 173 de comandos se puede configurar para detectar, por ejemplo, un comando de lectura de registro de modo (por ejemplo, para obtener información sobre el comando de suspensión de reloj de datos; véase la FIG. 4 en 402), un comando de sincronización del reloj de datos (por ejemplo, WCK2CK) (véase la FIG. 4 en 410), un comando de suspensión de reloj de datos (WCK) (por ejemplo, basado en la información del comando de suspensión de reloj de datos (WCK) y/o mientras el WCK del reloj de datos se sincroniza entre el anfitrión 110 y el memoria 150; véase la FIG. 4 en 430), y/o un comando de lectura (o escritura) para indicar a la memoria 150 que realice una operación de lectura (o escritura) (por ejemplo, después de detectar el comando de suspensión de reloj de datos (WCK) sin realizar la sincronización del WCK del reloj de datos entre detectar el comando de suspensión de reloj de datos (WCK) y detectar el comando de lectura o escritura; véase la FIG. 4 en 440).
En algunos ejemplos, el comando de suspensión de reloj de datos (WCK) notifica a la memoria 150 que deshabilite la alternancia del búfer 604 de árbol de reloj, el búfer 604 de árbol de reloj se configura para alternar en base a el reloj de datos WCK. Por lo tanto, en respuesta al decodificador 173 de comandos que detecta el comando de suspensión de reloj de datos (WCK), el módulo 605 de control de suspensión WCK deshabilita el búfer 604 de árbol de reloj para que no se alterne. Por lo tanto, el búfer 604 de árbol de reloj se configura para inhabilitar la alternancia basada en el reloj de datos WCK en respuesta al comando decodificador 173 de comandos que detecta el comando de suspensión de reloj de datos (WCK). De esta manera, se ahorra la energía de temporización consumida por el árbol 603 de reloj.
En algunos ejemplos, el comando de lectura o escritura subsiguiente al comando de suspensión de reloj de datos (WCK) notifica a la memoria 150 que comience a alternar el búfer 604 del árbol de reloj. Por lo tanto, en respuesta al decodificador 173 de comandos que detecta el comando de lectura o escritura posterior al comando de suspensión de reloj de datos (WCK), el módulo 605 de control de suspensión WCK permite que el búfer 604 de árbol de reloj comience a alternar en base a el reloj de datos WCK. Por lo tanto, el búfer 604 de árbol de reloj se configura para comenzar a alternar en base a el reloj de datos WCK en respuesta al decodificador 173 de comandos que detecta el comando de lectura o escritura (posterior al comando de suspensión de reloj de datos (WCK)). Además, la memoria 150 se configura para realizar una operación de lectura (o escritura) (por ejemplo, lectura de escritura a la matriz 162 de memoria de la FIG. 1) en respuesta al decodificador 173 de comandos que detecta el comando de lectura o escritura. De esta manera, el rendimiento de la memoria 150 no se ve obstaculizado, ya que no se necesitan ciclos de sincronización adicionales.
La FIG. 7 ilustra un método de reducción de energía de un reloj de datos (WCK) para la memoria 150 acoplada al anfitrión 110 a través del enlace 190 de la FIG. 1, de acuerdo con ciertos aspectos de la divulgación. Las operaciones de la FIG. 7 se pueden implementar, por ejemplo, por el aparato 100 (por ejemplo, la memoria 150) presentado con las FIG. 1-6. Las flechas indican ciertas relaciones entre las operaciones, pero no necesariamente relaciones secuenciales.
En 710, un reloj de datos se recibe por la memoria desde un anfitrión a través de un enlace. Véanse, por ejemplo, la FIG. 1 y la FIG. 6, el búfer WCK recibe el reloj de datos WCK del anfitrión 110 a través del enlace 190. En 720, el reloj de datos se sincroniza por la memoria con el anfitrión. Véanse, por ejemplo, los ciclos de sincronización entre Tb<0>y Tb<1>de la FIG. 3 y 420 en la FIG. 4. En 730, se alterna un búfer de árbol de reloj de la memoria en base a el reloj de datos para capturar datos de escritura o para generar datos de lectura. Véase, por ejemplo, que el búfer 604 de árbol de reloj alterna en base a el reloj de datos WCK para capturar datos de escritura o para generar datos de lectura.
En 740, un comando de suspensión de reloj de datos se detecta por la memoria mientras el reloj de datos se sincroniza entre la memoria y el anfitrión. Véase, por ejemplo, la FIG. 4, en 430. Más aún, en relación con la FIG. 6, el decodificador 173 de comandos detecta el comando de suspensión de reloj de datos (WCK) (por ejemplo, un comando WCK2CK con operandos WS_WR y WS_FS en la lógica uno y WS_RD en la lógica cero). En 750, la alternancia del búfer de árbol de reloj se deshabilita en base a el reloj de datos, en respuesta a la detección del comando de suspensión de reloj de datos. Refiriéndose a la FIG. 6, el módulo 605 de control de suspensión WCK desactiva la alternancia del búfer 604 del árbol de reloj en respuesta al decodificador 173 de comandos que detecta el modo de suspensión del reloj de datos (WCK).
En 760, un comando de lectura o escritura es detectado por la memoria después de detectar el comando de suspensión de reloj de datos. Véase, por ejemplo, la FIG. 4, en 440. Refiriéndose a la FIG. 6, el decodificador 173 de comandos detecta un comando de lectura (o escritura) posterior a la detección del comando de suspensión WCK del reloj de datos. En 770, la alternancia basada en el reloj de datos, por el búfer de árbol de reloj, se inicia en respuesta a la detección del comando de lectura o escritura. Refiriéndose a la FIG. 6, el búfer 604 de árbol de reloj comienza a alternar en base a el reloj de datos WCK (habilitado por el módulo 605 de control de suspensión WCK), en respuesta al decodificador 173 de comandos que detecta el comando de lectura o escritura.
En 780, la memoria realiza una operación de lectura o escritura, en respuesta al comando de lectura o escritura, sin realizar la sincronización del reloj de datos entre la detección del comando de suspensión de reloj de datos y la detección del comando de lectura o escritura. Véase la FIG. 4, en 440. La memoria 150 realiza una operación de lectura o escritura de acuerdo con el comando de lectura o escritura sin realizar la sincronización del reloj de datos WCK entre la detección del comando de suspensión de reloj de datos (WCK) y la detección del comando de lectura o escritura. No se necesita dicha sincronización porque el anfitrión 110 y la memoria 150 permanecen en un modo WCK2CK (modo de sincronización de reloj de datos). En 790, la información del comando de suspensión de reloj de datos se almacena mediante un registro de modo de memoria. Refiriéndose a la FIG. 1, el registro 170 de modo incluye el registro 171 de suspensión WCK, que almacena información sobre si la memoria 150 admite operaciones WCK de reloj de datos mejoradas, como el comando de suspensión de reloj de datos (WCK).
La FIG. 8 ilustra un método de reducción de energía de un reloj de datos (WCK) para la memoria 150 acoplada al anfitrión 110 a través del enlace 190 de la FIG. 1, de acuerdo con ciertos aspectos de la divulgación. Las operaciones de la FIG. 7 se pueden implementar, por ejemplo, por el aparato 100 (por ejemplo, el anfitrión 110) presentado con las FIG. 1-6. Las flechas indican ciertas relaciones entre las operaciones, pero no necesariamente relaciones secuenciales. Las operaciones de las FIG. 7 y FIG. 8 se pueden combinar como se presenta en la presente divulgación.
En 810, un anfitrión proporciona un comando de sincronización de reloj de datos a una memoria a través de un enlace. Véase, por ejemplo, la FIG. 4, a 410. Refiriéndose a la figura 5, el módulo 506 de comandos de memoria proporciona el comando de sincronización del reloj de datos (por ejemplo, WCK2CK para READ o WCK2CK para w RiTE; véase la FIG. 2) a la memoria 150 a través del enlace 190. En 820, el anfitrión proporciona un comando de suspensión de reloj de datos a la memoria a través del enlace después de sincronizar un reloj de datos. El comando de suspensión de reloj de datos notifica a la memoria que deshabilite un búfer de reloj de datos que alterna en base a el reloj de datos. Véase, por ejemplo, la FIG. 4, a 430. Refiriéndose a la FIG. 5, el módulo 506 de comandos de memoria proporciona el comando de suspensión de reloj de datos (WCK) a la memoria 150 a través del enlace 190, después de sincronizar el reloj de datos con la memoria 150 (por ejemplo, FIG. 4 a 420). Refiriéndose a la FIG. 6, el decodificador 173 de comandos detecta el comando de suspensión de reloj de datos (WCK) y hace que el módulo 605 de control de suspensión WCK inhabilite la alternancia del búfer 604 de árbol de reloj, que se alterna en base a el reloj de datos WCK.
En 830, el anfitrión alterna el reloj de datos después de proporcionar el comando de suspensión de reloj de datos. Refiriéndose a la FIG. 3, el anfitrión 110 continúa alternando el reloj de datos WCK después de proporcionar el comando de suspensión de reloj de datos en Td<0>. De acuerdo con lo anterior, el anfitrión 110 y la memoria 150 permanecen en el modo de sincronización del reloj de datos (modo WCK2CK) y se necesitan ciclos de sincronización para una operación de lectura o escritura posterior.
En 840, el anfitrión proporciona un comando de lectura o escritura a la memoria a través del enlace después del comando de suspensión de reloj de datos, sin realizar la sincronización del reloj de datos entre proporcionar el comando de suspensión de reloj de datos y proporcionar el comando de lectura o escritura. Véase, por ejemplo, la FIG. 4, en 440. En 850, el comando de suspensión de reloj de datos se proporciona en respuesta a la información del comando de suspensión de reloj de datos. Véase, por ejemplo, la FIG. 4, en 430.
La descripción anterior se proporciona para permitir que cualquier persona experta en la materia practique los diversos aspectos en el presente documento descritos. Varias modificaciones a estos aspectos serán fácilmente evidentes para los expertos en la técnica, y los principios genéricos definidos en este documento se pueden aplicar a otros aspectos. Por lo tanto, no se pretende que las reivindicaciones se limiten a los aspectos que se muestran en el presente documento, sino que se les debe conceder todo el alcance compatible con las reivindicaciones de lenguaje, en las que la referencia a un elemento en singular no tiene por objeto significar “uno y sólo uno” a menos que se indique específicamente de esta manera, sino más bien “uno o más”. La palabra “ejemplar” se utiliza en el presente documento para significar “servir como ejemplo, instancia o ilustración”. Cualquier aspecto descrito en este documento como “ejemplar” no se debe interpretar necesariamente como preferible o ventajoso sobre otros aspectos. A menos que se indique específicamente lo contrario, el término “algunos” se refiere a uno o más. Combinaciones tales como “al menos uno de A, B o C”, “uno o más de A, B o C”, “al menos uno de A, B y C”, “uno o más de A, B y C” y “A, B, C, o cualquier combinación de los mismos” incluyen cualquier combinación de A, B y/o C, y pueden incluir múltiplos de A, múltiplos de B, o múltiplos de C. Específicamente, combinaciones como “al menos uno de A, B o C”, “uno o más de A, B o C”, “al menos uno de A, B y C”, “uno o más de A, B y C” y “A, B, C o cualquier combinación de los mismos” pueden ser A solo, B solo, C solo, A y B, A y C, B y C, o A y B y C, donde cualquiera de dichas combinaciones puede contener un miembro o miembros de A, B o C. Todos los equivalentes estructurales y funcionales a los elementos de los diversos aspectos descritos a lo largo de esta divulgación que son conocidos o llegan a ser conocidos posteriormente por aquellos con conocimientos ordinarios en la técnica se incorporan expresamente aquí por referencia y están destinados a ser abarcados por las reivindicaciones. Más aún, nada de lo divulgado en este documento está destinado a ser dedicado al público, independientemente de si dicha divulgación se menciona explícitamente en las reivindicaciones. Las palabras “módulo”, “mecanismo”, “elemento”, “dispositivo” y similares no pueden ser un sustituto de la palabra “medio”. Como tal, ningún elemento de notificación se debe interpretarse como un medio más función a menos que el elemento sea
Claims (15)
1. Un aparato que comprende:
una memoria (150) configurada para recibir un reloj de datos de un anfitrión (110) a través de un enlace y para sincronizar el reloj de datos con el anfitrión (110), que comprende además:
un búfer (604) de árbol de reloj configurado para alternar en base al reloj de datos para capturar datos de escritura o para generar datos de lectura; y
un decodificador (173) de comandos configurado para detectar un comando de suspensión de reloj de datos mientras el reloj de datos se sincroniza entre el anfitrión (110) y la memoria (150), en el que el búfer (604) de árbol de reloj se configura para deshabilitar la alternancia en base a el reloj de datos en respuesta al decodificador de comandos que detecta el comando de suspensión de reloj de datos.
2. El aparato de la reivindicación 1, en el que el decodificador (173) de comandos se configura además para detectar un comando de lectura o escritura posterior a la detección del comando de suspensión de reloj de datos sin realizar la sincronización del reloj de datos entre la detección del comando de suspensión de reloj de datos y la detección del comando de lectura o escritura, y el búfer (604) de árbol de reloj se configura además para comenzar a alternar en base a el reloj de datos en respuesta al decodificador de comandos que detecta el comando de lectura o escritura.
3. El aparato de la reivindicación 2, en el que la memoria (150) se configura para realizar una operación de lectura o escritura en respuesta al comando de lectura o escritura.
4. El aparato de la reivindicación 1, en el que la memoria (150) comprende además un registro de modo de memoria configurado para almacenar información del comando de suspensión de reloj de datos.
5. El aparato de la reivindicación 4, en el que la información del comando de suspensión de reloj de datos indica si la memoria (150) soporta el comando de suspensión de reloj de datos.
6. El aparato de la reivindicación 3, en el que la memoria (150) se configura para operar de acuerdo con una especificación de memoria dinámica de acceso aleatorio de doble tasa de datos de baja energía, en la que el comando de suspensión de reloj de datos comprende preferiblemente operandos de WS_WR, WS_RD y WS_FS en la lógica uno.
7. Un aparato que comprende:
un anfitrión (110) acoplado a una memoria (150) a través de un enlace, en el que el anfitrión se configura para sincronizar un reloj de datos con la memoria (150) y para generar datos de escritura o capturar datos de lectura en base a el reloj de datos,
en el que el anfitrión (110) comprende un controlador (130) de memoria configurado
para proporcionar un comando de suspensión de reloj de datos a la memoria (150) a través del enlace mientras el reloj de datos se sincroniza entre el anfitrión (110) y la memoria (150), en el que el comando de suspensión de reloj de datos notifica a la memoria (150) que deshabilite la alternancia de un búfer (604) de árbol de reloj, el búfer (604) de árbol de reloj que se configura para alternar en base a el reloj de datos y
para alternar el reloj de datos después de proporcionar el comando de suspensión de reloj de datos.
8. El aparato de la reivindicación 7, en el que el controlador (130) de memoria se configura además para proporcionar un comando de lectura o escritura a la memoria (150) a través del enlace, después de proporcionar el comando de suspensión de reloj de datos, en el que el comando de lectura o escritura notifica a la memoria (150) que comience a alternar un búfer de reloj de datos.
9. El aparato de la reivindicación 8, en el que el controlador (130) de memoria se configura para proporcionar el comando de lectura o escritura para acceder a la memoria (150), sin realizar la sincronización del reloj de datos entre proporcionar el comando de suspensión de reloj de datos y proporcionar el comando de lectura o escritura.
10. El aparato de la reivindicación 9, en el que el controlador (130) de memoria se configura para proporcionar un comando de lectura de registro de modo a la memoria (150) a través del enlace, para información del comando de suspensión de reloj de datos, y configurado para proporcionar el comando de suspensión de reloj de datos basado en la información del comando de suspensión de reloj de datos.
11. El aparato de la reivindicación 10, en el que la información del comando de suspensión de reloj de datos indica si la memoria (150) admite el comando de suspensión de reloj de datos.
12. Un método para reducir la energía de un reloj de datos para una memoria acoplada a un anfitrión a través de un enlace, que comprende:
recibir (710) un reloj de datos, por la memoria, de un anfitrión a través de un enlace;
sincronizar (720), por la memoria, del reloj de datos con el anfitrión;
alternar (730), por un búfer de árbol de reloj de la memoria, basado en el reloj de datos para capturar datos de escritura o para generar datos de lectura;
detectar (740), por la memoria, comando de suspensión de reloj de datos mientras el reloj de datos se sincroniza entre la memoria y el anfitrión; y
deshabilitar (750) la alternancia del búfer de árbol de reloj en base a el reloj de datos, en respuesta a la detección del comando de suspensión de reloj de datos.
13. El método de la reivindicación 12, que comprende además
detectar (760), por la memoria (150), de un comando de lectura o escritura posterior a la detección del comando de suspensión de reloj de datos; y
comenzar (770) la alternancia en base a el reloj de datos, por el búfer (604) de árbol de reloj, en respuesta a detectar el comando de lectura o escritura.
14. Un método para reducir la energía de un reloj de datos para una memoria acoplada a un anfitrión a través de un enlace, que comprende:
proporcionar (810), por un anfitrión a una memoria a través de un enlace, un comando de sincronización del reloj de datos;
proporcionar (820), por el anfitrión a la memoria a través del enlace, un comando de suspensión de reloj de datos, después de sincronizar un reloj de datos, en el que el comando de suspensión de reloj de datos notifica a la memoria que deshabilite un búfer de reloj de datos que alterna en base a el reloj de datos; y
alternar (830), por el anfitrión, el reloj de datos después de proporcionar el comando de suspensión de reloj de datos.
15. El método de la reivindicación 14, que comprende además
proporcionar (840), por el anfitrión a la memoria a través del enlace, un comando de lectura o escritura después del comando de suspensión de reloj de datos, sin realizar la sincronización del reloj de datos entre proporcionar el comando de suspensión de reloj de datos y proporcionar el comando de lectura o escritura.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962812689P | 2019-03-01 | 2019-03-01 | |
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 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2967120T3 true ES2967120T3 (es) | 2024-04-26 |
Family
ID=72236931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES20715575T Active ES2967120T3 (es) | 2019-03-01 | 2020-02-28 | Operaciones de reloj de datos potenciadas en la memoria |
Country Status (8)
Country | Link |
---|---|
US (2) | US11175836B2 (es) |
EP (2) | EP3931830B1 (es) |
KR (1) | KR20210131342A (es) |
CN (1) | CN113519025A (es) |
BR (1) | BR112021016211A2 (es) |
ES (1) | ES2967120T3 (es) |
TW (1) | TW202101193A (es) |
WO (1) | WO2020180677A1 (es) |
Families Citing this family (5)
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 |
US20220357856A1 (en) * | 2021-05-07 | 2022-11-10 | Micron Technology, Inc. | Repair Element Availability Communication |
US11854602B2 (en) * | 2021-12-08 | 2023-12-26 | Advanced Micro Devices, Inc. | Read clock start and stop for synchronous memories |
EP4250124A1 (en) * | 2022-03-23 | 2023-09-27 | Samsung Electronics Co., Ltd. | Memory device, operation method of a memory device, and operation method of a memory controller |
Family Cites Families (13)
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 | 日本電気株式会社 | パケット処理装置 |
US8824222B2 (en) | 2010-08-13 | 2014-09-02 | Rambus Inc. | Fast-wake memory |
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ハブの制御方法 |
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 | 삼성전자주식회사 | 메모리 장치 및 그것의 분주 클록 보정 방법 |
US10839887B2 (en) | 2016-10-31 | 2020-11-17 | Intel Corporation | Applying chip select for memory device identification and power management control |
US11061577B2 (en) * | 2018-10-30 | 2021-07-13 | Samsung Electronics Co., Ltd. | System on chip performing training of duty cycle of write clock using mode register write command, operating method of system on chip, electronic device including system on chip |
US11175836B2 (en) | 2019-03-01 | 2021-11-16 | Qualcomm Incorporated | Enhanced data clock operations in memory |
-
2020
- 2020-02-27 US US16/803,977 patent/US11175836B2/en active Active
- 2020-02-28 EP EP20715575.5A patent/EP3931830B1/en active Active
- 2020-02-28 ES ES20715575T patent/ES2967120T3/es active Active
- 2020-02-28 CN CN202080017983.3A patent/CN113519025A/zh active Pending
- 2020-02-28 EP EP23205327.2A patent/EP4290521A3/en active Pending
- 2020-02-28 BR BR112021016211-9A patent/BR112021016211A2/pt unknown
- 2020-02-28 KR KR1020217026962A patent/KR20210131342A/ko active Search and Examination
- 2020-02-28 WO PCT/US2020/020374 patent/WO2020180677A1/en active Application Filing
- 2020-03-02 TW TW109106698A patent/TW202101193A/zh unknown
-
2021
- 2021-10-05 US US17/494,089 patent/US11662919B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR20210131342A (ko) | 2021-11-02 |
US11175836B2 (en) | 2021-11-16 |
US11662919B2 (en) | 2023-05-30 |
BR112021016211A2 (pt) | 2021-10-05 |
WO2020180677A1 (en) | 2020-09-10 |
TW202101193A (zh) | 2021-01-01 |
EP3931830A1 (en) | 2022-01-05 |
US20220027067A1 (en) | 2022-01-27 |
EP4290521A3 (en) | 2024-03-13 |
CN113519025A (zh) | 2021-10-19 |
EP3931830B1 (en) | 2023-12-13 |
US20200278802A1 (en) | 2020-09-03 |
JP2022522012A (ja) | 2022-04-13 |
EP3931830C0 (en) | 2023-12-13 |
EP4290521A2 (en) | 2023-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2967120T3 (es) | Operaciones de reloj de datos potenciadas en la memoria | |
US11335395B2 (en) | Applying chip select for memory device identification and power management control | |
JP5955323B2 (ja) | 構成可能な電力状態をもつダイナミックramphyインタフェース | |
JP5228468B2 (ja) | システム装置およびシステム装置の動作方法 | |
US9343127B1 (en) | Memory device having an adaptable number of open rows | |
US8593893B2 (en) | Semiconductor memory device and read wait time adjustment method thereof, memory system, and semiconductor device | |
JP2000137983A (ja) | 半導体記憶装置 | |
KR20200083641A (ko) | 반도체 메모리를 위한 메모리 명령을 포함하는 장치 및 방법 | |
JP3272914B2 (ja) | 同期型半導体装置 | |
US10573371B2 (en) | Systems and methods for controlling data strobe signals during read operations | |
KR101536019B1 (ko) | 고속 dram에서 신호들을 처리하기 위한 시스템 및 방법 | |
US8811111B2 (en) | Memory controller with reduced power consumption, memory device, and memory system | |
US20220129201A1 (en) | Asynchronous arbitration across clock domains for register writes in an integrated circuit chip | |
TWI533135B (zh) | 記憶體存取方法、記憶體存取控制方法、記憶體裝置與記憶體控制器 | |
CN116343856A (zh) | 快速自刷新退出功率状态 | |
JP7508470B2 (ja) | メモリにおける拡張データクロック動作 | |
JP2012063874A (ja) | チップセレクト信号を切り替えるセレクタ、ストレージ装置、及び電子機器 | |
US20240193109A1 (en) | Apparatus and method to reduce memory power consumption in a memory phy in a memory controller | |
JP2009266286A (ja) | 半導体メモリおよびメモリコントローラ | |
Hasan et al. | Intelligent High Performance Memory Access Technique in Aspect of DDR3 | |
Zhong et al. | Design of SDRAM Controller Based on FPGA | |
AN et al. | High Performance Design and Implemantion of DDR SDRAM Controller |