主权项 |
1. A storage system comprising:
a storage processor coupled to a plurality of solid state disks (SSDs) and a host, the plurality of SSDs being identified by SSD logical block addresses (SSD LBAs), the storage processor responsive to a command from the host to write to the plurality of SSDs, the command from the host accompanied by information used to identify a location within the plurality of SSDs to write data, the identified location referred to as a host LBA, the storage processor including a central processor unit (CPU) subsystem and a plurality of queues, at least some of the plurality of queues associated with a distinct SSD and maintaining unassigned SSD LBAs of a corresponding SSD, an unassigned SSD LBA of each queue forming a stripe, the CPU subsystem being operable to: upon receiving commands to write data, defining sub-commands based on a range of host LBAs derived from the received commands and a granularity, at least one of the host LBAs of the range of host LBAs being non-sequential relative to the remaining host LBAs of the range of host LBAs, mapping the sub-commands to unassigned SSD LBAs wherein each sub-command is mapped to a distinct SSD, the distinct SSD being part of a common stripe, a mapped SSD LBA of the stripe being different than a previously-mapped SSD LBA of the same sub-command, repeating the mapping step for remaining SSD LBAs of the stripe until all of the SSD LBAs of the stripe are mapped before starting mapping SSD LBAs of a different stripe, wherein host LBAs are decoupled from SSD LBAs. |