External card testing methods, systems, terminals, and storage media
By using I2C link connections and standardized external cards, the resource tree can be identified and managed, solving the problem that servers need dedicated firmware for each type of external card, and achieving efficient identification of external cards and acquisition of monitoring data.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-03-25
- Publication Date
- 2026-04-03
AI Technical Summary
The server needs to develop dedicated firmware for each external card, resulting in a large workload for firmware development and a waste of human and material resources.
By connecting and standardizing external cards via I2C links, the system identifies identity information, generates a management resource tree, standardizes communication using the I2C protocol, identifies and verifies devices, and reads monitoring data, including voltage and temperature data.
It enables unified management of external cards, reduces the amount of firmware development, and allows for timely acquisition of monitoring data for efficient identification.
Smart Images

Figure CN114676007B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of server technology, and specifically to an external card detection method, system, terminal, and storage medium. Background Technology
[0002] Because the server has various types of external cards, when the server recognizes various types of external cards, it needs to develop an adaptation firmware for each type of external card. This results in a large workload for firmware development and a waste of human and material resources. Summary of the Invention
[0003] To address the problem of high firmware development workload caused by the need for dedicated adapter firmware for different external cards in existing technologies, this invention provides an external card detection method, system, terminal, and storage medium to solve the aforementioned technical problems.
[0004] In a first aspect, the present invention provides a method for detecting external cards, comprising:
[0005] The external card is connected via an I2C link that conforms to the unified standard, and the identity information of the external card is identified via the I2C link.
[0006] Summarize the identity information of all external cards identified;
[0007] The external card storage device is traversed based on the summarized external card identity information to read the monitoring data of each external card. The monitoring data is collected by the external card's own control device and then stored in the external card storage device.
[0008] Furthermore, the communication specifications of all external cards will be unified to the I2C protocol;
[0009] Identify the connected I2C device and read its identity information from the identity address of the I2C device's storage device;
[0010] Verify whether the I2C device is an external card by checking if the identity information conforms to the external card identification code format.
[0011] Furthermore, all identified external card identity information is aggregated, including:
[0012] A management resource tree is generated based on the identified identity information of all external cards, and the identity information of external cards is deduplicated in the management resource tree.
[0013] Furthermore, based on the summarized external card identity information, the external card storage device is traversed to read the monitoring data of each external card. This monitoring data is collected by the external card's own control device and stored in the external card storage device, including:
[0014] Based on the external card identity information on the resource management tree, voltage and temperature data are read one by one from the voltage and temperature storage addresses of the external card storage devices until all external card identity information in the resource management tree is traversed; the monitoring data is collected periodically by the external card's own controller from its own sensors.
[0015] Secondly, the present invention provides an external card detection system, comprising:
[0016] The identification unit is used to connect to the standardized external card via the I2C link and to identify the external card's identity information via the I2C link.
[0017] The identity aggregation unit is used to aggregate the identity information of all external cards that have been identified.
[0018] The data reading unit is used to traverse the external card storage device according to the summarized external card identity information in order to read the monitoring data of each external card. The monitoring data is collected by the external card's own control device and then stored in the external card storage device.
[0019] Furthermore, the identity recognition unit includes:
[0020] The protocol unification module is used to unify the communication specifications of all external cards to the I2C protocol;
[0021] The device identification module is used to identify the connected I2C device and read the identity information from the identity address of the I2C device's storage device.
[0022] The identity verification module is used to verify whether the I2C device is an external card based on whether the identity information conforms to the external card identification code format.
[0023] Furthermore, the identity aggregation unit includes:
[0024] The identity management module is used to generate a management resource tree based on the identity information of all external cards identified, and to deduplicate the identity information of external cards in the management resource tree.
[0025] Furthermore, the data reading unit includes:
[0026] The traversal reading module is used to read voltage and temperature data one by one from the voltage storage address and temperature storage address of the external card storage device according to the external card identity information on the resource management tree, until all external card identity information in the resource management tree is traversed; the monitoring data is collected periodically by the external card's own controller from its own sensors.
[0027] Thirdly, a terminal is provided, including:
[0028] Processor, memory, among which,
[0029] This memory is used to store computer programs.
[0030] The processor is used to retrieve and run the computer program from memory, causing the terminal to perform the terminal method described above.
[0031] Fourthly, a computer storage medium is provided, wherein instructions are stored therein, which, when executed on a computer, cause the computer to perform the methods described in the above aspects.
[0032] The beneficial effects of the present invention are that the external card detection method, system, terminal and storage medium provided by the present invention achieve unified management of external cards by standardizing the external card specifications, greatly reducing the amount of firmware development, enabling timely acquisition of monitoring data of various external cards, and realizing efficient identification of external cards.
[0033] Furthermore, the design principle of this invention is reliable, the structure is simple, and it has a very wide range of application prospects. Attached Figure Description
[0034] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0035] Figure 1 This is a schematic flowchart of a method according to an embodiment of the present invention.
[0036] Figure 2 This is a schematic block diagram of a system according to an embodiment of the present invention.
[0037] Figure 3 This is a schematic diagram of the structure of a terminal provided in an embodiment of the present invention. Detailed Implementation
[0038] To enable those skilled in the art to better understand the technical solutions of this invention, the technical solutions of the embodiments of this invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this invention, and not all embodiments. Based on the embodiments of this invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of this invention.
[0039] The key terms used in this invention will be explained below.
[0040] The I2C bus is a simple, bidirectional, two-wire synchronous serial bus developed by Philips. It requires only two wires to transmit information between devices connected to the bus. The master device initiates data transmission and generates a clock to enable transmission; any addressed device is considered a slave. The master-slave and send-receive relationships on the bus are not constant but depend on the direction of data transmission. If the master wants to send data to a slave device, it first addresses the slave device, then actively sends data to the slave device, and finally terminates the data transmission. If the master wants to receive data from a slave device, it first addresses the slave device, then receives the data sent by the slave device, and finally terminates the receiving process. In this case, the master is responsible for generating the timing clock and terminating the data transmission.
[0041] Figure 1 This is a schematic flowchart illustrating a method according to an embodiment of the present invention. Wherein, Figure 1 The implementing entity can be an external card detection system.
[0042] like Figure 1 As shown, the method includes:
[0043] Step 110: Connect to the external card with the unified standard via the I2C link, and identify the external card's identity information via the I2C link;
[0044] Step 120: Summarize the identity information of all external cards identified;
[0045] Step 130: Based on the summarized external card identity information, traverse the external card storage device to read the monitoring data of each external card. The monitoring data is collected by the external card's own control device and then stored in the external card storage device.
[0046] To facilitate understanding of the present invention, the following description further illustrates the external card detection method provided by the present invention, based on the principle of the external card detection method and the process of detecting external cards in the embodiments.
[0047] Specifically, the external card detection method includes:
[0048] S1. Connect to the external card after standardization via I2C link, and identify the external card's identity information via I2C link.
[0049] The external card specifications are standardized and managed via I2C. All external cards integrate EEPROM to store the monitored data. 0-0x100 stores the FRU information of the external card, 0x101-0x200 stores the voltage information of the external card, 0x201-0x300 stores the temperature information of the external card, and 0x300-0x302 stores the verification information to determine whether automatic detection is required.
[0050] All external cards use CPLD or MCU to summarize and refresh the monitored resources of the external card. CPLD or MCU periodically reads the information from the temperature sensor and voltage sensor on the external card and stores it in the specified location of EEPROM.
[0051] S2. Summarize all identified external card identity information.
[0052] The external card's EEPROM provides services externally via the I2C protocol, exposed using address 0x51. The firmware can read the external card's EEPROM information through address 0x51. Therefore, during the initial firmware load, all I2C devices are scanned to determine if there is an external card that needs management. The firmware scans the I2C links connected to the chip and reads address 0x51 on the link. If this address is found, information from addresses 0x300-0x302 is read to determine if the device needs automatic management.
[0053] The firmware generates a management resource tree based on the FRU information read from the EEPROM. Based on the resource tree, the firmware dynamically generates the monitoring processing logic through reflection and persists the resource tree information.
[0054] S3. Based on the summarized external card identity information, traverse the external card storage device to read the monitoring data of each external card. The monitoring data is collected by the external card's own control device and then stored in the external card storage device.
[0055] If automatic management is required, the monitoring data (voltage and temperature data) in the EEPROM of the external card is read via I2C; the firmware initializes the monitoring process based on the read content and persists the configuration.
[0056] The firmware generates a management resource tree based on the FRU information read from the EEPROM. Based on the resource tree, the firmware dynamically generates the monitoring processing logic through reflection and persists the resource tree information.
[0057] Based on the external card identity information on the resource management tree, voltage and temperature data are read one by one from the voltage and temperature storage addresses of the external card storage devices until all external card identity information in the resource management tree is traversed.
[0058] like Figure 2 As shown, the system 200 includes:
[0059] The identity recognition unit 210 is used to connect to the external card after the unified standard through the I2C link, and to identify the identity information of the external card through the I2C link.
[0060] The identity aggregation unit 220 is used to aggregate the identity information of all external cards that have been identified.
[0061] The data reading unit 230 is used to traverse the external card storage device according to the summarized external card identity information in order to read the monitoring data of each external card. The monitoring data is collected by the external card's own control device and then stored in the external card storage device.
[0062] Optionally, as an embodiment of the present invention, the identity recognition unit includes:
[0063] The protocol unification module is used to unify the communication specifications of all external cards to the I2C protocol;
[0064] The device identification module is used to identify the connected I2C device and read the identity information from the identity address of the I2C device's storage device.
[0065] The identity verification module is used to verify whether the I2C device is an external card based on whether the identity information conforms to the external card identification code format.
[0066] Optionally, as an embodiment of the present invention, the identity aggregation unit includes:
[0067] The identity management module is used to generate a management resource tree based on the identity information of all external cards identified, and to deduplicate the identity information of external cards in the management resource tree.
[0068] Optionally, as an embodiment of the present invention, the data reading unit includes:
[0069] The traversal reading module is used to read voltage and temperature data one by one from the voltage storage address and temperature storage address of the external card storage device according to the external card identity information on the resource management tree, until all external card identity information in the resource management tree is traversed; the monitoring data is collected periodically by the external card's own controller from its own sensors.
[0070] Figure 3 This is a schematic diagram of the structure of a terminal 300 provided in an embodiment of the present invention. The terminal 300 can be used to execute the external card detection method provided in the embodiment of the present invention.
[0071] The terminal 300 may include a processor 310, a memory 320, and a communication unit 330. These components communicate via one or more buses. Those skilled in the art will understand that the server structure shown in the figure does not constitute a limitation of the present invention. It may be a bus topology or a star topology, and may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0072] The memory 320 can be used to store the execution instructions of the processor 310. The memory 320 can be implemented by any type of volatile or non-volatile memory terminal or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk. When the execution instructions in the memory 320 are executed by the processor 310, the terminal 300 is able to perform some or all of the steps in the above method embodiments.
[0073] The processor 310 serves as the control center of the storage terminal, connecting various parts of the electronic terminal via various interfaces and lines. It executes software programs and / or modules stored in the memory 320, and calls data stored in the memory to perform various functions of the electronic terminal and / or process data. The processor can be composed of integrated circuits (ICs), such as a single packaged IC or multiple packaged ICs with the same or different functions connected together. For example, the processor 310 may consist only of a central processing unit (CPU). In this embodiment of the invention, the CPU may have a single processing core or include multiple processing cores.
[0074] The communication unit 330 is used to establish a communication channel, enabling the storage terminal to communicate with other terminals. It can receive user data sent by other terminals or send user data to other terminals.
[0075] The present invention also provides a computer storage medium, wherein the computer storage medium may store a program, which, when executed, may include some or all of the steps provided in the embodiments of the present invention. The storage medium may be a magnetic disk, an optical disk, read-only memory (ROM), or random access memory (RAM), etc.
[0076] Therefore, this invention achieves unified management of external cards by standardizing the external card specifications, greatly reducing the amount of firmware development required, enabling timely acquisition of monitoring data for various external cards, and realizing efficient identification of external cards. The technical effects achieved by this embodiment can be found in the description above, and will not be repeated here.
[0077] Those skilled in the art will clearly understand that the techniques in the embodiments of the present invention can be implemented using software plus necessary general-purpose hardware platforms. Based on this understanding, the technical solutions in the embodiments of the present invention, or the parts that contribute to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium such as a USB flash drive, a portable hard drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, or any other medium capable of storing program code. It includes several instructions to cause a computer terminal (which may be a personal computer, a server, or a second terminal, a network terminal, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention.
[0078] The same or similar parts between the various embodiments in this specification can be referred to mutually. In particular, the terminal embodiments are basically similar to the method embodiments, so the description is relatively simple, and the relevant parts can be referred to the description in the method embodiments.
[0079] In the embodiments provided by this invention, it should be understood that the disclosed systems and methods can be implemented in other ways. For example, the system embodiments described above are merely illustrative. For instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between systems or units may be electrical, mechanical, or other forms.
[0080] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0081] In addition, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0082] Although the present invention has been described in detail with reference to the accompanying drawings and preferred embodiments, the invention is not limited thereto. Various equivalent modifications or substitutions can be made to the embodiments of the invention by those skilled in the art without departing from the spirit and essence of the invention, and such modifications or substitutions should all be within the scope of the invention. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the invention should also be covered within the protection scope of the invention. Therefore, the protection scope of the invention should be determined by the scope of the claims.
Claims
1. A method for detecting external cards, characterized in that, include: The external card is connected via an I2C link that conforms to the unified standard, and the identity information of the external card is identified via the I2C link. Summarize the identity information of all external cards identified; The external card storage device is traversed based on the summarized external card identity information to read the monitoring data of each external card. The monitoring data is collected by the external card's own control device and then stored in the external card storage device. Connecting to the standardized external card via an I2C link, and identifying the external card's identity information via the I2C link, including: The communication standard for all external cards will be unified to the I2C protocol; Identify the connected I2C device and read its identity information from the identity address of the I2C device's storage device; Verify whether the I2C device is an external card based on whether the identity information conforms to the external card identification code format; The system aggregates and identifies all external card identity information, including: A management resource tree is generated based on the identified identity information of all external cards, and the identity information of external cards is deduplicated in the management resource tree; The external cards are standardized and managed via I2C. All external cards integrate EEPROM to store the monitored data. 0-0x100 stores the FRU information of the external card, 0x101-0x200 stores the voltage information of the external card, 0x201-0x300 stores the temperature information of the external card, and 0x300-0x302 stores verification information to determine whether automatic detection is required. All external cards use CPLD or MCU to summarize and refresh the monitored resources of their respective cards. The CPLD or MCU periodically reads the information from the temperature and voltage sensors on the external cards and stores it in the specified location of the EEPROM.
2. The method according to claim 1, characterized in that, The external card storage device is traversed based on the summarized external card identity information to read the monitoring data of each external card. This monitoring data is collected by the external card's own control device and stored in the external card storage device, including: Based on the external card identity information on the resource management tree, voltage and temperature data are read one by one from the voltage and temperature storage addresses of the external card storage devices until all external card identity information in the resource management tree is traversed; the monitoring data is collected periodically by the external card's own controller from its own sensors.
3. An external card detection system, characterized in that, include: The identity recognition unit is used to connect to the standardized external card via the I2C link and to identify the identity information of the external card via the I2C link. The identity aggregation unit is used to aggregate the identity information of all external cards that have been identified. The data reading unit is used to traverse the external card storage device according to the summarized external card identity information in order to read the monitoring data of each external card. The monitoring data is collected by the external card's own control device and then stored in the external card storage device. The identity recognition unit includes: The protocol unification module is used to unify the communication specifications of all external cards to the I2C protocol; The device identification module is used to identify the connected I2C device and read the identity information from the identity address of the I2C device's storage device. The identity verification module is used to verify whether the I2C device is an external card based on whether the identity information conforms to the external card identification code format; Connecting to the standardized external card via an I2C link, and identifying the external card's identity information via the I2C link, including: The communication standard for all external cards will be unified to the I2C protocol; Identify the connected I2C device and read its identity information from the identity address of the I2C device's storage device; Verify whether the I2C device is an external card based on whether the identity information conforms to the external card identification code format; The identity aggregation unit includes: The identity management module is used to generate a management resource tree based on the identity information of all external cards identified, and to deduplicate the identity information of external cards in the management resource tree. The external cards are standardized and managed via I2C. All external cards integrate EEPROM to store the monitored data. 0-0x100 stores the FRU information of the external card, 0x101-0x200 stores the voltage information of the external card, 0x201-0x300 stores the temperature information of the external card, and 0x300-0x302 stores verification information to determine whether automatic detection is required. All external cards use CPLD or MCU to summarize and refresh the monitored resources of their respective cards. The CPLD or MCU periodically reads the information from the temperature and voltage sensors on the external cards and stores it in the specified location of the EEPROM.
4. The system according to claim 3, characterized in that, The data reading unit includes: The traversal reading module is used to read voltage and temperature data one by one from the voltage storage address and temperature storage address of the external card storage device according to the external card identity information on the resource management tree, until all external card identity information in the resource management tree is traversed; the monitoring data is collected periodically by the external card's own controller from its own sensors.
5. A terminal, characterized in that, include: processor; Memory used to store the processor's execution instructions; The processor is configured to perform the method according to any one of claims 1-2.
6. A computer-readable storage medium storing a computer program, characterized in that, When the program is executed by the processor, it implements the method as described in any one of claims 1-2.
Citation Information
Patent Citations
BMC health state detection method, electronic device and storage medium
CN112631863A
System design based on unified chip specification
US20180144085A1