IP Library Granted Patent US 10,191,667
Granted Patent B2
US 10,191,667 · App. 15/017,071 · Granted Jan 29, 2019

Systems and methods for optimizing data storage among a plurality of storage drives

Inventors: Jason Breakstone (Broomfield, CO); Alok Gupta (Oakland, CA); Himanshu Desai (San Jose, CA); Angelo Campos (Haledon, NJ)
Assignee: Liqid Inc.
G06F3/0613G06F1/08G06F1/30G06F3/0604G06F3/0625G06F3/0653G06F3/0659G06F3/0665G06F3/0685G06F3/0688G06F13/4022G06F13/4282G06F2213/0026Y02D10/14Y02D10/151
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,191,667
App. No.
15/017,071
Granted
Jan 29, 2019
Kind
B2
Abstract

A data storage device is presented that includes an interface system configured to communicate over an aggregated host link comprising Peripheral Component Interconnect Express (PCIe) interfaces to receive one or more write operations for storage of data by the data storage device. The data storage device includes plurality solid state drives (SSDs) each comprising drive PCIe interfaces coupled to the interface system. The interface system is configured to process the one or more write operations against storage allocation information to parallelize the data among the SSDs and transfer portions of the parallelized data to associated SSDs over corresponding drive PCIe interfaces.

Claims (57)

1. A data storage device, comprising:

an interface system configured to communicate over an aggregated host interface to receive one or more write operations for storage of data by the data storage device, wherein the aggregated host interface comprises a selected quantity of Peripheral Component Interconnect Express (PCIe) interface lanes combined to form the aggregated host interface;

a plurality solid state drives (SSDs) each comprising an associated drive PCIe interface coupled to the interface system; and

the interface system configured to process the one or more write operations against storage allocation information to parallelize the data into individual portions for storage among more than one of the SSDs and transfer corresponding portions of the parallelized data to associated SSDs over corresponding drive PCIe interfaces.

2. The data storage device of claim 1 , comprising:

the SSDs configured to receive the corresponding portions of the data and responsively store the corresponding portions on associated solid state storage media.

3. The data storage device of claim 1 , comprising:

the interface system configured to determine ones of the SSDs to apportion the data among based at least on processing the data against the storage allocation information to determine which of the SSDs will store the data.

4. The data storage device of claim 1 , comprising:

the interface system configured to vary the selected quantity of PCIe interface lanes combined into the aggregated host interface based at least on utilization levels associated with the data storage device.

5. The data storage device of claim 1 , comprising:

the interface system configured to communicate with the host system over the aggregated host interface to receive one or more read operations for retrieving data previously stored by the data storage device;

the interface system configured to process at least read addresses indicated by the one or more read operations against storage locations indicated by the storage allocation information to determine ones of the SSDs to handle the read operations, and transfer the read operations over the drive PCIe interfaces to associated ones of the SSDs;

the SSDs configured to receive associated ones of the read operations, and in response, retrieve read data from the associated solid state storage media and transfer the read data to the interface system for transfer to the host system over the aggregated host interface.

6. The data storage system of claim 5 , comprising:

based at least on the read data having been parallelized during storage over the more than one of the SSDs, the interface system configured to process the read data received from the more than one of the SSDs against the storage allocation information to de-parallelize the read data into merged read data, and transfer the merged read data to the host system over the aggregated host interface.

7. The data storage device of claim 1 , comprising:

the interface system configured to parallelize the data for storage among the more than one of the SSDs by at least forming the data into at least partially redundant data portions for storage as the portions by an associated SSDs.

8. The data storage device of claim 1 , further comprising:

a configuration system configured to receive a storage configuration over the aggregated host interface, wherein the storage configuration indicates at least a quantity and arrangement of virtual volumes;

the interface system configured to apply the storage configuration to subdivide the SSDs into a plurality of virtual volumes;

the interface system configured to present the plurality of virtual volumes as separate drive volumes to a host system over the aggregated host interface;

wherein storage operations received over the aggregated host interface comprise indicators of at least one of the drive volumes for handling of associated data; and

the interface system configured to parallelize the associated data for storage among a plurality of the SSDs which comprise indicated ones of the virtual volumes.

9. The data storage device of claim 1 , further comprising:

a power control system configured to receive backup power from a backup power source, and detect an interruption in a primary power source and in response provide the backup power to the data storage device; and

the interface system configured to perform a soft power down operation to commit at least pending write instructions and associated write data to at least one of the SSDs in response to the interruption in the primary power source.

10. The data storage device of claim 9 , comprising:

the interface system configured to commit the storage allocation information to non-volatile memory responsive to the soft power down operation.

11. A method of operating a data storage device, the method comprising:

in an interface system, communicating over an aggregated host interface to receive one or more write operations for storage of data by the data storage device on ones of a plurality of solid state drives (SSDs) each comprising an associated drive Peripheral Component Interconnect Express (PCIe) interface coupled to the interface system, wherein the aggregated host interface comprises a selected quantity of PCIe interface lanes combined to form the aggregated host interface; and

in the interface system, processing the one or more write operations against storage allocation information to parallelize the data into individual portions for storage among more than one of the SSDs and transferring corresponding portions of the parallelized data to associated SSDs over corresponding drive PCIe interfaces.

12. The method of claim 11 , further comprising:

in the SSDs, receiving the corresponding portions of the data and responsively store the corresponding portions on associated solid state storage media.

13. The method of claim 11 , further comprising:

in the interface system, determining ones of the SSDs to apportion the data among based at least on processing the data against the storage allocation information to determine which of the SSDs will store the data.

14. The method of claim 11 , further comprising:

in the interface system, varying the selected quantity of PCIe interface lanes combined into the aggregated host interface based at least on utilization levels associated with the data storage device.

15. The method of claim 11 , further comprising:

in the interface system, communicating with the host system over the aggregated host interface to receive one or more read operations for retrieving data previously stored by the data storage device;

in the interface system, processing at least read addresses indicated by the one or more read operations against storage locations indicated by the storage allocation information to determine ones of the SSDs to handle the read operations, and transferring the read operations over the drive PCIe interfaces to associated ones of the SSDs;

in the SSDs, receiving associated ones of the read operations, and in response, retrieving read data from the associated solid state storage media and transferring the read data to the interface system for transfer to the host system over the aggregated host interface.

16. The method of claim 15 , further comprising:

based at least on the read data having been parallelized during storage over the more than one of the SSDs, in the interface system, processing the read data received from the more than one of the SSDs against the storage allocation information to de-parallelize the read data into merged read data, and transferring the merged read data to the host system over the aggregated host interface.

17. The method of claim 11 , further comprising:

in the interface system, parallelizing the data for storage among the more than one of the SSDs by at least forming the data into at least partially redundant data portions for storage as the portions by an associated SSDs.

18. The method of claim 11 , further comprising:

in a configuration system, receiving a storage configuration over the aggregated host interface, wherein the storage configuration indicates at least a quantity and arrangement of virtual volumes;

in the interface system, applying the storage configuration to subdivide the SSDs into a plurality of virtual volumes;

in the interface system, presenting the plurality of virtual volumes as separate drive volumes to a host system over the aggregated host interface;

wherein storage operations received over the aggregated host interface comprise indicators of at least one of the drive volumes for handling of associated data; and

in the interface system, parallelizing the associated data for storage among a plurality of the SSDs which comprise indicated ones of the virtual volumes.

19. The method of claim 11 , further comprising:

in a power control system, receiving backup power from a backup power source, and detecting an interruption in a primary power source and in response providing the backup power to the data storage device; and

in the interface system, performing a soft power down operation to commit at least pending write instructions and associated write data to at least one of the SSDs in response to the interruption in the primary power source.

20. The method of claim 19 , further comprising:

in the interface system, committing the storage allocation information to non-volatile memory responsive to the soft power down operation.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Apr 16, 2021
From: CANADIAN IMPERIAL BANK OF COMMERCE
To: LIQID INC.
Reel/Frame 055953/0860 →
SECURITY INTEREST Recorded Jan 5, 2021
From: LIQID INC.
To: HORIZON TECHNOLOGY FINANCE CORPORATION
Reel/Frame 054900/0539 →
SECURITY INTEREST Recorded Oct 3, 2019
From: LIQID INC.
To: CANADIAN IMPERIAL BANK OF COMMERCE
Reel/Frame 050630/0636 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2016
From: PURESILICON, INC.
To: LIQID INC.
Reel/Frame 037677/0035 →
Continuity (4)
Continuation 14204423 · Mar 11, 2014
Continuation 13270084 · Oct 10, 2011
Provisional Application 61391651 · Oct 10, 2010
Related Publication 20160154591A1 · Jun 2, 2016
Cited By (1)
US 12,717,690