As a total layman when it comes to storage: Don't they use forward correcting codes to make sure a single bad bit can reliably be detected and flipped without affecting the data at all? Or are these used only for data transmission?
Even most data transmission components don't use forward correcting codes. They typically just have error detection.