IP Library › Granted Patent US 12,602,323
Granted Patent B2
US 12,602,323 · App. 18/677,868 · Granted Apr 14, 2026

Systems and methods of cache data placement

Inventors: Jing Yang (Glen Allen, VA); Ho Bin Lee (San Jose, CA); Rekha Pitchumani (Oak Hill, VA)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
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,602,323
App. No.
18/677,868
Granted
Apr 14, 2026
Kind
B2
Abstract

Provided are systems, methods, and apparatuses for assisted cache data placement. In one or more examples, systems, methods, and apparatuses include assigning a first identifier to first data based on an aspect of the first data, the first data being data moved from a cache and assigning a second identifier to second data based on an aspect of the second data, the second data being moved to a storage device based on a policy of the cache. In one or more examples, systems, methods, and apparatuses include storing the first data in a first storage location of the storage device based on the first identifier and storing the second data in a second storage location of the storage device based on the second identifier.

Claims (47)

1 . A method comprising:

assigning a first identifier to first data based in part on the first data being placed in a cache;

assigning a second identifier to second data based in part on the second data bypassing the cache;

storing the first data that is in the cache in a first storage location of a storage device based on the first identifier; and

storing the second data that bypasses the cache in a second storage location of the storage device based on the second identifier.

2 . The method of claim 1 , wherein:

the first identifier includes a first storage policy identifier, and

the second identifier includes a second storage policy identifier.

3 . The method of claim 1 , wherein storing the first data in the first storage location includes storing the first data in a first set of storage blocks of the storage device based on the first data being associated with a rate at which a first cache block fulfills requests for files in the first cache block.

4 . The method of claim 3 , wherein:

the first data is moved from the first cache block, and

a data size of the first cache block is configured to match a data size of the first set of storage blocks.

5 . The method of claim 3 , further comprising storing a third data that is moved from the cache to a second set of storage blocks of the storage device based on the third data being associated with a rate at which a second cache block fulfills requests for files in the second cache block different from the rate at which the first cache block fulfills requests for files in the first cache block.

6 . The method of claim 5 , wherein:

the third data is moved from a second cache block, and

a data size of the second cache block is configured to match a data size of the second set of storage blocks.

7 . The method of claim 1 , wherein the first storage location includes a set of storage blocks of the storage device associated with data that is determined to satisfy a frequent access threshold.

8 . The method of claim 1 , wherein the second storage location includes a set of storage blocks of the storage device associated with data that is determined to satisfy an infrequent access threshold.

9 . The method of claim 1 , wherein the first identifier is assigned to first data based on an aspect of the first data, the aspect of the first data including at least one of a rate at which the cache fulfills a request for the first data or the first data being determined to be data moved from the cache.

10 . The method of claim 1 , wherein the first identifier is assigned to first data based on an aspect of the first data, the aspect of the second data including at least the second data being determined to be data routed to the storage device instead of the cache based on a policy of the cache.

11 . A storage device comprising:

a microcontroller to:

assign a first identifier to first data based in part on the first data being placed in a cache; and

assign a second identifier to second data based in part on the second data bypassing the cache;

a first storage location of the storage device to store the first data that is in the cache based on the first identifier; and

a second storage location of the storage device to store the second data that bypasses the cache based on the second identifier.

12 . The storage device of claim 11 , wherein:

the first identifier includes a first storage policy identifier, and

the second identifier includes a second storage policy identifier.

13 . The storage device of claim 11 , wherein storing the first data in the first storage location includes storing the first data in a first set of storage blocks of the storage device based on the first data being associated with a rate at which a first cache block fulfills requests for files in the first cache block.

14 . The storage device of claim 13 , wherein:

the first data is moved from the first cache block, and

a data size of the first cache block is configured to match a data size of the first set of storage blocks.

15 . The storage device of claim 13 , wherein the storage device is further configured to store a third data that is moved from the cache to a second set of storage blocks of the storage device based on the third data being associated with a rate at which a second cache block fulfills requests for files in the second cache block different from the rate at which the first cache block fulfills requests for files in the first cache block.

16 . The storage device of claim 15 , wherein:

the third data is moved from a second cache block, and

a data size of the second cache block is configured to match a data size of the second set of storage blocks.

17 . The storage device of claim 11 , wherein the first storage location includes a set of storage blocks of the storage device associated with data that is determined to satisfy a frequent access threshold.

18 . A non-transitory computer-readable medium storing code that comprises instructions executable by a processor of a storage device to:

assign a first identifier to first data based in part on the first data being placed in a cache;

assign a second identifier to second data based in part on the second data bypassing the cache;

store the first data that is in the cache in a first storage location of the storage device based on the first identifier; and

store the second data that bypasses the cache in a second storage location of the storage device based on the second identifier.

19 . The non-transitory computer-readable medium of claim 18 , wherein:

the first identifier includes a first storage policy identifier, and

the second identifier includes a second storage policy identifier.

20 . The non-transitory computer-readable medium of claim 18 , wherein storing the first data in the first storage location includes storing the first data in a first set of storage blocks of the storage device based on the first data being associated with a rate at which a first cache block fulfills requests for files in the first cache block.

Continuity (2)
Provisional Application 63556383 · Feb 21, 2024
Related Publication 20250265190A1 · Aug 21, 2025
References Cited (9)
US 8930624B2 · Benhase et al. · 2015 [cited by applicant]
US 10372342B2 · Dusija et al. · 2019 [cited by applicant]
US 11243718B2 · Song · 2022 [cited by applicant]
US 11550732B2 · Gupta et al. · 2023 [cited by applicant]
US 11609858B2 · Tian et al. · 2023 [cited by applicant]
US 20150039836A1 · Wang · 2015 [cited by examiner]
US 20210357329A1 · Oh · 2021 [cited by applicant]
US 20220004495A1 · Natarajan et al. · 2022 [cited by applicant]
US 20230376227A1 · Navon et al. · 2023 [cited by applicant]