Patent ID: 7849381

Claim:
A method for copying data having an associated error correction code (ECC) from a first location to a second location of a reprogrammable non-volatile memory array of a system that includes a memory controller and a memory portion having said memory array, comprising: reading the data from the first location into a cache on the memory portion; determining whether to check the ECC based on predetermined selection criteria, and if ECC checking is not selected, causing the system to copy the data from the cache to the second location without transferring the data to the controller; and if ECC checking is selected, checking the ECC on the read data in the controller, including: if an ECC error is found, correcting the ECC error on the read data in the controller and causing the controller to write the corrected data to the second location of the memory array; and if an ECC error is not found, causing the memory to copy the data from the cache to the second location without transferring the data to the controller.