RAM stands for Random Access Memory. RAM is used to process instructions and store data used in programs from the CPU extremely quickly. The reason that RAM is important is because the data can be read and written extremely quickly – much faster than other types of storage such as physical hard drives.
The only fly in the ointment is that RAM storage is that data is lost when power is switched off. Most hosting servers are switched on almost permanently (except for planned downtime) so this is not an issue. There is another variant of RAM called Non Volatile Random Access Memory or NVRAM but this is rarely used due to speed constraints (it is slower than RAM) and cost (it is more expensive).
RAM is delivered as modules known as DIMMS (Dual In-line Memory Modules) which are placed on a circuit board. In servers these are typically one of the following formats: 4GB, 8GB, 16GB or 32GB.
In the server there is the option to mount multiple DIMMs in slots to dramatically increase the amount of RAM capacity. It is not uncommon to have up to 24 RAM slots in one server. IN the case of a 24 slot server it would have a maximum capacity of 768GB (i.e 24 slots x 32GB DIMMs).
By and large you can not mix and match different types of DIMM so if you use 4GB DIMMs it would not be possible to mix this with 8GB DIMMs.
RAM is controlled by a digital circuit known as the Memory Controller and can be integrated into the CPU.
RDIMM vs UDIMM
What is RDIMM?
RDIMM stands for Registered Dual In-line Memory modules. This is also known as Buffered Memory where there is a Register between the RAM and the Memory Controller. The result is that there is less electrical load on the Memory Controller. This means that typically servers using RDIMMs can have more memory modules.
Generally speaking RDIMM is more expensive due to the additional circuitry required and tends to be used for more demanding environments such as hosting servers where scalability, efficiency and resilience are the determining factors rather than low cost.
What is UDIMM?
UDIMM stands for Unregistered Dual In-line Memory modules. In this case there is no Register between the RAM and the Memory Controller. The result is that due to the higher electrical load placed on the Memory Controller less RAM modules can be supported in UDIMM based systems.
UDIMMs are usually selected for use based on cost constraints or in less demanding computing environments, typically PCs and Laptops.
When considering RAM it may be shown as being ECC Memory or non ECC memory. ECC stands for Error Correcting Code and is a type of memory that can both detect and correct common data corruption issues.
Data errors can occur due to Hard Factors (e.g. temperature, voltage) or Soft Factors (e.g. decay).
ECC Memory is the memory of choice in high demanding, mission critical applications such as banking.
SDRAM stands for Synchronous Dynamic Random Access Memory and means that the RAM has been designed around a clock signal which synchronises the data transfer.
DDR Stands for Double Data Rate and is used on SDRAM. Using DDR means that SDRAM modules can transfer two chunks of data for every cycle which in layman’s terms means they can work twice as fast.
RAM Frequency is measured in MegaHertz (MHz) and describes the speed at which the RAM can transfer data. Examples of RAM Frequency are 800MHz, 1333MHz and 1600MHz. The higher the MHz the faster the RAM.