throbber

`
`
`
`1111111111111111111111111I1111114111fili1111111111111111111111111
`
`(12) United States Patent
`Fu et al.
`
`(to) Patent No.:
`(45) Date of Patent:
`
`US 6,278,748 B1
`Aug. 21, 2001
`
`(54)
`
`RATE 5/6 MAXIMUM TRANSITION RUN
`CODE FOR READ CHANNELS
`
`(75)
`
`Inventors: Leo Fu, Sunnyvale; An-Loong Kok,
`Irvine, both of CA (US)
`
`(73) Assignee: Texas Instruments Incorporated,
`Dallas, TX (US)
`
`( * ) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`(21) Appl. No.: 09/070,438
`
`(22) Filed:
`
`Apr. 30, 1998
`
`(51) Int. C1.7
`
`(52) U.S. Cl.
`
`HO3D 1/00; HO4L 27/06;
`HO4L 5/12; HO4L 23/02; HO3M 7/00
`375/341; 375/263; 375/262;
`341/59; 341/61
` 375/263, 341,
`(58) Field of Search
`375/340, 290, 262, 265; 360/39, 40, 48;
`714/759, 746, 794, 795, 792; 341/59, 50,
`61, 58, 68, 94, 106
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5,731,768 * 3/1998 Tsang
`5,754,593 * 5/1998 Koren
`5,949,357 * 9/1999 Fitzpatrick et al.
`
` 341/59
` 375/263
` 341/68
`
`* cited by examiner
`
`Primary Examiner—Stephen Chin
`Assistant Examiner—Betsy L. Deppe
`(74) Attorney, Agent, or Firm—W. Daniel Swayze, Jr.;
`Wade James Brady, III; Frederick J. Telecky, Jr.
`
`(57)
`
`ABSTRACT
`
`A method and apparatus encoding and decoding data for
`storage on a mass storage device is described. The code used
`is a 5/6 rate code in which a maximum transition run
`constraint is imposed. This code is designed for use with an
`EEPR4 read channel and provides a Euclidian squared free
`distance, d2free, of 10 when used with an EEPR4 partial
`response filter and a Viterbi decoder.
`
`3 Claims, 5 Drawing Sheets
`
`r
`
`READ CHANNEL DECODER
`
`41
`
`42
`
`V32
`
`v -30
`
`AGC
`
`31
`
`FIR
`LOW PASS
`FILTER
`FILTER
`EEPR4 FILTER
`
`
`J
`
`33
`
`34
`
`35
`
`A/D
`CONVERTER
`
`EEPR4
`DETECTOR
`
`#Vi
`
`SERIAL TO
`PARALLEL
`
`120 6
`
`36
`/
`5/6 MTR
`DECODER
`
`/)1(1
`
`5t>
`
`10
`
`L
`
`I -
`
`BUFFER
`
`<
`
`N-24
`
`WRITE ENCODER
`
`PARALLEL
`TO SERIAL
`
`22
`
`WRITE
`PRECOMP
`
`23
`
`1Y 1 6
`
`5/6 MTR
`ENCODER
`
`lXkl 5
`
`21
`
`11-`-20
`
`INTERFACE <
`
`I/O BUS
`
`1 1
`
`LSI Corp. Exhibit 1025
`Page 1
`
`

`

`Waled *S11
`
`toot `1z tnv
`
`S Jo 1 13311S
`
`iff 8171NLV9 Sa
`
`11
`
`I/O BUS
`
`INTERFACE
`
`10
`
`FIG. 1
`
`20
`
`21
`
`22
`
`ENCODER
`5/6 MTR
`
`1Y 1
`
`TO SERIAL
`PARALLEL
`
`1wii
`WRITE ENCODER
`
`23
`
`PRECOMP
`
`WRITE
`
`N-24
`
`BUFFER
`
`L
`
`DECODER
`5/6 MTR
`
`36
`
`" t 6,
`
`PARALLEL
`SERIAL TO
`
`35
`
`DETECTOR
`
`EEPR4
`
`CONVERTER
`
`A/D
`
`34
`
`33
`
`v-30
`
`J
`
`EEPR4 FILTER
`
`31
`
`I
`__J__
`
`FILTER
`
`FIR
`
`LOW PASS
`
`FILTER
`
`/-32
`
`11,
`
`42
`
`41
`
`READ CHANNEL DECODER
`
`-F-AGC
`
`r
`
`r
`
`LSI Corp. Exhibit 1025
`Page 2
`
`

`

`Waled *S11
`
`toot `1z tnv
`
`S Jo Z 13311S
`
`iff 8171NLV9 Sa
`
`FIG. 6
`
`COMPUTER
`
`HOST
`
`?
`60
`
`J
`
`Vi
`
`+
`
`v-200
`
`J
`
`1-`- 50
`
`70
`
`SCSI
`
`-1
`
`2
`
`CONTROLLER
`
`DRIVE
`
`INTERFACE
`
`WRITE CHANNEL
`
`CIRCUITRY
`
`
`
`WRITE HEAD
`
`56
`
` READ CHANNEL k.
`
`CIRCUITRY
`
`
`
`READ HEAD
`
`57
`
`?
`51
`
`10
`
`30
`
`r
`
`DELAY
`UNIT
`
`201d
`
`DELAY
`UNIT
`
`201c
`
`i-2
`
`DELAY
`UNIT
`
`201 b
`
`I—
`
`DELAY
`UNIT
`\
`201a
`
`
`
`L
`
`Wi
`....
`
`r
`
`FIG. 2
`
`SPIN k_
`-,52
`
`53
`
`MOTOR PLL
`
`DSP
`
`MOTOR
`SPIN
`
`54 -v-
`
`I
`
`ACTUATOR
`
`55 _."--
`
`20
`?
`
`
`
`DRIVE UNIT
`HARD DISK
`
`LSI Corp. Exhibit 1025
`Page 3
`
`

`

`U.S. Patent
`
`Aug. 21, 2001
`
`Sheet 3 of 5
`
`US 6,278,748 B1
`
`0000
`
`0001
`
`0010
`
`0011
`
`0100
`
`0101
`
`0110
`
`0111
`
`1000
`
`1001
`
`1010
`
`2
`
`6
`
`2
`
`6
`
`—4
`—2
`
`2
`—4
`—2
`
`4
`—2
`
`2
`
`—2
`
`2
`
`1011
`
`—6
`—4
`—2
`0
`—6
`—4
`—2
`
`1100
`
`1101
`
`1110
`
`1111
`
`FIG. 3
`
`0000
`
`0001
`
`0010
`
`0011
`
`0100
`
`0101
`
`0110
`
`0111
`
`1000
`
`1001
`
`1010
`
`1011
`
`1100
`
`1101
`
`1110
`
`1111
`
`LSI Corp. Exhibit 1025
`Page 4
`
`

`

`U.S. Patent
`
`Aug. 21, 2001
`
`Sheet 4 of 5
`
`US 6,278,748 B1
`
`Ak+1 = x 4 k+1 ' x5 k+1 + x l k+1 • x 2 k+1 • x3k+1 +
`
`P6 = 9 1k-1 • P5
`
`Q2 =
`
`(g1k
`
`+
`
`g2 k )
`
`Q3 = g 3k • Q2
`
`Q4 = g4 k • Q3
`
`F = P3 • Q4 + P4 • Q3 +
`
`P5.02 + P6 - glk
`
`= gl k_i
`
`Y1k-1
`
`y2 k_1
`
`=
`
`92k-1
`
`Y 3 k -
`
`1
`
`=
`
`g 3
`
`k -
`
`1
`
`Y 4 k -
`
`1
`
`=
`
`g 4 1(-
`
`1
`
`Y 5 k -
`
`1
`
`=
`
`95 k -
`
`=
`
`Y6k-1
`
`96k-1
`
`1 + F
`
`+ F
`
`x 2 k+1 ' x 3k+1 ' x 4 k+1
`
`Bk+1 = x i k+1 • x 2 k+1 • x 3k+1 • x 4 k+1
`
`Z4 = (x1k + x2 k 4. x 3k + x 4k )
`
`Z5 = Z4 • x 5k
`
`
`
`C = A k Bk-
`
`D = Z5 • A k+ i
`
`E = Z4 • D• u k
`
`glk = C + Bk + E
`
`2
`9k -_
`
`AT .0 + B,K + E
`k
`k
`
`9 3k- - Tk • x 2 k + C • xl k
`
`,( • x 3k + C • P k • x3k + J k • x 2k (x3k
`g4k = i!!
`x4k) + ki k . x2k . k 4 k J + TE t (s k + s k . x5k)
`
`ED
`
`5
`9 k
`
`-
`-
`
`ft7
`k •
`
`x 4 k + C • x 2 k (x4 k EE) x 5 k )+ B k •Sk + D
`
`Sk+1 = A . x 5k + C -
`
`k + Bk •
`
`1( - x 5 k
`
`96k = B k+1 • Sk+1 + D
`
`uk+i = g6k
`
`P3 = (9 4 k-1 + 9 5 k-1 + 9 6 k-1)
`
`P4 = 93k-1 ' P3
`
`P5 = 9 2k-1 ' P4
`
`FIG. 4
`
`LSI Corp. Exhibit 1025
`Page 5
`
`

`

`U.S. Patent
`
`Aug. 21, 2001
`
`Sheet 5 of 5
`
`US 6,278,748 B1
`
`2 •^3 •^4
`1
`•
`0 'Y k•Y ICY ICY k
`
`h1 = a • 1.73- • u 6
`
`b = y ^5 k • y 6 k
`
`h2 = u2 • u3 • u6
`
`h3 = u2 • u3 •
`
`h4 = 1.71 • u2
`
`k = u4 ED u5 ED u6
`
`21 k_i = t.71 • u2 + ul • (h2 + h3 + h4)
`
`22k_1 = u1 • u3 + u1 • (h1 + h3 + h4)
`23k_1 = t.7.1 • u4 + u1 • (0 • u4 • u6 +
`u2 • u4 • u6 + u2)
`
`x4 k_1 = 1.71 • u5 + ul • (h0 + hl + h2 +
`h3 • u4 • +h4)
`
`ii5k_ 1 = t.71 • u6 + u1 • (h0 + h1 • liZ + h2 + h3 •
`
`(u4 • +u5)+(h4 • k))
`
`c = beY5 k
`
`d = bED 96 k
`
`e = a • E
`
`f = eG319 1 k
`
`g
`
`=
`
`VED1
`
`/ 2
`
`k
`
`P = f • g
`
`z1k = f
`= g
`
`, k
`2L
`
`z 3 k
`
`= 3
`Y k
`
`74 L k
`
`_
`
`k
`Y k
`
`, k
`5L
`
`=c
`
`,6k = A
`L
`u
`
`u1
`
`u2
`
`u3
`
`= zlk-,
`= z2k-,
`= z3k-,
`= z 4 k-1
`= z5k-i
`u6 = c • p + z 6k_i • 5
`
`u4
`
`u5
`
`h0 = u2 • u3 • u6
`
`FIG. 5
`
`LSI Corp. Exhibit 1025
`Page 6
`
`

`

`US 6,278,748 B1
`
`1
`RATE 5/6 MAXIMUM TRANSITION RUN
`CODE FOR READ CHANNELS
`
`FIELD OF THE INVENTION
`
`The present invention relates generally to the field of
`coding data; particularly, the present invention relates to
`encoding of data for use with a partial response maximum-
`likelihood read channel.
`
`BACKGROUND OF THE INVENTION
`
`This invention relates to coding techniques for use with
`magnetic storage media. Designs for magnetic storage
`media systems must simultaneously maximize the density of
`information stored on the media and ensure that the storage
`system has adequate error tolerance. These two goals are
`always in tension. The features of a read channel that
`maximize the permissible storage density on the storage
`media also tend to reduce the error tolerance of the storage
`device and read channel.
`Storage density can be maximized with the use of a partial
`response maximum likelihood (PRML) read channel. A
`PRML read channel always includes a partial response filter
`and a maximum likelihood decoder. The partial response
`filter provides an output signal that represents a mathemati-
`cal combination of the stored bits from a moving window of
`adjacent bits in the sequence of stored bits on the magnetic
`media. The output of the filter is then fed to a decoder that
`determines the sequence of bits most likely to have produced
`the filter output. Use of a partial response filter in the read
`channel permits higher density storage of data on the mag-
`netic media. See H. Kobayashi, D. T. Tang, "Application of
`Partial-responsc Channel Coding to Magnetic Recording
`Systems", IBM Journal of Research & Development, July
`1970, pp. 368-375.
`The decoder in a PRML read channel uses a maximum-
`likelihood sequence detection algorithm such as the Viterbi
`algorithm. The decoder converts the output of the partial
`response filter into a sequence of binary values representing
`the sequence of bits stored onto the magnetic media. Meth-
`ods for decoding PRML read channels using trellis decoders
`are shown, for example, in Jack W. Wolf & Gottfried
`Ungerboeck, "Trellis Coding for Partial Response
`Channels," IEEE Transactions on Communications, vol.
`COM-34, Aug. 1986, pp. 765-773, and G. David Forney,
`"The Viterbi Algorithm," Proceedings of the IEEE, March
`1973, pp. 268-278, which are herein incorporated by refer-
`ence.
`Write and read channels for magnetic storage devices
`often employ encoding of the sequence of bits that is to be
`stored on the magnetic device. Encoding of the symbols to
`be recorded onto the magnetic storage media can be used to
`increase the noise tolerance of the entire system. The most
`common measure of noise signal tolerance of a trellis
`decoder is the minimum free squared Euclidean distance of
`the set of permissible paths through the trellis, d 2free. The
`minimum free squared Euclidean distance measures the
`minimum difference in the path distance of any two paths in
`the trellis that start and end at the same node. One method
`of increasing the minimum free squared Euclidean distance
`of a read channel is to encode the sequence of symbols that
`are to be recorded onto the magnetic storage media. Encod-
`ing limits the set of permissible trellis paths and can be used
`to disallow alternative trellis paths that produce the worst
`case minimum free squared Euclidean distance measure. By
`disallowing these paths, the minimum free squared Euclid-
`ean distance of the remaining paths is improved.
`
`10
`
`2
`Encoding, however, comes at a cost in that it expands the
`number of bits required to store a fixed amount of user
`source data on the disk. The rate of a code indicates the
`relationship between the number of bits of user data encoded
`5 and the number of bits of encoded data stored on the storage
`media. In a rate 5/6 code, five bits of user data are encoded
`into six bits of encoded data that are stored. It is always
`possible to increase the minimum free squared Euclidean
`distance of any encoding scheme by increasing the coding
`overhead and decreasing the rate of the code. Increasing the
`rate of the code used necessitates a decrease in the storage
`density that may be used.
`One type of code that can be used for encoding is the class
`of Maximum Transition Run (MTR) codes. MTR codes
`have the property that the number of consecutive `1' sym-
`is bols is limited to some maximum transition run length. In
`the non return to zero inverse (NRZI) convention often used
`in analysis of magnetic storage systems, a `1' symbol
`indicates the existence of a transition in the magnetic state
`stored, and a `0' symbol indicates that the current state is
`20 maintained. The MTR code used in the subject invention
`limits the maximum sequence of consecutive `1' symbols to
`two. Limiting the number of consecutive `1' symbols to two
`is equivalent to limiting the number of consecutive state
`transitions to two or less. Patterns of three or more consecu-
`25 tive transitions cause most of the errors in read channel
`detection systems, so using codes that eliminate these pat-
`terns produces significant error reduction dividends. See
`Jaekyun Moon & Barrett Brickner, "Maximum Transition
`Run Codes for Data Storage Systems," IEEE Transactions
`30 oil Magnetics, vol. 32, September 1996, pp. 3992-3994.
`The central problem, therefore, for any designer of encod-
`ing and decoding channels for a storage device is to develop
`a coding procedure which maximizes the density of user
`data that may be stored on the magnetic media. This involves
`a trade-off between the coding rate used and the density of
`storage that may be achieved using any particular code. The
`designer's goal is to develop a code which maximizes the
`coding rate and provides a minimum free squared Euclidean
`distance that ensures the error detection margin required to
`support a particular storage density.
`SUMMARY OF THE INVENTION
`The present invention describes an apparatus and a
`method for encoding and decoding data. The inventive
`encoding system can be used with a storage medium that
`45 employs a partial response filter with the transfer function
`h(D)=(1—D)(1+D)3, where D represents the delay operator.
`This is known as an extended-extended partial response
`channel of Class 4 (EEPR4).
`The subject encoding system and read channel employ a
`50 rate 5/6 code. The code is an MTR code with the property
`that codewords are selected so that runs of consecutive `1'
`symbols are limited to two or less `1' symbols, and runs of
`consecutive `0' symbols are limited to runs of six or less of
`such `0' symbols. For this reason the code can be identified
`55 as a rate 5/6 MTR(2,6) code.
`The code employed in the inventive encoding system and
`read channel has a minimum free squared Euclidean dis-
`tance of 10, when used with an EEPR4 read channel. This
`value is large enough to provide an adequate margin of error
`60 for use in a magnetic disk drive system. Use of this code
`makes it possible to use an EEPR4 filter in the read channel,
`which would not be possible if a coding scheme with a lesser
`minimum free squared Euclidean distance was used.
`An advantage of the present invention is that it provides
`65 a high density, rate 5/6 code that affords a minimum free
`squared Euclidean distance of 10 when used in an EEPR4
`system.
`
`35
`
`40
`
`LSI Corp. Exhibit 1025
`Page 7
`
`

`

`US 6,278,748 B1
`
`3
`Another advantage of the present invention is that it
`permits the use of an EEPR4 read channel, which makes
`possible higher read densities than would be afforded with
`lower-order partial response filters.
`The foregoing, and other features and advantages of the
`invention, will be apparent from the following, more
`particular, description of the preferred embodiments of the
`invention, the accompanying drawings and the appended
`claims.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a block diagram illustrating the overall archi-
`tecture of a write encoder and read channel decoder that can
`be used to implement the present invention.
`FIG. 2 is an idealized EEPR4 partial response filter in
`accordance with the present invention.
`FIG. 3 is a decoding trellis for use by a Viterbi detector in
`detecting an EEPR4 filtered signal in accordance with the
`present invention.
`FIG. 4 is a sequence of boolean equations that can be used
`to implement the encoding algorithm performed by the rate
`5/6 MTR encoder of the present invention.
`FIG. 5 is a sequence of boolean equations that can be used
`to implement the decoding algorithm performed by the rate
`5/6 MTR decoder of the present invention.
`FIG. 6 is a block diagram illustrating the overall archi-
`tecture of a disk drive storage device built utilizing the write
`encoder and read channel decoder of the present invention.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENT
`
`The preferred embodiment of the present invention and its
`advantages are best understood by reference to FIGS. 1
`through 6, where like reference numbers indicate like ele-
`ments.
`FIG. 1 illustrates a functional block diagram of the write
`encoder 20 and read channel decoder 30 for a hard disk drive
`system. The bidirectional interface 10 interconnects the
`write encoding circuitry and read channel circuit with a
`drive controller (not shown) through I/O bus 11. Data to be
`written to the hard disk drive is conveyed over bidirectional
`interface 10 to write encoder 20 where it is encoded. The
`output of write encoder 20 from the output buffer 24 is a
`differential analog signal which can be used with external
`magnetic read/write circuitry to write the data to the hard
`disk media. When data is read from the hard disk, the
`differential analog signal read from the disk is received by
`automatic gain control clement 31 in read channel decoder
`30. Read channel decoder 30 filters and decodes the signal
`to recover the data stored on the disk. The decoding per-
`formed by read channel decoder 30 reverses the encoding
`performed by write encoder 20 when the data was written to
`the disk. The decoded data is then transferred across I/O bus
`11 to the drive controller.
`The detailed operation of write encoder 20 will now be
`described. The external drive controller passes data that is to
`be written to write encoder 20 over I/O bus 11. A rate 5/6
`MTR encoder 21 is coupled to the bidirectional interface. 60
`Data that is to be written to the disk drive is received at
`bidirectional interface 10 in an unencoded fonn, and is
`passed through bidirectional interface 10 to rate 5/6 MTR
`encoder 21. Rate 5/6 MTR encoder 21 converts this raw data
`into an encoded format, in accordance with the code 65
`described in detail below. This code encodes five bits of raw
`data received from the drive controller into six bits of
`
`4
`encoded data that will be stored on the disk drive. While this
`has the effect of expanding the number of bits that must be
`stored on the disk drive, the use of the code permits denser
`storage of the drive media, more than offsetting the 20%
`5 overhead that results from the use of the 5/6 code. The
`output from the encoder can be thought of as a sequence of
`six-bit codewords {yk}(={yo, y1, . . . y, . . . 1), where each
`y, represents a separate six-bit codeword.
`Rate 5/6 MTR encoder 21 receives a sequence of symbols
`10 from interface circuitry 10. Each received symbol is five-bits
`wide. Encoder 21 converts each five-bit symbol received
`into an encoded output symbol that is made up of six-bits.
`In the discussion that follows, and in accordance with
`standard practice, data words are identified as a sequence of
`15 `0' and `1' characters, with the most significant bit (MSB) on
`the left and the least significant bit (LSB) on the right. The
`"first" bit in the codeword is synonymous with the MSB and
`the "last" bit in the codeword is synonymous with the LSB.
`In practice, it is purely a matter of definition as to whether
`20 the LSB or MSB is transmitted first when a word is
`transmitted serially, and the disclosed system can be imple-
`mented either way.
`Source and codewords are processed sequentially in time
`by write encoder 20. This processing is pipelined so that
`25 processing of multiple codewords is proceeding simulta-
`neously at different points in write encoder 20. When code
`or source words are described as the "current" or "preced-
`ing" or "previous" words, this indicates the nature of the
`sequential relationship between the two words. The "cur-
`30 rent" word follows directly after the "previous" or "preced-
`ing" word in the sequence of code or source words that is
`processed by the encoder/read channel.
`The encoding algorithm used by rate 5/6 MTR encoder 21
`35 has four steps. These steps must be performed in the order
`indicated. The operations performed in some of these steps
`are determined not only by the contents of the current source
`word but also by the encoded output codeword produced
`when the previous source word was encoded.
`Step 1:
`The first step of the conversion can be done as a table
`lookup. The five bits of the received symbol are used as an
`index into one of two translation tables. Each translation
`table includes 32 entries, so that each received sequence
`45 corresponds to a specific index in the table. Each entry in the
`table is occupied by a six-bit translation that will serve to
`represent the five-bit received symbol. The encoder deter-
`mines which table to use based upon whether the previous
`encoded codeword had a `0' or a `1' in its last bit position.
`50 If the previous codeword had a `0' in its last bit position,
`then the "State-0" table should be used, otherwise the
`"State-1" table is used.
`
`40
`
`55
`
`TABLE 1
`
`"STATE-0" Conversion Table
`
`Input
`
`00000
`00001
`00010
`00011
`00100
`00101
`00110
`00111
`01000
`01001
`
`Output
`
`000000
`000001
`000010
`000001
`000100
`000101
`000110
`100101
`001000
`001001
`
`LSI Corp. Exhibit 1025
`Page 8
`
`

`

`US 6,278,748 B1
`
`5
`
`TABLE 1-continued
`
`"STATE-0" Conversion Table
`
`Input
`
`01010
`01011
`01100
`01101
`01110
`01111
`10000
`10001
`10010
`10011
`10100
`10101
`10110
`10111
`11000
`11001
`11010
`11011
`11100
`11101
`11110
`11111
`
`Output
`
`001010
`100100
`001100
`001101
`100010
`100000
`010000
`010001
`010010
`101001
`010100
`010101
`010110
`101101
`011000
`011001
`011010
`101100
`101000
`101010
`110100
`110101
`
`TABLE 2
`
`"STATE-1" Conversion Table
`
`Input
`
`00000
`00001
`00010
`00011
`00100
`00101
`00110
`00111
`01000
`01001
`01010
`01011
`01100
`01101
`01110
`01111
`10000
`10001
`10010
`10011
`10100
`10101
`10110
`10111
`11000
`11001
`11010
`11011
`11100
`11101
`11110
`11111
`
`Output
`
`000000
`000001
`000010
`000001
`000100
`000101
`000110
`100101
`001000
`001001
`001010
`100100
`001100
`001101
`100010
`100000
`010000
`010001
`010010
`101001
`010100
`010101
`010110
`101101
`011000
`011001
`011010
`101100
`101000
`101010
`110010
`110110
`
`It will be observed that the "State-0" and "State-1"
`conversion tables differ only in the last two entries.
`When the "States-1" table is used, the encoder must under
`undertake one additional step that does not apply when the
`"State-0" table is used. If the received source word sequence
`to be translated using the "State-1" table is either `11110' or
``11111', the last bit of the previous codeword output of the
`encoder to use a different encoder must be inverted. The fact
`that the last bit has been inverted should not cause the
`
`5
`
`10
`
`6
`encoder to use a different encoding table with the current
`source word. For example, if the previous encoded code-
`word is `110101', the encoder will use the "State-1" table
`with the current source word. If the current source word is
``11111', the encoder must invert the last bit of the previous
`encoded codeword, making it `110100'. This does not,
`however, mean that the encoder should now use the "State-
`0" table to encode the current source word. Instead it will
`continue to use the "State-1" table, encoding `11111' as
``110110'.
`Step 2:
`If the translated six-bit output produced from Step 1 is
``000000' and the first bit of the following codeword is `0',
`then the last two bits of the current codeword must be
`15 changed to logical `1's so that the current codeword
`becomes `000011'. If this condition does not apply, the
`codeword passes through step two unchanged.
`Step 3:
`If the previous codeword has a `0' as its last bit, and the
`20 current six-bit output produced from step two has five zeroes
`in its first five bits, then the first two bits of the current
`codeword are modified to become logical ones. If this
`condition does not apply, the codeword passes through step
`three unchanged.
`Step 4:
`If the previous codeword ends with a sequence of zeroes
`and the current codeword starts with a sequence of zeroes,
`and the combined length of these sequences is seven bits or
`greater, then the last two bits of the previous codeword are
`modified to become logical ones. If this condition does not
`apply, the codeword passes through step four unchanged.
`The encoding steps performed by rate 5/6 MTR encoder
`21 can be performed by a sequence of boolean logic opera-
`35 tions. The boolean equations shown in FIG. 4 implement the
`function of rate 5/6 MTR encoder 21. In these equations the
`five-bit symbol xk represents the symbol that is provided as
`an input to rate 5/6 MTR encoder 21. The binary variables
`X1,X2k,X3k,X5k, represent the five bits of symbol xk, with
`40 X1k representing the first bit in the symbol and X5k the last.
`The corresponding six-bit codeword produced as an output
`from rate 5/6 MTR encoder 21 is identified by the symbol yk.
`The six bits that make up yk, are identified as y1k, y2, y3,
`y4k, y5k, y6k. The input to rate 5/6 MTR encoder 21 is made
`up of a continuous sequence of five-bit symbols, xi, x2,
`,
`xk-1, xk, Xk+1, • • • • The output from rate 5/6 MTR encoder
`21 is likewise made up of a continuous sequence of six-bit
`codewords, y1, v 2 ,
`, yk-1 , yk, Yk+1, • • • • The equations
`•
`•
`•
`in FIG. 4 employ a number of intermediate variables,
`including a sequence of six-bit codewords g1, g2, • . . , gk_1,
`gk, g„,i, In the equations in FIG. 4, boolean logical OR
`operations are indicated as additions or with the `+' symbol,
`and logical AND operations are indicated as multiplication
`of two binary symbols or with the
`symbol.
`Turning again to FIG. 1, a parallel to serial converter 22
`is coupled to the six-bit wide parallel output of rate 5/6 MTR
`encoder 21. Parallel to serial converter 22 serializes the
`six-bit wide output of rate 5/6 MTR encoder 21, which
`allows the encoded data to be written to the disk drive in a
`60 serial format. The serial output of parallel to serial converter
`22, which can be represented as serial binary sequence fw,I,
`is coupled to a write precompensation circuit (23).
`The purpose of the precompensation circuit is to incre-
`mentally delay or advance the time at which signal pulses
`65 appear in the stream of data values to be written to the
`magnetic media. The precompensation circuit must deter-
`mine which pulses need to be shifted. It does this by sorting
`
`25
`
`30
`
`45
`
`50
`
`55
`
`LSI Corp. Exhibit 1025
`Page 9
`
`

`

`US 6,278,748 B1
`
`7
`them into groups based upon the presence of adjacent pulses.
`The user of write encoder 20 determines how much each
`group of pulses should be shifted. The shifting parameters
`are fixed based upon the characteristics of a particular
`magentic storage drive and can be adjusted separately for
`each drive device manufactured.
`The output of precompensation circuit 23 is connected to
`output buffer 24 which is used to drive an encoded output
`signal that can be used with a standard hard disk drive write
`circuit or other storage media circuitry to store the encoded
`data onto magnetic media.
`A detailed description of the operation of read channel
`decoder 30 will now be given.
`Read channel decoder 30 receives data from an external
`disk drive read circuit (not shown). The disk drive read
`circuit produces a differential analog signal which is pro-
`vided as an input to automatic gain control (AGC) circuit 31.
`The AGC circuit is a standard feature of disk drive circuitry
`that amplifies the differential signal received from the exter-
`nal read/write circuitry. The gain on this amplifier is adjusted
`to maintain constant signal amplitude at the input to an
`EEPR4 filter 32.
`EEPR4 filter 32 is an analog circuit. The input signal
`provided to EEPR4 Filter 32 by AGC 31 and the output
`signal from filter 32 are continuous-time analog waveforms.
`The analog input signal to EEPR4 filter 32 represents a
`sequence {*j of binary values read from the storage media.
`Similarly, the output from filter 32 represents a sequence
`{v,} of discrete multilevel output values.
`EEPR4 filter 32 is best described in terms of with refer-
`ence to a discrete time model 200 of an EEPR4 filter.
`Discrete time model 200 operates on a sequence of discrete
`inputs, each of which is a binary sample of two possible
`values. From this input sequence, the discrete time model
`produces a sequence of discrete multi-level output values. In
`contrast, EEPR4 filter 32 is an analog circuit that operates on
`a continuous input signal and produces therefrom a continu-
`ous output signal. As noted above, however, the analog input
`and output signals to and from EEPR4 filter 32 represent
`discrete time sequences of binary or multi-level values. The
`relationship between the binary input sequences and the
`multi-level output sequences conveyed by these analog
`inputs and outputs is identical to the relationship between
`the discrete time input and output sequences of discrete time
`model 200.
`In FIG. 2, discrete time model 200 is illustrated. The
`schematic shown in FIG. 2 is a discrete time model of an
`extended extended partial response class 4 filter. It is not a
`schematic representation of the analog circuitry found in
`EEPR4 filter 32. Model EEPR4 filter 200 is a finite response
`filter. The filter receives a sequence of binary input values
`INFsrj selected from the set of {+1, -1} and produces an
`output sequence {V,} of multilevel symbols selected from
`the set {+6, +4, +2, 0, -2, -4, -6}. The model filter employs
`four unit delay blocks 201a-d that store previous elements
`of the input sequence so that five consecutive sequence
`members 1*,_4, *,_,, w,_2,
`*,1 are available to the
`filter simultaneously. The sequence members are scaled and
`added in accordance with the EEPR4 filter equation h(D)=
`(1-D)(1+D)3, where D represents the unit delay operator.
`Equivalently, the encoder output sequence, 1v,1, is related to
`the binary input sequence, 1w,1, by: v,=w,+2w,_,-2w,_3-
`w,-4.
`Turning again to FIG. 1, the manner in which filter
`circuitry 32 implements model EEPR4 filter 200 will now be
`described.
`
`8
`Filter circuitry 32 comprises a low-pass filter 41/and a
`finite impulse response (FIR) filter 42. Low-pass filter 41 is
`coupled to the output of AGC circuit 31. Low-pass filter 41
`is a continuous time filter, the output of which is coupled to
`5 FIR filter 42. In the preferred embodiment of the invention,
`low-pass filter 41 has programmable cutoff, boost and group
`delay settings. Low-pass filter 41 performs two functions.
`First, it filters out noise signals that have frequencies outside
`the bandwidth of the signal read from the magnetic storage
`10 device. Second, low-pass filter 41 shapes the pulse stream
`read from the magnetic storage device. The result of this
`shaping, when combined with the effect of FIR filter 42, is
`to produce a partial response filtering effect, so that the
`output of low-pass filter 41 and FIR filter 42 represents the
`15 pulse sequence originally stored on the disk filtered through
`a class 4 partial response filter. The programmable settings
`for the cutoff, boost and group delay characteristics of
`low-pass filter 41 must be set in accordance with the
`particular properties of the magnetic storage media and the
`20 disk drive read circuitry of storage device used with read
`channel decoder 30.
`FIR filter 42 is used for fine shaping of the sampled read
`signal to make it perform the function of model EEPR4 filter
`200. The output of EEPR4 filter 32 is an analog continuous
`25 time waveform, which is fed as an input to analog to digital
`(ND) converter 33. A/D converter 33 takes the analog
`output of EEPR4 filter 32 and converts it a sequence of
`discrete multilevel output samples {vj. The multilevel
`output from the filter circuitry, 1v,1, is coupled to the input
`30 of an EEPR4 detector (34). EEPR4 detector 34 is a maxi-
`mum likelihood Viterbi detector. Each element in the
`sequence can take on one of the set of values {+6, +4, +2,
`0, -2, -4, -6}. These values cannot be decoded directly into
`corresponding stored bit values. Rather, each symbol in the
`35 1v,1 sequence corresponds to a one-bit transition through the
`state trellis for EEPR4 detector 34. The detector algorithm
`tracks all possible paths that might be used to traverse the
`state trellis and selects the path which best fits the sequence
`of transition symbols received by the decoder. Once the
`40 "best fit" path has been determined, the stored bit values that
`produced the "best fit" state transition path are identified and
`EEPR4 detector 34 provides, at its output, a sequence {V,}
`of stored bit values.
`The Viterbi detection algorithm used in EEPR4 detector
`45 34 employs the state transition trellis given in FIG. 3. The
`nodes on the left and right hand sides of the trellis indicate
`the starting and ending states, respectively, of EEPR4 detec-
`tor 34.
`The trellis indicates which transitions are possible as
`so EEPR4 detector 34 advances one bit at a time through a
`sequence of bits to be decoded. Every permissible transition
`is represented as a line in the trellis, and the values indicated
`near each permissible transition represent the expected out-
`put from the EEPR4 encoder during that transition. These
`55 expected transition values may be combined with the multi-
`level transition symbol actually received (vi) to create
`branch metrics for the Viterbi decoder. Using the branch
`metrics the most likely path can be determined.
`EEPR4 detector 34 produces an output sequence {V,} of
`60 serial bits. In order to decode this sequence of bits they must
`be reassembled into six-bit wide codewords. This reassem-
`bly is done by serial to parallel circuitry 35. To assemble the
`serial sequence of data into six-bit codewords, serial to
`parallel circuitry 35 must have an indication of which bits in
`65 the serial sequence {V,} represent the first or last bit of a
`six-bit codeword. This information is provided to serial to
`parallel 35 by synchronization circuitry (not shown). The
`
`LSI Corp. Exhibit 1025
`Page 10
`
`

`

`US 6,278,748 B1
`
`9
`synchronization circuitry recovers the boundaries of the
`six-bit codewords by monitoring patterns in the data
`received.
`Serial to parallel circuitry 35 produces an output sequence
`of six-bit words {yk} which represents the best estimate of
`the serial sequence {yk} that was written to the disk. The rate
`5/6 MTR code used in the in

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket