From
Memory - more than you wanted to know!, Part III -
"Evaluation and selection":
The difference between "Supported Speed", and "Supported Speed"!
The board makers say "DDR3-XXXX Supported!!", meaning the circuitry on the board can be coaxed, one way or another, eventually, into making
at least one piece of
someone's XXXX speed memory function. They know that less than 1% of their customers have even a vague idea of what's actually involved, but more than 90% will be
mightily impressed by '
BIG NUMBERS'! They simply
can't pass by the marketing advantage to those big numbers...
Then, there is the processor. Intel plainly states: DDR3-800, DDR3-1066, and, on some processors, DDR3-1333 are supported - and that's IT! I have pointed
this out more than once:
From:
"Intel® Core™ i7 Processor Extreme Edition and Intel® Core™ i7 Processor Datasheet, Volume 2"
2.14 Integrated Memory Controller Miscellaneous Registers
2.14.1 MC_DIMM_CLK_RATIO_STATUS This register contains status information about DIMM clock ratio
Device:3 Function:4 Offset:50h Access as Dword
Bit 28:24 MAX_RATIO. Maximum ratio allowed by the part.
Value = Qclk
00000 = RSVD
00110 = 800MHz
01000 = 1066MHz
01010 = 1333MHz
Bit 4:0
QCLK_RATIO. Current ratio of Qclk
Value = Qclk.
00000 = RSVD
00110 = 800MHz
01000 = 1066MHz
01010 = 1333MHz
2.14.2 MC_DIMM_CLK_RATIO This register is Requested DIMM clock ratio (Qclk), the data rate going to the DIMM. The clock sent to the DIMM is 1/2 of QCLK rate
Device:3 Function:4 Offset:54h Access as Dword
QCLK_RATIO. Requested ratio of Qclk/Bclk.
00000 = RSVD
00110 = 800MHz
01000 = 1066MHz
01010 = 1333MHz
As Porky Pig
used to say, at the end of every cartoon, "Th-Th-Th-
!"
Everything else falls under the broad label of 'undocumented' - like fifteenth century maps marked "here be dragons!" I'm not saying it
can't work; it obviously
does work,
sometimes... Somehow, the BIOS and the board hardware are being manipulated to 'fool' the CPU into clocking the memory faster than spec - but it's one of those "pay no attention to that little man behind the curtain" things... AND: If you 'rob Peter to pay Paul' long enough, you wind up with a
sore peter! :lol:
Regarding "Intel Supported", there are
major advantages to staying
within these specifications. The i3/i5/i7 have 'moved' the memory controller onto the processor die. One of the reasons (among many) for the existence of the above mentioned memory configuration registers, is that the memory controller contains 'training' functions: much like the process of the BIOS 'waking up' the machine, and 'discovering' or 'polling'
what devices are available, and
how are they 'hooked up', the memory controller turns on, looks at its memory configuration registers, and attempts to 'hook up' to the physically attached RAM. The first thing it must do is determine the actual layout of the memory - the 'organization' by rows, columns, ranks, and sides that we discussed in section I. Then, it will attempt to 'adjust its ciruitry' to the physical characteristics of the RAM itself. It needs to 'measure' the impedance characteristics of the on-DIMM RAM controller chip, and the attached DRAM itself; in other words, the combined effects of resistance and capacitance (as well as any 'stray' inductance - a bad thing!) [from section I, again...], that will affect its physical transactions/speed...
As the CPU has
not got access to a multimeter, oscilloscope, or logic analyzer, it can only do this 'measuring' by 'looking at' two domains: voltage, and time. It sends a 'pulse' or command from
here, and watches
there, for a return; it says "Ah-ha! It took
so long, to reach
such voltage - I must adjust myself'
thusly!" And,
hopefully, your memory channels are as 'tuned' as they're going to get...
Now, Intel
specifies everything, and
guarantees nothing!
If your memory is constructed exactly to JEDEC spec,
and the 'physical hookup' is done correctly,
and the planets are in the proper alignment, 'training' will work... In numerous places, Intel's documents contain the 'electronic engineering equivalent' of "
your mileage may vary!" This is where your "sore peter" comes in - if you're
ridiculously outside Intel's physical specs (and, let's face it - 2166 memory is
twice the 1066 supported by
all i3/i5/i7 CPUs, meaning it requires the memory controller to perform its functions in
half the time - which, patently, falls into the '
realm of the ridiculous'), you sacrifice
any benefit of these 'built-in' accommodations!
I consider myself a fair-to-middlin' amateur philosopher; and the great cognitive philosopher Daniel Dennet has written "one of the proper jobs of philosophers is
definition mongering" - you can plainly see here that
one person's definition of 'supported' (the board maker's and memory manufacturer's) varies
wildly from another's (the processor manufacturer's)!!
The 'Memory Support List', and how to use it:
The support list is done when the board design is finalized to production, and almost never updated thereafter. When this is done, somebody with some degree of engineering talent, and knowledge of the hardware involved, sits down with a collection of RAM they have 'lying about', mostly samples provided by manufacturers who have a vested interest in getting their products on the list. He tosses aside the candidates he knows won't work, for one reason or another, on that particular platform, and goes to work setting up and testing the remainder. If he can get it working - it goes on the list; if not, not! I imagine he stays at it until he reaches some arbitrary number, or until his boss says "you got other,
important work to do - GIT!"
This leaves a large number of issues for the user:
Being 'on the list' does
not guarantee 'instant' compatibility for
your use; the list provides
no detail regarding "did it just come up and run with a 'Load Optimized?'', "did he have to enable XMP and it worked?", or, "did he (with 'inside' knowledge of the MOBO and BIOS) have to 'diddle around' a half-hour to set it up?"
Not being on the list certainly does
not imply it
won't work! I have built a little Excel 'tool' for evalution and comparison of RAM; I went to update its contents
just to reflect what's available in 2G x 3Channel from NewEgg, and, if memory serves me, wound up with eighty-some odd part numbers! Considering the ungodly amount of MOBOs made, this would require a full-time staff of ten, even assuming the samples were consistently available - else another ten could work all day every day 'hunting down' samples! Your RAM part's absence
may simply reflect that it was released
after the board...
Many parts you'll see
on the list are from unfamiliar makers - they may be available in
every quick-service gas-station
in Taiwan, but simply aren't available in your market...
The main advantage I see in 'sticking with' items on the
memory supported list is just that - the position it puts you in, vis-a-vis
support!
If your memory can pass MemTesting a single stick at a time, and it
is on the QVL, you have support pretty much 'over a barrel' - they
have to help get the stuff running - they're the ones who
said it would!
In any other situation, you're pretty much trapped in what, unfortunately, has become an industry 'standard operating procedure' of 'passing the blame' - kind of like the Scarecrow in the Wizard of Oz crossing his arms across his chest, pointing in both directions, and saying "They usually go thataway!" The memory manufacturer says: "well, it must be your board, because that memory works at rated speed on 'ABC' board"; the board manufacturer says: "it must be your memory, because 'DEF' memory works on our board at that speed"; the CPU maker says: "it's your problem, because our CPU is rated to run RAM at 'GHI' speeds"; the software guys say: "it's obviously a hardware problem, because it works on 'UVW' platform; the hardware guys say: "it's obviously a software problem, because 'XYZ' program, which does the same thing, runs fine on our platform"; meanwhile, you are 'stuck in the middle', saying "'%$#&' these people, why can't
somebody tell me
how to make it
work?!?"