Imagine all the cores generating cache misses and you have 2 channel of memory. When a channel handles a transaction it's unavailable for 40 ns (keep in mind that @ 3GHz with 2 instructions per cycle that's 240 instructions per core).
Now with 4 channels you can have twice as many transactions in flight and your cores spend less time idle and waiting on memory.
So over a 30% increase in performance when going from DDR4 to DDR5, of course this doesn't matter if your application has a high rate of cache hits.
But, I'm not sure how much of that shines through in the first DDR5 product vs mature DDR4 products. Now is the part of the cycle where the old memory is still high volume and the new memory is starting to ramp up; in not too long, we'll have the part of the cycle where they made too much of the old memory and prices drop and it's time to scoop up all the old memory you'll ever need.
[0] https://twitter.com/iancutress/status/1401834748402716672
My impression has been that the vast majority are the former, and those are pretty well fixed by on-die ECC.
But I will say I'm annoyed that there's no way to get datapath ECC without buying 25% extra chips and dealing with worse prices and speeds. Why can't a tiny chip on the module calculate those 8 bits on the fly?
And to be clear I don't want fake parity. I want it to verify the internal parity and then use those bits to calculate the data bus parity. Instead of paying 25% extra to get two layers of parity.
12% extra to go from zero parity to full parity was a much better offer than 25% extra to go from mostly-parity to mostly-double parity.
However DDR5 doubles the number of channels vs DDR4, while also having a higher clock rate (more bandwidth), so it's a bigger difference.