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

Shift register storage unit with multi-dimensional dynamic ordering

Assignee: International Business Machines Corp
•
Filing: 1972-11-15
•
Granted: 1973-10-16
•
Expires: 1992-11-15
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A data storage unit in which words of data including the word addresses are stored in groups of shiftable matrices, the groups of matrices being operable on a signal requesting access to repetitively shift their contents to other matrix positions in various loops, some of which include a position from which a word may be accessed and some of which exclude the access position. The bits in a data word are distributed among groups of matrices, each group generally containing only one bit of a given word. Each group is logically divided into a plurality of sectors, with each sector containing bits from several words. Controls are provided for varying the shifting in the various loops such that the positions of some or all of the sectors are dynamically reordered so that the proximity of each of the sectors to the access position is approximately or exactly the order in which the sectors were last requested, and so that the word bits within the sectors are also positioned so that their proximity to the access position is approximately or exactly the order in which they were last requested, thus reducing average access time in programs involving considerable repeated reference to a limited group of sectors and/or words in the memory, and substantially reducing worst-case access time for all situations.

Inventors

  • 👤 W Beausoleil
  • 👤 B Phelps

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-25 03:56
CPC Classifications
G; G06; G06F; G06F7/00; G06F7/76; G06F7/78; G11; G11C; G11C15/00; G11C15/04; G11C19/00; G11C19/18; G11C19/182; G11C19/188; G11C19/28; G11C19/287

Claims Analysis

Total Claims: 29
Claim 1
Independent Claim 271 words
A storage unit for storing representations of words of data which comprises: a plurality of shiftable memory matrices for storing said representations in related positions, a group of related positions containing the representations constituting a word, each matrix including an access position wherein bits of the word are accessible to a using unit; means for shifting pluralities of said groups in a first dimension from position to position in each of said matrices in first shift loops which include positions in each of said matrices which comprise an access row which includes said access position, and for shifting pluralities of said groups in said first dimension from position to position in said matrices in second shift loops each of which excludes said access position; row addressing means for providing manifestations of address bits for identifying a row which contains a word requested by said using unit; row detection means for detecting the presence in said access row of a requested word; means for shifting a plurality of said groups in a second dimension from position to position in said access rows in third shift loops which include said access position and in fourth shift loops which exclude said access position; word addressing means for providing manifestations of address bits of a word requested by said using unit; means for enabling access to said requested word while its representations are in said access positions; and shift control means for controlling the shifting in said respective shift loops so that words recently accessed are maintained in positions for successive shifting into said access positions substantially in a sequence based upon recency of usage.
Claim 2
Dependent Claim 271 words
A storage unit for storing representations of words of data which comprises: a plurality of shiftable memory matrices for storing said representations in related positions, a group of related positions containing the representations constituting a word, each matrix including an access position wherein bits of the word are accessible to a using unit; means for shifting pluralities of said groups in a first dimension from position to position in each of said matrices in first shift loops which include positions in each of said matrices which comprise an access row which includes said access position, and for shifting pluralities of said groups in said first dimension from position to position in said matrices in second shift loops each of which excludes said access position; row addressing means for providing manifestations of address bits for identifying a row which contains a word requested by said using unit; row detection means for detecting the presence in said access row of a requested word; means for shifting a plurality of said groups in a second dimension from position to position in said access rows in third shift loops which include said access position and in fourth shift loops which exclude said access position; word addressing means for providing manifestations of address bits of a word requested by said using unit; means for enabling access to said requested word while its representations are in said access positions; and shift control means for controlling the shifting in said respective shift loops so that words recently accessed are maintained in positions for successive shifting into said access positions substantially in a sequence based upon recency of usage.
Claim 3
Dependent Claim 39 words
A storage unit according to claim 1 wherein: said shift control means is arranged to terminate shifting in said first loops and to initiate shifting in said third loops when a requested word is shifted into said access row.
Claim 4
Dependent Claim 69 words
A storage unit according to claim 2 wherein: one of said second loops comprises, in a column of said matrix which includes said access position, bit positions excluding said access position; and others of said second loops each comprises, in a column of said matrix which includes a bit position of said access row other than said access position, bit positions including one bit position of said access row.
Claim 5
Dependent Claim 42 words
A storage unit according to claim 2 wherein: said shift control means Is arranged to terminate shifting in said third loops and to initiate shifting simultaneously in said second and fourth loops when a requested word is shifted into said access position.
Claim 6
Dependent Claim 74 words
A storage unit according to claim 4 wherein said shift control means is arranged to: terminate shifting in said second loops when the number of shifts in said second loops is equal to the number of shifts that took place in said first loops, and terminate shifting in said fourth loops when the number of shifts in said fourth loops is equal to the number of shifts that took place in said third loops.
Claim 7
Dependent Claim 39 words
A storage unit according to claim 2 wherein: said shift control means is arranged to terminate shifting in said third loops and to initiate shifting in said fourth loops when a requested word is shifted into said access position.
Claim 8
Dependent Claim 52 words
A storage unit according to claim 6 wherein: said shift control means is arranged to terminate shifting in said fourth loops and to initiate shifting in said second loops when the number of shifts in said fourth loops is equal to the number of shifts that took place in said third loops.
Claim 9
Dependent Claim 44 words
A storage unit according to claim 7 wherein: said shift control means is arranged to terminate shifting in said second loops when the number of shifts in said second loops is equal to the number of shifts that took place in said first loops.
Claim 10
Dependent Claim 327 words
A storage unit for storing representations of words of data which comprises: a plurality of shiftable memory matrices for storing said representations in related positions, a group of related positions containing the representations constituting a word, each matrix including an access position wherein the bits of the word are accessible to a using unit; means for shifting sectors each comprising a plurality of words in a first dimension from position to position in each of said matrices in first shift loops which include positions in each of said matrices which comprise an access row which includes said access position, and for shifting said sectors in said first dimension from position to position in said matrices in said second shift loops each of which excludes positions in said access row; sector addressing means for providing manifestations of address bits for identifying a requested sector which contains a word requested by said using unit; sector detection means for detecting the presence in said access row of said requested sector; means for shifting words within said requested sector in a second dimension from position to position in said access rows in third shift loops which include said access position and in fourth shift loops which exclude said access position; word addressing means for providing manifestations of address bits of a word requested by said using unit; word detection means for detecting the presence in said access position of a requested word; means for enabling access to said requested word while its representations are in said access positions; and shift control means for controlling the shifting in said respective shift loops so that sectors recently accessed are maintained in rows for successive shifting into said access rows on a priority based upon recency of usage and, within each accessed sector, words recently accessed are maintained in positions for successive shifting into said access positions on a priority based upon recency of usage when a given sector is in the access row.
Claim 11
Dependent Claim 327 words
A storage unit for storing representations of words of data which comprises: a plurality of shiftable memory matrices for storing said representations in related positions, a group of related positions containing the representations constituting a word, each matrix including an access position wherein the bits of the word are accessible to a using unit; means for shifting sectors each comprising a plurality of words in a first dimension from position to position in each of said matrices in first shift loops which include positions in each of said matrices which comprise an access row which includes said access position, and for shifting said sectors in said first dimension from position to position in said matrices in said second shift loops each of which excludes positions in said access row; sector addressing means for providing manifestations of address bits for identifying a requested sector which contains a word requested by said using unit; sector detection means for detecting the presence in said access row of said requested sector; means for shifting words within said requested sector in a second dimension from position to position in said access rows in third shift loops which include said access position and in fourth shift loops which exclude said access position; word addressing means for providing manifestations of address bits of a word requested by said using unit; word detection means for detecting the presence in said access position of a requested word; means for enabling access to said requested word while its representations are in said access positions; and shift control means for controlling the shifting in said respective shift loops so that sectors recently accessed are maintained in rows for successive shifting into said access rows on a priority based upon recency of usage and, within each accessed sector, words recently accessed are maintained in positions for successive shifting into said access positions on a priority based upon recency of usage when a given sector is in the access row.
Claim 12
Dependent Claim 39 words
A storage unit according to claim 9 wherein: said shift control means is arranged to terminate shifting in said first loops and to initiate shifting in said third loops when a requested sector is shifted into said access row.
Claim 13
Dependent Claim 42 words
A storage unit according to claim 10 wherein: said shift control means is arranged to terminate shifting in said third loops and to initiate shifting simultaneously in said second and fourth loops when a requested word is shifted into said access position.
Claim 14
Dependent Claim 74 words
A storage unit according to Claim 11 wherein said shift control means is arranged to: terminate shifting in said second loops when the number of shifts in said second loops is equal to the number of shifts that took place in said forst loops; and terminate shifting in said fourth loops when the number of shifts in said fourth loops is equal to the number of shifts that took place in said third loops.
Claim 15
Dependent Claim 39 words
A storage unit according to claim 10 wherein: said shift control means is arranged to terminate shifting in said third loops and to initiate shifting in said fourth loops when a requested word is shifted into said access position.
Claim 16
Dependent Claim 64 words
A storage unit according to claim 13 wherein: said shift control means is arranged to terminate shifting in said fourth loops when the shifts in said fourth loops have resulted in the word which was in said access positions, after shifting in said first loops and prior to shifting in said third loops, being shifted into the matrix positions adjacent to said access positions.
Claim 17
Dependent Claim 75 words
A storage unit according to claim 14 wherein: said shift control means is arranged to initiate shifting in said second loops when a requested word is shifted into said access positions and to terminate shifting in said second loops when the shifts in said second loops have resulted in the sector which was in said access rows, prior to shifting in said first loops, being shifted into the matrix rows adjacent to said access rows.
Claim 18
Dependent Claim 44 words
A storage unit according to claim 13 wherein: said shift control means is arranged to terminate shifting in said fourth loops when the number of shifts in said fourth loops is qual to the number of shifts that took place in said third loops.
Claim 19
Dependent Claim 60 words
A storage unit according to claim 16 wherein: said shift control means is arranged to initiate shifting in said second loops when shifting in said fourth loops is terminated and to terminate shifting in said second loops when the number of shifts in said second loops is equal to the number of shifts that took place in said first loops.
Claim 20
Dependent Claim 126 words
A storage unit according to claim 9 wherein said shift control means comprises: first and second counting means; means for incrementing said first counting means each time that a shift is accomplished in said first loops and for decrementing said first counting means each time that a shift is accomplished in second loops; means for incrementing said second cutting means each time that a shift is accomplished in said third loops and for decrementing said second counting means each time that a shift is accomplished in said fourth loops; means for terminating shifting in said second loops when said first counting means has been decremented to zero; and means for terminating shifting in said fourth loops when said second counting means has been decremented to zero.
Claim 21
Dependent Claim 19 words
A storage unit in accordance with claim 18 wherein each of said counting means comprises a bi-directional shift means.
Claim 22
Dependent Claim 509 words
A storage unit for storing representations of words of data which comprises: a plurality of shiftable memory matrices for storing said representations in related positions, a group of related positions containing the representations constituting a word, each matrix including an access position wherein the bits of the word are accessible to a using unit; means for shifting sectors, each sector comprising the words in related rows of the matrices, in a first dimension from position to position in each of said matrices in first shift loops which include positions in each of said matrices which comprise an access row which includes said access position, and for shifting pluralities of said groups in said first dimension from position to position in said matrices in second shift loops each of which excludes said access row, said second shift loops being in a direction opposite to that of said first shift loops; sector addressing means for providing manifestations of sector address bits for identifying a requested sector which contains a word requested by said using unit; sector detection means for detecting the presence in said access row of said requested sector; means for shifting words within said requested sector in a second dimension from position to position in said access rows in third shift loops which include said access position and in fourth shift loops which exclude said access position, said fourth shift loops being opposite in direction to said third shift loops; word addressing means for providing manifestations of address bits of a word requested by said using unit; word detection means for detecting the presence in said access position of a requested word; means for enabling access to said requested word while its representations are in said access positions; and shift control means comprising means responsive to said sector detection means for causing shifting in said first loops when said requested sector is not in said access rows, and for terminating shifting in said first loops when said requested sector is in said access rows; means responsive to said sector detection means and to said word detection means for causing shifting in said third loops when said requested sector is in said access rows but said requested word is not in said access positions, and for terminating shifting in said third loops when said requested word is in said access positions; means for causing a number of shifts in said fourth loops that is equal to the number of shifts that were accomplished in said third loops; and means for causing a number of shifts in said second loops that is equal to the number of shifts that were accomplished in said first loops; said shift control means thereby controlling the shifting in said respective shift loops so that sectors most recently accessed are maintained in rows for successive shifting into said access rows in a sequence based upon recency of usage and, within each accessed sector, words most recently accessed are maintained in positions for successive shifting into said access positions in a sequence based upon recency of usage.
Claim 23
Dependent Claim 509 words
A storage unit for storing representations of words of data which comprises: a plurality of shiftable memory matrices for storing said representations in related positions, a group of related positions containing the representations constituting a word, each matrix including an access position wherein the bits of the word are accessible to a using unit; means for shifting sectors, each sector comprising the words in related rows of the matrices, in a first dimension from position to position in each of said matrices in first shift loops which include positions in each of said matrices which comprise an access row which includes said access position, and for shifting pluralities of said groups in said first dimension from position to position in said matrices in second shift loops each of which excludes said access row, said second shift loops being in a direction opposite to that of said first shift loops; sector addressing means for providing manifestations of sector address bits for identifying a requested sector which contains a word requested by said using unit; sector detection means for detecting the presence in said access row of said requested sector; means for shifting words within said requested sector in a second dimension from position to position in said access rows in third shift loops which include said access position and in fourth shift loops which exclude said access position, said fourth shift loops being opposite in direction to said third shift loops; word addressing means for providing manifestations of address bits of a word requested by said using unit; word detection means for detecting the presence in said access position of a requested word; means for enabling access to said requested word while its representations are in said access positions; and shift control means comprising means responsive to said sector detection means for causing shifting in said first loops when said requested sector is not in said access rows, and for terminating shifting in said first loops when said requested sector is in said access rows; means responsive to said sector detection means and to said word detection means for causing shifting in said third loops when said requested sector is in said access rows but said requested word is not in said access positions, and for terminating shifting in said third loops when said requested word is in said access positions; means for causing a number of shifts in said fourth loops that is equal to the number of shifts that were accomplished in said third loops; and means for causing a number of shifts in said second loops that is equal to the number of shifts that were accomplished in said first loops; said shift control means thereby controlling the shifting in said respective shift loops so that sectors most recently accessed are maintained in rows for successive shifting into said access rows in a sequence based upon recency of usage and, within each accessed sector, words most recently accessed are maintained in positions for successive shifting into said access positions in a sequence based upon recency of usage.
Claim 24
Dependent Claim 328 words
A storage unit for storing representations of words of data which comprises: a plurality of shiftable memory matrices for storing said representations in related positions, a group of related positions containing the representations constituting a word, each matrix including an access position wherein the bits of the word are accessible to a using unit; means for shifting pluralities of said groups in a first dimension from position to position in each of said matrices in first shift loops which include positions in each of said matrices which comprise an access row which includes said access position, and for shifting pluralities of said groups in said first dimension from position to position in said matrices in second shift loops one of which comprises, in a column of said matrix which includes said access position, bit positions excluding said access position and others of which comprise, in columns of said matrix which do not include said access position, bit positions including one bit position of said access row; row addressing means for providing manifestations of address bits for identifying a row which contains a word requested by said using unit; row detection means for detecting the presence in said access row of a requested word; means for shifting a plurality of said groups in a second dimension from position to position in said access rows in third shift loops which include said access position and in fourth shift loops which exclude said access position; word addressing means for providing manifestations of address bits of a word requested by said using unit; word detection means for detecting the presence in said access position of a requested word; means for enabling access to said requested word while its representations are in said access positions; and shift control means for controlliNg the shifting in said respective shift loops so that words recently accessed are maintained in positions for successive shifting into said access positions substantially on a priority based upon recency of usage.
Claim 25
Dependent Claim 328 words
A storage unit for storing representations of words of data which comprises: a plurality of shiftable memory matrices for storing said representations in related positions, a group of related positions containing the representations constituting a word, each matrix including an access position wherein the bits of the word are accessible to a using unit; means for shifting pluralities of said groups in a first dimension from position to position in each of said matrices in first shift loops which include positions in each of said matrices which comprise an access row which includes said access position, and for shifting pluralities of said groups in said first dimension from position to position in said matrices in second shift loops one of which comprises, in a column of said matrix which includes said access position, bit positions excluding said access position and others of which comprise, in columns of said matrix which do not include said access position, bit positions including one bit position of said access row; row addressing means for providing manifestations of address bits for identifying a row which contains a word requested by said using unit; row detection means for detecting the presence in said access row of a requested word; means for shifting a plurality of said groups in a second dimension from position to position in said access rows in third shift loops which include said access position and in fourth shift loops which exclude said access position; word addressing means for providing manifestations of address bits of a word requested by said using unit; word detection means for detecting the presence in said access position of a requested word; means for enabling access to said requested word while its representations are in said access positions; and shift control means for controlliNg the shifting in said respective shift loops so that words recently accessed are maintained in positions for successive shifting into said access positions substantially on a priority based upon recency of usage.
Claim 26
Dependent Claim 39 words
A storage unit according to claim 21 wherein: said shift control means is arranged to terminate shifting in said first loops and to initiate shifting in said third loops when a requested word is shifted into said access row.
Claim 27
Dependent Claim 39 words
A storage unit according to claim 22 wherein: said shift control means is arranged to terminate shifting in said third loops and to initiate shifting in said fourth loops when a requested word is shifted into said access position.
Claim 28
Dependent Claim 113 words
A storage unit according to claim 23 wherein said shift control unit is arranged to: terminate shifting in said fourth loops and initiate shifting in said second loops when the shifts in said fourth loops have resulted in the word that was in said access positions, after shifting in said first loops and prior to shifting in said third loops, being shifted into the matrix positions adjacent to said access positions; and terminate shifting in said second loops when the shifts in second loops have resulted in the word that was in said access positions, prior to shifting in said first loops, being shifted into the matrix row adjacent to said access row.
Claim 29
Dependent Claim 82 words
A storage unit according to claim 23 wherein said shift control means is arranged to: terminate shifting in said fourth loops and to initiate shifting in said second loops when the number of shifts in said fourth loops is equal to the number of shifts that took place in said third loops, and terminate shifting in said second loops when the number of shifts in said second loops is equal to the number of shifts that took place in said first loops.

References Cited (Backward Citations)

US3704452A Cited
US3670313A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1976-10-15 1977-04-16 1977-10-16 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1980-10-15 1981-04-16 1981-10-16 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 1984-10-15 1985-04-16 1985-10-16 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag