Intelligent Storage


Cache

Write operations with cache provide performance advantages over writing directly to disks. When an I/O is written to cache and acknowledged, it is completed in far less time (from the host's perspective) than it would take to write directly to disk. Sequential writes also offer opportunities for optimization because many smaller writes can be coalesced for larger transfers to disk drives with the use of cache.
A write operation with cache is implemented in the following ways:

Write-back cache: Data is placed in cache and an acknowledgment is sent to the host immediately. Later, data from several writes are committed (de-staged) to the disk. Write response times are much faster because the write operations are isolated from the mechanical delays of the disk. However, uncommitted data is at risk of loss if cache failures occur
.
Write-through cache: Data is placed in the cache and immediately written to the disk, and an acknowledgment is sent to the host. Because data is committed to disk as it arrives, the risks of data loss are low, but the write-response time is longer because of the disk operations.

Cache can be bypassed under certain conditions, such as large size write I/O. In this implementation, if the size of an I/O request exceeds the predefined size, called write aside size, writes are sent to the disk directly to reduce the impact of large writes consuming a large cache space. This is particularly useful in an environment where cache resources are constrained and cache is required for small random I/Os.


Cache Management

Two algorithms used to determine how to manage cache. 

Most Recently Used (MRU):  Pages that have been most recently used are freed up based on the theory that it will be some time before they are needed again.

Least Recently Used (LRU):  Pages that have not been used for a long time.  Either frees them up or marks them for reuse.  Theory is that if it hasn't been used for sometime, it won't be needed soon.

Cache is limited.  As it fills up, system must empty (flush) cache for reuse.  Flush methods:

Idle Flushing:  Occurs constantly at a modest rate when utilization is between high and low water mark.

High Water Mark:   Occurs when cache level hits high water mark.  High speed flushing to the disks.  Can/will affect resource useage.  Cache is as full as it should be and system needs to provide resources.

Low Water Mark:  The point at which the system stops flushing data to the disks.

Forced Flushing:    Occurs when cache reaches 100 percent.  More resources are dedicated to flushing data to disk.  

 Cache Protection:

Cache Mirroring:  Cache held in two different memory locations.  Cache coherency may be an issue (keeping cache consistent).

Cache Vaulting:  Used in power failure.  Batteries may be insufficient, so drives are dedicated to dump the cache to until power is restored.  These are vault drives.

 LUNs are logical drives 
For that reason, storage subsystems have their physical disks partitioned into logically addressed portions that allow host servers to access them. This partition is called a LUN. For example, most PC users will be familiar with the partition of a single disk into a C: drive for applications and data, plus a D: drive for recovery purposes.

Meta Lun is two LUN's combined.


 Thin LUN: 

A virtual LUN (virtual logical unit number) is a representation of a storage area that is not tied to any physical storage allocation. Virtual LUNs are used in thin provisioning (also known as virtual provisioning) for storage area network (SAN) management. A virtual LUN is also sometimes called a thin LUN.