Analyze RAID Controller Cache Policies in TTY Log


Analyze RAID Controller Cache Policies in TTY Log


This article contains information about RAID controller caching policies.


TTY Logs (the RAID controller log) contains references to read, write and cache policies assigned to virtual disks. These policies can impact the performance of virtual disks, and if not used properly, can increase the risk of data loss in the event of a power failure.

Read Policies:

  • No Read-Ahead – Do not use the Read-Ahead caching policy.
  • Read-Ahead – Sequential disk sectors ahead of the one currently being read are cached. This policy may improve performance if data is stored sequentially. This typically will not provide a benefit for random read operations. (Useful for accessing larger and/or sequential stored files)
  • Adaptive Read-Ahead – Only uses Read-Ahead caching if the previous two read requests accessed sequential disk sectors. If not, No Read-Ahead policy is used.


Write Policies:

  • Write-Through (WT) – Write is complete only after the destination disk reports the write completed successfully.
  • Write-Back (WB) – Write is complete after the data is in the controller’s cache, even when it has not been written to the destination disk.
    • This policy has additional risk of data loss since any data not stored to a disk may be lost if the system loses power. Use of battery backed cache may mitigate this risk.
    • WB policy reverts to WT if the battery power is insufficient to hold the data in the cache
  • Force Write-Back – Write policy remains Write-Back regardless of the status of the battery.


Other Policies:

  • Access Policy –
    • Read/Write – Allows reads and writes to the device
    • Read Only – Only allows reads to the device, no writes are allowed
      • SSD drives have limited write capability. Once the maximum number of writes has been reached, the Access Policy will change to Read Only and no additional writes can be performed
    • Blocked – No Reads or Write are allowed
  • Disk Cache Policy – When enabled, allows write to the cache of the disk prior to the medium
    • For virtual disks containing SATA disks, this policy is ENABLED by default
    • For virtual disks containing SAS disks, this policy is DISABLED by default
    • For driver-based RAID controllers such as the SAS 6/iR and the H200, this policy is only available AFTER the virtual disk is created.

Many aspects of server technology use numbering systems other than decimal (Base 10), such as binary (Base 2) and hexadecimal (Base 16). Often, converting between numbering systems is necessary to understand the full meaning of specific values.

A set of 4 bits in binary is often represented by a single value in hexadecimal. Hexadecimal values are frequently used to represent much larger values in binary. For a two digit hexadecimal value, converting to binary there is 8 bits total, 4 bits per hexadecimal value. Converting the hexadecimal number 0d to binary, the first hex value 0 equals 0000 in binary, and the second hex value d equals 1101 in binary. Combined together the hex values 0d equals 0000 1101 in binary. 4 bits in binary is called a "nibble", 8 bits is a "byte".

0000 = 0 0100 = 4 1000 = 8 1100 = c

0001 = 1 0101 = 5 1001 = 9 1101 = d

0010 = 2 0110 = 6 1010 = a 1110 = e

0011 = 3 0111 = 7 1011 = b 1111 = f

Figure 1: Binary to Hexadecimal conversion



This is important because binary values are often used as a bitmask to represent various settings and configuration. In networking for example, a subnet mask is a series of bits that is used to determine the number of networks available, and the number of hosts per network that can be configured.

For RAID cache policies the bitmask definition is as follows:

  • dcp = default cache policy & ccp = current cache policy
    • x01 = write back
    • x04 = Read Ahead
    • x08 = Adaptive Read ahead
    • x10 = write caching ok if bad BBU (Force Write Back)
    • x20 = write caching allowed
    • x40 = read caching allowed
  • ap - access policy
    • 0 = read write
    • 2 = read only
    • 3 = blocked
  • dc - disk cache policy
    • 0 = unchanged, use disk default = (SAS disable, SATA enable)
    • 1 = disk write cache enable
    • 2 = disk write cache disable

x01 means looking at the 1 value in the second binary data word – 0000 0001 – the highlighted digit

x04 means looking at the 4 value in the second binary data word – 0000 0100 – the highlighted digit

x08 means looking at the 8 value in the second binary data word – 0000 1000 – the highlighted digit

x10 means looking at the 1 value in the first binary data word – 0001 0000 – the highlighted digit

x20 means looking at the 2 value in the first binary data word – 0010 0000 – the highlighted digit

x40 means looking at the 4 value in the first binary data word – 0100 0000 – the highlighted digit

When analyzing at the output of the controller logs, specific cache settings can be determined by obtaining and converting the individual cache policies. Figure 2 shows the settings for the cache policies.

07/18/12 5:16:37: EVT#28008-07/18/12 5:16:37: 54=Policy change on VD 00/0 to [ID=00,dcp=0d,ccp=0d,ap=0,dc=0,dbgi=0] from [ID=00,dcp=0d,ccp=0c,ap=0,dc=0,dbgi=0]

Figure 2: Sample controller log output showing cache policy changes

The Default Cache Policy (DCP) is the cache policies set when the array was created, or manually set by the user at some point. The Current Cache Policy (CCP) is the cache policies currently being used based on the automatic reaction of the controller to a specific event.

In each 4 bit data word, each bit represents a different function. The bitmask is used to determine the meaning of each bit. Figure 3 shows the correlation between the binary values and the cache policy setting for each bit.

Figure 3: Bitmask values and meanings for each bit.

In Figure 2, the values for DCP and CCP are either 0d or 0c. The value ‘0c’ actually indicates that the virtual disk is using Adaptive Read Ahead, Read Ahead and Write Through cache policies. The value ‘0d’ indicates that the virtual disk is using Adaptive Read Ahead, Read Ahead and Write Back cache policies. If DCP or CCP value was 00 it indicates that the virtual disk is NOT using Adaptive Read Ahead, is NOT using Read Ahead, and IS using Write Through for the cache policies. If DCP or CCP value was 01, it indicates that the virtual disk is NOT using Adaptive Read Ahead, is NOT using Read Ahead, and IS using Write Back for the cache policies.



Need more help?

Dell KB Support

Find additional Product Resources

Dell Forum Support

Visit and ask for support in our Communities

Dell Contact Support

Create an online support Request



Article ID: SLN163329

Last Date Modified: 09/20/2019 11:31 PM

Rate this article

Accurate
Useful
Easy to understand
Was this article helpful?
0/3000 characters
Please provide ratings (1-5 stars).
Please provide ratings (1-5 stars).
Please provide ratings (1-5 stars).
Please select whether the article was helpful or not.
Comments cannot contain these special characters: <>()\
characters left.