Method for transferring data from a host computer to a storage media using selectable caching strategies
First Claim
Patent Images
1. A method for transferring data to a storage medium, comprising the steps of:
- providing a controller having a cache memory;
generating a cache-flushing parameter in a host computer;
transferring the cache-flushing parameter from the host computer to the controller;
writing a quantity of write request data from the cache memory of the controller to the storage medium in accordance with the cache-flushing parameter, initiating the writing step when an amount of unwritten write request data stored in the cache memory exceeds a first predetermined threshold value derived from the cache-flushing Parameter; and
terminating the writing step when the amount of unwritten write request data drops below a second predetermined threshold value derived from another cache-flushing parameter.
11 Assignments
0 Petitions
Accused Products
Abstract
An apparatus and method is disclosed which enables a host computer to adjust the caching strategy used for writing its write request data to storage media during execution of various software applications. The method includes the step of generating a caching-flushing parameter in the host computer. The cache flushing parameter is then transferred from the host computer to a controller which has a cache memory. Thereafter, a quantity of write request data is written from the cache memory to a storage medium in accordance with the cache-flushing parameter.
-
Citations
18 Claims
-
1. A method for transferring data to a storage medium, comprising the steps of:
-
providing a controller having a cache memory;
generating a cache-flushing parameter in a host computer;
transferring the cache-flushing parameter from the host computer to the controller;
writing a quantity of write request data from the cache memory of the controller to the storage medium in accordance with the cache-flushing parameter, initiating the writing step when an amount of unwritten write request data stored in the cache memory exceeds a first predetermined threshold value derived from the cache-flushing Parameter; and
terminating the writing step when the amount of unwritten write request data drops below a second predetermined threshold value derived from another cache-flushing parameter. - View Dependent Claims (2, 3, 4, 5, 6)
writing the write request data to the storage media after elapse of a time interval derived from the cache-flushing parameter.
-
-
3. The method of claim 1, wherein the writing step includes the steps of:
-
determining a time interval value from the cache-flushing parameter; and
writing the write request data to the storage media after elapse of the time interval.
-
-
4. The method of claim 1, further comprising the steps of:
-
generating a second cache-flushing parameter in the host computer;
transferring the second cache-flushing parameter from the host computer to the controller;
detecting a low battery condition; and
writing a second quantity of write request data from the cache memory of the controller to the storage medium in accordance with the second cache-flushing parameter in response to the detecting step.
-
-
5. The method of claim 4, wherein:
-
said controller includes a memory buffer, said first cache-flushing parameter is stored in said memory buffer at a first location, and said second cache-flushing parameter is stored in said memory buffer at a second location which is different from said first location.
-
-
6. The method of claim 5, wherein said first cache-flushing parameter and said second cache-flushing parameter are simultaneously stored in said memory buffer.
-
7. A method of transferring data from a host computer to a storage media, comprising the steps of:
-
sending a first caching parameter which defines a first caching strategy to a controller;
transferring a first quantity of data from the host computer to the storage media based on the first caching parameter;
sending a second caching parameter which defines a second caching strategy to the controller;
transferring a second quantity of data from the host computer to the storage media based on the second caching parameter;
initiating the first quantity transferring step when an amount of unwritten write request data stored in the cache memory exceeds a first predetermined threshold value derived from the first cache-flushing parameter; and
terninating the first quantity transferring step when the amount of unwritten write request data drops below a second predetermined threshold value derived from another cache flushing parameter associated with the cache memory. - View Dependent Claims (8)
the first caching parameter sending step includes the step of storing the first caching parameter in a buffer in the controller; and
the second caching parameter sending step includes the step of overwriting the first caching parameter with the second caching parameter in the buffer.
-
-
9. A method for transferring data to a storage device, comprising the steps of:
-
updating a cache-flushing parameter associated with a cache memory;
flushing the cache memory to the storage device in accordance with the cache flushing parameter after the updating step;
initiating the flushing step when an amount of unwritten write request data stored in the cache memory exceeds a first predetermined threshold value derived from the cache-flushing parameter; and
terminating the flushing step when the amount of unwritten write request data drops below a second predetermined threshold value derived from another cache flushing parameter associated with the cache memory. - View Dependent Claims (10, 11, 12, 13)
flushing the cache memory at a time interval derived from the cache-flushing parameter.
-
-
11. The method of claim 9, wherein the flushing step includes the steps of:
-
determining a time interval value from the cache-flushing parameter; and
flushing the cache memory in accordance with the time interval value.
-
-
12. The method of claim 9, wherein the updating step includes the steps of:
-
generating the cache-flushing parameter in a host computer; and
sending the cache-flushing parameter to a controller.
-
-
13. The method of claim 12, wherein the updating step further includes the step of:
storing the cache-flushing parameter in a buffer of the controller.
-
14. A method for controlling cache flushing characteristics of a storage device, with the storage device having a controller which includes a cache memory, comprising the steps of:
-
sending a cache-flushing parameter to the controller;
flusning the cache memory of the controller in accordance with the cache-flushing parameters initiating the flushing step when an amount of unwritten write request data stored in the cache memory exceeds a first predetermined threshold value derived from the cache-flushing parameter; and
terminating the flushing step when the amount of unwritten write request data drops below a second predetermined threshold value derived from another cache-flushing parameter. - View Dependent Claims (15, 16, 17)
flushing the cache memory at a time interval derived from the cache-flushing parameter.
-
-
16. The method of claim 14, wherein the flushing step includes the steps of:
-
determining a time interval value from the cache-flushing parameter; and
flushing the cache memory in accordance with the time interval value.
-
-
17. The method of claim 14, further comprising the steps of:
-
generating the cache-flushing parameter in a host device before the sending step; and
storing the cache-flushing parameter in a buffer of the controller after the sending step.
-
-
18. A program storage device readable by a machine, tangibly embodying a program or instructions executable by the machine to perform method steps for transferring data to a storage medium, said method steps comprising:
-
providing a controller having a cache memory;
generating a cache-flushing parameter in a host computer;
transferring the cache-flushing parameter from the host computer to the controller;
writing a quantity of write request data from the cache memory of the controller to the storage medium in accordance with the cache-flushing parameter;
initiating the writing step when an amount of unwritten write request data stored in the cache memory exceeds a first predetermined threshold value derived from the cache-flushing parameter; and
terminating the writing step when the amount of unwritten write request data drops below a second predetermined threshold value derived from another cache-flushing parameter.
-
Specification