ES2967120T3 - Operaciones de reloj de datos potenciadas en la memoria - Google Patents

Operaciones de reloj de datos potenciadas en la memoria Download PDF

Info

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
Application number
ES20715575T
Other languages
English (en)
Inventor
Jungwon Suh
Dexter Tamio Chun
Michael Hawjing Lo
Shyamkumar Thoziyoor
Ravindra Kumar
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of ES2967120T3 publication Critical patent/ES2967120T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4074Power supply or voltage generation circuits, e.g. bias voltage generators, substrate voltage generators, back-up power, power control circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4093Input/output [I/O] data interface arrangements, e.g. data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1066Output synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/109Control signal input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1093Input synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/225Clock input buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1028Power efficiency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/45Caching of specific data in cache memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2227Standby or low power modes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2254Calibration
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/023Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/14Implementation of control logic, e.g. test mode decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50012Marginal testing, e.g. race, voltage or current testing of timing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • 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)

REIVINDICACIONES
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.
ES20715575T 2019-03-01 2020-02-28 Operaciones de reloj de datos potenciadas en la memoria Active ES2967120T3 (es)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11175836B2 (en) 2019-03-01 2021-11-16 Qualcomm Incorporated Enhanced data clock operations in memory
US11587633B2 (en) * 2020-06-23 2023-02-21 Micron Technology, Inc. Direct testing of in-package memory
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6898683B2 (en) 2000-12-19 2005-05-24 Fujitsu Limited Clock synchronized dynamic memory and clock synchronized integrated circuit
US6781911B2 (en) 2002-04-09 2004-08-24 Intel Corporation Early power-down digital memory device and method
US8964779B2 (en) * 2007-11-30 2015-02-24 Infineon Technologies Ag Device and method for electronic controlling
JP4962396B2 (ja) * 2008-04-23 2012-06-27 日本電気株式会社 パケット処理装置
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

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