Win32_CacheMemory

The Win32_CacheMemory class represents cache memory (internal and external) on a computer system.

Quick Start

Properties

In this WMI class, all WMI properties are read-only. You can only read values but not change them.

Access

Data type UInt16

Access describes whether the media is readable (value=1), writeable (value=2), or both (value=3). “Unknown” (0) and “Write Once” (4) can also be defined.

AdditionalErrorData

Data type UInt8

An array of octets holding additional error information. An example is 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, it is possible to determine the exact bit that failed. 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 the AdditionalErrorData property has no meaning.

Associativity

Data type UInt16

An integer enumeration defining the system cache associativity. For example, 6 indicates a fully associative cache.

$Associativity_ReturnValue = 
@{
    1='Other'
    2='Unknown'
    3='Direct Mapped'
    4='2-way Set-Associative'
    5='4-way Set-Associative'
    6='Fully Associative'
    7='8-way Set-Associative'
    8='16-way Set-Associative'
}

Availability

Data type UInt16

The availability and status of the device. For example, the Availability property indicates that the device is running and has full power (value=3), or is in a warning (4), test (5), degraded (10) or power save state (values 13-15 and 17). Regarding the power saving states, these are defined as follows: Value 13 (“Power Save – Unknown”) indicates that the device is known to be in a power save mode, but its exact status in this mode is unknown; 14 (“Power Save – Low Power Mode”) indicates that the device is in a power save state but still functioning, and may exhibit degraded performance; 15 (“Power Save – Standby”) describes that the device is not functioning but could be brought to full power ‘quickly’; and value 17 (“Power Save – Warning”) indicates that the device is in a warning state, though also in a power save mode.

$Availability_ReturnValue = 
@{
    1='Other'
    2='Unknown'
    3='Running/Full Power'
    4='Warning'
    5='In Test'
    6='Not Applicable'
    7='Power Off'
    8='Off Line'
    9='Off Duty'
   10='Degraded'
   11='Not Installed'
   12='Install Error'
   13='Power Save - Unknown'
   14='Power Save - Low Power Mode'
   15='Power Save - Standby'
   16='Power Cycle'
   17='Power Save - Warning'
   18='Paused'
   19='Not Ready'
   20='Not Configured'
   21='Quiesced'
}

BlockSize

Data type UInt64

Size in bytes of the blocks which form this StorageExtent. 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 LogicalDisks), enter a 1.

CacheSpeed

Data type UInt32

The CacheSpeed property specifies the speed of the cache in nanoseconds.

CacheType

Data type UInt16

Defines whether this is for instruction caching (value=3), data caching (value=4) or both (value=5, “Unified”). Also, “Other” (1) and “Unknown” (2) can be defined.

$CacheType_ReturnValue = 
@{
    1='Other'
    2='Unknown'
    3='Instruction'
    4='Data'
    5='Unified'
}

Caption

Data type String

The Caption property is a short textual description (one-line string) of the object.

ConfigManagerErrorCode

Data type UInt32

Indicates the Win32 Configuration Manager error code. The following values may be returned:

0 This device is working properly.

1 This device is not configured correctly.

2 Windows cannot load the driver for this device.

3 The driver for this device might be corrupted, or your system may be running low on memory or other resources.

4 This device is not working properly. One of its drivers or your registry might be corrupted.

5 The driver for this device needs a resource that Windows cannot manage.

6 The boot configuration for this device conflicts with other devices.

7 Cannot filter.

8 The driver loader for the device is missing.

9 This device is not working properly because the controlling firmware is reporting the resources for the device incorrectly.

10 This device cannot start.

11 This device failed.

12 This device cannot find enough free resources that it can use.

13 Windows cannot verify this device’s resources.

14 This device cannot work properly until you restart your computer.

15 This device is not working properly because there is probably a re-enumeration problem.

16 Windows cannot identify all the resources this device uses.

17 This device is asking for an unknown resource type.

18 Reinstall the drivers for this device.

19 Your registry might be corrupted.

20 Failure using the VxD loader.

21 System failure: Try changing the driver for this device. If that does not work, see your hardware documentation. Windows is removing this device.

22 This device is disabled.

23 System failure: Try changing the driver for this device. If that doesn’t work, see your hardware documentation.

24 This device is not present, is not working properly, or does not have all its drivers installed.

25 Windows is still setting up this device.

26 Windows is still setting up this device.

27 This device does not have valid log configuration.

28 The drivers for this device are not installed.

29 This device is disabled because the firmware of the device did not give it the required resources.

30 This device is using an Interrupt Request (IRQ) resource that another device is using.

31 This device is not working properly because Windows cannot load the drivers required for this device.

$ConfigManagerErrorCode_ReturnValue = 
@{
    0='This device is working properly.'
    1='This device is not configured correctly.'
    2='Windows cannot load the driver for this device.'
    3='The driver for this device might be corrupted    4= or your system may be running low on memory or other resources.'

    5='This device is not working properly. One of its drivers or your registry might be corrupted.'
    6='The driver for this device needs a resource that Windows cannot manage.'
    7='The boot configuration for this device conflicts with other devices.'
    8='Cannot filter.'
    9='The driver loader for the device is missing.'
   10='This device is not working properly because the controlling firmware is reporting the resources for the device incorrectly.'
   11='This device cannot start.'
   12='This device failed.'
   13='This device cannot find enough free resources that it can use.'
   14='Windows cannot verify this device's resources.'    15='This device cannot work properly until you restart your computer.'    16='This device is not working properly because there is probably a re-enumeration problem.'    17='Windows cannot identify all the resources this device uses.'    18='This device is asking for an unknown resource type.'    19='Reinstall the drivers for this device.'    20='Failure using the VxD loader.'    21='Your registry might be corrupted.'    22='System failure: Try changing the driver for this device. If that does not work
   23= see your hardware documentation. Windows is removing this device.'    24='This device is disabled.'    25='System failure: Try changing the driver for this device. If that doesn't work    26= see your hardware documentation.'
   27='This device is not present   28= is not working properly
   29= or does not have all its drivers installed.'

   30='Windows is still setting up this device.'
   31='Windows is still setting up this device.'
}

ConfigManagerUserConfig

Data type Boolean

Indicates whether the device is using a user-defined configuration.

CorrectableError

Data type Boolean

Boolean indicating that the most recent error was correctable. If the ErrorInfo property is equal to 3, “OK”, then this property has no meaning.

CreationClassName

Data type String

CreationClassName indicates the name of the class or the subclass used in the creation of an instance. When used with the other key properties of this class, this property allows all instances of this class and its subclasses to be uniquely identified.

CurrentSRAM

Data type UInt16

The CurrentSRAM property indicates the types of Static Random Access Memory (SRAM) that being used for the cache memory.

Description

Data type String

The Description property provides a textual description of the object.

DeviceID

Data type String

The DeviceID property contains a string that uniquely identifies the cache represented by an instance of Win32_CacheMemory.

Example: Cache Memory 1

EndingAddress

Data type UInt64

The 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 KBytes.

ErrorAccess

Data type UInt16

An integer enumeration indicating the 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.

$ErrorAccess_ReturnValue = 
@{
    1='Other'
    2='Unknown'
    3='Read'
    4='Write'
    5='Partial Write'
}

ErrorAddress

Data type UInt64

Specifies the 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.

ErrorCleared

Data type Boolean

ErrorCleared is a boolean property indicating that the error reported in LastErrorCode property is now cleared.

ErrorCorrectType

Data type UInt16

The ErrorCorrectType property indicates the error correction method used by the cache memory.

ErrorData

Data type UInt8

Data captured during the last erroneous memory access. The data occupies the first n octets of the array necessary to hold the number of bits specified by the ErrorTransferSize property. If ErrorTransferSize is 0, then this property has no meaning.

ErrorDataOrder

Data type UInt16

The ordering for data stored in the ErrorData property. “Least Significant Byte First” (value=1) or “Most Significant Byte First” (2) can be specified. If ErrorTransferSize is 0, then this property has no meaning.

ErrorDescription

Data type String

ErrorDescription is a free-form string supplying more information about the error recorded in LastErrorCode property, and information on any corrective actions that may be taken.

ErrorInfo

Data type UInt16

An integer enumeration describing the type of error that occurred most recently. For example, single (value=6) or double bit errors (7) can be specified using this property. The values, 12-14, are undefined in the CIM Schema since in DMI, they mix the semantics of the type of error and whether it was correctable or not. The latter is indicated in the property, CorrectableError.

$ErrorInfo_ReturnValue = 
@{
    1='Other'
    2='Unknown'
    3='OK'
    4='Bad Read'
    5='Parity Error'
    6='Single-Bit Error'
    7='Double-Bit Error'
    8='Multi-Bit Error'
    9='Nibble Error'
   10='Checksum Error'
   11='CRC Error'
   12='Undefined'
   13='Undefined'
   14='Undefined'
}

ErrorMethodology

Data type String

ErrorMethodology for CIM_Memory is a string property that indicates whether parity or CRC algorithms, ECC or other mechanisms are used. Details on the algorithm can also be supplied.

ErrorResolution

Data type UInt64

Specifies the range, in bytes, to which the last error can be resolved. For example, if error addresses are resolved to bit 11 (i.e., on a typical page basis), then errors can be resolved to 4K boundaries and this property is set to 4000. If the ErrorInfo property is equal to 3, “OK”, then this property has no meaning.

ErrorTime

Data type DateTime

The 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.

ErrorTransferSize

Data type UInt32

The size of the data transfer in bits that caused the last error. 0 indicates no error. If the ErrorInfo property is equal to 3, “OK”, then this property should be set to 0.

FlushTimer

Data type UInt32

Maximum amount of time, in seconds, dirty lines or buckets may remain in the cache before they are flushed. A value of zero indicated that a cache flush is not controlled by a flushing timer.

InstallDate

Data type DateTime

The InstallDate property is datetime value indicating when the object was installed. A lack of a value does not indicate that the object is not installed.

InstalledSize

Data type UInt32

The InstalledSize property indicates the current size of the installed cache memory.

LastErrorCode

Data type UInt32

LastErrorCode captures the last error code reported by the logical device.

Level

Data type UInt16

Defines whether this is the primary (value=3), secondary (value=4) or tertiary (value=5) cache. Also, “Other” (1), “Unknown” (2) and “Not Applicable” (6) can be defined.

$Level_ReturnValue = 
@{
    1='Other'
    2='Unknown'
    3='Primary'
    4='Secondary'
    5='Tertiary'
    6='Not Applicable'
}

LineSize

Data type UInt32

Size, in bytes, of a single cache bucket or line.

Location

Data type UInt16

The Location property indicates the physical location of the cache memory.

MaxCacheSize

Data type UInt32

The MaxCacheSize property indicates the maximum cache size installable to this particular cache memory.

Name

Data type String

The Name property defines the label by which the object is known. When subclassed, the Name property can be overridden to be a Key property.

NumberOfBlocks

Data type UInt64

Total number of consecutive blocks, each block the size of the value contained in the BlockSize property, which form this 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, this property is the total size of the storage extent.

OtherErrorDescription

Data type String

Free form string providing more information if the ErrorType property is set to 1, “Other”. If not set to 1, this string has no meaning.

PNPDeviceID

Data type String

Indicates the Win32 Plug and Play device ID of the logical device. Example: *PNP030b

PowerManagementCapabilities

Data type UInt16

Indicates the specific power-related capabilities of the logical device. The array values, 0=”Unknown”, 1=”Not Supported” and 2=”Disabled” are self-explanatory. The value, 3=”Enabled” indicates that 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) describes that a device can change its power state based on usage or other criteria. “Power State Settable” (5) indicates that the SetPowerState method is supported. “Power Cycling Supported” (6) indicates that the SetPowerState method can be invoked with the PowerState input variable set to 5 (“Power Cycle”). “Timed Power On Supported” (7) indicates that the SetPowerState method can be invoked with the PowerState input variable 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

Boolean indicating that the Device can be power managed – ie, put into a power save state. This boolean does not indicate that power management features are currently enabled, or if enabled, what features are supported. Refer to the PowerManagementCapabilities array for this information. If this boolean is $false, the integer value 1, for the string, “Not Supported”, should be the only entry in the PowerManagementCapabilities array.

Purpose

Data type String

A free form string describing the media and/or its use.

ReadPolicy

Data type UInt16

Policy that shall be employed by the cache for handling read requests. For example, “Read”, “Read-Ahead” or both can be specified using the values, 3, 4 or 5, respectively. If the read policy is determined individually (ie, for each request), then the value 6 (“Determination per I/O”) should be specified. “Other” (1) and “Unknown” (2) are also valid values.

$ReadPolicy_ReturnValue = 
@{
    1='Other'
    2='Unknown'
    3='Read'
    4='Read-Ahead'
    5='Read and Read-Ahead'
    6='Determination Per I/O'
}

ReplacementPolicy

Data type UInt16

An integer enumeration describing the algorithm to determine which cache lines or buckets should be re-used.

$ReplacementPolicy_ReturnValue = 
@{
    1='Other'
    2='Unknown'
    3='Least Recently Used (LRU)'
    4='First In First Out (FIFO)'
    5='Last In First Out (LIFO)'
    6='Least Frequently Used (LFU)'
    7='Most Frequently Used (MFU)'
    8='Data Dependent Multiple Algorithms'
}

StartingAddress

Data type UInt64

The 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 KBytes.

Status

Data type String

The Status property is a string indicating the current status of the object. Various operational and non-operational statuses can be defined. Operational statuses are “OK”, “Degraded” and “Pred Fail”. “Pred Fail” indicates that an element may be functioning properly but predicting a failure in the near future. An example is a SMART-enabled hard drive. Non-operational statuses can also be specified. These are “Error”, “Starting”, “Stopping” and “Service”. The latter, “Service”, could apply during mirror-resilvering of a disk, reload of a user permissions list, or other administrative work. Not all such work is on-line, yet the managed element is neither “OK” nor in one of the other states.

'OK','Error','Degraded','Unknown','Pred Fail','Starting','Stopping','Service','Stressed','NonRecover','No Contact','Lost Comm'

StatusInfo

Data type UInt16

StatusInfo is a string indicating whether the logical device is in an enabled (value = 3), disabled (value = 4) or some other (1) or unknown (2) state. If this property does not apply to the logical device, the value, 5 (“Not Applicable”), should be used.

$StatusInfo_ReturnValue = 
@{
    1='Other'
    2='Unknown'
    3='Enabled'
    4='Disabled'
    5='Not Applicable'
}

SupportedSRAM

Data type UInt16

The SupportedSRAM property indicates the supported types of Static Random Access Memory (SRAM) that can be used for the cache memory.

SystemCreationClassName

Data type String

The scoping System’s CreationClassName.

SystemLevelAddress

Data type Boolean

Boolean indicating whether the address information in the property, ErrorAddress, 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.

SystemName

Data type String

The scoping System’s Name.

WritePolicy

Data type UInt16

Defines whether this is write-back (value=3) or write-through (value=4) Cache, or whether this information “Varies with Address” (5) or is defined individually for each I/O (6). Also, “Other” (1) and “Unknown” (2) can be specified.

$WritePolicy_ReturnValue = 
@{
    1='Other'
    2='Unknown'
    3='Write Back'
    4='Write Through'
    5='Varies with Address'
    6='Determination Per I/O'
}

Methods

Examples

See Also

Help and Questions

  Community Content

You are cordially invited to add knowledge to this page. If you have sample code or additional information related to this WMI class, please share it. Use the comment form to send your information. We will edit and incorparate it into the reference library. Thank you!

Please do not use the comment form to submit questions. If you have questions or need assistance, visit our free forum: Help me with WMI.

Content last updated: 2013-12-27 12:09:37 (UTC).

Facebooktwittergoogle_pluspinterestlinkedinFacebooktwittergoogle_pluspinterestlinkedin