Hello,
Thanks for the fast reply.
Does this mean my system is using normal single-bit ECC in both detection and correction modes, or could it mean that my ECC is working in detection-only (not correction) mode? If my ECC is working in detection-only mode, then the AIDA64's DMI Memory Controller report of
won't be wrong; am I right? Is there a possibility that, in my case, both the DMI report and the Chipset report are correct?
------------------------------------------------
I have a follow-up question on the ChipKill reporting:
So, the Chipset page of AIDA64 reports "ChipKill ECC: Supported, Enabled". But according to the BIOS and Kernel Developer’s Guide (BKDG) For AMD Family 10h Processors (I refer to this as BKDG, for short), Section 2.12.2 "DRAM Considerations for ECC", pages 173-175, in systems with Revision C processors, the failure of a DRAM device with DRAM width wider than 4 bits will result in error(s) that cannot be corrected. In these cases, ganged mode can detect 100% of the occurrences of these failures, whereas unganged mode can detect 99.99999963% of them.
There are two tables (both labeled Table 77) in this section of the BKDG, one for Revision C and one for Revision D processors. I think the table for Revision C processors is the one that applies to mine. (I explain why I think my processor is treated by Table 77 as Revision C in the postscript at the end of this post).
My RAM modules have 8-bit FBGAs, so I think the "Revision C", "> x4" case in the table applies to me (assuming "> x4" in the BKDG means FBGA width wider than 4-bits). If this is true, then I can have, at best, 100% detection of DRAM failure occurrences, but no correction capability.
From my first post, I said AIDA64 shows ChipKill as enabled when I run in ganged mode and ChipKill as disabled when I run in unganged mode. If I am interpreting the BKDG correctly, then that means the Revision C, unganged mode, DRAM width > x4, 99.99999963% DRAM failure detection case causes AIDA64 to print ChipKill as disabled; and the Revision C, ganged mode, DRAM width >4 bits, 100% DRAM failure detection case causes AIDA64 to print ChipKill as enabled.
Does this mean any of these "hypothetical" cases:
1.) It is not a requirement for ChipKill to be of the correction type for AIDA64 to print ChipKill as enabled; it is only a requirement for ChipKill to be of the 100% detection type for AIDA64 to print ChipKill as enabled?
or
2.) The correction type of ChipKill isn't actually enabled?
or
3.) Having ganged mode enabled on ECC modules substantiates enabled ChipKill for another CPU vendor, not for AMD; but AIDA64 interprets this as enabled ChipKill in terms of that other CPU vendor?
or
4.) The symbol size is x8, so ChipKill has 100% correction of DRAM failure? (But page 173 of BKDG states: "For Revision C and earlier revisions, only the x4 code is available." I don't know if the "code" it refers to is the same as the one in Table 77's entries for "Recommended Symbol Size". I don't know if it is possible to do anything, like toggle bank interleaving or channel interleaving, to make the symbol size x8.)
or
5.) My motherboard has a version of ChipKill that does not conform to the AMD chipkill standard, yet can do 100% correction of DRAM failure?
or
6.) Some other reason?
I'd also like to add that even if I disable ChipKill in the BIOS, the Chipset report of AIDA64 still prints "ChipKill ECC: Supported, Enabled" as long as I am running ganged mode. Why is this? Is it because of any of the above reasons?
In any case, what is the required conditions for the Chipset report of AIDA64 to print "ChipKill ECC: Supported, Enabled"?
In any case, does AIDA64 use hardcoded values to print the ECC and Chip-Kill statuses of the reports based on values set in the BIOS? Is it possible that the values in the BIOS (such as Chip-Kill enable and ECC enable) do not actually make ECC or Chip-Kill work (e.g. if the motherboard manufacturer "copied" a leftover BIOS menu from one of their past server boards and "pasted" it in my board and does not actually include ECC functionality in my board)? In other words, can AIDA64 determine if ECC and Chip-Kill are actually working?
P.S.: Why I think my processor is treated by Table 77 of page 174 of BKDG as Revision C:
The AIDA64 CPUID page prints:
CPUID Properties:
...
CPUID Revision: 00100F42h
Extended CPUID Revision: 00100F42h
AMD Brand ID: 1996h (Phenom II X4 925)
Platform ID: D7h (Socket AM3)
...
----------------------------------------------------------------------
The AIDA64 Overclock page prints:
CPU Stepping: RB-C2
...
CPUID Revision 00100F42h
...
----------------------------------------------------------------------
The AIDA64 CPU page prints:
CPU Stepping RB-C2
----------------------------------------------------------------------
From cross-referencing Tables 2 through 11 of pages 11 through 13 of Revision Guide for
AMD Family 10h Processors (I refer to this as Revision Guide, for short) to Table 1 of page 29 of BKDG, it appears that the BKDG uses the penultimate hexadecimal digit before the letter "h" of the CPUID Revision number as the determining factor for the Revision letter(s). My CPUID Revision is 00100F42h, so my penultimate hexadecimal digit before the "h" is 4. In Table 1 of page 29 of BKDG, 4h corresponds to Revision C and/or Revision RB-C. My processor more specifically belongs to RB-C2 according to Table 8 of page 13 of Revision Guide, and this is confirmed by the AIDA64 reports. However, I don't know if Table 77 of page 174 of BKDG consolidates Revision RB-C under Revision C. Regardless, Revision D is not Revision RB-C, so I presume Revision D of Table 77 of page 175 of BKDG does not apply to me.
Thanks,
Consumer