Graph-Based Error Correcting Codes For Modern Dense Storage Devices