Methods and apparatus for SAN having local server storage including SSD block-based storage
Abstract
Methods and apparatus for a system including a storage array with solid state drive (SSD) storage and a controller coupled to the SSD storage. The controller may include a data system to perform input/output operations to the SSD storage, a control system coupled to the data system to control an address to hash value mapping, a routing system coupled to the control system to process commands from remote hosts, segment data into data blocks, and generate the hash values for the data blocks, and a data server associated with the routing system to receive read and write commands from a data client running on a remote host, wherein the storage array contributes a portion of the SSD storage to storage pools of a distributed elastic storage system.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A system, comprising:
a storage array comprising:
solid state drive (SSD) storage;
a controller coupled to the SSD storage, the controller comprising:
a control system configured to:
control a mapping table of an address to a corresponding hash value;
a routing system coupled to the control system configured to receive a read command from a remote host by: instantiating a first thread that is configured to poll a TCP/IP socket and store any partial data associated with the read command in a buffer until the entire read command is stored into the buffer, and instantiating a second thread that is configured to execute the read command after the entire read command has been stored into the buffer;
a data system coupled to the control system configured to:
perform input/output operations to the SSD storage based upon at least one of physical addresses of data blocks and hash values of the data blocks; and
a data server associated with the routing system configured to:
receive the read and write commands from a data client running on the remote host,
wherein the storage array contributes a portion of the SSD storage to storage pools of a distributed elastic storage system,
wherein at least one logical volume of the storage pools is maintained as private such that the logical volume is available only to a corresponding remote host via a corresponding routing system.
2. The system according to claim 1 , wherein the data server is embedded in the routing system.
3. The system according to claim 1 , Wherein the storage array is configured to perform data deduplication.
4. The system according to claim 1 , further including establishing mirroring of storage volumes formed from the SSD storage of the storage array with storage volumes of a further storage array having SSD storage, terminating the mirroring, and decommitting space for the mirrored storage volumes on the storage array.
5. The system according to claim 1 , wherein the controller further includes a management system to communicate with a metadata manager on the remote host.
6. The system according to claim 1 , wherein the distributed elastic storage system includes storage data clients and storage data servers.
7. A method, comprising:
coupling a control system to a data system to control a mapping table of an address to a corresponding hash value;
coupling a routing system to the control system to identify and process a new read command from a remote host by: instantiating a first thread that is configured to poll a TCP/IP socket and store any partial data associated with the read command in a buffer until the entire read command is stored into the buffer, and instantiating a second thread that is configured to execute the read command after the entire read command has been stored into the buffer;
coupling a controller to solid state drive (SSD) storage of a storage array, wherein the controller includes a data system to perform input/output operations to the SSD storage based upon at least one of physical addresses of data blocks and hash values of the data blocks; and
associating a data server with the routing system to receive the read and write commands from a data client running on the remote host,
wherein the storage array contributes a portion of the SSD storage to storage pools of a distributed elastic storage system,
wherein at least one logical volume of the storage pools is maintained as private such that the logical volume is available only to a corresponding remote host via a corresponding routing system.
8. The method according to claim 7 , further including embedded the data server in the routing system.
9. The method according to claim 7 , further including configuring the storage array to perform data deduplication.
10. The method according to claim 7 , further including establishing mirroring of storage volumes formed from the SSD storage of the storage array with storage volumes of a further storage array having SSD storage, terminating the mirroring, and decommitting space for the mirrored storage volumes on the storage array.
11. The method according to claim 7 , further including using a management system to communicate with a metadata manager on the remote host.
12. The method according to claim 7 , wherein the distributed elastic storage system includes storage data clients and storage data servers.
13. An article, comprising:
a non-transitory computer readable medium baying stored instructions that enable a machine to:
control a controller coupled to solid state drive (SSD) storage of a storage array;
communicate with a control system to control a mapping table of an address to a corresponding hash value;
communicate with a routing system coupled to the control system to identify a read command from a remote host by: instantiating a first thread that is configured to poll a TCP/IP socket and store any partial data associated with the read command in a buffer until the entire read command is stored into the buffer, and instantiating a second thread that is configured to execute the read command after the entire read command has been stored into the buffer;
control a controller coupled to solid state drive (SSD) storage of a storage array, wherein the controller includes a data system to perform input/output operations to the SSD storage based upon at least one of physical addresses of data blocks and hash values of the data blocks; and
associate a data server with the routing system to receive the read and write commands from a data client running on the remote host,
wherein the storage array contributes a portion of the SSD storage to storage pools of a distributed elastic storage system,
wherein at least one logical volume of the storage pools is maintained as private such that the logical volume is available only to a corresponding data client via a corresponding routing system.
14. The article according to claim 13 , further including instructions to embed the data server in the routing system.
15. The article according to claim 13 , further including instructions to configure the storage array to perform data deduplication.
16. The article according to claim 13 , further including instructions to establish mirroring of storage volumes formed from the SSD storage of the storage array with storage volumes of a further storage array having SSD storage, terminating the mirroring, and decommitting space for the mirrored storage volumes on the storage array.
17. The article according to claim 13 , further including instructions for a management system to communicate with a metadata manager on the remote host.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.