Information processing device, information processing method, and program
The information processing device efficiently updates firmware by storing generation versions and backing up firmware, ensuring seamless functionality after part replacements without network downloads or media preparation.
Patent Information
- Application Number
- JP2022043570
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-03-18
- Publication Date
- 2026-01-27
- Estimated Expiration
- 2042-03-18
AI Technical Summary
Conventional firmware update methods are inefficient, particularly when parts are replaced, requiring re-obtaining and updating firmware to maintain functionality, which can be time-consuming and cumbersome.
The information processing device stores generation versions of enabled functions, backs up firmware, and updates components with firmware from a storage unit when necessary, ensuring compatibility and efficiency in firmware updates.
Enables efficient firmware updates without the need for re-obtaining firmware over a network or preparing media, allowing continued functionality after part replacements.
Smart Images

Figure 0007806566000001 
Figure 0007806566000002 
Figure 0007806566000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to an information processing device, an information processing method, and a program. [Background technology]
[0002] Each component (unit) of an information processing apparatus such as an image forming apparatus is controlled using corresponding firmware. When the latest version of firmware is required, an update process to the latest version of firmware obtained from, for example, an external device or a recording medium is performed.
[0003] For example, Patent Document 1 proposes a technology for updating only the differences when the generation versions of installed firmware and firmware to be updated match, in order to shorten the time required for firmware updates. Summary of the Invention [Problem to be solved by the invention]
[0004] However, with conventional techniques, firmware updates may not be performed efficiently.
[0005] The present invention has been made in view of the above, and has an object to provide an information processing device, an information processing method, and a program that can more efficiently update firmware. [Means for solving the problem]
[0006] In order to solve the above-mentioned problems and achieve the object, the present invention provides a method for manufacturing a semiconductor device, comprising: Each of them is stored in a first storage unit. a determination unit that determines whether the firmware satisfies the version required for the enabled function; and a firmware of the component that is determined to satisfy the version required for the function. No. 2 In the memory section As a backupand a storage control unit that stores the No. 2 Regarding a replaced part representing a part that has been replaced after the firmware has been stored in a storage unit, The first storage unit determining whether the firmware satisfies a version required for the function, and updating the firmware of the replaced part that is determined not to satisfy the version required for the function; No. 2 The device further includes an update unit that updates the firmware stored in the storage unit with firmware for the part that corresponds to the replaced part. [Effects of the Invention]
[0007] The present invention provides an advantage that firmware updates can be executed more efficiently. [Brief explanation of the drawings]
[0008] [Figure 1] FIG. 1 is a diagram showing an example of the overall configuration of an information processing system including an information processing apparatus according to an embodiment. [Figure 2] FIG. 2 is a diagram showing an example of the hardware configuration of the MFP according to this embodiment. [Figure 3] FIG. 3 is a diagram showing an example of the configuration of functional blocks in the MFP according to this embodiment. [Figure 4] FIG. 4 is a flowchart showing an example of the firmware update process. [Figure 5] FIG. 5 is a flowchart showing an example of the firmware update process. DETAILED DESCRIPTION OF THE INVENTION
[0009] Hereinafter, embodiments of an information processing device, an information processing method, and a program will be described in detail with reference to the accompanying drawings. The present invention is not limited to the following embodiments, and the components in the following embodiments include those that can be easily conceived by a person skilled in the art, those that are substantially the same, and those that are within the scope of what is called equivalents. Furthermore, various omissions, substitutions, modifications, and combinations of the components can be made without departing from the spirit of the following embodiments.
[0010] Computer software refers to programs for computer operation and other information used for computer processing that is equivalent to a program (hereinafter, computer software is referred to as software). An application is a general term for software used to perform specific tasks. Firmware is software for controlling hardware built into electronic devices. An operating system (OS) is software that controls a computer and enables application software and other software to use computer resources. The operating system performs basic computer management and control, such as input / output control, management of hardware such as memory and hard disks, and process management. Applications operate using the functions provided by the operating system. A program is a set of instructions for a computer, combined to achieve a single result. Equivalents to a program are those that are not directly directed to a computer and therefore cannot be called a program, but have properties similar to a program in that they define computer processing. For example, a data structure (the logical structure of data expressed as the interrelationships between data elements) is equivalent to a program.
[0011] In the following, an image forming apparatus such as an MFP (Multi-function Peripheral / Product / Printer) will be described as an example of an information processing apparatus, but the present invention is not limited to this. For example, the information processing apparatus according to the present invention may be an information processing apparatus such as a PC (Personal Computer), a smartphone, or a mobile phone, a consumer electronic device, a shared terminal installed in an office or work site, industrial machinery, embedded machinery, or medical equipment. Note that an MFP is a device that has multiple different functions such as a copy function, a scanner function, a printer function, and a fax function.
[0012] As described above, conventional technologies have sometimes been unable to efficiently update firmware. For example, when a part is replaced, if the firmware of the replaced part (hereinafter referred to as the "replaced part") corresponds to a version older than the version of the function that was enabled before the replacement, the function that was enabled before the part was replaced cannot be continued to be used.
[0013] In this case, in order to update the firmware to one corresponding to the generation version of the enabled function, it becomes necessary to re-obtain and update the firmware that existed in the information processing device before the replacement (the firmware corresponding to the generation version of the enabled function). For example, after a part is replaced, it becomes necessary to determine whether a firmware update is necessary in order to continue using the function before the part replacement. Furthermore, for example, when updating firmware via the network 100, it takes time to receive the firmware. Furthermore, for example, when using a recording medium storing firmware, it becomes necessary to prepare the recording medium in advance.
[0014] The generation version is information that is assigned as information indicating the generation of a function to be enabled, separate from a unique version assigned to each individual firmware, for example.
[0015] The information processing apparatus of this embodiment has, for example, the following functions in order to more efficiently update the firmware. Each component has information on the generation version of the function that the written firmware corresponds to. The information processing device stores the generation version of the currently enabled function in a storage device (such as a non-volatile storage device). When the information processing device is started or when the firmware is updated, the information processing device backs up the firmware to the storage device as necessary. At startup, the information processing device performs a firmware update (firmware update) on components having firmware that does not correspond to the generation version of the enabled function using firmware backed up in the storage device.
[0016] 1 is a diagram showing an example of the overall configuration of an information processing system including an information processing apparatus according to an embodiment, The overall configuration of the information processing system according to this embodiment will be described with reference to FIG.
[0017] 1, the information processing system 1 includes an MFP 9, a smartphone 4, and a PC 5. The MFP 9, the smartphone 4, and the PC 5 are capable of data communication via a network 100.
[0018] The network 100 may be, for example, the Internet or a LAN (Local Area Network), but may also be any other type of network. The network 100 may be a wireless network, a wired network, or a network in which both wireless and wired networks coexist.
[0019] The smartphone 4 and the PC 5 are used, for example, to execute a process of adding and enabling a function to the MFP 9. If such a process is not permitted for the smartphone 4 and the PC 5, the information processing system 1 does not need to include at least one of the smartphone 4 and the PC 5. In other words, the MFP 9 may not be connected to the network 100. Furthermore, the information processing system 1 may include two or more MFPs 9, two or more smartphones 4, and two or more PCs 5, or may further include devices other than the MFP 9, the smartphone 4, and the PC 5.
[0020] 2 is a diagram showing an example of the hardware configuration of the MFP 9 according to this embodiment. As shown in FIG. 2, the MFP 9 includes a controller 910, a short-range communication circuit 920, an engine control unit 930, an operation panel 940, and a network I / F 950.
[0021] Of these, the controller 910 has a CPU 901, which is the main part of the computer, a system memory (MEM-P) 902, a north bridge (NB) 903, a south bridge (SB) 904, an ASIC (Application Specific Integrated Circuit) 906, a local memory (MEM-C) 907, which is a storage unit, an HDD controller 908, and an HD 909, which is also a storage unit, and is configured such that the NB 903 and the ASIC 906 are connected by an AGP (Accelerated Graphics Port) bus 921.
[0022] Of these, the CPU 901 is a control unit that performs overall control of the MFP 9. The NB 903 is a bridge that connects the CPU 901 with the MEM-P 902, the SB 904, and the AGP bus 921, and includes a memory controller that controls reading and writing to the MEM-P 902, a PCI (Peripheral Component Interconnect) master, and an AGP target.
[0023] The MEM-P 902 comprises a ROM 902a, which is memory for storing programs and data that realize the functions of the controller 910, and a RAM 902b, which is used for expanding the programs and data and as a drawing memory during memory printing. The programs stored in the RAM 902b may be provided by being recorded in an installable or executable format on a computer-readable recording medium such as a CD-ROM, CD-R, or DVD.
[0024] The SB 904 is a bridge for connecting the NB 903 with PCI devices and peripheral devices. The ASIC 906 is an integrated circuit (IC) for image processing applications that has hardware elements for image processing and serves as a bridge connecting the AGP bus 921, PCI bus 922, HDD controller 908, and MEM-C 907. The ASIC 906 includes a PCI target and AGP master, an arbiter (ARB) that forms the core of the ASIC 906, a memory controller that controls the MEM-C 907, multiple direct memory access controllers (DMACs) that perform image data rotation using hardware logic, and a PCI unit that transfers data between the scanner unit 931 and printer unit 932 via the PCI bus 922. A USB (Universal Serial Bus) interface or an IEEE 1394 (Institute of Electrical and Electronics Engineers) interface may also be connected to the ASIC 906.
[0025] The MEM-C907 is a local memory used as an image buffer for copying and a code buffer. The HD909 is a storage device for storing image data, font data used during printing, and forms. The HD909 controls the reading and writing of data from and to the HD909 under the control of the CPU901. The AGP bus 921 is a bus interface for a graphics accelerator card proposed to speed up graphics processing, and direct high-throughput access to the MEM-P902 enables the graphics accelerator card to operate at high speed.
[0026] Further, the short-range communication circuit 920 is provided with an antenna 920a for wireless communication. The short-range communication circuit 920 is a communication circuit such as NFC or Bluetooth (registered trademark).
[0027] Furthermore, the engine control unit 930 is made up of a scanner unit 931 and a printer unit 932. The operation panel 940 is equipped with a panel display unit 940a, such as a touch panel, that displays current setting values, selection screens, etc. and accepts inputs from the operator, and an operation panel 940b that includes a numeric keypad that accepts setting values for image formation conditions such as density setting conditions and a start key that accepts a copy start command. The controller 910 controls the entire MFP 9, and controls, for example, drawing, communication, input from the operation panel 940, etc. The scanner unit 931 or the printer unit 932 includes an image processing unit such as error diffusion and gamma conversion.
[0028] The MFP 9 can sequentially switch among the document box function, copy function, printer function, and facsimile function using the application switching key on the operation panel 940. When the document box function is selected, the MFP 9 enters document box mode, when the copy function is selected, the MFP 9 enters copy mode, when the printer function is selected, the MFP 9 enters printer mode, and when the facsimile mode is selected, the MFP 9 enters facsimile mode.
[0029] The network I / F 950 is an interface for performing data communication using the network 100. The short-range communication circuit 920 and the network I / F 950 are electrically connected to the ASIC 906 via a PCI bus 922.
[0030] The hardware configuration of the MFP 9 shown in FIG. 2 is an example, and it is not necessary to include all of the components shown in FIG. 2, or other components may be included.
[0031] The firmware is stored in, for example, the ROM 902a. To enable updating of the firmware, the ROM 902a is configured with, for example, a nonvolatile memory such as a rewritable flash ROM. Backup data of the firmware is stored in, for example, a large-capacity nonvolatile storage device such as the HD 909.
[0032] Fig. 3 is a diagram showing an example of the functional block configuration of the MFP 9 according to this embodiment. Fig. 3 shows an example of the functional blocks of the controller 910, operation panel 940, and engine unit 930-U provided in the MFP 9. Note that Fig. 3 mainly shows only the components related to firmware updates.
[0033] The engine unit 930-U corresponds to, for example, a replaceable part including the engine control unit 930. The controller 910, the operation panel 940, and the engine unit 930-U are examples of replaceable parts. Components other than these may also be replaceable parts.
[0034] The operation panel 940 includes an operation panel control unit 941 and a storage unit 945. The operation panel control unit 941 controls the operation panel 940. The storage unit 945 is, for example, a non-volatile storage device that stores firmware for the operation panel 940.
[0035] The engine unit 930-U includes an engine control unit 930 and a storage unit 935. The engine control unit 930 controls the engine unit 930-U. The storage unit 935 is, for example, a non-volatile storage device that stores firmware for the engine unit 930-U.
[0036] The controller 910 includes a determination unit 301 , a memory control unit 302 , an update unit 303 , and a memory unit 310 .
[0037] The storage unit 310 stores various data related to the controller 910. For example, the storage unit 310 corresponds to the MEM-P 902 (ROM 902a, RAM 902b), MEM-C 907, and HD 909 in Fig. 2. In the following description, the storage unit 310 will be described as corresponding to the HD 909 for backing up firmware and the ROM 902a for storing information (version information) indicating versions required for enabled functions.
[0038] The determination unit 301 determines the version of firmware. For example, for each of one or more components to be determined, the determination unit 301 determines whether the firmware of the component satisfies the version required for the enabled function.
[0039] The determination is made, for example, when the MFP 9 is started (when the power is turned on) and when the functions to be enabled are changed (added, etc.). For example, when the MFP 9 is started, the determination unit 301 determines whether the firmware of the component satisfies the version required for the currently enabled function. Furthermore, when the function to be enabled is changed, the determination unit 301 determines whether the firmware of the component satisfies the version required for the changed function (changed function).
[0040] The storage control unit 302 controls the storage of various information related to firmware management. For example, the storage control unit 302 stores, for example, in the HD 909, firmware of a component that is determined by the determination unit 301 to satisfy the version required for an enabled function. This allows the firmware of the component to be backed up to the HD 909 when the MFP 9 is started up or when the enabled function is changed.
[0041] Information (version information) indicating the version required for the enabled function is stored in, for example, the ROM 902a. When the function to be enabled is changed, the storage control unit 302 updates the version information stored in the ROM 902a so that the version information indicates the version required for the changed function.
[0042] The determination unit 301 further determines the version of firmware for a part that is replaced after the firmware is backed up to the HD 909. For example, for a replaced part that is replaced after the firmware is stored in the HD 909, the determination unit 301 determines whether the firmware of the replaced part satisfies the version required for the currently enabled function.
[0043] The update unit 303 updates the firmware. For example, the update unit 303 updates the firmware of a replaced part that is determined not to satisfy the version required for the function with firmware of a part corresponding to the replaced part, among the firmware stored in the HD 909. Furthermore, when the function to be enabled is changed, the update unit 303 updates the firmware of a part that is determined not to satisfy the version required for the changed function with firmware of that part, among the firmware stored in the HD 909.
[0044] Next, a description will be given of the overall flow of firmware update processing by the MFP 9. Fig. 4 is a flowchart showing an example of the firmware update processing. Note that Fig. 4 shows an example of firmware update processing that is executed when the MFP 9 is powered on (at startup).
[0045] The firmware update process mainly involves the following steps: If the firmware of each component meets the generation version required to use the enabled functions, the firmware will be backed up to the HD909. If the firmware of each component does not meet the generation version required to use the enabled function, an update process will be performed using the firmware backed up to the HD909.
[0046] First, the storage control unit 302 acquires, from the ROM 902a, version information indicating the generation version VA required for the currently enabled function (step S101).
[0047] The controller 910 acquires version information indicating the firmware version VU of the unprocessed component (step S102). For example, if the operation panel 940 and the engine unit 930-U can correspond to the unprocessed component, the controller 910 acquires version information for either of these components. The version information can be acquired, for example, from the storage unit 945 of the operation panel 940 and the storage unit 935 of the engine unit 930-U.
[0048] The determination unit 301 determines whether the version VU indicated by the version information acquired from the component satisfies the generation version VA indicated by the version information acquired from the ROM 902a (step S103). Satisfying the version means, for example, that the firmware version VU of the component is the firmware version required to enable the function corresponding to the generation version VA. The determination unit 301 can execute the determination process of this step by, for example, referring to information that associates each generation version with the firmware version of each component required for that generation version.
[0049] If version VU does not satisfy generation version VA (step S103: No), update unit 303 performs firmware update processing on the storage unit of the component (step S104). For example, update unit 303 acquires firmware corresponding to the component from among the firmware backed up on HD 909, and updates the firmware stored in the storage unit of the component with the acquired firmware. Note that, for example, if firmware for the component is not backed up on HD 909, update unit 303 may acquire firmware corresponding to generation version VA via network 100, for example, and update the firmware in the storage unit of the component with the acquired firmware.
[0050] After the firmware update process, and if the version VU satisfies the generation version VA (step S103: Yes), the controller 910 determines whether all parts have been processed (step S105).
[0051] If not all components have been processed (step S105: No), the controller 910 returns to step S102 and repeats the process for the next unprocessed component. If all components have been processed (step S105: Yes), the storage control unit 302 backs up the firmware for each component to the HD 909 (step S106) and ends the firmware update process.
[0052] Next, a firmware update process executed when an additional function is enabled will be described. Fig. 5 is a flowchart showing an example of the firmware update process in this case. Note that Fig. 5 is executed when an additional function is enabled via, for example, the operation panel 940, the smartphone 4, or the PC 5.
[0053] First, the storage control unit 302 acquires, from the ROM 902a, version information indicating the generation version VA required for the currently enabled function (step S201).
[0054] The storage control unit 302 further acquires the generation version VF required to enable the function to be added (step S202). The generation version required to enable the function is stored in, for example, the ROM 902a, and the storage control unit 302 acquires the generation version VF from the ROM 902a.
[0055] The determination unit 301 determines whether the generation version VA satisfies the generation version VF (step S203). If the generation version VA does not satisfy the generation version VF (step S203: No), the controller 910 acquires version information indicating the firmware version VU of the unprocessed component (step S204).
[0056] The determining unit 301 determines whether the version VU indicated by the version information acquired from the component satisfies the generation version VF (step S205).
[0057] If version VU does not satisfy generation version VF (step S205: No), update unit 303 performs firmware update processing on the storage unit of the component (step S206). For example, update unit 303 acquires firmware corresponding to the component from the firmware backed up on HD 909, and updates the firmware stored in the storage unit of the component with the acquired firmware. Note that, for example, if firmware for the component is not backed up on HD 909, update unit 303 may acquire firmware corresponding to generation version VF via network 100, for example, and update the firmware in the storage unit of the component with the acquired firmware.
[0058] After the firmware update process, and if the version VU satisfies the generation version VF (step S205: Yes), the controller 910 determines whether all parts have been processed (step S207).
[0059] If all components have not been processed (step S207: No), the controller 910 returns to step S204 and repeats the process for the next unprocessed component. If all components have been processed (step S207: Yes), the storage control unit 302 backs up the firmware of each component to the HD 909 (step S208). The storage control unit 302 also updates the version information of the generation version stored in the ROM 902a to the generation version VF required to enable the function to be added (step S209).
[0060] After the version is updated, and if the generation version VA satisfies the generation version VF (step S203: Yes), the controller 910 enables the added function (step S210) and ends the firmware update process.
[0061] For example, in response to an instruction from an operator, the update unit 303 obtains the latest firmware via the network 100 or the like, and, in the case where the firmware of one or more components has been updated, similarly to the above, backs up the updated firmware to the HD 909. As a result, even if a component is subsequently replaced, for example, the firmware of the replaced component is updated to a firmware version that satisfies the generation version using the backed-up firmware, as necessary, at startup (FIG. 4) or when an additional function is enabled (FIG. 5).
[0062] As described above, in this embodiment, even if the firmware version of a component no longer satisfies the generation version due to component replacement or the like, it is possible to update the firmware to a version that satisfies the generation version using firmware backed up in the memory unit.
[0063] This provides the following effects, for example. -The functions before the part replacement can continue to be used. When replacing parts, there is no need to determine whether a firmware update is required to continue using the function. When replacing parts, firmware can be updated without downloading it from the network. When replacing parts, firmware can be updated without preparing media containing the firmware.
[0064] The program executed by the information processing device of this embodiment is provided by being pre-installed in the ROM 902a etc. The program executed by the information processing device of this embodiment may be provided by being recorded in an installable or executable file format on a computer-readable recording medium such as a CD-ROM, a flexible disk (FD), a CD-R, or a digital versatile disk (DVD).
[0065] Furthermore, the program executed by the information processing device of this embodiment may be stored on a computer connected to a network such as the Internet and provided by being downloaded via the network. Also, the program executed by the information processing device of this embodiment may be provided or distributed via a network such as the Internet.
[0066] The program executed by the information processing device of this embodiment has a modular structure including the above-mentioned parts, and in terms of actual hardware, the CPU 901 (an example of a processor) reads the program from the ROM 902a and executes it, thereby loading the above-mentioned parts onto the main memory device and generating the above-mentioned parts on the main memory device.
[0067] Each function of the above-described embodiments can be realized by one or more processing circuits. Here, the term "processing circuit" in this specification includes a processor programmed to perform each function by software, such as a processor implemented by an electronic circuit, as well as devices such as an ASIC (Application Specific Integrated Circuit), a DSP (Digital Signal Processor), an FPGA (Field Programmable Gate Array), and conventional circuit modules designed to perform each of the above-described functions. [Explanation of symbols]
[0068] 1. Information Processing Systems 4. Smartphones 5 PC 9 MFP 100 Network 301 Judgment section 302 Memory control unit 303 Update Department 310 Storage section 930-U engine unit 930 Engine control unit 935 Storage section 940 Operation Panel 941 Operation panel control unit 945 Storage section [Prior art documents] [Patent documents]
[0069] [Patent Document 1] Japanese Patent Application Publication No. 2019-204152
Claims
1. a determination unit that determines, for each of one or more components, whether firmware stored in a first storage unit included in each of the components satisfies a version required for an enabled function; a storage control unit that stores the firmware of the component that is determined to satisfy the version required for the function in a second storage unit as a backup; The determination unit further determines, for a replaced part that represents a part that has been replaced after the firmware was stored in the second storage unit, whether or not the firmware stored in the first storage unit included in the replaced part satisfies a version required for the function; an update unit that updates the firmware of the replaced part determined not to satisfy the version required for the function with firmware of the part corresponding to the replaced part among the firmware stored in the second storage unit; Information processing device.
2. the determination unit determines, when the information processing device is started, whether the firmware of the component satisfies a version required for an enabled function. The information processing device according to claim 1 .
3. The determination unit further determines, when a function to be enabled is changed, whether or not a version required for the changed function representing the changed function is satisfied; the update unit further updates the firmware of the component determined to not satisfy the version required for the changed function with the firmware of the component stored in the second storage unit. The information processing device according to claim 1 .
4. the second storage unit stores version information indicating a version required for an enabled function; The storage control unit further updates the version information stored in the second storage unit when a function to be enabled is changed so as to indicate a version required for the changed function. The information processing device according to claim 1 .
5. An information processing method executed by an information processing device, a first determination step of determining, for each of one or more components, whether firmware stored in a first storage unit included in each of the components satisfies a version required for an enabled function; a storage control step of storing, as a backup, the firmware of the component determined to satisfy the version required for the function in a second storage unit; a second determination step of determining whether or not the firmware stored in the first storage unit included in a replaced part that represents a part that has been replaced after the firmware was stored in the second storage unit satisfies a version required for the function; an updating step of updating the firmware of the replaced part determined not to satisfy the version required for the function with firmware of the part corresponding to the replaced part among firmware stored in the second storage unit; An information processing method including:
6. On the computer, a first determination step of determining, for each of one or more components, whether firmware stored in a first storage unit included in each of the components satisfies a version required for an enabled function; a storage control step of storing, as a backup, the firmware of the component determined to satisfy the version required for the function in a second storage unit; a second determination step of determining whether or not the firmware stored in the first storage unit included in a replaced part that represents a part that has been replaced after the firmware was stored in the second storage unit satisfies a version required for the function; an updating step of updating the firmware of the replaced part determined not to satisfy the version required for the function with firmware of the part corresponding to the replaced part among firmware stored in the second storage unit; A program to execute.
Citation Information
Patent Citations
Software management system and software management method
JP2006178881A
Version management method of firmware for computer system and information processor
JP2006260330A
Electronic control unit system, and software consistency check system in electronic control unit system
JP2019159399A
Information processing apparatus, update method of information processing apparatus, and program
JP2019204152A