CIM_CacheMemory class
The CIM_CacheMemory class defines the capabilities and management of cache memory.
Cache memory is the dedicated or allocated RAM where a processor first searches for data. Data in cache memory is quickly delivered to the processor and is usually described by its proximity to the processor (for example, primary or secondary cache). A disk drive that includes RAM allocated for holding the disk's most recently read or adjacent data (to speed up retrieval) is also modeled as cache memory.
Note
Cache memory is not an operating-system or application-level buffer; it is RAM that has been allocated for caching processor data.
Important
The DMTF (Distributed Management Task Force) CIM (Common Information Model) classes are the parent classes upon which WMI classes are built. WMI currently supports only the CIM 2.x version schemas.
The following syntax is simplified from Managed Object Format (MOF) code and includes all inherited properties. Properties are listed in alphabetic order, not MOF order.
Syntax
[abstract, UUID("{FAF76B65-798C-11D2-AAD1-006008C78BC7}"), AMENDMENT]
class CIM_CacheMemory : CIM_Memory
{
string Caption;
string Description;
datetime InstallDate;
string Name;
string Status;
uint16 Availability;
uint32 ConfigManagerErrorCode;
boolean ConfigManagerUserConfig;
string CreationClassName;
string DeviceID;
uint16 PowerManagementCapabilities[];
boolean ErrorCleared;
string ErrorDescription;
uint32 LastErrorCode;
string PNPDeviceID;
boolean PowerManagementSupported;
uint16 StatusInfo;
string SystemCreationClassName;
string SystemName;
uint16 Access;
uint64 BlockSize;
uint64 NumberOfBlocks;
string Purpose;
string ErrorMethodology;
uint8 AdditionalErrorData[];
boolean CorrectableError;
uint64 EndingAddress;
uint16 ErrorAccess;
uint64 ErrorAddress;
uint8 ErrorData[];
uint16 ErrorDataOrder;
uint16 ErrorInfo;
uint64 ErrorResolution;
datetime ErrorTime;
uint32 ErrorTransferSize;
string OtherErrorDescription;
uint64 StartingAddress;
boolean SystemLevelAddress;
uint16 Associativity;
uint16 CacheType;
uint32 FlushTimer;
uint16 Level;
uint32 LineSize;
uint16 ReadPolicy;
uint16 ReplacementPolicy;
uint16 WritePolicy;
};
Members
The CIM_CacheMemory class has these types of members:
Methods
The CIM_CacheMemory class has these methods.
Method | Description |
---|---|
Reset | Requests a reset of the logical device. Not implemented by WMI. |
SetPowerState | Defines the desired power state for a logical device and when the device should be put into that state. Not implemented by WMI. |
Properties
The CIM_CacheMemory class has these properties.
-
Access
-
-
Data type: uint16
-
Access type: Read-only
Describes the read/write properties of the media.
This property is inherited from CIM_StorageExtent.
-
-
Unknown (0)
-
Readable (1)
-
Writeable (2)
-
Read/Write Supported (3)
-
Write Once (4)
AdditionalErrorData
-
Data type: uint8 array
-
Access type: Read-only
-
Qualifiers: MappingStrings ("MIF.DMTF|Memory Device|002.18", "MIF.DMTF|Physical Memory Array|001.13"), MAX (64)
Array of octets that hold additional error information. An example is Error Checking and Correcting (ECC) Syndrome, or the return of the check bits if a CRC-based error methodology is used. In the latter case, if a single-bit error is recognized and the CRC algorithm is known, the exact bit that failed can be determined. This type of data (ECC Syndrome, check-bit or parity-bit data, or other vendor supplied information) is included in this field. If the ErrorInfo property is equal to 3 ("OK"), then this property has no meaning.
This property is inherited from CIM_Memory.
Associativity
-
Data type: uint16
-
Access type: Read-only
-
Qualifiers: MappingStrings ("MIF.DMTF|System Cache|003.15")
Enumeration that defines the system cache associativity.
Other (1)
Unknown (2)
Direct Mapped (3)
2-way Set-Associative (4)
4-way Set-Associative (5)
Fully Associative (6)
8-way Set-Associative (7)
16-way Set-Associative (8)
Availability
-
Data type: uint16
-
Access type: Read-only
-
Qualifiers: MappingStrings ("MIF.DMTF|Operational State|003.5", "MIB.IETF|HOST-RESOURCES-MIB.hrDeviceStatus")
Availability and status of the device.
This property is inherited from CIM_LogicalDevice.
Other (1)
Unknown (2)
Running/Full Power (3)
Warning (4)
In Test (5)
Not Applicable (6)
Power Off (7)
Off Line (8)
Off Duty (9)
Degraded (10)
Not Installed (11)
Install Error (12)
Power Save - Unknown (13)
The device is known to be in a power save mode, but its exact status is unknown.
Power Save - Low Power Mode (14)
The device is in a power save state but still functioning, and may exhibit degraded performance.
Power Save - Standby (15)
The device is not functioning but could be brought to full power quickly.
Power Cycle (16)
Power Save - Warning (17)
The device is in a warning state, though also in a power save mode.
Paused (18)
The device is paused.
Not Ready (19)
The device is not ready.
Not Configured (20)
The device is not configured.
Quiesced (21)
The device is quiet.
BlockSize
-
Data type: uint64
-
Access type: Read-only
-
Qualifiers: MappingStrings ("MIB.IETF|HOST-RESOURCES-MIB.hrStorageAllocationUnits"), Units ("bytes")
Size, in bytes, of the blocks that form the storage extent. If variable block size, then the maximum block size, in bytes, should be specified. If the block size is unknown, or if a block concept is not valid (for example, for aggregate extents, memory, or logical disks), enter a 1 (one).
For more information about using uint64 values in scripts, see Scripting in WMI.
This property is inherited from CIM_StorageExtent.
CacheType
-
Data type: uint16
-
Access type: Read-only
-
Qualifiers: MappingStrings ("MIF.DMTF|System Cache|003.9")
Specifies instruction caching, data caching, or both. "Other" and "Unknown" also can be defined.
Other (1)
Unknown (2)
Instruction (3)
Data (4)
Unified (5)
Caption
-
Data type: string
-
Access type: Read-only
-
Qualifiers: MaxLen (64), DisplayName ("Caption")
A short textual description of the object.
This property is inherited from CIM_ManagedSystemElement.
ConfigManagerErrorCode
-
Data type: uint32
-
Access type: Read-only
-
Qualifiers: Schema ("Win32")
Win32 Configuration Manager error code.
This property is inherited from CIM_LogicalDevice.
This device is working properly. (0)
This device is not configured correctly. (1)
Windows cannot load the driver for this device. (2)
The driver for this device might be corrupted, or your system may be running low on memory or other resources. (3)
This device is not working properly. One of its drivers or your registry might be corrupted. (4)
The driver for this device needs a resource that Windows cannot manage. (5)
The boot configuration for this device conflicts with other devices. (6)
Cannot filter. (7)
The driver loader for the device is missing. (8)
This device is not working properly because the controlling firmware is reporting the resources for the device incorrectly. (9)
This device cannot start. (10)
This device failed. (11)
This device cannot find enough free resources that it can use. (12)
Windows cannot verify this device's resources. (13)
This device cannot work properly until you restart your computer. (14)
This device is not working properly because there is probably a re-enumeration problem. (15)
Windows cannot identify all the resources this device uses. (16)
This device is asking for an unknown resource type. (17)
Reinstall the drivers for this device. (18)
Failure using the VxD loader. (19)
Your registry might be corrupted. (20)
System failure: Try changing the driver for this device. If that does not work, see your hardware documentation. Windows is removing this device. (21)
This device is disabled. (22)
System failure: Try changing the driver for this device. If that doesn't work, see your hardware documentation. (23)
This device is not present, is not working properly, or does not have all its drivers installed. (24)
Windows is still setting up this device. (25)
Windows is still setting up this device. (26)
This device does not have valid log configuration. (27)
The drivers for this device are not installed. (28)
This device is disabled because the firmware of the device did not give it the required resources. (29)
This device is using an Interrupt Request (IRQ) resource that another device is using. (30)
This device is not working properly because Windows cannot load the drivers required for this device. (31)
ConfigManagerUserConfig
-
Data type: boolean
-
Access type: Read-only
-
Qualifiers: Schema ("Win32")
If TRUE, the device is using a user-defined configuration.
This property is inherited from CIM_LogicalDevice.
CorrectableError
-
Data type: boolean
-
Access type: Read-only
-
Qualifiers: MappingStrings ("MIF.DMTF|Memory Device|002.12", "MIF.DMTF|Physical Memory Array|001.8")
If TRUE, the most recent error was correctable. If the ErrorInfo property is equal to 3 ("OK"), then this property has no meaning.
This property is inherited from CIM_Memory.
CreationClassName
-
Data type: string
-
Access type: Read-only
-
Qualifiers: CIM_Key
Name of the class or subclass used in the creation of an instance. When used with other key properties of the class, this property allows all instances of the class and its subclasses to be uniquely identified.
This property is inherited from CIM_LogicalDevice.
Description
-
Data type: string
-
Access type: Read-only
-
Qualifiers: DisplayName ("Description")
A textual description of the object.
This property is inherited from CIM_ManagedSystemElement.
DeviceID
-
Data type: string
-
Access type: Read-only
-
Qualifiers: CIM_Key
Address or other identifying information to uniquely name the logical device.
This property is inherited from CIM_LogicalDevice.
EndingAddress
-
Data type: uint64
-
Access type: Read-only
-
Qualifiers: MappingStrings ("MIF.DMTF|Memory Array Mapped Addresses|001.4", "MIF.DMTF|Memory Device Mapped Addresses|001.5"), Units ("kilobytes")
Ending address referenced by an application or operating system and mapped by a memory controller for this memory object. The ending address is specified in kilobytes.
For more information about using uint64 values in scripts, see Scripting in WMI.
This property is inherited from CIM_Memory.
ErrorAccess
-
Data type: uint16
-
Access type: Read-only
-
Qualifiers: MappingStrings ("MIF.DMTF|Memory Device|002.15", "MIF.DMTF|Physical Memory Array|001.10")
Memory access operation that caused the last error. The type of error is described by the ErrorInfo property. If the ErrorInfo property is equal to 3 ("OK"), then this property has no meaning.
This property is inherited from CIM_Memory.
Other (1)
Unknown (2)
Read (3)
Write (4)
Partial Write (5)
ErrorAddress
-
Data type: uint64
-
Access type: Read-only
-
Qualifiers: MappingStrings ("MIF.DMTF|Memory Device|002.19", "MIF.DMTF|Memory Device|002.20", "MIF.DMTF|Physical Memory Array|001.14")
Address of the last memory error. The type of error is described by the ErrorInfo property. If the ErrorInfo property is equal to 3 ("OK"), then this property has no meaning.
For more information about using uint64 values in scripts, see Scripting in WMI.
This property is inherited from CIM_Memory.
ErrorCleared
-
Data type: boolean
-
Access type: Read-only
If TRUE, the error reported in the LastErrorCode property is now cleared.
This property is inherited from CIM_LogicalDevice.
ErrorData
-
Data type: uint8 array
-
Access type: Read-only
-
Qualifiers: ArrayType ("Indexed"), MappingStrings ("MIF.DMTF|Memory Device|002.17", "MIF.DMTF|Physical Memory Array|001.12"), MAX (64)
Data captured during the last erroneous memory access. The data occupies the first n octets of the array that are necessary to hold the number of bits specified by the ErrorTransferSize property. If ErrorTransferSize is 0, then this property has no meaning.
This property is inherited from CIM_Memory.
ErrorDataOrder
-
Data type: uint16
-
Access type: Read-only
Order of data stored in the ErrorData property. If ErrorTransferSize is 0, then this property has no meaning.
This property is inherited from CIM_Memory.
Unknown (0)
Unknown.
Least Significant Byte First (1)
Least significant byte first.
Most Significant Byte First (2)
Most significant byte first.
ErrorDescription
-
Data type: string
-
Access type: Read-only
Free-form string that supplies information about the error recorded in the LastErrorCode property and corrective actions to perform.
This property is inherited from CIM_LogicalDevice.
ErrorInfo
-
Data type: uint16
-
Access type: Read-only
-
Qualifiers: MappingStrings ("MIF.DMTF|Memory Device|002.12", "MIF.DMTF|Physical Memory Array|001.8"), ModelCorrespondence ("CIM_Memory.OtherErrorDescription")
Type of error that occurred most recently. The values 12 through 14 are undefined in the CIM schema because DMI mixes the semantics of the error type and whether it was correctable. Whether an error is correctable is indicated in the CorrectableError property.
This property is inherited from CIM_Memory.
Other (1)
Other.
Unknown (2)
Unknown.
OK (3)
OK.
Bad Read (4)
Bad read.
Parity Error (5)
Parity error.
Single-Bit Error (6)
Single-bit error.
Double-Bit Error (7)
Double-bit error.
Multi-Bit Error (8)
Multi-bit error.
Nibble Error (9)
Nibble error.
Checksum Error (10)
Checksum error.
CRC Error (11)
CRC error.
Undefined (12)
Undefined.
Undefined (13)
Undefined.
Undefined (14)
Undefined.
ErrorMethodology
-
Data type: string
-
Access type: Read-only
-
Qualifiers: MappingStrings ("MIF.DMTF|Physical Memory Array|001.7")
Indicates whether parity or CRC algorithms, ECC or other mechanisms are used. Details on the algorithm can also be supplied.
This property is inherited from CIM_Memory.
ErrorResolution
-
Data type: uint64
-
Access type: Read-only
-
Qualifiers: MappingStrings ("MIF.DMTF|Memory Device|002.21", "MIF.DMTF|Physical Memory Array|001.15"), Units ("bytes")
Specifies the range, in bytes, to which the last error can be resolved. For example, if error addresses are resolved to bit 11 (that is, on a typical page basis), then errors can be resolved to 4 KB boundaries and this property is set to 4000. If the ErrorInfo property is equal to 3 ("OK"), then this property has no meaning.
For more information about using uint64 values in scripts, see Scripting in WMI.
This property is inherited from CIM_Memory.
ErrorTime
-
Data type: datetime
-
Access type: Read-only
Date and time that the last memory error occurred. The type of error is described by the ErrorInfo property. If the ErrorInfo property is equal to 3 ("OK"), then this property has no meaning.
This property is inherited from CIM_Memory.
ErrorTransferSize
-
Data type: uint32
-
Access type: Read-only
-
Qualifiers: MappingStrings ("MIF.DMTF|Memory Device|002.16", "MIF.DMTF|Physical Memory Array|001.11"), Units ("bits")
Size of the data transfer, in bits, that caused the last error. A value of 0 indicates no error. If the ErrorInfo property is equal to 3 ("OK"), then this property should be set to 0.
This property is inherited from CIM_Memory.
FlushTimer
-
Data type: uint32
-
Access type: Read-only
-
Qualifiers: MappingStrings ("MIF.DMTF|System Cache|003.14"), Units ("seconds")
Maximum amount of time, in seconds, dirty lines or buckets may remain in the cache before they are flushed. A value of 0 indicates that a cache flush is not controlled by a flushing timer.
InstallDate
-
Data type: datetime
-
Access type: Read-only
-
Qualifiers: MappingStrings ("MIF.DMTF|ComponentID|001.5"), DisplayName ("Install Date")
Indicates when the object was installed. Lack of a value does not indicate that the object is not installed.
This property is inherited from CIM_ManagedSystemElement.
LastErrorCode
-
Data type: uint32
-
Access type: Read-only
Last error code reported by the logical device.
This property is inherited from CIM_LogicalDevice.
Level
-
Data type: uint16
-
Access type: Read-only
-
Qualifiers: MappingStrings ("MIF.DMTF|System Cache|003.2")
Specifies whether this is the primary, secondary or tertiary cache. "Other", "Unknown", and "Not Applicable" also can be defined.
Other (1)
Other.
Unknown (2)
Unknown.
Primary (3)
Primary.
Secondary (4)
Secondary.
Tertiary (5)
Tertiary.
Not Applicable (6)
Not applicable.
LineSize
-
Data type: uint32
-
Access type: Read-only
-
Qualifiers: MappingStrings ("MIF.DMTF|System Cache|003.10"), Units ("bytes")
Size, in bytes, of a single cache bucket or line.
Name
-
Data type: string
-
Access type: Read-only
-
Qualifiers: DisplayName ("Name")
Label by which the object is known. When subclassed, this property can be overridden to be a key property.
This property is inherited from CIM_ManagedSystemElement.
NumberOfBlocks
-
Data type: uint64
-
Access type: Read-only
-
Qualifiers: MappingStrings ("MIB.IETF|HOST-RESOURCES-MIB.hrStorageSize")
Number of consecutive blocks, each block the size of the value contained in the BlockSize property, that form the storage extent. Total size of the storage extent can be calculated by multiplying the value of the BlockSize property by the value of this property. If the value of BlockSize is 1 (one), this property is the total size of the storage extent.
For more information about using uint64 values in scripts, see Scripting in WMI.
This property is inherited from CIM_StorageExtent.
OtherErrorDescription
-
Data type: string
-
Access type: Read-only
-
Qualifiers: ModelCorrespondence ("CIM_Memory.ErrorInfo")
Free form string that provides information if the ErrorType property is set to 1 ("Other"). If it is not set to 1, then this string has no meaning.
This property is inherited from CIM_Memory.
PNPDeviceID
-
Data type: string
-
Access type: Read-only
-
Qualifiers: Schema ("Win32")
Indicates the Win32 Plug and Play device identifier of the logical device.
Example: "*PNP030b"
This property is inherited from CIM_LogicalDevice.
PowerManagementCapabilities
-
Data type: uint16 array
-
Access type: Read-only
Indicates the specific power-related capabilities of the logical device.
This property is inherited from CIM_LogicalDevice.
Unknown (0)
The power-related capacities are unknown.
Not Supported (1)
Power-related capacities are not supported for this device.
Disabled (2)
Power-related capacities have been disabled.
Enabled (3)
The power management features are currently enabled but the exact feature set is unknown or the information is unavailable.
Power Saving Modes Entered Automatically (4)
The device can change its power state based on usage or other criteria.
Power State Settable (5)
The SetPowerState method is supported. This method is found on the parent CIM_LogicalDevice class and can be implemented. For more information, see Designing Managed Object Format (MOF) Classes.
Power Cycling Supported (6)
The SetPowerState method can be invoked with the PowerState parameter set to 5 ("Power Cycle").
Timed Power On Supported (7)
The SetPowerState method can be invoked with the PowerState parameter set to 5 ("Power Cycle") and the Time parameter set to a specific date and time, or interval, for power-on.
PowerManagementSupported
-
Data type: boolean
-
Access type: Read-only
If TRUE, the device can be power managed, that is, put into a power-save state. If FALSE, the integer value 1 ("Not Supported") should be the only entry in the PowerManagementCapabilities array.
This property does not indicate whether power management features are currently enabled, or if enabled, which features are supported. For more information, see the PowerManagementCapabilities array.
This property is inherited from CIM_LogicalDevice.
Purpose
-
Data type: string
-
Access type: Read-only
Free form string that describes the media and its use.
This property is inherited from CIM_StorageExtent.
ReadPolicy
-
Data type: uint16
-
Access type: Read-only
-
Qualifiers: MappingStrings ("MIF.DMTF|System Cache|003.13")
Policy employed by the cache for handling read requests. If the read policy is determined individually, that is, for each request, then the value 6 ("Determination per I/O") should be specified. "Other" and "Unknown" are also valid values.
Other (1)
Other.
Unknown (2)
Unknown.
Read (3)
Read.
Read-Ahead (4)
Read-ahead.
Read and Read-Ahead (5)
Read and read-ahead.
Determination Per I/O (6)
Determination per I/O.
ReplacementPolicy
-
Data type: uint16
-
Access type: Read-only
-
Qualifiers: MappingStrings ("MIF.DMTF|System Cache|003.12")
Integer enumeration describing the algorithm that determines which cache lines or buckets should be re-used.
Other (1)
Other.
Unknown (2)
Unknown.
Least Recently Used (LRU) (3)
Least recently used (LRU).
First In First Out (FIFO) (4)
First-in, first-out (FIFO).
Last In First Out (LIFO) (5)
Last-in, first-out (LIFO).
Least Frequently Used (LFU) (6)
Least frequently used (LFU.)
Most Frequently Used (MFU) (7)
Most frequently used (MFU).
Data Dependent Multiple Algorithms (8)
Data-dependent multiple algorithms.
StartingAddress
-
Data type: uint64
-
Access type: Read-only
-
Qualifiers: MappingStrings ("MIF.DMTF|Memory Array Mapped Addresses|001.3", "MIF.DMTF|Memory Device Mapped Addresses|001.4"), Units ("kilobytes")
Beginning address, referenced by an application or operating system and mapped by a memory controller, for this memory object. The starting address is specified in kilobytes.
For more information about using uint64 values in scripts, see Scripting in WMI.
This property is inherited from CIM_Memory.
Status
-
Data type: string
-
Access type: Read-only
-
Qualifiers: MaxLen (10), DisplayName ("Status")
String that indicates the current status of the object. Operational and non-operational status can be defined. Operational status can include "OK", "Degraded", and "Pred Fail". "Pred Fail" indicates that an element is functioning properly, but is predicting a failure (for example, a SMART-enabled hard disk drive).
Non-operational status can include "Error", "Starting", "Stopping", and "Service". "Service" can apply during disk mirror-resilvering, reloading a user permissions list, or other administrative work. Not all such work is online, but the managed element is neither "OK" nor in one of the other states.
This property is inherited from CIM_ManagedSystemElement.
Values include the following:
OK ("OK")
Error ("Error")
Degraded ("Degraded")
Unknown ("Unknown")
Pred Fail ("Pred Fail")
Starting ("Starting")
Stopping ("Stopping")
Service ("Service")
Stressed ("Stressed")
NonRecover ("NonRecover")
No Contact ("No Contact")
Lost Comm ("Lost Comm")
StatusInfo
-
Data type: uint16
-
Access type: Read-only
-
Qualifiers: MappingStrings ("MIF.DMTF|Operational State|003.3")
State of the logical device. If this property does not apply to the logical device, the value 5 ("Not Applicable") should be used.
This property is inherited from CIM_LogicalDevice.
Other (1)
Unknown (2)
Enabled (3)
Disabled (4)
Not Applicable (5)
SystemCreationClassName
-
Data type: string
-
Access type: Read-only
-
Qualifiers: Propagated ("CIM_System.CreationClassName"), CIM_Key
The scoping system's creation class name.
This property is inherited from CIM_LogicalDevice.
SystemLevelAddress
-
Data type: boolean
-
Access type: Read-only
Indicates whether the address information in the ErrorAddress property is a system-level address (TRUE) or a physical address (FALSE). If the ErrorInfo property is equal to 3 ("OK"), then this property has no meaning.
This property is inherited from CIM_Memory.
SystemName
-
Data type: string
-
Access type: Read-only
-
Qualifiers: Propagated ("CIM_System.Name"), CIM_Key
The scoping system's name.
This property is inherited from CIM_LogicalDevice.
WritePolicy
-
Data type: uint16
-
Access type: Read-only
-
Qualifiers: MappingStrings ("MIF.DMTF|System Cache|003.5")
Defines whether the cache is write-back or write-through, or whether the information "Varies with Address" or is defined individually for each input/output. "Other" and "Unknown" also can be specified.
Other (1)
Other.
Unknown (2)
Unknown.
Write Back (3)
Write back.
Write Through (4)
Write through.
Varies with Address (5)
Varies with address.
Determination Per I/O (6)
Determination per I/O.
Remarks
The CIM_CacheMemory class is derived from CIM_Memory.
WMI does not implement this class. For more information about classes derived from CIM_CacheMemory, see Win32 Classes.
This documentation is derived from the CIM class descriptions published by the DMTF. Microsoft may have made changes to correct minor errors, conform to Microsoft SDK documentation standards, or provide more information.
Requirements
Requirement | Value |
---|---|
Minimum supported client |
Windows Vista |
Minimum supported server |
Windows Server 2008 |
Namespace |
Root\CIMV2 |
MOF |
|
DLL |
|