IP Library Granted Patent US 11,914,533
Granted Patent B2
US 11,914,533 · App. 17/939,944 · Granted Feb 27, 2024

Systems and methods for data prefetching for low latency data read from a remote server

Inventors: Yang Seok Ki (Palo Alto, CA); Sang Hun Jun (San Jose, CA)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
G06F13/1689G06F12/0238G06F12/1018G06F15/17331
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 11,914,533
App. No.
17/939,944
Filed
Sep 7, 2022
Granted
Feb 27, 2024
Kind
B2
Art Unit
2132
USPC
711/154
Abstract

A system is disclosed. The system may include a first device including a first processor, and a second device including a second processor, a memory, a first storage, and a second storage. The first storage may operate at a first speed, and the second storage may operate at a second speed that is slower than the first speed. The second device may be remote relative to the first device. The first device may load a metadata from a memory address in the memory of the second device. The first device may also access a data from the second device based at least in part on the metadata in the memory of the second device.

Claims (33)

1. A system, comprising:

a first device, the first device including a first processor; and

a second device, the second device including a second processor, a memory, a first storage that operates at a first speed, and a second storage that operates at a second speed, wherein the second speed is slower than the first speed,

wherein the second device is remote relative to the first device,

wherein the first device is configured to load a data address and a storage type for a data from a memory address of a hash table stored in the memory of the second device, and

wherein the first device is configured to access the data from the second device based at least in part on the data address and the storage type.

2. The system according to claim 1 , wherein the first device is further configured to load the data from the first storage of the second device based at least in part on the first storage being of the storage type.

3. The system according to claim 1 , wherein the first device is further configured to read the data from the second storage of the second device based at least in part on the second storage being of the storage type.

4. The system according to claim 1 , wherein the second device is configured to copy the data from the second storage of the second device to the first storage of the second device based at least in part on the first device loading the data address and the storage type from the memory address of the hash table stored in the memory of the second device.

5. The system according to claim 4 , wherein the second device is configured to prefetch a second data from the second storage of the second device to the first storage of the second device based at least in part on the first device loading the data address and the storage type from the memory address of the hash table stored in the memory of the second device.

6. A method, comprising:

loading, by a processor of a first device, a data address and a storage type from a memory address of a hash table stored in a memory of a second device, the second device remote relative to the first device;

identifying a storage of the second device based at least in part on the storage type;

identifying, by the processor of the first device, a storage of the second device based at least in part on the storage type; and

accessing, by the processor of the first device, the data from the storage of the second device based at least in part on the data address.

7. The method according to claim 6 , wherein identifying, by the processor of the first device, the storage of the second device based at least in part on the metadata storage type includes:

identifying, by the processor of the first device, that the storage type is a first storage type operating at a first speed; and

identifying the storage of the second device as operating at the first speed.

8. The method according to claim 7 , wherein accessing, by the processor of the first device, the data from the second device based at least in part on the data address includes loading, by the processor of the first device, the data from the storage of the second device based at least in part on the data address.

9. The method according to claim 6 , wherein identifying by the processor of the first device, the storage of the second device based at least in part on the metadata storage type includes:

identifying, by the processor of the first device, that the storage type is a second storage type operating at a second speed; and

identifying the storage of the second device as operating at the second speed.

10. The method according to claim 9 , wherein accessing, by the processor of the first device, the data from the second device based at least in part on the data address includes reading, by the processor of the first device, the data from the storage of the second device based at least in part on the data address.

11. A method, comprising:

detecting, by a first processor of a first device, that a second processor of a second device has accessed a data address and a storage type for a data from a memory address of a hash table stored in a memory of the first device, the second device remote relative to the first device;

determining, by the first processor of the first device, that a data associated with the data address and the storage type is currently stored on a first storage of the first device; and

prefetching, by the first processor of the first device, the data from the first storage of the first device into a second storage of the first device based at least in part on detecting that the second processor of the second device has accessed the data address and the storage type from the memory address of the hash table stored in the memory of the first device.

12. The method according to claim 11 , wherein detecting, by the first processor of the first device, that the second processor of the second device has accessed the data address and the storage type for the data from the memory address of the hash table stored in the memory of the first device includes detecting, by the first processor of the first device, that the second processor of the second device has accessed the data address and the storage type for the data from the memory address of the hash table stored in a hash table in the memory of the first device.

13. The method according to claim 11 , wherein detecting, by the first processor of the first device, that the second processor of the second device has accessed the data address and the storage type for the data from the memory address of the hash table stored in the memory of the first device includes detecting, by the first processor of the first device, a remote direct memory access (RDMA) of the memory address of the hash table stored in the memory of the first device by the second processor of the second device.

14. The method according to claim 11 , further comprising prefetching, by the first processor of the first device, a second data from the first storage of the first device into the second storage of the first device based at least in part on detecting that the second processor of the second device has accessed the data address and the storage type from the memory address of the hash table stored in the memory of the first device.

15. The system according to claim 1 , wherein at least one of the first storage or the second storage stores a translation layer associating a logical address used by the first device with a physical address used by the at least one of the first storage or the second storage.

16. The system according to claim 1 , wherein the first device is further configured to read the data from the second storage of the second device using a non-volatile memory express over fabric (NVMeoF) request.

17. The system according to claim 5 , wherein the second device is further configured to update a second memory address of the hash table in the memory of the second device based at least in part on prefetching the second data from the second storage of the second device to the first storage of the second device.

Continuity (2)
Provisional Application 63390618 · Jul 19, 2022
Related Publication 20240028530A1 · Jan 25, 2024