WO1998044633A2 - Maximum transition run length code - Google Patents

Maximum transition run length code Download PDF

Info

Publication number
WO1998044633A2
WO1998044633A2 PCT/US1998/006289 US9806289W WO9844633A2 WO 1998044633 A2 WO1998044633 A2 WO 1998044633A2 US 9806289 W US9806289 W US 9806289W WO 9844633 A2 WO9844633 A2 WO 9844633A2
Authority
WO
WIPO (PCT)
Prior art keywords
code
word
odd
maximum transition
transition run
Prior art date
Application number
PCT/US1998/006289
Other languages
French (fr)
Other versions
WO1998044633A3 (en
Inventor
Kinhing P. Tsang
Bernardo Rub
Original Assignee
Seagate Technology, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seagate Technology, Inc. filed Critical Seagate Technology, Inc.
Priority to GB9923044A priority Critical patent/GB2338629B/en
Priority to JP54191698A priority patent/JP2001518253A/en
Priority to KR1019997008982A priority patent/KR20010005905A/en
Priority to DE19882278T priority patent/DE19882278T1/en
Publication of WO1998044633A2 publication Critical patent/WO1998044633A2/en
Publication of WO1998044633A3 publication Critical patent/WO1998044633A3/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/46Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/14Digital recording or reproducing using self-clocking codes
    • G11B20/1403Digital recording or reproducing using self-clocking codes characterised by the use of two levels
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits
    • H03M5/02Conversion to or from representation by pulses
    • H03M5/04Conversion to or from representation by pulses the pulses having two levels
    • H03M5/14Code representation, e.g. transition, for a given bit cell depending on the information in one or more adjacent bit cells, e.g. delay modulation code, double density code

Definitions

  • the present invention relates to encoding systems.
  • the present invention relates to encoding systems in disc drives.
  • Channel is a generalized term that can include many things.
  • the channel consists of the atmosphere between the earth-bound transmitter and the satellite.
  • data storage devices such as magnetic disc drives, the channel includes a storage medium where the signal is stored for some period of time before being delivered to the receiver.
  • the ratio of the number of data bits to the number of code bits, m/n, is known as the code rate of the code.
  • the ability to detect and correct errors in a received signal increases as the code rate decreases because a lower code rate means a greater number of additional bits in the code word.
  • each additional bit added by the encoder increases the time and energy needed to transmit the signal through the channel.
  • the code rate should be maximized.
  • a lower code rate results in more bit crowding, which reduces error rate performance.
  • every digital one in a code word is represented by a transition in the transmitted signal, and every digital zero is represented by a lack of transitions in the transmitted signal.
  • the encoded signal is generally limited so that the number of consecutive zeros is no greater than a maximum number "k".
  • This kind of code is known as a run-length-limited (RLL) code with a "k" constraint. It is also known to limit the number of consecutive ones in an encoded value to limit the effects of inter-symbol interference, which occurs when consecutive transitions in the transmitted signal interfere with each other.
  • RLL run-length-limited
  • MTR codes reduce inter-symbol interference, they eliminate a large number of available code words making it difficult and sometimes impossible to implement MTR constraints with high rate. codes. MTR codes improve the bit-error rate by eliminating the most error prone patterns, which in turn limits the code rate achievable with a given MTR constraint .
  • the present invention addresses this and other problems, and offers other advantages over the prior art.
  • a method and apparatus for encoding data produces a code stream of code words, where each code word includes two subsets of code bits. Each subset of code bits is constrained by a different maximum transition run constraint.
  • the method and apparatus produces a code stream comprised of alternating even bit locations and odd bit locations, where the even bit locations are constrained by a different maximum run length constraint than the odd bit locations.
  • even bit locations within the code stream have a maximum transition run constraint of three and odd bit locations within the code stream have a maximum transition run constraint of two.
  • the code stream is formed through a series of concatenated even and odd code words.
  • Even code words within the code stream have maximum transition run constraints of two for the code words ' odd bit locations and three for the code words ' even bit locations.
  • the maximum transition run constraints are two for the code words ' even bit locations and three for the code words ' odd bit locations .
  • FIG. 1 is a plan view of a disc drive.
  • FIG. 2 is a block diagram of a coding system of the present invention.
  • FIG. 3 is an organizational layout of an encoded stream showing the numbering and naming convention used with the present invention.
  • FIG. 4 is a state diagram for the code of the present invention.
  • FIG. 1 is a plan view of a disc drive 100 that includes a housing with a base plate 102 and a top cover 104 (sections of top cover 104 are removed for clarity) .
  • Disc drive 100 further includes a disc pack 106, which is mounted on a spindle motor (not shown).
  • Disc pack 106 can include a plurality of individual discs which are mounted for co-rotation about a central axis.
  • Each disc surface has an associated head gimbal assembly (HGA) 112 which is mounted to disc drive 100 for communication with the disc surface.
  • HGA 112 includes a gimbal and a slider, which carries one or more read and write heads.
  • Each HGA 112 is supported by a suspension 118 which is in turn attached to a track accessing arm 120 known generally as a fixture, of an actuator assembly 122.
  • Actuator assembly 122 is rotated about a shaft 126 by a voice coil motor 124, which is controlled by servo control circuitry within internal circuit 128.
  • HGA 112 travels in an arcuate path 130 between a disc inner diameter 132 and a disc outer diameter 134.
  • write circuitry within internal circuitry 128 encodes, data for storage on the disc and sends an encoded signal to the head in HGA 112, which writes the information to the disc.
  • the read head in HGA 112 reads stored information from the disc and provide a recovered signal to detector circuitry and decoder circuitry within internal circuitry 128 to produce a recovered data signal.
  • FIG. 2 is a block diagram of a generalized communication system 148 used with the present invention.
  • communication system 148 is formed by internal logic 128, head gimbal assembly 112 and disc 106.
  • an encoder 150 receives data samples 152 and produces a even and odd code words ' 153.
  • Even and odd code words 153 are provided to parallel-to-serial converter 155 in a parallel manner such that all of the bits of a respective code word are provided to converter 155 at the same time.
  • Parallel-to-serial converter 155 converts each parallel code word of even and odd code words 153 into a serial representation and concatenates the serial representations to produce a sequence of even and odd bits 154.
  • Transmitter/channel precoder 156 receives the sequence of even and odd bits 154 and conditions the sequence so that it is optimized for the type of detector used to recover the signal from the channel. Transmitter/channel precoder 156 produces write signal 158, which is provided to channel 160.
  • Channel 160 which is comprised of a write head, a disc, and a read head when the communication system is a disc drive, conveys the encoded information from transmitter/precoder 156 to receiver/detector 162 as a read signal 164.
  • Receiver/detector 162 amplifies and filters read signal 164 and recovers an encoded signal from the read signal using one of several known detection methods. For instance, receiver/detector 162 may use a Viterbi detector, Decision Feedback Equalization (DFE), Fixed-Delay Tree Search with DFE.
  • DFE Decision Feedback Equalization
  • receiver/detector 162 After detecting and amplifying the signal from channel 160, receiver/detector 162 produces a recovered sequence of even and odd bits 165, which are provided to serial-to-parallel converter 163. The sequence of even and odd bits 165 is in a serial format at the input to serial-to-parallel converter 163.
  • Serial-to-parallel converter 163 groups the bits into code words and converts the code words from a serial format to a parallel format. Serial-to-parallel converter 163 then outputs even and odd code words 166 in a parallel format. The even and odd code words 166 are provided to decoder 168. Decoder 168 uses the inverse of the coding rules used by encoder 150 and converts the even and odd code words 166 into recovered data stream 170.
  • FIG. 3 shows an organizational layout for a code stream 178 of bits that is helpful in describing the numbering and naming system used in connection with the present invention.
  • Code stream 178 is an example of the type of bit stream that can appear as the sequence of even and odd bits 154 or the sequence of even and odd bits 165 of FIG. 2.
  • the first bit in time is to the far left and later bits in time extend to the right.
  • code stream 178 is number line 176, which assigns an integer to each bit in code stream 178 based on its overall location within the entire code stream. Under the present invention's numbering system, the first bit is numbered as bit zero, the second bit is bit one and so on. Above number line 176 is even/odd line 174, which provides an "E" designation for each even bit in code stream 178 and an "0" designation for each odd bit in code stream 178. The "E" and "0” designation is vertically aligned with its respective bit in code stream 178.
  • code-word-bit numbering line 177 assigns an integer for each bit corresponding to the bit ' s location within a code word.
  • each code word has 9 bit locations numbered 0 to 8.
  • code-word count 180 which associates a number with each grouping of nine bits in code stream 178.
  • the first nine bits form code word zero
  • the second nine bits form code word one
  • the third nine bits form code word two.
  • Vertically aligned with code-word count 180 is even/odd code word line 182 which provides an "E" designation for each even code word in code stream 178 and an "O" designation for each odd code word.
  • Code bits 184, 186, and 188 provide examples of the numbering and even/odd designations of the present invention.
  • Code bit 184 is the fifth bit in code stream 178 and is assigned an overall numerical value of 4 in number line 176.
  • Code bit 184 is also the fifth bit in the first code word, and thus is assigned a code-word-bit number of 4 in code-word-bit numbering line 177.
  • Code bit 184 is designated as an even bit in both even/odd line 174 and code word even/odd line 175.
  • Code bit 184 is part of the first code word 190, which is numbered code word zero in code word count 180 and which is designated as an even code word in even/odd code word line 182.
  • Bit 186 is the twentieth bit in code stream 178, has a numerical value of nineteen in the code stream and is considered an odd bit overall as shown in even/odd line 174. Although it is the twentieth bit overall, bit 186 is only the second bit in code word 194, and as such, has a code-word-bit number of 1 in code-word-bit numbering line 177. This means that it is an odd code bit within code word 194, as shown in code word even/odd line 175. Code word 194 has a numerical value of two and is considered an even code word.
  • Bit 188 which is the thirteenth bit in code stream 178 has an overall numerical value of twelve in numbering line 176 and is considered an even bit overall. Although bit 188 is the thirteenth bit overall, it is only the fourth bit in code word 192. As the fourth bit in code word 192, bit 188 has a codeword-bit number of 3 in code-word-bit numbering line 177, and is considered an odd bit within the code word. Thus, although bit 188 is an even bit overall, it is an odd bit within code word 192.
  • the code of the present invention provides a rate 8/9 code with location dependent maximum transition run constraints.
  • the 356 code words are mapped into a two-state system where an individual code word does not appear in more than one state but can appear twice within the same state.
  • the two-state coding system is in one of the two states, state SO or state SI.
  • Each data word has an associated code word and next state value in both state SO and SI.
  • the code word is the value produced by encoder 150 and the next state value determines what state the two-state system will be in when the next data word arrives.
  • the assignment of code words to particular states and the movement between states is partially controlled by two state definitions.
  • the first state definition is that all code words in state
  • the second state definition restricts code words that precede state SO to those that end with '0 ' . Under this definition, any code word ending with a '0' may be used before state SO .
  • the mapping for an 8/9 rate MTR code with local constraints can be derived. Such a mapping is shown in
  • Table 1 where the nine-bit code words are represented by two hexadecimal values in the two right most locations and a single binary value in the left most location.
  • the eight bit data words are represented by two hexadecimal values .
  • the decoder must determine the state of the next code word to decode the present code word. For example, if code word "120" is received, and the decoder is in state SO, the code word represent either data word "50" or data word "70". The decoder must determine which state the next code word belongs to before it can determine what data word the code word "120" represents. If the next code word is from state SO, "70” will be the decoded output, otherwise "50” will be the decoded output.
  • the detector In order for a detector to identify code words that violate the MTR constraint and thus contain an error, the detector must keep track of whether it has an odd numbered code word or an even numbered code word. Since there are nine bits in each code words, if the decoder did not keep track of even and odd code words but merely kept track of whether it had an even or odd bit overall, the tenth received bit would considered an odd bit overall. However, since the tenth received bit is the first bit of the second code word, it is an even bit within that code word. Therefore, in order to properly track even and odd locations within code words, the detector must be complex enough to keep track of even and odd code words in addition to keeping track of even and odd bits within code words.
  • the present invention provides an alternate rate 8/9 code word mapping.
  • an MTR code is formed that provides universal MTR constraints of two for odd bit locations and three for even bit locations counting from the beginning of the code stream.
  • the decoder does not have to keep track of whether the current code word is in an even temporal location or an odd temporal location. It only has to keep track of the overall temporal location of the bits .
  • the four states for one group of code words shares common state definitions with the four states for the other group of code words .
  • Code words in states SO or SI can begin with any two bits including "11” so code words preceding state SO or state SI must end with "0".
  • the code words in state S2 or state S3 may only begin with “10” so code words preceding state S2 or state S3 must end with "00” or "01”.
  • Code words in states S4, S5, S6, and S7 only begin with "0” so any code word may proceed these states .
  • the 356 code words that satisfy the MTR constraint of three for temporally even bit positions and two for temporally odd bit positions are divided between states SO, S2, S4, and S6.
  • the 317 code words that satisfy the MTR constraint of three for temporally odd bit positions and two for temporally even bit positions are divided between states SI, S3, S5, and S7. Note that many code words satisfy both constraints and thus are found in more than one state. However, code words found in even numbered states such as SO, S2, S4, or S6 are not found in another even numbered state. Similarly, a single code word does not appear in two different odd numbered states (SI, S3, S5, or S7).
  • code words found in an even numbered state can be found in an odd numbered state.
  • code words may be repeated within a state.
  • states SO, S2, S4 or S6 must be an odd numbered state, states SI, S3, S5, or S7.
  • the next state for any odd numbered state must be an even numbered state.
  • Table 2 An encoding/decoding table for a code based on these eight states is shown in Table 2 below.
  • "NS" in the headers indicates the next state for the encoder/decoder.
  • the code words of these tables are described in a modified hexadecimal format where the two right-most character locations are described by hexadecimal characters and the left-most character location is described by a binary value.
  • FIG. 4 shows a state diagram for the present invention ' s universal MTR code of three for even bit locations and two for odd bit locations.
  • State 200 represents the initial state of the encoder/decoder, which is an even bit location. If the bit associated with state 200 is '0', the code moves to state 201, which is an odd bit location. If the bit associated with state 201 is '0', the code returns to state 200. If the associated bit is ' 1', the code advances to state 202. State 202 is associated with an even bit location and if that bit location contains a '0 ' , the code returns to state 201. If the bit location contains a '1', the code moves to state 203, which is associated with an odd bit location. Since state 203 only occurs after two consecutive ones beginning from an odd bit location, the bit associated with state 203 must be '0', causing the code to return to state 200.
  • bit associated with state 200 If the bit associated with state 200 is '1', the code goes to state 205, which is associated with an odd bit location. If the value of the bit associated with state 205 is '0', the code returns to state 200. If the value of the bit associated with state 205 is '1', the code moves to state 206, which is associated with an even location. A '0' in the even bit location of state 206 moves the code to state 201. A ' 1' in the even bit location associated with state 206 moves the code to state 207. Since state 207 is associated with three consecutive ones beginning from an even bit location, the MTR constraint of three for even bit locations requires that the bit associated with the odd location of state 207 be '0' and the code returns to state 200.
  • the present invention provides a method and apparatus for producing a code stream 158.
  • the coding system includes an encoder 150 capable of converting data values 152 into a series of code symbols 154 in alternating even 188 and odd 186 locations, such that fewer than a first maximum transition run limit of consecutive same first code symbols start from any even bit location 188 and fewer than a second number of consecutive same first symbols start from any odd bit location 186.
  • the coding system further includes a transmitter 156 coupled to encoder 150 and to channel 160 and capable of transmitting an . encoded signal based on the series of code symbols 154.

Abstract

A method and apparatus for encoding data (152) produces a code stream (153) of code words (190, 192, 194) where each code word includes two subsets of code bits. Each subset of code bits is constrained by a different maximum transition run constraint. In an alternative embodiment, the method and apparatus produces a code stream (153) comprised of alternating even bit locations (188) and odd bit locations (186), where the even bit locations are constrained by a different maximum run length constraint than the odd bit locations.

Description

SYSTEM AND SCHEME FOR MAXIMUM TRANSITION RUN LENGTH CODES WITH LOCATION DEPENDENT
CONSTRAINTS
FIELD OF THE INVENTION The present invention relates to encoding systems. In particular, the present invention relates to encoding systems in disc drives.
BACKGROUND OF THE INVENTION In the field of digital communications, digital information is conveyed from a transmitter to a receiver through a channel. "Channel" is a generalized term that can include many things. For instance, in satellite communication systems, the channel consists of the atmosphere between the earth-bound transmitter and the satellite. In data storage devices, such as magnetic disc drives, the channel includes a storage medium where the signal is stored for some period of time before being delivered to the receiver.
All channels introduce noise into the signals they convey. To detect and sometimes to correct signal errors caused by this channel noise, the art has developed a large number of coding techniques . These coding techniques convert data words formed of a number of data bits, , into larger code words formed of a number of code bits, n. The additional bits in the code words permit the detection and sometimes the correction of errors in the signals received from the channel .
The ratio of the number of data bits to the number of code bits, m/n, is known as the code rate of the code. In general, the ability to detect and correct errors in a received signal increases as the code rate decreases because a lower code rate means a greater number of additional bits in the code word. However, each additional bit added by the encoder increases the time and energy needed to transmit the signal through the channel. Thus, to minimize the time and energy needed to send the code, the code rate should be maximized. A lower code rate results in more bit crowding, which reduces error rate performance.
In one type of coding, known as non-return- to-zero-inverse (NRZI), every digital one in a code word is represented by a transition in the transmitted signal, and every digital zero is represented by a lack of transitions in the transmitted signal. To allow the receiver to generate a clock signal using a phase lock loop and the received signal, the encoded signal is generally limited so that the number of consecutive zeros is no greater than a maximum number "k". This kind of code is known as a run-length-limited (RLL) code with a "k" constraint. It is also known to limit the number of consecutive ones in an encoded value to limit the effects of inter-symbol interference, which occurs when consecutive transitions in the transmitted signal interfere with each other. Such codes are known as maximum transition run (MTR) codes with an "L" constraint, where L is the maximum number of consecutive transitions allowed in the channel signal. For example, to avoid three or more consecutive transitions, codes with an MTR constraint L=2 can be designed.
Although MTR codes reduce inter-symbol interference, they eliminate a large number of available code words making it difficult and sometimes impossible to implement MTR constraints with high rate. codes. MTR codes improve the bit-error rate by eliminating the most error prone patterns, which in turn limits the code rate achievable with a given MTR constraint .
The present invention addresses this and other problems, and offers other advantages over the prior art.
SUMMARY OF THE INVENTION
A method and apparatus for encoding data produces a code stream of code words, where each code word includes two subsets of code bits. Each subset of code bits is constrained by a different maximum transition run constraint.
In an alternative embodiment, the method and apparatus produces a code stream comprised of alternating even bit locations and odd bit locations, where the even bit locations are constrained by a different maximum run length constraint than the odd bit locations. In preferred embodiments, even bit locations within the code stream have a maximum transition run constraint of three and odd bit locations within the code stream have a maximum transition run constraint of two.
In further embodiments of the present invention, the code stream is formed through a series of concatenated even and odd code words. Even code words within the code stream have maximum transition run constraints of two for the code words ' odd bit locations and three for the code words ' even bit locations. For odd code words, the maximum transition run constraints are two for the code words ' even bit locations and three for the code words ' odd bit locations .
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a plan view of a disc drive.
FIG. 2 is a block diagram of a coding system of the present invention.
FIG. 3 is an organizational layout of an encoded stream showing the numbering and naming convention used with the present invention.
FIG. 4 is a state diagram for the code of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
FIG. 1 is a plan view of a disc drive 100 that includes a housing with a base plate 102 and a top cover 104 (sections of top cover 104 are removed for clarity) . Disc drive 100 further includes a disc pack 106, which is mounted on a spindle motor (not shown). Disc pack 106 can include a plurality of individual discs which are mounted for co-rotation about a central axis. Each disc surface has an associated head gimbal assembly (HGA) 112 which is mounted to disc drive 100 for communication with the disc surface. Each HGA 112 includes a gimbal and a slider, which carries one or more read and write heads. Each HGA 112 is supported by a suspension 118 which is in turn attached to a track accessing arm 120 known generally as a fixture, of an actuator assembly 122.
Actuator assembly 122 is rotated about a shaft 126 by a voice coil motor 124, which is controlled by servo control circuitry within internal circuit 128. HGA 112 travels in an arcuate path 130 between a disc inner diameter 132 and a disc outer diameter 134. When the head is properly positioned, write circuitry within internal circuitry 128 encodes, data for storage on the disc and sends an encoded signal to the head in HGA 112, which writes the information to the disc. At other times, the read head in HGA 112 reads stored information from the disc and provide a recovered signal to detector circuitry and decoder circuitry within internal circuitry 128 to produce a recovered data signal.
FIG. 2 is a block diagram of a generalized communication system 148 used with the present invention. For the disc drive of FIG.l, communication system 148 is formed by internal logic 128, head gimbal assembly 112 and disc 106. Within communication system 148, an encoder 150 receives data samples 152 and produces a even and odd code words' 153. Even and odd code words 153 are provided to parallel-to-serial converter 155 in a parallel manner such that all of the bits of a respective code word are provided to converter 155 at the same time. Parallel-to-serial converter 155 converts each parallel code word of even and odd code words 153 into a serial representation and concatenates the serial representations to produce a sequence of even and odd bits 154. The sequence of even and odd bits 154 meets several constraints discussed further below. Transmitter/channel precoder 156 receives the sequence of even and odd bits 154 and conditions the sequence so that it is optimized for the type of detector used to recover the signal from the channel. Transmitter/channel precoder 156 produces write signal 158, which is provided to channel 160.
Channel 160, which is comprised of a write head, a disc, and a read head when the communication system is a disc drive, conveys the encoded information from transmitter/precoder 156 to receiver/detector 162 as a read signal 164. Receiver/detector 162 amplifies and filters read signal 164 and recovers an encoded signal from the read signal using one of several known detection methods. For instance, receiver/detector 162 may use a Viterbi detector, Decision Feedback Equalization (DFE), Fixed-Delay Tree Search with
Decision Feedback (FDTS/DF) or Reduced State Sequence detection (RSSE). After detecting and amplifying the signal from channel 160, receiver/detector 162 produces a recovered sequence of even and odd bits 165, which are provided to serial-to-parallel converter 163. The sequence of even and odd bits 165 is in a serial format at the input to serial-to-parallel converter 163.
Serial-to-parallel converter 163 groups the bits into code words and converts the code words from a serial format to a parallel format. Serial-to-parallel converter 163 then outputs even and odd code words 166 in a parallel format. The even and odd code words 166 are provided to decoder 168. Decoder 168 uses the inverse of the coding rules used by encoder 150 and converts the even and odd code words 166 into recovered data stream 170.
FIG. 3 shows an organizational layout for a code stream 178 of bits that is helpful in describing the numbering and naming system used in connection with the present invention. Code stream 178 is an example of the type of bit stream that can appear as the sequence of even and odd bits 154 or the sequence of even and odd bits 165 of FIG. 2.
In FIG. 3, the first bit in time is to the far left and later bits in time extend to the right.
Above code stream 178 is number line 176, which assigns an integer to each bit in code stream 178 based on its overall location within the entire code stream. Under the present invention's numbering system, the first bit is numbered as bit zero, the second bit is bit one and so on. Above number line 176 is even/odd line 174, which provides an "E" designation for each even bit in code stream 178 and an "0" designation for each odd bit in code stream 178. The "E" and "0" designation is vertically aligned with its respective bit in code stream 178.
Above even/odd line 174 is code-word-bit numbering line 177, which assigns an integer for each bit corresponding to the bit ' s location within a code word. In the embodiment of FIG. 3, each code word has 9 bit locations numbered 0 to 8. Above code-word-bit numbering line 177 is code word even/odd line 175, which provides an "E" designation for each even bit location in a code word and an "O" designation for each odd bit location in a code word.
Below code stream 178 is code-word count 180, which associates a number with each grouping of nine bits in code stream 178. Thus, the first nine bits form code word zero, the second nine bits form code word one, and the third nine bits form code word two. Vertically aligned with code-word count 180 is even/odd code word line 182 which provides an "E" designation for each even code word in code stream 178 and an "O" designation for each odd code word.
Code bits 184, 186, and 188 provide examples of the numbering and even/odd designations of the present invention. Code bit 184 is the fifth bit in code stream 178 and is assigned an overall numerical value of 4 in number line 176. Code bit 184 is also the fifth bit in the first code word, and thus is assigned a code-word-bit number of 4 in code-word-bit numbering line 177. Code bit 184 is designated as an even bit in both even/odd line 174 and code word even/odd line 175. Code bit 184 is part of the first code word 190, which is numbered code word zero in code word count 180 and which is designated as an even code word in even/odd code word line 182.
Bit 186 is the twentieth bit in code stream 178, has a numerical value of nineteen in the code stream and is considered an odd bit overall as shown in even/odd line 174. Although it is the twentieth bit overall, bit 186 is only the second bit in code word 194, and as such, has a code-word-bit number of 1 in code-word-bit numbering line 177. This means that it is an odd code bit within code word 194, as shown in code word even/odd line 175. Code word 194 has a numerical value of two and is considered an even code word.
Bit 188, which is the thirteenth bit in code stream 178 has an overall numerical value of twelve in numbering line 176 and is considered an even bit overall. Although bit 188 is the thirteenth bit overall, it is only the fourth bit in code word 192. As the fourth bit in code word 192, bit 188 has a codeword-bit number of 3 in code-word-bit numbering line 177, and is considered an odd bit within the code word. Thus, although bit 188 is an even bit overall, it is an odd bit within code word 192.
The code of the present invention provides a rate 8/9 code with location dependent maximum transition run constraints. In one embodiment of this code, transition runs beginning from odd bit locations within each code word are limited to two transitions (Lχ=2) and transition runs starting from even bit locations are limited to three transitions (L2=3).
With nine-bit code words using binary values q for each bit, there are 2 =512 possible code words.
After applying the MTR constraints described above, there are 356 code words that can be used to encode
28=256 possible data words.
To ensure that invalid patterns do not occur when code words are concatenated, the 356 code words are mapped into a two-state system where an individual code word does not appear in more than one state but can appear twice within the same state. During encoding, the two-state coding system is in one of the two states, state SO or state SI. Each data word has an associated code word and next state value in both state SO and SI. The code word is the value produced by encoder 150 and the next state value determines what state the two-state system will be in when the next data word arrives. The assignment of code words to particular states and the movement between states is partially controlled by two state definitions. The first state definition is that all code words in state
SI begin with '0'. Because of this state definition, any code word may precede state SI because the concatenation of any code word with a code word that begins with '0' will not violate the MTR constraint.
The second state definition restricts code words that precede state SO to those that end with '0 ' . Under this definition, any code word ending with a '0' may be used before state SO . Using these state definitions, the mapping for an 8/9 rate MTR code with local
Figure imgf000011_0001
constraints can be derived. Such a mapping is shown in
Table 1 below, where the nine-bit code words are represented by two hexadecimal values in the two right most locations and a single binary value in the left most location. The eight bit data words are represented by two hexadecimal values .
Figure imgf000012_0001
Figure imgf000013_0001
Figure imgf000014_0001
Figure imgf000015_0001
Because a single code word can occur twice within a given state for two different data words, the decoder must determine the state of the next code word to decode the present code word. For example, if code word "120" is received, and the decoder is in state SO, the code word represent either data word "50" or data word "70". The decoder must determine which state the next code word belongs to before it can determine what data word the code word "120" represents. If the next code word is from state SO, "70" will be the decoded output, otherwise "50" will be the decoded output.
In order for a detector to identify code words that violate the MTR constraint and thus contain an error, the detector must keep track of whether it has an odd numbered code word or an even numbered code word. Since there are nine bits in each code words, if the decoder did not keep track of even and odd code words but merely kept track of whether it had an even or odd bit overall, the tenth received bit would considered an odd bit overall. However, since the tenth received bit is the first bit of the second code word, it is an even bit within that code word. Therefore, in order to properly track even and odd locations within code words, the detector must be complex enough to keep track of even and odd code words in addition to keeping track of even and odd bits within code words.
To reduce this complexity, the present invention provides an alternate rate 8/9 code word mapping. In this alternate mapping, even code words are constrained in the same manner as described above such that transition runs beginning from odd bit locations are limited to two transitions (L =2) and transition runs beginning from even bit locations are limited to three transitions (L2=3). However, odd code words under this alternate mapping have different localized MTR constraints. Specifically, for odd code words, transition runs beginning from odd bit locations are limited to three transitions (Lχ=3) and transition runs beginning from even bit locations are limited to two transitions (I_2=2). By interleaving code words that use these two different sets of constraints, an MTR code is formed that provides universal MTR constraints of two for odd bit locations and three for even bit locations counting from the beginning of the code stream. Thus, the decoder does not have to keep track of whether the current code word is in an even temporal location or an odd temporal location. It only has to keep track of the overall temporal location of the bits .
Of the possible 512 nine-bit code words, 317 meet the L]_=3 and 1.2=2 MTR constraint. To ensure proper concatenation, the 317 code words that meet this constraint and the 356 code words that meet the L =2 and L2=3 MTR constraint are divided into four states each, forming a total of eight states. The four • states for the code words having an MTR constraint of three for even code words (L2=3) and two for odd code words
Figure imgf000017_0001
are denoted as states SO, S2, S4 and S6. The four states for the code words satisfying the MTR constraint of three for odd positions (L =3) and two for even positions (L2=2) are denoted as states SI, S2, S5 and S7.
The four states for one group of code words shares common state definitions with the four states for the other group of code words . Code words in states SO or SI can begin with any two bits including "11" so code words preceding state SO or state SI must end with "0". The code words in state S2 or state S3 may only begin with "10" so code words preceding state S2 or state S3 must end with "00" or "01". Code words in states S4, S5, S6, and S7 only begin with "0" so any code word may proceed these states .
Given these state definitions, the 356 code words that satisfy the MTR constraint of three for temporally even bit positions and two for temporally odd bit positions are divided between states SO, S2, S4, and S6. Similarly, the 317 code words that satisfy the MTR constraint of three for temporally odd bit positions and two for temporally even bit positions are divided between states SI, S3, S5, and S7. Note that many code words satisfy both constraints and thus are found in more than one state. However, code words found in even numbered states such as SO, S2, S4, or S6 are not found in another even numbered state. Similarly, a single code word does not appear in two different odd numbered states (SI, S3, S5, or S7). The code words found in an even numbered state, however, can be found in an odd numbered state. In addition, code words may be repeated within a state. To realize the universal MTR constraint of two for odd bit positions and three for even bit positions over the entire encoded signal, the next state for any even numbered state, states SO, S2, S4 or S6, must be an odd numbered state, states SI, S3, S5, or S7. Similarly, the next state for any odd numbered state, must be an even numbered state.
An encoding/decoding table for a code based on these eight states is shown in Table 2 below. In Table 2, "NS" in the headers indicates the next state for the encoder/decoder. The code words of these tables are described in a modified hexadecimal format where the two right-most character locations are described by hexadecimal characters and the left-most character location is described by a binary value.
Figure imgf000018_0001
Figure imgf000019_0001
Figure imgf000020_0001
Figure imgf000021_0001
3
-20-
Figure imgf000022_0001
3
-21-
Figure imgf000023_0001
Figure imgf000024_0001
44633
-23-
Figure imgf000025_0001
In designing encoding/decoding Tables 1 and 2, undesirable patterns or long-run patterns with small Euclidean distances are avoided. For example, patterns of repeating tribits, "11101110..." are eliminated. In addition, patterns with long runs of "11001100..." are eliminated as these patterns may force the detector to keep a long memory length. Thus, not all of the 317 possible code words that meet the MTR constraint of two for even bit locations and three for odd bit locations appear in the tables and not all of the 356 code words that satisfy the MTR constraint of three for even bit locations and two for odd bit locations appear in the tables . FIG. 4 shows a state diagram for the present invention ' s universal MTR code of three for even bit locations and two for odd bit locations. State 200 represents the initial state of the encoder/decoder, which is an even bit location. If the bit associated with state 200 is '0', the code moves to state 201, which is an odd bit location. If the bit associated with state 201 is '0', the code returns to state 200. If the associated bit is ' 1', the code advances to state 202. State 202 is associated with an even bit location and if that bit location contains a '0 ' , the code returns to state 201. If the bit location contains a '1', the code moves to state 203, which is associated with an odd bit location. Since state 203 only occurs after two consecutive ones beginning from an odd bit location, the bit associated with state 203 must be '0', causing the code to return to state 200.
If the bit associated with state 200 is '1', the code goes to state 205, which is associated with an odd bit location. If the value of the bit associated with state 205 is '0', the code returns to state 200. If the value of the bit associated with state 205 is '1', the code moves to state 206, which is associated with an even location. A '0' in the even bit location of state 206 moves the code to state 201. A ' 1' in the even bit location associated with state 206 moves the code to state 207. Since state 207 is associated with three consecutive ones beginning from an even bit location, the MTR constraint of three for even bit locations requires that the bit associated with the odd location of state 207 be '0' and the code returns to state 200.
In summary, the present invention provides a method and apparatus for producing a code stream 158. The coding system includes an encoder 150 capable of converting data values 152 into a series of code symbols 154 in alternating even 188 and odd 186 locations, such that fewer than a first maximum transition run limit of consecutive same first code symbols start from any even bit location 188 and fewer than a second number of consecutive same first symbols start from any odd bit location 186. The coding system further includes a transmitter 156 coupled to encoder 150 and to channel 160 and capable of transmitting an. encoded signal based on the series of code symbols 154. It is to be understood that even though numerous characteristics and advantages of various embodiments of the present invention have been set forth in .the foregoing description, together with details of the structure and function of various embodiments of the invention, this disclosure is illustrative only, and changes may be made in detail, especially in matters of structure and arrangement of parts within the principles of the present invention to the full extent indicated by the broad general meaning of the terms in which the appended claims are expressed. For example, the particular elements may vary depending on the particular application for the coding method and apparatus while maintaining substantially the same functionality without departing from the scope and spirit of the present invention. In addition, although the preferred embodiment described herein is directed to a coding system for a disc drive, it will be appreciated by those skilled in the art that the teachings of the present invention can be applied to other systems, like satellite communications or cellular phone systems, without departing from the scope and spirit of the present invention.

Claims

WHAT IS CLAIMED IS:
1. A disc drive for performing data operations relative to a rotating disc, the disc drive comprising:
(a) a transducer assembly which transfers signals representative of information between the disc and a channel device; and
(b) code means, coupled to the transducer assembly, for producing a code stream of code words from an input stream of bits from the channel device, each code word comprising at least two subsets of code bits, each subset of code bits constrained by a different maximum transition run constraint.
2. The disc drive of claim 1 wherein a first subset of code bits are code bits that occur in even bit locations within a code word and a second subset of code bits are code bits that occur in odd bit locations with a code word.
3. The disc drive of claim 2 wherein the maximum transition run constraint of the first subset of code bits is two and the maximum transition run constraint of the second subset of code bits is three.
4. The disc drive of claim 2 wherein each code word comprises an odd number of code bits.
5. The disc drive of claim 2 wherein the code means treats as invalid a concatenation of code words that individually meet the maximum transition run constraint if the concatenation violates the maximum transition run constraint for at least one bit in one of the code words.
6. The disc drive of claim 2 wherein groups of_eight bits from the input stream of bits are encoded as nine symbols of encoded data.
7. A disc drive for performing data operations relative to a rotating disc, the disc drive comprising:
(a) a transducer assembly which transfers signals representative of information between the disc and a channel device; and
(b) code means, coupled to the transducer, for producing a code stream from an input stream of bits from the channel device of alternating even bit locations and odd bit locations, the even bit locations constrained by a different maximum transition run constraint than the odd bit locations.
8. The disc drive of claim 7 wherein the code stream comprises at least one code word with an odd number of bits.
9. The disc drive of claim 7 wherein the code stream is comprised of alternating first code words and second code words, the first code words comprising alternating first-word even-bit locations and first-word odd-bit locations and starting with a first-word even-bit location, the second code words comprising alternating second- word even-bit locations and second-word odd-bit locations and starting with a second-word even- bit location, the first-word even-bit locations being constrained by a different maximum transition run constraint than the second-word even-bit locations .
10. The disc drive of claim 9 wherein the first-word odd-bit locations are constrained by a different maximum transition run constraint than the second-word odd-bit locations.
11. The disc drive of claim 9 wherein the first-word even-bit locations are constrained by the same maximum transition run constraint as the second- word odd-bit locations .
12. A method of selecting code words for a coding system, the method comprising steps of:
(a) forming code words, each code word having fewer than a first maximum transition run limit of consecutive symbols that begin from even numbered positions within the respective code word and having fewer than a second maximum transition run limit of consecutive symbols that begin from odd numbered positions within the respective code word, the first number being different from the second number;
(b) dividing code words into at least two subsets of code words; and B IΛ Λm PCT/US98/06289 O 98/44633
- 29 -
(c) assigning a next state value to each code word indicating the subset from which the next code word is to be selected.
13. The method of claim 12 wherein the subsets and the next state values are chosen so that even numbered positions within any code word of two concatenated code words do not exceed the first maximum transition run limit and so that odd numbered positions within any code word of two concatenated code words do not exceed the second maximum transition run limit.
14. The method of claim 13 wherein the first maximum transition run limit is three and the second maximum transition run limit is two.
15. The method of claim 13 wherein each code word is nine symbols long.
16. A method of selecting code words for a coding system, the method comprising steps of:
(a) forming a set of first code words, each first code word having fewer than a first maximum transition run limit of consecutive symbols that begin from even numbered positions within the respective code word and having fewer than a second maximum transition run limit of consecutive symbols that begin from odd numbered positions within the respective code word, the first maximum transition run limit being different from the second maximum transition run limit; (b) forming a set of second code words, each second code word having fewer than the second maximum transition run limit of consecutive symbols that begin from even numbered positions within the respective code word and having fewer than the first maximum transition run limit of consecutive symbols that begin from odd numbered positions within the respective code word;
(c) dividing the sets of first and second code words into at least four subsets of code words ; and
(d) assigning a next state value to each code word indicating the subset from which the next code word is to be selected.
17. The method of claim 16 wherein the next state value for a second code word causes a first code word to be selected next.
18. The method of claim 16 further comprising a constraining step wherein the operations of the dividing step (c) and the assigning step (e) are constrained so that after concatenation of code words several conditions are met, including:
(i) a string of more than the first maximum transition run limit of consecutive symbols does not begin from an even numbered position within any first code word; (ii) a string of more than the first maximum transition run limit of consecutive symbols does not begin from an odd numbered position within any second code word; (iii) a string of more than the second maximum transition run limit of consecutive symbols does not begin from an odd numbered position within any first code word; and
(iv) a string of more than the second maximum transition run limit of consecutive symbols does not begin from an even numbered position within any second code word.
19. A coding system for passing encoded signals through a channel, the coding system comprising:
(a) an encoder, capable of converting data values into a series of code values having alternating even and odd code symbol locations, such that fewer than a first number of consecutive same code symbols start from even code symbol locations in a code value and fewer than a second number of consecutive same code symbols start from odd code symbol locations in a code value; and
(b) a transmitter, coupled to the encoder and the channel and capable of transmitting an encoded signal based on the series of code symbols .
20. The coding system of claim 19 wherein each code value has an odd number of symbols.
21. A coding system for passing encoded signals through a channel, the coding system comprising: (a) an encoder, capable of converting data values into an alternating series of first code values and second code values, the first code values having alternating first- code even symbol locations and first-code odd symbol locations, the second code values having alternating second-code even symbol locations and second-code odd symbol locations, the encoder converting the data values such that:
(a) (i) fewer than a first maximum transition run limit of consecutive same code symbols start from first-code even symbol locations; (a)(ii) fewer than the first maximum transition run limit of consecutive same code symbols start from second- code odd symbol locations; (a) (iii) fewer than a second maximum transition run limit of consecutive same code symbols start from first- code odd symbol locations; and (a)(iv) fewer than the second maximum transition run limit of consecutive same code symbols start from second- code even symbol locations, the first number of consecutive same code symbols different from the second number of consecutive same code symbols; and (b) a transmitter, coupled to the encoder and the channel and capable of transmitting an encoded signal based on the series of code symbols .
PCT/US1998/006289 1997-04-01 1998-03-31 Maximum transition run length code WO1998044633A2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
GB9923044A GB2338629B (en) 1997-04-01 1998-03-31 System and scheme for maximum transition run length codes with location dependent constraints
JP54191698A JP2001518253A (en) 1997-04-01 1998-03-31 System and method for maximum transition run-length code with position-dependent constraints
KR1019997008982A KR20010005905A (en) 1997-04-01 1998-03-31 System and scheme for maximum transition run length codes with location dependent constraints
DE19882278T DE19882278T1 (en) 1997-04-01 1998-03-31 System and scheme for maximum transition run length codes with location-dependent restrictions

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US4251897P 1997-04-01 1997-04-01
US60/042,518 1997-04-01

Publications (2)

Publication Number Publication Date
WO1998044633A2 true WO1998044633A2 (en) 1998-10-08
WO1998044633A3 WO1998044633A3 (en) 1998-12-23

Family

ID=21922364

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1998/006289 WO1998044633A2 (en) 1997-04-01 1998-03-31 Maximum transition run length code

Country Status (5)

Country Link
JP (1) JP2001518253A (en)
KR (1) KR20010005905A (en)
DE (1) DE19882278T1 (en)
GB (1) GB2338629B (en)
WO (1) WO1998044633A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7620116B2 (en) 2003-02-28 2009-11-17 Rambus Inc. Technique for determining an optimal transition-limiting code for use in a multi-level signaling system

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4536412B2 (en) * 2004-04-12 2010-09-01 富士通株式会社 Recording / reproducing apparatus and signal processing circuit

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5553169A (en) * 1990-01-22 1996-09-03 Matsushita Electric Industrial Co., Ltd. Position detecting device using run position and run length of normalized projection data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5553169A (en) * 1990-01-22 1996-09-03 Matsushita Electric Industrial Co., Ltd. Position detecting device using run position and run length of normalized projection data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7620116B2 (en) 2003-02-28 2009-11-17 Rambus Inc. Technique for determining an optimal transition-limiting code for use in a multi-level signaling system

Also Published As

Publication number Publication date
JP2001518253A (en) 2001-10-09
GB9923044D0 (en) 1999-12-01
DE19882278T1 (en) 2000-03-30
GB2338629B (en) 2001-10-24
GB2338629A (en) 1999-12-22
WO1998044633A3 (en) 1998-12-23
KR20010005905A (en) 2001-01-15

Similar Documents

Publication Publication Date Title
US6804805B2 (en) Method and apparatus for encoding with unequal protection in magnetic recording channels having concatenated error correction codes
US5537112A (en) Method and apparatus for implementing run length limited codes in partial response channels
US5781133A (en) Method and apparatus for implementing run length limited codes
US4707681A (en) Method and apparatus for implementing optimum PRML codes
US6233289B1 (en) High rate trellis code for partial response channels
US7492288B2 (en) Transmitting/receiving methods and systems for DC balance encoded data including simultaneous switching noise reducing preambles
US6052072A (en) System and scheme for maximum transition run length codes with location dependent constraints
KR100370416B1 (en) Encoding/decoding method for recording/reproducing high-density data and system based thereon
KR100506070B1 (en) Encoding / Decoding Method for Recording / Playback of High Density Data
KR100406806B1 (en) Efficient run length limited code with short interleaved constraint
KR100426656B1 (en) Encoding and decoding technique for data in 24 bit sequences
EP1076932B1 (en) ENCODING/DECODING n-BIT SOURCE WORDS INTO CORRESPONDING m-BIT CHANNEL WORDS, AND VICE VERSA, SUCH THAT THE CONVERSION IS PARITY INVERTING
US7395482B2 (en) Data storage systems
US8724243B1 (en) Systems and methods for run length limited encoding
US6839004B2 (en) High rate run length limited code
WO1998044633A2 (en) Maximum transition run length code
EP0853843A2 (en) Transmission and reception of a digital information signal
US6317856B1 (en) Encoder and a method of encoding for partial response channels
US6985320B2 (en) Method and apparatus for encoding data to guarantee isolated transitions in a magnetic recording system
US6097321A (en) Punctured maximum transition run code, apparatus and method for providing the same
US20050104754A1 (en) DC-free code having limited error propogation and limited complexity
US6674375B2 (en) Run length limited coding with minimal error propagation
KR100552944B1 (en) Maximum transition run length code
Fan et al. Constrained Coding for Hard Decoders
WO1996036126A1 (en) M=5(0,2) runlength limited code for multi-level data

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): DE GB JP KR SG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
ENP Entry into the national phase

Ref document number: 9923044

Country of ref document: GB

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 9923044.3

Country of ref document: GB

ENP Entry into the national phase

Ref document number: 1998 541916

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 1019997008982

Country of ref document: KR

RET De translation (de og part 6b)

Ref document number: 19882278

Country of ref document: DE

Date of ref document: 20000330

WWE Wipo information: entry into national phase

Ref document number: 19882278

Country of ref document: DE

WWP Wipo information: published in national office

Ref document number: 1019997008982

Country of ref document: KR

WWR Wipo information: refused in national office

Ref document number: 1019997008982

Country of ref document: KR