Method For Online Updating Firmware Of Complex Programmable Logic Device

LIU; Jian-Fei ;   et al.

Patent Application Summary

U.S. patent application number 16/153729 was filed with the patent office on 2020-03-26 for method for online updating firmware of complex programmable logic device. This patent application is currently assigned to INVENTEC (PUDONG) TECHNOLOGY CORPORATION. The applicant listed for this patent is INVENTEC CORPORATION, INVENTEC (PUDONG) TECHNOLOGY CORPORATION. Invention is credited to Hai-Tao FANG, Jian-Fei LIU.

Application Number20200097278 16/153729
Document ID /
Family ID64909314
Filed Date2020-03-26

United States Patent Application 20200097278
Kind Code A1
LIU; Jian-Fei ;   et al. March 26, 2020

METHOD FOR ONLINE UPDATING FIRMWARE OF COMPLEX PROGRAMMABLE LOGIC DEVICE

Abstract

A method for updating a firmware of a complex programmable logic device comprises: electrically connecting a general purpose input/output pin of a baseboard management controller with a hitless enable pin of a complex programmable logic device; electrically connecting a first integrated circuit bus of the baseboard management controller with a second integrated circuit bus of the complex programmable logic device; inputting and transmitting a update command to the baseboard management controller by a local operating system; enabling the hitless enable pin by the baseboard management controller according to the update command; cleaning a first firmware in the complex programmable logic device by the baseboard management controller according to the update command; and burning a second firmware into the complex programmable logic device by the baseboard management controller according to the update command.


Inventors: LIU; Jian-Fei; (Shanghai City, CN) ; FANG; Hai-Tao; (Shanghai City, CN)
Applicant:
Name City State Country Type

INVENTEC (PUDONG) TECHNOLOGY CORPORATION
INVENTEC CORPORATION

Shanghai City
Taipei City

CN
TW
Assignee: INVENTEC (PUDONG) TECHNOLOGY CORPORATION
Shanghai City
CN

INVENTEC CORPORATION
Taipei City
TW

Family ID: 64909314
Appl. No.: 16/153729
Filed: October 6, 2018

Current U.S. Class: 1/1
Current CPC Class: G06F 8/65 20130101; G06F 13/4004 20130101; G06F 8/654 20180201; H03K 19/17764 20130101
International Class: G06F 8/65 20060101 G06F008/65; G06F 13/40 20060101 G06F013/40

Foreign Application Data

Date Code Application Number
Sep 21, 2018 CN 201811110580.4

Claims



1. A method for updating a firmware of a complex programmable logic device, comprising: electrically connecting a general purpose input/output pin of a baseboard management controller with a hitless enable pin of the complex programmable logic device; electrically connecting a first integrated circuit bus of the baseboard management controller with a second integrated circuit bus of the complex programmable logic device; inputting and transmitting an update command to the baseboard management controller by a local operating system; enabling the hitless enable pin by the baseboard management controller according to the update command; cleaning a first firmware in the complex programmable logic device by the baseboard management controller according to the update command; and burning a second firmware into the complex programmable logic device by the baseboard management controller according to the update command.

2. The method in claim 1, wherein the update command includes a general purpose input/output pin parameter, an integrated circuit bus parameter, and an updated file address.

3. The method in claim 2, wherein the baseboard management controller enables the hitless enable pin according to the general purpose input/output pin parameter.

4. The method in claim 2, wherein the baseboard management controller cleans the first firmware according to the integrated circuit bus parameter.

5. The method in claim 2, further formatting the complex programmable logic device by the baseboard management controller according to the integrated circuit bus parameter before burning the second firmware into the complex programmable logic device and after cleaning the first firmware.

6. The method in claim 2, further comprising downloading the second firmware from a memory by the baseboard management controller according to the updated file address before burning the second firmware into the complex programmable logic device and after cleaning the first firmware.

7. The method in claim 2, wherein the baseboard management controller burns the second firmware into the complex programmable logic device according to the integrated circuit bus parameter.

8. The method in claim 1, further comprising verifying whether a version of the second firmware is a latest version by a verification program after burning the second firmware into the complex programmable logic device, maintaining the second firmware in the complex programmable logic device if the version of the second firmware is the latest version, cleaning the second firmware and returning to a process of inputting the update command if the version of the second firmware is not the latest version.
Description



CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This non-provisional application claims priority under 35 U.S.C. .sctn. 119(a) on Patent Application No(s). 201811110580.4 filed in China on Sep. 21, 2018 the entire contents of which are hereby incorporated by reference.

BACKGROUND OF THE INVENTION

Technical Field of the Invention

[0002] The present disclosure is related to a method for updating a firmware, and more particularly to a method for updating a firmware of a complex programmable logic device in a server.

Description of the Related Art

[0003] In the development, testing and maintenance of the server, it is often necessary to update a complex programmable logic device (CPLD). Lattice company's offline programmer (Diamond Programmer) also needs the support of the hardware JTAG connector, so the versatility is poor. Therefore, some developers developed a software tool (fcpld_v1.0) that can update the firmware version of the CPLD to get rid of the hardware constraints.

[0004] However, in the program of the CPLD update software, the set value of the integrated circuit bus is set to a fixed value, and if the set value of the integrated circuit bus of the base management controller (BMC) configured to connected to the CPLD a is different from the set value of the CPLD update software, the CPLD update software cannot perform the function of burning the CPLD by the integrated circuit bus of the baseboard management controller, and must modify the set value of the integrated circuit bus in the program of the CPLD update software. Therefore, such a CPLD update tool that fixes the set value of the integrated circuit bus bar in advance is not versatile. On the other hand, the current way to enable a hitless enable pin of the CPLD is to plug the jumper cap to enable the hitless enable pin of the CPLD. However, this method will make the hardware more complex.

[0005] In view of the foregoing situations, there is indeed a need for an improved method for updating the firmware of the CPLD, which at least may improve above shortcomings.

SUMMARY OF THE INVENTION

[0006] According to one embodiment of the present disclosure, a method for updating a firmware of a complex programmable logic device is provided, there is no hardware constraint when performing a firmware update, and there is no need to consider a set value of an integrated circuit bus of a baseboard management controller, which greatly improves the versatility and convenience on different motherboards.

[0007] According to an embodiment of the present disclosure, a method for updating a firmware of a complex programmable logic device is provided, and the method comprising: electrically connecting a general purpose input/output pin of a baseboard management controller with a hitless enable pin of a complex programmable logic device; electrically connecting a first integrated circuit bus of the baseboard management controller with a second integrated circuit bus of the complex programmable logic device; inputting and transmitting a update command to the baseboard management controller by a local operating system; enabling the hitless enable pin by the baseboard management controller according to the update command; cleaning a first firmware in the complex programmable logic device by the baseboard management controller according to the update command; and burning a second firmware into the complex programmable logic device by the baseboard management controller according to the update command.

[0008] According to the method for updating the firmware of the complex programmable logic device, the update command includes a general purpose input/output pin parameter, an integrated circuit bus parameter, and an updated file address.

[0009] According to the method for updating the firmware of the complex programmable logic device, wherein the baseboard management controller enables the hitless enable pin according to the general purpose input/output pin parameter.

[0010] According to the method for updating the firmware of the complex programmable logic device, wherein the baseboard management controller cleans the first firmware according to the integrated circuit bus parameter.

[0011] The method for updating the firmware of the complex programmable logic device further comprises: formatting the complex programmable logic device by the baseboard management controller according to the integrated circuit bus parameter before burning the second firmware into the complex programmable logic device and after cleaning the first firmware.

[0012] The method for updating the firmware of the complex programmable logic device further comprises: downloading the second firmware from a memory according to the updated file address before burning the second firmware into the complex programmable logic device and after cleaning the first firmware.

[0013] According to the method for updating the firmware of the complex programmable logic device, wherein the baseboard management controller burns the second firmware into the complex programmable logic device according to the integrated circuit bus parameter.

[0014] According to one embodiment of the present disclosure, a method for updating a firmware of a complex programmable logic device is provided. After a user inputs and transmits a general purpose input/output pin parameter, an integrated circuit bus parameter, and an update file address to the baseboard management controller by a local operating system, the baseboard management controller enables the hitless enable pin according to the general purpose input/output pin parameter and burns a new version of a firmware into the complex programmable logic device. Because the user inputs an integrated circuit bus parameter only when the user needs to update a firmware of the complex programmable logic device, the integrated circuit bus parameter for updating the firmware is not a fixed value, which improves the versatility and convenience of the firmware update on different motherboards. On the other hand, it also ensures that a server system does not shut down and the baseboard management controller is not restarted when updating the firmware.

[0015] The above description of the disclosure and the following descriptions of the embodiments of the present disclosure are intended to illustrate and explain spirits and principles of the present disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

[0016] The present disclosure will become more fully understood from the detailed description given hereinbelow and the accompanying drawings which are given by way of illustration only and thus are not limitative of the present disclosure and wherein:

[0017] FIG. 1 is an architecture diagram of hardware devices in a server in accordance with an embodiment of the present disclosure.

[0018] FIG. 2 is a flowchart of a method for updating a firmware of a complex programmable logic device in accordance with a first embodiment of the present disclosure.

[0019] FIG. 3 is a flowchart of a method for updating a firmware of a complex programmable logic device in accordance with a second embodiment of the present disclosure.

DETAILED DESCRIPTION

[0020] In the following detailed description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the disclosed embodiments. It will be apparent, however, that one or more embodiments may be practiced without these specific details. In other instances, well-known structures and devices are schematically shown in order to simplify the drawings.

[0021] FIG. 1 is an architecture diagram of hardware devices in a server in accordance with an embodiment of the present disclosure. As shown in FIG. 1, a server 100 comprises a mainboard 10 and a baseboard management controller 12, a complex programmable logic device 14 and a memory 16. The baseboard management controller 12, the complex programmable logic device 14 and the memory 16 are electrically connected with the mainboard 10. The baseboard management controller 12 has a general purpose input/output pin 122, a first integrated circuit bus 124, a control pin 126 and an input pin 128, and the complex programmable logic device 14 has a hitless enable pin 142 and a second integrated circuit bus 144. The general purpose input/output pin 122 of the baseboard management controller 12 is electrically connected with the hitless enable pin 142 of the complex programmable logic device 14, the first integrated circuit bus 124 of the baseboard management controller 12 is electrically connected with the second integrated circuit bus 144 of the complex programmable logic device 14, and the control pin 126 of the baseboard management controller 12 is electrically connected with the memory 16. A user may input and transmit an update command S to the input pin 128 of the baseboard management controller 12 by a local operating system 2, and the update command S inputted by the user may include a general purpose input/output pin parameter, an integrated circuit bus parameter and an update file address. Thereby, the baseboard management controller 12 may first clean an old firmware in the complex programmable logic device 14 according to the content of the update command S, and then burn another firmware stored in the memory 16 into the complex programmable logic device 14.

[0022] FIG. 2 is a flowchart of a method for updating a firmware of a complex programmable logic device in accordance with a first embodiment of the present disclosure. Referring to FIG. 1 and FIG. 2 together, in step S201, electrically connecting the general purpose input/output pin 122 of the baseboard management controller 12 with the hitless enable pin 142 of the complex programmable logic device 14. In step S202, electrically connecting the first integrated circuit bus 124 of the baseboard management controller 12 with the second integrated circuit bus 144 of the complex programmable logic device 14. In another embodiment, step S201 and step S202 may be reversed in sequence, or may be performed simultaneously. In step S203, a user input and transmit an update command S by the local operating system 2 to the input pin 128 of the baseboard management controller 12 when the user needs to update a firmware of the complex programmable logic device 14, and the update command S inputted by the user may include a general purpose input/output pin parameter, an integrated circuit bus parameter and an updated file address. In step S204, enabling the hitless enable pin 142 of the complex programmable logic device 14 by the baseboard management controller 12 according to the general purpose input/output pin parameter of the inputted update command S. In step S205, cleaning a first firmware stored in the complex programmable logic device 14 by the baseboard management controller 12 according to the integrated circuit bus parameter of the inputted update command S. In step S206, formatting the complex programmable logic device 14 by the baseboard management controller 12 according to the integrated circuit bus parameter of the inputted update command S. In step S207, downloading a second firmware from a storage location of the memory 16 by the baseboard management controller 12 according to the updated file address of the inputted update command S. In step S208, burning the second firmware downloaded from the memory 16 into the complex programmable logic device 14 by the baseboard management controller 12 according to the integrated circuit bus parameter of the inputted update command S.

[0023] FIG. 3 is a flowchart of a method for updating a firmware of a complex programmable logic device in accordance with a second embodiment of the present disclosure. The contents of steps S301 to S308 of FIG. 3 are the same as the contents of steps S201 to S208 of FIG. 2, and FIG. 3 further comprises steps S309 to S311. In step S309, verifying whether a version of the second firmware is a latest version by a verification program after burning the second firmware into the complex programmable logic device 14. If the verification program verifies that the version of the second firmware is the latest version, step S310 is performed. If the verification program verifies that the version of the second firmware is not the latest version, step S311 is performed. In step S310, maintaining the second firmware in the complex programmable logic device 14. In step S311, cleaning the second firmware in the complex programmable logic device 14 by the baseboard management controller 12 and then returning to step S303. After returning to step S303, when the user inputs a new update command and an updated file address of the new update command indicates that the version of the second firmware downloaded from another new storage location of the memory 16 by the baseboard management controller 12 is the latest version, stop performing steps S309 to S311.

[0024] According to an embodiment of the present disclosure, a method for updating a firmware of a complex programmable logic device is provided. After a user inputs and transmits a general purpose input/output pin parameter, an integrated circuit bus parameter, and an update file address to the baseboard management controller by a local operating system, the baseboard management controller enables the hitless enable pin and burns a new version of a firmware into the complex programmable logic device according to the general purpose input/output pin parameter. Because the user inputs the integrated circuit bus parameter only when the user needs to update the firmware of the complex programmable logic device, the integrated circuit bus parameter for updating the firmware is not a fixed value, which improves the versatility and convenience of the firmware update on different motherboards. On the other hand, it also ensures that a server system does not shut down and the baseboard management controller is not restarted when updating the firmware.

[0025] Although the present disclosure has been disclosed above in the foregoing embodiments, it is not intended to limit this invention. It is within the scope of this invention to be modified and modified without departing from the spirit and scope of the invention. Please refer to the attached claims for the scope of protection defined by the present invention.

* * * * *

Patent Diagrams and Documents
D00000
D00001
D00002
D00003
XML
US20200097278A1 – US 20200097278 A1

uspto.report is an independent third-party trademark research tool that is not affiliated, endorsed, or sponsored by the United States Patent and Trademark Office (USPTO) or any other governmental organization. The information provided by uspto.report is based on publicly available data at the time of writing and is intended for informational purposes only.

While we strive to provide accurate and up-to-date information, we do not guarantee the accuracy, completeness, reliability, or suitability of the information displayed on this site. The use of this site is at your own risk. Any reliance you place on such information is therefore strictly at your own risk.

All official trademark data, including owner information, should be verified by visiting the official USPTO website at www.uspto.gov. This site is not intended to replace professional legal advice and should not be used as a substitute for consulting with a legal professional who is knowledgeable about trademark law.

© 2024 USPTO.report | Privacy Policy | Resources | RSS Feed of Trademarks | Trademark Filings Twitter Feed