This application is based upon and claims the benefit of priority from Japanese Patent Application No. 2021-130853, filed Aug. 10, 2021, the entire contents of which are incorporated herein by reference.
Embodiments described herein relate generally to a magnetic disk device and a refresh processing method.
In a magnetic disk device, side erasing in which data is erased may occur due to an influence (Adjacent Track Interference: ATI) of a leakage magnetic flux or the like from a head when data is written. In order to prevent side erasing, the magnetic disk device has a process of rewriting data of a particular track (refresh process or rewrite process) when the number of times of writing data to peripheral tracks of the particular track exceeds a specified number of times.
Magnetic disk devices having a technique that achieves high recording density have been developed. An example of a magnetic disk device that achieves high recording density includes a magnetic disk device that can execute a shingled write magnetic recording (SMR) or a shingled write recording (SWR) in which a plurality of tracks is overwritten in the radial direction of the disk.
The shingled write magnetic recording type magnetic disk device shingled records data for each region (hereinafter, may be referred to as a band region) including a particular number of tracks. The shingled write magnetic recording type magnetic disk device performs the refresh process of rewriting data written in a particular band region to the same region when the number of times of writing data to a band region around the particular band region exceeds a specified number of times. In the shingled write magnetic recording type magnetic disk device, since the data at the end portion of the band region in the radial direction receives the ATI most, the refresh process can be executed so that the data at the end portion of the band region in the radial direction is not side-erased.
In general, according to one embodiment, a magnetic disk device comprising: a disk including a user data region having a first region to which data is written by shingled recording in which a plurality of tracks is written in an overlapping manner in a first direction of a radial direction and a cache region to which data is written by normal recording in which a plurality of tracks is written at intervals in a radial direction and is temporarily written before writing the data in the user data region; a head that writes data to the disk and reads data from the disk; and a controller including a first saving threshold value of the number of times of writing that data is written in the radial direction of the first region for saving a track located at an end portion of the first region in the radial direction into the cache region, and a refresh threshold value of the number of times of the writing for rewriting a plurality of tracks shingled recorded in the first region.
Hereinafter, embodiments will be described with reference to the drawings. It should be noted that the drawings are merely examples and do not limit the scope of the invention.
The magnetic disk device 1 includes a head disk assembly (HDA), a driver IC 20, a head amplifier integrated circuit (hereinafter referred to as a head amplifier IC or a preamplifier) 30, a volatile memory 70, a non-volatile memory 80, a buffer memory (buffer) 90, and a system controller 130 which is an integrated circuit of one chip. Further, 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 a disk) 10, a spindle motor (hereinafter referred to as an SPM) 12, an arm 13 on which a head 15 is mounted, a voice coil motor (hereinafter referred to as a VCM) 14. The disk 10 is attached to the SPM 12 and is rotated by the drive of the SPM 12. The arm 13 and the VCM 14 constitute an actuator. The actuator controls the movement of the head 15 mounted on the arm 13 to a particular position of the disk 10 by driving the VCM 14. The two or more disks 10 and the two or more heads 15 may be provided.
In the disk 10, a user data region 10a that can be used by the user, a media cache (or sometimes referred to as a media cache region or cache region) 10b that temporarily holds (writes) data (or commands) transferred from a host or the like before performing writing to a particular region of the user data region 10a, and a system area 10c in which the information required for system management is written are allocated in a region where the data can be written. Hereinafter, the direction from the inner circumference to the outer circumference of the disk 10 or the direction from the outer circumference to the inner circumference of the disk 10 is referred to as a radial direction. In the radial direction, the direction from the inner circumference to the outer circumference is referred to as the outward direction (outside), and the direction from the outer circumference to the inner circumference is referred to as the inward direction (inside). A direction orthogonal to the radial direction of the disk 10 is referred to as a circumferential direction. The circumferential direction corresponds to the direction along the circumference of the disk 10. Further, a particular position of the disk 10 in the radial direction may be referred to as a radial position, and a particular position of the disk 10 in the circumferential direction may be referred to as a circumferential position. The radial position and the circumferential position may be collectively referred to as a position. The “track” is used in various meanings including one recording area among a plurality of recording areas obtained by dividing the disk 10 in the radial direction, a recording area for one turn at a particular radial position of the disk 10, a particular recording region at a particular radial position of the disk 10, a recording area extending in a circumferential direction of the disk 10, a recording area corresponding to a path of the head 15 positioned at a particular radial position of the disk 10, a path of the head 15 positioned at a particular radial position of the disk 10, data written to one recording area among a plurality of recording areas obtained by dividing the disk 10 in the radial direction, data written to a recording area for one turn at a particular radial position of the disk 10, data written to a particular recording region at a particular radial position of the disk 10, data written to a recording area extending in the circumferential direction of the disk 10, data written to a recording area corresponding to a path of the head 15 positioned at a particular radial position of the disk 10, data written along the path of the head 15 positioned at a particular radial position of the disk 10, data extending in the circumferential direction of the disk 10, data written to a particular track of the disk 10, data for one turn written to a particular track of the disk 10, part of data written to a particular track of the disk 10, and others. The “sector” is used in various meanings including one recording area among a plurality of recording areas obtained by dividing a particular track of the disk 10 in the circumferential direction, one recording area among a plurality of recording areas obtained by dividing a recording area extending in a circumferential direction at a particular radial position of the disk 10, a particular recording region of a particular track of the disk 10, a particular circumferential position of a particular track of the disk 10, a particular circumferential position (particular position) at a particular radial position of the disk 10, data written to one recording area among a plurality of recording areas obtained by dividing a particular track of the disk 10 in the circumferential direction, data written in one recording area of a plurality of recording areas obtained by dividing the recording area extending in the circumferential direction at a particular radial position of the disk 10, data written in a particular recording region of a particular track of the disk 10, data written at a particular circumferential position of a particular track of the disk 10, data written at a particular circumferential position (particular position) at a particular radial position of the disk 10, data written to a particular sector, and others. The “radial width of the track” may be referred to as a “track width”. “A path that passes through the center position of the track width in a particular track” is referred to as a “track center”. The data available by the user written to the user data region 10a may be referred to as user data.
The head 15 has a slider as a main body, and has a write head 15W and a read head 15R mounted on the slider. The write head 15W writes data to the disk 10. The read head 15R reads the data written to the disk 10. In addition, the “write head 15W” may be simply referred to as the “head 15”, the “read head 15R” may be simply referred to as the “head 15”, and the “write head 15W and read head 15R” may be collectively referred to as the “head 15”. The “center of the head 15” may be referred to as the “head 15”, the “center of the write head 15W” may be referred to as the “write head 15W”, and the “center of the read head 15R” may be referred to as the “read head 15R”. The “center of the write head 15W” may be simply referred to as the “head 15”, and the “center of the read head 15R” may be simply referred to as the “head 15”. “Positioning the center of the head 15 to the track center of a particular track” may be expressed as “positioning the head 15 to a particular track”, “disposing the head 15 on a particular track”, or “locating the head 15 on a particular track”.
In the example shown in
In the example shown in
Data can be written to the user data region 10a of disk 10 in a shingled write magnetic recording (SMR), or shingled write recording (SWR) type in which the track to be written next (hereinafter, may be referred to as a next track) is overwritten on part of a particular track in the radial direction. Data can be written to the user data region 10a in the conventional magnetic recording (CMR) type in which a track (hereinafter, may be referred to as an adjacent track) that is radially adjacent to a particular track is written away from this particular track by a particular interval (a gap) in the radial direction or data can be randomly written. Hereinafter, “write data in the shingled write magnetic recording type” may be simply referred to as “shingled record”, “perform a shingled write magnetic recording process”, or simply “write”. The write process other than the “conventional magnetic recording process” may be referred to as a “shingled write magnetic recording process”. In addition, “write data in conventional magnetic recording type” may be simply referred to as “conventionally record”, “perform a conventional magnetic recording process”, or simply as “write”.
As shown in
The driver IC 20 controls the driving of the SPM 12 and the VCM 14 according to the control of the system controller 130 (specifically, the MPU 60 described later).
The head amplifier IC (preamplifier) 30 includes a read amplifier, a write driver, and the like. The read amplifier amplifies the read signal read from the disk 10 to output it to the system controller 130 (specifically, a read/write (R/W) channel 40 to be described later). The write driver outputs a write current corresponding to the signal output from the R/W channel 40 to the head 15.
The volatile memory 70 is a semiconductor memory from which stored data is lost when power supply is cut off. The volatile memory 70 stores data and the like necessary for processing in each part of the magnetic disk device 1. The volatile memory 70 is, for example, a dynamic random access memory (DRAM) or a synchronous dynamic random access memory (SDRAM).
The non-volatile memory 80 is a semiconductor memory that records data stored even when power supply is cut off. The non-volatile memory 80 is, for example, a NOR type or NAND type flash read only memory (FROM).
The buffer memory 90 is a semiconductor memory that temporarily records data and the like transmitted and received between the magnetic disk device 1 and a host 100. It is to be noted that the buffer memory 90 may be formed integrally with the volatile memory 70. The buffer memory 90 is, for example, a DRAM, a static random access memory (SRAM), an SDRAM, a ferroelectric random access memory (FeRAM), a magnetoresistive random access memory (MRAM), or the like.
The system controller (controller) 130 is implemented by using a large scale integrated circuit (LSI) referred to as the System-on-a-Chip (SoC) in which a plurality of elements is integrated on a single chip, for example. The system controller 130 includes a read/write (R/W) channel 40, 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 non-volatile memory 80, the buffer memory 90, the host system 100, and the like.
The R/W channel 40 responds to an instruction from the MPU 60 to be described later, performs the signal process of the data (hereinafter, may be referred to as read data) transferred from the disk 10 to the host 100 and the data (hereinafter, may be referred to as write data) transferred from the host 100. 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 for measuring and demodulating a signal quality of read data. The R/W channel 40 is electrically connected to the head amplifier IC 30, the HDC 50, the MPU 60, and the like, for example.
The HDC 50 controls data transfer. For example, the HDC 50 controls data transfer between the host 100 and the disk 10 in response to an instruction from the MPU 60 described later. The HDC 50 is electrically connected to, for example, the R/W channel 40, the MPU 60, the volatile memory 70, the non-volatile memory 80, the buffer memory 90, and the like.
The MPU 60 is a main controller that controls respective units of the magnetic disk device 1. The MPU 60 controls the VCM 14 via the driver IC 20 and executes servo control that positions the head 15. The MPU 60 also controls the SPM 12 via the driver IC 20 to rotate the disk 10. The MPU 60 controls a write operation of the data to the disk 10 and selects the storage destination of the data, for example, write data, transferred from the host 100. The MPU 60 controls the read operation of the data from the disk 10 and controls the process of the data transferred from the disk 10 to the host 100, for example, read data. The MPU 60 also manages a region for recording data. The MPU 60 is connected to each part of the magnetic disk device 1. The MPU 60 is electrically connected to the driver IC 20, the R/W channel 40, the HDC 50, and the like, for example.
The MPU 60 includes a read/write control unit 610, a write count unit 620, a refresh unit 630, and the like. The MPU 60 executes the process of each unit, for example, the read/write control unit 610, the write count unit 620, the refresh unit 630, and the like on the firmware. The MPU 60 may include respective units, for example, the read/write control unit 610, the write count unit 620, the refresh unit 630, and the like as a circuit. The read/write control unit 610, the write count unit 620, the refresh unit 630, and the like may be included in the R/W channel 40 or the HDC 50.
The read/write control unit 610 controls a read process of reading data from the disk 10 and a write process 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 of the disk 10, and performs the read process or the write process. Hereinafter, the term “access” may be used in a meaning including recording or writing data to a particular region (or write process), reading out or reading data from a particular region (or read process), or moving the head 15 or the like to a particular region.
The read/write control unit 610 overwrites (or shingled records), with the next track, part of the track in the radial direction for a particular region (hereinafter, may be referred to as a band or a band region) of the disk 10 according to a command or the like from the host 100. “Overwrite data” includes “overwrite part of one data of at least two data with another data” and “overwrite one data of at least two data with another data being shifted”. The read/write control unit 610 sequentially shingled records a plurality of tracks (or track group) for each band region. The read/write control unit 610 arranges the plurality of band regions at particular intervals (gaps) in the radial direction. In the band region, a track located at one end portion in the radial direction and to be written first may be referred to as an initial track, and a track located at the other end portion opposite to the one end portion in the radial direction and to be written last may be referred to as a last track. In a particular band region, the track written immediately before (hereinafter, may be referred to as a previous track) is not overwritten with the initial track, and the initial track is overwritten with the next track. The initial track is located at the end portion of the particular band region in the reverse forward direction. In a particular band region, the previous track is overwritten with the last track and the last track is not overwritten with the next track. The last track is located at the end portion of the particular band region in the forward direction. In the particular band region, the track width of the last track is larger than the track widths of the other tracks.
The read/write control unit 610 writes an adjacent track of a particular track at a particular interval (gap) in the radial direction in a particular region of the disk 10 or writes data randomly (or conventionally records) according to a command or the like from the host 100.
In the example illustrated in
In the example illustrated in
The read/write control unit 610 shingled records the tracks STRa1 to STRan in the band region BAa of the user data region 10a. The read/write control unit 610 shingled records the tracks STRb1 to STRbn in the band region BAb of the user data region 10a. The read/write control unit 610 shingled records the tracks STRc1 to STRcn in the band region BAc of the user data region 10a.
The read/write control unit 610 conventionally records the track CTRn−1 in the media cache 10b or the system area 10c. The read/write control unit 610 conventionally records the track CTRn in the forward direction of the track CTRn−1 in the media cache 10b or the system area 10c.
The write count unit 620 counts the number of times the data is written (hereinafter, may be referred to as the number of times of writing). The write count unit 620 counts the number of times of writing (hereinafter, may be referred to as the number of times of proximity region writing) that data is written to a region (hereinafter, may be referred to as a proximity region) located within a particular range from a region of target (hereinafter, may be referred to as a target region) in the radial direction. For example, the write count unit 620 counts the number of times of proximity region writing (hereinafter, may be referred to as the number of times of forward direction proximity region writing or the number of times of forward direction writing) that data is written to the proximity region (hereinafter, may be referred to as a forward direction proximity region) located within a particular range from the target region in the forward direction. In addition, for example, the write count unit 620 counts the number of times of proximity region writing (hereinafter, may be referred to as the number of times of reverse forward direction proximity region writing or the number of times of reverse forward direction writing) that data is written in the proximity region (hereinafter, may be referred to as a reverse forward direction proximity region) located within a particular range from the target region in the reverse forward direction. The write count unit 620 may hold the number of times of writing as a table in a particular recording region, for example, the system area 10c, the volatile memory 70, the non-volatile memory 80, the buffer memory 90, or the like of the disk 10.
When data is written to a proximity region located within a particular range from the target region in the radial direction, the write count unit 620 increases (increments) the number of times of proximity region writing by a particular value. For example, the write count unit 620 increases (increments) the number of times of proximity region writing by one when the data is written to the proximity region located within a particular range from the target region in the radial direction. When data is written to the forward direction proximity region, the write count unit 620 increases (increments) the number of times of forward direction proximity region writing (the number of times of forward direction writing) by a particular value. For example, the write count unit 620 increases (increments) the number of times of forward direction proximity region writing (the number of times of forward direction writing) by one when data is written to the forward direction proximity region. When data is written to the reverse forward direction proximity region, the write count unit 620 increases (increments) the number of times of reverse forward direction proximity region writing (the number of times of reverse forward direction writing) by a particular value. For example, the write count unit 620 increases (increments) the number of times of reverse forward direction proximity region writing (the number of times of reverse forward direction writing) by one when data is written to the reverse forward direction proximity region.
The write count unit 620 counts the number of times of writing (hereinafter, may be referred to as the number of times of adjacent region writing) that data is written to the region (hereinafter, may be referred to as an adjacent region) that is adjacent to the target region in the radial direction. For example, the write count unit 620 counts the number of times of adjacent region writing (hereinafter, may be referred to as the number of times of forward direction adjacent region writing or the number of times of forward direction writing) that data is written to the adjacent region (hereinafter, may be referred to as a forward direction adjacent region) adjacent to the target region in the forward direction. In addition, for example, the write count unit 620 counts the number of times of adjacent region writing (hereinafter, may be referred to as the number of times of reverse forward direction adjacent region writing or the number of times of reverse forward direction writing) that data is written to the adjacent region (hereinafter, may be referred to as a reverse forward direction adjacent region) adjacent to the target region in the reverse forward direction.
When data is written to an adjacent region located in the radial direction of the target region, the write count unit 620 increases (increments) the number of times of adjacent region writing by a particular value. For example, when data is written to an adjacent region located in the radial direction of the target region, the write count unit 620 increases (increments) the number of times of adjacent region writing by one. When data is written to the forward direction adjacent region, the write count unit 620 increases (increments) the number of times of forward direction adjacent region writing (the number of times of forward direction writing) by a particular value. For example, the write count unit 620 increases (increments) the number of times of forward direction adjacent region writing (the number of times of forward direction writing) by one when data is written to the forward direction adjacent region. When data is written to the reverse forward direction adjacent region, the write count unit 620 increases (increments) the number of times of reverse forward direction adjacent region writing (the number of times of reverse forward direction writing) by a particular value. For example, the write count unit 620 increases (increments) the number of times of reverse forward direction adjacent region writing (the number of times of reverse forward direction writing) by one when data is written to the reverse forward direction adjacent region.
The write count unit 620 counts the number of times of writing (hereinafter, may be referred to as the number of times of adjacent band writing) that data is written to a band region (hereinafter, may be referred to as an adjacent band region) adjacent to the band region of target (hereinafter, may be referred to as a target band region) in the radial direction. For example, the write count unit 620 counts the number of times of adjacent band writing (hereinafter, may be referred to as the number of times of forward direction adjacent band writing or the number of times of forward direction writing) that data is written to the adjacent band region (hereinafter, may be referred to as a forward direction adjacent band region or a forward direction band region) adjacent to the target band region in the forward direction. In addition, for example, the write count unit 620 counts the number of times of adjacent band writing (hereinafter, may be referred to as the number of times of reverse forward direction adjacent band writing or the number of times of reverse forward direction writing) that data is written to the adjacent band region (hereinafter, may be referred to as a reverse forward direction adjacent band region or a reverse forward direction band region) adjacent to the target band region in the reverse forward direction.
When data is written to an adjacent band region radially adjacent to the target band region, the write count unit 620 increases (increments) the number of times of adjacent band writing by a particular value. For example, when data is written to an adjacent band region located in the radial direction of the target band region, the write count unit 620 increases (increments) the number of times of adjacent band writing by one. When data is written to the forward direction adjacent band region, the write count unit 620 increases (increments) the number of times of forward direction adjacent band writing by a particular value. For example, when data is written to the forward direction adjacent band region, the write count unit 620 increases (increments) the number of times of forward direction adjacent band writing (the number of times of forward direction writing) by one. When data is written to the reverse forward direction adjacent band region, the write count unit 620 increases (increments) the number of times of reverse forward direction adjacent band writing (the number of times of reverse forward direction writing) by a particular value. For example, when data is written to the reverse forward direction adjacent band region, the write count unit 620 increases (increments) the number of times of reverse forward direction adjacent band writing (the number of times of reverse forward direction writing) by one.
The write count unit 620 counts the number of times of writing (hereinafter, may be referred to as the number of times of proximity track writing) that data is written to the track (hereinafter, may be referred to as a proximity track) located within a particular range in the radial direction from the track of target (hereinafter, may be referred to as a target track) or the target band region. The write count unit 620 counts the number of times of proximity track writing (hereinafter, may be referred to as the number of times of forward direction proximity track writing or the number of times of forward direction writing) that data is written to the proximity track (hereinafter, may be referred to as a forward direction proximity track) located within a particular range in the forward direction from the target track or the target band region. The write count unit 620 counts the number of times of proximity track writing (hereinafter, may be referred to as the number of times of reverse forward direction proximity track writing or the number of times of reverse forward direction writing) that data is written to the proximity track (hereinafter, may be referred to as a reverse forward direction proximity track) located within a particular range in the reverse forward direction from the target track or the target band region. It should be noted that when the data is written, a track that exerts influence of writing bleeding, leakage magnetic field, or the like on the target region may be detected by measurement at the manufacturing stage, and the detected track may be set as a proximity track. Further, when the data is written, a track that exerts influence of writing bleeding, leakage magnetic field, or the like on the target region may be detected at the operation process, and the detected track may be set as a proximity track.
When data is written to a proximity track located within a particular range in the radial direction from the target track or the target band region, the write count unit 620 increases (increments) the number of times of proximity track writing by a particular value. For example, when data is written to a proximity track located within a particular range in the radial direction from the target track or the target band region, the write count unit 620 increases (increments) the number of times of proximity track writing by one. When data is written to the forward direction proximity track, the write count unit 620 increases (increments) the number of times of forward direction proximity track writing (the number of times of forward direction writing) by a particular value. For example, when data is written to the forward direction proximity track, the write count unit 620 increases (increments) the number of times of forward direction proximity track writing (the number of times of forward direction writing) by one. When data is written to the reverse forward direction proximity track, the write count unit 620 increases (increments) the number of times of reverse forward direction proximity track writing (the number of times of reverse forward direction writing) by a particular value. For example, when data is written to the reverse forward direction proximity track, the write count unit 620 increases (increments) the number of times of reverse forward direction proximity track writing (the number of times of reverse forward direction writing) by one.
The write count unit 620 counts the number of times of writing (hereinafter, may be referred to as the number of times of adjacent track writing) that data is written to the track (hereinafter, may be referred to as an adjacent track) adjacent to the target track or the target band region in the radial direction. For example, the write count unit 620 counts the number of times of adjacent track writing (hereinafter, may be referred to as or the number of times of forward direction adjacent track writing or the number of times of forward direction writing) that data is written to the adjacent track (hereinafter, may be referred to as a forward direction adjacent track) adjacent to the target track or the target band region in the forward direction. In addition, for example, the write count unit 620 counts the number of times of adjacent track writing (hereinafter, may be referred to as the number of times of reverse forward direction adjacent track writing or the number of times of reverse forward direction writing) that data is written to the adjacent track (hereinafter, may be referred to as a reverse forward direction adjacent track) adjacent to the target track or the target band region in the reverse forward direction.
When data is written to an adjacent track adjacent to the target track or the target band region in the radial direction, the write count unit 620 increases (increments) the number of times of adjacent track writing by a particular value. For example, when data is written to an adjacent track adjacent to the target track or the target band region in the radial direction, the write count unit 620 increases (increments) the number of times of adjacent track writing by one. When data is written to the forward direction adjacent track, the write count unit 620 increases (increments) the number of times of forward direction adjacent track writing (the number of times of forward direction writing) by a particular value. For example, when data is written to the forward direction adjacent track, the write count unit 620 increases (increments) the number of times of forward direction adjacent track writing (the number of times of forward direction writing) by one. When data is written to the reverse forward direction adjacent track, the write count unit 620 increases (increments) the number of times of reverse forward direction adjacent track writing by a particular value. For example, when data is written to the reverse forward direction adjacent track, the write count unit 620 increases (increments) the number of times of reverse forward direction adjacent track writing (the number of times of reverse forward direction writing) by one.
The refresh unit 630 reads data of a particular region and performs a process (hereinafter, may be referred to as saving or a saving process) of writing (or saving) the read data to another region. When data at an end portion of a particular region (hereinafter, may be referred to as a target region) is affected by leakage flux or the like with an amount larger than a specific amount (Adjacent Track Interference (ATI)), the refresh unit 630 performs a saving process on the data at the end portion of the target region in the radial direction. The refresh unit 630 has a threshold value (hereinafter, may be referred to as a saving threshold value) of the number of times of writing corresponding to the target region that is the number of times of writing when the saving process corresponding to the target region is performed. Note that refresh unit 630 may have a plurality of different saving threshold values corresponding to the target regions. The saving threshold value corresponds to the number of times of writing to a region in the radial direction of the target region in which the data of the particular portion of the target region receives ATI larger than a specific amount, for example, the amount that destructs data. For example, the saving threshold value corresponds to the number of times of writing to the region in the radial direction of the target region in which data at the end portion of the target region receives ATI larger than the amount that destroys the data. When determining that the number of times of writing is larger than the saving threshold value corresponding to the target region, the refresh unit 630 performs the saving process on the data at the end portion of the target region. The refresh unit 630 may hold (write) the saving threshold value as a table for each region in a particular recording region, for example, the system area 10c of the disk 10, the volatile memory 70, the non-volatile memory 80, the buffer memory 90, or the like.
The refresh unit 630 executes a process of rewriting the data same as the data written to the target region into the target region (hereinafter, may be referred to as rewrite, rewrite process, refresh, or refresh process) or a process of overwriting or rewriting the data into the target region (hereinafter, may be referred to as an overwrite process, a rewrite process, rewrite, refresh, or a refresh process). Hereinafter, the rewrite process, or the overwriting process may be collectively referred to as rewrite, a rewrite process, refresh, or a refresh process. “Overwrite” includes “write data on data written at a particular position in a particular region” and “write data at the same position in the same region as the data written at the particular position in the particular region”. In addition, the saving process may be referred to as rewrite, a rewrite process, refresh, or a refresh process. When data at a portion away from the end portion of the target region receives ATI larger than a specific amount, the refresh unit 630 performs the refresh process on the target region. The refresh unit 630 has a threshold value (hereinafter, may be referred to as a refresh threshold value) of the number of times of writing corresponding to the target region that is the number of times of writing when the refresh process corresponding to the target region is performed. The refresh threshold value corresponds to the number of times of writing to a region in the radial direction of this region in which data in a portion away from the end portion of the target region receives ATI larger than a specific amount, for example, the amount that destroys the data. The refresh threshold value is larger than the saving threshold value. When determining that the number of times of writing is larger than the refresh threshold value corresponding to the target region, the refresh unit 630 performs the refresh process on the target region. When performing the refresh process on the target region, the refresh unit 630 resets the number of times of writing corresponding to the target region, for example, to zero. The refresh unit 630 may hold the refresh threshold value as a table for each region in a particular recording region, for example, the system area 10c of the disk 10, the volatile memory 70, the non-volatile memory 80, the buffer memory 90, or the like. When the refresh process is performed on the target region and the data at the end portion of the target region cannot be read, the refresh unit 630 may perform the refresh process on the target region using the data at the end portion of the target region saved in the target region and another region by the save process.
For example, when determining that the number of times of writing corresponding to the target band region is larger than the saving threshold value corresponding to this target band region, the refresh unit 630 causes the head 15 to seek to the target band region and saves the initial track located at the end portion of the target band region in the reverse forward direction into the media cache 10b (or the system area 10c). When determining that the number of times of writing corresponding to the target band region is larger than the refresh threshold value corresponding to this target band region, the refresh unit 630 reads respective tracks of the target band region of the user data region 10a, temporarily holds (writes) data of the respective tracks of the target band region in the media cache 10b and reads the data, and performs the refresh process of rewriting the data of the respective tracks of the target band region read from the media cache 10b to the same position of the target band region. When it is determined that the number of times of writing corresponding to the target band region is larger than the refresh threshold value corresponding to the target band region and the initial track of the target band region cannot be read, the refresh unit 630 may read, from the media cache 10b, data of respective tracks other than the initial track of the target band region read from the target band region and temporarily written to the media cache 10b and data of the initial track saved into the media cache 10b by the saving process, and rewrite respective tracks of the target band region.
For example, when determining that the number of times of forward direction writing corresponding to the target band region is larger than the saving threshold value corresponding to this target band region, the refresh unit 630 causes the head 15 to seek to the target band region and saves the last track located at the end portion of the target band region in the forward direction into the media cache 10b (or the system area 10c). When determining that the number of times of forward direction writing corresponding to the target band region is larger than the refresh threshold value corresponding to this target band region, the refresh unit 630 reads respective tracks of the target band region of the user data region 10a, temporarily writes data of the respective tracks of the target band region to the media cache 10b, reads the data from the media cache 10b, and performs the refresh process of rewriting the data read from the media cache 10b to the same position of the target band region. When it is determined that the number of times of forward direction writing corresponding to the target band region is larger than the refresh threshold value corresponding to this target band region and the last track of the target band region cannot be read, the refresh unit 630 may read, from the media cache 10b, data of respective tracks other than the last track of the target band region read from the target band region and temporarily written to the media cache 10b and data of the last track saved into the media cache 10b by the saving process, and rewrite respective tracks of the target band region.
For example, when determining that the number of times of reverse forward direction writing corresponding to the target band region is larger than the saving threshold value corresponding to this target band region, the refresh unit 630 causes the head 15 to seek to the target band region and saves the initial track located at the end portion of the target band region in the reverse forward direction into the media cache 10b (or the system area 10c). When determining that the number of times of reverse forward direction writing corresponding to the target band region is larger than the refresh threshold value corresponding to the target band region, the refresh unit 630 reads respective tracks of the target band region of the user data region 10a, temporarily writes data of the respective tracks of the target band region to the media cache 10b, reads the data from the media cache 10b, and performs the refresh process of rewriting the data read from the media cache 10b to the same position of the target band region. When it is determined that the number of times of reverse forward direction writing corresponding to the target band region is larger than the refresh threshold value corresponding to the target band region and the initial track of the target band region cannot be read, the refresh unit 630 may read, from the media cache 10b, data of respective tracks other than the initial track of the target band region read from the target band region and temporarily written to the media cache 10b and data of the initial track saved into the media cache 10b by the saving process, and rewrite respective tracks of the target band region.
STRbn are continuously disposed in the forward direction in the described order. The track STRb1 corresponds to the initial track, and the track STRbn corresponds to the last track. In
For example, when data is written a particular number of times to the band region BAa illustrated in
For example, when data is written to the band region BAc illustrated in
In the example illustrated in
In a case where it is determined that the number of times of reverse forward direction writing (the number of times of reverse forward direction adjacent band writing) WCaO is larger than the saving threshold value ETHa1, the MPU 60 causes the head 15 to seek to the band region BAa, reads the initial track of the band region BAa, and saves (or writes) data of the initial track into the media cache 10b.
When determining that the number of times of reverse forward direction writing (the number of times of reverse forward direction adjacent band writing) WCaO is larger than the refresh threshold value RTHa1, the MPU 60 performs the refresh process on the band region BAa.
In the example illustrated in
When determining that number of times of forward direction writing WCaI is larger than the saving threshold value ETHa1, the MPU 60 causes the head 15 to seek to the band region BAa, reads the last track of the band region BAa, and saves (or writes) the data of the last track into the media cache 10b.
When determining that the number of times of forward direction writing (the number of times of forward direction adjacent band writing) WCaI is larger than the refresh threshold value RTHa1, the MPU 60 performs the refresh process on the band region BAa.
In the example illustrated in
When determining that the number of times of reverse forward direction writing (the number of times of reverse forward direction adjacent band writing) WCbO is larger than the saving threshold value ETHb1, the MPU 60 causes the head 15 to seek to the band region BAb, reads the initial track of the band region BAb, and saves (or writes) the data of the initial track into the media cache 10b.
When determining that the number of times of reverse forward direction writing (the number of times of reverse forward direction adjacent band writing) WCbO is larger than the refresh threshold value RTHb1, the MPU 60 performs the refresh process on the band region BAb.
In the example illustrated in
When determining that the number of times of forward direction writing WCbI is larger than the saving threshold value ETHb1, the MPU 60 causes the head 15 to seek to the band region BAb, reads the last track of the band region BAb, and saves (or writes) the data of the last track into the media cache 10b.
When determining that the number of times of forward direction writing (the number of times of forward direction adjacent band writing) WCbI is larger than the refresh threshold value RTHb1, the MPU 60 performs the refresh process on the band region BAb.
In the example illustrated in
When determining that the number of times of reverse forward direction writing (the number of times of reverse forward direction adjacent band writing) WCcO is larger than the saving threshold value ETHc1, the MPU 60 causes the head 15 to seek to the band region BAc, reads the initial track of the band region BAc, and saves (or writes) the data of the initial track into the media cache 10b.
When determining that the number of times of reverse forward direction writing (the number of times of reverse forward direction adjacent band writing) WCcO is larger than the refresh threshold value RTHc1, the MPU 60 performs the refresh process on the band region BAc.
In the example illustrated in
When determining that the number of times of forward direction writing WCcI is larger than the saving threshold value ETHc1, the MPU 60 causes the head 15 to seek to the band region BAc, reads the last track of the band region BAc, and saves (or writes) the data of the last track into the media cache 10b.
When determining that the number of times of forward direction writing (the number of times of forward direction adjacent band writing) WCcI is larger than the refresh threshold value RTHc1, the MPU 60 performs the refresh process on the band region BAc.
In the example illustrated in
In the example illustrated in
The MPU 60 receives a command from the host 100 and executes a write process (B1001). The MPU 60 determines whether data is written to the band region in the reverse forward direction of the target band region (B1002). In other words, the MPU 60 determines whether data is written to the band region in the reverse forward direction of the target band region or data is written to the band region in the forward direction of the target band region.
When it is determined that the data is written to the band region in the reverse forward direction of the target band region (YES in B1002), the MPU 60 determines whether the number of times of reverse forward direction writing is larger than the saving threshold value corresponding to the target band region or equal to or less than the saving threshold value corresponding to the target band region (B1003). When it is determined that the number of times of reverse forward direction writing is equal to or less than the saving threshold value corresponding to the target band region (NO in B1003), the MPU 60 advances the process to B1001. When it is determined that the number of times of reverse forward direction writing is larger than the saving threshold value corresponding to the target band region (YES in B1003), the MPU 60 causes the head 15 to seek to the target band region (B1004).
The MPU 60 determines whether the number of times of reverse forward direction writing is larger than the refresh threshold value corresponding to the target band region or equal to or less than the refresh threshold value corresponding to the target band region (B1005). When it is determined that the number of times of reverse forward direction writing is equal to or less than the refresh threshold value corresponding to the target band region (NO in B1005), the MPU 60 reads the initial track of the target band region (B1006), saves the read initial track into the media cache 10b (B1007), and ends the process.
When it is determined that the number of times of reverse forward direction writing is larger than the refresh threshold value corresponding to the target band region (YES in B1005), the MPU 60 reads all tracks in the target band region (B1008), temporarily writes data of all the tracks in the target band region to the media cache 10b, reads the data from the media cache 10b, rewrites the data read from the media cache 10b to the target band region (B1009), and ends the process.
When it is determined that the data is not written to the band region in the reverse forward direction of the target band region, that is, the data is written to the band region in the forward direction of the target band region (NO in B1002), the MPU 60 determines whether the number of times of forward direction writing is larger than the saving threshold value corresponding to the target band region or equal to or less than the saving threshold value corresponding to the target band region (B1010). When it is determined that the number of times of forward direction writing is equal to or less than the saving threshold value corresponding to the target band region (NO in B1010), the MPU 60 advances the process to B1001. When it is determined that the number of times of forward direction writing is larger than the saving threshold value corresponding to the target band region (YES in B1010), the MPU 60 causes the head 15 to seek to the target band region (B1011).
The MPU 60 determines whether the number of times of forward direction writing is larger than the refresh threshold value corresponding to the target band region or equal to or less than the refresh threshold value corresponding to the target band region (B1012). When determining that the number of times of forward direction writing is equal to or less than the refresh threshold value corresponding to the target band region (NO in B1012), the MPU 60 reads the last track of the target band region (B1013), saves the read last track into the media cache 10b (B1014), and ends the process.
When it is determined that the number of times of forward direction writing is larger than the refresh threshold value corresponding to the target band region (YES in B1012), the MPU 60 advances the process to B1008.
According to the present embodiment, the magnetic disk device 1 has a threshold value regarding a plurality of different write counts for each particular region, for example, for each band region. The magnetic disk device 1 has a saving threshold value and a refresh threshold value for each particular region, for example, for each band region. When determining that the number of times of reverse forward direction writing is larger than the saving threshold value corresponding to the target band region, the magnetic disk device 1 causes the head 15 to seek to the target band region. When determining that the number of times of reverse forward direction writing is equal to or less than the refresh threshold value corresponding to the target band region, the magnetic disk device 1 reads the initial track of the target band region and saves the read initial track into the media cache 10b. When determining that the number of times of reverse forward direction writing is larger than the refresh threshold value corresponding to the target band region, the magnetic disk device 1 reads all tracks in the target band region, temporarily writes data of all the tracks in the target band region to the media cache 10b, reads the data from the media cache 10b, and rewrites the data read from the media cache 10b to the target band region. When determining that the number of times of forward direction writing is larger than the saving threshold value corresponding to the target band region, the magnetic disk device 1 causes the head 15 to seek to the target band region. When determining that the number of times of forward direction writing is equal to or less than the refresh threshold value corresponding to the target band region, the magnetic disk device 1 reads the last track of the target band region and saves the read last track into the media cache 10b. When determining that the number of times of forward direction writing is larger than the refresh threshold value corresponding to the target band region, the magnetic disk device 1 reads all tracks in the target band region, temporarily writes data of all the tracks in the target band region to the media cache 10b, reads the data from the media cache 10b, and rewrites the data read from the media cache 10b to the target band region. Since the magnetic disk device 1 has the saving threshold value and the refresh threshold value for each band region, it is possible to perform the saving process of the initial track or the last track of the target band region that receives ATI most when data is written to the adjacent band region of the target band region before performing the refresh process. The magnetic disk device 1 can set a refresh threshold value larger than a refresh threshold value corresponding to the conventional refresh process in which only one refresh threshold value is set for the target band region. Therefore, the magnetic disk device 1 can reduce the ratio (hereinafter, may be referred to as a frequency of the refresh process) of performing the refresh process at particular time intervals. Therefore, the magnetic disk device 1 can improve performance.
Next, a magnetic disk device according to modifications of the first embodiment and another embodiment will be described. In the modifications and another embodiment, the same reference numerals are attached to the same parts as those in the first embodiment, and a detailed description thereof will be omitted.
(Modification 1)
The magnetic disk device 1 according to Modification 1 of the first embodiment is different from the magnetic disk device 1 according to the first embodiment described above in the refresh processing method.
For example, when determining that the number of times of adjacent band writing corresponding to the target band region is larger than the saving threshold value corresponding to this target band region, the refresh unit 630 causes the head 15 to seek to the target band region and saves the initial track of the target band region into the media cache 10b (or the system area 10c). When determining that the number of times of adjacent band writing corresponding to the target band region is larger than the refresh threshold value corresponding to this target band region, the refresh unit 630 reads respective tracks other than the initial track of the target band region of the user data region 10a and temporarily writes data of the respective tracks other than the initial track of the target band region to the media cache 10b. The refresh unit 630 reads, from the media cache 10b, the data of respective tracks other than the initial track of the target band region read from the target band region and temporarily written to the media cache 10b and the data of the initial track saved in the media cache 10b by the saving process, and rewrites the data of the respective tracks other than the initial track of the target band region and the data of the initial track to the target band region.
For example, when determining that the number of times of forward direction adjacent band writing corresponding to the target band region is larger than the saving threshold value corresponding to this target band region, the refresh unit 630 causes the head 15 to seek to the target band region and saves the last track of the target band region into the media cache 10b (or the system area 10c). When determining that the number of times of forward direction adjacent band writing corresponding to the target band region is larger than the refresh threshold value corresponding to the target band region, the refresh unit 630 reads respective tracks other than the last track of the target band region of the user data region 10a and temporarily writes data of the respective tracks other than the last track of the target band region to the media cache 10b. The refresh unit 630 reads, from the media cache 10b, the data of respective tracks other than the last track of the target band region read from the target band region and temporarily written to the media cache 10b and the data of the last track saved into the media cache 10b by the saving process, and rewrites the data of respective tracks other than the last track of the target band region and the data of the last track to the target band region.
For example, when determining that the number of times of reverse forward direction writing corresponding to the target band region is larger than the saving threshold value corresponding to this target band region, the refresh unit 630 causes the head 15 to seek to the target band region and saves the initial track of the target band region into the media cache 10b (or the system area 10c). When determining that the number of times of reverse forward direction adjacent band writing corresponding to the target band region is larger than the refresh threshold value corresponding to this target band region, the refresh unit 630 reads respective tracks other than the initial track of the target band region of the user data region 10a and temporarily writes data of the respective tracks other than the initial track of the target band region to the media cache 10b. The refresh unit 630 reads, from the media cache 10b, the data of respective tracks other than the initial track of the target band region read from the target band region and temporarily written to the media cache 10b and the data of the initial track saved in the media cache 10b by the saving process, and rewrites the data of the respective tracks other than the initial track of the target band region and the data of the initial track to the target band region.
The MPU 60 executes a write process in response to a command from the host 100 (B1001), and determines whether data is written to the band region in the reverse forward direction of the target band region (B1002).
When it is determined that the data is written to the band region in the reverse forward direction of the target band region (YES in B1002), the MPU 60 determines whether the number of times of reverse forward direction writing is larger than the saving threshold value corresponding to the target band region or equal to or less than the saving threshold value corresponding to the target band region (B1003). When it is determined that the number of times of reverse forward direction writing is equal to or less than the saving threshold value corresponding to the target band region (NO in B1003), the MPU 60 advances the process to B1001. When it is determined that the number of times of reverse forward direction writing is larger than the saving threshold value corresponding to the target band region (YES in B1003), the MPU 60 causes the head 15 to seek to the target band region (B1004).
The MPU 60 determines whether the number of times of reverse forward direction writing is larger than the refresh threshold value corresponding to the target band region or equal to or less than the refresh threshold value corresponding to the target band region (B1005). When it is determined that the number of times of reverse forward direction writing is equal to or less than the refresh threshold value corresponding to the target band region (NO in B1005), the MPU 60 advances the process to B1006.
When determining that the number of times of reverse forward direction writing is larger than the refresh threshold value corresponding to the target band region (YES in B1005), the MPU 60 reads respective tracks other than the initial track of the target band region (B1101), and temporarily writes the respective tracks other than the initial track of the target band region to the media cache 10b. The MPU 60 reads the data of respective tracks other than the initial track of the target band region and the data of the initial track saved by the saving process from the media cache 10b, rewrites the target band region with the previous save data of the initial track and the data of B1101 (B1102), and ends the process.
When it is determined that the data is written to the forward direction band region of the target band region (NO in B1002), the MPU 60 determines whether the number of times of forward direction writing is larger than the saving threshold value corresponding to the target band region or equal to or less than the saving threshold value corresponding to the target band region (B1010). When it is determined that the number of times of forward direction writing is equal to or less than the saving threshold value corresponding to the target band region (NO in B1010), the MPU 60 advances the process to B1001. When it is determined that the number of times of forward direction writing is larger than the saving threshold value corresponding to the target band region (YES in B1010), the MPU 60 causes the head 15 to seek to the target band region (B1011).
The MPU 60 determines whether the number of times of forward direction writing is larger than the refresh threshold value corresponding to the target band region or equal to or less than the refresh threshold value corresponding to the target band region (B1012). When it is determined that the number of times of forward direction writing is equal to or less than the refresh threshold value corresponding to the target band region (NO in B1012), the MPU 60 advances the process to B1013.
When determining that the number of times of forward direction writing is larger than the refresh threshold value corresponding to the target band region (YES in B1012), the MPU 60 reads respective tracks other than the last track of the target band region (B1103), and temporarily writes the respective tracks other than the last track of the target band region to the media cache 10b. The MPU 60 reads the data of respective tracks other than the last track of the target band region and the data of the last track saved by the saving process from the media cache 10b, rewrites the target band region with the previous save data of the last track and the data of B1103 (B1104), and ends the process.
According to Modification 1, when determining that the number of times of reverse forward direction writing is larger than the refresh threshold value corresponding to the target band region, the magnetic disk device 1 reads respective tracks other than the initial track of the target band region, and temporarily writes the respective tracks other than the initial track of the target band region to the media cache 10b. The magnetic disk device 1 reads the data of respective tracks other than the initial track in the target band region and the data of the initial track saved by the saving process from the media cache 10b, and rewrites the data of the respective tracks other than the initial track in the target band region and the data of the initial track to the target band region. In addition, when determining that the number of times of forward direction writing is larger than the refresh threshold value corresponding to the target band region, the magnetic disk device 1 reads respective tracks other than the last track of the target band region and temporarily writes the respective tracks other than the last track of the target band region to the media cache 10b. The magnetic disk device 1 reads the data of respective tracks other than the last track in the target band region and the data of the last track saved by the saving process from the media cache 10b, and rewrites the data of the respective tracks other than the last track in the target band region and the data of the last track to the target band region. When performing the refresh process on the target band region, the magnetic disk device 1 does not need to read the data of the initial track or the data of the last track saved in the save processing again to temporarily write the data to the media cache 10b. Therefore, the magnetic disk device 1 can improve the performance.
(Modification 2)
The magnetic disk device 1 according to Modification 2 of the first embodiment is different from the magnetic disk device 1 according to the first embodiment and Modification 1 described above in terms of the saving threshold value and the refresh threshold value.
When determining that the number of times of writing to the region in the reverse forward direction corresponding to the target region (the number of times of reverse forward direction writing) is larger than the saving threshold value (hereinafter, may be referred to as a reverse forward direction saving threshold value) corresponding to the number of times of writing to the region in the reverse forward direction corresponding to the target region, the refresh unit 630 performs the saving process on the data at the end portion of the target region in the reverse forward direction. The refresh unit 630 may hold the reverse forward direction saving threshold value as a table for each region in the particular recording region, for example, the system area 10c of the disk 10, the volatile memory 70, the non-volatile memory 80, the buffer memory 90, or the like.
When determining that the number of times of writing to the region in the forward direction corresponding to the target region (the number of times of forward direction writing) is larger than the saving threshold value (hereinafter, may be referred to as a forward direction saving threshold value) corresponding to the number of times of writing to the region in the forward direction of the target region, the refresh unit 630 performs the save processing on the data at the end portion of the target region in the forward direction. The forward direction saving threshold value and the reverse forward direction saving threshold value may be different or the same. The refresh unit 630 may hold the forward direction saving threshold value as a table for each region in the particular recording region, for example, the system area 10c of the disk 10, the volatile memory 70, the non-volatile memory 80, the buffer memory 90, or the like.
When determining that the number of times of reverse forward direction writing corresponding to the target region is larger than the refresh threshold value (hereinafter, may be referred to as a reverse forward direction refresh threshold value) corresponding to the number of times of writing to the region in the reverse forward direction corresponding to the target region, the refresh unit 630 performs the refresh process on the target region. The reverse forward direction refresh threshold value is larger than, for example, the reverse forward direction saving threshold value. When performing the refresh process on the target region, the refresh unit 630 resets the number of times of reverse forward direction writing and the number of times of forward direction writing corresponding to the target region, for example, to zero. The refresh unit 630 may hold the reverse forward direction refresh threshold value as a table for each region in the particular recording region, for example, the system area 10c of the disk 10, the volatile memory 70, the non-volatile memory 80, the buffer memory 90, or the like. When the refresh process is performed on the target region and the data at the end portion of the target region in the reverse forward direction cannot be read, the refresh unit 630 may perform the refresh process on the target region by using the data at the end portion of the target region in the reverse forward direction saved in the target region and another region by the save processing.
When determining that the number of times of forward direction writing corresponding to the target region is larger than the refresh threshold value (hereinafter, may be referred to as a forward direction refresh threshold value) corresponding to the number of times of writing to the region in the forward direction of the target region, the refresh unit 630 performs the refresh process on the target region. The forward direction refresh threshold value is larger than, for example, the forward direction saving threshold value. The forward direction refresh threshold value and the reverse forward direction refresh threshold value may be the same or different. When performing the refresh process on the target region, the refresh unit 630 resets the number of times of reverse forward direction writing and the number of times of forward direction writing corresponding to the target region, for example, to zero. The refresh unit 630 may hold the forward direction refresh threshold value as a table for each region in the particular recording region, for example, the system area 10c of the disk 10, the volatile memory 70, the non-volatile memory 80, the buffer memory 90, or the like. When the refresh process is performed on the target region and the data at the end portion of the target region in the forward direction cannot be read, the refresh unit 630 may perform the refresh process on the target region by using the data at the end portion of the target region in the forward direction saved in the target region and another region by the save processing.
In the example illustrated in
When determining that the number of times of reverse forward direction writing (the number of times of reverse forward direction adjacent band writing) WCaO is larger than the reverse forward direction saving threshold value ETHaO1, the MPU 60 causes the head 15 to seek to the band region BAa, reads the initial track of the band region BAa, and saves (or writes) data of the initial track into the media cache 10b.
When determining that the number of times of reverse forward direction writing (the number of times of reverse forward direction adjacent band writing) WCaO is larger than the reverse forward direction refresh threshold value RTHaO1, the MPU 60 performs the refresh process on the band region BAa.
In the example illustrated in
When determining that the number of times of forward direction writing WCaI is larger than the forward direction saving threshold value ETHaI1, the MPU 60 causes the head 15 to seek to the band region BAa, reads the last track of the band region BAa, and saves (or writes) the data of the last track into the media cache 10b.
When determining that the number of times of forward direction writing (the number of times of forward direction adjacent band writing) WCaI is larger than the forward direction refresh threshold value RTHaI1, the MPU 60 performs the refresh process on the band region BAa.
In the example illustrated in
When determining that the number of times of reverse forward direction writing (the number of times of reverse forward direction adjacent band writing) WCbO is larger than the reverse forward direction saving threshold value ETHbO1, the MPU 60 causes the head 15 to seek to the band region BAb, reads the initial track of the band region BAb, and saves (or writes) the data of the initial track into the media cache 10b.
When determining that the number of times of reverse forward direction writing (the number of times of reverse forward direction adjacent band writing) WCbO is larger than the reverse forward direction refresh threshold value RTHbO1, the MPU 60 performs the refresh process on the band region BAb.
In the example illustrated in
When determining that the number of times of forward direction writing WCbI is larger than the forward direction saving threshold value ETHbI1, the MPU 60 causes the head 15 to seek to the band region BAb, reads the last track of the band region BAb, and saves (or writes) the data of the last track into the media cache 10b.
When determining that the number of times of forward direction writing (the number of times of forward direction adjacent band writing) WCbI is larger than the forward direction refresh threshold value RTHbI1, the MPU 60 performs the refresh process on the band region BAb.
In the example illustrated in
When determining that the number of times of reverse forward direction writing (the number of times of reverse forward direction adjacent band writing) WCcO is larger than the reverse forward direction saving threshold value ETHcO1, the MPU 60 causes the head 15 to seek to the band region BAc, reads the initial track of the band region BAc, and saves (or writes) the data of the initial track into the media cache 10b.
When determining that the number of times of reverse forward direction writing (the number of times of reverse forward direction adjacent band writing) WCcO is larger than the reverse forward direction refresh threshold value RTHcO1, the MPU 60 performs the refresh process on the band region BAc.
In the example illustrated in
When determining that the number of times of forward direction writing WCcI is larger than the forward direction saving threshold value ETHcI1, the MPU 60 causes the head 15 to seek to the band region BAc, reads the last track of the band region BAc, and saves (or writes) the data of the last track into the media cache 10b.
When determining that the number of times of forward direction writing (the number of times of forward direction adjacent band writing) WCcI is larger than the forward direction refresh threshold value RTHcI1, the MPU 60 performs the refresh process on the band region BAc.
According to Modification 2, the magnetic disk device 1 has a forward direction saving threshold value and a reverse forward direction saving threshold value, and a forward direction refresh threshold value and a reverse forward direction refresh threshold value corresponding to the number of times of forward direction writing and the number of times of reverse forward direction writing, respectively. The magnetic disk device 1 can execute the refresh process with an appropriate writing count for each of the regions in the forward direction and the reverse forward direction. Therefore, the magnetic disk device 1 can improve the reliability.
(Modification 3)
The magnetic disk device 1 according to Modification 3 of the first embodiment is different from the magnetic disk device 1 according to the first embodiment, Modification 1, and Modification 2 described above in terms of the saving threshold value and the refresh threshold value.
When determining that the number of times of writing to the region in the radial direction of the target region is larger than the saving threshold value corresponding to the number of times of writing to the region in the radial direction corresponding to the target region, the refresh unit 630 performs the saving process on the data at the end portion of the target region in the reverse forward direction or the forward direction. The refresh unit 630 may hold (write) the saving threshold value as a table in a particular recording region, for example, the system area 10c of the disk 10, the volatile memory 70, the non-volatile memory 80, the buffer memory 90, or the like.
When determining that the number of times of writing to the region in the radial direction of the target region is larger than the refresh threshold value corresponding to the number of times of writing to the region in the radial direction of the target region, the refresh unit 630 performs the refresh process on the target region. The refresh unit 630 may hold the refresh threshold value as a table in a particular recording region, for example, the system area 10c of the disk 10, the volatile memory 70, the non-volatile memory 80, the buffer memory 90, or the like.
For example, when determining that the number of times of writing to the adjacent band region of the target band region is larger than the saving threshold value corresponding to this target band region, the refresh unit 630 causes the head 15 to seek to the target band region and saves the initial track and the last track of the target band region into the media cache 10b (or the system area 10c). When determining that the number of times of writing to the adjacent band region of the target band region is larger than the refresh threshold value corresponding to the target band region, the refresh unit 630 reads respective tracks of the target band region of the user data region 10a, temporarily writes data of the respective tracks of the target band region to the media cache 10b, reads the data from the media cache 10b, and performs the refresh process of rewriting the data read from the media cache 10b to the same position of the target band region. When it is determined that the number of times of writing to the adjacent band region of the target band region is larger than the refresh threshold value corresponding to the target band region and the initial track or the last track of the target band region cannot be read, the refresh unit 630 may read, from the media cache 10b, data of respective tracks other than the initial track or the last track of the target band region read from the target band region and temporarily written to the media cache 10b and data of the initial track or the last track saved into the media cache 10b by the saving process, and rewrite respective tracks of the target band region.
In the example illustrated in
When determining that the number of times of writing WCa is larger than the saving threshold value ETHa1, the MPU 60 causes the head 15 to seek to the band region BAa, reads the initial track and the last track of the band region BAa, and saves (or writes) data of the initial track and the subsequent track into the media cache 10b.
When determining that the number of times of writing WCa is larger than the refresh threshold value RTHa1, the MPU 60 performs the refresh process on the band region BAa.
In the example illustrated in
When determining that the number of times of writing WCb is larger than the saving threshold value ETHb1, the MPU 60 causes the head 15 to seek to the band region BAb, reads the initial track and the subsequent track of the band region BAb, and saves (or writes) the data of the initial track and the subsequent track into the media cache 10b.
When determining that the number of times of writing WCb is larger than the refresh threshold value RTHb1, the MPU 60 performs the refresh process on the band region BAb.
In the example illustrated in
When determining that the number of times of writing WCc is larger than the saving threshold value ETHc1, the MPU 60 causes the head 15 to seek to the band region BAc, reads the initial track and the subsequent track of the band region BAc, and saves (or writes) the data of the initial track and the subsequent track into the media cache 10b.
When determining that the number of times of writing WCc is larger than the refresh threshold value RTHc1, the MPU 60 performs the refresh process on the band region BAc.
The MPU 60 receives a command from the host 100 and executes a write process (B1401). The MPU 60 determines whether the number of times of writing is larger than the saving threshold value corresponding to the target band region or equal to or less than the saving threshold value corresponding to the target band region (B1402). When it is determined that the number of writing is equal to or less than the saving threshold value corresponding to the target band region (NO in B1402), the MPU 60 advances the process to B1001. When it is determined that the number of times of writing is larger than the saving threshold value corresponding to the target band region (YES in B1402), the MPU 60 causes the head 15 to seek to the target band region (B1403).
The MPU 60 determines whether the number of times of writing is larger than the refresh threshold value corresponding to the target band region or equal to or less than the refresh threshold value corresponding to the target band region (B1404). When it is determined that the number of times of writing is equal to or less than the refresh threshold value corresponding to the target band region (NO in B1404), the MPU 60 reads a particular track of the target band region, for example, the initial track and the subsequent track (B1405), saves the read initial track and subsequent track into the media cache 10b (B1406), and ends the process.
When it is determined that the number of times of writing is larger than the refresh threshold value corresponding to the target band region (YES in B1404), the MPU 60 reads all tracks in the target band region (B1407), temporarily writes data of all the tracks in the target band region to the media cache 10b, reads the data from the media cache 10b, rewrites the data read from the media cache 10b to the target band region (B1408), and ends the process.
According to Modification 3, when it is determined that the number of times of writing is equal to or less than the refresh threshold value corresponding to the target band region, the magnetic disk device 1 reads a particular track of the target band region, for example, the initial track and the subsequent track, and saves the read initial track and last track into the media cache 10b. When determining that the number of times of writing is larger than the refresh threshold value corresponding to the target band region, the magnetic disk device 1 reads all tracks of the target band region, temporarily writes data of all the tracks of the target band region to the media cache 10b, reads the data from the media cache 10b, and rewrites the data read from the media cache 10b to the target band region. Therefore, the magnetic disk device 1 can improve the performance.
The magnetic disk device 1 according to the second embodiment is different from the magnetic disk device 1 according to the first embodiment, Modification 1, Modification 2, and Modification 3 described above in that a plurality of saving threshold values is provided for each particular region.
A refresh unit 630 has a saving threshold value (hereinafter, may be referred to as a first saving threshold value) in which the number of times of writing corresponding to the target region is the smallest among the plurality of saving threshold values corresponding to the target region, and a saving threshold value (hereinafter, may be referred to as a second saving threshold value) in which the number of times of writing corresponding to the target region is the second smallest among the plurality of saving threshold values corresponding to the target region. Note that refresh unit 630 may have three or more different saving threshold values corresponding to the target region. The second saving threshold value is larger than the first saving threshold value. The plurality of saving threshold values is smaller than the refresh threshold value. That is, the second saving threshold value is smaller than the refresh threshold value. For example, the first saving threshold value corresponds to the number of times of writing to the region in the radial direction of the target region in which the data at the end portion of the target region receives ATI larger than the amount that destroys the data. For example, the second saving threshold value corresponds to the number of times of writing to the region in the radial direction of the target region in which the data of the region adjacent to the end portion of the target region in the radial direction receives ATI larger than the amount that destroys the data. When determining that the number of times of writing is larger than the first saving threshold value corresponding to the target region, the refresh unit 630 performs the saving process on the data at the end portion of the target region. When determining that the number of times of writing is larger than the second saving threshold value corresponding to the target region, the refresh unit 630 performs the saving process on the data of the region adjacent to the end portion of the target region in the radial direction. The refresh unit 630 may perform the saving process on the data of each region away from the end portion of the target region in the radial direction every time the number of times of writing corresponding to the target region exceeds each saving threshold value corresponding to the target region. The refresh unit 630 may hold a plurality of saving threshold values as a table in a particular recording region, for example, the system area 10c of the disk 10, the volatile memory 70, the non-volatile memory 80, the buffer memory 90, or the like.
For example, when determining that the number of times of writing corresponding to the target band region is larger than the first saving threshold value corresponding to this target band region, the refresh unit 630 causes the head 15 to seek to the target band region and saves the initial track of the target band region into the media cache 10b (or the system area 10c). When determining that the number of times of writing corresponding to the target band region is larger than the second saving threshold value corresponding to this target band region, the refresh unit 630 causes the head 15 to seek to the target band region, and saves the adjacent track (hereinafter, may be referred to as an initial adjacent track), next to the initial track, with which the initial track in the target band region is overwritten into the media cache 10b (or the system area 10c).
When determining that the number of times of writing corresponding to the target band region is larger than the refresh threshold value corresponding to the target band region, the refresh unit 630 reads respective tracks of the target band region of the user data region 10a, temporarily writes data of the respective tracks of the target band region to the media cache 10b, reads the data from the media cache 10b, and performs the refresh process of rewriting the data from the media cache 10b to the same position of the target band region. When it is determined that the number of times of writing corresponding to the target band region is larger than the refresh threshold value corresponding to the target band region and the initial track and the initial adjacent track of the target band region cannot be read, the refresh unit 630 may read, from the media cache 10b, data of respective tracks other than the initial track and the initial adjacent track of the target band region read from the target band region and temporarily written to the media cache 10b and data of the initial track and the initial adjacent track saved into the media cache 10b by the saving process, and rewrite respective tracks of the target band region.
In addition, when determining that the number of times of writing corresponding to the target band region is larger than the refresh threshold value corresponding to this target band region, the refresh unit 630 reads respective tracks other than the initial track and the initial adjacent track from the target band region, and temporarily writes the respective tracks other than the initial track and the initial adjacent track of the target band region to the media cache 10b. The refresh unit 630 may read, from the media cache 10b, the data of respective tracks other than the initial track and the initial adjacent track of the target band region and the data of the initial track and the initial adjacent track saved in the media cache 10b by the saving process and rewrite respective tracks of the target band region.
For example, when determining that the number of times of forward direction writing corresponding to the target band region is larger than the first saving threshold value corresponding to this target band region, the refresh unit 630 causes the head 15 to seek to the target band region and saves the last track of the target band region into the media cache 10b (or the system area 10c). When determining that the number of times of forward direction writing corresponding to the target band region is larger than the second saving threshold value corresponding to this target band region, the refresh unit 630 causes the head 15 to seek to the target band region, and saves an adjacent track, immediately before the last track, that is overwritten with the last track of the target band region, that is, a track, adjacent to the last track, that is written immediately before the last track (hereinafter, may be referred to as a last adjacent track) into the media cache 10b (or the system area 10c).
When determining that the number of times of forward direction writing corresponding to the target band region is larger than the refresh threshold value corresponding to this target band region, the refresh unit 630 reads respective tracks of the target band region of the user data region 10a, temporarily writes data of the respective tracks of the target band region to the media cache 10b, reads the data from the media cache 10b, and performs the refresh process of rewriting the data read from the media cache 10b to the same position of the target band region. When it is determined that the number of times of forward direction writing corresponding to the target band region is larger than the refresh threshold value corresponding to the target band region and the last track and the last adjacent track of the target band region cannot be read, the refresh unit 630 may read, from the media cache 10b, data of respective tracks other than the last track and the last adjacent track of the target band region read from the target band region and temporarily written to the media cache 10b and data of the last track and the last adjacent track saved into the media cache 10b by the saving process, and rewrite respective tracks of the target band region.
In addition, when determining that the number of times of forward direction writing corresponding to the target band region is larger than the refresh threshold value corresponding to this target band region, the refresh unit 630 reads respective tracks other than the last track and the last adjacent track from the target band region, and temporarily writes the respective tracks other than the last track and the last adjacent track of the target band region to the media cache 10b. The refresh unit 630 may read, from the media cache 10b, the data of respective tracks other than the last track and the last adjacent track of the target band region and the data of the last track and the last adjacent track saved in the media cache 10b by the saving process and rewrite respective tracks of the target band region.
For example, when determining that the number of times of reverse forward direction writing corresponding to the target band region is larger than the first saving threshold value corresponding to this target band region, the refresh unit 630 causes the head 15 to seek to the target band region and saves the initial track of the target band region into the media cache 10b (or the system area 10c). When determining that the number of times of reverse forward direction writing corresponding to the target band region is larger than the second saving threshold value corresponding to this band region, the refresh unit 630 causes the head 15 to seek to the target band region and saves the initial adjacent track of the target band region into the media cache 10b (or the system area 10c).
When determining that the number of times of reverse forward direction writing corresponding to the target band region is larger than the refresh threshold value corresponding to the target band region, the refresh unit 630 reads respective tracks of the target band region of the user data region 10a, temporarily writes data of the respective tracks of the target band region to the media cache 10b, reads the data from the media cache 10b, and performs the refresh process of rewriting the data read from the media cache 10b to the same position of the target band region. When it is determined that the number of times of reverse forward direction writing corresponding to the target band region is larger than the refresh threshold value corresponding to the target band region and the initial track and the initial adjacent track of the target band region cannot be read, the refresh unit 630 may read, from the media cache 10b, data of respective tracks other than the initial track and the initial adjacent track of the target band region read from the target band region and temporarily written to the media cache 10b and data of the initial track and the initial adjacent track saved into the media cache 10b by the saving process, and rewrite respective tracks of the target band region.
In addition, when determining that the number of times of reverse forward direction writing corresponding to the target band region is larger than the refresh threshold value corresponding to this target band region, the refresh unit 630 reads respective tracks other than the initial track and the initial adjacent track from the target band region, and temporarily writes the respective tracks other than the initial track and the initial adjacent track of the target band region to the media cache 10b. The refresh unit 630 may read, from the media cache 10b, the data of respective tracks other than the initial track and the initial adjacent track of the target band region and the data of the initial track and the initial adjacent track saved in the media cache 10b by the saving process and rewrite respective tracks of the target band region.
In the example illustrated in
When determining that the number of times of reverse forward direction writing (the number of times of reverse forward direction adjacent band writing) WCaO is larger than the first saving threshold value ETHa1, the MPU 60 causes the head 15 to seek to the band region BAa, reads the initial track of the band region BAa, and saves (or writes) data of the initial track into the media cache 10b.
When determining that the number of times of reverse forward direction writing (the number of times of reverse forward direction adjacent band writing) WCaO is larger than the second saving threshold value ETHa2, the MPU 60 causes the head 15 to seek to the band region BAa, reads the initial adjacent track of the band region BAa, and saves (or writes) the data of the initial adjacent track into the media cache 10b.
When determining that the number of times of reverse forward direction writing (the number of times of reverse forward direction adjacent band writing) WCaO is larger than the refresh threshold value RTHa1, the MPU 60 performs the refresh process on the band region BAa.
In the example illustrated in
When determining that the number of times of forward direction writing (the number of times of forward direction adjacent band writing) WCaI is larger than the first saving threshold value ETHa1, the MPU 60 causes the head 15 to seek to the band region BAa, reads the last track of the band region BAa, and saves (or writes) the data of the last track into the media cache 10b.
When determining that the number of times of forward direction writing (the number of times of forward direction adjacent band writing) WCaI is larger than the second saving threshold value ETHa2, the MPU 60 causes the head 15 to seek to the band region BAa, reads the last adjacent track of the band region BAa, and saves (or writes) the data of the last adjacent track into the media cache 10b.
When determining that the number of times of forward direction writing (the number of times of forward direction adjacent band writing) WCaI is larger than the refresh threshold value RTHa1, the MPU 60 performs the refresh process on the band region BAa.
In the example illustrated in
When determining that the number of times of reverse forward direction writing (the number of times of reverse forward direction adjacent band writing) WCbO is larger than the first saving threshold value ETHb1, the MPU 60 causes the head 15 to seek to the band region BAb, reads the initial track of the band region BAb, and saves (or writes) the data of the initial track into the media cache 10b.
When determining that the number of times of reverse forward direction writing (the number of times of reverse forward direction adjacent band writing) WCbO is larger than the second saving threshold value ETHb2, the MPU 60 causes the head 15 to seek to the band region BAb, reads the initial adjacent track of the band region BAb, and saves (or writes) the data of the initial adjacent track into the media cache 10b.
When determining that the number of times of reverse forward direction writing (the number of times of reverse forward direction adjacent band writing) WCbO is larger than the refresh threshold value RTHb1, the MPU 60 performs the refresh process on the band region BAb.
In the example illustrated in
When determining that the number of times of forward direction writing (the number of times of forward direction adjacent band writing) WCbI is larger than the first saving threshold value ETHb1, the MPU 60 causes the head 15 to seek to the band region BAb, reads the last track of the band region BAb, and saves (or writes) the data of the last track into the media cache 10b.
When determining that the number of times of forward direction writing (the number of times of forward direction adjacent band writing) WCbI is larger than the second saving threshold value ETHb2, the MPU 60 causes the head 15 to seek to the band region BAb, reads the last adjacent track of the band region BAb, and saves (or writes) the data of the last adjacent track into the media cache 10b.
When determining that the number of times of forward direction writing (the number of times of forward direction adjacent band writing) WCbI is larger than the refresh threshold value RTHb1, the MPU 60 performs the refresh process on the band region BAb.
In the example illustrated in
When determining that the number of times of reverse forward direction writing (the number of times of reverse forward direction adjacent band writing) WCcO is larger than the first saving threshold value ETHc1, the MPU 60 causes the head 15 to seek to the band region BAc, reads the initial track of the band region BAc, and saves (or writes) data of the initial track into the media cache 10b.
When determining that the number of times of reverse forward direction writing (the number of times of reverse forward direction adjacent band writing) WCcO is larger than the second saving threshold value ETHc2, the MPU 60 causes the head 15 to seek to the band region BAc, reads the initial adjacent track of the band region BAc, and saves (or writes) the data of the initial adjacent track into the media cache 10b.
When determining that the number of times of reverse forward direction writing (the number of times of reverse forward direction adjacent band writing) WCcO is larger than the refresh threshold value RTHc1, the MPU 60 performs the refresh process on the band region BAc.
In the example illustrated in
When determining that the number of times of forward direction writing (the number of times of forward direction adjacent band writing) WCcI is larger than the first saving threshold value ETHc1, the MPU 60 causes the head 15 to seek to the band region BAc, reads the last track of the band region BAc, and saves (or writes) the data of the last track into the media cache 10b.
When determining that the number of times of forward direction writing (the number of times of forward direction adjacent band writing) WCcI is larger than the second saving threshold value ETHc2, the MPU 60 causes the head 15 to seek to the band region BAc, reads the last adjacent track of the band region BAc, and saves (or writes) the data of the last adjacent track into the media cache 10b.
When determining that the number of times of forward direction writing (the number of times of forward direction adjacent band writing) WCcI is larger than the refresh threshold value RTHc1, the MPU 60 performs the refresh process on the band region BAc.
In the example illustrated in
When determining that the number of times of reverse forward direction writing corresponding to the band region BAb is larger than the second saving threshold value corresponding to the band region BAb, the MPU 60 causes the head 15 to seek to the band region BAb, reads the initial adjacent track STRb2 of the band region BAb, and saves (or writes) the data of the initial adjacent track STRb2 into the media cache 10b (or the system area 10c) as the track CTRb2.
When determining that the number of times of reverse forward direction writing corresponding to the band region BAb is larger than the refresh threshold value corresponding to the band region BAb, the MPU 60 reads the tracks STRb1 to STRbn from the band region BAb, temporarily writes the data of the tracks STRb1 to STRbn to the media cache 10b, reads the data from the media cache 10b, and rewrites the data read from the media cache 10b to the band region BAb. Note that, when it is determined that the number of times of reverse forward direction writing corresponding to the band region BAb is larger than the refresh threshold value corresponding to the band region BAb, and the tracks STRb1 and STRb2 cannot be read, the MPU 60 may read the data of the track CTRb1, the track CTRb2, and the tracks STRb2 to STRbn from the media cache 10b, and rewrite the data of the tracks STRb1 to STRbn to the band region BAb.
In the example illustrated in
When determining that the number of times of forward direction writing corresponding to the band region BAb is larger than the second saving threshold value corresponding to the band region BAb, the MPU 60 causes the head 15 to seek to the band region BAb, reads the last adjacent track STRb(n−1) of the band region BAb, and saves (or writes) the data of the last adjacent track STRb(n−1) into the media cache 10b (or the system area 10c) as the track CTRb(n−1).
When determining that the number of times of forward direction writing corresponding to the band region BAb is larger than the refresh threshold value corresponding to the band region BAb, the MPU 60 reads the tracks STRb1 to STRbn from the band region BAb, temporarily writes the data of the tracks STRb1 to STRbn to the media cache 10b, reads the data from the media cache 10b, and rewrites the data read from the media cache 10b to the band region BAb. When it is determined that the number of times of forward direction writing corresponding to the band region BAb is larger than the refresh threshold value and the last track STRbn and the last adjacent track STRb(n−1) cannot be read, the MPU 60 may read the data of the track CTRbn, the track CTRb(n−1), and the tracks STRb1 to STRb(n−2) from the media cache 10b, and rewrite the data of the tracks STRb1 to STRbn to the band region BAb.
The MPU 60 receives a command from the host 100 and executes a write process (B1801). The MPU 60 determines whether data is written to the band region in the reverse forward direction of the target band region (B1802). In other words, the MPU 60 determines whether data is written to the band region in the reverse forward direction of the target band region or data is written to the band region in the forward direction of the target band region.
When determining that the data is written to the band region in the reverse forward direction of the target band region (YES in B1802), the MPU 60 determines whether the number of times of reverse forward direction writing is larger than the first saving threshold value corresponding to the target band region or equal to or less than the first saving threshold value corresponding to the target band region (B1803). When it is determined that the number of times of reverse forward direction writing is equal to or less than the first saving threshold value corresponding to the target band region (NO in B1803), the MPU 60 advances the process to B1801. When it is determined that the number of times of reverse forward direction writing is larger than the first saving threshold value corresponding to the target band region (YES in B1803), the MPU 60 determines whether the number of times of reverse forward direction writing is larger than the second saving threshold value corresponding to the target band region or equal to or less than the second saving threshold value corresponding to the target band region (B1804).
When it is determined that the number of times of reverse forward direction writing is equal to or less than the second saving threshold value corresponding to the target band region (NO in B1804), the MPU 60 causes the head 15 to seek to the target band region (B1805). The MPU 60 reads the initial track of the target band region (B1806), saves the read initial track into the media cache 10b (B1807), and ends the process.
When it is determined that the number of times of reverse forward direction writing is equal to or less than the second saving threshold value corresponding to the target band region (YES in B1804), the MPU 60 causes the head 15 to seek to the target band region (B1808). The MPU 60 determines whether the number of times of reverse forward direction writing is larger than the refresh threshold value corresponding to the target band region or equal to or less than the refresh threshold value corresponding to the target band region (B1809). When it is determined that the number of times of reverse forward direction writing is equal to or less than the refresh threshold value corresponding to the target band region (NO in B1809), the MPU 60 reads the initial adjacent track of the target band region (B1810), saves the read initial adjacent track into the media cache 10b (B1811), and ends the process.
When it is determined that the number of times of reverse forward direction writing is larger than the refresh threshold value corresponding to the target band region (YES in B1809), the MPU 60 reads all tracks in the target band region (B1812), temporarily writes data of all the tracks in the target band region to the media cache 10b, reads the data from the media cache 10b, rewrites the data read from the media cache 10b to the target band region (B1813), and ends the process.
When it is determined that the data is not written to the band region in the reverse forward direction of the target band region, that is, the data is written to the band region in the forward direction of the target band region (NO in B1802), the MPU 60 determines whether the number of times of forward direction writing is larger than the first saving threshold value corresponding to the target band region or equal to or less than the first saving threshold value corresponding to the target band region (B1814). When it is determined that the number of times of forward direction writing is equal to or less than the first saving threshold value corresponding to the target band region (NO in B1814), the MPU 60 advances the process to B1801. When determining that the number of times of forward direction writing is larger than the first saving threshold value corresponding to the target band region (YES in B1814), the MPU 60 determines whether the number of times of forward direction writing is larger than the second saving threshold value corresponding to the target band region or equal to or less than the second saving threshold value corresponding to the target band region (B1815).
When it is determined that the number of times of forward direction writing is equal to or less than the second saving threshold value corresponding to the target band region (NO in B1815), the MPU 60 causes the head 15 to seek to the target band region (B1816). The MPU 60 reads the last track of the target band region (B1817), saves the read last track into the media cache 10b (B1818), and ends the process.
When it is determined that the number of times of forward direction writing is equal to or less than the second saving threshold value corresponding to the target band region (YES in B1815), the MPU 60 causes the head 15 to seek to the target band region (B1819). The MPU 60 determines whether the number of times of forward direction writing is larger than the refresh threshold value corresponding to the target band region or equal to or less than the refresh threshold value corresponding to the target band region (B1820). When determining that the number of times of forward direction writing is equal to or less than the refresh threshold value corresponding to the target band region (NO in B1820), the MPU 60 reads the last adjacent track of the target band region (B1821), saves the read last adjacent track into the media cache 10b (B1822), and ends the process.
When determining that the number of times of forward direction writing is larger than the refresh threshold value corresponding to the target band region (YES in B1820), the MPU 60 advances the process to B1812.
According to the embodiment, the magnetic disk device 1 has a plurality of saving threshold values and refresh threshold values for each band region. When determining that the number of times of reverse forward direction writing is larger than the first saving threshold value corresponding to the target band region, the magnetic disk device 1 determines whether the number of times of reverse forward direction writing is larger than the second saving threshold value corresponding to the target band region or equal to or less than the second saving threshold value corresponding to the target band region. When determining that the number of times of reverse forward direction writing is equal to or less than the second saving threshold value corresponding to the target band region, the magnetic disk device 1 causes the head 15 to seek to the target band region, reads the initial track of the target band region, and saves the read initial track into the media cache 10b. When determining that the number of times of reverse forward direction writing is equal to or less than the refresh threshold value corresponding to the target band region, the magnetic disk device 1 causes the head 15 to seek to the target band region, reads the initial adjacent track of the target band region, and saves the read initial adjacent track into the media cache 10b. When determining that the number of times of reverse forward direction writing is equal to or less than the refresh threshold value corresponding to the target band region, the magnetic disk device 1 reads all tracks in the target band region, temporarily writes data of all the tracks in the target band region to the media cache 10b, reads the data from the media cache 10b, and rewrites the data read from the media cache 10b to the target band region.
When determining that the number of times of forward direction writing is larger than the first saving threshold value corresponding to the target band region, the magnetic disk device 1 determines whether the number of times of forward direction writing is larger than the second saving threshold value corresponding to the target band region or equal to or less than the second saving threshold value corresponding to the target band region. When determining that the number of times of forward direction writing is equal to or less than the second saving threshold value corresponding to the target band region, the magnetic disk device 1 causes the head 15 to seek to the target band region, reads the last track of the target band region, and saves the read last track into the media cache 10b. When determining that the number of times of forward direction writing is equal to or less than the refresh threshold value corresponding to the target band region, the magnetic disk device 1 causes the head 15 to seek to the target band region, reads the last adjacent track of the target band region, and saves the read last adjacent track into the media cache 10b. When determining that the number of times of forward direction writing is equal to or less than the refresh threshold value corresponding to the target band region, the magnetic disk device 1 reads all tracks in the target band region, temporarily writes data of all the tracks in the target band region to the media cache 10b, reads the data from the media cache 10b, and rewrites the data read from the media cache 10b to the target band region. Therefore, the magnetic disk device 1 can reduce the frequency of the refresh process. Therefore, the magnetic disk device 1 can improve performance.
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.
Number | Date | Country | Kind |
---|---|---|---|
2021-130853 | Aug 2021 | JP | national |