DDR5 secretly splits every stick into two memory channels, but you still want a second one

DDR5 secretly splits every stick into two memory channels, but you still want a second one

For as long as most people have been building PCs, the advice around memory has been simple enough: buy it in pairs. One stick gets you single channel and a performance hit, two sticks get you dual channel and the bandwidth your CPU actually wants, and anyone who tried to save a few dollars by starting with a singular module has usually ended up regretting it when they realize that they've left performance on the table. It's a rule that's followed generation after generation. DDR5, though, has quietly changed the foundations that this rule has been built upon. Every DDR5 module, right down to the cheapest laptop SO-DIMM, is internally split into divided into two independent 32-bit subchannels rather than the single wide channel that DDR4 and everything before it used. So, on paper, a single DDR5 stick is already doing something that used to take two. It's a genuinely clever change, and it does make a single stick of RAM less of a compromise than it once was. Even still, it doesn't retire the buy-in-pairs rule, and if you read it the wrong way, you'll talk yourself into a build that still leaves you with an underperforming computer compared to what it could be. The clearest example of all this is sitting inside Valve's new Steam Machine, which ships with exactly one stick. DDR5 splits every module into two independent channels One module, two lanes A DDR4 DIMM gives your memory controller a single 64-bit channel, controlled by one command bus, moving as one wide unit. DDR5 takes that same module and cuts it down the middle into two 32-bit sub-channels, each with its own command and address bus, its own decoders, and its own set of banks. The two halves are properly independent, so the memory controller can send one off to fetch data while the other is busy with something completely different, instead of making everything queue through a single pipe. The split works because of burst length; that is, the fixed run of transfers every access drags out of the chips. DDR4 used a burst of eight, which, on a 64-bit channel, moves 64 bytes in one go. DDR5 wanted longer bursts, because at its clock rates a longer run spends proportionally less of its time on command overhead and bus turnaround, so it stepped up to a burst of sixteen. On the old 64-bit width, though, sixteen transfers would haul 128 bytes per access, twice a cache line, and half of every fetch would be data nothing had asked for. Splitting the channel in two is what saves that. A burst of sixteen on a 32-bit sub-channel lands right back at 64 bytes, meaning that the cache line stays intact and you end up with two independent channels rather than one, each free to be servicing a different request. Those extra banks do the same thing: a memory controller streams best when it can fire one request straight after another, but two reads aimed at the same bank group have to be spaced further apart than two reads aimed at different groups. This means that several accesses all targeted at the same group ends up leaving gaps in the data bus while it waits out the longer delay. Let's say the controller needs four cache lines in a hurry: if it sends it four at the same group it has to stagger them, but if you scatter them across four separate groups it can do all four almost back to back. DDR5 going to 32 banks across eight groups, up from DDR4's 16 across four, is what gives it that room to rotate. Between the narrower channels, the longer bursts, and the wider spread of banks, DDR5 keeps its data bus busier than DDR4 managed, and a paper from Gigabyte estimates that DDR5's bus efficiency is approximately 80 to 90 percent against DDR4's 70 to 80, which is also why it tends to perform better even with matching speeds. That independence is also what helps a single stick of DDR5 perform better than a single stick of DDR4. A lone DDR4 module funnels every request through one command queue, one after another, whereas a lone DDR5 module can have both of its sub-channels working on separate requests at the same time. It doesn't get any more bandwidth out of the deal, though, and instead it uses what it has more efficiently. Two sub-channels on one stick isn't two sticks It comes down to width The two 32-bit sub-channels on a DDR5 module still add up to 64 bits, which is the exact same total a single DDR4 module gave you. All the split does is change how that 64-bit path gets scheduled, not how wide it is. This means that one DDR5 stick still contributes roughly one channel's worth of bandwidth to your system. If you put a second stick of RAM into your machine, you still get two full modules working together, and that's the same as it always was. If you want proof that both halves of a single stick are already pulling their weight, the newer budget DDR5 HUDIMMs, which expose only a single 32-bit sub-channel, are a neat illustration of this. Testing on those has shown throughput dropping by roughly half, and it takes two of them to match one ordinary stick. A normal DDR5 module already puts both sub-channels to work, so there's no spare channel sitting idle, and nothing to unlock by leaving the second slot empty. In other words, yes, the internal split is a real thing that actually helps, but it helps in a narrower way than you would think if you were told that DDR5 is dual channel on a single stick. It gives a lone stick better parallelism than a lone DDR4 stick ever had, but it doesn't give you the bandwidth of two sticks, because two sticks are still, unavoidably, twice as much memory bus. There is one exception to that: LPCAMM2. It's the newer laptop memory standard, and it's a single module that carries a full 128-bit setup, meaning that one LPCAMM2 board does the job of two SO-DIMMs on its own. It manages that by soldering LPDDR5X straight onto the module rather than splitting one 64-bit channel in half. Where a regular DDR5 DIMM tops out at that same 64 bits, an LPCAMM2 module is 128 bits wide on its own. A single LPCAMM2 matches two sticks because it has the bus width for it, not because it schedules a narrow channel in a smarter way. And because that LPDDR5X sits on a replaceable module held down by three screws rather than soldered to the board, you keep an upgrade path that soldered laptop memory never gave you. The catch is that LPCAMM2 is its own standard, and not something you can slot into a normal DIMM or SO-DIMM socket. And for now, it lives almost entirely in laptops. But it's an implementation of the full 128-bit interface that would normally require two SO-DIMMs. Valve's Steam Machine ships with a single stick, and it shows One 16GB SO-DIMM, one empty slot Credit: Steam Store | Valve Valve's Steam Machine is where you can see the cost of a single stick, because it ships with a single 16GB DDR5-5600 SO-DIMM in a board that has two slots, one of them left empty. That wasn't really a design decision so much as a supply one. Valve initially said it ships a mix, some machines with one 16GB stick and some with two 8GB sticks, but the company quickly went back on that and told Gamers Nexus that it had "misspoke." Valve's engineers were fairly candid about the trade-off when Gamers Nexus asked. Hardware engineer Yazan Aldehayyat said the company "validated the performance delta" and doesn't "really think it makes a big difference or if any measurable difference at all per game," while graphics programmer Pierre-Loup Griffais claimed that single and dual channel were of "comparable speeds." They weren't pretending single channel is the same, though. Griffais openly conceded that "if you're doing workstation stuff, the memory stuff, we understand that dual channel has a difference there." When Gamers Nexus ran the two configurations in a follow-up test, that's more or less how it played out, with a couple of sharper edges than Valve's framing let on. In the GPU-bound tests the second stick did very little, which is close enough to nothing that "comparable speeds" is probably an accurate enough statement when it comes to some forms of gaming. The CPU-bound results are where it showed, though. According to Gamers Nexus, Baldur's Gate 3 ran 15.3% faster at 1080p with the second stick in, The Outer Worlds 2 was close behind at 14.7%, and Resident Evil 4 picked up 10%. Step outside gaming and the gap gets wider still, with a 7-Zip compression run coming in 19.4% faster in dual channel, which lines up neatly with the "workstation stuff" caveat given by Griffais. None of that makes the single-stick Steam Machine a bad machine, and for a device that spends most of its life GPU-bound at the resolutions people actually play at, the stock configuration is fine. But it does make the performance delta tangible enough to say that it's fine overall, but a handful of games and most heavy CPU work can fall behind by as much as 10 to 20 percent. Valve clearly rates wide memory, too, if the Steam Deck is anything to go by. It runs 16GB of LPDDR5 across quad 32-bit channels, a full 128-bit setup soldered for heavier bandwidth. The desktop Machine ended up with half that width on the single-stick units, a supply problem rather than a change of heart, since socketed SO-DIMMs come out of whatever stock exists, and right now that stock is single 16GB sticks. There's an upside to Valve's hand being forced, mind. As Griffais pointed out, a machine that shipped with one 16GB stick is trivially easy to upgrade, since you drop a second module into the empty slot and you're at 32GB in dual channel. It's a decent consolation, even if it's one Valve was backed into rather than chose. How much the second stick matters depends on your CPU A big cache hides a lot of sins Start with what doesn't fundamentally change: DRAM access latency. Latency measures how long any one request takes to come back, the row activation, the column access, the precharge, and all of it is fixed by DRAM timings and stays the same whether you have two sub-channels feeding the CPU or four. The second stick increases your width instead, allowing for more requests at once, so what you give up by leaving it out is throughput when the CPU is asking for a lot at the same time, not the speed of any single attempt at access. How much that missing throughput actually matters depends on how often your CPU has to go out to main memory in the first place. A processor with a large cache can keep more of what it needs close by, so it hits main memory less often, and a narrower memory setup hurts it less as a result. That's why the impact can swing from negligible to absurd between tests. AMD's X3D chips are a prime example of this. The huge stacked L3 cache that makes them so good at gaming manages to shore up a lot of the traffic that would otherwise hit main memory, so some games can be largely unaffected. In Micro Center's runs on a 9000-series X3D chip, Cyberpunk 2077, Marvel's Spider-Man, and Counter-Strike 2 all managed to be pretty close in performance. The averages don't tell the whole story, though, even here. In that same test, Baldur's Gate 3 and Helldivers 2 still gained more than a third in average frame rate from the second stick, and the minimums were where it got ugly. Baldur's Gate 3's minimum frame rate more than tripled with dual channel in, and Black Myth: Wukong's climbed from a stuttery 51 to 170. Those low points are most noticeable in the moments where a game is asking for a lot at once, like streaming in a new area or a wall of assets, which is where narrow memory bandwidth rears its head. These are frame drops that you'll actually feel while playing. It gets worse if you take that cache away, too, as there's nothing papering over the gap. The more GPU-bound you are, whether that's from a big cache, a high resolution, or simply a graphics card that's the bottleneck anyway, the less a second stick does for you, and the more CPU-bound you are, the more it matters. It genuinely depends. DDR5 didn't kill the two-stick rule Fill both slots if you've got them DDR5's internal split is a neat bit of engineering, and it does exactly what it was meant to: making memory more efficient and making a single stick less of a penalty than it used to be. If you're stuck with one module for now, whether that's a Steam Machine or a laptop with a single slot populated, you're not in nearly as rough a spot as one stick of DDR4 would have left you, and you can usually fix it later by filling the empty slot. However, it just isn't a reason to stop buying RAM in pairs. Two sticks still double the available memory bandwidth, and in the workloads that care, you'll notice. And those workloads still include some games. So, if your board has two slots, fill them if you can. One stick is already smarter than a DDR4 ancestor, but it's still only half the bus you could be running.

Original Source

Read the full article at Xda-developers →

KhanList aggregates and links to publicly available news content. We do not host full articles from third-party sources. Always verify important information with original sources.