18

I'm looking at rather short QVL lists from manufacturers, and I'm wondering what is the underlying cause of RAM incompatibility aside from the obvious:

Obvious Reasons for Incompatibility

  • RAM Generation (DDR, DDR2, DDR3, DDR4)
  • Form Factor / pin count
  • RAM Type (ECC vs Non-ECC, Registered vs not, Buffered vs not)
  • Minimum speeds on a board that cannot adjust the memory frequency
  • Non-standard voltage range on a board that cannot adjust the memory voltage
  • Channel count (single vs dual vs quad)
  • Bad or inoperable module
  • Mismatched set

Not Obvious Reasons

  • Brand
  • SKU
  • Max Capacity
  • Speed too high

As in, why can't motherboard manufacturers just list the specifications of the RAM they will accommodate, and support every memory chip of that category instead of listing specific SKUs from specific brands?

What happens electrically/physically that causes boards to fail to POST / operate with RAM that is otherwise 'compatible' with all of the specifications of RAM that is on the QVL?

ASUS X99 QVL

Ehryk
  • 320

5 Answers5

11

The question of RAM compatibility is extremely complicated, so fitting RAM to motherboard is chancy if the RAM is not certified. To understand the complexity, here are some of the factors you should take under consideration when fitting RAM to motherboard.

Memory technology
DDR, DDR2, DDR2, DDR3, DDR4 (they won't even fit in the same slots).

CAS latency
How many clock cycles the memory module will delay in returning data requested by the CPU.

Voltage
Higher voltage is usually faster, but low voltage generally means less stress to the CPU memory controller.

Timings
Given through a series of numbers, for example 4-4-4-8, indicate the number of clock cycles that it takes the memory to perform a certain operation. In the BIOS timings are usually detected automatically, but some BIOS allow for timings to be preset as part of over-clocking. Denoted usually by CL-tRCD-tRP-tRAS-CMD, where:

  • CL: CAS Latency. The time it takes between a command having been sent to the memory and when it begins to reply to it. It is the time it takes between the processor asking for some data from the memory and then returning it.
  • tRCD: RAS to CAS Delay. The time it takes between the activation of the line (RAS) and the column (CAS) where the data are stored in the matrix.
  • tRP: RAS Precharge. The time it takes between disabling the access to a line of data and the beginning of the access to another line of data.
  • tRAS: Active to Precharge Delay. How long the memory has to wait until the next access to the memory can be initiated.
  • CMD: Command Rate. The time it takes between the memory chip having been activated and when the first command may be sent to the memory. Sometimes this value is not announced. It usually is T1 (1 clock cycle) or T2 (2 clock cycles).

RAM frequency
The signalling rate what words of data can be transferred into or out of the memory. This is part of the RAM label, for example DDR3-2400.

RAM Density
Denotes the on-chip organization. Low density modules have 100% compatibility with all systems and chipsets. High density modules only have 10% compatibility and are very slow.

RAM controller
Controllers are limited in the amount of RAM they can address, thus limiting the motherboard size of the RAM stick.

Chipset technology
The motherboard chipset affects using memory, an example is regarding multi-channel configurations.

I think we can already conclude that for a RAM stick to be compatible with a motherboard, both must agree on a very large number of parameters. Any incompatibility on any one parameter will make a given RAM unusable on the motherboard.

Some motherboards will accept RAM whose settings are in a certain range, rather than one specified amount, but others will give error or even fail to detect RAM that does not suit.

RAM bought from the manufacturer of the computer is guaranteed compatible, but may be costly. When looking for third-party RAM, it is usually hit-and-miss, since the motherboard specs are never fully published.

I have several times used the Crucial Advisor tool, or even better, the Crucial System Scanner, found on this page. In my experience their results are always correct, and the RAM that is proposed by Crucial has a very competitive price.

References :

harrymc
  • 498,455
2

As in, why can't motherboard manufacturers just list the specifications of the RAM they will accommodate, and support every memory chip of that category instead of listing specific SKUs from specific brands?

Because that would give people who wanted guaranteed, tested compatibility no way to get it.

What happens electrically/physically that causes boards to fail to POST / operate with RAM that is otherwise 'compatible' with all of the specifications of RAM that is on the QVL?

It can be all kinds of things. The most obvious is voltage. Most motherboards only have a single voltage generator, which means all the RAM sticks must run at the same voltage. But it can also be details of trace length, load levels, and all kinds of details like that. We're talking about very high speed links with very precise timing requirements. All kinds of things can go wrong, though most of the time it just works.

The current setup is the best of both worlds. Those who want guaranteed compatibility can stick with the list of tested and guaranteed combinations. Those who want freedom to choose can compare specifications and draw their own conclusions.

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.

1

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.

NOT ALL MODULES ARE CREATED EQUAL

For more information:

https://en.wikipedia.org/wiki/Memory_controller

-AND-

https://en.wikipedia.org/wiki/Direct_memory_access

HackSlash
  • 5,015
1

Other than the technical reasons that are mentioned in the other answers, I think the reason for the existence of a supported RAM list is to keep support effort low for the mainboard manufacturer.

If a customer complains about a non-working system, the mainboard manufacturer can point to the RAM list and if the customer uses a memory module that's not in the list, the answer from support is obvious: Test with a memory module from the list and see if the problem goes away.

Without the list, the manufacturer cannot do that and would possibly have to investigate each and every case, spending a lot more time and resources.

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.

Nassbirne
  • 2,306
1

acording to gamingnexus there are a number of variables beyond the ones that can be manipulated in the bios by the user that are preset in the mb code to match the ram modual inserted. This makes sense since Ive seen results of comparitive tests where the ram worked at a reduced performance on some mbs vs others even when all the visible settings were the same, same chipset and the same cpu was used. so unless you did a side by side test you may never know if the ram is being limited by the mb choice. unfortunately i am also looking for the answer as to what are these unseen variables so i can make a call on fitting non qvl ram. ive noticed the latest and greatest modules are not listed in the qvls for the cheaper b450 boards but they are for the x570. if using the same ryzen 3000 cpu in both has the same mem controller the only difference would be this microcode in the mb. for all i know its the same on the b450 "ryzen 3000 ready" and x570 boards from a given manufacture. It would not surprise me if the lack of testing (or reporting of compatibility) on the b450 boards is a tactic to encourage upselling....

Douglas
  • 11