Patent US6204781B1 successfully refreshed from Google Patents.
← Back to Patent Explorer
US6204781B1 Expired / Lapsed US ⏱️ 0.0 years remaining

General rate N/(N+1) (0, G) code construction for data coding

Assignee: Biolitec Pharma Marketing Ltd
•
Filing: 1999-03-18
•
Granted: 2001-03-20
•
Expires: 2019-03-18
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A general rate N/(N+1) (0, G), code construction, e.g., for a magnetic recording system, allows for encoding or decoding of a dataword having N elements, N preferably being an integer multiple of eight. The dataword is divided into N/8 bytes of binary data that are encoded as a run-length limited (RLL) codeword in accordance with the general rate N/(N+1) (0, G) code construction. The general rate N/(N+1) (0, G) code construction is characterized by the constraints (d=0, G=(N/4)+1, l=N/8, r=N/8). the N/(N+1) (0 (N/4)+1, N/8, N/8) RLL codeword is constructed from the dataword in accordance with 1) pivot bits identifying code violations related to the constraints, 2) correction bits set to correct code violations, and 3) preserved elements having values not included in the code violations. The corrections by correction bits correspond to corrections of predefined code violations that limit the number of consecutive zeros received by, for example, a magnetic record channel to (N/4)+1. The codewords generated in accordance with the general rate N/(N+1) (0, G) code construction may exhibit a high transition density. The high transition density allows for more frequent timing and gain control updates, and so results in lower required channel input signal to noise ratio for a given level of magnetic recording channel performance.

Inventors

  • 👤 Pervez M. Aziz
  • 👤 Ian M. Hughes
  • 👤 Patrick W. Kempsey
  • 👤 Srinivasan Surendran

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 21:07
CPC Classifications
H; H03; H03M; H03M7/00; H03M7/30; H03M7/46; G; G06; G06T; G06T9/00; G06T9/005

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.

References Cited (Backward Citations)

US4486739A Cited
US4707681A Cited
US5260703A Cited
US5537112A Cited
US5635933A Cited
US5604497A Cited
US6046691A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2004-03-19 2004-09-18 2005-03-20 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2008-03-19 2008-09-18 2009-03-20 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2012-03-19 2012-09-18 2013-03-20 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag