IP Library Granted Patent US 9,483,404
Granted Patent B2
US 9,483,404 · App. 14/793,245 · Granted Nov 1, 2016

Write admittance policy for a memory cache

Inventor: David Atkisson (Draper, UT)
Assignee: SANDISK TECHNOLOGIES LLC
G06F12/0833G06F12/0246G06F12/0802G06F12/0806G06F12/0888G06F12/0804G06F2212/62G06F2212/621G06F2212/7201
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,483,404
App. No.
14/793,245
Granted
Nov 1, 2016
Kind
B2
Abstract

A method includes monitoring a number of read access requests to an address for data stored on a backing store. The method also includes comparing the number of read access requests to a read access threshold. The read access threshold includes a threshold number of read access requests for the address. The method also includes caching data corresponding to a write access request to the address in response to determining that the number of read access requests satisfies the read access threshold.

Claims (34)

1. A method, comprising:

tracking read touch counts, the read touch counts monitoring a number of read access requests directed to respective addresses of a backing store;

determining a read touch count of an address of a write access request by use of the read touch counts; and

adjusting a caching policy for data of the write access request based on the determined read touch count.

2. The method of claim 1 , wherein adjusting the caching policy comprises adjusting a write admittance policy for the write access request to one of a write-through policy, a write-back policy, and a write-around policy.

3. The method of claim 1 , further comprising excluding the data of the write access request from cache admission in response to determining that the determined read touch count does not satisfy a read access threshold.

4. The method of claim 1 , further comprising adjusting a write admittance policy for the write access request to a write-around policy in response to the determined read touch count failing to satisfy a read access threshold.

5. The method of claim 1 , wherein the address of the write access request comprises a logical address from a client application corresponding to the write access request, and wherein the logical address corresponds to a physical address on the backing store.

6. The method of claim 1 , wherein tracking the read touch counts comprises tracking read touch counts for respective address sets, the address sets corresponding one or more addresses of the backing store, the method further comprising:

detecting a quantity of read access requests to addresses of a particular one of the address sets; and

incrementing a read touch count of the particular address set by an amount that differs from the quantity of detected read access requests.

7. The method of claim 1 , wherein tracking the read touch counts comprises monitoring a number of read access requests to respective groups of addresses, wherein a plurality of sequential read access requests to addresses in a particular group of addresses are tracked as a single read access request for the particular group.

8. The method of claim 1 , further comprising resetting a read touch count of an address to zero after a specified amount of time without receiving a read access request for the address.

9. The method of claim 8 , further comprising determining the specified amount of time based on an ageing-out policy.

10. The method of claim 1 , further comprising resetting a read touch count of a particular address in response to evicting data corresponding to the particular address.

11. The method of claim 1 , further comprising updating a read touch count for a first address in response to one or more of determining that data has been relocated to the first address from another address of the backing store, and determining that data has been relocated from the first address to another address of the backing store.

12. An apparatus, comprising:

a storage manager configured to manage cache storage for a storage system, wherein the storage manager is further configured to:

receive a request to write data to a particular address of the non-volatile storage system,

calculate a read access metric for the particular address, the read access metric quantifying read access requests directed to the particular address; and

determining whether to admit data of the write request into the cache storage based on the read access metric for the particular address.

13. The apparatus of claim 12 , wherein the storage manager is further configured to exclude the data of the write request from the cache storage in response to determining that the read access metric for the particular address does not satisfy a threshold.

14. The apparatus of claim 12 , wherein the storage manager is further configured to admit the data of the write request into the cache storage in response to determining that the read access metric for the particular address satisfies a threshold.

15. The apparatus of claim 12 , wherein the storage manager is configured track read access requests to addresses of the storage system by one or more of,

incrementing a touch count of a specified address of the storage system in response to detecting a read request pertaining to the specified address, and

incrementing a touch count for a group of two or more addresses in response to detecting a read request pertaining to an address in the group.

16. The apparatus of claim 12 , wherein the storage manager is further configured to admit the data of the write request into the cache storage in one of a write-through mode and a write-back mode in response to the read access metric of the particular address exceeding a threshold.

17. The apparatus of claim 12 , wherein the storage manager is further configured to reset a read access metric of an designated address of the backing store in response to one or more of failing to detect a read access request directed to the designated address within a time threshold, determining that data of the designated address has been relocated, determining that data of the specified address has been evicted from the cache storage, and detecting a restart of the cache storage.

18. The apparatus of claim 12 , wherein the storage manager is further configured to update a read access metric of a designated address of the storage system in response to one or more of data being moved to the designated address, and data being moved from the designated address.

19. The apparatus of claim 12 , wherein the storage manager is further configured to maintain a log comprising read access metrics for addresses of the storage system.

20. A non-transitory computer-readable storage medium comprising instructions configured to cause a computing device to perform operations, the operations comprising:

maintaining read access counts to track read accesses to respective addresses of a storage system;

determining read access counts associated with data segments being written to the storage system, wherein a read access count associated with a data segment being written to the storage system at a particular address corresponds to a read access count maintained for the particular address to track read accesses to the particular address; and

caching data of selected data segments being written to the storage system in a cache in response to read access counts for the selected data segments satisfying a threshold.

Assignments (4)
CHANGE OF NAME Recorded May 25, 2016
From: SANDISK TECHNOLOGIES INC
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 038812/0954 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2016
From: LONGITUDE ENTERPRISE FLASH SARL
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 038324/0628 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2016
From: PS12 LUXCO S.A.R.L.
To: LONGITUDE ENTERPRISE FLASH S.A.R.L.
Reel/Frame 037995/0089 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2016
From: INTELLIGENT INTELLECTUAL PROPERTY HOLDINGS 2 LLC
To: PS12 LUXCO S.A.R.L.
Reel/Frame 037995/0874 →
Continuity (2)
Continuation 13832843 · Mar 15, 2013
Related Publication 20150309932A1 · Oct 29, 2015