Patent ID: 7509526

Claim:
A printing device comprising: memory configured to store data in blocks; and a processing unit configured to communicate with the memory and, in response to a print job, to access the memory and extract data therefrom to be used to complete the print job, the processing unit further configured to perform a data block correcting procedure during printing device idle times, wherein the data block correction procedure comprises the acts of: a) reading a sector of the memory; b) employing an error correction code to detect if the sector includes an error; c) copying a data block including the sector having the detected error to a new location; d) employing an error correction code to correct the detected error and provide a corrected sector; e) rewriting the data block including the corrected sector back to its original location; f) verifying that the rewritten data block is error free using an error correction code; and g) if not error free, copying the rewritten data block including the sector having an error to a new location.