Identification information configuration method, device and system

By allocating storage intervals for external devices and building binding relationships when the server is initially started, the problem of lack of automatic mapping relationships when the server maintains external devices is solved, and efficient and accurate equipment maintenance is achieved.

CN119536832BActive Publication Date: 2025-04-29INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202510109438.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-01-23
Publication Date
2025-04-29
Estimated Expiration
2045-01-23

AI Technical Summary

Technical Problem

When the server maintains external devices, it lacks automatic construction of the mapping relationship between the logical position and physical access position of the external device in the server operating system, which leads to cumbersome manual operations and easy introduction of human errors, reducing maintenance efficiency.

Method used

When the server is initially started, the accessed external devices are identified and the target storage interval is allocated for each device in the memory to build a binding relationship between the device and the storage interval. The management controller acquires the physical access location information of the device and writes it to the target storage area. The operating system uses this information to build the target identification information of the device when it is restarted.

Benefits of technology

It realizes the automated maintenance of external devices by the server, reduces the occurrence of human errors, and improves maintenance efficiency and accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119536832B_ABST
    Figure CN119536832B_ABST
Patent Text Reader

Abstract

The embodiment of the present application provides a method, device and system for configuring identification information, wherein the method includes: during the initial startup of the server, identifying the external device connected to the server; allocating a target storage interval for each external device in the memory deployed in the server, and building a binding relationship between the target storage interval and the external device, wherein the management controller is used to obtain the first identification information of the external device when detecting that the server has completed the startup, and write the first identification information into the target storage interval bound to the external device in the memory; during the server restarting, extracting the first identification information stored in the target storage interval; using the first identification information and the second identification information to build the target identification information for the external device. Through the present application, the problem of low maintenance efficiency of the server for external devices in the related art is solved, thereby achieving the effect of improving the maintenance efficiency of the server for external devices.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of computers, and more specifically, to a method, device, and system for configuring identification information. Background Art

[0002] In order to ensure efficient maintenance and management of external devices of the server, the server's boot controller needs to maintain a set of information about the logical location where the external device is connected in the server's operating system and the mapping relationship between the information representing the physical access location of the external device in the server. Since there is a lack of direct internal connection between the information representing the logical location where the external device is connected in the server's operating system and the information representing its physical access location in the server, and the information representing the physical access location of the external device in the server is information configured externally by the server, the server cannot obtain this information, and the server's boot controller itself cannot automatically build a mapping relationship between the two. Therefore, the traditional solution relies on the firmware developer to manually establish and maintain this mapping relationship. The developer needs to obtain the information representing the logical location assigned by the server to the external device, and manually build a mapping relationship between this information and the information representing the physical access location, and then manually add the mapping relationship to the system firmware of the server boot controller. This process is not only cumbersome but also prone to human errors, resulting in low maintenance efficiency of the server's external devices. Summary of the invention

[0003] The embodiments of the present application provide a method, device and system for configuring identification information, so as to at least solve the problem of low maintenance efficiency of a server for external devices in the related art.

[0004] According to an embodiment of the present application, a method for configuring identification information is provided, the method being applied to a startup controller in a server, comprising:

[0005] During the initial startup of the server, identifying an external device connected to the server;

[0006] Allocating a target storage interval for each of the external devices in the memory deployed in the server, and establishing a binding relationship between the target storage interval and the external device, wherein the management controller is used to obtain first identification information of the external device when detecting that the server has completed startup, and write the first identification information into the target storage interval bound to the external device in the memory, wherein the first identification information is used to indicate a physical access location of the external device in the server;

[0007] During the process of restarting the server, extracting the first identification information stored in the target storage interval;

[0008] The first identification information and the second identification information are used to construct target identification information for the external device, wherein the second identification information is assigned by the startup controller to the identified external device during the initial startup of the server, and the second identification information is used to indicate the logical location of the external device in the server's operating system, and the operating system is used to use the target identification information to maintain the operating status of the external device.

[0009] Optionally, the extracting the first identification information stored in the target storage interval includes:

[0010] Filtering out a target storage interval whose storage interval identifier matches the device information of the external device from the storage intervals included in the memory, wherein the storage interval identifier is used to indicate the device to which the corresponding storage interval belongs;

[0011] The first identification information is extracted from the target storage interval according to configuration information corresponding to the target storage interval, wherein the configuration information is used to indicate the data storage status of each byte position in the target storage interval.

[0012] Optionally, extracting the first identification information from the target storage interval according to the configuration information corresponding to the target storage interval includes:

[0013] Searching for a first offset field stored in the configuration information, wherein the first offset field is used to indicate a location of identification information representing a physical access location of the external device in the server in the target storage interval;

[0014] The field stored at the field position indicated by the first offset field is determined as the first identification information.

[0015] Optionally, before searching the first offset field stored in the configuration information, the method further includes:

[0016] Searching for a second offset field stored in the configuration information, wherein the second offset field is used to indicate the position of identification information representing a logical position where the external device is connected in the operating system of the server in the target storage interval;

[0017] Extracting third identification information stored at a field position indicated by the second offset field in the target storage interval, wherein the third identification information is stored by the startup controller after allocating the target storage interval, and the third identification information is used to indicate a logical position of an external device to which the target storage interval belongs in the operating system of the server;

[0018] Matching the third identification information with the second identification information stored in the startup controller;

[0019] When the third identification information matches the second identification information, an operation of searching for the first offset field stored in the configuration information is performed.

[0020] Optionally, allocating a target storage interval in the memory deployed in the server to each of the external devices includes:

[0021] Detecting a reference memory carried by the external device, wherein the reference memory is a memory for storing device operation information of the external device, and the memory includes the reference memory;

[0022] Acquire a reference keyword of each storage interval in the reference memory, wherein the reference keyword is used to indicate the data storage status of each storage interval in the reference memory;

[0023] In the case that there is a first keyword among the plurality of reference keywords, a storage interval corresponding to the first keyword is determined as the target storage interval, wherein the storage interval corresponding to the first keyword is in an unoccupied state.

[0024] Optionally, allocating a target storage interval in the memory deployed in the server to each of the external devices includes:

[0025] Detecting a target memory deployed in the server, wherein the target memory is a memory in the server for storing the server operation information, and the memory includes the target memory;

[0026] Acquire a target keyword for each storage interval in the target memory, wherein the target keyword is used to indicate a data storage condition of each storage interval in the target memory;

[0027] In the case that there is a second keyword among the plurality of target keywords, a storage interval corresponding to the second keyword is determined as the target storage interval, wherein the storage interval corresponding to the second keyword is in an unoccupied state.

[0028] Optionally, after allocating a target storage interval in the memory deployed in the server for each of the external devices and establishing a binding relationship between the target storage interval and the external device, the method further includes:

[0029] Acquire the second identification information allocated to the external device during the initial startup of the server;

[0030] The second identification information is written into the target storage interval, and a second offset field indicating the write position of the second identification information in the target storage interval is written into the configuration information corresponding to the target storage interval, wherein the configuration information is used to indicate the data storage status of each byte position in the target storage interval.

[0031] Optionally, the using the first identification information and the second identification information to construct target identification information for the external device includes:

[0032] Constructing a target mapping relationship between the first identification information and the second identification information of each of the external devices;

[0033] The target mapping relationship is determined as the target identification information of the external device.

[0034] Optionally, the building of a binding relationship between the target storage interval and the external device includes:

[0035] Acquire the device information of the identified external device;

[0036] The target storage interval is marked using the device information.

[0037] According to an embodiment of the present application, there is also provided an identification information configuration method, which is applied to a management controller in a server, and includes:

[0038] When it is detected that the server has completed startup, obtaining first identification information of an external device connected to the server system, wherein the first identification information is used to indicate a physical access location of the external device in the server;

[0039] The first identification information is written into a target storage interval bound to the external device in a memory deployed in the server, wherein the target storage interval is allocated by a startup controller to the external device in the memory during the initial startup of the server, and the startup controller is used to extract the first identification information stored in the target storage interval during the next startup of the server, and use the first identification information and the second identification information to construct target identification information for the external device, the second identification information is allocated by the startup controller to the identified external device during the initial startup of the server, and the second identification information is used to indicate a logical location where the external device is connected in the operating system of the server, and the operating system is used to use the target identification information to maintain the operating status of the external device.

[0040] Optionally, the step of writing the first identification information into a target storage interval in a memory deployed in the server and bound to the external device includes:

[0041] Obtaining device information of the external device;

[0042] Filtering out a target storage interval whose storage interval identifier matches the device information of the external device from the storage intervals included in the memory, wherein the storage interval identifier is used to indicate the device to which the corresponding storage interval belongs;

[0043] The first identification information is written into the target storage interval.

[0044] Optionally, writing the first identification information into the target storage interval includes:

[0045] searching for an unoccupied target byte position in the target storage interval according to configuration information of the target storage interval, wherein the configuration information is used to indicate a data storage condition of each byte position in the target storage interval;

[0046] The first identification information is written into the target byte position, and a first offset field corresponding to the target byte position is written into the configuration information, wherein the first offset field is used to indicate the position of the target byte position in the target storage area.

[0047] Optionally, after writing the first identification information into a target storage interval bound to the external device in a memory deployed in the server, the method further includes:

[0048] extracting the second identification information of the external device stored in the target storage interval;

[0049] Establishing a target mapping relationship between the first identification information and the second identification information of the external device;

[0050] The target mapping relationship is sent to a display terminal that has a binding relationship with the server, wherein the display terminal is used to display the target mapping relationship and manage the devices connected to the server according to the target mapping relationship.

[0051] Optionally, extracting the second identification information of the external device stored in the target storage interval includes:

[0052] Extracting a third offset field stored in the configuration information of the target storage interval, wherein the third offset field is used to indicate the position of identification information representing the logical position of the external device connected in the operating system of the server in the target storage interval;

[0053] The second identification information stored in the field position indicated by the third offset field in the target storage interval is extracted.

[0054] Optionally, after writing the first identification information into a target storage interval bound to the external device in a memory deployed in the server, the method further includes:

[0055] receiving an identification information update request, wherein the identification information update request is used to indicate that the first identification information of the external device is updated to fourth identification information;

[0056] In response to the identification information update request, searching the memory for the target storage interval bound to the external device;

[0057] The first identification information stored in the target storage interval is updated using the fourth identification information.

[0058] According to an embodiment of the present application, there is also provided an identification information configuration system, including:

[0059] The server includes a startup controller and a management controller, wherein the startup controller and the management controller are respectively connected to a memory in the server;

[0060] The startup controller is used to identify the external device connected to the server during the initial startup of the server; allocate a target storage interval for each of the external devices in the memory deployed in the server, and establish a binding relationship between the target storage interval and the external device;

[0061] The management controller is configured to, when detecting that the server has completed startup, obtain first identification information of the external device, wherein the first identification information is used to indicate a physical access location of the external device in the server; and write the first identification information into the target storage interval bound to the external device in the memory;

[0062] The startup controller is also used to extract the first identification information stored in the target storage interval during the process of restarting the server; use the first identification information and the second identification information to construct target identification information for the external device, wherein the second identification information is assigned by the startup controller to the external device identified during the initial startup of the server, and the second identification information is used to indicate the logical location of the external device in the server's operating system, and the operating system is used to use the target identification information to maintain the operating status of the external device.

[0063] According to another embodiment of the present application, an identification information configuration device is provided, the device being applied to a startup controller in a server, comprising:

[0064] An identification module, used to identify an external device connected to the server during the initial startup of the server;

[0065] an allocation module, configured to allocate a target storage interval in the memory deployed in the server for each of the external devices, and to establish a binding relationship between the target storage interval and the external device, wherein the management controller is configured to obtain first identification information of the external device when detecting that the server has completed startup, and write the first identification information into the target storage interval bound to the external device in the memory, wherein the first identification information is used to indicate a physical access location of the external device in the server;

[0066] A first extraction module, configured to extract the first identification information stored in the target storage interval during the restart of the server;

[0067] A first construction module is used to use the first identification information and the second identification information to construct target identification information for the external device, wherein the second identification information is assigned by the startup controller to the identified external device during the initial startup of the server, and the second identification information is used to indicate the logical location of the external device in the server's operating system, and the operating system is used to use the target identification information to maintain the operating status of the external device.

[0068] According to another embodiment of the present application, an identification information configuration device is provided, and the device is applied to a management controller in a server, including:

[0069] A first acquisition module is used to acquire first identification information of an external device connected to the server system when detecting that the server has completed startup, wherein the first identification information is used to indicate a physical access location of the external device in the server;

[0070] A first writing module is used to write the first identification information into a target storage interval bound to the external device in a memory deployed in the server, wherein the target storage interval is allocated by the startup controller for the external device in the memory during the initial startup of the server, and the startup controller is used to extract the first identification information stored in the target storage interval during the next startup of the server, and use the first identification information and the second identification information to construct target identification information for the external device, the second identification information is allocated by the startup controller to the identified external device during the initial startup of the server, and the second identification information is used to indicate the logical location of the external device in the server's operating system, and the operating system is used to use the target identification information to maintain the operating status of the external device.

[0071] According to another embodiment of the present application, a computer-readable storage medium is provided, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when run.

[0072] According to another embodiment of the present application, an electronic device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0073] According to another embodiment of the present application, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the steps in any of the above method embodiments are implemented.

[0074] Through the present application, during the initial startup of the server, the startup controller in the server identifies the external device connected to the server, allocates the second identification information for indicating the logical location of the external device in the server's operating system to the identified external device, allocates a target storage interval for each external device in the memory deployed in the server, and constructs a binding relationship between the target storage interval and the external device, so that the management controller can obtain the first identification information of the external device for indicating its physical access location in the server when detecting that the server has completed the startup, and write the first identification information into the target storage interval bound to the external device in the memory, and then during the server restart process, the startup controller can extract the first identification information in the target storage interval, and use the first identification information and the second identification information to construct the target identification information for the external device, and then the operating system can use the target identification information to maintain the operating status of the external device. Therefore, the problem of low maintenance efficiency of the server for external devices in the related art can be solved, and the effect of improving the maintenance efficiency of the server for external devices can be achieved. BRIEF DESCRIPTION OF THE DRAWINGS

[0075] Figure 1 It is a hardware structure block diagram of a server device of an identification information configuration method according to an embodiment of the present application;

[0076] Figure 2 This is a flow chart of a method for configuring identification information according to an embodiment of the present application. Figure 1 ;

[0077] Figure 3 is a definition table diagram of a VPD readable and writable keyword according to an embodiment of the present application;

[0078] Figure 4 This is a flow chart of a method for configuring identification information according to an embodiment of the present application. Figure 2 ;

[0079] Figure 5 is a schematic diagram of a VPD keyword format according to an embodiment of the present application;

[0080] Figure 6 It is an overall structural block diagram of out-of-band real-time update of silk-screen information of a server PCIe device according to an embodiment of the present application;

[0081] Figure 7 is a diagram of a definition table of an Offset field in a VPD according to an embodiment of the present application;

[0082] Figure 8 This is a BMC web screen printing editing management interface diagram according to an embodiment of the present application;

[0083] Fig. 9 It is a design flow chart of out-of-band real-time update of server PCIe device silk screen information implemented by using MCTP over PCIe protocol according to an embodiment of the present application;

[0084] Fig.10 A structural frame of an identification information configuration device according to an embodiment of the present application Figure 1 ;

[0085] Fig.11 A structural frame of an identification information configuration device according to an embodiment of the present application Figure 2 . DETAILED DESCRIPTION

[0086] The embodiments of the present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.

[0087] It should be noted that the terms "first", "second", etc. in the specification and claims of this application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.

[0088] The method embodiments provided in the embodiments of the present application can be executed in a server device or a similar computing device. Taking running on a server device as an example, Figure 1 1 is a hardware structure block diagram of a server device of an identification information configuration method according to an embodiment of the present application. Figure 1 As shown, the server device may include one or more ( Figure 1 Only one is shown in the figure) a processor 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 for storing data, wherein the above-mentioned server device may also include a transmission device 106 and an input / output device 108 for communication functions. It can be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the above server device. Figure 1 More or fewer components as shown, or with Figure 1 Different configurations are shown.

[0089] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the identification information configuration method in the embodiment of the present application. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, to implement the above method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include a memory remotely arranged relative to the processor 102, and these remote memories may be connected to the server device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0090] The transmission device 106 is used to receive or send data via a network. The specific example of the above network may include a wireless network provided by a communication provider of the server device. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 can be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0091] In this embodiment, a method for configuring identification information is provided, and the method is applied to a startup controller in a server. Figure 2This is a flow chart of a method for configuring identification information according to an embodiment of the present application. Figure 1 ,like Figure 2 As shown, the process includes the following steps:

[0092] Step S202, during the initial startup of the server, identifying an external device connected to the server;

[0093] Step S204, allocating a target storage interval in the memory deployed in the server for each of the external devices, and establishing a binding relationship between the target storage interval and the external device, wherein the management controller is used to obtain first identification information of the external device when detecting that the server has completed startup, and write the first identification information into the target storage interval bound to the external device in the memory, wherein the first identification information is used to indicate a physical access location of the external device in the server;

[0094] Step S206, extracting the first identification information stored in the target storage interval during the process of restarting the server;

[0095] Step S208, using the first identification information and the second identification information to construct target identification information for the external device, wherein the second identification information is assigned by the startup controller to the identified external device during the initial startup of the server, and the second identification information is used to indicate the logical location of the external device in the server's operating system, and the operating system is used to use the target identification information to maintain the operating status of the external device.

[0096] Through the above steps, during the initial startup of the server, the startup controller in the server identifies the external device connected to the server, allocates the second identification information for indicating the logical location of the external device in the server's operating system to the identified external device, allocates a target storage interval for each external device in the memory deployed in the server, and constructs a binding relationship between the target storage interval and the external device, and then the management controller can obtain the first identification information of the external device for indicating its physical access location in the server when detecting that the server has completed the startup, and write the first identification information into the target storage interval bound to the external device in the memory, and then during the server restart process, the startup controller can extract the first identification information in the target storage interval, and use the first identification information and the second identification information to construct the target identification information for the external device, and then the operating system can use the target identification information to maintain the operating status of the external device. Therefore, the problem of low maintenance efficiency of the server for external devices in the related art can be solved, and the effect of improving the maintenance efficiency of the server for external devices can be achieved.

[0097] Optionally, in an embodiment of the present application, the boot controller is a device deployed in the server for controlling the startup and operation of the server system. The boot controller identifies the external devices connected to the server during the initial startup of the server, and allocates second identification information for all external devices to indicate the logical location where the external devices are connected in the server's operating system, and creates a target storage interval with a binding relationship with each external device, and then extracts the first identification information stored in the target storage interval during the server's restart, and uses the first identification information and the second identification information to construct the target identification information for use by the operating system. The boot controller can be, but is not limited to, a BIOS (Basic Input Output System), or a device that deploys a control program with the function of controlling the server's startup status, and this solution does not limit this.

[0098] In the embodiment provided in the above step S202, the external device may be, but is not limited to, a device connected to the server by means of a physical connection. The external device may be, but is not limited to, a device connected to the server to support the business functions of the server, such as a network adapter card, an I / O expansion card, an acceleration card, a PCIE device, etc. This solution does not limit this.

[0099] In the embodiment provided in the above step S204, the memory may be a memory deployed in the server for storing server operation information, and then the startup controller may allocate a target storage interval for the external device in the memory storing other information in the server, and establish a binding relationship between the target storage interval and the external device, so that the storage interval can be used to store the identification information of the external device (including the first identification information and the second identification information), so that the startup controller and the management controller can obtain the identification information that is not known to themselves. In this embodiment, the same memory can be divided into multiple storage intervals, and the multiple storage intervals can be allocated to multiple different external devices for use.

[0100] Optionally, in an embodiment of the present application, the memory may also be a memory carried by an external device, which may be a memory for storing device information on the external device. Then, during the server startup process, the startup controller may scan the external device connected to the server, access the memory carried by the external device, and divide a target storage interval in an unoccupied storage interval in the memory for storing identification information of the current external device.

[0101] Optionally, in an embodiment of the present application, the memory deployed in the server is a device that can be divided into multiple storage intervals. The memory can be, but is not limited to, EEPROM (Electrically Erasable Programmable Read-Only Memory), NVRAM (Non-Volatile Random Access Memory), etc. This solution does not limit this.

[0102] Optionally, in an embodiment of the present application, the startup controller allocates a target storage interval for each external device in the memory deployed on the server. The target storage interval is used to store the first identification information of the external device, or the first identification information and the second identification information. The target storage interval can be a sub-cache space divided from the cache space of the memory, or it can be a data format stored in the memory. For example, the target storage interval can be VPD (Vendor Product Data, important product data). VPD records the part number, serial number and other information of the FRU (Field Replaceable Unit) device, which can uniquely identify the system's software and hardware, and can also store system microinstructions. VPD provides a mechanism for storing information such as device performance or faults. The software can fill the performance parameters or fault information of the PCIe device back into the VPD to facilitate device use or debugging.

[0103] Optionally, in an embodiment of the present application, the startup controller will construct a binding relationship between the target storage interval and the external device. The way in which the startup space constructs the binding relationship between the target storage interval and the external device may be, but is not limited to, marking the target storage interval by using the device information (for use) possessed by the external device. The way to mark the target storage interval may be to construct a mapping relationship between the device information and the target storage interval in the memory, or may also be to store the device information in the target storage interval. After the binding relationship between the target storage interval and the external device is constructed, the startup controller may determine the external device to which the target storage interval belongs through the binding relationship after subsequently accessing the target memory, thereby reading out the first identification information stored in the target storage space; similarly, the management controller may also access the memory when managing the devices in the server, thereby determining the external device to which the target storage interval belongs based on the binding relationship, and then storing the first identification information of the external device in the target storage interval, thereby ensuring the matching relationship between the identification information and the external device, and avoiding incorrect configuration of the identification information.

[0104] Optionally, in an embodiment of the present application, the management controller is a device deployed in the server for managing the operating status of the access device. The management controller is used to obtain the first identification information of the external device when detecting that the server startup is complete, and write the first identification information into the target storage interval bound to the external device. The management controller can be but is not limited to a BMC (Baseboard Management Controller), FPGA (Field-Programmable Gate Array), etc., and this solution does not limit this.

[0105] Optionally, in an embodiment of the present application, the first identification information is used to indicate the physical access location of the external device in the server. For example, the first identification information may be but is not limited to identification information printed on the device (ie, the silk screen information or silk screen number of the device).

[0106] In the embodiment provided by the above step S206, the startup controller extracts the first identification information written by the management controller from the target storage interval during the process of restarting the server.

[0107] In the embodiment provided in the above step S208, the second identification information is used to indicate the logical position of the external device connected in the operating system of the server. The second identification information may be, but is not limited to, an identifier (i.e., a slot number) assigned to a specific physical position of a pluggable device or module on the system motherboard. For example, the slot number (slot number) of each external device is currently assigned by the boot controller, and is generally arranged in order from CPU0PE1~PE4, CPU1PE1~PE4, CPU2PE1~PE4, CPU3PE1~PE4. If CPU0PE1 has two X8 devices, the slot numbers of these two devices are 0 and 1. If CPU0PE2 has an X16 device, its slot number is 2, and so on. The correspondence between the physical position of each external device (i.e., the first identification information) and the CPUPE port (i.e., the second identification information) used by the device is not fixed.

[0108] Optionally, in an embodiment of the present application, the second identification information is assigned by the startup controller to the identified external device during the initial startup of the server. The second identification information can be stored in a target storage interval created by the startup controller for each external device, or can be stored in any other storage space in the server for storing data. After the startup controller obtains the first identification information written by the management controller from the target storage interval, it can use the first identification information and the second identification information pre-stored during the initial startup of the server to construct target identification information. The target identification information is used to indicate the mapping relationship between the first identification information and the second identification information, so that the server operating system can use the target identification information to maintain the operating status of each external device.

[0109] As an optional embodiment, extracting the first identification information stored in the target storage interval includes:

[0110] Filtering out a target storage interval whose storage interval identifier matches the device information of the external device from the storage intervals included in the memory, wherein the storage interval identifier is used to indicate the device to which the corresponding storage interval belongs;

[0111] The first identification information is extracted from the target storage interval according to configuration information corresponding to the target storage interval, wherein the configuration information is used to indicate the data storage status of each byte position in the target storage interval.

[0112] Optionally, in an embodiment of the present application, for each external device, the startup controller will use the device information corresponding to the external device (such as serial number, model, etc.) as a keyword to match it with the storage interval identifier carried by the storage interval included in the memory, and then filter out from multiple storage intervals the target storage interval whose device information indicated by the storage interval identifier is consistent with the device information of the external device.

[0113] Optionally, in an embodiment of the present application, after the startup controller finds the target storage interval corresponding to the external device, it will read the configuration information of the target storage interval, where the configuration information is used to indicate the data storage status of each byte position in the target storage interval, such as the starting position, length, type (such as text, number or mixed format) and encoding method (such as ASCII, UTF-8) of the data byte, etc., and then the startup controller will decode the data in the target storage interval, determine the byte position for storing the first identification information, and extract the first identification information from the corresponding byte position.

[0114] Through the above manner, the startup controller can accurately search for and obtain the first identification information of the external device, and achieve accurate matching of the first identification information, thereby improving the management efficiency and maintenance convenience of the server.

[0115] As an optional embodiment, extracting the first identification information from the target storage interval according to the configuration information corresponding to the target storage interval includes:

[0116] Searching for a first offset field stored in the configuration information, wherein the first offset field is used to indicate a location of identification information representing a physical access location of the external device in the server in the target storage interval;

[0117] The field stored at the field position indicated by the first offset field is determined as the first identification information.

[0118] Optionally, in an embodiment of the present application, the configuration information of the target storage interval is configured after the boot controller and the management controller write data to the target storage interval, that is, after the boot controller writes the second identification information assigned to each external device into the target storage interval during the initial startup phase of the server, it will edit the offset field corresponding to the second identification information according to the position of the second identification information in the target storage interval, and after the management controller writes the first identification information of each external device into the target storage interval, it will edit the offset field corresponding to the first identification information according to the position of the first identification information in the target storage interval. For example: BMC stores the silk screen information in the field starting at offset position 158 in the VPD, and sets the first offset field to 158 in the configuration information. When the BIOS subsequently extracts the silk screen information from the VPD, the data stored at the 158th field position is determined as the silk screen information.

[0119] According to the above content, the first identification information of the external device can be accurately read in the target storage interval by searching the first offset field in the configuration information, thereby improving the automation level and reliability of server hardware management.

[0120] As an optional embodiment, before searching the first offset field stored in the configuration information, the method further includes:

[0121] Searching for a second offset field stored in the configuration information, wherein the second offset field is used to indicate the position of identification information representing a logical position where the external device is connected in the operating system of the server in the target storage interval;

[0122] Extracting third identification information stored at a field position indicated by the second offset field in the target storage interval, wherein the third identification information is stored by the startup controller after allocating the target storage interval, and the third identification information is used to indicate a logical position of an external device to which the target storage interval belongs in the operating system of the server;

[0123] Matching the third identification information with the second identification information stored in the startup controller;

[0124] When the third identification information matches the second identification information, an operation of searching for the first offset field stored in the configuration information is performed.

[0125] Optionally, in an embodiment of the present application, during the server startup process, the BIOS (boot controller) first enumerates all external devices connected through the PCIe bus and assigns a slot number (second identification information) to each device. On the one hand, the BIOS will record the slot number and store it in the configuration data of the BIOS; on the other hand, the BIOS will store the slot number in the target storage interval after allocating the target storage interval. When the BIOS needs to read the silkscreen information (first identification information) of the device, it will first search for the second offset field in the target storage interval configuration information. The second offset field indicates the position of the third identification information in the target storage interval. Then, according to the field position indicated by the second offset field, the BIOS extracts the third identification information from the target storage interval and compares and matches it with the second identification information stored in itself. If the third identification information matches the second identification information, this indicates that the data in the target storage interval does belong to the external device identified by the BIOS, and then performs the operation of searching for the first offset field stored in the configuration information.

[0126] Through the above content, after the startup controller allocates a target storage interval for the external device, it can store the second identification information stored for the external device in the target storage interval (i.e., the third identification information), and the startup controller will also store the original second identification information assigned to the external device. Furthermore, before reading the first identification information from the target storage interval, the startup controller verifies the consistency of the second identification information and the third identification information of the device, thereby ensuring that the identification information stored in the target storage interval belongs to the same device, thereby avoiding data reading errors or device information confusion.

[0127] As an optional embodiment, allocating a target storage interval for each of the external devices in the memory deployed in the server includes:

[0128] Detecting a reference memory carried by the external device, wherein the reference memory is a memory for storing device operation information of the external device, and the memory includes the reference memory;

[0129] Acquire a reference keyword of each storage interval in the reference memory, wherein the reference keyword is used to indicate the data storage status of each storage interval in the reference memory;

[0130] In the case that there is a first keyword among the plurality of reference keywords, a storage interval corresponding to the first keyword is determined as the target storage interval, wherein the storage interval corresponding to the first keyword is in an unoccupied state.

[0131] Optionally, in an embodiment of the present application, the memory used to store identification information can be a memory carried by the external device itself, that is, the server can use the storage space of the external device itself to store the first identification information and the second identification information of the external device. This mechanism not only reduces the burden on the server's main memory, but also ensures the portability of the device identification information and the automatic updating of the identification information when the device is replaced, because the memory for storing these identification information is located in the external device itself, no matter which server or slot the device is inserted into, its identification information can be migrated along with the external device without the need for the server to reconfigure or update the hardware information.

[0132] Optionally, in the embodiment of the present application, when the server is started, the startup controller will ensure that the target storage interval allocated to each external device is appropriate and unoccupied. The reference keyword is a special identifier used to describe the type of storage interval and data storage status, such as whether it is occupied, storage type, available space, etc. By reading these keywords, the server can understand which storage intervals in the reference memory are free and can be used to store new information. The first keyword is used to indicate that the corresponding storage interval is in an unoccupied state. Figure 3 is a definition table diagram of a VPD readable and writable keyword according to an embodiment of the present application, such as Figure 3 As shown, the keyword "RW" indicates that the interval is a readable and writable storage space, which can be used to store data information of the device.

[0133] Through the above content, by detecting the reference memory of the external device and using the free storage area therein to store the identification information of the external device, when the device is moved between different servers or slots, its identification information can be migrated with the device, without the need to reconfigure the server or update hardware information, thereby reducing maintenance costs and operational complexity.

[0134] As an optional embodiment, allocating a target storage interval for each of the external devices in the memory deployed in the server includes:

[0135] Detecting a target memory deployed in the server, wherein the target memory is a memory in the server for storing the server operation information, and the memory includes the target memory;

[0136] Acquire a target keyword for each storage interval in the target memory, wherein the target keyword is used to indicate a data storage condition of each storage interval in the target memory;

[0137] In the case that there is a second keyword among the plurality of target keywords, a storage interval corresponding to the second keyword is determined as the target storage interval, wherein the storage interval corresponding to the second keyword is in an unoccupied state.

[0138] Optionally, in an embodiment of the present application, the memory used to store identification information can also be any non-volatile storage medium inside the server, such as EEPROM, NVRAM or flash memory, etc. These memories are generally used to store the server's operating information, such as firmware version, system configuration and device status.

[0139] Optionally, in an embodiment of the present application, the target keyword is used to indicate the data storage status of the storage interval, such as whether it is occupied, storage type, available space, etc. By reading the target keyword, the startup controller can understand which storage intervals in the memory deployed in the server are free and which are occupied. Among multiple target keywords, if there is a second keyword indicating that the storage interval is in an unoccupied state, the startup controller can determine the storage interval corresponding to the second keyword as the target storage interval for storing the identification information of the external device.

[0140] Optionally, in an embodiment of the present application, it is allowed to divide the target storage interval from any storage interval in the server. The selection of the target storage interval can be continuous or discontinuous. As long as it is detected that there are enough free storage intervals in the server's memory, one or more storage intervals can be flexibly divided therefrom for storing the identification information of the external device.

[0141] In the above manner, by detecting the target memory in the server for storing server operation information and dividing any free storage interval therefrom as the target storage interval, waste of storage resources is avoided and the utilization rate of server storage resources is significantly improved.

[0142] As an optional embodiment, after allocating a target storage interval in the memory deployed in the server for each of the external devices and establishing a binding relationship between the target storage interval and the external device, the method further includes:

[0143] Acquire the second identification information allocated to the external device during the initial startup of the server;

[0144] The second identification information is written into the target storage interval, and a second offset field indicating the write position of the second identification information in the target storage interval is written into the configuration information corresponding to the target storage interval, wherein the configuration information is used to indicate the data storage status of the target storage interval.

[0145] Optionally, in an embodiment of the present application, during the initial startup of the server, after the startup controller allocates a target storage interval for each external device, it will write the second identification information allocated to the external device into the target storage interval, and write the second offset field used to indicate the write position of the second identification information in the target storage interval into the configuration information in the target storage interval, so as to facilitate the subsequent accurate reading of the second identification information. For example: if the BIOS (boot controller) stores the slot number (second identification information) in the field starting at offset position 169 in the VPD (target storage interval), then the BIOS will set the second offset field to 169 in the configuration information of the VPD.

[0146] Through the above content, when the server is first started, the startup controller not only allocates the target storage interval, but also writes the second identification information of the device and records the write location. This mechanism simplifies the management and positioning of device information and improves the automation and efficiency of server hardware information management.

[0147] As an optional embodiment, the using the first identification information and the second identification information to construct target identification information for the external device includes:

[0148] Constructing a target mapping relationship between the first identification information and the second identification information of each of the external devices;

[0149] The target mapping relationship is determined as the target identification information of the external device.

[0150] Optionally, in an embodiment of the present application, the mapping relationship between the first identification information and the second identification information will be determined as the target identification information of the external device. The construction of the target mapping relationship ensures the correspondence between the physical location and the logical location of the external device, which facilitates the subsequent management and monitoring of the external device by the server.

[0151] As an optional embodiment, the building of a binding relationship between the target storage interval and the external device includes:

[0152] Acquire the device information of the identified external device;

[0153] The target storage interval is marked using the device information.

[0154] Optionally, in an embodiment of the present application, the device information of the external device is used to characterize the device identity and attributes of the external device. The device information may include but is not limited to the device type, device serial number, device model, etc., and the device information corresponding to the external device can be used to mark the target storage interval to establish a binding relationship between the target storage interval and the external device.

[0155] In the above manner, by using device information to mark the target storage interval to build a binding relationship between the target storage interval and the external device, the complexity of redeveloping firmware for each model and configuration is reduced, making server hardware information management more standardized and automated.

[0156] In this embodiment, a method for configuring identification information is provided, and the method is applied to a management controller in a server. Figure 4 This is a flow chart of a method for configuring identification information according to an embodiment of the present application. Figure 2 ,like Figure 4 As shown, the process includes the following steps:

[0157] Step S402, when it is detected that the server has completed startup, obtaining first identification information of an external device connected to the server system, wherein the first identification information is used to indicate a physical access position of the external device in the server;

[0158] Step S404, writing the first identification information into a target storage interval bound to the external device in a memory deployed in the server, wherein the target storage interval is allocated by the startup controller for the external device in the memory during the initial startup of the server, and the startup controller is used to extract the first identification information stored in the target storage interval during the next startup of the server, and use the first identification information and the second identification information to construct target identification information for the external device, the second identification information is allocated by the startup controller to the identified external device during the initial startup of the server, and the second identification information is used to indicate the logical location of the external device in the operating system of the server, and the operating system is used to use the target identification information to maintain the operating status of the external device.

[0159] Optionally, in an embodiment of the present application, when the BMC (management controller) detects that the server has completed startup, it will obtain the silk screen information (first identification information) of the external device connected to the server system, and write the silk screen information into the VPD (target storage interval) bound to the memory and the external device. Then, when the server is restarted, the BIOS (boot controller) can extract the silk screen information written by the BMC from the VPD, and use the silk screen information and the slot number (second identification information) pre-assigned and stored by the BIOS when the server is first started to construct the target identification information. The target identification information is the mapping relationship between the silk screen information and the slot number of each external device, and the operating system can use the mapping relationship to maintain the operating status of the external device.

[0160] As an optional embodiment, writing the first identification information into a target storage interval in a memory deployed in the server and bound to the external device includes:

[0161] Obtaining device information of the external device;

[0162] Filtering out a target storage interval whose storage interval identifier matches the device information of the external device from the storage intervals included in the memory, wherein the storage interval identifier is used to indicate the device to which the corresponding storage interval belongs;

[0163] The first identification information is written into the target storage interval.

[0164] Optionally, in an embodiment of the present application, for each external device, the management controller will use the device information corresponding to the external device (such as serial number, model, etc.) as a keyword to match it with the storage interval identifier carried by the storage interval included in the memory, and then filter out from multiple storage intervals a target storage interval whose device information indicated by the storage interval identifier is consistent with the device information of the external device. After finding the target storage interval corresponding to the external device, the management controller writes the first identification information into the target storage interval.

[0165] By means of the above method, the management controller can write the first identification information corresponding to each external device into the target storage interval corresponding to the external device, thereby avoiding the problem of mismatch between the external device and the device indicated by the first identification information.

[0166] As an optional embodiment, writing the first identification information into the target storage interval includes:

[0167] searching for an unoccupied target byte position in the target storage interval according to the configuration information of the target storage interval;

[0168] The first identification information is written into the target byte position, and a first offset field corresponding to the target byte position is written into the configuration information, wherein the first offset field is used to indicate the position of the target byte position in the target storage area.

[0169] Optionally, in an embodiment of the present application, after detecting that the server has been started, the management controller will ensure that there is an unoccupied byte position in the target storage interval of each external device for writing the first identification information, and then write the first identification information into the unoccupied byte position, and write the unoccupied byte position information into the configuration information. For example: BMC searches for the readable and writable keyword "RW" in VPD, and the readable and writable keyword indicates that the interval is a readable and writable storage space that can be used to store device data information. Assuming that the field indicated by "RW" is the field starting at offset position 155, the BMC stores the silk screen information (first identification information) in the field starting at offset position 155 in VPD, and sets the first offset field to 158 in the configuration information.

[0170] Through the above method, the first identification information is written into an unoccupied byte of the target storage interval, and the byte information is written into the configuration information of the target storage interval. This not only avoids conflicts in storage space in the target storage interval, but also facilitates the subsequent accurate extraction of the first identification information from the target storage interval by the startup controller, thereby improving the configuration efficiency of the identification information in the server.

[0171] As an optional embodiment, after writing the first identification information into a target storage interval bound to the external device in a memory deployed in the server, the method further includes:

[0172] extracting the second identification information of the external device stored in the target storage interval;

[0173] Establishing a target mapping relationship between the first identification information and the second identification information of the external device;

[0174] The target mapping relationship is sent to a display terminal that has a binding relationship with the server, wherein the display terminal is used to display the target mapping relationship and manage the devices connected to the server according to the target mapping relationship.

[0175] Optionally, in an embodiment of the present application, after the BMC (management controller) writes the silkscreen information (first identification information) into the VPD (target storage interval) of the external device, the BMC can extract the slot number (second identification information) assigned by the BIOS (boot controller) to the external device from the VPD, and construct a mapping relationship between the silkscreen information and the slot number, and send it to a display terminal that has a binding relationship with the server. For example: the BMC uses MCTP over PCIe to read the device slot number from each PCIe device VPD, construct a target mapping relationship between each slot number and the silkscreen information, and the target mapping relationship is sent to a display terminal that has a binding relationship with the server through a management interface (such as IPMI or Redfish), such as a remote management interface or a server management software interface. After receiving the target mapping relationship, the display terminal can display it to the user or administrator, so that they can intuitively understand the specific location and status of each external device in the server. The display terminal can also perform device management operations such as device monitoring, configuration modification, and troubleshooting based on the received target mapping relationship without directly accessing the server's hardware or operating system.

[0176] Through the above method, by constructing and sending the target mapping relationship to the display terminal, the device management is made more visual, which is convenient for maintenance personnel to perform equipment monitoring and management tasks and improve the efficiency of remote operation and maintenance.

[0177] Optionally, in an embodiment of the present application, a display terminal is configured for the management controller, and a display interface (such as a web interface) that is bound to the management controller is displayed on the display terminal, and a mapping relationship between the first identification information and the second identification information of the external device is displayed on the display interface. Furthermore, the server administrator can also configure the first identification information for the external device through the display interface in the display terminal, and after reconfiguring the first identification information, the management controller can respond to the configuration result and synchronously update the updated first identification information to the target storage interval corresponding to the external device. In order to ensure the accuracy of the first identification information configured in the server, the server can also be configured with an image recognition device, which is used to identify the hardware connection image in the server and the reference identification information marked on the hardware (silk screen information indicating the physical access location of the device in the server) and the hardware layout information in the server. The management controller can then use the hardware layout logic to predict the candidate identification information (i.e., the slot number) indicating the logical location of the external device, and then match the candidate identification information and the second identification information of the external device, as well as match the reference identification information with the first identification information. When the candidate identification information and the second identification information match consistently, and the reference identification information matches consistently with the first identification information, it can be determined that the first identification information currently configured in the server by the administrator through the management interface is accurate, and the update operation of the first identification information in the target storage area is started.

[0178] As an optional embodiment, extracting the second identification information of the external device stored in the target storage interval includes:

[0179] Extracting a third offset field stored in the configuration information of the target storage interval, wherein the third offset field is used to indicate the position of identification information representing the logical position of the external device connected in the operating system of the server in the target storage interval;

[0180] The second identification information stored in the field position indicated by the third offset field in the target storage interval is extracted.

[0181] Optionally, in the embodiment of the present application, the third offset field is used to indicate the position of the second identification information in the target storage interval, and the management controller can query the third offset field stored in the configuration information of the target storage interval, and then extract the second identification information from the target storage interval according to the field position indicated by the third offset field. For example: the BMC queries from the configuration information of the VPD that the slot number of the external device A is stored in the field starting from the offset position 169 in the VPD, and then the BMC extracts the slot number information of the external device A from the field at the offset position 169 in the VPD.

[0182] As an optional embodiment, after writing the first identification information into a target storage interval bound to the external device in a memory deployed in the server, the method further includes:

[0183] receiving an identification information update request, wherein the identification information update request is used to indicate that the first identification information of the external device is updated to fourth identification information;

[0184] In response to the identification information update request, searching the memory for the target storage interval bound to the external device;

[0185] The first identification information stored in the target storage interval is updated using the fourth identification information.

[0186] Optionally, in an embodiment of the present application, when the server maintenance personnel changes the physical location of the hardware device, or the device itself is updated or replaced, the management controller of the server (such as BMC) receives an identification information update request from the user through its web management interface, RESTful interface or any other management interface. The update request includes the device information of the external device and the new silk screen information (i.e., the fourth identification information). After receiving the update request, the BMC searches the server's memory for the VPD bound to the external device specified in the request through the device information of the external device. The BMC writes the received fourth identification information (new silk screen information) into the found VPD, overwriting the original first identification information. After the update is completed, the logical position of the external device in the server is synchronized with the physical position of the external device, thereby ensuring the accuracy and consistency of the server hardware information.

[0187] Optionally, in an embodiment of the present application, the startup controller may use an access protocol for accessing an external device or a memory to obtain the first identification information from the memory or write the first identification information to the memory. The access protocol may include but is not limited to the MCTP over PCIe protocol.

[0188] Through the above method, different models and different configurations no longer need to develop BIOS BMC firmware. Only the BMC silk screen management web interface or silk screen restful interface can be used to update the server chassis silk screen to the BMC BIOS firmware, thereby improving the accuracy of automatic matching of PCIe and hard disk slot silk screens and improving matching efficiency.

[0189] According to an embodiment of the present application, there is also provided an identification information configuration system, including:

[0190] The server includes a startup controller and a management controller, wherein the startup controller and the management controller are respectively connected to a memory in the server;

[0191] The startup controller is used to identify the external device connected to the server during the initial startup of the server; allocate a target storage interval for each of the external devices in the memory deployed in the server, and establish a binding relationship between the target storage interval and the external device;

[0192] The management controller is configured to, when detecting that the server has completed startup, obtain first identification information of the external device, wherein the first identification information is used to indicate a physical access location of the external device in the server; and write the first identification information into the target storage interval bound to the external device in the memory;

[0193] The startup controller is also used to extract the first identification information stored in the target storage interval during the process of restarting the server; use the first identification information and the second identification information to construct target identification information for the external device, wherein the second identification information is assigned by the startup controller to the external device identified during the initial startup of the server, and the second identification information is used to indicate the logical location of the external device in the server's operating system, and the operating system is used to use the target identification information to maintain the operating status of the external device.

[0194] Optionally, in an embodiment of the present application, the identification information configuration system includes a startup controller and a management controller, and the startup controller and the management controller are respectively connected to the storage in the server. The specific implementation process of the system is described in detail below with reference to a specific example:

[0195] S1: During the initial startup of the server, the BIOS enumerates and identifies all external devices connected to the server (such as PCIe devices), assigns a slot number (second identification information) to each identified external device, and opens a VPD interval custom storage area (target storage interval) in the server memory (such as EEPROM or NVRAM) for storing the slot number of the device.

[0196] S2: BIOS builds a binding relationship between the VPD and the external device to ensure that each external device has its unique corresponding storage interval for storing identification information.

[0197] S3: When the server completes startup, the BMC monitors the completion of the server startup process through the south bridge (PCH) or directly through the PCIe bus. The BMC enumerates all external devices on the server and obtains the silkscreen information (first identification information) of each device. The BMC uses the MCTP over PCIe protocol to write the obtained silkscreen information into the VPD bound to the external device.

[0198] S4: When the server is restarted, the BIOS retrieves the silkscreen information stored in the VPD corresponding to each external device by querying the configuration information in the VPD in the memory.

[0199] S5: BIOS combines the silk-screen information and the slot number to construct target identification information for each external device, where the slot number is assigned by BIOS to each device during the initial startup of the server in step S1, and is used to indicate the logical position of the device in the operating system. The constructed target identification information is used to indicate the mapping relationship between the physical position of the external device and its logical position in the server system.

[0200] S6: When the first identification information (silk screen information) of the external device changes, the BMC receives an identification information update request sent by the outside world (such as server maintenance personnel or automated management software) through a web management interface or a RESTful interface. The request includes device information of the external device and fourth identification information (updated silk screen information).

[0201] S7: The BMC parses the update request, locates the external device specified in the request, and searches for the target storage range (VPD) of the device.

[0202] S8: The BMC uses the MCTP over PCIe protocol to write the fourth identification information (updated silk-screen information) into the target storage interval, overwriting the original first identification information to achieve real-time update.

[0203] S9: During the subsequent boot process of the server, the BIOS reads the VPD configuration information in the memory, extracts the updated silkscreen information stored in the VPD of each external device, and combines the updated silkscreen information with the slot number to construct new target identification information for each device, and provides it to the operating system for use, thereby realizing real-time update and consistent management of device information.

[0204] Through the above method, the relationship between the slot and the silk screen is implemented and stored in the device VPD, so as to achieve unified and standardized equipment silk screen information management, avoid the disadvantage that the transmission chassis silk screen adaptation method requires each model and each configuration to redevelop the firmware version, and the silk screen firmware adaptation work is more efficient, reducing development costs and more user-friendly design.

[0205] In order to better understand the above process, the above process is described in conjunction with an optional embodiment. In this embodiment, the external device is a PCIe device as an example, the boot controller is the BIOS in the server as an example, and the management controller is the BMC in the server as an example: In this embodiment, a method for real-time out-of-band update of the silkscreen information of a server PCIe device implemented using the MCTP over PCIe protocol is provided. The method includes: opening a custom storage area (target storage interval) in the VPD interval to store the slot number (second identification information) and the silkscreen string (first identification information). Construct a general BIOS to use the pci.write() PCIe device configuration space read and write function to write the device's Capability: VPD slot information function. After the BIOS is turned on, a fixed slot number (Slot1~n) is assigned to each PCIe device and then written to the VPD. Construct a BMC web silkscreen editing management interface to facilitate users to flexibly change the silkscreen information corresponding to each device slot number. Establish a program for BMC to use MCTPover PCIe to read the device slot number from each PCIe device VPD and write the silkscreen information corresponding to the slot number of each device. Construct a general BIOS function to read VPD silkscreen information, so that the corresponding slot silkscreen of each device can be displayed in the BIOS setup. Build a BMC device monitoring program. When the device in the same slot is replaced, the device serial number changes, and the silkscreen information of this slot is rewritten into the VPD space of the new device. Construct a BMC out-of-band restful interface for silkscreen update to facilitate the automatic update of silkscreen during production of servers and batch silkscreen update of data center equipment. In order to solve the problem that manual operation is prone to misreading and inefficiency, the traditional chassis silkscreen adaptation method requires the development and design of the corresponding firmware version for each model and each configuration, and the silkscreen firmware adaptation work is cumbersome and inefficient.

[0206] The specific implementation process is as follows:

[0207] 1) Set the VPD keyword format. VPD contains multiple sets of keyword information. Figure 5 is a schematic diagram of a VPD keyword format according to an embodiment of the present application, such as Figure 5 As shown, the format of a set of keyword information is: keyword information = 2Byte keyword name + 1Byte keyword length + nByte keyword data.

[0208] Establish the connection between VPD and PCIe settings, and store the slot number and silkscreen string. Figure 6 This is an overall structural block diagram of an out-of-band real-time update of the silk-screen information of a server PCIe device according to an embodiment of the present application. The overall structural framework is as follows Figure 6As shown, after the VPD establishes a connection with the PCIe device, the CPU reads the data information of the VPD and transmits it. The data information is transmitted to the BMC through the south bridge chip PCH. The CPU connects to the BIOS through the south bridge chip PCH to control the system.

[0209] 2) Create a custom storage area in the VPD interval. Use the VPD readable and writable keyword "RW". The readable and writable keyword records the performance parameters, error codes or other key information of the device, which is readable and writable by the software. The currently defined types of readable and writable VPD keywords are as follows: Figure 3 shown.

[0210] Figure 7 is a definition table diagram of the Offset field in a VPD according to an embodiment of the present application, such as Figure 7 As shown, some areas in the offset 158-219 interval are specifically used, for example, "Slot1:PCIe1" occupies 11 bytes, which are used to store the slot number and the silkscreen string.

[0211] 3) Construct a general BIOS and use the pci.write() PCI device configuration space read and write function to write the device's Capability: VPD slot information function. After the BIOS is turned on, it assigns a fixed slot number (Slot1~n) to each PCIe device and writes VPD.

[0212] For example: PCI configuration space: pci_write_config_byte / word / dword(struct pci _dev *pdev, int offset, int *value);

[0213] VPD CapabilitylD has a fixed value of 0x03 and is defined as follows:

[0214] / / ;

[0215] / / PCI Capability List IDs and records;

[0216] / / ;

[0217] #define EFI_PCI_CAPABILITY_ID_PMI 0x01;

[0218] #define EFI_PCI_CAPABILITY_ID_AGP 0x02;

[0219] **#define EFI_PCI_CAPABILITY_ID_VPDB 0x03**;

[0220] #define EFI_PCI_CAPABILITY_ID_SLOTID 0x04;

[0221] #define EFI_PCI_CAPABILITY_ID_MSI 0x05;

[0222] #define EFI_PCI_CAPABILITY_ID_HOTPLUG 0x06;

[0223] #define EFI_PCI_CAPABILITY_ID_PCIX 0x07;

[0224] 4) Construct the BMC web silkscreen editing management interface. Figure 8 : is a BMC web screen printing editing management interface diagram according to an embodiment of the present application, such as Figure 8 As shown, it is convenient for users to flexibly change the silkscreen information corresponding to each device slot number.

[0225] 5) Establish a program for BMC to use MCTP over PCIe to read the device slot number from each PCIe device VPD and write the silkscreen information corresponding to the slot number of each device.

[0226] Sample code: Demonstrates how to use MCTP over PCIe communication in a Linux environment:

[0227] #include<stdio.h> ;

[0228] #include<stdlib.h> ;

[0229] #include<string.h> ;

[0230] #include<unistd.h> ;

[0231] #include<fcntl.h> ;

[0232] #include<sys / ioctl.h> ;

[0233] #include<linux / pci.h> ;

[0234] / / MCTP message structure;

[0235] typedef struct {;

[0236] uint8_t header;

[0237] uint8_t data

[255] ;

[0238] uint8_t checksum;

[0239] } mctp_message_t;

[0240] / / Send MCTP message;

[0241] int send_mctp_message(int fd, mctp_message_t *message) {;

[0242] / / Encapsulate MCTP message into PCIe transaction;

[0243] / / Here it is assumed that there is already a function pci_send_message(fd, message) to send PCIe transactions;

[0244] return pci_send_message(fd, message);

[0245] };

[0246] / / Receive MCTP message;

[0247] int receive_mctp_message(int fd, mctp_message_t *message) {;

[0248] / / Extract MCTP messages from PCIe transactions;

[0249] / / Here it is assumed that there is already a function pci_receive_message(fd, message) to receive PCIe transactions;

[0250] return pci_receive_message(fd, message);

[0251] };

[0252] int main() {;

[0253] int fd;

[0254] mctp_message_t message;

[0255] / / Open the PCIe device file;

[0256] fd = open(" / dev / pcie_device", O_RDWR);

[0257] if (fd < 0) {;

[0258] perror("Failed to open PCIe device");

[0259] return -1;

[0260] };

[0261] / / Build MCTP message;

[0262] message.header = 0x01; / / Sample message header;

[0263] strcpy((char *)message.data, "Hello, MCTP!");

[0264] message.checksum = calculate_checksum(&message); / / Calculate the checksum;

[0265] / / Send MCTP message;

[0266] if (send_mctp_message(fd, &message) < 0) {;

[0267] perror("Failed to send MCTP message");

[0268] close(fd);

[0269] return -1;

[0270] };

[0271] / / Receive MCTP message;

[0272] if (receive_mctp_message(fd, &message) < 0) {;

[0273] perror("Failed to receive MCTP message");

[0274] close(fd);

[0275] return -1;

[0276] };

[0277] / / Print the received message;

[0278] printf("Received MCTP message: %s\n", message.data);

[0279] / / Close the PCIe device file;

[0280] close(fd);

[0281] return 0;

[0282] };

[0283] 6) Construct a general BIOS function to read VPD silkscreen information. Use the function with the construction number during the second boot of the server and write it to the smbios type9 field. The slot silkscreen corresponding to each device can be displayed in the BIOS setup.

[0284] / / ;

[0285] / / Get Pointer To capability List;

[0286] / / ;

[0287] CapabilityPtr =PciRead8(PCI_CAPBILITY_POINTER_OFFSET);

[0288] / / ;

[0289] / / Find capability ID axA, which Is For Debug Port;

[0290] / / ;

[0291] while(capabilityPtr!=0){;

[0292] CapabilityId=PciRead8(capabilityPtr);

[0293] if(CapabilityId == PCI CAPABILITY ID DEBUG PORT){;

[0294] Break;

[0295] };

[0296] CapabilityPtr=PciRead8(capabilityPtr+1);

[0297] };

[0298] Use the dmidecode command in the operating system to view the silkscreen data updated by the server: sudo dmidecode -t type9;

[0299] sh output example: # dmidecode 3.2;

[0300] Getting SMBIOS data from sysfs;

[0301] SMBIOS 2.8 present;

[0302] Handle 0x0016, DMI type 9, 13 bytes;

[0303] System Slot Information;

[0304] Designation: PCI Slot 2 (silkscreen number);

[0305] Type: 32-bit PCI;

[0306] Current Usage: Available;

[0307] Length: Long;

[0308] ID: 3 (slot number);

[0309] Characteristics:

[0310] 3.3 V is provided;

[0311] PME signal is supported;

[0312] 7) Build a BMC device monitoring program. When the device in the same slot is replaced and the device serial number changes, rewrite the silkscreen information of the slot into the VPD space of the new device.

[0313] 8) Construct a BMC out-of-band restful interface for silk screen update to facilitate automatic silk screen update of servers during production line production and batch silk screen update of data center equipment.

[0314] Fig. 9This is a design flow chart of out-of-band real-time update of server PCIe device silk screen information using MCTP over PCIe protocol according to an embodiment of the present application, such as Fig. 9 As shown in the figure, after the server is powered on, the BIOS startup process enumerates all PCIe devices and assigns a slot number to each device; the BIOS writes the slot number: Slot n, to the VPD read-write space of each PCIe device; the user enters the silkscreen string corresponding to each slot number in the BMC web management interface; the BMC uses MCTP overPCIe to read the VPD slot number of each PCIe device, and then writes the silkscreen string corresponding to the device; during the second startup of the server, the BIOS reads the silkscreen information in the VPD of each PCIe device and displays it in the BIOS Setup.

[0315] On the one hand, this solution implements the binding relationship between slots and silkscreens in the device VPD, achieving unified and standardized equipment silkscreen information management, avoiding the disadvantage that the transmission chassis silkscreen adaptation method requires each model and each configuration to redevelop the firmware version. The silkscreen firmware adaptation work is more efficient, reducing development costs and more user-friendly design. On the other hand, different models and different configurations do not need to develop BIOS BMC firmware. Only the BMC silkscreen management web interface or silkscreen restful interface can be used to update the server chassis silkscreen to the BMC BIOS firmware, improving the accuracy of automatic matching of PCIe and hard disk slot silkscreens and improving matching efficiency.

[0316] The key points of this solution are the improvement of the hardware system and the update of the software configuration: the improvement of the hardware structure, the use of the BMC silk screen management web interface or the silk screen restful interface to realize the update of the server chassis silk screen to the BMC BIOS firmware. The improvement of the software, the opening of the VPD interval custom storage area, used to store the slot number and silk screen string. After the BIOS is turned on, a fixed slot number (Slot1~n) is assigned to each PCIe device and then written to the VPD. Construct a BMC web silk screen editing management interface to facilitate users to flexibly change the silk screen information corresponding to each device slot number. Establish a program for BMC to use MCTP over PCIe to read the device slot number from the VPD of each PCIe device and write the silk screen information corresponding to the slot number of each device. Construct a general BIOS function to read the VPD silk screen information, and the slot silk screen corresponding to each device can be displayed in the BIOS setup. Build a BMC device monitoring program. When the device in the same slot is replaced, the device serial number changes. The silkscreen information of the slot is rewritten into the VPD space of the new device. The silkscreen firmware adaptation work is more efficient, which reduces development costs and is more user-friendly. It improves the accuracy of automatic matching of PCIe and hard disk slot silkscreens and improves matching efficiency.

[0317] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in each embodiment of the present application.

[0318] In the present embodiment, a device for configuring identification information is also provided, and the device is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made are not repeated here. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the device described in the following embodiments is preferably implemented in software, the implementation of hardware, or a combination of software and hardware is also possible and conceived.

[0319] Fig.10 A structural frame of an identification information configuration device according to an embodiment of the present application Figure 1 The device is applied to a startup controller in a server, such as Fig.10 As shown, the device comprises:

[0320] An identification module, used to identify an external device connected to the server during the initial startup of the server;

[0321] an allocation module, configured to allocate a target storage interval in the memory deployed in the server for each of the external devices, and to establish a binding relationship between the target storage interval and the external device, wherein the management controller is configured to obtain first identification information of the external device when detecting that the server has completed startup, and write the first identification information into the target storage interval bound to the external device in the memory, wherein the first identification information is used to indicate a physical access location of the external device in the server;

[0322] A first extraction module, configured to extract the first identification information stored in the target storage interval during the restart of the server;

[0323] A first construction module is used to use the first identification information and the second identification information to construct target identification information for the external device, wherein the second identification information is assigned by the startup controller to the identified external device during the initial startup of the server, and the second identification information is used to indicate the logical location of the external device in the server's operating system, and the operating system is used to use the target identification information to maintain the operating status of the external device.

[0324] Optionally, the first extraction module includes:

[0325] A first screening unit, configured to screen out a target storage interval whose carried storage interval identifier matches the device information of the external device from the storage intervals included in the memory, wherein the storage interval identifier is used to indicate the device to which the corresponding storage interval belongs;

[0326] The first extraction unit is configured to extract the first identification information from the target storage interval according to configuration information corresponding to the target storage interval, wherein the configuration information is used to indicate data storage conditions at each byte position in the target storage interval.

[0327] Optionally, the first extraction unit is further used for:

[0328] Searching for a first offset field stored in the configuration information, wherein the first offset field is used to indicate a location of identification information representing a physical access location of the external device in the server in the target storage interval;

[0329] The field stored at the field position indicated by the first offset field is determined as the first identification information.

[0330] Optionally, the device further includes:

[0331] A first search module is used to search for a second offset field stored in the configuration information before searching for the first offset field stored in the configuration information, wherein the second offset field is used to indicate the position of identification information representing the logical position of the external device connected in the operating system of the server in the target storage interval;

[0332] a second extraction module, configured to extract third identification information stored at a field position indicated by the second offset field in the target storage interval, wherein the third identification information is stored by the startup controller after allocating the target storage interval, and the third identification information is used to indicate a logical position of the external device to which the target storage interval belongs in the operating system of the server;

[0333] a matching module, configured to match the third identification information with the second identification information stored in the startup controller;

[0334] The second search module is used to perform an operation of searching for the first offset field stored in the configuration information when the third identification information and the second identification information match each other.

[0335] Optionally, the allocation module includes:

[0336] A first detection unit, configured to detect a reference memory carried by the external device, wherein the reference memory is a memory for storing device operation information of the external device, and the memory includes the reference memory;

[0337] a first acquiring unit, configured to acquire a reference keyword of each storage interval in the reference memory, wherein the reference keyword is used to indicate a data storage condition of each storage interval in the reference memory;

[0338] The first determining unit is configured to determine, when a first keyword exists in the plurality of reference keywords, a storage interval corresponding to the first keyword as the target storage interval, wherein the storage interval corresponding to the first keyword indication is in an unoccupied state.

[0339] Optionally, the allocation module further includes:

[0340] A second detection unit is used to detect a target memory deployed in the server, wherein the target memory is a memory in the server for storing the server operation information, and the memory includes the target memory;

[0341] A second acquisition unit, configured to acquire a target keyword of each storage interval in the target memory, wherein the target keyword is used to indicate a data storage condition of each storage interval in the target memory;

[0342] The second determining unit is configured to determine, when a second keyword exists in the plurality of target keywords, a storage interval corresponding to the second keyword as the target storage interval, wherein the storage interval corresponding to the second keyword is in an unoccupied state.

[0343] Optionally, the device further includes:

[0344] A second acquisition module is used to allocate a target storage interval for each of the external devices in the memory deployed in the server, and after building a binding relationship between the target storage interval and the external device, acquire the second identification information allocated to the external device during the initial startup of the server;

[0345] A second writing module is used to write the second identification information into the target storage interval, and write a second offset field indicating the write position of the second identification information in the target storage interval into the configuration information corresponding to the target storage interval, wherein the configuration information is used to indicate the data storage status of each byte position in the target storage interval.

[0346] Optionally, the first building block includes:

[0347] A construction unit, configured to construct a target mapping relationship between the first identification information and the second identification information of each of the external devices;

[0348] A third determining unit is used to determine the target mapping relationship as the target identification information of the external device.

[0349] Optionally, the first building module further includes:

[0350] A third acquiring unit, configured to acquire device information of the identified external device;

[0351] A marking unit is used to mark the target storage interval using the device information.

[0352] Fig.11 A structural frame of an identification information configuration device according to an embodiment of the present application Figure 2 , the device is applied to a management controller in a server, such as Fig.11 As shown, the device comprises:

[0353] A first acquisition module is used to acquire first identification information of an external device connected to the server system when detecting that the server has completed startup, wherein the first identification information is used to indicate a physical access location of the external device in the server;

[0354] A first writing module is used to write the first identification information into a target storage interval bound to the external device in a memory deployed in the server, wherein the target storage interval is allocated by the startup controller for the external device in the memory during the initial startup of the server, and the startup controller is used to extract the first identification information stored in the target storage interval during the next startup of the server, and use the first identification information and the second identification information to construct target identification information for the external device, the second identification information is allocated by the startup controller to the identified external device during the initial startup of the server, and the second identification information is used to indicate the logical location of the external device in the server's operating system, and the operating system is used to use the target identification information to maintain the operating status of the external device.

[0355] Optionally, the first writing module includes:

[0356] A fourth acquiring unit, configured to acquire device information of the external device;

[0357] A second screening unit, configured to screen out a target storage interval whose carried storage interval identifier matches the device information of the external device from the storage intervals included in the memory, wherein the storage interval identifier is used to indicate the device to which the corresponding storage interval belongs;

[0358] A writing unit is used to write the first identification information into the target storage interval.

[0359] Optionally, the writing unit is further used for:

[0360] searching for an unoccupied target byte position in the target storage interval according to configuration information of the target storage interval, wherein the configuration information is used to indicate a data storage condition of each byte position in the target storage interval;

[0361] The first identification information is written into the target byte position, and a first offset field corresponding to the target byte position is written into the configuration information, wherein the first offset field is used to indicate the position of the target byte position in the target storage area.

[0362] Optionally, the device further includes:

[0363] a third extraction module, configured to extract the second identification information of the external device stored in the target storage interval;

[0364] A second construction module, used to construct a target mapping relationship between the first identification information and the second identification information of the external device;

[0365] A sending module is used to send the target mapping relationship to a display terminal that has a binding relationship with the server, wherein the display terminal is used to display the target mapping relationship and manage the devices connected to the server according to the target mapping relationship.

[0366] Optionally, the third extraction module includes:

[0367] a second extraction unit, configured to extract a third offset field stored in the configuration information of the target storage interval, wherein the third offset field is used to indicate a position of identification information representing a logical position where the external device is connected in the operating system of the server in the target storage interval;

[0368] The third extraction unit is used to extract the second identification information stored in the field position indicated by the third offset field in the target storage interval.

[0369] Optionally, the device further includes:

[0370] A receiving module, configured to receive an identification information update request, wherein the identification information update request is used to indicate that the first identification information of the external device is updated to fourth identification information;

[0371] a response module, configured to respond to the identification information update request and search the memory for the target storage interval bound to the external device;

[0372] An updating module is used to update the first identification information stored in the target storage interval using the fourth identification information.

[0373] Through the above content, during the initial startup of the server, the startup controller in the server identifies the external device connected to the server, allocates the second identification information for indicating the logical location of the external device in the server's operating system to the identified external device, allocates a target storage interval for each external device in the memory deployed in the server, and constructs a binding relationship between the target storage interval and the external device, and then the management controller can obtain the first identification information of the external device for indicating its physical access location in the server when detecting that the server has completed the startup, and write the first identification information into the target storage interval bound to the external device in the memory, and then during the server restart process, the startup controller can extract the first identification information in the target storage interval, and use the first identification information and the second identification information to construct the target identification information for the external device, and then the operating system can use the target identification information to maintain the operating status of the external device. Therefore, the problem of low maintenance efficiency of the server for external devices in the related art can be solved, and the effect of improving the maintenance efficiency of the server for external devices can be achieved.

[0374] It should be noted that the above modules can be implemented by software or hardware. For the latter, it can be implemented in the following ways, but not limited to: the above modules are all located in the same processor; or the above modules are located in different processors in any combination.

[0375] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when running.

[0376] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk.

[0377] An embodiment of the present application further provides an electronic device, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0378] In an exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.

[0379] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps in any one of the above method embodiments are implemented.

[0380] An embodiment of the present application further provides another computer program product, including a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in any of the above method embodiments are implemented.

[0381] The embodiments of the present application also provide a computer program, which includes computer instructions, which are stored in a computer-readable storage medium; a processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs the steps in any one of the above method embodiments.

[0382] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.

[0383] Obviously, those skilled in the art should understand that the above modules or steps of the present application can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order from that herein, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present application is not limited to any specific combination of hardware and software.

[0384] The above description is only the preferred embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the principles of the present application shall be included in the protection scope of the present application.

Claims

1. A method for configuring identification information, characterized in that: The method is applied to a startup controller in a server, comprising: During the initial startup of the server, identifying an external device connected to the server; Allocating a target storage interval for each of the external devices in the memory deployed in the server, and establishing a binding relationship between the target storage interval and the external device, wherein the management controller is used to obtain first identification information of the external device when detecting that the server has completed startup, and write the first identification information into the target storage interval bound to the external device in the memory, wherein the first identification information is used to indicate a physical access location of the external device in the server; During the process of restarting the server, extracting the first identification information stored in the target storage interval; The first identification information and the second identification information are used to construct target identification information for the external device, wherein the second identification information is assigned by the startup controller to the identified external device during the initial startup of the server, and the second identification information is used to indicate the logical location of the external device in the server's operating system, and the operating system is used to use the target identification information to maintain the operating status of the external device.

2. The method according to claim 1, characterized in that The extracting the first identification information stored in the target storage interval includes: Filtering out a target storage interval whose storage interval identifier matches the device information of the external device from the storage intervals included in the memory, wherein the storage interval identifier is used to indicate the device to which the corresponding storage interval belongs; The first identification information is extracted from the target storage interval according to configuration information corresponding to the target storage interval, wherein the configuration information is used to indicate the data storage status of each byte position in the target storage interval.

3. The method according to claim 2, characterized in that The extracting the first identification information from the target storage interval according to the configuration information corresponding to the target storage interval includes: Searching for a first offset field stored in the configuration information, wherein the first offset field is used to indicate a location of identification information representing a physical access location of the external device in the server in the target storage interval; The field stored at the field position indicated by the first offset field is determined as the first identification information.

4. The method according to claim 3, characterized in that Before searching for the first offset field stored in the configuration information, the method further includes: Searching for a second offset field stored in the configuration information, wherein the second offset field is used to indicate the position of identification information representing a logical position where the external device is connected in the operating system of the server in the target storage interval; Extracting third identification information stored at a field position indicated by the second offset field in the target storage interval, wherein the third identification information is stored by the startup controller after allocating the target storage interval, and the third identification information is used to indicate a logical position of an external device to which the target storage interval belongs in the operating system of the server; Matching the third identification information with the second identification information stored in the startup controller; When the third identification information matches the second identification information, an operation of searching for the first offset field stored in the configuration information is performed.

5. The method according to claim 1, characterized in that: The allocating a target storage interval for each of the external devices in the memory deployed in the server includes: Detecting a reference memory carried by the external device, wherein the reference memory is a memory for storing device operation information of the external device, and the memory includes the reference memory; Acquire a reference keyword of each storage interval in the reference memory, wherein the reference keyword is used to indicate the data storage status of each storage interval in the reference memory; In the case that there is a first keyword among the plurality of reference keywords, a storage interval corresponding to the first keyword is determined as the target storage interval, wherein the storage interval corresponding to the first keyword is in an unoccupied state.

6. The method according to claim 1, characterized in that The allocating a target storage interval for each of the external devices in the memory deployed in the server includes: Detecting a target memory deployed in the server, wherein the target memory is a memory in the server for storing the server operation information, and the memory includes the target memory; Acquire a target keyword for each storage interval in the target memory, wherein the target keyword is used to indicate a data storage condition of each storage interval in the target memory; In the case that there is a second keyword among the plurality of target keywords, a storage interval corresponding to the second keyword is determined as the target storage interval, wherein the storage interval corresponding to the second keyword is in an unoccupied state.

7. The method according to claim 1, characterized in that After allocating a target storage interval in the memory deployed in the server for each of the external devices and establishing a binding relationship between the target storage interval and the external device, the method further includes: Acquire the second identification information allocated to the external device during the initial startup of the server; The second identification information is written into the target storage interval, and a second offset field indicating the write position of the second identification information in the target storage interval is written into the configuration information corresponding to the target storage interval, wherein the configuration information is used to indicate the data storage status of each byte position in the target storage interval.

8. The method according to claim 1, characterized in that The using the first identification information and the second identification information to construct target identification information for the external device includes: Constructing a target mapping relationship between the first identification information and the second identification information of each of the external devices; The target mapping relationship is determined as the target identification information of the external device.

9. The method according to claim 1, characterized in that: The step of constructing a binding relationship between the target storage interval and the external device includes: Acquire the device information of the identified external device; The target storage interval is marked using the device information.

10. A method for configuring identification information, characterized in that: The method is applied to a management controller in a server, and comprises: When it is detected that the server has completed startup, obtaining first identification information of an external device connected to the server system, wherein the first identification information is used to indicate a physical access location of the external device in the server; The first identification information is written into a target storage interval bound to the external device in a memory deployed in the server, wherein the target storage interval is allocated by a startup controller to the external device in the memory during the initial startup of the server, and the startup controller is used to extract the first identification information stored in the target storage interval during the next startup of the server, and use the first identification information and the second identification information to construct target identification information for the external device, the second identification information is allocated by the startup controller to the identified external device during the initial startup of the server, and the second identification information is used to indicate a logical location where the external device is connected in the operating system of the server, and the operating system is used to use the target identification information to maintain the operating status of the external device.

11. The method according to claim 10, characterized in that The step of writing the first identification information into a target storage interval in a memory deployed in the server and bound to the external device includes: Obtaining device information of the external device; Filtering out a target storage interval whose storage interval identifier matches the device information of the external device from the storage intervals included in the memory, wherein the storage interval identifier is used to indicate the device to which the corresponding storage interval belongs; The first identification information is written into the target storage interval.

12. The method according to claim 11, characterized in that The step of writing the first identification information into the target storage interval includes: searching for an unoccupied target byte position in the target storage interval according to configuration information of the target storage interval, wherein the configuration information is used to indicate a data storage condition of each byte position in the target storage interval; The first identification information is written into the target byte position, and a first offset field corresponding to the target byte position is written into the configuration information, wherein the first offset field is used to indicate the position of the target byte position in the target storage area.

13. The method according to claim 10, characterized in that After writing the first identification information into a target storage interval bound to the external device in a memory deployed in the server, the method further includes: extracting the second identification information of the external device stored in the target storage interval; Establishing a target mapping relationship between the first identification information and the second identification information of the external device; The target mapping relationship is sent to a display terminal that has a binding relationship with the server, wherein the display terminal is used to display the target mapping relationship and manage the devices connected to the server according to the target mapping relationship.

14. The method according to claim 13, characterized in that The extracting the second identification information of the external device stored in the target storage interval includes: Extracting a third offset field stored in the configuration information of the target storage interval, wherein the third offset field is used to indicate the position of identification information representing the logical position of the external device connected in the operating system of the server in the target storage interval; The second identification information stored in the field position indicated by the third offset field in the target storage interval is extracted.

15. The method according to claim 10, characterized in that After writing the first identification information into a target storage interval bound to the external device in a memory deployed in the server, the method further includes: receiving an identification information update request, wherein the identification information update request is used to indicate that the first identification information of the external device is updated to fourth identification information; In response to the identification information update request, searching the memory for the target storage interval bound to the external device; The first identification information stored in the target storage interval is updated using the fourth identification information.

16. A system for configuring identification information, characterized in that: The server includes a startup controller and a management controller, wherein the startup controller and the management controller are respectively connected to a memory in the server; The startup controller is used to identify the external device connected to the server during the initial startup of the server; Allocating a target storage interval for each of the external devices in the storage device deployed in the server, and establishing a binding relationship between the target storage interval and the external device; The management controller is configured to, when detecting that the server has completed startup, obtain first identification information of the external device, wherein the first identification information is used to indicate a physical access location of the external device in the server; and write the first identification information into the target storage interval bound to the external device in the memory; The startup controller is also used to extract the first identification information stored in the target storage interval during the process of restarting the server; use the first identification information and the second identification information to construct target identification information for the external device, wherein the second identification information is assigned by the startup controller to the external device identified during the initial startup of the server, and the second identification information is used to indicate the logical location of the external device in the server's operating system, and the operating system is used to use the target identification information to maintain the operating status of the external device.

17. An identification information configuration device, the device being applied to a startup controller in a server, characterized in that: include: An identification module, used to identify an external device connected to the server during the initial startup of the server; an allocation module, configured to allocate a target storage interval in the memory deployed in the server for each of the external devices, and to establish a binding relationship between the target storage interval and the external device, wherein the management controller is configured to obtain first identification information of the external device when detecting that the server has completed startup, and write the first identification information into the target storage interval bound to the external device in the memory, wherein the first identification information is used to indicate a physical access location of the external device in the server; A first extraction module, configured to extract the first identification information stored in the target storage interval during the restart of the server; A first construction module is used to use the first identification information and the second identification information to construct target identification information for the external device, wherein the second identification information is assigned by the startup controller to the identified external device during the initial startup of the server, and the second identification information is used to indicate the logical location of the external device in the server's operating system, and the operating system is used to use the target identification information to maintain the operating status of the external device.

18. An identification information configuration device, the device being applied to a management controller in a server, characterized in that: include: A first acquisition module is used to acquire first identification information of an external device connected to the server system when detecting that the server has completed startup, wherein the first identification information is used to indicate a physical access location of the external device in the server; A first writing module is used to write the first identification information into a target storage interval bound to the external device in a memory deployed in the server, wherein the target storage interval is allocated by the startup controller for the external device in the memory during the initial startup of the server, and the startup controller is used to extract the first identification information stored in the target storage interval during the next startup of the server, and use the first identification information and the second identification information to construct target identification information for the external device, the second identification information is allocated by the startup controller to the identified external device during the initial startup of the server, and the second identification information is used to indicate the logical location of the external device in the server's operating system, and the operating system is used to use the target identification information to maintain the operating status of the external device.

19. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program implements the steps of the method described in any one of claims 1 to 15 when executed by a processor.

20. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the steps of the method described in any one of claims 1 to 15 are implemented.

21. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method described in any one of claims 1 to 15 are implemented.

Citation Information

Patent Citations

  • Storage equipment detection method and device, storage medium and electronic equipment

    CN118035018A