Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

For some background, as a hobby I sometimes do some very memory-intensive work. As such, I've contemplated making my next home PC purchase something with a large amount of RAM (perhaps 32GB). This tends to be very expensive or impossible on pre-configured machines I've seen, so I've explored the possibility of building my own.

I stumbled across some RAM that is advertised as "server memory." This would be for my home PC, not a server per se. However, I suppose it may have some server-like characteristics. What is server memory? Is it suitable for normal desktop use? I'm a bit concerned that perhaps since the price seems so low compared to other options, perhaps this is not what I would need.

I know specific buy/sell recommendations are off-topic here, so that's not what I'm looking for. I want to learn how to make my own decisions here.

share|improve this question
    
    
I got the impression that ECC memory and server memory were two separate concepts; is that not true? –  Michael McGowan Sep 15 '11 at 5:39

1 Answer 1

up vote 4 down vote accepted

There is no such thing as "server memory"! Memory modules advertized for server usage generally use technologies which are supposed to decrease chances of errors occurring inside RAM due to various reasons such as background radiation and so on, but that doesn't mean that they are unusable on "normal" computers. You just need the right type of motherboard.

There are various techniques which make this error detection possible. The linked product uses parity and error-correcting code memory. The parity system basically works by storing an additional byte with each bit. The computer checks if the number of bits which represent 1 or 0 is even or odd and then adds another bit so that the total number gets even or odd, depending on the settings of the machine. When data is read from the memory, the parity bit is checked and if the number of bits is wrong, then computer knows that there was an error in memory storage. The downside of this is that two errors could occur and the number of bits would be right, so they would be undetected

ECC memory has some capabilities of recovering damaged data, but to do so it usually needs to store more data than non-ECC RAM and therefore may be somewhat slower. I'm don't have enough experience with it to explain how exactly it recovers data, but here's a Wikipdia article about that.

Now I'll focus on the other side of the story. RAM modules targeted at servers usually have chips which can store more data than RAM modules targeted for desktop computers and are often pushing the limits of the manufacturing technology. That, in addition to ECC, is one of the reasons why they are more expensive.

Now to actually answer your question: The computer you want is usually called workstation computer. That is name for computers that have standard desktop form factor but have performance of servers. So to get what you want, you'll need to buy a workstation motherboard or at least motherboard which supports large memory modules and ECC. In addition to supporting memory technologies common to server market, workstation motherboards often support server type CPUs, may have two sockets for dual-processor systems, are usually more reliable than motherboards for common desktops, may have large number of high speed PCI-E slots (I've seen some which only have PCI-E 16x slots for all slots on the board) and so on.

Of course, the downside of that is that both the motherboards, RAM and CPUs tend to be more expensive than common desktop motherboards.

So the bottom line is: If you need high-reliability RAM, get ECC RAM and appropriate motherboard and processor. If you just need lots of RAM, get a motherboard with lots of slots that can support large modules and use non-ECC RAM. This way you'll save more money on the whole system.

share|improve this answer
1  
What Mr. Andreǰa describes in the second paragraph is not how ECC memory works. It uses a Hamming code (as explained in the Wikipedia article he cites). Moreover, it is not true that "[t]he downside of this is that two errors could occur and the number of bits would be right, so they would be undetected." ECC memory will correct an error where one bit is flipped, and it will detect an error in which two bits are flipped, protecting data integrity. To keep this in perspective, though, a flipped bit happens from time to time, whereas two flipped bits is a rare event. –  Greg Marks Feb 19 at 19:43

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.