发明名称 Reconstructive error recovery procedure (ERP) using reserved buffer
摘要 According to one embodiment, a method for reading data from a medium includes reading a data set from a medium repeatedly using different settings until either: a reconstructed data set is sent to a host and/or stored, or a maximum number of rereads has been reached, after each reading of the data set, storing each row to the reserved data buffer that has no errors or errors in the row are correctable using C1-Error Correction Code (ECC) unless a matching row already exists in the reserved data buffer that has fewer corrected errors therein, assembling the data set from the rows stored in the reserved data buffer to form an assembled data set, correcting any remaining errors in the assembled data set using C2-ECC to form the reconstructed data set, and sending the reconstructed data set to the host and/or storing the reconstructed data set.
申请公布号 US9053748(B2) 申请公布日期 2015.06.09
申请号 US201213676477 申请日期 2012.11.14
申请人 International Business Machines Corporation 发明人 Katagiri Takashi;Nylander-Hill Pamela R.
分类号 H03M13/00;G11B20/18;H03M13/29 主分类号 H03M13/00
代理机构 Zilka-Kotab, PC 代理人 Zilka-Kotab, PC
主权项 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.
地址 Armonk NY US