IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0443947
(2003-05-22)
|
발명자
/ 주소 |
|
출원인 / 주소 |
|
대리인 / 주소 |
|
인용정보 |
피인용 횟수 :
0 인용 특허 :
9 |
초록
▼
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 inte
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.
대표청구항
▼
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;allocating additional cache memory from the memory space of the host for use by the p
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;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;providing the peripheral device with a location of the additional cache memory assigned;managing the additional cache memory via the peripheral device;wherein the managing act comprises acts of:evaluating whether data should be transferred from the cache of the peripheral device to the additional cache memory;transferring data from the cache of the peripheral device to the additional cache memory if the data should be transferred;if the host requests requested data, evaluating whether the requested data is in the cache of the peripheral device;transferring the requested data to the host if the requested data is in the cache of the peripheral device;evaluating whether the requested data is in the additional cache memory if the requested data is not in the cache of the peripheral device; andproviding the host with the location of the requested data in the memory space of the host if the requested data is in the additional cache memory.2. The method as in claim 1, wherein the management act further comprises an act of: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.3. The method as in claim 2, wherein the act of 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 mechamsm.4. The method as in claim 1, wherein the act of data transfer evaluation comprises an act of:evaluating whether the cache of the peripheral device is full if new data is to be stored in the cache of the peripheral device.5. The method as in claim 1, wherein the act of evaluating whether the requested data is in the additional cache memory comprises an act of:searching a cache table that is stored in the memory of the peripheral device.6. The method as in claim 1, wherein the act of evaluating whether the requested data is in the additional cache memory comprises acts of:retrieving a cache table from the host; andsearching the cache table for the requested data.7. The method as in claim 1, wherein the peripheral device comprises a data storage device.8. The method as in claim 7, wherein the data storage device comprises a disc drive.9. 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;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;providing the peripheral device with a location of the additional cache memory assigned;managing the additional cache memory via the peripheral device;wherein the managing act comprises acts of:evaluating whether data should be transferred from the cache of the peripheral device to the additional cache memory; andtransferring data from the cache of the peripheral device to the additional cache memory if the data should be transferred;wherein the act of transferring data from the cache comprises acts of:indicating to the host an address of the host that will be written to;waiting to receive a signal from the host indicating that the host is ready to receive data at the indicated address; andsending the data to the indicated address upon receipt of the host signal.10. The method as in claim 9, wherein the act of 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.11. The method as in claim 9, wherein the peripheral device comprises a data storage device.12. The method as in claim 11, wherein the data storage device comprises a disc drive.13. 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;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;providing the peripheral device with a location of the additional cache memory assigned;managing the additional cache memory via the peripheral device;wherein the managing act comprises acts of:evaluating whether data should be transferred from the cache of the peripheral device to the additional cache memory;transferring data from the cache of the peripheral device to the additional cache memory if the data should be transferred;if the host requests requested data, evaluating whether the requested data is in the cache of the peripheral device;transferring the requested data to the host if the requested data is in the cache of the peripheral device;evaluating whether the requested data is in the additional cache memory if the requested data is not in the cache of the peripheral device; andtransferring 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;wherein the act of transferring data from the additional cache memory comprises acts of:indicating to the host an address of the host that will be read from;waiting to receive a signal from the host indicating that the data at the indicated address is ready to be read; andreading the data from the indicated address upon receipt of the host signal.14. The method as in claim 13, wherein the peripheral device comprises a data storage device.15. The method as in claim 14, wherein the data storage device comprises a disc drive.16. The method as in claim 13, wherein the act of evaluating whether the requested data is in the additional cache memory comprises an act of:searching a cache table that is stored in the memory of the peripheral device.17. The method as in claim 13, wherein the act of evaluating whether the requested data is in the additional cache memory comprises acts of:retrieving a cache table from the host; andsearching the cache table for the requested data.18. The method as in claim 13, wherein the act of 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.19. 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 is the requested data is not in the additional cache memory; andtransferring 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;wherein the act of transferring data from the additional cache memory comprises acts of:indicating to the host an address of the host that will be read from;waiting to receive a signal from the host indicating that the data at the indicated address is ready to be read; andreading the data from the indicated address upon receipt of the host signal.20. A peripheral device that is connectable to a host, the peripheral device comprising:a memory cache in the peripheral device; andmeans for using a portion of a memory space of the host as additional cache memory for the peripheral device;wherein the using means comprises:means for making a query to the host whether memory is available in the memory space of the host;means for receiving a response to the query if memory is available in the memory space of the host, wherein the response includes a location of the additional cache memory;means for evaluating whether data should be transferred from the memory cache of the peripheral device to the additional cache memory in the memory space of the host;means for transferring data from the memory cache of the peripheral device to the additional cache memory via first-party direct memory access (DMA) when data should be transferred from the memory cache of the peripheral device to the additional cache memory; andmeans for evaluating whether requested data is in the additional cache memory if the host requests the requested data;means for providing the host with the location of the requested data in the memory of the host if the requested data is in the additional cache memory.21. The peripheral device as in claim 20, wherein the using means further comprises:means for 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.22. A peripheral device connectable to a host having a memory space, the device comprising:a cache memory in the peripheral device; anda 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;wherein the module is operable to store a location of the additional cache memory assigned and manage operation of the additional cache memory;wherein the module managing the additional cache memory is further operable to evaluate whether data should be transferred from the cache of the peripheral device to the additional cache memory; and is operable to transfer data from the cache of the peripheral device to the additional cache memory if the data should be transferred;wherein the module further operates to, if the host requests requested data, evaluate whether the requested data is in the cache of the peripheral device, transfer the requested data to the host if the requested data is in the cache of the peripheral device, and evaluate whether the requested data is in the additional cache memory if the requested data is not in the cache of the peripheral device; andwherein the module provides the host with the location of the requested data in the memory space of the host if the requested data is in the additional cache memory.23. The peripheral device as in claim 22, 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.24. The peripheral device as in claim 22, wherein the module is operable to evaluate whether the cache of the peripheral device is full if new data is to be stored in the cache of the peripheral device.25. The peripheral device as in claim 22, 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.26. The peripheral device as in claim 22, wherein the module is operable to search a cache table that is stored in the memory of the peripheral device.27. A peripheral device connectable to a host having a memory space, the device comprising:a cache memory in the peripheral device; anda 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;wherein the module is operable to store a location of the additional cache memory assigned and manage operation of the additional cache memory;wherein the module managing the additional cache memory is further operable to evaluate whether data should be transferred from the cache of the peripheral device to the additional cache memory; and is operable to transfer data from the cache of the peripheral device to the additional cache memory if the data should be transferred; andwherein the module is operable to indicate to the host an address of the host that will be written to, waits to receive a signal from the host indicating that the host is ready to receive data at the indicated address, and sends the data to the indicated address upon receipt of the host signal.28. The peripheral device as in claim 27, wherein the module is operable to evaluate whether the cache of the peripheral device is full if new data is to be stored in the cache of the peripheral device.29. The peripheral device as in claim 28, 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.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.