US2015248332A1PendingUtilityA1

Memory controller using crisscross error-correcting codes

Assignee: HEWLETT PACKARD DEVELOPMENT COPriority: Jan 30, 2013Filed: May 14, 2015Published: Sep 3, 2015
Est. expiryJan 30, 2033(~6.5 yrs left)· nominal 20-yr term from priority
G11C 7/1006G11C 17/165G06F 11/1012G11C 16/00G11C 2213/77G06F 11/1096G06F 11/1076G06F 12/0246G11C 13/0007
40
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

According to an example, in a method to manage access to a memory array, a bit string may be encoded with a rank metric code encoder to generate a rank metric codeword having an encoded binary array. The encoded binary array may be modifies so each row of the encoded binary array has at most half of the row with a first bit value and each column of the encoded binary array has at most half of the column with the first bit value. The modified binary array may be stored into corresponding memory devices of the memory array. In addition, the memory array may be read to retrieve a corrupted binary array having a corrupted rank metric codeword and the corrupted rank metric codeword may be decoded with a rank metric code decoder to recover the bit string.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method to manage access to a memory array, comprising:
 encoding a bit string with a rank metric code encoder to generate a rank metric codeword comprising an encoded binary array;   modifying the encoded binary array so each row of the encoded binary array has at most half of the row with a first bit value and each column of the encoded binary array has at most half of the column with the first bit value;   storing the modified binary array into corresponding memory devices of the memory array;   reading the memory array to retrieve a corrupted binary array comprising a corrupted rank metric codeword; and   decoding the corrupted rank metric codeword with a rank metric code decoder to recover the bit string.   
     
     
         2 . The method of  claim 1 , wherein:
 the rank metric code encoder has a minimum rank distance of δ>2 and a redundancy ρ=(δ−1)n for a n by n encoded binary array or a redundancy ρ=(δ−1)max(n,m) for a m by n encoded binary array; and   the bit string has a length of n2−ρ for the n by n encoded binary array or nm−ρ for the m by n encoded binary array.   
     
     
         3 . The method of  claim 1 , wherein modifying the encoded binary array comprises iteratively bit-flipping each row that has more than half of the row with the first bit value and each column that has more than half of the column with the first bit value until no such row and no such column remain. 
     
     
         4 . The method of  claim 3 , wherein iteratively bit-flipping comprises:
 (1) bit-flipping each row having more than half of the row with a bit value 1;   (2) after (1), bit-flipping each column having more than half the column with the bit value 1; and   (3) after (2), when at least one row has more than half of the row with the bit value 1 or one column has more than half of the column with the bit value 1, returning to (1).   
     
     
         5 . The method of  claim 1 , wherein:
 the corrupted binary array includes a s number of crisscross erasures corresponding to corrupted rows and columns having known locations in the memory array; and   the method includes filling the s number of crisscross erasures in the corrupted binary array with a same bit value before decoding the corrupted rank metric codeword.   
     
     
         6 . The method of  claim 5 , wherein the corrupted binary array includes a t number of crisscross errors corresponding to corrupted rows and columns having unknown locations in the memory array. 
     
     
         7 . The method of  claim 6 , wherein:
 the rank metric code encoder has a minimum rank distance of δ>2 and a redundancy ρ=(δ−1)n for a n by n encoded binary array or a redundancy ρ=(δ−1)max(n,m) for a m by n encoded binary array;   the bit string has a length of n2−ρ for the n by n encoded binary array or nm−ρ for the m by n encoded binary array; and
   2+2 s+ 4 t<δ.    
   
     
     
         8 . The method of  claim 1 , wherein the memory devices are resistive switching devices that are to be switched into one of an ON state of low resistance and an OFF state of high resistance. 
     
     
         9 . The method of  claim 1 , wherein the rank metric codeword is an error-correcting codeword. 
     
     
         10 . An apparatus, comprising:
 a memory array comprising memory devices arranged in a crossbar;   a memory controller to write to and read from memory devices in the memory array, the memory controller comprising a rank metric code encoder and a rank metric code decoder, wherein the memory controller is to:
 encode a bit string with the rank metric encoder to generate a rank metric codeword comprising an encoded binary array; 
 modify the encoded binary array so each row of the encoded binary array has at most half of the row with a bit value and each column of the encoded binary array has at most half of the column with the bit value; 
 store the modified binary array into corresponding memory devices of the memory array; 
 read the memory array to retrieve a corrupted binary array comprising a corrupted rank metric codeword; and 
 decode the corrupted rank metric codeword with the rank metric code decoder to recover the bit string. 
   
     
     
         11 . The apparatus of  claim 10 , wherein to modify the encoded binary array, the memory controller is to iteratively bit-flip each row of the encoded binary array that has more than half of the row with the bit value and each column of the encoded binary array that has more than half of the column with the bit value until no such row and no such column remain. 
     
     
         12 . The apparatus of  claim 11 , wherein to iteratively bit-flip, the memory controller is to:
 (1) bit-flip each row having more than half of the row with a bit value 1;   (2) after (1), bit-flip each column having more than half the column with the bit value 1; and   (3) after (2), when at least one row has more than half of the row with the bit value 1 or one column has more than half of the column with the bit value 1, return to (1).   
     
     
         13 . The apparatus of  claim 10 , wherein the rank metric codeword is an error-correcting codeword. 
     
     
         14 . The apparatus of  claim 10 , wherein:
 the corrupted binary array includes a s number of crisscross erasures corresponding to corrupted rows and columns having known locations in the memory array; and   the memory controller is to fill the s number of crisscross erasures in the corrupted binary array with a same bit value before decoding the corrupted rank metric codeword.   
     
     
         15 . The apparatus of  claim 14 , wherein the corrupted binary array includes a t number of crisscross errors corresponding to corrupted rows and columns having unknown locations in the memory array. 
     
     
         16 . The apparatus of  claim 15 , wherein:
 the rank metric code encoder has a minimum rank distance of δ>2 and a redundancy ρ=(δ−1)n for a n by n encoded binary array or a redundancy ρ=(δ−1)max(n,m) for a in by n encoded binary array; and   the bit string has a length of n2−ρ for the n by n encoded binary array or nm−ρ for the m by n encoded binary array.   
     
     
         17 . The apparatus of  claim 10 , wherein the memory devices are resistive switching devices that are to be switched between an ON state of low resistance and an OFF state of high resistance. 
     
     
         18 . A non-transitory computer readable medium on which is stored machine readable instructions that when executed are to cause a processor to:
 encode a bit string with a rank metric code encoder to generate a rank metric codeword comprising an encoded binary array;   modify the encoded binary array so each row of the encoded binary array has at most half of the row with a bit value and each column of the encoded binary array has at most half of the column with the bit value;   store the modified binary array into corresponding memory devices of the memory array;   read the memory array to retrieve a corrupted binary array comprising a corrupted rank metric codeword; and   decode the corrupted rank metric codeword with a rank metric code decoder to recover the bit string.   
     
     
         19 . The non-transitory computer readable medium of  claim 18 , wherein the rank metric codeword is an error-correcting codeword. 
     
     
         20 . The non-transitory computer readable medium of  claim 18 , wherein:
 the rank metric code encoder has a minimum rank distance of δ>2 and a redundancy ρ=(δ−1)n for a n by n encoded binary array or a redundancy ρ=(δ−1)max(n,m) for a m by n encoded binary array; and   the bit string has a length of n2−ρ for the n by n encoded binary array or nm−ρ for the m by n encoded binary array.

Join the waitlist — get patent alerts

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

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