Claims
- 1. A method of using a local storage device to read desired data stored on a remote storage device that receives chunks of data from the local storage device, comprising:
if the desired data is entirely in a cache of the local storage device, the local storage device returning the data from the cache; and if the desired data is not entirely in a cache of the local storage device, reading data from the remote storage device to the local storage device and the local storage device merging the data from the remote storage device with data from the local storage device at the local storage device.
- 2. A method, according to claim 1, further comprising:
prior to reading data from the remote storage device to the local storage device, creating a temporary storage area at the local storage device if there is data from the local storage device that is to be read.
- 3. A method, according to claim 2, wherein the temporary storage area is a scratch slot.
- 4. A method, according to claim 3, further comprising:
prior to creating a temporary storage area, locking slots of the local storage device that correspond to of data from the local storage device that is to be read.
- 5. A method, according to claim 4, further comprising:
after merging the data, unlocking the slots of the local storage device that correspond to of data from the local storage device that is to be read.
- 6. A method, according to claim 1, wherein the data from the local storage area is merged on top of data from the remote storage area.
- 7. A method, according to claim 1, further comprising:
the remote storage device allocating a temporary storage area in response to data to be read being stored in a cache slot of the remote storage device.
- 8. A method, according to claim 7, further comprising:
reading data from the disk of the remote storage area into the temporary storage area; and merging the data to be read stored in the cache slot with data from a disk in the temporary storage area.
- 9. A method, according to claim 7, further comprising:
prior to the remote storage area determining if there is data to be read stored in a cache slot of the remote storage device, the remote storage device writing at least a portion of the data from at least one cache slot of the remote storage device to a disk of the remote storage device.
- 10. Computer software that reads desired data stored on a remote storage device that receives chunks of data from a local storage device, comprising:
executable code that returns the data from the cache if the desired data is entirely in a cache of the local storage device; and executable code that reads data from the remote storage device to the local storage device and merges the data from the remote storage device with data from the local storage device at the local storage device if the desired data is not entirely in a cache of the local storage device.
- 11. Computer software, according to claim 10, further comprising:
executable code that creates a temporary storage area at the local storage device if there is data from the local storage device that is to be read prior to reading data from the remote storage device to the local storage device.
- 12. Computer software, according to claim 11, wherein the temporary storage area is a scratch slot.
- 13. Computer software, according to claim 12, further comprising:
executable code that locks slots of the local storage device that correspond to of data from the local storage device that is to be read prior to creating a temporary storage area.
- 14. Computer software, according to claim 13, further comprising:
executable code that unlocks the slots of the local storage device that correspond to of data from the local storage device that is to be read after merging the data.
- 15. Computer software, according to claim 10, wherein the data from the local storage area is merged on top of data from the remote storage area.
- 16. Computer software, according to claim 10, further comprising:
executable code that allocates a temporary storage area at the remote storage device in response to data to be read being stored in a cache slot of the remote storage device.
- 17. Computer software, according to claim 16, further comprising:
executable code that reads data from the disk of the remote storage area into the temporary storage area; and executable code that merges the data to be read stored in the cache slot with data from a disk in the temporary storage area.
- 18. Computer software, according to claim 16, further comprising:
executable code that writes at least a portion of the data from at least one cache slot of the remote storage device to a disk of the remote storage device prior to the remote storage area determining if there is data to be read stored in a cache slot of the remote storage device.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation-in-part of U.S. patent application Ser. No. 10/396,786 filed on Mar. 25, 2003 (pending), which is incorporated by reference herein.
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
10396786 |
Mar 2003 |
US |
Child |
10606699 |
Jun 2003 |
US |