toad, Glad I was able to help. When I seriously got into building PCs, my first board's (Intel) specs said it must have SPD memory. Most memory manufactures at the time never mentioned that, I had no idea what it was, and I had a hard time finding info about it. I eventually did, and it's basically simple really.
It's good that Kingston populates the SPD data area with many sets of values, I have seen other manufactures providing only two sets total. There is room for two XMP profiles in the SPD data area, but a second one may not be very useful. I like the automatic setting of correct memory settings, but I imagine some enthusiasts don't care for that. The potential for errors exists, as 'Gifford points out, so it's a good idea to check what the results are after enabling a XMP profile (or EPP with DDR2).
Only one BIOS program that I have used has the capability of displaying SPD data, a great place for it don't you think? Only the most basic settings need to be displayed, which should be a standard item in any enthusiast level product IMO.
There is all kinds of information buried in that one line, if you care to dissect it.
Bandwidth of computer memory means how much data can be transferred from it in a certain amount of time, usually the maximum possible under the correct circumstances. In this case it is how many bytes of data per second.
PC3-10700 is an example of the JEDEC standard naming convention used to label and describe the characteristic of a SDRAM memory module. PC3 means it is DDR3 memory module, and 10700 means it can transfer 10,700 MegaBytes per second, that being the peak or maximum amount per second.
JEDEC is an electronics industry group that creates standards for electronics and computers.
DDR means Dual Data Rate memory, which is memory that transfers data twice for each memory clock cycle (1 Hz).
The frequency shown, 667MHz, is the true memory clock speed of that memory. But since this is DDR memory, dual data rate, the effective speed, or equivalent speed, is 1333MHz. Actually it is incorrect to label the 1333 rate as MHz, it should be 1333 MT/s, Mega-Transfers per second.
One of your memory modules can send a maximum 10.7 GigaBytes of data per second, by running at 1333 MegaTransfers per second, sending eight bytes per clock cycle (1 Hz) over the 64 bit wide memory bus. So 1333 MT/s of eight bytes is (1333 X 8) 10667** MegaBytes.
**Note: There are fractions involved here that are rounded up and down, the true memory clock is 666.67MHz, giving 1333.33 MT/s. The JEDEC standard was PC3-10600 for this memory at one time, but apparently is now 10700, and is really 10666.667 MB/s.
Memory that is labeled DDR3-1600 means it runs at 1600 MT/s, and the memory clock is 800MHz. It is also labeled as PC3-12800.
Memory details go on forever, this is scratching the surface. Now I finally get it too.
Firstly thanks for the detailed explaination!
But perhaps I was not clear....what I mean is: why is max bandwidth set to 667 Mhz (DDR3-10700), since the RAM is sold as 800 Mhz (i.e. DDR3-1600)? Also 667 Mhz doesn't fit with any of the timings (533, 609, 685, 800 MHz) shown in the CPU-Z SPD tab. This is confusing me. Thanks.
Yep, forgot your real question... PC nerd at work...
Memory is designed for a PC platform, the CPU type and the corresponding mother board. Since it is impossible to know exactly which models in the target group will be used, and who will be using it, a standard, default, or safe set of memory settings must be chosen. Which means, when first added to the PC and it is started, it will be able to function correctly. All of the i7-900 series CPUs are rated for use with at most 1066 MT/s memory, which is actually conservative, but is the reality. So memory manufactures set the default set of SPD data to values they believe will function correctly the first time their product is used, which is a good idea. Memory settings above 1066 or 1333 MT/s are beyond the known safe range, and so can be only activated manually by the user, which again is a good idea.
So CPU-Z is displaying the memory settings the memory manufacture put in the standard or default area of the SPD data in the main area of it's display. It also shows the other SPD data in the memory, if it is there, including the area where the data for the advertised speed of the memory is, when that speed is beyond the standard specs of the platform. In your case that is 1600 MT/s, and those setting are stored in the XMP data area. Although that speed is common today, and memory beyond that speed exists, the user must activate that speed themselves. This manner of doing things makes sense and works fine, but is confusing if you don't understand all the details. Unfortunately, this information is usually not included with the memory modules, why I do not know.