How Flash Pool SSD partitioning increases cache allocation flexibility for Flash Pool aggregates

Flash Pool SSD partitioning, also known as Advanced Drive Partitioning, enables you to group SSDs together into an SSD storage pool that can be allocated to multiple Flash Pool aggregates. This amortizes the cost of the parity SSDs over more aggregates, increases SSD allocation flexibility, and maximizes SSD performance .

The storage pool is associated with an HA pair, and can be composed of SSDs owned by either node in the HA pair.

When you add an SSD to a storage pool, it becomes a shared SSD, and it is divided into 4 partitions.

Storage from an SSD storage pool is divided into allocation units, each of which represents 25% of the total storage capacity of the storage pool. Allocation units contain one partition from each SSD in the storage pool, and are added to a Flash Pool cache as a single RAID group. By default, for storage pools associated with an HA pair, two allocation units are assigned to each of the HA partners, but you can reassign the allocation units to the other HA partner if needed (allocation units must be owned by the node that owns the aggregate).

SSD storage pools do not have a RAID type. When an allocation unit is added to a Flash Pool aggregate, the appropriate number of partitions are designated to provide parity to that RAID group.

The following diagram shows one example of Flash Pool SSD partitioning. The SSD storage pool pictured is providing cache to two Flash Pool aggregates:

This image is described by the surrounding text.

Storage pool SP1 is composed of 5 SSDs; in addition, there is one hot spare SSD available to replace any SSD that experiences a failure. Two of the storage pool's allocation units are allocated to Flash Pool FP1, and two are allocated to Flash Pool FP2. FP1 has a cache RAID type of RAID4, so the allocation units provided to FP1 contain only one partition designated for parity. FP2 has a cache RAID type of RAID-DP, so the allocation units provided to FP2 include a parity partition and a double-parity partition.

In this example, two allocation units are allocated to each Flash Pool aggregate; however, if one Flash Pool aggregate needed a larger cache, you could allocate three of the allocation units to that Flash Pool aggregate, and only one to the other.