Magnetic disk device

By setting parity bit sectors on the tracks for track error correction and interrupting writing and rotating the disk to wait before detecting a track error, the problem of data corruption caused by head vibration is solved, thus improving the write performance of the disk device.

CN121237134APending Publication Date: 2025-12-30KK TOSHIBA +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202411457257.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-06-27
Filing Date
2024-10-18
Publication Date
2025-12-30

AI Technical Summary

Technical Problem

In disk drives, existing technologies cannot effectively prevent data loss when adjacent tracks are damaged due to head vibration during the write operation, and frequent track correction operations will reduce write performance.

Method used

Track error correction is performed by setting parity bit sectors on the track, and the write operation is interrupted before a possible track error is detected, and rotation wait and re-judgment are performed to reduce the execution of PTS actions.

Benefits of technology

It improves write performance, prevents data loss, and reduces performance degradation caused by frequent error correction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121237134A_ABST
    Figure CN121237134A_ABST
Patent Text Reader

Abstract

The embodiment relates to a magnetic disk device. In the write operation, the controller performs a determination operation according to the magnetic head passing through the servo sector. In the determination operation, the controller calculates a first cumulative amount obtained by accumulating, in the first section, an evaluation amount corresponding to the amount that the width of the adjacent track is narrowed by the write operation, and determines whether the first cumulative amount is smaller than or larger than a threshold value corresponding to the correction limit of error correction per track unit. The first section includes a second section in which writing of data has been completed, and a third section in which data is written following the second section. The controller interrupts the write operation in response to the determination that the first cumulant is greater than the threshold value by the determination operation, executes rotation waiting, and then executes the determination operation again. The controller resumes the write operation in response to determining that the first cumulant amount is smaller than the threshold value by the re-executed determination operation.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application claims priority to Japanese Patent Application No. 2024-103778 (filed on June 27, 2024). This application is incorporated herein by reference to the entire contents of that earlier application. Technical Field

[0002] This embodiment relates to a disk drive. Background Technology

[0003] There exist disk devices that possess the function of protecting data written to each track on a track-by-track basis. Based on this function, the disk device can generate error correction codes for each track and perform track-by-track error correction based on these codes. This track-by-track error correction is denoted as track error correction.

[0004] A disk device with track error correction capability monitors the position of the read / write head during a write operation. Furthermore, if writing to the target track could cause data on adjacent tracks to become uncorrectable even with track error correction, the disk device interrupts the write operation and performs a predetermined action. Summary of the Invention

[0005] According to one embodiment, a disk drive includes a disk, a read / write head, and a controller. The disk has multiple tracks. On the multiple tracks, multiple servo sectors recording servo information are arranged at intervals in a circumferential direction. The multiple tracks include a first track and a second track that is radially adjacent to the first track and was written to before the first track. Each of the first and second tracks has multiple data sectors, including data sectors storing error correction codes for track-by-track error correction. The read / write head writes data to the disk and reads data from the disk. The controller reads servo information as the read / write head passes through each of the multiple servo sectors, and performs a write operation on the first track while positioning the read / write head on the first track based on the read servo information. During the write operation, the controller performs a determination based on whether the read / write head passes through the first servo sector, which is one of the multiple servo sectors. In the decision-making process, the controller calculates a first accumulated amount, obtained by accumulating the evaluation of the amount by which the width of the second track narrows due to the write operation in the first interval, and determines whether the first accumulated amount is smaller or larger than a first threshold corresponding to the error correction limit. The first interval includes a second interval, which is the interval where data writing in the circumferential direction of the first track has been completed, and a third interval, which is the interval in the circumferential direction of the first track where data is subsequently written in the second interval. If the controller determines that the first accumulated amount is larger than the first threshold based on the decision-making process, the write operation is interrupted. After the write operation is interrupted, disk rotation wait is performed, and the decision-making process is re-executed based on the read / write head passing through the first servo sector again. If the controller determines that the first accumulated amount is smaller than the first threshold based on the re-executed decision-making process, the write operation is restarted.

[0006] According to one implementation, a disk device is capable of providing high performance for write operations. Attached Figure Description

[0007] Figure 1 This is a schematic diagram illustrating an example of the configuration of a disk device according to an embodiment.

[0008] Figure 2 This is a schematic diagram illustrating an example of the configuration of a disk in an embodiment.

[0009] Figure 3 This is a schematic diagram illustrating the SMR method used in the disk device of the embodiment.

[0010] Figure 4 This is a diagram illustrating an example of multiple band regions disposed on a disk in an implementation method.

[0011] Figure 5 This is a diagram used to illustrate the track error correction method of the implementation method.

[0012] Figure 6This is a diagram used to illustrate the PTS operation of the implementation method.

[0013] Figure 7 This is a diagram used to illustrate the track error estimation operation of the implementation method.

[0014] Figure 8 This is a diagram illustrating an example of disk operation in an implementation where a write operation is interrupted as a result of a track error inference operation.

[0015] Figure 9 This is a flowchart illustrating the operation of a disk device according to an embodiment.

[0016] Explanation of reference numerals in the attached figures

[0017] 1 Disk drive; 2 Host; 11 Disk; 12 Spindle motor; 13 Ramp; 15 Actuator arm; 16 VCM; 21 Motor driver IC; 22 Head; 22r Read element; 22w Write element; 23 HDC; 24 Head IC; 25 RWC; 26 Processor; 27 RAM; 28 FROM; 29 Buffer memory; 30 Controller; 41 Track; 42 Servo area; 43 Data area; 100 Recording surface; 110 Storage area; 120 Media cache area; 130 Tape area. Detailed Implementation

[0018] Hereinafter, the disk device according to the embodiments will be described in detail with reference to the accompanying drawings. However, this invention is not intended to be limited by these embodiments.

[0019] (Implementation Method)

[0020] Figure 1 This is a schematic diagram illustrating an example of the configuration of the disk device 1 according to an embodiment.

[0021] Disk device 1 is connected to host 2. Disk device 1 can receive access commands such as write commands and read commands from host 2.

[0022] The disk drive 1 includes a disk 11 with a recording surface formed on its surface. The disk drive 1 writes and reads data from the disk 11 (more precisely, the recording surface of the disk 11) according to access commands. In addition, the disk drive 1 may have multiple disks 11, but in this embodiment, for the sake of simplicity of explanation and illustration, it is assumed that the disk drive 1 has one disk 11.

[0023] Data writing and reading are performed via the read / write head 22. Specifically, in addition to the disk 11, the disk device 1 also includes a spindle motor 12, a motor driver IC (Integrated Circuit) 21, a read / write head 22, an actuator arm 15, a voice coil motor (VCM) 16, a ramp 13, a head IC 24, a read / write channel (RWC) 25, RAM 27, FROM (Flash Read-Only Memory) 28, a buffer memory 29, a hard disk controller (HDC) 23, and a processor 26.

[0024] The disk 11 rotates at a predetermined speed via a spindle motor 12 mounted on its rotating shaft. The spindle motor 12 is driven by a motor driver IC21.

[0025] The motor driver IC21 controls the rotation of the spindle motor 12 and the VCM16.

[0026] The read / write head 22 writes and reads data from the disk 11 using its write element 22w and read element 22r. The read / write head 22 is mounted on the front end of the actuator arm 15. The read / write head 22 moves radially along the disk 11 via the VCM 16 driven by the motor driver IC 21.

[0027] When the disk 11 stops rotating, the read / write head 22 moves onto the ramp 13. The ramp 13 is configured to hold the read / write head 22 at a position spaced apart from the disk 11.

[0028] During a read operation, head IC24 amplifies and outputs the signal read by head 22 from disk 11 to RWC25. Additionally, during a write operation, head IC24 amplifies the signal provided by RWC25 corresponding to the data being written and provides it to head 22.

[0029] HDC23 controls the transmission and reception of data between the HDC23 and the host 2 via the I / F bus, and controls the buffer memory 29, etc.

[0030] The buffer memory 29 is used as a buffer for data transmission and reception between the host 2 and the host 2. For example, the buffer memory 29 is used to temporarily store data to be written to disk 11 or data read from disk 11.

[0031] The buffer memory 29 may be composed of, for example, a volatile memory capable of high-speed operation. The type of memory constituting the buffer memory 29 is not limited to a specific type. The buffer memory 29 may be composed of, for example, DRAM (Dynamic Random Access Memory), SRAM (Static Random Access Memory), or a combination thereof.

[0032] RWC25 modulates the data to be written from HDC23, including error correction coding, and provides the modulated data to head IC24. Additionally, RWC25 demodulates the signals read from disk 11 and provided from head IC24, including error correction, and outputs the demodulated digital data to HDC23.

[0033] The processor 26 is, for example, a CPU (Central Processing Unit). RAM 27, FROM (Flash Read Only Memory) 28, and buffer memory 29 are connected to the processor 26.

[0034] FROM 28 is a non-volatile memory. Firmware (program data) and various operational parameters are stored in FROM 28. Additionally, the firmware can also be stored on disk 11.

[0035] RAM 27 is composed of, for example, DRAM, SRAM, or a combination thereof. RAM 27 is used by the processor 26 as operating memory. RAM 27 is used as an area for loading firmware and an area for storing various management data.

[0036] The processor 26 performs overall control of the disk device 1 according to the firmware stored in the FROM 28 or the disk 11. For example, the processor 26 loads the firmware from the FROM 28 or the disk 11 into the RAM 27, and executes control of the motor driver IC 21, head IC 24, RWC 25, HDC 23, etc. according to the loaded firmware.

[0037] Furthermore, the configuration including RWC25, processor 26, and HDC23 can also be considered as controller 30. Controller 30 is sometimes configured as a SoC (System-On-a-Chip). Controller 30 may not necessarily be configured as a SoC. In addition to these, controller 30 may also include other elements (such as RAM27, FROM28, buffer memory 29, or RWC25, etc.).

[0038] Figure 2 This is a schematic diagram illustrating an example of the configuration of the disk 11 in an embodiment.

[0039] During the manufacturing process, servo information is written to disk 11, for example, via a servo writer or via self-servo write (SSW). Figure 2 As an example of a configuration of servo areas where servo information is written, servo areas 42 are shown in a radial configuration. Data areas 43, where data can be written, are provided between the servo areas 42.

[0040] Multiple tracks 41, arranged in concentric circles, are defined in the radial direction of disk 11 based on servo information. Multiple data sectors for data writing are configured in multiple data areas 43 set along the tracks 41.

[0041] Servo information includes servo markers, Gray code, burst pattern, and postcode. When writing and reading data from data sectors, the controller 30 generates a Positional Error Signal (PES) based on the servo information read by the read / write head 22 from the servo area 42. The PES represents the offset from the center of the target track. Based on the PES obtained each time the read / write head 22 passes through the servo area 42, the controller 30 performs head positioning, i.e., seek control and tracking control.

[0042] From now on, the portion of track 41 divided by servo region 42 will be referred to as servo sector. Since multiple servo regions 42 are arranged radially, it can be considered that multiple servo sectors are arranged at intervals in the circumferential direction on each track 41.

[0043] In addition, in the future, data written to each data sector will be recorded as a data segment.

[0044] As methods for writing data to a disk, there are known methods called SMR (Shingled Magnetic Recording) and CMR (Conventional Magnetic Recording).

[0045] Figure 3This is a schematic diagram illustrating the SMR method used in the disk device 1 of the embodiment. In the SMR method, each track 41 is configured such that, when writing data (denoted as first data) to a certain track 41 is performed, and then writing data (denoted as second data) to a track 41 adjacent to that track 41 in the radial direction is performed, a portion of the second data overlaps with the first data. That is, according to the SMR method, data from one of two adjacent tracks 41 in the radial direction of the disk 11 is written with a portion overlapping the data from the other of the two tracks 41.

[0046] For example, data on track #2 is written in a manner that overlaps with a portion of the data already written on track #1. Similarly, data on track #3 is written in a manner that overlaps with a portion of the data already written on track #2. That is, according to the SMR method, this process is repeated so that data on one track overlaps with a portion of the data already written on an adjacent track.

[0047] As a result, the width TW of each track is narrowed compared to the width (WHw) of the writing element 22w, thus increasing the recording density.

[0048] However, according to the SMR method, since the track width TW is narrower than the width WHw of the writing element 22w, when a portion of the data in multiple tracks is updated, the data in tracks adjacent to the updated data is corrupted. To prevent data corruption, the data in multiple tracks, including the corrupted portion, is updated together. The region of multiple tracks that are updated together is called a band.

[0049] Furthermore, according to the SMR method, it is determined that for multiple tracks 41 within a single band, writing can only be performed from one predetermined end of the disk's outer side to the other predetermined end. Figure 3 In the example shown, writing is performed in units of track 41 from the outer peripheral end toward the inner peripheral end. The controller 30 can also be configured to perform writing in units of track 41 from the inner peripheral end toward the outer peripheral end. Alternatively, the writing order can be set separately for each track.

[0050] In the following description, each track 41 contained in the band region 130 is assigned a track number corresponding to the arrangement order in the radial direction, and in SMR mode, writing is performed in units of track 41 according to the track number order.

[0051] CMR (Continuous Recording) is a writing method in which data on two adjacent tracks 41 of the disk 11 does not overlap. According to CMR, since the width of each track 41 is the same as the width (WHw) of the writing element 22w, data at any location can be updated. Therefore, compared to SMR, CMR has a lower recording density but offers higher random access performance.

[0052] The controller 30 in this embodiment is configured to write data received from the host 2 to the disk 11 in an SMR manner. Therefore, multiple stripe zones are provided on the disk 11.

[0053] Figure 4 This is a diagram illustrating an example of multiple striped areas disposed on disk 11 in an embodiment.

[0054] The recording surface 100 of disk 11, that is, the area where tracks 41 can be configured, is divided into multiple storage regions 110 in the radial direction. The multiple storage regions 110 include one media cache region 120 and multiple strip regions 130. Between the storage regions 110, areas called protected regions are set that cannot be specified as write destinations from host 2. Furthermore, in Figure 4 The illustration of the protected area is omitted.

[0055] The storage area 110 located on the outermost periphery of the recording surface 100 in the radial direction is designated as the media cache area 120. The media cache area 120 is a storage area used as a temporary storage location for data. Furthermore, the location of the media cache area 120 is not limited to the outermost periphery. Additionally, two or more media cache areas 120 may be provided on the recording surface. Data can be written to the media cache area 120 using CMR (Continuous Mapping) mode.

[0056] One or more of the multiple storage regions 110 are designated as strip regions 130. Multiple tracks 41 are provided in each strip region 130. The maximum amount of user data written to each strip region 130, i.e., the storage capacity, is common across all strip regions 130. Data is written to all tracks 41 in each strip region 130 using SMR (Short Memory Memory) writing. When writing data to each strip region 130, writing data from the destination strip region 130 across the protection zone to adjacent strip regions 130 is prohibited.

[0057] In addition, a portion of the multiple band regions 130 can also be configured to write data in a CMR manner.

[0058] During a write operation on a track 41, the read / write head 22 may vibrate due to external factors. When the read / write head 22 deviates towards a track 41 adjacent to the track being written to and written to before that track (denoted as the adjacent track), the width of the adjacent track narrows by the amount of deviation of the read / write head 22 towards the adjacent track. The amount by which the width of the adjacent track is reduced due to the deviation of the read / write head 22 towards the adjacent track is denoted as the narrowing amount. The narrowing amount is the amount by which the read / write head 22 deviates from the center of the track 41 being written to the adjacent track. When the narrowing amount is greater than a predetermined amount, the data written to the adjacent track may be lost because the magnetic field of the read / write head 22 interferes with the data. Moreover, according to the SMR method, compared with the CMR method, the data on the adjacent track is more affected by the vibration of the read / write head 22 because the track width TW is narrower.

[0059] Therefore, the controller 30 in the embodiment has a track error correction function so that even if data segments written to several data sectors of adjacent tracks are lost due to the vibration of the magnetic head 22, these data segments can be recovered through error correction.

[0060] Figure 5 This is a diagram illustrating track error correction in the implementation method. In this diagram, the configuration of one track 41 is shown. However, the illustration of the servo sector is omitted. Additionally, the write / read direction is illustrated in this diagram. The write / read direction is the direction in which the read / write head 22 moves relative to the track 41 due to the rotation of the disk 11. The read / write head 22 writes or reads data from each track 41 in the write / read direction.

[0061] The data sectors located on track 41 are identified by sector numbers. The data sector with sector number x is denoted as data sector #x. Figure 5 In the example shown, track 41 has 11 data sectors from data sector #0 to data sector #10.

[0062] The data segment to be written to data sector #x and the data segment already written to data sector #x are denoted as data segment #x.

[0063] The 11 data sectors are arranged sequentially by sector number in the write / read direction, starting from a reference position in the circumferential direction. In this specification, the start and end are defined based on the reference position and the write / read direction.

[0064] For example, the position first passed by the read / write head 22 from the moment it passes the reference position until the moment it passes the reference position again is recorded as the beginning of the track. The position last passed by the read / write head 22 from the moment it passes the reference position until the moment it passes the reference position again is recorded as the end of the track. Regarding data sectors #0 to #10, the data sector located at the beginning of the track, i.e., data sector #0, is recorded as the beginning data sector. Regarding data sectors #0 to #10, the data sector located at the end of the track, i.e., data sector #10, is recorded as the end data sector.

[0065] The last data sector #10 is designated as a data sector for storing parity bits, which serve as error correction codes for track error correction. Specifically, writing is performed on a track 41 basis, for example, as follows: First, data segments are written to data sectors #0 through #9 in the order of sector numbers. Then, parity bits calculated based on the group of data segments written to data sectors #0 through #9 are written to the last data sector #10 of track 41.

[0066] The parity bit written to data sector #10 protects the group of data segments already written to data sectors #0 through #9 to prevent errors. That is, the parity bit written to sector #10 protects data on a track-by-track basis. The parity bit written to the end of data sector #10 on track 41 is designated as the track parity bit. Additionally, data sectors that store track parity bits, such as data sector #10, are sometimes designated as the parity bit sector.

[0067] Furthermore, the method for calculating the track parity bit is not limited to a specific method. In one example, the track parity bit is generated by performing an XOR operation on each bit position on the groups of data segments written to data sectors #0 to #9.

[0068] Thus, multiple data sectors, including parity sectors, are provided on each track 41. Furthermore, the number of parity sectors on each track 41 is not limited to one. For example, two parity sectors may be provided on each track 41. In this case, for example, one of the two parity sectors stores parity bits generated based on the group of data segments written to the even-numbered data sectors from the beginning of the track. The other parity sector stores parity bits generated based on the group of data segments written to the odd-numbered data sectors from the beginning of the track. Three or more parity sectors may also be provided on each track 41.

[0069] During a write operation, the controller 30 estimates whether a track error will occur due to the continuation of the write operation. A track error occurs when data on adjacent tracks becomes so bad that it cannot be corrected even by track error correction. When it is estimated that a track error will occur due to the continuation of the write operation, the controller 30 interrupts the write operation and executes a predetermined action. This predetermined action includes a PTS (Partial Track Slip) action.

[0070] Figure 6 This is a diagram illustrating the PTS operation of the implementation method. In this diagram, data segments #0 to #9 and the track parity bit are shown as data of track 1 written to track #K of track 41, which is track number K. This track 1 data is denoted as track #K data. Furthermore, in the read operation of track #K, track #(K-1) corresponds to the adjacent track of track #K.

[0071] In the write operation of writing data to track #K, if a track error is expected to occur when the timing of writing data segment #6 is completed, the controller 30 immediately stops the write operation and executes the PTS action.

[0072] During the PTS operation, the controller 30 writes the track parity bit from the data in track #K to a system area (not shown). This system area is located at a different location than the strip area 130 where user data is written. The system area can be located on the disk 11 or a non-volatile memory such as FROM 28. Additionally, data segments #7 to #9 from the data in track #K, which are data segments not yet written to track #K, are written to track #(K+1). For example, the controller 30 writes data segments #7 to #9 to data sectors #0 to #2 of track #(K+1).

[0073] Furthermore, as long as the data segments in track #K that have not yet been written to track #K and the track parity bit are written to a different location than track #K, the destination of these information is not limited to the locations exemplified above.

[0074] Whether a track error will occur is determined by the length of the circumferential section written when the narrowing exceeds a predetermined threshold (denoted as the narrowing threshold), and the amount by which the narrowing exceeds the narrowing threshold. Therefore, the controller 30 estimates whether a track error has occurred based on a determination action that considers the length of the circumferential section written when the narrowing exceeds the narrowing threshold and the amount by which the narrowing exceeds the narrowing threshold. This determination action is denoted as a track error estimation action.

[0075] The narrowing threshold is above 0 and below the designed track width. The narrowing threshold is determined by the designer. For example, the upper limit of the narrowness required to read and write data segments to adjacent tracks correctly even without track error correction is determined as the narrowing threshold. The method for determining the narrowing threshold is not limited to this. The narrowing threshold can also be the value obtained by subtracting a predetermined value from the upper limit.

[0076] Figure 7 This is a diagram used to illustrate the track error estimation operation of the implementation method.

[0077] The track error prediction action is performed during the write operation whenever head 22 passes through a servo sector. Figure 7 In this process, the write operation to track #M is performed, and the track error estimation operation when the read / write head 22 reaches the servo sector #N is explained. In addition, at the time when the write operation to track #M is performed, the write to track #(M-1), which is an adjacent track, has been completed.

[0078] While positioning the read / write head 22 on track #M, the controller 30 performs a write operation on track #M. The controller 30 calculates a first accumulated amount by accumulating the evaluation amount in a first interval, using the amount by which the narrowing amount (i.e., the amount by which the track width of track #(M-1) narrows) exceeds a narrowing threshold as an evaluation amount. The first interval includes a second interval and a third interval. The second interval is the interval where writing in the circumferential direction of track #M is completed. The third interval is the interval where data is written after the second interval. Furthermore, the controller 30 estimates the occurrence of track errors based on a comparison between the first accumulated amount and a predetermined threshold corresponding to the correction limit of track error correction (denoted as the first track error threshold). If the first accumulated amount is less than the first track error threshold, it can be estimated that no track error will occur even if writing continues. If the first accumulated amount is greater than the first track error threshold, it can be estimated that a track error will occur if writing continues.

[0079] In addition, the third interval is the interval from the end of the second interval to the next servo sector.

[0080] exist Figure 7 In the example shown, the interval from the beginning of track #M to servo sector #N of track #M corresponds to the second interval. The interval from servo sector #N of track #M to servo sector #(N+1) corresponds to the third interval. The interval from the beginning of track #M to servo sector #(N+1) of track #M corresponds to the first interval.

[0081] Specifically, the calculation of accumulating the evaluation value in the first interval involves calculating the evaluation value at each of the multiple circular positions contained within the first interval and summing the calculated evaluation values ​​at each of the multiple circular positions contained within the first interval. Each of the multiple circular positions is the circular position of each different data track contained in track #(M-1) of an adjacent track. That is, the sum of the evaluation values ​​at the multiple circular positions adjacent to each different data track in the first interval is used as the first cumulative value.

[0082] As mentioned above, the controller 30 can acquire the PES (Presentation Status) each time the read / write head 22 passes through a servo sector. However, there is not necessarily only one data sector between servo sectors. Therefore, the controller 30 calculates the radius position of the read / write head 22 at the circumferential position of each data track in adjacent tracks by interpolating the PES in each servo sector. Furthermore, the controller 30 calculates the evaluation quantity at the circumferential position of each data track in adjacent tracks based on the radius position of the read / write head 22 at the circumferential position of each data track in adjacent tracks.

[0083] The second interval, that is, in Figure 7 In the example shown, the write operation has been completed for the interval from the beginning of track #M to servo sector #N of track #M. For such a written interval, the controller 30 calculates the evaluation value at the circumferential position of each data track of adjacent tracks based on the PES actually obtained by the head 22 per servo sector during the write operation.

[0084] The third interval, that is... Figure 7 In the example shown, the write operation has not yet been performed in the interval from servo sector #N to servo sector #(N+1) of track #M. For such intervals where the write operation has not yet been completed, the controller 30 predicts the evaluation value at the circumferential position of each data track of adjacent tracks based on more than one PES obtained before the head 22 is about to pass through the interval. For example, the controller 30 predicts the PES obtained when the head 22 passes through the next servo sector #(N+1) after servo sector #N by using the interpolation of the PES obtained when the head 22 passes through servo sector #(N-1) and the PES obtained when the head 22 passes through servo sector #N. Furthermore, the controller 30 uses the PES obtained when passing through servo sector #(N+1) to calculate the evaluation value at the circumferential position of each data track of adjacent tracks in the third interval.

[0085] Furthermore, the evaluation value calculated by controller 30 may not necessarily be the evaluation value at the circumferential position of each data track in adjacent tracks. Controller 30 may also calculate the evaluation value of the track 41 of the object to be written (e.g., Figure 7The evaluation value at the circumferential position of each data sector contained in track #M) is used as the first accumulated value by accumulating the obtained evaluation values. Alternatively, the controller 30 may also calculate the track 41 of the write object (e.g., Figure 7 The evaluation values ​​in each servo sector contained in track #M) are used as the first accumulated value by accumulating the obtained evaluation values. Then, for ease of understanding, the controller 30 calculates the evaluation values ​​in each servo sector contained in track 41 of the object to be written, and uses the amount obtained by accumulating the obtained evaluation values ​​as the first accumulated value.

[0086] Furthermore, the amount obtained by accumulating the evaluation values ​​in the second interval is denoted as the second accumulated amount. The first accumulated amount is obtained by adding the second accumulated amount to the amount obtained by accumulating the evaluation values ​​in the third interval.

[0087] PTS actions take a relatively long time. If the number of PTS actions is high when writing data to a single stripe 130, the total time required to write to that stripe 130 will increase, and the performance of the write action will deteriorate.

[0088] Furthermore, when a PTS operation is performed during a write operation to a track 41, unused data sectors are generated on that track 41. However, the storage capacity of each strip area 130 is predetermined. Therefore, if multiple PTS operations are performed while writing data to a strip area 130, sometimes the number of data sectors capable of writing data segments in that strip area 130 may be exhausted, making it impossible to write the required amount of user data. In cases where the required amount of user data cannot be written, the controller 30 may sometimes perform a write operation again on a strip area 130 basis.

[0089] Therefore, in this implementation, if a track error is presumed to occur through the track error estimation action, the controller 30 interrupts the write operation and waits for the disk 11 to rotate one revolution. This waiting period for one revolution is denoted as rotational wait. When rotational wait is performed while the write operation is interrupted, the controller 30 performs the same positioning (i.e., track tracking control) as when the write operation was performed. Furthermore, when the read / write head 22 passes the section where the write operation was interrupted, the controller 30 again performs the track error estimation action.

[0090] Track error estimation actions are based solely on PES predictions. Furthermore, the PES prediction before the spin wait is not necessarily equal to the PES prediction after the spin wait.

[0091] Figure 8This is a diagram illustrating an example of the operation of disk 11 in an embodiment where the write operation is interrupted as a result of a track error inference operation.

[0092] For example, suppose that during a write operation on track #M, the read / write head 22 vibrates due to external factors, such as... Figure 7 As shown, the write operation is interrupted based on the track error estimation action when the read / write head 22 reaches servo sector #N. Afterwards, the controller 30 continues the tracking action of bringing the read / write head 22 closer to the center of track #M while rotating and waiting until the read / write head 22 reaches servo sector #N. When the read / write head 22 reaches servo sector #N, the controller 30 executes the track error estimation action again.

[0093] During the rotational wait, the controller 30 also acquires the PES (Predicted Estimation Value) as the head 22 passes through each of servo sectors #(N-1) and #N. In the re-executed track error estimation action, the controller 30 predicts the PES in servo sector #(N+1) based on the PES acquired in servo sectors #(N-1) and #N during the rotational wait, and predicts the evaluation value in servo sector #(N+1).

[0094] exist Figure 8 In the example shown, during the rotation wait period, the vibration of the read / write head 22 gradually converges. Therefore, the evaluation quantity in servo sector #(N+1) is related to... Figure 7 The evaluation value in the servo sector #(N+1) shown is smaller, and the first cumulative value becomes smaller than the first track error threshold. As a result, in the re-executed track error estimation operation, it can be estimated that no track error will occur even if writing continues. Based on this result, the controller 30 starts the writing operation again after the read / write head 22 has just passed through the servo sector #N.

[0095] Thus, in this implementation, although disk rotation wait is performed on disk 11, the number of PTS operations can be reduced. The time required for disk rotation wait is significantly shorter than the time required for PTS operations. Therefore, the performance degradation of write operations caused by PTS operations can be suppressed. That is, write operation performance is improved. Furthermore, write operations in units of band 130 can be performed instead of writing a sufficient amount of user data due to PTS operations.

[0096] Figure 9 This is a flowchart illustrating the operation of the disk device 1 according to an embodiment. In this figure, the operation is shown when the read / write head 22 passes through a servo sector (denoted as servo sector #i) during a write operation to a certain track 41. After the write operation begins, the controller 30 executes a series of actions shown in this figure each time the read / write head 22 passes through a servo sector.

[0097] When the read / write head 22 passes through the servo sector #i, the controller 30 obtains the PES (S101) in the servo sector #i based on the servo information read from the servo sector #i.

[0098] The controller 30 determines whether the narrowing amount in the servo sector #i is greater than the narrowing threshold (S102). The controller 30 calculates the narrowing amount in the servo sector #i based on the PES in the servo sector #i, and uses the narrowing amount in the servo sector #i to perform the processing in S102.

[0099] If the amount of narrowing in servo sector #i is greater than the narrowing threshold (S102: Yes), the controller 30 determines whether the number of servo sectors whose amount of narrowing is greater than the narrowing threshold in the interval from the beginning of the track to servo sector #i is greater than a predetermined threshold (denoted as the second track error threshold) (S103).

[0100] As mentioned above, whether a track error will occur is determined by the length of the circumferential section written when the narrowing exceeds the narrowing threshold, and the amount by which the narrowing exceeds the narrowing threshold. In the processing of S103, it is estimated whether a track error will occur if the writing operation continues, based solely on the length of the circumferential section written when the narrowing exceeds the narrowing threshold.

[0101] The second track error threshold is a threshold set with respect to the length of the circumferential region written when the narrowing exceeds the narrowing threshold, and it corresponds to the correction limit of track error correction. If the length of the circumferential region written when the narrowing exceeds the narrowing threshold is greater than the second track error threshold, it is presumed that a track error will occur if the writing operation continues. If the length of the circumferential region written when the narrowing exceeds the narrowing threshold is less than the second track error threshold, it is presumed that a track error will not occur even if the writing operation continues.

[0102] Furthermore, the length of the circumferential interval written when the narrowing exceeds the narrowing threshold is represented by the number of data sectors contained in adjacent tracks. The length of the circumferential interval written when the narrowing exceeds the narrowing threshold can also be represented by the number of data tracks contained in the object being written, or by the number of servo sectors. Here, as an example, the length of the circumferential interval written when the narrowing exceeds the narrowing threshold is represented by the number of servo sectors.

[0103] If the number of servo sectors with a narrowing amount greater than the narrowing threshold is greater than the error threshold of the second track (S103: Yes), the controller 30 immediately stops the write operation (S104). Then, the controller 30 executes the PTS operation (S105), and the operation ends. Thus, no write operation is performed on the region from servo sector #i to the end of the track.

[0104] If the number of servo sectors with a narrowing amount greater than the narrowing threshold is not greater than the error threshold of track 2 (S103: No), the controller 30 calculates the evaluation amount in servo sector #i based on the PES in servo sector #i (S106). The controller 30 calculates the evaluation value by subtracting the narrowing threshold from the narrowing amount in servo sector #i. If the value obtained by subtracting the narrowing threshold from the narrowing amount is negative, the controller 30 sets the narrowing amount to 0.

[0105] Next, the controller 30 calculates the second cumulative amount, which is the amount obtained by accumulating the evaluation values ​​in the interval from the beginning of the track to the servo sector #i (S107). When the read / write head 22 passes through the servo sector #(i-1), the controller 30 calculates the second cumulative amount involving the interval from the beginning of the track to the servo sector #(i-1) through the processing in S107. Thus, the controller 30 obtains the second cumulative amount involving the interval from the beginning of the track to the servo sector #i by adding the evaluation value in the servo sector #i obtained through the processing in S106 to the second cumulative amount involving the interval from the beginning of the track to the servo sector #i. Furthermore, the method for calculating the second cumulative amount is not limited to this.

[0106] Controller 30 determines whether the second accumulated amount is greater than the third track error threshold (S108). In S108, the same determination action as the track error estimation action is performed based on the PES actually obtained in the write operation. The third track error threshold may be the same as or different from the first track error threshold.

[0107] If the second accumulated amount is greater than the error threshold of the third track (S108: Yes), the control moves to S104.

[0108] If the second accumulated amount is not greater than the error threshold of the third track (S108: No), the controller 30 predicts the PES in the servo sector #(i+1) based on the latest PES in the servo sector #(i-1) and the latest PES in the servo sector #i (S109). The latest PES is the latest PES obtained between the PES obtained during the write operation and the PES obtained during the spin wait.

[0109] The controller 30 calculates the evaluation value in the servo sector #(i+1) based on the predicted value of PES in the servo sector #(i+1) (S110). The calculation method of the evaluation value is the same as that in S106.

[0110] The controller 30 obtains the first cumulative amount by adding the evaluation amount in the servo sector #(i+1) to the second cumulative amount (S111). Furthermore, the controller 30 determines whether the first cumulative amount is greater than the first track error threshold (S112).

[0111] Furthermore, the actions from S109 to S112 are equivalent to the aforementioned track error estimation actions.

[0112] If the first accumulated amount is greater than the first track error threshold (S112: Yes), the controller 30 interrupts the write operation (S113). Furthermore, the controller 30 determines whether the number of spin wait executions is greater than a predetermined threshold (denoted as the PTS threshold) (S114).

[0113] As mentioned earlier, the time required for spin wait is significantly shorter than the time required for a PTS action. However, if spin wait is executed multiple times in server sector #i, the total time spent on multiple spin waits may sometimes exceed the time required for a PTS action. To prevent the total time spent on spin wait from exceeding the time required for a PTS action, an upper limit is set on the number of spin wait executions. The PTS threshold is the threshold that specifies the upper limit on the number of spin wait executions. An integer greater than or equal to 1 is preset as the PTS threshold.

[0114] In S114, the count of the number of rotation waits performed as a result of the track error estimation action in servo sector #i is compared with the PTS threshold. However, the number of comparisons with the PTS threshold is not limited to this. For example, the count of the total number of rotation waits performed in one track 41 can also be compared with the PTS threshold.

[0115] If the number of spin wait executions is greater than the PTS threshold (S114: Yes), spin wait is not executed, and control is transferred to S105.

[0116] If the number of rotation wait executions is not greater than the PTS threshold (S114: No), the controller 30 executes rotation wait (S115). Furthermore, when the read / write head 22 passes through the servo sector #i again, the control moves to S109, and the track error estimation action from S109 to S112 is executed again.

[0117] If the narrowing amount in servo sector #i is not greater than the narrowing threshold (S102: No), or if the first accumulated amount is not greater than the first track error threshold (S112: No), the controller 30 restarts or continues the write operation (S116), and the operation of the read / write head 22 when it passes through servo sector #i ends.

[0118] Furthermore, in the above explanation, when the narrowing amount in servo sector #i is equal to the narrowing threshold in the processing of S102, the control moves to S116. Alternatively, when the narrowing amount in servo sector #i is equal to the narrowing threshold, the control may not move to S116, but instead move to S103.

[0119] In the above explanation, if the second accumulated amount equals the error threshold of the third track in the processing of S108, the control moves to S109. Alternatively, if the second accumulated amount equals the error threshold of the third track, the control may not move to S109, but instead move to S104.

[0120] In the above explanation, if the first accumulated amount equals the first track error threshold during the processing of S112, the control moves to S116. Alternatively, if the first accumulated amount equals the first track error threshold, the control may move to S113 instead of S116.

[0121] As described above, according to the embodiment, during the write operation, the controller 30 performs a track error estimation action based on the read / write head 22 passing through a servo sector (denoted as the first servo sector). The track error estimation action involves calculating a first accumulated amount obtained by accumulating an evaluation amount corresponding to the amount by which the width of adjacent tracks narrows due to the write operation in the first interval, and determining whether the first accumulated amount is smaller or larger than a first track error threshold corresponding to the correction limit of track error correction. The first interval includes a second interval (e.g., referring to the interval where data writing in the circumferential direction of the track 41 to be written has been completed) from... Figure 7 The interval from the beginning of the track to servo sector #N), and the third interval (e.g., refer to the interval where data is written in the circumferential direction of the track to be written) following the second interval (refer to the third interval). Figure 7 The range from servo sector #N to servo sector #(N+1). The controller 30 interrupts the write operation if it determines that the first accumulated amount is greater than the first track error threshold. After the write operation is interrupted, the controller 30 performs a rotational wait on the disk 11 and re-executes a track error estimation action based on the read / write head 22 passing through the first servo sector again. The controller 30 determines that the first accumulated amount is less than the first track error threshold based on the re-executed track error estimation action and resumes the write operation.

[0122] Therefore, although disk rotation wait is performed, the number of PTS operations is reduced. As a result, write performance is improved.

[0123] Furthermore, according to the embodiment, the controller 30 calculates a second accumulated amount by accumulating the evaluation amount in the second interval based on the PES obtained from each servo sector included in the second interval during the write operation. Additionally, the controller 30 predicts the evaluation amount in the third interval based on the PES in the first servo sector and the PES in the servo sector immediately preceding the first servo sector (denoted as the second servo sector). Finally, the controller 30 obtains a first accumulated amount by adding the evaluation amount in the third interval to the second accumulated amount.

[0124] In this way, the controller 30 obtains the evaluation value in the third interval through prediction.

[0125] Additionally, according to the implementation, the controller 30 obtains the PES in the first servo sector and the PES in the second servo sector during the rotational wait after the write operation is interrupted, and uses the PES in the first servo sector and the PES in the second servo sector obtained during the rotational wait after the write operation is interrupted to predict the evaluation quantity in the third interval.

[0126] Therefore, if the vibration of the read / write head 22 converges during the rotation wait, the track error estimation operation executed again at the end of the rotation wait can sometimes result in the estimation that no track error will occur even if writing continues. That is, the writing operation can be restarted after the rotation wait.

[0127] Furthermore, according to the embodiment, the controller 30 uses the evaluation value of the servo sector that the read / write head 22 passes through immediately after the first servo sector as the evaluation value in the third interval.

[0128] Furthermore, according to the implementation, the evaluation quantity is obtained by subtracting the narrowing threshold from the offset amount by which the magnetic head 22 shifts from the center of the track 41 of the object to the adjacent track.

[0129] Furthermore, as mentioned above, the narrowing threshold is above 0 and below the design value for the track width. The narrowing threshold is determined by the designer.

[0130] Furthermore, according to the embodiment, if it is determined through a re-executed track error estimation action that the first accumulated amount is greater than the first track error estimation action and the number of rotation waits is not greater than the PTS threshold, the controller 30 further executes rotation wait and re-executes the track error estimation action based on the read / write head 22 passing through the first servo sector. If it is determined through a re-executed track error estimation action that the first accumulated amount is greater than the first track error threshold and the number of rotation waits is greater than the PTS threshold, the controller 30 executes the PTS action.

[0131] This prevents multiple rotation waits from being performed, and the total time spent on these rotation waits from exceeding the time required for the PTS action.

[0132] Several embodiments of the present invention have been described above, but these embodiments are merely illustrative and not intended to limit the scope of the invention. These new embodiments can be implemented in a wide variety of other ways, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and / or variations thereof are included within the scope and spirit of the invention, and are included within the scope of the invention as described in the claims and its equivalents.

Claims

1. A disk device comprising: a disk having a plurality of tracks on which a plurality of servo sectors in which servo information is recorded are arranged at intervals in a circumferential direction, the plurality of tracks having a first track and a second track adjacent to the first track in a radial direction and written before the first track, each of the first track and the second track having a plurality of data sectors including a data sector in which an error correction code for error correction in units of tracks is held; a head that writes data to and reads data from the disk; and a controller, the controller, when the head passes through each of the plurality of servo sectors, reading servo information, performing positioning of the head on the first track based on the read servo information, and performing a write operation to the first track, in the write operation, performing a determination operation in accordance with the head passing through a first servo sector that is one of the plurality of servo sectors, the determination operation being an operation of calculating a first accumulated amount obtained by accumulating an evaluation amount corresponding to an amount by which a width of the second track is narrowed due to the write operation in a first interval and determining whether the first accumulated amount is smaller or larger than a first threshold value corresponding to a correction limit of the error correction, the first interval including a second interval that is an interval in which data writing in a circumferential direction of the first track has been completed and a third interval that is an interval in which data is written next to the second interval in the circumferential direction of the first track, in accordance with a determination that the first accumulated amount is larger than the first threshold value by the determination operation, interrupting the write operation, after the write operation is interrupted, performing a rotation wait of the disk, and performing again the determination operation in accordance with the head passing through the first servo sector again, in accordance with a determination that the first accumulated amount is smaller than the first threshold value by the determination operation performed again, starting the write operation again.

2. The disk device according to claim 1, the controller calculating a second accumulated amount obtained by accumulating the evaluation amount in the second interval on the basis of servo information read from each servo sector included in the second interval during the write operation, predicting the evaluation amount in the third interval on the basis of servo information read from the first servo sector and servo information read from a second servo sector, and obtaining the first accumulated amount by adding the second accumulated amount to the predicted evaluation amount in the third interval, the second servo sector being a servo sector through which the head passes immediately before the first servo sector.

3. The disk device according to claim 2, the controller, during performance of the rotation wait of the disk, reading servo information from the first servo sector and reading servo information from the second servo sector. ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ In the determination action performed again, the evaluation quantity in the third interval is predicted using the servo information read from the first servo sector during the execution of the rotation wait of the disk and the servo information read from the second servo sector during the execution of the rotation wait of the disk.

4. The disk device according to claim 3, The evaluation quantity in the third interval is the evaluation quantity in the servo sector through which the head passes immediately after the first servo sector.

5. The disk device according to claim 1, The evaluation quantity is a quantity obtained by subtracting a second threshold value from an offset quantity by which the head is offset from the center of the track of the first track toward the second track.

6. The disk device according to any one of claims 1 to 5, The controller, In a case where it is determined by the determination action performed again that the first cumulative quantity is larger than the first threshold value and the number of times of execution of the rotation wait of the disk is not larger than a second threshold value, the rotation wait of the disk is further performed, and the determination action is performed again in accordance with the head passing through the first servo sector, In a case where it is determined by the determination action performed again that the first cumulative quantity is larger than the first threshold value and the number of times of execution of the rotation wait of the disk is larger than the second threshold value, at least data which has not been written to the first track is written to a position different from the first track.

Citation Information

Patent Citations

  • Method for processing attachment / removal of item for to-be-dressed NFT model, and system for the same

    JP2024103778A