12#ifndef _SDRAM_SPD_DDR4_H_
13#define _SDRAM_SPD_DDR4_H_
629 UINT8 DataBufferRevisionNumber;
641 UINT8 DataBufferVrefDQforDramInterface;
701typedef UINT16 SPD4_NVDIMM_MODULE_PRODUCT_IDENTIFIER;
713typedef UINT16 SPD4_NVDIMM_SUBSYSTEM_CONTROLLER_IDENTIFIER;
715typedef UINT8 SPD4_NVDIMM_SUBSYSTEM_CONTROLLER_REVISION_CODE;
739typedef UINT8 SPD4_NVDIMM_MAXIMUM_NONVOLATILE_MEMORY_INITIALIZATION_TIME;
760 UINT16 SerialNumber16[2];
761 UINT8 SerialNumber8[4];
821 UINT8 Reserved1[59 - 46 + 1];
823 UINT8 Reserved2[116 - 78 + 1];
841 UINT8 Reserved[253 - 132 + 1];
856 UINT8 Reserved[253 - 139 + 1];
889 UINT8 Reserved[253 - 157 + 1];
894 UINT8 Reserved0[191 - 128 + 1];
904 UINT8 Reserved[253 - 220 + 1];
916 UINT8 ModulePartNumber[348 - 329 + 1];
920 UINT8 ManufacturerSpecificData[381 - 353 + 1];
937 UINT8 Reserved[511 - 384 + 1];
946 UINT8 Reserved[319 - 256 + 1];
UINT8 SPD4_DRAM_STEPPING
352 Dram Stepping
UINT8 SPD4_MODULE_REVISION_CODE
349 Module Revision Code
SPD4_TRFC_MIN_MTB_STRUCT tRFC1min
30-31 Minimum Refresh Recovery Delay Time (tRFC1min)
SPD4_TRAS_TRC_MIN_MTB_STRUCT tRASMintRCMinUpper
27 Upper Nibbles for tRAS and tRC
SPD4_SECONDARY_SDRAM_PACKAGE_TYPE_STRUCT SecondarySdramPackageType
10 Secondary SDRAM Package Type
SPD4_CYCLIC_REDUNDANCY_CODE Crc
126-127 Cyclical Redundancy Code (CRC)
SPD4_TRAS_MIN_MTB_STRUCT tRASmin
28 Minimum Active to Precharge Delay Time (tRASmin), Least Significant Byte
SPD4_DEVICE_DESCRIPTION_STRUCT Description
0 Number of Serial PD Bytes Written / SPD Device Size / CRC Coverage 1, 2
SPD4_TRC_MIN_FTB_STRUCT tRCminFine
120 Fine Offset for Minimum Active to Active/Refresh Delay Time (tRCmin)
SPD4_TAA_MIN_MTB_STRUCT tAAmin
24 Minimum CAS Latency Time (tAAmin)
SPD4_TRC_MIN_MTB_STRUCT tRCmin
29 Minimum Active to Active/Refresh Delay Time (tRCmin), Least Significant Byte
SPD4_TAA_MIN_FTB_STRUCT tAAminFine
123 Fine Offset for Minimum CAS Latency Time (tAAmin)
SPD4_MODULE_NOMINAL_VOLTAGE_STRUCT ModuleNominalVoltage
11 Module Nominal Voltage, VDD
SPD4_SDRAM_DENSITY_BANKS_STRUCT SdramDensityAndBanks
4 SDRAM Density and Banks
SPD4_TRCD_MIN_FTB_STRUCT tRCDminFine
122 Fine Offset for Minimum RAS# to CAS# Delay Time (tRCDmin)
SPD4_TWTR_UPPER_NIBBLE_STRUCT tWTRUpperNibble
43 Upper Nibbles for tWTRmin
SPD4_TRCD_MIN_MTB_STRUCT tRCDmin
25 Minimum RAS# to CAS# Delay Time (tRCDmin)
SPD4_TWTR_MIN_MTB_STRUCT tWTR_Lmin
45 Minimum Write to Read Time (tWTR_Lmin), Same Bank Group
SPD4_MODULE_MEMORY_BUS_WIDTH_STRUCT ModuleMemoryBusWidth
13 Module Memory Bus Width
SPD4_TRFC_MIN_MTB_STRUCT tRFC4min
34-35 Minimum Refresh Recovery Delay Time (tRFC4min)
UINT8 Reserved0
16 Reserved
SPD4_TRFC_MIN_MTB_STRUCT tRFC2min
32-33 Minimum Refresh Recovery Delay Time (tRFC2min)
SPD4_TRRD_MIN_MTB_STRUCT tRRD_Lmin
39 Minimum Activate to Activate Delay Time (tRRD_Lmin), same bank group
SPD4_TCCD_MIN_FTB_STRUCT tCCD_LminFine
117 Fine Offset for Minimum CAS to CAS Delay Time (tCCD_Lmin), same bank group
SPD4_MODULE_THERMAL_SENSOR_STRUCT ModuleThermalSensor
14 Module Thermal Sensor
SPD4_TCK_MIN_MTB_STRUCT tCKmin
18 SDRAM Minimum Cycle Time (tCKmin)
SPD4_TCK_MIN_FTB_STRUCT tCKminFine
125 Fine Offset for SDRAM Maximum Cycle Time (tCKmin)
SPD4_TIMEBASE_STRUCT Timebase
17 Timebases
SPD4_EXTENDED_MODULE_TYPE_STRUCT ExtendedModuleType
15 Extended Module Type
SPD4_CAS_LATENCIES_SUPPORTED_STRUCT CasLatencies
20-23 CAS Latencies Supported
SPD4_TWR_MIN_MTB_STRUCT tWRmin
42 Minimum Write Recovery Time (tWRmin)
SPD4_PRIMARY_SDRAM_PACKAGE_TYPE_STRUCT PrimarySdramPackageType
6 Primary SDRAM Package Type
SPD4_REVISION_STRUCT Revision
1 SPD Revision
SPD4_TRRD_MIN_FTB_STRUCT tRRD_LminFine
118 Fine Offset for Minimum Activate to Activate Delay Time (tRRD_Lmin), different bank group
SPD4_TFAW_MIN_MTB_UPPER_STRUCT tFAWMinUpper
36 Upper Nibble for tFAW
SPD4_TCK_MAX_FTB_STRUCT tCKmaxFine
124 Fine Offset for SDRAM Minimum Cycle Time (tCKmax)
SPD4_TCCD_MIN_MTB_STRUCT tCCD_Lmin
40 Minimum CAS to CAS Delay Time (tCCD_Lmin), Same Bank Group
SPD4_OTHER_SDRAM_OPTIONAL_FEATURES_STRUCT OtherOptionalFeatures
9 Other SDRAM Optional Features
SPD4_MODULE_TYPE_STRUCT ModuleType
3 Module Type
SPD4_TFAW_MIN_MTB_STRUCT tFAWmin
37 Minimum Four Activate Window Delay Time (tFAWmin)
SPD4_TRRD_MIN_MTB_STRUCT tRRD_Smin
38 Minimum Activate to Activate Delay Time (tRRD_Smin), different bank group
SPD4_TRP_MIN_MTB_STRUCT tRPmin
26 Minimum Row Precharge Delay Time (tRPmin)
SPD4_MODULE_ORGANIZATION_STRUCT ModuleOrganization
12 Module Organization
SPD4_TRP_MIN_FTB_STRUCT tRPminFine
121 Fine Offset for Minimum Row Precharge Delay Time (tRPabmin)
SPD4_SDRAM_ADDRESSING_STRUCT SdramAddressing
5 SDRAM Addressing
SPD4_SDRAM_THERMAL_REFRESH_STRUCT ThermalAndRefreshOptions
8 SDRAM Thermal and Refresh Options
SPD4_TCK_MAX_MTB_STRUCT tCKmax
19 SDRAM Maximum Cycle Time (tCKmax)
SPD4_SDRAM_OPTIONAL_FEATURES_STRUCT SdramOptionalFeatures
7 SDRAM Optional Features
SPD4_DRAM_DEVICE_TYPE_STRUCT DramDeviceType
2 DRAM Device Type
SPD4_TRRD_MIN_FTB_STRUCT tRRD_SminFine
119 Fine Offset for Minimum Activate to Activate Delay Time (tRRD_Smin), same bank group
SPD4_TWR_UPPER_NIBBLE_STRUCT tWRUpperNibble
41 Upper Nibble for tWRmin
SPD4_TWTR_MIN_MTB_STRUCT tWTR_Smin
44 Minimum Write to Read Time (tWTR_Smin), Different Bank Group
SPD4_DRAM_STEPPING DramStepping
352 Dram Stepping
SPD4_MODULE_PART_NUMBER ModulePartNumber
329-348 Module Part Number
SPD4_MANUFACTURER_ID_CODE DramIdCode
350-351 Dram Manufacturer ID Code
SPD4_MODULE_REVISION_CODE ModuleRevisionCode
349 Module Revision Code
SPD4_UNIQUE_MODULE_ID ModuleId
320-328 Unique Module ID
SPD4_MANUFACTURER_SPECIFIC ManufacturerSpecificData
353-381 Manufacturer's Specific Data
UINT8 Week
Year represented in BCD (47h = week 47)
UINT8 Year
Year represented in BCD (00h = 2000)
UINT8 Location
Module Manufacturing Location.
SPD4_LRDIMM_THERMAL_HEAT_SPREADER_SOLUTION ThermalHeatSpreaderSolution
132 RDIMM Thermal Heat Spreader Solution
SPD4_LRDIMM_DRAM_ODT_RTT_WR_RTT_NOM_FOR_DATA_RATE DramOdtRttWrRttNomForDataRateLe1866
149 DRAM ODT (RTT_WR and RTT_NOM) for data rate <= 1866
SPD4_LRDIMM_ADDRESS_MAPPING_FROM_REGISTER_TO_DRAM AddressMappingFromRegisterToDram
136 Address Mapping from Register to DRAM
SPD4_LRDIMM_MODULE_NOMINAL_THICKNESS ModuleMaximumThickness
129 Module Maximum Thickness
SPD4_MANUFACTURER_ID_CODE RegisterManufacturerIdCode
133-134 Register Manufacturer ID Code
SPD4_LRDIMM_REGISTER_REVISION_NUMBER RegisterRevisionNumber
135 Register Revision Number
SPD4_LRDIMM_DATA_BUFFER_MDQ_DRIVE_STRENGTH_RTT_FOR_DATA_RATE DataBufferMdqDriveStrengthRttForDataRateLe3200
147 Data Buffer MDQ Drive Strength and RTT for data rate <=3200
SPD4_CYCLIC_REDUNDANCY_CODE Crc
254-255 Cyclical Redundancy Code (CRC)
SPD4_LRDIMM_REGISTER_OUTPUT_DRIVE_STRENGTH_FOR_CLOCK RegisterOutputDriveStrengthForClock
138 Register Output Drive Strength for Clock
SPD4_LRDIMM_DRAM_VREFDQ_FOR_PACKAGE_RANK DramVrefDQForPackageRank2
142 DRAM VrefDQ for Package Rank 2
SPD4_LRDIMM_MODULE_ATTRIBUTES DimmModuleAttributes
131 DIMM Module Attributes
SPD4_LRDIMM_DRAM_ODT_RTT_PARK_FOR_DATA_RATE DramOdtRttParkForDataRateLe1866
152 DRAM ODT (RTT_PARK) for data rate <= 1866
SPD4_LRDIMM_DRAM_VREFDQ_FOR_PACKAGE_RANK DramVrefDQForPackageRank1
141 DRAM VrefDQ for Package Rank 1
SPD4_LRDIMM_DATA_BUFFER_REVISION_NUMBER DataBufferRevisionNumber
139 Data Buffer Revision Number
SPD4_LRDIMM_REFERENCE_RAW_CARD ReferenceRawCardUsed
130 Reference Raw Card Used
SPD4_LRDIMM_DRAM_VREFDQ_FOR_PACKAGE_RANK DramVrefDQForPackageRank0
140 DRAM VrefDQ for Package Rank 0
SPD4_LRDIMM_DATA_BUFFER_MDQ_DRIVE_STRENGTH_RTT_FOR_DATA_RATE DataBufferMdqDriveStrengthRttForDataRateLe1866
145 Data Buffer MDQ Drive Strength and RTT for data rate <= 1866
SPD4_LRDIMM_DRAM_ODT_RTT_WR_RTT_NOM_FOR_DATA_RATE DramOdtRttWrRttNomForDataRateLe3200
151 DRAM ODT (RTT_WR and RTT_NOM) for data rate <= 3200
SPD4_LRDIMM_DATA_BUFFER_MDQ_DRIVE_STRENGTH_RTT_FOR_DATA_RATE DataBufferMdqDriveStrengthRttForDataRateLe2400
146 Data Buffer MDQ Drive Strength and RTT for data rate <=2400
SPD4_LRDIMM_DATA_BUFFER_DQ_DECISION_FEEDBACK_EQUALIZATION DataBufferDqDecisionFeedbackEqualization
156 Data Buffer DQ Decision Feedback Equalization
SPD4_LRDIMM_DRAM_VREFDQ_FOR_PACKAGE_RANK DramVrefDQForPackageRank3
143 DRAM VrefDQ for Package Rank 3
SPD4_LRDIMM_DRAM_ODT_RTT_PARK_FOR_DATA_RATE DramOdtRttParkForDataRateLe3200
154 DRAM ODT (RTT_PARK) for data rate <= 3200
SPD4_LRDIMM_DATA_BUFFER_VREFDQ_FOR_DRAM_INTERFACE DataBufferVrefDQForDramInterface
144 Data Buffer VrefDQ for DRAM Interface
SPD4_LRDIMM_MODULE_NOMINAL_HEIGHT ModuleNominalHeight
128 Module Nominal Height
SPD4_LRDIMM_DRAM_ODT_RTT_PARK_FOR_DATA_RATE DramOdtRttParkForDataRateLe2400
153 DRAM ODT (RTT_PARK) for data rate <= 2400
SPD4_LRDIMM_DRAM_DRIVE_STRENGTH DramDriveStrength
148 DRAM Drive Strength
SPD4_LRDIMM_DATA_BUFFER_VREFDQ_FOR_DRAM_INTERFACE_RANGE DataBufferVrefDQForDramInterfaceRange
155 Data Buffer VrefDQ for DRAM Interface Range
SPD4_LRDIMM_REGISTER_OUTPUT_DRIVE_STRENGTH_FOR_CONTROL_COMMAND_ADDRESS RegisterOutputDriveStrengthForControlCommandAddress
137 Register Output Drive Strength for Control and Command Address
SPD4_LRDIMM_DRAM_ODT_RTT_WR_RTT_NOM_FOR_DATA_RATE DramOdtRttWrRttNomForDataRateLe2400
150 DRAM ODT (RTT_WR and RTT_NOM) for data rate <= 2400
SPD4_CYCLIC_REDUNDANCY_CODE Crc
254-255 Cyclical Redundancy Code (CRC)
SPD4_NVDIMM_MAXIMUM_NONVOLATILE_MEMORY_INITIALIZATION_TIME MaximumNonVolatileMemoryInitializationTime
203 Maximum Non-Volatile Memory Initialization Time
SPD4_NVDIMM_SUBSYSTEM_CONTROLLER_IDENTIFIER SubsystemControllerIdentifier
196-197 Subsystem Controller Identifier
SPD4_NVDIMM_SUBSYSTEM_CONTROLLER_REVISION_CODE SubsystemControllerRevisionCode
198 Subsystem Controller Revision Code
SPD4_NVDIMM_SUBSYSTEM_CONTROLLER_MANUFACTURER_ID_CODE SubsystemControllerManufacturerIdCode
194-195 Subsystem Controller Manufacturer's ID Code
SPD4_NVDIMM_MODULE_PRODUCT_IDENTIFIER ModuleProductIdentifier
192-193 Module Product Identifier
SPD4_NVDIMM_REFERENCE_RAW_CARD ReferenceRawCardUsed
199 Reference Raw Card Used
SPD4_NVDIMM_HYBRID_MODULE_MEDIA_TYPES HybridModuleMediaTypes
201-202 Hybrid Module Media Types
SPD4_NVDIMM_MODULE_CHARACTERISTICS ModuleCharacteristics
200 Module Characteristics
SPD4_RDIMM_REGISTER_REVISION_NUMBER RegisterRevisionNumber
135 Register Revision Number
SPD4_RDIMM_MODULE_NOMINAL_HEIGHT ModuleNominalHeight
128 Module Nominal Height
SPD4_RDIMM_REFERENCE_RAW_CARD ReferenceRawCardUsed
130 Reference Raw Card Used
SPD4_RDIMM_THERMAL_HEAT_SPREADER_SOLUTION DimmThermalHeatSpreaderSolution
132 RDIMM Thermal Heat Spreader Solution
SPD4_RDIMM_ADDRESS_MAPPING_FROM_REGISTER_TO_DRAM AddressMappingFromRegisterToDRAM
136 Address Mapping from Register to DRAM
SPD4_CYCLIC_REDUNDANCY_CODE Crc
254-255 Cyclical Redundancy Code (CRC)
SPD4_RDIMM_MODULE_NOMINAL_THICKNESS ModuleMaximumThickness
129 Module Maximum Thickness
SPD4_RDIMM_REGISTER_OUTPUT_DRIVE_STRENGTH_FOR_CONTROL_COMMAND_ADDRESS RegisterOutputDriveStrengthForControlCommandAddress
137 Register Output Drive Strength for Control and Command Address
SPD4_MANUFACTURER_ID_CODE RegisterManufacturerIdCode
133-134 Register Manufacturer ID Code
SPD4_RDIMM_REGISTER_OUTPUT_DRIVE_STRENGTH_FOR_CLOCK RegisterOutputDriveStrengthForClock
138 Register Output Drive Strength for Clock
SPD4_RDIMM_MODULE_ATTRIBUTES DimmModuleAttributes
131 DIMM Module Attributes
SPD4_UNBUF_REFERENCE_RAW_CARD ReferenceRawCardUsed
130 Reference Raw Card Used
SPD4_UNBUF_MODULE_NOMINAL_HEIGHT ModuleNominalHeight
128 Module Nominal Height
SPD4_UNBUF_MODULE_NOMINAL_THICKNESS ModuleMaximumThickness
129 Module Maximum Thickness
SPD4_CYCLIC_REDUNDANCY_CODE Crc
254-255 Cyclical Redundancy Code (CRC)
SPD4_UNBUF_ADDRESS_MAPPING AddressMappingEdgeConn
131 Address Mapping from Edge Connector to DRAM
SPD4_MANUFACTURER_ID_CODE IdCode
Module Manufacturer ID Code.
SPD4_MANUFACTURING_DATE Date
Module Manufacturing Year, in BCD (range: 2000-2255)
SPD4_MANUFACTURER_SERIAL_NUMBER SerialNumber
Module Serial Number.
SPD4_MANUFACTURING_LOCATION Location
Module Manufacturing Location.
SPD4_MODULE_SPECIFIC Module
128-255 Module-Specific Section
SPD4_MANUFACTURING_DATA ManufactureInfo
320-383 Manufacturing Information
SPD4_BASE_SECTION Base
0-127 Base Configuration and DRAM Parameters
SPD4_END_USER_SECTION EndUser
384-511 End User Programmable
UINT32 ClRange
Bits 31:31.
UINT32 Reserved
Bits 30:30.
UINT8 PackageRankMap
Bits 7:6.
UINT8 BitOrderatSDRAM
Bits 4:0.
UINT8 WiredtoUpperLowerNibble
Bits 5:5.
UINT8 BytesTotal
Bits 6:4.
UINT8 CrcCoverage
Bits 7:7.
UINT8 ExtendedBaseModuleType
Bits 3:0.
UINT8 Rank1Mapping
Bits 0:0.
UINT8 DataBufferDfe
Bits 1:1.
UINT8 DataBufferGainAdjustment
Bits 0:0.
UINT8 DramInterfaceMdqReadTerminationStrength
Bits 7:4.
UINT8 DramInterfaceMdqDriveStrength
Bits 3:0.
UINT8 DataBuffer
Bits 4:4.
UINT8 DataRateLe1866
Bits 1:0.
UINT8 DataRateLe3200
Bits 5:4.
UINT8 DataRateLe2400
Bits 3:2.
UINT8 PackageRanks0_1
Bits 2:0.
UINT8 PackageRanks2_3
Bits 5:3.
UINT8 DramVrefDQForPackageRank0
Bits 5:0.
UINT8 RegisterType
Bits 7:4.
UINT8 DramRowCount
Bits 3:2.
UINT8 RegisterCount
Bits 1:0.
UINT8 FrontThickness
Bits 3:0.
UINT8 BackThickness
Bits 7:4.
UINT8 ChipSelect
Bits 7:6.
UINT8 CommandAddress
Bits 5:4.
UINT8 RcdOutputSlewRateControl
Bits 6:6.
UINT8 RegisterRevisionNumber
Bits 7:0.
UINT8 HeatSpreaderSolution
Bits 7:7.
UINT8 HeatSpreaderThermalCharacteristics
Bits 6:0.
UINT16 LastNonZeroByte
Bits 15:8.
UINT16 ContinuationParity
Bits 7:7.
UINT16 ContinuationCount
Bits 6:0.
UINT8 BusWidthExtension
Bits 4:3.
UINT8 PrimaryBusWidth
Bits 2:0.
UINT8 OperationAt1_20
Bits 0:0.
UINT8 EndurantAt1_20
Bits 1:1.
UINT8 SdramDeviceWidth
Bits 2:0.
SPD4_MODULE_REGISTERED Registered
128-255 Registered Memory Module Types
SPD4_MODULE_LOADREDUCED LoadReduced
128-255 Load Reduced Memory Module Types
SPD4_MODULE_UNBUFFERED Unbuffered
128-255 Unbuffered Memory Module Types
SPD4_MODULE_NVDIMM NonVolatile
128-255 Non-Volatile (NVDIMM-N) Hybrid Memory Parameters
UINT8 ThermalSensorPresence
Bits 7:7.
UINT8 HybridMedia
Bits 6:4.
UINT8 ModuleType
Bits 3:0.
UINT16 Reserved
Bits 14:14.
UINT16 BlockOffset
Bits 13:10.
UINT16 FunctionInterface
Bits 4:0.
UINT16 Implemented
Bits 15:15.
UINT16 FunctionClass
Bits 9:5.
UINT16 LastNonZeroByte
Bits 15:8.
UINT16 ContinuationParity
Bits 7:7.
UINT16 ContinuationCount
Bits 6:0.
UINT8 PostPackageRepair
Bits 7:6.
UINT8 SdramPackageType
Bits 7:7.
UINT8 SignalLoading
Bits 1:0.
UINT8 Rank1Mapping
Bits 0:0.
UINT8 DramRowCount
Bits 3:2.
UINT8 RegisterCount
Bits 1:0.
UINT8 RegisterType
Bits 7:4.
UINT8 BackThickness
Bits 7:4.
UINT8 FrontThickness
Bits 3:0.
UINT8 CommandAddress
Bits 5:4.
UINT8 ChipSelect
Bits 7:6.
UINT8 RcdOutputSlewRateControl
Bits 6:6.
UINT8 RegisterRevisionNumber
Bits 7:0.
UINT8 HeatSpreaderSolution
Bits 7:7.
UINT8 HeatSpreaderThermalCharacteristics
Bits 6:0.
UINT8 ColumnAddress
Bits 2:0.
UINT8 RowAddress
Bits 5:3.
UINT8 BankAddress
Bits 5:4.
UINT8 MaximumActivateWindow
Bits 5:4.
UINT8 MaximumActivateCount
Bits 3:0.
UINT8 DRAMDensityRatio
Bits 3:2.
UINT8 SignalLoading
Bits 1:0.
UINT8 SdramPackageType
Bits 7:7.
INT8 tCCDminFine
Bits 7:0.
UINT8 tFAWminUpper
Bits 3:0.
UINT8 tRCminUpper
Bits 7:4.
UINT8 tRASminUpper
Bits 3:0.
INT8 tRCDminFine
Bits 7:0.
INT8 tRRDminFine
Bits 7:0.
UINT8 tWRminMostSignificantNibble
Bits 3:0.
UINT8 tWTR_SminMostSignificantNibble
Bits 3:0.
UINT8 tWTR_LminMostSignificantNibble
Bits 7:4.
UINT8 MappingRank1
Bits 0:0.
UINT8 RawCardExtension
Bits 7:5.
UINT8 FrontThickness
Bits 3:0.
UINT8 BackThickness
Bits 7:4.