IP Library Granted Patent US 11,113,214
Granted Patent B2
US 11,113,214 · App. 16/550,004 · Granted Sep 7, 2021

Controlling data transfers between a tier of persistent data storage and processor memory with a high-speed fabric controller

Inventors: Jeffrey R. Hamilton (Pittsboro, NC); Sumanta K. Bahali (Cary, NC); Peter R. Seidel (Cary, NC); Brian E. Bigelow (Apex, NC); Juan Q. Hernandez (Garner, NC)
Assignee: LENOVO Enterprise Solutions (Singapore) PTE. LTD
G06F13/1673G06F3/0613G06F3/0659G06F3/0673G06F13/36
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,113,214
App. No.
16/550,004
Granted
Sep 7, 2021
Kind
B2
Abstract

An apparatus for memory management a high-speed fabric controller and a memory controller connected between a high-speed memory and a processor. The memory controller is configured to control processor access to the high-speed memory over a memory bus between the processor and the high-speed memory. The apparatus includes a high-speed data connection between the memory controller and the high-speed fabric controller and a data connection between a tier of persistent data storage and the high-speed fabric controller. The high-speed fabric controller is configured to control data transfers between the tier of persistent data storage over and the high-speed memory independent of the processor.

Claims (43)

1. An apparatus comprising:

a high-speed fabric controller;

a memory controller connected between a high-speed memory and a processor, the memory controller configured to control processor access to the high-speed memory over a memory bus between the processor and the high-speed memory;

a data connection between the processor and the high-speed fabric controller;

a high-speed data connection between the memory controller and the high-speed fabric controller; and

a data connection between a tier of persistent data storage and the high-speed fabric controller,

wherein the high-speed data connection between the memory controller and the high-speed fabric controller is separate from of the connection between the processor and the high-speed fabric controller, and

wherein the high-speed fabric controller is configured to control data transfers between the tier of persistent data storage and the high-speed memory over the high-speed data connection and independent of the processor.

2. The apparatus of claim 1 , wherein the high-speed fabric controller is configured to transfer data between the high-speed memory and the tier of persistent data storage without the data passing through the processor.

3. The apparatus of claim 1 , wherein the high-speed fabric controller is configured to control data transfers between the tier of persistent data storage over and the high-speed memory over the high-speed data connection without involvement of the processor.

4. The apparatus of claim 1 , wherein the high-speed data connection is a first high-speed data connection, the processor is a first processor, the memory controller is a first memory controller and the high-speed memory is a first high-speed memory and further comprising a second high-speed data connection between the high-speed fabric controller and a second memory controller connected between to a second high-speed memory and a second processor, the second memory controller configured to control second processor access to the second high-speed memory over a memory bus between the second processor and the second high-speed memory and wherein the high-speed fabric controller is configured to control data transfers between one or more of the first high-speed memory, the tier of persistent data storage and the second high-speed memory independent of the first processor and the second processor.

5. The apparatus of claim 4 , wherein the high-speed fabric controller is configured to manage spare data capacity of the first high-speed memory and the second high-speed memory to share spare data capacity so that spare data capacity of the first high-speed memory and the second high-speed memory is less than spare data capacities of not sharing spare data capacity.

6. The apparatus of claim 1 , wherein the tier of persistent data storage is a first tier of persistent data storage and further comprising one or more additional tiers of persistent data storage and wherein the high-speed fabric controller further comprises a data tiering aggregator that is configured to control data tiering between the high-speed memory, the first tier of persistent data storage and the one or more additional tiers of persistent data storage.

7. The apparatus of claim 6 , wherein the data tiering aggregator is configured to manage data tiering independent of caching instructions from the processor.

8. The apparatus of claim 6 , wherein the processor comprises a pre-fetch queue and requests data caching through the pre-fetch queue and the data tiering aggregator accesses the pre-fetch queue to fulfil caching requests from the processor.

9. The apparatus of claim 6 , wherein the first tier of persistent data storage and the one or more additional tiers of persistent data storage are connected to the high-speed fabric controller over a high-speed data connection.

10. The apparatus of claim 6 , wherein the high-speed memory and each tier of persistent data storage comprise a different data storage speed and the data tiering aggregator is configured to manage data tiering based on data storage speeds of the high-speed memory and each tier of persistent data storage.

11. The apparatus of claim 6 , wherein the data tiering aggregator is configured to present data to the processor as a single data source without respect to a data tier of data storage controlled by the high-speed fabric controller.

12. The apparatus of claim 1 , wherein data connection between the memory controller and the processor comprises a parallel memory interface.

13. The apparatus of claim 1 , wherein the memory controller is configured to respond to commands from the processor and the high-speed fabric controller.

14. An apparatus comprising:

a high-speed fabric controller comprising a data tiering aggregator;

a memory controller connected between a high-speed memory and a processor, the memory controller configured to control processor access to the high-speed memory over a memory bus between the processor and the high-speed memory;

a high-speed data connection between the memory controller and the high-speed fabric controller;

a data connection between a first tier of persistent data storage and the high-speed fabric controller; and

a data connection between each of one or more additional tiers of persistent data storage and the high-speed fabric controller;

a data connection between the processor and the high-speed fabric controller,

wherein the data tiering aggregator is configured to control data tiering between the high-speed memory, the first tier of persistent data storage and the one or more additional tiers of persistent data storage, and

wherein the high-speed fabric controller is configured to control data transfers between the first tier of persistent data storage and the high-speed memory independent of the processor without the data passing through the processor.

15. The apparatus of claim 14 , wherein the data tiering aggregator is configured to manage data tiering independent of caching instructions from the processor.

16. The apparatus of claim 14 , wherein the high-speed memory and each tier of persistent data storage comprise a different data storage speed and the data tiering aggregator is configured to manage data tiering based on the data storage speeds of the high-speed memory and each tier of persistent data storage.

17. The apparatus of claim 14 , wherein the data tiering aggregator is configured to present data to the processor as a single data source without respect to a data tier of data storage controlled by the high-speed fabric controller.

18. A system comprising:

a processor;

a high-speed memory connected to the processor over a memory bus;

a high-speed fabric controller;

a memory controller connected between the high-speed memory and the processor, the memory controller configured to control processor access to the high-speed memory over the memory bus;

a data connection between the processor and the high-speed fabric controller;

a high-speed data connection between the memory controller and the high-speed fabric controller; and

a data connection between each of one or more tiers of persistent data storage and the high-speed fabric controller,

wherein the high-speed data connection between the memory controller and the high-speed fabric controller is separate from the connection between the processor and the high-speed fabric controller, and

wherein the high-speed fabric controller is configured to control data transfers between the one or more tiers of persistent data storage and the high-speed memory independent of the processor.

19. The system of claim 18 , wherein the high-speed data connection is a first high-speed data connection, the processor is a first processor, the memory controller is a first memory controller and the high-speed memory is a first high-speed memory, the system further comprising a second processor, a second high-speed memory, a second high-speed data connection between the high-speed fabric controller and a second memory controller connected between the second high-speed memory and the second processor, the second memory controller configured to control second processor access to the second high-speed memory over a parallel bus between the second processor and the second high-speed memory and wherein the high-speed fabric controller is configured to control data transfers between one or more of the first high-speed memory, the one or more tiers of persistent data storage and the second high-speed memory independent of the first processor and the second processor.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2025
From: LENOVO GLOBAL TECHNOLOGIES INTERNATIONAL LIMITED
To: LENOVO GLOBAL TECHNOLOGIES SWITZERLAND INTERNATIONAL GMBH
Reel/Frame 069869/0614 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2022
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE LTD
To: LENOVO GLOBAL TECHNOLOGIES INTERNATIONAL LTD
Reel/Frame 060490/0646 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2019
From: HAMILTON, JEFFREY R.; BAHALI, SUMANTA K.; SEIDEL, PETER R.; BIGELOW, BRIAN E.; HERNANDEZ, JUAN Q.
To: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
Reel/Frame 050799/0710 →