US5946354A - Hard disk drive read channel with half speed timing - Google Patents

Hard disk drive read channel with half speed timing Download PDF

Info

Publication number
US5946354A
US5946354A US08/730,862 US73086296A US5946354A US 5946354 A US5946354 A US 5946354A US 73086296 A US73086296 A US 73086296A US 5946354 A US5946354 A US 5946354A
Authority
US
United States
Prior art keywords
signal
digital
coupled
timing
circuit
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Lifetime
Application number
US08/730,862
Inventor
Jonathan James Ashley
Brian Harry Marcus
Constantin Michael Melas
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HGST Netherlands BV
Western Digital Technologies Inc
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to US08/730,862 priority Critical patent/US5946354A/en
Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ASHLEY, JONATHAN JAMES, MARCUS, BRIAN HARRY, MELAS, CONSTANTIN MICHAEL
Application granted granted Critical
Publication of US5946354A publication Critical patent/US5946354A/en
Assigned to MARIANA HDD B.V. reassignment MARIANA HDD B.V. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: INTERNATIONAL BUSINESS MACHINES CORPORATION
Assigned to HITACHI GLOBAL STORAGE TECHNOLOGIES NETHERLANDS B.V. reassignment HITACHI GLOBAL STORAGE TECHNOLOGIES NETHERLANDS B.V. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: MARIANA HDD B.V.
Assigned to HGST Netherlands B.V. reassignment HGST Netherlands B.V. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: HITACHI GLOBAL STORAGE TECHNOLOGIES NETHERLANDS B.V.
Anticipated expiration legal-status Critical
Assigned to WESTERN DIGITAL TECHNOLOGIES, INC. reassignment WESTERN DIGITAL TECHNOLOGIES, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HGST Netherlands B.V.
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/02Recording, reproducing, or erasing methods; Read, write or erase circuits therefor
    • G11B5/09Digital recording

Definitions

  • power dissipation is proportional to clock frequency. If the clock frequency is reduced to reduce the power dissipation, the data throughput of the circuit is also reduced, unless data is processed in parallel by additional data processing channels. If, for example, the clock frequency is halved, the original throughput can be maintained if two consecutive data samples are processed in parallel. As long as the additional processing channel does not double the overall circuitry, overall power dissipation will be reduced, or a higher data throughput can be achieved for the same power dissipation.
  • Hard disk drive technology is one area where reduction of power dissipation is important.
  • the read decoding circuitry of such hard drives operates at a very high frequency and is typically implemented with digital CMOS circuits. Reduction of the clock frequency of hard drive read decoding circuitry would provide a significant reduction in power dissipation.
  • the circuit of the present invention receives an analog signal from the read head of the hard disk drive.
  • the circuit comprises a plurality of digital detection channels, coupled to the analog signal, each channel outputting an alternate bit of digital data represented by the analog signal.
  • a timing circuit coupled to the plurality of digital detection channels, generates a plurality of timing signals controlling the plurality of digital detection channels. The timing circuit derives timing information from one of the digital detection channels.
  • the present invention is an encoder which generates the encoded digital data to be recorded on the hard disk drive.
  • FIG. 1 is a block diagram of a hard disk drive read circuit with half-speed timing, in accordance with the present invention.
  • FIG. 3 is a block diagram of an encoder 300, in accordance with the present invention, which generates a datastream encoded with the code of FIG. 2.
  • FIG. 4 is a block diagram of a decoder 118 of FIG. 1, in accordance with the present invention, which decodes a datastream encoded with the code of FIG. 2.
  • FIG. 1 is a block diagram of a hard disk drive read circuit with half-speed timing.
  • the analog signal from the read head is filtered by analog filter 102.
  • the filtered analog signal is then applied to both digital detection channels 104a and 104b.
  • Each digital detection channel includes an analog to digital converter (ADC) 106a and 106b, an equalizer 108a and 108b and a detector 110a and 110b.
  • ADCs 106a and 106b sample the analog read signal at timing intervals defined by sample clock signals 120a and 120b from phase lock oscillator (PLO) 116.
  • Sample clock signals 120a and 120b are the same frequency, but alternate phases, so that alternate data bits are detected and output by each digital detection channel.
  • Digital detection channel 104a outputs the odd data bits--bits 1, 3, 5, etc.
  • Digital detection channel 104b output the even data bits--0, 2, 4, etc.
  • the sampled read signal for digital detection channels 104a and 104b are equalized by equalizers 108a and 108b, respectively.
  • the binary data is detected by the respective detector, 110a or 110b of each digital detection channel.
  • the odd bit binary data output 120a and the even bit binary data output 120b are input to decoder 118, which generates the final output data from the read circuit.
  • Timing signals are derived by timing circuit 122 from only one digital detection channel, channel 104b.
  • Digital timing phase signals are extracted from digital detection channel 104b by timing phase circuit 112.
  • the digital signals are converted to analog by digital to analog converter (DAC) 114 and are applied to phase lock oscillator (PLO) 116.
  • PLO 116 generates the sample clock signal for ADCs 106a and 106b.
  • the timing phase signals close the loop and lock PLO 116 onto the actual frequency of the read signal.
  • a preferred code, having k even 9, also has an encoding rate of 2:3.
  • the allowable constrained sequences are those which can be generated by this diagram.
  • the states are represented by number enclosed by circles. Transitions from state to state are caused by presentation of pairs of bits in the datastream. Each pair of bits includes one odd bit and one even bit and is represented as OE, where O is the odd bit and E is the even bit. Pairs of bits must be used to cause state transitions because the k even constraint is only on the even bits.
  • the sequence begins in state 0. Presentation of a 01 causes the sequence to remain in state 0. Presentation of 00 causes the sequence to transition to state 1.
  • Encoder 300 is preferably a finite state machine, but software implementation is also possible.
  • Encoder 300 includes input block 307, logic block 302, storage block 304 and output block 308.
  • Encoder 300 outputs 6 encoded bits for every 4 bits input.
  • Input block 307 receives unencoded data and transmits it to inputs b 3 -b 0 of logic block 302 via lines 310-13.
  • Encoded data is output from logic block 302 via outputs c 5 -c 0 over lines 320-25 to output block 308, which outputs the encoded data.
  • Next state information is output from logic block 302 via outputs t 2 -t 0 330-32.
  • the next state is stored in storage register 304 as controlled by storage clock 306. Once stored, the next state becomes the present state and is input to logic block 302 via inputs s 2 -s 0 340-42.
  • the logic included in logic block 302 is shown in Table A. In order to reduce the gate count, intermediate products, which are only used internally, are generated.
  • the resulting code is shown in Table B.
  • the rows are indexed by the states, 0 to 6.
  • the columns are indexed by the inputs, which are 4-bit binary strings written in decimal.
  • the entries are of the form cls, where c is the decimal representation of the 6-bit output string and s is the next state.
  • the odd bit binary data output 120a and the even bit binary data output 120b are input to demultiplexer 404.
  • Demultiplexer 404 demultiplexes the separate odd and even bits into integrated six-bit strings and outputs the six-bit strings to storage register 408. Two storage registers are needed because two six-bit strings are used to generate each four-bit output nibble.
  • Register 406 stores the six-bit string currently being decoded.
  • Register 408 stores the six-bit string to be decoded next.
  • the six bit outputs from register 406, outputs 410 to 415, are input to decoding logic block 402, on inputs c 5 to c 0 .
  • the six bit outputs from register 408, outputs 420 to 425, are input to decoding logic block 402 on inputs d 5 to d 0 .
  • Decoded four-bit groups are output from outputs b 3 to b 0 430 to 433. After each four-bit group is output, the six-bit string stored in register 408 replaces the string stored in register 406 and a new string is stored in register 408.
  • decoding logic block 402 The logic included in decoding logic block 402 is shown in Table C. In order to reduce the gate count, intermediate products, which are only used internally, are generated.
  • Table D The resulting decoding is shown in Table D. Each row corresponds to the current 6-bit string, which is stored in register 406, written in decimal. Each column corresponds to the next 6-bit string, which is stored in register 408, written in decimal.
  • Table entries are the 4-bit output groups, written decimal. As can be seen, some combinations cannot occur and are designated by a "-".

Abstract

A hard disk drive read circuit for d=1 run length limited (RLL) encoded data which processes multiple consecutive data samples in parallel. The circuit of the present invention receives an analog signal from the read head of the hard disk drive. The circuit comprises a plurality of digital detection channels, coupled to the analog signal, each channel outputting an alternate bit of digital data represented by the analog signal. A timing circuit, coupled to the plurality of digital detection channels, generates a plurality of timing signals controlling the plurality of digital detection channels. The timing circuit derives timing information from one of the digital detection channels. The d=1 RLL code is modified so that there are at most nine consecutive 0's in the digital data output by the digital detection channel from which the timing circuit derives the timing information. An encoder generates the encoded digital data to be recorded on the hard disk drive.

Description

FIELD OF THE INVENTION
The present invention relates to hard disk drive read circuitry and in particular to a hard disk drive read circuit for d=1 run length limited encoded data which processes multiple consecutive data samples in parallel.
BACKGROUND OF THE INVENTION
In digital CMOS circuits, power dissipation is proportional to clock frequency. If the clock frequency is reduced to reduce the power dissipation, the data throughput of the circuit is also reduced, unless data is processed in parallel by additional data processing channels. If, for example, the clock frequency is halved, the original throughput can be maintained if two consecutive data samples are processed in parallel. As long as the additional processing channel does not double the overall circuitry, overall power dissipation will be reduced, or a higher data throughput can be achieved for the same power dissipation.
Hard disk drive technology is one area where reduction of power dissipation is important. The read decoding circuitry of such hard drives operates at a very high frequency and is typically implemented with digital CMOS circuits. Reduction of the clock frequency of hard drive read decoding circuitry would provide a significant reduction in power dissipation.
SUMMARY OF THE INVENTION
The present invention is a hard disk drive read circuit for d=1 run length limited encoded data which processes multiple consecutive data samples in parallel. The circuit of the present invention receives an analog signal from the read head of the hard disk drive. The circuit comprises a plurality of digital detection channels, coupled to the analog signal, each channel outputting an alternate bit of digital data represented by the analog signal. A timing circuit, coupled to the plurality of digital detection channels, generates a plurality of timing signals controlling the plurality of digital detection channels. The timing circuit derives timing information from one of the digital detection channels.
In another aspect, the present invention is a d=1 RLL code modified so that there are at most nine consecutive 0's in the digital data output by the digital detection channel from which the timing circuit derives the timing information.
In another aspect, the present invention is an encoder which generates the encoded digital data to be recorded on the hard disk drive.
BRIEF DESCRIPTION OF THE DRAWINGS
The details of the present invention, both as to its structure and operation, can best be understood by referring to the accompanying drawings, in which like reference numbers and designations refer to like elements.
FIG. 1 is a block diagram of a hard disk drive read circuit with half-speed timing, in accordance with the present invention.
FIG. 2 is a finite state transition diagram of a d=1 RLL code, in accordance with the present invention.
FIG. 3 is a block diagram of an encoder 300, in accordance with the present invention, which generates a datastream encoded with the code of FIG. 2.
FIG. 4 is a block diagram of a decoder 118 of FIG. 1, in accordance with the present invention, which decodes a datastream encoded with the code of FIG. 2.
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a block diagram of a hard disk drive read circuit with half-speed timing. The analog signal from the read head is filtered by analog filter 102. The filtered analog signal is then applied to both digital detection channels 104a and 104b. Each digital detection channel includes an analog to digital converter (ADC) 106a and 106b, an equalizer 108a and 108b and a detector 110a and 110b. ADCs 106a and 106b sample the analog read signal at timing intervals defined by sample clock signals 120a and 120b from phase lock oscillator (PLO) 116. Sample clock signals 120a and 120b are the same frequency, but alternate phases, so that alternate data bits are detected and output by each digital detection channel. Digital detection channel 104a outputs the odd data bits-- bits 1, 3, 5, etc. Digital detection channel 104b output the even data bits--0, 2, 4, etc. The sampled read signal for digital detection channels 104a and 104b are equalized by equalizers 108a and 108b, respectively. The binary data is detected by the respective detector, 110a or 110b of each digital detection channel. The odd bit binary data output 120a and the even bit binary data output 120b are input to decoder 118, which generates the final output data from the read circuit.
Timing signals are derived by timing circuit 122 from only one digital detection channel, channel 104b. Digital timing phase signals are extracted from digital detection channel 104b by timing phase circuit 112. The digital signals are converted to analog by digital to analog converter (DAC) 114 and are applied to phase lock oscillator (PLO) 116. PLO 116 generates the sample clock signal for ADCs 106a and 106b. The timing phase signals close the loop and lock PLO 116 onto the actual frequency of the read signal.
In a preferred embodiment, a d=1 run length limited (RLL) code is used to encode the signal recorded on the hard drive. A d=1 RLL code has the sole constraint that 1's are isolated, there are not two or more consecutive 1's. However, there can be any number of consecutive 0's. Consecutive 0's have no transitions and so cannot carry timing information. A modified d=1 RLL code which contains adequate timing information must be used. In addition, because timing signals are extracted from only the even channel 104b, the signal recorded on the hard drive must be encoded so that all necessary timing information is carried by the even bits. Therefore, a modified d=1 RLL code must be used with a constraint on the number of consecutive 0's in the even sub-sequence. This constraint is represented by the quantity keven.
In a preferred embodiment, a modified d=1 RLL code has keven =9. This code is preferred because of its resulting encoding rate. The encoding rate of standard d=1 RLL is 2:3. This means that three bits of encoded data are generated for every two bits of unencoded data. A preferred code, having keven =9, also has an encoding rate of 2:3.
FIG. 2 is a finite state transition diagram of a d=1 RLL code having a constraint k=keven. The allowable constrained sequences are those which can be generated by this diagram. The states are represented by number enclosed by circles. Transitions from state to state are caused by presentation of pairs of bits in the datastream. Each pair of bits includes one odd bit and one even bit and is represented as OE, where O is the odd bit and E is the even bit. Pairs of bits must be used to cause state transitions because the keven constraint is only on the even bits. The sequence begins in state 0. Presentation of a 01 causes the sequence to remain in state 0. Presentation of 00 causes the sequence to transition to state 1. There are no transitions from state 0 due to presentation of 10 or 11 because those bit pairs are not allowed after a 01, due to the constraint that there cannot be consecutive 1's. In states 1 through k-1, presentation of a 00 or 10 causes the sequence to transition to the next state. Presentation of a 01 causes a transition back to state 0. Again, there are no transitions for 11 due to the constraint on consecutive 1's. State k is reached only after the number of even bit 0's equals the value k. The only allowed transition from state k is 01, which returns the sequence to state 0.
FIG. 3 is a block diagram of an encoder 300, which generates a datastream encoded with a modified d=1 code meeting the above described constraints. Encoder 300 is preferably a finite state machine, but software implementation is also possible. Encoder 300 includes input block 307, logic block 302, storage block 304 and output block 308. Encoder 300 outputs 6 encoded bits for every 4 bits input. Input block 307 receives unencoded data and transmits it to inputs b3 -b0 of logic block 302 via lines 310-13. Encoded data is output from logic block 302 via outputs c5 -c0 over lines 320-25 to output block 308, which outputs the encoded data. Next state information is output from logic block 302 via outputs t2 -t0 330-32. The next state is stored in storage register 304 as controlled by storage clock 306. Once stored, the next state becomes the present state and is input to logic block 302 via inputs s2 -s0 340-42. The logic included in logic block 302 is shown in Table A. In order to reduce the gate count, intermediate products, which are only used internally, are generated.
              TABLE A                                                     
______________________________________                                    
Encoder Output                                                            
present state      c.sub.5 c.sub.4 c.sub.3 c.sub.2 c.sub.1 c.sub.0        
user byte          d.sub.5 d.sub.4 d.sub.3 d.sub.2 d.sub.1 d.sub.0        
intermediate products                                                     
x.sub.0            s.sub.1 s.sub.0                                        
x.sub.1            b.sub.2 b.sub.1 + b.sub.0                              
x.sub.1            c.sub.0 + b.sub.3                                      
output                                                                    
c.sub.5            s.sub.1 s.sub.0 b.sub.1 c.sub.2 + b.sub.1 b.sub.0      
                   c.sub.0 +                                              
                   b.sub.2 b.sub.0 c.sub.0 + x.sub.0 x.sub.2 + s.sub.1    
                   c.sub.2                                                
c.sub.4            s.sub.2 c.sub.2 x.sub.0 x.sub.2 + s.sub.1 b.sub.3      
                   c.sub.2                                                
c.sub.3            b.sub.2 b.sub.1 c.sub.5 x.sub.0 + c.sub.5 c.sub.0      
                   x.sub.1 +                                              
                   b.sub.3 c.sub.5 c.sub.0 + s.sub.2 x.sub.2              
c.sub.2            s.sub.2 c.sub.0 x.sub.0 + s.sub.2 s.sub.1 s.sub.0 +    
                   s.sub.0 x.sub.2                                        
c.sub.1            b.sub.3 c.sub.4 c.sub.2 + s.sub.2 b.sub.0              
c.sub.0            s.sub.2 b.sub.3 x.sub.0 + s.sub.2 x.sub.1              
Encoder Next State                                                        
intermediate products                                                     
y.sub.0            b.sub.3 + s.sub.0                                      
y.sub.1            s.sub.1 b.sub.1 + s.sub.1 b.sub.1                      
y.sub.2            y.sub.0 + s.sub.1                                      
y.sub.3            b.sub.2 t.sub.2                                        
next state                                                                
t.sub.2            s.sub.2 b.sub.2 b.sub.1 y.sub.2 + s.sub.2 b.sub.1      
                   b.sub.0 y.sub.2 +                                      
                   s.sub.2 s.sub.0 b.sub.2 y.sub.2 +                      
                   s.sub.2 s.sub.0 b.sub.2 y.sub.1 + s.sub.2 b.sub.2      
                   b.sub.1 b.sub.0                                        
t.sub.1            s.sub.2 b.sub.2 b.sub.0 y.sub.2 + s.sub.2 s.sub.0      
                   t.sub.2 y.sub.1 +                                      
                   b.sub.1 y.sub.3 + s.sub.1 y.sub.3                      
t.sub.0            b.sub.1 b.sub.0 t.sub.1 y.sub.2 + s.sub.2 b.sub.1      
                   t.sub.2 +                                              
                   y.sub.2 y.sub.3 + s.sub.2 y.sub.3 + s.sub.2 t.sub.1    
______________________________________                                    
                   2                                                      
The resulting code is shown in Table B. The rows are indexed by the states, 0 to 6. The columns are indexed by the inputs, which are 4-bit binary strings written in decimal. The entries are of the form cls, where c is the decimal representation of the 6-bit output string and s is the next state.
              TABLE B                                                     
______________________________________                                    
     0      1       2    3     4    5     6    7                          
______________________________________                                    
0    17/0   16/1    17/1 16/2  17/2 16/3  16/4 16/5                       
1    5/0    4/1     5/1  4/2   5/2  4/3   4/4  4/5                        
2    0/1    2/1     0/3  2/3   0/4  2/4   0/6  2/6                        
3    41/0   36/1    41/1 36/2  41/2 36/3  36/4 36/5                       
4    17/0   16/1    17/1 16/2  17/2 16/3  16/4 16/5                       
5    32/3   34/3    32/1 34/1  32/6 34/6  32/4 34/4                       
6    0/1    2/1     32/1 34/1  0/4  2/4   32/4 34/4                       
______________________________________                                    
     8      9       10   11    12   13    14   15                         
______________________________________                                    
0    1/0    18/1    1/1  18/2  1/2  18/3  18/4 18/5                       
1    21/0   20/1    21/1 20/2  21/2 20/3  20/4 20/5                       
2    8/1    10/1    8/3  10/3  8/4  10/4  8/6  10/6                       
3    9/0    33/0    1/1  9/1   1/2  33/1  9/2  33/2                       
4    37/0   18/1    37/1 18/2  37/2 18/3  18/4 18/5                       
5    40/3   42/3    40/1 42/1  40/6 42/6  40/4 42/4                       
6    8/1    10/1    40/1 42/1  8/4  10/4  40/4 42/4                       
______________________________________                                    
FIG. 4 is a block diagram of a decoder 118 of FIG. 1, which decodes a datastream encoded with the modified d=1 code of Table B. The odd bit binary data output 120a and the even bit binary data output 120b are input to demultiplexer 404. Demultiplexer 404 demultiplexes the separate odd and even bits into integrated six-bit strings and outputs the six-bit strings to storage register 408. Two storage registers are needed because two six-bit strings are used to generate each four-bit output nibble. Register 406 stores the six-bit string currently being decoded. Register 408 stores the six-bit string to be decoded next. The six bit outputs from register 406, outputs 410 to 415, are input to decoding logic block 402, on inputs c5 to c0. The six bit outputs from register 408, outputs 420 to 425, are input to decoding logic block 402 on inputs d5 to d0. Decoded four-bit groups are output from outputs b3 to b 0 430 to 433. After each four-bit group is output, the six-bit string stored in register 408 replaces the string stored in register 406 and a new string is stored in register 408.
The logic included in decoding logic block 402 is shown in Table C. In order to reduce the gate count, intermediate products, which are only used internally, are generated.
              TABLE C                                                     
______________________________________                                    
Decoder                                                                   
present state     c.sub.5 c.sub.4 c.sub.3 c.sub.2 c.sub.1 c.sub.0         
user byte         d.sub.5 d.sub.4 d.sub.3 d.sub.2 d.sub.1 d.sub.0         
intermediate products                                                     
z.sub.0           c.sub.2 + c.sub.4                                       
z.sub.1           c.sub.3 c.sub.1                                         
z.sub.2           d.sub.2 d.sub.0                                         
z.sub.3           d.sub.4 d.sub.0 + d.sub.5 d.sub.2                       
z.sub.4           c.sub.0 d.sub.4                                         
z.sub.5           d.sub.5 z.sub.1                                         
z.sub.6           d.sub.4 z.sub.2                                         
z.sub.7           c.sub.0 d.sub.2                                         
z.sub.8           c.sub.3 c.sub.2                                         
z.sub.9           d.sub.5 z.sub.0                                         
user byte                                                                 
b.sub.3           c.sub.5 c.sub.0 z.sub.9 + c.sub.5 c.sub.0 z.sub.5 +     
                  c.sub.1 c.sub.4 + c.sub.2 c.sub.4 + c.sub.3 c.sub.0     
b.sub.2           d.sub.2 z.sub.0 z.sub.2 z.sub.4 + b.sub.0 z.sub.7       
                  z.sub.8 +                                               
                  c.sub.0 d.sub.2 z.sub.4 + d.sub.5 d.sub.2 d.sub.0 +     
                  z.sub.0 z.sub.6 + b.sub.0 z.sub.6 + d.sub.5 z.sub.0     
b.sub.1           c.sub.5 b.sub.2 z.sub.0 z.sub.6 z.sub.7 + c.sub.5       
                  d.sub.2 b.sub.2 z.sub.9 +                               
                  c.sub.5 d.sub.2 z.sub.0 z.sub.4 + c.sub.5 z.sub.5       
                  z.sub.6 +                                               
                  c.sub.1 b.sub.0 z.sub.6 + c.sub.0 b.sub.0 z.sub.0 +     
                  c.sub.5 d.sub.5 b.sub.2 + b.sub.2 z.sub.7               
b.sub.0           c.sub.5 b.sub.3 z.sub.8 + c.sub.3 b.sub.3 z.sub.7 +     
                  d.sub.2 z.sub.0 z.sub.4 + c.sub.0 z.sub.0 z.sub.3 +     
                  c.sub.1 c.sub.4                                         
______________________________________                                    
The resulting decoding is shown in Table D. Each row corresponds to the current 6-bit string, which is stored in register 406, written in decimal. Each column corresponds to the next 6-bit string, which is stored in register 408, written in decimal. The table entries are the 4-bit output groups, written decimal. As can be seen, some combinations cannot occur and are designated by a "-".
              TABLE D                                                     
______________________________________                                    
c  inputs                                                                  
d inputs                                                                   
      0,2,8,10                                                            
              1,9,33,36,41                                                
                        4,5,20,21                                         
                               16,17,18,37                                
                                       32,34,40,42                        
______________________________________                                    
0     6       2         0      4       6                                  
1,21,37                                                                   
      12      8         10     8       --                                 
2     7       3         1      5       7                                  
4,16,36                                                                   
      3       5         1      6       7                                  
5,17,41                                                                   
      4       0         2      0       --                                 
8     14      10        8      12      14                                 
9     14      8         11     8       --                                 
10    15      11        9      13      15                                 
18,20 11      13        9      14      15                                 
32    4       0         2      6       4                                  
33    15      9         13     9       --                                 
34    5       1         3      7       5                                  
40    12      8         10     14      12                                 
42    13      9         11     15      13                                 
______________________________________                                    
Although specific embodiments of the present invention have been described, it will be understood by those of skill in the art that there are other embodiments which are equivalent to the described embodiment. Accordingly, it is to be understood that the invention is not to be limited by the specific illustrated embodiment, but only by the scope of the appended claims.

Claims (19)

What is claimed is:
1. A circuit for generating digital data signals from an analog signal representing digital data, comprising:
a plurality of digital detection channels, coupled to the analog signal, each channel outputting an alternate bit of digital data represented by the analog signal; and
a timing circuit, coupled to the plurality of digital detection channels, generating a plurality of timing signals controlling the plurality of digital detection channels, the timing circuit deriving timing information from a single one of the plurality of digital detection channels.
2. The circuit of claim 1, wherein each one of the plurality of digital detection channels comprises:
an analog to digital converter, coupled to the analog signal, generating a digital signal representing the analog signal;
an equalizer, coupled to the digital signal, generating an equalized digital signal; and
a detector, coupled to the equalized digital signal, generating a binary data signal.
3. The circuit of claim 1, wherein the timing circuit comprises:
a timing phase circuit, coupled to one of the plurality of digital detection channels, extracting a timing phase signal from the digital detection channel;
a digital to analog converter, coupled to the timing phase signal, generating an error signal; and
a phase locked oscillator, coupled to the error signal, generating a plurality of timing signals, each timing signal controlling a respective one of the plurality of digital detection channels.
4. The circuit of claim 1, wherein:
each one of the plurality of digital detection channels comprises:
an analog to digital converter, coupled to the analog signal and having a timing signal input, generating a digital signal representing the analog signal,
an equalizer, coupled to the digital signal, generating an equalized digital signal, and
a detector, coupled to the equalized digital signal, generating a binary data signal; and
the timing circuit comprises:
a timing phase circuit, coupled to one of the plurality of digital detection channels, extracting a timing phase signal from the digital detection channel,
a digital to analog converter, coupled to the timing phase signal, generating an error signal, and
a phase locked oscillator, coupled to the error signal, generating a plurality of timing signals, each timing signal coupled to a timing signal input of the analog to digital converter of a respective one of the plurality of digital detection channels.
5. The circuit of claim 1, wherein there are two digital detection channels.
6. The circuit of claim 1, wherein the digital data represented by the analog signal is encoded with a run length limited code having at most nine consecutive 0's in the digital data output by the digital detection channel from which the timing circuit derives the timing information, the circuit further comprising:
a decoder, coupled to the outputs of the plurality of digital detection channels, decoding the encoded digital data.
7. The circuit of claim 6, wherein the decoder comprises:
a demultiplexer, coupled to the output of each digital detection channel, arranging each alternate bit to form a multi-bit string and outputting the multi-bit string;
a first register, coupled to the demultiplexer, storing a first multi-bit string;
a second register, coupled to the demultiplexer, storing a second multi-bit string;
a decoding logic circuit, coupled to the first register and the second register, outputting a multi-bit group based on the first multi-bit string and on the second multi-bit string.
8. A system including a circuit for generating digital data signals from an analog signal representing digital data, according to claim 1, and a circuit which accepts a digital data signal and outputs an analog signal representing the digital data, comprising:
an input device receiving the digital data signal;
a finite state machine, coupled to the digital data signal and generating a signal encoded with a run length limited code having at most nine consecutive 0's; and
an output device, coupled to the encoded signal, outputting the encoded signal.
9. In a circuit for generating digital data signals from an analog signal representing digital data, comprising a plurality of digital detection channels, each channel outputting an alternate bit of encoded digital data represented by the analog signal, and a timing circuit generating a plurality of timing signals controlling the plurality of digital detection channels, the timing circuit deriving timing information from a single one of the plurality of digital detection channels, a decoder for decoding the encoded digital data comprising:
a demultiplexer, coupled to the output of each digital detection channel, arranging each alternate bit to form a multi-bit string and outputting the multi-bit string;
a first register, coupled to the demultiplexer, storing a first multi-bit string;
a second register, coupled to the demultiplexer, storing a second multi-bit string;
a decoding logic circuit, coupled to the first register and the second register, outputting a multi-bit group based on the first multi-bit string and on the second multi-bit string.
10. The decoder of claim 9, wherein the digital data is encoded with a run length limited code having at most nine consecutive 0's in the digital data output by the digital detection channel from which the timing circuit derives the timing information.
11. In a circuit which accepts a digital data signal and outputs an analog signal representing the digital data, an encoder for encoding the digital data signal comprising:
an input device receiving the digital data signal;
a finite state machine, coupled to the digital data signal and generating a signal encoded with a run length limited code and having timing information encoded only on alternate bits of the encoded signal; and
an output device, coupled to the encoded signal, outputting the encoded signal.
12. The circuit of claim 11, wherein the bits of the encoded signal which have timing information have at most nine consecutive 0's.
13. A system comprising:
a circuit which accepts a digital data signal and outputs an analog signal representing the digital data, comprising:
an encoder for encoding the digital data signal, comprising:
an input device receiving the digital data signal,
a finite state machine, coupled to the digital data signal and generating a signal encoded with a run length limited code having at most nine consecutive 0's, and
an output device, coupled to the encoded signal, outputting the encoded signal; and
a circuit for generating digital data signals from an analog signal representing digital data, comprising:
a plurality of digital detection channels, coupled to the analog signal, each channel outputting an alternate bit of digital data represented by the analog signal, and
a timing circuit, coupled to the plurality of digital detection channels, generating a plurality of timing signals controlling the plurality of digital detection channels, the timing circuit deriving timing information from a single one of the plurality of digital detection channels.
14. The circuit of claim 13, wherein each one of the plurality of digital detection channels comprises:
an analog to digital converter, coupled to the analog signal, generating a digital signal representing the analog signal;
an equalizer, coupled to the digital signal, generating an equalized digital signal; and
a detector, coupled to the equalized digital signal, generating a binary data signal.
15. The circuit of claim 13, wherein the timing circuit comprises:
a timing phase circuit, coupled to one of the plurality of digital detection channels, extracting a timing phase signal from the digital detection channel;
a digital to analog converter, coupled to the timing phase signal, generating an error signal; and
a phase locked oscillator, coupled to the error signal, generating a plurality of timing signals, each timing signal controlling a respective one of the plurality of digital detection channels.
16. The circuit of claim 13, wherein:
each one of the plurality of digital detection channels comprises:
an analog to digital converter, coupled to the analog signal and having a timing signal input, generating a digital signal representing the analog signal,
an equalizer, coupled to the digital signal, generating an equalized digital signal, and
a detector, coupled to the equalized digital signal, generating a binary data signal; and
the timing circuit comprises:
a timing phase circuit, coupled to one of the plurality of digital detection channels, extracting a timing phase signal from the digital detection channel,
a digital to analog converter, coupled to the timing phase signal, generating an error signal, and
a phase locked oscillator, coupled to the error signal, generating a plurality of timing signals, each timing signal coupled to a timing signal input of the analog to digital converter of a respective one of the plurality of digital detection channels.
17. The circuit of claim 13, wherein there are two digital detection channels.
18. The circuit of claim 13, wherein the digital data represented by the analog signal is encoded with a run length limited code having at most nine consecutive 0's in the digital data output by the digital detection channel from which the timing circuit derives the timing information, the circuit further comprising:
a decoder, coupled to the outputs of the plurality of digital detection channels, decoding the encoded digital data.
19. The circuit of claim 18, wherein the decoder comprises:
a demultiplexer, coupled to the output of each digital detection channel, arranging each alternate bit to form a multi-bit string and outputting the multi-bit string;
a first register, coupled to the demultiplexer, storing a first multi-bit string;
a second register, coupled to the demultiplexer, storing a second multi-bit string;
a decoding logic circuit, coupled to the first register and the second register, outputting a multi-bit group based on the first multi-bit string and on the second multi-bit string.
US08/730,862 1996-10-18 1996-10-18 Hard disk drive read channel with half speed timing Expired - Lifetime US5946354A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US08/730,862 US5946354A (en) 1996-10-18 1996-10-18 Hard disk drive read channel with half speed timing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/730,862 US5946354A (en) 1996-10-18 1996-10-18 Hard disk drive read channel with half speed timing

Publications (1)

Publication Number Publication Date
US5946354A true US5946354A (en) 1999-08-31

Family

ID=24937091

Family Applications (1)

Application Number Title Priority Date Filing Date
US08/730,862 Expired - Lifetime US5946354A (en) 1996-10-18 1996-10-18 Hard disk drive read channel with half speed timing

Country Status (1)

Country Link
US (1) US5946354A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040205097A1 (en) * 2001-08-17 2004-10-14 Christofer Toumazou Hybrid digital/analog processing circuit
US20050271135A1 (en) * 2004-06-03 2005-12-08 Nec Electronics Corporation Receiving device and analog-to-digital conversion device

Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3573622A (en) * 1968-04-23 1971-04-06 Bell Telephone Labor Inc Partial-response signal sampling for half-speed data transmission
US3731220A (en) * 1972-05-30 1973-05-01 Honeywell Inf Systems Phase locked oscillator for use with variable speed data source
US3795765A (en) * 1971-12-29 1974-03-05 Xerox Corp Alternate analog encoding method and apparatus
US4271525A (en) * 1979-02-21 1981-06-02 Nippon Electric Co., Ltd. Adaptive diversity receiver for digital communications
US4373152A (en) * 1980-12-22 1983-02-08 Honeywell Information Systems Inc. Binary to one out of four converter
US4398225A (en) * 1981-04-24 1983-08-09 Iomega Corporation Combined serializer encoder and decoder for data storage system
US4413251A (en) * 1981-07-16 1983-11-01 International Business Machines Corporation Method and apparatus for generating a noiseless sliding block code for a (1,7) channel with rate 2/3
US4488142A (en) * 1981-12-31 1984-12-11 International Business Machines Corporation Apparatus for encoding unconstrained data onto a (1,7) format with rate 2/3
US4544962A (en) * 1981-07-06 1985-10-01 Matsushita Electric Industrial Co., Ltd. Method and apparatus for processing binary data
US4684921A (en) * 1985-06-13 1987-08-04 International Business Machines Corporation RLL (1,7) encoder with single state bit
US4847869A (en) * 1987-12-04 1989-07-11 Motorla, Inc. Rapid reference acquisition and phase error compensation for radio transmission of data
US4860286A (en) * 1987-04-07 1989-08-22 Telefonaktiebolaget L M Ericsson Encoding method in transmission of plurality of oversampled data channels, and apparatus for carrying out the method
US4870415A (en) * 1987-10-19 1989-09-26 Hewlett-Packard Company Data compression system with expansion protection
US4897854A (en) * 1989-02-24 1990-01-30 General Instrument Corporation Alternate pulse inversion encoding scheme for serial data transmission
US5047767A (en) * 1990-05-21 1991-09-10 Eastman Kodak Company Apparatus utilizing a four state encoder for encoding and decoding A sliding block (1,7) code
US5258933A (en) * 1992-08-27 1993-11-02 Quantum Corporation Timing control for PRML class IV sampling data detection channel
US5396239A (en) * 1989-07-17 1995-03-07 Digital Equipment Corporation Data and forward error control coding techniques for digital signals
US5408499A (en) * 1993-01-14 1995-04-18 Nec Corporation Multilevel code for transmission device
US5521767A (en) * 1993-09-17 1996-05-28 Quantum Corporation Optimized equalizer system for data recovery and timing extraction in partial response read channels
US5731768A (en) * 1996-01-31 1998-03-24 Seagate Technology, Inc. Method and apparatus for implementing codes with maximum transition run length

Patent Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3573622A (en) * 1968-04-23 1971-04-06 Bell Telephone Labor Inc Partial-response signal sampling for half-speed data transmission
US3795765A (en) * 1971-12-29 1974-03-05 Xerox Corp Alternate analog encoding method and apparatus
US3731220A (en) * 1972-05-30 1973-05-01 Honeywell Inf Systems Phase locked oscillator for use with variable speed data source
US4271525A (en) * 1979-02-21 1981-06-02 Nippon Electric Co., Ltd. Adaptive diversity receiver for digital communications
US4373152A (en) * 1980-12-22 1983-02-08 Honeywell Information Systems Inc. Binary to one out of four converter
US4398225A (en) * 1981-04-24 1983-08-09 Iomega Corporation Combined serializer encoder and decoder for data storage system
US4544962A (en) * 1981-07-06 1985-10-01 Matsushita Electric Industrial Co., Ltd. Method and apparatus for processing binary data
US4413251A (en) * 1981-07-16 1983-11-01 International Business Machines Corporation Method and apparatus for generating a noiseless sliding block code for a (1,7) channel with rate 2/3
US4488142A (en) * 1981-12-31 1984-12-11 International Business Machines Corporation Apparatus for encoding unconstrained data onto a (1,7) format with rate 2/3
US4684921A (en) * 1985-06-13 1987-08-04 International Business Machines Corporation RLL (1,7) encoder with single state bit
US4860286A (en) * 1987-04-07 1989-08-22 Telefonaktiebolaget L M Ericsson Encoding method in transmission of plurality of oversampled data channels, and apparatus for carrying out the method
US4870415A (en) * 1987-10-19 1989-09-26 Hewlett-Packard Company Data compression system with expansion protection
US4847869A (en) * 1987-12-04 1989-07-11 Motorla, Inc. Rapid reference acquisition and phase error compensation for radio transmission of data
US4897854A (en) * 1989-02-24 1990-01-30 General Instrument Corporation Alternate pulse inversion encoding scheme for serial data transmission
US5396239A (en) * 1989-07-17 1995-03-07 Digital Equipment Corporation Data and forward error control coding techniques for digital signals
US5047767A (en) * 1990-05-21 1991-09-10 Eastman Kodak Company Apparatus utilizing a four state encoder for encoding and decoding A sliding block (1,7) code
US5258933A (en) * 1992-08-27 1993-11-02 Quantum Corporation Timing control for PRML class IV sampling data detection channel
US5408499A (en) * 1993-01-14 1995-04-18 Nec Corporation Multilevel code for transmission device
US5521767A (en) * 1993-09-17 1996-05-28 Quantum Corporation Optimized equalizer system for data recovery and timing extraction in partial response read channels
US5731768A (en) * 1996-01-31 1998-03-24 Seagate Technology, Inc. Method and apparatus for implementing codes with maximum transition run length

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040205097A1 (en) * 2001-08-17 2004-10-14 Christofer Toumazou Hybrid digital/analog processing circuit
US6954163B2 (en) * 2001-08-17 2005-10-11 Toumaz Technology Limited Hybrid digital/analog processing circuit
US20050271135A1 (en) * 2004-06-03 2005-12-08 Nec Electronics Corporation Receiving device and analog-to-digital conversion device
US7693214B2 (en) * 2004-06-03 2010-04-06 Nec Electronics Corporation Receiving device and analog-to-digital conversion device

Similar Documents

Publication Publication Date Title
US5196849A (en) Method and apparatus for implementing PRML codes with maximum ones
US6105159A (en) Trellis code with improved error propagation
US4020282A (en) High density data processing system
US4677421A (en) Digital information signal encoding method with reduced run length and improved self-clocking
US5173694A (en) Binary data encoding and decoding using a rate 2/5 (2,18,2) code
US4609907A (en) Dual channel partial response system
US5047767A (en) Apparatus utilizing a four state encoder for encoding and decoding A sliding block (1,7) code
FI74565C (en) FOERFARANDE FOER KODNING AV EN SEKVENS AV BINAERA DATABITAR TILL EN SEKVENS AV BINAERA KANALBITAR.
JPH04225625A (en) Digital modulation system
US3921210A (en) High density data processing system
JP2002533974A (en) Apparatus for encoding an n-bit source word into a corresponding m-bit channel word and decoding the m-bit channel word into a corresponding n-bit source word
US7592931B2 (en) Method and apparatus for coding information, method and apparatus for decoding coded information, method of fabricating a recording medium, the recording medium and modulated signal
US20020174402A1 (en) Viterbi detector
US5946354A (en) Hard disk drive read channel with half speed timing
KR930007938B1 (en) Recording device and reproducing device
US5646950A (en) Matched spectral null codes for partial response channels
US5175545A (en) Data coding system in a magnetic recording apparatus
US5828675A (en) Viterbi decoder circuit
US6639524B2 (en) Method and apparatus for coding information, method and apparatus for decoding coded information, method of fabricating a recording medium, the recording medium and modulated signal
US6097321A (en) Punctured maximum transition run code, apparatus and method for providing the same
KR20020038709A (en) Device for encoding a stream of databits of a binary source signal into a stream of databits of a binary channel signal, memory means, device for recording information, record carrier, device for coding and device for playing back
US6044053A (en) Dc-balance-value calculation circuit and recording signal generator using the same
JP3858362B2 (en) Decoding apparatus and method, and data reproducing apparatus
US5841812A (en) NMOS pass transistor digital signal processor for a PRML system
KR20010041155A (en) Device for encoding n-bit source words into corresponding m-bit channel words and decoding m-bit channel words into corresponding n-bit source words

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ASHLEY, JONATHAN JAMES;MARCUS, BRIAN HARRY;MELAS, CONSTANTIN MICHAEL;REEL/FRAME:008305/0224

Effective date: 19961018

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: HITACHI GLOBAL STORAGE TECHNOLOGIES NETHERLANDS B.

Free format text: CHANGE OF NAME;ASSIGNOR:MARIANA HDD B.V.;REEL/FRAME:014871/0450

Effective date: 20021231

Owner name: MARIANA HDD B.V., NETHERLANDS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:014871/0746

Effective date: 20021231

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 8

FPAY Fee payment

Year of fee payment: 12

AS Assignment

Owner name: HGST, NETHERLANDS B.V., NETHERLANDS

Free format text: CHANGE OF NAME;ASSIGNOR:HGST, NETHERLANDS B.V.;REEL/FRAME:029341/0777

Effective date: 20120723

Owner name: HGST NETHERLANDS B.V., NETHERLANDS

Free format text: CHANGE OF NAME;ASSIGNOR:HITACHI GLOBAL STORAGE TECHNOLOGIES NETHERLANDS B.V.;REEL/FRAME:029341/0777

Effective date: 20120723

AS Assignment

Owner name: WESTERN DIGITAL TECHNOLOGIES, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HGST NETHERLANDS B.V.;REEL/FRAME:040818/0551

Effective date: 20160831