US9071266B2ActiveUtilityA1

MTR and RLL code design and encoder and decoder

79
Assignee: SK HYNIX MEMORY SOLUTIONS INCPriority: Apr 21, 2011Filed: Jan 9, 2014Granted: Jun 30, 2015
Est. expiryApr 21, 2031(~4.8 yrs left)· nominal 20-yr term from priority
H03M 5/145H03M 7/20H03M 7/46
79
PatentIndex Score
5
Cited by
7
References
16
Claims

Abstract

An array f(n) is received for n=1, . . . , N where N is a length of a codeword. An array g(n) is received for n=1, . . . , N where N is a length of a codeword. Input data is encoded to satisfy an MTR constraint and a RLL constraint using the array f(n) and the array g(n).

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A system, comprising:
 an interface configured to:
 receive an array f(n), wherein the array f(n) includes N elements and N is the length of a codeword that satisfies an MTR constraint and a RLL constraint; and 
 receive an array g(n), wherein the array g(n) includes N elements and N is the length of the codeword; and 
 
 a processor configured to encode input data using the array f(n) and the array g(n) to generate the codeword, including by:
 determining the value of a most recent bit of the codeword that is output; 
 in the event the most recent bit is a first value, comparing the input data to an element in the array f(n) corresponding to a current index, wherein the value of a next bit of the codeword that is output depends upon the comparison of the input data to the element in the array f(n); and 
 in the event the most recent bit is a second value, comparing the input data to an element in the array g(n) corresponding to the current index, wherein the value of the next bit of the codeword that is output depends upon the comparison of the input data to the element in the array g(n). 
 
 
     
     
       2. The system of  claim 1 , wherein f(n) is associated with a number of paths through a z 1  state, in a trellis, which is associated with a run of zeros of run length l and g(n) is associated with a number of paths through a t 1  state, in the trellis, which is associated with a run of ones of run length l. 
     
     
       3. The system of  claim 1 , wherein the first value is a value of one and the second value is a value of zero. 
     
     
       4. The system of  claim 1 , wherein:
 the processor is configured to compare the input data to the element in the array f(n) that corresponds to the current index by determining if the input data is greater than or equal to the element in the array f(n) that corresponds to the current index; and 
 the processor is configured to compare the input data to the element in the array g(n) that corresponds to the current index by determining if the input data is greater than or equal to the element in the array g(n) that corresponds to the current index. 
 
     
     
       5. The system of  claim 4 , wherein the processor is further configured to encode the input data by:
 in the event it is determined that the input data is greater than or equal to the element in the array f(n) that corresponds to the current index, updating the input data to be the input data minus the element in the array f(n) that corresponds to the current index; and 
 in the event it is determined that the input data is greater than or equal to the element in the array g(n) that corresponds to the current index, updating the input data to be the input data minus the element in the array g(n) that corresponds to the current index. 
 
     
     
       6. A system, comprising:
 an interface configured to:
 receive an array f(n), wherein the array f(n) includes N elements and N is a length of a codeword that satisfies an MTR constraint and a RLL constraint; and 
 receive an array g(n), wherein the array g(n) includes N elements and N is the length of the codeword; and 
 
 a processor configured to decode the codeword using the array f(n) and the array g(n) to obtain user data, including by:
 determining the value of a first bit of the codeword and the value of a second bit of the codeword, wherein the first bit and the second bit are adjacent to each other; 
 in the event the first bit of the codeword and the second bit of the codeword are both a first value, updating the user data to be the user data plus an element in the array f(n) that corresponds to a current index; and 
 in the event the first bit of the codeword and the second bit of the codeword are both a second value, updating the user data to be the user data plus an element in the array g(n) that corresponds to the current index. 
 
 
     
     
       7. The system of  claim 6 , wherein f(n) is associated with a number of paths through a z 1  state, in a trellis, which is associated with a run of zeros of run length l and g(n) is associated with a number of paths through a t 1  state, in the trellis, which is associated with a run of ones of run length l. 
     
     
       8. The system of  claim 6 , wherein the first value is a value of one and the second value is a value of zero. 
     
     
       9. A method, comprising:
 receiving an array f(n), wherein the array f(n) includes N elements and N is the length of a codeword that satisfies an MTR constraint and a RLL constraint; 
 receiving an array g(n), wherein the array g(n) includes N elements and N is the length of the codeword; and 
 using a processor to encode input data using the array f(n) and the array g(n) to generate the codeword, including by:
 determining the value of a most recent bit of the codeword that is output; 
 in the event the most recent bit is a first value, comparing the input data to an element in the array f(n) corresponding to a current index, wherein the value of a next bit of the codeword that is output depends upon the comparison of the input data to the element in the array f(n); and 
 in the event the most recent bit is a second value, comparing the input data to an element in the array g(n) corresponding to the current index, wherein the value of the next bit of the codeword that is output depends upon the comparison of the input data to the element in the array g(n). 
 
 
     
     
       10. The method of  claim 9 , wherein f(n) is associated with a number of paths through a z 1  state, in a trellis, which is associated with a run of zeros of run length l and g(n) is associated with a number of paths through a t 1  state, in the trellis, which is associated with a run of ones of run length l. 
     
     
       11. The method of  claim 9 , wherein the first value is a value of one and the second value is a value of zero. 
     
     
       12. The method of  claim 9 , wherein:
 comparing the input data to the element in the array f(n) that corresponds to the current index includes determining if the input data is greater than or equal to the element in the array f(n) that corresponds to the current index; and 
 comparing the input data to the element in the array g(n) that corresponds to the current index includes determining if the input data is greater than or equal to the element in the array g(n) that corresponds to the current index. 
 
     
     
       13. The method of  claim 12 , wherein using the processor to encode the input data further includes:
 in the event it is determined that the input data is greater than or equal to the element in the array f(n) that corresponds to the current index, updating the input data to be the input data minus the element in the array f(n) that corresponds to the current index; and 
 in the event it is determined that the input data is greater than or equal to the element in the array g(n) that corresponds to the current index, updating the input data to be the input data minus the element in the array g(n) that corresponds to the current index. 
 
     
     
       14. A method, comprising:
 receiving an array f(n), wherein the array f(n) includes N elements and N is a length of a codeword that satisfies an MTR constraint and a RLL constraint; 
 receiving an array g(n), wherein the array g(n) includes N elements and N is the length of the codeword; and 
 using a processor to decode the codeword using the array f(n) and the array g(n) to obtain user data, including by:
 determining the value of a first bit of the codeword and the value of a second bit of the codeword, wherein the first bit and the second bit are adjacent to each other; 
 in the event the first bit of the codeword and the second bit of the codeword are both a first value, updating the user data to be the user data plus an element in the array f(n) that corresponds to a current index; and 
 in the event the first bit of the codeword and the second bit of the codeword are both a second value, updating the user data to be the user data plus an element in the array g(n) that corresponds to the current index. 
 
 
     
     
       15. The method of  claim 14 , wherein f(n) is associated with a number of paths through a z 1  state, in a trellis, which is associated with a run of zeros of run length l and g(n) is associated with a number of paths through a t 1  state, in the trellis, which is associated with a run of ones of run length l. 
     
     
       16. The method of  claim 14 , wherein the first value is a value of one and the second value is a value of zero.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.