IP Library Granted Patent US 12,468,640
Granted Patent B2
US 12,468,640 · App. 18/123,252 · Granted Nov 11, 2025

Systems and methods for sending a command to a storage device

Inventors: Marie Mai Nguyen (Pittsburgh, PA); Heekwon Park (San Jose, CA); Tong Zhang (Mountain View, CA); Ho Bin Lee (San Jose, CA); Rekha Pitchumani (Oak Hill, IS); Yang Seok Ki (Palo Alto, CA)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
G06F12/1491G06F12/0269G06F2212/1052
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,468,640
App. No.
18/123,252
Granted
Nov 11, 2025
Kind
B2
Abstract

A method includes storing, at a computing device, access granularity criteria associated with a memory area. The method further includes receiving a memory operation request requesting access to a first portion of the memory area at the first access granularity. The method further includes in response to the memory operation request satisfying the access granularity criteria, sending, from the computing device, a command to a storage device based on the memory operation request.

Claims (45)

1 . A method comprising:

storing, at a computing device, access granularity criteria associated with a memory area;

receiving a first memory operation request that is based on a first cache coherent protocol, the first memory operation request requesting access to a file associated with the memory area via a file system associated with accessing the memory area at a first access granularity;

receiving a second memory operation request that is based on a second cache coherent protocol different from the first cache coherent protocol, the second memory operation request requesting access to the file via a virtual memory different from the file system, the virtual memory being associated with accessing the memory area at a second access granularity different from the first access granularity; and

based on the access granularity criteria indicating that memory operation requests associated with the first cache coherent protocol are permitted to access the memory area, sending, from the computing device, a command to a storage device based on the first memory operation request.

2 . The method of claim 1 , further comprising:

based on the access granularity criteria indicating that memory operation requests associated with the second cache coherent protocol are prohibited from accessing the memory area, outputting an indication that the second memory operation request is rejected.

3 . The method of claim 1 , further comprising:

storing an updated access granularity criteria;

receiving a third memory operation request requesting access to a second portion of the memory area at a third access granularity; and

in response to the third memory operation request satisfying the updated access granularity criteria, sending, from the computing device, a second command to the storage device based on the third memory operation request.

4 . The method of claim 3 , wherein the updated access granularity criteria is stored in response to a request from an application.

5 . The method of claim 3 , further comprising initiating a cache flush at the storage device.

6 . The method of claim 1 , wherein the memory area corresponds to a file.

7 . The method of claim 1 , wherein the memory area corresponds to a region of a file.

8 . The method of claim 1 , wherein the memory area corresponds to a range of addresses in an address space.

9 . The method of claim 1 , wherein the access granularity criteria corresponds to a lock on the virtual memory address range associated with accessing the memory area at the second access granularity.

10 . A computer readable storage device storing instructions executable by a processor to perform operations including:

storing, at a computing device, access granularity criteria associated with a memory area;

receiving a first memory operation request that is based on a first cache coherent protocol, the first memory operation request requesting access to a file associated with the memory area via a file system associated with accessing the memory area at a first access granularity;

receiving a second memory operation request that is based on a second cache coherent protocol different from the first cache coherent protocol, the second memory operation request requesting access to the file via a virtual memory different from the file system, the virtual memory being associated with accessing the memory area at a second access granularity different from the first access granularity; and

based on the access granularity criteria indicating that memory operation requests associated with the first cache coherent protocol are permitted to access the memory area, sending, from the computing device, a command to a storage device based on the first memory operation request.

11 . The computer readable storage device of claim 10 , wherein the operations further include:

based on the access granularity criteria indicating that memory operation requests associated with the second cache coherent protocol are prohibited from accessing the memory area, outputting an indication that the second memory operation request is rejected.

12 . The computer readable storage device of claim 10 , wherein the operations further include:

storing an updated access granularity criteria;

receiving a third memory operation request requesting access to a second portion of the memory area at a third access granularity; and

in response to the third memory operation request satisfying the updated access granularity criteria, sending, from the computing device, a second command to the storage device based on the third memory operation request.

13 . The computer readable storage device of claim 12 , wherein the updated access granularity criteria is stored in response to a request from an application.

14 . The computer readable storage device of claim 12 , wherein the operations further include initiating a cache flush at the storage device.

15 . The computer readable storage device of claim 11 , wherein the memory area corresponds to a file.

16 . The computer readable storage device of claim 11 , wherein the memory area corresponds to a region of a file.

17 . A system comprising:

a storage device; and

a computing device configured to:

store access granularity criteria associated with a memory area of the storage device;

receive a first memory operation request that is based on a first cache coherent protocol, the first memory operation request requesting access to a file associated with the memory area via a file system associated with accessing the memory area at a first access granularity;

receive a second memory operation request that is based on a second cache coherent protocol different from the first cache coherent protocol, the second memory operation request requesting access to the file via a virtual memory different from the file system, the virtual memory being associated with accessing the memory area at a second access granularity different from the first access granularity; and

based on the access granularity criteria indicating that memory operation requests associated with the first cache coherent protocol are permitted to access the memory area, send, from the computing device, a command to a storage device based on the first memory operation request.

18 . The system of claim 17 , wherein the computing device is further configured to output, based on the access granularity criteria indicating that memory operation requests associated with the second cache coherent protocol are prohibited from accessing the memory area, an indication that the second memory operation request is rejected.

19 . The system of claim 17 , wherein the computing device is further configured to:

store an updated access granularity criteria;

receive a third memory operation request requesting access to a second portion of the memory area at a third access granularity; and

in response to the third memory operation request satisfying the updated access granularity criteria, send a second command to the storage device based on the third memory operation request.

20 . The system of claim 17 , wherein the storage device includes a cache, and wherein the computing device is further configured to initiate eviction of an entry in the cache.

Continuity (2)
Provisional Application 63322221 · Mar 21, 2022
Related Publication 20230297517A1 · Sep 21, 2023
References Cited (23)
US 7930487B1 · Faibish et al. · 2011 [cited by applicant]
US 9213717B1 · Pawar et al. · 2015 [cited by applicant]
US 9389787B2 · McCarthy et al. · 2016 [cited by applicant]
US 9792221B2 · Richter et al. · 2017 [cited by applicant]
US 10635598B2 · Veal et al. · 2020 [cited by applicant]
US 20130304979A1 · Zimmer · 2013 [cited by examiner]
US 20200104275A1 · Sen et al. · 2020 [cited by applicant]
US 20200257456A1 · Bernat · 2020 [cited by applicant]
US 20210109666A1 · Palmer · 2021 [cited by examiner]
US 20210373951A1 · Malladi et al. · 2021 [cited by applicant]
US 20220004488A1 · Paul et al. · 2022 [cited by applicant]
US 20220405212A1 · Kakaiya et al. · 2022 [cited by applicant]
EP 3018588B1 · 2020 [cited by applicant]
Ardestani, Ehsan K. et al., “Supporting Massive DLRM Inference through Software Defined Memory”, 2022 IEEE 42nd International Conference on Distributed Computing Systems (ICDCS), Bologna, Italy, 2022, pp. 302-312. [cited by applicant]
Biswas, Arijit et al., “Next-Gen Intel Xeon CPU—Sapphire Rapids,” in HotChips, 2021, 22 pages. [cited by applicant]
European Extended Search Report for Application No. 23163039.3, mailed Jul. 17, 2023. [cited by applicant]
Gray Jim N. et al., “Granularity of Locks in a Shared Data Base,” Proceedings of the 1st International Conference on Very Large Data Bases, 1975, pp. 428-451. [cited by applicant]
Gupta, Udit et al., DeepRecSys: A System for Optimizing End-To-End At-Scale Neural Recommendation Inference,, 2020 ACM/IEEE 47th Annual International Symposium on Computer Architecture (ISCA), 2020, 14 pages. [cited by applicant]
Iyer, Ravi et al., “Advances in Microprocessor Cache Architectures Over the Last 25 Years,” IEEE Micro, vol. 41, No. 6, 2021. [cited by applicant]
Lee, Gyusun et al., “Asynchronous I/O Stack: A Low-latency Kernel I/O Stack for Ultra-Low Latency SSDs,” Proceedings of the 2019 USENIX Annual Technical Conference, ATC 2019, 2019, 15 pages. [cited by applicant]
Scales, Daniel J. et al., “Shasta: A Low Overhead, Software-Only Approach for Supporting Fine-Grain Shared Memory,” Proceedings of the Seventh International Conference on Architectural Support for Programming Languages … [cited by applicant]
Sethi, Geet et al., “RecShard: Statistical Feature-Based Memory Optimization for Industry-Scale Neural Recommendation,” ASPLOS '22, 2022, 15 pages. [cited by applicant]
Yoon, Doe Hyun et al., “Adaptive Granularity Memory Systems: A Tradeoff Between Storage Efficiency and Throughput,” Proceedings of the 38th Annual International Symposium on Computer Architecture, 2011, 12 pages. [cited by applicant]