There are a number of things to consider when purchasing new memory in order to ensure you select memory compatible with your machine.
Memory Size – DIMM vs SODIMM
A DIMM is a standard memory module used in desktop machines and servers. SODIMM modules are roughly half the length and are used generally in laptops or small form factor machines.
Whilst DDR memory is SDRAM, when the term SDRAM is used it generally refers to the initial generation of Synchronous Dynamic Random Access Memory. This only writes once per clock cycle and is incompatible with later DDR memory. It is rare to see it these days but still may be required for older machines.
DDR1, DDR2, DDR3, DDR4
A newer variant SDRAM, double data rate memory (so called because it transfers data on both the rising and falling edges of the clock signal) currently has 4 standards. These influence things such as transfer rates and power efficiency. The part number on the memory is normally written PC1, PC2 etc
Each generation is physically different, as you can see in the image above the notch in the contact edge is in a different place so there is no compatibility between generations as for example a DDR3 stick will not physically fit in a DDR2 motherboard.
Different memory standards have different voltages, SDRAM uses 3.3V whereas DDR4 uses only 1.2V. DDR3 has a standard and low voltage version which are 1.5V and 1.35V respectively. It is normally fine to use 1.35V memory on a motherboard that supports 1.5V as it is backwards compatible.
ECC vs Non-ECC
Error Correction code memory is generally found in servers and workstations, it has 9 chips rather than 8 with the extra chip used to check the integrity of the data stored on the other 8 chips. Although this causes a system to run slightly slower it also makes it more reliable and less likely to crash.
The easiest way to check if the memory you are replacing is ECC is to physically count the chips on the board to see if there is 9. The part number on the memory may also contain an ‘E’ after the transfer rate.
Registered vs Non-registered
Registered memory is usually found in servers and workstations and Is normally ECC. It contains registers between its DRAM modules and the systems memory controller which allows the system to run with a greater degree of stability as less electrical load is placed on the controller.
As you can see in the image above registered memory can often by identified by the letter ‘R’ after the transfer rate in part number.