1. A method for protecting data in a memory system comprising a cache, said method comprising: in response to determining that data is clean: generating error detection information associated with the data to be stored at the cache, wherein the cache corresponds to a first hierarchy level of the memory system and a second location of the memory system corresponds to a second hierarchy level of the memory system; and storing the data at a first region of the cache; and in response to determining that the data is dirty: generating error correction information associated with the data to be stored at the cache; and storing the data at a second region of the cache.