IP Library Granted Patent US 10,761,989
Granted Patent B2
US 10,761,989 · App. 16/021,286 · Granted Sep 1, 2020

Method of storage management, storage system and computer program product

Inventors: Jian Gao (Beijing, CN); Lifeng Yang (Beijing, CN); Xinlei Xu (Beijing, CN); Liam Xiongcheng Li (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F12/0866G06F3/061G06F3/0646G06F3/0674G06F12/0888G06F2212/224
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,761,989
App. No.
16/021,286
Granted
Sep 1, 2020
Kind
B2
Abstract

Embodiments of the present disclosure provide a method of storage management, a storage system and a computer program product. The method comprises determining whether a number of I/O requests for a first page in a disk of a storage system exceeds a first threshold. The method further comprises: in response to determining that the number exceeds the first threshold, caching data in the first page to a first cache of the storage system; and storing metadata associated with the first page in a Non-Volatile Dual-In-Line Memory Module (NVDIMM) of the storage system.

Claims (77)

1. A method of storage management, comprising:

determining whether a number of I/O requests for a first page in a disk of a storage system exceeds a first threshold;

in response to determining that the number exceeds the first threshold,

caching data in the first page to a first cache of the storage system;

storing metadata associated with the first page in a Non-Volatile Dual-In-Line Memory Module (NVDIMM) of the storage system; and

in response to receiving a write request for the cached first page,

caching the data in the first page to a second cache of the storage system;

releasing space occupied by the data in the first page on the first cache;

writing data related to the write request into the second cache; and

updating the metadata associated with the first page in the NVDIMM.

2. The method of claim 1 , wherein the first cache comprises a solid-state disk with first endurance and the second cache comprises at least two solid-state disks with second endurance organized into a Redundant Array of Independent Disks (RAID), the second endurance being higher than the first endurance.

3. The method of claim 2 , wherein the first cache is a read-preference cache, and the second cache is a write cache.

4. The method of claim 1 , wherein updating the metadata associated with the first page comprises:

changing status of the first page to be dirty; and

modifying mapping information associated with the first page to indicate that the first page is mapped to the second cache.

5. The method of claim 1 , further comprising:

in response to a number of cached pages on the second cache exceeding a second threshold, flushing the cached pages to the disk; and

changing status of the cached pages to be clean.

6. The method of claim 1 , further comprising:

in response to a number of cached pages on the second cache exceeding a third threshold, limiting a number of write requests to enter the second cache.

7. The method of claim 6 , wherein limiting the number of write requests to enter the second cache comprises one of:

sending to an upper layer driver an indication to limit the number of write requests to enter the second cache; and

delaying responding to a write request entering the second cache.

8. The method of claim 1 , wherein the second cache is formed from storage provided by a set of solid state disks (SSDs); and

wherein the method further comprises:

loading, as the first page, user data from storage provided by a set of hard disk drives (HDDs) into the second cache in response to an I/O request; and

wherein the set of SSDs and the set of HDDs reside in a same disk array.

9. A storage system, comprising:

a Non-Volatile Dual-In-Line Memory Module (NVDIMM);

a disk

a first cache;

a second cache; and

a controller configured to:

determine whether a number of I/O requests for a first page in the disk exceeds a first threshold;

in response to determining that the number exceeds the first threshold,

cache data in the first page to the first cache; and

store metadata associated with the first page in the NVDIMM; and

in response to receiving a write request for the cached first page,

cache the data in the first page to the second cache;

release space occupied by the data in the first page on the first cache;

write data related to the write request into the second cache; and

update the metadata associated with the first page in the NVDIMM.

10. The storage system of claim 9 , wherein the first cache comprises a solid-state disk with first endurance and the second cache comprises at least two solid-state disks with second endurance organized into a Redundant Array of Independent Disks (RAID), the second endurance being higher than the first endurance.

11. The storage system of claim 10 , wherein the first cache is a read-preference cache, and the second cache is a write cache.

12. The storage system of claim 9 , wherein updating the metadata associated with the first page comprises:

changing status of the first page to be dirty; and

modifying mapping information associated with the first page to indicate that the first page is mapped to the second cache.

13. The storage system of claim 9 , wherein the controller is further configured to:

in response to a number of cached pages on the second cache exceeding a second threshold, flush the cached pages to the disk; and

change status of the cached pages to clean page.

14. The storage system of claim 9 , wherein the controller is further configured to:

in response to a number of cached pages on the second cache exceeding a third threshold, limiting a number of write requests to enter the second cache.

15. The storage system of claim 14 , wherein limiting the number of write requests to enter the second cache comprises one of:

sending to an upper layer driver an indication to limit the number of write requests entering the second cache; and

delaying responding to a write request entering the second cache.

16. The storage system of claim 9 , wherein the storage system further comprises a set of hard disk drives (HDDs);

wherein the second cache is formed from storage provided by a set of solid state disks (SSDs);

wherein the set of SSDs and the set of HDDs reside in a same disk array of the storage system; and

wherein the controller is further configured to:

load, as the first page, user data from storage provided by the set of HDDs into the second cache in response to an I/O request.

17. A computer program product for storage management, the computer program product comprising:

a non-transitory computer readable medium encoded with computer-executable code, the code configured to enable the execution of:

determining whether a number of I/O requests for a first page in a disk of a storage system exceeds a first threshold;

in response to determining that the number exceeds the first threshold,

caching data in the first page to a first cache of the storage system; and

storing metadata associated with the first page in a Non-Volatile Dual-In-Line Memory Module (NVDIMM) of the storage system; and

in response to receiving a write request for the cached first page,

caching the data in the first page to a second cache of the storage system;

releasing space occupied by the data in the first page on the first cache;

writing data related to the write request into the second cache; and

updating the metadata associated with the first page in the NVDIMM.

18. The computer program product of claim 17 , wherein the first cache comprises a solid-state disk with first endurance and the second cache comprises at least two solid-state disks with second endurance organized into a Redundant Array of Independent Disks (RAID), the second endurance being higher than the first endurance.

19. The computer program product of claim 18 , wherein the first cache is a read-preference cache, and the second cache is a write cache.

20. The computer program product of claim 17 , wherein the second cache is formed from storage provided by a set of solid state disks (SSDs); and

wherein the code further configured to enable the execution of:

loading, as the first page, user data from storage provided by a set of hard disk drives (HDDs) into the second cache in response to an I/O request; and

wherein the set of SSDs and the set of HDDs reside in a same disk array.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (047648/0422) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060160/0862 →
RELEASE OF SECURITY INTEREST AT REEL 047648 FRAME 0346 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0510 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 047648/0422 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047648/0346 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2018
From: GAO, JIAN; YANG, LIFENG; XU, XINLEI; LI, LIAM XIONGCHENG
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 046330/0354 →