LPDDR - LPDDR

DDR mobile: Samsung K4X2G323PD-8GD8

LPDDR , abbreviazione di Low-Power Double Data Rate , noto anche come LPDDR SDRAM , è un tipo di memoria dinamica sincrona ad accesso casuale che consuma meno energia ed è destinata ai computer portatili . Le varianti precedenti sono anche note come Mobile DDR e abbreviate in mDDR.

La moderna SDRAM LPDDR è distinta dalla DDR SDRAM , con varie differenze che rendono la tecnologia più appropriata per l'applicazione mobile.

Gli standard della tecnologia LPDDR sono sviluppati indipendentemente dagli standard DDR, con LPDDR4X e persino LPDDR5, ad esempio implementati prima di DDR5 SDRAM e offrendo velocità di trasmissione dati molto più elevate rispetto a DDR4 SDRAM .

Larghezza del bus

Proprietà delle diverse generazioni di LP-DDR
LP-DDR 1 1E 2 2E 3 3E 4 4X 5 5X
Densità massima 32 bit 64 bit 64 bit 32 bit 32 bit
Clock array di memoria (MHz) 200 266.7 200 266.7 200 266.7 200 266.7 400 533
Precarica dimensioni 2 n 4 n 8 n 16 n
Densità di memoria 64 Mb

8 Gb

1 Gb

32 Gb

4GB

32 Gb

4GB

32 Gb

Frequenza di clock del bus I/O (MHz) 200 266.7 400 533.3 800 1067 1600 2133 3200 4267
Velocità di trasferimento dati ( DDR ) (MT/s) 400 533.3 800 1067 1600 2133 3200 4267 6400 8533
Tensione/e di alimentazione 1,8 V 1,2, 1,8 V 1,2, 1,8 V 1,1, 1,8 V 0,6, 1,1, 1,8 V 0,5, 1,05, 1,8 V 0,5, 1,05, 1,8 V
Bus di comando/indirizzo 19 bit, SDR 10 bit, DDR 6 bit, SDR 7 bit, DDR

A differenza della SDRAM standard, utilizzata in dispositivi fissi e laptop e solitamente collegata su un bus di memoria a 64 bit, LPDDR consente anche canali a 16 o 32 bit.

Le versioni "E" contrassegnano versioni migliorate delle specifiche. Formalizzano l'overclocking dell'array di memoria fino a 266,7 MHz per un aumento delle prestazioni del 33%. I moduli di memoria che implementano queste frequenze più elevate vengono utilizzati nei MacBook Apple e nei laptop da gioco.

Come con la SDRAM standard, la maggior parte delle generazioni raddoppia la dimensione del recupero interno e la velocità di trasferimento esterna. (DDR-4 e LPDDR-5 sono le eccezioni.)

generazioni

LPDDR(1)

L'originale DDR a basso consumo (a volte chiamato retroattivamente LPDDR1 ) è una forma leggermente modificata di DDR SDRAM , con diverse modifiche per ridurre il consumo energetico complessivo.

Più significativamente, la tensione di alimentazione viene ridotta da 2,5 a 1,8 V. Ulteriori risparmi derivano dall'aggiornamento con compensazione della temperatura (la DRAM richiede un aggiornamento meno frequente a basse temperature), l'autorinfresco parziale dell'array e una modalità di "spegnimento profondo" che sacrifica tutta la memoria Contenuti. Inoltre, i chip sono più piccoli e utilizzano meno spazio sulla scheda rispetto ai loro equivalenti non mobili. Samsung e Micron sono due dei principali fornitori di questa tecnologia, che viene utilizzato in dispositivi tablet e telefono come l' iPhone 3GS , iPad originale , Samsung Galaxy Tab 7.0 e Motorola Droid X .

LPDDR2

Chip LPDDR2 da 4 Gbit Samsung K4P4G154EC-FGC1

Un nuovo standard JEDEC JESD209-2E definisce un'interfaccia DDR a bassa potenza più drammaticamente rivista. Non è compatibile né con DDR1 né con DDR2 SDRAM , ma può ospitare:

  • LPDDR2-S2: memoria di prelettura 2 n (come DDR1),
  • LPDDR2-S4: memoria di prelettura 4 n (come DDR2), oppure
  • LPDDR2-N: Memoria non volatile ( NAND flash ).

Gli stati a basso consumo sono simili all'LPDDR di base, con alcune opzioni di aggiornamento dell'array parziale aggiuntive.

I parametri di temporizzazione sono specificati da LPDDR-200 a LPDDR-1066 (frequenze di clock da 100 a 533 MHz).

Lavorando a 1,2 V, LPDDR2 multiplexa le linee di controllo e indirizzo su un bus CA a doppia velocità di trasmissione dati a 10 bit . I comandi sono simili a quelli delle normali SDRAM , fatta eccezione per la riassegnazione degli opcode di precarica e burst terminate:

Codifica comandi LPDDR2/LPDDR3
CK CA0
( RAS )
CA1
( CAS )
CA2
( NOI )
CA3 CA4 CA5 CA6 CA7 CA8 CA9 operazione
? h h h NO
?
? h h l h h Precarica tutte le banche
?
? h h l h l BA0 BA1 BA2 Precarica una banca
?
? h h l h A30 A31 A32 BA0 BA1 BA2 Preattivo
(solo LPDDR2-N)
? A20 A21 A22 A23 A24 A25 A26 A27 A28 A29
? h h l l Terminazione burst
?
? h l h riservato do1 do2 BA0 BA1 BA2 Leggi
(AP=auto-precarica)
? AP C3 C4 C5 C6 C7 C8 C9 C10 C11
? h l l riservato do1 do2 BA0 BA1 BA2 Scrivi
(AP=auto-precarica)
? AP C3 C4 C5 C6 C7 C8 C9 C10 C11
? l h R8 R9 R10 R11 R12 BA0 BA1 BA2 Attiva
(R0–14=Indirizzo riga)
? R0 R1 R2 R3 R4 R5 R6 R7 R13 R14
? l h A15 A16 A17 A18 A19 BA0 BA1 BA2 Attiva
(solo LPDDR2-N)
? A5 A6 LA7 A8 A9 A10 A11 A12 A13 A14
? l l h h Aggiorna tutti i banchi
(solo LPDDR2-Sx)
?
? l l h l Aggiorna un banco
(indirizzamento round-robin)
?
? l l l h MA0 MA1 MA2 MA3 MA4 MA5 Lettura registro modalità
(MA0–7=Indirizzo)
? MA6 MA7
? l l l l MA0 MA1 MA2 MA3 MA4 MA5 Modalità di scrittura del registro
(OP0–7=Dati)
? MA6 MA7 OP0 OP1 OP2 OP3 OP4 OP5 OP6 OP7

Il bit di indirizzo di colonna C0 non viene mai trasferito e si presume che sia zero. I trasferimenti burst iniziano quindi sempre agli indirizzi pari.

LPDDR2 ha anche un chip select attivo-basso (quando alto, tutto è un NOP) e un segnale CKE di abilitazione del clock, che funziona come SDRAM. Inoltre, come SDRAM, il comando inviato sul ciclo in cui CKE viene rilasciato per la prima volta seleziona lo stato di spegnimento:

  • Se il chip è attivo, si blocca sul posto.
  • Se il comando è un NOP ( CS low o CA0–2 = HHH), il chip è inattivo.
  • Se il comando è un comando di aggiornamento (CA0–2 = LLH), il chip entra nello stato di aggiornamento automatico.
  • Se il comando è un burst terminate (CA0–2 = HHL), il chip entra nello stato di spegnimento profondo. (Una sequenza di ripristino completo è necessaria quando si esce.)

I registri di modalità sono stati notevolmente ampliati rispetto alla SDRAM convenzionale, con uno spazio di indirizzamento a 8 bit e la capacità di rileggerli. Sebbene sia più piccolo di una EEPROM di rilevamento della presenza seriale , sono incluse informazioni sufficienti per eliminare la necessità di una EEPROM.

I dispositivi S2 inferiori a 4  Gbit e i dispositivi S4 inferiori a 1 Gbit hanno solo quattro banchi. Ignorano il segnale BA2 e non supportano il refresh per banco.

I dispositivi di memoria non volatile non utilizzano i comandi di aggiornamento e riassegnano il comando di precarica per trasferire i bit di indirizzo A20 e superiori. I bit di ordine inferiore (A19 e down) vengono trasferiti da un successivo comando di attivazione. Questo trasferisce la riga selezionata dall'array di memoria a uno dei buffer di dati di 4 o 8 righe (selezionati dai bit BA), dove possono essere letti da un comando di lettura. A differenza della DRAM, i bit dell'indirizzo del banco non fanno parte dell'indirizzo di memoria; qualsiasi indirizzo può essere trasferito a qualsiasi buffer di dati di riga. Un buffer di dati di riga può essere lungo da 32 a 4096 byte, a seconda del tipo di memoria. Le righe più grandi di 32 byte ignorano alcuni dei bit di indirizzo di ordine inferiore nel comando Activate. Le righe inferiori a 4096 byte ignorano alcuni dei bit di indirizzo di ordine superiore nel comando Read.

La memoria non volatile non supporta il comando Scrivi per rigare i buffer di dati. Piuttosto, una serie di registri di controllo in una regione di indirizzo speciale supporta i comandi di lettura e scrittura, che possono essere utilizzati per cancellare e programmare l'array di memoria.

LPDDR3

Nel maggio 2012, JEDEC ha pubblicato lo standard per dispositivi di memoria a basso consumo JESD209-3. Rispetto a LPDDR2, LPDDR3 offre una velocità dati più elevata, una maggiore larghezza di banda ed efficienza energetica e una maggiore densità di memoria. LPDDR3 raggiunge una velocità di trasmissione dati di 1600 MT/s e utilizza nuove tecnologie chiave: livellamento della scrittura e training di comando/indirizzo, terminazione on-die (ODT) opzionale e capacità di I/O ridotta. LPDDR3 supporta sia package-on-package (PoP) che tipi di packaging discreti.

La codifica del comando è identica a LPDDR2, utilizzando un bus CA a doppia velocità dati a 10 bit. Tuttavia, lo standard specifica solo 8 n- prefetch DRAM e non include i comandi della memoria flash.

I prodotti che utilizzano LPDDR3 includono MacBook Air 2013, iPhone 5S , iPhone 6 , Nexus 10 , Samsung Galaxy S4 (GT-I9500) e Microsoft Surface Pro 3 . LPDDR3 è diventato mainstream nel 2013, funzionando a 800 MHz DDR (1600 MT/s), offrendo una larghezza di banda paragonabile alla memoria del notebook PC3-12800 nel 2011 (12,8 GB/s di larghezza di banda). Per ottenere questa larghezza di banda, il controller deve implementare la memoria a doppio canale. Ad esempio, questo è il caso dell'Exynos 5 Dual e del 5 Octa.

Una versione "potenziata" della specifica chiamata LPDDR3e aumenta la velocità dei dati a 2133 MT/s. Samsung Electronics ha introdotto i primi moduli LPDDR3 da 4  gigabit di classe 20 nm in grado di trasmettere dati fino a 2.133 MT/s, più del doppio delle prestazioni del vecchio LPDDR2 che è in grado di trasmettere solo 800 MT/s. Vari SoC di vari produttori supportano nativamente anche la RAM LPDDR3 da 800 MHz. Questi includono Snapdragon 600 e 800 di Qualcomm e alcuni SoC delle serie Exynos e Allwinner .

LPDDR4

Il 14 marzo 2012, JEDEC ha ospitato una conferenza per esplorare come i futuri requisiti dei dispositivi mobili guideranno gli standard imminenti come LPDDR4. Il 30 dicembre 2013, Samsung ha annunciato di aver sviluppato il primo LPDDR4 da 20 nm di classe 8 gigabit (1 GB) in grado di trasmettere dati a 3.200 MT/s, fornendo così il 50% di prestazioni in più rispetto al più veloce LPDDR3 e consumando circa il 40% in meno energia a 1,1 volt.

Il 25 agosto 2014, JEDEC ha pubblicato il JESD209-4 LPDDR4 Low Power Memory Device Standard.

I cambiamenti significativi includono:

  • Raddoppiamento della velocità dell'interfaccia e numerose modifiche elettriche conseguenti, inclusa la modifica dello standard I/O in logica Swing-Terminal a bassa tensione (LVSTL)
  • Raddoppiamento della dimensione di prelettura interna e dimensione minima di trasferimento
  • Passaggio da un bus di comando/indirizzo DDR a 10 bit a un bus SDR a 6 bit
  • Passare da un bus a 32 bit a due bus indipendenti a 16 bit
  • L'auto-aggiornamento è abilitato da comandi dedicati, piuttosto che essere controllato dalla linea CKE

Lo standard definisce i pacchetti SDRAM contenenti due canali di accesso indipendenti a 16 bit, ciascuno connesso a un massimo di due die per pacchetto. Ogni canale ha una larghezza di 16 bit di dati, ha i propri pin di controllo/indirizzo e consente l'accesso a 8 banchi di DRAM. Pertanto, il pacchetto può essere collegato in tre modi:

  • Linee dati e controllo collegati in parallelo a un bus dati a 16 bit e solo chip select collegati in modo indipendente per canale.
  • Alle due metà di un bus dati a 32 bit e alle linee di controllo in parallelo, inclusa la selezione del chip.
  • A due bus dati indipendenti a 16 bit di larghezza

Ogni die fornisce 4, 6, 8, 12 o 16  gigabit di memoria, metà per ogni canale. Pertanto, ogni banco è un sedicesimo delle dimensioni del dispositivo. Questo è organizzato nel numero appropriato (da 16  K a 64 K) di righe a 16384 bit (2048 byte). È prevista l'estensione a 24 e 32 gigabit, ma non è ancora deciso se ciò avverrà aumentando il numero di righe, la loro larghezza o il numero di banchi.

Sono inoltre definiti imballi più grandi che forniscono una larghezza doppia (quattro canali) e fino a quattro matrici per coppia di canali (8 matrici in totale per confezione).

L'accesso ai dati avviene in burst di 16 o 32 trasferimenti (256 o 512 bit, 32 o 64 byte, 8 o 16 cicli DDR). I burst devono iniziare su limiti a 64 bit.

Poiché la frequenza di clock è maggiore e la lunghezza minima del burst più lunga rispetto agli standard precedenti, i segnali di controllo possono essere multiplexati in modo più elevato senza che il bus di comando/indirizzo diventi un collo di bottiglia. LPDDR4 esegue il multiplexing delle linee di controllo e indirizzo su un bus CA a velocità dati singola a 6 bit. I comandi richiedono 2 cicli di clock e le operazioni che codificano un indirizzo (es. attivazione riga, lettura o scrittura colonna) richiedono due comandi. Ad esempio, per richiedere una lettura da un chip inattivo sono necessari quattro comandi che richiedono 8 cicli di clock: Activate-1, Activate-2, Read, CAS-2.

La linea di selezione del chip (CS) è attiva- alta . Il primo ciclo di un comando è identificato dal fatto che la selezione del chip è alta; è basso durante il secondo ciclo.

Codifica comandi LPDDR4
Primo ciclo (CS=H) Secondo ciclo (CS=L) operazione
CA5 CA4 CA3 CA2 CA1 CA0 CA5 CA4 CA3 CA2 CA1 CA0
l l l l l l Nessuna operazione
h l l l l l 0 OP4 OP3 OP2 OP1 1 Comando multiuso
AB h l l l l BA2 BA1 BA0 Precarica (AB=tutte le banche)
AB l h l l l BA2 BA1 BA0 Aggiorna (AB=Tutti i banchi)
h h l l l Voce di aggiornamento automatico
BL l l h l l AP C9 BA2 BA1 BA0 Scrivi-1 (+CAS-2)
h l h l l Uscita con aggiornamento automatico
0 l h h l l AP C9 BA2 BA1 BA0 Scrittura mascherata-1 (+CAS-2)
h h h l l (riservato)
BL l l l h l AP C9 BA2 BA1 BA0 Lettura-1 (+CAS-2)
C8 h l l h l C7 C6 C5 C4 C3 do2 CAS-2
h l h l (riservato)
OP7 l l h h l MA5 MA4 MA3 MA2 MA1 MA0 Modalità Registro Scrivi-1 e -2
MA=Indirizzo, OP=Dati
OP6 h l h h l OP5 OP4 OP3 OP2 OP1 OP0
l h h h l MA5 MA4 MA3 MA2 MA1 MA0 Lettura registro modalità (+CAS-2)
h h h h l (riservato)
R15 R14 R13 R12 l h R11 R10 R16 BA2 BA1 BA0 Attiva -1 e -2
R9 R8 R7 R6 h h R5 R4 R3 R2 R1 R0

Il comando CAS-2 viene utilizzato come seconda metà di tutti i comandi che eseguono un trasferimento attraverso il bus dati e fornisce bit di indirizzo di colonna di ordine inferiore:

  • I comandi di lettura devono iniziare su un indirizzo di colonna multiplo di 4; non è prevista la comunicazione alla memoria di un bit di indirizzo C0 o C1 diverso da zero.
  • I comandi di scrittura devono iniziare su un indirizzo di colonna multiplo di 16; C2 e C3 devono essere zero per un comando di scrittura.
  • La lettura del registro di modalità e alcuni comandi multifunzione devono essere seguiti anche da un comando CAS-2, tuttavia tutti i bit di colonna devono essere zero (basso).

La lunghezza del burst può essere configurata per essere 16, 32 o selezionabile dinamicamente dal bit BL delle operazioni di lettura e scrittura.

Un segnale DMI (data mask/invert) è associato a ciascuna 8 linee dati e può essere utilizzato per ridurre al minimo il numero di bit guidati in alto durante i trasferimenti di dati. Quando è alto, gli altri 8 bit sono integrati sia dal trasmettitore che dal ricevitore. Se un byte contiene cinque o più 1 bit, il segnale DMI può essere portato in alto, insieme a tre o meno linee dati. Poiché le linee di segnale sono terminate in modo basso, questo riduce il consumo di energia.

(Un utilizzo alternativo, in cui viene utilizzato DMI per limitare il numero di linee dati che attivano ogni trasferimento a un massimo di 4, riduce al minimo la diafonia. Questo può essere utilizzato dal controller di memoria durante le scritture, ma non è supportato dai dispositivi di memoria.)

L'inversione del bus dati può essere abilitata separatamente per le operazioni di lettura e scrittura. Per le scritture mascherate (che hanno un codice di comando separato), il funzionamento del segnale DMI dipende dall'abilitazione o meno dell'inversione di scrittura.

  • Se DBI in scrittura è disabilitato, un livello alto su DMI indica che il corrispondente byte di dati deve essere ignorato e non scritto
  • Se DBI in scrittura è abilitato, un livello basso su DMI, combinato con un byte di dati con 5 o più bit impostati, indica un byte di dati da ignorare e non scrivere.

LPDDR4 include anche un meccanismo per il "rinfresco delle righe mirato" per evitare il danneggiamento dovuto al " martello di riga " sulle righe adiacenti. Una sequenza speciale di tre sequenze di attivazione/precarica specifica la riga che è stata attivata più spesso di una soglia specificata dal dispositivo (da 200.000 a 700.000 per ciclo di aggiornamento). Internamente, il dispositivo aggiorna le righe fisicamente adiacenti anziché quella specificata nel comando di attivazione.

LPDDR4X

Samsung Semiconductor ha proposto una variante LPDDR4 che ha chiamato LPDDR4X. LPDDR4X è identico a LPDDR4 tranne per il risparmio di energia aggiuntiva riducendo la tensione di I/O (Vddq) a 0,6 V da 1,1 V. Il 9 gennaio 2017, SK Hynix ha annunciato pacchetti LPDDR4X da 8 e 16 GB. JEDEC ha pubblicato lo standard LPDDR4X l'8 marzo 2017. Oltre alla tensione più bassa, ulteriori miglioramenti includono un'opzione die a canale singolo per applicazioni più piccole, nuovi pacchetti MCP, PoP e IoT e ulteriori miglioramenti di definizione e temporizzazione per i 4266 MT/s più elevati grado di velocità.

LPDDR5

Il 19 febbraio 2019, JEDEC ha pubblicato il JESD209-5, Standard for Low Power Double Data Rate 5 (LPDDR5).

Samsung ha annunciato di avere un prototipo funzionante di chip LP-DDR5 nel luglio 2018. LPDDR5 introduce le seguenti modifiche:

  • La velocità di trasferimento dei dati è aumentata a 6400 Mbps.
  • Vengono utilizzati orologi differenziali
  • Prefetch non viene raddoppiato di nuovo, ma rimane 16 n
  • Il numero di banche viene aumentato a 16, divise in quattro gruppi di banche simili a DDR4
  • Miglioramenti al risparmio energetico:
    • Comandi Data-Copy e Write-X (tutti uno o tutti zero) per ridurre il trasferimento dei dati
    • Ridimensionamento dinamico della frequenza e della tensione
  • Una nuova architettura di clock chiamata WCK & Read Strobe (RDQS)

AMD Van Gogh (ancora da rilasciare), Intel Tiger Lake e il controller di memoria Snapdragon 888 supportano LPDDR5.

LPDDR5X

Il 28 luglio 2021, JEDEC ha pubblicato il JESD209-5B, Standard for Low Power Double Data Rate 5X (LPDDR5X) con le seguenti modifiche:

  • Estensione di velocità fino a 8533 Mbps
  • Miglioramenti dell'integrità del segnale con l'equalizzazione TX/RX
  • Miglioramenti dell'affidabilità tramite la nuova funzione Adaptive Refresh Management
  • Il prefetch è sempre lo stesso di LPDDR5 a 16n

Secondo i rapporti, Mi 12 potrebbe diventare il primo telefono con RAM LPDDR5X alla fine di quest'anno.

Appunti

Riferimenti

link esterno