[coreboot] More details about ram issues
Charlotte Plusplus
pluspluscharlotte at gmail.com
Fri Nov 11 08:14:32 CET 2016
So I did many more tests today (more than 6h, and flashing around 30
times), with SPD settings hardcoded into raminit, and without the mrc cache
interfering.
TLDR: coreboot tries to increase the frequency without increasing the
voltage, and that doesn't work for all memory.
Basically, with the problematic ram sticks, I can boot perfectly fine at
DDR3-1866 speed, but even the slower setting 11-11-11-31 gives errors on
the memtest. This is inconsistent with information I found about my memory
from its SPD information, and from other people who overclock this exact
same memory.
Even at 10-10-10-27, I still get errors at DDR3-1600 speeds. Far fewer than
before, but some errors sill.
After reading more about XMP and SPD, it is my understanding that :
- JEDEC specs stop at 1600, and after that XMP is required
- even before 1600, XMP also offers profiles, and they are not optional:
some memory is otherwise unable to work at its advertised speed
- XMP profiles are some kind of overclocking: they usually require
adjusting the voltage, to deal with this increased speed
- in XMP profile bytes, voltage increase information is given precisely
- nowhere in the code I saw anything increasing the voltage, while XMP
requires that
I conclude that while there may be errors in selecting the SPD settings,
even if the SPD is manually corrected with known-good settings, or if
overshooting with very generous latencies, some errors do remain as the ram
is being asked to operate outside its voltage specifications (given the
frequency)
1.5V is a JEDEC spec, but RAM is advertised based on the information
contained in the XMP profiles, which at the moment do not seem fully
supported.
I do not know how to adjust the voltage (it should require talking to the
IMC of the CPU) but I think that as soon as this is done, stability should
improve.
If someone can propose a patch doing that (either using the voltage read
from SPD, or by manually entering voltage information), I will be happy to
test it.
For now, I urge caution when operating even at DDR-1866 frequencies. Most
boards do set up 933 as their max_mem_clock_mhz. It is not very prudent to
do that until the voltage situation can be solved.
Charlote
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20161111/d55da438/attachment.html>
More information about the coreboot
mailing list