Struct smbioslib::SMBiosMemoryDevice
source · [−]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.4.0 (DSP0134) Document Date: 2020-07-17
Implementations
sourceimpl<'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) -> Option<String>
pub fn device_locator(&self) -> Option<String>
Identifies the physically-labeled socket or board position where the memory device is located EXAMPLE: “SIMM 3”
sourcepub fn bank_locator(&self) -> Option<String>
pub fn bank_locator(&self) -> Option<String>
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) -> Option<String>
pub fn manufacturer(&self) -> Option<String>
The manufacturer of this memory device
sourcepub fn serial_number(&self) -> Option<String>
pub fn serial_number(&self) -> Option<String>
The serial number of this memory device. This value is set by the manufacturer and normally is not changeable.
sourcepub fn part_number(&self) -> Option<String>
pub fn part_number(&self) -> Option<String>
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) -> Option<String>
pub fn firmware_version(&self) -> Option<String>
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.
Trait Implementations
sourceimpl Debug for SMBiosMemoryDevice<'_>
impl Debug for SMBiosMemoryDevice<'_>
sourceimpl<'a> SMBiosStruct<'a> for SMBiosMemoryDevice<'a>
impl<'a> SMBiosStruct<'a> for SMBiosMemoryDevice<'a>
sourceconst STRUCT_TYPE: u8
const STRUCT_TYPE: u8
The SMBIOS structure type Read more
sourcefn new(parts: &'a UndefinedStruct) -> Self
fn new(parts: &'a UndefinedStruct) -> Self
Creates a new instance of the implementing SMBIOS type
sourcefn parts(&self) -> &'a UndefinedStruct
fn parts(&self) -> &'a UndefinedStruct
Contains the standard parts/sections of the implementing SMBIOS type.
sourceimpl Serialize for SMBiosMemoryDevice<'_>
impl Serialize for SMBiosMemoryDevice<'_>
Auto Trait Implementations
impl<'a> RefUnwindSafe for SMBiosMemoryDevice<'a>
impl<'a> Send for SMBiosMemoryDevice<'a>
impl<'a> Sync for SMBiosMemoryDevice<'a>
impl<'a> Unpin for SMBiosMemoryDevice<'a>
impl<'a> UnwindSafe for SMBiosMemoryDevice<'a>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more