Various products including hard disk drives utilize a read channel device to retrieve information from a medium and decode and convert the information to a digital data format. Such read channel devices may include data processing circuits including encoder, detector and decoder circuits to encode, detect and decode data as it is stored and retrieved from a medium or transmitted through a data channel, in order to reduce the likelihood of errors in the retrieved data.
It is important that the read channel devices be able to rapidly and accurately detect the data bits in retrieved or received data samples so they can be decoded. A number of various types of detectors are available to identify the value of encoded data bits as they are retrieved or received, before the detected data is decoded. One such detector is a maximum a posteriori (MAP) detector, which determines the most likely value of each encoded data bit. A typical MAP detector uses a trellis structure to calculate the probability or branch metric for each possible value of a bit or group of bits. A forward pass through the trellis is performed, calculating the probabilities of the possible values, a backward pass through the trellis is performed, again calculating the probabilities of the possible values, and the results of the forward and backward passes are combined to arrive at a decision based on the probabilities.
Because efforts are continually being made to increase the speed of data processing circuits while reducing their size and complexity, all while operating with increasingly dense storage devices or transmission channels that increase noise, there exists a need in the art for improving data detection in data processing circuits.
Various embodiments of the present invention provide apparatuses, systems and methods for data detection in a detector with soft pruning. For example, a data detector is disclosed that includes a branch metric calculator operable to calculate branch metrics for transitions between states in a trellis for the data detector, and a branch metric offset circuit operable to apply branch metric offsets to the branch metrics to yield soft pruned branch metrics. The branch metric offsets comprise a range of probability values from zero percent to one hundred percent. The branch metric offsets are applied in some embodiments to all transitions, including those from states that originate prohibited transitions and those from states that do not originate prohibited transitions. The branch metric offsets are derived in some instances from conditional state transition probabilities for encoded data at an input of the data detector based on at least one constraint on the encoded data. The soft pruning or application of branch metric offsets is disabled in some embodiments when constraints on encoded data are violated at the input to the data detector. In some cases, the branch metric offset circuit is operable to periodically switch between multiple sets of branch metric offsets. In cases in which the data detector is a maximum a posteriori detector, the branch metric offset circuit is operable to apply the branch metric offsets in a forward detection operation and in a reverse detection operation.
Other embodiments provide a method of detecting data in a data detector with soft pruning, including calculating a branch metric for each of a plurality of transitions between states in the data detector, applying a branch metric offset to each of the branch metrics to yield soft pruned branch metrics, and calculating hard decisions based on the soft pruned branch metrics. In some instances of the aforementioned embodiments, the branch metric offsets are applied to all transitions in the data detector. Some embodiments also include deriving the branch metric offsets from probabilities of data patterns at an input to the data detector by counting occurrences of each possible pattern in a sliding window applied to a data stream at an output of an encoder upstream of the data detector to yield probabilities of occurrence, grouping the possible patterns and normalizing the probabilities of occurrence by group. Some embodiments also include disabling the application of branch metric offsets when data at an input of the data detector violates constraints upon which the branch metric offsets are based.
This summary provides only a general outline of some embodiments according to the present invention. Many other objects, features, advantages and other embodiments of the present invention will become more fully apparent from the following detailed description, the appended claims and the accompanying drawings.
A further understanding of the various embodiments of the present invention may be realized by reference to the figures which are described in remaining portions of the specification. In the figures, like reference numerals may be used throughout several drawings to refer to similar components. In the figures, like reference numerals are used throughout several figures to refer to similar components. In some instances, a sub-label consisting of a lower case letter is associated with a reference numeral to denote one of multiple similar components. When reference is made to a reference numeral without specification to an existing sub-label, it is intended to refer to all such multiple similar components.
Various embodiments of the present invention are related to detectors with soft pruning and methods for data detection with soft pruning. The detector may comprise any channel detector or data detector which calculates branch metrics or probabilities for transitions between states relating to data bit values. The detector may comprise, but is not limited to, a maximum a posteriori (MAP) detector in which forward and backward recursions are performed in a trellis of data states. A trellis implemented by a detector with soft pruning can have any number of states, including a 2-state trellis that calculates transitions between single-bit values, or a 16-state trellis with four-bit values, or any other number of states.
In certain operating environments, the probability that data transitions take particular branches is affected by constraints imposed on the data by other data processing elements. For example, when the detector processes data encoded by a maximum transition run (MTR) encoder, some data patterns are prohibited by the constraints imposed by the MTR encoder. MTR encoders may be used in environments such as high density magnetic recording, in which long transition runs can cause significant burst errors. A first constraint that may be imposed by an MTR encoder is a J-constraint, which limits the number of consecutive transitions in a stream of data bits in the non-return to zero (NRZ) domain. An MTR(3) encoder limits the data stream to three consecutive bits of opposite state. The MTR(3) will not produce a stream of data bits with four consecutive different values. A second constraint that may be imposed is a K-constraint, which limits the DC length, i.e. the number of consecutive zeros or ones.
Constraints such as these affect the likelihood of certain branches or paths through the trellis in the detector. However, rather than simply removing branches through the trellis that are prohibited by setting their probability to zero, the detector with soft pruning takes into account the affect of data constraints on other branches through the trellis. This is performed in some embodiments by determining the affect on branch probabilities from the constraint to determine branch metric offsets, and applying the branch metric offsets to the branch metric calculations to generate conditional state transition probabilities during either or both the forward or backward recursions in the detector. The resulting soft pruned branch metrics or conditional state transition probabilities are thus modified to account for the affects of upstream constraints on the data being detected.
The soft pruning in the detector may also be adapted to compensate for other channel conditions that affect the channel data and the detection process. For example, the MTR constraints imposed by the encoder may be affected or violated by parity bits inserted after the encoding process or by other formatting data inserted into the encoded data such as parity bits, sync patterns, headers, etc. In some embodiments, the detector discontinues or modifies the soft pruning in response to these environmental conditions, for example turning off the soft pruning operation when processing parity bits or encoded bits adjacent parity bits where the MTR constraints that were used to generate the branch metric offsets are or may be violated.
Although the detector with soft pruning disclosed herein is not limited to any particular application, it may be used in a read channel of a storage device. Turning to
The encoded user bits 112 are provided to a low density parity check (LDPC) encoder 114, which produces parity bits 116 for the encoded user bits 112. The parity bits 116 are combined with the encoded user bits 112 in a multiplexer 120. The resulting digital data stream 122 may be manipulated before storage or transmission in storage or transmission channel 104. For example, the digital data stream 122 may be converted to analog format and modulated or otherwise processed before it used to drive a magnetic write head or to be transmitted as a radio frequency signal or other wired or wireless signal.
The read channel 100 includes an analog front end circuit 124 that receives and processes an analog signal 126 from the storage or transmission channel 104. Analog front end circuit 124 may include, but is not limited to, an analog filter and an amplifier circuit as are known in the art. Based upon the disclosure provided herein, one of ordinary skill in the art will recognize a variety of circuitry that may be included as part of analog front end circuit 124. In some cases, the gain of a variable gain amplifier included as part of analog front circuit 124 may be modifiable, and the cutoff frequency and boost of an analog filter included in analog front end circuit 124 may be modifiable. Analog front end circuit 124 receives and processes the analog signal 126, and provides a processed analog signal 130 to an analog to digital converter circuit 132. In some cases, analog signal 126 is derived from a read/write head assembly in the storage or transmission channel 104 that is disposed in relation to a storage medium. In other cases, analog signal 126 is derived from a receiver circuit in the storage or transmission channel 104 that is operable to receive a signal from a transmission medium. The transmission medium may be wireless or wired such as, but not limited to, cable or optical connectivity. Based upon the disclosure provided herein, one of ordinary skill in the art will recognize a variety of sources from which analog input 126 may be derived.
Analog to digital converter circuit 132 converts processed analog signal 130 into a corresponding series of digital samples 134. Analog to digital converter circuit 130 may be any circuit known in the art that is capable of producing digital samples corresponding to an analog input signal. Based upon the disclosure provided herein, one of ordinary skill in the art will recognize a variety of analog to digital converter circuits that may be used in relation to different embodiments of the present invention. Digital samples 134 are provided to an equalizer circuit 136. Equalizer circuit 136 applies an equalization algorithm to digital samples 134 to yield an equalized output 140. In some embodiments of the present invention, equalizer circuit 136 is a digital finite impulse response filter circuit as are known in the art. Equalized output 140 is provided to a data detector circuit 142. In some cases, equalizer 136 includes sufficient memory to maintain one or more codewords until a data detector circuit 142 is available for processing.
The data detector circuit 142 performs a data detection process on the received input from the storage or transmission channel 104 resulting in a detected output 144. The detected output 144 is provided to a decoder such as an LDPC decoder 146 which performs parity checks on the detected output 144, ensuring that parity constraints established by the LDPC encoder 114 are satisfied in order to detect and correct any errors that may have occurred in the data while passing through the storage or transmission channel 104 or other components of the read channel 100. Other error detection and correction encoders and decoders may be used in the read channel 100 in place of the LDPC encoder 114 and LDPC decoder 146, and one of ordinary skill in the art will recognize a variety of error detection and correction encoders and decoders that may be used in relation to different embodiments of the present invention. In the case of the LDPC encoder 114 and LDPC decoder 146, the data detector circuit 142 and LDPC decoder 146 may operate in an iterative fashion, with extrinsic information 150 passed from the LDPC decoder 146 to the data detector circuit 142 to aid in the data detection and parity check process. The LDPC decoder 146 yields encoded user bits 152 retrieved from the storage or transmission channel 104, with the parity bits removed after the combination of encoded user bits and parity bits satisfy the parity check constraints.
The encoded user bits 152 from the LDPC decoder 146 are provided to an MTR decoder 154 which reverses the enumerative encoding performed by the MTR encoder 110. The MTR decoder 154 yields user data bits 156, which should be identical to user data bits 102 if the data is not corrupted in the storage or transmission channel 104 beyond the capacity of the data detector circuit 142 and LDPC decoder 146 to correct.
Data detector circuit 142 is operable to apply a data detection algorithm to a received codeword or data set, and in some cases data detector circuit 142 can process two or more codewords in parallel. The received codeword or data set includes a number of multi-bit symbols. In one particular embodiment of the present invention, the multi-bit symbols are four bit symbols that may take one of sixteen possible values for each four bit symbol (i.e., ‘0000’, ‘0001’, ‘0010’, . . . ‘1111’). In such a case, a detected output 144 from data detector circuit 142 includes sixteen soft decision values (L0 corresponding to a likelihood that ‘0000’ is the appropriate hard decision, L1 corresponding to a likelihood that ‘0001’ is the appropriate hard decision, L2 corresponding to a likelihood that ‘0010’ is the appropriate hard decision, and so on to L16 which corresponds to a likelihood that ‘1111’ is the appropriate hard decision). In other embodiments of the present invention, the multi-bit symbols are two or three bit symbols or symbols of other widths. Based upon the disclosure provided herein, one of ordinary skill in the art will recognize a number of different symbol sizes that may be used in relation to different embodiments of the present invention.
In some embodiments of the present invention, data detector circuit 142 is a Viterbi algorithm data detector circuit as are known in the art. In other embodiments of the present invention, data detector circuit 142 is a maximum a posteriori data detector circuit as are known in the art. Of note, the general phrases “maximum a posteriori data detection algorithm” or “maximum a posteriori data detector circuit” are used in their broadest sense to mean any maximum a posteriori detection algorithm or detector circuit or variations thereof including, but not limited to, simplified maximum a posteriori data detection algorithm and a max-log maximum a posteriori data detection algorithm, or corresponding detector circuits. Based upon the disclosure provided herein, one of ordinary skill in the art will recognize a variety of data detector circuits that may be used in relation to different embodiments of the present invention. Data detector circuit 142 is started based upon availability of a data set from equalizer circuit 136 or other source.
An example MAP detector that may benefit from soft pruning implements the Bahl-Cocke-Jelinek-Raviv (BCJR) algorithm, performing forward and reverse recursions through a trellis of states, calculating the likelihood of each path between states in both the forward and reverse recursions, then combining the results. The MAP detector may yield a soft output, the likelihood of each bit or symbol, or may yield hard decisions, the value of each bit or symbol.
Turning to
If the data processed by the detector is encoded by an MTR(3) encoder, certain data patterns are prohibited to limit the maximum transition run length and zero-run length. For example, from state 220 at time k having value ‘0101’, the receipt of a ‘0’ along transition path 222 would be a run of four consecutive transitions, ‘01010’, which is prohibited and will not be produced by the MTR(3) encoder. Thus, the probability of transition 222 between states 220 and 224 is zero. As a result, the probability of receiving a ‘1’ and taking transition 226 between states 220 and 230 with value ‘1011’ is one, or one hundred percent. Similarly, from state 232 at time k with value ‘1010’, the receipt of a ‘1’ along transition path 234 would be a run of four consecutive transitions, ‘10101’, which is prohibited and will not be produced by the MTR(3) encoder. Thus, the probability of transition 234 between state 232 at time k and state 236 is zero. As a result, the probability of receiving a ‘0’ and taking transition 240 between states 232 and 242 with value ‘0100’ is one, or one hundred percent.
Transitions 222 and 234 are pruned in the detector by calculating branch metric offsets and combining them with the branch metric calculations for transitions 222 and 234 that reduce the overall likelihood or probability for those transitions or branches to zero. The probabilities for transitions 226 and 240 are also modified by calculating and combining branch metric offsets for them that increase the overall likelihood or probability for those transitions or branches to one. Thus, the detector with soft pruning applies branch metric offsets for states associated with prohibited transitions. However, the changes in the probabilities for the transitions 222, 226, 234 and 240 also affect the probabilities for other transitions (e.g., 210 and 212) in the trellis. The detector with soft pruning also calculates and applies branch metric offsets for states not directly associated with prohibited transitions. In some embodiments, the detector with soft pruning calculates and applies branch metric offsets for all paths through the trellis, including all transitions. The manipulation of branch metrics in a data detector based on probability of input data patterns for transitions from states including those that do not originate prohibited transitions is referred to herein as soft pruning.
The probability of various input data patterns may be acquired in any of a number of suitable manners, including using calculations based on the theory of operation of components upstream from the detector and experimentally based on simulated or actual circuits. For example, in some embodiments, the probability of various input data patterns is acquired experimentally by monitoring the output of a data encoder upstream of the detector based on a large amount of input data. The data encoder may be considered as a black box for this purpose with a random data input. The encoder will produce a constraint sequence, a stream of output data that conforms to the encoder constraints, such as a limit on the maximum data transition run length. A sliding window is applied to the stream of output data, with the length of the sliding window set based on the symbol length of the data detector. For the example detector with a four-bit symbol disclosed above, a five-bit sliding window is applied to the stream of data used to acquire the probability distribution. As the data shifts through the sliding window bit by bit, a count is kept of how many times each particular sequence or pattern occurs in the data stream. Given a five-bit window, 32 different patterns are possible. The probability of occurrence of each of the 32 patterns in the data stream is calculated based on the counts.
The conditional state transition probability, or the probability that a particular four-bit state will transition to another particular four-bit state may then be calculated. Given a pair of states in the 32 patterns having the same four-bit prefix, it can be assumed that the pair of states are preceded in the trellis by the same state, having the four-bit sequence as the least significant four bits. The two transitions or branches from a particular four-bit state to two subsequent four-bit states are thus identified. The probability of the pair of states is normalized by scaling the probabilities of the each of the pair of states so their probabilities sums to 1. The resulting normalized probabilities of each of the pair of states with the same four-bit prefix is the conditional state transition probability applied to branch metrics in the trellis for the transitions to the two states. The branch metric offsets may thus correspond directly to the conditional state transition probabilities or may be derived from them.
A plot 300 of example conditional state transition probabilities for a particular MTR(3) encoder is illustrated in
In some embodiments, multiple sets of conditional state transition probabilities may be applied periodically at different periods to enhance data detection with encoders having different probability properties at different periods. For example, in one example an encoder may be adapted to process an input data stream across 1000 time periods using two sets of conditional state transition probabilities, alternating between the two for each successive time period.
The conditional state transition probability may be denoted as P(xk|xk−4k−1), with the log of the conditional state transition probabilities, log(P(xk|xk−4k−1)), added to each branch metric. This application of a conditional state transition probability for a transition due to a single bit change may be referred to as full rate soft pruning. In some embodiments, other soft pruning rates may be used. For example, quarter rate soft pruning may be applied for transitions due to four-bit changes. With a 16 state trellis, it may be assumed that the input sequence is a Markov source of order 4. In this case, the conditional state transition probability is denoted as P(xk−3k|sk−4), where P(xk−3k|sk−4)=P(xk−3k|xk−7k−4)=Πi=−30P(xk+i|xk−4+ik−1+i), which provides four one-bit terms. The logs of the four one-bit terms are added to each branch metric.
In some embodiments of a data detector, the full rate branch metric is proportional to the negative log of the Gaussian distribution and is set forth as branchMetrick(xk−4k)=beta·{(zk[C]−edgemean(xk−4k))2/2 var−ln(P(xk|xk−4k−1))−ln(s[C])}, where ln(P(xk|xk−4k−1)) is the natural log of the conditional state transition probability. In some cases, the calculation of the branch metric in the detector is simplified to branchMetrick(xk−4k)=sqterm(xk−4k)+log term[C], where sqterm(xk−4k)=(zk[C]−edgemean(xk−4k))2/8, and log term[C]=−ln(s[C]). In these cases, the sqterm is changed by soft pruning to sqterm(xk−4k)=(zk[C]− edgemean(xk−4k))2−2 var*ln(P(xk|xk−4k−1))/8. Alternatively, the logterm may be changed to
The soft pruning may be selectively activated and deactivated in a data detector based on the content or format of the incoming data. Turning back to
The distribution of parity bits 116 in the encoded user bits 112 is thus a balance, with larger and more infrequent blocks of parity bits enabling more soft pruning but increasing the possibility of K-constraint violations which negatively affect timing loops. In some embodiments, the width of the parity bit blocks (e.g., 402) is kept small enough to meet K-constraints, but substantially as large as possible within the K-constraints to reduce limiting soft pruning.
Other data mixed with encoded user bits 112 may also interfere with the conditional state transition probabilities, such as sync marks and boundary bits such as sector preambles and end of sector padding. Soft pruning is disabled in some embodiments at least during these sections of data as disclosed above with respect to parity bits.
Turning to
Turning to
Turning to
Although the data detector with soft pruning disclosed herein is not limited to any particular application, several examples of applications are presented in
In a typical read operation, read/write head assembly 820 is accurately positioned by motor controller 812 over a desired data track on disk platter 816. Motor controller 812 both positions read/write head assembly 820 in relation to disk platter 816 and drives spindle motor 814 by moving read/write head assembly 820 to the proper data track on disk platter 816 under the direction of hard disk controller 810. Spindle motor 814 spins disk platter 816 at a determined spin rate (RPMs). Once read/write head assembly 820 is positioned adjacent the proper data track, magnetic signals representing data on disk platter 816 are sensed by read/write head assembly 820 as disk platter 816 is rotated by spindle motor 814. The sensed magnetic signals are provided as a continuous, minute analog signal representative of the magnetic data on disk platter 816. This minute analog signal is transferred from read/write head assembly 820 to read channel circuit 802 via preamplifier 804. Preamplifier 804 is operable to amplify the minute analog signals accessed from disk platter 816. In turn, read channel circuit 802 decodes and digitizes the received analog signal to recreate the information originally written to disk platter 816. This data is provided as read data 822 to a receiving circuit. As part of processing the received information, read channel circuit 802 performs a data detection process on the received signal using a data detector with soft pruning. Such a data detector with soft pruning may be implemented consistent with the disclosure above in relation to
It should be noted that storage system 800 may be integrated into a larger storage system such as, for example, a RAID (redundant array of inexpensive disks or redundant array of independent disks) based storage system. It should also be noted that various functions or blocks of storage system 800 may be implemented in either software or firmware, while other functions or blocks are implemented in hardware.
Turning to
It should be noted that the various blocks discussed in the above application may be implemented in integrated circuits along with other functionality. Such integrated circuits may include all of the functions of a given block, system or circuit, or only a subset of the block, system or circuit. Further, elements of the blocks, systems or circuits may be implemented across multiple integrated circuits. Such integrated circuits may be any type of integrated circuit known in the art including, but are not limited to, a monolithic integrated circuit, a flip chip integrated circuit, a multichip module integrated circuit, and/or a mixed signal integrated circuit. It should also be noted that various functions of the blocks, systems or circuits discussed herein may be implemented in either software or firmware. In some such cases, the entire system, block or circuit may be implemented using its software or firmware equivalent. In other cases, the one part of a given system, block or circuit may be implemented in software or firmware, while other parts are implemented in hardware.
In conclusion, the present invention provides novel apparatuses, systems, and methods for data detection in a data detector with soft pruning. While detailed descriptions of one or more embodiments of the invention have been given above, various alternatives, modifications, and equivalents will be apparent to those skilled in the art without varying from the spirit of the invention. Therefore, the above description should not be taken as limiting the scope of the invention, which is defined by the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
5214672 | Eyuboglu et al. | May 1993 | A |
5278703 | Rub et al. | Jan 1994 | A |
5278846 | Okayama | Jan 1994 | A |
5317472 | Schweitzer, III | May 1994 | A |
5325402 | Ushirokawa | Jun 1994 | A |
5392299 | Rhines | Feb 1995 | A |
5417500 | Martinie | May 1995 | A |
5424881 | Behrens et al. | Jun 1995 | A |
5497384 | Fredrickson et al. | Mar 1996 | A |
5513192 | Janku | Apr 1996 | A |
5523903 | Hetzler | Jun 1996 | A |
5550810 | Monogioudis et al. | Aug 1996 | A |
5550870 | Blaker | Aug 1996 | A |
5612964 | Haraszti | Mar 1997 | A |
5710784 | Kindred | Jan 1998 | A |
5717706 | Ikeda | Feb 1998 | A |
5757855 | Strolle et al. | May 1998 | A |
5802069 | Coulson | Sep 1998 | A |
5802118 | Bliss | Sep 1998 | A |
5844945 | Nam | Dec 1998 | A |
5859740 | Takeda et al. | Jan 1999 | A |
5898710 | Amrany | Apr 1999 | A |
5923713 | Hatakeyama | Jul 1999 | A |
5978414 | Nara | Nov 1999 | A |
5983383 | Wolf | Nov 1999 | A |
6005897 | Mccallister | Dec 1999 | A |
6023783 | Divsalar | Feb 2000 | A |
6029264 | Kobayashi | Feb 2000 | A |
6065149 | Yamanaka | May 2000 | A |
6097764 | McCallister | Aug 2000 | A |
6127954 | Kim | Oct 2000 | A |
6145110 | Khayrallah | Nov 2000 | A |
6216249 | Bliss | Apr 2001 | B1 |
6216251 | McGinn | Apr 2001 | B1 |
6266795 | Wei | Jul 2001 | B1 |
6301679 | Tan | Oct 2001 | B1 |
6317472 | Choi | Nov 2001 | B1 |
6351832 | Wei | Feb 2002 | B1 |
6377610 | Hagenauer | Apr 2002 | B1 |
6381726 | Weng | Apr 2002 | B1 |
6446236 | McEwen et al. | Sep 2002 | B1 |
6473878 | Wei | Oct 2002 | B1 |
6535553 | Limberg et al. | Mar 2003 | B1 |
6557113 | Wallentine | Apr 2003 | B1 |
6625775 | Kim | Sep 2003 | B1 |
6691263 | Vasic et al. | Feb 2004 | B2 |
6697977 | Ozaki | Feb 2004 | B2 |
6731442 | Jin et al. | May 2004 | B2 |
6738948 | Buckley et al. | May 2004 | B2 |
6757862 | Marianetti, II | Jun 2004 | B1 |
6785863 | Blankenship | Aug 2004 | B2 |
6810502 | Eidson | Oct 2004 | B2 |
6901119 | Cideciyan et al. | May 2005 | B2 |
6970511 | Barnette | Nov 2005 | B1 |
6980382 | Hirano et al. | Dec 2005 | B2 |
6986098 | Poeppelman et al. | Jan 2006 | B2 |
7047474 | Rhee | May 2006 | B2 |
7058873 | Song | Jun 2006 | B2 |
7073118 | Greenberg | Jul 2006 | B2 |
7093179 | Shea | Aug 2006 | B2 |
7117427 | Ophir | Oct 2006 | B2 |
7133228 | Fung | Nov 2006 | B2 |
7154936 | Bjerke et al. | Dec 2006 | B2 |
7168030 | Ariyoshi | Jan 2007 | B2 |
7184486 | Wu | Feb 2007 | B1 |
7191378 | Eroz | Mar 2007 | B2 |
7203015 | Sakai et al. | Apr 2007 | B2 |
7203887 | Eroz | Apr 2007 | B2 |
7237173 | Morita et al. | Jun 2007 | B2 |
7254192 | Onggosanusi | Aug 2007 | B2 |
7257172 | Okamoto et al. | Aug 2007 | B2 |
7308061 | Huang | Dec 2007 | B1 |
7310768 | Eidson | Dec 2007 | B2 |
7313750 | Feng | Dec 2007 | B1 |
7359313 | Chan et al. | Apr 2008 | B2 |
7370258 | Iancu | May 2008 | B2 |
7415651 | Argon | Aug 2008 | B2 |
7441174 | Li et al. | Oct 2008 | B2 |
7457212 | Oh | Nov 2008 | B2 |
7502189 | Sawaguchi | Mar 2009 | B2 |
7523375 | Spencer | Apr 2009 | B2 |
7587657 | Haratsch | Sep 2009 | B2 |
7590168 | Raghavan | Sep 2009 | B2 |
7646829 | Ashley | Jan 2010 | B2 |
7652966 | Kadokawa | Jan 2010 | B2 |
7675987 | Perrins | Mar 2010 | B2 |
7688915 | Tanrikulu et al. | Mar 2010 | B2 |
7702973 | Mead | Apr 2010 | B2 |
7702986 | Bjerke et al. | Apr 2010 | B2 |
7752523 | Chaichanavong | Jul 2010 | B1 |
7779325 | Song | Aug 2010 | B2 |
7802172 | Casado | Sep 2010 | B2 |
7852722 | Kikugawa et al. | Dec 2010 | B2 |
7952824 | Dziak | May 2011 | B2 |
7958425 | Chugg | Jun 2011 | B2 |
7996746 | Livshitz | Aug 2011 | B2 |
8018360 | Nayak | Sep 2011 | B2 |
8095855 | Tan | Jan 2012 | B2 |
8161357 | Tan | Apr 2012 | B2 |
8190831 | Lee et al. | May 2012 | B2 |
8201051 | Tan | Jun 2012 | B2 |
8209584 | Kim et al. | Jun 2012 | B2 |
8237597 | Liu | Aug 2012 | B2 |
8261171 | Annampedu | Sep 2012 | B2 |
8291284 | Savin | Oct 2012 | B2 |
8295001 | Liu | Oct 2012 | B2 |
20030043487 | Morita et al. | Mar 2003 | A1 |
20070061687 | Hwang | Mar 2007 | A1 |
20080002791 | Gratrix et al. | Jan 2008 | A1 |
20080069373 | Jiang | Mar 2008 | A1 |
20080304558 | Zhu et al. | Dec 2008 | A1 |
20090132893 | Miyazaki | May 2009 | A1 |
20090185643 | Fitzpatrick | Jul 2009 | A1 |
20100042877 | Tan | Feb 2010 | A1 |
20110167227 | Yang | Jul 2011 | A1 |
20110264987 | Li | Oct 2011 | A1 |
20120124118 | Ivkovic | May 2012 | A1 |
20120182643 | Zhang | Jul 2012 | A1 |
20120212849 | Xu | Aug 2012 | A1 |
20120262814 | Li | Oct 2012 | A1 |
20120265488 | Sun | Oct 2012 | A1 |
Number | Date | Country |
---|---|---|
467522 | Jan 1992 | EP |
0549151 | Jun 1993 | EP |
1096491 | Oct 2005 | EP |
10-145243 | May 1998 | JP |
2007-087529 | Apr 2007 | JP |
WO 0139188 | May 2001 | WO |
Entry |
---|
Axvig et al., “Average Min-Sum Decoding of LDPC Codes”, 5th International Symposium on Turbo Codes and Related Topics (2008). |
Bagul, Y., G.: “Assessment of current health and remaining useful life of hard disk drives” [online] Jan. 1, 2009 [retrieved on Oct. 14, 2010] Retrieved from the internet: <URL; (http:iris.lib.neu.edu/comp—sys—eng—theses/I). |
Bahl et al., “Optimal decoding of linear codes for minimizing symbol error rate”, IEEE Trans. Inform. Theory, vol. 20, pp. 284-287 (Mar. 1974). |
Blaum, “High-Rate Modulation Codes for Reverse Concatenation”, IEEE Transactions on Magnetics, vol. 43, No. 2 (Feb. 2007). |
Casado et al., Multiple-rate low-density parity-check codes with constant blocklength, IEEE Transations on communications, Jan. 2009, vol. 57, pp. 75-83. |
Cui et al., “High-Throughput Layered LDPC Decoding Architecture”, IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 17, No. 4 (Apr. 2009). |
ECMA: Standardizing Information and Communication Systems: “Standard ECMA-272: 120 mm DVD Rewritable Disk (DVD-RAM)” Standard ECMA, . No. 272. Feb. 1, 1998 pp. 43-51. |
Fan et al., “Constrained coding techniques for soft iterative decoders” Proc. IEEE Global Telecommun. Conf., vol. 1b, pp. 631-637 (1999). |
Fossorier, Marc P.C. “Quasi-Cyclic Low-Density Parity-Check Codes From Circulant Permutation Maricies” IEEE Transactions on Information Theory, vol. 50, No. 8 Aug. 8, 2004. |
Galbraith et al., “Iterative Detection Read Channel Technology in Hard Disk Drives” [online] Oct. 1, 2008 [ret. on Oct. 1, 2008] Ret. from Internet:<URL:http://www.hitachigst.com. |
Gross, “Stochastic Decoding of LDPC Codes over GF(q)”, HDPCC Workshop, Tel Aviv (Mar. 2, 2010). |
Gunnam et al., “VLSI Architectures for Layered Decoding for Irregular LDPC Codes of WiMax”, IEEE ICC Proceedings (2007). |
Hagenauer, J. et al A Viterbi Algorithm with Soft-Decision Outputs and its Applications in Proc. IEEE Globecom pp. 47. 11-47 Dallas, TX Nov. 1989. |
Han and Ryan, “Pinning Techniques for Low-Floor Detection/Decoding of LDPC-Coded Partial Response Channels”, 5th International Symposium on Turbo Codes &Related Topics, 2008. |
Kautz, “Fibonacci Codes for Synchronization Control”, IEEE Trans. Info. Theory, vol. 11, No. 2, pp. 284-292 (Apr. 1965). |
Kavcic et al., “A Signal-Dependent Autoregressive Channel Model”, IEEE Transactions on Magnetics, vol. 35, No. 5, Sep. 1999 pp. 2316-2318. |
Kschischang et al., “Factor Graphs and the Sum-Product Algorithm”, IEEE Transactions on Information Theory, vol. 47, No. 2 (Feb. 2001). |
Leduc-Primeau et al., “A Relaxed Half-Stochastic Iterative Decoder for LDPC IEEE Codes”, IEEE Communications Society, IEEE Globecom proceedings (2009). |
Lee et al., “Partial Zero-Forcing Adaptive MMSE Receiver for DS-CDMA Uplink in Multicell Environments” IEEE Transactions on Vehicular Tech. vol. 51, No. 5, Sep. 2002. |
Li et al “Efficient Encoding of Quasi-Cyclic Low-Density Parity Check Codes” IEEE Transactions on Communications on 53 (11) 1973-1973, 2005. |
Lim et al. “Convergence Analysis of Constrained Joint Adaptation in Recording Channels” IEEE Trans. on Signal Processing vol. 54, No. 1 Jan. 2006. |
Lin et al “An efficient VLSI Architecture for non binary LDPC decoders”—IEEE Transaction on Circuits and Systems II vol. 57, Issue 1 (Jan. 2010) pp. 51-55. |
Moon et al, “Pattern-dependent noise prediction in signal-dependent Noise,” IEEE JSAC, vol. 19, No. 4 pp. 730-743, Apr. 2001. |
Moon et al., “Maximum transition run codes for data storage systems”, IEEE Trans. Magn., vol. 32, No. 5, pp. 3992-3994 (Sep. 1996). |
Shokrollahi “LDPC Codes: An Introduction”, Digital Fountain, Inc. (Apr. 2, 2003). |
Spagnol et al. “Hardware Implementation of GF(2Λm) LDPC Decoders”, IEEE Transactions on Circuits and Systemssi: Regular Papers, vol. 56, No. 12 (Dec. 2009). |
Tehrani et al., “Fully Parallel Stochastic LDPC Decoders”, IEEE Transactions on Signal Processing, vol. 56, No. 11 (Nov. 2008). |
Todd et al., “Enforcing maximum-transition-run code constraints and low-density parity check decoding”, IEEE Trans. Magn., vol. 40, No. 6, pp. 3566-3571 (Nov. 2004). |
U.S. Appl. No. 13/269,852, filed Oct. 10, 2011 Unpublished (Haitao Xia). |
U.S. Appl. No. 13/113,219, filed May 23, 2011 Unpublished (Yang Han). |
U.S. Appl. No. 13/174,453, filed Jun. 30, 2011 Unpublished (Johnson Yen). |
U.S. Appl. No. 13/174,537, filed Jun. 30, 2011 Unpublished (Anantha Raman Krishnan). |
U.S. Appl. No. 13/227,416, filed Sep. 7, 2011 Unpublished (Lei Chen). |
U.S. Appl. No. 13/180,495, filed Jul. 11, 2011 Unpublished (Chung-Li Wang). |
U.S. Appl. No. 13/213,751, filed Aug. 19, 2011 Unpublished (Fan Zhang). |
U.S. Appl. No. 13/186,234 filed Jul. 9, 2011 Unpublished (Haitao Xia). |
U.S. Appl. No. 13/239,683, filed Sep. 22, 2011 Unpublished (Changyou Xu). |
U.S. Appl. No. 13/259,832, filed Oct. 10, 2011 Unpublished (Haitao Xia). |
U.S. Appl. No. 13/171,615, filed Jun. 29, 2011 Unpublished (Bradley D. Seago). |
U.S. Appl. No. 13/227,544, filed Sep. 8, 2011 Unpublished (Shaohua Yang). |
Vasic B., “High-Rate Girth-Eight Codes on Rectangular Integer Lattices”, IEEE. Trans. Communications, vol. 52, Aug. 2004, pp. 1248-1252. |
Vasic, B., “High-Rate Low-Density Parity-Check Codes Based on Anti-Pasch Affine Geometries,” Proc. ICC 2002, pp. 1332-1336. |
Weon-Cheol Lee et al., “Vitierbi Decoding Method Using Channel State Info. in COFDM System” IEEE Trans. on Consumer Elect., IEEE Service Center, NY, NY vol. 45, No. 3 Aug. 1999. |
Yeo et al., “VLSI Architecture for Iterative Decoders in Magnetic Storage Channels”, Mar. 2001, pp. 748-755, IEEE trans, Magnetics, vol. 37, No. 2. |
Zhang et al., “Analysis of Verification-Based Decoding on the q-ary Symmetric Channel for Large q”, IEEE Trans. on Information Theory, vol. 57, No. 10 (Oct. 2011). |
Zhong et al., “Joint Code-Encoder Design for LDPC Coding System VLSI Implementation”, ISCAS, IEEE pp. 389-392, May 2004. |
Zhong et al., “Design of VLSI Implementation-Oriented LDPC Codes”, IEEE, pp. 670-673, 2003. |
Zhong et al., “High-Rate Quasi-Cyclic LDPC Codes for Magnetic Recording Channel with Low Error Floor”, ISCAS, IEEE pp. 3546-3549, May 2006. |
Zhong et al., “Quasi Cyclic LDPC Codes for the Magnetic Recording Channel: Code Design and VSLI Implementation”, IEEE Transactions on Magnetics, v. 43, pp. 1118-1123, Mar. 2007. |
Zhong, “Block-LDPC: A Practical LDPC Coding System Design Approach”, IEEE Trans. on Circuits, Regular Papers, vol. 5, No. 4, pp. 766-775, Apr. 2005. |
Number | Date | Country | |
---|---|---|---|
20130111306 A1 | May 2013 | US |