Data storage device processing problematic patterns as erasures
A data storage device is disclosed comprising a non-volatile storage medium (NVSM). Problematic patterns in a block of input data are identified, and the problematic patterns are relocated from an initial location to an erasure region of the block to generate a modified block. The modified block is erasure encoded into an erasure codeword, at least part of the erasure codeword is stored in the NVSM.
Latest Western Digital Technologies, Inc. Patents:
- POSITIVE SENSING IN LOW POWER OPERATION MODE IN A MEMORY DEVICE
- RECONFIGURABLE LINES IN DIFFERENT SUB-BLOCK MODES IN A NAND MEMORY DEVICE
- SMART EARLY PROGRAM TERMINATION ALGORITHM FOR NEIGHBOR PLANE DISTURB COUNTERMEASURE
- HYBRID ERASE FOR DATA RETENTION THRESHOLD VOLTAGE MARGIN IMPROVEMENT
- Semiconductor Device Package with Die Stackup and Connection Platform
Data storage devices such as disk drives, tape drives, and solid state drives typically employ some form of error correction code (ECC) capable of correcting errors when reading the recorded data from the storage medium, thereby compensating for signal noise that is inherent with every recording/reproduction channel. During a write operation, redundancy symbols are generated and appended to user data which are then processed during a corresponding read operation in order to detect and correct errors in the user data.
In one embodiment, certain patterns in a block of input data may be considered problematic in that they may decrease the signal-to-noise ratio (SNR) during the recording and/or readback operations. An example of a problematic pattern may be a pattern that results in a high frequency pattern of magnetic transitions recorded on a magnetic media. In one embodiment, a problematic pattern may consist of any length of bits, such as a length that spans one or more symbols of the erasure codeword. In one embodiment, at least some problematic patterns are effectively removed from an input block prior to storing the input block in the NVSM 8, and during a read operation of the block, the problematic patterns are decoded (regenerated) by decoding the erasure codeword. In this manner, the loss of SNR associated with writing/reading at least some of the problematic patterns is avoided. In one embodiment described below, the problematic patterns removed from an input block may be replaced with an assistive pattern having an increased propensity for higher SNR during the writing/reading process, thereby improving the chances of successfully decoding the erasure codeword.
Any suitable erasure ECC encoder 24 may be employed in the embodiments disclosed herein in order to encode an input block into an erasure codeword.
In another embodiment, the erasure codeword may be a parity block codeword generated over a plurality of sub-block codewords.
In another embodiment, the erasure region (CW 36) may be empty initially and then filled with the problematic patterns identified in the other sub-block codewords. In one embodiment, the problematic patterns shown in
In one embodiment, the erasure region (CW 36) may be stored to the NVSM 8 and decoded at the sub-block level during a read operation in order to assist in the overall decoding of the parity block codeword. In yet another embodiment, the sub-block codewords shown in
In an embodiment where the problematic patterns in a sub-block codeword are replaced with assistive patterns as described above, the assistive patterns may consist of a sequence not seen in the normal payload data (e.g., user data). An example of a sequence not seen in the normal payload data is a sync mark used to symbol synchronize a sub-block codeword. Accordingly in this embodiment when an assistive pattern is detected in a sub-block codeword during decoding of the erasure codeword, the assistive pattern is replaced with the corresponding problematic pattern (e.g., stored in the erasure region). Also in this embodiment, it may not be necessary to store location data for the problematic patterns since the location of the assistive pattern within the sub-block codeword becomes the location data for the problematic pattern. That is when an assistive pattern is detected in a sub-block codeword during decoding of the erasure codeword, the assistive pattern is replaced with the next problematic pattern when the problematic patterns are stored in a consecutive order (e.g., in the erasure region).
In the embodiment of
Any suitable control circuitry may be employed to implement the flow diagrams in the above embodiments, such as any suitable integrated circuit or circuits. For example, the control circuitry may be implemented within a read channel integrated circuit, or in a component separate from the read channel, such as a data storage controller, or certain operations described above may be performed by a read channel and others by a data storage controller. In one embodiment, the read channel and data storage controller are implemented as separate integrated circuits, and in an alternative embodiment they are fabricated into a single integrated circuit or system on a chip (SOC). In addition, the control circuitry may include a suitable preamp circuit implemented as a separate integrated circuit, integrated into the read channel or data storage controller circuit, or integrated into a SOC.
In one embodiment, the control circuitry comprises a microprocessor executing instructions, the instructions being operable to cause the microprocessor to perform the flow diagrams described herein. The instructions may be stored in any computer-readable medium. In one embodiment, they may be stored on a non-volatile semiconductor memory external to the microprocessor, or integrated with the microprocessor in a SOC. In another embodiment, the instructions are stored on the NVSM and read into a volatile semiconductor memory when the data storage device is powered on. In yet another embodiment, the control circuitry comprises suitable logic circuitry, such as state machine circuitry.
In various embodiments, a disk drive may include a magnetic disk drive, an optical disk drive, etc. In addition, while the above examples concern a disk drive, the various embodiments are not limited to a disk drive and can be applied to other data storage devices and systems, such as magnetic tape drives, solid state drives, hybrid drives, etc. In addition, some embodiments may include electronic devices such as computing devices, data server devices, media content storage devices, etc. that comprise the storage media and/or control circuitry as described above.
The various features and processes described above may be used independently of one another, or may be combined in various ways. All possible combinations and subcombinations are intended to fall within the scope of this disclosure. In addition, certain method, event or process blocks may be omitted in some implementations. The methods and processes described herein are also not limited to any particular sequence, and the blocks or states relating thereto can be performed in other sequences that are appropriate. For example, described tasks or events may be performed in an order other than that specifically disclosed, or multiple may be combined in a single block or state. The example tasks or events may be performed in serial, in parallel, or in some other manner. Tasks or events may be added to or removed from the disclosed example embodiments. The example systems and components described herein may be configured differently than described. For example, elements may be added to, removed from, or rearranged compared to the disclosed example embodiments.
While certain example embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions disclosed herein. Thus, nothing in the foregoing description is intended to imply that any particular feature, characteristic, step, module, or block is necessary or indispensable. Indeed, the novel methods and systems described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the methods and systems described herein may be made without departing from the spirit of the embodiments disclosed herein.
Claims
1. A data storage device comprising:
- a non-volatile storage medium (NVSM); and
- control circuitry configured to: identify problematic patterns in a block of input data, the problematic patterns involving a decreased signal-to-noise ratio (SNR); relocate the problematic patterns from one or more initial locations to an erasure region of the block to generate a modified block; erasure encode the modified block into an erasure codeword; store at least part of the erasure codeword in the NVSM; read the at least part of the erasure codeword from the NVSM; erasure decode the erasure codeword to decode the problematic patterns of the erasure region; and use stored location data for the problematic patterns in order to relocate the problematic patterns from the erasure region to the one or more initial locations to regenerate the block of input data.
2. The data storage device as recited in claim 1, wherein the erasure region of the block is not stored in the NVSM.
3. The data storage device as recited in claim 1, wherein the control circuitry is further configured to store location data of the one or more initial locations of the problematic patterns in the NVSM.
4. The data storage device as recited in claim 1, wherein the erasure codeword is a punctured low density parity check (LDPC) codeword.
5. The data storage device as recited in claim 1, wherein the erasure codeword is a parity block codeword generated over a plurality of sub-block codewords.
6. The data storage device as recited in claim 5, wherein each sub-block codeword is a low density parity check (LDPC) codeword.
7. The data storage device as recited in claim 5, wherein the control circuitry is further configured to replace the problematic patterns at the one or more initial locations with predetermined patterns prior to erasure encoding the modified block into the erasure codeword.
8. The data storage device as recited in claim 1, wherein the control circuitry is further configured to replace the problematic patterns at the one or more initial locations with predetermined patterns prior to erasure encoding the modified block into the erasure codeword.
9. A data storage device comprising:
- a non-volatile storage medium (NVSM); and
- control circuitry configured to: remove problematic patterns from a block of input data to generate a modified block, the problematic patterns involving a decreased signal-to-noise ratio (SNR); erasure encode the modified block and the problematic patterns into an erasure codeword; store at least part of the erasure codeword in the NVSM; and read the at least part of the erasure codeword from the NVSM; erasure decode the erasure codeword to decode the problematic patterns; and use the decoded problematic patterns and stored location data for the problematic patterns in order to regenerate the block of input data.
10. The data storage device as recited in claim 9, wherein the problematic patterns of the block are not stored in the NVSM.
11. The data storage device as recited in claim 9, wherein the control circuitry is further configured to store location data of the problematic patterns in the NVSM.
12. The data storage device as recited in claim 9, wherein the erasure codeword is a punctured low density parity check (LDPC) codeword.
13. The data storage device as recited in claim 9, wherein the erasure codeword is a parity block codeword generated over a plurality of sub-block codewords.
14. The data storage device as recited in claim 13, wherein each sub-block codeword is a low density parity check (LDPC) codeword.
15. The data storage device as recited in claim 13, wherein the control circuitry is further configured to replace the problematic patterns with predetermined patterns prior to erasure encoding the modified block into the erasure codeword.
16. The data storage device as recited in claim 9, wherein the control circuitry is further configured to replace the problematic patterns with predetermined patterns prior to erasure encoding the modified block into the erasure codeword.
17. A data storage device comprising: a means for storing at least part of the erasure codeword in the NVSM.
- a non-volatile storage medium (NVSM); and
- a means for removing problematic patterns from a block of input data to generate a modified block, the problematic patterns involving a decreased signal-to-noise ratio (SNR);
- a means for erasure encoding the modified block and the problematic patterns into an erasure codeword; and
18. A data storage device comprising:
- a non-volatile storage medium (NVSM); and
- control circuitry configured to: identify problematic patterns in a block of input data, the problematic patterns involving a decreased signal-to-noise ratio (SNR); relocate the problematic patterns from one or more initial locations to an erasure region of the block to generate a modified block; replace the problematic patterns at the one or more initial locations with predetermined patterns; erasure encode the modified block into an erasure codeword, wherein the problematic patterns are replaced with the predetermined patterns prior to the erasure encoding the modified block into the erasure codeword; and store at least part of the erasure codeword in the NVSM.
19. The data storage device as recited in claim 18, wherein the erasure codeword is a parity block codeword generated over a plurality of sub-block codewords.
20. A data storage device comprising:
- a non-volatile storage medium (NVSM); and
- control circuitry configured to: remove problematic patterns from a block of input data to generate a modified block, the problematic patterns involving a decreased signal-to-noise ratio (SNR); replace the problematic patterns with predetermined patterns; erasure encode the modified block and the problematic patterns into an erasure codeword, wherein the problematic patterns are replaced with the predetermined patterns prior to the erasure encoding the modified block into the erasure codeword; and store at least part of the erasure codeword in the NVSM.
21. The data storage device as recited in claim 20, wherein the erasure codeword is a parity block codeword generated over a plurality of sub-block codewords.
9923562 | March 20, 2018 | Vinson |
10552252 | February 4, 2020 | Seokhun et al. |
10567002 | February 18, 2020 | Shutkin et al. |
20150303943 | October 22, 2015 | Li |
20170090763 | March 30, 2017 | Horn |
20190250987 | August 15, 2019 | Oboukhov |
20210397361 | December 23, 2021 | Xiong |
20220103188 | March 31, 2022 | Oboukhov |
- E. Yaakobi, J. Ma, L. Grupp, P. H. Siegel, S. Swanson and J. K. Wolf, “Error characterization and coding schemes for flash memories,” 2010 IEEE Globecom Workshops, 2010, pp. 1856-1860, doi: 10.1109/GLOCOMW.2010.5700263. (Year: 2010).
- M. Varsamou, I. Zacharias and T. Antonakopoulos, “Correlated noise estimation and error correction in parallel storage channels,” IEEE International Symposium on Signal Processing and Information Technology, 2013, pp. 000484-000489, doi: 10.1109/ISSPIT.2013.6781928. (Year: 2013).
- Ha J et al., “Rate-Compatible Puncturing of Low-Density Parity-Check Codes” IEEE Transactions on Information Theory, IEEE Service Center, Piscataway, NJ, US, vol. 50, No. 11, Nov. 2004 (Nov. 2004), pp. 2824-2836, XP011121167 ISSN: 0018-9448.
- Liu et al., “Rate-Compatible LDPC Codes Based on Puncturing and Extension Techniques for Short Block Lengths” Jul. 19, 2014, IEEE, pp. 1-9.
- Y. Fang, G. Han, G. Cai, F. C. M. Lau, P. Chen and Y. L. Guan, “Design Guidelines of Low-Density Parity-Check Codes for Magnetic Recording Systems,” in IEEE Communications Surveys & Tutorials, vol. 20, No. 2, pp. 1574-1606, Secondquarter2018, doi: 10.1109/COMST.2018.2797875.
- F. Babich, M. Noschese, A. Soranzo and F. Vatta, “Low complexity rate compatible puncturing patterns design for LDPC codes,” 2017 25th International Conference on Software, Telecommunications and Computer Networks (SoftCOM), 2017, pp. 1-5, doi: 10.23919/SOFTCOM.2017.8115558.
Type: Grant
Filed: Jun 11, 2021
Date of Patent: Nov 29, 2022
Assignee: Western Digital Technologies, Inc. (San Jose, CA)
Inventors: Iouri Oboukhov (Rochester, MN), Richard L. Galbraith (Rochester, MN), Jonas A. Goode (Lake Forest, CA)
Primary Examiner: Daniel F. McMahon
Application Number: 17/345,434
International Classification: G06F 11/00 (20060101); G06F 11/10 (20060101); H03M 13/15 (20060101); H03M 13/11 (20060101); G06F 3/06 (20060101);