Adaptable exerciser for a memory system
AssigneeBell Telephone Laboratories, Incorporated
InventorCyrus Frank Ault
Life of this patent
Estimating the term…
Loading patent…
AssigneeBell Telephone Laboratories, Incorporated
InventorCyrus Frank Ault
Estimating the term…
An adaptable exerciser for a memory system utilizes the error rates of independent memory segments to selectively exercise the segments at different frequencies. Each memory segment has an associated counter which is incremented with errors and decremented at a predetermined rate with time. If the count accumulated in a counter reaches a specified level, the associated memory segment will be exercised at a higher frequency. If the count in any counter should reach a second higher specified level, the associated memory segment is removed from service.
A memory system comprising:
A memory system comprising:
A method of exercising a memory system having a plurality of independent memory units and a corresponding plurality of counter circuits individually associated therewith comprising the following steps:
Dependencies are inferred from the claim text.
No related US applications are recorded in the indexed filing history.
Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's: in individual solid state devices
By exceeding limits: by exceeding a count or rate limit, e.g. word- or bit count limit
Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's: parity data used in redundant arrays of…
Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation: detection or location of defective…
Term ended 11 Oct 1994 (estimated)
USPTO file history isn’t available for this patent, so only indexed dates are shown.
My invention relates to a method and apparatus for exercising a memory system to detect and correct data errors therein, and more particularly to an exerciser which adjusts the exercise rate of independent memory segments in accordance with their individual error rates.
Memory systems accumulate data errors as they operate. Errors occur in most memory systems only if addressed; however, magnetic bubble memories are an exception. Data in bubble memories are continuously circulated to maintain a substantially constant chip temperature to prevent fatigue due to temperature changes. Due to this continuous circulation errors occur at a measurable rate whether or not data is read from or written into the memory. An exerciser is utilized to correct data errors in a memory system by reading the memory, detecting any errors present in the data read, correcting any errors detected, and placing the correct data into the memory.
To ensure memory reliability it must be exercised at a rate dictated by the worst case memory error specification. If the memory is exercised at a slower rate, multiple errors which are not correctable by the exerciser may accumulate in the memory. This worst case exercise rate requires a certain percentage of system access time during which productive processing cannot be conducted. Most memory segments perform many orders of magnitude better than the worst case error specification; accordingly, if memories are exercised at such a rate, productive processing time is needlessly wasted.
The invention will be understood from the following detailed description when read with reference to the drawing, in which:
FIG. 1 is a block diagram of a memory system in accordance with my invention;
FIG. 2 is a block diagram of the exerciser of FIG. 1; and
A magnetic bubble memory system in accordance with my invention is shown in FIG. 1. During productive processing, the central processor accesses the memory system via the address register 101 and the data register 102. The address register 101 receives address information and read/write commands from the central processor while the data register 102 receives data to be written into the memory from the central processor. When the memory is not being accessed by the central processor, a signal is provided to exerciser 103 via the path 116 and the memory units O through N are exercised. A memory unit is exercised by sequentially reading the data from all the locations in the unit, detecting any errors present in the data read, correcting the errors detected, and placing the correct data into the unit. If an error is detected, the error detect and correct circuit 104 corrects the erroneous data, indicates to the exerciser 103 via the path 105 that a correction is required, and delivers the correct data to the data register 102 via the path 106 upon command from the exerciser 103 via the path 107. The exerciser 103 causes the correct data to be placed into the memory unit at the location from which the erroneous data was read.
FIG. 2 shows a block diagram of the exerciser 103. The read address sequencer 201 provides the read address and the read command signals to the address register 101 via the path 108. The read sequence is defined by the rate selector circuit 202 which will be described later herein. When an error is detected and corrected by the error detect and correct circuit 104, a control signal is sent to the error correction control circuit 203 via the path 105 together with the address where the correct data is to be placed into the memory. The error correction control circuit 203 in response to the control signal inhibits the read address sequencer 201, signals the error detect and correct circuit 104 via the path 107 to transfer the correct data to the data register 102, and provides the address at which the correct data is to be written and a write command to the address register 101 via the path 108. Accordingly, the correct data is placed into the memory.
One data error detection and correction scheme which is well known to those skilled in the art is horizontal and vertical parity over data which is block oriented in a memory. Each data word includes a parity bit to provide horizontal parity and each data block includes a parity word over the data and parity bits of the other words of the block to provide vertical parity. Even or odd parity can be used with the selection usually dependent upon the memory system characteristics. One illustrative parity checking arrangement is shown in FIG. 3. Data read in parallel from the memory via the path 109 is buffered through the vertical parity generator 301 to the data hold register 302. A parity check is performed on the data in the data hold register 302 by the horizontal parity check circuit 303. If no error is detected, the next word of the data block is read. If an error is present, an error signal is generated by the horizontal parity check circuit 303. This error signal increments the counter which is associated with the memory unit being exercised via the path 110, increments the error counter 304, gates the address at which the error was encountered into the error address and block control circuit 305 via the path 111 and gates the erroneous data into the error correct circuit 306. The error counter 304 informs the central processor via the path 112 if multiple errors occur in any block of data since multiple errors cannot be corrected by the illustrative embodiment. After an entire block of data is read, the contents of the vertical parity generator 301 are indicative of the vertical parity of the data block read. Upon completing the reading of a data block, the error address and block control circuit 305 signals the error correct circuit 306 to correct the erroneous data previously gated thereinto by utilizing the contents of the vertical parity generator 301 and thereafter to clear the contents of the vertical parity generator 301. The error counter 304 is also cleared upon completing the reading of a data block. Placement of the correct data into the memory is as previously described. It is recognized that other parity schemes as well as other error detection and correction schemes can be utilized in my invention.