IP Library Granted Patent US 11,016,896
Granted Patent B2
US 11,016,896 · App. 16/750,067 · Granted May 25, 2021

Reducing overhead of managing cache areas

Inventors: Venkata Khambam (Cork, IE); Jeffrey R. Nelson (Dunstable, MA); Brian Asselin (Upton, MA); Rong Yu (West Roxbury, MA)
Assignee: EMC IP Holding Company LLC
G06F12/084G06F12/0815G06F12/0842G06F2212/621
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,016,896
App. No.
16/750,067
Granted
May 25, 2021
Kind
B2
Abstract

Maintaining multiple cache areas in a storage device having multiple processors includes loading data from a specific portion of non-volatile storage into a local cache slot in response to a specific processor of a first subset of the processors performing a read operation to the specific portion of non-volatile storage, where the local cache slot is accessible to the first subset of the processors and is inaccessible to a second subset of the processors that is different than the first subset of the processors and includes converting the local cache slot into a global cache slot in response to one of the processors performing a write operation to the specific portion of non-volatile storage, wherein the global cache area is accessible to the first subset of the processors and to the second subset of the processors. Different ones of the processors may be placed on different directors.

Claims (24)

1. A method of maintaining multiple cache areas in a storage device having multiple processors, comprising:

loading data from a specific portion of non-volatile storage into a cache slot in response to a specific processor of a first subset of the processors performing a read operation to the specific portion of non-volatile storage; and

making the cache slot accessible to a second set of processors different from the first set of processors in response to one of the processors performing a write operation to the specific portion of non-volatile storage.

2. A method, according to claim 1 , wherein different ones of the processors are placed on different directors.

3. A method, according to claim 2 , wherein the cache slot is provided by memory on the directors.

4. A method, according to claim 3 , wherein a portion of the memory corresponds to a global cache slot that is accessible to all of the directors.

5. A method, according to claim 4 , wherein following loading the data into the cache slot, storage of the data in the global cache slot is cancelled.

6. A method, according to claim 3 , wherein a portion of the memory corresponding to the cache slot is only accessible by processors on a same one of the directors as the portion of the memory.

7. A method, according to claim 1 , wherein the data from the cache slot is provided to the specific processor independent of completing modifying system metadata indicating that the data has been loaded into the cache slot.

8. A method, according to claim 1 , wherein prior to loading the data in to the cache slot, prior data is removed from the cache slot.

9. A method, according to claim 8 , wherein removing the prior data includes initiating a metadata modification corresponding thereto, wherein the prior data is removed independent of completion of modification of the metadata.

10. A method, according to claim 1 , wherein prior to making the cache slot accessible to a second set of processors, the cache slot is chosen from a plurality of cache slots that contain the data.

11. A non-transitory computer readable medium containing software that maintains multiple cache areas in a storage device having multiple processors, the software comprising:

executable code that loads data from a specific portion of non-volatile storage into a cache slot in response to a specific processor of a first subset of the processors performing a read operation to the specific portion of non-volatile storage; and

executable code that makes the cache slot accessible to a second set of processors different from the first set of processors in response to one of the processors performing a write operation to the specific portion of non-volatile storage.

12. A non-transitory computer readable medium, according to claim 11 , wherein different ones of the processors are placed on different directors.

13. A non-transitory computer readable medium, according to claim 12 , wherein the cache slot is provided by memory on the directors.

14. A non-transitory computer readable medium, according to claim 13 , wherein a portion of the memory corresponds to a global cache slot that is accessible to all of the directors.

15. A non-transitory computer readable medium, according to claim 14 , wherein following loading the data into the cache slot, storage of the data in the global cache slot is cancelled.

16. A non-transitory computer readable medium, according to claim 13 , wherein a portion of the memory corresponding to the cache slot is only accessible by processors on a same one of the directors as the portion of the memory.

17. A non-transitory computer readable medium, according to claim 11 , wherein the data from the cache slot is provided to the specific processor independent of completing modifying system metadata indicating that the data has been loaded into the cache slot.

18. A non-transitory computer readable medium, according to claim 11 , wherein prior to loading the data in to the cache slot, prior data is removed from the cache slot.

19. A non-transitory computer readable medium, according to claim 18 , wherein removing the prior data includes initiating a metadata modification corresponding thereto, wherein the prior data is removed independent of completion of modification of the metadata.

20. A method, according to claim 11 , wherein prior to making the cache slot accessible to a second set of processors, the cache slot is chosen from a plurality of cache slots that contain the data.

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 23, 2020
From: KHAMBAM, VENKATA; NELSON, JEFFREY R.; ASSELIN, BRIAN; YU, RONG
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051592/0989 →