This application claims priority under 35 U.S.C. §119(a) from Korean Patent Application No. 2011-0093462, filed in the Korean Intellectual Property Office on Sep. 16, 2011, the content of which is incorporated herein by reference in its entirety.
1. Field of the Invention
The present general inventive concept relates to an image forming apparatus and a method of upgrading firmware, and more particularly, to an image forming apparatus which may perform a job requested by a user even in the process of upgrading firmware and a method of upgrading firmware thereof.
2. Description of the Related Art
An image forming apparatus is generally an apparatus that prints print data generated from a terminal device such as a computer on a recoding paper. Examples of an image forming apparatus include a copy machine, printer, a fax machine, and a Multi-Function Peripheral (MFP) which performs the above functions in a single device.
Generally, an image forming apparatus, such as a copy machine and a printer, adopts firmware to control hardware. Such firmware is stored in a flash ROM (Read Only Memory) or an Electrically Erasable Programmable Read-Only Memory (EEPROM). The firmware is continuously upgraded to improve the performance of an image forming apparatus.
However, an image forming apparatus does not perform a user's job while the apparatus' firmware is upgraded, causing inconvenience to the user. In addition, as an image forming apparatus has been able to provide various functions, the size or volume of a firmware program has also increased, taking up more time to install the firmware. All of the above factors have increased user inconvenience.
A present general inventive concept provides an image forming apparatus which may perform a job requested by a user even in the process of upgrading firmware and a method of upgrading firmware thereof.
Additional features and utilities of the present general inventive concept will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the general inventive concept.
An image forming apparatus according to an exemplary embodiment includes a first storage unit to store firmware, a control unit to perform a job by loading the stored firmware, a communication interface unit to receive new firmware, and an upgrade unit to install the received new firmware in the first storage unit, and the control unit, upon receiving a new job request while the new firmware is being installed, controls the upgrade unit to suspend installation of the new firmware and perform the requested new job.
The control unit, once the requested new job is completed, may control the upgrade unit to resume installation of new firmware which has been suspended.
The upgrade unit may flash the new firmware by sector or block unit and record flashed data in the first storage unit.
The upgrade unit may check whether there is a new job request at the every sector or block unit.
The apparatus may further include a user interface unit to receive a request to perform a new job from a user and an I/O control unit to notify the control unit of a new job requested by the communication interface unit or the user interface by at least one of an interrupt and polling.
The upgrade unit may control the I/O control unit so that a new job request is notified by f polling when installation of the new firmware begins and a new job request is notified by an interrupt when installation of the new firmware is finished.
The apparatus may further include a second storage to store the received new firmware.
The first storage unit may include a plurality of flash memories, and, in the upgrade unit, new firmware may be installed with respect to each of the plurality of flash memories.
The upgrade unit, if installation of the new firmware is completed and the image forming apparatus is in idle state, may re-boot the image forming apparatus, and the upgrade unit, if the re-booting time is predetermined, installation of the new firmware is completed, and the predetermined re-booting time arrives, may re-boot the image forming apparatus.
The apparatus may further include a user interface unit to display a time to install the new firmware through a user interface window.
The user interface unit, upon receiving a new job request while new firmware is being installed, may display a time to install the new firmware by reflecting a time to perform the new job.
The user interface window may include at least one area of a first area to display a time to install the new firmware, a second area to display a specific installation operation of the new firmware, a third area to receive a command to suspend installation of the new firmware, and a fourth area to receive a command to stop installation of the new firmware.
A method of upgrading firmware in an image forming apparatus to store firmware and to perform a job by loading stored firmware includes receiving new firmware, installing the received new firmware, and upon receiving a new job request while the new firmware is being installed, suspending installation of the new firmware and performing the requested new job.
The method may include, once the requested new job is completed, resuming installation of the new firmware which has been suspended.
The installing may include flashing the new firmware by sector or block unit and recording flashed data in the image forming apparatus.
The installing may include checking whether there is a new job request at the every sector or block unit.
The installing may include controlling so that a new job request is notified by polling when installation of the new firmware begins and a new job request is notified by an interrupt when installation of the new firmware is finished.
The method may further include storing the received new firmware.
The image forming apparatus may store firmware using a plurality of flash memories, and the installing may include installing new firmware with respect to each of the plurality of flash memories.
The method may further include re-booting the image forming apparatus once installation of the new firmware is completed.
The re-booting may include, if installation of the new firmware is completed and the image forming apparatus is in idle state or if the re-booting is predetermined, installation of the new firmware is completed, and the predetermined re-booting time arrives, re-booting the image forming apparatus.
The method may include displaying a time to install the new firmware with a user interface window.
The displaying may include, upon receiving a new job request while new firmware is being installed, displaying a time to install the new firmware by reflecting a time required to perform the new job.
The user interface window may include at least one area of a first area to display a time to install the new firmware, a second area to display a specific installation operation of the new firmware, a third area to receive a command to suspend installation of the new firmware, and a fourth area to receive a command to stop installation of the new firmware.
Exemplary embodiments of the present general inventive concept may also provide a method of operating a job control unit of an image forming apparatus, the method including receiving a job request with the job control unit, determining whether the received job request is a job to upgrade firmware of the image forming apparatus, and upgrading the firmware of the image forming apparatus when the received job request is the job to upgrade the firmware, and performing an operation of the image forming apparatus according to the received job request when the request is different from upgrading the firmware.
Exemplary embodiments of the present general inventive concept may also provide an image forming apparatus, including an interface to receive a job request, and to transmit the received job request to a job control unit, and the job control unit to determine whether the received job request is a job to upgrade firmware of the image forming apparatus, to upgrade the firmware when the received job request is the job to upgrade the firmware, and to perform an operation of the image forming apparatus according to the received job request when the request is different from the request to upgrade the firmware.
The interface of the image forming apparatus may include at least one of a communication interface unit and a user interface to receive the job request.
These and/or other features and utilities of the present general inventive concept will become apparent and more readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings of which:
Reference will now be made in detail to the embodiments of the present general inventive concept, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. The embodiments are described below in order to explain the present general inventive concept by referring to the figures.
Referring to
The communication interface unit 110 can connect and/or communicatively couple the image forming apparatus 100 to a print control terminal 10. The image forming apparatus 100 and the print control terminal 10 may be connected and/or communicatively coupled via wire and/or wirelessly. For example, the image forming apparatus 100 and the print control terminal 10 may be communicatively coupled via at least one of a Local Area Network (LAN), an Internet network, and via a Universal Serial Bus (USB) port, and/or any other suitable communications link or network.
The communication interface unit 110 may receive new firmware from the print control terminal 10. Herein, the firmware refers to a micro program to control hardware. That is, the firmware may control one or more operations of the communication interface unit 110, the user interface unit 120, the first storage unit 130, the second storage unit 140, the image forming unit 150, the I/O control unit 160, the job control unit 170, the upgrade unit 180, and the control unit 190 of the image forming apparatus 100. If the image forming apparatus 100 is operated by a plurality of processors (e.g., control core CPUs 190-1, 190-2, and 190-3 of image forming apparatus 110′ as illustrated in
The communication interface unit 110 may be requested (e.g., by the control unit 190) to perform a job. Specifically, the communication interface unit 110 of the image forming apparatus 100 may receive job requests for such jobs as a print job, a scan job and a fax job. The communication interface unit 110 may transmit and/or receive data regarding each job (for example, a print job and a scan job).
The user interface unit 120 can have a plurality of functions keys through which a user sets or selects one or more functions supported by the image forming apparatus 100, and may display various information provided by the image forming apparatus 100. The user interface unit 120 may be a touch pad, where input and output are performed at the same time, or may combine an input apparatus such as a mouse and a keyboard with a display apparatus such as a CRT (cathode ray tube) monitor, a LCD (liquid crystal display) monitor, and a LED (light emitting diode) display.
The user interface unit 120 may display a user interface window to receive a command to install firmware (or a command to upgrade firmware). Accordingly, a user may input a command to install firmware through a displayed user interface window. In exemplary embodiments of the present general inventive concept, such as those illustrated in
The user interface unit 120 may display information regarding installation of the firmware (or upgrade of the firmware). Specifically, the user interface unit 120 may display information regarding installation of firmware such as a time to install (or to upgrade) new firmware and a specific operation to install new firmware through a user interface window. Meanwhile, if a new job is performed while the firmware is installed, the time to install new firmware may be calculated according to the time to perform the new job.
The user interface unit 120 may receive one or more commands such as a command to perform a new job, a command to suspend installing firmware, and a command to stop installing firmware. Herein, the command to perform a new job can be a request to the image forming apparatus 100 to perform a job (e.g., a print job or other job corresponding to one or more job operations of the image forming apparatus 100) while firmware is installed, the command to suspend installing firmware can be a request to stop installing firmware temporarily, and the command to stop installing firmware is a request for stopping installing firmware permanently. The user interface window which can be displayed by the user interface unit 120 will be explained later with reference to
The first storage unit 130 can store firmware. Specifically, the first storage unit 130 stores firmware which is a micro program to perform functions of the image forming apparatus 100. Such firmware may be upgraded by the upgrade unit 180 which will be explained later. The firmware may be a processor when the image forming apparatus 100 is initially operated (e.g., a central processing unit (CPU), loaded onto a volatile memory (for example, a dynamic random access memory (DRAM)). The first storage unit 130 may be a storage medium that may be written to and have data read from a plurality of times, such as a flash ROM (Read Only Memory) or an EEPROM. The first storage unit may also be a hard disk drive (HDD), a solid state drive (SSD), and/or any suitable memory or storage to carry out the exemplary embodiments of the present general inventive concept.
The second storage unit 140 can store received new firmware. Specifically, the second storage unit 140 can store new firmware which is input through the above-described communication interface unit 110. The second storage unit 140 may store data regarding a job requested via the communication interface unit 110 or the user interface unit 120 (for example, the second storage unit 140 may store data generated from data printing and data scanning operations of the image forming apparatus 100). The second storage unit 140 may be a storage medium within an image forming apparatus (for example, a flash memory, a HDD, a SSD, and/or any other suitable storage medium) or an external storage medium (for example, a removable disk and/or device including a USB memory and/or flash memory, a storage medium connected to a host, and a web server via a network).
The image forming unit 150 can form an image. Specifically, the image forming unit 150 may form an image that corresponds to a print job (e.g., that can include print data) received through the communication interface unit 110. In exemplary embodiments of the present general inventive concept illustrated in
The I/O control unit 160 can notify the control unit 190 of a newly-requested job from the communication interface unit 110 or the user interface unit 120 by, for example, interruption and/or polling. Specifically, if the image forming apparatus 100 is operating in a general mode, the I/O control unit 160 can notify the control unit 190 of a newly-requested job by an interrupt, and if the image forming apparatus 100 is installing firmware, the I/O control unit 160 can notify the control unit 190 of a newly-requested job by a polling operation. Herein, the interruption can include notifying the control unit 190 of a new job immediately after receiving the new job, and the polling can include storing a new job and notifying the new job at a time when there is a request from the control unit 190.
The job control unit 170 can process a requested job. Specifically, the job control unit 170 can identify whether a job requested by a user is a job to upgrade firmware or a job related to a function and/or operation of the image forming apparatus 100. If a requested job is a job to upgrade firmware, the job control unit 170 can provide the job request to the upgrade unit 180 so as to upgrade firmware accordingly. Alternatively, if a requested job is not a job to upgrade firmware, the job control unit 170 can perform the requested job. For example, if a requested new job is a print job, the job control unit 170 can control the image forming unit 150 to perform the requested print job. In exemplary embodiments of the present general inventive concept, the job control unit 170 and the control unit 190 are illustrated as separate components form one another. However, they can be a single component.
The upgrade unit 180 can install new firmware that is input and/or stored in the first storage unit 130. Specifically, if a command to install new firmware is input (i.e., is received by the upgrade unit 180), the upgrade unit 180 may control the communication interface unit 110 to store the new firmware in the second storage unit 140.
The upgrade unit 180 may control the I/O control unit 160 to notify a request for a new job by a user by a polling operation when performing an upgrade operation.
The upgrade unit 180 may install new firmware in the first storage unit 130 by flashing the new firmware stored in the second storage unit 140 by sector or block unit and recording the new firmware flashed by sector or block unit in the first storage unit 130.
The upgrade unit 180 may identify whether a new job is requested by a sector or a block unit. Specifically, if a sector or a block is flashed, the upgrade unit 180 can check the I/O control unit 160 to see whether a new job is requested. If there is no new job requested, the flashed sector or block may be recorded in the first storage unit 130. However, if there is a new job requested in the I/O control unit 160, the upgrade unit 180 can stop installing new firmware (that is, without recording the flashed sector or block) and may control the job control unit 170 so as to perform the requested new job. Specifically, as existing firmware is loaded onto a CPU (specifically, a volatile memory (for example, a DRAM)) even during recording of new firmware in the first storage unit 130, the image forming apparatus 100 may perform a new job requested by a user using the loaded firmware.
In the exemplary embodiments of the present general inventive concept, it is determined whether a new job is requested is identified after flashing. However, whether a new job is requested may be identified after flashed firmware is recorded.
Once a new job is completed, the upgrade unit 180 may resume installing new firmware of which installation has been suspended. Specifically, the upgrade unit 180 may record flashed new firmware, which has not been recorded in the first storage unit 130, in the first storage unit 130.
Once installation of new firmware is completed, the upgrade unit 180 may control the I/O control unit 160 to notify a new job (e.g., provide notice of the new job) by an interrupt. The upgrade unit 180 may control the operation of the image forming apparatus so as to re-boot the image forming apparatus 100. Specifically, if installation of new firmware is completed and the image forming apparatus 100 is in an idle state (that is, in a state where no job is being performed), the upgrade unit 180 may re-boot the image forming apparatus 100. If a re-booting time is set by a user and/or is set in firmware, the upgrade unit 180 may re-boot the image forming apparatus 100 at the predetermined re-booting time after installation of new firmware is completed. By the re-booting operation, the new firmware which is newly recorded in the first storage unit 130 can be loaded onto a CPU (specifically, a volatile memory (for example, a DRAM) included as part of or communicatively coupled to the CPU) and the image forming apparatus 100 can be operated by the new firmware.
The control unit 190 can include a control core (e.g., a CPU) and a volatile memory (for example, a DRAM), and the control unit 190 can load the firmware stored in the first storage unit 130 in the volatile memory at a time of initial booting and may control each component included in the image forming apparatus using the loaded firmware.
If a job related to one or more functions and/or operations of the image forming apparatus 100 is requested, the control unit 190 may control the job control unit 170 and the image forming unit 150 to perform the requested job.
If a command to install firmware is input, the control unit 190 may control the communication interface unit 110 to receive firmware and control the upgrade unit 180 to install the received firmware.
If a new job is requested while firmware is being installed, the control unit 190 may control the upgrade unit 180 to suspend installing new firmware, and control the job control unit 170 and the image forming unit 150 to perform the requested new job. Once the requested new job is completed while firmware is being installed, the control unit 190 may control the upgrade unit 180 to resume installing the new firmware.
As described above, the image forming apparatus 100 according to exemplary embodiments of the present general inventive concept may perform a job requested by a user while firmware is being installed and thus, user convenience can be improved.
In the above description regarding
In the above description, the image forming apparatus 100 can be operated by a single control core (e.g., a CPU of the control unit 190). However, the image forming apparatus 100 may have a plurality of control cores and the operation of installing firmware thereof will be explained with reference to
Referring to
Specifically, each of the plurality of boards 210, 220, 230 may include control cores (e.g., CPUs) 190-1, 190-2, 190-3 and memory elements 130-1, 130-2, 130-3. Herein, each of the memory elements 130-1, 130-2, 130-3 can store firmware to perform operations of each of the control cores CPU, 190-1, 190-2, 190-3.
The main control board 210 can be a board (or substrate) to control one or more operations of the image forming apparatus 100 and may perform functions and/or operations of the control unit 190 as described above.
The engine control board 220 can be a board (or substrate) to control one or more operations according to a print job and may perform operations and/or functions of the job control unit 170 or the image forming unit 150 illustrated in
The accessory board 230 may perform additional functions and or operations of the image forming apparatus 100 such as a scan function, a fax function, and a function of controlling a paper feeding unit.
As described above, if the image forming apparatus 100′ includes a plurality of control cores 190-1, 190-2, 190-3 and a plurality of memory elements 130-1, 130-2, 130-3, the upgrade unit 180 may upgrade firmware stored in the memory elements 130-1, 130-2, 130-3 to new firmware.
Specifically, the upgrade unit 180 may upgrade firmware of each of the plurality of memory elements 130-1, 130-2, and 130-3 in a predetermined order. For example, the upgrade unit 180 may upgrade firmware of the first memory element 130-1. If upgrade of the firmware of the first memory element 130-1 is completed, the upgrade unit 180 may upgrade firmware regarding the second memory element 130-2. If upgrade of the firmware of the second memory element 130-2 is completed, the upgrade unit 180 may upgrade firmware regarding the third memory element 130-3.
Once upgrade of firmware regarding each of the memory elements 130-1, 130-2, and 130-3 is completed, the upgrade unit 180 may re-boot the image forming apparatus 100′. In the above description, the image forming apparatus 100′ can be re-booted after installation of firmware of the memory elements 130-1, 130-2, and 130-3 (e.g., all memory elements) is completed. However, the image forming apparatus 100′ may be re-booted whenever upgrade of firmware regarding each of the memory elements is completed.
In the above description regarding
Referring to
The header of whole firmware images 302 can store information such as an ‘indicator’, a ‘model ID’, ‘version information’, ‘special information’, etc. Herein, ‘indicator’ can be an area to identify that corresponding data is a firmware image, ‘model ID’ can be an area where the model name of the image forming apparatus 100 to which firmware is applied is recorded, ‘version information’ can be an area where version information of corresponding firmware is recorded, and ‘special information’ can be an area where unique information regarding corresponding firmware is recorded.
Each of a plurality of firmware images 304 can store information such as ‘header’ and ‘binary data’. Herein, ‘binary data’ can be firmware data to be recorded in the first storage unit 130 of the image forming apparatus 100, and ‘header’ is an area to record information regarding components where ‘binary data’ is applied (for example, the flash memory 130-1 of the main controller board 210 and the flash memory 130-2 of the engine controller board 220).
Specifically,
Referring to
Referring to
The area 510 to receive a job request' can be an area to receive a command to suspend installing firmware and process a requested job. If a user selects ‘the area 510 to receive a job request’, the image forming apparatus 100 may suspend installing current firmware and perform a requested job first.
The area 520 to display information regarding installation of firmware' includes a first area 521 to display a time required to install current firmware, a third area 523 to receive a command to suspend installing new firmware, and a fourth area 525 to receive a command to stop installing new firmware.
The first area 521 can be an area where time required to install firmware is displayed. If a user performs a job by selecting ‘the area 510 to receive a job request’, the first area 521 may display time required to install new firmware by reflecting time required to perform a new job. That is, the first area 521 may display a time to install new firmware that includes the time to perform the new job.
The third area 523 can be an area where a command to suspend installing new firmware temporarily is input. If a user selects the third area 523, the image forming apparatus 100 may suspend installation of current firmware until a command to resume installation of the firmware is input by the user.
The fourth area 525 can be an area where a command to stop installing new firmware is input. If a user selects the fourth area 525, the image forming apparatus 100 may stop installing current firmware.
Meanwhile, ‘the area 520 to information regarding installation of firmware’ may include a second area 522 where an operation to install firmware is displayed. This will be explained later with reference to
The second area 522 can display a type of board where new firmware is installed and can display information such as time required to upgrade each board.
As described above, the image forming apparatus 100 according to exemplary embodiments of the present general inventive concept may provide a user with various information regarding installation of firmware and thus, the user may easily identify how much time is expected to take to install firmware. If it is expected to take considerable amount of time to install firmware (e.g., greater than a predetermined amount of time), a user may suspend installation of current firmware and perform a required job easily.
Referring to
The input new firmware can be installed at operation S620. Specifically, a user's new job may be notified (e.g., the new firmware update request may be provided to the upgrade unit 180 of the image forming apparatus 100 of
At operation S630, it is determined whether a new job is requested for each sector or block unit of new firmware. If there is no request for a new job, the above operations of flashing and recording are repeated.
If it is determined that a new job is requested at operation S630, installation of new firmware is suspended, and the requested new job is performed at operation S640. Once the requested new job is completed, installing the new firmware is resumed at operation S650.
As described above, in the method of upgrading new firmware according to exemplary embodiments of the present general inventive concept, a job requested by a user may be performed while firmware is being installed, thereby enhancing user convenience. The method of upgrading firmware illustrated in
Referring to
At operation S720, it is determined whether the input job request is a job to upgrade firmware or not. If the input job request is a job to upgrade firmware as determined at operation S720, the upgrade unit 180 can be notified that a job to upgrade firmware is received to perform upgrading of the firmware so that the new firmware can be installed at operation S730. If it is determined at operation S720 that the input job request is a job regarding functions of the image forming apparatus 100 rather than a job to upgrade firmware, the requested job is performed at S740.
Referring to
At operation S810, it is determined whether received new firmware is stored in the second storage unit 140. If received firmware is not stored in the second storage unit 140 at operation S810, the received new firmware may be stored in the second storage unit 140 at operation S815.
At operation S820, an operation mode of the I/O control unit 160 is changed so that a user's new job request may be notified (e.g., may be made known to the upgrade unit 180) by polling during upgrading. The user interface unit 120 can be controlled (e.g., by the control unit 190) to display a user interface window (for example, as illustrated in
At operation S830, it can be determined whether the image forming apparatus 100 is in an idle state, that is, whether the image forming apparatus 100 is not performing a job. If it is determined that the image forming apparatus 100 is not in idle state at operation S830, at least a predetermined period of time may be waited until the image forming apparatus 100 is in idle state. If it is determined that the image forming apparatus 100 is in idle state at operation S830, new firmware stored in the second storage unit 140 can be flashed by sector or block unit at operation S835, the new firmware flashed by sector or block unit is stored in the first storage unit 130 at operation S840 so as to perform installation of the new firmware.
If recording of one sector or one block is completed, it is determined whether the recording is the last recording at operation S850. If it is not the last recording as determined at operation S850, the I/O control unit 160 can check whether there is a new job request at operation S860. If there is no new job request at determined at operation S860, upgrading of the next sector or block may be performed.
If it is determined at operation S860 that there is a new job request, the job control unit (e.g., the job control unit 170 of the image forming apparatus 100 illustrated in
When an upgrade of every sector or block is completed at operation S850, the upgrade is ended at operation S855. Specifically, a new job may be notified by an interrupt, and the image forming apparatus 100 may be re-booted. The re-booting operation may be performed immediately, or at a predetermined time (e.g., according to a firmware upgrade policy).
Referring to
The upgrade unit 180 can flash new firmware by sector or block unit and records the new firmware flashed by sector or block unit at operation S915. If the flashing of one sector or block is completed, the upgrade unit 180 can check whether there is a new job request in the I/O control unit 160 at operation S917. If there is no new job request at operation S917, the next sector or block may be upgraded.
If there is new job request, installation of firmware can be suspended at operation S918, and the job control unit 170 can be notified that installation of firmware is suspended. Accordingly, the job control unit 170 can perform the requested new job at operation S970, and once the new job is completed, the job control unit 170 can notify the upgrade unit 180 that the new job is completed at operation S980.
Once the upgrade unit 180 is notified that the new job is completed, the upgrade unit 180 can resume installation of new firmware which has been suspended. If upgrade of every sector or block is completed at operation S914, the upgrade unit 180 can control the I/O control unit 160 so that a job may be notified by means an interrupt at operation S916. Accordingly, the I/O control unit 160 may change the way of notification from a polling method to an interruption mode at operation S960.
The upgrade unit 180 can check a firmware upgrade policy to see a re-booting time at operation S920 and may control the image forming apparatus 100 to be re-booted at the re-booting time at operation S930. Accordingly, the re-booted image forming apparatus 100 can be operated by new firmware at operation S940.
Although several embodiments of the present general inventive concept have been illustrated and described, it will be appreciated by those skilled in the art that changes may be made in these embodiments without departing from the principles and spirit of the general inventive concept, the scope of which is defined in the appended claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
2011-0093462 | Sep 2011 | KR | national |