LP-DDR(1)Edit
Den oprindelige low-power DDR (nogle gange retroaktivt kaldet LPDDR1) er en let modificeret form for DDR SDRAM med flere ændringer for at reducere det samlede strømforbrug.
Det vigtigste er, at forsyningsspændingen er reduceret fra 2,5 til 1,8 V. Yderligere besparelser kommer fra temperaturkompenseret opdatering (DRAM skal opdateres sjældnere ved lave temperaturer), delvis selvopfriskning af arrayet og en “dyb sluktilstand”, som ofrer alt hukommelsesindhold. Desuden er chipsene mindre og bruger mindre plads på kortet end deres ikke-mobile modstykker. Samsung og Micron er to af de største leverandører af denne teknologi, som anvendes i tablet- og telefonapparater som iPhone 3GS, den originale iPad, Samsung Galaxy Tab 7.0 og Motorola Droid X.
LP-DDR2Edit
En ny JEDEC-standard JESD209-2E definerer en mere dramatisk revideret low-power DDR-grænseflade. Den er ikke kompatibel med hverken DDR1 eller DDR2 SDRAM, men kan rumme enten:
- LPDDR2-S2: 2n prefetch-hukommelse (som DDR1),
- LPDDR2-S4: 4n prefetch-hukommelse (som DDR2), eller
- LPDDR2-N: Ikke-flygtig (NAND-flash) hukommelse.
Low-power-tilstande svarer til grundlæggende LPDDR med nogle yderligere muligheder for delvis arrayopfriskning.
Timingparametre er specificeret for LPDDR-200 til LPDDR-1066 (clockfrekvenser fra 100 til 533 MHz).
LPDDR2, der fungerer ved 1,2 V, multiplexer kontrol- og adresselinjerne på en 10-bit CA-bus med dobbelt datahastighed på 10 bit. Kommandoerne svarer til dem for normal SDRAM, bortset fra omfordelingen af opkoderne for precharge og burstterminering:
CK | CA0 (RAS) |
CA1 (CAS) |
CA2 (WE) |
CA3 | CA4 | CA5 | CA5 | CA6 | CA7 | CA8 | CA9 | Operation | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
H | H | H | H | – | NOP | |||||||||
↘ | – | |||||||||||||
H | H | H | L | H | H | H | – | Forudladning af alle banker | ||||||
↘ | – | |||||||||||||
H | H | H | L | H | H | L | – | BA0 | BA1 | BA2 | Precharge one bank | |||
↘ | – | |||||||||||||
H | H | H | L | H | A30 | A31 | A32 | BA0 | BA1 | BA2 | Preaktiv (LPDDR2-N kun) |
|||
↘ | A20 | A21 | A22 | A23 | A24 | A24 | A25 | A26 | A27 | A28 | A29 | |||
H | H | H | L | L | – | Burst afsluttes | ||||||||
↘ | – | |||||||||||||
H | L | H | reserved | C1 | C2 | BA0 | BA1 | BA2 | Read (AP=auto-forladning) |
|||||
↘ | AP | C3 | C4 | C5 | C6 | C7 | C8 | C9 | C10 | C11 | ||||
H | L | L | reserved | C1 | C2 | BA0 | BA1 | BA2 | Write (AP=auto-precharge) |
|||||
↘ | AP | C3 | C4 | C5 | C6 | C7 | C8 | C9 | C10 | C11 | ||||
L | H | R8 | R9 | R10 | R11 | R12 | BA0 | BA1 | BA2 | Aktiverer (R0-14=Række adresse) |
||||
↘ | R0 | R1 | R2 | R3 | R4 | R5 | R6 | R7 | R13 | R14 | R14 | |||
L | H | A15 | A16 | A17 | A18 | A19 | BA0 | BA1 | BA2 | Aktiverer (LPDDR2-N kun) |
||||
↘ | A5 | A6 | A7 | A8 | A9 | A10 | A11 | A12 | A12 | A13 | A14 | |||
L | L | H | H | – | Refresh all banks (LPDDR2-Sx kun) |
|||||||||
↘ | – | |||||||||||||
L | L | H | L | – | Fraser en bank (Round-robinadressering) |
|||||||||
↘ | – | |||||||||||||
L | L | L | H | MA0 | MA1 | MA2 | MA3 | MA3 | MA4 | MA5 | Læsning af mode-register (MA0-7=Addresse) |
|||
↘ | MA6 | MA7 | – | |||||||||||
L | L | L | L | L | MA0 | MA1 | MA2 | MA3 | MA4 | MA4 | MA5 | Skrivning af mode-register (OP0-7=Data) |
||
↘ | MA6 | MA7 | OP0 | OP1 | OP2 | OP3 | OP4 | OP5 | OP6 | OP7 |
Kolonneadressebit C0 overføres aldrig, og antages at være nul. Burstoverførsler begynder således altid ved lige adresser.
LPDDR2 har også et aktivt lavt chip select-signal (når det er højt, er alt en NOP) og et clock enable CKE-signal, som fungerer som SDRAM. Også ligesom SDRAM vælger den kommando, der sendes i den cyklus, hvor CKE først tabes, sluktilstanden:
- Hvis chippen er aktiv, fryser den på plads.
- Hvis kommandoen er en NOP (CS low eller CA0-2 = HHHH), går chippen i tomgang.
- Hvis kommandoen er en genopfriskningskommando (CA0-2 = LLH), går chippen ind i selvopfriskningstilstand.
- Hvis kommandoen er en burstterminering (CA0-2 = HHL), går chippen ind i dyb sluktilstand. (En fuld nulstillingssekvens er påkrævet, når den forlades.)
Mode-registrene er blevet kraftigt udvidet i forhold til konventionelle SDRAM, med et 8-bit adresseområde og mulighed for at læse dem tilbage. Selv om de er mindre end en EEPROM med seriel tilstedeværelsesdetektion, er der inkluderet nok information til at eliminere behovet for en sådan.
S2-enheder mindre end 4 Gbit og S4-enheder mindre end 1 Gbit har kun fire banker. De ignorerer BA2-signalet og understøtter ikke opdatering pr. bank.
Enheder med ikke-flygtig hukommelse bruger ikke opdateringskommandoerne og omfordeler precharge-kommandoen til at overføre adressebits A20 og opefter. De laveste bits (A19 og nedad) overføres ved en efterfølgende Activate-kommando. Herved overføres den valgte række fra hukommelsesmatrixen til en af 4 eller 8 (valgt af BA-bits) række-datapuffere, hvor de kan læses ved hjælp af en Read-kommando. I modsætning til DRAM er bankadressebitsene ikke en del af hukommelsesadressen; enhver adresse kan overføres til en hvilken som helst datapuffer i rækken. En række datapuffer kan være fra 32 til 4096 bytes lang, afhængigt af hukommelsestypen. Rækker, der er større end 32 bytes, ignorerer nogle af de laveste adressebits i kommandoen Activate. Rækker mindre end 4096 bytes ignorerer nogle af de høje adressebits i Read-kommandoen.
Non-volatile memory understøtter ikke Write-kommandoen til row data buffers. I stedet understøtter en række kontrolregistre i et særligt adresseområde læse- og skrivekommandoer, som kan bruges til at slette og programmere hukommelsesmatrixen.
LP-DDR3Edit
I maj 2012 offentliggjorde JEDEC standarden JESD209-3 Low Power Memory Device Standard (standard for hukommelsesenheder med lavt strømforbrug). I sammenligning med LPDDR2 tilbyder LPDDR3 en højere datahastighed, større båndbredde og strømeffektivitet samt højere hukommelsestæthed. LPDDR3 opnår en datahastighed på 1600 MT/s og anvender nye nøgleteknologier: skrive-nivellering og kommando/adresse-træning, valgfri on-die terminering (ODT) og lav I/O kapacitans. LPDDR3 understøtter både pakke-på-pakning (PoP) og diskrete pakningstyper.
Kommandokodningen er identisk med LPDDR2, idet der anvendes en 10-bit CA-bus med dobbelt datahastighed med 10-bit. Standarden specificerer dog kun 8n-prefetch DRAM og omfatter ikke flashhukommandoer.
Produkter, der anvender LPDDR3, omfatter 2013 MacBook Air, iPhone 5S, iPhone 6, Nexus 10, Samsung Galaxy S4 (GT-I9500) og Microsoft Surface Pro 3. LPDDR3 blev mainstream i 2013 og kører med 800 MHz DDR (1600 MT/s), hvilket giver en båndbredde, der kan sammenlignes med PC3-12800-hukommelse til bærbare computere i 2011 (12,8 GB/s båndbredde). For at opnå denne båndbredde skal controlleren implementere dual-channel-hukommelse. Dette er f.eks. tilfældet for Exynos 5 Dual og 5 Octa.
En “forbedret” version af specifikationen kaldet LPDDR3e øger datahastigheden til 2133 MT/s. Samsung Electronics introducerede de første 4 gigabit LPDDR3-moduler i 20 nm-klassen, der kan overføre data med op til 2.133 MT/s, hvilket er mere end dobbelt så høj ydeevne som den ældre LPDDR2, der kun kan overføre 800 MT/s. Forskellige SoC’er fra forskellige producenter understøtter også indbygget 800 MHz LPDDR3 RAM. Det gælder bl.a. Snapdragon 600 og 800 fra Qualcomm samt nogle SoC’er fra Exynos- og Allwinner-serierne.
LP-DDR4Edit
Den 14. marts 2012 var JEDEC vært for en konference for at undersøge, hvordan fremtidige krav til mobile enheder vil drive kommende standarder som LPDDR4. Den 30. december 2013 meddelte Samsung, at selskabet havde udviklet den første LPDDR4 LPDDR4 i 20 nm-klassen med 8 gibibit (1 GiB), der kan overføre data med 3.200 MT/s, hvilket giver 50 procent højere ydeevne end den hurtigste LPDDR3 og forbruger ca. 40 procent mindre energi ved 1,1 volt.
Den 25. august 2014 offentliggjorde JEDEC standarden JESD209-4 LPDDR4 Low Power Memory Device Standard (JESD209-4 LPDDR4 Low Power Memory Device Standard).
Signifikante ændringer omfatter bl.a:
- Dobling af grænsefladehastigheden og talrige elektriske ændringer som følge heraf, herunder ændring af I/O-standarden til LVSTL (low voltage swing-terminated logic)
- Dobling af den interne prefetch-størrelse, og mindste overførselsstørrelse
- Omlægning fra en 10-bit DDR kommando/adressebus til en 6-bit SDR-bus
- Omlægning fra én 32-bit bred bus til to uafhængige 16-bit brede busser
- Selvopfriskning aktiveres af dedikerede kommandoer, i stedet for at blive styret af CKE-linjen
Standarden definerer SDRAM-pakker, der indeholder to uafhængige 16-bit adgangskanaler, hver forbundet med op til to dies pr. pakke. Hver kanal er 16 databits bred, har sine egne kontrol-/adressestifter og giver adgang til 8 DRAM-banker. Pakken kan således tilsluttes på tre måder:
- Datalinjer og kontrol er tilsluttet parallelt til en 16-bit databus, og kun chip selects er tilsluttet uafhængigt pr. kanal.
- Til to halvdele af en 32-bit bred databus, og styreledningerne parallelt, herunder chip select.
- Til to uafhængige 16-bit brede databusser
Hver matrice giver 4, 6, 8, 12 eller 16 gibit hukommelse, halvdelen til hver kanal. Hver bank er således en sekstendedel af enhedens størrelse. Denne er organiseret i det passende antal (16 Ki til 64 Ki) af 16384-bit (2048-byte) rækker. Udvidelse til 24 og 32 gibibit er planlagt, men det er endnu ikke besluttet, om dette skal ske ved at øge antallet af rækker, deres bredde eller antallet af banker.
Større pakker, der giver dobbelt bredde (fire kanaler) og op til fire dies pr. par kanaler (8 dies i alt pr. pakke), er også defineret.
Data tilgås i bursts af enten 16 eller 32 overførsler (256 eller 512 bits, 32 eller 64 bytes, 8 eller 16 cyklusser DDR). Bursts skal begynde på 64-bit grænser.
Da clockfrekvensen er højere og den minimale burstlængde længere end tidligere standarder, kan kontrolsignalerne multiplexes i højere grad, uden at kommando/adressebussen bliver en flaskehals. LPDDR4 multiplexer kontrol- og adresselinjerne på en 6-bit CA-bus med enkelt datahastighed. Kommandoer kræver 2 clockcyklusser, og operationer, der koder en adresse (f.eks. aktiverer række, læser eller skriver kolonne), kræver to kommandoer. For eksempel kræver en anmodning om læsning fra en inaktiv chip fire kommandoer, der tager 8 clockcyklusser: Aktiver-1, Aktiver-2, Læs, CAS-2.
Chip select-linjen (CS) er aktiv-high. Den første cyklus af en kommando identificeres ved, at chip select er høj; den er lav i den anden cyklus.
Første cyklus (CS=H) | Second cyklus (CS=L) | Operation | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CA5 | CA4 | CA3 | CA2 | CA1 | CA0 | CA5 | CA4 | CA3 | CA2 | CA1 | CA0 | CA1 | CA0 | ||
L | L | L | L | L | L | L | – | Ingen operation | |||||||
H | L | L | L | L | L | L | 0 | OP4 | OP3 | OP2 | OP1 | 1 | Multi-purpose command | ||
AB | H | L | L | L | L | L | – | BA2 | BA1 | BA1 | BA0 | Precharge (AB=alle banker) | |||
AB | L | H | L | L | L | – | BA2 | BA1 | BA0 | Refresh (AB=Alle banker) | |||||
– | H | H | H | L | L | L | – | Selv-refresh entry | |||||||
BL | L | L | H | L | H | L | L | AP | C9 | – | BA2 | BA1 | BA1 | BA0 | Skriv-1 (+CAS-2) |
– | H | L | H | L | L | L | – | Selv-refresh exit | |||||||
0 | L | H | H | H | L | L | L | AP | C9 | – | BA2 | BA1 | BA0 | Maskeret Skriv-1 (+CAS-2) | |
– | H | H | H | H | L | L | – | (reserveret) | |||||||
BL | L | L | L | H | L | AP | C9 | – | BA2 | BA1 | BA0 | Læse-1 (+CAS-2) | |||
C8 | H | L | L | H | H | L | C7 | C6 | C5 | C4 | C3 | C2 | CAS-2 | ||
– | H | L | H | L | – | (reserveret) | |||||||||
OP7 | L | L | H | H | L | MA5 | MA4 | MA3 | MA2 | MA1 | MA0 | Mode Register Write-1 og -2 MA=Addresse, OP=Data |
|||
OP6 | H | L | H | H | H | L | OP5 | OP4 | OP3 | OP2 | OP1 | OP0 | |||
– | L | H | H | H | H | L | MA5 | MA4 | MA3 | MA2 | MA1 | MA0 | Mode Register Read (+CAS-2) | ||
– | H | H | H | H | H | L | – | (reserveret) | |||||||
R15 | R14 | R13 | R12 | L | H | R11 | R10 | R16 | BA2 | BA1 | BA1 | BA0 | Aktiverer-1 og -2 | ||
R9 | R8 | R7 | R7 | R6 | H | H | R5 | R4 | R3 | R2 | R1 | R0 |
Den CAS-2-kommandoen bruges som den anden halvdel af alle kommandoer, der udfører en overførsel over databussen, og giver kolonneadressebits af lav orden:
- Læsekommandoer skal begynde på en kolonneadresse, der er et multiplum af 4; der er ikke mulighed for at kommunikere en C0- eller C1-adressebit, der ikke er nul, til hukommelsen.
- Skrivekommandoer skal begynde på en kolonneadresse, der er et multiplum af 16; C2 og C3 skal være nul for en skrivekommando.
- Læsning af moderegister og nogle flerfunktionskommandoer skal også efterfølges af en CAS-2 kommando, men alle kolonnebits skal være nul (lav).
Burstlængden kan konfigureres til at være 16, 32 eller dynamisk valgbar ved BL-bitten i læse- og skriveoperationer.
Et DMI-signal (data mask/invert) er tilknyttet hver 8 datalinjer, og kan bruges til at minimere antallet af bits, der drives højt under dataoverførsler. Når den er høj, suppleres de andre 8 bits af både sender og modtager. Hvis en byte indeholder fem eller flere 1-bits, kan DMI-signalet drives højt, sammen med tre eller færre datalinjer. Da signallinjerne afsluttes lavt, reduceres strømforbruget.
(En alternativ anvendelse, hvor DMI bruges til at begrænse antallet af datalinjer, der skifter ved hver overførsel, til højst 4, minimerer overspænding. Dette kan anvendes af hukommelsescontrolleren under skrivninger, men understøttes ikke af hukommelsesenhederne.)
Databusinversion kan aktiveres separat for læsninger og skrivninger. For maskerede skrivninger (som har en separat kommandokode) afhænger DMI-signalets funktion af, om skriveinversion er aktiveret.
- Hvis DBI ved skrivninger er deaktiveret, angiver et højt niveau på DMI, at den tilsvarende databyte skal ignoreres og ikke skrives
- Hvis DBI ved skrivninger er aktiveret, angiver et lavt niveau på DMI, kombineret med en databyte med 5 eller flere bits indstillet, en databyte, der skal ignoreres og ikke skrives.
LPDDR4 indeholder også en mekanisme til “målrettet rækkeopfriskning” for at undgå korruption som følge af “row hammer” på tilstødende rækker. En særlig sekvens af tre aktiverings-/forladningssekvenser angiver den række, som blev aktiveret oftere end en enhedsspecificeret tærskel (200.000 til 700.000 pr. opdateringscyklus). Internt opdaterer enheden fysisk tilstødende rækker i stedet for den række, der er angivet i aktiveringskommandoen.:153-54
LP-DDR4XEdit
Samsung Semiconductor har foreslået en LPDDR4-variant, som de kalder LPDDR4X.:11 LPDDR4X er identisk med LPDDR4, bortset fra at der spares yderligere strøm ved at reducere I/O-spændingen (Vddq) til 0,6 V fra 1,1 V. Den 9. januar 2017 annoncerede SK Hynix 8 og 16 GiB LPDDR4X-pakker. JEDEC offentliggjorde LPDDR4X-standarden den 8. marts 2017. Ud over den lavere spænding omfatter yderligere forbedringer en single-channel die-mulighed til mindre applikationer, nye MCP-, PoP- og IoT-pakker samt yderligere definitions- og timingforbedringer for den højeste hastighedsklasse på 4266 MT/s.
LP-DDR5Rediger
Den 19. februar 2019 offentliggjorde JEDEC JESD209-5, Standard for Low Power Double Data Rate 5 (LPDDR5).
Samsung meddelte, at den havde fungerende prototype LP-DDR5-chips i juli 2018. LPDDR5 indfører følgende ændringer:
- Dataoverførselshastigheden er øget til 6400 MT/s.
- Differentielle clocks anvendes
- Prefetch fordobles ikke igen, men forbliver 16n
- Antal banker øges til 16, opdelt i fire DDR4-lignende bankgrupper
- Energibesparende forbedringer:
- Data-Copy og Write-X (all one or all zero) kommandoer for at mindske dataoverførsel
- Dynamisk frekvens- og spændingsskalering
- En ny clocking-arkitektur kaldet WCK & Read Strobe (RDQS)
Intel Tiger Lake og Snapdragon 888 hukommelsescontroller understøtter LPDDR5.