LP-DDR(1)Edit
La DDR original de bajo consumo (a veces llamada retroactivamente LPDDR1) es una forma ligeramente modificada de DDR SDRAM, con varios cambios para reducir el consumo general de energía.
Lo más significativo es que la tensión de alimentación se reduce de 2,5 a 1,8 V. El ahorro adicional proviene de la actualización compensada por temperatura (la DRAM requiere una actualización menos frecuente a bajas temperaturas), la actualización parcial de la matriz y un modo de «apagado profundo» que sacrifica todo el contenido de la memoria. Además, los chips son más pequeños y ocupan menos espacio en la placa que sus equivalentes no móviles. Samsung y Micron son dos de los principales proveedores de esta tecnología, que se utiliza en dispositivos para tabletas y teléfonos como el iPhone 3GS, el iPad original, el Samsung Galaxy Tab 7.0 y el Motorola Droid X.
LP-DDR2Edit
Un nuevo estándar JEDEC JESD209-2E define una interfaz DDR de bajo consumo revisada de forma más drástica. No es compatible con la SDRAM DDR1 ni con la DDR2, pero puede acomodar:
- LPDDR2-S2: memoria de preajuste 2n (como la DDR1),
- LPDDR2-S4: memoria de preajuste 4n (como la DDR2), o
- LPDDR2-N: memoria no volátil (NAND flash).
Los estados de bajo consumo son similares a los de la LPDDR básica, con algunas opciones adicionales de refresco parcial de la matriz.
Los parámetros de temporización se especifican para las memorias LPDDR-200 a LPDDR-1066 (frecuencias de reloj de 100 a 533 MHz).
Trabajando a 1,2 V, la LPDDR2 multiplexa las líneas de control y dirección en un bus CA de 10 bits de doble velocidad de datos. Los comandos son similares a los de la SDRAM normal, excepto por la reasignación de los opcodes de precarga y terminación de ráfaga:
CK | CA0 (RAS) |
CA1 (CAS) |
CA2 (WE) |
CA3 | CA4 | CA5 | CA6 | CA7 | CA8 | CA9 | Operación | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
H | H | H | – | NOP | |||||||||
↘ | – | ||||||||||||
H | H | L | H | H | – | Precarga de todos los bancos | |||||||
↘ | – | ||||||||||||
H | H | L | H | L | – | BA0 | BA1 | BA2 | Precarga de un banco | ||||
↘ | – | ||||||||||||
H | H | L | H | A30 | A31 | A32 | BA0 | BA1 | BA2 | Preactivo (LPDDR2-N sólo) |
|||
↘ | A20 | A21 | A22 | A23 | A24 | A25 | A26 | A27 | A28 | A29 | |||
H | H | L | L | – | Termina la ráfaga | ||||||||
↘ | – | ||||||||||||
H | L | H | reservado | C1 | C2 | BA0 | BA1 | BA2 | Lectura (AP=auto-precarga) |
||||
↘ | AP | C3 | C4 | C5 | C6 | C7 | C8 | C9 | C10 | C11 | |||
H | L | reservado | C1 | C2 | BA0 | BA1 | BA2 | Escribir (AP=auto-precarga) |
|||||
↘ | AP | C3 | C4 | C5 | C6 | C7 | C8 | C9 | C10 | C11 | |||
L | H | R8 | R9 | R10 | R11 | R12 | BA0 | BA1 | BA2 | Activar (R0-14=Fila dirección) |
|||
↘ | R0 | R1 | R2 | R3 | R4 | R5 | R6 | R7 | R13 | R14 | |||
L | H | A15 | A16 | A17 | A18 | A19 | BA0 | BA1 | BA2 | Activar (LPDDR2-N sólo) |
|||
↘ | A5 | A6 | A7 | A8 | A9 | A10 | A11 | A12 | A13 | A14 | |||
L | L | H | H | – | Refrescar todos los bancos (LPDDR2-Sx sólo) |
||||||||
↘ | – | ||||||||||||
L | L | H | L | – | Refrescar un banco (Round-robin addressing) |
||||||||
↘ | – | ||||||||||||
L | L | L | H | MA0 | MA1 | MA2 | MA3 | MA4 | MA5 | Registro de modo leído (MA0-7=Dirección) |
|||
↘ | MA6 | MA7 | – | ||||||||||
L | L | L | L | MA0 | MA1 | MA2 | MA3 | MA4 | MA5 | Escritura del registro de modo (OP0-7=Data) |
|||
↘ | MA6 | MA7 | OP0 | OP1 | OP2 | OP3 | OP4 | OP5 | OP6 | OP7 |
El bit de dirección de columna C0 nunca se transfiere, y se supone que es cero. Por lo tanto, las transferencias en ráfaga siempre comienzan en direcciones pares.
LPDDR2 también tiene una señal de selección de chip activa-baja (cuando está alta, todo es un NOP) y de habilitación de reloj CKE, que funcionan como la SDRAM. También como la SDRAM, el comando enviado en el ciclo en el que CKE cae por primera vez selecciona el estado de apagado:
- Si el chip está activo, se congela en su lugar.
- Si el comando es un NOP (CS bajo o CA0-2 = HHH), el chip queda inactivo.
- Si el comando es un comando de refresco (CA0-2 = LLH), el chip entra en el estado de auto-refresco.
- Si el comando es un final de ráfaga (CA0-2 = HHL), el chip entra en el estado de apagado profundo. (Se requiere una secuencia de reinicio completa al salir.)
Los registros de modo se han ampliado mucho en comparación con la SDRAM convencional, con un espacio de direcciones de 8 bits, y la capacidad de leerlos de nuevo. Aunque es más pequeña que una EEPROM de detección de presencia en serie, se incluye suficiente información para eliminar la necesidad de una.
Los dispositivos S2 menores de 4 Gbit, y los S4 menores de 1 Gbit tienen sólo cuatro bancos. Ignoran la señal BA2 y no admiten el refresco por banco.
Los dispositivos de memoria no volátil no utilizan los comandos de refresco y reasignan el comando de precarga para transferir los bits de dirección A20 y superiores. Los bits de orden inferior (A19 y abajo) se transfieren mediante un comando siguiente de Activación. Esto transfiere la fila seleccionada de la matriz de memoria a uno de los 4 u 8 (seleccionados por los bits BA) búferes de datos de fila, donde pueden ser leídos por un comando de Lectura. A diferencia de la DRAM, los bits de dirección del banco no son parte de la dirección de la memoria; cualquier dirección puede ser transferida a cualquier búfer de datos de fila. Un búfer de datos de fila puede tener entre 32 y 4096 bytes de longitud, dependiendo del tipo de memoria. Las filas mayores de 32 bytes ignoran algunos de los bits de dirección de orden inferior en el comando Activar. Las filas menores de 4096 bytes ignoran algunos de los bits de dirección de orden alto en el comando Leer.
La memoria no volátil no admite el comando Escribir en las memorias intermedias de datos de las filas. En su lugar, una serie de registros de control en una región de direcciones especial admiten los comandos de lectura y escritura, que pueden utilizarse para borrar y programar la matriz de memoria.
LP-DDR3Edit
En mayo de 2012, JEDEC publicó el estándar de dispositivos de memoria de bajo consumo JESD209-3. En comparación con LPDDR2, LPDDR3 ofrece una mayor velocidad de datos, mayor ancho de banda y eficiencia energética, y mayor densidad de memoria. LPDDR3 alcanza una velocidad de datos de 1600 MT/s y utiliza nuevas tecnologías clave: nivelación de escritura y formación de comandos/direcciones, terminación opcional en el chip (ODT) y baja capacitancia de E/S. LPDDR3 admite los tipos de empaquetado en paquete (PoP) y discreto.
La codificación de comandos es idéntica a la de LPDDR2, utilizando un bus CA de doble velocidad de datos de 10 bits. Sin embargo, el estándar sólo especifica la DRAM de 8n-prefetch, y no incluye los comandos de la memoria flash.
Los productos que utilizan LPDDR3 incluyen el MacBook Air de 2013, el iPhone 5S, el iPhone 6, el Nexus 10, el Samsung Galaxy S4 (GT-I9500) y la Microsoft Surface Pro 3. LPDDR3 se generalizó en 2013, funcionando a 800 MHz DDR (1600 MT/s), ofreciendo un ancho de banda comparable al de la memoria PC3-12800 para portátiles en 2011 (12,8 GB/s de ancho de banda). Para lograr este ancho de banda, el controlador debe implementar una memoria de doble canal. Es el caso, por ejemplo, del Exynos 5 Dual y del 5 Octa.
Una versión «mejorada» de la especificación denominada LPDDR3e aumenta la velocidad de datos a 2133 MT/s. Samsung Electronics presentó los primeros módulos LPDDR3 de 4 gigabits de clase 20 nm, capaces de transmitir datos a una velocidad de hasta 2.133 MT/s, más del doble del rendimiento del antiguo LPDDR2, que sólo es capaz de 800 MT/s. Varios SoC de diversos fabricantes también admiten de forma nativa la memoria RAM LPDDR3 a 800 MHz. Entre ellos se encuentran los Snapdragon 600 y 800 de Qualcomm, así como algunos SoC de las series Exynos y Allwinner.
LP-DDR4Edit
El 14 de marzo de 2012, el JEDEC organizó una conferencia para explorar cómo los futuros requisitos de los dispositivos móviles impulsarán los próximos estándares como LPDDR4. El 30 de diciembre de 2013, Samsung anunció que había desarrollado el primer LPDDR4 de 20 nm de clase 8 gibit (1 GiB) capaz de transmitir datos a 3.200 MT/s, proporcionando así un 50 por ciento más de rendimiento que el LPDDR3 más rápido y consumiendo alrededor de un 40 por ciento menos de energía a 1,1 voltios.
El 25 de agosto de 2014, el JEDEC publicó el estándar de dispositivos de memoria de bajo consumo JESD209-4 LPDDR4.
Los cambios significativos incluyen:
- Duplicación de la velocidad de la interfaz, y numerosos cambios eléctricos consecuentes, incluyendo el cambio del estándar de E/S a la lógica de bajo voltaje terminada en swing (LVSTL)
- Duplicación del tamaño de prefetch interno y el tamaño mínimo de transferencia
- Cambio de un bus de comandos/direcciones DDR de 10 bits a un bus SDR de 6 bits
- Cambio de un bus de 32 bits de ancho a dos buses independientes de 16 bits de ancho
- La auto-refresca se habilita mediante comandos dedicados, en lugar de ser controlada por la línea CKE
El estándar define paquetes SDRAM que contienen dos canales de acceso independientes de 16 bits, cada uno conectado a un máximo de dos troqueles por paquete. Cada canal tiene 16 bits de datos de ancho, tiene sus propios pines de control/dirección y permite el acceso a 8 bancos de DRAM. Así, el paquete puede conectarse de tres maneras:
- Las líneas de datos y el control conectados en paralelo a un bus de datos de 16 bits, y sólo los selectores de chip conectados independientemente por canal.
- A dos mitades de un bus de datos de 32 bits de ancho, y las líneas de control en paralelo, incluyendo la selección de chip.
- A dos buses de datos de 16 bits de ancho independientes
Cada dado proporciona 4, 6, 8, 12 o 16 gibit de memoria, la mitad a cada canal. Por lo tanto, cada banco es un dieciseisavo del tamaño del dispositivo. Se organiza en el número apropiado (de 16 Ki a 64 Ki) de filas de 16384 bits (2048 bytes). Está prevista la ampliación a 24 y 32 gibit, pero aún no se ha decidido si se hará aumentando el número de filas, su anchura o el número de bancos.
También se definen paquetes más grandes que proporcionan doble anchura (cuatro canales) y hasta cuatro troqueles por par de canales (8 troqueles en total por paquete).
Se accede a los datos en ráfagas de 16 o 32 transferencias (256 o 512 bits, 32 o 64 bytes, 8 o 16 ciclos DDR). Las ráfagas deben comenzar en límites de 64 bits.
Dado que la frecuencia de reloj es mayor y la longitud mínima de la ráfaga es más larga que la de los estándares anteriores, las señales de control pueden multiplexarse en mayor medida sin que el bus de comandos/direcciones se convierta en un cuello de botella. LPDDR4 multiplexa las líneas de control y dirección en un bus CA de 6 bits de velocidad de datos única. Los comandos requieren 2 ciclos de reloj, y las operaciones que codifican una dirección (por ejemplo, activar fila, leer o escribir columna) requieren dos comandos. Por ejemplo, para solicitar una lectura de un chip inactivo se necesitan cuatro comandos que requieren 8 ciclos de reloj: Activar-1, Activar-2, Leer, CAS-2.
La línea de selección de chip (CS) es activa-alta. El primer ciclo de un comando se identifica por la selección de chip que es alta; es baja durante el segundo ciclo.
Primer ciclo (CS=H) | Segundo ciclo (CS=L) | Operación | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CA5 | CA4 | CA3 | CA2 | CA1 | CA0 | CA5 | CA4 | CA3 | CA2 | CA1 | CA0 | |||
L | L | L | L | L | L | – | Sin operación | |||||||
H | L | L | L | L | 0 | OP4 | OP3 | OP2 | OP1 | 1 | Comando multipropósitopropósito | |||
AB | H | L | L | L | – | BA2 | BA1 | BA0 | Precarga (AB=todos los bancos) | |||||
AB | L | H | L | L | L | – | BA2 | BA1 | BA0 | Refrescar (AB=Todos los bancos) | ||||
– | H | H | L | L | L | – | Auto-refrescar entrada | |||||||
BL | L | L | H | L | L | AP | C9 | – | BA2 | BA1 | BA0 | Escribir-1 (+CAS-2) | ||
– | H | L | H | L | L | – | Self-refrescar salida | |||||||
0 | L | H | H | L | L | AP | C9 | – | BA2 | BA1 | BA0 | Masking Write-1 (+CAS-2) | ||
– | H | H | H | L | L | – | (reservado) | |||||||
BL | L | L | H | L | AP | C9 | – | BA2 | BA1 | BA0 | Read-1 (+CAS-2) | |||
C8 | H | L | L | H | L | C7 | C6 | C5 | C4 | C3 | C2 | CAS-2 | ||
– | H | L | H | L | – | (reservado) | ||||||||
OP7 | L | L | H | H | L | MA5 | MA4 | MA3 | MA2 | MA1 | MA0 | Registro de modo Write-1 y -2 MA=Dirección, OP=Datos |
||
OP6 | H | L | H | H | L | OP5 | OP4 | OP3 | OP2 | OP1 | OP0 | |||
– | L | H | H | H | L | MA5 | MA4 | MA3 | MA2 | MA1 | MA0 | Registro de modo de lectura (+CAS-2) | ||
– | H | H | H | L | – | (reservado) | ||||||||
R15 | R14 | R13 | R12 | L | H | R11 | R10 | R16 | BA2 | BA1 | BA0 | Activar-1 y -2 | ||
R9 | R8 | R7 | R6 | H | H | R5 | R4 | R3 | R2 | R1 | R0 |
El comando CAS-2 se utiliza como la segunda mitad de todos los comandos que realizan una transferencia a través del bus de datos, y proporciona bits de dirección de columna de orden inferior:
- Los comandos de lectura deben comenzar en una dirección de columna que sea un múltiplo de 4; no está previsto comunicar a la memoria un bit de dirección C0 o C1 distinto de cero.
- Los comandos de escritura deben comenzar en una dirección de columna que sea un múltiplo de 16; C2 y C3 deben ser cero para un comando de escritura.
- Los comandos de lectura del registro de modo y algunos comandos multipropósito también deben ser seguidos por un comando CAS-2, sin embargo todos los bits de columna deben ser cero (bajo).
La longitud de la ráfaga puede configurarse para que sea de 16, 32, o dinámicamente seleccionable por el bit BL de las operaciones de lectura y escritura.
Una señal DMI (máscara de datos/inversión) está asociada a cada 8 líneas de datos, y puede utilizarse para minimizar el número de bits conducidos a nivel alto durante las transferencias de datos. Cuando es alta, los otros 8 bits son complementados por el transmisor y el receptor. Si un byte contiene cinco o más bits de 1, la señal DMI puede ser conducida a alto, junto con tres o menos líneas de datos. Como las líneas de señal se terminan en bajo, esto reduce el consumo de energía.
(Un uso alternativo, donde DMI se utiliza para limitar el número de líneas de datos que conmutan en cada transferencia a un máximo de 4, minimiza la diafonía. Esto puede ser utilizado por el controlador de memoria durante las escrituras, pero no es soportado por los dispositivos de memoria.)
La inversión del bus de datos puede ser habilitada por separado para las lecturas y las escrituras. Para las escrituras enmascaradas (que tienen un código de comando separado), la operación de la señal DMI depende de si la inversión de escritura está habilitada.
- Si DBI en escrituras está deshabilitado, un nivel alto en DMI indica que el byte de datos correspondiente debe ser ignorado y no escrito
- Si DBI en escrituras está habilitado, un nivel bajo en DMI, combinado con un byte de datos con 5 o más bits establecidos, indica un byte de datos que debe ser ignorado y no escrito.
LPDDR4 también incluye un mecanismo de «refresco de filas dirigido» para evitar la corrupción debida al «martillo de filas» en filas adyacentes. Una secuencia especial de tres secuencias de activación/precarga especifica la fila que se ha activado con más frecuencia que un umbral especificado por el dispositivo (de 200.000 a 700.000 por ciclo de refresco). Internamente, el dispositivo refresca las filas físicamente adyacentes en lugar de la especificada en el comando de activación.:153-54
LP-DDR4XEdit
Samsung Semiconductor propuso una variante de LPDDR4 que denominó LPDDR4X.:11 LPDDR4X es idéntica a LPDDR4, salvo que se ahorra energía adicional reduciendo la tensión de E/S (Vddq) a 0,6 V desde 1,1 V. El 9 de enero de 2017, SK Hynix anunció paquetes LPDDR4X de 8 y 16 GiB. JEDEC publicó el estándar LPDDR4X el 8 de marzo de 2017. Aparte del menor voltaje, las mejoras adicionales incluyen una opción de matriz de un solo canal para aplicaciones más pequeñas, nuevos paquetes MCP, PoP e IoT, y mejoras adicionales de definición y temporización para el grado de velocidad más alto de 4266 MT/s.
LP-DDR5Editar
El 19 de febrero de 2019, el JEDEC publicó el JESD209-5, Estándar para la doble velocidad de datos de bajo consumo 5 (LPDDR5).
Samsung anunció que tenía prototipos de chips LP-DDR5 en funcionamiento en julio de 2018. LPDDR5 introduce los siguientes cambios:
- La tasa de transferencia de datos se incrementa a 6400 MT/s.
- Se utilizan relojes diferenciales
- El refetch no se vuelve a duplicar, sino que sigue siendo de 16n
- Se aumenta el número de bancos a 16, divididos en cuatro grupos de bancos similares a DDR4
- Mejoras en el ahorro de energía:
- Comandos Data-Copy y Write-X (todo uno o todo cero) para disminuir la transferencia de datos
- Escalado dinámico de frecuencia y voltaje
- Una nueva arquitectura de sincronización llamada WCK & Read Strobe (RDQS)
El controlador de memoria de Intel Tiger Lake y Snapdragon 888 soporta LPDDR5.