Recently, we talked about memory channels: What they are, what they do, and why modern computers have multiple. But what happens when you aren’t using the common one or two identical sticks in each channel? What if you have one channel with one stick, and another with two? What if you aren’t using RAM from just one RAM kit, so you have one 4GB stick and one 8GB stick? Some claim that all your RAM works in single-channel mode under such circumstances, but how is that possible when you are physically using more than just one channel on the motherboard?
In this article, I will explain what happens when a different amount of RAM is installed into each of multiple memory channels on a motherboard (when memory channels are populated unevenly).
Returning to the Factory Analogy
At one point in the previous article:, memory channels were explained via an analogy: memory channels are like vendors or suppliers in a manufacturing business, with the CPU and its cores being the manufacturer who needs supplies. Having multiple memory channels in use, then, was explained as follows:
“Now, the manufacturer does something efficient: They alternate orders between the two suppliers. This way, the manufacturer can have two simultaneous shipments coming their way, and they suddenly find that waiting on consecutive orders to be shipped is now significantly less of an issue, since their effective capacity for getting shipments has been doubled.”
This works perfectly when you have the same amount of RAM in each channel; data gets alternated between channels, leading to faster overall access to store and retrieve data. But when you don’t have the same amount in each channel (say, you’re running dual-channel but have 16GB in one channel and 8GB in the other), your CPU can’t do that consistently, because sometimes there’s nowhere to alternate with. In terms of the analogy, this would be like having two uneven suppliers: one with a gigantic warehouse, and one with a moderately sized warehouse. What now?
So, let’s say you have 16GB in channel A and 8GB in channel B.
Ideally, your CPU will alternate between the two until channel B has reached capacity and channel A has reached 8GB. After that, everything’s going in that other 8GB half in channel A only. So a higher level of performance is maintained… until you reach 16GB, at which point it reverts to single-channel performance. If you like, you can think of this as being like a hybrid between dual-channel and single-channel.
Intel gave themselves a fancy marketing name for it: Flex mode. AMD, however, never gave it a marketing name. It is implied that this has been a standard feature since about 2011, but it has been around since 2004. If this method isn’t implemented, then the CPU doesn’t alternate between channels at all if you have a different amount of RAM in different channels. It just fills one up, then the next, and so on, the CPU not taking advantage of the multiple channels properly.
Here’s where things get tricky. From what I can tell, this has been supported by every modern CPU since at least 2011, including AMD’s infamous FX series. But, it seems that the makers of the BIOS/UEFI also have to support it.
Incompetence, or Laziness?
Something to note here is that both AMD and Intel have provided documentation for BIOS/UEFI makers in the past on how to implement this feature, just as with the described alternation between channels in the first place (for standard dual-channel or quad-channel arrangements). And the way it works hardware-wise is pretty clear. There’s little excuse for manufacturers to not implement it.
But when you look at motherboard manuals, you realize that it varies from company to company: ASUS is the only manufacturer that openly supports this feature; ASRock explicitly doesn’t support it; and MSI, Gigabyte, and Biostar leave you in the dark about whether it is supported. And this applies for both Intel and AMD platforms. Moreover, further frustrating the situation, motherboard manufacturers have a tendency to re-use text (or at least say essentially the same thing re-arranged) in their manuals across different models.
But, as I already said, there’s little excuse for a manufacturer to not implement it. It would help maintain performance at an insignificant cost to them. They’re already most of the way to implementing it by just having multiple channels in the board, and hosting CPUs that support the feature; why not go the rest of the way?
Personally, it’s been a while since I’ve heard of a motherboard supposedly running an uneven amount of RAM in single-channel. But at the same time, who’s to say that wasn’t just how the motherboard reported it, and it was actually using the method described above?
Ultimately, support for this feature is (officially) up in the air, especially since next to nobody has done performance testing for this, and certainly not with different hardware setups. But personally, I’d say not to worry about it. It very well might be supported by your motherboard anyway, but the chance that it’d make a noticeable performance impact in the first place is by no means guaranteed. You don’t necessarily need to fear having more RAM in one of your motherboard’s channels than in another; it just won’t give you as much of a boost as keeping them parallel.