Enhanced tearing save encoding
AssigneeNXP B.V.
InventorBjörn Fay
Life of this patent
Estimating the term…
Abstract
A method for encoding data to be stored in a memory, including: encoding the data to be stored in memory with an error correcting code (ECC) as first encoded data, wherein the ECC is configured to have a minimum Hamming distance of at least 4t+1 in order to correct up to t bit errors and detect up to 3t bit errors where t≥1; determining a Hamming weight of the first encoded data; encoding the determined Hamming weight, wherein for all higher Hamming weights the encoding should have at least 2t+1 bit-positions that change from 1 to 0 per Hamming weight; concatenating the first encoded data and the encoded Hamming weight as concatenated data; and storing the concatenated data in the memory.
Claims18
A method for encoding data to be stored in a memory, comprising:
- encoding the data to be stored in memory with an error correcting code (ECC) as first encoded data, wherein the ECC is configured to have a minimum Hamming distance of at least 4t+1 in order to correct up to t bit errors and detect up to 3t bit errors where t≥1;
- determining a Hamming weight of the first encoded data;
- encoding the determined Hamming weight, wherein for all higher Hamming weights the encoding should have at least 2t+1 bit-positions that change from 1 to 0 per Hamming weight;
- concatenating the first encoded data and the encoded Hamming weight as concatenated data;
- and
- storing the concatenated data in the memory.
A method for decoding data stored in a memory, comprising:
- reading encoded data from the memory, wherein the encoded data includes a first encoded data, generated using an error correcting code (ECC), and the encoded Hamming weight, wherein for all higher Hamming weights the encoding should have at least 2t+1 bit-positions that change from 1 to 0 per Hamming weight, and wherein the ECC is configured to have a minimum Hamming distance of at least 4t+1 in order to correct up to t bit errors and detect up to 3t bit errors where t≥1;
- correcting the first encoded data with the ECC as corrected encoded data, including error detection of up to at least 3t errors and correction of up to t errors;
- decoding the corrected encoded data with the ECC as decoded data;
- decoding the encoded Hamming weight, including error correction and possibly checking for decoding errors;
- determining the Hamming weight of the corrected encoded data;
- checking that the decoded Hamming weight and the determined Hamming weight are equal, that the data decoding did not detect more than t errors, and the Hamming weight decoding has not detected a decoding error;
- and
- returning the decoded data if all checks have passed, otherwise returning an error.
A device configured to encode data stored in a first memory, comprising:
- a second memory;
- a processor coupled to the second memory, wherein the processor is further configured to:
- encode the data to be stored in memory with an error correcting code (ECC) as first encoded data, wherein the ECC is configured to have a minimum Hamming distance of at least 4t+1 in order to correct up to t bit errors and detect up to 3t bit errors where t≥1;
- determine a Hamming weight of the first encoded data;
- encode the determined Hamming weight, wherein for all higher Hamming weights the encoding should have at least 2t+1 bit-positions that change from 1 to 0 per Hamming weight;
- concatenate the first encoded data and the encoded Hamming weight as concatenated data;
- and
- store the concatenated data in the memory.
A device configured to decode data stored in a first memory, comprising:
- a second memory;
- a processor coupled to the second memory, wherein the processor is further configured to:
- read encoded data from the memory, wherein the encoded data includes a first encoded data, generated using an error correcting code (ECC), and the encoded Hamming weight, wherein for all higher Hamming weights the encoding should have at least 2t+1 bit-positions that change from 1 to 0 per Hamming weight, and wherein the ECC is configured to have a minimum Hamming distance of at least 4t+1 in order to correct up to t bit errors and detect up to 3t bit errors where t≥1;
- correct the first encoded data with the ECC as corrected encoded data, including error detection of up to at least 3t errors and correction of up to t errors;
- decode the corrected encoded data with the ECC as decoded data;
- decode the encoded Hamming weight, including error correction and possibly checking for decoding errors;
- determine the Hamming weight of the corrected encoded data;
- check that the decoded Hamming weight and the determined Hamming weight are equal, that the data decoding did not detect more than t errors, and the Hamming weight decoding has not detected a decoding error;
- and
- return the decoded data if all checks have passed, otherwise returning an error.
Dependencies are inferred from the claim text.