On my HPE Gen10 ILOs, a failed memory DIMM has no Status field in the redfish output, the only indicator of an error is under Oem.Hpe.DIMMStatus. See the following samples:
Healthy DIMM
Note the Status field is present as the code expects.
{
"@odata.context":"/redfish/v1/$metadata#Memory.Memory",
"@odata.etag":"W/\"E6EC3A2C\"",
"@odata.id":"/redfish/v1/Systems/1/Memory/proc1dimm12",
"@odata.type":"#Memory.v1_7_1.Memory",
"Id":"proc1dimm12",
"BaseModuleType":"RDIMM",
"BusWidthBits":72,
"CacheSizeMiB":0,
"CapacityMiB":32768,
"DataWidthBits":64,
"DeviceLocator":"PROC 1 DIMM 12",
"ErrorCorrection":"MultiBitECC",
"LogicalSizeMiB":0,
"Manufacturer":"Hynix",
"MemoryDeviceType":"DDR4",
"MemoryLocation":{
"Channel":4,
"MemoryController":2,
"Slot":12,
"Socket":1
},
"MemoryMedia":["DRAM"],
"MemoryType":"DRAM",
"Name":"proc1dimm12",
"NonVolatileSizeMiB":0,
"Oem":{
"Hpe":{
"@odata.context":"/redfish/v1/$metadata#HpeMemoryExt.HpeMemoryExt",
"@odata.type":"#HpeMemoryExt.v2_5_0.HpeMemoryExt",
"Attributes":["HpeSmartMemory"],
"BaseModuleType":"RDIMM",
"DIMMManufacturingDate":"2242",
"DIMMStatus":"GoodInUse",
"MaxOperatingSpeedMTs":3200,
"MinimumVoltageVoltsX10":12,
"PartNumber":"P11444-091",
"VendorName":"SK Hynix"
}
},
"OperatingMemoryModes":["Volatile"],
"OperatingSpeedMhz":3200,
"PartNumber":"HMAG84EXNRA084N",
"PersistentRegionSizeLimitMiB":0,
"RankCount":2,
"SecurityCapabilities":{},
"SerialNumber":"AAAAAAAA",
"Status":{
"Health":"OK",
"State":"Enabled"
},
"VendorID":"44288",
"VolatileRegionSizeLimitMiB":32768,
"VolatileSizeMiB":32768
}
Unhealthy DIMM
Note no Status field is present as the code expects.
{
"@odata.context":"/redfish/v1/$metadata#Memory.Memory",
"@odata.etag":"W/\"8C68453B\"",
"@odata.id":"/redfish/v1/Systems/1/Memory/proc2dimm12",
"@odata.type":"#Memory.v1_7_1.Memory",
"Id":"proc2dimm12",
"BaseModuleType":"RDIMM",
"BusWidthBits":72,
"CacheSizeMiB":0,
"CapacityMiB":32768,
"DataWidthBits":64,
"DeviceLocator":"PROC 2 DIMM 12",
"ErrorCorrection":"MultiBitECC",
"LogicalSizeMiB":0,
"Manufacturer":"Hynix",
"MemoryDeviceType":"DDR4",
"MemoryLocation":{
"Channel":4,
"MemoryController":6,
"Slot":12,
"Socket":2
},
"MemoryMedia":["DRAM"],
"MemoryType":"DRAM",
"Name":"proc2dimm12",
"NonVolatileSizeMiB":0,
"Oem":{
"Hpe":{
"@odata.context":"/redfish/v1/$metadata#HpeMemoryExt.HpeMemoryExt",
"@odata.type":"#HpeMemoryExt.v2_5_0.HpeMemoryExt",
"BaseModuleType":"RDIMM",
"DIMMStatus":"MapOutConfiguration",
"MaxOperatingSpeedMTs":3200,
"MinimumVoltageVoltsX10":0,
"PartNumber":"P11444-091"
}
},
"OperatingMemoryModes":["Volatile"],
"PartNumber":"HMAG84EXNRA084N",
"PersistentRegionSizeLimitMiB":0,
"RankCount":2,
"SecurityCapabilities":{},
"SerialNumber":"00000000",
"VendorID":"0",
"VolatileRegionSizeLimitMiB":0,
"VolatileSizeMiB":0
}
On my HPE Gen10 ILOs, a failed memory DIMM has no
Statusfield in the redfish output, the only indicator of an error is underOem.Hpe.DIMMStatus. See the following samples:Healthy DIMM
Note the
Statusfield is present as the code expects.{ "@odata.context":"/redfish/v1/$metadata#Memory.Memory", "@odata.etag":"W/\"E6EC3A2C\"", "@odata.id":"/redfish/v1/Systems/1/Memory/proc1dimm12", "@odata.type":"#Memory.v1_7_1.Memory", "Id":"proc1dimm12", "BaseModuleType":"RDIMM", "BusWidthBits":72, "CacheSizeMiB":0, "CapacityMiB":32768, "DataWidthBits":64, "DeviceLocator":"PROC 1 DIMM 12", "ErrorCorrection":"MultiBitECC", "LogicalSizeMiB":0, "Manufacturer":"Hynix", "MemoryDeviceType":"DDR4", "MemoryLocation":{ "Channel":4, "MemoryController":2, "Slot":12, "Socket":1 }, "MemoryMedia":["DRAM"], "MemoryType":"DRAM", "Name":"proc1dimm12", "NonVolatileSizeMiB":0, "Oem":{ "Hpe":{ "@odata.context":"/redfish/v1/$metadata#HpeMemoryExt.HpeMemoryExt", "@odata.type":"#HpeMemoryExt.v2_5_0.HpeMemoryExt", "Attributes":["HpeSmartMemory"], "BaseModuleType":"RDIMM", "DIMMManufacturingDate":"2242", "DIMMStatus":"GoodInUse", "MaxOperatingSpeedMTs":3200, "MinimumVoltageVoltsX10":12, "PartNumber":"P11444-091", "VendorName":"SK Hynix" } }, "OperatingMemoryModes":["Volatile"], "OperatingSpeedMhz":3200, "PartNumber":"HMAG84EXNRA084N", "PersistentRegionSizeLimitMiB":0, "RankCount":2, "SecurityCapabilities":{}, "SerialNumber":"AAAAAAAA", "Status":{ "Health":"OK", "State":"Enabled" }, "VendorID":"44288", "VolatileRegionSizeLimitMiB":32768, "VolatileSizeMiB":32768 }Unhealthy DIMM
Note no
Statusfield is present as the code expects.{ "@odata.context":"/redfish/v1/$metadata#Memory.Memory", "@odata.etag":"W/\"8C68453B\"", "@odata.id":"/redfish/v1/Systems/1/Memory/proc2dimm12", "@odata.type":"#Memory.v1_7_1.Memory", "Id":"proc2dimm12", "BaseModuleType":"RDIMM", "BusWidthBits":72, "CacheSizeMiB":0, "CapacityMiB":32768, "DataWidthBits":64, "DeviceLocator":"PROC 2 DIMM 12", "ErrorCorrection":"MultiBitECC", "LogicalSizeMiB":0, "Manufacturer":"Hynix", "MemoryDeviceType":"DDR4", "MemoryLocation":{ "Channel":4, "MemoryController":6, "Slot":12, "Socket":2 }, "MemoryMedia":["DRAM"], "MemoryType":"DRAM", "Name":"proc2dimm12", "NonVolatileSizeMiB":0, "Oem":{ "Hpe":{ "@odata.context":"/redfish/v1/$metadata#HpeMemoryExt.HpeMemoryExt", "@odata.type":"#HpeMemoryExt.v2_5_0.HpeMemoryExt", "BaseModuleType":"RDIMM", "DIMMStatus":"MapOutConfiguration", "MaxOperatingSpeedMTs":3200, "MinimumVoltageVoltsX10":0, "PartNumber":"P11444-091" } }, "OperatingMemoryModes":["Volatile"], "PartNumber":"HMAG84EXNRA084N", "PersistentRegionSizeLimitMiB":0, "RankCount":2, "SecurityCapabilities":{}, "SerialNumber":"00000000", "VendorID":"0", "VolatileRegionSizeLimitMiB":0, "VolatileSizeMiB":0 }