IP Library Patent Application 16850553
Patent Application
App. No. 16/850,553

MANAGING OBJECTS IN DATA STORAGE EQUIPMENT

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 None
App. No.
16/850,553
Abstract

Techniques manage objects in data storage equipment. Such techniques involve receiving a request to create a new object for a particular object family (e.g., a collection of related data storage objects such as a production volume, snapshots, clones, snapshots of clones, etc.). Such techniques further involve deriving, for the particular object family, a total object count based on an active object count and a deleted object count for the particular object family. Such techniques further involve, in response to the request, performing an object management operation that (i) creates the new object when the total object count is less than a predefined total object count threshold and (ii) prevents creation of the new object when the total object count is not less than the predefined total object count threshold.

Claims (56)

1 . In data storage equipment, a method of managing objects, the method comprising:

receiving a request to create a new object for a particular object family;

deriving, for the particular object family, a total object count based on an active object count and a deleted object count for the particular object family; and

in response to the request, performing an object management operation that (i) creates the new object when the total object count is less than a predefined total object count threshold and (ii) prevents creation of the new object when the total object count is not less than the predefined total object count threshold.

2 . A method as in claim 1 wherein deriving the total object count includes:

identifying, as the active object count, a first number of active objects of the particular object family that currently reside within the data storage equipment,

identifying, as the deleted object count, a second number of deleted objects of the particular object family that currently reside within the data storage equipment, and

aggregating the first number of active objects and the second number of deleted objects to form the total object count.

3 . A method as in claim 2 wherein the data storage equipment maintains a deleted object count table having deleted object count entries, each deleted object count entry of the deleted object count table (i) being indexed by a family identifier that uniquely identifies a respective object family and (ii) storing a respective deleted object count;

wherein identifying the second number of deleted objects of the particular object family includes:

identifying a particular deleted object count entry of the deleted object count table based on a particular object family identifier that uniquely identifies the particular object family among a plurality of object families within the data storage equipment, and

reading, as the second number of deleted objects, the respective deleted object count stored in the particular deleted object count entry.

4 . A method as in claim 3 , further comprising:

updating the respective deleted object count stored in the particular deleted object count entry to indicate a current number of objects of the particular object family that have been deleted from a perspective of a host but that still await deletion processing within the data storage equipment.

5 . A method as in claim 3 , further comprising:

performing a deletion assessment operation that selects a target object family from the plurality of object families for prioritized deletion processing based on deleted object counts stored in the deleted object count entries of the deleted object count table.

6 . A method as in claim 1 , further comprising:

prior to receiving the request to create the new object for the particular object family and prior to deriving the total object count, creating a production storage object of the particular object family, the production storage object serving as a production volume that stores host data on behalf of a host.

7 . A method as in claim 6 wherein performing the object management operation includes:

creating, as the new object, a snapshot storage object of the production storage object, the snapshot storage object serving as a snapshot of the production volume.

8 . A method as in claim 7 , further comprising:

after the snapshot storage object is created, receiving a deletion command to delete the snapshot storage object, and

in response to the deletion command, (i) placing a set of links for the snapshot storage object in a trashbin of the data storage equipment and (ii) incrementing the deleted object count for the particular object family.

9 . A method as in claim 8 , further comprising:

based on the set of links for the snapshot storage object in the trashbin, (i) performing a deletion operation that removes the snapshot from the data storage equipment and (ii) decrementing the deleted object count for the particular object family.

10 . A method as in claim 6 wherein performing the object management operation includes:

creating, as the new object, a clone storage object of the production storage object, the clone storage object serving as a clone of the production volume.

11 . A method as in claim 10 , further comprising:

after the clone storage object is created, receiving a deletion command to delete the clone storage object, and

in response to the deletion command, (i) placing a set of links for the clone storage object in a trashbin of the data storage equipment and (ii) incrementing the deleted object count for the particular object family.

12 . A method as in claim 11 , further comprising:

based on the set of links for the clone storage object in the trashbin, (i) performing a deletion operation that removes the clone from the data storage equipment and (ii) decrementing the deleted object count for the particular object family.

13 . A method as in claim 6 wherein the data storage equipment includes multiple storage processors that perform host input/output (I/O) operations on the particular object family in response to data storage commands from a set of hosts;

wherein the production storage object of the particular object family is created by a particular storage processor of the multiple storage processors; and

wherein the method further comprises:

designating the particular storage processor among the multiple storage processors to exclusively perform deletion processing for the particular object family.

14 . A method as in claim 1 wherein the data storage equipment maintains a plurality of object families on behalf of a set of hosts;

wherein each object family of the plurality of object families includes a production volume, a set of production volume clones, a set of snapshots, and a set of clones of snapshots; and

wherein the method further comprises:

performing host input/output (I/O) operations on the plurality of object families in response to data storage commands from the set of hosts.

15 . A method as in claim 14 , further comprising:

delaying deletion processing that removes deleted storage objects from the data storage equipment until the data storage equipment is idle with respect to servicing the host I/O operations.

16 . A method as in claim 14 , further comprising:

receiving a second request to create a new object for a second object family that is different from the particular object family;

deriving, for the second object family, a second total object count based on an active object count and a deleted object count for the second object family; and

in response to the second request, performing a second object management operation that (i) creates the new object when the second total object count is less than the predefined total object count threshold and (ii) prevents creation of the new object when the second total object count is not less than the predefined total object count threshold.

17 . Data storage equipment, comprising:

memory; and

control circuitry coupled to the memory, the memory storing instructions which, when carried out by the control circuitry, cause the control circuitry to:

receive a request to create a new object for a particular object family,

derive, for the particular object family, a total object count based on an active object count and a deleted object count for the particular object family, and

in response to the request, perform an object management operation that (i) creates the new object when the total object count is less than a predefined total object count threshold and (ii) prevents creation of the new object when the total object count is not less than the predefined total object count threshold.

18 . A computer program product having a non-transitory computer readable medium which stores a set of instructions to manage objects; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of:

receiving a request to create a new object for a particular object family;

deriving, for the particular object family, a total object count based on an active object count and a deleted object count for the particular object family; and

in response to the request, performing an object management operation that (i) creates the new object when the total object count is less than a predefined total object count threshold and (ii) prevents creation of the new object when the total object count is not less than the predefined total object count threshold.

Assignments (9)
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 (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 (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 →
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 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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2020
From: VUTUKURI, PAVAN; VANKAMAMIDI, VAMSI K.; ARMANGAU, PHILIPPE
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052828/0274 →
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 →