control device
The control device uses a volatile and non-volatile storage system to store a hibernation image in a restricted area, allowing hibernation without creating new images, ensuring reliable operation even during power failures.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- TOSHIBA TEC KK
- Filing Date
- 2026-04-23
- Publication Date
- 2026-06-25
AI Technical Summary
Existing hibernation techniques require creating a memory image every time a device transitions to a power-saving state, which can fail due to power failures, preventing hibernation from being performed.
A control device with a volatile first storage device and a non-volatile second storage device, where a memory image is stored in a restricted area that cannot be rewritten, allowing hibernation without creating a new image each time, using a stored hibernation image for subsequent startups.
Enables hibernation without creating a new memory image each time, ensuring hibernation can be performed even in the event of power outages, maintaining system integrity and functionality.
Smart Images

Figure 2026105112000001_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present invention relate to a control device.
Background Art
[0002] A hibernation technique for suppressing power consumption of devices accompanied by computer control is known. However, on the premise of returning to the operating state of the device before transitioning to the power-saving state, a memory image is created every time the device transitions to the power-saving state in order to record that operating state.
[0003] Therefore, for example, in a situation where a memory image could not be created normally when the power supply to the device was cut off due to a power failure, hibernation could not be performed. Under such circumstances, it has been desired to be able to perform hibernation without creating a memory image every time the device transitions to the power-saving state.
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0005] The problem to be solved by the present invention is to provide a control device that can perform hibernation without creating a memory image every time the device transitions to the power-saving state.
Means for Solving the Problems
[0006] The control device of this embodiment comprises a volatile first storage device, a non-volatile second storage device including a storage area where the stored data is not rewritten, a control unit, a storage unit, and a startup unit. The control unit rewrites the first storage device and performs control processing based on the data stored in the first storage device and the data stored in the second storage device. The storage unit stores a memory image of the first storage device at the time it has finished startup processing based on the data stored in the storage area, without relying on the data stored in the first storage device. When the control unit is started, the startup unit deploys the memory image stored in the storage unit to the first storage device and then causes the control unit to start processing from the point in time when the startup processing was completed. [Brief explanation of the drawing]
[0007] [Figure 1] A block diagram showing the schematic configuration of a label printer according to one embodiment and the main circuit configuration of the control device. [Figure 2] Boot loader flowchart. [Figure 3] Flowchart of the rewriting process. [Figure 4] Flowchart of the preparation process. [Modes for carrying out the invention]
[0008] An example of an embodiment will be described below with reference to the drawings. In this embodiment, a label printer will be used as an example of the equipment. Figure 1 is a block diagram showing the schematic configuration of the label printer 100 according to this embodiment and the main circuit configuration of the control device 1. The label printer 100 includes a control unit 1, a print engine 2, an operation panel 3, a communication unit 4, and a power supply unit 5. The label printer 100 may also include other devices such as an RFID (radio frequency identification) unit.
[0009] The control device 1 controls various devices provided in the label printer 100, such as the print engine 2, the operation panel 3, and the communication unit 4. The print engine 2 prints any image onto the label paper. The print engine 2 can utilize various well-known image forming devices, such as thermal, thermal transfer, or inkjet methods, either individually or in combination.
[0010] The control panel 3 includes an input unit, a display unit, and a sound unit. The input unit receives instructions from the operator. Various well-known input devices, such as a touch panel, key switches, USB (universal serial bus) media, a mouse, a network controller, GPIO (general purpose input / output), and SPI (serial peripheral interface), can be used individually or in combination as the input unit. The display unit performs display operations to notify the operator of various information. Various well-known display devices, such as a liquid crystal display and an LED (light-emitting diode) lamp, can be used individually or in combination as the display unit. The sound unit outputs sounds for various guidance and alarms. Various well-known sound devices, such as a speech synthesis device and a buzzer, can be used individually or in combination as the sound unit.
[0011] The communication unit 4 performs communication processing for communication via the communication network 200. The communication network 200 is, for example, a LAN (local area network). In this case, the communication unit 4 can be various well-known communication devices for LANs. However, the communication network 200 may be any other network, such as the Internet, VPN (virtual private network), LAN, public communication network, or mobile communication network. The communication unit 4 uses a device that is adapted to the communication network 200 being used. The power supply unit 5 receives power supplied from the commercial power source and generates operating power for the various electrical devices provided in the label printer 100.
[0012] These print engines 2, operation panel 3, and communication unit 4 are examples of devices controlled by the control device 1. Note that these print engines 2, operation panel 3, and communication unit 4 may also include other devices controlled by the control device 1. For example, if the label printer 100 includes an RFID unit, this RFID unit will be controlled by the control device 1.
[0013] The control device 1 includes a processor 11, main memory 12, auxiliary storage unit 13, boot loader memory 14, device interface 15, and transmission line 16. The processor 11, main memory 12, auxiliary storage unit 13, boot loader memory 14, and device interface 15 are able to communicate with each other via the transmission line 16. The fact that the processor 11, main memory 12, and auxiliary storage unit 13 are able to communicate with each other via the transmission line 16 constitutes a computer for controlling the control device 1.
[0014] The processor 11 corresponds to the central part of the computer described above. The processor 11 performs information processing to realize various functions as the control device 1, according to information processing programs such as the operating system, firmware, and application programs. The processor 11 also performs information processing based on the boot loader stored in the boot loader memory 14. The processor 11 is, for example, a CPU (central processing unit).
[0015] Main memory 12 corresponds to the main memory portion of the computer described above. For main memory 12, a volatile storage device such as DRAM (dynamic random access memory) or SRAM (static random access memory) is used. Main memory 12 corresponds to the first storage device.
[0016] The auxiliary storage unit 13 corresponds to the auxiliary storage portion of the computer described above. The auxiliary storage unit 13 may include, for example, well-known devices such as EEPROM (electric erasable programmable read-only memory), HDD (hard disk drive), or SSD (solid state drive), either alone or in combination. The auxiliary storage unit 13 stores data used by the processor 11 in performing various processes, or data created by processing performed by the processor 11. The auxiliary storage unit 13 stores the above-mentioned information processing program. The boot loader memory 14 stores the boot loader. The boot loader is software related to information processing that initiates information processing based on the operating system by the processor 11.
[0017] Various devices provided in the label printer 100, such as the print engine 2, operation panel 3, communication unit 4, and power supply unit 5, are connected to the device interface 15. Under the control of the processor 11, the device interface 15 performs communication processing to exchange data with each of the connected devices. For example, a well-known device conforming to the USB (universal serial bus) standard can be used as the device interface 15. Alternatively, a well-known device conforming to the wireless LAN standard may be used as the device interface 15 to exchange data with various devices wirelessly. Furthermore, a well-known interface device conforming to the PCIe (peripheral component interconnect express) standard can be used as the device interface 15. In addition, the device interface 15 may be provided with multiple types of interface devices, allowing for the connection of multiple devices to be connected to the control device 1. The transmission line 16 includes an address bus, a data bus, and control signal lines, and transmits data and control signals exchanged between the connected parts.
[0018] The control device 1 is configured, for example, by mounting a processor 11, a main memory 12, an auxiliary storage unit 13, and a device interface 15 on a printed circuit board on which a transmission path 16 is formed. Note that the processor 11, the main memory 12, the auxiliary storage unit 13, and the device interface 15 may be fixedly attached to the printed circuit board by soldering or the like, or may be detachably attached to a socket or slot attached to the printed circuit board. For example, the DRAM included in the main memory 12 may be attached to a memory slot attached to the printed circuit board and may be exchangeable.
[0019] A part of the storage area of the auxiliary storage unit 13 is defined as a restricted area ARA. Another part of the storage area of the auxiliary storage unit 13 is defined as an unrestricted area ARB. These restricted area ARA and unrestricted area ARB are formed, for example, by partitioning the storage area of one storage device. Alternatively, the restricted area ARA and the unrestricted area ARB may be, for example, the storage areas of different storage devices respectively allocated.
[0020] The restricted area ARA is an area for storing files that do not undergo rewriting during the normal operation of the label printer 100. For example, an operating system SWA and a control application SWB are stored in the restricted area ARA. The operating system SWA is system software for the processor 11. This operating system SWA may be any of various existing operating systems. The control application SWB is application software for causing the processor 11 to perform control processing for realizing the functions of the label printer 100.
[0021] The unrestricted area (ARB) is an area that allows the rewriting of stored data files. For example, the hibernation image DAA and the delete-protect flag DAB are stored in the unrestricted area ARB. The hibernation image DAA is a memory image for hibernation, which will be described later. The delete-protect flag DAB is flag data that indicates whether or not the deletion of the hibernation image DAA is prohibited.
[0022] Next, the operation of the label printer 100 configured as described above will be explained. Note that the operation for printing labels may be the same as that of existing label printers, so that explanation will be omitted. Here, we will mainly explain the startup operations from the time the label printer 100 is powered on until the operation for printing labels begins. Note that the contents of the various processes described below are examples, and it is possible to change the order of some processes, omit some processes, or add other processes as appropriate. For example, in the following explanation, the explanation of some processes has been omitted in order to explain the characteristic operation of this embodiment in an easy-to-understand manner. For example, if some error occurs, processing may be performed to deal with that error, but some of such processing has been omitted from the description.
[0023] When the operation to turn on the label printer 100 is performed, power is supplied from the power supply unit 5 to each part of the label printer 100. In response, the processor 11 starts operating and executes the boot firmware stored in the non-volatile memory area of the main memory 12 or in ROM (read-only memory) (not shown). The boot firmware is, for example, a BIOS (basic input output system) or a UEFI (unified extensible firmware interface). Based on the boot firmware, the processor 11 initializes the various devices included in the control unit 1, then reads the boot loader stored in the boot loader memory 14 into the main memory 12, and starts executing the boot loader separately from the boot firmware.
[0024] Figure 2 is a flowchart of the boot loader. As ACT11, processor 11 checks whether a hibernation image exists. If processor 11 confirms that the hibernation image DAA is not stored in, for example, auxiliary storage unit 13, it determines NO and proceeds to ACT12. As ACT12, processor 11 executes the operating system startup process. This startup process is a so-called cold start process and may be a well-known process according to the operating system specifications.
[0025] On the other hand, if the processor 11 confirms that, for example, the hibernation image DAA is stored in the auxiliary storage unit 13, it determines YES in ACT 11 and proceeds to ACT 13. As ACT13, processor 11 deploys the hibernation image DAA to main memory 12.
[0026] As ACT14, processor 11 checks whether the deletion of the hibernation image DAA is prohibited. If processor 11 confirms, for example, that the deletion prohibition flag DAB is not in a prohibited state, it determines that it is not prohibited and proceeds to ACT15.
[0027] As ACT15, processor 11 deletes the hibernation image DAA from auxiliary storage unit 13. Thus, by having processor 11 perform information processing based on the boot loader, the computer with processor 11 as its central component functions as a deletion unit.
[0028] When processor 11 completes either ACT12 or ACT15, it proceeds to ACT16 in either case. Also, if processor 11 confirms, for example, that the deletion prohibition flag DAB is in a prohibited state, it determines YES in ACT14, skips ACT15, and proceeds to ACT16. As ACT16, processor 11 starts executing the operating system SWA, which is loaded into main memory 12, separately from the boot loader. With this, processor 11 terminates the boot loader.
[0029] Thus, if processor 11 has deployed the hibernation image DAA into main memory 12 in ACT 13 and proceeded to ACT 16, it will use the hibernation image DAA to start the operating system SWA. In this way, processor 11 performs information processing based on the boot loader, and the computer with processor 11 as its central component functions as a boot unit.
[0030] After the operating system SWA has finished booting, processor 11 starts the control application SWB. The processor 11 performs control processing to control each part of the label printer 100 in order to realize the intended functions of the label printer 100 by executing the control application SWB. In this control processing, the processor 11 performs control processing based on the data stored in the main memory 12 and the data stored in the auxiliary storage unit 13. By having the processor 11 perform information processing based on the control application SWB, the computer with the processor 11 as its central part functions as a control unit. Then, if the control processing by the control application SWB requires rewriting of the auxiliary storage unit 13, the processor 11 executes the rewriting process based on the control application SWB.
[0031] Figure 3 is a flowchart of the rewriting process. As ACT21, processor 11 checks whether the memory area to be rewritten is the restricted area ARA. If the memory area to be rewritten is the restricted area ARA, processor 11 determines YES and proceeds to ACT22.
[0032] In ACT22, processor 11 checks whether rewriting is prohibited. For example, if the delete prohibition flag DAB does not indicate that the deletion of the hibernation image DAA is prohibited, processor 11 determines NO, assuming that rewriting of the restricted area ARA is not prohibited, and proceeds to ACT23. If the memory area to be rewritten is the unrestricted area ARB, processor 11 determines NO in ACT21, skips ACT22, and proceeds to ACT23. As ACT23, processor 11 grants permission to rewrite the control process. With this, processor 11 terminates the rewrite process.
[0033] However, if, for example, the delete prohibition flag DAB indicates that deletion is prohibited, then ACT22 will determine YES, as rewriting of the restricted area ARA is prohibited, and the process will proceed to ACT24. As ACT24, processor 11 performs error handling. For example, processor 11 notifies the control process that rewriting the memory area to be rewritten is prohibited. Then processor 11 terminates the rewrite process without executing ACT23.
[0034] Thus, when the deletion prohibition flag DAB is in a state indicating that deletion is prohibited, the restricted area ARA is a storage area that cannot be rewritten, and the auxiliary storage unit 13 corresponds to a second storage device that includes this storage area. Then, by having the processor 11 perform information processing based on the control application SWB, the computer with the processor 11 as its central component functions as a deterrent.
[0035] When it is time to transition to a power-saving state, the processor 11 performs preparatory processing for transitioning to the power-saving state based on the control application SWB. Figure 4 is a flowchart of the preparation process.
[0036] As ACT31, processor 11 checks whether or not the deletion of the hibernation image is prohibited. Then, if, for example, the delete prohibition flag DAB does not indicate that deletion is prohibited, the processor 11 determines NO and proceeds to ACT32.
[0037] As ACT32, processor 11 creates a memory image of main memory 12 at this point and saves it as a new hibernation image DAA in the unrestricted area ARB. After this, processor 11 proceeds to ACT33. For example, if the delete prohibition flag DAB indicates that deletion is prohibited, processor 11 determines YES in ACT31, skips ACT32, and proceeds to ACT33. As ACT33, the processor 11 instructs the power supply unit 5 to transition to a power-saving state. In response to this instruction, the power supply unit 5 transitions to a predetermined power supply state as the power-saving state.
[0038] The label printer 100 operates the print engine 2 and prints labels by having the processor 11 perform control processing based on the control application SWB, based on processing based on the operating system SWA. The operating system SWA and the control application SWB are written to the auxiliary storage unit 13 during the manufacturing process of the label printer 100 and are not rewritten in principle. However, the operating system SWA and the control application SWB may be rewritten for version upgrades, etc., but the frequency of such rewriting is very low.
[0039] In other words, as the label printer 100 is repeatedly turned on and off, the memory image of the main memory 12 after the processor 11 starts the operating system SWA and the control application SWB each time the power is turned on remains the same each time.
[0040] Therefore, in the manufacturing process of the label printer 100, during the preparation work for shipment or the preparation work for the start of use, the above memory image is written as a hibernation image DAA to the unrestricted area ARB of the auxiliary storage unit 13 in accordance with the instructions of the operator. The delete-prohibition flag DAB is also set to a state indicating that deletion is prohibited. Thus, at this time, the auxiliary storage unit 13 corresponds to a storage unit that stores the memory image of the main memory 12 at the time the startup process based on the data stored in the restricted area ARA has been completed.
[0041] Thus, in the control device 1, the hibernation image DAA is not deleted even after being used during the initial startup process, but remains stored in the auxiliary storage unit 13 and is repeatedly used in subsequent startup processes. As a result, even if a normal transition to the power-saving state cannot be performed due to a power outage or the like, hibernation can be performed during subsequent startup processes. In other words, hibernation can be performed without creating a new hibernation image DAA each time the system transitions to the power-saving state. Furthermore, if the control device 1 sets the delete prohibition flag DAB to a state that does not indicate delete prohibition, it can create a hibernation image DAA each time it transitions to a power-saving state and perform hibernation based on that hibernation image DAA.
[0042] As described above, the control device 1 repeatedly uses the hibernation image DAA on the premise that the restricted area ARA will not be rewritten. However, if the hibernation image DAA is repeatedly used despite the restricted area ARA being rewritten, there is a risk that normal startup will not be possible. However, the control device 1 does not prohibit the deletion of the hibernation image DAA, and if there is a possibility that the restricted area ARA may be rewritten, the hibernation image DAA, after being deployed to the main memory 12, is deleted from the auxiliary storage unit 13. This prevents the situation in which normal startup cannot be performed as described above.
[0043] Furthermore, in the control device 1, if the deletion of the hibernation image DAA is prohibited, that is, if the hibernation image DAA is used repeatedly, the rewriting of the restricted area ARA is suppressed. This prevents the hibernation image DAA, which is used repeatedly, from becoming unsuitable for hibernation.
[0044] This embodiment can be modified in various ways as follows: As mentioned above, the application software executed by the processor 11 is written to the auxiliary storage unit 13 during the manufacturing process of the label printer 100, and in a typical usage environment, no other arbitrary application software is executed by the processor 11. For this reason, the rewriting of the restricted area ARA can be suppressed by creating the application software in such a way that the processor 11 does not rewrite the restricted area ARA when executing it. In this case, the processor 11 does not need to perform the rewriting process shown in Figure 3, for example.
[0045] The processor 11 may also perform control processing based on data stored in the restricted area ARA, separate from the operating system SWA and the control application SWB.
[0046] The content of the control processing performed by the processor 11 may be arbitrary, and the controlled object may be various devices other than the label printer 100.
[0047] While several embodiments of the present invention have been described, these embodiments are presented as examples only and are not intended to limit the scope of the invention. These novel embodiments can be carried out in a variety of other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their variations are included in the scope and spirit of the invention, as well as in the claims of the invention and its equivalents. [Explanation of Symbols]
[0048] 1...Control unit, 2...Print engine, 3...Operation panel, 4...Communication unit, 5...Power supply unit, 11...Processor, 12...Main memory, 13...Auxiliary storage unit, 14...Boot loader memory, 15...Device interface, 16...Transmission line, 100...Label printer, 200...Communication network.
Claims
1. A volatile first memory device, A non-volatile second storage device including a storage area where the stored data cannot be rewritten, A control unit that rewrites the first storage device and performs control processing based on the data stored in the first storage device and the data stored in the second storage device, A storage unit that stores a memory image of the first storage device at the time when the startup process based on the data stored in the storage area is completed, without relying on the data stored in the first storage device, A startup unit that, upon startup of the control unit, expands the memory image stored in the storage unit onto the first storage device, and then causes the control unit to start processing from the point in time when the startup process was completed, A control device equipped with the following.
2. A deletion unit, which, if deletion is prohibited, keeps the memory image deployed to the first storage device by the startup unit in the storage unit, and deletes it from the storage unit if deletion is not prohibited, The control device according to claim 1, further comprising:
3. The second memory device is rewritable, including the memory area. A suppression unit that prevents the rewriting of data stored in the aforementioned memory area. The control device according to claim 1, further comprising:
4. The suppression unit suppresses rewriting when the deletion of the memory image is prohibited. The control device according to claim 3.
5. The control process performed by the control unit is a process that does not rewrite the data stored in the memory area. The control device according to claim 1.