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

Backing store access coordination in a multi-processor system

Assignee: International Business Machines Corp
•
Filing: 1977-10-06
•
Granted: 1979-01-23
•
Expires: 1997-10-06
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract In a multi-processor system which utilizes store-in-cache techniques, a queueing mechanism for insuring that all units that wish to interrogate a memory line will be permitted to interrogate the line. Backing store access requests for data that is contained in the cache of another processor are queued until they can be serviced. The access requests that pertain to particular data are issued from the queue on a first-in-first-out basis. No group of interrogating units will be able to lock out another unit that wishes to interrogate.

Inventors

  • 👤 Eugene J. Annunziata
  • 👤 Robert S. James
  • 👤 Kwang G. Tan

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-22 16:53
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0806; G06F12/0815; G06F12/0817; G06F12/0828

Claims Analysis

Total Claims: 15
Claim 1
Independent Claim 167 words
For use in a data processing system which includes at least two processors, each with an associated cache, and a backing store shared by all said processors; a system control unit for coordinating backing store access requests by said processors, said system control unit comprising: cross-interrogate means responsive to a data access request from one of said processors to produce a first signal if the requested data is in the cache associated with another processor; queueing means for temporarily storing a plurality of data access requests; means responsive to said first signal for causing the processor associated with the cache containing the requested data to initiate a store operation of said data into the backing store; means preventing access to said requested data in said backing store until the store operation initiated by said another processor has been completed; and sequence control means, associated with said queueing means, causing access requests related to said requested data to be issued from said queueing means in a first-in-first-out sequence.
Claim 2
Dependent Claim 167 words
For use in a data processing system which includes at least two processors, each with an associated cache, and a backing store shared by all said processors; a system control unit for coordinating backing store access requests by said processors, said system control unit comprising: cross-interrogate means responsive to a data access request from one of said processors to produce a first signal if the requested data is in the cache associated with another processor; queueing means for temporarily storing a plurality of data access requests; means responsive to said first signal for causing the processor associated with the cache containing the requested data to initiate a store operation of said data into the backing store; means preventing access to said requested data in said backing store until the store operation initiated by said another processor has been completed; and sequence control means, associated with said queueing means, causing access requests related to said requested data to be issued from said queueing means in a first-in-first-out sequence.
Claim 3
Dependent Claim 40 words
The control unit of claim 1 wherein said sequence control means comprises: means for providing a signal indicative of the location within said queueing means which contains the data access request that has been stored longest within said queueing means.
Claim 4
Dependent Claim 75 words
The control unit of claim 2 wherein said sequence control means further comprises: means for retaining an indication of the locations within said queueing means which are available for storage of data access requests; means for selecting one of said available locations for storing a data access request in said queueing means; and means for indicating the sequence in which locations within said queueing means have been allocated to the storage of data access requests.
Claim 5
Dependent Claim 78 words
The control unit of claim 3 further including: means for indicating whether or not a module of said backing store is busy; means for producing a cast-out signal when storage to said backing store from said another processor has been completed; and means responsive to said cast-out signal and to a non-busy condition in a module of backing store to cause issuance from said queueing means of the oldest data access request related to said non-busy store module.
Claim 6
Dependent Claim 50 words
The apparatus of claim 4 wherein said sequence control means further comprises: a push-down stack of registers for storing addresses of locations in said queueing means; the sequence of addresses within said push-down stack being indicative of the sequence in which locations within said queueing means received data access requests.
Claim 7
Dependent Claim 78 words
The apparatus of claim 5 wherein said sequence control means contains: a plurality of registers in said push-down stack, each register for holding an address of a location in said queueing means and a flag indicating whether or not the location in said queueing means contains a data access request that has not yet been executed; and means for resetting said flag after execution of the data access request enqueued at the indicated location within said queueing means.
Claim 8
Dependent Claim 57 words
The apparatus of claim 6 further including: means responsive to resetting of the flag in an i th register of said push-down stack to cause shifting of the entries in said push-down stack that were stored therein subsequent to the storage of the entry in said i th register where i is an integer greater than 1.
Claim 9
Dependent Claim 235 words
In a data processing system including at least four processors, each with an associated cache, and a backing store shared by all said processors; at least two system control units, each connected to at least two processors, for coordinating backing store access requests by said at least four processors, each of said system control units comprising: directory means identifying data in the cache associated with each processor connected to the control unit; cross-interrogate means responsive to a data access request from any of said processors to produce a first signal if the requested data is in the cache associated with a processor connected to the control unit; queueing means for temporarily storing data access requests from processors connected to the control unit; means responsive to said first signal for causing the processor associated with the cache containing the requested data to initiate a store operation of said data into the backing store; means preventing access to said requested data in said backing store until the store operation initiated by said another processor has been completed; and sequence control means, associated with said queueing means, causing access requests related to said requested data to be issued by said queueing means in a first-in-first-out sequence; said system further including means connecting said control units so the cross-interrogate means within one control unit can respond to a data access request from a processor connected to another control unit.
Claim 10
Dependent Claim 235 words
In a data processing system including at least four processors, each with an associated cache, and a backing store shared by all said processors; at least two system control units, each connected to at least two processors, for coordinating backing store access requests by said at least four processors, each of said system control units comprising: directory means identifying data in the cache associated with each processor connected to the control unit; cross-interrogate means responsive to a data access request from any of said processors to produce a first signal if the requested data is in the cache associated with a processor connected to the control unit; queueing means for temporarily storing data access requests from processors connected to the control unit; means responsive to said first signal for causing the processor associated with the cache containing the requested data to initiate a store operation of said data into the backing store; means preventing access to said requested data in said backing store until the store operation initiated by said another processor has been completed; and sequence control means, associated with said queueing means, causing access requests related to said requested data to be issued by said queueing means in a first-in-first-out sequence; said system further including means connecting said control units so the cross-interrogate means within one control unit can respond to a data access request from a processor connected to another control unit.
Claim 11
Dependent Claim 43 words
The system of claim 8 wherein each of said sequence control means comprises: means for providing a signal indicative of the location within one of said queueing means which contains the data access request that has been stored longest within said queueing means.
Claim 12
Dependent Claim 85 words
The system of claim 9 wherein each of said sequence control means further comprises: means for retaining an indication of the locations within said one of said queueing means which are available for storage of data access requests; means for selecting one of said available locations for storing a data access request in said one of said queueing means; and means for indicating the sequence in which locations within said one of said queueing means have been allocated to the storage of data access requests.
Claim 13
Dependent Claim 82 words
The system of claim 10 wherein each of said control units further includes: means for indicating whether or not a module of said backing store is busy; means for producing a cast-out signal when storage to said backing store from a processor has been completed; and means responsive to said cast-out signal and to a non-busy condition in a module of backing store to cause issuance from said queueing means of the oldest data access request related to said non-busy storage module.
Claim 14
Dependent Claim 25 words
The system of claim 10 further including: queue sequence means controlling the sequence in which the plurality of queueing means issue enqueued data access requests.
Claim 15
Dependent Claim 23 words
The system of claim 12 wherein: said queue sequence means cause alternation among the plurality of queueing means in issuing data access requests.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1982-01-22 1982-07-24 1983-01-23 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1986-01-22 1986-07-24 1987-01-23 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 1990-01-22 1990-07-24 1991-01-23 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag