IP Library Granted Patent US 11,068,207
Granted Patent B2
US 11,068,207 · App. 16/600,310 · Granted Jul 20, 2021

Method, device, and computer program product for managing storage system

Inventors: Willa Lang Yuan (Shanghai, CN); Chark Wenshuai Yu (Shanghai, CN)
Assignee: EMC IP HOLDING COMPANY LLC
G06F3/0659G06F3/0604G06F3/065G06F3/068G06F3/0644G06F3/0653
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 11,068,207
App. No.
16/600,310
Granted
Jul 20, 2021
Kind
B2
Abstract

Storage systems are disclosed. For instance, a storage system comprises a first storage device of a first type and a second storage device of a second type, and the first storage device has a higher access velocity than the second storage device. A threshold indicating a volume limit of data stored in the first storage device can be determined. Data, which is specified by a write request for writing data to the storage system, is written to the first storage device in response to determining the data amount in the first storage device is lower than the threshold. A read request from a client device is processed based on data stored in the first storage device. Consequently, the first storage device with a higher access velocity in the storage system may be utilized as much as possible, so that storage device latency in the storage system is managed more effectively.

Claims (56)

1. A method for managing storage devices in a storage system, the storage system comprising a first storage device of a first type and a second storage device of a second type, the first storage device having a higher access velocity than the second storage device, the method comprising:

determining, by a system comprising a processor, a threshold indicating a volume limit of data stored in the first storage device, wherein the determining the threshold comprises:

obtaining a write velocity associated with writing data to the first storage device, and

determining the threshold based on the write velocity, the threshold being inversely proportional to the write velocity;

in response to determining that a data amount of first data in the first storage device is lower than the threshold, writing, to the first storage device, second data, which is specified by a write request to write the second data to the storage system, the writing resulting in updated first data stored in the first storage device; and

processing a read request from a client device based on the updated first data stored in the first storage device.

2. The method of claim 1 , further comprising:

obtaining a storage volume of the first storage device, wherein the determining the threshold is further based on the storage volume, and wherein the threshold is proportional to the storage volume.

3. The method of claim 1 , further comprising:

determining a timeout threshold of the first data in the first storage device based on the write velocity, the timeout threshold indicating a time duration for which the first data is retained in the first storage device, and the timeout threshold being inversely proportional to the write velocity; and

moving at least a portion of the first data from the first storage device to the second storage device in response to the time duration of the first data in the first storage device being higher than the timeout threshold.

4. The method of claim 1 , further comprising:

moving at least a portion of the first data from the first storage device to the second storage device in response to the data amount in the first storage device being determined to be higher than the threshold.

5. The method of claim 1 , wherein the processing the read request from the client device based on the updated first data stored in the first storage device comprises at least one of:

returning target data that is specified by the read request to the client device in response to determining the target data is stored in the first storage device; or

searching for the target data in the second storage device in response to determining the target data is not stored in the first storage device.

6. The method of claim 5 , wherein the storage system is a storage node in a distributed storage system, and wherein the method further comprises:

searching for the target data in a further storage node, other than the storage node, in the distributed storage system in response to the target data not being stored in the second storage device.

7. The method of claim 1 , further comprising:

storing data blocks in the first storage device to the second storage device based on a least recently used principle.

8. The method of claim 1 , further comprising:

synchronizing the first data or the updated first data in the first storage device with the second storage device.

9. The method of claim 1 , wherein both the first storage device and the second storage device are persistent storage devices.

10. A device for managing storage devices in a storage system, the storage system comprising a first storage device of a first type and a second storage device of a second type, the first storage device having a higher access velocity than the second storage device, the device comprising:

at least one processor; and

a memory coupled to the at least one processor and having instructions stored thereon, the instructions, when executed by the at least one processor, cause the apparatus to perform acts comprising:

determining a threshold indicating a volume limit of data stored in the first storage device, wherein the determining the threshold comprises:

obtaining a write velocity corresponding to writing first data to the first storage device, the first data being specified by a write request to write the first data to the storage system, and

determining the threshold based on the write velocity, the threshold being inversely proportional to the write velocity;

in response to determining that a data amount of second data in the first storage device is lower than the threshold, performing the writing, to the first storage device, of the first data resulting in updated second data stored by the first storage device; and

processing a read request from a client device based on the updated second data stored in the first storage device.

11. The device of claim 10 , wherein the acts further comprise:

obtaining a storage volume of the first storage device, wherein the determining the threshold is further based on the storage volume, and wherein the threshold is proportional to the storage volume.

12. The device of claim 10 , wherein the acts further comprise:

determining a timeout threshold of the second data in the first storage device based on the write velocity, the timeout threshold indicating a time duration for which the second data is retained in the first storage device, the timeout threshold being inversely proportional to the write velocity; and

moving at least some of the second data from the first storage device to the second storage device in response to the time duration of the second data in the first storage device being higher than the timeout threshold.

13. The device of claim 10 , wherein the acts further comprise:

moving at least some of the second data from the first storage device to the second storage device in response to the data amount in the first storage device being higher than the threshold.

14. The device of claim 10 , wherein the processing the read request from the client device based on the second data stored in the first storage device comprises at least one of:

returning target data which is specified by the read request to the client device in response to determining the target data is stored in the first storage device; and

searching for the target data in the second storage device in response to determining the target data is not stored in the first storage device.

15. The device of claim 14 , wherein the storage system is a storage node in a distributed storage system, and wherein the acts further comprise:

searching for the target data in a different storage node in the distributed storage system in response to the target data not being stored in the second storage device.

16. The device of claim 10 , wherein the acts further comprise:

storing data blocks in the first storage device to the second storage device based on a least recently used principle applicable to data block storage.

17. The device of claim 10 , wherein the acts further comprise:

synchronizing the second data in the first storage device with the second storage device.

18. A computer program product, tangibly stored on a non-transitory computer readable medium and comprising machine executable instructions which, when executed by a processor of a system that manages a storage system comprising a first storage device of a first type and a second storage device of a second type, are used to implement operations, the operations comprising:

determining a threshold indicating a volume limit of data stored in the first storage device, wherein the first storage device has a higher access velocity than the second storage device, and wherein the determining the threshold comprises:

determining the threshold based on a write velocity applicable to writing data to the first storage device, the threshold being inversely proportional to the write velocity;

in response to determining that a data amount of first data in the first storage device is lower than the threshold, writing second data to the first storage device, the second data being specified by a write request for writing the second data to the storage system, the writing resulting in updated first data stored in the first storage device; and

processing a read request from a client device based on at least some of the updated first data stored in the first storage device.

19. The computer program product of claim 18 , wherein the operations further comprise:

storing data blocks in the first storage device to the second storage device based on a least recently used principle applicable to data block storage.

20. The computer program product of claim 18 , wherein the operations further comprise:

synchronizing the updated first data in the first storage device with the second storage device.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (051302/0528) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.); SECUREWORKS CORP.
Reel/Frame 060438/0593 →
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 (053311/0169) Recorded Jun 23, 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 060438/0742 →
RELEASE OF SECURITY INTEREST AT REEL 051449 FRAME 0728 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.; EMC CORPORATION
Reel/Frame 058002/0010 →
SECURITY INTEREST Recorded Jun 5, 2020
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 053311/0169 →
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 Dec 31, 2019
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.; EMC CORPORATION
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 051449/0728 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Dec 16, 2019
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 051302/0528 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2019
From: YUAN, WILLA LANG; YU, CHARK WENSHUAI
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 050693/0575 →
Priority Claims (1)
CN 201910497484.8 · Jun 10, 2019 · national
Continuity (1)
Related Publication 20200387328A1 · Dec 10, 2020