Magnetic disk device
By employing a variable-mode switching method for rotational speed and zone partitioning in the disk device, the problem of reduced storage capacity at high rotational speeds is solved, achieving high-performance data writing and reading.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- KK TOSHIBA
- Filing Date
- 2023-01-16
- Publication Date
- 2026-08-04
AI Technical Summary
Increasing disk rotation speed will limit the recording frequency, affecting storage capacity and read/write performance.
It employs a variable mode to switch disk rotation speeds, and divides the system into restricted and unrestricted areas. Data is written in high-speed rotation mode in the unrestricted area, and when conditions are met, the data is moved to the restricted area for final writing. This is combined with temporary storage area management to control data flow.
While improving read and write performance, it avoids reducing storage capacity and improves the overall efficiency and performance of the disk device.
Smart Images

Figure CN117746912B_ABST
Abstract
Description
[0001] This application enjoys priority over Japanese Patent Application No. 2022-151633 (filed on September 22, 2022). This application is incorporated herein by reference to the entire contents of that earlier application. Technical Field
[0002] This embodiment relates to a disk drive. Background Technology
[0003] Generally speaking, the higher the disk's rotational speed, the less rotational latency there is, thus tending to result in higher read and write performance.
[0004] However, the recording frequency, i.e., the amount of data that can be written per unit time, has an upper limit corresponding to the characteristics of the read / write head. The recording frequency depends on the disk's rotational speed and linear recording density, i.e., the recording density per unit length in the circumferential direction. Therefore, when the disk's rotational speed is set high, the storage capacity of the disk device may be reduced. Summary of the Invention
[0005] The embodiments of the present invention provide a disk device with high read and write performance and large storage capacity.
[0006] According to one embodiment, a disk drive includes a disk, a motor, read / write heads, and a controller. The disk has a first region and a second region located on the inner periphery of the first region. The motor rotates the disk. The controller receives write commands. When a first location, specified by the write command as the destination for data, is contained within the first region, the controller rotates the disk at a first-value rotational speed while writing data to the first location using the read / write heads. When the first location is contained within the second region, the controller rotates the disk at a second-value rotational speed greater than the first value while writing data to the first location using the read / write heads. Attached Figure Description
[0007] Figure 1 This is a block diagram illustrating an example of the configuration of the disk device according to the first embodiment.
[0008] Figure 2 This is a diagram illustrating an example of the configuration of the disk according to the first embodiment.
[0009] Figure 3 This is a diagram used to illustrate the relationship between the radius position of the disk according to the first embodiment and various physical quantities.
[0010] Figure 4 This is a diagram used to explain the states under each rotation mode according to the first embodiment.
[0011] Figure 5 This is a schematic diagram illustrating an example of the state transition of the disk device according to the first embodiment.
[0012] Figure 6 This is a schematic diagram illustrating an example of the operation of the disk device in a fixed mode according to the first embodiment.
[0013] Figure 7 This is a schematic diagram illustrating an example of the operation of the disk device according to the first embodiment in variable mode and high-speed rotation mode.
[0014] Figure 8 This is a schematic diagram illustrating an example of a re-storage operation in the variable mode and normally rotating mode of the disk device according to the first embodiment.
[0015] Figure 9 This is a schematic diagram illustrating an example of the data structure of the management table involved in the first embodiment.
[0016] Figure 10 This is a schematic diagram illustrating an example of two thresholds used to execute the transition between the high-speed rotation mode and the normal rotation mode involved in the first embodiment.
[0017] Figure 11 This is a flowchart illustrating an example of the mode switching operation of the disk device according to the first embodiment.
[0018] Figure 12 This is a flowchart illustrating an example of command processing operations in a fixed mode of the disk device according to the first embodiment.
[0019] Figure 13 This is a flowchart illustrating an example of command processing operations in the variable mode and high-speed rotation mode of the disk device according to the first embodiment.
[0020] Figure 14 This is a flowchart illustrating an example of the command processing operation in the variable mode and normally rotating mode of the disk device according to the first embodiment.
[0021] Figure 15 This is a schematic diagram illustrating an example of the operation of the disk device in variable mode and high-speed rotation mode according to the second embodiment.
[0022] Figure 16 This is a schematic diagram illustrating an example of a re-storage operation in the variable mode and normally rotating mode of the disk device according to the second embodiment.
[0023] Figure 17This is a schematic diagram illustrating an example of the operation of the disk device in variable mode and high-speed rotation mode according to the third embodiment.
[0024] Figure 18 This is a schematic diagram illustrating an example of the operation of the disk device according to the third embodiment in variable mode and high-speed rotation mode after it becomes a temporary storage area in non-volatile memory with no free space.
[0025] Figure 19 This is a schematic diagram illustrating an example of a re-storage operation in the variable mode and normally rotating mode of the disk device according to the third embodiment.
[0026] Figure 20 This is a schematic diagram illustrating another example of a re-storage operation in the variable mode and normally rotating mode of the disk device according to the third embodiment.
[0027] Figure 21 This is a diagram illustrating an example of the configuration of the disk according to the fourth embodiment.
[0028] Label Explanation
[0029] 1. 1a, 1b Disk Devices; 2. SPM; 3. 5 Axes; 4. VCM; 6. Head Amplifier IC; 7. Driver IC; 8. Volatile Memory; 9. Buffer Memory; 10. Non-Volatile Memory; 11. MPU; 12. RW Channel; 21. Command Queue; 22. Management Table; 101. Restricted Area; 102. Unrestricted Area; 201, 201a Temporary Storage Area; 301. System Area; 302. System Area; AM Actuator Arm; DK Disk; HD Head; WH Write Head; RH Read Head. Detailed Implementation
[0030] Hereinafter, the disk device according to the embodiments will be described in detail with reference to the accompanying drawings. However, the invention is not limited to these embodiments.
[0031] (First Embodiment)
[0032] Figure 1 This is a block diagram illustrating an example of the configuration of the disk drive according to the first embodiment. The disk drive 1 can be connected to the host system HS and function as an external storage device for the host system HS. The host system HS is, for example, a CPU (Central Processing Unit).
[0033] The host system HS issues access commands to disk device 1. These access commands include write and read commands. Each access command contains address information indicating the location of the access destination. In other words, the host system HS specifies the location of the access destination using address information. In one example, this address information is a logical address.
[0034] The disk drive 1 includes a disk disk (DK), a spindle motor (SPM) 2, a read / write head (HD), an actuator arm (AM), a voice coil motor (VCM) 4, a system-on-a-chip (SoC) 5, a head amplifier IC (Integrated Circuit) 6, a driver IC 7, volatile memory 8, buffer memory 9, and non-volatile memory 10. The SoC 5 includes an MPU (Micro-Processing Unit) 11, a read-write (RW) channel 12, and a hard disk controller (HDC) 13.
[0035] A disk DK is a disk-shaped recording medium capable of recording various types of information. The disk DK rotates around axis 3 using the SPM2 located on axis 3.
[0036] exist Figure 1 The diagram shows a disk device 1 with one disk drive (DK), but the number of disk drives 1 can have is not limited to one. A disk device 1 can also have multiple disk drives. In the case of a disk device 1 having multiple disk drives, the multiple disk drives are rotated together.
[0037] SPM2 is set coaxially with disk DK. Therefore, in the following text, the rotational speed of disk DK and SPM2 are set to have the same meaning.
[0038] The read / write head HD is located at one end of the actuator arm AM and performs access to the disk DK, that is, writing and reading data. The read / write head HD has a write head WH for writing data to the disk DK and a read head RH for reading data from the disk DK. The read / write head HD maintains a slightly suspended state from the surface of the disk DK by utilizing the lift generated by the rotation of the disk DK, while moving relative to the surface of the disk DK in the direction of the down track.
[0039] VCM4 is located on the opposite side of the actuator arm AM, opposite to the end where the read / write head HD is located. VCM4 rotates the actuator arm AM with axis 5 as its center. As a result, VCM4 causes the read / write head HD to move relative to the disk DK in the crosstrack direction.
[0040] The non-volatile memory 10 is a memory that stores the firmware program executed by the MPU 11. The non-volatile memory 10 can also be used as a fallback destination for user data when power is off. Furthermore, the type of non-volatile memory 10 is not limited to a specific type. For example, flash memory can be used as the non-volatile memory 10.
[0041] Volatile memory 8 provides the working area for SoC 5. Specifically, when disk device 1 boots, firmware is loaded from non-volatile memory 10 to volatile memory 8, and various parameters are loaded from the system area of disk DK to volatile memory 8. MPU 11 performs various processes based on the firmware and various parameters in volatile memory 8.
[0042] In addition, a command queue (command queue 21 described later) is allocated to the volatile memory 8 to store commands received from the host system HS. The HDC13 stores the commands received from the host system HS in the command queue 21 and processes one or more commands in the command queue 21 in turn.
[0043] Furthermore, the type of volatile memory 8 is not limited to a specific type. For example, DRAM (Dynamic Random Access Memory), SRAM (Static Random Access Memory), or a combination thereof can be used as volatile memory 8.
[0044] The buffer memory 9 buffers the data transferred between the host system HS and the disk DK. In particular, the buffer memory 9 holds write data received from the host system HS that has not yet been written to the disk DK.
[0045] Furthermore, the type of buffer memory 9 is not limited to a specific type. For example, DRAM, SRAM, or a combination thereof can be used as buffer memory 9. The storage area of buffer memory 9 can also be allocated within volatile memory 8.
[0046] The head amplifier IC6 performs data writing to the disk DK by flowing a write signal (current) corresponding to the data input from the RW channel 12 to the write head WH. Additionally, the head amplifier IC6 amplifies the read signal (data read from the disk DK by the read head RH) output from the read head RH and provides it to the RW channel 12.
[0047] RW channel 12 encodes and modulates the data stored in buffer memory 9, and outputs the encoded and modulated data to head amplifier IC6. Additionally, RW channel 12 encodes and demodulates the data transmitted from head amplifier IC6, and outputs the decoded user data to buffer memory 9.
[0048] HDC13 processes one or more commands sequentially from the command queue 21 stored in volatile memory 8. When multiple commands are stored in command queue 21, HDC13 can perform command reordering. Command reordering is an action that determines the processing order of multiple commands independently of the order received from the host system HS, so as to minimize the processing time of the multiple commands.
[0049] Additionally, HDC13 receives the data of the write object corresponding to the write command from the host system HS along with the write command. HDC13 stores the received write object data in buffer memory 9, and when the processing sequence of the write command associated with the write object data arrives, the write object data is sent to RW channel 12.
[0050] When a read command arrives, HDC13 retrieves the data of the read object corresponding to that read command via RW channel 12 and saves the retrieved read object data in buffer memory 9. Then, HDC13 sends the read object data from buffer memory 9 to the host system HS.
[0051] MPU11, based on firmware, provides overall control over the operation of the disk drive 1. MPU11 sends a rotation command indicating the target rotational speed of SPM2 and a positioning command indicating the target position of the read / write head HD. Driver IC7 supplies drive current to SPM2 so that the rotational speed of SPM2 becomes the target speed indicated by the rotation command. Additionally, driver IC7 supplies drive current to VCM4 so that the read / write head HD is positioned as indicated by the positioning command.
[0052] Furthermore, SoC5 is an example of a controller in an implementation. The controller in an implementation does not necessarily have to be configured as a SoC. The controller in an implementation can also be configured from two or more chips. Additionally, the controller in an implementation can include any constituent elements (e.g., volatile memory 8, buffer memory 9, non-volatile memory 10, etc.) besides HDC13, MPU11, and RW channel 12.
[0053] The driver IC7 controls the power supply to each component of the disk drive 1. Additionally, based on instructions from the MPU11, the driver IC7 supplies drive current to VCM4 and VCM5 respectively.
[0054] In the first embodiment, HDC13 is configured to switch the operating mode of the disk device 1 between multiple modes. The multiple modes include a fixed mode and a variable mode.
[0055] Fixed mode is a mode in which the rotational speed of the disk drive (DK) is fixed at a single value during disk access. Furthermore, disk access refers to reading or writing to the disk drive (DK) via the read / write head (HD).
[0056] Variable mode is a mode that switches the rotational speed of the disk drive (DK) during disk access between multiple values depending on the situation. Here, as an example, in variable mode, the disk access speed is set to switch between a first value (normal speed) and a second value higher than the first value. Furthermore, the rotational mode in which the disk drive rotates at the first value in variable mode is described as normal rotational mode. The rotational mode in which the disk drive rotates at the second value in variable mode is described as high-speed rotational mode. That is, in variable mode, the rotational mode switches between normal rotational mode and high-speed rotational mode.
[0057] As mentioned above, the faster the disk rotation speed, the less the rotational latency, thus resulting in high read and write performance. However, when the disk rotation speed exceeds a predetermined level, the recording frequency is limited by the bandwidth based on the characteristics of the write head WH. Therefore, in the first embodiment, a restricted area is set on the recording surface of the disk DK, which is a storage area that allows writing in normal rotational mode but prohibits writing in high-speed rotational mode.
[0058] Reference Figure 2 and Figure 3 This section explains the restricted areas set on the disk DK.
[0059] Figure 2 This is a diagram illustrating an example of the configuration of the disk DK according to the first embodiment.
[0060] exist Figure 2 In the example shown, data can be recorded within the range of radius position rmin to radius position rmax. A logical address is mapped to this range, and the host system HS can specify the location of the access destination using the logical address. Furthermore, a portion of the logical address range mapped to the disk DK can be set to be inaccessible from the host system HS. This range of logical addresses set to be inaccessible from the host system HS is used, for example, as a system area storing system data of disk device 1.
[0061] The radius position ra to the radius position rmax located on the outer diameter side is set as a restricted region 101 that allows writing in normal rotation mode but prohibits writing in high-speed rotation mode. Furthermore, the region located on the inner diameter side of the restricted region 101, i.e., the region on the innermost diameter side, from the radius position rmin to the radius position ra, is set as an unrestricted region 102 that allows writing in both normal and high-speed rotation modes.
[0062] Figure 3 This is a graph used to explain the relationship between the radius position of the disk DK according to the first embodiment and various physical quantities. This graph depicts a coordinate graph showing the relationship between the radius position and the relative velocity of the head HD relative to the disk DK, a coordinate graph showing the relationship between the radius position, the head HD, and the recording frequency, and a coordinate graph showing the relationship between the radius position and the line recording density. The relative velocity of the head HD relative to the disk DK is recorded as head velocity.
[0063] With the head velocity set to v and the disk DK rotation speed set to R [rpm], the head velocity v at the radius position r is obtained by the following equation (1).
[0064] v=2πr*R / 60···(1)
[0065] As specified in equation (1), the head velocity v varies linearly with respect to the radius position r. In high-speed rotation mode, the head velocity v is faster than in normal rotation mode. The greater the difference between the head velocity v in high-speed rotation mode and the head velocity v in normal rotation mode, the further outward the rotation.
[0066] The line recording density is set to a fixed value Da within the radius position rmin to radius position rmax. Alternatively, the radius position rmin to radius position rmax can be divided into multiple zones along the radial direction, with the line recording density varying slightly between zones. However, the line recording density of each zone is approximately Da and is set to be approximately equal. The set line recording density is used regardless of whether the rotation mode is normal or high-speed rotation.
[0067] Line recording density can be expressed in numerical terms, for example, in units called BPI (Bits Per Inch). However, the numerical information representing line recording density is not limited to BPI.
[0068] In addition, the disk DK (Disk Drive Design) sets the track density. The set track density is used regardless of whether the rotation mode is normal or high-speed. Track density can be expressed as a numerical value in units called TPI (Tracks Per Inch). However, the numerical information representing track density is not limited to TPI.
[0069] Recording frequency is the amount of data that can be written per unit time. For example, recording frequency is the reciprocal of the shortest magnetization mode period at a given line recording density, determined by the line recording density and head speed. When the line recording density is set to an approximately constant value Da independent of the radius position, the recording frequency varies linearly with respect to the head speed. Specifically, as... Figure 3 As shown in the coordinate graph of the middle part, the recording frequency varies linearly with respect to the radius position r.
[0070] Fth is the upper limit of the frequency band at which the record head (HD), or more precisely, the write head (WH), can correctly write data. It is determined, for example, based on the error rate during accesses to the disk DK, i.e., writing and reading. The record frequency at which the error rate during disk DK access equals a predetermined upper limit is defined as Fth. When writing to the disk DK at a record frequency exceeding Fth, the error rate will exceed the upper limit, making it difficult to read data correctly.
[0071] exist Figure 3 In the coordinate diagram at the center, under normal rotation mode, the recording frequency reaches Fth at the radius position rmax. Therefore, under normal rotation mode, the range from radius position rmin to radius position rmax can be written to at a recording frequency not exceeding Fth. Under high-speed rotation mode, the recording frequency reaches Fth at the radius position ra, and exceeds Fth at positions further outward from radius position ra. Therefore, the range from radius position ra to radius position rmax, i.e., the restricted area 101, can be written to under normal rotation mode, but writing under high-speed rotation mode is prohibited.
[0072] Thus, the region where the recording frequency exceeds Fth in high-speed rotation mode is set as restricted region 101, and the region where the recording frequency does not exceed Fth in high-speed rotation mode is set as unrestricted region 102.
[0073] Furthermore, the method for setting the restricted region 101 is arbitrary, as long as the region where the recording frequency exceeds Fth in high-speed rotation mode is set as the restricted region 101. For example, the restricted region 101 can be set at a position on the outer periphery of the radius position ra', and the unrestricted region 102 can be set at a position on the inner periphery of the radius position ra', where the radius position ra' is a position offset inward from the radius position ra.
[0074] Thus, the disk DK is configured with a restricted area 101 and an unrestricted area 102 located on the inner periphery of the restricted area 101.
[0075] The order in which the rotational speed during disk access, the line recording density, and the radius position ra of the boundary between restricted region 101 and unrestricted region 102 are determined is arbitrary. In one example, the designer first determines the rotational speed during disk access in both normal rotation mode and high-speed rotation mode. Next, the designer determines Da to maximize the amount of data that can be written in the range of radius position rmin to radius position rmax in normal rotation mode. That is, Da is determined so that the recording frequency becomes Fth when writing to radius position rmax in normal rotation mode. Then, the designer determines the position where the recording frequency reaches Fth in high-speed rotation mode as the radius position ra of the boundary between restricted region 101 and unrestricted region 102.
[0076] The technology compared with the first embodiment (described as a comparative example) will be described.
[0077] According to the comparative example, the disk drive only performs disk access at a speed higher than the normal rotation speed (e.g., the second value of the rotation speed in the first embodiment). In the region from the location where the recording frequency reaches Fth to the outer periphery (e.g., the region corresponding to the restriction region 101 in the first embodiment), in order to ensure that the recording frequency does not exceed Fth, the line recording density is set low (e.g., lower than Da).
[0078] In other words, according to the comparative example, in a certain area, the line recording density is set to be lower than in other areas so that the recording frequency does not exceed Fth. As a result, high-speed disk access is possible at any radius location. Conversely, corresponding to the reduction in line recording density in a certain area, the storage capacity of the disk device is reduced.
[0079] In the first embodiment, the disk device 1 can operate in both a high-speed rotation mode and a normal rotation mode. In the unrestricted region 102, disk access is performed in the high-speed rotation mode, and in the restricted region 101, disk access is performed in the normal rotation mode. This allows for both improved read and write performance and suppression of disk storage capacity reduction.
[0080] Furthermore, in the first embodiment, when the location designated as the write destination by the host system HS is contained within the restricted area 101, the disk device 1 stores the data in a temporary storage area set up as an area capable of high-speed writing. Here, as an example, such as... Figure 2 As shown, a temporary storage area (temporary storage area 201) is provided within the unrestricted area 102. That is, when the location designated as the write destination by the host system HS is contained within the restricted area 101, the disk device 1 stores the data in the temporary storage area 201 within the unrestricted area 102 in high-speed rotation mode. Furthermore, when predetermined conditions, including the disk device 1 changing from power mode to idle state, are met, the data in the temporary storage area 201 is moved to the location designated as the write destination by the host system HS. Therefore, from the perspective of the host system HS, write performance is improved regardless of the write destination.
[0081] Furthermore, temporary storage area 201 can also be allocated as a dedicated area within unrestricted area 102. That is, temporary storage area 201 can also become a write destination that cannot be specified by the host system HS.
[0082] Alternatively, temporary storage area 201 may be temporarily allocated in an area of unrestricted area 102 that can be specified by the host system HS as the write destination for data.
[0083] The action of moving data from temporary storage area 201 to restricted area 101 will be described as a restore action. In a restore action, after data has been transferred from temporary storage area 201 to restricted area 101, the data from the source in temporary storage area 201 may or may not be deleted and may be considered invalid. That is, in this specification, "moving" in the restore action refers to at least the transfer of data.
[0084] Figure 4 This diagram illustrates the states under each rotation mode according to the first embodiment. Furthermore, in this diagram, regarding the rotational speed of SPM2 (in other words, the rotational speed of disk DK), the state where SPM2 rotates at the second value rotational speed is recorded as "high speed," the state where SPM2 rotates at the first value rotational speed is recorded as "normal," the state where SPM2 rotates at a speed lower than the first value is recorded as "low speed," and the state where SPM2 is stopped is recorded as "stopped." Additionally, regarding the position of the read / write head HD, the state where the read / write head HD is on disk DK is recorded as "Flying," and the state where the read / write head HD is unloaded is recorded as "Park."
[0085] The power mode of disk device 1 can be active, restore, first idle, second idle, third idle, and standby.
[0086] The active state is a power mode that can perform actions in response to access commands from the host system HS at any time.
[0087] When disk device 1 is in high-speed rotation mode and active, SPM2 rotates at the second rotation speed, the read / write head HD is on disk DK, it cannot write to restricted area 101, it can write to unrestricted area 102, and it can read from both restricted area 101 and unrestricted area 102.
[0088] When disk device 1 is in normal rotation mode and active, SPM2 rotates at a speed of the first value, the read / write head HD is on disk DK, and writing to restricted area 101, writing to unrestricted area 102, and reading from both restricted area 101 and unrestricted area 102 can be performed.
[0089] The re-entry state is the state in which a re-entry operation is performed. The re-entry operation includes writing to the restricted area 101. Thus, the re-entry operation is performed in normal rotational mode, but not in high-speed rotational mode. When the disk device 1 is in the re-entry state, the SPM2 rotates at a speed of the first value, the read / write head HD is on the disk DK, and writing to the restricted area 101, writing to the unrestricted area 102, and reading from both the restricted area 101 and the unrestricted area 102 can all be performed.
[0090] The first idle state is a state in which the SPM2 rotates at the same speed as the SPM2 in the active state, and the read / write head HD is located at a predetermined position on the disk DK where the power consumption of the VCM4 is minimized. In the first idle state, writing to restricted area 101, writing to unrestricted area 102, and reading from both restricted and unrestricted areas 102 are not possible. The disk device 1 can quickly recover from the first idle state to the active state upon receiving a new access command from the host system HS.
[0091] The second idle state is when SPM2 rotates at the same speed as in the active state, and the read / write head HD is unloaded. In the second idle state, writing to restricted region 101, writing to unrestricted region 102, and reading from both restricted and unrestricted regions 102 are not possible. Because the read / write head HD is unloaded in the second idle state, the power consumption is lower than in the first idle state, but the recovery speed from the second idle state to the active state is slower than the recovery speed from the first idle state.
[0092] The third idle state is when the SPM2 rotates at a lower speed than the first value, and the HD head is unloaded. In the third idle state, writing to restricted region 101, writing to unrestricted region 102, and reading from both restricted and unrestricted regions 102 are not possible. Because the SPM2's rotational speed is suppressed in the third idle state, the power consumption in the third idle state is lower than that in the second idle state, but the speed of recovery from the third idle state to the active state is slower than that from the second idle state.
[0093] Standby mode is when SPM2 is stopped and the HD head is unloaded. In standby mode, writing to restricted region 101, writing to unrestricted region 102, and reading from both restricted and unrestricted regions 102 are not possible. Power consumption in standby mode is lower than in any of the aforementioned states, but recovery from standby mode to active mode takes a considerable amount of time.
[0094] Figure 5 This is a schematic diagram illustrating an example of the state transition of the disk device 1 according to the first embodiment.
[0095] When disk device 1 is in high-speed rotation mode, it can switch to normal rotation mode when the free capacity of temporary storage area 201 decreases (T1). When disk device 1 is in normal rotation mode and there are no unprocessed commands and data in temporary storage area 201, it can switch to re-write mode (T2). Disk device 1 in re-write mode performs a re-write operation.
[0096] When the disk device 1 in the re-entry state receives a new command from the host system HS, it can switch to the active state of normal rotational mode (T3). When the re-entry operation of all data in the temporary storage area 201 is completed, the disk device 1 in the re-entry state can switch to the first idle state of normal rotational mode (T4).
[0097] When a disk device 1 in the active state of normal rotation mode has no pending commands and no data in the temporary storage area 201, it can transition to the first idle state of normal rotation mode (T5). The disk device 1 in the first idle state of normal rotation mode can transition to the second idle state, the third idle state, and the standby state (T6, T7, T8) depending on the length of time the state without pending commands lasts.
[0098] In normal rotation mode, when a disk device 1 that is in the first idle state, the second idle state, the third idle state, or the standby state receives a new command from the host system HS, it can switch to the active state of normal rotation mode (T9).
[0099] The disk device 1, in the active state of high-speed rotation mode, can transition to a first idle state, a second idle state, a third idle state, and a standby state (T10, T11, T12, T8) depending on the duration of the state without any pending commands. In high-speed rotation mode, when the disk device 1, in the first idle state, the second idle state, the third idle state, or the standby state, receives a new command from the host system HS, it can transition to the active state of high-speed rotation mode (T13).
[0100] The transition between high-speed rotation mode and normal rotation mode is set to be possible in both the first idle state and the second idle state.
[0101] Furthermore, the aforementioned state transition path and triggering conditions are merely one example. It can also be configured to be capable of... Figure 5 The path not shown does not involve transitions between any two states. Furthermore, the triggering conditions for state transitions may differ slightly from those described above. Additionally, the disk device 1 may be configured to receive a command specifying a power mode from the host system HS and to transition to the power mode specified by the host system HS based on that command.
[0102] Furthermore, the settings for the operating mode, rotation mode, and power mode can be saved in volatile memory 8, non-volatile memory 10, buffer memory 9, or any other location within the SoC5 via any component. In one example, the settings for the operating mode, rotation mode, and power mode are saved in these locations via HDC13, and these saved settings are updated by HDC13. In one example, the operating mode is set by the manufacturer during manufacturing. Alternatively, the operating mode is set by instructions from the host system HS. Switching between rotation mode and power mode is performed by any component within the SoC5. In one example, switching between rotation mode and power mode is performed by HDC13.
[0103] Next, the actions and data flows under each action mode will be explained. Furthermore, as an example, the case of receiving a write command from the host system HS will be explained.
[0104] Figure 6 This is a schematic diagram illustrating an example of the operation of the disk device 1 according to the first embodiment in a fixed mode.
[0105] In disk device 1, when HDC13 receives a write command from host system HS, it stores the write command in command queue 21 within volatile memory 8 (S101). Furthermore, HDC13 receives data of the write object corresponding to the write command from host system HS and stores the received write object data in buffer memory 9. In the following description, the action of receiving write object data from host system HS and storing it in buffer memory 9 will sometimes be omitted.
[0106] When the write command is saved to the command queue 21 and the data of the write object is saved to the buffer memory 9, HDC13 acknowledges to the host system HS that the write is complete (S102).
[0107] exist Figure 6 In the example shown, four write commands are stored in command queue 21: command Cmd0_w, command Cmd1_w, command Cmd2_w, and command Cmd3_w. HDC13 performs command reordering (S103), sequentially selecting the command to be processed from Cmd0_w, Cmd1_w, Cmd2_w, and Cmd3_w. In command reordering in S103, HDC13 calculates the seek time based on the location of the write destination and selects the commands to be processed sequentially to minimize the calculated time. SoC5 executes the selected commands sequentially.
[0108] Here, as an example, the command Cmd2_w is first selected, and the data D_Cmd2_w of the write object corresponding to the command Cmd2_w is written to disk DK (S104). The write destination of the data D_Cmd2_w is the location represented by the logical address contained in the command Cmd2_w.
[0109] Next, the command Cmd2_w is selected, and the command Cmd1_w is chosen to write the data D_Cmd1_w corresponding to the write object to disk DK (S105). The write destination of the data D_Cmd1_w is the location represented by the logical address contained in the command Cmd1_w.
[0110] Furthermore, in fixed mode, disk access can be performed, for example, with the disk DK rotating at a speed of value 1. The speed of the disk DK in fixed mode is not limited to this. As long as it is below value 1, the designer can set any value as the speed of the disk DK during disk access in fixed mode.
[0111] Figure 7 This is a schematic diagram illustrating an example of the operation of the disk device 1 according to the first embodiment in a variable mode and a high-speed rotation mode.
[0112] In disk device 1, HDC13 performs the same process as S101 to S102, saving the received write command to command queue 21 (S201) and responding to the completion of the write (S202).
[0113] Command queue 21 contains four write commands: Cmd0_ID_w, Cmd1_OD_w, Cmd2_ID_w, and Cmd3_OD_w. Furthermore, the "OD" in the command name indicates that the logical address represented by the write command is located in the outer perimeter region, i.e., restricted region 101. The "ID" in the command name indicates that the logical address represented by the write command is located in the inner perimeter region, i.e., unrestricted region 102.
[0114] HDC13 performs command reordering (S203), sequentially selecting the command to be processed from command Cmd0_ID_w, command Cmd1_OD_w, command Cmd2_ID_w, and command Cmd3_OD_w. SoC5 executes the selected commands sequentially.
[0115] In high-speed rotation mode, when the logical address contained in the write command represents the restricted region 101, the data of the write object corresponding to the write command is written to the temporary storage region 201. In the command reordering in S203, HDC13 performs command reordering based on the location of the write destination within the temporary storage region 201 regarding the data written to the temporary storage region 201.
[0116] Here, as an example, the command Cmd2_ID_w is first selected, and the data D_Cmd2_ID_w of the write object corresponding to the command Cmd2_ID_w is written to the unrestricted region 102 (S204). The destination of the data D_Cmd2_ID_w in the unrestricted region 102 is the location represented by the logical address contained in the command Cmd2_ID_w.
[0117] Next, the command Cmd2_ID_w is selected and the command Cmd1_OD_w is chosen, and the data D_Cmd1_OD_w of the write object corresponding to the command Cmd1_OD_w is written to the disk DK (S205). The location represented by the logical address contained in the command Cmd1_OD_w is contained in the restricted area 101. Therefore, the SoC5 does not write the data D_Cmd1_OD_w to the location represented by the logical address contained in the command Cmd1_OD_w, but writes it to the temporary storage area 201 set in the unrestricted area 102.
[0118] As described above, the data stored in the temporary storage area 201 is moved to the final write destination within the restricted area 101 through a rewrite operation, that is, the location specified as the write destination by the logical address contained in the write command. The rewrite operation is performed when the disk device 1 is in normal rotational mode.
[0119] Figure 8 This is a schematic diagram illustrating an example of a re-storage operation in the variable mode and normally rotating mode of the disk device 1 according to the first embodiment.
[0120] For example, performing a re-insert operation when there are no unprocessed commands. Figure 8 In the example shown, there are no unprocessed commands in command queue 21, and four data items are stored in temporary storage area 201: data D_Cmd1_OD_w, data D_Cmd3_OD_w, data D_Cmd4_OD_w, and data D_Cmd5_OD_w. Therefore, the re-storage action begins.
[0121] HDC13 selects data sequentially from data D_Cmd1_OD_w, data D_Cmd3_OD_w, data D_Cmd4_OD_w, and data D_Cmd5_OD_w by also performing command reordering (S211) during the re-storage operation. In S211, HDC13 performs command reordering based on the location of the moving source (i.e., the location within the temporary storage area 201) and the location of the moving destination (i.e., the final write location). SoC5 moves the selected data sequentially to the final write location within the restricted area 101. As an example, in Figure 8 The diagram illustrates the process of first selecting data D_Cmd3_OD_w and moving it to the restricted area 101 (S212). Then, the other three data are selected in sequence and moved to the restricted area 101.
[0122] Furthermore, HDC13 records the correspondence between the location of data written to temporary storage area 201 and its final write destination in a management table. During the rewrite operation, HDC13 uses this management table to determine the final write destination of the data in temporary storage area 201.
[0123] Figure 9 This is a schematic diagram illustrating an example of the data structure of the management table according to the first embodiment. The management table 22 records the correspondence between the logical address of a location (referred to as a temporary storage location) within the temporary storage area 201 and the final write destination within the restricted area 101, that is, the logical address contained in the write command. In the example shown in this figure, the temporary storage location "LBAa" is associated with the final write destination "LBA1", and the temporary storage location "LBAb" is associated with the final write destination "LBA2".
[0124] The management table 22 is stored, for example, in volatile memory 8, buffer memory 9, non-volatile memory 10, or any other location. When HDC13 writes data to temporary storage area 201, it appends a corresponding relationship to the management table 22, and deletes the corresponding relationship from the management table 22 when the write operation is completed.
[0125] The transition between high-speed spin mode and normal spin mode is determined based on the available capacity of temporary storage area 201. Here, as an example, the transition is determined by comparing the available capacity of temporary storage area 201 with two thresholds. The available capacity of temporary storage area 201 refers to the capacity that can be used for the temporary storage of new data.
[0126] Figure 10 This is a schematic diagram illustrating an example of two thresholds used during the execution of the transition between the high-speed rotation mode and the normal rotation mode according to the first embodiment. In this figure, the capacity of the temporary storage area 201 is denoted as Cmax.
[0127] Two thresholds, Th_h and Th_l, are set as thresholds for comparison with the available capacity of temporary storage area 201. Th_h is smaller than Cmax, but is as large as possible. Th_l is slightly larger than 0, but is sufficiently smaller than both Cmax and Th_h.
[0128] When the disk device 1 is in high-speed rotation mode and the free capacity of the temporary storage area 201 is lower than Th_l, HDC13 changes the operating mode of the disk device 1 from high-speed rotation mode to normal rotation mode in order to initiate the re-entry operation.
[0129] When the disk device 1 is in normal rotation mode, if the free capacity of the temporary storage area 201 exceeds Th_h, HDC13 changes the operating mode of the disk device 1 from normal rotation mode to high-speed rotation mode.
[0130] Next, details of the operation of the disk device 1 according to the first embodiment will be explained.
[0131] Figure 11 This is a flowchart illustrating an example of the mode switching operation of the disk device 1 according to the first embodiment.
[0132] First, HDC13 determines whether the operation mode is set to a variable mode (S301). The operation mode is determined by the designer during manufacturing, and the operation mode setting is saved in a predetermined location. Alternatively, the operation mode is set by the host system HS, and the operation mode setting is saved in a predetermined location. HDC13 determines whether the operation mode is set to a variable mode by referring to the operation mode setting.
[0133] If the action mode is not set to a variable mode (S301: No), the mode switching action ends when the action mode is set to a fixed mode.
[0134] If the operation mode is set to variable mode (S301: Yes), HDC13 determines whether the current rotation mode is high-speed rotation mode (S302). If the current rotation mode is high-speed rotation mode (S302: Yes), HDC13 determines whether the free capacity of temporary storage area 201 is less than the threshold Th_l (S303).
[0135] If the free capacity of the temporary storage area 201 is less than the threshold Th_l (S303: Yes), HDC13 switches the rotation mode from high-speed rotation mode to normal rotation mode (S304), and the mode switching operation ends. If the free capacity of the temporary storage area 201 is not less than the threshold Th_l (S303: No), the mode switching operation ends.
[0136] If the current rotation mode is not high-speed rotation mode (S302: No), that is, if the current rotation mode is normal rotation mode, HDC13 determines whether the free capacity of temporary storage area 201 is more than the threshold Th_h (S305).
[0137] If the free capacity of the temporary storage area 201 is greater than the threshold Th_h (S305: Yes), HDC13 switches the rotation mode from normal rotation mode to high-speed rotation mode (S306), and the mode switching operation ends. If the free capacity of the temporary storage area 201 is not greater than the threshold Th_h (S305: No), the mode switching operation ends.
[0138] Figure 11 The series of actions shown is executed multiple times at different timings. For example, a series of actions are executed in the background at predetermined time intervals.
[0139] Furthermore, if the process of continuously executing multiple access commands in high-speed rotation mode continues and the aforementioned series of actions cannot be initiated for an extended period, HDC13 may be forced to switch to normal rotation mode if there is no free space in the temporary storage area 201.
[0140] In the example above, if the free area of temporary storage region 201 is equal to the threshold Th_l during the decision process in S303, the high-speed rotation mode is maintained. The processing when the free area of temporary storage region 201 is equal to the threshold Th_l is not limited to this. Alternatively, the processing in S304 can also be performed when the free area of temporary storage region 201 is equal to the threshold Th_l.
[0141] In the example above, if the free area of temporary storage region 201 is equal to the threshold Th_h during the decision process in S305, it is maintained in the normal rotation mode. The processing for the case where the free area of temporary storage region 201 is equal to the threshold Th_h is not limited to this. Alternatively, the processing in S306 can be performed when the free area of temporary storage region 201 is equal to the threshold Th_h.
[0142] Figure 12 This is a flowchart illustrating an example of command processing operations in a fixed mode of the disk device 1 according to the first embodiment.
[0143] HDC13 determines whether there is more than one command in command queue 21 (S401). If there is more than one command in command queue 21 (S401: Yes), HDC13 selects a command from command queue 21 by reordering the commands and processes the selected command (S402). HDC13 then executes the processing in S401 again. If there is no command in command queue 21 (S401: No), HDC13 executes the processing in S401 again.
[0144] Figure 13 This is a flowchart illustrating an example of command processing operations in the variable mode and high-speed rotation mode of the disk device 1 according to the first embodiment. Furthermore, in this figure and... Figure 14 In this context, temporary storage area 201 is described as an area within unrestricted area 102 that is temporarily allocated as a write destination that can be specified by the host system HS.
[0145] HDC13 first determines whether the current power mode is active (S501). If the current power mode is active (S501: Yes), HDC13 determines whether there is more than one command in the command queue 21 (S502).
[0146] If the current power mode is not active (S501: No), or if there is no more than one command in the command queue 21 (S502: No), HDC13 will execute the processing of S501 again.
[0147] If there is more than one command in the command queue 21 (S502: Yes), HDC13 selects a command from the command queue 21 by reordering the commands (S503) and determines whether the selected command is a write command (S504).
[0148] If the selected command is a write command (S504: Yes), HDC13 determines whether the final write destination, that is, the location represented by the logical address contained in the write command, is contained in the restricted area 101 (included in the restricted area 101) (S505).
[0149] If the final write destination is contained in the restricted area 101 (S505: Yes), SoC5 writes the data of the write object corresponding to the write command to the temporary storage area 201 (S506). HDC13 registers the correspondence between the location of the written data in the temporary storage area 201 and the final write destination in the management table 22 (S507). Then, HDC13 executes the process of S501 again.
[0150] If the final write destination is not included in the restricted area 101 (S505: No), that is, if the final write destination is included in the unrestricted area 102, HDC13 determines whether the final write destination is used as the temporary storage area 201 (S508). That is, HDC13 determines whether other data is stored in the final write destination (specifically, other data that is scheduled to be moved to the restricted area 101 by a re-write operation).
[0151] If the final write destination is used as temporary storage area 201 (S508: Yes), SoC5 executes the process in S506. If the final write destination is not used as temporary storage area 201 (S508: No), SoC5 processes the selected write command (S509). That is, SoC5 writes the data of the write target to the unrestricted area 102 according to the write command. After S509, HDC13 executes the process in S501 again.
[0152] If the selected command is not a write command (S504: No), that is, if the selected command is a read command, the SoC5 processes the selected read command (S509). That is, the SoC5 reads the data of the read object from the disk DK according to the read command and transmits the read data to the host system HS.
[0153] Figure 14 This is a flowchart illustrating an example of command processing operations in a variable mode and a normal rotational mode of the disk device 1 according to the first embodiment.
[0154] HDC13 first determines whether the current power mode is active (S601). If the current power mode is active (S601: Yes), HDC13 determines whether there is more than one command in the command queue 21 (S602).
[0155] If there is more than one command in the command queue 21 (S602: Yes), HDC13 selects a command from the command queue 21 by reordering the commands (S603) and determines whether the selected command is a write command (S604).
[0156] If the selected command is a write command (S604: Yes), HDC13 determines whether the final write destination, that is, the location represented by the logical address contained in the write command, is used as temporary storage area 201 (S605). That is, HDC13 determines whether other data is stored at the final write destination (specifically, other data that is scheduled to be moved to restricted area 101 by a re-insert operation).
[0157] If the final write destination is used as temporary storage area 201 (S605: Yes), SoC5 writes the data of the write object corresponding to the write command to temporary storage area 201 (S606). HDC13 registers the correspondence between the location of the written data in temporary storage area 201 and the final write destination in management table 22 (S607). Then, HDC13 executes the process of S601 again.
[0158] If the selected command is not a write command (S604: No), or if the final write destination is not used as temporary storage area 201 (S605: No), SoC5 executes the processing of the selected command (S608). Then, HDC13 executes the processing of S601 again.
[0159] If the current power mode is not active (S601: No), that is, if the current power mode is idle (e.g., the first idle state), or if there is no more than one command in the command queue 21 (S602: No), HDC13 determines whether data is stored in the temporary storage area 201 (S609).
[0160] If no data is stored in the temporary storage area 201 (S609: No), HDC13 executes the process of S601 again.
[0161] If data is stored in the temporary storage area 201 (S609: Yes), SoC5 moves each piece of data in the temporary storage area 201 to the final write destination (S610). HDC13 deletes the corresponding relationship of the moved data from the management table 22 (S611). Then, HDC13 executes the process of S601 again.
[0162] Thus, according to the first embodiment, the disk DK is provided with a restricted area 101 and a non-restricted area 102 located on the inner periphery of the restricted area 101. When the write location of data indicated by the write command is included in the restricted area 101, the SoC5 writes the data to the restricted area 101 in normal rotation mode. When the write location of data indicated by the write command is included in the non-restricted area 102, the SoC5 writes the data to the restricted area 101 in high-speed rotation mode.
[0163] This allows for both improved read and write performance and reduced disk storage capacity.
[0164] Furthermore, according to the first embodiment, when the SoC5 receives a write command in high-speed rotation mode, and the location specified by the write command as the write destination of the data is contained within the restricted area 101, it writes the data to the temporary storage area 201. Then, when predetermined conditions are met, the SoC5 transfers the data in the temporary storage area 201 to the final write destination within the restricted area 101 in normal rotation mode.
[0165] Switching between rotational modes involves a change in the rotational speed of the SPM2; therefore, switching between rotational modes requires time associated with the change in rotational speed. Even when a write command is received in high-speed rotational mode, specifying the restricted area 101 as the write destination, the rotational mode can be maintained in high-speed rotational mode until a predetermined condition is met. Therefore, the frequency of rotational speed changes can be reduced, thereby suppressing the time cost associated with rotational speed changes.
[0166] In addition, according to the first embodiment, the temporary storage area 201 is provided in the unrestricted area 102.
[0167] Therefore, even when a write command is received in high-speed rotation mode, with the restricted area 101 designated as the write destination, the write command can be processed while maintaining the rotation mode in high-speed rotation mode until the predetermined conditions are met.
[0168] Furthermore, according to the first embodiment, the SoC5 switches to high-speed rotation mode when the free capacity of the temporary storage area 201 exceeds the threshold Th_h, and switches to normal rotation mode when the free capacity of the temporary storage area 201 is lower than the threshold Th_l.
[0169] Therefore, it is possible to achieve high-speed rotation mode operation without exhausting the free space of the temporary storage area 201.
[0170] Additionally, according to the first embodiment, the SoC5 begins the re-storage operation when there are no unprocessed commands in the normal rotation mode. Alternatively, according to the first embodiment, the SoC5 begins the re-storage operation when the power mode is in an idle state (e.g., the first idle state) in the normal rotation mode.
[0171] Therefore, from the perspective of the host system HS, the execution of the re-storage operation is hidden. In other words, the write and read performance is improved from the perspective of the host system HS.
[0172] (Second Implementation)
[0173] In the first embodiment, the temporary storage area (i.e., temporary storage area 201) is provided within the unrestricted area 102. The location where the temporary storage area is provided is not limited to the unrestricted area 102.
[0174] In the second embodiment, an example in which the temporary storage area is located within the non-volatile memory 10 will be described. The disk device according to the second embodiment will be referred to as disk device 1a. Furthermore, in the second embodiment, configurations similar to those in the first embodiment will be described briefly or omitted.
[0175] Figure 15 This is a schematic diagram illustrating an example of the operation of the disk device 1a in a variable mode and a high-speed rotation mode according to the second embodiment. As shown in this figure, according to the second embodiment, a temporary storage area 201a is provided in the non-volatile memory 10 of the disk device 1a, and no temporary storage area is provided in the non-restricted area 102.
[0176] In disk device 1a, HDC13 performs the same process as S101 to S102, saving the received write command to command queue 21 (S701) and responding to the completion of the write (S702).
[0177] The command queue 21 stores four write commands: Cmd0_ID_w, Cmd1_OD_w, Cmd2_ID_w, and Cmd3_OD_w. HDC13 performs command reordering (S703), sequentially selecting the command to be processed from Cmd0_ID_w, Cmd1_OD_w, Cmd2_ID_w, and Cmd3_OD_w.
[0178] Furthermore, the final write destinations for both commands Cmd1_OD_w and Cmd3_OD_w are contained within restricted area 101. Thus, the data for the write objects corresponding to these commands is written to temporary storage area 201a in high-speed rotation mode. In S703, HDC13 performs command reordering for commands Cmd1_OD_w and Cmd3_OD_w based on the write destinations within temporary storage area 201a.
[0179] Writing to the non-volatile memory 10 can be processed faster than writing to the disk DK. Therefore, as an example, firstly, the command Cmd1_OD_w is selected, and the data D_Cmd1_OD_w corresponding to the write object of the command Cmd1_OD_w is written to the temporary storage area 201a (S704). Then, following the command Cmd1_OD_w, the command Cmd3_OD_w is selected, and the data D_Cmd3_OD_w corresponding to the write object of the command Cmd3_OD_w is written to the temporary storage area 201a (S705).
[0180] When all write commands that set restricted area 101 as a temporary write destination, namely commands Cmd1_OD_w and Cmd3_OD_w, are processed, command Cmd2_ID_w is selected, and the data D_Cmd2_ID_w of the write object corresponding to command Cmd2_ID_w is written to unrestricted area 102 (S706).
[0181] In this way, the data whose final destination is restricted area 101 is written to the temporary storage area 201a set in the non-volatile memory 10 in high rotation mode.
[0182] Figure 16 This is a schematic diagram illustrating an example of a re-storage operation in the variable mode and normal rotational mode of the disk device 1a according to the second embodiment.
[0183] exist Figure 16In the example shown, there are no unprocessed commands in command queue 21, and five data items are stored in temporary storage area 201a: data D_Cmd1_OD_w, data D_Cmd3_OD_w, data D_Cmd4_OD_w, data D_Cmd5_OD_w, and data D_Cmd6_OD_w. The final write destinations for these five data items are contained in restricted area 101. Therefore, these five data items are used as the objects of the re-storage operation.
[0184] HDC13 selects one data item sequentially from data D_Cmd1_OD_w, data D_Cmd3_OD_w, data D_Cmd4_OD_w, data D_Cmd5_OD_w, and data D_Cmd6_OD_w by executing a command reordering (S801) during the rewrite operation. SoC5 then moves the selected data item sequentially to the final write position within the restricted area 101. As an example, in Figure 16 The diagram illustrates the process of first selecting data D_Cmd4_OD_w and moving it to the restricted area 101 (S802). Then, the other four data are selected in sequence and moved to the restricted area 101.
[0185] Thus, the disk device 1a can also be configured such that a temporary storage area 201a is provided in the non-volatile memory 10, and the data of the write object whose final write destination is contained in the restricted area 101 is written to the temporary storage area 201a in high-speed rotation mode.
[0186] (Third Implementation)
[0187] In the third embodiment, an example in which the temporary storage area is provided in both the unrestricted area 102 and the non-volatile memory 10 will be described. The disk device according to the third embodiment will be referred to as disk device 1b. Furthermore, in the third embodiment, configurations similar to those in the first embodiment will be described briefly or omitted.
[0188] Figure 17 This is a schematic diagram illustrating an example of the operation of the disk device 1b in a variable mode and a high-speed rotation mode according to the third embodiment. As shown in this figure, according to the third embodiment, a temporary storage area 201 is provided in the non-restricted area 102, and a temporary storage area 201a is provided in the non-volatile memory 10.
[0189] In disk device 1b, HDC13 performs the same process as S101 to S102, saving the received write command to command queue 21 (S901) and responding to the completion of the write (S902).
[0190] Four write commands are stored in command queue 21: command Cmd0_ID_w, command Cmd1_OD_w, command Cmd2_ID_w, and command Cmd3_OD_w. HDC13 selects the command to be processed sequentially from Cmd0_ID_w, Cmd1_OD_w, Cmd2_ID_w, and Cmd3_OD_w by performing command reordering (S903). In S903, HDC13 reorders the commands Cmd1_OD_w and Cmd3_OD_w based on the write destination within temporary storage area 201a.
[0191] As described above, writing to the non-volatile memory 10 can be processed faster than writing to the disk DK. Therefore, firstly, for example, the command Cmd1_OD_w is selected, and the data D_Cmd1_OD_w corresponding to the write object of the command Cmd1_OD_w is written to the temporary storage area 201a (S904). Then, following the command Cmd1_OD_w, the command Cmd3_OD_w is selected, and the data D_Cmd3_OD_w corresponding to the write object of the command Cmd3_OD_w is written to the temporary storage area 201a (S905).
[0192] When all write commands that set restricted area 101 as a temporary write destination, namely commands Cmd1_OD_w and Cmd3_OD_w, are completed, command Cmd2_ID_w is selected, and the data D_Cmd2_ID_w of the write object corresponding to command Cmd2_ID_w is written to unrestricted area 102 (S906).
[0193] In this way, the data of the write object whose write destination is set in restricted area 101 is written to temporary storage area 201a until the free area of temporary storage area 201a is exhausted.
[0194] Figure 18 This is a schematic diagram illustrating an example of the operation of the disk device 1b according to the third embodiment after it changes to a variable mode and a high-speed rotation mode, where there is no free space in the temporary storage area 201a.
[0195] In disk device 1b, HDC13 performs the same process as S101 to S102, saving the received write command to command queue 21 (S1001) and responding to the completion of the write (S1002).
[0196] Temporary storage area 201a stores the data whose final destination is contained in restricted area 101 until it is full. Specifically, temporary storage area 201a stores the data D_Cmd1_OD_w, D_Cmd3_OD_w, D_Cmd4_OD_w, D_Cmd5_OD_w, and D_Cmd6_OD_w that were instructed to be written by the command Cmd1_OD_w. There is no free space in temporary storage area 201a.
[0197] Furthermore, two write commands, Cmd7_ID_w and Cmd8_OD_w, are stored in command queue 21. HDC13 selects the command to be processed sequentially from Cmd7_ID_w and Cmd8_OD_w by performing command reordering (S1003). In S1003, HDC13 reorders the commands Cmd7_OD_w and Cmd8_OD_w based on the write destination within temporary storage area 201.
[0198] Here, firstly, for example, the command Cmd8_OD_w is selected, and the data D_Cmd8_OD_w of the write object corresponding to the command Cmd8_OD_w is written to the temporary storage area 201 (S1004).
[0199] Thus, SoC5 prioritizes writing data to temporary storage area 201a compared to temporary storage area 201.
[0200] In the re-storage operation, data can be moved from either the data stored in temporary storage area 201a or any data stored in temporary storage area 201.
[0201] For example, Figure 19As shown, firstly, HDC13 reorders the data stored in temporary storage area 201a (data D_Cmd1_OD_w, data D_Cmd3_OD_w, data D_Cmd4_OD_w, data D_Cmd5_OD_w, and data D_Cmd6_OD_w) and the two data stored in temporary storage area 201 (data D_Cmd7_OD_w and data D_Cmd8_OD_w) via a command, selecting the data to be moved from the five data stored in temporary storage area 201a (S1101). Here, as an example, data D_Cmd4_OD_w is selected first. SoC5 moves the selected data D_Cmd4_OD_w to the final write position within the restricted area 101 (S1102).
[0202] When the movement of data D_Cmd4_OD_w is complete, the movement of the other four data items in temporary storage area 201a is performed sequentially. When there is no data in temporary storage area 201a that has not yet been moved, the process of re-storing the data stored in temporary storage area 201 begins.
[0203] In another example, such as Figure 20 As shown, firstly, HDC13 reorders the data by command, selecting the data to be moved from the five data stored in temporary storage area 201a and the two data stored in temporary storage area 201 (S1201). Here, as an example, data D_Cmd8_OD_w is selected first. SoC5 moves the selected data D_Cmd8_OD_w to the final write position within the restricted area 101 (S1202).
[0204] When the movement of data D_Cmd8_OD_w is complete, the movement of data D_Cmd7_OD_w is performed. When there is no data in temporary storage area 201 that has not yet been moved, the re-entry operation of the data stored in temporary storage area 201a begins.
[0205] Thus, according to the third embodiment, a temporary storage region 201 is provided in the unrestricted region 102, and a temporary storage region 201a is provided in the non-volatile memory 10. Furthermore, the SoC 5 prioritizes writing data to the temporary storage region 201a compared to the temporary storage region 201.
[0206] (Fourth implementation)
[0207] The system data of disk devices 1, 1a, and 1b contains system data that was determined during manufacturing or before shipment and has not been changed since, as well as system data that was changed or generated after shipment. The former system data may include action parameters. The latter system data may include logs or SMART (Self-Monitoring Analysis and Reporting Technology) information.
[0208] As mentioned above, the unrestricted region 102 can be both written to and read from regardless of the rotation mode. Furthermore, the restricted region 101 can only be read from in high-speed rotation mode, but can be both read from and written to in normal rotation mode.
[0209] Therefore, in the fourth embodiment, as Figure 21 As shown, a system area 301 is allocated to the restricted area 101, which is set to be non-updatable, and a system area 302 is allocated to the unrestricted area 102, which is set to be updatable. System area 301 stores system data that was determined during manufacturing or before leaving the factory and will not be changed thereafter, while system area 302 stores system data that has been changed or generated after leaving the factory.
[0210] Therefore, system data can be recorded and referenced automatically without needing to be stored in the action.
[0211] Several embodiments of the present invention have been described above, but these embodiments are merely illustrative and not intended to limit the scope of the invention. These new embodiments can be implemented in a wide variety of other ways, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their variations are included within the scope and spirit of the invention, and are included within the scope of the invention as described in the claims and its equivalents.
Claims
1. A disk drive, comprising: The disk has a first region and a second region located on the inner periphery of the first region; A motor that causes the disk to rotate; magnetic head; Controller; as well as Non-volatile memory, The controller Receive write commands from the host. When the first position is contained within the first region, data is written to the first position via the read / write head while the disk rotates at a first-value rotational speed. The first position is the location specified as the data write destination by the write command. When the first position is contained within the second region, data is written to the first position by the read / write head while the disk rotates at a rotational speed greater than the first value (a second value). The controller When the write command is received while the disk is rotating at the second rotational speed, and the first location is contained within the first region, data is written to a third region different from the first region, wherein the third region is located within the second region or within the non-volatile memory. When the set conditions are met, the disk is rotated at the rotation speed of the first value while the data is transferred from the third region to the first position within the first region. The set conditions are that in a mode where the disk is rotated at the rotation speed of the first value when the read / write head accesses the disk, there are no unprocessed commands or the power mode is idle. The region where the recording frequency of the magnetic head exceeds a set level is designated as the first region, and the set level is determined based on the error rate during access.
2. The disk drive according to claim 1, When the controller receives the write command while rotating the disk at the second rotation speed and the first position is contained in the first region, it writes the data to the third region while rotating the disk at the second rotation speed.
3. The disk drive according to claim 1, The third region includes a fourth region disposed within the second region and a fifth region disposed within the non-volatile memory.
4. The disk drive according to claim 3, The controller prioritizes writing data to the fifth region over the fourth region.
5. The disk drive according to claim 1, The controller Operation can be performed in either Mode 1 or Mode 2. Mode 1 is a mode in which the disk is rotated at a rotational speed of a first value when the read / write head is used to access the disk, and Mode 2 is a mode in which the disk is rotated at a rotational speed of a second value when the read / write head is used to access the disk. If the available capacity in the third region exceeds the first threshold, the system switches to the second mode. If the available capacity is lower than a second threshold which is smaller than the first threshold, the system switches to the first mode.
6. The disk drive according to claim 1, A first system area where updates are disabled is set in the first area, and a second system area where updates are enabled is set in the second area.
7. The disk drive according to claim 1, In the first region and the second region, the set line recording densities are approximately equal.