Although server RAM is just a small part of the overall server system, its importance cannot be underestimated. If the server RAM is not working properly, the server system may experience problems like system freezes or blue screen, which will bring great damage to companies. Without memory, the system won't even start. Therefore, it's necessary to have a basic understanding of server RAM.
Server RAM, the abbreviation of Random Access Memory, is also called server memory. It processes data from hard disk drives or solid-state drives to the CPU. In fact, server RAM is volatile memory, not permanent storage memory, which means it only holds data when it is connected to a power source. Hence, hard disk drives are used to store data permanently.
However, the read and write speed of RAM is multiple times faster than storage memory. The CPU can go directly to server RAM without searching the hard drive for data or instruction. Besides, server memory also generates less heat and is less prone to wear out over time.
Normally, the capacity of RAM is regarded as a vital factor affecting system performance. Running out of server memory may lead to bottlenecks that affect the efficiency of server system. With more memory, a server can run more Virtual Machines (VMs). Besides, upgrading the existing server memory can improve memory speed and bandwidth for faster data processing.
Typically, there are two main types of server RAM: buffered memory and unbuffered memory. The major difference between these two RAM is that buffered memory contains registers between Dynamic Random Access Memory (DARM) modules and memory controller, where unbuffered memory does not.
Buffered memory, also called registered memory, is used to reduce electrical load on the memory controller. Besides, buffered RAM is usually used for servers and other high-end systems that need a stable operating environment, because it has high stability in stored data.
The biggest advantage of buffered RAM is the buffer, which can receive information directly from the CPU, thus reducing actual physical read and write times. Basically, there are three types of buffered memory: registered memory (RDIMM), local reduced memory (LRDIMM) and fully buffered memory (FBDIMM).
RDIMM: Unlike unbuffered memory, registered memory contains registers on the DIMM to buffer command signals between DRAMs and the memory controller. This allows the use of up to three dual-rank DIMMs per memory channel, thus increasing the amount of memory that server can support.
LRDIMM: As a new version of buffered memory, LR-DIMM provides large overall maximum memory capacities since it makes use of memory buffer to integrate the electrical loads on the ranks of the LR-DIMMs into a single electrical load. However, it also generates more power and has lower latency compared to R-DIMM.
FBDIMM: FB-DIMM is an older version of buffered memory, which is also a RAM production technology. It is used to improve the speed, stability and compatibility of server memory to the most extent. FB-DIMMs and LR-DIMMs are not compatible with R-DIMM, and they are used to reduce the load on the memory bus by the memory modules.
In unbuffered memory, the CPU will directly access the memory controller since there is no register between DARM modules and memory controller. Different from buffered memory, it will generate more electrical load on the memory controller.
Unbuffered RAM is commonly used for desktops, laptops, etc because of its relatively low price. However, it is less stable for system and stored data.
The reason server RAM outperforms PC RAM is its unique technologies, such as ECC, Chipkill and register, which provide extremely high stability and error correction performance for server RAM.
Error Checking and Correcting (ECC) is an error correction technique in computer instructions widely used in various fields. Compared to Parity, an error-checking technology used in ordinary server memory, ECC technology can not only check for errors but also correct them. Due to electrical factors, the data transferred in server memory cannot be completely accurate. With ECC memory, the stability and reliability of server system can be guaranteed.
Register is another technology widely used in server RAM. Actually, registers are to the server memory what directories to books. With register, after receiving instructions, the server memory can retrieve the directory first, and then perform read and write operations. By doing so, the working efficiency of server RAM will be greatly increased. What's more, currently popular register memory is also equipped with ECC technology, so it is also called ECC Registered memory. These two always complement each other.
Chipkill memory technology was developed by IBM 20 years ago to solve the shortage of ECC technology in server memory. It is a new ECC memory protection standard. Since ECC cannot correct errors of more than two bits, all bits of data will be likely to get lost, resulting in system crashes.
However, data can be written to multiple DIMM memory chips via Chipkill technology, which means that if any one of the chips fails, it affects a certain bit of a data byte, rather than the normal operation of servers. In addition, with Chipkill memory technology, server memory can check and fix up to 4 bad data bits at the same time, further improving the server usability.
Memory mirroring is a technique that divides several server memory into two independent channels. Typically, one channel replicates another for redundancy.
For instance, if DIMM fails, the entire server system won't get affected, because the memory controller is immediately moved to another channel. Therefore, with memory mirroring, a higher level of memory reliability and consolidation can be achieved. Besides, it also provides comprehensive protection against single bit and multiple bit errors.
Just as its name shows, memory protection is a strategy that controls the amount of memory access rights on a computer. The main purpose of it is to prevent applications from taking advantage of memory that systems have not allocated to, which can avoid damage or data loss to some extent.
Similar to the hot backup of hard disks, memory protection technology can use the spare bits to retrieve data when the DIMM fails, thus ensuring the smooth operation of server. It can also correct up to 4 consecutive bit errors in each pair of DIMMs.
To sum up, server RAM plays an important role in server systems. Upgrading server RAM can provide the server system with higher stability and efficiency. Basically, buffered memory and unbuffered memory are two main types of server memory. Moreover, server RAM can realize better performance by using technologies like ECC memory, register, Chipkill memory, etc.