IP Library Granted Patent US 10,228,863
Granted Patent B2
US 10,228,863 · App. 15/813,354 · Granted Mar 12, 2019

Hierarchical pre-fetch pipelining in a hybrid memory server

Inventors: Yuk Lung Chan (Poughkeepsie, NY); Rajaram B. Krishnamurthy (Wappingers Falls, NY); Carl Joseph Parris (Rhinebeck, NY)
Assignee: International Business Machines Corporation
G06F3/061G06F3/065G06F3/067G06F3/0608G06F3/0644G06F3/0653G06F3/0685G06F3/0688G06F12/0862G06F12/0868G06F15/177G06F17/30132G06F17/30194G06F21/602H04L29/08729H04L41/5054H04L47/24G06F2212/264G06F2212/602
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 10,228,863
App. No.
15/813,354
Granted
Mar 12, 2019
Kind
B2
Abstract

A method, hybrid server system, and computer program product, prefetch data. A set of prefetch requests associated with one or more given datasets residing on the server system are received from a set of accelerator systems. A set of data is prefetched from a memory system residing at the server system for at least one prefetch request in the set of prefetch requests. The set of data satisfies the at least one prefetch request. The set of data that has been prefetched is sent to at least one accelerator system, in the set of accelerator systems, associated with the at least one prefetch request.

Claims (44)

1. A method, with an accelerator system in an out-of-core processing environment, comprising:

receiving, from a server comprising a memory system, an assignment of a first set of memory within the memory system that is to be managed by the accelerator system, where at least a second portion of memory within the memory system is managed by the server; and

writing data directly to the first set of memory at the server.

2. The method of claim 1 , wherein the first set of memory is private to the accelerator system.

3. The method of claim of 1 , wherein at least a third set of memory within the memory system is managed by at least one additional accelerator system.

4. The method of claim 3 , further comprising:

transmitting a message to the additional accelerator system utilizing the first set of memory and the third set of memory.

5. The method of claim 1 , wherein the first set of memory is communicatively coupled to the input-output bus of the server.

6. The method of claim 1 , wherein the first set of memory is private to the accelerator system and one or more other portions of memory within the memory system are accessible by a plurality of accelerator systems.

7. The method of claim 1 , further comprising:

receiving, from the server, a data set stored within at least one of the first set of memory and the second set of memory that is associated with the of accelerator system, wherein the data set has been transformed by the sever from a first format to a second format required by the accelerator system.

8. The method of claim 1 , wherein the accelerator system comprises at least one gated memory, and where the method further comprises:

selectively allowing the server to access the at least one gate memory.

9. The method of claim 1 , wherein the first set of memory comprises at least one flash memory module, and wherein the at least one flash memory module is communicatively coupled to an input-output bus of the server, the method further comprising:

communicating at least one data set residing within the flash memory to another accelerator system over the input-output bus of the server, and wherein the accelerator system and the another accelerator system have direct access to the at least one flash memory module.

10. An accelerator system in an out-of-core processing environment comprising:

a memory;

a processing core communicatively coupled to the memory; and

a data manager communicatively coupled to the memory and the processing core, wherein the data manager is configured to perform a method comprising:

receiving, from a server comprising a memory system, an assignment of a first set of memory within the memory system that is to be managed by the accelerator system, where at least a second portion of memory within the memory system is managed by the server; and

writing data directly to the first set of memory at the server.

11. The accelerator system of claim 10 , wherein the first set of memory is communicatively coupled to the input-output bus of the server.

12. The accelerator system of claim 10 , wherein the method further comprises:

receiving, from the server, a data set stored within at least one of the first set of memory and the second set of memory that is associated with the accelerator system, wherein the data set has been transformed by the sever from a first format to a second format required by the accelerator system.

13. The accelerator system of claim 10 , wherein the accelerator system further comprises:

at least one gated memory,

wherein the method further comprises:

selectively allowing the server to access the at least one gate memory.

14. The accelerator system of claim 10 , wherein the first set of memory comprises at least one flash memory module, and wherein the at least one flash memory module is communicatively coupled to an input-output bus of the server,

wherein the method further comprises:

communicating at least one data set residing within the flash memory to another accelerator system over the input-output bus of the server, and wherein the accelerator system and the another accelerator system have direct access to the at least one flash memory module.

15. A computer program product for accessing data in an out-of-core processing environment, the computer program product comprising:

a non-transitory storage medium readable by a processing circuit of an accelerator system in the out-of-core processing environment and storing instructions for execution by the processing circuit for performing a method comprising:

receiving, from a server comprising a memory system, an assignment of a first set of memory within the memory system that is to be managed by the accelerator system, where at least a second portion of memory within the memory system is managed by the server; and

writing data directly to the first set of memory at the server.

16. The computer program product of claim of 15 , wherein at least a third set of memory within the memory system is managed by at least one additional accelerator system.

17. The computer program product of claim 15 , wherein the first set of memory is communicatively coupled to the input-output bus of the server.

18. The computer program product of claim 15 , wherein the method further comprises:

receiving, from the server, a data set stored within at least one of the first set of memory and the second set of memory that is associated with the accelerator system, wherein the data set has been transformed by the sever from a first format to a second format required by the accelerator system.

19. The computer program product of claim 15 , wherein the accelerator system comprises at least one gated memory, and wherein the method further comprises

selectively allowing the server to access the at least one gate memory.

20. The computer program product of claim 15 , wherein the first set of memory comprises at least one flash memory module, and wherein the at least one flash memory module is communicatively coupled to an input-output bus of the server,

wherein the method further comprises:

communicating at least one data set residing within the flash memory to another accelerator system over the input-output bus of the server, and wherein the accelerator system and the another accelerator system have direct access to the at least one flash memory module.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 6, 2025
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: BLUE HERON DEVELOPMENT LLC
Reel/Frame 070130/0844 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE OF THE THIRD INVENTOR PREVIOUSLY RECORDED AT REEL: 044131 FRAME: 0822. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT . Recorded Mar 14, 2018
From: CHAN, YUK LUNG; KRISHNAMURTHY, RAJARAM B.; PARRIS, CARL JOSEPH
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 045829/0791 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2017
From: CHAN, YUK LUNG; KRISHNAMURTHY, RAJARAM B.; PARRIS, CARL JOSEPH
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 044131/0822 →
Continuity (5)
Continuation 15139405 · Apr 27, 2016
Division 13337704 · Dec 27, 2011
Continuation 12822760 · Jun 24, 2010
Continuation 12822790 · Jun 24, 2010
Related Publication 20180074705A1 · Mar 15, 2018