This thesis is divided into two parts. The first part is a study of the decoder error probability of linear maximum distance separable (MDS) codes. An exact formula for the decoder error probability of linear MDS codes is derived. The random characteristic of this class of codes is analyzed, and a lower bound for the decoder error probability is given. The second part is a study of error-correction coding in data storage systems, particularly in tape machines. The helical interleaving scheme is generalized from single channel to n parallel channels. A new code, which is specially designed for tape machines, is introduced. This code corrects more error patterns than the AXP code, and it possesses a simple hardware structure. Lastly, a class of error-correcting DC free trellis code, and a class of error-correcting RLL code are introduced.