Patent US4649437A successfully refreshed from Google Patents.
← Back to Patent Explorer
US4821171A Expired / Lapsed US ⏱️ 0.0 years remaining

System of selective purging of address translation in computer memories

Assignee: CVSI Inc
•
Filing: 1988-08-15
•
Granted: 1989-04-11
•
Expires: 2008-08-15
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract When data is subject to relocation in the physical memory of a processing system employing a virtual memory architecture, execution of programs can be greatly improved through the use of a validation code generator, which assigns a code to each virtual-to-physical address translation prior to its entry in the address translation system. Whenever a page in memory is replaced or the buffer is purged for memory management purposes, the code generator proceeds to another code and assigns this new code to subsequent entries.

Inventors

  • 👤 Carroll A. Calamari

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-27 14:23
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/10; G06F12/1027; G06F12/1045; G06F12/1054

Claims Analysis

Total Claims: 10
Claim 1
Independent Claim 370 words
An address translation system for use in a data processing system which employs virtual addressing for referencing a physical memory, said processing system comprising: A. translation buffer means for storing a plurality of entries, which entries are accessed by virtual addresses to yield a translation word comprised of the physical memory location and a series of tag bits indicating the corresponding virtual memory address, B. data cache means for storing data words that are used by the data processing system and outputting said word in response to the input of a virtual address from the data processing system, said data words comprising a series of tag bits for indicating the physical memory address of the data, C. validation code generator means for generating a sequence of validation codes, each code being defined by a unique series of at least two validity bits, and for storing one of said codes in said translation buffer means in association with each entry, D. control means for activating said generator means when said data processing system requires invalidation of existing entries in said translation buffer means, E. first comparator means having at least two input terminals and an output terminal and including separate conductor means for coupling from said translation buffer means and said validation code generator means, respectively, to said input terminals and for comparing the validation code of an entry in the translation buffer means with the code currently being generated by the validation code generator means to determine whether said entry is still valid, and outputting at said output terminal a valid translation signal if the codes match, and F. second comparator means having at least three input terminals and an output terminal and including separate conductor means for respectively coupling from said first comparator output terminal to a first input terminal so as to be enabled by the output of said valid translation signal, coupled from said data cache means to a second input terminal, and translation buffer means to a third input terminal for comparing the tag bits from the data cache means with the tag bits from the translation buffer means and outputting a data "valid" signal if said tag bits match and a cache "miss" signal otherwise.
Claim 2
Dependent Claim 370 words
An address translation system for use in a data processing system which employs virtual addressing for referencing a physical memory, said processing system comprising: A. translation buffer means for storing a plurality of entries, which entries are accessed by virtual addresses to yield a translation word comprised of the physical memory location and a series of tag bits indicating the corresponding virtual memory address, B. data cache means for storing data words that are used by the data processing system and outputting said word in response to the input of a virtual address from the data processing system, said data words comprising a series of tag bits for indicating the physical memory address of the data, C. validation code generator means for generating a sequence of validation codes, each code being defined by a unique series of at least two validity bits, and for storing one of said codes in said translation buffer means in association with each entry, D. control means for activating said generator means when said data processing system requires invalidation of existing entries in said translation buffer means, E. first comparator means having at least two input terminals and an output terminal and including separate conductor means for coupling from said translation buffer means and said validation code generator means, respectively, to said input terminals and for comparing the validation code of an entry in the translation buffer means with the code currently being generated by the validation code generator means to determine whether said entry is still valid, and outputting at said output terminal a valid translation signal if the codes match, and F. second comparator means having at least three input terminals and an output terminal and including separate conductor means for respectively coupling from said first comparator output terminal to a first input terminal so as to be enabled by the output of said valid translation signal, coupled from said data cache means to a second input terminal, and translation buffer means to a third input terminal for comparing the tag bits from the data cache means with the tag bits from the translation buffer means and outputting a data "valid" signal if said tag bits match and a cache "miss" signal otherwise.
Claim 3
Dependent Claim 35 words
A system of claim 1, including an encoder means for coupling virtual address bits to said translation buffer means for loading and retrieving translations, and means coupling said encoder means to said first comparator means.
Claim 4
Dependent Claim 28 words
The system of claim 1, wherein the system further comprises means for reinitializing said translation buffer means when said generator means has generated its sequence of validation codes.
Claim 5
Dependent Claim 46 words
The system of claim 1 wherein the system also includes a searching means for determining translations not found in said translation buffer means and for entering such new translations in said buffer means in association with the validation code currently being generated by said counter means.
Claim 6
Dependent Claim 31 words
The system of claim 1 wherein the generator means is a counter element which is incremented by said control means whenever the location of data in said physical memory is changed.
Claim 7
Dependent Claim 33 words
The system of claim 5 wherein the system further comprises initializing means for clearing said counter and for purging said translation buffer means when said counter has generated its sequence of validation codes.
Claim 8
Dependent Claim 33 words
The system of claim 1 wherein the buffer means further comprises a hashing means for loading and retrieving translations by encoding a set of address bits into a smaller, coded set of bits.
Claim 9
Independent Claim 459 words
A system for retrieving data from an auxiliary memory in a data processing system having a larger main memory and which employs virtual addressing for referencing memory, comprising: means for supplying a virtual address to the system; an encoder having an input coupled to the means for supplying a virtual address, for hashing the virtual address and having a first output for supplying the hashed virtual address and a second output for supplying confirmation bits of the hashed virtual address; an address translation buffer for storing a plurality of entries, each entry accessed by a hashed virtual address and having an input coupled to the first output of the encoder, a second input for receiving a validation code, a first output for supplying physical memory location corresponding to the virtual address and at a second output for supplying a series of bits indicating the corresponding virtual address and validation code; a validation code generator for generating a sequence of validation codes, each code being a unique series of, at least two, validity bits and having an output coupled to the address translation buffer to supply a validation code for each entry in the address translation buffer; control means for causing the validation code generator to generate the next code in the sequence when the data processing system requires invalidation of existing entries in the address translation buffer; a data cache for storing a plurality of data words, having an input coupled to the means for supplying a virtual address each data word accessed by a virtual address from the data processing system, said data cache outputting at a first output, a series of tag bits for indicating the physical address of the data and, at a second output, data for the data processing system; a first comparator having a first input coupled to the output of the validation code generator, a second input coupled to the second output of the encoder and a third input coupled to the second output of the address translation buffer, said first comparator comparing the second output of the address translation buffer with the high order virtual address bits from the encoder and the validation code currently generated by the validation code generator, and further having an output which outputs a valid translation signal if a match is detected; and second comparator means having a first input coupled from the output of said first comparator so as to be enabled by the valid translation signal from said first comparator and having a second input coupled from the first output of said address translation buffer and a third input coupled from the first output of said data cache, said second comparator outputting a data valid signal when enabled and the second and third inputs match.
Claim 10
Independent Claim 459 words
A system for retrieving data from an auxiliary memory in a data processing system having a larger main memory and which employs virtual addressing for referencing memory, comprising: means for supplying a virtual address to the system; an encoder having an input coupled to the means for supplying a virtual address, for hashing the virtual address and having a first output for supplying the hashed virtual address and a second output for supplying confirmation bits of the hashed virtual address; an address translation buffer for storing a plurality of entries, each entry accessed by a hashed virtual address and having an input coupled to the first output of the encoder, a second input for receiving a validation code, a first output for supplying physical memory location corresponding to the virtual address and at a second output for supplying a series of bits indicating the corresponding virtual address and validation code; a validation code generator for generating a sequence of validation codes, each code being a unique series of, at least two, validity bits and having an output coupled to the address translation buffer to supply a validation code for each entry in the address translation buffer; control means for causing the validation code generator to generate the next code in the sequence when the data processing system requires invalidation of existing entries in the address translation buffer; a data cache for storing a plurality of data words, having an input coupled to the means for supplying a virtual address each data word accessed by a virtual address from the data processing system, said data cache outputting at a first output, a series of tag bits for indicating the physical address of the data and, at a second output, data for the data processing system; a first comparator having a first input coupled to the output of the validation code generator, a second input coupled to the second output of the encoder and a third input coupled to the second output of the address translation buffer, said first comparator comparing the second output of the address translation buffer with the high order virtual address bits from the encoder and the validation code currently generated by the validation code generator, and further having an output which outputs a valid translation signal if a match is detected; and second comparator means having a first input coupled from the output of said first comparator so as to be enabled by the valid translation signal from said first comparator and having a second input coupled from the first output of said address translation buffer and a third input coupled from the first output of said data cache, said second comparator outputting a data valid signal when enabled and the second and third inputs match.

References Cited (Backward Citations)

US3761881A Cited
US3829840A Cited
US3938100A Cited
US3976978A Cited
US4053948A Cited
US4084225A Cited
US4084226A Cited
US4084227A Cited
US4279014A Cited
US4388685A Cited
US4513367A Cited
US4463420A Cited
US4587610A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1992-04-10 1992-10-10 1993-04-11 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1996-04-10 1996-10-10 1997-04-11 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2000-04-10 2000-10-10 2001-04-11 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag