US20220392487A1 - Magnetic disk device and read/write processing method - Google Patents
Magnetic disk device and read/write processing method Download PDFInfo
- Publication number
- US20220392487A1 US20220392487A1 US17/588,052 US202217588052A US2022392487A1 US 20220392487 A1 US20220392487 A1 US 20220392487A1 US 202217588052 A US202217588052 A US 202217588052A US 2022392487 A1 US2022392487 A1 US 2022392487A1
- Authority
- US
- United States
- Prior art keywords
- sector
- track
- region
- user
- write
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B5/00—Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
- G11B5/02—Recording, reproducing, or erasing methods; Read, write or erase circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/0021—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
- G11B20/00485—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier
- G11B20/00565—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier wherein parity data is encrypted
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B5/00—Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
- G11B5/012—Recording on, or reproducing or erasing from, magnetic disks
Definitions
- Embodiments described herein relate generally to a magnetic disk device and a read/write processing method.
- a magnetic disk device having a technology for achieving high recording density has been developed.
- a magnetic disk device that achieves high recording density there is a magnetic disk device capable of performing a shingled recording type (shingled write magnetic recording (SMR), or shingled write recording (SWR)) in which a plurality of tracks are overwritten in a radial direction of a disk.
- SMR shingled write magnetic recording
- SWR shingled write recording
- the magnetic disk device has a track including a parity sector obtained by performing an exclusive OR (XOR) operation on each sector of a particular track.
- XOR exclusive OR
- the magnetic disk device performs error correction processing (hereinafter, may be referred to as track ECC processing) of correcting the error by an error correction code based on a parity sector corresponding to the track.
- track ECC processing error correction processing
- FIG. 1 is a block diagram illustrating a configuration of a magnetic disk device according to an embodiment.
- FIG. 2 is a schematic diagram illustrating an example of a disk according to an embodiment.
- FIG. 3 is a schematic diagram illustrating an example of shingled recording processing.
- FIG. 4 is a schematic diagram illustrating an example of normal recording processing.
- FIG. 5 is a schematic diagram illustrating an example of a plurality of tracks on which shingled recording is performed in a band region in a case where sector slip processing is not performed.
- FIG. 6 is a schematic diagram illustrating an example of a plurality of tracks on which shingled recording is performed in a band region in a case where sector slip processing is performed.
- FIG. 7 is a schematic diagram illustrating an example of parity sector alternative processing according to the embodiment.
- FIG. 8 is a schematic diagram illustrating an, example of parity sector alternative processing according to the embodiment.
- FIG. 9 is a flowchart illustrating an example of a write processing method according to the embodiment.
- FIG. 10 is a flowchart illustrating an example of a read processing method according to the embodiment.
- a magnetic disk device comprising: a disk; a head that writes data with respect to the disk and reads data from the disk; and a controller that overwrites a second track on a first track in a radial direction of the disk, performs first alternative processing of recording a first user sector in a first region when writing of the first user sector available by a user in the first track is disabled, and performs second alternative processing different from the first alternative processing of recording a first parity sector in a second region when writing of the first parity sector acquired by an XOR operation in the first track is disabled.
- FIG. 1 is a block diagram illustrating a configuration of a magnetic disk device 1 according to an embodiment.
- the magnetic disk device 1 includes: a head disk assembly (HDA) described later; a driver IC 20 ; a head amplifier integrated circuit (hereinafter, head amplifier IC or preamplifier) 30 ; a volatile memory 70 ; a nonvolatile memory 80 ; a buffer memory (buffer) 90 ; and a system controller 130 that is an integrated circuit of one chip.
- the magnetic disk device 1 is connected to a host system (hereinafter, simply referred to as a host) 100 .
- the HDA includes: a magnetic disk (hereinafter, referred to as disk) 10 ; a spindle motor (hereinafter, referred to as SPM) 12 ; an arm 13 mounted with a head 15 ; and a voice coil motor (hereinafter, referred to as VCM) 14 .
- the disk 10 is attached to the SPM 12 and rotates by driving of the SPM 12 .
- the arm 13 and the VCM 14 compose an actuator.
- the actuator controls the head 15 mounted in the arm 13 to move to a particular position on the disk 10 , by driving of the VCM 14 .
- the disk 10 and the head 15 may be provided by two or more.
- a user data region 10 a available from a user a media cache (alternatively, may be referred to as media cache region) 10 b that temporarily holds data (or a command) transferred from a host or the like before the data is written in a particular region of the user data region 10 a, and a system area 10 c in which information necessary for system management is written are assigned in a region where the data can be written.
- the media cache 10 b may not be arranged on the disk 10 .
- a direction from the inner circumference to the outer circumference of the disk 10 or a direction from the outer circumference to the inner circumference of the disk 10 is referred to as a radial direction.
- a direction from the inner circumference to the outer circumference is referred to as an outward direction (outer side), and a direction from the inner circumference to the outer circumference is referred to as an inward direction (inner side).
- a direction orthogonal to the radial direction of the disk 10 is referred to as a circumferential direction.
- the circumferential direction corresponds to a direction along the circumference of the disk 10 .
- a particular position in the radial direction of the disk 10 may be referred to as a radial position, and a particular position in the circumferential direction of the disk 10 may be referred to as a circumferential position.
- the radial position and the circumferential position may be collectively referred to simply as a position.
- the “track” refers to one recording region among a plurality of recording regions obtained by dividing in the radial direction of the disk 10 , data written in one recording region among a plurality of recording regions obtained by dividing in the radial direction of the disk 10 , a path of the head 15 at a particular radial position, data extending in the circumferential direction of the disk 10 , data for one round written in a track at a particular radial position, data written in a particular track of the disk 10 , a part of data written in a particular track of the disk 10 , or other various meanings.
- the “sector” refers to one recording region among a plurality of recording regions obtained by dividing a particular track of the disk 10 in the circumferential direction, data written in one recording region among a plurality of recording regions obtained by dividing a particular track of the disk 10 in the circumferential direction, data written at a particular circumferential position at a particular radial position of the disk 10 , data written in a particular sector of a particular track of the disk 10 , or various other meanings.
- the “radial width of a track” may also be referred to as a “track width”.
- “Path passing through a center position of a track width in a particular track” is referred to as a “track center”.
- the data available by the user written in the user data region 10 a may be referred to as user data.
- a sector in which the user data is written may be referred tows a user sector.
- a logical block address (LBA) is set in the user sector.
- the head 15 includes a write head 15 W and a read head 15 P mounted to a slider, with the slider as a body.
- the write head 15 W writes data in the disk 10 .
- the read head 15 R reads data written in the disk 10 .
- the “write head 15 W” may be simply referred to as a “head 15 ”
- the “read head I 5 R” may be simply referred to as a “head 15 ”
- the “write head 15 W and read head 15 R” may be collectively referred to as a “head 15 ”.
- a “center portion of the head 15 ” may be referred to as a “head 15 ”, a “center portion of the write head 15 W” may be referred to as a “write head 15 W”, and a “center portion of the read head 15 R” may be referred to as a “read head 15 P”.
- a “center portion of the write head 15 W” may be simply referred to as a “head 15 ”
- a “center portion of the read head 15 R” may be simply referred to as a “head 15 ”.
- Positioning the center portion of the head 15 in a track center of a particular track may be expressed as “positioning the head 15 in a particular track”, “arranging the head 15 in a particular track”, “positioning the head 15 in a particular track”, or the like.
- FIG. 2 is a schematic diagram illustrating an example of the disk 10 according to the present embodiment.
- a direction in which the disk 10 rotates is referred to as a rotation direction.
- the rotation direction is indicated in the counterclockwise direction, but may be in the opposite direction (clockwise direction).
- the disk 10 is divided into an inner circumferential region IR located in the inward direction, an outer circumferential region OR located in the outward direction, and a middle circumferential region MR located between the inner circumferential region IR and the outer circumferential region OR.
- the disk 10 includes a user data region 20 a, a media cache 10 b, and a system area 10 c.
- the user data region 10 a, the media cache 10 b, and the system area 10 c are arranged in the described order in the outward direction.
- the media cache 10 b is arranged adjacent to the user data region 10 a in the outward direction.
- the media cache 10 b is arranged between the user data region 10 a and the system area 10 c.
- the system area 10 c is arranged adjacent to the media cache 10 b in the outward direction.
- the arrangement order of the user data region 10 a, the media cache 10 b, and the system area 10 c is not limited to the order illustrated in FIG. 2 , and may take any order.
- the system area 10 c may be arranged adjacent to the user data region 10 a in the outward direction.
- the user data region 10 a is arranged from the inner circumferential region IR to the outer circumferential region OR in the radial direction.
- the media cache 10 b is arranged in the outer circumferential region OR in the radial direction.
- the media cache 10 b may be located in the inner circumferential region IR or the middle circumferential region MR.
- the media cache 10 b may be distributed and located in the outer circumferential region OR, the middle circumferential region MR, and the inner circumferential region IR.
- the system area 10 c is arranged in the outer circumferential region OR in the radial direction.
- system area 10 c is arranged from a particular position of the outer circumferential region OR to the outermost circumference of the disk 10 .
- the system area 10 c may be arranged in the middle circumferential region MR or the inner circumferential region IR.
- data can be written in a shingled recording (shingled write magnetic recording (SMR) or shingled write recording (SWR)) type in which a track to be written next is overwritten in a part in the radial direction of a particular track.
- data may be written in a conventional magnetic recording (CMR) type in which a track (hereinafter, may be referred to as adjacent track) radially adjacent to a particular track is written at a particular interval (gap) in the radial direction from the particular track or data can be written at random.
- CMR conventional magnetic recording
- write data in the shingled recording type may be simply referred to as “perform shingled recording”, “perform shingled recording processing”, or simply as “write”.
- write processing other than “normal recording processing” may be referred to as “shingled recording processing”.
- write data in the normal recording type may be simply referred to as “perform normal recording”, “perform normal recording processing”, or simply as “write”.
- the head 15 rotates about the rotation axis by driving of the VCM 14 with respect to the disk 10 , moves from the inward direction to the outward direction, and is arranged at a particular position, or moves from the outward direction to the inward direction and is arranged at a particular position.
- a driver IC 20 controls driving of the SPM 12 and the VCM 14 according to control by the system controller 130 (specifically, an MPU 60 described later).
- the head amplifier IC (preamplifier) 30 includes a read amplifier, a write driver, and the like.
- the read amplifier amplifies a read signal read from the disk 10 , and outputs the read signal to the system controller 130 (specifically, a read/write (R/W) channel 40 described later).
- the write driver outputs a write current according to the signal output from the R/W channel 40 , to the head 15 .
- the volatile memory 70 is a semiconductor memory in which data saved is lost when a power supply is interrupted.
- the volatile memory 70 stores data required for processing by each unit in the magnetic disk device 1 , and the like.
- the volatile memory 70 is, for example, a dynamic random access memory (DRAM), or a synchronous dynamic random access memory (SDRAM).
- DRAM dynamic random access memory
- SDRAM synchronous dynamic random access memory
- the nonvolatile memory 80 is a semiconductor memory that records data saved even when a power supply is interrupted.
- the nonvolatile memory 80 is, for example, a flash read only memory (ROM) (FROM) of an NOR type or an NAND type.
- the buffer memory 90 is a semiconductor memory that temporarily records data transmitted and received between the magnetic disk device 1 and the host 100 , and the like.
- the buffer memory 90 may be configured integrally with the volatile memory 70 .
- the buffer memory 90 is, for example, the DRAM, a static random access memory (SRAM), the SDRAM, a ferroelectric random access memory (FeRAM), or a magnetoresistive random access memory (MRAM).
- the system controller (controller) 130 is, for example, realized by using a large-scale integration (LSI) called a System-on-a-Chip (SoC) in which a plurality of elements are integrated in a single chip.
- the system controller 130 includes a read/write (R/W) channel 40 , a hard disk controller (HDC) 50 , and a microprocessor (MPU) 60 .
- the system controller 130 is, electrically connected to, for example, the driver IC 20 , the head amplifier IC 30 , the volatile memory 70 , the nonvolatile memory 80 , the buffer memory 90 , and the host system 100 .
- the R/W channel 40 performs signal processing of data (hereinafter, may be referred to as read data) transferred from the disk 10 to the host 100 and data (hereinafter, may be referred to as write data) transferred from the host 100 according to an instruction from the MPU 60 as described later.
- the R/W channel 40 has a circuit or a function of modulating write data.
- the R/W channel 40 has a circuit or a function of measuring and demodulating the signal quality of the read, data.
- the R/W channel 40 is electrically connected to the head amplifier IC 30 , the HDC 50 , and the MPU 60 .
- the HDC 50 controls data transfer.
- the HDC 50 controls data transfer between the host 100 and the disk 10 according to an instruction from the MPU 60 as 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 .
- the MPU 60 is a main controller that controls each unit of the magnetic disk device 1 .
- the MPU 60 performs servo control for controlling the VCM 14 via the driver IC 20 and positioning the head 15 .
- the MPU 60 controls the SPM 12 via the driver. IC 20 to rotate the disk 10 .
- the MPU 60 controls write operation of data to the disk 10 , and selects data forwarded from the host 100 , for example, a destination to save of the write data.
- the MPU 60 controls read operation of data from the disk 10 and controls processing of data transferred from the disk 10 to the host 100 , for example, read data.
- the MPU 60 manages a region in which data is recorded.
- the MPU 60 is connected to each unit 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 .
- the MPU 60 includes a read/write control unit 610 , a user sector management unit 620 , a parity sector management unit 630 , an error correction unit 640 , and the like.
- the MPU 60 performs processing of each unit, for example, the read/write control unit 610 , the user sector management unit 620 , the parity sector management unit 630 , the error correction unit 640 , and the like on firmware.
- the MPU 60 may include each unit, for example, the read/write control unit 610 , the user sector management unit 620 , the parity sector management unit 630 , the error correction unit 640 , and the like as a circuit.
- the read/write control unit 610 , the user sector management unit 620 , the parity sector management unit 630 , the error correction unit 640 , and the like may be included in the R/W channel 40 or the HDC 50 .
- the read/write control unit 610 controls read processing of reading data from the disk 10 and write processing of writing data to the, disk 10 according to a command or the like from the host 100 .
- the read/write control unit 610 controls the VCM 14 via the driver IC 20 , positions the head 15 at a particular position on the disk 10 , and performs read processing or write processing.
- the term “access” may be used in a sense including recording or writing data in a particular region (or write processing), reading or reading data from a particular region (or read processing), or moving the head 15 or the like to a particular region.
- the read/write control unit 610 performs shingled recording of data for each particular region of the disk 10 according to a command or the like from the host 100 .
- a unit of a region where shingled recording of data is performed may be referred to as a band (or band region).
- the read/write control unit 610 sequentially performs shingled recording a plurality of tracks in the band region. Note that the read/write control unit 610 may normally record data in a particular region of the disk 10 according to a command or the like from the host 100 .
- the read/write control unit 610 When a write fault occurs at the time of writing (or shingled recording of) data to a particular region, for example, a particular sector, the read/write control unit 610 performs write retry of writing data that cannot be written due to the occurrence of the write fault to the same sector again.
- Terms such as “same”, “identical”, “match”, and “equivalent” include not only the meaning of exactly the same but also the meaning of being different to an extent that can be regarded as being substantially the same.
- the read/write control unit 610 determines whether the number of times (hereinafter, may be referred to as the number of write retries) of performing the write retry exceeds an upper limit value (hereinafter, may be referred to as a write retry upper limit value) of the number of times the write retry can be performed or is equal to or less than the write retry upper limit value.
- the read/write control unit 610 determines that the number of write retries is equal to or less than the write retry upper limit value, the read/write control unit 610 performs the write retry.
- the upper limit value (hereinafter, may be referred to as a write retry upper limit value) of the number of times write retry can be performed can be set to a small value due to track density design.
- the write retry upper limit value is once.
- the write retry upper limit value is several times or less.
- FIG. 3 is a schematic diagram illustrating an example of shingled recording processing.
- FIG. 3 illustrates a traveling direction.
- a direction in which the head 15 sequentially writes and reads data with respect to the disk 10 in the circumferential direction that is, a direction in which the head 15 travels with respect to the disk 10 in the circumferential direction may be referred to as a traveling direction.
- the traveling direction is opposite to the rotation direction of the disk 10 .
- the traveling direction may be the same direction as the rotation direction of the disk 10 .
- the traveling direction In the circumferential direction, the traveling direction may be referred to as rear direction or rear.
- a direction opposite to the rear direction may be referred to as front direction or front.
- FIG. 3 illustrates a forward direction.
- a direction in which shingled recording of a plurality of tracks are continuously performed in the radial direction that is, a direction in which a track to be written next is overlapped with a track written one ahead in the radial direction may be referred to as a forward direction.
- the inward direction is the forward direction in the radial direction, but the outward direction may be the forward direction.
- FIG. 3 illustrates a band region BAe.
- a plurality of tracks STR 1 , STR 2 , and STR 3 are continuously overwritten in the forward direction in the described order.
- a region in which data is written by the write head 15 W may be referred to as a write track
- a remaining region other than a region in which another write track is overwritten in a particular track may be referred to as a read track.
- FIG. 3 illustrates a track center STC 1 of the track STR 1 in a case where another track is not overwritten, a track center STC 2 of the track STR 2 in a case where another track is not overwritten, and a track center STC 3 of the track STR 3 in a case where another track is not overwritten.
- the tracks STR 1 , STR 2 , and STR 3 are written at a track pitch STP.
- the track center STC 1 of the track STR 1 and the track center STC 2 of the track STR 2 are separated by the track pitch STP.
- the track center STC 2 of the track STR 2 and the track center STC 3 of the track STR 3 are separated by the track pitch STP.
- the tracks STR 1 to STR 3 may be written at different track pitches.
- the radial width of the region where the track STR 2 is not overwritten in the track STR 1 and the radial width of the region where the track STR 3 is not overwritten in the track STR 2 are the same.
- the radial width of the region where the track STR 2 is not overwritten in the track STR 1 and the radial width of the region where the track STR 3 is not overwritten in the track STR 2 may be different from each other.
- each track is illustrated in a rectangular shape extending in the circumferential direction with a particular track width, but is actually curved along the circumferential direction.
- Each track may have a wave shape extending in the circumferential direction while varying in the radial direction.
- three tracks are overwritten, but less than three tracks or more than. three tracks may be overwritten.
- the MPU 60 sequentially performs shingled recording of the tracks STR 1 to STR 3 in the band region BAe in the inward direction at the track pitch SIP.
- the MPU 60 may sequentially perform shingled recording of the tracks STR 1 to STR 3 in the outward direction at the track pitch SIP.
- the MPU 60 writes the track STR 2 at the track pitch SIP in the inward direction of the track STR 1 and overwrites the track STR 2 in a part of the inward direction of the track STR 1 .
- the MPU 60 writes the track STR 3 at the track, pitch STP in the inward direction of the track STR 2 , and overwrites the track STR 3 in a part of the inward direction of the track STR 2 .
- FIG. 4 is a schematic diagram illustrating an example of normal recording processing.
- FIG. 4 illustrates tracks CTR 1 , CTR 2 , and CTR 3 .
- the track widths of the tracks CTR 1 , CTR 2 , and CTR 3 are the same.
- the track widths of the tracks CTR 1 to CTR 3 may be different.
- FIG. 4 illustrates the track center CTC 1 of the track CTR 1 , the track center CTC 2 of the track CTR 2 , and the track center CTC 3 of the track CTR 3 .
- the tracks CTR 1 , CTR 2 , and CTR 3 are written at the track pitch CTP.
- the track center CTC 1 of the track CTR 1 and the track center CTC 2 of the track CTR 2 are separated by a track pitch FTP.
- the track center CTC 2 of the track CTR 2 and the track center CTC 3 of the track CTR 3 are separated by a track pitch CTP.
- the track CTR 1 and the track CTR 2 are separated by a gap GP.
- the track CTR 2 and the track CTR 3 are separated by the gap GP.
- the tracks CTR 1 to CTR 3 may be written at different track pitches.
- each track is illustrated in a rectangular shape extending in the circumferential direction with a particular track width, but is actually curved along the circumferential direction.
- Each track may have a wave shape extending in the circumferential direction while varying in the radial direction.
- the MPU 60 positions the head 15 at the track center CTC 1 in a particular region of the disk 10 , for example, the user data region 10 a, and normally records the track CTR 1 or a particular sector of the track CTR 1 .
- the MPU 60 positions the head 15 at the track center CTC 2 separated from the track center CTC 1 of the track CTR 1 in the inward direction at the track pitch CTP, and normally records the track CTR 2 or a particular sector of the track CTR 2 .
- the MPU 60 positions the head 15 at the track center CTC 3 separated from the track center CTC 2 of the track CTR 2 in the inward direction at the track pitch CTP, and normally records the track CTR 3 or a particular sector of the track CTR 3 .
- the MPU 60 may sequentially and normally record the tracks CTR 1 , CTR 2 , and CTR 3 in a particular region of the disk 10 , for example, the user data region 10 a, or may randomly and normally record the tracks CTR 1 , CTR 2 , and CTR 3 in a particular sector of the track CTR 1 , a particular sector of the track CTR 2 , and a particular sector of the track CTR 3 .
- the user sector management unit 620 manages a particular sector of the disk 10 , for example, a user sector.
- the user sector management unit 620 manages an LBA corresponding to a particular user sector of the disk 10 and data to be written in the particular user sector, for example, user data.
- the user sector management unit 620 may record a relationship among a particular user sector, an SPA corresponding to the particular user sector, and user data to be written in the particular user sector as a table in the disk 10 , the volatile memory 70 , the nonvolatile memory 80 , the buffer memory 90 , and the like.
- the user sector management unit 620 writes particular user data in a particular user sector corresponding to a particular LBA according to a command of the host 100 or the like.
- the user sector management unit 620 is arranged over a plurality of tracks in the band region according to a command of the host 100 or the like, and performs shingled recording of the user data in a plurality of user sectors corresponding to a plurality of consecutive LBAs according to the order of the LBAs.
- the user sector management unit 620 performs alternative processing (hereinafter, may be referred to as user sector alternative processing) of performing shingled recording of the user data (hereinafter, may be referred to as fault write data) to be written in the fault sector and the user data subsequent to the fault write data in the user data region 10 a different from the fault sector.
- alternative processing hereinafter, may be referred to as user sector alternative processing
- the user sector management unit 620 performs shingled recording (or resumes shingled recording) of the fault write data and the user data subsequent to the fault write data from a user sector (hereinafter, may be referred to as a circumferential sector) arranged subsequent to the fault sector.
- the user sector management unit 620 performs shingled recording (or resumes shingled recording) of the user data subsequent to the fault write data from the fault write data from the circumferential sector subsequently deviated from the fault sector to the user sector subsequent to the circumferential sector.
- the user sector management unit 620 performs shingled recording (or resumes shingled recording) of the fault write data and the user data subsequent to the fault write data from the circumferential sector corresponding to the LBA in which the LEA corresponding to the fault sector is incremented by a particular value.
- the user sector management unit 620 performs shingled recording (or resumes shingled recording) of the fault write data and the user data subsequent to the fault write data from the circumferential sector corresponding to the LBA in which the LBA of the fault sector is incremented by a particular value to the user sector subsequent to the circumferential sector.
- the user sector management unit 620 performs shingled recording (or resumes shingled recording) of the fault write data and the user data subsequent to the fault write data from a user sector (hereinafter, may be referred to as a circumferential adjacent sector) subsequently adjacent to the fault sector.
- the user sector management unit 620 performs shingled recording (or resumes shingled recording) of the user data subsequent to the fault write data from the fault write data from the circumferential adjacent sector subsequently deviated by one sector from the fault sector to the user sector subsequent to the circumferential adjacent sector.
- the user sector management unit 620 performs shingled recording (or resumes shingled recording) of the fault write data and, the user data subsequent to the fault write data from the circumferential adjacent sector corresponding to the LBA in which the LBA corresponding to the fault sector is incremented by one.
- the, user sector management unit 620 performs shingled recording (or resumes shingled recording) of the fault write data and the user data subsequent to the fault write data from the circumferential adjacent sector corresponding to the LBA in which the LBA of the fault sector is incremented by one to the user sector subsequent to the circumferential adjacent sector.
- the user sector management unit 620 determines whether the number of write retries exceeds the write retry upper limit value or is equal to or less than the write retry upper limit value.
- the user sector management unit 620 determines that the number of write retries exceeds the write retry upper limit value, the user sector management unit 620 performs shingled recording (or resumes shingled recording) of the fault write data to be written from the circumferential sector arranged subsequent to the fault sector to the fault sector and the user data subsequent to the fault write data.
- the user sector management unit 620 determines that the number of write retries exceeds the write retry upper limit value
- the user sector management unit 620 performs shingled recording of the user data subsequent to the fault write data from the fault write data to the user sector subsequent to the fault sector from the circumferential sector later deviated from the fault sector to the user sector subsequent to the circumferential sector.
- the user sector management unit 620 determines that the number of write retries exceeds the write retry upper limit value, the user sector management unit 620 performs shingled recording (or resumes shingled recording) of the fault write data from the circumferential sector corresponding to the LBA in which the LBA corresponding to the fault sector is incremented by a particular value and the user data subsequent to the fault write data.
- the user sector management unit 620 determines that the number of write retries exceeds the write retry upper limit value, the user sector management unit 620 performs shingled recording of the user data subsequent to the fault write data from the fault write data from the circumferential sector corresponding to the LBA obtained by incrementing the LBA of the fault sector by a particular value to the user sector subsequent to the circumferential sector.
- the user sector management unit 620 determines that the number of write retries exceeds the write retry upper limit value, the user sector management unit 620 performs shingled recording (or resumes shingled recording) of the fault write data and the user data subsequent to the fault write data from the circumferential adjacent sector subsequently adjacent to the fault sector. In other words, when the user sector management unit 620 determines that the number of write retries exceeds the write retry upper limit value, the user sector management unit 620 performs shingled recording of the user data subsequent to the fault write data from the fault write data to the user sector subsequent to the fault sector from the circumferential adjacent sector later deviated by one sector from the fault sector to the user sector subsequent to the circumferential adjacent sector.
- the user sector management unit 620 determines that the number of write retries exceeds the write retry upper limit value, the user sector management unit 620 performs shingled recording (or resumes shingled recording) of the fault write data from the circumferential adjacent sector corresponding to the LBA in which the LBA corresponding to the fault sector is incremented by one and the user data subsequent to the fault write data.
- the user sector management unit 620 determines that the number of write retries exceeds the write retry upper limit value, the user sector management unit 620 performs shingled recording of the user data subsequent to the fault write data from the fault write data from the circumferential adjacent sector corresponding to the LBA obtained by incrementing the LBA of the fault sector by one to the user sector subsequent to the circumferential adjacent, sector.
- writing the fault write data to the user data subsequent to the fault write data from the circumferential adjacent sector subsequently deviated from, for example, subsequent by one sector to the fault sector to the user sector subsequent to the circumferential adjacent sector may be referred to as sector slip or sector slip processing.
- the parity sector management unit 630 manages a particular parity sector (or parity data) of the disk 10 .
- the parity sector management unit 630 calculates a parity sector by performing an exclusive OR (XOR) operation, writes the calculated parity sector in a particular region of the disk 10 , for example, a region in which an LBA is not set (hereinafter, may be referred to as an LBA unset region), and manages the parity sector.
- the parity sector includes, for example, a parity bit and a parity detection code.
- the parity sector management unit 630 may record the relationship between a particular parity sector and the LBA unset region corresponding to the particular parity sector as a table in the disk 10 , the volatile memory 70 , the nonvolatile memory 80 , the buffer memory 90 , and the like.
- the parity sector management unit 630 performs an XOR operation on all sectors of a particular track to calculate parity sectors, and writes the calculated parity sectors to a particular sector (hereinafter, may be referred to as a parity write sector) of this track. No LBA is set in the parity write sector.
- the parity sector management unit 630 may calculate a parity sector by performing an XOR operation on some sectors of a particular track and write the calculated parity sector in a parity write sector of this track.
- the parity sector management unit 630 performs an XOR operation on the user data written in all sectors (hereinafter, may be referred to as an effective sector) other than the fault sector in a particular track to calculate a parity sector, and, writes the calculated parity sector in the parity write sector of this track.
- the parity sector management unit 630 performs alternative processing (hereinafter, may be referred to as parity sector alternative processing) of recording (or saving) parity sector (hereinafter, may be referred to as fault parity sector) to be written in the fault parity write sector in a region (hereinafter, may be referred to as non-user data region or an alternative region) other than the user data region 10 a different from the fault parity write sector No LBA is set in the alternative region.
- parity sector alternative processing of recording (or saving) parity sector (hereinafter, may be referred to as fault parity sector) to be written in the fault parity write sector in a region (hereinafter, may be referred to as non-user data region or an alternative region) other than the user data region 10 a different from the fault parity write sector No LBA is set in the alternative region.
- the parity sector alternative processing and the user sector alternative processing described above are different alternative processes.
- the parity sector alternative processing and the user sector alternative processing may be collectively referred to as alternative processing.
- the alternative processing includes processing of recording particular data in a region different from a region in which the data is scheduled to be written.
- the non-user data region includes, for example, the media cache 10 b, the system area 10 c, the nonvolatile memory 80 , and the like of the disk 10 .
- the parity sector management unit 630 records (or saves) the fault parity sector in an alternative region, for example, (a specific area (hereinafter, may be referred to as parity recording area) for recording a parity sector of) the system area 10 c of the disk 10 .
- the parity sector management unit 630 determines whether the number of write retries exceeds the write retry upper limit value or is equal to or less than the write retry upper limit value.
- the parity sector management unit 630 determines that the number of write retries exceeds the write retry upper limit value, the parity sector management unit 630 records (or saves) the fault parity sector in an alternative region, for example, (the parity recording region of) the system area 10 c of the disk 10 .
- the error correction unit 640 recovers (corrects, relieves, or performs error correction of) unreadable data (hereinafter, may be referred to as read error data or error data) or an unreadable sector (hereinafter, may be referred to as a read error sector or an error sector).
- the error correction unit 640 performs read retry of reading error data or an error sector a plurality of times.
- the error correction unit 640 performs processing (hereinafter, may be referred to as ECC processing or error correction processing) of correcting an error of data or a sector based on an error correction code.
- the error correction unit 640 performs ECC processing (hereinafter, may be referred to as sector ECC processing) on the error sector based on error data of a particular track or an ECC (hereinafter, may be referred to as sector FCC) corresponding to the error sector.
- the error correction unit 640 performs ECC processing (hereinafter, may be referred to as track ECC processing) on the error sector based on error data of a particular track or an ECC (hereinafter, may be referred to as track ECC) corresponding to the error sector.
- track ECC processing ECC processing
- track ECC processing ECC processing
- track ECC processing corresponding to the error sector.
- the error correction unit 640 performs track FCC processing on an error sector of a particular track based on parity data or a parity sector corresponding to the track.
- the error correction unit 640 may record information (hereinafter, may be referred to as error sector information) related to the error sector as a table in a particular recording region, for example, the disk 10 , the volatile memory 70 , or the nonvolatile memory 80 .
- the error correction unit 640 determines whether the parity alternative processing has been performed or the parity alternative processing has not been performed in this track. When the error correction unit 640 determines that the parity alternative processing has been performed in the particular track, the error correction unit 640 reads the parity sector corresponding to the track from the alternative region, and performs the track EGO processing on the error sector of the track based on the parity sector.
- FIG. 5 is a schematic diagram illustrating an example of a plurality of shingled recorded tracks TRk and TRk+1 of a band region BA 0 in a case where the sector slip processing is not performed.
- FIG. 5 illustrates the band region BA 0 .
- shingled recording of the track TRk and the track TRk+1 is performed in the forward direction in the described order.
- Shingled recording of three or more tracks may be performed in the forward direction in the band region BA 0 .
- the track TRk includes user sectors Sc 00 , Sc 01 , Sc 02 , Sc 03 , . . . , Sc 0 n, and a parity write sector Ps 0 .
- the user sectors Sc 00 , Sc 01 , Sc 02 , Sc 03 , . . . , Sc 0 n, and the parity write sector Ps 0 are continuously arranged in the traveling direction in the described order.
- the parity write sector Ps 0 is subsequently adjacent to the last user sector Sc 0 n among all the user sectors in the track TRk.
- LBA LA 0 is set to the user sector Sc 00
- LBA LA 1 is set to the user sector S 01
- LBA LA 2 is set to the user sector Sc 02
- LBA LA 3 is set to the user sector Sc 03
- LEA LAn is set to the user sector Sc 0 n.
- FIG. 5 illustrates user data DAT 0 , DAT 1 , DAT 2 , DAT 3 , . . . , and DATn written in the track TRk.
- FIG. 5 illustrates the parity sector PO written in the parity write sector Ps 0 of the track TRk.
- the track TRk+1 includes user sectors Sc 10 , Sc 11 , Sc 12 , Sc 13 , . . . , Sc 1 n, and a parity write sector Ps 1 .
- the user sectors Sc 10 , Sc 11 , Sc 12 , Sc 13 , . . . , Sc 1 n, and the parity write sector Ps 1 are continuously arranged in the traveling direction in the described order.
- the parity write sector Ps 1 is adjacent to the last user sector Sc 1 n in the track TRk+1.
- LBA LAn+1 is set to the user sector Sc 10
- LBA LAn+2 is set to the user sector Sc 11
- LBA LAn+3 is set to the user sector Sc 12
- LBA LAn+3 is set to the user sector Sc 13
- LBA LAn+m is set to the user sector Sc 1 n.
- FIG. 5 illustrates user data DATn+1, DATn+2, DATn+3, . . . , and DATn+m written in the track TRk+1.
- FIG. 5 illustrates the parity sector P 1 written in the parity write sector Ps 1 of the track TRk+1.
- the MPG 60 performs shingled recording of DAT 0 to DATn in the user sectors Sc 00 to Sc 0 n, respectively, and writes the parity sector P 0 acquired by performing the XOR operation on DAT 0 to DATn to the parity write sector Ps 0 .
- the MPG 60 performs shingled recording of DATn+1 to DATn+m in the user sectors Sc 10 to Sc 1 n, respectively, and writes the parity sector P 1 acquired by performing the XOR operation on DATn+1 to DATn+m to the parity write sector Ps 1 .
- FIG. 6 is a schematic diagram illustrating an example of a plurality of shingled recorded tracks TRk and TRk+1 of the band region BA 0 in a case where the sector slip processing is performed.
- FIG. 6 corresponds to FIG. 5 .
- the user sector Sc 02 corresponds to a fault sector.
- FIG. 6 illustrates the user data DATn ⁇ 1 written in the track TRk and the user data DATn+m ⁇ 1 written in the track TRk+1.
- FIG. 6 illustrates a parity sector P 2 written in the parity write sector Ps 0 of the track TRk and a parity sector P 3 written in the parity write sector Psi of the track TRk+1.
- the MPU 60 performs shingled recording of DAT 2 in the user sector Sc 03 , shingled recording of DATn ⁇ 1 in the user sector Sc 0 n, and writes the parity sector P 2 acquired by performing the XOR operation on DAT 0 to DATn ⁇ 1 to the parity write sector Ps 0 .
- the MPU 60 performs shingled recording of DATn to DATn+m ⁇ 1 in the user sectors Sc 10 to Sc 1 n, respectively, and writes the parity sector P 3 acquired by performing the XOR operation on DATn to DATn+m ⁇ 1 to the parity write sector Ps 1 .
- FIG. 7 is a schematic diagram illustrating an, example of parity sector alternative processing according to the embodiment.
- FIG. 7 corresponds to FIG. 5 .
- the parity write sector Ps 0 corresponds to a fault parity write sector.
- FIG. 7 illustrates the media cache 10 b and the system area 10 c of the disk 10 as an alternative region. In FIG. 7 , it is assumed that the number of write retries exceeds the write retry upper limit value.
- the MPU 60 records the parity sector P 0 in (the parity recording region of) the media cache 10 b or the system area 10 c.
- the MPU 60 when performing the track ECC processing on the error sector of the track TRk, the MPU 60 reads the parity sector P 0 from (the parity recording region of) the media cache 10 b or the system area 10 c, and performs the track ECC processing on the error sector of the track TRk based on the parity sector P 0 .
- FIG. 8 is a schematic diagram illustrating an example of parity sector alternative processing according to the embodiment.
- FIG. 8 corresponds to FIG. 7 .
- FIG. 8 illustrates the nonvolatile memory 80 as an alternative region. In FIG. 8 , it is assumed that the number of write retries exceeds the write retry upper limit value.
- the MPU 60 records the parity sector P 0 in (the parity recording region of) the nonvolatile memory 80 .
- the MPU 60 when performing the track ECC processing on the error sector of the track TRk, the MPU 60 reads the parity sector P 0 from (the parity recording region of) the nonvolatile memory 80 , and performs the track FCC processing on the error sector of the track TRk based on the parity sector P 0 .
- FIG. 9 is a flowchart illustrating an example of a write processing method according to the, present embodiment.
- the MPU 60 writes data in a particular sector of a particular track (B 901 ). For example, the MPU 60 performs shingled recording of the data in a particular sector of a particular track of a particular band region.
- the MPU 60 determines whether a write fault occurs in the particular sector (B 902 ). When the MPU 60 determines that the write fault does not occur in the particular sector (NO in B 902 ), the process ends. When the MPU 60 determines that a write fault occurs in the particular sector (YES in B 902 ), the MPU 60 determines whether the number of write retries corresponding to this track exceeds the write retry upper limit value or is equal to or less than the write retry upper limit value (B 903 ).
- the process proceeds to the processing of B 901 .
- the MPU 60 determines that the number of write retries corresponding to this track exceeds the write retry upper limit value (YES in B 903 )
- the MPU 60 determines whether this particular sector is a parity write sector or not (B 904 ). In other words, when the MPU 60 determines that the number of write retries corresponding to this track exceeds the write retry upper limit value, the MPU 60 determines whether this particular sector is a parity write sector or a user sector.
- the MPU 60 determines that the particular sector is a parity sector ((YES in B 904 )
- the MPU 60 performs the parity sector alternative processing (B 905 ) and the process ends.
- the MPU 60 determines that the particular sector is a parity write sector
- the MPU 60 records the particular fault parity sector in an alternative region, for example, (the parity recording region of) the system area 10 c, and the process ends.
- the MPU 60 determines that the particular sector is not a parity write sector, that is, the particular sector is a user sector (NO in B 904 )
- the MPU 60 performs the user sector alternative processing (B 906 ) and the process ends.
- the MPU 60 determines that the particular sector is a user sector
- the MPU 60 performs shingled recording of the fault write data from the circumferential adjacent sector of the fault sector and the user data subsequent to the fault write data, and the process ends.
- FIG. 10 is a flowchart illustrating an example of a read processing method according to the present embodiment.
- the MPG 60 reads a particular sector of a particular track (B 1001 ).
- the MPU 60 determines whether a particular sector is an error sector or not (B 1002 ), When the MPU 60 determines that the particular sector is not an error sector (NO in B 1002 ), the process proceeds to processing B 1001 .
- the MPU 60 determines that the particular sector is an error sector (YES in B 1002 )
- the MPU 60 determines whether the parity sector alternative processing has been performed in this track (B 1003 ). In other words, when the MPU 60 determines that the particular sector is an error sector, the MPU 60 determines whether the parity sector corresponding to this track is recorded in the alternative. region or not.
- the MPU 60 determines that the parity sector alternative processing has been performed (YES in B 1003 )
- the MPU 60 acquires the parity sector corresponding to this track from the alternative region, for example, (the parity recording region of) the system area 10 c (B 1004 ), and the process proceeds to processing of BI 006 .
- the MPU 60 determines that the parity sector alternative processing has not been performed (NO in B 1003 )
- the MPU 60 acquires the parity sector from the parity write sector of this track of the user data region (B 1005 ), and performs the track BCC processing on the error sector of this track based on the acquired parity sector (B 1006 ), and the process ends.
- the magnetic disk device 1 performs shingled recording of a plurality of tracks in a particular band region.
- the magnetic disk device 1 performs different alternative processing depending on whether the particular sector is a user sector or a parity write sector.
- the magnetic disk device 1 performs shingled recording of fault write data and user data subsequent to the fault data from a circumferential adjacent sector of the fault sector (performs slip sector processing).
- the magnetic disk device 1 When a write fault occurs in a fault parity write sector (parity write sector) of a particular track of the band region and the number of write retries corresponding to the track exceeds the write retry upper limit value, the magnetic disk device 1 records the particular fault parity sector corresponding to the track in an alternative. region, for example, (the parity recording region of) the system area 10 c.
- the magnetic disk device 1 can hold parity sectors corresponding to all tracks in a particular band region. Therefore, the magnetic disk device 1 can perform the track ECO processing on all tracks in a particular band region. Therefore, the magnetic disk device 1 can improve the track density.
- the configuration of the above-described embodiment can be applied not only to the magnetic disk device 1 of the shingled recording type but also to the magnetic disk device 1 of the normal recording type.
Abstract
Description
- This application is based upon and claims the benefit of priority from Japanese Patent Application No. 2021-092909, filed Jun. 2, 2021, the entire contents of which are incorporated herein by reference.
- Embodiments described herein relate generally to a magnetic disk device and a read/write processing method.
- In recent years, a magnetic disk device having a technology for achieving high recording density has been developed. As a magnetic disk device that achieves high recording density, there is a magnetic disk device capable of performing a shingled recording type (shingled write magnetic recording (SMR), or shingled write recording (SWR)) in which a plurality of tracks are overwritten in a radial direction of a disk.
- The magnetic disk device has a track including a parity sector obtained by performing an exclusive OR (XOR) operation on each sector of a particular track. When an error is detected in a particular sector of the track, the magnetic disk device performs error correction processing (hereinafter, may be referred to as track ECC processing) of correcting the error by an error correction code based on a parity sector corresponding to the track. In the shingled recording type magnetic disk device, it is possible to improve the track density by mounting the track ECC.
-
FIG. 1 is a block diagram illustrating a configuration of a magnetic disk device according to an embodiment. -
FIG. 2 is a schematic diagram illustrating an example of a disk according to an embodiment. -
FIG. 3 is a schematic diagram illustrating an example of shingled recording processing. -
FIG. 4 is a schematic diagram illustrating an example of normal recording processing. -
FIG. 5 is a schematic diagram illustrating an example of a plurality of tracks on which shingled recording is performed in a band region in a case where sector slip processing is not performed. -
FIG. 6 is a schematic diagram illustrating an example of a plurality of tracks on which shingled recording is performed in a band region in a case where sector slip processing is performed. -
FIG. 7 is a schematic diagram illustrating an example of parity sector alternative processing according to the embodiment. -
FIG. 8 is a schematic diagram illustrating an, example of parity sector alternative processing according to the embodiment. -
FIG. 9 is a flowchart illustrating an example of a write processing method according to the embodiment. -
FIG. 10 is a flowchart illustrating an example of a read processing method according to the embodiment. - In general, according to one embodiment, a magnetic disk device comprising: a disk; a head that writes data with respect to the disk and reads data from the disk; and a controller that overwrites a second track on a first track in a radial direction of the disk, performs first alternative processing of recording a first user sector in a first region when writing of the first user sector available by a user in the first track is disabled, and performs second alternative processing different from the first alternative processing of recording a first parity sector in a second region when writing of the first parity sector acquired by an XOR operation in the first track is disabled.
- An embodiment will be described with reference to the drawings below. The drawings are examples and the scope of the invention is not limited thereto.
-
FIG. 1 is a block diagram illustrating a configuration of amagnetic disk device 1 according to an embodiment. - The
magnetic disk device 1 includes: a head disk assembly (HDA) described later; adriver IC 20; a head amplifier integrated circuit (hereinafter, head amplifier IC or preamplifier) 30; avolatile memory 70; anonvolatile memory 80; a buffer memory (buffer) 90; and asystem controller 130 that is an integrated circuit of one chip. Themagnetic disk device 1 is connected to a host system (hereinafter, simply referred to as a host) 100. - The HDA includes: a magnetic disk (hereinafter, referred to as disk) 10; a spindle motor (hereinafter, referred to as SPM) 12; an
arm 13 mounted with ahead 15; and a voice coil motor (hereinafter, referred to as VCM) 14. Thedisk 10 is attached to theSPM 12 and rotates by driving of theSPM 12. Thearm 13 and the VCM 14 compose an actuator. The actuator controls thehead 15 mounted in thearm 13 to move to a particular position on thedisk 10, by driving of theVCM 14. Thedisk 10 and thehead 15 may be provided by two or more. - In the
disk 10, auser data region 10 a available from a user, a media cache (alternatively, may be referred to as media cache region) 10 b that temporarily holds data (or a command) transferred from a host or the like before the data is written in a particular region of theuser data region 10 a, and asystem area 10 c in which information necessary for system management is written are assigned in a region where the data can be written. Themedia cache 10 b may not be arranged on thedisk 10. Hereinafter, a direction from the inner circumference to the outer circumference of thedisk 10 or a direction from the outer circumference to the inner circumference of thedisk 10 is referred to as a radial direction. In the radial direction, a direction from the inner circumference to the outer circumference is referred to as an outward direction (outer side), and a direction from the inner circumference to the outer circumference is referred to as an inward direction (inner side). A direction orthogonal to the radial direction of thedisk 10 is referred to as a circumferential direction. The circumferential direction corresponds to a direction along the circumference of thedisk 10. A particular position in the radial direction of thedisk 10 may be referred to as a radial position, and a particular position in the circumferential direction of thedisk 10 may be referred to as a circumferential position. The radial position and the circumferential position may be collectively referred to simply as a position. The “track” refers to one recording region among a plurality of recording regions obtained by dividing in the radial direction of thedisk 10, data written in one recording region among a plurality of recording regions obtained by dividing in the radial direction of thedisk 10, a path of thehead 15 at a particular radial position, data extending in the circumferential direction of thedisk 10, data for one round written in a track at a particular radial position, data written in a particular track of thedisk 10, a part of data written in a particular track of thedisk 10, or other various meanings. The “sector” refers to one recording region among a plurality of recording regions obtained by dividing a particular track of thedisk 10 in the circumferential direction, data written in one recording region among a plurality of recording regions obtained by dividing a particular track of thedisk 10 in the circumferential direction, data written at a particular circumferential position at a particular radial position of thedisk 10, data written in a particular sector of a particular track of thedisk 10, or various other meanings. The “radial width of a track” may also be referred to as a “track width”. “Path passing through a center position of a track width in a particular track” is referred to as a “track center”. The data available by the user written in theuser data region 10 a may be referred to as user data. A sector in which the user data is written may be referred tows a user sector. A logical block address (LBA) is set in the user sector. - The
head 15 includes a writehead 15W and a read head 15P mounted to a slider, with the slider as a body. The writehead 15W writes data in thedisk 10. The readhead 15R reads data written in thedisk 10. The “writehead 15W” may be simply referred to as a “head 15”, the “read head I5R” may be simply referred to as a “head 15”, or the “writehead 15W and readhead 15R” may be collectively referred to as a “head 15”. A “center portion of thehead 15” may be referred to as a “head 15”, a “center portion of the writehead 15W” may be referred to as a “writehead 15W”, and a “center portion of the readhead 15R” may be referred to as a “read head 15P”. A “center portion of the writehead 15W” may be simply referred to as a “head 15”, and a “center portion of the readhead 15R” may be simply referred to as a “head 15”. “Positioning the center portion of thehead 15 in a track center of a particular track” may be expressed as “positioning thehead 15 in a particular track”, “arranging thehead 15 in a particular track”, “positioning thehead 15 in a particular track”, or the like. -
FIG. 2 is a schematic diagram illustrating an example of thedisk 10 according to the present embodiment. As illustrated inFIG. 2 , in the circumferential direction, a direction in which thedisk 10 rotates is referred to as a rotation direction. In the example illustrated inFIG. 2 , the rotation direction is indicated in the counterclockwise direction, but may be in the opposite direction (clockwise direction). InFIG. 2 , thedisk 10 is divided into an inner circumferential region IR located in the inward direction, an outer circumferential region OR located in the outward direction, and a middle circumferential region MR located between the inner circumferential region IR and the outer circumferential region OR. - In the example illustrated in
FIG. 2 , thedisk 10 includes a user data region 20 a, amedia cache 10 b, and asystem area 10 c. In.FIG. 2 , theuser data region 10 a, themedia cache 10 b, and thesystem area 10 c are arranged in the described order in the outward direction. InFIG. 2 , themedia cache 10 b is arranged adjacent to theuser data region 10 a in the outward direction. In other words, themedia cache 10 b is arranged between theuser data region 10 a and thesystem area 10 c. Here, “adjacent” includes not only data, an object, a region, a space, and the like being arrayed in contact with each other, but also data, an object, a region, a space, and the like being arrayed at particular intervals. InFIG. 2 , thesystem area 10 c is arranged adjacent to themedia cache 10 b in the outward direction. The arrangement order of theuser data region 10 a, themedia cache 10 b, and thesystem area 10 c is not limited to the order illustrated inFIG. 2 , and may take any order. When themedia cache 10 b is not arranged on thedisk 10, thesystem area 10 c may be arranged adjacent to theuser data region 10 a in the outward direction. - In the example illustrated in
FIG. 2 , theuser data region 10 a is arranged from the inner circumferential region IR to the outer circumferential region OR in the radial direction. In the example illustrated inFIG. 2 , themedia cache 10 b is arranged in the outer circumferential region OR in the radial direction. Themedia cache 10 b may be located in the inner circumferential region IR or the middle circumferential region MR. Themedia cache 10 b may be distributed and located in the outer circumferential region OR, the middle circumferential region MR, and the inner circumferential region IR. In the example illustrated inFIG. 2 , thesystem area 10 c is arranged in the outer circumferential region OR in the radial direction. In other words, thesystem area 10 c is arranged from a particular position of the outer circumferential region OR to the outermost circumference of thedisk 10. Thesystem area 10 c may be arranged in the middle circumferential region MR or the inner circumferential region IR. - In the
user data region 10 a of thedisk 10, data can be written in a shingled recording (shingled write magnetic recording (SMR) or shingled write recording (SWR)) type in which a track to be written next is overwritten in a part in the radial direction of a particular track. In theuser data region 10 a, data may be written in a conventional magnetic recording (CMR) type in which a track (hereinafter, may be referred to as adjacent track) radially adjacent to a particular track is written at a particular interval (gap) in the radial direction from the particular track or data can be written at random. Hereinafter, “write data in the shingled recording type” may be simply referred to as “perform shingled recording”, “perform shingled recording processing”, or simply as “write”. Write processing other than “normal recording processing” may be referred to as “shingled recording processing”. “Write data in the normal recording type” may be simply referred to as “perform normal recording”, “perform normal recording processing”, or simply as “write”. - As illustrated in
FIG. 2 , thehead 15 rotates about the rotation axis by driving of theVCM 14 with respect to thedisk 10, moves from the inward direction to the outward direction, and is arranged at a particular position, or moves from the outward direction to the inward direction and is arranged at a particular position. - A
driver IC 20 controls driving of theSPM 12 and theVCM 14 according to control by the system controller 130 (specifically, anMPU 60 described later). - The head amplifier IC (preamplifier) 30 includes a read amplifier, a write driver, and the like. The read amplifier amplifies a read signal read from the
disk 10, and outputs the read signal to the system controller 130 (specifically, a read/write (R/W)channel 40 described later). The write driver outputs a write current according to the signal output from the R/W channel 40, to thehead 15. - The
volatile memory 70 is a semiconductor memory in which data saved is lost when a power supply is interrupted. Thevolatile memory 70 stores data required for processing by each unit in themagnetic disk device 1, and the like. Thevolatile memory 70 is, for example, a dynamic random access memory (DRAM), or a synchronous dynamic random access memory (SDRAM). - The
nonvolatile memory 80 is a semiconductor memory that records data saved even when a power supply is interrupted. Thenonvolatile memory 80 is, for example, a flash read only memory (ROM) (FROM) of an NOR type or an NAND type. - The
buffer memory 90 is a semiconductor memory that temporarily records data transmitted and received between themagnetic disk device 1 and thehost 100, and the like. Thebuffer memory 90 may be configured integrally with thevolatile memory 70. Thebuffer memory 90 is, for example, the DRAM, a static random access memory (SRAM), the SDRAM, a ferroelectric random access memory (FeRAM), or a magnetoresistive random access memory (MRAM). - The system controller (controller) 130 is, for example, realized by using a large-scale integration (LSI) called a System-on-a-Chip (SoC) in which a plurality of elements are integrated in a single chip. The
system controller 130 includes a read/write (R/W)channel 40, a hard disk controller (HDC) 50, and a microprocessor (MPU) 60. Thesystem controller 130 is, electrically connected to, for example, thedriver IC 20, thehead amplifier IC 30, thevolatile memory 70, thenonvolatile memory 80, thebuffer memory 90, and thehost system 100. - The R/
W channel 40 performs signal processing of data (hereinafter, may be referred to as read data) transferred from thedisk 10 to thehost 100 and data (hereinafter, may be referred to as write data) transferred from thehost 100 according to an instruction from theMPU 60 as described later. The R/W channel 40 has a circuit or a function of modulating write data. The R/W channel 40 has a circuit or a function of measuring and demodulating the signal quality of the read, data. The R/W channel 40 is electrically connected to thehead amplifier IC 30, theHDC 50, and theMPU 60. - The
HDC 50 controls data transfer. For example, theHDC 50 controls data transfer between thehost 100 and thedisk 10 according to an instruction from theMPU 60 as described later. TheHDC 50 is electrically connected to, for example, the R/W channel 40, theMPU 60, thevolatile memory 70, thenonvolatile memory 80, and thebuffer memory 90. - The
MPU 60 is a main controller that controls each unit of themagnetic disk device 1. TheMPU 60 performs servo control for controlling theVCM 14 via thedriver IC 20 and positioning thehead 15. TheMPU 60 controls theSPM 12 via the driver.IC 20 to rotate thedisk 10. TheMPU 60 controls write operation of data to thedisk 10, and selects data forwarded from thehost 100, for example, a destination to save of the write data. TheMPU 60 controls read operation of data from thedisk 10 and controls processing of data transferred from thedisk 10 to thehost 100, for example, read data. TheMPU 60 manages a region in which data is recorded. TheMPU 60 is connected to each unit of themagnetic disk device 1. TheMPU 60 is electrically connected to, for example, thedriver IC 20, the R/W channel 40, and theHDC 50. - The
MPU 60 includes a read/write control unit 610, a usersector management unit 620, a paritysector management unit 630, anerror correction unit 640, and the like. TheMPU 60 performs processing of each unit, for example, the read/write control unit 610, the usersector management unit 620, the paritysector management unit 630, theerror correction unit 640, and the like on firmware. TheMPU 60 may include each unit, for example, the read/write control unit 610, the usersector management unit 620, the paritysector management unit 630, theerror correction unit 640, and the like as a circuit. The read/write control unit 610, the usersector management unit 620, the paritysector management unit 630, theerror correction unit 640, and the like may be included in the R/W channel 40 or theHDC 50. - The read/
write control unit 610 controls read processing of reading data from thedisk 10 and write processing of writing data to the,disk 10 according to a command or the like from thehost 100. The read/write control unit 610 controls theVCM 14 via thedriver IC 20, positions thehead 15 at a particular position on thedisk 10, and performs read processing or write processing. Hereinafter, the term “access” may be used in a sense including recording or writing data in a particular region (or write processing), reading or reading data from a particular region (or read processing), or moving thehead 15 or the like to a particular region. - The read/
write control unit 610 performs shingled recording of data for each particular region of thedisk 10 according to a command or the like from thehost 100. A unit of a region where shingled recording of data is performed may be referred to as a band (or band region). The read/write control unit 610 sequentially performs shingled recording a plurality of tracks in the band region. Note that the read/write control unit 610 may normally record data in a particular region of thedisk 10 according to a command or the like from thehost 100. - When a write fault occurs at the time of writing (or shingled recording of) data to a particular region, for example, a particular sector, the read/
write control unit 610 performs write retry of writing data that cannot be written due to the occurrence of the write fault to the same sector again. Terms such as “same”, “identical”, “match”, and “equivalent” include not only the meaning of exactly the same but also the meaning of being different to an extent that can be regarded as being substantially the same. In a case where a write fault occurs at the time of writing (or shingled recording of) data to a particular region, for example, a particular sector, the read/write control unit 610 determines whether the number of times (hereinafter, may be referred to as the number of write retries) of performing the write retry exceeds an upper limit value (hereinafter, may be referred to as a write retry upper limit value) of the number of times the write retry can be performed or is equal to or less than the write retry upper limit value. When the read/write control unit 610 determines that the number of write retries is equal to or less than the write retry upper limit value, the read/write control unit 610 performs the write retry. - In the shingled recording processing, the upper limit value (hereinafter, may be referred to as a write retry upper limit value) of the number of times write retry can be performed can be set to a small value due to track density design. For example, in the shingled recording processing, the write retry upper limit value is once. For example, in the shingled recording processing, the write retry upper limit value is several times or less.
-
FIG. 3 is a schematic diagram illustrating an example of shingled recording processing.FIG. 3 illustrates a traveling direction. A direction in which thehead 15 sequentially writes and reads data with respect to thedisk 10 in the circumferential direction, that is, a direction in which thehead 15 travels with respect to thedisk 10 in the circumferential direction may be referred to as a traveling direction. For example, the traveling direction is opposite to the rotation direction of thedisk 10. The traveling direction may be the same direction as the rotation direction of thedisk 10. In the circumferential direction, the traveling direction may be referred to as rear direction or rear. In the circumferential direction, a direction opposite to the rear direction may be referred to as front direction or front.FIG. 3 illustrates a forward direction. A direction in which shingled recording of a plurality of tracks are continuously performed in the radial direction, that is, a direction in which a track to be written next is overlapped with a track written one ahead in the radial direction may be referred to as a forward direction. InFIG. 3 , the inward direction is the forward direction in the radial direction, but the outward direction may be the forward direction. -
FIG. 3 illustrates a band region BAe. In the band region BAe ofFIG. 3 , a plurality of tracks STR1, STR2, and STR3 are continuously overwritten in the forward direction in the described order. Hereinafter, in the shingled recording, a region in which data is written by thewrite head 15W may be referred to as a write track, and a remaining region other than a region in which another write track is overwritten in a particular track may be referred to as a read track. -
FIG. 3 illustrates a track center STC1 of the track STR1 in a case where another track is not overwritten, a track center STC2 of the track STR2 in a case where another track is not overwritten, and a track center STC3 of the track STR3 in a case where another track is not overwritten. In the example illustrated inFIG. 3 , the tracks STR1, STR2, and STR3 are written at a track pitch STP. The track center STC1 of the track STR1 and the track center STC2 of the track STR2 are separated by the track pitch STP. The track center STC2 of the track STR2 and the track center STC3 of the track STR3 are separated by the track pitch STP. The tracks STR1 to STR3 may be written at different track pitches. InFIG. 3 , the radial width of the region where the track STR2 is not overwritten in the track STR1 and the radial width of the region where the track STR3 is not overwritten in the track STR2 are the same. Note that the radial width of the region where the track STR2 is not overwritten in the track STR1 and the radial width of the region where the track STR3 is not overwritten in the track STR2 may be different from each other. InFIG. 3 , for convenience of description, each track is illustrated in a rectangular shape extending in the circumferential direction with a particular track width, but is actually curved along the circumferential direction. Each track may have a wave shape extending in the circumferential direction while varying in the radial direction. InFIG. 3 , three tracks are overwritten, but less than three tracks or more than. three tracks may be overwritten. - In the example illustrated in
FIG. 3 , theMPU 60 sequentially performs shingled recording of the tracks STR1 to STR3 in the band region BAe in the inward direction at the track pitch SIP. TheMPU 60 may sequentially perform shingled recording of the tracks STR1 to STR3 in the outward direction at the track pitch SIP. TheMPU 60 writes the track STR2 at the track pitch SIP in the inward direction of the track STR1 and overwrites the track STR2 in a part of the inward direction of the track STR1. TheMPU 60 writes the track STR3 at the track, pitch STP in the inward direction of the track STR2, and overwrites the track STR3 in a part of the inward direction of the track STR2. -
FIG. 4 is a schematic diagram illustrating an example of normal recording processing.FIG. 4 illustrates tracks CTR1, CTR2, and CTR3. InFIG. 4 , for example, the track widths of the tracks CTR1, CTR2, and CTR3 are the same. The track widths of the tracks CTR1 to CTR3 may be different.FIG. 4 illustrates the track center CTC1 of the track CTR1, the track center CTC2 of the track CTR2, and the track center CTC3 of the track CTR3. In the example illustrated inFIG. 4 , the tracks CTR1, CTR2, and CTR3 are written at the track pitch CTP. The track center CTC1 of the track CTR1 and the track center CTC2 of the track CTR2 are separated by a track pitch FTP. The track center CTC2 of the track CTR2 and the track center CTC3 of the track CTR3 are separated by a track pitch CTP. The track CTR1 and the track CTR2 are separated by a gap GP. The track CTR2 and the track CTR3 are separated by the gap GP. The tracks CTR1 to CTR3 may be written at different track pitches. InFIG. 4 , for convenience of description, each track is illustrated in a rectangular shape extending in the circumferential direction with a particular track width, but is actually curved along the circumferential direction. Each track may have a wave shape extending in the circumferential direction while varying in the radial direction. - In the example illustrated in
FIG. 4 , theMPU 60 positions thehead 15 at the track center CTC1 in a particular region of thedisk 10, for example, theuser data region 10 a, and normally records the track CTR1 or a particular sector of the track CTR1. In theuser data region 10 a, theMPU 60 positions thehead 15 at the track center CTC2 separated from the track center CTC1 of the track CTR1 in the inward direction at the track pitch CTP, and normally records the track CTR2 or a particular sector of the track CTR2. In theuser data region 10 a, theMPU 60 positions thehead 15 at the track center CTC3 separated from the track center CTC2 of the track CTR2 in the inward direction at the track pitch CTP, and normally records the track CTR3 or a particular sector of the track CTR3. TheMPU 60 may sequentially and normally record the tracks CTR1, CTR2, and CTR3 in a particular region of thedisk 10, for example, theuser data region 10 a, or may randomly and normally record the tracks CTR1, CTR2, and CTR3 in a particular sector of the track CTR1, a particular sector of the track CTR2, and a particular sector of the track CTR3. - The user
sector management unit 620 manages a particular sector of thedisk 10, for example, a user sector. The usersector management unit 620 manages an LBA corresponding to a particular user sector of thedisk 10 and data to be written in the particular user sector, for example, user data. The usersector management unit 620 may record a relationship among a particular user sector, an SPA corresponding to the particular user sector, and user data to be written in the particular user sector as a table in thedisk 10, thevolatile memory 70, thenonvolatile memory 80, thebuffer memory 90, and the like. - The user
sector management unit 620 writes particular user data in a particular user sector corresponding to a particular LBA according to a command of thehost 100 or the like. The usersector management unit 620 is arranged over a plurality of tracks in the band region according to a command of thehost 100 or the like, and performs shingled recording of the user data in a plurality of user sectors corresponding to a plurality of consecutive LBAs according to the order of the LBAs. - In a case where write fault occurs in a particular user sector (hereinafter, may be referred to as a fault sector) of a particular track and writing to the fault sector is disabled when shingled recording of the user data is performed in the particular track of the band region, the user
sector management unit 620 performs alternative processing (hereinafter, may be referred to as user sector alternative processing) of performing shingled recording of the user data (hereinafter, may be referred to as fault write data) to be written in the fault sector and the user data subsequent to the fault write data in theuser data region 10 a different from the fault sector. - In a case where a write fault occurs in a fault sector of a particular track and writing to the fault sector is disabled when shingled recording of the user data is performed in the particular track of the band region, the user
sector management unit 620 performs shingled recording (or resumes shingled recording) of the fault write data and the user data subsequent to the fault write data from a user sector (hereinafter, may be referred to as a circumferential sector) arranged subsequent to the fault sector. In other words, in a case where a write fault occurs in a fault sector of a particular track and writing to the fault sector is disabled, when the shingled recording of the user data is performed in the particular track of the band region, the usersector management unit 620 performs shingled recording (or resumes shingled recording) of the user data subsequent to the fault write data from the fault write data from the circumferential sector subsequently deviated from the fault sector to the user sector subsequent to the circumferential sector. - In a case where a write fault occurs in a fault sector of a particular track and writing to the fault sector is disabled when shingled recording of the user data is performed in the particular track of the band region, the user
sector management unit 620 performs shingled recording (or resumes shingled recording) of the fault write data and the user data subsequent to the fault write data from the circumferential sector corresponding to the LBA in which the LEA corresponding to the fault sector is incremented by a particular value. In other words, in a case where a write fault occurs in a fault sector of a particular track and writing to the fault sector is disabled when shingled recording of the user data is performed in the particular track of the band region, the usersector management unit 620 performs shingled recording (or resumes shingled recording) of the fault write data and the user data subsequent to the fault write data from the circumferential sector corresponding to the LBA in which the LBA of the fault sector is incremented by a particular value to the user sector subsequent to the circumferential sector. - In a case where a write fault occurs in a fault sector of a particular track and writing to the fault sector is disabled when shingled recording of the user data is performed in the particular track of the band region, the user
sector management unit 620 performs shingled recording (or resumes shingled recording) of the fault write data and the user data subsequent to the fault write data from a user sector (hereinafter, may be referred to as a circumferential adjacent sector) subsequently adjacent to the fault sector. In other words, in a case where a write fault occurs in a fault sector of a particular track and writing to the fault sector is disabled when the shingled recording of the user data is performed in the particular track of the band region, the usersector management unit 620 performs shingled recording (or resumes shingled recording) of the user data subsequent to the fault write data from the fault write data from the circumferential adjacent sector subsequently deviated by one sector from the fault sector to the user sector subsequent to the circumferential adjacent sector. - In a case where a write fault occurs in a fault sector of a particular track and writing to the fault sector is disabled when shingled recording of the user data is performed in the particular track, of the band region, the user
sector management unit 620 performs shingled recording (or resumes shingled recording) of the fault write data and, the user data subsequent to the fault write data from the circumferential adjacent sector corresponding to the LBA in which the LBA corresponding to the fault sector is incremented by one. In other words, in a case where a write fault occurs in a fault sector of a particular track and writing to the fault sector is disabled when shingled recording of the user data is performed in the particular track of the band region, the, usersector management unit 620 performs shingled recording (or resumes shingled recording) of the fault write data and the user data subsequent to the fault write data from the circumferential adjacent sector corresponding to the LBA in which the LBA of the fault sector is incremented by one to the user sector subsequent to the circumferential adjacent sector. - When a write fault occurs in a particular fault sector in the band region when shingled recording of the user data is performed in the band region, the user
sector management unit 620 determines whether the number of write retries exceeds the write retry upper limit value or is equal to or less than the write retry upper limit value. - When the user
sector management unit 620 determines that the number of write retries exceeds the write retry upper limit value, the usersector management unit 620 performs shingled recording (or resumes shingled recording) of the fault write data to be written from the circumferential sector arranged subsequent to the fault sector to the fault sector and the user data subsequent to the fault write data. In other words, when the usersector management unit 620 determines that the number of write retries exceeds the write retry upper limit value, the usersector management unit 620 performs shingled recording of the user data subsequent to the fault write data from the fault write data to the user sector subsequent to the fault sector from the circumferential sector later deviated from the fault sector to the user sector subsequent to the circumferential sector. - When the user
sector management unit 620 determines that the number of write retries exceeds the write retry upper limit value, the usersector management unit 620 performs shingled recording (or resumes shingled recording) of the fault write data from the circumferential sector corresponding to the LBA in which the LBA corresponding to the fault sector is incremented by a particular value and the user data subsequent to the fault write data. In other words, when the usersector management unit 620 determines that the number of write retries exceeds the write retry upper limit value, the usersector management unit 620 performs shingled recording of the user data subsequent to the fault write data from the fault write data from the circumferential sector corresponding to the LBA obtained by incrementing the LBA of the fault sector by a particular value to the user sector subsequent to the circumferential sector. - When the user
sector management unit 620 determines that the number of write retries exceeds the write retry upper limit value, the usersector management unit 620 performs shingled recording (or resumes shingled recording) of the fault write data and the user data subsequent to the fault write data from the circumferential adjacent sector subsequently adjacent to the fault sector. In other words, when the usersector management unit 620 determines that the number of write retries exceeds the write retry upper limit value, the usersector management unit 620 performs shingled recording of the user data subsequent to the fault write data from the fault write data to the user sector subsequent to the fault sector from the circumferential adjacent sector later deviated by one sector from the fault sector to the user sector subsequent to the circumferential adjacent sector. - When the user
sector management unit 620 determines that the number of write retries exceeds the write retry upper limit value, the usersector management unit 620 performs shingled recording (or resumes shingled recording) of the fault write data from the circumferential adjacent sector corresponding to the LBA in which the LBA corresponding to the fault sector is incremented by one and the user data subsequent to the fault write data. In other words, when the usersector management unit 620 determines that the number of write retries exceeds the write retry upper limit value, the usersector management unit 620 performs shingled recording of the user data subsequent to the fault write data from the fault write data from the circumferential adjacent sector corresponding to the LBA obtained by incrementing the LBA of the fault sector by one to the user sector subsequent to the circumferential adjacent, sector. - Hereinafter, when a write fault occurs in the fault sector and writing in the fault sector is disabled, writing the fault write data to the user data subsequent to the fault write data from the circumferential adjacent sector subsequently deviated from, for example, subsequent by one sector to the fault sector to the user sector subsequent to the circumferential adjacent sector may be referred to as sector slip or sector slip processing.
- The parity
sector management unit 630 manages a particular parity sector (or parity data) of thedisk 10. The paritysector management unit 630 calculates a parity sector by performing an exclusive OR (XOR) operation, writes the calculated parity sector in a particular region of thedisk 10, for example, a region in which an LBA is not set (hereinafter, may be referred to as an LBA unset region), and manages the parity sector. The parity sector includes, for example, a parity bit and a parity detection code. The paritysector management unit 630 may record the relationship between a particular parity sector and the LBA unset region corresponding to the particular parity sector as a table in thedisk 10, thevolatile memory 70, thenonvolatile memory 80, thebuffer memory 90, and the like. - The parity
sector management unit 630 performs an XOR operation on all sectors of a particular track to calculate parity sectors, and writes the calculated parity sectors to a particular sector (hereinafter, may be referred to as a parity write sector) of this track. No LBA is set in the parity write sector. The paritysector management unit 630 may calculate a parity sector by performing an XOR operation on some sectors of a particular track and write the calculated parity sector in a parity write sector of this track. - The parity
sector management unit 630 performs an XOR operation on the user data written in all sectors (hereinafter, may be referred to as an effective sector) other than the fault sector in a particular track to calculate a parity sector, and, writes the calculated parity sector in the parity write sector of this track. - In a case where a write fault occurs in a parity write sector (hereinafter, may be referred to as a fault parity write sector) of a particular track of the band region and writing to the fault parity write sector is disabled when shingled recording of the user data is performed in the band region, the parity
sector management unit 630 performs alternative processing (hereinafter, may be referred to as parity sector alternative processing) of recording (or saving) parity sector (hereinafter, may be referred to as fault parity sector) to be written in the fault parity write sector in a region (hereinafter, may be referred to as non-user data region or an alternative region) other than theuser data region 10 a different from the fault parity write sector No LBA is set in the alternative region. The parity sector alternative processing and the user sector alternative processing described above are different alternative processes. Hereinafter, the parity sector alternative processing and the user sector alternative processing may be collectively referred to as alternative processing. The alternative processing includes processing of recording particular data in a region different from a region in which the data is scheduled to be written. The non-user data region (or alternative region) includes, for example, themedia cache 10 b, thesystem area 10 c, thenonvolatile memory 80, and the like of thedisk 10. In a case where a write fault occurs in a parity write sector of a particular track of the band region and writing to the fault parity write sector is disabled, a method of not writing an adjacent track adjacent in the forward direction of the particular track is conceivable, but there is a possibility that theuser data region 10 a for one track is lost. - In a case where a write fault occurs in a fault parity write sector of a particular track of the band region and writing to the fault parity write sector is disabled when shingled recording of the user data is performed in the particular track of the band region, the parity
sector management unit 630 records (or saves) the fault parity sector in an alternative region, for example, (a specific area (hereinafter, may be referred to as parity recording area) for recording a parity sector of) thesystem area 10 c of thedisk 10. - When a write fault occurs in a particular fault parity write sector in the band region when shingled recording of the user data is performed in a particular track in the band region, the parity
sector management unit 630 determines whether the number of write retries exceeds the write retry upper limit value or is equal to or less than the write retry upper limit value. - When the parity
sector management unit 630 determines that the number of write retries exceeds the write retry upper limit value, the paritysector management unit 630 records (or saves) the fault parity sector in an alternative region, for example, (the parity recording region of) thesystem area 10 c of thedisk 10. - The
error correction unit 640 recovers (corrects, relieves, or performs error correction of) unreadable data (hereinafter, may be referred to as read error data or error data) or an unreadable sector (hereinafter, may be referred to as a read error sector or an error sector). Theerror correction unit 640 performs read retry of reading error data or an error sector a plurality of times. Theerror correction unit 640 performs processing (hereinafter, may be referred to as ECC processing or error correction processing) of correcting an error of data or a sector based on an error correction code. Theerror correction unit 640 performs ECC processing (hereinafter, may be referred to as sector ECC processing) on the error sector based on error data of a particular track or an ECC (hereinafter, may be referred to as sector FCC) corresponding to the error sector. Theerror correction unit 640 performs ECC processing (hereinafter, may be referred to as track ECC processing) on the error sector based on error data of a particular track or an ECC (hereinafter, may be referred to as track ECC) corresponding to the error sector. For example, theerror correction unit 640 performs track FCC processing on an error sector of a particular track based on parity data or a parity sector corresponding to the track. For example, theerror correction unit 640 may record information (hereinafter, may be referred to as error sector information) related to the error sector as a table in a particular recording region, for example, thedisk 10, thevolatile memory 70, or thenonvolatile memory 80. - In a case where the track ECC processing is performed on a particular error sector in a particular track, the
error correction unit 640 determines whether the parity alternative processing has been performed or the parity alternative processing has not been performed in this track. When theerror correction unit 640 determines that the parity alternative processing has been performed in the particular track, theerror correction unit 640 reads the parity sector corresponding to the track from the alternative region, and performs the track EGO processing on the error sector of the track based on the parity sector. -
FIG. 5 is a schematic diagram illustrating an example of a plurality of shingled recorded tracks TRk and TRk+1 of a band region BA0 in a case where the sector slip processing is not performed.FIG. 5 illustrates the band region BA0. In the band region BA0, shingled recording of the track TRk and the track TRk+1 is performed in the forward direction in the described order. Shingled recording of three or more tracks may be performed in the forward direction in the band region BA0. The track TRk includes user sectors Sc00, Sc01, Sc02, Sc03, . . . , Sc0 n, and a parity write sector Ps0. In the track TRk, the user sectors Sc00, Sc01, Sc02, Sc03, . . . , Sc0 n, and the parity write sector Ps0 are continuously arranged in the traveling direction in the described order. The parity write sector Ps0 is subsequently adjacent to the last user sector Sc0 n among all the user sectors in the track TRk. LBA LA0 is set to the user sector Sc00, LBA LA1 is set to the user sector S01, LBA LA2 is set to the user sector Sc02, LBA LA3 is set to the user sector Sc03, and LEA LAn is set to the user sector Sc0 n.FIG. 5 illustrates user data DAT0, DAT1, DAT2, DAT3, . . . , and DATn written in the track TRk.FIG. 5 illustrates the parity sector PO written in the parity write sector Ps0 of the track TRk. The track TRk+1 includes user sectors Sc10, Sc11, Sc12, Sc13, . . . , Sc1 n, and a parity write sector Ps1. In the track TRk, the user sectors Sc10, Sc11, Sc12, Sc13, . . . , Sc1 n, and the parity write sector Ps1 are continuously arranged in the traveling direction in the described order. The parity write sector Ps1 is adjacent to the last user sector Sc1 n in thetrack TRk+ 1. LBA LAn+1 is set to the user sector Sc10, LBA LAn+2 is set to the user sector Sc11, LBA LAn+3 is set to the user sector Sc12, LBA LAn+3 is set to the user sector Sc13, and LBA LAn+m is set to the user sector Sc1 n.FIG. 5 illustrates userdata DATn+ 1, DATn+2, DATn+3, . . . , and DATn+m written in thetrack TRk+ 1.FIG. 5 illustrates the parity sector P1 written in the parity write sector Ps1 of thetrack TRk+ 1. - In the track TRk, the
MPG 60 performs shingled recording of DAT0 to DATn in the user sectors Sc00 to Sc0 n, respectively, and writes the parity sector P0 acquired by performing the XOR operation on DAT0 to DATn to the parity write sector Ps0. In thetrack TRk+ 1, theMPG 60 performs shingled recording of DATn+1 to DATn+m in the user sectors Sc10 to Sc1 n, respectively, and writes the parity sector P1 acquired by performing the XOR operation on DATn+1 to DATn+m to the parity write sector Ps1. -
FIG. 6 is a schematic diagram illustrating an example of a plurality of shingled recorded tracks TRk and TRk+1 of the band region BA0 in a case where the sector slip processing is performed.FIG. 6 corresponds toFIG. 5 . InFIG. 6 , the user sector Sc02 corresponds to a fault sector.FIG. 6 illustrates the user data DATn−1 written in the track TRk and the user data DATn+m−1 written in thetrack TRk+ 1.FIG. 6 illustrates a parity sector P2 written in the parity write sector Ps0 of the track TRk and a parity sector P3 written in the parity write sector Psi of thetrack TRk+ 1. InFIG. 6 , it is assumed that the number of write retries exceeds the write retry upper limit value. - In the example illustrated in
FIG. 6 , in a case where a write fault occurs in the user sector Sc02 and writing to the fault sector is disabled when shingled recording of the track TRk is performed, theMPU 60 performs shingled recording of DAT2 in the user sector Sc03, shingled recording of DATn−1 in the user sector Sc0 n, and writes the parity sector P2 acquired by performing the XOR operation on DAT0 to DATn−1 to the parity write sector Ps0. In thetrack TRk+ 1, theMPU 60 performs shingled recording of DATn to DATn+m−1 in the user sectors Sc10 to Sc1 n, respectively, and writes the parity sector P3 acquired by performing the XOR operation on DATn to DATn+m−1 to the parity write sector Ps1. -
FIG. 7 is a schematic diagram illustrating an, example of parity sector alternative processing according to the embodiment.FIG. 7 corresponds toFIG. 5 . InFIG. 7 , the parity write sector Ps0 corresponds to a fault parity write sector.FIG. 7 illustrates themedia cache 10 b and thesystem area 10 c of thedisk 10 as an alternative region. InFIG. 7 , it is assumed that the number of write retries exceeds the write retry upper limit value. - In the example illustrated in
FIG. 7 , in a case where a write fault occurs in the parity write sector Ps0 of the track TRk and writing to the parity write sector is disabled, theMPU 60 records the parity sector P0 in (the parity recording region of) themedia cache 10 b or thesystem area 10 c. - In the example illustrated in
FIG. 7 , when performing the track ECC processing on the error sector of the track TRk, theMPU 60 reads the parity sector P0 from (the parity recording region of) themedia cache 10 b or thesystem area 10 c, and performs the track ECC processing on the error sector of the track TRk based on the parity sector P0. -
FIG. 8 is a schematic diagram illustrating an example of parity sector alternative processing according to the embodiment.FIG. 8 corresponds toFIG. 7 .FIG. 8 illustrates thenonvolatile memory 80 as an alternative region. InFIG. 8 , it is assumed that the number of write retries exceeds the write retry upper limit value. - In the example illustrated in
FIG. 8 , in a case where a write fault occurs in the parity write sector Ps0 of the track TRk and writing to the parity write sector is disabled, theMPU 60 records the parity sector P0 in (the parity recording region of) thenonvolatile memory 80. - In the example illustrated in
FIG. 8 , when performing the track ECC processing on the error sector of the track TRk, theMPU 60 reads the parity sector P0 from (the parity recording region of) thenonvolatile memory 80, and performs the track FCC processing on the error sector of the track TRk based on the parity sector P0. -
FIG. 9 is a flowchart illustrating an example of a write processing method according to the, present embodiment. - The
MPU 60 writes data in a particular sector of a particular track (B901). For example, theMPU 60 performs shingled recording of the data in a particular sector of a particular track of a particular band region. TheMPU 60 determines whether a write fault occurs in the particular sector (B902). When theMPU 60 determines that the write fault does not occur in the particular sector (NO in B902), the process ends. When theMPU 60 determines that a write fault occurs in the particular sector (YES in B902), theMPU 60 determines whether the number of write retries corresponding to this track exceeds the write retry upper limit value or is equal to or less than the write retry upper limit value (B903). When theMPU 60 determines that the number of write retries corresponding to this track is equal to or less than the write retry upper limit value (NO in B903), the process proceeds to the processing of B901. When theMPU 60 determines that the number of write retries corresponding to this track exceeds the write retry upper limit value (YES in B903), theMPU 60 determines whether this particular sector is a parity write sector or not (B904). In other words, when theMPU 60 determines that the number of write retries corresponding to this track exceeds the write retry upper limit value, theMPU 60 determines whether this particular sector is a parity write sector or a user sector. When theMPU 60 determines that the particular sector is a parity sector ((YES in B904), theMPU 60 performs the parity sector alternative processing (B905) and the process ends. For example, when theMPU 60 determines that the particular sector is a parity write sector, theMPU 60 records the particular fault parity sector in an alternative region, for example, (the parity recording region of) thesystem area 10 c, and the process ends. When theMPU 60 determines that the particular sector is not a parity write sector, that is, the particular sector is a user sector (NO in B904), theMPU 60 performs the user sector alternative processing (B906) and the process ends. For example, when theMPU 60 determines that the particular sector is a user sector, theMPU 60 performs shingled recording of the fault write data from the circumferential adjacent sector of the fault sector and the user data subsequent to the fault write data, and the process ends. -
FIG. 10 is a flowchart illustrating an example of a read processing method according to the present embodiment. - The
MPG 60 reads a particular sector of a particular track (B1001). TheMPU 60 determines whether a particular sector is an error sector or not (B1002), When theMPU 60 determines that the particular sector is not an error sector (NO in B1002), the process proceeds to processing B1001. When theMPU 60 determines that the particular sector is an error sector (YES in B1002), theMPU 60 determines whether the parity sector alternative processing has been performed in this track (B1003). In other words, when theMPU 60 determines that the particular sector is an error sector, theMPU 60 determines whether the parity sector corresponding to this track is recorded in the alternative. region or not. When theMPU 60 determines that the parity sector alternative processing has been performed (YES in B1003), theMPU 60 acquires the parity sector corresponding to this track from the alternative region, for example, (the parity recording region of) thesystem area 10 c (B1004), and the process proceeds to processing of BI006. When theMPU 60 determines that the parity sector alternative processing has not been performed (NO in B1003), theMPU 60 acquires the parity sector from the parity write sector of this track of the user data region (B1005), and performs the track BCC processing on the error sector of this track based on the acquired parity sector (B1006), and the process ends. - According to the embodiment, the
magnetic disk device 1 performs shingled recording of a plurality of tracks in a particular band region. When a write fault occurs in a particular sector of a particular track of the band region, themagnetic disk device 1 performs different alternative processing depending on whether the particular sector is a user sector or a parity write sector. When a write fault occurs in a fault sector (user sector) of a particular track of the band region and the number of write retries corresponding to the track exceeds a write retry upper limit value, themagnetic disk device 1 performs shingled recording of fault write data and user data subsequent to the fault data from a circumferential adjacent sector of the fault sector (performs slip sector processing). When a write fault occurs in a fault parity write sector (parity write sector) of a particular track of the band region and the number of write retries corresponding to the track exceeds the write retry upper limit value, themagnetic disk device 1 records the particular fault parity sector corresponding to the track in an alternative. region, for example, (the parity recording region of) thesystem area 10 c. Themagnetic disk device 1 can hold parity sectors corresponding to all tracks in a particular band region. Therefore, themagnetic disk device 1 can perform the track ECO processing on all tracks in a particular band region. Therefore, themagnetic disk device 1 can improve the track density. - The configuration of the above-described embodiment can be applied not only to the
magnetic disk device 1 of the shingled recording type but also to themagnetic disk device 1 of the normal recording type. - While certain embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions. Indeed, the novel embodiments described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the embodiments described herein may be made without departing from the spirit of the inventions. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the inventions.
Claims (20)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021092909A JP2022185311A (en) | 2021-06-02 | 2021-06-02 | Magnetic disk device and read/write processing method |
JP2021-092909 | 2021-06-02 | ||
JPJP2021-092909 | 2021-06-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
US20220392487A1 true US20220392487A1 (en) | 2022-12-08 |
US11532321B1 US11532321B1 (en) | 2022-12-20 |
Family
ID=84241258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/588,052 Active US11532321B1 (en) | 2021-06-02 | 2022-01-28 | Magnetic disk device and read/write processing method |
Country Status (3)
Country | Link |
---|---|
US (1) | US11532321B1 (en) |
JP (1) | JP2022185311A (en) |
CN (1) | CN115440256A (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9229813B2 (en) * | 2014-03-06 | 2016-01-05 | HGST Netherlands B.V. | Error correction with on-demand parity sectors in magnetic data storage devices |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9983963B2 (en) | 2015-11-09 | 2018-05-29 | Alibaba Group Holding Limited | System and method for exploiting hard disk drive capacity reserve and extending operating life thereof |
JP2020042888A (en) | 2018-09-13 | 2020-03-19 | 株式会社東芝 | Magnetic disk device and controlling method for magnetic disk device |
US10854239B1 (en) | 2019-07-31 | 2020-12-01 | Facebook, Inc. | Adaptive-rate error correction layer for tape storage |
-
2021
- 2021-06-02 JP JP2021092909A patent/JP2022185311A/en active Pending
-
2022
- 2022-01-26 CN CN202210092652.7A patent/CN115440256A/en active Pending
- 2022-01-28 US US17/588,052 patent/US11532321B1/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9229813B2 (en) * | 2014-03-06 | 2016-01-05 | HGST Netherlands B.V. | Error correction with on-demand parity sectors in magnetic data storage devices |
Also Published As
Publication number | Publication date |
---|---|
US11532321B1 (en) | 2022-12-20 |
JP2022185311A (en) | 2022-12-14 |
CN115440256A (en) | 2022-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6699905B2 (en) | Magnetic disk device and recording area setting method | |
US10366717B1 (en) | Magnetic disk device and method of writing RRO correction data | |
US10867632B2 (en) | Shingled magnetic recording device capable of recording position error on non-volatile memory | |
US11335366B2 (en) | Magnetic disk device and read processing method | |
US20220301590A1 (en) | Magnetic disk device | |
US10910013B1 (en) | Magnetic disk device and write processing method | |
US11657834B2 (en) | Magnetic disk device and method of write processing of postcode | |
US20240038267A1 (en) | Magnetic disk device and dol setting method | |
JP5787839B2 (en) | Disk storage device and data protection method | |
US11508399B2 (en) | Magnetic disk device and read/write processing method | |
US20130194689A1 (en) | Magnetic disk apparatus, read/write control method, and controller | |
US20220392487A1 (en) | Magnetic disk device and read/write processing method | |
US20210272588A1 (en) | Magnetic disk device and write retry processing method | |
US10923144B2 (en) | Magnetic disk device and read processing method | |
US11404085B1 (en) | Magnetic disk device and error correction processing method | |
US20220084554A1 (en) | Magnetic disk device and error correction method | |
US11074937B1 (en) | Magnetic disk device and depop processing method | |
US20230260540A1 (en) | Magnetic disk device and write processing method | |
US20210280215A1 (en) | Magnetic disk device configured to write data according to normal recording and modified shingled recording formats | |
US20230046510A1 (en) | Magnetic disk device and refresh processing method | |
US11508409B2 (en) | Magnetic disk device and write processing method | |
US11335374B2 (en) | Magnetic disk device and sector processing method | |
JP2018147537A (en) | Magnetic disk unit and write method | |
CN116612789A (en) | Magnetic disk device and write processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MAETO, NOBUHIRO;REEL/FRAME:058816/0842 Effective date: 20220117 Owner name: KABUSHIKI KAISHA TOSHIBA, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MAETO, NOBUHIRO;REEL/FRAME:058816/0842 Effective date: 20220117 |
|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |