IP Library Granted Patent US 11,403,232
Granted Patent B2
US 11,403,232 · App. 16/888,258 · Granted Aug 2, 2022

Sequence thrashing avoidance via fall through estimation

Inventors: Hugo De Oliveira Barbalho (Rio de Janeiro, BR); Jonas F. Dias (Rio de Janeiro, BR); Vinicius Michel Gottin (Rio de Janeiro, BR)
Assignee: EMC IP HOLDING COMPANY LLC
G06F12/123G06F12/0871G06F12/0882G06F12/0891G06F21/78
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,403,232
App. No.
16/888,258
Granted
Aug 2, 2022
Kind
B2
Abstract

One example method includes determining a fall through threshold value for a cache, computing a length ‘s’ of a sequence that is close to LRU eviction, and the length ‘s’ is computed when a current fall through metric value is greater than the fall through threshold value, when the sequence length ‘s’ is greater than a predetermined threshold length ‘k,’ performing a first shift of an LRU position to define a protected queue of the cache, initializing a counter with a value of ‘r’, decrementing the counter each time a requested page is determined to be included in the protected queue, until ‘r’=0, and performing a second shift of the LRU position.

Claims (32)

1. A method, comprising:

determining a fall through threshold value for a cache;

computing a length ‘s’ of a sequence that is close to LRU eviction, and the length ‘s’ is computed when a current fall through metric value is greater than the fall through threshold value;

when the sequence length ‘s’ is greater than a predetermined threshold length ‘k,’ performing a first shift of an LRU position to define a protected queue of the cache;

initializing a counter with a value of ‘r’;

decrementing the counter each time a requested page is determined to be included in the protected queue, until ‘r’=0; and

performing a second shift of the LRU position.

2. The method as recited in claim 1 , wherein performing the first shift of the LRU position to define the protected queue of the cache comprises moving the LRU position to a point that is closer to a front of the cache than a start of the protected queue.

3. The method as recited in claim 1 , wherein performing the second shift of the LRU position comprises moving the LRU position to an end of the cache.

4. The method as recited in claim 1 , wherein performing the first shift of the LRU position to define the protected queue of the cache comprises moving the LRU position forward in the cache a number of cache slots, and the number of cache slots by which the LRU is shifted is determined by the length of the sequence ‘s’ and by a number of any skips in the cache.

5. The method as recited in claim 1 , wherein the LRU position is a point of eviction from the cache.

6. The method as recited in claim 1 , wherein the length ‘s’ of the sequence is determined with respect to one or more skips and/or gaps in the cache.

7. The method as recited in claim 1 , wherein the sequence length ‘s’ is determined based in part on a skip in the cache.

8. The method as recited in claim 1 , wherein after the second LRU shift, pages in the protected queue are no longer protected.

9. The method as recited in claim 1 , wherein when ‘r’=0 and a request is received for an unevicted page that was in the protected cache when ‘r’>0, the requested page is promoted to a position closer to a front of the cache than a position of that page just prior to the request.

10. The method as recited in claim 1 , further comprising setting a permissible gap length and/or skip length for use in computing the length ‘s’.

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

determining a fall through threshold value for a cache;

computing a length ‘s’ of a sequence that is close to LRU eviction, and the length ‘s’ is computed when a current fall through metric value is greater than the fall through threshold value;

when the sequence length ‘s’ is greater than a predetermined threshold length ‘k,’ performing a first shift of an LRU position to define a protected queue of the cache;

initializing a counter with a value of ‘r’;

decrementing the counter each time a requested page is determined to be included in the protected queue, until ‘r’=0; and

performing a second shift of the LRU position.

12. The non-transitory storage medium as recited in claim 11 , wherein performing the first shift of the LRU position to define the protected queue of the cache comprises moving the LRU position to a point that is closer to a front of the cache than a start of the protected queue.

13. The non-transitory storage medium as recited in claim 11 , wherein performing the second shift of the LRU position comprises moving the LRU position to an end of the cache.

14. The non-transitory storage medium as recited in claim 11 , wherein performing the first shift of the LRU position to define the protected queue of the cache comprises moving the LRU position forward in the cache a number of cache slots, and the number of cache slots by which the LRU is shifted is determined by the length of the sequence ‘s’ and by a number of any skips in the cache.

15. The non-transitory storage medium as recited in claim 11 , wherein the LRU position is a point of eviction from the cache.

16. The non-transitory storage medium as recited in claim 11 , wherein the length ‘s’ of the sequence is determined with respect to one or more skips and/or gaps in the cache.

17. The non-transitory storage medium as recited in claim 11 , wherein the sequence length ‘s’ is determined based in part on a skip in the cache.

18. The non-transitory storage medium as recited in claim 11 , wherein after the second LRU shift, pages in the protected queue are no longer protected.

19. The non-transitory storage medium as recited in claim 11 , wherein when ‘r’=0 and a request is received for an unevicted page that was in the protected cache when ‘r’>0, the requested page is promoted to a position closer to a front of the cache than a position of that page just prior to the request.

20. The non-transitory storage medium as recited in claim 11 , wherein the operations further comprise setting a permissible gap length and/or skip length for use in computing the length ‘s’.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053578/0183) Recorded Jun 10, 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 060332/0864 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053574/0221) Recorded Jun 10, 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 060333/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053573/0535) Recorded Jun 10, 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 060333/0106 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2022
From: BARBALHO, HUGO DE OLIVEIRA; DIAS, JONAS F.; GOTTIN, VINICIUS MICHEL
To: EMC IP HOLDING COMPANY
Reel/Frame 058926/0219 →
RELEASE OF SECURITY INTEREST AT REEL 053531 FRAME 0108 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0371 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053573/0535 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053574/0221 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053578/0183 →
SECURITY AGREEMENT Recorded Aug 18, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 053531/0108 →