IP Library Granted Patent US 11,281,628
Granted Patent B2
US 11,281,628 · App. 16/732,955 · Granted Mar 22, 2022

Namespace performance acceleration by selective SSD caching

Inventors: Murthy Mamidi (San Jose, CA); George Mathew (Belmont, CA); Pengju Shang (Milpitas, CA)
Assignee: EMC IP HOLDING COMPANY LLC
G06F16/172G06F12/0866G06F12/0888G06F16/164G06F16/182G06F2212/1024G06F2212/1044G06F2212/1056G06F2212/154G06F2212/163G06F2212/214G06F2212/222G06F2212/2515G06F2212/263G06F2212/313G06F2212/466G06F2212/7205
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,281,628
App. No.
16/732,955
Granted
Mar 22, 2022
Kind
B2
Abstract

In one example, a method includes receiving metadata in the form of a modification to metadata represented by a file system namespace abstraction, wherein the file system namespace abstraction corresponds to less than an entire file system namespace, and the file system namespace abstraction includes one or more pages, and one of the pages corresponds to a particular cached block, updating the file system namespace abstraction based on the received metadata, determining if caching is enabled for the file system namespace abstraction, when caching is enabled for the file system namespace abstraction, caching the updated file system namespace abstraction in SSD storage that includes the cached block, and maintaining a status of the cached block in a Dtable of the SSD storage.

Claims (30)

1. A method, comprising:

receiving metadata in the form of a modification to metadata represented by a file system namespace abstraction, wherein the file system namespace abstraction corresponds to less than an entire file system namespace, and the file system namespace abstraction includes one or more pages, and one of the pages corresponds to a particular cached block;

updating the file system namespace abstraction based on the received metadata;

determining if caching is enabled for the file system namespace abstraction;

when caching is enabled for the file system namespace abstraction, caching the updated file system namespace abstraction in SSD storage that includes the cached block; and

maintaining a status of the cached block in a Dtable of the SSD storage.

2. The method as recited in claim 1 , wherein the updated file system namespace abstraction is cached in the SSD storage in the form of a flattened Btree that comprises one or more pages, and each of the pages has a respective timestamp.

3. The method as recited in claim 2 , wherein the pages of the flattened Btree either are, or are not, all part of a common cached block of the SSD storage.

4. The method as recited in claim 1 , wherein the SSD storage comprises a header, and the cached block is positioned between the header and the Dtable in the SSD storage.

5. The method as recited in claim 1 , wherein the file system namespace abstraction comprises an Mtree.

6. The method as recited in claim 1 , wherein the Dtable includes an entry for the cached block, and the entry includes a size, and offset, of the cached block.

7. The method as recited in claim 1 , wherein another cached block of the SSD storage comprises a respective page of each of a plurality of flattened Btrees.

8. The method as recited in claim 7 , further comprising storing a copy of one of the flattened Btrees in a database.

9. The method as recited in claim 1 , further comprising allocating, based on one or more criteria, an amount of the SSD storage for namespace caching.

10. The method as recited in claim 1 , further comprising defragmenting the SSD storage.

11. A non-transitory storage medium having stored therein instructions that are executable by one or more hardware components to perform operations comprising:

receiving metadata in the form of a modification to metadata represented by a file system namespace abstraction, wherein the file system namespace abstraction corresponds to less than an entire file system namespace, and the file system namespace abstraction includes one or more pages, and one of the pages corresponds to a particular cached block;

updating the file system namespace abstraction based on the received metadata;

determining if caching is enabled for the file system namespace abstraction;

when caching is enabled for the file system namespace abstraction, caching the updated file system namespace abstraction in SSD storage that includes the cached block; and

maintaining a status of the cached block in a Dtable of the SSD storage.

12. The non-transitory storage medium as recited in claim 11 , wherein the updated file system namespace abstraction is cached in the SSD storage in the form of a flattened Btree that comprises one or more pages, and each of the pages has a respective timestamp.

13. The non-transitory storage medium as recited in claim 12 , wherein the pages of the flattened Btree either are, or are not, all part of a common cached block of the SSD storage.

14. The non-transitory storage medium as recited in claim 11 , wherein the SSD storage comprises a header, and the cached block is positioned between the header and the Dtable in the SSD storage.

15. The non-transitory storage medium as recited in claim 11 , wherein the file system namespace abstraction comprises an Mtree.

16. The non-transitory storage medium as recited in claim 11 , wherein the Dtable includes an entry for the cached block, and the entry includes a size, and offset, of the cached block.

17. The non-transitory storage medium as recited in claim 11 , wherein another cached block of the SSD storage comprises a respective page of each of a plurality of flattened Btrees.

18. The non-transitory storage medium as recited in claim 17 , wherein the operations further comprise storing a copy of one of the flattened Btrees in a database.

19. The non-transitory storage medium as recited in claim 11 , wherein the operations further comprise allocating, based on one or more criteria, an amount of the SSD storage for namespace caching.

20. The non-transitory storage medium as recited in claim 11 , wherein the operations further comprise defragmenting the SSD storage.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) 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
Reel/Frame 060438/0742 →
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 INTEREST Recorded Jun 5, 2020
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 053311/0169 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 2, 2020
From: MAMIDI, MURTHY; MATHEW, GEORGE; SHANG, PENGJU
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051404/0063 →