The question What exactly is the cause of RAM incompatibility? on superuser provides a good overview of possible causes for incompatibility. The answers to the question provide some interesting reasoning.
https://superuser.com/a/1252224/774206
You might have two RAM sticks with the same part number and one can tolerate a 5% undervoltage and the other can't, and the mobo might put out a low voltage because it's poorly calibrated.
But, again, this is very rare now. Sane combinations almost always work.
Before DDR2, it was a mess. After DDR2, it was sufficiently standardized.
In the follow up discussion https://chat.stackexchange.com/rooms/65926/discussion-between-david-schwartz-and-ehryk
These days, it's almost always the obvious incompatibilities. That is, if it doesn't work, you can usually figure out why. When you can't, the most likely explanation is that some part is just crappy.
In the old days, weird incompatibilities were not that unusual. But since the DDR2 standard, cases of incompatibility not involving one of the explanations mentioned are fairly rare. Most of those cases are likely to be components that are not quite meeting their specifications.
From another answer https://superuser.com/a/1252995/774206
I built many systems throughout my career and I have not once looked at the supported RAM list before I chose the components. And I have never had any incompatibilities so far. That being said, the list can give guidance to beginners and less experienced people to select the correct components to build a good working system.
From another answer https://superuser.com/a/1252617/774206
The answer lies within the memory controller. The memory controller used to be on the north-bridge of the motherboard. It had to negotiate all the features that the CPU supported for direct memory access. So the CPU is really the determining factor that limited what memory you could use even though it appeared to be a motherboard capability. This is more obvious now that the memory controller lives inside the CPU in all modern chips made by Intel, AMD, and ARM. The motherboard firmware contains microcode from the CPU manufacturer that dictates what kind of features for direct memory access it supports. So the software still lives in the motherboard but the hardware is in the CPU now.
The clocking of CPU and Memory are directly linked through the Base Clock. They have to be multiples of each other in sync. Aside from that the details of Direct Memory Access are non-trivial and I will not attempt to explain here. My understanding is that just like MB and CPU manufacturers have different implementations and features, so do different memory modules. Within one memory manufacturer, like Kingston, the actual chips could be made by Samsung, Hynix, or someone else. They should all follow a spec but maybe they don't implement every feature the same way.
While no answer was accepted, one was given the "bounty"; https://superuser.com/a/1252970/774206. The answer provides some examples of what may cause incompatibility.
Using the
I have tried to create a comparison table. Mainly for the fun of it :)
My best [uninformed] guess is that with the new CPUs, motherboards and memories the main criteria for memory compatibility is the common referred specifications, and any incompatibility issue is mainly due to "bad luck".
+--------------------+--------------------+------------------+
| INNODISK | SK HYNIX | SAMSUNG |
+--------------------+--------------------+------------------+
| M4CR-AGS1MC0G-BE93 | HMA82GU7MFR8N-TFT0 | M391A2K43BB1-CPB |
| | (revision 1.2) | |
+--------------------+--------------------+------------------+
chipset | K4A8G085WB-BCPB | H5AN8G8NMFR-TFC |K4A8G085WB-BCPBM00|
+--------------------+--------------------+------------------+
bandwith | 2133 MT/s | 2133 MT/s | 2133 MT/s |
+--------------------+--------------------+------------------+
frequency | (1066.67MHz) | (1066.67MHz) | 1066MHz |
+--------------------+--------------------+------------------+
voltage | 1.2 | 1.2 | 1.2 |
+--------------------+--------------------+------------------+
rank | Rank 2 | Rank 2 | Rank 2 |
+--------------------+--------------------+------------------+
density | 16GB | 16GB (2Rx8) | 16GB (2Gx72) |
| |1Gx8(H5AN8G8NMFR)*18|1Gx8(K4A8G085WB-BC##)*18|
+--------------------+--------------------+------------------+
timings |====================+====================+==================|
+--------------------+--------------------+------------------+
cycle time | 0.93ns | 0.93ns | 0.93ns |
+--------------------+--------------------+------------------+
tCK(min) | | 0.937 | 0.938 |
+--------------------+--------------------+------------------+
CL | 15 | 15 | 15 |
+--------------------+--------------------+------------------+
tRCD(min) | | 14.06 (13.50) | 15 (14.06) |
+--------------------+--------------------+------------------+
tRP(min) | | 14.06 (13.50) | 15 (14.06) |
+--------------------+--------------------+------------------+
tRAS(min) | | 33 | 33 |
+--------------------+--------------------+------------------+
tRC(min) | | 47.06 (46.50) | 47.06 |
+--------------------+--------------------+------------------+
CMD | | | |
+--------------------+--------------------+------------------+
Update
I purchased the M391A2K43BB1-CPB
and installed it; the computer boots without any errors, and no errors are reported after test:
- running MemTest86 (v7.4) 4 to 5 passes (~12h),
- running stressapptest (v1.0.8)
stressapptest -W -s 3600
.
Pre-Purchase Questions → Assurance You're Making an Informed Decision
(hardwarerecs.meta.stackexchange.com/questions/139/…)16GB DDR4-2133 ECC/UNB CL15
) or are are not available to me.