Mobile DDR
Mobile DDR (also known as mDDR, Low Power DDR, or LPDDR) is a type of double data rate synchronous DRAM for mobile computers.
Just as with standard SDRAM, each generation of LPDDR has doubled the internal fetch size and external transfer speed. Maximum transfer rates are:
LPDDR1 | LPDDR1E | LPDDR2 | LPDDR2E | LPDDR3 | LPDDR3E | LPDDR4 | LPDDR4E | |
---|---|---|---|---|---|---|---|---|
Memory array clock (Internal access rate) | 200 MHz | 266.67 MHz | 200 MHz | 266.67 MHz | 200 MHz | 266.67 MHz | 200 MHz | 266.67 MHz |
Prefetch size | 2n | 4n | 8n | 16n | ||||
I/O Bus Clock frequency | 200 MHz | 266.67 MHz | 400 MHz | 533.33 MHz | 800 MHz | 1066.67 MHz | 1600 MHz | 2133.33 MHz |
Data transfer rate (DDR) | 400 MT/s | 533.33 MT/s | 800 MT/s | 1066.67 MT/s | 1600 MT/s | 2133.33 MT/s | 3200 MT/s | 4266.67 MT/s |
Supply voltage(s) | 1.8 V | 1.2 V, 1.8 V | 1.2 V, 1.8 V | 1.1 V, 1.8 V | ||||
Command/Address bus | 19 bits, SDR | 10 bits, DDR | 10 bits, DDR | 6 bits, SDR |
Bus width
In contrast with standard SDRAM, used in stationary devices and usually connected over a 64bit wide memory bus, LPDDR can be connected over 16bit or over 32bit memory bus per channel.[1]
Original LPDDR
The original low-power DDR (sometimes, in hindsight, called LPDDR1) is a slightly modified form of DDR SDRAM, with several changes to reduce overall power consumption.
Most significant, the supply voltage is reduced from 2.5 to 1.8 V. Additional savings come from temperature-compensated refresh (DRAM requires refresh less often at low temperatures), partial array self refresh, and a "deep power down" mode which sacrifices all memory contents. Additionally, chips are smaller, using less board space than their non-mobile equivalents. Samsung and Micron are two of the main providers of this technology, which is used in tablet computing devices such as the Apple iPad, Samsung Galaxy Tab and Motorola Droid X.[2]
LPDDR2
A new JEDEC standard JESD209-2E defines a more dramatically revised low-power DDR interface. It is not compatible with either DDR1 or DDR2 SDRAM, but can accommodate either:
- LPDDR2-S2: 2n prefetch memory (like DDR1),
- LPDDR2-S4: 4n prefetch memory (like DDR2), or
- LPDDR2-N: Non-volatile (NAND flash) memory.
Low-power states are similar to basic LPDDR, with some additional partial array refresh options.
Timing parameters are specified for LPDDR-200 to LPDDR-1066 (clock frequencies of 100 to 533 MHz).
Working at 1.2 V, LPDDR2 multiplexes the control and address lines onto a 10-bit double data rate CA bus. The commands are similar to those of normal SDRAM, except for the reassignment of the precharge and burst terminate opcodes:
CK | CA0 (RAS) | CA1 (CAS) | CA2 (WE) | CA3 | CA4 | CA5 | CA6 | CA7 | CA8 | CA9 | Operation |
---|---|---|---|---|---|---|---|---|---|---|---|
↑ | H | H | H | — | NOP | ||||||
↓ | — | ||||||||||
↑ | H | H | L | H | H | — | Precharge all banks | ||||
↓ | — | ||||||||||
↑ | H | H | L | H | L | — | BA0 | BA1 | BA2 | Precharge one bank | |
↓ | — | ||||||||||
↑ | H | H | L | H | A30 | A31 | A32 | BA0 | BA1 | BA2 | Preactive (LPDDR2-N only) |
↓ | A20 | A21 | A22 | A23 | A24 | A25 | A26 | A27 | A28 | A29 | |
↑ | H | H | L | L | — | Burst terminate | |||||
↓ | — | ||||||||||
↑ | H | L | H | reserved | C1 | C2 | BA0 | BA1 | BA2 | Read (AP=auto-precharge) | |
↓ | 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 | Activate (R0–14=Row address) |
↓ | R0 | R1 | R2 | R3 | R4 | R5 | R6 | R7 | R13 | R14 | |
↑ | L | H | A15 | A16 | A17 | A18 | A19 | BA0 | BA1 | BA2 | Activate (LPDDR2-N only) |
↓ | A5 | A6 | A7 | A8 | A9 | A10 | A11 | A12 | A13 | A14 | |
↑ | L | L | H | H | — | Refresh all banks (LPDDR2-Sx only) | |||||
↓ | — | ||||||||||
↑ | L | L | H | L | — | Refresh one bank (Round-robin addressing) | |||||
↓ | — | ||||||||||
↑ | L | L | L | H | MA0 | MA1 | MA2 | MA3 | MA4 | MA5 | Mode register read (MA0–7=Address) |
↓ | MA6 | MA7 | — | ||||||||
↑ | L | L | L | L | MA0 | MA1 | MA2 | MA3 | MA4 | MA5 | Mode register write (OP0–7=Data) |
↓ | MA6 | MA7 | OP0 | OP1 | OP2 | OP3 | OP4 | OP5 | OP6 | OP7 |
Column address bit C0 is never transferred, and is assumed to be zero. Burst transfers thus always begin at even addresses.
LPDDR2 also has an active-low chip select (when high, everything is a NOP) and clock enable CKE signal, which operate like SDRAM. Also like SDRAM, the command sent on the cycle that CKE is first dropped selects the power-down state:
- If the chip is active, it freezes in place.
- If the command is a NOP (CS low or CA0–2 = HHH), the chip idles.
- If the command is a refresh command (CA0–2 = LLH), the chip enters the self-refresh state.
- If the command is a burst terminate (CA0–2 = HHL), the chip enters the deep power-down state. (A full reset sequence is required when leaving.)
The mode registers have been greatly expanded compared to conventional SDRAM, with an 8-bit address space, and the ability to read them back. Although smaller than a serial presence detect EEPROM, enough information is included to eliminate the need for one.
S2 devices smaller than 4 Gbit, and S4 devices smaller than 1 Gbit have only 4 banks. They ignore the BA2 signal, and do not support per-bank refresh.
Non-volatile memory devices do not use the refresh commands, and reassign the precharge command to transfer address bits A20 and up. The low-order bits (A19 and down) are transferred by a following Activate command. This transfers the selected row from the memory array to one of 4 or 8 (selected by the BA bits) row data buffers, where they can be read by a Read command. Unlike DRAM, the bank address bits are not part of the memory address; any address can be transferred to any row data buffer. A row data buffer may be from 32 to 4096 bytes long, depending on the type of memory. Rows larger than 32 bytes ignore some of the low-order address bits in the Activate command. Rows smaller than 4096 bytes ignore some of the high-order address bits in the Read command.
Non-volatile memory does not support the Write command to row data buffers. Rather, a series of control registers in a special address region support Read and Write commands, which can be used to erase and program the memory array.
LPDDR3
In May 2012, JEDEC published the JESD209-3 Low Power Memory Device Standard.[4][5][6] In comparison to LPDDR2, LPDDR3 offers a higher data rate, greater bandwidth and power efficiency, and higher memory density. LPDDR3 achieves a data rate of 1600 MT/s and utilizes key new technologies: write-leveling and command/address training,[7] optional on-die termination (ODT), and low-I/O capacitance. LPDDR3 supports both package-on-package (PoP) and discrete packaging types.
The command encoding is identical to LPDDR2, using a 10-bit double data rate CA bus.[5] However, the standard only specifies 8n-prefetch DRAM, and does not include the flash memory commands.
Products using LPDDR3 include the 2013 Macbook Air, iPhone 5S, iPhone 6, Nexus 10, Samsung Galaxy S4 (GT-I9500) and Microsoft Surface Pro 3.[8] LPDDR3 went mainstream in 2013, running at 800 MHz DDR (1600 MT/s), offering bandwidth comparable to PC3-12800 notebook memory in 2011 (12.8 GB/s of bandwidth).[9] To achieve this bandwidth, the controller must implement dual-channel memory. For example, this is the case for the Exynos 5 Dual[10] and the 5 Octa.[11]
Samsung Electronics introduced the first 4 Gigabit 20 nm-class LPDDR3 modules capable of transmitting data at up to 2,133 Mbit/s per pin, more than double the performance of the older LPDDR2 which is only capable of 800 Mbit/s.[12] Various SoCs from various manufacturers also natively support 800 MHz LPDDR3 RAM. Such include the Snapdragon 600 and 800 from Qualcomm[13] as well as some SoCs from the Exynos and Allwinner series.
LPDDR4
On March 14, 2012, JEDEC hosted a conference to explore how future mobile device requirements will drive upcoming standards like LPDDR4.[14] On December 30, 2013, Samsung announced that it has developed the first 20 nm-class 8 gigabit (1GB) LPDDR4 capable of transmitting data at 3,200 Mbit/s per pin, thus providing 50 percent higher performance than the fastest LPDDR3 and consuming around 40 percent less energy at 1.1 volts.[15]
On Aug 25, 2014 JEDEC published the JESD209-4 LPDDR4 Low Power Memory Device Standard.[16][17]
Significant changes include:
- Doubling of the interface speed, and numerous consequent electrical changes, including changing the I/O standard to low-voltage swing-terminated logic (LVSTL)
- Doubling of the internal prefetch size, and minimum transfer size
- Change from a 10-bit DDR command/address bus to a 6-bit SDR bus
- Change from one 32-bit wide bus to two independent 16-bit wide buses
- Self-refresh is enabled by dedicated commands, rather than being controlled by the CKE line
The standard defines SDRAM packages containing 2 independent 16-bit access channels, each connected to up to 2 dice per package. Each channel is 16 data bits wide, has its own control/address pins, and allows access to 8 banks of DRAM. Thus, the package may be connected in three ways:
- Data lines and control connected in parallel to a 16-bit data bus, and only chip selects connected independently per channel.
- To two halves of a 32-bit wide data bus, and the control lines in parallel, including chip select.
- To two independent 16-bit wide data buses
Each die provides 4, 6, 8, 12 or 16 Gibit of memory, half to each channel. Thus, each bank is one sixteenth the device size. This is organized into the appropriate number (16K to 64K) of 16384-bit (2048-byte) rows. Extension to 24 and 32 Gibit is planned, but it is not yet decided if this will be done by increasing the number of rows, their width, or the number of banks.
Larger packages providing double width (4 channels) and up to 4 dice per pair of channels (8 dice total per package) are also defined.
Data is accessed in bursts of either 16 or 32 cycles (256 or 512 bits, 32 or 64 bytes). Bursts must begin on 64-bit boundaries.
Since the clock frequency is higher and the minimum burst length longer than earlier standards, control signals can be more highly multiplexed. LPDDR4 multiplexes the control and address lines onto a 6-bit single data rate CA bus. Commands require 2 clock cycles, and operations encoding an address (e.g. activate row, read or write column) require 2 commands. For example, to request a read from an idle chip requires 4 commands taking 8 clock cycles: Activate-1, Activate-2, Read, CAS-2.
The chip select line (CS) is active-high. The first cycle of a command is identified by chip select being high; it is low during the second cycle.
First cycle (CS=H) | Second cycle (CS=L) | Operation | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CA5 | CA4 | CA3 | CA2 | CA1 | CA0 | CA5 | CA4 | CA3 | CA2 | CA1 | CA0 | ||
L | L | L | L | L | L | — | No operation | ||||||
H | L | L | L | L | L | 0 | OP4 | OP3 | OP2 | OP1 | 1 | Multi-purpose command | |
AB | H | L | L | L | L | — | BA2 | BA1 | BA0 | Precharge (AB=all banks) | |||
AB | L | H | L | L | L | — | BA2 | BA1 | BA0 | Refresh (AB=All banks) | |||
— | H | H | L | L | L | — | Self-refresh entry | ||||||
BL | L | L | H | L | L | AP | C9 | — | BA2 | BA1 | BA0 | Write-1 (+CAS-2) | |
— | H | L | H | L | L | — | Self-refresh exit | ||||||
0 | L | H | H | L | L | AP | C9 | — | BA2 | BA1 | BA0 | Masked Write-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 | Mode Register Write-1 and -2 MA=Address, 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 | Mode Register Read (+CAS-2) | |
— | H | H | H | H | L | — | (reserved) | ||||||
R15 | R14 | R13 | R12 | L | H | R11 | R10 | — | BA2 | BA1 | BA0 | Activate-1 and -2 | |
R9 | R8 | R7 | R6 | H | H | R5 | R4 | R3 | R2 | R1 | R0 |
The CAS-2 command is used as the second half of all commands that perform a transfer across the data bus, and provides low-order column address bits:
- Read commands must begin on a column address which is a multiple of 4; there is no provision for communicating a non-zero C0 or C1 address bit to the memory.
- Write commands must begin on a column address which is a multiple of 16; C2 and C3 must be zero for a write command.
- Mode register read and some multi-purpose commands must also be followed by a CAS-2 command, however all the column bits must be zero (low).
The burst length can be configured to be 16, 32, or dynamically selectable by the BL bit of read and write operations.
One DMI (data mask/invert) signal is associated with each 8 data lines, and can be used to minimize the number of bits driven high during data transfers. When high, the other 8 bits are complemented by both transmitter and receiver. If a byte contains five or more 1 bits, the DMI signal can be driven high, along with three or fewer data lines. As signal lines are terminated low, this reduces power consumption.
(An alternative usage, where DMI is used to limit the number of data lines which toggle on each transfer to at most 4, minimizes crosstalk. This may be used by the memory controller during writes, but is not supported by the memory devices.)
Data bus inversion can be separately enabled for reads and writes. For masked writes (which have a separate command code), the operation of the DMI signal depends on whether write inversion is enabled.
- If DBI on writes is disabled, a high level on DMI indicates that the corresponding data byte is to be ignored and not written
- If DBI on writes is enabled, a low level on DMI, combined with a data byte with 5 or more bits set, indicates a data byte to be ignored and not written.
LPDDR4 also includes a mechanism for "targeted row refresh" to avoid corruption due to "row hammer" on adjacent rows. A special sequence of three activate/precharge sequences specifies the row which was activated more often than a device-specified threshold (200,000 to 700,000 per refresh cycle). Internally, the device refreshes physically adjacent rows rather than the one specified in the activate command.[18]
LPDDR4x
Samsung Semiconductor has proposed an LPDDR4 variant that it calls LPDDR4x.[19]:11 This is identical to LPDDR4, except that additional power is saved by reducing the I/O voltage (Vddq) to 0.6 V rather than 1.1 V.
References
- ↑ "LPDDR". ti.com. Retrieved 10 March 2015.
- ↑ Anandtech Samsung Galaxy Tab - The AnandTech Review, December 23, 2010
- ↑ JEDEC Standard: Low Power Double Data Rate 2 (LPDDR2) (PDF), JEDEC Solid State Technology Association, February 2010, retrieved 2010-12-30
- ↑ JEDEC publishes LPDDR3 standard for low-power memory chips, Solid State Technology magazine
- 1 2 JESD209-3 LPDDR3 Low Power Memory Device Standard, JEDEC Solid State Technology Association
- ↑ "JEDEC Announces Publication of LPDDR3 Standard for Low Power Memory Devices". jedec.org. Retrieved 10 March 2015.
- ↑ Want a quick and dirty overview of the new JEDEC LPDDR3 spec? EETimes serves it up, Denali Memory Report
- ↑ Inside the Samsung Galaxy S4, Chipworks
- ↑ Samsung LPDDR3 High-Performance Memory Enables Amazing Mobile Devices in 2013, 2014 - Bright Side of News
- ↑ "Samsung Exynos". samsung.com. Retrieved 10 March 2015.
- ↑ Samsung reveals eight-core mobile processor on EEtimes
- ↑ Now Producing Four Gigabit LPDDR3 Mobile DRAM, Using 20nm-class* Process Technology, Businesswire
- ↑ Snapdragon 800 Series and 600 Processors Unveiled , Qualcomm
- ↑ "JEDEC to Focus on Mobile Technology in Upcoming Conference". jedec.org. Retrieved 10 March 2015.
- ↑ "Samsung Develops Industry’s First 8Gb LPDDR4 Mobile DRAM". Samsung Electronics Official Blog: Samsung Tomorrow. Retrieved 10 March 2015.
- ↑ JEDEC Releases LPDDR4 Standard for Low Power Memory Devices, JEDEC Solid State Technology Association
- 1 2 JEDEC Standard: Low Power Double Data Rate 4 (LPDDR4) (PDF), JEDEC Solid State Technology Association, August 2014, retrieved 2014-12-25 Username and password "cypherpunks" will allow download.
- ↑ "Patent US20140059287 - Row hammer refresh command". google.com. Retrieved 10 March 2015.
- ↑ Reza, Ashiq (16 September 2016). ‘Memory Need’ Gives Birth To ‘New Memory’ (PDF). Qualcomm 3G LTE Summit. Hong Kong.
External links
- Micron
- Elpida
- Nanya
- Samsung
- JEDEC pages: LOW POWER DOUBLE DATA RATE 3 SDRAM (LPDDR3)
|