IP Library Granted Patent US 9,069,702
Granted Patent B2
US 9,069,702 · App. 13/463,430 · Granted Jun 30, 2015

Reducing read starvation

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,069,702
App. No.
13/463,430
Granted
Jun 30, 2015
Kind
B2
Abstract

Apparatus, methods, and other embodiments associated with reducing read starvation that is supported by a multi-purpose buffer managed by a least recently used (LRU) data structure are described. One example method includes changing how certain retired pages are added back into the LRU. The dual-purpose buffer may be used in data de-duplication to support satisfying ingest requests and to support satisfying read requests. The method may also include controlling the LRU to allocate active ingest pages and active read pages from the head of the LRU. The method may also include controlling the LRU to cause the active ingest page and the active read page to re-enter the LRU at the tail of the LRU. Unlike conventional approaches, the method may also include controlling the LRU to cause a retired ingest page to re-enter the LRU at a location other than the tail (e.g., head) of the LRU.

Claims (37)

1. A non-transitory computer-readable medium storing computer-executable instructions that when executed by a computer cause the computer to perform a method, the method comprising:

accessing a least-recently-used (LRU) data structure associated with a dual-purpose buffer to support satisfying ingest requests and to support satisfying read requests, the LRU data structure having a head and a tail;

controlling the LRU data structure to allocate an active ingest page from the head of the LRU data structure to support satisfying a particular ingest request;

controlling the LRU data structure to allocate an active read page from the head of the LRU data structure to support satisfying a particular read request;

controlling the LRU data structure to cause the active ingest page to re-enter the LRU data structure at the tail of the LRU data structure;

controlling the LRU data structure to cause the active read page to re-enter the LRU data structure at the tail of the LRU data structure; and

controlling the LRU data structure to cause a retired ingest page to re-enter the LRU data structure at the head of the LRU data structure, where the active ingest page becomes the retired ingest page upon completing support of satisfying the particular ingest request.

2. The non-transitory computer-readable medium of claim 1 , the method comprising controlling the LRU data structure to cause a retired read page to re-enter the LRU data structure at the head of the LRU data structure, where the active read page becomes the retired read page upon completing support of satisfying the particular read request.

3. The non-transitory computer-readable medium of claim 1 , the method comprising manipulating a tracking data that tracks a number of active read pages that cross a boundary in the LRU data structure.

4. The non-transitory computer-readable medium of claim 3 , the method comprising selectively altering a priority between satisfying ingest requests and satisfying read requests based, at least in part, on the tracking data.

5. The non-transitory computer-readable medium of claim 4 , the method comprising selectively increasing a priority of satisfying ingest requests over satisfying read requests based, at least in part, on the tracking data.

6. The non-transitory computer-readable medium of claim 4 , the method comprising selectively decreasing a priority of satisfying ingest requests over satisfying read requests based, at least in part, on the tracking data.

7. The non-transitory computer-readable medium of claim 2 , the method comprising manipulating a tracking data that tracks a number of active read pages that that cross a boundary in the LRU data structure.

8. The non-transitory computer-readable medium of claim 7 , the method comprising selectively altering a priority between satisfying ingest requests and satisfying read requests based, at least in part, on the tracking data.

9. The non-transitory computer-readable medium of claim 8 , the method comprising selectively increasing a priority of satisfying ingest requests over satisfying read requests based, at least in part, on the tracking data.

10. The non-transitory computer-readable medium of claim 8 , the method comprising selectively decreasing a priority of satisfying ingest requests over satisfying read requests based, at least in part, on the tracking data.

11. The non-transitory computer-readable medium of claim 1 , where the least-recently-used (LRU) data structure is associated with a dual-purpose buffer to support satisfying ingest requests and to support satisfying read requests for a data de-duplication process.

12. An apparatus, comprising:

a processor;

a memory configured with a least recently used (LRU) data structure to manage buffer pages in a multi-purpose buffer used to support data de-duplication;

a set of logics; and

an interface to connect the processor, the memory, and the set of logics, the set of logics comprising:

a first logic that supports a first data de-duplication action;

a second logic that supports a second data de-duplication action; and

a third logic that supports both the first data de-duplication action and the second data de-duplication action by controlling an allocation of a particular buffer page via the LRU data structure and by selectively controlling the particular buffer page to re-enter the LRU data structure at one of, a tail of the LRU data structure, a head of the LRU data structure, and at a selected location in the LRU data structure.

13. The apparatus of claim 12 , the first de-duplication action being an ingest action.

14. The apparatus of claim 13 , the second de-duplication action being a read request action.

15. The apparatus of claim 14 , where the third logic controls a retired ingest page to re-enter the LRU data structure at the head of the LRU data structure.

16. The apparatus of claim 15 , where the third logic acquires data concerning a position of a tracked buffer page in the LRU data structure.

17. The apparatus of claim 16 , where the third selectively controls allocation of a resource between the first data de-duplication action and the second data de-duplication action based, at least in part, on the data concerning the position of the tracked buffer page.

18. The apparatus of claim 14 , where the third logic controls a retired read page to re-enter the LRU data structure at the head of the LRU data structure.

19. A system, comprising:

means for controlling an ingest process;

means for controlling a read process; and

means for selectively controlling a re-entry point of a buffer page into a least recently used (LRU) data structure associated with a dual-purpose buffer that supports the ingest process and the read process, where the re-entry point is determined as a function of a status of the buffer page, where the means for selectively controlling a re-entry point include hardware, the means for controlling a read process include hardware, and the means for controlling an ingest process include hardware.

20. The system of claim 19 , comprising means for selectively controlling a priority between the ingest process and the read process in response to detecting an advancement of an active read page beyond a location in the LRU data structure, where the means for selectively controlling a priority include hardware.

21. The system of claim 19 , the ingest process being a data de-duplication ingest process, the read process being a data de-duplication read process.

Assignments (13)
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT AT REEL/FRAME NO. 40473/0378 Recorded Oct 8, 2025
From: PNC BANK, NATIONAL ASSOCIATION, AS AGENT
To: QUANTUM CORPORATION
Reel/Frame 073061/0454 →
TERMINATION AND RELEASE OF AMENDED AND RESTATED INTELLECTUAL PROPERTY SECURITY AGREEMENT AT REEL/FRAME NO. 48029/0525 Recorded Aug 19, 2025
From: PNC BANK, NATIONAL ASSOCIATION, AS AGENT
To: QUANTUM CORPORATION
Reel/Frame 072542/0594 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2025
From: BLUE TORCH FINANCE LLC, AS AGENT FOR THE SECURED PARTIES
To: ALTER DOMUS (US) LLC, AS AGENT FOR THE SECURED PARTIES
Reel/Frame 071019/0850 →
RELEASE OF SECURITY INTEREST Recorded Aug 10, 2021
From: U.S. BANK NATIONAL ASSOCIATION
To: QUANTUM CORPORATION; QUANTUM LTO HOLDINGS, LLC
Reel/Frame 057142/0252 →
SECURITY INTEREST Recorded Aug 5, 2021
From: QUANTUM CORPORATION; QUANTUM LTO HOLDINGS, LLC
To: BLUE TORCH FINANCE LLC, AS AGENT
Reel/Frame 057107/0001 →
SECURITY INTEREST Recorded Jan 8, 2019
From: QUANTUM CORPORATION
To: PNC BANK, NATIONAL ASSOCIATION
Reel/Frame 048029/0525 →
SECURITY INTEREST Recorded Dec 27, 2018
From: QUANTUM CORPORATION, AS GRANTOR; QUANTUM LTO HOLDINGS, LLC, AS GRANTOR
To: U.S. BANK NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 049153/0518 →
RELEASE OF SECURITY INTEREST Recorded Dec 27, 2018
From: TCW ASSET MANAGEMENT COMPANY LLC, AS AGENT
To: QUANTUM CORPORATION
Reel/Frame 047988/0642 →
SECURITY INTEREST Recorded Oct 25, 2016
From: QUANTUM CORPORATION
To: PNC BANK, NATIONAL ASSOCIATION
Reel/Frame 040473/0378 →
RELEASE OF SECURITY INTEREST Recorded Oct 24, 2016
From: WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT
To: QUANTUM CORPORATION
Reel/Frame 040103/0212 →
SECURITY INTEREST Recorded Oct 21, 2016
From: QUANTUM CORPORATION
To: TCW ASSET MANAGEMENT COMPANY LLC, AS AGENT
Reel/Frame 040451/0183 →
SECURITY AGREEMENT Recorded Aug 22, 2012
From: QUANTUM CORPORATION
To: WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT
Reel/Frame 028828/0106 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2012
From: PISEK, TODD; DEWEY, MATTHEW
To: QUANTUM CORPORATION
Reel/Frame 028152/0121 →