US2017147430A1PendingUtilityA1

Methods and apparatus to detect and correct errors in destructive read non-volatile memory

Assignee: TEXAS INSTRUMENTS INCPriority: Nov 20, 2015Filed: Jan 6, 2016Published: May 25, 2017
Est. expiryNov 20, 2035(~9.3 yrs left)· nominal 20-yr term from priority
G11C 16/30G06F 11/1048G11C 16/26G06F 11/3037G11C 29/44G11C 29/021G06F 11/1068G11C 11/22G11C 29/42G11C 29/04G06F 11/3062G11C 2029/0407G11C 29/4401G11C 29/52G06F 11/3034
40
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Methods and apparatus to measure detect and correct errors in destructive read non-volatile memory are disclosed. In some examples, the method and apparatus determine, in response to stabilizing a power supply, a status signature stored in non-volatile memory. In examples wherein the status signature is not normal, the methods and apparatus decode an error correction code that is encoded in a destructive read non-volatile memory.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method, comprising:
 in response to stabilizing a power supply, determining a status signature stored in non-volatile memory; and   when the status signature is not normal, decoding an error correction code that is encoded in a destructive read non-volatile memory.   
     
     
         2 . A method as defined in  claim 1 , wherein the destructive read non-volatile memory is encoded with a code word, the code word having a first symbol in a first memory row of the destructive read non-volatile memory and a second symbol in a second memory row of the destructive read non-volatile memory. 
     
     
         3 . A method as defined in  claim 2 , wherein the decoding of the error correction code that is encoded in the destructive read non-volatile memory includes:
 reading the first symbol in the first memory row;   determining a first syndrome for the code word based on the first symbol; and   storing the syndrome in memory.   
     
     
         4 . A method as defined in  claim 3 , the decoding of the error correction code that is encoded in the destructive read non-volatile memory includes decoding the code word by:
 determining a number of errors;   determining a location of the errors;   determining a magnitude of the errors;   creating an error polynomial based on the location and magnitude of the errors; and   removing the error polynomial from the code word.   
     
     
         5 . A method as defined in  claim 1 , wherein the error correction code is based on Reed-Solomon code. 
     
     
         6 . A method as defined in  claim 1 , further including detecting a power varying event, wherein the power varying event occurs due to a fluctuation in a voltage supply. 
     
     
         7 . A method as defined in  claim 7 , further including:
 receiving an instruction to disconnect the power supply;   when a power varying event occurs prior to disconnecting the power supply, ensuring the normal status signature is not written in the non-volatile memory;   when a power varying event does not occur prior to disconnecting the power supply, writing the normal status signature in the non-volatile memory; and   disconnecting the power supply.   
     
     
         8 . A method as defined in  claim 1 , further including encoding error correction code into the destructive read non-volatile memory by:
 reading a plurality of data symbols in a memory row;   creating a data polynomial from the data symbols;   determining a parity polynomial from the data symbols; and   creating a code word based on the data polynomial and the parity polynomial; and   writing the code word into a memory column.   
     
     
         9 . An error correction module, comprising:
 a power event detection circuit to identify a fluctuation in a power supply;   a status manager to, in response to stabilizing a power supply, determine a status signature stored in non-volatile memory; and   a decoder to, when the status signature is not normal, decode an error correction code that is encoded in a destructive read non-volatile memory.   
     
     
         10 . An error correction module as defined in  claim 9 , further including a memory manager to write a code word in a column of the destructive read non-volatile memory, the code word having a symbol associated with a row of the column. 
     
     
         11 . An error correction module as defined in  claim 10 , wherein to decode the error correction code that is encoded in the destructive read non-volatile memory, the decoder includes a syndrome calculator to:
 read the symbol associated with the row of the column;   determine a syndrome for the code word based on the symbol; and   store the syndrome in memory.   
     
     
         12 . An error correction module as defined in  claim 9 , wherein to decode the error correction code that is encoded in the destructive read non-volatile memory, the decoder includes:
 an equation solver to determine an error locator polynomial of a code word;   an error evaluator to:
 determine a location of errors based on the error locator polynomial; 
 determine a magnitude of the errors; and 
 create an error polynomial based on the location and magnitude of the errors; and 
   a manager to remove the error polynomial from the code word.   
     
     
         13 . An error correction module as defined in  claim 9 , wherein the error correction code is based on Reed-Solomon code. 
     
     
         14 . An error correction module as defined in  claim 9 , further including a power event detector to:
 determine when a power varying event occurs; and   in response to determining that the power varying event occurred, disconnect a power supply.   
     
     
         15 . An error correction module as defined in  claim 14 , wherein the status manager is to, in response to the power event detector determining that the power varying event occurred, ensure that the normal operation indication is not written in memory. 
     
     
         16 . An error correction module as defined in  claim 9 , further including:
 an encoder to:
 read a plurality of data symbols from the destructive read non-volatile memory; 
 create a data polynomial from the data symbols; 
 determine a parity polynomial from the data symbols; and 
 create a code word based on the data polynomial and the parity polynomial; and 
   a memory manager to write the code word into a memory column of the destructive read non-volatile memory.   
     
     
         17 . An error correction module connected to destructive read non-volatile memory, comprising:
 a power event detector to output a reset signal in response to detecting a fluctuation in a power supply;   a status manager to erase a normal status signature in response to reading the normal status signature in memory;   a decoder to, in response to not reading the normal status signature in memory, decode an error correction code that is encoded in a destructive read non-volatile memory;   an encoder to create a first code word based a first data symbol written via a write operation in the destructive read non-volatile memory and a first parity polynomial; and   a memory manager to write the code word into a first column of the destructive read non-volatile memory.   
     
     
         18 . An error correction module as defined in  claim 17 , wherein the encoder includes a parity initializer to:
 read a plurality of data symbols in a memory row;   create a data polynomial from the data symbols;   determine a second parity polynomial from the data symbols; and   create a second code word based on the data polynomial and the second parity polynomial, the memory manager to write the second code word into a second column of the destructive read non-volatile memory.   
     
     
         19 . An error correction module as defined in  claim 17 , wherein the encoder includes:
 a remainder calculator to determine a first difference between the first data symbol and a second data symbol, the second data symbol overwritten by the first data symbol by the write operation;   a parity buffer to:
 read the second parity polynomial from the destructive read non-volatile memory; and 
 store the second parity polynomial; and 
   a parity calculator to calculate the first parity polynomial based on the first difference and the second parity polynomial.   
     
     
         20 . An error correction module as defined in  claim 17 , wherein the decoder includes:
 an equation solver to determine an error locator polynomial of the first code word;   an error evaluator to:
 determine a location of errors based on the error locator polynomial; 
 determine a magnitude of the errors; and 
 create an error polynomial based on the location and magnitude of the errors; and 
   a manager to remove the error polynomial from the first code word.

Join the waitlist — get patent alerts

Track US2017147430A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.