Abstract:
A method and apparatus for detecting errors in data output from memory and a device failure in the memory. In the invention, a check code is generated based on data to be input to the memory. The check code is valid when equal to zero. The check code is inverted and input along with the data as a codeword to the memory in response to a write command. The codeword is output from the memory in response to a read command. The codeword output from memory indicates whether a device in memory has failed. The inverted check code included in the codeword output from memory is re-inverted. Information indicating whether the data included in the codeword output from memory includes an error is generated based on the data and the codeword including the check code.
Abstract:
A virtual encoding scheme for use in random access memories is disclosed. Data errors, incorrect memory word access errors, and errors resulting from multiple memory word access are all detectable through use of the encoding scheme. The novel approach includes the generation of two distinct check code fields which are stored along with the data. A first check code field is generated as a function of the data and is capable of reflecting all unidirectional data failures. A second check code field is generated as a function of the address of the memory word containing the data and is capable of reflecting incorrect memory word access. The two check fields can be stored either in the same physical memory location as the data or in a supplementary memory at an address numerically identical to that at which the data is kept. During readout, the two check fields are regenerated and compared to those previously stored.
Abstract:
A memory system is provided, of the type which includes an error-correcting circuit that detects and corrects errors, which more efficiently utilizes the capacity of a memory formed of groups of binary cells whose states can be inadvertently switched by ionizing radiation. Each memory cell has an asymmetric geometry, so that ionizing radiation causes a significantly greater probability of errors in one state than in the opposite state (e.g., an erroneous switch from "1" to "0" is far more likely than a switch from "0" to "1"). An asymmetric error-correcting coding circuit can be used with the asymmetric memory cells, which requires fewer bits than an efficient symmetric error-correcting code.
Abstract:
A method and system for employing systematic check codes for detecting a predetermined number of unidirectional errors in the transmission of data. In accordance with the invention check codes are produced from information codes such that for all possible pairs of (n+m)-bit data words formed by a predetermined set of n-bit information codes and corresponding m-bit check codes, either the pair of words is unordered or the Hamming distance between the data words of the pair is greater than or equal to t+1, where t is the maximum number of unidirectional errors that can be detected. First check codes are generated at a data source, second check codes are generated from the received information code at a data sink, and the received first check codes are compared with the second check codes to determine the existence of a disparity. Sequential and combinational logic circuits are provided for producing check codes having two or more bits.
Abstract:
The control unit detects the errors concurrently with normal microinstruction execution through suitable internal checking circuits and a determined microinstruction allocation in the memory. Microinstructions comprise additional field (CS, FS) carrying the encoding, in modified Berger code, of the allocation address of the microinstruction itself and of the following one; the microinstructions of destination itself and of the following one; the microinstructions of destination of conditional jumps are allocated so that their codes are related to each other by simple logic relationships which are then reproduced by an internal circuit (CSM); the two fields, the one of the next microinstruction being duly delayed, are then compared and possible differences detect unidirectional and incorrect sequencing errors. The other errors are detected through particular implementations of some internal circuits (STK1, INC1) and duplication of others (RCT, SEL).
Abstract:
A method of utilizing circuitry including error detecting and correcting circuitry to detect and correct errors which can occur in data stored in multi-bit per cell format in a flash EEPROM memory array before those errors can affect the accuracy of data provided by a flash EEPROM memory array.
Abstract:
A totally self-checking memory cell array apparatus (30) has an array (31) of memory cells (32) selectively addressed by row and column decoders (33, 35) which receive unidirectional error detecting code signals as address inputs (34, 36). Data, as a multiple bit data word (A, B, C.sub.1, C.sub.2), is stored in the array (31) in unidirectional error detecting code form. Cells in each row (1-8) of the array have two separate row select connection lines (45 and 45a) for coupling the cell to data and data complement (46, 46*) connections. Error detection circuits (44, 47) are provided which determine errors by comparing the data and data complement lines for each data bit read out of the array and for detecting when multiple bit data words read out of the array are not coded in a unidirectional error detecting code format. The above apparatus provides error indications in case of any unidirectional errors in the row or column input address signals or the row or column decoders, or any unidirectional error corruption of the data stored in the memory cell array. This is achieved without completely duplicating each memory cell in the array and all row and column decoder circuitry.
Abstract:
The control unit detects the errors concurrently with normal microinstruction execution through suitable internal checking circuits and a determined microinstruction allocation in the memory. Microinstructions comprise additional fields (CS, FS) carrying the encoding, in Modified Berger code, of the allocation address of the microinstruction itself and of the following one. The microinstructions of destination of conditional jumps are allocated so that their codes are related to each other by simple logic relationships which are then reproduced by an internal circuit (CSM). The two fields, the one of the next microinstruction being duly delayed, are then compared and possible differences represent unidirectional and incorrect sequencing errors. The other errors are detected through particular implementations of some internal circuits (STK1, INC1) and duplication of others (RCT, SEL).