# US 5,196,849 A · Method and apparatus for implementing PRML codes with maximum ones

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 5,196,849 A
- Document ID: US5196849A
- Status: Granted
- Kind: A
- Application number: 07/829,796
- Filed: 1992-01-31
- Granted: 1993-03-23
- Earliest claimed: 1992-01-31
- Assignees: International Business Machines Corporation
- Inventors: Richard L. Galbraith
- Web page: https://patentgrep.com/patent/US5196849A

## CPC

- G11B 20/1426: {conversion to or from block codes or representations thereof}
- H03M 5/145: {Conversion to or from block codes or representations thereof}
- G11B 2020/1434: {8 to 9 modulation}
- G11B: INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER (recording measured values in a way that does not require playback through a transducer G01D9/00; recording or playback apparatus using mechanically marked tape, e.g. punched paper tape, or using unit records, e.g. punched or magnetically marked cards G06K; transferring data from one type of record carrier to another G06K1/18; circuits for coupling output of reproducer to radio receiver H04B1/20; gramophone pick-ups or like acoustic electromechanical transducers or circuits therefor H04R)
- H03M: CODING; DECODING; CODE CONVERSION IN GENERAL (using fluidic means F15C4/00; optical analogue/digital converters G02F7/00; coding, decoding or code conversion, specially adapted for particular applications, see the relevant subclasses, e.g. G01D, G01R, G06F, G06T, G09G, G10L, G11B, G11C, H04B, H04L, H04M, H04N; ciphering or deciphering for cryptography or other purposes involving the need for secrecy G09C)

## Abstract

Apparatus and methods are provided for encoding a predefined number of bits of binary data into codewords having a predefined number of bits for a partial-response maximum-liklihood (PRML) data channel in a direct access storage device (DASD). Rate 8/9 block codes having maximum ones and run length constraints (0,8,12,.infin.) and (0,8,6,.infin.) provide timing and gain control and reduced susceptibility to misequalization effects in PRML channels.

## Claims

### Claim 1

A method for encoding a predefined number of bits of binary data into codewords having a predefined number of bits for a partial-response maximum-likelihood (PRML) data channel in a direct access storage device (DASD) comprising the steps of:
receiving the binary data; and
generating sequences of codewords responsive to the received binary data;
each of said generated codewords being included within a predetermined set of codewords, said codeword set having a maximum number of binary ones;
said generated sequences of codewords having less than a first predetermined number of consecutive zeros;
said generated sequences of codewords including two subsequences, one of said subsequences including odd bit positions and another of said subsequences including even bit positions, said subsequences having less than a second predetermined number of consecutive zeros.

### Claim 2 (depends on 1)

A method as recited in claim 1 wherein 8-bits of binary data are encoded into 9-bit codewords and said predetermined set of codewords includes 256 codewords and at least 253 codewords have at least 5 ones and wherein said step of generating sequences of codewords includes the steps of:
calculating the sum of said 8-bits of binary data;
comparing the calculated sum with 4;
defining an intermediate variable responsive to said compared values.

### Claim 3 (depends on 2)

A method as recited in claim 2 further includes the steps of:
defining the intermediate variable equal to zero responsive to the calculated sum less than 4;
defining the intermediate variable equal to one responsive to the calculated sum greater than or equal to 4.

### Claim 4 (depends on 3)

A method as recited in claim 3 wherein said first predetermined number equals 8 and wherein said second predetermined number equals 12 and further includes the steps of:
combining the defined intermediate variable and each of said 8-bits by an exclusive nor operation to define 8 of the 9-bit codeword; and
defining another codeword bit equal to the defined intermediate variable.

### Claim 5 (depends on 3)

A method as recited in claim 3 wherein said first predetermined number equals 8 and wherein said second predetermined number equals 6 and further includes the steps of:
defining a second intermediate variable as a function of said 8-bits of binary data;
combining the defined intermediate variable and each of said 8-bits by an exclusive or operation; defining 8 of the 9-bit codeword as a function of said combined bits and said second intermediate variable; and
combining the defined intermediate variable and the second intermediate variable by an exclusive or operation to define another codeword bit.

### Claim 6 (depends on 1)

A method as recited in claim 1 wherein said generated sequences of codewords provide greater power density in the center of the PRML channel bandwidth and less power at the bandwidth edges whereby susceptibility to misequalization is reduced.

### Claim 7

Apparatus for encoding a predefined number of bits of binary data into codewords having a predefined number of bits for a partial-response maximum-likelihood (PRML) data channel in a direct access storage device (DASD) comprising:
means for receiving the binary data; and
means coupled to said receiving means for generating sequences of codewords responsive to the received binary data;
each of said generated codewords being includes within a predetermined set of codewords, said codeword set having a maximum number of binary ones;
said generated sequences of codewords having less than a first predetermined number of consecutive zeroes;
said generated sequences of codewords including two subsequences, one of said subsequences including odd bit positions and another of said subsequences including even bit positions, said subsequences having less than a second predetermined number of consecutive zeroes.

### Claim 8 (depends on 7)

Apparatus as recited claim 7 wherein 8-bits of binary data are encoded into 9-bit codewords and wherein said means for generating sequences of codewords includes means for defining an intermediate variable equal to either one or zero responsive to each received 8-bits of binary data.

### Claim 9 (depends on 8)

Apparatus as recited claim 8 wherein said first predetermined number equals 8 and wherein said second predetermined number equals 12 and further includes:
means for combining the defined intermediate variable and each of said 8-bits by an exclusive nor operation to define 8 of the 9-bit codeword; and
means for defining another codeword bit equal to the defined intermediate variable.

### Claim 10 (depends on 8)

Apparatus as recited claim 8 wherein said first predetermined number equals 8 and wherein said second predetermined number equals 6 and further includes:
means for defining a second intermediate variable as a function of said 8-bits of binary data;
means for combining the defined intermediate variable and each of said 8-bits by an exclusive or operation;
means for defining 8 of the 9-bit codeword as a function of said combined bits and said second intermediate variable; and
means for combining the defined intermediate variable and the second intermediate variable by an exclusive or operation to define another codeword bit.

### Claim 11 (depends on 9)

Apparatus as recited claim 9 further includes decoder means for decoding said generated sequences of codewords.

### Claim 12 (depends on 11)

Apparatus as recited claim 11 wherein said decoder means includes means for combining each of the defined 8 of the 9-bit codeword with said other codeword bit by an exclusive nor operation to produce the binary data.

### Claim 13 (depends on 10)

Apparatus as recited claim 10 further includes decoder means for decoding said generated sequences of codewords.

### Claim 14 (depends on 13)

Apparatus as recited claim 13 wherein said decoder means includes means for combining each of the defined 8 of the 9-bit codeword with said other codeword bit by an exclusive nor operation and means for combining said combined bits with said second intermediate value to produce the binary data.

### Claim 15 (depends on 8)

Apparatus as recited claim 8 wherein said first predetermined number equals 8 and wherein said second predetermined number equals 12 and wherein said encoding apparatus includes a plurality of gating means for producing the codewords.

### Claim 16 (depends on 8)

Apparatus as recited claim 8 wherein said first predetermined number equals 8 and wherein said second predetermined number equals 6 and wherein said encoding apparatus includes a plurality of gating means for producing the codewords.
