# US 10,484,018 B2 · Partial reverse concatenation for data storage devices using composite codes

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

- Number: US 10,484,018 B2
- Document ID: US10484018B2
- Status: Granted
- Kind: B2
- Application number: 15/405,199
- Filed: 2017-01-12
- Published: 2017-05-04
- Granted: 2019-11-19
- Earliest claimed: 2012-05-29
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Roy D. Cideciyan; Robert A. Hutchins; Thomas Mittelholzer; Sedat Oelcer
- Web page: https://patentgrep.com/patent/US10484018B2

## CPC

- H03M 13/2906: {using block codes (H03M13/2957 takes precedence)}
- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/064: {Management of blocks}
- G06F 3/0674: {Disk device}
- G06F 3/0677: {Optical disk device, e.g. CD-ROM, DVD}
- G06F 3/0682: {Tape device}
- G06F 11/1076: {Parity data used in redundant arrays of independent storages, e.g. in RAID systems}
- G11B 20/1426: {conversion to or from block codes or representations thereof}
- G11B 20/18: Error detection or correction; Testing {, e.g. of drop-outs}
- G11B 20/1833: {by adding special lists or symbols to the coded information (G11B20/1806, G11B20/1866 take precedence)}
- H03M 13/1515: {Reed-Solomon codes}
- H03M 13/2909: {Product codes}
- H03M 13/6325: {Error control coding in combination with demodulation}
- H03M 13/6343: {Error control coding in combination with techniques for partial response channels, e.g. recording}
- G11B 2020/1836: {using a Reed Solomon [RS] code}
- G11B 2020/1853: {using a product code which has inner and outer parity symbols}
- G11B 2220/2516: Hard disks
- G11B 2220/2537: Optical discs
- G11B 2220/956: Linear tape open [LTO] format
- H03M 13/1102: {Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes}
- 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)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- 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

In one embodiment, a method includes writing data to a storage medium, via a write channel, by applying a partial reverse concatenated modulation code to the data prior to storing encoded data to the storage medium. The applying the partial reverse concatenated modulation code to the data includes application of a C2 encoding scheme to the data to produce C2-encoded data prior to application of one or more modulation encoding schemes to the C2-encoded data to produce modulated data, followed by application of a C1 encoding scheme to the modulated data subsequent to the application of the one or more modulation encoding schemes to produce the encoded data.

## Claims

### Claim 1

A method, comprising:
writing data to a storage medium, via a write channel, by applying a partial reverse concatenated modulation code to the data prior to storing encoded data to the storage medium,
wherein the applying the partial reverse concatenated modulation code to the data comprises application of a C2 encoding scheme to the data to produce C2-encoded data prior to application of one or more modulation encoding schemes to the C2-encoded data to produce modulated data, followed by application of a C1 encoding scheme to the modulated data subsequent to the application of the one or more modulation encoding schemes to produce the encoded data.

### Claim 2 (depends on 1)

The method as recited in claim 1, wherein the storage medium is a linear tape open (LTO) format magnetic tape, the method comprising:
receiving a data stream comprising one or more data sets;
encoding the one or more data sets using the C2 encoding scheme to produce one or more C2-encoded data sets;
adding a header to each subunit of the one or more C2-encoded data sets;
encoding the headers of the subunits of the one or more C2-encoded data sets with a first modulation encoding scheme to produce modulation-encoded headers of the one or more C2-encoded data sets;
encoding data portions of the one or more C2-encoded data sets with a second modulation encoding scheme to produce modulation-encoded data portions of the one or more C2-encoded data sets;
encoding the modulation-encoded data portions of the one or more C2-encoded data sets using the C1 encoding scheme to produce C1-encoded data portions of the one or more C2-encoded data sets;
combining the C1-encoded data portions with the modulation-encoded headers of the one or more C2-encoded data sets using a multiplexer; and
writing the one or more combined data sets to data tracks of the magnetic tape as the encoded data.

### Claim 3 (depends on 2)

The method as recited in claim 2, wherein the C2 encoding scheme comprises a Reed-Solomon RS(96,84,13) code, wherein the first modulation encoding scheme comprises a rate-32/33 modulation code, wherein the second modulation encoding scheme comprises a rate-232/234 enumerative minimum transition run-length (eMTR) modulation code satisfying constraints of G=12, I=6, and M=22, and wherein the C1 encoding scheme comprises a Reed-Solomon RS(246,234,13) code.

### Claim 4 (depends on 2)

The method as recited in claim 2, wherein the adding the header to each subunit of the one or more C2-encoded data sets comprises assigning rows of a column encoded-data array to sixteen data tracks.

### Claim 5 (depends on 1)

The method as recited in claim 1, wherein the storage medium is an enterprise format magnetic tape, the method comprising:
receiving a data stream comprising one or more data sets;
encoding the one or more data sets using a C2 encoding scheme to produce one or more C2-encoded data sets;
adding a header to each subunit of the one or more C2-encoded data sets to produce one or more headerized data sets;
encoding the one or more headerized data sets with a modulation encoding scheme to produce one or more modulation-encoded data sets;
encoding the one or more modulation-encoded data sets using a C1 encoding scheme to produce one or more C1-encoded data sets; and
writing the one or more C1-encoded data sets to data tracks of the enterprise format magnetic tape as the encoded data,
wherein the enterprise format magnetic tape is not a linear tape open format magnetic tape.

### Claim 6 (depends on 5)

The method as recited in claim 5, wherein the C2 encoding scheme comprises a Reed-Solomon RS(96,84,13) code, wherein the modulation encoding scheme comprises a rate-232/234 enumerative minimum transition run-length (eMTR) modulation code satisfying constraints of G=12, I=6, and M=22, and wherein the C1 encoding scheme comprises a Reed-Solomon RS(246,234,13) code.

### Claim 7 (depends on 6)

The method as recited in claim 6, wherein the adding the header to each subunit of the one or more C2-encoded data sets comprises assigning rows of a column encoded-data array to thirty-two data tracks.

### Claim 8 (depends on 1)

The method as recited in claim 1, wherein the storage medium is an optical storage medium, the method comprising:
receiving a data stream comprising one or more data sets;
encoding the one or more data sets using a C2 encoding scheme to produce one or more C2-encoded data sets;
encoding the one or more C2-encoded data sets with a modulation encoding scheme to produce one or more modulation-encoded data sets;
encoding the one or more modulation-encoded data sets using a C1 encoding scheme to produce one or more C1-encoded data sets; and
writing the one or more C1-encoded data sets to data tracks of the optical storage medium as the encoded data.

### Claim 9 (depends on 8)

The method as recited in claim 8, wherein the C2 encoding scheme comprises an error correction code (ECC), and wherein the modulation encoding scheme comprises a dc-free run-length limited RLL(d,k) code.

### Claim 10 (depends on 1)

The method as recited in claim 1, wherein the storage medium is a hard disk of a hard disk drive (HDD), the method comprising:
receiving a data stream comprising one or more data sets;
encoding the one or more data sets using a C2 encoding scheme to produce one or more C2-encoded data sets;
encoding the one or more C2-encoded data sets with a modulation encoding scheme to produce one or more modulation-encoded data sets;
encoding the one or more modulation-encoded data sets using a C1 encoding scheme to produce one or more C1-encoded data sets; and
writing the one or more C1-encoded data sets to data tracks of the hard disk as the encoded data,
wherein the C2 encoding scheme comprises an error correction code (ECC).

### Claim 11

A computer program product, comprising a semiconductor device having program instructions embodied therewith, the embodied program instructions readable by a processor to cause the processor to perform a method comprising:
writing, by the processor, data to a storage medium, via a write channel, by applying a partial reverse concatenated modulation code to the data prior to storing encoded data to the storage medium,
wherein the applying, by the processor, the partial reverse concatenated modulation code to the data comprises application of a C2 encoding scheme to the data to produce C2-encoded data prior to application of one or more modulation encoding schemes to the C2-encoded data to produce modulated data, followed by application of a C1 encoding scheme to the modulated data subsequent to the application of the one or more modulation encoding schemes to produce the encoded data.

### Claim 12 (depends on 11)

The computer program product as recited in claim 11, wherein the storage medium is a linear tape open (LTO) format magnetic tape, the method comprising:
receiving, by the processor, a data stream comprising one or more data sets;
encoding, by the processor, the one or more data sets using the C2 encoding scheme to produce one or more C2-encoded data sets;
adding, by the processor, a header to each subunit of the one or more C2-encoded data sets;
encoding, by the processor, the headers of the subunits of the one or more C2-encoded data sets with a first modulation encoding scheme to produce modulation-encoded headers of the one or more C2-encoded data sets;
encoding, by the processor, data portions of the one or more C2-encoded data sets with a second modulation encoding scheme to produce modulation-encoded data portions of the one or more C2-encoded data sets;
encoding, by the processor, the modulation-encoded data portions of the one or more C2-encoded data sets using the C1 encoding scheme to produce C1-encoded data portions of the one or more C2-encoded data sets;
combining, by the processor, the C1-encoded data portions with the modulation-encoded headers of the one or more C2-encoded data sets using a multiplexer; and
writing, by the processor, the one or more combined data sets to data tracks of the magnetic tape as the encoded data.

### Claim 13 (depends on 12)

The computer program product as recited in claim 12, wherein the C2 encoding scheme comprises a Reed-Solomon RS(96,84,13) code, wherein the first modulation encoding scheme comprises a rate-32/33 modulation code, wherein the second modulation encoding scheme comprises a rate-232/234 enumerative minimum transition run-length (eMTR) modulation code satisfying constraints of G=12, I=6, and M=22, and wherein the C1 encoding scheme comprises a Reed-Solomon RS(246,234,13) code.

### Claim 14 (depends on 12)

The computer program product as recited in claim 12, wherein the adding, by the processor, the header to each subunit of the one or more C2-encoded data sets comprises assigning, by the processor, rows of a column encoded-data array to sixteen data tracks.

### Claim 15 (depends on 11)

The computer program product as recited in claim 11, wherein the storage medium is an enterprise format magnetic tape, the method comprising:
receiving, by the processor, a data stream comprising one or more data sets;
encoding, by the processor, the one or more data sets using a C2 encoding scheme to produce one or more C2-encoded data sets;
adding, by the processor, a header to each subunit of the one or more C2-encoded data sets to produce one or more headerized data sets;
encoding, by the processor, the one or more headerized data sets with a modulation encoding scheme to produce one or more modulation-encoded data sets;
encoding, by the processor, the one or more modulation-encoded data sets using a C1 encoding scheme to produce one or more C1-encoded data sets; and
writing, by the processor, the one or more C1-encoded data sets to data tracks of the enterprise format magnetic tape as the encoded data,
wherein the enterprise format magnetic tape is not a linear tape open format magnetic tape.

### Claim 16 (depends on 15)

The computer program product as recited in claim 15, wherein the C2 encoding scheme comprises a Reed-Solomon RS(96,84,13) code, wherein the modulation encoding scheme comprises a rate-232/234 enumerative minimum transition run-length (eMTR) modulation code satisfying constraints of G=12, I=6, and M=22, and wherein the C1 encoding scheme comprises a Reed-Solomon RS(246,234,13) code.

### Claim 17 (depends on 16)

The computer program product as recited in claim 16, wherein the adding, by the processor, the header to each subunit of the one or more C2-encoded data sets comprises assigning, by the processor, rows of a column encoded-data array to thirty-two data tracks.

### Claim 18 (depends on 11)

The computer program product as recited in claim 11, wherein the storage medium is an optical storage medium, the method comprising:
receiving, by the processor, a data stream comprising one or more data sets;
encoding, by the processor, the one or more data sets using a C2 encoding scheme to produce one or more C2-encoded data sets;
encoding, by the processor, the one or more C2-encoded data sets with a modulation encoding scheme to produce one or more modulation-encoded data sets;
encoding, by the processor, the one or more modulation-encoded data sets using a C1 encoding scheme to produce one or more C1-encoded data sets; and
writing, by the processor, the one or more C1-encoded data sets to data tracks of the optical storage medium as the encoded data.

### Claim 19 (depends on 18)

The computer program product as recited in claim 18, wherein the C2 encoding scheme comprises an error correction code (ECC), and wherein the modulation encoding scheme comprises a dc-free run-length limited RLL(d,k) code.

### Claim 20 (depends on 11)

The computer program product as recited in claim 11, wherein the storage medium is a hard disk of a hard disk drive (HDD), the method comprising:
receiving, by the processor, a data stream comprising one or more data sets;
encoding, by the processor, the one or more data sets using a C2 encoding scheme to produce one or more C2-encoded data sets;
encoding, by the processor, the one or more C2-encoded data sets with a modulation encoding scheme to produce one or more modulation-encoded data sets;
encoding, by the processor, the one or more modulation-encoded data sets using a C1 encoding scheme to produce one or more C1-encoded data sets; and
writing, by the processor, the one or more C1-encoded data sets to data tracks of the hard disk as the encoded data,
wherein the C2 encoding scheme comprises an error correction code (ECC).
