Unified indirection in a multi-device hybrid storage unit
First Claim
1. A method comprising:
- receiving a host command including a logical address;
determining a hybrid storage device unit based on the logical address, wherein the hybrid storage device unit comprises;
a set of hybrid physical storage devices, wherein the set of hybrid physical storage devices includes;
one or more magnetic storage devices; and
one or more flash storage devices;
a unified indirection table for the set of hybrid physical storage devices, wherein the unified indirection table includes a plurality of mapping entries mapping logical addresses to physical addresses for all host data stored on the set of hybrid physical storage devices;
a unified host command queue for the set of hybrid physical storage devices, wherein the unified host command queue manages a priority for host commands for host data stored on the set of hybrid physical storage devices; and
a set of predefined rules for using the unified indirection table and the unified host command queue to determine host command processing and corresponding physical addresses;
selecting, based on the priority and from the unified host command queue, the host command for processing;
selecting, using the unified indirection table and the set of predefined rules to process the host command, a first plurality of physical storage devices from the set of hybrid physical storage devices;
generating, based on the host command and physical addresses for the first plurality of physical storage devices from the unified indirection table, a plurality of device commands for the first plurality of physical storage devices; and
executing the plurality of device commands on the first plurality of physical storage devices.
5 Assignments
0 Petitions
Accused Products
Abstract
The disclosed multi-device platform includes, by way of example, a system that receives a host command including a logical address and determines a hybrid storage device unit based on the logical address. The hybrid storage device unit has a set of hybrid physical storage devices and the set of hybrid physical storage devices includes one or more magnetic storage devices and one or more flash storage devices. The system selects a first plurality of physical storage devices from the set of hybrid physical storage devices, generates a plurality of device commands for the first plurality of physical storage devices based on the host command, and executes the plurality of device commands on the first plurality of physical storage devices.
23 Citations
20 Claims
-
1. A method comprising:
-
receiving a host command including a logical address; determining a hybrid storage device unit based on the logical address, wherein the hybrid storage device unit comprises; a set of hybrid physical storage devices, wherein the set of hybrid physical storage devices includes; one or more magnetic storage devices; and one or more flash storage devices; a unified indirection table for the set of hybrid physical storage devices, wherein the unified indirection table includes a plurality of mapping entries mapping logical addresses to physical addresses for all host data stored on the set of hybrid physical storage devices; a unified host command queue for the set of hybrid physical storage devices, wherein the unified host command queue manages a priority for host commands for host data stored on the set of hybrid physical storage devices; and a set of predefined rules for using the unified indirection table and the unified host command queue to determine host command processing and corresponding physical addresses; selecting, based on the priority and from the unified host command queue, the host command for processing; selecting, using the unified indirection table and the set of predefined rules to process the host command, a first plurality of physical storage devices from the set of hybrid physical storage devices; generating, based on the host command and physical addresses for the first plurality of physical storage devices from the unified indirection table, a plurality of device commands for the first plurality of physical storage devices; and executing the plurality of device commands on the first plurality of physical storage devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system comprising:
-
one or more non-transitory hybrid storage device units, wherein each of the hybrid storage device units comprises; a set of hybrid physical storage devices, wherein the set of hybrid physical storage devices includes; one or more magnetic storage devices; and one or more flash storage devices; a unified indirection table for the set of hybrid physical storage devices, wherein the unified indirection table is configured to include a plurality of mapping entries mapping logical addresses to physical addresses for all host data stored on the set of hybrid physical storage devices; a unified host command queue for the set of hybrid physical storage devices, wherein the unified host command queue is configured to manage a priority for host commands for host data stored on the set of hybrid physical storage devices; and a set of predefined rules for using the unified indirection table and the unified host command queue to determine host command processing and corresponding physical addresses; and a storage processor coupled to the one or more non-transitory hybrid storage device units and storing a multi-device platform firmware, the multi-device platform firmware executable by the storage processor to; receive a host command including a logical address; determine a first hybrid storage device unit from the one or more hybrid storage device units based on the logical address; select, based on the priority and from the unified host command queue, the host command for processing; select, using the unified indirection table and the set of predefined rules to process the host command, a first plurality of physical storage devices from the set of hybrid physical storage devices of the first hybrid storage device unit; generate, based on the host command and physical addresses for the first plurality of physical storage devices from the unified indirection table, a plurality of device commands for the first plurality of physical storage devices; and execute the plurality of device commands on the first plurality of physical storage devices. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A data storage system, comprising:
-
means for receiving a host command including a logical address; means for determining a hybrid storage device unit based on the logical address, wherein the hybrid storage device unit comprises; a set of hybrid physical storage devices, wherein the set of hybrid physical storage devices includes; one or more magnetic storage devices; and one or more flash storage devices; a unified indirection table for the set of hybrid physical storage devices, wherein the unified indirection table is configured to include a plurality of mapping entries mapping logical addresses to physical addresses for all host data stored on the set of hybrid physical storage devices; a unified host command queue for the set of hybrid physical storage devices, wherein the unified host command queue is configured to manage a priority for host commands for host data stored on the set of hybrid physical storage devices; and a set of predefined rules for using the unified indirection table and the unified host command queue to determine host command processing and corresponding physical addresses; means for selecting, based on the priority and from the unified host command queue, the host command for processing; means for selecting, using the unified indirection table and the set of predefined rules to process the host command, a first plurality of physical storage devices from the set of hybrid physical storage devices; means for generating, based on the host command and physical addresses for the first plurality of physical storage devices from the unified indirection table, a plurality of device commands for the first plurality of physical storage devices; and means for executing the plurality of device commands on the first plurality of physical storage devices.
-
Specification