Patent Publication Number: US-2013254527-A1

Title: Bios firmware updating method and electronic device

Description:
BACKGROUND 
     1. Technical Field 
     The present disclosure relates to electronic devices and, more particularly, to a basic input output system firmware updating method and an electronic device using the updating method. 
     2. Description of Related Art 
     A firmware of a basic input output system (BIOS) of an electronic device, such as a server, needs to be updated regularly. The server further includes a baseboard management controller (BMC). When the firmware of the BIOS needs to be updated, the BMC is first connected to the flash memory through a multiplex switch to store a firmware update of the BIOS to the flash memory, and then the BIOS is connect to the flash memory through the multiplex switch to update the firmware of the BIOS with the stored firmware update. However, the updating method needs the multiplex switch, which makes the updating structure complex. Therefore, a new updating method is desired. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The components in the drawings are not necessarily drawn to scale, the emphasis instead being placed upon clearly illustrating the principles of the present disclose. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views. 
         FIG. 1  is a schematic view of an electronic device capable of using a basic input output system firmware updating method in accordance with an exemplary embodiment. 
         FIG. 2  is a module diagram showing a basic input output system of the electronic device of  FIG. 1  in accordance with an exemplary embodiment. 
         FIG. 3  is a flowchart of a basic input output system firmware updating method in accordance with an exemplary embodiment. 
     
    
    
     DETAILED DESCRIPTION 
     The disclosure is illustrated by way of example and not by way of limitation. It should be noted that references to “an” or “one” embodiment in this disclosure are not necessarily to the same embodiment, and such references mean at least one. 
       FIGS. 1 and 2  disclose an electronic device  100  including a baseboard management controller (BMC)  10  and a basic input output system (BIOS)  20 . The BMC  10  is connected to the BIOS  20  through a Low Pin Count (LPC) interface  30 . In this embodiment, the electronic device  100  is a server. 
     The BMC  10  includes a dynamic random access memory (DRAM)  101  for storing a firmware update of the BIOS  20 . The DRAM  101  may receive the firmware update through a special storing interface provided by the BMC  10  in a network, allowing a user to store the firmware update through a remote device such as a computer connected to the network. The BMC  10  sets an identifier for the firmware update to indicate whether the DRAM  101  receives a firmware update of the BIOS  20  through a pin  301  of the LPC interface  30 . The BMC  10  sets the identifier to a valid state if the DRAM  101  receives a firmware update, and the BMC  10  sets the identifier to an invalid state if the DRAM  101  does not receive a firmware update. For example, logical high level and logical low level are respectively used to represent the valid state and the invalid state. In this embodiment, the BMC  10  controls the electronic device  100  to restart after setting the identifier to a valid state. 
     In another embodiment, when the DRAM  101  receives a file, the BMC  10  determines whether the received file is a BIOS firmware update, for example, through the first 32 bits of the file, and sets the firmware identifier to a valid state if determining the received file is a BIOS firmware update. 
     The BIOS  20  includes a determining module  201  and an updating module  202 . The determining module  201  determines whether the identifier is a valid state when the electronic device  100  is started. The updating module  202  updates the firmware of the BIOS  20  with the firmware update stored in the DRAM  101  if the identifier is a valid state. After having updated the firmware of the BIOS  20 , the updating module  202  further transmits a setting signal to the BMC  10  for setting the identifier to an invalid state. 
     In this embodiment, the BIOS  20  further includes a reading module  203 . The reading module  203  reads the firmware update in the DRAM  101  if the identifier is a valid state, and stores the read firmware update into a Flash Read Only Memory (ROM)  204  of the BIOS  20 . The updating module  202  updates firmware of the BIOS  20  with the firmware update stored in the Flash ROM  204 . In another embodiment, the reading module  203  stores the read firmware into a memory (not shown) of the electronic device  100 . The updating module  202  updates the firmware of the BIOS  20  according to the firmware update stored in the memory of the electronic device  100 . 
       FIG. 3  is a flowchart of a basic input output system firmware updating method. 
     In step S 301 , the BMC  10  sets the identifier to a valid state if the DRAM  101  receives the firmware update of the BIOS  20 . 
     In step S 302 , the determining module  201  is controlled by the BIOS  20  to determine whether the identifier is a valid state when the electronic device  100  is started. 
     If the identifier is a valid state, the procedure goes to S 303 , if determined otherwise, the procedure ends. 
     In step S 303 , the updating module  202  is controlled by the BIOS  20  to update the firmware of the BIOS  20  with the firmware update stored in the DRAM  101 . 
     In this embodiment, in step S 303 , the reading module  203  is first controlled by the BIOS  20  to read the firmware update in the DRAM  101  when the identifier is a valid state, and store the read firmware update into the flash ROM  204  of the BIOS  20 . The updating module  202  is controlled by the BIOS  20  to update the firmware of the BIOS  20  according to the firmware update stored in the flash ROM  204 . After having updated the firmware of the BIOS  20 , the updating module  202  is further controlled by the BIOS  20  to transmit a setting signal to the BMC  10  for setting the identifier to an invalid state. 
     Although the present disclosure has been specifically described on the basis of the exemplary embodiment thereof, the disclosure is not to be construed as being limited thereto. Various changes or modifications may be made to the embodiment without departing from the scope and spirit of the disclosure.