IP Library Granted Patent US 11,093,406
Granted Patent B2
US 11,093,406 · App. 16/846,673 · Granted Aug 17, 2021

Method and device for storage management

Inventors: Geng Han (Beijing, CN); Jian Gao (Beijing, CN); Wayne Weihua Li (Beijing, CN); Jamin Kang (Beijing, CN); Jibing Dong (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F12/1009G06F12/0246G06F2212/1008G06F2212/1016G06F2212/657G06F2212/7203
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,093,406
App. No.
16/846,673
Granted
Aug 17, 2021
Kind
B2
Abstract

In a method and apparatus for storage management, a method includes: creating a plurality of profiles for address mapping, the profiles comprising a part of mapping relation in the total mapping table and creating an index for a part of the plurality of profiles to accelerate the lookup speed. A corresponding device and computer program product are also disclosed.

Claims (51)

1. A method of storage management, comprising:

creating profiles for address mapping and storing the profiles in a cache, each profile containing a part of an address mapping table stored on a non-volatile storage device and indicating (1) a logical starting address of an initial logical block of a plurality of logical blocks, (2) a physical starting address corresponding to the logical starting address, and (3) the number of the plurality of logical blocks, the profiles being stored in the cache in an order of the corresponding logical starting addresses;

creating first and second records for respective first and second physical extents, each record indicating a physical starting address of the respective physical extent and number of physical blocks therein, at least a part of the plurality of logical blocks being indicated by first and second profiles each being mapped to the respective first and second physical extents; and

in response to a physical end address of the first physical extent and a physical starting address of the second physical extent being continuous, merging the first record and the second record to generate a third record and storing the third record in the cache, the third record indicating the physical starting address of the first physical extent and a sum of the numbers of physical blocks from the first and second records.

2. The method of claim 1 , further including creating an index for a part of the plurality of profiles in the cache, comprising:

selecting the part of profiles randomly to create the index.

3. The method of claim 1 , further including creating an index for a part of the plurality of profiles in the cache, comprising:

selecting, based on an access frequency, the part of profiles to create the index.

4. The method of claim 1 , further comprising:

in response to the physical end address of the first physical extent and the physical starting address of the second physical extent being non-continuous, storing the first record and the second record in the cache.

5. The method of claim 1 , further comprising:

receiving a request for a target profile, the request indicating an index associated with the target profile; and

searching the target profile in the cache based on the index.

6. The method of claim 5 , further comprising:

in response to the target profile being absent in the cache, creating the target profile based on the address mapping table.

7. The method of claim 6 , wherein the request comprises a request to modify a part of the address mapping table contained in the target profile, and the method further comprises:

in response to the target profile being present in the cache, updating the part of the address mapping table contained in the target profile.

8. The method of claim 1 , further comprising:

in response to the number of idle profiles in the cache being lower than a first threshold, triggering reclaiming of the plurality of profiles; and

in response to the number of idle profiles in the cache being greater than a second threshold, ceasing the reclaiming.

9. The method of claim 8 , wherein triggering reclaiming of the plurality of profiles comprises:

reclaiming, among the plurality of profiles, profiles not having been changed with respect to the address mapping table.

10. The method of claim 8 , wherein triggering reclaiming of the plurality of profiles comprises:

reclaiming, among the plurality of profiles, profiles having been changed with respect to the address mapping table, comprising:

storing, in the non-volatile storage device, changed address mapping in the changed profiles.

11. The method of claim 8 , further comprising:

removing an index of a reclaimed profile.

12. An electronic device, comprising:

a processor; and

a memory coupled to the processor, the memory having instructions stored therein which, when executed by the processor, cause the electronic device to perform acts comprising:

creating profiles for address mapping and storing the profiles in a cache, each profile containing a part of an address mapping table stored on a non-volatile storage device and indicating (1) a logical starting address of an initial logical block of a plurality of logical blocks, (2) a physical starting address corresponding to the logical starting address, and (3) the number of the plurality of logical blocks, the profiles being stored in the cache in an order of the corresponding logical starting addresses;

creating first and second records for respective first and second physical extents, each record indicating a physical starting address of the respective physical extent and number of physical blocks therein, at least a part of the plurality of logical blocks being indicated by first and second profiles each being mapped to the respective first and second physical extents; and

in response to a physical end address of the first physical extent and a physical starting address of the second physical extent being continuous, merging the first record and the second record to generate a third record and storing the third record in the cache, the third record indicating the physical starting address of the first physical extent and a sum of the numbers of physical blocks from the first and second records.

13. The device of claim 12 , wherein the acts further include creating an index for a part of the plurality of profiles in the cache, comprising:

selecting the part of profiles randomly to create the index.

14. The device of claim 12 , wherein the acts further include creating an index for a part of the plurality of profiles in the cache, comprising:

selecting, based on an access frequency, the part of profiles to create the index.

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

in response to the physical end address of the first physical extent and the physical starting address of the second physical extent being non-continuous, storing the first record and the second record in the cache.

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

receiving a request for a target profile, the request indicating an index associated with the target profile;

searching the target profile in the cache based on the index.

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

in response to the target profile being absent in the cache, creating the target profile based on the address mapping table.

18. The device of claim 17 , wherein the request comprises a request to modify a part of the address mapping table contained in the target profile, and the acts further comprise:

in response to the target profile being present in the cache, updating the part of the address mapping table contained in the target profile.

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

in response to the number of idle profiles in the cache being lower than a first threshold, triggering reclaiming of the plurality of profiles;

in response to the number of idle profiles in the cache being greater than a second threshold, ceasing the reclaiming.

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

reclaiming, among the plurality of profiles, profiles not having been changed with respect to the address mapping table.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0081) 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
Reel/Frame 060436/0441 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0917) 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
Reel/Frame 060436/0509 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052852/0022) 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
Reel/Frame 060436/0582 →
RELEASE OF SECURITY INTEREST AT REEL 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2020
From: HAN, GENG; GAO, JIAN; LI, WAYNE WEIHUA; KANG, JAMIN; DONG, JIBING
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052864/0774 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0081 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0917 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052852/0022 →
SECURITY AGREEMENT Recorded May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →