Data processing method and device, electronic equipment, storage medium and program product

By accurately identifying slot devices based on the adapter card's board identifier and physical link information in the server, the problem of difficulty in locating slot devices that fail to train in multi-configuration servers is solved, and an efficient fault location and alarm mechanism is achieved.

CN120743611BActive Publication Date: 2026-01-16INSPUR (SHANDONG) COMPUTER TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511239884.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-09-02
Publication Date
2026-01-16
Estimated Expiration
2045-09-02

AI Technical Summary

Technical Problem

In servers, how to dynamically obtain slot information of slot devices, especially to quickly locate slot devices that have failed training on servers with multiple configurations? Existing technologies struggle to accurately locate lost card devices, resulting in low efficiency in fault location.

Method used

By identifying the board identifier based on the adapter card, the server region and model are determined. The slots are traversed to obtain the on-state voltage information. The unique identifier of the device is determined based on the physical link. By combining the on-state voltage information and the unique identifier of the device, the slot device is accurately identified, and the slot device is accurately located and alarmed.

Benefits of technology

During the server power-on process, it can accurately locate the slot of the lost card device and simultaneously report alarms to the baseboard management controller and operating system, which improves the efficiency of fault location and helps to quickly identify and replace the relevant devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120743611B_ABST
    Figure CN120743611B_ABST
Patent Text Reader

Abstract

The present disclosure provides a data processing method and device, electronic equipment, storage medium and program product, and relates to the technical field of computers. The method comprises the following steps: determining the area and model of a server in which each adapter card is located based on the board card identifier of each adapter card; determining the in-place level information of each slot of each adapter card; determining the device unique identifier of a slot device connected to a corresponding slot based on the physical link of each slot of each adapter card; and determining slot device identification information based on the in-place level information of the slot and the device unique identifier corresponding to the slot. In this way, the corresponding relationship between the slot and the slot device is determined based on the in-place level information of the slot and the device unique identifier corresponding to the slot through the physical link, and the slot device identification information is determined. When a slot device training failure fault phenomenon occurs in the process of powering on the server, the lost card device slot can be accurately located.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to the technical field of computer, and particularly relates to a data processing method and device, electronic equipment, storage medium and program product. BACKGROUND

[0002] With the increasingly wide application of servers, the configurations of servers are also more and more. A riser card is a peripheral component interconnect express (PCIE) peripheral component interconnection riser card, which can expand a single slot into multiple slots. In order to flexibly meet various configurations on a server, the riser card plays a huge role. In the server architecture, the dual riser card design of A area and B area is usually adopted, and each riser card can connect multiple slot devices (such as graphics processing unit (GPU), network card, redundant array of independent disks (Raid) card, etc.) to meet the needs of flexible configuration. Therefore, how to dynamically obtain the slot information of the slot device is faced with great difficulties. SUMMARY

[0003] The present disclosure provides a data processing method and device, electronic equipment, storage medium and program product to at least solve the above technical problems in the prior art.

[0004] According to a first aspect of the present disclosure, a data processing method is provided, comprising:

[0005] Based on the board card identifier of each riser card, the area and the model of the server where each riser card is located are determined;

[0006] Based on the area and the model of the server where each riser card is located, the in-place level information of each slot of each riser card is determined by traversing the slots of each riser card;

[0007] Based on the physical link of each slot of each riser card, the device unique identifier of the slot device connected with the corresponding slot is determined;

[0008] Based on the in-place level information of the slot and the device unique identifier corresponding to the slot, the slot device identification information is determined;

[0009] The device unique identifier includes at least one of the bus identifier, the slot device identifier and the function identifier of the corresponding slot device.

[0010] In the above scheme, the same adapter card is located in different areas of the server, and the corresponding board card identifiers are different.

[0011] Different models of adapter cards correspond to different board card identifiers.

[0012] In the above scheme, before determining the area and model of the server where each adapter card is located based on the board card identifier of each adapter card, the method further comprises:

[0013] Reading the value of each pin of the first chip to determine the board card identifier of each adapter card.

[0014] In the above scheme, the step of traversing the slots of each adapter card based on the area and model of the server where each adapter card is located to determine the in-place level information of each slot of each adapter card comprises:

[0015] Based on the area of the server where each adapter card is located, traversing at least one adapter card corresponding to the area of each server in turn;

[0016] Based on the model of at least one adapter card corresponding to the area of any server, traversing at least one slot of each adapter card corresponding to the area of the server to determine the in-place level information of each slot.

[0017] In the above scheme, the step of traversing the slots of each adapter card based on the area and model of the server where each adapter card is located to determine the in-place level information of each slot of each adapter card comprises the following operations performed on any adapter card:

[0018] Opening the integrated circuit bus channel of the any adapter card, and scanning the integrated circuit bus address of each slot included in the any adapter card;

[0019] Based on the integrated circuit bus address of each slot included in the any adapter card, obtaining the in-place level information of each slot;

[0020] Based on the in-place level information of each slot, determining the connection information of each slot.

[0021] In the above scheme, the step of determining the connection information of each slot based on the in-place level information of each slot comprises:

[0022] If the in-place level information of the slot is high, the slot is connected to a slot device;

[0023] Alternatively, if the in-place level information of the slot is low, the slot is not connected to a slot device.

[0024] In the above scheme, the method further comprises:

[0025] Determine the correspondence between the slot identifier and the in-place level information based on the in-place level information of each slot of each adapter card and the slot identifier of each slot.

[0026] In the above scheme, the determination of the device unique identifier of the slot device connected with the corresponding slot based on the physical link of each slot of each adapter card comprises:

[0027] Determine the physical link of each slot of each adapter card; the physical link comprises the central processing unit identifier, the port identifier and the channel identifier connected with the slot;

[0028] Determine the physical link corresponding to the slot device connected with each slot; wherein the physical link of the connected slot and the slot device is the same;

[0029] Determine the device unique identifier of the slot device connected with each slot;

[0030] Determine the device unique identifier corresponding to each slot based on the physical link of each slot, the physical link corresponding to each slot device and the device unique identifier of the slot device.

[0031] In the above scheme, the determination of the physical link of each slot of each adapter card comprises:

[0032] Access the second chip to obtain the physical link of each slot;

[0033] The second chip is of the same model as the first chip.

[0034] In the above scheme, the determination of the physical link corresponding to the slot device connected with each slot comprises:

[0035] In response to the slot device enumeration stage of the basic input and output system, obtain the topology structure of all slot devices;

[0036] Determine the physical link corresponding to each slot device based on the topology structure of the slot device.

[0037] In the above scheme, the determination of the device unique identifier corresponding to each slot based on the physical link of each slot, the physical link corresponding to each slot device and the device unique identifier of the slot device comprises:

[0038] Determine the correspondence between the slot and the slot device based on the physical link of each slot of each adapter card and the physical link corresponding to each slot device;

[0039] Determine the device unique identifier corresponding to each slot based on the correspondence between the slot and the slot device and the device unique identifier of the slot device.

[0040] In the above solution, the method further comprises:

[0041] determining a correspondence between the identification of each slot and the device unique identifier corresponding to each slot based on the identification of each slot of each adapter card and the device unique identifier corresponding to each slot.

[0042] In the above solution, the determination of the slot device identification information based on the in-place level information of the slot and the device unique identifier corresponding to the slot comprises:

[0043] In response to the correspondence between the identification of each slot and the in-place level information, if the in-place level information of any slot is determined to be low, it is determined that the slot device identification information of the slot is an unconnected slot device.

[0044] Alternatively, in response to the correspondence between the identification of each slot and the in-place level information, if the in-place level information of any slot is determined to be high, the slot device identification information is determined based on the device unique identifier corresponding to the slot.

[0045] In the above solution, the determination of the slot device identification information based on the device unique identifier corresponding to the slot comprises:

[0046] In response to the correspondence between the identification of each slot and the device unique identifier, if it is determined that the device unique identifier corresponding to the slot does not exist, it is determined that the slot device identification information of the slot is that there is a slot device in the slot, but it has not been identified.

[0047] Alternatively, in response to the correspondence between the identification of each slot and the device unique identifier, if it is determined that the device unique identifier corresponding to the slot exists, it is determined that the slot device identification information of the slot is that there is a slot device in the slot and it can be identified.

[0048] In the above solution, if it is determined that the slot device identification information of the slot is that there is a slot device in the slot, but it has not been identified, the method further comprises:

[0049] sending the slot identification of the slot to a baseboard management controller through an intelligent platform management interface, so that the baseboard management controller generates alarm information, and the alarm information includes at least one of the slot identification of the slot, the model of the corresponding adapter card, the area of the server where the corresponding adapter card is located, and the board card identification of the corresponding adapter card.

[0050] In the above solution, the method further comprises:

[0051] based on the slot device identification information, adding the slot device identification of the corresponding slot in the code corresponding to the current use state of the slot.

[0052] Different slot device identification information corresponds to different slot device identification marks.

[0053] According to a second aspect of the present disclosure, a data processing apparatus is provided, and the apparatus comprises:

[0054] A first determining unit is configured to determine the area and model of the server where each adapter card is located based on the board card identifier of each adapter card.

[0055] A second determining unit is configured to determine the in-place level information of each slot of each adapter card by traversing the slots of each adapter card based on the area and model of the server where each adapter card is located.

[0056] A third determining unit is configured to determine the device unique identifier of the slot device connected to the corresponding slot based on the physical link of each slot of each adapter card.

[0057] A processing unit is configured to determine the slot device identification information based on the in-place level information of the slot and the device unique identifier corresponding to the slot.

[0058] The device unique identifier comprises at least one of the bus identifier, the slot device identifier and the function identifier of the corresponding slot device.

[0059] According to a third aspect of the present disclosure, an electronic device is provided, and the device comprises:

[0060] At least one processor; and a memory connected to the at least one processor in communication; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method of the present disclosure.

[0061] According to a fourth aspect of the present disclosure, a non-transitory computer readable storage medium storing computer instructions is provided, and the computer instructions are used to enable the computer to perform the method of the present disclosure.

[0062] According to a fifth aspect of the present disclosure, a computer program product is provided, and the computer program product comprises a computer program, and the computer program is used to implement the method of the present disclosure when executed by a processor.

[0063] The data processing method provided by the present disclosure determines the area and model of the server where each adapter card is located based on the board card identifier of each adapter card; iterates through the slots of each adapter card based on the area and model of the server where each adapter card is located, determines the in-place level information of each slot of each adapter card; determines the device unique identifier of the slot device connected with the corresponding slot based on the physical link of each slot of each adapter card; determines the slot device identification information based on the in-place level information of the slot and the device unique identifier corresponding to the slot; wherein the device unique identifier includes at least one of the bus identifier, the slot device identifier and the function identifier of the corresponding slot device; in this way, the slot is corresponded with the slot device through the physical link, the slot device identification information is determined based on the in-place level information of the slot and the device unique identifier corresponding to the slot, when the slot device training failure fault phenomenon occurs in the process of powering on the server, the function of accurately positioning the card loss device slot and simultaneously reporting the Baseboard Management Controller (BMC) and Operating System (OS) alarm can be realized, the problem that it is difficult to locate the card loss in the process of powering on the server in batches is solved, and the factory production personnel, users or maintenance personnel can be helped to quickly locate to the specific part, so as to quickly locate the cause or replace the related device.

[0064] It should be understood that the content described in this part is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become apparent from the following description. BRIEF DESCRIPTION OF DRAWINGS

[0065] The above and other objects, features and advantages of the exemplary embodiments of the present disclosure will be more apparent from the following detailed description read in conjunction with the accompanying drawings, in which:

[0066] In the drawings, identical or corresponding reference numerals indicate identical or corresponding parts.

[0067] Figure 1 A first optional flowchart of a data processing method provided by an embodiment of the present disclosure is shown;

[0068] Figure 2 A second optional flowchart of a data processing method provided by an embodiment of the present disclosure is shown;

[0069] Figure 3 A third optional flowchart of a data processing method provided by an embodiment of the present disclosure is shown;

[0070] Figure 4A fourth optional flow diagram of the data processing method provided by the embodiments of the present disclosure is shown.

[0071] Figure 5 A schematic diagram of a slot device silk screen mapping table provided by the embodiments of the present disclosure is shown.

[0072] Figure 6 An optional structure schematic diagram of the data processing apparatus provided by the embodiments of the present disclosure is shown.

[0073] Figure 7 A component structure schematic diagram of an electronic device according to an embodiment of the present disclosure is shown. DETAILED DESCRIPTION

[0074] In order to make the objectives, characteristics and advantages of the present disclosure more obvious and easy to understand, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below with reference to the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are only some of the embodiments of the present disclosure, but not all the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by those skilled in the art without creative work fall within the scope of the present disclosure.

[0075] In the following description, "some embodiments" are described, which describe a subset of all possible embodiments, but it can be understood that "some embodiments" can be the same subset or different subsets of all possible embodiments, and can be combined with each other without conflict.

[0076] In the following description, the term "first\second" is only to distinguish similar objects, and does not represent a specific order of the object. It can be understood that "first\second" can be interchanged in a specific order or sequence as allowed, so that the embodiments of the present disclosure described herein can be implemented in an order other than that illustrated or described herein.

[0077] Unless otherwise defined, all technical and scientific terms used in the present disclosure have the same meaning as commonly understood by those skilled in the art to which the present disclosure belongs. The terms used in the present disclosure are only for the purpose of describing the embodiments of the present disclosure, and are not intended to limit the present disclosure.

[0078] It should be understood that in various embodiments of the present disclosure, the size of the serial number of each implementation process does not mean the order of execution, and the execution order of each process should be determined by its function and inherent logic, and should not constitute any limitation on the implementation process of the embodiments of the present disclosure.

[0079] When the server is running normally, a Basic Input Output System (BIOS) reports various fault information of the server to a BMC, and the BMC informs a user through a fault alarm lamp and a World Wide Web (Web) log. When the server is started, the BIOS delivers asset information of various devices (including a CPU, a memory, a hard disk, a network card, a Redundant Array of Independent Disks (Raid) card, etc.) identified in an initialization process to the BMC, so as to facilitate the BMC to display system information on the Web. During the server startup process, the BIOS performs initialization on all slot devices (i.e., slot devices), specifically, link training on the slot devices. After the training is successful, the BIOS can identify the slot device, and obtain asset information of the slot device by reading configuration space information of the slot device, and push the asset information to the BMC. However, due to various reasons such as poor slot contact, oxidation of a golden finger, signal interference, or abnormal slot device, etc., individual slot devices cannot complete link training in the initialization process, so the BIOS cannot identify the slot device, that is, a card loss phenomenon occurs. At this time, the BIOS cannot read the asset information of the slot device, and therefore cannot deliver the asset information to the BMC as part of the asset information. Since the BIOS cannot distinguish between the slot device card loss and the scenario that the slot is not inserted with a device, the BIOS cannot report the card loss fault in the startup process to the BMC for fault monitoring.

[0080] In the traditional scheme, some schemes ignore the fault alarm of the card loss scenario, and some schemes compare asset information received by the BMC with in-place information of the slot device determined by the BMC through a logic device, and determine, by the BMC, whether the number of the slot devices in the asset information sent by the BIOS is same as the number of the in-place information. If the numbers are different, the BMC actively triggers log recording of abnormal information, and lights up a corresponding system fault lamp to alarm.

[0081] However, in the above solution, on the one hand, it is heavily dependent on BMC, and if BMC is abnormal, the solution cannot work normally, and it is not applicable to workstations and other devices without BMC. On the other hand, the solution can only determine whether there is a card loss phenomenon, and cannot accurately determine the specific slot of the card loss device (i.e., the unrecognized slot device). Especially on a general server supporting multiple Riser cards and multiple configurations, quickly locating the card loss device is a problem that factory, user and operation and maintenance personnel pay great attention to. When the server is powered on in batches, it is difficult for the user to find the specific card loss device. Often, the operation and maintenance personnel need to locate the specific faulty device by manually plugging in and out the device, cross-verification or analysis by grabbing logs, which is low in efficiency and easy to misjudge. Therefore, how to accurately locate the slot of the training failed slot device for the server with flexible configuration is also a problem to be solved by the present disclosure.

[0082] Therefore, an embodiment of the present disclosure provides a data processing method. By standardizing the Riser hardware topology and design specification, a complete set of slot device silk screen acquisition solution and accurate alarm solution are formulated. The BIOS independently detects and judges the training failed slot device and its slot information, and then reports the training failed slot device slot information to the BMC and the OS, thereby realizing the function of accurately locating the slot of the card loss device, enriching the alarm approach and improving the fault locating efficiency.

[0083] Figure 1 A first optional flowchart of the data processing method provided by an embodiment of the present disclosure is shown, which will be described according to each step.

[0084] In step S101, based on the board card identifier of each riser card, the area and model of the server where each riser card is located are determined.

[0085] In some embodiments, a carrier (hereinafter referred to as the carrier) implementing the data processing method acquires the board card identifier of each riser card on the server, and determines the area of the server where each riser card is located and the model of each riser card based on the board card identifier.

[0086] In some embodiments, the area of the server where each riser card is located includes the installation area of each riser card on the server, which is usually A zone or B zone.

[0087] Wherein, the board card identifier corresponding to the same riser card is different when the riser card is located in different areas of the server; and the board card identifiers corresponding to riser cards of different models are different.

[0088] In some embodiments, the carrier can be a computer program, an electronic circuit, a database, a mobile application, an electronic device, a cloud computing platform, a distributed system, an artificial intelligence framework, a mathematical model, an automation tool and a microcontroller, etc., which can realize software or hardware of algorithm and method flow.

[0089] Step S102, based on the area and model of the server where each adapter card is located, traversing the slots of each adapter card, determining the in-place level information of each slot of each adapter card.

[0090] In some embodiments, the carrier traverses each slot of each adapter card in each area according to the area of the server, and determines the in-place level information of all slots of all adapter cards on the server. The in-place level information is used to represent whether a slot device is connected to the slot when the in-place level information of the slot is confirmed; if a slot device is connected to the slot, the in-place level information of the slot is set to a first preset value; if a slot device is not connected to the slot, the in-place level information of the slot is set to a second preset value.

[0091] Step S103, based on the physical link of each slot of each adapter card, determining the device unique identifier of the slot device connected to the corresponding slot.

[0092] In some embodiments, the carrier determines the physical link of each slot; the physical link includes the central processor identifier, port identifier and channel identifier connected to each slot.

[0093] In some embodiments, the carrier determines the physical link of each slot device based on the topology of all slot devices.

[0094] In some embodiments, the carrier determines the device unique identifier of each slot device, which includes at least one of bus identifier, slot device identifier and function identifier; if the device unique identifier includes bus (BUS) identifier, slot device identifier (Device) and function (Function) identifier, the device unique identifier is BDF, which is the logical address of the slot device.

[0095] In some embodiments, since the physical link of the connected slot and the slot device is the same, the carrier can associate the slot with the slot device based on the physical link, and further associate the slot with the device unique identifier of the corresponding slot device.

[0096] Step S104, based on the in-place level information of the slot and the device unique identifier corresponding to the slot, determining the slot device identification information.

[0097] In some embodiments, the carrier determines the identification information of the slot device connected to the slot based on the in-situ level information of the slot and the device unique identifier corresponding to the slot. Specifically, if the in-situ level information of the slot indicates that the slot device is not connected, the corresponding device unique identifier is empty; if the in-situ level information of the slot indicates that the slot device is connected, the corresponding device unique identifier is not empty. If the in-situ level information of the slot indicates that the slot device is connected, but the corresponding device unique identifier is empty, it indicates that the slot device identification has a problem, i.e., the training fails.

[0098] In this way, by corresponding the slot and the slot device through the physical link, determining the slot device identification information based on the in-situ level information of the slot and the device unique identifier corresponding to the slot, when the slot device training failure fault phenomenon occurs in the process of powering on the server, the function of accurately positioning the card loss device slot and simultaneously reporting the baseboard management controller and operating system alarm can be realized, the problem that it is difficult to locate the card loss in the process of powering on the server in batches is solved, and the factory production personnel, users or maintenance personnel can be helped to quickly locate the specific components, so as to quickly locate the cause or replace the related equipment.

[0099] Figure 2 A second optional flowchart of the data processing method provided by the embodiments of the present disclosure is shown, which will be described according to each step.

[0100] In step S201, the correspondence between the identification and the in-situ level information of each slot is determined based on the in-situ level information of each slot of each adapter card and the slot identification of each slot.

[0101] In some embodiments, the carrier reads the values of the pins of the first chip to determine the board card identification of each adapter card, and determines the area and model of the server where each adapter card is located based on the board card identification of each adapter card. The board card identification of the same adapter card is different when the adapter card is located in different areas of the server, and the board card identification of different models of adapter cards is different. The first chip can be a 9555 chip.

[0102] In some embodiments, the carrier sequentially traverses at least one adapter card corresponding to each area of the server based on the area of the server where each adapter card is located, and traverses at least one slot of each adapter card corresponding to the area of the server based on the model of at least one adapter card corresponding to the area of any server to determine the in-situ level information of each slot.

[0103] In a specific implementation, the carrier opens an integrated circuit bus channel (I2C) of the arbitrary adapter card, scans integrated circuit bus addresses of each slot included in the arbitrary adapter card, obtains in-place level information of each slot based on the integrated circuit bus addresses of each slot included in the arbitrary adapter card, and determines connection information of each slot based on the in-place level information of each slot.

[0104] Specifically, if the in-place level information of the slot is a high level, the slot is connected to a slot device, and the in-place level information of the slot is set to a first preset value (which can be 1); or, if the in-place level information of the slot is a low level, the slot is not connected to a slot device, and the in-place level information of the slot is set to a second preset value (which can be 0).

[0105] In some embodiments, the carrier determines a correspondence between the slot identifier and the in-place level information of each slot of each adapter card based on the in-place level information of each slot of each adapter card and the slot identifier of each slot.

[0106] In step S202, a correspondence between the slot identifier and the device unique identifier of each slot is determined based on the slot identifier of each slot of each adapter card and the device unique identifier corresponding to each slot.

[0107] In some embodiments, the carrier determines a physical link of each slot of each adapter card; the physical link includes a central processing unit identifier, a port identifier, and a channel identifier connected to the slot; the carrier obtains a topology of all slot devices in response to a slot device enumeration phase of a basic input / output system; determines a physical link corresponding to each slot device based on the topology of the slot device; wherein the physical links of the connected slot and the slot device are the same; determines a device unique identifier of the slot device connected to each slot; and determines the device unique identifier corresponding to each slot based on the physical link of each slot, the physical link corresponding to each slot device, and the device unique identifier of the slot device.

[0108] In a specific implementation, the carrier accesses a second chip to obtain a physical link of each slot; wherein the second chip and the first chip are of the same model, and are both 9555 chips.

[0109] In a specific implementation, the carrier determines a correspondence between the slot and the slot device based on the physical link of each slot of each adapter card and the physical link corresponding to each slot device; and determines the device unique identifier corresponding to each slot based on the correspondence between the slot and the slot device and the device unique identifier of the slot device.

[0110] Further, the carrier determines the correspondence between the identification of each slot and the device unique identifier corresponding to each slot based on the identification of each slot of each adapter card.

[0111] In some embodiments, the carrier determines the correspondence between the slot identification, the in-place level and the device unique identifier based on the correspondence between the identification of each slot and the in-place level information, and the correspondence between the identification of each slot and the device unique identifier.

[0112] In step S203, the carrier determines the slot device identification information based on the in-place level information of the slot and the device unique identifier corresponding to the slot.

[0113] In some embodiments, the carrier determines the slot device identification information based on the correspondence between the slot identification, the in-place level and the device unique identifier.

[0114] In implementation, the carrier, in response to determining that the in-place level information of any slot is low based on the correspondence between the identification of each slot and the in-place level information, confirms that the slot device identification information of the slot is an unconnected slot device; or, in response to determining that the in-place level information of any slot is high based on the correspondence between the identification of each slot and the in-place level information, determines the slot device identification information based on the device unique identifier corresponding to the slot.

[0115] Further, the carrier, in response to determining that the device unique identifier corresponding to the slot does not exist based on the correspondence between the identification of each slot and the device unique identifier, confirms that the slot device identification information of the slot is that the slot has a slot device but is not identified; or, in response to determining that the device unique identifier corresponding to the slot exists based on the correspondence between the identification of each slot and the device unique identifier, confirms that the slot device identification information of the slot is that the slot has a slot device and can be identified.

[0116] In some optional embodiments, if it is confirmed that the slot device identification information of the slot is that the slot has a slot device but is not identified, the carrier can further send the slot identification of the slot to the baseboard management controller through an intelligent platform management interface, so that the baseboard management controller generates alarm information, and the alarm information includes at least one of the slot identification of the slot, the model of the corresponding adapter card, the area of the server where the corresponding adapter card is located, and the board card identification of the corresponding adapter card.

[0117] In some optional embodiments, the carrier can further add the slot device identification information of the corresponding slot in the code corresponding to the current use state of the slot based on the slot device identification information; wherein different slot device identification information corresponds to different slot device identification information.

[0118] For example, for the slot device that fails in training, the Unavailable field can be filled in the Current Usage field of the corresponding slot in the SMBIOS Table Type 9. For the slot device that can be normally identified, InUse is filled in the Current Usage field of the corresponding slot. For the unused slot, BIOS fills UnUse in the Current Usage field of the corresponding slot. Therefore, the user and the operation and maintenance engineer can manually check or screen the slot device training failure under the OS in batches.

[0119] In this way, by corresponding the slot with the slot device through the physical link, determining the slot device identification information based on the in-place level information of the slot and the unique identifier of the device corresponding to the slot, when the slot device training failure fault phenomenon occurs in the process of powering on the server, the function of accurately positioning the card loss device slot and simultaneously reporting the baseboard management controller and the operating system alarm is realized, the problem that it is difficult to locate the card loss in the process of powering on the server in batches is solved, and the factory production personnel, the user or the maintenance personnel are helped to quickly locate the specific component, so as to quickly locate the cause or replace the related device.

[0120] Figure 3 A third optional flowchart of a data processing method provided by the embodiment of the present disclosure is shown, which will be described according to each part.

[0121] In the related art, some manufacturers ignore the fault alarm problem of the slot device in the training failure scenario in the boot stage, and some manufacturers rely on BMC to obtain in-place information and combine the push asset information of BIOS to determine the slot device training failure scenario. On the one hand, the specific slot information of the training failure device cannot be accurately located, and on the other hand, it is seriously dependent on BMC and cannot be applied to workstations and other devices without BMC. When the server is powered on in batches and the card loss occurs, it brings unnecessary trouble to the factory, the user and the operation and maintenance personnel. In order to solve the current technical problems and provide better user experience for users, a method for detecting and accurately alarming the training failure of the slot device is very necessary. The embodiment of the present disclosure formulates the Riser hardware design specification, unifies the I2C topology of the Riser card, so that BIOS can independently and automatically identify the silk screen position, I2C topology, mapping relationship of BDF and Slot of each PCIeSlot slot, and then accurately locate the slot information of the card loss device and report it to BMC and OS.

[0122] In step S301, the correspondence between the slot and the in-place level information is determined.

[0123] In some embodiments, the server includes an A zone and a B zone, and each zone can be provided with a riser card. The carrier reads the board card identification (Board Id) of the riser card in sequence through I2C in the POST stage of the server power-on, that is, the riser card used by the A zone and the B zone of the server can be obtained. After confirming the riser cards used by the A zone and the B zone, the I2C channels of different slots of each riser card are opened in sequence, the I2C addresses of the slots are scanned, the in-place level information of different slots is read, and the scanning of all slots of all riser cards on the server is completed in sequence. The corresponding relationship between the slots and the in-place level information is created, that is, the set SlotPreVec is obtained.

[0124] In specific implementation, the carrier can jointly constitute a group of matrices with the identification (Slot Id) of each slot as the key (Key) and the in-place level information as the value (Value), which are filled into SlotPreVec in sequence, that is, the corresponding relationship between all slots and in-place level information is obtained.

[0125] In some embodiments, the carrier can be a BIOS.

[0126] Step S302, determining the corresponding relationship between the identification of the slot and the device unique identifier.

[0127] In some embodiments, after the carrier confirms the riser cards used by the A zone and the B zone, the second 9555 chip is accessed to obtain the physical link identification (MCIO ID) of each slot. The MCIO ID is used to represent which CPU (x) and which Port (y) and the start address (z) of the PCIe Lane are actually connected to the slot in the actual physical link; that is, the slot is actually connected to the xth CPU and the yth Port, and the start address of the PCIe Lane is z. Optionally, the physical link is defined as CPUx-PEy-LANEz, and the MCIO ID has a one-to-one correspondence with CPUx-PEy-LANEz.

[0128] In some embodiments, the carrier obtains the topology of all slot devices and the BDF (Bus, Device, Function) information of each slot device in the slot device enumeration phase. Through the topology of the slot device, it is located that each slot device is connected to which CPU (x) and Port (y) and the start address (z) of the PCIe Lane, that is, CPUx-PEy-LANEz. Since CPUx-PEy-LANEz has a one-to-one correspondence with the MCIO ID, that is, the slot and the physical link (or MCIO ID) of the connected slot device are the same, the carrier can obtain the MCIO ID of each slot device.

[0129] In some embodiments, the identification of the slot has a one-to-one correspondence with the MCIO ID, and the MCIO ID of the slot device has a one-to-one correspondence with the BDF of the slot device, so the identification of the slot and the BDF of the slot device can be associated through the MCIO ID to obtain the set SlotPcieMap.

[0130] In specific implementation, the carrier can determine the correspondence between the identification of the slot and the device unique identifier with the identification of the slot as the key (Key) and the BDF of the slot device as the value (Value), that is, the set SlotPcieMap.

[0131] In step S303, based on the correspondence between the slot and the in-place level information, and the correspondence between the identification of the slot and the device unique identifier, the identification of the slot whose training fails is determined.

[0132] In some embodiments, the carrier compares the set SlotPreVec and the set SlotPcieMap to determine the identification of the slot whose in-place level information is the first preset value but does not have a corresponding device unique identifier. The identification of the slot is the slot information of the slot device whose training fails. Training failure means that the slot is connected to the slot device, but the slot device cannot be identified.

[0133] In some embodiments, the carrier uploads the identification of the slot whose training fails to the BMC in the form of an event log. Optionally, the Unavailable field is filled in the Current Usage field corresponding to the slot in the SMBIOS Table Type 9.

[0134] Thus, by the data processing method provided by the embodiments of the present disclosure, for the case that multiple Riser cards need to be matched on the same server to support multiple configurations, the uniqueness of the server chassis Slot Id is closely followed, the Riser hardware design specification is formulated, and the I2C topology of the Riser is unified, so that the BIOS can automatically identify the silk screen position, I2C topology, mapping relationship between BDF and Slot of each PCIe Slot, and when the slot device training failure fault phenomenon occurs in the process of server power-on, the function of accurately positioning the card loss device slot and simultaneously reporting the BMC and OS alarm can be realized, the problem that it is difficult to locate the card loss in the process of server batch power-on is solved, the factory production personnel, users or maintenance personnel are helped to quickly locate the specific components, so as to quickly locate the cause or replace the related equipment. At the same time, the dependence on the BMC device in the traditional scheme is broken, and the application scenarios are more extensive.

[0135] Figure 4 A fourth optional flowchart of the data processing method provided by the embodiments of the present disclosure is shown, Figure 5 A schematic diagram of a slot device silk screen mapping table provided by the embodiments of the present disclosure is shown.

[0136] In step S401, the board card identifier of each adapter card is acquired.

[0137] In some embodiments, in the POST stage of server power-on, the carrier reads the board card identifier (Board Id) of each Riser card through I2C in sequence, that is, it can be acquired which Riser card is used in the A area and the B area of the server. As shown in Figure 5 When the Board Id is read as 0x01, it can be confirmed that the Riser card is Riser_0 and is inserted in the A area of the server. If the Board Id is read as 0x81, it can be confirmed that the Riser card is Riser_0 and is inserted in the B area of the server.

[0138] In some optional embodiments, the carrier can acquire the Board Id of each adapter card by reading the values of IO_0 to IO_7 of the first chip (PCA9555 chip). PCA9555 is a GPIO expansion chip, but in the embodiments of the present disclosure, the chip is not limited to be used for Board Id reading, and other ways such as CPLD, GPIO, FRU, etc. can also be used to acquire the Board Id.

[0139] In step S402, the in-place level information of each slot is determined.

[0140] In some embodiments, after the carrier confirms the Riser cards used by the A area and the B area respectively, the carrier accesses the I2 Switch chip on each Riser card, sequentially opens the I2C channels of different slots, scans the I2C addresses of each slot, respectively reads the in-place level signals of different slots, detects the physical in-place situation of all slots through high and low level signals, and sequentially completes the scanning and measurement of all slots on the server. As shown in Figure 5 The I2C channels of the three slots on the Riser card are 1, 2 and 3 in sequence. According to the in-place level signal (Present), 0 represents that there is no in-place device in the slot, and 1 represents that there is an in-place device in the slot.

[0141] Step S403: Determine the set corresponding to the identification of the slot and the in-place level information.

[0142] In some embodiments, the carrier reads the in-place level information of each slot, takes the Slot Id of each slot as the Key, and takes the in-place information as the Value to jointly form a set of elements, and sequentially fills in SlotPreVec, that is, the mapping set of all slots and in-place information is obtained. Slot Id is the silk screen information of the slot device in the server case, which has uniqueness.

[0143] Step S404: Determine the physical link of each slot.

[0144] In some embodiments, in the design of the server, the same slot in the same area of the mainboard can be inserted with different Riser cards, and the MCIO interface and the CPU can realize different configurations according to different MCIO cable connection modes. Therefore, different configurations of the same server are jointly determined by the model, insertion method and MCIO cable connection method of the Riser card.

[0145] In some embodiments, after the carrier confirms the Riser cards used by the A area and the B area respectively, the carrier needs to continue to access the second 9555 chip to obtain the MCIO ID of each slot and determine the source of the slot. MCIO ID is used to represent which CPU (x) and which Port (y) of the CPU (x) and the start address (z) of the PCIe Lane are actually connected in the actual physical link.

[0146] Specifically, there can be 1, 2, 4 or more CPUs on the server, each CPU has different Ports such as PE0 and PE1, and each Port has 16 PCIe Lanes. As shown in Figure 5 The physical link is defined as CPUx-PEy-LANEz, which has a one-to-one correspondence with the MCIO ID.

[0147] Optionally, according to the description, the same slot has the ability to have different connection methods, so the reserved design scheme has a one-to-many relationship between the Slot ID and the MCIO ID. However, after the server is assembled, the connection method of the same slot is fixed, and at this time, the Slot ID and the MCIO ID have a one-to-one correspondence.

[0148] Step S405, determine the device unique identifier of each slot device.

[0149] In some embodiments, the BIOS obtains the topology of all slot devices and the BDF information of each slot device in the slot device enumeration phase. Through the topology of the slot device, the carrier can locate which CPU (x) and which Port (y) of each slot device are connected to, as well as the start address (z) of the PCIe Lane, that is, CPUx-PEy-LANEz. Since CPUx-PEy-LANEz has a one-to-one correspondence with the MCIO ID, the BIOS can obtain the corresponding MCIO ID of each slot device.

[0150] Step S406, determine the correspondence between the identification of the slot and the device unique identifier.

[0151] In some embodiments, the carrier binds the device unique identifier of the slot device with the identification of the slot based on the set of the identification of the slot corresponding to the bit level information determined in step S403 and the physical link identifier of each slot device.

[0152] In specific implementation, a set of key-value pairs is formed with Slot Id as Key and slot device BDF information as Value, and a mapping set SlotPcieMap of the slot and device information is created and improved.

[0153] Step S407, determine the slot device identification information of each slot based on the set of the identification of the slot corresponding to the bit level information and the correspondence between the identification of the slot and the device unique identifier.

[0154] In some embodiments, the carrier can traverse the set SlotPreVec. When the obtained slot corresponds to in-place level information of 0, it indicates that there is no in-place slot device, the slot is not used, and the next element of SlotPreVec is continued to be traversed. When the obtained slot corresponds to in-place level information of 1, the Slot Id of the slot is taken, and based on the Slot Id of the slot, a search is performed in the set SlotPcieMap. If the BDF information of the slot device can be searched, it indicates that the slot device is normally identified, the slot and the slot device are ignored, and the next element of SlotPreVec is continued to be traversed. If it cannot be searched, it indicates that the slot has an in-place slot device, but is not normally identified, and a slot device training failure phenomenon occurs. That is, the Slot Id is the identification of the slot of the slot device with training failure.

[0155] Step S408, the identification of the slot with training failure is uploaded to the BMC.

[0156] In some embodiments, the carrier reports the identification of the slot of the device with training failure to the BMC in the form of event logs through IPMI. The BMC generates alarm information, displays the event log of training failure in the log of the Web interface, and clearly marks the slot number of the slot device with training failure in the event log, accurately informs the user of the position of the device with training failure. At the same time, the fault alarm lamp of the server lug is lit to visually inform the user.

[0157] Step S409, based on the slot device identification information, the slot device identification mark of the corresponding slot is added in the code corresponding to the current use state of the slot.

[0158] In some embodiments, for the identification of the slot with training failure, the carrier fills the Unavailable field in the Current Usage field of the corresponding slot in the SMBIOS Table Type 9. For normal devices, BIOS fills InUse in the Current Usage field of the corresponding slot. For unused slots, BIOS fills UnUse in the Current Usage field of the corresponding slot. Therefore, the user and the operation and maintenance engineer can manually check or screen the slot device training failure under OS.

[0159] Thus, by the data processing method provided by the embodiments of the present disclosure, for the case that multiple Riser cards need to be matched on the same server to support multiple configurations, the uniqueness of the server chassis Slot Id is closely followed, the Riser hardware design specification is formulated, and the I2C topology of the Riser is unified, so that the BIOS can automatically identify the silk screen position, I2C topology, mapping relationship between BDF and Slot of each PCIe Slot, and when the slot device training fails during the server power-on process, the function of accurately positioning the card loss device slot and simultaneously reporting the BMC and OS alarm can be realized, the problem that it is difficult to locate the card loss in the server batch power-on process is solved, and the factory production personnel, users or maintenance personnel can be quickly positioned to the specific components, so as to quickly locate the cause or replace the related equipment. At the same time, the traditional scheme is freed from the dependence on the BMC device, and the application scenarios are more extensive.

[0160] Figure 6 An optional structure schematic diagram of the data processing apparatus provided by the embodiments of the present disclosure is shown, which will be described according to each part.

[0161] In some embodiments, the data processing apparatus includes a first determination unit, a second determination unit, a third determination unit and a processing unit.

[0162] The first determination unit is configured to determine the area and model of the server where each riser card is located based on the board card identifier of each riser card.

[0163] The second determination unit is configured to determine the in-place level information of each slot of each riser card by traversing the slots of each riser card based on the area and model of the server where each riser card is located.

[0164] The third determination unit is configured to determine the device unique identifier of the slot device connected to the corresponding slot based on the physical link of each slot of each riser card.

[0165] The processing unit is configured to determine the slot device identification information based on the in-place level information of the slot and the device unique identifier corresponding to the slot.

[0166] The device unique identifier includes at least one of the bus identifier, slot device identifier and function identifier of the corresponding slot device.

[0167] In some embodiments, the corresponding board card identifiers are different when the same riser card is located in different areas of the server, and the corresponding board card identifiers are different for riser cards of different models.

[0168] The first determining unit is further configured to read values of the pins of the first chip, and determine the board card identifier of each adapter card before determining the area and the model of the server where each adapter card is located based on the board card identifier of each adapter card.

[0169] The second determining unit is specifically configured to traverse at least one adapter card corresponding to each area of the servers in sequence based on the area of the server where each adapter card is located.

[0170] Based on the model of the at least one adapter card corresponding to the area of any server, each slot of each adapter card corresponding to the area of the server is traversed to determine the in-place level information of each slot.

[0171] The second determining unit is specifically configured to perform the following operations on any adapter card:

[0172] opening an integrated circuit bus channel of the any adapter card, and scanning integrated circuit bus addresses of each slot included in the any adapter card;

[0173] based on the integrated circuit bus addresses of each slot included in the any adapter card, obtaining in-place level information of each slot;

[0174] based on the in-place level information of each slot, determining connection information of each slot.

[0175] The second determining unit is specifically configured to, if the in-place level information of a slot is a high level, the slot is connected to a slot device.

[0176] Alternatively, if the in-place level information of a slot is a low level, the slot is not connected to a slot device.

[0177] The second determining unit is specifically configured to determine a correspondence between the identifier and the in-place level information of a slot based on the in-place level information of each slot of each adapter card and the slot identifier of each slot.

[0178] The third determining unit is specifically configured to determine a physical link of each slot of each adapter card; the physical link includes a central processing unit identifier, a port identifier and a channel identifier connected to the slot.

[0179] determining a physical link corresponding to a slot device connected to each slot; wherein the physical links of the connected slot and the slot device are the same;

[0180] determining a device unique identifier of the slot device connected to each slot;

[0181] based on the physical link of each slot, the physical link corresponding to each slot device, and the device unique identifier of the slot device, determining a device unique identifier corresponding to each slot.

[0182] The third determining unit is specifically configured to access the second chip to obtain the physical link of each slot;

[0183] The second chip is of the same model as the first chip.

[0184] The third determining unit is specifically configured to obtain the topology of all slot devices in response to the slot device enumeration phase of the basic input / output system;

[0185] The physical link corresponding to each slot device is determined based on the topology of the slot device.

[0186] The third determining unit is specifically configured to determine the correspondence between the slot and the slot device based on the physical link of each slot of each adapter card and the physical link corresponding to each slot device;

[0187] The device unique identifier corresponding to each slot is determined based on the correspondence between the slot and the slot device and the device unique identifier of the slot device.

[0188] The third determining unit is further configured to determine the correspondence between the identifier of the slot and the device unique identifier based on the identifier of each slot of each adapter card and the device unique identifier corresponding to each slot.

[0189] The processing unit is specifically configured to determine, in response to the correspondence between the identifier of the slot and the presence level information, that the presence level information of any slot is low, and confirm that the slot device identification information of the slot is an unconnected slot device.

[0190] Alternatively, in response to the correspondence between the identifier of the slot and the presence level information, it is determined that the presence level information of any slot is high, and the slot device identification information is determined based on the device unique identifier corresponding to the slot.

[0191] The processing unit is specifically configured to determine, in response to the correspondence between the identifier of the slot and the device unique identifier, that the device unique identifier corresponding to the slot does not exist, and confirm that the slot device identification information of the slot is that the slot has a slot device, but is not identified.

[0192] Alternatively, in response to the correspondence between the identifier of the slot and the device unique identifier, it is determined that the device unique identifier corresponding to the slot exists, and it is confirmed that the slot device identification information of the slot is that the slot has a slot device and can be identified.

[0193] In some embodiments, if the slot device identification information of the slot is identified as a slot device existing in the slot but is not identified, the processing unit is further configured to send the slot identification of the slot to a baseboard management controller through an intelligent platform management interface, so that the baseboard management controller generates alarm information, and the alarm information includes at least one of the slot identification of the slot, the model of the corresponding adapter card, the area of the server where the corresponding adapter card is located, and the board identification of the corresponding adapter card.

[0194] The processing unit is further configured to add the slot device identification of the corresponding slot in the code corresponding to the current use state of the slot based on the slot device identification information.

[0195] Different slot device identification information corresponds to different slot device identification.

[0196] According to embodiments of the present disclosure, the present disclosure also provides an electronic device and a readable storage medium.

[0197] Figure 7 A schematic block diagram of an example electronic device 800 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptops, desktops, tablets, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The electronic device can also represent various forms of mobile devices, such as personal digital assistants, cellular telephones, smartphones, wearable devices, and other similar computing devices. The components shown here, their connections and relationships, and their functions, are meant to be examples only, and are not meant to limit implementations of the present disclosure described and / or claimed in this document.

[0198] As shown in Figure 7 The electronic device 800 includes a computing unit 801 that can perform various appropriate actions and processes in accordance with a computer program stored in a read-only memory (ROM) 802 or a computer program loaded from a storage unit 808 into a random access memory (RAM) 803. Various programs and data required for the operation of the electronic device 800 can also be stored in the RAM 803. The computing unit 801, the ROM 802, and the RAM 803 are connected to each other through a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.

[0199] A plurality of components in the electronic device 800 are connected to the I / O interface 805, including: an input unit 806, such as a keyboard, a mouse, etc.; an output unit 807, such as various types of displays, speakers, etc.; a storage unit 808, such as a magnetic disk, an optical disk, etc.; and a communication unit 809, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 809 allows the electronic device 800 to exchange information / data with other devices through a computer network, such as the Internet, and / or various telecommunication networks.

[0200] The computing unit 801 can be various general and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 801 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The computing unit 801 performs various methods and processes described above, such as the data processing method. For example, in some embodiments, the data processing method can be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as the storage unit 808. In some embodiments, part or all of the computer program can be loaded and / or installed onto the electronic device 800 via the ROM 802 and / or the communication unit 809. When the computer program is loaded onto the RAM 803 and executed by the computing unit 801, one or more steps of the data processing method described above can be performed. Alternatively, in other embodiments, the computing unit 801 can be configured to perform the data processing method by any other appropriate means, such as by means of firmware.

[0201] Various implementations of the systems and techniques described above herein can be realized in digital electronic circuitry, integrated circuitry, a field programmable gate array (FPGA), an application-specific integrated circuit (ASIC), a system on a chip (SOC), a programmable logic device (CPLD), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which can be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.

[0202] Program code for carrying out methods of the present disclosure can be written in any combination of one or more programming languages. The program code can be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the program code, when executed by the processor or controller, produces the functions / operations specified in the flowcharts and / or block diagrams. The program code can be executed entirely on a machine, partially on a machine, partially on a machine as a stand-alone software package, partially on a machine and partially on a remote machine or entirely on a remote machine or server.

[0203] In the context of the present disclosure, a machine-readable medium can be a tangible medium that contains or stores a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include but is not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the machine-readable storage medium will include one or more lines of electrical connections, portable computer disks, hard disk drives, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or Flash memory), optical fibers, portable compact disc read-only memories (CD-ROMs), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0204] To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input.

[0205] The systems and techniques described here can be implemented in a computing system that includes a back end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a user computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), and the Internet.

[0206] The computer system can include clients and servers. The clients and servers are generally remote from each other and typically interact through a communication network. The relationship of client and server can arise by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The servers can be cloud servers, servers of a distributed system, or servers combined with a blockchain.

[0207] It should be understood that the steps as shown above can be reordered, added, or deleted, using various forms of flow. For example, each step described in the present disclosure can be executed in parallel, sequentially, or in a different order, as long as the desired results of the technical solutions of the present disclosure can be achieved, and the present disclosure is not limited herein.

[0208] In addition, the terms "first", "second" are only for descriptive purposes, and cannot be understood as indicating or implying relative importance or implicitly indicating the number of indicated technical features. Therefore, the features defined with "first", "second" can explicitly or implicitly include at least one of the features. In the description of the present disclosure, the meaning of "a plurality of" is two or more, unless otherwise specifically limited.

[0209] The above description is merely a specific implementation of the present disclosure, but the protection scope of the present disclosure is not limited thereto. Any person skilled in the art can easily think of changes or replacements within the technical scope disclosed in the present disclosure, which should be covered within the protection scope of the present disclosure. Therefore, the protection scope of the present disclosure should be subject to the protection scope of the claims.

Claims

1. A data processing method, characterized by, The method comprises: determining the area and model of the server where each adapter card is located based on the board card identifier of each adapter card; traversing the slots of each adapter card based on the area and model of the server where each adapter card is located to determine the in-place level information of each slot of each adapter card; determining the device unique identifier of the slot device connected to the corresponding slot based on the physical link of each slot of each adapter card; determining the slot device identification information based on the in-place level information of the slot and the device unique identifier corresponding to the slot; wherein the device unique identifier comprises at least one of the bus identifier, the slot device identifier and the function identifier of the corresponding slot device; determining the device unique identifier of the slot device connected to the corresponding slot based on the physical link of each slot of each adapter card, comprising: determining the physical link of each slot of each adapter card; the physical link comprises the central processing unit identifier, the port identifier and the channel identifier connected to the slot; determining the physical link corresponding to the slot device connected to each slot; wherein the physical link of the connected slot and the slot device is the same; determining the device unique identifier of the slot device connected to each slot; determining the device unique identifier corresponding to each slot based on the physical link of each slot, the physical link corresponding to each slot device, and the device unique identifier of the slot device; determining the physical link of each slot of each adapter card, comprising: accessing the second chip to obtain the physical link of each slot; wherein the model of the second chip is the same as that of the first chip; accessing the second chip to obtain the physical link of each slot, comprising: accessing the second chip to obtain the MCIO ID of each slot in the second chip to determine the source of the slot; wherein the MCIO ID is used to represent the chip actually connected to the slot, the port of the chip, and the start address of the PCIe Lane in the actual physical link; determining the physical link corresponding to the slot device connected to each slot, comprising: in response to the slot device enumeration stage of the basic input and output system, obtaining the topology structure of all slot devices; determining the physical link corresponding to each slot device based on the topology structure of the slot device.

2. The method of claim 1, wherein: the board card identifier corresponding to the same adapter card is different when the adapter card is located in different areas of the server; the board card identifier corresponding to adapter cards of different models is different.

3. The method of claim 1, wherein, Before the step of determining the area and model of the server where each adapter card is located based on the board card identifier of each adapter card, the method further comprises: reading the value of each pin of the first chip to determine the board card identifier of each adapter card.

4. The method of claim 1, wherein, The step of traversing the slots of each adapter card based on the area and model of the server where each adapter card is located to determine the in-place level information of each slot of each adapter card, comprising: traversing at least one adapter card corresponding to the area of each server in sequence based on the area of the server where each adapter card is located; Based on the model of at least one adapter card corresponding to any server region, traverse at least one slot of each adapter card corresponding to the server region to determine the on-state level information of each slot.

5. The method according to claim 1 or 4, characterized in that, The process involves iterating through the slots of each adapter card based on the region and model of the server where each adapter card is located, and determining the on-state level information of each slot for each adapter card. This includes performing the following operations on any adapter card: Open the integrated circuit bus channel of the arbitrary adapter card and scan the integrated circuit bus addresses of each slot included in the arbitrary adapter card; Based on the integrated circuit bus address of each slot included in the arbitrary adapter card, obtain the on-state level information of each slot; Based on the on-state level information of each slot, the connection information of each slot is determined.

6. The method of claim 5, wherein, The determination of connection information for each slot based on the on-state level information of each slot includes: If the slot's on-state level information is high, then the slot is connected to a slot device; Alternatively, if the slot's on-state level information is low, then the slot is not connected to a slot device.

7. The method according to claim 1 or 6, characterized in that, The method further includes: Based on the presence level information of each slot of each adapter card and the slot identifier of each slot, the correspondence between the slot identifier and the presence level information is determined.

8. The method of claim 1, wherein, The determination of the unique device identifier for each slot based on the physical link of each slot, the physical link corresponding to each slot device, and the unique device identifier of the slot device includes: Based on the physical link of each slot of each adapter card, and the physical link corresponding to each slot device, the correspondence between slots and slot devices is determined. Based on the correspondence between slots and slot devices, and the unique device identifier of the slot device, determine the unique device identifier corresponding to each slot.

9. The method according to claim 1 or 8, characterized in that, The method further includes: Based on the identifier of each slot of each adapter card and the unique device identifier corresponding to each slot, the correspondence between the slot identifier and the unique device identifier is determined.

10. The method of claim 1, wherein, The determination of slot device identification information based on the slot's on-state level information and the slot's corresponding unique device identifier includes: In response to the correspondence between slot identifiers and on-state level information, if it is determined that the on-state level information of any slot is low, then the slot device identification information of that slot is confirmed to be an unconnected slot device. Alternatively, in response to the correspondence between the slot identifier and the on-state level information, if it is determined that the on-state level information of any slot is high, then the slot device identification information is determined based on the unique device identifier corresponding to that slot.

11. The method of claim 10, wherein, The process of determining the slot device identification information based on the unique identifier of the device corresponding to the slot includes: In response to the correspondence between slot-based identifiers and device unique identifiers, if it is determined that the device unique identifier corresponding to the slot does not exist, then the slot device identification information of the slot is confirmed to be that the slot has a slot device, but it has not been identified. Alternatively, in response to the correspondence between the slot-based identifier and the device unique identifier, it is determined that the device unique identifier corresponding to the slot exists, and then it is confirmed that the slot device identification information of the slot corresponds to the slot device existing in the slot.

12. The method of claim 1 or 11, wherein, If it is confirmed that the slot device identification information of the slot corresponds to the slot device existing in the slot, but the slot device is not identified, the method further comprises: sending the slot identifier of the slot to the baseboard management controller through the intelligent platform management interface, so that the baseboard management controller generates alarm information, and the alarm information includes at least one of the slot identifier of the slot, the model of the corresponding adapter card, the area of the server where the corresponding adapter card is located, and the board card identifier of the corresponding adapter card.

13. The method of claim 1, wherein, The method further comprises: based on the slot device identification information, adding the slot device identification identifier of the corresponding slot in the code corresponding to the current use state of the slot; wherein different slot device identification information corresponds to different slot device identification identifiers.

14. A data processing apparatus, characterized by The apparatus comprises: a first determination unit configured to determine the area and model of the server where each adapter card is located based on the board card identifier of each adapter card; a second determination unit configured to determine the in-place level information of each slot of each adapter card by traversing the slots of each adapter card based on the area and model of the server where each adapter card is located; a third determination unit configured to determine the device unique identifier of the slot device connected to the corresponding slot based on the physical link of each slot of each adapter card; a processing unit configured to determine the slot device identification information based on the in-place level information of the slot and the device unique identifier corresponding to the slot; wherein the device unique identifier includes at least one of the bus identifier, the slot device identifier, and the function identifier of the corresponding slot device; the third determination unit is specifically configured to determine the physical link of each slot of each adapter card; the physical link includes the central processing unit identifier, the port identifier, and the channel identifier connected to the slot; determine the physical link corresponding to the slot device connected to each slot; wherein the physical link of the connected slot and the slot device is the same; determine the device unique identifier of the slot device connected to each slot; determine the device unique identifier corresponding to each slot based on the physical link of each slot, the physical link corresponding to each slot device, and the device unique identifier of the slot device; the third determination unit is specifically configured to access the second chip to obtain the physical link of each slot; wherein the second chip has the same model as the first chip; the third determination unit is specifically configured to access the second chip to obtain the MCIOID of each slot in the second chip, and determine the source of the slot; wherein the MCIOID is used to represent the chip actually connected to the slot, the port of the chip, and the start address of the PCIe Lane in the actual physical link; the third determination unit is specifically configured to obtain the topology of all slot devices in response to the slot device enumeration phase in the basic input / output system; determine the physical link corresponding to each slot device based on the topology of the slot device.

15. An electronic device, comprising: comprises: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-13.

16. A non-transitory computer-readable storage medium having stored thereon computer instructions, wherein, The computer instructions are for causing a computer to perform the method of any one of claims 1-13.

17. A computer program product, characterised in that, A computer program, which when executed by a processor implements the method of any one of claims 1-13.

Citation Information

Patent Citations

  • Method and device for using PCIe interface compatible with cathaya card, storage medium and equipment

    CN115344520A

  • Method and device for identifying faults of expansion bus equipment of high-speed serial computer

    CN115964218A