Memory server
First Claim
Patent Images
1. A system of memory service for computing, comprising:
- a client device including a first processor or processing core that is capable of processing an application, and a memory system; and
the client device including a built-in memory server connected to the memory system of the client device, the memory server including;
a prefetch engine for observing a data access pattern of the application processed by the client device and predicting future data requests of the client device;
a memory management engine for fetching predicted data, and including a data propeller for transferring predicted data higher in a memory hierarchy of the client and closer to the first processor or processing core; and
a second processor or processing core for processing the prefetch engine and the memory management engine.
1 Assignment
0 Petitions
Accused Products
Abstract
A memory server provides data access as a service to clients and has a memory service architecture and components for removing data management burdens from the client processor and providing increased speed and utility for the client through aggressive prediction of client memory requirements and fast provision of data.
58 Citations
20 Claims
-
1. A system of memory service for computing, comprising:
-
a client device including a first processor or processing core that is capable of processing an application, and a memory system; and the client device including a built-in memory server connected to the memory system of the client device, the memory server including; a prefetch engine for observing a data access pattern of the application processed by the client device and predicting future data requests of the client device; a memory management engine for fetching predicted data, and including a data propeller for transferring predicted data higher in a memory hierarchy of the client and closer to the first processor or processing core; and a second processor or processing core for processing the prefetch engine and the memory management engine. - View Dependent Claims (2, 3, 4, 19)
-
-
5. A memory server for improving an operation of a client memory system of a client device, comprising:
-
a memory server processor or processing core dedicated to the memory server; the memory server built in with the client device and connected to a client memory system for managing data needs for the client memory system or a client application processor; a prefetch engine for observing a data access pattern of an application processed by the client device and predicting future data requests of the client device; a memory management engine for fetching predicted data, and including a data propeller for transferring predicted data higher in a memory hierarchy of the client and closer to the first processor or processing core; and the memory server operably connectable to the client memory system for the client application processor or client memory system to receive data from the memory server, whereby the client application processor can be relieved of a data management burden by the memory processor to increase an application processing speed of the client application processor. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A memory server device for installation within a client device, comprising:
-
a) means for communicating with the client device when installed within the client device; b) a memory server architecture, including; i) a memory service provider process running on the memory server and initiating data transfers to higher in a memory hierarchy of the client device; ii) a miss handler daemon process for taking on-demand misses from the client'"'"'s local memory; and
transferring data access requests from the client to a data access pattern table;iii) a data access pattern table for tracking and storing historical data access request patterns from the client device;
to help predict future data requests of the client device;iv) a future access predictor daemon process for predicting the future data requests of the client based on the information from the data access pattern table and for passing a predicted reference to a data propeller module; v) a data propeller module for handling the data transfers and pushing missed data from the miss handler daemon and predicted data from future access predictor daemon process higher in the memory hierarchy of the client device; and c) whereby; i) the client device requests an initial data reference; ii) the data propeller module obtains the requested data reference and sends a plurality of lines of data from the requested address space to a client device cache; iii) the miss handler daemon collects any missed data references from the cache and local memory and stores the missed data references access information in the data access pattern table;
the miss handler daemon alerts the data propeller module when a cache miss occurs and the data propeller sends the missed data immediately without waiting for the future access predictor daemon; andiv) the future access predictor daemon predicts the next data reference based on previous client data accesses and the data propeller retrieves and pushes the predicted data into the cache of the client device, while tracking cache misses, and dynamically fine-tunes its predictions of future data based on an increasing amount of access pattern information for the client application. - View Dependent Claims (16, 17, 18, 20)
-
Specification