ECC ("Error checking and correction") se basa en un algoritmo más complejo y se utiliza en computadoras de gama alta, como servidores de red.
El sistema trabaja en conjunción con el controlador de memoria, y anexa a los bits de datos, los bits ECC, que son almacenados junto con los de datos. Estos bits extras, junto con la decodificación correspondiente, sirven para realizar la comprobación en el momento de la lectura.
Su diferencia principal con la paridad es que puede detectar el error de un bit y corregirlo, con lo que generalmente el usuario no detecta que se ha producido un error.