Above you expressed surprise that the addresses did not start or end on an obvious hex break point. The log says that it was truncated to 500 total errors. When Memtest was running, I believe it said there were 10000(?) errors; who knows whether that is hex or decimal. I also have no idea how it selected the cut points in the errors list.
Other points: I've been running with XMP since day one, i.e., for a long time. I told the firmware to use the XMP option recommended by G.SKILL and I have left all memory timings to that specification. The memory according to an ASUS utility runs at 2400 (it's design target) plus or minus a trivial amount (e.g., .1) when the CPU changes its clock. I presume speed change is based on a scale that allows memory and CPU clock ratios to be a simple rational number.
I also have not touched memory voltages and set virtually everything else to automatic, i.e., let the firmware set it; and I have not tried to overclock the CPU so its max cycle rate is 3.9GHz with all sites (2 per core) running with the same clock.
Unfortunately, I understand only a little about modern hardware and age has robbed me of the dexterity necessary to go through extensive swap cycles that included removing and remounting the CPU multiple times.
In the early middle 1960s, I sent some time developing hardware diagnostics, mostly for peripherals. I worked with the fellows who did CPU and memory work though. I remember that those diagnostics would some times identify a basic component, its exact location, and instruct the tech to replace it. It was my hope that a today's diagnostic would give results such as: replace CPU; replace motherboard; replace memory modules in slots x, y, and z. Even at this chunk size, the information would be very useful.
My goal is to keep this machine and another running for another 4-6 months then build replacements out of more modern hardware.
Your first mistake, is in thinking that XMP for that generation
of machine, handles 1 DimmPerChannel and 2 DimmPerChannel cases.
There are two table entries on the DIMM example shown next, but
the different between the two entries is Command Rate, not "Timing".
A 2T Command Rate, puts the info on the bus for two cycles, and
via having lots of Tsu, clocks it in on the second cycle. The
2T Command Rate option, is useful for heavy bus loads, or for exceptionally
(out of JEDEC spec) bus speeds. On Intel, if given their druthers,
they prefer to always run at 2T. It's how they hope to hide any
"drive current issues", by hiding behind the 2T hack.
DIMM # 1
SMBus address 0x50
Memory type DDR3
Module format UDIMM
Module Manufacturer(ID) G.Skill (7F7F7F7FCD000000000000000000)
SDRAM Manufacturer (ID) G.Skill (7F7F7F7FCD000000000000000000)
Size 8192 MBytes
Max bandwidth PC3-19200 (1200 MHz)
Max JEDEC PC3-10700 (667 MHz)
Part number F3-2400C10-8GTX
Number of banks 8
Nominal Voltage 1.50 Volts
EPP no
XMP yes, rev. 1.3
AMP no
JEDEC timings table CL-tRCD-tRP-tRAS-tRC @ frequency
JEDEC #1 5.0-5-5-14-19 @ 380 MHz
JEDEC #2 6.0-6-6-17-23 @ 457 MHz
JEDEC #3 7.0-7-7-20-27 @ 533 MHz
JEDEC #4 8.0-8-8-22-30 @ 609 MHz
JEDEC #5 9.0-9-9-24-33 @ 666 MHz
JEDEC #6 10.0-9-9-24-33 @ 666 MHz <=== used the first time you start the new build
XMP profile XMP-2400 <=== rated/tested enthusiast speed
Specification PC3-19200
VDD Voltage 1.650 Volts
Min Cycle time 0.833 ns (1200 MHz)
Max CL 10.0
Min tRP 9.38 ns
Min tRCD 9.38 ns
Min tWR 13.25 ns
Min tRAS 25.38 ns
Min tRC 35.31 ns
Min tRFC 260.00 ns
Min tRTP 7.50 ns
Min tRRD 5.00 ns
Command Rate 2T
XMP timings table CL-tRCD-tRP-tRAS-tRC-CR @ frequency (voltage)
XMP #1 10.0-12-12-31-43-2T @ 1200 MHz (1.650 Volts) [ 1DPC, 2T command rate ] profile
XMP profile XMP-2400
Specification PC3-19200
VDD Voltage 1.650 Volts
Min Cycle time 0.833 ns (1200 MHz)
Max CL 10.0
Min tRP 9.69 ns
Min tRCD 9.69 ns
Min tWR 13.33 ns
Min tRAS 25.52 ns
Min tRC 35.52 ns
Min tRFC 260.42 ns
Min tRTP 7.50 ns
Min tRRD 5.00 ns
Command Rate 1T
XMP timings table CL-tRCD-tRP-tRAS-tRC-CR @ frequency (voltage)
XMP #1 10.0-12-12-31-43-1T @ 1200 MHz (1.650 Volts) [ 1DPC, 1T command rate ] unlikely to work
quite aggressive option
I understand some later version of the XMP "standard", attempts
to do a better job of handling the 1DPC and 2DPC cases.
But back when we built up our 4930K machines, the table only
handles 1DPC... twice. The table entry exists two times, but
both cases are for 1DPC. Not two DIMMs per channel.
For the memory manufacturer, it is harder to test in a
meaningful way, the 8x8GB case. That's because kits do not
necessarily come as 8x8GB. They come as 4x8GB and you buy
two of them. To certify a 2DPC table entry, they would
have to sell you one 8x8GB package containing the eight sticks
certified to work that way.
Now, like you, I "had to do the experiment, just as a hold-my-beer
experiment". I was greeted immediately with errors when I turned
on XMP with 8x8GB installed. For me, that was an expected outcome.
I have also done the very same experiment (the "should not work" experiment)
on my 5600G (four 16GB DDR4 DIMMs as 2DPC), and... it worked.
XMP with 2DPC was close enough to working, it was error free.
Part of the reason, was I was conservative with my speed selection
on the RAM, and that may have helped a bit. The System Agent (SA)
in that case, doesn't have to work quite as hard.
If they would do XMP for us, then let us change individual parameters,
that would shorten the search for manual tuning values. I simply adjusted
the clock speed, until it worked (the BIOS recomputes Tcas when you do
that, so it's still a bit aggressive as a testing method). If you took
Tcas off auto, you could manually set it. The settings can individually
be taken off manual, if you're careful and think about what you're doing.
If you use CPUZ from cpuid.com , it may have the latest XMP standards
contained in its parsing code, and for newer systems, may display what
things the XMP table actually supports. This can save some effort on
research.
The 5600G I bought, is maybe a bit more powerful than the 4930K,
due to the clock speed being a bit higher (but it definitely does
not have the PCI Express resources and slots!) .
The 4930K idles at 100W or so.
The 5600G from AMD idles at 42 watts. A small saving is obtained, by
using the less-worthy Southbridge on my motherboard (it's the Southbridge
that does not need a big heatsink). The 5600G ran so cool, that the
BIOS code that programs fan speed *never engaged*. I never got to
see how the power management works on my board. Silly, or what.
And you need to learn that shit, if doing upgrades. It's important
to know how the closed loop power management works on modern systems,
before you buy. When a system promises to use 226 watts on the CPU for
short periods of time, you need to know how that is possible, and
what is going to get warm. And, what is not going to get warm.
Zen3 5600G, one of four DDR4 DIMMs (that's why the DIMM voltage values are lower)
DIMM # 1
SMBus address 0x50
Memory type DDR4
Module format UDIMM
Module Manufacturer(ID) G.Skill (7F7F7F7FCD000000000000000000)
SDRAM Manufacturer (ID) SK Hynix (AD00000000000000000000000000)
Size 16384 MBytes
Max bandwidth DDR4-3200 (1600 MHz)
Max JEDEC DDR4-2133 (1066 MHz)
Part number F4-3200C16-16GVK
Nominal Voltage 1.20 Volts
EPP no
XMP yes, rev. 2.0 <=== compare to the 4930K machine
AMP no
JEDEC timings table CL-tRCD-tRP-tRAS-tRC @ frequency
JEDEC #1 10.0-11-11-25-35 @ 733 MHz
JEDEC #2 11.0-11-11-27-38 @ 800 MHz
JEDEC #3 12.0-12-12-29-41 @ 866 MHz
JEDEC #4 13.0-13-13-31-44 @ 933 MHz
JEDEC #5 14.0-15-15-35-49 @ 1033 MHz
JEDEC #6 15.0-15-15-36-50 @ 1066 MHz
JEDEC #7 16.0-15-15-36-50 @ 1066 MHz
XMP profile XMP-3200
Specification DDR4-3200
VDD Voltage 1.350 Volts
Min Cycle time 0.625 ns (1600 MHz)
Max CL 16.0
Min tRP 11.25 ns
Min tRCD 11.25 ns
Min tRAS 23.75 ns
Min tRC 35.00 ns
Min tRRD 2.50 ns
XMP timings table CL-tRCD-tRP-tRAS-tRC-CR @ frequency (voltage)
XMP #1 16.0-18-18-38-56-n.a @ 1600 MHz (1.350 Volts) <=== only one table entry, 1DPC
Me switching on for 2DPC, is "naughty",
but it worked.
Once you play with a new system, it takes some getting used to.
The damn 5600G machine has caught me by surprise more than once. The
old 4930K, it was "set and forget". Use a big heatsink, done.
That was the "design equation" for the user.
*******
You can see in my picture of the 4930K, that with only one
fan on the D15, there is room to access the DIMMs on both
sides of the heatsink. But I have had to use a wooden stick,
to push on a release lever on a DIMM. So some things are
easier to do than others.
One problem with the DIMMs I bought, is the metal "thing" on the
top edge, it hurts your fingers. This is why inserting DIMMs on
my 4930K is such a pain in the ass. My DIMMs have two small screws,
so you can remove the "fake sword" from the top of the DIMM.
However, the DIMMs are so close together, there is no air channel.
If you were to remove the painful metal "cap" like that, yes,
it no longer hurts your fingers, but, the DIMMs will overheat.
Only the most recent DIMMs, they may have thermal monitoring. The
old ones, don't.
The metal covers on the DIMMs are a crock. At stock voltage,
these DIMMs should not get hot. There would be more of an air channel,
if there was no metal in the way. And the Intel 1.65V limit, prevents
any really exotic voltages from being applied (not enough voltage to
make them hot).
If you're not interested in tuning the RAM, take it to a shop
that enthusiasts trust, and have them test it. Send the machine
in, with a Linux boot drive in it :-)
So when I got errors, I just turned down the clock. I did not think
I could fix it, by just slacking off Tcas. There were too many errors
for that.
Switch off XMP. Set it to manual (manual enough, so you can dial
a DIMM clock). Set it to 1866MHz like I did. Run memtest. Hopefully... done.
Then, if you're building a new system in a month or two, it's
not a big deal.
Paul