# Class CIM_CacheMemory
extends CIM_Memory

Capabilities and management of Cache Memory. Cache memory is dedicated or allocated RAM that a Processor searches first for data, before going to 'regular' memory. CacheMemory is used to speed up the delivery of data to a Processor. It is usually described by its closeness to the Processor (for example, Primary or Secondary Cache). If a DiskDrive includes RAM allocated for holding the disk's most recently read and/or adjacent data (in order to speed up retrieval), this also would be modeled as CacheMemory. Note that CacheMemory is NOT operating system or application level buffers but actual RAM allocated for caching data for a Processor, from a hard disk, etc.

### Table of Contents
Hierarchy
Direct Known Subclasses
Class Qualifiers
Class Properties
Class Methods

## Class Hierarchy

CIM_ManagedElement
|
+--CIM_ManagedSystemElement
|
+--CIM_LogicalElement
|
+--CIM_EnabledLogicalElement
|
+--CIM_AllocatedLogicalElement
|
+--CIM_LogicalDevice
|
+--CIM_StorageExtent
|
+--CIM_Memory
|
+--CIM_CacheMemory

## Direct Known Subclasses

## Class Qualifiers

Name | Data Type | Value
--- | --- | ---
Deprecated | string | CIM_AssociatedCacheMemory
Description | string | Capabilities and management of Cache Memory. Cache memory is dedicated or allocated RAM that a Processor searches first for data, before going to 'regular' memory. CacheMemory is used to speed up the delivery of data to a Processor. It is usually described by its closeness to the Processor (for example, Primary or Secondary Cache). If a DiskDrive includes RAM allocated for holding the disk's most recently read and/or adjacent data (in order to speed up retrieval), this also would be modeled as CacheMemory. Note that CacheMemory is NOT operating system or application level buffers but actual RAM allocated for caching data for a Processor, from a hard disk, etc.
UMLPackagePath | string | CIM::Device::Memory
Version | string | 2.8.0

## Class Properties

### Local Class Properties

Name | Data Type | Default Value | Qualifiers
--- | --- | --- | ---
Name | Data Type | Value
Associativity | uint16 |
Deprecated | string | CIM_AssociatedCacheMemory.Associativity
Description | string | An integer enumeration defining the system cache associativity. For example, 6 indicates a fully associative cache.
MappingStrings | string | MIF.DMTF|System Cache|006.15
ValueMap | string | 1, 2, 3, 4, 5, 6, 7, 8
Values | string | Other, Unknown, Direct Mapped, 2-way Set-Associative, 4-way Set-Associative, Fully Associative, 8-way Set-Associative, 16-way Set-Associative
CacheType | uint16 |
Deprecated | string | CIM_AssociatedCacheMemory.CacheType
Description | string | 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.
MappingStrings | string | MIF.DMTF|System Cache|006.9
ValueMap | string | 1, 2, 3, 4, 5
Values | string | Other, Unknown, Instruction, Data, Unified
FlushTimer | uint32 |
Deprecated | string | CIM_AssociatedCacheMemory.FlushTimer
Description | string | 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.
MappingStrings | string | MIF.DMTF|System Cache|006.14
PUnit | string | second
Units | string | Seconds
Level | uint16 |
Deprecated | string | CIM_AssociatedCacheMemory.Level
Description | string | 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.
MappingStrings | string | MIF.DMTF|System Cache|006.2
ValueMap | string | 1, 2, 3, 4, 5, 6
Values | string | Other, Unknown, Primary, Secondary, Tertiary, Not Applicable
LineSize | uint32 |
Deprecated | string | CIM_AssociatedCacheMemory.LineSize
Description | string | Size, in bytes, of a single cache bucket or line.
MappingStrings | string | MIF.DMTF|System Cache|006.10
PUnit | string | byte
Units | string | Bytes
ReadPolicy | uint16 |
Deprecated | string | CIM_AssociatedCacheMemory.ReadPolicy
Description | string | 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.
MappingStrings | string | MIF.DMTF|System Cache|006.13
ValueMap | string | 1, 2, 3, 4, 5, 6
Values | string | Other, Unknown, Read, Read-Ahead, Read and Read-Ahead, Determination Per I/O
ReplacementPolicy | uint16 |
Deprecated | string | CIM_AssociatedCacheMemory.ReplacementPolicy
Description | string | An integer enumeration describing the algorithm to determine which cache lines or buckets should be re-used.
MappingStrings | string | MIF.DMTF|System Cache|006.12
ValueMap | string | 1, 2, 3, 4, 5, 6, 7, 8
Values | string | Other, Unknown, Least Recently Used (LRU), First In First Out (FIFO), Last In First Out (LIFO), Least Frequently Used (LFU), Most Frequently Used (MFU), Data Dependent Multiple Algorithms
WritePolicy | uint16 |
Deprecated | string | CIM_AssociatedCacheMemory.WritePolicy
Description | string | 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.
MappingStrings | string | MIF.DMTF|System Cache|006.5
ValueMap | string | 1, 2, 3, 4, 5, 6
Values | string | Other, Unknown, Write Back, Write Through, Varies with Address, Determination Per I/O

### Inherited Properties

Name | Data Type
--- | ---
Access | uint16
AllocationState | string
Availability | uint16
BlockSize | uint64
Caption | string
CommunicationStatus | uint16
CompressionRate | uint16
CompressionState | uint16
ConsumableBlocks | uint64
CorrectableError | boolean
CreationClassName | string
DataOrganization | uint16
DataRedundancy | uint16
DeltaReservation | uint8
Description | string
DetailedStatus | uint16
DeviceID | string
ElementName | string
EnabledDefault | uint16
EnabledState | uint16
EndingAddress | uint64
ErrorAccess | uint16
ErrorAddress | uint64
ErrorCleared | boolean
ErrorDataOrder | uint16
ErrorDescription | string
ErrorInfo | uint16
ErrorMethodology | string
ErrorResolution | uint64
ErrorTime | datetime
ErrorTransferSize | uint32
ExtentInterleaveDepth | uint64
ExtentStripeLength | uint64
Generation | uint64
HealthState | uint16
InstallDate | datetime
InstanceID | string
IsBasedOnUnderlyingRedundancy | boolean
IsComposite | boolean
IsCompressed | boolean
IsConcatenated | boolean
LastErrorCode | uint32
LocationIndicator | uint16
MaxQuiesceTime | uint64
Name | string
NameFormat | uint16
NameNamespace | uint16
NoSinglePointOfFailure | boolean
NumberOfBlocks | uint64
OperatingStatus | uint16
OtherEnabledState | string
OtherErrorDescription | string
OtherNameFormat | string
OtherNameNamespace | string
OtherUsageDescription | string
PackageRedundancy | uint16
PowerManagementSupported | boolean
PowerOnHours | uint64
PrimaryStatus | uint16
Primordial | boolean
Purpose | string
RequestedState | uint16
SequentialAccess | boolean
StartingAddress | uint64
Status | string
StatusInfo | uint16
SystemCreationClassName | string
SystemLevelAddress | boolean
SystemName | string
TimeOfLastStateChange | datetime
TotalPowerOnHours | uint64
TransitioningToState | uint16
Usage | uint16
Volatile | boolean
AdditionalAvailability | uint16[]
AdditionalErrorData | uint8[]
AvailableRequestedStates | uint16[]
ClientSettableUsage | uint16[]
ErrorData | uint8[]
ExtentDiscriminator | string[]
ExtentStatus | uint16[]
IdentifyingDescriptions | string[]
OperationalStatus | uint16[]
OtherIdentifyingInfo | string[]
PowerManagementCapabilities | uint16[]
StatusDescriptions | string[]

## Class Methods

### Inherited Class Methods

Name | Return Type
--- | ---
EnableDevice | uint32
OnlineDevice | uint32
QuiesceDevice | uint32
RequestStateChange | uint32
Reset | uint32
RestoreProperties | uint32
SaveProperties | uint32
SetPowerState | uint32