1. A storage system comprising: a storage medium operable to maintain a data set; a read/write head assembly operable to write the data set to the storage medium and to read the data set from the storage medium; a multi-level encoder operable to encode the data set at a plurality of different code rates before it is written to the storage medium; and a multi-level decoder operable to decode the data set retrieved from the storage medium and to apply decoded values encoded at a lower code rate when decoding values encoded at a higher code rate, wherein the multi-level encoder is operable to encode the data set at a plurality of different code rates such that symbols encoded at different code rates in the data set are interleaved on the storage medium.