US5287477A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Memory-resource-driven arbitration
Assignee: HP Inc
•
Filing: 1991-08-07
•
Granted: 1994-02-15
•
Expires: 2011-08-07
Abstract
Abstract A method and apparatus to improve memory performance in a computer bus system. Memory is divided into interleaved blocks and memory addresses are mapped into block identification numbers. Master devices keep track of which parts of memory are busy by storing memory block identification numbers in local queues whenever memory is accessed. Block identification numbers are removed from local queues when the memory transaction is complete. Master devices arbitrate for access to the bus for memory transactions only if the target memory block identification number is not in the local queue.
Inventors
- 👤 Leith L. Johnson
- 👤 Russell C. Brockmann
- 👤 William S. Jaffe
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-04 02:38
CPC Classifications
G; G06; G06F; G06F13/00; G06F13/14; G06F13/16; G06F13/1605; G06F13/161; G06F12/00; G06F12/02; G06F12/06; G06F12/0607
Claims Analysis
Total Claims: 12
Claim 1
Independent Claim
100 words
In a computer system, a method for improving bus utilization, the method comprising the steps of: (a) storing a memory address identification into an address storage when a memory transaction is initiated; (b) removing said memory address identification from said address storage when said memory transaction is completed; (c) checking the contents of said address storage before initiating a subsequent memory transaction to determine if a target memory address is busy; (d) initiating said subsequent memory transaction only if said target memory address is not busy; and (e) repeating steps (a) and (b) if said subsequent memory transaction is initiated.
Claim 2
Dependent Claim
100 words
In a computer system, a method for improving bus utilization, the method comprising the steps of: (a) storing a memory address identification into an address storage when a memory transaction is initiated; (b) removing said memory address identification from said address storage when said memory transaction is completed; (c) checking the contents of said address storage before initiating a subsequent memory transaction to determine if a target memory address is busy; (d) initiating said subsequent memory transaction only if said target memory address is not busy; and (e) repeating steps (a) and (b) if said subsequent memory transaction is initiated.
Claim 3
Dependent Claim
62 words
A method as in claim 1 wherein step (a) further comprises the steps of: (a1) dividing a target memory into a plurality of blocks; (a2) interleaving said blocks; and (a3) computing a block identification from said target memory address so that for each block in said plurality of blocks, all target memory addresses within a block correspond to one unique block identification.
Claim 4
Dependent Claim
132 words
A method as in claim 2 further comprising the steps of: (a4) initiating said memory transaction during an address control state; (a5) setting an address valid bit to logical 1 if said memory transaction is initiated; (a6) setting said address valid bit to logical 0 if said address control state transpires without initiating said memory transaction; (a7) assigning said block identification and said address valid bit to said memory address identification each time said memory transaction is initiated; (a8) assigning an arbitrary block identification and said address valid bit to said memory address identification if said address control state transpires without initiating said memory transaction; and (a9) inserting said memory address identification into a queue within each master device in a plurality of master devices each time said address control state transpires.
Claim 5
Dependent Claim
86 words
A method as in claim 2 further comprising the steps of: (a4) initiating said memory transaction during an address control state; (a5) assigning said block identification to said memory address identification if said memory transaction is initiated; (a6) assigning an unused block identification to said memory address identification if said address control state transpires without initiating said memory transaction; and, (a7) inserting said memory address identification into a queue within each master device in a plurality of master devices each time said address control state transpires.
Claim 6
Independent Claim
40 words
A method as in claims 3 or 4 wherein step (b) further comprises the step of: (b1) allowing the last target memory address identification in said queue to be overwritten when a new block identification is inserted into said queue.
Claim 7
Dependent Claim
111 words
In a computer system having a plurality of master devices, a bus, and memory, an apparatus for improving utilization of said bus, said apparatus comprising: storage means for storing a memory address identification when a memory transaction is initiated; removal means for removing said memory address identification from said storage means when said memory transaction is complete; detection means for detecting whether a target memory address identification is stored in said storage means, thereby determining whether an area of memory corresponding to said target memory address identification is busy; and, inhibiting means for inhibiting initiation of said memory transaction if said target memory address identification is stored in said storage means.
Claim 8
Dependent Claim
111 words
In a computer system having a plurality of master devices, a bus, and memory, an apparatus for improving utilization of said bus, said apparatus comprising: storage means for storing a memory address identification when a memory transaction is initiated; removal means for removing said memory address identification from said storage means when said memory transaction is complete; detection means for detecting whether a target memory address identification is stored in said storage means, thereby determining whether an area of memory corresponding to said target memory address identification is busy; and, inhibiting means for inhibiting initiation of said memory transaction if said target memory address identification is stored in said storage means.
Claim 9
Dependent Claim
165 words
An apparatus as in claim 6 wherein said identification means further comprises: block means for dividing said memory into a plurality of blocks; block identification means for computing a plurality of block identifications, wherein each block in said plurality of blocks has a one-to-one correspondence to one block identification in said plurality of block identifications and wherein a plurality of memory addresses may correspond to one block identification; an address valid bit, wherein said address valid bit is set to logical 1 if said memory transaction is initiated during said address control state and said address valid bit is set to logical 0 if said memory transaction is not initiated during said address control state; said memory address identification comprising said block identification and said address valid bit if said memory transaction is initiated during said address control state; and said memory address identification comprising an arbitrary block identification and said address bit if a memory transaction is not initiated during said address control state.
Claim 10
Dependent Claim
111 words
An apparatus as in claim 6 wherein said identification means further comprises: block means for dividing said memory into a plurality of blocks; block identification means for computing a plurality of block identifications, wherein each block in said plurality of blocks has a one-to-one correspondence to one block identification in said plurality of block identifications and wherein a plurality of memory addresses may be assigned to one block identification; said memory address identification comprising said corresponding block address if said memory transaction is initiated during said address control state; and said memory address identification comprising an unused block identification if said memory transaction is not initiated during said address control state.
Claim 11
Independent Claim
44 words
An apparatus as in claims 7 or 8 wherein said storage means and said removal means comprise a first-in first-out register queue wherein the last memory address identification in said queue is overwritten whenever a new memory address identification is inserted into said queue.
Claim 12
Dependent Claim
14 words
An apparatus as in claim 9 wherein said comparison means is a digital comparator.
References Cited (Backward Citations)
US3978451A
Cited
US4597104A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1997-02-14 | 1997-08-16 | 1998-02-15 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2001-02-14 | 2001-08-16 | 2002-02-15 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2005-02-14 | 2005-08-16 | 2006-02-15 | $7700.00 | Window Closed / Lapsed |