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
CIMWin32.mof
DLL
CIMWin32.dll

See also

CIM_Memory