Method and Device for Correction of Ternary Stored Binary Data
First Claim
Patent Images
1. A memory device for storing a block of binary data u of length k, k being an integer, k>
- 2, comprising;
an encoder configured to receive the binary data, and configured to encode the block of binary data u of length k into encoded binary data x of length n, n≧
k, wherein the encoder uses an error correcting code C with a code distance d≧
3; and
a storage component coupled to the encoder, and configured to receive the encoded binary data x and output binary output data x′
of length n, wherein the storage component is configured to transform binary data x into ternary data, store the ternary data as ternary states in ternary memory cells of a ternary memory, and transform the ternary data into binary data x′
when the ternary data is retrieved from the ternary memory; and
a corrector coupled to the storage component, the corrector configured to receive binary data x′
from the storage component, and correct errors in the received binary data x′
caused by errors in the states of the ternary memory cells of the ternary memory.
1 Assignment
0 Petitions
Accused Products
Abstract
The invention relates to a device and a method for storing binary data in a storage device, in which the binary data is transformed to and stored as ternary data. The storage device uses memory cells capable of storing three states. The device and method furthermore are configured to identify and correct falsified ternary data when reading and outputting the data from storage device.
184 Citations
21 Claims
-
1. A memory device for storing a block of binary data u of length k, k being an integer, k>
- 2, comprising;
an encoder configured to receive the binary data, and configured to encode the block of binary data u of length k into encoded binary data x of length n, n≧
k, wherein the encoder uses an error correcting code C with a code distance d≧
3; anda storage component coupled to the encoder, and configured to receive the encoded binary data x and output binary output data x′
of length n, wherein the storage component is configured to transform binary data x into ternary data, store the ternary data as ternary states in ternary memory cells of a ternary memory, and transform the ternary data into binary data x′
when the ternary data is retrieved from the ternary memory; anda corrector coupled to the storage component, the corrector configured to receive binary data x′
from the storage component, and correct errors in the received binary data x′
caused by errors in the states of the ternary memory cells of the ternary memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
- 2, comprising;
-
14. A memory device for storing binary data, comprising:
-
an encoder configured to receive a block of binary data u of length k, k>
2, and encode the received binary data using a linear error correcting code thus producing a block of encoded binary data x of length n, n>
k;a storage component, coupled to the encoder and comprising binary-to-ternary transformer circuitry configured to transform triples of encoded binary data x into tuples of ternary signals, and further comprising ternary memory configured to store the ternary signals, and comprising ternary-to-binary transformer circuitry configured to transform tuples of ternary signals into triples of binary signals x′
, and wherein the storage component is configured to output binary signals x′
; andcorrector circuitry coupled to the output of the storage component, and configured to determine an error vector e based on the output binary signals x′
of the storage component; anda circuit coupled to the output of the storage component and to the output of the corrector circuitry, and configured to combine the binary signals x′ and
error vector e to produce a corrected output of the memory device. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A method for storing a block of binary data u of length k, k being integer, k>
- 2, comprising;
receiving the binary data in an encoder, and encoding the block u into e encoded binary data x of length n, n≧
k, using an error correcting code C with a code distance code d≧
3; andstoring the encoded binary data x in a storage component coupled to the encoder, wherein the storing comprises transforming binary data x into ternary data and storing the ternary data as ternary states in ternary memory cells, and reading the ternary data from the ternary memory cells, and transforming the ternary data into binary data x′
; andcorrecting errors in the binary data x′
caused by errors in the states of the ternary memory cells. - View Dependent Claims (20, 21)
- 2, comprising;
Specification