[go: up one dir, main page]

TWI862323B - Method for adjusting a server and its associated external network card - Google Patents

Method for adjusting a server and its associated external network card Download PDF

Info

Publication number
TWI862323B
TWI862323B TW112147522A TW112147522A TWI862323B TW I862323 B TWI862323 B TW I862323B TW 112147522 A TW112147522 A TW 112147522A TW 112147522 A TW112147522 A TW 112147522A TW I862323 B TWI862323 B TW I862323B
Authority
TW
Taiwan
Prior art keywords
controller
baseboard
external network
baseboard controller
server
Prior art date
Application number
TW112147522A
Other languages
Chinese (zh)
Other versions
TW202524307A (en
Inventor
黃添壽
王紹宇
莊智豪
Original Assignee
技鋼科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 技鋼科技股份有限公司 filed Critical 技鋼科技股份有限公司
Priority to TW112147522A priority Critical patent/TWI862323B/en
Application granted granted Critical
Publication of TWI862323B publication Critical patent/TWI862323B/en
Publication of TW202524307A publication Critical patent/TW202524307A/en

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A Method for Adjusting a Server and its Associated External Network Card, wherein the server includes an external network controller and a baseboard controller. The external network controller has a first communication interface and stores a device number; the baseboard controller has a second communication interface connected to the first communication interface, and stores a lookup table and TCP window setting values. The lookup table stores multiple device numbers and corresponding adjustment parameters for the device numbers. In this method, the baseboard controller obtains the device number of the external network controller through the second communication interface, and looks up the obtained device number in the lookup table to retrieve the corresponding adjustment parameters. The baseboard controller then modifies the TCP window setting values based on the obtained adjustment parameters.

Description

伺服器與其外接網路卡的調整方法How to adjust the server and its external network card

關於一種計算機設備與其外設的電子設備,特別有關一種伺服器與其外接網路卡的調整方法。The invention relates to a computer device and its peripheral electronic device, and in particular to an adjustment method of a server and its external network card.

隨著網際網路的興起,伺服器可以提供各種網路服務給使用者。為能方便維護伺服器,因此伺服器中多會設置遠端管理的相關硬體。例如,伺服器的基板控制器(Baseboard Management Controller,簡稱BMC)除了管理伺服器本身的運作設定,也可以監控伺服器中的其他元件的狀態。除此之外,基板控制器更提供遠端連線的功能,以使後端人員可以通過網際網路連接基板控制器,藉以觀看或調整伺服器的狀態或設定。With the rise of the Internet, servers can provide a variety of network services to users. In order to facilitate the maintenance of servers, servers are often equipped with remote management hardware. For example, the server's baseboard controller (Baseboard Management Controller, referred to as BMC) can not only manage the operation settings of the server itself, but also monitor the status of other components in the server. In addition, the baseboard controller also provides remote connection functions, so that back-end personnel can connect to the baseboard controller through the Internet to view or adjust the status or settings of the server.

一般而言,基板控制器是固定於伺服器的主機板中。因此基板控制器的內建網路卡速度是無法被異動的。所以廠商更提出以外接網路卡的方式,藉以提供基板控制器更快的網路傳輸速度。基板控制器可以通過網路控制側頻介面(Network Controller Sideband Interface,簡稱NCSI)連接於外接網路卡。但實際上受限於基板控制器的運算能力或網路介面的傳輸速度,所以在傳輸大量封包時,基板控制器變成封包傳輸的塞車瓶頸。Generally speaking, the baseboard controller is fixed in the server motherboard. Therefore, the speed of the built-in network card of the baseboard controller cannot be changed. Therefore, manufacturers have proposed to use an external network card to provide the baseboard controller with a faster network transmission speed. The baseboard controller can be connected to the external network card through the network controller sideband interface (NCSI). However, in reality, it is limited by the computing power of the baseboard controller or the transmission speed of the network interface. Therefore, when transmitting a large number of packets, the baseboard controller becomes a bottleneck for packet transmission.

有鑑於此,在一實施例中,所述的伺服器可以根據外接網路卡動態調整為相應的TCP(Transmission Control Protocol)窗口設定值,藉以匹配當前網路傳輸速率。In view of this, in one embodiment, the server can dynamically adjust to a corresponding TCP (Transmission Control Protocol) window setting value according to an external network card to match the current network transmission rate.

在一實施例中,所述的伺服器包括外網控制器與基板控制器。外網控制器具有第一通訊介面並儲存裝置編號;基板控制器具有連接於第一通訊介面的第二通訊介面,基板控制器儲存查找表與TCP窗口設定值,查找表儲存多個裝置編號與對應裝置編號的調整參數;其中,基板控制器通過第二通訊介面獲取外網控制器的裝置編號,基板控制器根據所獲取的裝置編號對查找表進行查找,以獲取相應的調整參數,基板控制器根據所獲取的調整參數修改TCP窗口設定值。基板控制器根據外設的外接網路卡的相關資訊對所屬的TCP窗口設定值進行調整,以使基板控制器的內部網路傳輸速度可以匹配外接網路卡所連接外部網路傳輸速度。In one embodiment, the server includes an external network controller and a baseboard controller. The external network controller has a first communication interface and stores a device number; the baseboard controller has a second communication interface connected to the first communication interface, the baseboard controller stores a lookup table and a TCP window setting value, and the lookup table stores a plurality of device numbers and adjustment parameters corresponding to the device numbers; wherein the baseboard controller obtains the device number of the external network controller through the second communication interface, the baseboard controller searches the lookup table according to the obtained device number to obtain the corresponding adjustment parameters, and the baseboard controller modifies the TCP window setting value according to the obtained adjustment parameters. The baseboard controller adjusts the TCP window setting value according to the relevant information of the external network card of the peripheral device, so that the internal network transmission speed of the baseboard controller can match the external network transmission speed connected to the external network card.

在一實施例中,基板控制器於開機階段時,基板控制器驅動第二通訊介面以測試是否連接至外網控制器。In one embodiment, when the baseboard controller is in the booting stage, the baseboard controller drives the second communication interface to test whether it is connected to the external network controller.

在一實施例中,基板控制器判斷未連接外網控制器,基板控制器完成開機階段。In one embodiment, the baseboard controller determines that the external network controller is not connected, and the baseboard controller completes the booting stage.

在一實施例中,外網控制器更具有外設網路介面,基板控制器更具有內部網路介面,外設網路介面匹配第一網路速度,內部網路介面匹配第二網路速度,基板控制器根據裝置編號獲取外設網路介面的第一網路速度,基板控制器根據第一網路速度與第二網路速度計算速度比例值。In one embodiment, the external network controller further has an external network interface, and the substrate controller further has an internal network interface. The external network interface matches a first network speed, and the internal network interface matches a second network speed. The substrate controller obtains the first network speed of the external network interface according to the device number, and the substrate controller calculates a speed ratio value according to the first network speed and the second network speed.

在一實施例中,基板控制器判斷速度比例值是否大於門檻值,若速度比例值大於門檻值,基板控制器根據所獲取的調整參數對TCP窗口設定值進行修改,在速度比例值不大於門檻值,不調整TCP窗口設定值。In one embodiment, the baseboard controller determines whether the speed ratio value is greater than the threshold value. If the speed ratio value is greater than the threshold value, the baseboard controller modifies the TCP window setting value according to the obtained adjustment parameter. If the speed ratio value is not greater than the threshold value, the TCP window setting value is not adjusted.

在一實施例中,基板控制器完成調整參數對TCP窗口設定值的修改,基板控制器重啟開機階段。In one embodiment, the baseboard controller completes the modification of the TCP window setting value by adjusting the parameters, and the baseboard controller restarts the boot phase.

在一實施例中,基板控制器更包括非暫態記憶體,非暫態記憶體儲存查找表與TCP窗口設定值。In one embodiment, the baseboard controller further includes a non-transitory memory storing a lookup table and a TCP window setting value.

在一些實施例中,一種伺服器的外接網路卡的調整方法,應用於伺服器的外網控制器,用以調整外網控制器的傳輸效率,調整方法包括由基板控制器獲取外網控制器的裝置編號;基板控制器根據裝置編號查找查找表,用以獲取調整參數;基板控制器根據調整參數修改TCP窗口值。In some embodiments, a method for adjusting an external network card of a server is applied to an external network controller of the server to adjust the transmission efficiency of the external network controller. The adjustment method includes obtaining a device number of the external network controller by a baseboard controller; the baseboard controller searches a lookup table according to the device number to obtain an adjustment parameter; and the baseboard controller modifies a TCP window value according to the adjustment parameter.

在一實施例中,在由基板控制器獲取外網控制器的裝置編號的步驟包括基板控制器根據裝置編號查找查找表,用以獲取外網控制器的第一網路速度;獲取基板控制器的第二網路速度;基板控制器根據第一網路速度與第二網路速度計算速度比例值;若速度比例值大於門檻值,基板控制器根據所獲取的調整參數對TCP窗口值進行修改;若速度比例值小於門檻值,基板控制器維持原本的TCP窗口值並完成開機階段。In one embodiment, the step of obtaining the device number of the external network controller by the baseboard controller includes the baseboard controller searching a lookup table according to the device number to obtain the first network speed of the external network controller; obtaining the second network speed of the baseboard controller; the baseboard controller calculating the speed ratio value according to the first network speed and the second network speed; if the speed ratio value is greater than the threshold value, the baseboard controller modifies the TCP window value according to the obtained adjustment parameter; if the speed ratio value is less than the threshold value, the baseboard controller maintains the original TCP window value and completes the boot phase.

在一實施例中,在基板控制器根據調整參數修改TCP窗口值的步驟包括基板控制器重啟開機階段。In one embodiment, the step of modifying the TCP window value according to the adjustment parameter by the baseboard controller includes a baseboard controller restarting stage.

所述的伺服器與其外接網路卡的調整方法可以根據不同的外接網路卡並調整相應的TCP窗口值,藉以增加外接網路卡與基板控制器之間的網路傳輸效率,進而降低基板控制器所造成的傳輸瓶頸。此外,所述的調整方法也可以改善基板控制器的遠端管理的處理負擔。藉由增加外接網路卡與基板控制器間的TCP窗口設定值,因此內部網路中就可以降低產生封包塞車、碰撞等問題,進而提供傳輸速率。The adjustment method of the server and its external network card can adjust the corresponding TCP window value according to different external network cards, so as to increase the network transmission efficiency between the external network card and the baseboard controller, thereby reducing the transmission bottleneck caused by the baseboard controller. In addition, the adjustment method can also improve the processing burden of remote management of the baseboard controller. By increasing the TCP window setting value between the external network card and the baseboard controller, the problems such as packet congestion and collision can be reduced in the internal network, thereby providing a transmission rate.

請參考圖1與圖2所示,分別為一實施例的系統架構示意圖與硬體架構示意圖。伺服器100具有至少一外網控制器110、基板控制器120(Baseboard Management Controller,簡稱BMC)與PCIe(Peripheral Component Interconnect Express)控制器130。所述的外網控制器110係為外接網路卡的控制元件,下文中以外網控制器指帶為外接網路卡的整體。Please refer to FIG. 1 and FIG. 2, which are respectively a schematic diagram of a system architecture and a schematic diagram of a hardware architecture of an embodiment. The server 100 has at least one external network controller 110, a baseboard controller 120 (Baseboard Management Controller, referred to as BMC) and a PCIe (Peripheral Component Interconnect Express) controller 130. The external network controller 110 is a control element of an external network card, and the external network controller hereinafter refers to the entire external network card.

外網控制器110連接於基板控制器120與PCIe控制器130。伺服器100的處理器140通過PCIe控制器130驅動外網控制器110,用以傳輸網際網路的封包資料。外網控制器110具有第一通訊介面111。第一通訊介面111可以是但不限定為網路控制側頻介面(Network Controller Sideband Interface,NCSI)。每一個外網控制器110儲存各自的裝置編號113。裝置編號113用以識別外網控制器110的出廠廠商、型號或版本號碼等資訊。The external network controller 110 is connected to the base controller 120 and the PCIe controller 130 . The processor 140 of the server 100 drives the external network controller 110 through the PCIe controller 130 to transmit Internet packet data. The external network controller 110 has a first communication interface 111 . The first communication interface 111 may be, but is not limited to, a Network Controller Sideband Interface (NCSI). Each external network controller 110 stores its own device number 113 . The device number 113 is used to identify information such as the manufacturer, model or version number of the external network controller 110 .

基板控制器120具有第二通訊介面121與儲存單元122。第二通訊介面121的種類匹配於第一通訊介面111的種類。第一通訊介面111連接於第二通訊介面121。基板控制器120通過第二通訊介面121與外網控制器110進行通訊。儲存單元122儲存查找表124與TCP窗口設定值126。查找表124包括多筆的調整參數125。每一組調整參數125對應不同的裝置編號113。一般而言,多組同一裝置編號113可以對應於同一調整參數125。調整參數125用以修改TCP窗口設定值126,其修改處理將於後文另述。The baseboard controller 120 has a second communication interface 121 and a storage unit 122. The type of the second communication interface 121 matches the type of the first communication interface 111. The first communication interface 111 is connected to the second communication interface 121. The baseboard controller 120 communicates with the external network controller 110 through the second communication interface 121. The storage unit 122 stores a lookup table 124 and a TCP window setting value 126. The lookup table 124 includes a plurality of adjustment parameters 125. Each set of adjustment parameters 125 corresponds to a different device number 113. Generally speaking, multiple sets of the same device number 113 can correspond to the same adjustment parameter 125. The adjustment parameter 125 is used to modify the TCP window setting value 126, and the modification process will be described later.

在一些實施例中,基板控制器120更包括非暫態記憶體。所述非暫態記憶體可以是但不限定為電子抹除式可複寫唯讀記憶體(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、閃存記憶體(Flash Memory)或非揮發性記憶體(Non-volatile random-access memory)。非暫態記憶體儲存該查找表124與TCP窗口設定值126。In some embodiments, the baseboard controller 120 further includes non-transitory memory. The non-transitory memory may be, but is not limited to, an electronically erasable programmable read-only memory (EEPROM), a flash memory (Flash Memory) or a non-volatile memory (EEPROM). Non-volatile random-access memory). Non-transitory memory stores the lookup table 124 and TCP window settings 126 .

在一些實施例中,外網控制器110更包括外設網路介面112。基板控制器120具有內部網路介面127。外設網路介面112匹配第一網路速度(無標號)。內部網路介面127匹配第二網路速度(無標號)。基板控制器120根據裝置編號113獲取外設網路介面112的第一網路速度。在圖1、圖2中係以虛線表示基板控制器120可選擇性連接於網際網路。In some embodiments, the external network controller 110 further includes an external network interface 112. The baseboard controller 120 has an internal network interface 127. The external network interface 112 matches a first network speed (no label). The internal network interface 127 matches a second network speed (no label). The baseboard controller 120 obtains the first network speed of the external network interface 112 according to the device number 113. In FIG. 1 and FIG. 2, the baseboard controller 120 is indicated by a dotted line to selectively connect to the Internet.

基板控制器120在伺服器100開機階段(boot)時也會同時被啟動。因此基板控制器120在伺服器100開機階段中進行以下的外網控制器110的調整處理,請參考圖3所示,外網控制器110的調整方法包括以下步驟: 步驟S310:由基板控制器獲取外網控制器的裝置編號; 步驟S320:基板控制器根據裝置編號查找查找表,用以獲取調整參數; 步驟S330:基板控制器根據調整參數修改TCP窗口值;以及 步驟S340:基板控制器重啟開機。 The baseboard controller 120 is also started at the same time when the server 100 is booted. Therefore, the baseboard controller 120 performs the following adjustment processing of the external network controller 110 during the booting phase of the server 100. Please refer to FIG. 3. The adjustment method of the external network controller 110 includes the following steps: Step S310: The baseboard controller obtains the device number of the external network controller; Step S320: The baseboard controller searches the lookup table according to the device number to obtain the adjustment parameter; Step S330: The baseboard controller modifies the TCP window value according to the adjustment parameter; and Step S340: The baseboard controller restarts.

首先,伺服器100進行開機。伺服器100在開機階段中,基板控制器120隨之啟動。基板控制器120可以通過第二通訊介面121確認有無外網控制器110。如果伺服器100中未配置外接網路卡,基板控制器120將結束外網控制器110的檢測處理。或者,基板控制器120直接完成開機階段。基板控制器120可以執行其他元件的檢測。如果伺服器100中配置外接網路卡,基板控制器120可以通過第二通訊介面121向外網控制器110獲取裝置編號113(對應步驟S310)。First, the server 100 is powered on. During the power-on phase of the server 100, the baseboard controller 120 is started. The baseboard controller 120 can confirm the presence of the external network controller 110 through the second communication interface 121. If the server 100 is not equipped with an external network card, the baseboard controller 120 will end the detection process of the external network controller 110. Alternatively, the baseboard controller 120 directly completes the power-on phase. The baseboard controller 120 can perform detection of other components. If the server 100 is equipped with an external network card, the baseboard controller 120 can obtain the device number 113 from the external network controller 110 through the second communication interface 121 (corresponding to step S310).

基板控制器120根據裝置編號113查找查找表124中是否存在相應的調整參數125(對應步驟S320)。若查找表124中不存在對應的調整參數125,基板控制器120維持現行的TCP窗口設定值126。換言之,基板控制器120不修改TCP窗口設定值126並結束此一查找調整參數125的處理。The baseboard controller 120 searches the lookup table 124 for the corresponding adjustment parameter 125 according to the device number 113 (corresponding to step S320). If the lookup table 124 does not contain the corresponding adjustment parameter 125, the baseboard controller 120 maintains the current TCP window setting value 126. In other words, the baseboard controller 120 does not modify the TCP window setting value 126 and terminates the process of searching for the adjustment parameter 125.

當基板控制器120獲取相應裝置編號113的調整參數125,基板控制器120根據調整參數125修改現行的TCP窗口設定值126。舉例來說,TCP窗口設定值126至少包括「Vendor ID」、「Device ID」、「Threshold」、「TCP windows size」或其他數值。前述數值名稱分別為:Vendor ID係為網路卡的廠商識別號、Device ID係為網路卡的裝置(或硬體)編號、Threshold係為對應網路的傳輸上限、TCP windows size係為網路卡的傳輸封包大小。TCP windows size用以調節封包流量的傳輸速率。一般而言,基板控制器120可以將「Vendor ID」視為裝置編號113。或者,將「Vendor ID」與「Device ID」的組合視為裝置編號113。When the baseboard controller 120 obtains the adjustment parameter 125 corresponding to the device number 113, the baseboard controller 120 modifies the current TCP window setting value 126 according to the adjustment parameter 125. For example, the TCP window setting value 126 at least includes "Vendor ID", "Device ID", "Threshold", "TCP windows size" or other values. The aforementioned numerical names are: Vendor ID is the vendor identification number of the network card, Device ID is the device (or hardware) number of the network card, Threshold is the transmission upper limit of the corresponding network, and TCP windows size is the transmission packet size of the network card. TCP windows size is used to adjust the transmission rate of packet traffic. Generally speaking, the baseboard controller 120 can regard "Vendor ID" as the device number 113. Alternatively, the combination of "Vendor ID" and "Device ID" is considered to be device number 113.

基板控制器120根據受選的調整參數125對TCP窗口設定值126進行修改(對應步驟S330)。一般而言,基板控制器120將調整參數125替換現行的TCP窗口設定值126。在完成TCP窗口設定值126的修改,基板控制器120發出重新啟動的要求(對應步驟S340),使伺服器100與基板控制器120均重啟(reboot)。在新的開機階段中,基板控制器120根據已修改的TCP窗口設定值126與外網控制器110進行通訊。The baseboard controller 120 modifies the TCP window setting value 126 according to the selected adjustment parameter 125 (corresponding to step S330). Generally speaking, the baseboard controller 120 replaces the current TCP window setting value 126 with the adjustment parameter 125. After completing the modification of the TCP window setting value 126, the baseboard controller 120 issues a reboot request (corresponding to step S340), so that both the server 100 and the baseboard controller 120 are rebooted. In the new boot phase, the baseboard controller 120 communicates with the external network controller 110 according to the modified TCP window setting value 126.

為進一步說明,以下列舉一TCP窗口設定值126為例,並由基板控制器120進行其修改的調整說明。此一例子中的數值係為說明,並非侷限於此。假設基板控制器120具有一組TCP窗口設定值126,其內容如下表所示: Vendor ID Device ID threshold (bps) tcp_rmem tcp_wmem 0x8086 0x1533 100 4096 131072 3276608 4096 16384 3276608 表1. 原始的TCP窗口設定值 For further explanation, a TCP window setting value 126 is taken as an example, and the adjustment of the modification by the baseboard controller 120 is described. The numerical values in this example are for illustration and are not limited thereto. Assume that the baseboard controller 120 has a set of TCP window setting values 126, the contents of which are shown in the following table: Vendor ID Device ID threshold (bps) tcp_rmem tcp_wmem 0x8086 0x1533 100 4096 131072 3276608 4096 16384 3276608 Table 1. Original TCP window settings

在表1的TCP窗口設定值126具有網路卡Vendor ID,網路卡Device ID,Threshold定義值(bps),tcp_rmem設定(共三個參數),tcp_wmem設定(共三個參數)。假設外接網路卡的連線速度上限為1Gbps且其裝置編號113為「0x8086」。因此,基板控制器120根據裝置編號113查找查找表124中是否存在對應的調整參數125。在查找表124中具有兩組裝置編號113相關的調整參數125,分別對應Threshold定義值1000(bps)與100(bps),如圖4所示。The TCP window setting value 126 in Table 1 includes the network card Vendor ID, the network card Device ID, the Threshold definition value (bps), the tcp_rmem setting (three parameters in total), and the tcp_wmem setting (three parameters in total). Assume that the upper limit of the connection speed of the external network card is 1Gbps and its device number 113 is "0x8086". Therefore, the baseboard controller 120 searches the lookup table 124 for the corresponding adjustment parameter 125 according to the device number 113. There are two sets of adjustment parameters 125 related to the device number 113 in the lookup table 124, which correspond to the Threshold definition values 1000 (bps) and 100 (bps), respectively, as shown in FIG4.

假設外接網路卡的連線速度上限為1Gbps。當外網控制器110與基板控制器120的兩連線速度上限之差值(意即"1000-100=900")超過「800(bps)」的門檻,基板控制器120才會修改調整參數125。反之,基板控制器120不會進行修改。基板控制器120將會根據裝置編號113獲取相應連線速度上限為1000(bps)的調整參數125。基板控制器120將受選的調整參數125寫入TCP窗口設定值126,如下表2所示: Vendor ID Device ID threshold (bps) tcp_rmem tcp_wmem 0x8086 0x1533 1000 4096 12288 12288 4096 16384 16384 表2. 修改後的TCP窗口設定值 Assume that the upper limit of the connection speed of the external network card is 1Gbps. When the difference between the upper limits of the connection speeds of the external network controller 110 and the baseboard controller 120 (i.e., "1000-100=900") exceeds the threshold of "800 (bps)", the baseboard controller 120 will modify the adjustment parameter 125. Otherwise, the baseboard controller 120 will not make any modification. The baseboard controller 120 will obtain the adjustment parameter 125 corresponding to the upper limit of the connection speed of 1000 (bps) according to the device number 113. The baseboard controller 120 writes the selected adjustment parameter 125 into the TCP window setting value 126, as shown in Table 2 below: Vendor ID Device ID threshold (bps) tcp_rmem tcp_wmem 0x8086 0x1533 1000 4096 12288 12288 4096 16384 16384 Table 2. Modified TCP window settings

基板控制器120修改TCP窗口設定值126完成後,基板控制器120向伺服器100發起重啟開機的要求。基板控制器120進入新的開機階段後,基板控制器120根據新的TCP窗口設定值126與外接網路卡進行通訊。After the baseboard controller 120 completes modifying the TCP window setting value 126, the baseboard controller 120 sends a reboot request to the server 100. After the baseboard controller 120 enters a new boot phase, the baseboard controller 120 communicates with the external network card according to the new TCP window setting value 126.

在一些實施例中,查找表124更包括外網控制器110的第一網路速度。基板控制器120根據裝置編號113查找查找表124除了選擇相應的調整參數125外,基板控制器120另根據第一網路速度與第二網路速度計算速度比例值,用以判斷外設網路介面112與內部網路介面127的速度差異。基板控制器120根據所獲得的速度比例值更執行以下步驟,並請參考圖5所示: 步驟S311:基板控制器根據裝置編號查找查找表,用以獲取外網控制器的第一網路速度; 步驟S312:獲取基板控制器的第二網路速度; 步驟S313:基板控制器根據第一網路速度與第二網路速度計算速度比例值; 步驟S314:基板控制器判斷速度比例值是否大於門檻值; 步驟S315:若速度比例值大於門檻值,基板控制器根據所獲取的調整參數對TCP窗口值進行修改;以及 步驟S316:若速度比例值小於門檻值,基板控制器維持原本的TCP窗口值並完成開機階段。 In some embodiments, the lookup table 124 further includes the first network speed of the external network controller 110. In addition to selecting the corresponding adjustment parameter 125 by looking up the lookup table 124 according to the device number 113, the baseboard controller 120 also calculates a speed ratio value according to the first network speed and the second network speed to determine the speed difference between the external network interface 112 and the internal network interface 127. The baseboard controller 120 further performs the following steps according to the obtained speed ratio value, as shown in FIG5: Step S311: The baseboard controller searches the lookup table according to the device number to obtain the first network speed of the external network controller; Step S312: Obtain the second network speed of the baseboard controller; Step S313: The baseboard controller calculates the speed ratio value according to the first network speed and the second network speed; Step S314: The baseboard controller determines whether the speed ratio value is greater than the threshold value; Step S315: If the speed ratio value is greater than the threshold value, the baseboard controller modifies the TCP window value according to the obtained adjustment parameter; and Step S316: If the speed ratio value is less than the threshold value, the baseboard controller maintains the original TCP window value and completes the boot phase.

基板控制器120在獲得裝置編號後,基板控制器120查找查找表124並獲得外網控制器110的第一網路速度與調整參數125(對應步驟S311)。基板控制器120另獲取內部網路介面127的第二網路速度(對應步驟S312)。基板控制器120根據第一網路速度與第二網路速度計算兩者的比例,在此將此一比例結果稱其為速度比例值(對應步驟S313)。基板控制器120可以將第一網路速度除上第二網路速度獲得其商值。舉例來說,若第一網路速度為1000bps,第二網路速度為100bps,基板控制器120將獲得速度比例值「10」(意即1000/100)。After obtaining the device number, the baseboard controller 120 searches the lookup table 124 and obtains the first network speed and adjustment parameter 125 of the external network controller 110 (corresponding to step S311). The baseboard controller 120 also obtains the second network speed of the internal network interface 127 (corresponding to step S312). The baseboard controller 120 calculates the ratio of the first network speed and the second network speed, and this ratio result is referred to as the speed ratio value (corresponding to step S313). The baseboard controller 120 can divide the first network speed by the second network speed to obtain the quotient. For example, if the first network speed is 1000bps and the second network speed is 100bps, the baseboard controller 120 will obtain a speed ratio value of "10" (i.e. 1000/100).

接著,基板控制器120判斷速度比例值是否大於門檻值(對應步驟S314)。若速度比例值大於門檻值時,基板控制器120才根據所獲取的調整參數125對TCP窗口值進行修改(對應步驟S315)。反之,基板控制器120將不修改現行的TCP窗口值(對應步驟S316)。除了前述的速度比例值的計算方式外,基板控制器120也可以採用第一網路速度與第二網路速度的差值作為速度比例值。Next, the baseboard controller 120 determines whether the speed ratio value is greater than the threshold value (corresponding to step S314). If the speed ratio value is greater than the threshold value, the baseboard controller 120 modifies the TCP window value according to the obtained adjustment parameter 125 (corresponding to step S315). Otherwise, the baseboard controller 120 will not modify the current TCP window value (corresponding to step S316). In addition to the aforementioned speed ratio value calculation method, the baseboard controller 120 can also use the difference between the first network speed and the second network speed as the speed ratio value.

在一些實施例中,基板控制器120在重啟開機後,基板控制器120通過第二通訊介面121向外網控制器110發送測試封包。外網控制器110根據測試封包回應一回覆封包至基板控制器120。基板控制器120根據有無接收回覆封包或者回覆封包的內容等方式判斷外網控制器110是否發生故障。舉例來說,基板控制器120發送測試封包後,基板控制器120在等待一門檻時間並判斷是否接收回覆封包。若基板控制器120超過門檻時間未收到回覆封包,基板控制器120視為外網控制器110發生故障。In some embodiments, after the baseboard controller 120 is restarted, the baseboard controller 120 sends a test packet to the external network controller 110 through the second communication interface 121. The external network controller 110 responds with a reply packet to the baseboard controller 120 according to the test packet. The baseboard controller 120 determines whether the external network controller 110 fails according to whether the reply packet is received or the content of the reply packet. For example, after the baseboard controller 120 sends the test packet, the baseboard controller 120 waits for a threshold time and determines whether the reply packet is received. If the baseboard controller 120 does not receive the reply packet after the threshold time, the baseboard controller 120 regards that the external network controller 110 fails.

所述的的伺服器100與其外接網路卡的調整方法可以根據不同的外接網路卡並調整相應的TCP窗口值,藉以增加外接網路卡與基板控制器120之間的網路傳輸效率,進而降低基板控制器120所造成的傳輸瓶頸。此外,所述的調整方法也可以改善基板控制器120的遠端管理的處理負擔。藉由增加外接網路卡與基板控制器120間的TCP窗口設定值126,因此內部網路中就可以降低產生封包塞車、碰撞等問題,進而提供傳輸速率。The adjustment method of the server 100 and its external network card can adjust the corresponding TCP window value according to different external network cards, so as to increase the network transmission efficiency between the external network card and the baseboard controller 120, thereby reducing the transmission bottleneck caused by the baseboard controller 120. In addition, the adjustment method can also improve the processing burden of remote management of the baseboard controller 120. By increasing the TCP window setting value 126 between the external network card and the baseboard controller 120, the problems such as packet congestion and collision can be reduced in the internal network, thereby providing a transmission rate.

100:伺服器 110:外網控制器 111:第一通訊介面 112:外設網路介面 113:裝置編號 120:基板控制器 121:第二通訊介面 122:儲存單元 124:查找表 125:調整參數 126:TCP窗口設定值 127:內部網路介面 130:PCIe控制器 140:處理器 S310,S320,S330,S340,S311,S312,S313,S314,S315,S316:步驟 100: Server 110: External network controller 111: First communication interface 112: Peripheral network interface 113: Device number 120: Baseboard controller 121: Second communication interface 122: Storage unit 124: Lookup table 125: Adjustment parameters 126: TCP window setting value 127: Internal network interface 130: PCIe controller 140: Processor S310, S320, S330, S340, S311, S312, S313, S314, S315, S316: Steps

圖1為一實施例的伺服器的系統架構示意圖。 圖2為一實施例的伺服器的硬體架構示意圖。 圖3為一實施例的外網控制器的調整方法的流程示意圖。 圖4為一實施例的查找表示意圖。 圖5為一實施例的另一外網控制器的調整方法的流程示意圖。 FIG1 is a schematic diagram of the system architecture of a server of an embodiment. FIG2 is a schematic diagram of the hardware architecture of a server of an embodiment. FIG3 is a schematic diagram of the flow of an adjustment method of an external network controller of an embodiment. FIG4 is a schematic diagram of a search representation of an embodiment. FIG5 is a schematic diagram of the flow of another adjustment method of an external network controller of an embodiment.

100:伺服器 100: Server

110:外網控制器 110: External network controller

111:第一通訊介面 111: First communication interface

112:外設網路介面 112: Peripheral network interface

113:裝置編號 113: Device number

120:基板控制器 120: Baseboard controller

121:第二通訊介面 121: Second communication interface

122:儲存單元 122: Storage unit

124:查找表 124: Lookup table

125:調整參數 125: Adjust parameters

126:TCP窗口設定值 126: TCP window setting value

127:內部網路介面 127: Internal network interface

Claims (10)

一種伺服器,包括:一外網控制器,具有一第一通訊介面,並儲存一裝置編號;以及一基板控制器,具有連接於該第一通訊介面的一第二通訊介面,並儲存一查找表與一TCP窗口設定值,該查找表儲存多個該裝置編號與對應該裝置編號的一調整參數;其中,該基板控制器於一開機階段時,該基板控制器驅動該第二通訊介面以測試是否連接至該外網控制器,該基板控制器通過該第二通訊介面獲取該外網控制器的該裝置編號,該基板控制器根據所獲取的該裝置編號對該查找表進行查找,以獲取相應的該調整參數,該基板控制器根據所獲取的該調整參數修改該TCP窗口設定值。 A server includes: an external network controller having a first communication interface and storing a device number; and a baseboard controller having a second communication interface connected to the first communication interface and storing a lookup table and a TCP window setting value, wherein the lookup table stores a plurality of the device numbers and an adjustment parameter corresponding to the device number; wherein, during a booting phase, the baseboard controller drives the second communication interface to test whether it is connected to the external network controller, the baseboard controller obtains the device number of the external network controller through the second communication interface, the baseboard controller searches the lookup table according to the obtained device number to obtain the corresponding adjustment parameter, and the baseboard controller modifies the TCP window setting value according to the obtained adjustment parameter. 如請求項1所述的伺服器,其中該基板控制器判斷未連接該外網控制器,該基板控制器完成該開機階段。 A server as described in claim 1, wherein the baseboard controller determines that the external network controller is not connected, and the baseboard controller completes the boot phase. 如請求項1所述的伺服器,其中該外網控制器更具有一外設網路介面,該基板控制器更具有一內部網路介面,該外設網路介面匹配一第一網路速度,該內部網路介面匹配一第二網路速度,該基板控制器根據該裝置編號獲取該外設網路介面的該第一網路速度,該基板控制器根據該第一網路速度與該第二網路速度計算一速度比例值。 The server as described in claim 1, wherein the external network controller further has an external network interface, the baseboard controller further has an internal network interface, the external network interface matches a first network speed, the internal network interface matches a second network speed, the baseboard controller obtains the first network speed of the external network interface according to the device number, and the baseboard controller calculates a speed ratio value according to the first network speed and the second network speed. 如請求項3所述的伺服器,其中該基板控制器判斷該速度比例值是否大於一門檻值,若該速度比例值大於該門檻值,該基板控制器根據所獲取的該調整參數對該TCP窗口設定值進行修改,在該速度比例值 不大於該門檻值,不調整該TCP窗口設定值。 The server as described in claim 3, wherein the baseboard controller determines whether the speed ratio value is greater than a threshold value. If the speed ratio value is greater than the threshold value, the baseboard controller modifies the TCP window setting value according to the obtained adjustment parameter. If the speed ratio value is not greater than the threshold value, the TCP window setting value is not adjusted. 如請求項1所述的伺服器,其中該基板控制器完成該調整參數對該TCP窗口設定值的修改,該基板控制器重啟該開機階段。 A server as described in claim 1, wherein the baseboard controller completes the modification of the TCP window setting value by the adjustment parameter, and the baseboard controller restarts the boot phase. 如請求項1所述的伺服器,其中該基板控制器更包括一非暫態記憶體,該非暫態記憶體儲存該查找表與該TCP窗口設定值。 A server as described in claim 1, wherein the baseboard controller further includes a non-transient memory, and the non-transient memory stores the lookup table and the TCP window setting value. 一種伺服器的外接網路卡的調整方法,應用於一伺服器的一外網控制器,用以調整該外網控制器的傳輸效率,該調整方法包括:在該伺服器的一開機階段中,一基板控制器偵測是否連接於該外網控制器;若該外網控制器連接於該基板控制器,該基板控制器獲取該外網控制器的一裝置編號;該基板控制器根據該裝置編號查找一查找表,用以獲取一調整參數;以及該基板控制器根據該調整參數修改一TCP窗口值。 A method for adjusting an external network card of a server is applied to an external network controller of a server to adjust the transmission efficiency of the external network controller. The method comprises: in a boot phase of the server, a baseboard controller detects whether it is connected to the external network controller; if the external network controller is connected to the baseboard controller, the baseboard controller obtains a device number of the external network controller; the baseboard controller searches a lookup table according to the device number to obtain an adjustment parameter; and the baseboard controller modifies a TCP window value according to the adjustment parameter. 如請求項7所述的伺服器的外接網路卡的調整方法,其中在由該基板控制器獲取該外網控制器的該裝置編號的步驟包括:若該外網控制器未連接於該基板控制器,該基板控制器完成該開機階段。 The method for adjusting the external network card of the server as described in claim 7, wherein the step of obtaining the device number of the external network controller by the baseboard controller includes: if the external network controller is not connected to the baseboard controller, the baseboard controller completes the boot phase. 如請求項7或8所述的伺服器的外接網路卡的調整方法,其中在由該基板控制器獲取該外網控制器的該裝置編號的步驟包括:該基板控制器根據該裝置編號查找該查找表,用以獲取該外網控制器 的一第一網路速度;獲取該基板控制器的一第二網路速度;該基板控制器根據該第一網路速度與該第二網路速度計算一速度比例值;若該速度比例值大於一門檻值,該基板控制器根據所獲取的該調整參數對該TCP窗口值進行修改;以及若該速度比例值小於該門檻值,該基板控制器維持原本的該TCP窗口值並完成該開機階段。 The method for adjusting the external network card of the server as described in claim 7 or 8, wherein the step of obtaining the device number of the external network controller by the baseboard controller includes: the baseboard controller searches the lookup table according to the device number to obtain a first network speed of the external network controller; obtains a second network speed of the baseboard controller; the baseboard controller calculates a speed ratio value according to the first network speed and the second network speed; if the speed ratio value is greater than a threshold value, the baseboard controller modifies the TCP window value according to the obtained adjustment parameter; and if the speed ratio value is less than the threshold value, the baseboard controller maintains the original TCP window value and completes the boot phase. 如請求項7所述的伺服器的外接網路卡的調整方法,其中在該基板控制器根據該調整參數修改該TCP窗口值的步驟包括:該基板控制器重啟該開機階段。 The method for adjusting the external network card of the server as described in claim 7, wherein the step of modifying the TCP window value according to the adjustment parameter by the baseboard controller includes: the baseboard controller restarts the boot phase.
TW112147522A 2023-12-06 2023-12-06 Method for adjusting a server and its associated external network card TWI862323B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW112147522A TWI862323B (en) 2023-12-06 2023-12-06 Method for adjusting a server and its associated external network card

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW112147522A TWI862323B (en) 2023-12-06 2023-12-06 Method for adjusting a server and its associated external network card

Publications (2)

Publication Number Publication Date
TWI862323B true TWI862323B (en) 2024-11-11
TW202524307A TW202524307A (en) 2025-06-16

Family

ID=94380045

Family Applications (1)

Application Number Title Priority Date Filing Date
TW112147522A TWI862323B (en) 2023-12-06 2023-12-06 Method for adjusting a server and its associated external network card

Country Status (1)

Country Link
TW (1) TWI862323B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130339714A1 (en) * 2012-05-18 2013-12-19 Dell Products, Lp System and Method for Providing a Processing Node with Input/Output Functionality Provided by an I/O Complex Switch
US20140181531A1 (en) * 2009-12-23 2014-06-26 Citrix Systems, Inc. Systems and methods for queue level ssl card mapping to multi-core packet engine
CN205450909U (en) * 2016-04-01 2016-08-10 浪潮电子信息产业股份有限公司 BMC based on FPGA realizes
TWI620072B (en) * 2016-03-07 2018-04-01 廣達電腦股份有限公司 Scalable pooled-non-volatile memory express storage boxes, computer-implemented methods and non-transitory computer-readable storage medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140181531A1 (en) * 2009-12-23 2014-06-26 Citrix Systems, Inc. Systems and methods for queue level ssl card mapping to multi-core packet engine
US20130339714A1 (en) * 2012-05-18 2013-12-19 Dell Products, Lp System and Method for Providing a Processing Node with Input/Output Functionality Provided by an I/O Complex Switch
TWI620072B (en) * 2016-03-07 2018-04-01 廣達電腦股份有限公司 Scalable pooled-non-volatile memory express storage boxes, computer-implemented methods and non-transitory computer-readable storage medium
CN205450909U (en) * 2016-04-01 2016-08-10 浪潮电子信息产业股份有限公司 BMC based on FPGA realizes

Also Published As

Publication number Publication date
TW202524307A (en) 2025-06-16

Similar Documents

Publication Publication Date Title
US10127095B2 (en) Seamless automatic recovery of a switch device
US7840736B2 (en) Bus communication enumeration
US7552217B2 (en) System and method for Automatic firmware image recovery for server management operational code
CN105204880B (en) computer system and setting method of basic input and output system
US20100262815A1 (en) Detection Mechanism for System Image Class
CN114115917B (en) Operating system installation method and device
WO2023147748A1 (en) Method and apparatus for initializing smart network interface card by server, device, and medium
CN114564179A (en) Parameter configuration method, device and system
US20260010467A1 (en) Memory capacity adjustment method and apparatus, electronic device, and storage medium
WO2016101607A1 (en) Central processing unit and boot method thereof
CN102098493B (en) System and method for adjusting monitor parameters
WO2025139145A1 (en) Information acquisition system, method, and apparatus for baseboard management controller, and storage medium
CN103138941B (en) The communication means of server rack system
TWI862323B (en) Method for adjusting a server and its associated external network card
CN114356057B (en) Method, device, equipment and storage medium for controlling PCIe card to dissipate heat
CN116360871A (en) Method, device, equipment and medium for controlling network card startup sequence
CN113238778B (en) Method, system, equipment and medium for upgrading BIOS firmware
US11403113B2 (en) Server with system setting data synchronization function
CN119045900B (en) Pluggable device management method and device based on SONiC operating system
CN120111003A (en) How to adjust the server and its external network card
TWI685790B (en) Server device and method for instantly changing firmware configuration thereof
TW201923577A (en) System information managing Method
CN108958823A (en) The method for modifying basic input output system setting value
CN115454896B (en) SMBUS-based SSD MCTP control message verification method, device, computer equipment and storage medium
CN110413320B (en) Server device and method for changing firmware setting in real time