Disclaimer: This post may contain affiliate links, meaning we get a small commission if you make a purchase through our links, at no cost to you. For more information, please visit our Disclaimer Page.
If you have done anything online in the past few years, you’ve probably heard a bit about servers. However, you may not know just what they are, or for what purposes the developers might build them. There are different kinds of servers that perform different functions, but all of them seek to provide help to other computers.
In this model, the other computers would be clients that use the services that the servers offer. For example, if you are a gamer, you might download a game from one of your favorite companies onto your computer or console. In order to do this, your device communicates with a server somewhere else in the world, and it requests a transfer of the data that makes up that game.
Because servers need to store so much information, some people wonder if they also need to use special random-access memory in order to bring up and process that data in their memory banks.
We will address this topic today, and we will talk about some of the key differences between server-grade RAM and the kind that you probably have in your computer at home. Additionally, we’ll discuss whether you can use regular desktop RAM inside a server or vice versa, and check out compatibility between traditional motherboards and ECC RAM.
In almost all cases, servers need special RAM in order to perform their jobs properly. When we say nearly all cases, we are not referring to very low-grade systems that some developers or companies might mark as servers. These devices may have low enough specifications that they use non-parity RAM.
In technical terms, RAM parity refers to the way in which a system can store certain bits of data. That system can keep small bits of information on hand, and it will check these parity bits against other data that it computes. Although there is a bit more to it, this is a simple explanation of how a device can check for errors in the data that it is processing.
You probably know that your computer has RAM, and you know that some applications that you want to run need a minimum amount of this RAM in order to process data smoothly.
The same is true for a server, but almost all servers use Error Correction Code random-access memory, often something tech people will abbreviate as simply ECC RAM. The main reason that you find this type of memory in servers is that they are critical systems that tend to store highly important data.
If we go back to the previous example of the game system and digital content, players can get their games from a company server and put them right on their systems. Those company servers also store additional information, such as new content, bug fixes, and updates to how things might function in the game.
Typically, you will have some kind of account that you associate either with the makers of the games or the developers of the device on which you play them. Within this account, you can store a history of everything you’ve purchased.
If something happens to your game on your local device, you can get it from the server again. In this way, servers are critical for storing redundant information and making sure the flow of information between them and customers remains stable. We use the example of video games, but the same is true for many industries in the business world today.
You now know a bit about how important it is to have a different type of RAM for servers, but how does this RAM function differently from the kind you use in your own computer?
Let’s first try to get a simple definition that works for each type of RAM. There are a few types in different systems. For our purposes, we will make a distinction between ECC RAM and non-ECC RAM.
Most home or regular business systems use a form of the latter type of RAM. You can think of this RAM as memory that prioritizes speed over endurance. This does not mean that it is not reliable, but ECC memory tends to be more reliable for crucial systems.
Sometimes, RAM has a problem where it encounters a single-bit error. When this happens, its binary value changes from its original form to the opposite one by accident. As you might imagine, a single bit of data is very small, especially in terms of how much data a computer needs to process each minute.
Because of its size, it may not catch the attention of your computer immediately. This problem can lead to other errors down the line. Non-ECC memory is fast and efficient, but it won’t catch the problematic data bit right away, making the potential for other errors in your computer’s memory higher.
Conversely, ECC memory is something developers designed precisely to do just this, and it should catch and correct the problem before it causes any other issues.
Therefore, one of the main differences between the two RAMs is in how fast they are. Regular RAM is quicker than its counterpart, but it can’t catch errors as easily.
It is important to remember that ECC memory is quite similar to traditional RAM. For the most part, ECC RAM just has a bit of extra space that it dedicates to the task of making sure the rest of the device’s memory remains stable.
The potential of single-bit errors exists in every system, but it is more important to catch these things in something like a server. Changes in internal temperatures, stress due to voltage, or data that the device reads or writes in a way that the hardware does not expect can all lead to such errors.
ECC RAM creates a piece of code that it encrypts and stores, and this code derives its purpose from all the data the computer writes to its main memory. When a server needs access to this data, ECC RAM creates some new bit of code that it checks against the previous one it stored already.
If the results match up, the RAM allows the rest of the machine to read the data. If there is a discrepancy, the RAM decrypts the code and attempts to fix the error immediately. Even if it cannot, it should send an error message to the appropriate parties.
Whether you can use regular RAM in a server depends on the hardware that the server uses. As we touched on, most servers are things that companies build in order to make sure critical data is safe and error-free at all times. In doing so, these businesses need to use special or specific hardware.
Some of the most important components that go into this build are the central processor and the motherboard. These components have a close relationship, and server-grade versions of these will support ECC memory in nearly all cases.
If you build or find a server that uses parts that are compatible with non-ECC RAM, it is possible that you could install such RAM in the unit.
Typically, the tech world might consider such a server to be using parts that are below the grade that a proper server should have, but it may still be possible for you to get by with desktop RAM here.
Your choice relies on what your intended purpose for the server might be, and you would need to be confident that the probability for single-bit error corruption is low enough that it won’t compromise critical data on your server.
The answer to this question very much depends on how you set up your hardware. Although we’ve been talking about ECC memory as a monolith up to this point, there are different types of this RAM that you might use with a compatible motherboard.
The caveat here is that buffered or registered memory with an ECC function will not work in a normal motherboard. The parts are not compatible with each other.
However, there is a chance that unbuffered ECC memory can work here. Even so, the actual error correction function of the memory won’t turn on. The motherboard can’t support it, so it will not use it.
Even though you might be able to do this with unbuffered memory, there is still a chance that the system won’t run properly. For the best results, it is a good idea to only use the kind of memory that each motherboard is supposed to take.
As with the previous answer, server RAM won’t work in a regular desktop if the parts can’t handle it. We spoke about the unbuffered ECC RAM, but most servers use the buffered variety.
This is because the buffers help the CPU manage the huge loads of data it processes, taking some of the strain off of it so that the whole setup can handle a lot of memory. Unless you design your home system in a high-end way, server RAM won’t benefit it.
Servers are crucial for storing data and bringing it to individual and group clients around the world. To do this effectively, they utilize special RAM that can catch and correct errors as they happen, preventing further problems from cropping up later. Although some regular systems can handle a certain type of ECC RAM if their components are good enough, most RAM you’ll find in traditional desktops serves a different purpose. Indeed, ECC RAM is not strictly necessary in most computers you’ll use daily.