Claims Analysis
Total Claims: 6
Claim 1
Independent Claim
410 words
In a data procesing system having a working memory and a backup store, in which a plurality of different classes of information, each consisting of a plurality of blocks, are all stored in the backup store, and a lesser number of blocks of each class are stored in the working memory through which all accesses are effected, means for allocating space in said memory among the plurality of classes competing for space therein in accordance with the relativity of stored block and class weighting criteria and an overall weighting norm, all of which are periodically updated as a function of the history of accesses to said working memory comprising; sequencing means operative to provide a succession of signals for controlling the sequencing of the operation of a plurality of instrumentalities; means responsive to the accessing of said working memory and operative under control of said sequencing means to derive and store for each block in working memory a reference number, the magnitude of which manifests the number of memory accesses since each respective block was last accessed; means responsive to the failure to find a sought block in said working memory and operative under control of said sequencing means to derive and store a set of weighting parameters for that class to which the missing block belongs, the said set being a predetermined function of the reference numbers of the blocks belonging to that class; means under control of said sequencing means, following completion of the derivation and storage of the class weighting parameters, to extract from storage the prior computed overall norm weighting value, the prior computed class weighting criteria, and the number of classes in said working storage, and computing and storing as a predetermined function of these and said set of weighting parameters for the class, an updated overall weighting norm; means under control of said sequencing means for comparing said overall norm weighting value with each set of stored class weighting parameters, and selecting the value most nearly equal to said norm and choosing as a numerical designator for each class the ordinal position in the set of the thus-selected value, and storing the selected value and numerical designator as weighting criteria for each class; and means under control of said sequencing means for comparing the numerical designator for each class with the reference value of all blocks of the corresponding class and marking those blocks for replacement whose reference number exceeds the corresponding designator value.
Claim 2
Dependent Claim
410 words
In a data procesing system having a working memory and a backup store, in which a plurality of different classes of information, each consisting of a plurality of blocks, are all stored in the backup store, and a lesser number of blocks of each class are stored in the working memory through which all accesses are effected, means for allocating space in said memory among the plurality of classes competing for space therein in accordance with the relativity of stored block and class weighting criteria and an overall weighting norm, all of which are periodically updated as a function of the history of accesses to said working memory comprising; sequencing means operative to provide a succession of signals for controlling the sequencing of the operation of a plurality of instrumentalities; means responsive to the accessing of said working memory and operative under control of said sequencing means to derive and store for each block in working memory a reference number, the magnitude of which manifests the number of memory accesses since each respective block was last accessed; means responsive to the failure to find a sought block in said working memory and operative under control of said sequencing means to derive and store a set of weighting parameters for that class to which the missing block belongs, the said set being a predetermined function of the reference numbers of the blocks belonging to that class; means under control of said sequencing means, following completion of the derivation and storage of the class weighting parameters, to extract from storage the prior computed overall norm weighting value, the prior computed class weighting criteria, and the number of classes in said working storage, and computing and storing as a predetermined function of these and said set of weighting parameters for the class, an updated overall weighting norm; means under control of said sequencing means for comparing said overall norm weighting value with each set of stored class weighting parameters, and selecting the value most nearly equal to said norm and choosing as a numerical designator for each class the ordinal position in the set of the thus-selected value, and storing the selected value and numerical designator as weighting criteria for each class; and means under control of said sequencing means for comparing the numerical designator for each class with the reference value of all blocks of the corresponding class and marking those blocks for replacement whose reference number exceeds the corresponding designator value.
Claim 3
Dependent Claim
135 words
The apparatus of claim 1 wherein the means for deriving and storing a reference number for each block in working memory comprises: an acces counter, having a capacity of Δ counts, operative responsive to each memory access to increment its count by one, and to produce a signal upon the accumulation of every Δ counts; a reference value register for each block of information stored in said working memory; means operative responsive to the accessing of a block of information in memory for resetting the reference register for that block to which access is made; means responsive to said signal for incrementing the reference registers of all non-accessed blocks by one count; whereby a low reference register value manifests a recent access to a block and a higher reference number manifests a more remote access.
Claim 4
Dependent Claim
237 words
The apparatus of claim 1 wherein the means for deriving an updated set of weighting parameters for that class to which the missing block belongs comprises: means for counting the number of blocks belonging to the clas to which the missing block belongs whose reference register values equal each of the cardinal values from 0 to X and storing the block count in the corresponding ordinal position of a first table of values having X+1 entries; means for obtaining the difference of each successive pair of entries in said first table of values and storing the differences in a second table of X entries; means for obtaining the quotients of each entry in said second table and divided by a corresponding ordinal entry in said first table and storing the negative of said quotients in a third table of X entries; and means for selecting one of said entries in said third table for use in computing said overall norm weighting value, said means for selecting comprising means for retrieving from storage the last-derived set of weighting parameters for the selected class a numerical tau value for that class, and means under control of this value for selecting and storing the ordinal entry in said third table corresponding to the cardinal value of tau, wherein tau equals the cardinal value of the ordinal position in said third table whose value most nearly equals the overall weighting norm.
Claim 5
Dependent Claim
808 words
In a data processing system having a working memory and a backup store, in which a plurality of different classes of information, each consisting of a plurality of blocks, are all stored in said backup store, and a lesser number of blocks of each class are stored in the working memory through which all accesses are effected, means for allocating space in said memory among the plurality of classes competing for space therein in accordance with the relatively of a stored set of class weighting parameters to a stored overall norm weighting value, all of which are periodically updated as a function of the history of access to said memory, comprising: means for storing the last-derived set of weighting parameters for each class of information resident in said memory; means for storing the last-derived overall norm weighting value K OLD ; a counter, having a capacity of Δ counts, and operative to count every access to said working memory; means for storing a reference value for each block of information stored in said memory; means for restoring the reference value to zero for that block to which access is sought in working memory; means under control of said counter for incrementing the reference values of all non-accessed blocks by one count when said counter achieves its maximum of Δ counts; means operative responsive to the failure to find a sought block in working memory for computing and storing a new set of weighting parameters for that class to which the missing block belongs, said means comprising; means for counting the number of blocks of that class having a reference value equal to each of 0 to X successive cardinal values and storing the counts as a first table of values of X+1 entries, wherein each Wd entry in the table equals the count of the number of blocks having a reference register value equal to each of the respective numbers 0 to X; means for obtaining the difference of each successive pair of Wd entries in said first table and storing said differences as a second table of values of X entries, wherein each Wdd entry in the table equals the difference; means for obtaining the quotient of pairs of Wdd and Wd values taken from said second and said first tables by successively dividing each Wdd entry from said second table by a corresponding Wd entry from said first table and storing each quotient with a negative sign in a third table of values of x entries, wherein each entry represents a succession of k values for the faulting class and comprises the stored weighting parameters for that class wherein each k entry in the table equals the negative quotient of a Wdd entry from said second table divided by a Wd value from a corresponding ordinal position in said first table; means for retrieving from said last-derived set of stored weighting parameters for this class a tau value, wherein tau has a value ranging from 0 to X; means under control of said tau value for selecting that k value from said third table occupying the tau'th entry position and storing this k value as a further weighting parameter for this class; means for computing and storing an overall weighting value K in accordance with the following relationship K.sup.NEW = K.sup.OLD + (k.sup.new - k.sup.old /n) wherein K OLD is obtained from the stored norm weighting value obtained from the previous computation thereof, k new is the value just selected in the tau'th column of the third table, and k old is retrieved from the stored set of weighting parameters from the prior derivation, and n is the number of classes of information; means for retrieving from storage the third (k) table for each different class of information and for searching the entries therein for a k value which satisfies the relationship K+ ε > k> K- ε, where ε is a predetermined constant, and K is the just-derived weighting norm; means for converting the ordinal position of each respective thus-found k value for each class to a corresponding tau value for each class and storing each of said values as one parameter of said set of weighting parameters; and means for comparing each respective tau value for each class with the reference values of each block of the corresponding class and marking those blocks as candidates for replacement whose reference value exceeds the corresponding class tau value; whereby the third, or k, table for the class having the missing sought block is updated and stored, the overall weighting norm K is updated as a function of the change in the k parameters of this class, and the tau values of the non-accessed classes are updated as a function of the weighting norm K, so that all classes have an updated set of stored weighting parameters.
Claim 6
Dependent Claim
808 words
In a data processing system having a working memory and a backup store, in which a plurality of different classes of information, each consisting of a plurality of blocks, are all stored in said backup store, and a lesser number of blocks of each class are stored in the working memory through which all accesses are effected, means for allocating space in said memory among the plurality of classes competing for space therein in accordance with the relatively of a stored set of class weighting parameters to a stored overall norm weighting value, all of which are periodically updated as a function of the history of access to said memory, comprising: means for storing the last-derived set of weighting parameters for each class of information resident in said memory; means for storing the last-derived overall norm weighting value K OLD ; a counter, having a capacity of Δ counts, and operative to count every access to said working memory; means for storing a reference value for each block of information stored in said memory; means for restoring the reference value to zero for that block to which access is sought in working memory; means under control of said counter for incrementing the reference values of all non-accessed blocks by one count when said counter achieves its maximum of Δ counts; means operative responsive to the failure to find a sought block in working memory for computing and storing a new set of weighting parameters for that class to which the missing block belongs, said means comprising; means for counting the number of blocks of that class having a reference value equal to each of 0 to X successive cardinal values and storing the counts as a first table of values of X+1 entries, wherein each Wd entry in the table equals the count of the number of blocks having a reference register value equal to each of the respective numbers 0 to X; means for obtaining the difference of each successive pair of Wd entries in said first table and storing said differences as a second table of values of X entries, wherein each Wdd entry in the table equals the difference; means for obtaining the quotient of pairs of Wdd and Wd values taken from said second and said first tables by successively dividing each Wdd entry from said second table by a corresponding Wd entry from said first table and storing each quotient with a negative sign in a third table of values of x entries, wherein each entry represents a succession of k values for the faulting class and comprises the stored weighting parameters for that class wherein each k entry in the table equals the negative quotient of a Wdd entry from said second table divided by a Wd value from a corresponding ordinal position in said first table; means for retrieving from said last-derived set of stored weighting parameters for this class a tau value, wherein tau has a value ranging from 0 to X; means under control of said tau value for selecting that k value from said third table occupying the tau'th entry position and storing this k value as a further weighting parameter for this class; means for computing and storing an overall weighting value K in accordance with the following relationship K.sup.NEW = K.sup.OLD + (k.sup.new - k.sup.old /n) wherein K OLD is obtained from the stored norm weighting value obtained from the previous computation thereof, k new is the value just selected in the tau'th column of the third table, and k old is retrieved from the stored set of weighting parameters from the prior derivation, and n is the number of classes of information; means for retrieving from storage the third (k) table for each different class of information and for searching the entries therein for a k value which satisfies the relationship K+ ε > k> K- ε, where ε is a predetermined constant, and K is the just-derived weighting norm; means for converting the ordinal position of each respective thus-found k value for each class to a corresponding tau value for each class and storing each of said values as one parameter of said set of weighting parameters; and means for comparing each respective tau value for each class with the reference values of each block of the corresponding class and marking those blocks as candidates for replacement whose reference value exceeds the corresponding class tau value; whereby the third, or k, table for the class having the missing sought block is updated and stored, the overall weighting norm K is updated as a function of the change in the k parameters of this class, and the tau values of the non-accessed classes are updated as a function of the weighting norm K, so that all classes have an updated set of stored weighting parameters.