LPDDR

LP-DDR(1)Edit

L’originale DDR a basso consumo (talvolta chiamata retroattivamente LPDDR1) è una forma leggermente modificata di DDR SDRAM, con diversi cambiamenti per ridurre il consumo complessivo di energia.

Il più significativo, la tensione di alimentazione è ridotta da 2,5 a 1,8 V. Ulteriori risparmi provengono dal refresh compensato dalla temperatura (la DRAM richiede un refresh meno frequente alle basse temperature), dall’auto-rifresco parziale dell’array e da una modalità “deep power down” che sacrifica tutti i contenuti della memoria. Inoltre, i chip sono più piccoli, utilizzando meno spazio sulla scheda rispetto ai loro equivalenti non mobili. Samsung e Micron sono due dei principali fornitori di questa tecnologia, che è utilizzata in dispositivi tablet e telefonici come l’iPhone 3GS, l’iPad originale, Samsung Galaxy Tab 7.0 e Motorola Droid X.

LP-DDR2Edit

Samsung K4P4G154EC-FGC1 4 Gbit LPDDR2 chip

Un nuovo standard JEDEC JESD209-2E definisce un’interfaccia DDR a basso consumo più drasticamente rivista. Non è compatibile né con DDR1 né con DDR2 SDRAM, ma può ospitare sia:

  • LPDDR2-S2: memoria 2n prefetch (come DDR1),
  • LPDDR2-S4: memoria 4n prefetch (come DDR2), o
  • LPDDR2-N: memoria non volatile (NAND flash).

Gli stati di bassa potenza sono simili alla LPDDR di base, con alcune opzioni aggiuntive di aggiornamento parziale dell’array.

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

Funzionando a 1,2 V, LPDDR2 multiplexa le linee di controllo e indirizzo su un bus CA a 10 bit a doppia velocità di dati. I comandi sono simili a quelli della normale SDRAM, tranne che per la riassegnazione degli opcode di pre-carica e di terminazione del burst:

Codifica comando LPDDR2/LPDDR3
CK CA0
(RAS)
CA1
(CAS)
CA2
(WE)
CA3 CA4 CA5 CA6 CA7 CA8 CA9 Operazione
H H H NOP
H H L H H Carica tutti i banchi
H H L H L BA0 BA1 BA2 Precaricare un banco
H H L H A30 A31 A32 BA0 BA1 BA2 Preactive
(LPDDR2-N solo)
A20 A21 A22 A23 A24 A25 A26 A27 A28 A29
H H L L termine dello scoppio
H L H riservato C1 C2 BA0 BA1 BA2 Lettura
(AP=auto-precharge)
AP C3 C4 C5 C6 C7 C8 C9 C10 C11
H L L riservato C1 C2 BA0 BA1 BA2 Scrivi
(AP=auto-precharge)
AP C3 C4 C5 C6 C7 C8 C9 C10 C11
L H R8 R9 R10 R11 R12 BA0 BA1 BA2 Attivare
(R0-14=indirizzo riga indirizzo)
R0 R1 R2 R3 R4 R5 R6 R7 R13 R14
L H A15 A16 A17 A18 A19 BA0 BA1 BA2 Attiva
(LPDDR2-N solo)
A5 A6 A7 A8 A9 A10 A11 A12 A13 A14
L L H H Refresh tutti i banchi
(LPDDR2-Sx solo)
L L H L Rinfresca un banco
(Round-robin)
L L L H MA0 MA1 MA2 MA3 MA4 MA5 Registro modalità lettura
(MA0-7=Indirizzo)
MA6 MA7
L L L L MA0 MA1 MA2 MA3 MA4 MA5 Scrittura registro modalità
(OP0-7=Dati)
MA6 MA7 OP0 OP1 OP2 OP3 OP4 OP5 OP6 OP7

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

LPDDR2 ha anche un chip select attivo-basso (quando è alto, tutto è un NOP) e un segnale di clock enable CKE, che operano come SDRAM. Sempre come le SDRAM, il comando inviato nel ciclo in cui il CKE è caduto per primo seleziona lo stato di spegnimento:

  • Se il chip è attivo, si blocca sul posto.
  • Se il comando è un NOP (CS basso o CA0-2 = HHH), il chip è inattivo.
  • Se il comando è un comando di refresh (CA0-2 = LLH), il chip entra nello stato di self-refresh.
  • Se il comando è un burst terminate (CA0-2 = HHL), il chip entra nello stato di deep power-down. (Una sequenza di reset completa è richiesta quando si esce.)

I registri di modalità sono stati notevolmente ampliati rispetto alla SDRAM convenzionale, con uno spazio di indirizzo di 8 bit, e la capacità di leggerli indietro. Anche se più piccolo di una EEPROM di rilevamento presenza seriale, sono incluse abbastanza informazioni da eliminare la necessità di una.

I dispositivi S2 più piccoli di 4 Gbit, e i dispositivi S4 più piccoli di 1 Gbit hanno solo quattro banchi. Ignorano il segnale BA2 e non supportano l’aggiornamento per banco.

I dispositivi di memoria non volatile non usano i comandi di aggiornamento e riassegnano il comando di precarica al trasferimento dei bit di indirizzo A20 e superiori. I bit di ordine inferiore (A19 e giù) sono trasferiti da un seguente comando Activate. Questo trasferisce la fila selezionata dall’array di memoria a uno dei 4 o 8 (selezionati dai bit BA) buffer di dati di fila, dove possono essere letti da un comando Read. A differenza della DRAM, i bit di 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 più piccole di 4096 byte ignorano alcuni dei bit di indirizzo di ordine superiore nel comando Read.

La memoria non volatile non supporta il comando Write ai buffer di dati di riga. Piuttosto, una serie di registri di controllo in una speciale regione di indirizzi supporta i comandi di lettura e scrittura, che possono essere usati per cancellare e programmare l’array di memoria.

LP-DDR3Edit

Nel maggio 2012, JEDEC ha pubblicato il JESD209-3 Low Power Memory Device Standard. Rispetto a LPDDR2, LPDDR3 offre una maggiore velocità di dati, una maggiore larghezza di banda ed efficienza energetica, e una maggiore densità di memoria. LPDDR3 raggiunge un data rate di 1600 MT/s e utilizza nuove tecnologie chiave: write-leveling e command/address training, terminazione opzionale on-die (ODT) e bassa capacità I/O. LPDDR3 supporta sia il tipo di imballaggio package-on-package (PoP) che quello discreto.

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

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

Una versione “migliorata” della specifica chiamata LPDDR3e aumenta la velocità dei dati a 2133 MT/s. Samsung Electronics ha introdotto i primi moduli LPDDR3 a 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 è capace solo di 800 MT/s. Vari SoC di vari produttori supportano nativamente anche la RAM LPDDR3 a 800 MHz. Tali includono lo Snapdragon 600 e 800 di Qualcomm così come alcuni SoC delle serie Exynos e Allwinner.

LP-DDR4Edit

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

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

Le modifiche significative includono:

  • Riduzione della velocità dell’interfaccia, e numerosi cambiamenti elettrici conseguenti, tra cui il cambiamento dello standard I/O a bassa tensione swing-terminated logic (LVSTL)
  • Riduzione della dimensione interna del prefetch, e la dimensione minima di trasferimento
  • Cambio da un bus di comando/indirizzo DDR a 10 bit a un bus SDR a 6 bit
  • Cambio da un bus largo 32 bit a due bus indipendenti larghi 16 bit
  • Il self-refresh è abilitato da comandi dedicati, piuttosto che essere controllato dalla linea CKE

Lo standard definisce pacchetti SDRAM contenenti due canali di accesso indipendenti a 16 bit, ciascuno collegato a un massimo di due die per pacchetto. Ogni canale è largo 16 bit di dati, ha i propri pin di controllo/indirizzo e permette l’accesso a 8 banchi di DRAM. Così, il pacchetto può essere collegato in tre modi:

  • Le linee dati e il controllo sono collegati in parallelo a un bus dati a 16 bit, e solo i chip select sono collegati indipendentemente per canale.
  • A due metà di un bus dati largo 32 bit, e le linee di controllo in parallelo, compreso il chip select.
  • A due bus dati indipendenti larghi 16 bit

Ogni die fornisce 4, 6, 8, 12 o 16 gibit di memoria, metà per ogni canale. Così, ogni banco è un sedicesimo della dimensione del dispositivo. Questo è organizzato nel numero appropriato (da 16 Ki a 64 Ki) di file da 16384 bit (2048 byte). L’estensione a 24 e 32 gibibit è prevista, ma non è ancora deciso se questo sarà fatto aumentando il numero di righe, la loro larghezza, o il numero di banchi.

Sono anche definiti pacchetti più grandi che forniscono doppia larghezza (quattro canali) e fino a quattro matrici per coppia di canali (8 matrici totali per pacchetto).

I dati sono accessibili 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 confini di 64 bit.

Poiché la frequenza di clock è più alta e la lunghezza minima dei burst è più lunga rispetto agli standard precedenti, i segnali di controllo possono essere più altamente multiplexati senza che il bus comando/indirizzo diventi un collo di bottiglia. LPDDR4 multiplexa le linee di controllo e di indirizzo su un bus CA a velocità di dati singola a 6 bit. I comandi richiedono 2 cicli di clock, e le operazioni che codificano un indirizzo (per esempio attivare la riga, leggere o scrivere la colonna) richiedono due comandi. Per esempio, richiedere una lettura da un chip inattivo richiede quattro comandi che richiedono 8 cicli di clock: Activate-1, Activate-2, Read, CAS-2.

La linea chip select (CS) è attiva-alta. Il primo ciclo di un comando è identificato dal chip select alto; è basso durante il secondo ciclo.

Codifica comando LPDDR4:151
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 Nessun funzionamento
H L L L L L 0 OP4 OP3 OP2 OP1 1 Comando multipurpose command
AB H L L L L BA2 BA1 BA0 Precarica (AB=tutti i banchi)
AB L H L L L BA2 BA1 BA0 Refresh (AB=Tutti i banchi)
H H L L L Self-aggiorna voce
BL L L H L L AP C9 BA2 BA1 BA0 Scrivi-1 (+CAS-2)
H L H L L Self-aggiornamento uscita
0 L H H L L L AP C9 BA2 BA1 BA0 Mascherato Write-1 (+CAS-2)
H H H L L (riservato)
BL L L L H L AP C9 BA2 BA1 BA0 Leggi-1 (+CAS-2)
C8 H L L H L C7 C6 C5 C4 C3 C2 CAS-2
H L H L (riservato)
OP7 L L H H L MA5 MA4 MA3 MA2 MA1 MA0 Scrittura registro modalità-1 e -2
MA=Indirizzo, OP=Data
OP6 H L H H L OP5 OP4 OP3 OP2 OP1 OP0
L H H L MA5 MA4 MA3 MA2 MA1 MA0 Registro modalità di lettura (+CAS-2)
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 CAS-2 è usato 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 che è un multiplo di 4; non è prevista la comunicazione di un bit di indirizzo C0 o C1 non nullo alla memoria.
  • I comandi di scrittura devono iniziare su un indirizzo di colonna che è un multiplo di 16; C2 e C3 devono essere zero per un comando di scrittura.
  • La lettura del registro di modalità e alcuni comandi multiuso devono anche essere seguiti da un comando CAS-2, tuttavia tutti i bit di colonna devono essere zero (bassi).

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

Un segnale DMI (data mask/invert) è associato a ogni 8 linee dati, e può essere usato per minimizzare il numero di bit pilotati alti durante i trasferimenti dati. Quando è alto, gli altri 8 bit sono completati sia dal trasmettitore che dal ricevitore. Se un byte contiene cinque o più bit 1, il segnale DMI può essere pilotato alto, insieme a tre o meno linee dati. Poiché le linee di segnale sono terminate basse, questo riduce il consumo di energia.

(Un uso alternativo, in cui DMI è usato per limitare il numero di linee di dati che si alternano su ogni trasferimento a un massimo di 4, minimizza la diafonia. Questo può essere usato 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 letture e le scritture. Per le scritture mascherate (che hanno un codice di comando separato), il funzionamento del segnale DMI dipende dal fatto che l’inversione di scrittura sia abilitata.

  • Se DBI in scrittura è disabilitata, un livello alto su DMI indica che il byte di dati corrispondente deve essere ignorato e non scritto
  • Se DBI in scrittura è abilitata, 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 di “aggiornamento mirato delle righe” per evitare la corruzione dovuta al “row hammer” su righe adiacenti. Una sequenza speciale di tre sequenze di attivazione/precarica specifica la fila 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 piuttosto che quella specificata nel comando di attivazione.:153-54

LP-DDR4XEdit

Samsung Semiconductor ha proposto una variante LPDDR4 che ha chiamato LPDDR4X.:11 LPDDR4X è identica a LPDDR4 tranne che la potenza aggiuntiva viene risparmiata riducendo la tensione 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 GiB. JEDEC ha pubblicato lo standard LPDDR4X l’8 marzo 2017. A parte la tensione inferiore, 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 tempistica per il grado di velocità più alto 4266 MT/s.

LP-DDR5Modifica

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

Samsung ha annunciato di avere prototipi di chip LP-DDR5 funzionanti nel luglio 2018. LPDDR5 introduce i seguenti cambiamenti:

  • La velocità di trasferimento dati è aumentata a 6400 MT/s.
  • Si utilizzano clock differenziali
  • Il refetch non viene raddoppiato di nuovo, ma rimane 16n
  • Il numero di banchi è aumentato a 16, divisi in quattro gruppi di banchi simili alle DDR4
  • Miglioramenti al risparmio energetico:
    • Comandi Data-Copy e Write-X (tutto uno o tutto zero) per diminuire il trasferimento dei dati
    • Scalamento dinamico di frequenza e tensione
  • Una nuova architettura di clock chiamata WCK & Read Strobe (RDQS)

Il controller di memoria Intel Tiger Lake e Snapdragon 888 supporta LPDDR5.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.