IP Library Granted Patent US 10,747,672
Granted Patent B2
US 10,747,672 · App. 15/955,028 · Granted Aug 18, 2020

Managing a datalog space of a data cache

Inventors: Leon Zhang (Beijing, CN); Lester Zhang (Beijing, CN); Chen Gong (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F12/0871G06F13/126G06F13/1642G06F2212/222
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,747,672
App. No.
15/955,028
Granted
Aug 18, 2020
Kind
B2
Abstract

Embodiments of the present disclosure relate to a method and device and computer readable medium for storage management. The method comprises determining a queuing condition of I/O requests of a cache of a first file system in a storage, the cache including at least one flash block. The method further includes determining a load condition of the cache based on the queuing condition of the I/O requests. Moreover, the method further includes in response to determining that the cache is in a busy status, allocating to the cache at least one additional flash block from a second file system in the storage, the second file system being different from the first file system.

Claims (55)

1. A method of storage management, comprising:

determining a queuing condition of I/O requests of a cache of a first file system in a storage, the cache including at least one flash block;

determining a load condition of the cache based on the queuing condition of the I/O requests;

in response to determining that the cache is in a busy status, allocating to the cache at least one additional flash block from a second file system in the storage, the second file system being different from the first file system;

in response to determining, based on the queuing condition of the I/O requests, that the cache is in an idle status, determining whether the cache includes unused flash blocks; and

in response to the cache including the unused flash blocks, removing at least one of the unused flash blocks from the cache.

2. The method according to claim 1 , wherein determining the load condition of the cache comprises:

in response to the number of the I/O requests queued for the cache reaching a first threshold number, determining that the cache is in the busy status.

3. The method according to claim 1 , wherein determining the load condition of the cache comprises:

in response to the number of I/O requests queued for the cache reaching a second threshold number for a first period of time that exceeds a predetermined length, determining that the cache is in the busy status.

4. The method according to claim 1 , wherein the at least one flash block includes N flash blocks, and allocating the at least one additional flash block to the cache comprises:

allocating M additional flash blocks to the cache, M and N being natural numbers and M being a multiple of N.

5. The method according to claim 1 , wherein determining the load condition of the cache comprises:

in response to absence of I/O requests queued for the cache for a second period of time, determining that the cache is in the idle status.

6. The method according to claim 1 , wherein determining the load condition of the cache comprises:

in response to the number of the I/O requests completed for the cache for a third period of time failing to reach a third threshold number, determining that the cache is in the idle status.

7. The method according to claim 1 , wherein the at least one flash block includes a plurality of flash blocks, the method further comprising:

in response to determining that the number of unused flash blocks in the plurality of flash blocks exceeds a predetermined number, removing the predetermined number of unused flash blocks from the cache.

8. The method according to claim 1 , wherein removing at least one of the unused flash blocks from the cache includes:

re-allocating an unused flash block from the cache of the first file system to a different cache, the different cache belonging to a file system that is different from the first file system.

9. The method according to claim 8 wherein the file system that is different from the first file system is a particular file system currently having the busy status; and

wherein re-allocating the unused flash block includes:

removing the unused flash block from a back of the cache and allocating the unused flash block to the particular file system currently having the busy status.

10. A device for storage management, comprising:

at least one processing circuit; and

at least one memory coupled to the at least one processing circuit and storing instructions executable by the at least one processing circuit, the instructions, when executed by the at least one processing circuit, causing the device to perform acts including:

determining a queuing condition of I/O requests of a cache of a first file system in a storage, the cache including at least one flash block;

determining a load condition of the cache based on the queuing condition of the I/O requests;

in response to determining that the cache is in a busy status, allocating to the cache at least one additional flash block from a second file system in the storage, the second file system being different from the first file system;

in response to determining, based on the queuing condition of the I/O requests, that the cache is in an idle status, determining whether the cache includes unused flash blocks; and

in response to the cache including the unused flash blocks, removing at least one of the unused flash block from the cache.

11. The device according to claim 10 , wherein determining the load condition of the cache comprises:

in response to the number of the I/O requests queued for the cache reaching a first threshold number, determining that the cache is in the busy status.

12. The device according to claim 10 , wherein determining the load condition of the cache comprises:

in response to the number of I/O requests queued for the cache reaching a second threshold number for a first period of time that exceeds a predetermined length, determining that the cache is in the busy status.

13. The device according to claim 10 , wherein the at least one flash block includes N flash blocks, and allocating the at least one additional flash block to the cache comprises:

allocating M additional flash blocks to the cache, M and N being natural numbers and M being a multiple of N.

14. The device according to claim 10 , wherein determining the load condition of the cache comprises:

in response to absence of I/O requests queued for the cache for a second period of time, determining that the cache is in the idle status.

15. The device according to claim 10 , wherein determining the load condition of the cache comprises:

in response to the number of the I/O requests completed for the cache for a third period of time failing to reach a third threshold number, determining that the cache is in the idle status.

16. The device according to claim 10 , wherein the at least one flash block includes a plurality of flash blocks, the acts further including:

in response to determining that the number of unused flash blocks of the plurality of flash blocks exceeds a predetermined number, removing the predetermined number of unused flash blocks from the cache.

17. A computer readable storage medium having computer readable program instructions stored thereon, the computer readable program instructions, when executed by a processing circuit unit, causing the processing circuit to perform the steps of:

determining a queuing condition of I/O requests of a cache of a first file system in a storage, the cache including at least one flash block;

determining a load condition of the cache based on the queuing condition of the I/O requests;

in response to determining that the cache is in a busy status, allocating to the cache at least one additional flash block from a second file system in the storage, the second file system being different from the first file system;

in response to determining, based on the queuing condition of the I/O requests, that the cache is in an idle status, determining whether the cache includes unused flash blocks; and

in response to the cache including the unused flash blocks, removing at least one of the unused flash blocks from the cache.

18. The computer readable storage medium of claim 17 , wherein determining the load condition of the cache comprises:

in response to the number of the I/O requests queued for the cache reaching a first threshold number, determining that the cache is in the busy status.

19. The computer readable storage medium according to claim 17 , wherein determining the load condition of the cache comprises:

in response to the number of I/O requests queued for the cache reaching a second threshold number for a first period of time that exceeds a predetermined length, determining that the cache is in the busy status.

20. The computer readable storage medium according to claim 17 , wherein the at least one flash block includes N flash blocks, and allocating the at least one additional flash block to the cache comprises:

allocating M additional flash blocks to the cache, M and N being natural numbers and M being a multiple of N.

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 (046366/0014) 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 060450/0306 →
RELEASE OF SECURITY INTEREST AT REEL 046286 FRAME 0653 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/0093 →
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 (CREDIT) Recorded Jun 1, 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 046286/0653 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jun 1, 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 046366/0014 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2018
From: ZHANG, LEON; ZHANG, LESTER; GONG, CHEN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 045586/0471 →
Priority Claims (1)
CN 2017 1 0250596 · Apr 17, 2017 · national
Continuity (1)
Related Publication 20180307610A1 · Oct 25, 2018