Hard disk device, firmware updating program, and firmware updating method
The hard disk drive with a control unit that performs a receiving step, an updating step, an initialization range identifying step, and an initialization execution step, using identification tables, addresses the inefficiency of existing firmware updates by reducing processing time and unnecessary reboots.
Patent Information
- Application Number
- JP2024130785
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-07
- Publication Date
- 2026-02-20
AI Technical Summary
Existing hard disk drive firmware update processes are time-consuming due to the need for extensive initialization and potential unnecessary reboots of the device.
A hard disk drive with a control unit that includes a storage unit that includes a storage unit that stores firmware and control unit that performs a receiving step, a receiving step, an updating step, an initialization range identifying step, and an initialization execution step, where the updated firmware has identification tables indicating the initialization range.
The solution reduces the processing time required for firmware updates by optimizing the initialization range and minimizing unnecessary reboots, ensuring efficient and reliable firmware updates.
Smart Images

Figure 2026028407000001_ABST
Abstract
Description
[Technical Field]
[0001] FIELD Embodiments of the present invention relate to a hard disk drive, a firmware update program, and a firmware update method. [Background technology]
[0002] Hard disk drives store program code called firmware in non-volatile memory. Firmware is periodically updated with new versions provided by the hard disk drive manufacturer. Generally, when firmware is updated, the firmware control information is initialized. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2015-102889 Summary of the Invention [Problem to be solved by the invention]
[0004] An object of the present invention is to provide a hard disk drive, a firmware updating program, and a firmware updating method that can shorten the processing time required for updating firmware. [Means for solving the problem]
[0005] The hard disk drive of this embodiment has a storage unit and a control unit. The storage unit stores firmware and firmware control information. The control unit operates the firmware based on the control information. The control unit is capable of executing a receiving step, an updating step, an initialization range identification step, and an initialization execution step. The receiving step is a step of receiving updated firmware from a computer. The updating step is a step of updating existing firmware with updated firmware. The initialization range identification step is a step of identifying an initialization range of the control information. The initialization execution step is a step of initializing the control information within the initialization range if an initialization range exists. The updated firmware has an identification table that indicates the initialization range. The initialization range identification step is a step of identifying the initialization range based on the identification table.
[0006] The firmware update program of this embodiment is a program that updates firmware stored in a storage unit of a hard disk device. The firmware update program causes a control unit of the hard disk device to execute a receiving step, an updating step, an initialization range specifying step, and an initialization execution step. The receiving step is a step of receiving updated firmware from a computer. The updating step is a step of updating existing firmware to updated firmware. The initialization range specifying step is a step of specifying an initialization range of control information of firmware stored in the storage unit. The initialization execution step is a step of initializing the control information within the initialization range if an initialization range exists. The updated firmware has an identification table that indicates the initialization range. The initialization range specifying step is a step of specifying the initialization range based on the identification table.
[0007] The firmware update method of this embodiment is a method for updating firmware stored in a memory unit of a hard disk drive. The firmware update method includes a receiving step, an updating step, an initialization range specifying step, and an initialization execution step. The receiving step is a step of receiving updated firmware from a computer. The updating step is a step of updating existing firmware with updated firmware. The initialization range specifying step is a step of specifying an initialization range of control information of firmware stored in the memory unit. The initialization execution step is a step of initializing the control information within the initialization range if an initialization range exists. The updated firmware has an identification table that indicates the initialization range. The initialization range specifying step is a step of specifying the initialization range based on the identification table. [Brief explanation of the drawings]
[0008] [Figure 1] 1 is a conceptual diagram illustrating a configuration of a hard disk drive according to an embodiment. [Figure 2] FIG. 10 is a diagram illustrating a series of firmware update steps in a hard disk drive according to an embodiment. [Figure 3] 10 is a flowchart illustrating a method for updating firmware in a hard disk drive according to an embodiment. [Figure 4] FIG. 10 is a diagram illustrating a first example of an identification table in the hard disk drive of the embodiment. [Figure 5] FIG. 10 is a diagram illustrating a second example of an identification table in the hard disk device of the embodiment. [Figure 6] FIG. 10 is a diagram illustrating a third example of an identification table in the hard disk drive of the embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0009] Hereinafter, a hard disk drive, a firmware update program, and a firmware update method according to an embodiment will be described with reference to the drawings.
[0010] 1 is a conceptual diagram showing the configuration of a hard disk drive 1 of this embodiment. The hard disk drive 1 of this embodiment is connected to a computer 2. The hard disk drive 1 also includes a communication unit 10, a storage unit 20, a control unit 30, a magnetic disk 40, a head 41, and an actuator 42.
[0011] The communication unit 10 is connected to the computer 2. The communication unit 10 performs data communication with the computer 2 using a predetermined communication protocol.
[0012] The storage unit 20 is, for example, a nonvolatile memory (NVRAM). The storage unit 20 stores firmware and firmware control information. The firmware is software that is installed to perform basic control of the hard disk device 1. The control information is various types of data used in the firmware.
[0013] The control information includes a plurality of functions (functions 1 to 12) described below (see FIG. 4). The plurality of functions included in the control information include, for example, the frequency setting for data transfer to the magnetic disk 40, control parameters and control programs for the actuator 42, information on the size and structure of the system's control table, and information on the firmware version and model name. Of these, the firmware version and model name information are examples of control information that do not require initialization when changed.
[0014] The magnetic disk 40 is a disk-shaped storage medium with a magnetic thin film formed on a substrate, and stores various data such as user data and control data. The head 41 reads and writes data from and to the magnetic disk 40. The actuator 42 moves the head 41 using a control current output from a driver in the control unit.
[0015] The control unit 30 has an internal memory 31 for storing programs that define various processing procedures and control data, and executes various processes using these. The control unit 30 accesses the storage unit 20 to read the data and programs required for various processes. The control unit 30 also operates firmware based on the control information stored in the storage unit 20. Furthermore, the control unit 30 can receive and send data from and to the computer 2 via the communication unit 10. The control unit 30 controls the actuator 42 and reads and writes data via the head 41.
[0016] FIG. 2 is a diagram showing the flow of a series of operations performed by the worker 3, the computer 2, and the hard disk device 1 when updating firmware for the hard disk device 1 of this embodiment. In this embodiment, the updated firmware is downloaded to the computer 2 by the worker 3. The updated firmware may be downloaded by the worker 3 directly operating the computer, or by remotely operating the computer via a network.
[0017] Furthermore, the worker 3 operates the computer 2 to instruct the hard disk device 1 to update the firmware, which causes the control unit 30 of the hard disk device 1 to start updating the firmware.
[0018] FIG. 3 is a flowchart showing the flow of firmware updating performed in the hard disk device 1. The firmware update program causes the control unit 30 to execute a receiving step S10, a backup restart step S20, an updating step S30, an initialization determining step S40, an initialization execution step S50, a restart necessity determining step S60, and a restart execution step S70. The initialization determining step S40 also includes an initialization range specifying step S41 and an initialization necessity determining step S42. That is, the firmware update program causes the control unit 30 to execute the initialization range specifying step S41 and the initialization necessity determining step S42. That is, the control unit 30 of this embodiment can execute the above-described steps S10, S20, S30, S40, S41, S42, S50, S60, and S70. The firmware update method of this embodiment also includes the above-described steps S10, S20, S30, S40, S41, S42, S50, S60, and S70.
[0019] The order of the steps in the update program in this embodiment can be changed as long as the function of each step can be fulfilled, and is not limited to this embodiment.
[0020] Receiving step S10 is a step of receiving updated firmware from the computer 2. The control unit 30 communicates with the computer 2 via the communication unit 10 and receives the updated firmware from the computer 2. In receiving step S10, the control unit 30 stores the received updated firmware in the internal memory 31.
[0021] The backup restart step S20 is a step for internally restarting the hard disk drive 1. In the backup restart step S20, the firmware of the hard disk drive 1 is restarted to prepare for the update step S30 without turning off the power to the hard disk drive 1. Therefore, the backup restart step S20 must be performed before the update step S30.
[0022] In the updating step S30, the control unit 30 installs the updated firmware stored in the internal memory 31 into the storage unit 20.
[0023] The initialization determination step S40 is a step for determining which range of control information needs to be initialized due to the firmware update. The initialization determination step S40 includes an initialization range specification step S41 and an initialization necessity determination step S42. In the initialization determination step S40, the control unit 30 first executes the initialization range specification step S41, and then executes the initialization necessity determination step S42. In the initialization necessity determination step S42, the result of the initialization range specification step S41 is referenced.
[0024] The initialization range determination step S41 is a step for determining the initialization range of the control information. The initialization range determination step S41 uses an determination table included in the updated firmware. Figure 4 shows a first example of the determination table T1 included in the updated firmware in this embodiment.
[0025] In the initialization range identification step S41, the control unit 30 first acquires version information of the existing firmware from the existing firmware, and then identifies the initialization range based on the version information of the existing firmware and the identification table T1.
[0026] As shown in Fig. 4, the updated firmware of this embodiment is firmware of version 8.0. As shown in Fig. 4, the identification table T1 of this embodiment describes the initialization range for versions (1.0 to 7.0) prior to the updated firmware version.
[0027] The firmware of this embodiment operates based on the control information for functions 1 to 12. The firmware needs to initialize a specific range of the control information for functions 1 to 12 depending on the association with the updated program code. The identification table T1 indicates the initialization range for each version of the existing firmware. In the identification table T1 shown in FIG. 4, areas marked with "○" are areas that require initialization (initialization range). The control unit 30 stores in the internal memory 31 the functions marked with "○" in the column corresponding to the version of the existing firmware in the identification table T1 as the initialization range.
[0028] As an example, if the version of the existing firmware is 5.0, the control information for functions 2, 3, 4, 5, and 11 is identified as the range to be initialized. In this case, for example, for the existing firmware version 5.0, the updated firmware version 8.0 indicates that the program code for the portion related to the control information for functions 2, 3, 4, and 11 has been updated. In this way, the identification table T1 contains information regarding the range of control information that should be updated when updating each updated firmware for each version of the existing firmware.
[0029] The identification table T1 verifies the areas that need to be initialized for each version of the existing firmware from the updated portion of the program code in the firmware update and provides it together with the firmware update. The control information included in the initialization range is not necessarily limited to control information used in operations related to the updated program code. For example, even if the control information related to the program code to be updated is only functions 2 and 3, depending on the content of the program code update, it may be advisable to initialize functions 4, 5, and 11 as well as functions 2 and 3. The initialization of such control information that is less related to the program code is only revealed through verification by the provider and is not easily identified by comparing the updated program code. In this embodiment, the identification table T1 is provided by and guaranteed by the provider of the firmware update, making it less likely that problems will occur due to omitting initialization.
[0030] In this embodiment, the identification table T1 also indicates the initialization range for the version of the existing firmware in case the existing firmware is the same version (8.0) as the updated firmware. In the identification table T1 of the first example, not all functions in the column for version 8.0 have a "○" mark. Therefore, if the version of the updated firmware is the same as the version of the existing firmware (8.0), it can be determined that initialization is not required. Note that even if the existing firmware is the same version (8.0) as the updated firmware, initialization of some (or all) of the control information may be required depending on the contents of the updated firmware. In this case, the initialization range is identified in the same way as when updating firmware of a different version, and initialization is required within that initial range.
[0031] In the present embodiment, the case where the initialization range specifying step S41 is performed after the update step S30 has been described, but the timing at which the initialization range specifying step S41 is executed is not limited to this embodiment as long as it is after the reception step S10 at which the specification table T1 can be referenced and before the initialization necessity determining step S42 and the initialization execution step S50. For example, the initialization range specifying step S41 may be executed after the reception step S10 and before the update step S30.
[0032] The initialization necessity determination step S42 is a step for determining whether initialization is necessary based on the presence or absence of the initialization range identified in the initialization range identification step S41. As described above, when the version of the existing firmware is 5.0, the initialization range of the control information is identified as functions 2, 3, 4, 5, and 11. That is, in this case, since there is an initialization range, the initialization necessity determination step S42 determines that initialization is necessary, and the process proceeds to the initialization execution step S50. Note that while the case where the version of the existing firmware is 5.0 has been described here, in the first example shown in FIG. 4, when the version of the existing firmware is any of versions 1.0 to 7.0, a circle is marked in the column for at least one function in each column of the table, and therefore, the necessity of initialization is determined to be necessary (initialization necessity determination step S42: YES).
[0033] Furthermore, if there is no scope for initialization (for example, if the existing firmware is the same version (8.0) as the updated firmware), the control unit 30 determines in initialization necessity determination step S42 that initialization is “not necessary” (initialization necessity determination step S42: NO). In this case, the initialization execution step S50, restart necessity determination step S60, and restart execution step S70 are omitted, and the processing related to the firmware update is terminated. Here, the initialization execution step S50, restart necessity determination step S60, and restart execution step S70 are referred to as a first omission group G1. In other words, if the control unit 30 determines that initialization is “not necessary” in initialization necessity determination step S42, the control unit 30 omits each step of the first omission group G1. According to this embodiment, if initialization of all control information is not necessary, the initialization and restart execution can be omitted, thereby reducing the work time related to the firmware update.
[0034] The initialization execution step S50 is performed when it is determined in the initialization necessity determination step S42 that there is an initialization range. The initialization execution step S50 is a step of initializing the control information in the initialization range identified in the initialization range identification step S41.
[0035] As an example, when the version of the existing firmware is 5.0, the control unit 30 initializes functions 2, 3, 4, 5, and 11 out of all the control information, and omits initialization of functions 1, 6, 7, 8, 9, 10, and 12. Therefore, the time required to complete the initialization execution step S50 is saved compared to when all the control information (functions 1 to 12) is initialized.
[0036] The restart necessity determination step S60 is a step that follows the initialization execution step S50 to determine the necessity of restarting the hard disk device 1. The restart necessity determination step S60 uses the first example identification table T1 shown in FIG.
[0037] In the restart necessity determination step S60, the control unit 30 first acquires the version information of the existing firmware from the existing firmware, and then determines whether or not a restart is necessary based on the version information of the existing firmware and the identification table T1.
[0038] As shown in Fig. 4, the identification table T1 indicates whether or not a restart is necessary for each version of existing firmware. In the identification table T1, if a circle is marked in the restart column of the column for the version of existing firmware, it is determined that a firmware restart is necessary (restart necessity determination step S60: YES). According to the identification table T1 of the first example shown in Fig. 4, if the version of the existing firmware is between version 1.0 and version 5.0, it is determined that a restart of the hard disk device 1 is necessary, and the process proceeds to restart execution step S70.
[0039] Furthermore, in the identification table T1, if a circle is not marked in the restart column of the column for the existing firmware version, it is determined that there is no need to restart the firmware (restart necessity determination step S60: NO). According to the first example identification table T1 shown in FIG. 4, if the existing firmware version is between version 6.0 and version 8.0, it is determined that there is no need to restart, and the restart execution step S70 is omitted, and the processing related to the firmware update is terminated. Here, the restart execution step S70 is referred to as a second omission group G2. That is, if the control unit 30 determines that there is no need to restart in the restart necessity determination step S60, it omits the steps of the second omission group G2. Note that the steps of the second omission group G2 (restart execution step S70) are also included in the first omission group G1.
[0040] The restart execution step S70 is performed when it is determined in the restart necessity determination step S60 that there is an initialization range. The restart execution step S70 is a step for restarting the hard disk device 1. According to this embodiment, if a restart is not required, the restart execution is omitted, thereby further reducing the operation time.
[0041] 2, the firmware update program of this embodiment causes the control unit 30 to automatically execute the above-described series of steps S10, S20, S30, S40, S41, S42, S50, S60, and S70. According to this embodiment, the worker 3 can complete the firmware update of the hard disk drive 1 without performing any additional operations by simply operating the computer 2 to execute the update on the hard disk drive 1. This reduces the burden on the worker 3 and shortens the time required to complete the work, compared to when the worker 3 issues an initialization instruction and a restart instruction separately.
[0042] In the flowchart of this embodiment shown in FIG. 3, if it is determined that initialization is "not necessary" (initialization necessity determination step S42: NO), it is automatically determined that restart is also "not necessary," and restart execution step S70 is omitted. However, regardless of whether initialization is necessary, the necessity of restart may be confirmed using the identification table T1. In this case, if the control unit 30 determines that initialization is "not necessary" in initialization necessity determination step S42, it skips only initialization execution step S50 and executes restart necessity determination step S60.
[0043] 5 shows the identification table T2 of the second example. The identification table T2 of the second example is included in the firmware of version 10.0, and is used when updating the existing firmware with the firmware of version 10.0 as the updated firmware.
[0044] First, a case where the existing firmware version is 5.0 will be described. In the identification table T2 of the second example, "○" is marked in the columns for functions 2, 3, 4, 5, 6, 8, 11, and 12 in the column for version 5.0. Therefore, when the existing firmware version is 5.0, in the initialization execution step S50, the control unit 30 initializes functions 2, 3, 4, 5, 6, 8, 11, and 12 of all the control information, and omits initialization of functions 1, 7, 9, and 10. Furthermore, in the identification table T2 of the second example, "○" is marked in the column for restart in the column for version 5.0. Therefore, when the existing firmware version is 5.0, the hard disk drive 1 is restarted in the restart execution step S70. As described above, when updating the updated firmware version having the identification table T2 of the second example from the existing firmware version 5.0, some of the control information to be initialized can be omitted. Therefore, the time required for updating can be reduced compared to the conventional updating procedure in which all control information is initialized and then the device is restarted after updating the firmware.
[0045] Next, a case where the existing firmware version is 9.0 will be described. In the identification table T2 of the second example, all function columns in the column for version 9.0 are not marked with a circle. Therefore, if the existing firmware version is 9.0, it can be determined that initialization is not necessary, and initialization execution step S50 itself can be omitted. Furthermore, in the identification table T2 of the second example, the restart column in the column for version 9.0 is also not marked with a circle. Therefore, if the existing firmware version is 9.0, restart is also not necessary, and restart execution step S70 can also be omitted. As described above, when updating the existing firmware version from 9.0 to the updated firmware version having the identification table T2 of the second example, initialization and restart can be omitted. Therefore, the time required for the update can be significantly reduced compared to the conventional update procedure in which all control information is initialized after the firmware is updated and then a restart is performed.
[0046] Next, we will explain the case where the existing firmware is version 11.0. As mentioned above, the second example identification table T2 shown in Figure 5 is used when updating the existing firmware with firmware version 10.0 as the updated firmware. Therefore, the case where the existing firmware is version 11.0 is the case where the firmware is downgraded to an older version.
[0047] In the initialization range determination step, the control unit 30 compares the version information of the existing firmware with the version information of the updated firmware and determines that the existing firmware version (11.0) is newer than the updated firmware version (10.0). Furthermore, if the control unit 30 determines that the existing firmware version (11.0) is newer than the updated firmware version (10.0), it sets the initialization range so that all control information is included in the initialization range. In the initialization execution step S50, the control unit 30 initializes all control information (functions 1 to 12). Furthermore, if the control unit 30 determines that the existing firmware version (11.0) is newer than the updated firmware version (10.0), it determines that a restart is necessary in the restart necessity determination step S60, and executes a restart of the hard disk device 1 in the restart execution step S70. In this case, even when downgrading firmware, the update can be performed smoothly and with high reliability.
[0048] Here, we have described a case where, when downgrading the firmware of the hard disk device 1, the version information of the existing firmware and the updated firmware is compared to determine that the existing firmware version (11.0) is newer than the updated firmware version (10.0). However, the control unit 30 does not necessarily have to compare the versions of the existing firmware and the updated firmware. For example, if the version of the existing firmware is not included in the identification table T2, the control unit 30 may determine that the version of the existing firmware (11.0) is newer than the version of the updated firmware (10.0) and set the initialization range so that all control information is included in the initialization range.
[0049] 6 shows a third example of the identification table T3. The third example of the identification table T3 is included in the 10.0 firmware and is used when updating existing firmware with the 10.0 firmware as the updated firmware. Here, we will explain the case where the version of existing firmware, 11.0, is updated (i.e., downgraded) with the 10.0 updated firmware that has the third example of the identification table T3.
[0050] As shown in FIG. 6, the identification table T3 of the third example includes information on the initialization range when the existing firmware is a version newer than the updated firmware. In the identification table T3 of the third example, a circle is marked in the columns for functions 4 and 5 in the version 11.0 column. Therefore, if the existing firmware is version 11.0, in initialization execution step S50, the control unit 30 initializes functions 4 and 5 of all control information and omits initialization of other functions. Furthermore, in the identification table T3 of the third example, a circle is marked in the restart column in the version 11.0 column. Therefore, if the existing firmware is version 11.0, the hard disk drive 1 is restarted in restart execution step S70. As shown in the identification table T3 of the third example shown in FIG. 6, the identification table may also include information on the initialization range when the existing firmware is a version newer than the updated firmware. In this case, the operation time can be reduced even when downgrading firmware.
[0051] The configurations and effects of the hard disk device 1, firmware update program, and firmware update method of this embodiment will be summarized below. As shown in FIG. 1, the hard disk device 1 of this embodiment includes a storage unit 20 and a control unit 30. The storage unit 20 stores firmware and firmware control information. The control unit 30 operates the firmware based on the control information. As shown in FIG. 3, the control unit 30 can execute a receiving step S10, an updating step S30, an initialization range identifying step S41, and an initialization execution step S50. The receiving step S10 is a step of receiving updated firmware from the computer 2. The updating step S30 is a step of updating the existing firmware with the updated firmware. The initialization range identifying step S41 is a step of identifying an initialization range of the control information. The initialization execution step S50 is a step of initializing the control information within the initialization range if an initialization range exists. The updated firmware has identification tables T1, T2, and T3 that indicate the initialization range shown in FIGS. 4 to 6. The initialization range identifying step S41 is a step of identifying the initialization range based on the identification tables T1, T2, and T3.
[0052] The firmware update program of this embodiment is a program for updating firmware stored in the storage unit 20 of the hard disk device 1. As shown in FIG. 3, the firmware update program causes the control unit 30 of the hard disk device to execute a receiving step S10, an updating step S30, an initialization range specifying step S41, and an initialization execution step S50. The receiving step S10 is a step for receiving the updated firmware from the computer 2. The updating step S30 is a step for updating the existing firmware with the updated firmware. The initialization range specifying step S41 is a step for specifying an initialization range of the control information of the firmware stored in the storage unit 20. The initialization execution step S50 is a step for initializing the control information within the initialization range if an initialization range exists. The updated firmware has specifying tables T1, T2, and T3 that indicate the initialization range shown in FIGS. 4 to 6. The initialization range specifying step S41 is a step for specifying the initialization range based on the specifying tables T1, T2, and T3.
[0053] Furthermore, the firmware update method of this embodiment is a method for updating firmware stored in the storage unit 20 of the hard disk device 1. As shown in FIG. 3, the firmware update method includes a receiving step S10, an updating step S30, an initialization range specifying step S41, and an initialization execution step S50. The receiving step S10 is a step for receiving updated firmware from the computer 2. The updating step S30 is a step for updating the existing firmware with the updated firmware. The initialization range specifying step S41 is a step for specifying an initialization range of the control information of the firmware stored in the storage unit 20. The initialization execution step S50 is a step for initializing the control information in the initialization range if there is an initialization range. The updated firmware has specifying tables T1, T2, and T3 that indicate the initialization range shown in FIGS. 4 to 6. The initialization range specifying step S41 is a step for specifying the initialization range based on the specifying tables T1, T2, and T3.
[0054] With these configurations, the control unit 30 can omit some or all of the initialization of the control information based on the identification tables T1, T2, and T3. This reduces the time required to update the firmware compared to initializing all of the control information after updating the firmware. Furthermore, because the identification tables T1, T2, and T3 are provided along with the updated firmware, the control unit 30 does not need to determine the range of initialization through calculation. This allows the control unit 30 to immediately identify the minimum range of initialization. Furthermore, because this range of initialization is information provided by the provider, it is possible to guarantee the reliability of operation after the firmware is updated.
[0055] In the hard disk device 1 of this embodiment, the identification tables T1, T2, and T3 shown in Figures 4 to 6 indicate the initialization range for each version of the existing firmware. The initialization range identification step is a step of identifying the initialization range based on the version information of the existing firmware acquired from the existing firmware and the identification tables T1, T2, and T3.
[0056] In the firmware update program of this embodiment, the identification tables T1, T2, and T3 shown in Figures 4 to 6 indicate the initialization range for each version of the existing firmware. The initialization range identification step is a step of identifying the initialization range based on the version information of the existing firmware acquired from the existing firmware and the identification tables T1, T2, and T3.
[0057] In the firmware update method of this embodiment, the identification tables T1, T2, and T3 shown in Figures 4 to 6 indicate the initialization range for each version of the existing firmware. The initialization range identification step is a step of identifying the initialization range based on the version information of the existing firmware acquired from the existing firmware and the identification tables T1, T2, and T3.
[0058] With this configuration, when the existing firmware is one of multiple versions, the identification tables T1, T2, and T3 provide the optimal initialization range for each of the multiple versions. Therefore, the control unit can acquire the version information of the existing firmware and identify the minimum initialization range for the side material.
[0059] In the hard disk device 1 of this embodiment, the identification tables T1, T2, and T3 shown in Figures 4 to 6 indicate whether or not a restart is necessary for each version of the existing firmware. The control unit 30 is capable of executing a restart necessity determination step S60 and a restart execution step S70. The restart necessity determination step S60 is a step of determining whether or not a restart of the hard disk device 1 is necessary based on the version information of the existing firmware acquired from the existing firmware and the identification tables T1, T2, and T3. The restart execution step S70 is a step of restarting the hard disk device 1 if it is determined that a restart is necessary in the restart necessity determination step S60.
[0060] In the firmware update program of this embodiment, the identification tables T1, T2, and T3 shown in Figures 4 to 6 indicate whether or not a restart is necessary for each version of the existing firmware. The firmware update program causes the control unit 30 to execute a restart necessity determination step S60 and a restart execution step S70. The restart necessity determination step S60 is a step of determining whether or not a restart of the hard disk device 1 is necessary based on the version information of the existing firmware acquired from the existing firmware and the identification tables T1, T2, and T3. The restart execution step S70 is a step of restarting the hard disk device 1 if it is determined in the restart necessity determination step S60 that a restart is necessary.
[0061] In the firmware update method of this embodiment, the identification tables T1, T2, and T3 shown in Figures 4 to 6 indicate whether or not a restart is required for each version of existing firmware. The firmware update method includes a restart-requirement determination step S60 and a restart execution step S70. The restart-requirement determination step S60 is a step of determining whether or not a restart of the hard disk device 1 is required based on the version information of the existing firmware acquired from the existing firmware and the identification tables T1, T2, and T3. The restart execution step S70 is a step of restarting the hard disk device 1 if it is determined in the restart-requirement determination step S60 that a restart is required.
[0062] With these configurations, the control unit 30 does not unnecessarily reboot after a firmware update. Therefore, the time required for the firmware update can be shortened compared to when a reboot is always performed after a firmware update. Furthermore, because the identification tables T1, T2, and T3 are provided together with the updated firmware, the control unit 30 does not need to determine the necessity of a reboot by calculation. Therefore, the control unit 30 can immediately determine the necessity of a reboot. Furthermore, because the information regarding the necessity of a reboot is provided by the provider, the reliability of operation after the firmware update can be guaranteed.
[0063] In the hard disk device 1 of this embodiment, the initialization range specification step S41 shown in FIG. 3 is a step for including all control information in the initialization range when the version of the existing firmware is newer than the version of the updated firmware.
[0064] In the firmware update program of this embodiment, the initialization range specification step S41 shown in FIG. 3 is a step for including all control information in the initialization range when the version of the existing firmware is newer than the version of the update firmware.
[0065] In the firmware update method of this embodiment, an initialization range specification step S41 shown in FIG. 3 is a step of including all control information in the initialization range when the version of the existing firmware is newer than the version of the updated firmware.
[0066] According to these configurations, when the updated firmware is an older version than the existing firmware (i.e., when a downgrade update is performed), the reliability of operation after the update can be improved by initializing all control information. Note that in the initialization range identification step S41, the control unit 30 does not necessarily have to compare the newness of the existing firmware and the oldness of the updated firmware. For example, when the control unit 30 recognizes that the version of the existing firmware is not included in the identification tables T1, T2, and T3, it may determine that the existing firmware is newer than the updated firmware.
[0067] In the hard disk device 1 of this embodiment, as shown in FIG. 6, the identification table T3 also includes information on the initialization range when the existing firmware is a firmware of a newer version than the updated firmware.
[0068] In the firmware update program of this embodiment, as shown in FIG. 6, the identification table T3 also includes information on the initialization range when the existing firmware is a firmware of a newer version than the updated firmware.
[0069] In the firmware update method of this embodiment, as shown in FIG. 6, the identification table T3 also includes information on the initialization range when the existing firmware is a firmware of a newer version than the updated firmware.
[0070] With these configurations, even when the updated firmware is an older version than the existing firmware (i.e., when performing a downgrade update), it is possible to omit some or all of the initialization of the control information based on the identification table T3. Therefore, it is possible to reduce the time required to update the firmware compared to when all control information is initialized after the firmware is updated.
[0071] According to at least one of the embodiments described above, it is possible to omit some or all of the initialization of control information based on the identification tables T1, T2, and T3 included in the updated firmware, thereby reducing the time required to update the firmware.
[0072] The semiconductor device and the method for manufacturing the semiconductor device according to the embodiment include the following additional aspects. (Appendix 1) a storage unit that stores firmware and control information for the firmware; a control unit that operates the firmware based on the control information, The control unit a receiving step of receiving updated firmware from the computer; an updating step of updating the existing firmware to the updated firmware; an initialization range specifying step of specifying an initialization range of the control information; an initialization execution step of executing initialization of the control information in the initialization range when the initialization range exists; the updated firmware has a specification table indicating the initialization range, the initialization range specifying step is a step of specifying the initialization range based on the specification table. Hard disk drive. (Appendix 2) the identification table indicates the initialization range for each version of the existing firmware, the initialization range specifying step is a step of specifying the initialization range based on version information of the existing firmware acquired from the existing firmware and the specification table; 2. A hard disk drive as described in Appendix 1. (Appendix 3) the identification table indicates whether or not a reboot is required for each version of the existing firmware; The control unit a restart necessity determination step of determining whether or not the hard disk device needs to be restarted based on the version information of the existing firmware acquired from the existing firmware and the identification table; a restart execution step of restarting the hard disk device when it is determined in the restart necessity determination step that a restart is necessary. 3. A hard disk drive according to claim 1 or 2. (Appendix 4) the initialization range specifying step is a step of including all of the control information in the initialization range when the version of the existing firmware is newer than the version of the updated firmware. 4. A hard disk drive according to claim 2 or 3. (Appendix 5) The identification table also includes information on the initialization range when the existing firmware is a firmware of a newer version than the updated firmware. 4. The hard disk drive according to claim 2 or 3. (Appendix 6) A program for updating firmware stored in a storage unit of a hard disk device, A control unit of the hard disk device a receiving step of receiving updated firmware from the computer; an updating step of updating the existing firmware to the updated firmware; an initialization range specifying step of specifying an initialization range of the control information of the firmware stored in the storage unit; an initialization execution step of initializing the control information in the initialization range if the initialization range exists; the updated firmware has a specification table indicating the initialization range, the initialization range specifying step is a step of specifying the initialization range based on the specification table. Firmware updates. (Appendix 7) the identification table indicates the initialization range for each version of the existing firmware, the initialization range specifying step is a step of specifying the initialization range based on version information of the existing firmware acquired from the existing firmware and the specification table; Firmware updates as described in Appendix 6. (Appendix 8) the identification table indicates whether or not a reboot is required for each version of the existing firmware; The control unit a restart necessity determination step of determining whether or not the hard disk device needs to be restarted based on the version information of the existing firmware acquired from the existing firmware and the identification table; a restart execution step of restarting the hard disk device when it is determined in the restart necessity determination step that a restart is necessary; Firmware update programs as described in Appendix 6 or 7. (Appendix 9) the initialization range specifying step is a step of including all of the control information in the initialization range when the version of the existing firmware is newer than the version of the updated firmware. Firmware update programs as described in Appendix 7 or 8. (Appendix 10) The identification table also includes information on the initialization range when the existing firmware is a firmware of a newer version than the updated firmware. Firmware update programs as described in Appendix 7 or 8. (Appendix 11) A method for updating firmware stored in a storage unit of a hard disk device, comprising: a receiving step of receiving updated firmware from the computer; an updating step of updating the existing firmware to the updated firmware; an initialization range specifying step of specifying an initialization range of the control information of the firmware stored in the storage unit; an initialization execution step of executing initialization of the control information in the initialization range when the initialization range exists, the updated firmware has a specification table indicating the initialization range, the initialization range specifying step is a step of specifying the initialization range based on the specification table. How to update firmware. (Appendix 12) the identification table indicates the initialization range for each version of the existing firmware, the initialization range specifying step is a step of specifying the initialization range based on version information of the existing firmware acquired from the existing firmware and the specification table; Firmware update method described in Appendix 11. (Appendix 13) the identification table indicates whether or not a reboot is required for each version of the existing firmware; a restart necessity determination step of determining whether or not the hard disk device needs to be restarted based on the version information of the existing firmware acquired from the existing firmware and the identification table; a restart execution step of restarting the hard disk device when it is determined in the restart necessity determination step that a restart is necessary. A firmware update method as described in Appendix 11 or 12. (Appendix 14) the initialization range specifying step is a step of including all of the control information in the initialization range when the version of the existing firmware is newer than the version of the updated firmware. Firmware update method according to appendix 12 or 13. (Appendix 15) The identification table also includes information on the initialization range when the existing firmware is a firmware of a newer version than the updated firmware. Firmware update method according to appendix 12 or 13.
[0073] Although several embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These embodiments can be implemented in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included within the scope and spirit of the invention, as well as within the scope of the invention described in the claims and their equivalents. [Explanation of symbols]
[0074] 1...hard disk drive, 2...computer, 20...storage unit, 30...control unit, S10...receiving step, S30...updating step, S41...initialization range specifying step, S50...initialization execution step, S60...restart necessity determining step, S70...restart execution step, T1, T2, T3...identification tables
Claims
1. a storage unit that stores firmware and control information for the firmware; a control unit that operates the firmware based on the control information, The control unit a receiving step of receiving updated firmware from the computer; an updating step of updating the existing firmware to the updated firmware; an initialization range specifying step of specifying an initialization range of the control information; an initialization execution step of executing initialization of the control information in the initialization range when the initialization range exists; the updated firmware has a specification table indicating the initialization range, the initialization range specifying step is a step of specifying the initialization range based on the specification table. Hard disk drive.
2. the identification table indicates the initialization range for each version of the existing firmware, the initialization range specifying step is a step of specifying the initialization range based on version information of the existing firmware acquired from the existing firmware and the specification table; 2. The hard disk drive according to claim 1.
3. the identification table indicates whether or not a reboot is required for each version of the existing firmware; The control unit a restart necessity determination step of determining whether or not the hard disk device needs to be restarted based on the version information of the existing firmware acquired from the existing firmware and the identification table; a restart execution step of restarting the hard disk device when it is determined in the restart necessity determination step that a restart is necessary.
3. The hard disk drive according to claim 2.
4. the initialization range specifying step is a step of including all of the control information in the initialization range when the version of the existing firmware is newer than the version of the updated firmware.
4. The hard disk drive according to claim 2 or 3.
5. The identification table also includes information on the initialization range when the existing firmware is a firmware of a newer version than the updated firmware.
4. The hard disk drive according to claim 2 or 3.
6. A program for updating firmware stored in a storage unit of a hard disk device, A control unit of the hard disk device a receiving step of receiving updated firmware from the computer; an updating step of updating the existing firmware to the updated firmware; an initialization range specifying step of specifying an initialization range of the control information of the firmware stored in the storage unit; an initialization execution step of initializing the control information in the initialization range if the initialization range exists; the updated firmware has a specification table indicating the initialization range, the initialization range specifying step is a step of specifying the initialization range based on the specification table. Firmware updates.
7. the identification table indicates the initialization range for each version of the existing firmware, the initialization range specifying step is a step of specifying the initialization range based on version information of the existing firmware acquired from the existing firmware and the specification table; The firmware update program of claim 6.
8. the identification table indicates whether or not a reboot is required for each version of the existing firmware; The control unit a restart necessity determination step of determining whether or not the hard disk device needs to be restarted based on the version information of the existing firmware acquired from the existing firmware and the identification table; a restart execution step of restarting the hard disk device when it is determined in the restart necessity determination step that a restart is necessary; The firmware update program of claim 7.
9. the initialization range specifying step is a step of including all of the control information in the initialization range when the version of the existing firmware is newer than the version of the updated firmware.
9. The firmware update program according to claim 7 or 8.
10. The identification table also includes information on the initialization range when the existing firmware is a firmware of a newer version than the updated firmware.
9. The firmware update program according to claim 7 or 8.
11. A method for updating firmware stored in a storage unit of a hard disk device, comprising: a receiving step of receiving updated firmware from the computer; an updating step of updating the existing firmware to the updated firmware; an initialization range specifying step of specifying an initialization range of the control information of the firmware stored in the storage unit; an initialization execution step of executing initialization of the control information in the initialization range when the initialization range exists, the updated firmware has a specification table indicating the initialization range, the initialization range specifying step is a step of specifying the initialization range based on the specification table. How to update firmware.
12. the identification table indicates the initialization range for each version of the existing firmware, the initialization range specifying step is a step of specifying the initialization range based on version information of the existing firmware acquired from the existing firmware and the specification table; The firmware updating method according to claim 11.
13. the identification table indicates whether or not a reboot is required for each version of the existing firmware; a restart necessity determination step of determining whether or not the hard disk device needs to be restarted based on the version information of the existing firmware acquired from the existing firmware and the identification table; a restart execution step of restarting the hard disk device when it is determined in the restart necessity determination step that a restart is necessary. The firmware updating method according to claim 12.
14. the initialization range specifying step is a step of including all of the control information in the initialization range when the version of the existing firmware is newer than the version of the updated firmware. The firmware updating method according to claim 12 or 13.
15. The identification table also includes information on the initialization range when the existing firmware is a firmware of a newer version than the updated firmware. The firmware updating method according to claim 12 or 13.
Citation Information
Patent Citations
Method for updating firmware, electronic device, computer and computer program
JP2015102889A