Claims Analysis
Total Claims: 46
Claim 1
Independent Claim
443 words
Apparatus for encoding a sequence of N-element datawords into a sequence of codewords having at least (N+1)-elements for storage or transmission such that the sequence of codewords satisfies a G constraint, wherein the G constraint corresponds to a maximum number of consecutive elements having the same value, the apparatus comprising: a storage circuit, coupled to an input stream to receive each dataword, adapted to store each dataword as left and right substrings; a processor, coupled to the storage circuit, which determines whether each of the left and right substrings contains at least one code violation of either a first or second case, wherein: the first case corresponds to a substring having only an end code violation in which the G constraint would be violated by two adjacent codewords having adjacent end code violations; and the second case corresponds to a substring having at least one G constraint violation within the substring; an encoder circuit, coupled to the storage register, adapted to insert a middle pivot bit between the left and right substrings and adapted to encode the dataword into the codeword, wherein: if at least one of the left and right substrings has a code violation, the encoder circuit encodes by defining a first pivot bit for the left substring and a first pivot bit for the right substring, each first pivot bit adjacent to the middle pivot bit and the pair of first pivot bits indicating whether code violations exist in the left substring only, the right substring only, or both left and right substrings; if a substring has a code violation, the encoder circuit defines a second pivot bit for the substring, the second pivot bit indicating whether the code violation is of the first case or the second case; and the encoder circuit corrects each code violation by: (i) if the code violation is of the first case, then setting the second pivot bit to correct the end code violation and defining and setting a first correction bit to prevent a violation of the G constraint resulting from setting the middle pivot bit and the first pivot bit of the substring; (ii) if the code violation is of the second case, then defining and setting a second correction bit to correct an end code violation and defining and setting a third correction bit to correct the violation of the G constraint within the substring; and (iii) moving values of one or more elements overwritten by a pivot or correction bit to element positions corresponding to elements whose values are identified by the pivot bits as being part of a code violation, thereby generating the codeword corresponding to the N-element dataword.
Claim 2
Dependent Claim
443 words
Apparatus for encoding a sequence of N-element datawords into a sequence of codewords having at least (N+1)-elements for storage or transmission such that the sequence of codewords satisfies a G constraint, wherein the G constraint corresponds to a maximum number of consecutive elements having the same value, the apparatus comprising: a storage circuit, coupled to an input stream to receive each dataword, adapted to store each dataword as left and right substrings; a processor, coupled to the storage circuit, which determines whether each of the left and right substrings contains at least one code violation of either a first or second case, wherein: the first case corresponds to a substring having only an end code violation in which the G constraint would be violated by two adjacent codewords having adjacent end code violations; and the second case corresponds to a substring having at least one G constraint violation within the substring; an encoder circuit, coupled to the storage register, adapted to insert a middle pivot bit between the left and right substrings and adapted to encode the dataword into the codeword, wherein: if at least one of the left and right substrings has a code violation, the encoder circuit encodes by defining a first pivot bit for the left substring and a first pivot bit for the right substring, each first pivot bit adjacent to the middle pivot bit and the pair of first pivot bits indicating whether code violations exist in the left substring only, the right substring only, or both left and right substrings; if a substring has a code violation, the encoder circuit defines a second pivot bit for the substring, the second pivot bit indicating whether the code violation is of the first case or the second case; and the encoder circuit corrects each code violation by: (i) if the code violation is of the first case, then setting the second pivot bit to correct the end code violation and defining and setting a first correction bit to prevent a violation of the G constraint resulting from setting the middle pivot bit and the first pivot bit of the substring; (ii) if the code violation is of the second case, then defining and setting a second correction bit to correct an end code violation and defining and setting a third correction bit to correct the violation of the G constraint within the substring; and (iii) moving values of one or more elements overwritten by a pivot or correction bit to element positions corresponding to elements whose values are identified by the pivot bits as being part of a code violation, thereby generating the codeword corresponding to the N-element dataword.
Claim 3
Dependent Claim
72 words
The invention as recited in claim 1 , wherein the codeword has elements z(1) through z(N+1); the first pivot bit of the left substring, the middle pivot bit, and the first pivot bit of the right substring are defined as elements z(N/2), z((N/2)+1), and z((N/2)+2, respectively; and the second pivot bit of the left substring is defined as z((N/8)+1) and the second pivot bit of the right string is defined as z(N-(N/8)+1).
Claim 4
Dependent Claim
90 words
The invention as recited in claim 2 , wherein: if the code violation is of the first case, then the first correction bit of the left substring is defined as z(2+G) and the first correction bit of the right substring is defined as z(N−G); and if the code violation is of the second case, then the second and third correction bits of the left substring are defined as z(1) and z(2+G), respectively, and the second and third correction bits of the right substring are defined as z(N+1) and z(N−G), respectively.
Claim 5
Dependent Claim
38 words
The invention as recited in claim 1 , wherein the code violation of the first case is a string of ((N/8)+1) consecutive values, and the code violation of the second case is a string of ((N/4)+2) consecutive values.
Claim 6
Dependent Claim
68 words
The invention as recited in claim 4 , wherein, the codeword has the run-length constraints (d, G, l, r), d, l, and r being 0, N/8, and N/8, respectively, and wherein d is a minimum number of consecutive ones, G is a maximum number of consecutive zeros, and l and r are maximum numbers of zeros at a left end and a right end of the codeword, respectively.
Claim 7
Dependent Claim
67 words
The invention as recited in claim 1 , wherein the encoder is further adapted to (1) set the middle pivot bit to a first value if at least one of the left and right substrings contains a code violation; (2) otherwise, set the middle pivot bit to a second value and providing the left and right substrings having the middle pivot bit inserted therebetween as the codeword.
Claim 8
Dependent Claim
15 words
The invention as recited in claim 1 , wherein the value for G is (N/4)+1.
Claim 9
Dependent Claim
88 words
The invention as recited in claim 7 , wherein the encoder circuit further comprises: a register adapted to receive and divide an additional string of eight elements into left and right nibbles; and an interleaver circuit adapted to insert one of the left and right nibbles adjacent to the first pivot bit of the left substring and the other one of the left and right nibbles adjacent to the first pivot bit of the right substring, thereby forming a new codeword having a new G constraint being (N/4)+5.
Claim 10
Dependent Claim
26 words
The invention as recited in claim 1 , wherein the sequence of codewords is represented by a signal, the signal being provided to a physical medium.
Claim 11
Dependent Claim
30 words
The invention of claim 9 , wherein the physical medium is a storage medium, apparatus further comprising a recording head for storing the sequence of codewords in the storage medium.
Claim 12
Dependent Claim
27 words
The invention of claim 10 , wherein the storage medium is either a magnetic recording medium or an optical recording medium storing data generated by a computer.
Claim 13
Dependent Claim
26 words
The invention of claim 9 , further comprising a modulator, the modulator transmitting the signal corresponding to the sequence of codewords through either a communications medium.
Claim 14
Dependent Claim
27 words
The invention of claim 9 , wherein the signal representing the sequence of codewords has a greater transition density than a signal representing the sequence of datawords.
Claim 15
Dependent Claim
19 words
The invention of claim 9 , wherein the apparatus provides the signal for increased signal-to-noise ratio to a detector.
Claim 16
Dependent Claim
180 words
Apparatus for decoding a sequence of codewords having at least N+1 elements into a sequence of N-element datawords, the sequence of codewords received as a signal from a storage or transmission medium, the decoder comprising: a processing adapted to detect a middle pivot bit and first and second portions of each codeword, each portion adjacent to the middle pivot bit; a logic circuit, coupled to the processor, adapted to generate the dataword from the first and second portions by: if the middle pivot bit is set to a first value: 1) extracting a set of one or more preserved bits and a first pivot bit for each portion; 2) generating, for each portion, a substring from the set of preserved elements and, if a second pivot bit and at least one correction bit is detected in the portion, from at least one code violation defined by the second pivot bit; 3) combining each substring to form the dataword; otherwise, if the middle pivot bit is set to second value, by: 4) providing the first and second portions as the dataword.
Claim 17
Dependent Claim
180 words
Apparatus for decoding a sequence of codewords having at least N+1 elements into a sequence of N-element datawords, the sequence of codewords received as a signal from a storage or transmission medium, the decoder comprising: a processing adapted to detect a middle pivot bit and first and second portions of each codeword, each portion adjacent to the middle pivot bit; a logic circuit, coupled to the processor, adapted to generate the dataword from the first and second portions by: if the middle pivot bit is set to a first value: 1) extracting a set of one or more preserved bits and a first pivot bit for each portion; 2) generating, for each portion, a substring from the set of preserved elements and, if a second pivot bit and at least one correction bit is detected in the portion, from at least one code violation defined by the second pivot bit; 3) combining each substring to form the dataword; otherwise, if the middle pivot bit is set to second value, by: 4) providing the first and second portions as the dataword.
Claim 18
Dependent Claim
355 words
The invention as recited in claim 15 , wherein each codeword has been formed from the corresponding N-element dataword by: (i) dividing each dataword into left and right substrings by inserting a middle pivot bit therebetween; (ii) determining whether each of the left and right substrings contains at least one code violation of a first or second case, wherein: the first case corresponds to a substring having only an end code violation in which the G constraint would be violated by two adjacent codewords having adjacent end code violations; and the second case corresponds to a substring having at least one G constraint violation within the substring; (iii) if at least one of the left and right substrings has a code violation, then defining a first pivot bit for the left substring and a first pivot bit for the right substring, each first pivot bit adjacent to the middle pivot bit and the pair of first pivot bits indicating whether code violations exist in the left substring only, the right substring only, or both left and right substrings (iv) if a substring has a code violation, then defining a second pivot bit for the substring, the second pivot bit indicating whether the code violation is of the first case or the second case; (v) if the code violation is of the first case, then setting the second pivot bit to correct the end code violation and defining and setting a first correction bit to prevent a violation of the G constraint resulting from setting the middle pivot bit and the first pivot bit of the substring; (vi) if the code violation is of the second case, then defining and setting second correction bit to correct an end code violation and defining and setting a third correction bit to correct the violation of the G constraint within the substring; and (vii) moving values of one or more elements overwritten by a pivot or correction bit to element positions corresponding to elements whose values are identified by the pivot bits as being part of a code violation, thereby generating the (N+1)-element codeword corresponding to the N-element dataword.
Claim 19
Independent Claim
390 words
A method of encoding a sequence of N-element datawords into a sequence of codewords having at least N+1 elements for storage or transmission such that the sequence of codewords satisfies a G constraint, wherein the G constraint corresponds to a maximum number of consecutive elements having the same value, the method comprising the steps of: (a) dividing each dataword into left and right substrings by inserting a middle pivot bit therebetween; (b) determining whether each of the left and right substrings contains at least one code violation of a first or second case, wherein: the first case corresponds to a substring having only an end code violation in which the G constraint would be violated by two adjacent codewords having adjacent end code violations; and the second case corresponds to a substring having at least one G constraint violation within the substring; (c) if at least one of the left and right substrings has a code violation, then defining a first pivot bit for the left substring and a first pivot bit for the right substring, each first pivot bit adjacent to the middle pivot bit and the pair of first pivot bits indicating whether code violations exist in the left substring only, the right substring only, or both left and right substrings (d) if a substring has a code violation, then defining a second pivot bit for the substring, the second pivot bit indicating whether the code violation is of the first case or the second case; (e) if the code violation is of the first case, then setting the second pivot bit to correct the end code violation and defining and setting a first correction bit to prevent a violation of the G constraint resulting from setting the middle pivot bit and the first pivot bit of the substring; (f) if the code violation is of the second case, then defining and setting second correction bit to correct an end code violation and defining and setting a third correction bit to correct the violation of the G constraint within the substring; and (g) moving values of one or more elements overwritten by a pivot or correction bit to element positions corresponding to elements whose values are identified by the pivot bits as being part of a code violation, thereby generating the (N+1)-element codeword corresponding to the N-element dataword.
Claim 20
Independent Claim
390 words
A method of encoding a sequence of N-element datawords into a sequence of codewords having at least N+1 elements for storage or transmission such that the sequence of codewords satisfies a G constraint, wherein the G constraint corresponds to a maximum number of consecutive elements having the same value, the method comprising the steps of: (a) dividing each dataword into left and right substrings by inserting a middle pivot bit therebetween; (b) determining whether each of the left and right substrings contains at least one code violation of a first or second case, wherein: the first case corresponds to a substring having only an end code violation in which the G constraint would be violated by two adjacent codewords having adjacent end code violations; and the second case corresponds to a substring having at least one G constraint violation within the substring; (c) if at least one of the left and right substrings has a code violation, then defining a first pivot bit for the left substring and a first pivot bit for the right substring, each first pivot bit adjacent to the middle pivot bit and the pair of first pivot bits indicating whether code violations exist in the left substring only, the right substring only, or both left and right substrings (d) if a substring has a code violation, then defining a second pivot bit for the substring, the second pivot bit indicating whether the code violation is of the first case or the second case; (e) if the code violation is of the first case, then setting the second pivot bit to correct the end code violation and defining and setting a first correction bit to prevent a violation of the G constraint resulting from setting the middle pivot bit and the first pivot bit of the substring; (f) if the code violation is of the second case, then defining and setting second correction bit to correct an end code violation and defining and setting a third correction bit to correct the violation of the G constraint within the substring; and (g) moving values of one or more elements overwritten by a pivot or correction bit to element positions corresponding to elements whose values are identified by the pivot bits as being part of a code violation, thereby generating the (N+1)-element codeword corresponding to the N-element dataword.
Claim 21
Dependent Claim
82 words
The method of encoding as recited in claim 17 , wherein the (N+1) element codeword has elements z(1) through z(N+1); for step (c) the first pivot bit of the left substring, the middle pivot bit, and the first pivot bit of the right substring are defined as elements z(N/2), z((N/2)+1), and z((N/2)+2), respectively; and for step (d), the second pivot bit of the left substring is defined as z((N/8)+1), and the second pivot bit of the right string is defined as z(N-(N/8)+1).
Claim 22
Dependent Claim
95 words
The method of encoding as recited in claim 18 , wherein, for step (e), if the code violation is of the first case, then the first correction bit of the left substring is defined as z(2+G) and the first correction bit of the right substring is defined as z(N−G); and if the code violation is of the second case, then the second and third correction bits of the left substring are defined as z(1) and z(2+G), respectively, and the second and third correction bits of the right substrings are defined as z(N+1) and z(N−G), respectively.
Claim 23
Dependent Claim
43 words
The method of encoding as recited in claim 17 , wherein for step (b), the code violation of the first case is a string of ((N/8)+1) consecutive values, and the code violation of the second case is a string of ((N/4)+2) consecutive values.
Claim 24
Dependent Claim
76 words
The method of encoding as recited in claim 20 , wherein, for step (g), the (N+1)-element codeword has the run-length constraints (d, G, l, r), d, l, and r being 0, N/8, and N/8, respectively, and wherein d is a minimum number of consecutive ones, G is a maximum number of consecutive zeros, and l and r are a maximum number of zeros at a left end and a right end of the N+1)-element codeword, respectively.
Claim 25
Dependent Claim
66 words
The method of encoding as recited in claim 17 , further comprising the steps of setting the middle pivot bit to a first value if the at least one of the left and right substrings contains a code violation; otherwise setting the middle pivot bit to a second value and providing the left and right substrings having the middle pivot bit inserted therebetween as the codeword.
Claim 26
Dependent Claim
20 words
The method of encoding as recited in claim 17 , wherein, for step b), the value for G is N/4+1.
Claim 27
Dependent Claim
80 words
The method of encoding as recited in claim 17 , further comprising the steps of: d) dividing an additional string of eight elements into left and right nibbles; and e) inserting one of the left and right nibbles adjacent to the first pivot bit of the left substring and the other one of the left and right nibbles adjacent to the first pivot bit of the right substring, thereby forming a new codeword having a new G constraint being (N/4)+5.
Claim 28
Dependent Claim
32 words
The method of encoding as recited in claim 17 , further comprising the steps of converting the sequence of codewords to a signal and providing to the signal to a physical medium.
Claim 29
Dependent Claim
34 words
The method of encoding as recited in claim 25 , wherein the physical medium is a storage medium, the method further comprising the step of storing the sequence of codewords in the storage medium.
Claim 30
Dependent Claim
40 words
The method of encoding as recited in claim 26 , wherein, for the step of storing the sequence of (N+1)-codewords, the storage medium is either a magnetic recording medium or a optical recording medium storing data generated by a computer.
Claim 31
Dependent Claim
48 words
The method of encoding as recited in claim 25 , wherein the physical medium is either a wired, wireless, or optical communications medium, the method further comprising the step of transmitting the signal corresponding to the sequence of codewords through either the wired, wireless, or optical communications medium.
Claim 32
Dependent Claim
43 words
The method of encoding as recited in claim 25 , wherein, for the step of converting the sequence of codewords into a signal, the signal representing the sequence of codewords has a greater transition density than a signal representing the sequence of datawords.
Claim 33
Dependent Claim
23 words
The method of encoding as recited in claim 25 , wherein the method provides the signal for increased signal-to-noise ratio to a detector.
Claim 34
Independent Claim
168 words
A method of decoding a sequence of codewords each having at least N+1 elements into a sequence of N-element datawords, the sequence of (N+1)-element codewords received as a signal from a storage or transmission media, the method comprising the steps of: a) detecting a middle pivot bit and first and second portions of the codeword, each portion adjacent to the middle pivot bit; b) generating the dataword from the first and second portions by: if the middle pivot bit is set to one value: b1) detecting a set of preserved bits for each portion and a pair of first and second pivot bits; b2) generating, for each portion, a substring from the set of preserved elements and, if a second pivot bit is detected in the portion, from at least one code violation defined by the second pivot bit; b3) combining each substring to form the dataword; otherwise, if the middle pivot bit is set to another value: b4) providing the first and second portions as the dataword.
Claim 35
Independent Claim
168 words
A method of decoding a sequence of codewords each having at least N+1 elements into a sequence of N-element datawords, the sequence of (N+1)-element codewords received as a signal from a storage or transmission media, the method comprising the steps of: a) detecting a middle pivot bit and first and second portions of the codeword, each portion adjacent to the middle pivot bit; b) generating the dataword from the first and second portions by: if the middle pivot bit is set to one value: b1) detecting a set of preserved bits for each portion and a pair of first and second pivot bits; b2) generating, for each portion, a substring from the set of preserved elements and, if a second pivot bit is detected in the portion, from at least one code violation defined by the second pivot bit; b3) combining each substring to form the dataword; otherwise, if the middle pivot bit is set to another value: b4) providing the first and second portions as the dataword.
Claim 36
Dependent Claim
355 words
The method of decoding as recited in claim 31 , wherein the codeword has been formed by the steps of: (1) dividing each dataword into left and right substrings by inserting a middle pivot bit therebetween; (2) determining whether each of the left and right substrings contains at least one code violation of a first or second case, wherein: the first case corresponds to a substring having only an end code violation in which the G constraint would be violated by two adjacent codewords having adjacent end code violations; and the second case corresponds to a substring having at least one G constraint violation within the substring; (3) if at least one of the left and right substrings has a code violation, then defining a first pivot bit for the left substring and a first pivot bit for the right substring, each first pivot bit adjacent to the middle pivot bit and the pair of first pivot bits indicating whether code violations exist in the left substring only, the right substring only, or both left and right substrings (4) if a substring has a code violation, then defining a second pivot bit for the substring, the second pivot bit indicating whether the code violation is of the first case or the second case; (5) if the code violation is of the first case, then setting the second pivot bit to correct the end code violation and defining and setting a first correction bit to prevent a violation of the G constraint resulting from setting the middle pivot bit and the first pivot bit of the substring; (6) if the code violation is of the second case, then defining and setting second correction bit to correct an end code violation and defining and setting a third correction bit to correct the violation of the G constraint within the substring; and (i) moving values of one or more elements overwritten by a pivot or correction bit to element positions corresponding to elements whose values are identified by the pivot bits as being part of a code violation, thereby generating the (N+1)-element codeword corresponding to the N-element dataword.
Claim 37
Dependent Claim
452 words
An integrated circuit including a circuit for encoding a sequence of N-element datawords into a sequence of codewords each having N+1 elements for storage or transmission such that the sequence of codewords satisfies a G constraint, wherein the G constraint corresponds to a maximum number of elements having the same value and G being (N/4)+1, the circuit comprising: a storage circuit, coupled to an input stream to receive each dataword, adapted to store each dataword as left and right substrings; a processor, coupled to the storage circuit, which determines whether each of the left and right substrings contains at least one code violation of either a first or second case, wherein: the first case corresponds to a substring having only an end code violation in which the G constraint would be violated by two adjacent codewords having adjacent end code violations; and the second case corresponds to a substring having at least one G constraint violation within the substring; an encoder circuit, coupled to the storage register, adapted to insert a middle pivot bit between the left and right substrings and adapted to encode the dataword into the codeword, wherein, if at least one of the left and right substrings has a code violation, the encoder circuit encodes by defining a first pivot bit for the left substring and a first pivot bit for the right substring, each first pivot bit adjacent to the middle pivot bit and the pair of first pivot bits indicating whether code violations exist in the left substring only, the right substring only, or both left and right substrings, and if a substring has a code violation, the encoder circuit defines a second pivot bit of the substring, the second pivot bit indicating whether the code violation is of the first case or the second case; and wherein the encoder circuit corrects each code violation by: (i) if the code violation is of the first case, then setting the second pivot bit to correct the end code violation and defining and setting a first correction bit to prevent a violation of the G constraint resulting from setting the middle pivot bit and the first pivot bit of the substring; (ii) if the code violation is of the second case, then defining and setting second correction bit to correct an end code violation and defining and setting a third correction bit to correct the violation of the G constraint within the substring; and (iii) moving values of one or more elements overwritten by a pivot or correction bit to element positions corresponding to elements whose values are identified by the pivot bits as being part of a code violation, thereby generating the codeword corresponding to the N-element dataword.
Claim 38
Dependent Claim
452 words
An integrated circuit including a circuit for encoding a sequence of N-element datawords into a sequence of codewords each having N+1 elements for storage or transmission such that the sequence of codewords satisfies a G constraint, wherein the G constraint corresponds to a maximum number of elements having the same value and G being (N/4)+1, the circuit comprising: a storage circuit, coupled to an input stream to receive each dataword, adapted to store each dataword as left and right substrings; a processor, coupled to the storage circuit, which determines whether each of the left and right substrings contains at least one code violation of either a first or second case, wherein: the first case corresponds to a substring having only an end code violation in which the G constraint would be violated by two adjacent codewords having adjacent end code violations; and the second case corresponds to a substring having at least one G constraint violation within the substring; an encoder circuit, coupled to the storage register, adapted to insert a middle pivot bit between the left and right substrings and adapted to encode the dataword into the codeword, wherein, if at least one of the left and right substrings has a code violation, the encoder circuit encodes by defining a first pivot bit for the left substring and a first pivot bit for the right substring, each first pivot bit adjacent to the middle pivot bit and the pair of first pivot bits indicating whether code violations exist in the left substring only, the right substring only, or both left and right substrings, and if a substring has a code violation, the encoder circuit defines a second pivot bit of the substring, the second pivot bit indicating whether the code violation is of the first case or the second case; and wherein the encoder circuit corrects each code violation by: (i) if the code violation is of the first case, then setting the second pivot bit to correct the end code violation and defining and setting a first correction bit to prevent a violation of the G constraint resulting from setting the middle pivot bit and the first pivot bit of the substring; (ii) if the code violation is of the second case, then defining and setting second correction bit to correct an end code violation and defining and setting a third correction bit to correct the violation of the G constraint within the substring; and (iii) moving values of one or more elements overwritten by a pivot or correction bit to element positions corresponding to elements whose values are identified by the pivot bits as being part of a code violation, thereby generating the codeword corresponding to the N-element dataword.
Claim 39
Dependent Claim
172 words
An integrated circuit including a circuit for decoding a sequence of (N+1)-element codewords into a sequence of N-element datawords, the sequence of (N+1)-element codewords received as a signal from a storage or transmission media, the decoder comprising: a processor adapted to detect a middle pivot bit and first and second portions of the codeword, each portion adjacent to the middle pivot bit; a logic circuit, coupled to the processor, adapted to generate the dataword from the first and second portions by: if the middle pivot bit is set to one value: 1) extracting a set of preserved bits and a first pivot bit for each portion; 2) generating, for each portion, a substring from the set of preserved elements and, if a second pivot bit is detected in the portion, from at least one code violation defined by the second pivot bit; 3) combining each substring to form the dataword; otherwise, if the middle pivot bit is set to another value, by: 4) providing the first and second portions as the dataword.
Claim 40
Dependent Claim
172 words
An integrated circuit including a circuit for decoding a sequence of (N+1)-element codewords into a sequence of N-element datawords, the sequence of (N+1)-element codewords received as a signal from a storage or transmission media, the decoder comprising: a processor adapted to detect a middle pivot bit and first and second portions of the codeword, each portion adjacent to the middle pivot bit; a logic circuit, coupled to the processor, adapted to generate the dataword from the first and second portions by: if the middle pivot bit is set to one value: 1) extracting a set of preserved bits and a first pivot bit for each portion; 2) generating, for each portion, a substring from the set of preserved elements and, if a second pivot bit is detected in the portion, from at least one code violation defined by the second pivot bit; 3) combining each substring to form the dataword; otherwise, if the middle pivot bit is set to another value, by: 4) providing the first and second portions as the dataword.
Claim 41
Dependent Claim
355 words
The invention as recited in claim 34 , wherein each (N+1)-element codeword has formed from the corresponding N-element dataword by: (i) dividing each dataword into left and right substrings by inserting a middle pivot bit therebetween; (ii) determining whether each of the left and right substrings contains at least one code violation of a first or second case, wherein: the first case corresponds to a substring having only an end code violation in which the G constraint would be violated by two adjacent codewords having adjacent end code violations; and the second case corresponds to a substring having at least one G constraint violation within the substring; (iii) if at least one of the left and right substrings has a code violation, then defining a first pivot bit for the left substring and a first pivot bit for the right substring, each first pivot bit adjacent to the middle pivot bit and the pair of first pivot bits indicating whether code violations exist in the left substring only, the right substring only, or both left and right substrings (iv) if a substring has a code violation, then defining a second pivot bit for the substring, the second pivot bit indicating whether the code violation is of the first case or the second case; (v) if the code violation is of the first case, then setting the second pivot bit to correct the end code violation and defining and setting a first correction bit to prevent a violation of the G constraint resulting from setting the middle pivot bit and the first pivot bit of the substring; (vi) if the code violation is of the second case, then defining and setting second correction bit to correct an end code violation and defining and setting a third correction bit to correct the violation of the G constraint within the substring; and (vii) moving values of one or more elements overwritten by a pivot or correction bit to element positions corresponding to elements whose values are identified by the pivot bits as being part of a code violation, thereby generating the (N+1)-element codeword corresponding to the N-element dataword.
Claim 42
Dependent Claim
416 words
A computer-readable medium having stored thereon a plurality of instructions, the plurality of instructions including instructions which, when executed by a processor, cause the processor to implement a method for encoding a sequence of N-element datawords into a sequence of (N+1)-element codewords for storage or transmission such that the sequence of codewords satisfies a G constraint, wherein the G constraint corresponds to a maximum number of elements having the same value and G being (N/4)+1, the method comprising the steps of: (a) dividing each dataword into left and right substrings by inserting a middle pivot bit therebetween; (b) determining whether each of the left and right substrings contains at least one code violation of a first or second case, wherein: the first case corresponds to a substring having only an end code violation in which the G constraint would be violated by two adjacent codewords having adjacent end code violations; and the second case corresponds to a substring having at least one G constraint violation within the substring; (c) if at least one of the left and right substrings has a code violation, then defining a first pivot bit for the left substring and a first pivot bit for the right substring, each first pivot bit adjacent to the middle pivot bit and the pair of first pivot bits indicating whether code violations exist in the left substring only, the right substring only, or both left and right substrings (d) if a substring has a code violation, then defining a second pivot bit for the substring, the second pivot bit indicating whether the code violation is of the first case or the second case; (e) if the code violation is of the first case, then setting the second pivot bit to correct the end code violation and defining and setting a first correction bit to prevent a violation of the G constraint resulting from setting the middle pivot bit and the first pivot bit of the substring; (f) if the code violation is of the second case, then defining and setting second correction bit to correct an end code violation and defining and setting a third correction bit to correct the violation of the G constraint within the substring; and (g) moving values of one or more elements overwritten by a pivot or correction bit to element positions corresponding to elements whose values are identified by the pivot bits as being part of a code violation, thereby generating the (N+1)-element codeword corresponding to the N-element dataword.
Claim 43
Dependent Claim
416 words
A computer-readable medium having stored thereon a plurality of instructions, the plurality of instructions including instructions which, when executed by a processor, cause the processor to implement a method for encoding a sequence of N-element datawords into a sequence of (N+1)-element codewords for storage or transmission such that the sequence of codewords satisfies a G constraint, wherein the G constraint corresponds to a maximum number of elements having the same value and G being (N/4)+1, the method comprising the steps of: (a) dividing each dataword into left and right substrings by inserting a middle pivot bit therebetween; (b) determining whether each of the left and right substrings contains at least one code violation of a first or second case, wherein: the first case corresponds to a substring having only an end code violation in which the G constraint would be violated by two adjacent codewords having adjacent end code violations; and the second case corresponds to a substring having at least one G constraint violation within the substring; (c) if at least one of the left and right substrings has a code violation, then defining a first pivot bit for the left substring and a first pivot bit for the right substring, each first pivot bit adjacent to the middle pivot bit and the pair of first pivot bits indicating whether code violations exist in the left substring only, the right substring only, or both left and right substrings (d) if a substring has a code violation, then defining a second pivot bit for the substring, the second pivot bit indicating whether the code violation is of the first case or the second case; (e) if the code violation is of the first case, then setting the second pivot bit to correct the end code violation and defining and setting a first correction bit to prevent a violation of the G constraint resulting from setting the middle pivot bit and the first pivot bit of the substring; (f) if the code violation is of the second case, then defining and setting second correction bit to correct an end code violation and defining and setting a third correction bit to correct the violation of the G constraint within the substring; and (g) moving values of one or more elements overwritten by a pivot or correction bit to element positions corresponding to elements whose values are identified by the pivot bits as being part of a code violation, thereby generating the (N+1)-element codeword corresponding to the N-element dataword.
Claim 44
Dependent Claim
171 words
A computer-readable medium having stored thereon a plurality of instructions, the plurality of instructions including instructions which, when executed by a processor, cause the processor to implement a method for decoding a sequence of (N+1)-element codewords recorded on a storage media into a sequence of N-element datawords, the method comprising the steps of: a) detecting a middle pivot bit and first and second portions of the codeword, each portion adjacent to the middle pivot bit; b) generating the dataword from the first and second portions by: if the middle pivot bit is set to one value: b1) detecting a set of preserved bits and a first pivot bit for each portion; b2) generating, for each portion, a substring from the set of preserved elements and from the at least one code violation defined by the pair of first and second pivot bits b3) combining each substring to form the dataword; otherwise, if the middle pivot bit is set to another value: b4) providing the first and second portions as the dataword.
Claim 45
Dependent Claim
171 words
A computer-readable medium having stored thereon a plurality of instructions, the plurality of instructions including instructions which, when executed by a processor, cause the processor to implement a method for decoding a sequence of (N+1)-element codewords recorded on a storage media into a sequence of N-element datawords, the method comprising the steps of: a) detecting a middle pivot bit and first and second portions of the codeword, each portion adjacent to the middle pivot bit; b) generating the dataword from the first and second portions by: if the middle pivot bit is set to one value: b1) detecting a set of preserved bits and a first pivot bit for each portion; b2) generating, for each portion, a substring from the set of preserved elements and from the at least one code violation defined by the pair of first and second pivot bits b3) combining each substring to form the dataword; otherwise, if the middle pivot bit is set to another value: b4) providing the first and second portions as the dataword.
Claim 46
Dependent Claim
356 words
The computer-readable medium as recited in claim 37 , wherein the codeword is formed by a method comprising the steps of: (c) dividing each dataword into left and right substrings by inserting a middle pivot bit therebetween; (d) determining whether each of the left and right substrings contains at least one code violation of a first or second case, wherein: the first case corresponds to a substring having only an end code violation in which the G constraint would be violated by two adjacent codewords having adjacent end code violations; and the second case corresponds to a substring having at least one G constraint violation within the substring; (e) if at least one of the left and right substrings has a code violation, then defining a first pivot bit for the left substring and a first pivot bit for the right substring, each first pivot bit adjacent to the middle pivot bit and the pair of first pivot bits indicating whether code violations exist in the left substring only, the right substring only, or both left and right substrings (f) if a substring has a code violation, then defining a second pivot bit for the substring, the second pivot bit indicating whether the code violation is of the first case or the second case; (g) if the code violation is of the first case, then setting the second pivot bit to correct the end code violation and defining and setting a first correction bit to prevent a violation of the G constraint resulting from setting the middle pivot bit and the first pivot bit of the substring; (h) if the code violation is of the second case, then defining and setting second correction bit to correct an end code violation and defining and setting a third correction bit to correct the violation of the G constraint within the substring; and (i) moving values of one or more elements overwritten by a pivot or correction bit to element positions corresponding to elements whose values are identified by the pivot bits as being part of a code violation, thereby generating the (N+1)-element codeword corresponding to the N-element dataword.