Embodiments of the present invention relate to writing data to a storage device and reading data from the storage device. More specifically, embodiments of the present invention relate to handling synchronization errors potentially experienced by a storage device.
Data can be stored on storage devices, such as disk drives or optical storage channels. In order to properly write data to a storage device and read the data back from the storage device, it is important that the storage device be able to locate the data. A piece of data is written to a location on the storage device at a certain frequency. In order to read the same piece of data, the location of the data needs to be determined. If the location is determined accurately, then the frequency of what is read will match the frequency of the data that was written at that location.
In order to be competitive, companies that manufacture storage devices are trying to increase the density at which data can be stored on their storage devices. A higher density means that the bits of data are being stored closer and closer together on storage devices. The closer that bits of data are stored to each other, the more likely that their respective frequencies will interfere with a storage devices ability to read the bits of data. Signal to noise ratio (SNR) is a commonly used measurement for determining how well a storage device can read back data. Higher densities result in poorer SNRs.
Further, magnetic recording (and communications) channels suffer from misalignment between the write (transmitter) clock and the read (receiver) clock. Receivers associated with conventional timing recovery systems, not being ideal, produce synchronization errors (or timing errors). Conventionally designed detectors/decoders at the receiver assume perfect synchronization from the timing recover devices. This assumption is reasonable when the system works at SNRs where the timing recovery devices work. However, at these low SNRs, conventional timing recovery devices typically fail.
Embodiments of the present invention pertain to handling synchronization errors potentially experienced by a storage device. According to one embodiment, a system for handling synchronization errors potentially experienced by a storage device includes a joint detector and a decoder. The joint detector detects transmitted data. The joint detector also detects timing errors that potentially result from the transmission of the data. The joint detector communicates information about the transmitted data and the timing errors with the decoder iteratively in a loop to reduce the amount of the transmitted data that is lost.
The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention:
The drawings referred to in this description should not be understood as being drawn to scale except if specifically noted.
Reference will now be made in detail to various embodiments of the invention, examples of which are illustrated in the accompanying drawings. While the invention will be described in conjunction with these embodiments, it will be understood that they are not intended to limit the invention to these embodiments. On the contrary, the invention is intended to cover alternatives, modifications and equivalents, which may be included within the spirit and scope of the invention as defined by the appended claims. Furthermore, in the following description of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. In other instances, well-known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the present invention.
At low SNRs, conventional timing recovery devices typically fail and channel decoders produce burst of decoding errors partly because the channel decoders assume that synchronization is perfect, which may not be the case. Therefore, according to one embodiment, detectors and decoders are designated to take possible timing uncertainties into account. For example, a discrete Markov model for the timing errors can be used, which led to a soft-output algorithm to jointly detect data symbols and timing errors. This soft-output detection algorithm, if concatenated with an iterative decodable code, can exchange extrinsic information with the error correcting decoder in an iterative (turbo) manner. According to one embodiment, this iterative approach is an “iterative timing recovery” which outperforms the turbo equalization schemes in terms of bit error rate (BER).
According to one embodiment, the iterative timing scheme is further refined to reduce the complexity and memory cost, while still achieving noticeable performance gain over the turbo equalization approach. For example, as will become more evident a forward only algorithm or a list-survivors forward-only algorithm can be used to modify the turbo equalization approach, according to various embodiments.
The following is a summary of the sections included herein: Section I reviews the channel and timing error model used by iterative timing recovery schemes. Section I starts with a discrete Markov timing error model, and then introduces an equivalent finite-state trellis mode. Sections II and III describe two refinements to the iterative timing scheme, according to various embodiments of the present invention. For example, Section II describes a forward-only detection algorithm that can also generate soft-output. This algorithm has much lower memory consumption as well as computational complexity than a forward-backward algorithm used by iterative timing recovery schemes. In section III, a list-survivors technique is described which can be used to reduce memory usage. Section IV describes iterative timing recovery schemes, according to various embodiments. Section V describes simulation results. Section VI provides a summary of various embodiments of the present invention.
An ideal receiver can sample the readback waveform R(t) at time instants T, 2T, 3T . . . . However, because of the timing errors, the receiver samples the readback waveform at the following sampling instants T+ε1, 2T+ε2, . . . , T+εl., and so on. That is, the l-th sample is as depicted in equation 2 (
For the purposes of illustration, assume that h(t) is a finite-support function that satisfies equation 3 depicted on
Notational Conventions: Throughout the text, the following notational conventions are used. The probability of an event A is denoted by P(A). The probability of an event A, conditioned on an event B, is denoted by P(A/B). A sequence of variables bi, bi+1, . . . , bj is shortly denoted by bij. A readback sample Rl as depicted in equation 4 (
A. A practical physical model for the timing error
The timing error εl represents the difference between the sampling instant of the l -th sample of the readback waveform and the expected sampling instant lT, according to one embodiment. Since the writing process and the reading process are typically not perfectly synchronized, the timing error E t is a random process. In the conventional art, this random process is typically modeled as a constant for an extended number of bit intervals, or as a Gaussian random walk. Though such models are simple, they are often not accurate enough and do not provide enough parameters to tune the synchronizer.
According to one embodiment, a timing error process model with several tunable parameters is used. According to another embodiment, the symbol interval is uniformly quantized into Q levels, and εl is allowed to take jT/Q, where j is an integer. The quantization is used as an approximation, which, if chosen to be fine enough, introduces only a marginally small quantization error, according to one embodiment. Further for the purposes of illustration assume that εl can be represented by a Markov process with the probability of transition from state iT/Q to state jT/Q denoted by qi,j.
This discrete Markov model for the timing error process does not assume that the timing error is only a fraction of the bit interval, according to one embodiment. Rather, this discrete Markov model enables handling timing errors that are greater than the bit interval, i.e., the model allows cycle-slips to occur. Thus the model permits the design of advanced timing recovery loops and channel detectors that are resilient to cycle-slips.
For example, it is not hard to verify that, the number of possible values of the timing error εl grows linearly with time l. This can create problems, because the number of timing error states is unbounded as demonstrated by
B. Equivalent Finite-State Trellis Model
According to one embodiment, a state sk at time k is an element of the finite-size set Γ of all possible states as depicted in equation 7 (
(k−1)T+T/Q and kT.
sk=Q+1.
P(sk|s0k−1)=P(sk|sk-1).
denoted by Pi,j the probability
.Pi,j=P(sk=j|sk-1=i)
The values Pi,j can be derived from the probabilities qi,j described in section I-A for example. For 3≦i≦Q−1, according to one embodiment the probabilities Pi,j are as depicted in equation 9 (
The timing errors trellis can thus be described by the set of states δ and by the state transition probabilities Pi,j. The probabilities Pi,j represent the tunable parameters that describe the timing error process εl. For notational purposes, these parameters Pi,j are grouped into the parameter set P depicted by equation 10 (
The trellis model for the timing error process is essentially a homogeneous finite-state Markov chain, according to one embodiment. There are various estimation techniques that can be applied to solve many problems associated with this finite-state Markov model, according to one embodiment. For example, maximum-a-posterior-probability symbol detection can be performed under timing uncertainty, or iterative timing recovery can be performed for example by calculating soft-outputs from a finite-state trellis model.
C. Joint Timing Error/ISI Trellis
As a part of designing a soft-output data detector for the channel described using equation 4, there are two unknown processes with memory that can be modeled: 1) the timing error process εl, and 2) the channel input process ak observed through an intersymbol interference (ISI) channel. As a part of modeling the two unknown processes a trellis representation of the joint timing-error/ISI process is built, according to one embodiment. For example, from the finite support assumption depicted by equation 3, at most D=2v data symbols are used, according to one embodiment, to calculate the value of each sample that falls inside the interval ((k−1)T,kT]. These data symbols are ak=(ak−v, ak−v+1, . . . ak+v−1) which are also depicted in equation 11 (
Therefore the joint state
Since the joint state
(1) the timing state sk∈Γ and
(2) the ISI state ak=ak−vk+v−1∈B,
the state transition probability for the joint trellis is represented by equation 13 (
The joint states in each trellis column can be partitioned into clusters according to their corresponding ISI state, according to one embodiment, such that the states in each cluster have the same ISI state, but different timing state. That is, the cluster for each ISI state ak in the k-th trellis column is defined to be equation 14 (
The first parent set Ω(0) represents the set of parent states whose last ISI symbol is −1, and the parent set Ω(1) represents the set of parent states whose last ISI symbol is +1. All the states
In this section, a forward-only detection algorithm for generating soft-output for each transmitted symbol, according to one embodiment, is described. That is, for each transmitted symbol ak, the value (or a good approximation) of the log-likelihood ratio can be computed using equation 33 depicted on
The clusters 410, 420, 430 are organized according to time. For example, cluster 410 and 430 occurred at time k−1 and cluster 420 occurred at time k. As depicted in
According to one embodiment, the data structure that includes representations of transmitted data and timing errors is a trellis. For example, the data structure depicted in
A. Storage at Step k
According to one embodiment, a type modified soft-output Viterbi algorithm (SOVA) that utilizes the trellis structure described in Section I is used. For example, assume that the algorithm has a detection delay (or decoding window) size d. At each detection step k, the following can be stored:
The storage for the number of received samples l(
B. Branch Metric Computation
The branch metric function γ(
C. Recursion at Step (k+1)
At the detection step (k+1), for each
The accumulative metric value for state
The above procedures in (18)-(25) are repeated for each
This forward-only algorithm, according to one embodiment, uses much less memory consumption than the forward-backward algorithm used by turbo equalization system 500 depicted in
According to one embodiment, the memory cost and computational complexity of the forward-only algorithm is due to the fact that there are large numbers of states in the joint trellis. Each cluster, as defined by equation 14, contains Q+2 states,
The list-survivors forward-only algorithm described in this section can be implemented, according to various embodiments, using one or more of the following ideas:
1) At the end of each trellis propagation, only the most likely J states in each cluster are kept and the other (small probability) states are ignored, where 1≦J≦(Q+2). For example, if J is small (say J=2), then the resulting memory cost is small.
2) Instead of computing (and storing) the soft reliability {circumflex over (L)}j for each state
A. Storage at Step k
Assume for the sake of illustration that the algorithm has a detection delay (or decoding window) size d. At each detection step k, the following are stored according to various embodiments:
1) The set of J surviving states in each cluster Φk(ak) as represented by equation 39 (
2) The most recent hard decision values as represented by equation 40 (
3) Soft reliability of the most recent bits as represented by equation 41 (
4) The accumulative metric value as represented by equation 42 (
5) The most likely number of received samples within the first k bit intervals (0, kT))as represented by equation 43 (
B. Recursion at Step (k+1)
At the detection step (k+1), according to one embodiment, only the accumulative metric for those states
After the accumulative metrics are updated for states in the (k+1)-th trellis column, only J surviving states (with smallest metrics) are kept in each cluster, according to one embodiment. For example, the other states are discarded. For each of these surviving states
The soft reliability update, according to one embodiment, is slightly different from the forward-only algorithm. For example, the soft reliability for each cluster Φk+1(ak+1) can be computed instead for each state. For the purpose of illustration, consider the cluster with ISI state ak+1=(ak−v+1, ak−v+2, . . . , ak+v), the two parent clusters in the k-th trellis column have ISI state
a
k=(−1, ak−v+1, ak−v+2, . . . , ak+v−1) and ak′=(+1, ak−v+1, ak−v+2, . . . , ak+v−1), respectively. Equation 28 (
Without loss of generality, C0 can be assumed to be the accumulative metric of the path containing P and C1 can be assumed to be the accumulative metric of the path containing (
The soft reliability for the cluster is, according to one embodiment, updated as indicated by equation 30 (
The turbo equalization is based on the notion that soft information need not only flow in one direction. According to one embodiment, after the decoder receives and processes soft information from the (soft-output) channel detector, it can generate its own soft information of each transmitted symbol. This soft information from the decoder can then be fed back to the channel detector to further improve the detection (or equalization) process. Therefore, according to one embodiment, the channel detector 522 and the decoder 530 form a feedback loop 540, through which they pass the beliefs about the relative likelihood that each symbol takes on a particular value. Such a process can also be referred to as belief propagation or message passing, and has shown remarkable performance gains.
In contrast, according to one embodiment,
The iterative timing recovery 630 modifies the turbo equalization loop 540, according to one embodiment, by incorporating the timing recovery procedures inside the turbo equalization loop. One way to implement such iterative timing recovery scheme is to replace the channel detector 520 that only compensates for ISI with a detector 610 that jointly compensates for ISI and timing errors. Such a joint detector 610, according to one embodiment, could be implemented as a modification to a forward-backward detector 520. According to another embodiment, the joint detector 610 could be implemented as a forward-only detector as described in Section II. According to yet another embodiment, the joint detector 610 could be implemented as a list-survivors forward-only detector as described in Section III.
This section V describes simulation results for iterative timing recovery schemes using two detection algorithms described in Section II and Section III. To assess the quality of the iterative timing recovery methods using the proposed soft-output detectors, both algorithms are compared to the turbo equalization with and without residual timing errors after the phase-locked loop. For the simulations, the data symbols were generated by an equiprobable binary, and are independent and identically distributed (i.i.d.). The symbols are first passed through the filter G(D)=1−D2, as shown in
In the simulations, waveforms were created according to equation 1 (
The results of the simulation indicated that when there is no timing error (perfect timing recovery), BER is greatly reduced as the number of iterations increased in turbo equalization. However, when there is timing error, there is almost no visible performance gain in BER as the number of turbo equalization iterations increased from 1 to 10. Further, the results of the simulation indicated that performance of the coded system is not much better than the un-coded system, according to one embodiment.
As already stated, as density increases the amount of interference between pieces of data stored on a storage device increases. Conventional systems are prone to losing data because, among other things, their channel detectors assume that the timing error recover loop 510 has done a perfect job of recovering. For example, conventional channel detectors do not take into account residual timing errors because conventional channel detectors assume that the difference between the actual timing errors and estimated timing errors is zero.
According to one embodiment, the joint detector 1710 detects transmitted data and timing errors. In contrast to the joint detector 1710, a conventional channel detector only detects transmitted data. According to another embodiment, the joint detector 1710 communicates information about the transmitted data and the timing errors with the decoder 1720 iteratively in a loop 1730 to reduce the amount of lost data. For example, various embodiments increase the probability of recovering from timing errors even if the timing recover loop 510 has done an insufficient job of recovering. According to one embodiment, the iterative timing recovery 630 is an example of the loop 1730.
The joint detector 1710 uses a forward-only algorithm, according to one embodiment. Section II describes the forward-only algorithm, according to various embodiments. The joint detector 1710 uses a list-survivors forward-only algorithm, according to another embodiment. Section III describes the list-survivors forward-only algorithm, according to various embodiments. According to one embodiment, the channel detector only uses the states that survive based on an accumulative metric as parents for generating states for a subsequent sample of data, for example, as described in Section III.
According to one embodiment, a trellis is used to represent the information about the transmitted data and the timing errors.
According to one embodiment, the system 1700 stores information such as the information described in Section II-A. According to another embodiment, the system 1700 stores information such as the information described in Section III-A.
According to another embodiment, the information about the transmitted data and the timing errors are represented by a trellis.
According to one embodiment, a system 1700 for handling synchronization errors uses the data structure 1800 to reduce the amount of the data that is lost by improving synchronization performed by a timing recovery loop 510. For example, as already explained herein, typically a channel detector associated with a conventional a system is prone to losing data because, among other things, their channel detectors assume that the timing error recovery loop 510 has done a perfect job of recovering. For example, a conventional channel detector does not take into account residual timing errors because the conventional channel detector assumes that the difference between the actual timing errors and estimated timing errors is zero. According to one embodiment, a system 1700 does not assume that the difference between the actual timing errors and estimated timing errors is zero for example by using a data structure 1800 to communicate between a joint detector 1710 and a decoder 1720.
In conclusion, various embodiments of the present invention provide the following:
There has been a long felt need for reducing or even eliminating loss of data. This has been true from the time the computers and storage devices first started being used up until the present time. Many customers have vital data that they cannot afford to loss. Further, customers do not want to deal with the hassles of losing data. Therefore, a storage device manufacturer that can provide as much reliability, by reducing or eliminating data loss, has a significant competitive edge. Any improvements in reliability position the manufacturer to increase their market share for selling storage devices.
The foregoing descriptions of specific embodiments of the present invention have been presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed, and many modifications and variations are possible in light of the above teaching. The embodiments described herein were chosen and described in order to best explain the principles of the invention and its practical application, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the Claims appended hereto and their equivalents.