Concerning the Haswell Memory Frequency CPU-Z Validation Bug

Depending on who you have in your Facebook friends list, you may or may not be aware of the Haswell memory frequency validation issue. As explained by TL at the Kingpincooling forums, there is a critical bug affecting the veracity of Haswell based memory frequency validation results. It is possible to trick CPU-Z in to believing the actual frequency is higher than the real frequency by changing the memory strap from 100:100 to 100:133 after memory training or via software. In effect, software will report the memory frequency to be 1,33x higher.

This bug was uncovered a while ago and affects both the Z87 and Z97 platform.

More Detail.

Refer to the table you can find on the left (source: TL at Kingpincooling).

There are two ‘straps’ for memory frequency on Haswell. One ‘Mode 100’, or 100:100, and one ‘Mode 133’, or 100:133. Depending on the choice of the ratio, each strap is tied to a certain memory frequency. Choosing Mode 100 with a DRAM Ratio of 1:10 results in a memory frequency of DDR3-2000. Choosing Mode 133 with the same DRAM Ratio results in a frequency of DDR3-2666.

The register that stores the information of the memory ratio mode is not locked and can thus be modified at runtime without affecting the actual memory frequency. As you already figured out, this means that any memory validation result using Mode 133 can possibly be bugged. Note that the bug requires manual intervention by the user and cannot occur at random.

The memory dividers 1:12, 1:13 and 1:14 can be used without any concern. Even though the user could still re-write the register, we know that there is no memory divider higher than DDR3-2933 on the Haswell architecture. Using 1:12 with 100:133 would result in a fictitious DDR3-3200 memory divider.

GIGABYTE’s Memory Frequency Records.

Following the discovery of this problem, several sources began questioning GIGABYTE’s recent memory frequency records. In order to resolve the issue, we visited the GIGABYTE OC Lab this morning to verify the memory frequency using a top of the line oscilloscope. We first check the frequency reporting at default settings and validated the memory dividers by checking the frequency programmed in the BIOS and the actual frequency. Once we validated the dividers, we followed HiCookie and Sofos1990 process to raise the memory frequency to over DDR3-4500.

You can find the video below.

Based on the evidence we can conclude there is no reason to doubt the memory frequency records posted by the GIGABYTE team are in fact legit. In addition, we have no reason to doubt any past memory frequency results from any vendor or overclocker.

Update on Memory Clock Validation Rules

The staff is currently discussing the implications of this bug for the memory clock validation rules at HWBOT. Certainly, for world records set by the industry the standard should evolve to 3rd party validation using an oscilloscope to verify the overclocking result (within reasonable margin). However, given the cost of this kind of high-end oscilloscope (TWD $5,000,000) we cannot expect a normal user to live up to this rule.

We will keep you updated on any rule changes.