# US 6,985,320 B2 · Method and apparatus for encoding data to guarantee isolated transitions in a magnetic recording system

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

- Number: US 6,985,320 B2
- Document ID: US6985320B2
- Status: Granted
- Kind: B2
- Application number: 10/037,753
- Filed: 2002-01-02
- Published: 2003-07-03
- Granted: 2006-01-10
- Earliest claimed: 2002-01-02
- Assignees: International Business Machines Corporation
- Inventors: Mario Blaum; Glen Alan Jaquette; Brian Harry Marcus; Constantin Michael Melas
- Web page: https://patentgrep.com/patent/US6985320B2

## CPC

- G11B 20/10009: {Improvement or modification of read or write signals}
- G11B 20/1426: {conversion to or from block codes or representations thereof}
- G11B 5/00813: {magnetic tapes}
- G11B 5/09: Digital recording
- G11B 2020/1434: {8 to 9 modulation}
- G11B 2020/1446: {16 to 17 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)

## Abstract

Provided is a method, system, and program for storing input groups of uncoded binary data on a storage medium. A plurality of uncoded data blocks in a data stream are received. An encoded data stream is obtained from concatenating successive encoded blocks such that the encoded data stream includes a predetermined bit pattern comprising a plurality of bits. The bit pattern always occurs within a first number of bits and two occurrences of a “1” or “0” occur within a second number of bits. The encoded data blocks are stored on the storage medium.

## Claims

### Claim 1

A method for storing input groups of uncoded binary data on a storage medium, comprising:
receiving a plurality of uncoded data blocks in a data stream;
generating one corresponding encoded data block for each uncoded data block, wherein an encoded data stream obtained from concatenating successive encoded blocks includes a predetermined bit pattern comprising a plurality of bits, wherein the bit pattern always occurs within a first number of bits and two occurrences of a “1” and “0” always occur within a second number of bits; and
storing the encoded data stream on the storage medium.

### Claim 2 (depends on 1)

The method of claim 1, wherein the predetermined bit pattern represents a maximum amplitude peak in a constrained waveform that is guaranteed to occur within the first number of bits.

### Claim 3 (depends on 1)

The method of claim 1, wherein the encoded data blocks are generated using an encoder table.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
decoding the encoded data block by determining the decoded data block corresponding to the encoded data block.

### Claim 5 (depends on 1)

The method of claim 1, wherein the encoding function is performed by a finite state code.

### Claim 6 (depends on 5)

The method of claim 5, wherein one encoded data block corresponds to multiple uncoded data blocks, and wherein a value of at least one adjacent block is used to determine the uncoded data block that corresponds to the encoded data block corresponding to multiple uncoded data blocks.

### Claim 7 (depends on 1)

The method of claim 1, wherein the predetermined bit pattern comprises “010”, each uncoded data block comprises eight bits, and each encoded data block comprises nine bits.

### Claim 8 (depends on 7)

The method of claim 7, wherein the first number comprises twelve and the second number comprises six.

### Claim 9 (depends on 1)

The method of claim 1, wherein the predetermined bit pattern comprises “010”, wherein each uncoded data block comprises sixteen bits and wherein each encoded data block comprises seventeen bits.

### Claim 10 (depends on 9)

The method of claim 9, wherein the first number comprises twenty bits and the second number comprises fourteen bits.

### Claim 11 (depends on 9)

The method of claim 9, wherein a correspondence of uncoded to encoded data blocks comprises a finite state code scheme.

### Claim 12 (depends on 1)

The method of claim 1, wherein the predetermined bit pattern comprises “111”, wherein each uncoded data block comprises nine bits and wherein each encoded data block comprises ten bits.

### Claim 13 (depends on 12)

The method of claim 12, wherein the first number is fourteen.

### Claim 14 (depends on 1)

The method of claim 1, wherein the predetermined bit pattern comprises “111”, wherein each uncoded data block comprises sixteen bits, and wherein each encoded data block comprises seventeen bits.

### Claim 15 (depends on 14)

The method of claim 14, wherein the first number is twenty-one.

### Claim 16 (depends on 14)

The method of claim 14, wherein a correspondence of uncoded to encoded data blocks comprises a finite state code scheme.

### Claim 17 (depends on 1)

The method of claim 1, wherein the predetermined bit pattern comprises either “0100” or “0010”, wherein each uncoded data block comprises nine bits and wherein each encoded data block comprises ten bits.

### Claim 18 (depends on 17)

The method of claim 17, wherein the first number is twelve.

### Claim 19 (depends on 1)

The method of claim 1, wherein the predetermined bit pattern comprises either “0100” or “0010”, wherein each uncoded data block comprises sixteen bits.

### Claim 20 (depends on 19)

The method of claim 19, wherein each encoded data block comprises seventeen bits and wherein the firm number comprises nineteen bits.

### Claim 21 (depends on 19)

The method of claim 19, wherein a correspondence of uncoded to encoded data blocks comprises a finite state code scheme and wherein the first number is fifteen.

### Claim 22 (depends on 1)

The method of claim 1, wherein the predetermined bit pattern is included in one encoded data block or spans two encoded data blocks.

### Claim 23

A method for storing input groups of uncoded binary data on a storage medium, comprising:
receiving a plurality of uncoded data blocks in a data stream;
generating one corresponding encoded data block for each uncoded data block, wherein an encoded data stream obtained from concatenating successive encoded blocks includes a predetermined bit pattern comprising a plurality of bits, wherein the bit pattern always occurs within a first number of bits, and two occurrences of a “1” and “0” occur within a second number of bits, wherein the first number is greater than the second number; and
storing the encoded data stream on the storage medium.

### Claim 24

A method for storing input groups of uncoded binary data on a storage medium, comprising:
receiving a plurality of uncoded data blocks in a data stream;
generating one corresponding encoded data block for each uncoded data block, wherein an encoded data stream obtained from concatenating successive encoded blocks includes a predetermined bit pattern comprising a plurality of bits, wherein the bit pattern always occurs within a first number of bits and two occurrences of a “1” and “0” occur within a second number of bits; and
storing the encoded data stream on the storage medium, wherein the encoded data block can be used in partial response and extended partial response systems.

### Claim 25

A system for storing input groups of uncoded binary data on a storage medium, comprising:
means for receiving a plurality of uncoded data blocks in a data stream;
means for generating one corresponding encoded data block for each uncoded data block, wherein an encoded data stream obtained from concatenating successive encoded blocks includes a predetermined bit pattern comprising a plurality of bits, wherein the bit pattern always occurs within a first number of bits and two occurrences of a “1” and “0” always occur within a second number of bits; and
means for storing the encoded data stream on the storage medium.

### Claim 26 (depends on 25)

The system of claim 25, wherein the predetermined bit pattern represents a maximum amplitude peak in a constrained waveform that is guaranteed to occur within the first number of bits.

### Claim 27 (depends on 25)

The system of claim 25, wherein the encoding function is performed by a finite state code.

### Claim 28 (depends on 27)

The system of claim 27, wherein one encoded data block corresponds to multiple uncoded data blocks, and wherein a value of at least one adjacent block is used to determine the uncoded data block that corresponds to the encoded data block corresponding to multiple uncoded data blocks.

### Claim 29 (depends on 25)

The system of claim 25, wherein the predetermined bit pattern comprises “010” each uncoded data block comprises eight bits, and each encoded data block comprises nine bits.

### Claim 30 (depends on 25)

The system of claim 25, wherein the predetermined bit pattern comprises “111”, wherein each uncoded data block comprises nine bits and wherein each encoded data block comprises ten bits.

### Claim 31 (depends on 25)

The system of claim 25, wherein the predetermined bit pattern comprises “111”, wherein each uncoded data block comprises sixteen bits, wherein each encoded data block comprises seventeen bits.

### Claim 32 (depends on 25)

The system of claim 25, wherein the predetermined bit pattern comprises either “0100” or “0010” wherein each uncoded data block comprises nine bits and wherein each encoded data block comprises ten bits.

### Claim 33 (depends on 25)

The system of claim 25, wherein the predetermined bit pattern is included in one encoded data block or spans two encoded data blocks.

### Claim 34

A system for storing input groups of uncoded binary data on a storage medium, comprising:
means for receiving a plurality of uncoded data blocks in a data stream;
means for generating one corresponding encoded data block for each uncoded data block, wherein an encoded data stream obtained from concatenating successive encoded blocks includes a predetermined bit pattern comprising a plurality of bits, wherein the bit pattern always occurs within a first number of bits and two occurrences of a “1” and “0” occur within a second number of bits, wherein the first number is greater than the second number; and
means for storing the encoded data stream on the storage medium.

### Claim 35

An article of manufacture including code for storing input groups of uncoded binary data on a storage medium, wherein the code is capable of causing operations comprising:
receiving a plurality of uncoded data blocks in a data stream;
generating one corresponding encoded data block for each uncoded data block, wherein an encoded data stream obtained from, concatenating successive encoded blocks includes a predetermined bit pattern comprising a plurality of bits, wherein the bit pattern always occurs within a first number of bits and two occurrences of a “1” and “0” always occur within a second number of bits; and
storing the encoded data stream on the storage medium.

### Claim 36 (depends on 35)

The article of manufacture of claim 35, wherein the predetermined bit pattern represents a maximum amplitude peak in a constrained waveform that is guaranteed to occur within the first number of bits.

### Claim 37 (depends on 35)

The article of manufacture of claim 35, wherein the encoded data blocks are generated using an encoder table.

### Claim 38 (depends on 35)

The article of manufacture of claim 35, further comprising:
decoding the encoded data block by determining the decoded data block corresponding to the encoded data block.

### Claim 39 (depends on 35)

The article of manufacture of claim 35, wherein the encoding function is performed by a finite state code.

### Claim 40 (depends on 39)

The article of manufacture of claim 39, wherein one encoded data block corresponds to multiple uncoded data blocks, and wherein a value of at least one adjacent block is used to determine the uncoded data block that corresponds to the encoded data block corresponding to multiple uncoded data blocks.

### Claim 41 (depends on 35)

The article of manufacture of claim 35, wherein the predetermined bit pattern comprises “010”, each uncoded data block comprises eight bits, and each encoded data block comprises nine bits.

### Claim 42 (depends on 41)

The article of manufacture of claim 41, wherein the first number comprises twelve and the second number comprises six.

### Claim 43 (depends on 35)

The article of manufacture of claim 35, wherein the predetermined bit pattern comprises “010”, wherein each uncoded data block comprises sixteen bits and wherein each encoded data block comprises seventeen bits.

### Claim 44 (depends on 43)

The article of manufacture of claim 43, wherein the first number comprises twenty bits and the second number comprises fourteen bits.

### Claim 45 (depends on 43)

The article of manufacture of claim 43, wherein a correspondence of uncoded to encoded data blocks comprises a finite state code scheme.

### Claim 46 (depends on 35)

The article of manufacture of claim 35, wherein the predetermined bit pattern comprises “111”, wherein each uncoded data block comprises nine bits and wherein each encoded data block comprises ten bits.

### Claim 47 (depends on 46)

The article of manufacture of claim 46, wherein the first number is fourteen.

### Claim 48 (depends on 35)

The article of manufacture of claim 35, wherein the predetermined bit pattern comprises “111”, wherein each uncoded data block comprises sixteen bits, and wherein each encoded data block comprises seventeen bits.

### Claim 49 (depends on 48)

The article of manufacture of claim 48, wherein the first number is twenty-one.

### Claim 50 (depends on 48)

The article of manufacture of claim 48, wherein a correspondence of uncoded to encoded data blocks comprises a finite state code scheme.

### Claim 51 (depends on 35)

The article of manufacture of claim 35, wherein the predetermined bit pattern comprises either “0100” or “0010”, wherein each uncoded data block comprises nine bits and wherein each encoded data block comprises ten bits.

### Claim 52 (depends on 51)

The article of manufacture of claim 51, wherein the first number is twelve.

### Claim 53 (depends on 35)

The article of manufacture of claim 35, wherein the predetermined bit pattern comprises either “0100” or “0010”, wherein each uncoded data block comprises sixteen bits.

### Claim 54 (depends on 53)

The article of manufacture of claim 53, wherein each encoded data block comprises seventeen bits and wherein the first number comprises nineteen bits.

### Claim 55 (depends on 53)

The article of manufacture of claim 53, wherein a correspondence of uncoded to encoded data blocks comprises a finite state code scheme and wherein the first number is fifteen.

### Claim 56 (depends on 35)

The article of manufacture of claim 35, wherein the predetermined bit pattern is included in one encoded data block or spans two encoded data blocks.

### Claim 57

An article of manufacture including code for storing input groups of uncoded binary data on a storage medium, wherein the code is capable of causing operations comprising:
receiving a plurality of uncoded data blocks in a data stream;
generating one corresponding encoded data block for each uncoded data block, wherein an encoded data stream obtained from concatenating successive encoded blocks includes a predetermined bit pattern comprising a plurality of bits, wherein the bit pattern always occurs within a first number of bits and two occurrences of a “1” and “0” occur within a second number of bits, wherein the first number is greater than the second number; and
storing the encoded data steam on the storage medium.

### Claim 58

An article of manufacture including code for storing input groups of uncoded binary data on a storage medium, wherein the code is capable of causing operations comprising:
receiving a plurality of uncoded data blocks in a data stream;
generating one corresponding encoded data block for each uncoded data block, wherein an encoded data stream obtained from concatenating successive encoded blocks includes a predetermined bit pattern comprising a plurality of bits, wherein the bit pattern always occurs within a first number of bits and two occurrences of a “1” and “0” occur within a second number of bits; and
storing the encoded data stream on the storage medium, wherein the encoded data block can be used in partial response and extended partial response systems.

### Claim 59

A system for storing input groups of uncoded binary data on a storage medium, comprising:
means for receiving a plurality of uncoded data blocks in a data stream;
means for generating one corresponding encoded data block for each uncoded data block, wherein an encoded data stream obtained from concatenating successive encoded blocks includes a predetermined bit pattern comprising a plurality of bits, wherein the bit pattern always occurs within a first number of bits and two occurrences of a “1” and “0” occur within a second number of bits; and
means for storing the encoded data stream on the storage medium, wherein the encoded data block can be used in partial response and extended partial response systems.
