ES2885223T3 - Esquema robusto de conductor de escritura para compiladores de memoria estática de acceso aleatorio - Google Patents

Esquema robusto de conductor de escritura para compiladores de memoria estática de acceso aleatorio Download PDF

Info

Publication number
ES2885223T3
ES2885223T3 ES18759227T ES18759227T ES2885223T3 ES 2885223 T3 ES2885223 T3 ES 2885223T3 ES 18759227 T ES18759227 T ES 18759227T ES 18759227 T ES18759227 T ES 18759227T ES 2885223 T3 ES2885223 T3 ES 2885223T3
Authority
ES
Spain
Prior art keywords
write
node
voltage level
bit
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES18759227T
Other languages
English (en)
Inventor
Shiba Mohanty
Mukund Narasimhan
Rakesh Sinha
Raghav Gupta
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 ES2885223T3 publication Critical patent/ES2885223T3/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/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/417Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
    • G11C11/419Read-write [R-W] circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/02Arrangements for writing information into, or reading information out from, a digital store with means for avoiding parasitic signals
    • 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/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • G11C7/1009Data masking during input/output
    • 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/1096Write circuits, e.g. I/O line write drivers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/12Bit line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, equalising circuits, for bit lines
    • 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 

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Static Random-Access Memory (AREA)

Abstract

Un aparato, que comprende: una memoria estática de acceso aleatorio, SRAM, en donde la SRAM incluye: una matriz de celdas de bits (402); una línea de bits y una línea de bits inversa acopladas a una celda de bits de la matriz de celdas de bits (402); un primer circuito de activación (410) configurado para impulsar la línea de bits a través de un primer nodo conductor de escritura para escribir datos en la celda de bits de la matriz de celdas de bits (402) para una operación de escritura; y un segundo circuito conductor (414) configurado para impulsar la línea de bits inversa a través de un segundo nodo conductor de escritura para escribir los datos en la celda de bits para la operación de escritura; un primer circuito de precarga (416) configurado para operar con el primer circuito conductor (410) para: impulsar el primer nodo conductor de escritura a un nivel de voltaje alto o bajo para la operación de escritura, precargar el primer nodo de controlador de escritura al nivel de alto voltaje y hacer flotar el primer nodo conductor de escritura para una operación de enmascaramiento de bits; un segundo circuito de precarga (418) configurado para operar con el segundo circuito conductor (414) para: impulsar el segundo nodo conductor de escritura al nivel de alto voltaje o al nivel de bajo voltaje para la operación de escritura, precargar el segundo nodo conductor de escritura al nivel de alto voltaje, y hacer flotar el segundo nodo conductor de escritura para la operación de enmascaramiento de bits; en donde el primer circuito de precarga (416) y el segundo circuito de precarga (418) están acoplados a una entrada de línea de señal de enmascaramiento, en donde la entrada de línea de señal de enmascaramiento controla el primer circuito de precarga (416) y el segundo circuito de precarga (418) para operar con el primer circuito conductor (410) y el segundo circuito conductor (414) respectivos para impulsar el primer nodo conductor de escritura y el segundo nodo conductor de escritura respectivos al nivel de alto voltaje o al nivel de bajo voltaje en el caso de que el la operación de enmascaramiento de bits está deshabilitada; en donde el primer circuito de precarga (416) y el segundo circuito de precarga (418) están acoplados a una entrada de reloj de bits, en donde la entrada de reloj de bits controla el primer circuito de precarga (416) y el segundo circuito de precarga (418) para operar con el primer circuito conductor (410) y el segundo circuito conductor (414) respectivos para precargar el primer nodo conductor de escritura y el segundo nodo conductor respectivos al nivel de alto voltaje y hacer flotar el primer nodo conductor de escritura y el segundo nodo conductor de escritura respectivos para la operación de enmascaramiento de bits.

Description

DESCRIPCIÓN
Esquema robusto de conductor de escritura para compiladores de memoria estática de acceso aleatorio
CAMPO TÉCNICO
La presente divulgación se refiere en general a un aparato que opera una memoria y, más particularmente, a facilitar el comportamiento robusto de la memoria estática de acceso aleatorio (SRAM).
ANTECEDENTES
Los sistemas informáticos basados en procesadores incluyen memoria para el almacenamiento de datos. Existen diferentes tipos de memoria, cada una de las cuales posee ciertas características únicas. Por ejemplo, la memoria estática de acceso aleatorio (SRAM) es un tipo de memoria que se puede emplear en sistemas informáticos basados en procesadores. La SRAM puede almacenar datos sin la necesidad de actualizar periódicamente la memoria, a diferencia de la memoria dinámica de acceso de lectura (DRAM), por ejemplo. Una SRAM contiene una pluralidad de celdas de bits de SRAM (también denominadas "celdas de bits") organizadas en filas y columnas en una matriz de datos de SRAM. Para cualquier fila determinada en una matriz de datos de SRAM, cada columna de la matriz de datos de SRAM contendrá una celda de bits de SRAM en la que se almacena un único elemento de datos o bit. El acceso a una fila de celda de bits de SRAM deseada se controla mediante una línea de palabras correspondiente para operaciones de lectura y escritura. Para leer datos de una celda de bits de SRAM, se afirma una línea de palabras para seleccionar una fila deseada de celdas de bits de SRAM correspondiente a una dirección de memoria de una solicitud de acceso a la memoria. Para una operación de lectura (también denominada "acceso de lectura de memoria"), los datos leídos de la celda de bits de SRAM seleccionada se colocan en una línea de bits local para proporcionarse a una salida de datos de SRAM. Para una operación de escritura, los datos que se escribirán en la celda de bits de SRAM se colocan en la línea de bits local para la celda de bits de SRAM. También se pueden emplear líneas de bits locales complementarias (o inversas) para mejorar los márgenes de ruido en la celda de bits de SRAM Además, una matriz de datos de SRAM puede tener múltiples submatrices o bancos de datos, cada uno de los cuales contiene su propio circuito de acceso y líneas de palabras y líneas de bits locales dedicadas que permiten accesos en múltiples submatrices de datos al mismo tiempo.
A medida que los sistemas informáticos basados en procesadores continúan desarrollándose, existe la necesidad de aumentar la solidez del sistema evitando la corrupción de los datos ubicados en una celda de bits de SRAM cuando se realiza un enmascaramiento de bits en la celda de bits de SRAM.
La atención se centra en el documento US 2011/032780 A1 que se refiere a un dispositivo semiconductor que incluye un primer par de líneas de datos, un segundo par de líneas de datos, un tercer par de líneas de datos, un primer amplificador conectado al primer par de líneas de datos, un primer interruptor que controla la conexión entre el primer par de líneas de datos y el segundo par de líneas de datos, un segundo interruptor que controla la conexión entre el segundo par de líneas de datos y el tercer par de líneas de datos, un segundo amplificador que amplifica los datos en el segundo par de líneas de datos, para la salida al tercer par de líneas de datos, un tercer amplificador conectado al tercer par de líneas de datos, y un circuito de control que controla el segundo interruptor formando un par de interruptores. Cuando dos líneas de datos que constituyen el tercer par de líneas de datos asumen ambas un primer estado, el circuito de control controla el segundo interruptor para que se apague, controlando así que el segundo par de líneas de datos y el tercer par de líneas de datos se desconecten. Los datos de salida del primer amplificador se envían luego al segundo par de líneas de datos a través del primer interruptor. Cuando las dos líneas de datos que constituyen el tercer par de líneas de datos asumen un segundo estado diferente del primer estado según la salida de datos del tercer amplificador, el segundo interruptor se controla para que se encienda, controlando así que el segundo par de líneas de datos y el tercer par de líneas de datos se desconecten. Luego, el primer amplificador recibe la salida de datos desde el primer amplificador.
La atención se centra más en el documento US 6246614 B1 que se refiere a un dispositivo de memoria sincrónica de reloj. En modos de operación ejecutados sucesivamente, el tiempo de generación y/o un ancho de pulso para un primer pulso de control interno producido para el modo de operación se hacen diferentes de aquellos para los pulsos de control subsiguientes.
También la atención se centra en el documento US 2001/002886 A1 que se refiere a un dispositivo de memoria semiconductor que incluye amplificadores de detección. La capacidad de enganche de un amplificador de detección que detecta y amplifica una diferencia de voltaje de un par de líneas de bits se establece más baja cuando los datos se escriben en una celda de memoria seleccionada. El amplificador de detección con capacidad reducida de enganche hace que los datos de enganche se inviertan fácilmente según los datos de escritura.
SUMARIO
La invención se define mediante las reivindicaciones independientes adjuntas. Otras realizaciones de la invención se definen mediante las reivindicaciones dependientes. Ciertos aspectos de la divulgación se refieren a sistemas, aparatos, métodos y técnicas para escribir datos en una memoria estática de acceso aleatorio (SRAM).
En varios aspectos de la divulgación, un aparato incluye una SRAM. El aparato puede incluir además uno entre un teléfono celular y un dispositivo informático móvil que incorpore la SRAM. La SRAM incluye una matriz de celdas de bits, una línea de bits acoplada a la matriz de celdas de bits, un primer circuito conductor configurado para impulsar la línea de bits a través de un primer nodo conductor de escritura para escribir datos en una celda de bits de la matriz de celdas de bits para una operación de escritura, y un primer circuito previo de carga configurado para operar con el primer circuito conductor para impulsar el primer nodo conductor de escritura a un nivel de alto voltaje o un nivel de bajo voltaje para la operación de escritura, precargar el primer nodo conductor de escritura al nivel de alto voltaje y hacer flotar el primer nodo conductor de escritura para una operación de enmascaramiento de bits, en donde un nivel de voltaje umbral para escribir los datos en la celda de bits se mantiene en la línea de bits al comienzo de un ciclo de escritura en el caso de que el primer nodo conductor de escritura flote en el nivel de alto voltaje.
En un aspecto, el primer circuito de precarga está acoplado a una entrada de reloj de bits y una entrada de línea de señal de enmascaramiento, en donde la entrada de línea de señal de enmascaramiento puede controlar el primer circuito de precarga para operar con el primer circuito conductor para impulsar el nodo conductor de escritura al nivel de alto voltaje o al nivel de bajo voltaje en caso de que la operación de enmascaramiento de bits esté deshabilitada. La entrada del reloj de bits puede controlar el primer circuito de precarga para que funcione con el primer circuito conductor para precargar el primer nodo conductor de escritura al nivel de alto voltaje y hacer flotar el primer nodo conductor de escritura para la operación de enmascaramiento de bits.
En un aspecto adicional, el primer circuito conductor está acoplado a una primera entrada de datos, y el primer circuito conductor se controla para impulsar el primer nodo conductor de escritura al nivel de alto voltaje o al nivel de bajo voltaje en base a un valor de voltaje en la primera entrada de datos.
En un aspecto, la SRAM incluye además una línea de bits inversa acoplada a la matriz de celdas de bits, un segundo circuito conductor configurado para impulsar la línea de bits inversa a través de un segundo nodo conductor de escritura para escribir los datos en la celda de bits para la operación de escritura, y un segundo circuito de precarga configurado para operar con el segundo circuito conductor para impulsar el segundo nodo conductor de escritura al nivel de alto voltaje o al nivel de bajo voltaje para la operación de escritura, precargar el segundo nodo conductor de escritura al nivel de alto voltaje y hacer flotar el segundo nodo conductor de escritura para la operación de enmascaramiento de bits, en donde el nivel de voltaje umbral para escribir los datos en la celda de bits se mantiene en la línea de bits inversa al comienzo de un ciclo de escritura cuando el segundo nodo conductor de escritura flota en el nivel de alto voltaje.
En un aspecto adicional, el segundo circuito de precarga está acoplado a la entrada de reloj de bits y la entrada de línea de señal de enmascaramiento, en donde la entrada de línea de señal de enmascaramiento puede controlar el segundo circuito de precarga para operar con el segundo circuito conductor para impulsar el segundo nodo conductor de escritura al nivel de alto voltaje o al nivel de bajo voltaje en caso de que la operación de enmascaramiento de bits esté deshabilitada. La entrada del reloj de bits puede controlar el segundo circuito de precarga para que funcione con el segundo circuito conductor para precargar el segundo nodo conductor de escritura al nivel de alto voltaje y hacer flotar el segundo nodo conductor de escritura para la operación de enmascaramiento de bits.
En otro aspecto, el segundo circuito conductor está acoplado a una segunda entrada de datos, y el segundo circuito conductor se controla para impulsar el segundo nodo conductor de escritura al nivel de alto voltaje o al nivel de bajo voltaje en base a un valor de voltaje en la segunda entrada de datos.
En varios aspectos de la divulgación, un método para escribir datos en una memoria estática de acceso aleatorio (SRAM) incluye detectar si una operación de enmascaramiento de bits está habilitada o deshabilitada, impulsando un primer nodo conductor de escritura a un nivel de alto voltaje o a un nivel de bajo voltaje para una operación de escritura, precargar el primer nodo conductor de escritura al nivel de alto voltaje, hacer flotar el primer nodo conductor de escritura para la operación de enmascaramiento de bits e impulsar una línea de bits acoplada a una celda de bits de una matriz de celdas de bits para escribir los datos en la celda de bits según el nivel de alto voltaje o el nivel de bajo voltaje en el primer nodo conductor de escritura para la operación de escritura, en donde un nivel de voltaje umbral para escribir los datos en la celda de bits se mantiene en la línea de bits al comienzo de un ciclo de escritura cuando el primer nodo conductor de escritura flota en el nivel de alto voltaje.
En un aspecto, el método incluye además recibir una entrada de reloj de bits y una entrada de línea de señal de enmascaramiento, en donde la entrada de línea de señal de enmascaramiento puede controlar la conducción del primer nodo conductor de escritura al nivel de alto voltaje o al nivel de bajo voltaje en caso de que la operación de enmascaramiento de bits esté deshabilitada. La entrada del reloj de bits puede controlar la precarga del primer nodo conductor de escritura al nivel de alto voltaje y hacer flotar el primer nodo conductor de escritura para la operación de enmascaramiento de bits.
En un aspecto adicional, el método incluye además recibir una primera entrada de datos, en donde el primer nodo conductor de escritura es impulsado al nivel de alto voltaje o al nivel de bajo voltaje basándose además en un valor de voltaje de la primera entrada de datos.
En un aspecto, el método incluye además impulsar un segundo nodo conductor de escritura al nivel de alto voltaje o al nivel de bajo voltaje para la operación de escritura, precargar el segundo nodo conductor de escritura al nivel de alto voltaje, hacer flotar el segundo nodo conductor de escritura para la operación de enmascaramiento de bits e impulsar una línea de bits inversa acoplada a la celda de bits para escribir los datos en la celda de bits según el nivel de alto voltaje o el nivel de bajo voltaje en el segundo nodo conductor de escritura para la operación de escritura, en donde un nivel de voltaje umbral para la escritura de datos en la celda de bits se mantiene en la línea de bits inversa al comienzo de un ciclo de escritura cuando el segundo nodo conductor de escritura flota en el nivel de alto voltaje.
En un aspecto adicional, el método incluye además recibir una entrada de reloj de bits y una entrada de línea de señal de enmascaramiento, en donde la entrada de línea de señal de enmascaramiento puede controlar la conducción del segundo nodo conductor de escritura al nivel de alto voltaje o al nivel de bajo voltaje en caso de que la operación de enmascaramiento de bits esté deshabilitada. La entrada del reloj de bits puede controlar la precarga del segundo nodo conductor de escritura al nivel de alto voltaje y hacer flotar el segundo nodo conductor de escritura para la operación de enmascaramiento de bits.
En otro aspecto, el método incluye además recibir una segunda entrada de datos, en donde el segundo nodo conductor de escritura es impulsado al nivel de alto voltaje o al nivel de bajo voltaje basándose además en un valor de voltaje de la segunda entrada de datos.
En varios aspectos de la divulgación, un aparato para escribir datos en una memoria estática de acceso aleatorio (SRAM) incluye medios para detectar si una operación de enmascaramiento de bits está habilitada o deshabilitada, medios para impulsar un primer nodo conductor de escritura a un nivel de alto voltaje o un nivel de bajo voltaje para una operación de escritura, medios para precargar el primer nodo conductor de escritura al nivel de alto voltaje; medios para hacer flotar el primer nodo conductor de escritura para la operación de enmascaramiento de bits, medios para impulsar una línea de bits acoplada a una celda de bits de una matriz de celdas de bits para escribir los datos en la celda de bits según el nivel de alto voltaje o el nivel de bajo voltaje en el primer nodo conductor de escritura para la operación de escritura, en donde un nivel de voltaje umbral para escribir los datos en la celda de bits se mantiene en la línea de bits al comienzo de un ciclo de escritura cuando el primer nodo conductor de escritura flota en el nivel de alto voltaje, medios para recibir una entrada de reloj de bits y una entrada de línea de señal de enmascaramiento, y medios para recibir una primera entrada de datos.
En un aspecto, el aparato incluye además medios para impulsar un segundo nodo conductor de escritura al nivel de alto voltaje o al nivel de bajo voltaje para la operación de escritura, medios para precargar el segundo nodo conductor de escritura al nivel de alto voltaje, medios para hacer flotar el segundo nodo conductor de escritura para la operación de enmascaramiento de bits, medios para impulsar una línea de bits inversa acoplada a la celda de bits para escribir los datos en la celda de bits según el nivel de alto voltaje o el nivel de bajo voltaje en el segundo nodo conductor de escritura durante la operación de escritura, en donde un nivel de voltaje umbral para la escritura de datos en la celda de bits se mantiene en la línea de bits inversa al comienzo de un ciclo de escritura cuando el segundo nodo conductor de escritura flota en el nivel de alto voltaje, medios para recibir una entrada de reloj de bits y una entrada de línea señal de enmascaramiento y medios para recibir una segunda entrada de datos.
En varios aspectos de la divulgación, un aparato que incorpora una memoria estática de acceso aleatorio (SRAM) incluye un circuito conductor de escritura para escribir datos en la SRAM. El circuito conductor de escritura está configurado para detectar si una operación de enmascaramiento de bits está habilitada o deshabilitada, impulsar un primer nodo conductor de escritura a un nivel de alto voltaje o un nivel de bajo voltaje para una operación de escritura, precargar el primer nodo conductor de escritura al nivel de alto voltaje, hacer flotar el primer nodo conductor de escritura para la operación de enmascaramiento de bits, impulsar una línea de bits acoplada a una celda de bits de una matriz de celdas de bits para escribir los datos en la celda de bits según el nivel de alto voltaje o el nivel de bajo voltaje en el primer nodo conductor de escritura para la operación de escritura, en donde un nivel de voltaje umbral para escribir los datos en la celda de bits se mantiene en la línea de bits al comienzo de un ciclo de escritura cuando el primer nodo conductor de escritura flota en el nivel de alto voltaje y recibir una primera entrada de datos, una entrada de reloj de bits y una entrada de línea de señal de enmascaramiento.
En un aspecto, el circuito conductor de escritura está configurado además para impulsar un segundo nodo conductor de escritura al nivel de alto voltaje o al nivel de bajo voltaje para la operación de escritura, precargar el segundo nodo conductor de escritura al nivel de alto voltaje, hacer flotar el segundo nodo conductor de escritura para la operación de enmascaramiento de bits, impulsar una línea de bits inversa acoplada a la celda de bits para escribir los datos en la celda de bits según el nivel de alto voltaje o el nivel de bajo voltaje en el segundo nodo conductor de escritura para la operación de escritura, en donde un nivel de voltaje umbral para escribir los datos en la celda de bits se mantiene en la línea de bits inversa al comienzo de un ciclo de escritura cuando el segundo nodo conductor de escritura flota en el nivel de alto voltaje y recibir una segunda entrada de datos, una entrada de reloj de bits y una entrada de línea de señal de enmascaramiento. El aparato puede incluir además uno entre un teléfono celular y un dispositivo informático móvil que incorpore la SRAM y el circuito conductor de escritura.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
La figura 1 ilustra un ejemplo de un aparato que puede emplear un bus de comunicación de datos.
La figura 2 ilustra un ejemplo de un esquema conductor de escritura estático para una celda de bits de memoria estática de acceso aleatorio (SRAM).
La figura 3 ilustra un ejemplo de un esquema conductor de escritura flotante para una celda de bits de memoria estática de acceso aleatorio (SRAM).
La figura 4 ilustra un ejemplo de un esquema conductor de escritura precargado para una celda de bits de memoria estática de acceso aleatorio (SRAM).
La figura 5 es un diagrama que ilustra formas de onda correspondientes a los tiempos de varias señales en un circuito conductor de escritura.
La figura 6 es un diagrama que ilustra formas de onda correspondientes a los tiempos de varias señales en un circuito conductor de escritura y su efecto sobre un margen de ruido estático (SNM).
La figura 7 ilustra un ejemplo de un aparato que emplea un circuito de procesamiento que puede adaptarse según ciertos aspectos divulgados en la presente.
La figura 8 es un diagrama de flujo de un método que se puede realizar en un aparato para escribir datos en una memoria estática de acceso aleatorio (SRAM).
La figura 9 ilustra un ejemplo de una implementación de hardware para un aparato adaptado según ciertos aspectos divulgados en la presente.
DESCRIPCIÓN DETALLADA
La descripción detallada que se expone a continuación con respecto a los dibujos adjuntos se pretende que sea una descripción de varias configuraciones, y no se pretende que represente las únicas configuraciones en las que se pueden poner en práctica los conceptos descritos en la presente. La descripción detallada incluye detalles específicos con el fin de proporcionar una comprensión profunda de varios conceptos. Sin embargo, resultará evidente para los expertos en la técnica que estos conceptos se pueden poner en práctica sin estos detalles específicos. En algunos casos, las estructuras y componentes bien conocidos se muestran en forma de diagrama esquemático para evitar oscurecer tales conceptos.
Se presentarán ahora varios aspectos de la invención con referencia a varios aparatos y métodos. Los aparatos y métodos se describirán en la siguiente descripción detallada y se ilustrarán en los dibujos adjuntos mediante varios bloques, módulos, componentes, circuitos, pasos, procesos, algoritmos, etc. (denominados colectivamente "elementos"). Estos elementos pueden implementarse mediante el uso de hardware electrónico, software informático o cualquier combinación de los mismos. Si dichos elementos se implementan como hardware o software depende de la aplicación particular y las restricciones de diseño impuestas en el sistema general.
Según ciertos aspectos, una memoria estática de acceso aleatorio (SRAM) puede implementarse en un aparato 100 como un teléfono celular, un teléfono inteligente, un teléfono con protocolo de inicio de sesión (SIP), un ordenador, un ordenador portátil, un miniordenador portátil, un libro inteligente, un asistente digital personal (PDA), una radio satelital, un dispositivo de sistema de posicionamiento global (GPS), un dispositivo doméstico inteligente, iluminación inteligente, un dispositivo multimedia, un dispositivo de video, un reproductor de audio digital (por ejemplo, un reproductor MP3), un cámara, una consola de juegos, un dispositivo de entretenimiento, un componente del vehículo, un dispositivo informático portátil (por ejemplo, un reloj inteligente, un rastreador de salud o de estado físico, gafas, etc.), un aparato, un sensor, un dispositivo de seguridad, una máquina expendedora, un medidor inteligente, un dron, un multicóptero, un dispositivo informático móvil o cualquier otro dispositivo de funcionamiento similar.
La figura 1 ilustra un ejemplo de un aparato 100 que puede emplear un bus de comunicación de datos. El aparato 100 puede incluir un circuito de procesamiento 102 que tiene múltiples circuitos o dispositivos 104, 106 y/o 108, que pueden implementarse en uno o más circuitos integrados específicos de la aplicación (ASIC) o en un SoC. En un ejemplo, el aparato 100 puede ser un dispositivo de comunicación y el circuito de procesamiento 102 puede incluir un dispositivo de procesamiento proporcionado en un ASIC 104, uno o más dispositivos periféricos 106 y un transceptor 108 que permite que el aparato se comunique con una red de acceso por radio, una red de acceso central, Internet y/u otra red. El aparato 100 puede incluir, por ejemplo, un teléfono celular y/o un dispositivo informático móvil (como un ordenador portátil o un dispositivo de Internet de las cosas (IoT)).
El ASIC 104 puede tener uno o más procesadores 112, uno o más módems 110, memoria incorporada 114, un circuito de interfaz de bus 116 y/u otros circuitos o funciones lógicas. El circuito de procesamiento 102 puede ser controlado por un sistema operativo que puede proporcionar una capa de interfaz de programación de aplicaciones (API) que permite que uno o más procesadores 112 ejecuten módulos de software que residen en la memoria incorporada 114 u otro almacenamiento legible por procesador 122 proporcionado en el circuito de procesamiento 102. Los módulos de software pueden incluir instrucciones y datos almacenados en la memoria incorporada 114 o en el almacenamiento legible por procesador 122. El ASIC 104 puede acceder a su memoria incorporada 114, el almacenamiento legible por procesador 122 y/o almacenamiento externo al circuito de procesamiento 102. La memoria incorporada 114 puede incluir memoria de solo lectura (ROM) o memoria de acceso aleatorio (RAM), ROM programable borrable eléctricamente (EEPROM), fichas referenciadas o cualquier dispositivo de memoria que pueda usarse en sistemas de procesamiento y plataformas informáticas. El circuito de procesamiento 102 puede incluir, implementar o tener acceso a una base de datos local u otro almacenamiento de parámetros que pueda mantener los parámetros operativos y demás información utilizada para configurar y operar el aparato 100 y/o el circuito de procesamiento 102. La base de datos local puede implementarse usando registros, un módulo de base de datos, memoria rápida, medios magnéticos, EEPROm , disco duro o blando, o similares. El circuito de procesamiento 102 también puede acoplarse operativamente a dispositivos externos tales como una pantalla 126, controles de operador, tales como interruptores o botones 128, 130 y/o un teclado integrado o externo 132, entre otros componentes. Se puede configurar un módulo de interfaz de usuario para que funcione con la pantalla 126, el teclado 132, etc. a través de un enlace de comunicación dedicado o mediante una o más interconexiones de datos en serie.
El circuito de procesamiento 102 puede proporcionar uno o más buses 118a, 118b, 120 que permiten que ciertos dispositivos 104, 106 y/o 108 se comuniquen. En un ejemplo, el ASIC 104 puede incluir un circuito de interfaz de bus 116 que incluye una combinación de circuitos, contadores, temporizadores, lógica de control y otros circuitos o módulos configurables. En un ejemplo, el circuito de interfaz de bus 116 puede configurarse para funcionar según especificaciones o protocolos de comunicación. El circuito de procesamiento 102 puede incluir o controlar una función de gestión de energía que configura y gestiona el funcionamiento del aparato 100.
Los aspectos de la presente divulgación se relacionan con un esquema conductor de escritura para compiladores de memoria estática de acceso aleatorio (SRAM) que asegura un comportamiento robusto del circuito en términos de margen de ruido estático (SNM) y capacidad de escritura a través de un rango de compilador (tamaño) sin afectar la energía y el rendimiento del circuito. El esquema conductor de escritura puede ser aplicable a una operación de escritura de byte/bit en conexión con una funcionalidad de enmascaramiento usada para SRAM.
En un aspecto, una funcionalidad de enmascaramiento de ejemplo puede ser controlada mediante una línea de señal de enmascaramiento de escritura (wbt_n). En particular, es posible que una función de enmascaramiento no se limite a una función de enmascaramiento de escritura. La función de enmascaramiento puede referirse a bits que no están escritos (por ejemplo, no seleccionados) en una operación de escritura. Cuando se habilita/selecciona una operación de escritura, si la línea de señal de enmascaramiento de escritura se establece en un valor de voltaje de cero (wbt_n = 0), entonces se escribirá una entrada de datos (Din) en una celda de bits de SRAM. Por lo tanto, una columna de una matriz de celda de bits de SRAM no se enmascarará cuando wbt_n = 0. Alternativamente, cuando la operación de escritura está habilitada/seleccionada, si la línea de señal de enmascaramiento de escritura se establece en un valor de voltaje de uno (wbt_n = 1), entonces no ocurrirá ninguna operación de escritura en la celda de bits de SRAM. Por lo tanto, una columna de una matriz de celda de bits de SRAM estará enmascarada cuando wbt_n = 1.
Cuando una columna de la matriz de celdas de bits de SRAM está enmascarada, puede ocurrir una función de "pseudo lectura" en la celda de bits de SRAM. Esto asegura que se limite un margen de ruido estático dinámico (SNM). Si el SNM no está limitado, los datos dentro de la celda de bits de SRAM pueden corromperse. En particular, el SNM dinámico es muy importante para el rendimiento. Por consiguiente, es necesario controlar un estado de un conductor de escritura para todas las operaciones dinámicas para evitar la corrupción de datos.
La figura 2 ilustra un esquema conductor de escritura 200 de ejemplo para una celda de bits de memoria estática de acceso aleatorio (SRAM). El esquema conductor de escritura 200 puede denominarse esquema conductor de escritura estático.
El esquema conductor de escritura 200 incluye una matriz de celdas de bits de SRAM 202 que incluye una pluralidad de celdas de bits de SRAM (también denominadas "celdas de bits") organizadas en filas y columnas. Para cualquier fila determinada en la matriz de celdas de bits de SRAM 202, cada columna de la matriz de celdas de bits de SRAM 202 contendrá una celda de bits en la que se almacena un único elemento de datos o bit. Cada celda de bits en la matriz de celdas de bits 202 de SRAM está acoplada a una línea de bits (bl) 204 y una línea de bits inversa (o barra de líneas de bits (blb)) 206. Durante una operación de escritura, los datos que se van a escribir en una celda de bits en la matriz de celdas de bits de SRAM 202 se colocan en la línea de bits (bl) 204 y/o la línea de bits inversa (blb) 206 para la celda de bits.
El esquema controlador de escritura 200 incluye además un primer selector de multiplexor de escritura (primera selección de multiplexor) 208, que puede seleccionar una columna para escribir datos en la matriz de celdas de bits 202 a través de la línea de bits (bl) 204. La línea de bits (bl) 204 está acoplada a un drenaje de la primera selección de multiplexor 208. Una fuente de la primera selección de multiplexor 208 está acoplada a un primer nodo conductor de escritura (wd), que está acoplado a una salida de un primer circuito conductor 210. El primer circuito conductor 210 incluye un transistor PMOS y un transistor NMOS. Una fuente del transistor PMOS está acoplada a un voltaje de suministro positivo (Vdd), y un drenaje del transistor PMOS está acoplado al primer nodo conductor de escritura (wd). Un drenaje del transistor NMOS se acopla al primer nodo conductor de escritura (wd) y una fuente del transistor NMOS se acopla a un nodo terrestre. Además, una puerta del transistor PMOS y una puerta del transistor NMOS están acopladas a un primer nodo de entrada (gdin).
El esquema conductor de escritura 200 incluye además un segundo selector de multiplexor de escritura (segunda selección de multiplexor) 212, que puede seleccionar una columna para escribir datos en la matriz de celdas de bits 202 a través de la línea de bits inversa (blb) 206. La línea de bits inversa (blb) 206 está acoplada a un drenaje de la segunda selección de multiplexor 212. Una fuente de la segunda selección de multiplexor 212 está acoplada a un segundo nodo conductor de escritura (wd), que está acoplado a una salida de un segundo circuito conductor 214. El segundo circuito conductor 214 incluye un transistor PMOS y un transistor NMOS. Una fuente del transistor PMOS está acoplada al voltaje de suministro positivo (Vdd), y un drenaje del transistor PMOS está acoplado al segundo nodo conductor de escritura (wd_n). Un drenaje del transistor NMOS se acopla al segundo nodo conductor de escritura (wd_n) y una fuente del transistor NMOS se acopla al nodo terrestre. Además, una puerta del transistor PMOS y una puerta del transistor NMOS están acopladas a un segundo nodo de entrada (gdin_n).
Tabla 1
Figure imgf000007_0001
La Tabla 1 proporciona valores de ejemplo para escribir una entrada de datos (Din) en una celda de bits de SRAM. En referencia a la figura 2, se puede facilitar una acción de subida/bajada a través del transistor PMOS y el transistor NMOS del primer circuito conductor 210, y el transistor PMOS y el transistor NMOS del segundo circuito conductor 214. En referencia a la figura 2 y Tabla 1, cuando no se realiza ningún enmascaramiento de bits (wbt_n = 0), se puede escribir una entrada de datos (Din) de 1 en la celda de bits a través de la línea de bits (bl) 204 proporcionando un valor de voltaje de 0 en el primer nodo de entrada (gdin) para poner el transistor PMOS (del primer circuito conductor 210) en un estado de baja resistencia y el transistor NMOS (del primer circuito conductor 210) en un estado de alta resistencia. Al hacerlo, efectivamente, el primer nodo conductor de escritura (wd) sube a un nivel de voltaje alto, lo que hace que se escriba una entrada de datos (Din) de 1 en la celda de bits a través de la línea de bits (bl) 204. La entrada de datos (Din) de 1 también se puede escribir en la celda de bits a través de la línea de bits inversa (blb) 206 proporcionando un valor de voltaje de 1 en el segundo nodo de entrada (gdin_n) para poner el transistor PMOS (del segundo circuito conductor 214) en un estado de alta resistencia y el transistor NMOS (del segundo circuito conductor 214) en un estado de baja resistencia. Al hacerlo, efectivamente, el segundo nodo conductor de escritura (wd_n) baja a un nivel de voltaje bajo, lo que hace que se escriba una entrada de datos (Din) de 1 en la celda de bits a través de la línea de bits inversa (bl) 206.
Además, cuando no se realiza ningún enmascaramiento de bits (wbt_n = 0), se puede escribir una entrada de datos (Din) de 0 en la celda de bits a través de la línea de bits (bl) 204 proporcionando un valor de voltaje de 1 en el primer nodo de entrada (gdin) para poner el transistor PMOS (del primer circuito conductor 210) en un estado de alta resistencia y el transistor NMOs (del primer circuito conductor 210) en un estado de baja resistencia. Al hacerlo, efectivamente, el primer nodo conductor de escritura (wd) baja a un nivel de voltaje bajo, lo que hace que se escriba una entrada de datos (Din) de 0 en la celda de bits a través de la línea de bits (bl) 204. La entrada de datos (Din) de 0 también se puede escribir en la celda de bits a través de la línea de bits inversa (blb) 206 proporcionando un valor de voltaje de 0 en el segundo nodo de entrada (gdin_n) para poner el transistor PMOS (del segundo circuito conductor 214) en un estado de baja resistencia y el transistor NMOS (del segundo circuito conductor 214) en un estado de alta resistencia. Al hacerlo, efectivamente, el segundo nodo conductor de escritura (wd_n) sube a un nivel de voltaje alto, lo que hace que se escriba una entrada de datos (Din) de 0 en la celda de bits a través de la línea de bits inversa (bl) 206.
Además, en referencia a la figura 2 y la Tabla 1, cuando se realiza el enmascaramiento de bits (wbt_n = 1), la celda de bits puede enmascararse para una entrada de datos (Din) de 1 proporcionando un valor de voltaje de 0 en el primer nodo de entrada (gdin) para subir el primer nodo conductor de escritura (wd) hasta un nivel de voltaje alto y proporcionando un valor de voltaje de 0 en el segundo nodo de entrada (gdin_n) para subir el segundo nodo conductor de escritura (wd_n) hasta un nivel de voltaje alto. Además, cuando se realiza el enmascaramiento de bits (wbt_n = 1), la celda de bits puede enmascararse para una entrada de datos (Din) de 0 proporcionando un valor de voltaje de 0 en el primer nodo de entrada (gdin) para subir el primer nodo conductor de escritura (wd) hasta un nivel de voltaje alto y proporcionando un valor de voltaje de 0 en el segundo nodo de entrada (gdin_n) para subir el segundo nodo conductor de escritura (wd_n) hasta un nivel de voltaje alto.
En particular, durante el enmascaramiento de bits (wbt_n = 1), tanto el primer nodo conductor de escritura (wd) como el segundo nodo conductor de escritura (wd_n) se llevan al nivel de alto voltaje debido a que el primer nodo de entrada (gdin) y el segundo nodo de entrada (gdin_n) equivalen a 0. Esto aumenta la tensión en la celda de bits, lo que reduce significativamente un margen de perturbación de acceso (ADM) o un margen de ruido estático (SNM) en la celda de bits, lo que puede resultar en un cambio de bit no intencional. Por consiguiente, ciertos diseños de celdas de bits (por ejemplo, diseños de celdas de bits de 7 nm) que implementan el esquema conductor de escritura 200 pueden experimentar una alta tasa de fallas, ya que pueden ser propensos a reducir ADM/SNM.
La figura 3 ilustra un esquema conductor de escritura 300 de ejemplo para una celda de bits de memoria estática de acceso aleatorio (SRAM). El esquema conductor de escritura 300 puede denominarse esquema conductor de escritura flotante.
El esquema conductor de escritura 300 incluye una matriz de celdas de bits de SRAM 302 similar a la matriz de celdas de bits de SRAM 202 de la figura 2 descrito anteriormente. Cada celda de bits en la matriz de celdas de bits 302 de SRAM está acoplada a una línea de bits (bl) 304 y una línea de bits inversa (o barra de líneas de bits (blb)) 306. Durante una operación de escritura, los datos que se van a escribir en una celda de bits en la matriz de celdas de bits de SRAM 302 se colocan en la línea de bits (bl) 304 y/o la línea de bits inversa (blb) 306 para la celda de bits.
El esquema conductor de escritura 300 incluye además un primer selector de multiplexor de escritura (primera selección de multiplexor) 308, que puede seleccionar una columna para escribir datos en la matriz de celdas de bits 302 a través de la línea de bits (bl) 304. La línea de bits (bl) 304 está acoplada a un drenaje de la primera selección de multiplexor 308. Una fuente de la primera selección de multiplexor 308 está acoplada a un primer nodo conductor de escritura (wd), que está acoplado a una salida de un primer circuito conductor 310. El primer circuito conductor 310 incluye dos transistores NMOS (por ejemplo, un primer transistor NMOS y un segundo transistor NMOS). Un drenaje del primer transistor NMOS se acopla a un voltaje de suministro positivo (Vdd) y una fuente del primer transistor NMOS se acopla al primer nodo conductor de escritura (wd). Un drenaje del segundo transistor NMOS se acopla al primer nodo conductor de escritura (wd) y una fuente del segundo transistor NMOS se acopla a un nodo terrestre. Además, una puerta del primer transistor NMOS se acopla a un segundo nodo de entrada (gdin_n) y una puerta del segundo transistor NMOS se acopla a un primer nodo de entrada (gdin).
El esquema conductor de escritura 300 incluye además un segundo selector de multiplexor de escritura (segunda selección de multiplexor) 312, que puede seleccionar una columna para escribir datos en la matriz de celdas de bits 302 a través de la línea de bits inversa (blb) 306. La línea de bits inversa (blb) 306 está acoplada a un drenaje de la segunda selección de multiplexor 312. Una fuente de la segunda selección de multiplexor 312 está acoplada a un segundo nodo conductor de escritura (wd), que está acoplado a una salida de un segundo circuito conductor 314. El segundo circuito conductor 314 incluye dos transistores NMOS (por ejemplo, un tercer transistor NMOS y un cuarto transistor NMOS). Un drenaje del tercer transistor NMOS se acopla al voltaje de suministro positivo (Vdd) y una fuente del tercer transistor NMOS se acopla al segundo nodo conductor de escritura (wd_n). Un drenaje del cuarto transistor NMOS se acopla al segundo nodo conductor de escritura (wd_n) y una fuente del cuarto transistor NMOS se acopla al nodo terrestre. Además, una puerta del tercer transistor NMOS se acopla al primer nodo de entrada (gdin) y una puerta del cuarto transistor NMOS se acopla al segundo nodo de entrada (gdin_n).
En referencia a la figura 3, se puede facilitar una acción de subida/bajada a través del transistor NMOS y el segundo transistor NMOS del primer circuito conductor 310, y el tercer transistor NMOS y el cuarto transistor NMOS del segundo circuito conductor 314. En referencia a la figura 3 y Tabla 1, cuando no se realiza ningún enmascaramiento de bits (wbt_n = 0), se puede escribir una entrada de datos (Din) de 1 en la celda de bits a través de la línea de bits (bl) 304 proporcionando un valor de voltaje de 1 en el segundo nodo de entrada (gdin_n) para poner el primer transistor NMOS (del primer circuito conductor 310) en un estado de baja resistencia y proporcionar un valor de voltaje de 0 en el primer nodo de entrada (gdin) para poner el segundo transistor NMOS (del primer circuito conductor 310) en un estado de alta resistencia. Al hacerlo, efectivamente, el primer nodo conductor de escritura (wd) sube a un nivel de voltaje alto, lo que hace que se escriba una entrada de datos (Din) de 1 en la celda de bits a través de la línea de bits (bl) 304. En particular, proporcionar el valor de voltaje de 0 en el primer nodo de entrada (gdin) también pone el tercer transistor NMOS (del segundo circuito conductor 314) en un estado de alta resistencia y proporcionar el valor de voltaje de 1 en el segundo nodo de entrada (gdin_n) pone el cuarto transistor NMOS (del segundo circuito conductor 314) en un estado de baja resistencia. Al hacerlo, efectivamente, el segundo nodo conductor de escritura (wd_n) baja a un nivel de voltaje bajo, lo que hace que se escriba una entrada de datos (Din) de 1 en la celda de bits a través de la línea de bits inversa (blb) 306.
Además, cuando no se realiza ningún enmascaramiento de bits (wbt_n = 0), se puede escribir una entrada de datos (Din) de 0 en la celda de bits a través de la línea de bits (bl) 304 proporcionando un valor de voltaje de 0 en el segundo nodo de entrada (gdin_n) para poner el primer transistor NMOS (del primer circuito conductor 310) en un estado de alta resistencia y proporcionar un valor de voltaje de 1 en el primer nodo de entrada (gdin) para poner el segundo transistor NMOS (del primer circuito conductor 310) en un estado de baja resistencia. Al hacerlo, efectivamente, el primer nodo conductor de escritura (wd) baja a un nivel de voltaje bajo, lo que hace que se escriba una entrada de datos (Din) de 0 en la celda de bits a través de la línea de bits (bl) 304. En particular, proporcionar el valor de voltaje de 1 en el primer nodo de entrada (gdin) también pone el tercer transistor NMOS (del segundo circuito conductor 314) en un estado de baja resistencia y proporcionar un valor de voltaje de 0 en el segundo nodo de entrada (gdin_n) también pone el cuarto transistor nMOs (del segundo circuito conductor 314) en un estado de alta resistencia. Al hacerlo, efectivamente, el segundo nodo conductor de escritura (wd_n) sube a un nivel de voltaje alto, lo que hace que se escriba una entrada de datos (Din) de 0 en la celda de bits a través de la línea de bits inversa (blb) 306.
Además, en referencia a la figura 3 y la Tabla 1, cuando se realiza el enmascaramiento de bits (wbt_n = 1), la celda de bits puede enmascararse para una entrada de datos (Din) de 0 o 1 proporcionando un valor de voltaje de 0 en el primer nodo de entrada (gdin) y un valor de voltaje de 0 en el segundo nodo de entrada (gdin_n). Esto pone el primer transistor NMOS y el segundo transistor NMOS del primer circuito conductor 310 en un estado de alta resistencia, lo que hace que el primer nodo conductor de escritura (wd) flote (por ejemplo, en 0 V). En esta divulgación, el término "flotar" puede referirse a un estado de un nodo que no está fijo a un voltaje particular. De manera similar, cuando el primer nodo de entrada (gdin) y el segundo nodo de entrada (gdin_n) tienen un valor de voltaje de 0, el tercer transistor NMOS y el cuarto transistor NMOS del segundo circuito conductor 314 se ponen en un estado de alta resistencia, lo que hace que el segundo nodo conductor de escritura (wd_n) flote (por ejemplo, en Vdd).
En un aspecto, cuando el enmascaramiento de bits se realiza según el esquema conductor de escritura 300, la celda de bits puede no experimentar tensión, aumentando así la reducción de ADM/SNM. Sin embargo, cuando la primera selección de multiplexor 308 se activa para realizar una operación de escritura, la carga se comparte entre la línea de bits (bl) 304 y el primer nodo conductor de escritura (wd). De manera similar, cuando la segunda selección de multiplexor 312 se activa para realizar una operación de escritura, la carga se comparte entre la línea de bits inversa (blb) 306 y el segundo nodo conductor de escritura (wd_n). Por ejemplo, como se muestra en la figura 3, la línea de bits (bl) 304 que tiene una capacitancia de 1fF puede compartir carga con el primer nodo conductor de escritura (wd) que tiene una capacitancia de 6,5 fF, y la línea de bits inversa (blb) 306 que tiene una capacitancia de 1 fF puede compartir la carga con el segundo nodo conductor de escritura (wd_n) que tiene una capacitancia de 6,5 fF.
En un aspecto, si la capacitancia del primer nodo conductor de escritura (wd)/segundo nodo conductor de escritura (wd_n) es mucho mayor que la capacitancia de la línea de bits (bl) 304/línea de bits inversa (blb) 306, luego el voltaje de la línea de bits (bl) 304/línea de bits inversa (blb) 306 puede reducirse por debajo del nivel de voltaje requerido para la operación de escritura, lo que puede causar escrituras espurias y aleatorias en la celda de bits. En otras palabras, cuando la capacitancia de la línea de bits/línea de bits inversa es mucho menor que la capacitancia wd/wd_n, pueden ocurrir operaciones de escritura espuria debido a la carga compartida. Ese problema puede ser más pronunciado para las celdas de bits de alta corriente y agravarse aún más para los diseños de dos bancos en los que un conductor de escritura se comparte entre los bancos y, por lo tanto, tiene una capacitancia muy alta.
La figura 4 ilustra un esquema conductor de escritura 400 de ejemplo para una celda de bits de memoria estática de acceso aleatorio (SRAM). El esquema conductor de escritura 400 puede denominarse esquema conductor de escritura precargado para una celda de bits enmascarada.
El esquema conductor de escritura 400 incluye una matriz de celdas de bits de SRAM 402 similar a la matriz de celdas de bits de SRAM 202 de la figura 2 descrito anteriormente. Cada celda de bits en la matriz de celdas de bits 402 de SRAM está acoplada a una línea de bits (bl) 404 y una línea de bits inversa (o barra de líneas de bits (blb)) 406. Durante una operación de escritura, los datos que se van a escribir en una celda de bits en la matriz de celdas de bits de SRAM 402 se colocan en la línea de bits (bl) 404 y/o la línea de bits inversa (blb) 406 para la celda de bits.
El esquema conductor de escritura 400 incluye además un primer selector de multiplexor de escritura (primera selección de multiplexor) 408, que puede seleccionar una columna para escribir datos en la matriz de celdas de bits 402 a través de la línea de bits (bl) 404. La línea de bits (bl) 404 está acoplada a un drenaje de la primera selección de multiplexor 408. Una fuente de la primera selección de multiplexor 408 está acoplada a un primer nodo conductor de escritura (wd), que está acoplado a una salida de un primer circuito conductor 410. El primer circuito conductor 410 incluye un transistor PMOS y un transistor NMOS. Un drenaje del transistor PMOS está acoplado al primer nodo conductor de escritura (wd) y una fuente del transistor PMOS está acoplada a un primer nodo conductor de escritura intermedio (int_wd), que está acoplado a una salida de un primer circuito de precarga 416. Un drenaje del transistor NMOS se acopla al primer nodo conductor de escritura (wd) y una fuente del transistor NMOS se acopla a un nodo terrestre. Además, una puerta del transistor PMOS y una puerta del transistor NMOS están acopladas a un primer nodo de entrada (gdin).
El primer circuito 416 de precarga puede incluir dos transistores PMOS. Una fuente de cada transistor PMOS está acoplada a un voltaje de suministro positivo (Vdd) y un drenaje de cada transistor PMOS está acoplado al primer nodo conductor de escritura intermedio (int_wd). Una puerta de un transistor PMOS (del primer circuito de precarga 416) está acoplada a una línea de señal de enmascaramiento de escritura (wbt_n) y una puerta de otro transistor PMOS (del primer circuito de precarga 416) está acoplada a un reloj de bits (bclk).
El esquema conductor de escritura 400 incluye además un segundo selector de multiplexor de escritura (segunda selección de multiplexor) 412, que puede seleccionar una columna para escribir datos en la matriz de celdas de bits 402 a través de la línea de bits inversa (blb) 406. La línea de bits inversa (blb) 406 está acoplada a un drenaje de la segunda selección de multiplexor 412. Una fuente de la segunda selección de multiplexor 412 está acoplada a un segundo nodo conductor de escritura (wd), que está acoplado a una salida de un segundo circuito conductor 414. El segundo circuito conductor 414 incluye un transistor PMOS y un transistor NMOS. Un drenaje del transistor PMOS está acoplado al segundo nodo conductor de escritura (wd_n) y una fuente del transistor PMOS está acoplada al segundo nodo conductor de escritura intermedio (int_wd_n), que está acoplado a una salida de un segundo circuito de precarga 418. Un drenaje del transistor NMOS se acopla al segundo nodo conductor de escritura (wd_n) y una fuente del transistor NMOS se acopla al nodo terrestre. Además, una puerta del transistor PMOS y una puerta del transistor NMOS están acopladas a un segundo nodo de entrada (gdin_n).
El segundo circuito 418 de precarga puede incluir dos transistores PMOS. Una fuente de cada transistor PMOS está acoplada al voltaje de suministro positivo (Vdd) y un drenaje de cada transistor PMOS está acoplado al segundo nodo conductor de escritura intermedio (int_wd_n). Una puerta de un transistor PMOS (del segundo circuito de precarga 418) está acoplada a la línea de señal de enmascaramiento de escritura (wbt_n) y una puerta de otro transistor PMOS (del segundo circuito de precarga 418) está acoplada al reloj de bits (bclk).
En un aspecto, el esquema conductor de escritura 400 reduce la tensión en la celda de bits, lo que mejora significativamente ADM/SNM, y minimiza la posibilidad de que ocurra una operación de escritura espuria/accidental en la celda de bits. El esquema conductor de escritura 400 logra esto precargando el primer nodo conductor de escritura (wd) y el segundo nodo conductor de escritura (wd_n) a un nivel de alto voltaje antes de un ciclo de escritura (por ejemplo, durante el enmascaramiento de bits) y cortando la subida al nivel de alto voltaje durante un ciclo de escritura activo.
En un aspecto, durante un ciclo de escritura activo cuando no se realiza el enmascaramiento de bits (es decir, wbt_n = 0), un transistor PMOS en el primer circuito de precarga 416 controlado por wbt_n se pondrá en un estado de baja resistencia, provocando que el primer nodo conductor de escritura intermedio (int_wd) se mantenga en un nivel de alto voltaje. Cuando el primer nodo conductor de escritura intermedio (int_wd) se mantiene alto, el primer nodo conductor de escritura (wd) se conducirá a un nivel de voltaje alto/bajo dependiendo del valor de voltaje del primer nodo de entrada (gdin). Por ejemplo, si gdin es 0, entonces el transistor PMOS (del primer circuito conductor 410) se pondrá en un estado de baja resistencia y el transistor NMOS (del primer circuito conductor 410) se pondrá en un estado de alta resistencia; por lo tanto, provoca que el primer nodo conductor de escritura (wd) y, en consecuencia, la línea de bits 404, se mantengan en un nivel de alto voltaje. Si gdin es 1, entonces el transistor PMOS (del primer circuito conductor 410) se pondrá en un estado de alta resistencia y el transistor NMOS (del primer circuito conductor 410) se pondrá en un estado de baja resistencia, por lo tanto, provoca que el primer nodo conductor de escritura (wd) y, en consecuencia, la línea de bits 404, se mantengan en un nivel de bajo voltaje.
De manera similar, durante un ciclo de escritura activo cuando no se realiza el enmascaramiento de bits (es decir, wbt_n = 0), un transistor PMOS en el segundo circuito de precarga 418 controlado por wbt_n se pondrá en un estado de baja resistencia, provocando que el segundo nodo conductor de escritura intermedio (int_wd_n) se mantenga en un nivel de alto voltaje. Cuando el segundo nodo conductor de escritura intermedio (int_wd_) se mantiene alto, el segundo nodo conductor de escritura (wd_n) se conducirá a un nivel de voltaje alto/bajo dependiendo del valor de voltaje del segundo nodo de entrada (gdin_n). Por ejemplo, si gdin_n es 0, entonces el transistor PMOS (del segundo circuito conductor 414) se pondrá en un estado de baja resistencia y el transistor NMOS (del segundo circuito conductor 414) se pondrá en un estado de alta resistencia; por lo tanto, provoca que el segundo nodo conductor de escritura (wd_n) y, en consecuencia, la línea de bits inversa 406, se mantengan en un nivel de alto voltaje. Si gdin_ es 1, entonces el transistor PMOS (del segundo circuito conductor 414) se pondrá en un estado de alta resistencia y el transistor NMOS (del segundo circuito conductor 414) se pondrá en un estado de baja resistencia; por lo tanto, provoca que el segundo nodo conductor de escritura (wd_n) y, en consecuencia, la línea de bits inversa 406, se mantengan en un nivel de bajo voltaje.
En un aspecto, cuando se realiza un enmascaramiento de bits (es decir, wbt_n = 1, gdin = 0 y gdin_n = 0), un transistor PMOS en el primer circuito de precarga 416 controlado por wbt_n se pondrá en un estado de alta resistencia (estado APAGADO). En consecuencia, la línea de señal de enmascaramiento de escritura (wbt_n) no controlará el voltaje del primer nodo conductor de escritura (wd) que se impulsará. Más bien, el primer nodo conductor de escritura (wd) se cargará previamente a través del reloj de bits (bclk). Es decir, durante un ciclo de escritura, el reloj de bits (por ejemplo, bclk = 0) proporcionará una señal que facilitará un nivel de alto voltaje para precargar el primer nodo conductor de escritura intermedio (int_wd) y, en consecuencia, el primer nodo conductor de escritura (wd) ya que gdin = 0. Como tal, cuando una columna en la matriz de celda de bits 402 está enmascarada, el primer nodo conductor de escritura (wd) se carga previamente a través del reloj de bits (bclk). En consecuencia, el primer nodo conductor de escritura precargado (wd) flotará alto (pero no se mantendrá alto) al comienzo del siguiente ciclo de escritura.
De manera similar, cuando se realiza un enmascaramiento de bits (es decir, wbt_n = 1, gdin = 0 y gdin_n = 0), un transistor PMOS en el segundo circuito de precarga 418 controlado por wbt_n se pondrá en un estado de alta resistencia (estado APAGADO). En consecuencia, la línea de señal de enmascaramiento de escritura (wbt_n) no controlará el voltaje del segundo nodo conductor de escritura (wd_n) que se impulsará. Más bien, el segundo nodo conductor de escritura (wd_n) se cargará previamente a través del reloj de bits (bclk). Es decir, durante un ciclo de escritura, el reloj de bits (por ejemplo, bclk = 0) proporcionará una señal que facilitará un nivel de alto voltaje para precargar el segundo nodo conductor de escritura intermedio (int_wd_n) y, en consecuencia, el segundo nodo conductor de escritura (wd_n) ya que gdin_n = 0. Como tal, cuando una columna en la matriz de celda de bits 402 está enmascarada, el segundo nodo conductor de escritura (wd_n) se carga previamente a través del reloj de bits (bclk). En consecuencia, el segundo nodo conductor de escritura precargado (wd_n) flotará alto (pero no se mantendrá alto) al comienzo del siguiente ciclo de escritura. En consecuencia, en un aspecto de la divulgación, el reloj de bits (bclk) puede controlar (por ejemplo, el reloj) el primer circuito de precarga 416 (o el segundo circuito de precarga 418) para operar con el primer circuito conductor 410 (o el segundo circuito conductor 414) para precargar el primer nodo conductor de escritura wd (o el segundo nodo conductor de escritura wd_n) y hacer flotar el primer nodo conductor de escritura wd (o el segundo nodo conductor de escritura wd_n).
En un aspecto, el primer nodo conductor de escritura (wd) y el segundo nodo conductor de escritura (wd_n) del esquema conductor de escritura 400 flotan alto para no generar tensión en una celda de bits dentro de la matriz de celdas de bits 402. En consecuencia, debido a que se reduce la tensión en la celda de bits, se mejora ADM/SNM.
En un aspecto, el primer nodo conductor de escritura (wd) y el segundo nodo conductor de escritura (wd_n) se cargan previamente a través del reloj de bits (bclk) para asegurar que el primer nodo conductor de escritura (wd) y el segundo nodo conductor de escritura (wd_n) y, en consecuencia, la línea de bits (bl) 404 y la línea de bits inversa (blb) 406 tendrán un nivel de alto voltaje al comienzo de un ciclo de escritura. Esto hace que no se comparta la carga entre la línea de bits (bl) 404/línea de bits inversa (blb) 406 y el primer nodo conductor de escritura (wd)/segundo nodo conductor de escritura (wd_n), de manera que se eliminan los problemas de escritura espuria.
En otro aspecto, se mantiene un voltaje adecuado en el primer nodo conductor de escritura (wd) y el segundo nodo conductor de escritura (wd_n) en el momento en que la línea de bits (bl) 404 y/o la línea de bits inversa (blb) 406 se encienden de modo que se eviten los problemas asociados con el intercambio de carga entre la línea de bits (bl) 404/línea de bits inversa (blb) 406 y el primer nodo conductor de escritura (wd)/segundo nodo conductor de escritura (wd_n). Por ejemplo, en el esquema conductor de escritura 400, el nivel de voltaje de la línea de bits/línea de bits inversa se mantiene a un nivel por encima del nivel de voltaje requerido para realizar una operación de escritura, minimizando así las escrituras espurias o accidentales incluso con un fuerte intercambio de carga. La diferencia entre las dos señales puede gestionarse mediante un esquema de seguimiento de precarga de línea de bits que proporciona un tiempo de precarga óptimo.
En un aspecto de la divulgación, un circuito conductor de escritura 400 para una memoria estática de acceso aleatorio (SRAM), incluye una matriz de celda de bits 402, una línea de bits (bl) 404 acoplada a la matriz de celda de bits 402, y un primer circuito conductor 410 configurado para impulsar la línea de bits (bl) 404 a través de un primer nodo conductor de escritura (wd) para escribir datos en una celda de bits de la matriz de celdas de bits 402 durante un ciclo de escritura. El circuito conductor de escritura 400 incluye además un primer circuito de precarga 416 configurado para controlar u operar con el primer circuito conductor 410 para impulsar el primer nodo conductor de escritura (wd) a un nivel de voltaje alto o bajo durante el ciclo de escritura cuando una operación de enmascaramiento de bits está deshabilitada. El primer circuito de precarga 416 está configurado además para controlar u operar con el primer circuito conductor 410 para precargar el primer nodo conductor de escritura (wd) al nivel de alto voltaje cuando la operación de enmascaramiento de bits está habilitada. El primer nodo conductor de escritura precargado (wd) flota en el nivel de alto voltaje durante el ciclo de escritura para la operación de enmascaramiento de bits. Como tal, un nivel de voltaje umbral para escribir los datos en la celda de bits se mantiene en la línea de bits (bl) 404 al comienzo del ciclo de escritura cuando el primer nodo conductor de escritura precargado (wd) flota en el nivel de alto voltaje.
En un aspecto, el primer circuito de precarga 416 está acoplado a una entrada de reloj de bits (bclk) y una entrada de línea de señal de enmascaramiento (wbt_n), en donde la entrada de línea de señal de enmascaramiento (wbt_n) habilita o deshabilita la operación de enmascaramiento de bits. El primer circuito conductor 410 se controla para impulsar el primer nodo conductor de escritura (wd) al nivel de alto voltaje o al nivel de bajo voltaje en base a la entrada de la línea de señal de enmascaramiento (wbt_n) cuando la entrada de la línea de señal de enmascaramiento (wbt_n) deshabilita la operación de enmascaramiento de bits. El primer circuito conductor 410 se controla para precargar el primer nodo conductor de escritura (wd) al nivel de alto voltaje en base a la entrada del reloj de bits (por ejemplo, bclk = 0) cuando la entrada de la línea de señal de enmascaramiento (wbt_n) habilita la operación de enmascaramiento de bits.
En un aspecto adicional, el primer circuito conductor 410 está acoplado a una primera entrada de datos (gdin). El primer circuito conductor 410 está controlado para impulsar el primer nodo conductor de escritura (wd) al nivel de alto voltaje o al nivel de bajo voltaje basándose además en un valor de voltaje en la primera entrada de datos (gdin).
En un aspecto de la divulgación, el circuito conductor de escritura 400 incluye además una línea de bits inversa (blb) 406 acoplada a la matriz de celdas de bits 402, un segundo circuito conductor 414 configurado para impulsar la línea de bits inversa (blb) 406 a través de un segundo nodo conductor de escritura (wd_n) para escribir los datos en la celda de bits durante el ciclo de escritura, y un segundo circuito de precarga 418. El segundo circuito de precarga 418 está configurado para controlar u operar con el segundo circuito conductor 414 para impulsar el segundo nodo conductor de escritura (wd_n) al nivel de alto voltaje o al nivel de bajo voltaje durante el ciclo de escritura cuando la operación de enmascaramiento de bits está deshabilitada. El segundo circuito de precarga 418 está configurado además para controlar u operar con el segundo circuito conductor 414 para precargar el segundo nodo conductor de escritura (wd_n) al nivel de alto voltaje cuando la operación de enmascaramiento de bits está habilitada, en donde el segundo nodo conductor de escritura precargado (wd_n) flota en el nivel de alto voltaje durante el ciclo de escritura para la operación de enmascaramiento de bits. Como tal, el nivel de voltaje umbral para escribir los datos en la celda de bits se mantiene en la línea de bits inversa (blb) 406 al comienzo del ciclo de escritura cuando el segundo nodo conductor de escritura precargado (wd_n) flota en el nivel de alto voltaje.
En un aspecto, el segundo circuito de precarga 418 está acoplado a la entrada de reloj de bits (bclk) y la entrada de la línea de señal de enmascaramiento (wbt_n). El segundo circuito conductor 414 se controla para impulsar el segundo nodo conductor de escritura (wd_n) al nivel de alto voltaje o al nivel de bajo voltaje en base a la entrada de la línea de señal de enmascaramiento (wbt_n) cuando la entrada de la línea de señal de enmascaramiento (wbt_n) deshabilita la operación de enmascaramiento de bits. El segundo circuito conductor 414 se controla para precargar el segundo nodo conductor de escritura (wd_n) al nivel de alto voltaje en base a la entrada del reloj de bits (por ejemplo, bclk = 0) cuando la entrada de la línea de señal de enmascaramiento (wbt_n) habilita la operación de enmascaramiento de bits.
En un aspecto adicional, el segundo circuito conductor 414 está acoplado a una segunda entrada de datos (gdin_n). El segundo circuito conductor 414 está controlado para impulsar el segundo nodo conductor de escritura (wd_n) al nivel de alto voltaje o al nivel de bajo voltaje basándose además en un valor de voltaje en la segunda entrada de datos (gdin_n).
En un aspecto de la divulgación, el segundo circuito conductor 414 puede impulsar la línea de bits inversa (blb) 406 a través del segundo nodo conductor de escritura (wd_n) o el primer circuito conductor 410 puede impulsar la línea de bits (bl) 404 a través del primer nodo conductor de escritura (wd). Por ejemplo, el segundo circuito conductor 414 puede impulsar una corriente para que fluya entre el segundo nodo conductor de escritura (wd_n) y la línea de bits inversa (blb) 406 y el primer circuito conductor 410 puede impulsar una corriente para que fluya entre el primer nodo conductor de escritura (wd) y la línea de bits (bl) 404.
La figura 5 es un diagrama 500 que ilustra formas de onda correspondientes a los tiempos de varias señales en el circuito conductor de escritura 400. Como se muestra, el diagrama 500 está dividido en cuatro secciones 502, 504, 506 y 508, cada sección representa una relación de voltaje en el tiempo (forma de onda) de un tipo específico de señal. Por ejemplo, una primera sección 502 ilustra una forma de onda de una señal 510 de una línea de palabras (WL). Una segunda sección 504 ilustra una forma de onda de una señal 512 en un primer nodo conductor de escritura (wd). La segunda sección 504 también ilustra una forma de onda de una señal 514 en un segundo nodo conductor de escritura (wd_n).
Una tercera sección 506 ilustra una forma de onda de una señal 516 en una línea de bits (bl) 404 así como una forma de onda de una señal 518 en una línea de bits inversa (blb) 406. Una cuarta sección 508 ilustra una forma de onda de una señal 520 en un nodo q, en donde el nodo q es un nodo de celda de bits acoplado a la línea de bits bl (404). La cuarta sección 508 también ilustra una forma de onda de una señal 522 en un nodo qb, en donde el nodo qb es un nodo de celda de bits acoplado a la línea de bits inversa (blb) 406. En particular, como se muestra por el tiempo de la señal 512 (wd) con respecto a la señal 516 (bl) y el tiempo de la señal 514 (wd_n) con respecto a la señal 518 (blb), no se produce ningún intercambio de carga entre el nodo wd y el bl 404 y/o el nodo wd_n y el blb 406. En consecuencia, no se producirán operaciones de escritura espuria o accidental en la matriz de celdas de bits 402, como se muestra por los tiempos de la señal 520 (q) y la señal 522 (qb).
La figura 6 es un diagrama 600 que ilustra formas de onda correspondientes a los tiempos de varias señales en el circuito conductor de escritura 400 y su efecto sobre un margen de ruido estático (SNM). Como se muestra, el diagrama 600 está dividido en tres secciones 602, 604 y 606, cada sección representa una relación de voltaje en el tiempo (forma de onda) de un tipo específico de señal. Por ejemplo, una primera sección 602 ilustra una forma de onda de una señal 608 de una línea de palabras (WL). Una segunda sección 604 ilustra una forma de onda de una señal convencional 610 en un nodo convencional q, en donde el nodo convencional q es un nodo de celda de bits acoplado a una línea de bits de un circuito conductor de escritura convencional. La segunda sección 604 también ilustra una forma de onda de una señal 612 en un nodo q, donde el nodo q es un nodo de celda de bits acoplado a la línea de bits (bl) 404 del circuito conductor de escritura 400. Una tercera sección 606 ilustra una forma de onda de una señal 614 en un primer nodo conductor de escritura convencional (wd convencional) de un circuito conductor de escritura convencional. La tercera sección 606 también ilustra una forma de onda de una señal 616 en el primer nodo conductor de escritura (wd) del circuito conductor de escritura 400.
En un aspecto, con referencia a la segunda sección 604, se puede determinar un margen de ruido estático convencional (SNM) 618 mediante la comparación de la forma de onda de la señal convencional 610 en el nodo convencional q con un valor predeterminado 630. De manera similar, se puede determinar un margen de ruido estático (SNM) del circuito conductor de escritura 400 mediante la comparación de la forma de onda de la señal 612 en el nodo q con el valor predeterminado 630. Como se muestra en la sección 604, el circuito conductor de escritura 400 produce un SNM 620 mejorado en comparación con el SNM 618 convencional del circuito conductor de escritura convencional.
La figura 7 ilustra un ejemplo de un aparato que emplea un circuito de procesamiento que puede adaptarse según ciertos aspectos divulgados en la presente. En algunos ejemplos, el aparato 700 puede realizar una o más funciones divulgadas en la presente. Según varios aspectos de la divulgación, un elemento, o cualquier parte de un elemento, o cualquier combinación de elementos como se describe en la presente puede implementarse utilizando un circuito de procesamiento 702. El circuito de procesamiento 702 puede incluir uno o más procesadores 704 que están controlados por alguna combinación de módulos de hardware y software. Ejemplos de procesadores 704 incluyen microprocesadores, microcontroladores, procesadores de señales digitales (DSP), SoC, ASIC, matrices de puertas programables en campo (FPGA), dispositivos lógicos programables (PLD), máquinas de estado, secuenciadores, circuito lógico, circuitos de hardware discretos y demás hardware adecuado configurado para realizar las diversas funciones descritas a lo largo de esta divulgación. Uno o más procesadores 704 pueden incluir procesadores especializados que realizan funciones específicas y que pueden ser configurados, aumentados o controlados por uno de los módulos de software 716. Uno o más procesadores 704 pueden configurarse mediante una combinación de módulos de software 716 cargados durante la inicialización, y configurarse adicionalmente cargando o descargando uno o más módulos de software 716 durante la operación.
En el ejemplo ilustrado, el circuito de procesamiento 702 puede implementarse con una arquitectura de bus, representada generalmente por el bus 710. El bus 710 puede incluir cualquier número de buses y puentes interconectados dependiendo de la aplicación específica del circuito de procesamiento 702 y las limitaciones generales del diseño. El bus 710 enlaza varios circuitos que incluyen el uno o más procesadores 704 y el almacenamiento 706. El almacenamiento 706 puede incluir dispositivos de memoria y dispositivos de almacenamiento masivo, y puede denominarse en la presente medio legible por ordenador y/o medio legible por procesador. El bus 710 también puede enlazar varios circuitos tales como fuentes de temporización, temporizadores, periféricos, reguladores de voltaje y circuitos de administración de energía. Una interfaz de bus 708 puede proporcionar una interfaz entre el bus 710 y uno o más transceptores 712a, 712b. Puede proporcionarse un transceptor 712a, 712b para cada tecnología de red admitida por el circuito de procesamiento. En algunos casos, múltiples tecnologías de redes pueden compartir algunos o todos los circuitos o módulos de procesamiento que se encuentran en un transceptor 712a, 712b. Cada transceptor 712a, 712b proporciona un medio para comunicarse con varios otros aparatos a través de un medio de transmisión. En un ejemplo, se puede usar un transceptor 712a para acoplar el aparato 700 a un bus de múltiples cables. En otro ejemplo, se puede usar un transceptor 712b para conectar el aparato 700 a una red inalámbrica. Según la naturaleza del aparato 700, también se puede proporcionar una interfaz de usuario 718 (por ejemplo, teclado, pantalla, altavoz, micrófono, palanca de control) y se puede acoplar comunicativamente al bus 710 directamente o a través de la interfaz de bus 708.
Un procesador 704 puede ser responsable de administrar el bus 710 y del procesamiento general que puede incluir la ejecución de software almacenado en un medio legible por ordenador que puede incluir el almacenamiento 706. En este sentido, el circuito de procesamiento 702, incluido el procesador 704, puede usarse para implementar cualquiera de los métodos, funciones y técnicas divulgados en la presente. El almacenamiento 706 puede usarse para almacenar datos que son manipulados por el procesador 704 cuando se ejecuta el software, y el software puede configurarse para implementar cualquiera de los métodos divulgados en la presente.
Uno o más procesadores 704 en el circuito de procesamiento 702 pueden ejecutar software. Debe entenderse que el término “software” se refiere, en un sentido general, a instrucciones, conjuntos de instrucciones, código, segmentos de código, código de programa, programas, subprogramas, módulos de software, aplicaciones, aplicaciones de software, paquetes de software, rutinas, subrutinas, objetos, ejecutables, hilos de ejecución, procedimientos, funciones, algoritmos, etc., independientemente de que hagan referencia a dicho término como software, microprograma, soporte lógico personalizado, microcódigo, lenguaje de descripción de hardware o de otra manera. El software puede residir en forma legible por ordenador en el almacenamiento 706 o en un medio externo legible por ordenador. El medio y/o almacenamiento externo 706 legible por ordenador puede incluir un medio legible por ordenador no transitorio. Un medio legible por ordenador no transitorio incluye, a modo de ejemplo, un dispositivo de almacenamiento magnético (por ejemplo, disco duro, disquete, banda magnética), un disco óptico (por ejemplo, un disco compacto (CD) o un disco versátil digital (DVD)), una tarjeta inteligente, un dispositivo de memoria rápida (por ejemplo, una "unidad rápida", una tarjeta, una barra o una unidad clave), RAM, ROM, una memoria programable de solo lectura (PROM), una PROM borrable (EPROM) que incluye EEPROM, un registro, un disco extraíble y cualquier otro medio adecuado para el almacenamiento de software y/o instrucciones a las que un ordenador pueda acceder y leer. El medio y/o almacenamiento legible por ordenador 706 también puede incluir, a modo de ejemplo, una onda portadora, una línea de transmisión y cualquier otro medio adecuado para la transmisión de software y/o instrucciones a las que un ordenador pueda acceder y leer. El medio y/o almacenamiento legible por ordenador 706 pueden residir en el circuito de procesamiento 702, en el procesador 704, externo al circuito de procesamiento 702, o estar distribuidos entre múltiples entidades, incluido el circuito de procesamiento 702. El medio y/o almacenamiento legible por ordenador 706 puede estar incorporado en un producto de programa informático. A modo de ejemplo, un producto de programa informático puede incluir un medio legible por ordenador en los materiales de embalaje. Los expertos en la técnica reconocerán la mejor manera de implementar la funcionalidad descrita presentada en esta divulgación dependiendo de la aplicación particular y las restricciones de diseño generales impuestas al sistema general.
El almacenamiento 706 puede mantener el software mantenido y/u organizado en segmentos de código cargables, módulos, aplicaciones, programas, etc., que pueden denominarse en la presente módulos de software 716. Cada uno de los módulos de software 716 puede incluir instrucciones y datos que, cuando se instalan o cargan en el circuito de procesamiento 702 y son ejecutados por uno o más procesadores 704, contribuyen a una imagen de tiempo de ejecución 714 que controla el funcionamiento de uno o más procesadores 704. Cuando se ejecutan, ciertas instrucciones pueden hacer que el circuito de procesamiento 702 realice funciones según ciertos métodos, algoritmos y procesos descritos en la presente.
Algunos de los módulos de software 716 pueden cargarse durante la inicialización del circuito de procesamiento 702, y estos módulos de software 716 pueden configurar el circuito de procesamiento 702 para permitir la ejecución de las diversas funciones divulgadas en el presente. Por ejemplo, algunos módulos de software 716 pueden configurar dispositivos internos y/o circuitos lógicos 722 del procesador 704, y pueden administrar el acceso a dispositivos externos tales como el transceptor 712, la interfaz de bus 708, la interfaz de usuario 718, temporizadores, coprocesadores matemáticos, etcétera. Los módulos de software 716 pueden incluir un programa de control y/o un sistema operativo que interactúa con programas de gestión de interrupciones y controladores de dispositivos, y que controla el acceso a varios recursos proporcionados por el circuito de procesamiento 702. Los recursos pueden incluir memoria, tiempo de procesamiento, acceso al transceptor 712, la interfaz de usuario 718, etc.
Uno o más procesadores 704 del circuito de procesamiento 702 pueden ser multifuncionales, por lo que algunos de los módulos de software 716 se cargan y configuran para realizar diferentes funciones o diferentes instancias de la misma función. Uno o más procesadores 704 pueden adaptarse adicionalmente para gestionar tareas en segundo plano iniciadas en respuesta a entradas de la interfaz de usuario 718, el transceptor 712 y controladores de dispositivo, por ejemplo. Para admitir el desempeño de múltiples funciones, uno o más procesadores 704 pueden configurarse para proporcionar un entorno de múltiples tareas, mediante el cual cada una de una pluralidad de funciones se implementa como un conjunto de tareas atendidas por uno o más procesadores 704 según sea necesario o deseado. En un ejemplo, el entorno de múltiples tareas puede implementarse usando un programa de tiempo compartido 720 que pasa el control de un procesador 704 entre diferentes tareas, por lo que cada tarea devuelve el control de uno o más procesadores 704 al programa de tiempo compartido 720 al completar cualquier operación pendiente y/o en respuesta a una entrada como una interrupción. Cuando una tarea tiene el control de uno o más procesadores 704, el circuito de procesamiento se especializa efectivamente para los propósitos abordados por la función asociada con la tarea de control. El programa de tiempo compartido 720 puede incluir un sistema operativo, un bucle principal que transfiere el control por turnos, una función que asigna el control de uno o más procesadores 704 de acuerdo con una priorización de las funciones, y/o una interrupción impulsada bucle principal que responde a eventos externos proporcionando control de uno o más procesadores 704 a una función de manejo.
La figura 8 es un diagrama de flujo 800 de un método que se puede realizar en un aparato (por ejemplo, uno de un teléfono celular y un dispositivo informático móvil que incorpora una memoria estática de acceso aleatorio (SRAM)) para escribir datos en la SRAM.
En el bloque 802, el aparato puede recibir (por ejemplo, a través del primer circuito de precarga 416 y el segundo circuito de precarga 418) una entrada de reloj de bits (por ejemplo, bclk) y una entrada de la línea de señal de enmascaramiento (por ejemplo, wbt_n). La entrada de línea de señal de enmascaramiento puede habilitar o deshabilitar una operación de enmascaramiento de bits. En el bloque 804, el aparato puede detectar (por ejemplo, a través del primer circuito de precarga 416 y el segundo circuito de precarga 418) si la operación de enmascaramiento de bits está habilitada o inhabilitada basándose en un valor de voltaje de la entrada de línea de señal de enmascaramiento. En un aspecto, la entrada de la línea de señal de enmascaramiento puede controlar el primer circuito de precarga 416 o el segundo circuito de precarga 418) para operar con un circuito conductor (por ejemplo, primer circuito conductor 410 o segundo circuito conductor 414) en un caso que la operación de enmascaramiento de bits está deshabilitada. En un aspecto adicional, la entrada del reloj de bits puede controlar el primer circuito de precarga 416/segundo circuito de precarga 418 para operar con el primer circuito conductor 410/segundo conductor 414 para precargar un nodo conductor de escritura (por ejemplo, wd o wd_n) a un nivel de alto voltaje y hacer flotar el nodo conductor de escritura para la operación de enmascaramiento de bits.
En el bloque 806, el aparato puede recibir (por ejemplo, a través del primer circuito conductor 410) una primera entrada de datos (por ejemplo, gdin). En el bloque 808, el aparato puede impulsar (por ejemplo, a través del primer circuito conductor 410) un primer nodo conductor de escritura (por ejemplo, wd) a un nivel de voltaje alto o bajo para una operación de escritura. En un aspecto, el primer nodo conductor de escritura se impulsa al nivel de alto voltaje o al nivel de bajo voltaje en base a la entrada de la línea de señal de enmascaramiento cuando la entrada de línea de señal de enmascaramiento deshabilita la operación de enmascaramiento de bits. En un aspecto adicional, el primer nodo conductor de escritura se impulsa al nivel de alto voltaje o al nivel de bajo voltaje basándose además en un valor de voltaje de la primera entrada de datos.
En el bloque 810, el aparato puede impulsar (por ejemplo, a través del primer circuito conductor 410) una línea de bits (por ejemplo, bl 404) acoplada a una celda de bits de una matriz de celdas de bits (por ejemplo, matriz de celdas de bits 402) para escribir los datos en la celda de bits según el nivel de alto voltaje o el nivel de bajo voltaje en el primer nodo conductor de escritura para la operación de escritura.
En el bloque 812, el aparato puede precargar (por ejemplo, a través del primer circuito de precarga 416 y el primer circuito conductor 410) el primer nodo conductor de escritura al nivel de alto voltaje y hacer flotar el primer nodo conductor de escritura para la operación de enmascaramiento de bits. En un aspecto, el primer nodo conductor de escritura está precargado al nivel de alto voltaje en base a la entrada del reloj de bits cuando la entrada de la línea de señal de enmascaramiento habilita la operación de enmascaramiento de bits. Como tal, un nivel de voltaje umbral para escribir los datos en la celda de bits se mantiene en la línea de bits al comienzo de un ciclo de escritura cuando el primer nodo conductor de escritura flota en el nivel de alto voltaje.
En un aspecto, posterior al bloque 804, el aparato puede realizar las operaciones de los bloques 814 a 820 en paralelo con las operaciones de los bloques 806 a 812.
En el bloque 814, el aparato puede recibir (por ejemplo, a través del segundo circuito conductor 414) una segunda entrada de datos (por ejemplo, gdin_n). En el bloque 816, el aparato puede impulsar (por ejemplo, a través del segundo circuito conductor 414) un segundo nodo conductor de escritura (por ejemplo, wd_n) a un nivel de voltaje alto o bajo para la operación de escritura. En un aspecto, el segundo nodo conductor de escritura se impulsa al nivel de alto voltaje o al nivel de bajo voltaje en base a la entrada de la línea de señal de enmascaramiento (por ejemplo, wbt_n) cuando la entrada de línea de señal de enmascaramiento deshabilita la operación de enmascaramiento de bits. En un aspecto adicional, el segundo nodo conductor de escritura se impulsa al nivel de alto voltaje o al nivel de bajo voltaje basándose además en un valor de voltaje de la segunda entrada de datos.
En el bloque 818, el aparato puede impulsar una línea de bits inversa (por ejemplo, blb 406) acoplada a la celda de bits de la matriz de celdas de bits (por ejemplo, matriz de celdas de bits 402) para escribir los datos en la celda de bits según el nivel de alto voltaje alto o el nivel de bajo voltaje en el segundo nodo conductor de escritura para la operación de escritura.
En el bloque 820, el aparato puede precargar (a través del segundo circuito de precarga 418 y el segundo circuito conductor 414) el segundo nodo conductor de escritura al nivel de alto voltaje y hacer flotar el segundo nodo conductor de escritura para la operación de enmascaramiento de bits. En un aspecto, el segundo nodo conductor de escritura está precargado al nivel de alto voltaje en base a la entrada del reloj de bits (por ejemplo, bclk) cuando la entrada de la línea de señal de enmascaramiento habilita la operación de enmascaramiento de bits. Como tal, un nivel de voltaje umbral para escribir los datos en la celda de bits se mantiene en la línea de bits inversa al comienzo de un ciclo de escritura cuando el segundo nodo conductor de escritura flota en el nivel de alto voltaje.
La figura 9 es un diagrama que ilustra un ejemplo de una implementación de hardware para un aparato 900 que emplea un circuito de procesamiento 902. El aparato puede implementar un circuito puente según ciertos aspectos divulgados en la presente. El circuito de procesamiento por lo general tiene un controlador o procesador 916 que puede incluir uno o más microprocesadores, microcontroladores, procesadores de señales digitales, secuenciadores y/o máquinas de estado. El circuito de procesamiento 902 puede implementarse con una arquitectura de bus, representada generalmente por el bus 920. El bus 920 puede incluir cualquier número de buses y puentes interconectados dependiendo de la aplicación específica del circuito de procesamiento 902 y las limitaciones generales del diseño. El bus 920 enlaza varios circuitos que incluyen uno o más procesadores y/o módulos de hardware, representados por el controlador o procesador 916, los módulos o circuitos 904, 906, 908 y 910 y el medio de almacenamiento legible por procesador 918. Pueden proporcionarse uno o más circuitos de capa física y/o módulos 914 para admitir comunicaciones a través de un enlace de comunicación implementado usando un bus de múltiples cables 912 u otra estructura de comunicación. El bus 920 también puede enlazar varios otros circuitos tales como fuentes de temporización, periféricos, reguladores de voltaje y circuitos de administración de potencia, que son conocidos en la técnica y, por lo tanto, no se describirán adicionalmente.
El procesador 916 es responsable del procesamiento general, incluida la ejecución de software, código y/o instrucciones almacenadas en el medio de almacenamiento legible por procesador 918. El medio de almacenamiento legible por procesador puede incluir un medio de almacenamiento no transitorio. El software, cuando es ejecutado por el procesador 916, hace que el circuito de procesamiento 902 realice las diversas funciones descritas anteriormente (por ejemplo, las funciones descritas con respecto a la figura 8) para cualquier aparato particular. El medio de almacenamiento legible por el procesador puede usarse para almacenar datos que son manipulados por el procesador 916 cuando se ejecuta el software. El circuito de procesamiento 902 incluye además al menos uno de los módulos 904, 906, 908 y 910. Los módulos 904, 906, 908 y 910 pueden ser módulos de software que se ejecutan en el procesador 916, residentes/almacenados en el medio de almacenamiento legible por procesador 918, uno o más módulos de hardware acoplados al procesador 916, o alguna combinación de los mismos. Los módulos 904, 906, 908 y 910 pueden incluir instrucciones de microcontrolador, parámetros de configuración de la máquina de estado o alguna combinación de los mismos.
En una configuración, el aparato 900 incluye módulos y/o circuitos 904 configurados para recibir una primera entrada de datos, una segunda entrada de datos, una entrada de reloj de bits y/o una entrada de línea de señal de enmascaramiento, módulos y/o circuitos 906 configurados para detectar si una operación de enmascaramiento de bits está habilitada o deshabilitada, módulos y/o circuitos 908 configurados para impulsar un nodo conductor de escritura/celda de bits a un nivel de alto voltaje o un nivel de bajo voltaje para una operación de escritura, y módulos y/o circuitos 910 configurados para precargar un nodo conductor de escritura/celda de bits a un nivel de alto voltaje y hacer flotar el nodo conductor de escritura para una operación de enmascaramiento de bits.
Se entiende que el orden específico o la jerarquía de pasos en los procesos divulgados es una ilustración de enfoques ejemplares. En base a las preferencias de diseño, se entiende que el orden específico o la jerarquía de pasos en los procesos pueden reorganizarse. Además, algunos pasos pueden combinarse u omitirse. Las reivindicaciones adjuntas del método presentan elementos de los distintos pasos en un orden de muestra, y no pretenden limitarse al orden o jerarquía específicos presentados.
La descripción anterior se proporciona para permitir que cualquier persona experta en la técnica practique los diversos aspectos descritos en la presente. Varias modificaciones de estos aspectos resultarán fácilmente evidentes para los expertos en la técnica, y los principios genéricos definidos en la presente pueden aplicarse a otros aspectos. Por lo tanto, las reivindicaciones no están destinadas a limitarse a los aspectos que se muestran en la presente, sino que se les debe conceder el alcance completo según su lenguaje.

Claims (1)

  1. REIVINDICACIONES
    1. Un aparato, que comprende:
    una memoria estática de acceso aleatorio, SRAM, en donde la SRAM incluye:
    una matriz de celdas de bits (402);
    una línea de bits y una línea de bits inversa acopladas a una celda de bits de la matriz de celdas de bits (402);
    un primer circuito de activación (410) configurado para impulsar la línea de bits a través de un primer nodo conductor de escritura para escribir datos en la celda de bits de la matriz de celdas de bits (402) para una operación de escritura; y
    un segundo circuito conductor (414) configurado para impulsar la línea de bits inversa a través de un segundo nodo conductor de escritura para escribir los datos en la celda de bits para la operación de escritura;
    un primer circuito de precarga (416) configurado para operar con el primer circuito conductor (410) para:
    impulsar el primer nodo conductor de escritura a un nivel de voltaje alto o bajo para la operación de escritura, precargar el primer nodo de controlador de escritura al nivel de alto voltaje y hacer flotar el primer nodo conductor de escritura para una operación de enmascaramiento de bits;
    un segundo circuito de precarga (418) configurado para operar con el segundo circuito conductor (414) para: impulsar el segundo nodo conductor de escritura al nivel de alto voltaje o al nivel de bajo voltaje para la operación de escritura, precargar el segundo nodo conductor de escritura al nivel de alto voltaje, y hacer flotar el segundo nodo conductor de escritura para la operación de enmascaramiento de bits; en donde el primer circuito de precarga (416) y el segundo circuito de precarga (418) están acoplados a una entrada de línea de señal de enmascaramiento, en donde la entrada de línea de señal de enmascaramiento controla el primer circuito de precarga (416) y el segundo circuito de precarga (418) para operar con el primer circuito conductor (410) y el segundo circuito conductor (414) respectivos para impulsar el primer nodo conductor de escritura y el segundo nodo conductor de escritura respectivos al nivel de alto voltaje o al nivel de bajo voltaje en el caso de que el la operación de enmascaramiento de bits está deshabilitada; en donde el primer circuito de precarga (416) y el segundo circuito de precarga (418) están acoplados a una entrada de reloj de bits, en donde la entrada de reloj de bits controla el primer circuito de precarga
    (416) y el segundo circuito de precarga (418) para operar con el primer circuito conductor (410) y el segundo circuito conductor (414) respectivos para precargar el primer nodo conductor de escritura y el segundo nodo conductor respectivos al nivel de alto voltaje y hacer flotar el primer nodo conductor de escritura y el segundo nodo conductor de escritura respectivos para la operación de enmascaramiento de bits.
    2. El aparato de la reivindicación 1, en donde un nivel de voltaje umbral para escribir los datos en la celda de bits se mantiene en la línea de bits al comienzo de un ciclo de escritura en el caso de que el primer nodo conductor de escritura flote en el nivel de alto voltaje.
    3. El aparato de la reivindicación 1, en donde un nivel de voltaje umbral para escribir los datos en la celda de bits se mantiene en la línea de bits inversa al comienzo de un ciclo de escritura en el caso de que el segundo nodo conductor de escritura flote en el nivel de alto voltaje.
    4. El aparato de la reivindicación 1, que comprende además: uno entre un teléfono celular y un dispositivo informático móvil que incorpora la SRAM.
    5. Un método (800) para escribir datos en una memoria estática de acceso aleatorio, SRAM, que comprende: recibir una entrada de reloj de bits (802) y una entrada de la línea de señal de enmascaramiento; detectar (804) si una operación de enmascaramiento de bits está habilitada o deshabilitada; impulsar (808) un primer nodo conductor de escritura a un nivel de alto voltaje o un nivel de bajo voltaje para una operación de escritura; impulsar (816) un segundo nodo conductor de escritura al nivel de alto voltaje o al nivel de bajo voltaje para la operación de escritura; precargar (812) el primer nodo conductor de escritura al nivel de alto voltaje; precargar (820) el segundo nodo conductor de escritura al nivel de alto voltaje; hacer flotar el primer nodo conductor de escritura para la operación de enmascaramiento de bits; y hacer flotar el segundo nodo conductor de escritura para la operación de enmascaramiento de bits; e impulsar (810) una línea de bits acoplada a una celda de bits de una matriz de celdas de bits para escribir datos en la celda de bits según el nivel de alto voltaje o el nivel de bajo voltaje en el nodo conductor de escritura para la operación de escritura; impulsar (818) una línea de bits inversa acoplada a la celda de bits para escribir los datos en la celda de bits según el nivel de alto voltaje o el nivel de bajo voltaje en el segundo nodo conductor de escritura para la operación de escritura; en donde la entrada de la línea de señal de enmascaramiento controla el impulso del primer y segundo nodo conductor de escritura al nivel de alto voltaje o al nivel de bajo voltaje en el caso de que la operación de enmascaramiento de bits esté deshabilitada, en donde la entrada del reloj de bits controla la precarga del primer y segundo nodo conductor de escritura en el nivel de alto voltaje y hace flotar el primer y segundo nodo conductor de escritura para la operación de enmascaramiento de bits.
    6. El método (800) de la reivindicación 5, en donde un nivel de voltaje umbral para escribir los datos en la celda de bits se mantiene en la línea de bits al comienzo de un ciclo de escritura en el caso de que el primer nodo conductor de escritura flote en el nivel de alto voltaje.
    7. El método (800) de la reivindicación 5, en donde un nivel de voltaje umbral para escribir los datos en la celda de bits se mantiene en la línea de bits inversa al comienzo de un ciclo de escritura en el caso de que el segundo nodo conductor de escritura flote en el nivel de alto voltaje.
ES18759227T 2017-09-19 2018-08-23 Esquema robusto de conductor de escritura para compiladores de memoria estática de acceso aleatorio Active ES2885223T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/708,818 US10147483B1 (en) 2017-09-19 2017-09-19 Robust write driver scheme for static random access memory compilers
PCT/US2018/047650 WO2019060083A1 (en) 2017-09-19 2018-08-23 STRONG WRITING CONTROL SCHEME FOR STATIC LIFE MEMORY COMPILERS

Publications (1)

Publication Number Publication Date
ES2885223T3 true ES2885223T3 (es) 2021-12-13

Family

ID=63350621

Family Applications (1)

Application Number Title Priority Date Filing Date
ES18759227T Active ES2885223T3 (es) 2017-09-19 2018-08-23 Esquema robusto de conductor de escritura para compiladores de memoria estática de acceso aleatorio

Country Status (7)

Country Link
US (1) US10147483B1 (es)
EP (1) EP3685381B1 (es)
CN (1) CN111095416B (es)
BR (1) BR112020005308A2 (es)
ES (1) ES2885223T3 (es)
SG (1) SG11202001463VA (es)
WO (1) WO2019060083A1 (es)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11715514B2 (en) * 2021-05-06 2023-08-01 Advanced Micro Devices, Inc. Latch bit cells
US12009025B2 (en) 2021-06-25 2024-06-11 Advanced Micro Devices, Inc. Weak precharge before write dual-rail SRAM write optimization
US11450359B1 (en) 2021-07-02 2022-09-20 Qualcomm Incorporated Memory write methods and circuits

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4424770B2 (ja) * 1998-12-25 2010-03-03 株式会社ルネサステクノロジ 半導体記憶装置
JP4748828B2 (ja) * 1999-06-22 2011-08-17 ルネサスエレクトロニクス株式会社 半導体記憶装置
JP2001084791A (ja) * 1999-07-12 2001-03-30 Mitsubishi Electric Corp 半導体記憶装置
JP5225453B2 (ja) * 2005-05-23 2013-07-03 ルネサスエレクトロニクス株式会社 半導体装置
JP2011040111A (ja) * 2009-08-06 2011-02-24 Elpida Memory Inc 半導体装置
JP2011170942A (ja) * 2010-02-22 2011-09-01 Elpida Memory Inc 半導体装置
US8582351B2 (en) 2010-09-28 2013-11-12 International Business Machines Corporation Methods and systems for adjusting wordline up-level voltage to improve production yield relative to SRAM-cell stability
US9536578B2 (en) * 2013-03-15 2017-01-03 Qualcomm Incorporated Apparatus and method for writing data to memory array circuits
IN2013CH04627A (es) * 2013-10-14 2015-04-24 Lsi Corp
US9019752B1 (en) 2013-11-26 2015-04-28 Qualcomm Incorporated Static random access memory (SRAM) global bitline circuits for reducing power glitches during memory read accesses, and related methods and systems
US20150357013A1 (en) 2014-06-06 2015-12-10 Qualcomm Incorporated Tracking scheme for floating bitline precharge
US9548104B1 (en) 2015-06-30 2017-01-17 International Business Machines Corporation Boost control to improve SRAM write operation
KR20170068718A (ko) * 2015-12-09 2017-06-20 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
US9514805B1 (en) * 2016-03-28 2016-12-06 Qualcomm Incorporated Intelligent bit line precharge for improved dynamic power
US9640540B1 (en) 2016-07-19 2017-05-02 Taiwan Semiconductor Manufacturing Co., Ltd. Structure and method for an SRAM circuit
US10325648B2 (en) * 2016-12-14 2019-06-18 Qualcomm Incorporated Write driver scheme for bit-writable memories

Also Published As

Publication number Publication date
US10147483B1 (en) 2018-12-04
SG11202001463VA (en) 2020-04-29
CN111095416A (zh) 2020-05-01
EP3685381B1 (en) 2021-07-28
BR112020005308A2 (pt) 2020-09-24
WO2019060083A1 (en) 2019-03-28
EP3685381A1 (en) 2020-07-29
CN111095416B (zh) 2021-07-16

Similar Documents

Publication Publication Date Title
US9013949B2 (en) Memory access control system and method
US20160284399A1 (en) Apparatus and method for drift cancellation in a memory
KR101753251B1 (ko) 음전압 레벨 쉬프터를 포함하는 스태틱 랜덤 액세스 메모리 장치
US9390778B2 (en) Semiconductor memory devices and memory systems including the same
US11727972B2 (en) SRAM with tracking circuitry for reducing active power
US9990985B1 (en) Memory device with determined time window
ES2885223T3 (es) Esquema robusto de conductor de escritura para compiladores de memoria estática de acceso aleatorio
JP2017532710A (ja) 読出しディスターバンスの低減された7トランジスタスタティックランダムアクセスメモリビットセル
US12361991B2 (en) Far end driver for memory clock
ES2733375T3 (es) Circuitos de líneas de bits globales de Memoria Estática de Acceso Aleatorio (SRAM) para reducir los fallos de energía durante los accesos de lectura de memoria, y procedimientos y sistemas relacionados
US9224439B2 (en) Memory with word line access control
US10020048B2 (en) Integrated circuit including embedded memory device for performing dual-transient word line assist using triple power source and device having the same
US20080313418A1 (en) Semiconductor memory device having processor reset function and reset control method thereof
US9019788B2 (en) Techniques for accessing memory cells
US20170025167A1 (en) Static Random Access Memory with Reduced Write Power
US20140201547A1 (en) Selective Precharge for Power Savings
US20150036419A1 (en) Semiconductor apparatus and data reading method
US7248511B2 (en) Random access memory including selective activation of select line
JP4407972B2 (ja) 非同期式半導体記憶装置
EP3416169B1 (en) Memory circuit having concurrent writes and method therefor
US6778455B2 (en) Method and apparatus for saving refresh current
TWI791375B (zh) 記憶體裝置、功率斜變控制系統操作方法以及電子裝置
US20150029795A1 (en) Selective dual cycle write operation for a self-timed memory
US10008259B1 (en) Limiting bitline precharge drive fight current using multiple power domains
JP2014238903A (ja) 半導体装置