Server resource expansion method based on board card and cloud computing system
The server hardware description information is obtained through the board card, and topology information is parsed and generated, which solves the problem in the existing technology that BIOS code needs to be modified to expand resources, and realizes convenient expansion and high compatibility of server resources.
Patent Information
- Application Number
- CN202410317994.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-03-19
- Publication Date
- 2025-09-19
AI Technical Summary
In the prior art, when a server is connected to an external device to expand resources, the BIOS code needs to be modified, resulting in the problem of being unable to expand resources, especially in old servers or servers connected by users themselves.
The server's hardware description information is obtained through the board, the extended configuration information is parsed and determined, and the corresponding topology information is generated, thereby achieving the expansion of server resources without modifying the BIOS code.
It realizes the convenient expansion of server resources and is applicable to various types of servers without modifying the BIOS code, thus improving compatibility and expansion capabilities.
Smart Images

Figure CN120670130A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a board-based server resource expansion method, a cloud computing system, a server, and a board. Background Art
[0002] With the development of cloud computing technology, its scale continues to expand, and the volume of data and architectural complexity continue to increase. Cloud computing must cope with increasingly common data-intensive computing scenarios, while users are increasingly demanding low latency and high bandwidth. Consequently, the requirements for server computing power, bandwidth resources, and storage resources are also increasing.
[0003] Server resources can be expanded through external devices. However, currently, connecting a server to external devices to expand resources requires modifying the server's BIOS (Basic Input Output System) code to adapt and connect to the external device. However, some servers may not be able to modify the BIOS code, such as some older servers that cannot be modified for various reasons. Alternatively, when connecting to a user's own server, it is difficult to modify the BIOS code, resulting in the server being unable to expand resources through external devices. Summary of the Invention
[0004] The embodiment of the present application provides a server resource expansion method based on a board card, so that the server can conveniently expand external devices.
[0005] Correspondingly, the embodiment of the present application also provides a cloud computing system, a server and a board to ensure the implementation and application of the above system.
[0006] In order to solve the above problems, an embodiment of the present application discloses a server resource expansion method based on a board card, wherein the method is applied to a board card, the board card is connected to a server, and the method includes:
[0007] The board obtains and parses the hardware description information of the server based on a storage address of the hardware description information of the server, and determines the extended configuration information of the server, wherein the storage address is obtained based on data in a memory in the board;
[0008] The board generates corresponding topology information based on the extended configuration information.
[0009] Optionally, the board obtains and parses the hardware description information based on the storage address of the hardware description information of the server to determine the extended configuration information of the server, including:
[0010] The board reads the storage address of the hardware description information of the server from the configured storage space;
[0011] The memory access controller of the board obtains the hardware description information of the server based on the storage address;
[0012] The hardware description information is parsed to determine the extended configuration information of the server.
[0013] Optionally, the board generates corresponding topology information based on the extended configuration information, including:
[0014] The board determines the number of connected external devices based on the extended configuration information;
[0015] A topology structure of external devices is allocated based on the number of the external devices to generate topology information, wherein the external devices include at least one of the following: a network card and a storage device.
[0016] Optionally, the extended configuration information includes: a bus extension range and a storage space extension range, and the board determines the number of connected external devices based on the extended configuration information, including:
[0017] Acquire resource configuration information of the board, wherein the resource configuration information includes a bus range and a storage space range of the board;
[0018] Determining an extended bus range based on the bus range of the board and the bus extension range of the server;
[0019] Determining an extended bus range based on the memory space range of the board and the memory space extension range of the server;
[0020] Based on the extended bus range and the expanded bus range, the number of connected external devices is determined.
[0021] The embodiment of the present application further discloses a server resource expansion method based on a board card, wherein the method is applied to a server connected to a board card, and includes:
[0022] When the server is started, the storage address of the hardware description information is obtained based on the data in the memory of the board;
[0023] The storage address of the hardware description information is notified to the board, so that the board determines the extended configuration information based on the hardware description information and generates topology information.
[0024] Optionally, when the server is started, obtaining the storage address of the hardware description information based on the data in the memory of the board includes:
[0025] When the server is started, hardware description information is generated based on the system resources of the server;
[0026] The data in the memory is loaded from the board, and the storage address of the hardware description information is obtained based on the data in the memory.
[0027] Optionally, loading the data from the memory of the board and acquiring the storage address of the hardware description information based on the data in the memory includes:
[0028] Loading the driver obtained from the memory and executing the driver;
[0029] The driver reads the storage address of the hardware description information.
[0030] Optionally, notifying the board of the storage address of the hardware description information includes:
[0031] The storage address of the hardware description information is written into a designated storage space corresponding to the board based on the driver.
[0032] Optionally, also include:
[0033] Receive topology information fed back by the board, and connect the external device connected to the board based on the topology information.
[0034] The embodiment of the present application further discloses a cloud computing system, which includes a server connected to a board card, wherein:
[0035] The server, when started, obtains the storage address of the hardware description information based on the data in the memory of the board, and notifies the board of the storage address of the hardware description information;
[0036] The board obtains and parses the hardware description information based on the storage address of the hardware description information of the server to determine the extended configuration information of the server; and generates corresponding topology information based on the extended configuration information.
[0037] The embodiment of the present application further discloses a server, which includes: a processor, and a memory communicatively connected to the processor;
[0038] The memory stores computer-executable instructions;
[0039] The processor executes the computer-executable instructions stored in the memory to implement the method described in the embodiment of the present application.
[0040] The embodiment of the present application further discloses a board, which includes: a processor, and a memory communicatively connected to the processor;
[0041] The memory stores computer-executable instructions;
[0042] The processor executes the computer-executable instructions stored in the memory to implement the method described in the embodiment of the present application.
[0043] Compared with the prior art, the embodiments of the present application have the following advantages:
[0044] In an embodiment of the present application, the board obtains and parses the hardware description information based on the storage address of the hardware description information, determines the extended configuration information of the server, and generates corresponding topology information based on the extended configuration information. It can accurately obtain the expansion capability of the server and allocate the topology of the external device accordingly, so that the server can connect to the external device. Since the hardware description information of the server is obtained based on the data in the memory of the board, there is no need to improve the server, and it is applicable to various types of servers. BRIEF DESCRIPTION OF THE DRAWINGS
[0045] Figure 1 This is a schematic diagram of the architecture of a system embodiment of the present application;
[0046] Figure 2 This is an interactive diagram of an embodiment of a resource expansion method for a server of the present application;
[0047] Figure 3 This is a flowchart of a method for resource expansion of a server according to an embodiment of the present application;
[0048] Figure 4 This is a flowchart of another embodiment of a server resource expansion method of the present application;
[0049] Figure 5 This is a flowchart of the steps of an embodiment of a resource expansion method of the present application;
[0050] Figure 6 is a flowchart of another resource expansion method embodiment of the present application;
[0051] Figure 7 is a schematic diagram of an example of resource extension interaction according to an embodiment of the present application;
[0052] Figure 8 This is an interactive diagram of an embodiment of a resource expansion method for a cloud server in a cloud computing system of the present application;
[0053] Figure 9 It is a structural diagram of an exemplary device provided in one embodiment of the present application. DETAILED DESCRIPTION
[0054] In order to make the above-mentioned purposes, features and advantages of the present application more obvious and easy to understand, the present application is further described in detail below with reference to the accompanying drawings and specific implementation methods.
[0055] The embodiments of the present application can be applied to scenarios where the resources of a server are expanded. Taking the cloud computing scenario as an example, in order to better provide computing and other services, the server can be connected to an external board to access external devices, which include a network card, a storage device, and the like. Among them, the network card is also called a network adapter or a network interface card. Based on the network card, the hardware device can be connected to the network and perform network communication. The storage device is a device for data storage, such as a disk, a hard disk, and the like. Among them, the disk refers to a memory that uses magnetic recording technology to store data. By inserting a network card on the board, the bandwidth resources of the server can be expanded, and by inserting a storage device on the board, the storage resources of the server can be expanded, thereby improving the performance of the server.
[0056] Among them, such as Figure 1 As shown, the system includes a server 102 and a board 104 , and the server and the board are connected via a PCIe (Peripheral Component Interface Express, a high-speed serial computer expansion bus standard) bus. PCIe is a high-speed serial bus.
[0057] The server includes an operating system (OS) and a basic input / output system (BIOS). The OS is a built-in program that coordinates the server's hardware and interacts with users. The BIOS is a set of programs hard-coded into a read-only memory (ROM) chip on the server's motherboard. The BIOS stores the server's basic input / output (BITO) programs, post-boot self-test routines, and system startup routines. The BIOS also provides system parameters to the operating system. Changes to the system hardware are hidden from the BIOS, serving as a bridge between the hardware and the operating system.
[0058] The board includes a VSEC (Vendor-Specific Extended Capability) module. VSEC is an extended capability provided to vendors as specified in the PCI specification and can be customized by the vendor.
[0059] The board can be plugged into one or more external devices 106, such as external devices 1061, 1062, ..., 106n, where n is a positive integer greater than 0. The type, quantity, and topology of the external devices connected to the board are determined by the board based on the server's expansion capabilities when the server is started.
[0060] Reference Figure 2 , showing an interactive schematic diagram of an embodiment of a server resource expansion method of the present application.
[0061] Step 202: When the server starts, it obtains the storage address of the hardware description information and notifies the board of the storage address of the hardware description information.
[0062] When the server is started, the BIOS of the server generates hardware description information based on the server system resources. The hardware description information is used to describe the hardware data of the system.
[0063] In the embodiments of the present application, the hardware description information may be data in a DSDT (Differentiated System Description Table). The DSDT contains information about all different devices except the basic system. While the basic system is the same for each device, the DSDT describes the system information for each device. The DSDT is a table in the Advanced Configuration and Power Management Interface (ACPI), an interface used by operating systems and applications to manage all power management functions.
[0064] In an optional embodiment of the present application, when the server starts, the storage address of the hardware description information is obtained, including: when the server starts, (the server BIOS) generates the hardware description information based on the system resources of the server; loads the data of the expansion memory from the board, such as reading the data of the read-only memory (ExpansionROM), and obtains the storage address of the hardware description information based on the data of the expansion read-only memory. The data of the ExpansionROM includes the driver of the expansion read-only memory ExpansionROM, and the driver obtains the storage address of the hardware description information. The ExpansionROM is an optional external EPROM (Erasable Programmable Read-Only Memory) chip of the PCI / PCIe device, which is used to store the initialization code or system startup code of the corresponding PCI / PCIe device. Therefore, at startup, the BIOS can obtain the initialization code or system startup code from the ExpansionROM, copy it to the RAM (Random Access Memory), and then execute the code, such as the driver code.
[0065] The system loads data from the expansion read-only memory (ROM) of the board and obtains the storage address of the hardware description information based on the data in the ROM. This includes: loading a driver from the memory and executing the driver; and reading the storage address of the hardware information table based on the driver. The BIOS obtains the driver from the expansion ROM and stores it in the server's RAM. The BIOS directs the ExpansionROM driver to run on the server. The ExpansionROM driver reads the address information of the system hardware information table (DSDT) and notifies the board of this address information.
[0066] Notifying the board of the storage address of the hardware description information includes: a driver determining the storage address of the hardware information table and writing the storage address of the hardware information table into a corresponding designated storage space of the board of the card. An ExpansionROM driver writes the storage address of the DSDT into a space register configured by the board of the card's VSEC (Vendor-Specific Extended Capability).
[0067] VSEC is an expansion capability provided to manufacturers as specified in the PCI specification and can be customized by the manufacturer. The present application embodiment, based on VSEC capabilities, configures the board at the factory, enabling the board to read the DSDT table based on VSEC. Consequently, when the server boots, the storage address of the DSDT is written to the VSEC space register, allowing the board to read the DSDT table.
[0068] Step 204 : The board obtains and parses the hardware description information based on the storage address of the hardware description information of the server to determine the extended configuration information of the server.
[0069] After the server completes the write operation of writing the storage address of the hardware description information into the designated storage space of the board, the board can be informed of the write operation, read the hardware description information based on the storage address accordingly, and then parse the hardware description information to determine the extended configuration information of the server.
[0070] The board obtains and parses the hardware description information based on the storage address of the hardware description information to determine the extended configuration information of the server, including: the board reads the storage address of the hardware information table from the configured storage space; the board's memory access controller, such as a DMA (Direct Memory Access) controller, obtains the hardware information table based on the storage address of the hardware information table; and parses the hardware information table to determine the extended configuration information of the server, wherein the extended configuration information includes: a bus extension range and a storage space extension range. After the ExpansionROM driver writes the storage address of the DSDT table to the board's space register, the board can be notified of the write operation. Thereafter, the DMA controller reads the storage address of the DSDT table from the space register, and then reads the DSDT table according to the storage address, parses the DSDT table, and determines the extended configuration information of the server, wherein the extended configuration information is the resource range of the external device that the server can expand. The bus expansion range refers to the range of buses that the server can support, that is, the number of buses it can support. A bus is a common path for information transmission between various functional components of a device. External devices can be connected to the board through the bus, and then to the server through the board. The storage space expansion range refers to the amount of storage space that can be expanded on the server.
[0071] Step 206: The board generates corresponding topology information based on the extended configuration information of the server.
[0072] In an embodiment of the present application, the external devices connected to the server are subject to the expansion capability limit of the server and are related to the expansion capability of the board. Generally, the board can support a larger bus range and storage space range, while the bus range and storage space range that the server can expand are relatively smaller. Therefore, when the board determines the number of connected external devices based on the extended configuration information, the resource configuration information of the board can also be obtained. The resource configuration information describes the bus range and storage space range that the board can support. Combined with the bus expansion range and storage space expansion range of the server, the number of external devices is determined, and the number of various types of external devices can be determined. The resource configuration information of the board can be obtained, and the resource configuration information includes the bus range and storage space range of the board; based on the bus range of the board and the bus expansion range of the server, the extended bus range is determined; based on the storage space range of the board and the storage space expansion range of the server, the extended bus range is determined; based on the extended bus range and the extended bus range, the number of connected external devices is determined.
[0073] For example, a board supports 50 buses and 100Mb of storage space, and the server supports 5 bus extensions and 100Mb of storage space. Each network card requires one bus and 1Mb of storage space, and each storage device requires one bus and 2Mb of storage space. Therefore, based on the board's resource configuration information and the server's extended configuration information, it can be determined that the board can connect to five external devices. Accordingly, the five external devices can be allocated, for example, to connect to three network cards and two storage devices, or to connect to two network cards and three storage devices.
[0074] After the number of external devices is determined, a topology structure of the external devices is allocated based on the number of external devices, and a bus for connecting each external device is allocated to obtain corresponding topology information.
[0075] The topology information is fed back to the server, so that the server can connect to the external devices connected to the board based on the topology information, thereby expanding the network resources and storage space of the server.
[0076] In summary, when the server starts up, it obtains the storage address of the hardware description information based on the data in the memory of the board, and notifies the board of the storage address of the hardware description information, so that the board can obtain the hardware description information and learn the server's expansion capabilities. The board obtains and parses the hardware description information based on the storage address of the hardware description information, determines the server's expansion configuration information, and generates corresponding topology information based on the expansion configuration information. This can accurately obtain the server's expansion capabilities and allocate the topology of external devices accordingly, allowing the server to connect to external devices. Since the server's hardware description information is obtained based on the data in the board's memory, there is no need to improve the server, and the system is applicable to various types of servers.
[0077] Based on the above embodiment, an embodiment of the present application further provides a resource expansion method for a server, so that the server can connect to an external device, wherein the server performs the following steps.
[0078] Reference Figure 3 , showing a step flow chart of an embodiment of a server resource expansion method of the present application.
[0079] Step 302: When the server starts, the server obtains the storage address of the hardware description information based on the data in the memory of the board.
[0080] Step 304: Notify the board of the storage address of the hardware description information, so that the board determines extended configuration information based on the hardware description information.
[0081] In summary, when the server starts, the BIOS obtains the storage address of the hardware description information and notifies the board of the storage address of the hardware description information, so that the board can obtain the hardware information of the server, thereby analyzing the expansion capabilities and setting the topology information of the external devices accordingly, ensuring that the server can connect to the external devices normally and expand the server's resources.
[0082] Reference Figure 4 , shows a step flow chart of another embodiment of a server resource expansion method of the present application.
[0083] Step 402: When the server is started, the BIOS generates hardware description information based on the system resources of the server. The hardware description information includes a DSDT table.
[0084] Step 404: BIOS loads the driver in the Expansion ROM of the board.
[0085] In step 406, the BIOS stores the driver program in RAM and executes the driver program.
[0086] Step 408: Determine the storage address of the DSDT table based on the driver, and write the storage address of the DSDT table into the storage space configured by the VSEC corresponding to the board.
[0087] In step 410 , the server receives topology information fed back by the board, and connects to external devices connected to the board based on the topology information.
[0088] The embodiments of the present application are applicable to servers of various models, and resources can be expanded in the above manner for both existing servers and newly added servers in the system.
[0089] Based on the above embodiments, the embodiments of the present application also provide a resource expansion method, which enables the board to obtain the expansion capabilities of the server and allocate the topology of external devices, so that the server can easily connect to external devices.
[0090] Reference Figure 5 , shows a step flow chart of an embodiment of a resource expansion method of the present application.
[0091] Step 502: After receiving the write operation for the storage address of the hardware description information of the server, the board reads and parses the corresponding hardware description information to determine the extended configuration information of the server.
[0092] The write operation is an operation in which the BIOS of the server writes the storage address of the hardware description information obtained based on the board into a designated storage space of the board, where the storage address is obtained based on data in a memory in the board.
[0093] Step 504: The board generates corresponding topology information based on the extended configuration information.
[0094] In summary, after the board receives the write operation for the storage address of the hardware description information, it reads and parses the corresponding hardware description information to determine the extended configuration information of the server, that is, the board can obtain the hardware information of the server, thereby analyzing the expansion capability, and setting the topology information of the external device based on the expansion capability of the server to ensure that the server is normally connected to the external device and expand the resources of the server.
[0095] Reference Figure 6 , shows a step flow chart of another resource expansion method embodiment of the present application.
[0096] Step 602: After receiving a write operation for the storage address of the DSDT table, the board reads the storage address of the DSDT table from the configured storage space.
[0097] Step 604: The DMA controller of the board accesses the storage address of the DSDT table and reads the DSDT table.
[0098] Step 606: Parse the DSDT table to determine the extended configuration information of the server.
[0099] The extended configuration information includes: a bus extension range and a storage space extension range.
[0100] Step 608: The board determines the number of connected external devices based on the extended configuration information.
[0101] Step 610: Allocate a topology structure of external devices based on the number of external devices to generate topology information.
[0102] Step 612: The board feeds back the topology information to the server.
[0103] This embodiment of the application pre-configures the VSEC of the card, allowing the server to notify the card of the address of the DSDT table. The card then obtains the server's hardware information, analyzes its expansion capabilities based on this information, and then sets the topology information of external devices based on the server's expansion capabilities, ensuring that the server can normally connect to external devices and expand the server's resources. This makes it applicable to servers of all models.
[0104] Based on the above embodiment, the embodiment of the present application also provides a resource expansion method, such as Figure 7 As shown:
[0105] Step 702: When the server starts, the BIOS generates hardware description information based on the system resources of the server.
[0106] Step 704: BIOS obtains the driver from the ExpansionROM of the board.
[0107] In step 706, the BIOS stores the driver program in RAM and executes the driver program.
[0108] Step 708: The driver determines the storage address of the DSDT table, and writes the storage address of the DSDT table into the storage space configured by the VSEC corresponding to the board.
[0109] Step 710: The board reads the storage address of the DSDT table from the configured storage space.
[0110] In step 712, the DMA controller of the board accesses the storage address of the DSDT table and reads the DSDT table.
[0111] In step 714, the board parses the DSDT table to determine the extended configuration information of the server.
[0112] The extended configuration information includes: a bus extension range and a storage space extension range.
[0113] Step 716: The board determines the number of connected external devices based on the extended configuration information.
[0114] Step 718: The board allocates a topology structure of the external devices based on the number of the external devices to generate topology information.
[0115] Step 720: The board feeds back the topology information to the server.
[0116] Step 722: The server connects to the external device connected to the board based on the topology information.
[0117] The embodiment of the present application is based on the standard specifications of PCIe and ACPI, so that the board can obtain the resource configuration of various servers and improve the compatibility of the board.
[0118] Taking the application in cloud computing scenarios as an example, the servers in the cloud computing system can be various types of cloud servers such as edge computing nodes and control servers. When the cloud server is started, it can connect to smart boards to expand resources in order to better provide services.
[0119] Reference Figure 8 , shows an interactive schematic diagram of an embodiment of a resource expansion method for a cloud server in a cloud computing system of the present application.
[0120] Step 802: When the cloud server starts, the BIOS generates hardware description information based on the server's system resources.
[0121] Step 804: BIOS obtains the driver from the ExpansionROM.
[0122] In step 806, the BIOS stores the driver program in RAM and executes the driver program.
[0123] Step 808: The driver determines the storage address of the DSDT table, and writes the storage address of the DSDT table into the storage space configured by the VSEC corresponding to the board.
[0124] Step 810: The board reads the storage address of the DSDT table from the configured storage space.
[0125] In step 812, the DMA controller of the board accesses the storage address of the DSDT table and reads the DSDT table.
[0126] In step 814, the board parses the DSDT table to determine the extended configuration information of the server.
[0127] The extended configuration information includes: a bus extension range and a storage space extension range.
[0128] Step 816: The board determines the number of connected external devices based on the extended configuration information.
[0129] Step 818: The board allocates a topology structure of the external devices based on the number of the external devices to generate topology information.
[0130] Step 820: The board feeds back the topology information to the server.
[0131] In step 822, the cloud server connects to the external device connected to the board based on the topology information.
[0132] The embodiment of the present application relies on standard specifications such as PCIE and ACPI to obtain server PCI resources so that the device can form a PCI topology that meets the server resource requirements, thereby improving device compatibility and fully utilizing server resources.
[0133] It should be noted that the embodiments of the present application may involve the use of user data. In actual applications, user-specific personal data can be used in the scheme described herein within the scope permitted by applicable laws and regulations, subject to the requirements of applicable laws and regulations of the country where the user is located (for example, with the user's explicit consent, effective notification to the user, etc.).
[0134] It should be noted that for the method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the embodiments of the present application are not limited by the order of the actions described, because according to the embodiments of the present application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily required by the embodiments of the present application.
[0135] An embodiment of the present application further provides a non-volatile readable storage medium, which stores one or more modules (programs). When the one or more modules are applied to a device, the device can execute instructions (instructions) of each method step in the embodiment of the present application.
[0136] An embodiment of the present application further provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer-executable instructions, and when the computer-executable instructions are executed by a processor, they are used to implement the method described in the embodiment of the present application.
[0137] The present application also provides an electronic device comprising: a processor and a memory communicatively connected to the processor; the memory storing computer-executable instructions; and the processor executing the computer-executable instructions stored in the memory to implement the method described in the present application. In the present application, the electronic device includes a server, a terminal device, and other devices.
[0138] The embodiments of the present disclosure may be implemented as a device configured as desired using any appropriate hardware, firmware, software, or any combination thereof, and the device may include electronic devices such as a server (cluster), a terminal, etc. Figure 9 An exemplary apparatus 900 that can be used to implement various embodiments described in this application is schematically illustrated.
[0139] For one embodiment, Figure 9 An exemplary apparatus 900 is shown having one or more processors 902, a control module (chip set) 904 coupled to at least one of the processor(s) 902, a memory 906 coupled to the control module 904, a non-volatile memory (NVM) / storage device 908 coupled to the control module 904, one or more input / output devices 910 coupled to the control module 904, and a network interface 912 coupled to the control module 904.
[0140] The processor 902 may include one or more single-core or multi-core processors, and the processor 902 may include any combination of general-purpose processors or dedicated processors (e.g., graphics processors, application processors, baseband processors, etc.). In some embodiments, the apparatus 900 can serve as a server, terminal, or other device described in the embodiments of the present application.
[0141] In some embodiments, the apparatus 900 may include one or more computer-readable media (e.g., memory 906 or NVM / storage 908) having instructions 914 and one or more processors 902 configured in conjunction with the one or more computer-readable media to execute the instructions 914 to implement a module to perform the actions described in the present disclosure.
[0142] For one embodiment, the control module 904 may include any suitable interface controller to provide any suitable interface to at least one of the processor(s) 902 and / or any suitable device or component in communication with the control module 904 .
[0143] The control module 904 may include a memory controller module to provide an interface to the memory 906. The memory controller module may be a hardware module, a software module, and / or a firmware module.
[0144] The memory 906 can be used, for example, to load and store data and / or instructions 914 for the device 900. For one embodiment, the memory 906 can include any suitable volatile memory, such as a suitable DRAM. In some embodiments, the memory 906 can include double data rate type four synchronous dynamic random access memory (DDR4 SDRAM).
[0145] For one embodiment, the control module 904 may include one or more input / output controllers to provide an interface to the NVM / storage device 908 and the input / output device(s) 910 .
[0146] For example, NVM / storage 908 may be used to store data and / or instructions 914. NVM / storage 908 may include any suitable non-volatile memory (e.g., flash memory) and / or may include any suitable non-volatile storage device(s) (e.g., one or more hard disk drives (HDDs), one or more compact disk (CD) drives, and / or one or more digital versatile disk (DVD) drives).
[0147] The NVM / storage device 908 may include storage resources that are part of the device on which the apparatus 900 is installed, or it may be accessible to the device without being part of the device. For example, the NVM / storage device 908 may be accessed via the input / output device(s) 910 over a network.
[0148] (One or more) input / output devices 910 may provide an interface for the apparatus 900 to communicate with any other appropriate device. The input / output device 910 may include a communication component, an audio component, a sensor component, etc. The network interface 912 may provide an interface for the apparatus 900 to communicate via one or more networks. The apparatus 900 may wirelessly communicate with one or more components of a wireless network according to any of one or more wireless network standards and / or protocols, for example, accessing a wireless network based on a communication standard such as Bluetooth, WiFi, 2G, 3G, 4G, 9G, etc., or a combination thereof for wireless communication.
[0149] For one embodiment, at least one of the processor(s) 902 may be packaged together with the logic of one or more controllers (e.g., a memory controller module) of the control module 904. For one embodiment, at least one of the processor(s) 902 may be packaged together with the logic of one or more controllers of the control module 904 to form a system-in-package (SiP). For one embodiment, at least one of the processor(s) 902 may be integrated on the same die with the logic of one or more controllers of the control module 904. For one embodiment, at least one of the processor(s) 902 may be integrated on the same die with the logic of one or more controllers of the control module 904 to form a system-on-chip (SoC).
[0150] In various embodiments, the apparatus 900 may be, but is not limited to, a terminal device such as a server, a desktop computing device, or a mobile computing device (e.g., a laptop computing device, a handheld computing device, a tablet computer, a netbook, etc.). In various embodiments, the apparatus 900 may have more or fewer components and / or a different architecture. For example, in some embodiments, the apparatus 900 includes one or more cameras, a keyboard, a liquid crystal display (LCD) screen (including a touchscreen display), a non-volatile memory port, multiple antennas, a graphics chip, an application-specific integrated circuit (ASIC), and a speaker.
[0151] Among them, the main control chip can be used as a processor or control module in the detection device, sensor data, location information, etc. are stored in the memory or NVM / storage device, the sensor group can be used as an input / output device, and the communication interface may include a network interface.
[0152] The present application also provides an electronic device comprising: a processor; and a memory storing executable code, wherein when the executable code is executed, the processor executes one or more methods described in the embodiments of the present application. The memory in the embodiments of the present application can store various data, such as target files, file-application association data, and other data, and can also include user behavior data, thereby providing a data foundation for various processing.
[0153] The embodiments of the present application further provide one or more machine-readable media on which executable codes are stored. When the executable codes are executed, the processor executes one or more methods described in the embodiments of the present application.
[0154] As for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
[0155] The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.
[0156] The embodiments of the present application are described with reference to the flowcharts and / or block diagrams of the methods, terminal devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing terminal device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing terminal device generate instructions for implementing the steps in the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0157] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing terminal device to operate in a specific manner, so that the instructions stored in the computer readable memory produce a manufactured product including an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.
[0158] These computer program instructions can also be loaded onto a computer or other programmable data processing terminal device so that a series of operating steps are executed on the computer or other programmable terminal device to produce a computer-implemented process, thereby providing instructions for executing on the computer or other programmable terminal device to implement the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.
[0159] Although preferred embodiments of the present invention have been described, those skilled in the art may make additional changes and modifications to these embodiments once they become aware of the basic inventive concepts. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the embodiments of the present invention.
[0160] Finally, it should be noted that, in this document, relational terms such as first and second, etc., are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or terminal device that includes a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or terminal device. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of additional identical elements in the process, method, article, or terminal device that includes the element.
[0161] The above is a detailed introduction to a server resource expansion method based on a board card, a cloud computing system, a server and a board card provided by this application. This article uses specific examples to illustrate the principles and implementation methods of this application. The description of the above embodiments is only used to help understand the method of this application and its core idea; at the same time, for general technical personnel in this field, based on the ideas of this application, there will be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as a limitation on this application.
Claims
1. A server resource expansion method based on a board, wherein: Applied to a board card, the board card is connected to a server, and the method includes: The board obtains and parses the hardware description information of the server based on a storage address of the hardware description information of the server, and determines the extended configuration information of the server, wherein the storage address is obtained based on data in a memory in the board; The board generates corresponding topology information based on the extended configuration information.
2. The method according to claim 1, wherein The board obtains and parses the hardware description information based on the storage address of the hardware description information of the server to determine the extended configuration information of the server, including: The board reads the storage address of the hardware description information of the server from the configured storage space; The memory access controller of the board obtains the hardware description information of the server based on the storage address; The hardware description information of the server is parsed to determine the extended configuration information of the server.
3. The method according to claim 2, wherein: The board generates corresponding topology information based on the extended configuration information, including: The board determines the number of connected external devices based on the extended configuration information; A topology structure of external devices is allocated based on the number of the external devices to generate topology information, wherein the external devices include at least one of the following: a network card and a storage device.
4. The method according to claim 2, wherein: The extended configuration information includes: a bus extension range and a storage space extension range, and the board determines the number of connected external devices based on the extended configuration information, including: Acquire resource configuration information of the board, wherein the resource configuration information includes a bus range and a storage space range of the board; Determining an extended bus range based on the bus range of the board and the bus extension range of the server; Determining an extended bus range based on the memory space range of the board and the memory space extension range of the server; Based on the extended bus range and the expanded bus range, the number of connected external devices is determined.
5. A server resource expansion method based on a board, wherein: Applied to a server, the server is connected to a board, and the method includes: When the server is started, the storage address of the hardware description information is obtained based on the data in the memory of the board; The storage address of the hardware description information is notified to the board, so that the board determines the extended configuration information based on the hardware description information and generates topology information.
6. The method according to claim 5, wherein: When the server starts, the storage address of the hardware description information is obtained based on the data in the memory of the board, including: When the server is started, hardware description information is generated based on the system resources of the server; The data in the memory is loaded from the board, and the storage address of the hardware description information is obtained based on the data in the memory.
7. The method according to claim 6, wherein: The step of loading the memory data from the board and acquiring the storage address of the hardware description information based on the memory data includes: Loading a driver program from a memory and executing the driver program; The storage address of the hardware description information is read based on the driver.
8. The method according to claim 7, wherein: The step of notifying the board of the storage address of the hardware description information includes: The storage address of the hardware description information is written into a designated storage space corresponding to the board based on the driver.
9. The method according to claim 7, wherein: Also includes: Receive topology information fed back by the board, and connect the external device connected to the board based on the topology information.
10. A server, wherein: include: a processor, and a memory communicatively connected to the processor; The memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory to implement the method according to any one of claims 5 to 9.
11. A board, wherein: include: a processor, and a memory communicatively connected to the processor; The memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory to implement the method according to any one of claims 1 to 4.
12. A cloud computing system, comprising a server connected to a board, wherein: The server adopts the server according to claim 10; The board card is the board card according to claim 11.