IP Library Granted Patent US 10,216,651
Granted Patent B2
US 10,216,651 · App. 13/671,530 · Granted Feb 26, 2019

Primary data storage system with data tiering

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,216,651
App. No.
13/671,530
Granted
Feb 26, 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 implements a tiering strategy to move data between stores with different characteristics so as to match the characteristics of the data to the characteristics of one of the stores.

Claims (56)

1. A primary data storage system for use in a computer network and having tiering functionality, the system comprising:

an input/output port for receiving 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 a first tier and a second tier;

wherein the first tier has a first set of characteristics;

wherein the second tier has a second set of characteristics;

a statistics database configured to receive, store, and provide data for use in making a decision related to tiering of a data block;

a tiering processor for performing tiering functionality to cause a data block associated with a block command packet to be stored in whichever of the first tier and second tier has characteristics that are most compatible with the access pattern of the data block if, based on data obtained from the statistics database, there are sufficient resources for performing the tiering functionality and a calculated weight associated with a future performance of the tiering functionality at a first point in time is dominant relative to a calculated weight associated with a future performance of each of one or more other operations associated with one or more other block command packets that are simultaneously being considered for performance at the first point in time, and if there are insufficient resources for performing the tiering functionality or the calculated weight associated with the future performance of the tiering functionality is not dominant relative to a calculated weight associated with the future performance of each of the one or more other operations associated with one or more other block command packets simultaneously being considered for performance at the first point in time, forgoing any tiering functionality with respect to the data block until at a second point in time that is later than the first point in time, data obtained from the statistics database indicates that there are sufficient resources for performing the tiering functionality and a calculated weight associated with a future performance of the tiering functionality at the second point in time is dominant relative to a calculated weight associated with a future performance of each of whatever one or more other operations associated with one or more other block command packets are simultaneously being considered for future performance at the second point in time;

wherein the tiering processor is adapted for:

copying a first plurality of data blocks from the first tier to the second tier so that the second tier has a second plurality of data blocks that is identical to the first plurality of data blocks; and

after a copying, identifying a retained portion of the space occupied by the second plurality of data blocks on the second tier as being most compatible with the second tier than with the first tier, identifying an available portion of the space occupied by the first plurality of data blocks on the first tier that corresponds to the retained portion of space on the second tier as available, and thereby retaining on the first tier a third data block or third plurality of data blocks that is a subset of the second plurality of data blocks on the second tier.

2. A primary data storage system, as claimed in claim 1 , wherein:

the first tier is most compatible with the third data block or third plurality of data blocks; and

the second tier is most compatible with the portion of the second plurality of data blocks that are not identical to the third data block or third plurality of data blocks.

3. A primary data storage system, as claimed in claim 1 , further comprising:

a reuse processor for recognizing that the third data block or third plurality of data blocks on the first tier for which there is/are copies on the second tier and overwriting the third data block or all or a portion of the third plurality of data blocks with other data.

4. A primary data storage system, as claimed in claim 1 , wherein:

the tiering processor is also adapted for copying less than all of the first plurality of data blocks from the first tier to the second tier so that the second tier has a fourth data block or fourth plurality of data blocks that is/are identical to a subset of the first plurality of data blocks.

5. A primary data storage system, as claimed in claim 4 , wherein:

the first tier is most compatible with the portion of the first plurality of data blocks other than those data blocks that are identical to the fourth data block or the fourth plurality of data blocks; and

the second tier is most compatible with the fourth data block or the fourth plurality of data blocks.

6. A primary data storage system, as claimed in claim 4 , further comprising:

a reuse processor for recognizing that there is the fourth data block or the fourth plurality of data blocks on the second tier for which there is/are copies on the first tier and overwriting the fourth data block or all or a portion of the fourth plurality of data blocks with other data.

7. A primary data storage system, as claimed in claim 1 , wherein:

the tiering processor is adapted for processing a write block command so as to identify one of the first and second tiers as having the characteristics that are less likely to require, if the data associated with the write block command were placed on the one of the first and second tiers, that the data be moved to the other one of the first and second tiers.

8. A primary data storage system, as claimed in claim 7 , wherein:

the tiering processor is adapted for acquiring attribute data associated with the write block command and using the attribute data in identifying the one of the first and second tiers.

9. A primary data storage system, as claimed in claim 8 , wherein:

the attribute data includes the size of the data and the latency of the write block command within the system.

10. A primary data storage system, as claimed in claim 7 , wherein:

the tiering processor is adapted for acquiring statistical data related to the volume with which the write block command is associated and using the statistical data in identifying the one of the first and second tiers.

11. A primary data storage system, as claimed in claim 10 , wherein:

the statistical data related to the volume include a combination of at least two of data for:

throughput, queue depth, and use count.

12. A primary data storage system, as claimed in claim 7 , wherein:

the tiering processor is adapted for acquiring attribute data associated with the write block command, statistical data related to the volume with which the write block command is associated, and using the attribute data and the statistical data in identifying the one of the first and second tiers.

13. A primary data storage system, as claimed in claim 1 , wherein:

the first set of characteristics of the first tier includes an first atomic block size;

the second set of characteristics of the second tier includes an second atomic block size that is greater than the first atomic block size.

14. A primary data storage system, as claimed in claim 13 , wherein:

the first set of characteristics of the first tier includes an first data capacity;

the second set of characteristics of the second tier includes an second data capacity that is greater than or equal to the first data capacity.

15. A primary data storage system, as claimed in claim 13 , wherein:

the first set of characteristics of the first tier includes an first latency;

the second set of characteristics of the second tier includes an second latency that is greater than or equal to the first latency.

16. A primary data storage system, as claimed in claim 13 , wherein:

the first set of characteristics of the first tier includes an first seek penalty;

the second set of characteristics of the second tier includes an second seek penalty that is greater than or equal to the first seek penalty.

17. A primary data storage system, as claimed in claim 13 , wherein:

the first set of characteristics of the first tier includes an first throughput;

the second set of characteristics of the second tier includes an second throughput that is greater than or equal to the first throughput.

18. A primary data storage system, as claimed in claim 13 , wherein:

the first set of characteristics of the first tier includes an first path redundancy;

the second set of characteristics of the second tier includes an second path redundancy that is greater than or equal to the first path redundancy.

19. A primary data storage system, as claimed in claim 13 , wherein:

the first set of characteristics of the first tier includes an first data redundancy;

the second set of characteristics of the second tier includes an second data redundancy that is greater than or equal to the first data redundancy.

Assignments (5)
INTELLECTUAL PROPERTY RELEASE Recorded Jan 4, 2024
From: RUNWAY GROWTH FINANCE CORP.
To: PIVOT3, INC.; NEXGEN STORAGE, INC.
Reel/Frame 066193/0189 →
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 Mar 22, 2016
From: NEXGEN STORAGE, INC.
To: PACIFIC WESTERN BANK
Reel/Frame 038069/0834 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 6, 2014
From: ASHMORE, PAUL A.; LONG, KELLY E.; SOBOLEWSKI, SEBASTIAN PIOTR
To: NEXGEN STORAGE, INC.
Reel/Frame 034121/0118 →