Device slot identification method, electronic device, and computer readable storage medium
By setting up exposed copper areas on the adapter card and positioning contact groups on the structural support, slot indication information is generated, which solves the problem of poor flexibility in equipment slot identification methods and realizes flexible equipment use and low-cost maintenance.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-06-09
- Publication Date
- 2026-03-05
AI Technical Summary
Existing equipment slot identification methods suffer from poor equipment usage flexibility, limiting equipment flexibility and configuration diversity.
An adapter card is installed in the expansion slot, and a positioning contact group is set on the structural support. This makes the contact position between the exposed copper area of the adapter card and the positioning contact group different, generating slot indication information. This information is used to identify the installation position of the adapter card.
It enables flexible equipment slot identification, improves the flexibility of equipment use, and reduces production and maintenance costs.
Smart Images

Figure CN2025099938_05032026_PF_FP_ABST
Abstract
Description
Equipment slot identification methods, electronic devices and computer-readable storage media
[0001] Cross-reference to related applications
[0002] This application claims priority to Chinese Patent Application No. 202411213459.X, filed on August 30, 2024, entitled “Method for Identifying Equipment Slots, Electronic Device and Storage Medium”, the entire contents of which are incorporated herein by reference. Technical Field
[0003] This application relates to the field of computers, and in particular to a device slot identification method, an electronic device, and a computer-readable storage medium. Background Technology
[0004] Some electronic devices have numerous expansion slots for installing user-required expansion devices, which can be mounted onto the expansion ports of the electronic device. When maintaining or reconfiguring electronic devices, it's necessary to know the location of these expansion devices; therefore, server device slot identification is required.
[0005] To facilitate device slot identification, related technologies may employ a fixed topology, where each expansion port of an electronic device corresponds one-to-one with an expansion slot on the device chassis, and all configurations of the electronic device follow this one-to-one correspondence. However, this method of device slot identification requires all configurations of the electronic device to be used according to a predetermined topology, limiting the flexibility of device usage.
[0006] It is evident that the equipment slot identification methods in related technologies suffer from poor flexibility in equipment use. Summary of the Invention
[0007] This application provides a device slot identification method, an electronic device, and a computer-readable storage medium to at least solve the problem of poor device usage flexibility in related technologies for device slot identification methods.
[0008] According to a first aspect of the embodiments of this application, a device slot identification method is provided, applied to an electronic device. The electronic device includes a processing component and a structural support. The processing component includes multiple expansion ports, and the structural support has multiple expansion slots. Adapter cards are installed in the expansion slots. The expansion ports are configured to connect to expansion devices mounted on the expansion ports via the adapter cards installed in the corresponding expansion slots. The structural support has multiple first positioning contact groups corresponding to the multiple expansion slots. The exposed copper area of the adapter card installed in different expansion slots contacts the positioning contact of the corresponding first positioning contact group at its respective first positioning point. The positions in the contact groups are at least partially different; the method includes: when there are mounted expansion ports of mounted expansion devices in multiple expansion ports, obtaining slot indication information stored in a designated register of an associated adapter card to obtain target slot indication information, wherein the associated adapter card is an adapter card that connects the mounted expansion port and the expansion device mounted on the mounted expansion port, and the target slot indication information is generated based on the position of the positioning contact that contacts the exposed copper area of the associated adapter card in its first positioning contact group, and the target slot indication information is used to identify the slot position of the expansion slot in which the associated adapter card is installed; by parsing the target slot indication information, determining the expansion slot in which the associated adapter card is installed among multiple expansion slots.
[0009] According to a second aspect of the embodiments of this application, an electronic device is also provided. The electronic device includes a processing component and a structural support. The processing component includes a plurality of expansion ports. The structural support has a plurality of expansion slots. Adapter cards are installed in the expansion slots. The expansion ports are configured to connect to expansion devices mounted on the expansion ports via the adapter cards installed in the corresponding expansion slots. The structural support has a plurality of first positioning contact groups corresponding to the expansion slots. The exposed copper areas of the adapter cards installed in different expansion slots are at least partially different from the positioning contacts in their respective first positioning contact groups. The electronic device further includes: an execution unit configured to, when there is an already mounted expansion port of an expansion device in multiple expansion ports, obtain slot indication information stored in a designated register of an associated adapter card to obtain target slot indication information, wherein the associated adapter card is an adapter card that connects the already mounted expansion port and the expansion device mounted on the already mounted expansion port, and the target slot indication information is generated based on the position of the positioning contact that contacts the exposed copper area of the associated adapter card in its first positioning contact group, and the target slot indication information is used to identify the slot position of the expansion slot in which the associated adapter card is installed; by parsing the target slot indication information, the expansion slot in which the associated adapter card is installed in multiple expansion slots is determined.
[0010] According to a third aspect of the embodiments of this application, a structural bracket is also provided. The structural bracket is used to fix adapter cards installed on a plurality of expansion slots on the structural bracket and expansion devices mounted on the adapter cards installed on the plurality of expansion slots. The structural bracket has a plurality of first positioning contact groups corresponding to the plurality of expansion slots. In different first positioning contact groups, the positioning contacts used to contact the exposed copper area of the adapter cards installed on the corresponding expansion slots are at least partially different in their respective first positioning contact groups.
[0011] According to a fourth aspect of the present application, an adapter card is also provided. The adapter card is configured to be installed in an expansion slot on a structural support of an electronic device, and to connect an expansion port on a processing component of the electronic device and an expansion device mounted in the expansion slot via the adapter card. The adapter card has an exposed copper area for contacting a positioning contact in a first positioning contact group on the structural support of the electronic device. The adapter card is also configured to generate slot indication information based on the position of the positioning contact in the first positioning contact group contacted by the exposed copper area, and to store the generated slot indication information in a designated register of the adapter card.
[0012] According to a fifth aspect of the embodiments of this application, a computer-readable storage medium is also provided, wherein a computer program is stored in the computer-readable storage medium, and the computer program is configured to perform the steps in any of the above method embodiments when it is run.
[0013] This application employs a method where an adapter card installed in an expansion slot has an exposed copper area and a positioning contact group is provided on the structural support. The positioning contacts of the exposed copper areas of adapter cards installed in different expansion slots are at least partially different in their respective positioning contact groups. Therefore, the adapter card can generate slot indication information based on the position of the positioning contacts of its exposed copper areas within their respective positioning contact groups. This generated slot indication information indicates the expansion slot in which the adapter card is installed (the slot position of the expansion slot). When an expansion port is connected to an expansion device, the slot indication information stored in the adapter card associated with the connected expansion device can determine the expansion slot in which the associated adapter card is installed, thus achieving device slot identification. This device slot identification method does not require a fixed connection relationship between the expansion port and the expansion slot; it only needs to identify the expansion slot connected to the expansion port when an expansion device is connected to it. This solves the problem of poor flexibility in device slot identification methods in related technologies, thereby improving the flexibility of device use. Attached Figure Description
[0014] Figure 1 is a hardware structure block diagram of a server device for a device slot identification method according to an embodiment of this application.
[0015] Figure 2 is a schematic diagram of an optional server PCIe slot according to an embodiment of this application.
[0016] Figure 3 is a schematic diagram of an optional correspondence between ports and slots according to an embodiment of this application.
[0017] Figure 4 is a schematic diagram of an optional chassis and PCIe module according to an embodiment of this application.
[0018] Figure 5 is a schematic diagram of an optional first positioning contact group according to an embodiment of this application.
[0019] Figure 6 is a flowchart illustrating an optional equipment slot identification method according to an embodiment of this application.
[0020] Figure 7 is a schematic diagram of an optional structural support according to an embodiment of this application.
[0021] Figure 8 is a schematic diagram of an identification circuit in an optional Riser card according to an embodiment of this application.
[0022] Figure 9 is a structural block diagram of a computer system of an optional electronic device according to an embodiment of this application. Detailed Implementation
[0023] The embodiments of this application will be described in detail below with reference to the accompanying drawings and examples.
[0024] It should be noted that the terms "first," "second," etc., in the specification, claims, and drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence.
[0025] The methods and embodiments provided in this application can be executed in server devices or similar electronic devices. Taking a server device as an example, FIG1 is a hardware structure block diagram of a server device for a device slot identification method according to an embodiment of this application. As shown in FIG1, the server device may include one or more (only one is shown in FIG1) processors 102 (processors 102 may include, but are not limited to, microprocessors MCU (Microcontroller Unit) or programmable logic devices FPGA (Field Programmable Gate Array), etc.) and a memory 104 configured to store data. The server device may also include a transmission device 106 configured for communication and an input / output device 108. Those skilled in the art will understand that the structure shown in FIG1 is only illustrative and does not limit the structure of the server device. For example, the server device may also include more or fewer components than shown in FIG1, or have a different configuration than shown in FIG1.
[0026] The memory 104 may be configured to store computer programs, such as application software programs and modules, like the computer program corresponding to the device slot identification method in this embodiment. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, thereby implementing the aforementioned method. The memory 104 may include high-speed random access memory and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may include memory remotely located relative to the processor 102, and these remote memories can be connected to server devices via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.
[0027] The transmission device 106 is configured to receive or transmit data via a network. Optional examples of the network may include a wireless network provided by the communication provider of the server device. In one example, the transmission device 106 includes a Network Interface Controller (NIC), which can connect to other network devices via a base station to communicate with the Internet. In another example, the transmission device 106 may be a Radio Frequency (RF) module configured to communicate wirelessly with the Internet.
[0028] This embodiment provides a device slot identification method, which can be applied to electronic devices such as servers and terminal devices. Electronic devices can install user-required expansion devices through expansion slots, and these expansion devices can be mounted on the expansion ports of the electronic device. During the maintenance and reconfiguration of electronic devices, it is necessary to know the location of these expansion devices; therefore, it is necessary to identify the device slots of the server. The aforementioned expansion port can be a PCIe (Peripheral Component Interconnect Express) port. Correspondingly, the expansion slot can be a PCIe slot (PCIe expansion slot), and the expansion device mounted through the PCIe slot can be a PCIe expansion device (e.g., a network card, which can be called a PCIe peripheral). The device slot identification method in this embodiment is also applicable to other types of expansion ports, expansion slots, and expansion devices. The aforementioned expansion port can be an expansion port of the processing unit of the electronic device, such as the expansion port of the CPU (Central Processing Unit), or it can be an expansion port of other processing units (e.g., a microcontroller unit). This embodiment does not limit this.
[0029] Taking servers as an example, with the development of the internet industry and the large-scale application of cloud computing and big data technologies, the demand for servers is also increasing significantly. Server scalability is a crucial technical indicator. Currently, server scalability peripherals mainly include hard drives and PCIe devices. Various expansion cards conforming to the PCIe standard add a wide range of features to servers. Servers typically have many PCIe slots for installing the PCIe expansion devices needed by users. When maintaining and reconfiguring servers, it's necessary to know the location of these PCIe devices; therefore, identifying PCIe slots is an important requirement in server operation and maintenance.
[0030] For example, as shown in Figure 2, a server has six PCIe slots, namely PCIe1 to PCIe6 (i.e., PCIe slot 1 to PCIe slot 6), which can accommodate six PCIe standard network cards. When a network card malfunctions, it's necessary to know which PCIe slot it's installed in so that maintenance personnel can repair or replace it. Therefore, the server's management system needs to be able to identify the PCIe slot where each PCIe expansion device on the server is installed.
[0031] In related technologies, a fixed topology can be used for device slot identification, where each expansion port of an electronic device corresponds one-to-one with an expansion slot on the device chassis, and all configurations of the electronic device use this correspondence. However, this device slot identification method requires all configurations of the electronic device to be used according to a predetermined topology, limiting the flexibility of device use.
[0032] Taking servers as an example, a fixed PCIe topology can be used in server design. This means that the PCIe ports of the CPUs on the server motherboard correspond one-to-one with the PCIe slots on the server chassis, and all server configurations use this mapping. As shown in Figure 3, the motherboard has two CPUs, each with three x16 bandwidth PCIe ports. In the server design, the CPU's PCIe ports are fixed to the PCIe slots on the chassis through traces, connectors, or cables on the PCB (Printed Circuit Board). That is, in all configurations, when a PCIe peripheral is plugged into PCIe slot 1, the device is connected to PCIe port 1 of CPU 0. Through this fixed mapping relationship, the management system can determine which PCIe expansion device is installed in.
[0033] However, while the above solution can achieve PCIe slot identification, it limits the flexibility of server use. All configurations need to be used according to the established PCIe topology, which is a significant disadvantage in environments where servers need to be used for multiple purposes.
[0034] To solve the above problems, an FRU (Field Replaceable Unit) can be added to the adapter card in the expansion slot. The FRU stores the slot information of the corresponding adapter card. The number of adapter cards corresponds to the number of expansion slots. This way, the expansion ports of the processing units on the motherboard can be connected to any adapter card (equivalent to connecting to the corresponding expansion slot) via cables. By retrieving the slot information stored in the FRU, it can be determined which expansion slot the adapter card is in, and thus which expansion slot the expansion device is mounted in.
[0035] For example, an FRU unit can be added to a Riser card (an example of an adapter card). The FRU unit stores the slot information of the corresponding PCIe slot where the Riser card is installed. The number of Riser cards (expansion cards) is equal to the number of PCIe slots. This way, the CPU's PCIe port on the motherboard can be connected to any Riser card (i.e., any PCIe slot) via a cable. The control system can then determine which expansion slot the Riser card is installed in by obtaining the FRU information, thus knowing which expansion slot the PCIe expansion device is connected to. Here, the Riser card is a PCB adapter board fixed to the PCIe slot bracket, and PCIe peripherals are installed on the Riser card.
[0036] While the above solution offers a flexible topology that can meet the needs of various server configurations, it requires the design of multiple adapter cards (e.g., Riser cards), which can easily lead to material stagnation and increase the production and maintenance costs of electronic equipment.
[0037] To at least partially solve the above problems, this embodiment employs a method where the adapter card installed in the expansion slot has an exposed copper area and a positioning contact group is provided on the structural support. The positioning contacts of the exposed copper areas of the adapter cards installed in different expansion slots are at least partially different in their respective positioning contact groups. The adapter card can generate slot indication information based on the position of its exposed copper area's positioning contact in its respective positioning contact group. This generated slot indication information indicates the expansion slot in which the adapter card is installed (the slot position of the expansion slot). When an expansion port is connected to an expansion device, the slot indication information stored in the adapter card associated with the connected expansion device can determine the expansion slot in which the associated adapter card is installed, thereby achieving device slot identification. This device slot identification method does not require a fixed connection relationship between the expansion port and the expansion slot, nor does it require designing multiple adapter cards. This not only increases the flexibility of equipment use but also facilitates equipment maintenance, with minimal impact on production and maintenance costs.
[0038] The device slot identification method in this embodiment can be applied to electronic devices. The electronic device includes a processing unit and a structural support. The processing unit includes multiple expansion ports, and the structural support has multiple expansion slots. Adapter cards are installed in the expansion slots; that is, the correspondence between expansion ports, expansion slots, and adapter cards can be one-to-one. For each expansion port, it can be configured to connect to a mounted expansion device via an adapter card installed in the corresponding expansion slot. The correspondence between expansion ports, expansion slots, adapter cards, and expansion devices can also be one-to-one.
[0039] The structural bracket is used to fix adapter cards and expansion devices. Besides providing the aforementioned support function, it also provides position information, which can be slot indication information. This slot indication information can be used to indicate the slot position of the corresponding adapter card installed in the expansion slot. For this purpose, the structural bracket can be provided with multiple first positioning contact groups, with each expansion slot corresponding to one first positioning contact group. There can be a one-to-one correspondence between the expansion slots and the first positioning contact groups. The exposed copper area of the adapter card installed in different expansion slots and the position of the positioning contact in the corresponding first positioning contact group are at least partially different in their respective first positioning contact groups. Here, the structural bracket can be fixed to the chassis of the electronic device; therefore, the expansion slots on the structural bracket can also be understood as the expansion slots on the chassis.
[0040] Optionally, the adapter card can be a Riser card (i.e., a PCIe adapter card, PCIe external card), which can transfer PCIe signals on the motherboard to its corresponding PCIe slot. When the gold fingers (a row of contacts on the PCIe peripheral) on the PCIe peripheral (i.e., the PCIe expansion device) are inserted into the PCIe slot of the Riser card, the PCIe signals on the motherboard can be connected to the PCIe peripheral. The PCIe peripheral, Riser card, and structural bracket are assembled and fixed to the chassis for use. As shown in Figure 4, Figure 4 illustrates an exemplary positional relationship between the PCIe peripheral, structural bracket, structural bracket, and chassis. Here, the PCIe slot is the location on the structural bracket where the PCIe expansion device can be installed. The structural bracket can be made of metal and uses screws or clips to fix the PCIe peripheral and Riser card to the chassis.
[0041] Optionally, the number of point contacts included in each first positioning contact group can be the same. For example, as shown in Figure 5, M Riser cards can be installed on the side wall of the structural support. Each Riser card corresponds to one first positioning contact group, and each first positioning contact group contains N positioning contacts. The positioning contacts (marked in gray in Figure 5) that allow the exposed copper area of the corresponding adapter card to contact the positioning contacts in each first positioning contact group are at least partially different in their positions within the first positioning contact group. Here, the contact between the exposed copper area and the positioning contacts can be achieved by forming a path with the positioning contacts. Correspondingly, positioning contacts that are not allowed to contact the exposed copper area of the corresponding adapter card can be omitted. In this case, the number of positioning contacts included in different first positioning contact groups can be different, as long as the corresponding adapter cards can recognize different slot indication information.
[0042] Figure 6 is a flowchart of an optional equipment slot identification method according to an embodiment of the present application. As shown in Figure 6, the process includes the following steps S602 to S604.
[0043] Step S602: If there is an already mounted expansion port of an expansion device among multiple expansion ports, obtain the slot indication information stored in the specified register of the associated adapter card to obtain the target slot indication information.
[0044] In this embodiment, when identification is required, expansion ports with connected expansion devices can be detected among multiple expansion ports. If an expansion port with a connected expansion device is detected, the slot indication information stored in the designated register of the associated adapter card can be obtained to obtain the target slot indication information. Here, the associated adapter card is an adapter card that connects the connected expansion port and the expansion device connected to the connected expansion port. The expansion slot in which the associated adapter card is installed can be the associated expansion slot. The connected expansion port and the associated adapter card can be connected via a communication bus. Through this communication bus, the slot indication information stored in the designated register of the associated adapter card, i.e., the target slot indication information, can be obtained.
[0045] The target slot indication information is generated based on the position of the positioning contact that contacts the exposed copper area of the associated adapter card within its first positioning contact group. Since the positions of the positioning contacts in the first positioning contact group differ at least partially among different adapter cards, the generated slot indication information will also differ. This slot indication information can be used to identify the slot position of the corresponding associated card in the expansion slot. The target slot indication information can be used to identify the slot position of the associated expansion slot. Optionally, the specified register mentioned above can be an IO (Input / Output) Expander register, or any other specified register, as long as it can store the aforementioned slot indication information.
[0046] Step S604: By parsing the target slot indication information, determine the expansion slot in which the associated adapter card is installed among multiple expansion slots.
[0047] After obtaining the target slot indication information, this information can be parsed. This parsing can be based on the correspondence between the slot indication information and the slot positions of the expansion slots. The slot indication information may contain multiple parts, each indicating a positional information of the corresponding expansion slot. For example, for a matrix-arranged expansion slot, some indication information might indicate the row information, while others might indicate the column information. Through this parsing process, the expansion slot in which the associated adapter card is installed can be determined, i.e., the slot position of the associated expansion slot.
[0048] It should be noted that, in order to achieve automatic identification of expansion slots (e.g., PCIe slots), this embodiment obtains slot information (i.e., slot indication information) through chassis structure and hardware circuitry. The slot location of the expansion device (e.g., PCIe peripheral) is deduced by the identification system (the system running the device slot identification method in this embodiment, which can be called the slot identification system), so as to realize the automatic identification of expansion slots by electronic devices (e.g., automatic identification of PCIe slots by servers), which increases the flexibility of device use, facilitates user operation and maintenance, and has low cost.
[0049] Through the above steps, when multiple expansion ports contain mounted expansion devices, the slot indication information stored in the designated register of the associated adapter card is obtained to obtain the target slot indication information. The associated adapter card is a card that connects the mounted expansion port and the expansion device mounted on it. The target slot indication information is generated based on the position of the positioning contact that contacts the exposed copper area of the associated adapter card within its first positioning contact group. This target slot indication information identifies the slot position where the associated adapter card is installed. By parsing the target slot indication information, the expansion slot where the associated adapter card is installed among multiple expansion slots is determined. This solves the problem of poor flexibility in equipment use in related technologies for equipment slot identification methods, and improves the flexibility of equipment use.
[0050] In some exemplary embodiments, multiple expansion slots are divided into multiple expansion slot groups, which can be based on the slot positions of the expansion slots. For example, multiple expansion slot groups can correspond to multiple support regions, which can be divided by splitting the structural support into multiple support parts, or by dividing the multiple expansion slots into multiple expansion slot groups based on the slot positions of the expansion slots in each expansion slot group.
[0051] For example, as shown in Figure 2, PCIe1 to PCIe6 on the server can be divided into two expansion slot groups. PCIe1 to PCIe3 is one group, and PCIe4 to PCIe6 is another group. The area on the structural bracket corresponding to PCIe1 to PCIe3 can be a bracket area (which can be the left bracket), and the area corresponding to PCIe4 to PCIe6 can be a bracket area (which can be the right bracket).
[0052] Each first positioning contact group can be divided into a first sub-positioning contact group and a second sub-positioning contact group. The first sub-positioning contact group identifies the position of the corresponding expansion slot within its respective expansion slot group, and the second sub-positioning contact group identifies the expansion slot group to which the corresponding expansion slot belongs. Accordingly, the slot indication information for an expansion slot can be determined based on the positions of the positioning contacts in the corresponding first sub-positioning contact group that are allowed to contact the exposed copper area within their respective first sub-positioning contact groups, and the positions of the positioning contacts in the corresponding second sub-positioning contact groups that are allowed to contact the exposed copper area within their respective second sub-positioning contact groups. This can be a positioning code, with the number of bits matching the number of positioning contacts in the corresponding first positioning contact group. Here, the positioning contacts are used to position the expansion slot, and can be implemented using protruding or non-protruding contacts.
[0053] Optionally, the exposed copper area of the adapter card installed in the expansion slot of the same expansion slot group is at least partially different from the position of the positioning contact in the corresponding first sub-positioning contact group within the same first sub-positioning contact group; conversely, the exposed copper area of the adapter card installed in the expansion slot of the same expansion slot group is in the same position as the positioning contact in the corresponding second sub-positioning contact group within the same second sub-positioning contact group. The exposed copper area of the adapter card installed in the expansion slot of different expansion slot groups is at least partially different from the position of the positioning contact in the corresponding second sub-positioning contact group within the same second sub-positioning contact group. The combination of the first and second sub-positioning contact groups uniquely identifies the expansion slot.
[0054] Optionally, the structural bracket can be fixed to the chassis of the electronic device. The structural bracket also has multiple second positioning contact groups corresponding one-to-one with multiple expansion slot groups. In the second sub-positioning contact group included in the first positioning contact group corresponding to each expansion slot group, the positioning contact used to contact the exposed copper area of the adapter card contacts the bottom of the chassis through the positioning contact in the second positioning contact group corresponding to each expansion slot group. The chassis and internal bracket of the electronic device are both metal, and the electronic device is connected to ground after being mounted. The circuitry in the circuit board inside the chassis is equivalent to grounding after contacting the chassis or metal structural components. Through the above design, the positioning contacts used to contact the exposed copper area of the adapter card are grounded through the positioning contacts (hereinafter referred to as effective positioning contacts) in the second positioning contact group corresponding to each expansion slot group (which can be understood as the bracket area). This makes the voltage level at the position where the exposed copper area of the adapter card contacts the effective positioning contact different from the voltage level at other positions, improving the convenience of slot indication information identification.
[0055] For example, the structural bracket provides fixed support, the Riser card is fixed to the side wall of the structural bracket, and the structural bracket is fixed to the chassis. With the aforementioned structural bracket, when the Riser card is installed on the side wall of the bracket, metal springs or contacts on the side wall will contact the Riser card, and metal springs or contacts at the lower end of the side wall of the bracket will also contact the bottom of the chassis. The metal springs or contacts on the bracket are used to provide position information.
[0056] As shown in Figure 7, the server has 6 PCIe slots, divided into two groups of 3 slots each, located on the left and right brackets (corresponding to the aforementioned bracket area). If the server system detects an inserted PCIe device, it needs to determine which slot (1-6) the device is installed in. To do this, the column and row positions of the expansion slot can be determined first; that is, its location on the bracket structure (column position) and whether it's on the left or right bracket (row position).
[0057] Taking the left bracket as an example, the left bracket has PCIe 1 to 3. In Figure 7, the three dashed boxes on the side wall of the bracket represent the installation positions of three Riser cards, corresponding to these three PCIe slots. The Riser cards and PCIe slots in Figure 7 are in one-to-one correspondence; that is, one Riser card has one PCIe slot. Here, in addition to the functions of a traditional bracket, the structural bracket also has three sets of positioning contacts: Riser card row positioning contacts (an example of the first sub-positioning contact group), Riser card row positioning contacts (an example of the second sub-positioning contact group), and bracket row positioning contacts (an example of the second positioning contact group). Each set of positioning contacts has 3 bits (the number of bits in the positioning contacts can be increased or decreased according to the number of slots to be positioned, as long as the coding can cover the number of slots).
[0058] The riser card row positioning contacts have three positions in total, labeled Column 1, Column 2, and Column 3 from left to right (indicating the position within a column). When a riser card is installed in the PCIe 1 position, contact Column 1 (the gray-marked positioning contact in Figure 7) contacts the riser card, while contacts Columns 2 and 3 (the white-marked positioning contacts in Figure 7) do not contact the riser card. When a riser card is installed in the PCIe 2 position, contact Column 2 contacts the riser card, while contacts Columns 1 and 3 do not. This ensures that the contact points differ depending on the riser card's position within the column, serving as column identifiers for the PCIe slot location.
[0059] The Riser card row positioning contacts have three positions, designated row 1, row 2, and row 3 from left to right. When a Riser card is installed in any of the PCIe slots 1, 2, or 3, contact row 1 (the gray-marked positioning contact in Figure 7) contacts the Riser card, while contacts row 2 and row 3 (the white-marked positioning contacts in Figure 7) do not. Since the Riser cards in these three positions are all on the same bracket, their corresponding rows are the same (here, the bracket on the left is defined as row 1). Row 1 contacts on these three PCIe slots are all connected together and connected to the bracket row positioning contacts.
[0060] The bracket has three row positioning contacts, designated row 1, row 2, and row 3 from left to right. When the bracket is installed on the chassis, these contacts will contact the chassis base. In Figure 7, after the left bracket is installed, contact row 1 contacts the chassis base, while contacts row 2 and row 3 do not. This means that the row markings of the contacts will differ depending on the bracket's position on the chassis base in the row direction.
[0061] Through the positioning contact configuration in this embodiment, the slot indication information stored in the designated register of the adapter card installed on each expansion slot is a positioning code generated based on the positioning contact contact contact contacted by the exposed copper area of the adapter card installed on each expansion slot. That is, the positioning code is generated based on the position of the positioning contact contact contact contacted by the exposed copper area of the adapter card installed on each expansion slot in its respective positioning contact group.
[0062] In this embodiment, the slot indication information for each expansion slot is fixed and does not depend on the connection relationship with the expansion port or whether an adapter card is installed. Therefore, an encoding mapping table can be pre-configured to record the correspondence between the expansion slots and their corresponding positioning codes. Correspondingly, by parsing the target slot indication information, the expansion slot in which the associated adapter card is installed is determined, including: querying the preset encoding mapping table using the target slot indication information, and determining the queried expansion slot as the expansion slot in which the associated adapter card is installed.
[0063] Optionally, for each adapter card, the required slot indication information can be determined after it is installed into the corresponding expansion slot. Therefore, the slot indication information can be determined and stored in a designated register at any time after the adapter card is installed into the expansion slot.
[0064] For example, in addition to connecting PCIe peripherals to the CPU PCIe port, the Riser card also converts the position information on the structural support into digital signals and sends them to the slot identification system. The slot identification system can then determine the slot location of the required PCIe peripheral based on this information. When a Riser card is installed in PCIe slots 1 through 6, the corresponding positioning code for each Riser card can be determined. The coding information for the six PCIe slots on the server can be stored in the slot coding mapping table shown in Table 1.
[0065] Table 1
[0066] As shown in Table 1, there is a one-to-one correspondence between the PCIe slot and its row and column positioning codes. Once the identification system obtains the positioning code transmitted by the Riser card, it can determine the PCIe slot where the Riser card is installed, and thus the location of the PCIe peripherals installed on the Riser card.
[0067] In this embodiment, by identifying the expansion slot group to which the adapter card is installed and its position within that expansion slot group through different positioning contact groups, expansion slot positioning can be easily performed, improving the convenience and accuracy of expansion slot identification.
[0068] In some exemplary embodiments, among a plurality of first positioning contact groups, the first positioning contact group corresponding to the associated adapter card is an associated positioning contact group. The exposed copper area of the associated adapter card includes a set of first contact points for contacting positioning contacts in the first sub-positioning contact group of the associated positioning contact group, and a set of second contact points for contacting positioning contacts in the second sub-positioning contact group of the associated positioning contact group. For the associated adapter card, after being installed into the associated expansion slot, it can determine the slot position information corresponding to the associated expansion slot, i.e., the target slot position information, and store the determined target slot position information in a designated register thereon. The above steps can be performed by the processing chip of the associated adapter card. Optionally, the processing chip can be an IO Expander chip, and the designated register is an IO Expander register.
[0069] The aforementioned processing chip may include a set of first pins and a set of second pins. The set of first pins corresponds to a first sub-positioning contact group in the associated positioning contact group and can be connected to a set of first contact points. The set of second pins corresponds to a second sub-positioning contact group in the associated positioning contact group and can be connected to a set of second contact points. Since the voltage levels of the positioning contacts that are in contact with the exposed copper area of the associated adapter card and the positioning contacts that are not in contact with the exposed copper area of the associated adapter card are different, for a set of first pins, the pin voltage level of the first pin connected to the first contact point that is in contact with the corresponding positioning contact is different from the pin voltage level of the first pin connected to the first contact point that is not in contact with the corresponding positioning contact. Similarly, for a set of second pins, the pin voltage level of the second pin connected to the second contact point that is in contact with the corresponding positioning contact is different from the pin voltage level of the second pin connected to the second contact point that is not in contact with the corresponding positioning contact.
[0070] In this embodiment, the expansion slot group to which the associated expansion slot belongs can be determined based on the pin levels of different second pins in a set of second pins, and the position of the associated expansion slot in its respective expansion slot group can be determined based on the pin levels of different first pins in a set of first pins, thereby achieving slot identification. Correspondingly, before obtaining the slot indication information stored in the designated register of the associated adapter card, the above method further includes: determining the pin levels of a set of first pins and second pins through a processing chip; and generating target slot indication information based on the pin levels of the set of first pins and second pins.
[0071] For example, besides connecting PCIe peripherals to the CPU PCIe port, the Riser card also converts the position information on the structural support into digital signals and sends them to the identification system via circuitry. When the Riser card is installed on the support, there will be exposed copper areas on its PCB corresponding to the row and column contacts on the support. After these exposed copper areas contact the support contacts, they form a closed loop with the relevant circuit groups on the Riser card, converting the position information into digital encoded signals and sending them to the identification system. The server chassis and internal support are both metal. After the server is mounted, it is connected to ground. The circuitry on the circuit board inside the chassis, when in contact with the chassis or metal structural components, is equivalent to grounding.
[0072] Referring to the identification circuit in the Riser card shown in Figure 8, when the Riser card is installed in PCIe slots 1 through 6, the pin levels of the IO Expander chip on the Riser card are different, resulting in different encoded information read via I2C (Inter-Integrated Circuit). The encoded information for the six slots on the server is shown in Table 1.
[0073] When the Riser card is installed in the top PCIe slot of the left bracket, pins 1 and 4 of the Riser card's IO Expander circuit are in contact with the Riser card column positioning contacts (column 1 and row positioning contacts (row 1)) on the structural bracket. These pins are essentially grounded, and the voltage level is pulled low. Other pins remain high due to pull-up resistors. If the Riser card is installed in the middle of the right bracket, pins 2 and 5 of the Riser card's IO Expander circuit are in contact with the Riser card column positioning contacts (column 2 and row positioning contacts (row 2)) on the structural bracket. These pins are also essentially grounded, and the voltage level is pulled low. Other pins remain high due to pull-up resistors. Thus, when the Riser is installed on the structural bracket, the voltage levels of the IO Expander chip pins in the Riser card change. This voltage change is transmitted as digital information to the slot identification system via the I2C bus for slot identification. This slot identification system can be any system that performs device slot identification, such as the aforementioned management system.
[0074] Here, a location identifier (i.e., location information) is automatically generated based on the installation position of the Riser card and structural bracket. This identifier is then converted into digital code information by a designed circuit (as shown in Figure 8). The slot identification system uses this code information to automatically identify the PCIe slot. In this solution, the structural bracket and Riser card can be installed in any designed location. The PCIe ports on the motherboard can be connected to any PCIe slot as needed, eliminating the need for fixing and making the server highly flexible. Furthermore, the Riser card and structural bracket can be used in any PCIe slot, eliminating the need for a different type for each slot. Since only one type of Riser card and structural bracket is required, production and installation are simplified, production costs are saved, and the problem of excessive materials causing idle inventory is avoided.
[0075] This embodiment improves the convenience and efficiency of slot identification by setting pins corresponding to different sub-positioning contact groups and identifying slots based on the detected pin levels.
[0076] In some exemplary embodiments, determining whether an expansion port with a mounted expansion device exists among multiple expansion ports can be done at any time when needed. Optionally, in this embodiment, when the electronic device is powered on, the BIOS (Basic Input / Output System) can scan each expansion port in multiple expansion slots to determine whether an expansion device is mounted on each expansion port.
[0077] For example, after the server is powered on, the BIOS can scan all PCIe ports of the CPU for any mounted PCIe devices.
[0078] This embodiment detects the expansion slots with attached expansion devices when the device is powered on, making it convenient to use the expansion devices based on the slot identification results during device operation and improving the timeliness of information acquisition.
[0079] In some exemplary embodiments, the expansion port and the adapter card installed on the expansion slot can be connected via a sideband signal bus. Correspondingly, in a scenario where there are multiple expansion ports with mounted expansion devices, obtaining the slot indication information stored in the designated register of the associated adapter card to obtain the target slot indication information includes: accessing the designated register of the associated adapter card via the sideband signal bus of the mounted expansion port to obtain the slot indication information stored in the designated register of the associated adapter card, thereby obtaining the target slot indication information.
[0080] The aforementioned sideband signal bus can be a bus used to transmit sideband signals between expansion ports and adapter cards. Sideband signals are signals used to transmit specific information between devices, and these signals are typically used to support the main communication protocol. For different types of expansion ports and adapter cards, the sideband signal bus used can be the same or different. The aforementioned sideband signal bus can include, but is not limited to, at least one of the following: I2C, I3C (Improved I2C), and may also include other buses, which are not limited in this embodiment.
[0081] For example, the IO Expander register on the corresponding Riser card can be accessed through the sideband signal bus of the PCIe port connected to the PCIe device, thereby reading the positioning code information stored therein.
[0082] In this embodiment, by accessing the designated register of the adapter card through the sideband signal bus to obtain the slot indication information stored therein, the impact of slot identification on the operation of electronic devices can be reduced, and the performance of device operation can be improved.
[0083] In some exemplary embodiments, determining whether there is an expansion port for a mounted expansion device can be performed by the BIOS, and obtaining slot indication information can be performed by the BMC (Baseboard Management Controller). In this way, the BMC can perform slot identification without affecting the operation of the main operating system. In this case, the aforementioned slot identification system can be run by the BMC.
[0084] Correspondingly, for cases where multiple expansion ports contain the mounted expansion devices, accessing the designated register of the associated adapter card via the sideband signal bus of the mounted expansion port includes: sending a notification message to the baseboard management controller via the basic input / output system; and, in response to the received notification message, accessing the designated register of the first adapter card via the sideband signal bus of the mounted expansion port through the baseboard management controller. The aforementioned notification message can be used to notify the baseboard management controller to access the designated register of the associated adapter card; it can be a specific instruction, which can be sent to the BMC via an interrupt signal.
[0085] For example, if a device is detected on a PCIe port, the BIOS instructs the BMC to access the IO Expander register on the corresponding Riser via the sideband signal bus of that PCIe port. The BMC retrieves the encoded information stored in the IO Expander register on the corresponding Riser card and compares it with the mapping table shown in Table 1 to determine the PCIe slot where the corresponding Riser card is installed.
[0086] In this embodiment, when an expansion port with an expansion device is detected, the BMC performs slot identification without affecting the operation of the main operating system. This reduces the impact of slot identification on the operation of electronic devices and improves the performance of the devices.
[0087] In some exemplary embodiments, the sideband signal bus used to access the specified register of the expansion card can be an integrated circuit bus, which can take into account other signals transmitted on the electronic device (an integrated circuit bus can transmit multiple signals), while also taking into account existing device versions, thus reducing device upgrade costs.
[0088] Correspondingly, for cases where multiple expansion ports contain the mounted expansion devices, accessing the designated register of the associated adapter card via the sideband signal bus of the mounted expansion port includes: accessing the designated register of the associated adapter card via the integrated circuit bus of the mounted expansion port.
[0089] For example, the BIOS instructs the BMC to access the IO Expander register on the corresponding Riser card via the I2C bus connected to the PCIe port of the device.
[0090] This embodiment allows access to designated registers of the adapter card via the integrated circuit bus, accommodating other signals transmitted on the electronic device and existing device versions, thereby reducing device upgrade costs and improving slot identification compatibility.
[0091] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the related technology, can be embodied in the form of a software product. This computer software product is stored in a computer-readable storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods of the various embodiments of this application.
[0092] In another aspect of the embodiments of this application, an electronic device is also provided, which is configured to implement the above embodiments and optional implementations, and details already described will not be repeated. As used below, the term "module" can be a combination of software and / or hardware that implements a predetermined function. Although the apparatus described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.
[0093] In this embodiment, the electronic device includes a processing unit and a structural support. The processing unit includes multiple expansion ports, and the structural support has multiple expansion slots. Adapter cards are installed in the expansion slots, and the expansion ports are configured to connect to expansion devices mounted on the expansion ports via the adapter cards installed in the corresponding expansion slots. The structural support has multiple first positioning contact groups corresponding to the expansion slots. The exposed copper areas of the adapter cards installed in different expansion slots are at least partially different from the positions of the positioning contacts in their respective first positioning contact groups. The component performing device slot identification can be an execution unit of the electronic device, which can be the aforementioned processing unit or other components independent of the processing unit (e.g., the processing unit is a CPU, and the execution unit is a BMC). Correspondingly, steps S602 and S604 in the aforementioned embodiment can be performed by this execution unit.
[0094] For the aforementioned execution component, it can be configured to, when there are multiple expansion ports with mounted expansion devices, obtain the slot indication information stored in the designated register of the associated adapter card to obtain the target slot indication information. The associated adapter card is an adapter card that connects the mounted expansion port and the expansion device mounted on the mounted expansion port. The target slot indication information is generated based on the position of the positioning contact that contacts the exposed copper area of the associated adapter card within its first positioning contact group. The target slot indication information is used to identify the slot position of the expansion slot where the associated adapter card is installed. By parsing the target slot indication information, the expansion slot where the associated adapter card is installed among multiple expansion slots is determined.
[0095] In this embodiment, when multiple expansion ports contain an already-attached expansion device, the slot indication information stored in the designated register of the associated adapter card is obtained to obtain the target slot indication information. The associated adapter card is a card that connects the already-attached expansion port and the expansion device mounted on it. The target slot indication information is generated based on the position of the positioning contact that contacts the exposed copper area of the associated adapter card within its first positioning contact group. This target slot indication information identifies the slot position where the associated adapter card is installed. By parsing the target slot indication information, the expansion slot where the associated adapter card is installed among multiple expansion slots is determined, solving the problem of poor flexibility in device use in related technologies and improving the flexibility of device use.
[0096] In some exemplary embodiments, multiple expansion slots are divided into multiple expansion slot groups, and each of the multiple first positioning contact groups is further divided into a first sub-positioning contact group and a second sub-positioning contact group. The first sub-positioning contact group in each first positioning contact group is used to identify the position of the corresponding expansion slot in its respective expansion slot group, and the second sub-positioning contact group in each first positioning contact group is used to identify the expansion slot group to which the corresponding expansion slot belongs. The exposed copper area of the adapter card installed on the expansion slot in the same expansion slot group contacts the positioning contact of the corresponding first sub-positioning contact group. The positions in the point groups are at least partially different. The exposed copper area of the adapter card installed on the expansion slot in the same expansion slot group and the positioning contact of the corresponding second sub-positioning contact group are in the same position in their respective second sub-positioning contact groups. The exposed copper area of the adapter card installed on the expansion slot in different expansion slot groups and the positioning contact of the corresponding second sub-positioning contact group are at least partially different in their respective second sub-positioning contact groups. The slot indication information stored in the designated register of the adapter card installed on each expansion slot is a positioning code generated based on the positioning contact of the exposed copper area of the adapter card installed on each expansion slot.
[0097] Optionally, the execution component is also configured to query a preset encoding mapping table using the target slot indication information, and determine the queried expansion slot as the expansion slot where the associated adapter card is installed. The encoding mapping table is used to record the correspondence between the expansion slots and the corresponding positioning codes in multiple expansion slots.
[0098] In some exemplary embodiments, among a plurality of first positioning contact groups, the first positioning contact group corresponding to the associated adapter card is an associated positioning contact group. The associated adapter card includes a processing chip, which includes a set of first pins and a set of second pins. The set of first pins is connected to a set of first contact points on the exposed copper area of the associated adapter card for contacting positioning contacts in the first sub-positioning contact group of the associated positioning contact group. The set of second pins is connected to a set of second contact points on the exposed copper area of the associated adapter card for contacting positioning contacts in the second sub-positioning contact group of the associated positioning contact group.
[0099] Optionally, the processing chip determines the pin levels of a set of first pins and a set of second pins. In the set of first pins, the pin level of the first pin whose connected first contact point is in contact with the corresponding positioning contact is different from the pin level of the first pin whose connected first contact point is not in contact with the corresponding positioning contact. Similarly, in the set of second pins, the pin level of the second pin whose connected second contact point is in contact with the corresponding positioning contact is different from the pin level of the second pin whose connected second contact point is not in contact with the corresponding positioning contact. Based on the pin levels of the set of first pins and the set of second pins, target slot indication information is generated.
[0100] In some exemplary embodiments, the structural bracket is fixed to the chassis of the electronic device. The structural bracket also has a plurality of second positioning contact groups corresponding one-to-one with a plurality of expansion slot groups. In the second sub-positioning contact group included in the first positioning contact group of each of the plurality of expansion slot groups, the positioning contact for contacting the exposed copper area of the metal of the adapter card contacts the bottom of the chassis through the positioning contact in the second positioning contact group corresponding to each expansion slot group.
[0101] In some exemplary embodiments, the execution component is further configured to, when there are mounted expansion ports of mounted expansion devices in multiple expansion ports, access a designated register of the associated adapter card via the sideband signal bus of the mounted expansion port to obtain slot indication information stored in the designated register of the associated adapter card, thereby obtaining target slot indication information.
[0102] In some exemplary embodiments, the electronic device runs a basic input / output system, and the execution component is a baseboard management controller; wherein the basic input / output system is configured to send a notification message to the baseboard management controller when there is an attached expansion port of an attached expansion device among multiple expansion ports, wherein the notification message is used to notify the baseboard management controller to access a designated register of an associated adapter card; the baseboard management controller is configured to access the designated register of a first adapter card via a sideband signal bus of the attached expansion port in response to the received notification message.
[0103] In some exemplary embodiments, the execution component is further configured to access a designated register of the associated adapter card via the integrated circuit bus of the associated expansion port when there are mounted expansion ports of mounted expansion devices in the plurality of expansion ports.
[0104] In some exemplary embodiments, the electronic device runs a basic input / output system, wherein the basic input / output system is configured to scan each expansion port in a plurality of expansion slots when the electronic device is powered on to determine whether an expansion device is mounted on each expansion port.
[0105] In some exemplary embodiments, the electronic device is a server, the processing unit is a central processing unit, the expansion port among the multiple expansion ports is a PCIe port, the expansion slot among the multiple expansion slots is a PCIe slot, and the adapter card installed on the expansion slot among the multiple expansion slots is a PCIe adapter card.
[0106] It should be noted that the above modules can be implemented by software or hardware. For the latter, they can be implemented in the following ways, but are not limited to: all the above modules are located in the same processor; or, the above modules are located in different processors in any combination.
[0107] In another aspect of the embodiments of this application, a structural support is also provided, which is used to implement the above embodiments and optional implementation methods, and will not be repeated hereafter.
[0108] In one exemplary embodiment, a structural bracket is used to fix adapter cards installed on a plurality of expansion slots on the structural bracket and expansion devices mounted on the adapter cards installed on the plurality of expansion slots; wherein, the structural bracket has a plurality of first positioning contact groups corresponding to the plurality of expansion slots, and in different first positioning contact groups, the positioning contacts for contacting the exposed copper area of the metal of the adapter card installed on the corresponding expansion slot are at least partially different in their respective first positioning contact groups.
[0109] The optional examples in this embodiment can refer to the examples described in the above embodiments and exemplary implementations, and will not be repeated here.
[0110] In another aspect of the embodiments of this application, an adapter card is also provided, which is configured to implement the above embodiments and optional implementation methods, and will not be repeated hereafter.
[0111] In one exemplary embodiment, the adapter card is configured to be installed in an expansion slot on the structural support of an electronic device, and to connect an expansion port on a processing component of the electronic device and an expansion device mounted in the expansion slot via the adapter card; wherein the adapter card has an exposed copper area for contacting a positioning contact in a first positioning contact group on the structural support of the electronic device, and the adapter card is further configured to generate slot indication information based on the position of the positioning contact in the first positioning contact group contacted by the exposed copper area, and to store the generated slot indication information in a designated register of the adapter card.
[0112] The optional examples in this embodiment can refer to the examples described in the above embodiments and exemplary implementations, and will not be repeated here.
[0113] According to another aspect of the embodiments of this application, a computer-readable storage medium is also provided. The computer-readable storage medium may be a computer non-volatile readable storage medium. The computer-readable storage medium includes a stored program, wherein the program executes the steps in any of the above method embodiments when it is run.
[0114] In one exemplary embodiment, the computer-readable storage medium may include, but is not limited to, at least one of the following: a USB flash drive, RAM (Random Access Memory), ROM (Read-Only Memory), a portable hard disk, a magnetic disk, or an optical disk, and other media capable of storing computer programs.
[0115] According to another aspect of the embodiments of this application, an electronic device is also provided, including a memory and a processor, wherein the memory stores a computer program and the processor is configured to perform the steps of any of the above method embodiments through the computer program.
[0116] In one 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.
[0117] The optional examples in this embodiment can refer to the examples described in the above embodiments and exemplary implementations, and will not be repeated here.
[0118] According to another aspect of the embodiments of this application, a computer program product is provided, comprising a computer program / instructions containing program code for performing the methods shown in the flowchart. In such an embodiment, referring to FIG9, the computer program can be downloaded and installed from a network via a communication section 909, and / or installed from a removable medium 911. When the computer program is executed by a central processing unit 901, it performs various functions provided in the embodiments of this application. The sequence numbers of the embodiments of this application above are merely descriptive and do not represent the superiority or inferiority of the embodiments.
[0119] Referring to FIG9, FIG9 is a structural block diagram of a computer system for an optional electronic device according to an embodiment of the present application. FIG9 schematically illustrates a structural block diagram of a computer system for implementing an electronic device according to an embodiment of the present application. As shown in FIG9, the computer system 900 includes a central processing unit (CPU) 901, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 902 or a program loaded from a storage portion 908 into a random access memory (RAM). The random access memory 903 also stores various programs and data required for system operation. The CPU 901, the ROM 902, and the RAM 903 are interconnected via a bus 904. An input / output interface 905 (i.e., I / O interface) is also connected to the bus 904.
[0120] The following components are connected to the input / output interface 905: an input section 906 including a keyboard, mouse, etc.; an output section 907 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and speakers, etc.; a storage section 908 including a hard disk, etc.; and a communication section 909 including a network interface card such as a local area network card, modem, etc. The communication section 909 performs communication processing via a network such as the Internet. A drive 910 is also connected to the input / output interface 905 as needed. A removable medium 911, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed on the drive 910 as needed so that computer programs read from it can be installed into the storage section 908 as needed.
[0121] Specifically, according to embodiments of this application, the processes described in the various method flowcharts can be implemented as computer software programs. For example, embodiments of this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication section 909, and / or installed from removable medium 911. When the computer program is executed by central processing unit 901, it performs various functions defined in the system of this application.
[0122] It should be noted that the computer system 900 of the electronic device shown in Figure 9 is only an example and should not impose any limitations on the functionality and scope of use of the embodiments of this application.
[0123] Obviously, those skilled in the art should understand that the modules or steps of the embodiments of this application described above can be implemented using general-purpose computing devices. They can be centralized on a single computing device or distributed across a network of multiple computing devices. They can be implemented using computer-executable program code, and thus can be stored in a storage device for execution by a computing device. In some cases, the steps shown or described can be performed in a different order than those presented here, or they can be fabricated as separate integrated circuit modules, or multiple modules or steps can be fabricated as a single integrated circuit module. Thus, the embodiments of this application are not limited to any particular combination of hardware and software.
[0124] The above are merely optional embodiments of this application and are not intended to limit the embodiments of this application. For those skilled in the art, the embodiments of this application can have various modifications and variations. Any modifications, equivalent substitutions, improvements, etc., made within the principles of the embodiments of this application should be included within the protection scope of the embodiments of this application.
Claims
1. A method for identifying equipment slots, characterized in that, The invention relates to an electronic device comprising a processing component and a structural support. The processing component includes multiple expansion ports, and the structural support has multiple expansion slots. Adapter cards are installed in the expansion slots, and the expansion ports are configured to connect to expansion devices mounted on the expansion ports via the adapter cards installed in the corresponding expansion slots. The structural support has multiple first positioning contact groups corresponding to the expansion slots, and the exposed copper areas of the adapter cards installed in different expansion slots are at least partially different from the positions of the positioning contacts in their respective first positioning contact groups. The method includes: When there is an already-attached expansion port for an expansion device among the multiple expansion ports, the slot indication information stored in the designated register of the associated adapter card is obtained to obtain the target slot indication information. The associated adapter card is an adapter card that connects the already-attached expansion port and the expansion device attached to the already-attached expansion port. The target slot indication information is generated based on the position of the positioning contact that contacts the exposed copper area of the associated adapter card in the first positioning contact group. The target slot indication information is used to identify the slot position of the expansion slot in which the associated adapter card is installed. By parsing the target slot indication information, the expansion slot in which the associated adapter card is installed among the multiple expansion slots can be determined.
2. The method according to claim 1, characterized in that, The plurality of expansion slots are divided into a plurality of expansion slot groups. Each of the plurality of first positioning contact groups is further divided into a first sub-positioning contact group and a second sub-positioning contact group. The first sub-positioning contact group in each first positioning contact group is used to identify the position of the corresponding expansion slot within its respective expansion slot group. The second sub-positioning contact group in each first positioning contact group is used to identify the expansion slot group to which the corresponding expansion slot belongs. The position of the exposed copper area of the adapter card installed on the expansion slot in the same expansion slot group that contacts the positioning contact of the corresponding first sub-positioning contact group is within its respective first sub-positioning contact group. With minor differences, the exposed copper area of the adapter card installed in the expansion slot of the same expansion slot group and the positioning contact of the corresponding second sub-positioning contact group are in the same position in their respective second sub-positioning contact groups. However, the exposed copper area of the adapter card installed in the expansion slot of different expansion slot groups and the positioning contact of the corresponding second sub-positioning contact group are at least partially different in their respective second sub-positioning contact groups. The slot indication information stored in the designated register of the adapter card installed in each of the multiple expansion slots is a positioning code generated based on the positioning contact of the exposed copper area of the adapter card installed in each expansion slot. The step of parsing the target slot indication information to determine the expansion slot in which the associated adapter card is installed among the plurality of expansion slots includes: The target slot indication information is used to query a preset encoding mapping table, and the queried expansion slot is determined as the expansion slot in which the associated adapter card is installed. The encoding mapping table is used to record the correspondence between the expansion slots and the corresponding positioning codes in the plurality of expansion slots.
3. The method according to claim 2, characterized in that, The target slot indication information includes multiple different partial indication information, each of which is used to indicate a location information of the corresponding extended slot.
4. The method according to claim 2, characterized in that, The step of querying a preset encoding mapping table using the target slot indication information and determining the queried expansion slot as the expansion slot where the associated adapter card is installed includes: In the case of multiple extended slot matrix arrangements, the row positioning code indicated by a portion of the target slot indication information and the column positioning code indicated by a portion of the indication information are obtained, wherein the positioning code recorded in the encoding mapping table includes the row positioning code and the column positioning code; The expansion slots corresponding to the row positioning codes and column positioning codes are queried from the encoding mapping table to determine the expansion slots where the associated adapter card is installed.
5. The method according to claim 2, characterized in that, The multiple expansion slots are divided into multiple expansion slot groups according to their slot positions. Each of the multiple expansion slot groups corresponds to a multiple support area, which is obtained by dividing the structural support into multiple support parts.
6. The method according to claim 2, characterized in that, The target slot indication information is generated based on the position of the positioning contact that contacts the exposed copper area of the associated adapter card in the first sub-positioning contact group, and the position of the positioning contact that is allowed to contact the exposed copper area in the corresponding second sub-positioning contact group in the second sub-positioning contact group.
7. The method according to claim 2, characterized in that, The target slot indication information includes the positioning code, the number of bits in the positioning code being consistent with the number of positioning contacts included in the corresponding first positioning contact group, the positioning contacts being contacts used to position the extended slot, and the positioning contacts including protruding contacts and non-protruding contacts.
8. The method according to claim 2, characterized in that, Among the plurality of first positioning contact groups, the first positioning contact group corresponding to the associated adapter card is the associated positioning contact group. The associated adapter card includes a processing chip, which includes a set of first pins and a set of second pins. The set of first pins is connected to a set of first contact points on the exposed copper area of the associated adapter card for contacting the positioning contacts in the first sub-positioning contact group of the associated positioning contact group. The set of second pins is connected to a set of second contact points on the exposed copper area of the associated adapter card for contacting the positioning contacts in the second sub-positioning contact group of the associated positioning contact group. Before obtaining the slot indication information stored in the designated register of the associated adapter card, the method further includes: The processing chip determines the pin level of the first set of pins and the pin level of the second set of pins. Among the first set of pins, the pin level of the first pin whose first contact point is in contact with the corresponding positioning contact is different from the pin level of the first pin whose first contact point is not in contact with the corresponding positioning contact. Among the second set of pins, the pin level of the second pin whose second contact point is in contact with the corresponding positioning contact is different from the pin level of the second pin whose second contact point is not in contact with the corresponding positioning contact. The target slot indication information is generated based on the pin level of the first set of pins and the pin level of the second set of pins.
9. The method according to claim 2, characterized in that, The structural bracket is fixed to the chassis of the electronic device. The structural bracket also has a plurality of second positioning contact groups that correspond one-to-one with the plurality of expansion slot groups. In the second sub-positioning contact group included in the first positioning contact group of each of the plurality of expansion slot groups, the positioning contact for contacting the exposed copper area of the adapter card contacts the bottom of the chassis through the positioning contact in the second positioning contact group corresponding to each expansion slot group.
10. The method according to claim 1, characterized in that, When there is an already-attached expansion port of an expansion device among the multiple expansion ports, the slot indication information stored in the designated register of the associated adapter card is obtained to obtain the target slot indication information, including: If there is an already-attached expansion port of an expansion device among the multiple expansion ports, the designated register of the associated adapter card is accessed via the sideband signal bus of the already-attached expansion port to obtain the slot indication information stored in the designated register of the associated adapter card, thereby obtaining the target slot indication information.
11. The method according to claim 10, characterized in that, In the case where there are already-attached expansion ports of the expansion devices among the multiple expansion ports, accessing the designated register of the associated adapter card via the sideband signal bus of the already-attached expansion port includes: When there is an already-attached expansion port of an expansion device among the multiple expansion ports, a notification message is sent to the baseboard management controller through the basic input / output system, wherein the notification message is used to notify the baseboard management controller to access the designated register of the associated adapter card; In response to the received notification message, the designated register of the first adapter card is accessed via the sideband signal bus of the attached expansion port through the baseboard management controller.
12. The method according to claim 10, characterized in that, In the case where there are already-attached expansion ports of the expansion devices among the multiple expansion ports, accessing the designated register of the associated adapter card via the sideband signal bus of the already-attached expansion port includes: In the case where there is an already-attached expansion port of an expansion device among the plurality of expansion ports, the designated register of the associated adapter card is accessed via the integrated circuit bus of the already-attached expansion port.
13. The method according to claim 1, characterized in that, The method further includes: With the electronic device powered on, the basic input / output system scans each of the plurality of expansion slots to determine whether an expansion device is mounted on each expansion port.
14. The method according to any one of claims 1 to 13, characterized in that, The electronic device is a server, the processing unit is a central processing unit, the expansion port among the multiple expansion ports is a PCIe port, the expansion slot among the multiple expansion slots is a PCIe slot, and the adapter card installed on the expansion slot among the multiple expansion slots is a PCIe adapter card.
15. An electronic device, characterized in that, The electronic device includes a processing component and a structural support. The processing component includes multiple expansion ports. The structural support has multiple expansion slots. Adapter cards are installed in some of the expansion slots. Each expansion port is configured to connect to an expansion device mounted on it via an adapter card installed in a corresponding expansion slot. The structural support has multiple first positioning contact groups corresponding to the expansion slots. The exposed copper areas of the adapter cards installed in different expansion slots are at least partially different in position from the positioning contacts in their respective first positioning contact groups. The electronic device further includes: an execution unit configured to, when there is an already-mounted expansion port of an expansion device among the plurality of expansion ports, acquire slot indication information stored in a designated register of an associated adapter card to obtain target slot indication information, wherein the associated adapter card is an adapter card connecting the already-mounted expansion port and the expansion device mounted on the already-mounted expansion port, and the target slot indication information is generated based on the position of the positioning contact that contacts the exposed copper area of the associated adapter card in its first positioning contact group, and the target slot indication information is used to identify the slot position of the expansion slot in which the associated adapter card is installed; by parsing the target slot indication information, the expansion slot in which the associated adapter card is installed among the plurality of expansion slots is determined.
16. The electronic device according to claim 15, characterized in that, The plurality of expansion slots are divided into a plurality of expansion slot groups. Each of the plurality of first positioning contact groups is further divided into a first sub-positioning contact group and a second sub-positioning contact group. The first sub-positioning contact group in each first positioning contact group is used to identify the position of the corresponding expansion slot within its respective expansion slot group. The second sub-positioning contact group in each first positioning contact group is used to identify the expansion slot group to which the corresponding expansion slot belongs. The position of the exposed copper area of the adapter card installed on the expansion slot in the same expansion slot group that contacts the positioning contact of the corresponding first sub-positioning contact group is within its respective first sub-positioning contact group. With minor differences, the exposed copper area of the adapter card installed in the expansion slot of the same expansion slot group and the positioning contact of the corresponding second sub-positioning contact group are in the same position in their respective second sub-positioning contact groups. However, the exposed copper area of the adapter card installed in the expansion slot of different expansion slot groups and the positioning contact of the corresponding second sub-positioning contact group are at least partially different in their respective second sub-positioning contact groups. The slot indication information stored in the designated register of the adapter card installed in each of the multiple expansion slots is a positioning code generated based on the positioning contact of the exposed copper area of the adapter card installed in each expansion slot. The execution unit is further configured to use the target slot indication information to query a preset encoding mapping table, and determine the queried expansion slot as the expansion slot in which the associated adapter card is installed. The encoding mapping table is used to record the correspondence between the expansion slots and the corresponding positioning codes in the plurality of expansion slots.
17. The electronic device according to claim 16, characterized in that, Among the plurality of first positioning contact groups, the first positioning contact group corresponding to the associated adapter card is the associated positioning contact group. The associated adapter card includes a processing chip, which includes a set of first pins and a set of second pins. The set of first pins is connected to a set of first contact points on the exposed copper area of the associated adapter card for contacting the positioning contacts in the first sub-positioning contact group of the associated positioning contact group. The set of second pins is connected to a set of second contact points on the exposed copper area of the associated adapter card for contacting the positioning contacts in the second sub-positioning contact group of the associated positioning contact group. The processing chip determines the pin level of the first set of pins and the pin level of the second set of pins. Among the first set of pins, the pin level of the first pin whose first contact point is in contact with the corresponding positioning contact is different from the pin level of the first pin whose first contact point is not in contact with the corresponding positioning contact. Among the second set of pins, the pin level of the second pin whose second contact point is in contact with the corresponding positioning contact is different from the pin level of the second pin whose second contact point is not in contact with the corresponding positioning contact. The target slot indication information is generated based on the pin level of the first set of pins and the pin level of the second set of pins.
18. A structural support, characterized in that, The structural bracket is used to fix the adapter cards installed on the multiple expansion slots on the structural bracket and the expansion devices mounted through the adapter cards installed on the multiple expansion slots. The structural support has multiple first positioning contact groups corresponding to the multiple expansion slots. In different first positioning contact groups, the positioning contacts used to contact the exposed copper area of the adapter card installed on the corresponding expansion slot are at least partially different in their respective first positioning contact groups.
19. An adapter card, characterized in that, The adapter card is configured to be installed in an expansion slot on the structural support of the electronic device, and to connect an expansion port on the processing component of the electronic device and an expansion device mounted in the expansion slot via the adapter card. The adapter card has an exposed copper area, which is used to contact the positioning contacts in the first positioning contact group on the structural support of the electronic device. The adapter card is also configured to generate slot indication information based on the position of the positioning contact in the first positioning contact group that is contacted by the exposed copper area, and to store the generated slot indication information in a designated register of the adapter card.
20. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, wherein the computer program, when executed by a processor, implements the steps of the method according to any one of claims 1 to 14.
Citation Information
Patent Citations
Expansion system, communication method, address configuration method, equipment and device
CN103412838A
Network device and physical layer address allocation method
CN107547673A
Board card slot position identification method and device, communication equipment and readable storage medium
CN112231251A
Method, device and equipment for determining physical position of external insertion equipment and storage medium
CN115509978A
Server extension device and port identification method
CN116361208A