I want to upgrade my computer’s DDR3 SDRAM, replacing the single module that it currently has with newer ones. I am wondering if I must (or ought to) stick fairly strictly to the DDR3-1333 version specified by the computer’s manufacturer, or if I can just use any (or some) higher-speed (but otherwise compatible) module.
After reading a bit on the topic and concluding that I am thoroughly baffled by it all, here are a few questions (I hope that they are coherent):
Speaking of default values (before any possible user tweak), are the actual clock speed and timings of memory automatically and optimally set by the controller (somehow reading capabilities off the modules), or does it use a fixed configuration (hardcoded in the firmware) that must be matched when installing modules?
Given a motherboard that calls for a certain SDRAM clock speed, what will happen if I use an otherwise compatible module of any higher standard speed (i.e., up to DDR3-2133/PC3-17000)? Possible reasons (probably, most or all of them incorrect) why this might not work include, for example:
2.1. It will not work if the controller does not support the module’s higher speed. After all, there is no guarantee that a DDR3 SDRAM controller will support all speeds in the JESD79 standard.
2.2. It will not work if the system does not let me manually adjust the clock speed and/or timings, because it won’t do it automatically.
2.3. It will not work if the controller does not support timings that closely match the module’s latency (adjusted for the reduced clock speed): the data won’t remain available long enough on the module’s output pins.
2.4. It will not work if the module does not support the controller’s maximal speed. After all, there is no guarantee that a DDR3 SDRAM module will support all lower speeds in the JESD79 standard.
2.5. It will not work if the module does not support timings that are compatible with the controller’s maximal speed (i.e., adjusted for the reduced speed).
If it could work, then beside a possible higher price for the modules, what would be the downsides or pitfalls of such a configuration? A possible reason could be:
3.1. The controller will not adjust the timings taking into account the reduced clock speed; instead, it will just use the timings advertised by the memory module for its maximal clock speed, resulting in lower performance (than could be obtained with a lower speed but lower CL module). For example, when using a 11-11-11 DDR3-2133 at 1333 speed, the controller will use 11-11-11 instead of 7-7-7.
In short, I would really like to understand the reasons why this would/could or wouldn’t/couldn’t work. Yet I’m pretty sure that I couldn’t stomach reading the standard itself.