ELECTRONIC APPARATUS

Information

  • Patent Application
  • 20170177376
  • Publication Number
    20170177376
  • Date Filed
    May 23, 2016
    8 years ago
  • Date Published
    June 22, 2017
    7 years ago
Abstract
An electronic apparatus (10) includes: a non-volatile memory (17) supporting at least a first reading speed and a second reading speed higher than the first reading speed and that stores a boot program; and a memory controller (18) for which the first reading speed is initially set, the boot program includes an initial load program that is initially read by the memory controller and loaded and a subsequent load program that is read by the memory controller and loaded after the initial load program, and the electronic apparatus (10) functions as a reading speed setting portion (25) that sets a reading speed of the memory controller (18) to the second reading speed, by executing the loaded initial load program.
Description
TECHNICAL FIELD

The present invention relates to an electronic apparatus that loads a boot program.


BACKGROUND ART

Conventionally, an electronic apparatus that loads a boot program has been known (see, e.g., Patent Literature 1 and 2).


CITATION LIST
Patent Literature

[PTL 1] Japanese Laid-Open Patent Publication No. 2012-098972


[PTL 2] Japanese Laid-Open Patent Publication No. 2013-246630


SUMMARY OF THE INVENTION
Problems to be Solved by the Invention

However, in the conventional electronic apparatus, there is a possibility that a reading speed at which the boot program is read is set to be lower than an optimum speed. In recent years, the boot program not only has been a program for boot-up but also has supported various functions such as countermeasures for security, and thus has an increased size. Therefore, in the case where the reading speed at which the boot program is read is set to be lower than the optimum speed, the conventional electronic apparatus has a problem that the time required for loading the entirety of the boot program is long.


Therefore, an object of the present invention is to provide an electronic apparatus and a boot program with which a time required for loading the entirety of the boot program can be shortened


Solution to the Problems

An electronic apparatus according to an aspect of the present invention includes: a non-volatile memory supporting at least a first reading speed and a second reading speed higher than the first reading speed and that stores a boot program; and a memory controller for which the first reading speed is initially set. The boot program includes an initial load program that is initially read by the memory controller and loaded, and a subsequent load program that is read by the memory controller and loaded after the initial load program. The electronic apparatus functions as a reading speed setting portion that sets a reading speed of the memory controller to the second reading speed, by executing the loaded initial load program.


Advantageous Effects of the Invention

With the electronic apparatus and the boot program of the present invention, the time required for loading the entirety of the boot program can be shortened.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a block diagram of an MFP according to an embodiment of the present invention.



FIG. 2 is a diagram showing an example of a boot program shown in FIG. 1.



FIG. 3 is a block diagram of functions of a control portion shown in FIG. 1.



FIG. 4 is a flowchart of an operation upon boot-up of the MFP shown in FIG. 1.



FIG. 5A is a diagram showing a time course of load of programs by the control portion shown in FIG. 1.



FIG. 5B is a diagram showing the time course of load of the programs by the control portion shown in FIG. 1.



FIG. 5C is a diagram showing the time course of load of the programs by the control portion shown in FIG. 1.



FIG. 6 is a block diagram of the MFP shown in FIG. 1 at a time when boot-up is started.



FIG. 7 is a block diagram of the MFP shown in FIG. 1 when a reading speed is changed.





DESCRIPTION OF EMBODIMENTS

Hereinafter, an embodiment of the present invention will be described with reference to the drawings.


First, the configuration of an MFP (multifunction peripheral) as an electronic apparatus according to the present embodiment will be described.



FIG. 1 is a block diagram of the MFP 10 according to the present embodiment.


As shown in FIG. 1, the MFP 10 includes: an operation portion 11 that is an input device such as a button with which various operations are inputted; a display portion 12 that is a display device such as an LCD (liquid crystal display) which displays various types of information; a scanner 13 that is a reading device which reads an image from a document; a printer 14 that is a printing device which executes printing on a recording medium such as a sheet; a fax communication portion 15 that is a fax device which performs fax communication with an external facsimile apparatus, which is not shown, via a communication line such as a public telephone line; a communication portion 16 that is a network communication device which performs communication with an external apparatus via a network such as a LAN (local area network); a non-volatile memory 17 such as a semiconductor memory, an HDD (hard disk drive), or the like which stores various types of information; a memory controller 18 that controls the non-volatile memory 17; and a control portion 20 that controls the entirety of the MFP 10.


The non-volatile memory 17 supports at least a first reading speed and a second reading speed higher than the first reading speed. For example, the first reading speed and the second reading speed are 500 KB/sec and 3.5 MB/sec, respectively.


The non-volatile memory 17 has stored therein a boot program 17a and firmware 17d. Each of the boot program 17a and the firmware 17d may be installed into the MFP 10 during manufacture of the MFP 10, may be additionally installed into the MFP 10 from an external storage medium such as a CD, a DVD, an SD card, a USB (universal serial bus) memory, or the like, or may be additionally installed into the MFP 10 from a network.



FIG. 2 is a diagram showing an example of the boot program 17a.


As shown in FIG. 2, the boot program 17a includes: an initial load program 17b that is initially read by the memory controller 18 (see FIG. 1) and loaded; and a subsequent load program 17c that is read by the memory controller 18 and loaded after the initial load program 17b.


The initial load program 17b is a program only for setting the reading speed of the memory controller 18 to the second reading speed. The initial load program 17b may be incorporated into hardware in the form of a microcode or the like.


The subsequent load program 17c is a program for performing processing other than processing performed by execution of the initial load program 17b, among processing performed by execution of the boot program 17a.


As shown in FIG. 1, the memory controller 18 has stored therein an initial setting 18a as a reading speed. The memory controller 18 sets, as the initial setting 18a, a lowest first reading speed supported by various types of non-volatile memories among the reading speeds supported by the memory controller 18, such that various types of non-volatile memories that are mountable on the MFP 10 are enabled to be controlled.


The memory controller 18 is capable of storing an additional setting 18b as a reading speed.


The control portion 20 includes, for example, a CPU (central processing unit) 20a, a ROM (read only memory) 20b that has stored therein programs and various types of data, and a RAM (random access memory) 20c that is used as a working area for the CPU 20a. The CPU 20a executes a program stored in the non-volatile memory 17 or the ROM 20b.



FIG. 3 is a block diagram of functions of the control portion 20.


As shown in FIG. 3, the control portion 20 functions as a boot loader 21 by executing the boot program 17a (see FIG. 2). Specifically, the control portion 20 functions as a (1st) boot loader 22 of the boot loader 21 by executing the loaded initial load program 17b (see FIG. 2), and functions as a (2nd) program loader 23 of the boot loader 21 by executing the loaded subsequent load program 17c (see FIG. 2).


The (1st) boot loader 22 sets the reading speed of the memory controller 18 to the second reading speed and functions as a reading speed setting portion of the present invention.


The (2nd) program loader 23 functions as: a device setting portion 24 that performs setting of various devices such as the operation portion 11, the display portion 12, the scanner 13, the printer 14, the fax communication portion 15, and the communication portion 16, etc.; and a firmware load starting section 25 that starts load of the firmware 17d.


Next, operation of the MFP 10 will be described.



FIG. 4 is a flowchart of an operation at boot-up of the MFP 10. FIG. 5 shows diagrams showing a time course of load of programs by the control portion 20.


As shown in FIG. 4, when boot-up is started, the control portion 20 causes the memory controller 18 to read the initial load program 17b of the boot program 17a from the non-volatile memory 17 and writes the initial load program 17b read by the memory controller 18, into the RAM 20c, thereby loading the initial load program 17b (S51) as shown in FIG. 5A. Here, since the additional setting 18b (see FIG. 1) has not been made as shown in FIG. 6 at the time when boot-up is started, the memory controller 18 reads the initial load program 17b at the first reading speed of the initial setting 18a.


Next, the (1st) boot loader 22, which functions by the control portion 20 executing the loaded initial load program 17b, sets the reading speed of the memory controller 18 to the second reading speed as the additional setting 18b (S52) as shown in FIG. 7. Here, the (1st) boot loader 22 can set, as the second reading speed, the highest speed among the reading speeds supported by the non-volatile memory 17 in which the boot program 17a is stored.


Next, the (1st) boot loader 22 starts load of the subsequent load program 17c (S53).


Accordingly, the control portion 20 causes the memory controller 18 to read the subsequent load program 17c of the boot program 17a from the non-volatile memory 17 and writes the subsequent load program 17c read by the memory controller 18, into the RAM 20c, thereby loading the subsequent load program 17c (S54) as shown in FIG. 5B. Here, since the additional setting 18b has been made as shown in FIG. 7, the memory controller 18 reads the subsequent load program 17c at the second reading speed of the additional setting 18b.


Next, the device setting portion 24 of the (2nd) program loader 23, which functions by the control portion 20 executing the loaded subsequent load program 17c, performs setting of various devices (S55).


Next, the firmware load starting section 25 of the (2nd) program loader 23, which functions by the control portion 20 executing the loaded subsequent load program 17c, starts load of the firmware 17d (S56).


Accordingly, the control portion 20 causes the memory controller 18 to read the firmware 17d from the non-volatile memory 17 and writes the firmware 17d read by the memory controller 18, into the RAM 20c, thereby loading the firmware 17d (S57) as shown in FIG. 5C. Here, since the additional setting 18b has been made as shown in FIG. 7, the memory controller 18 reads the firmware 17d at the second reading speed of the additional setting 18b.


As described above, after the MFP 10 sets, by causing the memory controller 18 to read the initial load program 17b of the boot program 17a at the first reading speed of the initial setting 18a and loading the initial load program 17b (S51), the reading speed of the memory controller 18 to the second reading speed higher than the first reading speed (S52), the MFP 10 causes the memory controller 18 to read the subsequent load program 17c of the boot program 17a different from the initial load program 17b at the second reading speed and loads the subsequent load program 17c (S54). Thus, the MFP 10 can shorten the time required for loading the entirety of the boot program 17a.


The case where, for example, the sizes of the initial load program 17b and the subsequent load program 17c are 4 KB and 124 KB, respectively, and the first reading speed and the second reading speed are 500 KB/sec and 3.5 MB/sec, respectively, will be described.


When the memory controller 18 is caused to read the entirety of the boot program 17a at the first reading speed of the initial setting 18a, the time required for loading the entirety of the boot program 17a is about 250 msec according to the following formula.





(4 KB+124 KB)/500 KB/sec≈250 msec


Meanwhile, when the memory controller 18 is caused to read the initial load program 17b of the boot program 17a at the first reading speed of the initial setting 18a and read the subsequent load program 17c of the boot program 17a at the second reading speed of the additional setting 18b, the time required for loading the entirety of the boot program 17a is about 45 msec according to the following formula.





4 KB/500 KB+124 KB/3.5 MB/sec≈45 msec


As shown in the above example, when the memory controller 18 is caused to read the initial load program 17b of the boot program 17a at the first reading speed of the initial setting 18a and read the subsequent load program 17c of the boot program 17a at the second reading speed of the additional setting 18b, the time required for loading the entirety of the boot program 17a can be significantly shortened as compared to the case where the memory controller 18 is caused to read the entirety of the boot program 17a at the first reading speed of the initial setting 18a.


The MFP 10 can shorten the time required for loading the entirety of the boot program 17a. Thus, as a result, the MFP 10 can shorten a boot-up time. The case upon boot-up of the MFP 10 has been described above, but the same applies to a time when the MFP 10 returns from a power saving mode to a normal mode. That is, the MFP 10 can also shorten a return time from the power saving mode to the normal mode.


The MFP 10 causes the memory controller 18 to read the firmware 17d at the second reading speed and loads the firmware 17d. Thus, the MFP 10 can also shorten the time required for loading the firmware 17d.


The electronic apparatus of the present invention is the MFP in the present embodiment, but may be an image forming apparatus other than the MFP, such as a copying machine, a printer, a FAX apparatus, and a scanner, or may be an electronic apparatus other than the image forming apparatus, such as a personal computer (PC).


In the electronic apparatus of the present invention, the subsequent load program may be at least a program for starting load of firmware, and the firmware may be stored in the non-volatile memory.


With this configuration, the electronic apparatus of the present invention causes the memory controller to read the firmware at the second reading speed and loads the firmware, and thus can shorten the time required for loading the firmware.


In the electronic apparatus of the present invention, the first reading speed is the lowest speed supported by the non-volatile memory among the reading speeds supported by the memory controller, and the second reading speed is the highest speed among the reading speeds supported by the non-volatile memory.


In addition, the boot program according to the present invention is a boot program executed by an electronic apparatus including: a non-volatile memory supporting at least a first reading speed and a second reading speed higher than the first reading speed and that stores the boot program; and a memory controller for which the first reading speed is initially set, the boot program including an initial load program that is initially read by the memory controller and loaded and a subsequent load program that is read by the memory controller and loaded after the initial load program, wherein the electronic apparatus is caused to function as a reading speed setting portion that sets a reading speed of the memory controller to the second reading speed, by the loaded initial load program being executed by the electronic apparatus.


With this configuration, the electronic apparatus of the present invention is capable of controlling various types of non-volatile memories that are mountable on the electronic apparatus, at the lowest speed, and causes the memory controller to read the subsequent load program at the highest speed and loads the subsequent load program. Thus, the electronic apparatus can shorten the time required for loading the entirety of the boot program.

Claims
  • 1. An electronic apparatus comprising: a non-volatile memory supporting at least a first reading speed and a second reading speed higher than the first reading speed and that stores a boot program; anda memory controller for which the first reading speed is initially set, whereinthe boot program includes an initial load program that is initially read by the memory controller and loaded, and a subsequent load program that is read by the memory controller and loaded after the initial load program, andthe electronic apparatus functions as a reading speed setting portion that sets a reading speed of the memory controller to the second reading speed, by executing the loaded initial load program.
  • 2. The electronic apparatus according to claim 1, wherein the subsequent load program is at least a program for starting load of firmware, andthe firmware is stored in the non-volatile memory.
  • 3. The electronic apparatus according to claim 1, wherein the first reading speed is a lowest speed supported by the non-volatile memory among reading speeds supported by the memory controller, andthe second reading speed is a highest speed among reading speeds supported by the non-volatile memory.
Priority Claims (1)
Number Date Country Kind
2015-151954 Jul 2015 JP national
PCT Information
Filing Document Filing Date Country Kind
PCT/JP2016/065162 5/23/2016 WO 00