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

Fail-over of multiple memory blocks in multiple memory modules in computer system

Assignee: Hewlett Packard Development Co LP
•
Filing: 1998-07-16
•
Granted: 2003-01-07
•
Expires: 2018-07-16
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A computer system has a memory controller for controlling accesses to multiple memory modules, each having multiple memory blocks, and a fail-over circuit for failing-over individual memory blocks from multiple memory modules. The digital information stored in an individual memory block that has experienced memory errors in excess of a permissible threshold is copied to an auxiliary memory location. The memory accesses directed to the failed-over memory block are intercepted and redirected to the auxiliary memory location. Tags are stored to identify failed-over memory modules and corresponding auxiliary memory modules, so a tag look-up for an accessed memory address can generate a hit signal when the memory access is to a failed-over memory module and cause the auxiliary memory module to respond to the memory access.

Inventors

  • 👤 Sompong P. Olarig

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-05 20:53
CPC Classifications
G; G11; G11C; G11C29/00; G11C29/70; G11C29/76

Claims Analysis

Total Claims: 37
Claim 1
Independent Claim 194 words
A computer system comprising: a bus subsystem for transferring digital information; a processing unit for processing the digital information; a mass storage device for storing the digital information and cooperatively coupled to the bus subsystem to transmit and receive the digital information; a memory module array having multiple memory modules, each of the memory modules having multiple memory blocks for storing the digital information transmitted or received by the mass storage device; a memory controller for controlling transfer, between the bus subsystem, the processing unit and the memory module array, of the digital information transmitted or received by the mass storage device; and a memory fail-over subsystem cooperatively coupled to fail-over individual memory blocks, and the digital information stored therein, of one or more of the memory modules; and an error monitoring circuitry cooperatively coupled to transmit error data to the memory controller, wherein the memory fail-over subsystem fails-over an individual memory block when the error data for the individual memory block exceeds a permissible threshold, and accesses to remaining memory blocks in the same memory module as the failed-over memory block are satisfied by the remaining memory blocks in the same memory module.
Claim 2
Dependent Claim 194 words
A computer system comprising: a bus subsystem for transferring digital information; a processing unit for processing the digital information; a mass storage device for storing the digital information and cooperatively coupled to the bus subsystem to transmit and receive the digital information; a memory module array having multiple memory modules, each of the memory modules having multiple memory blocks for storing the digital information transmitted or received by the mass storage device; a memory controller for controlling transfer, between the bus subsystem, the processing unit and the memory module array, of the digital information transmitted or received by the mass storage device; and a memory fail-over subsystem cooperatively coupled to fail-over individual memory blocks, and the digital information stored therein, of one or more of the memory modules; and an error monitoring circuitry cooperatively coupled to transmit error data to the memory controller, wherein the memory fail-over subsystem fails-over an individual memory block when the error data for the individual memory block exceeds a permissible threshold, and accesses to remaining memory blocks in the same memory module as the failed-over memory block are satisfied by the remaining memory blocks in the same memory module.
Claim 3
Dependent Claim 36 words
The computer system of claim 1 further comprising an auxiliary memory cooperatively coupled to receive the digital information intended for failed-over memory blocks, wherein accesses to individual failed-over memory blocks are satisfied by the auxiliary memory.
Claim 4
Dependent Claim 53 words
The computer system of claim 2 further comprising a tag storage having storage locations for storing tags identifying one or more failed-over memory blocks in one or more of the memory modules and pointing to a location in the auxiliary memory where the digital information intended for the failed-over memory blocks is stored.
Claim 5
Dependent Claim 55 words
The computer system of claim 3 further comprising a tag look-up circuitry cooperatively coupled to the tag storage to determine whether an access to a memory block is to a failed-over memory block and cooperatively coupled to the memory controller to provide a hit signal thereto if the access is to a failed-over memory block.
Claim 6
Dependent Claim 54 words
The computer system of claim 1 further comprising: a tag storage having storage locations for storing tags corresponding to one or more memory blocks in one or more of the memory modules; wherein a tag corresponding to a failed-over memory block is stored in the tag storage upon fail-over of the failed-over memory block.
Claim 7
Dependent Claim 66 words
The computer system of claim 5 further comprising: an auxiliary memory cooperatively coupled to the memory controller to respond to memory accesses; wherein: the digital information stored in a failed-over memory block in a memory module is transferred to an auxiliary location in the auxiliary memory; and the tag corresponding to the failed-over memory block further corresponds to the auxiliary location for the transferred digital information.
Claim 8
Dependent Claim 18 words
The computer system of claim 6 wherein the auxiliary memory is an embedded memory in the memory controller.
Claim 9
Dependent Claim 16 words
The computer system of claim 6 wherein the auxiliary memory is external to the memory controller.
Claim 10
Dependent Claim 94 words
The computer system of claim 6 further comprising: a tag look-up circuitry cooperatively coupled to the tag storage to determine whether an access to a memory block is to a failed-over memory block by identifying a tag stored in the tag storage and cooperatively coupled to the memory controller to provide a hit signal thereto if the access is to a failed-over memory block; wherein, when the tag look-up circuitry identifies a tag corresponding to the accessed memory block, the memory block access is satisfied by the auxiliary location corresponding to the identified tag.
Claim 11
Dependent Claim 42 words
The computer system of claim 1 further comprising: an auxiliary memory cooperatively coupled to the memory controller to respond to memory accesses; wherein the digital information stored in a failed-over memory block in a memory module is transferred to the auxiliary memory.
Claim 12
Dependent Claim 38 words
The computer system of claim 1 further comprising: an error log for storing the transmitted error data; wherein the error data stored in the error log is processed to determine whether the error data exceeds the permissible threshold.
Claim 13
Dependent Claim 91 words
A memory controller for controlling functions of multiple memory modules, each having multiple memory blocks, comprising a fail-over circuitry for failing-over individual memory blocks in one or more of the memory modules; and an error monitoring circuitry receiving error data regarding errors in digital information returned from an accessed memory module, wherein the memory fail-over subsystem fails-over an individual memory block when the error data for the individual memory block exceeds a permissible threshold, and accesses to the non-failed-over memory blocks are satisfied by the memory blocks in the memory modules.
Claim 14
Dependent Claim 91 words
A memory controller for controlling functions of multiple memory modules, each having multiple memory blocks, comprising a fail-over circuitry for failing-over individual memory blocks in one or more of the memory modules; and an error monitoring circuitry receiving error data regarding errors in digital information returned from an accessed memory module, wherein the memory fail-over subsystem fails-over an individual memory block when the error data for the individual memory block exceeds a permissible threshold, and accesses to the non-failed-over memory blocks are satisfied by the memory blocks in the memory modules.
Claim 15
Dependent Claim 35 words
The memory controller of claim 12 further comprising an auxiliary memory cooperatively coupled to receive digital information intended for failed-over memory blocks, wherein accesses to individual failed-over memory blocks are satisfied by the auxiliary memory.
Claim 16
Dependent Claim 53 words
The memory controller of claim 13 further comprising a tag storage having storage locations for storing tags identifying one or more failed-over memory blocks in one or more of the memory modules and pointing to a location in the auxiliary memory where the digital information intended for the failed-over memory blocks is stored.
Claim 17
Dependent Claim 55 words
The memory controller of claim 14 further comprising a tag look-up circuitry cooperatively coupled to the tag storage to determine whether an access to a memory block is to a failed-over memory block and cooperatively coupled to the memory controller to provide a hit signal thereto if the access is to a failed-over memory block.
Claim 18
Dependent Claim 53 words
The memory controller of claim 12 further comprising: a tag storage having storage locations for storing tags corresponding to one or more memory blocks in one or more of the memory modules; wherein a tag corresponding to a failed-over memory block is stored in the tag storage upon fail-over of the memory block.
Claim 19
Dependent Claim 61 words
The memory controller of claim 16 further comprising: an auxiliary memory capable of responding to memory accesses; wherein: the digital information stored in a failed-over memory block in a memory module is transferred to an auxiliary location in the auxiliary memory; and the tag corresponding to the failed-over memory block further corresponds to the auxiliary location for the transferred digital information.
Claim 20
Dependent Claim 18 words
The memory controller of claim 17 wherein the auxiliary memory is an embedded memory in the memory controller.
Claim 21
Dependent Claim 16 words
The memory controller of claim 17 wherein the auxiliary memory is external to the fail-over circuitry.
Claim 22
Dependent Claim 77 words
The memory controller of claim 17 further comprising a tag look-up circuitry cooperatively coupled to the tag storage to determine whether an access to a memory block is to a failed-over memory block, and providing a hit signal if the access is to a failed-over memory block, wherein the tag look-up circuitry identifies a tag corresponding to the failed-over memory block, and the memory block access is satisfied by the auxiliary location corresponding to the identified tag.
Claim 23
Dependent Claim 40 words
The memory controller of claim 12 further comprising an auxiliary memory responding to memory accesses, wherein the digital information stored in a failed-over memory block in a memory module is transferred to the auxiliary memory to satisfy subsequent memory accesses.
Claim 24
Dependent Claim 38 words
The memory controller of claim 12 further comprising an error log for storing the transmitted error data, wherein the error data stored in the error log is processed to determine whether the error data exceeds the permissible threshold.
Claim 25
Independent Claim 71 words
A method of controlling accesses to multiple memory modules, each having multiple memory blocks, comprising the steps of: monitoring errors in accesses to the memory blocks in relation to a permissible error threshold; and upon detection of monitored errors for a particular memory block exceeding the permissible error threshold, failing-over only the particular memory block; whereby accesses to non-failed-over memory blocks are satisfied by the memory blocks in the memory modules.
Claim 26
Independent Claim 71 words
A method of controlling accesses to multiple memory modules, each having multiple memory blocks, comprising the steps of: monitoring errors in accesses to the memory blocks in relation to a permissible error threshold; and upon detection of monitored errors for a particular memory block exceeding the permissible error threshold, failing-over only the particular memory block; whereby accesses to non-failed-over memory blocks are satisfied by the memory blocks in the memory modules.
Claim 27
Dependent Claim 32 words
The method of claim 23 further comprising the steps of: detecting an access to a failed-over memory block; and satisfying the access to the failed-over memory block from an auxiliary memory block.
Claim 28
Dependent Claim 27 words
The method of claim 23 further comprising the step of performing a tag look-up to determine whether a memory block access is to a failed-over memory block.
Claim 29
Dependent Claim 38 words
The method of claim 25 , wherein the looked-up tag indicates a corresponding auxiliary memory block, further comprising the step of confirming that digital information stored in the corresponding auxiliary memory block to the looked-up tag is valid.
Claim 30
Dependent Claim 43 words
The method of claim 25 , wherein the looked-up tag indicates a corresponding auxiliary memory block, further comprising the step of sending a hit signal indicating that the access to the failed-over memory block will be satisfied by the corresponding auxiliary memory block.
Claim 31
Dependent Claim 32 words
The method of claim 25 , wherein the looked-up tag indicates a corresponding auxiliary memory block, further comprising the step of accessing the corresponding auxiliary memory block indicated by the looked-up tag.
Claim 32
Dependent Claim 35 words
The method of claim 25 , wherein the looked-up tag indicates a corresponding auxiliary memory block, further comprising the step of satisfying the access to the failed-over memory block from the corresponding auxiliary memory block.
Claim 33
Dependent Claim 20 words
The method of claim 23 further comprising the step of storing a tag value corresponding to the failed-over memory block.
Claim 34
Dependent Claim 23 words
The method of claim 30 further comprising the step of transferring digital information from the failed-over memory block to the auxiliary memory block.
Claim 35
Dependent Claim 19 words
The method of claim 31 further comprising the step of correlating the tag value with an auxiliary memory block.
Claim 36
Dependent Claim 18 words
The method of claim 30 further comprising the step of setting a valid flag for the tag value.
Claim 37
Dependent Claim 24 words
The method of claim 23 further comprising the step of transferring digital information stored in the failed-over memory block to an auxiliary memory location.

References Cited (Backward Citations)

US5208813A Cited
US5526482A Cited
US5588110A Cited
US5724501A Cited
US5905858A Cited
US6052798A Cited
US6038680A Cited
US6073218A Cited
US6023748A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2006-01-06 2006-07-08 2007-01-07 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2010-01-06 2010-07-08 2011-01-07 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2014-01-06 2014-07-08 2015-01-07 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag