Magnetic disk device and read / write processing method

By setting different rewrite thresholds and frequencies for different sector groups in the disk device, and using the error correction ability of parity sectors, the data stability problems of the disk device under the influence of error correction failure and ATI are solved. Improves recording density and storage efficiency.

CN115083446BActive Publication Date: 2025-01-03KK TOSHIBA +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202110879370.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-03-15
Filing Date
2021-08-02
Publication Date
2025-01-03
Estimated Expiration
2041-08-02

AI Technical Summary

Technical Problem

When the disk device cannot recover sectors through error correction codes, the error correction function based on parity check sectors is invalid and is affected by Adjacent Track Interference (ATI), resulting in side erasing of data, which is difficult to effectively prevent.

Method used

The disk device sets different rewrite processing thresholds in the first sector group and the second sector group, and performs differentiation management based on the error correction ability of the sector group. The first sector group performs error correction processing based on track units. , the second sector group cannot perform error correction processing, and different refresh thresholds and frequencies are used to improve the recording density.

Benefits of technology

This improves the recording density of the disk device, reduces error counting, and enhances data stability and storage capacity utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115083446B_ABST
    Figure CN115083446B_ABST
Patent Text Reader

Abstract

The embodiment provides a magnetic disk device and a read / write processing method capable of improving recording density. The magnetic disk device of the embodiment comprises: a disk; a head for writing data to the disk and reading data from the disk; and a controller for setting different rewrite thresholds for performing track rewrite processing in a first sector group and a second sector group, and rewriting the first sector group and the second sector group at different frequencies, the first sector group including at least one first sector continuous in the circumferential direction of the disk and capable of performing track-based error correction processing based on a first parity sector and the first parity sector, and the second sector group including at least one second sector continuous in the circumferential direction and unable to perform track-based error correction processing.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Related Application

[0002] This application claims priority from Japanese Patent Application No. 2021-41234 (filing date: March 15, 2021) as a prior application. This application incorporates the entire contents of the prior application by reference. Technical Field

[0003] Embodiments of the present invention relate to a magnetic disk device and a read / write processing method. Background Art

[0004] The magnetic disk device can have an error correction function to correct the sector based on the parity sector corresponding to the track containing the sector when the sector cannot be corrected (relieved or restored) by the error correction code corresponding to the sector. The magnetic disk device writes the result obtained by performing an exclusive OR (Exclusive OR: XOR) operation on each sector of a predetermined track to the track as a parity sector. When the magnetic disk device detects an error in a predetermined sector of the track, it performs an error correction process (hereinafter sometimes referred to as track ECC processing) based on the parity sector corresponding to the track to correct the error by using an error correction code (Error Correction Code). When the magnetic disk device randomly overwrites data in a conventional magnetic recording (CMR) method on a part of the track containing the parity sector, the magnetic disk device may not be able to perform track ECC processing on the track.

[0005] In addition, in a magnetic disk device, when data is written, side erase (side erase) may occur due to the influence of leakage flux from the head (Adjacent Track Interference: ATI). ATI varies depending on, for example, the characteristics of the head, TPI (Track Per Inch) setting value, and write current setting value. In order to prevent side erase, the magnetic disk device has a function (refresh function) to rewrite the data on a predetermined track when the number of times data is written to the peripheral tracks of the predetermined track reaches a predetermined number. Summary of the invention

[0006] Embodiments of the present invention provide a magnetic disk device and a read / write processing method capable of improving recording density.

[0007] The magnetic disk device of this embodiment comprises: a disk; a head for writing data to the disk and reading data from the disk; and a controller for setting different rewrite thresholds for performing track rewrite processing in the first sector group and the second sector group, and rewriting the first sector group and the second sector group at different frequencies, the first sector group including at least one first sector continuous in the circumferential direction of the disk and the first parity sector capable of performing error correction processing in units of tracks based on the first parity sector, and the second sector group including at least one second sector continuous in the circumferential direction and the second sector group unable to perform error correction processing in units of tracks. BRIEF DESCRIPTION OF THE DRAWINGS

[0008] Figure 1 This is a block diagram showing the structure of a magnetic disk device according to an embodiment.

[0009] Figure 2 This is a schematic diagram showing an example of the arrangement of the head with respect to the disk according to the present embodiment.

[0010] Figure 3 This is a schematic diagram showing an example of track ECC processing.

[0011] Figure 4 This is a schematic diagram showing an example of track ECC processing.

[0012] Figure 5 This is a schematic diagram showing an example of track ECC processing.

[0013] Figure 6 It is a schematic diagram showing an example of a refresh threshold value according to an embodiment.

[0014] Figure 7 This is a schematic diagram showing an example of measured values ​​of changes in the error count due to a read process without performing a track ECC process with respect to the number of writes.

[0015] Figure 8 This is a schematic diagram showing an example of measured values ​​of changes in error counts relative to the number of writes due to a read process in which a track ECC process is executed.

[0016] Fig. 9 This is a flowchart showing an example of a method for setting a refresh threshold value according to an embodiment.

[0017] Fig.10 This is a flowchart showing an example of a write process of a correctable area according to an embodiment. DETAILED DESCRIPTION

[0018] 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.

[0019] (Implementation Method)

[0020] Figure 1 It is a block diagram showing the structure of the magnetic disk device 1 according to the embodiment.

[0021] The magnetic disk device 1 includes a head disk assembly (HDA) 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 (cache) 90, and a system controller 130 which is a single-chip integrated circuit. In addition, the magnetic disk device 1 is connected to a host system (hereinafter referred to as a host) 100.

[0022] HAD includes: a magnetic disk (hereinafter referred to as disk) DK, a spindle motor (hereinafter referred to as SPM) 12, an arm 13 equipped with a head HD, and a voice coil motor (hereinafter referred to as VCM) 14. The disk DK is mounted on the SPM 12 and rotated by the drive of the SPM 12. The arm 13 and the VCM 14 constitute an actuator 16. The arm 13 includes at least one arm 13. For example, the arm 13 includes a plurality of arms 13. The head HD includes at least one head HD. For example, the head HD includes a plurality of heads HD. The actuator 16 controls the movement of the head HD mounted on the arm 13 to a predetermined position of the disk DK by the drive of the VCM 14. In addition, two or more actuators 16 may be provided.

[0023] The disk DK allocates a user data area UA that can be used by the user and a system area SA in which information required for system management is written in the area where data can be written. In addition, in the disk DK, a medium cache (or sometimes called a medium cache area) that temporarily holds data (or commands) transmitted from the host 100, etc. before writing to a predetermined area of ​​the user data area UA can also be allocated as an area different from the user data area UA and the system area SA. Hereinafter, the direction from the inner circumference to the outer circumference of the disk DK, or the direction from the outer circumference to the inner circumference of the disk DK is referred to as a radial direction. In the radial direction, the direction from the inner circumference to the outer circumference is referred to as an outer direction (or outer side), and the direction from the outer circumference to the inner circumference, that is, the direction opposite to the outer direction is referred to as an inner direction (or inner side). The direction orthogonal to the radial direction of the disk DK is referred to as a circumferential direction. That is, the circumferential direction is equivalent to the direction along the circumference of the disk DK. In addition, sometimes a predetermined position in the radial direction of the disk DK is referred to as a radial position, and a predetermined position in the circumferential direction of the disk DK is referred to as a circumferential position. Sometimes, the radial position and the circumferential position are collectively referred to as simply the position. In addition, the "track (or cylinder)" is used as one of the multiple areas distinguished in the radial direction of the disk DK, the path of the head HD at a predetermined radial position, data extending in the circumferential direction of the disk DK, data written to one circle of the track (or cylinder) at a predetermined radial position, data written to a predetermined track (or cylinder) of the disk DK, a part of the data written to the predetermined track (or cylinder) of the disk DK, or other various meanings. The "sector" is used as one of the multiple areas distinguished in the circumferential direction on the predetermined track (or cylinder) of the disk DK, data written to a predetermined circumferential position at a predetermined radial position of the disk DK, data written to a predetermined sector of a predetermined track (or cylinder) of the disk DK, or other various meanings. Sometimes, the "radial width of the track (or cylinder)" is referred to as the "track width (or cylinder width)". The path passing through the center position of the track width at the predetermined track (or cylinder) is referred to as the "track center (or cylinder center)". Hereinafter, the "track center (or cylinder center) of the predetermined track (or cylinder)" may be referred to simply as the "track (or cylinder)".

[0024] The head HD is opposite to the disk DK. For example, one head HD is opposite to one surface of the disk DK. The head HD has a slider as its main body, and includes a write head WHD and a read head RHD mounted on the slider. The write head WHD writes data to the disk DK. The read head RHD reads the data written to the disk DK. In addition, sometimes the "write head WHD" is simply referred to as the "head HD", the "read head RHD" is simply referred to as the "head HD", and the "write head WHD and read head RHD" are collectively referred to as the "head HD". Sometimes the "center part of the head HD" is referred to as the "head HD", the "center part of the write head WHD" is referred to as the "write head WHD", and the "center part of the read head RHD" is referred to as the "read head RHD". Sometimes the "center part of the write head WHD" is simply referred to as the "head HD", and the "center part of the read head RHD" is simply referred to as the "head HD". Sometimes, the situation of "positioning the center of the head HD at the center of the orbit (or the center of the cylinder) of a predetermined orbit (or cylinder)" is expressed as "positioning the head HD at the predetermined orbit (or cylinder)", "configuring the head HD on the predetermined orbit (or cylinder)", or "locating the head HD on the predetermined orbit (or cylinder)".

[0025] Figure 2 2 is a schematic diagram showing an example of the configuration of the head HD relative to the disk DK in this embodiment. Figure 2 As shown, in the circumferential direction, the direction in which the disk DK rotates is referred to as the rotation direction. Figure 2 In the example shown, the direction of rotation is indicated as counterclockwise, but the opposite direction (clockwise) is also possible.

[0026] exist Figure 2 In the example shown, disk DK includes disk DK1, disk DK2, ..., disk DKN. Disks DK1 to DKN overlap coaxially and at intervals in one direction. Disks DK1 to DKN have the same radius. Terms such as "same", "identical", "consistent", and "equivalent" mean completely the same, and also include meanings that are different to the extent that they are considered to be substantially the same. In addition, the radii of disks DK1 to DKN may also be different. Disk DK1 has a surface S0 and a back side S1 on the opposite side of surface S0. Surface S0 has a user data area UA0 and a system area SA0. System area SA0 is adjacent to the user data area UA0 in the outer direction. Here, "adjacent" means that data, objects, areas, and spaces are arranged side by side, and also includes the situation where they are arranged at predetermined intervals. Back side S1 has a user data area UA1 and a system area SA1. System area SA1 is adjacent to the user data area UA1 in the outer direction. In the following, the surface and back side of the disk are sometimes referred to as recording surfaces.

[0027] The disk DK2 has a surface S2 and a back side S3 on the opposite side of the surface S2. The surface S2 is opposite to the back side S1. The surface S2 has a user data area UA2 and a system area SA2. The system area SA2 is adjacent to the user data area UA2 in the outer direction. The back side S3 has a user data area UA3 and a system area SA3. The system area SA3 is adjacent to the user data area UA3 in the outer direction.

[0028] The disk DKN has a surface S(N-1) and a back side SN on the opposite side of the surface S(N-1). The surface S(N-1) has a user data area UA(N-1) and a system area SA(N-1). The system area SA(N-1) is adjacent to the user data area UA(N-1) in the outer direction. The back side SN has a user data area UAN and a system area SAN. The system area SAN is adjacent to the user data area UAN in the outer direction.

[0029] exist Figure 2 In the embodiment, the head HD includes a head HD0, a head HD1, a head HD2, a head HD3, ..., a head HD(N-1), and a head HDN. The head HD0 is opposite to the surface S0. The head HD0 writes data to the surface S0 and reads data from the surface S0. The head HD1 is opposite to the back surface S1. The head HD1 writes data to the back surface S1 and reads data from the back surface S1. The head HD2 is opposite to the surface S2. The head HD2 writes data to the surface S2 and reads data from the surface S2. The head HD3 is opposite to the back surface S3. The head HD3 writes data to the back surface S3 and reads data from the back surface S3. The head HD(N-1) is opposite to the surface S(N-1). The head HD(N-1) writes data to the surface S(N-1) and reads data from the surface S(N-1). The head HDN is opposite to the back surface SN. The head HDN writes data to the back surface SN and reads data from the back surface SN.

[0030] The driver IC 20 controls driving of the SPM 12 and the VCM 14 under the control of the system controller 130 (specifically, the MPU 60 described later).

[0031] The head amplifier IC (preamplifier) ​​30 includes a read amplifier and a write driver, etc. The read amplifier amplifies the read signal read from the disk DK and outputs it to the system controller 130 (more specifically, a read / write (R / W) channel 40 described later). The write driver outputs a write current corresponding to the signal output from the R / W channel 40 to the head HD.

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

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

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

[0035] The system controller (controller) 130 is implemented, for example, using a large-scale integrated circuit (LSI) called System-on-a-Chip (SoC) in which a plurality of 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.

[0036] The R / W channel 40 performs signal processing of data transmitted from the disk DK to the host 100 (hereinafter, sometimes referred to as read data) and data transmitted from the host 100 (hereinafter, sometimes referred to as write data) according to instructions from the MPU 60 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, and the MPU 60.

[0037] HDC50 controls data transfer. For example, HDC50 controls data transfer between host 100 and disk DK according to instructions from MPU60 described later. HDC50 is electrically connected to R / W channel 40, MPU60, volatile memory 70, nonvolatile memory 80, buffer memory 90, etc.

[0038] The MPU60 is a main controller that controls each part of the magnetic disk device 1. The MPU60 controls the VCM14 via the driver IC20 to perform servo control for positioning the head HD. The MPU60 controls the SPM12 via the driver IC20 to rotate the disk DK. The MPU60 controls the writing of data to the disk DK and selects the storage destination of data transmitted from the host 100, such as the write data. In addition, the MPU60 controls the reading of data from the disk DK and controls the processing of data transmitted from the disk DK to the host 100, such as the read data. In addition, the MPU60 manages the area for recording data. The MPU60 is connected to each part of the magnetic disk device 1. The MPU60 is electrically connected to, for example, the driver IC20, the R / W channel 40, and the HDC50.

[0039] The MPU 60 includes a read / write control unit 610, an error detection unit 620, an error correction unit 630, a parity sector management unit 640, a write count unit 650, and a refresh control unit 660. The MPU 60 executes the processing of each unit, such as the read / write control unit 610, the error detection unit 620, the error correction unit 630, the parity sector management unit 640, the write count unit 650, and the refresh control unit 660, on the firmware. In addition, the MPU 60 may include each unit, such as the read / write control unit 610, the error detection unit 620, the error correction unit 630, the parity sector management unit 640, the write count unit 650, and the refresh control unit 660, as a circuit. The read / write control unit 610 , the error detection unit 620 , the error correction unit 630 , the parity sector management unit 640 , the write count unit 650 , the refresh control unit 660 and the like may also be included in the R / W channel 40 or the HDC 50 .

[0040] The read / write control unit 610 controls the read process of reading data from the disk DK and the write process of writing data to the disk DK according to the command from the host 100. The read / write control unit 610 controls the VCM 14 via the driver IC 20 to position the head HD at a predetermined position of the disk DK and perform the read process or the write process. Hereinafter, the term "access" may be used to include recording or writing data to a predetermined area (write process), reading or reading data from a predetermined area (read process), and moving the head HD to a predetermined area.

[0041] The read / write control unit 610 performs a write process in a conventional magnetic recording (CMR) manner, for example, by writing data to other tracks (hereinafter, sometimes referred to as adjacent tracks (or adjacent cylinders)) or other sectors (hereinafter, sometimes referred to as adjacent sectors) adjacent to a predetermined track (or cylinder) or a predetermined sector at a predetermined interval (gap) in the radial direction. "Adjacent tracks (or adjacent cylinders)" include "tracks (or cylinders) adjacent in the outer direction of a predetermined track (or cylinder)", "tracks (or adjacent cylinders) adjacent in the inner direction of a predetermined track (or cylinder)", and "a plurality of tracks (or a plurality of cylinders) adjacent in the outer and inner directions of a predetermined track (or cylinder)". "Adjacent sectors" include "sectors adjacent in the outer direction of a predetermined sector", "sectors adjacent in the inner direction of a predetermined sector", and "a plurality of sectors adjacent in the outer and inner directions of a predetermined sector". Hereinafter, "writing data in a normal recording mode" may be referred to as "normal recording", "performing normal recording processing", or simply "writing". The read / write control unit performs random writing for random writing of data and sequential writing for sequential writing of data.

[0042] In addition, the read / write control unit 610 may also perform a write process in a shingled write magnetic recording (SMR or SWR) method in which a track (or cylinder) to be written next is written overlapping a part of the radial direction of the previously written track (or cylinder) when sequentially writing to multiple tracks (or multiple cylinders). Hereinafter, "writing data in a shingled recording method" may be referred to as "shingled recording", "performing a shingled recording process", or simply "writing".

[0043] The read / write control unit 610 can, for example, write data or a track (or cylinder) in such a way that the TPI (Track Per Inch) of a predetermined area becomes a TPI higher than the currently set TPI, or can write data or a track (or cylinder) in such a way that the TPI of a predetermined area becomes a TPI lower than the currently set TPI.

[0044] The error detection unit 620 detects data, sectors, and areas where errors have occurred. For example, the error detection unit 620 detects unreadable data (hereinafter, sometimes referred to as read error data or error data) or unreadable sectors (hereinafter, sometimes referred to as read error sectors or error sectors). Error data and error sectors can be generated, for example, by defects, displacement of the head HD, and displacement of adjacent tracks (or adjacent cylinders).

[0045] The error correction unit 630 recovers (corrects, relieves, or corrects) the erroneous data or erroneous sectors. The error correction unit 630 performs a read retry to read the erroneous data or erroneous sectors multiple times. In addition, the error correction unit 630 performs a process (hereinafter sometimes referred to as ECC processing or error correction processing) to correct the errors of the erroneous data or erroneous sectors based on the error correction code (Error Correction Code). The error correction unit 630 performs an ECC process (hereinafter sometimes referred to as sector ECC processing) on ​​the erroneous data or the erroneous sector based on the ECC (hereinafter sometimes referred to as sector ECC) corresponding to the erroneous data or erroneous sector of a predetermined track (or predetermined cylinder). Sector ECC processing is equivalent to error correction or error correction processing in sector units.

[0046] The error correction unit 630 performs ECC processing (hereinafter sometimes referred to as track ECC processing) on ​​erroneous data or erroneous sectors on a predetermined track (or predetermined cylinder) or a part of the track (or predetermined cylinder), for example, multiple data or multiple sectors arranged continuously in the circumferential direction in the track (or predetermined cylinder), based on the ECC (hereinafter sometimes referred to as track ECC) corresponding to multiple data or multiple sectors arranged continuously in the circumferential direction in the predetermined track (or predetermined cylinder) or a part of the track (or predetermined cylinder), for example, multiple data or multiple sectors arranged continuously in the circumferential direction in the track (or predetermined cylinder). Track ECC processing is equivalent to error correction processing or error correction processing in units of tracks. Here, in addition to units of physical tracks, units of tracks may also include units of areas constituted below physical tracks. For example, the error correction unit 630 performs track ECC processing on the error sector of the track (or predetermined cylinder) or a part of the track (or predetermined cylinder) based on the parity data or parity sector corresponding to the predetermined track (or predetermined cylinder) or a part of the predetermined track (or predetermined cylinder). The error correction unit 630 records information associated with the error data or the error sector (hereinafter, sometimes referred to as error data information or error sector information) in a predetermined recording area, for example, the disk DK, the volatile memory 70, or the non-volatile memory 80.

[0047] The parity sector management unit 640 performs an exclusive OR (XOR) operation to calculate a parity sector (or parity data), writes the parity sector (or parity data), and manages the parity sector (or parity data).

[0048] When writing to a predetermined track (or a predetermined cylinder), the parity sector management unit 640 performs an XOR operation on all sectors (or data) other than the parity sector of the track (or the cylinder) to calculate the parity sector (or parity data), writes (or changes) the calculated parity sector (or parity data), and manages the parity sector (or parity data). In addition, when writing a part of the sectors (or data) of a predetermined track (or a predetermined cylinder), the parity sector management unit 640 reads the track (or predetermined cylinder) to which the part of the sectors is to be written, replaces the sectors (or data) corresponding to the part of the sectors (or data) with all sectors (or data) other than the parity sectors of the track (or cylinder) after the part of the sectors (or data) in a predetermined recording area, for example, the volatile memory 70, and calculates the parity sector, writes (or changes) all sectors other than the parity sectors of the track (or cylinder) after the part of the sectors (or data) is replaced with the calculated parity sector (or parity data) to the same track (or cylinder), and manages the parity sector (or parity data). Hereinafter, "when writing predetermined data (hereinafter, sometimes referred to as update data) or predetermined sectors (hereinafter, sometimes referred to as update sectors), reading the track or cylinder where the update data or update sector is written, performing an XOR operation on all sectors (hereinafter, sometimes referred to as update sector group) other than the parity sector of the track or cylinder (hereinafter, sometimes referred to as update track or update cylinder) after replacing the data or sector corresponding to the update data or update sector with the update data or update sector to calculate the parity sector (hereinafter, sometimes referred to as update parity sector), and writing to the same track or cylinder as the update sector group and the update parity sector" may sometimes be referred to as "read-modify-write". Hereinafter, for the sake of convenience, "performing an XOR operation on sectors other than the parity sector" may sometimes be referred to as "performing an XOR operation on sectors".

[0049] The parity sector management unit 640 performs an XOR operation on the data in the predetermined area to calculate the parity sector, and writes the calculated parity sector to the predetermined area of ​​the disk DK. The parity sector management unit 640 performs an XOR operation on all sectors of a predetermined track (or a predetermined cylinder) to calculate the parity sector, and writes the calculated parity sector to the track (or the cylinder). In addition, the parity sector management unit 640 may perform an XOR operation on a part of the sectors of a predetermined track (or a predetermined cylinder) to calculate the parity sector, and write the calculated parity sector to the track (or the cylinder). For example, the parity sector management unit 640 may perform an XOR operation on all sectors (hereinafter sometimes referred to as valid sectors) other than invalid sectors (hereinafter sometimes referred to as invalid sectors) in a predetermined track (or predetermined cylinder) to calculate a parity sector, and write the calculated parity sector to the track (or the cylinder). An invalid sector corresponds to a sector that is not used in recording data, such as an error sector. A valid sector corresponds to a sector used in recording data, etc. In the following, for the sake of convenience, "performing an XOR operation on valid sectors other than invalid sectors" may be referred to as "performing an XOR operation on sectors".

[0050] The parity sector management unit 640 manages whether each parity sector corresponding to each track or a part of each track is a valid parity sector that can correct errors, for example, can be used in track ECC processing (hereinafter, sometimes referred to as a valid parity sector), or an invalid parity sector that cannot correct errors, for example, cannot be used in track ECC processing (hereinafter, sometimes referred to as an invalid parity sector).

[0051] The parity sector management unit 640 manages the parity sector obtained by performing an XOR operation on all sectors of a predetermined track as a valid parity sector. The parity sector management unit 640 records the parity sector of the track as a valid parity sector in a predetermined recording area, for example, the disk DK, the volatile memory 70, or the non-volatile memory 80. The parity sector management unit 640 records the track or cylinder (hereinafter, sometimes referred to as a correctable track or correctable cylinder) that can perform track ECC processing (or can be corrected) based on the valid parity sector in a predetermined recording area, for example, the disk DK, the volatile memory 70, or the non-volatile memory 80.

[0052] The parity sector management unit 640 writes (or overwrites) at least one sector arranged continuously in the circumferential direction from the parity sector, for example, a valid sector (hereinafter, sometimes referred to as a rear sector), in a predetermined track, and manages the parity sector after performing an XOR operation on all the rear sectors, for example, the valid sectors, as a valid parity sector. The parity sector management unit 640 records the parity sector of the track as a valid parity sector in a predetermined recording area, for example, the disk DK, the volatile memory 70, or the non-volatile memory 80. The parity sector management unit 640 records the rear sector that can perform track ECC processing (or can be corrected) based on the valid parity sector in the predetermined track in a predetermined recording area, for example, the disk DK, the volatile memory 70, or the non-volatile memory 80. In addition, when the predetermined track includes a rear sector on which track ECC processing can be performed (or can be corrected) based on a valid parity sector, the parity sector management unit 640 records sectors other than the rear sector on which track ECC processing cannot be performed (or cannot be corrected) (hereinafter sometimes referred to as the front sector) in a predetermined recording area, for example, the disk DK, the volatile memory 70, or the non-volatile memory 80.

[0053] The parity sector management unit 640 manages the parity sector as an invalid parity sector when the parity sector of the track after writing (overwriting) the front sector, for example, the valid sector (hereinafter, sometimes referred to as the front sector) is a parity sector equivalent to the result of performing an XOR operation on all sectors of the track before writing the front sector (hereinafter, sometimes referred to as the previous parity sector). The parity sector management unit 640 records the parity sector of the track as an invalid parity sector in a predetermined recording area, for example, the disk DK, the volatile memory 70, or the non-volatile memory 80. The parity sector management unit 640 records the track or cylinder (hereinafter, sometimes referred to as an uncorrectable track or an uncorrectable cylinder) for which the track ECC processing cannot be performed (or cannot be corrected) in a predetermined recording area, for example, the disk DK, the volatile memory 70, or the non-volatile memory 80.

[0054] In the following, "at least one sector on which track ECC processing can be performed" is sometimes referred to as a "correctable sector or logical track (Logical Track)". In addition, "at least one sector on which track ECC cannot be performed (or cannot be corrected)" is sometimes referred to as an "uncorrectable sector". Sometimes, "areas on which track ECC can be performed (or can be corrected) such as correctable tracks, correctable cylinders, and correctable sectors" are collectively referred to as "correctable areas", and "areas on which track ECC processing cannot be performed such as uncorrectable tracks, uncorrectable cylinders, and uncorrectable sectors" are collectively referred to as "uncorrectable areas".

[0055] The parity sector management unit 640 manages the correctable area and the uncorrectable area in the same user area, for example, every time a command to execute random write is received from the host 100 or the like. Here, the user area is an area obtained by dividing the user data area 10UA into predetermined ranges in the radial direction, for example, an area in an area obtained by dividing two adjacent tracks, one track, or the user data area 10UA into 40 parts in the radial direction. For example, the parity sector management unit 640 updates or changes the correctable area and the uncorrectable area in the same user area every time random write is executed.

[0056] The write counter section 650 counts the number of times data is written (hereinafter, sometimes referred to as the number of write times or write count). The number of write times (or write count) corresponds to, for example, the number of times the data is affected by leakage flux from the head HD (Adjacent Track Interference: ATI) by writing data. The write counter section 650 may also store the number of write times as a table in a predetermined recording area, for example, the disk DK, the volatile memory 70, the nonvolatile memory 80, or the buffer memory 90.

[0057] The write counter section 650 counts the number of times data is written to a region (hereinafter sometimes referred to as a neighboring region) arranged within a predetermined range in a radial direction from a target region (hereinafter sometimes referred to as a target region). For example, the write counter section 650 counts the number of times data is written to a neighboring region arranged within a range that receives ATI from the target region.

[0058] When data is written to the adjacent area of ​​the object area, the write count section 650 increases the number of writes corresponding to the object area by a predetermined value. For example, when data is written to the adjacent area in the outer direction and the inner direction of the object area, the write count section 650 increases the number of writes corresponding to the object area by a predetermined value. For example, when data is written to the adjacent area in the outer direction and the inner direction of the object area, the write count section 650 increases the number of writes corresponding to the object area by 1.

[0059] The write counter section 650 counts the number of times data is written to a region radially adjacent to the target region (hereinafter sometimes referred to as an adjacent region). For example, the write counter section 650 counts the number of times data is written to an adjacent region arranged within the range receiving ATI from the target region.

[0060] When data is written to an adjacent area of ​​the object area, the write count section 650 increases the number of writes corresponding to the object area by a predetermined value. For example, when data is written to an adjacent area in an outer direction and an inner direction of the object area, the write count section 650 increases the number of writes corresponding to the object area by a predetermined value. For example, when data is written to an adjacent area in an outer direction and an inner direction of the object area, the write count section 650 increases the number of writes corresponding to the object area by 1.

[0061] The write counter unit 650 counts the number of times data is written to a track (hereinafter sometimes referred to as an object track) or an adjacent sector (hereinafter sometimes referred to as an adjacent sector) in the radial direction of the object track (hereinafter sometimes referred to as an object track) or the object sector (hereinafter sometimes referred to as an object sector).

[0062] When data is written to an adjacent track or adjacent sector of the object track or the object sector, the write count section 650 increases the number of writes corresponding to the object track or the object sector by a predetermined value. For example, when data is written to an adjacent track in the outer direction and the inner direction of the object track or the object sector, the write count section 650 increases the number of writes corresponding to the object track or the object sector by a predetermined value. For example, when data is written to an adjacent track or adjacent sector in the outer direction and the inner direction of the object track or the object sector, the write count section 650 increases the number of writes corresponding to the object track or the object sector by 1.

[0063] The refresh control unit 660 performs a process of rewriting the same data as the data written to a predetermined area, for example, a predetermined track, to the area, for example, a predetermined track (hereinafter, sometimes referred to as a refresh process). When the refresh control unit 660 determines that the number of writes corresponding to the predetermined area exceeds a threshold value (hereinafter, sometimes referred to as a refresh threshold value) corresponding to the number of writes for executing the refresh process, the refresh control unit 660 performs a refresh process on the area. When the refresh control unit 660 determines that the number of writes corresponding to the predetermined area exceeds the refresh threshold value, the refresh control unit 660 performs a refresh process on a portion of the area. In other words, when the refresh control unit 660 determines that the number of writes corresponding to the predetermined area exceeds the refresh threshold value, the refresh control unit 660 performs a refresh process on data in the area that is less than the capacity pre-set as a format. When the refresh process is executed on the predetermined area, the refresh control unit 660 resets the number of writes corresponding to the area, for example, to 0.

[0064] When the refresh control unit 660 determines that the number of writes corresponding to the object track or the object sector exceeds the refresh threshold corresponding to the object track or the object sector, the refresh control unit 660 performs a refresh process on the object track or the object sector. When the refresh control unit 660 determines that the number of writes corresponding to the object track or the object sector exceeds the refresh threshold corresponding to the object track or the object sector, the refresh control unit 660 performs a refresh process on a part of the object track or the object sector. In other words, when the refresh control unit 660 determines that the number of writes corresponding to the object track or the object sector exceeds the threshold corresponding to the object track or the object sector, the refresh control unit 660 performs a refresh process on the data below the capacity set in advance as a format in the object track or the object sector.

[0065] The refresh control unit 660 changes (or sets) the refresh threshold. The refresh control unit 660 has a plurality of refresh thresholds.

[0066] The refresh control unit 660 changes (or sets) the refresh threshold of the correctable area to a refresh threshold higher than the currently set refresh threshold (hereinafter, sometimes referred to as the current refresh threshold) among the multiple refresh thresholds. The refresh control unit 660 changes (or sets) the refresh threshold of the non-correctable area to a refresh threshold lower than the current refresh threshold among the multiple refresh thresholds.

[0067] In addition, the refresh control unit 660 sets the refresh threshold of the correctable area to a refresh threshold higher than the refresh threshold of the uncorrectable area within the multiple refresh thresholds, and sets the refresh threshold of the uncorrectable area to a refresh threshold lower than the refresh threshold of the correctable area within the multiple refresh thresholds.

[0068] The refresh control unit 660 has two refresh thresholds, for example, a high refresh threshold and a low refresh threshold. In addition, the refresh control unit 660 may also have more than three refresh thresholds. The high refresh threshold may be larger than the low refresh threshold, and the low refresh threshold may be smaller than the high refresh threshold. The refresh control unit 660 sets the refresh threshold of the correctable area to the high refresh threshold, and sets the refresh threshold of the non-correctable area to the low refresh threshold. In the refresh control unit 660, the frequency of executing the refresh process on the non-correctable area with the low refresh threshold is less than the frequency of executing the refresh process on the correctable area with the high refresh threshold. In other words, in the refresh control unit 660, the frequency of executing the refresh process on the correctable area with the high refresh threshold is greater than the frequency of executing the refresh process on the non-correctable area with the low refresh threshold. Here, the frequency is equivalent to the number of times the process is performed at a specific time, for example.

[0069] For example, the refresh control unit 660 sets the refresh threshold of a correctable orbit or a correctable cylinder to a high refresh threshold, and sets the refresh threshold of an uncorrectable orbit or a correctable cylinder to a low refresh threshold.

[0070] For example, the refresh control unit 660 sets the refresh threshold of the correctable sector (or logical track) to a high refresh threshold, and sets the refresh threshold of the uncorrectable sector (or logical track) to a low refresh threshold.

[0071] The refresh control unit 660 may also set the refresh thresholds of the tracks corresponding to the heads HD in the plurality of heads HD corresponding to the predetermined cylinder (track) to different refresh thresholds. In addition, the refresh control unit 660 may also set the refresh thresholds of the tracks corresponding to the heads HD in the plurality of heads HD corresponding to the predetermined cylinder (track) to the same refresh threshold.

[0072] For example, while maintaining the performance of multiple heads HD relative to a predetermined cylinder (track) constant, the refresh control unit 660 sets the refresh threshold of the cylinder (track) corresponding to at least one head HD among the multiple heads HD to a high refresh threshold, and sets the refresh thresholds of the cylinders (tracks) corresponding to other head HDs other than the at least one head HD set to the high refresh threshold among the multiple head HDs to a low refresh threshold.

[0073] For example, the refresh control unit 660 increases the two refresh thresholds corresponding to the two correctable cylinders (correctable tracks) corresponding to two head HDs among the four head HDs by 100 times respectively, while maintaining the performance of the four head HDs with respect to the predetermined cylinders (tracks) constant and the refresh thresholds of the four cylinders (tracks) corresponding to the four head HDs are 300 times, 300 times, 300 times, and 300 times respectively. In this case, the refresh control unit 660 decreases the two refresh thresholds corresponding to the two cylinders (tracks) corresponding to the remaining two head HDs other than the two head HDs corresponding to the correctable cylinders (correctable tracks) among the four head HDs by 100 times respectively. In this case, the TPI of the two head HDs that do not correspond to the correctable cylinders (correctable tracks) can be improved while maintaining the performance of the four head HDs. Furthermore, when the remaining two head HDs other than the two head HDs corresponding to the correctable cylinders (correctable tracks) in the four head HDs correspond to the two uncorrectable cylinders (uncorrectable tracks) to which random writing is performed, the refresh control unit 660 maintains the two refresh thresholds corresponding to the two cylinders (tracks) corresponding to the two head HDs at 300 times and 300 times, respectively. Here, "randomly writing to a predetermined track, for example, a correctable track (correctable cylinder)" is equivalent to "writing in a unit less than the unit for performing error correction in track units." Therefore, by performing random writing to a predetermined track, for example, a correctable track (correctable cylinder), error correction in track units may become impossible to perform in the track. When the number of writes to the correctable cylinder (correctable track) is above the refresh threshold of the uncorrectable cylinder (uncorrectable track), the refresh control unit 660 does not allow random writes to the correctable cylinder (correctable track) because the correctable cylinder (correctable track) becomes an uncorrectable track when random writes are performed on the correctable cylinder (correctable track), and performs read-correction-write on the correctable cylinder (correctable track) to maintain the correctable track.

[0074] Figure 3 It is a schematic diagram showing an example of track ECC processing. Figure 3 The direction in which the head HD moves relative to the disk DK in the circumferential direction, that is, the direction of reading / writing (hereinafter, sometimes referred to as the traveling direction) is shown. Figure 3 In the embodiment, the traveling direction is the rear direction (or sometimes simply referred to as the rear). In addition, the traveling direction may also be the front direction (or sometimes simply referred to as the front). Figure 3 The track TRn-1, the track TRn, and the track TRn+1 are shown. Figure 3In the example, tracks TRn-1 to TRn+1 are arranged in the order described from the outer direction to the inner direction. Track TRn is adjacent to track TRn-1 in the outer direction, and track TRn+1 is adjacent to track TRn in the outer direction. Track TRn-1 has sectors Sc(n-1)0, Sc(n-1)1, Sc(n-1)2, Sc(n-1)3, Sc(n-1)4, Sc(n-1)5, Sc(n-1)6, Sc(n-1)7, Sc(n-1)8, Sc(n-1)9, Sc(n-1)10, Sc(n-1)11, and a parity sector Pn-1. Sectors Sc(n-1)0, Sc(n-1)1, Sc(n-1)2, Sc(n-1)3, Sc(n-1)4, Sc(n-1)5, Sc(n-1)6, Sc(n-1)7, Sc(n-1)8, Sc(n-1)9, Sc(n-1)10, Sc(n-1)11, and parity sector Pn-1 are written continuously in the order of recording in the direction of travel. Parity sector Pn-1 is equivalent to the result of performing an XOR operation on sectors Sc(n-1)0 to Sc(n-1)11. In other words, parity sector Pn-1 is a valid parity sector. Track TRn-1 is equivalent to a correctable track. Track TRn has sectors Scn0, Scn1, Scn2, Scn3, Scn4, Scn5, Scn6, Scn7, Scn8, Scn9, Scn10, Scn11, and parity check sectors Pn. Sectors Scn0, Scn1, Scn2, Scn3, Scn4, Scn5, Scn6, Scn7, Scn8, Scn9, Scn10, Scn11, and parity check sectors Pn are written continuously in the order of recording in the direction of travel. Parity check sectors Pn are equivalent to the result of performing an XOR operation on sectors Scn0 to Scn11. In other words, parity check sectors Pn are valid parity check sectors. Track TRn is equivalent to a correctable track. Track TRn+1 includes sectors Sc(n+1)0, Sc(n+1)1, Sc(n+1)2, Sc(n+1)3, Sc(n+1)4, Sc(n+1)5, Sc(n+1)6, Sc(n+1)7, Sc(n+1)8, Sc(n+1)9, Sc(n+1)10, Sc(n+1)11, and a parity sector Pn+1. Sectors Sc(n+1)0, Sc(n+1)1, Sc(n+1)2, Sc(n+1)3, Sc(n+1)4, Sc(n+1)5, Sc(n+1)6, Sc(n+1)7, Sc(n+1)8, Sc(n+1)9, Sc(n+1)10, Sc(n+1)11, and a parity sector Pn+1 are written continuously in the order in which they are written in the moving direction.Parity sector Pn+1 is equivalent to the result of performing an XOR operation on sectors Sc(n+1)0 to Sc(n+1)11. That is, parity sector Pn+1 is a valid parity sector. Track TRn+1 is equivalent to a correctable track. For example, track TRn is set to a high refresh threshold.

[0075] exist Figure 3 In the example shown, when the MPU 60 detects an error sector in sectors Scn0 to Scn11 of track TRn, if the error sector cannot be corrected by retrying the read and sector ECC processing, the MPU 60 performs track ECC processing on the error sector based on the parity sector Pn to correct the error sector. When the MPU 60 writes to each sector of tracks TRn-1 and TRn+1, the number of writes corresponding to track TRn is increased. When the MPU 60 determines that the number of writes corresponding to track TRn exceeds the high refresh threshold, the MPU 60 performs refresh processing on track TRn.

[0076] Figure 4 It is a schematic diagram showing an example of track ECC processing. Figure 4 Corresponds to Figure 3 .

[0077] exist Figure 4 In the example shown, the MPU60 randomly overwrites the sectors Scn5, Scn6, and Scn7 of the track TRn. The MPU60 records the track TRn as an uncorrectable track in a predetermined recording area, for example, the volatile memory 70, the non-volatile memory 80, or the buffer memory 90. For example, the MPU60 sets the refresh threshold of the track TRn to a low refresh threshold. When the MPU60 detects an error sector in the sectors Scn0 to Scn11 of the track TRn, when the error sector cannot be corrected by retrying the read and using the sector ECC processing, the track ECC processing cannot be performed on the error sector of the track TRn. When the MPU60 writes to each sector of the tracks TRn-1 and TRn+1, the number of writes corresponding to the track TRn is increased. When the MPU60 determines that the number of writes corresponding to the track TRn exceeds the low refresh threshold, the MPU60 performs a refresh process on the track TRn.

[0078] Figure 5 It is a schematic diagram showing an example of track ECC processing. Figure 5 Corresponds to Figure 3 .

[0079] exist Figure 5In the example shown, the MPU 60 overwrites the rear sectors Scn8, Scn9, Scn10, and Scn11 of the track TRn. The MPU 60 performs an XOR operation on the rear sectors Scn8 to Scn11 to overwrite the parity sector Pn. The MPU 60 records the rear sectors Scn8 to Scn11 as correctable sectors in a predetermined recording area, for example, the volatile memory 70, the non-volatile memory 80, or the buffer memory 90. The MPU 60 records the front sectors Scn0 to Scn7 as uncorrectable sectors in a predetermined recording area, for example, the volatile memory 70, the non-volatile memory 80, or the buffer memory 90. The MPU 60 sets the refresh threshold of the rear sectors Scn8 to Scn11 to the high refresh threshold, and sets the refresh threshold of the front sectors Scn0 to Scn7 to the low refresh threshold. When MPU60 detects an error sector in the rear sectors Scn8 to Scn11 of track TRn, and the error sector cannot be corrected by read retry and sector ECC processing, it performs track ECC processing on the error sector based on parity sector Pn to correct the error sector. When MPU60 detects an error sector in the front sectors Scn0 to Scn7 of track TRn, and the error sector cannot be corrected by read retry and sector ECC processing, it cannot perform track ECC processing on the error sector of track TRn. When MPU60 writes sectors Sc(n-1)8 to Sc(n-1)11 of track TRn-1 and sectors Sc(n+1)8 to Sc(n+1)11 of track TRn+1, the number of writes corresponding to the rear sectors Scn8 to Scn11 of track TRn is increased. When the MPU60 determines that the number of writes corresponding to the rear sectors Scn8 to Scn11 of the track TRn exceeds the high refresh threshold, the MPU60 performs a refresh process on the rear sectors Scn8 to Scn11. When the MPU60 writes to the sectors Sc(n-1)0 to Sc(n-1)7 of the track TRn-1 and the sectors Sc(n+1)0 to Sc(n+1)7 of the track TRn+1, the MPU60 increases the number of writes corresponding to the front sectors Scn0 to Scn7 of the track TRn. When the MPU60 determines that the number of writes corresponding to the front sectors Scn0 to Scn7 of the track TRn exceeds the low refresh threshold, the MPU60 performs a refresh process on the front sectors Scn0 to Scn7. In the MPU60, the frequency of the refresh process on the rear sectors Scn8 to Scn11 is greater than the frequency of the refresh process on the front sectors Scn0 to Scn7.

[0080] Figure 6 Schematic diagram showing an example of refresh threshold values ​​LTH and HTH according to the present embodiment. Figure 6In the figure, the horizontal axis represents the number of writes (times), and the vertical axis represents the unrecoverable error rate (Unrecoverable Error Rate). Figure 6 In the vertical axis of , the unrecoverable error rate increases as it goes toward the front end of the arrow, and decreases as it goes toward the opposite side of the front end of the arrow. Figure 6 In the horizontal axis of , the number of writes increases as it goes toward the front end of the arrow, and decreases as it goes toward the side opposite to the front end of the arrow. Figure 6 The horizontal axis shows the low refresh threshold LTH and the high refresh threshold HTH. Figure 6 The figure shows the change of the irrecoverable error rate corresponding to the uncorrectable area (hereinafter, sometimes referred to as the change of the irrecoverable error rate) ERL1 and the change of the irrecoverable error rate corresponding to the correctable area (hereinafter, sometimes referred to as the change of the irrecoverable error rate) ERL2. Figure 6 As shown in the change of the unrecoverable error rate ERL1 and the change of the unrecoverable error rate ERL2, in the correctable area, the unrecoverable error rate is lower than the uncorrectable area with respect to the number of writes.

[0081] exist Figure 6 In the example shown, the MPU 60 sets the refresh threshold of the correctable area to the high refresh threshold, and sets the refresh threshold of the uncorrectable area to the low refresh threshold. The MPU 60 sets the TPI of the head HD corresponding to the uncorrectable area to the high TPI. When the MPU 60 determines that the number of writes corresponding to the correctable area exceeds the high refresh threshold, the MPU 60 performs a refresh process on the correctable area. When the MPU 60 determines that the number of writes corresponding to the uncorrectable area exceeds the low refresh threshold, the MPU 60 performs a refresh process on the uncorrectable area. The MPU 60 performs a refresh process on the uncorrectable area more frequently than on the correctable area.

[0082] Figure 7 FIG. 2 is a schematic diagram showing an example of measured values ​​of the change in the error count relative to the number of writes caused by a read process without performing track ECC processing. Figure 7 In the figure, the horizontal axis represents the number of writes (times), and the vertical axis represents the error count (times), which is equivalent to the number of errors that occurred during reading. Figure 7 In the horizontal axis of , the number of writes increases as it goes toward the front end of the larger arrow, and decreases as it goes toward the front end of the smaller arrow. Figure 7 In the vertical axis of , the error count increases toward the front end side of the larger arrow, and decreases toward the front end side of the smaller arrow. Figure 7The diagram shows the change in error count relative to the number of write times (hereinafter sometimes simply referred to as the change in error count) caused by normal read processing without performing track ECC processing corresponding to multiple heads HD (HD0, HD1, HD2, HD3, HD4, HD5, HD6, HD7, HD8, HD9, HD10, HD11, HD12, HD13, HD14, HD15, HD16, and HD17).

[0083] exist Figure 7 In the example shown, when the MPU 60 detects an error sector in the cylinders of the surfaces of the plurality of disks DK respectively corresponding to the plurality of heads HD, the heads HD read the cylinders without performing track ECC processing on the error sector.

[0084] Figure 8 This is a schematic diagram showing an example of measured values ​​of changes in error counts relative to the number of writes due to a read process in which a track ECC process is executed. Figure 8 and Figure 7 correspond.

[0085] exist Figure 8 In the example shown, when the MPU 60 detects an error sector in the cylinders of the surfaces of the plurality of disks DK respectively corresponding to the plurality of heads HD, the MPU 60 performs track ECC processing on the error sector and reads the cylinders by the heads HD.

[0086] The error rates corresponding to the multiple heads HD when the multiple heads HD perform read processing after performing track ECC processing on the predetermined cylinders of the surfaces of the multiple disks DK are generally better than the error rates corresponding to the multiple heads HD when the multiple heads HD perform read processing without performing track ECC on the predetermined cylinders of the surfaces of the multiple disks DK. Therefore, the refresh threshold corresponding to the correctable area can be larger than the current refresh threshold. In the case of increasing the refresh threshold corresponding to the correctable area, in order to maintain performance, the TPI is improved by reducing the refresh threshold corresponding to the uncorrectable area.

[0087] according to Figure 7 as well as Figure 8 , in the read process in which the track ECC process is performed, the MPU 60 increases the number of writes by more than 100 times in order to reach the same error count for 5 heads HD, and reduces the number of writes by the remaining 13 heads HD in order to reach the same error count. In other words, according to Figure 7 as well as Figure 8Compared with the read process without track ECC processing, the MPU 60 can set the refresh threshold of the cylinder of the 5 disk DK surfaces corresponding to the 5 heads HD to the high refresh threshold and set the refresh threshold of the cylinder of the 13 disk DK surfaces corresponding to the remaining 13 heads HD to the low refresh threshold in the read process with track ECC processing executed. In this case, the ADC (areal density capability) can be improved by about 0.5%.

[0088] Fig. 9 This is a flowchart showing an example of a method for setting a refresh threshold value according to the present embodiment.

[0089] MPU60 determines whether the predetermined area is a correctable area or not (B901). In other words, MPU60 determines whether the predetermined area is a correctable area or not. For example, MPU60 determines whether the predetermined track is a correctable track or not. For example, MPU60 determines whether the predetermined sector is a correctable sector or not. In the case where it is determined that the predetermined area is a correctable area (yes in B901), MPU60 sets the refresh threshold of the correctable area to the high refresh threshold (B902) and ends the processing. In other words, MPU60 sets the refresh threshold of the correctable track (or the correctable cylinder) to the high refresh threshold. MPU60 sets the refresh threshold of the correctable sector to the high refresh threshold.

[0090] When it is determined that the predetermined area is an uncorrectable area (No in B901), the MPU 60 sets the refresh threshold of the uncorrectable area to the low refresh threshold (B903) and ends the processing. In other words, the MPU 60 sets the refresh threshold of the uncorrectable track (or the uncorrectable cylinder) to the low refresh threshold. The MPU 60 sets the refresh threshold of the uncorrectable sector to the low refresh threshold.

[0091] Fig.10 This is a flowchart showing an example of a write process of a correctable area according to the present embodiment.

[0092] MPU60 receives a write command to write data to a correctable area (B1001). For example, MPU60 receives a write command to write data to a correctable track (or a correctable cylinder). MPU60 determines whether the number of writes to the correctable area is greater than or less than the low refresh threshold (B1002). For example, MPU60 determines whether the number of writes to the correctable track (or a correctable cylinder) is greater than or less than the low refresh threshold. In the case where it is determined that the number of writes to the correctable area is less than the low refresh threshold (No in B1002), MPU60 writes data to the correctable area (B1002) and terminates the processing. For example, in the case where it is determined that the number of writes to the correctable track is less than the low refresh threshold, MPU60 writes data to the correctable track and terminates the processing.

[0093] When it is determined that the number of writes to the correctable area is greater than the low refresh threshold (B1002 is), MPU60 does not allow random writing to the correctable area, executes read modify write (B1003), and ends the processing. For example, when it is determined that the number of writes to the correctable track (or correctable cylinder) is greater than the low refresh threshold, MPU60 does not allow random writing to the correctable track (or correctable cylinder), and executes read modify write. For example, when it is determined that the number of writes to the correctable track (or correctable cylinder) is greater than the low refresh threshold, MPU60 reads the correctable track, writes the updated track (or updated cylinder) after replacing the corresponding data of the correctable track (or correctable cylinder) with the data indicated by the write command, performs XOR operation on all update sector groups of the updated track (or updated cylinder) to calculate the updated parity sector, writes the updated sector group and the updated parity sector to the same track or cylinder, and ends the processing.

[0094] According to the present embodiment, the magnetic disk device 1 changes the refresh threshold corresponding to each cylinder of the surfaces of the multiple disks DK corresponding to each of the multiple heads HD. The magnetic disk device 1 has a high refresh threshold and a low refresh threshold. The magnetic disk device 1 sets the refresh threshold of the correctable area to the high refresh threshold, and sets the refresh threshold of the non-correctable area to the low refresh threshold. In the magnetic disk device 1, the frequency of executing the refresh processing on the non-correctable area set to the low refresh threshold is lower than the frequency of executing the refresh processing on the correctable area set to the high refresh threshold. When the magnetic disk device 1 writes data to the correctable area and the number of writes to the correctable area is greater than the low refresh threshold, the magnetic disk device 1 performs read-correction-write on the correctable area. Therefore, the magnetic disk device 1 can improve the TPI. Therefore, the magnetic disk device 1 can improve the recording density.

[0095] Several embodiments have been described, but these embodiments are provided as examples and are not intended to limit the scope of the invention. These new embodiments can be implemented in various other ways, and various omissions, substitutions, and changes can be made without departing from the gist of the invention. These embodiments and their variations are included in the scope and gist of the invention, and are included in the invention described in the scope of the claims and the scope equivalent thereto.

Claims

1. A magnetic disk device comprising: plate; a head for writing data to the disk and reading data from the disk; and A controller, wherein different rewrite thresholds for performing track rewrite processing are set in a first sector group and a second sector group, and the first sector group and the second sector group are rewritten at different frequencies, wherein the first sector group includes at least one first sector continuous in the circumferential direction of the disk from a first parity sector and the first parity sector, wherein the at least one first sector can perform error correction processing in units of tracks based on the first parity sector, and the second sector group includes at least one second sector continuous in the circumferential direction for which error correction processing in units of tracks cannot be performed, The controller sets a first rewrite threshold value for the first sector group, and sets a second rewrite threshold value smaller than the first rewrite threshold value for the second sector group. The controller executes the rewrite process on the second sector group at a second frequency that is lower than a first frequency at which the rewrite process is executed on the first sector group.

2. The magnetic disk device according to claim 1, The controller does not perform random writing on the first sector group when the first number of write times corresponding to the first sector group is greater than the second overwrite threshold.

3. The magnetic disk device according to claim 2, When the first write count is greater than the second overwrite threshold and a command to randomly write the first data to the first sector group is received, the controller reads the first sector group, replaces the second data corresponding to the first sector group with the first data, performs an XOR operation on the first data to calculate the second parity sector, and writes the first data and the second parity sector to the same track.

4. The magnetic disk device according to any one of claims 1 to 3, The first sector group and the second sector group are arranged on the same track.

5. A magnetic disk device comprising: A disk having a first surface and a second surface different from the first surface; a first header for writing data to the first surface and reading data from the first surface; and a second head for writing data to the second side and reading data from the second side, The magnetic disk device sets the rewrite threshold for performing track rewrite processing corresponding to the first cylinder of the first surface that can perform error correction processing in units of tracks as the first rewrite threshold, and sets the rewrite threshold corresponding to the first cylinder of the second surface that cannot perform error correction processing in units of tracks as the second rewrite threshold that is smaller than the first rewrite threshold.

6. A read / write processing method, A write processing method is applied to a magnetic disk device, the magnetic disk device comprising: a disk; and a head for writing data to the disk and reading data from the disk. In the read / write processing method, Different rewrite thresholds for performing track rewrite processing are set in the first sector group and the second sector group, the first sector group includes at least one first sector continuous in the circumferential direction of the disk from the first parity sector and the first parity sector, the at least one first sector can perform error correction processing in units of tracks based on the first parity sector, and the second sector group includes at least one second sector continuous in the circumferential direction for which error correction processing in units of tracks cannot be performed, rewriting the first sector group and the second sector group at different frequencies, A first rewrite threshold is set for the first sector group, and a second rewrite threshold smaller than the first rewrite threshold is set for the second sector group. The rewriting process is performed on the second sector group at a second frequency that is lower than a first frequency at which the rewriting process is performed on the first sector group.