Image formation device, and power control method for image formation device
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- CANON KK
- Filing Date
- 2023-06-27
- Publication Date
- 2026-06-22
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to an image forming apparatus and a power control method for the image forming apparatus. [Background technology]
[0002] Computer devices use power saving techniques such as suspend, hibernation, and hybrid sleep to provide multiple functions while in standby with low power consumption.
[0003] Suspend achieves low power consumption by stopping peripheral devices while keeping power flowing to memory, and by stopping the CPU clock, WFI (Wait For Interrupt), or turning off the power, etc. Hibernation also achieves low power consumption by saving memory and register information to a non-volatile storage device and stopping power and clocks to memory, peripheral devices, and the CPU.
[0004] When the computer device is in a standby state and receives a power-save transition event notification, such as a timer expiration, the computer device performs suspend processing or hibernation processing to transition to a power-save state, such as a sleep state or an off state from which fast recovery is possible (fast startup waiting state). Conversely, when the computer device is in a power-save state and receives a power-save return event notification, the computer device performs resume processing to return to the standby state.
[0005] Furthermore, hybrid sleep is a function that combines suspend and hibernation, suspending the computer until a certain time has elapsed in a power-saving state, and then hibernating after the certain time has elapsed. Suspend, hibernation, and hybrid sleep can be used according to the user's purpose and convenience, and contribute to power saving in computer devices.
[0006] (prior art) Patent Document 1 describes a hibernation return method for an electronic device having a main CPU and a sub CPU, and describes saving and restoring data in the memories of the main CPU and the sub CPU. [Prior art documents] [Patent documents]
[0007] [Patent Document 1] Patent No. 5826220 Summary of the Invention [Problem to be solved by the invention]
[0008] Suspend, hibernation, and hybrid sleep are called fast start modes.
[0009] Unlike the above-mentioned computers, image forming apparatuses have a configuration with two CPUs: a main CPU that controls the system, and a sub-CPU that controls image processing. The sub-CPU that controls image processing is used only for image processing that executes normal jobs, so it can transition or return faster by the time saved in the system when starting from a power-off state than when returning from a high-speed startup mode. Therefore, it operates differently from returning from a high-speed startup mode with a sub-CPU.
[0010] Conventionally, the fast startup mode for image forming devices was achieved by loading the sub-CPU program in memory before going into suspend mode. In today's world where energy conservation is a hot topic, fast startup from the hibernation state, which consumes less standby power than the suspend state, is attracting attention. The hibernation state is a sleep state in which no power is passed to the memory. Therefore, there is an issue that recovery does not work well in the hibernation state when the sub-CPU program is loaded in the same timing as the suspend state.
[0011] Therefore, it is necessary to differentiate the timing of loading a program into memory between the suspend state, in which power is supplied to the memory, and the hibernation state, in which power is not supplied to the memory.
[0012] Furthermore, even in hybrid sleep, in which the system transitions to a hibernation state a certain amount of time after transitioning to a suspend state, it was necessary to control the timing of sub-CPU program deployment according to the state.
[0013] The present invention aims to realize transition to and return from the fast startup mode, which includes suspend, hibernation, and hybrid sleep, by controlling the timing of loading the sub-CPU program. [Means for solving the problem]
[0014] The image forming apparatus of the present invention has at least a first controller that controls the apparatus, at least a second controller that performs image processing, and a memory, and is capable of transitioning between a normal state, a suspend state which is a power-saving state in which power is supplied to the memory and allows for quick startup, and a hibernation state which is a power-saving state in which power is not supplied to the memory.The image forming apparatus has a first control means that transitions the image forming apparatus to the power-saving state upon receiving an end processing event, and when the first control means determines that transition to the hibernation state is valid, it transitions to the hibernation state, and when it determines that transition to the suspend state is valid, it controls the program of the second controller to be expanded in memory and then transitioned to the suspend state. Effect of the Invention
[0015] (Effects of Example 1) The effect of the first embodiment is that the main CPU 340 can return from hibernation and the sub CPU 221 can start normally, which allows the controller 103 to start up quickly from hibernation. [Brief description of the drawings]
[0016] [Figure 1] Block diagram of image forming apparatus (101) [Diagram 2] Block diagram of the controller (103) [Diagram 3] Power supply system diagram of image forming apparatus (101) [Figure 4] Flowchart diagram of the first embodiment [Diagram 5] Flowchart diagram of the first embodiment [Figure 6] (A) and (B) are flow charts of the second embodiment. [Figure 7] Flowchart diagram of the second embodiment DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0017] The suspend state, the hibernation state, and the hybrid sleep state are referred to as a fast start-up mode, and a power saving state capable of fast start-up. The image forming apparatus in this embodiment is an image forming apparatus that can transition to a suspend state and a hibernation state.
[0018] Since an image forming apparatus also has a server function, the system state is constantly changing even during standby. Therefore, the main CPU can save the previous system execution state and transition to high-speed startup mode to return, thereby making the time until the user can use the system faster than with normal startup. However, image processing is usually used during jobs and not used during standby. Therefore, the sub-CPU can transition and return faster by the time it takes for the system to be saved if it is started normally from a power-off state, rather than saving the previous system execution state and transitioning to high-speed startup mode to return. To deal with this situation, there are several issues to be overcome in switching the main CPU to high-speed startup mode and returning, and starting the sub-CPU normally.
[0019] For example, in the case of suspend, the main memory can self-refresh during the suspend state to retain the data in the memory, but the sub-memory is powered off to save power. Therefore, the main CPU's execution program is placed in the area of main memory that is managed by the OS, and the sub-CPU's execution program is placed in the area of main memory that is not managed by the OS. Then, when returning from suspend, the sub-CPU's execution program placed in the area of main memory that is not managed by the OS can be loaded into the sub-memory and the sub-CPU can be started.
[0020] However, with hibernation, data in main memory is saved to a non-volatile storage device, but only areas managed by the OS (areas managed by the OS) are saved, and areas not managed by the OS (areas not managed by the OS) are not saved. Because the power to both main memory and sub-memory is turned off, the continuous area of the main memory not managed by the OS where the execution program of the sub-CPU is placed also disappears. Therefore, hibernation has the problem that the sub-CPU cannot be started after recovery.
[0021] Hybrid sleep is a combination of suspend and hibernation, suspending the computer until a certain time has elapsed in fast start mode, and then hibernating after that time has elapsed. However, hybrid sleep also has the same problem as hibernation, in that the power is turned off, and the programs executed by the sub-CPU are erased.
[0022] Hereinafter, an embodiment of the present invention for solving the above problems will be described with reference to the drawings. EXAMPLES
[0023] <System configuration> 1 is a block diagram for explaining the configuration of an image forming system according to the present embodiment, which is an example of a multifunction peripheral having a printing function, a scanner function, a data communication function, and the like.
[0024] In FIG. 1, an image forming apparatus (101) is configured to be able to receive a job from a computer (109) via a LAN (108). The number of computers connected may be one or more. A scanner device (102) optically reads an image from an original and converts it into a digital image. A printer device (104) outputs the digital image to a paper device called paper. An operation unit (105) has a touch panel and hard keys for receiving settings for the apparatus from a user and displaying a processing status. A hard disk (also called HDD) (106) stores digital images, control programs, etc. The HDD (106) is a non-volatile storage device that may be an SSD or eMMC. A FAX device (107) transmits and receives digital images via a telephone line, etc. The controller (103) is connected to the scanner device (102), printer device (104), operation unit (105), hard disk (106), and FAX device (107), and executes jobs on the image forming device (101) by issuing instructions to each module.
[0025] In addition, the operation unit (105) has a function for accepting settings for the device from the user, and by providing setting switches for enabling / disabling suspend, hibernation, and hybrid sleep, the set flags can be saved and referenced from applications.
[0026] The image forming device (101) is capable of inputting and outputting digital images from a computer (109) via a LAN (108), issuing jobs, and issuing instructions to the device. The scanner device (102) is made up of a document feed unit (121) that can automatically and sequentially replace a stack of documents, and a scanner unit (122) that can optically scan documents and convert them into digital images. The converted image data is sent to a controller (103).
[0027] The printer device (104) is composed of a paper feed unit (142) capable of feeding paper one sheet at a time from a stack of paper, a marking unit (141) for printing image data on the fed paper, and a paper discharge unit (143) for discharging the printed paper. The finisher device (150) performs processes such as discharging, sorting, stapling, punching, and cutting on the paper device output from the paper discharge unit (143) of the printer device (104) of the image forming apparatus (101).
[0028] <System Functions> An example of a job (function) that the image forming apparatus 101 can execute will be described below.
[0029] [Copy function] The image forming apparatus (101) has a copying function of recording an image read from a scanner device (102) on a hard disk (106) and simultaneously printing the image using a printer device (104).
[0030] [Image transmission function] The image forming apparatus (101) has an image transmission function for transmitting an image read from a scanner device (102) to a computer (109) via a LAN (108).
[0031] [Image storage function] The image forming apparatus (101) has an image storage function for recording an image read from a scanner device (102) on a hard disk (106) and transmitting or printing the image as necessary.
[0032] [Image printing function] The image forming apparatus (101) has an image printing function that analyzes, for example, a page description language transmitted from a computer (109) and prints the image using a printer device (104).
[0033] <Block diagram of controller (103)> Next, a block diagram of the controller (103) and peripheral devices will be described with reference to FIG.
[0034] The controller (103) is composed of a main board (200) and a sub board (220).
[0035] The main board (200) is a so-called general-purpose CPU system. It consists of a CPU (340) that controls the entire board, a boot ROM (202) that contains a boot program, and a memory (341) that the CPU uses as a work memory. It also consists of a bus controller (204) that has a bridge function with an external bus, and a non-volatile memory (205) that is not erased even when the power is turned off. The memory (341) includes an area managed by the OS and an area not managed by the OS. The area managed by the OS is a memory area that extends from the start address to the end address defined by the kernel, and includes sections such as text, data, bss, stack, and heap that are used by the kernel and the user. Conversely, the area not managed by the OS is a memory area other than the area managed by the OS. The area not managed by the OS is used, for example, for large continuous areas used by DMA that should not be fragmented in memory.
[0036] The CPU (340) also controls a watchdog timer (also called a WDT) (230) that resets the controller (103). The CPU (340) controls a network controller (211) to transmit and receive data to and from the computer (109) via the LAN (108). The CPU (340) controls a real-time clock (RTC) (212) to set the current time and the return time.
[0037] Furthermore, it is composed of a disk controller (206) that controls the storage device, a flash disk (207) such as an SSD or eMMC that is a relatively small-capacity storage device composed of semiconductor devices, a USB controller (208) that can control USB, etc. Externally connected to the main board (200) are a USB memory (209), an operation unit (105), a hard disk (106), etc.
[0038] The sub-board (220) is composed of a relatively small general-purpose CPU system and image processing hardware. The board is controlled by a CPU (221), memory (223) used by the CPU as work memory, a bus controller (224) with a bridge function to an external bus, and non-volatile memory (225) that is not erased even when the power is turned off.
[0039] The controller (103) also has an image processor (227) that performs real-time digital image processing, and a device controller (226). The scanner device (102) and printer device (104), which are connected to the outside of the controller (103), exchange digital image data via the device controller (226). Paper discharged from the printer device (104) is processed by the finisher device (105). The FAX device (107) is directly controlled by the CPU (221).
[0040] Note that this is a simplified block diagram. For example, the CPU (340), CPU (221), etc., include a large amount of CPU peripheral hardware such as a chip set, a bus bridge, and a clock generator, but this is simplified because it is not necessary for the granularity of the explanation, and this block configuration does not limit the present invention.
[0041] The operation of the controller (103) will be described using an example of image copying using a paper device.
[0042] When a user issues an instruction to copy an image from the operation unit (105), the CPU (340) sends an image reading command to the scanner device (102) via the CPU (221). The scanner device (102) optically scans a paper document, converts it into digital image data, and inputs it to the image processor (227) via the device controller (226). The image processor performs DMA (Direct Memory Access) transfer to the memory (223) via the CPU (221) and temporarily stores the digital image data.
[0043] When the CPU (340) confirms that a certain amount or all of the digital image data has been stored in the memory (223), it issues an image output instruction to the printer device (104) via the CPU (221).
[0044] The CPU (221) informs the image processor (227) of the address of the image data in the memory (223). The image data in the memory (223) is transmitted to the printer device (104) via the image processor (227) and the device controller (226) in accordance with a synchronization signal from the printer device (104).
[0045] The printer device (104) prints the digital image data onto a paper device.
[0046] When printing multiple copies, the CPU (340) stores the image data in the memory (223) on the hard disk (106). From the second copy onwards, it is possible to send image data from the hard disk (106) or memory (223) to the printer device (104) without receiving the image data from the scanner device (102).
[0047] <Power configuration> Fig. 3 is a block diagram for explaining the power supply configuration of the image forming apparatus (101) shown in Fig. 1. Below, with reference to Fig. 3, the configuration of the power supply (301), power supply control unit (303), controller (103), operation unit (105), scanner device (102), and printer device (104) in the image forming apparatus (101) that is relevant to the present invention will be explained. In Fig. 3, the power supply control unit (303) is constantly supplied with power from the power supply (301) via the power line. However, since the power consumption is only slight, when the power supply is turned off, only the power supply control unit (303) is energized and power control is performed.
[0048] When the power switch (110) of the image forming apparatus (101) is pressed, the power control unit (303) detects this and controls the power switch P (310) to supply power to the CPU (340) of the controller (103). Similarly, the power control unit (303) controls the power switch Q (311) to supply power to the CPU (305) of the operation unit (105), the power switch R (312) to supply power to the scanner device (102), and the power switch L (313) to supply power to the printer device (104).
[0049] Furthermore, the CPU (340) of the controller (103) can control the power switch Q (311) by notifying the power control unit (303) to supply power individually to the CPU (305) of the operation unit (105). At the same time, the CPU (340) can control the power switch R (312) to supply power individually to the scanner device (102) and the power switch L (313) to supply power individually to the printer device (104) from the power source (301).
[0050] At this time, it is also possible to individually control the power supply of the marking unit (141), the paper feed unit (142), and the paper discharge unit (143) of the printer device (104), but this is omitted as it is outside the scope of this description. Power supply to each block as shown in FIG. 3 can be realized, for example, by configuring the power switch P (310) with two systems, and in the sleep state, turning off only the relay switch connected to the block to be turned off and leaving the other on. In the shutdown state, the relay switches of both systems are turned off. In this case, the power control signal is not a binary signal but a multi-value control signal according to the power supply state. Although this description is omitted in this example, power supply is achieved by such control in each of the above-mentioned power states including the sleep state and the shutdown state. This control may be achieved by the power control unit (303) controlling the power switch P (310) to multi-values to supply power to each block of the controller (103). This control may take any form, such as the CPU (340) of the controller (103) notifying the power supply control unit (303) to perform multi-value control of the power switch P (310) to supply power to each block of the controller (103).
[0051] <Power supply when restarting the power supply control unit (303)> Next, the reboot process of the image forming apparatus (101) will be described. The CPU (340) of the controller (103) of the image forming apparatus (101) receives a reboot event in a standby state after startup. The reboot event may be issued by an application running on the CPU (340) or may be received by the CPU (340) from the computer (109) via the LAN (108).
[0052] Next, the CPU (340) performs application termination processing and processing to save information in the memory (341) in the HDD (106). The CPU (340) also performs peripheral termination processing and termination processing for the printer device (104), scanner device (102), FAX device (107), finisher device (150), etc. The CPU (340) notifies the power control unit (303) and transitions to a power-off state.
[0053] In the power-off state, the power control unit (303) turns off each of the power switches (310, 311, 312, 313). As a result, the power control unit (303) cuts off power to the controller (103), printer device (104), scanner device (102), FAX device (107), finisher device (150), etc. The power control unit (303) waits until the analog power signal becomes dull and drops completely. It is also possible to turn off the power to each device by resetting it rather than by turning it off, thereby shortening the signal waiting time, but this is omitted as it is outside the scope of this discussion.
[0054] Next, the power control unit (303) turns on each of the power switches (310, 311, 312, 313) to energize the controller (103), printer device (104), scanner device (102), FAX device (107), finisher device (150), etc. The CPU (340) of the controller (103) performs start-up processing and initializes the peripherals. The printer device (104), scanner device (102), FAX device (107), and finisher device (150) also perform their respective start-up processing.
[0055] <Power supply when the power control unit (303) transitions to sleep> Next, the sleep transition process of the controller (103) will be described. If an active state where the user is not using the controller continues for a certain period of time, the CPU (340) transitions to a sleep state by an auto sleep timer. The CPU (340) notifies the power supply control unit (303) of the transition to the sleep state and changes the power supply to the controller (103).
[0056] As mentioned above, power supply to each block can be realized, for example, by configuring the relay switch (308) with two systems, and in the sleep state, turning off only the relay switch connected to the block to be powered off and leaving the other on. At this time, the CPU (340) can also transition to the sleep state by notifying the power supply control unit (303), turning off the power switch Q (311), and stopping the power supply from the power supply (301) to the operation unit (105).
[0057] At this time, the CPU 340 notifies the CPU 305 of the operation unit 105 via serial communication or the like, and the CPU 305 of the operation unit 105 puts the operation panel and peripherals into a power saving state, so that the CPU 305 can transition to a sleep state. Similarly, the scanner device 102 and the printer device 104 can also go into sleep mode, but this is omitted as it is outside the scope of this discussion.
[0058] <Power supply during sleep of the power supply control unit (303)> Next, the sleep state of the image forming apparatus (101) will be described. The sleep state is a state in which the power consumption can be reduced and the startup time can be made earlier than normal startup. The image forming apparatus transitions to the sleep state when a certain period of time has passed without the user performing any operation, when the touch panel or power saving key on the operation unit (105) is pressed, or when a set time is reached. In the sleep state, power is supplied to the memory (341), interrupt controller, network controller, RTC, USB controller, etc. of the controller (103). Power is also supplied to the power saving key on the operation unit (105), parts of the FAX device, various sensors, etc. However, since the cause of returning from sleep differs depending on the system, the power supply in the sleep state is not limited to this configuration.
[0059] <Power supply when returning from sleep mode by the power supply control unit (303)> The operation of the software when returning from sleep will be described. During sleep, the power supply control unit (303) starts supplying power when it receives one or more interrupts, such as an interrupt from a network, an RTC for detecting a timer or an alarm, a FAX for detecting an incoming call or off-hook, a software switch, various sensors, or a USB for detecting insertion / removal or communication. More specifically, these interrupts include opening and closing the cover of the front door of the printer, inserting and removing print paper in the multi-manual paper feed unit of the printer, opening and closing the pressure plate of the scanner, and document detection in the auto document feeder of the scanner. Furthermore, these include card detection by an NFC card reader, detection by a human sensor, off-hook of a FAX handset, incoming FAX, etc. The power supply control unit (303) notifies the CPU (340) of the cause of the interrupt, and the CPU (340) receives the interrupt and performs a process of returning the software to the normal state, i.e., a process of returning from sleep.
[0060] Next, the sleep return process of the controller (103) will be described. When the power supply control unit (303) receives an event handler for pressing the power-saving key, which is one of the sleep return causes, during sleep, it turns on the power switch (310) and returns the CPU (340) of the controller (340) from sleep. At this time, for example, the power supply control unit (303) controls the power switch (310) in multiple values to supply power to each block of the controller (103). Furthermore, the power supply control unit (303) can also return the CPU (340) from sleep by issuing an interrupt signal to the CPU (340), but this is omitted because the sequence becomes complicated and is outside the scope of this description. The CPU (340) notifies the power supply control unit (303), and the power supply control unit (303) turns on the power switches (311, 312, 313) and supplies power to the operation unit (105), the scanner device (102), and the printer device (104). Although power supply to devices such as a FAX machine (107) is not shown, this can be provided as a signal (not shown).
[0061] Although the wake-up trigger mentioned above was pressing the power-saving key, the device can also be woken up by a network packet and process the network packet in the sleep intermediate state. When the power supply control unit (303) receives a network packet that is a wake-up trigger during sleep, it turns on the power switch (310) and wakes up the CPU (340) of the controller (340). If the received network packet is interpreted as a print job at this time, the CPU (340) notifies the power supply control unit (303), which then turns on the power switch (313) and supplies power to the printer device (104). In this case, processing can be performed without supplying power to the operation unit (105) or scanner device (102). In other words, the operation unit (105) does not need to be powered if the user does not use a touch panel or the like. The printer device (104) and scanner device (102) do not need to be powered if a print job is not generated or if there is no need to obtain device information.
[0062] <Power supply when the power supply control unit (303) enters sleep mode again> When the user's copy or a print job via the network is completed, the CPU (340) transitions to the sleep state again. That is, the CPU (340) notifies the power supply control unit (303) of the transition to sleep. The power supply control unit (303) turns off the power switches (311, 312, 313) using a power supply control signal (310) to stop power supply to components other than the controller (103). At this time, for example, the power supply control unit (303) can also put the CPU (340) into a state waiting for an interrupt signal, and perform multi-value control of the power supply switch (310) to turn off each block of the controller (103), thereby putting the CPU (340) into the sleep state. However, this would make the sequence more complicated, and is outside the scope of this discussion, so it will be omitted here.
[0063] <Power supply in the fast startup mode of the power supply control unit (303)> Suspend is a power saving state in which memory is energized to maintain its state, and can be used in sleep state or high speed start-up mode. The CPU (340) of the main board (200) is referred to as the main CPU (340). The memory (341) of the main board (200) is referred to as the main memory (341). The CPU (221) of the sub-board (220) is referred to as the sub CPU (221). The memory (223) of the sub-board (220) is referred to as the sub-memory (223). The main memory (341) holds an area under OS management and an area outside OS management in the memory.
[0064] When the power switch (110) is turned off, the power supply control unit (303) notifies the CPU (340). The CPU (340) expands the execution program of the sub CPU (221) from the non-volatile storage device (106) into a continuous area for DMA transfer to an area outside the OS management on the main memory (341), and notifies the power supply control unit (303). The power supply control unit (303) performs multi-value control of the power switch (310) and turns off the power of the sub CPU (221) and the sub memory (223). At the same time, the power supply control unit (303) puts the main memory (341) into a self-refresh state in which the refresh rate is lowered to save power. This puts the controller (103) into a suspend state.
[0065] Next, when the power switch (110) is turned on, the power supply control unit (303) releases the main memory (341) from the self-refresh state and powers on the sub CPU (221) and the sub memory (203), thereby returning from the suspended state. The main CPU (340) DMA transfers the execution program of the sub CPU (221), which was expanded in an area outside the OS management on the main memory (341) before the suspension, to the sub memory (223), and releases the reset of the sub CPU (221). As a result, the sub CPU (221) reads and starts the program in the sub memory (223).
[0066] The trigger for transitioning to and from the suspended state is not limited to turning the power switch on and off; transitions can also be caused by software events, but this is beyond the scope of this article and will not be covered here.
[0067] <Explanation of fast start-up mode in sleep and off states> The explanation of the fast start-up mode, which is the sleep state, using Figure 3 is a form of suspend that is triggered by receiving a state transition event. Also, the explanation of the fast start-up mode, which is the off state, in Figure 3 is a form of suspend that is triggered by turning off the power switch. Both suspends, the sleep state and the fast start-up mode, which is the off state, have different power values because they wait by stopping the power supply and clocks of peripheral chips and IP that are not used for recovery, but the basic sequence is the same.
[0068] The time to enter and return from the fast startup mode is faster in suspend and slower in hibernation, depending on whether or not there is a time to save and restore memory. Therefore, the explanation of the fast startup mode, which is the sleep state in Figure 3, is described as a form of suspend that is triggered by a software event. Also, the explanation of the fast startup mode, which is the off state in Figure 3, is described as a form of suspend that is triggered by turning off the power switch.
[0069] The explanation of the fast start-up mode in Figures 4 to 7 is one form of suspend, hibernation, and hybrid sleep, which is started by turning off the power switch as a trigger. Since Figure 3 explains suspend, Figures 4 and 5 mainly explain hibernation, and Figures 6 and 7 mainly explain hybrid sleep.
[0070] The time it takes to save and restore memory is faster for suspend without memory evacuation, and slower for hibernation with memory evacuation. As for saving memory power, suspend consumes more power because it cannot shut off the power without memory evacuation, while hibernation consumes less power because it can shut off the power with memory evacuation. Also, the start trigger can be not only turning off the power switch, but also the receipt of a state transition event. For this reason, the fast startup mode can be substituted by design policies such as prioritizing transition and recovery time or power consumption, but this is outside the scope of this discussion and will be omitted here.
[0071] <Explanation of the Flowchart of the First Embodiment> FIG. 4 is a flowchart of a transition to hibernation and suspend, and FIG. 5 is a flowchart of a return from hibernation and suspend in the first embodiment. The CPU (340) of the main board (200) is called the main CPU (340). The memory (341) of the main board (200) is called the main memory (341). The CPU (221) of the sub-board (220) is called the sub CPU (221). The memory (223) of the sub-board (220) is called the sub-memory (223). The main memory (341) holds an area under the management of the OS and an area not under the management of the OS in the memory. Hibernation is a power saving state in which data and registers in the area under the management of the OS on the main memory (341) are evacuated and the power to the memory is turned off.
[0072] The problematic sequence will now be described. Before transitioning to the hibernation state, the main CPU (340) loads the execution program of the sub CPU (221) into an area of the main memory (341) not managed by the OS, as in the case of suspend. The main CPU (340) does not save the area of the main memory (341) not managed by the OS in the non-volatile storage device (106). As a result, the main CPU (340) switches off the power to the main memory (341) at the same time as transitioning to the hibernation state, causing the execution program of the sub CPU (221) to be erased.
[0073] Therefore, the main CPU (340) determines whether or not a hibernation return is required at startup, and expands the execution program of the sub-CPU (221) into an area of the main memory (340) not managed by the OS, and then expands it into the sub-memory (223), which is different from a suspend return.
[0074] The flow chart in Fig. 4 will now be described. The main CPU (340) of the image forming apparatus (101) starts from a standby state in which it is capable of receiving a termination processing event. The main CPU (340) receives a system termination processing event, such as detection of the power switch (110) being turned off, which is one of the termination processing events (S410). The termination processing event may be a transition to a standby state capable of high speed startup, a shutdown, a reboot, etc.
[0075] Consider a case where the termination processing event received by the main CPU (340) is a transition to a standby state that allows high-speed startup and hibernation is enabled (ON) (S430). The main CPU (340) saves data in the OS-managed area of the main memory (341) and register information of the main CPU (340) in the non-volatile storage device (106) (S431). The data saved in the non-volatile storage device (106) is called a hibernation image.
[0076] Thereafter, the main CPU (340) notifies the power supply control unit (303). The power supply control unit (303) performs multi-value control of the power switch (310) to turn off the power to the sub CPU (221) and the sub memory (223), and also to the main memory (341). As a result, the CPU (340) transitions the controller (103) to a hibernation state (S432).
[0077] Furthermore, if the received termination processing event is a transition event to a standby state that can be started up quickly, and if hibernation is disabled (OFF) (S430) and suspend is enabled (ON) (S440), the main CPU (340) performs the following: The main CPU (340) loads the execution program of the sub CPU (221) in an area outside the OS management of the main memory (341) (S441). Thereafter, the main CPU (340) notifies the power supply control unit (303) and transitions the system to a suspended state (S442). In other words, before the system transitions to the suspended state, the execution program of the sub CPU is loaded in an area outside the OS management of the main memory. Furthermore, if the received termination processing event is not a transition to a standby state that can be started up quickly (S430, S440) but a shutdown or reboot, the main CPU (340) performs termination processing (S450). Thereafter, the main CPU (340) notifies the power supply control unit (303) and transitions the system to a shutdown state.
[0078] A supplement to the above-mentioned flowchart of entering hibernation in FIG. 4 is provided. The system shutdown processing event (S410) is not limited to turning off the power switch (110). The shutdown processing event may take any form, such as the CPU (340) starting processing due to a system operation, the CPU (340) starting processing due to an event received from the computer (109) via the LAN (108), or via a telephone line. System operations include an auto-shutdown timer based on the RTC, an auto-shutdown time, and a remote shutdown from outside. However, a description of these is omitted as they are outside the scope of this discussion.
[0079] The main CPU (340) can determine whether hibernation is enabled (ON) (S430) by referring to a hibernation enable / disable flag. The hibernation enable / disable flag is saved in a non-volatile storage device or memory as a system initial setting value or input by the user to the operation unit (110). In addition, whether hibernation is enabled (ON) (S430) can also be determined by including flag information in a system termination processing event (S410) received by the main CPU (340). These determinations are not limited to hibernation, and similar determinations can be made for other functions such as suspend, but this is omitted as it is outside the scope of this discussion.
[0080] Fig. 5 is a flowchart of the first embodiment for returning from hibernation, which most clearly illustrates the features of the present invention. The flowchart in Fig. 5 will be explained below. The main CPU (340) of the image forming apparatus (101) starts from a standby state in which it is capable of receiving a start-up event, that is, from a high-speed start-up mode or a power-off state.
[0081] The main CPU (340) receives a system startup process event (S510). When the power switch (110) is turned on, the power supply control unit (303) starts startup processing of the main CPU (340).
[0082] Next, the main CPU (340) judges whether or not the system is returning from a hibernation state (S540). The case of returning from a hibernation state (Yes in S540) will be described. The main CPU (340) loads the hibernation image saved in the non-volatile storage device (106) before hibernation into an area managed by the OS in the memory (341) of the main CPU (340) and restores the registers of the main CPU (340) (S541). Next, the main CPU (340) loads the execution program of the sub CPU (221) into an area not managed by the OS on the main memory (341) (S542). In other words, when returning from a hibernation state, the execution program of the sub CPU is stored in the main memory after power is applied to the main memory. Thereafter, the main CPU (340) DMA transfers the execution program of the sub CPU (221) in the area not managed by the OS to the sub memory (223) and releases the reset of the sub CPU (221). As a result, the sub CPU 221 reads and starts the program in the sub memory 223 (S550). Conversely, if the return is not from the hibernation state (No in S540), the return is from the suspended state, and the process proceeds to S550.
[0083] A supplement to the above-mentioned flowchart of returning from hibernation in FIG. 5. The system start processing event (S510) is not limited to turning on the power switch (110). The start processing event can be in any form, such as the CPU (340) starting processing due to a system operation, the CPU (340) starting processing due to an event received from the computer (109) via the LAN (108), or via a telephone line. System operations include an auto-boot timer based on the RTC, auto-boot time, and remote boot from an external source. However, explanations of these are omitted as they are outside the scope of this discussion.
[0084] Methods for determining whether the power state before restoration was a hibernation state (S540) include whether hibernation is enabled or disabled, whether a hibernation image is present, and whether a flag is present on the non-volatile storage device (106).
[0085] (Effects of Example 1) The effect of the first embodiment is that the main CPU 340 can return from hibernation and the sub CPU 221 can start normally, which allows the controller 103 to start up quickly from hibernation.
[0086] <Flowchart of the second embodiment> FIG. 6 is a flowchart of a transition to hybrid sleep, and FIG. 7 is a flowchart of a return from hybrid sleep in the second embodiment.
[0087] Hybrid sleep is a function that combines suspend and hibernation. With hybrid sleep, when the main CPU (340) receives a power state transition event, it transitions to suspend for a certain period of time, and to hibernation after a certain period of time has passed. After that, when the main CPU (340) receives a power state recovery event, if it is off for a short period of time, it will start up faster because it is suspended, but if it is off for a long period of time, it will go into hibernation, allowing for greater power savings.
[0088] The sequence in which the problem exists will now be described. Before transitioning to the hybrid sleep state, the main CPU (340) expands the execution program of the sub CPU (221) in an area outside the OS management of the main memory (341), just like in the case of suspend. When returning from the suspended state, the execution program of the sub CPU (221) expanded in the area outside the OS management of the main memory (341) can be used, so the system can return from suspend. However, when returning from the hibernation state, the execution program of the sub CPU (221) expanded in the area outside the OS management of the main memory (341) has been erased due to the power being turned off for the main memory (341), so the system cannot return to hibernation.
[0089] Therefore, the main CPU (340) judges whether hybrid sleep is a suspend return or a hibernation return at startup. In the case of a hibernation return, the execution program of the sub CPU (221) is expanded in an area outside the OS management of the main memory (340), and is then expanded in the sub memory (223). As mentioned above, it differs from a normal hibernation return in that it is determined at the time of return whether the original state was a suspend or hibernation.
[0090] The flowchart in FIG. 6(A) will be described below.
[0091] The main CPU (340) of the image forming apparatus (101) starts from a standby state in which it can receive a termination processing event. The main CPU (340) receives a system termination processing event, such as detection of the power switch (110) being turned off, which is one of the termination processing events (S610). The termination processing event includes a transition to a standby state that allows high-speed startup, a shutdown, a reboot, and the like.
[0092] If the received termination process event is a transition to a standby state that allows high-speed activation (S610) and hybrid sleep is enabled (ON) (S620), the main CPU (340) performs the following.
[0093] The main CPU (340) loads an execution program of the sub CPU (221) in an area outside the OS management of the main memory (341) (S621).
[0094] Next, the main CPU (340) saves data in the OS-managed area of the main memory (341) and register information of the main CPU (340) in the non-volatile storage device (106) (S622). The data saved in the non-volatile storage device (106) is called a hibernation image.
[0095] Next, the main CPU (340) sets the time, for example, four hours later, at which the notification will be received in the RTC alarm, and starts it (S623).
[0096] Next, the main CPU (340) notifies the power supply control unit (303). The power supply control unit (303) performs multi-value control of the power switch (310), turns off the power supply of the sub CPU (221) and the sub memory (223), and puts the main memory (341) into a self-refresh state. As a result, the CPU (340) transitions the controller (103) into a suspend state (S624).
[0097] In addition, if the received termination processing event is a transition to a standby state that allows rapid startup (S610), hybrid sleep is disabled (OFF) (S620), and hibernation is enabled (ON) (S630), the main CPU (340) executes the following.
[0098] The main CPU (340) saves (S631) data in the OS-managed area of the main memory (341) and register information of the main CPU (340) in the non-volatile storage device (106). The data saved in the non-volatile storage device (106) is called a hibernation image.
[0099] Next, the main CPU (340) notifies the power supply control unit (303). The power supply control unit (303) performs multi-value control of the power switch (310) to turn off the power to the sub CPU (221) and the sub memory (223), and also to the main memory (341). As a result, the CPU (340) transitions the controller (103) to a hibernation state (S632).
[0100] The main CPU (340) also checks whether the received termination processing event is a transition event to a standby state that allows high-speed startup (S610). The main CPU (340) also checks whether hybrid sleep is disabled (OFF) (S620) and whether hibernation is disabled (OFF) (S630). If suspend is enabled (ON) (S640), the main CPU (340) executes the following:
[0101] The main CPU (340) loads the execution program of the sub CPU (221) into an area outside the OS management of the main memory (341) (S641).
[0102] Next, the main CPU (340) notifies the power supply control unit (303). The power supply control unit (303) performs multi-value control of the power switch (310), turns off the power supply of the sub CPU (221) and the sub memory (223), and puts the main memory (341) into a self-refresh state. As a result, the CPU (340) transitions the controller (103) into a suspend state (S642).
[0103] Furthermore, if the received termination process event is not a transition to a standby state that allows high speed startup (S610, S620, S630, S640) but a shutdown or reboot, the main CPU (340) performs termination processing.
[0104] The main CPU (340) notifies the power supply control unit (303). The power supply control unit (303) turns off the power supply to the sub CPU (221) and the sub memory (223), and turns off the power supply to the main memory (341). As a result, the CPU (340) transitions the controller (103) to a shutdown state (S650).
[0105] The following is a supplement to the flowchart of hybrid sleep entry shown in FIG.
[0106] The system shutdown processing event (S610) is not limited to turning off the power switch (110). The shutdown processing event may take any form, such as the CPU (340) starting processing due to a system operation, the CPU (340) starting processing due to an event received from the computer (109) via the LAN (108), or via a telephone line. System operations include an auto-shutdown timer based on the RTC, an auto-shutdown time, and a remote shutdown from outside. However, a description of these is omitted as they are outside the scope of this discussion.
[0107] The main CPU (340) can determine whether the hybrid sleep function is enabled (ON) (S620) by referring to the enable / disable flag of the hybrid sleep function. The hybrid sleep enable / disable flag is saved in a non-volatile storage device or memory as a system initial setting value or input by the user to the operation unit (110). In addition, whether hybrid sleep is enabled (ON) (S620) can also be determined by including flag information in a system termination processing event (S610) received by the main CPU (340). These determinations are not limited to hybrid sleep, and similar determinations can be made for other functions such as hibernation and suspend, but this is omitted as it is outside the scope of this discussion.
[0108] The flowchart in FIG. 6(B) will be described below.
[0109] The main CPU (340) of the image forming apparatus (101) starts from a standby state in which it has transitioned to a suspended state due to hybrid sleep setting and is capable of receiving an RTC timer expiration event. When a specified time has elapsed in the suspended state, the main CPU (340) receives a timer expiration event from the RTC (212) (S680). Next, the main CPU (340) performs power OFF, which transitions to hibernation (S690). That is, the main CPU (340) notifies the power control unit (303). The power control unit (303) powers OFF the sub CPU (221) and the sub memory (223), and also powers off the main memory (341). As a result, since the main CPU (340) has already saved a hibernation image (S621), it transitions the controller (103) to the hibernation state (S690). In this embodiment, the timer expiration event is used as an example of a trigger for transition from the suspend state to the hibernation state, but the present invention is not limited to this. For example, the device may be configured to transition from the suspend state to the hibernation state by detecting that a tactile switch, which is a type of power switch 110, has been pressed and held down as a predetermined condition.
[0110] There are various types of power switch 110. For example, there are push switches, which can be distinguished from the outside as being in two states, ON and OFF, toggle switches, which tilt a lever, and rocker switches, which tilt a seesaw in one direction. There are also tactile switches and slide switches, which detect a push or slide and return to their original state when released, but can express both ON and OFF states without being able to tell from the outside whether they are in the ON or OFF state, and can be pressed and slid for a long time. The above-mentioned state transitions can also be realized using various types of power switches 110, such as tactile switches and slide switches, but this is omitted as it is outside the scope of this discussion.
[0111] The following is a supplement to the flowchart of hybrid sleep entry shown in FIG.
[0112] The timer expiration event may be an interrupt return on RTC timer expiration.
[0113] Furthermore, the notification of the expiration of the RTC timer may be received directly by the power supply control unit (303) instead of the main CPU (340), and the power supply switch for each unit of the controller (340) may be controlled with multiple values to stop the power supply. In this case, the RTC timer may be the RTC (212) that receives the signal notification from the CPU, or a different RTC that receives the notification from the power supply control unit (303), but details will be omitted as they are outside the scope of this discussion.
[0114] Fig. 7 is a flowchart of returning from hybrid sleep in the second embodiment. The flowchart in Fig. 7 will be described below.
[0115] The main CPU (340) of the image forming apparatus (101) starts from a standby state in which it can receive a startup event, that is, from a high-speed startup mode or a power-off state.
[0116] The main CPU (340) receives a system recovery process event (S510). That is, when the power switch (110) is turned on (S710), the power supply control unit (303) starts the startup process of the main CPU (340).
[0117] Next, the main CPU (340) cancels the setting of the RTC recovery time (S731).
[0118] Next, the main CPU (340) judges whether or not to return from a hibernation state (S540). The case of returning from a hibernation state (Yes at S540) will be described below. The main CPU (340) expands the hibernation image saved in the non-volatile storage device (106) before hibernation into an area managed by the OS in the memory (341) of the main CPU (340), and restores the registers of the main CPU (340) (S541).
[0119] Next, the main CPU (340) loads the execution program of the sub CPU (221) in an area not managed by the OS on the main memory (341) (S542). After that, the main CPU (340) DMA transfers the execution program of the sub CPU (221) in the area not managed by the OS to the sub memory (223) and releases the reset of the sub CPU (221). As a result, the sub CPU (221) reads and starts the program in the sub memory (223) (S550).
[0120] Conversely, if the recovery is not from the hibernation state (No in S540), the recovery is from the suspended state, and the process proceeds to S550.
[0121] The following will supplement the flowchart of hybrid sleep return shown in FIG.
[0122] The system start processing event (S510) is not limited to turning on the power switch (110). The start processing event may be in any form, such as when the CPU (340) starts processing due to a system operation, when the CPU (340) starts processing due to an event received from the computer (109) via the LAN (108), or when the event is received via a telephone line. System operations include an auto-boot timer using the RTC, auto-boot time, and remote boot from an external source. Since a single RTC can provide separate interrupt notifications such as timers and alarms, and since multiple RTCs can be implemented in hardware, it is possible to distinguish between RTC recovery that determines the elapsed suspend time and other RTC recovery. However, a description of these is omitted as it is outside the scope of this discussion.
[0123] The method of determining whether the power state before the recovery was a hibernation state (S540) includes the elapsed time from the transition to the high-speed startup state to the recovery, whether hibernation is enabled or disabled, whether a hibernation image is present, whether a flag is present on the non-volatile storage device (106), etc.
[0124] (Effects of Example 2) The effect of the second embodiment is that in a configuration of a main CPU (340) and a sub CPU (221), the main CPU (340) judges whether the system has returned from suspend or hibernation in hybrid sleep. Also, the sub CPU (221) can quickly start up both in suspend and hibernation by starting up the execution program normally. [Explanation of symbols]
[0125] 101 Image forming device 103 Controller 104 Printer device 303 Power supply control unit 307 Printer device CPU 340 Controller CPU
Claims
1. An image forming apparatus having at least a first controller for controlling the apparatus, at least a second controller for image processing, and memory, and capable of transitioning between a normal state, a suspend state which is a high-speed startup-capable, power-saving state in which power is supplied to the memory, and a hibernation state which is a power-saving state in which power is not supplied to the memory, The image forming apparatus has a first control means that, upon receiving a termination processing event, switches the image forming apparatus to a power-saving state. If the first control means determines that transitioning to the hibernation state is effective, it transitions to the hibernation state. If it determines that transitioning to the suspend state is effective, it controls the system to deploy the program of the second controller to an area of the memory outside of OS management, turn off power to the second controller, and then transition to the suspend state. An image forming apparatus characterized by the following:
2. Furthermore, the image forming apparatus is equipped with a non-volatile storage means, When the first control means determines that transitioning to the hibernation state is effective, it saves the data in the OS-managed area of the memory to the storage means, and then controls the system to turn off power to the memory and the second controller. The image forming apparatus according to feature 1.
3. It comprises at least the second controller and a power supply control unit that controls the power supply to the memory, When the first control means notifies the power supply control unit that it is transitioning to the hibernation state, the power supply control unit controls the system so as not to supply power to the second controller and the memory. The image forming apparatus according to feature 1.
4. When the first control means notifies the power control unit that it is transitioning to the suspend state, the power control unit controls the system so as not to supply power to the second controller. The image forming apparatus according to feature 3.
5. Upon receiving a recovery processing event, the image forming apparatus has a second control means that restores the image forming apparatus from a power-saving state to a normal state. The second control means, upon recovery from the suspend state, restores the system to the normal state by having the second controller read the program that was loaded into the memory before transitioning to the suspend state. The image forming apparatus according to feature 1.
6. Upon receiving a recovery processing event, the image forming apparatus has a second control means that restores the image forming apparatus from a power-saving state to a normal state. When the second control means recovers from the hibernation state, it energizes the memory, then loads the program of the second controller into the memory, and returns to the normal state by loading the loaded program. The image forming apparatus according to feature 1.
7. The image forming apparatus has a power switch, The system receives the termination event when it detects that the power switch has been turned OFF, and the system receives the recovery event when it detects that the power switch has been turned ON. The image forming apparatus according to feature 1.
8. An image forming apparatus having at least a first controller for controlling the apparatus, at least a second controller for image processing, and memory, and capable of transitioning between a normal state, a suspend state which is a high-speed startup-capable, power-saving state in which power is supplied to the memory, and a hibernation state which is a power-saving state in which power is not supplied to the memory, Upon receiving a termination event, the first control means controls the second controller to load its program into memory and then transition to a suspend state. A second control means controls the system to transition to the suspend state and, when predetermined conditions are met, to transition to the hibernation state. The system includes a third control means that, upon receiving a recovery processing event, restores the image forming apparatus from a power-saving state to a normal state. When the third control means determines that the system has returned from the hibernation state, it energizes the memory, loads the program of the second controller into the memory, and the second controller loads the loaded program, thereby returning the system to the normal state. An image forming apparatus characterized by the following:
9. It comprises at least the second controller and a power supply control unit that controls the power supply to the memory, When the first control means receives the termination processing event, it loads the program of the second controller into memory and notifies the power control unit that it will transition to the suspend state. Upon receiving the aforementioned notification, the power control unit controls itself to refrain from supplying power to the second controller. The image forming apparatus according to feature 8.
10. Furthermore, the image forming apparatus is equipped with a non-volatile storage means, The second control means, upon transitioning to the suspend state and meeting predetermined conditions, notifies the power control unit that it will transition to the hibernation state after saving the data in the OS-managed area of the memory to the storage means. Upon receiving the aforementioned notification, the power control unit controls itself to refrain from supplying power to the second controller and the memory. The image forming apparatus according to feature 9.
11. When the third control means determines that the system has returned from the suspended state, the second controller reads the program that was loaded into the memory before the system entered the suspended state, thereby restoring the system to the normal state. The image forming apparatus according to feature 8.
12. It has a timer, When the third control means receives the recovery processing event, it stops the timer. The image forming apparatus according to feature 8.
13. A setting means for enabling or disabling the hybrid sleep function, which transitions to a hibernation state after a certain period of time has elapsed since transitioning to the suspend state, Timer and It has, When the first control means receives the termination processing event, if the hybrid sleep function is enabled, it starts the timer immediately before transitioning to the suspend state. The image forming apparatus according to feature 8.
14. The image forming apparatus has a power switch, The system receives the termination event when it detects that the power switch has been turned OFF, and the system receives the recovery event when it detects that the power switch has been turned ON. The image forming apparatus according to feature 8.
15. A control method for an image forming apparatus having at least a first controller for controlling the apparatus, at least a second controller for performing image processing, and a memory, and capable of transitioning between a normal state, a suspend state which is a high-speed startup-capable, power-saving state in which the memory is powered, and a hibernation state which is a power-saving state in which the memory is not powered, Upon receiving a termination event and determining whether a transition to the hibernation state is valid, the system transitions to the hibernation state. If it determines that a transition to the suspend state is valid, the system controls the second controller to deploy its program to an area of memory outside of OS management, turn off power to the second controller, and transition to the suspend state. A control method for an image forming apparatus, characterized by the following:
16. A control method for an image forming apparatus having at least a first controller for controlling the apparatus, at least a second controller for performing image processing, and a memory, and capable of transitioning between a normal state, a suspend state which is a high-speed startup-capable, power-saving state in which the memory is powered, and a hibernation state which is a power-saving state in which the memory is not powered, Upon receiving a termination event, a first control step is performed to load the program of the second controller into memory and then control it to transition to a suspend state. A second control step controls the system to transition to the hibernation state after a certain period of time has elapsed since transitioning to the suspend state, The system includes a third control step that, upon receiving a recovery processing event, restores the image forming apparatus from a power-saving state to a normal state, The third control step, upon determining that the system has returned from the hibernation state, energizes the memory, loads the program of the second controller into the memory, and the second controller loads the loaded program, thereby returning the system to the normal state. A control method for an image forming apparatus, characterized by the following: