pub struct SMBiosMemoryDevice<'a> { /* private fields */ }
Expand description
§Memory Device (Type 17)
This structure describes a single memory device that is part of a larger super::SMBiosPhysicalMemoryArray (Type 16) structure.
Compliant with: DMTF SMBIOS Reference Specification 3.7.0 (DSP0134) Document Date: 2023-07-21
Implementations§
Source§impl<'a> SMBiosMemoryDevice<'a>
impl<'a> SMBiosMemoryDevice<'a>
Sourcepub fn physical_memory_array_handle(&self) -> Option<Handle>
pub fn physical_memory_array_handle(&self) -> Option<Handle>
Handle, or instance number, associated with the super::SMBiosPhysicalMemoryArray to which this device belongs
Sourcepub fn memory_error_information_handle(&self) -> Option<Handle>
pub fn memory_error_information_handle(&self) -> Option<Handle>
Handle, or instance number, associated with any error that was previously detected for the device If the system does not provide the error information structure, the field contains FFFEh; otherwise, the field contains either FFFFh (if no error was detected) or the handle of the error-information structure (super::SMBiosMemoryErrorInformation32 or super::SMBiosMemoryErrorInformation64).
Sourcepub fn total_width(&self) -> Option<u16>
pub fn total_width(&self) -> Option<u16>
Total width, in bits, of this memory device, including any check or error-correction bits If there are no error-correction bits, this value should be equal to Data Width. If the width is unknown, the field is set to FFFFh.
Sourcepub fn data_width(&self) -> Option<u16>
pub fn data_width(&self) -> Option<u16>
Data width, in bits, of this memory device A Data Width of 0 and a Total Width of 8 indicates that the device is being used solely to provide 8 error-correction bits. If the width is unknown, the field is set to FFFFh.
Sourcepub fn size(&self) -> Option<MemorySize>
pub fn size(&self) -> Option<MemorySize>
Size of the memory device
Sourcepub fn form_factor(&self) -> Option<MemoryFormFactorData>
pub fn form_factor(&self) -> Option<MemoryFormFactorData>
Implementation form factor for this memory device
Sourcepub fn device_set(&self) -> Option<u8>
pub fn device_set(&self) -> Option<u8>
Identifies when the Memory Device is one of a set of Memory Devices that must be populated with all devices of the same type and size, and the set to which this device belongs A value of 0 indicates that the device is not part of a set; a value of FFh indicates that the attribute is unknown. NOTE: A Device Set number must be unique within the context of the Memory Array containing this Memory Device.
Sourcepub fn device_locator(&self) -> SMBiosString
pub fn device_locator(&self) -> SMBiosString
Identifies the physically-labeled socket or board position where the memory device is located EXAMPLE: “SIMM 3”
Sourcepub fn bank_locator(&self) -> SMBiosString
pub fn bank_locator(&self) -> SMBiosString
Identifies the physically labeled bank where the memory device is located EXAMPLE: “Bank 0” or “A”
Sourcepub fn memory_type(&self) -> Option<MemoryDeviceTypeData>
pub fn memory_type(&self) -> Option<MemoryDeviceTypeData>
Type of memory used in this device
Sourcepub fn type_detail(&self) -> Option<MemoryTypeDetails>
pub fn type_detail(&self) -> Option<MemoryTypeDetails>
Additional detail on the memory device type
Sourcepub fn speed(&self) -> Option<MemorySpeed>
pub fn speed(&self) -> Option<MemorySpeed>
The maximum capable speed of the device, in megatransfers per second (MT/s).
Sourcepub fn manufacturer(&self) -> SMBiosString
pub fn manufacturer(&self) -> SMBiosString
The manufacturer of this memory device
Sourcepub fn serial_number(&self) -> SMBiosString
pub fn serial_number(&self) -> SMBiosString
The serial number of this memory device. This value is set by the manufacturer and normally is not changeable.
Sourcepub fn asset_tag(&self) -> SMBiosString
pub fn asset_tag(&self) -> SMBiosString
The asset tag of this memory device
Sourcepub fn part_number(&self) -> SMBiosString
pub fn part_number(&self) -> SMBiosString
The part number of this memory device. This value is set by the manufacturer and normally is not changeable.
Sourcepub fn attributes(&self) -> Option<u8>
pub fn attributes(&self) -> Option<u8>
Bits 7-4: reserved Bits 3-0: rank Value=0 for unknown rank information
Sourcepub fn extended_size(&self) -> Option<MemorySizeExtended>
pub fn extended_size(&self) -> Option<MemorySizeExtended>
Extended size of the memory device in MB (complements the Size field at offset 0Ch)
Sourcepub fn configured_memory_speed(&self) -> Option<MemorySpeed>
pub fn configured_memory_speed(&self) -> Option<MemorySpeed>
Identifies the configured speed of the memory device, in megatransfers per second (MT/s). See 7.18.4 for details. 0000h = the speed is unknown FFFFh = the speed is 65,535 MT/s or greater, and the actual speed is stored in the Extended Configured Memory Speed field
Sourcepub fn minimum_voltage(&self) -> Option<u16>
pub fn minimum_voltage(&self) -> Option<u16>
Minimum operating voltage for this device, in millivolts If the value is 0, the voltage is unknown.
Sourcepub fn maximum_voltage(&self) -> Option<u16>
pub fn maximum_voltage(&self) -> Option<u16>
Maximum operating voltage for this device, in millivolts If the value is 0, the voltage is unknown.
Sourcepub fn configured_voltage(&self) -> Option<u16>
pub fn configured_voltage(&self) -> Option<u16>
Configured voltage for this device, in millivolts If the value is 0, the voltage is unknown.
Sourcepub fn memory_technology(&self) -> Option<MemoryDeviceTechnologyData>
pub fn memory_technology(&self) -> Option<MemoryDeviceTechnologyData>
Memory technology type for this memory device.
Sourcepub fn memory_operating_mode_capability(
&self,
) -> Option<MemoryOperatingModeCapabilities>
pub fn memory_operating_mode_capability( &self, ) -> Option<MemoryOperatingModeCapabilities>
The operating modes supported by this memory device.
Sourcepub fn firmware_version(&self) -> SMBiosString
pub fn firmware_version(&self) -> SMBiosString
The firmware version of this memory device.
Sourcepub fn module_manufacturer_id(&self) -> Option<u16>
pub fn module_manufacturer_id(&self) -> Option<u16>
The two-byte module manufacturer ID found in the SPD of this memory device; LSB first.
Sourcepub fn module_product_id(&self) -> Option<u16>
pub fn module_product_id(&self) -> Option<u16>
The two-byte module product ID found in the SPD of this memory device; LSB first.
Sourcepub fn memory_subsystem_controller_manufacturer_id(&self) -> Option<u16>
pub fn memory_subsystem_controller_manufacturer_id(&self) -> Option<u16>
The two-byte memory subsystem controller manufacturer ID found in the SPD of this memory device; LSB first.
Sourcepub fn memory_subsystem_controller_product_id(&self) -> Option<u16>
pub fn memory_subsystem_controller_product_id(&self) -> Option<u16>
The two-byte memory subsystem controller product ID found in the SPD of this memory device; LSB first.
Sourcepub fn non_volatile_size(&self) -> Option<MemoryIndicatedSize>
pub fn non_volatile_size(&self) -> Option<MemoryIndicatedSize>
Size of the Non-volatile portion of the memory device in Bytes, if any.
If the value is 0, there is no non-volatile portion.
Sourcepub fn volatile_size(&self) -> Option<MemoryIndicatedSize>
pub fn volatile_size(&self) -> Option<MemoryIndicatedSize>
Size of the Volatile portion of the memory device in Bytes, if any.
If the value is 0, there is no Volatile portion.
Sourcepub fn cache_size(&self) -> Option<MemoryIndicatedSize>
pub fn cache_size(&self) -> Option<MemoryIndicatedSize>
Size of the Cache portion of the memory device in Bytes, if any.
If the value is 0, there is no Cache portion.
Sourcepub fn logical_size(&self) -> Option<MemoryIndicatedSize>
pub fn logical_size(&self) -> Option<MemoryIndicatedSize>
Size of the Logical memory device in Bytes.
Sourcepub fn extended_speed(&self) -> Option<MemorySpeedExtended>
pub fn extended_speed(&self) -> Option<MemorySpeedExtended>
Extended speed of the memory device (complements the Speed field at offset 15h). Identifies the maximum capable speed of the device, in megatransfers per second (MT/s).
Sourcepub fn extended_configured_memory_speed(&self) -> Option<MemorySpeedExtended>
pub fn extended_configured_memory_speed(&self) -> Option<MemorySpeedExtended>
Extended configured memory speed of the memory device (complements the ‘configured_memory_speed’ field at offset 20h).
Identifies the configured speed of the memory device, in megatransfers per second (MT/s)
The ‘extended_speed’ and ‘extended_configured_memory_speed’ fields are intended to represent memory devices that operate faster than 65,535 MT/s, which cannot be described using the Speed or Configured Memory Speed fields. These fields are only meaningful if the value in the Speed or Configured Memory Speed fields are FFFFh. For compatibility with older SMBIOS parsers, memory devices slower than 65,535 MT/s should represent their speed using the Speed and Configured Memory Speed fields, leaving the Extended Speed and Extended Configured Memory Speed fields set to 0.
Bit 31 is reserved for future use and must be set to 0 Bits 30:0 represent the speed or configured memory speed of the device in MT/s.
Sourcepub fn pmic0_manufacturer_id(&self) -> Option<u16>
pub fn pmic0_manufacturer_id(&self) -> Option<u16>
The two-byte PMIC0 manufacturer ID found in the SPD of this memory device; LSB first.
The PMIC0 Manufacturer ID indicates the manufacturer of the PMIC0 on memory device. This field shall be set to the value of the SPD PMIC 0 Manufacturer ID Code. A value of 0000h indicates the PMIC0 Manufacturer ID is unknown.
NOTE The location (byte addresses) of the SPD PMIC 0 Manufacturer ID Code may vary and is defined by the memory type/technology SPD Standard. For example, for RDIMM DDR5, this field will have the first byte correspond to the value in byte 198 and the second byte corresponds to the value in byte 199. If SPD doesn’t contain Register Revision Number, this field shall be set to 0000h
Sourcepub fn pmic0_revision_number(&self) -> Option<u16>
pub fn pmic0_revision_number(&self) -> Option<u16>
The PMIC 0 Revision Number found in the SPD of this memory device.
The PMIC0 Revision Number indicates the revision of the PMIC0 on memory device. This field shall be set to the value of the SPD PMIC 0 Revision Number. A value of FF00h indicates the PMIC0 Revision Number is unknown.
NOTE The location (byte addresses) of the SPD PMIC 0 Revision Number may vary and is defined by the memory type/technology SPD Standard. For example, for RDIMM DDR5, this field will have the first byte correspond to the value in byte 201 and the second byte shall be set to 00h. If SPD doesn’t contain Register Revision Number, this field shall be set to FF00h.
Sourcepub fn rcd_manufacturer_id(&self) -> Option<u16>
pub fn rcd_manufacturer_id(&self) -> Option<u16>
The two-byte RCD manufacturer ID found in the SPD of this memory device; LSB first.
The RCD Manufacturer ID indicates the manufacturer of the RCD on memory device. This field shall be set to the value of the SPD Registering Clock Driver Manufacturer ID Code. A value of 0000h indicates the RCD Manufacturer ID is unknown.
NOTE The location (byte addresses) of the SPD Registering Clock Driver Manufacturer ID Code may vary and is defined by the memory type/technology SPD Standard. For example, for RDIMM DDR5, this field will have the first byte correspond to the value in byte 240 and the second byte corresponds to the value in byte 241. If SPD doesn’t contain Register Revision Number, this field shall be set to 0000h.
Sourcepub fn rcd_revision_number(&self) -> Option<u16>
pub fn rcd_revision_number(&self) -> Option<u16>
The RCD 0 Revision Number found in the SPD of this memory device.
The RCD Revision Number indicates the revision of the RCD on memory device. This field shall be set to the value of the SPD Register Revision Number. A value of FF00h indicates the RCD Revision Number is unknown.
NOTE The location (byte addresses) of the SPD Register Revision Number may vary and is defined by the memory type/technology SPD Standard. For example, for RDIMM DDR5, this field will have the first byte correspond to the value in byte 243 and the second byte shall be set to 00h. If SPD doesn’t contain Register Revision Number, this field shall be set to FF00h