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

Dynamic memory mapper which supports interleaving across 2N +1, 2.sup.NN -1 number of banks for reducing contention during nonunit stride accesses

Assignee: International Business Machines Corp
•
Filing: 1991-03-12
•
Granted: 1993-09-21
•
Expires: 2011-03-12
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A memory system for a high performance data processing system comprises a plurality of memory modules. In the preferred embodiment, there are 2 N +1 memory modules. In a specific example, there are 65 such modules. When all 65 modules are enabled, a real-to-physical translation unit generates logical module addresses from 0 to 64 using modulo 65 calculations. Once a module failure is detected, the translation unit maps the real addresses to logical module addresses from 0 to 63 by performing modulo 64 calculations. The contiguous set of logical module addresses are then mapped to a set of physical module addresses which do not include the failed module.

Inventors

  • 👤 Jamshed H. Mirza
  • 👤 Steven W. White

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 23:16
CPC Classifications
G; G11; G11C; G11C29/00; G11C29/70; G11C29/76; G11C29/88

Claims Analysis

Total Claims: 11
Claim 1
Independent Claim 240 words
A highly interleaved memory system comprising: a plurality of central processing units selectively connected by a switching network to 2 n +1, 2 n , or 2 n -1 memory modules where n is a positive integer, said central processing units including means for generating two address components for a logical address of one of said memory modules, one address component selecting a memory module and another address component specifying an address within a selected memory module, said means for generating said two address components including means for dividing a system logical address by the currently selected number of modules to specify said address within a memory module and means for taking a modulo of the currently selected number of modules to determine the selected memory module, an efficient sparing mechanism for said memory system wherein zero, one or two of the memory modules may be specified as disabled or failed while all others of said plurality of memory modules are accessible by said plurality of central processing units, said sparing mechanism comprising: means responsive to a real address of one of said plurality of memory modules for generating a module select number and module address for a logically-contiguous dynamically-specified number of enabled memory modules; and means for mapping a logically contiguous set of enabled memory modules is a set of physical modules in which zero, one or two of the memory modules may be specified as disabled or failed.
Claim 2
Dependent Claim 240 words
A highly interleaved memory system comprising: a plurality of central processing units selectively connected by a switching network to 2 n +1, 2 n , or 2 n -1 memory modules where n is a positive integer, said central processing units including means for generating two address components for a logical address of one of said memory modules, one address component selecting a memory module and another address component specifying an address within a selected memory module, said means for generating said two address components including means for dividing a system logical address by the currently selected number of modules to specify said address within a memory module and means for taking a modulo of the currently selected number of modules to determine the selected memory module, an efficient sparing mechanism for said memory system wherein zero, one or two of the memory modules may be specified as disabled or failed while all others of said plurality of memory modules are accessible by said plurality of central processing units, said sparing mechanism comprising: means responsive to a real address of one of said plurality of memory modules for generating a module select number and module address for a logically-contiguous dynamically-specified number of enabled memory modules; and means for mapping a logically contiguous set of enabled memory modules is a set of physical modules in which zero, one or two of the memory modules may be specified as disabled or failed.
Claim 3
Dependent Claim 18 words
The sparing mechanism as recited in claim 1 wherein the number of memory modules is 2 N +1.
Claim 4
Dependent Claim 28 words
The sparing mechanism recited in claim 2 wherein the number of memory modules is 65 of which 65, 64 or 63 of said memory modules may be enabled.
Claim 5
Dependent Claim 84 words
The sparing mechanism recited in claim 1 wherein said means for generating a module select number and module address comprises: three translation means for continuously translating said logical address into a module select number and module address using modulo arithmetic for a maximum number of said plurality of memory modules, said maximum number less one and said maximum number less two, respectively; and multiplexor means responsive to a dynamically-specified number of enabled memory modules for selecting an output from one of said translation means.
Claim 6
Dependent Claim 18 words
The sparing mechanism as recited in claim 4 wherein the number of memory modules is 2 N +1.
Claim 7
Dependent Claim 28 words
The sparing mechanism recited in claim 5 wherein the number of memory modules is 65 of which 65, 64 or 63 of said memory modules may be enabled.
Claim 8
Dependent Claim 31 words
The sparing mechanism recited in claim 6 wherein said three translation means perform modulo 65, modulo 64 and modulo 63 arithmetic, respectively, to generate a module select number and module address.
Claim 9
Dependent Claim 29 words
The sparing mechanism recited in claim 1 wherein said means for mapping comprises RAM table means responsive to said module select number for generating a physical memory module number.
Claim 10
Dependent Claim 105 words
The sparing mechanism recited in claim 1 wherein said means for mapping comprises: first and second limit register means for storing first and second values; first and second comparator means each having as a first input said module select number and as a second input a respective one of said first and second limit register means for determining whether to add an offset value which may be zero, one or two to said module select number to generate a physical memory module number; and adder means responsive to said first and second comparator means for adding zero, one and two to said module select number.
Claim 11
Dependent Claim 77 words
The sparing mechanism recited in claim 1 wherein said means for generating a module select number and module address comprises translation means and said translation means comprises: parallel adder means for generating a first sum comprising a plurality of bits from a high order bit to a low order bit; and post-add means for resetting said high order bit and performing a decrement of all remaining bits if said sum is greater than a modulo base number.

References Cited (Backward Citations)

US3820079A Cited
US3737870A Cited
US4051551A Cited
US4280176A Cited
US4400768A Cited
US4507730A Cited
US4400794A Cited
US4740916A Cited
WO1990004576A2 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1996-09-20 1997-03-22 1997-09-21 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2000-09-20 2001-03-22 2001-09-21 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2004-09-20 2005-03-22 2005-09-21 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag