Error Detection in Nonvolatile Logic Arrays Using Parity
AssigneeTexas Instruments Incorporated
InventorsSteven Craig Bartling, Sudhanshu Khanna
Life of this patent
Estimating the term…
Abstract
A system on chip (SoC) has a nonvolatile memory array of n rows by m columns coupled to one or more of the core logic blocks. M is constrained to be an odd number. Each time a row of m data bits is written, parity is calculated using the m data bits. Before storing the parity bit, it is inverted. Each time a row is read, parity is checked to determine if a parity error is present in the recovered data bits. A boot operation is performed on the SoC when a parity error is detected.
Claims13
A system on chip (SoC) comprising:
- one or more core logic blocks;
- a memory array coupled to the one or more of the core logic blocks, wherein the memory array comprises:
- n rows by m columns of data bit cells and one column of parity bit cells, wherein m is odd;
- parity logic coupled to data outputs of the m columns of data bits and to a data output of the column of parity bit cells, wherein for each row of data bit cells and associated parity bit cell, the parity logic is configured to generate a parity bit responsive to data stored in the data bit cells and to store an inverted representation of the parity bit in the parity bit cell;
- and
- control logic coupled to the parity logic and to the one or more core logic blocks, wherein the control logic is configured to cause the one or more core logic blocks to perform a restart operation when a parity error is detected.
A method for operating a system on chip (SoC) comprising an array of nonvolatile bit cells arranged as n rows by m columns coupled to one or more of the core logic blocks, the method comprising:
- calculating a parity bit corresponding to m data bits, wherein m is an odd number of data bits;
- inverting the parity bit;
- writing the m data bits and the inverted parity bit to a selected row of the memory array;
- reading the selected row of the memory array to recover the m stored data bits and the corresponding parity bit;
- determining if a parity error is present in the recovered data bits;
- and
- performing a boot operation on the SoC when a parity error is detected.
Dependencies are inferred from the claim text.