Cache/disk system with writeback regulation relative to use of cache memory
First Claim
1. In a cache/disk system having a host processor for issuing read and write commands, a plurality of disk drive devices, a cache memory for storing segments of data most likely to be used in executing commands from said host processor, storage means for storing in a queue commands issued by said host processor but not yet executed, each of said commands including a priority value for determining the relative priorities of execution of said queued commands and a storage control unit for controlling the transfer of segments of data between said cache memory and said disk drive devices, said storage control unit having means for generating a command for controlling the transfer of a written-to segment from said cache memory of one of said disk drive devices, the improvement comprising:
- first means for generating a written-to priority value in accordance with the percentage of the total number of segments in said cache memory that have been written to; and
,second means responsive to said first means for inserting said written-to priority value into the command generated for transferring a given written-to segment to one of said disk drive devices.
1 Assignment
0 Petitions
Accused Products
Abstract
In a system having a cache memory and a bulk memory, and wherein a command queue is maintained for storing commands waiting to be executed, each command is assigned a priority level for execution vis-a-vis other commands in the queue. Commands are generated for transferring from the cache memory to the bulk memory segments of data which have been written to while resident in the cache memory. Each generated command may be assigned a generated priority level which is dependent upon the number of segments in the cache memory which have been written to but not yet copied into the bulk memory. A second priority level may be generated which is dependent on the time which has elapsed since the first write into any of the cache memory segments, and the priority level assigned to any given generated command is the higher of the two generated priority levels.
-
Citations
11 Claims
-
1. In a cache/disk system having a host processor for issuing read and write commands, a plurality of disk drive devices, a cache memory for storing segments of data most likely to be used in executing commands from said host processor, storage means for storing in a queue commands issued by said host processor but not yet executed, each of said commands including a priority value for determining the relative priorities of execution of said queued commands and a storage control unit for controlling the transfer of segments of data between said cache memory and said disk drive devices, said storage control unit having means for generating a command for controlling the transfer of a written-to segment from said cache memory of one of said disk drive devices, the improvement comprising:
-
first means for generating a written-to priority value in accordance with the percentage of the total number of segments in said cache memory that have been written to; and
,second means responsive to said first means for inserting said written-to priority value into the command generated for transferring a given written-to segment to one of said disk drive devices. - View Dependent Claims (2)
-
-
3. In a system wherein a queue is maintained of commands waiting to be executed, said commands controlling the transfer of data between a cache memory and a bulk memory, said commands in said queue being executed in a sequence determined by a priority level assigned to each of said commands, a method of controlling the transfer from the cache memory to the bulk memory of segments which have been written-to in said cache memory but not yet copied into said bulk memory, said method comprising:
-
generating commands for controlling the transfer of written-to segments from said cache memory to said bulk memory; determining the percentage of the total number of segments in said cache memory that have been written to but not yet copied into said bulk memory, a percentage determination being made for each generated command at the time the command is generated; assigning to each generated command an execution priority level based on the percentage determination made for said each generated command said assigned priority level increasing as said percentage increases; and
,transferring the written-to segments to said bulk memory under the control of said generated commands.
-
-
4. In a system wherein a queue is maintained of commands waiting to be executed, said commands controlling the transfer of data between a cache memory and a bulk memory, said commands in said queue being executed in a sequence determined by a priority level assigned to each of said commands, a method of controlling the transfer or written-to segments of data from the cache memory to the bulk memory comprising, for a given written-to segment:
-
determining the number of segments in said cache memory that have been written to; generating a first priority level dependent upon the number of written-to segments in said cache memory; generating a second priority level dependent upon the relationship between the age since first write of the oldest written-to segment in said cache memory relative to a threshold age value; and
,transferring the written-to segment to said bulk memory under the control of a command which is assigned, as its priority level for execution, the highest of said first and second priority levels. - View Dependent Claims (5, 6)
-
-
7. In a system having a host processor for issuing read and write commands, a mass memory, a cache memory for storing segments of data most likely to be used in executing commands from said host processor, storage means for storing a queue of commands issued by said host processor and waiting to be executed, each of said commands including a priority value for determining the relative priorities of execution of said queued commands and a storage control unit for controlling the transfers of segments of data between said mass memory, said host processor and said cache memory in response to said queued commands, said storage control unit having means for generating and storing in said queue of commands a command for controlling the transfer of a written-to segment from said cache memory to said mass memory, the improvement comprising:
-
first means for generating a priority value based on the percentage of the total number of segments of data in said cache memory that have been written to but not copied back into said mass memory; and
,second means responsive to said first means for inserting said generated priority value into said generated command. - View Dependent Claims (8, 9, 10, 11)
-
Specification