LPDDR

LP-DDR(1)Edit

La DDR basse consommation originale (parfois appelée rétroactivement LPDDR1) est une forme légèrement modifiée de DDR SDRAM, avec plusieurs changements pour réduire la consommation d’énergie globale.

Plus significatif, la tension d’alimentation est réduite de 2,5 à 1,8 V. Des économies supplémentaires proviennent du rafraîchissement compensé par la température (la DRAM nécessite un rafraîchissement moins fréquent à basse température), de l’auto-rafraîchissement partiel de la matrice et d’un mode  » mise hors tension profonde  » qui sacrifie tout le contenu de la mémoire. En outre, les puces sont plus petites et occupent moins d’espace sur les cartes que leurs équivalents non mobiles. Samsung et Micron sont deux des principaux fournisseurs de cette technologie, qui est utilisée dans des tablettes et des téléphones tels que l’iPhone 3GS, l’iPad original, le Samsung Galaxy Tab 7.0 et le Motorola Droid X.

LP-DDR2Edit

Puce LPDDR2 4 Gbit de Samsung K4P4G154EC-FGC1

Une nouvelle norme JEDEC JESD209-2E définit une interface DDR basse consommation révisée de façon plus spectaculaire. Elle n’est compatible ni avec la SDRAM DDR1 ni avec la SDRAM DDR2, mais peut accueillir :

  • LPDDR2-S2 : mémoire 2n prefetch (comme la DDR1),
  • LPDDR2-S4 : mémoire 4n prefetch (comme la DDR2), ou
  • LPDDR2-N : mémoire non volatile (NAND flash).

Les états de faible puissance sont similaires à ceux de la LPDDR de base, avec quelques options supplémentaires de rafraîchissement de tableau partiel.

Les paramètres de synchronisation sont spécifiés pour la LPDDR-200 à la LPDDR-1066 (fréquences d’horloge de 100 à 533 MHz).

Fonctionnant à 1,2 V, la LPDDR2 multiplexe les lignes de contrôle et d’adresse sur un bus CA à double débit de données de 10 bits. Les commandes sont similaires à celles de la SDRAM normale, à l’exception de la réaffectation des opcodes de précharge et de terminaison de rafale :

.

.

.

.

.

.

.

.

.

.

Codage des commandes LPDDR2/LPDDR3
CK CA0
(RAS)
CA1
(CAS)
CA2
(WE)
CA3 CA4 CA5 CA6 CA7 CA8 CA9 Opération
H H H H NOP
H H H L H H Précharge de toutes les banques
H H L H L BA0 BA1 BA2 Précharge d’une banque
H H L H A30 A31 A32 BA0 BA1 BA2 Préactif
(LPDDR2-N only)
A20 A21 A22 A23 A24 A25 A26 A27 A28 A29
H H L L Burst terminate
H L H réservé C1 C2 BA0 BA1 BA2 Lecture
(AP=auto-précharge)
AP C3 C4 C5 C6 C7 C8 C9 C10 C11
H L L réservé C1 C2 BA0 BA1 BA2 Ecriture
(AP=auto-précharge)
AP C3 C4 C5 C6 C7 C8 C9 C10 C11
L H R8 R9 R10 R11 R12 BA0 BA1 BA2 Activation
(R0-14=Rangée d’adresses)
Activation
(R0-14=Rangée d’adresses) ligne)
R0 R1 R2 R3 R4 R5 R6 R7 R13 R14
L H A15 A16 A17 A18 A19 BA0 BA1 BA2 Activer
(LPDDR2-N uniquement)
A5 A6 A7 A8 A9 A10 A11 A12 A13 A14
L L H H Refresh all banks
(LPDDR2-Sx uniquement)
L L H L Rafraîchir une banque
(Adressage Round-robin addressing)
L L L H MA0 MA1 MA2 MA3 MA4 MA5 Lecture du registre de mode
(MA0-7=Adresse)
MA6 MA7
L L L L MA0 MA1 MA2 MA3 MA4 MA4 MA5 Écriture du registre de mode
(OP0-7=Data)
MA6 MA7 OP0 OP1 OP2 OP3 OP4 OP5 OP6 OP7

Le bit d’adresse de colonne C0 n’est jamais transféré, et est supposé être zéro. Les transferts en rafale commencent donc toujours à des adresses paires.

LPDDR2 possède également un signal de sélection de puce actif-bas (lorsqu’il est élevé, tout est un NOP) et un signal d’activation d’horloge CKE, qui fonctionnent comme la SDRAM. Toujours comme la SDRAM, la commande envoyée sur le cycle où CKE est lâché pour la première fois sélectionne l’état de mise hors tension :

  • Si la puce est active, elle se fige sur place.
  • Si la commande est un NOP (CS bas ou CA0-2 = HHH), la puce tourne au ralenti.
  • Si la commande est une commande de rafraîchissement (CA0-2 = LLH), la puce entre dans l’état d’auto-rafraîchissement.
  • Si la commande est une fin de rafale (CA0-2 = HHL), la puce entre dans l’état de mise hors tension profonde. (Une séquence de réinitialisation complète est nécessaire lors de la sortie.)

Les registres de mode ont été considérablement étendus par rapport à la SDRAM conventionnelle, avec un espace d’adresse de 8 bits, et la possibilité de les relire. Bien qu’ils soient plus petits qu’une EEPROM de détection de présence série, suffisamment d’informations sont incluses pour en éliminer le besoin.

Les dispositifs S2 inférieurs à 4 Gbit, et les dispositifs S4 inférieurs à 1 Gbit n’ont que quatre banques. Ils ignorent le signal BA2, et ne supportent pas le rafraîchissement par banque.

Les dispositifs de mémoire non volatile n’utilisent pas les commandes de rafraîchissement, et réaffectent la commande de précharge pour transférer les bits d’adresse A20 et plus. Les bits de poids faible (A19 et vers le bas) sont transférés par une commande Activate suivante. Celle-ci transfère la rangée sélectionnée de la matrice de mémoire vers l’un des 4 ou 8 (sélectionnés par les bits BA) tampons de données de rangée, où ils peuvent être lus par une commande de lecture. Contrairement à la DRAM, les bits d’adresse de banque ne font pas partie de l’adresse de la mémoire ; toute adresse peut être transférée vers n’importe quel tampon de données de rangée. Un tampon de données de rangée peut avoir une longueur de 32 à 4096 octets, selon le type de mémoire. Les rangées de plus de 32 octets ignorent certains des bits d’adresse de poids faible de la commande Activate. Les rangées inférieures à 4096 octets ignorent certains des bits d’adresse de poids fort dans la commande de lecture.

La mémoire non volatile ne prend pas en charge la commande d’écriture dans les tampons de données de rangée. Au contraire, une série de registres de contrôle dans une région d’adresse spéciale prend en charge les commandes de lecture et d’écriture, qui peuvent être utilisées pour effacer et programmer la matrice de mémoire.

LP-DDR3Edit

En mai 2012, le JEDEC a publié la norme JESD209-3 sur les dispositifs de mémoire à faible consommation. Par rapport à la LPDDR2, la LPDDR3 offre un débit de données plus élevé, une bande passante et une efficacité énergétique supérieures, ainsi qu’une densité de mémoire plus élevée. La LPDDR3 atteint un débit de 1600 MT/s et utilise de nouvelles technologies clés : write-leveling et command/address training, on-die termination (ODT) en option et faible capacité d’entrée/sortie. La LPDDR3 prend en charge les types de conditionnement en boîtier (PoP) et en boîtier discret.

Le codage des commandes est identique à la LPDDR2, utilisant un bus CA à double débit de 10 bits. Cependant, la norme ne spécifie que la DRAM 8n-prefetch, et n’inclut pas les commandes de mémoire flash.

Les produits utilisant LPDDR3 comprennent le MacBook Air 2013, l’iPhone 5S, l’iPhone 6, le Nexus 10, le Samsung Galaxy S4 (GT-I9500) et la Surface Pro 3 de Microsoft. La LPDDR3 est entrée dans le courant dominant en 2013, avec une DDR à 800 MHz (1600 MT/s), offrant une bande passante comparable à celle de la mémoire des ordinateurs portables PC3-12800 en 2011 (12,8 Go/s de bande passante). Pour atteindre cette bande passante, le contrôleur doit mettre en œuvre une mémoire à double canal. C’est par exemple le cas de l’Exynos 5 Dual et du 5 Octa.

Une version « améliorée » de la spécification appelée LPDDR3e porte le débit à 2133 MT/s. Samsung Electronics a présenté les premiers modules LPDDR3 de classe 20 nm à 4 gigabits capables de transmettre des données jusqu’à 2133 MT/s, soit plus du double des performances de l’ancienne LPDDR2 qui n’est capable que de 800 MT/s. Plusieurs SoC de différents fabricants prennent également en charge la RAM LPDDR3 à 800 MHz. Parmi ceux-ci, citons les Snapdragon 600 et 800 de Qualcomm ainsi que certains SoC des séries Exynos et Allwinner.

LP-DDR4Edit

Le 14 mars 2012, le JEDEC a organisé une conférence afin d’explorer comment les exigences futures des appareils mobiles conduiront les normes à venir comme la LPDDR4. Le 30 décembre 2013, Samsung a annoncé avoir développé la première LPDDR4 de 8 gibits (1 GiB) de classe 20 nm capable de transmettre des données à 3 200 MT/s, offrant ainsi des performances supérieures de 50 % à celles de la LPDDR3 la plus rapide et consommant environ 40 % d’énergie en moins à 1,1 volt.

Le 25 août 2014, le JEDEC a publié la norme JESD209-4 LPDDR4 pour les dispositifs de mémoire à faible consommation.

Les changements significatifs comprennent :

  • Doublement de la vitesse de l’interface, et de nombreuses modifications électriques conséquentes, notamment le changement de la norme d’E/S en logique à terminaison swing basse tension (LVSTL)
  • Doublement de la taille de préfixe interne, et de la taille minimale de transfert
  • Changement d’un bus de commande/d’adresse DDR de 10 bits à un bus SDR de 6 bits
  • Changement d’un bus de 32 bits de large à deux bus indépendants de 16 bits de large
  • L’auto-rafraîchissement est activé par des commandes dédiées, plutôt que d’être contrôlé par la ligne CKE

La norme définit des boîtiers SDRAM contenant deux canaux d’accès indépendants de 16 bits, chacun étant connecté à un maximum de deux matrices par boîtier. Chaque canal a une largeur de 16 bits de données, possède ses propres broches de contrôle/adresse et permet l’accès à 8 banques de DRAM. Ainsi, le boîtier peut être connecté de trois façons :

  • Les lignes de données et le contrôle sont connectés en parallèle à un bus de données de 16 bits, et seuls les chip selects sont connectés indépendamment par canal.
  • A deux moitiés d’un bus de données de 32 bits de large, et les lignes de contrôle en parallèle, y compris les sélecteurs de puce.
  • A deux bus de données indépendants de 16 bits de large

Chaque puce fournit 4, 6, 8, 12 ou 16 gibits de mémoire, la moitié à chaque canal. Ainsi, chaque banque représente un seizième de la taille du dispositif. Celle-ci est organisée en un nombre approprié (16 Ki à 64 Ki) de rangées de 16384 bits (2048 octets). L’extension à 24 et 32 gibits est prévue, mais il n’est pas encore décidé si cela se fera en augmentant le nombre de rangées, leur largeur ou le nombre de banques.

Des boîtiers plus grands fournissant une double largeur (quatre canaux) et jusqu’à quatre matrices par paire de canaux (8 matrices au total par boîtier) sont également définis.

Les données sont accessibles en rafales de 16 ou 32 transferts (256 ou 512 bits, 32 ou 64 octets, 8 ou 16 cycles DDR). Les rafales doivent commencer sur des frontières de 64 bits.

La fréquence d’horloge étant plus élevée et la longueur minimale des rafales plus longue que les normes précédentes, les signaux de contrôle peuvent être plus fortement multiplexés sans que le bus de commande/d’adresse ne devienne un goulot d’étranglement. LPDDR4 multiplexe les lignes de commande et d’adresse sur un bus CA 6 bits à débit de données unique. Les commandes nécessitent 2 cycles d’horloge, et les opérations codant une adresse (par exemple, activer une ligne, lire ou écrire une colonne) nécessitent deux commandes. Par exemple, pour demander une lecture à une puce inactive, il faut quatre commandes nécessitant 8 cycles d’horloge : Activer-1, Activer-2, Lire, CAS-2.

La ligne de sélection de puce (CS) est active-haute. Le premier cycle d’une commande est identifié par le fait que la sélection de puce est haute ; elle est basse pendant le second cycle.

.

.

Codage des commandes LPDDR4 :151
Premier cycle (CS=H) Deuxième cycle (CS=L) Opération
CA5 CA4 CA3 CA2 CA1 CA0 CA5 CA4 CA3 CA2 CA1 CA0
L L L L L L Aucune opération
H L L L L L 0 OP4 OP3 OP2 OP1 1 Commande à usages multiplescommande
AB H L L L L BA2 BA1 BA0 Précharge (AB=toutes les banques)
AB L H L L L BA2 BA1 BA0 Refresh (AB=Toutes les banques)
H H L L L Self-rafraichir l’entrée
BL L L H L L AP C9 BA2 BA1 BA0 Ecriture-1 (+CAS-2)
H L H L L Self-rafraichir sortie
0 L H H L L AP C9 BA2 BA1 BA0 Ecriture masquée-1 (+CAS-2)
H H H L L (reserved)
BL L 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 (reserved)
OP7 L L H H L MA5 MA4 MA3 MA2 MA1 MA0 Écriture du registre de mode-1 et -2
MA=Adresse, OP=Data
OP6 H L H H L OP5 OP4 OP3 OP2 OP1 OP0
L H H H L MA5 MA4 MA3 MA2 MA1 MA0 Lecture du registre de mode (+CAS-2)
H H H H L (réservé)
R15 R14 R13 R12 L H R11 R10 R16 BA2 BA1 BA0 Activer-1 et -2
R9 R8 R7 R6 H H R5 R4 R3 R2 R1 R0

La commande CAS-2 est utilisée comme seconde moitié de toutes les commandes qui effectuent un transfert sur le bus de données, et fournit des bits d’adresse de colonne de poids faible :

  • Les commandes de lecture doivent commencer sur une adresse de colonne qui est un multiple de 4 ; il n’y a pas de disposition pour communiquer un bit d’adresse C0 ou C1 non nul à la mémoire.
  • Les commandes d’écriture doivent commencer sur une adresse de colonne qui est un multiple de 16 ; C2 et C3 doivent être nuls pour une commande d’écriture.
  • La lecture du registre de mode et certaines commandes polyvalentes doivent également être suivies d’une commande CAS-2, cependant tous les bits de colonne doivent être nuls (bas).

La longueur de la rafale peut être configurée pour être de 16, 32, ou sélectionnable dynamiquement par le bit BL des opérations de lecture et d’écriture.

Un signal DMI (masque/inversion de données) est associé à chacune des 8 lignes de données, et peut être utilisé pour minimiser le nombre de bits pilotés à l’état haut pendant les transferts de données. Lorsqu’il est élevé, les 8 autres bits sont complémentés par l’émetteur et le récepteur. Si un octet contient cinq bits 1 ou plus, le signal DMI peut être piloté à l’état haut, ainsi que trois lignes de données ou moins. Comme les lignes de signaux sont terminées à un niveau bas, cela réduit la consommation d’énergie.

(Une utilisation alternative, où la DMI est utilisée pour limiter le nombre de lignes de données qui basculent à chaque transfert à 4 au maximum, minimise la diaphonie. Ceci peut être utilisé par le contrôleur de mémoire pendant les écritures, mais n’est pas supporté par les dispositifs de mémoire.)

L’inversion du bus de données peut être activée séparément pour les lectures et les écritures. Pour les écritures masquées (qui ont un code de commande séparé), le fonctionnement du signal DMI dépend de l’activation ou non de l’inversion d’écriture.

  • Si DBI sur les écritures est désactivé, un niveau haut sur DMI indique que l’octet de données correspondant doit être ignoré et non écrit
  • Si DBI sur les écritures est activé, un niveau bas sur DMI, combiné à un octet de données avec 5 bits ou plus activés, indique un octet de données à ignorer et non écrit.

LPDDR4 comprend également un mécanisme de « rafraîchissement ciblé des rangées » pour éviter la corruption due au « row hammer » sur des rangées adjacentes. Une séquence spéciale de trois séquences d’activation/précharge spécifie la rangée qui a été activée plus souvent qu’un seuil spécifié par le dispositif (200 000 à 700 000 par cycle de rafraîchissement). En interne, le dispositif rafraîchit les rangées physiquement adjacentes plutôt que celle spécifiée dans la commande d’activation.:153-54

LP-DDR4XEdit

Samsung Semiconductor a proposé une variante de la LPDDR4 qu’il a appelée LPDDR4X.:11 La LPDDR4X est identique à la LPDDR4, sauf qu’une puissance supplémentaire est économisée en réduisant la tension d’entrée/sortie (Vddq) à 0,6 V contre 1,1 V. Le 9 janvier 2017, SK Hynix a annoncé des boîtiers LPDDR4X de 8 et 16 Go. Le JEDEC a publié la norme LPDDR4X le 8 mars 2017. Outre la tension plus basse, les améliorations supplémentaires comprennent une option de matrice à un seul canal pour les applications plus petites, de nouveaux boîtiers MCP, PoP et IoT, ainsi que des améliorations supplémentaires de définition et de synchronisation pour le grade de vitesse le plus élevé de 4266 MT/s.

LP-DDR5Edit

Le 19 février 2019, le JEDEC a publié la norme JESD209-5, Standard for Low Power Double Data Rate 5 (LPDDR5).

Samsung a annoncé qu’il disposait de prototypes fonctionnels de puces LP-DDR5 en juillet 2018. LPDDR5 introduit les changements suivants :

  • Le taux de transfert de données est augmenté à 6400 MT/s.
  • Des horloges différentielles sont utilisées
  • La prélecture n’est pas doublée à nouveau, mais reste de 16n
  • Le nombre de banques est augmenté à 16, divisé en quatre groupes de banques de type DDR4
  • Des améliorations en matière d’économie d’énergie :
    • Commandes Data-Copy et Write-X (tout un ou tout zéro) pour diminuer le transfert de données
    • Mise à l’échelle dynamique de la fréquence et de la tension
  • Une nouvelle architecture d’horloge appelée WCK & Read Strobe (RDQS)

Le contrôleur de mémoire Tiger Lake et Snapdragon 888 d’Intel prend en charge la LPDDR5.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.