Patent ID: 6081210
Filing Date: 2000-06-27
Classification: H03M

Abstract:
A method for encoding an input stream of binary data into an output stream of binary codewords for magnetic recording channels that eliminates the most common error events associated with Partial Response Maximum Likelihood channels, said method comprising:receiving a plurality of input data bits;grouping said plurality of input data bits into bytes of eight bits each;separating said bytes into even bytes and odd bytes, one of said odd bytes comprising the first eight bits received followed by one of said even bytes comprising the next eight bits received, said odd and even bytes alternating thereafter;encoding each said even bytes into even codewords; andencoding each said odd bytes into odd codewords based on the even codeword for the even byte preceding each said odd bytes and the even codeword for the even byte following each said odd bytes;wherein the most common error events associated with Partial Response Maximum Likelihood channels are eliminated by: (i) disallowing sequences of four consecutive ones in said even codewords and said odd codewords, (ii) allowing sequences of three consecutive ones to begin only on even bit positions in odd codewords (i.e. 2.sup.nd, 4.sup.th, 6.sup.th, 8.sup.th), or on bit positions 3 and 5 in even codewords, (iii) constructing the even byte encoder in a way that it allows sequences starting with 1100x, but eliminates sequences starting with 1101x, 1110x, and 1111x, and also allows sequences ending with x0011, but eliminates sequences ending with x1011, x0111, and x1111, (iv) insuring that if an even codeword starts with 11x, the previous odd codeword cannot end with xx1 (last bit has to be 0), and if an even codeword ends with x11, the following odd codeword has to start with 0x, therefore allowing sequences of three consecutive ones to begin on bit positions 1 and 7 in even codewords, and (v) insuring that when an even codeword starts with 11x and an odd codeword ends with x1, bit 9 in the odd codeword is changed from 1 to 0, and bit 3 in the even codeword is changed from 0 to 1, and also when an even codeword ends with x11 and an odd codeword starts with 1x, bit 1 of the odd codeword is changed from 1 to 0 and bit 7 in the even codeword is changed from 0 to 1.