Field of the Invention
The present invention relates generally to the data storage field, and more particularly, relates to a method, apparatus, and system for implementing an enhanced modulation code using a Bit Error Rate (BER) list in hard disk drives (HDDs).
Description of the Related Art
Many data processing applications require long-term data storage and typically a high-degree of data integrity. Typically these needs are met by non-volatile data storage devices. Non-volatile storage or persistent media can be provided by a variety of devices, most commonly, by direct access storage devices (DASDs), which also are referred to as hard disk drives (HDDs).
Modulation code typically is a first stage of the Read Channel in hard disk drives (HDDs). The modulation code is responsible for data dependent encoding of user data before writing to the hard disk drive (HDD). Typically modulation code includes information about bad patterns for user data and to encode user data to avoid these patterns.
The traditional examples of such bad patterns are non-transition patterns, all zeros or all ones, that make difficult data clock recovery. A solution to avoid such error is a Run Length Limit (RLL) modulation code that limit distance between two transitions. Another example is a transition noise. Because of a grain nature of writing media, typically, the noise of HDD signal near transition is bigger than in the region between transitions. Therefore the patterns with higher number of transitions, such as 10101, have more errors. The solution for this problem is encoding of the user data to reduce the transition number by a Maximum Transition Rate (MTR) modulation code. There are a few other known constraints and number of modulation codes that handle such constraints. Nevertheless there are cases where the number of constraints is large or the constraints are not quite obvious. In this case construction of code that will have best performance is difficult.
A need exists for effective mechanism for implementing an enhanced modulation code for hard disk drives (HDDs).
Aspects of the preferred embodiments are to provide a method, apparatus, and system for implementing an enhanced modulation code in hard disk drives (HDDs). Other important aspects of the preferred embodiments are to provide such method, apparatus, and system substantially without negative effect and to overcome some of the disadvantages of prior art arrangements.
In brief, a method, apparatus, and system are provided for implementing an enhanced modulation code for hard disk drives (HDDs). A modulation code directly uses Bit Error Rate (BER) information for different user patterns to construct a coded word minimizing possible error rate.
The present invention together with the above and other objects and advantages may best be understood from the following detailed description of the preferred embodiments of the invention illustrated in the drawings, wherein:
In the following detailed description of embodiments of the invention, reference is made to the accompanying drawings, which illustrate example embodiments by which the invention may be practiced. It is to be understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the invention.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
In accordance with features of the preferred embodiments, a method, apparatus, and system are provided for implementing enhanced an enhanced modulation code for hard disk drives (HDDs).
Having reference now to the drawings, in
As shown in
In accordance with features of preferred embodiments, data coding control 130 is provided with the controller 114 to implement an enhanced modulation code for hard disk drives (HDDs) for encoding sector block words for minimizing possible error rate.
System 100 including the host computer 102 and the HDD 104 is shown in simplified form sufficient for understanding the present embodiments. The illustrated host computer 102 together with the storage device or HDD 104 is not intended to imply architectural or functional limitations. The present invention can be used with various hardware implementations and systems and various other internal hardware devices.
Referring now
Modulation code stage 200 includes encoded block-words (n+1 bits) 210 including 1 code bit 212 that are generated with n→n+1 encoding. For a user block-word having large BER weight in the bottom region 206, then this block-word is replaced by a code-word from top region 204. The encoding can be implemented by taking the index of user block-word in BER-list 203, subtract half of BER-list length (index shift), and placing the code-word corresponding to new index as a coded block-word. After that a single bit 212 set as 1 (coding bit) is added to block-word, meaning that index shift was done. For a user block-word is in the top region 204 of BER-list, the block-word is not changed and the coding bit 212 is set to 0, meaning that index shift was not done. After such encoding all block-words are in the top region 204 of BER-list 203 and total BER of the pattern are reduced. The main disadvantage of this simplest encoding of modulation code stage 200 is high penalty of a code 1/(n+1). To create the code with penalty 1% we need to use code word blocks with n equal to approximately 100 and the BER list 203 of 2n block words is too long 2n for practical applications.
Referring to
For the encoding of modulation code stage 300, if a user block-word has BER in the range 308 of worst k block-words, this block-word is encoded that place it in the range 304 of best k code-words and the coding bit 312 is set as 1. If user code-word is in the range 304 of best k code-words, the block word is not changed and coding bit set as 0. If user block-word is in the range 306 of BER list 303 from k+1 to 2n−k the code-word is not changed and no coding bit is written. On average, the encoding n is represented by n→n+2k/2n encoding. The main problem of this approach that coding rate is variable, depending on data.
In accordance with features of preferred embodiments, data coding control 130 provided with the controller 114 implements an enhanced modulation code for hard disk drives (HDDs) for encoding sector block words minimizing possible error rate and providing a constant coding rate as illustrated in
Referring to
For encoding of a sector with modulation code stage 400, first the sector of length N, 410 is divided into n-bits block-words or ˜N/n block-words. A representative position or index 409 of each block-word in BER-list 403 is schematically shown by solid blocks 409 in
Finally, the encoded sector as shown in
In accordance with features of the preferred embodiments, the example of BER-list encoding is practical for block-word length n=7−15 bits. A main advantage of BER-list codes is natural incorporation of BER information in code construction. From this point of view this code is universal for any combination of error inducing events. The rate of the code is extremely flexible that simplify code rate optimization for different signal to noise ratio (SNR), user bit density (UBD) and noise color.
Referring now to
A sequence of program instructions or a logical assembly of one or more interrelated modules defined by the recorded program means or control code 504, 506, 508, 510, direct HDD controller 114 to implement modulation codes in HDDs of preferred embodiments.
While the present invention has been described with reference to the details of the embodiments of the invention shown in the drawing, these details are not intended to limit the scope of the invention as claimed in the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
7000168 | Kurtas | Feb 2006 | B2 |
7567400 | Cheng | Jul 2009 | B2 |
8085640 | Minemura | Dec 2011 | B2 |
8402345 | Yang et al. | Mar 2013 | B1 |
8489977 | Vamica et al. | Jul 2013 | B2 |
8583981 | Vamica et al. | Nov 2013 | B2 |
9148177 | Arikan | Sep 2015 | B2 |
9231622 | Wang | Jan 2016 | B2 |
20030043939 | Okumura | Mar 2003 | A1 |
20150067415 | Miyamoto | Mar 2015 | A1 |
Number | Date | Country |
---|---|---|
2004039089 | May 2004 | WO |
2007084751 | Jul 2007 | WO |
Entry |
---|
Link Budget Analysis: Error Control & Detection, ARF Atlanta RF Services, Software & Designs, pp. 1-63, Aug. 2013 http://atlantarf.com/Error—Control.php. |