Memory/RAM Facts; Hardware
DDR DIMM
A DIMM (dual in-line memory module) has pins on both sides of the module, with each pin being unique. DIMMs have a 64-bit data path that matches the system bus width. RDRAM and DDR/2/3/4 are packaged into DIMMs, with each specification having a unique number of pins and notch position. DDR4 allows for DIMMs of up to 512 GB in capacity.
SODIMM
A SODIMM (small outline dual in-line memory module) is a smaller DIMM used in laptops. SODIMMs are much smaller than other memory, perfect for notebook computers. Notice the notch slightly off center in the 144-pin SODIMM. 144-pin SODIMMs are used by SDRAM, DDR, and DDR2 memory. On the 200-pin SODIMM, notice that the notch is farther off center than the 144-pin SODIMM. You might also be able to notice the higher pin density. 200-pin SODIMMs are used by DDR2 and DDR3 memory.
CAS Latency
Another factor that affects the performance of memory is the latency associated with accessing data in RAM. With a read request, there is a delay between the time the data is requested and the time that the data is available on the module's output pins. This delay is called the CAS latency (CL). Older memory expressed the delay in nanoseconds, but DRAM uses a ratio based on the clock frequency to describe the delay. For memory modules of the same type and frequency, a lower CAS number indicates less delay (e.g., "faster" RAM). Because CL is related to the frequency, you cannot directly compare the CAS latency between modules with a different frequency. For example, a DDR2 module operating at 533 MHz with a CL of 6 has more delay than a DDR3 module at 667 MHz with a CL of 7. In addition to CL, there are other memory characteristics that describe the delay for performing other types of operations. Collectively, these values are referred to as the memory timings. For stable operations, the bus must take into account these latencies to keep the bus and the memory synchronized. Manufacturers test memory modules and rate them based on the operating frequency and the timing characteristics. Settings that produce stable performance are then encoded into the SPD module on the memory. The BIOS then reads this information to know how to configure memory settings on the motherboard. For many systems, you can manually modify the memory timings and frequency. Running RAM at a lower clock speed enables you to decrease the CAS latency setting; increasing the frequency must usually be compensated for by increasing the CL (and other) settings.
Buffered (Registered)
Buffered (or registered) RAM has a buffer that holds memory addresses or data before it is transferred to the memory controller. Buffered RAM improves stability on systems with a lot of RAM (over 1 GB). Buffered RAM might slow system performance. ECC modules are typically buffered. Buffered RAM must be supported by the motherboard. Some motherboards require buffered memory. Unbuffered memory does not have a buffer to hold memory addresses or data before it is transferred to the memory controller. Unbuffered memory is used in common workstations and laptops. Buffered memory is used in servers and high-end workstations.
DDR2
DDR2 doubles the data transfer rate of DDR, for four times the bandwidth of SDRAM. DDR2 accepts four consecutive 64-bit words per bus clock cycle. DDR2 includes a buffer between the data bus and the memory. DDR2 operates at 1.8 volts at bus frequencies between 200-533 MHz. The internal memory frequency is half that of the bus frequency (100-266 MHz). DDR2 memory differs from DDR memory as follows: The notch is slightly closer to the middle. It has 240 pins. While you don't need to count the pins, you should notice that the pins are smaller because they have to fit in the same space as the DDR memory.
DDR3
DDR3 doubles the data transfer rate of DDR2, for eight times the bandwidth of SDRAM (twice that of DDR2). DDR3 accepts eight consecutive 64-bit words per bus clock cycle. DDR3 operates at 1.5 volts at bus frequencies between 400-1000 MHz. The internal memory frequency is one-fourth that of the bus frequency (100-266 MHz). DDR3 memory has a single notch more left of center than the notch for DDR or DDR2. Like DDR2, DDR3 has 240 pins.
DDR4
DDR4 doubles the data transfer rate of DDR3 for ten times the bandwidth of SDRAM. DDR4 accepts eight consecutive 64-bit words per bus clock cycle. DDR4 operates at 1.2 volts at bus frequencies between 1066-2133 MHz. The internal memory frequency is about one-tenth that of the bus frequency (100-266 MHz). DDR4 reduces the demand for power. DDR4 is not compatible with earlier types of random access memory (RAM) because of the different signaling voltages, physical interface, and other factors. DDR4 theoretically allows for DIMMs of up to 512 GB in capacity, compared to the DDR3's theoretical maximum of 128 GB per DIMM. DDR4 memory has a single notch slightly right of center. DDR4 has 288 pins.
DDR
Double Data Rate Synchronous Dynamic RAM It is a variation of the original synchronous DRAM (SDRAM). All variations of DDR are synchronized with the system clock and accept 64-bit words. DDR accepts a single command and two consecutive data sets per bus clock cycle. Operating at the same frequency, DDR has twice the bandwidth of SDRAM. DDR operates at 2.5 volts at bus frequencies between 100-200 MHz. DDR memory has a single notch, slightly off center. DDR memory has 184 pins.
Error Correcting Code
Error Correcting Code (ECC) memory is a type of memory that detects and corrects the common kinds of internal data corruption. ECC memory is also called parity memory. Using ECC, a value is appended to the end of each byte so that the value of the data can be compared and recalculated if an error occurs. ECC is an improvement on parity techniques because errors in more than one bit can be detected and corrected. Keep in mind the following facts about error correcting memory: Memory modules with ECC have extra memory chips on the module (typically 9 modules instead of 8). If the number of chips is divisible by 3 or 5, the module is ECC memory. ECC or parity memory must be supported by the motherboard. Because it is more expensive than non-ECC, ECC memory is typically used only in servers. ECC memory is slower than non-ECC memory. Do not mix ECC and non-ECC memory in a system. Mixing ECC and non-ECC memory disables the error correction function. You might hear the terms parity and ECC being used interchangeably. However, parity RAM only checks for errors while ECC RAM checks and corrects errors.
Frequency
For optimal performance, you should match the memory frequency (sometimes called the speed) with the frequency supported by the system bus/memory controller. You can install slower memory in the motherboard, but this will degrade performance. You can install faster memory in the motherboard, but it will operate only up to the maximum supported by the motherboard. When you mix memory with different frequencies, all memory will operate at the lowest frequency. Most memory modules include an EEPROM chip that identifies its frequency. The BIOS uses the information in this chip to set the frequency automatically. On many systems, you can edit the BIOS manually to change the frequency. If the BIOS does not configure memory to run at its highest rated speed, then do the following: Verify that the motherboard supports that speed. You might be able to update the BIOS to support faster memory. The serial presence detect (SPD) on the memory is often set below the maximum rating for the memory. To use the maximum speed settings, you might need to manually configure the speed and timing settings for the memory (if the motherboard allows you to do this).
Parity RAM
Parity memory is a type of memory that checks for common kinds of internal data corruption. It does not correct internal data corruption. Non-parity memory does not perform error checking. Parity RAM is no longer used. Today, PC systems use ECC for error detection and correction.
Capacity
Refers to the storage capacity of the memory module The capacity (sometimes called the size) refers to the storage capacity of the memory module (e.g., 256 MB, 512 MB, 1 GB). The total capacity of memory that you can install in your system is limited by: The number of memory slots on the motherboard. The maximum total capacity that can be installed. For example, most systems will have a maximum capacity of between 3 GB and 16 GB of RAM. The maximum module capacity. For example, the motherboard might only be able to accept up to 2 GB or 4 GB modules. The maximum amount of memory that can be addressed (used) by the operating system. A 32-bit operating system can use between 3 GB and 4 GB of memory, while a 64-bit operating system can use more.You can install more than 4 GB of memory in a system that uses a 32-bit operating system; however, the operating system will be able to use only between 3 GB and 4 GB of that memory. If your motherboard had a total of three slots, with a maximum module size of 1 GB and a system maximum of 3 GB, and if you had two 512 MB modules installed, you would be able to add only a single 1 GB module bringing the total up to 2 GB. You could also replace one or both of the 512 MB modules bringing the total to 2.5 or 3 GB respectively.
Single- or Double-Sided
Single-sided RAM has memory modules that are organized into a single logical bank; double-sided RAM has modules organized into two banks. The computer can access data in only one bank at a time. Therefore, single-sided RAM allows access to all of the memory, while with double-sided RAM, the computer must switch between banks. Originally, double-sided RAM had modules on both sides of the circuit board, and single-sided RAM had modules on only one side. However, you can also have double-sided RAM with modules on only one side, where the memory is divided into separate banks internally. Single-sided memory of the same capacity as double-sided memory uses half the number of memory modules (modules are denser, with a higher individual capacity). Some older motherboards are unable to use double-sided memory, while some that allow double-sided memory can use only up to half the total memory when all memory slots are filled, or mixing single- and double-sided together might not be allowed. Most motherboards support both single- and double-sided memory. However, verify compatibility before purchasing.
UniDIMM
UniDIMM (Universal DIMM) is a specification for DIMMs and is designed to carry DRAM chips. UniDIMMs can be populated with either DDR3 or DDR4 chips, but do not support any additional memory control logic. Because of this, the computer's memory controller must support both DDR3 and DDR4 memory standards. UniDIMM: Is an upgrade to the current SODIMM standard Allows mobile platform users to use both DDR3 and DDR4
Packaging (Form)
When you are purchasing RAM for a system, the most important consideration is the packaging, also called memory form. The packaging controls both the physical size of the memory module and the memory standard (e.g., DDR2, DDR3, DDR4). If you purchase the wrong type of RAM, it will most likely not fit. If it does, it might have different voltage requirements than what is supported by your motherboard. Memory packaging (memory form) and capacity must match what is supported by the motherboard.
Dynamic RAM (DRAM)
stores data using a single transistor for every bit of data (a 0 or a 1) To maintain the state of the transistor, DRAM must continually supply power to the transistor; when the power is turned off, the data is lost. DRAM is simple to implement. DRAM can have a very high density (e.g., high storage capacity). Because of the simplicity, DRAM is relatively inexpensive. DRAM is used in the main system memory on a computer.
Static RAM (SRAM)
stores data using four transistors for every bit of data. SRAM does not require constant power to maintain the contents of memory. SRAM is more complex and less dense (e.g., lower storage capacity) than DRAM. SRAM is faster and requires less power than DRAM. Regular SRAM still requires periodic power to maintain the state of memory, but the rate of refresh is less than with DRAM. Non-volatile SRAM (nvSRAM) is able to maintain memory contents when the power is turned off. SRAM is typically used in cache memory, such as CPU cache, hard disk cache, and cache in networking devices.