IP Library Granted Patent US 10,379,774
Granted Patent B2
US 10,379,774 · App. 16/127,953 · Granted Aug 13, 2019

Enhanced application performance in multi-tier storage environments

Inventors: Abhishek Jain (Baraut, IN); Kushal S. Patel (Pune, IN); Sarvesh S. Patel (Pune, IN); Subhojit Roy (Pune, IN)
Assignee: International Business Machines Corporation
G06F3/064G06F3/065G06F3/0619G06F3/0647G06F3/0652G06F3/0653G06F3/0685G06F3/0688
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,379,774
App. No.
16/127,953
Granted
Aug 13, 2019
Kind
B2
Abstract

A computer program product, according to one embodiment, includes a computer readable storage medium having program instructions embodied therewith. The computer readable storage medium is not a transitory signal per se. Moreover, the program instructions readable and/or executable by a processor to cause the processor to perform a method which includes: maintaining a heat map monitoring table on a per volume basis for a plurality of volumes which includes a heat count for each data block in the respective volume. A request to delete a first volume is received, and the data blocks in the first volume are depended on by one or more other volumes of the plurality of volumes are identified. The identified data blocks and corresponding heat counts are copied to the respective one or more other volumes, and a list which includes the identified data blocks and corresponding heat counts are sent to a controller.

Claims (42)

1. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, wherein the computer readable storage medium is not a transitory signal per se, the program instructions readable and/or executable by a processor to cause the processor to perform a method comprising:

maintaining, by the processor, a heat map monitoring table on a per volume basis for a plurality of volumes in a multi-tier data storage architecture, wherein the heat map monitoring table includes a heat count for each data block in the respective volume;

receiving, by the processor, a request to delete a first volume of the plurality of volumes;

identifying, by the processor, which data blocks in the first volume are depended on by one or more other volumes of the plurality of volumes;

copying, by the processor, the identified data blocks and the corresponding heat counts to the respective one or more other volumes; and

sending, by the processor, a list which includes the identified data blocks and the corresponding heat counts to a controller.

2. The computer program product of claim 1 , wherein the controller includes an I/O monitoring daemon.

3. The computer program product of claim 1 , wherein maintaining the heat map monitoring table on a per volume basis includes:

incrementing a heat count corresponding to a data block in a given volume in response to the data block being accessed from the given volume.

4. The computer program product of claim 1 , wherein the multi-tier data storage architecture includes a higher performance tier and a relatively lower performance tier.

5. The computer program product of claim 4 , wherein the higher performance tier of the multi-tier data storage architecture includes a solid state drive.

6. The computer program product of claim 4 , wherein the lower performance tier of the multi-tier data storage architecture includes a hard disk drive.

7. A computer-implemented method, comprising:

receiving a list of data blocks included in a volume and identified as being depended on by one or more other volumes,

wherein the list includes a heat count corresponding to each of the identified data blocks in the list,

wherein the heat counts correspond to a heat map monitoring table; and

using heat counts corresponding to the identified data blocks to determine a tier in a multi-tier data storage architecture on which to store each of the identified data blocks.

8. The computer-implemented method of claim 7 , wherein using the heat counts corresponding to the identified data blocks to determine a tier in the multi-tier data storage architecture on which to store each of the identified data blocks is performed using an I/O monitoring daemon.

9. The computer-implemented method of claim 7 , wherein using the heat counts corresponding to the identified data blocks to determine a tier in the multi-tier data storage architecture on which to store each of the identified data blocks includes:

determining whether the heat count of each of the respective identified data blocks is in a range;

determining whether an identified data block is stored on a higher performance tier of the multi-tier data storage architecture in response to determining that the heat count corresponding to the identified data block is not in the range; and

moving the identified data block from the higher performance tier of the multi-tier data storage architecture to a relatively lower performance tier of the multi-tier data storage architecture in response to determining that the identified data block is stored on the higher performance tier.

10. The computer-implemented method of claim 9 , comprising:

leaving the identified data block on a current performance tier of the multi-tier data storage architecture in response to determining that the heat count corresponding to the identified data block is in the range.

11. The computer-implemented method of claim 9 , wherein the higher performance tier of the multi-tier data storage architecture includes a solid state drive.

12. The computer-implemented method of claim 9 , wherein the lower performance tier of the multi-tier data storage architecture includes a hard disk drive.

13. The computer-implemented method of claim 7 , wherein the multi-tier data storage architecture includes a higher performance tier and a relatively lower performance tier, wherein the higher performance tier of the multi-tier data storage architecture includes a solid state drive, wherein the lower performance tier of the multi-tier data storage architecture includes a hard disk drive.

14. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, wherein the computer readable storage medium is not a transitory signal per se, the program instructions readable and/or executable by a processor to cause the processor to perform a method comprising:

receiving, by the processor, a list of data blocks included in a volume and identified as being depended on by one or more other volumes;

wherein the list includes a heat count corresponding to each of the identified data blocks in the list,

wherein the heat counts correspond to a heat map monitoring table; and

using, by the processor, heat counts corresponding to the identified data blocks to determine a tier in a multi-tier data storage architecture on which to store each of the identified data blocks.

15. The computer program product of claim 14 , wherein using the heat counts corresponding to the identified data blocks to determine a tier in the multi-tier data storage architecture on which to store each of the identified data blocks is performed using an I/O monitoring daemon.

16. The computer program product of claim 14 , wherein using the heat counts corresponding to the identified data blocks to determine a tier in the multi-tier data storage architecture on which to store each of the identified data blocks includes:

determining, by the processor, whether the heat count of each of the respective identified data blocks is in a range;

determining, by the processor, whether an identified data block is stored on a higher performance tier of the multi-tier data storage architecture in response to determining that the heat count corresponding to the identified data block is not in the range; and

moving, by the processor, the identified data block from the higher performance tier of the multi-tier data storage architecture to a lower performance tier of the multi-tier data storage architecture in response to determining that the identified data block is stored on the higher performance tier.

17. The computer program product of claim 16 , comprising:

leaving the identified data block on a current performance tier of the multi-tier data storage architecture in response to determining that the heat count corresponding to the identified data block is in the range.

18. The computer program product of claim 16 , wherein the higher performance tier of the multi-tier data storage architecture includes a solid state drive.

19. The computer program product of claim 16 , wherein the lower performance tier of the multi-tier data storage architecture includes a hard disk drive.

20. The computer program product of claim 14 , wherein the multi-tier data storage architecture includes a higher performance tier and a lower performance tier, wherein the higher performance tier of the multi-tier data storage architecture includes a solid state drive, wherein the lower performance tier of the multi-tier data storage architecture includes a hard disk drive.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 20, 2018
From: JAIN, ABHISHEK; PATEL, KUSHAL S.; PATEL, SARVESH S.; ROY, SUBHOJIT
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 046931/0639 →
Continuity (2)
Continuation 15629670 · Jun 21, 2017
Related Publication 20190050148A1 · Feb 14, 2019
Cited By (2)
US 12,235,982 US 12,645,368