IP Library › Granted Patent US 9,811,471
Granted Patent B2
US 9,811,471 · App. 15/063,903 · Granted Nov 7, 2017

Programmable cache size via class of service cache allocation

Inventors: John Erven Jenne (Austin, TX); Stuart A. Berke (Austin, TX)
Assignee: Dell Products, L.P.
G06F12/0895G06F12/0891G06F12/0804G06F2212/6042
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 9,811,471
App. No.
15/063,903
Filed
Mar 8, 2016
Granted
Nov 7, 2017
Kind
B2
Art Unit
2137
USPC
711/135
Abstract

Systems and methods for enabling programmable cache size via Class of Service (COS) cache allocation are described. In some embodiments, a method may include: identifying a resource available to an Information Handling System (IHS) having a cache, where the resource is insufficient to allow the entire cache to be flushed during a power outage event; dividing a cache into at least a first portion and a second portion using a COS cache allocation, where the second portion has a size that is entirely flushable with the resource; and flushing the second portion of the cache during the power outage event.

Claims (29)

1. A method, comprising:

identifying a resource available to an Information Handling System (IHS) having a cache, wherein the resource is insufficient to allow the entire cache to be flushed during a power outage event;

dividing a cache into at least a first portion and a second portion using a Class of Service (COS) cache allocation, wherein the second portion has a size that is entirely flushable with the resource; and

flushing the second portion of the cache during the power outage event.

2. The method of claim 1 , wherein the resource includes: (a) an amount of energy available to the IHS during the power outage event, or (b) an amount of time available to the IHS during the power outage event.

3. The method of claim 1 , further comprising flushing the second portion of the cache to a Storage Class Memory (SCM) device.

4. The method of claim 1 , further comprising allocating the first portion to a COS dedicated to a process that does not perform any cache writes.

5. The method of claim 4 , wherein the process is an Asynchronous Data Refresh.

6. The method of claim 1 , further comprising reducing a total number of COSs presented to an Operating System (OS) by a number of COSs reserved for cache allocation.

7. The method of claim 1 , wherein dividing the cache further comprises applying a bitmask to the cache wherein each set bit in the bitmask indicates that a given cache allocation is reserved and cannot be used by any Operating System (OS).

8. The method of claim 7 , further comprising, prior to the power outage event, applying the bitmask to a bit set by the OS that conflicts with the given cache allocation.

9. The method of claim 1 , wherein flushing the second portion of the cache includes issuing a command to flush a COS associated with the second portion of the cache.

10. An Information Handling System (IHS), comprising:

a processor;

a cache coupled to the processor; and

a memory coupled to the processor, the memory having program instructions stored thereon that, upon execution by the processor, cause the IHS to:

divide the cache into at least a first portion and a second portion using a Class of Service (COS) cache allocation, wherein the cache has a size that is not entirely flushable through consumption of a resource available to the IHS during a power failure, and wherein the second portion has a size that is flushable through consumption of the available resource during the power failure.

11. The IHS of claim 10 , wherein the available resource includes: (a) an amount of energy available to the IHS during the power failure, or (b) an amount of time available to the IHS during the power failure.

12. The IHS of claim 10 , wherein the program instructions, upon execution, further cause the IHS to allocate the first portion to a COS dedicated to a process that does not perform any cache writes.

13. The IHS of claim 10 , wherein the program instructions, upon execution, further cause the IHS to reduce a total number of COSs presented to an Operating System (OS) by a number of COSs reserved for cache allocation.

14. The IHS of claim 13 , wherein the program instructions, upon execution, further cause the IHS to, prior to the power failure, apply a bitmask to a bit set by the OS that conflicts with the COS cache allocation.

15. The IHS of claim 10 , wherein the program instructions, upon execution, further cause the IHS to flush the second portion by issuing a command to flush a COS associated with the second portion.

16. A memory device having program instructions stored thereon that, upon execution by a processor of an Information Handling System (IHS), cause the IHS to:

divide a cache into at least a first portion and a second portion, wherein the first portion is associated with a first a Class of Service (COS) and the second portion is associated with a second COS; and

flush the second portion and not the first portion during in response to a power failure.

17. The memory device of claim 16 , wherein the cache has a total size that is not entirely flushable in response to the power failure, and wherein the second portion has a size that is flushable in response to the power failure.

18. The memory device of claim 16 , wherein the first COS is dedicated to a process that does not perform any cache writes.

19. The memory device of claim 16 , wherein the program instructions, upon execution, further cause the IHS to, prior to the power failure, apply a bitmask to a bit set by an Operating System (OS) that conflicts with a COS cache allocation.

20. The memory device of claim 16 , wherein the program instructions, upon execution, further cause the IHS to issue a command to flush cache data associated with the second COS.

Assignments (15)
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 (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
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 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 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
RELEASE OF REEL 038664 FRAME 0908 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; SECUREWORKS, CORP.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040027/0390 →
RELEASE OF REEL 038665 FRAME 0041 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; SECUREWORKS, CORP.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040028/0375 →
RELEASE OF REEL 038665 FRAME 0001 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; SECUREWORKS, CORP.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040021/0348 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded May 11, 2016
From: DELL SOFTWARE INC.; WYSE TECHNOLOGY, L.L.C.; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 038664/0908 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded May 11, 2016
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; WYSE TECHNOLOGY, L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 038665/0041 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded May 11, 2016
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; WYSE TECHNOLOGY, L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 038665/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 8, 2016
From: JENNE, JOHN ERVEN; BERKE, STUART A.
To: DELL PRODUCTS, L.P.
Reel/Frame 037924/0634 →
Continuity (1)
Related Publication 20170262375A1 · Sep 14, 2017