I am getting strange outputs from my workstation, which has ECC RAM.

Supposedly, from what I read, the data width should be at 64 bits and the total width at 72. But... data width shows as 64 and total width as 128.

Is this a problem with my configuration?

For reference, my motherboard is a MSI C236A WORKSTATION.

Handle 0x0042, DMI type 17, 40 bytes
Memory Device
    Array Handle: 0x0041
    Error Information Handle: Not Provided
    Total Width: 128 bits
    Data Width: 64 bits
    Size: 8192 MB
    Form Factor: DIMM
    Set: None
    Locator: ChannelA-DIMM0
    Bank Locator: BANK 0
    Type: DDR4
    Type Detail: Synchronous
    Speed: 2133 MHz
    Manufacturer: Micron
    Serial Number: 18221400
    Asset Tag: 9876543210
    Part Number: 18ASF1G72AZ-2G1B1   
    Rank: 2
    Configured Clock Speed: 2133 MHz
    Minimum Voltage: Unknown
    Maximum Voltage: Unknown
    Configured Voltage: 1.2 V




You're right that you should be seeing 72 bits in that output, as DJ Bernstein describes, and as I quote from this concise answer on StackExchange:

  • Data width = 64 (8 banks * 8 bits)
  • Total width = 72 (9 banks * 8 bits)
  • The extra bank indicates that ECC is active.

Your problem is almost definitely a BIOS bug. For my ASRock E3C224D2I, here's what dmidecode -t memory | grep Total shows for an old BIOS (P2.00) which incorrectly reports the data:

Total Width: 128 bits

If I update the BIOS to P3.50 I get:

Total Width: 72 bits

There's a thread on the FreeNAS board which alludes to this, but I haven't been able to figure out what the underlying detailed rationale for the bug is.

| improve this answer | |

Googling memory bus width shows the following Wikipedia page, which explains how things go: https://en.wikipedia.org/wiki/Memory_bandwidth

A short answer to your question is that dmidecode shows the actual width of the single memory module and width of the actual memory access. The actual memory bus is 128 bits, because the memory controller uses dual channel memory access, that is, two memory modules are handled as a single unit.

ECC bits are not included in the DMI information.

| improve this answer | |
  • Quoting the article: "In systems with error-correcting (ECC) memory, the additional width of the interfaces (typically 72 rather than 64 bits) is not counted in bandwidth specifications because the extra bits are unavailable to store user data. ECC bits are better thought of as part of the memory hardware rather than as information stored in that hardware." - Any reason why most of my Google searches show ECC systems with the total width showing 72 bits? – EduAlm Jun 5 '16 at 16:54
  • What kind of articles those are? It depends on the context what is the relevant form of representation of the width. – Tero Kilkanen Jun 6 '16 at 0:46
  • For example, this SE answer: unix.stackexchange.com/a/139526 – EduAlm Jun 6 '16 at 9:20
  • I don't think this answer is correct -- this is actually a BIOS bug, as 72 is the number that should be returned. – kiko Oct 3 '18 at 17:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.