Magnetic disk device and writing method

JP2025027279APending Publication Date: 2025-02-27KK TOSHIBA +1

Patent Information

Application Number
JP2023131952
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-08-14
Publication Date
2025-02-27

Smart Images

  • Figure 2025027279000001_ABST
    Figure 2025027279000001_ABST
Patent Text Reader

Abstract

To provide a magnetic disk device and a writing method for bypassing without using free bands.SOLUTION: A magnetic disk device according to an embodiment is a magnetic disk device that records data by shingled recording, in which data to be written to a track to be written and data to be located on one track ahead of the track to be written are received in a volatile memory and then written to the track to be written, when performing sequential writes to a shingled recording area on a magnetic disk and data not to be written to the shingled recording area among the data received in the volatile memory is stored in the volatile memory when an unexpected power failure occurs.SELECTED DRAWING: Figure 7
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] An embodiment of the present invention relates to a magnetic disk device and a writing method using shingled magnetic recording (SMR) technology. [Background technology]

[0002] In a drive managed SMR HDD (hereinafter, a magnetic disk device), a bypass write method is used in which sequential write data sent from the host is written directly to the shingled recording area without passing through the media cache.

[0003] The bypass write method is a method in which, in order to protect data in the event of a power outage, data is not overwritten in the band to be written to (the writing unit of a magnetic disk device using the shingled recording method), but instead a free band is created in a different location (a band in which new data can be written by moving data that already exists from the band to another area, such as a media cache), and the data is written there separately. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] U.S. Pat. No. 1,065,0845 [Patent Document 2] U.S. Pat. No. 1,164,598 [Patent Document 3] U.S. Pat. No. 9,377,956 Summary of the Invention [Problem to be solved by the invention]

[0005] However, when a multi-streaming write is executed in which multiple data streams are written in parallel, a large number of free bands are required, which increases the number of writes to the media cache.

[0006] An object of the present invention is to provide a magnetic disk drive and a writing method that perform bypass writing without using an empty band. [Means for solving the problem]

[0007] The magnetic disk device of the embodiment is a magnetic disk device that records data by shingled recording, and when performing sequential writes to a shingled recording area on a magnetic disk, the data to be written to the track to be written and the data to be located one track ahead of the track to be written are received in volatile memory, and then the data is written to the track to be written, and in the event of an unexpected power outage, data received in the volatile memory that has not been written to the shingled recording area is saved in non-volatile memory. [Brief description of the drawings]

[0008] [Figure 1] FIG. 1 is a block diagram showing the hardware configuration of a magnetic disk device according to the first embodiment. [Diagram 2] FIG. 2 is a schematic diagram showing an example of the arrangement of tracks and data on a magnetic disk according to the first embodiment. [Diagram 3] FIG. 3 is a schematic diagram showing an example of an area arrangement on a magnetic disk according to the first embodiment. [Figure 4] FIG. 4 is a schematic diagram showing an example of overlapping tracks in shingled recording on a magnetic disk according to the first embodiment. [Diagram 5] FIG. 5 is a schematic diagram showing an example of sub-areas in a data area on a magnetic disk according to the first embodiment. [Figure 6] FIG. 6 is a schematic diagram showing an example of use of a media cache on a magnetic disk according to the first embodiment. [Figure 7] FIG. 7 is a first schematic diagram showing an example of a process of writing data to a magnetic disk in the magnetic disk device according to the first embodiment. [Figure 8]FIG. 8 is a second schematic diagram showing an example of a process of writing data to a magnetic disk in the magnetic disk device according to the first embodiment. [Figure 9] FIG. 9 is a third schematic diagram showing an example of a process of writing data to a magnetic disk in the magnetic disk device according to the first embodiment. [Figure 10] FIG. 10 is a fourth schematic diagram showing an example of a process of writing data to a magnetic disk in the magnetic disk device according to the first embodiment. [Figure 11] FIG. 11 is a schematic diagram showing an example of a buffer for bypass write processing in the magnetic disk device according to the first embodiment. [Figure 12] FIG. 12 is a diagram illustrating an example of a management table for the bypass write process of the magnetic disk device according to the first embodiment. [Figure 13] FIG. 13 is a schematic diagram showing an example of data written to a track in the bypass write process of the magnetic disk device according to the first embodiment. [Figure 14] FIG. 14 is a schematic diagram showing an example of data storage processing by the PLP function of the magnetic disk device according to the first embodiment. [Figure 15] FIG. 15 is a flowchart showing an operation example of the bypass write process of the magnetic disk device according to the first embodiment. [Figure 16] FIG. 16 is a schematic diagram showing an example of a process of writing data to a magnetic disk in a magnetic disk device according to the second embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0009] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. (First embodiment) This embodiment shows an example of a magnetic disk device that uses a memory with a Power Loss Protection (PLP) function in a bypass write process of Shingle Magnetic Recording (SMR). More specifically, when the magnetic disk device is powered off, unwritten data is backed up by the PLP function.

[0010] FIG. 1 is a block diagram showing the hardware configuration of a magnetic disk device according to the first embodiment.

[0011] The magnetic disk device 1 is a storage device that writes or reads data onto the surface of a magnetic disk DK in response to a request from a host system 20. The magnetic disk device 1 is a drive-managed SMR magnetic disk device that employs the SMR method, a recording method that overwrites part of an adjacent track. Drive-managed SMR is an SMR method in which the magnetic disk device manages the data write position on the magnetic disk DK, etc. The magnetic disk device 1 also has a PLP function that writes part of the data in the buffer RAM 11 to the flash ROM 14 when power is lost.

[0012] The magnetic disk DK is a disk-shaped magnetic rotating disk storage medium, which is fixed to a spindle motor (SPM) 3 and rotates at a constant speed by being driven by the SPM 3. Details will be described later.

[0013] The magnetic head 2 is fixed to one end of an actuator 5, and the other end of the actuator 5 is fixed to a voice coil motor (VCM) 4. Driven by the VCM 4, the magnetic head 2 moves in a range that overlaps with the surface of the magnetic disk DK on an arc trajectory centered on the axis of the VCM 4. The magnetic head 2 outputs a write signal to the magnetic disk DK to write data, and reads data from the magnetic disk DK and extracts it as a read signal.

[0014] 1 shows an example of a magnetic disk device 1 having one magnetic disk DK and one magnetic head 2, but a configuration having multiple of each (referred to as multi-disk, etc.) is also possible. In this case, the multiple magnetic disks DK are fixed to the SPM 3 in an overlapping state with a certain gap between them, and the multiple magnetic heads 2 and actuator 5 are fixed to the VCM 4 in an overlapping state that matches the gaps between the magnetic disks. Therefore, all the magnetic disks DK rotate simultaneously, and all the magnetic heads 2 move simultaneously. Note that the magnetic heads 2 may be arranged on both the front and back sides of the magnetic disk DK.

[0015] The spindle motor (SPM) 3 is a support for the magnetic disk DK, and is installed in the housing of the magnetic disk device 1. When the spindle motor 3 rotates, the magnetic disk DK rotates. A voice coil motor (VCM) 4 controls the operation of an actuator 5 and the like based on an input current.

[0016] The actuator 5 has one end to which the magnetic head 2 is fixed, and the other end to which the VCM 4 is fixed. Note that, although an example in which the actuator 5 in this embodiment is controlled by the VCM 4 is shown, the operation control of the actuator 5 is not limited to a voice coil motor. The motor driver 6 controls the SPM 3 and the VCM 4 based on a control signal from the CPU 15 .

[0017] In addition, if the motor driver 6 detects a loss of power while the SPM 3 is rotating, it also plays a role in supplying power to each LSI for a certain period of time using the back electromotive force of the SPM 3, which uses the moment of inertia of the magnetic disk DK as an energy source. At this time, the CPU 15 writes part of the data in the buffer RAM 11 to the flash ROM 14 as one of the processes to be performed when power is lost. This function is generally called the Power Loss Protection (PLP) function.

[0018] The head IC7 is, for example, an IC (Integrated Circuit) that amplifies the analog signal (read signal) read by the magnetic head 2 and outputs it to the read / write IC 8, and also outputs a write signal (write signal) received from the read / write IC 8 to the magnetic head 2.

[0019] The read / write IC 8 is, for example, an IC that outputs write data (write data) to the magnetic disk DK to the head IC 7 and obtains read data (read data) from the magnetic disk DK from an analog signal received from the head IC 7. The read / write IC 5 is broadly divided into a servo block 21 that mainly performs signal processing required for positioning the magnetic head DK, and a read / write block 22 that performs signal processing for reading and writing data.

[0020] The gate array 9 represents hardware such as ICs that generate various control signals. The functions of the gate array 9 may be performed by software or a combination of hardware and software.

[0021] The disk controller (HDC) 10 may be composed of hardware, software, etc., such as an IC chip equipped with a computer function, such as a microprocessor. The disk controller (HDC) 10 is connected to a gate array 9, a buffer RAM 11, and a read / write IC 8 in addition to a CPU bus 12. The HDC 10 is further divided into a host block 23 that controls an interface with a host system 20, a buffer block 25 that controls the buffer RAM, and a read / write block 24 that is connected to the read / write IC 8 and the gate array 9 and performs read / write processing, etc., for each function.

[0022] When the magnetic disk device 1 receives a read command from the host system 20 and reads data from the magnetic disk DK, an analog signal is read from the magnetic disk DK by the magnetic head 2 and output to the head IC 7. The analog signal amplified by the head IC 7 is separated into a servo signal and a data signal by the read / write IC 8, and the data signal is decoded by the read / write block 22 and then sent to the HDC 10. The HDC 10 processes the received data signal in accordance with various control signals from the gate array 9 to generate data to be transferred to the host system 20 (for example, read data requested by a read command). This data is temporarily stored in the buffer RAM 11 and then transferred to the host system 20.

[0023] When the magnetic disk device 1 receives a write command from the host system 20 and writes data to the magnetic disk DK, the write data transferred from the host system 20 to the HDC 10 is temporarily stored in the buffer RAM 11 and then sent from the HDC 10 to the read / write IC 8 in accordance with various control signals from the gate array 9. The write data encoded by the read / write IC 8 is written onto the magnetic disk DK by the magnetic head 2 via the head IC7.

[0024] The buffer RAM 11 is a volatile memory in which stored data is lost when the power supply is cut off, and temporarily stores data such as write command data from the host system 20. A part of the buffer RAM 11 is also used as a buffer for bypass write processing of the magnetic disk device 1.

[0025] The CPU bus 12 is a bus for transmitting data, and is connected to a RAM 13 used for variables, a flash ROM 14 in which programs to be executed by the CPU 15 are recorded, a read / write IC 8, a gate array 9 which generates various control signals, and a disk controller (HDC) 10.

[0026] The flash ROM 14 can be rewritten under the control of the CPU 15. The flash ROM 14 also has a dedicated area for use in saving data by the PLP function.

[0027] The CPU 15 is a central processing unit that controls the SPM 3 and VCM 4 through the motor driver 6, while also controlling various functions of the entire device, such as controlling other ICs and processing commands. The control registers of the read / write IC 8, gate array 9, and HDC 10 are each assigned to a portion of the memory space of the CPU 15, and the CPU 15 controls these by reading from and writing to this area. The CPU 15 also controls the starting and stopping of the SPM 3 and maintaining the rotation speed through the motor driver 6, and the positioning of the magnetic head DK is performed when the SPM 3 is in a steady rotation state after it has started up.

[0028] The host system 20 is, for example, a personal computer, which outputs a read command to the magnetic disk device 1 to obtain read data, and outputs a write command together with write data.

[0029] FIG. 2 is a schematic diagram showing an example of the arrangement of tracks and data on a magnetic disk according to the first embodiment.

[0030] The magnetic disk DK rotates around the rotation axis 203 by the SPM 3. The direction in which the magnetic disk rotates (the direction perpendicular to the radial direction of the DK) is called the circumferential direction. Regarding the radial direction, the direction from the rotation axis 203, which is the center of the magnetic disk DK, toward the outside is called the outer periphery, and the direction from the outside toward the rotation axis 203 is called the inner periphery.

[0031] A plurality of tracks 204 are arranged concentrically on the magnetic disk DK, and data received from the host system 20 is recorded on some of these tracks according to a specified address. In the example shown in the figure, four tracks TR1, TR2, TR3, and TR4 (referred to as track TR when no particular distinction is made) are shown, but a plurality of tracks are set concentrically with SPM 12 at the center.

[0032] Areas (servo areas) 201 in which servo data signals for positioning are recorded, and areas (data areas) 202 for recording data transferred from the host system are alternately arranged at equal intervals on a track 204. As shown by 210 to 217, the servo areas are arranged at equal intervals in the circumferential direction of the magnetic disk DK, and the data areas are arranged between the servo areas.

[0033] The magnetic head 2 reads an analog signal from each servo area, the head IC 7 amplifies the analog signal, and the read / write IC 8 obtains data (called servo data) from the amplified analog signal. The servo areas are arranged at equal intervals in the circumferential direction of the magnetic disk DK, and the servo data is obtained at equal intervals in time.

[0034] The read / write IC 8 and gate array 9 use the servo data to generate a signal (called a position control signal) for positioning the magnetic head 2. The CPU 15 controls the motor driver 6 based on the position control signal, and causes a current for positioning the magnetic head 2 to flow to the VCM 4 in real time.

[0035] When the magnetic disk device 1 executes reading and writing of data to a data area, it moves the head 16 to the target track TR by seek control, tracking control, etc., and reads a read signal from the head 16 or outputs a write signal to the track TR. When making a particular distinction, the data on the magnetic disk DK is called disk data, data on the magnetic disk DK that has been instructed to be read is called read data, and data that has been instructed to be written to the magnetic disk DK is called write data.

[0036] FIG. 3 is a schematic diagram showing an example of an area arrangement on a magnetic disk according to the first embodiment.

[0037] The data area into which data can be written (sometimes called "writing") is allocated a user data area available to the user (host system 20), a media cache area for temporarily storing user data, and a system area for writing information necessary for system management.

[0038] The magnetic disk DK is divided from the outer periphery into a system area 301, a media cache (MC) area 302, and a user data area 303, and only the user data area 303 is recorded by the SMR method. Note that since only the data area 202 is focused on here, the servo area 201 is omitted.

[0039] In the system area 301, management information such as a defect map, an MC management table, and an SMR data management table is recorded.

[0040] The MC area 302 is used as a media cache for temporarily writing data to be written to the user data area 303. In the SMR method, it is necessary to write data of multiple tracks at once, and it is often not possible to directly rewrite only the data to be updated in the write command received from the host system 20. For this reason, it is necessary to temporarily hold the command data, but since the capacity of the buffer RAM 11 alone is limited, an area on the magnetic disk DK is used for this purpose.

[0041] The user data area 303 is an area where write data from the host system 20 is finally recorded. This area is recorded in the SMR format, and all LBAs (Logical Block Addresses) are assigned somewhere in the area. The user data area 303 is further divided into a number of sub-areas (only three, 303a, 303b, and 303c, are shown in the figure, but the number is not limited). The sub-areas in this embodiment correspond to CDR (Constant Density Recording) zones.

[0042] FIG. 4 is a schematic diagram showing an example of overlapping tracks in shingled recording on a magnetic disk according to the first embodiment.

[0043] All tracks on the magnetic disk DK are circular, but here each track is shown as a rectangle in the vertical direction (circumferential direction of the magnetic disk DK) for illustrative purposes. The horizontal direction corresponds to the radial direction of the magnetic disk DK, and the diagram shows an example in which multiple tracks TRi (i is an integer of 2 or more) are lined up. In the diagram, the direction of writing to the magnetic disk DK (write direction) is from left to right, with the track further to the left being called the rear track and the track further to the right being called the front track.

[0044] Since the magnetic disk device 1 uses the SMR method, in the data area, recording is performed with parts of the tracks overlapping adjacent tracks as shown in the figure. For this reason, writing to a track is limited to one direction (the direction of the arrow), and it is not possible to go back and write to a later track (because the overlap would destroy the earlier data).

[0045] In the SMR method, when rewriting part of the data, it is necessary to go back to the beginning (the beginning of TR1 in Figure 4) and rewrite everything, so the tracks in the user data area 303 (or sub-areas 303a, 303b, 303c) shown in Figure 2 are divided into groups and gaps are provided between the groups so that writing can be done in groups. These groups are called bands (tile bands, SMR bands). In the SMR method, since it is not possible to go back and write to subsequent tracks, there are no gaps between tracks when writing, and writing within a band is always sequential (one-way along the tracks).

[0046] FIG. 5 is a schematic diagram showing an example of a sub-area in a data area on a magnetic disk according to the first embodiment, in which the data area is represented as a rectangle with the circumferential direction being vertical and the diameter direction being horizontal (the left side is the outer periphery and the right side is the inner periphery), taking the sub-area 303a shown in FIG. 3 as an example.

[0047] Sub-area 303a is divided into multiple bands, which become the writing unit of the data area. Writing to a band is specifically called band write (shingled writing). For simplicity, the figure shows bands 0 to 4 as an example in which the number of bands is five, but the number is not limited. If the number of bands is small, the writing unit becomes larger, so in reality, more bands are set. Also, the size (number of blocks) of all bands within the same sub-area is the same. The figure shows an example in which five tracks are placed in each band, but the number is not limited.

[0048] Since there is a fixed gap between each band, for example, writing to band 1, which is located before band 0, will not affect the data in band 0.

[0049] Also, LBAs are assigned from the left band to the right band in the figure (for example, band 0, band 1, band 2). Therefore, the number of blocks assigned to one sub-area is "number of bands in the area x number of blocks per band."

[0050] Fig. 6 is a schematic diagram showing an example of use of a media cache on a magnetic disk according to the first embodiment, and is an example of use of the media cache area 302 shown in Fig. 3. In this diagram, the position to the right is the front, and the position to the left is the rear.

[0051] An "LBA in MC" indicating an LBA in MC is fixedly assigned to all blocks in the media cache area 302, and all management is performed using this LBA in MC. Figure 6 is also written using the LBA in MC.

[0052] Data received from the host system 20 is recorded on the MC in order from the beginning, and a header is added to each data item indicating the first LBA, the number of blocks, etc. The header records attribute information for that data (the first LBA, the number of blocks, and the LBA within the MC, which will be described later).

[0053] In the MC, data with such headers is recorded from the beginning in the order in which the commands were received, and is basically moved to the data area (data area 303 in Figure 3) in order from oldest to newest. Figure 6 shows an example in which data 0, 1, and 2 are written to the media cache 302 by three commands, and data 0, 1, and 2 are stored with headers 0, 1, and 2 added, respectively.

[0054] Also, when the MC is used up to the end (the maximum value of the LBA in the MC), it starts over from the beginning and is used again.In this way, the MC area is treated like a FIFO in a ring buffer, and the amount of data is represented by the difference between the LBA in the MC at the beginning of the oldest data (LmB in the diagram) and the LBA in the MC at the end of the newest data (LmE in the diagram).

[0055] In reality, data movement to the data area does not always start with the oldest data. For example, data 1 may be moved to the MC before data 0. In this case, the apparent usage does not change.

[0056] Also, if the amount of data in the MC increases during operation and the free space becomes too small, free space must be created when receiving a command, which will cause poor command responsiveness. Therefore, control is performed to move data to the data area as appropriate so that the amount of data in the MC does not become too large, and this is called the MC flush process. Since writing to the data area can only be done on a band-by-band basis, existing data that exists in the destination band and is not updated will be rewritten as the same data. For example, if the flush destination of data M in the MC is block C of a band consisting of five blocks A, B, C, D, and E, data A, B, M, D, and E will be written sequentially to the flush destination band. Data A, B, D, and E are prepared by reading the original data before writing. The media cache flush process related to the update process of data A, B, M, D, and E will be described later using Figure 10.

[0057] The above describes band writing using the SMR method, but there is also a method of improving performance for the SMR method called bypass write (hereinafter sometimes referred to as BPW). Bypass write is a common method, and a detailed explanation will be omitted, but it is a process in which data received from the host system 20 is written directly to a band in the data area without going through the MC used in the conventional SMR method.

[0058] FIG. 7 is a first schematic diagram showing an example of a data write process to a magnetic disk in the magnetic disk device according to the first embodiment, and shows a state before a bypass write to one shingle band is performed.

[0059] The sequential write buffer SB (sometimes called the SEQW buffer) is a part of the DRAM area (buffer RAM 11) reserved as a dedicated area for sequential writing to the shingled band, and is used to temporarily store write data from the host system 20. The SEQW buffer area is used as a ring buffer, and has an entry pointer (EP) that indicates the beginning of the received data, and a flash pointer (FP) that indicates the beginning of the data written to the shingled band. For example, the figure shows that data has been received in the order A, B1, B2, C1, and C2. The figure also shows an example of a state in which three write commands A, B, and C are received in sequence, and the data is stored in the SEQW buffer.

[0060] The flash pointer FP never overtakes the entry pointer EP, which means that the data between these two pointers (A, B1, B2, C1, and C2 in the diagram) has not yet been written to the band, so in the event of an unexpected power outage, this data is saved in the flash ROM 14 by the PLP function.

[0061] In this diagram, an example of a tile band consisting of three tracks (TR0, TR1, TR2) is shown, with each track shown in a plane, with the end and beginning of the track continuous. BT0, BT1, and BT2 (when no distinction is made, simply BT) indicate the start positions of data writing on tracks TR0, TR1, and TR2, respectively. Also, the start position BT of each track shifts forward as the track number increases due to track skew (position shift). In other words, the start position BT shifts forward in the order of TR0, TR1, and TR2. Note that in the example shown in this diagram, it is assumed that data for one front track will be erased by band write.

[0062] Data B and C stored in the SEQW buffer are the data to be written by write commands B and C, and are shown as B1, B2 and C1, C2 according to the tracks to which they are written. Data A and B1 are scheduled to be written to track TR0, B2 and C1 to track TR1, and C2 to track TR2.

[0063] FIG. 8 is a second schematic diagram showing an example of data writing processing to the magnetic disk in the magnetic disk device according to the first embodiment, and shows the state after writing to track TR0.

[0064] In the state of Figure 7, data for two tracks, TR0 and TR1, exists in the SEQW buffer, so writing to track TR0 becomes possible. Writing A and B1 to track TR0 erases all data on track TR1 by shingling, but this is because the data to be written to track TR1 already exists in the SEQW buffer. If an unexpected power outage occurs in the state of Figure 8, data B2, C1, and C2 are saved in non-volatile memory, so no data will be lost.

[0065] FIG. 9 is a third schematic diagram showing an example of a data write process to a magnetic disk in the magnetic disk device according to the first embodiment, illustrating a state in which bypass writing to one shingle band has been completed.

[0066] The data B2 and C1 of track TR1 can be written when the reception of C2 and D1, which are scheduled to be written to the preceding track TR2, is completed, just like the data A and B1 of track TR0 shown in Fig. 8. Furthermore, since there is no track preceding track TR2, which is the last track in the band, that requires data protection, the writing of C2 and D1 can be performed following the writing of B2 and C1.

[0067] Data D2 indicates data to be assigned to the next shingle band, and the process waits for the following data and writes it to the next shingle band in the same manner.

[0068] In the above example, the bypass write starts from the beginning of the band (the beginning of track TR0), but it is also possible to start the bypass write from the middle of the band (for example, the beginning or middle of track TR1) in a similar manner.

[0069] Also, at the end of the bypass write, for example, if in the above example only data A and B are received and the subsequent sequential data (data C and D) is not received, the existing data in tracks TR1 and TR2 is read in order and stored in the SEQW buffer, and writing is continued up to the end of the band using a similar band write method.

[0070] 10 is a fourth schematic diagram showing an example of data writing to a magnetic disk in the magnetic disk device according to the first embodiment, and shows a state in which an MC flush process is being performed on one shingle band. In this example, part of the data in the shingle band is replaced with data Bm on the MC.

[0071] In the example shown in this figure, data to be written to tracks TR0 and TR1 is created from the existing data A, B1, and B3 on the tracks and data Bm read from the MC, and stored in the SEQW buffer. This allows writing to track TR0 to be performed in the same way as in the example in Figure 8. Next, the data on track TR2 is read and stored in the SEQW buffer, and the data on tracks TR1 and TR2 is written consecutively to complete the MC flush operation.

[0072] Also, if the process shown in Fig. 10 is performed without replacing the data in the media cache, it will be a rewrite operation for that band. In an SMR band, repeated writes to adjacent bands cause data degradation in tracks near the boundary between the bands, so it may be necessary to rewrite the data in that band. This is called ATI (Adjacent Track Interference) refresh, and is widely performed, and is indispensable for recent magnetic disk devices. This ATI refresh can also be performed by the method of this embodiment.

[0073] FIG. 11 is a schematic diagram showing an example of a buffer for bypass write processing in the magnetic disk device according to the first embodiment, and shows an example of the state of the SEQW buffer during multiple bypass write processes.

[0074] When bypass write (BPW) is used, the magnetic disk device 1 writes data received from the host system 20 directly to a band in the user area without going through the MC. Since writing can only be performed in the order of overwrite (write direction in FIG. 4) within a band, bypass write can only be performed when sequential write occurs within the write destination band. Therefore, in this embodiment, the magnetic disk device 1 detects write commands from the host system 20 that result in sequential write, and performs processing to write these to the band by bypass write. For commands that are not expected to result in sequential write, the write processing via the MC described in FIG. 10 is applied.

[0075] Also, multiple bypass writes can be performed simultaneously. For example, when multiple sequential write command groups of 100 blocks each are received in a mixed order such as LBA=10000, 20000, 10100, 20100, 10200, 20200, two command streams, a sequential write command group of LBA=10000, 10100, 10200 and a sequential write command group of LBA=20000, 20100, 20200, are received "simultaneously" in a time-division manner. When such multiple command groups are received, the magnetic disk device 1 of this embodiment processes both command groups "simultaneously" by bypass write. The example of FIG. 11 shows a case where n+1 (n is a natural number) bypass writes are performed simultaneously.

[0076] The bypass write buffer is a part of the buffer RAM 11, and includes a plurality of sets of a SEQW buffer, an entry pointer, and a flush pointer. This enables the magnetic disk device 1 to perform a plurality of bypass writes in parallel.

[0077] In this figure, SB0, SB1, SB2, SB n , and EP0, EP1, EP2, EP n , and FP0, FP1, FP2, FP n are the 0th, 1st, 2nd, and nth SEQW buffers, entry pointers, and flush pointers, respectively. In the example shown in this figure, n+1 sets of SEQW buffers, entry pointers, and flush pointers are arranged, but these may be dynamically allocated as needed.

[0078] 12A and 12B are diagrams showing examples of management tables for bypass write processing in the magnetic disk device according to the first embodiment, where (a) shows a bypass write detection table and (b) shows a bypass write execution table.

[0079] 12(a) is for detecting sequential writes that may be the subject of bypass writes by monitoring write commands received from the host system 20, and may be stored, for example, in the system area of ​​the magnetic disk DK or in the flash ROM 14. The bypass write detection table includes data elements such as Time indicating the command reception time, NextLBA (NLBA) indicating the top LBA where the next write command may be a sequential write, Blocks indicating the cumulative number of blocks for sequential writes, and BP indicating link information to the bypass write execution table, and shows the data elements for each column.

[0080] For example, when the CPU 15 receives a write command A that specifies 100 blocks from LBA=1000 when there is no entry in the bypass write detection table, it creates a new entry with NextLBA=1100 (1000+100) and Blocks=100.

[0081] Assume that write command B specifying 200 blocks from LBA=1100 is received following write command A. Here, the CPU 15 checks the NextLBA calculated when write command A was received and the LBA of write command B, and since both are 1100, it determines that write command B is a sequential command following write command A. The CPU 15 updates the entry for write command A using the information of write command B to set NextLBA=1300 (1100+200) and Blocks=300.

[0082] The CPU 15 detects sequential write commands that continue for a certain length or more by monitoring all write commands as described above. Since the bypass write detection table has a finite number of entries, it is necessary to delete entries with low priority in order to make way for new commands. The CPU 15 selects entries to be deleted using the values ​​of items based on the conditions (e.g., Time and Blocks) according to a preset condition, such as the oldest 10 entries with the smallest cumulative number of sequential blocks.

[0083] The CPU 15 monitors the write commands, and if sequential write commands continue for a certain length or more, it determines that sequential writes will continue, and performs bypass writing for the write range of the next sequential write command received.

[0084] The bypass write execution table in Fig. 12(b) is data for managing bypass writes that are being executed. The bypass write execution table includes data elements such as an entry number BP, BeginningLBA (BLBA) indicating the LBA where the bypass write started, EP indicating the current entry pointer, and FP indicating the current flash pointer, and indicates the data elements for each column. The CPU 15 manages bypass writes using each element. Both EP and FP are cumulative block numbers, and are not reset to 0 by a wrap operation in the SB.

[0085] When the CPU 15 starts a bypass write, it first performs an entry addition process to the bypass write execution table. In the entry addition process, it selects one of the free entries and sets the entry number to the BP of the bypass write detection table. After that, as an initialization process for the entry, the CPU 15 sets the LBA where the bypass write starts to BeginningLBA, sets 0 to EP and FP, and executes the bypass write.

[0086] Thereafter, when the CPU 15 receives write data from the host system 20, it increments the FP by the number of received blocks, and when it writes the data to the target band in the user data area 303 of the disk DK, it increments the EP by the number of write blocks. Writing control using the FP and EP is performed in the same manner as described in Figures 7, 8, and 9. That is, when data that is enough to fill one track ahead of a certain track A accumulates in the SEQW buffer, writing is performed to that track A. The CPU 15 manages the write process to the tracks using the values ​​of FP and EP.

[0087] 11 and 12 show an example in which the number of blocks per track is 1000, and when sequential writing of 2000 blocks or more is performed, bypass writing is started. Below, the processing operation of the magnetic disk device 1 will be explained using an entry with BP=0 (referred to as entry 0) and an entry with BP=1 (referred to as entry 1) as examples.

[0088] Referring to the bypass write execution table in FIG. 12(b), it is shown that the CPU 15 is executing a bypass write for the data in entry 0 starting at LBA=302000, and is executing a bypass write for the data in entry 1 starting at LBA=102500.

[0089] Writing sequential data from LBA=300000 to LBA=302000 to the disk DK is not yet a bypass write. Therefore, this data is written to the MC via a normal buffer (not a SEQW buffer).

[0090] When the CPU 15 confirms that the condition for starting a bypass write is met when the number of blocks of the received sequential write reaches 2000 (LBA=301999), it registers it in entry 0 of the bypass write execution table (corresponding to TDE0 in FIG. 12(b)) and starts the bypass write. Therefore, the start LBA (BLBA) of the bypass write is 302000.

[0091] 3000 blocks (3 tracks) of data from LBA 302000 are received into SB0. 01 indicates that 2000 blocks of data that have already been written to the magnetic disk DK have been stored in the past, and the area SB 02indicates that 1000 blocks of unwritten data are currently stored. This is because, at the point when 3000 blocks of data were received, the CPU 15 performed a bypass write of 2000 blocks (blocks from LBA=302000 to 303999) excluding the last track to the magnetic disk DK.

[0092] In addition, the CPU 15 updates the bypass write detection table even during the execution of the bypass write. For example, in the area SB 01 and the area SB 02 When 3000 blocks of data have been received, Blocks is set to 5000 (2000+3000) and NextLBA is set to 305000 (30000+5000) for entry 0 of the bypass write detection table (corresponding to TDD0 in FIG. 12(a)).

[0093] FIG. 13 is a schematic diagram showing an example of data written to a track in the bypass write process of the magnetic disk device according to the first embodiment, and shows an example of the state of band BD on the magnetic disk DK.

[0094] Band BD is assumed to be composed of six tracks, TR1 to TR6. Each track is assumed to be composed of 1000 blocks starting from LBA=100000, 101000, 102000, 103000, 104000, 105000.

[0095] Data DTA indicates 2500 blocks of data from the first LBA=100000 of TR1 written by write command A. Since the bypass write start condition (sequential write of 2000 blocks or more) is satisfied after the data DTA is written, the CPU 15 determines to bypass write the data DTB of the following write command B. When the CPU 15 receives the data DTB, it starts bypass writing starting from LBA=102500 next to the last LBA of the data DTA. Note that the data DTA in the figure shows the position when it is assumed to be arranged on this band, and the data DTA itself is actually written to the MC. Also, in this figure, the track skew is set to 0 for simplification.

[0096] In this example, the bypass write does not start from LBA=102000 because the start condition is judged on a command-by-command basis, and the target of the bypass write is the data DTB specified by the write command B and onwards. Here, for example, the write command processing may be divided into two, and when the bypass write start condition (sequential write of 2000 blocks or more) is satisfied, the latter 500 blocks of the data DTA (blocks from LBA=102000 to 102499 of TR3) may be bypass written. In this bypass write processing, after the start, 800 blocks of data DTB to be written to TR3 are received, but data to be written to the forward track TR4 has not been received, so writing to TR3 cannot be performed yet. The condition for writing to a track is that all data to be written to the forward tracks is available, and in this case, the number of blocks per track is 1000, so when 700 blocks or more of data DTC to be written to the forward track TR4 are received, writing of 500 blocks from LBA=102500 of TR3 can be performed.

[0097] As for the data of the subsequent tracks, similarly to the processing operations shown in Figs. 7 and 8, when the data for one track ahead is completed by receiving sequential data, writing of the previous track is carried out.

[0098] When terminating the bypass write, the CPU 15 reads the existing data of the band starting from the EP instead of receiving data from the host system 20. For example, in the example of FIG. 13, if the data DTC is received but the data DTD is not received following it, the CPU 15 determines to terminate the bypass write process. In this case, the CPU 15 reads the existing data related to the data DTD from the band and writes it to the SB of the corresponding entry from the position of the EP. This allows data to be updated in the same way as the bypass write. Note that if the data DTD starts from the last track in the band, there is no data to be destroyed ahead, so this process is unnecessary.

[0099] When the CPU 15 ends the bypass write, it deletes the ended entry from both the bypass write detection table and the bypass write execution table. The bypass write execution table does not need to be sorted since it associates the entry numbers with SBs, but the bypass write detection table sorts data as necessary to improve processing efficiency. For example, in addition to a method of sorting so that LBAs are in ascending order, there is also a method of adding chain information for managing the order to each of Time, LBA, and Blocks without performing physical sorting.

[0100] An example of data storage processing by the magnetic disk device 1 using the PLP function will be described below.

[0101] The bypass write detection table, bypass write execution table, and valid data in the SB (hereinafter, these three pieces of data are referred to as bypass write related data) must be maintained at all times, including when power is lost. Normally, these pieces of data are written and stored as appropriate in a dedicated area provided in the system area 301 on the magnetic disk DK. Generally, the normal procedure when the power to the magnetic disk device is cut off is to execute a command to write unsaved data, such as Standby or Flush Cache, and cut off the power after completion of that command. If the power is cut off according to this procedure, the bypass write related data will also be stored in the above-mentioned dedicated area as part of the unwritten data.

[0102] However, in reality, there are cases where the power is cut off without going through this normal procedure, such as when the power is lost during operation, and it is necessary to prevent data loss even in such cases. The magnetic disk device 1 of this embodiment stores unwritten data in the write buffer and bypass write-related data in the buffer RAM 11, in which the PLP function is enabled. As long as the magnetic disk DK is rotating steadily, the HDC 10 of the magnetic disk device 1, for example, can use the rotational energy of the magnetic disk DK by the PLP function when the power is lost to write unsaved data in the buffer RAM 11, such as the unwritten data in the write buffer and the bypass write-related data of the present invention, to the flash ROM 14.

[0103] FIG. 14 is a schematic diagram showing an example of data storage processing by the PLP function of the magnetic disk device according to the first embodiment, and shows an example of the state of the buffer RAM 11 including the SEQW buffer during multiple bypass write processing.

[0104] The buffer RAM 11 contains a bypass write detection table, a bypass write execution table, and a SB 0、 S.B. n It is assumed that one or more entries of valid data, such as valid data of (n is a natural number), are written.

[0105] When a power loss occurs, the magnetic disk device 1 uses the PLP function to reset the bypass write detection table, bypass write execution table, valid data in SB0, and data from SB1 to SB n The valid data in the flash ROM 14 is written to the dedicated area of ​​the flash ROM 14 in the order of entries (for example, SB0 to SBn in ascending order). n Since all data must be sequential (every time), the pointer jump function of the buffer RAM 11 may be enabled to link these discrete data.

[0106] The pointer jump function is a hardware function that enables sequential access to discontinuous data by specifying a pair of addresses (e.g., A, B) in the buffer RAM 11. The pair of addresses is specified by the CPU 15, for example, by executing firmware. In normal sequential access, when data at address k in the buffer RAM 11 is accessed, the data at the following address k+1 is accessed in the next access. However, when an address specified by the pointer jump function (e.g., A above) is accessed, the next address to be accessed is the pair (e.g., B above).

[0107] Here, as shown in Figure 14, TP E and FP0, EP0 and FP1, EP n-1 and FP n Each pair of pointer jumps PJ0, PJ1, and PJ n By setting the above, the bypass write detection table, the bypass write execution table, and each valid data in the SB can be continuously written to the flash ROM 14 in FIG. 14. The flash ROM 14 includes a bypass write detection table MD0, a bypass write execution table MD1, a TP E FD1 is data from FP0 to FP1, FD2 is data from EP0 to FP1, EP n-1 From FP n Data FD up to n is stored.

[0108] As shown in the buffer RAM 11 of FIG. 14, a bypass write detection table, a bypass write execution table, and SB0 to SB n If they are arranged consecutively, the efficiency will decrease because invalid data in SB will be saved, but it is also possible to save all of them without using the pointer jump function.

[0109] The data written to the flash ROM 14 when power is lost as described above is read the next time the magnetic disk device 1 is powered on, reloaded to its original location in the buffer RAM 11, and explicitly saved in a dedicated area in the system area 301. When these processes are completed, the data saved in the flash ROM 14 is invalidated.

[0110] By using the PLP function, the magnetic disk device 1 of this embodiment not only obtains the effect of backing up unwritten data when power is interrupted, but also enables overwriting of data in the shingled recording area, enabling bypass writing that does not use free bands. An example of the operation of the magnetic disk device 1 during bypass writing processing is shown below.

[0111] FIG. 15 is a flowchart showing an example of the operation of the bypass write process of the magnetic disk device according to the first embodiment.

[0112] In the magnetic disk device 1, when the CPU 15 receives a write command from the host system 20, it starts processing the write command (step 1001). At this point, no write data has been received yet.

[0113] The CPU 15 first checks whether the write range of the received write command can be executed as a continuation of the currently executing bypass write or whether the write range is connected to an existing bypass write (step 1002). In step 1002, the CPU 15 searches the bypass write detection table, and if an entry having the same NextLBA as the first LBA of the write command exists in the table and the value of BP is valid (has link information), the CPU 15 processes the received write command as a continuation of the bypass write of that entry.

[0114] If the received write command cannot be executed as a continuation of the bypass write (No in step 1002), the CPU 15 judges whether to start a new bypass write with that write command (step 1003). In step 1003, the CPU 15 first searches the bypass write detection table to check whether an entry having a NextLBA value equal to the first LBA of the received write command exists in the table. If such an entry exists, the CPU 15 judges that the received command is connected to an existing sequential write, and checks the value of Blocks of the entry. Since this value is the cumulative number of blocks of the sequential write, if this value is equal to or greater than a prescribed value (2000 blocks in this example), it is judged that the condition for starting a new bypass write is satisfied (Y in step 1003), and a check is made as to whether there is free space in the bypass write execution table, i.e., whether the upper limit of the number of bypass write executions has been reached (step 1004).

[0115] If there is free space in the bypass write execution table (if the upper limit of the number of bypass write executions has not been reached) (Yes in step 1004), the CPU 15 performs bypass write start processing (step 1005). In step 1005, an initialization process is first performed. Specifically, the CPU 15 sets the top LBA, EP, and FP in the free entry, and sets BP in the corresponding entry in the bypass write detection table.

[0116] When a new bypass write is started in the above procedure (step 1005), or when it is determined that the current write command is connected to an existing bypass write (Yes in step 1002), the CPU 15 receives data from the host system 20 and writes it to a position on the buffer RAM 11 starting from the EP set in the entry for performing the bypass write (step 1006). In step 1006, the maximum amount of data that can be received is the free capacity of the target SB of the entry, and if the number of requested blocks (amount of write data) of the write command is greater than this, the maximum amount that can be received is received.

[0117] As a result, if the CPU 15 confirms that data for one track (TR1) exists in front of the write destination track (TR0) of the data at the position of the FP in the target band (Yes in step 1007), it acquires data from the buffer RAM 11 starting from the block indicated by the FP to the end of the track TR0 to which the block belongs, and writes the data to the target track of the magnetic disk DK (step 1008). If the CPU 15 confirms that data for multiple tracks (TR1, TR2) exists in front of the write destination track TR0 (Yes in step 1007), it acquires all data from the buffer RAM 11 except for the data for the frontmost track TR2, and writes the data to the target track of the magnetic disk DK (step 1008). On the other hand, if the CPU 15 confirms that data does not exist up to the end of TR1 (No in step 1007), it proceeds to step 1009 without performing the write process in step 1008.

[0118] When writing of data is completed in step 1008, CPU 15 checks whether all requested data of the write command has been received (step 1009). If CPU 15 checks in step 1009 that all requested data of the write command has been received (Yes in step 1009), it updates the bypass write detection table (step 1010) and performs command termination processing (step 1011). On the other hand, if data to be received remains (No in step 1009), CPU 15 returns to step 1006 and repeats the processing.

[0119] Also, in step 1003, if the received write command does not satisfy the start condition of the bypass write (No in step 1003) or if the number of bypass writes executed has already reached the upper limit (No in step 1004), the CPU 15 performs normal write processing without performing a bypass write. More specifically, the CPU 15 receives the data in a normal write buffer (not shown) (step 1016) and writes the data to the MC (step 1018).

[0120] When the write processing in steps 1006 to 1009 or steps 1016 to 1018 is completed, the CPU 15 performs processing to update the bypass write detection table (step 1010). If there is an entry having a NextLBA that is the same as the first LBA of the command currently executed in step 1010, the CPU 15 adds the number of blocks of the command currently executed to the NextLBA and Blocks of that entry.

[0121] On the other hand, in step 1010, if there is no entry with the same starting LBA as the currently executed command, the CPU 15 newly registers the current command information in one of the free entries. In this case, (the starting LBA of the command + the number of blocks) is set in NextLBA, and the number of blocks is set in Blocks. If there is no free entry, an old entry or one with a small cumulative number of blocks is selected from the existing entries that are not currently executing bypass write (there is no link information in the BP of the bypass write detection table), and the information is deleted to create a free entry.

[0122] When this process is completed, the CPU 15 terminates the write command (step 1011), and then performs termination processing of existing bypass writes as background processing if necessary (step 1012). In step 1012, it is determined from the table information whether termination processing is necessary and, if so, which entry to delete. For example, a method of determining whether deletion is necessary based on the number of bypass writes currently being executed, or a method of searching for entries in the bypass write detection table where bypass writes are being executed (with link information in BP) and selecting entries with old Time or small cumulative write counts, or those that satisfy both, as targets for termination processing, are possible.

[0123] In step 1012, the number of bypass writes to be subjected to the termination process may be one or more. The method of the termination process is as described above. The reason for performing this process in the background after the command is to reduce the effect of the bypass termination process, which takes a long time to process, on command responsiveness.

[0124] When the end process of the bypass write by the CPU 15 (including the execution determination) is completed, the entire write process is terminated (step 1013).

[0125] In the bypass write method, in order to protect data in the event of a power outage in the magnetic disk device, a common configuration is to not overwrite the data in the band to be written to, but to create an empty band in a different location and write the data there.

[0126] However, free bands are created by writing all data in the LBAs assigned to that band into the media cache, which increases access time and consumes media cache. In particular, when multiple bypass writes (multi-streaming writes) are performed simultaneously in models for security cameras, free bands must be created for each bypass write, and the impact of these factors is not small.

[0127] By using the PLP function, the magnetic disk device 1 of this embodiment not only obtains the effect of backing up (protecting data) unwritten data in the buffer RAM 11 using the PLP function in the event of a power outage, but also makes it possible to overwrite data in the shingled recording area, thereby realizing bypass writing that does not use free bands.

[0128] In the above procedure, an example is shown in which the termination process of the bypass write, which is directly related to the execution of the write command, is performed in the background. However, after the command (not limited to the write command) in step 1013 is completed, the CPU 15 may also execute the MC flash process or ATI refresh process described in FIG. 10 in the background.

[0129] This embodiment is based on the premise that when writing to a track using shingled recording (band write), the data on the previous track is destroyed at the same time. However, even if data on the previous two or more tracks is destroyed, processing can be performed using a procedure similar to that described above.

[0130] For example, if a write in shingled recording would destroy the m tracks ahead of the target track, the execution of the write is made to wait until the data to be written to those m tracks is received in the SB. To achieve this in the example of Fig. 15, the process of step 1007 can be changed to "Is there data for m tracks ahead?", and the process of step 1008 can be changed to "Write data from FP to SMR band, leaving data for the m tracks ahead." Second embodiment The magnetic disk drive of this embodiment sets the track skew of the track to be overwritten to be the same as that of the preceding track, making it possible to reduce the amount of data held in the SEQW buffer.

[0131] FIG. 16 is a schematic diagram showing an example of a process of writing data to a magnetic disk in a magnetic disk device according to the second embodiment.

[0132] In the first embodiment, for example, as shown in FIG. 7, due to the presence of track skew (positional deviation of the track heads BT0, BT1, and BT2), when writing is performed near the head of track TR0, data near the end of track TR1 (corresponding to data C1 on TR1 in FIG. 7) is erased. For this reason, in the first embodiment, it is necessary to wait until all data on track TR1 is available before writing to track TR0. Therefore, the magnetic disk device of this embodiment shows an example of band writing to align the track skew of tracks TR0 and TR1 on the magnetic disk DK, that is, to align the head BT0 and the head BT1 of track TR1.

[0133] FIG. 16 is a schematic diagram showing an example of a process of writing data to a magnetic disk in a magnetic disk device according to the second embodiment.

[0134] The track skew of tracks TR0 and TR1 on the magnetic disk DK is aligned so that when the beginning of track TR0 is written, the beginning of track TR1 disappears. For example, when writing to track TR0, TR0 is written so that the beginning BT0 of track TR0 and BT1 of TR1 are aligned. After that, when writing to track TRn, the track skew is aligned with that of track TR(n+1), and this process is repeated.

[0135] By using the above procedure, the amount of data that must be stored in the SEQW buffer can be reduced to one track. In addition, in the first embodiment, writing had to be done on a track-by-track basis, but in this embodiment, writing can be done up to the middle of a track depending on the amount of received data, so streaming writing using room logic can also be performed.

[0136] The implementation method of this embodiment is similar to that of the first embodiment, including the tables and the flow chart, but differs in the following points. (1) The data held in the SEQW buffer (each SB) is set to one track. For example, this can be realized by changing the judgment condition in step 1007 in the flowchart of FIG. (2) Bypass write is always performed from the beginning of the band. For example, a judgment condition is added before step 1005 in Fig. 15, and if the write command of this embodiment does not apply to the beginning of the band, the process proceeds to step 1016. Also, in step 1005, data up to the beginning of the band is received from the host system 20 and written to the MC. (3) A table is provided to hold the initial value of the skew for each band (the skew value of the first track of the band).

[0137] A table is prepared to hold the initial skew value for each band, and the CPU 15 refers to this table when executing step 1008 to determine the skew value for each track in the band. After writing one band, the CPU 15 updates the skew value for that band in the table. This table is arranged adjacent to the bypass write detection table and the bypass write execution table, so that reading and writing to the system area 301 and saving processing in the PLP are also performed simultaneously with these two tables.

[0138] By using the above procedure, the magnetic disk device 1 of this embodiment can reduce the amount of data held in the SEQW buffer.

[0139] The magnetic disk device 1 according to the above embodiment may have any combination of one or more of the following features. (A-1) A magnetic disk device of an embodiment includes a means for receiving, when performing sequential writing to a shingled recording area from the beginning or middle of the area, first data (e.g., data A and B1 in FIG. 8) to be written to a first track (e.g., TR0 in FIG. 8) to be written, and second data (e.g., data B2, C1, C2 in FIG. 8) that is located on a second track (e.g., TR1 in FIG. 8) one track ahead of the first track and overwrites data that will be erased by writing to the first track, all in a volatile memory (e.g., buffer RAM 11 in FIG. 14), and then writing the data to the first track to be written; and a means for saving, in the event of an unexpected power outage, data received in the volatile memory that has not been written to the shingled recording area (e.g., data B2, C1, C2 in FIG. 8) in a non-volatile memory (e.g., flash ROM 14 in FIG. 14).

[0140] (A-2) In the case of an unexpected power outage, the magnetic disk device described above in (A-1) stores the first data received in a volatile memory (e.g., the buffer RAM 11 in FIG. 14) that has not been written to the shingled recording area (e.g., the data FD0, FD1, and FD2 in FIG. 14). n14) are added with information for managing them (for example, data MD0 and MD1 in FIG. 14) and are stored in a non-volatile memory (for example, the flash ROM 14 in FIG. 14).

[0141] (A-3) In the event of an unexpected power outage, the magnetic disk device described above in (A-1) writes data in a volatile memory (e.g., the buffer RAM 11 in FIG. 14) to a non-volatile memory (e.g., the flash ROM 14 in FIG. 14) using the electromotive force generated by the rotational energy of the magnetic disk.

[0142] (A-4) In the magnetic disk device described in (A-1) above, sequential write to the shingled recording area is a process (bypass write) in which data received from the host is written directly to the shingled recording area without going through a media cache (e.g., MC302 in Figure 3).

[0143] (A-5) The magnetic disk device of (A-1) above performs sequential writing to the shingled recording area using data (for example, SB in FIG. 10) that is a combination of the original recorded data and data in the media cache (media cache flush processing).

[0144] (A-6) In the magnetic disk device described above in (A-1), sequential writing to the shingled recording area is performed using the original recorded data on the magnetic disk (ATI refresh processing).

[0145] (A-7) In the magnetic disk device of (A-1) above, when the write unit of the shingled recording area is divided into a fixed number of tracks, upon receiving data of the last track in the write unit (e.g., TR2 in FIG. 10), all unwritten data (e.g., D1, C2 in FIG. 10) is written continuously.

[0146] (A-8) When writing from the beginning of the write area of ​​a shingled area, the magnetic disk device of (A-1) above makes the track skew of the track to be written (e.g., TR0 in FIG. 16) the same as that of the preceding track (e.g., TR1 in FIG. 16).

[0147] (A-9) The magnetic disk devices of (A-1) to (A-8) above are characterized in that when writing to a track to be written in a shingled area (e.g., TR1 in FIG. 4), if data on multiple preceding tracks (e.g., TR2, 3 in FIG. 4) is erased, the magnetic disk devices receive all data for those multiple tracks before writing to the track to be written.

[0148] The above (A-1), (A-2), and (A-3) make it possible to overwrite existing data in the shingled recording area without losing received data when an unexpected power outage occurs when sequential writing to the shingled recording area is performed. This eliminates the need to generate free bands for sequential writing, improving the efficiency of the write process.

[0149] According to (A-4) above, by performing bypass write in the method described in (A-1) above, command responsiveness is improved when multiple bypass writes are performed simultaneously, such as multi-stream write. By performing the flush process of the media cache in the manner described in (A-1) above in accordance with (A-5) above, free bands are no longer required, improving the efficiency of the process.

[0150] The above (A-6) makes it possible to obtain the effect of the ATI refresh process. By using the above (A-7), the last track of the tile band is written consecutively from the previous track, thereby reducing the time required. By aligning the track skew with the preceding track in (A-8) above, the amount of data to be stored in the volatile area can be reduced, so that the number of sequential writes that can be performed simultaneously using the method described in (A-1) can be increased.

[0151] By virtue of (A-9) above, even if the front several tracks are erased by band writing, it becomes possible to perform sequential writing according to (A-1) to (A-8) above, except for the contents of (A-7) above, so that the number of magnetic disk devices to which the method of the embodiment can be applied increases.

[0152] According to the embodiment described above, it is possible to provide a magnetic disk drive and a writing method that perform bypass writing without using an empty band.

[0153] The present invention is not limited to the above-described embodiments as they are, and can be embodied by modifying the components in the implementation stage without departing from the gist of the invention. In addition, various inventions can be formed by appropriately combining the multiple components disclosed in the above-described embodiments. For example, some components may be deleted from all the components shown in the embodiments. Furthermore, components from different embodiments may be appropriately combined. In addition, the processing steps shown in the flowcharts and sequence charts shown in the above-described embodiments are within the scope of the present invention even if the order of steps is changed, steps are deleted, or steps are added, without departing from the gist of the present invention.

[0154] The processing shown in the flowcharts, sequence charts, etc. may be realized by hardware such as a CPU, an IC chip, or a digital signal processor (DSP), or by software (e.g., a program) operated on a computer including a microcomputer, or by a combination of hardware and software.

[0155] The present invention is also applicable when the claims are expressed as a control logic, a program including instructions for causing a computer to execute the control logic, or a computer-readable recording medium having the instructions written thereon. The names and terms used are not intended to be limiting, and other expressions that have substantially the same content and intent are also included in the present invention. [Explanation of symbols]

[0156] 1...magnetic disk device, DK...magnetic disk, 2...magnetic head, 3...spindle motor, 4...voice coil motor (VCM), 5...actuator, 6...motor driver, 7...head IC, 8...read / write IC 8, 9...gate array, 10...disk controller (HDC), 11...buffer RAM, 12...CPU bus, 13...RAM, 14...flash ROM, 15...CPU, 20...host system, 21...servo block, 22...read / write block, 23...host block, 24...read / write block, 25...buffer block.

Claims

1. A magnetic disk device that records data by shingled recording, When performing sequential writing to a shingled recording area on a magnetic disk, data to be written to a track to be written and data to be arranged on one track ahead of the track to be written are received on a volatile memory, and then the data is written to the track to be written; 1. A magnetic disk device comprising: a storage section for storing, in a non-volatile memory, data that has been received in said volatile memory and that has not been written to a shingled recording area, when an unexpected power outage occurs.

2. 2. A magnetic disk device according to claim 1, characterized in that, in the event of an unexpected power outage, data received in the volatile memory that has not been written to the shingled recording area is added with information for managing the data and stored in the non-volatile memory.

3. 2. The magnetic disk drive according to claim 1, wherein, in the event of a power outage, the data in the volatile memory is written to the non-volatile memory using electromotive force generated by the rotational energy of the magnetic disk.

4. 2. The magnetic disk drive according to claim 1, wherein the sequential write to the shingled recording area is a process (bypass write) in which data received from a host is written directly to the shingled recording area without passing through a media cache.

5. 2. The magnetic disk drive according to claim 1, wherein sequential writing to the shingled recording area is performed using data that is a combination of recorded data on the magnetic disk and data in a media cache.

6. 2. The magnetic disk drive according to claim 1, wherein sequential writing to said shingled recording area is performed by the recorded data itself on the magnetic disk.

7. When the writing unit of the shingled recording area is divided into a certain number of tracks, 2. The magnetic disk drive according to claim 1, wherein when data of the last track in the write unit is received, all unwritten data is continuously written to the shingled recording area.

8. When writing from the beginning of the writing area of ​​the shingled area, 2. The magnetic disk drive according to claim 1, wherein the track skew of the track to be written is set to be the same as that of the preceding track.

9. A magnetic disk device as described in any one of claims 1 to 8, characterized in that when writing to a track to be written in a shingled area, data on multiple previous tracks is erased, all data of the multiple previous tracks is received into the volatile memory before writing to the track to be written.

10. A data write method for a magnetic disk device that records data by shingled recording, comprising the steps of: When performing sequential writing to a shingled recording area on a magnetic disk, data to be written to a track to be written and data to be arranged on one track ahead of the track to be written are received on a volatile memory, and then the data is written to the track to be written; A data write method comprising the steps of: storing, in a non-volatile memory, data received in the volatile memory and not written in a shingled recording area, when an unexpected power interruption occurs.

Citation Information

Patent Citations

  • Magnetic disk device configured to specify a range of previously written track that is to be overlapped during a write and verify data previously written in the specified range after the write

    US10650845B2

  • Managing data associated with overwritten portions of previously-written tracks

    US11164598B1

  • Rewrite operation for recording bands

    US9377956B1

Cited By

  • Wire stripping device

    KR102867576B1