It is one thing to store data in memory and quite another to be sure that what's there is still valid, especially if the data hasn't been accessed in 100 or 200 milliseconds.
Two methods are used to ensure the integrity of data that is stored in memory: parity and Error Correction Code (ECC). The memory controller oversees the movement of data in and out of memory and, in doing so, determines the type of data integrity checking that is used. In both parity and ECC, the memory controller is key to the process. The memory controller generates the signals that are used to control the reading and writing of data to and from memory.