• 学术搜索
  • 科研智能体
    • Research Labs
    • AI 阅读
    • AI 文库
    • 深度研究
    • 学者亮点
  • 学术资源
    • AI2000
    • 期刊/会议
    • 学者库
    • 学术API
    • 溯源树
    • 数据集
  • 知识沉淀
    • 学术空间
订阅小程序
旧版功能
aminer vip
开通会员低至0.73元/天
一次搞定AI科研
立即登录
  • English
  • 联系方式
    专

    一种基于SVM的FA/FNA智能切换NOB抑制方法

    12665376W
    发明人
    步辰龙, 谢懿, 刘建勇, 张晓琳, 夏俊, 荆雷, 刘伟, 李丰豪, 周磊
    受让人
    SHANGHAI URBAN CONSTR SMART CITY OPERATION MANAGEMENT (SHAN-Non-standard), SHANGHAI URBAN CONSTR CITY OPERATION GRO (SHAN-Non-standard), SHANGHAI URBAN CONSTR MAINTENANCE MANAGE (SHAN-Non-standard), UNIV SHANGHAI (USHN-C)
    申请人
    Luis Trigo
    申请号
    29399363
    申请日
    2020-12-27
    公开(公告)号
    12665376W
    公开(公告)日
    2017-09-25
    IPC分类号
    G01G023/00G01G003/14
    CPC分类号
    -
    优先权号
    202220295855.1
    优先权日
    2022-02-14
    摘要

    A wanted coding system with a wanted system detector (1,7) for receiving a mixed wanted and background noise signal with detection of the presence or absence of the wanted signal.

    A detector (4) detects the period in which the wanted signal is present and a controller (8) produces a coding period control signal during the period that the wanted signal is present whilst a coding circuit (6) encodes the mixed signal in response to the coding period control signal with only the wanted signals coded in the coding circuit. The wanted signal detector includes band division, Cepstrum analysis and peak detection.

    ADVANTAGE -Overcomes problem of wasteful coding of background noise with separate coding of voice and noise signals. @(16pp Dwg.No.1/10)@

    权利要求
    1. In a computing environment a method of creating a representation of a data table having one or more sparse first dimension spaces, the method comprising: creating a sparse dataset structure by creating a first dimension space vector for each first dimension space in a dataset that has at least one significant value, each first dimension space vector comprising data values for first dimension spaces of the dataset, the sparse data structure comprising one or more sparse first dimension space vectors for sparse first dimension spaces in the dataset, and wherein for each first dimension space vector that is a sparse first dimension space vector, the first dimension space vector includes: a look-up index array where entries in the look-up index array represent second dimension spaces in the dataset; and a value array where each entry in the value array comprises a value of an entry of a second dimension space in the first dimension space vector, and wherein each entry in the value array corresponds to a second dimension space entry in the look-up index array; creating a side structure, wherein the side structure comprises a second dimension space index and a first dimension space index, wherein the second dimension space index comprises a location for each second dimension space in the dataset where a location can have an entry for a corresponding second dimension space and where an entry for a given second dimension space points to a location in the first dimension space index that has an entry that identifies a first dimension space that has a first significant entry for the given second dimension space, and wherein the first dimension space index comprises an entry for each significant entry in the sparse dataset organized by second dimension spaces.
    2. The method of claim 1 , wherein each first dimension space is a row and each second dimension space is a column.
    3. The method of claim 1 , wherein each first dimension space is a column and each second dimension space is a row.
    4. The method of claim 1 , wherein for first dimension space vectors for dense first dimension spaces in the dataset vectors have value arrays and exclude the look-up index array.
    5. The method of claim 1 , further comprising determining that data in a dense first dimension space of the dataset has been updated, and as a result, determining to not update the side data structure.
    6. The method of claim 1 , further comprising determining that an update has been performed to a sparse first dimension space that causes a change in the sparsity of the data in the sparse first dimension space, and as a result, determining that the side data structure should be updated.
    7. The method of claim 1 , further comprising determining that an update has been performed to a sparse first dimension space that does not cause a change in the sparsity of the data in the sparse first dimension space, and as a result, determining that the side data structure does not need to be updated.
    8. The method of claim 1 , further comprising evaluating one or more first dimension spaces in the data structure to determine if the one or more first dimension spaces are sparse first dimension spaces or dense first dimension spaces based on the first dimension spaces having a threshold of significant entries, and wherein the threshold is configurable.
    9. The method of claim 1 , further comprising creating a next value pointer table, wherein the next value pointer table is configured to, first dimension spacewise, have a pointer to a look-up index entry to allow a system to retrieve a corresponding value from the value array without needing to perform a binary search to look-up the value in the value array, and wherein the pointer for each first dimension space increments each time a value from a value array is obtained for that first dimension space.
    10. In a computing environment a method of retrieving a second dimension space from a sparse dataset structure, the method comprising: accessing a side structure of a sparse dataset to identify second dimension space entries for a second dimension space, wherein the sparse dataset comprises a first dimension space vector for each first dimension space in a dataset that has at least one significant value, each first dimension space vector comprising data values for first dimension spaces of the dataset, the sparse data structure comprising one or more sparse first dimension space vectors for sparse first dimension spaces in the dataset, and wherein for each first dimension space vector that is a sparse first dimension space vector, the first dimension space vector includes: a look-up index array where entries in the look-up index array represent second dimension spaces in the dataset; and a value array where each entry in the value array comprises a value of an entry of a second dimension space in the first dimension space vector, and wherein each entry in the value array corresponds to a second dimension space entry in the look-up index array; wherein the side structure comprises a second dimension space index and a first dimension space index, wherein the second dimension space index comprises a location for each second dimension space in the dataset where a location can have an entry for a corresponding second dimension space and where an entry for a given second dimension space points to a location in the first dimension space index that has an entry that identifies a first dimension space that has a first significant entry for the given second dimension space, and wherein the first dimension space index comprises an entry for each significant entry in the sparse dataset organized by second dimension spaces; and wherein accessing the side structure comprises: accessing an entry in the first dimension space index for the first significant entry in the sparse dataset for the second dimension space; and accessing subsequent entries in the first dimension space index for the second dimension space; and using the first entry and the subsequent entries, obtaining data values for the second dimension space from one or more of the sparse first dimension space vectors.
    11. The method of claim 10 , wherein each first dimension space is a row and each second dimension space is a column.
    12. The method of claim 10 , wherein each first dimension space is a column and each second dimension space is a row.
    13. The method of claim 10 , wherein accessing an entry in the first dimension space index for the first significant entry in the sparse dataset for the second dimension space and accessing subsequent entries in the first dimension space index for the second dimension space comprises accessing a set of adjacent entries in the first dimension space index.
    14. The method of claim 10 , wherein obtaining data values for the second dimension space from one or more of the sparse first dimension space vectors comprises accessing a next value pointer table, wherein the next value pointer table is configured to, first dimension spacewise, have a pointer to a look-up index entry to allow a system to retrieve a corresponding value from the value array without needing to perform a binary search to look-up the value in the value array, and wherein the pointer for each first dimension space increments each time a value from a value array is obtained for that first dimension space.
    15. The method of claim 10 , wherein the sparse dataset stores machine learning data.
    16. The method of claim 10 further comprising obtaining a sparse first dimension space in the sparse dataset by obtaining a sparse first dimension space vector.
    17. The method of claim 10 further comprising determining whether or not the side structure should be updated as a result of an update to the sparse data structure based on whether or not the update changes the sparsity of the sparse data structure.
    18. A physical computer readable storage medium comprising computer executable instructions that when executed by one or more processors causes the following to be performed: creating a sparse dataset structure by creating a first dimension space vector for each first dimension space in a dataset that has at least one significant value, each first dimension space vector comprising data values for first dimension spaces of the dataset, the sparse data structure comprising one or more sparse first dimension space vectors for sparse first dimension spaces in the dataset, and wherein for each first dimension space vector that is a sparse first dimension space vector, the first dimension space vector includes: a look-up index array where entries in the look-up index array represent second dimension spaces in the dataset; and a value array where each entry in the value array comprises a value of an entry of a second dimension space in the first dimension space vector, and wherein each entry in the value array corresponds to a second dimension space entry in the look-up index array; creating a side structure, wherein the side structure comprises a second dimension space index and a first dimension space index, wherein the second dimension space index comprises a location for each second dimension space in the dataset where a location can have an entry for a corresponding second dimension space and where an entry for a given second dimension space points to a location in the first dimension space index that has an entry that identifies a first dimension space that has a first significant entry for the given second dimension space, and wherein the first dimension space index comprises an entry for each significant entry in the sparse dataset organized by second dimension spaces.
    19. The physical computer readable storage medium of claim 18 , wherein each first dimension space is a row and each second dimension space is a column.
    20. The physical computer readable storage medium of claim 18 , wherein each first dimension space is a column and each second dimension space is a row.
    21. The physical computer readable storage medium of claim 18 , further comprising computer executable instructions that when executed by one or more processors causes the following to be performed: determining that an update has been performed to a sparse first dimension space that causes a change in the sparsity of the data in the sparse first dimension space, and as a result, determining that the side data structure should be updated.
    22. The physical computer readable storage medium of claim 18 , further comprising computer executable instructions that when executed by one or more processors causes the following to be performed: creating a next value pointer table, wherein the next value pointer table is configured to, first dimension spacewise, have a pointer to a look-up index entry to allow a system to retrieve a corresponding value from the value array without needing to perform a binary search to look-up the value in the value array, and wherein the pointer for each first dimension space increments each time a value from a value array is obtained for that first dimension space.
    23. A physical computer readable storage medium comprising computer executable instructions that when executed by one or more processors causes the following to be performed: accessing a side structure of a sparse dataset to identify second dimension space entries for a second dimension space, wherein the sparse dataset comprises a first dimension space vector for each first dimension space in a dataset that has at least one significant value, each first dimension space vector comprising data values for first dimension spaces of the dataset, the sparse data structure comprising one or more sparse first dimension space vectors for sparse first dimension spaces in the dataset, and wherein for each first dimension space vector that is a sparse first dimension space vector, the first dimension space vector includes: a look-up index array where entries in the look-up index array represent second dimension spaces in the dataset; and a value array where each entry in the value array comprises a value of an entry of a second dimension space in the first dimension space vector, and wherein each entry in the value array corresponds to a second dimension space entry in the look-up index array; wherein the side structure comprises a second dimension space index and a first dimension space index, wherein the second dimension space index comprises a location for each second dimension space in the dataset where a location can have an entry for a corresponding second dimension space and where an entry for a given second dimension space points to a location in the first dimension space index that has an entry that identifies a first dimension space that has a first significant entry for the given second dimension space, and wherein the first dimension space index comprises an entry for each significant entry in the sparse dataset organized by second dimension spaces; and wherein accessing the side structure comprises: accessing an entry in the first dimension space index for the first significant entry in the sparse dataset for the second dimension space; and accessing subsequent entries in the first dimension space index for the second dimension space; and using the first entry and the subsequent entries, obtaining data values for the second dimension space from one or more of the sparse first dimension space vectors.
    24. The physical computer readable storage medium of claim 23 , wherein each first dimension space is a row and each second dimension space is a column.
    25. The physical computer readable storage medium of claim 23 , wherein each first dimension space is a column and each second dimension space is a row.
    26. The physical computer readable storage medium of claim 23 , wherein accessing an entry in the first dimension space index for the first significant entry in the sparse dataset for the second dimension space and accessing subsequent entries in the first dimension space index for the second dimension space comprises accessing a set of adjacent entries in the first dimension space index.
    27. The physical computer readable storage medium of claim 23 , wherein obtaining data values for the second dimension space from one or more of the sparse first dimension space vectors comprises accessing a next value pointer table, wherein the next value pointer table is configured to, first dimension spacewise, have a pointer to a look-up index entry to allow a system to retrieve a corresponding value from the value array without needing to perform a binary search to look-up the value in the value array, and wherein the pointer for each first dimension space increments each time a value from a value array is obtained for that first dimension space.
    28. The physical computer readable storage medium of claim 23 , wherein the sparse dataset stores machine learning data.
    29. The physical computer readable storage medium of claim 23 further comprising computer executable instructions that when executed by one or more processors causes the following to be performed: obtaining a sparse first dimension space in the sparse dataset by obtaining a sparse first dimension space vector.
    30. In a computing environment a system for creating a representation of a data table having one or more sparse first dimension spaces, the system comprising: one or more processors; one or more computer readable media comprising computer executable instructions that when executed by one or more processors causes the following to be performed: creating a sparse dataset structure by creating a first dimension space vector for each first dimension space in a dataset that has at least one significant value, each first dimension space vector comprising data values for first dimension spaces of the dataset, the sparse data structure comprising one or more sparse first dimension space vectors for sparse first dimension spaces in the dataset, and wherein for each first dimension space vector that is a sparse first dimension space vector, the first dimension space vector includes: a look-up index array where entries in the look-up index array represent second dimension spaces in the dataset; and a value array where each entry in the value array comprises a value of an entry of a second dimension space in the first dimension space vector, and wherein each entry in the value array corresponds to a second dimension space entry in the look-up index array; creating a side structure, wherein the side structure comprises a second dimension space index and a first dimension space index, wherein the second dimension space index comprises a location for each second dimension space in the dataset where a location can have an entry for a corresponding second dimension space and where an entry for a given second dimension space points to a location in the first dimension space index that has an entry that identifies a first dimension space that has a first significant entry for the given second dimension space, and wherein the first dimension space index comprises an entry for each significant entry in the sparse dataset organized by second dimension spaces.
    31. The system of claim 30 , wherein each first dimension space is a row and each second dimension space is a column.
    32. The system of claim 30 , wherein each first dimension space is a column and each second dimension space is a row.
    33. The system of claim 30 , wherein for first dimension space vectors for dense first dimension spaces in the dataset vectors have value arrays and exclude the look-up index array.
    34. The system of claim 30 , the one or more computer readable media further comprising computer executable instructions that when executed by one or more processors causes the following to be performed: further comprising determining that an update has been performed to a sparse first dimension space that causes a change in the sparsity of the data in the sparse first dimension space, and as a result, determining that the side data structure should be updated.
    35. The system of claim 30 , the one or more computer readable media further comprising computer executable instructions that when executed by one or more processors causes the following to be performed: creating a next value pointer table, wherein the next value pointer table is configured to, first dimension spacewise, have a pointer to a look-up index entry to allow a system to retrieve a corresponding value from the value array without needing to perform a binary search to look-up the value in the value array, and wherein the pointer for each first dimension space increments each time a value from a value array is obtained for that first dimension space.
    36. In a computing environment a system for retrieving a second dimension space from a sparse dataset structure, the system comprising: one or more processors; one or more computer readable media comprising computer executable instructions that when executed by one or more processors causes the following to be performed: accessing a side structure of a sparse dataset to identify second dimension space entries for a second dimension space, wherein the sparse dataset comprises a first dimension space vector for each first dimension space in a dataset that has at least one significant value, each first dimension space vector comprising data values for first dimension spaces of the dataset, the sparse data structure comprising one or more sparse first dimension space vectors for sparse first dimension spaces in the dataset, and wherein for each first dimension space vector that is a sparse first dimension space vector, the first dimension space vector includes: a look-up index array where entries in the look-up index array represent second dimension spaces in the dataset; and a value array where each entry in the value array comprises a value of an entry of a second dimension space in the first dimension space vector, and wherein each entry in the value array corresponds to a second dimension space entry in the look-up index array; wherein the side structure comprises a second dimension space index and a first dimension space index, wherein the second dimension space index comprises a location for each second dimension space in the dataset where a location can have an entry for a corresponding second dimension space and where an entry for a given second dimension space points to a location in the first dimension space index that has an entry that identifies a first dimension space that has a first significant entry for the given second dimension space, and wherein the first dimension space index comprises an entry for each significant entry in the sparse dataset organized by second dimension spaces; and wherein accessing the side structure comprises: accessing an entry in the first dimension space index for the first significant entry in the sparse dataset for the second dimension space; and accessing subsequent entries in the first dimension space index for the second dimension space; and using the first entry and the subsequent entries, obtaining data values for the second dimension space from one or more of the sparse first dimension space vectors.
    37. The system of claim 36 , wherein each first dimension space is a row and each second dimension space is a column.
    38. The system of claim 36 , wherein each first dimension space is a column and each second dimension space is a row.
    39. The system of claim 36 , wherein accessing an entry in the first dimension space index for the first significant entry in the sparse dataset for the second dimension space and accessing subsequent entries in the first dimension space index for the second dimension space comprises accessing a set of adjacent entries in the first dimension space index.
    40. The system of claim 36 , wherein obtaining data values for the second dimension space from one or more of the sparse first dimension space vectors comprises accessing a next value pointer table, wherein the next value pointer table is configured to, first dimension spacewise, have a pointer to a look-up index entry to allow a system to retrieve a corresponding value from the value array without needing to perform a binary search to look-up the value in the value array, and wherein the pointer for each first dimension space increments each time a value from a value array is obtained for that first dimension space.
    41. The system of claim 36 , wherein the sparse dataset stores machine learning data.
    42. The system of claim 36 the one or more computer readable media further comprising computer executable instructions that when executed by one or more processors causes the following to be performed: obtaining a sparse first dimension space in the sparse dataset by obtaining a sparse first dimension space vector.
    说明书
    [0001]BACKGROUND OF THE INVENTION
    [0002]1. Field of the Invention
    [0003]The present invention relates to disk drives for computer systems. More particularly, the present invention relates to a disk drive correcting a track address during a write operation.
    [0004]2. Description of the Prior Art
    [0005]Disk drives for computer systems typically comprise a disk rotated by a spindle motor with a head actuated over the disk in order to access data recorded in concentric tracks. The head is coupled to a distal end of an actuator arm which is rotated about a pivot by a voice coil motor (VCM) in order to seek the head to a target track, and then maintain the head over the track (tracking) while performing read or write operations. The position information for servoing the head comes from servo sectors recorded at periodic intervals around the circumference of the tracks. The servo sectors typically comprise coarse position information in the form of a digital track address, and fine position information in the form of servo bursts recorded at precise offsets relative to the centerline of each track.
    [0006]FIG. 1 shows a prior art format of a disk 2 comprising a plurality of concentric tracks 4 having embedded servo sectors 6 0 - 6 N . Each servo sector (e.g., servo sector 6 4 ) comprises a preamble 8 for synchronizing gain control and timing recovery, a sync mark 10 for synchronizing to a data field 12 comprising the coarse head positioning information (such as a digital track address), and servo bursts 14 which provide fine head positioning information. If during a write operation the track address detected from the read signal does not match the track address of the target track, the write operation is typically aborted so that data is not written on the wrong track. After aborting the write operation, the control circuitry will typically “slip” a revolution and attempt to re-execute the write operation.
    [0007]In some cases, during a write operation the head may actually be over the correct target track but the wrong track address is detected from the read signal due to a detection error (due, for example, to an insufficient signal to noise ratio) rather than from the head being over the wrong track. Aborting the write operation in these cases decreases the throughput of the disk drive due to the latency caused by slipping revolutions and re-executing the write operations.
    [0008]There is, therefore, a need to increase the throughput of a disk drive by reducing the number of aborted write operations.
    [0009]SUMMARY OF THE INVENTION
    [0010]An embodiment of the present invention comprises a disk drive including a disk having a plurality of servo tracks, wherein each servo track comprises a plurality of servo sectors and each servo sector comprises a track address identifying the servo track. The disk drive further comprises a head actuated over the disk, and control circuitry operable to execute a write operation. A read signal from the head representing a first track address in one of the servo sectors is processed in order to generate a detected track address which is compared to a first target track address to obtain a first track address error. A correction metric is generated representing a likelihood that the first track address error was caused by a detection error, and if the correction metric exceeds a threshold, the detected track address is corrected in response to the first track address error, and the write operation is continued. If the correction metric does not exceed the threshold, the write operation is aborted.
    [0011]In one embodiment, the control circuitry comprises a read channel operable to generate the detected track address, wherein the read channel is further operable to generate a reliability metric for each bit in the detected track address, and the correction metric is based at least partially on at least one of the reliability metrics. In one embodiment, the read channel comprises a sequence detector operable to generate the detected track address and the reliability metrics, and in another embodiment, the read channel comprises a slicer operable to generate the detected track address and the reliability metrics.
    [0012]In yet another embodiment, the read channel comprises a sequence detector operable to generate the detected track address, the sequence detector comprises a plurality of error events, and the correction metric is based at least partially on the plurality of error events. In one embodiment, the sequence detector comprises a plurality of error event filters for detecting potential error events in response to read signal sample values and expected sample values, and the correction metric is based at least partially on the error event filters.
    [0013]In still another embodiment, the control circuitry is further operable to compare the detected track address to a second target track address to obtain a second track address error. In one embodiment, the control circuitry is further operable to select between the first and second track address errors based on the number of error bits in each of the track address errors, and correct the detected track address in response to the selected track address error if the correction metric exceeds the threshold.
    [0014]In another embodiment, the control circuitry is further operable to abort the write operation if the number of error bits in the first track address error exceeds an error threshold.
    [0015]Another embodiment of the present invention comprises a method of performing a write operation in a disk drive, the disk drive comprising a disk having a plurality of servo tracks, wherein each servo track comprises a plurality of servo sectors and each servo sector comprises a track address identifying the servo track. The disk drive further comprises a head actuated over the disk. A read signal from the head representing a first track address in one of the servo sectors is processed in order to generate a detected track address which is compared to a first target track address to obtain a first track address error. A correction metric is generated representing a likelihood that the first track address error was caused by a detection error, and if the correction metric exceeds a threshold, the detected track address is corrected in response to the first track address error, and the write operation is continued. If the correction metric does not exceed the threshold, the write operation is aborted.
    [0016]BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 shows a prior art disk format including a plurality of servo tracks, wherein each servo track comprises a plurality of embedded servo sectors. FIG. 2A shows a disk drive according to an embodiment of the present invention including control circuitry for executing a write operation. FIG. 2B is a flow diagram executed by the control circuitry to execute a write operation by correcting a detected track address if a correction metric exceeds a threshold. FIG. 3 shows an example embodiment of control circuitry including a read channel for detecting the track address, a comparator for comparing the detected track address to a target track address, and an error corrector for correcting the detected track address if the correction metric exceeds the threshold. FIG. 4 shows an embodiment of the present invention wherein the read channel generates a reliability metric for each bit in the detected track address, wherein the correction metric is based at least partially on the reliability metrics. FIG. 5A shows an embodiment of the present invention wherein the read channel comprises a sequence detector or a slicer for generating the reliability metrics. FIG. 5B shows another embodiment of the present invention wherein the read channel comprises a sequence detector and a plurality of error event filters for detecting sequence detector error events. FIG. 6 shows an embodiment of the present invention wherein the correction metric is generated in response to the sequence detector error events. FIG. 7 shows an embodiment of the present invention wherein the correction metric is generated in response to the sequence detector error events as well as the output of the error event filters. FIG. 8 shows an embodiment of the present invention wherein the control circuitry compares the detected track address to two target track addresses, and then selects one of the track address errors to correct. FIG. 9 shows a flow diagram according to an embodiment of the present invention wherein the write operation is aborted if the number of error bits in the track address error exceeds a threshold, or if the position error signal (PES) generated from the servo bursts is invalid.
    [0017]DESCRIPTION OF THE PREFERRED EMBODIMENTS
    [0018]FIG. 2A shows a disk drive according to an embodiment of the present invention including a disk 16 having a plurality of servo tracks 18 , wherein each servo track 18 comprises a plurality of servo sectors 20 0 - 20 N , and each servo sector 20 i comprises a track address identifying the servo track. The disk drive further comprises a head 22 actuated over the disk 16 , and control circuitry 24 operable to execute a write operation by executing the flow diagram of FIG. 2B . At step 26 the control circuitry 24 seeks the head 22 to a target track, and at step 28 processes a read signal 30 from the head 22 representing a first track address in one of the servo sectors 20 i in order to generate a detected track address which is compared at step 32 to a first target track address to obtain a first track address error. If at step 34 the first track address error is detected, at step 36 a correction metric is generated representing a likelihood that the first track address error was caused by a detection error, and if at step 38 the correction metric exceeds a threshold, the detected track address is corrected at step 40 in response to the first track address error, and the write operation is continued. If at step 38 the correction metric does not exceed the threshold, the write operation is aborted. The correction metric may be generated at any suitable time, for example, at step 28 concurrent with processing the read signal to generate the detected track address.
    [0019]In the embodiment of FIG. 2A , the head 22 is coupled to a distal end of an actuator arm 42 which is rotated about a pivot by a voice coil motor (VCM) 44 in order to position the head 22 radially over the disk 16 . The control circuitry 24 generates a VCM control signal 46 applied to the VCM 44 in response to the position information detected in the servo sectors 20 0 - 20 N (track addresses and servo bursts). If during a write operation the control circuitry 24 corrects an error in the detected track address, the VCM control signal 46 is generated in response to the servo bursts, and the write operation continues rather than abort the write operation as in the prior art.
    [0020]FIG. 3 shows an example embodiment of control circuitry including a read channel 48 for processing the read signal 30 to generate the detected track address 50 , and a comparator circuit 52 (e.g., XOR circuit) for comparing the detected track address 50 to a target track address 54 to generate the track address error 56 . As described herein, a track address error 56 occurs whenever the bits of the detected track address 50 are not identical to the bits comprising the target track address 54 . An error corrector 58 corrects the detected track address 50 in response to the track address error 56 if the correction metric 60 exceeds a threshold 62 , as determined at comparator 64 . Any suitable correction metric 60 representative of the likelihood that the first track address error 56 was caused by a detection error may be employed in the embodiments of the present invention. In an embodiment shown in FIG. 4 , the read channel 48 generates a reliability metric 49 for each bit in the detected track address, and a correction metric generator 51 generates the correction metric 60 based at least partially on at least one of the reliability metrics 49 . In one embodiment, the correction metric generator 51 evaluates the reliability metrics 49 for each error bit in the track address error 56 , for example, by generating the correction metric 60 as the average of the reliability metrics 49 for each error bit. Alternatively, the correction metric generator 51 may compare the reliability metric 49 to an error bit threshold for each error bit (using, e.g., multiple comparators). The correction metric generator 51 may return a binary correction metric 60 to the error corrector 58 based upon the output of the comparators, wherein the error corrector 58 is enabled if all (or a predetermined subset) of the reliability metrics 49 exceeds the error bit threshold.
    [0021]The threshold 62 may represent an upper limit or a lower limit depending on whether a high probability of a detection error (indicated by the correction metric 60 ) is represented by a high value or a low value. Any suitable value may be assigned to the threshold 62 , wherein different values of the threshold affect the probability of either correcting a track address error or aborting the write operation at step 38 of FIG. 1 . In other embodiments, the correction metric 60 may be generated as a binary signal (0 or 1), in which case the correction metric 60 enables the error corrector 58 directly without needing a comparator 64 .
    [0022]The read channel 48 may generate any suitable reliability metric 49 in the embodiments of the present invention. FIG. 5A shows an embodiment of the present invention wherein the read channel comprises a sequence detector or slicer 62 for generating the detected track address as well as the reliability metrics 49 . A slicer detects each bit in the track address by comparing a read signal sample value to a predetermined target threshold, wherein the reliability metric 49 is generated relative to a difference between the read signal sample value and the target threshold.
    [0023]In the embodiment wherein the read channel 48 comprises a sequence detector, the reliability metrics 49 are generated relative to the difference between path metrics for each possible survivor sequence through the corresponding trellis. Mathematically, the reliability metric 49 for each detected bit can be represented as the log-likelihood ratio:
    [0024]λ ⁡ ( u ^ i = u / Y ) = ln ⁢ ∑ U ∈ S u / u i = u ⁢ ⁢ P ⁡ ( U / Y ) ∑ U ∈ S u / u i ≠ u ⁢ ⁢ P ⁡ ( U / Y ) where û i is the detected bit in the binary sequence u, S u is the set of all possible sequences U associated with all the possible paths through the trellis, and Y is the received sequence of read signal sample values. The reliability metrics are theoretically computable using the above equation, but the computation becomes exponentially complex with the length of the detected sequence. In one embodiment, the reliability metrics are approximated to reduce the complexity, such as disclosed in prior art soft-output Viterbi algorithm (SOVA) references including “Optimal Soft-Output Viterbi Algorithm” by Hang Nguyan and Pierre Duhamel, 3 rd International Conference on Networking, March 2004, the disclosure of which is incorporated herein by reference. The complexity of computing the reliability metrics may also be reduced by encoding the track addresses using a constrained code which reduces the number of possible paths through the trellis. In yet other embodiments, the computation of the reliability metrics may be simplified using other approximation techniques, for example, by evaluating the path metrics associated with the dominant error events of the sequence detector.
    [0025]FIG. 5B shows an embodiment of the present invention wherein the read channel comprises a sequence detector 62 operable to generate the detected track address 50 , and the sequence detector 62 comprises a plurality of error events. For example, a minimum distance error event occurs when paths diverge and remerge in the corresponding trellis, wherein the shortest minimum distance error events (shortest paths) are typically the dominant error events. The read channel further comprises post processing circuitry for detecting the occurrence of an error event, including a remodulator 66 for remodulating the bits of the detected track address 50 into ideal sample values which are subtracted 68 from the read signal sample values 30 to generate a sequence of error values 70 . The error values 70 are filtered by a plurality of error event filters 72 each corresponding to a particular error event of the sequence detector 62 . The error event filters 72 may be implemented in any suitable manner, an example of which is disclosed in “Turbo-PRML: A Compromise EPRML Detector” by Roger Wood, IEEE Transactions on Magnetics, Vol. 29, No. 6, November 1993, the disclosure of which is incorporated herein by reference.
    [0026]FIG. 6 shows an embodiment of the present invention wherein the correction metric is generated in response to the error events of the sequence detector 62 . An error event comparator 74 compares the bit sequence of the track address error 56 to the bit sequence of the possible sequence detector error events to determine the likelihood that a detection error occurred. If the track address error 56 is consistent with a sequence detector error event, the correction metric 60 is set to exceed the threshold 62 so that the detected track address 50 is corrected by the error corrector 58 (or alternatively the correction metric 60 is generated as a binary signal which enables the error corrector 58 directly). In an alternative embodiment shown in FIG. 7 , the detected track address 50 is corrected if the track address error 56 is consistent with a sequence detector error event at the output 60 A of comparator 74 , and 75 the output 60 B of the error event filters 72 ( FIG. 5B ) exceeds a predetermined threshold 62 further indicating the likelihood that an error event occurred.
    [0027]In one embodiment, the data track density matches the servo track density such that the centerline of each data track corresponds to the centerline of a servo track. In an alternative embodiment, the data track density is greater than the servo track density such that the centerline of a data track may be aligned between two servo tracks. Accordingly, one of two track addresses may be detected while tracking the centerline of a data track during a write operation. FIG. 8 shows an embodiment of the present invention wherein the detected track address 50 is compared to first and second target track addresses 54 A and 54 B to generate first and second track address errors 56 A and 56 B. If either track address error 56 A or 56 B is zero, the detected track address is not corrected. If both track address errors 56 A and 56 B are non-zero, the error corrector 58 selects one of the track address errors to correct. For example, the track address error comprising the least number of error bits is selected by the error corrector in one embodiment. As discussed above, the selected track address error may then be corrected based on the correction metric 60 associated with that track address error.
    [0028]FIG. 9 is a more detailed flow diagram according to an embodiment of the present invention, and is an extension of the flow diagram of FIG. 2B . If a track address error is detected at step 34 , at step 76 the number of error bits in the track address error is compared to an error threshold. If the number of error bits exceeds the error threshold at step 76 , then the write operation is aborted regardless of the correction metric. This embodiment helps ensure the detected track address is corrected due to a detection error rather than due to the head being over the wrong track. If at step 40 the detected track address is corrected, then at step 78 a position error signal (PES) is generated in response to the servo bursts within the servo sector and evaluated at step 80 . If the PES appears to be invalid (due to the head being too far off track or over the wrong track), then the write operation is aborted. If the PES is valid at step 80 , then at step 82 the control circuitry 24 generates the VCM control signal 46 in response to the PES and the write operation continues.
    [0029]In one embodiment, if a write operation is aborted the control circuitry 24 immediately re-executes the write operation after slipping a disk revolution. In another embodiment, the control circuitry 24 inserts the aborted write operation into a queue and then re-executes the aborted write operation in an order determined from a rotational position optimization (RPO) algorithm. In yet another embodiment, if a write operation is aborted after an initial portion of the write operation has been completed, only the remaining part of the write operation is re-executed in order to write the remaining data sectors to the disk.
    [0030]The various components in the embodiments of the present invention may operate in any suitable manner. For example, the error corrector 58 ( FIG. 3 ) may correct the detected track address in a number of different ways. In one embodiment, the error corrector 58 XORs the track address error 56 with the detected track address 50 to generate the corrected track address. In another embodiment, the error corrector 58 simply outputs the target track address 54 as the corrected track address when the correction metric 60 exceeds the threshold 62 .
    [0031]Any suitable control circuitry 24 may be employed in the embodiments of the present invention, such as a separate read channel integrated circuit or a read channel implemented in a system on a chip (SOC). Alternatively, the control circuitry 24 may be implemented by a component separate from the read channel, such as a disk controller, or certain steps described above may be performed by the read channel and others by the disk controller. In one embodiment, the control circuitry 24 comprises a microprocessor executing instructions, the instructions being operable to cause the microprocessor to perform the steps of the flow diagrams described herein. The instructions may be stored in any computer-readable medium. In one embodiment, they may be stored on a non-volatile semiconductor memory external to the microprocessor, or integrated with the microprocessor in a system on a chip (SOC). In another embodiment, the instructions are stored on the disk 16 and read into a volatile semiconductor memory when the disk drive is powered on. In yet another embodiment, the control circuitry 24 comprises suitable logic circuitry, such as state machine circuitry.
    同族专利
    暂无同族专利