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

Method and apparatus for configuration and testing of large fault-tolerant memories

Assignee: Northrop Grumman Space and Mission Systems Corp
•
Filing: 1990-12-07
•
Granted: 1994-03-29
•
Expires: 2010-12-07
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract In a large semiconductor memory having multiple memory modules that are addressable by a logical page address and a word address within each page, a technique for automatically testing the modules to establish a pool of good modules; then allocating each logical page of memory to a group of modules, with each module in the group being assigned to a particular bit position in all of the data words in the page. After allocation of each page, the modules in the page are tested in various ways to verify that they are fully functional. Modules not passing any of the tests are replaced by others from the pool of good modules. If the pool is exhausted, a partial page is de-allocated. Tests performed on the modules making up a logical page include a random access memory test, a test on bus connections to each module, and tests on the other major components of each module.

Inventors

  • 👤 Steven Vaillancourt

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-07 10:51
CPC Classifications
G; G11; G11C; G11C29/00; G11C29/04; G11C29/08; G11C29/12; G11C29/18; G11C29/20; G11C29/006; G11C29/02; G11C29/44

Claims Analysis

Total Claims: 22
Claim 1
Independent Claim 219 words
A memory circuit, addressable by a logical memory address that includes a memory page address and a memory word address within a specified page, the circuit comprising: a plurality of memory modules, wherein predefined sets of the memory modules comprise uniquely addressable memory pages, and each memory module has at least as many bits as there are memory words in a memory page; a global data bus having as many data lines as there are bits in a data word, connected to the memory modules in a selected configuration, to carry data to and from the modules; a global address bus connected to the memory modules, to carry a logical address to the modules; memory module mapping means connected to each of the memory modules, for associating each combination of memory page and bit position within each data word on that page, with a selected memory module that is unique to the combination of memory page and bit position; and memory circuit testing and configuration means integral with the memory circuit and connected to the memory modules, for automatically testing each of the memory modules and recording, in the memory module mapping means, codes that associate each memory page and bit position combination with a memory module that is unique to the combination of memory page and bit position.
Claim 2
Dependent Claim 219 words
A memory circuit, addressable by a logical memory address that includes a memory page address and a memory word address within a specified page, the circuit comprising: a plurality of memory modules, wherein predefined sets of the memory modules comprise uniquely addressable memory pages, and each memory module has at least as many bits as there are memory words in a memory page; a global data bus having as many data lines as there are bits in a data word, connected to the memory modules in a selected configuration, to carry data to and from the modules; a global address bus connected to the memory modules, to carry a logical address to the modules; memory module mapping means connected to each of the memory modules, for associating each combination of memory page and bit position within each data word on that page, with a selected memory module that is unique to the combination of memory page and bit position; and memory circuit testing and configuration means integral with the memory circuit and connected to the memory modules, for automatically testing each of the memory modules and recording, in the memory module mapping means, codes that associate each memory page and bit position combination with a memory module that is unique to the combination of memory page and bit position.
Claim 3
Dependent Claim 83 words
A memory circuit as defined in claim 1, wherein the memory circuit testing and configuration means includes: means for testing each memory module to determine that the module responds to only one preselected module address; means for testing interconnections between the global data bus and the memory modules; and means for storing a code pertaining to each tested module identifying the module as having passed or failed the tests, wherein those modules that have passed the tests form a pool of good modules.
Claim 4
Dependent Claim 89 words
A memory circuit as defined in claim 2, wherein: the memory module mapping means includes components distributed among the memory modules; each memory module includes a random access memory (RAM), a page and bit register that forms part of the memory module mapping means, and a page address comparator for comparing a page address stored in the page and bit register with a page address used to address the memory modules; and the memory circuit testing and configuration means further includes means for testing the page and bit register.
Claim 5
Dependent Claim 71 words
A memory circuit as defined in claim 3, wherein the memory circuit testing and configuration means further includes: means for allocating a logical page of memory to a plurality of memory modules, wherein the means for allocating a logical page of memory includes means for allocating each bit position to a memory module, wherein each module to which a bit position is allocated is selected from the pool of good modules.
Claim 6
Dependent Claim 37 words
A memory circuit as defined in claim 4, wherein the memory circuit testing and configuration means further includes: means for testing each logical page of memory allocated by the means for allocating a logical page of memory.
Claim 7
Dependent Claim 35 words
A memory circuit as defined in claim 5, wherein the means for testing each logical page of allocated memory includes: means for testing the page address comparator of each memory module assigned to the page.
Claim 8
Dependent Claim 76 words
A memory circuit as defined in claim 6, wherein: each memory module further includes a multiplexer/demultiplexer, connected to the global data bus and to the page and bit register, for selecting one data line from a plurality of data lines included in the global data bus, based on the bit position stored in the page and bit register; and the means for testing each logical page of allocated memory further includes means for testing the multiplexer/demultiplexer.
Claim 9
Dependent Claim 78 words
A memory circuit as defined in claim 7, wherein: the memory modules are arranged in columns of n modules each, where n is a selected integer, and the columns are divided into m column groups, where m is an integer smaller than the number of bits in each data word; and the number of data lines from the global data bus is divided approximately uniformly among the m column groups, to reduce the complexity of data busing requirements.
Claim 10
Dependent Claim 34 words
A memory circuit as defined in claim 7, wherein: the means for testing each logical page of allocated memory further includes means for testing the RAM in each memory module associated with the page.
Claim 11
Dependent Claim 51 words
A memory circuit as defined in claim 4, wherein the memory circuit testing and configuration means further includes: means for de-allocating a bit position from a memory module that has not passed a test, and reallocating the bit position to a different memory module selected from the pool of good modules.
Claim 12
Dependent Claim 31 words
A memory circuit as defined in claim 4, wherein the memory circuit testing and configuration means further includes: means for de-allocating a complete logical page of memory that was previously allocated.
Claim 13
Independent Claim 146 words
A method of automatically testing and configuring a memory circuit having a plurality of memory modules addressable by a logical memory address that includes a memory page address and a memory work address within a specified page, the method comprising the steps of: preliminarily testing each of the plurality memory modules; establishing a pool of good memory modules as a result of the testing step; allocating each logical page of memory to a plurality of memory modules selected from the pool of good modules, including the step of allocating each bit position within data words in that page, to a particular memory module, wherein each page of memory has a page number associated with as many memory modules as there are bits within a data word; and testing each logical page of memory to determine that the memory modules assigned to the page are fully operational.
Claim 14
Independent Claim 146 words
A method of automatically testing and configuring a memory circuit having a plurality of memory modules addressable by a logical memory address that includes a memory page address and a memory work address within a specified page, the method comprising the steps of: preliminarily testing each of the plurality memory modules; establishing a pool of good memory modules as a result of the testing step; allocating each logical page of memory to a plurality of memory modules selected from the pool of good modules, including the step of allocating each bit position within data words in that page, to a particular memory module, wherein each page of memory has a page number associated with as many memory modules as there are bits within a data word; and testing each logical page of memory to determine that the memory modules assigned to the page are fully operational.
Claim 15
Dependent Claim 48 words
A method as defined in claim 12, wherein: each memory module has a page and bit register for assignment of the module to a particular logical page and a particular bit position within each data word; and the preliminary testing step includes testing the page and bit register.
Claim 16
Dependent Claim 45 words
A method as defined in claim 13, wherein: the memory modules are connected to a global data bus; and the preliminary testing step further includes testing connections between the modules and the global data bus, and testing to determine whether each module is uniquely addressable.
Claim 17
Dependent Claim 87 words
A method as defined in claim 12, wherein: each memory module includes a random access memory (RAM), a page and bit register, and a page address comparator for comparing a page address stored in the page and bit register with a page address supplied used to address the memory modules; and the step of testing each logical page of memory further includes testing the page address comparator of each memory module assigned to the page, and testing the RAM in each memory module assigned to the page.
Claim 18
Dependent Claim 56 words
A method as defined in claim 15, wherein: each memory module further includes a multiplexer/demultiplexer for selecting from a plurality of data lines supplied from the global data bus, based on the bit position stored in the page and bit register; and the step of testing each logical page of memory further includes testing the multiplexer/demultiplexer.
Claim 19
Dependent Claim 141 words
A method as defined in claim 16, wherein: the memory modules are arranged in columns of n modules each, where n is a selected integer, and the columns are divided into m column groups, where m is an integer smaller than the number of bits in each data word; the number of data lines from the global data bus is divided as uniformly as possible among the m column groups, to reduce the complexity of data busing requirements; the method includes the step of selecting, in the multiplexer/demultiplexer of each memory module, one of the data bits assigned to a column group in which the memory module is located; and a bit position field of the page and bit register is used to determine which of the data bits assigned to this column group is associated with this particular memory module.
Claim 20
Dependent Claim 44 words
A method as defined in claim 17, wherein: the step of allocating a logical page of memory is performed by selecting successive memory modules from successive columns of modules, such that the modules assigned to a particular page are distributed over multiple module columns.
Claim 21
Dependent Claim 48 words
A method as defined in claim 12, and further comprising the steps of: de-allocating selected bit positions within the words of a page, based on the results of the testing step; and reallocating different memory modules to the same bit positions, selected from the pool of good modules.
Claim 22
Dependent Claim 39 words
A method as defined in claim 19, and further comprising the steps of: de-allocating a logical page of memory, if a complete page cannot be allocated from the pool of good modules or if the page cannot be repaired.

References Cited (Backward Citations)

US4066880A Cited
US4191996A Cited
US4468731A Cited
US4566102A Cited
US4653050A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-03-28 1997-09-27 1998-03-29 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-03-28 2001-09-27 2002-03-29 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-03-28 2005-09-27 2006-03-29 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag