This non-provisional application claims priority under 35 U.S.C. ยง119(a) on Patent Application No(s). 201310285448.8 filed in China on Jul. 8, 2013, the entire contents of which are hereby incorporated by reference.
1. Technical Field of the Invention
The disclosure relates to a server and a booting method thereof, more particularly to a server and a booting method thereof which are capable of helping the complete booting of all central processor units (CPUs) and are capable of reducing the manufacturing costs.
2. Description of the Related Art Recently, a demand for electronic computing devices being applied in various fields is increasing with the enhancement of the electronic technology. Take the information technology as an example. The development of networks and the spreading of small and medium local area networks that are built in companies require a more professional network server system which has a better performance and is easy to be used. Therefore, a demand for data servers, which work as platforms which data for statistic analysis can be read out from and that can store data as well, is increasing much more in every enterprise. These data servers are required to be more stable and have a better efficiency.
In order to enhance the performance of the server, there are many CPUs which either execute their basic input output system (BIOS) respectively or take turns executing the same BIOS with a timing manner to complete their own booting task.
However, if any one of the CPUs malfunctions or delays its booting, the server will not know these sudden incidents. The booting task of a next CPU is still performed whenever the timing arrives. Because all the CPUs do not boot, this causes operation errors to occur in the entire server system.
A server, according to an embodiment of the disclosure, includes a basic input output system (BIOS), a plurality of central processing units (CPUs) and a control unit. The BIOS is configured to output a booting signal. Each of the CPUs is configured to receive the booting signal to execute a booting program, and to output a successful signal after being booted. The control unit is coupled between the BIOS and the CPUs and is configured to receive the successful signal to control a connection between the BIOS and each of the CPUs. When the control unit receives the successful signal, the control unit replaces a connection between the BIOS and current one of the CPUs with a new connection between the BIOS and next one of the CPUs according to the successful signal. The next CPU then receives the booting signal.
A booting method for a server, according to an embodiment of the disclosure, includes the following steps. A booting signal is outputted by a BIOS. The booting signal is received by one of a plurality of CPUs to execute a booting program, and a successful signal is outputted by the one of the CPUs after the one of the CPUs is booted. By a control unit, the successful signal is received, and a connection between the BIOS and the one of the CPUs is controlled according to the successful signal. When the control unit receives the successful signal, a connection between the BIOS and current one of the CPUs is replaced with a new connection between the BIOS and next one of the CPUs by the control unit according to the successful signal, and the next CPU then receives the booting signal.
The present disclosure will become more fully understood from the detailed description given herein below for illustration only and thus does not limit the present disclosure, wherein:
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 drawing.
The BIOS 100 outputs a booting signal BS. One of the CPUs 200 receives the booting signal BS to execute a booting program, and outputs a successful signal RS after this CPU 200 is booted. The CPUs 200 receive the booting signal BS subsequently until the booting program finishes.
The control unit 300 is coupled between the BIOS 100 and the CPUs 200, and is configured to receive the successful signal RS, and according to the successful signal RS, control one of the CPUs 200 to connect with the BIOS 100. Specifically, when current one of the CPUs 200 is supplied with power successfully, the current CPU 200 will correspondingly output a power-on signal at a low logic level to the control unit 300. The control unit 300 will further connect the BIOS 100 to the current CPU 200. After being booted, the current CPU 200 outputs the power-on signal at a high logic level and the successful signal RS to the control unit 300. Then, the control unit 300 further cuts off the connection between the BIOS 100 and the current CPU 200 and connects the BIOS 100 to next one of the CPUs 200 according to the successful signal RS. The next CPU 200 will follow the current CPU 200 to receive the booting signal BS to perform the following operation.
In an embodiment, the control unit 300 is a complex programmable logic device (CPLD) or similar components. In an embodiment, the BIOS 100 is coupled to the control unit 300 through a serial peripheral interface (SPI) bus, the control unit 300 is coupled to each of the CPUs 200 through a SPI bus, and the successful signal RS is transmitted from each CPU 200 to the control unit 300 via a general purpose input output (GPIO) port.
Even though the aforementioned embodiments are based on the four CPUs 200 shown in
An exemplary operation of the server 10 is taken as follows. After being supplied with power successfully, a first one of the CPUs 200, i.e. the current CPU 200, outputs a power-on signal at a low logic level to the control unit 300. The control unit 300 further connects the BIOS 100 to the first CPU 200 according to the power-on signal at the low logic level. Subsequently, when the BIOS 100 outputs the booting signal BS to the first CPU 200, the first CPU 200 will execute the booting program. After the first CPU 200 is booted, the first CPU 200 outputs the power-on signal at a high logic level and the successful signal RS to the control unit 300. The successful signal RS indicates that the first CPU 200 has been booted successfully.
Then, the control unit 300 cuts off the connection between the BIOS 100 and the first CPU 200 and connects the BIOS 100 to a second one of the CPUs 200, i.e. the next CPU 200, according to the successful signal RS outputted by the first CPU 200. That is, the control unit 300 replaces the connection between the BIOS 100 and the first CPU 200 with a new connection between the BIOS and the second CPU 200 according to the successful signal RS. After the second CPU 200 is supplied with power successfully, the second CPU 200 also outputs a power-on signal at a low logic level to the control unit 300, and then follows the first CPU 200 to receive the booting signal BS from the control unit 300 to execute the booting program.
After the second CPU 200 is booted, the second CPU 200 outputs the power-on signal at a high logic level and a successful signal RS to the control unit 300, whereby the control unit 300 will know that the second CPU 200 has been booted successfully. The control unit 300 further replaces the connection between the BIOS 100 and the second CPU 200 with a new connection between the BIOS 100 and next one of the CPUs 200, i.e. a third one of the CPUs 200, which is next to the second CPU 200, according to the successful signal RS outputted by the second CPU 200.
Further, after the third CPU 200 is supplied with power successfully, the third
CPU 200 outputs a power-on signal at a low logic level to the control unit 300, and then the third CPU 200 can follow the second CPU 200 to receive the booting signal BS to execute its booting task. In the way, all the CPUs 200 can be booted and started up.
On the other hand, if any one of the CPUs 200 is not booted successfully, this CPU 200 will unceasingly receive the booting signal BS until the booting program is executed completely. In other words, the CPU 200 will continuously receive the booting signal BS until the booting program is finished and the successful signal RS is generated and is outputted to the control unit 300. In this way, all the CPU 200s may be booted completely.
The aforementioned operation of the server 10 can be summed up in a booting method as shown in
In this or some embodiments, the booting method can further include the following steps. After the current CPU is supplied with power successfully, the current CPU outputs a power-on signal at a low logic level to the control unit. When receiving the power-on signal from the current CPU, the control unit connects the BIOS to the current CPU. After the current CPU is booted, the current CPU outputs the power-on signal at a high logic level and the successful signal to the control unit. Then, the control signal further cuts off the connection between the BIOS and the current CPU, and then performs a next booting task on the next CPU.
As set forth above, in the disclosure, the BIOS outputs a booting signal to current one of the CPUs, and the current one of the CPUs then executes the booting program and after being booted, outputs a successful signal. Subsequently, the control unit receives the successful signal and thereby controls a connection between the BIOS and the current one of the CPUs. In this way, the disclosure may efficiently help all the CPUs be booted completely.
Number | Date | Country | Kind |
---|---|---|---|
201310285448.8 | Jul 2013 | CN | national |