IP Library Granted Patent US 10,282,101
Granted Patent B2
US 10,282,101 · App. 14/930,614 · Granted May 7, 2019

Primary data storage system with quality of service

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,282,101
App. No.
14/930,614
Granted
May 7, 2019
Kind
B2
Abstract

The invention is directed to a primary data storage system for use in a computer network in which a network allows user computers to transfer data to/from the primary data storage system. In one embodiment, the primary data storage system allows an administrator of the computer network to define two or more volumes on the primary data storage system and define quality of service goals for each volume. The primary data storage system operates so as allocate resources within the primary data storage system to the volumes based upon criticality and performance goals specified for each of the volumes.

Claims (50)

1. A data storage system having a quality of service capability, the system comprising:

an input/output port configured to receive a block command packet that embodies one of a read block command and a write block command and transmitting a block result packet in reply to a block command packet;

a data store system having at least first and second data stores each configured to receive and store data in response to a write block command and retrieve and provide data in response to a read block-command;

wherein the first data store has first data storage characteristics;

wherein the second data store has second data storage characteristics;

wherein the data store system has a data store system quality of service goal;

wherein the data store system is adaptable to accommodating at least a first volume with a first volume quality of service goal and a second volume with a second volume quality of service goal;

a statistics database configured to receive, store, and provide data for use in making decisions related to the pursuit of the first volume quality of service goal, the second volume of service goal, and the data store system quality of service goal; and

a sorting processor configured to sort an input string comprised of multiple read/write block commands, wherein the sorting processor is configured to order the multiple read/write block commands in an output string based on: (a) the first and second data storage characteristics of the first and second data stores, (b) the data store system quality of service goal, (c) the first volume quality of service goal, (d) the second volume quality of service goal and (e) statistical data provided by the statistics database, wherein the sorting processor is also configured, in connection with the sorting of a read/write block command, to determine which one of the first and second data stores should receive the read/write block command such that processing of the command via the selected one of the first and second data stores is unlikely to violate a time constraint.

2. A data storage system, as claimed in claim 1 , wherein the sorting processor, in sorting a read/write block command, is capable of acquiring a combination of a criticality, throughput, queue depth, latency, and input-output operations per second (IOPS) statistical data.

3. A data storage system, as claimed in claim 1 , wherein the sorting processor, in sorting a read/write block command, is capable of acquiring a combination of a criticality, throughput, queue depth, latency, and input-output operations per second (IOPS) statistical data associated with the first volume.

4. A data storage system, as claimed in claim 1 , wherein the sorting processor, in sorting a read/write block command, is capable of acquiring:

a combination of a criticality, throughput, queue depth, latency, and input-output operations per second (IOPS) statistical data associated with whichever one of the first and second volumes the read/write block command is associated; and

a combination of a criticality, throughput, queue depth, latency, and input-output operations per second (IOPS) statistical data associated with the other of the first and second volumes in deciding the sorting of the read/write block command.

5. A data storage system, as claimed in claim 1 , wherein the sorting processor, in sorting read/write block commands into the output string, is capable of accessing a combination of a criticality, throughput, queue depth, latency, and input-output operations per second (IOPS) statistical data relating to the first and second data stores.

6. A data storage system, as claimed in claim 1 , wherein the sorting processor is capable of determining a priority of a read/write block command relative to other read/write block commands using a weighted sum of weighted factors, the factors comprising:

(a) the criticality of the volume with which the read/write command is associated;

(b) the relationship of the read/write block command to the quality of service goal for the volume with which the read/write command is associated;

(c) the relationship of the read/write block command to the quality of service goal for any other volume having the same criticality as the volume with which the read/write command is associated;

(d) the relationship of the read/write block command to the first and second data stores; and

(e) the relationship of the read/write block command to the quality of service goal for any other volume having a different criticality than the volume with which the read/write command is associated.

7. A data storage system, as claimed in claim 6 , wherein at least one factor has a value that is a current statistic value.

8. A data storage system, as claimed in claim 6 , wherein at least one factor has a value that is a historic statistic value.

9. A data storage system, as claimed in claim 6 , wherein each factor is weighted by a coefficient whose value relates to: (a) the criticality and (b) reducing the difference between quality of service goals for the first and second volumes and the actual service obtained.

10. A data storage system, as claimed in claim 6 , wherein each factor is weighted by a coefficient that changes over time.

11. A data storage system, as claimed in claim 1 , wherein the statistics database is capable of providing the sorting processor with current statistical data that relates to a first time frame and historical statistical data that relates to a second time frame that is greater than the first time frame.

12. A data storage system, as claimed in claim 11 , wherein the current statistical data and the historical statistical data relate to the first volume.

13. A data storage system, as claimed in claim 11 , wherein the current statistical data and the historical statistical data relate to a first criticality associated with the first volume.

14. A data storage system having a quality of service capability, the system comprising:

an input/output port configured to receive a block command packet that embodies one of a read block command and a write block command and transmitting a block result packet in reply to a block command packet;

a data store system having at least first and second data stores each configured to receive and store data in response to a write block command and retrieve and provide data in response to a read block-command;

wherein the first data store has first data storage characteristics;

wherein the second data store has second data storage characteristics;

wherein the data store system has a data store system quality of service goal;

the data store system is adaptable to accommodating at least a first volume with a volume quality of service goal; and

a sorting processor configured to sort an input string comprised of multiple read/write block commands, wherein the sorting processor is configured to order the multiple read/write block commands in an output string based on the: (a) first and second data storage characteristics of the first and second data stores (b) the data store system quality of service goal and (c) the volume quality of service goal, wherein the sorting processor is also configured, in connection with the sorting of a read/write block command, to determine which one of the first and second data stores should receive the read/write block command such that processing of the command via the selected one of the first and second data stores is unlikely to violate a time constraint.

15. A data storage system, as claimed in claim 14 , wherein the sorting processor, in sorting a read/write block command, is capable of acquiring a combination of a criticality, throughput, queue depth, latency, and input-output operations per second (IOPS) characteristics.

16. A data storage system, as claimed in claim 14 , wherein the sorting processor, in sorting a read/write block command, is capable of acquiring a combination of a criticality, throughput, queue depth, latency, and input-output operations per second (IOPS) related to the volume quality of service goal associated with the first volume.

17. A data storage system, as claimed in claim 14 , wherein the sorting processor, in sorting read/write block commands into the output string, is capable of accessing a combination of a criticality, throughput, queue depth, latency, and input-output operations per second (IOPS) characteristics relating to the first and second data stores.

18. A data storage system, as claimed in claim 14 , wherein the sorting processor capable of determining a priority of a read/write block command relative to other read/write block commands using a weighted sum of weighted factors, the factors comprising:

(a) the criticality of the volume with which the read/write command is associated;

(b) the relationship of the read/write block command to the quality of service goal for the volume with which the read/write command is associated;

(c) the relationship of the read/write block command to the quality of service goal for any other volumes having the same criticality as the volume with which the read/write command is associated;

(d) the relationship of the read/write block command to the first and second data stores; and

(e) the relationship of the read/write block command to the quality of service goal for any other volumes having a different criticality than the volume with which the read/write command is associated.

19. A data storage system, as claimed in claim 18 , wherein each factor is weighted by a coefficient that changes over time.

20. A data storage system, as claimed in claim 14 , wherein the sorting processor, in sorting a read/write block command, is capable of acquiring a combination of a criticality, throughput, queue depth, latency, and input-output operations per second (IOPS) related to the data store system quality of service goal.

21. A data storage system, as claimed in claim 1 , wherein the data store system quality of service goal includes an input-output operations per second (IOPS) goal.

22. A data storage system, as claimed in claim 14 , wherein the data store system quality of service goal includes an input-output operations per second (IOPS) goal.

23. A data storage system, as claimed in claim 14 , further comprising a statistics database configured to receive, store, and provide data for use in making decisions related to the pursuit of the volume quality of service goal and the data store system quality of service goal.

Assignments (6)
INTELLECTUAL PROPERTY RELEASE Recorded Jan 4, 2024
From: RUNWAY GROWTH FINANCE CORP.
To: PIVOT3, INC.; NEXGEN STORAGE, INC.
Reel/Frame 066193/0189 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2019
From: GALLANT, DAVID A.; LONG, KELLY E.; ASHMORE, PAUL A.; SOBOLEWSKI, SEBASTIAN PIOTR
To: NEXGEN STORAGE, INC.
Reel/Frame 050318/0911 →
RELEASE OF SECURITY INTEREST Recorded May 15, 2019
From: PACIFIC WESTERN BANK
To: NEXGEN STORAGE, INC.
Reel/Frame 049186/0418 →
SECURITY INTEREST Recorded May 13, 2019
From: PIVOT3, INC.; NEXGEN STORAGE, INC.
To: RUNWAY GROWTH CREDIT FUND INC.
Reel/Frame 049164/0117 →
SECURITY INTEREST Recorded Jan 23, 2019
From: NEXGEN STORAGE, INC.
To: PACIFIC WESTERN BANK
Reel/Frame 048102/0622 →
SECURITY INTEREST Recorded May 15, 2017
From: NEXGEN STORAGE, INC.
To: PACIFIC WESTERN BANK
Reel/Frame 042376/0306 →