Code sharing method and apparatus, switch, multi-host system, device and medium
By setting up shared memory modules and switches in a multi-host system, the problem of memory resource waste is solved, efficient initialization of the system management mode and optimized utilization of memory resources are achieved, and the hardware configuration cost is reduced.
Patent Information
- Application Number
- PCT/CN2024/122149
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-01-31
- Filing Date
- 2024-09-29
- Publication Date
- 2025-08-07
AI Technical Summary
In multi-host systems, the prior art leads to waste of memory resources because each host stores the same system management mode code, and the waste of memory resources is intensified as the number of hosts increases.
By setting up a shared memory module in a multi-host system, storing the system management mode code, and determining the target shared memory module and the system management random access area in multiple shared memory modules through the switch, establishing a data connection between the host and the shared memory module, realizing system management mode initialization.
It saves memory resources in multi-host systems, improves memory resource utilization, and reduces hardware configuration costs. It also supports flexible configuration of the number and capacity of shared memory modules.
Smart Images

Figure CN2024122149_07082025_PF_FP_ABST
Abstract
Description
Code sharing method, device, switch, multi-host system, equipment and medium
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to the Chinese patent application filed with the China Patent Office on January 31, 2024, with application number 2024101305871, and application name “Code sharing method, device, switch, multi-host system, equipment and medium”, all contents of which are incorporated by reference into this application. Technical Field
[0003] The present application relates to a code sharing method, apparatus, switch, multi-host system, device and medium. Background Art
[0004] With the development of server technology, multi-host systems are becoming increasingly widely used. In order for each host in a multi-host system to implement System Management Mode (SMM), a dedicated System Management Random Access Memory (SRAM) must be set up in each host's memory to store SMM-related code. If multiple hosts store the same code, the entire system will require a large amount of memory resources to store the same code, resulting in a waste of system memory resources, which increases with the number of hosts.
[0005] Therefore, the inventors realized that how to improve the utilization of memory resources in a multi-host system and reduce the hardware configuration cost of the multi-host system has become a technical problem that needs to be solved urgently in the industry.
[0006] Summary of the Invention
[0007] In a first aspect, an embodiment of the present application provides a code sharing method, applied to a host in a multi-host system, the method comprising:
[0008] Determine whether to enable the system management mode of the current host;
[0009] sending a system management mode initialization request to a switch in the multi-host system; the switch is configured to determine, based on the system management mode initialization request, a target shared memory module storing the system management mode code and a system management random access area corresponding to the system management mode code in the target shared memory module from among multiple shared memory modules in the multi-host system, and establish a data connection between the current host and the target shared memory module; and
[0010] Initialize the system management mode of the current host based on the system management mode code.
[0011] In a second aspect, an embodiment of the present application provides a code sharing method applied to a switch in a multi-host system, the method comprising:
[0012] In response to a system management mode initialization request sent by a current host in a multi-host system, determining a target shared memory module storing a system management mode code and a system management random access area corresponding to the system management mode code in the target shared memory module among the multiple shared memory modules; and
[0013] A data connection is established between the current host and the target shared memory module, so that the current host implements system management mode initialization based on the system management mode code.
[0014] In a third aspect, an embodiment of the present application provides a code sharing device, applied to a host in a multi-host system, comprising:
[0015] An enabling unit, used to determine whether to enable the system management mode of the current host;
[0016] a request unit, configured to send a system management mode initialization request to a switch in the multi-host system; the switch, based on the system management mode initialization request, determining a target shared memory module storing the system management mode code and a system management random access area corresponding to the system management mode code in the target shared memory module from among multiple shared memory modules in the multi-host system, and establishing a data connection between the current host and the target shared memory module; and
[0017] The initialization unit is used to implement the system management mode initialization of the current host based on the system management mode code.
[0018] In a fourth aspect, an embodiment of the present application provides a code sharing device, applied to a switch in a multi-host system, comprising:
[0019] a response unit, configured to determine, in response to a system management mode initialization request sent by a current host in a multi-host system, a target shared memory module storing a system management mode code and a system management random access area corresponding to the system management mode code in the target shared memory module among the multiple shared memory modules; and
[0020] The connection unit is used to establish a data connection between the current host and the target shared memory module, so that the current host can implement system management mode initialization based on the system management mode code.
[0021] In a fifth aspect, an embodiment of the present application provides a switch, comprising the code sharing device of the third aspect or the fourth aspect.
[0022] In a sixth aspect, an embodiment of the present application provides an electronic device comprising a memory, a processor, and computer-readable instructions stored in the memory and executable on the processor, wherein the processor implements the code sharing method of the first aspect or the second aspect when executing the program.
[0023] In a seventh aspect, an embodiment of the present application provides a non-transitory computer-readable storage medium having computer-readable instructions stored thereon, which implement the code sharing method of the first aspect or the second aspect when the computer-readable instructions are executed by a processor.
[0024] The details of one or more embodiments of the present application are set forth in the accompanying drawings and the description below. Other features and advantages of the present application will become apparent from the description, drawings, and claims. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] The accompanying drawings herein are incorporated into and constitute a part of the specification, illustrate embodiments consistent with the present application, and together with the specification, are used to explain the principles of the present application. In order to more clearly illustrate the technical solutions in the present application or the prior art, the following briefly introduces the drawings required for use in the embodiments or the prior art description. Obviously, the drawings described below are some embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without inventive work.
[0026] FIG1 is a flow chart of a code sharing method according to an embodiment of the present invention;
[0027] FIG2 is a second flow chart of the code sharing method provided in an embodiment of the present application;
[0028] FIG3 is a system architecture diagram of a multi-host system provided in an embodiment of the present application;
[0029] FIG4 is a schematic diagram of a flow chart of a multi-host code sharing method provided in an embodiment of the present application;
[0030] FIG5 is a schematic diagram of a structure of a code sharing device according to an embodiment of the present application;
[0031] FIG6 is a second structural diagram of a code sharing device provided in an embodiment of the present application;
[0032] FIG7 is a schematic diagram of the structure of a switch provided in an embodiment of the present application;
[0033] FIG8 is a schematic structural diagram of a multi-host system provided in an embodiment of the present application;
[0034] FIG9 is a schematic structural diagram of an electronic device provided in an embodiment of the present application;
[0035] FIG10 is a schematic diagram of the structure of a non-transitory computer-readable storage medium provided in an embodiment of the present application. DETAILED DESCRIPTION
[0036] In order to enable those skilled in the art to better understand the present invention, the following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the drawings in the embodiments of the present invention. Obviously, the embodiments described are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments in the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts should fall within the scope of protection of this application.
[0037] It should be noted that the terms "first", "second" etc. in this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequential order. It should be understood that the data used in this way can be interchangeable in appropriate circumstances, so that the embodiments of the application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, the process, method, system, product or equipment comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or that are inherent to these processes, methods, products or equipment.
[0038] SMM (System Management Mode) is a special operating mode of the host processor (CPU). This mode has the highest privilege level and can execute various privileged instructions and IO (Input / Output) operations. Server firmware triggers an SMI (System Management Interrupt) interrupt to cause the CPU to enter SMM mode and then execute SMM code. Currently, SMM code is stored in the SMRAM (System Management Random Access Memory) area of memory. This memory area is initialized and locked by the BIOS during the boot phase, ensuring that it is invisible and cannot be read or written by the system. It can only be read and written by the BIOS after triggering an SMI interrupt.
[0039] FIG1 is one of the flowcharts of the code sharing method provided in the present application. As shown in FIG1 , the method includes step 110 , step 120 and step 130 .
[0040] Step 110: Determine whether to enable the system management mode of the current host.
[0041] Specifically, a host refers to a computer or server that carries and manages other devices or services. For example, a computer that runs server software and provides services. Web servers, database servers, file servers, etc. are all hosts. A shared memory module refers to a remote memory that is set up independently of the host's local memory. The local memory is directly connected to the processor in the host, and the shared memory module is used to expand the host's usable memory. A switch refers to a device that connects the host and the shared memory module to achieve data forwarding. The embodiments of the present application do not specifically limit the number of hosts and the number of shared memory modules in a multi-host system.
[0042] The method provided in the embodiments of the present application is performed by a code sharing device in a host computer. This device can be implemented as software, such as a code sharing program running in the host computer's Basic Input Output System (BIOS), or as a device that executes the code sharing method, such as a BIOS chip.
[0043] The current host is the host in a multi-host system that requires System Management Mode to be initialized. Users can enable or disable System Management Mode for the current host by entering configuration information into the Basic Input / Output System (BIOS) during host startup. System Management Mode is a high-priority, privileged mode used to handle system management tasks and events, providing comprehensive control and management of the host's system hardware.
[0044] Step 120: Send a system management mode initialization request to a switch in the multi-host system; the switch is used to determine, based on the system management mode initialization request, a target shared memory module storing the system management mode code and a system management random access area corresponding to the system management mode code in the target shared memory module from among multiple shared memory modules in the multi-host system, and establish a data connection between the current host and the target shared memory module.
[0045] Specifically, the current host needs to obtain the system management mode code, that is, the system management mode handler (SMM handler), when initializing the system management mode. In the related art, the system management mode handler is usually stored in the local memory of each host. The local memory is directly connected to the host processor. When the system management mode code stored by multiple hosts is the same, the entire multi-host system will need to be configured with more memory resources to store the same code, which causes a waste of system memory resources. The waste of memory resources is aggravated as the number of hosts increases.
[0046] In an embodiment of the present application, the system management mode code can be stored in a shared memory module for shared use by multiple hosts. In this case, the system management mode code does not need to be stored in the local memory of each host, but is obtained from the shared memory module.
[0047] The target shared memory module is a shared memory module for storing system management mode codes and includes multiple storage areas, any of which can be used as a system management random access memory (SMRAM).
[0048] The current host may send a system management mode initialization request to a switch in the multi-host system. The request is used to indicate that the current host will perform system management mode initialization and request to obtain a system management mode code.
[0049] After receiving the system management mode initialization request, the switch will parse the request and determine the target shared memory module storing the system management mode code and the system management random access area corresponding to the system management mode code in the target shared memory module among multiple shared memory modules in the multi-host system.
[0050] The location information of the target shared memory module and the location information of the system management random access area can be stored in the switch after creation, or stored in set locations in multiple shared memory modules and read by the switch or each host when starting.
[0051] After determining the locations of the target shared memory module and the system management random access area, the switch can establish a data connection between the current host and the target shared memory module, so that the current host can access the target shared memory module and obtain the system management mode code.
[0052] Step 130: Initialize the system management mode of the current host based on the system management mode code.
[0053] Specifically, the current host implements system management mode initialization according to the data connection established by the switch.
[0054] System Management Mode can only be entered through a System Management Interrupt (SMI).
[0055] System management mode initialization refers to setting the system management mode to an available state during the host startup process and preparing the corresponding resources and environment so that the system management mode can be entered for system management and processing when needed.
[0056] The system management mode initialization process usually includes:
[0057] When the host starts, the BIOS will detect and configure the SMM function, enable SMM by setting the corresponding registers and flags, and ensure that the processor can enter the SMM operating mode.
[0058] The system management mode code, which is the SMM program and processing logic, needs to be loaded into the system management random access area (also known as the SMM space). Its functions include system management, power management, temperature monitoring, etc. After the SMM code is loaded, the system can switch to SMM mode when needed.
[0059] SMM may need to access and control hardware devices in the system, such as clocks, power managers, temperature sensors, etc. During the SMM initialization process, these devices need to be configured and initialized to ensure that SMM can communicate and interact with them normally.
[0060] SMM needs to handle various hardware events and exceptions, such as clock interrupts, power events, system wake-up, etc. During the SMM initialization phase, interrupt and exception handling mechanisms need to be set up so that these events can be properly responded to and handled when needed.
[0061] By completing the above initialization steps, SMM can be in a usable state and ready for subsequent system management tasks. Once the system enters SMM mode, SMM can independently perform corresponding system management functions without being affected by the normal operating system.
[0062] The code sharing method provided in the embodiment of the present application is applied to a multi-host system to determine whether the system management mode of the current host is enabled; a system management mode initialization request is sent to a switch in the multi-host system; the switch is used to determine, based on the system management mode initialization request, a target shared memory module for storing the system management mode code and a system management random access area corresponding to the system management mode code in the target shared memory module among multiple shared memory modules in the multi-host system, and establish a data connection between the current host and the target shared memory module; the system management mode initialization of the current host is implemented based on the system management mode code; since a shared memory module is set in the multi-host system, the system management mode code is stored in the shared memory module, so that each host can access and implement the system management mode initialization, and there is no need to store the same code in the local memory of each host, which saves memory resources in the multi-host system, avoids wasting memory resources, and improves the utilization rate of memory resources in the multi-host system. At the same time, the number and capacity of shared memory modules can be flexibly configured according to the needs of the multi-host system, reducing the hardware configuration cost of the multi-host system.
[0063] It should be noted that each implementation method of the present application can be freely combined, the order can be changed, or it can be executed separately, and does not need to rely on or depend on a fixed execution order.
[0064] In some embodiments, initializing the system management mode of the current host based on the system management mode code includes:
[0065] Obtain the initialization detection result of the system management random access area;
[0066] When the initialization detection result is that the system has been initialized, the system management mode code is read from the system management random access area;
[0067] Verify the system management mode code;
[0068] If the verification result of the system management mode code is passed, the system management mode code is loaded to initialize the system management mode of the current host.
[0069] Specifically, the host can obtain the initialization detection result of the system management random access area. The purpose of the system management random access area initialization is to set the system management random access area to a usable state so that the host can correctly read and write data.
[0070] If the initialization test result is initialized, it means that the host can correctly read and write data in the system management random access area. The host can read and verify the system management mode code.
[0071] Verifying the system management mode code involves verifying and checking the code loaded into the system management random access area (SMRA) to ensure its integrity and security. During system startup, the system management mode code is loaded into the SMRA. This code implements system management functions such as power management and temperature monitoring. Because SMRA code has privileged access rights, its security is paramount. Verifying the system management mode code can help prevent the execution of malicious code and other security threats. Verification can include integrity, security, and credibility checks.
[0072] When the verification result of the system management mode code is passed, the system management mode code is loaded again, thereby initializing the system management mode of the current host.
[0073] The code sharing method provided in the embodiment of the present application obtains the initialization detection result of the system management random access area and verifies the system management mode code, thereby improving the security of the host operation.
[0074] In some embodiments, after obtaining the initialization detection result of the system management random access area, the method further includes:
[0075] When the initialization detection result is uninitialized, the system management random access area is initialized;
[0076] Send system management random access area initialization information to each host that is started before the current host in the order of startup.
[0077] Specifically, in a multi-host system, multiple hosts may access the system management random access area in the target shared memory module in a startup order. Before the current host accesses the system management random access area, the system management random access area may not be initialized or may be initialized unsuccessfully.
[0078] When the initialization detection result is uninitialized, it means that the current host cannot correctly read and write data in the system management random access area.
[0079] The current host can initialize the system management random access area, including: clearing existing data content to prevent old data from interfering with the system management mode code; setting up a memory mapping table so that the host can correctly access and manage the system management random access area; initializing the memory controller to ensure its normal operation and communication with other system components; and performing self-tests on the memory module to detect and correct possible hardware errors or failures.
[0080] After initializing the system management random access area, the current host may generate system management random access area initialization information, which may be used to prompt that the system management random access area has completed initialization.
[0081] The current host may send system management random access area initialization information to each host that is started before the current host, so as to prompt each host to initialize the system management mode according to the initialized system management random access area.
[0082] The code sharing method provided in this embodiment initializes the system management random access area when the initialization detection result of the current host is not initialized, and sends system management random access area initialization information to each host that is started before the current host in the order, so that each host in the multi-host system can realize the initialization of the system management mode, thereby improving the utilization rate of memory resources in the multi-host system and improving the success rate of the initialization of the system management mode of each host.
[0083] In some embodiments, the method further comprises:
[0084] sending a system management mode code storage request to the switch; the switch is configured to establish a data connection between the current host and the target shared memory module based on the system management mode code storage request;
[0085] Initialize the system management random access area in the target shared memory module and transfer the system management mode code from the memory module of the current host to the system management random access area.
[0086] Specifically, when a multi-host system is started, the current host may be the first host in the system, and therefore the system management random access area needs to be initialized.
[0087] During the startup phase, the host can send a system management mode code storage request to the switch. The request is used to initialize the system management random access area in the shared memory module and store the system management mode code.
[0088] The switch can determine a target shared memory module among multiple shared memory modules according to the system management mode code storage request, and establish a data connection between the current host and the target shared memory module.
[0089] When determining a target shared memory module from multiple shared memory modules, the switch can determine the target shared memory module based on the read / write performance, read / write priority, and storage capacity of each shared memory module. For example, the switch can evaluate the read / write performance of each shared memory module based on storage capacity and read / write speed, sort the shared memory modules in descending order based on the read / write performance evaluation values, and determine the shared memory module at the head of the queue as the target shared memory module.
[0090] The current host initializes the system management random access area (SMRA) in the target shared memory module over the established data connection. After initialization, the system management mode code is transferred from the current host's SMRA to the SMRA. The current host's SMRA refers to the current host's local memory. Users can pre-store the SMRA code in the current host's SMRA.
[0091] The code sharing method provided in the embodiment of the present application allows the current host to serve as the first host to be started, initialize the system management random access area of the target shared memory module, and store the system management mode code, so that each host started subsequently can implement the initialization of the system management mode, thereby improving the utilization of memory resources in the multi-host system.
[0092] In some embodiments, the method further comprises:
[0093] Sending a system management mode code update request to the switch; the switch is used to establish a data connection between the current host and the target shared memory module based on the system management mode code update request;
[0094] The system management mode code in the system management random access area is updated based on the system management mode code in the memory module of the current host.
[0095] Specifically, in a multi-host system, the current host may serve as a code update host in the system, for updating the system management mode code in the system management random access area.
[0096] The current host can send a system management mode code update request to the switch. After the switch parses the received code update request, it establishes a data connection between the current host and the target shared memory module.
[0097] The current host can obtain the first version information corresponding to the system management mode code in the system management random access area and determine the second version information corresponding to the system management mode code in the memory module of the current host. Based on the comparison result of the first version information and the second version information, it is determined whether to update the system management mode code in the system management random access area. For example, if the version number in the first version information is less than the version number in the second version information, it is determined that the system management mode code in the target shared memory module needs to be updated. The system management mode code in the memory module of the current host is copied to the target shared memory module, overwriting the system management mode code in the system management random access area, and completing the update.
[0098] The code sharing method provided in the embodiment of the present application can be used by the current host to update the system management mode code in the target shared memory module. After the update, it can be used by other hosts in the multi-host system, thereby improving the update efficiency of the system management mode code and improving the utilization of memory resources in the multi-host system.
[0099] In some embodiments, at least two hosts in a multi-host system use the same system management mode code.
[0100] Specifically, in a multi-host system, at least two hosts use the same system management mode code, so the system management mode code can be stored in a shared memory module for the hosts using the same code to complete the initialization of the system management mode.
[0101] Hosts in a multi-host system can be grouped. Hosts in different groups use different system management mode codes, while hosts in the same group use the same system management mode code. Multiple shared memory modules can be selected based on the number of groups, or multiple system management random access areas can be established in the same shared memory module, so that hosts in each group have corresponding system management random access areas in the shared memory module.
[0102] The code sharing method provided in the embodiment of the present application can group hosts according to the use of system management mode codes by the hosts, and establish corresponding system management random access areas in the shared memory module, so that each host can complete system management mode initialization according to the shared code in the system management random access area, thereby improving the utilization of memory resources in the multi-host system.
[0103] FIG2 is a second flowchart of the code sharing method provided by the present application. As shown in FIG2 , the method includes step 210 and step 220 .
[0104] Step 210: In response to a system management mode initialization request sent by the current host in the multi-host system, determine a target shared memory module storing the system management mode code and a system management random access area corresponding to the system management mode code in the target shared memory module.
[0105] Step 220 : Establish a data connection between the current host and the target shared memory module, so that the current host can implement system management mode initialization based on the system management mode code.
[0106] Specifically, the execution subject of the method provided in the embodiment of the present application is a code sharing device in a host. The device can be implemented by software, such as a code sharing program running in a switch, or it can be a device that executes the code sharing method, such as a switch.
[0107] The current host needs to obtain the system management mode code to initialize the system management mode. In related technologies, the system management mode handler is typically stored in each host's local memory. This local memory is directly connected to the host's processor. If multiple hosts store the same system management mode code, the entire multi-host system will require a large amount of memory resources to store the same code. This wastes system memory resources, and this waste increases with the number of hosts.
[0108] In an embodiment of the present application, the system management mode code can be stored in a shared memory module for shared use by multiple hosts. In this case, the system management mode code does not need to be stored in the local memory of each host, but is obtained from the shared memory module.
[0109] The target shared memory module is a shared memory module for storing system management mode codes and includes a plurality of storage areas, wherein any storage area can be used as a system management random access area.
[0110] The current host may send a system management mode initialization request to a switch in the multi-host system. The request is used to indicate that the current host will perform system management mode initialization and request to obtain a system management mode code.
[0111] After receiving the system management mode initialization request, the switch will respond to the initialization request by parsing the request, determining the target shared memory module storing the system management mode code and the system management random access area corresponding to the system management mode code in the target shared memory module among the multiple shared memory modules in the multi-host system.
[0112] The location information of the target shared memory module and the location information of the system management random access area may be stored in the switch after being created.
[0113] After determining the locations of the target shared memory module and the system management random access area, the switch can establish a data connection between the current host and the target shared memory module, so that the current host can access the target shared memory module and obtain the system management mode code.
[0114] The code sharing method provided in the embodiment of the present application is applied to a switch in a multi-host system, and in response to a system management mode initialization request sent by the current host in the multi-host system, determines a target shared memory module for storing the system management mode code and a system management random access area corresponding to the system management mode code in the target shared memory module among multiple shared memory modules; establishes a data connection between the current host and the target shared memory module, so that the current host implements system management mode initialization based on the system management mode code; since a shared memory module is set up in the multi-host system, the system management mode code is stored in the shared memory module, so that each host can access and implement system management mode initialization, and there is no need to store the same code in the local memory of each host, thereby saving memory resources in the multi-host system, avoiding waste of memory resources, and improving the utilization rate of memory resources in the multi-host system. At the same time, the number and capacity of the shared memory modules can be flexibly configured according to the needs of the multi-host system, reducing the hardware configuration cost of the multi-host system.
[0115] In some embodiments, the method further comprises:
[0116] In response to a system management mode code storage request sent by a current host in a multi-host system, determining a target shared memory module among a plurality of shared memory modules;
[0117] A data connection is established between the current host and the target shared memory module, so that the current host initializes a system management random access area corresponding to the system management mode code in the target shared memory module and stores the system management mode code in the system management random access area.
[0118] Specifically, when a multi-host system is started, the current host may be the first host started in the system, so the system management random access area needs to be initialized.
[0119] During startup, the host can send a system management mode code storage request to the switch. This request initializes the system management random access area in the shared memory module and stores the system management mode code. Based on the system management mode code storage request, the switch can identify the target shared memory module from among multiple shared memory modules and establish a data connection between the host and the target shared memory module.
[0120] The switch can determine the target shared memory module based on its read / write performance, read / write priority, and storage capacity. For example, the switch can evaluate the read / write performance of each shared memory module based on storage capacity and read / write speed, sort the shared memory modules in descending order based on their read / write performance evaluations, and determine the shared memory module at the head of the queue as the target shared memory module.
[0121] The current host initializes the system management random access area (SMRA) in the target shared memory module through the established data connection. After initialization, the current host transfers the system management mode code from the current host's SMRA to the SMRA. The current host's SMRA refers to the current host's local memory.
[0122] The code sharing method provided in the embodiment of the present application allows the switch to determine a target shared memory module among multiple shared memory modules, so that the current host can initialize the system management random access area of the target shared memory module and store the system management mode code, so that each host started subsequently can realize the initialization of the system management mode, thereby improving the utilization of memory resources in the multi-host system.
[0123] In some embodiments, after establishing the data connection between the current host and the target shared memory module, the method further includes:
[0124] Storing location information of a target shared memory module in the plurality of shared memory modules and location information of a system management random access area in the target shared memory module;
[0125] Alternatively, the location information of the target shared memory module in the multiple shared memory modules and the location information of the system management random access area in the target shared memory module are stored in preset locations in the multiple shared memory modules.
[0126] Specifically, after establishing a data connection between the current host and the target shared memory module, the switch needs to store the location information of the target shared memory module in multiple shared memory modules and the location information of the system management random access area in the target shared memory module, so that when the subsequent host of the current host initializes the system management mode, it can quickly determine the storage location of the system management mode code.
[0127] On the one hand, the location information of the target shared memory module among the multiple shared memory modules and the location information of the system management random access area within the target shared memory module can be stored in the switch. After receiving a system management mode initialization request or a system management mode code update request, the switch can quickly determine the storage location of the system management mode code based on the stored location information. On the other hand, the location information of the target shared memory module among the multiple shared memory modules and the location information of the system management random access area within the target shared memory module can be stored at a preset location within the multiple shared memory modules. For example, any shared memory module among the multiple shared memory modules and any random access area within the shared memory module can be designated as the preset location. The preset location is specifically used to store the location information of the target shared memory module among the multiple shared memory modules and the location information of the system management random access area within the target shared memory module.
[0128] The code sharing method provided in the embodiment of the present application can store the location information of the target shared memory module in multiple shared memory modules and the location information of the system management random access area in the target shared memory module in a preset location in the switch or multiple shared memory modules, so that the switch can quickly and accurately determine the storage location of the system management mode code, thereby improving the search efficiency of the system management mode code.
[0129] In some embodiments, the method further comprises:
[0130] In response to a system management mode code update request sent by a current host in a multi-host system, determining a target shared memory module among a plurality of shared memory modules;
[0131] A data connection is established between the current host and the target shared memory module, so that the current host updates the system management mode code in the system management random access area based on the system management mode code in the memory module of the current host.
[0132] Specifically, the current host may serve as a code update host in the system, and is configured to update the system management mode code in the system management random access area.
[0133] The current host can send a system management mode code update request to the switch. The switch responds to the received code update request, parses it, and then establishes a data connection between the current host and the target shared memory module.
[0134] The current host can obtain first version information corresponding to the system management mode code in the system management random access area, determine second version information corresponding to the system management mode code in the memory module of the current host, and determine whether to update the system management mode code in the system management random access area based on a comparison result of the first version information and the second version information.
[0135] In the code sharing method provided in the embodiment of the present application, the switch establishes a data connection between the current host and the target shared memory module in response to the request of the current host, so that the current host can be used to update the system management mode code in the target shared memory module, thereby improving the update efficiency of the system management mode code and improving the utilization of memory resources in the multi-host system.
[0136] FIG3 is a system architecture diagram of a multi-host system provided by this application. As shown in FIG3 , the multi-host system includes multiple service hosts 310 (equivalent to the hosts in the aforementioned embodiment), a CXL switch 320 (equivalent to the switch in the aforementioned embodiment), and multiple CXL memories 330 (equivalent to the shared memory modules in the aforementioned embodiment). The service hosts, CXL switches, and CXL memories can be connected via a high-speed interconnect protocol (Compute Express Link, CXL).
[0137] The CXL switch can set the connection relationship between the service host and the CXL memory, thereby controlling the CXL memory that each service host can access.
[0138] Multiple CXL memories form a memory pool. You can select one of these CXL memories as the target CXL memory and create a system management random access area (SMRA) to store the system management mode code. A service host initializes the SMRA, and other service hosts can share the SMRA and SM mode code.
[0139] FIG4 is a flow chart of the multi-host code sharing method provided by the present application. As shown in FIG4 , the method includes step 410 , step 420 , step 430 , step 440 , step 450 , and step 460 .
[0140] To facilitate description of the method, multiple service hosts may be numbered from 1 to N, where N is a natural number.
[0141] Step 410: The first service host is selected and the BIOS initializes the SMM during the startup phase. The storage location of the SMRAM is transferred from the ordinary memory (local memory) of the service host to the specific CXL memory (target CXL memory) in the CXL memory pool.
[0142] Step 420: During the startup phase, the BIOS of the Nth service host receives user settings to obtain the SMM mode enable or disable settings. If enabled, the process proceeds to step 430; otherwise, the process proceeds to step 460.
[0143] Step 430: During the startup phase, the BIOS of the Nth service host reads a specific CXL memory in the CXL memory pool to obtain information about the initialized SMRAM and determines whether the SMRAM area has been successfully initialized. If so, the process proceeds to step 440; otherwise, the process proceeds to step 450.
[0144] Step 440: The Nth service host uses the SMRAM area to complete the initialization of the SMM mode;
[0145] Step 450: The Nth service host reinitializes the SMRAM area and notifies the previous service host that the SMRAM area is available.
[0146] Step 460, N=N+1, the N+1th service host starts initializing the SMM mode.
[0147] In the embodiments of the present application, SMRAM is transferred from local memory to a CXL memory module, changing the storage location of the SMRAM area in a multi-service host system. This, in turn, changes how multiple service hosts access the SMM code. By leveraging the fact that multiple service hosts can access the CXL memory module through the CXL switch, once one service host initializes the SMRAM, all other service hosts can use it. This allows the SMM code in the SMRAM to be shared among multiple service hosts, avoiding the traditional practice of storing a copy of the SMM code in the local memory of each service host, which wastes memory resources and significantly improves memory utilization. Furthermore, when the SMM code needs to be updated, only one service host needs to update its BIOS, reboot, and store the new SMM code in the SMRAM area of the CXL memory module. This allows other service hosts to see the updated SMM code, significantly improving the efficiency of SMM code updates.
[0148] The device provided in the embodiment of the present application is described below. The device described below and the method described above can be referenced to each other.
[0149] FIG5 is a schematic diagram of the structure of a code sharing device provided by the present application. As shown in FIG5 , the device is applied to a host in a multi-host system, including:
[0150] An enabling unit 510 is configured to enable the system management mode of the current host;
[0151] The request unit 520 is configured to send a system management mode initialization request to a switch in the multi-host system; the switch is configured to determine, based on the system management mode initialization request, a target shared memory module storing the system management mode code and a system management random access area corresponding to the system management mode code in the target shared memory module from among multiple shared memory modules in the multi-host system, and establish a data connection between the current host and the target shared memory module.
[0152] The initialization unit 530 is configured to initialize the system management mode of the current host based on the system management mode code.
[0153] The code sharing device provided in the embodiment of the present application is applied to the host in a multi-host system to determine whether the system management mode of the current host is enabled; send a system management mode initialization request to the switch in the multi-host system; the switch is used to determine the target shared memory module for storing the system management mode code and the system management random access area corresponding to the system management mode code in the target shared memory module among multiple shared memory modules in the multi-host system based on the system management mode initialization request, and establish a data connection between the current host and the target shared memory module; implement the system management mode initialization of the current host based on the system management mode code; since a shared memory module is set in the multi-host system, the system management mode code is stored in the shared memory module, so that each host can access and implement the system management mode initialization, and there is no need to store the same code in the local memory of each host, which saves memory resources in the multi-host system, avoids wasting memory resources, and improves the utilization rate of memory resources in the multi-host system. At the same time, the number and capacity of shared memory modules can be flexibly configured according to the needs of the multi-host system, reducing the hardware configuration cost of the multi-host system.
[0154] In some embodiments, the initialization unit is configured to:
[0155] Obtain the initialization detection result of the system management random access area;
[0156] When the initialization detection result is that the system has been initialized, the system management mode code is read from the system management random access area;
[0157] Verify the system management mode code;
[0158] If the verification result of the system management mode code is passed, the system management mode code is loaded to initialize the system management mode of the current host.
[0159] In some embodiments, the initialization unit is further configured to:
[0160] When the initialization detection result is uninitialized, the system management random access area is initialized;
[0161] Send system management random access area initialization information to each host that is started before the current host in the order of startup.
[0162] In some embodiments, the device is further configured to:
[0163] sending a system management mode code storage request to the switch; the switch is configured to establish a data connection between the current host and the target shared memory module based on the system management mode code storage request;
[0164] Initialize the system management random access area in the target shared memory module and transfer the system management mode code from the memory module of the current host to the system management random access area.
[0165] In some embodiments, the device is further configured to:
[0166] Sending a system management mode code update request to the switch; the switch is used to establish a data connection between the current host and the target shared memory module based on the system management mode code update request;
[0167] The system management mode code in the system management random access area is updated based on the system management mode code in the memory module of the current host.
[0168] In some embodiments, at least two hosts in a multi-host system use the same system management mode code.
[0169] FIG6 is a second schematic diagram of the structure of the code sharing device provided by the present application. As shown in FIG6 , the code sharing device 600 is applied to a switch in a multi-host system, including:
[0170] a response unit 610 configured to determine, in response to a system management mode initialization request sent by a current host in a multi-host system, a target shared memory module storing a system management mode code and a system management random access area corresponding to the system management mode code in the target shared memory module from among the multiple shared memory modules;
[0171] The connection unit 620 is configured to establish a data connection between the current host and the target shared memory module, so that the current host can implement system management mode initialization based on the system management mode code.
[0172] The code sharing device provided in the embodiment of the present application is applied to a switch in a multi-host system. In response to a system management mode initialization request sent by the current host in the multi-host system, the device determines a target shared memory module for storing the system management mode code and a system management random access area corresponding to the system management mode code in the target shared memory module among multiple shared memory modules; establishes a data connection between the current host and the target shared memory module so that the current host implements system management mode initialization based on the system management mode code; since a shared memory module is set up in the multi-host system, the system management mode code is stored in the shared memory module, so that each host can access and implement system management mode initialization, and there is no need to store the same code in the local memory of each host, thereby saving memory resources in the multi-host system, avoiding waste of memory resources, and improving the utilization rate of memory resources in the multi-host system. At the same time, the number and capacity of the shared memory modules can be flexibly configured according to the needs of the multi-host system, thereby reducing the hardware configuration cost of the multi-host system.
[0173] In some embodiments, the device is further configured to:
[0174] In response to a system management mode code storage request sent by a current host in a multi-host system, determining a target shared memory module among a plurality of shared memory modules;
[0175] A data connection is established between the current host and the target shared memory module, so that the current host initializes a system management random access area corresponding to the system management mode code in the target shared memory module and stores the system management mode code in the system management random access area.
[0176] In some embodiments, the device is further configured to:
[0177] Storing location information of a target shared memory module in the plurality of shared memory modules and location information of a system management random access area in the target shared memory module;
[0178] Alternatively, the location information of the target shared memory module in the multiple shared memory modules and the location information of the system management random access area in the target shared memory module are stored in preset locations in the multiple shared memory modules.
[0179] In some embodiments, the device is further configured to:
[0180] In response to a system management mode code update request sent by a current host in a multi-host system, determining a target shared memory module among a plurality of shared memory modules;
[0181] A data connection is established between the current host and the target shared memory module, so that the current host updates the system management mode code in the system management random access area based on the system management mode code in the memory module of the current host.
[0182] FIG7 is a schematic structural diagram of a switch provided in the present application. As shown in FIG7 , the switch 700 includes a code sharing device 600 .
[0183] The switch provided in the embodiment of the present application is applied to a multi-host system. Since it includes the code sharing device in the above-mentioned embodiment, each host can access and implement system management mode initialization. There is no need to store the same code in the local memory of each host, which saves memory resources in the multi-host system, avoids wasting memory resources, and improves the utilization rate of memory resources in the multi-host system. At the same time, the number and capacity of shared memory modules can be flexibly configured according to the needs of the multi-host system, reducing the hardware configuration cost of the multi-host system.
[0184] In some embodiments, further comprising a control unit, a plurality of uplink ports and a plurality of downlink ports;
[0185] Multiple uplink ports are connected to multiple hosts in a one-to-one correspondence;
[0186] The multiple downstream ports are connected to the multiple shared memory modules in a one-to-one correspondence;
[0187] The control unit is connected to the multiple uplink ports and the multiple downlink ports, and is used to establish data connections between each host and each shared memory module.
[0188] Specifically, the switch may include a control unit, and a plurality of uplink ports and a plurality of downlink ports connected to the control unit.
[0189] The upstream ports are used to establish a one-to-one connection with the host, and the downstream ports are used to establish a one-to-one connection with the shared memory module. The control unit is mainly used to respond to requests from each host and establish data connections between each host and each shared memory module.
[0190] The switch provided in the embodiment of the present application establishes a data connection between the host and the shared memory module by connecting the uplink port and the downlink port, so that each host can access a different shared memory module as needed, saving memory resources in the multi-host system, avoiding waste of memory resources, and improving the utilization of memory resources in the multi-host system. At the same time, the number and capacity of the shared memory modules can be flexibly configured according to the needs of the multi-host system, reducing the hardware configuration cost of the multi-host system.
[0191] In some embodiments, the control unit is further configured to:
[0192] Determine the read and write performance evaluation values of each shared memory module;
[0193] A target shared memory module is determined from among the multiple shared memory modules based on the read and write performance evaluation values of the respective shared memory modules.
[0194] Specifically, the read / write performance evaluation value is used to evaluate the read / write performance of the shared memory module. The higher the read / write performance evaluation value, the better the read / write performance of the shared memory module.
[0195] When determining a target shared memory module from multiple shared memory modules, the switch can determine the target shared memory module based on the read / write performance, read / write priority, and storage capacity of each shared memory module. For example, the switch can evaluate the read / write performance of each shared memory module based on storage capacity and read / write speed, sort the shared memory modules in descending order based on the read / write performance evaluation values, and determine the shared memory module at the head of the queue as the target shared memory module.
[0196] The switch provided by the embodiment of the present application determines the target shared memory module according to the read and write performance evaluation values of each shared memory module, thereby improving the read and write efficiency of the system management code.
[0197] In some embodiments, the control unit supports a computing high-speed interconnect protocol.
[0198] Specifically, Compute Express Link (CXL) is a high-speed interconnection protocol that combines the characteristics of memory and device interconnection. It can be used to connect processors, accelerators, storage devices and other external devices to achieve efficient data transmission and sharing. It aims to provide high-performance and low-latency communication between various components within the computer system.
[0199] The switch provided in the embodiment of the present application has a control unit that supports computing high-speed interconnection protocols, so that the host and the shared memory module can communicate with high performance and low latency.
[0200] FIG8 is a schematic structural diagram of a multi-host system provided in the present application. As shown in FIG8 , the system includes a switch 700 , multiple hosts 810 , and multiple shared memory modules 820 ; the switch is connected to the multiple hosts and the multiple shared memory modules respectively.
[0201] The host is used to execute the code sharing method applied to the host side in the multi-host system in the above embodiment; the switch is used to execute the code sharing method applied to the switch side in the multi-host system in the above embodiment.
[0202] The multi-host system provided by the embodiment of the present application has a shared memory module, and the system management mode code is stored in the shared memory module, so that each host can access and implement system management mode initialization. There is no need to store the same code in the local memory of each host, which saves memory resources in the multi-host system, avoids waste of memory resources, and improves the utilization rate of memory resources in the multi-host system. At the same time, the number and capacity of the shared memory modules can be flexibly configured according to the needs of the multi-host system, reducing the hardware configuration cost of the multi-host system.
[0203] In some embodiments, the switch is respectively connected to the plurality of hosts and the plurality of shared memory modules based on a computing high-speed interconnection protocol.
[0204] In the multi-host system provided by the embodiment of the present application, the host, switch and shared memory module are connected through a computing high-speed interconnection protocol, which can achieve high-performance and low-latency communication and improve the reading and writing efficiency of shared code.
[0205] FIG9 is a schematic diagram of the structure of an electronic device provided by the present application. As shown in FIG9 , the electronic device may include: a processor (Processor) 910, a communication interface (Communications Interface) 920, a memory (Memory) 930, and a communication bus (Communications Bus) 940. The processor 910, the communication interface 920, and the memory 930 communicate with each other via the communication bus 940. The processor 910 may call the logic commands in the memory 930 to execute the method described in the above embodiments, for example:
[0206] Determining whether to enable the system management mode of the current host; sending a system management mode initialization request to a switch in the multi-host system; the switch is used to determine, based on the system management mode initialization request, a target shared memory module storing the system management mode code and a system management random access area corresponding to the system management mode code in the target shared memory module among multiple shared memory modules in the multi-host system, and establish a data connection between the current host and the target shared memory module; initializing the system management mode of the current host based on the system management mode code;
[0207] Alternatively, in response to a system management mode initialization request sent by a current host in a multi-host system, a target shared memory module storing a system management mode code and a system management random access area corresponding to the system management mode code in the target shared memory module are determined among multiple shared memory modules; a data connection is established between the current host and the target shared memory module so that the current host implements system management mode initialization based on the system management mode code.
[0208] In addition, the logical commands in the above-mentioned memory can be implemented in the form of software functional units and can be stored in a computer-readable storage medium when sold or used as an independent product. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product, which is stored in a storage medium and includes several commands to enable a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the method described in one or more embodiments of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0209] The processor in the electronic device provided in the embodiment of the present application can call the logic instructions in the memory to implement the above method. Its specific implementation method is consistent with the implementation method of the aforementioned method and can achieve the same beneficial effects, which will not be repeated here.
[0210] 10 , an embodiment of the present application further provides a non-transitory computer-readable storage medium having computer-readable instructions stored thereon. When the computer-readable instructions are executed by a processor, the methods provided in the above embodiments are implemented.
[0211] Its specific implementation is consistent with the aforementioned method implementation and can achieve the same beneficial effects, so it will not be repeated here.
[0212] An embodiment of the present application also provides a computer program product, including computer-readable instructions, which implement the above method when executed by a processor.
[0213] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, i.e., they may be located in one location or distributed across multiple network units. Some or all of the modules may be selected based on actual needs to achieve the objectives of the present embodiment. Persons of ordinary skill in the art will be able to understand and implement the present invention without inventive effort.
[0214] Through the description of the above embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus a necessary general hardware platform, or of course, by means of hardware. Based on this understanding, the essence of the above technical solution or the part that contributes to the prior art can be embodied in the form of a software product. The computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a magnetic disk, an optical disk, etc., and includes a number of instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in one or more embodiments or certain parts of the embodiments.
[0215] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application.
Claims
1. A code sharing method, characterized in that: Applied to a host in a multi-host system, the method comprises: Determine whether to enable the system management mode of the current host; sending a system management mode initialization request to a switch in the multi-host system; the switch being configured to determine, based on the system management mode initialization request, a target shared memory module storing a system management mode code from among a plurality of shared memory modules in the multi-host system, and a system management random access area corresponding to the system management mode code in the target shared memory module, and establishing a data connection between the current host and the target shared memory module; and Initializing the system management mode of the current host is implemented based on the system management mode code.
2. The code sharing method according to claim 1, wherein: The initializing the system management mode of the current host based on the system management mode code includes: Obtaining an initialization detection result of the system management random access area; If the initialization detection result is that the system has been initialized, reading the system management mode code from the system management random access area; verifying the system management mode code; and If the verification result of the system management mode code is passed, the system management mode code is loaded to implement the system management mode initialization of the current host.
3. The code sharing method according to claim 2, wherein: After obtaining the initialization detection result of the system management random access area, the method further includes: In a case where the initialization detection result is uninitialized, initializing the system management random access area; and System management random access area initialization information is sent to each host whose boot sequence is before the current host.
4. The code sharing method according to claim 1, wherein: The method further comprises: Sending a system management mode code storage request to the switch; the switch is configured to establish a data connection between the current host and the target shared memory module based on the system management mode code storage request; and Initializing a system management random access area in the target shared memory module, and transferring the system management mode code from the memory module of the current host to the system management random access area.
5. The code sharing method according to claim 1, wherein: The method further comprises: Sending a system management mode code update request to the switch; the switch is configured to establish a data connection between the current host and the target shared memory module based on the system management mode code update request; and The system management mode code in the system management random access area is updated based on the system management mode code in the memory module of the current host.
6. The code sharing method according to any one of claims 1 to 5, characterized in that: In the multi-host system, at least two hosts use the same system management mode code.
7. A code sharing method, characterized in that: Applied to a switch in a multi-host system, the method comprises: In response to a system management mode initialization request sent by the current host in the multi-host system, a target shared memory module storing a system management mode code is determined among a plurality of shared memory modules, and the system management mode code is initialized in the target shared memory module. a corresponding system management random access area; and A data connection is established between the current host and the target shared memory module, so that the current host implements system management mode initialization based on the system management mode code.
8. The code sharing method according to claim 7, characterized in that: The method further comprises: In response to a system management mode code storage request sent by a current host in the multi-host system, determining the target shared memory module among the plurality of shared memory modules; and A data connection is established between the current host and the target shared memory module, so that the current host initializes a system management random access area corresponding to the system management mode code in the target shared memory module and stores the system management mode code in the system management random access area.
9. The code sharing method according to claim 8, characterized in that: After establishing the data connection between the current host and the target shared memory module, the method further includes: Storing the location information of the target shared memory module in the multiple shared memory modules and the location information of the system management random access area in the target shared memory module; Alternatively, the location information of the target shared memory module in the multiple shared memory modules and the location information of the system management random access area in the target shared memory module are stored in preset locations in the multiple shared memory modules.
10. The code sharing method according to claim 7, wherein: The method further comprises: In response to a system management mode code update request sent by a current host in the multi-host system, determining the target shared memory module among the plurality of shared memory modules; and A data connection is established between the current host and the target shared memory module, so that the current host updates the system management mode code in the system management random access area based on the system management mode code in the memory module of the current host.
11. A code sharing device, characterized in that: Applicable to hosts in a multi-host system, including: An enabling unit, used to determine whether to enable the system management mode of the current host; a request unit, configured to send a system management mode initialization request to a switch in the multi-host system; the switch being configured to determine, based on the system management mode initialization request, a target shared memory module storing a system management mode code from among a plurality of shared memory modules in the multi-host system, and a system management random access area corresponding to the system management mode code in the target shared memory module, and establish a data connection between the current host and the target shared memory module; and An initialization unit is configured to initialize the system management mode of the current host based on the system management mode code.
12. A code sharing device, characterized in that: Switches used in multi-host systems include: a responding unit, configured to determine, in response to a system management mode initialization request sent by a current host in the multi-host system, a target shared memory module storing a system management mode code from among a plurality of shared memory modules, and a system management random access area corresponding to the system management mode code in the target shared memory module; and A connection unit is configured to establish a data connection between the current host and the target shared memory module, so that the current host can implement system management mode initialization based on the system management mode code.
13. A switch, characterized in that: The method comprises the code sharing device according to claim 12.
14. The switch according to claim 13, wherein: Also includes a control unit, a plurality of uplink ports and a plurality of downlink ports; The multiple uplink ports are connected to the multiple hosts in a one-to-one correspondence; The multiple downlink ports are connected to the multiple shared memory modules in a one-to-one correspondence; as well as The control unit is connected to the multiple uplink ports and the multiple downlink ports, and is used to establish a data connection between each host and each shared memory module.
15. The switch according to claim 14, wherein: The control unit is further configured to: Determining read and write performance estimates for each shared memory module; and Based on the read and write performance evaluation values of the respective shared memory modules, a target shared memory module is determined among the multiple shared memory modules.
16. The switch according to claim 15, wherein: The control unit supports computing high-speed interconnect protocols.
17. A multi-host system, characterized in that: The system comprises a switch, a plurality of hosts and a plurality of shared memory modules; the switch is connected to the plurality of hosts and the plurality of shared memory modules respectively; The host is configured to execute the code sharing method according to any one of claims 1 to 6; and The switch is configured to execute the code sharing method according to any one of claims 7 to 10.
18. The multi-host system according to claim 17, wherein: The switch is respectively connected to the multiple hosts and the multiple shared memory modules based on a computing high-speed interconnection protocol.
19. An electronic device comprising a memory, a processor, and computer-readable instructions stored in the memory and executable on the processor, wherein: When the processor executes the program, the code sharing method according to any one of claims 1 to 10 is implemented.
20. A non-transitory computer-readable storage medium having computer-readable instructions stored thereon, characterized in that: When the computer-readable instructions are executed by a processor, the code sharing method according to any one of claims 1 to 10 is implemented.
Citation Information
Patent Citations
Data access system, internal memory share device and data reading method
CN103152394A
Server cluster system
CN105100179A
Communication method and communication system for in-band CPU (central processing unit) and out-of-band management BMC (baseboard management controller)
CN116225541A
Code sharing method and device, switch, multi-host system, equipment and medium
CN117667465A
Basic input / output system updates
US20200159929A1