US2006112252A1PendingUtilityA1

Device-managed host buffer

Assignee: SEAGATE TECHNOLOGY LLCPriority: May 22, 2003Filed: Nov 2, 2005Published: May 25, 2006
Est. expiryMay 22, 2023(expired)· nominal 20-yr term from priority
Inventors:Robert W. Dixon
G06F 12/0866G06F 2212/311G06F 2212/312G06F 12/0897
49
PatentIndex Score
0
Cited by
0
References
0
Claims

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.

Claims

exact text as granted — not AI-modified
1 - 30 . (canceled)  
     
     
         31 . A method for virtually increasing a size of a cache of a peripheral device that is connectable to a second device, comprising: 
 querying the second device whether memory is available in a memory space of the second device; and    allocating additional cache memory from the memory space of the second device for use by the peripheral device if memory is available in the memory space of the second device.    
     
     
         32 . The method of  claim 31 , further comprising: 
 managing the additional cache memory via the peripheral device.    
     
     
         33 . The method of  claim 32 , further comprising: 
 providing the peripheral device with a location of the additional cache memory assigned.    
     
     
         34 . The method of  claim 32 , wherein managing the additional cache memory comprises: 
 evaluating whether data should be transferred from the cache of the peripheral device to the additional cache memory; and    transferring data from the cache of the peripheral device to the additional cache memory if the data should be transferred.    
     
     
         35 . The method of  claim 32 , wherein managing the additional cache memory further comprises: 
 if the second device requests data, evaluating whether the requested data is in the cache of the peripheral device;    transferring the requested data to the second device if the requested data is in the cache of the peripheral device; and    evaluating whether the requested data is in the additional cache memory if the requested data is not in the cache of the peripheral device.    
     
     
         36 . The method of  claim 34 , wherein managing the additional cache memory further comprises: 
 transferring the requested data from the additional cache memory to the cache of the peripheral device via first-party direct memory access if the requested data is in the additional cache memory.    
     
     
         37 . The method of  claim 32 , wherein managing the additional cache memory further comprises: 
 providing the second device with a location of data requested by the second device in the memory space of the second device if the requested data is in the additional cache memory.    
     
     
         38 . The method of  claim 34 , wherein evaluating whether data should be transferred comprises: 
 evaluating whether the cache of the peripheral device is full if new data is to be stored in the cache of the peripheral device.    
     
     
         39 . The method of  claim 34 , wherein transferring data from the cache of the peripheral device comprises: 
 indicating to the second device an address of the second device that will be written to;    waiting to receive a signal from the second device indicating that the second device is ready to receive data at the indicated address; and    sending the data to the indicated address upon receipt of the signal from the second device.    
     
     
         40 . The method of  claim 34 , wherein transferring data from the cache is performed with a serial advanced technology attachment (ATA) protocol, wherein the serial ATA protocol includes a first-party direct memory access mechanism.  
     
     
         41 . The method of  claim 35 , wherein evaluating whether the requested data is in the additional cache memory comprises: 
 searching a cache table that is stored in the memory of the peripheral device.    
     
     
         42 . The method of  claim 35 , wherein evaluating whether the requested data is in the additional cache memory comprises: 
 retrieving a cache table from the second device; and    searching the cache table for the requested data.    
     
     
         43 . The method of  claim 36 , wherein transferring data from the additional cache memory is performed with a serial advanced technology attachment (ATA) protocol, wherein the serial ATA protocol includes a first-party direct memory access mechanism.  
     
     
         44 . The method of  claim 31 , wherein the peripheral device is a hard disk drive, wherein querying the second device comprises querying a host computer whether memory is available in a memory space of the host computer; and wherein allocating additional cache memory comprises allocating additional cache memory from the memory space of the host computer for use by the hard disk drive if memory is available in the memory space of the host computer.  
     
     
         45 . A method for virtually increasing a size of a cache of a peripheral device that is connectable to a host computer, comprising: 
 querying the host computer whether memory is available in a memory space of the host computer; and    allocating additional cache memory from the memory space of the host computer for use by the peripheral device if memory is available in the memory space of the host computer.    
     
     
         46 . The method of  claim 45 , wherein the data storage device comprises a hard disc drive.  
     
     
         47 . The method of  claim 45 , further comprising: 
 indicating to the host computer an address in the memory space of the host computer that will be read from if requested data is in the additional cache memory;    waiting to receive a signal from the host computer indicating that the data at the indicated address is ready to be read; and    reading the data from the indicated address upon receipt of the host signal.    
     
     
         48 . A peripheral device connectable to a second device having a memory space, the peripheral device comprising: 
 a cache memory; and    a module that allocates additional cache memory from the memory space of the second device for use by the peripheral device.    
     
     
         49 . The device of  claim 48  wherein the module further manages operation of the additional cache memory.  
     
     
         50 . The device of  claim 48  wherein the module further stores a location of the additional cache memory.  
     
     
         51 . The device of  claim 48 , wherein the module further evaluates whether data should be transferred from the cache of the peripheral device to the additional cache memory, and manages transfer of data from the cache of the peripheral device to the additional cache memory if the data should be transferred.  
     
     
         52 . The device of  claim 51 , wherein the module further evaluates whether data requested by the host is in the cache of the peripheral device, transfers the requested data to the second device if the requested data is in the cache of the peripheral device, and evaluates whether the requested data is in the additional cache memory if the requested data is not in the cache of the peripheral device.  
     
     
         53 . The device of  claim 52 , wherein the module transfers the requested data from the additional cache memory to the cache of the peripheral device via first-party direct memory access if the requested data is in the additional cache memory.  
     
     
         54 . The device of  claim 51 , wherein the module evaluates whether the cache of the peripheral device is full if new data is to be stored in the cache of the peripheral device.  
     
     
         55 . The device of  claim 51 , wherein the module indicates to the second device an address of the second device that will be written to, waits to receive a signal from the second device indicating that the second device is ready to receive data at the indicated address, and sends the data to the indicated address upon receipt of the signal.  
     
     
         56 . The device of  claim 51 , wherein the data transferred from the cache is transferred via a serial advanced technology attachment (ATA) protocol, wherein the serial ATA protocol includes a first-party direct memory access mechanism.  
     
     
         57 . The device of  claim 48 , wherein the module further provides the second device with a location of data requested by the second device if the requested data is in the additional cache memory.  
     
     
         58 . The device of  claim 48 , wherein the module is adapted to search a cache table that is stored in the memory of the peripheral device.  
     
     
         59 . The device of  claim 48 , wherein the peripheral device is a data storage device.  
     
     
         60 . The device of  claim 48 , wherein the peripheral device is a hard disc drive.  
     
     
         61 . The device of  claim 48 , wherein the second device is a host computer.

Join the waitlist — get patent alerts

Track US2006112252A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.