As an advanced user with long gone aspirations to become a SysAdmin, I still don’t understand the differences between normal, unregistered and registered DIMMs. Yes, there is some ECC (error correction code) but for what kind of application would I need one over the other? It would be really great if @wendell could make an explanatory video about this topic.
Especially as recent AMD chips are capable of this. At least for unrgegistered DIMM ECC RAM.
This article explains it well. If you need a video, I can try to find you one.
Short explanation is easy. Example for me is my Mac Pro. It has 16GB of DDR2 FB-DIMM ram that is registered to the system specs. It can check that ram and know “thats what I am supposed to have its fine”. I can’t put a different kind of DDR2 in the machine because it isn’t registered to the machine ID list.
At least thats my basic understanding of it.
Not exactly. RDIMMs are a bit more complex than that.
Long and short of it is that in UDIMMs the memory controller communicates directly with the DRAM banks where with RDIMMs, the memory controller communicates with memory registers on the RAM module which, in turn, communicates with the DRAM banks.
It is true, though, that RDIMMs have a tighter compatibility list.
You mix and mangle different topics to the point that it is less clear.
What are the practical implications. Yes servers need UDIMMs or RDIMMS, but when and for what?
How much performance degradation does each kind impede?
Do I need RDIMMs for my mailserver? Should I use normal DIMMs for my SQL application? SSH without RDIMM is useless? exaggerating
Yeah, sorry, I sometimes forget who I’m talking to.
UDIMMs typically will have a lower max capacity and slightly lower latency.
RDIMMs have significantly higher maximum memory capacity and slightly higher latency (1-3 cycles, in my experience).
They’re both ECC, so they’ll both detect and correct errors in memory.
There aren’t many use cases for UDIMMS. Mainly just for cost cutting.
Use case for RDIMMs would be virtualization. Higher bandwidth and capacity are a priority for virtualization. You’ll have a couple more cycles to retrieve the data from RAM, but that’s small time in the grand scheme of things.
I’d use RDIMMs for SQL for data integrity, performance and capacity, you can use normal for mail server seeing how it’s unlikely you’ll hit capacity limits of UDIMMs or non-ECC DIMMs. SSH doesn’t really change depending on the type of memory you use.
Moral of the story is that you’re best off using RDIMMs unless you have a very specific use case that requires either LRDIMMs, UDIMMs or something else. If you have that use case, you’ll know.
I’m very grateful for this comprehensive answer.