1. A method, comprising: storing a first set of data in a data array in a cache unit; concurrently reading a second set of data from the data array; and executing, via multiple concurrent pipelines, two or more error correction mechanisms for the first set of data concurrently; wherein at least the second set of data is used to generate error correction data corresponding to the first set of data and wherein a third set of data is to be generated based on the generated error correction data.