Device-managed host buffer
First Claim
1. A method for virtually increasing a size of a cache of a peripheral device that is connectable to a host, the method comprising acts of:
- querying the host whether memory is available in a memory space of the host; and
allocating additional cache memory from the memory space of the host for use by the peripheral device if memory is available in the memory space of the host.
5 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus is provided to virtually increase the size of the memory cache of a peripheral device without additional cost. A portion of the memory space of a host computer is used as additional cache memory for the peripheral device. The peripheral device and the host computer may be interfaced with an interface that has a first-party direct memory access (FPDMA) mechanism, for example, IEEE 1394 or Serial ATA. FPDMA allows the peripheral device to access the memory space of the host computer under the control of the peripheral device. The host computer provides the peripheral device with the location of the additional cache memory. The peripheral device can transfer data to and from the additional cache memory via FPDMA. The peripheral device effectively manages the additional cache memory as part of the peripheral device'"'"'s own cache.
27 Citations
30 Claims
-
1. A method for virtually increasing a size of a cache of a peripheral device that is connectable to a host, the method comprising acts of:
-
querying the host whether memory is available in a memory space of the host; and
allocating additional cache memory from the memory space of the host for use by the peripheral device if memory is available in the memory space of the host. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method for virtually increasing a size of a cache of a data storage device that is connectable to a host, the method comprising acts of:
-
querying the host whether memory is available in a memory space of the host;
allocating additional cache memory from the memory space of the host for use by the data storage device if memory is available in the memory space of the host;
providing the data storage device with a location of the additional cache memory assigned;
evaluating whether data should be transferred from the cache of the data storage device to the additional cache memory;
transferring data from the cache of the data storage device to the additional cache memory when data should be transferred from the cache of the data storage device to the additional cache memory;
evaluating whether host requested data is in the cache of the data storage device if the host requests the requested data;
transferring the requested data to the host if the requested data is in the cache of the data storage device;
evaluating whether the requested data is in the additional cache memory if the requested data is not in the cache of the data storage device;
retrieving the requested data from the data storage device if the requested data is not in the additional cache memory; and
transferring data from the additional cache memory to the cache of the data storage device via first-party direct memory access if the requested data is in the additional cache memory.
-
-
17. A peripheral device that is connectable to a host, the peripheral device comprising:
-
a memory cache in the peripheral device; and
means for using a portion of a memory space of the host as additional cache memory for the peripheral device. - View Dependent Claims (18, 19, 20)
-
-
21. A peripheral device connectable to a host having a memory space, the device comprising:
-
a cache memory in the peripheral device; and
a module in the peripheral device for allocating additional cache memory from the memory space of the host for use by the peripheral device if memory is available in the memory space of the host. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
Specification