Server module expansion method and server

By using a modularly designed server and utilizing a control module to detect hardware information from expansion modules for parameter configuration, the problem of insufficient fixed functionality in existing servers is solved. This enables flexible configuration and scalability of functions, reduces development costs, and improves system security.

CN120949905BActive Publication Date: 2026-03-27SHANGHAI LINGHUA INTELLIGENT TECHNOLOGY CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-10-16
Publication Date
2026-03-27

AI Technical Summary

Technical Problem

Existing server designs are difficult to flexibly adjust functional configurations according to customer needs, resulting in insufficient adaptability, inability to meet diverse requirements, and increased development and maintenance costs, especially under the space constraints of 1U servers.

Method used

It adopts a modular design, including a control module, a connection module, and an expansion module. The hardware information of the expansion module is read through the SMbus bus to configure parameters, establish a data transmission channel, and realize the customization and scalability of functions.

Benefits of technology

It enables flexible configuration of server functions, reduces development costs, shortens the development cycle, improves market competitiveness, and avoids the risk of system downtime through modular design, thereby enhancing system security.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120949905B_ABST
    Figure CN120949905B_ABST
Patent Text Reader

Abstract

The embodiment of the application provides a server module expansion method and a server. The expansion type server comprises a control module, a connection module and an expansion module, the expansion module is one of a PCIe module, an IO module and a hard disk module, the connection module corresponds to the PCIe module, the IO module and the hard disk module one by one, and the expansion module is detachably connected to the connection module. The expansion method comprises the following steps: when the control module detects that the connection module is connected to the corresponding expansion module, the hardware information of the expansion module is read through an SMbus bus; the type of the expansion module is determined according to the hardware information, and parameter configuration suitable for the function of the expansion module is performed; and the control module and the expansion module establish a data transmission channel suitable for the high bandwidth requirement of the server. The embodiment can flexibly configure the function module according to the customer demand, realizes the customization and expandability of the function, can also reduce the development cost and shorten the development cycle, and improves the market competitiveness of the server.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of server technology, and in particular to a server module expansion method and a server. Background Technology

[0002] In the field of server technology, existing servers typically have fixed functional configurations, making it difficult to flexibly adjust them according to customer needs. A standard server's functionality is often targeted, only capable of fulfilling a specific function required by the customer, rather than offering more flexible feature combinations. This fixed nature results in insufficient adaptability when facing constantly changing customer demands, making it difficult to meet diverse customer requirements.

[0003] When choosing a server, customers often want it to meet their current functional needs while also possessing a degree of scalability and flexibility to allow for upgrades or adjustments as requirements change. However, existing server designs typically cannot easily accommodate adding or removing features or replacing modules. This not only limits the server's application scope but also increases its development and maintenance costs.

[0004] Taking a 1U server as an example, this compact server, due to its space limitations and fixed hardware configuration, makes it more difficult to achieve flexible feature combinations. When choosing a 1U server, customers often need to implement as many functions as possible within a limited space, while also hoping to flexibly adjust the server configuration according to changes in actual needs. Existing 1U servers typically cannot meet these flexible and varied requirements, making it difficult for customers to find a balance between feature implementation and cost control.

[0005] Therefore, it is necessary to propose a new server design approach that uses modularization to enable servers to flexibly configure functional modules according to customer needs, thereby achieving functional customization and scalability. Summary of the Invention

[0006] Therefore, in order to overcome at least some of the defects and deficiencies in the prior art, embodiments of the present invention provide a server module expansion method and a server.

[0007] Specifically, in one aspect, embodiments of the present invention provide a server module expansion method. This method is applied to an expandable server, which includes a control module, a connection module, and expansion modules. The connection module is electrically connected to the control module. The expansion modules are one of a PCIe module, an I / O module, and a hard disk module. The connection module is connected to the PCIe module, the I / O module, and the hard disk module. Each module corresponds one-to-one with the hard disk module, and the expansion module is detachably connected to the connection module. The server module expansion method includes: when the control module detects that the connection module is connected to the corresponding expansion module, it reads the hardware information of the expansion module through the SMBus bus. The control module periodically scans the pin status of the connection module. After receiving an interrupt or polling a status change, the control module performs debouncing and confirms that the expansion module is stably connected after a preset stabilization delay. The control module initiates a write operation through the SMBus bus to specify the device address of the target identification unit of the expansion module and the starting memory address to be read, and then initiates a read operation to start continuously reading data bytes from the specified address. The target identification unit of the expansion module returns its stored data in sequence. The control module parses the data according to a predefined data structure and extracts the hardware information. The control module determines the type of the expansion module based on the hardware information and performs parameter configuration adapted to its function for the expansion module. The hardware information includes unique identification information and configuration data. The control module establishes a data transmission channel with the expansion module adapted to the high bandwidth requirements of the server.

[0008] In one specific embodiment of the present invention, the expansion module includes a PCIe module; when the control module detects that the connection module is connected to the PCIe module, it reads the hardware information in the EEPROM of the PCIe module through the SMBus interface and configures the parameters according to the hardware information.

[0009] In one specific embodiment of the present invention, the hardware information includes the module model and firmware version, and the parameter configuration is to set the module operating parameters through the SMBus interface. The module operating parameters include PCIe link width and power mode.

[0010] In one specific embodiment of the present invention, the expansion module includes an I / O module; when the control module detects that the connection module is connected to the I / O module, it reads the hardware information in the EEPROM of the I / O module through the SMBus interface, configures the parameters according to the hardware information, and realizes the data interaction between the control module and the I / O module through the SerDes interface.

[0011] In one specific embodiment of the present invention, the hardware information includes the module model and firmware version, and the parameter configuration is to set the module operating parameters through the SMBus interface. The module operating parameters include the SerDes rate and power mode.

[0012] In one specific embodiment of the present invention, the expansion module includes a hard disk module; when the control module detects that the connection module is connected to the hard disk module, it reads the firmware information and health status of the hard disk module through the SMBus interface and configures parameters according to the hardware information.

[0013] In one specific embodiment of the present invention, when the connection module is connected to the expansion module, the interface of the connection module is provided with one or more detection pins. When the expansion module is not inserted, the detection pin is pulled to a high level through a pull-up resistor. When the expansion module is inserted into place, the detection pin is pulled down to ground level, generating a high-to-low level transition, which serves as a hardware interrupt signal and is sent to the control module.

[0014] In one specific embodiment of the present invention, the process of reading the hardware information of the expansion module further includes: the control module using a verification code to ensure the accuracy of data transmission; if the verification fails, it will automatically reread; or the control module first reads a fixed header information to confirm the format and version of the hardware information content of the expansion module, and then reads all key hardware information fields.

[0015] In one specific embodiment of the present invention, the server module expansion method further includes: the control module detecting a removal signal and notifying the expansion module to enter a preparation for removal state via the SMBus bus; the control module notifying the host operating system to uninstall the driver program of the expansion module; and the control module cutting off the main power supply of the expansion module while retaining standby power to maintain management functions.

[0016] On the other hand, embodiments of the present invention also provide a server that uses the server module expansion method described above.

[0017] As can be seen from the above, the extended server and server module expansion method provided in this embodiment of the invention, by setting up a control module, a connection module, and an expansion module, allows the expansion module to connect to the connection module according to user needs. When the control module detects the connection module connecting to the expansion module, it reads the hardware information of the expansion module, configures the parameters according to the hardware information, establishes a data transmission channel, and realizes the module function of the extended server. This enables flexible configuration of functional modules according to customer needs, achieving functional customization and scalability, reducing development costs and shortening the development cycle, and improving the market competitiveness of the server. Attached Figure Description

[0018] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0019] Figure 1 This is a schematic diagram of the structure of a server provided in an embodiment of the present invention.

[0020] Figure 2 This is a schematic diagram of a server structure provided in an embodiment of the present invention.

[0021] Figure 3 for Figure 2 A diagram showing the breakdown structure of a server.

[0022] Figure 4 This is another structural diagram of a server provided in an embodiment of the present invention.

[0023] Figure 5 for Figure 4 A diagram showing the breakdown structure of a server.

[0024] Figure 6 This is another structural diagram of a server provided in an embodiment of the present invention.

[0025] Figure 7 for Figure 6 A diagram showing the breakdown structure of a server.

[0026] Figure 8 This is another structural diagram of a server provided in an embodiment of the present invention.

[0027] Figure 9 for Figure 8 A diagram showing the breakdown structure of a server.

[0028] Figure 10 This is a flowchart illustrating the server module expansion method provided in an embodiment of the present invention.

[0029] Figure 11 A flowchart illustrating the server module expansion method, using the PCIe module as an example.

[0030] Figure 12 This is a flowchart illustrating the server module extension method, using the IO module as an example.

[0031] Figure 13 This is a flowchart illustrating the server module expansion method, using the hard disk module as an example.

[0032] Key component designations:

[0033] 100. Housing; 101. Module mounting position; 102. Module mounting port; 110. Cover plate; 120. Fixing component; 200. Circuit board; 210. Control module; 220. PCIe connection module; 230. IO connection module; 240 / 250. Hard disk connection module; 310. PCIe module; 311. First connection part; 320. IO module; 321. Second connection part; 330. Hard disk module; 331. Third connection part. Detailed Implementation

[0034] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments described in the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the protection scope of the present invention.

[0035] It should be noted that all directional indicators (such as up, down, left, right, front, back, top, and bottom) in the embodiments of the present invention are only used to explain the relative positional relationship and movement of the components in a specific posture (as shown in the attached figures). If the specific posture changes, the directional indicator will also change accordingly. Furthermore, the term "vertical" used in the embodiments and claims refers to an angle of 90° between two components or a deviation of -5° to +5°, and the term "parallel" refers to an angle of 0° between two components or a deviation of -5° to +5°.

[0036] In the embodiments of this invention, descriptions involving "first," "second," etc., are for descriptive purposes only and should not be construed as indicating or implying their relative importance or implicitly specifying the number of technical features indicated. Therefore, a feature defined with "first" or "second" may explicitly or implicitly include at least one of that feature.

[0037] See Figure 1 This invention provides a server, which may include, for example, a housing 100, a circuit board 200, a control module 210, multiple connection modules, and multiple expansion modules.

[0038] The housing 100 has a module mounting position 101. A circuit board 200 is also located within the housing 100, and the circuit board 200 and the module mounting position 101 can be arranged adjacent to each other. The circuit board 200 can be, for example, a PCB (Printed Circuit Board). The control module 210 can be, for example, a CPU (Central Processing Unit), an FPGA (Field-Programmable Gate Array), etc. The control module 210 is mounted on the circuit board 200. Multiple connection modules are also mounted on the circuit board 200 and are electrically connected to the control module 210. Multiple expansion modules can be, for example, functional modules of the server. These expansion modules are detachably mounted on the module mounting position 101 and can be detachably electrically connected to one of the multiple connection modules. When a user selects a server, they can replace the corresponding expansion module with the one required for the desired functionality in the module mounting position 101 of the housing 100 and connect the corresponding connection module. This allows the expandable server to have the corresponding module functions, providing the server with a certain degree of expandability and flexibility, enabling functional upgrades or adjustments when needs change.

[0039] The server provided in this embodiment of the invention, by setting up a control module 210, multiple connection modules, and multiple expansion modules, allows users to select one of the expansion modules to connect to the connection module according to their needs. This enables flexible configuration of functional modules based on customer requirements, achieving functional customization and scalability, reducing development costs and shortening the development cycle, thereby enhancing the server's market competitiveness. Taking a 1U server as an example, this compact server, due to its space limitations and fixed hardware configuration, makes it difficult to achieve flexible functional combinations. When choosing a 1U server, customers often need to implement as many functions as possible within a limited space, while also hoping to flexibly adjust the server configuration according to changes in actual needs. By setting up multiple connection modules and multiple expansion modules in an expandable server, flexible and varied needs can be met, allowing customers to find a balance between functional implementation and cost control, saving development costs and shortening the development cycle.

[0040] See Figure 2 and Figure 3 The housing 100 also has a module mounting port 102 connecting to the module mounting position 101. A removable cover plate 110 is provided on the module mounting port 102, allowing the connecting module to be detachably mounted inside the housing 100 via the module mounting port 102. The housing 100 has a rectangular opening, which serves as the module mounting port 102. The shape and size of the module mounting port 102 can, for example, match the cover plate 110 and the expansion module. Figure 2As shown, when the cover plate 110 is connected to the module mounting port 102, the module mounting position 101 may not be equipped with an expansion module, and the housing 100 can be enclosed to prevent dust from entering when the expansion server is not in use, thus improving security and aesthetics. Figure 3 As shown, the cover plate 110 is detachably connected to the module mounting port 102, which facilitates disassembly and installation, thereby facilitating the replacement of expansion modules and providing a simple structure. In one embodiment of this invention, the cover plate 110 and the housing 100 may be provided with connecting holes, for example, and the cover plate 110 is connected to the housing 100 through the connecting holes by a fastener 120. In another embodiment of this invention, the cover plate 110 may also be connected to the housing 100 by other detachable connection structures (such as snap-fit ​​structures, magnetic structures, etc.). Of course, this embodiment is not limited to these.

[0041] In one embodiment of this invention, the plurality of connection modules may include, for example, a PCIe connection module 220, an I / O connection module 230, and a hard disk connection module 240 / 250, and the plurality of expansion modules may include, for example, a PCIe module 310, an I / O module 320, and a hard disk module 330. Of course, this embodiment is not limited thereto.

[0042] PCIe (Peripheral Component Interconnect Express) is a high-speed serial computer expansion bus standard used to connect various high-speed devices in a server, such as graphics cards, network cards, and RAID cards. It provides a high-bandwidth, low-latency data transmission channel, enabling these devices to exchange data efficiently with the server's motherboard and processor, thereby fully utilizing the device's performance and enhancing the server's overall capabilities in graphics processing, network communication, data storage, and other areas. PCIe uses serial communication, transmitting data in parallel through multiple channels (e.g., x1, x4, x8, x16, etc.), achieving extremely high data transmission rates. The PCIe module 310 is equipped with a first connection part 311. When the PCIe module 310 is mounted on the module mounting position 101, a PCIe connection module 220 can be plugged in, for example, through the first connection part 311, thereby achieving an electrical connection between the control module 210 and the PCIe module 310. The PCIe connectivity module 220 may include, for example, a main interface and an auxiliary interface. The main interface may, for example, be a PCIe x16 interface, supporting 16-channel bidirectional data transmission. The auxiliary interface may, for example, integrate an SMBus bus for module identification and configuration. The PCIe module 310 is designed with independent power supply and clock signal.

[0043] The I / O module 320 is a crucial component for data interaction between the server and external devices, responsible for data transmission between the server and external storage devices, network devices, and other servers. It ensures the server can efficiently and accurately receive data from external devices and send out the processed results, thereby guaranteeing smooth data flow and sharing throughout the information system. The I / O module 320 may, for example, be equipped with a second connection part 321. When the I / O module 320 is mounted on the module mounting position 101, an I / O connection module 230 can be plugged into it via the second connection part 321, thereby achieving electrical connection between the control module 210 and the I / O module 320. The I / O connection module 230 may, for example, include a main interface and an auxiliary interface. The main interface may, for example, use a SerDes interface to support differential signal transmission, and the auxiliary interface may, for example, integrate an SMBus bus for module identification and configuration. The I / O module 320 is designed with independent power supply and clock signal.

[0044] The hard disk module 330 is a key component of the server for data storage, responsible for the long-term preservation of various information required for server operation, such as the operating system, applications, and user data. It features large-capacity storage, high read / write speeds, and reliable data preservation, ensuring the server can stably and efficiently handle various data storage and retrieval tasks. The hard disk module 330 can be, for example, a mechanical hard disk drive (HDD) or a solid-state drive (SSD). The corresponding hard disk connection modules 240 / 250 can be, for example, different types of connection modules, such as SATA or SAS connectors, or custom connectors designed for blind insertion on the back of the hard disk drive, which mate with the hard disk backplane. The hard disk module 330 may, for example, be provided with a third connection part 331. When the hard disk module 330 is installed on the module mounting position 101, the hard disk connection modules 240 / 250 can be plugged into the third connection part 331, thereby achieving an electrical connection between the control module 210 and the hard disk module 330. The hard disk connection modules 240 / 250 may, for example, include a main interface and an auxiliary interface. The main interface may, for example, be a SATA 3.0 interface, and the auxiliary interface may, for example, integrate an SMBus bus for module identification and configuration. The power supply for the hard disk module 330 is designed to be an independent power supply.

[0045] Furthermore, multiple connection modules can be spaced apart on the circuit board 200, and positioned close to the module mounting position 101, thereby facilitating the connection between the expansion module and the connection module. The expansion module can be inserted into the module mounting position 101, for example, through the module mounting port 102 along a first direction. Specifically, the PCIe connection module 220 can be positioned adjacent to the module mounting position 101 along a second direction, perpendicular to the first direction; the IO connection module 230 can be positioned adjacent to the module mounting position 101 along the first direction; and the hard drive connection modules 240 / 250 can be positioned adjacent to the module mounting position 101 along the first direction, and spaced apart from the IO connection module 230 along the first direction. By positioning multiple connection modules in different locations, the location and connection of different expansion modules can be facilitated, improving operational portability and further enhancing the user experience.

[0046] See Figure 4 and Figure 5 When a user needs to use the PCIe module 310 on an expansion server, the PCIe module 310 can be installed into the module mounting position 101 via the module mounting port 102, and the first connection part 311 can be plugged into the PCIe connection module 220. Then, the PCIe module 310 is fixed to the housing 100 using the fastener 120, improving connection stability. See also... Figure 6 and Figure 7 When a user needs to use the IO module 320 on the expansion server, the IO module 320 can be installed into the module mounting position 101 via the module mounting port 102, and the second connection part 321 can be plugged into the IO connection module 230. Then, the IO module 320 can be fixed to the housing 100 by the fastener 120, thereby improving connection stability. See also Figure 8 and Figure 9 When a user needs to use the hard disk module 330 in the expansion server, the IO module 320 can be installed in the module mounting position 101 through the module mounting port 102, and the second connection part 321 and the IO connection module 230 can be connected through the connecting cable. Then, the IO module 320 can be fixed to the housing 100 through the fastener 120 to improve the connection stability.

[0047] See Figure 10 This invention also provides a server module expansion method, applied to the aforementioned expanded server, which may be executed, for example, by the control module 210. The server module expansion method may include, for example, the following steps:

[0048] S10, when the control module detects that the connection module is connected to the corresponding expansion module, it reads the hardware information of the expansion module through the SMbus bus. The control module periodically scans the pin status of the connection module. After the control module obtains an interrupt or polls for a status change, it performs debouncing and confirms that the expansion module is stably connected after a preset stabilization delay. The control module initiates a write operation through the SMbus bus to specify the device address of the target identification unit of the expansion module and the starting memory address to be read, and then initiates a read operation to start continuously reading data bytes from the specified address. The target identification unit of the expansion module returns its stored data in sequence. The control module parses the data according to a predefined data structure and extracts the hardware information.

[0049] S20, the control module determines the type of the expansion module based on the hardware information, and performs parameter configuration for the expansion module to adapt to its function. The hardware information includes unique identity information and configuration data.

[0050] S30, the control module and the expansion module establish a data transmission channel adapted to the high bandwidth requirements of the server.

[0051] When the connection module is detected to be connected to the expansion module, this can be achieved, for example, through pins or signals. For instance, the interfaces of connection modules 220, 230, 240 / 250 may have one or more dedicated presence detection pins (not shown). When expansion modules 310, 320, 330 are not inserted, this pin is typically pulled high by a pull-up resistor. During the insertion process, the PRSNT# pin is pulled low to ground, generating a high-to-low level transition, which can serve as a hardware interrupt signal and be sent to the controller (such as a GPIO controller) and board management controller (BMC) inside control module 210, thus detecting the connection module's connection to the expansion module. For example, the system software (UEFI firmware or BMC firmware) of the control module can adopt a polling mechanism to periodically scan the PRSNT# pin status of all connected modules as a redundancy backup and status synchronization mechanism. After the control module 210 receives an interrupt or polls for a status change, it can perform debounce processing to avoid false alarms caused by minor vibrations in mechanical contact. After a preset time (such as tens of milliseconds) of stabilization delay, it confirms that the module is stably connected before triggering the next hardware information reading process.

[0052] When an expansion module connects to a connection module, the control module 210 detects whether an expansion module is connected when the expansion server is powered on. When one of the multiple connection modules connects to an expansion module, the control module 210 can identify and read the hardware information of the expansion module through the connection module, configure parameters according to the hardware information, and then establish a data transmission channel between the control module and the expansion module. Reading the hardware information of the expansion module can be accomplished, for example, through the System Management Bus (SMBus). Each expansion module may have an identification unit, such as a serial EEPROM chip, which stores the module's unique identification information and configuration data to identify the expansion module and store relevant hardware information. The hardware information of the expansion module may include module model, firmware version, vendor ID, device ID, subsystem VID, subsystem DID, serial number, power requirements, and capability bitmap.

[0053] When reading the hardware information of the expansion module, the control module 210 can initiate a write operation, for example, via the SMBus bus, to specify the device address of the target identification unit (such as EEPROM) and the starting memory address to be read. Then, the control module 210 can initiate a read operation to begin continuously reading data bytes from the specified address. The identification unit (such as EEPROM) can sequentially return the data it stores. The firmware of the control module 210 can parse these byte streams according to a predefined data structure to extract the aforementioned information. In one embodiment of this application, the reading process may include an error detection step, such as using a checksum (e.g., CRC-8 checksum) to ensure the accuracy of data transmission. If the checksum fails, it will automatically retry. In one embodiment of this application, the control module 210 (such as BMC) can first read a fixed header information to confirm the format and version of the identification unit (such as EEPROM) content. Then, it reads all the key hardware information fields and caches them in the memory of the control module 210 (such as BMC).

[0054] When the control module 210 detects that the PCIe connection module 220 is connected to the PCIe module 310, it reads the hardware information from the EEPROM of the PCIe module 310 through the SMBus interface, configures the parameters according to the hardware information, and realizes high-speed data transmission between the control module 210 and the PCIe module 310 through the PCIe x16 channel. The hardware information includes the module model and firmware version, and the parameter configuration is to set the module's operating parameters through the SMBus interface. The module's operating parameters include the PCIe link width and power mode.

[0055] When the control module detects that the IO connection module 230 is connected to the IO module 320, it reads the hardware information from the EEPROM of the IO module 320 through the SMBus interface, configures the parameters according to the hardware information, and realizes data interaction between the control module 210 and the IO module 320 through the SerDes interface. The hardware information includes the module model and firmware version, and the parameter configuration is to set the module's operating parameters through the SMBus interface. The module's operating parameters include the SerDes rate and power mode.

[0056] When the control module 210 detects that the hard drive connection modules 240 / 250 are connected to the hard drive module 330, it reads the firmware information and health status of the hard drive module 330 through the SMBus interface, configures the parameters according to the hardware information, and realizes data transmission through the SATA interface. For example, during the system initialization phase, the control module 210 reads the hard drive firmware information and health status through the SMBus, and data storage is completed through the SATA interface, supporting the AHCI protocol to achieve high-speed read and write.

[0057] In one embodiment of this application, when configuring power management parameters, for example via PMBus or communication with the power unit, the required power is allocated to the slot where the module is located, and fine power-on sequencing can be performed, while simultaneously monitoring whether the current is within the normal range.

[0058] In one embodiment of this application, when configuring PCIe parameters, for example, the control module 210 can configure the downlink port of the PCIe switch via SMBus or directly to set the link width, speed, and / or enable ECRC check, etc.

[0059] In one embodiment of this application, for the IO module, the control module 210 can configure parameters such as the chip's operating mode, rate, pre-emphasis, and equalization to establish a stable link.

[0060] In one embodiment of this application, when configuring firmware management parameters, the control module 210 can compare the read firmware version with the latest version stored on the server. If the module firmware is too old, the control module 210 can obtain a new firmware image from local storage or via the network, and securely update the module firmware via, for example, SMBus or a proprietary protocol.

[0061] In one embodiment of this application, during the hot-swapping process of expansion modules 310, 320, and 330, for example, when a user presses the module's eject button, a removal signal can be triggered, which the control module 210 can detect. The control module 210 can first notify the module to enter a ready-to-remove state via SMBus. Then, the control module 210 notifies the host operating system to unload the device's driver. After the operating system confirms that the driver has been uninstalled, it notifies the control module 210. The control module 210 then cuts off the module's main power supply, but may retain standby power to maintain management functions, at which point the user can physically remove the module.

[0062] See Figure 11 In one embodiment of this application, taking PCIe module 310 (e.g., GPU module) as an example, the server module expansion method may include, for example but not limited to, the following steps:

[0063] Step S101: Physical insertion. The user can insert the module along the guide rail and lock it into place.

[0064] Step S102: Detection is performed. The PRSNT# pin of the PCIe slot is pulled low, the interrupt service routine of the control module 210 is triggered, and a device is detected.

[0065] Step S103: Read EEPROM. The control module 210 accesses the EEPROM address associated with the PCIe slot via SMBus to read relevant information.

[0066] Step S104: Perform power configuration. The control module 210 can communicate with the chassis backplane management controller to allocate the highest power margin to ensure a safety margin, and execute the power-on sequence.

[0067] Step S105: Configure the PCIe link. The control module 210 can configure the downstream port of the PCIe switch via SMBus.

[0068] Step S106: Perform firmware check. The control module 210 can securely flash the proprietary update protocol into the module via SMBus. After the flashing is completed, the control module 210 commands the module to perform a hard reset to load the new firmware.

[0069] Step S107: Notify the host system that the control module 210 can send a PCIe hot-plug event to the host system.

[0070] Step S108: Establish a channel. After the PCIe module 310 is identified, a bidirectional data transmission channel can be established.

[0071] See Figure 12 In one embodiment of this application, taking an I / O module (e.g., an Ethernet module) as an example, the server module expansion method may include, but is not limited to, the following steps:

[0072] Step S201: Perform physical module insertion, insert the IO module.

[0073] Step S202: Perform detection; the detection pin of the IO connector is triggered.

[0074] Step S203: Read EEPROM, control module 210 reads relevant information.

[0075] Step S204: Configure SerDes PHY. The control module 210 can configure the SerDes PHY chipset on the motherboard, set the rate path of, for example, four SerDes channels connected to the module to suit the relevant Ethernet, and set the optimal equalization parameters to compensate for channel loss.

[0076] Step S205: Configure functions. The control module 210 can set the initial MAC address of the network card, port enable status, etc. through SMBus.

[0077] Step S206: Notify the host system.

[0078] Step S207: Establish a channel. After the IO module is identified, a data transmission channel is established.

[0079] See Figure 13 In one embodiment of this application, taking a hard disk module as an example, the server module expansion method may include, but is not limited to, the following steps:

[0080] Step S301: Perform physical insertion, insert the hard disk module, and the module is connected to the backplane through a blind-mating connector.

[0081] Step S302: Detection is performed. The backplane controller detects the module insertion and notifies the control module 210 via SMBus.

[0082] Step S303: Read information.

[0083] Step S304: Configure parameters, such as power supply and cooling, and RAID configuration.

[0084] Step S305: Notify the host system that the control module 210 can notify the host that there is a new storage device.

[0085] Step S306: Establish a channel. After the hard disk module is identified, a data transmission channel is established.

[0086] The server module expansion method provided in this invention, through a control module detecting when a connection module connects to an expansion module, reads the hardware information of the expansion module, configures parameters based on the hardware information, establishes a data transmission channel, and realizes the module function of the expandable server. This allows for flexible configuration of functional modules according to customer needs, achieving functional customization and scalability, reducing development costs and shortening the development cycle, thus improving the server's market competitiveness. Furthermore, it enables the pooling and on-demand allocation of hardware resources, avoiding the high capital expenditure of purchasing dedicated servers for each workload. Moreover, the failure of a single module is isolated, preventing system-wide downtime. The control module can centrally and securely verify and update the module's firmware, preventing firmware vulnerabilities from being exploited and improving system security. The module's EEPROM authentication mechanism effectively prevents the use of incompatible or uncertified hardware, ensuring system stability.

[0087] The server described in this application can be used in, for example, network platform servers (e.g., 5G network servers), data centers (e.g., large-scale cloud data centers), databases (e.g., financial database servers), AI computing servers (e.g., edge computing platform servers), servers for monitoring and data acquisition systems, traffic control system servers, smart grid platform servers, distributed control system (DCS) operator stations, artificial intelligence and high-performance computing (HPC) servers, big data analysis servers, network security platform servers, communication and collaboration platform servers, industrial control computers, medical, robotic, or other suitable types of servers.

[0088] Furthermore, it is understood that the foregoing embodiments are merely illustrative examples of the present invention. Provided that the technical features do not conflict, the structure is not contradictory, and the purpose of the invention is not violated, the technical solutions of the various embodiments can be arbitrarily combined and used.

[0089] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims

1. A method for server module expansion, the method comprising: The server module expansion method is applied to an expansion server, the expansion server comprises a control module, a plurality of connection modules and an expansion module, the plurality of connection modules are electrically connected to the control module respectively, the expansion module is one of a PCIe module, an IO module and a hard disk module, the interface types of the plurality of connection modules correspond to the PCIe module, the IO module and the hard disk module one by one respectively, and the expansion module is detachably connected to the connection module; The server module expansion method comprises the following steps: When the control module detects that the connection module is connected to the corresponding expansion module, the hardware information of the expansion module is read through an SMbus bus, wherein the control module periodically scans the pin state of the connection module, after an interrupt is obtained or a state change is polled, the control module performs de-bouncing, and after a stable delay of a preset time, it is confirmed that the expansion module has been stably connected; the target identification unit of the expansion module is a serial EEPROM chip, the control module initiates a write operation through the SMBus bus to specify the device address of the target identification unit of the expansion module and the starting memory address to be read, and then initiates a read operation to start continuously reading data bytes from the specified address, and the target identification unit of the expansion module returns the stored data in sequence, and the control module parses the data according to a predefined data structure to extract the hardware information; The process of reading the hardware information of the expansion module further comprises: the control module ensures the accuracy of data transmission through a check code, and if the check fails, it will automatically re-read; the control module first reads a fixed header information to confirm the format and version of the hardware information content of the expansion module, and then reads all key hardware information fields and caches them in the memory of the control module; The control module determines the type of the expansion module according to the hardware information, and performs parameter configuration adapted to the function of the expansion module, and the hardware information comprises unique identity information and configuration data; The control module establishes a data transmission channel adapted to the high bandwidth requirement of the server with the expansion module, wherein the PCIe module realizes high-speed data transmission through a PCIe x16 channel, the IO module realizes differential signal interaction through a SerDes interface, and the hard disk module supports high-speed reading and writing of the AHCI protocol through a SATA interface; When the connection module is detected to be connected to the expansion module, one or more detection pins are arranged on the interface of the connection module, when the expansion module is not inserted, the detection pins are pulled to a high level through a pull-up resistor, when the expansion module is inserted into position, the detection pins are pulled to a ground level, a level jump from high to low is generated, which is a hardware interrupt signal and is sent to the control module. When the parameter configuration of the firmware management is performed, the control module compares the read firmware version with the latest version stored on the server, if the module firmware is too old, the control module obtains the new firmware image from the local storage or through the network, and updates the module firmware through the SMBus or the proprietary protocol; When the hot plug process of the expansion module is performed, a plug signal is triggered when the user presses the ejection button of the module, the control module detects the plug signal, the control module first informs the module to enter the preparation removal state through the SMBus, then the control module informs the host operating system to uninstall the driver, after the operating system confirms that the driver has been uninstalled, the control module is informed, the control module then cuts off the main power of the expansion module, and keeps standby power to maintain management function, at this time the user physically plugs out the module.

2. The method of claim 1, wherein, The expansion module includes a PCIe module; when the control module detects that the connection module connects the PCIe module, the control module reads the hardware information in the EEPROM of the PCIe module through the SMBus interface, and performs parameter configuration according to the hardware information.

3. The method of claim 2, wherein the server module extension is a server module extension for a server module that is configured to provide a service to a client module. The hardware information includes module model and firmware version, the parameter configuration is to set module working parameters through the SMBus interface, and the module working parameters include PCIe link width and power mode.

4. The method of claim 1, wherein the server module extension is a server module extension for a server module that is a module for a server application. The expansion module includes an IO module; when the control module detects that the connection module connects the IO module, the control module reads the hardware information in the EEPROM of the IO module through the SMBus interface, and performs parameter configuration according to the hardware information, and realizes data interaction between the control module and the IO module through the SerDes interface.

5. The method of claim 4, wherein, The hardware information includes module model and firmware version, the parameter configuration is to set module working parameters through the SMBus interface, and the module working parameters include SerDes rate and power mode.

6. The method of claim 1, wherein the server module extension is a Java server module extension. The expansion module includes a hard disk module; when the control module detects that the connection module connects the hard disk module, the control module reads the firmware information and health status of the hard disk module through the SMBus interface, and performs parameter configuration according to the hardware information.

7. The method of claim 1, wherein the server module extension is a Java server module extension. The plurality of connection modules PCIe connection module, IO connection module and hard disk connection module, the plurality of connection modules are arranged on the circuit board, and the plurality of connection modules are arranged close to the module mounting position, the PCIe connection module and the module mounting position are arranged adjacent along the second direction, the second direction is perpendicular to the first direction; the IO connection module and the module mounting position are arranged adjacent along the first direction; the hard disk connection module and the module mounting position are arranged adjacent along the first direction, and are arranged spaced apart from the IO connection module along the first direction.

8. The method of claim 1, wherein the server module extension is a Java server module extension. When the expansion module is a PCIe module, the server module expansion method further includes the following steps: ​ Physical insertion, the user can insert the module along the guide rail, and lock it in place; Detection, the PRSNT# pin of the PCIe slot is pulled down, the interrupt service program of the control module is triggered, and it is recognized that a device is inserted; Reading EEPROM, the control module accesses the EEPROM address associated with the PCIe slot to read relevant information through the SMBus; Power configuration, the control module communicates with the chassis backplane management controller to allocate the highest power margin to leave a safety margin and execute the power-on sequence; PCIe link configuration, the control module configures the downstream port of the PCIe switch through the SMBus; Firmware check, the control module safely flashes the module through the SMBus with a proprietary update protocol, and after the flashing is completed, the control module commands the module to hard reset to load the new firmware; Notifying the host system, the control module sends a PCIe hot plug event to the host system; and Establishing a channel, after recognizing the PCIe module, a bidirectional data transmission channel is established.

9. The method of claim 1, wherein, When the expansion module is an IO module, the server module expansion method further comprises the following steps: Physical insertion of the module, the IO module is inserted; Detection, the detection pin of the IO connector is triggered; Reading EEPROM, the control module reads relevant information; SerDes PHY configuration, the control module configures the SerDes PHY chip set on the mainboard to set the rate of the 4 SerDes channels connected to the module to adapt to Ethernet and set the optimal equalization parameters to compensate for channel loss; Function configuration, the control module sets the initial MAC address of the network card and the port enable state through the SMBus; Notifying the host system; Establishing a channel, after recognizing the IO module, a data transmission channel is established.

10. The method of claim 1, wherein the server module is extended by, When the expansion module is a hard disk module, the server module expansion method further comprises the following steps: Physical insertion, the hard disk module is inserted, and the module is connected to the backplane through a blind insertion connector; Detection, the backplane controller detects the insertion of the module and notifies the control module through the SMBus; Reading information; Parameter configuration; Notifying the host system, the control module notifies the host that there is a new storage device; and Establishing a channel, after recognizing the hard disk module, a data transmission channel is established.

Citation Information

Patent Citations

  • Server expansion module, server, configuration method, device and medium

    CN118708519A