IP Library Granted Patent US 10,261,693
Granted Patent B1
US 10,261,693 · App. 15/884,577 · Granted Apr 16, 2019

Storage system with decoupling and reordering of logical and physical capacity removal

Inventors: Zvi Schneider (Tel Aviv, IL); Anton Kucherov (Dudley, MA); Uri Shabi (Tel Mond, IL)
Assignee: EMC IP Holding Company LLC
G06F3/0608G06F3/067G06F3/068G06F3/0631G06F3/0641G06F12/023G06F2212/657
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,261,693
App. No.
15/884,577
Granted
Apr 16, 2019
Kind
B1
Abstract

A storage system in one embodiment comprises a plurality of storage devices configured to store user data pages and metadata pages. Each of the user data pages has a logical address and a content-based signature derived from content of that data page, and each of the metadata pages characterizes a plurality of the user data pages and associates the content-based signatures of those user data pages with respective physical blocks in the storage devices. In conjunction with release of logical address space in the storage system, the released logical address space is made available to users in a first order based at least in part on released logical address, and multiple dereferencing operations are accumulated for respective ones of the physical blocks corresponding to the released logical address space. The accumulated dereferencing operations for the physical blocks are executed in a second order that differs from the first order.

Claims (57)

1. An apparatus comprising:

a storage system comprising a plurality of storage devices and an associated storage controller;

the storage devices being configured to store user data pages and metadata pages, each of the user data pages having a logical address and a content-based signature derived from content of that data page, each of the metadata pages characterizing a plurality of the user data pages and associating the content-based signatures of those user data pages with respective physical blocks in the storage devices;

wherein in conjunction with release of logical address space in the storage system, the storage controller is configured:

to make the released logical address space available to users in a first order based at least in part on released logical address;

to accumulate multiple dereferencing operations for respective ones of the physical blocks corresponding to the released logical address space; and

to execute the accumulated dereferencing operations for the physical blocks in a second order that differs from the first order;

wherein the storage controller is implemented using at least one processing device comprising a processor coupled to a memory.

2. The apparatus of claim 1 wherein making the released logical address space available to users in a first order comprises making the released logical address space available to users in order of released logical address.

3. The apparatus of claim 2 wherein making the released logical address space available to users in order of released logical address further comprises making each released logical address immediately available responsive to that logical address being released.

4. The apparatus of claim 1 wherein accumulating multiple dereferencing operations for respective ones of the physical blocks corresponding to the released logical address space and executing the accumulated dereferencing operations for the physical blocks further comprise:

accumulating multiple dereferencing operations for each of at least a subset of the metadata pages; and

executing the accumulated dereferencing operations for a given one of the metadata pages responsive to the accumulated dereferencing operations for the given metadata page reaching a threshold number of dereferencing operations.

5. The apparatus of claim 4 wherein the storage controller is further configured to adjust the threshold number of dereferencing operations over time based at least in part on variations in input-output processing load of the storage system.

6. The apparatus of claim 4 wherein the threshold number of dereferencing operations is selected so as to achieve a target dereferencing amortization rate for one or more of the metadata pages.

7. The apparatus of claim 6 wherein the target dereferencing amortization rate provides release of physical blocks at a rate sufficient to satisfy physical block demand of user input-output processing requirements.

8. The apparatus of claim 1 wherein accumulating multiple dereferencing operations for respective ones of the physical blocks corresponding to the released logical address space further comprises:

aggregating the multiple dereferencing operations into additional pages of a particular data type; and

writing the additional pages to a persistent memory of the storage system.

9. The apparatus of claim 8 wherein executing the accumulated dereferencing operations for the physical blocks further comprises:

retrieving the additional pages from the persistent memory;

determining if the additional pages include at least a threshold number of dereferencing operations for each of one or more of the metadata pages;

executing the dereferencing operations for any of the metadata pages having at least the threshold number of dereferencing operations.

10. The apparatus of claim 1 wherein executing the accumulated dereferencing operations for the physical blocks comprises for each of the dereferencing operations:

decrementing a reference count of a corresponding one of the physical blocks; and

releasing the physical block responsive to the reference count reaching a designated number.

11. The apparatus of claim 10 wherein the designated number is zero.

12. The apparatus of claim 1 wherein executing the accumulated dereferencing operations for the physical blocks comprises:

reordering at least a subset of the accumulated dereferencing operations into an order that more closely matches a physical layout of the corresponding physical blocks on the storage devices; and

executing the reordered dereferencing operations in that order.

13. The apparatus of claim 1 wherein a given one of the content-based signatures comprises a hash handle of the corresponding data page with the hash handle being generated by applying a hash function to the content of that data page.

14. The apparatus of claim 1 wherein the storage system comprises a clustered storage system having a plurality of storage nodes each having a plurality of storage devices and wherein the storage controller is implemented in a distributed manner so as to comprise a plurality of distributed storage controller components implemented on respective ones of the storage nodes of the clustered storage system.

15. A method comprising:

configuring storage devices of a storage system to store user data pages and metadata pages, each of the user data pages having a logical address and a content-based signature derived from content of that data page, each of the metadata pages characterizing a plurality of the user data pages and associating the content-based signatures of those user data pages with respective physical blocks in the storage devices;

in conjunction with release of logical address space in the storage system:

making the released logical address space available to users in a first order based at least in part on released logical address;

accumulating multiple dereferencing operations for respective ones of the physical blocks corresponding to the released logical address space; and

executing the accumulated dereferencing operations for the physical blocks in a second order that differs from the first order;

wherein the method is implemented by at least one processing device comprising a processor coupled to a memory.

16. The method of claim 15 wherein accumulating multiple dereferencing operations for respective ones of the physical blocks corresponding to the released logical address space and executing the accumulated dereferencing operations for the physical blocks further comprise:

accumulating multiple dereferencing operations for each of at least a subset of the metadata pages; and

executing the accumulated dereferencing operations for a given one of the metadata pages responsive to the accumulated dereferencing operations for the given metadata page reaching a threshold number of dereferencing operations.

17. The method of claim 15 wherein executing the accumulated dereferencing operations for the physical blocks comprises:

reordering at least a subset of the accumulated dereferencing operations into an order that more closely matches a physical layout of the corresponding physical blocks on the storage devices; and

executing the reordered dereferencing operations in that order.

18. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes said at least one processing device:

to configure storage devices of a storage system to store user data pages and metadata pages, each of the user data pages having a logical address and a content-based signature derived from content of that data page, each of the metadata pages characterizing a plurality of the user data pages and associating the content-based signatures of those user data pages with respective physical blocks in the storage devices;

in conjunction with release of logical address space in the storage system:

to make the released logical address space available to users in a first order based at least in part on released logical address;

to accumulate multiple dereferencing operations for respective ones of the physical blocks corresponding to the released logical address space; and

to execute the accumulated dereferencing operations for the physical blocks in a second order that differs from the first order.

19. The computer program product of claim 18 wherein accumulating multiple dereferencing operations for respective ones of the physical blocks corresponding to the released logical address space and executing the accumulated dereferencing operations for the physical blocks further comprise:

accumulating multiple dereferencing operations for each of at least a subset of the metadata pages; and

executing the accumulated dereferencing operations for a given one of the metadata pages responsive to the accumulated dereferencing operations for the given metadata page reaching a threshold number of dereferencing operations.

20. The computer program product of claim 18 wherein executing the accumulated dereferencing operations for the physical blocks comprises:

reordering at least a subset of the accumulated dereferencing operations into an order that more closely matches a physical layout of the corresponding physical blocks on the storage devices; and

executing the reordered dereferencing operations in that order.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0466) 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; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 060753/0486 →
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 (045482/0131) 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; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 061749/0924 →
RELEASE OF SECURITY INTEREST AT REEL 045482 FRAME 0395 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058298/0314 →
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 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0466 →
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 Mar 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 045482/0131 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Mar 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 045482/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2018
From: SCHNEIDER, ZVI; KUCHEROV, ANTON; SHABI, URI
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 044782/0981 →
Cited By (4)
US 12,277,031 US 12,287,740 US 12,327,138 US 12,373,306