SHARED MEMORY SYSTEM
A method for sending data from a local memory device in a first computing device to an external memory device in a second computing device is described herein. In one example, a method includes configuring the local memory device to store data for the external memory device and detecting a request for data from the external memory device. The method also includes translating a memory address that corresponds to the requested data from an external memory address to a local memory address. Additionally, the method includes retrieving the requested data based on the local memory address and sending the requested data to the second computing device.
1 . A method for sending data from a local memory device in a first computing device to an external memory device in a second computing device comprising:
configuring the local memory device to store data for the external memory device;
detecting a request for data from the external memory device;
translating a memory address that corresponds to the requested data from an external memory address to a local memory address;
retrieving the requested data based on the local memory address; and
sending the requested data to the second computing device.
2 . The method of claim 1 , wherein configuring the local memory device to store data for the external memory device comprises allocating a portion of the local memory device for data storage for the external memory device.
3 . The method of claim 1 , wherein detecting a request for data from the external memory device comprises searching a configuration table to determine if the requested data resides in the local memory device or the external memory device.
4 . The method of claim 1 , wherein the requested data has a memory address in the local memory address space and a separate memory address in the external memory address space.
5 . The method of claim 3 , wherein the configuration table comprises a list of memory addresses from the external memory address space and a list of memory addresses from the local memory address space.
6 . The method of claim 5 , wherein the configuration table comprises a list of memory addresses from at least two external memory address spaces that correspond to at least two computing devices.
7 . The method of claim 1 , wherein the external memory address space comprises a range of discrete memory addresses, wherein each discrete memory address corresponds to data stored in a computing device.
8 . A system for retrieving data from an external memory device comprising:
a data translation module to translate a memory address from an external memory address space to a local memory address space;
a local memory device to store data; and
a processor to:
detect a request for data in the local memory device;
determine that the requested data resides in the external memory device;
send the request for data to the external memory device;
receive the requested data from the external memory device;
translate a memory address corresponding to the requested data from the external memory address space to the local memory address space; and
return the requested data with the translated memory address to a requestor.
9 . The system of claim 8 , wherein the requestor comprises one of an application, an operating system, and a hardware component.
10 . The system of claim 8 , wherein the data translation module comprises a configuration table, wherein the configuration table comprises a list of memory addresses from the external memory address space and a list of memory addresses from the local memory address space.
11 . The system of claim 10 , wherein the configuration table comprises a list of memory addresses from at least two external memory address spaces that correspond to at least two computing devices.
12 . A non-transitory, computer-readable medium comprising a plurality of instructions that, in response to being executed on a computing device, cause the computing device to:
detect a request for data in a local memory device;
determine that the requested data resides in an external memory device;
send the request for data to the external memory device;
receive the requested data from the external memory device;
translate a memory address corresponding to the requested data from the external memory address space to the local memory address space; and
return the requested data with the translated memory address to a requestor.
13 . The computer-readable medium of claim 12 , wherein the requestor comprises one of an application, an operating system, and a hardware component.
14 . The computer-readable medium of claim 12 , comprising a plurality of instructions that, in response to being executed on a computing device, cause the computing device to generate a configuration table, wherein the configuration table comprises a list of memory addresses from the external memory address space and a list of memory addresses from the local memory address space.
15 . The computer-readable medium of claim 12 , wherein the requested data has a memory address in the local memory address space and a separate memory address in the external memory address space.