Run length limited coding with minimal error propagation
AssigneeSeagate Technology LLC
InventorChandra Chuda Varanasi
Life of this patent
Estimating the term…
Abstract
Systems and methods that encode and decode data in a manner that limits error propagation by parsing a data word of length n into a predetermined number of data blocks, individually encoding each data block into a single associated code block, and then combining each of the code blocks to form a resulting code word of length (n+1), resulting in a code rate of n/(n+1). By parsing and encoding the data word in this manner, errors that occur with respect to one or more bits of one code block will not be propagated throughout an entire data word during the decoding process.
Claims25
A method of forming a binary code word from a binary data word, comprising steps of:
- (a) receiving the binary data word;
- (b) parsing the binary data word into a predetermined number of data blocks, each data block being either a conforming data block having at least two bits of a first type or a nonconforming data block having less than two bits of the first type;
- (c) for each nonconforming data block, forming an associated conforming code block including at least two data bits of the first type;
- (e) for each conforming data block, forming an associated unaltered code block that is identical to the data block from which it was formed;
- and
- (f) forming the binary code word from the conforming code blocks and the unaltered code blocks.
A method of decoding a binary code word to form a binary data word, comprising steps of:
- (a) receiving the binary code word;
- (b) parsing the binary code word into conforming code blocks and unaltered code blocks, each code block including a plurality of bits;
- (c) forming a nonconforming data block from each conforming code block;
- (d) forming a conforming data block from each unaltered code block;
- and
- (e) concatenating nonconforming data blocks and conforming data blocks to form the binary data word.
A data encoder for forming an (n+1)-bit binary code word from an n-bit binary data word, comprising:
- parsing means for parsing the n-bit binary data word into p data blocks, each of the data blocks being either a conforming data block having at least two bits of a first type or a nonconforming data block having less than two bits of the first type;
- altering means for altering each nonconforming data block to form an associated conforming code block having at least two bits of the first type;
- and
- code word forming means for combining all conforming data blocks together with a single indicator bit of the first type to form the (n+1)-bit binary code word, if each of the data blocks is a conforming data block, and combining all code blocks together to form the (n+1)-bit binary code word, if at least one of the data blocks is a nonconforming data block.
A method of forming (n+1)-bit binary code words from n-bit binary data words, comprising steps of:
- (a) receiving an n-bit binary data word;
- (b) parsing the n-bit binary data word into a predetermined number of q-bit data blocks, each of the q-bit data blocks being either a conforming data block having at least two bits of a first type or a nonconforming data block having less than two bits of the first type;
- (c) if each of the data blocks is a conforming data block, combining all of the conforming data blocks together with a single indicator bit of a first type to form an (n+1)-bit binary code word;
- and
- (d) if any of the data blocks are nonconforming data blocks;
- (d)(1) altering each nonconforming data block in a predetermined manner to form a conforming code block having at least two bits of the first type;
- (d)(2) for each conforming data block, forming an identical unaltered code block;
- and
- (d)(3) combining all of the code blocks together with an indicator string having at least one bit of a second type to form an (n+1)-bit binary code word.
Dependencies are inferred from the claim text.