Magnetic disk device and write processing method

The magnetic disk device and write processing method address reliability issues in SMR systems by controlling write processes with defined threshold values for head deviations, enhancing data integrity by reducing read errors in adjacent tracks.

JP7788959B2Active Publication Date: 2025-12-19KK TOSHIBA +1
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2022113281
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2022-02-16
Filing Date
2022-07-14
Publication Date
2025-12-19
Estimated Expiration
2042-07-14

AI Technical Summary

Technical Problem

Magnetic disk drives face challenges in improving reliability, particularly in shingled write magnetic recording (SMR) systems where read errors occur due to head deviations exceeding threshold values, affecting adjacent tracks.

Method used

The solution involves implementing threshold values to control write processes based on the first and second threshold values that the head deviation in the radial direction, with the first and second threshold values that the head deviation in the radial direction, with the magnetic disk device and write processing method, to prevent read errors in adjacent tracks.

Benefits of technology

This approach enhances the reliability of magnetic disk drives by reducing read errors in adjacent tracks through controlled write processes based on defined threshold values for head deviations, thereby improving data integrity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007788959000001
    Figure 0007788959000001
  • Figure 0007788959000002
    Figure 0007788959000002
  • Figure 0007788959000003
    Figure 0007788959000003
Patent Text Reader

Abstract

To provide a magnetic disk device and a write processing method capable of improving reliability.SOLUTION: A magnetic disk device according to the present embodiment includes: a disk; a head for writing data to the disk and reading the data from the disk; and a controller for controlling write processing on the basis of a first determination value corresponding to a first deviation amount specified for each excess time in which the first deviation amount in a radial direction of the disk of the head exceeds a first threshold causing a read error in a second track adjacent in the radial direction of the first track and a second threshold changing the write processing, at the time of write processing of the first track of the disk.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a magnetic disk device and a write processing method. [Background technology]

[0002] In recent years, magnetic disk drives have been developed that incorporate technologies that enable high recording densities, including those that can implement shingled write magnetic recording (SMR, or shingled write recording (SWR)), which overwrites multiple tracks in the radial direction of the disk.

[0003] A magnetic disk drive has a track including a parity sector obtained by performing an exclusive OR (XOR) operation on each sector of a specific track. When an error is detected in a specific sector of the track, the magnetic disk drive performs an error correction process (hereinafter also referred to as track ECC process) to correct the error using an error correction code (ECC) based on the parity sector corresponding to the track. Whether an error sector in which a read error that cannot be read occurs in the track ECC process can be corrected or not can be determined based on the relationship between the number of sectors in the specific track where a read error may occur and the target position of the specific track in the radial direction (hereinafter also referred to as the radial direction) of the disk 10 (hereinafter also referred to as the track target position), for example, the distance from the center position of the track in the radial direction or the squeeze amount corresponding to the amount of approach from the target position of the specific track to the target position of a track adjacent to the specific track in the radial direction. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] U.S. Patent No. 1,065,0860 [Patent Document 2] U.S. Patent No. 10,777,227 [Patent Document 3] U.S. Patent No. 1,091,0013 Summary of the Invention [Problem to be solved by the invention]

[0005] An embodiment of the present invention provides a magnetic disk device and a write processing method that can improve reliability. [Means for solving the problem]

[0006] A magnetic disk device according to an embodiment includes: The disk drive includes a head that writes data to the disk and reads data from the disk, and a controller that controls the write process based on a first judgment value corresponding to a first deviation amount defined for each number of times that a first deviation amount of the head in the radial direction of the disk exceeds a first threshold value that causes a read error in a second track adjacent to the first track in the radial direction during a write process of a first track of the disk, and a second threshold value that changes the write process. Moreover, a magnetic disk device according to an embodiment includes: The disk drive includes a disk, a head that writes data to the disk and reads data from the disk, and a controller that controls the write process when a first deviation of the head in the radial direction of the disk during a write process of a first track of the disk exceeds a first threshold value that causes a read error in a second track that is radially adjacent to the first track multiple times in succession. Furthermore, a write processing method according to an embodiment includes: A write processing method applied to a magnetic disk device including a disk and a head that writes data to the disk and reads data from the disk, comprising: The write process is controlled based on a first judgment value corresponding to the first deviation amount defined for each number of times that a first deviation amount of the head in the radial direction of the disk during a write process of a first track of the disk exceeds a first threshold value that causes a read error in a second track adjacent to the first track in the radial direction, and a second threshold value that changes the write process. [Brief explanation of the drawings]

[0007] [Figure 1] FIG. 1 is a block diagram showing the configuration of a magnetic disk device according to the first embodiment. [Figure 2] FIG. 2 is a schematic diagram showing an example of the arrangement of the head relative to the disk according to the first embodiment. [Figure 3] FIG. 3 is a schematic diagram showing an example of the shingled recording process. [Figure 4] FIG. 4 is a schematic diagram showing an example of the normal recording process. [Figure 5] FIG. 5 is a schematic diagram showing an example of a change in track ECC gain with respect to the number of squeezes. [Figure 6] FIG. 6 is a schematic diagram showing an example of a change in the contraction determination value relative to the unrecoverable excess threshold according to the first embodiment. [Figure 7] FIG. 7 is a schematic diagram showing an example of the DDOL tightening process according to the first embodiment. [Figure 8] FIG. 8 is a schematic diagram showing an example of a change in DDOL with respect to the number of unrecoverable excesses according to the first embodiment. [Figure 9] FIG. 9 is a schematic diagram showing an example of the configuration of a track. [Figure 10] FIG. 10 is a schematic diagram showing an example of the slip process according to the first embodiment. [Figure 11] FIG. 11 is a flowchart illustrating an example of a DDOL tightening processing method according to the first embodiment. [Figure 12] FIG. 12 is a flowchart showing an example of the slip processing method according to the first embodiment. [Figure 13]FIG. 13 is a schematic diagram showing an example of the configuration of a track. [Figure 14] FIG. 14 is a flowchart showing an example of a write processing method according to the second embodiment. [Figure 15] FIG. 15 is a schematic diagram showing an example of the slip process according to the first embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0008] Hereinafter, embodiments will be described with reference to the drawings. Note that the drawings are merely examples and do not limit the scope of the invention. (First embodiment) FIG. 1 is a block diagram showing the configuration of a magnetic disk device 1 according to the first embodiment. The magnetic disk device 1 includes a head disk assembly (HDA), which will be described later, a driver IC 20, a head amplifier integrated circuit (hereinafter referred to as a head amplifier IC or a preamplifier) ​​30, a volatile memory 70, a nonvolatile memory 80, a buffer memory (buffer) 90, and a system controller 130, which is a one-chip integrated circuit. The magnetic disk device 1 is also connected to a host system (hereinafter simply referred to as a host) 100.

[0009] The HDA has a magnetic disk (hereinafter referred to as a disk) 10, a spindle motor (hereinafter referred to as an SPM) 12, an arm 13 on which a head 15 is mounted, and a voice coil motor (hereinafter referred to as a VCM) 14. The disk 10 is attached to the SPM 12 and rotates when driven by the SPM 12. The arm 13 and the VCM 14 form an actuator 16. The arm 13 includes at least one arm 13. For example, the arm 13 includes multiple arms 13. The head 15 includes at least one head 15. For example, the head 15 includes multiple heads 15. The actuator 16 controls the movement of the head 15 mounted on the arm 13 to a predetermined position on the disk 10 by driving the VCM 14. Two or more actuators 16 may be provided.

[0010] The disk 10 has the following areas allocated to it as data writable areas: a user data area 10a available to the user; a media cache (sometimes referred to as a media cache area) 10b that temporarily stores data (or commands) transferred from a host or the like before writing them to a predetermined area in the user data area 10a; and a system area 10c that writes information necessary for system management. Note that the media cache 10b does not necessarily have to be located on the disk 10. Hereinafter, the direction from the inner periphery to the outer periphery of the disk 10 or the direction from the outer periphery to the inner periphery of the disk 10 will be referred to as the radial direction. In the radial direction, the direction from the inner periphery to the outer periphery will be referred to as the outward direction (or outer side), and the direction from the outer periphery to the inner periphery, i.e., the direction opposite to the outward direction, will be referred to as the inward direction (or inner side). The direction perpendicular to the radial direction of the disk 10 will be referred to as the circumferential direction. The circumferential direction corresponds to the direction along the circumference of the disk 10. Furthermore, a predetermined position in the radial direction of the disk 10 is sometimes referred to as a radial position, and a predetermined position in the circumferential direction of the disk 10 is sometimes referred to as a circumferential position. The radial position and circumferential position are sometimes collectively referred to simply as a position. Note that the term "track (or cylinder)" is used to mean one of the multiple areas divided in the radial direction of the disk 10, data written to one of the multiple areas divided in the radial direction of the disk 10, the path of the head 15 at a predetermined radial position, data extending in the circumferential direction of the disk 10, one revolution's worth of data written to a track (or cylinder) at a predetermined radial position, data written to a predetermined track (or cylinder) of the disk 10, part of the data written to a predetermined track (or cylinder) of the disk 10, and various other meanings. The term "sector" can mean one of a plurality of regions obtained by dividing a predetermined track (or cylinder) of disk 10 in the circumferential direction, data written to one of a plurality of regions obtained by dividing a predetermined track (or cylinder) of disk 10 in the circumferential direction, data written to a predetermined circumferential position at a predetermined radial position on disk 10, data written to a predetermined sector on a predetermined track (or cylinder) of disk 10, or various other meanings. The "radial width of a track (or cylinder)" is sometimes called the "track width (or cylinder width).""A path passing through the center position of the track width (or cylinder width) of a specified track (or cylinder)" is referred to as the "track center (or cylinder center)." Hereinafter, "the track center (or cylinder center) of a specified track (or cylinder)" may also be referred to simply as "track (or cylinder)."

[0011] The head 15 faces the disk 10. For example, one head 15 faces one surface of the disk 10. The head 15 has a slider as its main body, and includes a write head 15W and a read head 15R mounted on the slider. The write head 15W writes data to the disk 10. The read head 15R reads the data written to the disk 10. Note that the "write head 15W" may be simply referred to as the "head 15," the "read head 15R" may be simply referred to as the "head 15," and the "write head 15W and read head 15R" may be collectively referred to as the "head 15." The "center of the head 15" may be referred to as the "head 15," the "center of the write head 15W" may be referred to as the "write head 15W," and the "center of the read head 15R" may be referred to as the "read head 15R." The "center of the write head 15W" may be simply referred to as the "head 15," and the "center of the read head 15R" may be simply referred to as the "head 15." "Positioning the center of the head 15 at a predetermined position" may be expressed as "positioning the head 15 at a predetermined position," "disposing the head 15 at a predetermined position," or "positioning the head 15 at a predetermined position." "Positioning the center of the head 15 at a target position for a predetermined area (hereinafter sometimes referred to as the area target position), for example, at the radial center of a predetermined area" may be expressed as "positioning the head 15 at a predetermined area," "disposing the head 15 at a predetermined area," "positioning the head 15 at a predetermined area," "positioning the head 15 at a predetermined area," "disposing at a predetermined area," or "positioning at a predetermined area." "Positioning the center of the head 15 at a target position on a specified track (or cylinder) (hereinafter sometimes referred to as the track target position (or cylinder target position)), for example, at the track center (or cylinder center)" can also be expressed as "positioning the head 15 on a specified track (or cylinder)," "placing the head 15 on a specified track (or cylinder)," "positioning the head 15 on a specified track (or cylinder)," "positioning on a track," "placing on a track (or cylinder)," or "positioning on a track (or cylinder)," etc.

[0012] 2 is a schematic diagram showing an example of the arrangement of the head 15 relative to the disk 10 according to this embodiment. As shown in FIG. 2, the direction in which the disk 10 rotates in the circumferential direction is referred to as the rotation direction. Note that in the example shown in FIG. 2, the rotation direction is shown as counterclockwise, but it may also be the opposite (clockwise).

[0013] In the example shown in FIG. 2, the disk 10 includes disk 10-0, disk 10-1, ..., disk 10-N. The disks 10-0 to 10-N are stacked coaxially and spaced apart in one direction. The disks 10-0 to 10-N have the same diameter. Terms such as "same," "identical," "matched," and "equivalent" not only mean "exactly the same," but also mean "different enough to be considered substantially the same." Note that the diameters of the disks 10-0 to 10-N may be different. In the example shown in FIG. 2, the disk 10 includes a user data area 10a, a media cache 10b, and a system area 10c. The user data area 10a, the media cache 10b, and the system area 10c are arranged on the disk 10 from the inside to the outside in the order listed. In other words, the media cache 10b is adjacent to the user data area 10a on the outer side. The system area 10c is adjacent to the media cache 10b on the outer side. Here, "adjacent" not only means that data, objects, areas, spaces, etc. are adjacent to each other, but also includes being arranged with a predetermined distance between them. The user data area 10a, media cache 10b, and system area 10c may be arranged in an order other than that shown in Figure 2 on the disk 10. The user data area 10a, media cache 10b, and system area 10c may also be arranged in a dispersed manner on the disk 10.

[0014] The disk 10-0 has a front surface 10S0 and a back surface 10S1 opposite the front surface 10S0. The front surface 10S0 has a user data area 10a0, a media cache 10b0, and a system area 10c0. The media cache 10b0 is adjacent to the outside of the user data area 10a0. The system area 10c0 is adjacent to the outside of the media cache 10b0. The back surface 10S1 has a user data area 10a1, a media cache 10b1, and a system area 10c1. The media cache 10b1 is adjacent to the outside of the user data area 10a1. The system area 10c1 is adjacent to the outside of the media cache 10b1. Hereinafter, the front and back surfaces of the disk may also be referred to as recording surfaces.

[0015] The disk 10-1 has a surface 10S2 and a back surface 10S3 opposite the surface 10S2. The surface 10S2 has a user data area 10a2, a media cache 10b2, and a system area 10c2. The media cache 10b2 is adjacent to the outside of the user data area 10a2. The system area 10c2 is adjacent to the outside of the media cache 10b2. The back surface 10S3 has a user data area 10a3, a media cache 10b3, and a system area 10c3. The media cache 10b3 is adjacent to the outside of the user data area 10a3. The system area 10c3 is adjacent to the outside of the media cache 10b3.

[0016] The disk 10-N has a surface 10S(N-1) and a back surface 10SN opposite the surface 10S(N-1). The surface 10S(N-1) has a user data area 10a(N-1), a media cache 10b(N-1), and a system area 10c(N-1). The media cache 10b(N-1) is adjacent to the outside of the user data area 10a(N-1). The system area 10c(N-1) is adjacent to the outside of the media cache 10b(N-1). The back surface 10SN has a user data area 10aN, a media cache 10bN, and a system area 10cN. The media cache 10bN is adjacent to the outside of the user data area 10aN. The system area 10cN is adjacent to the outside of the media cache 10bN.

[0017] 2, heads 15 include head 15-0, head 15-1, head 15-2, head 15-3, ..., head 15-(N-1), and head 15-N. Head 15-0 faces front surface 10S0. Head 15-0 writes data to front surface 10S0 and reads data from front surface 10S0. Head 15-1 faces rear surface 10S1. Head 15-1 writes data to rear surface 10S1 and reads data from rear surface 10S1. Head 15-2 faces front surface 10S2. Head 15-2 writes data to front surface 10S2 and reads data from front surface 10S2. Head 15-3 faces rear surface 10S3. Head 15-3 writes data to rear surface 10S3 and reads data from rear surface 10S3. Head 15-(N-1) faces front surface 10S(N-1). Head 15-(N-1) writes data to front surface 10S(N-1) and reads data from front surface 10S(N-1). Head 15-N faces rear surface 10SN. Head 15-N writes data to rear surface 10SN and reads data from rear surface 10SN.

[0018] The driver IC 20 controls the driving of the SPM 12 and VCM 14 under the control of a system controller 130 (more specifically, an MPU 60, which will be described later). The head amplifier IC (preamplifier) ​​30 includes a read amplifier and a write driver. The read amplifier amplifies a read signal read from the disk 10 and outputs it to the system controller 130 (more specifically, to a read / write (R / W) channel 40, which will be described later). The write driver outputs a write current to the head 15 according to the signal output from the R / W channel 40.

[0019] The volatile memory 70 is a semiconductor memory in which stored data is lost when the power supply is cut off. The volatile memory 70 stores data necessary for processing in each part of the magnetic disk device 1. The volatile memory 70 is, for example, a DRAM (Dynamic Random Access Memory) or an SDRAM (Synchronous Dynamic Random Access Memory).

[0020] The nonvolatile memory 80 is a semiconductor memory that records stored data even when the power supply is cut off. The nonvolatile memory 80 is, for example, a NOR or NAND type flash ROM (Flash Read Only Memory: FROM).

[0021] The buffer memory 90 is a semiconductor memory that temporarily stores data and the like transmitted and received between the magnetic disk device 1 and the host system 100. The buffer memory 90 may be configured integrally with the volatile memory 70. The buffer memory 90 is, for example, a DRAM, an SRAM (Static Random Access Memory), an SDRAM, an FeRAM (Ferroelectric Random Access Memory), or an MRAM (Magnetoresistive Random Access Memory).

[0022] The system controller (controller) 130 is realized, for example, using a large-scale integrated circuit (LSI) called a system-on-a-chip (SoC), in which multiple elements are integrated on a single chip. The system controller 130 includes a read / write (R / W) channel 40, a hard disk controller (HDC) 50, and a microprocessor or microprocessing unit (MPU) 60. The system controller 130 is electrically connected to, for example, a driver IC 20, a head amplifier IC 30, a volatile memory 70, a nonvolatile memory 80, a buffer memory 90, and a host system 100.

[0023] The R / W channel 40 performs signal processing of data transferred from the disk 10 to the host system 100 (hereinafter also referred to as read data) and data transferred from the host system 100 (hereinafter also referred to as write data) in response to instructions from the MPU 60, which will be described later. The R / W channel 40 has a circuit or function for modulating write data. The R / W channel 40 has a circuit or function for measuring and demodulating the signal quality of read data. The R / W channel 40 is electrically connected to, for example, the head amplifier IC 30, the HDC 50, the MPU 60, etc.

[0024] The HDC 50 controls data transfer. For example, the HDC 50 controls data transfer between the host system 100 and the disk 10 in response to instructions from the MPU 60, which will be described later. The HDC 50 is electrically connected to, for example, the R / W channel 40, the MPU 60, the volatile memory 70, the nonvolatile memory 80, and the buffer memory 90.

[0025] The MPU 60 is a main controller that controls each component of the magnetic disk device 1. The MPU 60 controls the VCM 14 via the driver IC 20 and executes servo control to position the head 15. The MPU 60 controls the SPM 12 via the driver IC 20 and rotates the disk 10. The MPU 60 controls the write operation of data to the disk 10 and selects a storage destination for data transferred from the host system 100, such as write data. The MPU 60 also controls the read operation of data from the disk 10 and controls the processing of data transferred from the disk 10 to the host system 100, such as read data. The MPU 60 also manages the areas where data is recorded. The MPU 60 is connected to each component of the magnetic disk device 1. The MPU 60 is electrically connected to, for example, the driver IC 20, the R / W channel 40, and the HDC 50.

[0026] The MPU 60 has a read / write control unit 610, a parity data management unit 620, an error correction unit 630, a DDOL control unit 640, a slip processing unit 650, etc. The MPU 60 executes the processing of each unit, such as the read / write control unit 610, the parity data management unit 620, the error correction unit 630, the DDOL control unit 640, and the slip processing unit 650, on firmware. The MPU 60 may have each unit, such as the read / write control unit 610, the parity data management unit 620, the error correction unit 630, the DDOL control unit 640, and the slip processing unit 650, as a circuit. The read / write control unit 610, the parity data management unit 620, the error correction unit 630, the DDOL control unit 640, and the slip processing unit 650, etc. may be included in the R / W channel 40 or the HDC 50.

[0027] The read / write control unit 610 controls a read process for reading data from the disk 10 and a write process for writing data to the disk 10 in accordance with commands from the host system 100, etc. The read / write control unit 610 controls the VCM 14 via the driver IC 20, positions the head 15 at a predetermined position on the disk 10, and executes a read process or a write process. Hereinafter, the term "access" may also be used to mean recording or writing data to a predetermined area (write process), reading or reading data from a predetermined area (read process), or moving the head 15, etc. to a predetermined area.

[0028] The read / write control unit 610 writes data in accordance with commands from the host system 100, for each predetermined area on the disk 10, using shingled write magnetic recording (SMR or SWR), which overwrites the next track to be written in a radial portion of a predetermined track. Hereinafter, "writing data using shingled recording" may be simply referred to as "shingled recording," "performing shingled recording processing," or simply "writing." The unit of area in which data is shingled may be referred to as a band (or band area). The read / write control unit 610 sequentially shingles-records multiple tracks in the band area. The read / write control unit 610 may write data to a track radially adjacent to a predetermined track (hereinafter also referred to as an adjacent track) or a sector radially adjacent to a predetermined sector (hereinafter also referred to as an adjacent sector) in a predetermined area of ​​the disk 10 at a predetermined interval (gap) in the radial direction from the predetermined track or predetermined sector, or may write data in a conventional magnetic recording (CMR) format that allows random data writing, in accordance with a command from the host system 100. Hereinafter, "writing data in the conventional recording format" may be simply referred to as "normal recording," "executing a normal recording process," or simply "writing."

[0029] FIG. 3 is a schematic diagram showing an example of shingled recording processing. FIG. 3 shows a moving direction. The direction in which the head 15 sequentially writes and reads data to and from the disk 10 in the circumferential direction, i.e., the direction in which the head 15 moves relative to the disk 10 in the circumferential direction, is sometimes referred to as the moving direction. For example, the moving direction is opposite to the rotation direction of the disk 10. Note that the moving direction may be the same as the rotation direction of the disk 10. In the circumferential direction, the direction of the tip of the moving direction arrow is sometimes referred to as the rearward direction or rear. In the circumferential direction, the direction opposite to the rearward direction is sometimes referred to as the forward direction or front. FIG. 3 also shows a forward direction. The direction in which multiple tracks are continuously shingled-recorded in the radial direction, i.e., the direction in which the next track to be written overlaps the track written previously in the radial direction, is sometimes referred to as the forward direction. In FIG. 3, the inward direction in the radial direction is referred to as the forward direction, but the outward direction may also be referred to as the forward direction.

[0030] FIG. 3 shows a band area BAe. In the band area BAe of FIG. 3, multiple tracks TR(a-2), TR(a-1), and TRa are continuously overwritten in the forward direction in the order shown. FIG. 3 also shows the track center WTC(a-2) of track TR(a-2) when track TR(a-2) is written, the track center WTC(a-1) of track TR(a-1) when track TR(a-1) is written, and the track center WTCa of track TRa when track TRa is written. In the example shown in FIG. 3, tracks TR(a-2), TR(a-1), and TRa are written at a track pitch STP. The track center WTC(a-2) of track TR(a-2) and the track center WTC(a-1) of track TR(a-1) are separated by a track pitch STP. The track center WTC(a-1) of track TR(a-1) and the track center WTCa of track TRa are separated by a track pitch STP. Tracks TR(a-2) to TRa may be written at different track pitches. In FIG. 3, the radial width of the area of ​​track TR(a-2) where track TR(a-1) is not overwritten is the same as the radial width of the area of ​​track TR(a-1) where track TRa is not overwritten. Note that the radial width of the area of ​​track TR(a-2) where track TR(a-1) is not overwritten may be different from the radial width of the area of ​​track TR(a-1) where track TRa is not overwritten. For convenience of explanation, FIG. 3 shows each track as a rectangular shape extending in the circumferential direction with a predetermined track width, but in reality, it is curved along the circumferential direction. Alternatively, each track may be wavy, extending in the circumferential direction while fluctuating in the radial direction. Although three tracks are overwritten in the band area BAe in FIG. 3, fewer than three or more than three tracks may be overwritten.

[0031] In the example shown in FIG. 3, the read / write control unit 610 sequentially shingles-records tracks TR(a-2) through TRa inward in the band area BAe at a track pitch STP. Alternatively, the read / write control unit 610 may sequentially shingle-record tracks TR(a-2) through TRa outward at a track pitch STP. The read / write control unit 610 writes track TR(a-1) inward of track TR(a-2) at a track pitch STP, and overwrites track TR(a-1) on a portion of track TR(a-2) inward. The read / write control unit 610 writes track TRa inward of track TR(a-1) at a track pitch STP, and overwrites track TRa on a portion of track TR(a-1) inward.

[0032] FIG. 4 is a schematic diagram showing an example of normal recording processing. FIG. 4 shows tracks TR(a-2), TR(a-1), and TRa. In FIG. 4, for example, the track widths of tracks TR(a-2), TR(a-1), and TRa are the same. Note that the track widths of tracks TR(a-2) to TRa may be different. FIG. 4 also shows the track center TC(a-2) of track TR(a-2), the track center TC(a-1) of track TR(a-1), and the track center TCa of track TRa. In the example shown in FIG. 4, tracks TR(a-2), TR(a-1), and TRa are written at a track pitch CTP. The track center TC(a-2) of track TR(a-2) and the track center TC(a-1) of track TR(a-1) are separated by a track pitch CTP. The track center TC(a-1) of track TR(a-1) and the track center TCa of track TRa are separated by a track pitch CTP. Tracks TR(a-2) and TR(a-1) are separated by a gap GP. Tracks TR(a-1) and TRa are separated by a gap GP. Tracks TR(a-2) to TRa may be written at different track pitches. For ease of explanation, FIG. 4 shows each track as a rectangular shape extending in the circumferential direction with a predetermined track width, but in reality, the track is curved along the circumferential direction. Furthermore, each track may be wavy, extending in the circumferential direction while fluctuating in the radial direction.

[0033] In the example shown in Figure 4, the read / write control unit 610 positions the head 15 at a track center TC(a-2) in a predetermined area of ​​the disk 10, for example, the user data area 10a, and performs normal recording on track TR(a-2) or a predetermined sector of track TR(a-2). In the user data area 10a, the read / write control unit 610 positions the head 15 at a track center TC(a-1) that is spaced inward from the track center TC(a-2) of track TR(a-2) by the track pitch CTP, and performs normal recording on track TR(a-1) or a predetermined sector of track TR(a-1). In the user data area 10a, the read / write control unit 610 positions the head 15 at a track center TCa that is spaced inward from the track center TC(a-1) of track TR(a-1) by the track pitch CTP, and performs normal recording on track TRa or a predetermined sector of track TRa. The read / write control unit 610 may normally record tracks TR(a-2), TR(a-1), and TRa sequentially in a predetermined area of ​​the disk 10, for example, in the user data area 10a, or may normally record randomly in a predetermined sector of track TR(a-2), a predetermined sector of track TR(a-1), and a predetermined sector of track TRa.

[0034] The parity data management unit 620 manages the XOR operation value (hereinafter referred to as parity data or operation value) obtained by an exclusive OR (XOR) operation. For example, the parity data management unit 620 performs an XOR operation on data transferred from the host system 100 or data read from the disk 10, and obtains parity data as the result of the XOR operation. The parity data management unit 620 writes the parity data via the read / write control unit 610 to a predetermined sector of a predetermined track of the disk 10, for example, a parity sector (parity area PA).

[0035] In one example, the parity data management unit 620 performs an XOR operation on the data of all sectors read from or written to a specified track, and writes the parity data obtained as a result of the XOR operation on the data of all sectors to the parity sector of this track.

[0036] In addition, the parity data management unit 620 may perform an XOR operation on the data of all sectors read from or written to a specified track, and record or store the parity data obtained as a result of the XOR operation on the data of all sectors in a specified recording area or alternative area different from this track, such as the disk 10, the volatile memory 70, the non-volatile memory 80, or the buffer memory 90.

[0037] The parity data management unit 620 may perform an XOR operation on the data of several sectors out of all sectors of a specified track, and write the parity data obtained as a result of the XOR operation on the data of several sectors to the parity sector of this track.

[0038] In addition, the parity data management unit 620 may perform an XOR operation on the data of several sectors out of all sectors of a specified track, and record or store the parity data obtained as a result of the XOR operation on the data of several sectors in a specified recording area or alternative area, for example, the disk 10, the volatile memory 70, the non-volatile memory 80, or the buffer memory 90.

[0039] The parity data management unit 620 writes parity data, for example, in a parity sector that is different from the servo sector located immediately before the sector to which data is written first (hereinafter sometimes referred to as the start sector) when writing data over one revolution on a specified track. In other words, the parity data management unit 620 writes parity data, for example, in a parity sector that is different from the servo sector located immediately after the sector to which data is written last (hereinafter sometimes referred to as the last sector) when writing data over one revolution on a specified track.

[0040] The parity data management unit 620 writes each parity data corresponding to each track of the disk 10 to each parity sector corresponding to each track. The parity data management unit 620 may manage whether the parity data or parity sector is valid or invalid using a table or the like.

[0041] The error correction unit 630 recovers (corrects, rescues, or corrects errors) data that cannot be read (hereinafter may be referred to as read error data or error data) or sectors that cannot be read (hereinafter may be referred to as read error sectors or error sectors). The error correction unit 630 executes a process (read retry) to read the error data or error sector multiple times. The error correction unit 630 also executes a process (hereinafter may be referred to as ECC processing or error correction processing) to correct errors in data or sectors based on an error correction code. The error correction unit 630 executes ECC processing (hereinafter may be referred to as sector ECC processing) on ​​the error sector based on an ECC (hereinafter may be referred to as sector ECC) corresponding to the error data or error sector of a specified track. The error correction unit 630 performs ECC processing (hereinafter also referred to as track ECC processing) on ​​the error sector based on the error data or ECC (hereinafter also referred to as track ECC) corresponding to the error sector of a predetermined track. For example, the error correction unit 630 performs track ECC processing on the error sector of this track based on the parity data or parity sector corresponding to the predetermined track. Note that the error correction unit 630 may record information related to the error sector (hereinafter also referred to as error sector information) as a table in a predetermined storage area, for example, the disk 10, the volatile memory 70, or the nonvolatile memory 80.

[0042] The DDOL control unit 640 controls a region target position of a target region (hereinafter sometimes referred to as a target region) on the disk 10, for example, a radial distance or deviation from the center of a predetermined region, or a DOL (Drift of Level) which is an upper limit value of the approach amount from the region target position to a target position (hereinafter sometimes referred to as a radial region target position) of a region (hereinafter sometimes referred to as a radial region) located radially of the target region. The DDOL control unit 640 controls (or sets) the DOL which is an upper limit value of a track target position of a predetermined track on the disk 10, for example, a deviation in the radial direction from the track center (hereinafter sometimes referred to as a position error, PES (Position Error Signal), off-track amount, or squeeze amount). Hereinafter, the "radial distance or deviation from the region target position" or the "approach amount from the region target position to the radial region target position" may also be referred to as a "squeeze amount." "Deviation in the radial direction from the region target position" or "approaching from the region target position to the radial region target position" may also be referred to as "squeeze." "Each position error, each PES, each squeeze amount, or each off-track amount corresponding to each sector or each circumferential position on a specified track," "changes in each position error, each PES, each squeeze amount, or each off-track amount corresponding to each sector or each circumferential position on a specified track," or "trajectory of change in each position error, each PES, each squeeze amount, or each off-track amount corresponding to each sector or each circumferential position on a specified track" may also be simply referred to as "position error, PES, squeeze amount, or off-track amount." "Each DOL corresponding to each sector or each circumferential position on a specified track," "changes in each DOL corresponding to each sector or each circumferential position on a specified track," or "trajectory of change in each DOL corresponding to each sector or each circumferential position on a specified track" may also be simply referred to as DOL.

[0043] The DDOL control unit 640 controls (or sets) the DOL or DDOL corresponding to a given track based on the position error, PES, squeeze amount, or off-track amount corresponding to the track adjacent to the given track. The function of controlling the DOL corresponding to a given track based on the position error, PES, squeeze amount, or off-track amount corresponding to the track adjacent to the given track is sometimes referred to as the DDOL (Dynamic Drift-Off) function or DDOL. Furthermore, the DOL corresponding to a given track that is controlled or set in accordance with the position error, PES, squeeze amount, or off-track amount corresponding to the track adjacent to the given track is sometimes referred to as DDOL.

[0044] The DDOL control unit 640 controls (or sets) the DDOL (hereinafter may be referred to as the current DDOL) or DOL (hereinafter may be referred to as the current DOL) corresponding to the previous track (hereinafter may be referred to as the current track) to be currently written based on the position error, PES, squeeze amount, or off-track amount (hereinafter may be referred to as the previous position error, previous PES, previous squeeze amount, or previous off-track amount) corresponding to the adjacent track (hereinafter may be referred to as the previous track or the previous adjacent track) written previously, for example. In other words, the DDOL control unit 640 controls (or sets) each current DOL (current DDOL) corresponding to each sector of the current track (hereinafter may be referred to as the current sector) based on each previous position error, previous PES, previous squeeze amount, or previous off-track amount corresponding to each sector of the previous track (hereinafter may be referred to as the previous sector).

[0045] Furthermore, the DDOL control unit 640 may control (or set) a DDOL (hereinafter also referred to as the next DDOL) or DOL (hereinafter also referred to as the next DOL) corresponding to a track (hereinafter also referred to as the next track) adjacent in the radial direction of the current track to be written next, for example, in the forward direction, based on the position error, PES, squeeze amount, or off-track amount (hereinafter also referred to as the current position error, current PES, current squeeze amount, or current off-track amount) corresponding to the current track. In other words, the DDOL control unit 640 may control (or set) each next DOL (next DDOL) corresponding to each sector of the next track (hereinafter also referred to as the next sector) based on each current position error, each current PES, each current squeeze amount, or each current off-track amount corresponding to each current sector of the current track.

[0046] If it is determined that the position error, PES, squeeze amount, or off-track amount exceeds DDOL (or is equal to or greater than DDOL), the DDOL control unit 640 suspends (stops or prohibits) the write process, waits for rotation, and then resumes the write process from this predetermined circumferential position. The "process of stopping the write process when the position error, PES, squeeze amount, or off-track amount exceeds DDOL, waiting for rotation, and then resuming the write process" is sometimes referred to as "retry processing."

[0047] For example, if it is determined that the current position error, current PES, current squeeze amount, or current off-track amount at a predetermined current sector of the current track exceeds the current DDOL (or is equal to or greater than the DDOL), the DDOL control unit 640 suspends (stops or prohibits) the write process for the current track, waits for a rotation, and then executes a retry process from this circumferential position. In other words, if it is determined that the current squeeze amount at a predetermined current sector exceeds the current DOL corresponding to this sector, the DDOL control unit 640 suspends the write process for a current sector located after this current sector, waits for a rotation, and then executes a retry process from this current sector.

[0048] The DDOL control unit 640 controls or sets a threshold (hereinafter sometimes referred to as an unrecoverable threshold) at which a read error or an error sector occurs in the radial area of ​​the target area when the position error, PES, squeeze amount, or off-track amount corresponding to the target area is exceeded.

[0049] The DDOL control unit 640 controls or sets the unrecoverable threshold based on the DDOL. The DDOL control unit 640 controls or sets the unrecoverable threshold corresponding to a specific track based on the DDOL corresponding to the track. In other words, the control unit 640 controls or sets each unrecoverable threshold corresponding to each sector of a specific track based on each DOL (DDOL) corresponding to the sector of the track. Hereinafter, "each unrecoverable threshold corresponding to each sector or each circumferential position on a specific track," "changes in each unrecoverable threshold corresponding to each sector or each circumferential position on a specific track," or "trajectory of change in each unrecoverable threshold corresponding to each sector or each circumferential position on a specific track" may also be simply referred to as "unrecoverable threshold." The DDOL control unit 640 may also control or set the unrecoverable threshold based on a position error, a PES, a squeeze amount, or an off-track amount.

[0050] The DDOL control unit 640 controls or sets the unrecoverable threshold corresponding to the current track (hereinafter, may be referred to as the current unrecoverable threshold) based on the current DDOL corresponding to the current track. In other words, the DDOL control unit 640 controls or sets the current unrecoverable threshold corresponding to each current sector of the current track based on the current DOL (current DDOL) corresponding to each current sector of the current track.

[0051] When data in a predetermined band area is shingled recorded, the current unrecoverable threshold corresponds to a threshold that causes a read error or an error sector in the previous track adjacent to the current track in the reverse forward direction.

[0052] The shape of the current unrecoverable threshold may be the same as the shape of the previous position error, the previous PES, the previous squeeze amount, or the previous off-track amount in the previous track, or may be different from the shape of the previous position error, the previous PES, the previous squeeze amount, or the previous off-track amount in the previous track.

[0053] The shape of the current unrecoverable threshold corresponding to the current track may be the same as the shape of the current DDOL corresponding to the current track, or the shape of the current unrecoverable threshold corresponding to the current track may be different from the shape of the current DDOL corresponding to the current track.

[0054] The current unrecoverable threshold corresponding to the current track is smaller than the current DDOL corresponding to the current track. In other words, the current unrecoverable threshold corresponding to the current track is smaller than the current DDOL corresponding to the current track in terms of the track target position of the current track, for example, the distance or deviation from the track center.

[0055] The DDOL control unit 640 may control or set the unrecoverable threshold corresponding to the next track (hereinafter, may be referred to as the next unrecoverable threshold) based on the next DDOL corresponding to the next track. In other words, the DDOL control unit 640 may control or set the next unrecoverable threshold corresponding to the next sector of the next track based on the next DOL (next DDOL) corresponding to the next sector of the next track.

[0056] When data in a predetermined band area is shingled recorded, the next unrecoverable threshold corresponds to the threshold that causes a read error or an error sector in the current track.

[0057] The shape of the next unrecoverable threshold may be the same as the shape of the current position error on the current track, the current PES, the current squeeze amount, or the current off-track amount, or may be different from the shape of the current position error on the current track, the current PES, the current squeeze amount, or the current off-track amount.

[0058] The shape of the next unrecoverable threshold corresponding to the next track may be the same as the shape of the next DDOL corresponding to the next track, or may be different from the shape of the next DDOL corresponding to the next track.

[0059] The next unrecoverable threshold corresponding to the next track is smaller than the next DDOL corresponding to the next track. In other words, the next unrecoverable threshold corresponding to the next track is smaller than the next DDOL corresponding to the next track in terms of the track target position of the next track, for example, the distance or deviation from the track center.

[0060] In addition, the DDOL control unit 640 may control, set, or calculate the current unrecoverable threshold based on the previous position error, the previous PES, the previous squeeze amount, or the previous off-track amount and the next position error, the next PES, the next squeeze amount, or the next off-track amount.

[0061] The DDOL control unit 640 counts the number of times the position error, PES, squeeze amount, or off-track amount exceeds the unrecoverable threshold or becomes equal to or greater than the unrecoverable threshold (hereinafter, also referred to as the number of times the unrecoverable exceeds.) For example, when the position error, PES, squeeze amount, or off-track amount exceeds the unrecoverable threshold or becomes equal to or greater than the unrecoverable threshold, the DDOL control unit 640 increments the number of times the unrecoverable exceeds by 1 and counts it.

[0062] The DDOL control unit 640 counts the number of times the unrecoverable error has exceeded a predetermined track. For example, if the position error, PES, squeeze amount, or off-track amount corresponding to a predetermined track exceeds or becomes equal to or greater than the unrecoverable threshold for the predetermined track, the DDOL control unit 640 increments the number of times the unrecoverable error has exceeded a predetermined track by one and counts it. In other words, if the position error, PES, squeeze amount, or off-track amount corresponding to a predetermined sector of a predetermined track exceeds or becomes equal to or greater than the unrecoverable threshold for the sector, the DDOL control unit 640 increments the number of times the unrecoverable error has exceeded a predetermined track by one and counts it.

[0063] The DDOL control unit 640 counts the number of unrecoverable exceeded times corresponding to the current track (hereinafter, sometimes referred to as the current unrecoverable exceeded time). For example, when the current position error, the current PES, the current squeeze amount, or the current off-track amount exceeds the current unrecoverable threshold or becomes equal to or greater than the current unrecoverable threshold, the DDOL control unit 640 increments the current unrecoverable exceeded time by 1 and counts it. In other words, when the current position error, the current PES, the current squeeze amount, or the current off-track amount corresponding to a predetermined current sector of the current track exceeds the current unrecoverable threshold corresponding to this current sector or becomes equal to or greater than the current unrecoverable threshold, the DDOL control unit 640 increments the current unrecoverable exceeded time by 1 and counts it.

[0064] The DDOL control unit 640 counts the number of times the unrecoverable state has exceeded for each servo sector. For example, if the position error, PES, squeeze amount, or off-track amount exceeds the unrecoverable threshold value multiple times in a sector where user data is written between two servo sectors that are consecutively arranged in the circumferential direction, the DDOL control unit 640 may increment the number of times the unrecoverable state has exceeded by one.

[0065] The DDOL control unit 640 adjusts the DDOL corresponding to a given track (hereinafter sometimes referred to as the pre-contraction DDOL) each time the number of unrecoverable excesses increases for that track. The DDOL control unit 640 gradually reduces the pre-contraction DDOL corresponding to that track each time the number of unrecoverable excesses for that track increases, in order to separate the DDOL corresponding to that track from its adjacent tracks. In other words, the DDOL control unit 640 gradually reduces the pre-contraction DDOL corresponding to that track each time the position error, PES, squeeze amount, or off-track amount for that track exceeds the unrecoverable threshold for that track.

[0066] The DDOL control unit 640 adjusts the pre-contraction DDOL corresponding to the current track (hereinafter sometimes referred to as the current pre-contraction DDOL) each time the current unrecoverable excess count increases in the current track. The DDOL control unit 640 gradually reduces the current pre-contraction DDOL corresponding to the current track in order to separate the DDOL corresponding to the current track from an adjacent track, for example, the previous track or the next track, each time the current unrecoverable excess count increases in the current track. In other words, the DDOL control unit 640 gradually reduces the pre-contraction DDOL corresponding to the current track each time the current position error, current PES, current squeeze amount, or current off-track amount in the current track exceeds the unrecoverable threshold corresponding to the track.

[0067] The pre-contraction DDOL changes inversely proportional to the number of unrecoverable exceedances when the position error, PES, squeeze amount, or off-track amount exceeds the unrecoverable threshold for a plurality of sectors of a given track. For example, the amount of change in the pre-contraction DDOL when the position error, PES, squeeze amount, or off-track amount exceeds the unrecoverable threshold for a given sector of a given track is greater than the amount of change in the pre-contraction DDOL when the position error, PES, squeeze amount, or off-track amount exceeds the unrecoverable threshold for a subsequent sector of the given track.

[0068] The DDOL control unit 640 may obtain the maximum or minimum value of each position error, each PES, each squeeze amount, or each off-track amount corresponding to each unrecoverable exceedance count (or increase) on a specified track, and record or store it in a specified recording area, for example, the disk 10, the volatile memory 70, the non-volatile memory 80, or the buffer memory 90.

[0069] The DDOL control unit 640 may calculate the average value of all position errors, all PESs, all squeeze amounts, or all off-track amounts corresponding to all unrecoverable exceedance counts each time the unrecoverable exceedance count is counted (or increased), and record or store the average value in a predetermined recording area, for example, the disk 10, the volatile memory 70, the nonvolatile memory 80, or the buffer memory 90.

[0070] The DDOL control unit 640 may obtain the maximum or minimum value of all position errors, all PESs, all squeeze amounts, or all off-track amounts corresponding to all unrecoverable exceedances, respectively, each time the number of unrecoverable exceedances is counted (or increased), and record or store the obtained values ​​in a predetermined recording area, for example, the disk 10, the volatile memory 70, the non-volatile memory 80, or the buffer memory 90.

[0071] Hereinafter, "the average value, maximum value, or minimum value of each position error, each PES, each squeeze amount, or each off-track amount corresponding to each unrecoverable exceedance count specified for each unrecoverable exceedance count" may also be referred to as "tightness judgment value."

[0072] In addition, if the position error, PES, squeeze amount, or off-track amount exceeds the unrecoverable threshold multiple times in a sector in which user data is written between two servo sectors that are consecutively arranged in the circumferential direction, the DDOL control unit 640 may acquire the worst value, for example, the largest value or the smallest value, among the multiple position errors, multiple PESs, multiple squeeze amounts, or multiple off-track amounts that exceed a predetermined unrecoverable threshold as the position error, PES, squeeze amount, or off-track amount corresponding to the sector between these two servo sectors.

[0073] The DDOL control unit 640 controls the write process based on each tightening judgment value corresponding to each unrecoverable exceedance count defined for each unrecoverable exceedance count in a specific track, and a threshold value (hereinafter sometimes referred to as a tightening threshold) that is smaller than the track ECC uncorrectable threshold corresponding to this track and changes the write process, for example, the DDOL. In other words, the DDOL control unit 640 controls the write process based on each tightening judgment value corresponding to each excess sector defined for each sector (hereinafter sometimes referred to as an excess sector) in a specific track whose position error, PES, squeeze amount, or off-track amount exceeds the unrecoverable threshold, and the tightening threshold corresponding to this track.

[0074] The DDOL control unit 640 determines whether each of the contraction determination values ​​corresponding to each unrecoverable excess count defined for each unrecoverable excess count in a specific track is greater than or equal to the contraction threshold value corresponding to this track (or whether it is greater than or equal to the contraction threshold value). In other words, the DDOL control unit 640 determines whether each of the contraction determination values ​​corresponding to each excess sector defined for each excess sector in a specific track is greater than or equal to the contraction threshold value corresponding to this track (or whether it is greater than or equal to the contraction threshold value).

[0075] When the DDOL control unit 640 determines that the contraction judgment value corresponding to a predetermined unrecoverable excess count on a predetermined track is greater than the contraction threshold or equal to or greater than the contraction threshold, the DDOL control unit 640 stops the write process to prevent further error sectors from occurring and making it impossible to execute track ECC processing, and adjusts, changes, sets, or shifts the pre-contraction DDOL corresponding to a position on the track after the circumferential position corresponding to the predetermined unrecoverable excess count to a DDOL that is smaller than the pre-contraction DDOL and smaller than the unrecoverable threshold (hereinafter sometimes referred to as the post-contraction DDOL). In other words, when the DDOL control unit 640 determines that the contraction judgment value corresponding to a predetermined excess sector on a predetermined track is greater than the contraction threshold or equal to or greater than the contraction threshold, the DDOL control unit 640 stops the write process and changes the pre-contraction DDOL corresponding to a sector on the track after the predetermined excess sector to the post-contraction DDOL.

[0076] The radial distance from the track target position of a given track to the corresponding post-compaction DDOL is less than the radial distance from the track target position of that track to the corresponding pre-compaction DDOL, and the radial distance from the track target position of a given track to the corresponding post-compaction DDOL is less than the radial distance from the track target position of that track to the corresponding unrecoverable threshold.

[0077] Hereinafter, "adjusting, changing, setting, or shifting from pre-contraction DDOL to post-contraction DDOL" may also be expressed as "contracting pre-contraction DDOL to post-contraction DDOL" or "reducing pre-contraction DDOL to post-contraction DDOL". Furthermore, "contracting DDOL" may also be referred to as "DDOL contraction processing" or "contraction processing". The pre-contraction DDOL may be set discontinuously from the post-contraction DDOL. Note that the pre-contraction DDOL and post-contraction DDOL may also be set continuous. If it is determined that the correction judgment value is equal to or less than the correction judgment threshold, or is smaller than the correction judgment threshold, the DDOL control unit 640 continues the write processing.

[0078] The slip processing unit 650 executes slip processing to shift (or slip) and write at least one sector of a predetermined track. The slip processing unit 650 shifts (or slips) at least one sector from a predetermined sector of a predetermined track in a predetermined band area to the last sector of this track, and writes sequentially from the start sector of the adjacent track in the forward direction in the forward direction.

[0079] When writing sequentially in the forward direction from the start sector of an adjacent track in the forward direction, shifting at least one sector from a specified sector of a specified track in a specified band area to the last sector of this track, the slip processing unit 650 may write parity data that has been XORed on at least one sector from the start sector of the specified track to the adjacent sector on the opposite side of the forward direction of this specified sector, in the parity sector of this track.

[0080] Furthermore, when the slip processing unit 650 shifts at least one sector from a specified sector of a specified track in a specified band area to the last sector of this track and writes sequentially in the forward direction from the start sector of an adjacent track in the forward direction, it may store at least one sector from the start sector of the specified track to the adjacent sector on the opposite side of the forward direction of this specified sector in another recording area, for example, the disk 10, the volatile memory 70, the non-volatile memory 80, or the buffer memory 90.

[0081] The slip processing unit 650 shifts (or slips) at least one sector from the current sector of the current track in a predetermined band area to the last sector of the current track, and writes sequentially from the start sector of the next track in the forward direction.

[0082] When the slip processing unit 650 shifts at least one sector from the current sector of the current track to the last sector of the current track in a specified band area and writes sequentially in the forward direction from the start sector of the next track in the forward direction, the slip processing unit 650 may write parity data that has been XORed to at least one sector from the start sector of the current track to the adjacent sector on the opposite side of the forward direction of the current sector in the parity sector of the current track.

[0083] Furthermore, when the slip processing unit 650 shifts at least one sector from the current sector of the current track to the last sector of the current track in a specified band area and writes sequentially in the forward direction from the start sector of the next track in the forward direction, it may store at least one sector from the start sector of the current track to the adjacent sector on the opposite side of the forward direction of the current sector in another recording area, for example, the disk 10, the volatile memory 70, the non-volatile memory 80, or the buffer memory 90.

[0084] The slip processing unit 650 may shift (or slip) only at least one sector whose post-compaction DDOL corresponding to a predetermined track in a predetermined band area is smaller than a threshold distance from the track to the post-compaction DDOL (hereinafter sometimes referred to as a DDOL proximity threshold) (or equal to or smaller than the DDOL proximity threshold), and write sequentially from the start sector of the adjacent track in the forward direction. In other words, the slip processing unit 650 may shift (or slip) only at least one sector whose post-compaction DDOL corresponding to a predetermined track in a predetermined band area is closer than the DDOL proximity threshold, and write sequentially from the start sector of the adjacent track in the forward direction.

[0085] When writing sequentially from the start sector of the adjacent track in the forward direction in the forward direction, the slip processing unit 650 may shift only at least one sector whose post-contraction DDOL corresponding to a specified track in a specified band area is smaller than the DDOL proximity threshold or is equal to or smaller than the DDOL proximity threshold, and may write parity data obtained by XORing other sectors in this specified track other than the at least one sector whose post-contraction DDOL corresponding to the specified track in the specified band area is smaller than the DDOL proximity threshold (or is equal to or smaller than the DDOL proximity threshold) to the parity sector of this track.

[0086] The slip processing unit 650 may shift (or slip) at least one sector where the current post-tightening DDOL corresponding to the current track in a specified band area is smaller than (or equal to or smaller than) the DDOL proximity threshold (hereinafter sometimes referred to as the current DDOL proximity threshold) corresponding to the current track, and write sequentially from the starting sector of the next track in the forward direction.

[0087] When the slip processing unit 650 shifts only at least one sector corresponding to the current track in the specified band area whose current post-contraction DDOL is smaller than the current DDOL proximity threshold (or is equal to or smaller than the current DDOL proximity threshold) and writes sequentially from the start sector of the next track in the forward direction, the slip processing unit 650 may write parity data that has been XORed with sectors other than at least one sector corresponding to the current track in the specified band area whose current post-contraction DDOL is smaller than the current DDOL proximity threshold (or is equal to or smaller than the current DDOL proximity threshold) in the parity sector of the current track.

[0088] The slip processing unit 650 counts the number of times that the position error, PES, squeeze amount, or off-track amount corresponding to a specified track exceeds the post-contraction DDOL corresponding to this track, or becomes equal to or greater than the post-contraction DDOL (hereinafter sometimes referred to as the post-contraction excess number).

[0089] The slip processing unit 650 counts the number of post-contraction exceedances (hereinafter sometimes referred to as the current post-contraction exceedances) for the current position error, current PES, current squeeze amount, or off-track amount corresponding to the current track.

[0090] If the slip processing unit 650 determines that the post-contraction excess count corresponding to a specified track is greater than a specified count corresponding to this track (hereinafter sometimes referred to as the post-contraction excess threshold) or is equal to or greater than the post-contraction excess threshold, it determines that write performance has deteriorated and write processing is difficult, and performs slip processing on this track.

[0091] If the slip processing unit 650 determines that the current post-contraction exceedance count corresponding to the current track is greater than or equal to the post-contraction exceedance threshold value corresponding to this track (hereinafter sometimes referred to as the current post-contraction exceedance threshold value), it performs slip processing on this track.

[0092] If the slip processor 650 determines that the post-contraction excess count corresponding to a given track is equal to or less than the post-contraction excess threshold corresponding to this track, the slip processor 650 continues the write process for this track.

[0093] If the slip processing unit 650 determines that the current post-contraction excess count corresponding to the current track is less than or equal to the current post-contraction excess threshold corresponding to this track, or is less than the current post-contraction excess threshold corresponding to this track, the slip processing unit 650 continues the write processing for this track.

[0094] If the slip processing unit 650 determines that the number of post-contraction excesses in a specified sector of a specified track in a specified band area is greater than or equal to the post-contraction excess threshold corresponding to the specified track, it shifts (or slips) at least one sector from the specified sector to the last sector of the specified track and writes sequentially in the forward direction from the start sector of the adjacent track.

[0095] If the slip processing unit 650 determines that the current post-contraction excess count in a specified current sector of a current track in a specified band area is greater than or equal to the current post-contraction excess threshold corresponding to the current track, it shifts (or slips) at least one sector from the current sector to the last sector of the current track and writes sequentially from the start sector of the next track in the forward direction.

[0096] If the slip processing unit 650 determines that the post-contraction excess count in a specified sector of a specified track in a specified band area is greater than or equal to the post-contraction excess threshold corresponding to the specified track, it may shift (or slip) at least one sector where the post-contraction DDOL is less than (or equal to or less than) a specified DDOL proximity threshold corresponding to the specified track, and write sequentially from the start sector of the adjacent track in the forward direction.

[0097] If the slip processing unit 650 determines that the current post-contraction excess count in a specified current sector of a current track in a specified band area is greater than or equal to the current post-contraction excess threshold corresponding to the current track, the slip processing unit 650 may shift (or slip) at least one sector where the current post-contraction DDOL is less than (or equal to or less than) the current DDOL proximity threshold corresponding to the current track, and write sequentially from the starting sector of the next track in the forward direction.

[0098] If the slip processor 650 determines that the austerity determination value is greater than the austerity threshold or equal to or greater than the austerity threshold, it may stop the write process and select and perform the austerity process or the slip process.

[0099] FIG. 5 is a schematic diagram showing an example of the change in track ECC gain with respect to the number of squeezes. In FIG. 5, the horizontal axis indicates the number of squeezed sectors in a given track (hereinafter, sometimes referred to as the number of squeezes), and the vertical axis indicates track ECC gain, which corresponds to the radial deviation from the track target position that can be corrected by the track ECC in a given track. Note that the horizontal axis may also be the number of unrecoverable excesses. In other words, the number of squeezes may correspond to the number of unrecoverable excesses. Also, the vertical axis may be a tightness determination value. In other words, the track ECC gain may correspond to the tightness determination value. On the vertical axis of FIG. 5, the track ECC gain increases toward the tip of the large arrow and decreases toward the tip of the small arrow. 5 shows track ECC gain changes GC1, GC2, GC3, GC4, GC5, GC6, GC7, and GC8 with respect to the number of squeezes corresponding to each of the multiple heads 15 (hereinafter, sometimes simply referred to as track ECC gain changes). Also shown in FIG. 5 are track ECC gain changes GCave, which correspond to the average values ​​of the track ECC gain changes GC1 to GC8 with respect to each number of squeezes, and track ECC gain changes LCave, which are linearly interpolated values ​​of the average values ​​of the track ECC gain changes GC1 to GC8 with each number of squeezes. For example, if the amount of squeeze at a given number of squeezes on a given track is smaller than the track ECC gain change GCave or is equal to or smaller than the track ECC gain change GCave, it is possible to correct an error sector occurring on this track using the track ECC.

[0100] 5, the change in track ECC Gain GCave decreases as the number of squeezes increases. The change in track ECC Gain GCave can be approximated by a straight line such that the track ECC Gain decreases as the number of squeezes increases. In other words, as the number of squeezes, for example, the number of unrecoverable excesses, increases, the correction decision value that may cause a read error that cannot be corrected by track ECC processing decreases.

[0101] FIG. 6 is a schematic diagram showing an example of a change in the tightening judgment value relative to the unrecoverable exceedance threshold according to this embodiment. In FIG. 6, the horizontal axis represents the number of unrecoverable exceedances in a specified track on a specified disk, and the vertical axis represents the tightening judgment value in a specified track on a specified disk. On the horizontal axis of FIG. 6, the number of unrecoverable exceedances increases toward the tip of the arrow and decreases toward the opposite side of the arrow. The horizontal axis of FIG. 6 represents unrecoverable exceedances 1, 2, 3, 4, 5, and 6. On the vertical axis of FIG. 6, the tightening judgment value increases toward the tip of the large arrow and decreases toward the tip of the small arrow. FIG. 6 shows a change in the track ECC impossible threshold (hereinafter sometimes simply referred to as the track ECC impossible threshold) CLL relative to the number of unrecoverable exceedances, and a change in the tightening threshold (hereinafter sometimes simply referred to as the tightening threshold) UCTL relative to the number of unrecoverable exceedances. The track ECC disable threshold CLL is greater than the tightening threshold UCTL. That is, the tightening threshold UCTL is less than the track ECC disable threshold CLL. Figure 6 shows the change in the tightening judgment value (SL) (hereinafter simply referred to as the change in the target tightening judgment value) with respect to the number of unrecoverable overruns in a specific track of a target disk (hereinafter also referred to as the target disk) 10, the change in the tightening judgment value (HTSL) (hereinafter also referred to as the change in the tightening judgment value corresponding to a high TPI) in a specific track (hereinafter also referred to as a high TPI track) of a disk 10 having a higher TPI than the target disk 10 (hereinafter also referred to as a high TPI disk), and the change in the tightening judgment value (LTSL) (hereinafter also referred to as the change in the tightening judgment value corresponding to a low TPI) in a specific track (hereinafter also referred to as a low TPI track) of a disk 10 having a lower TPI than the target disk 10 (hereinafter also referred to as a low TPI disk). The change in the target stringency score SL is less than the change in the stringency score HTSL corresponding to a high TPI. The change in the target stringency score SL is greater than the change in the stringency score LTSL corresponding to a low TPI.

[0102] In the example shown in FIG. 6, the change SL in the target austerity judgment value reaches the austerity threshold UCTL when the number of unrecoverable excesses is six.

[0103] 6, the change in the austerity threshold HTSL corresponding to a high TPI reaches the austerity threshold UCTL after three unrecoverable overruns. In other words, the disk 10 with a high TPI has a larger austerity threshold for each unrecoverable overrun than the target disk 10, and can reach the austerity threshold with fewer unrecoverable overruns than the target disk 10.

[0104] 6, the change in the austerity threshold LTSL corresponding to the low TPI does not reach the austerity threshold even when the number of unrecoverable overruns is greater than 6. In other words, the disk 10 with a low TPI has a smaller austerity threshold per unrecoverable overrun than the target disk 10, and may reach the austerity threshold at a greater number of unrecoverable overruns than the target disk 10.

[0105] FIG. 7 is a schematic diagram showing an example of the DDOL contraction process according to this embodiment. In FIG. 7, the contraction judgment value corresponds to the change SL in the target contraction judgment value in FIG. 6. FIG. 7 shows tracks TR(k-1) and TR(k). Tracks TR(k-1) and TR(k) are adjacent to each other in the radial direction. Tracks TR(k-1) and TR(k) may be arranged in a predetermined band region. FIG. 7 shows the track center TC(k-1) of track TR(k-1) and the track center TC(k) of track TR(k). FIG. 7 shows the PES PEC(k-1) corresponding to track TR(k-1) and the PES PEC(k) corresponding to track TR(k). FIG. 7 shows the pre-contraction DDOL DDC(k) corresponding to track TR(k) and the post-contraction DDOL DDC′(k) corresponding to track TR(k). FIG. 7 shows the unrecoverable threshold UT(k) corresponding to track TR(k). FIG. 7 shows circumferential positions CP61 and CP62. Circumferential position CP61 corresponds to, for example, a predetermined sector, and circumferential position CP62 corresponds to, for example, a sector adjacent to the sector corresponding to circumferential position CP61 in the direction of travel. Circumferential position CP61 corresponds to the circumferential position where PES PEC(k) exceeds the unrecoverable threshold UT(k) for the fifth time. In other words, the number of unrecoverable excesses reaches five at circumferential position CP61. Circumferential position CP62 corresponds to the circumferential position where PES PEC(k) exceeds the unrecoverable threshold UT(k) for the sixth time. In other words, the number of unrecoverable excesses corresponding to track TR(k) reaches six at circumferential position CP62. For example, at circumferential position CP62, the contraction determination value corresponding to circumferential position CP62 of track TR(k) is equal to or greater than the contraction threshold corresponding to track TR(k).

[0106] 7, the MPU 60 writes to track TR(k-1). While writing to track TR(k-1), the MPU 60 sets a DDOL DDC(k) corresponding to track TR(k) based on the PES PEC(k-1) corresponding to track TR(k-1). The MPU 60 sets an unrecoverable threshold UT(k) corresponding to track TR(k) based on the DDOL DDC(k) corresponding to track TR(k).

[0107] In the example shown in FIG. 7, the MPU 60 writes track TR(k) after track TR(k-1). Note that the MPU 60 may also shingle-write track TR(k) in a portion of track TR(k-1) in the forward radial direction. The MPU 60 writes track TR(k) in accordance with the PES PEC(k). While writing track TR(k), the MPU 60 counts the number of unrecoverable excesses at circumferential position CP61 as five. While writing track TR(k), the MPU 60 counts the number of unrecoverable excesses at circumferential position CP62 as six. While writing track TR(k), the MPU 60 determines whether the austerity determination value is greater than or equal to the austerity threshold when the number of unrecoverable excesses at circumferential position CP62 reaches six. If the number of unrecoverable errors reaches six during write to track TR(k) and the contraction judgment determines that the number is equal to or greater than the contraction threshold, the MPU 60 stops the write operation for track (k) and contracts the pre-contraction DDOL DDC(k) to a post-contraction DDOL DDC'(k) that is closer to the track center TC(k) than the unrecoverable threshold UT(k), i.e., smaller than the unrecoverable threshold UT(k), so that no more error sectors occur in track (k). The post-contraction DDOL DDC'(k) is discontinuous with the pre-contraction DDOL DDC(k). The MPU 60 retries the write operation for track TR(k) from circumferential position CP62.

[0108] FIG. 8 is a schematic diagram showing an example of the change in DDOL with respect to the number of times the unrecoverable limit is exceeded according to this embodiment. FIG. 8 corresponds to FIGS. 6 and 7. In FIG. 8, the horizontal axis indicates the number of times the unrecoverable limit is exceeded in a given track, and the vertical axis indicates the DDOL with respect to the given track. On the horizontal axis of FIG. 8, the number of times the unrecoverable limit is exceeded increases toward the tip of the arrow and decreases toward the opposite side of the arrow. The horizontal axis of FIG. 8 indicates the number of times the unrecoverable limit is exceeded: 1, 2, 3, 4, 5, and 6. On the vertical axis of FIG. 8, the DDOL increases toward the tip of the large arrow and decreases toward the tip of the small arrow. FIG. 8 shows the change in DDOL (hereinafter sometimes referred to as "change in DDOL") DC with respect to the number of times the unrecoverable limit is exceeded. The DDOL change DC includes the change in pre-contraction DDOL (hereinafter sometimes simply referred to as pre-contraction DDOL) BDC relative to the number of unrecoverable excesses, and the post-contraction DDOL (hereinafter sometimes simply referred to as post-contraction DDOL) ADC relative to the number of unrecoverable excesses.

[0109] As shown in FIG. 8, the MPU 60 gradually decreases the pre-contraction DDOL BDC as the number of unrecoverable overflows increases for a given track. For example, the MPU 60 may adjust the pre-contraction DDOL BDC in inverse proportion to the number of unrecoverable overflows for a given track. In other words, the pre-contraction DDOL change in the start sector of a given track is greater than the change in the DDOL of sectors located further forward than the start sector of the given track. If the number of unrecoverable overflows for a given track reaches six and the MPU 60 determines that the contraction determination value is equal to or greater than the contraction threshold, the MPU 60 stops write processing for the track and contracts the pre-contraction DDOL BDC to the post-contraction DDOL ADC so that no more error sectors occur on the track. The MPU 60 may maintain the post-contraction DDOL ADC constant. Alternatively, the MPU 60 may vary the post-contraction DDOL ADC.

[0110] FIG. 9 is a schematic diagram showing an example of a track configuration. FIG. 9 shows tracks TR(k) and TR(k+1). Track TR(k) corresponds to track TR(k) shown in FIG. 7. Tracks TR(k) and TR(k+1) are arranged in the order shown from the outer side to the inner side. Track TR(k+1) is adjacent to track TR(k) in the forward direction. In a predetermined band area, track TR(k+1) may be shingled-recorded on a part of track TR(k) in the forward direction. Track TR(k) has sectors Sck0, Sck1, Sck2, Sck3, Sck4, Sck5, Sck6, Sck7, Sck8, Sck9, Sck10, Sck11, and parity sector Pk. Sectors Sck0, Sck1, Sck2, Sck3, Sck4, Sck5, Sck6, Sck7, Sck8, Sck9, Sck10, and Sck11, and parity sector Pk, are arranged consecutively in the order listed in the direction of travel. Parity sector Pk corresponds to the result of XORing sectors Sck0 to Sc11. Parity sector Pk is a valid parity sector. Track TR(k+1) has sectors Sc(k+1)0, Sc(k+1)1, Sc(k+1)2, Sc(k+1)3, Sc(k+1)4, Sc(k+1)5, Sc(k+1)6, Sc(k+1)7, Sc(k+1)8, Sc(k+1)9, Sc(k+1)10, Sc(k+1)11, and parity sector Pk+1. Sectors Sc(k+1)0, Sc(k+1)1, Sc(k+1)2, Sc(k+1)3, Sc(k+1)4, Sc(k+1)5, Sc(k+1)6, Sc(k+1)7, Sc(k+1)8, Sc(k+1)9, Sc(k+1)10, Sc(k+1)11, and parity sector Pk+1 are arranged consecutively in the listed order in the direction of progression. Parity sector Pk+1 corresponds to the result of an XOR operation on sectors Sc(k+1)0 to Sc(k+1)11.

[0111] In the example shown in FIG. 9, the MPU 60 writes sectors Sck0 to Sck11, and writes a parity sector Pk calculated by XORing sectors Sck0 to Sck11 adjacent to sector Sck11 in the direction of travel.

[0112] In the example shown in Figure 9, the MPU 60 writes sectors Sc(k+1)0 to Sc(k+1)11, and writes the parity sector Pk calculated by XORing sectors Sc(k+1)0 to Sc(k+1)11 adjacent to the direction of travel of sector Sc(k+1)11.

[0113] Fig. 10 is a schematic diagram showing an example of slip processing according to this embodiment. Parts of tracks TR(k) and TR(k+1) shown in Fig. 10 correspond to tracks TR(k) and TR(k+1) shown in Fig. 9. In track TR(k) in Fig. 10, at a circumferential position adjacent to the direction of travel of sector Sck7, for example, at the position where sector Sck8 is located in Fig. 9, the post-contraction excess count corresponding to track TR(k) is greater than the post-contraction excess threshold corresponding to track TR(k).

[0114] In the example shown in FIG. 10, when writing track TR(k) after shrinking from pre-shrink DDOL to post-shrink DDOL, the MPU 60 counts the number of post-shrink excesses in which the position error, PES, squeeze amount, or off-track amount corresponding to track TR(k) exceeds the post-shrink DDOL. If the MPU 60 determines that the number of post-contraction excesses in sector Sck8 adjacent to sector Sck7 in the direction of travel in track TR(k) is greater than the post-contraction excess threshold, it shifts (or slips) sectors Sck8 to Sck11 to track TR(k+1), writes sector Sck8 as the starting sector of track TR(k+1), and writes sectors Sck9, Sck10, Sck11, Sc(k+1)0, Sc(k+1)1, Sc(k+1)2, Sc(k+1)3, Sc(k+1)4, Sc(k+1)5, Sc(k+1)6, and Sc(k+1)7 in the order listed in the direction of travel from sector Sck8.

[0115] 10, the MPU 60 writes the parity sector Pk+1 calculated by XORing the sectors Sck8 to Sck(k+1)7 adjacent to the direction of travel of the sector Sc(k+1)7. The MPU 60 may also write the parity sector Pk calculated by XORing the sectors Sck0 to Sck7 adjacent to the last sector of the track TR(k) in the direction of travel of the sector.

[0116] 15, when the MPU 60 determines that the post-contraction excess count in sector Sck8 adjacent to sector Sck7 in the direction of travel is greater than the post-contraction excess threshold in track TR(k), it may shift (or slip) sector Sck8 by one sector in the direction of travel and write sector Sck8 next to sector Sck7. The area between sectors Sck7 and Sck8 (sector Scd1) becomes an unused area.

[0117] Furthermore, if the MPU 60 determines that the post-contraction excess count in sector Sck9 adjacent to sector Sck8 in the direction of travel in track TR(k) is greater than the post-contraction excess threshold, it may shift (or slip) sector Sck9 by one sector in the direction of travel and write sector Sck9 next to sector Sck8. The area between sectors Sck8 and Sck9 (sector Scd2) becomes an unused area.

[0118] For track TR(k+1), sector Sck10 is written as the starting sector, and sectors Sck11, Sc(k+1)0, Sc(k+1)1, Sc(k+1)2, Sc(k+1)3, Sc(k+1)4, Sc(k+1)5, Sc(k+1)6, Sc(k+1)7, Sc(k+1)8, and Sc(k+1)9 are written in the order listed in the direction of travel from sector Sck10. In the example shown in Figure 15, the unused area (data area) can be reduced compared to the example shown in Figure 10, thereby improving the utilization efficiency of multiple data areas (multiple data sectors) on each track.

[0119] Next, examples of criteria for determining whether to shift (or slip) at least one sector when writing data to a track and criteria for determining whether to perform a tight process will be described. As shown in FIGS. 7 and 15, when writing to track TR(k) before performing the shrinkage process, the MPU 60 determines whether the deviation amount corresponding to track TR(k) exceeds the unrecoverable threshold UT(k), and also determines whether the deviation amount exceeds the pre-shrinkage DDOL DDC(k).

[0120] If the MPU 60 determines that the deviation exceeds the pre-contraction DDOL DDC(k) when writing sector Sck8 of track TR(k) during the period when it determines that the conditions for performing the contraction process are not met, it suspends the write process to the current sector (the sector next to sector Sck7), waits for rotation, and then executes a retry process from this current sector.The MPU 60 counts the number of times the deviation exceeds the pre-contraction DDOL DDC(k) in this current sector (hereinafter sometimes referred to as the pre-contraction excess number). When the MPU 60 (slip processor 650) determines that the pre-contraction excess count has reached the pre-contraction excess threshold (first specified count), it shifts at least one sector from the current sector. In the example of Fig. 15, by shifting one sector, sector Scd1 is made an unused area.

[0121] Subsequently, if the MPU 60 determines that the conditions for performing the austerity process are not met and that the pre-austerity excess count has not reached the pre-austerity excess threshold, it writes sector Sck8 adjacent to sector Scd1.

[0122] Thereafter, when writing sector Sck9, if the MPU 60 determines that the conditions for performing the contraction process are met, it contracts the pre-contraction DDOL DDC(k) to the post-contraction DDOL DDC'(k). Note that the pre-contraction DDOL DDC(k) is the first DDOL, and the post-contraction DDOL DDC'(k) is the second DDOL. When the MPU 60 performs the austerity process, it suspends the write process to the current sector (the sector next to sector Sck8), waits for rotation, and then executes the retry process from this current sector.

[0123] If the MPU 60 determines that the deviation exceeds the post-contraction DDOL DDC'(k) when writing sector Sck9 of track TR(k), it suspends the write to the current sector (the sector following sector Sck8), waits for a rotation, and then executes a retry from this current sector. The MPU 60 counts the number of times the deviation exceeds the post-contraction DDOL DDC'(k) in this current sector (the number of times it exceeds the post-contraction). When the MPU 60 (slip processor 650) determines that the post-tightening excess count has reached the post-tightening excess threshold (second specified count), it shifts at least one sector from the current sector. In the example of Figure 15, shifting one sector makes sector Scd2 an unused area. The boundary between sector Sck8 and sector Scd2 corresponds to circumferential position CP62 in Figure 7. Next, if the MPU 60 determines that the post-contraction excess count has not reached the post-contraction excess threshold, it writes sector Sck9 adjacent to sector Scd2.

[0124] From the above, track TR(k) includes a first group of sectors Sck0, Sck1, Sck2, Sck3, Sck4, Sck5, Sck6, Sck7, Scd1, Sck8 that take into account the first DDOL (pre-contraction DDOL DDC(k)), and a second group of sectors Scd2, Sck9 that take into account the second DDOL (post-contraction DDOL DDC'(k)). When the MPU 60 (slip processing unit 650) determines that the number of times that the deviation amount exceeds the first DDOL in the first sector (sector Scd1) among the multiple sectors in the first group has reached a first specified number of times (pre-contraction exceedance threshold), it can shift at least one sector from the first sector. Furthermore, when the MPU 60 (slip processor 650) determines that the number of times that the deviation amount exceeds the second DDOL in the second sector (sector Scd2) of the multiple sectors in the second group reaches a second specified number (post-tightening exceedance threshold), it can shift at least one sector from the second sector. For example, the second specified number is the same as the first specified number.

[0125] However, the second specified number of times may be different from the first specified number of times. That is, the slip processing unit 650 may change the criteria for determining whether to shift (or slip) at least one sector before and after the tightening process. For example, the second specified number of times may be less than the first specified number of times. For example, the first specified number of times is "5" and the second specified number of times is "1." This makes it possible to reduce degradation of write performance under conditions that take into account the second DDOL and the second specified number of times.

[0126] FIG. 11 is a flowchart showing an example of a DDOL tightening processing method according to this embodiment. The MPU 60 starts write processing for a specified track and determines whether the number of unrecoverable exceedances has increased in a specified sector of the specified track (B1101). If it is determined that the number of unrecoverable exceedances has not increased (NO in B1101), the MPU 60 proceeds to processing in B1105. If it is determined that the number of unrecoverable exceedances has increased (YES in B1101), the MPU 60 determines whether the austerity determination value corresponding to the number of unrecoverable exceedances is greater than the austerity threshold or less than or equal to the austerity threshold (B1102).

[0127] If it is determined that the contraction determination value is equal to or less than the contraction threshold (NO in B1102), the MPU 60 reduces the pre-contraction DDOL and proceeds to processing B1105. If it is determined that the contraction determination value is greater than the contraction threshold (YES in B1102), the MPU 60 contracts the pre-contraction DDOL to the post-contraction DDOL (B1104) and determines whether the specified sector is the last sector of the specified track (B1105). If it is determined that the specified sector is not the last sector (NO in B1105), the MPU 60 proceeds to processing B1101. If it is determined that the specified sector is the last sector (YES in B1105), the MPU 60 ends processing.

[0128] FIG. 12 is a flowchart showing an example of a slip processing method according to this embodiment. After the MPU 60 has contracted the pre-contraction DDOL to the post-contraction DDOL, it determines whether the post-contraction excess count has increased or not in a specified sector of a specified track (B1201). If it determines that the post-contraction excess count has not increased (NO in B1201), the MPU 60 proceeds to processing B1204. If it determines that the post-contraction excess count has increased (YES in B1201), the MPU 60 determines whether the post-contraction excess count is greater than the post-contraction excess threshold or less than or equal to the post-contraction excess threshold (B1202).

[0129] If the MPU 60 determines that the post-tightening excess count is equal to or less than the post-tightening excess threshold (NO in B1202), the MPU 60 proceeds to processing B1204. If the MPU 60 determines that the post-tightening excess count is greater than the post-tightening excess threshold (YES in B1202), the MPU 60 executes slip processing on the specified track (B1203). For example, if the MPU 60 determines that the post-tightening excess count is greater than the post-tightening excess threshold, the MPU 60 shifts (or slips) at least one sector from the specified sector to the last sector of the specified track and writes data sequentially from the start sector of the adjacent track in the forward direction. The MPU 60 determines whether the specified sector is the last sector or not (B1204). If the MPU 60 determines that the specified sector is not the last sector (NO in B1204), the MPU 60 proceeds to processing B1201. If it is determined that the predetermined sector is the last sector (YES in B1204), the MPU 60 ends the process.

[0130] According to this embodiment, when the magnetic disk device 1 determines that the number of unrecoverable excess events has increased in a specified sector of a specified track, it determines whether the contraction determination value corresponding to the unrecoverable excess event is greater than or equal to the contraction threshold. If it determines that the contraction determination value is greater than the contraction threshold, the magnetic disk device 1 contracts the pre-contraction DDOL of each sector after the specified sector of the specified track to the post-contraction DDOL. If it determines that the post-contraction excess event count is greater than the post-contraction excess threshold after contracting the pre-contraction DDOL to the post-contraction DDOL, the magnetic disk device 1 executes slip processing on the specified track. This allows the magnetic disk device 1 to improve recording density. This also allows the magnetic disk device 1 to improve reliability.

[0131] Next, magnetic disk devices according to other embodiments and modifications will be described. In the other embodiments and modifications, the same parts as those in the first embodiment will be given the same reference numerals, and detailed descriptions thereof will be omitted. (Variation 1) The magnetic disk device 1 according to the first modification differs from the magnetic disk device 1 according to the above-described embodiment in the write processing method.

[0132] The MPU 60 may perform an XOR operation on the data for every several sectors among all sectors of a specified track, and write each parity data obtained as a result of the XOR operation on each data after several sectors to each parity sector of this track.

[0133] For example, the MPU 60 performs an XOR operation on the data of at least one odd-numbered sector (hereinafter sometimes referred to as an odd sector) in a specified track, counting sequentially from the start sector to the last sector, and writes the parity data (hereinafter sometimes referred to as odd parity data) obtained as a result of the XOR operation on the data of the odd sector to the parity sector (hereinafter sometimes referred to as an odd parity sector) of this track.

[0134] For example, the MPU 60 performs an XOR operation on the data of at least one even-numbered sector (hereinafter sometimes referred to as an even sector) in a specified track, counting sequentially from the start sector to the last sector, and writes the parity data (hereinafter sometimes referred to as even parity data) obtained as a result of the XOR operation on the data of the even sector to the parity sector (hereinafter sometimes referred to as an even parity sector) of this track.

[0135] The MPU 60 performs track ECC processing on each error sector of a given track that corresponds to each parity data, based on each parity data.

[0136] The MPU 60 performs track ECC processing on error sectors in odd-numbered sectors of a specified track based on odd parity data, and performs track ECC processing on error sectors in even-numbered sectors of a specified track based on even parity data.

[0137] The MPU 60 manages the position error, PES, squeeze amount, off-track amount, tightening judgment value, and tightening threshold for each unit of execution of track ECC in a predetermined track. The MPU 60 also manages the position error, PES, squeeze amount, off-track amount that exceed the unrecoverable threshold, the tightening judgment value, and the tightening threshold for each unit of execution of track ECC in a predetermined track.

[0138] FIG. 13 is a schematic diagram showing an example of a track configuration. Tracks TR(k) and TR(k+1) shown in FIG. 13 partially correspond to tracks TR(k) and TR(k+1) in FIG. 9, respectively. Track TR(k) has sectors Sck0, Sck1, Sck2, Sck3, Sck4, Sck5, Sck6, Sck7, Sck8, Sck9, Sck10, and parity sectors Pk1 and Pk2. Sectors Sck0, Sck1, Sck2, Sck3, Sck4, Sck5, Sck6, Sck7, Sck8, Sck9, Sck10, and parity sectors Pk1 and Pk2 are arranged consecutively in the order listed in the direction of travel. Parity sector Pk1 corresponds to the result of an XOR operation on sectors Sck0, Sck2, Sck4, Sck6, Sck8, and Sck10. Parity sector Pk2 corresponds to the result of XORing sectors Sck1, Sck3, Sck5, Sck7, and Sck9. Parity sectors Pk1 and Pk2 are valid parity sectors. Track TR(k+1) has sectors Sc(k+1)0, Sc(k+1)1, Sc(k+1)2, Sc(k+1)3, Sc(k+1)4, Sc(k+1)5, Sc(k+1)6, Sc(k+1)7, Sc(k+1)8, Sc(k+1)9, Sc(k+1)10, and parity sectors P(k+1)1 and P(k+1)2. Sectors Sc(k+1)0, Sc(k+1)1, Sc(k+1)2, Sc(k+1)3, Sc(k+1)4, Sc(k+1)5, Sc(k+1)6, Sc(k+1)7, Sc(k+1)8, Sc(k+1)9, Sc(k+1)10, and parity sectors P(k+1)1 and P(k+1)2 are arranged consecutively in the listed order in the direction of travel. Parity sector P(k+1)1 corresponds to the result of an XOR operation on sectors Sc(k+1)0, Sc(k+1)2, Sc(k+1)4, Sc(k+1)6, Sc(k+1)8, and Sc(k+1)10. Parity sector P(k+1)2 corresponds to the result of XORing sectors Sc(k+1)1, Sc(k+1)3, Sc(k+1)5, Sc(k+1)7, and Sc(k+1)9. Parity sector (Pk+1)1 and P(k+1)2 parity sector Pk are valid parity sectors.

[0139] In the example shown in Figure 13, the MPU 60 writes sectors Sck0 to Sck10, writes parity sector Pk1, which is an XOR operation on sectors Sck0, Sck2, Sck4, Sck6, Sck8, and Sck10, adjacent to the direction of movement of sector Sck10, and writes parity sector Pk2, which is an XOR operation on sectors Sck1, Sck3, Sck5, Sck7, and Sck9, adjacent to the direction of movement of parity sector Pk1.

[0140] In the example shown in FIG. 13, the MPU 60 manages the position errors, PES, squeeze amounts, off-track amounts, tightening judgment values, and tightening thresholds corresponding to sectors Sck0, Sck2, Sck4, Sck6, Sck8, and Sck10 in track TR(k) separately from the position errors, PES, squeeze amounts, off-track amounts, tightening judgment values, and tightening thresholds corresponding to sectors Sck1, Sck3, Sck5, Sck7, and Sck9.

[0141] In the example shown in Figure 13, the MPU 60 writes sectors Sc(k+1)0 to Sc(k+1)10, writes parity sector P(k+1)1 obtained by XORing sectors Sc(k+1)0, Sc(k+1)2, Sc(k+1)4, Sc(k+1)6, Sc(k+1)8, and Sc(k+1)10 adjacent to the direction of travel of sector Sc(k+1)10, and writes parity sector P(k+1)2 obtained by XORing sectors Sc(k+1)1, Sc(k+1)3, Sc(k+1)5, Sc(k+1)7, and Sc(k+1)9 adjacent to the direction of travel of parity sector P(k+1)1.

[0142] In the example shown in Figure 13, the MPU 60 manages the position errors, PES, squeeze amounts, off-track amounts, tightening judgment values, and tightening thresholds corresponding to sectors Sc(k+1)0, Sc(k+1)2, Sc(k+1)4, Sc(k+1)6, Sc(k+1)8, and Sc(k+1)10 in track TR(k+1) separately from the position errors, PES, squeeze amounts, off-track amounts, tightening judgment values, and tightening thresholds corresponding to sectors Sc(k+1)1, Sc(k+1)3, Sc(k+1)5, Sc(k+1)7, and Sc(k+1)9.

[0143] According to the first modification, the magnetic disk device 1 manages the position error, PES, squeeze amount, off-track amount, tightening judgment value, and tightening threshold value for each unit of track ECC execution in a specific track, thereby improving the reliability of the magnetic disk device 1.

[0144] (Second embodiment) The magnetic disk device 1 according to the second embodiment differs from the magnetic disk device 1 according to the above-described embodiment and the above-described modified example in the write processing method.

[0145] The MPU 60 stops the write process when it determines that the position error, PES, squeeze amount, or off-track amount has exceeded the unrecoverable threshold a predetermined number of times in succession (hereinafter, also referred to as the stop threshold).

[0146] When the MPU 60 determines that the position error, PES, squeeze amount, or off-track amount in a plurality of sectors aligned continuously in the circumferential direction of a specified track has continuously exceeded the unrecoverable threshold by more than the stop threshold, it stops the write processing on that track.

[0147] For example, if the stop threshold is 2, the MPU 60 stops the write process on a specified track if the position error, PES, squeeze amount, or off-track amount in two consecutive sectors aligned circumferentially on that track exceeds the unrecoverable threshold twice in succession.

[0148] When the MPU 60 determines that the position error, PES, squeeze amount, or off-track amount in multiple consecutive sectors in a predetermined band area has continuously exceeded the unrecoverable threshold by more than the stop threshold, the MPU 60 stops the write processing in this band area.When the MPU 60 determines that the position error, PES, squeeze amount, or off-track amount in multiple consecutive sectors across multiple tracks in a predetermined band area has continuously exceeded the unrecoverable threshold by more than the stop threshold, the MPU 60 stops the write processing in this band area.

[0149] For example, if the stop threshold is 2, and the MPU 60 determines that the position error, PES, squeeze amount, or off-track amount in two consecutive sectors in a specified band area exceeds the unrecoverable threshold twice consecutively, the MPU 60 stops the write processing in this band area. If the stop threshold is 2, and the MPU 60 determines that the position error, PES, squeeze amount, or off-track amount in the last sector and the start sector of two consecutive tracks in the forward direction in a specified band area exceeds the unrecoverable threshold twice consecutively, the MPU 60 stops the write processing in this band area.

[0150] For example, if the unrecoverable threshold is exceeded consecutively for approximately 10 consecutive sectors in the circumferential direction on a given track, the limit of the track ECC correction capability is approached. In such an abnormal servo state, stopping the write operation when the unrecoverable threshold is exceeded for two consecutive sectors is equivalent to protecting the track ECC correction capability for eight sectors.

[0151] FIG. 14 is a flowchart showing an example of a write processing method according to the second embodiment. The MPU 60 determines whether the position error, PES, squeeze amount, or off-track amount in a specified sector of a specified track exceeds the unrecoverable threshold or is equal to or less than the unrecoverable threshold (B1401). If it is determined that the position error, PES, squeeze amount, or off-track amount in the specified sector is equal to or less than the unrecoverable threshold (NO in B1401), the MPU 60 proceeds to processing in B1304. If it is determined that the position error, PES, squeeze amount, or off-track amount in the specified sector exceeds the unrecoverable threshold (YES in B1401), the MPU 60 determines whether the position error, PES, squeeze amount, or off-track amount in the specified sector has continuously exceeded the unrecoverable threshold by more than the stop threshold (B1402).

[0152] If it is determined that the position error, PES, squeeze amount, or off-track amount in a specified sector of a specified track continuously exceeds the unrecoverable threshold by the stop threshold or more, the MPU 60 stops the write process for this track (B1403) and ends the process. If it is determined that the position error, PES, squeeze amount, or off-track amount in a specified sector does not continuously exceed the unrecoverable threshold by the stop threshold or more (NO in B1402), the MPU 60 determines whether the specified sector is the last sector or not (B1404). If it is determined that the specified sector is not the last sector (NO in B1404), the MPU 60 proceeds to the process of B1301. If it is determined that the specified sector is the last sector (YES in B1404), the MPU 60 ends the process.

[0153] According to the second embodiment, when the magnetic disk device 1 determines that the position error, PES, squeeze amount, or off-track amount for a given track has continuously exceeded the unrecoverable threshold by more than the stop threshold, the magnetic disk device 1 stops the write process for that track, thereby improving the reliability of the magnetic disk device 1.

[0154] Although several embodiments have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be embodied in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included within the scope and spirit of the invention, and are also included in the scope of the invention and its equivalents as defined in the claims. For example, the magnetic disk drive may be a magnetic disk drive with separated sectors called split sectors, which are disclosed in, for example, US 2009 / 0195917 A1. [Explanation of symbols]

[0155] 1...magnetic disk device, 10...magnetic disk, 10a...user data area, 10b...media cache, 10c...system area, 12...spindle motor (SPM), 13...arm, 14...voice coil motor (VCM), 15...head, 15W...write head, 15R...read head, 16...actuator, 20...driver IC, 30...head amplifier IC, 40...read / write (R / W) channel, 50...hard disk controller (HDC), 60...microprocessor (MPU), 70...volatile memory, 80...non-volatile memory, 90...buffer memory, 100...host system (host), 130...system controller.

Claims

1. The disk and a head for writing data to the disk and reading data from the disk; A magnetic disk device comprising: a controller that controls a write process based on a first judgment value corresponding to a first deviation amount defined for each number of times that a first deviation amount of the head in the radial direction of the disk exceeds a first threshold value that causes a read error in a second track radially adjacent to the first track during a write process of a first track on the disk, and a second threshold value that changes the write process.

2. 2. The magnetic disk drive according to claim 1, wherein the controller gradually decreases the first DDOL corresponding to the first track each time the first deviation amount exceeds the first threshold value.

3. 2. The magnetic disk drive according to claim 1, wherein the controller stops the write process for the first track when it determines that the first determination value is greater than the second threshold value.

4. 4. The magnetic disk device according to claim 3, wherein the controller changes a first DDOL corresponding to the first track to a second DDOL smaller than the first DDOL when the controller determines that the first determination value is larger than the second threshold value.

5. The magnetic disk drive according to claim 4 , wherein the second DDOL is smaller than the first threshold value.

6. 5. The magnetic disk drive according to claim 4, wherein the controller shifts at least one sector of the first track when the first shift amount exceeds the second DDOL by a specified number of times or more.

7. 7. The magnetic disk device according to claim 6, wherein, when the first deviation amount exceeds the second DDOL by a specified number of times or more, the controller shifts a plurality of sectors from a first sector in the first track where the first deviation amount exceeds the second DDOL by a specified number of times to a last second sector in the first track to a third track adjacent to the first track in the radial direction on the opposite side of the second track.

8. 8. The magnetic disk drive according to claim 7, wherein said controller writes a result of an XOR operation performed on a plurality of sectors from the first third sector of said first track to said first sector to a first parity sector of said first track.

9. 8. The magnetic disk drive according to claim 7, wherein said controller writes the result of an XOR operation performed on a plurality of sectors from the first third sector of said first track to said first sector in a recording area different from said first track.

10. 5. The magnetic disk drive according to claim 4, wherein the controller shifts sectors that are closer to the first track than a third threshold value.

11. The first track includes a first group of sectors that considers the first DDOL and a second group of sectors that considers the second DDOL; The controller When the number of times that the first deviation amount exceeds the first DDOL reaches a first specified number in a first sector of the plurality of sectors of the first group, shifting at least one sector from the first sector; 5. The magnetic disk device according to claim 4, wherein, in a second sector among the plurality of sectors of the second group, when the number of times that the first deviation amount exceeds the second DDOL reaches a second specified number that is different from the first specified number, at least one sector is shifted from the second sector.

12. 12. The magnetic disk drive according to claim 11, wherein the second specified number of times is less than the first specified number of times.

13. 2. The magnetic disk drive according to claim 1, wherein the controller shifts at least one sector of the first track when it determines that the first determination value is greater than the second threshold value.

14. The magnetic disk drive according to claim 1 , wherein the first determination value is an average value, a maximum value, or a minimum value of the first deviation amount.

15. 14. The magnetic disk drive according to claim 1, wherein the controller manages the first deviation amount exceeding the first threshold value and the second threshold value for each error correction on a track-by-track basis.

16. 16. The magnetic disk drive according to claim 15, wherein the controller controls a write process for each error correction.

17. The disk and a head for writing data to the disk and reading data from the disk; and a controller that controls the write process when a first deviation amount of the head in the radial direction of the disk during a write process of a first track of the disk exceeds a first threshold value that causes a read error in a second track that is radially adjacent to the first track multiple times in succession.

18. 18. The magnetic disk drive according to claim 17, wherein the controller stops the write process for the first track when the first deviation amount exceeds the first threshold value the plurality of times consecutively.

19. A write processing method applied to a magnetic disk device including a disk and a head that writes data to the disk and reads data from the disk, comprising: A write processing method that controls a write processing based on a first judgment value corresponding to a first deviation amount defined for each number of times that a first deviation amount of the head in the radial direction of the disk during a write processing of a first track of the disk exceeds a first threshold value that causes a read error in a second track adjacent to the first track in the radial direction, and a second threshold value that changes the write processing.

Citation Information

Patent Citations

  • Magnetic disk device and its control method

    JP1996321149A

  • Information recording device and information recording method

    JP2013157067A

  • Magnetic disc device and write processing method

    JP2020149757A

  • Magnetic disk device and write processing method

    US10650860B2

  • Magnetic disk device and control method

    US10777227B2