Patent US6038680A successfully refreshed from Google Patents.
US6038680A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Failover memory for a computer system
Assignee: Hewlett Packard Enterprise Development LP
•
Filing: 1996-12-11
•
Granted: 2000-03-14
•
Expires: 2016-12-11
Abstract
Abstract A computer system includes a memory subsystem with a failover memory adapted to replace a memory module in the main memory when the main memory module fails or experiences an unacceptable level of errors. Upon the detection of the fault condition, a hot swapping of information from the module in the main memory may be accomplished to a module in an auxiliary memory. A state machine may supervise the transfer such that information which may have been written to the faulty memory during the transfer can be subsequently provided to the auxiliary memory. In this way, a fault condition can be corrected without decreasing the available system memory and without necessitating rebooting.
Inventors
- 👤 Sompong Paul Olarig
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-07 15:49
CPC Classifications
G; G11; G11C; G11C29/00; G11C29/70; G11C29/74; G06; G06F; G06F11/00; G06F11/07; G06F11/08; G06F11/10; G06F11/1008; G06F11/1044
Claims Analysis
Total Claims: 49
Claim 1
Independent Claim
138 words
A computer system comprising: a processor; a memory controller coupled to said processor; a volatile memory coupled to said controller; an auxiliary volatile memory arranged for communication with said memory controller, said memory controller adapted to communicate with said auxiliary volatile memory when a fault condition is detected with respect to said volatile memory; a device for transferring data stored on a defective portion of said volatile memory to said auxiliary volatile memory and for disabling the address of said defective portion of said volatile memory, without rebooting the system; and a scoreboard for tracking changes to said volatile memory and data transfer operations between said volatile memory and said auxiliary memory to indicate when all data has been transferred, wherein when all data has been transferred said volatile memory is available for removal without rebooting the computer.
Claim 2
Dependent Claim
138 words
A computer system comprising: a processor; a memory controller coupled to said processor; a volatile memory coupled to said controller; an auxiliary volatile memory arranged for communication with said memory controller, said memory controller adapted to communicate with said auxiliary volatile memory when a fault condition is detected with respect to said volatile memory; a device for transferring data stored on a defective portion of said volatile memory to said auxiliary volatile memory and for disabling the address of said defective portion of said volatile memory, without rebooting the system; and a scoreboard for tracking changes to said volatile memory and data transfer operations between said volatile memory and said auxiliary memory to indicate when all data has been transferred, wherein when all data has been transferred said volatile memory is available for removal without rebooting the computer.
Claim 3
Dependent Claim
20 words
The computer system of claim 1 including a detector for detecting a fault condition, said detector coupled to said controller.
Claim 4
Dependent Claim
75 words
The computer system of claim 2 wherein said detector includes an error correcting code device, said device adapted to determine when memory errors are occurring, said system further including a register for accumulating the number of errors identified by said error correcting code device, and for providing an indication when a preset limit has been exceeded, said detector indicating a fault condition to said memory controller when said predetermined level of errors has been exceeded.
Claim 5
Dependent Claim
22 words
The computer system of claim 1 including a memory for recording the address of a memory location where an error has occurred.
Claim 6
Dependent Claim
41 words
The computer system of claim 1 including a device for recording the number of times a given memory location is accessed and for indicating a fault condition when the number of accesses to any given memory location exceeds a predetermined level.
Claim 7
Dependent Claim
21 words
The computer system of claim 1 wherein said memory and said auxiliary memory are both composed of dynamic random access memory.
Claim 8
Dependent Claim
16 words
The computer system of claim 1 wherein said memory is composed of static random access memory.
Claim 9
Dependent Claim
25 words
The computer system of claim 1 wherein said transfer device is adapted to automatically transfer said data when a fault condition is detected without rebooting.
Claim 10
Dependent Claim
56 words
The computer system of claim 8 wherein said memory is composed of a plurality of memory modules and said auxiliary memory includes at least one memory module, said transfer device adapted to transfer information from one of said memory modules when a fault condition is detected in said module to said module in the auxiliary memory.
Claim 11
Dependent Claim
134 words
A computer system comprising: a processor; a memory controller coupled to said processor; a first memory including a plurality of dynamic random access memory (DRAM) modules, said first memory communicating with said memory controller; a second memory including at least one auxiliary DRAM module; a detector for detecting a faulty memory module of said first memory; and a scoreboard for tracking when data is changed in the faulty memory module while data is being transferred between the faulty memory module and the auxiliary memory module to determine when all data has been transferred, wherein said memory controller is adapted to transfer data from said faulty memory module to said auxiliary memory module based on the scoreboard and substitute said auxilary memory module in place of said faulty memory module when all data is transferred.
Claim 12
Dependent Claim
134 words
A computer system comprising: a processor; a memory controller coupled to said processor; a first memory including a plurality of dynamic random access memory (DRAM) modules, said first memory communicating with said memory controller; a second memory including at least one auxiliary DRAM module; a detector for detecting a faulty memory module of said first memory; and a scoreboard for tracking when data is changed in the faulty memory module while data is being transferred between the faulty memory module and the auxiliary memory module to determine when all data has been transferred, wherein said memory controller is adapted to transfer data from said faulty memory module to said auxiliary memory module based on the scoreboard and substitute said auxilary memory module in place of said faulty memory module when all data is transferred.
Claim 13
Dependent Claim
34 words
The computer system of claim 10 wherein said controller is adapted to substitute a module of said second memory for a module of said first memory without rebooting after a fault condition is detected.
Claim 14
Dependent Claim
31 words
The computer system of claim 11 including a nonvolatile memory for storing information about whether a module in said second memory has been substituted for a module in said first memory.
Claim 15
Dependent Claim
76 words
The computer system of claim 12 including a register for storing information about write operations which take place during the transfer of information from said module in said first memory to said module in said second memory, said memory controller adapted to correct said module of said second memory that was substituted for said module in said first memory to account for a write operation that occurred while said modules were being substituted for one another.
Claim 16
Dependent Claim
64 words
The computer system of claim 13 including a machine for automatically controlling the transfer between said modules of said first and second memories in response to the detection of a fault condition, and a device for monitoring whether a write operation occurs during said transfer and for transferring information that was the subject of said write operation into said module of said second memory.
Claim 17
Independent Claim
154 words
A method for correcting a memory fault in a computer system, the method comprising the steps of: providing an auxiliary memory which is not addressed until after a fault condition is detected, said auxiliary memory comprising a dynamic random access memory; accumulating the number of correctable errors which occur in a portion of said memory, said memory comprising a dynamic random access memory; determining that a fault exists when a predetermined level of errors has been detected; transferring data in said memory to said auxiliary memory after a fault condition is detected; tracking changes to said memory and transfer operations between said memory and said auxiliary memory after a fault condition is detected to determine when all data has been transferred from said memory; and addressing said auxiliary memory in place of said memory after a fault condition has been detected and after data has been transferred from said memory to said auxiliary memory.
Claim 18
Independent Claim
154 words
A method for correcting a memory fault in a computer system, the method comprising the steps of: providing an auxiliary memory which is not addressed until after a fault condition is detected, said auxiliary memory comprising a dynamic random access memory; accumulating the number of correctable errors which occur in a portion of said memory, said memory comprising a dynamic random access memory; determining that a fault exists when a predetermined level of errors has been detected; transferring data in said memory to said auxiliary memory after a fault condition is detected; tracking changes to said memory and transfer operations between said memory and said auxiliary memory after a fault condition is detected to determine when all data has been transferred from said memory; and addressing said auxiliary memory in place of said memory after a fault condition has been detected and after data has been transferred from said memory to said auxiliary memory.
Claim 19
Dependent Claim
52 words
The method of claim 15 wherein said step of detecting a fault condition includes the step of determining the mean time between failures in a plurality of memory locations and when the mean time between failures in a portion of said memory goes below a level, replacing that portion of said memory.
Claim 20
Dependent Claim
47 words
The method of claim 15 wherein said step of detecting a fault condition includes the step of determining the number of hits to the same address in the memory and when the number of hits exceeds a given threshold, indicating that a fault condition has been detected.
Claim 21
Dependent Claim
20 words
The method of claim 15 wherein said data is transferred automatically in response to the detection of a fault condition.
Claim 22
Dependent Claim
33 words
The method of claim 18 including the steps of producing a first indication when the memory is operating normally and providing a second indication to indicate that a fault condition has been detected.
Claim 23
Dependent Claim
27 words
The method of claim 19 including the step of providing a third indication to indicate that data is being transferred from the memory to the auxiliary memory.
Claim 24
Dependent Claim
19 words
The method of claim 15 including the step of recording the address of memory locations where faults have occurred.
Claim 25
Dependent Claim
57 words
The method of claim 15 including the steps of developing information that data has been transferred to the auxiliary module, and storing the information that data has been transferred to the auxiliary module in a nonvolatile memory such that each time said system is rebooted, the auxiliary memory is automatically addressed in place of the faulty memory.
Claim 26
Dependent Claim
44 words
The method of claim 15 wherein said memory and said auxiliary memory include memory modules, said method including the step of transferring, when a fault condition is detected, all of the data in a module containing the fault condition to the auxiliary memory module.
Claim 27
Dependent Claim
19 words
The method of claim 23 including the step of indicating which module in said memory has the fault condition.
Claim 28
Dependent Claim
20 words
The method of claim 24 including the steps of indicating when data is being transferred from one module to another.
Claim 29
Dependent Claim
25 words
The method of claim 23 including the step of automatically transferring data between said modules when a fault condition is detected, without rebooting the system.
Claim 30
Dependent Claim
36 words
The method of claim 26 including the step of recording information about the location of a memory write to the module containing the fault condition that occurs during the transfer of data to the auxiliary module.
Claim 31
Dependent Claim
40 words
The method of claim 27 including the step of checking to determine whether any write information has been recorded, correcting the auxiliary module for any such recorded information, and erasing the recorded information after the auxiliary module has been corrected.
Claim 32
Dependent Claim
23 words
The method of claim 28 including the step of re-checking to determine whether any write information has been recorded during the correcting step.
Claim 33
Dependent Claim
22 words
The method of claim 23 including the step of recording information about a write operation that occurred while data was being transferred.
Claim 34
Dependent Claim
26 words
The method of claim 30 including the step of correcting the information in said auxiliary module to account for information written while data was being transferred.
Claim 35
Independent Claim
136 words
A method for correcting a dynamic random access memory fault in a computer system comprising the steps of: providing an auxiliary memory which is not addressed until after a fault condition is detected, said auxiliary memory comprising a dynamic random access memory; detecting a fault condition in a memory, said memory comprising a dynamic random access memory; automatically transferring data in said memory to said auxiliary memory after a fault condition is detected; tracking write operations to said memory and transfer operations between said memory and said auxiliary memory after a fault condition is detected to determine when all data has been transferred from said memory; and addressing said auxiliary memory in place of said memory after a fault condition has been detected and after data has been transferred from said memory to said auxiliary memory.
Claim 36
Independent Claim
136 words
A method for correcting a dynamic random access memory fault in a computer system comprising the steps of: providing an auxiliary memory which is not addressed until after a fault condition is detected, said auxiliary memory comprising a dynamic random access memory; detecting a fault condition in a memory, said memory comprising a dynamic random access memory; automatically transferring data in said memory to said auxiliary memory after a fault condition is detected; tracking write operations to said memory and transfer operations between said memory and said auxiliary memory after a fault condition is detected to determine when all data has been transferred from said memory; and addressing said auxiliary memory in place of said memory after a fault condition has been detected and after data has been transferred from said memory to said auxiliary memory.
Claim 37
Independent Claim
163 words
A method for correcting a dynamic random access memory fault in a computer system comprising the steps of: providing an auxiliary memory which is not addressed until after a fault condition is detected, said auxiliary memory comprising a dynamic random access memory; automatically detecting a fault condition in a memory, said memory comprising a dynamic random access memory; transferring data in said memory to said auxiliary memory after a fault condition is detected; tracking write operations to said memory and transfer operations between said memory and said auxiliary memory after a fault condition is detected to determine when all data has been transferred from said memory; addressing said auxiliary memory in place of said memory after a fault condition has been detected and after data has been transferred from said memory to said auxiliary memory; producing a first user visible indication when the memory is operating normally; and producing a second user visible indication to indicate that a fault condition has been detected.
Claim 38
Independent Claim
163 words
A method for correcting a dynamic random access memory fault in a computer system comprising the steps of: providing an auxiliary memory which is not addressed until after a fault condition is detected, said auxiliary memory comprising a dynamic random access memory; automatically detecting a fault condition in a memory, said memory comprising a dynamic random access memory; transferring data in said memory to said auxiliary memory after a fault condition is detected; tracking write operations to said memory and transfer operations between said memory and said auxiliary memory after a fault condition is detected to determine when all data has been transferred from said memory; addressing said auxiliary memory in place of said memory after a fault condition has been detected and after data has been transferred from said memory to said auxiliary memory; producing a first user visible indication when the memory is operating normally; and producing a second user visible indication to indicate that a fault condition has been detected.
Claim 39
Dependent Claim
27 words
The method of claim 33 including the step of providing a third indication to indicate that data is being transferred from the memory to the auxiliary memory.
Claim 40
Dependent Claim
55 words
The memory of claim 33 wherein said memory comprises at least one memory module and said auxiliary memory includes at least one auxiliary memory module, said method including the step of transferring, when a fault condition is detected, all of the data in a memory module containing the fault condition to an auxiliary memory module.
Claim 41
Dependent Claim
19 words
The method of claim 35 including the step of indicating which module in said memory has the fault condition.
Claim 42
Dependent Claim
20 words
The method of claim 36 including the step of indicating when data is being transferred from one module to another.
Claim 43
Independent Claim
176 words
A method for correcting a dynamic random access memory fault in a computer system comprising the steps of: providing an auxiliary memory module which is not addressed until after a fault condition is detected in one of a plurality of memory modules, said auxiliary memory comprising a dynamic random access memory; detecting a fault condition in a memory, said memory comprising a dynamic random access memory; transferring, when a fault condition is detected, all of the data in the one of said plurality of memory modules that contains the fault condition to an auxiliary memory module; tracking write operations to said memory and transfer operations between said memory and said auxiliary memory after a fault condition is detected to determine when all data has been transferred from said memory; addressing said auxiliary memory module in place of a memory module with a fault condition after a fault condition has been detected and after data has been transferred from said memory module to said auxiliary memory module; and visibly indicating which memory module has the fault condition.
Claim 44
Independent Claim
176 words
A method for correcting a dynamic random access memory fault in a computer system comprising the steps of: providing an auxiliary memory module which is not addressed until after a fault condition is detected in one of a plurality of memory modules, said auxiliary memory comprising a dynamic random access memory; detecting a fault condition in a memory, said memory comprising a dynamic random access memory; transferring, when a fault condition is detected, all of the data in the one of said plurality of memory modules that contains the fault condition to an auxiliary memory module; tracking write operations to said memory and transfer operations between said memory and said auxiliary memory after a fault condition is detected to determine when all data has been transferred from said memory; addressing said auxiliary memory module in place of a memory module with a fault condition after a fault condition has been detected and after data has been transferred from said memory module to said auxiliary memory module; and visibly indicating which memory module has the fault condition.
Claim 45
Independent Claim
145 words
A method for correcting a memory fault in a computer system comprising the steps of: providing an auxiliary memory which is not addressed until after a fault condition is detected, said auxiliary memory comprising a dynamic random access memory; detecting a fault condition in a memory, said memory comprising a dynamic random access memory; transferring data in said memory to said auxiliary memory after a fault condition is detected; tracking write operations to said memory and transfer operations between said memory and said auxiliary memory after a fault condition is detected to determine when all data has been transferred from said memory; addressing said auxiliary memory in place of said memory after a fault condition has been detected and after data has been transferred from said memory to said auxiliary memory; and indicating when data is being transferred from said memory to said auxiliary memory.
Claim 46
Independent Claim
145 words
A method for correcting a memory fault in a computer system comprising the steps of: providing an auxiliary memory which is not addressed until after a fault condition is detected, said auxiliary memory comprising a dynamic random access memory; detecting a fault condition in a memory, said memory comprising a dynamic random access memory; transferring data in said memory to said auxiliary memory after a fault condition is detected; tracking write operations to said memory and transfer operations between said memory and said auxiliary memory after a fault condition is detected to determine when all data has been transferred from said memory; addressing said auxiliary memory in place of said memory after a fault condition has been detected and after data has been transferred from said memory to said auxiliary memory; and indicating when data is being transferred from said memory to said auxiliary memory.
Claim 47
Independent Claim
146 words
A method for correcting a dynamic random access memory memory fault in a computer system comprising the steps of: providing an auxiliary memory which is not addressed until after a fault condition is detected, said auxiliary memory comprising a dynamic random access memory; automatically transferring data in said memory to said auxiliary memory after a fault condition is detected, said memory comprising a dynamic random access memory; tracking write operations to said memory and transfer operations between said memory and said auxiliary memory after a fault condition is detected to determine when all data has been transferred from said memory; addressing said auxiliary memory in place of said memory after a fault condition has been detected and after data has been transferred from said memory to said auxiliary memory; and assigning a first priority to said automatic data transfer and incrementing said priority under certain circumstances.
Claim 48
Independent Claim
146 words
A method for correcting a dynamic random access memory memory fault in a computer system comprising the steps of: providing an auxiliary memory which is not addressed until after a fault condition is detected, said auxiliary memory comprising a dynamic random access memory; automatically transferring data in said memory to said auxiliary memory after a fault condition is detected, said memory comprising a dynamic random access memory; tracking write operations to said memory and transfer operations between said memory and said auxiliary memory after a fault condition is detected to determine when all data has been transferred from said memory; addressing said auxiliary memory in place of said memory after a fault condition has been detected and after data has been transferred from said memory to said auxiliary memory; and assigning a first priority to said automatic data transfer and incrementing said priority under certain circumstances.
Claim 49
Dependent Claim
24 words
The method of claim 40 including the step of incrementing the priority of the automatic data transfer when the data transfer is partially completed.
References Cited (Backward Citations)
US5535328A
Cited
US5200959A
Cited
US5434868A
Cited
US5177744A
Cited
US5357509A
Cited
US5617530A
Cited
US5559958A
Cited
US5267242A
Cited
US5574856A
Cited
US5673383A
Cited
US5490248A
Cited
US5574851A
Cited
US5493676A
Cited
US5611069A
Cited
US5586250A
Cited
US5566316A
Cited
US5666482A
Cited
US5500940A
Cited
US5657439A
Cited
US5615330A
Cited
US5632013A
Cited
US5680539A
Cited
US5740397A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2003-03-14 | 2003-09-13 | 2004-03-14 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2007-03-14 | 2007-09-13 | 2008-03-14 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2011-03-14 | 2011-09-13 | 2012-03-14 | $7700.00 | Window Closed / Lapsed |