Magnetic and optical data storage devices, such as hard disk drives (HDDs), tape drives and compact disk drives, use heads to read and write information to and from a storage media. In a typical rotating storage system data is stored on a disk in series of adjacent concentric tracks. In a magnetic storage device, the tracks are accessed by read and write heads that move radially over the disk under control of a head-positioning servo mechanism so that the heads can be selectively positioned over a specific track. Once the head is aligned over a track, the servo mechanism causes the heads to ideally follow a center line of the selected track during a read or write operation.
Digital data is written to the storage media in a predetermined format using a write head that induces a magnetic field with sufficient amplitude to record on the magnetic material of the storage device. The magnitude and direction of the magnetic field is modulated to encode information into the magnetic surface of the storage device. The data might then be read as necessary by a read head for processing, for example, by a host computer. In read mode, as the magnetic storage surface moves across the gap in the head, the magnetic field of the storage surface is detected, and a voltage is induced in the head. The analog voltage signal is processed to obtain digital data. For example, the analog voltage might be amplified, filtered, and provided to an analog-to-digital converter (ADC) where the signal is digitized and passed through an equalizer and decoded.
As storage media storage capacities have increased, the data tracks are closer in proximity, increasing storage density and capacity of the media. However, as adjacent data tracks become closer, crosstalk between the adjacent tracks, Inter-Track Interference (ITI), might become increasingly significant, such that data in a desired track cannot be read, leading to data corruption. For example, the read and write heads might be positioned over the storage media by various types of alignment marks that might typically be recorded on the recording disk surface to track and adjust the position of the read and write heads. ITI might be the result of write head positioning error during a write operation, or read head positioning error during a read operation.
In order to detect ITI, typical systems might record tracking marks in one or both adjacent tracks, and read the marks when reading the desired track. ITI cancellation might typically require reading data from the desired track and the side tracks, which requires seeking to the side tracks and waiting for the media to rotate to the position of the tracking marks. Thus, ITI cancellation could introduce system latency to read the desired data from the storage media.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
Described embodiments provide a method of cancelling inter-track interference (ITI) from one or more sectors read from a desired track of a storage medium. A read channel reads one or more sectors in the desired track and generates one or more groups of sample values corresponding to each of the sectors. An ITI canceller estimates an ITI response and an ITI signal associated with each sample value corresponding to (i) a next adjacent track and (ii) a previous adjacent track. If the estimated ITI response of the previous adjacent track reaches a predetermined threshold, the ITI canceller subtracts the estimated ITI signal corresponding to the previous adjacent track from each associated sample value of the desired track. If the estimated ITI response of the next adjacent track reaches a predetermined threshold, the ITI canceller subtracts the estimated ITI signal corresponding to the next adjacent track from each associated sample value of the desired track.
Other aspects, features, and advantages of the present invention will become more fully apparent from the following detailed description, the appended claims, and the accompanying drawings in which like reference numerals identity similar or identical elements.
Described embodiments provide a method of cancelling inter-track interference (ITI) from one or more sectors read from a desired track of a storage medium. A read channel reads one or more sectors in the desired track and generates one or more groups of sample values corresponding to each of the sectors. An ITI canceller estimates an ITI response and an ITI signal associated with each sample value corresponding to (i) a next adjacent track and (ii) a previous adjacent track. If the estimated ITI response of the previous adjacent track reaches a predetermined threshold, the ITI canceller subtracts the estimated ITI signal response corresponding to the previous adjacent track from each associated sample value of the desired track. If the estimated ITI response of the next adjacent track reaches a predetermined threshold, the ITI canceller subtracts the estimated ITI signal corresponding to the next adjacent track from each associated sample value of the desired track.
In some embodiments, storage media 112 might store data employing shingled magnetic recording (SMR). SMR increases the storage densities beyond the capacity limits of traditional hard disk drives HDDs employing conventional perpendicular recording. SMR generally requires fewer technology changes to the recording technology than Bit-Patterned Magnetic Recording (BPMR), Energy Assisted Magnetic Recording (EAMR), Heat Assisted Magnetic Recording (HAMR), and Thermally Assisted Magnetic Recording. In SMR drives, track density is increased by writing tracks successively in an overlapped shingled manner as shown in
However, due to the small read track width, significant ITI from adjacent (or neighboring) tracks might occur during read operations, especially when a read head is employed that is not significantly narrower than the width of the shingled tracks. As shown in
Referring back to
Iterative decoder 106 receives Y-samples 105 that correspond to the data read from the read track of SMR media 112. Iterative decoder 106 decodes, for example by performing error recovery, one or more sectors read from one or more desired read tracks of SMR media 112. In some embodiments, iterative decoder 106 might average the Y-sample values over multiple reads of given sector(s) of desired read track(s). In some other embodiments, iterative decoder 106 might select a relative “most reliable” set of Y-samples from a group of Y-sample sets corresponding to multiple reads of given sector(s) of desired read track(s). If iterative decoder 106 successfully decodes the sector(s), iterative decoder 106 provides the detected data (Q-bit detected data 111) as the read data for further processing (e.g., to be provided to a host device). If iterative decoder 106 fails to successfully decode the sector(s), iterative decoder 106 provides the detected data (Q-bit detected data 107) to ITI cancellation module 108 to perform ITI cancellation. Thus, ITI cancellation might typically be performed if typical decoding and other decoding retry mechanisms fail to successfully decode a sector. Thus, in described embodiments, ITI cancellation module 108 is a sector-based offline error recovery module.
ITI cancellation module 108 receives data from the desired track, N, and one or more of the adjacent (side) tracks. Equalized Y-samples 105 corresponding to one or more failing target sectors on track N are stored in Y-samples buffer 110. In some embodiments, Y-samples buffer 110 might store up to one 4 kB sector. Non-Return-to-Zero (NRZ) data for adjacent sectors in tracks N−1 and N+1 might be received from iterative decoder 106 by reading storage media 112 using a raw-data mode. The raw-data mode might be a data recovery mode where the data bits recovered from storage media 112 and sent to the host device include data bits, parity bits, formatting bits and other control data. The side track data might take a significant amount of time to collect due to seeking read head 302 to position over the side tracks and waiting for the media to rotate to the correct position for the corresponding sectors. ITI cancellation module 108 estimates, calculates and cancels ITI in the equalized Y-samples for the failed sector(s) on track N using the NRZ data bits from corresponding adjacent sectors in adjacent tracks N−1 and N+1. ITI cancellation module 108 might store ITI-cancelled Y-samples (updated Y-samples 109) in Y-samples buffer 110 and then provide updated Y-samples 109 to iterative decoder 106. Iterative decoder restarts the iterative decoding process using updated Y-samples 109, and provides ITI-cancelled Q-bit detected date 111 as output data, for example to a host device (not shown). Read channel 100 might be coupled to the host device by a Small Computer System interface (“SCSI”) link, a Serial Attached SCSI (“SAS”) link, a Serial Advanced Technology Attachment (“SATA”) link, a Universal Serial Bus (“USB”) link, a Fibre Channel (“FC”) link, an Ethernet link, an IEEE 802.11 link, an IEEE 802.15 link, an IEEE 802.16 link, a Peripheral Component Interconnect Express (PCI-E) link, or any other similar interface for connecting a peripheral device to a host device.
Although shown in
Since, in described embodiments, ITI cancellation module 108 employs the NRZ data for at least one of adjacent tracks N−1 and N+1, media 112 might generally make multiple disk revolutions in order for ITI cancellation module 108 to recover failing sector(s) of desired track N. For example, three disk revolutions might be needed to transfer data samples for track N and the NRZ data for adjacent tracks N−1 and N+1 from media 112 to ITI cancellation module 108. Additional revolutions of media 112 might occur during ITI cancellation before iterative decoder 106 restarts processing on the updated Y-samples.
As described in related U.S. patent application Ser. Nos. 13/591,980, 13/592,023 and 13/591,937, all filed on Aug. 22, 2012, incorporated by reference herein, for many SMR implementations, it might be known which side track (e.g., either N+1 or N−1) has dominant interference. Thus, in many instances, for described embodiments, there is a high likelihood that the desired data from track N might be successfully recovered after cancelling interference from only the dominant side track. If the data cannot be recovered after cancellation of interference from the dominant side track, cancellation of interference from the non-dominant side track might be performed.
In an SMR system such as shown in
r(t)=r0(t)+r−(t)+r+(t) (1)
where r0(t) is the output signal of the read head for a desired track N without any ITI from adjacent tracks, and r−(t) and r+(t) are interfering signals picked up by the read head (e.g., ITI) from a previous track N−1 and a next track N+1, respectively. The objective is for ITI cancellation module 108 to estimate and remove ITI components r−(t) and r+(t) from the signal for the desired track. The output values for each track, in terms of NRZ bit values, can be represented by relations (2a-c):
where τ− and τ+ are phase offsets between data bits on the desired track N and data bits on the previous track N−1 and the next track N+1, respectively; α0[n], α−[n] and α+[n] are NRZ data bits written on the desired track N, the previous track N−1 and the next track N+1, respectively; h0(t), h−(t) and h+(t) are the pulse responses from the desired track N, the previous track N−1 and the next track N+1, respectively; and T is the bit period. Typically, data bits α0[n], α−[n] and α+[n] are mutually uncorrelated.
Based on relations (2a-c), the digitally sampled data (e.g., Y-samples 105) might be represented by relations (3a-b):
Thus, the ITI due to sampled data for the previous track and the next track contains the phase offsets of the adjacent tracks versus the desired track, as shown in relations (3a-b). Described embodiments might estimate ITI response by correlating r[n] with α−[n] and α+[n] as given in relation (4):
g−[k]=E{r[n]·α−[n−k]}
and
g+[k]=E{r[n]·α+[n−k]} (4)
where E{·} denotes a statistical expectation operator. Since the phase offsets of the adjacent tracks from the desired track are included in the ITI response, the correlation shown in relation (4) might be implemented by time-averaging.
Once the ITI response {g−[k], g+[k]} is determined, ITI signals might be estimated by convolving the ITI response with data bits from the respective tracks. The estimated ITI signal {{circumflex over (r)}−[n],{circumflex over (r)}+[n]} is subtracted from readback signal r[n] to recover the data for the desired track as given by relations (5a-b):
where 2M+1 represents a length of ITI filters {g−[k], g+[k]} and {circumflex over (r)}0[n] is the data signal recovered after the estimated ITI signal is removed from the readback signal. The length of the ITI filters (e.g., 2M+1) should beneficially be large enough to account for phase offsets τ− and τ+ of adjacent tracks compared to the desired track.
Based on relations (4) and (5a-b), ITI cancellation module 108 might perform ITI cancellation substantially as described in related U.S. patent application Ser. Nos. 13/186,174, 13/186,197 and 13/186,213 all filed Jul. 19, 2011, and Ser. Nos. 13/591,980, 13/592,023 and 13/391,937, filed on Aug. 22, 2012, the teachings of which are incorporated by reference in their entireties herein. For example, some embodiments might employ block-wise ITI processing as described in related U.S. patent application Ser. Nos. 13/186,174, 13/186,197 and 13/186,213 all filed Jul. 19, 2011. In block-wise ITI processing, such as described in related U.S. patent application Ser. Nos. 13/186,174, 13/186,197 and 13/186,213, ITI filters having length 2M+1 might be employed to estimate ITI. However, in some embodiments, an initial phase offset between the desired track and the adjacent tracks might be estimated using ITI filters having a longer length, such as 2{tilde over (M)}+1, where {tilde over (M)}>M. In block-wise ITI processing, the output of FIR filter 104 (e.g., Y-samples 105) might be segmented into one or more blocks, with each block containing Lb samples. Each of Y-samples 105 in a given block (denoted y[n]) might also have corresponding NRZ data values (denoted α[n]). The adjacent tracks have corresponding interfering NRZ values (denoted α+[n] and α−[n]). The values y[n], α+[n] and α−[n] might typically be made available to ITI cancellation module 108.
As described herein, data read from a desired track might include ITI noise from adjacent tracks, as well as other noise and interference from other sources (e.g., ISI, etc.). Although intended to improve the quality of data read from a desired track, performing ITI cancellation, in some instances, might actually degrade the read data. Described embodiments might first estimate an energy level of ITI before performing ITI cancellation. Based on the energy estimate, ITI cancellation module 108 might determine whether to perform ITI cancellation. If the estimated energy level of ITI is relatively small, ITI cancellation might not be performed, thus reducing latency and processing by read channel 100 and lessening the likelihood of degrading read data during ITI cancellation.
where z1 is either (a) the output of FIR filter 104 (e.g., Y-samples 105), or (b) an error sequence generated by FIR filter 104, i=−{tilde over (M)} . . . {tilde over (M)}, with the block length for initial ITI estimation {tilde over (L)}b≦Lb where Lb is the block length for regular ITI estimation (e.g., not the first block), and where δ0 represents an initial approximate phase offset for the adjacent tracks relative to the desired track. In some embodiments, {tilde over (M)}=25 and {tilde over (L)}b=2000.
At step 408, ITI cancellation module determines locations of the estimated ITI response having a maximum magnitude. If k0− and k0+ represent locations in estimated ITI response g0−[i] and g0+[i] having a maximum ITI magnitude (e.g., {k0−,k0+}ε{1, 2, . . . , 2{tilde over (M)}+1}), then at step 410, ITI cancellation module 108 might determine normalized ITI responses of length 2M+1 centered around the k0− and k0+ coefficients of maximum magnitude. The normalized ITI responses are given in relations (7a-b):
where i=−M, . . . , M. Some embodiments might typically employ M=5, {kd−,kd+} are factors to adjust for the maximum magnitude coefficients k0− and k0+ being near the beginning or end of the estimated initial ITI response (e.g., near the ±{tilde over (M)} phase offset). {kd−,kd+} are defined by relations (8a-b):
where Md=2{tilde over (M)}+1−M.
At step 412, ITI cancellation module 108 determines the normalized ITI energy from each side track. The normalized energy in the ITI filters can be determined by relations (9a-c):
where {g[0], g[1], . . . , g[Ng]} represents a partial response (“PR”) equalization target of FIR filter 104 employed for equalization of read data of the desired track of media 112. Ng is the number of coefficients in the partial response target.
In some embodiments, ITI cancellation module 108 might only perform ITI cancellation if E0+ and E0− reach or exceed an ITI threshold, θ0. For example, in some embodiments, read data segments containing 8% or greater ITI (corresponding to θ0=0.005) might desirably have ITI cancellation performed (e.g., by ITI cancellation module 108) to improve accuracy of the read data, while read data segments containing less than 8% ITI might provide the read data as the output of read channel 100 without performing ITI cancellation.
At step 414, if the ITI energy from the previous side track, E0−, has reached or exceeded a predetermined ITI threshold, θ0, then at step 416, ITI cancellation module 108 estimates and cancels ITI due to the previous side track from the read data, and process 400 continues to step 418. If, at step 414, the ITI energy from the previous side track, E0−, has not reached the predetermined ITI threshold, θ0, then process 400 continues to step 418 without performing ITI cancellation for the previous side track.
In some embodiments, ITI cancellation module 108 might estimate ITI signals corresponding to the previous side track substantially as described in U.S. patent application Ser. Nos. 13/186,174, 13/186,197 and 13/186,213 all filed Jul. 19, 2011, of which this application is a continuation-in-part. For example, ITI cancellation module 108 might estimate ITI signals corresponding to the previous side track and the next side track for the mth block of samples in a given sector as shown in relations (10a-b):
for l=1, 2, . . . , Lb, where m is the sample block number, max {{tilde over (g)}m−[i]} and max {{tilde over (g)}m+[i]} represent the maximum ITI magnitude α+ and α− represent corresponding interfering NRZ values of the adjacent tracks, Lb is the block length for ITI estimation, and δm represents a phase offset for the adjacent tracks relative to the desired track. In some embodiments, the maximum ITI magnitude might be employed, as shown above in relations (10a-b). In other embodiments, the normalized energy of the ITI response might be employed, which, as described herein, might be independent of the phase of the ITI response. Thus, relations (10a-b) might be modified as shown in relations (11a-b):
for l=1, 2, . . . , Lb, where m is the sample block number, α+ and α− represent corresponding interfering NRZ values of the adjacent tracks, Lb is the block length for ITI estimation, and δm represents a phase offset for the adjacent tracks relative to the desired track, and E0−[m] and E0+[m] represent the normalized ITI energy determined at step 412 as given by relations (12a-b):
At step 418, if the ITI energy from the next side track, E0+, has reached or exceeded a predetermined ITI threshold, θ0 (e.g., relation 12b), then at step 420, ITI cancellation module 108 estimates and cancels ITI due to the next side track from the read data (e.g., as given by relations 10b or 11b), and process 400 continues to step 422. ITI cancellation module 108 might estimate the ITI for the next side track substantially as described above regarding step 416. If, at step 418, the ITI energy from the next side track, E0+, has not reached the predetermined ITI threshold, θ0, then process 400 continues to step 422 without performing ITI cancellation for the next side track.
Based on relations (10a-b), (11a-b) and (12a-b), the ITI cancelled data for the mth block of samples in a given sector as shown in relation (13):
ŷm[l]=ym[l]−({circumflex over (r)}m−[l]+{circumflex over (r)}m+[l]) (13)
where ym[l] is the mth block of samples output by FIR filter 104 (shown in
Thus, as described herein, described embodiments provide a method of cancelling inter-track interference (ITI) from one or more sectors read from a desired track of a storage medium. A read channel reads one or more sectors in the desired track and generates one or more groups of sample values corresponding to each of the sectors. An ITI canceller estimates an ITI response and an ITI signal associated with each sample value corresponding to (i) a next adjacent track and (ii) a previous adjacent track. If the estimated ITI response of the previous adjacent track reaches a predetermined threshold, the ITI canceller subtracts the estimated ITI signal corresponding to the previous adjacent track from each associated sample value of the desired track. If the estimated ITI response of the next adjacent track reaches a predetermined threshold, the ITI canceller subtracts the estimated ITI signal corresponding to the next adjacent track from each associated sample value of the desired track.
While the exemplary embodiments have been described with respect to processes of circuits, including possible implementation as a single integrated circuit, a multi-chip module, a single card, or a multi-card circuit pack, the present invention is not so limited. As would be apparent to one skilled in the art, various functions of circuit elements might also be implemented as processing blocks in a software program. Such software might be employed in, for example, a digital signal processor, microcontroller, or general-purpose computer. Such software might be embodied in the form of program code embodied in tangible media, such as magnetic recording media, optical recording media, solid state memory, floppy diskettes, CD-ROMs, hard drives, or any other non-transitory machine-readable storage medium, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention. When implemented on a general-purpose processor, the program code segments combine with the processor to provide a unique device that operates analogously to specific logic circuits. The present invention can also be embodied in the form of a bitstream or other sequence of signal values electrically or optically transmitted through a medium, stored magnetic-field variations in a magnetic recording medium, etc., generated using a method and/or an apparatus of the present invention.
It should be understood that the steps of the exemplary methods set forth herein are not necessarily required to be performed in the order described, and the order of the steps of such methods should be understood to be merely exemplary. Likewise, additional steps might be included in such methods, and certain steps might be omitted or combined, in methods consistent with various embodiments.
As used herein in reference to an element and a standard, the term “compatible” means that the element communicates with other elements in a manner wholly or partially specified by the standard, and would be recognized by other elements as sufficiently capable of communicating with the other elements in the manner specified by the standard. The compatible element does not need to operate internally in a manner specified by the standard.
Unless explicitly stated otherwise, each numerical value and range should be interpreted as being approximate as if the word “about” or “approximately” preceded the value of the value or range. Signals and corresponding nodes or ports might be referred to by the same name and are interchangeable for purposes here.
Transistors are typically shown as single devices for illustrative purposes. However, it is understood by those skilled in the art that transistors will have various sizes (e.g., gate width and length) and characteristics (e.g., threshold voltage, gain, etc.) and might consist of multiple transistors coupled in parallel to get desired electrical characteristics from the combination. Further, the illustrated transistors might be composite transistors.
Also for purposes of this description, the terms “couple,” “coupling,” “coupled,” “connect,” “connecting,” or “connected” refer to any manner known in the art or later developed in which energy is allowed to be transferred between two or more elements, and the interposition of one or more additional elements is contemplated, although not required. Conversely, the terms “directly coupled,” “directly connected,” etc., imply the absence of such additional elements. Signals and corresponding nodes or ports might be referred to by the same name and are interchangeable for purposes here.
It will be further understood that various changes in the details, materials, and arrangements of the parts which have been described and illustrated in order to explain the nature of this invention might be made by those skilled in the art without departing from the scope of the invention as expressed in the following claims.
This application is a continuation-in-part, and claims the benefit of the filing date, of U.S. patent application Ser. Nos. 13/186,174, 13/186,197 and 13/186,213 all filed Jul. 19, 2011, the teachings of which are incorporated herein in their entireties by reference. The subject matter of this application is related to U.S. patent application Ser. Nos. 13/591,980, 13/592,023 and 13/591,937, all filed on Aug. 22, 2012, the teachings of all of which are incorporated herein in their entireties by reference.
Number | Name | Date | Kind |
---|---|---|---|
20080151704 | Harada | Jun 2008 | A1 |
20090135693 | Kim et al. | May 2009 | A1 |
20110075292 | New et al. | Mar 2011 | A1 |
20110119498 | Guyot | May 2011 | A1 |
20120105994 | Bellorado et al. | May 2012 | A1 |
20130031406 | Cho | Jan 2013 | A1 |
20130170061 | Saito et al. | Jul 2013 | A1 |
20130265669 | Hostetter | Oct 2013 | A1 |
Number | Date | Country | |
---|---|---|---|
20130070362 A1 | Mar 2013 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13186174 | Jul 2011 | US |
Child | 13591888 | US | |
Parent | 13186197 | Jul 2011 | US |
Child | 13186174 | US | |
Parent | 13186213 | Jul 2011 | US |
Child | 13186197 | US |