Detecting single event upsets and stuck-at faults in RAM-based data path controllers
First Claim
1. 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 or more bits; and
output bursts of data comprising the plurality of data elements along with a number of parity bits equal to a number of data elements in the plurality of data elements received from a first parity module to an input of a data path, each parity bit corresponding to a single data element, wherein each burst of data is restricted from being greater in length than a predetermined maximum burst size;
a first binary sequence generator comprising at least one linear feedback shift register (LFSR) implemented in hardware, the first binary sequence generator being configured to create a binary sequence comprising a plurality of bonus bits in a pseudo-random pattern that has less than a predetermined chance of matching any sequence of bits in the data while in the data path, wherein a total length of the binary sequence is equal to or greater than the predetermined maximum burst size; and
the first parity module configured to provide a parity calculation prior to passing the plurality of data elements to the input of the data path, the parity calculation using bits of each data element along with a bonus bit from the binary sequence to produce a corresponding parity bit for each data element.
1 Assignment
0 Petitions
Accused Products
Abstract
In one embodiment, a system includes logic configured to receive data comprising a plurality of data elements, where each data element comprises one or more bits. Further, the logic is configured to output bursts of data comprising the plurality of data elements along with a number of parity bits equal to a number of data elements in the plurality of data elements received from a first parity module to an input of a data path. Further still, the system includes a binary sequence generator configured to create a binary sequence comprising a plurality of bonus bits in a pseudo-random pattern that has less than a predetermined chance of matching any sequence of bits in the data while in the data path. Further still, the first parity module is configured to provide a parity calculation prior to passing the plurality of data elements to the input of the data path.
-
Citations
20 Claims
-
1. 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 or more bits; and output bursts of data comprising the plurality of data elements along with a number of parity bits equal to a number of data elements in the plurality of data elements received from a first parity module to an input of a data path, each parity bit corresponding to a single data element, wherein each burst of data is restricted from being greater in length than a predetermined maximum burst size; a first binary sequence generator comprising at least one linear feedback shift register (LFSR) implemented in hardware, the first binary sequence generator being configured to create a binary sequence comprising a plurality of bonus bits in a pseudo-random pattern that has less than a predetermined chance of matching any sequence of bits in the data while in the data path, wherein a total length of the binary sequence is equal to or greater than the predetermined maximum burst size; and the first parity module configured to provide a parity calculation prior to passing the plurality of data elements to the input of the data path, the parity calculation using bits of each data element along with a bonus bit from the binary sequence to produce a corresponding parity bit for each data element. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method, comprising:
-
receiving, by a processing circuit, data comprising a plurality of data elements, each data element comprising one or more bits; using a first binary sequence generator comprising at least one linear feedback shift register (LFSR) implemented in hardware to create a binary sequence comprising a plurality of bonus bits in a pseudo-random pattern that has less than a predetermined chance of matching any sequence of bits in the data while in a data path, wherein a total length of the binary sequence is equal to or greater than a predetermined maximum burst size; using a first parity module to provide a parity calculation prior to passing the plurality of data elements to an input of the data path, the parity calculation using bits of each data element along with a bonus bit from the binary sequence to produce a corresponding parity bit for each data element; and outputting, by the processing circuit, bursts of data comprising the plurality of data elements along with a number of parity bits equal to a number of data elements in the plurality of data elements received from a first parity module to the input of the data path, each parity bit corresponding to a single data element, wherein each burst of data is restricted from being greater in length than the predetermined maximum burst size. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A computer program product, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the embodied program instructions executable by a processor to cause the processor to:
-
receive, by the processor, data comprising a plurality of data elements, each data element comprising one or more bits; use, by the processor, a first binary sequence generator comprising at least one linear feedback shift register (LFSR) implemented in hardware to create a binary sequence comprising a plurality of bonus bits in a pseudo-random pattern that has less than a predetermined chance of matching any sequence of bits in the data while in a data path, wherein a total length of the binary sequence is equal to or greater than a predetermined maximum burst size; use, by the processor, a first parity module to provide a parity calculation prior to passing the plurality of data elements to an input of the data path, the parity calculation using bits of each data element along with a bonus bit from the binary sequence to produce a corresponding parity bit for each data element; and output, by the processor, bursts of data comprising the plurality of data elements along with a number of parity bits equal to a number of data elements in the plurality of data elements received from a first parity module to the input of the data path, each parity bit corresponding to a single data element, wherein each burst of data is restricted from being greater in length than the predetermined maximum burst size. - View Dependent Claims (18, 19, 20)
-
Specification