Electronic equipment and control methods

JP2026147350APending Publication Date: 2026-09-17レノボ·ジャパン合同会社
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2025035174
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-03-06
Publication Date
2026-09-17

AI Technical Summary

Benefits of technology

【0014】 本願の実施形態によれば、必要な機能を確保したうえで初期化処理の所要時間を低減することができる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026147350000001_ABST
    Figure 2026147350000001_ABST
Patent Text Reader

Abstract

The system aims to reduce the time required for initialization while ensuring that all necessary functions are available. [Solution] The host system performs an initialization process according to the firmware before the operating system is started. The initialization process has a selectable function that allows the user to choose whether or not to perform the process. Each time the initialization process is performed, the system determines whether to disable the selectable function based on the number of consecutive unused times, which is the number of times the selectable function has not been performed consecutively. The embodiments of the present invention may be electronic devices, control methods, or any other form.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to electronic devices and control methods, for example, to initialization of a host system.

Background Art

[0002] Electronic devices including a personal computer (PC: Personal Computer) generally initialize a host system and peripheral devices based on a BIOS (Basic Input Output System) at startup. A diagnostic test called POST (Power on Self-Test) processing is executed during initialization.

[0003] For example, the information processing apparatus described in Patent Document 1 executes POST processing for each module representing a partial function of the BIOS in accordance with BIOS settings, measures the POST time for each module, determines whether the POST time has increased based on a reference value of the POST time of the module, and identifies an abnormal module in which an abnormality has occurred.

Prior Art Literature

Patent Literature

[0004]

Patent Document 1

Summary of the Invention

Problem to be Solved by the Invention

[0005] In recent years, the POST time has tended to increase. This is due to the continuous addition of a wide variety of functions to electronic devices. With the addition of functions, initialization and integration processes are required for the drivers (e.g., UEFI: Unified Extensible Firmware Interface Driver) and the devices that implement those functions. The time required for initialization and integration processes is generally proportional to the number of driver and device combinations.

[0006] Generally, the BIOS is stored in a storage medium such as SPI (Serial Peripheral Interface) flash memory and read during POST (Post-Through) processing. To ensure the resilience of the host system, authentication processing (verification) may be performed on the BIOS area where the BIOS is stored. In the authentication process, encryption methods such as ECDSA (Elliptic Curve Digital Signature Algorithm) are used. Authentication processing and decryption of encrypted BIOS also increase the time required. [Means for solving the problem]

[0007] This invention was made to solve the above-mentioned problems, and an electronic device according to one aspect of this invention comprises a host system, the host system performs an initialization process according to firmware before the startup of the operating system, the initialization process has a selectable function which is a function which can be selected whether or not to perform, and each time the initialization process is performed, the deactivation of the selectable function is determined based on the number of consecutive unused counts which is the number of times the selectable function has not been performed consecutively.

[0008] In the electronic device described above, the host system may display a notification screen on the display indicating that the selectable function has been disabled.

[0009] In the electronic device described above, the notification screen may represent a method for performing an operation to undo the disabling.

[0010] In the electronic device described above, the host system may decrease the expected number of invalidation counts, which is a reference value for determining invalidation, compared to the number of consecutive unused counts, as the difference between the number of consecutive unused counts and the expected number of invalidation counts increases.

[0011] In the electronic device described above, the device has multiple storage areas, and each storage area is equipped with a storage medium in which encrypted drivers are stored. The host system may identify a storage area in which drivers corresponding to functions that are not executed are stored, and drivers corresponding to functions that are executed are not stored, and may omit decryption of the drivers stored in that storage area.

[0012] In the electronic device described above, the selectable function may also relate to the activation of an operating system instructed by another device.

[0013] A control method according to one aspect of the present invention is a control method for electronic equipment comprising a host system, wherein the host system performs an initialization process according to firmware before the startup of the operating system, the initialization process has a selectable function which is a function which can be selected whether or not to perform, and each time the initialization process is performed, the deactivation of the selectable function is determined based on the number of consecutive unused counts which is the number of times the selectable function has not been performed consecutively. [Effects of the Invention]

[0014] According to the embodiment of the present invention, the time required for initialization processing can be reduced while ensuring the necessary functions. [Brief explanation of the drawing]

[0015] [Figure 1] This is a schematic block diagram showing an example of the hardware configuration of the electronic device according to this embodiment. [Figure 2] This is a schematic block diagram showing an example of the functional configuration of the electronic device according to this embodiment. [Figure 3] It is a table illustrating an example of UEFI drivers corresponding to boot options according to the present embodiment. [Figure 4] It is a table illustrating an example of the number of consecutive unused times and the expected number of invalidation times corresponding to boot options according to the present embodiment. [Figure 5] It is a diagram illustrating an example of a setting screen according to the present embodiment. [Figure 6] It is a flowchart showing an example of pre-boot processing according to the present embodiment. [Figure 7] It is a flowchart illustrating an example of boot option setting processing according to the present embodiment. [Figure 8] It is a flowchart illustrating an example of expected invalidation count recalculation processing according to the present embodiment. [Figure 9] It is an explanatory diagram illustrating an example of omitting decryption of a driver stored in a ROM according to the present embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0016] Hereinafter, embodiments of the present application will be described with reference to the drawings. A configuration example of the electronic device 1 according to the present embodiment will be described. FIG. 1 is a schematic block diagram showing a hardware configuration example of the electronic device 1 according to the present embodiment. In the example of FIG. 1, the electronic device 1 is configured as a notebook PC (sometimes referred to as a "laptop PC" in the present application).

[0017] The electronic device 1 includes a host system 10, a video subsystem 13, a display 14, a ROM (Read Only Memory) 22, a storage 23, a WLAN (Wireless Local Area Network) module 25, an input / output I / F (Interface) 26, an EC 31, an input device 32, and a power supply circuit 34.

[0018] The host system 10 is a computer system that forms the core of the electronic device 1. The host system 10 includes a CPU (Central Processing Unit) 11, a main memory 12, and a chipset 21. In the present application, devices constituting the host system 10 may sometimes be referred to as "host devices".

[0019] The CPU 11 is a processor that executes various programs. For example, programs such as firmware, an OS (Operating System), utility software, and application programs are executed. In the present application, "executing a program" or "execution of a program" refers to executing a process instructed by a command described in the program. The CPU 11 implements the functions of the host system 10 in cooperation with the main memory 12 and other hardware by executing various programs.

[0020] The main memory 12 is a writable memory used as a read area for execution programs of the CPU 11 or as a work area for writing processing data of the execution programs. The main memory 12 is composed of, for example, a plurality of DRAM (Dynamic Random Access Memory) chips. The CPU 11 and the main memory 12 are the minimum hardware constituting the host system 10.

[0021] The video subsystem 13 is a subsystem for implementing functions related to image display. The video subsystem 13 includes a video controller and a video memory (not shown). The video controller generates drawing information in accordance with a drawing command input from the CPU 11, and writes the generated drawing information to the video memory. The video memory temporarily stores the drawing information generated by the video controller. The video controller reads the stored drawing information stored in the video memory at a predetermined cycle, and outputs display data indicating a display screen constituted by the read drawing information to the display 14.

[0022] The display 14 displays a screen based on display data input from the video subsystem 13. The display 14 may be, for example, a liquid crystal display (LCD) or an organic light-emitting diode (OLED) display.

[0023] The chipset 21 includes multiple controllers, enabling connection to multiple devices and various data input / output. The controllers on the chipset 21 may be, for example, USB (Universal Serial Bus), SPI (Serial Peripheral Interface) bus, PCI-Express bus, etc. In the example in Figure 1, the chipset 21 is connected to ROM 22, storage 23, WLAN module 25, input / output I / F 26, and EC31.

[0024] ROM22 primarily stores firmware. Firmware stored in ROM22 includes system firmware such as BIOS (Basic Input / Output System), and firmware for controlling individual devices. Furthermore, firmware typically consists of multiple driver software (sometimes simply referred to as "drivers" in this application). In this application, BIOS refers to system firmware that instructs the host device's operation and starts the OS, and primarily means a system BIOS employing UEFI (Unified Extensible Firmware Interface) (i.e., UEFI BIOS), which may include UEFI drivers. ROM22 may be either EEPROM (Electrically Erasable Programmable Read Only Memory) or flash ROM.

[0025] Storage 23 is an auxiliary storage device that non-temporarily stores various data used in the processing of the host system 10, various data acquired through such processing, or various programs in a read-write manner. Storage 23 may be, for example, an SSD (Solid State Drive) or an HDD (Hard-disk Drive).

[0026] The WLAN module 25 connects to a WLAN, enabling it to send and receive various types of data. The WLAN module 25 enables it to send and receive various types of data with other devices connected to other networks via the WLAN or through the WLAN. These other networks may be, for example, the Internet, a public wireless network, or a virtual private network.

[0027] The I / O I / F26 connects to various devices for data input and output via wired or wireless connections. The I / O I / F26 includes, for example, a USB connector. The USB connector is a connector for wired data input and output in accordance with USB specifications.

[0028] The Embedded Controller (EC) 31 is a controller that monitors and controls the operation of various devices connected to it, regardless of the operating state of the host system 10. The EC 31 has a CPU, ROM, RAM, timer, and input / output interface, separate from the host system 10. Devices with a lower data transfer speed than the chipset 21 can be connected to the EC 31. In the example in Figure 1, an input device 32, a power supply circuit 34, and a power button 38 are connected to the EC 31.

[0029] The input device 32 detects user operations, generates an operation signal according to the detected operation, and outputs the generated operation signal to EC31. The input device 32 may be, for example, a keyboard, a touch sensor, a trackpoint, or any combination thereof.

[0030] The power supply circuit 34 supplies power to each device according to the control of EC31. The power supply circuit 34 includes a charger and a transformer (DC / DC, Direct Current / Direct Current). The charger charges the battery with surplus power from the external power source that is not consumed by each device. If power is not supplied from the external power source, or if the power supplied from the power source does not meet the needs of each device, the charger supplies power discharged from the battery to each device via a transformer. A transformer converts the voltage of the DC power supplied from an external power source or battery via a charger into the voltage required for the operation of each device. The transformer then supplies the DC power with the converted voltage to the target device.

[0031] The power button 38 accepts a press operation and, each time a press operation is accepted, notifies EC31 of the power-on and power-off of the electronic device 1. When a press operation is accepted, the power button 38 outputs a press signal to EC31 indicating that it has been pressed. When the state of the electronic device 1 is powered off and a press signal is input from the power button 38, EC31 instructs the power supply circuit 34 to start supplying power to each device of the electronic device 1 (power-on).

[0032] On the other hand, when power is supplied to the electronic device 1 and a press signal is input from the power button 38, EC31 causes the CPU 11 to perform a shutdown process. During the shutdown process, the CPU 11 saves the data currently present in the work area to the storage 23. After the data saving is complete, the CPU 11 stops the processing by the applications, device drivers, and other programs currently running. After that, the CPU 11 notifies EC31 that the shutdown process is complete. EC31 then causes the power supply circuit 34 to stop supplying power to each device of the electronic device 1.

[0033] Next, an example of the functional configuration of the electronic device 1 according to this embodiment will be described. Figure 2 is a schematic block diagram showing an example of the functional configuration of the electronic device 1 according to this embodiment. The host system 10 includes a BIOS processing unit 110 and an OS processing unit 120. The functions of the BIOS processing unit 110 are realized by the CPU 11 executing the BIOS. The BIOS processing unit 110 performs preboot processing. Preboot processing constitutes part of the startup process and corresponds to the initialization process until the OS startup (OS boot) begins. Preboot processing includes POST (Power On Self-Test) processing. In this application, startup processing refers to a series of processes from power-on until the entire electronic device 1 becomes usable so that it can perform the expected functions. Furthermore, boot mainly refers to the process related to the startup of the OS (OS boot), and reboot mainly refers to the process related to restarting (reboot).

[0034] The CPU 11 detects power-on when power is supplied from the power supply circuit 34. At this time, the CPU 11 starts the startup process. When the CPU 11 detects power-on, it reads the BIOS from the ROM 22, executes the BIOS according to the read BIOS, and performs its functions. The BIOS includes multiple drivers, which are arranged in a hierarchical structure. Each of the multiple drivers is distributed and stored in one of multiple FVs (Feature Volumes). All of the multiple FVs form part of the storage area of ​​the ROM 22.

[0035] The BIOS processing unit 110 sequentially reads the drivers stored in the ROM 22, loads the read drivers into the main memory 12, and sequentially executes the processes instructed by the commands written in the drivers. The BIOS processing unit 110 performs basic device initialization, system configuration, and POST processing. Basic device initialization includes processes such as detection and initialization of basic devices (e.g., CPU 11, main memory 12, video subsystem 13, display 14, chipset 21, EC31, input device 32). System configuration includes processes for setting the operating parameters of the BIOS.

[0036] The POST process includes processes such as consistency verification, device detection, authentication, and system management. Consistency verification includes processes such as determining the completeness of the BIOS and repairing missing code. Device detection includes processes such as detecting peripheral devices connected to the base device and initializing the detected peripheral devices. Boot management includes processes such as reading the boot loader pre-stored in storage 23 and loading the read boot loader into main memory 12.

[0037] Some POST processing is not necessarily required, and there are functions (sometimes referred to as "selectable functions" in this application) whose execution can be chosen depending on the operating environment of the electronic device 1 and the user's preferences. Selectable functions include those that allow the user to select one of several options and not select the others. Selectable functions are set, for example, during the system configuration stage. Selectable functions include boot options related to the boot process. In the following explanation, we will mainly use the case where selectable functions are applied to boot options as an example.

[0038] The BIOS processing unit 110, for example, displays a settings screen on the display 14 and sets whether to execute each boot option according to the user's operation. The execution status of individual boot options may be pre-set (default setting). If no specific instruction is given regarding execution status, the default setting is applied. The timing for displaying the settings screen is, for example, when a predetermined operation (e.g., pressing the F1 key on the keyboard) is received between power-on and the start of POST processing. During POST processing, the BIOS processing unit 110 controls whether to execute the driver for the corresponding boot option according to the settings. The installation of the driver for a boot option determined not to execute, i.e., reading from ROM 22 and loading into main memory 12, may be omitted. The OS processing unit 120 may also display the settings screen related to POST processing (e.g., boot options) when a predetermined user operation is received after OS startup (e.g., when an item from the advanced options menu is selected). In that case, after the host system 10 shuts down, the BIOS processing unit 110 controls whether to execute the boot option according to the settings when POST processing resumes.

[0039] The BIOS processing unit 110 may be configured to allow the execution of the entire POST process without allowing the omission (skipping) of part of the POST process. In this embodiment, the execution mode that allows the omission of part of the POST process is called "Skip ON mode," and the execution mode that does not allow the omission of part of the process is called "Skip OFF mode." Either Skip ON mode or Skip OFF mode may be selected according to the user's operation by displaying a setting screen as described above.

[0040] The BIOS processing unit 110 counts the number of consecutive times each boot option has not been executed as the number of consecutive unused times, each time the POST process is performed. For boot options for which the POST process is performed, the BIOS processing unit 110 sets the number of consecutive unused times to zero. The BIOS processing unit 110 enables boot options for which the number of consecutive unused times is less than or equal to a predetermined expected number of invalid uses, and allows the user to select whether or not to execute that boot option. For boot options for which the number of consecutive unused times is less than or equal to a predetermined expected number of invalid uses, the BIOS processing unit 110 disables that boot option and skips its execution without allowing the user to select whether or not to execute it. The BIOS processing unit 110 can skip reading the driver related to the disabled boot option and loading it into main memory 12. The expected number of invalid uses corresponds to the standard value of the number of consecutive unused uses for determining whether a boot option should be disabled. The expected number of invalid uses may be a predetermined fixed value. The BIOS processing unit 110 may not include the display of disabled boot options in the settings screen and may not accept settings for whether or not to execute those boot options.

[0041] If there are any disabled boot options, the BIOS processing unit 110 may include notification information indicating the existence of the disabled options or the disabled boot options in the settings screen and display it on the display 14. The BIOS processing unit 110 may also include the notification information and guidance information on how to undo the disabling of the boot option in the settings screen and display it on the display 14. When the BIOS processing unit 110 detects the instructed operation, it enables the disabled boot option. The BIOS processing unit 110 may also restore the display of the enabled boot option on the settings screen. Depending on the operation, the BIOS processing unit 110 allows the user to choose again whether or not to execute the enabled boot option.

[0042] The OS processing unit 120 executes the OS and related software and provides basic functions. Related software refers to software that works in cooperation with the OS. Examples of related software include device drivers and utilities. Basic functions include memory management, task management, file management, input / output management, and execution management of application software (which may be referred to as "apps" or "applications" in this application). The functions of the OS processing unit 120 are provided after the POST process is completed. That is, after the POST process is completed, the CPU 11 executes the boot loader deployed in main memory 12 to read the OS module and related software from storage 23 and load them into main memory 12. After that, the CPU 11 starts the OS.

[0043] Next, we will explain specific examples of boot options. The functions related to boot options are provided by executing one or more drivers that make up the BIOS. Figure 3 is a table illustrating UEFI drivers corresponding to boot options. Figure 3 illustrates PXE Boot and HTTPS Boot as boot options. Both PXE Boot and HTTPS Boot are boot options related to startup processes in response to requests from other devices.

[0044] PXE Boot (Preboot Execution Environment Boot) is a function that allows a device to be started from another device via a communication network using TFTP (Trivial File Transfer Protocol). PXE Boot utilizes UEFI drivers such as IPv4 and UrfiPceBc. TFTP is a communication protocol for file transfer over an IP (Internet Protocol) network. TFTP has a simple specification that does not include features such as retransmission control or authentication.

[0045] HTTPS Boot (Hypertext Transfer Protocol Secure Boot) is a function that allows another device to boot a target device using HTTPS. HTTPS Boot utilizes UEFI drivers such as IPc4, Snp, TCP, HTTP, and HTTP Boot. HTTPS is a communication protocol used to encrypt and transmit data between a web server and a web client. Therefore, HTTPS Boot involves more complex processing than PXE Boot.

[0046] As described above, the BIOS processing unit 110 is pre-configured with an expected number of invalidation cycles for each boot option. Each time the POST process is executed, the BIOS processing unit 110 counts the number of consecutive unused cycles for each boot option and invalidates any boot option whose counted consecutive unused cycles exceed the expected number of invalidation cycles. For boot options that are to be executed, the BIOS processing unit 110 sets the number of consecutive unused cycles to zero.

[0047] Figure 4 is a table illustrating the number of consecutive unused attempts and the expected number of invalid attempts corresponding to each boot option. In the example in Figure 4, for PXE Boot, the number of consecutive unused attempts is counted as N01, and the expected number of invalid attempts is set to M01. For HTTPS Boot, the number of consecutive unused attempts is counted as N02, and the expected number of invalid attempts is set to M02.

[0048] Next, an example of the settings screen according to this embodiment will be described. Figure 5 is a diagram illustrating the settings screen according to this embodiment. The settings screen illustrated in Figure 5 is displayed when the boot menu is selected from the various setting menus available in the system settings. In the example in Figure 5, the FDD is specified as the boot disk, i.e., the destination for reading the boot loader. The state is indicated that PXE Boot execution is instructed as a valid boot option. In addition, IPv4 and UefiPxcBc are displayed as drivers related to PXE Boot.

[0049] The settings screen illustrated in Figure 5 includes notification information indicating the presence of disabled boot options and guidance information on how to undo the disabling of boot options. The notification information is exemplified by the message "Some boot options have been skipped." The guidance information includes the message "To undo the skipping," followed by the power button, "+", and the shift key, in that order. This guides the user that pressing the power button and the shift key simultaneously will enable the disabled boot options.

[0050] Next, an example of the pre-boot process according to this embodiment will be described. Figure 6 is a flowchart of an example of the pre-boot process according to this embodiment. However, this example assumes that the system can select to execute one of the following boot options: PXE Boot, HTTPS Boot, or any other option. (Step S102) The CPU 11 waits for power-on in a power-off state. If power-on is detected (Step S102 YES), the process proceeds to step S104. If power-on is not detected (Step S102 NO), the CPU 11 continues to wait for power-on.

[0051] (Step S104) The CPU 11 starts reading the BIOS from the ROM 22 and loading it into the main memory 12, and starts the functions of the BIOS processing unit 110 according to the BIOS. The BIOS processing unit 110 performs basic device initialization and system setting processing. The BIOS processing unit 110 determines whether or not the Skip OFF mode is set for the boot option. If the Skip OFF mode is set (Step S104 YES), proceed to step S118. If the Skip OFF mode is not set (Step S104 NO), proceed to step S106.

[0052] (Step S106) The BIOS processing unit 110 compares the number of consecutive unused PXE Boot attempts with the expected number of invalid attempts. If the number of consecutive unused attempts exceeds the expected number of invalid attempts (Step S106 YES), the process proceeds to Step S108. If the number of consecutive unused attempts is less than or equal to the expected number of invalid attempts (Step S106 NO), the process proceeds to Step S110. (Step S108) The BIOS processing unit 110 skips reading the drivers related to PXE Boot and loading them into main memory 12.

[0053] (Step S110) The BIOS processing unit 110 compares the number of consecutive unused HTTPS Boot attempts with the expected number of invalid attempts. If the number of consecutive unused attempts exceeds the expected number of invalid attempts (Step S110 YES), the process proceeds to Step S112. If the number of consecutive unused attempts is less than or equal to the expected number of invalid attempts (Step S110 NO), the process proceeds to Step S114. (Step S112) The BIOS processing unit 110 skips reading the drivers related to HTTPS Boot and loading them into main memory 12.

[0054] (Step S114) The BIOS processing unit 110 determines whether or not it skipped loading the drivers related to any of the boot options. If it skipped (Step S114 YES), it proceeds to step S116. If it did not skip (Step S114 NO), it proceeds to step S118. In this case, all drivers are read and loaded into main memory 12. (Step S116) The BIOS processing unit 110 displays on the screen that the boot option has been skipped. Here, the BIOS processing unit 110 displays the skipped boot option as a disabled boot option, and includes notification information indicating its existence in the settings screen on the display 14.

[0055] (Step S118) The BIOS processing unit 110 determines, based on the configuration information obtained during the system setup phase, whether or not one of the boot options (e.g., PXE Boot, HTTPS Boot, or any other option) has been selected. If selected (Step S118 YES), the process proceeds to Step S120. If not selected (Step S118 NO), the process shown in Figure 6 is terminated. (Step S120) The BIOS processing unit 110 performs the boot option setting process (described later). At this stage, the BIOS processing unit 110 selects whether or not to perform PXE Boot, HTTPS Boot, or another option, and then performs the selected boot option. After that, the process shown in Figure 6 is completed.

[0056] Next, an example of the boot option setting process according to this embodiment will be described. Figure 7 is a flowchart illustrating the boot option setting process according to this embodiment. However, the example assumes that the expected number of invalidation cycles for each boot option is not a fixed value but is variable. If the selected boot option is PXE Boot, HTTPS Boot, or another option, the process proceeds to steps S142, S152, and S162, respectively.

[0057] (Step S142) The BIOS processing unit 110 performs a recalculation process for the expected number of invalid attempts for PXE Boot (described later). (Step S144) The BIOS processing unit 110 resets the number of consecutive unused PXE Boot attempts to zero, increments the number of consecutive unused HTTPS Boot attempts by 1, and increments the number of consecutive unused other options by 1. After that, it terminates the process shown in Figure 7. During the POST process, the BIOS processing unit 110 executes the process related to PXE Boot, but does not execute the process related to HTTPS Boot and other options.

[0058] (Step S152) The BIOS processing unit 110 performs a recalculation process for the expected number of invalid HTTPS Boot instances. (Step S154) The BIOS processing unit 110 resets the number of consecutive unused HTTPS Boot attempts to zero, adds 1 to the number of consecutive unused PXE Boot attempts, and adds 1 to the number of consecutive unused other options. After that, it terminates the process shown in Figure 7. The BIOS processing unit 110 executes the HTTPS Boot process during the POST process, but does not execute the PXE Boot and other options processes.

[0059] (Step S162) The BIOS processing unit 110 performs a recalculation process for the expected number of invalid options for the other options. (Step S164) The BIOS processing unit 110 resets the number of consecutive unused attempts for other options to zero, adds 1 to the number of consecutive unused attempts for PXE Boot, and adds 1 to the number of consecutive unused attempts for HTTPS Boot. After that, it terminates the process shown in Figure 7. The BIOS processing unit 110 executes processing related to other options during POST processing, but does not execute processing related to PXE Boot, HTTPS Boot, and other options.

[0060] Note that the expected number of times PXE Boot, HTTPS Boot, and other options are disabled may be a predetermined fixed value. If the selected boot option is PXE Boot, HTTPS Boot, or another option, steps S142, S152, and S162 are omitted, and the process proceeds to steps S144, S154, and S164, respectively.

[0061] The BIOS processing unit 110 may update the boot options so that the expected number of invalid uses decreases for boot options with a large difference between the number of consecutive unused uses and the expected number of invalid uses. However, the BIOS processing unit 110 will reduce the amount of decrease in the expected number of invalid uses to less than the difference between the number of consecutive unused uses and the expected number of invalid uses. This will suppress abrupt fluctuations while determining the expected number of invalid uses according to the usage situation. However, if the expected number of invalid uses calculated based on the difference exceeds a predetermined upper limit, the BIOS processing unit 110 will set that upper limit as the corrected expected number of invalid uses. If the expected number of invalid uses determined based on the difference falls below a predetermined lower limit, the BIOS processing unit 110 will set that lower limit as the corrected expected number of invalid uses.

[0062] Next, an example of the invalidity expectation count recalculation process according to this embodiment will be described. Figure 8 is a flowchart illustrating the invalidity expectation count recalculation process according to this embodiment. (Step S172) The BIOS processing unit 110 calculates a difference A for the corresponding boot option by subtracting the expected number of invalid uses from the current number of consecutive unused uses. (Step S174) The BIOS processing unit 110 calculates value B by subtracting half of difference A from the expected number of invalid counts at that time. If value B has a fractional part after the decimal point, the BIOS processing unit 110 rounds value B to the nearest whole number.

[0063] (Step S176) The BIOS processing unit 110 determines whether the value B exceeds a predetermined upper limit. If it exceeds the upper limit (Step S176 YES), the process proceeds to step S178. If it does not exceed the upper limit (Step S176 NO), the process proceeds to step S180. (Step S178) The BIOS processing unit 110 sets the upper limit as the expected number of invalid entries. After that, it terminates the process shown in Figure 8.

[0064] (Step S180) The BIOS processing unit 110 determines whether the value B falls below a predetermined lower limit. If it falls below the lower limit (Step S180 YES), the process proceeds to step S182. If it does not fall below the lower limit (Step S180 NO), the process proceeds to step S184. (Step S182) The BIOS processing unit 110 sets the lower limit as the expected number of invalid entries. After that, it terminates the process shown in Figure 8. (Step S184) The BIOS processing unit 110 sets value B as the new expected number of invalid entries. After that, it terminates the process shown in Figure 8.

[0065] Here, we will explain an example of calculating the corrected expected number of invalid plays. However, we will assume that the lower and upper limits of the expected number of invalid plays are 2 and 50, respectively. If the expected number of invalid plays at that point in time (currently) is 10 and the number of consecutive unused plays is 20, then the corrected expected number of invalid plays will be 5. If the expected number of invalid entries at that point is 20 and the number of consecutive unused entries is 10, the corrected expected number of invalid entries becomes 25. If the expected number of invalid entries at that point is 2 and the number of consecutive unused entries is 50, then the corrected expected number of invalid entries becomes 2. If the expected number of invalid entries at that point is 6 and the number of consecutive unused entries is 5, then the corrected expected number of invalid entries becomes 6.

[0066] Furthermore, as described above, individual drivers are stored in ROM22, distributed among multiple FVs. Multiple drivers may be stored in the FV corresponding to each function type. In addition, the stored drivers may be encrypted on an FV basis. In that case, before loading the target driver to be processed into main memory 12 during POST processing, the BIOS processing unit 110 decrypts the entire encrypted driver stored in the FV where the target driver is stored, extracts the target driver from the decrypted plaintext driver, and loads it into main memory 12. Therefore, decryption processing is unnecessary for drivers whose execution is to be omitted.

[0067] Therefore, the BIOS processing unit 110 may be pre-configured with driver information indicating the associated drivers and the FV where they are stored for each function, including boot options. The BIOS processing unit 110 refers to the driver information and identifies the FV in which the driver related to the boot option to be omitted is stored. The BIOS processing unit 110 determines whether the identified FV also stores drivers related to other functions that will be executed without being omitted. In the POST process, the BIOS processing unit 110 omits the decoding of drivers stored in the identified FV that does not store drivers related to other functions that will be executed. This further shortens the time required to reach the boot process.

[0068] In the example shown in Figure 9, four FV1 to FV4 are set in ROM22. Of these, encrypted PXE Boot-related drivers and HTTPS Boot-related drivers are stored in FV4 as network-related FVs, and encrypted drivers related to other options are stored in FV3. If the execution of PXE Boot and HTTPS Boot is skipped and other options are selected as the target for execution, the BIOS processing unit 110 omits the decryption of the drivers stored in FV4 during POST processing. Consequently, loading them into main memory 12 is omitted. On the other hand, the BIOS processing unit 110 reads the encrypted drivers stored in FV3 and performs decryption. The BIOS processing unit 110 loads the plaintext drivers obtained after decryption into main memory 12.

[0069] In the above explanation, the application of the selectable function to boot options was primarily described, but it is not limited to this. This embodiment may be applied to other selectable functions (e.g., BIOS setup, BIOS flash, etc.) in place of or in conjunction with boot options. Here, BIOS setup refers to the settings items (e.g., boot disk, input devices such as keyboards, language, etc.) presented by the setup menu, which is a separate settings screen from boot options. BIOS flash refers to updating the drivers related to the BIOS stored in ROM22.

[0070] Electronic device 1 is not necessarily limited to a notebook PC, but may be an electronic device implemented in other forms, such as a desktop PC or a tablet terminal. Furthermore, while the simultaneous pressing of the power button and the shift key was given as an example of how to undo the disabling of a selectable function, this is not the only method. For example, the operation may be applied to pressing other keys instead of the shift key. Also, the undoing of disabling may be configurable as part of the boot mode settings. In addition, the undoing of disabling may be performed when the system is activated in response to the detection of a specific user's approach or operation, predetermined by a known method.

[0071] As described above, the electronic device 1 according to this embodiment includes a host system 10, which performs an initialization process (e.g., POST process) according to the firmware (e.g., BIOS) before starting the operating system. The initialization process has a selectable function (e.g., boot option) which is a function whose execution can be selected, and each time the initialization process is performed, the system determines whether to disable the selectable function based on the number of consecutive unused times, which is the number of times the selectable function has not been executed consecutively. In this configuration, the disabling of selectable functions is determined based on the number of consecutive unused executions. Processing for unused selectable functions is omitted. Therefore, the time required for initialization is reduced.

[0072] Furthermore, when the host system 10 disables a selectable function, it may display a notification screen on the display 14 indicating that the function has been disabled. In this configuration, a notification screen indicating the disabling of the selectable function is displayed on display 14. Therefore, users who see the notification screen are notified that the selectable function has been disabled.

[0073] The notification screen may also show instructions on how to undo the disabling of the selectable function. In this configuration, instructions on how to undo the disabling of a selectable function are displayed on display 14. Therefore, users who access the notification screen are given a clue to undo the disabling of the selectable function.

[0074] Furthermore, the host system 10 may decrease the expected number of invalidations, which is a criterion value for determining invalidation compared to the number of consecutive unused times, as the difference between the number of consecutive unused times and the expected number of invalidations increases. In this configuration, the larger the difference between the number of consecutive unused uses and the expected number of invalid uses, the lower the expected number of invalid uses becomes. When the number of consecutive unused uses does not reach the expected number of invalid uses, the expected number of invalid uses is adjusted so that the difference between the two numbers is reduced. Therefore, the expected number of invalid uses is adjusted according to the execution status of the selectable functions.

[0075] Furthermore, the electronic device 1 may have multiple memory areas (e.g., FV), and each memory area may be equipped with a storage medium (e.g., ROM 22) in which encrypted drivers are stored. The host system 10 may identify a memory area in which drivers corresponding to functions that are not executed are stored, and drivers corresponding to functions that are executed are not stored, and may omit decryption of the drivers stored in that memory area. This configuration omits the decryption of drivers corresponding to selectable functions that are not executed. By omitting driver decryption, the time required for initialization is reduced.

[0076] The selectable functions may also include functions related to the startup of an operating system instructed by other devices (e.g., PXE Boot, HTTPS Boot).

[0077] Although embodiments of the present invention have been described in detail above with reference to the drawings, the specific configurations are not limited to the embodiments described above, and include designs and the like that do not depart from the spirit of this invention. The configurations described in the embodiments described above can be combined in any way. [Explanation of Symbols]

[0078] 1...Electronic devices, 10...Host system, 11...CPU, 12...Main memory, 13...Video subsystem, 14...Display, 21...Chipset, 22...ROM, 23...Storage, 25...WLAN module, 26...Input / Output I / F, 31...EC, 32...Input device, 34...Power circuit, 38...Power button, 110...BIOS processing unit, 120...OS processing unit

Claims

1. Equipped with a host system, The host system performs an initialization process according to the firmware before the operating system starts up. The initialization process has a selectable function that allows the user to choose whether or not to execute it. Each time the initialization process is performed, the decision to disable the selectable function is made based on the number of consecutive unused instances, which is the number of times the selectable function has not been executed consecutively. electronic equipment.

2. The aforementioned host system When the aforementioned selectable function is disabled, a notification screen indicating the disablement is displayed on the screen. The electronic device according to claim 1.

3. The aforementioned notification screen represents the procedure for undoing the disabling. The electronic device according to claim 2.

4. The host system reduces the expected number of invalidation counts, which is a criterion value for determining invalidation, as the difference between the consecutive number of unused counts and the expected number of invalidation counts increases. The electronic device according to claim 1.

5. A storage medium having multiple storage areas, each of which stores an encrypted driver, The aforementioned host system Identify a memory area where drivers for functions that are not executed are stored, and drivers for functions that are executed are not stored, and omit the decoding of the drivers stored in that memory area. The electronic device according to claim 1.

6. The aforementioned selectable function relates to the activation of the operating system instructed by other devices. The electronic device according to claim 1.

7. A method for controlling electronic equipment equipped with a host system, The host system performs an initialization process according to the firmware before the operating system starts up. The initialization process has a selectable function that allows the user to choose whether or not to execute it. Each time the initialization process is performed, the decision to disable the selectable function is made based on the number of consecutive unused instances, which is the number of times the selectable function has not been executed consecutively. Control method.

Citation Information

Patent Citations

  • Information processing device, and control method

    JP2024001936A