US4754394A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Multiprocessing system having dynamically allocated local/global storage and including interleaving transformation circuit for transforming real addresses to corresponding absolute address of the storage
Assignee: International Business Machines Corp
•
Filing: 1984-10-24
•
Granted: 1988-06-28
•
Expires: 2004-10-24
Abstract
Abstract A multiprocessing system is presented for dynamically partitioning a storage module into a global storage efficiently accessible by a number of processors connected to a network, and local storage efficiently accessible by individual processors, including the interleaving of storage references output by a processor, under the control of that processor, and dynamically directing the storage references to first or second portions of the storage module.
Inventors
- 👤 William C. Brantley, Jr.
- 👤 Kevin P. McAuliffe
- 👤 Vern A. Norton
- 👤 Gregory F. Pfister
- 👤 Joseph Weiss
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-24 03:23
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/0223; G06F12/0292; G06F12/06; G06F12/0646; G06F12/0692; G06F12/08
Claims Analysis
Total Claims: 18
Claim 1
Independent Claim
173 words
In a multiprocessing system comprising a plurality of processor means responsive to user software running on the system for producing storage reference requests having real addresses, and a system storage formed by a plurality of memory modules, the improvement comprising: interleaving transformation means for applying variable interleaving transformations to the real addresses of the storage reference requests produced by said processor means, said transformations transforming said real addresses to corresponding absolute addresses, with each absolute address identifying one of said memory modules and a storage location therein; controlling means, under the dynamic control of said processor means responding to said user software during run time, for operating on said interleaving transformation means to interleave said absolute addresses across varying numbers of memory modules; and means coupled to said interleaving transformation means, for directing said storage reference requests in accordance with said absolute addresses to the respective identified memory modules and locations, whereby blocks of absolute addresses may be dynamically interleaved across variable numbers of said memory modules as specified by said controlling means.
Claim 2
Dependent Claim
173 words
In a multiprocessing system comprising a plurality of processor means responsive to user software running on the system for producing storage reference requests having real addresses, and a system storage formed by a plurality of memory modules, the improvement comprising: interleaving transformation means for applying variable interleaving transformations to the real addresses of the storage reference requests produced by said processor means, said transformations transforming said real addresses to corresponding absolute addresses, with each absolute address identifying one of said memory modules and a storage location therein; controlling means, under the dynamic control of said processor means responding to said user software during run time, for operating on said interleaving transformation means to interleave said absolute addresses across varying numbers of memory modules; and means coupled to said interleaving transformation means, for directing said storage reference requests in accordance with said absolute addresses to the respective identified memory modules and locations, whereby blocks of absolute addresses may be dynamically interleaved across variable numbers of said memory modules as specified by said controlling means.
Claim 3
Dependent Claim
47 words
A system according to claim 1, wherein said processor means further comprise means for performing page mapping of virtual addresses to said real addresses transformed by said interleaving transformation means whereby said blocks of absolute addresses are allocated to said memory modules in accordance with page boundaries.
Claim 4
Dependent Claim
47 words
A system according to claim 1, wherein said processor means further comprise means for performing segment mapping of virtual addresses to said real addresses transformed by said interleaving transformation means whereby said blocks of absolute addresses are allocated to said memory modules in accordance with segment boundaries.
Claim 5
Dependent Claim
44 words
A system according to claim 1, wherein said controlling means further comprises means for respectively specifying the number of said memory modules across which each said block is interleaved to be between 1 and the total number of said memory modules in said system.
Claim 6
Dependent Claim
87 words
A system according to claim 1, wherein each of said real addresses contains high-order bits for identifying one of said memory modules and low-order bits for identifying a storage location in the identified module, and said interleaving transformation means comprises means for limiting the number of said memory modules over which interleaving is performed to a number less than the total number of said memory modules in said system by swapping the high-order bits for the low-order bits of said real addresses to generate said absolute addresses.
Claim 7
Dependent Claim
67 words
A system according to claim 1, wherein each of said real addresses contains high-order bits for identifying one of said memory modules and low-order bits for identifying a storage location in the identified module, and further comprising: means for applying a random one-to-one mapping to said low-order bits of said real addresses providing the real addresses containing the randomly mapped low-order bits to said interleaving transformation means.
Claim 8
Dependent Claim
32 words
A system according to claim 1, further comprising user program means, running on said processor means, for dynamically modifying the number of said memory modules across which each said block is interleaved.
Claim 9
Dependent Claim
32 words
A system according to claim 1, wherein each of said processor means is connected in a more quickly accessible manner to one respective memory module than the remainder of said memory modules.
Claim 10
Dependent Claim
45 words
A system according to claim 8, wherein said real addresses of storage reference requests produced by said processor means contain high-order bits for respectively identifying said more quickly accessible memory modules connected to the processor means and low-order bits for respectively identifying storage locations therein.
Claim 11
Dependent Claim
39 words
A system according to claim 9, wherein said interleaving transformation means provides said real addresses as said absolute addresses when said controlling means specifies 1 as the number of said memory modules across which each said block is interleaved.
Claim 12
Dependent Claim
160 words
In a multiprocessing system comprising a plurality of processor means responsive to user software running on the system for producing storage reference requests having real addresses, and a system storage formed by a plurality of memory modules, the method comprising the steps of: applying variable interleaving transformations to the real addresses of the storage reference requests produced by said processor means, said transformations transforming said real addresses to corresponding absolute addresses, with each absolute address identifying one of said memory modules and a storage locatin therein; controlling said variable interleaving transformations, under the dynamic control of said processor means responding to said user software during run time, to interleave said absolute addresses across varying numbers of memory modules; and directing said storage reference requests in accordance with said absolute addresses to the respective identified memory modules and locations, whereby blocks of absolute addresses may be dynamically interleaved across variable numbers of said memory modules as specified by said controlling step.
Claim 13
Dependent Claim
160 words
In a multiprocessing system comprising a plurality of processor means responsive to user software running on the system for producing storage reference requests having real addresses, and a system storage formed by a plurality of memory modules, the method comprising the steps of: applying variable interleaving transformations to the real addresses of the storage reference requests produced by said processor means, said transformations transforming said real addresses to corresponding absolute addresses, with each absolute address identifying one of said memory modules and a storage locatin therein; controlling said variable interleaving transformations, under the dynamic control of said processor means responding to said user software during run time, to interleave said absolute addresses across varying numbers of memory modules; and directing said storage reference requests in accordance with said absolute addresses to the respective identified memory modules and locations, whereby blocks of absolute addresses may be dynamically interleaved across variable numbers of said memory modules as specified by said controlling step.
Claim 14
Dependent Claim
44 words
A method according to claim 11, further comprising the step of performing page mapping of virtual addresses to said real addresses transformed in said interleaving transformation step whereby said blocks of absolute addresses are allocated to said memory modules in accordance with page boundaries.
Claim 15
Dependent Claim
44 words
A method according to claim 11, further comprising the step of performing segment mapping of virtual addresses to said real addresses transformed in said interleaving transformation step whereby said blocks of absolute addresses are allocated to said memory modules in accordance with segment boundaries.
Claim 16
Dependent Claim
44 words
A method according to claim 11, wherein said controlling step comprises the step of respectively specifying the number of said memory modules across which each said block is interleaved to be between 2 and the total number of said memory modules in said system.
Claim 17
Dependent Claim
86 words
A method according to claim 11, wherein each of said real addresses contains high-order bits for identifying one of said memory modules and low-order bits for identifying a storage location in the identified module, and said interleaving transformation step comprises the step of limiting the number of said memory modules over which interleaving is performed to a number less than the total number of said memory modules in said system by swapping high-order bits for low-order bits of said real addresses to generate said absolute addresses.
Claim 18
Dependent Claim
71 words
A method according to claim 11, wherein each of said real addresses contains high-order bits for identifying one of said memory modules and low-order bits for identifying a storage location in the identified module, and further comprising the step of applying a random one-to-one mapping to said low-order bits of said real addresses and providing said real addresses containing the randomly mapped low-order bits for use in said interleaving transformation step.
References Cited (Backward Citations)
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1991-06-28 | 1991-12-28 | 1992-06-28 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 1995-06-28 | 1995-12-28 | 1996-06-28 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 1999-06-28 | 1999-12-28 | 2000-06-28 | $7700.00 | Window Closed / Lapsed |