Storage interface device automatic configuration method and device, equipment and medium
By automating the scanning and configuration of CXL memory device identification information and operating modes in the server cluster, the problem of low efficiency in CXL memory BIOS option configuration is solved, achieving efficient and accurate BIOS configuration and improving the overall performance and stability of the server cluster.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- INSPUR SUZHOU INTELLIGENT TECH CO LTD
- Filing Date
- 2024-12-30
- Publication Date
- 2026-05-01
AI Technical Summary
The BIOS options for CXL memory are inefficient to configure and have a high rate of human error, resulting in low server configuration efficiency and poor stability.
By automating the scanning of storage interface devices in the server cluster, generating identification information, determining the operating mode, and selecting BIOS configuration items based on the operating mode, an automated configuration process is achieved. This includes multi-threaded parallel processing and message queue management, ensuring the accuracy and consistency of the configuration.
It improves the configuration efficiency of storage interface devices, reduces the human error rate, ensures the accuracy and completeness of configuration, simplifies configuration complexity, and improves the working efficiency and stability of server clusters.
Smart Images

Figure CN119883390B_ABST
Abstract
Description
Automatic configuration methods, apparatus, equipment and media for storage interface devices Technical Field
[0001] This invention relates to the field of computer technology, and more specifically to a method, apparatus, device, and medium for automatic configuration of storage interface devices. Background Technology
[0002] With the continuous development of science and technology, new technologies are constantly emerging in the memory industry, and CXL (Compute ExpressLink) memory has also come into being. CXL memory usually refers to memory technology implemented through the CXL interface. CXL is a high-speed interconnect protocol designed to improve the interconnect efficiency between processors, memory buffers, and accelerators.
[0003] CXL memory is widely used in high-performance servers. CXL memory configuration requires configuring its own mode according to business needs. The server's Basic Input / Output System (BIOS) sets corresponding options according to different CXL memory modes. Currently, most server manufacturers use manual configuration methods to complete the BIOS options configuration of CXL memory, which is extremely inefficient and has a high rate of human error. Summary of the Invention
[0004] In view of this, the present invention provides an automatic configuration method, apparatus, device and medium for storage interface devices to solve the problems of low configuration efficiency and high human error rate of BIOS options for CXL memory.
[0005] In a first aspect, the present invention provides an automatic configuration method for storage interface devices, which is applied to servers in a server cluster, each server being configured with multiple storage interface devices. The method is executed by each server in the server cluster, comprising:
[0006] Scan the storage interface devices in the server, and when a storage interface device is detected, generate identification information corresponding to the storage interface device;
[0007] Based on the identification information corresponding to each storage interface device among the scanned storage devices, determine the working mode of the storage interface device;
[0008] Select the basic input / output system configuration item corresponding to each storage interface device based on its operating mode;
[0009] Configure the Basic Input / Output System settings on the server.
[0010] The automatic configuration method for storage interface devices provided by this invention has the following advantages:
[0011] A server cluster comprises multiple servers. Using the method described in this application, each server in the cluster can automatically perform BIOS configuration on its own storage interface devices in the manner described above. The entire process is automated, gradually replacing complex manual operations with a rapid, automated configuration process. This improves the configuration efficiency of storage interface devices, enabling them to quickly and accurately enter a working state, increasing work efficiency, ensuring the accuracy and completeness of the overall configuration, reducing configuration complexity, and lowering the human error rate. The effectiveness of this method is particularly evident in practical applications where a large number of storage interface devices require BIOS configuration.
[0012] In an optional implementation, the method further includes: upon first scanning a storage interface device, establishing a list of storage interface devices, wherein the list of storage interface devices is used to record attribute information of the storage interface devices, including identification information and operating mode of the storage interface devices.
[0013] Specifically, understanding the operating mode of each device helps the operating system and applications allocate resources more efficiently. Therefore, it's necessary to record the identification information and operating modes of storage interface devices in a storage interface device list. Furthermore, recording this information in the list allows objects to quickly query detailed information about the devices they need. Moreover, the list can easily add newly discovered storage interface devices, supporting system expansion. With the introduction of new devices or the updating of older devices, the list can promptly reflect these changes.
[0014] In one optional implementation, the server scans for storage interface devices. When a storage interface device is detected, identification information corresponding to the storage interface device is generated, specifically including:
[0015] Run at least one scanning thread to scan the storage interface device, and generate identification information corresponding to the storage interface device after any scanning thread scans the storage interface device.
[0016] Specifically, multi-threaded scanning allows for the simultaneous detection of multiple storage interface devices, significantly improving scanning speed and efficiency. Furthermore, multiple scanning threads can fully utilize server resources. Identification information is generated immediately upon detection of a storage interface device, ensuring real-time data transmission.
[0017] In one optional implementation, after scanning storage interface devices in the server and generating identification information corresponding to the storage interface device when a storage interface device is detected, the method further includes:
[0018] Add the identification information corresponding to each storage interface device to the first message queue, and update the list of pre-built storage interface devices with each identification information.
[0019] Specifically, the identification information is updated in a pre-built list, enabling the system to track device status in real time. All identification information for storage interface devices is centrally stored in this pre-built list, ensuring data consistency and accessibility. If a scanning thread or server fails, other threads can continue working, ensuring system reliability. Automated processes reduce manual intervention and lower maintenance costs. Adding the identification information for each storage interface device to a message queue decouples the current operation from subsequent operations. The current operation can proceed without waiting for subsequent operations to complete; simply adding the identification information to the message queue allows for immediate scanning of the next storage device, thereby improving efficiency.
[0020] In one optional implementation, the operating mode of the storage interface device is determined based on the identification information corresponding to each storage interface device among the scanned storage devices, specifically including:
[0021] Run at least one working mode extraction thread, and extract the identification information from the first message queue in sequence through each working mode extraction thread;
[0022] When the first working mode extraction thread extracts the first target identification information from the first message queue, it extracts the working mode of the first target storage interface device from the register corresponding to the first target storage interface device indicated by the first target identification information. The first target identification information is any identification information in the first message queue, and the first working mode extraction thread is any one of at least one working mode extraction thread.
[0023] Specifically, similar to the steps described above, multiple working mode extraction threads can work simultaneously, retrieving identification information from the first message queue and determining the working mode in parallel, thus accelerating processing. Parallel processing reduces the processing time of individual devices and decreases overall system latency. Each working mode extraction thread directly locates the corresponding storage interface device based on the identification information, ensuring the accuracy of the working mode information. The working mode extraction threads can quickly respond to new information in the first message queue, ensuring real-time updates of the storage interface device's working mode. Even if one working mode extraction thread fails, other threads can continue working without affecting the stability of the entire system. Each thread works independently, allowing for better error isolation and handling. Furthermore, the number of working mode extraction threads can be flexibly increased or decreased based on system load and working mode extraction requirements.
[0024] In an optional implementation, after extracting the operating mode of the first target storage interface device from the register corresponding to the first target storage interface device indicated by the first target identification information, the method further includes:
[0025] Add the identification information of the first target storage interface device to the second message queue;
[0026] In addition, update the operating mode of the first target storage interface device to the list of storage interface devices;
[0027] Establish a mapping relationship between the working mode of the first target storage interface device and the first target identification information in the storage interface device list.
[0028] Specifically, the operating mode is updated in the storage interface device list, ensuring the real-time nature and consistency of device status information. A second message queue decouples system components, making interaction between different components more flexible. Similar to the principles outlined above, for the overall configuration process, there's no need to wait for subsequent operations to complete before retrieving new identification information to determine the operating mode; instead, multiple operation steps operate independently and in parallel, improving both efficiency and flexibility. Furthermore, storing device information and operating modes centrally in the list facilitates unified management and maintenance. Through mapping relationships, the operating mode information of a specific device can be quickly retrieved, improving data retrieval efficiency.
[0029] In one optional implementation, based on the operating mode corresponding to each storage interface device, the basic input / output system configuration item corresponding to the storage interface device is selected, specifically including:
[0030] Run at least one Basic Input / Output System Configuration Item Setup thread, and extract identification information from the second message queue sequentially through each Basic Input / Output System Configuration Item Setup thread;
[0031] When the first basic input / output system configuration setting thread retrieves the second target identification information from the second message queue in sequence, it obtains the working mode corresponding to the second target storage interface device from the storage interface device list based on the second target identification information. Here, the second target identification information is any identification information in the second message queue, the second target storage interface device is the storage interface device indicated by the second target identification information, and the first basic input / output system configuration setting thread is any one of at least one basic input / output system configuration setting thread.
[0032] Select the basic input / output system configuration item corresponding to the second target storage interface device according to the working mode of the second target storage interface device.
[0033] Specifically, automatically retrieving identification information from the second message queue and selecting configuration items reduces the tedious process of manual configuration and improves the level of automation. Selecting configuration items based on the operating mode of the storage interface device ensures configuration accuracy and avoids system instability caused by manual configuration errors. The basic input / output system configuration item setting thread can respond instantly to new identification information in the message queue, quickly completing configuration settings. In the above method, selecting system configuration items based on the operating mode optimizes resource utilization and improves overall system efficiency. Accurate configuration reduces system failures and improves system stability. With the addition of new devices or changes in the operating mode of existing devices, the system can also automatically adjust its configuration, enhancing system scalability. The above methods simplify the complexity of system configuration and reduce the difficulty of object operations.
[0034] In one alternative implementation, the method further includes:
[0035] Once it is confirmed that all storage interface devices in the server have completed the corresponding Basic Input / Output System (BIOS) configuration settings, start the server, trigger the server's BIOS to enter working mode, and complete the operation.
[0036] Once the basic input / output system has completed its operation, the working mode corresponding to each storage interface device is extracted sequentially from the list of storage interface devices.
[0037] Based on the operating mode corresponding to each storage interface device, the basic input / output system configuration items corresponding to the storage interface device are determined.
[0038] Retrieve the basic input / output system configuration items of each storage interface device in the server;
[0039] The basic input / output system configuration items corresponding to the third storage interface device are compared with the basic input / output system configuration items actually configured in the server for the third storage interface device, and the comparison results are obtained. The third storage interface device can be any storage interface device.
[0040] When the specified basic input / output system configuration items for the third storage interface device differ from the actual basic input / output system configuration items for the third storage interface device in the server, the basic input / output system configuration items for the third storage interface device are reconfigured in the server.
[0041] Specifically, by comparing and adjusting, the system ensures that the actual configuration of the storage interface devices in the server matches the specified configuration, guaranteeing system consistency and stability. When configuration inconsistencies are detected, the system can automatically reset the configuration items, reducing problems caused by human error and configuration inconsistencies. By ensuring correct configuration, the system's reliability and stability are improved, and the possibility of failures is reduced. Adjusting configuration items according to the actual working mode can optimize the performance of storage interface devices and improve the overall system efficiency. The aforementioned automated configuration comparison and adjustment process simplifies maintenance work and reduces its complexity and cost.
[0042] In one optional implementation, the list of storage interface devices also includes the operating status corresponding to each storage interface device;
[0043] When the basic input / output system configuration items of the fixed configuration corresponding to the third storage interface device are the same as the basic input / output system configuration items actually configured for the third storage interface device in the server, the method further includes:
[0044] Adjust the working status of the third storage interface device in the storage interface device list to the preset working status.
[0045] In a second aspect, the present invention provides an automatic configuration device for storage interface devices. This device is applied to servers in a server cluster, each server being configured with multiple storage interface devices. The device includes:
[0046] The scanning module is used to scan storage interface devices in the server. When a storage interface device is detected, it generates identification information corresponding to the storage interface device.
[0047] The processing module is used to determine the working mode of the storage interface device based on the identification information corresponding to each storage interface device among the scanned storage devices;
[0048] The selection module is used to select the basic input / output system configuration item corresponding to each storage interface device based on the operating mode of each storage interface device.
[0049] The processing module is also used to set the basic input / output system configuration items in the server.
[0050] The automatic configuration device for storage interface devices provided by this invention has the following advantages:
[0051] A server cluster comprises multiple servers. Using the method described in this application, each server in the cluster can automatically perform BIOS configuration on its own storage interface devices in the manner described above. The entire process is automated, gradually replacing complex manual operations with a rapid, automated configuration process. This improves the configuration efficiency of storage interface devices, enabling them to quickly and accurately enter a working state, increasing work efficiency, ensuring the accuracy and completeness of the overall configuration, reducing configuration complexity, and lowering the human error rate. The effectiveness of this method is particularly evident in practical applications where a large number of storage interface devices require BIOS configuration.
[0052] Thirdly, the present invention provides a computer device, including: a memory and a processor, the memory and the processor being communicatively connected to each other, the memory storing computer instructions, and the processor executing the computer instructions to perform the storage interface device automatic configuration method of the first aspect or any corresponding embodiment described above.
[0053] Fourthly, the present invention provides a computer-readable storage medium storing computer instructions for causing a computer to execute the storage interface device automatic configuration method of the first aspect or any corresponding embodiment thereof.
[0054] Fifthly, the present invention provides a computer program product, including computer instructions for causing a computer to execute the storage interface device automatic configuration method of the first aspect or any corresponding embodiment thereof. Attached Figure Description
[0055] To more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the specific embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.
[0056] Figure 1 is a flowchart illustrating an automatic configuration method for a storage interface device provided in an embodiment of the present invention;
[0057] Figure 2 is a flowchart illustrating another automatic configuration method for a storage interface device provided in an embodiment of the present invention;
[0058] Figure 3 is a flowchart illustrating another automatic configuration method for a storage interface device provided in an embodiment of the present invention;
[0059] Figure 4 is a flowchart illustrating another automatic configuration method for a storage interface device provided in an embodiment of the present invention;
[0060] Figure 5 is a flowchart illustrating another automatic configuration method for a storage interface device provided in an embodiment of the present invention;
[0061] Figure 6 is a simplified flowchart of the automatic configuration method for storage interface devices provided in an embodiment of the present invention.
[0062] Figure 7 is a structural block diagram of an automatic configuration device for a storage interface device provided in an embodiment of the present invention;
[0063] Figure 8 is a schematic diagram of the hardware structure of a computer device provided in an embodiment of the present invention. Detailed Implementation
[0064] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0065] With the continuous development of science and technology, new technologies are constantly emerging in the memory industry, and CXL memory has also come into being. CXL memory usually refers to memory technology implemented through the CXL interface. CXL is a high-speed interconnect protocol designed to improve the interconnect efficiency between processors, memory buffers, and accelerators.
[0066] CXL memory is particularly well-suited for applications requiring high memory bandwidth and low latency, such as high-performance computing, artificial intelligence, and machine learning. With CXL memory, systems can share memory resources across multiple processors or accelerators, thereby improving overall performance and efficiency. CXL is designed to overcome the limitations of traditional PCIe (Peripheral Component Interconnect Express) buses in terms of memory consistency and support, and to provide a more flexible and efficient solution for future data center architectures.
[0067] Based on the above advantages, CXL memory is widely used in high-performance servers. CXL memory configuration requires configuring its own mode according to business needs. The BIOS in the server sets corresponding options according to different CXL memory modes. Currently, most server manufacturers use manual configuration methods to complete the BIOS options configuration of CXL memory, which is extremely inefficient and has a high rate of human error.
[0068] To address the aforementioned problems, this invention provides an embodiment of automatic configuration of a storage interface device. It should be noted that the steps shown in the flowcharts in the accompanying drawings can be executed in a computer system (computer device) including a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowcharts, in some cases, the steps shown or described may be executed in a different order than that shown here.
[0069] This embodiment provides an automatic configuration method for a storage interface device, which can be used in the aforementioned terminal devices, such as mobile phones and tablet computers. Figure 1 is a flowchart illustrating an automatic configuration method for a storage interface device provided in this embodiment of the invention. As shown in Figure 1, the process includes the following steps.
[0070] Before introducing the method steps of the embodiments of this application, the CXL memory modes will first be explained. The CXL memory modes are divided into Heterogeneous Interleaving (CXL) mode and Intelflat Memory mode. Both modes require firmware settings.
[0071] CXL Heterogeneous Interleaving refers to a system with multiple processors or accelerators where different computing units (such as CPUs, GPUs, and FPGAs) can share the same physical memory and access it in an interleaved manner. This approach offers the advantage of better load balancing and improved overall memory access throughput.
[0072] This mode requires that the DRAM memory and CXL memory be at the same frequency and is applicable to GNR CPUs.
[0073] For specific BIOS options configuration in this memory mode, please refer to the following:
[0074] 1)Socket configuration→IIO Configuration→SocketX Configuration→DFXSocket Configuration→Enable Compute Express Link*(CXL*)in PCI Express*(PCIe*)<[0]>;
[0075] 2)Socket Configuration→Uncore Configuration→Uncore DFxConfigurations→CXL Security Level<Fully Trusted> ;
[0076] 3)Socket Configuration→IIO Configuration→DFX Global Configuration→CXL 1.1as 2.0mode <enable>;
[0077] 4)Socket Configuration→Memory Configuration→Memory Map DDR CXLHeterogeneous Interleave Support→ <enable>;
[0078] Intel Flat Memory is a memory management mode that allows the processor to directly access the entire physical address space without paging. This mode simplifies memory management and can improve performance. This mode requires that DRAM memory and CXL memory be of the same capacity.
[0079] The settings options are as follows:
[0080] 1)Socket configuration→IIO Configuration→SocketX Configuration→DFXSocket Configuration→Enable Compute Express Link*(CXL*)in PCI Express*(PCIe*)<[0]>;
[0081] 2)Socket Configuration→Uncore Configuration→Uncore DFxConfigurations→CXL Security Level<Fully Trusted> ;
[0082] 3)Socket Configuration→IIO Configuration→DFX Global Configuration→CXL 1.1as 2.0mode <enable>;
[0083] 4)Socket Configuration→Memory Configuration→Memory Map→ FlatMemory Mode→ <enable>.
[0084] The following details the specific implementation steps of the above configuration execution process. This method is applied to servers in a server cluster, where each server is configured with multiple storage interface devices. In an optional example, the storage interface device is, for example, a Compute Express Link (CXL) device. This method is executed individually by each server in the server cluster. That is, in the server cluster, each server can batch and automatically execute BIOS option configuration operations according to the following steps. This method eliminates manual operation, improves work efficiency, ensures the accuracy and completeness of the overall configuration, reduces configuration complexity, and lowers the human error rate.
[0085] See below for details, including:
[0086] Step S101: Scan the storage interface devices in the server. When a storage interface device is detected, generate identification information corresponding to the storage interface device.
[0087] Specifically, the server scans the internally installed storage interface devices, generating a corresponding identification information for each device scanned, which serves as an indicator for identifying that storage interface device. Multiple scanning threads can be configured to perform the scanning operation simultaneously, or only one scanning thread can be configured to perform the scanning operation, depending on the actual situation.
[0088] Step S102: Determine the working mode of the storage interface device based on the identification information corresponding to each storage interface device among the scanned storage devices.
[0089] Step S103: Select the basic input / output system configuration item corresponding to each storage interface device according to the working mode corresponding to each storage interface device.
[0090] Specifically, after scanning a storage interface device, its operating mode needs to be determined, and then the BIOS configuration items are selected based on the operating mode. Therefore, firstly, the storage interface device corresponding to the identification information is determined, and then the corresponding BIOS configuration items are obtained from the registers of the storage interface device.
[0091] Step S104: Configure the basic input / output system settings in the server.
[0092] Specifically, the BIOS configuration items corresponding to the storage interface devices are configured in the server according to the BIOS configuration item configuration rules. The operating modes have been described in detail above, and the corresponding BIOS configuration items are also explained in the application documents. In this embodiment, the corresponding operating mode is already configured in the registers of each storage interface device; therefore, the corresponding BIOS configuration items are matched according to the operating mode. The configuration is then applied to the server, which will not be elaborated further here.
[0093] The automatic configuration method for storage interface devices provided in this embodiment is applicable to server clusters comprising multiple servers. Using the method described in this application, each server in the cluster can automatically complete the BIOS configuration of its own storage interface device in the manner described above. The entire process is automated, gradually replacing complex manual operations with a rapid automated configuration process. This improves the configuration efficiency of storage interface devices, enabling them to quickly and accurately enter a working state, thereby increasing work efficiency, ensuring the accuracy and completeness of the overall configuration, reducing configuration complexity, and lowering the human error rate. The effectiveness of this method is particularly evident in practical applications where a large number of storage interface devices require BIOS configuration.
[0094] In an optional embodiment, the method further includes: establishing a list of storage interface devices when a storage interface device is first detected.
[0095] The storage interface device list records the attribute information of each scanned storage interface device, including, for example, identification information and operating mode information.
[0096] In another optional example, the method steps for scanning storage interface devices in the server and generating identification information corresponding to the storage interface device when it is detected are shown below:
[0097] Run at least one scanning thread to scan the storage interface device, and generate identification information corresponding to the storage interface device after any scanning thread scans the storage interface device.
[0098] Specifically, once the server enters the OS phase, at least one scanning thread will be started and run continuously to perform scanning operations on storage interface devices. After a storage interface device is detected, it will be assigned a number. This number serves as the identification information corresponding to the storage interface device. Of course, the identification information can also take other forms; this is not limited here.
[0099] Further optionally, the method further includes scanning storage interface devices in the server, and when a storage interface device is detected, generating identification information corresponding to the storage interface device, and then:
[0100] Add the identification information corresponding to each storage interface device to the first message queue, and update the list of pre-built storage interface devices with each identification information.
[0101] Specifically, as described above, the subsequent step is to determine the operating mode of each storage interface device based on its corresponding identification information. As also mentioned earlier, at least one scanning thread is required; in practice, multiple scanning threads are typically used to scan the storage interface devices. To further optimize efficiency, this method also includes adding the identification information of the scanned storage interface devices to a first message queue. When determining the operating mode of each storage interface device based on its identification information, the identification information can be extracted from the message queue, and then the corresponding storage interface device can be identified based on this information to obtain the corresponding operating mode.
[0102] By adding the identification information to the storage interface device list, a mapping relationship can be established between the working mode of the storage interface device corresponding to the identification information and the list of storage interface devices. Subsequently, the working mode can be determined directly from the list of storage interface devices, and the corresponding BIOS configuration items can be obtained.
[0103] In an optional example, the operating mode of each storage interface device is determined based on the identification information corresponding to each storage interface device among the scanned storage devices. This involves the following steps, as shown in Figure 2:
[0104] Step S201: Run at least one working mode extraction thread, and extract the identification information from the first message queue in sequence through each working mode extraction thread.
[0105] Step S202: When the first working mode extraction thread extracts the first target identification information from the first message queue, it extracts the working mode of the first target storage interface device from the register corresponding to the first target storage interface device indicated by the first target identification information.
[0106] Specifically, each operation step corresponds to multiple processing threads that execute in parallel. Similarly, multiple operation steps are executed in parallel without interfering with each other. After decoupling the multiple steps, work efficiency will be greatly improved.
[0107] Specifically, after the identification information corresponding to each storage interface device is added to the first message queue, at least one working mode extraction thread configured in the server will extract the identification information from the first message queue in sequence. Then, multiple working mode extraction threads will determine the storage interface device based on the identification information and thus obtain the corresponding working mode.
[0108] For example, after the first working mode extraction thread extracts the first target identification information from the first message queue, it determines the first target storage interface device based on the first target identification information, and then extracts the working mode of the first target storage interface device from the registers of the first storage interface device. Here, the first target identification information can be any identification information in the first message queue, and the first working mode extraction thread can be any one of at least one working mode extraction thread.
[0109] In a similar manner, multiple working mode extraction threads may simultaneously extract identification information from the first message queue in an orderly manner, and then obtain the working modes of multiple storage interface devices in parallel, which facilitates the server to perform subsequent operations.
[0110] Specifically, following a similar principle to the above, in order to improve overall work efficiency, after extracting the working mode of the first target storage interface device from the register corresponding to the first target storage interface device indicated by the first target identification information, the method further includes the following steps, as shown in Figure 3:
[0111] Step S301: Add the identification information of the first target storage interface device to the second message queue.
[0112] Specifically, similar to the principle of adding the identification information corresponding to each storage interface device to the first message queue, the purpose is to decouple it from the subsequent processes, prevent interference, and allow multiple process nodes to be executed in parallel, thereby improving work efficiency.
[0113] Step S302: Update the operating mode of the first target storage interface device to the storage interface device list.
[0114] Step S303: Establish a mapping relationship between the working mode of the first target storage interface device and the first target identification information in the storage interface device list.
[0115] Specifically, updating the operating mode of the first target storage interface device to the storage interface device list and establishing a mapping relationship between the operating mode of the first target storage interface device and the first target identification information in the storage interface device list is to lay the groundwork for subsequent processes, namely, selecting the basic input / output system configuration items corresponding to each storage interface device based on the operating mode corresponding to each storage interface device.
[0116] Based on any of the foregoing embodiments, according to the operating mode corresponding to each storage interface device, the basic input / output system configuration item corresponding to the storage interface device is selected, specifically including the following method steps, as shown in Figure 4:
[0117] Step S401: Run at least one Basic Input / Output System Configuration Item Setting thread, and extract identification information from the second message queue in sequence through each Basic Input / Output System Configuration Item Setting thread.
[0118] Step S402: When the first basic input / output system configuration item setting thread extracts the second target identification information from the second message queue in sequence, it obtains the working mode corresponding to the second target storage interface device from the storage interface device list based on the second target identification information.
[0119] Specifically, similar to the aforementioned principle, at least one BIOS system configuration setting thread sequentially extracts identification information from the second message queue. Then, when the first BIOS system configuration setting thread sequentially extracts the second target identification information from the second message queue, it can extract the corresponding operating mode from the storage interface device list based on this identification information. Here, the second target identification information is any identification information in the second message queue, the second target storage interface device is the storage interface device indicated by the second target identification information, and the first basic input / output system configuration setting thread is any one of at least one basic input / output system configuration setting threads.
[0120] Step S403: Select the basic input / output system configuration item corresponding to the second target storage interface device according to the working mode of the second target storage interface device.
[0121] Select the corresponding BIOS system configuration item according to the working mode, and complete the corresponding configuration operation.
[0122] In fact, in an optional embodiment, in addition to determining the operating mode through the mapping relationships and identification information in the storage interface device list, the method may also include:
[0123] Simultaneously, the identification information of the first target storage interface device and its corresponding operating mode are added to the second message queue. In this way, during subsequent execution, the corresponding operating mode can be directly extracted from the second message queue, and the appropriate BIOS configuration item can be selected and set in the server, making the operation more convenient and efficient.
[0124] In an optional example, based on any of the foregoing embodiments, to verify whether the above configuration is effective, the method further includes the following method steps, as shown in Figure 5:
[0125] Step S501: After confirming that all storage interface devices in the server have completed the corresponding basic input / output system configuration settings, start the server, trigger the server's basic input / output system to enter the working mode, and complete the operation.
[0126] Specifically, after confirming that all storage interface devices in the server have completed the corresponding BIOS configuration settings, the server is started, triggering the server's BIOS to enter working mode and complete the operation, enabling the server to run normally, and then subsequent operations are performed.
[0127] Step S502: After determining that the basic input / output system has completed its operation, extract the working mode corresponding to each storage interface device from the storage interface device list in sequence.
[0128] Step S503: Determine the basic input / output system configuration items corresponding to the storage interface device according to the working mode corresponding to each storage interface device.
[0129] The specific operations of steps S502 and S503 have been described in detail above and will not be repeated here.
[0130] Step S504: Obtain the basic input / output system configuration items actually configured for each storage interface device in the server.
[0131] Specifically, after the BIOS is running, it can directly read the currently set BIOS configuration items from the system.
[0132] Step S505: Compare the basic input / output system configuration items of the third storage interface device with the basic input / output system configuration items of the third storage interface device in the server, and obtain the comparison result.
[0133] The third storage interface device can be any storage interface device.
[0134] Step S506: When the basic input / output system configuration items of the third storage interface device are different from the basic input / output system configuration items of the third storage interface device in the server, the basic input / output system configuration items of the third storage interface device are reconfigured in the server.
[0135] Specifically, the storage interface device list also includes a record of the working status of each storage interface device. After comparing according to the above steps, if the basic input / output system configuration items specified for the third storage interface device are consistent with the basic input / output system configuration items actually configured for the third storage interface device in the server, it indicates that the configuration is successful, and the working status in the storage interface device list can be adjusted to "working".
[0136] Alternatively, if they are inconsistent, it means that the previous configuration failed, and you need to follow the above steps again to obtain the BISO configuration item corresponding to the working mode, and then perform the configuration operation again.
[0137] Figure 6 shows a schematic diagram of the overall process of the above method. In this overall flowchart, the method includes the following steps:
[0138] Step 1: Begin, enter the OS stage, run multiple scanning threads until a storage interface device, such as a CXL device, is detected; number the device; if the CXL manifest information table does not exist, create the CXL manifest information table (the manifest information table contains the CXL device number, working mode, and working status (initial value: standby)), and populate it with device numbers. Add the device number of the CXL device to be processed to the first message queue.
[0139] Step 2: Run multiple working mode extraction threads. Each working mode extraction thread reads whether the device number of the device to be processed exists in the first message queue. If it does, it reads the register of the CXL device to obtain the working mode of the CXL device, updates the working mode to the CXL list information table, and adds the device number to be analyzed to the second message queue.
[0140] Step 3: Run multiple Basic Input / Output System Configuration Item Setting threads, read the second message queue, determine if there is a device number of a device to be processed, and if so, determine the working mode of the CXL device based on the device number; according to the working mode of the CXL device and the pre-built CXL working mode and BIOS option correspondence table, obtain the BIOS configuration items that need to be set for this working mode, and set the BIOS configuration items in the server through the option setting tool.
[0141] Step 4: The server restarts and triggers the BIOS to enter the server POST process, completing the initialization of the server and CXL devices, enabling them to enter working mode and operate normally.
[0142] Step 5: Read the CXL manifest information table working mode again, re-obtain the corresponding BIOS configuration items that need to be set, and at the same time read the currently set BIOS configuration items. Compare whether the two are consistent. If they are inconsistent, repeat step 3. If they are consistent, set the "Working Status" in the CXL manifest information table to "Working".
[0143] The above workflow has been described in detail above, so it will not be repeated here.
[0144] In an optional example, considering that storage interface devices may operate in different modes depending on the application scenario, mode switching may occur in certain situations. For instance, the CXL Heterogeneous Interleaving mode might be suitable for applications requiring high performance and low latency, while the Intel flat memory mode might be better suited for applications requiring simple memory management. The system may switch modes when it detects that the current operating mode no longer meets performance requirements. Alternatively, in some cases, the system may not achieve optimal performance due to resource limitations (such as memory bandwidth, queue depth, etc.), requiring a switch to a more suitable operating mode to alleviate resource constraints. Furthermore, when storage interface devices in the system are upgraded or replaced, the new devices may support different operating modes. In this case, the system needs to switch to a mode compatible with the new device. Finally, to reduce power consumption, the system may switch to a more energy-efficient operating mode based on the current workload.
[0145] Regardless of the method used, a switch to the operating mode is required. Typically, system configuration settings and operating modes are configured during system startup and cannot be changed during operation. Therefore, a power-down process is necessary to switch modes. However, this operation inevitably disrupts business operations.
[0146] In order to avoid affecting business operations, that is, to achieve mode switching without interrupting service operation, the embodiments of this application also include the following methods to achieve mode switching:
[0147] For example, including:
[0148] Step 1: Monitor and track the status changes of the storage interface device.
[0149] Step 2: Obtain the working mode and / or configuration items to be modified through the pre-configured management interface.
[0150] The working mode and / or configuration items to be modified are determined by the object based on the status changes of the storage interface device. Alternatively, the server automatically generates the working mode and / or corresponding configuration items to be modified based on the status changes of the storage interface device and the pre-configured working mode and / or configuration item switching strategy.
[0151] Step 3: Verify that the working mode and / or configuration items to be modified comply with the equipment's technical specifications.
[0152] Specifically, this involves verifying whether the operating mode and / or configuration items to be modified are compatible with the device.
[0153] Step 4: If compatible, change the current working mode to the working mode to be modified, or change the configuration item corresponding to the current working mode to the configuration item to be modified.
[0154] Optionally, the method may further include generating corresponding operation logs, including logs during the mode and / or configuration item switching process, and logs after the mode and / or configuration item switching is completed. This ensures that if the switching fails, the system can roll back to the previous working mode and / or configuration item based on the operation logs. It also allows for analysis of the reasons for the switching failure and its potential impact, facilitating timely and effective follow-up measures.
[0155] This embodiment also provides an automatic configuration device for a storage interface device, which is used to implement the above embodiments and preferred embodiments; details already described will not be repeated. As used below, the term "module" can refer to a combination of software and / or hardware that performs a predetermined function. Although the device described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.
[0156] This embodiment provides an automatic configuration device for a storage interface device, as shown in FIG7, including: a scanning module 701, a processing module 702, and a selection module 703.
[0157] The device is used on servers in a server cluster, where each server is configured with multiple storage interface devices. The device includes:
[0158] The scanning module 701 is used to scan the storage interface devices in the server. When a storage interface device is detected, it generates identification information corresponding to the storage interface device.
[0159] The processing module 702 is used to determine the working mode of the storage interface device based on the identification information corresponding to each storage interface device among the scanned storage devices;
[0160] Selection module 703 is used to select the basic input / output system configuration item corresponding to each storage interface device according to the working mode corresponding to each storage interface device;
[0161] The processing module 702 is also used to set the basic input / output system configuration items in the server.
[0162] In an optional example, the processing module 702 is also configured to establish a list of storage interface devices when the storage interface device is first scanned, wherein the list of storage interface devices is used to record the attribute information of the storage interface devices, including the identification information and working mode of the storage interface devices.
[0163] In an optional example, the scanning module 701 is specifically used to: run at least one scanning thread to scan the storage interface device respectively, and generate identification information corresponding to the storage interface device after any scanning thread scans the storage interface device.
[0164] In an optional example, the processing module 702 is further configured to add the identification information corresponding to each storage interface device to the first message queue and update each identification information to the pre-built list of storage interface devices.
[0165] In an optional example, the processing module 702 is specifically used to: run at least one working mode extraction thread, and extract identification information from the first message queue in sequence through each working mode extraction thread;
[0166] When the first working mode extraction thread extracts the first target identification information from the first message queue, it extracts the working mode of the first target storage interface device from the register corresponding to the first target storage interface device indicated by the first target identification information. The first target identification information is any identification information in the first message queue, and the first working mode extraction thread is any one of at least one working mode extraction thread.
[0167] In an optional example, the processing module 702 is further configured to add the identification information of the first target storage interface device to the second message queue;
[0168] In addition, update the operating mode of the first target storage interface device to the list of storage interface devices;
[0169] Establish a mapping relationship between the working mode of the first target storage interface device and the first target identification information in the storage interface device list.
[0170] In an optional example, module 703 is selected, specifically for: running at least one Basic Input / Output System Configuration Item Setting thread, and retrieving identification information from the second message queue sequentially through each Basic Input / Output System Configuration Item Setting thread;
[0171] When the first basic input / output system configuration setting thread retrieves the second target identification information from the second message queue in sequence, it obtains the working mode corresponding to the second target storage interface device from the storage interface device list based on the second target identification information. Here, the second target identification information is any identification information in the second message queue, the second target storage interface device is the storage interface device indicated by the second target identification information, and the first basic input / output system configuration setting thread is any one of at least one basic input / output system configuration setting thread.
[0172] Select the basic input / output system configuration item corresponding to the second target storage interface device according to the working mode of the second target storage interface device.
[0173] In an optional example, the processing module 702 is also used to start the server and trigger the server's basic input / output system to enter the working mode and complete the operation after determining that all storage interface devices in the server have completed the corresponding basic input / output system configuration settings.
[0174] Once the basic input / output system has completed its operation, the working mode corresponding to each storage interface device is extracted sequentially from the list of storage interface devices.
[0175] Based on the operating mode corresponding to each storage interface device, the basic input / output system configuration items corresponding to the storage interface device are determined.
[0176] Retrieve the basic input / output system configuration items of each storage interface device in the server;
[0177] The basic input / output system configuration items corresponding to the third storage interface device are compared with the basic input / output system configuration items actually configured in the server for the third storage interface device, and the comparison results are obtained. The third storage interface device can be any storage interface device.
[0178] When the specified basic input / output system configuration items for the third storage interface device differ from the actual basic input / output system configuration items for the third storage interface device in the server, the basic input / output system configuration items for the third storage interface device are reconfigured in the server.
[0179] In this embodiment, the automatic configuration device for the storage interface is presented in the form of a functional module. Here, a module refers to an application-specific integrated circuit (ASIC), a processor and memory that execute one or more software or fixed programs, and / or other devices that can provide the above functions.
[0180] Further functional descriptions of the above modules and units are the same as those in the corresponding embodiments described above, and will not be repeated here.
[0181] This invention provides an automatic configuration device for storage interface devices. A server cluster includes multiple servers. Using the method described in this embodiment, each server in the cluster can automatically perform BIOS configuration on its own storage interface device in the manner described above. The entire process is automated, gradually replacing complex manual operations with a rapid automated configuration process. This improves the configuration efficiency of storage interface devices, enabling them to quickly and accurately enter a working state, increasing work efficiency, ensuring the accuracy and completeness of the overall configuration, reducing configuration complexity, and lowering the human error rate. The effectiveness of this method is particularly evident in practical applications where a large number of storage interface devices require BIOS configuration.
[0182] This invention also provides a computer device having the storage interface device automatic configuration device shown in FIG7.
[0183] Please refer to Figure 8, which is a schematic diagram of a computer device according to an optional embodiment of the present invention. As shown in Figure 8, the computer device includes one or more processors 10, a memory 20, and interfaces for connecting the various components, including high-speed interfaces and low-speed interfaces. The various components communicate with each other using different buses and can be mounted on a common motherboard or otherwise installed as needed. The processors can process instructions executed within the computer device, including instructions stored in or on memory to display graphical information of a GUI on an external input / output device (such as a display device coupled to the interface). In some optional embodiments, multiple processors and / or multiple buses can be used with multiple memories and multiple memory modules, if desired. Similarly, multiple computer devices can be connected, each providing some of the necessary operations (e.g., as a server array, a group of blade servers, or a multiprocessor system). Figure 8 uses one processor 10 as an example.
[0184] Processor 10 may be a central processing unit, a network processor, or a combination thereof. Processor 10 may further include an integrated circuit. The integrated circuit may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The programmable logic device may be a complex programmable logic device (CAMP), a field-programmable gate array (FPGA), a general-purpose array logic (GPRS), or any combination thereof.
[0185] The memory 20 stores instructions executable by at least one processor 10 to cause at least one processor 10 to perform the method shown in the above embodiments.
[0186] The memory 20 may include a program storage area and a data storage area. The program storage area may store the operating system and applications required for at least one function; the data storage area may store data created based on the use of the computer device as shown by a landing page for an app. Furthermore, the memory 20 may include high-speed random access memory and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some alternative embodiments, the memory 20 may optionally include memory remotely located relative to the processor 10, which can be connected to the computer device via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
[0187] The memory 20 may include volatile memory, such as random access memory; the memory may also include non-volatile memory, such as flash memory, hard disk or solid-state drive; the memory 20 may also include a combination of the above types of memory.
[0188] The computer device also includes an input device 30 and an output device 40. The processor 10, memory 20, input device 30 and output device 40 can be connected via a bus or other means, as shown in Figure 8, which illustrates a connection via a bus.
[0189] Input device 30 can receive input numerical or character information, and generate key signal inputs related to object settings and function control of the computer device, such as a touch screen, keypad, mouse, trackpad, touchpad, joystick, one or more mouse buttons, trackball, joystick, etc. Output device 40 may include display devices, auxiliary lighting devices (e.g., LEDs), and haptic feedback devices (e.g., vibration motors). The aforementioned display devices include, but are not limited to, liquid crystal displays, light-emitting diodes, displays, and plasma displays. In some alternative embodiments, the display device may be a touch screen.
[0190] This invention also provides a computer-readable storage medium. The methods provided in the above embodiments can be implemented in hardware or firmware, or implemented as computer code that can be recorded on a storage medium, or implemented as computer code downloaded over a network and originally stored on a remote storage medium or a non-transitory machine-readable storage medium and then stored on a local storage medium. Thus, the methods described herein can be processed by software stored on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. The storage medium can be a magnetic disk, optical disk, read-only memory, random access memory, flash memory, hard disk, or solid-state drive, etc.; further, the storage medium can also include combinations of the above types of memory. It is understood that computers, processors, microprocessor controllers, or programmable hardware include storage components capable of storing or receiving software or computer code, which, when accessed and executed by the computer, processor, or hardware, implements the methods shown in the above embodiments.
[0191] A portion of this invention can be applied to computer program products, such as computer program instructions, which, when executed by a computer, can invoke or provide the methods and / or technical solutions according to the invention through the operation of the computer. Those skilled in the art will understand that the forms in which computer program instructions exist in a computer-readable medium include, but are not limited to, source files, executable files, installation package files, etc. Correspondingly, the ways in which computer program instructions are executed by a computer include, but are not limited to: the computer directly executing the instructions, or the computer compiling the instructions and then executing the corresponding compiled program, or the computer extracting and executing the instructions, or the computer extracting and installing the instructions and then executing the corresponding installed program. Here, the computer-readable medium can be any available computer-readable storage medium or communication medium accessible to a computer.
[0192] Although embodiments of the invention have been described in conjunction with the accompanying drawings, those skilled in the art can make various modifications and variations without departing from the spirit and scope of the invention, and such modifications and variations all fall within the scope defined by the appended claims.< / enable> < / enable> < / enable> < / enable>
Claims
1. An automatic configuration method for a storage interface device, characterized in that, The method is applied to servers in a server cluster, each server being configured with multiple storage interface devices. The method is executed by each server in the server cluster. The method includes: scanning the storage interface devices in the server; when a storage interface device is detected, generating identification information corresponding to the storage interface device; adding the identification information corresponding to each storage interface device to a first message queue, and updating each identification information to a pre-built list of storage interface devices; running at least one working mode extraction thread, with each working mode extraction thread sequentially extracting identification information from the first message queue; when the first working mode extraction thread extracts first target identification information from the first message queue, extracting the working mode of the first target storage interface device from the register corresponding to the first target storage interface device indicated by the first target identification information, wherein the first target identification information is any identification information in the first message queue, and the first working mode extraction thread is any one of at least one working mode extraction thread; selecting a basic input / output system configuration item corresponding to each storage interface device based on the working mode corresponding to each storage interface device; and setting the basic input / output system configuration item in the server.
2. The method according to claim 1, characterized in that, The method further includes: when the storage interface device is first scanned, establishing a list of storage interface devices, wherein the list of storage interface devices is used to record the attribute information of the storage interface devices, the attribute information including the identification information and working mode of the storage interface devices.
3. The method according to claim 1 or 2, characterized in that, When the storage interface device in the scanning server is detected, identification information corresponding to the storage interface device is generated. Specifically, this includes: running at least one scanning thread to scan the storage interface device respectively, and generating identification information corresponding to the storage interface device after any of the scanning threads scans the storage interface device.
4. The method according to claim 1, characterized in that, After extracting the operating mode of the first target storage interface device from the register corresponding to the first target storage interface device indicated by the first target identification information according to the first target identification information, the method further includes: adding the identification information of the first target storage interface device to a second message queue; updating the operating mode of the first target storage interface device to the storage interface device list; and establishing a mapping relationship between the operating mode of the first target storage interface device and the first target identification information in the storage interface device list.
5. The method according to claim 4, characterized in that, The step of selecting a Basic Input / Output System (PIS) configuration item corresponding to each storage interface device based on its corresponding operating mode specifically includes: running at least one PIS configuration item setting thread, and sequentially extracting identification information from the second message queue through each PIS configuration item setting thread; when the first PIS configuration item setting thread sequentially extracts second target identification information from the second message queue, obtaining the operating mode corresponding to the second target storage interface device from the storage interface device list based on the second target identification information, wherein the second target identification information is any identification information in the second message queue, the second target storage interface device is the storage interface device indicated by the second target identification information, and the first PIS configuration item setting thread is any one of at least one PIS configuration item setting thread; and selecting the PIS configuration item corresponding to the second target storage interface device based on its corresponding operating mode.
6. The method according to claim 2, characterized in that, The method further includes: after determining that all storage interface devices in the server have completed the corresponding basic input / output system configuration item settings, starting the server, triggering the server's basic input / output system to enter the working mode, and completing the operation; after determining that the basic input / output system has completed the operation, sequentially extracting the working mode corresponding to each storage interface device from the storage interface device list; and determining the basic input / output system configuration item corresponding to the storage interface device according to the working mode corresponding to each storage interface device; obtaining the basic input / output system configuration item actually configured for each storage interface device in the server; comparing the basic input / output system configuration item corresponding to the third storage interface device with the basic input / output system configuration item actually configured for the third storage interface device in the server, and obtaining the comparison result, wherein the third storage interface device is any one of the storage interface devices; when the basic input / output system configuration item corresponding to the third storage interface device is different from the basic input / output system configuration item actually configured for the third storage interface device in the server, re-setting the basic input / output system configuration item of the third storage interface device in the server.
7. An automatic configuration device for a storage interface device, characterized in that, The device is applied to servers in a server cluster, each server being configured with multiple storage interface devices. The device includes: a scanning module for scanning the storage interface devices in the server, and generating identification information corresponding to the storage interface device when a storage interface device is detected; a processing module for adding the identification information corresponding to each storage interface device to a first message queue, and updating each identification information to a pre-built list of storage interface devices; running at least one working mode extraction thread, and extracting identification information from the first message queue sequentially through each working mode extraction thread; when the first working mode extraction thread extracts first target identification information from the first message queue, extracting the working mode of the first target storage interface device from the register corresponding to the first target storage interface device indicated by the first target identification information, wherein the first target identification information is any identification information in the first message queue, and the first working mode extraction thread is any one of at least one working mode extraction thread; a selection module for selecting a basic input / output system configuration item corresponding to the storage interface device according to the working mode corresponding to each storage interface device; the processing module is also used to set the basic input / output system configuration item in the server.
8. A computer device, characterized in that, include: A memory and a processor are communicatively connected, the memory stores computer instructions, and the processor executes the computer instructions to perform the automatic configuration method of the storage interface device according to any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions for causing a computer to execute the storage interface device automatic configuration method according to any one of claims 1 to 6.
Citation Information
Patent Citations
An automatic configuration method and system for CTLE parameters
CN109669893A
Communication adaptation method, baseboard management controller and computing device
CN117762530A