bdsy wrote: ↑Mon Dec 23, 2024 6:31 pm
Now it looks like that's what I'm going to do eventually.
Did your problem get fixed by a later BIOS update, and what hardware/CPU/GPU were you using, more specifically?
I also experienced the same type of memory corruption on a AMD AM5 Zen 4 CPU, Ryzen 5 7500F, but in my case on Asrock B650M PG Lightning motherboard. I had also a Vega 56 GPU with 8GB of VRAM.
A BIOS update "seems to" have fixed the problem.
- The corruption seemed to occur quite reliably after waking the PC from sleep, or - at least once - after a long period of idle on desktop, so it was perhaps related to either temperature or power states. It did not seem to really occur during active use (or at least I did not happen to notice), and 12+ hours of Memtest86+/Memtest86 did not detect anything wrong.
- Usual stuff like remounting the CPU / DIMMs did not help.
- The issue was OS-independent, on both memory channels, with 3 different RAM DIMMs at 4800/5200 MT/s, independently as well as with two channels filled (in configs of 16GB or 32GB or 48GB).
- I also tried ECC RAM (Kingston Server Premier UDIMM), verified in Linux that ECC is enabled, but EDAC did not detect any corrected or uncorrected errors when the corruption occurred.
With all that, and the corruption not being random, the problem certainly did not lie in the connection between the CPU and RAM, but happened at any point before CPU memory controller calculates ECC for the data. (Well, AFAIK on DDR5 UDIMM, address/command bus/CS are not protected by ECC/parity, but exact same corruption occurring on both channels seemed still quite impossible).
Swapping the CPU from the 2024 model to one manufactured in 2025 did not help, so probably not a single "bad batch".
However, BIOS update from Asrock BIOS 2.02 to 3.50 seems to have fixed the issue, though as manufacturers do not publish detailed changelogs it is impossible to know if the bug just occurs 100 times less often now.
BIOS 2.02 had CPU microcode A601206 and SMU firmware 84.79.223 (Agesa ComboAM5 1.1.0.0 apparently?), BIOS 3.50 has CPU microcode A60120C and SMU firmware 4.84.3.0 (Agesa ComboAM5 1.2.0.3g). I did not try the BIOS versions inbetween.
Still don't know if the problem was related to (firmware of) the CPU, chipset, or some other component on the motherboard though that might be less likely with our different motherboard manufacturers.
Below is a hex editor screenshot of the corruption that I captured by saving a corrupted RAM-cached file (correct data blacked out):

- corrupted_bytes.jpg (60.76 KiB) Viewed 28245 times
The starting values are different but the format is same as yours, 4k-aligned main chunk, increment by 13, though if you look at the 8th 64-bit value in the main chunk where the value overflows, it doesn't seem like normal 64-bit little endian int byte order (0xBB->0xBC instead of 0x10->0x11)?
The corrupt values seemed to be always those, with the newer CPU too. I checked it maybe about 10 times.
The 4 bytes before the 256 bytes chunk were usually but not always there, sometimes I couldn't find them in the file, once it was about 600MB earlier; but since I don't know how the OS mapped the file in physical RAM, it could well have been just that the memory pages for the file weren't allocated linearly.