tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Include spdmem(4) in GENERIC amd64 & i386 kernels?

On Mon, 8 Dec 2008, Jared D. McNeill wrote:

On Mon, 8 Dec 2008, Paul Goyette wrote:
Purely for the dmesg output, and making the data available via sysctl for those who would like to run that data against decode-dimms utility.

Doesn't dmidecode give you what you need? Install sysutils/dmidecode and run 'sudo dmidecode -t memory'.

Yes, dmidecode gives some of the info, but certainly nowhere near what decode-dimms can get from the spd data. None of the detailed timing data are displayed from dmidecode (see attachment), and dmidecode does not provide manufacturer or part number info. The latter is likely a shortcoming in the BIOS's creation of the dmi tables, but accessing the SPD directly does provide more info.

I've attached info from my DDR2-based system for comparison purposes.

|   Paul Goyette   | PGP DSS Key fingerprint: |  E-mail addresses:   |
| Customer Service | FA29 0E3B 35AF E8AE 6651 |   |
| Network Engineer | 0786 F758 55DE 53BA 7731 | |
# decode-dimms version 5388 (2008-11-18 18:15:09 +0100)

Memory Serial Presence Detect Decoder
By Philip Edelbrock, Christian Zuckschwerdt, Burkart Lingner,
Jean Delvare, Trent Piepho and others

Decoding EEPROM: DDR2_data

---=== SPD EEPROM Information ===---
EEPROM Checksum of bytes 0-62                   OK (0x15)
# of bytes written to SDRAM EEPROM              128
Total number of bytes in EEPROM                 256
Fundamental Memory type                         DDR2 SDRAM
SPD Revision                                    1.2

---=== Memory Characteristics ===---
Maximum module speed                            800MHz (PC2-6400)
Size                                            2048 MB
Banks x Rows x Columns x Bits                   8 x 14 x 10 x 64
Ranks                                           2
SDRAM Device Width                              8 bits
Module Height                                   30.0 mm
Module Type                                     UDIMM (133.25 mm)
DRAM Package                                    Planar
Voltage Interface Level                         SSTL 1.8V
Refresh Rate                                    Reduced (7.8 us) - Self Refresh
Supported Burst Lengths                         4, 8
tCL-tRCD-tRP-tRAS                               5-5-5-18
Supported CAS Latencies (tCL)                   5T, 4T
Minimum Cycle Time at CAS 5 (tCK min)           2.50 ns
Maximum Access Time at CAS 5 (tAC)              0.40 ns
Minimum Cycle Time at CAS 4                     3.70 ns
Maximum Access Time at CAS 4                    0.50 ns
Maximum Cycle Time (tCK max)                    8.00 ns

---=== Timing Parameters ===---
Address/Command Setup Time Before Clock (tIS)   0.18 ns
Address/Command Hold Time After Clock (tIH)     0.25 ns
Data Input Setup Time Before Strobe (tDS)       0.05 ns
Data Input Hold Time After Strobe (tDH)         0.13 ns
Minimum Row Precharge Delay (tRP)               12.50 ns
Minimum Row Active to Row Active Delay (tRRD)   7.50 ns
Minimum RAS# to CAS# Delay (tRCD)               12.50 ns
Minimum RAS# Pulse Width (tRAS)                 45.00 ns
Write Recovery Time (tWR)                       15.00 ns
Minimum Write to Read CMD Delay (tWTR)          7.50 ns
Minimum Read to Pre-charge CMD Delay (tRTP)     7.50 ns
Minimum Active to Auto-refresh Delay (tRC)      55.00 ns
Minimum Recovery Delay (tRFC)                   105.00 ns
Maximum DQS to DQ Skew (tDQSQ)                  0.20 ns
Maximum Read Data Hold Skew (tQHS)              0.30 ns

---=== Manufacturing Information ===---
Manufacturer                                    Corsair
Manufacturing Location Code                     0x01
Part Number                                     CM2X2048-6400C5DHX
Revision Code                                   0x2020

Number of SDRAM DIMMs detected and decoded: 1
# dmidecode 2.9
SMBIOS 2.3 present.

Handle 0x0006, DMI type 5, 24 bytes
Memory Controller Information
        Error Detecting Method: 64-bit ECC
        Error Correcting Capabilities:
        Supported Interleave: One-way Interleave
        Current Interleave: One-way Interleave
        Maximum Memory Module Size: 2048 MB
        Maximum Total Memory Size: 8192 MB
        Supported Speeds:
                70 ns
                60 ns
                50 ns
        Supported Memory Types:
        Memory Module Voltage: 2.9 V
        Associated Memory Slots: 4
        Enabled Error Correcting Capabilities:

Handle 0x0007, DMI type 6, 12 bytes
Memory Module Information
        Socket Designation: A0
        Bank Connections: 0 1
        Current Speed: 5 ns
        Type: Unknown
        Installed Size: 2048 MB (Double-bank Connection)
        Enabled Size: 2048 MB (Double-bank Connection)
        Error Status: OK


Handle 0x0046, DMI type 16, 15 bytes
Physical Memory Array
        Location: System Board Or Motherboard
        Use: System Memory
        Error Correction Type: None
        Maximum Capacity: 8 GB
        Error Information Handle: Not Provided
        Number Of Devices: 4

Handle 0x0047, DMI type 17, 27 bytes
Memory Device
        Array Handle: 0x0046
        Error Information Handle: Not Provided
        Total Width: 64 bits
        Data Width: 64 bits
        Size: 2048 MB
        Form Factor: DIMM
        Set: None
        Locator: A0
        Bank Locator: Bank0/1
        Type: Unknown
        Type Detail: None
        Speed: 800 MHz (1.2 ns)
        Manufacturer: None
        Serial Number: None
        Asset Tag: None
        Part Number: None


Home | Main Index | Thread Index | Old Index