IP Library Granted Patent US 10,001,946
Granted Patent B2
US 10,001,946 · App. 15/426,295 · Granted Jun 19, 2018

Method and system for garbage collection in a storage system based on longevity of stored data

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,001,946
App. No.
15/426,295
Granted
Jun 19, 2018
Kind
B2
Abstract

A method for managing data. The method includes receiving a first request to write data to persistent storage and in response to the first request, writing the data to a short-lived block in the persistent storage, where the data is short-lived data or data of unknown longevity. The method further includes performing a modified garbage collection operation that includes: selecting a first frag page in a first block, determining that the first frag page is live, and migrating, based on the determination that the first frag page is live, the first frag page to a long-lived block in the persistent storage, where the long-lived block is distinct from the short-lived block and wherein the long-lived block does not include any short-lived data.

Claims (84)

1. A non-transitory computer readable medium (CRM) comprising instructions, which when executed by a processor perform a method, the method comprising:

selecting a frag page of a block stored on a persistent storage;

generating a derived physical address using a TOC entry associated with the frag page;

selecting a stored physical address based on an object ID and an offset ID, wherein the object ID and the offset ID are located in the TOC entry;

making a determination, that the derived physical address matches the stored physical address; and

in response to the determination, migrating the frag page to a second block stored on the persistent storage.

2. The non-transitory CRM of claim 1 , wherein the method further comprises:

selecting a second frag page of the block stored on the persistent storage;

generating a second derived physical address using a second TOC entry associated with the second frag page;

selecting a second stored physical address based on a second object ID and a second offset ID, wherein the second object ID and the second offset ID are located in the second TOC entry;

making a second determination, that the second derived physical address does not match the second stored physical address; and

in response to the second determination, deleting the second frag page without migrating the second frag page.

3. The non-transitory CRM of claim 2 , wherein the method further comprises:

while deleting the second frag page, deleting the first frag page.

4. The non-transitory CRM of claim 3 , wherein the first frag page and the second frag page are deleted as a block level deletion of the block.

5. The non-transitory CRM of claim 1 , wherein the method further comprises:

selecting a second frag page of the block stored on the persistent storage;

generating a second derived physical address using a second TOC entry associated with the second frag page;

selecting a second stored physical address based on a second object ID and a second offset ID, wherein the second object ID and the second offset ID are located in the second TOC entry;

making a second determination, that the second derived physical address matches the second stored physical address; and

in response to the second determination, migrating the second frag page to the second block stored on the persistent storage.

6. The non-transitory CRM of claim 5 , wherein the method further comprises:

making a third determination that a first candidate block has a lower wear level than a wear level of a second candidate block; and

selecting the first candidate block as the second block.

7. The non-transitory CRM of claim 5 , wherein the method further comprises:

making a third determination that a candidate block is empty; and

selecting the candidate block as the second block.

8. The non-transitory CRM of claim 1 , wherein the method further comprises:

selecting a second frag page of the block stored on the persistent storage;

generating a second derived physical address using a second TOC entry associated with the second frag page;

selecting a second stored physical address based on a second object ID and a second offset ID, wherein the second object ID and the second offset ID are located in the second TOC entry;

making a second determination, that the second derived physical address matches the second stored physical address; and

in response to the second determination, migrating the second frag page to a third block stored on the persistent storage.

9. A method for managing data, comprising:

selecting a frag page of a block stored on a persistent storage;

generating a derived physical address using a TOC entry associated with the frag page;

selecting a stored physical address based on an object ID and an offset ID, wherein the object ID and the offset ID are located in the TOC entry;

making a determination, that the derived physical address matches the stored physical address; and

in response to the determination, migrating the frag page to a second block stored on the persistent storage.

10. The method of claim 9 , further comprising:

selecting a second frag page of the block stored on the persistent storage;

generating a second derived physical address using a second TOC entry associated with the second frag page;

selecting a second stored physical address based on a second object ID and a second offset ID, wherein the second object ID and the second offset ID are located in the second TOC entry;

making a second determination, that the second derived physical address does not match the second stored physical address; and

in response to the second determination, deleting the second frag page without migrating the second frag page.

11. The method of claim 10 , wherein the method further comprises:

while deleting the second frag page, deleting the first frag page.

12. The method of claim 11 , wherein the first frag page and the second frag page are deleted as a block level deletion of the block.

13. The method of claim 9 , further comprising:

selecting a second frag page of the block stored on the persistent storage;

generating a second derived physical address using a second TOC entry associated with the second frag page;

selecting a second stored physical address based on a second object ID and a second offset ID, wherein the second object ID and the second offset ID are located in the second TOC entry;

making a second determination, that the second derived physical address matches the second stored physical address; and

in response to the second determination, migrating the second frag page to the second block stored on the persistent storage.

14. The method of claim 13 , further comprising:

making a third determination that a first candidate block has a lower wear level than a wear level of a second candidate block; and

selecting the first candidate block as the second block.

15. The method of claim 13 , further comprising:

making a third determination that a candidate block is empty; and

selecting the candidate block as the second block.

16. The method of claim 9 , further comprising:

selecting a second frag page of the block stored on the persistent storage;

generating a second derived physical address using a second TOC entry associated with the second frag page;

selecting a second stored physical address based on a second object ID and a second offset ID, wherein the second object ID and the second offset ID are located in the second TOC entry;

making a second determination, that the second derived physical address matches the second stored physical address; and

in response to the second determination, migrating the second frag page to a third block stored on the persistent storage.

17. A storage appliance, comprising:

persistent storage;

a non-transitory computer readable medium comprising instructions;

a processor, configured to execute the instructions, wherein the instructions when executed by the processor perform a method, the method comprising:

selecting a frag page of a block stored on the persistent storage;

generating a derived physical address using a TOC entry associated with the frag page;

selecting a stored physical address based on an object ID and an offset ID, wherein the object ID and the offset ID are located in the TOC entry;

making a determination, that the derived physical address matches the stored physical address; and

in response to the determination, migrating the frag page to a second block stored on the persistent storage.

18. The storage appliance of claim 17 , wherein the method further comprises:

selecting a second frag page of the block stored on the persistent storage;

generating a second derived physical address using a second TOC entry associated with the second frag page;

selecting a second stored physical address based on a second object ID and a second offset ID, wherein the second object ID and the second offset ID are located in the second TOC entry;

making a second determination, that the second derived physical address does not match the second stored physical address; and

in response to the second determination, deleting the second frag page without migrating the second frag page.

19. The storage appliance of claim 18 , wherein the method further comprises:

while deleting the second frag page, deleting the first frag page.

20. The storage appliance of claim 19 , wherein the first frag page and the second frag page are deleted as a block level deletion of the block.

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 (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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2018
From: BONWICK, JEFFREY S.
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 045128/0762 →