IP Library Granted Patent US 12689682
Granted Patent B2
US 12689682 · App. 18/589,418 · Granted Jul 21, 2026

Systems and methods for high-performance prefetching

Inventors: Marie Mai Nguyen (Pittsburgh, PA); Shaleen Garg (New Brunswick, NJ); Sudarsun Kannan (Rahway, NJ); Manish Parashar (Salt Lake City, UT); Rekha Pitchumani (Oak Hill, VA)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
H04L67/34G06F12/0882
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 12689682
App. No.
18/589,418
Granted
Jul 21, 2026
Kind
B2
Abstract

Methods and apparatuses described herein may include requesting, by an application via a runtime-level interface, a data structure from an operating system (OS) for use in prefetching data for the application. The methods and apparatus may also include receiving, by the application via the runtime-level interface from the OS, the data structure, in some embodiments. The methods and apparatuses may also include prefetching, by the application data to be used in the application based on the information in the data structure.

Claims (38)

1 . A method comprising:

requesting, by an application via an application interface, a per-file data structure that comprises a concurrent per-file range tree from an Operating System (OS) for use in retrieving data for the application, the per-file data structure storing prefetching-related information;

receiving, by the application via the application interface, from the OS the per-file data structure; and

retrieving, by the application, data to be used in the application based on the prefetching-related information in the per-file data structure.

2 . The method of claim 1 , wherein the per-file data structure comprises a bitmap.

3 . The method of claim 2 , wherein a bit in the bitmap maps to a block in the concurrent per-file range tree.

4 . The method of claim 3 , wherein the per-file data structure is modified by the OS based on read, write, and retrieval operations.

5 . The method of claim 1 , wherein the application uses an application copy of the per-file data structure to check for cached pages.

6 . The method of claim 1 , wherein the application uses a counter to track and update a state of the data.

7 . The method of claim 1 , further comprising:

modifying, by the application, the per-file data structure based on the application's use of the data; and

transmitting the per-file data structure to the OS based on modifying the per-file data structure.

8 . The method of claim 1 , wherein the concurrent per-file range tree comprises a node representing a contiguous range of blocks.

9 . A computing apparatus comprising:

a processor, and

a memory storing instructions that, when executed by the processor, configure the apparatus to:

request, by an application via an application interface, a data structure that comprises a bitmap from an Operating System (OS) for use in retrieving data for the application, the data structure storing per-file cache state information;

receive, by the application via the application interface, from the OS the data structure; and

retrieving, by the application, data to be used in the application based on the per-file cache state information in the data structure.

10 . The computing apparatus of claim 9 , wherein the data structure comprises a concurrent per-file range tree.

11 . The computing apparatus of claim 10 , wherein a bit in the bitmap maps to a block in the concurrent per-file range tree.

12 . The computing apparatus of claim 9 , wherein the data structure is modified by the OS based on read, write, and retrieve operations.

13 . The computing apparatus of claim 9 , wherein the application uses an application copy of the data structure to check for cached pages.

14 . The computing apparatus of claim 9 , wherein the memory storing instructions that, when executed by the processor, further configure the apparatus to:

modify, by the application, the data structure based on the application's use of the data; and

transmit the data structure to the OS based on modifying the data structure.

15 . The computing apparatus of claim 9 , wherein the data structure comprises a node with a corresponding per-node range and per-node lock.

16 . A system comprising:

an operating system (OS);

a memory; and

an application with an application interface configured to:

request, by the application, via the application interface, a per-file data structure that comprises a concurrent per-file range tree from the OS for use in retrieving data for the application, the per-file data structure storing prefetching-related information;

receive, by the application via the application interface, from the OS the per-file data structure; and

retrieve, by the application, data to be used in the application based on the prefetching-related information in the per-file data structure and a detected access pattern associated with the data.

17 . The system of claim 16 , wherein the per-file data structure comprises a bitmap.

18 . The system of claim 17 , wherein a bit in the bitmap maps to a block in the concurrent per-file range tree.

19 . The system of claim 18 , wherein the per-file data structure is modified by the OS based on read, write, and retrieval operations.

20 . The system of claim 16 , wherein the concurrent per-file range tree comprises a node representing a contiguous range of blocks.