← Back to Patent Explorer
US4530055A Expired / Lapsed US ⏱️ 0.0 years remaining

Hierarchical memory system with variable regulation and priority of writeback from cache memory to bulk memory

Assignee: Unisys Corp
•
Filing: 1982-03-03
•
Granted: 1985-07-16
•
Expires: 2002-03-03
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract In a hierarchical memory system, replacement of segments in a cache memory is governed by a least recently used algorithm, while trickling of segments from the cache memory to the bulk memory is governed by the age since first write. The host processor passes an AGEOLD parameter to the memory subsystem and this parameter regulates the trickling of segments. Unless the memory system is idle (no I/O activity), no trickling takes place until the age of the oldest written-to segment is at least as great as AGEOLD. A command is generated for each segment to be trickled and the priority of execution assigned to such commands is variable and determined by the relationship of AGEOLD to the oldest age since first write of any of the segments. If the subsystem receives no command from the host processor for a predetermined interval, AGEOLD is ignored and any written-to segment becomes a candidate for trickling.

Inventors

  • 👤 James R. Hamstra
  • 👤 Merlin L. Hanson

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 08:08
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/12; G06F12/121; G06F12/126; G06F12/127; G06F12/0802; G06F12/0866

Claims Analysis

Total Claims: 14
Claim 1
Independent Claim 225 words
In a system having a host processor for issuing read and write commands, a bulk memory, a cache memory and a storage control unit for controlling the transfer of segments of data between said bulk memory and said cache memory, said storage control unit including trickle means for generating trickle commands for controlling the transfer of written-to segments from said cache memory to said bulk memory, the improvement comprising: first means responsive to a given write command from said host processor for assigning a timestamp value to a segment written to in said cache memory by said given write command when said given write command is the first command to write to said segment after it is transferred to said cache memory from said bulk memory, each assigned timestamp indicating the time of first write to its corresponding written-to segment; second means for storing a value representing a threshold age at which written-to segments become eligible for trickling if any one of said written-to segments has an age since first write at least as great as said threshold age; and, third means including means responsive to said first means and said second means for trickling written-to segments from said cache memory to said bulk memory when the age since first write of the oldest written-to segment is at least as great as said threshold age.
Claim 2
Dependent Claim 225 words
In a system having a host processor for issuing read and write commands, a bulk memory, a cache memory and a storage control unit for controlling the transfer of segments of data between said bulk memory and said cache memory, said storage control unit including trickle means for generating trickle commands for controlling the transfer of written-to segments from said cache memory to said bulk memory, the improvement comprising: first means responsive to a given write command from said host processor for assigning a timestamp value to a segment written to in said cache memory by said given write command when said given write command is the first command to write to said segment after it is transferred to said cache memory from said bulk memory, each assigned timestamp indicating the time of first write to its corresponding written-to segment; second means for storing a value representing a threshold age at which written-to segments become eligible for trickling if any one of said written-to segments has an age since first write at least as great as said threshold age; and, third means including means responsive to said first means and said second means for trickling written-to segments from said cache memory to said bulk memory when the age since first write of the oldest written-to segment is at least as great as said threshold age.
Claim 3
Dependent Claim 148 words
An improved trickle means as claimed in claim 1 wherein each said write command includes a timestamp value and said first means comprises: means for storing a table having an entry therein corresponding to each written-to segment in said cache memory; means for storing the timestamp value in a write command in said table if said write command is the first command to write to a given segment; and, means for linking the entries in said table in accordance with the sequence in which timestamp values are entered therein; said third means being responsive to said second means and the entries in said table for trickling written-to segments from said cache memory to said bulk memory on the basis of age since first write if the age of the oldest written-to segment exceeds said threshold age, the segment with the oldest age since first write being trickled first.
Claim 4
Dependent Claim 110 words
An improved trickle means as claimed in claim 2 wherein said bulk memory comprises a plurality of disk drive devices and said system includes means for storing command queues, there being one command queue corresponding to each of said disk drive devices, and said third means further comprises: trickle command generating means responsive to said second means and said entries in said table for generating a trickle command for one segment when the age since first write of the oldest written-to segment exceeds said threshold age value; and, means for adding said trickle command to the command queue corresponding to the disk drive device from whence said one segment came.
Claim 5
Dependent Claim 146 words
An improved trickle means as claimed in claim 3 wherein commands from said host processor may be added to said command queue, said commands from said host processor including a priority value indicating the relative priority of execution of said commands from said host processor, said trickle means further comprising: means responsive to said second means and an entry in said table for inserting a priority value into said generated trickle command when the timestamp in the table entry corresponding to said one segment indicates that the age since first write of said oldest written-to segment is at least as great as said threshold age value at the time said trickle command is generated; and, means for increasing the level of the priority value to be inserted as the age since first write of said oldest written-to segment becomes increasingly larger than said threshold age value.
Claim 6
Dependent Claim 229 words
In a system having a host processor for issuing read and write commands, a plurality of disk drive devices, a cache memory, and a storage control unit for controlling the transfer of segments of data between said disk drive devices and said cache memory, a method for trickling written-to segments resident in said cache memory back to the disk drive devices from whence they came, said method comprising: providing a timestamp in each write command from said host processor, said timestamp representing the time of occurrence of the write command; storing, for each segment in said cache memory, the timestamp provided with the write command from said host processor which causes the segment to be first written to after being transferred to said cache memory from one of said disk drive devices, to thereby establish a time of first write for each written-to segment in said cache memory; determining the age since first write of the oldest written-to segment in said cache memory; establishing a threshold age defining the age since first write at which segments become candidates for trickling; comparing said threshold age with the age since first write of said oldest written-to segment; and, trickling written-to segments from said cache memory to said disk drive devices only when the age since first write of the oldest written-to segment is at least as great as said threshold age.
Claim 7
Dependent Claim 229 words
In a system having a host processor for issuing read and write commands, a plurality of disk drive devices, a cache memory, and a storage control unit for controlling the transfer of segments of data between said disk drive devices and said cache memory, a method for trickling written-to segments resident in said cache memory back to the disk drive devices from whence they came, said method comprising: providing a timestamp in each write command from said host processor, said timestamp representing the time of occurrence of the write command; storing, for each segment in said cache memory, the timestamp provided with the write command from said host processor which causes the segment to be first written to after being transferred to said cache memory from one of said disk drive devices, to thereby establish a time of first write for each written-to segment in said cache memory; determining the age since first write of the oldest written-to segment in said cache memory; establishing a threshold age defining the age since first write at which segments become candidates for trickling; comparing said threshold age with the age since first write of said oldest written-to segment; and, trickling written-to segments from said cache memory to said disk drive devices only when the age since first write of the oldest written-to segment is at least as great as said threshold age.
Claim 8
Dependent Claim 181 words
The method as claimed in claim 5 wherein the step of trickling segments to said disk drives comprises: establishing a plurality of command queues, one associated with each of said disk drive devices; inserting commands from said host processor into said command queues, said commands including a priority value indicating the relative priority of execution of the commands; building a trickle command for a given written-to segment and inserting it into the command queue associated with the disk drive device from whence said given written-to segment came if said comparison indicates that said age since first write of said oldest written-to segment is at least as great as said threshold age; and, inserting into said trickle command a trickle priority value determined by the relative magnitude of the age since first write of said oldest written-to segment relative to the magnitude of said threshold age, the trickle priority value inserted in said trickle command giving said trickle command a higher priority for execution as the age since first write of said oldest written-to segment becomes increasingly greater than said threshold age.
Claim 9
Dependent Claim 18 words
An improved trickle means as claimed in claim 1 wherein each said write command includes a timestamp value.
Claim 10
Dependent Claim 28 words
An improved trickle means as claimed in claim 1 and further comprising means for loading a selected threshold age value into said second means at system parameterization time.
Claim 11
Dependent Claim 73 words
The method as claimed in claim 6 wherein a plurality of threshold values of different magnitudes are established and the age since first write of said oldest written-to segment is successively compared with said threshold values from the smallest to the largest magnitude, said inserted trickle priority value being determined by the highest magnitude threshold value that said age since first write of said oldest written-to segment is at least as great as.
Claim 12
Dependent Claim 117 words
The improvement as claimed in claim 1 wherein said third means includes further means for trickling written-to segments from said cache memory to said bulk memory regardless of the age since first write of said oldest written-to segment, said improvement further comprising: means for sensing a predetermined period of inactivity during which said host processor issues no commands to said storage control unit, and generating a timeout indication; means for applying said timeout indication to said third means to enable said further means whereby written-to segments may be trickled from said cache memory to said bulk memory even though the age since first write of said oldest written-to segment is not as great as said threshold age.
Claim 13
Dependent Claim 194 words
An improved trickle control means for controlling the trickling of segments of data from a cache memory to a bulk memory comprising: first means for generating and storing, at the time each segment is first written to, a timestamp value representing the instant in time at which the segment is first written-to; second means, including a clock, for generating an indication of current time; third means responsive to said first means and said second means for generating from said timestamp values and said indication of current time signals representing the length of time which has elapsed since the first write to the oldest written-to segment in said cache memory; fourth means for generating an indication of a threshold elapsed time below which written-to segments are not trickled from said cache memory to said bulk memory; and, fifth means responsive to said third means and said fourth means for controlling the trickling of written-to segments from said cache memory to said bulk memory so that trickling takes place only if the length of time which has elapsed since first write to the oldest written-to segment is at least as great as said threshold elapsed time.
Claim 14
Dependent Claim 194 words
An improved trickle control means for controlling the trickling of segments of data from a cache memory to a bulk memory comprising: first means for generating and storing, at the time each segment is first written to, a timestamp value representing the instant in time at which the segment is first written-to; second means, including a clock, for generating an indication of current time; third means responsive to said first means and said second means for generating from said timestamp values and said indication of current time signals representing the length of time which has elapsed since the first write to the oldest written-to segment in said cache memory; fourth means for generating an indication of a threshold elapsed time below which written-to segments are not trickled from said cache memory to said bulk memory; and, fifth means responsive to said third means and said fourth means for controlling the trickling of written-to segments from said cache memory to said bulk memory so that trickling takes place only if the length of time which has elapsed since first write to the oldest written-to segment is at least as great as said threshold elapsed time.

References Cited (Backward Citations)

US4020466A Cited
US4077059A Cited
US4084231A Cited
US4044337A Cited
US4168541A Cited
US4394732A Cited
US4394733A Cited
US4467411A Cited
US4420807A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1988-07-15 1989-01-14 1989-07-16 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1992-07-15 1993-01-14 1993-07-16 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 1996-07-15 1997-01-14 1997-07-16 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag