Advanced Error Control Techniques for Data Storage Systems