# DIMM

A DIMM (Dual In-line Memory Module) is a popular type of memory module used in computers. It is a printed circuit board with one or both sides (front and back) holding DRAM chips and pins. The vast majority of DIMMs are manufactured in compliance with JEDEC memory standards, although there are proprietary DIMMs. DIMMs come in a variety of speeds and capacities, and are generally one of two lengths: PC, which are 133.35 mm (5.25 in), and laptop (SO-DIMM), which are about half the length at 67.60 mm (2.66 in).

## History

DIMMs (Dual In-line Memory Module) were a 1990s upgrade for SIMMs (Single In-line Memory Modules) as Intel P5-based Pentium processors began to gain market share. The Pentium had a 64-bit bus width, which would require SIMMs installed in matched pairs in order to populate the data bus. The processor would then access the two SIMMs in parallel.
DIMMs were introduced to eliminate this disadvantage. The contacts on SIMMs on both sides are redundant, while DIMMs have separate electrical contacts on each side of the module. This allowed them to double the SIMMs 32-bit data path into a 64-bit data path.
The name "DIMM" was chosen as an acronym for Dual In-line Memory Module symbolizing the split in the contacts of a SIMM into two independent rows. Many enhancements have occurred to the modules in the intervening years, but the word "DIMM" has remained as one of the generic terms for a computer memory module.

## Variants

There are numerous DIMM variants, employing different pin-counts:

### DIMM

   * 100-pin: printer SDRAM and printer ROM (e.g., PostScript)
   * 168-pin: SDR SDRAM sometimes used for FPM/EDO DRAM in workstations or servers, may be 3.3 or 5 V
   * 184-pin: DDR SDRAM
   * 200-pin: FPM/EDO DRAM in some Sun workstations and servers
   * 240-pin: DDR2 SDRAM, DDR3 SDRAM and FB-DIMM DRAM
   * 278-pin: HP high density SDRAM
   * 288-pin: DDR4 SDRAM and DDR5 SDRAM

### SO-DIMM

   * 072-pin: FPM DRAM and EDO DRAM; different pin configuration from 72-pin SIMM
   * 144-pin: SDR SDRAM, sometimes used for DDR2 SDRAM
   * 200-pin: DDR SDRAM and DDR2 SDRAM
   * 204-pin: DDR3 SDRAM
   * 260-pin: DDR4 SDRAM
   * 260-pin: UniDIMMs carrying either DDR3 or DDR4 SDRAM; differently notched than DDR4 SO-DIMMs
   * 262-pin: DDR5 SDRAM

### MiniDIMM

   * 244-pin: DDR2 SDRAM

### MicroDIMM

   * 144-pin: SDRAM
   * 172-pin: DDR SDRAM
   * 214-pin: DDR2 SDRAM

## SO-DIMM

A SO-DIMM (pronounced "so dim" /ˈsoʊdɪm/, also spelled SODIMM) or small outline DIMM, is a smaller alternative to a DIMM, being roughly half the physical size of a regular DIMM. The first SO-DIMMs had 72 pins and were introduced by JEDEC in 1997. Before its introduction, many laptops would use proprietary RAM modules which were expensive and hard to find.
SO-DIMMs are often used in computers that have limited space, which include laptops, notebook computers, small-footprint personal computers such as those based on Nano-ITX motherboards, high-end upgradable office printers, and networking hardware such as routers and NAS devices. They are usually available with the same size data path and speed ratings of the regular DIMMs though normally with smaller capacities.

## SDR 168-pin SDRAM

On the bottom edge of 168-pin DIMMs there are two notches, and the location of each notch determines a particular feature of the module. The first notch is the DRAM key position, which represents RFU (reserved future use), registered, and unbuffered DIMM types (left, middle and right position, respectively). The second notch is the voltage key position, which represents 5.0 V, 3.3 V, and RFU DIMM types (order is the same as above).

## DDR DIMMs

DDR, DDR2, DDR3, DDR4 and DDR5 all have different pin counts and/or different notch positions, and none of them are forward compatible or backward compatible. DDR5 SDRAM is the most recent type of DDR memory and has been in use since 2020.

## SPD EEPROM

A DIMM's capacity and other operational parameters may be identified with serial presence detect (SPD), an additional chip which contains information about the module type and timing for the memory controller to be configured correctly. The SPD EEPROM connects to the System Management Bus and may also contain thermal sensors (TS-on-DIMM).

## Error correction

ECC DIMMs are those that have extra data bits which can be used by the system memory controller to detect and correct errors. There are numerous ECC schemes, but perhaps the most common is Single Error Correct, Double Error Detect (SECDED) which uses an extra byte per 64-bit word. ECC modules usually carry a multiple of 9 instead of a multiple of 8 chips.

## Ranking

Sometimes memory modules are designed with two or more independent sets of DRAM chips connected to the same address and data buses; each such set is called a rank. Ranks that share the same slot, only one rank may be accessed at any given time; it is specified by activating the corresponding rank's chip select (CS) signal. The other ranks on the module are deactivated for the duration of the operation by having their corresponding CS signals deactivated. DIMMs are currently being commonly manufactured with up to four ranks per module. Consumer DIMM vendors have recently begun to distinguish between single and dual ranked DIMMs.
After a memory word is fetched, the memory is typically inaccessible for an extended period of time while the sense amplifiers are charged for access of the next cell. By interleaving the memory (e.g. cells 0, 4, 8, etc. are stored together in one rank), sequential memory accesses can be performed more rapidly because sense amplifiers have 3 cycles of idle time for recharging, between accesses.
DIMMs are often referred to as "single-sided" or "double-sided" to describe whether the DRAM chips are located on one or both sides of the module's printed circuit board (PCB). However, these terms may cause confusion, as the physical layout of the chips does not necessarily relate to how they are logically organized or accessed.
JEDEC decided that the terms "dual-sided", "double-sided", or "dual-banked" were not correct when applied to registered DIMMs (RDIMMs).

## Organization

Most DIMMs are built using "×4" ("by four") or "×8" ("by eight") memory chips with up to nine chips per side; "×4" and "×8" refer to the data width of the DRAM chips in bits. High-capacity DIMMs such as 256 GB DIMMs can have up to 19 chips per side.
In the case of "×4" registered DIMMs, the data width per side is 36 bits; therefore, the memory controller (which requires 72 bits) needs to address both sides at the same time to read or write the data it needs. In this case, the two-sided module is single-ranked. For "×8" registered DIMMs, each side is 72 bits wide, so the memory controller only addresses one side at a time (the two-sided module is dual-ranked).
The above example applies to ECC memory that stores 72 bits instead of the more common 64. There would also be one extra chip per group of eight, which is not counted.

## Speeds

For various technologies, there are certain bus and device clock frequencies that are standardized; there is also a decided nomenclature for each of these speeds for each type.
DIMMs based on Single Data Rate (SDR) DRAM have the same bus frequency for data, address and control lines. DIMMs based on Double Data Rate (DDR) DRAM have data but not the strobe at double the rate of the clock; this is achieved by clocking on both the rising and falling edge of the data strobes. Power consumption and voltage gradually became lower with each generation of DDR-based DIMMs.
Another influence is Column Access Strobe (CAS) latency, or CL, which affects memory access speed. This is the delay time between the READ command and the moment data is available. See main article CAS/CL.
SDR SDRAM DIMMs :
| Chip | Module | Effective clock (MHz) | Transfer rate (MT/s) | Voltage (V) |
| SDR-66 | PC-66 | 66 | 66 | 3.3 |
| SDR-100 | PC-100 | 100 | 100 | 3.3 |
| SDR-133 | PC-133 | 133 | 133 | 3.3 |
DDR SDRAM (DDR1) DIMMs :
| Chip | Module | Memory clock (MHz) | I/O bus clock (MHz) | Transfer rate (MT/s) | Voltage (V) |
| DDR-200 | PC-1600 | 100 | 100 | 200 | 2.5 |
| DDR-266 | PC-2100 | 133 | 133 | 266 | 2.5 |
| DDR-333 | PC-2700 | 166 | 166 | 333 | 2.5 |
| DDR-400 | PC-3200 | 200 | 200 | 400 | 2.6 |
DDR2 SDRAM DIMMs :
| Chip | Module | Memory clock (MHz) | I/O bus clock (MHz) | Transfer rate (MT/s) | Voltage (V) |
| DDR2-400 | PC2-3200 | 100 | 200 | 400 | 1.8 |
| DDR2-533 | PC2-4200 | 133 | 266 | 533 | 1.8 |
| DDR2-667 | PC2-5300 | 166 | 333 | 667 | 1.8 |
| DDR2-800 | PC2-6400 | 200 | 400 | 800 | 1.8 |
| DDR2-1066 | PC2-8500 | 266 | 533 | 1066 | 1.8 |
DDR3 SDRAM DIMMs :
| Chip | Module | Memory clock (MHz) | I/O bus clock (MHz) | Transfer rate (MT/s) | Voltage (V) |
| DDR3-800 | PC3-6400 | 100 | 400 | 800 | 1.5 |
| DDR3-1066 | PC3-8500 | 133 | 533 | 1066 | 1.5 |
| DDR3-1333 | PC3-10600 | 166 | 667 | 1333 | 1.5 |
| DDR3-1600 | PC3-12800 | 200 | 800 | 1600 | 1.5 |
| DDR3-1866 | PC3-14900 | 233 | 933 | 1866 | 1.5 |
| DDR3-2133 | PC3-17000 | 266 | 1066 | 2133 | 1.5 |
| DDR3-2400 | PC3-19200 | 300 | 1200 | 2400 | 1.5 |
DDR4 SDRAM DIMMs :
| Chip | Module | Memory clock (MHz) | I/O bus clock (MHz) | Transfer rate (MT/s) | Voltage (V) |
| DDR4-1600 | PC4-12800 | 200 | 800 | 1600 | 1.2 |
| DDR4-1866 | PC4-14900 | 233 | 933 | 1866 | 1.2 |
| DDR4-2133 | PC4-17000 | 266 | 1066 | 2133 | 1.2 |
| DDR4-2400 | PC4-19200 | 300 | 1200 | 2400 | 1.2 |
| DDR4-2666 | PC4-21300 | 333 | 1333 | 2666 | 1.2 |
| DDR4-3200 | PC4-25600 | 400 | 1600 | 3200 | 1.2 |
DDR5 SDRAM DIMMs :
| Chip | Module | Memory clock (MHz) | I/O bus clock (MHz) | Transfer rate (MT/s) | Voltage (V) |
| DDR5-4000 | PC5-32000 | 2000 | 2000 | 4000 | 1.1 |
| DDR5-4400 | PC5-35200 | 2200 | 2200 | 4400 | 1.1 |
| DDR5-4800 | PC5-38400 | 2400 | 2400 | 4800 | 1.1 |
| DDR5-5200 | PC5-41600 | 2600 | 2600 | 5200 | 1.1 |
| DDR5-5600 | PC5-44800 | 2800 | 2800 | 5600 | 1.1 |
| DDR5-6000 | PC5-48000 | 3000 | 3000 | 6000 | 1.1 |
| DDR5-6200 | PC5-49600 | 3100 | 3100 | 6200 | 1.1 |
| DDR5-6400 | PC5-51200 | 3200 | 3200 | 6400 | 1.1 |
| DDR5-6800 | PC5-54400 | 3400 | 3400 | 6800 | 1.1 |
| DDR5-7200 | PC5-57600 | 3600 | 3600 | 7200 | 1.1 |
| DDR5-7600 | PC5-60800 | 3800 | 3800 | 7600 | 1.1 |
| DDR5-8000 | PC5-64000 | 4000 | 4000 | 8000 | 1.1 |
| DDR5-8400 | PC5-67200 | 4200 | 4200 | 8400 | 1.1 |
| DDR5-8800 | PC5-70400 | 4400 | 4400 | 8800 | 1.1 |

## Form factors

Several form factors are commonly used in DIMMs. Single Data Rate Synchronous DRAM (SDR SDRAM) DIMMs were primarily manufactured in 1.5 inches (38 mm) and 1.7 inches (43 mm) heights. When 1U rackmount servers started becoming popular, these form factor registered DIMMs had to plug into angled DIMM sockets to fit in the 1.75 inches (44 mm) high box. To alleviate this issue, the next standards of DDR DIMMs were created with a "low profile" (LP) height of around 1.2 inches (30 mm). These fit into vertical DIMM sockets for a 1U platform.
With the advent of blade servers, angled slots have once again become common in order to accommodate LP form factor DIMMs in these space-constrained boxes. This led to the development of the Very Low Profile (VLP) form factor DIMM with a height of around 0.72 inches (18 mm). The DDR3 JEDEC standard for VLP DIMM height is around 0.740 inches (18.8 mm). These will fit vertically in ATCA systems.
Full-height 240-pin DDR2 and DDR3 DIMMs are all specified at a height of around 1.18 inches (30 mm) by standards set by JEDEC. These form factors include 240-pin DIMM, SO-DIMM, Mini-DIMM and Micro-DIMM.
Full-height 288-pin DDR4 DIMMs are slightly taller than their DDR3 counterparts at 1.23 inches (31 mm). Similarly, VLP DDR4 DIMMs are also marginally taller than their DDR3 equivalent at nearly 0.74 inches (19 mm).
As of Q2 2017, Asus has had a PCI-E based "DIMM.2", which has a similar socket to DDR3 DIMMs and is used to put in a module to connect up to two M.2 NVMe solid-state drives. However, it cannot use common DDR type ram and does not have much support other than Asus.
Regular DIMMs are generally 133.35 mm in length, while SO-DIMMs are generally 67.6 mm in length.