Claims
- 1. A code word, comprising:
a first group of data bits; and code bits that represent a second group of data bits.
- 2. The code word of claim 1 wherein the number of code bits is greater than the number of data bits in the second group.
- 3. The code word of claim 1, further comprising a minimum probability of transitions among the code bits.
- 4. A code word, comprising:
an uncoded portion that includes a first group of data bits; and a coded portion that represents second and third groups of data bits.
- 5. The code word of claim 4 wherein:
the uncoded portion includes a non-return-to-zero sequence of the first group of data bits; and the coded portion includes a non-return-to-zero sequence of code bits.
- 6. The code word of claim 4 wherein:
the uncoded portion includes a non-return-to-zero-interleave sequence of the first group of data bits; and the coded portion includes a non-return-to-zero-interleave sequence of code bits.
- 7. The code word of claim 4 wherein:
the second group includes a first number of data bits; the third group includes a second number of data bits; and the coded portion includes a number of code bits that is greater than the sum of the first and second numbers.
- 8. The code word of claim 4 wherein the coded portion comprises first and second sections of code bits, the coded portion structured such that an erroneous code bit in the first section causes no decoding error with respect to the second group of data bits and such that an erroneous code bit in the second section causes no decoding error with respect to the third group of data bits.
- 9. A code word, comprising:
a first byte of data bits; and code bits that represent second and third bytes of data bits.
- 10. The code word of claim 9, further comprising seventeen of the code bits.
- 11. The code word of claim 9, further comprising:
seventeen of the code bits; a first code-bit transition within the first three of the seventeen code bits; a second code-bit transition within the eleven code bits following the first three code bits; and a third code-bit transition within the last three code bits.
- 12. The code word of claim 9, further comprising:
seventeen of the code bits; and no more than seven code-bit transitions within the seventeen code bits.
- 13. A code word for storage on a magnetic storage media, the code word comprising:
code bits that represent a group of data bits; and a parity bit.
- 14. The code word of claim 13 wherein the parity bit provides parity with respect to a non-return-to-zero sequence of the code bits.
- 15. A code word, comprising:
an uncoded portion that includes a first group of data bits; a coded portion that represents a second group of data bits; and a parity bit.
- 16. The code word of claim 15 wherein:
the uncoded portion includes a non-return-to-zero sequence of the first group of data bits; the coded portion includes a non-return-to-zero sequence of code bits; and the parity bit provides parity with respect to the non-return-to-zero sequences of the first group of data bits and the code bits.
- 17. The code word of claim 15 wherein:
the uncoded portion includes a non-return-to-zero-interleave sequence of the first group of data bits; the coded portion includes a non-return-to-zero-interleave sequence of code bits; and the parity bit provides parity with respect to non-return-to-zero sequences of the first group of data bits and the code bits.
- 18. An encoder for encoding data, the encoder operable to generate a code word comprising:
a first group of data bits; and code bits that represent a second group of data bits.
- 19. The encoder of claim 18 wherein:
the second group includes a number of data bits; and the coded portion includes a number of code bits that is greater than the number of data bits.
- 20. The encoder of claim 18, further operable to generate the code word comprising a minimum probability of transitions among the code bits.
- 21. The encoder of claim 18, further operable to generate the code word comprising a non-return-to-zero-interleave sequence of the first group of data bits and the code bits.
- 22. The encoder of claim 18 wherein:
the first group of data bits comprises a first byte of data bits; and the second group of data bits comprises second and third bytes of data bits.
- 23. The encoder of claim 18, further operable to generate the code word comprising seventeen code bits.
- 24. The encoder of claim 18, further operable to generate the code word comprising:
a sequence of seventeen code bits that represents the second group of data bits; a first code-bit transition within the three code bits at the beginning of the sequence; a second code-bit transition within the eleven code bits in the middle of the sequence; and a third code-bit transition within the three code bits at the end of the sequence.
- 25. The encoder of claim 18, further operable to generate the code word comprising:
seventeen code bits; and no more than seven code-bit transitions within the seventeen code bits.
- 26. The encoder of claim 18, further operable to generate the code word comprising a parity bit.
- 27. The encoder of claim 18, further operable to generate the code word comprising:
a non-return-to-zero-interleave sequence of the first group of data bits and the code bits; and a parity bit that provides parity with respect to a non-return-to-zero sequence of the first group of data bits and the code bits.
- 28. A decoder operable to decode a code word comprising:
a first group of data bits; and code bits that represent a second group of data bits.
- 29. The decoder of claim 28 wherein:
the second group includes a number of data bits; and the coded portion includes a number of code bits that is greater than the number of data bits.
- 30. The decoder of claim 28 wherein the code word comprises a minimum probability of transitions among the code bits.
- 31. The decoder of claim 28 wherein the code word comprises a non-return-to-zero-interleave sequence of the first group of data bits and the code bits.
- 32. The decoder of claim 28 wherein:
the first group of data bits comprises a first byte of data bits; and the second group of data bits comprises second and third bytes of data bits.
- 33. The decoder of claim 28, further operable to generate the code word comprising seventeen code bits.
- 34. The decoder of claim 28 wherein the code word comprising:
a sequence of seventeen code bits that represents the second group of data bits; a first code-bit transition within the three code bits at the beginning of the sequence; a second code-bit transition within the eleven code bits in the middle of the sequence; and a third code-bit transition within the three code bits at the end of the sequence.
- 35. The decoder of claim 28 wherein the code word comprises:
seventeen code bits; and no more than seven code-bit transitions within the seventeen code bits.
- 36. The decoder of claim 28 wherein the code word comprises a parity bit.
- 37. The decoder of claim 28 wherein the code word comprises:
a non-return-to-zero-interleave sequence of the first group of data bits and the code bits; and a parity bit that provides parity with respect to a non-return-to-zero sequence of the first group of data bits and the code bits.
- 38. A disk-drive system, comprising:
a data-storage disk having a surface; a motor coupled to and operable to rotate the disk; an encoder for encoding data to be stored on the disk, the encoder operable to generate code words that each include,
a respective first group of data bits, and respective code bits that represent a second group of data bits; a write head coupled to the encoder and operable to write the code words onto the disk; and a write-head positioning assembly operable to move the write head over the surface of the disk.
- 39. The disk-drive system of claim 38, further comprising:
the encoder operable to generate a non-return-to-zero-interleave sequence of the code words; and a pre-coder coupled between the encoder and the write head and operable to convert the non-return-to-zero-interleave sequence of code words into a non-return-to-zero sequence of the code words.
- 40. The disk-drive system of claim 38 wherein the encoder is further operable to generate the code words each including a respective parity bit.
- 41. A disk-drive system, comprising:
a data-storage disk having a surface and operable to store code words, each code word including,
a respective first group of data bits, and respective code bits that represent a second group of data bits; a motor coupled to and operable to rotate the disk; a read head operable to read the code words from the disk; a read-head positioning assembly operable to move the read head over the surface of the disk; and a decoder coupled to the read head and operable to decode the code words read from the disk.
- 42. The disk-drive system of claim 41, further comprising:
the data-storage disk operable to store a non-return-to-zero sequence of the code words; and a post-coder coupled between the decoder and the read head and operable to convert the non-return-to-zero sequence of code words into a non-return-to-zero-interleave sequence of the code words.
- 43. The disk-drive system of claim 41 wherein each of the code words includes a respective parity bit.
- 44. A method, comprising:
encoding a first set of data bits; and combining the encoded first set of data bits and an unencoded second set of data bits to form a code word.
- 45. The method of claim 44 wherein:
the encoding comprises generating code bits that represent the first set of data bits; and the combining comprises combining the code bits with the unencoded second set of data bits to generate the code word.
- 46. The method of claim 44 wherein the encoding comprises generating code bits that represent the first set of data bits, the number of code bits greater than the number of data bits in the first set.
- 47. The method of claim 44 wherein:
the encoding comprises encoding the first set of data bits as a first non-return-to-zero sequence; and the combining comprises combining the first non-return-to-zero sequence with an uncoded non-return-to-zero sequence of the second set of data bits to form the code word.
- 48. The method of claim 44 wherein:
the encoding comprises encoding the first set of data bits as a first non-return-to-zero-interleave sequence; and the combining comprises combining the first non-return-to-zero-interleave sequence with an uncoded non-return-to-zero-interleave sequence of the second set of data bits to form the code word.
- 49. A method, comprising:
encoding data bits; generating a parity bit for the encoded data bits; and storing the encoded data bits and the parity bit on a magnetic storage medium.
- 50. The method of claim 49 wherein:
the encoding comprises encoding the data bits as a non-return-to-zero-interleave sequence of code bits; and the generating comprises generating the parity bit to provide parity with respect to a non-return-to-zero sequence of the code bits.
- 51. The method of claim 49, further comprising:
the encoding comprising encoding the data bits as a non-return-to-zero-interleave sequence of code bits; the generating comprising generating the parity bit as a non-return-to-zero-interleave parity bit that provides parity with respect to a non-return-to-zero sequence of the code bits; and converting the non-return-to-zero-interleave sequence of code bits and the non-return-to-zero-interleave parity bit into the non-return-to-zero sequence of the code bits and a non-return-to-zero parity bit.
- 52. A method, comprising:
generating code bits; summing the code bits in every other bit position; and generating a parity bit equal to the sum.
- 53. The method of claim 52 wherein:
the generating comprises generating a non-return-to-zero-interleave sequence of the code bits; and the summing comprises summing the bit values in every other bit position starting with the second bit position.
- 54. The method of claim 52, further comprising converting the code bits and the parity bit into a non-return-to-zero sequence.
- 55. The method of claim 52, further comprising storing the code bits and the parity bit on a magnetic storage medium.
- 56. A method for selecting code words from a group of code words, each selected code word representing a respective set of data bits and having a number of code bits that is greater than the number of data bits in the respective set of data bits, the method comprising:
selecting from the group of code words a first subgroup of code words that each have a desired bit transition; and selecting from the first subgroup of code words a second subgroup of code words that have the fewest bit transitions.
- 57. The method of claim 52 wherein the selecting the first subgroup comprises selecting a first subgroup of code words that each have respective bit transitions within the first three bits and within the last three bits.
- 58. The method of claim 52, further comprising selecting from the second subgroup of code words a third subgroup of code words being the least probable to cause a multi-byte read error.
- 59. A method, comprising:
generating a first portion of a data word from a set of data bits; and generating a second portion of the data word from a set of code bits.
- 60. The method of claim 59 wherein generating the first portion of the data word comprises setting the first portion equal to the set of data bits.
- 61. The method of claim 59 wherein generating the second portion of the data word comprises decoding the code bits.
- 62. The method of claim 59 wherein the number of code bits in the set of code bits exceeds the number of data bits in the set of data bits.
- 63. The method of claim 59 wherein:
the set of data bits comprises a non-return-to-zero-interleave sequence of data bits; and the set of code bits comprises a non-return-to-zero-interleave sequence of code bits.
- 64. The method of claim 59 wherein:
the set of data bits includes eight data bits; and the generating the first portion of the data word comprises generating the first portion having eight data bits.
- 65. The method of claim 59 wherein:
the set of data bits includes eight data bits; and the generating the first portion of the data word comprises generating the first portion having the eight data bits from the set of data bits.
- 66. The method of claim 59 wherein:
the set of code bits includes seventeen code bits; and the generating the second portion of the data word comprises generating the second portion having sixteen data bits.
- 67. The method of claim 59, further comprising checking the parity of the data word.
- 68. The method of claim 59, further comprising:
receiving a parity bit; and using the parity bit to check the parity of the data word.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is related to U.S. patent app. entitled PARITY-SENSITIVE VITERBI DETECTOR AND METHOD FOR RECOVERING INFORMATION FROM A READ SIGNAL, Attorney Docket No. 98-S-176 (1678-6), and U.S. patent app. entitled CIRCUIT AND METHOD FOR RECOVERING SYNCHRONIZATION INFORMATION FROM A SIGNAL, Attorney Docket No. 98-S-177 (1678-7), which have the same filing date as the present application and which are incorporated by reference.
Divisions (1)
|
Number |
Date |
Country |
Parent |
09410276 |
Sep 1999 |
US |
Child |
10295411 |
Nov 2002 |
US |