×

Reconstructive error recovery procedure (ERP) using reserved buffer

  • US 9,590,660 B2
  • Filed: 05/22/2015
  • Issued: 03/07/2017
  • Est. Priority Date: 11/14/2012
  • Status: Active Grant
First Claim
Patent Images

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

  • a processor and logic that is integrated with the processor, executable by the processor, or integrated with and executable by the processor, the logic causing the processor to;

    read a 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;

    store all portions of the data set to a reserved data buffer read during a first reading of the data set;

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

    recover the stored data set in response to a determination that the data set is correctable using at least one of C1-ECC and C2-ECC;

    reread portions assumed to be in the data set in response to a determination that the data set is not correctable using at least one of C1-ECC and C2-ECC;

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

    determine that the currently read portion of the data set is correctable using C1-ECC using a syndrome check in response to a determination that the validity check confirms that the portion is from the data set;

    store one or more of the portions of the data set to the reserved data buffer after subsequent readings of the data set in response to a determination that the one or more portions are correctable using C1-ECC;

    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;

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

    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 in response to a determination that C2-ECC is capable of correcting all errors in the assembled data set; and

    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
    ×
    ×