DETECTING SINGLE EVENT UPSETS AND STUCK-AT FAULTS IN RAM-BASED DATA PATH CONTROLLERS
First Claim
1. A computer program product, the computer program product comprising a non-transitory computer readable storage medium having program instructions embodied therewith, the program instructions readable by a processor, executable by the processor, or readable and executable by the processor to cause the processor to:
- receive, by the processor, data comprising a plurality of data elements, each data element comprising one byte;
create, by the processor, a binary sequence comprising a plurality of bonus bits using a first binary sequence generator, a total length of the binary sequence being equal to or greater than a maximum burst size of the data, wherein the first binary sequence generator comprises one or more linear feedback shift registers (LFSRs);
use, by the processor, a first parity module to provide a parity calculation using bits of each data element of the data with a bonus bit from the binary sequence, the parity calculation producing a parity bit for each data element;
pass, by the processor, each data element along with its corresponding parity bit to an input of a data path;
receive, by the processor, each data element along with its corresponding parity bit at an output of the data path, wherein data exits the output of the data path in burst sizes that are equal to burst sizes of the data that entered the input of the data path;
create, by the processor, the binary sequence using a second binary sequence generator, wherein the second binary sequence generator is matched to the first binary sequence generator;
use, by the processor, a second parity module to produce a result based on bits of each data element along with its corresponding parity bit and a bonus bit from the binary sequence; and
analyze, by the processor, the result to determine whether an error has occurred to the data in the data path.
1 Assignment
0 Petitions
Accused Products
Abstract
In one embodiment, a method includes receiving data comprising a plurality of data elements; creating a binary sequence comprising a plurality of bonus bits using a first binary sequence generator; using a first exclusive-or module to provide a XOR calculation using bits of each data element of the data with a bonus bit from the binary sequence; passing each data element along with its corresponding parity bit to an input of a data path; receiving each data element along with its corresponding parity bit at an output of the data path; creating the binary sequence using a second binary sequence generator; using a second XOR module to XOR together bits of each data element along with its corresponding parity bit and a bonus bit from the binary sequence to produce a result; and analyzing the result to determine whether an error has occurred to the data in the data path.
-
Citations
13 Claims
-
1. A computer program product, the computer program product comprising a non-transitory computer readable storage medium having program instructions embodied therewith, the program instructions readable by a processor, executable by the processor, or readable and executable by the processor to cause the processor to:
-
receive, by the processor, data comprising a plurality of data elements, each data element comprising one byte; create, by the processor, a binary sequence comprising a plurality of bonus bits using a first binary sequence generator, a total length of the binary sequence being equal to or greater than a maximum burst size of the data, wherein the first binary sequence generator comprises one or more linear feedback shift registers (LFSRs); use, by the processor, a first parity module to provide a parity calculation using bits of each data element of the data with a bonus bit from the binary sequence, the parity calculation producing a parity bit for each data element; pass, by the processor, each data element along with its corresponding parity bit to an input of a data path; receive, by the processor, each data element along with its corresponding parity bit at an output of the data path, wherein data exits the output of the data path in burst sizes that are equal to burst sizes of the data that entered the input of the data path; create, by the processor, the binary sequence using a second binary sequence generator, wherein the second binary sequence generator is matched to the first binary sequence generator; use, by the processor, a second parity module to produce a result based on bits of each data element along with its corresponding parity bit and a bonus bit from the binary sequence; and analyze, by the processor, the result to determine whether an error has occurred to the data in the data path. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system, comprising:
-
a hardware processor; and logic integrated with the hardware processor, executable by the hardware processor, or integrated with and executable by the hardware processor, the logic being configured to; receive data comprising a plurality of data elements, each data element comprising one byte; create a binary sequence comprising a plurality of bonus bits using a first binary sequence generator, a total length of the binary sequence being equal to or greater than a maximum burst size of the data, wherein the first binary sequence generator comprises one or more linear feedback shift registers (LFSRs); use a first parity module to provide a parity calculation using bits of each data element of the data with a bonus bit from the binary sequence, the parity calculation producing a parity bit for each data element; pass each data element along with its corresponding parity bit to an input of a data path; receive each data element along with its corresponding parity bit at an output of the data path, wherein data exits the output of the data path in burst sizes that are equal to burst sizes of the data that entered the input of the data path; create the binary sequence using a second binary sequence generator, wherein the second binary sequence generator is matched to the first binary sequence generator; use a second parity module to produce a result based on bits of each data element along with its corresponding parity bit and a bonus bit from the binary sequence; and analyze the result to determine whether an error has occurred to the data in the data path. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A method, comprising:
-
receiving, by a processor, data comprising a plurality of data elements, wherein each data element is one byte in length; creating, by the processor, a binary sequence comprising a plurality of bonus bits using a first binary sequence generator, a total length of the binary sequence being equal to or greater than a maximum burst size of the data; using, by the processor, a first exclusive-or (XOR) module to provide a XOR calculation using bits of each data element of the data with a bonus bit from the binary sequence, the XOR calculation producing a parity bit for each data element; passing, by the processor, each data element along with its corresponding parity bit to an input of a data path; receiving, by the processor, each data element along with its corresponding parity bit at an output of the data path, wherein data exits the output of the data path in burst sizes that are equal to burst sizes of the data that entered the input of the data path; creating, by the processor, the binary sequence using a second binary sequence generator, wherein the second binary sequence generator is matched to the first binary sequence generator; using, by the processor, a second XOR module to XOR together bits of each data element along with its corresponding parity bit and a bonus bit from the binary sequence to produce a result; and analyzing, by the processor, the result to determine whether an error has occurred to the data in the data path comprising determining, by the processor, whether the result is zero, wherein a zero result indicates that no error occurred to the data while in the data path, wherein a non-zero result indicates that an error occurred to the data while in the data path.
-
Specification