Strong, thorough, and efficient memory protection against existing and emerging DRAM errors