A data storage system, comprising: a write channel for writing data to a magnetic storage medium, the write channel comprising logic adapted for receiving a data stream comprising one or more data sets, logic (1102; 1202; 1302) adapted for encoding the one or more data sets using a C2 encoding scheme, logic (1104; 1206; 1208; 1306; 1308) adapted for encoding the one or more data sets with a first modulation encoding scheme after encoding the one or more data sets using the C2 encoding scheme, logic adapted for encoding the one or more data sets using a C1 encoding scheme after encoding the one or more data sets using the first modulation encoding scheme, and logic adapted for thereafter writing the one or more data sets to data tracks of the magnetic storage medium; wherein the C1 code and C2 code are error-correcting codes; characterised in that the magnetic storage medium is a magnetic tape, and the first modulation encoding scheme comprises a rate-232/234 enumerative minimum transition run-length (eMTR) modulation code satisfying constraints of G=12, 1=6, and M=22; wherein the G constraint limits the maximum run-length of zeros at the modulation encoder output to G, the I constraint limits the maximum run-length of zeros in the even and odd interleave of the modulation encoder output to I, and the M constraint limits the maximum run-length of ones at the modulation encoder output to M; and, wherein the write channel further comprises logic (1204; 1304) for adding a header to each subunit of the one or more data sets after encoding the one or more data sets using the C2 encoding scheme and prior to encoding the one or more data sets using the first modulation encoding scheme. a write channel for writing data to a magnetic storage medium, the write channel comprising logic adapted for receiving a data stream comprising one or more data sets, logic (1102; 1202; 1302) adapted for encoding the one or more data sets using a C2 encoding scheme, logic (1104; 1206; 1208; 1306; 1308) adapted for encoding the one or more data sets with a first modulation encoding scheme after encoding the one or more data sets using the C2 encoding scheme, logic adapted for encoding the one or more data sets using a C1 encoding scheme after encoding the one or more data sets using the first modulation encoding scheme, and logic adapted for thereafter writing the one or more data sets to data tracks of the magnetic storage medium; wherein the C1 code and C2 code are error-correcting codes; characterised in that the magnetic storage medium is a magnetic tape, and the first modulation encoding scheme comprises a rate-232/234 enumerative minimum transition run-length (eMTR) modulation code satisfying constraints of G=12, 1=6, and M=22; wherein the G constraint limits the maximum run-length of zeros at the modulation encoder output to G, the I constraint limits the maximum run-length of zeros in the even and odd interleave of the modulation encoder output to I, and the M constraint limits the maximum run-length of ones at the modulation encoder output to M; and, wherein the write channel further comprises logic (1204; 1304) for adding a header to each subunit of the one or more data sets after encoding the one or more data sets using the C2 encoding scheme and prior to encoding the one or more data sets using the first modulation encoding scheme.