IP Library › Granted Patent US 9,189,422
Granted Patent B2
US 9,189,422 · App. 13/761,397 · Granted Nov 17, 2015

Method to throttle rate of data caching for improved I/O performance

Inventors: Vinay Bangalore Shivashankaraiah (Bangalore, IN); Netra Gopinath (Bangalore, IN)
Assignee: Avago Technologies General IP (Singapore) Pte. Ltd.
G06F12/122G06F12/0866G06F12/123G06F12/126
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,189,422
App. No.
13/761,397
Granted
Nov 17, 2015
Kind
B2
Abstract

A cache device for the caching of data and specifically for the identification of stale data or a thrashing event within the cache device is described. Further a cache device for the prioritization of cached data in the cache device during a thrashing event as well as stale cached data in the cache device are described. Methods associated with the use of the caching device for the caching of data and for the identification of data in a thrashing event or the identification of stale cached data are also described.

Claims (33)

1. A method of storing data onto a cache device when the amount of hot data exceeds the cache device's storage capacity comprising:

monitoring references to data stored in one or more physical cache windows in a cache device by utilizing a least recently used queue block;

prioritizing said data stored in said one or more physical cache windows to a least recently used queue in said least recently used queue block;

promoting said one or more physical cache windows to a higher priority least recently used queue in said least recently used queue block based on the number of said references to said data in said one or more physical cache windows during a certain time period;

demoting said one or more physical cache windows to a lower priority least recently used queue in said least recently used queue block when said data is not accessed during a certain time period;

monitoring the number of demoted physical cache windows in said cache device using one or more counters in said least recently used queue block;

searching a hash table in communication with said least recently used queue;

identifying said cache device is thrashing when the total number of said demoted physical cache windows is equal to zero and a total number of free physical cache windows is equal to zero; and

increasing the number of said references required to store said data in said one or more demoted physical cache windows,

wherein said increasing in said number of said references is greater than three references.

2. The method claim 1 , further comprising:

identifying that no free physical cache windows are available in said cache device;

replacing data from said one or more demoted physical cache windows in said lowest priority least recently used queue;

storing new data to said one or more demoted physical cache windows; and

tracking references to said new data stored in said one or more demoted physical cache windows utilizing said least recently used queue block.

3. The method of claim 2 , further comprising:

tracking data in a host using a virtual cache window;

monitoring the number of references to said data in said host using said virtual cache window; and

storing said data from said host onto said cache device represented by said one or more physical cache windows based upon said data from said host receiving a number of said references during a certain time period.

4. The method of claim 1 , further comprising:

identifying said cache device has stale data when the total number of said one or more demoted physical cache windows is greater than zero and the total number of said free physical cache windows is equal to zero.

5. The method of claim 1 , further comprising

identifying when said cache device has free physical cache windows when the total number of said one or more demoted cache windows is equal to zero and the total number of said free cache windows is greater than zero.

6. A cache device for the caching of data comprising:

at least one virtual cache window;

at least one physical cache window;

a least recently used queue block in communication with said at least one physical cache window, wherein said least recently used queue block comprises at least two least recently used queues, at least two counters and one global counter; and

a hash table in communication with said least recently used queue block,

wherein said at least one physical cache window is prioritized to said at least two least recently used queues in said least recently used queue block based on the number of references to data stored in said at least one physical cache window,

wherein said hash table maintains a list of the location of said data stored in said at least one physical cache window as well as the location of said at least one physical cache window,

wherein said least recently used queue block monitors the number of references to said data stored in said at least one physical cache window,

wherein said at least two counters and one global counter monitor demotion of said at least one physical cache window in communication with said least recently used queue block.

7. The cache device of claim 6 , wherein said at least one physical cache window further comprise at least one cache block for storage of said data.

Assignments (8)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 047422 FRAME: 0464. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 6, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048883/0702 →
MERGER Recorded Oct 5, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047422/0464 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041710/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037808/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2015
From: LSI CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 035390/0388 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2013
From: SHIVASHANKARAIAH, VINAY BANGALORE; GOPINATH, NETRA
To: LSI CORPORATION
Reel/Frame 029776/0759 →
Continuity (1)
Related Publication 20140223106A1 · Aug 7, 2014