×

Reconstructive error recovery procedure (ERP) using reserved buffer

  • US 9,053,748 B2
  • Filed: 11/14/2012
  • Issued: 06/09/2015
  • Est. Priority Date: 11/14/2012
  • Status: Expired due to Fees
First Claim
Patent Images

1. A system for reading data, the system comprising:

  • logic configured to set a first counter to zero prior to reading a data set;

    logic configured to read the data set one or more times, the data set comprising a plurality of portions which combine together to wholly form the data set, wherein during each read of the data set, settings are changed in an attempt to better read the data set and the first counter is incremented by one;

    logic configured to store all portions of the data set to a reserved data buffer after a first reading of the data set;

    logic configured to determine whether the stored data set is correctable using at least one of C1-error correction code (ECC) and C2-ECC, wherein when the data set is correctable using at least one of C1-ECC and C2-ECC, the stored data set is recovered;

    logic configured to determine whether the first counter equals a predetermined threshold prior to each read of the data set, wherein when the first counter equals the predetermined threshold the data set is reported as unreadable;

    logic configured to set a second counter to zero prior to rereading the data set;

    logic configured to reread portions assumed to be in the data set;

    logic configured to perform a validity check to determine whether a currently read portion is in the data set;

    logic configured to determine that the currently read portion of the data set is correctable using C1-ECC using a syndrome check when the validity check confirms that the portion is from the data set;

    logic configured to store one or more of the portions of the data set to the reserved data buffer after subsequent readings of the data set when the one or more portions are correctable using C1-ECC;

    logic configured to determine that all portions of the data set have been reread according to the second counter, wherein the second counter is incremented by one after any of;

    storing a portion of the data set, determining that the currently read portion is not in the data set, and determining that the currently read portion of the data set is not correctable using C1-ECC;

    logic configured to aggregate the one or more portions of the data set in the reserved data buffer to form an assembled data set, wherein each of the one or more portions are correctable using C1-ECC;

    logic configured to determine whether C2-ECC is capable of correcting all errors in the assembled data set;

    logic configured to correct any remaining errors in the assembled data set using C2-ECC to form a reconstructed data set and send the reconstructed data set to a host when C2-ECC is capable of correcting all errors in the assembled data set; and

    logic configured to reread the data set using a different setting in an error recovery procedure (ERP) when an error in the assembled data set, is not correctable using C2-ECC.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×