What exactly is the cause of RAM incompatibility?

12

1

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

Posted 2017-09-15T11:00:22.437

Reputation: 240

Motherboard manufactures do list the specifications for which memory modules they support. Why are you asking a question about DDR, DDR2, and DDR3 when they are incompatible with each other, and your motherboard only supports DDR4? – Ramhound – 2017-09-15T12:14:43.883

They list modules that they support, but they don't say for example "Compatible with all full size DDR4, Non-ECC, Single or Dual Channel". What I'm asking for is aside from the obvious listed above, what else could make them incompatible? As in, DDR4-2133 RDIMM ECC RAM that is from a brand not listed in the QVL for example. – Ehryk – 2017-09-15T15:27:45.603

Voltages supported, single or dual sided modules, module sizes and everything they didn't get their hands on. – Seth – 2017-09-15T17:00:26.493

Most chipsets I have ever had have fairly selectable voltages, it seems unlikely that none of them will operate any given RAM stick that fits the other requirements, I can sort of understand a maximum module size (but I don't understand why the chipset can't just either be set up to handle more like USB flash drives or just artificially limit the maximum while still POSTing and working). Essentially: why can't we have standards such that all RAM that meets the obvious criteria 'just works'? – Ehryk – 2017-09-15T17:20:50.007

1The QVL shows you the modules actively tested by the manufacturer. Anything not on the list but with the same specs will probably work, it's just not been tested and thus not guaranteed by the motherboard manufacturer. It's not so much an electrical/physical difference nowadays. – HoD – 2017-09-21T06:47:18.640

I've seen a manufacturer change the chips on the modules without changing the SKU. Suddenly a new version of a part on the QVL didn't work with a certain MB. What a mess. – HackSlash – 2018-04-11T15:22:08.457

Answers

5

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

Posted 2017-09-15T11:00:22.437

Reputation: 306 093

1Voltage, timing, and frequency are all variable. Any given module has a range within which it can operate. Let's say you put some high-end RAM in a motherboard that can't clock as high as called out in the JDEC. That doesn't mean it won't work. You can run that same memory at a lower frequency, higher latency, and lower voltage. It might still work. You haven't really explained why at all. You just listed a bunch of features of RAM. – HackSlash – 2018-04-11T15:11:41.617

@HackSlash: The question was "the cause of RAM incompatibility". The answer is "these variables need to be within range". True, out of range can sometimes somewhat work, but that wasn't the question, nor will I ever attempt to answer that. I disagree with your downvote. – harrymc – 2018-04-11T15:20:52.547

No, the question was 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? So we are talking about RAM that is within the specs of the MB. All the things you listed are correct for that MB but it still won't POST. Why? – HackSlash – 2018-04-11T15:23:39.573

@HackSlash: There can be no other answer than that the user mistakenly thought he has taken into account all the variables, but didn't, which is what probably happened to the poster My above list can never be complete, since I can't know all the variables that may pertain to a given MB. That's why I recommend to people never to imagine that they have totally matched all variables, but to only use certified RAM or a utility such as the Crucial System Scanner. Otherwise this is just playing Russian roulette. – harrymc – 2018-04-11T15:52:56.913

That's not the case @harrymc. Some memory controllers can't handle dual rank memory modules that have identical specs to a single rank module on the QVL. Some MBs prefer chips made by Hynix instead of Samsung or vice versa. The last three things you mentioned; density, controller, and chipset are the closest the answer but without explaining the "why"? – HackSlash – 2018-04-11T18:08:12.270

@HackSlash: What "why"? Electronics lessons? – harrymc – 2018-04-11T18:30:27.180

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.

David Schwartz

Posted 2017-09-15T11:00:22.437

Reputation: 58 310

Most motherboards have a single voltage generator - you mean one vReg for all the RAM, but still adjustable, right? And how does the voltage level dictate the speed the RAM must run at?

I have been able to change the RAM voltage and RAM frequency on every motherboard I have ever owned. I can understand 'Maximum Speed' or 'Minimum Speed' (though it should theoretically still be able to work, just at suboptimal speeds). – Ehryk – 2017-09-20T18:50:41.243

Yes, that's right, all the RAM must have the same voltage and the same speed. That means that unless there exists some voltage and speed that all the RAM is specified to work at, the combination can fail. And, of course, even for a single stick or single make/model, there must exist a voltage the RAM is specified to work at that the motherboard can generate! – David Schwartz – 2017-09-20T18:52:07.210

Okay, so assuming matched sets of RAM, can you give an example of ANY RAM modules that will not operate whatsoever at the given standard for that type? SDRAM = 3.3V, DDR = 2.5V, DDR2 = 1.8V, DDR3 = 1.5V, DDR4 = 1.2V. These are well defined in the respective standards.

https://www.quora.com/What-is-the-difference-between-DDR-DDR2-DDR3-and-DDR4-RAM

– Ehryk – 2017-09-20T18:56:04.353

@Ehryk Sure. This DDR3 module is only rated for 1.65V, which would be unsafe with a Haswell CPU.

– David Schwartz – 2017-09-20T19:01:57.550

"Rated for" does not mean "will not work at any other voltage". I highly doubt that RAM could not be 'undervolted' to operate at standard DDR3 voltage, especially given that one would need to boot into the BIOS to bump up the RAM voltage on any given motherboard. Is there any evidence to show that those RAM modules will not operate or fail to boot at the standard 1.5V, even if one can't reach the overclocking they may advertise at 1.65V? – Ehryk – 2017-09-20T19:09:26.820

@Ehryk Sure, I agree. It might work. But we're talking about why combinations might not work. And if the RAM and CPU have no overlap in the voltage ranges they're rated for, it might not work. (And one does not need to boot into the BIOS to bump up the RAM voltage. If the voltage is set to auto, it's automated by SPD, which is guaranteed to work at 1.5V. If not set to auto, yes, you may need to clear the CMOS to boot with that RAM.) – David Schwartz – 2017-09-20T19:37:16.623

I see; the question I'm (attempting) to ask is: what physically or electrically prevents a board from POSTing with RAM that is not on the QVL, but meets the same criteria [in matched sets]. Are there insufficient standards to make this happen? Or are the chipsets perhaps reading the brand and deciding whether or not to operate with something it could theoretically operate with? I want to know when a matched set of otherwise seemingly compatible RAM fails to POST, what exactly is the cause? – Ehryk – 2017-09-20T19:45:43.880

Let us continue this discussion in chat.

– David Schwartz – 2017-09-20T19:57:36.280

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

Posted 2017-09-15T11:00:22.437

Reputation: 3 174

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

Posted 2017-09-15T11:00:22.437

Reputation: 11

0

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

Posted 2017-09-15T11:00:22.437

Reputation: 1 049

That is certainly not the primary reason. I've been building systems since they took SIMMs and I never used to check QVLs. We didn't have the internet back then so I'm not sure where you would even find a QVL. I've mismatched RAM in every way imaginable. I've found that most memory works most of the time. I feel like modern systems are more picky than they used to be. Now I check QVLs just because I don't have time to bench test all day. – HackSlash – 2018-04-11T15:19:55.413