A method of generating a code that minimizes error propagation by selecting integers m, n, mrl, and a range of fractions od, where m represents the number of bits in an unencoded sequence, where n represents the number of bits in an encoded sequence, where mrl represents the maximum run length of an encoded sequence, and where od represents a range of ones densities of an encoded sequence. Next, generating an encoding map M that maps each unencoded sequence to an n-bit encoded sequence that satisfies od and mrl. Next, generating a decoding map N that maps each n-bit sequence to an m-bit sequence. Next, determining an error-propagation score for M and N. Then, returning to the step of generating M if a user requires a lower error-propagation score.Method of code generation that minimizes error propagation767672509/03/201027/02/200620101,471Evasius; Dean M.McAdoo, Jr.; Leslie NewtonUS Patent and Trademark OfficeGoogle Patent Searchpatentimages.storage.googleapis.com/US7676725B1/US07676725-20100309-D00000.pngUniqueencoded sequenceerror propagationunencoded sequencemrlmaximum run lengthlower error-propagation scorenumbermethodbitsmap