Information processing device, method, program, and control device
The information processing device with multiple storage areas for firmware versions addresses the inefficiencies of conventional backup and restoration methods, ensuring consistent firmware versions and reducing restoration time.
Patent Information
- Application Number
- JP2023110765
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-07-05
- Publication Date
- 2025-01-20
AI Technical Summary
Conventional firmware update methods for information processing devices require time-consuming backup and restoration processes, especially when switching between versions, and can lead to version inconsistencies and quality deterioration due to mismatched firmware versions across devices.
An information processing device with multiple storage areas for holding different firmware versions, allowing devices to switch storage areas at startup to quickly restore to the desired version without backup, thereby preventing version inconsistencies and reducing restoration time.
The solution effectively prevents version inconsistencies and reduces restoration time, maintaining device quality by allowing seamless switching between firmware versions within the device.
Smart Images

Figure 2025008526000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to an information processing device, method, program, and control device. [Background technology]
[0002] Conventionally, in information processing devices such as multifunction devices and printers, firmware is updated to fix defects or add functions after the product is released to the market. If a defect is mixed into the latest firmware, it may have an unintended effect on other functions, resulting in a deterioration in the quality of the software compared to before the update, which is called degradation. In order to avoid such degradation due to firmware updates, if it is desired to revert to the old version (previous version), it is necessary to perform the firmware update again. In such cases, before rewriting the program to the new version, the old version of the program is backed up to a hard disk drive or the like, and when a problem occurs due to the firmware and it is necessary to restore it, it is necessary to rewrite it to the old version.
[0003] On the other hand, there is also technology that makes it easy to restore to an older version by having storage devices such as flash ROMs have two memory areas for storing programs and switching which side is read during startup.
[0004] However, in the conventional technology for backing up the old version of the program, it is necessary to back up the program in advance, and when restoring, it is necessary to rewrite the program to the old version, so there is a problem that the restoration takes time. This becomes more noticeable especially when the number of devices increases. In addition, the technology for dual-siding the storage area is insufficient in that there are devices that cannot be dual-sided due to capacity and cost reasons, and when such devices cannot be dual-sided, the device cannot be restored. In particular, when devices that can be dual-sided and devices that cannot be dual-sided are mixed, there is a possibility that the quality of the entire apparatus will deteriorate due to inconsistency in the versions between the devices.
[0005] In relation to the restoration of the firmware to the old version, the technology of JP 2005-074644 (Patent Document 1) is known. Patent Document 1 discloses a configuration that accepts restoration from a new version to an old version of a program, either individually or collectively, for the purpose of enabling arbitrary and selective restoration to the old version of program information and shortening the time required for restoring program information. The conventional technology described in Patent Document 1 is capable of restoring a program from a new version to an old version. However, the conventional technology of Patent Document 1 requires a backup of the program in advance, and also requires the program to be rewritten to the old version when restoring, so it does not solve the problem of the time required for restoration. Summary of the Invention [Problem to be solved by the invention]
[0006] The present disclosure has been made in consideration of the above points, and aims to provide an information processing device that, in a configuration in which a device having multiple memory areas for storing multiple versions of a program and a device having a memory area for storing a version of a program are mixed, is capable of reducing the time required for restoration while preventing inconsistencies in versions between devices and thereby preventing a deterioration in the quality of the entire device. [Means for solving the problem]
[0007] In view of the above problem, the present disclosure provides an information processing device having a first device and a second device, which has the following characteristics. The information processing device includes a control unit that controls updating or restoring at least one of a first program of the first device and a second program of the second device, and a storage unit that stores a first version of the second program of the second device. Here, the first device has a plurality of storage areas that respectively hold the first and second versions of the first program. The second device has a storage area that holds a second version different from the first version of the second program. When restoring the first program of the first device, the control unit sets the first device to switch a storage area to be used at startup among the plurality of storage areas, and when restoring the second program of the second device, the control unit rewrites the first version of the second program stored in the storage unit to the storage area of the second device. Effect of the Invention
[0008] With the above configuration, in a configuration in which a device having multiple memory areas storing multiple versions of a program and a device having a memory area storing versions of a program are mixed, it is possible to prevent inconsistencies in versions between devices, and ultimately to reduce the time required for restoration while preventing a deterioration in the quality of the entire apparatus. [Brief description of the drawings]
[0009] [Figure 1] FIG. 1 is a hardware configuration diagram of a multifunction peripheral as an example of an information processing apparatus that is a target of firmware update and restoration according to the present embodiment. [Diagram 2] FIG. 2 shows main hardware and functional blocks related to firmware update processing and restoration processing, and the associated startup processing, in a multifunction peripheral as an example of an information processing device according to this embodiment. [Diagram 3] FIG. 3 is a diagram illustrating a firmware update process in a multifunction peripheral as an example of an information processing apparatus according to this embodiment. [Figure 4]FIG. 4 is a diagram illustrating a firmware restoration process in a multifunction peripheral as an example of an information processing apparatus according to this embodiment. [Diagram 5] FIG. 5 is a flowchart showing a firmware update process executed by the multifunction peripheral as an example of an information processing apparatus according to the present embodiment. [Figure 6] FIG. 6 is a flowchart showing a firmware restoration process executed by the multifunction peripheral as an example of an information processing apparatus according to this embodiment. [Figure 7] FIG. 7 shows the data structure of a device information list for determining the number of storage areas of a target device according to this embodiment. [Figure 8] FIG. 8 is a diagram for explaining a start-up process after update or restoration, which is executed in a multifunction peripheral as an example of an information processing apparatus according to this embodiment. [Figure 9] FIG. 9 is a diagram for explaining another start-up process after update or restoration, which is executed in the multifunction peripheral as an example of the information processing apparatus according to the present embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] Hereinafter, the present embodiment will be described in detail with reference to the drawings, but the embodiment is not limited to the specific embodiment described. It should be noted that the embodiment of the present disclosure is open to various changes and modifications.
[0011] Hereinafter, the present embodiment will be described in more detail with reference to the drawings, taking a multifunction peripheral and its controller as an example of an information processing device and its control device. However, the information processing device and control device according to the present embodiment are not limited to these, and the embodiment of the present disclosure can be applied to any information processing device and its control device that includes multiple devices. Here, a device refers to an item that configures an information processing device together with other devices and is a unit of software updates such as firmware.
[0012] 1 is a hardware configuration diagram of a multifunction peripheral as an example of an information processing device that is a target of firmware update and restoration according to the present embodiment. As shown in Fig. 1, a multifunction peripheral (MFP, Multifunction Peripheral / Product / Printer) 100 includes a controller 110, a short-range communication circuit 120, an engine 130, an operation panel 140, and a network I / F 150.
[0013] Of these, the controller 110 has a CPU 101 which is the main part of the computer, a system memory (MEM-P) 102, a north bridge (NB) 103, a south bridge (SB) 104, an ASIC (Application Specific Integrated Circuit) 106, a local memory (MEM-C) 107 which is a storage unit, an HDD controller 108, a HD 109 which is a storage unit, and a non-volatile memory 111, with the NB 103 and the ASIC 106 being connected via an AGP (Accelerated Graphics Port) bus 121. The controller 110 constitutes a control device in this embodiment which controls firmware update and restoration for the entire multifunction device 100.
[0014] Of these, the CPU 101 is a control unit that performs overall control of the multifunction device 100. The NB 103 is a bridge for connecting the CPU 101 with the MEM-P 102, the SB 104, and the AGP bus 121, and includes a memory controller that controls reading and writing to the MEM-P 102, a PCI (Peripheral Component Interconnect) master, and an AGP target.
[0015] The MEM-P 102 is composed of a ROM 102a which is a memory for storing programs and data for implementing the functions of the controller 110, and a RAM 102b which is used for developing the programs and data, and as a drawing memory during memory printing, etc. The programs and data stored in the ROM 102a are the targets of firmware update and restoration according to this embodiment.
[0016] The SB104 is a bridge for connecting the NB103 to the PCI device and peripheral devices. The ASIC106 is an IC (Integrated Circuit) for image processing purposes having hardware elements for image processing, and plays the role of a bridge connecting the AGP bus 121, the PCI bus 122, the HD109, the MEM-C107, and the non-volatile memory 111. The ASIC106 is composed of a PCI target and an AGP master, an arbiter (ARB) that is the core of the ASIC106, a memory controller that controls the MEM-C107, a plurality of DMACs (Direct Memory Access Controllers) that rotate image data using hardware logic, and a PCI unit that transfers data between the scanner unit 131 and the printer unit 132 via the PCI bus 122. The ASIC106 may be connected to a USB (Universal Serial Bus) interface or an IEEE1394 (Institute of Electrical and Electronics Engineers 1394) interface.
[0017] The MEM-C107 is a local memory used as a copy image buffer and a code buffer. The HD109 is a storage for storing image data, font data used during printing, and forms. In the embodiment to be described, the HD109 constitutes a storage unit in the embodiment, which holds a backup of a firmware (program) of a specified version. The HD109 controls reading and writing of data from and to the HD109 under the control of the CPU101. The AGP bus 121 is a bus interface for a graphics accelerator card proposed to speed up graphic processing, and the graphics accelerator card can be made faster by directly accessing the MEM-P102 at high throughput. The non-volatile memory 111 is a memory for storing various data requiring non-volatility (such as designation of a storage area used to start up a dual-sided ROM of a specified device according to the present embodiment).
[0018] Further, the short-distance communication circuit 120 includes a short-distance communication circuit 120a. The short-distance communication circuit 120 is a communication circuit such as NFC or Bluetooth (registered trademark).
[0019] Furthermore, the engine 130 is composed of a scanner unit 131, a printer unit 132, a CPU 133, a ROM 134, and a RAM 135. Of these, the CPU 133 is a control unit that performs various controls of the engine 130. The ROM 134 is a memory for storing programs and data that realize the various functions of the engine 130. The RAM 135 provides a working area in which the programs stored in the ROM 134 are expanded. Note that the programs and data stored in the ROM 134 of the engine 130 are subject to firmware update and restoration according to this embodiment.
[0020] The operation panel 140 is composed of a CPU 141, a ROM 142, a RAM 143, and a panel display unit (not shown). Among these, the CPU 141 is a control unit that performs various controls of the operation panel 140. The ROM 142 is a memory for storing programs and data that realize the various functions of the operation panel 140. The RAM 143 provides a work area in which the programs stored in the ROM 142 are expanded. The panel display unit includes a touch panel that displays current setting values and selection screens and receives input from the user, as well as a numeric keypad that receives setting values for image formation conditions such as density setting conditions, and a start key that receives a copy start instruction. The programs and data stored in the ROM 142 of the operation panel 140 are subject to firmware update and restoration according to this embodiment.
[0021] As described above, in this embodiment, the controller 110, the engine 130, and the operation panel 140 constitute the multifunction device 100 and also constitute a "device" that is a unit of firmware update and restoration. The programs (firmware) stored in the ROM 102 of the controller 110, the ROM 134 of the engine 130, and the ROM 142 of the operation panel 140 are the targets of update and restoration.
[0022] The controller 110 controls the entire MFP 100, for example, drawing, communication, and input from the operation panel 140. In the embodiment to be described, the controller 110 controls the entire firmware update and restoration of a plurality of devices, more specifically, the controller 110 itself, the engine 130, and the operation panel 140. The scanner unit 131 or the printer unit 132 includes an image processing unit such as error diffusion and gamma conversion.
[0023] The multifunction device 100 can successively switch and select among the document box function, copy function, printer function, and facsimile function by using the application switching key on the operation panel 140. When the document box function is selected, the document box mode is selected, when the copy function is selected, the copy mode is selected, when the printer function is selected, the printer mode is selected, and when the facsimile mode is selected, the facsimile mode is selected.
[0024] The network I / F 150 is an interface for performing data communication using a communication network. The short-range communication circuit 120 and the network I / F 150 are electrically connected to the ASIC 106 via a PCI bus 122.
[0025] Note that the hardware configuration shown in Fig. 1 is an example, and some of the components shown in Fig. 1 may be omitted, or other components may be included other than those shown in Fig. 1. For example, the network I / F 150 may be a network interface card for a wired LAN (local area network), a network adapter for a wireless LAN, or a form for communicating with devices using Bluetooth (registered trademark) or the like.
[0026] Scanner unit 131 may include, for example, a document glass and an automatic document feeder, and may have a sensor for detecting the document size. The configuration of printer unit 132 is also not particularly limited, and may be an electrophotographic printer, an inkjet printer, or any other type of printer. Printer unit 132 may further include a post-processing device such as a stapler or a finisher.
[0027] In addition, although the hardware configuration of the multifunction device 100 has been described, by adding or removing components as appropriate (for example, removing the scanner unit), a similar configuration can also be used for information processing devices other than image processing devices, such as printers which are image forming devices other than the multifunction device, facsimiles which are image transmitting devices, scanners which are image reading devices, and image forming devices, image transmitting devices, and image reading devices.
[0028] The firmware update process and restoration process executed in the multifunction device 100 and the associated startup process will be described in more detail below with reference to Figures 2 to 9. Figure 2 shows the main hardware and functional blocks related to the firmware update process and restoration process in the multifunction device 100 as an example of an information processing device according to this embodiment, and the associated startup process.
[0029] 2, the following blocks on the controller 110 are shown: a ROM 102a, a RAM 102b, a HD 109, a non-volatile memory 111, a start control unit 112, an update / restoration control unit 113, and a controller control unit 114.
[0030] The start-up control unit 112 executes the start-up process of the controller 110. The start-up control unit 112 corresponds to a boot loader of the controller 110. In the embodiment described, the ROM 102a of the controller 110 has a sufficient capacity and is dual-sided, and the controller 110 has a plurality of storage areas each of which holds different versions (first and second versions) of a program. These two storage areas are typically rewritable partial storage areas of the same capacity, which are divided from the storage area of the ROM (storage device) 102a. Therefore, even if an unintended power outage occurs during rewriting and the rewriting fails, the state in which the rewriting is successful can be maintained. The start-up control unit 112 refers to the non-volatile memory 111 when starting the multifunction device 100, and in turn, when starting the controller 110, and identifies the storage area (side) to be used (referenced) for starting the ROM 102a. The start-up control unit 112 then reads out the firmware program from the storage area identified as the one to be used, and develops it in the RAM 102b. After the programs are loaded into the RAM 102b, each program is executed.
[0031] The update / restoration control unit 113 performs control to update the firmware stored in the ROM 102a of the controller 110 to the latest version and restore it to an older version in response to a user instruction or the like. The update / restoration control unit 113 not only controls the update and restoration of the firmware of the controller 110 itself, but also controls the update and restoration of firmware of other devices by sending commands to other devices of the multifunction peripheral 100 (such as the engine 130, the operation panel 140, and other facsimile control units) via the controller control unit 114. The update / restoration control unit 113 constitutes the control unit in this embodiment.
[0032] The controller control unit 114 performs various controls as the controller 110. When updating another device, the controller control unit 114 transfers update data to the control unit of the corresponding device and requests the update. The HD 109 constitutes a storage unit in this embodiment, which stores backups of firmware in a ROM that is not dual-sided due to capacity or the like.
[0033] In FIG. 2, the startup control unit 112, the update restoration control unit 113, and the controller control unit 114 are shown as separate functional blocks, but in reality, for example, the CPU 101 of the controller 110 may each realize each of them by reading and executing each program.
[0034] FIG. 2 further shows an engine control unit 136 as a block on the engine 130, and shows an operation panel control unit 144 as a block on the operation panel 140.
[0035] The engine control unit 136 is realized by the CPU 133 of the engine 130 reading a program from the ROM 134 and expanding the program in the RAM 135 when the engine 130 is started. The engine control unit 136 performs various controls of the engine 130, and in response to an instruction from the controller 110, executes firmware update of the engine 130 using a program included in the designated update data.
[0036] Operation panel control unit 144 is realized when CPU 141 of operation panel 140 reads a program from ROM 142 and expands the program in RAM 143 when operation panel 140 is started up. Operation panel control unit 144 performs various controls of operation panel 140, and in response to an instruction from controller 110, executes firmware update of operation panel 140 using a program included in designated update data.
[0037] In the embodiment described below, the firmware update and restoration control is assumed to be performed by the update and restoration control unit 113 of the controller 110. However, the present invention is not limited to this configuration, and the firmware update and restoration control may be performed by another device (for example, the engine 130, the operation panel 140, or another device). Hereinafter, the firmware update and restoration process will be described in more detail, assuming that the update and restoration control unit 113 of the controller 110 is responsible for the overall control.
[0038] FIG. 3 is a diagram for explaining a firmware update process in the multifunction peripheral 100 as an example of an information processing device according to the present embodiment. FIG. 3 shows a first device 210 as a device having a ROM compatible with dual-sided printing, and a second device 230 as a device having a ROM not compatible with dual-sided printing. The first device 210 and the second device 230 may each be at least one of the controller 110, the engine 130, and the operation panel 140. In FIG. 3, the latest version of the firmware for updating is prepared in a recording medium 250 such as an SD card, and a HD 260 is prepared for backing up the firmware of the second device 230 as a device having a ROM not compatible with dual-sided printing.
[0039] Before the update, the first device 210 stores different versions of the first device firmware in multiple storage areas 218, 220. In the embodiment described, the number of storage areas is two, but is not limited to this. In addition, a designation 214 of an area (startup area) to be referenced or used at startup is set in the non-volatile memory 212, and one of the different versions stored in the multiple storage areas is configured to be used according to the designation 214 of the startup area.
[0040] When updating the dual-sided first device 210 with the latest version 252 of firmware for the first device (device 1), the update restoration control unit 113 (1) reads the latest version 252 of firmware for the first device from the recording medium 250 and rewrites one of the multiple storage areas 218, 220 of the ROM 216 with the latest version (the first storage area 218 in the example of FIG. 3). The update restoration control unit 113 then (2) rewrites the startup area designation 214 of the non-volatile memory 212 and requests (sets) the startup control unit of the device 210 to make the storage area used at startup the storage area that holds the latest version (218 in the example of FIG. 3). Note that, of the multiple storage areas 218, 220, the opposite area to the area designated in the current startup area designation 214 is selected, and the old version immediately before the latest version to be updated from now on is selected so that it remains.
[0041] On the other hand, when updating the second device 230 not compatible with dual-sidedness with the latest version 254 of firmware for the second device (device 2), the update restoration control unit 113 (1) reads out the current version (old version) of the firmware for the second device held in the single storage area 234 of the ROM 232 of the second device 230, and stores it as a backup 262 in the HD 260. Next, the update restoration control unit 113 (2) reads out the latest version 254 of the firmware for the second device from the recording medium 250, and causes the single storage area 234 of the ROM 232 of the second device 230 to be rewritten with the firmware. Note that, in the embodiment described, the firmware at that time is set as the latest version, and the previous old version of firmware held in the single storage area 234 of the ROM 232 is backed up, but the present invention is not limited to such an embodiment. In another embodiment, the latest version of firmware to be used in the update may be backed up in the HD 260 for future restoration during the update. In this case, before and after rewriting the single storage area 234 of the ROM 232, the latest version 254 is saved as a backup 262 in the HD 260.
[0042] Fig. 4 is a diagram for explaining firmware restoration processing in the multifunction peripheral 100 as an example of an information processing device according to the present embodiment. Like Fig. 3, Fig. 4 shows a first device 210 as a device having a dual-sided ROM and a second device 230 as a device having a dual-sided non-compatible ROM.
[0043] Before restoration, the latest version and the previous previous version of firmware are held in multiple storage areas 218, 220 of ROM 216 of first device 210, and information indicating the storage area of the latest version is held in startup area designation 214 of non-volatile memory 212. The latest version of firmware is held in a single storage area 234 of ROM 232 of second device 230, and a backup 262 of the previous previous version of firmware of second device 230 is stored in HD 260.
[0044] When restoring a dual-sided first device 210 to an old version of firmware, the update restoration control unit 113 (1) requests (sets) the startup control unit of that device to rewrite the non-volatile memory 212 so as to specify the storage area to be used at startup to the storage area (220 in the example of FIG. 4) that holds the old version (startup area designation=second storage area). At this time, no changes are made to the storage areas 218, 220 themselves. Since only the startup storage area is switched, the restoration process of such a device takes almost no time, and startup processing is performed with the old version the next time the device is started.
[0045] On the other hand, when restoring a second device 230 that does not support dual-sidedness to an older version of firmware, the update restoration control unit 113 (1) causes a single memory area 234 of the ROM 232 of the second device 230 to be rewritten with a backup 262 of the older version of the firmware for the second device.
[0046] In the embodiment described, the first device 210 is described as a single ROM (storage device) having a plurality of divided storage areas that can be switched at the time of startup. However, the first device 210 is not limited to such an embodiment. In another embodiment, for example, the first device 210 may be provided with a plurality of physically different ROMs, and the ROM to be used may be switched.
[0047] FIG. 5 is a flowchart showing a firmware update process executed by the multifunction peripheral 100 as an example of an information processing device according to the present embodiment. The process shown in FIG. 5 is started from step S100, for example, in response to receiving a firmware update instruction from a user via the operation panel 140, in response to receiving a remote instruction for firmware update from a remote location, or in response to the multifunction peripheral 100 checking whether firmware needs to be updated according to a predetermined schedule and detecting the presence of the latest version of firmware. The data of the firmware to be updated may be obtained, for example, from a recording medium 250 such as an SD card as described above, or from a server, or may be remotely transmitted from an external device. In a preferred embodiment, the firmware update is performed collectively for all devices 210 and 230 in response to an update instruction in order to prevent inconsistencies in the version combinations between a plurality of devices. The process shown in FIG. 5 will be described as being executed by the controller 110 (the update restoration control unit 113).
[0048] In step S101, the controller 110 acquires a device information list, which will be described later, through the update and restoration control unit 113. In step S102, the controller 110 acquires device information of the update destination through the update and restoration control unit 113. In step S103, the controller 110 acquires, through the update and restoration control unit 113, the number of storage areas of the update destination that corresponds to the device information of the update destination from the device information list.
[0049] FIG. 7 shows the data structure of a device information list for determining the number of memory areas of a device to be updated according to this embodiment. As shown in FIG. 7, in the device information list, the number of memory areas (surfaces) of the ROM included in the device is associated with the device information "controller", "engine" and "operation panel". In step S101, a device information list as shown in FIG. 7 is acquired. In step S102, for example, "controller", "engine" or "operation panel" is acquired as device information indicating the device to be updated from the program to be updated. In step S103, the number of memory areas "2", "1" or "2" is acquired corresponding to "controller", "engine" or "operation panel", respectively. The device information list as shown in FIG. 7 is stored as static information on the program inside the controller 110, and is referred to from the RAM 102b after the controller 110 is started. The device information list constitutes the device configuration information of this embodiment.
[0050] In step S104, the controller 110 determines whether the device to be updated has two storage areas through the update restoration control unit 113. For example, in the example of FIG. 7, if the device information of the update destination is "controller" or "operation panel" as described above, it is determined that there are two storage areas. On the other hand, if the device information of the update destination is "engine", it is determined that there are not two storage areas. In this way, the update restoration control unit 113 identifies a specific device among the multiple devices as the dual-sided first device 210 based on device configuration information indicating whether the specific device is the dual-sided first device 210 or the dual-sided non-compatible second device 230.
[0051] If it is determined in step S104 that there are not two storage areas (NO), the process proceeds to step S105. In this case, the second device 230, which does not support dual-sidedness, is updated. In step S105, the controller 110 causes the update / restoration control unit 113 to back up the old version of the program held in the single storage area 234 of the ROM 232 of the second device 230 to the HD 260. In step S106, the controller 110 causes the update / restoration control unit 113 to rewrite the program in the single storage area 234 of the ROM 232 of the second device 203 to the latest version.
[0052] On the other hand, if it is determined in step S104 that there are two memory areas (YES), the process proceeds directly to step S106. In this case, the first device 210 that supports dual-sidedness is updated. In step S106, the controller 110 causes the update / restore control unit 113 to rewrite the program in one of the multiple memory areas 218, 220 in the ROM 216 of the first device 210 (the opposite side to the one currently in use) to the latest version (new version).
[0053] In step S107, the controller 110 determines whether or not there is an unprocessed program by the update restoration control unit 113. If it is determined in step S107 that there is an unprocessed program (YES), the process returns to step S104, and the processes of steps S104 to S107 are repeated until the update process of all programs is completed. If it is determined in step S107 that there is no unprocessed program (NO), the process proceeds to step S108.
[0054] In step S108, the controller 110 determines, via the update restoration control unit 113, whether or not there are two storage areas. If it is determined in step S108 that there are not two storage areas (NO), the process proceeds to step S110. In this case, no particular process is performed. On the other hand, if it is determined in step S108 that there are two storage areas (YES), the process branches to step S109. In this case, in step S109, the controller 110, via the update restoration control unit 113, requests the startup control unit of the device to be updated to change the storage area to be started up next time. As a result, the storage area to be used when the first device 210 is started up is switched to the storage area that holds the latest version.
[0055] In step S110, the controller 110 further determines whether or not there is an unprocessed device by the update restoration control unit 113. If it is determined in step S110 that there is a device that still needs to be updated (YES), the process loops to step S102, and the process is repeated with the next device as the device to be updated. On the other hand, if it is determined in step S110 that there is no unprocessed device (NO), the process proceeds to step S111, and this process ends.
[0056] The process shown in step S106 is performed in response to an instruction to rewrite the programs of each device via controller control unit 114 of controller 110. Therefore, the controller 110 is the entity that issues the instruction to rewrite the programs of each device.
[0057] As described above, before updating to the latest version of the firmware, whether the target device supports dual-sided operation or not is identified. If the target device supports dual-sided operation, the old version of the program is not backed up to the HD260. If the target device does not support dual-sided operation, the old version of the program is backed up to the HD260. Therefore, the hard disk capacity used for backing up the old version to the HD260 can be reduced by the amount of the device that supports dual-sided operation. Note that the old version of the program may be backed up to the HD260 regardless of whether the target device supports dual-sided operation or not. The backup destination is not limited to the HD and may be an SSD (Solid State Drive) or the like.
[0058] Fig. 6 is a diagram for explaining firmware restoration processing executed by the multifunction peripheral 100 as an example of an information processing device according to this embodiment. The processing shown in Fig. 6 starts from step S200, for example, in response to receipt of a firmware restoration instruction from a user via the operation panel 140, or in response to receipt of a remote firmware restoration instruction from a remote location. Note that in a preferred embodiment, firmware restoration is performed collectively for all devices in response to the restoration instruction to prevent inconsistencies in version combinations between devices.
[0059] In step S201, the controller 110 acquires a device information list as shown in Fig. 7 through the update and restoration control unit 113. In step S202, the controller 110 acquires restoration destination device information through the update and restoration control unit 113. In step S203, the controller 110 acquires the number of restoration destination storage areas corresponding to the restoration destination device information from the device information list through the update and restoration control unit 113.
[0060] In step S204, the controller 110 determines, by the update restoration control unit 113, whether or not the device to be restored has two storage areas. If it is determined in step S204 that the device to be restored does not have two storage areas (NO), the process proceeds to step S205. In this case, the second device 230 is restored. In step S205, the controller 110 reads the backed up old version of the program from the HD 260 by the update restoration control unit 113, internally updates the ROM 232 of the second device 230 with the old version of the program, and rewrites the single storage area 234 of the ROM 232 of the second device 203 with the old version of the program.
[0061] In step S206, the controller 110 determines whether or not there is an unprocessed program by the update restoration control unit 113. If it is determined in step S206 that there is an unprocessed program (YES), the process returns to step S204, and steps S204 to S206 are repeated until the update process of all programs is completed. If it is determined in step S206 that there is no unprocessed program (NO), the process proceeds to step S208.
[0062] On the other hand, if it is determined in step S204 that there are two storage areas (YES), the process proceeds to step S207. In this case, the first device 210 is restored. In step S207, the controller 110, via the update restoration control unit 113, requests the startup control unit of the device to be restored to change the storage area to be started next time. As a result, the storage area to be used when the first device 210 is started is switched to the storage area holding the old version.
[0063] In step S208, the controller 110 determines whether or not there is an unprocessed device through the update restoration control unit 113. If it is determined in step S208 that there is a device that still needs to be restored (YES), the process loops back to step S202, and the process is repeated with the next device as the device to be restored. On the other hand, if it is determined in step S208 that there is no unprocessed device (NO), the process proceeds to step S209, and ends this process.
[0064] If the device to be restored is identified as dual-sided before restoring to the old version, it will not be rewritten to the old version, but will only rewrite the information in the storage area to be booted next time.On the other hand, if it is not dual-sided, it will be rewritten with the old version of the program backed up on the HDD.As a result, if the device to be restored is dual-sided, there is no need to rewrite to the old version, which can significantly reduce the time it takes to restore to the old version.
[0065] 8 and 9 are diagrams for explaining the start-up process after update or restoration executed by the multifunction peripheral 100 as an example of an information processing device according to this embodiment. Fig. 8 shows the start-up process of the first device 210 that supports dual-sided printing, and Fig. 9 shows the start-up process of the second device 230 that does not support dual-sided printing.
[0066] 8, for a dual-sided first device 210, when booting up the first device 210, the boot processing unit 222 first obtains the value of the boot area designation 214 in the non-volatile memory 212, reads a program from a storage area among the multiple storage areas 218, 220 that corresponds to the value of the boot area designation 214 (information indicating the storage area to be used at boot up), and expands and executes the program in the RAM 224, which is a working area. As a result, the boot process is performed based on the appropriate version of the program stored in the designated boot area.
[0067] On the other hand, as shown in FIG. 9, for a second device 230 that does not support dual-sided operation, when the second device 230 is started up, the startup processing unit 236 reads the program from the single memory area 234 as usual, expands the program into the working area, RAM 238, and executes it.
[0068] In this way, both the first device 210 that supports dual-sided conversion and the second device 230 that does not support dual-sided conversion are started up in the updated or restored version. This prevents deterioration of quality due to version inconsistencies between the devices 210 and 230.
[0069] As described above, according to the embodiments, it is possible to provide an information processing device, method, program, and control device that can prevent version inconsistencies between devices in a configuration where devices with multiple memory areas that store different versions of a program and devices that do not are mixed, and that can reduce the time required for restoration while preventing a deterioration in the quality of the entire device.
[0070] 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 execute each function by software, such as a processor implemented by an electronic circuit, and a device such as an ASIC (Application Specific Integrated Circuit), a DSP (digital signal processor), an FPGA (field programmable gate array), or a conventional circuit module designed to execute each function described above.
[0071] For example, aspects of the present invention are as follows. <1> An information processing apparatus including a first device and a second device, a control unit that performs control to update or restore at least one of a first program of the first device and a second program of the second device; a storage unit for storing a first version of a second program of the second device; Equipped with the first device has a plurality of storage areas each for holding a first version and a second version of a first program; the second device has a storage area for storing a second version of the second program, the second version being different from the first version; The control unit is When restoring the first program of the first device, setting the first device to switch a storage area to be used at startup among the plurality of storage areas; when restoring the second program of the second device, the first version of the second program stored in the storage unit is rewritten into a storage area of the second device; It is an information processing device. <2> The control unit is when updating a first program of the first device, the latest version of the first program is rewritten into one of the plurality of storage areas, and the storage area used at the time of the startup is switched to the storage area that holds the latest version of the first program; When updating the second program of the second device, a current version of the second program stored in the storage area of the second device is stored in the storage unit, and the latest version of the second program is rewritten in the storage area of the second device. <1> The present invention relates to an information processing device. <3> the information processing device includes a plurality of devices including one or more of the first devices and one or more of the second devices; The control unit identifies that one device among the plurality of devices corresponds to the first device based on device configuration information indicating whether the one device is the first device or the second device. <1> or <2> The present invention relates to an information processing device. <4> the device configuration information indicating the number of storage areas in each of the plurality of devices; <3> The present invention relates to an information processing device. <5> When the information processing device is started, a start-up control unit of the first device acquires information indicating a storage area to be used at the time of start-up from a non-volatile memory, reads out the first program from the storage area indicated by the information, and expands it on a working area, and a start-up control unit of the second device reads out the second program from the storage area, and expands it on the working area. <1> ~ <4> The present invention is an information processing device according to any one of the above. <6> Restoring a first program of the first device and a second program of the second device in response to an instruction for restoration of the information processing device; <1> ~ <5> The present invention is an information processing device according to any one of the above. <7> The control unit and the storage unit are provided in the first device, the second device, or another device different from the first device and the second device. <1> ~ <6> The present invention is an information processing device according to any one of the above. <8> The information processing device is an image processing device. <1> ~ <7> The present invention is an information processing device according to any one of the above. <9> The plurality of storage areas of the first device are obtained by dividing a storage area of a storage device included in the first device. <1> ~ <8> The present invention is an information processing device according to any one of the above. <10> A method executed by an information processing apparatus including a first device and a second device, the first device has a plurality of storage areas each for holding a first version and a second version of a first program; the second device has a storage area for storing a second version of the second program, the second version being different from the first version, with a first version of the second program being stored in a storage unit; The information processing device, When restoring the first program of the first device, setting the first device to switch a storage area to be used at startup from among the plurality of storage areas; when restoring the second program of the second device, rewriting the first version of the second program stored in the storage unit into a storage area of the second device; It is a method to carry out the above. <11> The information processing device, When updating a first program of the first device, rewriting the latest version of the first program into one of the plurality of storage areas and setting the storage area to be used at startup to be switched to the storage area that holds the latest version of the first program; when updating the second program of the second device, a current version of the second program held in the storage area of the second device is held in the storage unit, and a latest version of the second program is rewritten in the storage area of the second device; Further execute <10> This is a method according to the present invention. <12> A program for realizing an information processing apparatus including a first device having a plurality of memory areas each for storing a first version and a second version of a first program, a memory unit for storing the first version of a second program of a second device, and a memory area for storing a second version different from the first version of the second program, the program comprising: a control unit for controlling updating or restoring at least one of a first program of the first device and a second program of the second device; The control unit is configured to function as When restoring the first program of the first device, setting the first device to switch a storage area to be used at startup among the plurality of storage areas; when restoring the second program of the second device, rewriting the first version of the second program stored in the storage unit into a storage area of the upper second device; It is a program. <13> The control unit is when updating a first program of the first device, the latest version of the first program is rewritten into one of the plurality of storage areas, and the storage area used at startup is switched to the storage area that holds the latest version of the first program; When updating the second program of the second device, a current version of the second program stored in a storage area of the second device is stored in the storage unit, and the latest version of the second program is rewritten in the storage area of the second device. <12> It is a program described in. <14> A control device that performs control to update or restore at least one of a first program of a first device and a second program of a second device, the first device has a plurality of storage areas each for holding a first version and a second version of the first program; the second device has a first version of the second program stored in an external or internal storage unit, and a storage area for holding a second version of the second program different from the first version; The control device includes: When restoring a first program in the first device, setting the first device to switch a storage area to be used at startup among the plurality of storage areas; when restoring the second program of the second device, rewriting the first version of the second program stored in the storage unit into a storage area of the second device; It is a control device. <15> The control unit is when updating a first program of the first device, the latest version of the first program is rewritten into one of the plurality of storage areas, and the storage area used at startup is switched to the storage area that holds the latest version of the first program; When updating the second program of the second device, a current version of the second program stored in a storage area of the second device is stored in the storage unit, and the latest version of the second program is rewritten in the storage area of the second device. <14> The control device is as described above. [Explanation of symbols]
[0072] 100... multifunction device, 101, 133, 141... CPU, 102... MEM-P, 102a, 134, 142... ROM, 102b, 135, 143... RAM, 103... NB, 104... SB, 106... ASIC, 107... MEM-C, 108... HDD controller, 109... HD, 110... controller, 111... non-volatile memory, 112... startup control unit, 113... update restoration control unit, controller control unit 114, 120... short-distance communication circuit, 130... engine, 131... scanner unit, 132... printer unit , 136... engine control unit, 140... operation panel, 144... operation panel control unit, 150... network I / F, 210... first device, 212... non-volatile memory, 214... designation of startup area, 216... ROM, 218, 220... storage area, 222, 236... startup control unit, 230... second device, 232... ROM, 234... storage area, 250... recording medium, 252... latest version of firmware for first device, 254... latest version of firmware for second device, 260... HD, 262... backup [Prior art documents] [Patent documents]
[0073] [Patent Document 1] JP 2005-074644 A
Claims
1. An information processing apparatus including a first device and a second device, a control unit that performs control to update or restore at least one of a first program of the first device and a second program of the second device; a storage unit that stores a first version of the second program of the second device; Equipped with the first device has a plurality of storage areas each for holding a first version and a second version of the first program; the second device has a storage area for holding a second version of the second program, the second version being different from the first version; The control unit is When restoring the first program of the first device, setting the first device to switch a storage area to be used at startup among the plurality of storage areas; when restoring the second program of the second device, rewriting the first version of the second program stored in the storage unit into the storage area of the second device; Information processing device.
2. The control unit is when updating the first program of the first device, a latest version of the first program is rewritten into one of the plurality of storage areas, and a storage area to be used at the time of the startup is switched to a storage area that holds the latest version of the first program; when updating the second program of the second device, a current version of the second program held in the storage area of the second device is held in the storage unit, and a latest version of the second program is rewritten in the storage area of the second device; The information processing device according to claim 1 .
3. the information processing apparatus includes a plurality of devices including one or more of the first devices and one or more of the second devices; 2. The information processing device according to claim 1, wherein the control unit identifies that one of the plurality of devices corresponds to the first device based on device configuration information indicating whether the one of the plurality of devices is the first device or the second device.
4. The information processing apparatus according to claim 3 , wherein the device configuration information indicates the number of storage areas in each of the plurality of devices.
5. 2. The information processing device of claim 1, wherein, when the information processing device is started, a startup control unit of the first device obtains information indicating a memory area to be used at startup from a non-volatile memory, reads the first program from the memory area indicated by the information, and expands it onto a working area, and a startup control unit of the second device reads the second program from the memory area and expands it onto the working area.
6. 2 . The information processing apparatus according to claim 1 , wherein in response to an instruction for restoration of the information processing apparatus, restoration of the first program of the first device and restoration of the second program of the second device are executed.
7. The information processing apparatus according to claim 1 , wherein the control unit and the storage unit are provided in the first device, the second device, or another device different from the first device and the second device.
8. The information processing device according to claim 1 , wherein the information processing device is an image processing device.
9. The information processing apparatus according to claim 1 , wherein the plurality of storage areas of the first device are obtained by dividing a storage area of a storage device included in the first device.
10. A method executed by an information processing apparatus including a first device and a second device, the first device has a plurality of storage areas each holding a first version and a second version of a first program; The second device has a storage area for storing a second version of the second program, the second version being different from the first version of the second program, with a first version of the second program being stored in a storage unit, and the information processing device a step of setting the first device so as to switch a storage area to be used at startup among the plurality of storage areas when restoring the first program of the first device; when restoring the second program of the second device, rewriting the first version of the second program stored in the storage unit into the storage area of the second device; A method for performing.
11. The information processing device, a step of: when updating the first program of the first device, rewriting the latest version of the first program into one of the plurality of storage areas, and setting so that a storage area to be used at startup is switched to a storage area that holds the latest version of the first program; when updating the second program of the second device, a current version of the second program held in the storage area of the second device is held in the storage unit, and a latest version of the second program is rewritten in the storage area of the second device; The method of claim 10 further comprising:
12. A program for realizing an information processing apparatus including a first device having a plurality of storage areas each for storing a first version and a second version of a first program, a storage unit for storing the first version of a second program of a second device, and the second device having a storage area for storing a second version of the second program different from the first version, the program comprising: A control unit that controls updating or restoring at least one of the first program of the first device and the second program of the second device. The control unit is configured to function as When restoring the first program of the first device, setting the first device to switch a storage area to be used at startup among the plurality of storage areas; when restoring the second program of the second device, rewriting the first version of the second program stored in the storage unit into the storage area of the second device; program.
13. The control unit is when updating the first program of the first device, a latest version of the first program is rewritten into one of the plurality of storage areas, and a storage area to be used at the time of the startup is switched to a storage area that holds the latest version of the first program; when updating the second program of the second device, a current version of the second program held in the storage area of the second device is held in the storage unit, and a latest version of the second program is rewritten in the storage area of the second device; The program according to claim 12.
14. A control device that performs control to update or restore at least one of a first program of a first device and a second program of a second device, the first device has a plurality of storage areas each for holding a first version and a second version of the first program; a first version of the second program is stored in a storage unit, the second device has a storage area for holding a second version of the second program that is different from the first version, and the control device When restoring the first program of the first device, setting the first device to switch a storage area to be used at startup among the plurality of storage areas; when restoring the second program of the second device, rewriting the first version of the second program stored in the storage unit into the storage area of the second device; Control device.
15. The control unit is when updating the first program of the first device, a latest version of the first program is rewritten into one of the plurality of storage areas, and a storage area to be used at the time of the startup is switched to a storage area that holds the latest version of the first program; when updating the second program of the second device, a current version of the second program held in the storage area of the second device is held in the storage unit, and a latest version of the second program is rewritten in the storage area of the second device; The control device according to claim 14.
Citation Information
Patent Citations
Image forming apparatus, information processing system and method
JP2005074644A