Abstract:
A system and method for improving the distribution of data extent allocation in dynamic disk pool systems is disclosed. A storage system includes a storage controller that calls a hashing function to select storage devices on which to allocate data extents when such is requested. The hashing function takes into consideration a weight associated with each storage device in the dynamic disk pool. Once a storage device is selected, the weight associated with that storage device is reduced by a predetermined amount. This reduces the probability that the selected storage device is selected at a subsequent time. When the data extent is de-allocated, the weight associated with the affected storage device containing the now-de-allocated data extent is increased by a predetermined amount. This increases the probability that the storage device is selected at a subsequent time.
Abstract:
Systems and techniques for performing a data transaction are disclosed that provide improved cache performance by pinning recovery information in a controller cache. In some embodiments, a data transaction is received by a storage controller of a storage system. The storage controller determines whether the data transaction is directed to a data stripe classified as frequently accessed. Data associated with the data transaction and recovery information associated with the data transaction are cached in a cache of the storage controller. The recovery information is pinned in the cache based on the data transaction being directed to the data stripe that is classified as frequently accessed, and the data is flushed from the cache independently from the pinned recovery information.
Abstract:
A system, method, and computer program product for the banded allocation of storage device address ranges in distributed parity schemes is disclosed. A storage system with storage devices logically divides up the storage devices into bands of contiguous logical block address ranges. A storage controller provisions logical volumes in the bands. Upon unavailability of a storage device, the data pieces are reconstructed at the next available data extent within the same band on the other storage devices. The storage controller detects a replacement drive and logically divides the replacement storage device into the same number of bands as on the other storage devices. The storage controller transfers the reconstructed data pieces to the replacement drive and places the data pieces within the same bands on the replacement drive.
Abstract:
A method, apparatus, and system of a priority command queues for low latency solid state drives are disclosed. In one embodiment, a system of a storage system includes a command sorter to determine a target storage device for at least one of a solid state drive (SSD) command and a hard disk drive (HDD) command and to place the command in a SSD ready queue if the SSD command is targeted to a SSD storage device of the storage system and to place the HDD command to a HDD ready queue if the HDD command is targeted to an HDD storage device of the storage system, a SSD ready queue to queue the SSD command targeted to the SSD storage device, and a HDD ready queue to queue the HDD command targeted to the HDD storage device.
Abstract:
A system and method for improving storage system operation is disclosed. A storage system includes a first tier with high-performance redundancy and a second tier with capacity efficient redundancy. The first tier and the second tier are built from the same storage devices in a storage pool so each storage device includes both the first and second tiers. The storage system stores write data initially to the first tier. When demand for the data falls below a threshold, the storage system migrates the write data to the second tier. This is done by changing the mapping of underlying physical locations on the storage devices where the write data is stored so that the underlying physical locations are logically associated with the second tier instead of the first tier. After remapping, the storage system also computes parity information for the migrated write data and stores it in the second tier.
Abstract:
A system and method for improving storage system operation is disclosed. A storage system includes a first tier with high-performance redundancy and a second tier with capacity efficient redundancy. The first tier and the second tier are built from the same storage devices in a storage pool so each storage device includes both the first and second tiers. The storage system stores write data initially to the first tier. When demand for the data falls below a threshold, the storage system migrates the write data to the second tier. This is done by changing the mapping of underlying physical locations on the storage devices where the write data is stored so that the underlying physical locations are logically associated with the second tier instead of the first tier. After remapping, the storage system also computes parity information for the migrated write data and stores it in the second tier.
Abstract:
A system, method, and computer program product for the banded allocation of storage device address ranges in distributed parity schemes is disclosed. A storage system with storage devices logically divides up the storage devices into bands of contiguous logical block address ranges. A storage controller provisions logical volumes in the bands. Upon unavailability of a storage device, the data pieces are reconstructed at the next available data extent within the same band on the other storage devices. The storage controller detects a replacement drive and logically divides the replacement storage device into the same number of bands as on the other storage devices. The storage controller transfers the reconstructed data pieces to the replacement drive and places the data pieces within the same bands on the replacement drive.
Abstract:
A method, apparatus, and system of a priority command queues for low latency solid state drives are disclosed. In one embodiment, a system of a storage system includes a command sorter to determine a target storage device for at least one of a solid state drive (SSD) command and a hard disk drive (HDD) command and to place the command in a SSD ready queue if the SSD command is targeted to a SSD storage device of the storage system and to place the HDD command to a HDD ready queue if the HDD command is targeted to an HDD storage device of the storage system, a SSD ready queue to queue the SSD command targeted to the SSD storage device, and a HDD ready queue to queue the HDD command targeted to the HDD storage device.