Back to results
US 10,320,420 B2Granted
Bit-flip coding
AssigneeHewlett Packard Enterprise Development LP
InventorsErik Ordentlich, Ron M. Roth
Life of this patent
Estimating the term…
Abstract
Bit-flip coding uses a bit-flip encoder to flip bits in a redundancy-intersecting vector of a binary array having n rows and n columns until Hamming weights of the binary array are within a predetermined range Δ of n divided by two. Information bits of an input data word to the bit-flip coding apparatus are stored in locations within the binary array that are not occupied by n redundancy bits of a redundancy vector.
Claims18
A memory coding apparatus comprising:
- a bit-flip encoder to receive an input data and encode the input data to produce encoded data by flipping bits in a redundancy-intersecting vector of a binary array having n rows and n columns until Hamming weights of each of the rows and columns of the binary array are within a predetermined range A of n divided by two, the bit-flip encoder to write the encoded data to a memory, wherein information bits of the input data to the bit-flip encoder are stored in locations within the binary array that are not occupied by n redundancy bits of a redundancy vector;
- and a decoder to decode the encoded data retrieved from the memory to recover the information bits of the input data;
- the memory including a resistive crossbar memory array to store the binary array after the bit-flip encoder flips the bits, wherein unselected row lines and column lines of the resistive crossbar memory array are floating during a write to a resistive memory element within the resistive crossbar memory array.
A memory system employing bit flip coding comprising:
- a bit-flip encoder to receive an input data and to place information bits of the input data into a binary array, the bit-flip encoder to encode the binary array having n rows and n columns by flipping bits in a redundancy-intersecting vector of the binary array until Hamming weights of the rows and columns of the binary array are within a predetermined range Δ of n divided by two, the binary array comprising an n-bit redundancy vector and n squared minus n information bits, the information bits being stored in array locations of the binary array outside of the n-bit redundancy vector;
- a resistive crossbar memory to receive and store the binary array encoded by the bit-flip encoder;
- and
- a decoder to retrieve a selected encoded bit of the stored, encoded binary array from the resistive crossbar memory, and to decode the selected encoded bit using a corresponding encoded bit of the n-bit redundancy vector.
1 more element
A method comprising:
- receiving an input data to write to a memory;
- mapping the input data into a binary array stored in non-transitory computer memory, the binary array having n rows and n columns, the input data having n squared minus n information bits;
- bit-flip encoding the binary array comprising flipping bits in a redundancy-intersecting vector of the binary array using a processor until Hamming weights of the rows and the columns of the binary array are within a predetermined range Δ of n divided by two, wherein the mapping of the input data places the information bits in locations in the binary array that are not occupied by n redundancy bits of a redundancy vector stored in the binary array, writing the bit-flip encoded binary array to the memory;
- storing the encoded binary array in an n×n crossbar array of resistive memory elements, wherein storing comprises writing to a selected resistive memory element of the n×n crossbar array, the writing comprising selecting and driving a row line and a column line of the n×n crossbar array connected to the selected resistive memory element, wherein all unselected row lines and column lines of the n×n crossbar array are floating during the writing;
- and retrieving a selected encoded bit of the bit-flip encoded binary array from the memory, and decoding, using a decoder, the selected encoded bit.
2 more elements
Dependencies are inferred from the claim text.