Are there methods apart from ECC, to detect and possibly correct cache errors?
Modern processors don't have ECC. However they do have about the same error rate:
- A modern 7500 Xeon with 24MB of L3 cache has about 0.2 or 0.2 error per year.
- 250GB of DRAM would have about 0.02 to 0.2 errors per year
Physical construction of the memory cells and number of transistors has a lot to do with it. Computers that are lower in elevation or shielded from radiation experience less errors.
In a computer system if more redundancy is needed, there are fault tolerant algorithms that can can be run in software to check code multiple times to ensure that no errors have occurred in the hardware. For example, if there is a calculation, you could run it three times and then store it, the values are then checked to see if the result is correct. See Fault tolerant computer system
Since ECC is such a broad term, the answer would have to be "no". Anything that did what you are describing would have to be called an ECC.
Are you asking whether there are ECC codes other than Hamming codes? The answer is yes, there are many different forms of ECC that are optimized for different purposes and expected level of raw error rates.