IP Library › Granted Patent US 12,517,827
Granted Patent B2
US 12,517,827 · App. 18/400,028 · Granted Jan 6, 2026

Cache management based on storage access

Inventors: Ethan Miller (Santa Cruz, CA); John Colgrove (Los Altos, CA)
Assignee: PURE STORAGE, INC.
G06F12/0802G06F2212/60
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 12,517,827
App. No.
18/400,028
Granted
Jan 6, 2026
Kind
B2
Abstract

A method of cache management, the method comprising: identifying, among a plurality of storage items, storage items having an access count above a first threshold to generate a set of storage items; identifying, among the set of storage items, storage items having an updated access count above a second threshold to generate a subset of storage items, wherein, for each storage item, the updated access count is dependent upon a number of accesses subsequent to generating the set of storage items; and adding the storage items of the subset of storage items to a cache.

Claims (35)

1 . A method comprising:

identifying a set of storage items whose access count satisfies a first threshold at a first time; and

adding a storage item of the set of storage items that were previously identified to a cache of a storage system in response to an access count for the storage item satisfying a second threshold at a second time.

2 . The method of claim 1 further comprising:

subsequent to identifying the set of storage items and prior to adding the storage item to the cache of the storage system, decaying the access count for at least one of the storage items of the set of storage items to generate a decayed access count for each of the storage items of the set of storage items; and

incrementing the decayed access count for each of the storage items of the set of storage items to generate an updated access count.

3 . The method of claim 2 wherein decaying the access count comprises zeroing the access count for at least one of the storage items.

4 . The method of claim 1 wherein identifying the set of storage items is performed at an interval independent of access to the storage items by the storage system.

5 . The method of claim 4 wherein the interval is a set time interval.

6 . The method of claim 4 wherein the interval is determined based on a cache pressure.

7 . The method of claim 1 wherein the first threshold and the second threshold are a same value.

8 . An apparatus comprising:

a memory; and

a processor, operatively coupled to the memory, configured to:

identify a set of storage items whose access count satisfies a first threshold at a first time; and

add a storage item of the set of storage items that were previously identified to a cache of a storage system in response to an access count for the storage item satisfying a second threshold at a second time.

9 . The apparatus of claim 8 , the processor further configured to:

subsequent to identifying the set of storage items and prior to adding the storage item to the cache of the storage system, decay the access count for at least one of the storage items of the set of storage items to generate a decayed access count for each of the storage items of the set of storage items; and

increment the decayed access count for each of the storage items of the set of storage items to generate an updated access count.

10 . The apparatus of claim 9 wherein to decay the access count the processor is configured to:

zero the access count for at least one of the storage items.

11 . The apparatus of claim 8 wherein the processor identifies the set of storage items at an interval independent of access to the storage items by the storage system.

12 . The apparatus of claim 11 wherein the interval is a set time interval.

13 . The apparatus of claim 11 wherein the interval is determined based on a cache pressure.

14 . The apparatus of claim 8 wherein the first threshold and the second threshold are a same value.

15 . A non-transitory computer readable storage medium storing instructions, which when executed, cause a processor to:

identify a set of storage items whose access count satisfies a first threshold at a first time; and

add a storage item of the set of storage items that were previously identified to a cache of a storage system in response to an access count for the storage item satisfying a second threshold at a second time.

16 . The non-transitory computer readable storage medium of claim 15 , the processor further configured to:

subsequent to identifying the set of storage items and prior to adding the storage item to the cache of the storage system, decay the access count for at least one of the storage items of the set of storage items to generate a decayed access count for each of the storage items of the set of storage items; and

increment the decayed access count for each of the storage items of the set of storage items to generate an updated access count.

17 . The non-transitory computer readable storage medium of claim 16 wherein to decay the access count the processor is configured to zero the access count for at least one storage item of the set of storage items.

18 . The non-transitory computer readable storage medium of claim 15 wherein the processor is configured to identify the set of storage items at an interval independent of access to the storage items by a storage system.

19 . The non-transitory computer readable storage medium of claim 18 wherein the interval is a set time interval.

20 . The non-transitory computer readable storage medium of claim 15 wherein the first threshold and the second threshold are a same value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 29, 2023
From: MILLER, ETHAN; COLGROVE, JOHN
To: PURE STORAGE, INC.
Reel/Frame 065982/0248 →
Continuity (2)
Continuation 17587231 · Jan 28, 2022
Related Publication 20240411693A1 · Dec 12, 2024
References Cited (31)
US 7975115B2 · Wayda et al. · 2011 [cited by applicant]
US 8504797B2 · Mimatsu · 2013 [cited by applicant]
US 8822155B2 · Sukumar et al. · 2014 [cited by applicant]
US 9280678B2 · Redberg · 2016 [cited by applicant]
US 9395922B2 · Nishikido et al. · 2016 [cited by applicant]
US 10324639B2 · Seo · 2019 [cited by applicant]
US 10567406B2 · Astigarraga et al. · 2020 [cited by applicant]
US 10846137B2 · Vallala et al. · 2020 [cited by applicant]
US 10877683B2 · Wu et al. · 2020 [cited by applicant]
US 11076509B2 · Alissa et al. · 2021 [cited by applicant]
US 11106810B2 · Natanzon et al. · 2021 [cited by applicant]
US 11194707B2 · Stalzer · 2021 [cited by applicant]
US 20010049818A1 · Banerjia · 2001 [cited by examiner]
US 20020144060A1 · Stoodley · 2002 [cited by examiner]
US 20080256141A1 · Wayda et al. · 2008 [cited by applicant]
US 20100306500A1 · Mimatsu · 2010 [cited by applicant]
US 20110035540A1 · Fitzgerald et al. · 2011 [cited by applicant]
US 20140220561A1 · Sukumar et al. · 2014 [cited by applicant]
US 20150154418A1 · Redberg · 2015 [cited by applicant]
US 20160026397A1 · Nishikido et al. · 2016 [cited by applicant]
US 20160182542A1 · Staniford · 2016 [cited by applicant]
US 20160248631A1 · Duchesneau · 2016 [cited by applicant]
US 20170262202A1 · Seo · 2017 [cited by applicant]
US 20180054454A1 · Astigarraga et al. · 2018 [cited by applicant]
US 20190220315A1 · Vallala et al. · 2019 [cited by applicant]
US 20200034560A1 · Natanzon et al. · 2020 [cited by applicant]
US 20200326871A1 · Wu et al. · 2020 [cited by applicant]
US 20210360833A1 · Alissa et al. · 2021 [cited by applicant]
Hwang K., et al., “RAID-x: A New Distributed Disk Array for I/O-Centric Cluster Computing,” Proceedings of The Ninth International Symposium On High-performance Distributed Computing, IEEE Computer Society, Los Alamitos… [cited by applicant]
Stalzer M.A., “FlashBlades: System Architecture and Applications,” Proceedings of the 2nd Workshop on Architectures and Systems for Big Data, Association for Computing Machinery, New York, NY, 2012, pp. 10-14. [cited by applicant]
Storer M.W., et al, “Pergamum: Replacing Tape with Energy Efficient, Reliable, Disk-Based Archival Storage,” 6th Usenix Conference on File And Storage Technologies (FAST'08), San Jose, CA, USA, Feb. 26-29, 2008, 16 Page… [cited by applicant]