IP Library Granted Patent US 10,534,558
Granted Patent B1
US 10,534,558 · App. 15/413,841 · Granted Jan 14, 2020

Relocating paged metadata

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,534,558
App. No.
15/413,841
Granted
Jan 14, 2020
Kind
B1
Abstract

A storage array uses paged metadata. Each storage director has access to a plurality of object storage systems which describe locations of paged metadata in backing storage. Each object storage system includes different types of inodes which describe objects in backing storage. The object storage systems are used to locate and relocate metadata for loading into global memory, and creation and deletion of objects. An object storage system may be selected based on factors including ratio of different inode types, locality of object usage and anticipated object activity level.

Claims (41)

1. An apparatus comprising:

a plurality of storage directors that utilize one or more physical non-volatile storage devices to present a logical storage device to at least one host, and which temporarily copy pages of metadata from the non-volatile storage devices into a shared memory as needed to service input-output commands from the at least one host, each of the pages having an identical fixed-size and indicating locations of host data on the non-volatile storage devices, each of the storage directors having access to a plurality of object storage systems in the shared memory that is accessible to each of the storage directors,

wherein each object storage system is uniquely associated with a corresponding same-fixed-size portion of the non-volatile storage devices,

wherein each object storage system comprises one or more sets of inodes with pointers to locations of corresponding pages of metadata in the same-fixed-size portion of the non-volatile storage devices associated with that object storage system,

wherein one of the object storage systems is selected as a destination object storage system by a first storage director of the plurality of storage directors to host an object associated with pages of metadata based on sequential space availability in the shared memory to maintain an inode set that describes the locations of the pages of the metadata of the object and sequential page availability in the associated same-fixed-size portion of the non-volatile storage devices to store the object, and

wherein the first storage director relocates the object from an origin object storage system to the destination object storage system.

2. The apparatus of claim 1 wherein the first storage director locks the origin object storage system, thereby preventing addition, deletion, and change to the inode set in preparation for relocating the object.

3. The apparatus of claim 2 wherein the first storage director selects one inode of the inode set at a time for relocation.

4. The apparatus of claim 3 wherein the inode selected for relocation is Read and Write locked.

5. The apparatus of claim 4 wherein the Read and Write lock is released after the inode is relocated.

6. The apparatus of claim 5 wherein the origin object storage system is unlocked after the object is relocated.

7. The apparatus of claim 1 wherein pages are allocated to inodes in the destination object storage system.

8. The apparatus of claim 1 wherein inodes are added or deleted to the inode set in the destination object storage system based on object size change.

9. The apparatus of claim 1 wherein a red black tree of each storage director is updated.

10. A method comprising:

in a storage array having a plurality of storage directors that utilize one or more physical non-volatile storage devices to present a logical storage device to at least one host, and which temporarily copy pages of metadata from the non-volatile storage devices into a shared memory as needed to service input-output commands from the at least one host, each of the pages having an identical fixed-size and indicating locations of host data on the non-volatile storage devices, each of the storage directors having access to a plurality of object storage systems in the shared memory that is accessible to each of the all storage directors, the object storage systems comprising sets of inodes with pointers to locations of corresponding pages of metadata in at least one of the non-volatile storage devices, wherein each object storage system is uniquely associated with a corresponding same-fixed-size portion of the non-volatile storage devices relocating an object associated with paged metadata by:

calculating a number of sequential pages required to store the paged metadata of the object on one of the same-fixed-size portions of the non-volatile storage devices;

calculating required sequential space to maintain an inode set that describes the locations of the calculated number of sequential pages in the shared memory;

selecting one of the object storage systems as a destination object storage system based on sequential space availability in the shared memory to accommodate the inode set and sequential page availability in the associated same-fixed-size portion of the non-volatile storage devices to accommodate the object; and

relocating the object from an origin object storage system to the selected destination object storage system.

11. The method of claim 10 comprising locking the origin object storage system and thereby preventing addition, deletion, and change to the inode set in preparation for relocating the object.

12. The method of claim 11 comprising selecting one inode of the inode set at a time for relocation.

13. The method of claim 12 comprising Read and Write locking the inode selected for relocation.

14. The method of claim 13 comprising releasing the Read and Write lock after the inode is relocated.

15. The method of claim 14 comprising unlocking the origin object storage system after the object is relocated.

16. The method of claim 10 comprising allocating pages to inodes in the destination object storage system.

17. The method of claim 10 comprising adding or deleting inodes in the destination object storage system based on object size change.

18. The method of claim 10 comprising updating a red black tree of each storage director.

19. The method of claim 10 comprising releasing the object from the origin object storage system.

20. A method comprising:

in a storage array having a plurality of storage directors that utilize one or more physical non-volatile storage devices to present a logical storage device to at least one host, and which temporarily copy pages of metadata from the non-volatile storage devices into a shared memory as needed to service input-output commands from the at least one host, each of the pages having an identical fixed-size and indicating locations of host data on the non-volatile storage devices, each of the storage directors having access to a plurality of object storage systems in the shared memory that is accessible each of the storage directors, the object storage systems comprising inodes with pointers to locations of corresponding pages of metadata in at least one of the non-volatile storage devices, wherein each object storage system is uniquely associated with a corresponding same-fixed-size portion of the non-volatile storage devices, relocating an object associated with paged metadata by:

calculating a number of sequential pages required for to store the paged metadata of the object;

calculating required sequential space to maintain an inode set that describes the locations of the calculated number of sequential pages in the shared memory;

locking an origin object storage system that hosts the object;

selecting one of the object storage systems as a destination object storage system for the object based on sequential space availability in the shared memory to accommodate the inode set and sequential page availability in the associated same-fixed-size portion of the non-volatile storage devices to accommodate the object;

allocating pages to inodes in the destination object storage system;

selecting one inode of the inode set at a time for relocation;

Read and Write locking the inode selected for relocation;

copying the selected inode from the origin object storage system to the destination object storage system;

releasing the Read and Write lock after the selected inode is relocated; and

the origin object storage system after the object is relocated.

Assignments (7)
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 (052216/0758) 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 060438/0680 →
RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0152 →
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 26, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052243/0773 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 24, 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 052216/0758 →
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 →