I've only done some surface-level digging into CAMM2/LPCAMM2, and assumed it'd target the laptop market first and foremost. It's interesting to see it on an ATX board targeting desktops.
It also seems a bit... weird... to have it laid out flat on the board instead of having some way to slot them in the same way as DDR sticks, at least as far as space saving goes.
> It also seems a bit... weird... to have it laid out flat on the board instead of having some way to slot them in the same way as DDR sticks, at least as far as space saving goes.
Thanks to ever more integration of discrete chips, space isn't as much a premium as it used to be.
LPCAMM2 takes less actual space on the board than 4 dimm slots, which is what it will be replacing. Mainly because wiring it is simpler and it can be closer to the CPU socket.
Almost nobody runs 4 sticks of unbuffered DDR5 anyway, because you wouldn't be able to get them to run above 4800 and you'll be spending several minutes waiting for memory training. And you get a minimum of 16GB per stick unless you buy modules with dead ranks.
There's so little margin to total signal degradation in DDR5, these improvements are actually necessary (and more upgrade friendly than the inevitable future of memory on SoC).
That's the smallest size, 32 on a single module also exists. There is no conspiracy to deprive you of density. Most consumers will just appreciate latency over more than 64GB of memory. And yes, that's a real world performance gain, especially on larger AMD chips where L3 isn't shared among all cores.
If you want density, use a workstation board and registered memory, which offloads a bunch of responsibility of a central memory controller to the module itself, so you can stick terrabytes of somewhat fast memory in there.
not sure what the status quo is, but you used to be able to buy a cheap kit as long as the timings indicated hynix, and they'd manually overlock quite high without issues.
The slots are not independently upgradeable on DDR5.
Firstly, everyone uses dual channel. You don't buy a single module, you buy two at a time.
Secondly, speeds go down so much for 2DPC that if you currently have 32GB (total) and want to have 64GB, the correct update path is not to purchase an additional 32GB, it is to toss your current 2 16GB modules and purchase two new 32GB modules.
CAMM2 just recognizes this, and first puts all channels on a single module, and secondly gets rid of that stupid unusable second connector, in exchange for having room in the standard for larger module sizes.
RAM signalization is very sensitive to data line length, more so if you use low power RAM modules.
This is not a "bigger number in a useless benchmark" thing, if you can standardize the shortest and fastest routing possible with a socket, everybody can use faster RAM for less (RAM command waits are the biggest killer of responsiveness), and everyone can enjoy faster, more responsive systems.
Moreover, bigger RAM means bigger caches in any OS, and having these caches on faster storage means snappier, faster systems. Lastly, games and other engineering software use great amounts of RAM and moves tons of data between GPU RAM and system RAM. Having faster pipes helps.
It's not about benchmarks, it's about real world performance.
The last one is a 6GHz, 24 core, 32 thread, 253W behemoth, and even that has two memory channels.
What's the benefit of having four slots, and adding more wait states and reducing bandwidth in a system this powerful? That doesn't make sense.
Instead, I'd rather have two channels in a module, and change the whole RAM in one swoop. If you are unsure, over-speccing a system slightly at the start won't hurt on the long run.
> using swap is the biggest killer of responsiveness
I have bad news for you, then. Even if you have tons of free RAM, unused pages are still pushed to your swap. On the other hand, while swap heavy computation is a last-resort in high load systems, command waits are with you the moment you touch your power button.
> On Windows? Pretty sure that both on Mac OS and Linux I can have the swap mostly unused.
Nope, on Linux. My macOS system is not using its swap at the moment, but I saw it's using it when both memory pressure was low and there was free space. OTOH, on my 32GB Linux system, current state is as follows:
total used free shared buff/cache available
Mem: 31894 10051 2967 169 19498 21843
Swap: 15722 2506 13216
This is system has not been stressed to full RAM since last boot. It's Linux kernel's own choice to move these pages to swap over time.
> Or even run without swap on Linux.
This is how Kubernetes systems and most HPC clusters run, and hard-lock the moment you hit 0 on "free" column.
It's not really a vendor thing but signal integrity issue.
CAMM2 just makes a lot more sense with DDR5. And fact is that we most likely want our next standard to be even faster so the issue is just going to get worse with DDR6 or whatever the next one we are going for is.
One negative I see is that there is no way to incrementally add memory to the system with a just single slot. The good news is that it should be possible for future products to have two (or more?) of these slots on the back side of the board, enabling the extensibility after all.
With DDR5 it is very unlikely that you are going to add more memory modules on consumer boards. This is because if you add more then 2 you half the speed on both AMD and Intel platforms (and you don't get full speed with just 1 stick). Also if the new module is not exactly the same as the previous ones you can very easily run into stability issues.
This is why on consumer land you are pretty much always buying your memory as a kit (of 2 modules with DDR5). And if you want more you buy a bigger kit and sell your old ones or throw them in the trash.
On server side the memory controller on the CPU is much more beefy and the motherboard better built to allow for more memory sticks to run at full speeds. But even then you usually have to go and find memory that the OEM qualified/teste for you.
> This is because if you add more then 2 you half the speed on both AMD and Intel platforms (and you don't get full speed with just 1 stick).
Modules have been added in pairs since forever due to motherboards being able to use dual channel. Except on the cheapest cheapest options (not all laptops).
That doesn't mean you can't add more than one pair.
Did that change with DDR5?
Also note that this CAMM module is already dual channel. You don't need pairs any more.
Yes, four slot DDR5 is going to be much slower than two slot DDR5 due to signal integrity difficulties. Look at a DDR5 motherboard’s qualified memory configurations and compare the x2 setups to x4 and you will see the huge difference in clock rates.
The calibration to get just 2 sticks to be stable is around 20-50 seconds already, during which the memory controller is testing different sequencing and even clocks for individual lanes to minimize interference. So unless you want to stop the entire CPU if you need that memory, no.
You're running a signal at 2.4+ GHz (commonly 3 GHz for DDR5-6000) over 288 pins over several centimeters simultaneously, it's not pretty.
What's "much slower"? 10%? 30%? 60%? Are the speeds that don't work in an x4 configuration even within spec, or "overclocked"?
Is that why everyone is complaining about ddr5 prices? Atm I'm fine with my ddr4 box and will probably still be for the next few years.
Tbh the last time I've seen a noticeable difference from memory speed was when I overclocked my ram (and system bus!) from 66 to 100 Mhz. Back in the pentium 1 / amd k5 era, i believe.
I do have a feeling what you're describing only means 5 more fps in some benchmarks...
And last, a friendly reminder. If your working set doesn't fit in ram you're screwed no matter what your ram speed is :)
I think they go up to 512gb per single module these days. The really big ones are really hard to buy for us mere mortals but you can get them through various data center/enterprise hardware vendors.
> Also if the new module is not exactly the same as the previous ones you can very easily run into stability issues.
Even with the same module, syncing up 4 modules to rated speed is going to be a challenge to boot, let alone have it be stable. If you want density, a platform that supports RDIMMs is the way to go with DDR5.
Yep, it looks to me like a step down for desktops.
It's nice that it takes less space than two SODIMM slots but if you only get one module on a desktop motherboard you're still at the mercy of memory module makers when you build new (1) and have to pay more than you should for upgrades (2).
(1) Last desktop I built i used 4 x 16 dimms instead of 2 x 32 because I needed it yesterday and that's what was going to get delivered in 24 hours. If the mobo had just one camm module i'd have had to either live with 32 or deal with the delays.
(2) You get your one camm module motherboard, put 16 G ram on it because that's what all the games demand these days and you believe in Santa, then realize you need 32 to have any chance of running a browser or discord while playing, pay for a 32 G module, throw away the 16 G... the only happy entity is the memory seller.
I’ve had bad experiences with adding memory — even during DDR3 days — that I just replace the whole kit now. Otherwise I can get random instabilities, memory corruption, and that’s not even with XMP on.
Different kind of compression than you are probably thinking about.
It's a compression-attached connector, like a CPU socket, instead of an edge connector like DIMM.
CAMM was made necessary because SO-DIMM could no longer support the kind of signaling that next-gen memory needs. CAMM allows both for much cleaner signal paths, and for more signals.
It's coming to desktops too because there is no sensible reason to have a separate desktop memory standard. The split between DIMM and SO-DIMM only exists because SO-DIMM is worse, and DIMM is usable on both servers and desktops. CAMM2 is better than DIMM, and servers have mostly moved to different, incompatible memory types anyway.
Ooooh, okay. I was thinking of something horrible, like DisplayPort DSC… but for RAM, because in aggregate that would need less bandwidth and less pins.